Hex Artifact Content Вы: nobody
Вход

Artifact 3351bcf41a70e2443d4399198de2eef6bc1945b4:


0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69  ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 61 75 74 68 6f  pt..$uname autho
0020: 72 0d 0a 24 64 6e 61 6d 65 20 d0 90 d0 b2 d1 82  r..$dname ......
0030: d0 be d1 80 d1 81 d0 ba d0 b8 d0 b9 20 d0 ba d0  ............ ...
0040: be d0 bc d0 bc d0 b5 d0 bd d1 82 d0 b0 d1 80 d0  ................
0050: b8 d0 b9 0d 0a 24 61 64 64 69 6e 20 67 6c 6f 62  .....$addin glob
0060: 61 6c 0d 0a 24 61 64 64 69 6e 20 73 74 64 6c 69  al..$addin stdli
0070: 62 0d 0a 0d 0a 73 74 64 6c 69 62 2e 72 65 71 75  b....stdlib.requ
0080: 69 72 65 28 22 54 65 78 74 57 69 6e 64 6f 77 2e  ire("TextWindow.
0090: 6a 73 22 2c 20 53 65 6c 66 53 63 72 69 70 74 29  js", SelfScript)
00a0: 3b 0d 0a 67 6c 6f 62 61 6c 2e 63 6f 6e 6e 65 63  ;..global.connec
00b0: 74 47 6c 6f 62 61 6c 73 28 53 65 6c 66 53 63 72  tGlobals(SelfScr
00c0: 69 70 74 29 3b 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f  ipt);....///////
00d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
00f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0100: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0110: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0120: 2f 0d 0a 2f 2f 2f 2f 7b 20 43 d0 ba d1 80 d0 b8  /..////{ C......
0130: d0 bf d1 82 20 22 d0 90 d0 b2 d1 82 d0 be d1 80  .... "..........
0140: d1 81 d0 ba d0 b8 d0 b9 20 d0 ba d0 be d0 bc d0  ........ .......
0150: bc d0 b5 d0 bd d1 82 d0 b0 d1 80 d0 b8 d0 b9 22  ..............."
0160: 20 28 61 75 74 68 6f 72 2e 6a 73 29 20 d0 b4 d0   (author.js) ...
0170: bb d1 8f 20 d0 bf d1 80 d0 be d0 b5 d0 ba d1 82  ... ............
0180: d0 b0 20 22 d0 a1 d0 bd d0 b5 d0 b3 d0 be d0 bf  .. "............
0190: d0 b0 d1 82 22 0d 0a 2f 2f 2f 2f 0d 0a 2f 2f 2f  ...."..////..///
01a0: 2f 20 d0 9e d0 bf d0 b8 d1 81 d0 b0 d0 bd d0 b8  / ..............
01b0: d0 b5 3a 20 d0 a0 d0 b5 d0 b0 d0 bb d0 b8 d0 b7  ..: ............
01c0: d1 83 d0 b5 d1 82 20 d0 b2 d0 be d0 b7 d0 bc d0  ...... .........
01d0: be d0 b6 d0 bd d0 be d1 81 d1 82 d0 b8 20 d1 80  ............. ..
01e0: d0 b0 d0 b7 d0 bc d0 b5 d1 82 d0 ba d0 b8 20 d0  .............. .
01f0: ba d0 be d0 b4 d0 b0 20 d0 bf d0 be 20 d0 bf d1  ....... .... ...
0200: 80 d0 b8 d0 b7 d0 bd d0 b0 d0 ba d0 b0 d0 bc 20  ............... 
0210: d0 bc d0 be d0 b4 d0 b8 d1 84 d0 b8 d1 86 d0 b8  ................
0220: d1 80 d0 be d0 b2 d0 b0 d0 bd d0 bd d0 be d1 81  ................
0230: d1 82 d0 b8 20 0d 0a 2f 2f 2f 2f 20 d1 81 d0 be  .... ..//// ....
0240: 20 d1 83 d0 ba d0 b0 d0 b7 d0 b0 d0 bd d0 b8 d0   ...............
0250: b5 d0 bc 20 d1 80 d0 b5 d0 ba d0 b2 d0 b8 d0 b7  ... ............
0260: d0 b8 d1 82 d0 be d0 b2 20 d0 b0 d0 b2 d1 82 d0  ........ .......
0270: be d1 80 d0 b0 2e 0d 0a 2f 2f 2f 2f 0d 0a 2f 2f  ........////..//
0280: 2f 2f 20 d0 90 d0 b2 d1 82 d0 be d1 80 3a 20 d0  // ..........: .
0290: 90 d0 bb d0 b5 d0 ba d1 81 d0 b0 d0 bd d0 b4 d1  ................
02a0: 80 20 d0 9a d1 83 d0 bd d1 82 d0 b0 d1 88 d0 be  . ..............
02b0: d0 b2 20 3c 6b 75 6e 74 61 73 68 6f 76 40 67 6d  .. <kuntashov@gm
02c0: 61 69 6c 2e 63 6f 6d 3e 2c 20 68 74 74 70 3a 2f  ail.com>, http:/
02d0: 2f 63 6f 6d 70 61 75 64 2e 72 75 2f 62 6c 6f 67  /compaud.ru/blog
02e0: 0d 0a 2f 2f 2f 2f 7d 0d 0a 2f 2f 2f 2f 2f 2f 2f  ..////}..///////
02f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0300: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0310: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0320: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0330: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0340: 2f 0d 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  /....///////////
0350: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0360: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0370: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0380: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0390: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f  /////////////../
03a0: 2f 2f 2f 7b 20 d0 9c d0 b0 d0 ba d1 80 d0 be d1  ///{ ...........
03b0: 81 d1 8b 0d 0a 2f 2f 2f 2f 0d 0a 0d 0a 53 65 6c  .....////....Sel
03c0: 66 53 63 72 69 70 74 2e 73 65 6c 66 5b 27 6d 61  fScript.self['ma
03d0: 63 72 6f 73 d0 9c d0 b0 d1 80 d0 ba d0 b5 d1 80  cros............
03e0: 20 22 d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 bb d0 b5   "..............
03f0: d0 bd d0 be 22 27 5d 20 3d 20 66 75 6e 63 74 69  ...."'] = functi
0400: 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 61 64 64 4d  on() {..    addM
0410: 61 72 6b 65 72 28 4d 61 72 6b 65 72 54 79 70 65  arker(MarkerType
0420: 73 2e 41 44 44 45 44 29 3b 0d 0a 7d 0d 0a 0d 0a  s.ADDED);..}....
0430: 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 5b  SelfScript.self[
0440: 27 6d 61 63 72 6f 73 d0 9c d0 b0 d1 80 d0 ba d0  'macros.........
0450: b5 d1 80 20 22 d0 98 d0 b7 d0 bc d0 b5 d0 bd d0  ... "...........
0460: b5 d0 bd d0 be 22 27 5d 20 3d 20 66 75 6e 63 74  ....."'] = funct
0470: 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 61 64 64  ion() {..    add
0480: 4d 61 72 6b 65 72 28 4d 61 72 6b 65 72 54 79 70  Marker(MarkerTyp
0490: 65 73 2e 43 48 41 4e 47 45 44 29 3b 0d 0a 7d 0d  es.CHANGED);..}.
04a0: 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73 65  ...SelfScript.se
04b0: 6c 66 5b 27 6d 61 63 72 6f 73 d0 9c d0 b0 d1 80  lf['macros......
04c0: d0 ba d0 b5 d1 80 20 22 d0 a3 d0 b4 d0 b0 d0 bb  ...... "........
04d0: d0 b5 d0 bd d0 be 22 27 5d 20 3d 20 66 75 6e 63  ......"'] = func
04e0: 74 69 6f 6e 28 29 20 7b 0d 0a 20 20 20 20 61 64  tion() {..    ad
04f0: 64 4d 61 72 6b 65 72 28 4d 61 72 6b 65 72 54 79  dMarker(MarkerTy
0500: 70 65 73 2e 52 45 4d 4f 56 45 44 29 3b 0d 0a 7d  pes.REMOVED);..}
0510: 0d 0a 0d 0a 53 65 6c 66 53 63 72 69 70 74 2e 73  ....SelfScript.s
0520: 65 6c 66 5b 27 6d 61 63 72 6f 73 d0 9d d0 b0 d1  elf['macros.....
0530: 81 d1 82 d1 80 d0 be d0 b9 d0 ba d0 b0 27 5d 20  .............'] 
0540: 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a  = function() {..
0550: 20 20 20 20 2f 2f 20 66 6f 72 6d 20 2d 20 d0 bd      // form - ..
0560: d0 b5 d1 8f d0 b2 d0 bd d0 be 20 d0 be d0 bf d1  .......... .....
0570: 80 d0 b5 d0 b4 d0 b5 d0 bb d1 8f d0 b5 d0 bc d0  ................
0580: b0 d1 8f 20 d0 b3 d0 bb d0 be d0 b1 d0 b0 d0 bb  ... ............
0590: d1 8c d0 bd d0 b0 d1 8f 20 d0 bf d0 b5 d1 80 d0  ........ .......
05a0: b5 d0 bc d0 b5 d0 bd d0 bd d0 b0 d1 8f 2e 0d 0a  ................
05b0: 20 20 20 20 66 6f 72 6d 20 3d 20 6c 6f 61 64 53      form = loadS
05c0: 63 72 69 70 74 46 6f 72 6d 28 53 65 6c 66 53 63  criptForm(SelfSc
05d0: 72 69 70 74 2e 66 75 6c 6c 50 61 74 68 2e 72 65  ript.fullPath.re
05e0: 70 6c 61 63 65 28 2f 6a 73 24 2f 2c 20 27 73 73  place(/js$/, 'ss
05f0: 66 27 29 2c 20 53 65 6c 66 53 63 72 69 70 74 2e  f'), SelfScript.
0600: 73 65 6c 66 29 3b 0d 0a 20 20 20 20 66 6f 72 6d  self);..    form
0610: 2e 44 6f 4d 6f 64 61 6c 28 29 3b 0d 0a 20 20 20  .DoModal();..   
0620: 20 66 6f 72 6d 20 3d 20 6e 75 6c 6c 3b 0d 0a 7d   form = null;..}
0630: 0d 0a 0d 0a 2f 2a 20 d0 92 d0 be d0 b7 d0 b2 d1  ..../* .........
0640: 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 d0 bd d0 b0  ........... ....
0650: d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20 d0 bc d0  ............ ...
0660: b0 d0 ba d1 80 d0 be d1 81 d0 b0 20 d0 bf d0 be  ........... ....
0670: 20 d1 83 d0 bc d0 be d0 bb d1 87 d0 b0 d0 bd d0   ...............
0680: b8 d1 8e 20 2d 20 d0 b2 d1 8b d0 b7 d1 8b d0 b2  ... - ..........
0690: d0 b0 d0 b5 d1 82 d1 81 d1 8f 2c 20 d0 ba d0 be  .........., ....
06a0: d0 b3 d0 b4 d0 b0 20 d0 bf d0 be d0 bb d1 8c d0  ...... .........
06b0: b7 d0 be d0 b2 d0 b0 d1 82 d0 b5 d0 bb d1 8c 20  ............... 
06c0: 0d 0a d0 b4 d0 b2 d0 b0 d0 b6 d0 b4 d1 8b 20 d1  .............. .
06d0: 89 d0 b5 d0 bb d0 ba d0 b0 d0 b5 d1 82 20 d0 bc  ............. ..
06e0: d1 8b d1 88 d1 8c d1 8e 20 d0 bf d0 be 20 d0 bd  ........ .... ..
06f0: d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d1 8e 20 d1  .............. .
0700: 81 d0 ba d1 80 d0 b8 d0 bf d1 82 d0 b0 20 d0 b2  ............. ..
0710: 20 d0 be d0 ba d0 bd d0 b5 20 d0 a1 d0 bd d0 b5   ........ ......
0720: d0 b3 d0 be d0 bf d0 b0 d1 82 d0 b0 2e 20 2a 2f  ............. */
0730: 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65  ..function getDe
0740: 66 61 75 6c 74 4d 61 63 72 6f 73 28 29 20 7b 0d  faultMacros() {.
0750: 0a 20 20 20 20 72 65 74 75 72 6e 20 27 d0 9d d0  .    return '...
0760: b0 d1 81 d1 82 d1 80 d0 be d0 b9 d0 ba d0 b0 27  ...............'
0770: 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 2f 2f 7d 20 d0 9c  ;..}....////} ..
0780: d0 b0 d0 ba d1 80 d0 be d1 81 d1 8b 0d 0a 0d 0a  ................
0790: 76 61 72 20 4d 61 72 6b 65 72 54 79 70 65 73 20  var MarkerTypes 
07a0: 3d 20 7b 0d 0a 20 20 20 20 41 44 44 45 44 3a 20  = {..    ADDED: 
07b0: 22 d0 9c d0 b0 d1 80 d0 ba d0 b5 d1 80 d0 94 d0  "...............
07c0: be d0 b1 d0 b0 d0 b2 d0 bb d0 b5 d0 bd d0 be 22  ..............."
07d0: 2c 0d 0a 20 20 20 20 52 45 4d 4f 56 45 44 3a 20  ,..    REMOVED: 
07e0: 22 d0 9c d0 b0 d1 80 d0 ba d0 b5 d1 80 d0 a3 d0  "...............
07f0: b4 d0 b0 d0 bb d0 b5 d0 bd d0 be 22 2c 0d 0a 20  ...........",.. 
0800: 20 20 20 43 48 41 4e 47 45 44 3a 22 d0 9c d0 b0     CHANGED:"....
0810: d1 80 d0 ba d0 b5 d1 80 d0 98 d0 b7 d0 bc d0 b5  ................
0820: d0 bd d0 b5 d0 bd d0 be 22 0d 0a 7d 3b 0d 0a 0d  ........"..};...
0830: 0a 76 61 72 20 4d 61 72 6b 65 72 46 6f 72 6d 61  .var MarkerForma
0840: 74 53 74 72 69 6e 67 50 61 72 61 6d 65 74 65 72  tStringParameter
0850: 73 20 3d 20 7b 7d 3b 0d 0a 76 61 72 20 70 66 6c  s = {};..var pfl
0860: 41 75 74 68 6f 72 4a 73 20 3d 20 27 d0 90 d0 b2  AuthorJs = '....
0870: d1 82 d0 be d1 80 d1 81 d0 ba d0 b8 d0 b9 20 d0  .............. .
0880: ba d0 be d0 bc d0 bc d0 b5 d0 bd d1 82 d0 b0 d1  ................
0890: 80 d0 b8 d0 b9 2f d0 9d d0 b0 d1 81 d1 82 d1 80  ...../..........
08a0: d0 be d0 b9 d0 ba d0 b8 27 3b 0d 0a 0d 0a 66 75  ........';....fu
08b0: 6e 63 74 69 6f 6e 20 61 64 64 4d 61 72 6b 65 72  nction addMarker
08c0: 28 6d 61 72 6b 65 72 54 79 70 65 29 20 7b 0d 0a  (markerType) {..
08d0: 0d 0a 20 20 20 20 76 61 72 20 77 20 3d 20 47 65  ..    var w = Ge
08e0: 74 54 65 78 74 57 69 6e 64 6f 77 28 29 3b 0d 0a  tTextWindow();..
08f0: 20 20 20 20 69 66 20 28 21 77 29 20 72 65 74 75      if (!w) retu
0900: 72 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  rn;..           
0910: 20 0d 0a 20 20 20 20 76 61 72 20 73 65 6c 20 3d   ..    var sel =
0920: 20 77 2e 47 65 74 53 65 6c 65 63 74 69 6f 6e 28   w.GetSelection(
0930: 29 3b 0d 0a 20 20 20 20 69 66 20 28 73 65 6c 2e  );..    if (sel.
0940: 62 65 67 69 6e 52 6f 77 20 3d 3d 20 73 65 6c 2e  beginRow == sel.
0950: 65 6e 64 52 6f 77 29 0d 0a 20 20 20 20 7b 20 20  endRow)..    {  
0960: 20 20 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 d0    ..        // .
0970: 9e d0 b4 d0 bd d0 be d1 81 d1 82 d1 80 d0 be d1  ................
0980: 87 d0 bd d0 b8 d0 ba 2e 20 20 20 20 20 20 20 20  ........        
0990: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 6c 69  ..        var li
09a0: 6e 65 20 3d 20 77 2e 47 65 74 4c 69 6e 65 28 73  ne = w.GetLine(s
09b0: 65 6c 2e 62 65 67 69 6e 52 6f 77 29 3b 0d 0a 20  el.beginRow);.. 
09c0: 20 20 20 20 20 20 20 76 61 72 20 63 6f 64 65 20         var code 
09d0: 3d 20 6d 61 72 6b 4c 69 6e 65 28 6d 61 72 6b 65  = markLine(marke
09e0: 72 54 79 70 65 2c 20 6c 69 6e 65 29 3b 20 20 20  rType, line);   
09f0: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 77       ..        w
0a00: 2e 52 65 70 6c 61 63 65 4c 69 6e 65 28 73 65 6c  .ReplaceLine(sel
0a10: 2e 62 65 67 69 6e 52 6f 77 2c 20 63 6f 64 65 29  .beginRow, code)
0a20: 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 65 6c  ;..    }..    el
0a30: 73 65 20 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20  se ..    {..    
0a40: 20 20 20 20 2f 2f 20 d0 91 d0 bb d0 be d0 ba 20      // ........ 
0a50: d0 ba d0 be d0 b4 d0 b0 2e 0d 0a 20 20 20 20 20  ...........     
0a60: 20 20 20 76 61 72 20 65 6e 64 52 6f 77 20 3d 20     var endRow = 
0a70: 73 65 6c 2e 65 6e 64 43 6f 6c 20 3e 20 31 20 3f  sel.endCol > 1 ?
0a80: 20 73 65 6c 2e 65 6e 64 52 6f 77 20 3a 20 73 65   sel.endRow : se
0a90: 6c 2e 65 6e 64 52 6f 77 20 2d 20 31 3b 0d 0a 20  l.endRow - 1;.. 
0aa0: 20 20 20 20 20 20 20 76 61 72 20 62 6c 6f 63 6b         var block
0ab0: 20 3d 20 77 2e 52 61 6e 67 65 28 73 65 6c 2e 62   = w.Range(sel.b
0ac0: 65 67 69 6e 52 6f 77 2c 20 31 2c 20 65 6e 64 52  eginRow, 1, endR
0ad0: 6f 77 29 2e 47 65 74 54 65 78 74 28 29 3b 20 20  ow).GetText();  
0ae0: 20 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20        ..        
0af0: 76 61 72 20 63 6f 64 65 20 3d 20 6d 61 72 6b 42  var code = markB
0b00: 6c 6f 63 6b 28 6d 61 72 6b 65 72 54 79 70 65 2c  lock(markerType,
0b10: 20 62 6c 6f 63 6b 29 3b 20 20 20 20 20 20 20 20   block);        
0b20: 0d 0a 20 20 20 20 20 20 20 20 77 2e 52 61 6e 67  ..        w.Rang
0b30: 65 28 73 65 6c 2e 62 65 67 69 6e 52 6f 77 2c 20  e(sel.beginRow, 
0b40: 31 2c 20 65 6e 64 52 6f 77 29 2e 53 65 74 54 65  1, endRow).SetTe
0b50: 78 74 28 63 6f 64 65 29 3b 0d 0a 20 20 20 20 7d  xt(code);..    }
0b60: 20 20 20 20 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74      ..}....funct
0b70: 69 6f 6e 20 67 65 74 53 69 67 6e 61 74 75 72 65  ion getSignature
0b80: 28 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 66 6d  () {..    var fm
0b90: 74 20 3d 20 53 65 74 74 69 6e 67 73 5b 27 d0 a4  t = Settings['..
0ba0: d0 be d1 80 d0 bc d0 b0 d1 82 d0 9f d0 be d0 b4  ................
0bb0: d0 bf d0 b8 d1 81 d0 b8 27 5d 3b 0d 0a 20 20 20  ........'];..   
0bc0: 20 76 61 72 20 70 74 6e 20 3d 20 2f 25 28 2e 2b   var ptn = /%(.+
0bd0: 3f 29 28 3f 3a 23 28 2e 2b 29 29 7b 30 2c 31 7d  ?)(?:#(.+)){0,1}
0be0: 25 2f 69 67 3b 0d 0a 20 20 20 20 72 65 74 75 72  %/ig;..    retur
0bf0: 6e 20 66 6d 74 2e 72 65 70 6c 61 63 65 28 70 74  n fmt.replace(pt
0c00: 6e 2c 20 66 75 6e 63 74 69 6f 6e 20 28 6d 61 74  n, function (mat
0c10: 63 68 2c 20 70 31 2c 20 70 32 2c 20 6f 66 66 73  ch, p1, p2, offs
0c20: 65 74 2c 20 73 29 20 7b 0d 0a 20 20 20 20 20 20  et, s) {..      
0c30: 20 20 2f 2f 20 70 31 20 2d 20 d0 b8 d0 bc d1 8f    // p1 - ......
0c40: 20 d1 83 d0 bf d1 80 d0 b0 d0 b2 d0 bb d1 8f d1   ...............
0c50: 8e d1 89 d0 b5 d0 b9 20 d0 ba d0 be d0 bd d1 81  ....... ........
0c60: d1 82 d1 80 d1 83 d0 ba d1 86 d0 b8 d0 b8 2e 0d  ................
0c70: 0a 20 20 20 20 20 20 20 20 2f 2f 20 70 32 20 2d  .        // p2 -
0c80: 20 d0 bf d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1   ...............
0c90: 80 20 d1 83 d0 bf d1 80 d0 b0 d0 b2 d0 bb d1 8f  . ..............
0ca0: d1 8e d1 89 d0 b5 d0 b9 20 d0 ba d0 be d0 bd d1  ........ .......
0cb0: 81 d1 82 d1 80 d1 83 d0 ba d1 86 d0 b8 d0 b8 20  ............... 
0cc0: 28 d0 b4 d0 bb d1 8f 20 d0 94 d0 b0 d1 82 d0 b0  (...... ........
0cd0: d0 92 d1 80 d0 b5 d0 bc d1 8f 29 2e 0d 0a 20 20  ..........)...  
0ce0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 61 72        return Mar
0cf0: 6b 65 72 46 6f 72 6d 61 74 53 74 72 69 6e 67 50  kerFormatStringP
0d00: 61 72 61 6d 65 74 65 72 73 5b 70 31 5d 2e 63 61  arameters[p1].ca
0d10: 6c 6c 28 6e 75 6c 6c 2c 20 70 32 29 3b 0d 0a 20  ll(null, p2);.. 
0d20: 20 20 20 7d 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e     });..}....fun
0d30: 63 74 69 6f 6e 20 67 65 74 53 74 61 72 74 43 6f  ction getStartCo
0d40: 6d 6d 65 6e 74 28 6d 61 72 6b 65 72 54 79 70 65  mment(markerType
0d50: 29 20 7b 0d 0a 20 20 20 20 72 65 74 75 72 6e 20  ) {..    return 
0d60: 22 2f 2f 22 20 2b 20 53 65 74 74 69 6e 67 73 5b  "//" + Settings[
0d70: 6d 61 72 6b 65 72 54 79 70 65 5d 20 2b 20 22 20  markerType] + " 
0d80: 22 20 2b 20 67 65 74 53 69 67 6e 61 74 75 72 65  " + getSignature
0d90: 28 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69  ();..}....functi
0da0: 6f 6e 20 67 65 74 45 6e 64 43 6f 6d 6d 65 6e 74  on getEndComment
0db0: 28 29 20 7b 0d 0a 0d 0a 20 20 20 20 76 61 72 20  () {....    var 
0dc0: 65 6e 64 43 6f 6d 6d 65 6e 74 20 3d 20 22 2f 2f  endComment = "//
0dd0: 22 20 2b 20 53 65 74 74 69 6e 67 73 5b 22 d0 97  " + Settings["..
0de0: d0 b0 d0 ba d1 80 d1 8b d0 b2 d0 b0 d1 8e d1 89  ................
0df0: d0 b8 d0 b9 d0 9c d0 b0 d1 80 d0 ba d0 b5 d1 80  ................
0e00: d0 91 d0 bb d0 be d0 ba d0 b0 22 5d 3b 0d 0a 20  .........."];.. 
0e10: 20 20 20 0d 0a 20 20 20 20 69 66 20 28 21 53 65     ..    if (!Se
0e20: 74 74 69 6e 67 73 5b 22 d0 9d d0 b5 d0 94 d0 be  ttings["........
0e30: d0 b1 d0 b0 d0 b2 d0 bb d1 8f d1 82 d1 8c d0 a1  ................
0e40: d0 b8 d0 b3 d0 bd d0 b0 d1 82 d1 83 d1 80 d1 83  ................
0e50: d0 9f d0 be d1 81 d0 bb d0 b5 d0 97 d0 b0 d0 ba  ................
0e60: d1 80 d1 8b d0 b2 d0 b0 d1 8e d1 89 d0 b5 d0 b3  ................
0e70: d0 be d0 9c d0 b0 d1 80 d0 ba d0 b5 d1 80 d0 b0  ................
0e80: 22 5d 29 0d 0a 20 20 20 20 20 20 20 20 65 6e 64  "])..        end
0e90: 43 6f 6d 6d 65 6e 74 20 2b 3d 20 22 20 22 20 2b  Comment += " " +
0ea0: 20 67 65 74 53 69 67 6e 61 74 75 72 65 28 29 3b   getSignature();
0eb0: 0d 0a 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 65  ....    return e
0ec0: 6e 64 43 6f 6d 6d 65 6e 74 3b 0d 0a 7d 0d 0a 0d  ndComment;..}...
0ed0: 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 4c 69  .function markLi
0ee0: 6e 65 28 6d 61 72 6b 65 72 54 79 70 65 2c 20 6c  ne(markerType, l
0ef0: 69 6e 65 29 20 7b 0d 0a 0d 0a 20 20 20 20 2f 2f  ine) {....    //
0f00: 20 d0 a3 d0 b4 d0 b0 d0 bb d0 b8 d0 bc 20 d0 ba   ............ ..
0f10: d0 be d0 bd d1 86 d0 b5 d0 b2 d1 8b d0 b5 20 d0  .............. .
0f20: bf d1 80 d0 be d0 b1 d0 b5 d0 bb d1 8b 20 d0 b2  ............. ..
0f30: 20 d1 81 d1 82 d1 80 d0 be d0 ba d0 b5 2e 0d 0a   ...............
0f40: 20 20 20 20 76 61 72 20 63 6f 64 65 20 3d 20 6c      var code = l
0f50: 69 6e 65 2e 72 65 70 6c 61 63 65 28 2f 28 2e 2b  ine.replace(/(.+
0f60: 3f 29 5c 73 2a 24 2f 2c 20 22 24 31 22 29 3b 0d  ?)\s*$/, "$1");.
0f70: 0a 20 20 20 20 0d 0a 20 20 20 20 73 77 69 74 63  .    ..    switc
0f80: 68 20 28 6d 61 72 6b 65 72 54 79 70 65 29 20 0d  h (markerType) .
0f90: 0a 20 20 20 20 7b 0d 0a 20 20 20 20 63 61 73 65  .    {..    case
0fa0: 20 4d 61 72 6b 65 72 54 79 70 65 73 2e 41 44 44   MarkerTypes.ADD
0fb0: 45 44 3a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20  ED:..        // 
0fc0: d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 bb d1 8f d0 b5  ................
0fd0: d0 bc 20 d0 b2 20 d1 85 d0 b2 d0 be d1 81 d1 82  .. .. ..........
0fe0: 20 d0 bf d0 be d0 b4 d0 bf d0 b8 d1 81 d1 8c 2e   ...............
0ff0: 0d 0a 20 20 20 20 20 20 20 20 63 6f 64 65 20 3d  ..        code =
1000: 20 63 6f 64 65 20 2b 20 67 65 74 53 74 61 72 74   code + getStart
1010: 43 6f 6d 6d 65 6e 74 28 6d 61 72 6b 65 72 54 79  Comment(markerTy
1020: 70 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 62 72  pe);..        br
1030: 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  eak;..        ..
1040: 20 20 20 20 63 61 73 65 20 4d 61 72 6b 65 72 54      case MarkerT
1050: 79 70 65 73 2e 52 45 4d 4f 56 45 44 3a 0d 0a 20  ypes.REMOVED:.. 
1060: 20 20 20 20 20 20 20 2f 2f 20 d0 97 d0 b0 d0 ba         // ......
1070: d0 be d0 bc d0 bc d0 b5 d0 bd d1 82 d0 b8 d1 80  ................
1080: d1 83 d0 b5 d0 bc 20 d1 81 d1 82 d1 80 d0 be d0  ...... .........
1090: ba d1 83 20 d0 b8 20 d0 b2 20 d1 85 d0 b2 d0 be  ... .. .. ......
10a0: d1 81 d1 82 20 d0 b4 d0 be d0 b1 d0 b0 d0 b2 d0  .... ...........
10b0: b8 d0 bc 20 d0 bf d0 be d0 b4 d0 bf d0 b8 d1 81  ... ............
10c0: d1 8c 2e 0d 0a 20 20 20 20 20 20 20 20 63 6f 64  .....        cod
10d0: 65 20 3d 20 63 6f 6d 6d 65 6e 74 4c 69 6e 65 28  e = commentLine(
10e0: 63 6f 64 65 29 20 2b 20 67 65 74 53 74 61 72 74  code) + getStart
10f0: 43 6f 6d 6d 65 6e 74 28 6d 61 72 6b 65 72 54 79  Comment(markerTy
1100: 70 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 62 72  pe);..        br
1110: 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 0d 0a  eak;..        ..
1120: 20 20 20 20 63 61 73 65 20 4d 61 72 6b 65 72 54      case MarkerT
1130: 79 70 65 73 2e 43 48 41 4e 47 45 44 3a 0d 0a 20  ypes.CHANGED:.. 
1140: 20 20 20 20 20 20 20 2f 2f 20 d0 9c d0 b0 d1 80         // ......
1150: d0 ba d0 b5 d1 80 20 22 d0 98 d0 b7 d0 bc d0 b5  ...... "........
1160: d0 bd d0 b5 d0 bd d0 be 22 20 d0 b4 d0 bb d1 8f  ........" ......
1170: 20 d0 be d0 b4 d0 bd d0 be d1 81 d1 82 d1 80 d0   ...............
1180: be d1 87 d0 bd d0 b8 d0 ba d0 b0 20 d1 82 d0 b0  ........... ....
1190: d0 ba d0 be d0 b9 20 d0 b6 d0 b5 20 d0 ba d0 b0  ...... .... ....
11a0: d0 ba 20 d0 b8 20 d0 b4 d0 bb d1 8f 20 d0 b1 d0  .. .. ...... ...
11b0: bb d0 be d0 ba d0 b0 2e 0d 0a 20 20 20 20 20 20  ..........      
11c0: 20 20 76 61 72 20 69 6e 64 65 6e 74 20 3d 20 53    var indent = S
11d0: 74 72 69 6e 67 55 74 69 6c 73 2e 67 65 74 49 6e  tringUtils.getIn
11e0: 64 65 6e 74 28 63 6f 64 65 29 3b 0d 0a 20 20 20  dent(code);..   
11f0: 20 20 20 20 20 63 6f 64 65 20 3d 20 69 6e 64 65       code = inde
1200: 6e 74 20 2b 20 67 65 74 53 74 61 72 74 43 6f 6d  nt + getStartCom
1210: 6d 65 6e 74 28 6d 61 72 6b 65 72 54 79 70 65 29  ment(markerType)
1220: 20 2b 20 22 5c 6e 22 3b 0d 0a 20 20 20 20 20 20   + "\n";..      
1230: 20 20 63 6f 64 65 20 2b 3d 20 70 72 65 70 61 72    code += prepar
1240: 65 43 68 61 6e 67 65 64 42 6c 6f 63 6b 28 6c 69  eChangedBlock(li
1250: 6e 65 2c 20 69 6e 64 65 6e 74 29 20 2b 20 22 5c  ne, indent) + "\
1260: 6e 22 3b 20 20 20 20 20 20 20 20 20 20 20 20 0d  n";            .
1270: 0a 20 20 20 20 20 20 20 20 63 6f 64 65 20 2b 3d  .        code +=
1280: 20 69 6e 64 65 6e 74 20 2b 20 67 65 74 45 6e 64   indent + getEnd
1290: 43 6f 6d 6d 65 6e 74 28 29 20 2b 20 22 5c 6e 22  Comment() + "\n"
12a0: 3b 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 20  ;            .. 
12b0: 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20         break;.. 
12c0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 0d 0a     }..        ..
12d0: 20 20 20 20 72 65 74 75 72 6e 20 63 6f 64 65 3b      return code;
12e0: 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20  ..}....function 
12f0: 6d 61 72 6b 42 6c 6f 63 6b 28 6d 61 72 6b 65 72  markBlock(marker
1300: 54 79 70 65 2c 20 62 6c 6f 63 6b 29 20 7b 0d 0a  Type, block) {..
1310: 20 20 20 20 0d 0a 20 20 20 20 76 61 72 20 69 6e      ..    var in
1320: 64 65 6e 74 20 3d 20 53 74 72 69 6e 67 55 74 69  dent = StringUti
1330: 6c 73 2e 67 65 74 49 6e 64 65 6e 74 28 62 6c 6f  ls.getIndent(blo
1340: 63 6b 29 3b 0d 0a 20 20 20 20 76 61 72 20 63 6f  ck);..    var co
1350: 64 65 20 3d 20 69 6e 64 65 6e 74 20 2b 20 67 65  de = indent + ge
1360: 74 53 74 61 72 74 43 6f 6d 6d 65 6e 74 28 6d 61  tStartComment(ma
1370: 72 6b 65 72 54 79 70 65 29 20 2b 20 22 5c 6e 22  rkerType) + "\n"
1380: 3b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 73 77 69  ;..    ..    swi
1390: 74 63 68 20 28 6d 61 72 6b 65 72 54 79 70 65 29  tch (markerType)
13a0: 20 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 63 61   ..    {..    ca
13b0: 73 65 20 4d 61 72 6b 65 72 54 79 70 65 73 2e 41  se MarkerTypes.A
13c0: 44 44 45 44 3a 0d 0a 20 20 20 20 20 20 20 20 63  DDED:..        c
13d0: 6f 64 65 20 2b 3d 20 62 6c 6f 63 6b 20 2b 20 22  ode += block + "
13e0: 5c 6e 22 20 20 20 20 0d 0a 20 20 20 20 20 20 20  \n"    ..       
13f0: 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20   break;..       
1400: 20 0d 0a 20 20 20 20 63 61 73 65 20 4d 61 72 6b   ..    case Mark
1410: 65 72 54 79 70 65 73 2e 52 45 4d 4f 56 45 44 3a  erTypes.REMOVED:
1420: 0d 0a 20 20 20 20 20 20 20 20 63 6f 64 65 20 2b  ..        code +
1430: 3d 20 63 6f 6d 6d 65 6e 74 42 6c 6f 63 6b 28 62  = commentBlock(b
1440: 6c 6f 63 6b 2c 20 69 6e 64 65 6e 74 29 20 2b 20  lock, indent) + 
1450: 22 5c 6e 22 3b 0d 0a 20 20 20 20 20 20 20 20 62  "\n";..        b
1460: 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 0d  reak;..        .
1470: 0a 20 20 20 20 63 61 73 65 20 4d 61 72 6b 65 72  .    case Marker
1480: 54 79 70 65 73 2e 43 48 41 4e 47 45 44 3a 0d 0a  Types.CHANGED:..
1490: 20 20 20 20 20 20 20 20 63 6f 64 65 20 2b 3d 20          code += 
14a0: 70 72 65 70 61 72 65 43 68 61 6e 67 65 64 42 6c  prepareChangedBl
14b0: 6f 63 6b 28 62 6c 6f 63 6b 2c 20 69 6e 64 65 6e  ock(block, inden
14c0: 74 29 20 2b 20 22 5c 6e 22 0d 0a 20 20 20 20 20  t) + "\n"..     
14d0: 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 7d     break;..    }
14e0: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 2f 2f d0 9a  ..    ..    //..
14f0: d0 be d0 bc d0 bc d0 b5 d0 bd d1 82 d0 b0 d1 80  ................
1500: d0 b8 d0 b9 20 d0 be d0 ba d0 be d0 bd d1 87 d0  .... ...........
1510: b0 d0 bd d0 b8 d1 8f 20 d0 b8 d0 b7 d0 bc d0 b5  ....... ........
1520: d0 bd d0 b5 d0 bd d0 b8 d0 b9 2e 0d 0a 20 20 20  .............   
1530: 20 63 6f 64 65 20 2b 3d 20 69 6e 64 65 6e 74 20   code += indent 
1540: 2b 20 67 65 74 45 6e 64 43 6f 6d 6d 65 6e 74 28  + getEndComment(
1550: 29 3b 0d 0a 20 20 20 0d 0a 20 20 20 20 72 65 74  );..   ..    ret
1560: 75 72 6e 20 63 6f 64 65 3b 0d 0a 7d 0d 0a 0d 0a  urn code;..}....
1570: 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 61 72 65  function prepare
1580: 43 68 61 6e 67 65 64 42 6c 6f 63 6b 28 62 6c 6f  ChangedBlock(blo
1590: 63 6b 2c 20 69 6e 64 65 6e 74 29 20 7b 0d 0a 20  ck, indent) {.. 
15a0: 20 20 20 0d 0a 20 20 20 20 76 61 72 20 63 6f 64     ..    var cod
15b0: 65 20 3d 20 27 27 3b 20 20 20 20 0d 0a 20 20 20  e = '';    ..   
15c0: 20 69 66 20 28 21 53 65 74 74 69 6e 67 73 5b 22   if (!Settings["
15d0: d0 9d d0 b5 d0 9e d1 81 d1 82 d0 b0 d0 b2 d0 bb  ................
15e0: d1 8f d1 82 d1 8c d0 9a d0 be d0 bf d0 b8 d1 8e  ................
15f0: d0 9a d0 be d0 b4 d0 b0 d0 9f d1 80 d0 b8 d0 97  ................
1600: d0 b0 d0 bc d0 b5 d0 bd d0 b5 22 5d 29 20 0d 0a  .........."]) ..
1610: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 63      {..        c
1620: 6f 64 65 20 2b 3d 20 63 6f 6d 6d 65 6e 74 42 6c  ode += commentBl
1630: 6f 63 6b 28 62 6c 6f 63 6b 2c 20 69 6e 64 65 6e  ock(block, inden
1640: 74 29 20 2b 20 22 5c 6e 22 3b 0d 0a 20 20 20 20  t) + "\n";..    
1650: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 69 66      ..        if
1660: 20 28 53 65 74 74 69 6e 67 73 5b 22 d0 a0 d0 b0   (Settings["....
1670: d0 b7 d0 b4 d0 b5 d0 bb d0 b8 d1 82 d0 b5 d0 bb  ................
1680: d1 8c d0 9a d0 be d0 b4 d0 b0 d0 9f d1 80 d0 b8  ................
1690: d0 97 d0 b0 d0 bc d0 b5 d0 bd d0 b5 22 5d 29 0d  ............"]).
16a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 64  .            cod
16b0: 65 20 2b 3d 20 69 6e 64 65 6e 74 20 2b 20 22 2f  e += indent + "/
16c0: 2f 22 20 2b 20 53 65 74 74 69 6e 67 73 5b 22 d0  /" + Settings[".
16d0: a0 d0 b0 d0 b7 d0 b4 d0 b5 d0 bb d0 b8 d1 82 d0  ................
16e0: b5 d0 bb d1 8c d0 9a d0 be d0 b4 d0 b0 d0 9f d1  ................
16f0: 80 d0 b8 d0 97 d0 b0 d0 bc d0 b5 d0 bd d0 b5 22  ..............."
1700: 5d 20 2b 20 22 5c 6e 22 3b 20 20 20 20 20 20 20  ] + "\n";       
1710: 20 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 7d           ..    }
1720: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 63 6f 64 65  ..    ..    code
1730: 20 2b 3d 20 62 6c 6f 63 6b 3b 0d 0a 20 20 20 20   += block;..    
1740: 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 63 6f 64  ..    return cod
1750: 65 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f  e;..}....functio
1760: 6e 20 63 6f 6d 6d 65 6e 74 4c 69 6e 65 28 6c 69  n commentLine(li
1770: 6e 65 2c 20 69 6e 64 65 6e 74 29 20 7b 0d 0a 20  ne, indent) {.. 
1780: 20 20 20 2f 2f 20 d0 9a d0 be d0 bc d0 bc d0 b5     // ..........
1790: d0 bd d1 82 d0 b0 d1 80 d0 b8 d0 b9 20 d0 bf d0  ............ ...
17a0: be d1 81 d1 82 d0 b0 d0 b2 d0 b8 d0 bc 20 d0 bf  ............. ..
17b0: d0 be d1 81 d0 bb d0 b5 20 d0 be d1 82 d1 81 d1  ........ .......
17c0: 82 d1 83 d0 bf d0 b0 2e 0d 0a 20 20 20 20 69 66  ..........    if
17d0: 20 28 21 69 6e 64 65 6e 74 29 20 0d 0a 20 20 20   (!indent) ..   
17e0: 20 20 20 20 20 69 6e 64 65 6e 74 20 3d 20 27 5c       indent = '\
17f0: 5c 73 2b 27 3b 0d 0a 20 20 20 20 72 65 74 75 72  \s+';..    retur
1800: 6e 20 6c 69 6e 65 2e 72 65 70 6c 61 63 65 28 6e  n line.replace(n
1810: 65 77 20 52 65 67 45 78 70 28 27 5e 28 27 20 2b  ew RegExp('^(' +
1820: 20 69 6e 64 65 6e 74 20 2b 20 27 29 28 2e 2a 29   indent + ')(.*)
1830: 27 29 2c 20 22 24 31 2f 2f 24 32 22 29 3b 0d 0a  '), "$1//$2");..
1840: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 63 6f  }....function co
1850: 6d 6d 65 6e 74 42 6c 6f 63 6b 28 62 6c 6f 63 6b  mmentBlock(block
1860: 2c 20 69 6e 64 65 6e 74 29 20 7b 0d 0a 20 20 20  , indent) {..   
1870: 20 76 61 72 20 6c 69 6e 65 73 20 3d 20 53 74 72   var lines = Str
1880: 69 6e 67 55 74 69 6c 73 2e 74 6f 4c 69 6e 65 73  ingUtils.toLines
1890: 28 62 6c 6f 63 6b 29 3b 0d 0a 20 20 20 20 66 6f  (block);..    fo
18a0: 72 28 76 61 72 20 69 3d 30 3b 20 69 3c 6c 69 6e  r(var i=0; i<lin
18b0: 65 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 0d  es.length; i++).
18c0: 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 73 5b 69  .        lines[i
18d0: 5d 20 3d 20 63 6f 6d 6d 65 6e 74 4c 69 6e 65 28  ] = commentLine(
18e0: 6c 69 6e 65 73 5b 69 5d 2c 20 69 6e 64 65 6e 74  lines[i], indent
18f0: 29 3b 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 53  );..    return S
1900: 74 72 69 6e 67 55 74 69 6c 73 2e 66 72 6f 6d 4c  tringUtils.fromL
1910: 69 6e 65 73 28 6c 69 6e 65 73 29 3b 0d 0a 7d 0d  ines(lines);..}.
1920: 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 65 74 53  ...function getS
1930: 65 74 74 69 6e 67 73 28 29 20 7b 0d 0a 0d 0a 20  ettings() {.... 
1940: 20 20 20 76 61 72 20 73 20 3d 20 76 38 4e 65 77     var s = v8New
1950: 28 22 d0 a1 d1 82 d1 80 d1 83 d0 ba d1 82 d1 83  ("..............
1960: d1 80 d0 b0 22 29 3b 0d 0a 20 20 20 20 0d 0a 20  ....");..    .. 
1970: 20 20 20 2f 2a 20 d0 9d d0 b0 d1 81 d1 82 d1 80     /* ..........
1980: d0 be d0 b9 d0 ba d0 b8 20 d0 b4 d0 bb d1 8f 20  ........ ...... 
1990: d0 bf d0 be d0 b4 d0 bf d0 b8 d1 81 d0 b8 2e 20  ............... 
19a0: d0 9e d0 b1 d1 89 d0 b8 d0 b9 20 d1 84 d0 be d1  .......... .....
19b0: 80 d0 bc d0 b0 d1 82 20 d0 bf d0 be d0 b4 d0 bf  ....... ........
19c0: d0 b8 d1 81 d0 b8 3a 0d 0a 20 20 20 20 20 20 20  ......:..       
19d0: 0d 0a 20 20 20 20 20 20 20 2f 2f 3c d0 9c d0 b0  ..       //<....
19e0: d1 80 d0 ba d0 b5 d1 80 3e 20 3c d0 9f d0 be d0  ........> <.....
19f0: b4 d0 bf d0 b8 d1 81 d1 8c 3e 0d 0a 20 20 20 20  .........>..    
1a00: 20 20 20 2e 2e 2e 20 d1 81 d0 be d0 b4 d0 b5 d1     ... .........
1a10: 80 d0 b6 d0 b8 d0 bc d0 be d0 b5 20 d0 b1 d0 bb  ........... ....
1a20: d0 be d0 ba d0 b0 20 2e 2e 2e 0d 0a 20 20 20 20  ...... .....    
1a30: 20 20 20 2f 2f 3c d0 97 d0 b0 d0 ba d1 80 d1 8b     //<..........
1a40: d0 b2 d0 b0 d1 8e d1 89 d0 b8 d0 b9 d0 9c d0 b0  ................
1a50: d1 80 d0 ba d0 b5 d1 80 d0 91 d0 bb d0 be d0 ba  ................
1a60: d0 b0 3e 20 3c d0 9f d0 be d0 b4 d0 bf d0 b8 d1  ..> <...........
1a70: 81 d1 8c 3e 0d 0a 20 20 20 20 20 20 20 0d 0a 20  ...>..       .. 
1a80: 20 20 20 d0 94 d0 bb d1 8f 20 d0 be d0 b4 d0 bd     ...... ......
1a90: d0 be d1 81 d1 82 d1 80 d0 be d1 87 d0 bd d0 b8  ................
1aa0: d0 ba d0 b0 20 d0 bd d0 b5 20 d0 b8 d1 81 d0 bf  .... .... ......
1ab0: d0 be d0 bb d1 8c d0 b7 d1 83 d0 b5 d1 82 d1 81  ................
1ac0: d1 8f 20 d0 b7 d0 b0 d0 b2 d0 b5 d1 80 d1 88 d0  .. .............
1ad0: b0 d1 8e d1 89 d0 b0 d1 8f 20 d1 87 d0 b0 d1 81  ......... ......
1ae0: d1 82 d1 8c 20 d0 ba d0 be d0 bc d0 bc d0 b5 d0  .... ...........
1af0: bd d1 82 d0 b0 d1 80 d0 b8 d1 8f 2c 20 0d 0a 20  ..........., .. 
1b00: 20 20 20 d1 82 2e d0 ba 2e 20 d0 be d0 b4 d0 bd     ...... ......
1b10: d0 be d1 81 d1 82 d1 80 d0 be d1 87 d0 bd d0 b8  ................
1b20: d0 ba 20 d0 b4 d0 be d0 b1 d0 b0 d0 b2 d0 bb d1  .. .............
1b30: 8f d0 b5 d1 82 d1 81 d1 8f 20 d0 b2 20 d0 ba d0  ......... .. ...
1b40: be d0 bd d0 b5 d1 86 20 d1 81 d1 82 d1 80 d0 be  ....... ........
1b50: d0 ba d0 b8 2e 20 2a 2f 0d 0a 20 20 20 20 0d 0a  ..... */..    ..
1b60: 20 20 20 20 2f 2f 20 d0 9d d0 b0 d1 81 d1 82 d1      // .........
1b70: 80 d0 be d0 b9 d0 ba d0 b8 20 d0 bf d0 be 20 d1  ......... .... .
1b80: 83 d0 bc d0 be d0 bb d1 87 d0 b0 d0 bd d0 b8 d1  ................
1b90: 8e 2e 0d 0a 20 20 20 20 73 2e d0 92 d1 81 d1 82  ....    s.......
1ba0: d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 22 d0 a4 d0 be  ..........("....
1bb0: d1 80 d0 bc d0 b0 d1 82 d0 9f d0 be d0 b4 d0 bf  ................
1bc0: d0 b8 d1 81 d0 b8 22 2c 20 22 25 d0 98 d0 bc d1  ......", "%.....
1bd0: 8f d0 9f d0 be d0 bb d1 8c d0 b7 d0 be d0 b2 d0  ................
1be0: b0 d1 82 d0 b5 d0 bb d1 8f d0 9e d0 a1 25 20 25  .............% %
1bf0: d0 94 d0 b0 d1 82 d0 b0 d0 92 d1 80 d0 b5 d0 bc  ................
1c00: d1 8f 23 d0 94 d0 a4 3d 64 64 2e 4d 4d 2e 79 79  ..#....=dd.MM.yy
1c10: 79 79 25 22 29 3b 0d 0a 20 20 20 20 73 2e d0 92  yy%");..    s...
1c20: d1 81 d1 82 d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 22  ..............("
1c30: d0 9c d0 b0 d1 80 d0 ba d0 b5 d1 80 d0 94 d0 be  ................
1c40: d0 b1 d0 b0 d0 b2 d0 bb d0 b5 d0 bd d0 be 22 2c  ..............",
1c50: 20 22 d0 94 d0 be d0 b1 d0 b0 d0 b2 d0 bb d0 b5   "..............
1c60: d0 bd d0 be 3a 22 29 3b 0d 0a 20 20 20 20 73 2e  ....:");..    s.
1c70: d0 92 d1 81 d1 82 d0 b0 d0 b2 d0 b8 d1 82 d1 8c  ................
1c80: 28 22 d0 9c d0 b0 d1 80 d0 ba d0 b5 d1 80 d0 a3  ("..............
1c90: d0 b4 d0 b0 d0 bb d0 b5 d0 bd d0 be 22 2c 20 22  ............", "
1ca0: d0 a3 d0 b4 d0 b0 d0 bb d0 b5 d0 bd d0 be 3a 22  ..............:"
1cb0: 29 3b 0d 0a 20 20 20 20 73 2e d0 92 d1 81 d1 82  );..    s.......
1cc0: d0 b0 d0 b2 d0 b8 d1 82 d1 8c 28 22 d0 9c d0 b0  ..........("....
1cd0: d1 80 d0 ba d0 b5 d1 80 d0 98 d0 b7 d0 bc d0 b5  ................
1ce0: d0 bd d0 b5 d0 bd d0 be 22 2c 20 22 d0 98 d0 b7  ........", "....
1cf0: d0 bc d0 b5 d0 bd d0 b5 d0 bd d0 be 3a 22 29 3b  ............:");
1d00: 0d 0a 20 20 20 20 73 2e d0 92 d1 81 d1 82 d0 b0  ..    s.........
1d10: d0 b2 d0 b8 d1 82 d1 8c 28 22 d0 97 d0 b0 d0 ba  ........("......
1d20: d1 80 d1 8b d0 b2 d0 b0 d1 8e d1 89 d0 b8 d0 b9  ................
1d30: d0 9c d0 b0 d1 80 d0 ba d0 b5 d1 80 d0 91 d0 bb  ................
1d40: d0 be d0 ba d0 b0 22 2c 20 22 2f 22 29 3b 0d 0a  ......", "/");..
1d50: 20 20 20 20 73 2e d0 92 d1 81 d1 82 d0 b0 d0 b2      s...........
1d60: d0 b8 d1 82 d1 8c 28 22 d0 a0 d0 b0 d0 b7 d0 b4  ......("........
1d70: d0 b5 d0 bb d0 b8 d1 82 d0 b5 d0 bb d1 8c d0 9a  ................
1d80: d0 be d0 b4 d0 b0 d0 9f d1 80 d0 b8 d0 97 d0 b0  ................
1d90: d0 bc d0 b5 d0 bd d0 b5 22 2c 20 22 2d 2d 2d 2d  ........", "----
1da0: 20 d0 97 d0 b0 d0 bc d0 b5 d0 bd d0 b5 d0 bd d0   ...............
1db0: be 20 d0 bd d0 b0 3a 20 2d 2d 2d 2d 22 29 3b 20  . ....: ----"); 
1dc0: 20 20 20 0d 0a 20 20 20 20 2f 2f 20 d0 94 d0 be     ..    // ....
1dd0: d0 bf d0 be d0 bb d0 bd d0 b8 d1 82 d0 b5 d0 bb  ................
1de0: d1 8c d0 bd d1 8b d0 b5 20 d0 bd d0 b0 d1 81 d1  ........ .......
1df0: 82 d1 80 d0 be d0 b9 d0 ba d0 b8 3a 0d 0a 20 20  ...........:..  
1e00: 20 20 73 2e d0 92 d1 81 d1 82 d0 b0 d0 b2 d0 b8    s.............
1e10: d1 82 d1 8c 28 22 d0 9d d0 b5 d0 9e d1 81 d1 82  ....("..........
1e20: d0 b0 d0 b2 d0 bb d1 8f d1 82 d1 8c d0 9a d0 be  ................
1e30: d0 bf d0 b8 d1 8e d0 9a d0 be d0 b4 d0 b0 d0 9f  ................
1e40: d1 80 d0 b8 d0 97 d0 b0 d0 bc d0 b5 d0 bd d0 b5  ................
1e50: 22 2c 20 66 61 6c 73 65 29 3b 0d 0a 20 20 20 20  ", false);..    
1e60: 73 2e d0 92 d1 81 d1 82 d0 b0 d0 b2 d0 b8 d1 82  s...............
1e70: d1 8c 28 22 d0 9d d0 b5 d0 94 d0 be d0 b1 d0 b0  ..("............
1e80: d0 b2 d0 bb d1 8f d1 82 d1 8c d0 a1 d0 b8 d0 b3  ................
1e90: d0 bd d0 b0 d1 82 d1 83 d1 80 d1 83 d0 9f d0 be  ................
1ea0: d1 81 d0 bb d0 b5 d0 97 d0 b0 d0 ba d1 80 d1 8b  ................
1eb0: d0 b2 d0 b0 d1 8e d1 89 d0 b5 d0 b3 d0 be d0 9c  ................
1ec0: d0 b0 d1 80 d0 ba d0 b5 d1 80 d0 b0 22 2c 20 66  ............", f
1ed0: 61 6c 73 65 29 3b 0d 0a 20 20 20 20 0d 0a 20 20  alse);..    ..  
1ee0: 20 20 70 72 6f 66 69 6c 65 52 6f 6f 74 2e 63 72    profileRoot.cr
1ef0: 65 61 74 65 56 61 6c 75 65 28 70 66 6c 41 75 74  eateValue(pflAut
1f00: 68 6f 72 4a 73 2c 20 73 2c 20 70 66 6c 53 6e 65  horJs, s, pflSne
1f10: 67 6f 70 61 74 29 20 20 20 20 0d 0a 20 20 20 20  gopat)    ..    
1f20: 73 20 3d 20 70 72 6f 66 69 6c 65 52 6f 6f 74 2e  s = profileRoot.
1f30: 67 65 74 56 61 6c 75 65 28 70 66 6c 41 75 74 68  getValue(pflAuth
1f40: 6f 72 4a 73 29 3b 0d 0a 20 20 20 20 0d 0a 20 20  orJs);..    ..  
1f50: 20 20 72 65 74 75 72 6e 20 73 3b 0d 0a 7d 0d 0a    return s;..}..
1f60: 0d 0a 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65  ..function parse
1f70: 54 70 6c 28 29 20 7b 0d 0a 20 20 20 20 76 61 72  Tpl() {..    var
1f80: 20 61 20 3d 20 5b 5d 3b 20 20 20 20 0d 0a 20 20   a = [];    ..  
1f90: 20 20 66 6f 72 20 28 76 61 72 20 69 3d 30 3b 20    for (var i=0; 
1fa0: 69 3c 61 72 67 75 6d 65 6e 74 73 2e 6c 65 6e 67  i<arguments.leng
1fb0: 74 68 3b 20 20 69 2b 2b 29 0d 0a 20 20 20 20 20  th;  i++)..     
1fc0: 20 20 20 61 2e 70 75 73 68 28 61 72 67 75 6d 65     a.push(argume
1fd0: 6e 74 73 5b 69 5d 29 3b 20 20 20 20 20 20 20 20  nts[i]);        
1fe0: 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 6e 65  ..    return sne
1ff0: 67 6f 70 61 74 2e 70 61 72 73 65 54 65 6d 70 6c  gopat.parseTempl
2000: 61 74 65 53 74 72 69 6e 67 28 27 3c 3f 22 22 2c  ateString('<?"",
2010: 20 27 20 2b 20 61 2e 6a 6f 69 6e 28 27 2c 27 29   ' + a.join(',')
2020: 20 2b 20 27 3e 27 29 3b 0d 0a 7d 0d 0a 0d 0a 66   + '>');..}....f
2030: 75 6e 63 74 69 6f 6e 20 61 64 64 46 6f 72 6d 61  unction addForma
2040: 74 53 74 72 69 6e 67 50 61 72 61 6d 28 6e 61 6d  tStringParam(nam
2050: 65 2c 20 63 6f 64 65 29 20 7b 0d 0a 20 20 20 20  e, code) {..    
2060: 76 61 72 20 70 61 72 61 6d 47 65 74 74 65 72 20  var paramGetter 
2070: 3d 20 66 75 6e 63 74 69 6f 6e 20 28 70 29 20 7b  = function (p) {
2080: 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e  ..        return
2090: 20 65 76 61 6c 28 63 6f 64 65 29 3b 0d 0a 20 20   eval(code);..  
20a0: 20 20 7d 0d 0a 20 20 20 20 4d 61 72 6b 65 72 46    }..    MarkerF
20b0: 6f 72 6d 61 74 53 74 72 69 6e 67 50 61 72 61 6d  ormatStringParam
20c0: 65 74 65 72 73 5b 6e 61 6d 65 5d 20 3d 20 70 61  eters[name] = pa
20d0: 72 61 6d 47 65 74 74 65 72 3b 0d 0a 7d 0d 0a 0d  ramGetter;..}...
20e0: 0a 66 75 6e 63 74 69 6f 6e 20 61 64 64 54 6f 53  .function addToS
20f0: 69 67 6e 61 74 75 72 65 46 6f 72 6d 61 74 28 66  ignatureFormat(f
2100: 6f 72 6d 2c 20 70 61 72 61 6d 4e 61 6d 65 29 20  orm, paramName) 
2110: 7b 0d 0a 20 20 20 20 69 66 20 28 21 66 6f 72 6d  {..    if (!form
2120: 2e d0 a4 d0 be d1 80 d0 bc d0 b0 d1 82 d0 9f d0  ................
2130: be d0 b4 d0 bf d0 b8 d1 81 d0 b8 2e 6d 61 74 63  ............matc
2140: 68 28 2f 5e 5c 73 2b 24 2f 29 29 0d 0a 20 20 20  h(/^\s+$/))..   
2150: 20 20 20 20 20 66 6f 72 6d 2e d0 a4 d0 be d1 80       form.......
2160: d0 bc d0 b0 d1 82 d0 9f d0 be d0 b4 d0 bf d0 b8  ................
2170: d1 81 d0 b8 20 2b 3d 20 27 20 27 3b 0d 0a 20 20  .... += ' ';..  
2180: 20 20 66 6f 72 6d 2e d0 a4 d0 be d1 80 d0 bc d0    form..........
2190: b0 d1 82 d0 9f d0 be d0 b4 d0 bf d0 b8 d1 81 d0  ................
21a0: b8 20 2b 3d 20 27 25 27 20 2b 20 70 61 72 61 6d  . += '%' + param
21b0: 4e 61 6d 65 20 2b 20 27 25 27 3b 0d 0a 7d 0d 0a  Name + '%';..}..
21c0: 0d 0a 2f 2f 7b 20 d0 9e d0 b1 d1 80 d0 b0 d0 b1  ..//{ ..........
21d0: d0 be d1 82 d1 87 d0 b8 d0 ba d0 b8 20 d1 8d d0  ............ ...
21e0: bb d0 b5 d0 bc d0 b5 d0 bd d1 82 d0 be d0 b2 20  ............... 
21f0: d1 83 d0 bf d1 80 d0 b0 d0 b2 d0 bb d0 b5 d0 bd  ................
2200: d0 b8 d1 8f 20 d1 84 d0 be d1 80 d0 bc d1 8b 0d  .... ...........
2210: 0a 66 75 6e 63 74 69 6f 6e 20 d0 9f d1 80 d0 b8  .function ......
2220: d0 9e d1 82 d0 ba d1 80 d1 8b d1 82 d0 b8 d0 b8  ................
2230: 20 28 29 20 7b 0d 0a 20 20 20 20 d0 97 d0 b0 d0   () {..    .....
2240: bf d0 be d0 bb d0 bd d0 b8 d1 82 d1 8c d0 97 d0  ................
2250: bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d1 8f d0 a1 d0  ................
2260: b2 d0 be d0 b9 d1 81 d1 82 d0 b2 28 66 6f 72 6d  ...........(form
2270: 2c 20 53 65 74 74 69 6e 67 73 29 3b 0d 0a 7d 0d  , Settings);..}.
2280: 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 d0 9a d0 bd  ...function ....
2290: d0 be d0 bf d0 ba d0 b0 d0 9e d0 ba d0 9d d0 b0  ................
22a0: d0 b6 d0 b0 d1 82 d0 b8 d0 b5 20 28 d0 ad d0 bb  .......... (....
22b0: d0 b5 d0 bc d0 b5 d0 bd d1 82 29 20 7b 0d 0a 20  ..........) {.. 
22c0: 20 20 20 d0 97 d0 b0 d0 bf d0 be d0 bb d0 bd d0     .............
22d0: b8 d1 82 d1 8c d0 97 d0 bd d0 b0 d1 87 d0 b5 d0  ................
22e0: bd d0 b8 d1 8f d0 a1 d0 b2 d0 be d0 b9 d1 81 d1  ................
22f0: 82 d0 b2 28 53 65 74 74 69 6e 67 73 2c 20 66 6f  ...(Settings, fo
2300: 72 6d 29 3b 0d 0a 20 20 20 20 70 72 6f 66 69 6c  rm);..    profil
2310: 65 52 6f 6f 74 2e 73 65 74 56 61 6c 75 65 28 70  eRoot.setValue(p
2320: 66 6c 41 75 74 68 6f 72 4a 73 2c 20 53 65 74 74  flAuthorJs, Sett
2330: 69 6e 67 73 29 3b 0d 0a 20 20 20 20 66 6f 72 6d  ings);..    form
2340: 2e 43 6c 6f 73 65 28 29 3b 0d 0a 7d 0d 0a 0d 0a  .Close();..}....
2350: 66 75 6e 63 74 69 6f 6e 20 d0 9a d0 bd d0 be d0  function .......
2360: bf d0 ba d0 b0 d0 9e d1 82 d0 bc d0 b5 d0 bd d0  ................
2370: b0 d0 9d d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d0 b5 20  ............... 
2380: 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 29  (..............)
2390: 20 7b 0d 0a 20 20 20 20 66 6f 72 6d 2e 43 6c 6f   {..    form.Clo
23a0: 73 65 28 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63  se();..}....func
23b0: 74 69 6f 6e 20 d0 9d d0 b0 d0 b4 d0 bf d0 b8 d1  tion ...........
23c0: 81 d1 8c d0 98 d0 bc d1 8f d0 9f d0 be d0 bb d1  ................
23d0: 8c d0 b7 d0 be d0 b2 d0 b0 d1 82 d0 b5 d0 bb d1  ................
23e0: 8f d0 9d d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d0 b5 20  ............... 
23f0: 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 29  (..............)
2400: 20 7b 0d 0a 20 20 20 20 61 64 64 54 6f 53 69 67   {..    addToSig
2410: 6e 61 74 75 72 65 46 6f 72 6d 61 74 28 66 6f 72  natureFormat(for
2420: 6d 2c 20 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1  m, .............
2430: 82 2e 76 61 6c 2e d0 97 d0 b0 d0 b3 d0 be d0 bb  ..val...........
2440: d0 be d0 b2 d0 be d0 ba 29 3b 0d 0a 7d 0d 0a 0d  ........);..}...
2450: 0a 66 75 6e 63 74 69 6f 6e 20 d0 9d d0 b0 d0 b4  .function ......
2460: d0 bf d0 b8 d1 81 d1 8c d0 9f d0 be d0 bb d0 bd  ................
2470: d0 be d0 b5 d0 98 d0 bc d1 8f d0 9f d0 be d0 bb  ................
2480: d1 8c d0 b7 d0 be d0 b2 d0 b0 d1 82 d0 b5 d0 bb  ................
2490: d1 8f d0 9d d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d0 b5  ................
24a0: 20 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82   (..............
24b0: 29 20 7b 0d 0a 20 20 20 20 61 64 64 54 6f 53 69  ) {..    addToSi
24c0: 67 6e 61 74 75 72 65 46 6f 72 6d 61 74 28 66 6f  gnatureFormat(fo
24d0: 72 6d 2c 20 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd  rm, ............
24e0: d1 82 2e 76 61 6c 2e d0 97 d0 b0 d0 b3 d0 be d0  ...val..........
24f0: bb d0 be d0 b2 d0 be d0 ba 29 3b 0d 0a 7d 0d 0a  .........);..}..
2500: 0d 0a 66 75 6e 63 74 69 6f 6e 20 d0 9d d0 b0 d0  ..function .....
2510: b4 d0 bf d0 b8 d1 81 d1 8c d0 98 d0 bc d1 8f d0  ................
2520: 9f d0 be d0 bb d1 8c d0 b7 d0 be d0 b2 d0 b0 d1  ................
2530: 82 d0 b5 d0 bb d1 8f d0 a5 d1 80 d0 b0 d0 bd d0  ................
2540: b8 d0 bb d0 b8 d1 89 d0 b0 d0 9a d0 be d0 bd d1  ................
2550: 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d0  ................
2560: b8 d0 9d d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d0 b5 20  ............... 
2570: 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82 29  (..............)
2580: 20 7b 0d 0a 20 20 20 20 61 64 64 54 6f 53 69 67   {..    addToSig
2590: 6e 61 74 75 72 65 46 6f 72 6d 61 74 28 66 6f 72  natureFormat(for
25a0: 6d 2c 20 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1  m, .............
25b0: 82 2e 76 61 6c 2e d0 97 d0 b0 d0 b3 d0 be d0 bb  ..val...........
25c0: d0 be d0 b2 d0 be d0 ba 29 3b 0d 0a 7d 0d 0a 0d  ........);..}...
25d0: 0a 66 75 6e 63 74 69 6f 6e 20 d0 9d d0 b0 d0 b4  .function ......
25e0: d0 bf d0 b8 d1 81 d1 8c d0 98 d0 bc d1 8f d0 9f  ................
25f0: d0 be d0 bb d1 8c d0 b7 d0 be d0 b2 d0 b0 d1 82  ................
2600: d0 b5 d0 bb d1 8f d0 9e d0 a1 d0 9d d0 b0 d0 b6  ................
2610: d0 b0 d1 82 d0 b8 d0 b5 20 28 d0 ad d0 bb d0 b5  ........ (......
2620: d0 bc d0 b5 d0 bd d1 82 29 20 7b 0d 0a 20 20 20  ........) {..   
2630: 20 61 64 64 54 6f 53 69 67 6e 61 74 75 72 65 46   addToSignatureF
2640: 6f 72 6d 61 74 28 66 6f 72 6d 2c 20 d0 ad d0 bb  ormat(form, ....
2650: d0 b5 d0 bc d0 b5 d0 bd d1 82 2e 76 61 6c 2e d0  ...........val..
2660: 97 d0 b0 d0 b3 d0 be d0 bb d0 be d0 b2 d0 be d0  ................
2670: ba 29 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69  .);..}....functi
2680: 6f 6e 20 d0 9d d0 b0 d0 b4 d0 bf d0 b8 d1 81 d1  on .............
2690: 8c d0 94 d0 b0 d1 82 d0 b0 d0 92 d1 80 d0 b5 d0  ................
26a0: bc d1 8f d0 9d d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d0  ................
26b0: b5 20 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1  . (.............
26c0: 82 29 20 7b 0d 0a 20 20 20 20 76 61 72 20 d0 9a  .) {..    var ..
26d0: d0 be d0 bd d1 81 d1 82 d1 80 d1 83 d0 ba d1 82  ................
26e0: d0 be d1 80 d0 a4 d0 be d1 80 d0 bc d0 b0 d1 82  ................
26f0: d0 bd d0 be d0 b9 d0 a1 d1 82 d1 80 d0 be d0 ba  ................
2700: d0 b8 20 3d 20 76 38 4e 65 77 28 22 d0 9a d0 be  .. = v8New("....
2710: d0 bd d1 81 d1 82 d1 80 d1 83 d0 ba d1 82 d0 be  ................
2720: d1 80 d0 a4 d0 be d1 80 d0 bc d0 b0 d1 82 d0 bd  ................
2730: d0 be d0 b9 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8  ................
2740: 22 29 3b 0d 0a 20 20 20 20 d0 9a d0 be d0 bd d1  ");..    .......
2750: 81 d1 82 d1 80 d1 83 d0 ba d1 82 d0 be d1 80 d0  ................
2760: a4 d0 be d1 80 d0 bc d0 b0 d1 82 d0 bd d0 be d0  ................
2770: b9 d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 94  ................
2780: d0 be d1 81 d1 82 d1 83 d0 bf d0 bd d1 8b d0 b5  ................
2790: d0 a2 d0 b8 d0 bf d1 8b 20 3d 20 76 38 4e 65 77  ........ = v8New
27a0: 28 22 d0 9e d0 bf d0 b8 d1 81 d0 b0 d0 bd d0 b8  ("..............
27b0: d0 b5 d0 a2 d0 b8 d0 bf d0 be d0 b2 22 2c 20 22  ............", "
27c0: d0 94 d0 b0 d1 82 d0 b0 22 29 3b 0d 0a 20 20 20  ........");..   
27d0: 20 69 66 20 28 d0 9a d0 be d0 bd d1 81 d1 82 d1   if (...........
27e0: 80 d1 83 d0 ba d1 82 d0 be d1 80 d0 a4 d0 be d1  ................
27f0: 80 d0 bc d0 b0 d1 82 d0 bd d0 be d0 b9 d0 a1 d1  ................
2800: 82 d1 80 d0 be d0 ba d0 b8 2e d0 9e d1 82 d0 ba  ................
2810: d1 80 d1 8b d1 82 d1 8c d0 9c d0 be d0 b4 d0 b0  ................
2820: d0 bb d1 8c d0 bd d0 be 28 29 29 0d 0a 20 20 20  ........())..   
2830: 20 20 20 20 20 61 64 64 54 6f 53 69 67 6e 61 74       addToSignat
2840: 75 72 65 46 6f 72 6d 61 74 28 66 6f 72 6d 2c 20  ureFormat(form, 
2850: 22 d0 94 d0 b0 d1 82 d0 b0 d0 92 d1 80 d0 b5 d0  "...............
2860: bc d1 8f 23 22 20 2b 20 d0 9a d0 be d0 bd d1 81  ...#" + ........
2870: d1 82 d1 80 d1 83 d0 ba d1 82 d0 be d1 80 d0 a4  ................
2880: d0 be d1 80 d0 bc d0 b0 d1 82 d0 bd d0 be d0 b9  ................
2890: d0 a1 d1 82 d1 80 d0 be d0 ba d0 b8 2e d0 a2 d0  ................
28a0: b5 d0 ba d1 81 d1 82 29 3b 0d 0a 7d 0d 0a 2f 2f  .......);..}..//
28b0: 7d 20 d0 9e d0 b1 d1 80 d0 b0 d0 b1 d0 be d1 82  } ..............
28c0: d1 87 d0 b8 d0 ba d0 b8 20 d1 8d d0 bb d0 b5 d0  ........ .......
28d0: bc d0 b5 d0 bd d1 82 d0 be d0 b2 20 d1 83 d0 bf  ........... ....
28e0: d1 80 d0 b0 d0 b2 d0 bb d0 b5 d0 bd d0 b8 d1 8f  ................
28f0: 20 d1 84 d0 be d1 80 d0 bc d1 8b 0d 0a 0d 0a 2f   ............../
2900: 2f 7b 20 d0 93 d0 be d1 80 d1 8f d1 87 d0 b8 d0  /{ .............
2910: b5 20 d0 ba d0 bb d0 b0 d0 b2 d0 b8 d1 88 d0 b8  . ..............
2920: 20 d0 bf d0 be 20 d1 83 d0 bc d0 be d0 bb d1 87   .... ..........
2930: d0 b0 d0 bd d0 b8 d1 8e 2e 0d 0a 66 75 6e 63 74  ...........funct
2940: 69 6f 6e 20 67 65 74 50 72 65 64 65 66 69 6e 65  ion getPredefine
2950: 64 48 6f 74 6b 65 79 73 28 70 72 65 64 65 66 29  dHotkeys(predef)
2960: 20 7b 0d 0a 20 20 20 20 70 72 65 64 65 66 2e 73   {..    predef.s
2970: 65 74 56 65 72 73 69 6f 6e 28 31 29 3b 0d 0a 20  etVersion(1);.. 
2980: 20 20 20 70 72 65 64 65 66 2e 61 64 64 28 27 d0     predef.add('.
2990: 9c d0 b0 d1 80 d0 ba d0 b5 d1 80 20 22 d0 94 d0  ........... "...
29a0: be d0 b1 d0 b0 d0 b2 d0 bb d0 b5 d0 bd d0 be 22  ..............."
29b0: 27 2c 20 22 41 6c 74 20 2b 20 41 22 29 3b 0d 0a  ', "Alt + A");..
29c0: 20 20 20 20 70 72 65 64 65 66 2e 61 64 64 28 27      predef.add('
29d0: d0 9c d0 b0 d1 80 d0 ba d0 b5 d1 80 20 22 d0 98  ............ "..
29e0: d0 b7 d0 bc d0 b5 d0 bd d0 b5 d0 bd d0 be 22 27  .............."'
29f0: 2c 20 22 41 6c 74 20 2b 20 43 22 29 3b 0d 0a 20  , "Alt + C");.. 
2a00: 20 20 20 70 72 65 64 65 66 2e 61 64 64 28 27 d0     predef.add('.
2a10: 9c d0 b0 d1 80 d0 ba d0 b5 d1 80 20 22 d0 a3 d0  ........... "...
2a20: b4 d0 b0 d0 bb d0 b5 d0 bd d0 be 22 27 2c 20 22  ..........."', "
2a30: 41 6c 74 20 2b 20 44 22 29 3b 0d 0a 7d 0d 0a 2f  Alt + D");..}../
2a40: 2f 7d 20 d0 93 d0 be d1 80 d1 8f d1 87 d0 b8 d0  /} .............
2a50: b5 20 d0 ba d0 bb d0 b0 d0 b2 d0 b8 d1 88 d0 b8  . ..............
2a60: 20 d0 bf d0 be 20 d1 83 d0 bc d0 be d0 bb d1 87   .... ..........
2a70: d0 b0 d0 bd d0 b8 d1 8e 2e 0d 0a 0d 0a 2f 2f 7b  .............//{
2a80: 20 d0 9f d0 b0 d1 80 d0 b0 d0 bc d0 b5 d1 82 d1   ...............
2a90: 80 d1 8b 20 d0 bf d0 be d0 b4 d1 81 d1 82 d0 b0  ... ............
2aa0: d0 bd d0 be d0 b2 d0 ba d0 b8 2c 20 d0 b8 d1 81  .........., ....
2ab0: d0 bf d0 be d0 bb d1 8c d0 b7 d1 83 d0 b5 d0 bc  ................
2ac0: d1 8b d0 b5 20 d0 b2 20 d1 84 d0 be d1 80 d0 bc  .... .. ........
2ad0: d0 b0 d1 82 d0 bd d0 be d0 b9 20 d1 81 d1 82 d1  .......... .....
2ae0: 80 d0 be d0 ba d0 b5 20 d0 bf d0 be d0 b4 d0 bf  ....... ........
2af0: d0 b8 d1 81 d0 b8 2e 0d 0a 61 64 64 46 6f 72 6d  .........addForm
2b00: 61 74 53 74 72 69 6e 67 50 61 72 61 6d 28 22 d0  atStringParam(".
2b10: 98 d0 bc d1 8f d0 9f d0 be d0 bb d1 8c d0 b7 d0  ................
2b20: be d0 b2 d0 b0 d1 82 d0 b5 d0 bb d1 8f 22 2c 20  .............", 
2b30: 22 70 61 72 73 65 54 70 6c 28 6e 61 6d 65 29 22  "parseTpl(name)"
2b40: 29 0d 0a 61 64 64 46 6f 72 6d 61 74 53 74 72 69  )..addFormatStri
2b50: 6e 67 50 61 72 61 6d 28 22 d0 9f d0 be d0 bb d0  ngParam(".......
2b60: bd d0 be d0 b5 d0 98 d0 bc d1 8f d0 9f d0 be d0  ................
2b70: bb d1 8c d0 b7 d0 be d0 b2 d0 b0 d1 82 d0 b5 d0  ................
2b80: bb d1 8f 22 2c 20 22 70 61 72 73 65 54 70 6c 28  ...", "parseTpl(
2b90: 6e 61 6d 65 29 22 29 0d 0a 61 64 64 46 6f 72 6d  name)")..addForm
2ba0: 61 74 53 74 72 69 6e 67 50 61 72 61 6d 28 22 d0  atStringParam(".
2bb0: 98 d0 bc d1 8f d0 9f d0 be d0 bb d1 8c d0 b7 d0  ................
2bc0: be d0 b2 d0 b0 d1 82 d0 b5 d0 bb d1 8f d0 a5 d1  ................
2bd0: 80 d0 b0 d0 bd d0 b8 d0 bb d0 b8 d1 89 d0 b0 d0  ................
2be0: 9a d0 be d0 bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0  ................
2bf0: b0 d1 86 d0 b8 d0 b8 22 2c 20 22 70 61 72 73 65  .......", "parse
2c00: 54 70 6c 28 6e 61 6d 65 29 22 29 0d 0a 61 64 64  Tpl(name)")..add
2c10: 46 6f 72 6d 61 74 53 74 72 69 6e 67 50 61 72 61  FormatStringPara
2c20: 6d 28 22 d0 94 d0 b0 d1 82 d0 b0 d0 92 d1 80 d0  m(".............
2c30: b5 d0 bc d1 8f 22 2c 20 22 70 61 72 73 65 54 70  .....", "parseTp
2c40: 6c 28 6e 61 6d 65 2c 20 27 5c 22 27 20 2b 20 70  l(name, '\"' + p
2c50: 20 2b 20 27 5c 22 27 29 22 29 0d 0a 61 64 64 46   + '\"')")..addF
2c60: 6f 72 6d 61 74 53 74 72 69 6e 67 50 61 72 61 6d  ormatStringParam
2c70: 28 27 d0 98 d0 bc d1 8f d0 9f d0 be d0 bb d1 8c  ('..............
2c80: d0 b7 d0 be d0 b2 d0 b0 d1 82 d0 b5 d0 bb d1 8f  ................
2c90: d0 9e d0 a1 27 2c 20 22 28 6e 65 77 20 41 63 74  ....', "(new Act
2ca0: 69 76 65 58 4f 62 6a 65 63 74 28 27 57 53 63 72  iveXObject('WScr
2cb0: 69 70 74 2e 53 68 65 6c 6c 27 29 29 2e 45 78 70  ipt.Shell')).Exp
2cc0: 61 6e 64 45 6e 76 69 72 6f 6e 6d 65 6e 74 53 74  andEnvironmentSt
2cd0: 72 69 6e 67 73 28 27 25 55 53 45 52 4e 41 4d 45  rings('%USERNAME
2ce0: 25 27 29 22 29 3b 0d 0a 2f 2f 7d 20 d0 9f d0 b0  %')");..//} ....
2cf0: d1 80 d0 b0 d0 bc d0 b5 d1 82 d1 80 d1 8b 20 d0  .............. .
2d00: bf d0 be d0 b4 d1 81 d1 82 d0 b0 d0 bd d0 be d0  ................
2d10: b2 d0 ba d0 b8 2c 20 d0 b8 d1 81 d0 bf d0 be d0  ....., .........
2d20: bb d1 8c d0 b7 d1 83 d0 b5 d0 bc d1 8b d0 b5 20  ............... 
2d30: d0 b2 20 d1 84 d0 be d1 80 d0 bc d0 b0 d1 82 d0  .. .............
2d40: bd d0 be d0 b9 20 d1 81 d1 82 d1 80 d0 be d0 ba  ..... ..........
2d50: d0 b5 20 d0 bf d0 be d0 b4 d0 bf d0 b8 d1 81 d0  .. .............
2d60: b8 2e 0d 0a 0d 0a 76 61 72 20 53 65 74 74 69 6e  ......var Settin
2d70: 67 73 20 3d 20 67 65 74 53 65 74 74 69 6e 67 73  gs = getSettings
2d80: 28 29 3b 0d 0a 0d 0a 0d 0a                       ();......