找回密码
 立即注册
首页 业界区 安全 js逆向实战之某妈妈返回数据解密

js逆向实战之某妈妈返回数据解密

杆树 13 小时前
声明:本篇文章仅用于知识分享,不得用于其他用途

网址:aHR0cHM6Ly93d3cuY2hhbm1hbWEuY29tL3Byb21vdGlvblJhbmsvdGlrR29vZHNTYWxlLz9jYXRlZ29yeV9pZD0tMQ==
解密逻辑


  • 刷新网页,抓流量包。
    1.png

    2.png

  • data中的数据一看肯定是加过密的,需要知道其解密逻辑,data这个词比较普遍,直接搜索肯定会出现很多,可以看到is_encrypt和data属于同一个组的,直接搜索is_encrypt。
    3.png

    总共4处,上面两处的data是定值,不是我们想要的,下面两处无法判断,全部打上断点。
  • ctrl+shift+r刷新网页,断在了最后一处。
    4.png

    看看这一行代码,出现了很多赋值操作,重点关注c.data。
    5.png

    第一次触发的这个没有出现想要的数据,一直释放断点,直到c.data的数据如下。
    6.png

  • 从这行代码可知c.data赋给了i、o、r、s,往下看几行代码,却没有跟这几个变量相关的。只能单步调试了,if判断不成立,直接进入return语句。
    7.png

  • (0,Z.ZP)看着比较突兀,找到其定义的地方,打个断点。
    8.png

  • 需要解密的数据传给了p函数,return中又把它传给了m函数,定位m函数,可以很明显看到是个AES解密了。
    9.png

  • 打断点,知道了e和填充方式,n的定义在其上面,三要素齐全就可以解密了。拷贝代码,梭一把。
  1. var s = require("crypto-js")
  2. var e = "要解密的数据"
  3. function decrypt(e) {
  4.     var n = s.enc.Utf8.parse(27..toString(36).toLowerCase().split("").map((function (t) {
  5.             return String.fromCharCode(t.charCodeAt() + -39)
  6.         }
  7.     )).join("") + 24901..toString(36).toLowerCase() + 33..toString(36).toLowerCase().split("").map((function (t) {
  8.             return String.fromCharCode(t.charCodeAt() + -39)
  9.         }
  10.     )).join("") + 976..toString(36).toLowerCase() + 20..toString(36).toLowerCase().split("").map((function (t) {
  11.             return String.fromCharCode(t.charCodeAt() + -39)
  12.         }
  13.     )).join("") + function () {
  14.         var t = Array.prototype.slice.call(arguments)
  15.             , e = t.shift();
  16.         return t.reverse().map((function (t, n) {
  17.                 return String.fromCharCode(t - e - 24 - n)
  18.             }
  19.         )).join("")
  20.     }(10, 127, 154, 91, 151, 91, 136) + 11..toString(36).toLowerCase() + 13..toString(36).toLowerCase().split("").map((function (t) {
  21.             return String.fromCharCode(t.charCodeAt() + -13)
  22.         }
  23.     )).join("")),
  24.         a = s.AES.decrypt(e, n, {
  25.             mode: s.mode.ECB,
  26.             padding: s.pad.Pkcs7
  27.         })
  28.     console.log(a);
  29. }
  30. decrypt(e);
复制代码
运行结果如下,是个字节组。
10.png

8. 继续看源代码,a还经过l函数的处理,得到的结果o还传给了c.ungzip函数处理。
11.png

将l函数弄出来,都是些位运算,o的结果是个数组。
12.png

13.png

9. 还是得经过c.ungzip函数的处理,定位。
14.png

看这个函数里的内容,看不到一点处理的方式。先拷出来,看缺少什么补什么吧。(注:这个过程非常痛苦,一环套一环,花费了我半天的功夫,代码能运行了,但是没有结果)
完整代码如下:
  1. var CryptoJS = require("crypto-js")
  2. var e = "";
  3. function decrypt(e) {
  4.     var n = CryptoJS.enc.Utf8.parse(27..toString(36).toLowerCase().split("").map((function (t) {
  5.             return String.fromCharCode(t.charCodeAt() + -39)
  6.         }
  7.     )).join("") + 24901..toString(36).toLowerCase() + 33..toString(36).toLowerCase().split("").map((function (t) {
  8.             return String.fromCharCode(t.charCodeAt() + -39)
  9.         }
  10.     )).join("") + 976..toString(36).toLowerCase() + 20..toString(36).toLowerCase().split("").map((function (t) {
  11.             return String.fromCharCode(t.charCodeAt() + -39)
  12.         }
  13.     )).join("") + function () {
  14.         var t = Array.prototype.slice.call(arguments)
  15.             , e = t.shift();
  16.         return t.reverse().map((function (t, n) {
  17.                 return String.fromCharCode(t - e - 24 - n)
  18.             }
  19.         )).join("")
  20.     }(10, 127, 154, 91, 151, 91, 136) + 11..toString(36).toLowerCase() + 13..toString(36).toLowerCase().split("").map((function (t) {
  21.             return String.fromCharCode(t.charCodeAt() + -13)
  22.         }
  23.     )).join(""));
  24.     a = CryptoJS.AES.decrypt(e, n, {
  25.         mode: CryptoJS.mode.ECB,
  26.         padding: CryptoJS.pad.Pkcs7
  27.     });
  28.     o = l(a);
  29.     r = ungzip(o, {
  30.         to: "string"
  31.     })
  32.     console.log(r);
  33. }
  34. const t = (e, t) => Object.prototype.hasOwnProperty.call(e, t);
  35. function assign(e) {
  36.     const n = Array.prototype.slice.call(arguments, 1);
  37.     while (n.length) {
  38.         const r = n.shift();
  39.         if (r) {
  40.             if ("object" !== typeof r)
  41.                 throw new TypeError(r + "must be non-object");
  42.             for (const n in r)
  43.                 t(r, "to") && (e[n] = r[n])
  44.         }
  45.     }
  46.     return e
  47. }
  48. var options = {};
  49. function s() {
  50.     this.input = null,
  51.         this.next_in = 0,
  52.         this.avail_in = 0,
  53.         this.total_in = 0,
  54.         this.output = null,
  55.         this.next_out = 0,
  56.         this.avail_out = 0,
  57.         this.total_out = 0,
  58.         this.msg = "",
  59.         this.state = null,
  60.         this.data_type = 2,
  61.         this.adler = 0
  62. }
  63. function ie() {
  64.     this.mode = 0,
  65.         this.last = !1,
  66.         this.wrap = 0,
  67.         this.havedict = !1,
  68.         this.flags = 0,
  69.         this.dmax = 0,
  70.         this.check = 0,
  71.         this.total = 0,
  72.         this.head = null,
  73.         this.wbits = 0,
  74.         this.wsize = 0,
  75.         this.whave = 0,
  76.         this.wnext = 0,
  77.         this.window = null,
  78.         this.hold = 0,
  79.         this.bits = 0,
  80.         this.length = 0,
  81.         this.offset = 0,
  82.         this.extra = 0,
  83.         this.lencode = null,
  84.         this.distcode = null,
  85.         this.lenbits = 0,
  86.         this.distbits = 0,
  87.         this.ncode = 0,
  88.         this.nlen = 0,
  89.         this.ndist = 0,
  90.         this.have = 0,
  91.         this.next = null,
  92.         this.lens = new Uint16Array(320),
  93.         this.work = new Uint16Array(288),
  94.         this.lendyn = null,
  95.         this.distdyn = null,
  96.         this.sane = 0,
  97.         this.back = 0,
  98.         this.was = 0
  99. }
  100. const oe = e => {
  101.     if (!e || !e.state)
  102.         return v;
  103.     const t = e.state;
  104.     return e.total_in = e.total_out = t.total = 0,
  105.         e.msg = "",
  106.     t.wrap && (e.adler = 1 & t.wrap),
  107.         t.mode = 1,
  108.         t.last = 0,
  109.         t.havedict = 0,
  110.         t.dmax = 32768,
  111.         t.head = null,
  112.         t.hold = 0,
  113.         t.bits = 0,
  114.         t.lencode = t.lendyn = new Int32Array(852),
  115.         t.distcode = t.distdyn = new Int32Array(592),
  116.         t.sane = 1,
  117.         t.back = -1,
  118.         0
  119. }
  120.     , ae = e => {
  121.     if (!e || !e.state)
  122.         return v;
  123.     const t = e.state;
  124.     return t.wsize = 0,
  125.         t.whave = 0,
  126.         t.wnext = 0,
  127.         oe(e)
  128. }
  129.     , se = (e, t) => {
  130.     let n;
  131.     if (!e || !e.state)
  132.         return v;
  133.     const r = e.state;
  134.     return t < 0 ? (n = 0,
  135.         t = -t) : (n = 1 + (t >> 4),
  136.     t < 48 && (t &= 15)),
  137.         t && (t < 8 || t > 15) ? v : (null !== r.window && r.wbits !== t && (r.window = null),
  138.             r.wrap = n,
  139.             r.wbits = t,
  140.             ae(e))
  141. }
  142.     , le = (e, t) => {
  143.     if (!e)
  144.         return v;
  145.     const n = new ie;
  146.     e.state = n,
  147.         n.window = null;
  148.     const r = se(e, t);
  149.     return r !== d && (e.state = null),
  150.         r
  151. }
  152.     , ue = e => le(e, ne);
  153. function inflateInit2(e, t) {
  154.     if (!e)
  155.         return v;
  156.     const n = new ie;
  157.     e.state = n,
  158.         n.window = null;
  159.     const r = se(e, t);
  160.     return r !== 0 && (e.state = null),
  161.         r
  162. }
  163. function y(e) {
  164.     this.options = assign({
  165.         chunkSize: 65536,
  166.         windowBits: 47,
  167.         to: ""
  168.     }, e || {});
  169.     const t = this.options;
  170.     t.raw && t.windowBits >= 0 && t.windowBits < 16 && (t.windowBits = -t.windowBits,
  171.     0 === t.windowBits && (t.windowBits = -15)),
  172.     !(t.windowBits >= 0 && t.windowBits < 16) || e && e.windowBits || (t.windowBits += 32),
  173.     t.windowBits > 15 && t.windowBits < 48 && 0 === (15 & t.windowBits) && (t.windowBits |= 15),
  174.         this.err = 0,
  175.         this.msg = "",
  176.         this.ended = !1,
  177.         this.chunks = [],
  178.         this.strm = new s,
  179.         this.strm.avail_out = 0;
  180.     let n = inflateInit2(this.strm, t.windowBits);
  181.     if (n !== 0)
  182.         throw new Error(a[n]);
  183.     if (this.header = new lll,
  184.         inflateGetHeader(this.strm, this.header),
  185.     t.dictionary && ("string" === typeof t.dictionary ? t.dictionary = o.string2buf(t.dictionary) : "[object ArrayBuffer]" === u.call(t.dictionary) && (t.dictionary = new Uint8Array(t.dictionary)),
  186.     t.raw && (n = r.inflateSetDictionary(this.strm, t.dictionary),
  187.     n !== f)))
  188.         throw new Error(a[n])
  189. }
  190. function inflateGetHeader(e, t) {
  191.     if (!e || !e.state)
  192.         return v;
  193.     const n = e.state;
  194.     return 0 === (2 & n.wrap) ? v : (n.head = t,
  195.         t.done = !1,
  196.         0)
  197. }
  198. function lll() {
  199.     this.text = 0,
  200.         this.time = 0,
  201.         this.xflags = 0,
  202.         this.os = 0,
  203.         this.extra = null,
  204.         this.extra_len = 0,
  205.         this.name = "",
  206.         this.comment = "",
  207.         this.hcrc = 0,
  208.         this.done = !1
  209. }
  210. function iiii(e, t, r, i) {
  211.     const o = {
  212.     "0": 0,
  213.     "1": 1996959894,
  214.     "2": 3993919788,
  215.     "3": 2567524794,
  216.     "4": 124634137,
  217.     "5": 1886057615,
  218.     "6": 3915621685,
  219.     "7": 2657392035,
  220.     "8": 249268274,
  221.     "9": 2044508324,
  222.     "10": 3772115230,
  223.     "11": 2547177864,
  224.     "12": 162941995,
  225.     "13": 2125561021,
  226.     "14": 3887607047,
  227.     "15": 2428444049,
  228.     "16": 498536548,
  229.     "17": 1789927666,
  230.     "18": 4089016648,
  231.     "19": 2227061214,
  232.     "20": 450548861,
  233.     "21": 1843258603,
  234.     "22": 4107580753,
  235.     "23": 2211677639,
  236.     "24": 325883990,
  237.     "25": 1684777152,
  238.     "26": 4251122042,
  239.     "27": 2321926636,
  240.     "28": 335633487,
  241.     "29": 1661365465,
  242.     "30": 4195302755,
  243.     "31": 2366115317,
  244.     "32": 997073096,
  245.     "33": 1281953886,
  246.     "34": 3579855332,
  247.     "35": 2724688242,
  248.     "36": 1006888145,
  249.     "37": 1258607687,
  250.     "38": 3524101629,
  251.     "39": 2768942443,
  252.     "40": 901097722,
  253.     "41": 1119000684,
  254.     "42": 3686517206,
  255.     "43": 2898065728,
  256.     "44": 853044451,
  257.     "45": 1172266101,
  258.     "46": 3705015759,
  259.     "47": 2882616665,
  260.     "48": 651767980,
  261.     "49": 1373503546,
  262.     "50": 3369554304,
  263.     "51": 3218104598,
  264.     "52": 565507253,
  265.     "53": 1454621731,
  266.     "54": 3485111705,
  267.     "55": 3099436303,
  268.     "56": 671266974,
  269.     "57": 1594198024,
  270.     "58": 3322730930,
  271.     "59": 2970347812,
  272.     "60": 795835527,
  273.     "61": 1483230225,
  274.     "62": 3244367275,
  275.     "63": 3060149565,
  276.     "64": 1994146192,
  277.     "65": 31158534,
  278.     "66": 2563907772,
  279.     "67": 4023717930,
  280.     "68": 1907459465,
  281.     "69": 112637215,
  282.     "70": 2680153253,
  283.     "71": 3904427059,
  284.     "72": 2013776290,
  285.     "73": 251722036,
  286.     "74": 2517215374,
  287.     "75": 3775830040,
  288.     "76": 2137656763,
  289.     "77": 141376813,
  290.     "78": 2439277719,
  291.     "79": 3865271297,
  292.     "80": 1802195444,
  293.     "81": 476864866,
  294.     "82": 2238001368,
  295.     "83": 4066508878,
  296.     "84": 1812370925,
  297.     "85": 453092731,
  298.     "86": 2181625025,
  299.     "87": 4111451223,
  300.     "88": 1706088902,
  301.     "89": 314042704,
  302.     "90": 2344532202,
  303.     "91": 4240017532,
  304.     "92": 1658658271,
  305.     "93": 366619977,
  306.     "94": 2362670323,
  307.     "95": 4224994405,
  308.     "96": 1303535960,
  309.     "97": 984961486,
  310.     "98": 2747007092,
  311.     "99": 3569037538,
  312.     "100": 1256170817,
  313.     "101": 1037604311,
  314.     "102": 2765210733,
  315.     "103": 3554079995,
  316.     "104": 1131014506,
  317.     "105": 879679996,
  318.     "106": 2909243462,
  319.     "107": 3663771856,
  320.     "108": 1141124467,
  321.     "109": 855842277,
  322.     "110": 2852801631,
  323.     "111": 3708648649,
  324.     "112": 1342533948,
  325.     "113": 654459306,
  326.     "114": 3188396048,
  327.     "115": 3373015174,
  328.     "116": 1466479909,
  329.     "117": 544179635,
  330.     "118": 3110523913,
  331.     "119": 3462522015,
  332.     "120": 1591671054,
  333.     "121": 702138776,
  334.     "122": 2966460450,
  335.     "123": 3352799412,
  336.     "124": 1504918807,
  337.     "125": 783551873,
  338.     "126": 3082640443,
  339.     "127": 3233442989,
  340.     "128": 3988292384,
  341.     "129": 2596254646,
  342.     "130": 62317068,
  343.     "131": 1957810842,
  344.     "132": 3939845945,
  345.     "133": 2647816111,
  346.     "134": 81470997,
  347.     "135": 1943803523,
  348.     "136": 3814918930,
  349.     "137": 2489596804,
  350.     "138": 225274430,
  351.     "139": 2053790376,
  352.     "140": 3826175755,
  353.     "141": 2466906013,
  354.     "142": 167816743,
  355.     "143": 2097651377,
  356.     "144": 4027552580,
  357.     "145": 2265490386,
  358.     "146": 503444072,
  359.     "147": 1762050814,
  360.     "148": 4150417245,
  361.     "149": 2154129355,
  362.     "150": 426522225,
  363.     "151": 1852507879,
  364.     "152": 4275313526,
  365.     "153": 2312317920,
  366.     "154": 282753626,
  367.     "155": 1742555852,
  368.     "156": 4189708143,
  369.     "157": 2394877945,
  370.     "158": 397917763,
  371.     "159": 1622183637,
  372.     "160": 3604390888,
  373.     "161": 2714866558,
  374.     "162": 953729732,
  375.     "163": 1340076626,
  376.     "164": 3518719985,
  377.     "165": 2797360999,
  378.     "166": 1068828381,
  379.     "167": 1219638859,
  380.     "168": 3624741850,
  381.     "169": 2936675148,
  382.     "170": 906185462,
  383.     "171": 1090812512,
  384.     "172": 3747672003,
  385.     "173": 2825379669,
  386.     "174": 829329135,
  387.     "175": 1181335161,
  388.     "176": 3412177804,
  389.     "177": 3160834842,
  390.     "178": 628085408,
  391.     "179": 1382605366,
  392.     "180": 3423369109,
  393.     "181": 3138078467,
  394.     "182": 570562233,
  395.     "183": 1426400815,
  396.     "184": 3317316542,
  397.     "185": 2998733608,
  398.     "186": 733239954,
  399.     "187": 1555261956,
  400.     "188": 3268935591,
  401.     "189": 3050360625,
  402.     "190": 752459403,
  403.     "191": 1541320221,
  404.     "192": 2607071920,
  405.     "193": 3965973030,
  406.     "194": 1969922972,
  407.     "195": 40735498,
  408.     "196": 2617837225,
  409.     "197": 3943577151,
  410.     "198": 1913087877,
  411.     "199": 83908371,
  412.     "200": 2512341634,
  413.     "201": 3803740692,
  414.     "202": 2075208622,
  415.     "203": 213261112,
  416.     "204": 2463272603,
  417.     "205": 3855990285,
  418.     "206": 2094854071,
  419.     "207": 198958881,
  420.     "208": 2262029012,
  421.     "209": 4057260610,
  422.     "210": 1759359992,
  423.     "211": 534414190,
  424.     "212": 2176718541,
  425.     "213": 4139329115,
  426.     "214": 1873836001,
  427.     "215": 414664567,
  428.     "216": 2282248934,
  429.     "217": 4279200368,
  430.     "218": 1711684554,
  431.     "219": 285281116,
  432.     "220": 2405801727,
  433.     "221": 4167216745,
  434.     "222": 1634467795,
  435.     "223": 376229701,
  436.     "224": 2685067896,
  437.     "225": 3608007406,
  438.     "226": 1308918612,
  439.     "227": 956543938,
  440.     "228": 2808555105,
  441.     "229": 3495958263,
  442.     "230": 1231636301,
  443.     "231": 1047427035,
  444.     "232": 2932959818,
  445.     "233": 3654703836,
  446.     "234": 1088359270,
  447.     "235": 936918000,
  448.     "236": 2847714899,
  449.     "237": 3736837829,
  450.     "238": 1202900863,
  451.     "239": 817233897,
  452.     "240": 3183342108,
  453.     "241": 3401237130,
  454.     "242": 1404277552,
  455.     "243": 615818150,
  456.     "244": 3134207493,
  457.     "245": 3453421203,
  458.     "246": 1423857449,
  459.     "247": 601450431,
  460.     "248": 3009837614,
  461.     "249": 3294710456,
  462.     "250": 1567103746,
  463.     "251": 711928724,
  464.     "252": 3020668471,
  465.     "253": 3272380065,
  466.     "254": 1510334235,
  467.     "255": 755167117
  468. }
  469.         , a = i + r;
  470.     e ^= -1;
  471.     for (let n = i; n < a; n++)
  472.         e = e >>> 8 ^ o[255 & (e ^ t[n])];
  473.     return ~e
  474. }
  475. function inflate(e, t) {
  476.     let n, Q, ee, te, ne, ie, oe, ae, se, le, ue, ce, he, fe, me, ve, ge, ye, be, xe, we, _e, Se = 0;
  477.     const Ce = new Uint8Array(4);
  478.     let Ee, ke;
  479.     const Te = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
  480.     if (!e || !e.state || !e.output || !e.input && 0 !== e.avail_in)
  481.         return v;
  482.     n = e.state,
  483.     n.mode === 12 && (n.mode = j),
  484.         ne = e.next_out,
  485.         ee = e.output,
  486.         oe = e.avail_out,
  487.         te = e.next_in,
  488.         Q = e.input,
  489.         ie = e.avail_in,
  490.         ae = n.hold,
  491.         se = n.bits,
  492.         le = ie,
  493.         ue = oe,
  494.         _e = 0;
  495.     e: for (; ;)
  496.         switch (n.mode) {
  497.             case 1:
  498.                 if (0 === n.wrap) {
  499.                     n.mode = j;
  500.                     break
  501.                 }
  502.                 while (se < 16) {
  503.                     if (0 === ie)
  504.                         break e;
  505.                     ie--,
  506.                         ae += Q[te++] << se,
  507.                         se += 8
  508.                 }
  509.                 if (2 & n.wrap && 35615 === ae) {
  510.                     n.check = 0,
  511.                         Ce[0] = 255 & ae,
  512.                         Ce[1] = ae >>> 8 & 255,
  513.                         n.check = iiii(n.check, Ce, 2, 0),
  514.                         ae = 0,
  515.                         se = 0,
  516.                         n.mode = 2;
  517.                     break
  518.                 }
  519.                 if (n.flags = 0,
  520.                 n.head && (n.head.done = !1),
  521.                 !(1 & n.wrap) || (((255 & ae) << 8) + (ae >> 8)) % 31) {
  522.                     e.msg = "incorrect header check",
  523.                         n.mode = X;
  524.                     break
  525.                 }
  526.                 if ((15 & ae) !== x) {
  527.                     e.msg = "unknown compression method",
  528.                         n.mode = X;
  529.                     break
  530.                 }
  531.                 if (ae >>>= 4,
  532.                     se -= 4,
  533.                     we = 8 + (15 & ae),
  534.                 0 === n.wbits)
  535.                     n.wbits = we;
  536.                 else if (we > n.wbits) {
  537.                     e.msg = "invalid window size",
  538.                         n.mode = X;
  539.                     break
  540.                 }
  541.                 n.dmax = 1 << n.wbits,
  542.                     e.adler = n.check = 1,
  543.                     n.mode = 512 & ae ? M : D,
  544.                     ae = 0,
  545.                     se = 0;
  546.                 break;
  547.             case 2:
  548.                 while (se < 16) {
  549.                     if (0 === ie)
  550.                         break e;
  551.                     ie--,
  552.                         ae += Q[te++] << se,
  553.                         se += 8
  554.                 }
  555.                 if (n.flags = ae,
  556.                 (255 & n.flags) !== 8) {
  557.                     e.msg = "unknown compression method",
  558.                         n.mode = X;
  559.                     break
  560.                 }
  561.                 if (57344 & n.flags) {
  562.                     e.msg = "unknown header flags set",
  563.                         n.mode = X;
  564.                     break
  565.                 }
  566.                 n.head && (n.head.text = ae >> 8 & 1),
  567.                 512 & n.flags && (Ce[0] = 255 & ae,
  568.                     Ce[1] = ae >>> 8 & 255,
  569.                     n.check = i(n.check, Ce, 2, 0)),
  570.                     ae = 0,
  571.                     se = 0,
  572.                     n.mode = 3;
  573.             case 3:
  574.                 while (se < 32) {
  575.                     if (0 === ie)
  576.                         break e;
  577.                     ie--,
  578.                         ae += Q[te++] << se,
  579.                         se += 8
  580.                 }
  581.                 n.head && (n.head.time = ae),
  582.                 512 & n.flags && (Ce[0] = 255 & ae,
  583.                     Ce[1] = ae >>> 8 & 255,
  584.                     Ce[2] = ae >>> 16 & 255,
  585.                     Ce[3] = ae >>> 24 & 255,
  586.                     n.check = i(n.check, Ce, 4, 0)),
  587.                     ae = 0,
  588.                     se = 0,
  589.                     n.mode = 4;
  590.             case 4:
  591.                 while (se < 16) {
  592.                     if (0 === ie)
  593.                         break e;
  594.                     ie--,
  595.                         ae += Q[te++] << se,
  596.                         se += 8
  597.                 }
  598.                 n.head && (n.head.xflags = 255 & ae,
  599.                     n.head.os = ae >> 8),
  600.                 512 & n.flags && (Ce[0] = 255 & ae,
  601.                     Ce[1] = ae >>> 8 & 255,
  602.                     n.check = i(n.check, Ce, 2, 0)),
  603.                     ae = 0,
  604.                     se = 0,
  605.                     n.mode = 5;
  606.             case 5:
  607.                 if (1024 & n.flags) {
  608.                     while (se < 16) {
  609.                         if (0 === ie)
  610.                             break e;
  611.                         ie--,
  612.                             ae += Q[te++] << se,
  613.                             se += 8
  614.                     }
  615.                     n.length = ae,
  616.                     n.head && (n.head.extra_len = ae),
  617.                     512 & n.flags && (Ce[0] = 255 & ae,
  618.                         Ce[1] = ae >>> 8 & 255,
  619.                         n.check = i(n.check, Ce, 2, 0)),
  620.                         ae = 0,
  621.                         se = 0
  622.                 } else
  623.                     n.head && (n.head.extra = null);
  624.                 n.mode = 6;
  625.             case 6:
  626.                 if (1024 & n.flags && (ce = n.length,
  627.                 ce > ie && (ce = ie),
  628.                 ce && (n.head && (we = n.head.extra_len - n.length,
  629.                 n.head.extra || (n.head.extra = new Uint8Array(n.head.extra_len)),
  630.                     n.head.extra.set(Q.subarray(te, te + ce), we)),
  631.                 512 & n.flags && (n.check = i(n.check, Q, ce, te)),
  632.                     ie -= ce,
  633.                     te += ce,
  634.                     n.length -= ce),
  635.                     n.length))
  636.                     break e;
  637.                 n.length = 0,
  638.                     n.mode = 7;
  639.             case 7:
  640.                 if (2048 & n.flags) {
  641.                     if (0 === ie)
  642.                         break e;
  643.                     ce = 0;
  644.                     do {
  645.                         we = Q[te + ce++],
  646.                         n.head && we && n.length < 65536 && (n.head.name += String.fromCharCode(we))
  647.                     } while (we && ce < ie);
  648.                     if (512 & n.flags && (n.check = i(n.check, Q, ce, te)),
  649.                         ie -= ce,
  650.                         te += ce,
  651.                         we)
  652.                         break e
  653.                 } else
  654.                     n.head && (n.head.name = null);
  655.                 n.length = 0,
  656.                     n.mode = 8;
  657.             case 8:
  658.                 if (4096 & n.flags) {
  659.                     if (0 === ie)
  660.                         break e;
  661.                     ce = 0;
  662.                     do {
  663.                         we = Q[te + ce++],
  664.                         n.head && we && n.length < 65536 && (n.head.comment += String.fromCharCode(we))
  665.                     } while (we && ce < ie);
  666.                     if (512 & n.flags && (n.check = i(n.check, Q, ce, te)),
  667.                         ie -= ce,
  668.                         te += ce,
  669.                         we)
  670.                         break e
  671.                 } else
  672.                     n.head && (n.head.comment = null);
  673.                 n.mode = 9;
  674.             case 9:
  675.                 if (512 & n.flags) {
  676.                     while (se < 16) {
  677.                         if (0 === ie)
  678.                             break e;
  679.                         ie--,
  680.                             ae += Q[te++] << se,
  681.                             se += 8
  682.                     }
  683.                     if (ae !== (65535 & n.check)) {
  684.                         e.msg = "header crc mismatch",
  685.                             n.mode = X;
  686.                         break
  687.                     }
  688.                     ae = 0,
  689.                         se = 0
  690.                 }
  691.                 n.head && (n.head.hcrc = n.flags >> 9 & 1,
  692.                     n.head.done = !0),
  693.                     e.adler = n.check = 0,
  694.                     n.mode = 12;
  695.                 break;
  696.             case 10:
  697.                 while (se < 32) {
  698.                     if (0 === ie)
  699.                         break e;
  700.                     ie--,
  701.                         ae += Q[te++] << se,
  702.                         se += 8
  703.                 }
  704.                 e.adler = n.check = re(ae),
  705.                     ae = 0,
  706.                     se = 0,
  707.                     n.mode = 11;
  708.             case 11:
  709.                 if (0 === n.havedict)
  710.                     return e.next_out = ne,
  711.                         e.avail_out = oe,
  712.                         e.next_in = te,
  713.                         e.avail_in = ie,
  714.                         n.hold = ae,
  715.                         n.bits = se,
  716.                         m;
  717.                 e.adler = n.check = 1,
  718.                     n.mode = 12;
  719.             case 12:
  720.                 if (t === 5 || t === 6)
  721.                     break e;
  722.             case 13:
  723.                 if (n.last) {
  724.                     ae >>>= 7 & se,
  725.                         se -= 7 & se,
  726.                         n.mode = G;
  727.                     break
  728.                 }
  729.                 while (se < 3) {
  730.                     if (0 === ie)
  731.                         break e;
  732.                     ie--,
  733.                         ae += Q[te++] << se,
  734.                         se += 8
  735.                 }
  736.                 switch (n.last = 1 & ae,
  737.                     ae >>>= 1,
  738.                     se -= 1,
  739.                 3 & ae) {
  740.                     case 0:
  741.                         n.mode = I;
  742.                         break;
  743.                     case 1:
  744.                         if (de(n),
  745.                             n.mode = B,
  746.                         t === f) {
  747.                             ae >>>= 2,
  748.                                 se -= 2;
  749.                             break e
  750.                         }
  751.                         break;
  752.                     case 2:
  753.                         n.mode = 17;
  754.                         break;
  755.                     case 3:
  756.                         e.msg = "invalid block type",
  757.                             n.mode = X
  758.                 }
  759.                 ae >>>= 2,
  760.                     se -= 2;
  761.                 break;
  762.             case 14:
  763.                 ae >>>= 7 & se,
  764.                     se -= 7 & se;
  765.                 while (se < 32) {
  766.                     if (0 === ie)
  767.                         break e;
  768.                     ie--,
  769.                         ae += Q[te++] << se,
  770.                         se += 8
  771.                 }
  772.                 if ((65535 & ae) !== (ae >>> 16 ^ 65535)) {
  773.                     e.msg = "invalid stored block lengths",
  774.                         n.mode = X;
  775.                     break
  776.                 }
  777.                 if (n.length = 65535 & ae,
  778.                     ae = 0,
  779.                     se = 0,
  780.                     n.mode = R,
  781.                 t === f)
  782.                     break e;
  783.             case 15:
  784.                 n.mode = $;
  785.             case 16:
  786.                 if (ce = n.length,
  787.                     ce) {
  788.                     if (ce > ie && (ce = ie),
  789.                     ce > oe && (ce = oe),
  790.                     0 === ce)
  791.                         break e;
  792.                     ee.set(Q.subarray(te, te + ce), ne),
  793.                         ie -= ce,
  794.                         te += ce,
  795.                         oe -= ce,
  796.                         ne += ce,
  797.                         n.length -= ce;
  798.                     break
  799.                 }
  800.                 n.mode = D;
  801.                 break;
  802.             case 17:
  803.                 while (se < 14) {
  804.                     if (0 === ie)
  805.                         break e;
  806.                     ie--,
  807.                         ae += Q[te++] << se,
  808.                         se += 8
  809.                 }
  810.                 if (n.nlen = 257 + (31 & ae),
  811.                     ae >>>= 5,
  812.                     se -= 5,
  813.                     n.ndist = 1 + (31 & ae),
  814.                     ae >>>= 5,
  815.                     se -= 5,
  816.                     n.ncode = 4 + (15 & ae),
  817.                     ae >>>= 4,
  818.                     se -= 4,
  819.                 n.nlen > 286 || n.ndist > 30) {
  820.                     e.msg = "too many length or distance symbols",
  821.                         n.mode = X;
  822.                     break
  823.                 }
  824.                 n.have = 0,
  825.                     n.mode = 18;
  826.             case 18:
  827.                 while (n.have < n.ncode) {
  828.                     while (se < 3) {
  829.                         if (0 === ie)
  830.                             break e;
  831.                         ie--,
  832.                             ae += Q[te++] << se,
  833.                             se += 8
  834.                     }
  835.                     n.lens[Te[n.have++]] = 7 & ae,
  836.                         ae >>>= 3,
  837.                         se -= 3
  838.                 }
  839.                 while (n.have < 19)
  840.                     n.lens[Te[n.have++]] = 0;
  841.                 if (n.lencode = n.lendyn,
  842.                     n.lenbits = 7,
  843.                     Ee = {
  844.                         bits: n.lenbits
  845.                     },
  846.                     _e = aaaaaa(0, n.lens, 0, 19, n.lencode, 0, n.work, Ee),
  847.                     n.lenbits = Ee.bits,
  848.                     _e) {
  849.                     e.msg = "invalid code lengths set",
  850.                         n.mode = 30;
  851.                     break
  852.                 }
  853.                 n.have = 0,
  854.                     n.mode = 19;
  855.             case 19:
  856.                 while (n.have < n.nlen + n.ndist) {
  857.                     for (; ;) {
  858.                         if (Se = n.lencode[ae & (1 << n.lenbits) - 1],
  859.                             me = Se >>> 24,
  860.                             ve = Se >>> 16 & 255,
  861.                             ge = 65535 & Se,
  862.                         me <= se)
  863.                             break;
  864.                         if (0 === ie)
  865.                             break e;
  866.                         ie--,
  867.                             ae += Q[te++] << se,
  868.                             se += 8
  869.                     }
  870.                     if (ge < 16)
  871.                         ae >>>= me,
  872.                             se -= me,
  873.                             n.lens[n.have++] = ge;
  874.                     else {
  875.                         if (16 === ge) {
  876.                             ke = me + 2;
  877.                             while (se < ke) {
  878.                                 if (0 === ie)
  879.                                     break e;
  880.                                 ie--,
  881.                                     ae += Q[te++] << se,
  882.                                     se += 8
  883.                             }
  884.                             if (ae >>>= me,
  885.                                 se -= me,
  886.                             0 === n.have) {
  887.                                 e.msg = "invalid bit length repeat",
  888.                                     n.mode = X;
  889.                                 break
  890.                             }
  891.                             we = n.lens[n.have - 1],
  892.                                 ce = 3 + (3 & ae),
  893.                                 ae >>>= 2,
  894.                                 se -= 2
  895.                         } else if (17 === ge) {
  896.                             ke = me + 3;
  897.                             while (se < ke) {
  898.                                 if (0 === ie)
  899.                                     break e;
  900.                                 ie--,
  901.                                     ae += Q[te++] << se,
  902.                                     se += 8
  903.                             }
  904.                             ae >>>= me,
  905.                                 se -= me,
  906.                                 we = 0,
  907.                                 ce = 3 + (7 & ae),
  908.                                 ae >>>= 3,
  909.                                 se -= 3
  910.                         } else {
  911.                             ke = me + 7;
  912.                             while (se < ke) {
  913.                                 if (0 === ie)
  914.                                     break e;
  915.                                 ie--,
  916.                                     ae += Q[te++] << se,
  917.                                     se += 8
  918.                             }
  919.                             ae >>>= me,
  920.                                 se -= me,
  921.                                 we = 0,
  922.                                 ce = 11 + (127 & ae),
  923.                                 ae >>>= 7,
  924.                                 se -= 7
  925.                         }
  926.                         if (n.have + ce > n.nlen + n.ndist) {
  927.                             e.msg = "invalid bit length repeat",
  928.                                 n.mode = X;
  929.                             break
  930.                         }
  931.                         while (ce--)
  932.                             n.lens[n.have++] = we
  933.                     }
  934.                 }
  935.                 if (n.mode === X)
  936.                     break;
  937.                 if (0 === n.lens[256]) {
  938.                     e.msg = "invalid code -- missing end-of-block",
  939.                         n.mode = X;
  940.                     break
  941.                 }
  942.                 if (n.lenbits = 9,
  943.                     Ee = {
  944.                         bits: n.lenbits
  945.                     },
  946.                     _e = a(l, n.lens, 0, n.nlen, n.lencode, 0, n.work, Ee),
  947.                     n.lenbits = Ee.bits,
  948.                     _e) {
  949.                     e.msg = "invalid literal/lengths set",
  950.                         n.mode = X;
  951.                     break
  952.                 }
  953.                 if (n.distbits = 6,
  954.                     n.distcode = n.distdyn,
  955.                     Ee = {
  956.                         bits: n.distbits
  957.                     },
  958.                     _e = a(u, n.lens, n.nlen, n.ndist, n.distcode, 0, n.work, Ee),
  959.                     n.distbits = Ee.bits,
  960.                     _e) {
  961.                     e.msg = "invalid distances set",
  962.                         n.mode = X;
  963.                     break
  964.                 }
  965.                 if (n.mode = 20,
  966.                 t === 6)
  967.                     break e;
  968.             case 20:
  969.                 n.mode = 21;
  970.             case 21:
  971.                 if (ie >= 6 && oe >= 258) {
  972.                     e.next_out = ne,
  973.                         e.avail_out = oe,
  974.                         e.next_in = te,
  975.                         e.avail_in = ie,
  976.                         n.hold = ae,
  977.                         n.bits = se,
  978.                         o(e, ue),
  979.                         ne = e.next_out,
  980.                         ee = e.output,
  981.                         oe = e.avail_out,
  982.                         te = e.next_in,
  983.                         Q = e.input,
  984.                         ie = e.avail_in,
  985.                         ae = n.hold,
  986.                         se = n.bits,
  987.                     n.mode === D && (n.back = -1);
  988.                     break
  989.                 }
  990.                 for (n.back = 0; ;) {
  991.                     if (Se = n.lencode[ae & (1 << n.lenbits) - 1],
  992.                         me = Se >>> 24,
  993.                         ve = Se >>> 16 & 255,
  994.                         ge = 65535 & Se,
  995.                     me <= se)
  996.                         break;
  997.                     if (0 === ie)
  998.                         break e;
  999.                     ie--,
  1000.                         ae += Q[te++] << se,
  1001.                         se += 8
  1002.                 }
  1003.                 if (ve && 0 === (240 & ve)) {
  1004.                     for (ye = me,
  1005.                              be = ve,
  1006.                              xe = ge; ;) {
  1007.                         if (Se = n.lencode[xe + ((ae & (1 << ye + be) - 1) >> ye)],
  1008.                             me = Se >>> 24,
  1009.                             ve = Se >>> 16 & 255,
  1010.                             ge = 65535 & Se,
  1011.                         ye + me <= se)
  1012.                             break;
  1013.                         if (0 === ie)
  1014.                             break e;
  1015.                         ie--,
  1016.                             ae += Q[te++] << se,
  1017.                             se += 8
  1018.                     }
  1019.                     ae >>>= ye,
  1020.                         se -= ye,
  1021.                         n.back += ye
  1022.                 }
  1023.                 if (ae >>>= me,
  1024.                     se -= me,
  1025.                     n.back += me,
  1026.                     n.length = ge,
  1027.                 0 === ve) {
  1028.                     n.mode = W;
  1029.                     break
  1030.                 }
  1031.                 if (32 & ve) {
  1032.                     n.back = -1,
  1033.                         n.mode = D;
  1034.                     break
  1035.                 }
  1036.                 if (64 & ve) {
  1037.                     e.msg = "invalid literal/length code",
  1038.                         n.mode = X;
  1039.                     break
  1040.                 }
  1041.                 n.extra = 15 & ve,
  1042.                     n.mode = 22;
  1043.             case 22:
  1044.                 if (n.extra) {
  1045.                     ke = n.extra;
  1046.                     while (se < ke) {
  1047.                         if (0 === ie)
  1048.                             break e;
  1049.                         ie--,
  1050.                             ae += Q[te++] << se,
  1051.                             se += 8
  1052.                     }
  1053.                     n.length += ae & (1 << n.extra) - 1,
  1054.                         ae >>>= n.extra,
  1055.                         se -= n.extra,
  1056.                         n.back += n.extra
  1057.                 }
  1058.                 n.was = n.length,
  1059.                     n.mode = 23;
  1060.             case 23:
  1061.                 for (; ;) {
  1062.                     if (Se = n.distcode[ae & (1 << n.distbits) - 1],
  1063.                         me = Se >>> 24,
  1064.                         ve = Se >>> 16 & 255,
  1065.                         ge = 65535 & Se,
  1066.                     me <= se)
  1067.                         break;
  1068.                     if (0 === ie)
  1069.                         break e;
  1070.                     ie--,
  1071.                         ae += Q[te++] << se,
  1072.                         se += 8
  1073.                 }
  1074.                 if (0 === (240 & ve)) {
  1075.                     for (ye = me,
  1076.                              be = ve,
  1077.                              xe = ge; ;) {
  1078.                         if (Se = n.distcode[xe + ((ae & (1 << ye + be) - 1) >> ye)],
  1079.                             me = Se >>> 24,
  1080.                             ve = Se >>> 16 & 255,
  1081.                             ge = 65535 & Se,
  1082.                         ye + me <= se)
  1083.                             break;
  1084.                         if (0 === ie)
  1085.                             break e;
  1086.                         ie--,
  1087.                             ae += Q[te++] << se,
  1088.                             se += 8
  1089.                     }
  1090.                     ae >>>= ye,
  1091.                         se -= ye,
  1092.                         n.back += ye
  1093.                 }
  1094.                 if (ae >>>= me,
  1095.                     se -= me,
  1096.                     n.back += me,
  1097.                 64 & ve) {
  1098.                     e.msg = "invalid distance code",
  1099.                         n.mode = X;
  1100.                     break
  1101.                 }
  1102.                 n.offset = ge,
  1103.                     n.extra = 15 & ve,
  1104.                     n.mode = 24;
  1105.             case 24:
  1106.                 if (n.extra) {
  1107.                     ke = n.extra;
  1108.                     while (se < ke) {
  1109.                         if (0 === ie)
  1110.                             break e;
  1111.                         ie--,
  1112.                             ae += Q[te++] << se,
  1113.                             se += 8
  1114.                     }
  1115.                     n.offset += ae & (1 << n.extra) - 1,
  1116.                         ae >>>= n.extra,
  1117.                         se -= n.extra,
  1118.                         n.back += n.extra
  1119.                 }
  1120.                 if (n.offset > n.dmax) {
  1121.                     e.msg = "invalid distance too far back",
  1122.                         n.mode = X;
  1123.                     break
  1124.                 }
  1125.                 n.mode = 25;
  1126.             case 25:
  1127.                 if (0 === oe)
  1128.                     break e;
  1129.                 if (ce = ue - oe,
  1130.                 n.offset > ce) {
  1131.                     if (ce = n.offset - ce,
  1132.                     ce > n.whave && n.sane) {
  1133.                         e.msg = "invalid distance too far back",
  1134.                             n.mode = 30;
  1135.                         break
  1136.                     }
  1137.                     ce > n.wnext ? (ce -= n.wnext,
  1138.                         he = n.wsize - ce) : he = n.wnext - ce,
  1139.                     ce > n.length && (ce = n.length),
  1140.                         fe = n.window
  1141.                 } else
  1142.                     fe = ee,
  1143.                         he = ne - n.offset,
  1144.                         ce = n.length;
  1145.                 ce > oe && (ce = oe),
  1146.                     oe -= ce,
  1147.                     n.length -= ce;
  1148.                 do {
  1149.                     ee[ne++] = fe[he++]
  1150.                 } while (--ce);
  1151.                 0 === n.length && (n.mode = z);
  1152.                 break;
  1153.             case 26:
  1154.                 if (0 === oe)
  1155.                     break e;
  1156.                 ee[ne++] = n.length,
  1157.                     oe--,
  1158.                     n.mode = 21;
  1159.                 break;
  1160.             case 27:
  1161.                 if (n.wrap) {
  1162.                     while (se < 32) {
  1163.                         if (0 === ie)
  1164.                             break e;
  1165.                         ie--,
  1166.                             ae |= Q[te++] << se,
  1167.                             se += 8
  1168.                     }
  1169.                     if (ue -= oe,
  1170.                         e.total_out += ue,
  1171.                         n.total += ue,
  1172.                     ue && (e.adler = n.check = n.flags ? i(n.check, ee, ue, ne - ue) : r(n.check, ee, ue, ne - ue)),
  1173.                         ue = oe,
  1174.                     (n.flags ? ae : re(ae)) !== n.check) {
  1175.                         e.msg = "incorrect data check",
  1176.                             n.mode = X;
  1177.                         break
  1178.                     }
  1179.                     ae = 0,
  1180.                         se = 0
  1181.                 }
  1182.                 n.mode = 28;
  1183.             case 28:
  1184.                 if (n.wrap && n.flags) {
  1185.                     while (se < 32) {
  1186.                         if (0 === ie)
  1187.                             break e;
  1188.                         ie--,
  1189.                             ae += Q[te++] << se,
  1190.                             se += 8
  1191.                     }
  1192.                     if (ae !== (4294967295 & n.total)) {
  1193.                         e.msg = "incorrect length check",
  1194.                             n.mode = X;
  1195.                         break
  1196.                     }
  1197.                     ae = 0,
  1198.                         se = 0
  1199.                 }
  1200.                 n.mode = 29;
  1201.             case 29:
  1202.                 _e = 1;
  1203.                 break e;
  1204.             case 30:
  1205.                 _e = -3;
  1206.                 break e;
  1207.             case 31:
  1208.                 return y;
  1209.             case 32:
  1210.             default:
  1211.                 return v
  1212.         }
  1213.     return e.next_out = ne,
  1214.         e.avail_out = oe,
  1215.         e.next_in = te,
  1216.         e.avail_in = ie,
  1217.         n.hold = ae,
  1218.         n.bits = se,
  1219.         (n.wsize || ue !== e.avail_out && n.mode < 30 && (n.mode < 27 || t !== 4)) && pe(e, e.output, e.next_out, ue - e.avail_out) ? (n.mode = 31,
  1220.             -4) : (le -= e.avail_in,
  1221.             ue -= e.avail_out,
  1222.             e.total_in += le,
  1223.             e.total_out += ue,
  1224.             n.total += ue,
  1225.         n.wrap && ue && (e.adler = n.check = n.flags ? i(n.check, ee, ue, e.next_out - ue) : r(n.check, ee, ue, e.next_out - ue)),
  1226.             e.data_type = n.bits + (n.last ? 64 : 0) + (n.mode === 12 ? 128 : 0) + (n.mode === 20 || n.mode === 15 ? 256 : 0),
  1227.         (0 === le && 0 === ue || t === 4) && _e === d && (_e = b),
  1228.             _e)
  1229. }
  1230. function pusher(e, t) {
  1231.     const n = {
  1232.         "input": null,
  1233.         "next_in": 0,
  1234.         "avail_in": 0,
  1235.         "total_in": 0,
  1236.         "output": null,
  1237.         "next_out": 0,
  1238.         "avail_out": 0,
  1239.         "total_out": 0,
  1240.         "msg": "",
  1241.         "state": {
  1242.             "mode": 1,
  1243.             "last": 0,
  1244.             "wrap": 3,
  1245.             "havedict": 0,
  1246.             "flags": 0,
  1247.             "dmax": 32768,
  1248.             "check": 0,
  1249.             "total": 0,
  1250.             "head": {
  1251.                 "text": 0,
  1252.                 "time": 0,
  1253.                 "xflags": 0,
  1254.                 "os": 0,
  1255.                 "extra": null,
  1256.                 "extra_len": 0,
  1257.                 "name": "",
  1258.                 "comment": "",
  1259.                 "hcrc": 0,
  1260.                 "done": false
  1261.             },
  1262.             "wbits": 15,
  1263.             "wsize": 0,
  1264.             "whave": 0,
  1265.             "wnext": 0,
  1266.             "window": null,
  1267.             "hold": 0,
  1268.             "bits": 0,
  1269.             "length": 0,
  1270.             "offset": 0,
  1271.             "extra": 0,
  1272.             "lencode": {
  1273.                 "0": 0,
  1274.                 "1": 0,
  1275.                 "2": 0,
  1276.                 "3": 0,
  1277.                 "4": 0,
  1278.                 "5": 0,
  1279.                 "6": 0,
  1280.                 "7": 0,
  1281.                 "8": 0,
  1282.                 "9": 0,
  1283.                 "10": 0,
  1284.                 "11": 0,
  1285.                 "12": 0,
  1286.                 "13": 0,
  1287.                 "14": 0,
  1288.                 "15": 0,
  1289.                 "16": 0,
  1290.                 "17": 0,
  1291.                 "18": 0,
  1292.                 "19": 0,
  1293.                 "20": 0,
  1294.                 "21": 0,
  1295.                 "22": 0,
  1296.                 "23": 0,
  1297.                 "24": 0,
  1298.                 "25": 0,
  1299.                 "26": 0,
  1300.                 "27": 0,
  1301.                 "28": 0,
  1302.                 "29": 0,
  1303.                 "30": 0,
  1304.                 "31": 0,
  1305.                 "32": 0,
  1306.                 "33": 0,
  1307.                 "34": 0,
  1308.                 "35": 0,
  1309.                 "36": 0,
  1310.                 "37": 0,
  1311.                 "38": 0,
  1312.                 "39": 0,
  1313.                 "40": 0,
  1314.                 "41": 0,
  1315.                 "42": 0,
  1316.                 "43": 0,
  1317.                 "44": 0,
  1318.                 "45": 0,
  1319.                 "46": 0,
  1320.                 "47": 0,
  1321.                 "48": 0,
  1322.                 "49": 0,
  1323.                 "50": 0,
  1324.                 "51": 0,
  1325.                 "52": 0,
  1326.                 "53": 0,
  1327.                 "54": 0,
  1328.                 "55": 0,
  1329.                 "56": 0,
  1330.                 "57": 0,
  1331.                 "58": 0,
  1332.                 "59": 0,
  1333.                 "60": 0,
  1334.                 "61": 0,
  1335.                 "62": 0,
  1336.                 "63": 0,
  1337.                 "64": 0,
  1338.                 "65": 0,
  1339.                 "66": 0,
  1340.                 "67": 0,
  1341.                 "68": 0,
  1342.                 "69": 0,
  1343.                 "70": 0,
  1344.                 "71": 0,
  1345.                 "72": 0,
  1346.                 "73": 0,
  1347.                 "74": 0,
  1348.                 "75": 0,
  1349.                 "76": 0,
  1350.                 "77": 0,
  1351.                 "78": 0,
  1352.                 "79": 0,
  1353.                 "80": 0,
  1354.                 "81": 0,
  1355.                 "82": 0,
  1356.                 "83": 0,
  1357.                 "84": 0,
  1358.                 "85": 0,
  1359.                 "86": 0,
  1360.                 "87": 0,
  1361.                 "88": 0,
  1362.                 "89": 0,
  1363.                 "90": 0,
  1364.                 "91": 0,
  1365.                 "92": 0,
  1366.                 "93": 0,
  1367.                 "94": 0,
  1368.                 "95": 0,
  1369.                 "96": 0,
  1370.                 "97": 0,
  1371.                 "98": 0,
  1372.                 "99": 0,
  1373.                 "100": 0,
  1374.                 "101": 0,
  1375.                 "102": 0,
  1376.                 "103": 0,
  1377.                 "104": 0,
  1378.                 "105": 0,
  1379.                 "106": 0,
  1380.                 "107": 0,
  1381.                 "108": 0,
  1382.                 "109": 0,
  1383.                 "110": 0,
  1384.                 "111": 0,
  1385.                 "112": 0,
  1386.                 "113": 0,
  1387.                 "114": 0,
  1388.                 "115": 0,
  1389.                 "116": 0,
  1390.                 "117": 0,
  1391.                 "118": 0,
  1392.                 "119": 0,
  1393.                 "120": 0,
  1394.                 "121": 0,
  1395.                 "122": 0,
  1396.                 "123": 0,
  1397.                 "124": 0,
  1398.                 "125": 0,
  1399.                 "126": 0,
  1400.                 "127": 0,
  1401.                 "128": 0,
  1402.                 "129": 0,
  1403.                 "130": 0,
  1404.                 "131": 0,
  1405.                 "132": 0,
  1406.                 "133": 0,
  1407.                 "134": 0,
  1408.                 "135": 0,
  1409.                 "136": 0,
  1410.                 "137": 0,
  1411.                 "138": 0,
  1412.                 "139": 0,
  1413.                 "140": 0,
  1414.                 "141": 0,
  1415.                 "142": 0,
  1416.                 "143": 0,
  1417.                 "144": 0,
  1418.                 "145": 0,
  1419.                 "146": 0,
  1420.                 "147": 0,
  1421.                 "148": 0,
  1422.                 "149": 0,
  1423.                 "150": 0,
  1424.                 "151": 0,
  1425.                 "152": 0,
  1426.                 "153": 0,
  1427.                 "154": 0,
  1428.                 "155": 0,
  1429.                 "156": 0,
  1430.                 "157": 0,
  1431.                 "158": 0,
  1432.                 "159": 0,
  1433.                 "160": 0,
  1434.                 "161": 0,
  1435.                 "162": 0,
  1436.                 "163": 0,
  1437.                 "164": 0,
  1438.                 "165": 0,
  1439.                 "166": 0,
  1440.                 "167": 0,
  1441.                 "168": 0,
  1442.                 "169": 0,
  1443.                 "170": 0,
  1444.                 "171": 0,
  1445.                 "172": 0,
  1446.                 "173": 0,
  1447.                 "174": 0,
  1448.                 "175": 0,
  1449.                 "176": 0,
  1450.                 "177": 0,
  1451.                 "178": 0,
  1452.                 "179": 0,
  1453.                 "180": 0,
  1454.                 "181": 0,
  1455.                 "182": 0,
  1456.                 "183": 0,
  1457.                 "184": 0,
  1458.                 "185": 0,
  1459.                 "186": 0,
  1460.                 "187": 0,
  1461.                 "188": 0,
  1462.                 "189": 0,
  1463.                 "190": 0,
  1464.                 "191": 0,
  1465.                 "192": 0,
  1466.                 "193": 0,
  1467.                 "194": 0,
  1468.                 "195": 0,
  1469.                 "196": 0,
  1470.                 "197": 0,
  1471.                 "198": 0,
  1472.                 "199": 0,
  1473.                 "200": 0,
  1474.                 "201": 0,
  1475.                 "202": 0,
  1476.                 "203": 0,
  1477.                 "204": 0,
  1478.                 "205": 0,
  1479.                 "206": 0,
  1480.                 "207": 0,
  1481.                 "208": 0,
  1482.                 "209": 0,
  1483.                 "210": 0,
  1484.                 "211": 0,
  1485.                 "212": 0,
  1486.                 "213": 0,
  1487.                 "214": 0,
  1488.                 "215": 0,
  1489.                 "216": 0,
  1490.                 "217": 0,
  1491.                 "218": 0,
  1492.                 "219": 0,
  1493.                 "220": 0,
  1494.                 "221": 0,
  1495.                 "222": 0,
  1496.                 "223": 0,
  1497.                 "224": 0,
  1498.                 "225": 0,
  1499.                 "226": 0,
  1500.                 "227": 0,
  1501.                 "228": 0,
  1502.                 "229": 0,
  1503.                 "230": 0,
  1504.                 "231": 0,
  1505.                 "232": 0,
  1506.                 "233": 0,
  1507.                 "234": 0,
  1508.                 "235": 0,
  1509.                 "236": 0,
  1510.                 "237": 0,
  1511.                 "238": 0,
  1512.                 "239": 0,
  1513.                 "240": 0,
  1514.                 "241": 0,
  1515.                 "242": 0,
  1516.                 "243": 0,
  1517.                 "244": 0,
  1518.                 "245": 0,
  1519.                 "246": 0,
  1520.                 "247": 0,
  1521.                 "248": 0,
  1522.                 "249": 0,
  1523.                 "250": 0,
  1524.                 "251": 0,
  1525.                 "252": 0,
  1526.                 "253": 0,
  1527.                 "254": 0,
  1528.                 "255": 0,
  1529.                 "256": 0,
  1530.                 "257": 0,
  1531.                 "258": 0,
  1532.                 "259": 0,
  1533.                 "260": 0,
  1534.                 "261": 0,
  1535.                 "262": 0,
  1536.                 "263": 0,
  1537.                 "264": 0,
  1538.                 "265": 0,
  1539.                 "266": 0,
  1540.                 "267": 0,
  1541.                 "268": 0,
  1542.                 "269": 0,
  1543.                 "270": 0,
  1544.                 "271": 0,
  1545.                 "272": 0,
  1546.                 "273": 0,
  1547.                 "274": 0,
  1548.                 "275": 0,
  1549.                 "276": 0,
  1550.                 "277": 0,
  1551.                 "278": 0,
  1552.                 "279": 0,
  1553.                 "280": 0,
  1554.                 "281": 0,
  1555.                 "282": 0,
  1556.                 "283": 0,
  1557.                 "284": 0,
  1558.                 "285": 0,
  1559.                 "286": 0,
  1560.                 "287": 0,
  1561.                 "288": 0,
  1562.                 "289": 0,
  1563.                 "290": 0,
  1564.                 "291": 0,
  1565.                 "292": 0,
  1566.                 "293": 0,
  1567.                 "294": 0,
  1568.                 "295": 0,
  1569.                 "296": 0,
  1570.                 "297": 0,
  1571.                 "298": 0,
  1572.                 "299": 0,
  1573.                 "300": 0,
  1574.                 "301": 0,
  1575.                 "302": 0,
  1576.                 "303": 0,
  1577.                 "304": 0,
  1578.                 "305": 0,
  1579.                 "306": 0,
  1580.                 "307": 0,
  1581.                 "308": 0,
  1582.                 "309": 0,
  1583.                 "310": 0,
  1584.                 "311": 0,
  1585.                 "312": 0,
  1586.                 "313": 0,
  1587.                 "314": 0,
  1588.                 "315": 0,
  1589.                 "316": 0,
  1590.                 "317": 0,
  1591.                 "318": 0,
  1592.                 "319": 0,
  1593.                 "320": 0,
  1594.                 "321": 0,
  1595.                 "322": 0,
  1596.                 "323": 0,
  1597.                 "324": 0,
  1598.                 "325": 0,
  1599.                 "326": 0,
  1600.                 "327": 0,
  1601.                 "328": 0,
  1602.                 "329": 0,
  1603.                 "330": 0,
  1604.                 "331": 0,
  1605.                 "332": 0,
  1606.                 "333": 0,
  1607.                 "334": 0,
  1608.                 "335": 0,
  1609.                 "336": 0,
  1610.                 "337": 0,
  1611.                 "338": 0,
  1612.                 "339": 0,
  1613.                 "340": 0,
  1614.                 "341": 0,
  1615.                 "342": 0,
  1616.                 "343": 0,
  1617.                 "344": 0,
  1618.                 "345": 0,
  1619.                 "346": 0,
  1620.                 "347": 0,
  1621.                 "348": 0,
  1622.                 "349": 0,
  1623.                 "350": 0,
  1624.                 "351": 0,
  1625.                 "352": 0,
  1626.                 "353": 0,
  1627.                 "354": 0,
  1628.                 "355": 0,
  1629.                 "356": 0,
  1630.                 "357": 0,
  1631.                 "358": 0,
  1632.                 "359": 0,
  1633.                 "360": 0,
  1634.                 "361": 0,
  1635.                 "362": 0,
  1636.                 "363": 0,
  1637.                 "364": 0,
  1638.                 "365": 0,
  1639.                 "366": 0,
  1640.                 "367": 0,
  1641.                 "368": 0,
  1642.                 "369": 0,
  1643.                 "370": 0,
  1644.                 "371": 0,
  1645.                 "372": 0,
  1646.                 "373": 0,
  1647.                 "374": 0,
  1648.                 "375": 0,
  1649.                 "376": 0,
  1650.                 "377": 0,
  1651.                 "378": 0,
  1652.                 "379": 0,
  1653.                 "380": 0,
  1654.                 "381": 0,
  1655.                 "382": 0,
  1656.                 "383": 0,
  1657.                 "384": 0,
  1658.                 "385": 0,
  1659.                 "386": 0,
  1660.                 "387": 0,
  1661.                 "388": 0,
  1662.                 "389": 0,
  1663.                 "390": 0,
  1664.                 "391": 0,
  1665.                 "392": 0,
  1666.                 "393": 0,
  1667.                 "394": 0,
  1668.                 "395": 0,
  1669.                 "396": 0,
  1670.                 "397": 0,
  1671.                 "398": 0,
  1672.                 "399": 0,
  1673.                 "400": 0,
  1674.                 "401": 0,
  1675.                 "402": 0,
  1676.                 "403": 0,
  1677.                 "404": 0,
  1678.                 "405": 0,
  1679.                 "406": 0,
  1680.                 "407": 0,
  1681.                 "408": 0,
  1682.                 "409": 0,
  1683.                 "410": 0,
  1684.                 "411": 0,
  1685.                 "412": 0,
  1686.                 "413": 0,
  1687.                 "414": 0,
  1688.                 "415": 0,
  1689.                 "416": 0,
  1690.                 "417": 0,
  1691.                 "418": 0,
  1692.                 "419": 0,
  1693.                 "420": 0,
  1694.                 "421": 0,
  1695.                 "422": 0,
  1696.                 "423": 0,
  1697.                 "424": 0,
  1698.                 "425": 0,
  1699.                 "426": 0,
  1700.                 "427": 0,
  1701.                 "428": 0,
  1702.                 "429": 0,
  1703.                 "430": 0,
  1704.                 "431": 0,
  1705.                 "432": 0,
  1706.                 "433": 0,
  1707.                 "434": 0,
  1708.                 "435": 0,
  1709.                 "436": 0,
  1710.                 "437": 0,
  1711.                 "438": 0,
  1712.                 "439": 0,
  1713.                 "440": 0,
  1714.                 "441": 0,
  1715.                 "442": 0,
  1716.                 "443": 0,
  1717.                 "444": 0,
  1718.                 "445": 0,
  1719.                 "446": 0,
  1720.                 "447": 0,
  1721.                 "448": 0,
  1722.                 "449": 0,
  1723.                 "450": 0,
  1724.                 "451": 0,
  1725.                 "452": 0,
  1726.                 "453": 0,
  1727.                 "454": 0,
  1728.                 "455": 0,
  1729.                 "456": 0,
  1730.                 "457": 0,
  1731.                 "458": 0,
  1732.                 "459": 0,
  1733.                 "460": 0,
  1734.                 "461": 0,
  1735.                 "462": 0,
  1736.                 "463": 0,
  1737.                 "464": 0,
  1738.                 "465": 0,
  1739.                 "466": 0,
  1740.                 "467": 0,
  1741.                 "468": 0,
  1742.                 "469": 0,
  1743.                 "470": 0,
  1744.                 "471": 0,
  1745.                 "472": 0,
  1746.                 "473": 0,
  1747.                 "474": 0,
  1748.                 "475": 0,
  1749.                 "476": 0,
  1750.                 "477": 0,
  1751.                 "478": 0,
  1752.                 "479": 0,
  1753.                 "480": 0,
  1754.                 "481": 0,
  1755.                 "482": 0,
  1756.                 "483": 0,
  1757.                 "484": 0,
  1758.                 "485": 0,
  1759.                 "486": 0,
  1760.                 "487": 0,
  1761.                 "488": 0,
  1762.                 "489": 0,
  1763.                 "490": 0,
  1764.                 "491": 0,
  1765.                 "492": 0,
  1766.                 "493": 0,
  1767.                 "494": 0,
  1768.                 "495": 0,
  1769.                 "496": 0,
  1770.                 "497": 0,
  1771.                 "498": 0,
  1772.                 "499": 0,
  1773.                 "500": 0,
  1774.                 "501": 0,
  1775.                 "502": 0,
  1776.                 "503": 0,
  1777.                 "504": 0,
  1778.                 "505": 0,
  1779.                 "506": 0,
  1780.                 "507": 0,
  1781.                 "508": 0,
  1782.                 "509": 0,
  1783.                 "510": 0,
  1784.                 "511": 0,
  1785.                 "512": 0,
  1786.                 "513": 0,
  1787.                 "514": 0,
  1788.                 "515": 0,
  1789.                 "516": 0,
  1790.                 "517": 0,
  1791.                 "518": 0,
  1792.                 "519": 0,
  1793.                 "520": 0,
  1794.                 "521": 0,
  1795.                 "522": 0,
  1796.                 "523": 0,
  1797.                 "524": 0,
  1798.                 "525": 0,
  1799.                 "526": 0,
  1800.                 "527": 0,
  1801.                 "528": 0,
  1802.                 "529": 0,
  1803.                 "530": 0,
  1804.                 "531": 0,
  1805.                 "532": 0,
  1806.                 "533": 0,
  1807.                 "534": 0,
  1808.                 "535": 0,
  1809.                 "536": 0,
  1810.                 "537": 0,
  1811.                 "538": 0,
  1812.                 "539": 0,
  1813.                 "540": 0,
  1814.                 "541": 0,
  1815.                 "542": 0,
  1816.                 "543": 0,
  1817.                 "544": 0,
  1818.                 "545": 0,
  1819.                 "546": 0,
  1820.                 "547": 0,
  1821.                 "548": 0,
  1822.                 "549": 0,
  1823.                 "550": 0,
  1824.                 "551": 0,
  1825.                 "552": 0,
  1826.                 "553": 0,
  1827.                 "554": 0,
  1828.                 "555": 0,
  1829.                 "556": 0,
  1830.                 "557": 0,
  1831.                 "558": 0,
  1832.                 "559": 0,
  1833.                 "560": 0,
  1834.                 "561": 0,
  1835.                 "562": 0,
  1836.                 "563": 0,
  1837.                 "564": 0,
  1838.                 "565": 0,
  1839.                 "566": 0,
  1840.                 "567": 0,
  1841.                 "568": 0,
  1842.                 "569": 0,
  1843.                 "570": 0,
  1844.                 "571": 0,
  1845.                 "572": 0,
  1846.                 "573": 0,
  1847.                 "574": 0,
  1848.                 "575": 0,
  1849.                 "576": 0,
  1850.                 "577": 0,
  1851.                 "578": 0,
  1852.                 "579": 0,
  1853.                 "580": 0,
  1854.                 "581": 0,
  1855.                 "582": 0,
  1856.                 "583": 0,
  1857.                 "584": 0,
  1858.                 "585": 0,
  1859.                 "586": 0,
  1860.                 "587": 0,
  1861.                 "588": 0,
  1862.                 "589": 0,
  1863.                 "590": 0,
  1864.                 "591": 0,
  1865.                 "592": 0,
  1866.                 "593": 0,
  1867.                 "594": 0,
  1868.                 "595": 0,
  1869.                 "596": 0,
  1870.                 "597": 0,
  1871.                 "598": 0,
  1872.                 "599": 0,
  1873.                 "600": 0,
  1874.                 "601": 0,
  1875.                 "602": 0,
  1876.                 "603": 0,
  1877.                 "604": 0,
  1878.                 "605": 0,
  1879.                 "606": 0,
  1880.                 "607": 0,
  1881.                 "608": 0,
  1882.                 "609": 0,
  1883.                 "610": 0,
  1884.                 "611": 0,
  1885.                 "612": 0,
  1886.                 "613": 0,
  1887.                 "614": 0,
  1888.                 "615": 0,
  1889.                 "616": 0,
  1890.                 "617": 0,
  1891.                 "618": 0,
  1892.                 "619": 0,
  1893.                 "620": 0,
  1894.                 "621": 0,
  1895.                 "622": 0,
  1896.                 "623": 0,
  1897.                 "624": 0,
  1898.                 "625": 0,
  1899.                 "626": 0,
  1900.                 "627": 0,
  1901.                 "628": 0,
  1902.                 "629": 0,
  1903.                 "630": 0,
  1904.                 "631": 0,
  1905.                 "632": 0,
  1906.                 "633": 0,
  1907.                 "634": 0,
  1908.                 "635": 0,
  1909.                 "636": 0,
  1910.                 "637": 0,
  1911.                 "638": 0,
  1912.                 "639": 0,
  1913.                 "640": 0,
  1914.                 "641": 0,
  1915.                 "642": 0,
  1916.                 "643": 0,
  1917.                 "644": 0,
  1918.                 "645": 0,
  1919.                 "646": 0,
  1920.                 "647": 0,
  1921.                 "648": 0,
  1922.                 "649": 0,
  1923.                 "650": 0,
  1924.                 "651": 0,
  1925.                 "652": 0,
  1926.                 "653": 0,
  1927.                 "654": 0,
  1928.                 "655": 0,
  1929.                 "656": 0,
  1930.                 "657": 0,
  1931.                 "658": 0,
  1932.                 "659": 0,
  1933.                 "660": 0,
  1934.                 "661": 0,
  1935.                 "662": 0,
  1936.                 "663": 0,
  1937.                 "664": 0,
  1938.                 "665": 0,
  1939.                 "666": 0,
  1940.                 "667": 0,
  1941.                 "668": 0,
  1942.                 "669": 0,
  1943.                 "670": 0,
  1944.                 "671": 0,
  1945.                 "672": 0,
  1946.                 "673": 0,
  1947.                 "674": 0,
  1948.                 "675": 0,
  1949.                 "676": 0,
  1950.                 "677": 0,
  1951.                 "678": 0,
  1952.                 "679": 0,
  1953.                 "680": 0,
  1954.                 "681": 0,
  1955.                 "682": 0,
  1956.                 "683": 0,
  1957.                 "684": 0,
  1958.                 "685": 0,
  1959.                 "686": 0,
  1960.                 "687": 0,
  1961.                 "688": 0,
  1962.                 "689": 0,
  1963.                 "690": 0,
  1964.                 "691": 0,
  1965.                 "692": 0,
  1966.                 "693": 0,
  1967.                 "694": 0,
  1968.                 "695": 0,
  1969.                 "696": 0,
  1970.                 "697": 0,
  1971.                 "698": 0,
  1972.                 "699": 0,
  1973.                 "700": 0,
  1974.                 "701": 0,
  1975.                 "702": 0,
  1976.                 "703": 0,
  1977.                 "704": 0,
  1978.                 "705": 0,
  1979.                 "706": 0,
  1980.                 "707": 0,
  1981.                 "708": 0,
  1982.                 "709": 0,
  1983.                 "710": 0,
  1984.                 "711": 0,
  1985.                 "712": 0,
  1986.                 "713": 0,
  1987.                 "714": 0,
  1988.                 "715": 0,
  1989.                 "716": 0,
  1990.                 "717": 0,
  1991.                 "718": 0,
  1992.                 "719": 0,
  1993.                 "720": 0,
  1994.                 "721": 0,
  1995.                 "722": 0,
  1996.                 "723": 0,
  1997.                 "724": 0,
  1998.                 "725": 0,
  1999.                 "726": 0,
  2000.                 "727": 0,
  2001.                 "728": 0,
  2002.                 "729": 0,
  2003.                 "730": 0,
  2004.                 "731": 0,
  2005.                 "732": 0,
  2006.                 "733": 0,
  2007.                 "734": 0,
  2008.                 "735": 0,
  2009.                 "736": 0,
  2010.                 "737": 0,
  2011.                 "738": 0,
  2012.                 "739": 0,
  2013.                 "740": 0,
  2014.                 "741": 0,
  2015.                 "742": 0,
  2016.                 "743": 0,
  2017.                 "744": 0,
  2018.                 "745": 0,
  2019.                 "746": 0,
  2020.                 "747": 0,
  2021.                 "748": 0,
  2022.                 "749": 0,
  2023.                 "750": 0,
  2024.                 "751": 0,
  2025.                 "752": 0,
  2026.                 "753": 0,
  2027.                 "754": 0,
  2028.                 "755": 0,
  2029.                 "756": 0,
  2030.                 "757": 0,
  2031.                 "758": 0,
  2032.                 "759": 0,
  2033.                 "760": 0,
  2034.                 "761": 0,
  2035.                 "762": 0,
  2036.                 "763": 0,
  2037.                 "764": 0,
  2038.                 "765": 0,
  2039.                 "766": 0,
  2040.                 "767": 0,
  2041.                 "768": 0,
  2042.                 "769": 0,
  2043.                 "770": 0,
  2044.                 "771": 0,
  2045.                 "772": 0,
  2046.                 "773": 0,
  2047.                 "774": 0,
  2048.                 "775": 0,
  2049.                 "776": 0,
  2050.                 "777": 0,
  2051.                 "778": 0,
  2052.                 "779": 0,
  2053.                 "780": 0,
  2054.                 "781": 0,
  2055.                 "782": 0,
  2056.                 "783": 0,
  2057.                 "784": 0,
  2058.                 "785": 0,
  2059.                 "786": 0,
  2060.                 "787": 0,
  2061.                 "788": 0,
  2062.                 "789": 0,
  2063.                 "790": 0,
  2064.                 "791": 0,
  2065.                 "792": 0,
  2066.                 "793": 0,
  2067.                 "794": 0,
  2068.                 "795": 0,
  2069.                 "796": 0,
  2070.                 "797": 0,
  2071.                 "798": 0,
  2072.                 "799": 0,
  2073.                 "800": 0,
  2074.                 "801": 0,
  2075.                 "802": 0,
  2076.                 "803": 0,
  2077.                 "804": 0,
  2078.                 "805": 0,
  2079.                 "806": 0,
  2080.                 "807": 0,
  2081.                 "808": 0,
  2082.                 "809": 0,
  2083.                 "810": 0,
  2084.                 "811": 0,
  2085.                 "812": 0,
  2086.                 "813": 0,
  2087.                 "814": 0,
  2088.                 "815": 0,
  2089.                 "816": 0,
  2090.                 "817": 0,
  2091.                 "818": 0,
  2092.                 "819": 0,
  2093.                 "820": 0,
  2094.                 "821": 0,
  2095.                 "822": 0,
  2096.                 "823": 0,
  2097.                 "824": 0,
  2098.                 "825": 0,
  2099.                 "826": 0,
  2100.                 "827": 0,
  2101.                 "828": 0,
  2102.                 "829": 0,
  2103.                 "830": 0,
  2104.                 "831": 0,
  2105.                 "832": 0,
  2106.                 "833": 0,
  2107.                 "834": 0,
  2108.                 "835": 0,
  2109.                 "836": 0,
  2110.                 "837": 0,
  2111.                 "838": 0,
  2112.                 "839": 0,
  2113.                 "840": 0,
  2114.                 "841": 0,
  2115.                 "842": 0,
  2116.                 "843": 0,
  2117.                 "844": 0,
  2118.                 "845": 0,
  2119.                 "846": 0,
  2120.                 "847": 0,
  2121.                 "848": 0,
  2122.                 "849": 0,
  2123.                 "850": 0,
  2124.                 "851": 0
  2125.             },
  2126.             "distcode": {
  2127.                 "0": 0,
  2128.                 "1": 0,
  2129.                 "2": 0,
  2130.                 "3": 0,
  2131.                 "4": 0,
  2132.                 "5": 0,
  2133.                 "6": 0,
  2134.                 "7": 0,
  2135.                 "8": 0,
  2136.                 "9": 0,
  2137.                 "10": 0,
  2138.                 "11": 0,
  2139.                 "12": 0,
  2140.                 "13": 0,
  2141.                 "14": 0,
  2142.                 "15": 0,
  2143.                 "16": 0,
  2144.                 "17": 0,
  2145.                 "18": 0,
  2146.                 "19": 0,
  2147.                 "20": 0,
  2148.                 "21": 0,
  2149.                 "22": 0,
  2150.                 "23": 0,
  2151.                 "24": 0,
  2152.                 "25": 0,
  2153.                 "26": 0,
  2154.                 "27": 0,
  2155.                 "28": 0,
  2156.                 "29": 0,
  2157.                 "30": 0,
  2158.                 "31": 0,
  2159.                 "32": 0,
  2160.                 "33": 0,
  2161.                 "34": 0,
  2162.                 "35": 0,
  2163.                 "36": 0,
  2164.                 "37": 0,
  2165.                 "38": 0,
  2166.                 "39": 0,
  2167.                 "40": 0,
  2168.                 "41": 0,
  2169.                 "42": 0,
  2170.                 "43": 0,
  2171.                 "44": 0,
  2172.                 "45": 0,
  2173.                 "46": 0,
  2174.                 "47": 0,
  2175.                 "48": 0,
  2176.                 "49": 0,
  2177.                 "50": 0,
  2178.                 "51": 0,
  2179.                 "52": 0,
  2180.                 "53": 0,
  2181.                 "54": 0,
  2182.                 "55": 0,
  2183.                 "56": 0,
  2184.                 "57": 0,
  2185.                 "58": 0,
  2186.                 "59": 0,
  2187.                 "60": 0,
  2188.                 "61": 0,
  2189.                 "62": 0,
  2190.                 "63": 0,
  2191.                 "64": 0,
  2192.                 "65": 0,
  2193.                 "66": 0,
  2194.                 "67": 0,
  2195.                 "68": 0,
  2196.                 "69": 0,
  2197.                 "70": 0,
  2198.                 "71": 0,
  2199.                 "72": 0,
  2200.                 "73": 0,
  2201.                 "74": 0,
  2202.                 "75": 0,
  2203.                 "76": 0,
  2204.                 "77": 0,
  2205.                 "78": 0,
  2206.                 "79": 0,
  2207.                 "80": 0,
  2208.                 "81": 0,
  2209.                 "82": 0,
  2210.                 "83": 0,
  2211.                 "84": 0,
  2212.                 "85": 0,
  2213.                 "86": 0,
  2214.                 "87": 0,
  2215.                 "88": 0,
  2216.                 "89": 0,
  2217.                 "90": 0,
  2218.                 "91": 0,
  2219.                 "92": 0,
  2220.                 "93": 0,
  2221.                 "94": 0,
  2222.                 "95": 0,
  2223.                 "96": 0,
  2224.                 "97": 0,
  2225.                 "98": 0,
  2226.                 "99": 0,
  2227.                 "100": 0,
  2228.                 "101": 0,
  2229.                 "102": 0,
  2230.                 "103": 0,
  2231.                 "104": 0,
  2232.                 "105": 0,
  2233.                 "106": 0,
  2234.                 "107": 0,
  2235.                 "108": 0,
  2236.                 "109": 0,
  2237.                 "110": 0,
  2238.                 "111": 0,
  2239.                 "112": 0,
  2240.                 "113": 0,
  2241.                 "114": 0,
  2242.                 "115": 0,
  2243.                 "116": 0,
  2244.                 "117": 0,
  2245.                 "118": 0,
  2246.                 "119": 0,
  2247.                 "120": 0,
  2248.                 "121": 0,
  2249.                 "122": 0,
  2250.                 "123": 0,
  2251.                 "124": 0,
  2252.                 "125": 0,
  2253.                 "126": 0,
  2254.                 "127": 0,
  2255.                 "128": 0,
  2256.                 "129": 0,
  2257.                 "130": 0,
  2258.                 "131": 0,
  2259.                 "132": 0,
  2260.                 "133": 0,
  2261.                 "134": 0,
  2262.                 "135": 0,
  2263.                 "136": 0,
  2264.                 "137": 0,
  2265.                 "138": 0,
  2266.                 "139": 0,
  2267.                 "140": 0,
  2268.                 "141": 0,
  2269.                 "142": 0,
  2270.                 "143": 0,
  2271.                 "144": 0,
  2272.                 "145": 0,
  2273.                 "146": 0,
  2274.                 "147": 0,
  2275.                 "148": 0,
  2276.                 "149": 0,
  2277.                 "150": 0,
  2278.                 "151": 0,
  2279.                 "152": 0,
  2280.                 "153": 0,
  2281.                 "154": 0,
  2282.                 "155": 0,
  2283.                 "156": 0,
  2284.                 "157": 0,
  2285.                 "158": 0,
  2286.                 "159": 0,
  2287.                 "160": 0,
  2288.                 "161": 0,
  2289.                 "162": 0,
  2290.                 "163": 0,
  2291.                 "164": 0,
  2292.                 "165": 0,
  2293.                 "166": 0,
  2294.                 "167": 0,
  2295.                 "168": 0,
  2296.                 "169": 0,
  2297.                 "170": 0,
  2298.                 "171": 0,
  2299.                 "172": 0,
  2300.                 "173": 0,
  2301.                 "174": 0,
  2302.                 "175": 0,
  2303.                 "176": 0,
  2304.                 "177": 0,
  2305.                 "178": 0,
  2306.                 "179": 0,
  2307.                 "180": 0,
  2308.                 "181": 0,
  2309.                 "182": 0,
  2310.                 "183": 0,
  2311.                 "184": 0,
  2312.                 "185": 0,
  2313.                 "186": 0,
  2314.                 "187": 0,
  2315.                 "188": 0,
  2316.                 "189": 0,
  2317.                 "190": 0,
  2318.                 "191": 0,
  2319.                 "192": 0,
  2320.                 "193": 0,
  2321.                 "194": 0,
  2322.                 "195": 0,
  2323.                 "196": 0,
  2324.                 "197": 0,
  2325.                 "198": 0,
  2326.                 "199": 0,
  2327.                 "200": 0,
  2328.                 "201": 0,
  2329.                 "202": 0,
  2330.                 "203": 0,
  2331.                 "204": 0,
  2332.                 "205": 0,
  2333.                 "206": 0,
  2334.                 "207": 0,
  2335.                 "208": 0,
  2336.                 "209": 0,
  2337.                 "210": 0,
  2338.                 "211": 0,
  2339.                 "212": 0,
  2340.                 "213": 0,
  2341.                 "214": 0,
  2342.                 "215": 0,
  2343.                 "216": 0,
  2344.                 "217": 0,
  2345.                 "218": 0,
  2346.                 "219": 0,
  2347.                 "220": 0,
  2348.                 "221": 0,
  2349.                 "222": 0,
  2350.                 "223": 0,
  2351.                 "224": 0,
  2352.                 "225": 0,
  2353.                 "226": 0,
  2354.                 "227": 0,
  2355.                 "228": 0,
  2356.                 "229": 0,
  2357.                 "230": 0,
  2358.                 "231": 0,
  2359.                 "232": 0,
  2360.                 "233": 0,
  2361.                 "234": 0,
  2362.                 "235": 0,
  2363.                 "236": 0,
  2364.                 "237": 0,
  2365.                 "238": 0,
  2366.                 "239": 0,
  2367.                 "240": 0,
  2368.                 "241": 0,
  2369.                 "242": 0,
  2370.                 "243": 0,
  2371.                 "244": 0,
  2372.                 "245": 0,
  2373.                 "246": 0,
  2374.                 "247": 0,
  2375.                 "248": 0,
  2376.                 "249": 0,
  2377.                 "250": 0,
  2378.                 "251": 0,
  2379.                 "252": 0,
  2380.                 "253": 0,
  2381.                 "254": 0,
  2382.                 "255": 0,
  2383.                 "256": 0,
  2384.                 "257": 0,
  2385.                 "258": 0,
  2386.                 "259": 0,
  2387.                 "260": 0,
  2388.                 "261": 0,
  2389.                 "262": 0,
  2390.                 "263": 0,
  2391.                 "264": 0,
  2392.                 "265": 0,
  2393.                 "266": 0,
  2394.                 "267": 0,
  2395.                 "268": 0,
  2396.                 "269": 0,
  2397.                 "270": 0,
  2398.                 "271": 0,
  2399.                 "272": 0,
  2400.                 "273": 0,
  2401.                 "274": 0,
  2402.                 "275": 0,
  2403.                 "276": 0,
  2404.                 "277": 0,
  2405.                 "278": 0,
  2406.                 "279": 0,
  2407.                 "280": 0,
  2408.                 "281": 0,
  2409.                 "282": 0,
  2410.                 "283": 0,
  2411.                 "284": 0,
  2412.                 "285": 0,
  2413.                 "286": 0,
  2414.                 "287": 0,
  2415.                 "288": 0,
  2416.                 "289": 0,
  2417.                 "290": 0,
  2418.                 "291": 0,
  2419.                 "292": 0,
  2420.                 "293": 0,
  2421.                 "294": 0,
  2422.                 "295": 0,
  2423.                 "296": 0,
  2424.                 "297": 0,
  2425.                 "298": 0,
  2426.                 "299": 0,
  2427.                 "300": 0,
  2428.                 "301": 0,
  2429.                 "302": 0,
  2430.                 "303": 0,
  2431.                 "304": 0,
  2432.                 "305": 0,
  2433.                 "306": 0,
  2434.                 "307": 0,
  2435.                 "308": 0,
  2436.                 "309": 0,
  2437.                 "310": 0,
  2438.                 "311": 0,
  2439.                 "312": 0,
  2440.                 "313": 0,
  2441.                 "314": 0,
  2442.                 "315": 0,
  2443.                 "316": 0,
  2444.                 "317": 0,
  2445.                 "318": 0,
  2446.                 "319": 0,
  2447.                 "320": 0,
  2448.                 "321": 0,
  2449.                 "322": 0,
  2450.                 "323": 0,
  2451.                 "324": 0,
  2452.                 "325": 0,
  2453.                 "326": 0,
  2454.                 "327": 0,
  2455.                 "328": 0,
  2456.                 "329": 0,
  2457.                 "330": 0,
  2458.                 "331": 0,
  2459.                 "332": 0,
  2460.                 "333": 0,
  2461.                 "334": 0,
  2462.                 "335": 0,
  2463.                 "336": 0,
  2464.                 "337": 0,
  2465.                 "338": 0,
  2466.                 "339": 0,
  2467.                 "340": 0,
  2468.                 "341": 0,
  2469.                 "342": 0,
  2470.                 "343": 0,
  2471.                 "344": 0,
  2472.                 "345": 0,
  2473.                 "346": 0,
  2474.                 "347": 0,
  2475.                 "348": 0,
  2476.                 "349": 0,
  2477.                 "350": 0,
  2478.                 "351": 0,
  2479.                 "352": 0,
  2480.                 "353": 0,
  2481.                 "354": 0,
  2482.                 "355": 0,
  2483.                 "356": 0,
  2484.                 "357": 0,
  2485.                 "358": 0,
  2486.                 "359": 0,
  2487.                 "360": 0,
  2488.                 "361": 0,
  2489.                 "362": 0,
  2490.                 "363": 0,
  2491.                 "364": 0,
  2492.                 "365": 0,
  2493.                 "366": 0,
  2494.                 "367": 0,
  2495.                 "368": 0,
  2496.                 "369": 0,
  2497.                 "370": 0,
  2498.                 "371": 0,
  2499.                 "372": 0,
  2500.                 "373": 0,
  2501.                 "374": 0,
  2502.                 "375": 0,
  2503.                 "376": 0,
  2504.                 "377": 0,
  2505.                 "378": 0,
  2506.                 "379": 0,
  2507.                 "380": 0,
  2508.                 "381": 0,
  2509.                 "382": 0,
  2510.                 "383": 0,
  2511.                 "384": 0,
  2512.                 "385": 0,
  2513.                 "386": 0,
  2514.                 "387": 0,
  2515.                 "388": 0,
  2516.                 "389": 0,
  2517.                 "390": 0,
  2518.                 "391": 0,
  2519.                 "392": 0,
  2520.                 "393": 0,
  2521.                 "394": 0,
  2522.                 "395": 0,
  2523.                 "396": 0,
  2524.                 "397": 0,
  2525.                 "398": 0,
  2526.                 "399": 0,
  2527.                 "400": 0,
  2528.                 "401": 0,
  2529.                 "402": 0,
  2530.                 "403": 0,
  2531.                 "404": 0,
  2532.                 "405": 0,
  2533.                 "406": 0,
  2534.                 "407": 0,
  2535.                 "408": 0,
  2536.                 "409": 0,
  2537.                 "410": 0,
  2538.                 "411": 0,
  2539.                 "412": 0,
  2540.                 "413": 0,
  2541.                 "414": 0,
  2542.                 "415": 0,
  2543.                 "416": 0,
  2544.                 "417": 0,
  2545.                 "418": 0,
  2546.                 "419": 0,
  2547.                 "420": 0,
  2548.                 "421": 0,
  2549.                 "422": 0,
  2550.                 "423": 0,
  2551.                 "424": 0,
  2552.                 "425": 0,
  2553.                 "426": 0,
  2554.                 "427": 0,
  2555.                 "428": 0,
  2556.                 "429": 0,
  2557.                 "430": 0,
  2558.                 "431": 0,
  2559.                 "432": 0,
  2560.                 "433": 0,
  2561.                 "434": 0,
  2562.                 "435": 0,
  2563.                 "436": 0,
  2564.                 "437": 0,
  2565.                 "438": 0,
  2566.                 "439": 0,
  2567.                 "440": 0,
  2568.                 "441": 0,
  2569.                 "442": 0,
  2570.                 "443": 0,
  2571.                 "444": 0,
  2572.                 "445": 0,
  2573.                 "446": 0,
  2574.                 "447": 0,
  2575.                 "448": 0,
  2576.                 "449": 0,
  2577.                 "450": 0,
  2578.                 "451": 0,
  2579.                 "452": 0,
  2580.                 "453": 0,
  2581.                 "454": 0,
  2582.                 "455": 0,
  2583.                 "456": 0,
  2584.                 "457": 0,
  2585.                 "458": 0,
  2586.                 "459": 0,
  2587.                 "460": 0,
  2588.                 "461": 0,
  2589.                 "462": 0,
  2590.                 "463": 0,
  2591.                 "464": 0,
  2592.                 "465": 0,
  2593.                 "466": 0,
  2594.                 "467": 0,
  2595.                 "468": 0,
  2596.                 "469": 0,
  2597.                 "470": 0,
  2598.                 "471": 0,
  2599.                 "472": 0,
  2600.                 "473": 0,
  2601.                 "474": 0,
  2602.                 "475": 0,
  2603.                 "476": 0,
  2604.                 "477": 0,
  2605.                 "478": 0,
  2606.                 "479": 0,
  2607.                 "480": 0,
  2608.                 "481": 0,
  2609.                 "482": 0,
  2610.                 "483": 0,
  2611.                 "484": 0,
  2612.                 "485": 0,
  2613.                 "486": 0,
  2614.                 "487": 0,
  2615.                 "488": 0,
  2616.                 "489": 0,
  2617.                 "490": 0,
  2618.                 "491": 0,
  2619.                 "492": 0,
  2620.                 "493": 0,
  2621.                 "494": 0,
  2622.                 "495": 0,
  2623.                 "496": 0,
  2624.                 "497": 0,
  2625.                 "498": 0,
  2626.                 "499": 0,
  2627.                 "500": 0,
  2628.                 "501": 0,
  2629.                 "502": 0,
  2630.                 "503": 0,
  2631.                 "504": 0,
  2632.                 "505": 0,
  2633.                 "506": 0,
  2634.                 "507": 0,
  2635.                 "508": 0,
  2636.                 "509": 0,
  2637.                 "510": 0,
  2638.                 "511": 0,
  2639.                 "512": 0,
  2640.                 "513": 0,
  2641.                 "514": 0,
  2642.                 "515": 0,
  2643.                 "516": 0,
  2644.                 "517": 0,
  2645.                 "518": 0,
  2646.                 "519": 0,
  2647.                 "520": 0,
  2648.                 "521": 0,
  2649.                 "522": 0,
  2650.                 "523": 0,
  2651.                 "524": 0,
  2652.                 "525": 0,
  2653.                 "526": 0,
  2654.                 "527": 0,
  2655.                 "528": 0,
  2656.                 "529": 0,
  2657.                 "530": 0,
  2658.                 "531": 0,
  2659.                 "532": 0,
  2660.                 "533": 0,
  2661.                 "534": 0,
  2662.                 "535": 0,
  2663.                 "536": 0,
  2664.                 "537": 0,
  2665.                 "538": 0,
  2666.                 "539": 0,
  2667.                 "540": 0,
  2668.                 "541": 0,
  2669.                 "542": 0,
  2670.                 "543": 0,
  2671.                 "544": 0,
  2672.                 "545": 0,
  2673.                 "546": 0,
  2674.                 "547": 0,
  2675.                 "548": 0,
  2676.                 "549": 0,
  2677.                 "550": 0,
  2678.                 "551": 0,
  2679.                 "552": 0,
  2680.                 "553": 0,
  2681.                 "554": 0,
  2682.                 "555": 0,
  2683.                 "556": 0,
  2684.                 "557": 0,
  2685.                 "558": 0,
  2686.                 "559": 0,
  2687.                 "560": 0,
  2688.                 "561": 0,
  2689.                 "562": 0,
  2690.                 "563": 0,
  2691.                 "564": 0,
  2692.                 "565": 0,
  2693.                 "566": 0,
  2694.                 "567": 0,
  2695.                 "568": 0,
  2696.                 "569": 0,
  2697.                 "570": 0,
  2698.                 "571": 0,
  2699.                 "572": 0,
  2700.                 "573": 0,
  2701.                 "574": 0,
  2702.                 "575": 0,
  2703.                 "576": 0,
  2704.                 "577": 0,
  2705.                 "578": 0,
  2706.                 "579": 0,
  2707.                 "580": 0,
  2708.                 "581": 0,
  2709.                 "582": 0,
  2710.                 "583": 0,
  2711.                 "584": 0,
  2712.                 "585": 0,
  2713.                 "586": 0,
  2714.                 "587": 0,
  2715.                 "588": 0,
  2716.                 "589": 0,
  2717.                 "590": 0,
  2718.                 "591": 0
  2719.             },
  2720.             "lenbits": 0,
  2721.             "distbits": 0,
  2722.             "ncode": 0,
  2723.             "nlen": 0,
  2724.             "ndist": 0,
  2725.             "have": 0,
  2726.             "next": null,
  2727.             "lens": {
  2728.                 "0": 0,
  2729.                 "1": 0,
  2730.                 "2": 0,
  2731.                 "3": 0,
  2732.                 "4": 0,
  2733.                 "5": 0,
  2734.                 "6": 0,
  2735.                 "7": 0,
  2736.                 "8": 0,
  2737.                 "9": 0,
  2738.                 "10": 0,
  2739.                 "11": 0,
  2740.                 "12": 0,
  2741.                 "13": 0,
  2742.                 "14": 0,
  2743.                 "15": 0,
  2744.                 "16": 0,
  2745.                 "17": 0,
  2746.                 "18": 0,
  2747.                 "19": 0,
  2748.                 "20": 0,
  2749.                 "21": 0,
  2750.                 "22": 0,
  2751.                 "23": 0,
  2752.                 "24": 0,
  2753.                 "25": 0,
  2754.                 "26": 0,
  2755.                 "27": 0,
  2756.                 "28": 0,
  2757.                 "29": 0,
  2758.                 "30": 0,
  2759.                 "31": 0,
  2760.                 "32": 0,
  2761.                 "33": 0,
  2762.                 "34": 0,
  2763.                 "35": 0,
  2764.                 "36": 0,
  2765.                 "37": 0,
  2766.                 "38": 0,
  2767.                 "39": 0,
  2768.                 "40": 0,
  2769.                 "41": 0,
  2770.                 "42": 0,
  2771.                 "43": 0,
  2772.                 "44": 0,
  2773.                 "45": 0,
  2774.                 "46": 0,
  2775.                 "47": 0,
  2776.                 "48": 0,
  2777.                 "49": 0,
  2778.                 "50": 0,
  2779.                 "51": 0,
  2780.                 "52": 0,
  2781.                 "53": 0,
  2782.                 "54": 0,
  2783.                 "55": 0,
  2784.                 "56": 0,
  2785.                 "57": 0,
  2786.                 "58": 0,
  2787.                 "59": 0,
  2788.                 "60": 0,
  2789.                 "61": 0,
  2790.                 "62": 0,
  2791.                 "63": 0,
  2792.                 "64": 0,
  2793.                 "65": 0,
  2794.                 "66": 0,
  2795.                 "67": 0,
  2796.                 "68": 0,
  2797.                 "69": 0,
  2798.                 "70": 0,
  2799.                 "71": 0,
  2800.                 "72": 0,
  2801.                 "73": 0,
  2802.                 "74": 0,
  2803.                 "75": 0,
  2804.                 "76": 0,
  2805.                 "77": 0,
  2806.                 "78": 0,
  2807.                 "79": 0,
  2808.                 "80": 0,
  2809.                 "81": 0,
  2810.                 "82": 0,
  2811.                 "83": 0,
  2812.                 "84": 0,
  2813.                 "85": 0,
  2814.                 "86": 0,
  2815.                 "87": 0,
  2816.                 "88": 0,
  2817.                 "89": 0,
  2818.                 "90": 0,
  2819.                 "91": 0,
  2820.                 "92": 0,
  2821.                 "93": 0,
  2822.                 "94": 0,
  2823.                 "95": 0,
  2824.                 "96": 0,
  2825.                 "97": 0,
  2826.                 "98": 0,
  2827.                 "99": 0,
  2828.                 "100": 0,
  2829.                 "101": 0,
  2830.                 "102": 0,
  2831.                 "103": 0,
  2832.                 "104": 0,
  2833.                 "105": 0,
  2834.                 "106": 0,
  2835.                 "107": 0,
  2836.                 "108": 0,
  2837.                 "109": 0,
  2838.                 "110": 0,
  2839.                 "111": 0,
  2840.                 "112": 0,
  2841.                 "113": 0,
  2842.                 "114": 0,
  2843.                 "115": 0,
  2844.                 "116": 0,
  2845.                 "117": 0,
  2846.                 "118": 0,
  2847.                 "119": 0,
  2848.                 "120": 0,
  2849.                 "121": 0,
  2850.                 "122": 0,
  2851.                 "123": 0,
  2852.                 "124": 0,
  2853.                 "125": 0,
  2854.                 "126": 0,
  2855.                 "127": 0,
  2856.                 "128": 0,
  2857.                 "129": 0,
  2858.                 "130": 0,
  2859.                 "131": 0,
  2860.                 "132": 0,
  2861.                 "133": 0,
  2862.                 "134": 0,
  2863.                 "135": 0,
  2864.                 "136": 0,
  2865.                 "137": 0,
  2866.                 "138": 0,
  2867.                 "139": 0,
  2868.                 "140": 0,
  2869.                 "141": 0,
  2870.                 "142": 0,
  2871.                 "143": 0,
  2872.                 "144": 0,
  2873.                 "145": 0,
  2874.                 "146": 0,
  2875.                 "147": 0,
  2876.                 "148": 0,
  2877.                 "149": 0,
  2878.                 "150": 0,
  2879.                 "151": 0,
  2880.                 "152": 0,
  2881.                 "153": 0,
  2882.                 "154": 0,
  2883.                 "155": 0,
  2884.                 "156": 0,
  2885.                 "157": 0,
  2886.                 "158": 0,
  2887.                 "159": 0,
  2888.                 "160": 0,
  2889.                 "161": 0,
  2890.                 "162": 0,
  2891.                 "163": 0,
  2892.                 "164": 0,
  2893.                 "165": 0,
  2894.                 "166": 0,
  2895.                 "167": 0,
  2896.                 "168": 0,
  2897.                 "169": 0,
  2898.                 "170": 0,
  2899.                 "171": 0,
  2900.                 "172": 0,
  2901.                 "173": 0,
  2902.                 "174": 0,
  2903.                 "175": 0,
  2904.                 "176": 0,
  2905.                 "177": 0,
  2906.                 "178": 0,
  2907.                 "179": 0,
  2908.                 "180": 0,
  2909.                 "181": 0,
  2910.                 "182": 0,
  2911.                 "183": 0,
  2912.                 "184": 0,
  2913.                 "185": 0,
  2914.                 "186": 0,
  2915.                 "187": 0,
  2916.                 "188": 0,
  2917.                 "189": 0,
  2918.                 "190": 0,
  2919.                 "191": 0,
  2920.                 "192": 0,
  2921.                 "193": 0,
  2922.                 "194": 0,
  2923.                 "195": 0,
  2924.                 "196": 0,
  2925.                 "197": 0,
  2926.                 "198": 0,
  2927.                 "199": 0,
  2928.                 "200": 0,
  2929.                 "201": 0,
  2930.                 "202": 0,
  2931.                 "203": 0,
  2932.                 "204": 0,
  2933.                 "205": 0,
  2934.                 "206": 0,
  2935.                 "207": 0,
  2936.                 "208": 0,
  2937.                 "209": 0,
  2938.                 "210": 0,
  2939.                 "211": 0,
  2940.                 "212": 0,
  2941.                 "213": 0,
  2942.                 "214": 0,
  2943.                 "215": 0,
  2944.                 "216": 0,
  2945.                 "217": 0,
  2946.                 "218": 0,
  2947.                 "219": 0,
  2948.                 "220": 0,
  2949.                 "221": 0,
  2950.                 "222": 0,
  2951.                 "223": 0,
  2952.                 "224": 0,
  2953.                 "225": 0,
  2954.                 "226": 0,
  2955.                 "227": 0,
  2956.                 "228": 0,
  2957.                 "229": 0,
  2958.                 "230": 0,
  2959.                 "231": 0,
  2960.                 "232": 0,
  2961.                 "233": 0,
  2962.                 "234": 0,
  2963.                 "235": 0,
  2964.                 "236": 0,
  2965.                 "237": 0,
  2966.                 "238": 0,
  2967.                 "239": 0,
  2968.                 "240": 0,
  2969.                 "241": 0,
  2970.                 "242": 0,
  2971.                 "243": 0,
  2972.                 "244": 0,
  2973.                 "245": 0,
  2974.                 "246": 0,
  2975.                 "247": 0,
  2976.                 "248": 0,
  2977.                 "249": 0,
  2978.                 "250": 0,
  2979.                 "251": 0,
  2980.                 "252": 0,
  2981.                 "253": 0,
  2982.                 "254": 0,
  2983.                 "255": 0,
  2984.                 "256": 0,
  2985.                 "257": 0,
  2986.                 "258": 0,
  2987.                 "259": 0,
  2988.                 "260": 0,
  2989.                 "261": 0,
  2990.                 "262": 0,
  2991.                 "263": 0,
  2992.                 "264": 0,
  2993.                 "265": 0,
  2994.                 "266": 0,
  2995.                 "267": 0,
  2996.                 "268": 0,
  2997.                 "269": 0,
  2998.                 "270": 0,
  2999.                 "271": 0,
  3000.                 "272": 0,
  3001.                 "273": 0,
  3002.                 "274": 0,
  3003.                 "275": 0,
  3004.                 "276": 0,
  3005.                 "277": 0,
  3006.                 "278": 0,
  3007.                 "279": 0,
  3008.                 "280": 0,
  3009.                 "281": 0,
  3010.                 "282": 0,
  3011.                 "283": 0,
  3012.                 "284": 0,
  3013.                 "285": 0,
  3014.                 "286": 0,
  3015.                 "287": 0,
  3016.                 "288": 0,
  3017.                 "289": 0,
  3018.                 "290": 0,
  3019.                 "291": 0,
  3020.                 "292": 0,
  3021.                 "293": 0,
  3022.                 "294": 0,
  3023.                 "295": 0,
  3024.                 "296": 0,
  3025.                 "297": 0,
  3026.                 "298": 0,
  3027.                 "299": 0,
  3028.                 "300": 0,
  3029.                 "301": 0,
  3030.                 "302": 0,
  3031.                 "303": 0,
  3032.                 "304": 0,
  3033.                 "305": 0,
  3034.                 "306": 0,
  3035.                 "307": 0,
  3036.                 "308": 0,
  3037.                 "309": 0,
  3038.                 "310": 0,
  3039.                 "311": 0,
  3040.                 "312": 0,
  3041.                 "313": 0,
  3042.                 "314": 0,
  3043.                 "315": 0,
  3044.                 "316": 0,
  3045.                 "317": 0,
  3046.                 "318": 0,
  3047.                 "319": 0
  3048.             },
  3049.             "work": {
  3050.                 "0": 0,
  3051.                 "1": 0,
  3052.                 "2": 0,
  3053.                 "3": 0,
  3054.                 "4": 0,
  3055.                 "5": 0,
  3056.                 "6": 0,
  3057.                 "7": 0,
  3058.                 "8": 0,
  3059.                 "9": 0,
  3060.                 "10": 0,
  3061.                 "11": 0,
  3062.                 "12": 0,
  3063.                 "13": 0,
  3064.                 "14": 0,
  3065.                 "15": 0,
  3066.                 "16": 0,
  3067.                 "17": 0,
  3068.                 "18": 0,
  3069.                 "19": 0,
  3070.                 "20": 0,
  3071.                 "21": 0,
  3072.                 "22": 0,
  3073.                 "23": 0,
  3074.                 "24": 0,
  3075.                 "25": 0,
  3076.                 "26": 0,
  3077.                 "27": 0,
  3078.                 "28": 0,
  3079.                 "29": 0,
  3080.                 "30": 0,
  3081.                 "31": 0,
  3082.                 "32": 0,
  3083.                 "33": 0,
  3084.                 "34": 0,
  3085.                 "35": 0,
  3086.                 "36": 0,
  3087.                 "37": 0,
  3088.                 "38": 0,
  3089.                 "39": 0,
  3090.                 "40": 0,
  3091.                 "41": 0,
  3092.                 "42": 0,
  3093.                 "43": 0,
  3094.                 "44": 0,
  3095.                 "45": 0,
  3096.                 "46": 0,
  3097.                 "47": 0,
  3098.                 "48": 0,
  3099.                 "49": 0,
  3100.                 "50": 0,
  3101.                 "51": 0,
  3102.                 "52": 0,
  3103.                 "53": 0,
  3104.                 "54": 0,
  3105.                 "55": 0,
  3106.                 "56": 0,
  3107.                 "57": 0,
  3108.                 "58": 0,
  3109.                 "59": 0,
  3110.                 "60": 0,
  3111.                 "61": 0,
  3112.                 "62": 0,
  3113.                 "63": 0,
  3114.                 "64": 0,
  3115.                 "65": 0,
  3116.                 "66": 0,
  3117.                 "67": 0,
  3118.                 "68": 0,
  3119.                 "69": 0,
  3120.                 "70": 0,
  3121.                 "71": 0,
  3122.                 "72": 0,
  3123.                 "73": 0,
  3124.                 "74": 0,
  3125.                 "75": 0,
  3126.                 "76": 0,
  3127.                 "77": 0,
  3128.                 "78": 0,
  3129.                 "79": 0,
  3130.                 "80": 0,
  3131.                 "81": 0,
  3132.                 "82": 0,
  3133.                 "83": 0,
  3134.                 "84": 0,
  3135.                 "85": 0,
  3136.                 "86": 0,
  3137.                 "87": 0,
  3138.                 "88": 0,
  3139.                 "89": 0,
  3140.                 "90": 0,
  3141.                 "91": 0,
  3142.                 "92": 0,
  3143.                 "93": 0,
  3144.                 "94": 0,
  3145.                 "95": 0,
  3146.                 "96": 0,
  3147.                 "97": 0,
  3148.                 "98": 0,
  3149.                 "99": 0,
  3150.                 "100": 0,
  3151.                 "101": 0,
  3152.                 "102": 0,
  3153.                 "103": 0,
  3154.                 "104": 0,
  3155.                 "105": 0,
  3156.                 "106": 0,
  3157.                 "107": 0,
  3158.                 "108": 0,
  3159.                 "109": 0,
  3160.                 "110": 0,
  3161.                 "111": 0,
  3162.                 "112": 0,
  3163.                 "113": 0,
  3164.                 "114": 0,
  3165.                 "115": 0,
  3166.                 "116": 0,
  3167.                 "117": 0,
  3168.                 "118": 0,
  3169.                 "119": 0,
  3170.                 "120": 0,
  3171.                 "121": 0,
  3172.                 "122": 0,
  3173.                 "123": 0,
  3174.                 "124": 0,
  3175.                 "125": 0,
  3176.                 "126": 0,
  3177.                 "127": 0,
  3178.                 "128": 0,
  3179.                 "129": 0,
  3180.                 "130": 0,
  3181.                 "131": 0,
  3182.                 "132": 0,
  3183.                 "133": 0,
  3184.                 "134": 0,
  3185.                 "135": 0,
  3186.                 "136": 0,
  3187.                 "137": 0,
  3188.                 "138": 0,
  3189.                 "139": 0,
  3190.                 "140": 0,
  3191.                 "141": 0,
  3192.                 "142": 0,
  3193.                 "143": 0,
  3194.                 "144": 0,
  3195.                 "145": 0,
  3196.                 "146": 0,
  3197.                 "147": 0,
  3198.                 "148": 0,
  3199.                 "149": 0,
  3200.                 "150": 0,
  3201.                 "151": 0,
  3202.                 "152": 0,
  3203.                 "153": 0,
  3204.                 "154": 0,
  3205.                 "155": 0,
  3206.                 "156": 0,
  3207.                 "157": 0,
  3208.                 "158": 0,
  3209.                 "159": 0,
  3210.                 "160": 0,
  3211.                 "161": 0,
  3212.                 "162": 0,
  3213.                 "163": 0,
  3214.                 "164": 0,
  3215.                 "165": 0,
  3216.                 "166": 0,
  3217.                 "167": 0,
  3218.                 "168": 0,
  3219.                 "169": 0,
  3220.                 "170": 0,
  3221.                 "171": 0,
  3222.                 "172": 0,
  3223.                 "173": 0,
  3224.                 "174": 0,
  3225.                 "175": 0,
  3226.                 "176": 0,
  3227.                 "177": 0,
  3228.                 "178": 0,
  3229.                 "179": 0,
  3230.                 "180": 0,
  3231.                 "181": 0,
  3232.                 "182": 0,
  3233.                 "183": 0,
  3234.                 "184": 0,
  3235.                 "185": 0,
  3236.                 "186": 0,
  3237.                 "187": 0,
  3238.                 "188": 0,
  3239.                 "189": 0,
  3240.                 "190": 0,
  3241.                 "191": 0,
  3242.                 "192": 0,
  3243.                 "193": 0,
  3244.                 "194": 0,
  3245.                 "195": 0,
  3246.                 "196": 0,
  3247.                 "197": 0,
  3248.                 "198": 0,
  3249.                 "199": 0,
  3250.                 "200": 0,
  3251.                 "201": 0,
  3252.                 "202": 0,
  3253.                 "203": 0,
  3254.                 "204": 0,
  3255.                 "205": 0,
  3256.                 "206": 0,
  3257.                 "207": 0,
  3258.                 "208": 0,
  3259.                 "209": 0,
  3260.                 "210": 0,
  3261.                 "211": 0,
  3262.                 "212": 0,
  3263.                 "213": 0,
  3264.                 "214": 0,
  3265.                 "215": 0,
  3266.                 "216": 0,
  3267.                 "217": 0,
  3268.                 "218": 0,
  3269.                 "219": 0,
  3270.                 "220": 0,
  3271.                 "221": 0,
  3272.                 "222": 0,
  3273.                 "223": 0,
  3274.                 "224": 0,
  3275.                 "225": 0,
  3276.                 "226": 0,
  3277.                 "227": 0,
  3278.                 "228": 0,
  3279.                 "229": 0,
  3280.                 "230": 0,
  3281.                 "231": 0,
  3282.                 "232": 0,
  3283.                 "233": 0,
  3284.                 "234": 0,
  3285.                 "235": 0,
  3286.                 "236": 0,
  3287.                 "237": 0,
  3288.                 "238": 0,
  3289.                 "239": 0,
  3290.                 "240": 0,
  3291.                 "241": 0,
  3292.                 "242": 0,
  3293.                 "243": 0,
  3294.                 "244": 0,
  3295.                 "245": 0,
  3296.                 "246": 0,
  3297.                 "247": 0,
  3298.                 "248": 0,
  3299.                 "249": 0,
  3300.                 "250": 0,
  3301.                 "251": 0,
  3302.                 "252": 0,
  3303.                 "253": 0,
  3304.                 "254": 0,
  3305.                 "255": 0,
  3306.                 "256": 0,
  3307.                 "257": 0,
  3308.                 "258": 0,
  3309.                 "259": 0,
  3310.                 "260": 0,
  3311.                 "261": 0,
  3312.                 "262": 0,
  3313.                 "263": 0,
  3314.                 "264": 0,
  3315.                 "265": 0,
  3316.                 "266": 0,
  3317.                 "267": 0,
  3318.                 "268": 0,
  3319.                 "269": 0,
  3320.                 "270": 0,
  3321.                 "271": 0,
  3322.                 "272": 0,
  3323.                 "273": 0,
  3324.                 "274": 0,
  3325.                 "275": 0,
  3326.                 "276": 0,
  3327.                 "277": 0,
  3328.                 "278": 0,
  3329.                 "279": 0,
  3330.                 "280": 0,
  3331.                 "281": 0,
  3332.                 "282": 0,
  3333.                 "283": 0,
  3334.                 "284": 0,
  3335.                 "285": 0,
  3336.                 "286": 0,
  3337.                 "287": 0
  3338.             },
  3339.             "lendyn": {
  3340.                 "0": 0,
  3341.                 "1": 0,
  3342.                 "2": 0,
  3343.                 "3": 0,
  3344.                 "4": 0,
  3345.                 "5": 0,
  3346.                 "6": 0,
  3347.                 "7": 0,
  3348.                 "8": 0,
  3349.                 "9": 0,
  3350.                 "10": 0,
  3351.                 "11": 0,
  3352.                 "12": 0,
  3353.                 "13": 0,
  3354.                 "14": 0,
  3355.                 "15": 0,
  3356.                 "16": 0,
  3357.                 "17": 0,
  3358.                 "18": 0,
  3359.                 "19": 0,
  3360.                 "20": 0,
  3361.                 "21": 0,
  3362.                 "22": 0,
  3363.                 "23": 0,
  3364.                 "24": 0,
  3365.                 "25": 0,
  3366.                 "26": 0,
  3367.                 "27": 0,
  3368.                 "28": 0,
  3369.                 "29": 0,
  3370.                 "30": 0,
  3371.                 "31": 0,
  3372.                 "32": 0,
  3373.                 "33": 0,
  3374.                 "34": 0,
  3375.                 "35": 0,
  3376.                 "36": 0,
  3377.                 "37": 0,
  3378.                 "38": 0,
  3379.                 "39": 0,
  3380.                 "40": 0,
  3381.                 "41": 0,
  3382.                 "42": 0,
  3383.                 "43": 0,
  3384.                 "44": 0,
  3385.                 "45": 0,
  3386.                 "46": 0,
  3387.                 "47": 0,
  3388.                 "48": 0,
  3389.                 "49": 0,
  3390.                 "50": 0,
  3391.                 "51": 0,
  3392.                 "52": 0,
  3393.                 "53": 0,
  3394.                 "54": 0,
  3395.                 "55": 0,
  3396.                 "56": 0,
  3397.                 "57": 0,
  3398.                 "58": 0,
  3399.                 "59": 0,
  3400.                 "60": 0,
  3401.                 "61": 0,
  3402.                 "62": 0,
  3403.                 "63": 0,
  3404.                 "64": 0,
  3405.                 "65": 0,
  3406.                 "66": 0,
  3407.                 "67": 0,
  3408.                 "68": 0,
  3409.                 "69": 0,
  3410.                 "70": 0,
  3411.                 "71": 0,
  3412.                 "72": 0,
  3413.                 "73": 0,
  3414.                 "74": 0,
  3415.                 "75": 0,
  3416.                 "76": 0,
  3417.                 "77": 0,
  3418.                 "78": 0,
  3419.                 "79": 0,
  3420.                 "80": 0,
  3421.                 "81": 0,
  3422.                 "82": 0,
  3423.                 "83": 0,
  3424.                 "84": 0,
  3425.                 "85": 0,
  3426.                 "86": 0,
  3427.                 "87": 0,
  3428.                 "88": 0,
  3429.                 "89": 0,
  3430.                 "90": 0,
  3431.                 "91": 0,
  3432.                 "92": 0,
  3433.                 "93": 0,
  3434.                 "94": 0,
  3435.                 "95": 0,
  3436.                 "96": 0,
  3437.                 "97": 0,
  3438.                 "98": 0,
  3439.                 "99": 0,
  3440.                 "100": 0,
  3441.                 "101": 0,
  3442.                 "102": 0,
  3443.                 "103": 0,
  3444.                 "104": 0,
  3445.                 "105": 0,
  3446.                 "106": 0,
  3447.                 "107": 0,
  3448.                 "108": 0,
  3449.                 "109": 0,
  3450.                 "110": 0,
  3451.                 "111": 0,
  3452.                 "112": 0,
  3453.                 "113": 0,
  3454.                 "114": 0,
  3455.                 "115": 0,
  3456.                 "116": 0,
  3457.                 "117": 0,
  3458.                 "118": 0,
  3459.                 "119": 0,
  3460.                 "120": 0,
  3461.                 "121": 0,
  3462.                 "122": 0,
  3463.                 "123": 0,
  3464.                 "124": 0,
  3465.                 "125": 0,
  3466.                 "126": 0,
  3467.                 "127": 0,
  3468.                 "128": 0,
  3469.                 "129": 0,
  3470.                 "130": 0,
  3471.                 "131": 0,
  3472.                 "132": 0,
  3473.                 "133": 0,
  3474.                 "134": 0,
  3475.                 "135": 0,
  3476.                 "136": 0,
  3477.                 "137": 0,
  3478.                 "138": 0,
  3479.                 "139": 0,
  3480.                 "140": 0,
  3481.                 "141": 0,
  3482.                 "142": 0,
  3483.                 "143": 0,
  3484.                 "144": 0,
  3485.                 "145": 0,
  3486.                 "146": 0,
  3487.                 "147": 0,
  3488.                 "148": 0,
  3489.                 "149": 0,
  3490.                 "150": 0,
  3491.                 "151": 0,
  3492.                 "152": 0,
  3493.                 "153": 0,
  3494.                 "154": 0,
  3495.                 "155": 0,
  3496.                 "156": 0,
  3497.                 "157": 0,
  3498.                 "158": 0,
  3499.                 "159": 0,
  3500.                 "160": 0,
  3501.                 "161": 0,
  3502.                 "162": 0,
  3503.                 "163": 0,
  3504.                 "164": 0,
  3505.                 "165": 0,
  3506.                 "166": 0,
  3507.                 "167": 0,
  3508.                 "168": 0,
  3509.                 "169": 0,
  3510.                 "170": 0,
  3511.                 "171": 0,
  3512.                 "172": 0,
  3513.                 "173": 0,
  3514.                 "174": 0,
  3515.                 "175": 0,
  3516.                 "176": 0,
  3517.                 "177": 0,
  3518.                 "178": 0,
  3519.                 "179": 0,
  3520.                 "180": 0,
  3521.                 "181": 0,
  3522.                 "182": 0,
  3523.                 "183": 0,
  3524.                 "184": 0,
  3525.                 "185": 0,
  3526.                 "186": 0,
  3527.                 "187": 0,
  3528.                 "188": 0,
  3529.                 "189": 0,
  3530.                 "190": 0,
  3531.                 "191": 0,
  3532.                 "192": 0,
  3533.                 "193": 0,
  3534.                 "194": 0,
  3535.                 "195": 0,
  3536.                 "196": 0,
  3537.                 "197": 0,
  3538.                 "198": 0,
  3539.                 "199": 0,
  3540.                 "200": 0,
  3541.                 "201": 0,
  3542.                 "202": 0,
  3543.                 "203": 0,
  3544.                 "204": 0,
  3545.                 "205": 0,
  3546.                 "206": 0,
  3547.                 "207": 0,
  3548.                 "208": 0,
  3549.                 "209": 0,
  3550.                 "210": 0,
  3551.                 "211": 0,
  3552.                 "212": 0,
  3553.                 "213": 0,
  3554.                 "214": 0,
  3555.                 "215": 0,
  3556.                 "216": 0,
  3557.                 "217": 0,
  3558.                 "218": 0,
  3559.                 "219": 0,
  3560.                 "220": 0,
  3561.                 "221": 0,
  3562.                 "222": 0,
  3563.                 "223": 0,
  3564.                 "224": 0,
  3565.                 "225": 0,
  3566.                 "226": 0,
  3567.                 "227": 0,
  3568.                 "228": 0,
  3569.                 "229": 0,
  3570.                 "230": 0,
  3571.                 "231": 0,
  3572.                 "232": 0,
  3573.                 "233": 0,
  3574.                 "234": 0,
  3575.                 "235": 0,
  3576.                 "236": 0,
  3577.                 "237": 0,
  3578.                 "238": 0,
  3579.                 "239": 0,
  3580.                 "240": 0,
  3581.                 "241": 0,
  3582.                 "242": 0,
  3583.                 "243": 0,
  3584.                 "244": 0,
  3585.                 "245": 0,
  3586.                 "246": 0,
  3587.                 "247": 0,
  3588.                 "248": 0,
  3589.                 "249": 0,
  3590.                 "250": 0,
  3591.                 "251": 0,
  3592.                 "252": 0,
  3593.                 "253": 0,
  3594.                 "254": 0,
  3595.                 "255": 0,
  3596.                 "256": 0,
  3597.                 "257": 0,
  3598.                 "258": 0,
  3599.                 "259": 0,
  3600.                 "260": 0,
  3601.                 "261": 0,
  3602.                 "262": 0,
  3603.                 "263": 0,
  3604.                 "264": 0,
  3605.                 "265": 0,
  3606.                 "266": 0,
  3607.                 "267": 0,
  3608.                 "268": 0,
  3609.                 "269": 0,
  3610.                 "270": 0,
  3611.                 "271": 0,
  3612.                 "272": 0,
  3613.                 "273": 0,
  3614.                 "274": 0,
  3615.                 "275": 0,
  3616.                 "276": 0,
  3617.                 "277": 0,
  3618.                 "278": 0,
  3619.                 "279": 0,
  3620.                 "280": 0,
  3621.                 "281": 0,
  3622.                 "282": 0,
  3623.                 "283": 0,
  3624.                 "284": 0,
  3625.                 "285": 0,
  3626.                 "286": 0,
  3627.                 "287": 0,
  3628.                 "288": 0,
  3629.                 "289": 0,
  3630.                 "290": 0,
  3631.                 "291": 0,
  3632.                 "292": 0,
  3633.                 "293": 0,
  3634.                 "294": 0,
  3635.                 "295": 0,
  3636.                 "296": 0,
  3637.                 "297": 0,
  3638.                 "298": 0,
  3639.                 "299": 0,
  3640.                 "300": 0,
  3641.                 "301": 0,
  3642.                 "302": 0,
  3643.                 "303": 0,
  3644.                 "304": 0,
  3645.                 "305": 0,
  3646.                 "306": 0,
  3647.                 "307": 0,
  3648.                 "308": 0,
  3649.                 "309": 0,
  3650.                 "310": 0,
  3651.                 "311": 0,
  3652.                 "312": 0,
  3653.                 "313": 0,
  3654.                 "314": 0,
  3655.                 "315": 0,
  3656.                 "316": 0,
  3657.                 "317": 0,
  3658.                 "318": 0,
  3659.                 "319": 0,
  3660.                 "320": 0,
  3661.                 "321": 0,
  3662.                 "322": 0,
  3663.                 "323": 0,
  3664.                 "324": 0,
  3665.                 "325": 0,
  3666.                 "326": 0,
  3667.                 "327": 0,
  3668.                 "328": 0,
  3669.                 "329": 0,
  3670.                 "330": 0,
  3671.                 "331": 0,
  3672.                 "332": 0,
  3673.                 "333": 0,
  3674.                 "334": 0,
  3675.                 "335": 0,
  3676.                 "336": 0,
  3677.                 "337": 0,
  3678.                 "338": 0,
  3679.                 "339": 0,
  3680.                 "340": 0,
  3681.                 "341": 0,
  3682.                 "342": 0,
  3683.                 "343": 0,
  3684.                 "344": 0,
  3685.                 "345": 0,
  3686.                 "346": 0,
  3687.                 "347": 0,
  3688.                 "348": 0,
  3689.                 "349": 0,
  3690.                 "350": 0,
  3691.                 "351": 0,
  3692.                 "352": 0,
  3693.                 "353": 0,
  3694.                 "354": 0,
  3695.                 "355": 0,
  3696.                 "356": 0,
  3697.                 "357": 0,
  3698.                 "358": 0,
  3699.                 "359": 0,
  3700.                 "360": 0,
  3701.                 "361": 0,
  3702.                 "362": 0,
  3703.                 "363": 0,
  3704.                 "364": 0,
  3705.                 "365": 0,
  3706.                 "366": 0,
  3707.                 "367": 0,
  3708.                 "368": 0,
  3709.                 "369": 0,
  3710.                 "370": 0,
  3711.                 "371": 0,
  3712.                 "372": 0,
  3713.                 "373": 0,
  3714.                 "374": 0,
  3715.                 "375": 0,
  3716.                 "376": 0,
  3717.                 "377": 0,
  3718.                 "378": 0,
  3719.                 "379": 0,
  3720.                 "380": 0,
  3721.                 "381": 0,
  3722.                 "382": 0,
  3723.                 "383": 0,
  3724.                 "384": 0,
  3725.                 "385": 0,
  3726.                 "386": 0,
  3727.                 "387": 0,
  3728.                 "388": 0,
  3729.                 "389": 0,
  3730.                 "390": 0,
  3731.                 "391": 0,
  3732.                 "392": 0,
  3733.                 "393": 0,
  3734.                 "394": 0,
  3735.                 "395": 0,
  3736.                 "396": 0,
  3737.                 "397": 0,
  3738.                 "398": 0,
  3739.                 "399": 0,
  3740.                 "400": 0,
  3741.                 "401": 0,
  3742.                 "402": 0,
  3743.                 "403": 0,
  3744.                 "404": 0,
  3745.                 "405": 0,
  3746.                 "406": 0,
  3747.                 "407": 0,
  3748.                 "408": 0,
  3749.                 "409": 0,
  3750.                 "410": 0,
  3751.                 "411": 0,
  3752.                 "412": 0,
  3753.                 "413": 0,
  3754.                 "414": 0,
  3755.                 "415": 0,
  3756.                 "416": 0,
  3757.                 "417": 0,
  3758.                 "418": 0,
  3759.                 "419": 0,
  3760.                 "420": 0,
  3761.                 "421": 0,
  3762.                 "422": 0,
  3763.                 "423": 0,
  3764.                 "424": 0,
  3765.                 "425": 0,
  3766.                 "426": 0,
  3767.                 "427": 0,
  3768.                 "428": 0,
  3769.                 "429": 0,
  3770.                 "430": 0,
  3771.                 "431": 0,
  3772.                 "432": 0,
  3773.                 "433": 0,
  3774.                 "434": 0,
  3775.                 "435": 0,
  3776.                 "436": 0,
  3777.                 "437": 0,
  3778.                 "438": 0,
  3779.                 "439": 0,
  3780.                 "440": 0,
  3781.                 "441": 0,
  3782.                 "442": 0,
  3783.                 "443": 0,
  3784.                 "444": 0,
  3785.                 "445": 0,
  3786.                 "446": 0,
  3787.                 "447": 0,
  3788.                 "448": 0,
  3789.                 "449": 0,
  3790.                 "450": 0,
  3791.                 "451": 0,
  3792.                 "452": 0,
  3793.                 "453": 0,
  3794.                 "454": 0,
  3795.                 "455": 0,
  3796.                 "456": 0,
  3797.                 "457": 0,
  3798.                 "458": 0,
  3799.                 "459": 0,
  3800.                 "460": 0,
  3801.                 "461": 0,
  3802.                 "462": 0,
  3803.                 "463": 0,
  3804.                 "464": 0,
  3805.                 "465": 0,
  3806.                 "466": 0,
  3807.                 "467": 0,
  3808.                 "468": 0,
  3809.                 "469": 0,
  3810.                 "470": 0,
  3811.                 "471": 0,
  3812.                 "472": 0,
  3813.                 "473": 0,
  3814.                 "474": 0,
  3815.                 "475": 0,
  3816.                 "476": 0,
  3817.                 "477": 0,
  3818.                 "478": 0,
  3819.                 "479": 0,
  3820.                 "480": 0,
  3821.                 "481": 0,
  3822.                 "482": 0,
  3823.                 "483": 0,
  3824.                 "484": 0,
  3825.                 "485": 0,
  3826.                 "486": 0,
  3827.                 "487": 0,
  3828.                 "488": 0,
  3829.                 "489": 0,
  3830.                 "490": 0,
  3831.                 "491": 0,
  3832.                 "492": 0,
  3833.                 "493": 0,
  3834.                 "494": 0,
  3835.                 "495": 0,
  3836.                 "496": 0,
  3837.                 "497": 0,
  3838.                 "498": 0,
  3839.                 "499": 0,
  3840.                 "500": 0,
  3841.                 "501": 0,
  3842.                 "502": 0,
  3843.                 "503": 0,
  3844.                 "504": 0,
  3845.                 "505": 0,
  3846.                 "506": 0,
  3847.                 "507": 0,
  3848.                 "508": 0,
  3849.                 "509": 0,
  3850.                 "510": 0,
  3851.                 "511": 0,
  3852.                 "512": 0,
  3853.                 "513": 0,
  3854.                 "514": 0,
  3855.                 "515": 0,
  3856.                 "516": 0,
  3857.                 "517": 0,
  3858.                 "518": 0,
  3859.                 "519": 0,
  3860.                 "520": 0,
  3861.                 "521": 0,
  3862.                 "522": 0,
  3863.                 "523": 0,
  3864.                 "524": 0,
  3865.                 "525": 0,
  3866.                 "526": 0,
  3867.                 "527": 0,
  3868.                 "528": 0,
  3869.                 "529": 0,
  3870.                 "530": 0,
  3871.                 "531": 0,
  3872.                 "532": 0,
  3873.                 "533": 0,
  3874.                 "534": 0,
  3875.                 "535": 0,
  3876.                 "536": 0,
  3877.                 "537": 0,
  3878.                 "538": 0,
  3879.                 "539": 0,
  3880.                 "540": 0,
  3881.                 "541": 0,
  3882.                 "542": 0,
  3883.                 "543": 0,
  3884.                 "544": 0,
  3885.                 "545": 0,
  3886.                 "546": 0,
  3887.                 "547": 0,
  3888.                 "548": 0,
  3889.                 "549": 0,
  3890.                 "550": 0,
  3891.                 "551": 0,
  3892.                 "552": 0,
  3893.                 "553": 0,
  3894.                 "554": 0,
  3895.                 "555": 0,
  3896.                 "556": 0,
  3897.                 "557": 0,
  3898.                 "558": 0,
  3899.                 "559": 0,
  3900.                 "560": 0,
  3901.                 "561": 0,
  3902.                 "562": 0,
  3903.                 "563": 0,
  3904.                 "564": 0,
  3905.                 "565": 0,
  3906.                 "566": 0,
  3907.                 "567": 0,
  3908.                 "568": 0,
  3909.                 "569": 0,
  3910.                 "570": 0,
  3911.                 "571": 0,
  3912.                 "572": 0,
  3913.                 "573": 0,
  3914.                 "574": 0,
  3915.                 "575": 0,
  3916.                 "576": 0,
  3917.                 "577": 0,
  3918.                 "578": 0,
  3919.                 "579": 0,
  3920.                 "580": 0,
  3921.                 "581": 0,
  3922.                 "582": 0,
  3923.                 "583": 0,
  3924.                 "584": 0,
  3925.                 "585": 0,
  3926.                 "586": 0,
  3927.                 "587": 0,
  3928.                 "588": 0,
  3929.                 "589": 0,
  3930.                 "590": 0,
  3931.                 "591": 0,
  3932.                 "592": 0,
  3933.                 "593": 0,
  3934.                 "594": 0,
  3935.                 "595": 0,
  3936.                 "596": 0,
  3937.                 "597": 0,
  3938.                 "598": 0,
  3939.                 "599": 0,
  3940.                 "600": 0,
  3941.                 "601": 0,
  3942.                 "602": 0,
  3943.                 "603": 0,
  3944.                 "604": 0,
  3945.                 "605": 0,
  3946.                 "606": 0,
  3947.                 "607": 0,
  3948.                 "608": 0,
  3949.                 "609": 0,
  3950.                 "610": 0,
  3951.                 "611": 0,
  3952.                 "612": 0,
  3953.                 "613": 0,
  3954.                 "614": 0,
  3955.                 "615": 0,
  3956.                 "616": 0,
  3957.                 "617": 0,
  3958.                 "618": 0,
  3959.                 "619": 0,
  3960.                 "620": 0,
  3961.                 "621": 0,
  3962.                 "622": 0,
  3963.                 "623": 0,
  3964.                 "624": 0,
  3965.                 "625": 0,
  3966.                 "626": 0,
  3967.                 "627": 0,
  3968.                 "628": 0,
  3969.                 "629": 0,
  3970.                 "630": 0,
  3971.                 "631": 0,
  3972.                 "632": 0,
  3973.                 "633": 0,
  3974.                 "634": 0,
  3975.                 "635": 0,
  3976.                 "636": 0,
  3977.                 "637": 0,
  3978.                 "638": 0,
  3979.                 "639": 0,
  3980.                 "640": 0,
  3981.                 "641": 0,
  3982.                 "642": 0,
  3983.                 "643": 0,
  3984.                 "644": 0,
  3985.                 "645": 0,
  3986.                 "646": 0,
  3987.                 "647": 0,
  3988.                 "648": 0,
  3989.                 "649": 0,
  3990.                 "650": 0,
  3991.                 "651": 0,
  3992.                 "652": 0,
  3993.                 "653": 0,
  3994.                 "654": 0,
  3995.                 "655": 0,
  3996.                 "656": 0,
  3997.                 "657": 0,
  3998.                 "658": 0,
  3999.                 "659": 0,
  4000.                 "660": 0,
  4001.                 "661": 0,
  4002.                 "662": 0,
  4003.                 "663": 0,
  4004.                 "664": 0,
  4005.                 "665": 0,
  4006.                 "666": 0,
  4007.                 "667": 0,
  4008.                 "668": 0,
  4009.                 "669": 0,
  4010.                 "670": 0,
  4011.                 "671": 0,
  4012.                 "672": 0,
  4013.                 "673": 0,
  4014.                 "674": 0,
  4015.                 "675": 0,
  4016.                 "676": 0,
  4017.                 "677": 0,
  4018.                 "678": 0,
  4019.                 "679": 0,
  4020.                 "680": 0,
  4021.                 "681": 0,
  4022.                 "682": 0,
  4023.                 "683": 0,
  4024.                 "684": 0,
  4025.                 "685": 0,
  4026.                 "686": 0,
  4027.                 "687": 0,
  4028.                 "688": 0,
  4029.                 "689": 0,
  4030.                 "690": 0,
  4031.                 "691": 0,
  4032.                 "692": 0,
  4033.                 "693": 0,
  4034.                 "694": 0,
  4035.                 "695": 0,
  4036.                 "696": 0,
  4037.                 "697": 0,
  4038.                 "698": 0,
  4039.                 "699": 0,
  4040.                 "700": 0,
  4041.                 "701": 0,
  4042.                 "702": 0,
  4043.                 "703": 0,
  4044.                 "704": 0,
  4045.                 "705": 0,
  4046.                 "706": 0,
  4047.                 "707": 0,
  4048.                 "708": 0,
  4049.                 "709": 0,
  4050.                 "710": 0,
  4051.                 "711": 0,
  4052.                 "712": 0,
  4053.                 "713": 0,
  4054.                 "714": 0,
  4055.                 "715": 0,
  4056.                 "716": 0,
  4057.                 "717": 0,
  4058.                 "718": 0,
  4059.                 "719": 0,
  4060.                 "720": 0,
  4061.                 "721": 0,
  4062.                 "722": 0,
  4063.                 "723": 0,
  4064.                 "724": 0,
  4065.                 "725": 0,
  4066.                 "726": 0,
  4067.                 "727": 0,
  4068.                 "728": 0,
  4069.                 "729": 0,
  4070.                 "730": 0,
  4071.                 "731": 0,
  4072.                 "732": 0,
  4073.                 "733": 0,
  4074.                 "734": 0,
  4075.                 "735": 0,
  4076.                 "736": 0,
  4077.                 "737": 0,
  4078.                 "738": 0,
  4079.                 "739": 0,
  4080.                 "740": 0,
  4081.                 "741": 0,
  4082.                 "742": 0,
  4083.                 "743": 0,
  4084.                 "744": 0,
  4085.                 "745": 0,
  4086.                 "746": 0,
  4087.                 "747": 0,
  4088.                 "748": 0,
  4089.                 "749": 0,
  4090.                 "750": 0,
  4091.                 "751": 0,
  4092.                 "752": 0,
  4093.                 "753": 0,
  4094.                 "754": 0,
  4095.                 "755": 0,
  4096.                 "756": 0,
  4097.                 "757": 0,
  4098.                 "758": 0,
  4099.                 "759": 0,
  4100.                 "760": 0,
  4101.                 "761": 0,
  4102.                 "762": 0,
  4103.                 "763": 0,
  4104.                 "764": 0,
  4105.                 "765": 0,
  4106.                 "766": 0,
  4107.                 "767": 0,
  4108.                 "768": 0,
  4109.                 "769": 0,
  4110.                 "770": 0,
  4111.                 "771": 0,
  4112.                 "772": 0,
  4113.                 "773": 0,
  4114.                 "774": 0,
  4115.                 "775": 0,
  4116.                 "776": 0,
  4117.                 "777": 0,
  4118.                 "778": 0,
  4119.                 "779": 0,
  4120.                 "780": 0,
  4121.                 "781": 0,
  4122.                 "782": 0,
  4123.                 "783": 0,
  4124.                 "784": 0,
  4125.                 "785": 0,
  4126.                 "786": 0,
  4127.                 "787": 0,
  4128.                 "788": 0,
  4129.                 "789": 0,
  4130.                 "790": 0,
  4131.                 "791": 0,
  4132.                 "792": 0,
  4133.                 "793": 0,
  4134.                 "794": 0,
  4135.                 "795": 0,
  4136.                 "796": 0,
  4137.                 "797": 0,
  4138.                 "798": 0,
  4139.                 "799": 0,
  4140.                 "800": 0,
  4141.                 "801": 0,
  4142.                 "802": 0,
  4143.                 "803": 0,
  4144.                 "804": 0,
  4145.                 "805": 0,
  4146.                 "806": 0,
  4147.                 "807": 0,
  4148.                 "808": 0,
  4149.                 "809": 0,
  4150.                 "810": 0,
  4151.                 "811": 0,
  4152.                 "812": 0,
  4153.                 "813": 0,
  4154.                 "814": 0,
  4155.                 "815": 0,
  4156.                 "816": 0,
  4157.                 "817": 0,
  4158.                 "818": 0,
  4159.                 "819": 0,
  4160.                 "820": 0,
  4161.                 "821": 0,
  4162.                 "822": 0,
  4163.                 "823": 0,
  4164.                 "824": 0,
  4165.                 "825": 0,
  4166.                 "826": 0,
  4167.                 "827": 0,
  4168.                 "828": 0,
  4169.                 "829": 0,
  4170.                 "830": 0,
  4171.                 "831": 0,
  4172.                 "832": 0,
  4173.                 "833": 0,
  4174.                 "834": 0,
  4175.                 "835": 0,
  4176.                 "836": 0,
  4177.                 "837": 0,
  4178.                 "838": 0,
  4179.                 "839": 0,
  4180.                 "840": 0,
  4181.                 "841": 0,
  4182.                 "842": 0,
  4183.                 "843": 0,
  4184.                 "844": 0,
  4185.                 "845": 0,
  4186.                 "846": 0,
  4187.                 "847": 0,
  4188.                 "848": 0,
  4189.                 "849": 0,
  4190.                 "850": 0,
  4191.                 "851": 0
  4192.             },
  4193.             "distdyn": {
  4194.                 "0": 0,
  4195.                 "1": 0,
  4196.                 "2": 0,
  4197.                 "3": 0,
  4198.                 "4": 0,
  4199.                 "5": 0,
  4200.                 "6": 0,
  4201.                 "7": 0,
  4202.                 "8": 0,
  4203.                 "9": 0,
  4204.                 "10": 0,
  4205.                 "11": 0,
  4206.                 "12": 0,
  4207.                 "13": 0,
  4208.                 "14": 0,
  4209.                 "15": 0,
  4210.                 "16": 0,
  4211.                 "17": 0,
  4212.                 "18": 0,
  4213.                 "19": 0,
  4214.                 "20": 0,
  4215.                 "21": 0,
  4216.                 "22": 0,
  4217.                 "23": 0,
  4218.                 "24": 0,
  4219.                 "25": 0,
  4220.                 "26": 0,
  4221.                 "27": 0,
  4222.                 "28": 0,
  4223.                 "29": 0,
  4224.                 "30": 0,
  4225.                 "31": 0,
  4226.                 "32": 0,
  4227.                 "33": 0,
  4228.                 "34": 0,
  4229.                 "35": 0,
  4230.                 "36": 0,
  4231.                 "37": 0,
  4232.                 "38": 0,
  4233.                 "39": 0,
  4234.                 "40": 0,
  4235.                 "41": 0,
  4236.                 "42": 0,
  4237.                 "43": 0,
  4238.                 "44": 0,
  4239.                 "45": 0,
  4240.                 "46": 0,
  4241.                 "47": 0,
  4242.                 "48": 0,
  4243.                 "49": 0,
  4244.                 "50": 0,
  4245.                 "51": 0,
  4246.                 "52": 0,
  4247.                 "53": 0,
  4248.                 "54": 0,
  4249.                 "55": 0,
  4250.                 "56": 0,
  4251.                 "57": 0,
  4252.                 "58": 0,
  4253.                 "59": 0,
  4254.                 "60": 0,
  4255.                 "61": 0,
  4256.                 "62": 0,
  4257.                 "63": 0,
  4258.                 "64": 0,
  4259.                 "65": 0,
  4260.                 "66": 0,
  4261.                 "67": 0,
  4262.                 "68": 0,
  4263.                 "69": 0,
  4264.                 "70": 0,
  4265.                 "71": 0,
  4266.                 "72": 0,
  4267.                 "73": 0,
  4268.                 "74": 0,
  4269.                 "75": 0,
  4270.                 "76": 0,
  4271.                 "77": 0,
  4272.                 "78": 0,
  4273.                 "79": 0,
  4274.                 "80": 0,
  4275.                 "81": 0,
  4276.                 "82": 0,
  4277.                 "83": 0,
  4278.                 "84": 0,
  4279.                 "85": 0,
  4280.                 "86": 0,
  4281.                 "87": 0,
  4282.                 "88": 0,
  4283.                 "89": 0,
  4284.                 "90": 0,
  4285.                 "91": 0,
  4286.                 "92": 0,
  4287.                 "93": 0,
  4288.                 "94": 0,
  4289.                 "95": 0,
  4290.                 "96": 0,
  4291.                 "97": 0,
  4292.                 "98": 0,
  4293.                 "99": 0,
  4294.                 "100": 0,
  4295.                 "101": 0,
  4296.                 "102": 0,
  4297.                 "103": 0,
  4298.                 "104": 0,
  4299.                 "105": 0,
  4300.                 "106": 0,
  4301.                 "107": 0,
  4302.                 "108": 0,
  4303.                 "109": 0,
  4304.                 "110": 0,
  4305.                 "111": 0,
  4306.                 "112": 0,
  4307.                 "113": 0,
  4308.                 "114": 0,
  4309.                 "115": 0,
  4310.                 "116": 0,
  4311.                 "117": 0,
  4312.                 "118": 0,
  4313.                 "119": 0,
  4314.                 "120": 0,
  4315.                 "121": 0,
  4316.                 "122": 0,
  4317.                 "123": 0,
  4318.                 "124": 0,
  4319.                 "125": 0,
  4320.                 "126": 0,
  4321.                 "127": 0,
  4322.                 "128": 0,
  4323.                 "129": 0,
  4324.                 "130": 0,
  4325.                 "131": 0,
  4326.                 "132": 0,
  4327.                 "133": 0,
  4328.                 "134": 0,
  4329.                 "135": 0,
  4330.                 "136": 0,
  4331.                 "137": 0,
  4332.                 "138": 0,
  4333.                 "139": 0,
  4334.                 "140": 0,
  4335.                 "141": 0,
  4336.                 "142": 0,
  4337.                 "143": 0,
  4338.                 "144": 0,
  4339.                 "145": 0,
  4340.                 "146": 0,
  4341.                 "147": 0,
  4342.                 "148": 0,
  4343.                 "149": 0,
  4344.                 "150": 0,
  4345.                 "151": 0,
  4346.                 "152": 0,
  4347.                 "153": 0,
  4348.                 "154": 0,
  4349.                 "155": 0,
  4350.                 "156": 0,
  4351.                 "157": 0,
  4352.                 "158": 0,
  4353.                 "159": 0,
  4354.                 "160": 0,
  4355.                 "161": 0,
  4356.                 "162": 0,
  4357.                 "163": 0,
  4358.                 "164": 0,
  4359.                 "165": 0,
  4360.                 "166": 0,
  4361.                 "167": 0,
  4362.                 "168": 0,
  4363.                 "169": 0,
  4364.                 "170": 0,
  4365.                 "171": 0,
  4366.                 "172": 0,
  4367.                 "173": 0,
  4368.                 "174": 0,
  4369.                 "175": 0,
  4370.                 "176": 0,
  4371.                 "177": 0,
  4372.                 "178": 0,
  4373.                 "179": 0,
  4374.                 "180": 0,
  4375.                 "181": 0,
  4376.                 "182": 0,
  4377.                 "183": 0,
  4378.                 "184": 0,
  4379.                 "185": 0,
  4380.                 "186": 0,
  4381.                 "187": 0,
  4382.                 "188": 0,
  4383.                 "189": 0,
  4384.                 "190": 0,
  4385.                 "191": 0,
  4386.                 "192": 0,
  4387.                 "193": 0,
  4388.                 "194": 0,
  4389.                 "195": 0,
  4390.                 "196": 0,
  4391.                 "197": 0,
  4392.                 "198": 0,
  4393.                 "199": 0,
  4394.                 "200": 0,
  4395.                 "201": 0,
  4396.                 "202": 0,
  4397.                 "203": 0,
  4398.                 "204": 0,
  4399.                 "205": 0,
  4400.                 "206": 0,
  4401.                 "207": 0,
  4402.                 "208": 0,
  4403.                 "209": 0,
  4404.                 "210": 0,
  4405.                 "211": 0,
  4406.                 "212": 0,
  4407.                 "213": 0,
  4408.                 "214": 0,
  4409.                 "215": 0,
  4410.                 "216": 0,
  4411.                 "217": 0,
  4412.                 "218": 0,
  4413.                 "219": 0,
  4414.                 "220": 0,
  4415.                 "221": 0,
  4416.                 "222": 0,
  4417.                 "223": 0,
  4418.                 "224": 0,
  4419.                 "225": 0,
  4420.                 "226": 0,
  4421.                 "227": 0,
  4422.                 "228": 0,
  4423.                 "229": 0,
  4424.                 "230": 0,
  4425.                 "231": 0,
  4426.                 "232": 0,
  4427.                 "233": 0,
  4428.                 "234": 0,
  4429.                 "235": 0,
  4430.                 "236": 0,
  4431.                 "237": 0,
  4432.                 "238": 0,
  4433.                 "239": 0,
  4434.                 "240": 0,
  4435.                 "241": 0,
  4436.                 "242": 0,
  4437.                 "243": 0,
  4438.                 "244": 0,
  4439.                 "245": 0,
  4440.                 "246": 0,
  4441.                 "247": 0,
  4442.                 "248": 0,
  4443.                 "249": 0,
  4444.                 "250": 0,
  4445.                 "251": 0,
  4446.                 "252": 0,
  4447.                 "253": 0,
  4448.                 "254": 0,
  4449.                 "255": 0,
  4450.                 "256": 0,
  4451.                 "257": 0,
  4452.                 "258": 0,
  4453.                 "259": 0,
  4454.                 "260": 0,
  4455.                 "261": 0,
  4456.                 "262": 0,
  4457.                 "263": 0,
  4458.                 "264": 0,
  4459.                 "265": 0,
  4460.                 "266": 0,
  4461.                 "267": 0,
  4462.                 "268": 0,
  4463.                 "269": 0,
  4464.                 "270": 0,
  4465.                 "271": 0,
  4466.                 "272": 0,
  4467.                 "273": 0,
  4468.                 "274": 0,
  4469.                 "275": 0,
  4470.                 "276": 0,
  4471.                 "277": 0,
  4472.                 "278": 0,
  4473.                 "279": 0,
  4474.                 "280": 0,
  4475.                 "281": 0,
  4476.                 "282": 0,
  4477.                 "283": 0,
  4478.                 "284": 0,
  4479.                 "285": 0,
  4480.                 "286": 0,
  4481.                 "287": 0,
  4482.                 "288": 0,
  4483.                 "289": 0,
  4484.                 "290": 0,
  4485.                 "291": 0,
  4486.                 "292": 0,
  4487.                 "293": 0,
  4488.                 "294": 0,
  4489.                 "295": 0,
  4490.                 "296": 0,
  4491.                 "297": 0,
  4492.                 "298": 0,
  4493.                 "299": 0,
  4494.                 "300": 0,
  4495.                 "301": 0,
  4496.                 "302": 0,
  4497.                 "303": 0,
  4498.                 "304": 0,
  4499.                 "305": 0,
  4500.                 "306": 0,
  4501.                 "307": 0,
  4502.                 "308": 0,
  4503.                 "309": 0,
  4504.                 "310": 0,
  4505.                 "311": 0,
  4506.                 "312": 0,
  4507.                 "313": 0,
  4508.                 "314": 0,
  4509.                 "315": 0,
  4510.                 "316": 0,
  4511.                 "317": 0,
  4512.                 "318": 0,
  4513.                 "319": 0,
  4514.                 "320": 0,
  4515.                 "321": 0,
  4516.                 "322": 0,
  4517.                 "323": 0,
  4518.                 "324": 0,
  4519.                 "325": 0,
  4520.                 "326": 0,
  4521.                 "327": 0,
  4522.                 "328": 0,
  4523.                 "329": 0,
  4524.                 "330": 0,
  4525.                 "331": 0,
  4526.                 "332": 0,
  4527.                 "333": 0,
  4528.                 "334": 0,
  4529.                 "335": 0,
  4530.                 "336": 0,
  4531.                 "337": 0,
  4532.                 "338": 0,
  4533.                 "339": 0,
  4534.                 "340": 0,
  4535.                 "341": 0,
  4536.                 "342": 0,
  4537.                 "343": 0,
  4538.                 "344": 0,
  4539.                 "345": 0,
  4540.                 "346": 0,
  4541.                 "347": 0,
  4542.                 "348": 0,
  4543.                 "349": 0,
  4544.                 "350": 0,
  4545.                 "351": 0,
  4546.                 "352": 0,
  4547.                 "353": 0,
  4548.                 "354": 0,
  4549.                 "355": 0,
  4550.                 "356": 0,
  4551.                 "357": 0,
  4552.                 "358": 0,
  4553.                 "359": 0,
  4554.                 "360": 0,
  4555.                 "361": 0,
  4556.                 "362": 0,
  4557.                 "363": 0,
  4558.                 "364": 0,
  4559.                 "365": 0,
  4560.                 "366": 0,
  4561.                 "367": 0,
  4562.                 "368": 0,
  4563.                 "369": 0,
  4564.                 "370": 0,
  4565.                 "371": 0,
  4566.                 "372": 0,
  4567.                 "373": 0,
  4568.                 "374": 0,
  4569.                 "375": 0,
  4570.                 "376": 0,
  4571.                 "377": 0,
  4572.                 "378": 0,
  4573.                 "379": 0,
  4574.                 "380": 0,
  4575.                 "381": 0,
  4576.                 "382": 0,
  4577.                 "383": 0,
  4578.                 "384": 0,
  4579.                 "385": 0,
  4580.                 "386": 0,
  4581.                 "387": 0,
  4582.                 "388": 0,
  4583.                 "389": 0,
  4584.                 "390": 0,
  4585.                 "391": 0,
  4586.                 "392": 0,
  4587.                 "393": 0,
  4588.                 "394": 0,
  4589.                 "395": 0,
  4590.                 "396": 0,
  4591.                 "397": 0,
  4592.                 "398": 0,
  4593.                 "399": 0,
  4594.                 "400": 0,
  4595.                 "401": 0,
  4596.                 "402": 0,
  4597.                 "403": 0,
  4598.                 "404": 0,
  4599.                 "405": 0,
  4600.                 "406": 0,
  4601.                 "407": 0,
  4602.                 "408": 0,
  4603.                 "409": 0,
  4604.                 "410": 0,
  4605.                 "411": 0,
  4606.                 "412": 0,
  4607.                 "413": 0,
  4608.                 "414": 0,
  4609.                 "415": 0,
  4610.                 "416": 0,
  4611.                 "417": 0,
  4612.                 "418": 0,
  4613.                 "419": 0,
  4614.                 "420": 0,
  4615.                 "421": 0,
  4616.                 "422": 0,
  4617.                 "423": 0,
  4618.                 "424": 0,
  4619.                 "425": 0,
  4620.                 "426": 0,
  4621.                 "427": 0,
  4622.                 "428": 0,
  4623.                 "429": 0,
  4624.                 "430": 0,
  4625.                 "431": 0,
  4626.                 "432": 0,
  4627.                 "433": 0,
  4628.                 "434": 0,
  4629.                 "435": 0,
  4630.                 "436": 0,
  4631.                 "437": 0,
  4632.                 "438": 0,
  4633.                 "439": 0,
  4634.                 "440": 0,
  4635.                 "441": 0,
  4636.                 "442": 0,
  4637.                 "443": 0,
  4638.                 "444": 0,
  4639.                 "445": 0,
  4640.                 "446": 0,
  4641.                 "447": 0,
  4642.                 "448": 0,
  4643.                 "449": 0,
  4644.                 "450": 0,
  4645.                 "451": 0,
  4646.                 "452": 0,
  4647.                 "453": 0,
  4648.                 "454": 0,
  4649.                 "455": 0,
  4650.                 "456": 0,
  4651.                 "457": 0,
  4652.                 "458": 0,
  4653.                 "459": 0,
  4654.                 "460": 0,
  4655.                 "461": 0,
  4656.                 "462": 0,
  4657.                 "463": 0,
  4658.                 "464": 0,
  4659.                 "465": 0,
  4660.                 "466": 0,
  4661.                 "467": 0,
  4662.                 "468": 0,
  4663.                 "469": 0,
  4664.                 "470": 0,
  4665.                 "471": 0,
  4666.                 "472": 0,
  4667.                 "473": 0,
  4668.                 "474": 0,
  4669.                 "475": 0,
  4670.                 "476": 0,
  4671.                 "477": 0,
  4672.                 "478": 0,
  4673.                 "479": 0,
  4674.                 "480": 0,
  4675.                 "481": 0,
  4676.                 "482": 0,
  4677.                 "483": 0,
  4678.                 "484": 0,
  4679.                 "485": 0,
  4680.                 "486": 0,
  4681.                 "487": 0,
  4682.                 "488": 0,
  4683.                 "489": 0,
  4684.                 "490": 0,
  4685.                 "491": 0,
  4686.                 "492": 0,
  4687.                 "493": 0,
  4688.                 "494": 0,
  4689.                 "495": 0,
  4690.                 "496": 0,
  4691.                 "497": 0,
  4692.                 "498": 0,
  4693.                 "499": 0,
  4694.                 "500": 0,
  4695.                 "501": 0,
  4696.                 "502": 0,
  4697.                 "503": 0,
  4698.                 "504": 0,
  4699.                 "505": 0,
  4700.                 "506": 0,
  4701.                 "507": 0,
  4702.                 "508": 0,
  4703.                 "509": 0,
  4704.                 "510": 0,
  4705.                 "511": 0,
  4706.                 "512": 0,
  4707.                 "513": 0,
  4708.                 "514": 0,
  4709.                 "515": 0,
  4710.                 "516": 0,
  4711.                 "517": 0,
  4712.                 "518": 0,
  4713.                 "519": 0,
  4714.                 "520": 0,
  4715.                 "521": 0,
  4716.                 "522": 0,
  4717.                 "523": 0,
  4718.                 "524": 0,
  4719.                 "525": 0,
  4720.                 "526": 0,
  4721.                 "527": 0,
  4722.                 "528": 0,
  4723.                 "529": 0,
  4724.                 "530": 0,
  4725.                 "531": 0,
  4726.                 "532": 0,
  4727.                 "533": 0,
  4728.                 "534": 0,
  4729.                 "535": 0,
  4730.                 "536": 0,
  4731.                 "537": 0,
  4732.                 "538": 0,
  4733.                 "539": 0,
  4734.                 "540": 0,
  4735.                 "541": 0,
  4736.                 "542": 0,
  4737.                 "543": 0,
  4738.                 "544": 0,
  4739.                 "545": 0,
  4740.                 "546": 0,
  4741.                 "547": 0,
  4742.                 "548": 0,
  4743.                 "549": 0,
  4744.                 "550": 0,
  4745.                 "551": 0,
  4746.                 "552": 0,
  4747.                 "553": 0,
  4748.                 "554": 0,
  4749.                 "555": 0,
  4750.                 "556": 0,
  4751.                 "557": 0,
  4752.                 "558": 0,
  4753.                 "559": 0,
  4754.                 "560": 0,
  4755.                 "561": 0,
  4756.                 "562": 0,
  4757.                 "563": 0,
  4758.                 "564": 0,
  4759.                 "565": 0,
  4760.                 "566": 0,
  4761.                 "567": 0,
  4762.                 "568": 0,
  4763.                 "569": 0,
  4764.                 "570": 0,
  4765.                 "571": 0,
  4766.                 "572": 0,
  4767.                 "573": 0,
  4768.                 "574": 0,
  4769.                 "575": 0,
  4770.                 "576": 0,
  4771.                 "577": 0,
  4772.                 "578": 0,
  4773.                 "579": 0,
  4774.                 "580": 0,
  4775.                 "581": 0,
  4776.                 "582": 0,
  4777.                 "583": 0,
  4778.                 "584": 0,
  4779.                 "585": 0,
  4780.                 "586": 0,
  4781.                 "587": 0,
  4782.                 "588": 0,
  4783.                 "589": 0,
  4784.                 "590": 0,
  4785.                 "591": 0
  4786.             },
  4787.             "sane": 1,
  4788.             "back": -1,
  4789.             "was": 0
  4790.         },
  4791.         "data_type": 2,
  4792.         "adler": 1
  4793.     }
  4794.         , i = 65536
  4795.         , a = undefined;
  4796.     let s, l, y;
  4797.     if (this.ended)
  4798.         return !1;
  4799.     for (l = t === ~~t ? t : !0 === t ? h : 0,
  4800.              "[object ArrayBuffer]" === toString.call(e) ? n.input = new Uint8Array(e) : n.input = e,
  4801.              n.next_in = 0,
  4802.              n.avail_in = n.input.length; ;) {
  4803.         0 === n.avail_out && (n.output = new Uint8Array(i),
  4804.             n.next_out = 0,
  4805.             n.avail_out = i),
  4806.             s = inflate(n, l),
  4807.         s === 2 && a && (s = r.inflateSetDictionary(n, a),
  4808.             s === 0 ? s = r.inflate(n, l) : s === -3 && (s = 2));
  4809.         while (n.avail_in > 0 && s === 1 && n.state.wrap > 0 && 0 !== e[n.next_in])
  4810.             r.inflateReset(n),
  4811.                 s = r.inflate(n, l);
  4812.         switch (s) {
  4813.             case -2:
  4814.             case -3:
  4815.             case 2:
  4816.             case -4:
  4817.                 return onEnd(s),
  4818.                     this.ended = !0,
  4819.                     !1
  4820.         }
  4821.         if (y = n.avail_out,
  4822.         n.next_out && (0 === n.avail_out || s === d))
  4823.             if ("string" === this.options.to) {
  4824.                 let e = o.utf8border(n.output, n.next_out)
  4825.                     , t = n.next_out - e
  4826.                     , r = o.buf2string(n.output, e);
  4827.                 n.next_out = t,
  4828.                     n.avail_out = i - t,
  4829.                 t && n.output.set(n.output.subarray(e, e + t), 0),
  4830.                     this.onData(r)
  4831.             } else
  4832.                 this.onData(n.output.length === n.next_out ? n.output : n.output.subarray(0, n.next_out));
  4833.         if (s !== f || 0 !== y) {
  4834.             if (s === d)
  4835.                 return s = r.inflateEnd(this.strm),
  4836.                     this.onEnd(s),
  4837.                     this.ended = !0,
  4838.                     !0;
  4839.             if (0 === n.avail_in)
  4840.                 break
  4841.         }
  4842.     }
  4843.     return !0
  4844. }
  4845. function onEnd(e) {
  4846.             e === 0 && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = i.flattenChunks(this.chunks)),
  4847.             this.chunks = [],
  4848.             this.err = e,
  4849.             this.msg = ""
  4850.         }
  4851. function ii(e,t,r,i){
  4852.             const o = n
  4853.               , a = i + r;
  4854.             e ^= -1;
  4855.             for (let n = i; n < a; n++)
  4856.                 e = e >>> 8 ^ o[255 & (e ^ t[n])];
  4857.             return ~e
  4858.         }
  4859. function aaaaaa(e,h,f,d,p,m,v,g){
  4860.             const y = g.bits;
  4861.             let b, x, w, _, S, C, E = 0, k = 0, T = 0, O = 0, P = 0, M = 0, A = 0, D = 0, j = 0, I = 0, R = null, $ = 0;
  4862.             const N = new Uint16Array(t + 1)
  4863.               , F = new Uint16Array(t + 1);
  4864.             let L, B, z, V = null, H = 0;
  4865.             for (E = 0; E <= t; E++)
  4866.                 N[E] = 0;
  4867.             for (k = 0; k < d; k++)
  4868.                 N[h[f + k]]++;
  4869.             for (P = y,
  4870.             O = t; O >= 1; O--)
  4871.                 if (0 !== N[O])
  4872.                     break;
  4873.             if (P > O && (P = O),
  4874.             0 === O)
  4875.                 return p[m++] = 20971520,
  4876.                 p[m++] = 20971520,
  4877.                 g.bits = 1,
  4878.                 0;
  4879.             for (T = 1; T < O; T++)
  4880.                 if (0 !== N[T])
  4881.                     break;
  4882.             for (P < T && (P = T),
  4883.             D = 1,
  4884.             E = 1; E <= t; E++)
  4885.                 if (D <<= 1,
  4886.                 D -= N[E],
  4887.                 D < 0)
  4888.                     return -1;
  4889.             if (D > 0 && (e === ii || 1 !== O))
  4890.                 return -1;
  4891.             for (F[1] = 0,
  4892.             E = 1; E < t; E++)
  4893.                 F[E + 1] = F[E] + N[E];
  4894.             for (k = 0; k < d; k++)
  4895.                 0 !== h[f + k] && (v[F[h[f + k]]++] = k);
  4896.             if (e === i ? (R = V = v,
  4897.             C = 19) : e === o ? (R = s,
  4898.             $ -= 257,
  4899.             V = l,
  4900.             H -= 257,
  4901.             C = 256) : (R = u,
  4902.             V = c,
  4903.             C = -1),
  4904.             I = 0,
  4905.             k = 0,
  4906.             E = T,
  4907.             S = m,
  4908.             M = P,
  4909.             A = 0,
  4910.             w = -1,
  4911.             j = 1 << P,
  4912.             _ = j - 1,
  4913.             e === o && j > n || e === a && j > r)
  4914.                 return 1;
  4915.             for (; ; ) {
  4916.                 L = E - A,
  4917.                 v[k] < C ? (B = 0,
  4918.                 z = v[k]) : v[k] > C ? (B = V[H + v[k]],
  4919.                 z = R[$ + v[k]]) : (B = 96,
  4920.                 z = 0),
  4921.                 b = 1 << E - A,
  4922.                 x = 1 << M,
  4923.                 T = x;
  4924.                 do {
  4925.                     x -= b,
  4926.                     p[S + (I >> A) + x] = L << 24 | B << 16 | z
  4927.                 } while (0 !== x);
  4928.                 b = 1 << E - 1;
  4929.                 while (I & b)
  4930.                     b >>= 1;
  4931.                 if (0 !== b ? (I &= b - 1,
  4932.                 I += b) : I = 0,
  4933.                 k++,
  4934.                 0 === --N[E]) {
  4935.                     if (E === O)
  4936.                         break;
  4937.                     E = h[f + v[k]]
  4938.                 }
  4939.                 if (E > P && (I & _) !== w) {
  4940.                     0 === A && (A = P),
  4941.                     S += T,
  4942.                     M = E - A,
  4943.                     D = 1 << M;
  4944.                     while (M + A < O) {
  4945.                         if (D -= N[M + A],
  4946.                         D <= 0)
  4947.                             break;
  4948.                         M++,
  4949.                         D <<= 1
  4950.                     }
  4951.                     if (j += 1 << M,
  4952.                     e === o && j > n || e === a && j > r)
  4953.                         return 1;
  4954.                     w = I & _,
  4955.                     p[w] = P << 24 | M << 16 | S - m
  4956.                 }
  4957.             }
  4958.             return 0 !== I && (p[S + I] = E - A << 24 | 64 << 16),
  4959.             g.bits = P,
  4960.             0
  4961.         }
  4962. function ungzip(e, t) {
  4963.     const n = new y(t);
  4964.     if (pusher(e),
  4965.         n.err)
  4966.         throw n.msg || a[n.err];
  4967.     return n.result
  4968. }
  4969. function l(t) {
  4970.     var e, n, i = t.words.length, a = new Uint8Array(t.sigBytes), o = 0;
  4971.     for (n = 0; n < i; n++)
  4972.         e = t.words[n],
  4973.             a[o++] = e >> 24,
  4974.             a[o++] = e >> 16 & 255,
  4975.             a[o++] = e >> 8 & 255,
  4976.             a[o++] = 255 & e;
  4977.     return a
  4978. }
  4979. decrypt(e);
复制代码
结果如下,成功解密。
15.png


  • 编写python代码,联动js代码,实现实时数据的解密。
  1. var CryptoJS = require("crypto-js")
  2. var pako = require("pako")
  3. var e = "数据";
  4. function decrypt(e) {
  5.     var n = CryptoJS.enc.Utf8.parse(27..toString(36).toLowerCase().split("").map((function (t) {
  6.             return String.fromCharCode(t.charCodeAt() + -39)
  7.         }
  8.     )).join("") + 24901..toString(36).toLowerCase() + 33..toString(36).toLowerCase().split("").map((function (t) {
  9.             return String.fromCharCode(t.charCodeAt() + -39)
  10.         }
  11.     )).join("") + 976..toString(36).toLowerCase() + 20..toString(36).toLowerCase().split("").map((function (t) {
  12.             return String.fromCharCode(t.charCodeAt() + -39)
  13.         }
  14.     )).join("") + function () {
  15.         var t = Array.prototype.slice.call(arguments)
  16.             , e = t.shift();
  17.         return t.reverse().map((function (t, n) {
  18.                 return String.fromCharCode(t - e - 24 - n)
  19.             }
  20.         )).join("")
  21.     }(10, 127, 154, 91, 151, 91, 136) + 11..toString(36).toLowerCase() + 13..toString(36).toLowerCase().split("").map((function (t) {
  22.             return String.fromCharCode(t.charCodeAt() + -13)
  23.         }
  24.     )).join(""));
  25.     a = CryptoJS.AES.decrypt(e, n, {
  26.         mode: CryptoJS.mode.ECB,
  27.         padding: CryptoJS.pad.Pkcs7
  28.     });
  29.     o = l(a);
  30.     r = pako.ungzip(o, {
  31.         to: "string"
  32.     })
  33.     console.log(JSON.parse(r));
  34. }
  35. function l(t) {
  36.     var e, n, i = t.words.length, a = new Uint8Array(t.sigBytes), o = 0;
  37.     for (n = 0; n < i; n++)
  38.         e = t.words[n],
  39.             a[o++] = e >> 24,
  40.             a[o++] = e >> 16 & 255,
  41.             a[o++] = e >> 8 & 255,
  42.             a[o++] = 255 & e;
  43.     return a
  44. }
  45. decrypt(e);
复制代码
运行结果老是报错。
16.png

经过检查,发现是通过python获取的数据跟页面上的数据不太一致造成的,直接复制页面上的响应结果没有一点问题,不知道是什么原因造成的,如果有大佬知道问题所在,教教小弟。
小总结

一点小经验,有时候找代码的时候可以看看它是写在哪个文件下的,如果是位于chunk开头的文件里,基本上是使用了第三方库;如果是位于app开头的文件里,基本上是自己写的。
17.png

18.png

ungzip函数位于chunk开头的文件里,如果抠代码感觉到有难度,可以直接先上网搜搜。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册