diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/JS\351\200\206\345\220\221--21-3noteyun .md" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/JS\351\200\206\345\220\221--21-3noteyun .md" new file mode 100644 index 0000000000000000000000000000000000000000..8a66e0806635bb86c09e9a7e325d295a1cde5987 --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/JS\351\200\206\345\220\221--21-3noteyun .md" @@ -0,0 +1,128 @@ + + +21-3-note-yun + +完整的抠出来加密函数; + +传递自定义的参数; + +封装到node.js,服务,通过py获取参数; + +用py写逻辑控制流; + + + +# 封装getAntiContent函数 + +# 搭建Node服务 + +- 安装环境 + + ```javascript + npm install express //安装服务框架,非常小,性能高; + npm install body-parser // 解析库 + ``` + +- 启动服务 + + ```javascript + const express = require('express'); + const bodyParser = require("body-parser"); + const getAntiContent = require("../20_2/objAntiContent_heji.js").getAntiContent //获取一个函数 + + const app = express() + app.use(bodyParser.json({limit: '50mb'}))//稍微大点 + app.use(bodyParser.urlencoded({ extend: true, limit: '50mb'}))//解析url + + app.post("/anti_content", function (req, res){ + console.log("get anti_content request"); + const json_data = req.body; + console.log(json_data); + getAntiContent( + json_data['scrollEvent'], + json_data['mouseDownEvent'], + json_data['clickEvent'], + json_data['href'], + json_data['referrer'], + json_data['ua'], + json_data['initPageTimes'], + json_data['requestTimes'], + json_data['nano_fp'], + json_data['pdd_user_id'], + json_data['api_uid'], + json_data['pdd_vds'] + ).then((function (result){ + console.log("result", result) + res.json({ + anti_content: result + }) + })) + }) + + //开启服务 1111随意选择 + const server = app.listen(1111, function (){ + let host = server.address().address;//默认地址127.0.0.1 + let port = server.address().port; //端口号 + console.log("Server is running at http: //%s: %s", host, port) + }) + ``` + +# Python模拟请求 + +- 传递给node服务的参数, 如果是[]会被node服务解析json数据格式的时候忽略掉; + - 需要将传递的鼠标事件通过`json.dumps`转为json数据格式传递 + - 相应的, node服务中`getAnticontent`需要使用`JSON.parse`解析json数据格式 + - 参数传递过程中整数类型会被转变为字符串, 需要通过`parseInt`转变为整数 +- Python时间戳是秒, JS时间戳是毫秒 +- 请求次数`requestTimes`和当前`page`是有关系的, 不可以随便给, 当前`requestTime >= page` + + + + + +**课后作业** + +- 完成anti_content服务; +- 用python模拟请求获取结果; + + + + + +# 操作步骤 + + + +[![2ZE0lq.png](https://z3.ax1x.com/2021/05/30/2ZE0lq.png)](https://imgtu.com/i/2ZE0lq) + + + + + +[![2ZEsmT.png](https://z3.ax1x.com/2021/05/30/2ZEsmT.png)](https://imgtu.com/i/2ZEsmT) + + + +[![2ZEy0U.png](https://z3.ax1x.com/2021/05/30/2ZEy0U.png)](https://imgtu.com/i/2ZEy0U) + + + + + +[![2ZEDXV.png](https://z3.ax1x.com/2021/05/30/2ZEDXV.png)](https://imgtu.com/i/2ZEDXV) + + + + + + + +操作截图: + +C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images + + + + + +# end \ No newline at end of file diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/main.py" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/main.py" new file mode 100644 index 0000000000000000000000000000000000000000..513eaa2cc188ce5d4aaf70d24089efa8e27227be --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/main.py" @@ -0,0 +1,51 @@ +import requests +import time +import json + +headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36", + "Referer": "http://yangkeduo.com/pincard_share_card_popup.html?page_id=67388_1621393102563_dxgdk8tm0n&list_id=COuOOzLBgNA0APoh&sp=0&is_back=1", +} + +# //ctrl+r 替换 +# 在sourse下面,按住esc +def get_anti_content(): + url = "http://127.0.0.1:1111/anti_content" + data = { + 'scrollEvent': json.dumps([]), + 'mouseDownEvent': json.dumps([]), + 'clickEvent': json.dumps([]), + 'href': "http://yangkeduo.com/pincard_share_card_popup.html?_pdd_fs=1&_pdd_tc=00ffffff&categoryId=39236&refer_origin_page_sn=17542&refer_page_name=list_channel&refer_page_id=67387_1615819189608_3dep3yqyuo&refer_page_sn=67387&refer_abtest_info=%7B%7D", + 'referrer': headers['Referer'], + 'ua': "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36", + 'initPageTimes': int(time.time()*1000), + 'requestTimes': 5, + 'nano_fp': "XpEaX0galpCxlpXylT_1I6dtvD7pLG1UO7xZIpLs", + 'pdd_user_id': "4527448202497", + 'api_uid': "CksBgV/4eYkFCwBSPt8WAg==", + 'pdd_vds': "gaqkZpfXxXBkhzfpYHvzDXerTXZHBqvvhHZZBrvCvXqrdZvXuMfccfehuMYz" + } + res = requests.post(url, data=data) + return res.json()['anti_content'] + + +def main(): + url = "http://yangkeduo.com/proxy/api/api/george/content/query_content_list" + params = { + "pdduid": 0, + "size": 20, + "resource_type": 1, + "tab_id": 39461, + "page": 1, + "obj_count": 2, + "type": 2, + "list_id": "39236_39461_2_COuOOzLBgNA0APoh", + "field_types": "content_goods_material", + "anti_content": get_anti_content() + } + res = requests.get(url=url, params=params, headers=headers) + print(res.json()) + + +if __name__ == "__main__": + main() diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/objAntiContent_heji.js" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/objAntiContent_heji.js" new file mode 100644 index 0000000000000000000000000000000000000000..e32b4e40cd2bddd3b6e13ce8968af73afb52ba6c --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/objAntiContent_heji.js" @@ -0,0 +1,3904 @@ + +function getAntiContent( + scrollEvent,mouseDownEvent,clickEvent, + href,referrer,ua, + initPageTimes,requestTimes, + nano_fp,pdd_user_id,api_uid,pdd_vds, + +){ + window={ + document:{ + addEventListener(type, listener, options) { + console.log("addEventListener",type) + }, + referrer:referrer, + }, + + Date:Date, //将Date放到window中; + Math:Math, + screen:{ + "availWidth": 1280, + "availHeight": 680, + "width": 1280, + "height": 720, + "colorDepth": 24, + "pixelDepth": 24, + "availLeft": 0, + "availTop": 0, + "orientation": {} + }, + navigator:{ + "vendorSub": "", + "productSub": "20030107", + "vendor": "Google Inc.", + "maxTouchPoints": 0, + "userActivation": {}, + "doNotTrack": null, + "geolocation": {}, + "connection": {}, + "plugins": { + "0": { + "0": {} + }, + "1": { + "0": {} + }, + "2": { + "0": {}, + "1": {} + } + }, + "mimeTypes": { + "0": {}, + "1": {}, + "2": {}, + "3": {} + }, + "webkitTemporaryStorage": {}, + "webkitPersistentStorage": {}, + "hardwareConcurrency": 16, + "cookieEnabled": true, + "appCodeName": "Mozilla", + "appName": "Netscape", + "appVersion": "5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36", + "platform": "Win32", + "product": "Gecko", + "userAgent": ua, + "language": "zh-CN", + "languages": [ + "zh-CN", + "en-US", + "en", + "zh" + ], + "onLine": true, + "webdriver": false, + "scheduling": {}, + "mediaCapabilities": {}, + "permissions": {}, + "mediaSession": {} + }, + history:{ + "length": 3, + "scrollRestoration": "auto", + "state": null + }, + location:{ + "ancestorOrigins": {}, + "href": href, + "origin": "http://yangkeduo.com", + "protocol": "http:", + "host": "yangkeduo.com", + "hostname": "yangkeduo.com", + "port": "", + "pathname": "/pincard_share_card_popup.html", + "search": "?page_id=67388_1621393102563_dxgdk8tm0n&list_id=COuOOzLBgNA0APoh&sp=0&is_back=1", + "hash": "" + }, + parseInt:parseInt, + } + fbeZ=function(t, n, e) { + "undefined" != typeof self && self, + t.exports = function(t) { + var n = {}; + function e(r) { + if (n[r]) + return n[r].exports; + var o = n[r] = { + i: r, + l: !1, + exports: {} + }; + return t[r].call(o.exports, o, o.exports, e), + o.l = !0, + o.exports + } + return e.m = t, + e.c = n, + e.d = function(t, n, r) { + e.o(t, n) || Object.defineProperty(t, n, { + enumerable: !0, + get: r + }) + } + , + e.r = function(t) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { + value: "Module" + }), + Object.defineProperty(t, "__esModule", { + value: !0 + }) + } + , + e.t = function(t, n) { + if (1 & n && (t = e(t)), + 8 & n) + return t; + if (4 & n && "object" == typeof t && t && t.__esModule) + return t; + var r = Object.create(null); + if (e.r(r), + Object.defineProperty(r, "default", { + enumerable: !0, + value: t + }), + 2 & n && "string" != typeof t) + for (var o in t) + e.d(r, o, function(n) { + return t[n] + } + .bind(null, o)); + return r + } + , + e.n = function(t) { + var n = t && t.__esModule ? function() { + return t.default + } + : function() { + return t + } + ; + return e.d(n, "a", n), + n + } + , + e.o = function(t, n) { + return Object.prototype.hasOwnProperty.call(t, n) + } + , + e.p = "", + e(e.s = 5) + }([function(t, n, e) { + "use strict"; + t.exports = function(t) { + return t.webpackPolyfill || (t.deprecate = function() {} + , + t.paths = [], + t.children || (t.children = []), + Object.defineProperty(t, "loaded", { + enumerable: !0, + get: function() { + return t.l + } + }), + Object.defineProperty(t, "id", { + enumerable: !0, + get: function() { + return t.i + } + }), + t.webpackPolyfill = 1), + t + } + } + , function(t, n, e) { + "use strict"; + var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } + : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + } + , o = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; + function a(t, n) { + return Object.prototype.hasOwnProperty.call(t, n) + } + n.assign = function(t) { + for (var n = Array.prototype.slice.call(arguments, 1); n.length; ) { + var e = n.shift(); + if (e) { + if ("object" !== (void 0 === e ? "undefined" : r(e))) + throw new TypeError(e + "must be non-object"); + for (var o in e) + a(e, o) && (t[o] = e[o]) + } + } + return t + } + , + n.shrinkBuf = function(t, n) { + return t.length === n ? t : t.subarray ? t.subarray(0, n) : (t.length = n, + t) + } + ; + var i = { + arraySet: function(t, n, e, r, o) { + if (n.subarray && t.subarray) + t.set(n.subarray(e, e + r), o); + else + for (var a = 0; a < r; a++) + t[o + a] = n[e + a] + }, + flattenChunks: function(t) { + var n, e, r, o, a, i; + for (r = 0, + n = 0, + e = t.length; n < e; n++) + r += t[n].length; + for (i = new Uint8Array(r), + o = 0, + n = 0, + e = t.length; n < e; n++) + a = t[n], + i.set(a, o), + o += a.length; + return i + } + } + , c = { + arraySet: function(t, n, e, r, o) { + for (var a = 0; a < r; a++) + t[o + a] = n[e + a] + }, + flattenChunks: function(t) { + return [].concat.apply([], t) + } + }; + n.setTyped = function(t) { + t ? (n.Buf8 = Uint8Array, + n.Buf16 = Uint16Array, + n.Buf32 = Int32Array, + n.assign(n, i)) : (n.Buf8 = Array, + n.Buf16 = Array, + n.Buf32 = Array, + n.assign(n, c)) + } + , + n.setTyped(o) + } + , function(t, n, e) { + "use strict"; + (function(t) { + var n, r, o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } + : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + } + , a = e(13), i = e(14).crc32, c = ["fSohrCk0cG==", "W4FdMmotWRve", "W7bJWQ1CW6C=", "W5K6bCooW6i=", "dSkjW7tdRSoB", "jtxcUfRcRq==", "ALj2WQRdQG==", "W5BdSSkqWOKH", "lK07WPDy", "f8oSW6VcNrq=", "eSowCSkoaa==", "d8oGW7BcPIO=", "m0FcRCkEtq==", "qv3cOuJdVq==", "iMG5W5BcVa==", "W73dVCo6WPD2", "W6VdKmkOWO8w", "zueIB8oz", "CmkhWP0nW5W=", "W7ldLmkSWOfh", "W5FdIqdcJSkO", "aCkBpmoPyG==", "l27dICkgWRK=", "s05AWR7cTa==", "bttcNhdcUW==", "gJldK8kHFW==", "W5Sso8oXW4i=", "FgC0W7hcNmoqwa==", "xmkPhdDl", "e14kWRzQ", "BNFcVxpdPq==", "z1vadK0=", "W7yOiCk2WQ0=", "qLb7lg0=", "t8o6BwhcOq==", "gmk6lYD9WPdcHSoQqG==", "oqldGmkiCq==", "rmo+uKlcSW==", "dSoIWOVdQ8kC", "iXSUsNu=", "W5ipW4S7WRS=", "WPtcTvOCtG==", "A3CcAmoS", "lCotW6lcMba=", "iuGzWPLz", "WQVdPmoKeSkR", "W4ydoCkqWQ4=", "jCobW47cNXC=", "W4tdJCkNWOCJ", "hCo/W7ZcSJ8=", "BNuZW6NcMG==", "b8kFW6hdN8oN", "W4SpoCkXWQK=", "cXddOmkDFa==", "W63dHSoyWQft", "W6ldSmk0WRj4", "A2bHWOtcHeeMyq==", "f3VcSSk/xG==", "qg1u", "ftyivga=", "DCkhpsfe", "WR3cKmo3oMWEw8kK", "yev3", "W4xdMKSejbm=", "W797WOL7W4m=", "W6xdOCkKWQXw", "gcCUye0=", "W7WXkmomb8kT", "c8kIesD0", "WOTpEW==", "ySo3E8oVWPy=", "iNyhW5lcNLNcG8kYWQu=", "W7JdMSkfWRnD", "FfijW5tcHW==", "xCokW54Zzq==", "W77dUsi=", "W5FdHfa6eq==", "E1FcQvVdSG==", "eZ/dNCo4AG==", "CgPmWQZdKa==", "A8oLECoJWPS=", "oCoSW7VcTJC=", "mCoADa==", "W7DXuSouDq==", "ic3dQCo8ua==", "rN3cIa==", "W6/dJ8kPWRGQ", "W4xdLYlcPmkc", "F3JcPvZdLa==", "xCk8iHn4", "qg15", "W5/dL8oOWPr4", "hW41C3C=", "sSoZzwxcPW==", "ywdcUvNdUW==", "t0TzWQpdIG==", "lv7dJSoIjq==", "W5Tzxq==", "W6DnWQK=", "W5mGaCkFWRC=", "W6LmWO5+W6C=", "WR7dQmoJa8k+", "emkFW4ddOmob", "imk8imoNEa==", "W4ZdP8kaWPvc", "F8k4WO40W4e=", "cSoHE8k9cG==", "jw4TW5dcSW==", "wuJcOKRdTa==", "swNcQx/dGG==", "aCkSiCoMEq==", "W6pdS8owWQTH", "WRFdQmonjmkT", "cKBdGCkpWOm=", "oCoWW4VcPIa=", "WQddSSoUjmks", "c8kdW5JdM8oE", "W7b0AGvl", "sCk4WOylW60=", "nXNdSmkXvW==", "W67dRSkjWOqj", "W44EcCohW6O=", "W6ddPmkpWRHN", "W7tdVIVcOSkR", "qg3dVG==", "W7Ofcmofda==", "WRDmW5VcLq==", "CSoRW4W4Aq==", "mmo0WP3dVmkj", "i8omW6ZcPd8=", "CSkaWQyvW4m=", "ACkMWQCLW4q=", "W5pdOCk0WRv3", "W7yDW44SWP8=", "WRP8W5dcNmkd", "ymkNaID5", "cfeTWRT6", "W6WdbmkmWO0=", "eSo3WQldVCkU", "W5flwZrl", "WPVcTe4tWQu=", "DuCPumok", "hLpcKCksqXe=", "g3hdUCkoWRu=", "sL0sW6JcPW==", "lf7dL8oOpG==", "w8k4WPWJW7u=", "i08mW5dcUW==", "kb/dU8klsW==", "WOhcMSoW", "W5LnfG==", "F8kJWQmxW6m=", "W5ldU0CDca==", "eKRdKmkoWPG=", "tmouW60=", "gSkrW7JdVSor", "WPNcP8oc", "DhLAmLW=", "sSo0EfdcQq==", "W6ygW689WQq=", "W6CPimkIWQa=", "WRJdLmoynSkY", "W5iimCkDWRa=", "oMhdN8kPWRHV", "eNqQWQHn", "bmkakSoHW4u=", "W4PxEbvN", "WQhcQxSWyW==", "xCoKEW==", "guBcISk2yG==", "nviRW4BcSq==", "m3tcVmkXCJ9YWQyXd8kuWQfJW71fWPmnWRj+WR1tW6WbW4PDdCkrkLbDs8ozWR4gySoyv20rWO3dJJpdIh9DWPhcGCoctKFcN8kTW6nHvbLRkg9MeKhdHCoP", "W7iZfmolW4q=", "p1JdGSk4WPW=", "ns3cTuhcMSk6u8kj", "q8kmhr5p", "lWCxtKW=", "pmk+hSoYFG==", "bdFdKmkIwa==", "WR/cMSoL", "csCy", "W7BdKCkmWPfO", "tCkeWPyXW70=", "smkVWRK=", "dNFdQSokiq==", "W5OyoCoLW5O=", "W4RcIZ0xW5hdPCkaWPddO0aoE8oCwXVcSgbVtWbqW6u=", "iKNdK8khWRa=", "WQtdQCommSkg", "W6ddU8k1WQ94", "ASoXAMRcHG==", "gMhdKCoBna==", "eCk5mSoEW6K2v8octbK=", "pmo+Fmkfea==", "f3y8WPL0Ex4=", "oSkmm8oczq==", "W7ldK8oWWRnrW6WtqMG0W7/cMxbU", "W7uwdmofbG==", "A8oqyudcPG==", "s8oHt3FcTq==", "a8okBCkAdq==", "W7mvg3OI", "E8kLWR0dW7i=", "W78qhKSF", "W6XMWRHsW6K=", "hCoyzSk7fa==", "WQNcKSoHp1S=", "oCkaiCocW6i=", "bSoEW5ZcVXq=", "W5pdVCkHWRj3", "eehdNSoGhG==", "W4VdTmkhWRO=", "W73dMte=", "bqBcJelcTG==", "WOpcKLXWBa==", "W7uRa0OKnwpdRmoq", "WO3cKSoHW7C4", "WPRcOCofl0i=", "BxvOWPhcSa==", "hwK0W7tcJq==", "BMOjW5lcGq==", "cmouWONdUmk8", "E8k9WQyjW7NdNa==", "WRNcQSoFi0S=", "zLTHWPpcUW==", "WRPjW7BcLCkB", "BLRcLMddLW==", "s8kzWOiiW5m=", "W40mW4uqWP8=", "i13cMCk7Ea==", "WQBcLMupWOu=", "x8o2xmoD", "hCkBcCoLvW==", "FmkEWRShW5q=", "W58ikmo+W7K=", "W4KehmkSWOG=", "WQZcLCod", "WQtcHgXHCa==", "W4ldRbpcSmkY", "r8oKW5ukr0e+gW==", "dSkjW4FdLCoY", "cGa6Ee4=", "W69pymoVuW==", "WQRcSCo7i0i=", "W5RdICoWWQPaW70ode4=", "cfiNWODs", "W7rzWPr/W4u=", "ySkuecz+", "W4qsW70WWOq=", "W5VdS8kmWPXz", "W44jW7W=", "pxRcGW==", "ye5hngpdUa==", "WRRcQfT0va==", "WQxcImouW7CY", "qLRcJKddTa==", "p8o6q8kUdW==", "W4nlWRLvW6W=", "p3hdQ8kzWOe=", "W4eFeCojW5W=", "W43dNCoMWRG=", "nNCqW7lcQW==", "FCoqw3dcUq==", "W4BdGSkKWQ8+", "rmo8q1/cKW==", "D0assmov", "f0eQWODU", "nJXVfCo5W6VcVIniWPKKcCkpWO0fW63dNI4fWPziiSkWEmowWO12AKqNWQvPyCkMmb8aCConW7ddQCkmxs3cG3xdJuuMW7FdJCoqWQndsmk9WQzzW5mgWP/cUHmx", "pCoRymkabCoqta==", "i2xdImk+", "owFdVSkkWOm=", "WPNcK1H+Ca==", "W4FdKJxcICkP", "W4hdNSkuWO4=", "W7Gol8oAW6O=", "W61RWRrOW4y=", "W7qAn8ksWQK=", "WPVcRvWNWOG=", "xmoyrwFcQW==", "WOz7W4hcRSkB", "l1yQW5RcSW==", "zvJcQvZdNa==", "W4hdPSobWPvy", "nWldKCoIvG==", "CeTyh3K=", "pa/cVexcLG==", "cmk0W6JdUSoK", "AwSxW5ZcHq==", "jIpcKfdcOW==", "W5r5WQXpW74=", "n8k1mmoHW4G=", "xe4JW7FcMW==", "hmolw8kViW==", "gfutW6hcSG==", "hflcVSkzrW==", "jZpcRN/cRq==", "W7tdV8kF", "ig0UW7VcLW==", "b03dGCkBWP0=", "nYFcPW==", "W4ueW6StWP0=", "W4BdN8ogWR9D", "qe89qCo3", "W68dgmkSWR4=", "Ae0FsmoD", "pSoVECkojG==", "W6aplSoBfG==", "mq/dR8omya==", "amkMiCojW40=", "xN5GWPVcJa==", "W67dJmk4WQji", "fxRcVCk7yG==", "fSkLoSoLW7a=", "a8oCWPJdP8kt", "e8o0WRxdI8kv", "ChO3W6NcMa==", "awVdPmkGWO0=", "nCk0W6pdMCod", "W4xdP8kOWO5J", "lSowxSk0fW==", "js/cPwVcTW==", "WOJdRmo9amkt", "nsRcULdcUmkH", "gCkIW4FdLmoF", "DmovW7erzG==", "cSoFD8kfeq==", "WRVcH8ouW7aC", "WPvCW6xcKSkr", "W4qRW4arWQW=", "WPpcPgjfFW=="]; + n = c, + r = 280, + function(t) { + for (; --t; ) + n.push(n.shift()) + }(++r); + var u = function t(n, e) { + var r = c[n -= 0]; + void 0 === t.dkfVxK && (t.jRRxCS = function(t, n) { + for (var e = [], r = 0, o = void 0, a = "", i = "", c = 0, u = (t = function(t) { + for (var n, e, r = String(t).replace(/=+$/, ""), o = "", a = 0, i = 0; e = r.charAt(i++); ~e && (n = a % 4 ? 64 * n + e : e, + a++ % 4) ? o += String.fromCharCode(255 & n >> (-2 * a & 6)) : 0) + e = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e); + return o + }(t)).length; c < u; c++) + i += "%" + ("00" + t.charCodeAt(c).toString(16)).slice(-2); + t = decodeURIComponent(i); + var s = void 0; + for (s = 0; s < 256; s++) + e[s] = s; + for (s = 0; s < 256; s++) + r = (r + e[s] + n.charCodeAt(s % n.length)) % 256, + o = e[s], + e[s] = e[r], + e[r] = o; + s = 0, + r = 0; + for (var f = 0; f < t.length; f++) + r = (r + e[s = (s + 1) % 256]) % 256, + o = e[s], + e[s] = e[r], + e[r] = o, + a += String.fromCharCode(t.charCodeAt(f) ^ e[(e[s] + e[r]) % 256]); + return a + } + , + t.vDRBih = {}, + t.dkfVxK = !0); + var o = t.vDRBih[n]; + return void 0 === o ? (void 0 === t.EOELbZ && (t.EOELbZ = !0), + r = t.jRRxCS(r, e), + t.vDRBih[n] = r) : r = o, + r + } + , s = u("0x105", "T5dY") + , f = u("0x143", "tnRV") + , d = u("0xf3", "r6cx") + , l = u("0x13e", "r6cx") + , h = u("0xfc", "YD9J") + , W = u("0xce", "0JIq") + , x = u("0xf4", "HaX[") + , p = u("0x6a", "bNd#") + , m = u("0x121", "0]JJ") + , v = u("0x126", "w(Dq") + , b = u("0xf2", "iF%V") + , g = u("0xc0", "86I$") + , k = u("0x2a", "D@GR") + , _ = u("0x119", "(k)G") + , y = u("0xdd", "86I$")[d]("") + , w = { + "+": "-", + "/": "_", + "=": "" + }; + function C(t) { + return t[l](/[+\/=]/g, (function(t) { + return w[t] + } + )) + } + var S = ("undefined" == typeof window ? "undefined" : o(window)) !== u("0x79", "Hof]") && window[m] ? window[m] : parseInt + , O = { + base64: function(t) { + var n = u + , e = {}; + e[n("0x83", "4j9@")] = function(t, n) { + return t * n + } + , + e[n("0x18", "[wyj")] = function(t, n) { + return t(n) + } + , + e[n("0xb", "v7]k")] = function(t, n) { + return t / n + } + , + e[n("0x22", "xY%o")] = function(t, n) { + return t < n + } + , + e[n("0x76", "j&er")] = function(t, n) { + return t + n + } + , + e[n("0x88", "tnRV")] = function(t, n) { + return t + n + } + , + e[n("0xba", "HaX[")] = function(t, n) { + return t >>> n + } + , + e[n("0xfd", "FlMG")] = function(t, n) { + return t & n + } + , + e[n("0xc3", "49kG")] = function(t, n) { + return t | n + } + , + e[n("0x9f", "&Wvj")] = function(t, n) { + return t << n + } + , + e[n("0x3d", "4j9@")] = function(t, n) { + return t << n + } + , + e[n("0x2f", "y@5u")] = function(t, n) { + return t >>> n + } + , + e[n("0x140", "1YRP")] = function(t, n) { + return t - n + } + , + e[n("0x59", "wWU6")] = function(t, n) { + return t === n + } + , + e[n("0x10b", "pRbw")] = function(t, n) { + return t + n + } + , + e[n("0x21", "xY%o")] = function(t, n) { + return t & n + } + , + e[n("0x33", "w(Dq")] = function(t, n) { + return t << n + } + , + e[n("0x35", "EX&9")] = function(t, n) { + return t + n + } + , + e[n("0xea", "49kG")] = function(t, n) { + return t + n + } + , + e[n("0x130", "0JIq")] = function(t, n) { + return t(n) + } + ; + for (var r = e, o = void 0, a = void 0, i = void 0, c = "", s = t[g], f = 0, d = r[n("0x146", "FVER")](r[n("0x30", "uDrd")](S, r[n("0x2d", "r6cx")](s, 3)), 3); r[n("0x102", "4j9@")](f, d); ) + o = t[f++], + a = t[f++], + i = t[f++], + c += r[n("0x62", "tnRV")](r[n("0x78", "(k)G")](r[n("0x88", "tnRV")](y[r[n("0xed", "1YRP")](o, 2)], y[r[n("0xb4", "YD9J")](r[n("0xd1", "uDrd")](r[n("0x108", "VdBX")](o, 4), r[n("0xfe", "vqpk")](a, 4)), 63)]), y[r[n("0xbf", "[wyj")](r[n("0x148", "Buip")](r[n("0x27", "r6cx")](a, 2), r[n("0x53", "zrWU")](i, 6)), 63)]), y[r[n("0x29", "rib%")](i, 63)]); + var l = r[n("0x5a", "uDrd")](s, d); + return r[n("0x124", "CCDE")](l, 1) ? (o = t[f], + c += r[n("0xb3", "4j9@")](r[n("0xad", "NZM&")](y[r[n("0xa8", "YD9J")](o, 2)], y[r[n("0x44", "YD9J")](r[n("0x116", "uDrd")](o, 4), 63)]), "==")) : r[n("0x65", "bWtw")](l, 2) && (o = t[f++], + a = t[f], + c += r[n("0xe3", "Poq&")](r[n("0x107", "D@GR")](r[n("0x2b", "bWtw")](y[r[n("0x1d", "bNd#")](o, 2)], y[r[n("0x0", "Hof]")](r[n("0xb1", "0]JJ")](r[n("0xe", "86I$")](o, 4), r[n("0x3e", "86I$")](a, 4)), 63)]), y[r[n("0x13b", "[wyj")](r[n("0x113", "y@5u")](a, 2), 63)]), "=")), + r[n("0x7f", "&Wvj")](C, c) + }, + charCode: function(t) { + var n = u + , e = {}; + e[n("0x117", "86I$")] = function(t, n) { + return t < n + } + , + e[n("0xd4", "FVER")] = function(t, n) { + return t >= n + } + , + e[n("0x81", "&NG^")] = function(t, n) { + return t <= n + } + , + e[n("0xa0", "Poq&")] = function(t, n) { + return t | n + } + , + e[n("0x6e", "Zd5Z")] = function(t, n) { + return t & n + } + , + e[n("0xc6", "uzab")] = function(t, n) { + return t >> n + } + , + e[n("0xac", "5W0R")] = function(t, n) { + return t | n + } + , + e[n("0x5b", "g#sj")] = function(t, n) { + return t & n + } + , + e[n("0x34", "vqpk")] = function(t, n) { + return t >= n + } + , + e[n("0x1", "&Wvj")] = function(t, n) { + return t <= n + } + , + e[n("0x10d", "Hof]")] = function(t, n) { + return t >> n + } + , + e[n("0x127", "HaX[")] = function(t, n) { + return t | n + } + , + e[n("0xd6", "HaX[")] = function(t, n) { + return t & n + } + , + e[n("0x38", "&NG^")] = function(t, n) { + return t >> n + } + ; + for (var r = e, o = [], a = 0, i = 0; r[n("0x117", "86I$")](i, t[g]); i += 1) { + var c = t[b](i); + r[n("0x4f", "HaX[")](c, 0) && r[n("0xbb", "FVER")](c, 127) ? (o[_](c), + a += 1) : r[n("0xd", "Hof]")](128, 80) && r[n("0x12", "1YRP")](c, 2047) ? (a += 2, + o[_](r[n("0xb8", "y@5u")](192, r[n("0xdc", "Hof]")](31, r[n("0x1f", "86I$")](c, 6)))), + o[_](r[n("0x61", "4j9@")](128, r[n("0x2c", "0]JJ")](63, c)))) : (r[n("0xfb", "FlMG")](c, 2048) && r[n("0x2e", "0JIq")](c, 55295) || r[n("0xd9", "g#sj")](c, 57344) && r[n("0x99", "Poq&")](c, 65535)) && (a += 3, + o[_](r[n("0x90", "&Wvj")](224, r[n("0x5e", "HaX[")](15, r[n("0xd3", "rib%")](c, 12)))), + o[_](r[n("0x11d", "FVER")](128, r[n("0x115", "YD9J")](63, r[n("0x8b", "Zd5Z")](c, 6)))), + o[_](r[n("0x5", "D@GR")](128, r[n("0x91", "&NG^")](63, c)))) + } + for (var s = 0; r[n("0x4c", "EX&9")](s, o[g]); s += 1) + o[s] &= 255; + return r[n("0x16", "[wyj")](a, 255) ? [0, a][k](o) : [r[n("0xb7", "uDrd")](a, 8), r[n("0x36", "bWtw")](a, 255)][k](o) + }, + es: function(t) { + var n = u; + t || (t = ""); + var e = t[v](0, 255) + , r = [] + , o = O[n("0x6f", "pRbw")](e)[h](2); + return r[_](o[g]), + r[k](o) + }, + en: function(t) { + var n = u + , e = {}; + e[n("0xbc", "xY%o")] = function(t, n) { + return t(n) + } + , + e[n("0x66", "FVER")] = function(t, n) { + return t > n + } + , + e[n("0xe2", "wWU6")] = function(t, n) { + return t !== n + } + , + e[n("0xf7", "Dtn]")] = function(t, n) { + return t % n + } + , + e[n("0xcf", "zrWU")] = function(t, n) { + return t / n + } + , + e[n("0x3f", "&Wvj")] = function(t, n) { + return t < n + } + , + e[n("0x41", "w(Dq")] = function(t, n) { + return t * n + } + , + e[n("0x10f", "xY%o")] = function(t, n) { + return t + n + } + , + e[n("0x63", "4j9@")] = function(t, n, e) { + return t(n, e) + } + ; + var r = e; + t || (t = 0); + var o = r[n("0x23", "v7]k")](S, t) + , a = []; + r[n("0xaf", "Dtn]")](o, 0) ? a[_](0) : a[_](1); + for (var i = Math[n("0x13", "D@GR")](o)[p](2)[d](""), c = 0; r[n("0xa6", "bWtw")](r[n("0x111", "pRbw")](i[g], 8), 0); c += 1) + i[x]("0"); + i = i[s](""); + for (var l = Math[f](r[n("0xdf", "1YRP")](i[g], 8)), h = 0; r[n("0x145", "vqpk")](h, l); h += 1) { + var W = i[v](r[n("0xe1", "Zd5Z")](h, 8), r[n("0x49", "bNd#")](r[n("0x31", "VdBX")](h, 1), 8)); + a[_](r[n("0xf0", "Buip")](S, W, 2)) + } + var m = a[g]; + return a[x](m), + a + }, + sc: function(t) { + var n = u + , e = {}; + e[n("0x101", "iF%V")] = function(t, n) { + return t > n + } + , + t || (t = ""); + var r = e[n("0x25", "bWtw")](t[g], 255) ? t[v](0, 255) : t; + return O[n("0xe0", "D@GR")](r)[h](2) + }, + nc: function(t) { + var n = u + , e = {}; + e[n("0xf5", "Poq&")] = function(t, n) { + return t(n) + } + , + e[n("0x74", "wWU6")] = function(t, n) { + return t / n + } + , + e[n("0x8", "D@GR")] = function(t, n, e, r) { + return t(n, e, r) + } + , + e[n("0x24", "1YRP")] = function(t, n) { + return t * n + } + , + e[n("0xb6", "T5dY")] = function(t, n) { + return t < n + } + , + e[n("0xc4", "YD9J")] = function(t, n) { + return t * n + } + , + e[n("0x67", "uzab")] = function(t, n) { + return t + n + } + , + e[n("0x9a", "5W0R")] = function(t, n, e) { + return t(n, e) + } + ; + var r = e; + t || (t = 0); + var o = Math[n("0x93", "tM!n")](r[n("0x11c", "EX&9")](S, t))[p](2) + , i = Math[f](r[n("0xa3", "1YRP")](o[g], 8)); + o = r[n("0x1b", "0I]C")](a, o, r[n("0x42", "tnRV")](i, 8), "0"); + for (var c = [], s = 0; r[n("0x10c", "bNd#")](s, i); s += 1) { + var d = o[v](r[n("0xc1", "1YRP")](s, 8), r[n("0x4a", "D@GR")](r[n("0x114", "&Wvj")](s, 1), 8)); + c[_](r[n("0x12a", "uDrd")](S, d, 2)) + } + return c + }, + va: function(t) { + var n = u + , e = {}; + e[n("0x95", "FVER")] = function(t, n) { + return t(n) + } + , + e[n("0x26", "5W0R")] = function(t, n, e, r) { + return t(n, e, r) + } + , + e[n("0x13a", "Naa&")] = function(t, n) { + return t * n + } + , + e[n("0xa5", "rib%")] = function(t, n) { + return t / n + } + , + e[n("0x4e", "Zd5Z")] = function(t, n) { + return t >= n + } + , + e[n("0x9e", "&Wvj")] = function(t, n) { + return t - n + } + , + e[n("0xa2", "rib%")] = function(t, n) { + return t === n + } + , + e[n("0xeb", "EX&9")] = function(t, n) { + return t & n + } + , + e[n("0xf8", "Buip")] = function(t, n) { + return t + n + } + , + e[n("0x50", "&Wvj")] = function(t, n) { + return t >>> n + } + ; + var r = e; + t || (t = 0); + for (var o = Math[n("0x94", "vqpk")](r[n("0x12b", "5W0R")](S, t)), i = o[p](2), c = [], s = (i = r[n("0x98", "bWtw")](a, i, r[n("0xe7", "T5dY")](Math[f](r[n("0xf9", "Buip")](i[g], 7)), 7), "0"))[g]; r[n("0xe4", "uzab")](s, 0); s -= 7) { + var d = i[v](r[n("0xf1", "49kG")](s, 7), s); + if (r[n("0xe8", "YD9J")](r[n("0x123", "wWU6")](o, -128), 0)) { + c[_](r[n("0x103", "T5dY")]("0", d)); + break + } + c[_](r[n("0x11a", "Poq&")]("1", d)), + o = r[n("0x92", "49kG")](o, 7) + } + return c[W]((function(t) { + return S(t, 2) + } + )) + }, + ek: function(t) { + var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "" + , e = u + , r = {}; + r[e("0x2", "w(Dq")] = function(t, n) { + return t !== n + } + , + r[e("0xca", "Zu]D")] = function(t, n) { + return t === n + } + , + r[e("0x57", "Naa&")] = e("0xf6", "w(Dq"), + r[e("0x7e", "Zu]D")] = e("0x110", "YD9J"), + r[e("0x7a", "T5dY")] = e("0x75", "Dtn]"), + r[e("0x128", "vqpk")] = function(t, n) { + return t > n + } + , + r[e("0x4", "zrWU")] = function(t, n) { + return t <= n + } + , + r[e("0x56", "uzab")] = function(t, n) { + return t + n + } + , + r[e("0x141", "VdBX")] = function(t, n, e, r) { + return t(n, e, r) + } + , + r[e("0xd2", "FVER")] = e("0xda", "j&er"), + r[e("0x17", "FVER")] = function(t, n, e) { + return t(n, e) + } + , + r[e("0x96", "vqpk")] = function(t, n) { + return t - n + } + , + r[e("0x11f", "VdBX")] = function(t, n) { + return t > n + } + ; + var i = r; + if (!t) + return []; + var c = [] + , s = 0; + i[e("0x147", "WmWP")](n, "") && (i[e("0x125", "pRbw")](Object[e("0x109", "FlMG")][p][e("0xb0", "y@5u")](n), i[e("0xa4", "4j9@")]) && (s = n[g]), + i[e("0x39", "tnRV")](void 0 === n ? "undefined" : o(n), i[e("0xf", "D@GR")]) && (s = (c = O.sc(n))[g]), + i[e("0x39", "tnRV")](void 0 === n ? "undefined" : o(n), i[e("0x5f", "rib%")]) && (s = (c = O.nc(n))[g])); + var f = Math[e("0xe5", "pRbw")](t)[p](2) + , d = ""; + d = i[e("0x9d", "Hof]")](s, 0) && i[e("0x28", "D@GR")](s, 7) ? i[e("0x6", "bWtw")](f, i[e("0x104", "49kG")](a, s[p](2), 3, "0")) : i[e("0xd7", "iF%V")](f, i[e("0xab", "EX&9")]); + var l = [i[e("0x97", "rib%")](S, d[h](Math[e("0x12c", "uDrd")](i[e("0x15", "w(Dq")](d[g], 8), 0)), 2)]; + return i[e("0x82", "(k)G")](s, 7) ? l[k](O.va(s), c) : l[k](c) + }, + ecl: function(t) { + var n = u + , e = {}; + e[n("0x122", "bWtw")] = function(t, n) { + return t < n + } + , + e[n("0x131", "&Wvj")] = function(t, n, e) { + return t(n, e) + } + ; + for (var r = e, o = [], a = t[p](2)[d](""), i = 0; r[n("0xd8", "tM!n")](a[g], 16); i += 1) + a[x](0); + return a = a[s](""), + o[_](r[n("0x19", "UcbW")](S, a[v](0, 8), 2), r[n("0xbe", "WmWP")](S, a[v](8, 16), 2)), + o + }, + pbc: function() { + var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "" + , n = u + , e = {}; + e[n("0x7c", "0]JJ")] = function(t, n) { + return t(n) + } + , + e[n("0x20", "iF%V")] = function(t, n) { + return t < n + } + , + e[n("0xaa", "tnRV")] = function(t, n) { + return t - n + } + ; + var r = e + , o = [] + , a = O.nc(r[n("0x43", "[wyj")](i, t[l](/\s/g, ""))); + if (r[n("0xcd", "bWtw")](a[g], 4)) + for (var c = 0; r[n("0x51", "zrWU")](c, r[n("0x3a", "HaX[")](4, a[g])); c++) + o[_](0); + return o[k](a) + }, + gos: function(t, n) { + var e = u + , r = {}; + r[e("0x135", "EX&9")] = function(t, n) { + return t === n + } + , + r[e("0x8e", "wWU6")] = e("0x136", "w(Dq"), + r[e("0x85", "CCDE")] = e("0x13f", "1YRP"); + var o = r + , a = Object[o[e("0x86", "0I]C")]](t)[W]((function(n) { + var r = e; + return o[r("0xef", "5W0R")](n, o[r("0x9c", "r6cx")]) || o[r("0xb2", "xY%o")](n, "c") ? "" : n + ":" + t[n][p]() + "," + } + ))[s](""); + return e("0x12e", "zrWU") + n + "={" + a + "}" + }, + budget: function(t, n) { + var e = u + , r = {}; + r[e("0x133", "vqpk")] = function(t, n) { + return t === n + } + , + r[e("0xd0", "Buip")] = function(t, n) { + return t === n + } + , + r[e("0x48", "1YRP")] = function(t, n) { + return t >= n + } + , + r[e("0x13c", "HaX[")] = function(t, n) { + return t + n + } + ; + var o = r; + return o[e("0xa", "iF%V")](t, 64) ? 64 : o[e("0xc2", "v7]k")](t, 63) ? n : o[e("0x46", "NZM&")](t, n) ? o[e("0x129", "Zd5Z")](t, 1) : t + }, + encode: function(t, n) { + var e = u + , r = {}; + r[e("0x3", "0I]C")] = function(t, n) { + return t < n + } + , + r[e("0x132", "r6cx")] = e("0x13d", "[wyj"), + r[e("0x10e", "v7]k")] = function(t, n) { + return t < n + } + , + r[e("0x11b", "YD9J")] = e("0x71", "Zu]D"), + r[e("0x4b", "uzab")] = function(t, n) { + return t !== n + } + , + r[e("0x7b", "v7]k")] = e("0x55", "j&er"), + r[e("0x137", "Hof]")] = e("0x14", "uDrd"), + r[e("0xc", "r6cx")] = function(t, n) { + return t * n + } + , + r[e("0xdb", "86I$")] = e("0xd5", "1YRP"), + r[e("0x45", "5W0R")] = e("0xec", "WmWP"), + r[e("0xa9", "uzab")] = function(t, n) { + return t | n + } + , + r[e("0xcb", "1YRP")] = function(t, n) { + return t << n + } + , + r[e("0x1a", "Dtn]")] = function(t, n) { + return t & n + } + , + r[e("0x69", "T5dY")] = function(t, n) { + return t - n + } + , + r[e("0x5c", "[wyj")] = function(t, n) { + return t >> n + } + , + r[e("0x138", "Naa&")] = function(t, n) { + return t - n + } + , + r[e("0x40", "Hof]")] = function(t, n) { + return t & n + } + , + r[e("0x52", "FVER")] = function(t, n) { + return t >> n + } + , + r[e("0x100", "pRbw")] = function(t, n) { + return t - n + } + , + r[e("0x68", "w(Dq")] = function(t, n) { + return t(n) + } + , + r[e("0x54", "Buip")] = function(t, n, e) { + return t(n, e) + } + , + r[e("0x80", "0I]C")] = function(t, n, e) { + return t(n, e) + } + , + r[e("0x1c", "iF%V")] = function(t, n) { + return t | n + } + , + r[e("0xa1", "w(Dq")] = function(t, n) { + return t << n + } + , + r[e("0x9b", "YD9J")] = function(t, n) { + return t + n + } + , + r[e("0x72", "vqpk")] = function(t, n) { + return t + n + } + , + r[e("0x6d", "wWU6")] = function(t, n) { + return t + n + } + ; + for (var a, i, c, s, f = r, d = { + "_bÇ": t = t, + _bK: 0, + _bf: function() { + var n = e; + return t[b](d[n("0x8c", "bNd#")]++) + } + }, h = { + "_ê": [], + "_bÌ": -1, + "_á": function(t) { + var n = e; + h[n("0x7d", "T5dY")]++, + h["_ê"][h[n("0xc8", "vqpk")]] = t + }, + "_bÝ": function() { + var t = e; + return _bÝ[t("0x11e", "WmWP")]--, + f[t("0x8d", "w(Dq")](_bÝ[t("0xcc", "Naa&")], 0) && (_bÝ[t("0x106", "tnRV")] = 0), + _bÝ["_ê"][_bÝ[t("0xae", "bNd#")]] + } + }, W = "", x = f[e("0x7", "v7]k")], p = 0; f[e("0x142", "NZM&")](p, x[g]); p++) + h["_á"](x[f[e("0xc5", "Hof]")]](p)); + h["_á"]("="); + var m = f[e("0x118", "WmWP")](void 0 === n ? "undefined" : o(n), f[e("0x6b", "86I$")]) ? Math[f[e("0xb5", "YD9J")]](f[e("0x8f", "Buip")](Math[f[e("0xbd", "tM!n")]](), 64)) : -1; + for (p = 0; f[e("0x11", "Hof]")](p, t[g]); p = d[e("0x70", "&NG^")]) + for (var v = f[e("0x32", "r6cx")][e("0x37", "D@GR")]("|"), k = 0; ; ) { + switch (v[k++]) { + case "0": + i = f[e("0xde", "EX&9")](f[e("0x12f", "VdBX")](f[e("0x120", "NZM&")](h["_ê"][f[e("0x5d", "4j9@")](h[e("0x7d", "T5dY")], 2)], 3), 4), f[e("0x139", "tnRV")](h["_ê"][f[e("0x47", "Poq&")](h[e("0x87", "v7]k")], 1)], 4)); + continue; + case "1": + s = f[e("0x89", "NZM&")](h["_ê"][h[e("0x84", "4j9@")]], 63); + continue; + case "2": + h["_á"](d[e("0x10", "5W0R")]()); + continue; + case "3": + a = f[e("0x52", "FVER")](h["_ê"][f[e("0xc9", "YD9J")](h[e("0xe9", "Zd5Z")], 2)], 2); + continue; + case "4": + f[e("0x3c", "UcbW")](isNaN, h["_ê"][f[e("0x64", "v7]k")](h[e("0x12d", "HaX[")], 1)]) ? c = s = 64 : f[e("0x73", "T5dY")](isNaN, h["_ê"][h[e("0x77", "y@5u")]]) && (s = 64); + continue; + case "5": + h["_á"](d[e("0xc7", "pRbw")]()); + continue; + case "6": + f[e("0x8a", "&Wvj")](void 0 === n ? "undefined" : o(n), f[e("0x60", "FVER")]) && (a = f[e("0xee", "rib%")](n, a, m), + i = f[e("0x149", "y@5u")](n, i, m), + c = f[e("0x9", "vqpk")](n, c, m), + s = f[e("0xff", "r6cx")](n, s, m)); + continue; + case "7": + c = f[e("0x144", "EX&9")](f[e("0xa7", "tM!n")](f[e("0x58", "xY%o")](h["_ê"][f[e("0xb9", "Zd5Z")](h[e("0xe6", "D@GR")], 1)], 15), 2), f[e("0xfa", "UcbW")](h["_ê"][h[e("0x7d", "T5dY")]], 6)); + continue; + case "8": + W = f[e("0x134", "1YRP")](f[e("0x10a", "0JIq")](f[e("0x112", "bNd#")](f[e("0x3b", "4j9@")](W, h["_ê"][a]), h["_ê"][i]), h["_ê"][c]), h["_ê"][s]); + continue; + case "9": + h["_á"](d[e("0x6c", "bNd#")]()); + continue; + case "10": + h[e("0x87", "v7]k")] -= 3; + continue + } + break + } + return f[e("0x1e", "T5dY")](W[l](/=/g, ""), x[m] || "") + } + }; + t[u("0x4d", "v7]k")] = O + } + ).call(this, e(0)(t)) + } + + , function(t, n, e) { + "use strict"; + var r, o, a = t.exports = {}; + function i() { + throw new Error("setTimeout has not been defined") + } + function c() { + throw new Error("clearTimeout has not been defined") + } + function u(t) { + if (r === setTimeout) + return setTimeout(t, 0); + if ((r === i || !r) && setTimeout) + return r = setTimeout, + setTimeout(t, 0); + try { + return r(t, 0) + } catch (n) { + try { + return r.call(null, t, 0) + } catch (n) { + return r.call(this, t, 0) + } + } + } + !function() { + try { + r = "function" == typeof setTimeout ? setTimeout : i + } catch (t) { + r = i + } + try { + o = "function" == typeof clearTimeout ? clearTimeout : c + } catch (t) { + o = c + } + }(); + var s, f = [], d = !1, l = -1; + function h() { + d && s && (d = !1, + s.length ? f = s.concat(f) : l = -1, + f.length && W()) + } + function W() { + if (!d) { + var t = u(h); + d = !0; + for (var n = f.length; n; ) { + for (s = f, + f = []; ++l < n; ) + s && s[l].run(); + l = -1, + n = f.length + } + s = null, + d = !1, + function(t) { + if (o === clearTimeout) + return clearTimeout(t); + if ((o === c || !o) && clearTimeout) + return o = clearTimeout, + clearTimeout(t); + try { + o(t) + } catch (n) { + try { + return o.call(null, t) + } catch (n) { + return o.call(this, t) + } + } + }(t) + } + } + function x(t, n) { + this.fun = t, + this.array = n + } + function p() {} + a.nextTick = function(t) { + var n = new Array(arguments.length - 1); + if (arguments.length > 1) + for (var e = 1; e < arguments.length; e++) + n[e - 1] = arguments[e]; + f.push(new x(t,n)), + 1 !== f.length || d || u(W) + } + , + x.prototype.run = function() { + this.fun.apply(null, this.array) + } + , + a.title = "browser", + a.browser = !0, + a.env = {}, + a.argv = [], + a.version = "", + a.versions = {}, + a.on = p, + a.addListener = p, + a.once = p, + a.off = p, + a.removeListener = p, + a.removeAllListeners = p, + a.emit = p, + a.prependListener = p, + a.prependOnceListener = p, + a.listeners = function(t) { + return [] + } + , + a.binding = function(t) { + throw new Error("process.binding is not supported") + } + , + a.cwd = function() { + return "/" + } + , + a.chdir = function(t) { + throw new Error("process.chdir is not supported") + } + , + a.umask = function() { + return 0 + } + } + , function(t, n, e) { + "use strict"; + t.exports = { + 2: "need dictionary", + 1: "stream end", + 0: "", + "-1": "file error", + "-2": "stream error", + "-3": "data error", + "-4": "insufficient memory", + "-5": "buffer error", + "-6": "incompatible version" + } + } + , function(t, n, e) { + "use strict"; + (function(t, n) { + var r, o, a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } + : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + } + , i = e(6), c = e(2), u = e(15), s = e(18), f = ["wYtcP2me", "cdvofSosWRTRWOP2CLumW4RdJ8kW", "sxxcQMFcNq==", "WPJcUCoqwuO=", "WR82WP4=", "WRvNfCoxhSo0WRtcRCoJAwaKWRtcLmoXW77cVCo8dHCHWOy=", "vmkbWRpcHsZcR8oBW7uCWPxdGmk6WRqu", "emoxWRpdIZS=", "WOepaCooBW==", "WPKDcCogFW==", "FmkpW6JdMCof", "oSoCW57cM1q=", "aCkTWQ0Gy0mAsx3dHaxdQdj9", "W4hcMdBdGSkV", "WRebWQaRiq==", "eCkunftdVCkDWQS=", "mCorW7jWsW==", "F13cIrVcHby6rSkrW49R", "W6NcTcK=", "W55mvs7dQW==", "WR1Km8oFpG==", "C8kqtYRdTW==", "WP4xlmouxCoHWQRdJGGp", "DCkNWQVcRqK=", "hmkPWRe5wviHt3VdIa==", "WPrVcSok", "WQ0VW5GMW5ysvXNcNa==", "qCkLmmolsa==", "cmkvWR4EW5uAWRehnSkpWPW=", "pmonWRa=", "W6n4yXRdKq==", "W5RdUCo5WQC=", "iCoxWQNdKZS=", "WPavW6edW60=", "WQL4W7v4W7q=", "DSo+W7hdOY4=", "WPf6W6rCW53cS8ok", "ysCuW47dNq==", "wHq+W5ZdQhRcRCoKW4TjchKNW6Ww", "WPVcSc1pW6K=", "WOCzkq==", "WP7cS8ouu1pdI8o1xq==", "aCkppf3dV8kgWOu=", "vmk8CY7dSW==", "W73cQZBdGCk1", "sgRcIqVcJW==", "yYeghXG=", "WQFdJxysCq==", "w8kiWRtcGtpcGG==", "W7/dUsTIW4C=", "WQ4OW5uHW40urWFcNG==", "W4JcHSkch8kV", "W55CxJldKW==", "Cg0NW5bS", "W4RcQs7dGCkM", "u8omWPldMbLr", "WPZdK0OdymomW58rW4VcKmknrwPRWQ9a", "w8kQWOlcHuC=", "W5biqZxdLW==", "WRhdN8ojeLS=", "EwmDv1y9WQKv", "WOa3WP/dUMq=", "uCkstqhdVa==", "WO7cNWPHW4q=", "fIzpdCoIWRXMWPvH", "WOpdRSkIfXi=", "WOC4WRJdKKa=", "A0RcVd7cNa==", "WPecWPuxcG==", "emkShNZdSW==", "WOunlCosr8ofWRFdIW4t", "DmkfW4SbWOu=", "WOOdWPufkG==", "FCocWOJdKW==", "WR8QW48yW4e=", "qNdcPhdcJmk6", "F8kukmoLEG==", "WOvTmmokd8o4WPxcUa==", "WQBdKNRdSK4=", "ySkuFda=", "WPFcRc5aW4W=", "WOKupmowr8orWR/dJbiE", "g2ldRLOc", "eSoPW7HtvG==", "fSoaW4VcL1W=", "rmoXW4ldLWJdT2tdK8klowvQWRea", "WQZdUCkaasxcJmkgWOmka8kepW==", "u8oWW47dNbZdPMhdQSku", "WQewWQVdULi=", "W7xdRbDpW4i=", "zYNcJvmg", "WOJdGvqnuG==", "W6axWRBdN8o0fCovFLPzqgNdMwFdPfaoDG==", "CCkHW5GZWRi=", "zJmRW7NdGq==", "zvJcGhtcJa==", "hG7dGmkktq==", "kqBdICkQwG==", "W7H1oCkMWQq=", "W7tdQ8o7WQtcGG==", "W4fFuqZdOG==", "yCopW63dKGm=", "CSk6vb/dNW==", "WQO4W5u2W4SpwaZcIW==", "w8oXD8o/ya==", "WPCzWR8tfq==", "wu3cIIdcOa==", "W7lcNmkzjSkR", "kSk+WReGtG==", "W4CxWQRdGG==", "W7JdHbbUW40oW6xcRqdcUmkL", "WQqCWPCYkG==", "smkiW7WfWOms", "umkEeCoNuG==", "vmo2WQNdJdq=", "WRCIWPtdMvS=", "W77cVZ7dT8k3W6n8", "kuldPgaK", "W4hdVSk/nKi=", "WRjdW7jvW6u=", "WPRdRNNdM0W=", "gSoCW6NcPenEumoUWOi=", "gSocW6NcOffsBCoUWPtcUHDly8kAWPVdMa==", "aM/dU3C6sw3dO8oM", "mH1mdmod", "WPNdMemhy8oDW54iW6BcJCkxxMfgWQvCWQJdJmkoWRGSW67cNq==", "W6NdSSocWPhcIq==", "tSkmW6agWOmuW6ej", "F3FcTG7cRW==", "WRKZcCoFxW==", "sSk2EHldTW==", "FqS8ad0UD8ob", "iuxdMeeX", "y8o8zmkuoG==", "cmoxW7NcHeLsu8oUWOJcUdbaFSkx", "nCojWQ7dUWS=", "W6VcPmk6cSk7", "WRJdSCkWjrS=", "bSkrW6NcMNxcLSkzW6Xc", "smkLgCoPxSoWz33cRa==", "WP7dS8kNWO7cKG==", "k8onWRhdTW==", "vCopWPNdLH1lE1/cGG==", "WP7cGbb9W5pdQfW=", "o8osW6n7tCoXWQlcP8k8mq==", "WRSmW4VcH8ox", "WQGuW4qQW60=", "vg7cQ3BcNa==", "W4tdI8ouWRxcOG==", "FLVcRJZcKW==", "w8ogWOxdIa==", "W7vJlmkQWOq=", "WRddGemuDW==", "W6W5WPpdQ8o7", "ESk5W5m=", "WRpcGJjZW7C=", "WQavWQOepmkk", "D8kMuq/dMa==", "WQVdT2tdOKq=", "WOxdTSo8eea=", "W77cMmkqjW==", "WRW8WPtdL1C=", "W5GiWQFdJCoLnmoPBezQu37dO3RdJvq=", "WQJdT8knbd3cGmkSWPSMa8kw", "WRJdRSkNWQ/cLq==", "o0JdGfir", "iCo9W4NcHhPYCmoD", "bdvdeG==", "WQmeWRCvnSkqkI9H", "D8k2W5BdV8oudSkmWRNdNmkfW5rmurG=", "WPNdSmoWiq==", "WQ4rWRddUfm=", "WPlcJavLW53dRKa=", "WOjUcSoDga==", "etfchCo/WQfPWOb2", "W57dKW9QW49bW4xcOrdcUG==", "W6xdPXXpW6a=", "pCoqWQZdRJ3cR8kCk8oyWRLwgW==", "WR/dVCo7hNy=", "nCkfWOOltW==", "DSoXs8opuvVdICoeyCoijG==", "hfxdH14d", "r8kNWP/cILq=", "WOhdS27dQh0=", "s0CMW59XWRZcIqHd", "oSkjaK3dKa==", "CSoSW7tdRGi=", "n8oGW5xcH1m=", "dmkioeddPa==", "gmoAWOldTd0=", "x0/cLZRcHa==", "W7WFWPhdTSoq", "rmkoW50NWQW=", "W43dVSoKWOhcRa==", "xLGQW5nUWP/cGqfhsG==", "WRpdO8kKWQxcRa==", "AxaxFx8=", "WQNdQ8oumui=", "sSkjWQdcOK4=", "iqldLq==", "dSkaawZdPW==", "WOlcHHzQW5tdIve1WPese8kieWWyvq3cNd0=", "W6VcOYRdH8kZW7n8", "WOirW77cPSoE", "B8kLW4RdHmomfmkLWRVdLG==", "WQBdPmkPWRZcRG==", "xSobWRhdLIi=", "WP/dJ8kZWRxcPG==", "W7zftI/dGSk2ASkeltlcHSkUfCkS", "WRKhW57cT8ok", "dCoBW6pcPq==", "WRxdN8kqgau=", "W5b4eG==", "WOrfj8osoa==", "EqS+hZuIFa==", "WRWKWPhdMfC=", "yCkmWOtcH1C=", "W53dRrbXW4y=", "smk1fq==", "cCoxWOVdIHm=", "W7tcU8kIoSkt", "W6ynWRpdPmou", "W49ftJ/dJ8kbCCksmqm=", "FvVcV1FcHW==", "rmokASkbcCopW5z1W7W=", "WO7dLfWPESofW6ukW7C=", "sCkbW6SNWPC=", "umkAcSoRvmkZ", "qNWwq1uSWQGmWOBcJmkesKfXW7K=", "WRKXWPpdLuZcPa==", "lCo4W7ZcIMS=", "jWJdKmkYy8ouuhK=", "f8knjLddUmkuWQG=", "WQBdGK7dH0K=", "W7xcMCkDkSkBW5OstSkS", "WPtdSmkSWRhcHCog", "jt94gmo7", "uwzVWQZcLa==", "WQldT2FdTxRcJCkgjX4=", "rSkchmoLtCkZF8kgW4ddLu7cQSkoW4SVFq==", "WOuGWOeadq==", "japdHSkKBmosug8Z", "FCokW7RdJJC=", "a8orW5NcLvm=", "vN8auveNWRu=", "W5/dLmo7WRJcNq==", "yfNcLaZcIHW=", "WPiMW57cQG==", "wCowA8kc", "DmkaW4mKWPq=", "WPeLW4BcQmorWRDy", "qtxcLNmz", "WQxcImosD1i=", "WOPcW41CW70=", "C8oIsCkpcW==", "WOtcJavSW47dQeaM", "W6dcUIZdGCkMW6z7Egu=", "bcBdKCk5tG==", "WP3cNJTWW6y=", "yYVcSheV", "WQxdPSk4WRJcJmoyWRP/WO8=", "mCkfphVdHW==", "WQuAaConrG==", "W5nBW4JcGmknpW==", "BCoDW6RdSYG=", "DmkFW6m7WPq=", "W6tcQcZdJSk5", "WRWdWQWek8kSnJzJWPlcJG==", "WRtdRwmrvW==", "B8kIW5BdMa==", "WQWUf8oCwq==", "WQFdVMCczq==", "WPCzW74yW74=", "DuKAyfu=", "sxhcSa==", "rCkTW73dPmoe", "C8oiWQtdMG4=", "ncfOmmoG", "W4/dSCkSfq==", "v8k5aSoYrmoNDN7cVqmRWOK=", "vSk8g8oLra==", "FWJcPvaQncbNW68=", "BWeJmIe1DSoFWPLHWOJdS8kP", "W7/cLSkymG==", "WR/dG2mWrq==", "AXdcOfWGfsTRW6XtCW==", "yKRcLrZcIGuMzSkv", "FxXS", "W55pW4NcJSk4jrlcNgq/sW==", "WOhdVmo9j1C=", "oSohW5RcLKG=", "omooWQBdOGZcHmkCoSoZWRm=", "jgldMKiN", "W781WO0=", "dmkbgfxdIW==", "kajlnSou", "hmkVWReGueWHswy=", "WOBcIWa=", "CmoQw8opw1ZdIG==", "g8kLl3ZdKa==", "WPOFWO7dIwC=", "WQzOW7nzW5lcUCoWW7Dmo2pcTHpcP0TJsq==", "lmk1pNFdIa==", "W5T4aSk9WQmygKO=", "EWWT", "tSovD8oVyG==", "W4/dVmk2o08=", "WPJcSmoWtgu=", "WPRdHmkqaZS=", "WOBdTMRdPehcJCkjmG==", "W5VcKIRdHmkI", "WQ7cGZr8W70=", "W67dQSoIWRBcLCkoWP/cPHO=", "tsaHpJ0=", "xCo2s8odra==", "WOqzlCoEq8o3W77dJbuFkW==", "A2qYW55b", "WQCxpCosr8o8WRFdLqG=", "u2aqrhKUWQmwWRC=", "WRvCW411W7a=", "rCoSW4FdNGRdPG==", "yCoVvmobCW==", "DSkzkCo+CG==", "ESkIpSoiCG==", "yWa7W67dUa==", "W77cVZ7dT8k0W7rQzuGmkG==", "W4pcRdFdUSkG", "BmkEzr/dQa==", "WPxdN8ktddi=", "WRy/W487W4K=", "WOKxnSoCxmo3", "v3/cTwZcJCkwymoS", "W47dLSo6WQFcRG==", "WPVdMfWdD8okW5K=", "ws3cKv0M", "WO7dQgRdJ33cISkl", "WRS6WO4ffa==", "yCoSx8kddG==", "W4JcJrtdG8kT", "W4KTWPBdM8oD", "ySkKWQRcIIq=", "W4KuWQ3dO8oi", "x8kfW6ChWOGsW5W=", "yCkQeSo0Ba==", "xCofymkdgSohW591W6S=", "yCoTx8k9ca==", "Dw0UW7ni", "DCoVrCoUDG==", "BGNcOKaHocb2", "FIKkhXe=", "v3zSWOxdSCkoa3WsWRDcW6dcHSoV", "WR3cGCoQz2O=", "sComBSonqG==", "WPJcGG5XW4K=", "WO9IW6ffW53cUCoo", "W4PixY7dGq==", "W6FcQZNdUSkKW6LRCMuapa==", "W45EW4tcLCkg", "W4JcVCknoSkD"]; + r = f, + o = 175, + function(t) { + for (; --t; ) + r.push(r.shift()) + }(++o); + var d = function t(n, e) { + var r = f[n -= 0]; + void 0 === t.YcraBi && (t.qZQcpm = function(t, n) { + for (var e = [], r = 0, o = void 0, a = "", i = "", c = 0, u = (t = function(t) { + for (var n, e, r = String(t).replace(/=+$/, ""), o = "", a = 0, i = 0; e = r.charAt(i++); ~e && (n = a % 4 ? 64 * n + e : e, + a++ % 4) ? o += String.fromCharCode(255 & n >> (-2 * a & 6)) : 0) + e = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e); + return o + }(t)).length; c < u; c++) + i += "%" + ("00" + t.charCodeAt(c).toString(16)).slice(-2); + t = decodeURIComponent(i); + var s = void 0; + for (s = 0; s < 256; s++) + e[s] = s; + for (s = 0; s < 256; s++) + r = (r + e[s] + n.charCodeAt(s % n.length)) % 256, + o = e[s], + e[s] = e[r], + e[r] = o; + s = 0, + r = 0; + for (var f = 0; f < t.length; f++) + r = (r + e[s = (s + 1) % 256]) % 256, + o = e[s], + e[s] = e[r], + e[r] = o, + a += String.fromCharCode(t.charCodeAt(f) ^ e[(e[s] + e[r]) % 256]); + return a + } + , + t.VJIJrx = {}, + t.YcraBi = !0); + var o = t.VJIJrx[n]; + return void 0 === o ? (void 0 === t.vqlFfC && (t.vqlFfC = !0), + r = t.qZQcpm(r, e), + t.VJIJrx[n] = r) : r = o, + r + } + , l = d("0x7b", "z@XA") + , h = d("0x23", "GmkI") + , W = d("0x159", "Vta9") + , x = d("0x125", "K)By") + , p = d("0x28", "Vta9") + , m = d("0x27", ")GR)") + , v = d("0x165", "@e7Y") + , b = d("0xe0", "cO^Y") + , g = d("0x105", "@e7Y") + , k = d("0x9c", "Iaxw") + , _ = d("0x128", "iqO&") + , y = "id" + , w = d("0x63", "Iaxw") + , C = d("0x15b", "5^JL") + , S = d("0x2", "0Xnq") + , O = d("0xea", "Ss!0") + , R = d("0x18", "(odD") + , P = d("0x47", ")!%7") + , j = d("0xd0", "Cu&R") + , D = d("0x9b", "cO^Y") + , G = d("0xf0", "%LaC") + , I = d("0xad", "fGLK") + , Q = d("0x6e", "fGLK") + , q = d("0x13", "DxB8") + , N = d("0x154", "HZS0") + , A = d("0x145", "0Xnq") + , L = d("0x49", "a6hQ") + , z = d("0x80", "PVbW") + , F = d("0x10f", "ho[k") + , T = d("0xe2", "Dm1H") + , B = d("0xa7", "iqO&") + , J = d("0x146", "%d0T") + , E = d("0xe8", "(5GC") + , K = d("0xef", "%d0T") + , V = d("0x9e", "%LaC") + , H = d("0x5e", "s2FC") + , M = d("0x162", "Mju&") + , Y = d("0x67", "J)bp") + , Z = 0 + , U = void 0 + , X = void 0 + , $ = 1 + , tt = [] + , nt = function() {} + , et = void 0 + , rt = void 0 + , ot = void 0 + , at = void 0 + , it = void 0 + , ct = void 0 + , ut = (void 0 === t ? "undefined" : a(t)) === d("0x131", "GmkI") ? null : t; + if (("undefined" == typeof window ? "undefined" : a(window)) !== d("0x6a", "fGLK")) + for (var st = d("0xd4", "iqO&")[d("0x14b", "Iaxw")]("|"), ft = 0; ; ) { + switch (st[ft++]) { + case "0": + rt = et[d("0x51", "bpr9")]; + continue; + case "1": + it = et[d("0x147", "wFxG")]; + continue; + case "2": + ct = d("0x68", "[xh1")in et[I]; + continue; + case "3": + ot = et[d("0xd7", "pe9q")]; + continue; + case "4": + et = window; + continue; + case "5": + at = et[d("0x101", "%d0T")]; + continue + } + break + } + var dt = function() { + var t = d + , n = {}; + n[t("0x110", "Vta9")] = function(t, n) { + return t !== n + } + , + n[t("0x6d", "%LaC")] = t("0x58", "A0ma"), + n[t("0x29", "k3v4")] = function(t, n) { + return t !== n + } + , + n[t("0xe3", "uYFB")] = function(t, n) { + return t < n + } + , + n[t("0xf1", "k3v4")] = function(t, n) { + return t < n + } + , + n[t("0x3e", "CxgE")] = function(t, n) { + return t !== n + } + , + n[t("0x123", "oemU")] = t("0x42", "(odD"), + n[t("0x3", "Mju&")] = function(t, n) { + return t === n + } + , + n[t("0xc2", "s2FC")] = function(t, n) { + return t === n + } + , + n[t("0x8b", "z@XA")] = function(t, n) { + return t === n + } + , + n[t("0x61", "Ss!0")] = function(t, n) { + return t === n + } + , + n[t("0xa3", "bpr9")] = t("0x124", "Cu&R"), + n[t("0x44", "GmkI")] = function(t, n) { + return t === n + } + , + n[t("0x106", "j6Rk")] = t("0x0", "#hpG"), + n[t("0x1f", "%d0T")] = function(t, n) { + return t === n + } + , + n[t("0xdd", "W!Ty")] = t("0xaf", "CxgE"), + n[t("0x7f", "Dm1H")] = function(t, n) { + return t in n + } + , + n[t("0xdb", "ho[k")] = t("0x11f", "Ss!0"), + n[t("0x65", "%d0T")] = t("0x161", "s2FC"), + n[t("0x12a", "%d0T")] = function(t, n) { + return t > n + } + , + n[t("0xd6", "^o[d")] = t("0xb5", "bpr9"), + n[t("0x3a", "j6Rk")] = function(t, n) { + return t > n + } + , + n[t("0x4c", "fGLK")] = t("0x8c", "cO^Y"), + n[t("0x12", "pe9q")] = function(t, n) { + return t << n + } + ; + var e = n + , r = []; + e[t("0x7", "k3v4")](a(et[t("0x5c", "HZS0")]), e[t("0x14f", "PVbW")]) || e[t("0x4a", "iqO&")](a(et[t("0xfe", "cO^Y")]), e[t("0xfc", "HZS0")]) ? r[0] = 1 : r[0] = e[t("0x134", "Hv26")](et[t("0x5", "z@XA")], 1) || e[t("0x11e", "uYFB")](et[t("0x148", "#Xxt")], 1) ? 1 : 0, + r[1] = e[t("0xda", "^]Dl")](a(et[t("0x71", "A0ma")]), e[t("0x15c", "anZ%")]) || e[t("0xbf", "0Xnq")](a(et[t("0xf4", "(j*g")]), e[t("0xbb", "G[HW")]) ? 1 : 0, + r[2] = e[t("0x15", "(j*g")](a(et[t("0x3c", "anZ%")]), e[t("0x69", "[xh1")]) ? 0 : 1, + r[3] = e[t("0x118", "(odD")](a(et[t("0xd1", "@e7Y")]), e[t("0xba", "Iaxw")]) ? 0 : 1, + r[4] = e[t("0xf5", "Vta9")](a(et[t("0xb6", "A0ma")]), e[t("0xb2", "wFxG")]) ? 0 : 1, + r[5] = e[t("0xe9", "#hpG")](rt[t("0x166", "Hv26")], !0) ? 1 : 0, + r[6] = e[t("0x1c", "dmn8")](a(et[t("0x6b", ")GR)")]), e[t("0xd", "Dm1H")]) && e[t("0xee", "bpr9")](a(et[t("0x135", "%LaC")]), e[t("0x8", "j6Rk")]) ? 0 : 1; + try { + e[t("0x15d", "5QnQ")](a(Function[t("0x6f", ")!%7")][h]), e[t("0x13f", "0Xnq")]) && (r[7] = 1), + e[t("0x122", ")!%7")](Function[t("0x160", "HZS0")][h][g]()[m](/bind/g, e[t("0x11d", "ho[k")]), Error[g]()) && (r[7] = 1), + e[t("0x2e", "K)By")](Function[t("0x89", "pe9q")][g][g]()[m](/toString/g, e[t("0x5f", "cO^Y")]), Error[g]()) && (r[7] = 1) + } catch (t) {} + r[8] = rt[t("0x4b", "dmn8")] && e[t("0x59", "ho[k")](rt[t("0x45", "(j*g")][E], 0) ? 1 : 0, + r[9] = e[t("0x19", "Dm1H")](rt[t("0xa9", "a6hQ")], "") ? 1 : 0, + r[10] = e[t("0x14d", ")!%7")](et[t("0x36", "Vta9")], e[t("0x20", "anZ%")]) && e[t("0x84", "G[HW")](et[t("0x137", "iqO&")], e[t("0x41", "HZS0")]) ? 1 : 0, + r[11] = et[t("0x8e", "cO^Y")] && !et[t("0x3f", "j6Rk")][t("0xe1", "G[HW")] ? 1 : 0, + r[12] = e[t("0x77", "Dm1H")](et[t("0x34", "cn*L")], void 0) ? 1 : 0, + r[13] = e[t("0x78", "Hv26")](e[t("0x10", "K)By")], rt) ? 1 : 0, + r[14] = rt[e[t("0x3d", "Hv26")]](e[t("0xf6", "uYFB")]) ? 1 : 0, + r[15] = it[t("0x107", "uYFB")] && e[t("0xa4", "K)By")](it[t("0x15f", "Hv26")][g]()[l](e[t("0xc", "GmkI")]), -1) ? 1 : 0, + r[16] = ut && ut[t("0x38", "(odD")] && ut[t("0x13b", ")GR)")][t("0xb3", "^]Dl")] ? 1 : 0; + try { + r[17] = e[t("0x5d", "%LaC")](et[I][t("0x13e", "GmkI")][g]()[l](e[t("0xb0", "G[HW")]), -1) ? 0 : 1 + } catch (t) { + r[17] = 0 + } + for (var o = 0, i = 0; e[t("0xfd", "Dm1H")](i, r[E]); i++) + o += e[t("0x56", "Dm1H")](r[i], i); + return o + }; + function lt(t, n) { + var e = d + , r = {}; + r[e("0x10b", "#Xxt")] = function(t, n) { + return t - n + } + , + r[e("0x52", "(odD")] = function(t, n) { + return t > n + } + ; + var o = r + , a = n || et[e("0xec", "^o[d")] + , i = a[_][y] || "" + , c = {}; + if (c[J] = i, + c[F] = o[e("0x8a", ")GR)")](ot[w](), Z), + ct) { + var u = a[e("0x10d", "ho[k")]; + u && u[E] && (c[B] = u[0][B], + c[T] = u[0][T]) + } else + c[B] = a[B], + c[T] = a[T]; + t[Y][H](c), + o[e("0x7d", "Vta9")](t[Y][E], $) && t[Y][W]() + } + function ht(t) { + var n = d + , e = {}; + e[n("0x22", "dmn8")] = function(t, n) { + return t === n + } + ; + var r = e + , o = {}; + return (et[I][D] ? et[I][D][p]("; ") : [])[n("0x48", "dmn8")]((function(e) { + var a = n + , i = e[p]("=") + , c = i[v](1)[x]("=") + , u = i[0][m](/(%[0-9A-Z]{2})+/g, decodeURIComponent); + return c = c[m](/(%[0-9A-Z]{2})+/g, decodeURIComponent), + o[u] = c, + r[a("0x12d", "5QnQ")](t, u) + } + )), + t ? o[t] || "" : o + } + var Wt = { + init: function() { + var t = d + , n = {}; + n[t("0xb7", "oemU")] = t("0xbe", "(5GC"), + n[t("0x57", "cO^Y")] = t("0x1a", "wFxG"), + n[t("0xc1", "cO^Y")] = t("0x114", "K)By"), + n[t("0xeb", "oemU")] = function(t, n) { + return t + n + } + ; + var e = n; + Wt[Y] = []; + var r = c[t("0x25", "PVbW")](Wt, e[t("0x8d", "DxB8")]) + , o = ct ? c[t("0xca", "bpr9")](xt, e[t("0x11a", "PVbW")]) : c[t("0xd5", "0Xnq")](s[t("0x21", "^o[d")], e[t("0xcd", "uYFB")]); + Wt.c = c[t("0xbc", "Vta9")](e[t("0x95", "W!Ty")](r, o)) + }, + handleEvent: function(t) { + var n = d + , e = {}; + e[n("0x33", "iqO&")] = function(t, n) { + return t - n + } + , + e[n("0x9d", "pe9q")] = function(t, n) { + return t > n + } + ; + var r = e + , o = t || et[n("0xc8", "#Xxt")] + , a = o[_][y] || "" + , i = {}; + i[J] = a, + i[B] = o[B], + i[T] = o[T], + i[F] = r[n("0x157", "Mju&")](ot[w](), Z), + Wt[Y][H](i), + r[n("0x12f", "^]Dl")](Wt[Y][E], $) && Wt[Y][W]() + }, + packN: function() { + var t = [][K](c.ek(4, Wt[Y])); + return Wt[Y][V]((function(n) { + var e = c.sc(n[J]); + t = t[K](c.va(n[B]), c.va(n[T]), c.va(n[F]), c.va(e[E]), e) + } + )), + t = t[K](Wt.c) + } + } + , xt = { + init: function() { + xt[Y] = [] + }, + handleEvent: function(t) { + var n = d + , e = {}; + e[n("0xa1", "HZS0")] = function(t, n, e) { + return t(n, e) + } + , + e[n("0x2d", "oemU")](lt, xt, t) + }, + packN: function() { + var t = d + , n = {}; + if (n[t("0xd9", "Ss!0")] = function(t, n) { + return t === n + } + , + n[t("0x115", "iqO&")](xt[Y][E], 0)) + return []; + var e = [][K](c.ek(1, xt[Y])); + return xt[Y][V]((function(t) { + var n = c.sc(t[J]); + e = e[K](c.va(t[B]), c.va(t[T]), c.va(t[F]), c.va(n[E]), n) + } + )), + e + } + } + , pt = { + init: function() { + var t = d + , n = {}; + n[t("0x98", "uYFB")] = t("0x10e", "5^JL"); + var e = n; + pt[Y] = {}, + pt[Y][L] = et[z][L], + pt[Y][A] = et[z][A], + pt.c = c[t("0x2b", "[xh1")](c[t("0x70", "CxgE")](pt, e[t("0xac", "z@XA")])) + }, + packN: function() { + var t = d + , n = {}; + n[t("0xb1", "z@XA")] = function(t, n) { + return t && n + } + , + n[t("0xb4", "^o[d")] = function(t, n) { + return t > n + } + , + n[t("0x14c", "pe9q")] = function(t, n) { + return t === n + } + ; + var e = n + , r = c.ek(7) + , o = pt[Y] + , a = o.href + , i = void 0 === a ? "" : a + , u = o.port + , s = void 0 === u ? "" : u; + if (e[t("0xa2", "a6hQ")](!i, !s)) + return [][K](r, pt.c); + var f = e[t("0x72", "Mju&")](i[E], 128) ? i[v](0, 128) : i + , l = c.sc(f); + return [][K](r, c.va(l[E]), l, c.va(s[E]), e[t("0x43", "ho[k")](s[E], 0) ? [] : c.sc(pt[Y][A]), pt.c) + } + } + , mt = { + init: function() { + mt[Y] = {}, + mt[Y][q] = et[N][q], + mt[Y][Q] = et[N][Q] + }, + packN: function() { + return [][K](c.ek(8), c.va(mt[Y][q]), c.va(mt[Y][Q])) + } + } + , vt = { + init: function() { + var t = d + , n = {}; + n[t("0x87", "bpr9")] = function(t, n) { + return t + n + } + , + n[t("0x102", "Ss!0")] = function(t, n) { + return t * n + } + , + n[t("0xb8", "fGLK")] = function(t, n) { + return t * n + } + , + n[t("0xcb", "^o[d")] = function(t, n) { + return t + n + } + ; + var e = n; + var U=initPageTimes+parseInt(Math.random()*2000);//随机,小一点 U也可能比x大; + vt[Y] = e[t("0xa5", "(5GC")](et[k](e[t("0xc6", "HZS0")](at[P](), e[t("0x99", "5^JL")](at[R](2, 52), 1)[g]()), 10), et[k](e[t("0x116", "W!Ty")](at[P](), e[t("0x14", "anZ%")](at[R](2, 30), 1)[g]()), 10)) + "-" + U + }, + packN: function() { + return vt[M](), + [][K](c.ek(9, vt[Y])) + } + } + , bt = { + init: function() { + var t = d + , n = {}; + n[t("0x90", "^]Dl")] = function(t) { + return t() + } + ; + var e = n; + bt[Y] = e[t("0x82", "z@XA")](dt) + }, + packN: function() { + return [][K](c.ek(10), c.va(bt[Y])) + } + } + , gt = { + init: function() { + var t = d; + gt[Y] = c[t("0x7a", "wFxG")](et[z][L] ? et[z][L] : "") + }, + packN: function() { + return gt[Y][g]()[E] ? [][K](c.ek(11), gt[Y]) : [] + } + } + , kt = { + init: function() { + var t = d + , n = {}; + n[t("0x127", "HZS0")] = t("0xbd", "@e7Y"); + var e = n; + kt[Y] = et[e[t("0x136", "pe9q")]] ? "y" : "n" + }, + packN: function() { + return [][K](c.ek(12, kt[Y])) + } + } + , _t = { + init: function() { + var t = d + , n = {}; + n[t("0x26", "@e7Y")] = t("0x7e", "^]Dl"); + var e = n; + _t[Y] = et[e[t("0xae", ")GR)")]] ? "y" : "n" + }, + packN: function() { + return [][K](c.ek(13, _t[Y])) + } + } + , yt = { + init: function() { + var t = d + , n = {}; + n[t("0x13c", "5QnQ")] = function(t, n) { + return t - n + } + ; + var e = n; + var X=initPageTimes;// + console.log("init yt: ",X) + yt[Y] = e[t("0xaa", "a6hQ")](ot[w](), X)+parseInt(Math.random()*2000);//2he3相差20000, + }, + packN: function() { + return yt[M](), + [][K](c.ek(14, yt[Y])) + } + } + , wt = { + init: function() { + var t = d + , n = {}; + n[t("0x112", "fGLK")] = t("0x8f", "(j*g"); + var e = n; + wt[Y] = rt[e[t("0x138", ")!%7")]] + }, + packN: function() { + return wt[Y][E] ? [][K](c.ek(15, wt[Y])) : [] + } + } + , Ct = { + init: function() { + var t = d + , n = {}; + n[t("0xdf", "wFxG")] = function(t) { + return t() + } + ; + var e = n; + Ct[Y] = e[t("0x6", "5QnQ")](u) + }, + packN: function() { + var t = d + , n = {}; + n[t("0xa8", "cn*L")] = t("0xc4", "Cu&R"), + n[t("0xcc", "@e7Y")] = t("0xb9", "Hv26"), + n[t("0x5a", "iqO&")] = t("0x14e", "%d0T"); + var e = n + , r = [] + , o = {}; + return o[e[t("0x13d", "a6hQ")]] = 16, + o[e[t("0x104", "cn*L")]] = 17, + Object[e[t("0x144", "anZ%")]](Ct[Y])[V]((function(t) { + var n = [][K](Ct[Y][t] ? c.ek(o[t], Ct[Y][t]) : []); + r[H](n) + } + )), + r + } + } + , St = { + init: function() { + var t = d + , n = {}; + n[t("0xab", "DxB8")] = function(t, n) { + return t > n + } + ; + var e = n + , r = et[I][t("0x50", "wFxG")] || "" + , o = r[l]("?"); + St[Y] = r[v](0, e[t("0x13a", "uYFB")](o, -1) ? o : r[E]) + }, + packN: function() { + return St[Y][E] ? [][K](c.ek(18, St[Y])) : [] + } + } + , Ot = { + init: function() { + var t = d + , n = {}; + n[t("0xb", "ho[k")] = function(t, n) { + return t(n) + } + , + n[t("0x9f", "fGLK")] = t("0x96", "bpr9"); + var e = n; + Ot[Y] = e[t("0x73", "GmkI")](ht, e[t("0x139", "cO^Y")]) + }, + packN: function() { + return Ot[Y][E] ? [][K](c.ek(19, Ot[Y])) : [] + } + } + , Rt = { + init: function() { + var t = d + , n = {}; + n[t("0xe", "0Xnq")] = function(t, n) { + return t(n) + } + , + n[t("0x14a", "Ss!0")] = t("0xa0", "j6Rk"); + var e = n; + Rt[Y] = e[t("0xf9", "5^JL")](ht, e[t("0x24", "5^JL")]) + }, + packN: function() { + return Rt[Y][E] ? [][K](c.ek(20, Rt[Y])) : [] + } + } + , Pt = { + init: function() { + Pt[Y] = 0 + }, + packN: function() { + return [][K](c.ek(21, Pt[Y])) + } + } + , jt = { + init: function(t) { + jt[Y] = t + }, + packN: function() { + return [][K](c.ek(22, jt[Y])) + } + } + , Dt = { + init: function() { + var t = d + , n = {}; + n[t("0x11b", "pe9q")] = function(t, n) { + return t(n) + } + , + n[t("0xe7", "%LaC")] = t("0x12c", "bpr9"); + var e = n; + Dt[Y] = e[t("0x5b", "bpr9")](ht, e[t("0x64", "s2FC")]) + }, + packN: function() { + return Dt[Y][E] ? [][K](c.ek(23, Dt[Y])) : [] + } + }; + function Gt(t, n) { + var e = d; + s[M](t, n), + s[e("0x86", "j6Rk")](), + [mt, bt, gt, kt, _t, wt, Ct, St, Ot, Rt, xt, Wt, Pt, jt, Dt, pt][V]((function(n) { + n[M](t) + } + )) + } + function It() { + var t = d + , n = {}; + n[t("0xa6", "K)By")] = t("0x17", "k3v4"), + n[t("0x12b", "Vta9")] = t("0x2f", "^o[d"); + var e = n; + et[I][G](e[t("0x83", "J)bp")], Wt), + ct ? et[I][G](e[t("0xf7", "wFxG")], xt, !0) : s[t("0x3b", "oemU")]() + } + function Qt() { + s[d("0x74", "0Xnq")](), + [xt, Wt][V]((function(t) { + t[Y] = [] + } + )) + } + function qt() { + var t = d + , n = {}; + n[t("0xe6", ")GR)")] = function(t, n) { + return t + n + } + ; + var e = n + , r = c[t("0x81", ")GR)")](e[t("0x4e", "^]Dl")](dt[g](), At[g]())); + r=[130,85,144,174]; + tt = r[b]((function(t) { + return String[S](t) + } + )) + } + function Nt() { + var t = d + , n = {}; + n[t("0x113", "%LaC")] = function(t, n) { + return t > n + } + , + n[t("0x46", "pe9q")] = function(t, n) { + return t - n + } + ; + var e = n + , r = et[I][t("0x35", "(j*g")][t("0x133", "5QnQ")] || et[I][t("0x158", "oemU")][t("0x55", "anZ%")]; + if (e[t("0x130", "j6Rk")](r, 0)) { + var o = {}; + o[t("0x32", "%LaC")] = r, + o[t("0x9", "DxB8")] = e[t("0x2a", "#hpG")](ot[w](), Z); + var a = o; + return [][K](c.ek(3, [{}]), c.va(a[t("0x79", "Cu&R")]), c.va(a[F])) + } + return [] + } + function At() { + var t, n = d, e = {}; + e[n("0x156", "j6Rk")] = function(t) { + return t() + } + , + e[n("0x11", "iqO&")] = n("0x1e", "anZ%"), + e[n("0x12e", "J)bp")] = function(t) { + return t() + } + , + e[n("0x1", "#hpG")] = function(t, n, e) { + return t(n, e) + } + , + e[n("0x4", "Cu&R")] = function(t, n) { + return t < n + } + , + e[n("0xa", "Dm1H")] = n("0x39", "Dm1H"), + e[n("0x54", "fGLK")] = function(t, n) { + return t === n + } + , + e[n("0x100", "HZS0")] = function(t, n) { + return t > n + } + , + e[n("0xd8", "0Xnq")] = function(t, n) { + return t <= n + } + , + e[n("0x2c", "0Xnq")] = function(t, n) { + return t - n + } + , + e[n("0x92", "z@XA")] = function(t, n) { + return t << n + } + , + e[n("0x75", "5QnQ")] = function(t, n) { + return t > n + } + , + e[n("0x149", "dmn8")] = function(t, n) { + return t - n + } + , + e[n("0xc5", "bpr9")] = function(t, n) { + return t << n + } + , + e[n("0x37", "GmkI")] = n("0x164", "wFxG"), + e[n("0xfb", ")!%7")] = function(t, n) { + return t + n + } + , + e[n("0xe5", ")!%7")] = n("0x76", "Vta9"), + e[n("0x140", "oemU")] = n("0x103", "Iaxw"); + var r = e; + if (!et) + return ""; + bt.data=8192; + wt.data=clickEvent; + kt.data="n"; + _t.data="n"; + + + jt.data=initPageTimes;//老师是w 传递参数 + Pt.data=requestTimes; + Ot.data=pdd_user_id; + Rt.data=api_uid; + Dt.data=pdd_vds; + Ct.data={ + nano_cookie_fp: nano_fp, + nano_storage_fp: nano_fp, + + }; + + var o = r[n("0x141", "5^JL")] + , a = (t = [])[K].apply(t, [ct ? [][K](r[n("0x10a", "5QnQ")](Nt), xt[o]()) : s[o](), Wt[o](), pt[o](), mt[o](), vt[o](), bt[o](), gt[o](), kt[o](), _t[o](), yt[o](), wt[o]()].concat(function(t) { + if (Array.isArray(t)) { + for (var n = 0, e = Array(t.length); n < t.length; n++) + e[n] = t[n]; + return e + } + return Array.from(t) + }(Ct[o]()), [St[o](), Ot[o](), Rt[o](), Pt[o](), jt[o](), Dt[o]()])); + + console.log({ + "Wt":Wt.data, + "pt":pt.data, + "mt":mt.data, + "vt":vt.data, + "bt":bt.data, + "gt":gt.data, + "kt":kt.data, + "_t":_t.data, + "yt":yt.data, + "wt":wt.data, + "Ct":Ct.data, + "St":St.data, + "Ot":Ot.data, + "Rt":Rt.data, + "Pt":Pt.data, + "jt":jt.data, + "Dt":Dt.data, + + + }) + r[n("0x7c", "Dm1H")](setTimeout, (function() { + r[n("0x121", "HZS0")](Qt) + } + ), 0); + for (var u = a[E][g](2)[p](""), f = 0; r[n("0x60", "%LaC")](u[E], 16); f += 1) + u[r[n("0x88", "wFxG")]]("0"); + u = u[x](""); + var l = []; + r[n("0x111", "#hpG")](a[E], 0) ? l[H](0, 0) : r[n("0x16", "Mju&")](a[E], 0) && r[n("0x11c", "^o[d")](a[E], r[n("0x66", "Hv26")](r[n("0x119", "(odD")](1, 8), 1)) ? l[H](0, a[E]) : r[n("0xc3", "GmkI")](a[E], r[n("0x30", "Iaxw")](r[n("0xed", "DxB8")](1, 8), 1)) && l[H](et[k](u[O](0, 8), 2), et[k](u[O](8, 16), 2)), + a = [][K]([3], [1, 0, 0], l, a); + var h = i[r[n("0xcf", "(5GC")]](a) + , W = [][b][n("0x6c", "oemU")](h, (function(t) { + return String[S](t) + } + )); + return r[n("0xd3", "[xh1")](r[n("0x85", "5^JL")], c[r[n("0x155", "uYFB")]](r[n("0x10c", "GmkI")](W[x](""), tt[x]("")), c[n("0x91", "ho[k")])) + } + function Lt() { + var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {} + , n = d + , e = {}; + e[n("0x4f", "a6hQ")] = function(t, n) { + return t !== n + } + , + e[n("0x4d", "G[HW")] = n("0x31", "a6hQ"), + e[n("0xc0", "cO^Y")] = n("0x142", "(5GC"), + e[n("0xf", ")!%7")] = function(t) { + return t() + } + , + e[n("0x9a", "Ss!0")] = function(t, n, e) { + return t(n, e) + } + ; + var r = e; + if (r[n("0x117", "Iaxw")](void 0 === et ? "undefined" : a(et), r[n("0x62", "(j*g")])) + for (var o = r[n("0x53", "wFxG")][n("0xe4", "bpr9")]("|"), i = 0; ; ) { + switch (o[i++]) { + case "0": + r[n("0x97", "bpr9")](qt); + continue; + case "1": + this[n("0x132", "GmkI")](t[j] || 879609302220); + continue; + case "2": + r[n("0xf2", "^o[d")](Gt, Z, et); + continue; + case "3": + Z = ot[w](); + continue; + case "4": + r[n("0x150", "%LaC")](It); + continue + } + break + } + } + Lt[d("0x1d", "s2FC")][d("0x40", "cn*L")] = function(t) { + X = ot[w](), + U = t + } + , + Lt[d("0x160", "HZS0")][M] = nt, + Lt[d("0xd2", "Ss!0")][d("0x109", "cO^Y")] = nt, + Lt[d("0x1d", "s2FC")][d("0xc9", ")!%7")] = function() { + var t = d + , n = {}; + n[t("0xf3", "Mju&")] = function(t) { + return t() + } + ; + var e = n; + return Pt[Y]++, + e[t("0x151", "K)By")](At) + } + , + Lt[d("0x143", "[xh1")][d("0xde", "W!Ty")] = function() { + var t = d + , n = {}; + n[t("0xff", "iqO&")] = function(t, n) { + return t(n) + } + , + n[t("0x163", "Vta9")] = function(t) { + return t() + } + ; + var e = n; + return new Promise((function(n) { + var r = t; + Pt[Y]++, + e[r("0xfa", "Vta9")](n, e[r("0x108", "wFxG")](At)) + } + )) + } + , + t[d("0x152", "s2FC")][d("0x15e", "GmkI")] === d("0x126", "#hpG") && (Lt[d("0xf8", "Hv26")][d("0xdc", "^]Dl")] = function(t) { + var n = d + , e = {}; + e[n("0x120", "z@XA")] = n("0x129", "cn*L"), + e[n("0x153", "wFxG")] = n("0xce", "cO^Y"); + var r = e; + switch (t.type) { + case r[n("0x94", "[xh1")]: + Wt[C](t); + break; + case r[n("0x93", "cn*L")]: + xt[C](t); + break; + default: + s[n("0xc7", "Dm1H")](t) + } + } + ); + var zt = new Lt; + n[d("0x1b", "bpr9")] = function() { + var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {} + , n = d; + return t[j] && et && zt[n("0x15a", "K)By")](t[j]), + zt + } + } + ).call(this, e(3), e(0)(t)) + } + , function(t, n, e) { + "use strict"; + var r = e(7) + , o = e(1) + , a = e(11) + , i = e(4) + , c = e(12) + , u = Object.prototype.toString + , s = 0 + , f = -1 + , d = 0 + , l = 8; + function h(t) { + if (!(this instanceof h)) + return new h(t); + this.options = o.assign({ + level: f, + method: l, + chunkSize: 16384, + windowBits: 15, + memLevel: 8, + strategy: d, + to: "" + }, t || {}); + var n = this.options; + n.raw && n.windowBits > 0 ? n.windowBits = -n.windowBits : n.gzip && n.windowBits > 0 && n.windowBits < 16 && (n.windowBits += 16), + this.err = 0, + this.msg = "", + this.ended = !1, + this.chunks = [], + this.strm = new c, + this.strm.avail_out = 0; + var e = r.deflateInit2(this.strm, n.level, n.method, n.windowBits, n.memLevel, n.strategy); + if (e !== s) + throw new Error(i[e]); + if (n.header && r.deflateSetHeader(this.strm, n.header), + n.dictionary) { + var W; + if (W = "string" == typeof n.dictionary ? a.string2buf(n.dictionary) : "[object ArrayBuffer]" === u.call(n.dictionary) ? new Uint8Array(n.dictionary) : n.dictionary, + (e = r.deflateSetDictionary(this.strm, W)) !== s) + throw new Error(i[e]); + this._dict_set = !0 + } + } + function W(t, n) { + var e = new h(n); + if (e.push(t, !0), + e.err) + throw e.msg || i[e.err]; + return e.result + } + h.prototype.push = function(t, n) { + var e, i, c = this.strm, f = this.options.chunkSize; + if (this.ended) + return !1; + i = n === ~~n ? n : !0 === n ? 4 : 0, + "string" == typeof t ? c.input = a.string2buf(t) : "[object ArrayBuffer]" === u.call(t) ? c.input = new Uint8Array(t) : c.input = t, + c.next_in = 0, + c.avail_in = c.input.length; + do { + if (0 === c.avail_out && (c.output = new o.Buf8(f), + c.next_out = 0, + c.avail_out = f), + 1 !== (e = r.deflate(c, i)) && e !== s) + return this.onEnd(e), + this.ended = !0, + !1; + 0 !== c.avail_out && (0 !== c.avail_in || 4 !== i && 2 !== i) || ("string" === this.options.to ? this.onData(a.buf2binstring(o.shrinkBuf(c.output, c.next_out))) : this.onData(o.shrinkBuf(c.output, c.next_out))) + } while ((c.avail_in > 0 || 0 === c.avail_out) && 1 !== e); + return 4 === i ? (e = r.deflateEnd(this.strm), + this.onEnd(e), + this.ended = !0, + e === s) : 2 !== i || (this.onEnd(s), + c.avail_out = 0, + !0) + } + , + h.prototype.onData = function(t) { + this.chunks.push(t) + } + , + h.prototype.onEnd = function(t) { + t === s && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), + this.chunks = [], + this.err = t, + this.msg = this.strm.msg + } + , + n.Deflate = h, + n.deflate = W, + n.deflateRaw = function(t, n) { + return (n = n || {}).raw = !0, + W(t, n) + } + , + n.gzip = function(t, n) { + return (n = n || {}).gzip = !0, + W(t, n) + } + } + , function(t, n, e) { + "use strict"; + var r, o = e(1), a = e(8), i = e(9), c = e(10), u = e(4), s = 0, f = 1, d = 3, l = 4, h = 5, W = 0, x = 1, p = -2, m = -3, v = -5, b = -1, g = 1, k = 2, _ = 3, y = 4, w = 0, C = 2, S = 8, O = 9, R = 15, P = 8, j = 286, D = 30, G = 19, I = 2 * j + 1, Q = 15, q = 3, N = 258, A = N + q + 1, L = 32, z = 42, F = 69, T = 73, B = 91, J = 103, E = 113, K = 666, V = 1, H = 2, M = 3, Y = 4, Z = 3; + function U(t, n) { + return t.msg = u[n], + n + } + function X(t) { + return (t << 1) - (t > 4 ? 9 : 0) + } + function $(t) { + for (var n = t.length; --n >= 0; ) + t[n] = 0 + } + function tt(t) { + var n = t.state + , e = n.pending; + e > t.avail_out && (e = t.avail_out), + 0 !== e && (o.arraySet(t.output, n.pending_buf, n.pending_out, e, t.next_out), + t.next_out += e, + n.pending_out += e, + t.total_out += e, + t.avail_out -= e, + n.pending -= e, + 0 === n.pending && (n.pending_out = 0)) + } + function nt(t, n) { + a._tr_flush_block(t, t.block_start >= 0 ? t.block_start : -1, t.strstart - t.block_start, n), + t.block_start = t.strstart, + tt(t.strm) + } + function et(t, n) { + t.pending_buf[t.pending++] = n + } + function rt(t, n) { + t.pending_buf[t.pending++] = n >>> 8 & 255, + t.pending_buf[t.pending++] = 255 & n + } + function ot(t, n) { + var e, r, o = t.max_chain_length, a = t.strstart, i = t.prev_length, c = t.nice_match, u = t.strstart > t.w_size - A ? t.strstart - (t.w_size - A) : 0, s = t.window, f = t.w_mask, d = t.prev, l = t.strstart + N, h = s[a + i - 1], W = s[a + i]; + t.prev_length >= t.good_match && (o >>= 2), + c > t.lookahead && (c = t.lookahead); + do { + if (s[(e = n) + i] === W && s[e + i - 1] === h && s[e] === s[a] && s[++e] === s[a + 1]) { + a += 2, + e++; + do {} while (s[++a] === s[++e] && s[++a] === s[++e] && s[++a] === s[++e] && s[++a] === s[++e] && s[++a] === s[++e] && s[++a] === s[++e] && s[++a] === s[++e] && s[++a] === s[++e] && a < l); + if (r = N - (l - a), + a = l - N, + r > i) { + if (t.match_start = n, + i = r, + r >= c) + break; + h = s[a + i - 1], + W = s[a + i] + } + } + } while ((n = d[n & f]) > u && 0 != --o); + return i <= t.lookahead ? i : t.lookahead + } + function at(t) { + var n, e, r, a, u, s, f, d, l, h, W = t.w_size; + do { + if (a = t.window_size - t.lookahead - t.strstart, + t.strstart >= W + (W - A)) { + o.arraySet(t.window, t.window, W, W, 0), + t.match_start -= W, + t.strstart -= W, + t.block_start -= W, + n = e = t.hash_size; + do { + r = t.head[--n], + t.head[n] = r >= W ? r - W : 0 + } while (--e); + n = e = W; + do { + r = t.prev[--n], + t.prev[n] = r >= W ? r - W : 0 + } while (--e); + a += W + } + if (0 === t.strm.avail_in) + break; + if (s = t.strm, + f = t.window, + d = t.strstart + t.lookahead, + l = a, + h = void 0, + (h = s.avail_in) > l && (h = l), + e = 0 === h ? 0 : (s.avail_in -= h, + o.arraySet(f, s.input, s.next_in, h, d), + 1 === s.state.wrap ? s.adler = i(s.adler, f, h, d) : 2 === s.state.wrap && (s.adler = c(s.adler, f, h, d)), + s.next_in += h, + s.total_in += h, + h), + t.lookahead += e, + t.lookahead + t.insert >= q) + for (u = t.strstart - t.insert, + t.ins_h = t.window[u], + t.ins_h = (t.ins_h << t.hash_shift ^ t.window[u + 1]) & t.hash_mask; t.insert && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[u + q - 1]) & t.hash_mask, + t.prev[u & t.w_mask] = t.head[t.ins_h], + t.head[t.ins_h] = u, + u++, + t.insert--, + !(t.lookahead + t.insert < q)); ) + ; + } while (t.lookahead < A && 0 !== t.strm.avail_in) + } + function it(t, n) { + for (var e, r; ; ) { + if (t.lookahead < A) { + if (at(t), + t.lookahead < A && n === s) + return V; + if (0 === t.lookahead) + break + } + if (e = 0, + t.lookahead >= q && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + q - 1]) & t.hash_mask, + e = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], + t.head[t.ins_h] = t.strstart), + 0 !== e && t.strstart - e <= t.w_size - A && (t.match_length = ot(t, e)), + t.match_length >= q) + if (r = a._tr_tally(t, t.strstart - t.match_start, t.match_length - q), + t.lookahead -= t.match_length, + t.match_length <= t.max_lazy_match && t.lookahead >= q) { + t.match_length--; + do { + t.strstart++, + t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + q - 1]) & t.hash_mask, + e = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], + t.head[t.ins_h] = t.strstart + } while (0 != --t.match_length); + t.strstart++ + } else + t.strstart += t.match_length, + t.match_length = 0, + t.ins_h = t.window[t.strstart], + t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + 1]) & t.hash_mask; + else + r = a._tr_tally(t, 0, t.window[t.strstart]), + t.lookahead--, + t.strstart++; + if (r && (nt(t, !1), + 0 === t.strm.avail_out)) + return V + } + return t.insert = t.strstart < q - 1 ? t.strstart : q - 1, + n === l ? (nt(t, !0), + 0 === t.strm.avail_out ? M : Y) : t.last_lit && (nt(t, !1), + 0 === t.strm.avail_out) ? V : H + } + function ct(t, n) { + for (var e, r, o; ; ) { + if (t.lookahead < A) { + if (at(t), + t.lookahead < A && n === s) + return V; + if (0 === t.lookahead) + break + } + if (e = 0, + t.lookahead >= q && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + q - 1]) & t.hash_mask, + e = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], + t.head[t.ins_h] = t.strstart), + t.prev_length = t.match_length, + t.prev_match = t.match_start, + t.match_length = q - 1, + 0 !== e && t.prev_length < t.max_lazy_match && t.strstart - e <= t.w_size - A && (t.match_length = ot(t, e), + t.match_length <= 5 && (t.strategy === g || t.match_length === q && t.strstart - t.match_start > 4096) && (t.match_length = q - 1)), + t.prev_length >= q && t.match_length <= t.prev_length) { + o = t.strstart + t.lookahead - q, + r = a._tr_tally(t, t.strstart - 1 - t.prev_match, t.prev_length - q), + t.lookahead -= t.prev_length - 1, + t.prev_length -= 2; + do { + ++t.strstart <= o && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + q - 1]) & t.hash_mask, + e = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], + t.head[t.ins_h] = t.strstart) + } while (0 != --t.prev_length); + if (t.match_available = 0, + t.match_length = q - 1, + t.strstart++, + r && (nt(t, !1), + 0 === t.strm.avail_out)) + return V + } else if (t.match_available) { + if ((r = a._tr_tally(t, 0, t.window[t.strstart - 1])) && nt(t, !1), + t.strstart++, + t.lookahead--, + 0 === t.strm.avail_out) + return V + } else + t.match_available = 1, + t.strstart++, + t.lookahead-- + } + return t.match_available && (r = a._tr_tally(t, 0, t.window[t.strstart - 1]), + t.match_available = 0), + t.insert = t.strstart < q - 1 ? t.strstart : q - 1, + n === l ? (nt(t, !0), + 0 === t.strm.avail_out ? M : Y) : t.last_lit && (nt(t, !1), + 0 === t.strm.avail_out) ? V : H + } + function ut(t, n, e, r, o) { + this.good_length = t, + this.max_lazy = n, + this.nice_length = e, + this.max_chain = r, + this.func = o + } + function st(t) { + var n; + return t && t.state ? (t.total_in = t.total_out = 0, + t.data_type = C, + (n = t.state).pending = 0, + n.pending_out = 0, + n.wrap < 0 && (n.wrap = -n.wrap), + n.status = n.wrap ? z : E, + t.adler = 2 === n.wrap ? 0 : 1, + n.last_flush = s, + a._tr_init(n), + W) : U(t, p) + } + function ft(t) { + var n, e = st(t); + return e === W && ((n = t.state).window_size = 2 * n.w_size, + $(n.head), + n.max_lazy_match = r[n.level].max_lazy, + n.good_match = r[n.level].good_length, + n.nice_match = r[n.level].nice_length, + n.max_chain_length = r[n.level].max_chain, + n.strstart = 0, + n.block_start = 0, + n.lookahead = 0, + n.insert = 0, + n.match_length = n.prev_length = q - 1, + n.match_available = 0, + n.ins_h = 0), + e + } + function dt(t, n, e, r, a, i) { + if (!t) + return p; + var c = 1; + if (n === b && (n = 6), + r < 0 ? (c = 0, + r = -r) : r > 15 && (c = 2, + r -= 16), + a < 1 || a > O || e !== S || r < 8 || r > 15 || n < 0 || n > 9 || i < 0 || i > y) + return U(t, p); + 8 === r && (r = 9); + var u = new function() { + this.strm = null, + this.status = 0, + this.pending_buf = null, + this.pending_buf_size = 0, + this.pending_out = 0, + this.pending = 0, + this.wrap = 0, + this.gzhead = null, + this.gzindex = 0, + this.method = S, + this.last_flush = -1, + this.w_size = 0, + this.w_bits = 0, + this.w_mask = 0, + this.window = null, + this.window_size = 0, + this.prev = null, + this.head = null, + this.ins_h = 0, + this.hash_size = 0, + this.hash_bits = 0, + this.hash_mask = 0, + this.hash_shift = 0, + this.block_start = 0, + this.match_length = 0, + this.prev_match = 0, + this.match_available = 0, + this.strstart = 0, + this.match_start = 0, + this.lookahead = 0, + this.prev_length = 0, + this.max_chain_length = 0, + this.max_lazy_match = 0, + this.level = 0, + this.strategy = 0, + this.good_match = 0, + this.nice_match = 0, + this.dyn_ltree = new o.Buf16(2 * I), + this.dyn_dtree = new o.Buf16(2 * (2 * D + 1)), + this.bl_tree = new o.Buf16(2 * (2 * G + 1)), + $(this.dyn_ltree), + $(this.dyn_dtree), + $(this.bl_tree), + this.l_desc = null, + this.d_desc = null, + this.bl_desc = null, + this.bl_count = new o.Buf16(Q + 1), + this.heap = new o.Buf16(2 * j + 1), + $(this.heap), + this.heap_len = 0, + this.heap_max = 0, + this.depth = new o.Buf16(2 * j + 1), + $(this.depth), + this.l_buf = 0, + this.lit_bufsize = 0, + this.last_lit = 0, + this.d_buf = 0, + this.opt_len = 0, + this.static_len = 0, + this.matches = 0, + this.insert = 0, + this.bi_buf = 0, + this.bi_valid = 0 + } + ; + return t.state = u, + u.strm = t, + u.wrap = c, + u.gzhead = null, + u.w_bits = r, + u.w_size = 1 << u.w_bits, + u.w_mask = u.w_size - 1, + u.hash_bits = a + 7, + u.hash_size = 1 << u.hash_bits, + u.hash_mask = u.hash_size - 1, + u.hash_shift = ~~((u.hash_bits + q - 1) / q), + u.window = new o.Buf8(2 * u.w_size), + u.head = new o.Buf16(u.hash_size), + u.prev = new o.Buf16(u.w_size), + u.lit_bufsize = 1 << a + 6, + u.pending_buf_size = 4 * u.lit_bufsize, + u.pending_buf = new o.Buf8(u.pending_buf_size), + u.d_buf = 1 * u.lit_bufsize, + u.l_buf = 3 * u.lit_bufsize, + u.level = n, + u.strategy = i, + u.method = e, + ft(t) + } + r = [new ut(0,0,0,0,(function(t, n) { + var e = 65535; + for (e > t.pending_buf_size - 5 && (e = t.pending_buf_size - 5); ; ) { + if (t.lookahead <= 1) { + if (at(t), + 0 === t.lookahead && n === s) + return V; + if (0 === t.lookahead) + break + } + t.strstart += t.lookahead, + t.lookahead = 0; + var r = t.block_start + e; + if ((0 === t.strstart || t.strstart >= r) && (t.lookahead = t.strstart - r, + t.strstart = r, + nt(t, !1), + 0 === t.strm.avail_out)) + return V; + if (t.strstart - t.block_start >= t.w_size - A && (nt(t, !1), + 0 === t.strm.avail_out)) + return V + } + return t.insert = 0, + n === l ? (nt(t, !0), + 0 === t.strm.avail_out ? M : Y) : (t.strstart > t.block_start && (nt(t, !1), + t.strm.avail_out), + V) + } + )), new ut(4,4,8,4,it), new ut(4,5,16,8,it), new ut(4,6,32,32,it), new ut(4,4,16,16,ct), new ut(8,16,32,32,ct), new ut(8,16,128,128,ct), new ut(8,32,128,256,ct), new ut(32,128,258,1024,ct), new ut(32,258,258,4096,ct)], + n.deflateInit = function(t, n) { + return dt(t, n, S, R, P, w) + } + , + n.deflateInit2 = dt, + n.deflateReset = ft, + n.deflateResetKeep = st, + n.deflateSetHeader = function(t, n) { + return t && t.state ? 2 !== t.state.wrap ? p : (t.state.gzhead = n, + W) : p + } + , + n.deflate = function(t, n) { + var e, o, i, u; + if (!t || !t.state || n > h || n < 0) + return t ? U(t, p) : p; + if (o = t.state, + !t.output || !t.input && 0 !== t.avail_in || o.status === K && n !== l) + return U(t, 0 === t.avail_out ? v : p); + if (o.strm = t, + e = o.last_flush, + o.last_flush = n, + o.status === z) + if (2 === o.wrap) + t.adler = 0, + et(o, 31), + et(o, 139), + et(o, 8), + o.gzhead ? (et(o, (o.gzhead.text ? 1 : 0) + (o.gzhead.hcrc ? 2 : 0) + (o.gzhead.extra ? 4 : 0) + (o.gzhead.name ? 8 : 0) + (o.gzhead.comment ? 16 : 0)), + et(o, 255 & o.gzhead.time), + et(o, o.gzhead.time >> 8 & 255), + et(o, o.gzhead.time >> 16 & 255), + et(o, o.gzhead.time >> 24 & 255), + et(o, 9 === o.level ? 2 : o.strategy >= k || o.level < 2 ? 4 : 0), + et(o, 255 & o.gzhead.os), + o.gzhead.extra && o.gzhead.extra.length && (et(o, 255 & o.gzhead.extra.length), + et(o, o.gzhead.extra.length >> 8 & 255)), + o.gzhead.hcrc && (t.adler = c(t.adler, o.pending_buf, o.pending, 0)), + o.gzindex = 0, + o.status = F) : (et(o, 0), + et(o, 0), + et(o, 0), + et(o, 0), + et(o, 0), + et(o, 9 === o.level ? 2 : o.strategy >= k || o.level < 2 ? 4 : 0), + et(o, Z), + o.status = E); + else { + var m = S + (o.w_bits - 8 << 4) << 8; + m |= (o.strategy >= k || o.level < 2 ? 0 : o.level < 6 ? 1 : 6 === o.level ? 2 : 3) << 6, + 0 !== o.strstart && (m |= L), + m += 31 - m % 31, + o.status = E, + rt(o, m), + 0 !== o.strstart && (rt(o, t.adler >>> 16), + rt(o, 65535 & t.adler)), + t.adler = 1 + } + if (o.status === F) + if (o.gzhead.extra) { + for (i = o.pending; o.gzindex < (65535 & o.gzhead.extra.length) && (o.pending !== o.pending_buf_size || (o.gzhead.hcrc && o.pending > i && (t.adler = c(t.adler, o.pending_buf, o.pending - i, i)), + tt(t), + i = o.pending, + o.pending !== o.pending_buf_size)); ) + et(o, 255 & o.gzhead.extra[o.gzindex]), + o.gzindex++; + o.gzhead.hcrc && o.pending > i && (t.adler = c(t.adler, o.pending_buf, o.pending - i, i)), + o.gzindex === o.gzhead.extra.length && (o.gzindex = 0, + o.status = T) + } else + o.status = T; + if (o.status === T) + if (o.gzhead.name) { + i = o.pending; + do { + if (o.pending === o.pending_buf_size && (o.gzhead.hcrc && o.pending > i && (t.adler = c(t.adler, o.pending_buf, o.pending - i, i)), + tt(t), + i = o.pending, + o.pending === o.pending_buf_size)) { + u = 1; + break + } + u = o.gzindex < o.gzhead.name.length ? 255 & o.gzhead.name.charCodeAt(o.gzindex++) : 0, + et(o, u) + } while (0 !== u); + o.gzhead.hcrc && o.pending > i && (t.adler = c(t.adler, o.pending_buf, o.pending - i, i)), + 0 === u && (o.gzindex = 0, + o.status = B) + } else + o.status = B; + if (o.status === B) + if (o.gzhead.comment) { + i = o.pending; + do { + if (o.pending === o.pending_buf_size && (o.gzhead.hcrc && o.pending > i && (t.adler = c(t.adler, o.pending_buf, o.pending - i, i)), + tt(t), + i = o.pending, + o.pending === o.pending_buf_size)) { + u = 1; + break + } + u = o.gzindex < o.gzhead.comment.length ? 255 & o.gzhead.comment.charCodeAt(o.gzindex++) : 0, + et(o, u) + } while (0 !== u); + o.gzhead.hcrc && o.pending > i && (t.adler = c(t.adler, o.pending_buf, o.pending - i, i)), + 0 === u && (o.status = J) + } else + o.status = J; + if (o.status === J && (o.gzhead.hcrc ? (o.pending + 2 > o.pending_buf_size && tt(t), + o.pending + 2 <= o.pending_buf_size && (et(o, 255 & t.adler), + et(o, t.adler >> 8 & 255), + t.adler = 0, + o.status = E)) : o.status = E), + 0 !== o.pending) { + if (tt(t), + 0 === t.avail_out) + return o.last_flush = -1, + W + } else if (0 === t.avail_in && X(n) <= X(e) && n !== l) + return U(t, v); + if (o.status === K && 0 !== t.avail_in) + return U(t, v); + if (0 !== t.avail_in || 0 !== o.lookahead || n !== s && o.status !== K) { + var b = o.strategy === k ? function(t, n) { + for (var e; ; ) { + if (0 === t.lookahead && (at(t), + 0 === t.lookahead)) { + if (n === s) + return V; + break + } + if (t.match_length = 0, + e = a._tr_tally(t, 0, t.window[t.strstart]), + t.lookahead--, + t.strstart++, + e && (nt(t, !1), + 0 === t.strm.avail_out)) + return V + } + return t.insert = 0, + n === l ? (nt(t, !0), + 0 === t.strm.avail_out ? M : Y) : t.last_lit && (nt(t, !1), + 0 === t.strm.avail_out) ? V : H + }(o, n) : o.strategy === _ ? function(t, n) { + for (var e, r, o, i, c = t.window; ; ) { + if (t.lookahead <= N) { + if (at(t), + t.lookahead <= N && n === s) + return V; + if (0 === t.lookahead) + break + } + if (t.match_length = 0, + t.lookahead >= q && t.strstart > 0 && (r = c[o = t.strstart - 1]) === c[++o] && r === c[++o] && r === c[++o]) { + i = t.strstart + N; + do {} while (r === c[++o] && r === c[++o] && r === c[++o] && r === c[++o] && r === c[++o] && r === c[++o] && r === c[++o] && r === c[++o] && o < i); + t.match_length = N - (i - o), + t.match_length > t.lookahead && (t.match_length = t.lookahead) + } + if (t.match_length >= q ? (e = a._tr_tally(t, 1, t.match_length - q), + t.lookahead -= t.match_length, + t.strstart += t.match_length, + t.match_length = 0) : (e = a._tr_tally(t, 0, t.window[t.strstart]), + t.lookahead--, + t.strstart++), + e && (nt(t, !1), + 0 === t.strm.avail_out)) + return V + } + return t.insert = 0, + n === l ? (nt(t, !0), + 0 === t.strm.avail_out ? M : Y) : t.last_lit && (nt(t, !1), + 0 === t.strm.avail_out) ? V : H + }(o, n) : r[o.level].func(o, n); + if (b !== M && b !== Y || (o.status = K), + b === V || b === M) + return 0 === t.avail_out && (o.last_flush = -1), + W; + if (b === H && (n === f ? a._tr_align(o) : n !== h && (a._tr_stored_block(o, 0, 0, !1), + n === d && ($(o.head), + 0 === o.lookahead && (o.strstart = 0, + o.block_start = 0, + o.insert = 0))), + tt(t), + 0 === t.avail_out)) + return o.last_flush = -1, + W + } + return n !== l ? W : o.wrap <= 0 ? x : (2 === o.wrap ? (et(o, 255 & t.adler), + et(o, t.adler >> 8 & 255), + et(o, t.adler >> 16 & 255), + et(o, t.adler >> 24 & 255), + et(o, 255 & t.total_in), + et(o, t.total_in >> 8 & 255), + et(o, t.total_in >> 16 & 255), + et(o, t.total_in >> 24 & 255)) : (rt(o, t.adler >>> 16), + rt(o, 65535 & t.adler)), + tt(t), + o.wrap > 0 && (o.wrap = -o.wrap), + 0 !== o.pending ? W : x) + } + , + n.deflateEnd = function(t) { + var n; + return t && t.state ? (n = t.state.status) !== z && n !== F && n !== T && n !== B && n !== J && n !== E && n !== K ? U(t, p) : (t.state = null, + n === E ? U(t, m) : W) : p + } + , + n.deflateSetDictionary = function(t, n) { + var e, r, a, c, u, s, f, d, l = n.length; + if (!t || !t.state) + return p; + if (2 === (c = (e = t.state).wrap) || 1 === c && e.status !== z || e.lookahead) + return p; + for (1 === c && (t.adler = i(t.adler, n, l, 0)), + e.wrap = 0, + l >= e.w_size && (0 === c && ($(e.head), + e.strstart = 0, + e.block_start = 0, + e.insert = 0), + d = new o.Buf8(e.w_size), + o.arraySet(d, n, l - e.w_size, e.w_size, 0), + n = d, + l = e.w_size), + u = t.avail_in, + s = t.next_in, + f = t.input, + t.avail_in = l, + t.next_in = 0, + t.input = n, + at(e); e.lookahead >= q; ) { + r = e.strstart, + a = e.lookahead - (q - 1); + do { + e.ins_h = (e.ins_h << e.hash_shift ^ e.window[r + q - 1]) & e.hash_mask, + e.prev[r & e.w_mask] = e.head[e.ins_h], + e.head[e.ins_h] = r, + r++ + } while (--a); + e.strstart = r, + e.lookahead = q - 1, + at(e) + } + return e.strstart += e.lookahead, + e.block_start = e.strstart, + e.insert = e.lookahead, + e.lookahead = 0, + e.match_length = e.prev_length = q - 1, + e.match_available = 0, + t.next_in = s, + t.input = f, + t.avail_in = u, + e.wrap = c, + W + } + , + n.deflateInfo = "pako deflate (from Nodeca project)" + } + , function(t, n, e) { + "use strict"; + var r = e(1) + , o = 4 + , a = 0 + , i = 1 + , c = 2; + function u(t) { + for (var n = t.length; --n >= 0; ) + t[n] = 0 + } + var s = 0 + , f = 1 + , d = 2 + , l = 29 + , h = 256 + , W = h + 1 + l + , x = 30 + , p = 19 + , m = 2 * W + 1 + , v = 15 + , b = 16 + , g = 7 + , k = 256 + , _ = 16 + , y = 17 + , w = 18 + , C = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0] + , S = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13] + , O = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7] + , R = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15] + , P = new Array(2 * (W + 2)); + u(P); + var j = new Array(2 * x); + u(j); + var D = new Array(512); + u(D); + var G = new Array(256); + u(G); + var I = new Array(l); + u(I); + var Q, q, N, A = new Array(x); + function L(t, n, e, r, o) { + this.static_tree = t, + this.extra_bits = n, + this.extra_base = e, + this.elems = r, + this.max_length = o, + this.has_stree = t && t.length + } + function z(t, n) { + this.dyn_tree = t, + this.max_code = 0, + this.stat_desc = n + } + function F(t) { + return t < 256 ? D[t] : D[256 + (t >>> 7)] + } + function T(t, n) { + t.pending_buf[t.pending++] = 255 & n, + t.pending_buf[t.pending++] = n >>> 8 & 255 + } + function B(t, n, e) { + t.bi_valid > b - e ? (t.bi_buf |= n << t.bi_valid & 65535, + T(t, t.bi_buf), + t.bi_buf = n >> b - t.bi_valid, + t.bi_valid += e - b) : (t.bi_buf |= n << t.bi_valid & 65535, + t.bi_valid += e) + } + function J(t, n, e) { + B(t, e[2 * n], e[2 * n + 1]) + } + function E(t, n) { + var e = 0; + do { + e |= 1 & t, + t >>>= 1, + e <<= 1 + } while (--n > 0); + return e >>> 1 + } + function K(t, n, e) { + var r, o, a = new Array(v + 1), i = 0; + for (r = 1; r <= v; r++) + a[r] = i = i + e[r - 1] << 1; + for (o = 0; o <= n; o++) { + var c = t[2 * o + 1]; + 0 !== c && (t[2 * o] = E(a[c]++, c)) + } + } + function V(t) { + var n; + for (n = 0; n < W; n++) + t.dyn_ltree[2 * n] = 0; + for (n = 0; n < x; n++) + t.dyn_dtree[2 * n] = 0; + for (n = 0; n < p; n++) + t.bl_tree[2 * n] = 0; + t.dyn_ltree[2 * k] = 1, + t.opt_len = t.static_len = 0, + t.last_lit = t.matches = 0 + } + function H(t) { + t.bi_valid > 8 ? T(t, t.bi_buf) : t.bi_valid > 0 && (t.pending_buf[t.pending++] = t.bi_buf), + t.bi_buf = 0, + t.bi_valid = 0 + } + function M(t, n, e, r) { + var o = 2 * n + , a = 2 * e; + return t[o] < t[a] || t[o] === t[a] && r[n] <= r[e] + } + function Y(t, n, e) { + for (var r = t.heap[e], o = e << 1; o <= t.heap_len && (o < t.heap_len && M(n, t.heap[o + 1], t.heap[o], t.depth) && o++, + !M(n, r, t.heap[o], t.depth)); ) + t.heap[e] = t.heap[o], + e = o, + o <<= 1; + t.heap[e] = r + } + function Z(t, n, e) { + var r, o, a, i, c = 0; + if (0 !== t.last_lit) + do { + r = t.pending_buf[t.d_buf + 2 * c] << 8 | t.pending_buf[t.d_buf + 2 * c + 1], + o = t.pending_buf[t.l_buf + c], + c++, + 0 === r ? J(t, o, n) : (J(t, (a = G[o]) + h + 1, n), + 0 !== (i = C[a]) && B(t, o -= I[a], i), + J(t, a = F(--r), e), + 0 !== (i = S[a]) && B(t, r -= A[a], i)) + } while (c < t.last_lit); + J(t, k, n) + } + function U(t, n) { + var e, r, o, a = n.dyn_tree, i = n.stat_desc.static_tree, c = n.stat_desc.has_stree, u = n.stat_desc.elems, s = -1; + for (t.heap_len = 0, + t.heap_max = m, + e = 0; e < u; e++) + 0 !== a[2 * e] ? (t.heap[++t.heap_len] = s = e, + t.depth[e] = 0) : a[2 * e + 1] = 0; + for (; t.heap_len < 2; ) + a[2 * (o = t.heap[++t.heap_len] = s < 2 ? ++s : 0)] = 1, + t.depth[o] = 0, + t.opt_len--, + c && (t.static_len -= i[2 * o + 1]); + for (n.max_code = s, + e = t.heap_len >> 1; e >= 1; e--) + Y(t, a, e); + o = u; + do { + e = t.heap[1], + t.heap[1] = t.heap[t.heap_len--], + Y(t, a, 1), + r = t.heap[1], + t.heap[--t.heap_max] = e, + t.heap[--t.heap_max] = r, + a[2 * o] = a[2 * e] + a[2 * r], + t.depth[o] = (t.depth[e] >= t.depth[r] ? t.depth[e] : t.depth[r]) + 1, + a[2 * e + 1] = a[2 * r + 1] = o, + t.heap[1] = o++, + Y(t, a, 1) + } while (t.heap_len >= 2); + t.heap[--t.heap_max] = t.heap[1], + function(t, n) { + var e, r, o, a, i, c, u = n.dyn_tree, s = n.max_code, f = n.stat_desc.static_tree, d = n.stat_desc.has_stree, l = n.stat_desc.extra_bits, h = n.stat_desc.extra_base, W = n.stat_desc.max_length, x = 0; + for (a = 0; a <= v; a++) + t.bl_count[a] = 0; + for (u[2 * t.heap[t.heap_max] + 1] = 0, + e = t.heap_max + 1; e < m; e++) + (a = u[2 * u[2 * (r = t.heap[e]) + 1] + 1] + 1) > W && (a = W, + x++), + u[2 * r + 1] = a, + r > s || (t.bl_count[a]++, + i = 0, + r >= h && (i = l[r - h]), + c = u[2 * r], + t.opt_len += c * (a + i), + d && (t.static_len += c * (f[2 * r + 1] + i))); + if (0 !== x) { + do { + for (a = W - 1; 0 === t.bl_count[a]; ) + a--; + t.bl_count[a]--, + t.bl_count[a + 1] += 2, + t.bl_count[W]--, + x -= 2 + } while (x > 0); + for (a = W; 0 !== a; a--) + for (r = t.bl_count[a]; 0 !== r; ) + (o = t.heap[--e]) > s || (u[2 * o + 1] !== a && (t.opt_len += (a - u[2 * o + 1]) * u[2 * o], + u[2 * o + 1] = a), + r--) + } + }(t, n), + K(a, s, t.bl_count) + } + function X(t, n, e) { + var r, o, a = -1, i = n[1], c = 0, u = 7, s = 4; + for (0 === i && (u = 138, + s = 3), + n[2 * (e + 1) + 1] = 65535, + r = 0; r <= e; r++) + o = i, + i = n[2 * (r + 1) + 1], + ++c < u && o === i || (c < s ? t.bl_tree[2 * o] += c : 0 !== o ? (o !== a && t.bl_tree[2 * o]++, + t.bl_tree[2 * _]++) : c <= 10 ? t.bl_tree[2 * y]++ : t.bl_tree[2 * w]++, + c = 0, + a = o, + 0 === i ? (u = 138, + s = 3) : o === i ? (u = 6, + s = 3) : (u = 7, + s = 4)) + } + function $(t, n, e) { + var r, o, a = -1, i = n[1], c = 0, u = 7, s = 4; + for (0 === i && (u = 138, + s = 3), + r = 0; r <= e; r++) + if (o = i, + i = n[2 * (r + 1) + 1], + !(++c < u && o === i)) { + if (c < s) + do { + J(t, o, t.bl_tree) + } while (0 != --c); + else + 0 !== o ? (o !== a && (J(t, o, t.bl_tree), + c--), + J(t, _, t.bl_tree), + B(t, c - 3, 2)) : c <= 10 ? (J(t, y, t.bl_tree), + B(t, c - 3, 3)) : (J(t, w, t.bl_tree), + B(t, c - 11, 7)); + c = 0, + a = o, + 0 === i ? (u = 138, + s = 3) : o === i ? (u = 6, + s = 3) : (u = 7, + s = 4) + } + } + u(A); + var tt = !1; + function nt(t, n, e, o) { + B(t, (s << 1) + (o ? 1 : 0), 3), + function(t, n, e, o) { + H(t), + o && (T(t, e), + T(t, ~e)), + r.arraySet(t.pending_buf, t.window, n, e, t.pending), + t.pending += e + }(t, n, e, !0) + } + n._tr_init = function(t) { + tt || (function() { + var t, n, e, r, o, a = new Array(v + 1); + for (e = 0, + r = 0; r < l - 1; r++) + for (I[r] = e, + t = 0; t < 1 << C[r]; t++) + G[e++] = r; + for (G[e - 1] = r, + o = 0, + r = 0; r < 16; r++) + for (A[r] = o, + t = 0; t < 1 << S[r]; t++) + D[o++] = r; + for (o >>= 7; r < x; r++) + for (A[r] = o << 7, + t = 0; t < 1 << S[r] - 7; t++) + D[256 + o++] = r; + for (n = 0; n <= v; n++) + a[n] = 0; + for (t = 0; t <= 143; ) + P[2 * t + 1] = 8, + t++, + a[8]++; + for (; t <= 255; ) + P[2 * t + 1] = 9, + t++, + a[9]++; + for (; t <= 279; ) + P[2 * t + 1] = 7, + t++, + a[7]++; + for (; t <= 287; ) + P[2 * t + 1] = 8, + t++, + a[8]++; + for (K(P, W + 1, a), + t = 0; t < x; t++) + j[2 * t + 1] = 5, + j[2 * t] = E(t, 5); + Q = new L(P,C,h + 1,W,v), + q = new L(j,S,0,x,v), + N = new L(new Array(0),O,0,p,g) + }(), + tt = !0), + t.l_desc = new z(t.dyn_ltree,Q), + t.d_desc = new z(t.dyn_dtree,q), + t.bl_desc = new z(t.bl_tree,N), + t.bi_buf = 0, + t.bi_valid = 0, + V(t) + } + , + n._tr_stored_block = nt, + n._tr_flush_block = function(t, n, e, r) { + var u, s, l = 0; + t.level > 0 ? (t.strm.data_type === c && (t.strm.data_type = function(t) { + var n, e = 4093624447; + for (n = 0; n <= 31; n++, + e >>>= 1) + if (1 & e && 0 !== t.dyn_ltree[2 * n]) + return a; + if (0 !== t.dyn_ltree[18] || 0 !== t.dyn_ltree[20] || 0 !== t.dyn_ltree[26]) + return i; + for (n = 32; n < h; n++) + if (0 !== t.dyn_ltree[2 * n]) + return i; + return a + }(t)), + U(t, t.l_desc), + U(t, t.d_desc), + l = function(t) { + var n; + for (X(t, t.dyn_ltree, t.l_desc.max_code), + X(t, t.dyn_dtree, t.d_desc.max_code), + U(t, t.bl_desc), + n = p - 1; n >= 3 && 0 === t.bl_tree[2 * R[n] + 1]; n--) + ; + return t.opt_len += 3 * (n + 1) + 5 + 5 + 4, + n + }(t), + u = t.opt_len + 3 + 7 >>> 3, + (s = t.static_len + 3 + 7 >>> 3) <= u && (u = s)) : u = s = e + 5, + e + 4 <= u && -1 !== n ? nt(t, n, e, r) : t.strategy === o || s === u ? (B(t, (f << 1) + (r ? 1 : 0), 3), + Z(t, P, j)) : (B(t, (d << 1) + (r ? 1 : 0), 3), + function(t, n, e, r) { + var o; + for (B(t, n - 257, 5), + B(t, e - 1, 5), + B(t, r - 4, 4), + o = 0; o < r; o++) + B(t, t.bl_tree[2 * R[o] + 1], 3); + $(t, t.dyn_ltree, n - 1), + $(t, t.dyn_dtree, e - 1) + }(t, t.l_desc.max_code + 1, t.d_desc.max_code + 1, l + 1), + Z(t, t.dyn_ltree, t.dyn_dtree)), + V(t), + r && H(t) + } + , + n._tr_tally = function(t, n, e) { + return t.pending_buf[t.d_buf + 2 * t.last_lit] = n >>> 8 & 255, + t.pending_buf[t.d_buf + 2 * t.last_lit + 1] = 255 & n, + t.pending_buf[t.l_buf + t.last_lit] = 255 & e, + t.last_lit++, + 0 === n ? t.dyn_ltree[2 * e]++ : (t.matches++, + n--, + t.dyn_ltree[2 * (G[e] + h + 1)]++, + t.dyn_dtree[2 * F(n)]++), + t.last_lit === t.lit_bufsize - 1 + } + , + n._tr_align = function(t) { + B(t, f << 1, 3), + J(t, k, P), + function(t) { + 16 === t.bi_valid ? (T(t, t.bi_buf), + t.bi_buf = 0, + t.bi_valid = 0) : t.bi_valid >= 8 && (t.pending_buf[t.pending++] = 255 & t.bi_buf, + t.bi_buf >>= 8, + t.bi_valid -= 8) + }(t) + } + } + , function(t, n, e) { + "use strict"; + t.exports = function(t, n, e, r) { + for (var o = 65535 & t | 0, a = t >>> 16 & 65535 | 0, i = 0; 0 !== e; ) { + e -= i = e > 2e3 ? 2e3 : e; + do { + a = a + (o = o + n[r++] | 0) | 0 + } while (--i); + o %= 65521, + a %= 65521 + } + return o | a << 16 | 0 + } + } + , function(t, n, e) { + "use strict"; + var r = function() { + for (var t, n = [], e = 0; e < 256; e++) { + t = e; + for (var r = 0; r < 8; r++) + t = 1 & t ? 3988292384 ^ t >>> 1 : t >>> 1; + n[e] = t + } + return n + }(); + t.exports = function(t, n, e, o) { + var a = r + , i = o + e; + t ^= -1; + for (var c = o; c < i; c++) + t = t >>> 8 ^ a[255 & (t ^ n[c])]; + return -1 ^ t + } + } + , function(t, n, e) { + "use strict"; + var r = e(1) + , o = !0 + , a = !0; + try { + String.fromCharCode.apply(null, [0]) + } catch (t) { + o = !1 + } + try { + String.fromCharCode.apply(null, new Uint8Array(1)) + } catch (t) { + a = !1 + } + for (var i = new r.Buf8(256), c = 0; c < 256; c++) + i[c] = c >= 252 ? 6 : c >= 248 ? 5 : c >= 240 ? 4 : c >= 224 ? 3 : c >= 192 ? 2 : 1; + function u(t, n) { + if (n < 65534 && (t.subarray && a || !t.subarray && o)) + return String.fromCharCode.apply(null, r.shrinkBuf(t, n)); + for (var e = "", i = 0; i < n; i++) + e += String.fromCharCode(t[i]); + return e + } + i[254] = i[254] = 1, + n.string2buf = function(t) { + var n, e, o, a, i, c = t.length, u = 0; + for (a = 0; a < c; a++) + 55296 == (64512 & (e = t.charCodeAt(a))) && a + 1 < c && 56320 == (64512 & (o = t.charCodeAt(a + 1))) && (e = 65536 + (e - 55296 << 10) + (o - 56320), + a++), + u += e < 128 ? 1 : e < 2048 ? 2 : e < 65536 ? 3 : 4; + for (n = new r.Buf8(u), + i = 0, + a = 0; i < u; a++) + 55296 == (64512 & (e = t.charCodeAt(a))) && a + 1 < c && 56320 == (64512 & (o = t.charCodeAt(a + 1))) && (e = 65536 + (e - 55296 << 10) + (o - 56320), + a++), + e < 128 ? n[i++] = e : e < 2048 ? (n[i++] = 192 | e >>> 6, + n[i++] = 128 | 63 & e) : e < 65536 ? (n[i++] = 224 | e >>> 12, + n[i++] = 128 | e >>> 6 & 63, + n[i++] = 128 | 63 & e) : (n[i++] = 240 | e >>> 18, + n[i++] = 128 | e >>> 12 & 63, + n[i++] = 128 | e >>> 6 & 63, + n[i++] = 128 | 63 & e); + return n + } + , + n.buf2binstring = function(t) { + return u(t, t.length) + } + , + n.binstring2buf = function(t) { + for (var n = new r.Buf8(t.length), e = 0, o = n.length; e < o; e++) + n[e] = t.charCodeAt(e); + return n + } + , + n.buf2string = function(t, n) { + var e, r, o, a, c = n || t.length, s = new Array(2 * c); + for (r = 0, + e = 0; e < c; ) + if ((o = t[e++]) < 128) + s[r++] = o; + else if ((a = i[o]) > 4) + s[r++] = 65533, + e += a - 1; + else { + for (o &= 2 === a ? 31 : 3 === a ? 15 : 7; a > 1 && e < c; ) + o = o << 6 | 63 & t[e++], + a--; + a > 1 ? s[r++] = 65533 : o < 65536 ? s[r++] = o : (o -= 65536, + s[r++] = 55296 | o >> 10 & 1023, + s[r++] = 56320 | 1023 & o) + } + return u(s, r) + } + , + n.utf8border = function(t, n) { + var e; + for ((n = n || t.length) > t.length && (n = t.length), + e = n - 1; e >= 0 && 128 == (192 & t[e]); ) + e--; + return e < 0 || 0 === e ? n : e + i[t[e]] > n ? e : n + } + } + , function(t, n, e) { + "use strict"; + t.exports = function() { + this.input = null, + this.next_in = 0, + this.avail_in = 0, + this.total_in = 0, + this.output = null, + this.next_out = 0, + this.avail_out = 0, + this.total_out = 0, + this.msg = "", + this.state = null, + this.data_type = 2, + this.adler = 0 + } + } + , function(t, n, e) { + "use strict"; + t.exports = function(t, n, e) { + if ((n -= (t += "").length) <= 0) + return t; + if (e || 0 === e || (e = " "), + " " == (e += "") && n < 10) + return r[n] + t; + for (var o = ""; 1 & n && (o += e), + n >>= 1; ) + e += e; + return o + t + } + ; + var r = ["", " ", " ", " ", " ", " ", " ", " ", " ", " "] + } + , function(t, n, e) { + "use strict"; + Object.defineProperty(n, "__esModule", { + value: !0 + }), + n.crc32 = function(t) { + var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; + t = function(t) { + for (var n = "", e = 0; e < t.length; e++) { + var r = t.charCodeAt(e); + r < 128 ? n += String.fromCharCode(r) : r < 2048 ? n += String.fromCharCode(192 | r >> 6) + String.fromCharCode(128 | 63 & r) : r < 55296 || r >= 57344 ? n += String.fromCharCode(224 | r >> 12) + String.fromCharCode(128 | r >> 6 & 63) + String.fromCharCode(128 | 63 & r) : (r = 65536 + ((1023 & r) << 10 | 1023 & t.charCodeAt(++e)), + n += String.fromCharCode(240 | r >> 18) + String.fromCharCode(128 | r >> 12 & 63) + String.fromCharCode(128 | r >> 6 & 63) + String.fromCharCode(128 | 63 & r)) + } + return n + }(t), + n ^= -1; + for (var e = 0; e < t.length; e++) + n = n >>> 8 ^ r[255 & (n ^ t.charCodeAt(e))]; + return (-1 ^ n) >>> 0 + } + ; + var r = function() { + for (var t = [], n = void 0, e = 0; e < 256; e++) { + n = e; + for (var r = 0; r < 8; r++) + n = 1 & n ? 3988292384 ^ n >>> 1 : n >>> 1; + t[e] = n + } + return t + }() + } + , function(t, n, e) { + "use strict"; + (function(t) { + var n, r, o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } + : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + } + , a = e(2), i = e(16), c = e(17), u = ["WRbNW7BcVSouvHW=", "wY3cP8oSvq==", "WQRdGmoDghTlea==", "vdD6WR0QwWldQ8kW", "aaXsf8oaWRVcJ8khWQNdRW==", "BXjAWPuK", "WQPfW6NcTCoG", "W5acgG==", "WQuZW4vLzCkT", "WObUWRfLrG==", "nGb9eCkK", "sa9UWQez", "DHzyWPiz", "D0VcHXvM", "ExDbWQGAWQW=", "W7j4jZ1Y", "WRldOGVcICk1iSkN", "gCk7CX8dW4pdRW==", "xLhdImkiW6e=", "W6z9lYntwSo5", "W5TbWQFcOmoJ", "a8kiD8oWWR4=", "sMZcVWPD", "nsbmaSoI", "dmkXDrmwW4xdQG==", "W74cW7Lyta==", "WRZcN8kCWOFcKq==", "WRhdKYBcQ8k+", "WOvCW7hcLCo3", "WP3cNahcOMNcRW==", "W4GPW78QhrBcPW==", "DSkQWP/cP8oGW4e=", "lt0UWQb7", "W695nqv4wCoK", "W4pcQJBcL3y=", "WPvHW4ivba==", "W6yqW64=", "fJq8EmkvW4NdMCoLWQS=", "hZ4/", "W4qbW75vCq==", "W5v1v8k5W7m=", "WQ1YW7FcO8oQ", "hCosAciW", "AtD0WO84", "W6rEW7CIW6e=", "WPZdJYmlW4O=", "wbZcIG==", "iZuqWQbd", "tw56shm=", "CK3cQX1f", "W4rlt8keW48=", "grqkq8oE", "C1hcNInU", "FKFcPZLFqq==", "abHKeCkY", "W6RdQCogrmkE", "gYu3WQbT", "W4bKiIn+WOtdN0NdS3i=", "q1/dOmkNW60=", "aqKBzSo4WOHYWQvm", "Cc16WRqd", "WQZcR8kkWOBcQ8kXWPFdUSon", "W5eVW4q5ja==", "vd9TWPSz", "WQ1LWObezCo5eSoV", "WOfOW74PjSk1WP4=", "WRPMWOPsBq==", "W79ZW48WW7K=", "BG3cMSo2Ea==", "a8oBtcOG", "WO1yW53cGCoD", "WQOZW4LVymkBeGNcJCokWO5P", "WQX+W6qria==", "WPNcK8kRWRdcQq==", "bmoZxsuB", "kc5KlCoU", "eWzZemo3WOFcICkuWQFdPaq=", "sSkHAb4AW6G8n8kLWQS=", "W7Slp0HyWRO4tmonzSko", "W6P2DmoIdW==", "CxDtWOWj", "jCoeBJzh", "fX9Pbmkj", "b8k9EmotWR8=", "W43cSJBcS00=", "uLDRWRHmWQy=", "bSo4ttjK", "nJqGD8ks", "W6CaW7bUFtJcOW==", "rgTeWOvK", "W67cPW/cVmkOj8o/vG==", "W4XPib5o", "tGJcSSojzW==", "f8otvJLE", "W6xdTmoLWQaS", "s1P8WPT9", "WRhdKqueW7C=", "W4GPW78TabtcSmoQqqK=", "W4K9p01f", "W5hdTCoLsSkr", "WOlcIqpcRgK=", "W6hcSqFcUfy=", "uWnFWPqg"]; + n = u, + r = 208, + function(t) { + for (; --t; ) + n.push(n.shift()) + }(++r); + var s = function t(n, e) { + var r = u[n -= 0]; + void 0 === t.kcrEQM && (t.kGRpXb = function(t, n) { + for (var e = [], r = 0, o = void 0, a = "", i = "", c = 0, u = (t = function(t) { + for (var n, e, r = String(t).replace(/=+$/, ""), o = "", a = 0, i = 0; e = r.charAt(i++); ~e && (n = a % 4 ? 64 * n + e : e, + a++ % 4) ? o += String.fromCharCode(255 & n >> (-2 * a & 6)) : 0) + e = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e); + return o + }(t)).length; c < u; c++) + i += "%" + ("00" + t.charCodeAt(c).toString(16)).slice(-2); + t = decodeURIComponent(i); + var s = void 0; + for (s = 0; s < 256; s++) + e[s] = s; + for (s = 0; s < 256; s++) + r = (r + e[s] + n.charCodeAt(s % n.length)) % 256, + o = e[s], + e[s] = e[r], + e[r] = o; + s = 0, + r = 0; + for (var f = 0; f < t.length; f++) + r = (r + e[s = (s + 1) % 256]) % 256, + o = e[s], + e[s] = e[r], + e[r] = o, + a += String.fromCharCode(t.charCodeAt(f) ^ e[(e[s] + e[r]) % 256]); + return a + } + , + t.mfCsgt = {}, + t.kcrEQM = !0); + var o = t.mfCsgt[n]; + return void 0 === o ? (void 0 === t.FvQUdh && (t.FvQUdh = !0), + r = t.kGRpXb(r, e), + t.mfCsgt[n] = r) : r = o, + r + } + , f = s("0xc", "S0tV") + , d = s("0x62", "Eyqj") + , l = s("0x40", "D@FD") + , h = s("0x39", "lkGB") + , W = s("0x45", "is@g") + , x = s("0x33", "ot82") + , p = s("0x3e", "D@FD") + , m = s("0x1b", "Eyqj") + , v = void 0; + ("undefined" == typeof window ? "undefined" : o(window)) !== s("0x1", "A$AZ") && (v = window); + var b = {}; + b[s("0x3b", "jhqR")] = function(t, n) { + var e = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 9999 + , r = s + , o = {}; + o[r("0x1a", "$bkt")] = function(t, n) { + return t + n + } + , + o[r("0x38", "E1C[")] = function(t, n) { + return t + n + } + , + o[r("0x1e", "pMPC")] = r("0xe", "9efh"), + o[r("0x4d", "[fUF")] = function(t, n) { + return t * n + } + , + o[r("0x5b", "E%W6")] = r("0x4b", "ynK8"), + o[r("0x3a", "A$AZ")] = function(t, n) { + return t + n + } + , + o[r("0x17", "n[KE")] = function(t, n) { + return t || n + } + , + o[r("0xb", "ot82")] = r("0x58", "9efh"); + var a = o; + t = a[r("0x63", "tHgI")]("_", t); + var i = ""; + if (e) { + var c = new Date; + c[r("0x1c", "A]Gn")](a[r("0x15", "!2QX")](c[a[r("0x34", "UyGr")]](), a[r("0x3", "A$AZ")](a[r("0x2b", "c3pk")](a[r("0x44", "$bkt")](a[r("0x50", "UyGr")](e, 24), 60), 60), 1e3))), + i = a[r("0x2a", "*)*$")](a[r("0x48", "ynK8")], c[r("0x4a", "!2QX")]()) + } + v[p][x] = a[r("0x3a", "A$AZ")](a[r("0x25", "Jl^^")](a[r("0xd", "k]yy")](a[r("0x42", "%&27")](t, "="), a[r("0x30", "G@#o")](n, "")), i), a[r("0x3c", "A]Gn")]) + } + , + b[s("0x23", "HV0B")] = function(t) { + var n = s + , e = {}; + e[n("0x3d", "A$AZ")] = function(t, n) { + return t + n + } + , + e[n("0x18", "jhqR")] = function(t, n) { + return t + n + } + , + e[n("0x43", "ynK8")] = function(t, n) { + return t < n + } + , + e[n("0x5d", "c0t$")] = function(t, n) { + return t === n + } + , + e[n("0x28", "ynK8")] = n("0x56", "n[KE"); + var r = e; + t = r[n("0x5c", "!Q&L")]("_", t); + for (var o = r[n("0x5e", "c3pk")](t, "="), a = v[p][x][d](";"), i = 0; r[n("0x64", "A$AZ")](i, a[m]); i++) { + for (var c = a[i]; r[n("0x31", "lkGB")](c[f](0), " "); ) + c = c[h](1, c[m]); + if (r[n("0x4e", "S0tV")](c[r[n("0x61", "bFEs")]](o), 0)) + return c[h](o[m], c[m]) + } + return null + } + , + b[s("0x5f", "A]Gn")] = function(t, n) { + var e = s + , r = {}; + r[e("0x4f", "E%W6")] = function(t, n) { + return t + n + } + , + t = r[e("0x55", "HV0B")]("_", t), + v[W][e("0xf", "@Y(N")](t, n) + } + , + b[s("0x2", "!2QX")] = function(t) { + var n = s + , e = {}; + return e[n("0x32", "ot82")] = function(t, n) { + return t + n + } + , + t = e[n("0x51", "]td7")]("_", t), + v[W][n("0x1f", "aq]i")](t) + } + ; + var g = b; + function k() { + var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : Date[s("0x24", "HV0B")]() + , n = s + , e = {}; + e[n("0x21", "&$Jn")] = function(t, n) { + return t(n) + } + , + e[n("0x47", "jhqR")] = function(t) { + return t() + } + , + e[n("0x54", "E%W6")] = function(t, n) { + return t % n + } + , + e[n("0x41", "*)*$")] = function(t, n, e, r) { + return t(n, e, r) + } + , + e[n("0x26", "G@#o")] = n("0x1d", "7[hD"), + e[n("0x14", "ot82")] = n("0x0", "(gTs"); + var r = e + , o = r[n("0x5a", "%&27")](String, t)[l](0, 10) + , u = r[n("0x60", "tlVI")](i) + , f = r[n("0x57", "c0t$")]((o + "_" + u)[d]("")[n("0x53", "c0t$")]((function(t, e) { + return t + e[n("0x37", "k]yy")](0) + } + ), 0), 1e3) + , h = r[n("0x7", "D@FD")](c, r[n("0x2e", "xSjl")](String, f), 3, "0"); + return a[r[n("0x12", "c&WM")]]("" + o + h)[r[n("0x2d", "pMPC")]](/=/g, "") + "_" + u + } + function _(t) { + var n = s + , e = {}; + e[n("0x8", "UyGr")] = function(t, n) { + return t + n + } + , + e[n("0xa", "A$AZ")] = n("0x4c", "tlVI"); + var r = e; + return r[n("0x36", "pMPC")](t[f](0)[r[n("0x35", "bFEs")]](), t[l](1)) + } + t[s("0x3f", "&$Jn")] = function() { + var t = s + , n = {}; + n[t("0x19", "9efh")] = function(t, n) { + return t(n) + } + , + n[t("0x52", "tHgI")] = t("0x11", "aq]i"), + n[t("0x4", "$bkt")] = function(t) { + return t() + } + , + n[t("0x2f", "ot82")] = t("0x6", "is@g"), + n[t("0x29", "A$AZ")] = t("0x65", "$bkt"), + n[t("0x49", "!2QX")] = t("0x16", "@Y(N"); + var e = n + , r = e[t("0x13", "]td7")] + , o = {} + , a = e[t("0x9", "A$AZ")](k); + return [e[t("0x59", "k]yy")], e[t("0x46", "&$Jn")]][e[t("0x10", "E1C[")]]((function(n) { + var i = t; + try { + var c = i("0x27", "$bkt") + n + i("0x5", "tlVI"); + o[c] = g[i("0x2c", "%&27") + e[i("0x66", "%&27")](_, n)](r), + !o[c] && (g[i("0x22", "Jl^^") + e[i("0x20", "tHgI")](_, n)](r, a), + o[c] = a) + } catch (t) {} + } + )), + o + } + } + ).call(this, e(0)(t)) + } + , function(t, n, e) { + "use strict"; + t.exports = function(t) { + t = t || 21; + for (var n = ""; 0 < t--; ) + n += "_~varfunctio0125634789bdegjhklmpqswxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[64 * Math.random() | 0]; + return n + } + } + , function(t, n, e) { + "use strict"; + t.exports = function(t, n, e) { + if ("string" != typeof t) + throw new Error("The string parameter must be a string."); + if (t.length < 1) + throw new Error("The string parameter must be 1 character or longer."); + if ("number" != typeof n) + throw new Error("The length parameter must be a number."); + if ("string" != typeof e && e) + throw new Error("The character parameter must be a string."); + var r = -1; + for (n -= t.length, + e || 0 === e || (e = " "); ++r < n; ) + t += e; + return t + } + } + , function(t, n, e) { + "use strict"; + (function(t, n) { + var r, o, a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { + return typeof t + } + : function(t) { + return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t + } + , i = e(2), c = ["WO/cHHiaFW==", "su3cU8omW6q=", "q0FcMmoz", "WPNdQqvvWRRcMKaVha==", "mmo5B0mJFJ3dHmoFFW==", "W5HbWPxdJ0m=", "pCosaCoMAN4=", "WRD+WRLmW7e=", "WQnHr3Dzvq==", "CZ5la8kvu8kC", "cwm7W7hcNu/cImkM", "WOLnx31C", "puKzW5BcIG==", "WQz4WRfIW7m=", "cCkixrjrwMNdHSo2", "WPddTWy=", "Dr3dRZeXfwfDbG==", "W4NdGCoMW4u=", "k3ZcSGZcJKVdPSoNCmoOr8oWWQ8+WRKk", "W6ldUmkXuJ0=", "BSoUdrtdUW==", "E8o5cXhdGq==", "WOldS27dVt4=", "WPBdGSkNmCkM", "WR5NB8kRWQS=", "iumnW7hcO2NcRG==", "WPFdTHtdPq==", "rWzxk0GhzYG=", "pCohW5iDW6W=", "WORcKtCPCfZcNgpdJq==", "hKO5W7FcMa==", "W7hdJYzFW5C=", "W78vWOj2WPBcJCk9", "DCoQhCoMaSkkkmo9", "WOZdKc53WOq=", "W4hdHWLO", "WOxdQvtdMhhdSqLcWRO=", "yCoKhCo4iq==", "ufhcQSoNW6ldP3BdGIj6WRBdH3NdPq==", "WO0BrG==", "W5hdUCkkyJ8=", "d8oDWOCCW54=", "W68AWPL8WPtcLCkXqCk1", "wLZcGSof", "tKBcKSoyW41gk8oYW6RcS8oJFWyqza==", "WPidcwZdGq==", "W4SdWPunAq==", "WRBdGmo8WPxdKG==", "ECoKemo3a8kka8o/W4pdSG4=", "WPNdVb7dUYVdMa==", "cCkdrHTj", "t8kYW5z2fWHy", "lmo3WOSBW78=", "WOxdUbpdTXe=", "WOageSohW5hcT8on", "WRiLvSkAbG==", "eSoxWQ5mWQm=", "DCk5FmoaB0BdOxBdHq==", "B8o1pG/dTW==", "WO7dRWztWQJcMG==", "mCo4W6ePW4rcxSk6W40=", "W5WnWRexFCoL", "WP3dQexdJNldVaHqWRa=", "Amo/dXldHa==", "lCosb8oG"]; + r = c, + o = 266, + function(t) { + for (; --t; ) + r.push(r.shift()) + }(++o); + var u = function t(n, e) { + var r = c[n -= 0]; + void 0 === t.DaotbI && (t.bPBPDY = function(t, n) { + for (var e = [], r = 0, o = void 0, a = "", i = "", c = 0, u = (t = function(t) { + for (var n, e, r = String(t).replace(/=+$/, ""), o = "", a = 0, i = 0; e = r.charAt(i++); ~e && (n = a % 4 ? 64 * n + e : e, + a++ % 4) ? o += String.fromCharCode(255 & n >> (-2 * a & 6)) : 0) + e = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e); + return o + }(t)).length; c < u; c++) + i += "%" + ("00" + t.charCodeAt(c).toString(16)).slice(-2); + t = decodeURIComponent(i); + var s = void 0; + for (s = 0; s < 256; s++) + e[s] = s; + for (s = 0; s < 256; s++) + r = (r + e[s] + n.charCodeAt(s % n.length)) % 256, + o = e[s], + e[s] = e[r], + e[r] = o; + s = 0, + r = 0; + for (var f = 0; f < t.length; f++) + r = (r + e[s = (s + 1) % 256]) % 256, + o = e[s], + e[s] = e[r], + e[r] = o, + a += String.fromCharCode(t.charCodeAt(f) ^ e[(e[s] + e[r]) % 256]); + return a + } + , + t.LtGUlx = {}, + t.DaotbI = !0); + var o = t.LtGUlx[n]; + return void 0 === o ? (void 0 === t.XOiSfQ && (t.XOiSfQ = !0), + r = t.bPBPDY(r, e), + t.LtGUlx[n] = r) : r = o, + r + } + , s = u + , f = s("0x2c", "%tFH") + , d = s("0x21", "JL#u") + , l = s("0x2a", "WVSw") + , h = s("0xc", "wu3F") + , W = s("0x1b", "WVSw") + , x = s("0x3e", "zsV0") + , p = s("0x30", "6(KX") + , m = s("0x1a", "1XoU") + , v = s("0x33", "()*e") + , b = s("0x2b", "tfDC") + , g = s("0x35", "zsV0") + , k = s("0x13", "oN74") + , _ = s("0x25", "h0SG") + , y = s("0x3a", "xyA2") + , w = 0 + , C = void 0 + , S = void 0 + , O = { + init: function() { + O[y] = [] + }, + handleEvent: function() { + var t = s + , n = {}; + n[t("0x2e", "(GD%")] = function(t, n) { + return t > n + } + , + n[t("0x40", "h)xg")] = function(t, n) { + return t - n + } + , + n[t("0x7", "oCpA")] = function(t, n) { + return t > n + } + ; + var e = n + , r = {} + , o = C[W][t("0x26", "h0SG")][t("0x8", "%tFH")] || C[W][t("0x14", "tfDC")][t("0x17", "nYFR")]; + e[t("0x6", "oN74")](o, 0) && (r[t("0x8", "%tFH")] = o, + r[x] = e[t("0x11", "ZSGZ")](S[d](), w), + O[y][_](r)), + e[t("0xd", ")pEV")](O[y][b], 3) && O[y][f]() + }, + packN: function() { + if (!O[y][b]) + return []; + var t = [][g](i.ek(3, O[y])); + return O[y][k]((function(n) { + var e = u; + t = t[g](i.va(n[e("0x24", "1XoU")]), i.va(n[x])) + } + )), + t + } + } + , R = { + init: function() { + R[y] = [] + }, + handleEvent: function(t) { + var n = s + , e = {}; + e[n("0x5", "]FZK")] = n("0x0", "xyA2"), + e[n("0x1", "oCpA")] = function(t, n) { + return t - n + } + , + e[n("0x34", "fVL7")] = function(t, n) { + return t > n + } + ; + var r = e + , o = t || C[n("0xe", "fVL7")] + , a = o[r[n("0x23", "(GD%")]].id || "" + , i = {}; + i[v] = a, + i[m] = o[m], + i[p] = o[p], + i[x] = r[n("0x3c", "mjbv")](S[d](), w), + R[y][_](i), + r[n("0x28", "72u@")](R[y][b], 3) && R[y][f]() + }, + packN: function() { + if (!R[y][b]) + return []; + var t = [][g](i.ek(2, R[y])); + return R[y][k]((function(n) { + t = t[g](i.va(n[m]), i.va(n[p]), i.va(n[x]), i.va(n[v][b]), i.sc(n[v])) + } + )), + t + } + } + , P = function() {}; + t[s("0x9", "tfDC")][s("0x4", "oN74")] && (P = function(t) { + var n = s + , e = {}; + e[n("0x10", "t]BJ")] = n("0x2", "]FZK"), + e[n("0x22", ")pEV")] = n("0x1e", "fzZd"); + var r = e; + switch (t.type) { + case r[n("0x10", "t]BJ")]: + O[l](t); + break; + case r[n("0x3b", "nYFR")]: + R[l](t) + } + } + ); + var j = {}; + j[s("0x1d", "SUh[")] = function(t, n) { + var e = s + , r = {}; + r[e("0x29", "RFoz")] = function(t, n) { + return t !== n + } + , + r[e("0x19", "SUh[")] = e("0x38", "fzZd"); + var o = r; + w = t, + o[e("0x12", "rM3K")](void 0 === n ? "undefined" : a(n), o[e("0x18", "oN74")]) && (S = (C = n)[e("0xb", "2bo&")]) + } + , + j[s("0x15", "Y$b$")] = function() { + var t = s + , n = {}; + n[t("0x16", "98kT")] = t("0x3d", "h0SG"); + var e = n; + [O, R][k]((function(n) { + n[e[t("0x1c", "zsV0")]]() + } + )) + } + , + j[s("0xa", "7)j^")] = function() { + var t = s + , n = {}; + n[t("0x39", "fVL7")] = t("0x36", "98kT"), + n[t("0x31", "]ELA")] = t("0x37", "72u@"); + var e = n; + C && (C[W][h](e[t("0x27", "eWRI")], R, !0), + C[W][h](e[t("0x32", ")T5b")], O, !0)) + } + , + j[s("0x3f", "sOBV")] = function() { + [O, R][k]((function(t) { + t[y] = [] + } + )) + } + , + j[s("0x2f", "tfDC")] = function() { + var t = s; + O.data=scrollEvent; + R.data=mouseDownEvent; + console.log({ + "O":O.data, + "R":R.data, + + }) + return [][g](O[t("0xf", "fVL7")](), R[t("0x1f", "WVSw")]()) + } + , + j[s("0x3", "Z[&$")] = P, + j[s("0x20", "mjbv")] = R; + var D = j; + n[s("0x2d", "&$9J")] = D + } + ).call(this, e(3), e(0)(t)) + } + ]) + } + + let t={i: "rx36", l: false, exports: {}}; + let n={} + let e= function i(r) { + if (n[r]) + return n[r].exports; + var t = n[r] = { + i: r, + l: !1, + exports: {} + }; + return e[r].call(t.exports, t, t.exports, i), + t.l = !0, + t.exports + } + +// fbeZ(t,n,e) + console.log(fbeZ(t,n,e)) + + let riskControlCrawler=new t.exports({ + serverTime: new Date().getTime(), + _2827c887a48a351a: !1 + }) + + riskControlCrawler.messagePackSync({ + touchEventData: !0, + clickEventData: !0, + focusblurEventData: !0, + changeEventData: !0, + locationInfo: !0, + referrer: !0, + browserSize: !0, + browserInfo: !0, + token: !0, + fingerprint: !0 + }).catch((function(e) { + console.log(e) + })).then((function (result){ + console.log(result) + })) +} + +// getAntiContent([],[],[], +// "test_href","","test_ua", +// new Date().getTime(),1, +// "test_nano_fp","pdd_user_id","api_uid","pdd_vds", +// ) + +//导出 +module.exports={ + getAntiContent:getAntiContent +} +// getAntiContent diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/server.js" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/server.js" new file mode 100644 index 0000000000000000000000000000000000000000..801282c1a8c6cad2f6e5efbad86bab24ff01f8eb --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/server.js" @@ -0,0 +1,39 @@ +const express = require('express'); +const bodyParser = require("body-parser"); +const getAntiContent = require("../20_2/objAntiContent_heji.js").getAntiContent //获取一个函数 + +const app = express() +app.use(bodyParser.json({limit: '50mb'}))//稍微大点 +app.use(bodyParser.urlencoded({ extend: true, limit: '50mb'}))//解析url + +app.post("/anti_content", function (req, res){ + console.log("get anti_content request"); + const json_data = req.body; + console.log(json_data); + getAntiContent( + json_data['scrollEvent'], + json_data['mouseDownEvent'], + json_data['clickEvent'], + json_data['href'], + json_data['referrer'], + json_data['ua'], + json_data['initPageTimes'], + json_data['requestTimes'], + json_data['nano_fp'], + json_data['pdd_user_id'], + json_data['api_uid'], + json_data['pdd_vds'] + ).then((function (result){ + console.log("result", result) + res.json({ + anti_content: result + }) + })) +}) + +//开启服务 1111随意选择 +const server = app.listen(1111, function (){ + let host = server.address().address;//默认地址127.0.0.1 + let port = server.address().port; //端口号 + console.log("Server is running at http: //%s: %s", host, port) +}) \ No newline at end of file diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/\345\207\275\346\225\260\350\247\222\345\272\246\350\260\203\347\224\250\345\212\240\345\257\206\345\207\275\346\225\260\343\200\201\345\257\271\350\261\241\350\247\222\345\272\246\350\260\203\347\224\250\345\212\240\345\257\206\345\207\275\346\225\260-21-2noteyun.md" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/\345\207\275\346\225\260\350\247\222\345\272\246\350\260\203\347\224\250\345\212\240\345\257\206\345\207\275\346\225\260\343\200\201\345\257\271\350\261\241\350\247\222\345\272\246\350\260\203\347\224\250\345\212\240\345\257\206\345\207\275\346\225\260-21-2noteyun.md" new file mode 100644 index 0000000000000000000000000000000000000000..a9e346e5fa3e29a0bb40187e7c9e80b572d0f8ad --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/\345\207\275\346\225\260\350\247\222\345\272\246\350\260\203\347\224\250\345\212\240\345\257\206\345\207\275\346\225\260\343\200\201\345\257\271\350\261\241\350\247\222\345\272\246\350\260\203\347\224\250\345\212\240\345\257\206\345\207\275\346\225\260-21-2noteyun.md" @@ -0,0 +1,317 @@ +21-2 + +老师文件js: + +https://gitee.com/mayugu/second-python-bootcamp/blob/master/%E7%AC%AC%E4%BA%8C%E6%9C%9F%E9%9A%8F%E5%A0%82%E7%AC%94%E8%AE%B0/%E7%AC%AC%E4%BA%8C%E5%8D%81%E4%B8%80%E5%91%A8-JS%E9%80%86%E5%90%91(%E4%BA%8C)/obj_anti_content.js# + +0529过程-步骤记录 + +https://imgtu.com/i/2AoRv8 +https://imgtu.com/i/2Ao2gf +https://imgtu.com/i/2AohDg +https://imgtu.com/i/2AofKS +https://imgtu.com/i/2Aog8P +https://imgtu.com/i/2Ao4bQ +https://imgtu.com/i/2AoIEj +https://imgtu.com/i/2AooUs +https://imgtu.com/i/2Aob80 +https://imgtu.com/i/2AoT5n +https://imgtu.com/i/2AoHCq +https://imgtu.com/i/2Aoq2V +https://imgtu.com/i/2AoLvT +https://imgtu.com/i/2AoXKU +https://imgtu.com/i/2AojrF +https://imgtu.com/i/2Aovb4 +https://imgtu.com/i/2AozVJ +https://imgtu.com/i/2ATSa9 +https://imgtu.com/i/2ATp5R +https://imgtu.com/i/2ATCP1 +https://imgtu.com/i/2ATP8x +https://imgtu.com/i/2ATi26 +https://imgtu.com/i/2ATAKO +https://imgtu.com/i/2ATErD +https://imgtu.com/i/2ATFxK +https://imgtu.com/i/2ATeVH +https://imgtu.com/i/2ATVqe + + + + + +函数角度调用加密函数、对象角度调用加密函数-21-2noteyun + +```javascript +function At() { + return r[n("0xd3", "[xh1")](r[n("0x85", "5^JL")], c[r[n("0x155", "uYFB")]](r[n("0x10c", "GmkI")](h[x](""), tt[x]("")), c[n("0x91", "ho[k")])) + +``` + + + +抠出来 + +- 扣加密函数的时候最好用源文件来扣, 我们自己还原的文件可能会有略微差异, 也就是说我们还原的文件只适合参考 +- 混淆变量的函数可能不唯一, 导致了结果不同 + +# 函数角度调用加密函数 + +- 扣函数的要求 + - 熟悉全部参数获取流程, 加工流程, 加密流程;(encode函数、u的来历,k的来历;g的来历;) + - 工作量非常大; + +# 对象角度调用加密函数 + +- AntiContent生成函数At的环境和调用`c.encode`的环境是不一样的 + + - At + + 控制anti_content生成的流程 + + - c + + 实际加密, 加工参数的对象, 里面有各种加密函数 + + - Lt + + 初始化参数中的一些时间戳 + +- 找到两者作用域的合集`fbeZ` + +- 补全`fbez`所需要的参数, 并调用`fbez` + +- 对比真实环境和我们node环境下上下文环境是否一致 + +- 将需要的window环境和document环境补全 + + - 复制特殊对象 + + ```javascript + d = {} + for (let key in window.navigator){d[key] = window.navigator[key]} + ``` + + + + + +# 流程步骤 + +## 寻找C 时间now + +寻找s中的O的 C 时间now + +![image-20210528144426722](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210528144426722.png) + + + +[![2ATVqe.png](https://z3.ax1x.com/2021/05/29/2ATVqe.png)](https://imgtu.com/i/2ATVqe) + +## 分析encode函数 + +看return语句,找关键函数c.encode + +```javascript +//全部 +r[n("0xd3", "[xh1")](r[n("0x85", "5^JL")], c[r[n("0x155", "uYFB")]](r[n("0x10c", "GmkI")](h[x](""), tt[x]("")), c[n("0x91", "ho[k")])) +tmp=r[n("0x10c", "GmkI")](h[x](""), tt[x]("")) +c.encode(tmp,c.budget) +c[r[n("0x155", "uYFB")]](r[n("0x10c", "GmkI")](h[x](""), tt[x]("")), c[n("0x91", "ho[k")]) + +``` + + + +[![2ATeVH.png](https://z3.ax1x.com/2021/05/29/2ATeVH.png)](https://imgtu.com/i/2ATeVH) + +[![2ATFxK.png](https://z3.ax1x.com/2021/05/29/2ATFxK.png)](https://imgtu.com/i/2ATFxK) + +[![2ATErD.png](https://z3.ax1x.com/2021/05/29/2ATErD.png)](https://imgtu.com/i/2ATErD) + + + +寻找u,找关键的断点 + + + +[![2ATAKO.png](https://z3.ax1x.com/2021/05/29/2ATAKO.png)](https://imgtu.com/i/2ATAKO) + +encode函数,用到u + + + +[![2ATi26.png](https://z3.ax1x.com/2021/05/29/2ATi26.png)](https://imgtu.com/i/2ATi26) + + + +[![2ATP8x.png](https://z3.ax1x.com/2021/05/29/2ATP8x.png)](https://imgtu.com/i/2ATP8x) + +[![2ATCP1.png](https://z3.ax1x.com/2021/05/29/2ATCP1.png)](https://imgtu.com/i/2ATCP1) + +encode抠全了; + + + +[![2ATp5R.png](https://z3.ax1x.com/2021/05/29/2ATp5R.png)](https://imgtu.com/i/2ATp5R) + +## 对象角度-At和encode + +[![2ATSa9.png](https://z3.ax1x.com/2021/05/29/2ATSa9.png)](https://imgtu.com/i/2ATSa9) + + + + + +[![2AozVJ.png](https://z3.ax1x.com/2021/05/29/2AozVJ.png)](https://imgtu.com/i/2AozVJ) + +t、n、e + + + +[![2Aovb4.png](https://z3.ax1x.com/2021/05/29/2Aovb4.png)](https://imgtu.com/i/2Aovb4) + +[![2AojrF.png](https://z3.ax1x.com/2021/05/29/2AojrF.png)](https://imgtu.com/i/2AojrF) + + + +```javascript +for (let key in document){console.log(document[key])} +打印document的结果; +构建d +d={} +for (let key in document){d[key]=document[key]} +``` + + + +[![2AoXKU.png](https://z3.ax1x.com/2021/05/29/2AoXKU.png)](https://imgtu.com/i/2AoXKU) + +[![2AoLvT.png](https://z3.ax1x.com/2021/05/29/2AoLvT.png)](https://imgtu.com/i/2AoLvT) + + + +当前这个window对象,连screen都没有,需要补全; + +在console中,找到window.screen,并copy object + +window太复杂,获取不了, + +那就先获取一部分 + +```javascript +d={} +for (let key in window.screen){d[key]=window.screen[key]} +d + +``` + + + + + +[![2Aoq2V.png](https://z3.ax1x.com/2021/05/29/2Aoq2V.png)](https://imgtu.com/i/2Aoq2V) + +run,还有新的错误,需要补全navigator + +```javascript +d("0x51", "bpr9") +//老方法: + +d={} +for (let key in window.navigator){d[key]=window.navigator[key]} +d +{vendorSub: "", productSub: "20030107", vendor: "Google Inc.", maxTouchPoints: 0, userActivation: UserActivation, …} + +``` + +## 依次补全window和navigator + +[![2AoHCq.png](https://z3.ax1x.com/2021/05/29/2AoHCq.png)](https://imgtu.com/i/2AoHCq) + + + +```javascript +navigator +history +ontouchstart +Date +Math + +``` + + + +[![2AoT5n.png](https://z3.ax1x.com/2021/05/29/2AoT5n.png)](https://imgtu.com/i/2AoT5n) + +```javascript +parseInt +添加 + +``` + + + +[![2Aob80.png](https://z3.ax1x.com/2021/05/29/2Aob80.png)](https://imgtu.com/i/2Aob80) + + + +## 检查各个函数的参数 + + + +[![2AooUs.png](https://z3.ax1x.com/2021/05/29/2AooUs.png)](https://imgtu.com/i/2AooUs) + +[![2AoIEj.png](https://z3.ax1x.com/2021/05/29/2AoIEj.png)](https://imgtu.com/i/2AoIEj) + +检查一遍; + +mt + +…… + +vt + +bt + + + +[![2Ao4bQ.png](https://z3.ax1x.com/2021/05/29/2Ao4bQ.png)](https://imgtu.com/i/2Ao4bQ) + +```javascript +if (!et) + return ""; + bt.data=8192; + var o = r[n("0x141", "5^JL")] +``` + +gt + +kt + +_t + +yt + +wt + +Ct + + + +jt + +…… + +## 后续,传参 + +[![2AoRv8.png](https://z3.ax1x.com/2021/05/29/2AoRv8.png)](https://imgtu.com/i/2AoRv8) + + + + + +**课后作业** + +- 扣出`fbez`函数 +- 模拟Lt调用过程 +- 补全window和document对象 + diff --git "a/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/\345\212\240\345\257\206\345\217\202\346\225\260-21-1-note-yun.md" "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/\345\212\240\345\257\206\345\217\202\346\225\260-21-1-note-yun.md" new file mode 100644 index 0000000000000000000000000000000000000000..3d47a13169d341af3285ea0851537bbc683d6855 --- /dev/null +++ "b/\347\254\254\344\272\214\346\234\237\350\256\255\347\273\203\350\220\245/5\347\217\255/5\347\217\255_\344\272\221/week21/\345\212\240\345\257\206\345\217\202\346\225\260-21-1-note-yun.md" @@ -0,0 +1,773 @@ + + +21-1-note-yun + + + +``` +http://yangkeduo.com/pincard_share_card_popup.html?page_id=67388_1621393102563_dxgdk8tm0n&list_id=COuOOzLBgNA0APoh&sp=0&is_back=1 +``` + +[![gX2oe1.png](https://z3.ax1x.com/2021/05/23/gX2oe1.png)](https://imgtu.com/i/gX2oe1) + +chrome调试 + +https://zh.javascript.info/debugging-chrome + +``` +20周答疑: + +network:query_content +点击进去 +找调用栈 +找promise +找关键函数anti_content,表示一个匿名函数 + +进入这个关键函数 +继续分析 +23:19 +25min,还在找那个位置; +``` + + + +# 过程 + +- 图 + + https://imgtu.com/i/gvxaUP + https://imgtu.com/i/gvxtHI + https://imgtu.com/i/gvxB8S + https://imgtu.com/i/gvxUEt + https://imgtu.com/i/gvxd4f + https://imgtu.com/i/gvxrvQ + https://imgtu.com/i/gvxyuj + https://imgtu.com/i/gvx6Ds + + + +## 时间参数4个 + +```javascript +X = 1621779426453 initTime(U和X的大小不确定,) +U = 1621779410888 (X和U相差1000) +w = 1621779395276 (U和w 相差20000) +jt.data = 1621779395276 +``` + +```javascript +//ziji +X +1622288847952 +C +"now" +Y +1622273612994 + + +C +1622289611364 +jt +{data: 1622289611364, init: ƒ, packN: ƒ} + +``` + +``` +X +1622288847952 +Y +1622273612994 + +C +1622289611364 +jt +{data: 1622289611364, init: ƒ, packN: ƒ} +``` + + + +[![2AoRv8.png](https://z3.ax1x.com/2021/05/29/2AoRv8.png)](https://imgtu.com/i/2AoRv8) + + + + + +![image-20210529195008951](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210529195008951.png) + + + +[![2AofKS.png](https://z3.ax1x.com/2021/05/29/2AofKS.png)](https://imgtu.com/i/2AofKS) + +[![2AohDg.png](https://z3.ax1x.com/2021/05/29/2AohDg.png)](https://imgtu.com/i/2AohDg) + + + +# 加密参数 + +## s 包括O 和 R + +- s + + - O + + 监听垂直滚动条事件(scrollTop) + + ```javascript + window.document.body.scrollTop + ``` + + ```javascript + O.data = [{ + scrollTop: xxx, + timestamp = Date.now() - w // w = 1621523124040 自己: C=1622097725170 + }] + ``` + + + + [![2Zmr8J.png](https://z3.ax1x.com/2021/05/30/2Zmr8J.png)](https://imgtu.com/i/2Zmr8J) + + + + [![2Zm05F.png](https://z3.ax1x.com/2021/05/30/2Zm05F.png)](https://imgtu.com/i/2Zm05F) + + + + [![2ZmwUU.png](https://z3.ax1x.com/2021/05/30/2ZmwUU.png)](https://imgtu.com/i/2ZmwUU) + + + + + + + + - R + + 监听鼠标点击事件, 按下鼠标(mousedown) + + ```javascript + R.data = [ + { + clientX: 715 + clientY: 325 + elementId: "" + timestamp: Date.now() - w + }, + .... + ] + ``` + + + + + + [![2ZmdET.png](https://z3.ax1x.com/2021/05/30/2ZmdET.png)](https://imgtu.com/i/2ZmdET) + + + + [![2ZmDC4.png](https://z3.ax1x.com/2021/05/30/2ZmDC4.png)](https://imgtu.com/i/2ZmDC4) + + ``` + C + 1622097725170 + + ``` + + ![image-20210527153838646](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210527153838646.png) + + + + + + [![2Zmtuq.png](https://z3.ax1x.com/2021/05/30/2Zmtuq.png)](https://imgtu.com/i/2Zmtuq) + + - 时间戳w + + ```javascript + Lt + case "0": + r[n("0x97", "bpr9")](qt); + continue; + case "1": + this[n("0x132", "GmkI")](t[j] || 879609302220); + continue; + case "2": + r[n("0xf2", "^o[d")](Gt, Z, et); + continue; + case "3": + Z = ot[w]();//产生时间戳 M + continue; + case "4": + r[n("0x150", "%LaC")](It); + continue + } + ``` + + + +## wt (ht) + +- Wt (后ht ) + + 监听鼠标点击事件(click), 如果Wt.data > 1执行Wt.data.shift(). 删除头部数据;即记录的是最后一条点击事件 + + ```javascript + Wt.data = [{ + clientX: 715 + clientY: 325 + elementId: "" + timestamp: Date.now() - w + }] + + ``` + + + +## pt + +- pt + + 当前页面地址 + + ```javascript + document.location.href + + pt.data + {href: "http://yangkeduo.com/pincard_share_card_popup.html…zvnqm1c2e&list_id=COuOOzLBgNA0APoh&sp=0&is_back=1", port: ""} + document.location.href + "http://yangkeduo.com/pincard_share_card_popup.html?page_id=67388_1622101461426_rzvnqm1c2e&list_id=COuOOzLBgNA0APoh&sp=0&is_back=1" + + ``` + + ```javascript + pt.data = { + href: "http://yangkeduo.com/pincard_share_card_popup.html?_pdd_fs=1&_pdd_tc=00ffffff&categoryId=39236&refer_origin_page_sn=17542&refer_page_name=list_channel&refer_page_id=67387_1615819189608_3dep3yqyuo&refer_page_sn=67387&refer_abtest_info=%7B%7D", + port: "" + } + ``` + +## mt (vt) + +- mt 屏幕的长宽 + + ```javascript + mt.data = { + availHeight: 1025, + availWidth: 1891 + } + ``` + +## vt(mt) + +- vt 时间戳 + + ```javascript + vt.data = "3287976604829790-1621528579964" // vt.data = 随机数-U + data: "2246500894712523-1621844524760"//自己的 + + vt(mt) + mt + {data: "880253300805583-1622116421030", init: ƒ, packN: ƒ} //自己的 + 前:随机数 + 后:固定Y + ``` + + - U Y的来历 + + ```javascript + Lt[d("0x1d", "s2FC")][d("0x40", "cn*L")] = function(t) { + X = ot[w](), + U = t // 1621528579964 //1622117064227 + } + ``` + +## bt r的分析 + +- bt + + 验证浏览器环境 + + ```javascript + bt.data = 8192 + + + r[0].r[1]的分析 + r[0]: + r[1]: + 刷新页面,直接到bt内的断点; + 刷新后:验证wt Y + + + # bt的验证参数r + r = [ + 0: 0 // 判断当前window.outHeight < 1 || window.outWidth < 1 + 1: 0 // 判断档期是否有windwow._phantom || window.callPhantom + 2: 0 // 判断有无window.Buffer + 3: 0 // 判断有无window.emit + 4: 0 // 判断有无window.spawn + 5: 0 // 判断有无navigator.webdriver + 6: 0 // 判断有无window.domAutomation + 8: 0 // 判断navigator.plugins是否大于0 + 9: 0 // 判断navigator.language是否为"" + 10: 0 // 判断有无window.vendor + 11: 0 // 判断有无window.Modernizr + 12: 0 // 判断有无window.chrome + 13: 1 // 判断'webdriver' in navigaotr + 14: 0 // 判断navigator.hasOwnProperty('webdriver')是否为true + 15: 0 // 判断History.back.toString()中是否有'ipcRenderer' + 16: 0 // 判断browser.versions 是否有module + 17: 0 // 判断window.document.getElementById.toString() 是否含有native code + ] + ``` + + + +## gt kt + +- gt kt + + ```javascript + gt.data = c.pbc(window.location.href) + + ``` + +- kt + + ```javascript + // DeviceOrientationEvent 表示手机屏幕翻转 + kt.data = 'n' // 网页端固定为n + ``` + +- _t + + ```javascript + // DeviceMotionEvent位置和方向改变速度的信号 + _t.data = 'n' // 网页端固定为n + ``` + +- yt + + ```javascript + yt.data = Date.now() - X // x = 1621528592265 + ``` + +- wt + + ```javascript + wt.data = User-Agent + ``` + +- Ct + + cookie中的_nano_fp + + ```javascript + Ct.data = { + nano_cookie_fp: "XpEaX0galpCxlpXylT_1I6dtvD7pLG1UO7xZIpLs", + nano_storage_fp: "XpEaX0galpCxlpXylT_1I6dtvD7pLG1UO7xZIpLs" + } + ``` + +- St + + ```javascript + St.data = window.document.referrer.split("?")[0] + ``` + +- Ot + + cookie中的pdd_user_id + + 需要有登录的 + + ```javascript + Ot.data = "pdd_user_id" + ``` + +- Rt + + cookie中的api_uid + + ```javascript + Rt.data = "CksBgV/4eYkFCwBSPt8WAg==" + ``` + +- Pt + + 请求anti_content的次数 + + ```javascript + Pt.data=7 + + //在不刷新页面的情况下,每次调用getAntiContent(),Pt会累加1 + + + var e = n; + return new Promise((function(n) { + var r = t; + Pt[Y]++, + e[r("0xfa", "Vta9")](n, e[r("0x108", "wFxG")](At)) + } + )) + + ``` + + + +- jt + + 页面初始化的时候产生的时间戳 + + ```javascript + jt.data = w + + {data: 1621851393669, //自己的 + + + + C + 1622289611364 + jt + {data: 1622289611364, init: ƒ, packN: ƒ} + 见上图 + + + ``` + +- Dt + + cookie中的pdd_vds + + ```javascript + Dt.data = "gaLLNIyLQNiimoGtPyOQEQOIaomoabtNNGbGnQQmIbnLPEQatNOtbPOaLLam" + ``` + + + + + +**课后作业** + +- 练习参数的定位 + + + +# 过程截图记录 + +正则表达式搜索 + +``` +\bAt\b +\b 匹配字符边界 + +``` + + + +0526- 21:10min + +![image-20210526210824659](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210526210824659.png) + +## a的取值 + +et为空,不是在浏览器环境下运行的,会被记录,反爬; + +```javascript +//删掉条件和 冒号之前的 +a = (t = [])[K].apply(t, [ s[o](), Wt[o](), pt[o](), mt[o](), vt[o](), bt[o](), gt[o](), kt[o](), _t[o](), yt[o](), wt[o]()].concat(function(t) { + if (Array.isArray(t)) { + for (var n = 0, e = Array(t.length); n < t.length; n++) + e[n] = t[n]; + return e + } + return Array.from(t) + }(Ct[o]()), [St[o](), Ot[o](), Rt[o](), Pt[o](), jt[o](), Dt[o]()])); + +K:concat + +//第一部分: +[s[o](), Wt[o](), pt[o](), mt[o](), vt[o](), bt[o](), gt[o](), kt[o](), _t[o](), yt[o](), wt[o]()] +s:监控鼠标的一些事件 +o:packN, + + +//第二部分: +(function(t) { + if (Array.isArray(t)) { + for (var n = 0, e = Array(t.length); n < t.length; n++) + e[n] = t[n]; + return e + } + return Array.from(t) + }(Ct[o]()), [St[o](), Ot[o](), Rt[o](), Pt[o](), jt[o](), Dt[o]()]) + + + + +``` + +![29q8wn.png](https://z3.ax1x.com/2021/05/26/29q8wn.png) + +数组就是concat出来的; + +console中: s[o]执行以下,进入;打断点; + +![image-20210526212549135](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210526212549135.png) + +![image-20210526214535012](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210526214535012.png) + +![image-20210526214208560](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210526214208560.png) + +scrollTop + +Element.scrollTop + +`**Element.scrollTop**` 属性可以获取或设置一个元素的内容垂直滚动的像素数。 + + + + + +![image-20210526214817975](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210526214817975.png) + +![image-20210526220200219](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210526220200219.png) + +## 之前所有的断点集合 + +[![2Zms29.png](https://z3.ax1x.com/2021/05/30/2Zms29.png)](https://imgtu.com/i/2Zms29) + +[![2ZmyvR.png](https://z3.ax1x.com/2021/05/30/2ZmyvR.png)](https://imgtu.com/i/2ZmyvR) + + + + + +## wt (ht) + +![image-20210527190305412](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210527190305412.png) + + + +[![2Zm83j.png](https://z3.ax1x.com/2021/05/30/2Zm83j.png)](https://imgtu.com/i/2Zm83j) + + + + + + + +[![2Zm3CQ.png](https://z3.ax1x.com/2021/05/30/2Zm3CQ.png)](https://imgtu.com/i/2Zm3CQ) + +[![2Zml4g.png](https://z3.ax1x.com/2021/05/30/2Zml4g.png)](https://imgtu.com/i/2Zml4g) + +## pt + +![image-20210527194646037](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210527194646037.png) + + + +## mt (vt) + +[![2ZmQUS.png](https://z3.ax1x.com/2021/05/30/2ZmQUS.png)](https://imgtu.com/i/2ZmQUS) + + + + + +## vt(mt) + +``` +mt +{data: "880253300805583-1622116421030", init: ƒ, packN: ƒ} +``` + +前面部分是随机数 + + + +[![2ZmZjI.png](https://z3.ax1x.com/2021/05/30/2ZmZjI.png)](https://imgtu.com/i/2ZmZjI) + + + +[![2ZmuHf.png](https://z3.ax1x.com/2021/05/30/2ZmuHf.png)](https://imgtu.com/i/2ZmuHf) + + + +[![2Zmmut.png](https://z3.ax1x.com/2021/05/30/2Zmmut.png)](https://imgtu.com/i/2Zmmut) + +![image-20210528121856795](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210528121856795.png) + + + + + +## bt + +用到dt + +[![2ZmnDP.png](https://z3.ax1x.com/2021/05/30/2ZmnDP.png)](https://imgtu.com/i/2ZmnDP) + + + +dt中的 r + +[![2ZmME8.png](https://z3.ax1x.com/2021/05/30/2ZmME8.png)](https://imgtu.com/i/2ZmME8) + + + +r的分析 + +``` +r[0] = e[t("0x134", "Hv26")](et[t("0x5", "z@XA")], 1) || e[t("0x11e", "uYFB")](et[t("0x148", "#Xxt")], 1) ? 1 : 0 + +``` + +```javascript +bt.data = 8192 + +r[0].r[1]的分析 +r[0]: +r[1]: +刷新页面,直接到bt内的断点; +刷新后:验证wt Y + + +# bt的验证参数r +r = [ + 0: 0 // 判断当前window.outHeight < 1 || window.outWidth < 1 + 1: 0 // 判断档期是否有windwow._phantom || window.callPhantom + 2: 0 // 判断有无window.Buffer undifined=== undefined + 3: 0 // 判断有无window.emit + 4: 0 // 判断有无window.spawn + 5: 0 // 判断有无navigator.webdriver + 6: 0 // 判断有无window.domAutomation + 8: 0 // 判断navigator.plugins是否大于0 + 9: 0 // 判断navigator.language是否为"" + 10: 0 // 判断有无window.vendor + 11: 0 // 判断有无window.Modernizr + 12: 0 // 判断有无window.chrome + 13: 1 // 判断'webdriver' in navigaotr + 14: 0 // 判断navigator.hasOwnProperty('webdriver')是否为true + 15: 0 // 判断History.back.toString()中是否有'ipcRenderer' + 16: 0 // 判断browser.versions 是否有module + 17: 0 // 判断window.document.getElementById.toString() 是否含有native code + ] +``` + + + +[![2ZVqbT.png](https://z3.ax1x.com/2021/05/30/2ZVqbT.png)](https://imgtu.com/i/2ZVqbT) + + + +[![2ZVXaF.png](https://z3.ax1x.com/2021/05/30/2ZVXaF.png)](https://imgtu.com/i/2ZVXaF) + + + +[![2ZVOVU.png](https://z3.ax1x.com/2021/05/30/2ZVOVU.png)](https://imgtu.com/i/2ZVOVU) + +## gt kt + +[![2ZVbrV.png](https://z3.ax1x.com/2021/05/30/2ZVbrV.png)](https://imgtu.com/i/2ZVbrV) + + + +## kt gt + +[![2ZVI8s.png](https://z3.ax1x.com/2021/05/30/2ZVI8s.png)](https://imgtu.com/i/2ZVI8s) + + + +## _t + +位置、方向改变的速度,网页端固定为n; + + + +[![2ZVfUg.png](https://z3.ax1x.com/2021/05/30/2ZVfUg.png)](https://imgtu.com/i/2ZVfUg) + + + +## yt + +![image-20210528125921024](C:\Users\yunqin\AppData\Roaming\Typora\typora-user-images\image-20210528125921024.png) + + + + + +## wt + + + +[![2ZVWVS.png](https://z3.ax1x.com/2021/05/30/2ZVWVS.png)](https://imgtu.com/i/2ZVWVS) + +## St + + + +[![2ZV2b8.png](https://z3.ax1x.com/2021/05/30/2ZV2b8.png)](https://imgtu.com/i/2ZV2b8) + +## Ot + +Ot 需要有登录的 + + + +[![2ZVr8A.png](https://z3.ax1x.com/2021/05/30/2ZVr8A.png)](https://imgtu.com/i/2ZVr8A) + + + +Rt + + + +[![2ZVsgI.png](https://z3.ax1x.com/2021/05/30/2ZVsgI.png)](https://imgtu.com/i/2ZVsgI) + + + +## jt + + + +[![2ZVyvt.png](https://z3.ax1x.com/2021/05/30/2ZVyvt.png)](https://imgtu.com/i/2ZVyvt) + + + +[![2ZVDCd.png](https://z3.ax1x.com/2021/05/30/2ZVDCd.png)](https://imgtu.com/i/2ZVDCd) + +## Pt + +```javascript +//在不刷新页面的情况下,每次调用getAntiContent(),Pt会累加1 + + + var e = n; + return new Promise((function(n) { + var r = t; + Pt[Y]++, + e[r("0xfa", "Vta9")](n, e[r("0x108", "wFxG")](At)) + } + )) + +``` + + + + + +[![2ZE67F.png](https://z3.ax1x.com/2021/05/30/2ZE67F.png)](https://imgtu.com/i/2ZE67F) + + + + + + + + + + + +# end + +新加一个断点,resume是有用的 \ No newline at end of file