Hex Artifact Content Вы: nobody
Вход

Artifact 4ec3cc3962e5bbafadc848301024788fc128bf43:


0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69  ...$engine JScri
0010: 70 74 0a 24 75 6e 61 6d 65 20 71 75 65 72 79 50  pt.$uname queryP
0020: 61 72 61 6d 73 45 78 74 72 61 63 74 6f 72 0a 24  aramsExtractor.$
0030: 64 6e 61 6d 65 20 51 75 65 72 79 20 50 61 72 61  dname Query Para
0040: 6d 65 74 65 72 73 20 45 78 74 72 61 63 74 6f 72  meters Extractor
0050: 0a 0a 2f 2f 24 61 64 64 69 6e 20 67 6c 6f 62 61  ..//$addin globa
0060: 6c 0a 0a 2f 2f 67 6c 6f 62 61 6c 2e 63 6f 6e 6e  l..//global.conn
0070: 65 63 74 47 6c 6f 62 61 6c 73 28 53 65 6c 66 53  ectGlobals(SelfS
0080: 63 72 69 70 74 29 0a 0a 2f 2a 20 3d 3d 3d 3d 3d  cript)../* =====
0090: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00d0: 3d 0a 0a 41 55 54 48 4f 52 3a 20 d0 92 d0 b0 d1  =..AUTHOR: .....
00e0: 81 d0 b8 d0 bb d0 b8 d0 b9 20 d0 a4 d1 80 d0 be  ......... ......
00f0: d0 bb d0 be d0 b2 20 61 6b 61 20 d0 9f d0 b0 d0  ...... aka .....
0100: bb d1 8b d1 87 2c 20 70 61 6c 79 74 73 68 40 6d  ....., palytsh@m
0110: 61 69 6c 2e 72 75 0a 0a 44 41 54 45 3a 20 30 32  ail.ru..DATE: 02
0120: 2e 30 39 2e 32 30 31 31 0a 0a 43 4f 4d 4d 45 4e  .09.2011..COMMEN
0130: 54 3a 20 0a 09 d0 9c d0 b0 d0 ba d1 80 d0 be d1  T: .............
0140: 81 20 45 78 74 72 61 63 74 50 61 72 61 6d 65 74  . ExtractParamet
0150: 65 72 73 20 d0 bf d0 be d0 b7 d0 b2 d0 be d0 bb  ers ............
0160: d1 8f d0 b5 d1 82 20 d1 81 d1 84 d0 be d1 80 d0  ...... .........
0170: bc d0 b8 d1 80 d0 be d0 b2 d0 b0 d1 82 d1 8c 20  ............... 
0180: d0 ba d0 be d0 b4 20 d1 83 d1 81 d1 82 d0 b0 d0  ...... .........
0190: bd d0 be d0 b2 d0 ba d0 b8 20 0a d0 b7 d0 bd d0  ......... ......
01a0: b0 d1 87 d0 b5 d0 bd d0 b8 d0 b9 20 d0 bf d0 b0  ........... ....
01b0: d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d0 be d0 b2  ................
01c0: 20 d0 b7 d0 b0 d0 bf d1 80 d0 be d1 81 d0 b0 2e   ...............
01d0: 20 0a d0 98 d1 81 d0 bf d0 be d0 bb d1 8c d0 b7   ...............
01e0: d0 be d0 b2 d0 b0 d0 bd d0 b8 d0 b5 3a 20 d0 b2  ............: ..
01f0: 20 d0 bf d1 80 d0 be d0 b3 d1 80 d0 b0 d0 bc d0   ...............
0200: bc d0 bd d0 be d0 bc 20 d0 bc d0 be d0 b4 d1 83  ....... ........
0210: d0 bb d0 b5 20 d0 b2 d1 8b d0 b4 d0 b5 d0 bb d0  .... ...........
0220: b8 d1 82 d1 8c 20 d1 84 d1 80 d0 b0 d0 b3 d0 bc  ..... ..........
0230: d0 b5 d0 bd d1 82 20 d0 b2 d0 b8 d0 b4 d0 b0 20  ...... ........ 
0240: 0a 0a 20 20 20 20 20 20 20 20 d0 b7 20 3d 20 d0  ..        .. = .
0250: bd d0 be d0 b2 d1 8b d0 b9 20 d0 97 d0 b0 d0 bf  ......... ......
0260: d1 80 d0 be d1 81 28 22 d1 82 d0 b5 d0 ba d1 81  ......("........
0270: d1 82 20 d0 b7 d0 b0 d0 bf d1 80 d0 be d1 81 d0  .. .............
0280: b0 22 29 3b 0a 0a 20 20 20 20 d0 b8 d0 bb d0 b8  .");..    ......
0290: 20 d1 84 d1 80 d0 b0 d0 b3 d0 bc d0 b5 d0 bd d1   ...............
02a0: 82 20 d0 b2 d0 b8 d0 b4 d0 b0 0a 20 20 20 20 20  . .........     
02b0: 20 20 20 d0 b7 2e d0 a2 d0 b5 d0 ba d1 81 d1 82     .............
02c0: 20 3d 20 22 d1 82 d0 b5 d0 ba d1 81 d1 82 20 d0   = ".......... .
02d0: b7 d0 b0 d0 bf d1 80 d0 be d1 81 d0 b0 22 3b 0a  .............";.
02e0: 09 0a d0 b8 20 d0 b2 d1 8b d0 b7 d0 b2 d0 b0 d1  .... ...........
02f0: 82 d1 8c 20 d0 bc d0 b0 d0 ba d1 80 d0 be d1 81  ... ............
0300: 20 28 d0 bf d0 be 2d d1 83 d0 bc d0 be d0 bb d1   (....-.........
0310: 87 d0 b0 d0 bd d0 b8 d1 8e 20 43 74 72 6c 20 2b  ......... Ctrl +
0320: 20 53 68 69 66 74 20 2b 20 51 29 2e 20 d0 9a d0   Shift + Q). ...
0330: be d0 b4 20 d0 be d0 bf d0 b8 d1 81 d0 b0 d0 bd  ... ............
0340: d0 b8 d1 8f 20 d0 bf d0 b0 d1 80 d0 b0 d0 bc d0  .... ...........
0350: b5 d1 82 d1 80 d0 be d0 b2 20 0a d0 b7 d0 b0 d0  ......... ......
0360: bf d1 80 d0 be d1 81 d0 b0 20 d0 b1 d1 83 d0 b4  ......... ......
0370: d0 b5 d1 82 20 d0 b2 d1 81 d1 82 d0 b0 d0 b2 d0  .... ...........
0380: bb d0 b5 d0 bd 20 d0 b2 20 d0 bc d0 be d0 b4 d1  ..... .. .......
0390: 83 d0 bb d1 8c 20 d0 bd d0 b8 d0 b6 d0 b5 20 d0  ..... ........ .
03a0: b2 d1 8b d0 b4 d0 b5 d0 bb d0 b5 d0 bd d0 bd d0  ................
03b0: be d0 b3 d0 be 20 d0 b1 d0 bb d0 be d0 ba d0 b0  ..... ..........
03c0: 2e 0a 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ...=============
03d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
03e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
03f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0400: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 20 2a 2f 0a  ============ */.
0410: 0a 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65  .function getPre
0420: 64 65 66 69 6e 65 64 48 6f 74 6b 65 79 73 28 70  definedHotkeys(p
0430: 72 65 64 65 66 29 7b 0a 09 70 72 65 64 65 66 2e  redef){..predef.
0440: 73 65 74 56 65 72 73 69 6f 6e 28 31 29 3b 0a 09  setVersion(1);..
0450: 70 72 65 64 65 66 2e 61 64 64 28 22 45 78 74 72  predef.add("Extr
0460: 61 63 74 50 61 72 61 6d 65 74 65 72 73 22 2c 20  actParameters", 
0470: 22 43 74 72 6c 20 2b 20 53 68 69 66 74 20 2b 20  "Ctrl + Shift + 
0480: 51 22 29 3b 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e  Q");.}..function
0490: 20 61 75 74 6f 45 78 74 72 61 63 74 28 77 6e 64   autoExtract(wnd
04a0: 2c 20 73 65 6c 29 0a 7b 0a 20 20 20 20 76 61 72  , sel).{.    var
04b0: 20 74 65 78 74 20 3d 20 27 27 2c 20 76 4e 61 6d   text = '', vNam
04c0: 65 20 3d 20 27 27 2c 20 69 6e 64 65 6e 74 20 3d  e = '', indent =
04d0: 20 27 27 0a 20 20 20 20 66 6f 72 28 76 61 72 20   ''.    for(var 
04e0: 69 64 78 20 3d 20 73 65 6c 2e 62 65 67 69 6e 52  idx = sel.beginR
04f0: 6f 77 20 2d 20 31 3b 20 69 64 78 20 3e 20 30 3b  ow - 1; idx > 0;
0500: 20 69 64 78 2d 2d 29 0a 20 20 20 20 7b 0a 20 20   idx--).    {.  
0510: 20 20 20 20 20 20 76 61 72 20 6c 69 6e 65 20 3d        var line =
0520: 20 77 6e 64 2e 6c 69 6e 65 28 69 64 78 29 0a 20   wnd.line(idx). 
0530: 20 20 20 20 20 20 20 69 66 28 6c 69 6e 65 2e 6d         if(line.m
0540: 61 74 63 68 28 2f 5e 5c 73 2a 5b 5c 7c 22 5d 2f  atch(/^\s*[\|"]/
0550: 29 29 20 20 20 20 20 20 2f 2f 20 d0 a1 d1 82 d1  ))      // .....
0560: 80 d0 be d0 ba d0 b0 20 d0 bd d0 b0 d1 87 d0 b8  ....... ........
0570: d0 bd d0 b0 d0 b5 d1 82 d1 81 d1 8f 20 d1 81 20  ............ .. 
0580: 7c 20 d0 b8 d0 bb d0 b8 20 22 0a 20 20 20 20 20  | ...... ".     
0590: 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 6c 69         text = li
05a0: 6e 65 20 2b 20 27 5c 6e 27 20 2b 20 74 65 78 74  ne + '\n' + text
05b0: 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 69  ;.        else i
05c0: 66 28 21 6c 69 6e 65 2e 6d 61 74 63 68 28 2f 5e  f(!line.match(/^
05d0: 5c 73 2a 24 2f 29 29 20 20 20 20 20 2f 2f 20 d0  \s*$/))     // .
05e0: 9d d0 b5 20 d0 bf d1 83 d1 81 d1 82 d0 b0 d1 8f  ... ............
05f0: 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b0 0a 20 20   .............  
0600: 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20        {.        
0610: 20 20 20 20 76 61 72 20 6d 20 3d 20 6c 69 6e 65      var m = line
0620: 2e 6d 61 74 63 68 28 2f 28 5b 5e 5c 73 5d 2b 29  .match(/([^\s]+)
0630: 5c 2e 28 3f 3a d0 a2 d0 b5 d0 ba d1 81 d1 82 7c  \.(?:..........|
0640: 54 65 78 74 29 5c 73 2a 3d 2f 69 29 0a 20 20 20  Text)\s*=/i).   
0650: 20 20 20 20 20 20 20 20 20 69 66 28 6d 29 0a 20           if(m). 
0660: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76                 v
0670: 4e 61 6d 65 20 3d 20 6d 5b 31 5d 0a 20 20 20 20  Name = m[1].    
0680: 20 20 20 20 20 20 20 20 69 6e 64 65 6e 74 20 3d          indent =
0690: 20 6c 69 6e 65 2e 6d 61 74 63 68 28 2f 5e 5c 73   line.match(/^\s
06a0: 2a 2f 29 5b 30 5d 0a 20 20 20 20 20 20 20 20 20  */)[0].         
06b0: 20 20 20 62 72 65 61 6b 0a 20 20 20 20 20 20 20     break.       
06c0: 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 76 61 72   }.    }.    var
06d0: 20 70 61 72 61 6d 73 20 3d 20 7b 7d 0a 20 20 20   params = {}.   
06e0: 20 76 61 72 20 72 65 20 3d 20 2f 26 28 5b 5e 2a   var re = /&([^*
06f0: 5c 73 2b 2d 2f 5c 28 5c 29 5c 7b 5c 7d 5c 22 5d  \s+-/\(\)\{\}\"]
0700: 2b 29 2f 69 67 0a 20 20 20 20 77 68 69 6c 65 28  +)/ig.    while(
0710: 72 65 2e 65 78 65 63 28 74 65 78 74 29 29 0a 20  re.exec(text)). 
0720: 20 20 20 20 20 20 20 70 61 72 61 6d 73 5b 52 65         params[Re
0730: 67 45 78 70 2e 24 31 2e 74 6f 4c 6f 77 65 72 43  gExp.$1.toLowerC
0740: 61 73 65 28 29 5d 20 3d 20 52 65 67 45 78 70 2e  ase()] = RegExp.
0750: 24 31 0a 20 20 20 20 74 65 78 74 20 3d 20 27 27  $1.    text = ''
0760: 0a 20 20 20 20 66 6f 72 28 76 61 72 20 6b 20 69  .    for(var k i
0770: 6e 20 70 61 72 61 6d 73 29 0a 20 20 20 20 20 20  n params).      
0780: 20 20 74 65 78 74 20 3d 20 74 65 78 74 20 2b 20    text = text + 
0790: 69 6e 64 65 6e 74 20 2b 20 76 4e 61 6d 65 20 2b  indent + vName +
07a0: 20 27 2e d0 a3 d1 81 d1 82 d0 b0 d0 bd d0 be d0   '..............
07b0: b2 d0 b8 d1 82 d1 8c d0 9f d0 b0 d1 80 d0 b0 d0  ................
07c0: bc d0 b5 d1 82 d1 80 28 22 27 20 2b 20 70 61 72  .......("' + par
07d0: 61 6d 73 5b 6b 5d 20 2b 20 27 22 2c 20 29 3b 5c  ams[k] + '", );\
07e0: 6e 27 0a 20 20 20 20 69 66 28 21 74 65 78 74 2e  n'.    if(!text.
07f0: 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20  length).        
0800: 72 65 74 75 72 6e 20 66 61 6c 73 65 0a 20 20 20  return false.   
0810: 20 77 6e 64 2e 73 65 74 53 65 6c 65 63 74 69 6f   wnd.setSelectio
0820: 6e 28 73 65 6c 2e 62 65 67 69 6e 52 6f 77 2c 20  n(sel.beginRow, 
0830: 31 2c 20 73 65 6c 2e 62 65 67 69 6e 52 6f 77 2c  1, sel.beginRow,
0840: 20 31 29 0a 20 20 20 20 77 6e 64 2e 73 65 6c 65   1).    wnd.sele
0850: 63 74 65 64 54 65 78 74 20 3d 20 74 65 78 74 0a  ctedText = text.
0860: 20 20 20 20 77 6e 64 2e 73 65 74 43 61 72 65 74      wnd.setCaret
0870: 50 6f 73 28 73 65 6c 2e 62 65 67 69 6e 52 6f 77  Pos(sel.beginRow
0880: 2c 20 74 65 78 74 2e 6d 61 74 63 68 28 2f 5c 29  , text.match(/\)
0890: 3b 5c 6e 2f 29 2e 69 6e 64 65 78 20 2b 20 31 29  ;\n/).index + 1)
08a0: 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65  .    return true
08b0: 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 63  .}..function mac
08c0: 72 6f 73 45 78 74 72 61 63 74 50 61 72 61 6d 65  rosExtractParame
08d0: 74 65 72 73 28 29 7b 0a 09 76 61 72 20 77 20 3d  ters(){..var w =
08e0: 20 73 6e 65 67 6f 70 61 74 2e 61 63 74 69 76 65   snegopat.active
08f0: 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 0a 09 69  TextWindow();..i
0900: 66 20 28 21 77 29 20 72 65 74 75 72 6e 20 66 61  f (!w) return fa
0910: 6c 73 65 3b 0a 09 0a 09 76 61 72 20 73 65 6c 20  lse;....var sel 
0920: 3d 20 77 2e 67 65 74 53 65 6c 65 63 74 69 6f 6e  = w.getSelection
0930: 28 29 3b 0a 09 76 61 72 20 73 65 6c 54 65 78 74  ();..var selText
0940: 20 3d 20 77 2e 73 65 6c 65 63 74 65 64 54 65 78   = w.selectedTex
0950: 74 3b 0a 09 69 66 20 28 73 65 6c 54 65 78 74 20  t;..if (selText 
0960: 3d 3d 20 27 27 29 20 72 65 74 75 72 6e 20 61 75  == '') return au
0970: 74 6f 45 78 74 72 61 63 74 28 77 2c 20 73 65 6c  toExtract(w, sel
0980: 29 3b 0a 0a 09 76 61 72 20 71 50 61 72 61 6d 73  );...var qParams
0990: 20 3d 20 67 65 74 51 75 65 72 79 50 61 72 61 6d   = getQueryParam
09a0: 73 28 73 65 6c 54 65 78 74 29 3b 0a 09 69 66 20  s(selText);..if 
09b0: 28 21 71 50 61 72 61 6d 73 29 20 72 65 74 75 72  (!qParams) retur
09c0: 6e 20 66 61 6c 73 65 3b 0a 09 0a 09 76 61 72 20  n false;....var 
09d0: 71 56 61 72 4e 61 6d 65 20 3d 20 67 65 74 51 75  qVarName = getQu
09e0: 65 72 79 56 61 72 4e 61 6d 65 28 73 65 6c 54 65  eryVarName(selTe
09f0: 78 74 29 3b 0a 09 76 61 72 20 6f 66 66 73 65 74  xt);..var offset
0a00: 20 3d 20 67 65 74 54 65 78 74 42 6c 6f 63 6b 4f   = getTextBlockO
0a10: 66 66 73 65 74 28 77 2e 6c 69 6e 65 28 73 65 6c  ffset(w.line(sel
0a20: 2e 65 6e 64 52 6f 77 20 2d 20 31 29 29 3b 0a 20  .endRow - 1));. 
0a30: 20 20 20 20 20 20 20 2f 2f 76 61 72 20 6f 66 66         //var off
0a40: 73 65 74 20 3d 20 67 65 74 54 65 78 74 42 6c 6f  set = getTextBlo
0a50: 63 6b 4f 66 66 73 65 74 28 77 2e 64 6f 63 75 6d  ckOffset(w.docum
0a60: 65 6e 74 2e d0 9f d0 be d0 bb d1 83 d1 87 d0 b8  ent.............
0a70: d1 82 d1 8c d0 a1 d1 82 d1 80 d0 be d0 ba d1 83  ................
0a80: 28 73 65 6c 2e 65 6e 64 52 6f 77 20 2d 20 31 29  (sel.endRow - 1)
0a90: 29 3b 0a 09 0a 09 76 61 72 20 70 61 72 61 6d 73  );....var params
0aa0: 54 65 78 74 20 3d 20 22 22 3b 0a 09 66 6f 72 20  Text = "";..for 
0ab0: 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20  (var i = 0; i < 
0ac0: 71 50 61 72 61 6d 73 2e 6c 65 6e 67 74 68 3b 20  qParams.length; 
0ad0: 69 2b 2b 29 7b 0a 09 09 70 61 72 61 6d 73 54 65  i++){...paramsTe
0ae0: 78 74 20 2b 3d 20 27 5c 6e 27 20 2b 20 6f 66 66  xt += '\n' + off
0af0: 73 65 74 20 2b 20 71 56 61 72 4e 61 6d 65 20 2b  set + qVarName +
0b00: 20 2f 2f 27 5c 72 5c 6e 27 0a 09 09 09 27 2e d0   //'\r\n'....'..
0b10: a3 d1 81 d1 82 d0 b0 d0 bd d0 be d0 b2 d0 b8 d1  ................
0b20: 82 d1 8c d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1  ................
0b30: 82 d1 80 28 22 27 20 2b 20 71 50 61 72 61 6d 73  ...("' + qParams
0b40: 5b 69 5d 20 2b 20 27 22 2c 20 29 3b 27 3b 0a 09  [i] + '", );';..
0b50: 7d 3b 0a 09 0a 20 20 20 20 73 65 6c 54 65 78 74  };...    selText
0b60: 20 2b 3d 20 70 61 72 61 6d 73 54 65 78 74 20 2b   += paramsText +
0b70: 20 27 5c 6e 27 3b 20 2f 2f 27 5c 72 5c 6e 27 3b   '\n'; //'\r\n';
0b80: 0a 20 20 20 20 77 2e 73 65 6c 65 63 74 65 64 54  .    w.selectedT
0b90: 65 78 74 20 3d 20 73 65 6c 54 65 78 74 3b 0a 20  ext = selText;. 
0ba0: 20 20 20 20 20 20 20 2f 2f 77 2e 64 6f 63 75 6d         //w.docum
0bb0: 65 6e 74 2e d0 92 d1 81 d1 82 d0 b0 d0 b2 d0 b8  ent.............
0bc0: d1 82 d1 8c d0 a1 d1 82 d1 80 d0 be d0 ba d1 83  ................
0bd0: 28 73 65 6c 2e 65 6e 64 52 6f 77 2c 20 70 61 72  (sel.endRow, par
0be0: 61 6d 73 54 65 78 74 20 2b 20 27 5c 72 5c 6e 27  amsText + '\r\n'
0bf0: 29 3b 0a 0a 09 72 65 74 75 72 6e 20 74 72 75 65  );...return true
0c00: 3b 0a 7d 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 67  ;.}...function g
0c10: 65 74 51 75 65 72 79 50 61 72 61 6d 73 28 73 74  etQueryParams(st
0c20: 72 29 7b 0a 09 76 61 72 20 6d 61 74 63 68 65 73  r){..var matches
0c30: 20 3d 20 73 74 72 2e 6d 61 74 63 68 28 2f 26 28   = str.match(/&(
0c40: 5b 5e 2a 5c 73 2b 2d 2f 5c 28 5c 29 5c 7b 5c 7d  [^*\s+-/\(\)\{\}
0c50: 5c 22 5d 2b 29 2f 69 67 29 3b 0a 09 69 66 20 28  \"]+)/ig);..if (
0c60: 21 6d 61 74 63 68 65 73 29 20 72 65 74 75 72 6e  !matches) return
0c70: 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20   null;..        
0c80: 69 66 20 28 21 41 72 72 61 79 2e 70 72 6f 74 6f  if (!Array.proto
0c90: 74 79 70 65 2e 69 6e 64 65 78 4f 66 29 20 7b 0a  type.indexOf) {.
0ca0: 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 2e            Array.
0cb0: 70 72 6f 74 6f 74 79 70 65 2e 69 6e 64 65 78 4f  prototype.indexO
0cc0: 66 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 6f 62  f = function (ob
0cd0: 6a 2c 20 66 72 6f 6d 49 6e 64 65 78 29 20 7b 0a  j, fromIndex) {.
0ce0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28              if (
0cf0: 66 72 6f 6d 49 6e 64 65 78 20 3d 3d 20 6e 75 6c  fromIndex == nul
0d00: 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  l) {.           
0d10: 20 20 20 20 20 66 72 6f 6d 49 6e 64 65 78 20 3d       fromIndex =
0d20: 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20   0;.            
0d30: 7d 20 65 6c 73 65 20 69 66 20 28 66 72 6f 6d 49  } else if (fromI
0d40: 6e 64 65 78 20 3c 20 30 29 20 7b 0a 20 20 20 20  ndex < 0) {.    
0d50: 20 20 20 20 20 20 20 20 20 20 20 20 66 72 6f 6d              from
0d60: 49 6e 64 65 78 20 3d 20 4d 61 74 68 2e 6d 61 78  Index = Math.max
0d70: 28 30 2c 20 74 68 69 73 2e 6c 65 6e 67 74 68 20  (0, this.length 
0d80: 2b 20 66 72 6f 6d 49 6e 64 65 78 29 3b 0a 20 20  + fromIndex);.  
0d90: 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20            }.    
0da0: 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72          for (var
0db0: 20 69 20 3d 20 66 72 6f 6d 49 6e 64 65 78 2c 20   i = fromIndex, 
0dc0: 6a 20 3d 20 74 68 69 73 2e 6c 65 6e 67 74 68 3b  j = this.length;
0dd0: 20 69 20 3c 20 6a 3b 20 69 2b 2b 29 20 7b 0a 20   i < j; i++) {. 
0de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
0df0: 66 20 28 74 68 69 73 5b 69 5d 20 3d 3d 3d 20 6f  f (this[i] === o
0e00: 62 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  bj).            
0e10: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69          return i
0e20: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a  ;.            }.
0e30: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75              retu
0e40: 72 6e 20 2d 31 3b 0a 20 20 20 20 20 20 20 20 20  rn -1;.         
0e50: 20 7d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 09 0a   };.        }...
0e60: 09 76 61 72 20 72 65 73 20 3d 20 6e 65 77 20 41  .var res = new A
0e70: 72 72 61 79 28 29 3b 0a 20 20 20 20 76 61 72 20  rray();.    var 
0e80: 61 72 72 55 70 70 65 72 43 61 73 65 20 3d 20 6e  arrUpperCase = n
0e90: 65 77 20 41 72 72 61 79 28 29 3b 0a 09 66 6f 72  ew Array();..for
0ea0: 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c   (var i = 0; i <
0eb0: 20 6d 61 74 63 68 65 73 2e 6c 65 6e 67 74 68 3b   matches.length;
0ec0: 20 69 2b 2b 29 7b 0a 20 20 20 20 20 20 20 20 70   i++){.        p
0ed0: 61 72 61 6d 20 3d 20 6d 61 74 63 68 65 73 5b 69  aram = matches[i
0ee0: 5d 2e 72 65 70 6c 61 63 65 28 2f 5e 26 2f 69 67  ].replace(/^&/ig
0ef0: 2c 20 22 22 29 3b 0a 20 20 20 20 20 20 20 20 70  , "");.        p
0f00: 61 72 61 6d 55 20 3d 20 70 61 72 61 6d 2e 74 6f  aramU = param.to
0f10: 55 70 70 65 72 43 61 73 65 28 29 3b 0a 20 20 20  UpperCase();.   
0f20: 20 20 20 20 20 69 66 28 2d 31 20 3d 3d 20 61 72       if(-1 == ar
0f30: 72 55 70 70 65 72 43 61 73 65 2e 69 6e 64 65 78  rUpperCase.index
0f40: 4f 66 28 70 61 72 61 6d 55 29 29 7b 0a 20 20 20  Of(paramU)){.   
0f50: 20 20 20 20 20 20 20 20 20 72 65 73 2e 70 75 73           res.pus
0f60: 68 28 70 61 72 61 6d 29 3b 0a 20 20 20 20 20 20  h(param);.      
0f70: 20 20 20 20 20 20 61 72 72 55 70 70 65 72 43 61        arrUpperCa
0f80: 73 65 2e 70 75 73 68 28 70 61 72 61 6d 55 29 3b  se.push(paramU);
0f90: 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20  .        }.     
0fa0: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 72 65 73             //res
0fb0: 2e 70 75 73 68 28 6d 61 74 63 68 65 73 5b 69 5d  .push(matches[i]
0fc0: 2e 72 65 70 6c 61 63 65 28 2f 5e 26 2f 69 67 2c  .replace(/^&/ig,
0fd0: 20 22 22 29 29 3b 0a 09 7d 0a 09 72 65 74 75 72   ""));..}..retur
0fe0: 6e 20 72 65 73 3b 0a 7d 0a 0a 66 75 6e 63 74 69  n res;.}..functi
0ff0: 6f 6e 20 67 65 74 51 75 65 72 79 56 61 72 4e 61  on getQueryVarNa
1000: 6d 65 28 73 74 72 29 7b 0a 09 76 61 72 20 6d 61  me(str){..var ma
1010: 74 63 68 65 73 20 3d 20 73 74 72 2e 6d 61 74 63  tches = str.matc
1020: 68 28 2f 28 5b 5e 5c 2e 5c 73 5d 2b 29 28 28 5c  h(/([^\.\s]+)((\
1030: 2e d1 82 d0 b5 d0 ba d1 81 d1 82 5c 73 2a 3d 5c  ...........\s*=\
1040: 73 2a 29 7c 28 5c 73 2a 3d 5c 73 2a d0 bd d0 be  s*)|(\s*=\s*....
1050: d0 b2 d1 8b d0 b9 5c 73 2a d0 b7 d0 b0 d0 bf d1  ......\s*.......
1060: 80 d0 be d1 81 29 29 2f 69 67 29 3b 20 2f 2f 20  .....))/ig); // 
1070: d0 b8 d0 bb d0 b8 20 22 d0 98 d0 bc d1 8f 2e d0  ...... "........
1080: a2 d0 b5 d0 ba d1 81 d1 82 20 3d 22 20 d0 b8 d0  ......... =" ...
1090: bb d0 b8 20 22 d0 98 d0 bc d1 8f 20 3d 20 d0 9d  ... "...... = ..
10a0: d0 be d0 b2 d1 8b d0 b9 20 d0 97 d0 b0 d0 bf d1  ........ .......
10b0: 80 d0 be d1 81 22 0a 20 20 20 20 20 20 20 20 2f  .....".        /
10c0: 2f 76 61 72 20 6d 61 74 63 68 65 73 20 3d 20 73  /var matches = s
10d0: 74 72 2e 6d 61 74 63 68 28 2f 28 5b 5e 5c 73 5d  tr.match(/([^\s]
10e0: 2b 29 5c 73 2a 3d 5c 73 2a d0 bd d0 be d0 b2 d1  +)\s*=\s*.......
10f0: 8b d0 b9 5c 73 2a d0 b7 d0 b0 d0 bf d1 80 d0 be  ...\s*..........
1100: d1 81 2f 69 67 29 3b 0a 09 76 61 72 20 72 65 73  ../ig);..var res
1110: 20 3d 20 21 6d 61 74 63 68 65 73 20 3f 20 22 22   = !matches ? ""
1120: 20 3a 20 52 65 67 45 78 70 2e 24 31 2e 72 65 70   : RegExp.$1.rep
1130: 6c 61 63 65 28 2f 5c 73 2a 2f 69 67 2c 20 22 22  lace(/\s*/ig, ""
1140: 29 3b 0a 09 72 65 74 75 72 6e 20 72 65 73 3b 0a  );..return res;.
1150: 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 67 65 74 54  }..function getT
1160: 65 78 74 42 6c 6f 63 6b 4f 66 66 73 65 74 28 73  extBlockOffset(s
1170: 74 72 29 7b 0a 09 76 61 72 20 6d 61 74 63 68 20  tr){..var match 
1180: 3d 20 73 74 72 2e 6d 61 74 63 68 28 2f 5e 28 5b  = str.match(/^([
1190: 5c 73 5d 2b 29 2f 69 67 29 3b 0a 09 76 61 72 20  \s]+)/ig);..var 
11a0: 72 65 73 20 3d 20 21 6d 61 74 63 68 20 3f 20 22  res = !match ? "
11b0: 22 20 3a 20 6d 61 74 63 68 5b 30 5d 3b 0a 09 72  " : match[0];..r
11c0: 65 74 75 72 6e 20 72 65 73 3b 0a 7d 0a           eturn res;.}.