{"version":3,"sources":["index.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 = 5);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n// 返回顶部\r\n \r\nvar browser = {\r\n isie6: function (){\r\n return document.all && !window.XMLHttpRequest;\r\n }\r\n};\r\n\r\nvar fixedBodyWidth = window.emRightBodyWidth || 1000;\r\nvar backtopheight = window.backTopHeight || 500;\r\n\r\nvar isie6 = browser.isie6();\r\n\r\nvar backtop = {\r\n init: function () {\r\n this.create();\r\n this.bind();\r\n },\r\n create : function () {\r\n var fixWidth = fixedBodyWidth / 2 + 10;\r\n var backtopcss = '#embacktop {width: 18px;position: fixed;bottom: 250px;left: 50%;margin-left:' + fixWidth +'px;text-align: center;_position: absolute;z-index: 9999;display: none;_position: absolute;}#embacktop #backtophq, #embacktop #backtopyj, #embacktop #gotop {display: block;width: 50px;height: 51px;background: url(//g1.dfcfw.com/g2/201607/20160728143011.png) no-repeat;font-size: 12px;}#embacktop #backtophq {background-position: 0 0;color: #fff;text-decoration: none;padding-top: 35px;height: 16px;} #embacktop #backtophq:hover {background-position: -50px 0;}#embacktop #backtophq.on {background-position: -102px -2px;background-color: #3A5E95;} #embacktop #backtopyj {background-position: 0 -115px;color: #fff;text-decoration: none;height: 51px;margin-top: 4px;}#embacktop #backtopyj:hover {background-position: -60px -115px;}#embacktop #gotop {background-position: 0 -50px;margin-top: 4px;display: block;}#embacktop #gotop:hover {background-position: -50px -50px;}#embacktop #backtopsearch {position: absolute;left: -237px;top: 0;background-color: #3A5E95;height: 36px;width: 238px;display: none;padding-top: 15px;}#embacktop #backtopsearch form {margin: 0;padding: 0;display: inline;position: relative;}#embacktop #backtopsearch input {width: 123px;padding: 4px;font-size: 12px;font-family: simsun;border: 0;height: 16px;vertical-align: middle;}#embacktop #backtopsearch #backtopsearchsbm {border-style: none;border-color: inherit;border-width: 0;width: 60px;color: #315895;height: 24px;background: url(//g1.dfcfw.com/g2/201607/20160728143011.png) 5px -174px no-repeat #BBD4E8;text-align: right;padding-right: 7px;vertical-align: middle;cursor: pointer;}';\r\n this.backtop = '行情
';\r\n var _style = document.createElement(\"style\");\r\n _style.type = \"text/css\";\r\n if(_style.styleSheet){ //ie下\r\n _style.styleSheet.cssText = backtopcss;\r\n } else {\r\n _style.innerHTML = backtopcss;\r\n }\r\n var _backtop = document.createElement(\"div\");\r\n _backtop.id = \"embacktop\";\r\n _backtop.innerHTML = this.backtop;\r\n document.body.appendChild(_style);\r\n document.body.appendChild(_backtop);\r\n },\r\n open: false,\r\n bind: function () {\r\n var _this = this;\r\n // 行情查询\r\n this.btnsearch = document.getElementById(\"backtopsearchsbm\");\r\n this.btnsearch.onclick = function(){\r\n var backtopsearchinput = document.getElementById(\"backtopsearchinput\");\r\n var _value = backtopsearchinput.value;\r\n if (_value != \"\" && _value != \"代码/名称/拼音\") {\r\n _value = encodeURI(_value);\r\n window.open('http://quote.eastmoney.com/search.html?stockcode=' + _value);\r\n }\r\n else {\r\n backtopsearchinput.focus();\r\n }\r\n };\r\n\r\n // 隐藏、显示行情\r\n this.backtophq = document.getElementById('backtophq');\r\n this.backtopsearch = document.getElementById('backtopsearch');\r\n this.backtophq.onclick = function() {\r\n if (_this.open) {\r\n this.className = \"\";\r\n _this.backtopsearch.style.display = \"none\";\r\n _this.open = false;\r\n }\r\n else {\r\n this.className = \"on\";\r\n _this.backtopsearch.style.display = \"block\";\r\n _this.open = true;\r\n }\r\n\r\n };\r\n\r\n if (typeof StockSuggest != \"undefined\") {\r\n var arg = {\r\n text: \"代码/名称/拼音\",\r\n autoSubmit: false,\r\n width: 235,\r\n type: \"CNSTOCK\",\r\n header: [\"选项\", \"代码\", \"名称\", \"类型\"],\r\n body: [-1, 1, 4, -2],\r\n callback: function (ag) {\r\n window.open('http://quote.eastmoney.com/' + ag.code + '.html');\r\n return false;\r\n }\r\n };\r\n s1001 = new StockSuggest(\"backtopsearchinput\", arg);\r\n }\r\n\r\n setInterval(function () {\r\n if (isie6) {\r\n document.getElementById(\"embacktop\").style.bottom = \"auto\";\r\n document.getElementById(\"embacktop\").style.top = document.documentElement.scrollTop + 500;\r\n }\r\n if ((document.documentElement.scrollTop + document.body.scrollTop) > backtopheight) {\r\n document.getElementById(\"embacktop\").style.display = \"block\";\r\n //_this.backtop.fadeIn();\r\n }\r\n else {\r\n document.getElementById(\"embacktop\").style.display = \"none\";\r\n //_this.backtop.fadeOut();\r\n }\r\n\r\n return true;\r\n }, 500);\r\n }\r\n}\r\n\r\nbacktop.init();\r\n\r\nmodule.exports = backtop;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nvar $menu = $('.menu');\r\n\r\n $menu.on('mouseover', '.menu-list', function () {\r\n var $this = $(this);\r\n $this.addClass('active');\r\n });\r\n $menu.on('mouseout', '.menu-list', function () {\r\n var $this = $(this);\r\n $this.removeClass('active');\r\n });\r\n $('#searchKey').keydown(function (event) {\r\n if (event.keyCode == 13) {\r\n $(\"#searchbtn\").click();\r\n }\r\n });\r\n\r\n $('#searchbtn').click(function () {\r\n var url = \"http://so.eastmoney.com/life/s?KeyWord=\";\r\n if (($('#searchKey').val().length) == 0) {\r\n var val = unescape($('#searchKey').attr(\"data-val\"));\r\n window.open(url + encodeURIComponent(val));\r\n } else {\r\n window.open(url + encodeURIComponent($('#searchKey').val()));\r\n }\r\n\r\n\r\n });\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction bindlist() {\r\n // var $rank = $('.list-rank');\r\n // var $items = $rank.find('li');\r\n // var $title = $(\".card-head>span\");\r\n\r\n // $title.on('mouseover', function () {\r\n // console.log(456)\r\n // var _index = $(this).index();\r\n // $(this).addClass(\"active\").siblings().removeClass(\"active\");\r\n // $('.rank-content .list-rank').eq(_index).show().siblings().hide();\r\n // })\r\n \r\n // $items.on('mouseover', function () {\r\n // var $this = $(this);\r\n // $this.addClass('active').siblings().removeClass('active');\r\n // });\r\n\r\n var $rank = $('#card-rank');\r\n $rank.on('mouseenter','.card-title',function(){\r\n var _index = $(this).index();\r\n $(this).addClass(\"active\").siblings().removeClass(\"active\");\r\n $('.rank-content .list',$rank).eq(_index).fadeIn().addClass('active').siblings().hide();\r\n })\r\n\r\n}\r\n\r\n\r\nbindlist();\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nvar $slider = $('.silder');\r\nvar $items = $('.silder-items');\r\nvar timer = null; \r\nvar $thumbnail = $slider.find('.silder-thumbnail-c');\r\nvar link = $(\".silder-thumbnail-c\").eq(0).find(\"a\").attr(\"href\");\r\nvar $silderSelect = $(\".silder-thumbnail-selected\");\r\n$silderSelect.attr(\"href\", link);\r\nvar $thumblktg = $slider.find('.lktg');\r\n//autoRun(0);\r\n$thumbnail.on('mouseover', debounce(showHandle, 0));\r\n//$thumbnail.on('mouseover', showHandle);\r\n$thumbnail.on('mouseleave', function () {\r\n //var index = $(this).index();\r\n //autoRun(index);\r\n});\r\n$thumblktg.on('mouseover', function () {\r\n $(this).find(\"img\").css(\"display\",\"block\");\r\n})\r\n$thumblktg.on('mouseleave', function () {\r\n $(this).find(\"img\").hide();\r\n})\r\n//var i = 0;\r\n//var timerMouse = setInterval(function () {\r\n \r\n// if (i < 4) {\r\n// $(\".silder-thumbnail-c\").eq(i).trigger(\"mouseover\");\r\n \r\n// } else {\r\n// i = 0\r\n// $(\".silder-thumbnail-c\").eq(i).trigger(\"mouseover\");\r\n// }\r\n// i++;\r\n// console.log(i);\r\n//}, 800)\r\n\r\nfunction showHandle() {\r\n var $this = $(this);\r\n var index = $this.index();\r\n show(index);\r\n clearInterval(timer);\r\n}\r\n\r\nfunction show(index) {\r\n var position = index * 368;\r\n\r\n $silderSelect.animate({\r\n top: index * 91\r\n }, 'fast'); \r\n $items.animate({\r\n scrollTop: position\r\n }, 'fast');\r\n var Href = $(\".silder-items-c\").eq(index).find(\"a\").attr(\"href\");\r\n $silderSelect.attr(\"href\", Href);\r\n}\r\n\r\nfunction autoRun(index) {\r\n var step = index;\r\n timer = setInterval(function () {\r\n if (step >= 4) {\r\n step = 0;\r\n }\r\n\r\n show(step);\r\n\r\n step++;\r\n }, 5000);\r\n}\r\n\r\n\r\nfunction debounce(fn, delay) {\r\n var timer = null;\r\n return function () {\r\n var context = this;\r\n var args = arguments;\r\n clearTimeout(timer);\r\n \r\n timer = setTimeout(function () {\r\n fn.apply(context, args);\r\n }, delay); \r\n };\r\n}\n\n/***/ }),\n/* 4 */,\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\r\n\r\nvar channelName = $(\"#channelname\").val();\r\nvar URL = '/Home/LoadChannelIndexList';\r\n// var URL = '/LoadChannelIndexList';\r\n\r\nvar __isZhaiBa = location.host.indexOf('zhaiba.com') >= 0;\r\nif(__isZhaiBa){//zhaiba.com修改备案号\r\n $(\".footercr a[rel=\\\"nofollow\\\"]\").eq(0).html(\"网站备案号:沪ICP备05006054号-13\")\r\n}\r\n\r\n//文章列表\r\nvar list = {\r\n getFetchData:function(page){\r\n if(__isZhaiBa){//zhaiba.com不加载更多\r\n return;\r\n }\r\n\r\n var _self =this;\r\n _self.loading();\r\n page = page || 1;\r\n $.ajax({\r\n url: URL,\r\n data: {\r\n times: page,\r\n channelname: channelName\r\n },\r\n type: 'get',\r\n success: function (data) {\r\n _self.renderTemplate(data);\r\n $('.loading').remove();\r\n },\r\n error: function (error) {\r\n console && console.log(error);\r\n }\r\n })\r\n },\r\n renderTemplate:function(data){\r\n var _self = this;\r\n if (!!data && data.length > 0) {\r\n var html = '';\r\n for (var i = 0; i < data.length; i++) {\r\n var newData = _self.covert(data[i]);\r\n html += '
  • ' +\r\n newData.image + '
    ' + newData.digest + '
    ' + newData.typeHtml + ' ' + newData.mediaName + ' ' + newData.showTime + '
  • ';\r\n }\r\n \r\n $('.page-media-list').append(html);\r\n _self.textEllipsis('.page-media-list .item-text');\r\n } \r\n },\r\n covert:function(data){\r\n var _self = this;\r\n var URL = \"\";\r\n if(data.Art_UniqueUrl){\r\n URL = data.Art_UniqueUrl\r\n }else if(data.Life_Url){\r\n URL = data.Life_Url\r\n }\r\n return {\r\n title: data.Art_Title || '',\r\n url: URL,\r\n image: _self.getImg(data.Art_Image,URL) || '',\r\n // digest: data.Art_Digest,\r\n mediaName: data.Art_Media_Name || '',\r\n digest: data.Life_Digest || '',\r\n showTime: data.Art_OrderTime || '',\r\n type: data.Art_Key || '',\r\n typeCSS: data.Life_LableCss || 'tag-default',\r\n typeHtml: data.Life_ColumnName || '',\r\n typeUrl: data.Life_ColumnUrl || '',\r\n typeClass: 'default'\r\n }\r\n },\r\n getImg:function(imgurl, url){\r\n if (imgurl) {\r\n return '
    ';\r\n } else {\r\n return '';\r\n }\r\n },\r\n textEllipsis:function(ele){\r\n $(ele).each(function () {\r\n var $this = $(this);\r\n var line = Math.round($this.height() / parseFloat($this.css('line-height'))) + 0;\r\n //var num = Math.round($this.width() / parseFloat($this.css('font-size'))) * line;\r\n var num = $this.text().length;\r\n var oneLineNum = Math.round($this.width() / parseFloat($this.css('font-size')));\r\n var newText = $this.text().substring(0, oneLineNum * 2 - 3);\r\n if (num > (oneLineNum * line)) {\r\n $this.text(newText + '...');\r\n }\r\n })\r\n },\r\n loading:function(){\r\n\r\n },\r\n loadLangkeAd:function(){\r\n var _self =this;\r\n $.ajax({\r\n url:'https://sns.lvb.eastmoney.com/lvbcooperation/api/Channel/GetPromoteLive',\r\n type:'get',\r\n dataType:'jsonp',\r\n success:function(json){\r\n console.log(json,123123)\r\n if(json.result === 1){\r\n var data = json.data;\r\n if(data.title!=='' && data.video_img !== '' && data.video_link_url !== '' && data.tag !== ''){\r\n var html = $('
  • '+\r\n '
    '+\r\n '
    '+data.tag+''+data.username+'
  • ');\r\n $('.page-media-list li').eq(0).after(html);\r\n console.log(1231231212)\r\n html.click(function(e){\r\n e.preventDefault()\r\n window.open(data.video_link_url)\r\n })\r\n $('.tag',html).click(function(e){\r\n e.preventDefault(); // 阻止默认事件\r\n e.stopPropagation(); // 阻止冒泡\r\n window.open(data.tag_url)\r\n })\r\n }\r\n }\r\n },\r\n error:function(){\r\n console.log('error123123')\r\n }\r\n })\r\n },\r\n autoLoadArticleList:function(){\r\n var range = 300;\r\n var maxnum = 50;\r\n var num = 1;\r\n var totalheight = 0;\r\n var _self = this;\r\n\r\n $(window).scroll(_self.debounce(function () {\r\n var srollPos = $(window).scrollTop();\r\n totalheight = parseFloat($(window).height()) + parseFloat(srollPos);\r\n if (($(document).height() - range) <= totalheight && num < maxnum) {\r\n _self.getFetchData(num);\r\n num++;\r\n }\r\n }, 500));\r\n },\r\n debounce:function(fn,delay){\r\n var timer = null;\r\n return function () {\r\n var context = this;\r\n var args = arguments;\r\n \r\n clearTimeout(timer);\r\n timer = setTimeout(function () {\r\n fn.apply(context, args);\r\n }, delay);\r\n };\r\n },\r\n init:function(){\r\n // this.loadLangkeAd();\r\n this.autoLoadArticleList();\r\n this.textEllipsis('.page-media-list .item-text');\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n$(function(){\r\n\r\n __webpack_require__(1);\r\n__webpack_require__(2);\r\n__webpack_require__(3);\r\n// require('./modules/loadList');\r\n__webpack_require__(0);\r\n// require('./modules/hotLabel');\r\n// require('./modules/langkeAd')\r\n\r\n list.init();\r\n})\n\n/***/ })\n/******/ ]);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgMzE5OTNkYWEyMDZkMjdmODkxZjEiLCJ3ZWJwYWNrOi8vLy4vanMvbW9kdWxlcy9iYWNrVG9wL2luZGV4LmpzIiwid2VicGFjazovLy8uL2pzL21vZHVsZXMvbWVudS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9qcy9tb2R1bGVzL3JhbmsvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vanMvbW9kdWxlcy9zaWxkZXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vanMvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtRQUFBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBOzs7UUFHQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQSwyQ0FBMkMsY0FBYzs7UUFFekQ7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQSxLQUFLO1FBQ0w7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwyQkFBMkIsMEJBQTBCLEVBQUU7UUFDdkQsaUNBQWlDLGVBQWU7UUFDaEQ7UUFDQTtRQUNBOztRQUVBO1FBQ0Esc0RBQXNELCtEQUErRDs7UUFFckg7UUFDQTs7UUFFQTtRQUNBOzs7Ozs7O0FDaEVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0Esc0NBQXNDLFlBQVksZ0JBQWdCLGNBQWMsVUFBVSw4QkFBOEIsbUJBQW1CLG9CQUFvQixjQUFjLGNBQWMscUJBQXFCLGlFQUFpRSxlQUFlLFlBQVksYUFBYSx1RUFBdUUsaUJBQWlCLHVCQUF1Qix5QkFBeUIsWUFBWSxzQkFBc0Isa0JBQWtCLGNBQWMsOEJBQThCLDhCQUE4QiwwQkFBMEIsaUNBQWlDLDJC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LFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDs7QUFFQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlFQUFpRTtBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBLCtDQUErQztBQUMvQyxnREFBZ0Q7QUFDaEQ7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FBT0E7O0FBRUEsSUFBSSxtQkFBTyxDQUFDLENBQWdCO0FBQzVCLG1CQUFPLENBQUMsQ0FBZ0I7QUFDeEIsbUJBQU8sQ0FBQyxDQUFrQjtBQUMxQjtBQUNBLG1CQUFPLENBQUMsQ0FBbUI7QUFDM0I7QUFDQTs7QUFFQTtBQUNBLENBQUMsQyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1vbnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbiBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gNSk7XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgMzE5OTNkYWEyMDZkMjdmODkxZjEiLCIvLyDov5Tlm57pobbpg6hcclxuICBcclxudmFyIGJyb3dzZXIgPSB7XHJcbiAgICBpc2llNjogZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmFsbCAmJiAhd2luZG93LlhNTEh0dHBSZXF1ZXN0O1xyXG4gICAgfVxyXG59O1xyXG5cclxudmFyIGZpeGVkQm9keVdpZHRoID0gd2luZG93LmVtUmlnaHRCb2R5V2lkdGggfHwgMTAwMDtcclxudmFyIGJhY2t0b3BoZWlnaHQgPSB3aW5kb3cuYmFja1RvcEhlaWdodCB8fCA1MDA7XHJcblxyXG52YXIgaXNpZTYgPSBicm93c2VyLmlzaWU2KCk7XHJcblxyXG52YXIgYmFja3RvcCA9IHtcclxuICAgIGluaXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLmNyZWF0ZSgpO1xyXG4gICAgICAgIHRoaXMuYmluZCgpO1xyXG4gICAgfSxcclxuICAgIGNyZWF0ZSA6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgZml4V2lkdGggPSBmaXhlZEJvZHlXaWR0aCAvIDIgKyAxMDtcclxuICAgICAgICB2YXIgYmFja3RvcGNzcyA9ICcjZW1iYWNrdG9wIHt3aWR0aDogMThweDtwb3NpdGlvbjogZml4ZWQ7Ym90dG9tOiAyNTBweDtsZWZ0OiA1MCU7bWFyZ2luLWxlZnQ6JyArIGZpeFdpZHRoICsncHg7dGV4dC1hbGlnbjogY2VudGVyO19wb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTtkaXNwbGF5OiBub25lO19wb3NpdGlvbjogYWJzb2x1dGU7fSNlbWJhY2t0b3AgI2JhY2t0b3BocSwgI2VtYmFja3RvcCAjYmFja3RvcHlqLCAjZW1iYWNrdG9wICNnb3RvcCB7ZGlzcGxheTogYmxvY2s7d2lkdGg6IDUwcHg7aGVpZ2h0OiA1MXB4O2JhY2tncm91bmQ6IHVybCgvL2cxLmRmY2Z3LmNvbS9nMi8yMDE2MDcvMjAxNjA3MjgxNDMwMTEucG5nKSBuby1yZXBlYXQ7Zm9udC1zaXplOiAxMnB4O30jZW1iYWNrdG9wICNiYWNrdG9waHEge2JhY2tncm91bmQtcG9zaXRpb246IDAgMDtjb2xvcjogI2ZmZjt0ZXh0LWRlY29yYXRpb246IG5vbmU7cGFkZGluZy10b3A6IDM1cHg7aGVpZ2h0OiAxNnB4O30gI2VtYmFja3RvcCAjYmFja3RvcGhxOmhvdmVyIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAwO30jZW1iYWNrdG9wICNiYWNrdG9waHEub24ge2JhY2tncm91bmQtcG9zaXRpb246IC0xMDJweCAtMnB4O2JhY2tncm91bmQtY29sb3I6ICMzQTVFOTU7fSAgI2VtYmFja3RvcCAjYmFja3RvcHlqIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTVweDtjb2xvcjogI2ZmZjt0ZXh0LWRlY29yYXRpb246IG5vbmU7aGVpZ2h0OiA1MXB4O21hcmdpbi10b3A6IDRweDt9I2VtYmFja3RvcCAjYmFja3RvcHlqOmhvdmVyIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjBweCAtMTE1cHg7fSNlbWJhY2t0b3AgI2dvdG9wIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01MHB4O21hcmdpbi10b3A6IDRweDtkaXNwbGF5OiBibG9jazt9I2VtYmFja3RvcCAjZ290b3A6aG92ZXIge2JhY2tncm91bmQtcG9zaXRpb246IC01MHB4IC01MHB4O30jZW1iYWNrdG9wICNiYWNrdG9wc2VhcmNoIHtwb3NpdGlvbjogYWJzb2x1dGU7bGVmdDogLTIzN3B4O3RvcDogMDtiYWNrZ3JvdW5kLWNvbG9yOiAjM0E1RTk1O2hlaWdodDogMzZweDt3aWR0aDogMjM4cHg7ZGlzcGxheTogbm9uZTtwYWRkaW5nLXRvcDogMTVweDt9I2VtYmFja3RvcCAjYmFja3RvcHNlYXJjaCBmb3JtIHttYXJnaW46IDA7cGFkZGluZzogMDtkaXNwbGF5OiBpbmxpbmU7cG9zaXRpb246IHJlbGF0aXZlO30jZW1iYWNrdG9wICNiYWNrdG9wc2VhcmNoIGlucHV0IHt3aWR0aDogMTIzcHg7cGFkZGluZzogNHB4O2ZvbnQtc2l6ZTogMTJweDtmb250LWZhbWlseTogc2ltc3VuO2JvcmRlcjogMDtoZWlnaHQ6IDE2cHg7dmVydGljYWwtYWxpZ246IG1pZGRsZTt9I2VtYmFja3RvcCAjYmFja3RvcHNlYXJjaCAjYmFja3RvcHNlYXJjaHNibSB7Ym9yZGVyLXN0eWxlOiBub25lO2JvcmRlci1jb2xvcjogaW5oZXJpdDtib3JkZXItd2lkdGg6IDA7d2lkdGg6IDYwcHg7Y29sb3I6ICMzMTU4OTU7aGVpZ2h0OiAyNHB4O2JhY2tncm91bmQ6IHVybCgvL2cxLmRmY2Z3LmNvbS9nMi8yMDE2MDcvMjAxNjA3MjgxNDMwMTEucG5nKSA1cHggLTE3NHB4IG5vLXJlcGVhdCAjQkJENEU4O3RleHQtYWxpZ246IHJpZ2h0O3BhZGRpbmctcmlnaHQ6IDdweDt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO2N1cnNvcjogcG9pbnRlcjt9JztcclxuICAgICAgICB0aGlzLmJhY2t0b3AgPSAnPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIHRhcmdldD1cIl9zZWxmXCIgaWQ9XCJiYWNrdG9waHFcIj7ooYzmg4U8L2E+PGEgaHJlZj1cImh0dHA6Ly9jb3JwLmVhc3Rtb25leS5jb20vTGlhbnhpX2xpdXlhbi5hc3BcIiB0YXJnZXQ9XCJfYmxhbmtcIiBpZD1cImJhY2t0b3B5alwiIHRpdGxlPVwi5oSP6KeB5Y+N6aaIXCI+PC9hPjxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiB0YXJnZXQ9XCJfc2VsZlwiIGlkPVwiZ290b3BcIiB0aXRsZT1cIuWbnuWIsOmhtumDqFwiIG9uY2xpY2s9XCJ3aW5kb3cuc2Nyb2xsKDAsMCk7cmV0dXJuIGZhbHNlO1wiPjwvYT48ZGl2IGlkPVwiYmFja3RvcHNlYXJjaFwiPjxpbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgaWQ9XCJiYWNrdG9wc2VhcmNoaW5wdXRcIiAvPjxidXR0b24gaWQ9XCJiYWNrdG9wc2VhcmNoc2JtXCI+5p+l6K+iPC9idXR0b24+PC9kaXY+JztcclxuICAgICAgICB2YXIgX3N0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpO1xyXG4gICAgICAgIF9zdHlsZS50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xyXG4gICAgICAgIGlmKF9zdHlsZS5zdHlsZVNoZWV0KXsgICAgICAgICAvL2ll5LiLXHJcbiAgICAgICAgICAgIF9zdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBiYWNrdG9wY3NzO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIF9zdHlsZS5pbm5lckhUTUwgPSBiYWNrdG9wY3NzO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgX2JhY2t0b3AgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgICAgIF9iYWNrdG9wLmlkID0gXCJlbWJhY2t0b3BcIjtcclxuICAgICAgICBfYmFja3RvcC5pbm5lckhUTUwgPSB0aGlzLmJhY2t0b3A7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChfc3R5bGUpO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoX2JhY2t0b3ApO1xyXG4gICAgfSxcclxuICAgIG9wZW46IGZhbHNlLFxyXG4gICAgYmluZDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgLy8g6KGM5oOF5p+l6K+iXHJcbiAgICAgICAgdGhpcy5idG5zZWFyY2ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImJhY2t0b3BzZWFyY2hzYm1cIik7XHJcbiAgICAgICAgdGhpcy5idG5zZWFyY2gub25jbGljayA9IGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIHZhciBiYWNrdG9wc2VhcmNoaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImJhY2t0b3BzZWFyY2hpbnB1dFwiKTtcclxuICAgICAgICAgICAgdmFyIF92YWx1ZSA9IGJhY2t0b3BzZWFyY2hpbnB1dC52YWx1ZTtcclxuICAgICAgICAgICAgaWYgKF92YWx1ZSAhPSBcIlwiICYmIF92YWx1ZSAhPSBcIuS7o+eggS/lkI3np7Av5ou86Z+zXCIpIHtcclxuICAgICAgICAgICAgICAgIF92YWx1ZSA9IGVuY29kZVVSSShfdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oJ2h0dHA6Ly9xdW90ZS5lYXN0bW9uZXkuY29tL3NlYXJjaC5odG1sP3N0b2NrY29kZT0nICsgX3ZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2t0b3BzZWFyY2hpbnB1dC5mb2N1cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgLy8g6ZqQ6JeP44CB5pi+56S66KGM5oOFXHJcbiAgICAgICAgdGhpcy5iYWNrdG9waHEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmFja3RvcGhxJyk7XHJcbiAgICAgICAgdGhpcy5iYWNrdG9wc2VhcmNoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhY2t0b3BzZWFyY2gnKTtcclxuICAgICAgICB0aGlzLmJhY2t0b3BocS5vbmNsaWNrID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIGlmIChfdGhpcy5vcGVuKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsYXNzTmFtZSA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5iYWNrdG9wc2VhcmNoLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcclxuICAgICAgICAgICAgICAgIF90aGlzLm9wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2xhc3NOYW1lID0gXCJvblwiO1xyXG4gICAgICAgICAgICAgICAgX3RoaXMuYmFja3RvcHNlYXJjaC5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xyXG4gICAgICAgICAgICAgICAgX3RoaXMub3BlbiA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiBTdG9ja1N1Z2dlc3QgIT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICB2YXIgYXJnID0ge1xyXG4gICAgICAgICAgICAgICAgdGV4dDogXCLku6PnoIEv5ZCN56ewL+aLvOmfs1wiLFxyXG4gICAgICAgICAgICAgICAgYXV0b1N1Ym1pdDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjM1LFxyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJDTlNUT0NLXCIsXHJcbiAgICAgICAgICAgICAgICBoZWFkZXI6IFtcIumAiemhuVwiLCBcIuS7o+eggVwiLCBcIuWQjeensFwiLCBcIuexu+Wei1wiXSxcclxuICAgICAgICAgICAgICAgIGJvZHk6IFstMSwgMSwgNCwgLTJdLFxyXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChhZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKCdodHRwOi8vcXVvdGUuZWFzdG1vbmV5LmNvbS8nICsgYWcuY29kZSArICcuaHRtbCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgczEwMDEgPSBuZXcgU3RvY2tTdWdnZXN0KFwiYmFja3RvcHNlYXJjaGlucHV0XCIsIGFyZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmIChpc2llNikge1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJlbWJhY2t0b3BcIikuc3R5bGUuYm90dG9tID0gXCJhdXRvXCI7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImVtYmFja3RvcFwiKS5zdHlsZS50b3AgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wICsgNTAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSA+IGJhY2t0b3BoZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZW1iYWNrdG9wXCIpLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XHJcbiAgICAgICAgICAgICAgICAvL190aGlzLmJhY2t0b3AuZmFkZUluKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImVtYmFja3RvcFwiKS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XHJcbiAgICAgICAgICAgICAgICAvL190aGlzLmJhY2t0b3AuZmFkZU91dCgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9LCA1MDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5iYWNrdG9wLmluaXQoKTtcclxuXHJcbm1vZHVsZS5leHBvcnRzID0gYmFja3RvcDtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2pzL21vZHVsZXMvYmFja1RvcC9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAgMSAyIiwidmFyICRtZW51ID0gJCgnLm1lbnUnKTtcclxuXHJcbiAgICAkbWVudS5vbignbW91c2VvdmVyJywgJy5tZW51LWxpc3QnLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTtcclxuICAgICAgICAkdGhpcy5hZGRDbGFzcygnYWN0aXZlJyk7XHJcbiAgICB9KTtcclxuICAgICRtZW51Lm9uKCdtb3VzZW91dCcsICcubWVudS1saXN0JywgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyk7XHJcbiAgICAgICAgJHRoaXMucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xyXG4gICAgfSk7XHJcbiAgICAkKCcjc2VhcmNoS2V5Jykua2V5ZG93bihmdW5jdGlvbiAoZXZlbnQpIHtcclxuICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PSAxMykge1xyXG4gICAgICAgICAgICAkKFwiI3NlYXJjaGJ0blwiKS5jbGljaygpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgICQoJyNzZWFyY2hidG4nKS5jbGljayhmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHVybCA9IFwiaHR0cDovL3NvLmVhc3Rtb25leS5jb20vbGlmZS9zP0tleVdvcmQ9XCI7XHJcbiAgICAgICAgaWYgKCgkKCcjc2VhcmNoS2V5JykudmFsKCkubGVuZ3RoKSA9PSAwKSB7XHJcbiAgICAgICAgICAgIHZhciB2YWwgPSB1bmVzY2FwZSgkKCcjc2VhcmNoS2V5JykuYXR0cihcImRhdGEtdmFsXCIpKTtcclxuICAgICAgICAgICAgd2luZG93Lm9wZW4odXJsICsgZW5jb2RlVVJJQ29tcG9uZW50KHZhbCkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKHVybCArIGVuY29kZVVSSUNvbXBvbmVudCgkKCcjc2VhcmNoS2V5JykudmFsKCkpKTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgIH0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vanMvbW9kdWxlcy9tZW51L2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCAxIDIiLCJmdW5jdGlvbiBiaW5kbGlzdCgpIHtcclxuICAgIC8vIHZhciAkcmFuayA9ICQoJy5saXN0LXJhbmsnKTtcclxuICAgIC8vIHZhciAkaXRlbXMgPSAkcmFuay5maW5kKCdsaScpO1xyXG4gICAgLy8gdmFyICR0aXRsZSA9ICQoXCIuY2FyZC1oZWFkPnNwYW5cIik7XHJcblxyXG4gICAgLy8gJHRpdGxlLm9uKCdtb3VzZW92ZXInLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAvLyAgICAgY29uc29sZS5sb2coNDU2KVxyXG4gICAgLy8gICAgIHZhciBfaW5kZXggPSAkKHRoaXMpLmluZGV4KCk7XHJcbiAgICAvLyAgICAgJCh0aGlzKS5hZGRDbGFzcyhcImFjdGl2ZVwiKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xyXG4gICAgLy8gICAgICQoJy5yYW5rLWNvbnRlbnQgLmxpc3QtcmFuaycpLmVxKF9pbmRleCkuc2hvdygpLnNpYmxpbmdzKCkuaGlkZSgpO1xyXG4gICAgLy8gfSlcclxuICAgIFxyXG4gICAgLy8gJGl0ZW1zLm9uKCdtb3VzZW92ZXInLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAvLyAgICAgdmFyICR0aGlzID0gJCh0aGlzKTtcclxuICAgIC8vICAgICAkdGhpcy5hZGRDbGFzcygnYWN0aXZlJykuc2libGluZ3MoKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7XHJcbiAgICAvLyB9KTtcclxuXHJcbiAgICB2YXIgJHJhbmsgPSAkKCcjY2FyZC1yYW5rJyk7XHJcbiAgICAkcmFuay5vbignbW91c2VlbnRlcicsJy5jYXJkLXRpdGxlJyxmdW5jdGlvbigpe1xyXG4gICAgICAgIHZhciBfaW5kZXggPSAkKHRoaXMpLmluZGV4KCk7XHJcbiAgICAgICAgJCh0aGlzKS5hZGRDbGFzcyhcImFjdGl2ZVwiKS5zaWJsaW5ncygpLnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xyXG4gICAgICAgICQoJy5yYW5rLWNvbnRlbnQgLmxpc3QnLCRyYW5rKS5lcShfaW5kZXgpLmZhZGVJbigpLmFkZENsYXNzKCdhY3RpdmUnKS5zaWJsaW5ncygpLmhpZGUoKTtcclxuICAgIH0pXHJcblxyXG59XHJcblxyXG5cclxuYmluZGxpc3QoKTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2pzL21vZHVsZXMvcmFuay9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAgMSAyIiwidmFyICRzbGlkZXIgPSAkKCcuc2lsZGVyJyk7XHJcbnZhciAkaXRlbXMgPSAkKCcuc2lsZGVyLWl0ZW1zJyk7XHJcbnZhciB0aW1lciA9IG51bGw7ICBcclxudmFyICR0aHVtYm5haWwgPSAkc2xpZGVyLmZpbmQoJy5zaWxkZXItdGh1bWJuYWlsLWMnKTtcclxudmFyIGxpbmsgPSAkKFwiLnNpbGRlci10aHVtYm5haWwtY1wiKS5lcSgwKS5maW5kKFwiYVwiKS5hdHRyKFwiaHJlZlwiKTtcclxudmFyICRzaWxkZXJTZWxlY3QgPSAkKFwiLnNpbGRlci10aHVtYm5haWwtc2VsZWN0ZWRcIik7XHJcbiRzaWxkZXJTZWxlY3QuYXR0cihcImhyZWZcIiwgbGluayk7XHJcbnZhciAkdGh1bWJsa3RnID0gJHNsaWRlci5maW5kKCcubGt0ZycpO1xyXG4vL2F1dG9SdW4oMCk7XHJcbiR0aHVtYm5haWwub24oJ21vdXNlb3ZlcicsIGRlYm91bmNlKHNob3dIYW5kbGUsIDApKTtcclxuLy8kdGh1bWJuYWlsLm9uKCdtb3VzZW92ZXInLCBzaG93SGFuZGxlKTtcclxuJHRodW1ibmFpbC5vbignbW91c2VsZWF2ZScsIGZ1bmN0aW9uICgpIHtcclxuICAgIC8vdmFyIGluZGV4ID0gJCh0aGlzKS5pbmRleCgpO1xyXG4gICAgLy9hdXRvUnVuKGluZGV4KTtcclxufSk7XHJcbiR0aHVtYmxrdGcub24oJ21vdXNlb3ZlcicsIGZ1bmN0aW9uICgpIHtcclxuICAgICQodGhpcykuZmluZChcImltZ1wiKS5jc3MoXCJkaXNwbGF5XCIsXCJibG9ja1wiKTtcclxufSlcclxuJHRodW1ibGt0Zy5vbignbW91c2VsZWF2ZScsIGZ1bmN0aW9uICgpIHtcclxuICAgICQodGhpcykuZmluZChcImltZ1wiKS5oaWRlKCk7XHJcbn0pXHJcbi8vdmFyIGkgPSAwO1xyXG4vL3ZhciB0aW1lck1vdXNlID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkge1xyXG4gICAgXHJcbi8vICAgIGlmIChpIDwgNCkge1xyXG4vLyAgICAgICAgJChcIi5zaWxkZXItdGh1bWJuYWlsLWNcIikuZXEoaSkudHJpZ2dlcihcIm1vdXNlb3ZlclwiKTtcclxuICAgICAgICBcclxuLy8gICAgfSBlbHNlIHtcclxuLy8gICAgICAgIGkgPSAwXHJcbi8vICAgICAgICAkKFwiLnNpbGRlci10aHVtYm5haWwtY1wiKS5lcShpKS50cmlnZ2VyKFwibW91c2VvdmVyXCIpO1xyXG4vLyAgICB9XHJcbi8vICAgIGkrKztcclxuLy8gICAgY29uc29sZS5sb2coaSk7XHJcbi8vfSwgODAwKVxyXG5cclxuZnVuY3Rpb24gc2hvd0hhbmRsZSgpIHtcclxuICAgIHZhciAkdGhpcyA9ICQodGhpcyk7XHJcbiAgICB2YXIgaW5kZXggPSAkdGhpcy5pbmRleCgpO1xyXG4gICAgc2hvdyhpbmRleCk7XHJcbiAgICBjbGVhckludGVydmFsKHRpbWVyKTtcclxufVxyXG5cclxuZnVuY3Rpb24gc2hvdyhpbmRleCkge1xyXG4gICAgdmFyIHBvc2l0aW9uID0gaW5kZXggKiAzNjg7XHJcblxyXG4gICAgJHNpbGRlclNlbGVjdC5hbmltYXRlKHtcclxuICAgICAgICB0b3A6IGluZGV4ICogOTFcclxuICAgIH0sICdmYXN0Jyk7ICAgICBcclxuICAgICRpdGVtcy5hbmltYXRlKHtcclxuICAgICAgICBzY3JvbGxUb3A6IHBvc2l0aW9uXHJcbiAgICB9LCAnZmFzdCcpO1xyXG4gICAgdmFyIEhyZWYgPSAkKFwiLnNpbGRlci1pdGVtcy1jXCIpLmVxKGluZGV4KS5maW5kKFwiYVwiKS5hdHRyKFwiaHJlZlwiKTtcclxuICAgICRzaWxkZXJTZWxlY3QuYXR0cihcImhyZWZcIiwgSHJlZik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGF1dG9SdW4oaW5kZXgpIHtcclxuICAgIHZhciBzdGVwID0gaW5kZXg7XHJcbiAgICB0aW1lciA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBpZiAoc3RlcCA+PSA0KSB7XHJcbiAgICAgICAgICAgIHN0ZXAgPSAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2hvdyhzdGVwKTtcclxuXHJcbiAgICAgICAgc3RlcCsrO1xyXG4gICAgfSwgNTAwMCk7XHJcbn1cclxuXHJcblxyXG5mdW5jdGlvbiBkZWJvdW5jZShmbiwgZGVsYXkpIHtcclxuICAgIHZhciB0aW1lciA9IG51bGw7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBjb250ZXh0ID0gdGhpcztcclxuICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cztcclxuICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xyXG4gICAgICBcclxuICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBmbi5hcHBseShjb250ZXh0LCBhcmdzKTtcclxuICAgICAgICB9LCBkZWxheSk7ICAgIFxyXG4gICAgfTtcclxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vanMvbW9kdWxlcy9zaWxkZXIvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiXHJcblxyXG52YXIgY2hhbm5lbE5hbWUgPSAkKFwiI2NoYW5uZWxuYW1lXCIpLnZhbCgpO1xyXG52YXIgVVJMID0gJy9Ib21lL0xvYWRDaGFubmVsSW5kZXhMaXN0JztcclxuLy8gdmFyIFVSTCA9ICcvTG9hZENoYW5uZWxJbmRleExpc3QnO1xyXG5cclxudmFyIF9faXNaaGFpQmEgPSBsb2NhdGlvbi5ob3N0LmluZGV4T2YoJ3poYWliYS5jb20nKSA+PSAwO1xyXG5pZihfX2lzWmhhaUJhKXsvL3poYWliYS5jb23kv67mlLnlpIfmoYjlj7dcclxuICAgICQoXCIuZm9vdGVyY3IgYVtyZWw9XFxcIm5vZm9sbG93XFxcIl1cIikuZXEoMCkuaHRtbChcIue9keermeWkh+ahiOWPtzrmsqpJQ1DlpIcwNTAwNjA1NOWPty0xM1wiKVxyXG59XHJcblxyXG4vL+aWh+eroOWIl+ihqFxyXG52YXIgbGlzdCA9IHtcclxuICAgIGdldEZldGNoRGF0YTpmdW5jdGlvbihwYWdlKXtcclxuICAgICAgICBpZihfX2lzWmhhaUJhKXsvL3poYWliYS5jb23kuI3liqDovb3mm7TlpJpcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIF9zZWxmID10aGlzO1xyXG4gICAgICAgIF9zZWxmLmxvYWRpbmcoKTtcclxuICAgICAgICBwYWdlID0gcGFnZSB8fCAxO1xyXG4gICAgICAgICQuYWpheCh7XHJcbiAgICAgICAgICAgIHVybDogVVJMLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICB0aW1lczogcGFnZSxcclxuICAgICAgICAgICAgICAgIGNoYW5uZWxuYW1lOiBjaGFubmVsTmFtZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0eXBlOiAnZ2V0JyxcclxuICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgICAgICAgICAgICAgIF9zZWxmLnJlbmRlclRlbXBsYXRlKGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgJCgnLmxvYWRpbmcnKS5yZW1vdmUoKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZSAmJiBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfSxcclxuICAgIHJlbmRlclRlbXBsYXRlOmZ1bmN0aW9uKGRhdGEpe1xyXG4gICAgICAgIHZhciBfc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgaWYgKCEhZGF0YSAmJiBkYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdmFyIGh0bWwgPSAnJztcclxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgbmV3RGF0YSA9IF9zZWxmLmNvdmVydChkYXRhW2ldKTtcclxuICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxsaT4gJyArXHJcbiAgICAgICAgICAgICAgICAgICAgbmV3RGF0YS5pbWFnZSArICcgPGRpdiBjbGFzcz1cIml0ZW0taW5uZXJcIj4gPGRpdiBjbGFzcz1cIml0ZW0tdGl0bGVcIj48YSBocmVmPVwiJyArIG5ld0RhdGEudXJsICsgJ1wiIHRhcmdldD1cIl9ibGFua1wiPicgKyBuZXdEYXRhLnRpdGxlICsgJzwvYT48L2Rpdj4gPGRpdiBjbGFzcz1cIml0ZW0tdGV4dFwiPicgKyBuZXdEYXRhLmRpZ2VzdCArICc8L2Rpdj4gPGRpdiBjbGFzcz1cIml0ZW0taW5mb1wiPiA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+ICAgPHNwYW4gY2xhc3M9XCJ0YWcgJyArIG5ld0RhdGEudHlwZUNTUyArICdcIj48YSBocmVmPVwiJyArIG5ld0RhdGEudHlwZVVybCArICdcIiAgdGFyZ2V0PVwiX3NlbGZcIj4nICsgbmV3RGF0YS50eXBlSHRtbCArICc8L2E+PC9zcGFuPiA8c3BhbiBjbGFzcz1cIml0ZW0tY2F0ZVwiPicgKyBuZXdEYXRhLm1lZGlhTmFtZSArICc8L3NwYW4+IDxzcGFuIGNsYXNzPVwiaXRlbS11cGRhdGVcIj4nICsgbmV3RGF0YS5zaG93VGltZSArICc8L3NwYW4+IDwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvbGk+JztcclxuICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgICQoJy5wYWdlLW1lZGlhLWxpc3QnKS5hcHBlbmQoaHRtbCk7XHJcbiAgICAgICAgICAgIF9zZWxmLnRleHRFbGxpcHNpcygnLnBhZ2UtbWVkaWEtbGlzdCAuaXRlbS10ZXh0Jyk7XHJcbiAgICAgICAgfSBcclxuICAgIH0sXHJcbiAgICBjb3ZlcnQ6ZnVuY3Rpb24oZGF0YSl7XHJcbiAgICAgICAgdmFyIF9zZWxmID0gdGhpcztcclxuICAgICAgICB2YXIgVVJMID0gXCJcIjtcclxuICAgICAgICBpZihkYXRhLkFydF9VbmlxdWVVcmwpe1xyXG4gICAgICAgICAgICBVUkwgPSBkYXRhLkFydF9VbmlxdWVVcmxcclxuICAgICAgICB9ZWxzZSBpZihkYXRhLkxpZmVfVXJsKXtcclxuICAgICAgICAgICAgVVJMID0gZGF0YS5MaWZlX1VybFxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0aXRsZTogZGF0YS5BcnRfVGl0bGUgfHwgJycsXHJcbiAgICAgICAgICAgIHVybDogVVJMLFxyXG4gICAgICAgICAgICBpbWFnZTogX3NlbGYuZ2V0SW1nKGRhdGEuQXJ0X0ltYWdlLFVSTCkgfHwgJycsXHJcbiAgICAgICAgICAgIC8vIGRpZ2VzdDogZGF0YS5BcnRfRGlnZXN0LFxyXG4gICAgICAgICAgICBtZWRpYU5hbWU6IGRhdGEuQXJ0X01lZGlhX05hbWUgfHwgJycsXHJcbiAgICAgICAgICAgIGRpZ2VzdDogZGF0YS5MaWZlX0RpZ2VzdCB8fCAnJyxcclxuICAgICAgICAgICAgc2hvd1RpbWU6IGRhdGEuQXJ0X09yZGVyVGltZSB8fCAnJyxcclxuICAgICAgICAgICAgdHlwZTogZGF0YS5BcnRfS2V5IHx8ICcnLFxyXG4gICAgICAgICAgICB0eXBlQ1NTOiBkYXRhLkxpZmVfTGFibGVDc3MgfHwgJ3RhZy1kZWZhdWx0JyxcclxuICAgICAgICAgICAgdHlwZUh0bWw6IGRhdGEuTGlmZV9Db2x1bW5OYW1lIHx8ICcnLFxyXG4gICAgICAgICAgICB0eXBlVXJsOiBkYXRhLkxpZmVfQ29sdW1uVXJsIHx8ICcnLFxyXG4gICAgICAgICAgICB0eXBlQ2xhc3M6ICdkZWZhdWx0J1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBnZXRJbWc6ZnVuY3Rpb24oaW1ndXJsLCB1cmwpe1xyXG4gICAgICAgIGlmIChpbWd1cmwpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPVwiaXRlbS1tZWRpYVwiPjxhIGhyZWY9XCInICsgdXJsICsgJ1wiIHRhcmdldD1cIl9ibGFua1wiPiA8aW1nIGNsYXNzPVwiaXRlbS1tZWRpYS1pbWdcIiBzcmM9XCInICsgaW1ndXJsICsgJ1wiPiA8L2E+PC9kaXY+JztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHRleHRFbGxpcHNpczpmdW5jdGlvbihlbGUpe1xyXG4gICAgICAgICQoZWxlKS5lYWNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTtcclxuICAgICAgICAgICAgdmFyIGxpbmUgPSBNYXRoLnJvdW5kKCR0aGlzLmhlaWdodCgpIC8gcGFyc2VGbG9hdCgkdGhpcy5jc3MoJ2xpbmUtaGVpZ2h0JykpKSArIDA7XHJcbiAgICAgICAgICAgIC8vdmFyIG51bSA9IE1hdGgucm91bmQoJHRoaXMud2lkdGgoKSAvIHBhcnNlRmxvYXQoJHRoaXMuY3NzKCdmb250LXNpemUnKSkpICogbGluZTtcclxuICAgICAgICAgICAgdmFyIG51bSA9ICR0aGlzLnRleHQoKS5sZW5ndGg7XHJcbiAgICAgICAgICAgIHZhciBvbmVMaW5lTnVtID0gTWF0aC5yb3VuZCgkdGhpcy53aWR0aCgpIC8gcGFyc2VGbG9hdCgkdGhpcy5jc3MoJ2ZvbnQtc2l6ZScpKSk7XHJcbiAgICAgICAgICAgIHZhciBuZXdUZXh0ID0gJHRoaXMudGV4dCgpLnN1YnN0cmluZygwLCBvbmVMaW5lTnVtICogMiAtIDMpO1xyXG4gICAgICAgICAgICBpZiAobnVtID4gKG9uZUxpbmVOdW0gKiBsaW5lKSkge1xyXG4gICAgICAgICAgICAgICAgJHRoaXMudGV4dChuZXdUZXh0ICsgJy4uLicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBsb2FkaW5nOmZ1bmN0aW9uKCl7XHJcblxyXG4gICAgfSxcclxuICAgIGxvYWRMYW5na2VBZDpmdW5jdGlvbigpe1xyXG4gICAgICAgIHZhciBfc2VsZiA9dGhpcztcclxuICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICB1cmw6J2h0dHBzOi8vc25zLmx2Yi5lYXN0bW9uZXkuY29tL2x2YmNvb3BlcmF0aW9uL2FwaS9DaGFubmVsL0dldFByb21vdGVMaXZlJyxcclxuICAgICAgICAgICAgdHlwZTonZ2V0JyxcclxuICAgICAgICAgICAgZGF0YVR5cGU6J2pzb25wJyxcclxuICAgICAgICAgICAgc3VjY2VzczpmdW5jdGlvbihqc29uKXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGpzb24sMTIzMTIzKVxyXG4gICAgICAgICAgICAgICAgaWYoanNvbi5yZXN1bHQgPT09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBkYXRhID0ganNvbi5kYXRhO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGRhdGEudGl0bGUhPT0nJyAmJiBkYXRhLnZpZGVvX2ltZyAhPT0gJycgJiYgZGF0YS52aWRlb19saW5rX3VybCAhPT0gJycgJiYgZGF0YS50YWcgIT09ICcnKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSAkKCc8bGkgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCIgY2xhc3M9XCJsYW5na2VJZFwiPjxkaXYgY2xhc3M9XCJpdGVtLW1lZGlhXCI+IDxhIGhyZWY9XCInKyBkYXRhLnZpZGVvX2xpbmtfdXJsKydcIiB0YXJnZXQ9XCJfYmxhbmtcIj4gPGltZyBjbGFzcz1cIml0ZW0tbWVkaWEtaW1nXCIgc3JjPVwiJytkYXRhLnZpZGVvX2ltZysnXCI+PGkgY2xhc3M9XCJpY29uLXZpZGVvXCI+PC9pPjwvYT48L2Rpdj4nK1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9XCJpdGVtLWlubmVyXCI+PGRpdiBjbGFzcz1cIml0ZW0tdGl0bGVcIj48YSB0aXRsZT1cIicrZGF0YS50aXRsZSsnXCIgaHJlZj1cIicrZGF0YS52aWRlb19saW5rX3VybCsnXCIgdGFyZ2V0PVwiX2JsYW5rXCI+JytkYXRhLnRpdGxlKyc8L2E+PC9kaXY+JytcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz1cIml0ZW0tdGV4dFwiPjwvZGl2PjxkaXYgY2xhc3M9XCJpdGVtLWluZm9cIj48ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+PHNwYW4gY2xhc3M9XCJ0YWcgdGFnLWRlZmF1bHRcIj48YSBocmVmPVwiJytkYXRhLnRhZ191cmwrJ1wiIHRhcmdldD1cIl9ibGFua1wiPicrZGF0YS50YWcrJzwvYT48L3NwYW4+PHNwYW4gY2xhc3M9XCJpdGVtLWNhdGVcIj4nK2RhdGEudXNlcm5hbWUrJzwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L2xpPicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkKCcucGFnZS1tZWRpYS1saXN0IGxpJykuZXEoMCkuYWZ0ZXIoaHRtbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKDEyMzEyMzEyMTIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwuY2xpY2soZnVuY3Rpb24oZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKGRhdGEudmlkZW9fbGlua191cmwpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICQoJy50YWcnLGh0bWwpLmNsaWNrKGZ1bmN0aW9uKGUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOyAgIC8vIOmYu+atoum7mOiupOS6i+S7tlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsgIC8vIOmYu+atouWGkuazoVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oZGF0YS50YWdfdXJsKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6ZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdlcnJvcjEyMzEyMycpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfSxcclxuICAgIGF1dG9Mb2FkQXJ0aWNsZUxpc3Q6ZnVuY3Rpb24oKXtcclxuICAgICAgICB2YXIgcmFuZ2UgPSAzMDA7XHJcbiAgICAgICAgdmFyIG1heG51bSA9IDUwO1xyXG4gICAgICAgIHZhciBudW0gPSAxO1xyXG4gICAgICAgIHZhciB0b3RhbGhlaWdodCA9IDA7XHJcbiAgICAgICAgdmFyIF9zZWxmID0gdGhpcztcclxuXHJcbiAgICAgICAgJCh3aW5kb3cpLnNjcm9sbChfc2VsZi5kZWJvdW5jZShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHZhciBzcm9sbFBvcyA9ICQod2luZG93KS5zY3JvbGxUb3AoKTtcclxuICAgICAgICAgICAgdG90YWxoZWlnaHQgPSBwYXJzZUZsb2F0KCQod2luZG93KS5oZWlnaHQoKSkgKyBwYXJzZUZsb2F0KHNyb2xsUG9zKTtcclxuICAgICAgICAgICAgaWYgKCgkKGRvY3VtZW50KS5oZWlnaHQoKSAtIHJhbmdlKSA8PSB0b3RhbGhlaWdodCAmJiBudW0gPCBtYXhudW0pIHtcclxuICAgICAgICAgICAgICAgIF9zZWxmLmdldEZldGNoRGF0YShudW0pO1xyXG4gICAgICAgICAgICAgICAgbnVtKys7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCA1MDApKTtcclxuICAgIH0sXHJcbiAgICBkZWJvdW5jZTpmdW5jdGlvbihmbixkZWxheSl7XHJcbiAgICAgICAgdmFyIHRpbWVyID0gbnVsbDtcclxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgY29udGV4dCA9IHRoaXM7XHJcbiAgICAgICAgICAgIHZhciBhcmdzID0gYXJndW1lbnRzO1xyXG4gICAgXHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XHJcbiAgICAgICAgICAgIHRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICBmbi5hcHBseShjb250ZXh0LCBhcmdzKTtcclxuICAgICAgICAgICAgfSwgZGVsYXkpO1xyXG4gICAgICAgIH07XHJcbiAgICB9LFxyXG4gICAgaW5pdDpmdW5jdGlvbigpe1xyXG4gICAgICAgIC8vIHRoaXMubG9hZExhbmdrZUFkKCk7XHJcbiAgICAgICAgdGhpcy5hdXRvTG9hZEFydGljbGVMaXN0KCk7XHJcbiAgICAgICAgdGhpcy50ZXh0RWxsaXBzaXMoJy5wYWdlLW1lZGlhLWxpc3QgLml0ZW0tdGV4dCcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiQoZnVuY3Rpb24oKXtcclxuXHJcbiAgICByZXF1aXJlKCcuL21vZHVsZXMvbWVudScpO1xyXG5yZXF1aXJlKCcuL21vZHVsZXMvcmFuaycpO1xyXG5yZXF1aXJlKCcuL21vZHVsZXMvc2lsZGVyJyk7XHJcbi8vIHJlcXVpcmUoJy4vbW9kdWxlcy9sb2FkTGlzdCcpO1xyXG5yZXF1aXJlKCcuL21vZHVsZXMvYmFja1RvcCcpO1xyXG4vLyByZXF1aXJlKCcuL21vZHVsZXMvaG90TGFiZWwnKTtcclxuLy8gcmVxdWlyZSgnLi9tb2R1bGVzL2xhbmdrZUFkJylcclxuXHJcbiAgICBsaXN0LmluaXQoKTtcclxufSlcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2pzL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSA1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0="],"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","browser","document","all","window","XMLHttpRequest","fixedBodyWidth","emRightBodyWidth","backtopheight","backTopHeight","isie6","backtop","init","this","create","bind","backtopcss","_style","createElement","type","styleSheet","cssText","innerHTML","_backtop","id","body","appendChild","open","_this","btnsearch","getElementById","onclick","backtopsearchinput","_value","encodeURI","focus","backtophq","backtopsearch","className","style","display","StockSuggest","s1001","text","autoSubmit","width","header","callback","ag","code","setInterval","bottom","top","documentElement","scrollTop","$menu","$","on","addClass","removeClass","keydown","event","keyCode","click","val","url","unescape","attr","encodeURIComponent","$rank","_index","index","siblings","eq","fadeIn","hide","$slider","$items","timer","$thumbnail","find","link","$silderSelect","fn","delay","$thumblktg","show","position","animate","Href","clearInterval","context","args","arguments","clearTimeout","setTimeout","apply","css","channelName","__isZhaiBa","location","host","indexOf","html","list","getFetchData","page","_self","loading","ajax","data","times","channelname","success","renderTemplate","remove","error","console","length","newData","covert","image","title","digest","typeCSS","typeUrl","typeHtml","mediaName","showTime","append","textEllipsis","URL","Art_UniqueUrl","Life_Url","Art_Title","getImg","Art_Image","Art_Media_Name","Life_Digest","Art_OrderTime","Art_Key","Life_LableCss","Life_ColumnName","Life_ColumnUrl","typeClass","imgurl","ele","each","$this","line","Math","round","height","parseFloat","num","oneLineNum","newText","substring","loadLangkeAd","dataType","json","result","video_img","video_link_url","tag","tag_url","username","after","e","preventDefault","stopPropagation","autoLoadArticleList","totalheight","scroll","debounce","srollPos"],"mappings":"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"}