{"version":3,"sources":["websitecommand.js"],"sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 4);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n\r\nvar getKeys = Object.names || function (obj) {\r\n var names = [], name = '';\r\n for (name in obj) {\r\n if (obj.hasOwnProperty(name)) names.push(name);\r\n }\r\n return names;\r\n }\r\nfunction isPlainObject(value) {\r\n return !!value && Object.prototype.toString.call(value) === '[object Object]';\r\n}\r\nfunction isArray(value) {\r\n return value instanceof Array\r\n}\r\nfunction toArray(value) {\r\n return Array.prototype.slice.call(value);\r\n}\r\nfunction Cookie() {\r\n if (!(this instanceof Cookie)) {\r\n return new Cookie()\r\n }\r\n ;\r\n}\r\nCookie.prototype = {\r\n get: function (name) {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');//把cookie分割成组\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];//取得字符串\r\n while (c.charAt(0) == ' ') {//判断一下字符串有没有前导空格\r\n c = c.substring(1, c.length);//有的话,从第二位开始取\r\n }\r\n //如果含有我们要的name\r\n if (c.indexOf(nameEQ) == 0) {\r\n return decodeURIComponent(c.substring(nameEQ.length, c.length));//解码并截取我们要值\r\n }\r\n }\r\n return false;\r\n },\r\n set: function (name, value, options) {\r\n if (isPlainObject(name)) {\r\n for (var k in name) {\r\n if (name.hasOwnProperty(k)) this.set(k, name[k], value);\r\n }\r\n } else {\r\n var opt = isPlainObject(options) ? options : {expires: options},\r\n expires = opt.expires !== undefined ? opt.expires : '',\r\n expiresType = typeof(expires),\r\n path = opt.path !== undefined ? ';path=' + opt.path : ';path=/',\r\n domain = opt.domain ? ';domain=' + opt.domain : '',\r\n secure = opt.secure ? ';secure' : '';\r\n\r\n //过期时间\r\n if (expiresType === 'string' && expires !== '') expires = new Date(expires);\r\n else if (expiresType === 'number') expires = new Date(+new Date + 1000 * expires);\r\n if (expires !== '' && 'toGMTString' in expires) expires = ';expires=' + expires.toGMTString();\r\n\r\n\r\n document.cookie = name + \"=\" + encodeURIComponent(value) + expires + path + domain + secure; //转码并赋值\r\n }\r\n },\r\n remove: function (names) {\r\n names = isArray(names) ? names : toArray(arguments);\r\n for (var i = 0, l = names.length; i < l; i++) {\r\n this.set(names[i], '', -1);\r\n }\r\n return names;\r\n },\r\n clear: function (name) {\r\n return name ? this.remove(name) : this.remove(getKeys(this.all()));\r\n },\r\n del: function (name, path, domain) {\r\n document.cookie = name + \"=\" +\r\n ((path) ? \"; path=\" + path : \"; path=/\") +\r\n ((domain) ? \"; domain=\" + domain : \"\") +\r\n \";expires=Thu, 01-Jan-1970 00:00:01 GMT\";\r\n },\r\n all: function () {\r\n if (document.cookie === '') return {};\r\n var cookies = document.cookie.split('; '), result = {};\r\n for (var i = 0, l = cookies.length; i < l; i++) {\r\n var item = cookies[i].split('=');\r\n result[decodeURIComponent(item[0])] = decodeURIComponent(item[1]);\r\n }\r\n return result;\r\n }\r\n};\r\n\r\nvar cookie = function (name, value, options) {\r\n var argm = arguments;\r\n if (argm.length === 0) return Cookie().all();\r\n if (argm.length === 1 && name === null) return Cookie().clear();\r\n if (argm.length === 2 && !value) return Cookie().clear(name);\r\n if (typeof(name) == 'string' && !value) return Cookie().get(name);\r\n if (isPlainObject(name) || (argm.length > 1 && name && value))\r\n return Cookie().set(name, value, options);\r\n if (value === null) return Cookie().remove(name);\r\n return Cookie().all();\r\n}\r\nfor (var a in Cookie.prototype) cookie[a] = Cookie.prototype[a];\r\n\r\n\r\n// var cookies = {\r\n// set: function (name, value, expires, path, domain) {\r\n// expires = new Date(new Date().getTime() + (((typeof expires == \"undefined\") ? 12 * 7200 : expires)) * 1000);\r\n// var tempcookie = name + \"=\" + encodeURIComponent(value) +\r\n// ((expires) ? \"; expires=\" + expires.toGMTString() : \"\") +\r\n// ((path) ? \"; path=\" + path : \"; path=/\") +\r\n// ((domain) ? \"; domain=\" + domain : \"\");\r\n// (tempcookie.length < 4096) ? document.cookie = tempcookie : alert(\"The cookie is bigger than cookie lagrest\");\r\n// },\r\n//\r\n//\r\n// get: function (name) {\r\n// var xarr = document.cookie.match(new RegExp(\"(^| )\" + name + \"=([^;]*)(;|$)\"));\r\n// if (xarr != null)\r\n// return decodeURIComponent(xarr[2]);\r\n// return null;\r\n// },\r\n//\r\n// del: function (name, path, domain) {\r\n// if (this.get(name))\r\n// document.cookie = name + \"=\" +\r\n// ((path) ? \"; path=\" + path : \"; path=/\") +\r\n// ((domain) ? \"; domain=\" + domain : \"\") +\r\n// \";expires=Thu, 01-Jan-1970 00:00:01 GMT\";\r\n// },\r\n// day: function (xd) {\r\n// return xd * 24 * 3600;\r\n// },\r\n// hour: function (xh) {\r\n// return xh * 3600;\r\n// }\r\n// };\r\n\r\nmodule.exports = cookie;\n\n/***/ }),\n/* 1 */,\n/* 2 */,\n/* 3 */,\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar cookies = __webpack_require__(0);\r\n(function(){\r\n ;\r\n var _css = '.iemodal{display:inline;}.ie-shengji-main{margin:0;padding:0;font-family:\\'Microsoft Yahei\\',\\'Hiragino Sans GB\\',simsun;color:#666;font-size:14px;text-align:left;}.ie-shengji-main ul{padding:0;margin:0}.ie-shengji-main ul li{padding:0;margin:0;list-style:none}.ie-shengji-main img{border:0}.ie-shengji-main .glist{width:1202px;margin:0 auto;padding-top:60px}.ie-shengji-main .glist .p{margin:50px 0 30px 0}.ie-shengji-main .update{width:800px;height:360px;background-color:#f8f8f8;margin:0 auto}.ie-shengji-main .update .u1{padding-left:110px;font-size:16px;position:relative;padding-top:30px}.ie-shengji-main .update .u1 .u1img{position:absolute}.ie-shengji-main .update .u1 .u1t{padding-left:110px;padding-top:12px;font-weight:bold;font-size:16px;}.ie-shengji-main .update .u1 .u1t2{padding-left:110px;padding-top:10px;font-size:16px;line-height:28px;}.ie-shengji-main .update .u2{border-top:1px solid #ddd;width:580px;margin:46px auto;position:relative}.ie-shengji-main .update .u2 span{position:absolute;background-color:#f8f8f8;top:-7px;padding:0 10px;left:185px;font-size:12px}.ie-shengji-main .update .blist{padding-left:100px;}.ie-shengji-main .update .blist li{list-style:none;float:left;text-align:center;height:80px;width:150px;font-size:12px}.ie-shengji-main a:link,.ie-shengji-main a:visited{color:#003598;text-decoration:none}.ie-shengji-main a:hover{color:#ea5404}.iepopbox {position: absolute;z-index: 80001;border: 3px solid #aecee1;background-color: #fff;width:800px;height:360px;}.iepopbox .iepopboxtitle {font-size: 14px;font-weight: 700;color: #fff;background-color: #466b98;padding: 8px 0 8px 12px}.iepopbox .iepopboxclose {position: absolute;right: 10px;top: 10px;width: 12px;height: 12px;cursor: pointer;color: #fff;z-index:80001;background: url(//g1.dfcfw.com/g3/201904/20190415093037.png) no-repeat}.iemask {position: absolute;left: 0;top: 0;width: 100%;height: 100%;z-index: 80000;background: url(//g1.dfcfw.com/g3/201904/20190415093226.png);_background: 0 0;_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=\"img/mask.png\")}';\r\n function AddCssByStyle(cssString){\r\n var doc=document;\r\n var style=doc.createElement(\"style\");\r\n style.setAttribute(\"type\", \"text/css\");\r\n \r\n if(style.styleSheet){style.styleSheet.cssText = cssString;} else {var cssText = doc.createTextNode(cssString);style.appendChild(cssText);}\r\n \r\n var heads = doc.getElementsByTagName(\"head\");\r\n if(heads.length){heads[0].appendChild(style);}else{doc.documentElement.appendChild(style);}\r\n }\r\n var __isshowbox = false;\r\n var _intervalIEDialogPos;\r\n var __PosCount = 0;\r\n function setIEDialogPos(){\r\n __PosCount++;\r\n var _scrollHeight = document.documentElement.scrollHeight;\r\n if(_scrollHeight == 0){\r\n _scrollHeight = document.body.scrollHeight;\r\n }\r\n // if(__PosCount < 1000){\r\n // _scrollHeight = _scrollHeight - 10;\r\n // }\r\n document.getElementById(\"iemask\").style.height = (_scrollHeight + \"px\");\r\n // document.getElementById(\"iemask\").style.height = (document.body.clientHeight + \"px\");\r\n\r\n var scrollTop = window.pageYOffset || document.documentElement.scrollTop;\r\n var _clientHeight = document.documentElement.clientHeight;\r\n if(_clientHeight == 0){\r\n _clientHeight = document.body.clientHeight;\r\n }\r\n var _clientWidth = document.documentElement.clientWidth;\r\n if(_clientWidth == 0){\r\n _clientWidth = document.body.clientWidth;\r\n }\r\n var __top = _clientHeight / 2 - document.getElementById(\"iepopbox\").offsetHeight / 2 + scrollTop;\r\n if(__top < 50){\r\n __top = 50;\r\n }\r\n document.getElementById(\"iepopbox\").style.left = (parseInt(_clientWidth / 2 - document.getElementById(\"iepopbox\").offsetWidth / 2) + \"px\");\r\n document.getElementById(\"iepopbox\").style.top = (parseInt(__top) + \"px\");\r\n }\r\n function showIEDialog(){\r\n AddCssByStyle(_css);\r\n var _html = '
';\r\n _html += '';\r\n _html += '
';\r\n\r\n _html += '
';\r\n _html += '
';\r\n _html += '
';\r\n _html += '
\"\"
';\r\n _html += '
温馨提示:
';\r\n _html += '
您的浏览器版本过低,为了体验网站全部功能,请尽快升级浏览器
若一直不升级浏览器版本,之后可能将无法正常浏览东方财富网站!
';\r\n _html += '
';\r\n _html += '
以下是目前流行的WEB浏览器推荐
';\r\n _html += '
';\r\n _html += '
    ';\r\n _html += '
  • \"\"
    Chrome
  • ';\r\n _html += '
  • \"\"
    Firefox
  • ';\r\n _html += '
  • \"\"
    Edge
  • ';\r\n _html += '
  • \"\"
    360
  • ';\r\n _html += '
';\r\n _html += '
';\r\n _html += '
';\r\n _html += '
';\r\n\r\n _html += '
';\r\n _html += '
';\r\n _html += '
';\r\n\r\n var _div_iemodal = document.createElement(\"div\");\r\n _div_iemodal.className = \"iemodal\";\r\n _div_iemodal.id = \"iemodal\";\r\n document.body.appendChild(_div_iemodal);\r\n _div_iemodal.innerHTML = _html;\r\n\r\n // _intervalIEDialogPos = setInterval(setIEDialogPos, 100);\r\n setIEDialogPos();\r\n setTimeout(function(){\r\n window.scrollTo(0, 0); \r\n }, 100);\r\n \r\n __isshowbox = true;\r\n \r\n document.getElementById(\"iepopboxclose\").onclick = function () {\r\n // _div_iemodal.remove();\r\n // clearInterval(_intervalIEDialogPos);\r\n document.body.removeChild(_div_iemodal); \r\n // document.documentElement.style.overflowY='auto';\r\n }\r\n // document.documentElement.style.overflowY='hidden';\r\n }\r\n\r\n if (navigator.userAgent.indexOf('Trident') > -1 || navigator.userAgent.indexOf(\"Firefox\") > -1 || navigator.userAgent.indexOf(\"Version\") > -1 || navigator.appName == \"Microsoft Internet Explorer\") {\r\n var ieVer = 9999;//IE版本\r\n var firefoxVersion = 9999;//Firefox版本\r\n var safariVersion = 9999;//Safari版本\r\n try {\r\n if(navigator.appName == \"Microsoft Internet Explorer\"){\r\n ieVer = parseInt(navigator.appVersion.split(\";\")[1].replace(/[ ]/g, \"\").replace(\"MSIE\", \"\"));//IE版本\r\n }\r\n } catch (error) {\r\n \r\n }\r\n try {\r\n if(navigator.userAgent.indexOf(\"Firefox\") > -1){\r\n firefoxVersion = parseInt(navigator.userAgent.match(/Firefox\\/(\\d+)/)[1])\r\n }\r\n } catch (error) {\r\n \r\n }\r\n try {\r\n if(navigator.userAgent.indexOf(\"Version\") > -1){\r\n safariVersion = parseInt(navigator.userAgent.match(/Version\\/(\\d+)/)[1])\r\n }\r\n } catch (error) {\r\n \r\n }\r\n if(ieVer <= 8 && !__isshowbox){\r\n //IE5、6、7、8,一直弹\r\n showIEDialog();\r\n }else if((ieVer == 9 || ieVer == 10 || firefoxVersion <= 23 || safariVersion <= 6) && !__isshowbox){\r\n //Internet Explorer 9和10、Safari 6及以下版本、Firefox 23及以下版本,每天弹出一次弹窗\r\n var cookieHours = 24;\r\n cookieHours = cookieHours * 60 * 60;//小时转化为秒\r\n var showiebox= cookies.get('showiebox');\r\n if (!showiebox || showiebox != 'showiebox') {\r\n showIEDialog();\r\n cookies.set('showiebox','showiebox',{domain:location.host,expires:cookieHours});\r\n }\r\n }else if(navigator.userAgent.indexOf('Trident') > -1 && navigator.userAgent.indexOf(\"rv:11.0\") > -1 && !__isshowbox){\r\n //对于IE11用户,每周弹出一次弹窗\r\n var cookieHours = 168;\r\n cookieHours = cookieHours * 60 * 60;//小时转化为秒\r\n var showiebox= cookies.get('showie11box');\r\n if (!showiebox || showiebox != 'showie11box') {\r\n showIEDialog();\r\n cookies.set('showie11box','showie11box',{domain:location.host,expires:cookieHours});\r\n }\r\n }\r\n }\r\n})();\n\n/***/ })\n/******/ ]);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgZTMzMDZhNTQ5NDczMmY3Y2RkNzY/NmVlMiIsIndlYnBhY2s6Ly8vLi9qcy9tb2R1bGVzL2Nvb2tpZS9pbmRleC5qcz84ZWVmIiwid2VicGFjazovLy8uL2pzL3dlYnNpdGVjb21tYW5kLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7UUFBQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTs7O1FBR0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0EsMkNBQTJDLGNBQWM7O1FBRXpEO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0EsS0FBSztRQUNMO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMkJBQTJCLDBCQUEwQixFQUFFO1FBQ3ZELGlDQUFpQyxlQUFlO1FBQ2hEO1FBQ0E7UUFDQTs7UUFFQTtRQUNBLHNEQUFzRCwrREFBK0Q7O1FBRXJIO1FBQ0E7O1FBRUE7UUFDQTs7Ozs7Ozs7QUMvREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsR0FBRztBQUM1Qyx1QkFBdUIsZUFBZTtBQUN0QywwQkFBMEI7QUFDMUIsd0NBQXdDO0FBQ3hDLDZDQUE2QztBQUM3QztBQUNBO0FBQ0E7QUFDQSxnRkFBZ0Y7QUFDaEY7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsMERBQTBELGlCQUFpQjtBQUMzRTtBQUNBO0FBQ0Esa0RBQWtELHNCQUFzQjtBQUN4RSx3Q0FBd0M7QUFDeEMsd0NBQXdDOztBQUV4QztBQUNBO0FBQ0E7QUFDQSx3RUFBd0U7OztBQUd4RSx3R0FBd0c7QUFDeEc7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLHlDQUF5QyxPQUFPO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSx3QkFBd0IsbUJBQW1CO0FBQzNDLDBCQUEwQjtBQUMxQixjQUFjO0FBQ2QsS0FBSztBQUNMO0FBQ0E7QUFDQSw4Q0FBOEM7QUFDOUMsMkNBQTJDLE9BQU87QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUIsMkJBQTJCLG1CQUFtQjtBQUM5Qyw2QkFBNkI7QUFDN0I7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0EsOEVBQThFLEtBQUs7QUFDbkY7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCLG1CQUFtQjtBQUNsRCxpQ0FBaUM7QUFDakMscUJBQXFCO0FBQ3JCLFFBQVE7QUFDUjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdCOzs7Ozs7Ozs7QUN2SUEsY0FBYyxtQkFBTyxDQUFDLENBQXdCO0FBQzlDO0FBQ0E7QUFDQSx1QkFBdUIsZ0JBQWdCLGlCQUFpQixTQUFTLFVBQVUsNERBQTRELFdBQVcsZUFBZSxpQkFBaUIsb0JBQW9CLFVBQVUsU0FBUyx1QkFBdUIsVUFBVSxTQUFTLGdCQUFnQixxQkFBcUIsU0FBUyx3QkFBd0IsYUFBYSxjQUFjLGlCQUFpQiwyQkFBMkIscUJBQXFCLHlCQUF5QixZQUFZLGFBQWEseUJBQXlCLGNBQWMsNkJBQTZCLG1CQUFtQixlQUFlLGtCQUFrQixpQkFBaUIsb0NBQW9DLGtCQUFrQixrQ0FBa0MsbUJBQW1CLGlCQUFpQixpQkFBaUIsZ0JBQWdCLG1DQUFtQyxtQkFBbUIsaUJBQWlCLGVBQWUsa0JBQWtCLDZCQUE2QiwwQkFBMEIsWUFBWSxpQkFBaUIsa0JBQWtCLGtDQUFrQyxrQkFBa0IseUJBQXlCLFNBQVMsZUFBZSxXQUFXLGVBQWUsZ0NBQWdDLG9CQUFvQixtQ0FBbUMsZ0JBQWdCLFdBQVcsa0JBQWtCLFlBQVksWUFBWSxlQUFlLG1EQUFtRCxjQUFjLHFCQUFxQix5QkFBeUIsY0FBYyxXQUFXLG1CQUFtQixlQUFlLDBCQUEwQix1QkFBdUIsWUFBWSxjQUFjLDBCQUEwQixnQkFBZ0IsaUJBQWlCLFlBQVksMEJBQTBCLHdCQUF3QiwwQkFBMEIsbUJBQW1CLFlBQVksVUFBVSxZQUFZLGFBQWEsZ0JBQWdCLFlBQVksY0FBYyx1RUFBdUUsU0FBUyxtQkFBbUIsUUFBUSxPQUFPLFlBQVksYUFBYSxlQUFlLDZEQUE2RCxpQkFBaUIsa0hBQWtIO0FBQ25rRTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx5QkFBeUIsc0NBQXNDLE9BQU8sNENBQTRDOztBQUVsSDtBQUNBLHFCQUFxQiw2QkFBNkIsS0FBSztBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkVBQTJFO0FBQzNFLHVGQUF1RjtBQUN2Rjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUdBQXFHO0FBQ3JHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esb0VBQW9FOztBQUVwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRCO0FBQ0EsS0FBSzs7QUFFTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw4QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUJBQXFCO0FBQ3JCLDhCQUE4QjtBQUM5Qiw2QkFBNkI7QUFDN0I7QUFDQTtBQUNBLHNEQUFzRCwrQ0FBK0M7QUFDckc7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSwwQ0FBMEM7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsK0NBQStDLHlDQUF5QztBQUN4RjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCx5Q0FBeUM7QUFDNUY7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxJIiwiZmlsZSI6IndlYnNpdGVjb21tYW5kLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gaWRlbnRpdHkgZnVuY3Rpb24gZm9yIGNhbGxpbmcgaGFybW9ueSBpbXBvcnRzIHdpdGggdGhlIGNvcnJlY3QgY29udGV4dFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSA0KTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCBlMzMwNmE1NDk0NzMyZjdjZGQ3NiIsIlxyXG52YXIgZ2V0S2V5cyA9IE9iamVjdC5uYW1lcyB8fCBmdW5jdGlvbiAob2JqKSB7XHJcbiAgICAgICAgdmFyIG5hbWVzID0gW10sIG5hbWUgPSAnJztcclxuICAgICAgICBmb3IgKG5hbWUgaW4gb2JqKSB7XHJcbiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkobmFtZSkpIG5hbWVzLnB1c2gobmFtZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuYW1lcztcclxuICAgIH1cclxuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZSkge1xyXG4gICAgcmV0dXJuICEhdmFsdWUgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSc7XHJcbn1cclxuZnVuY3Rpb24gaXNBcnJheSh2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgQXJyYXlcclxufVxyXG5mdW5jdGlvbiB0b0FycmF5KHZhbHVlKSB7XHJcbiAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodmFsdWUpO1xyXG59XHJcbmZ1bmN0aW9uIENvb2tpZSgpIHtcclxuICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiBDb29raWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBDb29raWUoKVxyXG4gICAgfVxyXG4gICAgO1xyXG59XHJcbkNvb2tpZS5wcm90b3R5cGUgPSB7XHJcbiAgICBnZXQ6IGZ1bmN0aW9uIChuYW1lKSB7XHJcbiAgICAgICAgdmFyIG5hbWVFUSA9IG5hbWUgKyBcIj1cIjtcclxuICAgICAgICB2YXIgY2EgPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKTsvL+aKimNvb2tpZeWIhuWJsuaIkOe7hFxyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2EubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgdmFyIGMgPSBjYVtpXTsvL+WPluW+l+Wtl+espuS4slxyXG4gICAgICAgICAgICB3aGlsZSAoYy5jaGFyQXQoMCkgPT0gJyAnKSB7Ly/liKTmlq3kuIDkuIvlrZfnrKbkuLLmnInmsqHmnInliY3lr7znqbrmoLxcclxuICAgICAgICAgICAgICAgIGMgPSBjLnN1YnN0cmluZygxLCBjLmxlbmd0aCk7Ly/mnInnmoTor53vvIzku47nrKzkuozkvY3lvIDlp4vlj5ZcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL+WmguaenOWQq+acieaIkeS7rOimgeeahG5hbWVcclxuICAgICAgICAgICAgaWYgKGMuaW5kZXhPZihuYW1lRVEpID09IDApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoYy5zdWJzdHJpbmcobmFtZUVRLmxlbmd0aCwgYy5sZW5ndGgpKTsvL+ino+eggeW5tuaIquWPluaIkeS7rOimgeWAvFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0sXHJcbiAgICBzZXQ6IGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgICAgIGlmIChpc1BsYWluT2JqZWN0KG5hbWUpKSB7XHJcbiAgICAgICAgICAgIGZvciAodmFyIGsgaW4gbmFtZSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKG5hbWUuaGFzT3duUHJvcGVydHkoaykpIHRoaXMuc2V0KGssIG5hbWVba10sIHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHZhciBvcHQgPSBpc1BsYWluT2JqZWN0KG9wdGlvbnMpID8gb3B0aW9ucyA6IHtleHBpcmVzOiBvcHRpb25zfSxcclxuICAgICAgICAgICAgICAgIGV4cGlyZXMgPSBvcHQuZXhwaXJlcyAhPT0gdW5kZWZpbmVkID8gb3B0LmV4cGlyZXMgOiAnJyxcclxuICAgICAgICAgICAgICAgIGV4cGlyZXNUeXBlID0gdHlwZW9mKGV4cGlyZXMpLFxyXG4gICAgICAgICAgICAgICAgcGF0aCA9IG9wdC5wYXRoICE9PSB1bmRlZmluZWQgPyAnO3BhdGg9JyArIG9wdC5wYXRoIDogJztwYXRoPS8nLFxyXG4gICAgICAgICAgICAgICAgZG9tYWluID0gb3B0LmRvbWFpbiA/ICc7ZG9tYWluPScgKyBvcHQuZG9tYWluIDogJycsXHJcbiAgICAgICAgICAgICAgICBzZWN1cmUgPSBvcHQuc2VjdXJlID8gJztzZWN1cmUnIDogJyc7XHJcblxyXG4gICAgICAgICAgICAvL+i/h+acn+aXtumXtFxyXG4gICAgICAgICAgICBpZiAoZXhwaXJlc1R5cGUgPT09ICdzdHJpbmcnICYmIGV4cGlyZXMgIT09ICcnKSBleHBpcmVzID0gbmV3IERhdGUoZXhwaXJlcyk7XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGV4cGlyZXNUeXBlID09PSAnbnVtYmVyJykgZXhwaXJlcyA9IG5ldyBEYXRlKCtuZXcgRGF0ZSArIDEwMDAgKiBleHBpcmVzKTtcclxuICAgICAgICAgICAgaWYgKGV4cGlyZXMgIT09ICcnICYmICd0b0dNVFN0cmluZycgaW4gZXhwaXJlcykgZXhwaXJlcyA9ICc7ZXhwaXJlcz0nICsgZXhwaXJlcy50b0dNVFN0cmluZygpO1xyXG5cclxuXHJcbiAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IG5hbWUgKyBcIj1cIiArIGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSkgKyBleHBpcmVzICsgcGF0aCArIGRvbWFpbiArIHNlY3VyZTsgICAvL+i9rOeggeW5tui1i+WAvFxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICByZW1vdmU6IGZ1bmN0aW9uIChuYW1lcykge1xyXG4gICAgICAgIG5hbWVzID0gaXNBcnJheShuYW1lcykgPyBuYW1lcyA6IHRvQXJyYXkoYXJndW1lbnRzKTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IG5hbWVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICB0aGlzLnNldChuYW1lc1tpXSwgJycsIC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5hbWVzO1xyXG4gICAgfSxcclxuICAgIGNsZWFyOiBmdW5jdGlvbiAobmFtZSkge1xyXG4gICAgICAgIHJldHVybiBuYW1lID8gdGhpcy5yZW1vdmUobmFtZSkgOiB0aGlzLnJlbW92ZShnZXRLZXlzKHRoaXMuYWxsKCkpKTtcclxuICAgIH0sXHJcbiAgICBkZWw6IGZ1bmN0aW9uIChuYW1lLCBwYXRoLCBkb21haW4pIHtcclxuICAgICAgICBkb2N1bWVudC5jb29raWUgPSBuYW1lICsgXCI9XCIgK1xyXG4gICAgICAgICAgICAoKHBhdGgpID8gXCI7IHBhdGg9XCIgKyBwYXRoIDogXCI7IHBhdGg9L1wiKSArXHJcbiAgICAgICAgICAgICgoZG9tYWluKSA/IFwiOyBkb21haW49XCIgKyBkb21haW4gOiBcIlwiKSArXHJcbiAgICAgICAgICAgIFwiO2V4cGlyZXM9VGh1LCAwMS1KYW4tMTk3MCAwMDowMDowMSBHTVRcIjtcclxuICAgIH0sXHJcbiAgICBhbGw6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBpZiAoZG9jdW1lbnQuY29va2llID09PSAnJykgcmV0dXJuIHt9O1xyXG4gICAgICAgIHZhciBjb29raWVzID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7ICcpLCByZXN1bHQgPSB7fTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGNvb2tpZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgICAgIHZhciBpdGVtID0gY29va2llc1tpXS5zcGxpdCgnPScpO1xyXG4gICAgICAgICAgICByZXN1bHRbZGVjb2RlVVJJQ29tcG9uZW50KGl0ZW1bMF0pXSA9IGRlY29kZVVSSUNvbXBvbmVudChpdGVtWzFdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxufTtcclxuXHJcbnZhciBjb29raWUgPSBmdW5jdGlvbiAobmFtZSwgdmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIHZhciBhcmdtID0gYXJndW1lbnRzO1xyXG4gICAgaWYgKGFyZ20ubGVuZ3RoID09PSAwKSByZXR1cm4gQ29va2llKCkuYWxsKCk7XHJcbiAgICBpZiAoYXJnbS5sZW5ndGggPT09IDEgJiYgbmFtZSA9PT0gbnVsbCkgcmV0dXJuIENvb2tpZSgpLmNsZWFyKCk7XHJcbiAgICBpZiAoYXJnbS5sZW5ndGggPT09IDIgJiYgIXZhbHVlKSByZXR1cm4gQ29va2llKCkuY2xlYXIobmFtZSk7XHJcbiAgICBpZiAodHlwZW9mKG5hbWUpID09ICdzdHJpbmcnICYmICF2YWx1ZSkgcmV0dXJuIENvb2tpZSgpLmdldChuYW1lKTtcclxuICAgIGlmIChpc1BsYWluT2JqZWN0KG5hbWUpIHx8IChhcmdtLmxlbmd0aCA+IDEgJiYgbmFtZSAmJiB2YWx1ZSkpXHJcbiAgICAgICAgcmV0dXJuIENvb2tpZSgpLnNldChuYW1lLCB2YWx1ZSwgb3B0aW9ucyk7XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHJldHVybiBDb29raWUoKS5yZW1vdmUobmFtZSk7XHJcbiAgICByZXR1cm4gQ29va2llKCkuYWxsKCk7XHJcbn1cclxuZm9yICh2YXIgYSBpbiBDb29raWUucHJvdG90eXBlKSBjb29raWVbYV0gPSBDb29raWUucHJvdG90eXBlW2FdO1xyXG5cclxuXHJcbi8vIHZhciBjb29raWVzID0ge1xyXG4vLyAgICAgc2V0OiBmdW5jdGlvbiAobmFtZSwgdmFsdWUsIGV4cGlyZXMsIHBhdGgsIGRvbWFpbikge1xyXG4vLyAgICAgICAgIGV4cGlyZXMgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRpbWUoKSArICgoKHR5cGVvZiBleHBpcmVzID09IFwidW5kZWZpbmVkXCIpID8gMTIgKiA3MjAwIDogZXhwaXJlcykpICogMTAwMCk7XHJcbi8vICAgICAgICAgdmFyIHRlbXBjb29raWUgPSBuYW1lICsgXCI9XCIgKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpICtcclxuLy8gICAgICAgICAgICAgKChleHBpcmVzKSA/IFwiOyBleHBpcmVzPVwiICsgZXhwaXJlcy50b0dNVFN0cmluZygpIDogXCJcIikgK1xyXG4vLyAgICAgICAgICAgICAoKHBhdGgpID8gXCI7IHBhdGg9XCIgKyBwYXRoIDogXCI7IHBhdGg9L1wiKSArXHJcbi8vICAgICAgICAgICAgICgoZG9tYWluKSA/IFwiOyBkb21haW49XCIgKyBkb21haW4gOiBcIlwiKTtcclxuLy8gICAgICAgICAodGVtcGNvb2tpZS5sZW5ndGggPCA0MDk2KSA/IGRvY3VtZW50LmNvb2tpZSA9IHRlbXBjb29raWUgOiBhbGVydChcIlRoZSBjb29raWUgaXMgYmlnZ2VyIHRoYW4gY29va2llIGxhZ3Jlc3RcIik7XHJcbi8vICAgICB9LFxyXG4vL1xyXG4vL1xyXG4vLyAgICAgZ2V0OiBmdW5jdGlvbiAobmFtZSkge1xyXG4vLyAgICAgICAgIHZhciB4YXJyID0gZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoXCIoXnwgKVwiICsgbmFtZSArIFwiPShbXjtdKikoO3wkKVwiKSk7XHJcbi8vICAgICAgICAgaWYgKHhhcnIgIT0gbnVsbClcclxuLy8gICAgICAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh4YXJyWzJdKTtcclxuLy8gICAgICAgICByZXR1cm4gbnVsbDtcclxuLy8gICAgIH0sXHJcbi8vXHJcbi8vICAgICBkZWw6IGZ1bmN0aW9uIChuYW1lLCBwYXRoLCBkb21haW4pIHtcclxuLy8gICAgICAgICBpZiAodGhpcy5nZXQobmFtZSkpXHJcbi8vICAgICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IG5hbWUgKyBcIj1cIiArXHJcbi8vICAgICAgICAgICAgICAgICAoKHBhdGgpID8gXCI7IHBhdGg9XCIgKyBwYXRoIDogXCI7IHBhdGg9L1wiKSArXHJcbi8vICAgICAgICAgICAgICAgICAoKGRvbWFpbikgPyBcIjsgZG9tYWluPVwiICsgZG9tYWluIDogXCJcIikgK1xyXG4vLyAgICAgICAgICAgICAgICAgXCI7ZXhwaXJlcz1UaHUsIDAxLUphbi0xOTcwIDAwOjAwOjAxIEdNVFwiO1xyXG4vLyAgICAgfSxcclxuLy8gICAgIGRheTogZnVuY3Rpb24gKHhkKSB7XHJcbi8vICAgICAgICAgcmV0dXJuIHhkICogMjQgKiAzNjAwO1xyXG4vLyAgICAgfSxcclxuLy8gICAgIGhvdXI6IGZ1bmN0aW9uICh4aCkge1xyXG4vLyAgICAgICAgIHJldHVybiB4aCAqIDM2MDA7XHJcbi8vICAgICB9XHJcbi8vIH07XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IGNvb2tpZTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2pzL21vZHVsZXMvY29va2llL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCAxIiwidmFyIGNvb2tpZXMgPSByZXF1aXJlKCcuL21vZHVsZXMvY29va2llL2luZGV4Jyk7XHJcbihmdW5jdGlvbigpe1xyXG4gIDtcclxuICB2YXIgX2NzcyA9ICcuaWVtb2RhbHtkaXNwbGF5OmlubGluZTt9LmllLXNoZW5namktbWFpbnttYXJnaW46MDtwYWRkaW5nOjA7Zm9udC1mYW1pbHk6XFwnTWljcm9zb2Z0IFlhaGVpXFwnLFxcJ0hpcmFnaW5vIFNhbnMgR0JcXCcsc2ltc3VuO2NvbG9yOiM2NjY7Zm9udC1zaXplOjE0cHg7dGV4dC1hbGlnbjpsZWZ0O30uaWUtc2hlbmdqaS1tYWluIHVse3BhZGRpbmc6MDttYXJnaW46MH0uaWUtc2hlbmdqaS1tYWluIHVsIGxpe3BhZGRpbmc6MDttYXJnaW46MDtsaXN0LXN0eWxlOm5vbmV9LmllLXNoZW5namktbWFpbiBpbWd7Ym9yZGVyOjB9LmllLXNoZW5namktbWFpbiAuZ2xpc3R7d2lkdGg6MTIwMnB4O21hcmdpbjowIGF1dG87cGFkZGluZy10b3A6NjBweH0uaWUtc2hlbmdqaS1tYWluIC5nbGlzdCAucHttYXJnaW46NTBweCAwIDMwcHggMH0uaWUtc2hlbmdqaS1tYWluIC51cGRhdGV7d2lkdGg6ODAwcHg7aGVpZ2h0OjM2MHB4O2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODttYXJnaW46MCBhdXRvfS5pZS1zaGVuZ2ppLW1haW4gLnVwZGF0ZSAudTF7cGFkZGluZy1sZWZ0OjExMHB4O2ZvbnQtc2l6ZToxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctdG9wOjMwcHh9LmllLXNoZW5namktbWFpbiAudXBkYXRlIC51MSAudTFpbWd7cG9zaXRpb246YWJzb2x1dGV9LmllLXNoZW5namktbWFpbiAudXBkYXRlIC51MSAudTF0e3BhZGRpbmctbGVmdDoxMTBweDtwYWRkaW5nLXRvcDoxMnB4O2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjE2cHg7fS5pZS1zaGVuZ2ppLW1haW4gLnVwZGF0ZSAudTEgLnUxdDJ7cGFkZGluZy1sZWZ0OjExMHB4O3BhZGRpbmctdG9wOjEwcHg7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjhweDt9LmllLXNoZW5namktbWFpbiAudXBkYXRlIC51Mntib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkO3dpZHRoOjU4MHB4O21hcmdpbjo0NnB4IGF1dG87cG9zaXRpb246cmVsYXRpdmV9LmllLXNoZW5namktbWFpbiAudXBkYXRlIC51MiBzcGFue3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODt0b3A6LTdweDtwYWRkaW5nOjAgMTBweDtsZWZ0OjE4NXB4O2ZvbnQtc2l6ZToxMnB4fS5pZS1zaGVuZ2ppLW1haW4gLnVwZGF0ZSAuYmxpc3R7cGFkZGluZy1sZWZ0OjEwMHB4O30uaWUtc2hlbmdqaS1tYWluIC51cGRhdGUgLmJsaXN0IGxpe2xpc3Qtc3R5bGU6bm9uZTtmbG9hdDpsZWZ0O3RleHQtYWxpZ246Y2VudGVyO2hlaWdodDo4MHB4O3dpZHRoOjE1MHB4O2ZvbnQtc2l6ZToxMnB4fS5pZS1zaGVuZ2ppLW1haW4gYTpsaW5rLC5pZS1zaGVuZ2ppLW1haW4gYTp2aXNpdGVke2NvbG9yOiMwMDM1OTg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmllLXNoZW5namktbWFpbiBhOmhvdmVye2NvbG9yOiNlYTU0MDR9LmllcG9wYm94IHtwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogODAwMDE7Ym9yZGVyOiAzcHggc29saWQgI2FlY2VlMTtiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO3dpZHRoOjgwMHB4O2hlaWdodDozNjBweDt9LmllcG9wYm94IC5pZXBvcGJveHRpdGxlIHtmb250LXNpemU6IDE0cHg7Zm9udC13ZWlnaHQ6IDcwMDtjb2xvcjogI2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiAjNDY2Yjk4O3BhZGRpbmc6IDhweCAwIDhweCAxMnB4fS5pZXBvcGJveCAuaWVwb3Bib3hjbG9zZSB7cG9zaXRpb246IGFic29sdXRlO3JpZ2h0OiAxMHB4O3RvcDogMTBweDt3aWR0aDogMTJweDtoZWlnaHQ6IDEycHg7Y3Vyc29yOiBwb2ludGVyO2NvbG9yOiAjZmZmO3otaW5kZXg6ODAwMDE7YmFja2dyb3VuZDogdXJsKC8vZzEuZGZjZncuY29tL2czLzIwMTkwNC8yMDE5MDQxNTA5MzAzNy5wbmcpIG5vLXJlcGVhdH0uaWVtYXNrIHtwb3NpdGlvbjogYWJzb2x1dGU7bGVmdDogMDt0b3A6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO3otaW5kZXg6IDgwMDAwO2JhY2tncm91bmQ6IHVybCgvL2cxLmRmY2Z3LmNvbS9nMy8yMDE5MDQvMjAxOTA0MTUwOTMyMjYucG5nKTtfYmFja2dyb3VuZDogMCAwO19maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKGVuYWJsZWQ9dHJ1ZSwgc2l6aW5nTWV0aG9kPXNjYWxlLCBzcmM9XCJpbWcvbWFzay5wbmdcIil9JztcclxuICBmdW5jdGlvbiBBZGRDc3NCeVN0eWxlKGNzc1N0cmluZyl7XHJcbiAgICB2YXIgZG9jPWRvY3VtZW50O1xyXG4gICAgdmFyIHN0eWxlPWRvYy5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XHJcbiAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwidGV4dC9jc3NcIik7XHJcbiAgICBcclxuICAgIGlmKHN0eWxlLnN0eWxlU2hlZXQpe3N0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzc1N0cmluZzt9IGVsc2Uge3ZhciBjc3NUZXh0ID0gZG9jLmNyZWF0ZVRleHROb2RlKGNzc1N0cmluZyk7c3R5bGUuYXBwZW5kQ2hpbGQoY3NzVGV4dCk7fVxyXG4gIFxyXG4gICAgdmFyIGhlYWRzID0gZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKTtcclxuICAgIGlmKGhlYWRzLmxlbmd0aCl7aGVhZHNbMF0uYXBwZW5kQ2hpbGQoc3R5bGUpO31lbHNle2RvYy5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoc3R5bGUpO31cclxuICB9XHJcbiAgdmFyIF9faXNzaG93Ym94ID0gZmFsc2U7XHJcbiAgdmFyIF9pbnRlcnZhbElFRGlhbG9nUG9zO1xyXG4gIHZhciBfX1Bvc0NvdW50ID0gMDtcclxuICBmdW5jdGlvbiBzZXRJRURpYWxvZ1Bvcygpe1xyXG4gICAgX19Qb3NDb3VudCsrO1xyXG4gICAgdmFyIF9zY3JvbGxIZWlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xyXG4gICAgaWYoX3Njcm9sbEhlaWdodCA9PSAwKXtcclxuICAgICAgX3Njcm9sbEhlaWdodCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgLy8gaWYoX19Qb3NDb3VudCA8IDEwMDApe1xyXG4gICAgLy8gICBfc2Nyb2xsSGVpZ2h0ID0gX3Njcm9sbEhlaWdodCAtIDEwO1xyXG4gICAgLy8gfVxyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpZW1hc2tcIikuc3R5bGUuaGVpZ2h0ID0gKF9zY3JvbGxIZWlnaHQgKyBcInB4XCIpO1xyXG4gICAgLy8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpZW1hc2tcIikuc3R5bGUuaGVpZ2h0ID0gKGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0ICsgXCJweFwiKTtcclxuXHJcbiAgICB2YXIgc2Nyb2xsVG9wID0gd2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XHJcbiAgICB2YXIgX2NsaWVudEhlaWdodCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICBpZihfY2xpZW50SGVpZ2h0ID09IDApe1xyXG4gICAgICBfY2xpZW50SGVpZ2h0ID0gZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7XHJcbiAgICB9XHJcbiAgICB2YXIgX2NsaWVudFdpZHRoID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoO1xyXG4gICAgaWYoX2NsaWVudFdpZHRoID09IDApe1xyXG4gICAgICBfY2xpZW50V2lkdGggPSBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoO1xyXG4gICAgfVxyXG4gICAgdmFyIF9fdG9wID0gX2NsaWVudEhlaWdodCAvIDIgLSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImllcG9wYm94XCIpLm9mZnNldEhlaWdodCAvIDIgKyBzY3JvbGxUb3A7XHJcbiAgICBpZihfX3RvcCA8IDUwKXtcclxuICAgICAgX190b3AgPSA1MDtcclxuICAgIH1cclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiaWVwb3Bib3hcIikuc3R5bGUubGVmdCA9IChwYXJzZUludChfY2xpZW50V2lkdGggLyAyIC0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpZXBvcGJveFwiKS5vZmZzZXRXaWR0aCAvIDIpICsgXCJweFwiKTtcclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiaWVwb3Bib3hcIikuc3R5bGUudG9wID0gKHBhcnNlSW50KF9fdG9wKSArIFwicHhcIik7XHJcbiAgfVxyXG4gIGZ1bmN0aW9uIHNob3dJRURpYWxvZygpe1xyXG4gICAgQWRkQ3NzQnlTdHlsZShfY3NzKTtcclxuICAgIHZhciBfaHRtbCA9ICc8ZGl2IGNsYXNzPVwiaWVwb3Bib3hcIiBpZD1cImllcG9wYm94XCIgc3R5bGU9XCJ6LWluZGV4OiA4MDAwMTtcIj4nO1xyXG4gICAgX2h0bWwgKz0gJzxhIHRpdGxlPVwi5YWz6ZetXCIgY2xhc3M9XCJpZXBvcGJveGNsb3NlXCIgaWQ9XCJpZXBvcGJveGNsb3NlXCIgaHJlZj1cImphdmFzY3JpcHQ6O1wiIHRhcmdldD1cIl9zZWxmXCI+PC9hPic7XHJcbiAgICBfaHRtbCArPSAnPGRpdiBjbGFzcz1cImllcG9wYm94Ym9keVwiPic7XHJcblxyXG4gICAgX2h0bWwgKz0gJzxkaXYgY2xhc3M9XCJpZS1zaGVuZ2ppLW1haW5cIj4nO1xyXG4gICAgX2h0bWwgKz0gJyAgICA8ZGl2IGNsYXNzPVwidXBkYXRlXCI+JztcclxuICAgIF9odG1sICs9ICcgICAgICAgIDxkaXYgY2xhc3M9XCJ1MVwiPic7XHJcbiAgICBfaHRtbCArPSAnICAgICAgICAgICAgPGRpdiBjbGFzcz1cInUxaW1nXCI+PGltZyBzcmM9XCIvL2cxLmRmY2Z3LmNvbS9nMy8yMDE5MDQvMjAxOTA0MTIxOTA1MzUucG5nXCIgYWx0PVwiXCI+PC9kaXY+JztcclxuICAgIF9odG1sICs9ICcgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidTF0XCI+5rip6aao5o+Q56S677yaPC9kaXY+JztcclxuICAgIF9odG1sICs9ICcgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidTF0MlwiPuaCqOeahOa1j+iniOWZqOeJiOacrOi/h+S9ju+8jOS4uuS6huS9k+mqjOe9keermeWFqOmDqOWKn+iDve+8jOivt+WwveW/q+WNh+e6p+a1j+iniOWZqDxicj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDA7XCI+6Iul5LiA55u05LiN5Y2H57qn5rWP6KeI5Zmo54mI5pys77yM5LmL5ZCO5Y+v6IO95bCG5peg5rOV5q2j5bi45rWP6KeI5Lic5pa56LSi5a+M572R56uZ77yBPC9zcGFuPjwvZGl2Pic7XHJcbiAgICBfaHRtbCArPSAnICAgICAgICA8L2Rpdj4nO1xyXG4gICAgX2h0bWwgKz0gJyAgICAgICAgPGRpdiBjbGFzcz1cInUyXCI+PHNwYW4+5Lul5LiL5piv55uu5YmN5rWB6KGM55qEV0VC5rWP6KeI5Zmo5o6o6I2QPC9zcGFuPjwvZGl2Pic7XHJcbiAgICBfaHRtbCArPSAnICAgICAgICA8ZGl2IGNsYXNzPVwiYmxpc3RcIj4nO1xyXG4gICAgX2h0bWwgKz0gJyAgICAgICAgICAgIDx1bD4nO1xyXG4gICAgX2h0bWwgKz0gJyAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj1cIi8vd3d3Lmdvb2dsZS5jbi9jaHJvbWUvXCI+PGltZyBzcmM9XCIvL2cxLmRmY2Z3LmNvbS9nMy8yMDE5MDQvMjAxOTA0MTIxOTA1NTkucG5nXCIgYWx0PVwiXCI+PGJyPkNocm9tZTwvYT48L2xpPic7XHJcbiAgICBfaHRtbCArPSAnICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPVwiLy93d3cubW96aWxsYS5vcmcvemgtQ04vZmlyZWZveC9uZXcvXCI+PGltZyBzcmM9XCIvL2cxLmRmY2Z3LmNvbS9nMy8yMDE5MDQvMjAxOTA0MTIxOTA2MTAucG5nXCIgYWx0PVwiXCI+PGJyPkZpcmVmb3g8L2E+PC9saT4nO1xyXG4gICAgX2h0bWwgKz0gJyAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj1cIi8vc3VwcG9ydC5taWNyb3NvZnQuY29tL3poLWNuL21pY3Jvc29mdC1lZGdlXCI+PGltZyBzcmM9XCIvL2cxLmRmY2Z3LmNvbS9nNC8yMDIzMDkvMjAyMzA5MDIxMTA1MTEucG5nXCIgYWx0PVwiXCI+PGJyPkVkZ2U8L2E+PC9saT4nO1xyXG4gICAgX2h0bWwgKz0gJyAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj1cIi8vYnJvd3Nlci4zNjAuY24vXCI+PGltZyBzcmM9XCIvL2cxLmRmY2Z3LmNvbS9nMy8yMDE5MDQvMjAxOTA0MTcxNDMyNDAucG5nXCIgYWx0PVwiXCI+PGJyPjM2MDwvYT48L2xpPic7XHJcbiAgICBfaHRtbCArPSAnICAgICAgICAgICAgPC91bD4nO1xyXG4gICAgX2h0bWwgKz0gJyAgICAgICAgPC9kaXY+JztcclxuICAgIF9odG1sICs9ICcgICAgPC9kaXY+JztcclxuICAgIF9odG1sICs9ICc8L2Rpdj4nO1xyXG5cclxuICAgIF9odG1sICs9ICc8L2Rpdj4nO1xyXG4gICAgX2h0bWwgKz0gJzwvZGl2Pic7XHJcbiAgICBfaHRtbCArPSAnPGRpdiBjbGFzcz1cImllbWFza1wiIGlkPVwiaWVtYXNrXCIgc3R5bGU9XCJ6LWluZGV4OiA4MDAwMDtcIj48L2Rpdj4nO1xyXG5cclxuICAgIHZhciBfZGl2X2llbW9kYWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgX2Rpdl9pZW1vZGFsLmNsYXNzTmFtZSA9IFwiaWVtb2RhbFwiO1xyXG4gICAgX2Rpdl9pZW1vZGFsLmlkID0gXCJpZW1vZGFsXCI7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKF9kaXZfaWVtb2RhbCk7XHJcbiAgICBfZGl2X2llbW9kYWwuaW5uZXJIVE1MID0gX2h0bWw7XHJcblxyXG4gICAgLy8gX2ludGVydmFsSUVEaWFsb2dQb3MgPSBzZXRJbnRlcnZhbChzZXRJRURpYWxvZ1BvcywgMTAwKTtcclxuICAgIHNldElFRGlhbG9nUG9zKCk7XHJcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7XHJcbiAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTsgIFxyXG4gICAgfSwgMTAwKTtcclxuICAgIFxyXG4gICAgX19pc3Nob3dib3ggPSB0cnVlO1xyXG4gIFxyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpZXBvcGJveGNsb3NlXCIpLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIC8vIF9kaXZfaWVtb2RhbC5yZW1vdmUoKTtcclxuICAgICAgLy8gY2xlYXJJbnRlcnZhbChfaW50ZXJ2YWxJRURpYWxvZ1Bvcyk7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoX2Rpdl9pZW1vZGFsKTsgICAgICBcclxuICAgICAgLy8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLm92ZXJmbG93WT0nYXV0byc7XHJcbiAgICB9XHJcbiAgICAvLyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3dZPSdoaWRkZW4nO1xyXG4gIH1cclxuXHJcbiAgaWYgKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignVHJpZGVudCcpID4gLTEgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKFwiRmlyZWZveFwiKSA+IC0xIHx8IG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIlZlcnNpb25cIikgPiAtMSB8fCBuYXZpZ2F0b3IuYXBwTmFtZSA9PSBcIk1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlclwiKSB7XHJcbiAgICB2YXIgaWVWZXIgPSA5OTk5Oy8vSUXniYjmnKxcclxuICAgIHZhciBmaXJlZm94VmVyc2lvbiA9IDk5OTk7Ly9GaXJlZm9454mI5pysXHJcbiAgICB2YXIgc2FmYXJpVmVyc2lvbiA9IDk5OTk7Ly9TYWZhcmnniYjmnKxcclxuICAgIHRyeSB7XHJcbiAgICAgIGlmKG5hdmlnYXRvci5hcHBOYW1lID09IFwiTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyXCIpe1xyXG4gICAgICAgIGllVmVyID0gcGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24uc3BsaXQoXCI7XCIpWzFdLnJlcGxhY2UoL1sgXS9nLCBcIlwiKS5yZXBsYWNlKFwiTVNJRVwiLCBcIlwiKSk7Ly9JReeJiOacrFxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBcclxuICAgIH1cclxuICAgIHRyeSB7XHJcbiAgICAgIGlmKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcIkZpcmVmb3hcIikgPiAtMSl7XHJcbiAgICAgICAgZmlyZWZveFZlcnNpb24gPSBwYXJzZUludChuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9GaXJlZm94XFwvKFxcZCspLylbMV0pXHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgaWYobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKFwiVmVyc2lvblwiKSA+IC0xKXtcclxuICAgICAgICBzYWZhcmlWZXJzaW9uID0gcGFyc2VJbnQobmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVmVyc2lvblxcLyhcXGQrKS8pWzFdKVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBcclxuICAgIH1cclxuICAgIGlmKGllVmVyIDw9IDggJiYgIV9faXNzaG93Ym94KXtcclxuICAgICAgLy9JRTXjgIE244CBN+OAgTjvvIzkuIDnm7TlvLlcclxuICAgICAgc2hvd0lFRGlhbG9nKCk7XHJcbiAgICB9ZWxzZSBpZigoaWVWZXIgPT0gOSB8fCBpZVZlciA9PSAxMCB8fCBmaXJlZm94VmVyc2lvbiA8PSAyMyB8fCBzYWZhcmlWZXJzaW9uIDw9IDYpICYmICFfX2lzc2hvd2JveCl7XHJcbiAgICAgIC8vSW50ZXJuZXQgRXhwbG9yZXIgOeWSjDEw44CBU2FmYXJpIDblj4rku6XkuIvniYjmnKzjgIFGaXJlZm94IDIz5Y+K5Lul5LiL54mI5pys77yM5q+P5aSp5by55Ye65LiA5qyh5by556qXXHJcbiAgICAgIHZhciBjb29raWVIb3VycyA9IDI0O1xyXG4gICAgICBjb29raWVIb3VycyA9IGNvb2tpZUhvdXJzICogNjAgKiA2MDsvL+Wwj+aXtui9rOWMluS4uuenklxyXG4gICAgICB2YXIgc2hvd2llYm94PSBjb29raWVzLmdldCgnc2hvd2llYm94Jyk7XHJcbiAgICAgIGlmICghc2hvd2llYm94IHx8IHNob3dpZWJveCAhPSAnc2hvd2llYm94Jykge1xyXG4gICAgICAgICAgc2hvd0lFRGlhbG9nKCk7XHJcbiAgICAgICAgICBjb29raWVzLnNldCgnc2hvd2llYm94Jywnc2hvd2llYm94Jyx7ZG9tYWluOmxvY2F0aW9uLmhvc3QsZXhwaXJlczpjb29raWVIb3Vyc30pO1xyXG4gICAgICB9XHJcbiAgICB9ZWxzZSBpZihuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ1RyaWRlbnQnKSA+IC0xICYmIG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihcInJ2OjExLjBcIikgPiAtMSAmJiAhX19pc3Nob3dib3gpe1xyXG4gICAgICAvL+WvueS6jklFMTHnlKjmiLfvvIzmr4/lkajlvLnlh7rkuIDmrKHlvLnnqpdcclxuICAgICAgdmFyIGNvb2tpZUhvdXJzID0gMTY4O1xyXG4gICAgICBjb29raWVIb3VycyA9IGNvb2tpZUhvdXJzICogNjAgKiA2MDsvL+Wwj+aXtui9rOWMluS4uuenklxyXG4gICAgICB2YXIgc2hvd2llYm94PSBjb29raWVzLmdldCgnc2hvd2llMTFib3gnKTtcclxuICAgICAgaWYgKCFzaG93aWVib3ggfHwgc2hvd2llYm94ICE9ICdzaG93aWUxMWJveCcpIHtcclxuICAgICAgICAgIHNob3dJRURpYWxvZygpO1xyXG4gICAgICAgICAgY29va2llcy5zZXQoJ3Nob3dpZTExYm94Jywnc2hvd2llMTFib3gnLHtkb21haW46bG9jYXRpb24uaG9zdCxleHBpcmVzOmNvb2tpZUhvdXJzfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0pKCk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9qcy93ZWJzaXRlY29tbWFuZC5qc1xuLy8gbW9kdWxlIGlkID0gNFxuLy8gbW9kdWxlIGNodW5rcyA9IDEiXSwic291cmNlUm9vdCI6IiJ9"],"names":["modules","installedModules","__webpack_require__","moduleId","exports","module","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","getKeys","names","obj","push","isPlainObject","toString","Cookie","this","nameEQ","ca","document","cookie","split","length","charAt","substring","indexOf","decodeURIComponent","set","options","k","opt","expires","undefined","expiresType","path","domain","secure","Date","toGMTString","encodeURIComponent","remove","Array","arguments","slice","clear","all","del","cookies","result","item","a","argm","__isshowbox","showIEDialog","cssString","cssText","doc","style","createElement","setAttribute","styleSheet","createTextNode","appendChild","heads","getElementsByTagName","documentElement","AddCssByStyle","_div_iemodal","className","id","body","innerHTML","_html","__PosCount","_scrollHeight","scrollHeight","getElementById","height","scrollTop","window","pageYOffset","_clientHeight","clientHeight","_clientWidth","clientWidth","__top","offsetHeight","left","parseInt","offsetWidth","top","setIEDialogPos","setTimeout","scrollTo","onclick","removeChild","navigator","userAgent","appName","cookieHours","showiebox","ieVer","firefoxVersion","safariVersion","appVersion","replace","error","match","location","host"],"mappings":"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"}