From 99effad4821234dcaaef01e205730928b5575533 Mon Sep 17 00:00:00 2001 From: lipnggao Date: Fri, 22 Sep 2023 09:10:49 +0800 Subject: [PATCH] youhua --- pages/novelReading/novelReading.vue | 96 +++++----------------- unpackage/dist/dev/app-plus/app-service.js | 2 +- unpackage/dist/dev/app-plus/app-view.js | 2 +- 3 files changed, 23 insertions(+), 77 deletions(-) diff --git a/pages/novelReading/novelReading.vue b/pages/novelReading/novelReading.vue index 6aec50f..6ff25ba 100644 --- a/pages/novelReading/novelReading.vue +++ b/pages/novelReading/novelReading.vue @@ -190,9 +190,7 @@ readingPopupshow: false, stepUpPopupShow: false, purchaseFullShow: false, - balanceShow: false, navbarPopupShow:false, - balanceTitle: '下一章,付费章节', // bar 的icon barPopupIcon: {}, dialogTextColor: '', @@ -216,15 +214,11 @@ newCharactersSize: 28, defaultCharactersLineHeight: 20, readDirectoryActive: '', - computeRichText: '', - computeRichTextWidth: 0, - refresherTriggered: false, readChapterid: '', readChapterFlag: false, readChapterInfoObj: {}, readChapterLastid: '', readChapterNextid: '', - refresherEnabled: true, }; }, onLoad(options) { @@ -324,12 +318,18 @@ if (readChapterInfoObj.chackpay == 1) { callback('success', readChapterInfoObj) } - const obj = { - ...readChapterInfoObj, - custom, - content: '' + if (readChapterInfoObj.chackpay == 2 || readChapterInfoObj.chackpay == 3) { + const novelContentColor = this.novelContentColor; + const newCharactersSize = this.newCharactersSize; + const bodyReadingBg = this.bodyReadingBg; + const custom = [`slot:test`]; + const obj = { + ...readChapterInfoObj, + custom, + content: '' + } + callback('success', obj) } - callback('success', obj) } if (chapter > newReadDirectoryActive) { const readChapterInfoObj = await this.isGetBookInfo(newReadChapterNextid); @@ -338,27 +338,11 @@ if (readChapterInfoObj.chackpay == 1) { callback('success', readChapterInfoObj) } - if (readChapterInfoObj.chackpay == 2) { + if (readChapterInfoObj.chackpay == 2 || readChapterInfoObj.chackpay == 3) { const novelContentColor = this.novelContentColor; const newCharactersSize = this.newCharactersSize; const bodyReadingBg = this.bodyReadingBg; - // - const custom = [`slot:test`] - // const custom = [ - // `
- //
${readChapterInfoObj.content}
- //
- //
- //
- // 付费章节,需要购买。${readChapterInfoObj.price}书币
- //
- //
需要全本购买
- //
- //
- //
` - // ] + const custom = [`slot:test`]; const obj = { ...readChapterInfoObj, custom, @@ -460,9 +444,6 @@ url: `/pages/voucherCenter/index` }) }, - balanceCancel() { - this.balanceShow = false; - }, handelPurchaseFull() { const readChapterInfoObj = this.readChapterInfoObj; uni.showLoading({ @@ -477,8 +458,7 @@ uni.hideLoading(); if (res.status == 1) { if (res.data.status == 2) { - this.balanceShow = true; - this.balanceTitle = ''; + console.log("购买失败") } } }).catch((err) => { @@ -487,7 +467,6 @@ }, // 切换页面颜色 changNovelMainType(type) { - this.novelMainTypeColor = type; this.initPage(type); const novelMainObj = myGetStorage('novelMainObj') || '{}'; @@ -614,7 +593,6 @@ screenWidth } = isGetSystemInfo(); // this.myData = myData; - this.computeRichTextWidth = windowWidth; this.novelMainTypeColor = novelMainTypeColor; this.newCharactersSize = JSON.parse(novelMainObj).charactersSize || 28; this.bodyReadingHeight = screenHeight - statusBarHeight - devicePixelRatio * 22; @@ -729,13 +707,6 @@ position: relative; } - #compute_rich_text { - position: fixed; - top: 1500px; - padding: 32rpx; - box-sizing: border-box; - } - .novelReading_content { display: flex; flex-direction: column; @@ -929,14 +900,14 @@ } } - .reading_schedule_slider::v-deep.uni-slider-handle-wrapper { - height: 60rpx; - border-radius: 30rpx; + // .reading_schedule_slider::v-deep.uni-slider-handle-wrapper { + // height: 60rpx; + // border-radius: 30rpx; - .uni-slider-track { - border-radius: 30rpx; - } - } + // .uni-slider-track { + // border-radius: 30rpx; + // } + // } .directory_popup_box { position: relative; @@ -982,30 +953,5 @@ } } } - - } - - .purchaseFull_popup_box { - width: 100%; - box-sizing: border-box; - padding: 50rpx 32rpx; - - .purchaseFull_popup_btn_box { - display: flex; - justify-content: center; - margin-top: 50rpx; - - .purchaseFull_popup_btn { - display: flex; - justify-content: center; - align-items: center; - width: 640rpx; - height: 84rpx; - font-size: 30rpx; - color: #fff; - background: linear-gradient(to top, #FBA676, #E95E32); - border-radius: 24rpx; - } - } } \ No newline at end of file diff --git a/unpackage/dist/dev/app-plus/app-service.js b/unpackage/dist/dev/app-plus/app-service.js index ec5ddb3..aecbdcf 100644 --- a/unpackage/dist/dev/app-plus/app-service.js +++ b/unpackage/dist/dev/app-plus/app-service.js @@ -17654,7 +17654,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _E_P /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 67));\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 195));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 69));\nvar _setUpReadingColorAll = _interopRequireDefault(__webpack_require__(/*! ./setUpReadingColorAll.js */ 462));\nvar _bookshelf_ = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/bookshelf_333.png */ 463));\nvar _directory_ = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/directory_333.png */ 464));\nvar _step_up_ = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/step_up_333.png */ 465));\nvar _bookshelf_ccd9e = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/bookshelf_ccd9e2.png */ 466));\nvar _step_up_ccd9e = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/step_up_ccd9e2.png */ 467));\nvar _directory_ccd9e = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/directory_ccd9e2.png */ 468));\nvar _bookshelf_f3efe = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/bookshelf_f3efe.png */ 469));\nvar _directory_f3efe = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/directory_f3efe9.png */ 470));\nvar _step_up_f3efe = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/step_up_f3efe.png */ 471));\nvar _set_up_mode_black = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/set_up_mode_black.png */ 472));\nvar _recharge_empty = _interopRequireDefault(__webpack_require__(/*! @/static/images/recharge_empty.png */ 473));\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/config/index */ 140));\nvar _systemInfo = __webpack_require__(/*! @/utils/systemInfo.js */ 172);\nvar _index2 = __webpack_require__(/*! @/utils/storage/index.js */ 229);\nvar _data = _interopRequireDefault(__webpack_require__(/*! ./data.js */ 474));\nvar _index3 = _interopRequireDefault(__webpack_require__(/*! @/components/commBookLeftRigth/index.vue */ 105));\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar _default = {\n components: {\n CommBookLeftRigth: _index3.default\n },\n data: function data() {\n return {\n token: '',\n navbarTitle: '小说阅读页面',\n novelMainTypeColor: '',\n setUpColorAll: {},\n navigationBarTitleTextColor: '',\n mainBodyBg: '',\n navigationBarTitleTextBackColor: '',\n previousChapterBbuttonBg: '',\n previousChapterBbuttonTextColor: '',\n nextChapterBbuttonBg: '',\n nextChapterBbuttonTextColor: '',\n bodyReadingHeight: 0,\n scrollReadingHeight: 0,\n // 内容背景\n bodyReadingBg: '',\n // 底部安全区\n // bottomSecureHeight: 0,\n readingPopupshow: false,\n stepUpPopupShow: false,\n purchaseFullShow: false,\n balanceShow: false,\n navbarPopupShow: false,\n balanceTitle: '下一章,付费章节',\n // bar 的icon\n barPopupIcon: {},\n dialogTextColor: '',\n progressBg: '',\n progressActiveBg: '',\n setUpModeBlack: '',\n dialogATextBg: '',\n novelContentColor: '',\n // 目录信息\n booksDirectorySid: '2387',\n bookInfo: {},\n booksDirectoryPage: 1,\n newBooksDirectoryPage: [],\n directoryList: [],\n // directoryPopupHeight: 0,\n directoryPopupShow: false,\n // 小说信息\n novelReadingContentText: [],\n charactersPageType: 'real',\n defaultCharactersSize: 28,\n newCharactersSize: 28,\n defaultCharactersLineHeight: 20,\n readDirectoryActive: '',\n computeRichText: '',\n computeRichTextWidth: 0,\n refresherTriggered: false,\n readChapterid: '',\n readChapterFlag: false,\n readChapterInfoObj: {},\n readChapterLastid: '',\n readChapterNextid: '',\n refresherEnabled: true\n };\n },\n onLoad: function onLoad(options) {\n this.booksDirectorySid = options.sid;\n this.navbarTitle = options.n;\n this.readChapterid = options.id;\n this.isGetUserRead();\n },\n onShow: function onShow() {\n var token = (0, _index2.myGetStorage)('token');\n this.token = token;\n var bookSid = this.booksDirectorySid;\n // const data = {\n // \tsid: bookSid,\n // }\n // uni.$u.http.post('/bookdetails', data).then((res) => {\n // \tuni.hideLoading();\n // \tif (res.status == 1) {\n // \t\tconst info = res.data.info;\n // \t\tconst cover = info.cover.includes('http') ? info.cover : `${config.baseUrl}${info.cover}`;\n // \t\tthis.bookInfo = {\n // \t\t\t...info,\n // \t\t\tcover\n // \t\t};\n // \t}\n // }).catch((err) => {\n // \tuni.hideLoading();\n // })\n },\n\n methods: {\n isGetUserRead: function isGetUserRead() {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var booksDirectorySid, booksDirectoryPage, readChapterid, readChapterInfoObj;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n booksDirectorySid = _this.booksDirectorySid;\n booksDirectoryPage = _this.booksDirectoryPage;\n readChapterid = _this.readChapterid ? _this.readChapterid : '';\n _context.next = 5;\n return _this.isGetBookInfo(readChapterid, '', true);\n case 5:\n readChapterInfoObj = _context.sent;\n _this.novelReadingContentText = [readChapterInfoObj];\n _this.readDirectoryActive = readChapterInfoObj.chapterorder;\n _this.readChapterLastid = readChapterInfoObj.lastid;\n _this.readChapterNextid = readChapterInfoObj.nextid;\n _this.$refs.yingbingReadPage.init({\n contents: [readChapterInfoObj],\n start: 0,\n currentChapter: readChapterInfoObj.chapterorder\n });\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n isGetBookInfo: function isGetBookInfo(chapterId, statusType) {\n var _this2 = this;\n var isShowLoading = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return new Promise(function (resolve) {\n var booksDirectorySid = _this2.booksDirectorySid;\n var novelReadingContentText = _this2.novelReadingContentText;\n if (isShowLoading) {\n uni.showLoading({\n title: '加载中...'\n });\n }\n var data = {\n sid: booksDirectorySid\n };\n if (chapterId) {\n data.id = chapterId;\n }\n uni.$u.http.post('/read', data).then(function (res) {\n uni.hideLoading();\n if (res.status == 1) {\n var resData = res.data;\n var is_novel_content = resData.novel_content.replace(/<\\/p>/g, '\\n');\n var readChapterInfoObj = _objectSpread(_objectSpread({}, resData), {}, {\n content: is_novel_content.replace(/

/g, ''),\n isStart: resData.lastid == '' ? true : false,\n isEnd: resData.nextid == '' ? true : false,\n chapter: resData.chapterorder,\n title: resData.chaptername,\n isTtitle: resData.title\n // richTextNodes: `

${res.data.chaptername}


${res.data.novel_content}`\n });\n\n _this2.readChapterInfoObj = readChapterInfoObj;\n resolve(readChapterInfoObj);\n }\n }).catch(function (err) {\n uni.hideLoading();\n __f__(\"log\", err, '========', \" at pages/novelReading/novelReading.vue:308\");\n });\n });\n },\n loadmoreContent: function loadmoreContent(chapter, callback) {\n var _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var newReadDirectoryActive, newReadChapterLastid, newNovelReadingContentText, newReadChapterNextid, readChapterInfoObj, obj, _readChapterInfoObj, novelContentColor, newCharactersSize, bodyReadingBg, _custom, _obj;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n newReadDirectoryActive = _this3.readDirectoryActive;\n newReadChapterLastid = _this3.readChapterLastid;\n newNovelReadingContentText = _this3.novelReadingContentText;\n newReadChapterNextid = _this3.readChapterNextid;\n __f__(\"log\", chapter, newReadDirectoryActive, \"loadmoreContent\", \" at pages/novelReading/novelReading.vue:318\");\n if (!(chapter != 1)) {\n _context2.next = 23;\n break;\n }\n if (!(chapter < newReadDirectoryActive)) {\n _context2.next = 15;\n break;\n }\n _context2.next = 9;\n return _this3.isGetBookInfo(newReadChapterLastid);\n case 9:\n readChapterInfoObj = _context2.sent;\n _this3.novelReadingContentText = [].concat((0, _toConsumableArray2.default)(newNovelReadingContentText), [readChapterInfoObj]);\n _this3.readDirectoryActive = chapter;\n if (readChapterInfoObj.chackpay == 1) {\n callback('success', readChapterInfoObj);\n }\n obj = _objectSpread(_objectSpread({}, readChapterInfoObj), {}, {\n custom: custom,\n content: ''\n });\n callback('success', obj);\n case 15:\n if (!(chapter > newReadDirectoryActive)) {\n _context2.next = 23;\n break;\n }\n _context2.next = 18;\n return _this3.isGetBookInfo(newReadChapterNextid);\n case 18:\n _readChapterInfoObj = _context2.sent;\n _this3.novelReadingContentText = [_readChapterInfoObj].concat((0, _toConsumableArray2.default)(newNovelReadingContentText));\n _this3.readDirectoryActive = chapter;\n if (_readChapterInfoObj.chackpay == 1) {\n callback('success', _readChapterInfoObj);\n }\n if (_readChapterInfoObj.chackpay == 2) {\n novelContentColor = _this3.novelContentColor;\n newCharactersSize = _this3.newCharactersSize;\n bodyReadingBg = _this3.bodyReadingBg; // \n _custom = [\"slot:test\"]; // const custom = [\n // \t`
\n // \t\t
${readChapterInfoObj.content}
\n // \t\t
\n // \t\t
\n // \t\t\t
\n // \t\t\t\t付费章节,需要购买。${readChapterInfoObj.price}书币
\n // \t\t\t
\n // \t\t\t\t
需要全本购买
\n // \t\t\t
\n // \t\t
\n // \t
`\n // ]\n _obj = _objectSpread(_objectSpread({}, _readChapterInfoObj), {}, {\n custom: _custom,\n content: ''\n });\n callback('success', _obj);\n }\n case 23:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n currentChange: function currentChange(pageInfo) {\n var novelReadingContentText = this.novelReadingContentText;\n var chapter = pageInfo.chapter;\n var itemTemp = novelReadingContentText.filter(function (m) {\n return m.chapter == chapter;\n });\n this.readChapterLastid = itemTemp[0].lastid;\n this.readChapterNextid = itemTemp[0].nextid;\n },\n previousChapter: function previousChapter() {\n var _this4 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var newReadDirectoryActive, newReadChapterLastid, newNovelReadingContentText, readChapterInfoObj;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n newReadDirectoryActive = _this4.readDirectoryActive;\n newReadChapterLastid = _this4.readChapterLastid;\n newNovelReadingContentText = _this4.novelReadingContentText;\n if (newReadChapterLastid) {\n _context3.next = 6;\n break;\n }\n uni.showToast({\n icon: 'none',\n title: \"已经是第一章了\"\n });\n return _context3.abrupt(\"return\");\n case 6:\n _context3.next = 8;\n return _this4.isGetBookInfo(newReadChapterLastid);\n case 8:\n readChapterInfoObj = _context3.sent;\n _this4.novelReadingContentText = [readChapterInfoObj];\n _this4.$refs.yingbingReadPage.init({\n contents: [readChapterInfoObj],\n start: 0,\n currentChapter: newReadDirectoryActive - 1\n });\n _this4.readDirectoryActive = newReadDirectoryActive - 1;\n case 12:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n nextChapter: function nextChapter() {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n var newReadDirectoryActive, readChapterNextid, newNovelReadingContentText, readChapterInfoObj;\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n newReadDirectoryActive = _this5.readDirectoryActive;\n readChapterNextid = _this5.readChapterNextid;\n newNovelReadingContentText = _this5.novelReadingContentText;\n if (readChapterNextid) {\n _context4.next = 6;\n break;\n }\n uni.showToast({\n icon: 'none',\n title: \"已经是最后一章了~\"\n });\n return _context4.abrupt(\"return\");\n case 6:\n _context4.next = 8;\n return _this5.isGetBookInfo(readChapterNextid);\n case 8:\n readChapterInfoObj = _context4.sent;\n _this5.novelReadingContentText = [readChapterInfoObj];\n _this5.$refs.yingbingReadPage.init({\n contents: [readChapterInfoObj],\n start: 0,\n currentChapter: newReadDirectoryActive + 1\n });\n _this5.readDirectoryActive = newReadDirectoryActive + 1;\n case 12:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n handelDirectoryItem: function handelDirectoryItem(row) {},\n handelShowStepUp: function handelShowStepUp() {\n this.readingPopupshow = !this.readingPopupshow;\n this.navbarPopupShow = !this.navbarPopupShow;\n this.stepUpPopupShow = false;\n },\n handelDirectoryPopup: function handelDirectoryPopup() {\n // this.directoryPopupShow = true;\n var readChapterInfoObj = this.readChapterInfoObj;\n var readDirectoryActive = this.readDirectoryActive;\n uni.navigateTo({\n url: \"/pages/bookRecommendList/bookRecommendList?sid=\".concat(readChapterInfoObj.sid, \"&t=\").concat(readChapterInfoObj.isTitle, \"&c=\").concat(readDirectoryActive)\n });\n },\n toPathLogin: function toPathLogin() {\n var readChapterInfoObj = this.readChapterInfoObj;\n var readDirectoryActive = this.readDirectoryActive;\n uni.navigateTo({\n url: \"/pages/login/login?sid=\".concat(readChapterInfoObj.sid, \"&i=\").concat(readChapterInfoObj.id, \"&c=\").concat(readDirectoryActive, \"&to=1\")\n });\n },\n directoryPopupClose: function directoryPopupClose() {\n // this.directoryPopupShow = false;\n // const readChapterInfoObj = this.readChapterInfoObj;\n // uni.navigateTo({\n // \turl: `/pages/bookRecommendList/bookRecommendList?sid=${readChapterInfoObj.sid}&t=${readChapterInfoObj.title}&c=${readChapterInfoObj.chapterorder}`\n // })\n },\n purchaseFullClose: function purchaseFullClose() {\n var readChapterFlag = this.readChapterFlag;\n if (readChapterFlag) {\n return;\n }\n this.purchaseFullShow = false;\n },\n handelSteUpPopup: function handelSteUpPopup() {\n this.stepUpPopupShow = true;\n },\n balanceConfirm: function balanceConfirm() {\n uni.navigateTo({\n url: \"/pages/voucherCenter/index\"\n });\n },\n balanceCancel: function balanceCancel() {\n this.balanceShow = false;\n },\n handelPurchaseFull: function handelPurchaseFull() {\n var _this6 = this;\n var readChapterInfoObj = this.readChapterInfoObj;\n uni.showLoading({\n title: '加载中...'\n });\n var data = {\n sid: readChapterInfoObj.sid,\n id: readChapterInfoObj.id,\n allprice: readChapterInfoObj.allprice\n };\n uni.$u.http.post('/buyall', data).then(function (res) {\n uni.hideLoading();\n if (res.status == 1) {\n if (res.data.status == 2) {\n _this6.balanceShow = true;\n _this6.balanceTitle = '';\n }\n }\n }).catch(function (err) {\n uni.hideLoading();\n });\n },\n // 切换页面颜色\n changNovelMainType: function changNovelMainType(type) {\n this.novelMainTypeColor = type;\n this.initPage(type);\n var novelMainObj = (0, _index2.myGetStorage)('novelMainObj') || '{}';\n var obj = _objectSpread(_objectSpread({}, JSON.parse(novelMainObj)), {}, {\n novelMainTypeColor: type\n });\n (0, _index2.mySetStorage)('novelMainObj', JSON.stringify(obj));\n },\n // 字体减小\n reduceCharactersSize: function reduceCharactersSize() {\n var newCharactersSize = this.newCharactersSize;\n this.newCharactersSize = newCharactersSize - 2;\n var novelMainObj = (0, _index2.myGetStorage)('novelMainObj') || '{}';\n var obj = _objectSpread(_objectSpread({}, JSON.parse(novelMainObj)), {}, {\n charactersSize: newCharactersSize - 2\n });\n (0, _index2.mySetStorage)('novelMainObj', JSON.stringify(obj));\n },\n // 字体加大\n addCharactersSize: function addCharactersSize() {\n var newCharactersSize = this.newCharactersSize;\n this.newCharactersSize = newCharactersSize + 2;\n var novelMainObj = (0, _index2.myGetStorage)('novelMainObj') || '{}';\n var obj = _objectSpread(_objectSpread({}, JSON.parse(novelMainObj)), {}, {\n charactersSize: newCharactersSize + 2\n });\n (0, _index2.mySetStorage)('novelMainObj', JSON.stringify(obj));\n },\n // 恢复默认字体大小\n handelCharactersSize: function handelCharactersSize() {\n var defaultCharactersSize = this.defaultCharactersSize;\n this.newCharactersSize = defaultCharactersSize;\n var novelMainObj = (0, _index2.myGetStorage)('novelMainObj') || '{}';\n var obj = _objectSpread(_objectSpread({}, JSON.parse(novelMainObj)), {}, {\n charactersSize: defaultCharactersSize\n });\n (0, _index2.mySetStorage)('novelMainObj', JSON.stringify(obj));\n },\n // // 目录划到了最上边\n // directoryPopupUpper() {\n // \tconst isBooksDirectoryPage = this.booksDirectoryPage;\n // \tconst newBooksDirectoryPage = this.newBooksDirectoryPage;\n // \tif (isBooksDirectoryPage > 1 && newBooksDirectoryPage.indexOf(isBooksDirectoryPage) == -1) {\n // \t\tconst booksDirectorySid = this.booksDirectorySid;\n // \t\tconst booksDirectoryPage = isBooksDirectoryPage - 1;\n // \t\tthis.booksDirectoryPage = booksDirectoryPage;\n // \t\tthis.isGetDirectory(booksDirectorySid, booksDirectoryPage, 'upper');\n // \t}\n // },\n // // 目录划到了最下边\n // directoryPopupLower() {\n // \tconst isBooksDirectoryPage = this.booksDirectoryPage;\n // \tconst booksDirectorySid = this.booksDirectorySid;\n // \tconst booksDirectoryPage = isBooksDirectoryPage + 1;\n // \tconst newBooksDirectoryPage = [...this.newBooksDirectoryPage, booksDirectoryPage];\n // \tthis.newBooksDirectoryPage = newBooksDirectoryPage;\n // \tthis.booksDirectoryPage = booksDirectoryPage;\n // \tthis.isGetDirectory(booksDirectorySid, booksDirectoryPage, 'lower');\n // },\n isGetDirectory: function isGetDirectory(sid, page, type) {\n var _this7 = this;\n uni.showLoading({\n title: '加载中...'\n });\n var data = {\n sid: sid,\n page: page\n };\n uni.$u.http.post('/getDirectory', data).then(function (res) {\n uni.hideLoading();\n if (res.status == 1) {\n var directory = res.data.directory;\n var columnsLabel = '';\n if (type == 'upper') {\n _this7.directoryList = [].concat((0, _toConsumableArray2.default)(directory), (0, _toConsumableArray2.default)(_this7.directoryList));\n } else if (type == 'lower') {\n _this7.directoryList = [].concat((0, _toConsumableArray2.default)(_this7.directoryList), (0, _toConsumableArray2.default)(directory));\n } else {\n _this7.directoryList = directory;\n }\n }\n }).catch(function (err) {\n uni.hideLoading();\n __f__(\"log\", err, '========', \" at pages/novelReading/novelReading.vue:577\");\n });\n },\n initPage: function initPage(novelMainTypeColor) {\n var mainBodyBg = _setUpReadingColorAll.default[novelMainTypeColor].mainBodyBg;\n this.navigationBarTitleTextColor = _setUpReadingColorAll.default[novelMainTypeColor].navigationBarTitleTextColor;\n this.mainBodyBg = mainBodyBg;\n this.bodyReadingBg = mainBodyBg;\n this.dialogTextColor = _setUpReadingColorAll.default[novelMainTypeColor].dialogTextColor;\n this.progressBg = _setUpReadingColorAll.default[novelMainTypeColor].progressBg;\n this.progressActiveBg = _setUpReadingColorAll.default[novelMainTypeColor].progressActiveBg;\n this.setUpModeBlack = _set_up_mode_black.default;\n this.dialogATextBg = _setUpReadingColorAll.default[novelMainTypeColor].dialogATextBg;\n this.tabBarTextColor = _setUpReadingColorAll.default[novelMainTypeColor].tabBarTextColor;\n this.novelContentColor = _setUpReadingColorAll.default[novelMainTypeColor].novelContentColor;\n this.navigationBarTitleTextBackColor = _setUpReadingColorAll.default[novelMainTypeColor].navigationBarTitleTextBackColor;\n this.previousChapterBbuttonBg = _setUpReadingColorAll.default[novelMainTypeColor].previousChapterBbuttonBg;\n this.previousChapterBbuttonTextColor = _setUpReadingColorAll.default[novelMainTypeColor].previousChapterBbuttonTextColor;\n this.nextChapterBbuttonBg = _setUpReadingColorAll.default[novelMainTypeColor].nextChapterBbuttonBg;\n this.nextChapterBbuttonTextColor = _setUpReadingColorAll.default[novelMainTypeColor].nextChapterBbuttonTextColor;\n },\n rightClick: function rightClick() {\n uni.navigateBack();\n },\n toBookshelf: function toBookshelf() {\n uni.reLaunch({\n url: \"/pages/bookCity/bookCity/index\"\n });\n }\n },\n created: function created() {\n var novelMainObj = (0, _index2.myGetStorage)('novelMainObj') || '{}';\n var novelMainTypeColor = JSON.parse(novelMainObj).novelMainTypeColor || 'F3EFE9';\n var _isGetSystemInfo = (0, _systemInfo.isGetSystemInfo)(),\n _isGetSystemInfo$scre = _isGetSystemInfo.screenHeight,\n screenHeight = _isGetSystemInfo$scre === void 0 ? 0 : _isGetSystemInfo$scre,\n _isGetSystemInfo$stat = _isGetSystemInfo.statusBarHeight,\n statusBarHeight = _isGetSystemInfo$stat === void 0 ? 0 : _isGetSystemInfo$stat,\n _isGetSystemInfo$wind = _isGetSystemInfo.windowHeight,\n windowHeight = _isGetSystemInfo$wind === void 0 ? 0 : _isGetSystemInfo$wind,\n devicePixelRatio = _isGetSystemInfo.devicePixelRatio,\n windowBottom = _isGetSystemInfo.windowBottom,\n windowWidth = _isGetSystemInfo.windowWidth,\n screenWidth = _isGetSystemInfo.screenWidth;\n // this.myData = myData;\n this.computeRichTextWidth = windowWidth;\n this.novelMainTypeColor = novelMainTypeColor;\n this.newCharactersSize = JSON.parse(novelMainObj).charactersSize || 28;\n this.bodyReadingHeight = screenHeight - statusBarHeight - devicePixelRatio * 22;\n this.setUpColorAll = _setUpReadingColorAll.default;\n this.barPopupIcon = {\n 'F3EFE9': {\n bookshelf_icon: _bookshelf_f3efe.default,\n directory_icon: _directory_f3efe.default,\n step_up_icon: _step_up_f3efe.default\n },\n 'CCD9E2': {\n bookshelf_icon: _bookshelf_ccd9e.default,\n directory_icon: _directory_ccd9e.default,\n step_up_icon: _step_up_ccd9e.default\n },\n '333333': {\n bookshelf_icon: _bookshelf_.default,\n directory_icon: _directory_.default,\n step_up_icon: _step_up_.default\n }\n };\n this.initPage(novelMainTypeColor);\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 86)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbm92ZWxSZWFkaW5nL25vdmVsUmVhZGluZy52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsIkNvbW1Cb29rTGVmdFJpZ3RoIiwiZGF0YSIsInRva2VuIiwibmF2YmFyVGl0bGUiLCJub3ZlbE1haW5UeXBlQ29sb3IiLCJzZXRVcENvbG9yQWxsIiwibmF2aWdhdGlvbkJhclRpdGxlVGV4dENvbG9yIiwibWFpbkJvZHlCZyIsIm5hdmlnYXRpb25CYXJUaXRsZVRleHRCYWNrQ29sb3IiLCJwcmV2aW91c0NoYXB0ZXJCYnV0dG9uQmciLCJwcmV2aW91c0NoYXB0ZXJCYnV0dG9uVGV4dENvbG9yIiwibmV4dENoYXB0ZXJCYnV0dG9uQmciLCJuZXh0Q2hhcHRlckJidXR0b25UZXh0Q29sb3IiLCJib2R5UmVhZGluZ0hlaWdodCIsInNjcm9sbFJlYWRpbmdIZWlnaHQiLCJib2R5UmVhZGluZ0JnIiwicmVhZGluZ1BvcHVwc2hvdyIsInN0ZXBVcFBvcHVwU2hvdyIsInB1cmNoYXNlRnVsbFNob3ciLCJiYWxhbmNlU2hvdyIsIm5hdmJhclBvcHVwU2hvdyIsImJhbGFuY2VUaXRsZSIsImJhclBvcHVwSWNvbiIsImRpYWxvZ1RleHRDb2xvciIsInByb2dyZXNzQmciLCJwcm9ncmVzc0FjdGl2ZUJnIiwic2V0VXBNb2RlQmxhY2siLCJkaWFsb2dBVGV4dEJnIiwibm92ZWxDb250ZW50Q29sb3IiLCJib29rc0RpcmVjdG9yeVNpZCIsImJvb2tJbmZvIiwiYm9va3NEaXJlY3RvcnlQYWdlIiwibmV3Qm9va3NEaXJlY3RvcnlQYWdlIiwiZGlyZWN0b3J5TGlzdCIsImRpcmVjdG9yeVBvcHVwU2hvdyIsIm5vdmVsUmVhZGluZ0NvbnRlbnRUZXh0IiwiY2hhcmFjdGVyc1BhZ2VUeXBlIiwiZGVmYXVsdENoYXJhY3RlcnNTaXplIiwibmV3Q2hhcmFjdGVyc1NpemUiLCJkZWZhdWx0Q2hhcmFjdGVyc0xpbmVIZWlnaHQiLCJyZWFkRGlyZWN0b3J5QWN0aXZlIiwiY29tcHV0ZVJpY2hUZXh0IiwiY29tcHV0ZVJpY2hUZXh0V2lkdGgiLCJyZWZyZXNoZXJUcmlnZ2VyZWQiLCJyZWFkQ2hhcHRlcmlkIiwicmVhZENoYXB0ZXJGbGFnIiwicmVhZENoYXB0ZXJJbmZvT2JqIiwicmVhZENoYXB0ZXJMYXN0aWQiLCJyZWFkQ2hhcHRlck5leHRpZCIsInJlZnJlc2hlckVuYWJsZWQiLCJvbkxvYWQiLCJvblNob3ciLCJtZXRob2RzIiwiaXNHZXRVc2VyUmVhZCIsImNvbnRlbnRzIiwic3RhcnQiLCJjdXJyZW50Q2hhcHRlciIsImlzR2V0Qm9va0luZm8iLCJ1bmkiLCJ0aXRsZSIsInNpZCIsInJlc0RhdGEiLCJjb250ZW50IiwiaXNTdGFydCIsImlzRW5kIiwiY2hhcHRlciIsImlzVHRpdGxlIiwicmVzb2x2ZSIsImxvYWRtb3JlQ29udGVudCIsIm5ld1JlYWREaXJlY3RvcnlBY3RpdmUiLCJuZXdSZWFkQ2hhcHRlckxhc3RpZCIsIm5ld05vdmVsUmVhZGluZ0NvbnRlbnRUZXh0IiwibmV3UmVhZENoYXB0ZXJOZXh0aWQiLCJjYWxsYmFjayIsIm9iaiIsImN1c3RvbSIsImN1cnJlbnRDaGFuZ2UiLCJwcmV2aW91c0NoYXB0ZXIiLCJpY29uIiwibmV4dENoYXB0ZXIiLCJoYW5kZWxEaXJlY3RvcnlJdGVtIiwiaGFuZGVsU2hvd1N0ZXBVcCIsImhhbmRlbERpcmVjdG9yeVBvcHVwIiwidXJsIiwidG9QYXRoTG9naW4iLCJkaXJlY3RvcnlQb3B1cENsb3NlIiwicHVyY2hhc2VGdWxsQ2xvc2UiLCJoYW5kZWxTdGVVcFBvcHVwIiwiYmFsYW5jZUNvbmZpcm0iLCJiYWxhbmNlQ2FuY2VsIiwiaGFuZGVsUHVyY2hhc2VGdWxsIiwiaWQiLCJhbGxwcmljZSIsImNoYW5nTm92ZWxNYWluVHlwZSIsIkpTT04iLCJyZWR1Y2VDaGFyYWN0ZXJzU2l6ZSIsImNoYXJhY3RlcnNTaXplIiwiYWRkQ2hhcmFjdGVyc1NpemUiLCJoYW5kZWxDaGFyYWN0ZXJzU2l6ZSIsImlzR2V0RGlyZWN0b3J5IiwicGFnZSIsImluaXRQYWdlIiwicmlnaHRDbGljayIsInRvQm9va3NoZWxmIiwiY3JlYXRlZCIsInNjcmVlbkhlaWdodCIsInN0YXR1c0JhckhlaWdodCIsIndpbmRvd0hlaWdodCIsImRldmljZVBpeGVsUmF0aW8iLCJ3aW5kb3dCb3R0b20iLCJ3aW5kb3dXaWR0aCIsInNjcmVlbldpZHRoIiwiYm9va3NoZWxmX2ljb24iLCJkaXJlY3RvcnlfaWNvbiIsInN0ZXBfdXBfaWNvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFnSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFBQSxlQUNBO0VBQ0FBO0lBQ0FDO0VBQ0E7RUFDQUM7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBO01BQ0FDO01BQ0E7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQTtNQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUNBOztFQUNBQztJQUNBQztNQUFBO01BQUE7UUFBQTtRQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUNBeEI7Z0JBQ0FFO2dCQUNBYTtnQkFBQTtnQkFBQSxPQUNBO2NBQUE7Z0JBQUFFO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2tCQUNBUTtrQkFDQUM7a0JBQ0FDO2dCQUNBO2NBQUE7Y0FBQTtnQkFBQTtZQUFBO1VBQUE7UUFBQTtNQUFBO0lBQ0E7SUFDQUM7TUFBQTtNQUFBO01BQ0E7UUFDQTtRQUNBO1FBQ0E7VUFDQUM7WUFDQUM7VUFDQTtRQUNBO1FBQ0E7VUFDQUM7UUFDQTtRQUNBO1VBQ0EzRDtRQUNBO1FBQ0F5RDtVQUNBQTtVQUNBO1lBQ0E7WUFDQTtZQUNBLHlEQUNBRztjQUNBQztjQUNBQztjQUNBQztjQUNBQztjQUNBTjtjQUNBTztjQUNBO1lBQUEsRUFDQTs7WUFDQTtZQUNBQztVQUNBO1FBQ0E7VUFDQVQ7VUFDQTtRQUNBO01BQ0E7SUFFQTtJQUNBVTtNQUFBO01BQUE7UUFBQTtRQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQTtnQkFBQSxNQUNBUDtrQkFBQTtrQkFBQTtnQkFBQTtnQkFBQSxNQUNBQTtrQkFBQTtrQkFBQTtnQkFBQTtnQkFBQTtnQkFBQSxPQUNBO2NBQUE7Z0JBQUFuQjtnQkFDQTtnQkFDQTtnQkFDQTtrQkFDQTJCO2dCQUNBO2dCQUNBQyxzQ0FDQTVCO2tCQUNBNkI7a0JBQ0FiO2dCQUFBO2dCQUVBVztjQUFBO2dCQUFBLE1BRUFSO2tCQUFBO2tCQUFBO2dCQUFBO2dCQUFBO2dCQUFBLE9BQ0E7Y0FBQTtnQkFBQW5CO2dCQUNBO2dCQUNBO2dCQUNBO2tCQUNBMkI7Z0JBQ0E7Z0JBQ0E7a0JBQ0E3QztrQkFDQVU7a0JBQ0F2QixzQ0FDQTtrQkFDQTRELHlCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBRCx1Q0FDQTVCO29CQUNBNkI7b0JBQ0FiO2tCQUFBO2tCQUVBVztnQkFDQTtjQUFBO2NBQUE7Z0JBQUE7WUFBQTtVQUFBO1FBQUE7TUFBQTtJQUlBO0lBQ0FHO01BQ0E7TUFDQTtNQUNBO1FBQUE7TUFBQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQUE7UUFBQTtRQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUNBUjtnQkFDQUM7Z0JBQ0FDO2dCQUFBLElBQ0FEO2tCQUFBO2tCQUFBO2dCQUFBO2dCQUNBWjtrQkFDQW9CO2tCQUNBbkI7Z0JBQ0E7Z0JBQUE7Y0FBQTtnQkFBQTtnQkFBQSxPQUdBO2NBQUE7Z0JBQUFiO2dCQUNBO2dCQUNBO2tCQUNBUTtrQkFDQUM7a0JBQ0FDO2dCQUNBO2dCQUNBO2NBQUE7Y0FBQTtnQkFBQTtZQUFBO1VBQUE7UUFBQTtNQUFBO0lBQ0E7SUFDQXVCO01BQUE7TUFBQTtRQUFBO1FBQUE7VUFBQTtZQUFBO2NBQUE7Z0JBQ0FWO2dCQUNBckI7Z0JBQ0F1QjtnQkFBQSxJQUNBdkI7a0JBQUE7a0JBQUE7Z0JBQUE7Z0JBQ0FVO2tCQUNBb0I7a0JBQ0FuQjtnQkFDQTtnQkFBQTtjQUFBO2dCQUFBO2dCQUFBLE9BR0E7Y0FBQTtnQkFBQWI7Z0JBQ0E7Z0JBQ0E7a0JBQ0FRO2tCQUNBQztrQkFDQUM7Z0JBQ0E7Z0JBQ0E7Y0FBQTtjQUFBO2dCQUFBO1lBQUE7VUFBQTtRQUFBO01BQUE7SUFDQTtJQUNBd0I7SUFDQUM7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBeEI7UUFDQXlCO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTFCO1FBQ0F5QjtNQUNBO0lBQ0E7SUFDQUU7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQUEsQ0FDQTtJQUNBQztNQUNBO01BQ0E7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTlCO1FBQ0F5QjtNQUNBO0lBQ0E7SUFDQU07TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtNQUNBaEM7UUFDQUM7TUFDQTtNQUNBO1FBQ0FDO1FBQ0ErQjtRQUNBQztNQUNBO01BQ0FsQztRQUNBQTtRQUNBO1VBQ0E7WUFDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0FBO01BQ0E7SUFDQTtJQUNBO0lBQ0FtQztNQUVBO01BQ0E7TUFDQTtNQUNBLDBDQUNBQztRQUNBMUY7TUFBQSxFQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0EyRjtNQUNBO01BQ0E7TUFDQTtNQUNBLDBDQUNBRDtRQUNBRTtNQUFBLEVBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQSwwQ0FDQUg7UUFDQUU7TUFBQSxFQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FFO01BQ0E7TUFDQTtNQUNBO01BQ0EsMENBQ0FKO1FBQ0FFO01BQUEsRUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQUc7TUFBQTtNQUNBekM7UUFDQUM7TUFDQTtNQUNBO1FBQ0FDO1FBQ0F3QztNQUNBO01BQ0ExQztRQUNBQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1lBQ0E7VUFDQTtZQUNBO1VBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBQTtRQUNBO01BQ0E7SUFDQTtJQUNBMkM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0EseUZBQ0E3RjtNQUNBO01BQ0EseUZBQ0FFO01BQ0E7TUFDQTtJQUNBO0lBQ0E0RjtNQUNBNUM7SUFDQTtJQUNBNkM7TUFDQTdDO1FBQ0F5QjtNQUNBO0lBQ0E7RUFDQTtFQUNBcUI7SUFDQTtJQUNBO0lBQ0EsdUJBR0E7TUFBQSx5Q0FGQUM7TUFBQUE7TUFBQTtNQUFBQztNQUFBO01BQUFDO01BQUFDO01BQUFDO01BQUFDO01BQ0FDO0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7TUFDQTtRQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0E7UUFDQUY7UUFDQUM7UUFDQUM7TUFDQTtNQUNBO1FBQ0FGO1FBQ0FDO1FBQ0FDO01BQ0E7SUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjQ2MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cIm5vdmVsUmVhZGluZ19jb250ZW50XCI+XHJcblx0XHQ8IS0tIFx0IC0tPlxyXG5cdFx0PCEtLSBAdGFwPVwiaGFuZGVsU2hvd1N0ZXBVcFwiIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJub3ZlbFJlYWRpbmdfYm9keVwiIDpzdHlsZT1cImBiYWNrZ3JvdW5kOiR7Ym9keVJlYWRpbmdCZ31gXCI+XHJcblx0XHRcdDwhLS0gIEBjaGFuZ2U9XCJjdXJyZW50Q2hhbmdlXCIgQHNldENhdGFsb2c9XCJzZXRDYXRhbG9nXCIgQGNsaWNrbWU9XCJjbGlja21lXCIgQGNsaWNraGVyPVwiY2xpY2toZXJcIiBAcHJlbG9hZD1cInByZWxvYWRDb250ZW50XCItLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJub3ZlbFJlYWRpbmdfbWFpbl9jb25cIj5cclxuXHRcdFx0XHQ8eWluZ2JpbmctUmVhZFBhZ2Ugc3R5bGU9XCJoZWlnaHQ6IDEwMCU7XCIgcmVmPVwieWluZ2JpbmdSZWFkUGFnZVwiIDpmb290ZXJTaG93PVwidHJ1ZVwiXHJcblx0XHRcdFx0XHQ6cGFnZS10eXBlPVwiY2hhcmFjdGVyc1BhZ2VUeXBlXCIgOmZvbnQtc2l6ZT1cIm5ld0NoYXJhY3RlcnNTaXplXCIgOmVuYWJsZUNsaWNrPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHQ6bGluZS1oZWlnaHQ9XCJkZWZhdWx0Q2hhcmFjdGVyc0xpbmVIZWlnaHRcIiA6Y29sb3I9XCJub3ZlbENvbnRlbnRDb2xvclwiIDpiZy1jb2xvcj1cImJvZHlSZWFkaW5nQmdcIlxyXG5cdFx0XHRcdFx0OnNsaWRlPVwiMjBcIiA6ZW5hYmxlUHJlbG9hZD1cImZhbHNlXCIgQGxvYWRtb3JlPVwibG9hZG1vcmVDb250ZW50XCIgXHJcblx0XHRcdFx0XHRAY2xpY2tUbz1cImhhbmRlbFNob3dTdGVwVXBcIiA6Y2xpY2tPcHRpb249XCJ7d2lkdGg6MjAwLGhlaWdodDogNDAwLGxlZnQ6J2F1dG8nLHRvcDonYXV0byd9XCJcclxuXHRcdFx0XHRcdDp0b3BHYXA9XCIwXCIgOmJvdHRvbUdhcD1cIjIwXCJcclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdDx0ZW1wbGF0ZSAjdGVzdD5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiYWxhbmNlX2NvblwiPlxyXG5cdFx0XHRcdFx0XHRcdDxyaWNoLXRleHQgY2xhc3M9XCJiYWxhbmNlX2Nvbl9yaWNoX3RleHRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OnN0eWxlPVwiYGNvbG9yOiR7bm92ZWxDb250ZW50Q29sb3J9O2ZvbnQtc2l6ZToke25ld0NoYXJhY3RlcnNTaXplfXB4O2BcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Om5vZGVzPVwicmVhZENoYXB0ZXJJbmZvT2JqLmNvbnRlbnRcIj48L3JpY2gtdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJhbGFuY2VfcmVjaGFyZ2Vfb3B0aW9uXCI+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmFsYW5jZV9yZWNoYXJnZVwiIDpzdHlsZT1cImBiYWNrZ3JvdW5kOiR7Ym9keVJlYWRpbmdCZ31gXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJhbGFuY2VfdGlwc1wiIDpzdHlsZT1cImBjb2xvcjoke25vdmVsQ29udGVudENvbG9yfWBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJlYWRDaGFwdGVySW5mb09iai5jaGFja3BheSA9PSAyXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInRva2VuXCIgY2xhc3M9XCJpbnN1ZmZpY2llbnRfZnVuZHNcIiBzc3R5bGU9XCJtYXJnaW4tYm90dG9tOjhycHg7XCI+5Lmm5biB5L2Z6aKd5LiN6LazPC92aWV3Plx0XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0PuS7mOi0ueeroOiKgu+8jOmcgOimgei0reS5sOOAgjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0ID57e3JlYWRDaGFwdGVySW5mb09iai5wcmljZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+5Lmm5biBPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cdFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJlYWRDaGFwdGVySW5mb09iai5jaGFja3BheSA9PSAzXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+5LuY6LS556ug6IqC77yM6ZyA6KaB5YWo5pys6LSt5Lmw44CCPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0Pnt7cmVhZENoYXB0ZXJJbmZvT2JqLmFsbHByaWNlfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+5Lmm5biBPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHRcclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmFsYW5jZV9idG5fYWxsXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCIhdG9rZW5cIiBjbGFzcz1cInB1cmNoYXNlRnVsbF9wb3B1cF9idG5cIiBAY2xpY2s9XCJ0b1BhdGhMb2dpblwiPuaWsOeUqOaIt+eZu+W9lTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1lbHNlLWlmPVwicmVhZENoYXB0ZXJJbmZvT2JqLmNoYWNrcGF5ID09IDJcIiBjbGFzcz1cInB1cmNoYXNlRnVsbF9wb3B1cF9idG5cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEBjbGljaz1cInRvUGF0aExvZ2luXCI+5Y675YWF5YC8PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWVsc2UtaWY9XCJyZWFkQ2hhcHRlckluZm9PYmouY2hhY2twYXkgPT0gM1wiIGNsYXNzPVwicHVyY2hhc2VGdWxsX3BvcHVwX2J0blwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiaGFuZGVsUHVyY2hhc2VGdWxsXCI+6ZyA6KaB5YWo5pys6LSt5LmwXHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdGVtcGxhdGU+XHJcblx0XHRcdFx0PC95aW5nYmluZy1SZWFkUGFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ1X3BvcHVwX2FsbFwiPlxyXG5cdFx0XHQ8dS1wb3B1cCA6c2hvdz1cIm5hdmJhclBvcHVwU2hvd1wiIEBjbG9zZT1cImRpcmVjdG9yeVBvcHVwQ2xvc2VcIiBtb2RlPVwidG9wXCIgOm92ZXJsYXk9XCJmYWxzZVwiIGJnQ29sb3I9XCJ0cmFuc3BhcmVudFwiID5cclxuXHRcdFx0XHQ8dS1uYXZiYXIgOnRpdGxlPVwibmF2YmFyVGl0bGVcIiBAcmlnaHRDbGljaz1cInJpZ2h0Q2xpY2tcIiA6YXV0b0JhY2s9XCJ0cnVlXCIgOmZpeGVkPVwiZmFsc2VcIiA6YmdDb2xvcj1cIm1haW5Cb2R5QmdcIlxyXG5cdFx0XHRcdFx0OnRpdGxlU3R5bGU9XCJ7IGNvbG9yOiBuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0Q29sb3IgfVwiIDpsZWZ0SWNvbkNvbG9yPVwibmF2aWdhdGlvbkJhclRpdGxlVGV4dEJhY2tDb2xvclwiXHJcblx0XHRcdFx0XHQ6c2hhZG93PVwidHJ1ZVwiIDpzYWZlQXJlYUluc2V0VG9wPVwidHJ1ZVwiIDpwbGFjZWhvbGRlcj1cInRydWVcIiAvPlxyXG5cdFx0XHQ8L3UtcG9wdXA+XHJcblx0XHRcdDx1LXBvcHVwIDpzaG93PVwicmVhZGluZ1BvcHVwc2hvd1wiIG1vZGU9XCJib3R0b21cIiA6b3ZlcmxheT1cImZhbHNlXCIgekluZGV4PVwiNFwiIGJnQ29sb3I9XCJ0cmFuc3BhcmVudFwiIDpzYWZlQXJlYUluc2V0Qm90dG9tPVwiZmFsc2VcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInJlYWRpbmdfc2NoZWR1bGVfYm94XCIgOnN0eWxlPVwiYGJhY2tncm91bmQ6JHtib2R5UmVhZGluZ0JnfWBcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicmVhZGluZ19zY2hlZHVsZV9ib2R5XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiX3ByZXZpb3VzX2NoYXB0ZXJcIlxyXG5cdFx0XHRcdFx0XHRcdDpzdHlsZT1cImBjb2xvcjoke3ByZXZpb3VzQ2hhcHRlckJidXR0b25UZXh0Q29sb3J9O2JhY2tncm91bmQ6JHtwcmV2aW91c0NoYXB0ZXJCYnV0dG9uQmd9YFwiXHJcblx0XHRcdFx0XHRcdFx0QHRhcD1cInByZXZpb3VzQ2hhcHRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdOS4iuS4gOeroFxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiX25leHRfY2hhcHRlclwiXHJcblx0XHRcdFx0XHRcdFx0OnN0eWxlPVwiYGNvbG9yOiR7bmV4dENoYXB0ZXJCYnV0dG9uVGV4dENvbG9yfTtiYWNrZ3JvdW5kOiR7bmV4dENoYXB0ZXJCYnV0dG9uQmd9YFwiXHJcblx0XHRcdFx0XHRcdFx0QHRhcD1cIm5leHRDaGFwdGVyXCI+5LiL5LiA56ugXHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibXlfdGFiQmFyX1JlYWRpbmdcIiA6c3R5bGU9XCJgYmFja2dyb3VuZDoke2JvZHlSZWFkaW5nQmd9YFwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRhYkJhcl9SZWFkaW5nX2l0ZW1cIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJlYWRpbmdfaXRlbV9pY29uXCIgQHRhcD1cImhhbmRlbERpcmVjdG9yeVBvcHVwXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJpc19pbWFnZXNcIiA6c3JjPVwiYmFyUG9wdXBJY29uW25vdmVsTWFpblR5cGVDb2xvcl0uZGlyZWN0b3J5X2ljb25cIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJlYWRpbmdfaXRlbV9uYW1lXCIgOnN0eWxlPVwiYGNvbG9yOiR7dGFiQmFyVGV4dENvbG9yfWBcIj7nm67lvZU8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0YWJCYXJfUmVhZGluZ19pdGVtXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyZWFkaW5nX2l0ZW1faWNvblwiIEB0YXA9XCJ0b0Jvb2tzaGVsZlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiaXNfaW1hZ2VzXCIgOnNyYz1cImJhclBvcHVwSWNvbltub3ZlbE1haW5UeXBlQ29sb3JdLmJvb2tzaGVsZl9pY29uXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyZWFkaW5nX2l0ZW1fbmFtZVwiIDpzdHlsZT1cImBjb2xvcjoke3RhYkJhclRleHRDb2xvcn1gXCI+5Lmm5Z+OPC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGFiQmFyX1JlYWRpbmdfaXRlbVwiIEB0YXA9XCJoYW5kZWxTdGVVcFBvcHVwXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyZWFkaW5nX2l0ZW1faWNvblwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiaXNfaW1hZ2VzXCIgOnNyYz1cImJhclBvcHVwSWNvbltub3ZlbE1haW5UeXBlQ29sb3JdLnN0ZXBfdXBfaWNvblwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicmVhZGluZ19pdGVtX25hbWVcIiA6c3R5bGU9XCJgY29sb3I6JHt0YWJCYXJUZXh0Q29sb3J9YFwiPuiuvue9rjwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC91LXBvcHVwPlxyXG5cdFx0XHQ8dS1wb3B1cCA6c2hvdz1cInN0ZXBVcFBvcHVwU2hvd1wiIG1vZGU9XCJib3R0b21cIiA6b3ZlcmxheT1cImZhbHNlXCIgYmdDb2xvcj1cInRyYW5zcGFyZW50XCIgekluZGV4PVwiNVwiIDpzYWZlQXJlYUluc2V0Qm90dG9tPVwiZmFsc2VcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInN0ZXBfdXBfYm94XCIgOnN0eWxlPVwiYGJhY2tncm91bmQ6JHtib2R5UmVhZGluZ0JnfWBcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3RlcF91cF9ib3hfYm9keVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInN0ZXBfdXBfaXRlbVwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3RlcF91cF9pdGVtX25hbWVcIiA6c3R5bGU9XCJgY29sb3I6JHtkaWFsb2dUZXh0Q29sb3J9YFwiPuiDjOaZrzwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyA6Y2xhc3M9XCJbYHN0ZXBfdXBfaXRlbV9iZ2AsIG5vdmVsTWFpblR5cGVDb2xvciA9PSAnRjNFRkU5JyA/ICdhY3RpdmVCbGFjaycgOiAnJ11cIlxyXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJiYWNrZ3JvdW5kOiAjZjNlZmU5XCIgQHRhcD1cImNoYW5nTm92ZWxNYWluVHlwZSgnRjNFRkU5JylcIj48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgOmNsYXNzPVwiW2BzdGVwX3VwX2l0ZW1fYmdgLCBub3ZlbE1haW5UeXBlQ29sb3IgPT0gJ0NDRDlFMicgPyAnYWN0aXZlQmxhY2snIDogJyddXCJcclxuXHRcdFx0XHRcdFx0XHRcdHN0eWxlPVwiYmFja2dyb3VuZDogI2NjZDllMlwiIEB0YXA9XCJjaGFuZ05vdmVsTWFpblR5cGUoJ0NDRDlFMicpXCI+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IDpjbGFzcz1cIltgc3RlcF91cF9pdGVtX2JnYCwgbm92ZWxNYWluVHlwZUNvbG9yID09ICczMzMzMzMnID8gJ2FjdGl2ZVdoaXRlJyA6ICcnXVwiXHJcblx0XHRcdFx0XHRcdFx0XHRAdGFwPVwiY2hhbmdOb3ZlbE1haW5UeXBlKCczMzMzMzMnKVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiaXNfaW1hZ2VzXCIgOnNyYz1cInNldFVwTW9kZUJsYWNrXCIgLz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzdGVwX3VwX2l0ZW0gbXQ0MHJweFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3RlcF91cF9pdGVtX25hbWVcIiA6c3R5bGU9XCJgY29sb3I6JHtkaWFsb2dUZXh0Q29sb3J9YFwiPuWtl+WPtzwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInN0ZXBfdXBfaXRlbV90ZXh0X2JnXCJcclxuXHRcdFx0XHRcdFx0XHRcdDpzdHlsZT1cImBjb2xvcjoke2RpYWxvZ1RleHRDb2xvcn07YmFja2dyb3VuZDoke2RpYWxvZ0FUZXh0Qmd9YFwiXHJcblx0XHRcdFx0XHRcdFx0XHRAdGFwPVwicmVkdWNlQ2hhcmFjdGVyc1NpemVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdEEtPC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3RlcF91cF9pdGVtX3RleHRfYmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OnN0eWxlPVwiYGNvbG9yOiR7ZGlhbG9nVGV4dENvbG9yfTtiYWNrZ3JvdW5kOiR7ZGlhbG9nQVRleHRCZ31gXCJcclxuXHRcdFx0XHRcdFx0XHRcdEB0YXA9XCJhZGRDaGFyYWN0ZXJzU2l6ZVwiPkErXHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3RlcF91cF9pdGVtX3RleHRfYmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OnN0eWxlPVwiYGNvbG9yOiR7ZGlhbG9nVGV4dENvbG9yfTtiYWNrZ3JvdW5kOiR7ZGlhbG9nQVRleHRCZ31gXCJcclxuXHRcdFx0XHRcdFx0XHRcdEB0YXA9XCJoYW5kZWxDaGFyYWN0ZXJzU2l6ZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx06buY6K6kPC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImhlaWdodDogMTQwcnB4XCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdS1wb3B1cD5cclxuXHRcdDwhLS0gXHQ8dS1wb3B1cCA6c2hvdz1cImRpcmVjdG9yeVBvcHVwU2hvd1wiIEBjbG9zZT1cImRpcmVjdG9yeVBvcHVwQ2xvc2VcIiBtb2RlPVwicmlnaHRcIiA6c2FmZUFyZWFJbnNldFRvcD1cInRydWVcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRpcmVjdG9yeV9wb3B1cF9ib3hcIj5cclxuXHRcdFx0XHRcdDxzY3JvbGwtdmlldyBzY3JvbGwteT1cInRydWVcIiBAc2Nyb2xsdG91cHBlcj1cImRpcmVjdG9yeVBvcHVwVXBwZXJcIlxyXG5cdFx0XHRcdFx0XHRAc2Nyb2xsdG9sb3dlcj1cImRpcmVjdG9yeVBvcHVwTG93ZXJcIiA6c2hvdy1zY3JvbGxiYXI9XCJmYWxzZVwiIGNsYXNzPVwiZGlyZWN0b3J5X3Njcm9sbF95XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiX3BvcHVwX2JveF9pdGVtXCIgdi1mb3I9XCJtIGluIGRpcmVjdG9yeUxpc3RcIiA6a2V5PVwibS5pZFwiIEB0YXA9XCJoYW5kZWxEaXJlY3RvcnlJdGVtXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgOmNsYXNzPVwiWydfaXRlbV9uYW1lJywgcmVhZERpcmVjdG9yeUFjdGl2ZSA9PSBtLmNoYXB0ZXJvcmRlciA/ICdhY3RpdmUnIDogJyddXCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7eyBtLmNoYXB0ZXJuYW1lIH19XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJtLmlzdmlwXCIgY2xhc3M9XCJfaXRlbV9jaGFwdGVyX2xvY2tcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImlzX2ltYWdlc1wiIHNyYz1cIi9zdGF0aWMvaW1hZ2VzL2NoYXB0ZXJfbG9jay5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC9zY3JvbGwtdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdS1wb3B1cD4gLS0+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgc2V0VXBSZWFkaW5nQ29sb3JBbGwgZnJvbSAnLi9zZXRVcFJlYWRpbmdDb2xvckFsbC5qcyc7XHJcblx0aW1wb3J0IGJvb2tzaGVsZl8zMzMgZnJvbSAnQC9zdGF0aWMvaW1hZ2VzL25vdmVsUmVhZGluZy9ib29rc2hlbGZfMzMzLnBuZyc7XHJcblx0aW1wb3J0IGRpcmVjdG9yeV8zMzMgZnJvbSAnQC9zdGF0aWMvaW1hZ2VzL25vdmVsUmVhZGluZy9kaXJlY3RvcnlfMzMzLnBuZyc7XHJcblx0aW1wb3J0IHN0ZXBfdXBfMzMzIGZyb20gJ0Avc3RhdGljL2ltYWdlcy9ub3ZlbFJlYWRpbmcvc3RlcF91cF8zMzMucG5nJztcclxuXHRpbXBvcnQgYm9va3NoZWxmX2NjZDllMiBmcm9tICdAL3N0YXRpYy9pbWFnZXMvbm92ZWxSZWFkaW5nL2Jvb2tzaGVsZl9jY2Q5ZTIucG5nJztcclxuXHRpbXBvcnQgc3RlcF91cF9jY2Q5ZTIgZnJvbSAnQC9zdGF0aWMvaW1hZ2VzL25vdmVsUmVhZGluZy9zdGVwX3VwX2NjZDllMi5wbmcnO1xyXG5cdGltcG9ydCBkaXJlY3RvcnlfY2NkOWUyIGZyb20gJ0Avc3RhdGljL2ltYWdlcy9ub3ZlbFJlYWRpbmcvZGlyZWN0b3J5X2NjZDllMi5wbmcnO1xyXG5cdGltcG9ydCBib29rc2hlbGZfZjNlZmUgZnJvbSAnQC9zdGF0aWMvaW1hZ2VzL25vdmVsUmVhZGluZy9ib29rc2hlbGZfZjNlZmUucG5nJztcclxuXHRpbXBvcnQgZGlyZWN0b3J5X2YzZWZlOSBmcm9tICdAL3N0YXRpYy9pbWFnZXMvbm92ZWxSZWFkaW5nL2RpcmVjdG9yeV9mM2VmZTkucG5nJztcclxuXHRpbXBvcnQgc3RlcF91cF9mM2VmZSBmcm9tICdAL3N0YXRpYy9pbWFnZXMvbm92ZWxSZWFkaW5nL3N0ZXBfdXBfZjNlZmUucG5nJztcclxuXHRpbXBvcnQgc2V0X3VwX21vZGVfYmxhY2sgZnJvbSAnQC9zdGF0aWMvaW1hZ2VzL25vdmVsUmVhZGluZy9zZXRfdXBfbW9kZV9ibGFjay5wbmcnO1xyXG5cdGltcG9ydCByZWNoYXJnZV9lbXB0eSBmcm9tICdAL3N0YXRpYy9pbWFnZXMvcmVjaGFyZ2VfZW1wdHkucG5nJ1xyXG5cdGltcG9ydCBjb25maWcgZnJvbSAnQC9jb25maWcvaW5kZXgnO1xyXG5cdGltcG9ydCB7XHJcblx0XHRpc0dldFN5c3RlbUluZm9cclxuXHR9IGZyb20gJ0AvdXRpbHMvc3lzdGVtSW5mby5qcyc7XHJcblx0aW1wb3J0IHtcclxuXHRcdG15R2V0U3RvcmFnZSxcclxuXHRcdG15U2V0U3RvcmFnZVxyXG5cdH0gZnJvbSAnQC91dGlscy9zdG9yYWdlL2luZGV4LmpzJztcclxuXHRpbXBvcnQgbXlEYXRhIGZyb20gJy4vZGF0YS5qcyc7XHJcblx0aW1wb3J0IENvbW1Cb29rTGVmdFJpZ3RoIGZyb20gJ0AvY29tcG9uZW50cy9jb21tQm9va0xlZnRSaWd0aC9pbmRleC52dWUnXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0Y29tcG9uZW50czoge1xyXG5cdFx0XHRDb21tQm9va0xlZnRSaWd0aFxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0dG9rZW46ICcnLFxyXG5cdFx0XHRcdG5hdmJhclRpdGxlOiAn5bCP6K+06ZiF6K+76aG16Z2iJyxcclxuXHRcdFx0XHRub3ZlbE1haW5UeXBlQ29sb3I6ICcnLFxyXG5cdFx0XHRcdHNldFVwQ29sb3JBbGw6IHt9LFxyXG5cdFx0XHRcdG5hdmlnYXRpb25CYXJUaXRsZVRleHRDb2xvcjogJycsXHJcblx0XHRcdFx0bWFpbkJvZHlCZzogJycsXHJcblx0XHRcdFx0bmF2aWdhdGlvbkJhclRpdGxlVGV4dEJhY2tDb2xvcjogJycsXHJcblx0XHRcdFx0cHJldmlvdXNDaGFwdGVyQmJ1dHRvbkJnOiAnJyxcclxuXHRcdFx0XHRwcmV2aW91c0NoYXB0ZXJCYnV0dG9uVGV4dENvbG9yOiAnJyxcclxuXHRcdFx0XHRuZXh0Q2hhcHRlckJidXR0b25CZzogJycsXHJcblx0XHRcdFx0bmV4dENoYXB0ZXJCYnV0dG9uVGV4dENvbG9yOiAnJyxcclxuXHRcdFx0XHRib2R5UmVhZGluZ0hlaWdodDogMCxcclxuXHRcdFx0XHRzY3JvbGxSZWFkaW5nSGVpZ2h0OiAwLFxyXG5cdFx0XHRcdC8vIOWGheWuueiDjOaZr1xyXG5cdFx0XHRcdGJvZHlSZWFkaW5nQmc6ICcnLFxyXG5cdFx0XHRcdC8vIOW6lemDqOWuieWFqOWMulxyXG5cdFx0XHRcdC8vIGJvdHRvbVNlY3VyZUhlaWdodDogMCxcclxuXHRcdFx0XHRyZWFkaW5nUG9wdXBzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRzdGVwVXBQb3B1cFNob3c6IGZhbHNlLFxyXG5cdFx0XHRcdHB1cmNoYXNlRnVsbFNob3c6IGZhbHNlLFxyXG5cdFx0XHRcdGJhbGFuY2VTaG93OiBmYWxzZSxcclxuXHRcdFx0XHRuYXZiYXJQb3B1cFNob3c6ZmFsc2UsXHJcblx0XHRcdFx0YmFsYW5jZVRpdGxlOiAn5LiL5LiA56ug77yM5LuY6LS556ug6IqCJyxcclxuXHRcdFx0XHQvLyBiYXIg55qEaWNvblxyXG5cdFx0XHRcdGJhclBvcHVwSWNvbjoge30sXHJcblx0XHRcdFx0ZGlhbG9nVGV4dENvbG9yOiAnJyxcclxuXHRcdFx0XHRwcm9ncmVzc0JnOiAnJyxcclxuXHRcdFx0XHRwcm9ncmVzc0FjdGl2ZUJnOiAnJyxcclxuXHRcdFx0XHRzZXRVcE1vZGVCbGFjazogJycsXHJcblx0XHRcdFx0ZGlhbG9nQVRleHRCZzogJycsXHJcblx0XHRcdFx0bm92ZWxDb250ZW50Q29sb3I6ICcnLFxyXG5cdFx0XHRcdC8vIOebruW9leS/oeaBr1xyXG5cdFx0XHRcdGJvb2tzRGlyZWN0b3J5U2lkOiAnMjM4NycsXHJcblx0XHRcdFx0Ym9va0luZm86IHt9LFxyXG5cdFx0XHRcdGJvb2tzRGlyZWN0b3J5UGFnZTogMSxcclxuXHRcdFx0XHRuZXdCb29rc0RpcmVjdG9yeVBhZ2U6IFtdLFxyXG5cdFx0XHRcdGRpcmVjdG9yeUxpc3Q6IFtdLFxyXG5cdFx0XHRcdC8vIGRpcmVjdG9yeVBvcHVwSGVpZ2h0OiAwLFxyXG5cdFx0XHRcdGRpcmVjdG9yeVBvcHVwU2hvdzogZmFsc2UsXHJcblx0XHRcdFx0Ly8g5bCP6K+05L+h5oGvXHJcblx0XHRcdFx0bm92ZWxSZWFkaW5nQ29udGVudFRleHQ6IFtdLFxyXG5cdFx0XHRcdGNoYXJhY3RlcnNQYWdlVHlwZTogJ3JlYWwnLFxyXG5cdFx0XHRcdGRlZmF1bHRDaGFyYWN0ZXJzU2l6ZTogMjgsXHJcblx0XHRcdFx0bmV3Q2hhcmFjdGVyc1NpemU6IDI4LFxyXG5cdFx0XHRcdGRlZmF1bHRDaGFyYWN0ZXJzTGluZUhlaWdodDogMjAsXHJcblx0XHRcdFx0cmVhZERpcmVjdG9yeUFjdGl2ZTogJycsXHJcblx0XHRcdFx0Y29tcHV0ZVJpY2hUZXh0OiAnJyxcclxuXHRcdFx0XHRjb21wdXRlUmljaFRleHRXaWR0aDogMCxcclxuXHRcdFx0XHRyZWZyZXNoZXJUcmlnZ2VyZWQ6IGZhbHNlLFxyXG5cdFx0XHRcdHJlYWRDaGFwdGVyaWQ6ICcnLFxyXG5cdFx0XHRcdHJlYWRDaGFwdGVyRmxhZzogZmFsc2UsXHJcblx0XHRcdFx0cmVhZENoYXB0ZXJJbmZvT2JqOiB7fSxcclxuXHRcdFx0XHRyZWFkQ2hhcHRlckxhc3RpZDogJycsXHJcblx0XHRcdFx0cmVhZENoYXB0ZXJOZXh0aWQ6ICcnLFxyXG5cdFx0XHRcdHJlZnJlc2hlckVuYWJsZWQ6IHRydWUsXHJcblx0XHRcdH07XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0dGhpcy5ib29rc0RpcmVjdG9yeVNpZCA9IG9wdGlvbnMuc2lkO1xyXG5cdFx0XHR0aGlzLm5hdmJhclRpdGxlID0gb3B0aW9ucy5uO1xyXG5cdFx0XHR0aGlzLnJlYWRDaGFwdGVyaWQgPSBvcHRpb25zLmlkO1xyXG5cdFx0XHR0aGlzLmlzR2V0VXNlclJlYWQoKTtcclxuXHRcdH0sXHJcblx0XHRvblNob3coKSB7XHJcblx0XHRcdGNvbnN0IHRva2VuID0gbXlHZXRTdG9yYWdlKCd0b2tlbicpO1xyXG5cdFx0XHR0aGlzLnRva2VuID0gdG9rZW47XHJcblx0XHRcdGNvbnN0IGJvb2tTaWQgPSB0aGlzLmJvb2tzRGlyZWN0b3J5U2lkO1xyXG5cdFx0XHQvLyBjb25zdCBkYXRhID0ge1xyXG5cdFx0XHQvLyBcdHNpZDogYm9va1NpZCxcclxuXHRcdFx0Ly8gfVxyXG5cdFx0XHQvLyB1bmkuJHUuaHR0cC5wb3N0KCcvYm9va2RldGFpbHMnLCBkYXRhKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0Ly8gXHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0Ly8gXHRpZiAocmVzLnN0YXR1cyA9PSAxKSB7XHJcblx0XHRcdC8vIFx0XHRjb25zdCBpbmZvID0gcmVzLmRhdGEuaW5mbztcclxuXHRcdFx0Ly8gXHRcdGNvbnN0IGNvdmVyID0gaW5mby5jb3Zlci5pbmNsdWRlcygnaHR0cCcpID8gaW5mby5jb3ZlciA6IGAke2NvbmZpZy5iYXNlVXJsfSR7aW5mby5jb3Zlcn1gO1xyXG5cdFx0XHQvLyBcdFx0dGhpcy5ib29rSW5mbyA9IHtcclxuXHRcdFx0Ly8gXHRcdFx0Li4uaW5mbyxcclxuXHRcdFx0Ly8gXHRcdFx0Y292ZXJcclxuXHRcdFx0Ly8gXHRcdH07XHJcblx0XHRcdC8vIFx0fVxyXG5cdFx0XHQvLyB9KS5jYXRjaCgoZXJyKSA9PiB7XHJcblx0XHRcdC8vIFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdC8vIH0pXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRhc3luYyBpc0dldFVzZXJSZWFkKCkge1xyXG5cdFx0XHRcdGNvbnN0IGJvb2tzRGlyZWN0b3J5U2lkID0gdGhpcy5ib29rc0RpcmVjdG9yeVNpZDtcclxuXHRcdFx0XHRjb25zdCBib29rc0RpcmVjdG9yeVBhZ2UgPSB0aGlzLmJvb2tzRGlyZWN0b3J5UGFnZTtcclxuXHRcdFx0XHRjb25zdCByZWFkQ2hhcHRlcmlkID0gdGhpcy5yZWFkQ2hhcHRlcmlkID8gdGhpcy5yZWFkQ2hhcHRlcmlkIDogJyc7XHJcblx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJJbmZvT2JqID0gYXdhaXQgdGhpcy5pc0dldEJvb2tJbmZvKHJlYWRDaGFwdGVyaWQsICcnLCB0cnVlKTtcclxuXHRcdFx0XHR0aGlzLm5vdmVsUmVhZGluZ0NvbnRlbnRUZXh0ID0gW3JlYWRDaGFwdGVySW5mb09ial07XHJcblx0XHRcdFx0dGhpcy5yZWFkRGlyZWN0b3J5QWN0aXZlID0gcmVhZENoYXB0ZXJJbmZvT2JqLmNoYXB0ZXJvcmRlcjtcclxuXHRcdFx0XHR0aGlzLnJlYWRDaGFwdGVyTGFzdGlkID0gcmVhZENoYXB0ZXJJbmZvT2JqLmxhc3RpZDtcclxuXHRcdFx0XHR0aGlzLnJlYWRDaGFwdGVyTmV4dGlkID0gcmVhZENoYXB0ZXJJbmZvT2JqLm5leHRpZDtcclxuXHRcdFx0XHR0aGlzLiRyZWZzLnlpbmdiaW5nUmVhZFBhZ2UuaW5pdCh7XHJcblx0XHRcdFx0XHRjb250ZW50czogW3JlYWRDaGFwdGVySW5mb09ial0sXHJcblx0XHRcdFx0XHRzdGFydDogMCxcclxuXHRcdFx0XHRcdGN1cnJlbnRDaGFwdGVyOiByZWFkQ2hhcHRlckluZm9PYmouY2hhcHRlcm9yZGVyXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0aXNHZXRCb29rSW5mbyhjaGFwdGVySWQsIHN0YXR1c1R5cGUsIGlzU2hvd0xvYWRpbmcgPSBmYWxzZSkge1xyXG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgYm9va3NEaXJlY3RvcnlTaWQgPSB0aGlzLmJvb2tzRGlyZWN0b3J5U2lkO1xyXG5cdFx0XHRcdFx0Y29uc3Qgbm92ZWxSZWFkaW5nQ29udGVudFRleHQgPSB0aGlzLm5vdmVsUmVhZGluZ0NvbnRlbnRUZXh0O1xyXG5cdFx0XHRcdFx0aWYgKGlzU2hvd0xvYWRpbmcpIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLidcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjb25zdCBkYXRhID0ge1xyXG5cdFx0XHRcdFx0XHRzaWQ6IGJvb2tzRGlyZWN0b3J5U2lkLFxyXG5cdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdGlmIChjaGFwdGVySWQpIHtcclxuXHRcdFx0XHRcdFx0ZGF0YS5pZCA9IGNoYXB0ZXJJZDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHVuaS4kdS5odHRwLnBvc3QoJy9yZWFkJywgZGF0YSkudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN0YXR1cyA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgcmVzRGF0YSA9IHJlcy5kYXRhO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGlzX25vdmVsX2NvbnRlbnQgPSByZXNEYXRhLm5vdmVsX2NvbnRlbnQucmVwbGFjZSgvPFxcL3A+L2csICdcXG4nKVxyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IHJlYWRDaGFwdGVySW5mb09iaiA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdC4uLnJlc0RhdGEsXHJcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBpc19ub3ZlbF9jb250ZW50LnJlcGxhY2UoLzxwPi9nLCAnJyksXHJcblx0XHRcdFx0XHRcdFx0XHRpc1N0YXJ0OiByZXNEYXRhLmxhc3RpZCA9PSAnJyA/IHRydWUgOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdGlzRW5kOiByZXNEYXRhLm5leHRpZCA9PSAnJyA/IHRydWUgOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdGNoYXB0ZXI6IHJlc0RhdGEuY2hhcHRlcm9yZGVyLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IHJlc0RhdGEuY2hhcHRlcm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRpc1R0aXRsZTogcmVzRGF0YS50aXRsZVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gcmljaFRleHROb2RlczogYDxoMz4ke3Jlcy5kYXRhLmNoYXB0ZXJuYW1lfTwvaDM+PC9icj4ke3Jlcy5kYXRhLm5vdmVsX2NvbnRlbnR9YFxyXG5cdFx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5yZWFkQ2hhcHRlckluZm9PYmogPSByZWFkQ2hhcHRlckluZm9PYmo7XHJcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZShyZWFkQ2hhcHRlckluZm9PYmopO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KS5jYXRjaCgoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIsICc9PT09PT09PScpO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSlcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGFzeW5jIGxvYWRtb3JlQ29udGVudChjaGFwdGVyLCBjYWxsYmFjaykge1xyXG5cdFx0XHRcdGNvbnN0IG5ld1JlYWREaXJlY3RvcnlBY3RpdmUgPSB0aGlzLnJlYWREaXJlY3RvcnlBY3RpdmU7XHJcblx0XHRcdFx0Y29uc3QgbmV3UmVhZENoYXB0ZXJMYXN0aWQgPSB0aGlzLnJlYWRDaGFwdGVyTGFzdGlkO1xyXG5cdFx0XHRcdGNvbnN0IG5ld05vdmVsUmVhZGluZ0NvbnRlbnRUZXh0ID0gdGhpcy5ub3ZlbFJlYWRpbmdDb250ZW50VGV4dDtcclxuXHRcdFx0XHRjb25zdCBuZXdSZWFkQ2hhcHRlck5leHRpZCA9IHRoaXMucmVhZENoYXB0ZXJOZXh0aWQ7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coY2hhcHRlciwgbmV3UmVhZERpcmVjdG9yeUFjdGl2ZSwgXCJsb2FkbW9yZUNvbnRlbnRcIilcclxuXHRcdFx0XHRpZiAoY2hhcHRlciAhPSAxKSB7XHJcblx0XHRcdFx0XHRpZiAoY2hhcHRlciA8IG5ld1JlYWREaXJlY3RvcnlBY3RpdmUpIHtcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJJbmZvT2JqID0gYXdhaXQgdGhpcy5pc0dldEJvb2tJbmZvKG5ld1JlYWRDaGFwdGVyTGFzdGlkKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5ub3ZlbFJlYWRpbmdDb250ZW50VGV4dCA9IFsuLi5uZXdOb3ZlbFJlYWRpbmdDb250ZW50VGV4dCwgcmVhZENoYXB0ZXJJbmZvT2JqXTtcclxuXHRcdFx0XHRcdFx0dGhpcy5yZWFkRGlyZWN0b3J5QWN0aXZlID0gY2hhcHRlcjtcclxuXHRcdFx0XHRcdFx0aWYgKHJlYWRDaGFwdGVySW5mb09iai5jaGFja3BheSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0Y2FsbGJhY2soJ3N1Y2Nlc3MnLCByZWFkQ2hhcHRlckluZm9PYmopXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0Y29uc3Qgb2JqID0ge1xyXG5cdFx0XHRcdFx0XHRcdC4uLnJlYWRDaGFwdGVySW5mb09iaixcclxuXHRcdFx0XHRcdFx0XHRjdXN0b20sXHJcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJydcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRjYWxsYmFjaygnc3VjY2VzcycsIG9iailcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmIChjaGFwdGVyID4gbmV3UmVhZERpcmVjdG9yeUFjdGl2ZSkge1xyXG5cdFx0XHRcdFx0XHRjb25zdCByZWFkQ2hhcHRlckluZm9PYmogPSBhd2FpdCB0aGlzLmlzR2V0Qm9va0luZm8obmV3UmVhZENoYXB0ZXJOZXh0aWQpO1xyXG5cdFx0XHRcdFx0XHR0aGlzLm5vdmVsUmVhZGluZ0NvbnRlbnRUZXh0ID0gW3JlYWRDaGFwdGVySW5mb09iaiwgLi4ubmV3Tm92ZWxSZWFkaW5nQ29udGVudFRleHRdO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnJlYWREaXJlY3RvcnlBY3RpdmUgPSBjaGFwdGVyO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVhZENoYXB0ZXJJbmZvT2JqLmNoYWNrcGF5ID09IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRjYWxsYmFjaygnc3VjY2VzcycsIHJlYWRDaGFwdGVySW5mb09iailcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZiAocmVhZENoYXB0ZXJJbmZvT2JqLmNoYWNrcGF5ID09IDIpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBub3ZlbENvbnRlbnRDb2xvciA9IHRoaXMubm92ZWxDb250ZW50Q29sb3I7XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgbmV3Q2hhcmFjdGVyc1NpemUgPSB0aGlzLm5ld0NoYXJhY3RlcnNTaXplO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGJvZHlSZWFkaW5nQmcgPSB0aGlzLmJvZHlSZWFkaW5nQmc7XHJcblx0XHRcdFx0XHRcdFx0Ly8gXHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgY3VzdG9tID0gW2BzbG90OnRlc3RgXVxyXG5cdFx0XHRcdFx0XHRcdC8vIGNvbnN0IGN1c3RvbSA9IFtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdGA8ZGl2IGNsYXNzPVwiYmFsYW5jZV9jb25cIj5cclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0PGRpdiBjbGFzcz1cImJhbGFuY2VfY29uX3JpY2hfdGV4dFwiXHJcblx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0c3R5bGU9XCJjb2xvcjoke25vdmVsQ29udGVudENvbG9yfTtmb250LXNpemU6JHtuZXdDaGFyYWN0ZXJzU2l6ZX1weDtcIlxyXG5cdFx0XHRcdFx0XHRcdC8vIFx0XHRcdD4ke3JlYWRDaGFwdGVySW5mb09iai5jb250ZW50fTwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdC8vIFx0XHQ8ZGl2IGNsYXNzPVwiYmFsYW5jZV9yZWNoYXJnZV9vcHRpb25cIj48L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0PGRpdiBjbGFzcz1cImJhbGFuY2VfcmVjaGFyZ2VcIiBzdHlsZT1cImJhY2tncm91bmQ6JHtib2R5UmVhZGluZ0JnfVwiPlxyXG5cdFx0XHRcdFx0XHRcdC8vIFx0XHRcdDxkaXYgY2xhc3M9XCJiYWxhbmNlX3RpcHNcIiBzdHlsZT1cImNvbG9yOiR7bm92ZWxDb250ZW50Q29sb3J9XCI+XHJcblx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHTku5jotLnnq6DoioLvvIzpnIDopoHotK3kubDjgIIke3JlYWRDaGFwdGVySW5mb09iai5wcmljZX3kuabluIE8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0XHQ8ZGl2IGNsYXNzPVwiYmFsYW5jZV9idG5fYWxsXCI+XHJcblx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHQ8ZGl2IGNsYXNzPVwicHVyY2hhc2VGdWxsX3BvcHVwX2J0blwiIG9uY2xpY2s9XCJoYW5kZWxQdXJjaGFzZUZ1bGxcIj7pnIDopoHlhajmnKzotK3kubA8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0Ly8gXHQ8L2Rpdj5gXHJcblx0XHRcdFx0XHRcdFx0Ly8gXVxyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IG9iaiA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdC4uLnJlYWRDaGFwdGVySW5mb09iaixcclxuXHRcdFx0XHRcdFx0XHRcdGN1c3RvbSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGNhbGxiYWNrKCdzdWNjZXNzJywgb2JqKVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Y3VycmVudENoYW5nZShwYWdlSW5mbykge1xyXG5cdFx0XHRcdGNvbnN0IG5vdmVsUmVhZGluZ0NvbnRlbnRUZXh0ID0gdGhpcy5ub3ZlbFJlYWRpbmdDb250ZW50VGV4dDtcclxuXHRcdFx0XHRjb25zdCBjaGFwdGVyID0gcGFnZUluZm8uY2hhcHRlcjtcclxuXHRcdFx0XHRjb25zdCBpdGVtVGVtcCA9IG5vdmVsUmVhZGluZ0NvbnRlbnRUZXh0LmZpbHRlcigobSkgPT4gbS5jaGFwdGVyID09IGNoYXB0ZXIpO1xyXG5cdFx0XHRcdHRoaXMucmVhZENoYXB0ZXJMYXN0aWQgPSBpdGVtVGVtcFswXS5sYXN0aWQ7XHJcblx0XHRcdFx0dGhpcy5yZWFkQ2hhcHRlck5leHRpZCA9IGl0ZW1UZW1wWzBdLm5leHRpZDtcclxuXHRcdFx0fSxcclxuXHRcdFx0YXN5bmMgcHJldmlvdXNDaGFwdGVyKCkge1xyXG5cdFx0XHRcdGNvbnN0IG5ld1JlYWREaXJlY3RvcnlBY3RpdmUgPSB0aGlzLnJlYWREaXJlY3RvcnlBY3RpdmU7XHJcblx0XHRcdFx0Y29uc3QgbmV3UmVhZENoYXB0ZXJMYXN0aWQgPSB0aGlzLnJlYWRDaGFwdGVyTGFzdGlkO1xyXG5cdFx0XHRcdGNvbnN0IG5ld05vdmVsUmVhZGluZ0NvbnRlbnRUZXh0ID0gdGhpcy5ub3ZlbFJlYWRpbmdDb250ZW50VGV4dDtcclxuXHRcdFx0XHRpZiAoIW5ld1JlYWRDaGFwdGVyTGFzdGlkKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnLFxyXG5cdFx0XHRcdFx0XHR0aXRsZTogXCLlt7Lnu4/mmK/nrKzkuIDnq6DkuoZcIlxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdHJldHVyblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zdCByZWFkQ2hhcHRlckluZm9PYmogPSBhd2FpdCB0aGlzLmlzR2V0Qm9va0luZm8obmV3UmVhZENoYXB0ZXJMYXN0aWQpO1xyXG5cdFx0XHRcdHRoaXMubm92ZWxSZWFkaW5nQ29udGVudFRleHQgPSBbcmVhZENoYXB0ZXJJbmZvT2JqXTtcclxuXHRcdFx0XHR0aGlzLiRyZWZzLnlpbmdiaW5nUmVhZFBhZ2UuaW5pdCh7XHJcblx0XHRcdFx0XHRjb250ZW50czogW3JlYWRDaGFwdGVySW5mb09ial0sXHJcblx0XHRcdFx0XHRzdGFydDogMCxcclxuXHRcdFx0XHRcdGN1cnJlbnRDaGFwdGVyOiBuZXdSZWFkRGlyZWN0b3J5QWN0aXZlIC0gMVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy5yZWFkRGlyZWN0b3J5QWN0aXZlID0gbmV3UmVhZERpcmVjdG9yeUFjdGl2ZSAtIDE7XHJcblx0XHRcdH0sXHJcblx0XHRcdGFzeW5jIG5leHRDaGFwdGVyKCkge1xyXG5cdFx0XHRcdGNvbnN0IG5ld1JlYWREaXJlY3RvcnlBY3RpdmUgPSB0aGlzLnJlYWREaXJlY3RvcnlBY3RpdmU7XHJcblx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJOZXh0aWQgPSB0aGlzLnJlYWRDaGFwdGVyTmV4dGlkO1xyXG5cdFx0XHRcdGNvbnN0IG5ld05vdmVsUmVhZGluZ0NvbnRlbnRUZXh0ID0gdGhpcy5ub3ZlbFJlYWRpbmdDb250ZW50VGV4dDtcclxuXHRcdFx0XHRpZiAoIXJlYWRDaGFwdGVyTmV4dGlkKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnLFxyXG5cdFx0XHRcdFx0XHR0aXRsZTogXCLlt7Lnu4/mmK/mnIDlkI7kuIDnq6DkuoZ+XCJcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJJbmZvT2JqID0gYXdhaXQgdGhpcy5pc0dldEJvb2tJbmZvKHJlYWRDaGFwdGVyTmV4dGlkKTtcclxuXHRcdFx0XHR0aGlzLm5vdmVsUmVhZGluZ0NvbnRlbnRUZXh0ID0gW3JlYWRDaGFwdGVySW5mb09ial07XHJcblx0XHRcdFx0dGhpcy4kcmVmcy55aW5nYmluZ1JlYWRQYWdlLmluaXQoe1xyXG5cdFx0XHRcdFx0Y29udGVudHM6IFtyZWFkQ2hhcHRlckluZm9PYmpdLFxyXG5cdFx0XHRcdFx0c3RhcnQ6IDAsXHJcblx0XHRcdFx0XHRjdXJyZW50Q2hhcHRlcjogbmV3UmVhZERpcmVjdG9yeUFjdGl2ZSArIDFcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHRoaXMucmVhZERpcmVjdG9yeUFjdGl2ZSA9IG5ld1JlYWREaXJlY3RvcnlBY3RpdmUgKyAxO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRoYW5kZWxEaXJlY3RvcnlJdGVtKHJvdykge30sXHJcblx0XHRcdGhhbmRlbFNob3dTdGVwVXAoKSB7XHJcblx0XHRcdFx0dGhpcy5yZWFkaW5nUG9wdXBzaG93ID0gIXRoaXMucmVhZGluZ1BvcHVwc2hvdztcclxuXHRcdFx0XHR0aGlzLm5hdmJhclBvcHVwU2hvdyA9ICF0aGlzLm5hdmJhclBvcHVwU2hvdztcclxuXHRcdFx0XHR0aGlzLnN0ZXBVcFBvcHVwU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRoYW5kZWxEaXJlY3RvcnlQb3B1cCgpIHtcclxuXHRcdFx0XHQvLyB0aGlzLmRpcmVjdG9yeVBvcHVwU2hvdyA9IHRydWU7XHJcblx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJJbmZvT2JqID0gdGhpcy5yZWFkQ2hhcHRlckluZm9PYmo7XHJcblx0XHRcdFx0Y29uc3QgcmVhZERpcmVjdG9yeUFjdGl2ZSA9IHRoaXMucmVhZERpcmVjdG9yeUFjdGl2ZTtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6IGAvcGFnZXMvYm9va1JlY29tbWVuZExpc3QvYm9va1JlY29tbWVuZExpc3Q/c2lkPSR7cmVhZENoYXB0ZXJJbmZvT2JqLnNpZH0mdD0ke3JlYWRDaGFwdGVySW5mb09iai5pc1RpdGxlfSZjPSR7cmVhZERpcmVjdG9yeUFjdGl2ZX1gXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0dG9QYXRoTG9naW4oKSB7XHJcblx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJJbmZvT2JqID0gdGhpcy5yZWFkQ2hhcHRlckluZm9PYmo7XHJcblx0XHRcdFx0Y29uc3QgcmVhZERpcmVjdG9yeUFjdGl2ZSA9IHRoaXMucmVhZERpcmVjdG9yeUFjdGl2ZTtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6IGAvcGFnZXMvbG9naW4vbG9naW4/c2lkPSR7cmVhZENoYXB0ZXJJbmZvT2JqLnNpZH0maT0ke3JlYWRDaGFwdGVySW5mb09iai5pZH0mYz0ke3JlYWREaXJlY3RvcnlBY3RpdmV9JnRvPTFgXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0ZGlyZWN0b3J5UG9wdXBDbG9zZSgpIHtcclxuXHRcdFx0XHQvLyB0aGlzLmRpcmVjdG9yeVBvcHVwU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHRcdC8vIGNvbnN0IHJlYWRDaGFwdGVySW5mb09iaiA9IHRoaXMucmVhZENoYXB0ZXJJbmZvT2JqO1xyXG5cdFx0XHRcdC8vIHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHQvLyBcdHVybDogYC9wYWdlcy9ib29rUmVjb21tZW5kTGlzdC9ib29rUmVjb21tZW5kTGlzdD9zaWQ9JHtyZWFkQ2hhcHRlckluZm9PYmouc2lkfSZ0PSR7cmVhZENoYXB0ZXJJbmZvT2JqLnRpdGxlfSZjPSR7cmVhZENoYXB0ZXJJbmZvT2JqLmNoYXB0ZXJvcmRlcn1gXHJcblx0XHRcdFx0Ly8gfSlcclxuXHRcdFx0fSxcclxuXHRcdFx0cHVyY2hhc2VGdWxsQ2xvc2UoKSB7XHJcblx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJGbGFnID0gdGhpcy5yZWFkQ2hhcHRlckZsYWc7XHJcblx0XHRcdFx0aWYgKHJlYWRDaGFwdGVyRmxhZykge1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLnB1cmNoYXNlRnVsbFNob3cgPSBmYWxzZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGVsU3RlVXBQb3B1cCgpIHtcclxuXHRcdFx0XHR0aGlzLnN0ZXBVcFBvcHVwU2hvdyA9IHRydWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGJhbGFuY2VDb25maXJtKCkge1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogYC9wYWdlcy92b3VjaGVyQ2VudGVyL2luZGV4YFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGJhbGFuY2VDYW5jZWwoKSB7XHJcblx0XHRcdFx0dGhpcy5iYWxhbmNlU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRoYW5kZWxQdXJjaGFzZUZ1bGwoKSB7XHJcblx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJJbmZvT2JqID0gdGhpcy5yZWFkQ2hhcHRlckluZm9PYmo7XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJ1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGNvbnN0IGRhdGEgPSB7XHJcblx0XHRcdFx0XHRzaWQ6IHJlYWRDaGFwdGVySW5mb09iai5zaWQsXHJcblx0XHRcdFx0XHRpZDogcmVhZENoYXB0ZXJJbmZvT2JqLmlkLFxyXG5cdFx0XHRcdFx0YWxscHJpY2U6IHJlYWRDaGFwdGVySW5mb09iai5hbGxwcmljZSxcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdHVuaS4kdS5odHRwLnBvc3QoJy9idXlhbGwnLCBkYXRhKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXMgPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEuc3RhdHVzID09IDIpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmJhbGFuY2VTaG93ID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmJhbGFuY2VUaXRsZSA9ICcnO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSkuY2F0Y2goKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOWIh+aNoumhtemdouminOiJslxyXG5cdFx0XHRjaGFuZ05vdmVsTWFpblR5cGUodHlwZSkge1xyXG5cclxuXHRcdFx0XHR0aGlzLm5vdmVsTWFpblR5cGVDb2xvciA9IHR5cGU7XHJcblx0XHRcdFx0dGhpcy5pbml0UGFnZSh0eXBlKTtcclxuXHRcdFx0XHRjb25zdCBub3ZlbE1haW5PYmogPSBteUdldFN0b3JhZ2UoJ25vdmVsTWFpbk9iaicpIHx8ICd7fSc7XHJcblx0XHRcdFx0Y29uc3Qgb2JqID0ge1xyXG5cdFx0XHRcdFx0Li4uSlNPTi5wYXJzZShub3ZlbE1haW5PYmopLFxyXG5cdFx0XHRcdFx0bm92ZWxNYWluVHlwZUNvbG9yOiB0eXBlLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRteVNldFN0b3JhZ2UoJ25vdmVsTWFpbk9iaicsIEpTT04uc3RyaW5naWZ5KG9iaikpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDlrZfkvZPlh4/lsI9cclxuXHRcdFx0cmVkdWNlQ2hhcmFjdGVyc1NpemUoKSB7XHJcblx0XHRcdFx0Y29uc3QgbmV3Q2hhcmFjdGVyc1NpemUgPSB0aGlzLm5ld0NoYXJhY3RlcnNTaXplO1xyXG5cdFx0XHRcdHRoaXMubmV3Q2hhcmFjdGVyc1NpemUgPSBuZXdDaGFyYWN0ZXJzU2l6ZSAtIDI7XHJcblx0XHRcdFx0Y29uc3Qgbm92ZWxNYWluT2JqID0gbXlHZXRTdG9yYWdlKCdub3ZlbE1haW5PYmonKSB8fCAne30nO1xyXG5cdFx0XHRcdGNvbnN0IG9iaiA9IHtcclxuXHRcdFx0XHRcdC4uLkpTT04ucGFyc2Uobm92ZWxNYWluT2JqKSxcclxuXHRcdFx0XHRcdGNoYXJhY3RlcnNTaXplOiBuZXdDaGFyYWN0ZXJzU2l6ZSAtIDIsXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdG15U2V0U3RvcmFnZSgnbm92ZWxNYWluT2JqJywgSlNPTi5zdHJpbmdpZnkob2JqKSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOWtl+S9k+WKoOWkp1xyXG5cdFx0XHRhZGRDaGFyYWN0ZXJzU2l6ZSgpIHtcclxuXHRcdFx0XHRjb25zdCBuZXdDaGFyYWN0ZXJzU2l6ZSA9IHRoaXMubmV3Q2hhcmFjdGVyc1NpemU7XHJcblx0XHRcdFx0dGhpcy5uZXdDaGFyYWN0ZXJzU2l6ZSA9IG5ld0NoYXJhY3RlcnNTaXplICsgMjtcclxuXHRcdFx0XHRjb25zdCBub3ZlbE1haW5PYmogPSBteUdldFN0b3JhZ2UoJ25vdmVsTWFpbk9iaicpIHx8ICd7fSc7XHJcblx0XHRcdFx0Y29uc3Qgb2JqID0ge1xyXG5cdFx0XHRcdFx0Li4uSlNPTi5wYXJzZShub3ZlbE1haW5PYmopLFxyXG5cdFx0XHRcdFx0Y2hhcmFjdGVyc1NpemU6IG5ld0NoYXJhY3RlcnNTaXplICsgMixcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bXlTZXRTdG9yYWdlKCdub3ZlbE1haW5PYmonLCBKU09OLnN0cmluZ2lmeShvYmopKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5oGi5aSN6buY6K6k5a2X5L2T5aSn5bCPXHJcblx0XHRcdGhhbmRlbENoYXJhY3RlcnNTaXplKCkge1xyXG5cdFx0XHRcdGNvbnN0IGRlZmF1bHRDaGFyYWN0ZXJzU2l6ZSA9IHRoaXMuZGVmYXVsdENoYXJhY3RlcnNTaXplO1xyXG5cdFx0XHRcdHRoaXMubmV3Q2hhcmFjdGVyc1NpemUgPSBkZWZhdWx0Q2hhcmFjdGVyc1NpemU7XHJcblx0XHRcdFx0Y29uc3Qgbm92ZWxNYWluT2JqID0gbXlHZXRTdG9yYWdlKCdub3ZlbE1haW5PYmonKSB8fCAne30nO1xyXG5cdFx0XHRcdGNvbnN0IG9iaiA9IHtcclxuXHRcdFx0XHRcdC4uLkpTT04ucGFyc2Uobm92ZWxNYWluT2JqKSxcclxuXHRcdFx0XHRcdGNoYXJhY3RlcnNTaXplOiBkZWZhdWx0Q2hhcmFjdGVyc1NpemUsXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdG15U2V0U3RvcmFnZSgnbm92ZWxNYWluT2JqJywgSlNPTi5zdHJpbmdpZnkob2JqKSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIC8vIOebruW9leWIkuWIsOS6huacgOS4iui+uVxyXG5cdFx0XHQvLyBkaXJlY3RvcnlQb3B1cFVwcGVyKCkge1xyXG5cdFx0XHQvLyBcdGNvbnN0IGlzQm9va3NEaXJlY3RvcnlQYWdlID0gdGhpcy5ib29rc0RpcmVjdG9yeVBhZ2U7XHJcblx0XHRcdC8vIFx0Y29uc3QgbmV3Qm9va3NEaXJlY3RvcnlQYWdlID0gdGhpcy5uZXdCb29rc0RpcmVjdG9yeVBhZ2U7XHJcblx0XHRcdC8vIFx0aWYgKGlzQm9va3NEaXJlY3RvcnlQYWdlID4gMSAmJiBuZXdCb29rc0RpcmVjdG9yeVBhZ2UuaW5kZXhPZihpc0Jvb2tzRGlyZWN0b3J5UGFnZSkgPT0gLTEpIHtcclxuXHRcdFx0Ly8gXHRcdGNvbnN0IGJvb2tzRGlyZWN0b3J5U2lkID0gdGhpcy5ib29rc0RpcmVjdG9yeVNpZDtcclxuXHRcdFx0Ly8gXHRcdGNvbnN0IGJvb2tzRGlyZWN0b3J5UGFnZSA9IGlzQm9va3NEaXJlY3RvcnlQYWdlIC0gMTtcclxuXHRcdFx0Ly8gXHRcdHRoaXMuYm9va3NEaXJlY3RvcnlQYWdlID0gYm9va3NEaXJlY3RvcnlQYWdlO1xyXG5cdFx0XHQvLyBcdFx0dGhpcy5pc0dldERpcmVjdG9yeShib29rc0RpcmVjdG9yeVNpZCwgYm9va3NEaXJlY3RvcnlQYWdlLCAndXBwZXInKTtcclxuXHRcdFx0Ly8gXHR9XHJcblx0XHRcdC8vIH0sXHJcblx0XHRcdC8vIC8vIOebruW9leWIkuWIsOS6huacgOS4i+i+uVxyXG5cdFx0XHQvLyBkaXJlY3RvcnlQb3B1cExvd2VyKCkge1xyXG5cdFx0XHQvLyBcdGNvbnN0IGlzQm9va3NEaXJlY3RvcnlQYWdlID0gdGhpcy5ib29rc0RpcmVjdG9yeVBhZ2U7XHJcblx0XHRcdC8vIFx0Y29uc3QgYm9va3NEaXJlY3RvcnlTaWQgPSB0aGlzLmJvb2tzRGlyZWN0b3J5U2lkO1xyXG5cdFx0XHQvLyBcdGNvbnN0IGJvb2tzRGlyZWN0b3J5UGFnZSA9IGlzQm9va3NEaXJlY3RvcnlQYWdlICsgMTtcclxuXHRcdFx0Ly8gXHRjb25zdCBuZXdCb29rc0RpcmVjdG9yeVBhZ2UgPSBbLi4udGhpcy5uZXdCb29rc0RpcmVjdG9yeVBhZ2UsIGJvb2tzRGlyZWN0b3J5UGFnZV07XHJcblx0XHRcdC8vIFx0dGhpcy5uZXdCb29rc0RpcmVjdG9yeVBhZ2UgPSBuZXdCb29rc0RpcmVjdG9yeVBhZ2U7XHJcblx0XHRcdC8vIFx0dGhpcy5ib29rc0RpcmVjdG9yeVBhZ2UgPSBib29rc0RpcmVjdG9yeVBhZ2U7XHJcblx0XHRcdC8vIFx0dGhpcy5pc0dldERpcmVjdG9yeShib29rc0RpcmVjdG9yeVNpZCwgYm9va3NEaXJlY3RvcnlQYWdlLCAnbG93ZXInKTtcclxuXHRcdFx0Ly8gfSxcclxuXHRcdFx0aXNHZXREaXJlY3Rvcnkoc2lkLCBwYWdlLCB0eXBlKSB7XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJ1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGNvbnN0IGRhdGEgPSB7XHJcblx0XHRcdFx0XHRzaWQsXHJcblx0XHRcdFx0XHRwYWdlXHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHR1bmkuJHUuaHR0cC5wb3N0KCcvZ2V0RGlyZWN0b3J5JywgZGF0YSkudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzID09IDEpIHtcclxuXHRcdFx0XHRcdFx0Y29uc3QgZGlyZWN0b3J5ID0gcmVzLmRhdGEuZGlyZWN0b3J5O1xyXG5cdFx0XHRcdFx0XHRsZXQgY29sdW1uc0xhYmVsID0gJyc7XHJcblx0XHRcdFx0XHRcdGlmICh0eXBlID09ICd1cHBlcicpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmRpcmVjdG9yeUxpc3QgPSBbLi4uZGlyZWN0b3J5LCAuLi50aGlzLmRpcmVjdG9yeUxpc3RdO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHR5cGUgPT0gJ2xvd2VyJykge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZGlyZWN0b3J5TGlzdCA9IFsuLi50aGlzLmRpcmVjdG9yeUxpc3QsIC4uLmRpcmVjdG9yeV07XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kaXJlY3RvcnlMaXN0ID0gZGlyZWN0b3J5O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSkuY2F0Y2goKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIsICc9PT09PT09PScpO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbml0UGFnZShub3ZlbE1haW5UeXBlQ29sb3IpIHtcclxuXHRcdFx0XHRjb25zdCBtYWluQm9keUJnID0gc2V0VXBSZWFkaW5nQ29sb3JBbGxbbm92ZWxNYWluVHlwZUNvbG9yXS5tYWluQm9keUJnO1xyXG5cdFx0XHRcdHRoaXMubmF2aWdhdGlvbkJhclRpdGxlVGV4dENvbG9yID0gc2V0VXBSZWFkaW5nQ29sb3JBbGxbbm92ZWxNYWluVHlwZUNvbG9yXS5uYXZpZ2F0aW9uQmFyVGl0bGVUZXh0Q29sb3I7XHJcblx0XHRcdFx0dGhpcy5tYWluQm9keUJnID0gbWFpbkJvZHlCZztcclxuXHRcdFx0XHR0aGlzLmJvZHlSZWFkaW5nQmcgPSBtYWluQm9keUJnO1xyXG5cdFx0XHRcdHRoaXMuZGlhbG9nVGV4dENvbG9yID0gc2V0VXBSZWFkaW5nQ29sb3JBbGxbbm92ZWxNYWluVHlwZUNvbG9yXS5kaWFsb2dUZXh0Q29sb3I7XHJcblx0XHRcdFx0dGhpcy5wcm9ncmVzc0JnID0gc2V0VXBSZWFkaW5nQ29sb3JBbGxbbm92ZWxNYWluVHlwZUNvbG9yXS5wcm9ncmVzc0JnO1xyXG5cdFx0XHRcdHRoaXMucHJvZ3Jlc3NBY3RpdmVCZyA9IHNldFVwUmVhZGluZ0NvbG9yQWxsW25vdmVsTWFpblR5cGVDb2xvcl0ucHJvZ3Jlc3NBY3RpdmVCZztcclxuXHRcdFx0XHR0aGlzLnNldFVwTW9kZUJsYWNrID0gc2V0X3VwX21vZGVfYmxhY2s7XHJcblx0XHRcdFx0dGhpcy5kaWFsb2dBVGV4dEJnID0gc2V0VXBSZWFkaW5nQ29sb3JBbGxbbm92ZWxNYWluVHlwZUNvbG9yXS5kaWFsb2dBVGV4dEJnO1xyXG5cdFx0XHRcdHRoaXMudGFiQmFyVGV4dENvbG9yID0gc2V0VXBSZWFkaW5nQ29sb3JBbGxbbm92ZWxNYWluVHlwZUNvbG9yXS50YWJCYXJUZXh0Q29sb3I7XHJcblx0XHRcdFx0dGhpcy5ub3ZlbENvbnRlbnRDb2xvciA9IHNldFVwUmVhZGluZ0NvbG9yQWxsW25vdmVsTWFpblR5cGVDb2xvcl0ubm92ZWxDb250ZW50Q29sb3I7XHJcblx0XHRcdFx0dGhpcy5uYXZpZ2F0aW9uQmFyVGl0bGVUZXh0QmFja0NvbG9yID0gc2V0VXBSZWFkaW5nQ29sb3JBbGxbbm92ZWxNYWluVHlwZUNvbG9yXVxyXG5cdFx0XHRcdFx0Lm5hdmlnYXRpb25CYXJUaXRsZVRleHRCYWNrQ29sb3I7XHJcblx0XHRcdFx0dGhpcy5wcmV2aW91c0NoYXB0ZXJCYnV0dG9uQmcgPSBzZXRVcFJlYWRpbmdDb2xvckFsbFtub3ZlbE1haW5UeXBlQ29sb3JdLnByZXZpb3VzQ2hhcHRlckJidXR0b25CZztcclxuXHRcdFx0XHR0aGlzLnByZXZpb3VzQ2hhcHRlckJidXR0b25UZXh0Q29sb3IgPSBzZXRVcFJlYWRpbmdDb2xvckFsbFtub3ZlbE1haW5UeXBlQ29sb3JdXHJcblx0XHRcdFx0XHQucHJldmlvdXNDaGFwdGVyQmJ1dHRvblRleHRDb2xvcjtcclxuXHRcdFx0XHR0aGlzLm5leHRDaGFwdGVyQmJ1dHRvbkJnID0gc2V0VXBSZWFkaW5nQ29sb3JBbGxbbm92ZWxNYWluVHlwZUNvbG9yXS5uZXh0Q2hhcHRlckJidXR0b25CZztcclxuXHRcdFx0XHR0aGlzLm5leHRDaGFwdGVyQmJ1dHRvblRleHRDb2xvciA9IHNldFVwUmVhZGluZ0NvbG9yQWxsW25vdmVsTWFpblR5cGVDb2xvcl0ubmV4dENoYXB0ZXJCYnV0dG9uVGV4dENvbG9yO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRyaWdodENsaWNrKCkge1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZUJhY2soKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dG9Cb29rc2hlbGYoKSB7XHJcblx0XHRcdFx0dW5pLnJlTGF1bmNoKHtcclxuXHRcdFx0XHRcdHVybDogYC9wYWdlcy9ib29rQ2l0eS9ib29rQ2l0eS9pbmRleGBcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0Y3JlYXRlZCgpIHtcclxuXHRcdFx0Y29uc3Qgbm92ZWxNYWluT2JqID0gbXlHZXRTdG9yYWdlKCdub3ZlbE1haW5PYmonKSB8fCAne30nO1xyXG5cdFx0XHRjb25zdCBub3ZlbE1haW5UeXBlQ29sb3IgPSBKU09OLnBhcnNlKG5vdmVsTWFpbk9iaikubm92ZWxNYWluVHlwZUNvbG9yIHx8ICdGM0VGRTknO1xyXG5cdFx0XHRjb25zdCB7XHJcblx0XHRcdFx0c2NyZWVuSGVpZ2h0ID0gMCwgc3RhdHVzQmFySGVpZ2h0ID0gMCwgd2luZG93SGVpZ2h0ID0gMCwgZGV2aWNlUGl4ZWxSYXRpbywgd2luZG93Qm90dG9tLCB3aW5kb3dXaWR0aCxcclxuXHRcdFx0XHRcdHNjcmVlbldpZHRoXHJcblx0XHRcdH0gPSBpc0dldFN5c3RlbUluZm8oKTtcclxuXHRcdFx0Ly8gdGhpcy5teURhdGEgPSBteURhdGE7XHJcblx0XHRcdHRoaXMuY29tcHV0ZVJpY2hUZXh0V2lkdGggPSB3aW5kb3dXaWR0aDtcclxuXHRcdFx0dGhpcy5ub3ZlbE1haW5UeXBlQ29sb3IgPSBub3ZlbE1haW5UeXBlQ29sb3I7XHJcblx0XHRcdHRoaXMubmV3Q2hhcmFjdGVyc1NpemUgPSBKU09OLnBhcnNlKG5vdmVsTWFpbk9iaikuY2hhcmFjdGVyc1NpemUgfHwgMjg7XHJcblx0XHRcdHRoaXMuYm9keVJlYWRpbmdIZWlnaHQgPSBzY3JlZW5IZWlnaHQgLSBzdGF0dXNCYXJIZWlnaHQgLSBkZXZpY2VQaXhlbFJhdGlvICogMjI7XHJcblx0XHRcdHRoaXMuc2V0VXBDb2xvckFsbCA9IHNldFVwUmVhZGluZ0NvbG9yQWxsO1xyXG5cdFx0XHR0aGlzLmJhclBvcHVwSWNvbiA9IHtcclxuXHRcdFx0XHQnRjNFRkU5Jzoge1xyXG5cdFx0XHRcdFx0Ym9va3NoZWxmX2ljb246IGJvb2tzaGVsZl9mM2VmZSxcclxuXHRcdFx0XHRcdGRpcmVjdG9yeV9pY29uOiBkaXJlY3RvcnlfZjNlZmU5LFxyXG5cdFx0XHRcdFx0c3RlcF91cF9pY29uOiBzdGVwX3VwX2YzZWZlXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQnQ0NEOUUyJzoge1xyXG5cdFx0XHRcdFx0Ym9va3NoZWxmX2ljb246IGJvb2tzaGVsZl9jY2Q5ZTIsXHJcblx0XHRcdFx0XHRkaXJlY3RvcnlfaWNvbjogZGlyZWN0b3J5X2NjZDllMixcclxuXHRcdFx0XHRcdHN0ZXBfdXBfaWNvbjogc3RlcF91cF9jY2Q5ZTJcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdCczMzMzMzMnOiB7XHJcblx0XHRcdFx0XHRib29rc2hlbGZfaWNvbjogYm9va3NoZWxmXzMzMyxcclxuXHRcdFx0XHRcdGRpcmVjdG9yeV9pY29uOiBkaXJlY3RvcnlfMzMzLFxyXG5cdFx0XHRcdFx0c3RlcF91cF9pY29uOiBzdGVwX3VwXzMzM1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fTtcclxuXHRcdFx0dGhpcy5pbml0UGFnZShub3ZlbE1haW5UeXBlQ29sb3IpO1xyXG5cdFx0fSxcclxuXHR9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cclxuXHRwYWdlIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdH1cclxuXHJcblx0LmlzX2ltYWdlcyB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdH1cclxuXHJcblx0Lm10NDBycHgge1xyXG5cdFx0bWFyZ2luLXRvcDogNDBycHg7XHJcblx0fVxyXG5cclxuXHJcblx0L2RlZXAvLmJhbGFuY2VfY29uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblxyXG5cdFx0LmJhbGFuY2VfY29uX3JpY2hfdGV4dCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDgwJTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDI7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHR9XHJcblxyXG5cdFx0LmJhbGFuY2VfcmVjaGFyZ2Vfb3B0aW9uIHtcclxuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHdpZHRoOiA0MTRweDtcclxuXHRcdFx0aGVpZ2h0OiA1NjBycHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjQzLCAyMzksIDIzMywgMC43KTtcclxuXHRcdFx0ZmlsdGVyOiBibHVyKDEwcHgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5iYWxhbmNlX3JlY2hhcmdlIHtcclxuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0XHRib3R0b206IDBycHg7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRib3gtc2hhZG93OiAwIDAgOHJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0XHRcdGhlaWdodDogMzYwcnB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAyNHJweCAyNHJweCAwIDA7XHJcblx0XHRcdHBhZGRpbmc6IDMycnB4O1xyXG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuXHRcdFx0LmJhbGFuY2VfdGlwcyB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmJhbGFuY2VfYnRuX2FsbCB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMzJycHg7XHJcblxyXG5cdFx0XHRcdC5wdXJjaGFzZUZ1bGxfcG9wdXBfYnRuIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdGhlaWdodDogODRycHg7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcnB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjRkJBNjc2LCAjRTk1RTMyKTtcclxuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDI0cnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQubm92ZWxSZWFkaW5nX2NvbnRlbnQgL2RlZXAvLnUtbmF2YmFyIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAxMHJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0fVxyXG5cdC5ub3ZlbFJlYWRpbmdfY29udGVudCAvZGVlcC8udS1uYXZiYXJfX2NvbnRlbnRfX3RpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0fVxyXG5cclxuXHQubm92ZWxSZWFkaW5nX2NvbnRlbnQgL2RlZXAvLnUtbmF2YmFyLS1maXhlZCB7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgOHJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0fVxyXG5cclxuXHQubm92ZWxSZWFkaW5nX2NvbnRlbnQgL2RlZXAvLnotcGFnaW5nLWNvbnRlbnQge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdH1cclxuXHJcblx0I2NvbXB1dGVfcmljaF90ZXh0IHtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHRvcDogMTUwMHB4O1xyXG5cdFx0cGFkZGluZzogMzJycHg7XHJcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdH1cclxuXHJcblx0Lm5vdmVsUmVhZGluZ19jb250ZW50IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdC5ub3ZlbFJlYWRpbmdfYm9keSB7XHJcblx0XHRcdGZsZXg6IDE7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdFx0Lm5vdmVsUmVhZGluZ19tYWluX2NvbiB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHQvLyAvLyBwYWRkaW5nOiAzMnJweCAzMnJweDtcclxuXHRcdFx0XHQvLyBwYWRkaW5nLWJvdHRvbTogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XHJcblx0XHRcdFx0Ly8gLyog5YW85a65IGlPUyDorr7lpIcgKi9cclxuXHRcdFx0XHQvLyBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xyXG5cdFx0XHRcdC8vIC8qIOWFvOWuuSBpUGhvbmUgWCDlj4rku6XkuIrorr7lpIcgKi9cclxuXHRcdFx0XHQvLyBwYWRkaW5nLXRvcDogdmFyKC0tc3RhdHVzLWJhci1oZWlnaHQpO1xyXG5cdFx0XHRcdC8vIC8qIOWFvOWuuSBpT1Mg6K6+5aSHICovXHJcblx0XHRcdFx0Ly8gLy8gcGFkZGluZy10b3A6dmFyKOKAk3N0YXR1cy1iYXItaGVpZ2h0KTtcclxuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuXHRcdFx0XHQubm92ZWxSZWFkaW5nX21haW4ge1xyXG5cdFx0XHRcdFx0ZmxleDogMTtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdFx0XHQubm92ZWxSZWFkaW5nX2NoYXJhY3RlcnNfc2Nyb2xsIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuXHRcdFx0XHRcdFx0LnJlYWRfY2hhcHRlciB7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogNDBycHggMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Lm5vdmVsUmVhZGluZ19jaGFyYWN0ZXJzX21haW4ge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyAucmVhZGluZ19zY2hlZHVsZV9ib3gge1xyXG5cdFx0XHRcdC8vIFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0Ly8gXHRoZWlnaHQ6IDgycnB4O1xyXG5cdFx0XHRcdC8vIFx0Ly8gcGFkZGluZzogNDBycHg7XHJcblx0XHRcdFx0Ly8gXHQvLyBib3gtc2hhZG93OiAwIDAgOHJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0XHRcdFx0Ly8gXHRib3JkZXItcmFkaXVzOiA0MHJweDtcclxuXHRcdFx0XHQvLyBcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnVfcG9wdXBfYWxsIHtcclxuXHRcdFx0ZmxleDogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5teV90YWJCYXJfUmVhZGluZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTQwcnB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nOiAwIDQwcnB4O1xyXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdGJvcmRlci10b3A6IDFycHggc29saWQgI2Q2ZDJjZTtcclxuXHRcdC8vIHBhZGRpbmctYm90dG9tOiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTsgLyog5YW85a65IGlPUyDorr7lpIcgKi9cclxuXHRcdC8vIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7IC8qIOWFvOWuuSBpUGhvbmUgWCDlj4rku6XkuIrorr7lpIcgKi9cclxuXHJcblx0XHQudGFiQmFyX1JlYWRpbmdfaXRlbSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cdFx0XHQucmVhZGluZ19pdGVtX2ljb24ge1xyXG5cdFx0XHRcdHdpZHRoOiAzNHJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDM0cnB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucmVhZGluZ19pdGVtX25hbWUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMTBycHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5yZWFkaW5nX3NjaGVkdWxlX2JveCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCA4cnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDQwcnB4O1xyXG5cdFx0cGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pOyAvKiDlhbzlrrkgaU9TIOiuvuWkhyAqL1xyXG5cdFx0cGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTsgLyog5YW85a65IGlQaG9uZSBYIOWPiuS7peS4iuiuvuWkhyAqL1xyXG5cclxuXHRcdC5yZWFkaW5nX3NjaGVkdWxlX2JvZHkge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRwYWRkaW5nOiA0MHJweDtcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG5cdFx0XHQuX3ByZXZpb3VzX2NoYXB0ZXIge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHR3aWR0aDogMTkycnB4O1xyXG5cdFx0XHRcdGhlaWdodDogODJycHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAzNHJweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMnJweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ll9uZXh0X2NoYXB0ZXIge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHR3aWR0aDogNDQycnB4O1xyXG5cdFx0XHRcdGhlaWdodDogODJycHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAzNHJweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMnJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnN0ZXBfdXBfYm94IHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDhycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNDBycHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7IC8qIOWFvOWuuSBpT1Mg6K6+5aSHICovXHJcblx0XHRwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pOyAvKiDlhbzlrrkgaVBob25lIFgg5Y+K5Lul5LiK6K6+5aSHICovXHJcblxyXG5cdFx0LnN0ZXBfdXBfYm94X2JvZHkge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0cGFkZGluZzogNDBycHggMjRycHg7XHJcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuXHRcdFx0LnN0ZXBfdXBfaXRlbSB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0XHRcdFx0LnN0ZXBfdXBfaXRlbV9uYW1lIHtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5zdGVwX3VwX2l0ZW1fYmcge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRcdHdpZHRoOiAxODhycHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDc0cnB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMzdycHg7XHJcblx0XHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAycnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnN0ZXBfdXBfaXRlbV90ZXh0X2JnIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0XHR3aWR0aDogMTg4cnB4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA3NHJweDtcclxuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDM3cnB4O1xyXG5cdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5zdGVwX3VwX2l0ZW1fYmcuYWN0aXZlQmxhY2sge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjMWExYTFhO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnN0ZXBfdXBfaXRlbV9iZy5hY3RpdmVXaGl0ZSB7XHJcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICNmZmY7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucmVhZGluZ19zY2hlZHVsZV9zbGlkZXI6OnYtZGVlcC51bmktc2xpZGVyLWhhbmRsZS13cmFwcGVyIHtcclxuXHRcdGhlaWdodDogNjBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzMHJweDtcclxuXHJcblx0XHQudW5pLXNsaWRlci10cmFjayB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDMwcnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmRpcmVjdG9yeV9wb3B1cF9ib3gge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IDU2MHJweDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG5cdFx0LmRpcmVjdG9yeV9zY3JvbGxfeSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDMycnB4O1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAzMnJweDtcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xyXG5cdFx0XHQvKiDlhbzlrrkgaU9TIOiuvuWkhyAqL1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xyXG5cdFx0XHQvKiDlhbzlrrkgaVBob25lIFgg5Y+K5Lul5LiK6K6+5aSHICovXHJcblxyXG5cdFx0XHQuX3BvcHVwX2JveF9pdGVtIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGhlaWdodDogMTIwcnB4O1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFycHggc29saWQgI2YyZjJmMjtcclxuXHJcblx0XHRcdFx0Ll9pdGVtX25hbWUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMnJweDtcclxuXHRcdFx0XHRcdGNvbG9yOiAjMzMzMzMzO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuX2l0ZW1fbmFtZS5hY3RpdmUge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNmZjcyOGY7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuX2l0ZW1fY2hhcHRlcl9sb2NrIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAzMnJweDtcclxuXHRcdFx0XHRcdGhlaWdodDogMzJycHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0LnB1cmNoYXNlRnVsbF9wb3B1cF9ib3gge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0cGFkZGluZzogNTBycHggMzJycHg7XHJcblxyXG5cdFx0LnB1cmNoYXNlRnVsbF9wb3B1cF9idG5fYm94IHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdG1hcmdpbi10b3A6IDUwcnB4O1xyXG5cclxuXHRcdFx0LnB1cmNoYXNlRnVsbF9wb3B1cF9idG4ge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHR3aWR0aDogNjQwcnB4O1xyXG5cdFx0XHRcdGhlaWdodDogODRycHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjRkJBNjc2LCAjRTk1RTMyKTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAyNHJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///461\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 67));\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 195));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 69));\nvar _setUpReadingColorAll = _interopRequireDefault(__webpack_require__(/*! ./setUpReadingColorAll.js */ 462));\nvar _bookshelf_ = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/bookshelf_333.png */ 463));\nvar _directory_ = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/directory_333.png */ 464));\nvar _step_up_ = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/step_up_333.png */ 465));\nvar _bookshelf_ccd9e = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/bookshelf_ccd9e2.png */ 466));\nvar _step_up_ccd9e = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/step_up_ccd9e2.png */ 467));\nvar _directory_ccd9e = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/directory_ccd9e2.png */ 468));\nvar _bookshelf_f3efe = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/bookshelf_f3efe.png */ 469));\nvar _directory_f3efe = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/directory_f3efe9.png */ 470));\nvar _step_up_f3efe = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/step_up_f3efe.png */ 471));\nvar _set_up_mode_black = _interopRequireDefault(__webpack_require__(/*! @/static/images/novelReading/set_up_mode_black.png */ 472));\nvar _recharge_empty = _interopRequireDefault(__webpack_require__(/*! @/static/images/recharge_empty.png */ 473));\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/config/index */ 140));\nvar _systemInfo = __webpack_require__(/*! @/utils/systemInfo.js */ 172);\nvar _index2 = __webpack_require__(/*! @/utils/storage/index.js */ 229);\nvar _data = _interopRequireDefault(__webpack_require__(/*! ./data.js */ 474));\nvar _index3 = _interopRequireDefault(__webpack_require__(/*! @/components/commBookLeftRigth/index.vue */ 105));\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar _default = {\n components: {\n CommBookLeftRigth: _index3.default\n },\n data: function data() {\n return {\n token: '',\n navbarTitle: '小说阅读页面',\n novelMainTypeColor: '',\n setUpColorAll: {},\n navigationBarTitleTextColor: '',\n mainBodyBg: '',\n navigationBarTitleTextBackColor: '',\n previousChapterBbuttonBg: '',\n previousChapterBbuttonTextColor: '',\n nextChapterBbuttonBg: '',\n nextChapterBbuttonTextColor: '',\n bodyReadingHeight: 0,\n scrollReadingHeight: 0,\n // 内容背景\n bodyReadingBg: '',\n // 底部安全区\n // bottomSecureHeight: 0,\n readingPopupshow: false,\n stepUpPopupShow: false,\n purchaseFullShow: false,\n navbarPopupShow: false,\n // bar 的icon\n barPopupIcon: {},\n dialogTextColor: '',\n progressBg: '',\n progressActiveBg: '',\n setUpModeBlack: '',\n dialogATextBg: '',\n novelContentColor: '',\n // 目录信息\n booksDirectorySid: '2387',\n bookInfo: {},\n booksDirectoryPage: 1,\n newBooksDirectoryPage: [],\n directoryList: [],\n // directoryPopupHeight: 0,\n directoryPopupShow: false,\n // 小说信息\n novelReadingContentText: [],\n charactersPageType: 'real',\n defaultCharactersSize: 28,\n newCharactersSize: 28,\n defaultCharactersLineHeight: 20,\n readDirectoryActive: '',\n readChapterid: '',\n readChapterFlag: false,\n readChapterInfoObj: {},\n readChapterLastid: '',\n readChapterNextid: ''\n };\n },\n onLoad: function onLoad(options) {\n this.booksDirectorySid = options.sid;\n this.navbarTitle = options.n;\n this.readChapterid = options.id;\n this.isGetUserRead();\n },\n onShow: function onShow() {\n var token = (0, _index2.myGetStorage)('token');\n this.token = token;\n var bookSid = this.booksDirectorySid;\n // const data = {\n // \tsid: bookSid,\n // }\n // uni.$u.http.post('/bookdetails', data).then((res) => {\n // \tuni.hideLoading();\n // \tif (res.status == 1) {\n // \t\tconst info = res.data.info;\n // \t\tconst cover = info.cover.includes('http') ? info.cover : `${config.baseUrl}${info.cover}`;\n // \t\tthis.bookInfo = {\n // \t\t\t...info,\n // \t\t\tcover\n // \t\t};\n // \t}\n // }).catch((err) => {\n // \tuni.hideLoading();\n // })\n },\n\n methods: {\n isGetUserRead: function isGetUserRead() {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var booksDirectorySid, booksDirectoryPage, readChapterid, readChapterInfoObj;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n booksDirectorySid = _this.booksDirectorySid;\n booksDirectoryPage = _this.booksDirectoryPage;\n readChapterid = _this.readChapterid ? _this.readChapterid : '';\n _context.next = 5;\n return _this.isGetBookInfo(readChapterid, '', true);\n case 5:\n readChapterInfoObj = _context.sent;\n _this.novelReadingContentText = [readChapterInfoObj];\n _this.readDirectoryActive = readChapterInfoObj.chapterorder;\n _this.readChapterLastid = readChapterInfoObj.lastid;\n _this.readChapterNextid = readChapterInfoObj.nextid;\n _this.$refs.yingbingReadPage.init({\n contents: [readChapterInfoObj],\n start: 0,\n currentChapter: readChapterInfoObj.chapterorder\n });\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n isGetBookInfo: function isGetBookInfo(chapterId, statusType) {\n var _this2 = this;\n var isShowLoading = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return new Promise(function (resolve) {\n var booksDirectorySid = _this2.booksDirectorySid;\n var novelReadingContentText = _this2.novelReadingContentText;\n if (isShowLoading) {\n uni.showLoading({\n title: '加载中...'\n });\n }\n var data = {\n sid: booksDirectorySid\n };\n if (chapterId) {\n data.id = chapterId;\n }\n uni.$u.http.post('/read', data).then(function (res) {\n uni.hideLoading();\n if (res.status == 1) {\n var resData = res.data;\n var is_novel_content = resData.novel_content.replace(/<\\/p>/g, '\\n');\n var readChapterInfoObj = _objectSpread(_objectSpread({}, resData), {}, {\n content: is_novel_content.replace(/

/g, ''),\n isStart: resData.lastid == '' ? true : false,\n isEnd: resData.nextid == '' ? true : false,\n chapter: resData.chapterorder,\n title: resData.chaptername,\n isTtitle: resData.title\n // richTextNodes: `

${res.data.chaptername}


${res.data.novel_content}`\n });\n\n _this2.readChapterInfoObj = readChapterInfoObj;\n resolve(readChapterInfoObj);\n }\n }).catch(function (err) {\n uni.hideLoading();\n __f__(\"log\", err, '========', \" at pages/novelReading/novelReading.vue:302\");\n });\n });\n },\n loadmoreContent: function loadmoreContent(chapter, callback) {\n var _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var newReadDirectoryActive, newReadChapterLastid, newNovelReadingContentText, newReadChapterNextid, readChapterInfoObj, novelContentColor, newCharactersSize, bodyReadingBg, custom, obj, _readChapterInfoObj, _novelContentColor, _newCharactersSize, _bodyReadingBg, _custom, _obj;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n newReadDirectoryActive = _this3.readDirectoryActive;\n newReadChapterLastid = _this3.readChapterLastid;\n newNovelReadingContentText = _this3.novelReadingContentText;\n newReadChapterNextid = _this3.readChapterNextid;\n __f__(\"log\", chapter, newReadDirectoryActive, \"loadmoreContent\", \" at pages/novelReading/novelReading.vue:312\");\n if (!(chapter != 1)) {\n _context2.next = 22;\n break;\n }\n if (!(chapter < newReadDirectoryActive)) {\n _context2.next = 14;\n break;\n }\n _context2.next = 9;\n return _this3.isGetBookInfo(newReadChapterLastid);\n case 9:\n readChapterInfoObj = _context2.sent;\n _this3.novelReadingContentText = [].concat((0, _toConsumableArray2.default)(newNovelReadingContentText), [readChapterInfoObj]);\n _this3.readDirectoryActive = chapter;\n if (readChapterInfoObj.chackpay == 1) {\n callback('success', readChapterInfoObj);\n }\n if (readChapterInfoObj.chackpay == 2 || readChapterInfoObj.chackpay == 3) {\n novelContentColor = _this3.novelContentColor;\n newCharactersSize = _this3.newCharactersSize;\n bodyReadingBg = _this3.bodyReadingBg;\n custom = [\"slot:test\"];\n obj = _objectSpread(_objectSpread({}, readChapterInfoObj), {}, {\n custom: custom,\n content: ''\n });\n callback('success', obj);\n }\n case 14:\n if (!(chapter > newReadDirectoryActive)) {\n _context2.next = 22;\n break;\n }\n _context2.next = 17;\n return _this3.isGetBookInfo(newReadChapterNextid);\n case 17:\n _readChapterInfoObj = _context2.sent;\n _this3.novelReadingContentText = [_readChapterInfoObj].concat((0, _toConsumableArray2.default)(newNovelReadingContentText));\n _this3.readDirectoryActive = chapter;\n if (_readChapterInfoObj.chackpay == 1) {\n callback('success', _readChapterInfoObj);\n }\n if (_readChapterInfoObj.chackpay == 2 || _readChapterInfoObj.chackpay == 3) {\n _novelContentColor = _this3.novelContentColor;\n _newCharactersSize = _this3.newCharactersSize;\n _bodyReadingBg = _this3.bodyReadingBg;\n _custom = [\"slot:test\"];\n _obj = _objectSpread(_objectSpread({}, _readChapterInfoObj), {}, {\n custom: _custom,\n content: ''\n });\n callback('success', _obj);\n }\n case 22:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n currentChange: function currentChange(pageInfo) {\n var novelReadingContentText = this.novelReadingContentText;\n var chapter = pageInfo.chapter;\n var itemTemp = novelReadingContentText.filter(function (m) {\n return m.chapter == chapter;\n });\n this.readChapterLastid = itemTemp[0].lastid;\n this.readChapterNextid = itemTemp[0].nextid;\n },\n previousChapter: function previousChapter() {\n var _this4 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var newReadDirectoryActive, newReadChapterLastid, newNovelReadingContentText, readChapterInfoObj;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n newReadDirectoryActive = _this4.readDirectoryActive;\n newReadChapterLastid = _this4.readChapterLastid;\n newNovelReadingContentText = _this4.novelReadingContentText;\n if (newReadChapterLastid) {\n _context3.next = 6;\n break;\n }\n uni.showToast({\n icon: 'none',\n title: \"已经是第一章了\"\n });\n return _context3.abrupt(\"return\");\n case 6:\n _context3.next = 8;\n return _this4.isGetBookInfo(newReadChapterLastid);\n case 8:\n readChapterInfoObj = _context3.sent;\n _this4.novelReadingContentText = [readChapterInfoObj];\n _this4.$refs.yingbingReadPage.init({\n contents: [readChapterInfoObj],\n start: 0,\n currentChapter: newReadDirectoryActive - 1\n });\n _this4.readDirectoryActive = newReadDirectoryActive - 1;\n case 12:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n nextChapter: function nextChapter() {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n var newReadDirectoryActive, readChapterNextid, newNovelReadingContentText, readChapterInfoObj;\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n newReadDirectoryActive = _this5.readDirectoryActive;\n readChapterNextid = _this5.readChapterNextid;\n newNovelReadingContentText = _this5.novelReadingContentText;\n if (readChapterNextid) {\n _context4.next = 6;\n break;\n }\n uni.showToast({\n icon: 'none',\n title: \"已经是最后一章了~\"\n });\n return _context4.abrupt(\"return\");\n case 6:\n _context4.next = 8;\n return _this5.isGetBookInfo(readChapterNextid);\n case 8:\n readChapterInfoObj = _context4.sent;\n _this5.novelReadingContentText = [readChapterInfoObj];\n _this5.$refs.yingbingReadPage.init({\n contents: [readChapterInfoObj],\n start: 0,\n currentChapter: newReadDirectoryActive + 1\n });\n _this5.readDirectoryActive = newReadDirectoryActive + 1;\n case 12:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n handelDirectoryItem: function handelDirectoryItem(row) {},\n handelShowStepUp: function handelShowStepUp() {\n this.readingPopupshow = !this.readingPopupshow;\n this.navbarPopupShow = !this.navbarPopupShow;\n this.stepUpPopupShow = false;\n },\n handelDirectoryPopup: function handelDirectoryPopup() {\n // this.directoryPopupShow = true;\n var readChapterInfoObj = this.readChapterInfoObj;\n var readDirectoryActive = this.readDirectoryActive;\n uni.navigateTo({\n url: \"/pages/bookRecommendList/bookRecommendList?sid=\".concat(readChapterInfoObj.sid, \"&t=\").concat(readChapterInfoObj.isTitle, \"&c=\").concat(readDirectoryActive)\n });\n },\n toPathLogin: function toPathLogin() {\n var readChapterInfoObj = this.readChapterInfoObj;\n var readDirectoryActive = this.readDirectoryActive;\n uni.navigateTo({\n url: \"/pages/login/login?sid=\".concat(readChapterInfoObj.sid, \"&i=\").concat(readChapterInfoObj.id, \"&c=\").concat(readDirectoryActive, \"&to=1\")\n });\n },\n directoryPopupClose: function directoryPopupClose() {\n // this.directoryPopupShow = false;\n // const readChapterInfoObj = this.readChapterInfoObj;\n // uni.navigateTo({\n // \turl: `/pages/bookRecommendList/bookRecommendList?sid=${readChapterInfoObj.sid}&t=${readChapterInfoObj.title}&c=${readChapterInfoObj.chapterorder}`\n // })\n },\n purchaseFullClose: function purchaseFullClose() {\n var readChapterFlag = this.readChapterFlag;\n if (readChapterFlag) {\n return;\n }\n this.purchaseFullShow = false;\n },\n handelSteUpPopup: function handelSteUpPopup() {\n this.stepUpPopupShow = true;\n },\n balanceConfirm: function balanceConfirm() {\n uni.navigateTo({\n url: \"/pages/voucherCenter/index\"\n });\n },\n handelPurchaseFull: function handelPurchaseFull() {\n var readChapterInfoObj = this.readChapterInfoObj;\n uni.showLoading({\n title: '加载中...'\n });\n var data = {\n sid: readChapterInfoObj.sid,\n id: readChapterInfoObj.id,\n allprice: readChapterInfoObj.allprice\n };\n uni.$u.http.post('/buyall', data).then(function (res) {\n uni.hideLoading();\n if (res.status == 1) {\n if (res.data.status == 2) {\n __f__(\"log\", \"购买失败\", \" at pages/novelReading/novelReading.vue:461\");\n }\n }\n }).catch(function (err) {\n uni.hideLoading();\n });\n },\n // 切换页面颜色\n changNovelMainType: function changNovelMainType(type) {\n this.novelMainTypeColor = type;\n this.initPage(type);\n var novelMainObj = (0, _index2.myGetStorage)('novelMainObj') || '{}';\n var obj = _objectSpread(_objectSpread({}, JSON.parse(novelMainObj)), {}, {\n novelMainTypeColor: type\n });\n (0, _index2.mySetStorage)('novelMainObj', JSON.stringify(obj));\n },\n // 字体减小\n reduceCharactersSize: function reduceCharactersSize() {\n var newCharactersSize = this.newCharactersSize;\n this.newCharactersSize = newCharactersSize - 2;\n var novelMainObj = (0, _index2.myGetStorage)('novelMainObj') || '{}';\n var obj = _objectSpread(_objectSpread({}, JSON.parse(novelMainObj)), {}, {\n charactersSize: newCharactersSize - 2\n });\n (0, _index2.mySetStorage)('novelMainObj', JSON.stringify(obj));\n },\n // 字体加大\n addCharactersSize: function addCharactersSize() {\n var newCharactersSize = this.newCharactersSize;\n this.newCharactersSize = newCharactersSize + 2;\n var novelMainObj = (0, _index2.myGetStorage)('novelMainObj') || '{}';\n var obj = _objectSpread(_objectSpread({}, JSON.parse(novelMainObj)), {}, {\n charactersSize: newCharactersSize + 2\n });\n (0, _index2.mySetStorage)('novelMainObj', JSON.stringify(obj));\n },\n // 恢复默认字体大小\n handelCharactersSize: function handelCharactersSize() {\n var defaultCharactersSize = this.defaultCharactersSize;\n this.newCharactersSize = defaultCharactersSize;\n var novelMainObj = (0, _index2.myGetStorage)('novelMainObj') || '{}';\n var obj = _objectSpread(_objectSpread({}, JSON.parse(novelMainObj)), {}, {\n charactersSize: defaultCharactersSize\n });\n (0, _index2.mySetStorage)('novelMainObj', JSON.stringify(obj));\n },\n // // 目录划到了最上边\n // directoryPopupUpper() {\n // \tconst isBooksDirectoryPage = this.booksDirectoryPage;\n // \tconst newBooksDirectoryPage = this.newBooksDirectoryPage;\n // \tif (isBooksDirectoryPage > 1 && newBooksDirectoryPage.indexOf(isBooksDirectoryPage) == -1) {\n // \t\tconst booksDirectorySid = this.booksDirectorySid;\n // \t\tconst booksDirectoryPage = isBooksDirectoryPage - 1;\n // \t\tthis.booksDirectoryPage = booksDirectoryPage;\n // \t\tthis.isGetDirectory(booksDirectorySid, booksDirectoryPage, 'upper');\n // \t}\n // },\n // // 目录划到了最下边\n // directoryPopupLower() {\n // \tconst isBooksDirectoryPage = this.booksDirectoryPage;\n // \tconst booksDirectorySid = this.booksDirectorySid;\n // \tconst booksDirectoryPage = isBooksDirectoryPage + 1;\n // \tconst newBooksDirectoryPage = [...this.newBooksDirectoryPage, booksDirectoryPage];\n // \tthis.newBooksDirectoryPage = newBooksDirectoryPage;\n // \tthis.booksDirectoryPage = booksDirectoryPage;\n // \tthis.isGetDirectory(booksDirectorySid, booksDirectoryPage, 'lower');\n // },\n isGetDirectory: function isGetDirectory(sid, page, type) {\n var _this6 = this;\n uni.showLoading({\n title: '加载中...'\n });\n var data = {\n sid: sid,\n page: page\n };\n uni.$u.http.post('/getDirectory', data).then(function (res) {\n uni.hideLoading();\n if (res.status == 1) {\n var directory = res.data.directory;\n var columnsLabel = '';\n if (type == 'upper') {\n _this6.directoryList = [].concat((0, _toConsumableArray2.default)(directory), (0, _toConsumableArray2.default)(_this6.directoryList));\n } else if (type == 'lower') {\n _this6.directoryList = [].concat((0, _toConsumableArray2.default)(_this6.directoryList), (0, _toConsumableArray2.default)(directory));\n } else {\n _this6.directoryList = directory;\n }\n }\n }).catch(function (err) {\n uni.hideLoading();\n __f__(\"log\", err, '========', \" at pages/novelReading/novelReading.vue:556\");\n });\n },\n initPage: function initPage(novelMainTypeColor) {\n var mainBodyBg = _setUpReadingColorAll.default[novelMainTypeColor].mainBodyBg;\n this.navigationBarTitleTextColor = _setUpReadingColorAll.default[novelMainTypeColor].navigationBarTitleTextColor;\n this.mainBodyBg = mainBodyBg;\n this.bodyReadingBg = mainBodyBg;\n this.dialogTextColor = _setUpReadingColorAll.default[novelMainTypeColor].dialogTextColor;\n this.progressBg = _setUpReadingColorAll.default[novelMainTypeColor].progressBg;\n this.progressActiveBg = _setUpReadingColorAll.default[novelMainTypeColor].progressActiveBg;\n this.setUpModeBlack = _set_up_mode_black.default;\n this.dialogATextBg = _setUpReadingColorAll.default[novelMainTypeColor].dialogATextBg;\n this.tabBarTextColor = _setUpReadingColorAll.default[novelMainTypeColor].tabBarTextColor;\n this.novelContentColor = _setUpReadingColorAll.default[novelMainTypeColor].novelContentColor;\n this.navigationBarTitleTextBackColor = _setUpReadingColorAll.default[novelMainTypeColor].navigationBarTitleTextBackColor;\n this.previousChapterBbuttonBg = _setUpReadingColorAll.default[novelMainTypeColor].previousChapterBbuttonBg;\n this.previousChapterBbuttonTextColor = _setUpReadingColorAll.default[novelMainTypeColor].previousChapterBbuttonTextColor;\n this.nextChapterBbuttonBg = _setUpReadingColorAll.default[novelMainTypeColor].nextChapterBbuttonBg;\n this.nextChapterBbuttonTextColor = _setUpReadingColorAll.default[novelMainTypeColor].nextChapterBbuttonTextColor;\n },\n rightClick: function rightClick() {\n uni.navigateBack();\n },\n toBookshelf: function toBookshelf() {\n uni.reLaunch({\n url: \"/pages/bookCity/bookCity/index\"\n });\n }\n },\n created: function created() {\n var novelMainObj = (0, _index2.myGetStorage)('novelMainObj') || '{}';\n var novelMainTypeColor = JSON.parse(novelMainObj).novelMainTypeColor || 'F3EFE9';\n var _isGetSystemInfo = (0, _systemInfo.isGetSystemInfo)(),\n _isGetSystemInfo$scre = _isGetSystemInfo.screenHeight,\n screenHeight = _isGetSystemInfo$scre === void 0 ? 0 : _isGetSystemInfo$scre,\n _isGetSystemInfo$stat = _isGetSystemInfo.statusBarHeight,\n statusBarHeight = _isGetSystemInfo$stat === void 0 ? 0 : _isGetSystemInfo$stat,\n _isGetSystemInfo$wind = _isGetSystemInfo.windowHeight,\n windowHeight = _isGetSystemInfo$wind === void 0 ? 0 : _isGetSystemInfo$wind,\n devicePixelRatio = _isGetSystemInfo.devicePixelRatio,\n windowBottom = _isGetSystemInfo.windowBottom,\n windowWidth = _isGetSystemInfo.windowWidth,\n screenWidth = _isGetSystemInfo.screenWidth;\n // this.myData = myData;\n this.novelMainTypeColor = novelMainTypeColor;\n this.newCharactersSize = JSON.parse(novelMainObj).charactersSize || 28;\n this.bodyReadingHeight = screenHeight - statusBarHeight - devicePixelRatio * 22;\n this.setUpColorAll = _setUpReadingColorAll.default;\n this.barPopupIcon = {\n 'F3EFE9': {\n bookshelf_icon: _bookshelf_f3efe.default,\n directory_icon: _directory_f3efe.default,\n step_up_icon: _step_up_f3efe.default\n },\n 'CCD9E2': {\n bookshelf_icon: _bookshelf_ccd9e.default,\n directory_icon: _directory_ccd9e.default,\n step_up_icon: _step_up_ccd9e.default\n },\n '333333': {\n bookshelf_icon: _bookshelf_.default,\n directory_icon: _directory_.default,\n step_up_icon: _step_up_.default\n }\n };\n this.initPage(novelMainTypeColor);\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 86)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbm92ZWxSZWFkaW5nL25vdmVsUmVhZGluZy52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsIkNvbW1Cb29rTGVmdFJpZ3RoIiwiZGF0YSIsInRva2VuIiwibmF2YmFyVGl0bGUiLCJub3ZlbE1haW5UeXBlQ29sb3IiLCJzZXRVcENvbG9yQWxsIiwibmF2aWdhdGlvbkJhclRpdGxlVGV4dENvbG9yIiwibWFpbkJvZHlCZyIsIm5hdmlnYXRpb25CYXJUaXRsZVRleHRCYWNrQ29sb3IiLCJwcmV2aW91c0NoYXB0ZXJCYnV0dG9uQmciLCJwcmV2aW91c0NoYXB0ZXJCYnV0dG9uVGV4dENvbG9yIiwibmV4dENoYXB0ZXJCYnV0dG9uQmciLCJuZXh0Q2hhcHRlckJidXR0b25UZXh0Q29sb3IiLCJib2R5UmVhZGluZ0hlaWdodCIsInNjcm9sbFJlYWRpbmdIZWlnaHQiLCJib2R5UmVhZGluZ0JnIiwicmVhZGluZ1BvcHVwc2hvdyIsInN0ZXBVcFBvcHVwU2hvdyIsInB1cmNoYXNlRnVsbFNob3ciLCJuYXZiYXJQb3B1cFNob3ciLCJiYXJQb3B1cEljb24iLCJkaWFsb2dUZXh0Q29sb3IiLCJwcm9ncmVzc0JnIiwicHJvZ3Jlc3NBY3RpdmVCZyIsInNldFVwTW9kZUJsYWNrIiwiZGlhbG9nQVRleHRCZyIsIm5vdmVsQ29udGVudENvbG9yIiwiYm9va3NEaXJlY3RvcnlTaWQiLCJib29rSW5mbyIsImJvb2tzRGlyZWN0b3J5UGFnZSIsIm5ld0Jvb2tzRGlyZWN0b3J5UGFnZSIsImRpcmVjdG9yeUxpc3QiLCJkaXJlY3RvcnlQb3B1cFNob3ciLCJub3ZlbFJlYWRpbmdDb250ZW50VGV4dCIsImNoYXJhY3RlcnNQYWdlVHlwZSIsImRlZmF1bHRDaGFyYWN0ZXJzU2l6ZSIsIm5ld0NoYXJhY3RlcnNTaXplIiwiZGVmYXVsdENoYXJhY3RlcnNMaW5lSGVpZ2h0IiwicmVhZERpcmVjdG9yeUFjdGl2ZSIsInJlYWRDaGFwdGVyaWQiLCJyZWFkQ2hhcHRlckZsYWciLCJyZWFkQ2hhcHRlckluZm9PYmoiLCJyZWFkQ2hhcHRlckxhc3RpZCIsInJlYWRDaGFwdGVyTmV4dGlkIiwib25Mb2FkIiwib25TaG93IiwibWV0aG9kcyIsImlzR2V0VXNlclJlYWQiLCJjb250ZW50cyIsInN0YXJ0IiwiY3VycmVudENoYXB0ZXIiLCJpc0dldEJvb2tJbmZvIiwidW5pIiwidGl0bGUiLCJzaWQiLCJyZXNEYXRhIiwiY29udGVudCIsImlzU3RhcnQiLCJpc0VuZCIsImNoYXB0ZXIiLCJpc1R0aXRsZSIsInJlc29sdmUiLCJsb2FkbW9yZUNvbnRlbnQiLCJuZXdSZWFkRGlyZWN0b3J5QWN0aXZlIiwibmV3UmVhZENoYXB0ZXJMYXN0aWQiLCJuZXdOb3ZlbFJlYWRpbmdDb250ZW50VGV4dCIsIm5ld1JlYWRDaGFwdGVyTmV4dGlkIiwiY2FsbGJhY2siLCJjdXN0b20iLCJvYmoiLCJjdXJyZW50Q2hhbmdlIiwicHJldmlvdXNDaGFwdGVyIiwiaWNvbiIsIm5leHRDaGFwdGVyIiwiaGFuZGVsRGlyZWN0b3J5SXRlbSIsImhhbmRlbFNob3dTdGVwVXAiLCJoYW5kZWxEaXJlY3RvcnlQb3B1cCIsInVybCIsInRvUGF0aExvZ2luIiwiZGlyZWN0b3J5UG9wdXBDbG9zZSIsInB1cmNoYXNlRnVsbENsb3NlIiwiaGFuZGVsU3RlVXBQb3B1cCIsImJhbGFuY2VDb25maXJtIiwiaGFuZGVsUHVyY2hhc2VGdWxsIiwiaWQiLCJhbGxwcmljZSIsImNoYW5nTm92ZWxNYWluVHlwZSIsIkpTT04iLCJyZWR1Y2VDaGFyYWN0ZXJzU2l6ZSIsImNoYXJhY3RlcnNTaXplIiwiYWRkQ2hhcmFjdGVyc1NpemUiLCJoYW5kZWxDaGFyYWN0ZXJzU2l6ZSIsImlzR2V0RGlyZWN0b3J5IiwicGFnZSIsImluaXRQYWdlIiwicmlnaHRDbGljayIsInRvQm9va3NoZWxmIiwiY3JlYXRlZCIsInNjcmVlbkhlaWdodCIsInN0YXR1c0JhckhlaWdodCIsIndpbmRvd0hlaWdodCIsImRldmljZVBpeGVsUmF0aW8iLCJ3aW5kb3dCb3R0b20iLCJ3aW5kb3dXaWR0aCIsInNjcmVlbldpZHRoIiwiYm9va3NoZWxmX2ljb24iLCJkaXJlY3RvcnlfaWNvbiIsInN0ZXBfdXBfaWNvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFnSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFBQSxlQUNBO0VBQ0FBO0lBQ0FDO0VBQ0E7RUFDQUM7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBO01BQ0FDO01BQ0E7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQTtNQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUNBOztFQUNBQztJQUNBQztNQUFBO01BQUE7UUFBQTtRQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUNBcEI7Z0JBQ0FFO2dCQUNBVTtnQkFBQTtnQkFBQSxPQUNBO2NBQUE7Z0JBQUFFO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2tCQUNBTztrQkFDQUM7a0JBQ0FDO2dCQUNBO2NBQUE7Y0FBQTtnQkFBQTtZQUFBO1VBQUE7UUFBQTtNQUFBO0lBQ0E7SUFDQUM7TUFBQTtNQUFBO01BQ0E7UUFDQTtRQUNBO1FBQ0E7VUFDQUM7WUFDQUM7VUFDQTtRQUNBO1FBQ0E7VUFDQUM7UUFDQTtRQUNBO1VBQ0FyRDtRQUNBO1FBQ0FtRDtVQUNBQTtVQUNBO1lBQ0E7WUFDQTtZQUNBLHlEQUNBRztjQUNBQztjQUNBQztjQUNBQztjQUNBQztjQUNBTjtjQUNBTztjQUNBO1lBQUEsRUFDQTs7WUFDQTtZQUNBQztVQUNBO1FBQ0E7VUFDQVQ7VUFDQTtRQUNBO01BQ0E7SUFFQTtJQUNBVTtNQUFBO01BQUE7UUFBQTtRQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQTtnQkFBQSxNQUNBUDtrQkFBQTtrQkFBQTtnQkFBQTtnQkFBQSxNQUNBQTtrQkFBQTtrQkFBQTtnQkFBQTtnQkFBQTtnQkFBQSxPQUNBO2NBQUE7Z0JBQUFsQjtnQkFDQTtnQkFDQTtnQkFDQTtrQkFDQTBCO2dCQUNBO2dCQUNBO2tCQUNBekM7a0JBQ0FVO2tCQUNBckI7a0JBQ0FxRDtrQkFDQUMsc0NBQ0E1QjtvQkFDQTJCO29CQUNBWjtrQkFBQTtrQkFFQVc7Z0JBQ0E7Y0FBQTtnQkFBQSxNQUVBUjtrQkFBQTtrQkFBQTtnQkFBQTtnQkFBQTtnQkFBQSxPQUNBO2NBQUE7Z0JBQUFsQjtnQkFDQTtnQkFDQTtnQkFDQTtrQkFDQTBCO2dCQUNBO2dCQUNBO2tCQUNBekM7a0JBQ0FVO2tCQUNBckI7a0JBQ0FxRDtrQkFDQUMsdUNBQ0E1QjtvQkFDQTJCO29CQUNBWjtrQkFBQTtrQkFFQVc7Z0JBQ0E7Y0FBQTtjQUFBO2dCQUFBO1lBQUE7VUFBQTtRQUFBO01BQUE7SUFJQTtJQUNBRztNQUNBO01BQ0E7TUFDQTtRQUFBO01BQUE7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUFBO1FBQUE7UUFBQTtVQUFBO1lBQUE7Y0FBQTtnQkFDQVI7Z0JBQ0FDO2dCQUNBQztnQkFBQSxJQUNBRDtrQkFBQTtrQkFBQTtnQkFBQTtnQkFDQVo7a0JBQ0FvQjtrQkFDQW5CO2dCQUNBO2dCQUFBO2NBQUE7Z0JBQUE7Z0JBQUEsT0FHQTtjQUFBO2dCQUFBWjtnQkFDQTtnQkFDQTtrQkFDQU87a0JBQ0FDO2tCQUNBQztnQkFDQTtnQkFDQTtjQUFBO2NBQUE7Z0JBQUE7WUFBQTtVQUFBO1FBQUE7TUFBQTtJQUNBO0lBQ0F1QjtNQUFBO01BQUE7UUFBQTtRQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUNBVjtnQkFDQXBCO2dCQUNBc0I7Z0JBQUEsSUFDQXRCO2tCQUFBO2tCQUFBO2dCQUFBO2dCQUNBUztrQkFDQW9CO2tCQUNBbkI7Z0JBQ0E7Z0JBQUE7Y0FBQTtnQkFBQTtnQkFBQSxPQUdBO2NBQUE7Z0JBQUFaO2dCQUNBO2dCQUNBO2tCQUNBTztrQkFDQUM7a0JBQ0FDO2dCQUNBO2dCQUNBO2NBQUE7Y0FBQTtnQkFBQTtZQUFBO1VBQUE7UUFBQTtNQUFBO0lBQ0E7SUFDQXdCO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQXhCO1FBQ0F5QjtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0ExQjtRQUNBeUI7TUFDQTtJQUNBO0lBQ0FFO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUFBLENBQ0E7SUFDQUM7TUFDQTtNQUNBO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E5QjtRQUNBeUI7TUFDQTtJQUNBO0lBQ0FNO01BQ0E7TUFDQS9CO1FBQ0FDO01BQ0E7TUFDQTtRQUNBQztRQUNBOEI7UUFDQUM7TUFDQTtNQUNBakM7UUFDQUE7UUFDQTtVQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQUE7TUFDQTtJQUNBO0lBQ0E7SUFDQWtDO01BQ0E7TUFDQTtNQUNBO01BQ0EsMENBQ0FDO1FBQ0FuRjtNQUFBLEVBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQW9GO01BQ0E7TUFDQTtNQUNBO01BQ0EsMENBQ0FEO1FBQ0FFO01BQUEsRUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBLDBDQUNBSDtRQUNBRTtNQUFBLEVBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUU7TUFDQTtNQUNBO01BQ0E7TUFDQSwwQ0FDQUo7UUFDQUU7TUFBQSxFQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBRztNQUFBO01BQ0F4QztRQUNBQztNQUNBO01BQ0E7UUFDQUM7UUFDQXVDO01BQ0E7TUFDQXpDO1FBQ0FBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtVQUNBO1lBQ0E7VUFDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0FBO1FBQ0E7TUFDQTtJQUNBO0lBQ0EwQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQSx5RkFDQXRGO01BQ0E7TUFDQSx5RkFDQUU7TUFDQTtNQUNBO0lBQ0E7SUFDQXFGO01BQ0EzQztJQUNBO0lBQ0E0QztNQUNBNUM7UUFDQXlCO01BQ0E7SUFDQTtFQUNBO0VBQ0FvQjtJQUNBO0lBQ0E7SUFDQSx1QkFHQTtNQUFBLHlDQUZBQztNQUFBQTtNQUFBO01BQUFDO01BQUE7TUFBQUM7TUFBQUM7TUFBQUM7TUFBQUM7TUFDQUM7SUFFQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7TUFDQTtRQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0E7UUFDQUY7UUFDQUM7UUFDQUM7TUFDQTtNQUNBO1FBQ0FGO1FBQ0FDO1FBQ0FDO01BQ0E7SUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjQ2MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cIm5vdmVsUmVhZGluZ19jb250ZW50XCI+XHJcblx0XHQ8IS0tIFx0IC0tPlxyXG5cdFx0PCEtLSBAdGFwPVwiaGFuZGVsU2hvd1N0ZXBVcFwiIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJub3ZlbFJlYWRpbmdfYm9keVwiIDpzdHlsZT1cImBiYWNrZ3JvdW5kOiR7Ym9keVJlYWRpbmdCZ31gXCI+XHJcblx0XHRcdDwhLS0gIEBjaGFuZ2U9XCJjdXJyZW50Q2hhbmdlXCIgQHNldENhdGFsb2c9XCJzZXRDYXRhbG9nXCIgQGNsaWNrbWU9XCJjbGlja21lXCIgQGNsaWNraGVyPVwiY2xpY2toZXJcIiBAcHJlbG9hZD1cInByZWxvYWRDb250ZW50XCItLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJub3ZlbFJlYWRpbmdfbWFpbl9jb25cIj5cclxuXHRcdFx0XHQ8eWluZ2JpbmctUmVhZFBhZ2Ugc3R5bGU9XCJoZWlnaHQ6IDEwMCU7XCIgcmVmPVwieWluZ2JpbmdSZWFkUGFnZVwiIDpmb290ZXJTaG93PVwidHJ1ZVwiXHJcblx0XHRcdFx0XHQ6cGFnZS10eXBlPVwiY2hhcmFjdGVyc1BhZ2VUeXBlXCIgOmZvbnQtc2l6ZT1cIm5ld0NoYXJhY3RlcnNTaXplXCIgOmVuYWJsZUNsaWNrPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHQ6bGluZS1oZWlnaHQ9XCJkZWZhdWx0Q2hhcmFjdGVyc0xpbmVIZWlnaHRcIiA6Y29sb3I9XCJub3ZlbENvbnRlbnRDb2xvclwiIDpiZy1jb2xvcj1cImJvZHlSZWFkaW5nQmdcIlxyXG5cdFx0XHRcdFx0OnNsaWRlPVwiMjBcIiA6ZW5hYmxlUHJlbG9hZD1cImZhbHNlXCIgQGxvYWRtb3JlPVwibG9hZG1vcmVDb250ZW50XCIgXHJcblx0XHRcdFx0XHRAY2xpY2tUbz1cImhhbmRlbFNob3dTdGVwVXBcIiA6Y2xpY2tPcHRpb249XCJ7d2lkdGg6MjAwLGhlaWdodDogNDAwLGxlZnQ6J2F1dG8nLHRvcDonYXV0byd9XCJcclxuXHRcdFx0XHRcdDp0b3BHYXA9XCIwXCIgOmJvdHRvbUdhcD1cIjIwXCJcclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdDx0ZW1wbGF0ZSAjdGVzdD5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiYWxhbmNlX2NvblwiPlxyXG5cdFx0XHRcdFx0XHRcdDxyaWNoLXRleHQgY2xhc3M9XCJiYWxhbmNlX2Nvbl9yaWNoX3RleHRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OnN0eWxlPVwiYGNvbG9yOiR7bm92ZWxDb250ZW50Q29sb3J9O2ZvbnQtc2l6ZToke25ld0NoYXJhY3RlcnNTaXplfXB4O2BcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Om5vZGVzPVwicmVhZENoYXB0ZXJJbmZvT2JqLmNvbnRlbnRcIj48L3JpY2gtdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJhbGFuY2VfcmVjaGFyZ2Vfb3B0aW9uXCI+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmFsYW5jZV9yZWNoYXJnZVwiIDpzdHlsZT1cImBiYWNrZ3JvdW5kOiR7Ym9keVJlYWRpbmdCZ31gXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJhbGFuY2VfdGlwc1wiIDpzdHlsZT1cImBjb2xvcjoke25vdmVsQ29udGVudENvbG9yfWBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJlYWRDaGFwdGVySW5mb09iai5jaGFja3BheSA9PSAyXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInRva2VuXCIgY2xhc3M9XCJpbnN1ZmZpY2llbnRfZnVuZHNcIiBzc3R5bGU9XCJtYXJnaW4tYm90dG9tOjhycHg7XCI+5Lmm5biB5L2Z6aKd5LiN6LazPC92aWV3Plx0XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0PuS7mOi0ueeroOiKgu+8jOmcgOimgei0reS5sOOAgjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0ID57e3JlYWRDaGFwdGVySW5mb09iai5wcmljZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+5Lmm5biBPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cdFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInJlYWRDaGFwdGVySW5mb09iai5jaGFja3BheSA9PSAzXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+5LuY6LS556ug6IqC77yM6ZyA6KaB5YWo5pys6LSt5Lmw44CCPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0Pnt7cmVhZENoYXB0ZXJJbmZvT2JqLmFsbHByaWNlfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+5Lmm5biBPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHRcclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmFsYW5jZV9idG5fYWxsXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCIhdG9rZW5cIiBjbGFzcz1cInB1cmNoYXNlRnVsbF9wb3B1cF9idG5cIiBAY2xpY2s9XCJ0b1BhdGhMb2dpblwiPuaWsOeUqOaIt+eZu+W9lTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1lbHNlLWlmPVwicmVhZENoYXB0ZXJJbmZvT2JqLmNoYWNrcGF5ID09IDJcIiBjbGFzcz1cInB1cmNoYXNlRnVsbF9wb3B1cF9idG5cIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEBjbGljaz1cInRvUGF0aExvZ2luXCI+5Y675YWF5YC8PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWVsc2UtaWY9XCJyZWFkQ2hhcHRlckluZm9PYmouY2hhY2twYXkgPT0gM1wiIGNsYXNzPVwicHVyY2hhc2VGdWxsX3BvcHVwX2J0blwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiaGFuZGVsUHVyY2hhc2VGdWxsXCI+6ZyA6KaB5YWo5pys6LSt5LmwXHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdGVtcGxhdGU+XHJcblx0XHRcdFx0PC95aW5nYmluZy1SZWFkUGFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ1X3BvcHVwX2FsbFwiPlxyXG5cdFx0XHQ8dS1wb3B1cCA6c2hvdz1cIm5hdmJhclBvcHVwU2hvd1wiIEBjbG9zZT1cImRpcmVjdG9yeVBvcHVwQ2xvc2VcIiBtb2RlPVwidG9wXCIgOm92ZXJsYXk9XCJmYWxzZVwiIGJnQ29sb3I9XCJ0cmFuc3BhcmVudFwiID5cclxuXHRcdFx0XHQ8dS1uYXZiYXIgOnRpdGxlPVwibmF2YmFyVGl0bGVcIiBAcmlnaHRDbGljaz1cInJpZ2h0Q2xpY2tcIiA6YXV0b0JhY2s9XCJ0cnVlXCIgOmZpeGVkPVwiZmFsc2VcIiA6YmdDb2xvcj1cIm1haW5Cb2R5QmdcIlxyXG5cdFx0XHRcdFx0OnRpdGxlU3R5bGU9XCJ7IGNvbG9yOiBuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0Q29sb3IgfVwiIDpsZWZ0SWNvbkNvbG9yPVwibmF2aWdhdGlvbkJhclRpdGxlVGV4dEJhY2tDb2xvclwiXHJcblx0XHRcdFx0XHQ6c2hhZG93PVwidHJ1ZVwiIDpzYWZlQXJlYUluc2V0VG9wPVwidHJ1ZVwiIDpwbGFjZWhvbGRlcj1cInRydWVcIiAvPlxyXG5cdFx0XHQ8L3UtcG9wdXA+XHJcblx0XHRcdDx1LXBvcHVwIDpzaG93PVwicmVhZGluZ1BvcHVwc2hvd1wiIG1vZGU9XCJib3R0b21cIiA6b3ZlcmxheT1cImZhbHNlXCIgekluZGV4PVwiNFwiIGJnQ29sb3I9XCJ0cmFuc3BhcmVudFwiIDpzYWZlQXJlYUluc2V0Qm90dG9tPVwiZmFsc2VcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInJlYWRpbmdfc2NoZWR1bGVfYm94XCIgOnN0eWxlPVwiYGJhY2tncm91bmQ6JHtib2R5UmVhZGluZ0JnfWBcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicmVhZGluZ19zY2hlZHVsZV9ib2R5XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiX3ByZXZpb3VzX2NoYXB0ZXJcIlxyXG5cdFx0XHRcdFx0XHRcdDpzdHlsZT1cImBjb2xvcjoke3ByZXZpb3VzQ2hhcHRlckJidXR0b25UZXh0Q29sb3J9O2JhY2tncm91bmQ6JHtwcmV2aW91c0NoYXB0ZXJCYnV0dG9uQmd9YFwiXHJcblx0XHRcdFx0XHRcdFx0QHRhcD1cInByZXZpb3VzQ2hhcHRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdOS4iuS4gOeroFxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiX25leHRfY2hhcHRlclwiXHJcblx0XHRcdFx0XHRcdFx0OnN0eWxlPVwiYGNvbG9yOiR7bmV4dENoYXB0ZXJCYnV0dG9uVGV4dENvbG9yfTtiYWNrZ3JvdW5kOiR7bmV4dENoYXB0ZXJCYnV0dG9uQmd9YFwiXHJcblx0XHRcdFx0XHRcdFx0QHRhcD1cIm5leHRDaGFwdGVyXCI+5LiL5LiA56ugXHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibXlfdGFiQmFyX1JlYWRpbmdcIiA6c3R5bGU9XCJgYmFja2dyb3VuZDoke2JvZHlSZWFkaW5nQmd9YFwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRhYkJhcl9SZWFkaW5nX2l0ZW1cIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJlYWRpbmdfaXRlbV9pY29uXCIgQHRhcD1cImhhbmRlbERpcmVjdG9yeVBvcHVwXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJpc19pbWFnZXNcIiA6c3JjPVwiYmFyUG9wdXBJY29uW25vdmVsTWFpblR5cGVDb2xvcl0uZGlyZWN0b3J5X2ljb25cIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJlYWRpbmdfaXRlbV9uYW1lXCIgOnN0eWxlPVwiYGNvbG9yOiR7dGFiQmFyVGV4dENvbG9yfWBcIj7nm67lvZU8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0YWJCYXJfUmVhZGluZ19pdGVtXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyZWFkaW5nX2l0ZW1faWNvblwiIEB0YXA9XCJ0b0Jvb2tzaGVsZlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiaXNfaW1hZ2VzXCIgOnNyYz1cImJhclBvcHVwSWNvbltub3ZlbE1haW5UeXBlQ29sb3JdLmJvb2tzaGVsZl9pY29uXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyZWFkaW5nX2l0ZW1fbmFtZVwiIDpzdHlsZT1cImBjb2xvcjoke3RhYkJhclRleHRDb2xvcn1gXCI+5Lmm5Z+OPC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGFiQmFyX1JlYWRpbmdfaXRlbVwiIEB0YXA9XCJoYW5kZWxTdGVVcFBvcHVwXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyZWFkaW5nX2l0ZW1faWNvblwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiaXNfaW1hZ2VzXCIgOnNyYz1cImJhclBvcHVwSWNvbltub3ZlbE1haW5UeXBlQ29sb3JdLnN0ZXBfdXBfaWNvblwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicmVhZGluZ19pdGVtX25hbWVcIiA6c3R5bGU9XCJgY29sb3I6JHt0YWJCYXJUZXh0Q29sb3J9YFwiPuiuvue9rjwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC91LXBvcHVwPlxyXG5cdFx0XHQ8dS1wb3B1cCA6c2hvdz1cInN0ZXBVcFBvcHVwU2hvd1wiIG1vZGU9XCJib3R0b21cIiA6b3ZlcmxheT1cImZhbHNlXCIgYmdDb2xvcj1cInRyYW5zcGFyZW50XCIgekluZGV4PVwiNVwiIDpzYWZlQXJlYUluc2V0Qm90dG9tPVwiZmFsc2VcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInN0ZXBfdXBfYm94XCIgOnN0eWxlPVwiYGJhY2tncm91bmQ6JHtib2R5UmVhZGluZ0JnfWBcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3RlcF91cF9ib3hfYm9keVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInN0ZXBfdXBfaXRlbVwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3RlcF91cF9pdGVtX25hbWVcIiA6c3R5bGU9XCJgY29sb3I6JHtkaWFsb2dUZXh0Q29sb3J9YFwiPuiDjOaZrzwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyA6Y2xhc3M9XCJbYHN0ZXBfdXBfaXRlbV9iZ2AsIG5vdmVsTWFpblR5cGVDb2xvciA9PSAnRjNFRkU5JyA/ICdhY3RpdmVCbGFjaycgOiAnJ11cIlxyXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJiYWNrZ3JvdW5kOiAjZjNlZmU5XCIgQHRhcD1cImNoYW5nTm92ZWxNYWluVHlwZSgnRjNFRkU5JylcIj48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgOmNsYXNzPVwiW2BzdGVwX3VwX2l0ZW1fYmdgLCBub3ZlbE1haW5UeXBlQ29sb3IgPT0gJ0NDRDlFMicgPyAnYWN0aXZlQmxhY2snIDogJyddXCJcclxuXHRcdFx0XHRcdFx0XHRcdHN0eWxlPVwiYmFja2dyb3VuZDogI2NjZDllMlwiIEB0YXA9XCJjaGFuZ05vdmVsTWFpblR5cGUoJ0NDRDlFMicpXCI+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IDpjbGFzcz1cIltgc3RlcF91cF9pdGVtX2JnYCwgbm92ZWxNYWluVHlwZUNvbG9yID09ICczMzMzMzMnID8gJ2FjdGl2ZVdoaXRlJyA6ICcnXVwiXHJcblx0XHRcdFx0XHRcdFx0XHRAdGFwPVwiY2hhbmdOb3ZlbE1haW5UeXBlKCczMzMzMzMnKVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiaXNfaW1hZ2VzXCIgOnNyYz1cInNldFVwTW9kZUJsYWNrXCIgLz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzdGVwX3VwX2l0ZW0gbXQ0MHJweFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3RlcF91cF9pdGVtX25hbWVcIiA6c3R5bGU9XCJgY29sb3I6JHtkaWFsb2dUZXh0Q29sb3J9YFwiPuWtl+WPtzwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInN0ZXBfdXBfaXRlbV90ZXh0X2JnXCJcclxuXHRcdFx0XHRcdFx0XHRcdDpzdHlsZT1cImBjb2xvcjoke2RpYWxvZ1RleHRDb2xvcn07YmFja2dyb3VuZDoke2RpYWxvZ0FUZXh0Qmd9YFwiXHJcblx0XHRcdFx0XHRcdFx0XHRAdGFwPVwicmVkdWNlQ2hhcmFjdGVyc1NpemVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdEEtPC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3RlcF91cF9pdGVtX3RleHRfYmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OnN0eWxlPVwiYGNvbG9yOiR7ZGlhbG9nVGV4dENvbG9yfTtiYWNrZ3JvdW5kOiR7ZGlhbG9nQVRleHRCZ31gXCJcclxuXHRcdFx0XHRcdFx0XHRcdEB0YXA9XCJhZGRDaGFyYWN0ZXJzU2l6ZVwiPkErXHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3RlcF91cF9pdGVtX3RleHRfYmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OnN0eWxlPVwiYGNvbG9yOiR7ZGlhbG9nVGV4dENvbG9yfTtiYWNrZ3JvdW5kOiR7ZGlhbG9nQVRleHRCZ31gXCJcclxuXHRcdFx0XHRcdFx0XHRcdEB0YXA9XCJoYW5kZWxDaGFyYWN0ZXJzU2l6ZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx06buY6K6kPC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImhlaWdodDogMTQwcnB4XCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdS1wb3B1cD5cclxuXHRcdDwhLS0gXHQ8dS1wb3B1cCA6c2hvdz1cImRpcmVjdG9yeVBvcHVwU2hvd1wiIEBjbG9zZT1cImRpcmVjdG9yeVBvcHVwQ2xvc2VcIiBtb2RlPVwicmlnaHRcIiA6c2FmZUFyZWFJbnNldFRvcD1cInRydWVcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRpcmVjdG9yeV9wb3B1cF9ib3hcIj5cclxuXHRcdFx0XHRcdDxzY3JvbGwtdmlldyBzY3JvbGwteT1cInRydWVcIiBAc2Nyb2xsdG91cHBlcj1cImRpcmVjdG9yeVBvcHVwVXBwZXJcIlxyXG5cdFx0XHRcdFx0XHRAc2Nyb2xsdG9sb3dlcj1cImRpcmVjdG9yeVBvcHVwTG93ZXJcIiA6c2hvdy1zY3JvbGxiYXI9XCJmYWxzZVwiIGNsYXNzPVwiZGlyZWN0b3J5X3Njcm9sbF95XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiX3BvcHVwX2JveF9pdGVtXCIgdi1mb3I9XCJtIGluIGRpcmVjdG9yeUxpc3RcIiA6a2V5PVwibS5pZFwiIEB0YXA9XCJoYW5kZWxEaXJlY3RvcnlJdGVtXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgOmNsYXNzPVwiWydfaXRlbV9uYW1lJywgcmVhZERpcmVjdG9yeUFjdGl2ZSA9PSBtLmNoYXB0ZXJvcmRlciA/ICdhY3RpdmUnIDogJyddXCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7eyBtLmNoYXB0ZXJuYW1lIH19XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJtLmlzdmlwXCIgY2xhc3M9XCJfaXRlbV9jaGFwdGVyX2xvY2tcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImlzX2ltYWdlc1wiIHNyYz1cIi9zdGF0aWMvaW1hZ2VzL2NoYXB0ZXJfbG9jay5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC9zY3JvbGwtdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdS1wb3B1cD4gLS0+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgc2V0VXBSZWFkaW5nQ29sb3JBbGwgZnJvbSAnLi9zZXRVcFJlYWRpbmdDb2xvckFsbC5qcyc7XHJcblx0aW1wb3J0IGJvb2tzaGVsZl8zMzMgZnJvbSAnQC9zdGF0aWMvaW1hZ2VzL25vdmVsUmVhZGluZy9ib29rc2hlbGZfMzMzLnBuZyc7XHJcblx0aW1wb3J0IGRpcmVjdG9yeV8zMzMgZnJvbSAnQC9zdGF0aWMvaW1hZ2VzL25vdmVsUmVhZGluZy9kaXJlY3RvcnlfMzMzLnBuZyc7XHJcblx0aW1wb3J0IHN0ZXBfdXBfMzMzIGZyb20gJ0Avc3RhdGljL2ltYWdlcy9ub3ZlbFJlYWRpbmcvc3RlcF91cF8zMzMucG5nJztcclxuXHRpbXBvcnQgYm9va3NoZWxmX2NjZDllMiBmcm9tICdAL3N0YXRpYy9pbWFnZXMvbm92ZWxSZWFkaW5nL2Jvb2tzaGVsZl9jY2Q5ZTIucG5nJztcclxuXHRpbXBvcnQgc3RlcF91cF9jY2Q5ZTIgZnJvbSAnQC9zdGF0aWMvaW1hZ2VzL25vdmVsUmVhZGluZy9zdGVwX3VwX2NjZDllMi5wbmcnO1xyXG5cdGltcG9ydCBkaXJlY3RvcnlfY2NkOWUyIGZyb20gJ0Avc3RhdGljL2ltYWdlcy9ub3ZlbFJlYWRpbmcvZGlyZWN0b3J5X2NjZDllMi5wbmcnO1xyXG5cdGltcG9ydCBib29rc2hlbGZfZjNlZmUgZnJvbSAnQC9zdGF0aWMvaW1hZ2VzL25vdmVsUmVhZGluZy9ib29rc2hlbGZfZjNlZmUucG5nJztcclxuXHRpbXBvcnQgZGlyZWN0b3J5X2YzZWZlOSBmcm9tICdAL3N0YXRpYy9pbWFnZXMvbm92ZWxSZWFkaW5nL2RpcmVjdG9yeV9mM2VmZTkucG5nJztcclxuXHRpbXBvcnQgc3RlcF91cF9mM2VmZSBmcm9tICdAL3N0YXRpYy9pbWFnZXMvbm92ZWxSZWFkaW5nL3N0ZXBfdXBfZjNlZmUucG5nJztcclxuXHRpbXBvcnQgc2V0X3VwX21vZGVfYmxhY2sgZnJvbSAnQC9zdGF0aWMvaW1hZ2VzL25vdmVsUmVhZGluZy9zZXRfdXBfbW9kZV9ibGFjay5wbmcnO1xyXG5cdGltcG9ydCByZWNoYXJnZV9lbXB0eSBmcm9tICdAL3N0YXRpYy9pbWFnZXMvcmVjaGFyZ2VfZW1wdHkucG5nJ1xyXG5cdGltcG9ydCBjb25maWcgZnJvbSAnQC9jb25maWcvaW5kZXgnO1xyXG5cdGltcG9ydCB7XHJcblx0XHRpc0dldFN5c3RlbUluZm9cclxuXHR9IGZyb20gJ0AvdXRpbHMvc3lzdGVtSW5mby5qcyc7XHJcblx0aW1wb3J0IHtcclxuXHRcdG15R2V0U3RvcmFnZSxcclxuXHRcdG15U2V0U3RvcmFnZVxyXG5cdH0gZnJvbSAnQC91dGlscy9zdG9yYWdlL2luZGV4LmpzJztcclxuXHRpbXBvcnQgbXlEYXRhIGZyb20gJy4vZGF0YS5qcyc7XHJcblx0aW1wb3J0IENvbW1Cb29rTGVmdFJpZ3RoIGZyb20gJ0AvY29tcG9uZW50cy9jb21tQm9va0xlZnRSaWd0aC9pbmRleC52dWUnXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0Y29tcG9uZW50czoge1xyXG5cdFx0XHRDb21tQm9va0xlZnRSaWd0aFxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0dG9rZW46ICcnLFxyXG5cdFx0XHRcdG5hdmJhclRpdGxlOiAn5bCP6K+06ZiF6K+76aG16Z2iJyxcclxuXHRcdFx0XHRub3ZlbE1haW5UeXBlQ29sb3I6ICcnLFxyXG5cdFx0XHRcdHNldFVwQ29sb3JBbGw6IHt9LFxyXG5cdFx0XHRcdG5hdmlnYXRpb25CYXJUaXRsZVRleHRDb2xvcjogJycsXHJcblx0XHRcdFx0bWFpbkJvZHlCZzogJycsXHJcblx0XHRcdFx0bmF2aWdhdGlvbkJhclRpdGxlVGV4dEJhY2tDb2xvcjogJycsXHJcblx0XHRcdFx0cHJldmlvdXNDaGFwdGVyQmJ1dHRvbkJnOiAnJyxcclxuXHRcdFx0XHRwcmV2aW91c0NoYXB0ZXJCYnV0dG9uVGV4dENvbG9yOiAnJyxcclxuXHRcdFx0XHRuZXh0Q2hhcHRlckJidXR0b25CZzogJycsXHJcblx0XHRcdFx0bmV4dENoYXB0ZXJCYnV0dG9uVGV4dENvbG9yOiAnJyxcclxuXHRcdFx0XHRib2R5UmVhZGluZ0hlaWdodDogMCxcclxuXHRcdFx0XHRzY3JvbGxSZWFkaW5nSGVpZ2h0OiAwLFxyXG5cdFx0XHRcdC8vIOWGheWuueiDjOaZr1xyXG5cdFx0XHRcdGJvZHlSZWFkaW5nQmc6ICcnLFxyXG5cdFx0XHRcdC8vIOW6lemDqOWuieWFqOWMulxyXG5cdFx0XHRcdC8vIGJvdHRvbVNlY3VyZUhlaWdodDogMCxcclxuXHRcdFx0XHRyZWFkaW5nUG9wdXBzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRzdGVwVXBQb3B1cFNob3c6IGZhbHNlLFxyXG5cdFx0XHRcdHB1cmNoYXNlRnVsbFNob3c6IGZhbHNlLFxyXG5cdFx0XHRcdG5hdmJhclBvcHVwU2hvdzpmYWxzZSxcclxuXHRcdFx0XHQvLyBiYXIg55qEaWNvblxyXG5cdFx0XHRcdGJhclBvcHVwSWNvbjoge30sXHJcblx0XHRcdFx0ZGlhbG9nVGV4dENvbG9yOiAnJyxcclxuXHRcdFx0XHRwcm9ncmVzc0JnOiAnJyxcclxuXHRcdFx0XHRwcm9ncmVzc0FjdGl2ZUJnOiAnJyxcclxuXHRcdFx0XHRzZXRVcE1vZGVCbGFjazogJycsXHJcblx0XHRcdFx0ZGlhbG9nQVRleHRCZzogJycsXHJcblx0XHRcdFx0bm92ZWxDb250ZW50Q29sb3I6ICcnLFxyXG5cdFx0XHRcdC8vIOebruW9leS/oeaBr1xyXG5cdFx0XHRcdGJvb2tzRGlyZWN0b3J5U2lkOiAnMjM4NycsXHJcblx0XHRcdFx0Ym9va0luZm86IHt9LFxyXG5cdFx0XHRcdGJvb2tzRGlyZWN0b3J5UGFnZTogMSxcclxuXHRcdFx0XHRuZXdCb29rc0RpcmVjdG9yeVBhZ2U6IFtdLFxyXG5cdFx0XHRcdGRpcmVjdG9yeUxpc3Q6IFtdLFxyXG5cdFx0XHRcdC8vIGRpcmVjdG9yeVBvcHVwSGVpZ2h0OiAwLFxyXG5cdFx0XHRcdGRpcmVjdG9yeVBvcHVwU2hvdzogZmFsc2UsXHJcblx0XHRcdFx0Ly8g5bCP6K+05L+h5oGvXHJcblx0XHRcdFx0bm92ZWxSZWFkaW5nQ29udGVudFRleHQ6IFtdLFxyXG5cdFx0XHRcdGNoYXJhY3RlcnNQYWdlVHlwZTogJ3JlYWwnLFxyXG5cdFx0XHRcdGRlZmF1bHRDaGFyYWN0ZXJzU2l6ZTogMjgsXHJcblx0XHRcdFx0bmV3Q2hhcmFjdGVyc1NpemU6IDI4LFxyXG5cdFx0XHRcdGRlZmF1bHRDaGFyYWN0ZXJzTGluZUhlaWdodDogMjAsXHJcblx0XHRcdFx0cmVhZERpcmVjdG9yeUFjdGl2ZTogJycsXHJcblx0XHRcdFx0cmVhZENoYXB0ZXJpZDogJycsXHJcblx0XHRcdFx0cmVhZENoYXB0ZXJGbGFnOiBmYWxzZSxcclxuXHRcdFx0XHRyZWFkQ2hhcHRlckluZm9PYmo6IHt9LFxyXG5cdFx0XHRcdHJlYWRDaGFwdGVyTGFzdGlkOiAnJyxcclxuXHRcdFx0XHRyZWFkQ2hhcHRlck5leHRpZDogJycsXHJcblx0XHRcdH07XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0dGhpcy5ib29rc0RpcmVjdG9yeVNpZCA9IG9wdGlvbnMuc2lkO1xyXG5cdFx0XHR0aGlzLm5hdmJhclRpdGxlID0gb3B0aW9ucy5uO1xyXG5cdFx0XHR0aGlzLnJlYWRDaGFwdGVyaWQgPSBvcHRpb25zLmlkO1xyXG5cdFx0XHR0aGlzLmlzR2V0VXNlclJlYWQoKTtcclxuXHRcdH0sXHJcblx0XHRvblNob3coKSB7XHJcblx0XHRcdGNvbnN0IHRva2VuID0gbXlHZXRTdG9yYWdlKCd0b2tlbicpO1xyXG5cdFx0XHR0aGlzLnRva2VuID0gdG9rZW47XHJcblx0XHRcdGNvbnN0IGJvb2tTaWQgPSB0aGlzLmJvb2tzRGlyZWN0b3J5U2lkO1xyXG5cdFx0XHQvLyBjb25zdCBkYXRhID0ge1xyXG5cdFx0XHQvLyBcdHNpZDogYm9va1NpZCxcclxuXHRcdFx0Ly8gfVxyXG5cdFx0XHQvLyB1bmkuJHUuaHR0cC5wb3N0KCcvYm9va2RldGFpbHMnLCBkYXRhKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0Ly8gXHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0Ly8gXHRpZiAocmVzLnN0YXR1cyA9PSAxKSB7XHJcblx0XHRcdC8vIFx0XHRjb25zdCBpbmZvID0gcmVzLmRhdGEuaW5mbztcclxuXHRcdFx0Ly8gXHRcdGNvbnN0IGNvdmVyID0gaW5mby5jb3Zlci5pbmNsdWRlcygnaHR0cCcpID8gaW5mby5jb3ZlciA6IGAke2NvbmZpZy5iYXNlVXJsfSR7aW5mby5jb3Zlcn1gO1xyXG5cdFx0XHQvLyBcdFx0dGhpcy5ib29rSW5mbyA9IHtcclxuXHRcdFx0Ly8gXHRcdFx0Li4uaW5mbyxcclxuXHRcdFx0Ly8gXHRcdFx0Y292ZXJcclxuXHRcdFx0Ly8gXHRcdH07XHJcblx0XHRcdC8vIFx0fVxyXG5cdFx0XHQvLyB9KS5jYXRjaCgoZXJyKSA9PiB7XHJcblx0XHRcdC8vIFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdC8vIH0pXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRhc3luYyBpc0dldFVzZXJSZWFkKCkge1xyXG5cdFx0XHRcdGNvbnN0IGJvb2tzRGlyZWN0b3J5U2lkID0gdGhpcy5ib29rc0RpcmVjdG9yeVNpZDtcclxuXHRcdFx0XHRjb25zdCBib29rc0RpcmVjdG9yeVBhZ2UgPSB0aGlzLmJvb2tzRGlyZWN0b3J5UGFnZTtcclxuXHRcdFx0XHRjb25zdCByZWFkQ2hhcHRlcmlkID0gdGhpcy5yZWFkQ2hhcHRlcmlkID8gdGhpcy5yZWFkQ2hhcHRlcmlkIDogJyc7XHJcblx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJJbmZvT2JqID0gYXdhaXQgdGhpcy5pc0dldEJvb2tJbmZvKHJlYWRDaGFwdGVyaWQsICcnLCB0cnVlKTtcclxuXHRcdFx0XHR0aGlzLm5vdmVsUmVhZGluZ0NvbnRlbnRUZXh0ID0gW3JlYWRDaGFwdGVySW5mb09ial07XHJcblx0XHRcdFx0dGhpcy5yZWFkRGlyZWN0b3J5QWN0aXZlID0gcmVhZENoYXB0ZXJJbmZvT2JqLmNoYXB0ZXJvcmRlcjtcclxuXHRcdFx0XHR0aGlzLnJlYWRDaGFwdGVyTGFzdGlkID0gcmVhZENoYXB0ZXJJbmZvT2JqLmxhc3RpZDtcclxuXHRcdFx0XHR0aGlzLnJlYWRDaGFwdGVyTmV4dGlkID0gcmVhZENoYXB0ZXJJbmZvT2JqLm5leHRpZDtcclxuXHRcdFx0XHR0aGlzLiRyZWZzLnlpbmdiaW5nUmVhZFBhZ2UuaW5pdCh7XHJcblx0XHRcdFx0XHRjb250ZW50czogW3JlYWRDaGFwdGVySW5mb09ial0sXHJcblx0XHRcdFx0XHRzdGFydDogMCxcclxuXHRcdFx0XHRcdGN1cnJlbnRDaGFwdGVyOiByZWFkQ2hhcHRlckluZm9PYmouY2hhcHRlcm9yZGVyXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0aXNHZXRCb29rSW5mbyhjaGFwdGVySWQsIHN0YXR1c1R5cGUsIGlzU2hvd0xvYWRpbmcgPSBmYWxzZSkge1xyXG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgYm9va3NEaXJlY3RvcnlTaWQgPSB0aGlzLmJvb2tzRGlyZWN0b3J5U2lkO1xyXG5cdFx0XHRcdFx0Y29uc3Qgbm92ZWxSZWFkaW5nQ29udGVudFRleHQgPSB0aGlzLm5vdmVsUmVhZGluZ0NvbnRlbnRUZXh0O1xyXG5cdFx0XHRcdFx0aWYgKGlzU2hvd0xvYWRpbmcpIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLidcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjb25zdCBkYXRhID0ge1xyXG5cdFx0XHRcdFx0XHRzaWQ6IGJvb2tzRGlyZWN0b3J5U2lkLFxyXG5cdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdGlmIChjaGFwdGVySWQpIHtcclxuXHRcdFx0XHRcdFx0ZGF0YS5pZCA9IGNoYXB0ZXJJZDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHVuaS4kdS5odHRwLnBvc3QoJy9yZWFkJywgZGF0YSkudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN0YXR1cyA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgcmVzRGF0YSA9IHJlcy5kYXRhO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGlzX25vdmVsX2NvbnRlbnQgPSByZXNEYXRhLm5vdmVsX2NvbnRlbnQucmVwbGFjZSgvPFxcL3A+L2csICdcXG4nKVxyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IHJlYWRDaGFwdGVySW5mb09iaiA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdC4uLnJlc0RhdGEsXHJcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBpc19ub3ZlbF9jb250ZW50LnJlcGxhY2UoLzxwPi9nLCAnJyksXHJcblx0XHRcdFx0XHRcdFx0XHRpc1N0YXJ0OiByZXNEYXRhLmxhc3RpZCA9PSAnJyA/IHRydWUgOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdGlzRW5kOiByZXNEYXRhLm5leHRpZCA9PSAnJyA/IHRydWUgOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdGNoYXB0ZXI6IHJlc0RhdGEuY2hhcHRlcm9yZGVyLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IHJlc0RhdGEuY2hhcHRlcm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRpc1R0aXRsZTogcmVzRGF0YS50aXRsZVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gcmljaFRleHROb2RlczogYDxoMz4ke3Jlcy5kYXRhLmNoYXB0ZXJuYW1lfTwvaDM+PC9icj4ke3Jlcy5kYXRhLm5vdmVsX2NvbnRlbnR9YFxyXG5cdFx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5yZWFkQ2hhcHRlckluZm9PYmogPSByZWFkQ2hhcHRlckluZm9PYmo7XHJcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZShyZWFkQ2hhcHRlckluZm9PYmopO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KS5jYXRjaCgoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIsICc9PT09PT09PScpO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSlcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGFzeW5jIGxvYWRtb3JlQ29udGVudChjaGFwdGVyLCBjYWxsYmFjaykge1xyXG5cdFx0XHRcdGNvbnN0IG5ld1JlYWREaXJlY3RvcnlBY3RpdmUgPSB0aGlzLnJlYWREaXJlY3RvcnlBY3RpdmU7XHJcblx0XHRcdFx0Y29uc3QgbmV3UmVhZENoYXB0ZXJMYXN0aWQgPSB0aGlzLnJlYWRDaGFwdGVyTGFzdGlkO1xyXG5cdFx0XHRcdGNvbnN0IG5ld05vdmVsUmVhZGluZ0NvbnRlbnRUZXh0ID0gdGhpcy5ub3ZlbFJlYWRpbmdDb250ZW50VGV4dDtcclxuXHRcdFx0XHRjb25zdCBuZXdSZWFkQ2hhcHRlck5leHRpZCA9IHRoaXMucmVhZENoYXB0ZXJOZXh0aWQ7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coY2hhcHRlciwgbmV3UmVhZERpcmVjdG9yeUFjdGl2ZSwgXCJsb2FkbW9yZUNvbnRlbnRcIilcclxuXHRcdFx0XHRpZiAoY2hhcHRlciAhPSAxKSB7XHJcblx0XHRcdFx0XHRpZiAoY2hhcHRlciA8IG5ld1JlYWREaXJlY3RvcnlBY3RpdmUpIHtcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJJbmZvT2JqID0gYXdhaXQgdGhpcy5pc0dldEJvb2tJbmZvKG5ld1JlYWRDaGFwdGVyTGFzdGlkKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5ub3ZlbFJlYWRpbmdDb250ZW50VGV4dCA9IFsuLi5uZXdOb3ZlbFJlYWRpbmdDb250ZW50VGV4dCwgcmVhZENoYXB0ZXJJbmZvT2JqXTtcclxuXHRcdFx0XHRcdFx0dGhpcy5yZWFkRGlyZWN0b3J5QWN0aXZlID0gY2hhcHRlcjtcclxuXHRcdFx0XHRcdFx0aWYgKHJlYWRDaGFwdGVySW5mb09iai5jaGFja3BheSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0Y2FsbGJhY2soJ3N1Y2Nlc3MnLCByZWFkQ2hhcHRlckluZm9PYmopXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYgKHJlYWRDaGFwdGVySW5mb09iai5jaGFja3BheSA9PSAyIHx8IHJlYWRDaGFwdGVySW5mb09iai5jaGFja3BheSA9PSAzKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc3Qgbm92ZWxDb250ZW50Q29sb3IgPSB0aGlzLm5vdmVsQ29udGVudENvbG9yO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IG5ld0NoYXJhY3RlcnNTaXplID0gdGhpcy5uZXdDaGFyYWN0ZXJzU2l6ZTtcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBib2R5UmVhZGluZ0JnID0gdGhpcy5ib2R5UmVhZGluZ0JnO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGN1c3RvbSA9IFtgc2xvdDp0ZXN0YF07XHJcblx0XHRcdFx0XHRcdFx0Y29uc3Qgb2JqID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Li4ucmVhZENoYXB0ZXJJbmZvT2JqLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y3VzdG9tLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJydcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Y2FsbGJhY2soJ3N1Y2Nlc3MnLCBvYmopXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmIChjaGFwdGVyID4gbmV3UmVhZERpcmVjdG9yeUFjdGl2ZSkge1xyXG5cdFx0XHRcdFx0XHRjb25zdCByZWFkQ2hhcHRlckluZm9PYmogPSBhd2FpdCB0aGlzLmlzR2V0Qm9va0luZm8obmV3UmVhZENoYXB0ZXJOZXh0aWQpO1xyXG5cdFx0XHRcdFx0XHR0aGlzLm5vdmVsUmVhZGluZ0NvbnRlbnRUZXh0ID0gW3JlYWRDaGFwdGVySW5mb09iaiwgLi4ubmV3Tm92ZWxSZWFkaW5nQ29udGVudFRleHRdO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnJlYWREaXJlY3RvcnlBY3RpdmUgPSBjaGFwdGVyO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVhZENoYXB0ZXJJbmZvT2JqLmNoYWNrcGF5ID09IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRjYWxsYmFjaygnc3VjY2VzcycsIHJlYWRDaGFwdGVySW5mb09iailcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZiAocmVhZENoYXB0ZXJJbmZvT2JqLmNoYWNrcGF5ID09IDIgfHwgcmVhZENoYXB0ZXJJbmZvT2JqLmNoYWNrcGF5ID09IDMpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBub3ZlbENvbnRlbnRDb2xvciA9IHRoaXMubm92ZWxDb250ZW50Q29sb3I7XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgbmV3Q2hhcmFjdGVyc1NpemUgPSB0aGlzLm5ld0NoYXJhY3RlcnNTaXplO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGJvZHlSZWFkaW5nQmcgPSB0aGlzLmJvZHlSZWFkaW5nQmc7XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgY3VzdG9tID0gW2BzbG90OnRlc3RgXTtcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBvYmogPSB7XHJcblx0XHRcdFx0XHRcdFx0XHQuLi5yZWFkQ2hhcHRlckluZm9PYmosXHJcblx0XHRcdFx0XHRcdFx0XHRjdXN0b20sXHJcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJ1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRjYWxsYmFjaygnc3VjY2VzcycsIG9iailcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGN1cnJlbnRDaGFuZ2UocGFnZUluZm8pIHtcclxuXHRcdFx0XHRjb25zdCBub3ZlbFJlYWRpbmdDb250ZW50VGV4dCA9IHRoaXMubm92ZWxSZWFkaW5nQ29udGVudFRleHQ7XHJcblx0XHRcdFx0Y29uc3QgY2hhcHRlciA9IHBhZ2VJbmZvLmNoYXB0ZXI7XHJcblx0XHRcdFx0Y29uc3QgaXRlbVRlbXAgPSBub3ZlbFJlYWRpbmdDb250ZW50VGV4dC5maWx0ZXIoKG0pID0+IG0uY2hhcHRlciA9PSBjaGFwdGVyKTtcclxuXHRcdFx0XHR0aGlzLnJlYWRDaGFwdGVyTGFzdGlkID0gaXRlbVRlbXBbMF0ubGFzdGlkO1xyXG5cdFx0XHRcdHRoaXMucmVhZENoYXB0ZXJOZXh0aWQgPSBpdGVtVGVtcFswXS5uZXh0aWQ7XHJcblx0XHRcdH0sXHJcblx0XHRcdGFzeW5jIHByZXZpb3VzQ2hhcHRlcigpIHtcclxuXHRcdFx0XHRjb25zdCBuZXdSZWFkRGlyZWN0b3J5QWN0aXZlID0gdGhpcy5yZWFkRGlyZWN0b3J5QWN0aXZlO1xyXG5cdFx0XHRcdGNvbnN0IG5ld1JlYWRDaGFwdGVyTGFzdGlkID0gdGhpcy5yZWFkQ2hhcHRlckxhc3RpZDtcclxuXHRcdFx0XHRjb25zdCBuZXdOb3ZlbFJlYWRpbmdDb250ZW50VGV4dCA9IHRoaXMubm92ZWxSZWFkaW5nQ29udGVudFRleHQ7XHJcblx0XHRcdFx0aWYgKCFuZXdSZWFkQ2hhcHRlckxhc3RpZCkge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdGljb246ICdub25lJyxcclxuXHRcdFx0XHRcdFx0dGl0bGU6IFwi5bey57uP5piv56ys5LiA56ug5LqGXCJcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJJbmZvT2JqID0gYXdhaXQgdGhpcy5pc0dldEJvb2tJbmZvKG5ld1JlYWRDaGFwdGVyTGFzdGlkKTtcclxuXHRcdFx0XHR0aGlzLm5vdmVsUmVhZGluZ0NvbnRlbnRUZXh0ID0gW3JlYWRDaGFwdGVySW5mb09ial07XHJcblx0XHRcdFx0dGhpcy4kcmVmcy55aW5nYmluZ1JlYWRQYWdlLmluaXQoe1xyXG5cdFx0XHRcdFx0Y29udGVudHM6IFtyZWFkQ2hhcHRlckluZm9PYmpdLFxyXG5cdFx0XHRcdFx0c3RhcnQ6IDAsXHJcblx0XHRcdFx0XHRjdXJyZW50Q2hhcHRlcjogbmV3UmVhZERpcmVjdG9yeUFjdGl2ZSAtIDFcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHRoaXMucmVhZERpcmVjdG9yeUFjdGl2ZSA9IG5ld1JlYWREaXJlY3RvcnlBY3RpdmUgLSAxO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRhc3luYyBuZXh0Q2hhcHRlcigpIHtcclxuXHRcdFx0XHRjb25zdCBuZXdSZWFkRGlyZWN0b3J5QWN0aXZlID0gdGhpcy5yZWFkRGlyZWN0b3J5QWN0aXZlO1xyXG5cdFx0XHRcdGNvbnN0IHJlYWRDaGFwdGVyTmV4dGlkID0gdGhpcy5yZWFkQ2hhcHRlck5leHRpZDtcclxuXHRcdFx0XHRjb25zdCBuZXdOb3ZlbFJlYWRpbmdDb250ZW50VGV4dCA9IHRoaXMubm92ZWxSZWFkaW5nQ29udGVudFRleHQ7XHJcblx0XHRcdFx0aWYgKCFyZWFkQ2hhcHRlck5leHRpZCkge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdGljb246ICdub25lJyxcclxuXHRcdFx0XHRcdFx0dGl0bGU6IFwi5bey57uP5piv5pyA5ZCO5LiA56ug5LqGflwiXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0cmV0dXJuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnN0IHJlYWRDaGFwdGVySW5mb09iaiA9IGF3YWl0IHRoaXMuaXNHZXRCb29rSW5mbyhyZWFkQ2hhcHRlck5leHRpZCk7XHJcblx0XHRcdFx0dGhpcy5ub3ZlbFJlYWRpbmdDb250ZW50VGV4dCA9IFtyZWFkQ2hhcHRlckluZm9PYmpdO1xyXG5cdFx0XHRcdHRoaXMuJHJlZnMueWluZ2JpbmdSZWFkUGFnZS5pbml0KHtcclxuXHRcdFx0XHRcdGNvbnRlbnRzOiBbcmVhZENoYXB0ZXJJbmZvT2JqXSxcclxuXHRcdFx0XHRcdHN0YXJ0OiAwLFxyXG5cdFx0XHRcdFx0Y3VycmVudENoYXB0ZXI6IG5ld1JlYWREaXJlY3RvcnlBY3RpdmUgKyAxXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHR0aGlzLnJlYWREaXJlY3RvcnlBY3RpdmUgPSBuZXdSZWFkRGlyZWN0b3J5QWN0aXZlICsgMTtcclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGVsRGlyZWN0b3J5SXRlbShyb3cpIHt9LFxyXG5cdFx0XHRoYW5kZWxTaG93U3RlcFVwKCkge1xyXG5cdFx0XHRcdHRoaXMucmVhZGluZ1BvcHVwc2hvdyA9ICF0aGlzLnJlYWRpbmdQb3B1cHNob3c7XHJcblx0XHRcdFx0dGhpcy5uYXZiYXJQb3B1cFNob3cgPSAhdGhpcy5uYXZiYXJQb3B1cFNob3c7XHJcblx0XHRcdFx0dGhpcy5zdGVwVXBQb3B1cFNob3cgPSBmYWxzZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGVsRGlyZWN0b3J5UG9wdXAoKSB7XHJcblx0XHRcdFx0Ly8gdGhpcy5kaXJlY3RvcnlQb3B1cFNob3cgPSB0cnVlO1xyXG5cdFx0XHRcdGNvbnN0IHJlYWRDaGFwdGVySW5mb09iaiA9IHRoaXMucmVhZENoYXB0ZXJJbmZvT2JqO1xyXG5cdFx0XHRcdGNvbnN0IHJlYWREaXJlY3RvcnlBY3RpdmUgPSB0aGlzLnJlYWREaXJlY3RvcnlBY3RpdmU7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiBgL3BhZ2VzL2Jvb2tSZWNvbW1lbmRMaXN0L2Jvb2tSZWNvbW1lbmRMaXN0P3NpZD0ke3JlYWRDaGFwdGVySW5mb09iai5zaWR9JnQ9JHtyZWFkQ2hhcHRlckluZm9PYmouaXNUaXRsZX0mYz0ke3JlYWREaXJlY3RvcnlBY3RpdmV9YFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHRvUGF0aExvZ2luKCkge1xyXG5cdFx0XHRcdGNvbnN0IHJlYWRDaGFwdGVySW5mb09iaiA9IHRoaXMucmVhZENoYXB0ZXJJbmZvT2JqO1xyXG5cdFx0XHRcdGNvbnN0IHJlYWREaXJlY3RvcnlBY3RpdmUgPSB0aGlzLnJlYWREaXJlY3RvcnlBY3RpdmU7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiBgL3BhZ2VzL2xvZ2luL2xvZ2luP3NpZD0ke3JlYWRDaGFwdGVySW5mb09iai5zaWR9Jmk9JHtyZWFkQ2hhcHRlckluZm9PYmouaWR9JmM9JHtyZWFkRGlyZWN0b3J5QWN0aXZlfSZ0bz0xYFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGRpcmVjdG9yeVBvcHVwQ2xvc2UoKSB7XHJcblx0XHRcdFx0Ly8gdGhpcy5kaXJlY3RvcnlQb3B1cFNob3cgPSBmYWxzZTtcclxuXHRcdFx0XHQvLyBjb25zdCByZWFkQ2hhcHRlckluZm9PYmogPSB0aGlzLnJlYWRDaGFwdGVySW5mb09iajtcclxuXHRcdFx0XHQvLyB1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0Ly8gXHR1cmw6IGAvcGFnZXMvYm9va1JlY29tbWVuZExpc3QvYm9va1JlY29tbWVuZExpc3Q/c2lkPSR7cmVhZENoYXB0ZXJJbmZvT2JqLnNpZH0mdD0ke3JlYWRDaGFwdGVySW5mb09iai50aXRsZX0mYz0ke3JlYWRDaGFwdGVySW5mb09iai5jaGFwdGVyb3JkZXJ9YFxyXG5cdFx0XHRcdC8vIH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHB1cmNoYXNlRnVsbENsb3NlKCkge1xyXG5cdFx0XHRcdGNvbnN0IHJlYWRDaGFwdGVyRmxhZyA9IHRoaXMucmVhZENoYXB0ZXJGbGFnO1xyXG5cdFx0XHRcdGlmIChyZWFkQ2hhcHRlckZsYWcpIHtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5wdXJjaGFzZUZ1bGxTaG93ID0gZmFsc2U7XHJcblx0XHRcdH0sXHJcblx0XHRcdGhhbmRlbFN0ZVVwUG9wdXAoKSB7XHJcblx0XHRcdFx0dGhpcy5zdGVwVXBQb3B1cFNob3cgPSB0cnVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRiYWxhbmNlQ29uZmlybSgpIHtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6IGAvcGFnZXMvdm91Y2hlckNlbnRlci9pbmRleGBcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRoYW5kZWxQdXJjaGFzZUZ1bGwoKSB7XHJcblx0XHRcdFx0Y29uc3QgcmVhZENoYXB0ZXJJbmZvT2JqID0gdGhpcy5yZWFkQ2hhcHRlckluZm9PYmo7XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJ1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGNvbnN0IGRhdGEgPSB7XHJcblx0XHRcdFx0XHRzaWQ6IHJlYWRDaGFwdGVySW5mb09iai5zaWQsXHJcblx0XHRcdFx0XHRpZDogcmVhZENoYXB0ZXJJbmZvT2JqLmlkLFxyXG5cdFx0XHRcdFx0YWxscHJpY2U6IHJlYWRDaGFwdGVySW5mb09iai5hbGxwcmljZSxcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdHVuaS4kdS5odHRwLnBvc3QoJy9idXlhbGwnLCBkYXRhKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXMgPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEuc3RhdHVzID09IDIpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIui0reS5sOWksei0pVwiKVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSkuY2F0Y2goKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOWIh+aNoumhtemdouminOiJslxyXG5cdFx0XHRjaGFuZ05vdmVsTWFpblR5cGUodHlwZSkge1xyXG5cdFx0XHRcdHRoaXMubm92ZWxNYWluVHlwZUNvbG9yID0gdHlwZTtcclxuXHRcdFx0XHR0aGlzLmluaXRQYWdlKHR5cGUpO1xyXG5cdFx0XHRcdGNvbnN0IG5vdmVsTWFpbk9iaiA9IG15R2V0U3RvcmFnZSgnbm92ZWxNYWluT2JqJykgfHwgJ3t9JztcclxuXHRcdFx0XHRjb25zdCBvYmogPSB7XHJcblx0XHRcdFx0XHQuLi5KU09OLnBhcnNlKG5vdmVsTWFpbk9iaiksXHJcblx0XHRcdFx0XHRub3ZlbE1haW5UeXBlQ29sb3I6IHR5cGUsXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdG15U2V0U3RvcmFnZSgnbm92ZWxNYWluT2JqJywgSlNPTi5zdHJpbmdpZnkob2JqKSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOWtl+S9k+WHj+Wwj1xyXG5cdFx0XHRyZWR1Y2VDaGFyYWN0ZXJzU2l6ZSgpIHtcclxuXHRcdFx0XHRjb25zdCBuZXdDaGFyYWN0ZXJzU2l6ZSA9IHRoaXMubmV3Q2hhcmFjdGVyc1NpemU7XHJcblx0XHRcdFx0dGhpcy5uZXdDaGFyYWN0ZXJzU2l6ZSA9IG5ld0NoYXJhY3RlcnNTaXplIC0gMjtcclxuXHRcdFx0XHRjb25zdCBub3ZlbE1haW5PYmogPSBteUdldFN0b3JhZ2UoJ25vdmVsTWFpbk9iaicpIHx8ICd7fSc7XHJcblx0XHRcdFx0Y29uc3Qgb2JqID0ge1xyXG5cdFx0XHRcdFx0Li4uSlNPTi5wYXJzZShub3ZlbE1haW5PYmopLFxyXG5cdFx0XHRcdFx0Y2hhcmFjdGVyc1NpemU6IG5ld0NoYXJhY3RlcnNTaXplIC0gMixcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bXlTZXRTdG9yYWdlKCdub3ZlbE1haW5PYmonLCBKU09OLnN0cmluZ2lmeShvYmopKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5a2X5L2T5Yqg5aSnXHJcblx0XHRcdGFkZENoYXJhY3RlcnNTaXplKCkge1xyXG5cdFx0XHRcdGNvbnN0IG5ld0NoYXJhY3RlcnNTaXplID0gdGhpcy5uZXdDaGFyYWN0ZXJzU2l6ZTtcclxuXHRcdFx0XHR0aGlzLm5ld0NoYXJhY3RlcnNTaXplID0gbmV3Q2hhcmFjdGVyc1NpemUgKyAyO1xyXG5cdFx0XHRcdGNvbnN0IG5vdmVsTWFpbk9iaiA9IG15R2V0U3RvcmFnZSgnbm92ZWxNYWluT2JqJykgfHwgJ3t9JztcclxuXHRcdFx0XHRjb25zdCBvYmogPSB7XHJcblx0XHRcdFx0XHQuLi5KU09OLnBhcnNlKG5vdmVsTWFpbk9iaiksXHJcblx0XHRcdFx0XHRjaGFyYWN0ZXJzU2l6ZTogbmV3Q2hhcmFjdGVyc1NpemUgKyAyLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRteVNldFN0b3JhZ2UoJ25vdmVsTWFpbk9iaicsIEpTT04uc3RyaW5naWZ5KG9iaikpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDmgaLlpI3pu5jorqTlrZfkvZPlpKflsI9cclxuXHRcdFx0aGFuZGVsQ2hhcmFjdGVyc1NpemUoKSB7XHJcblx0XHRcdFx0Y29uc3QgZGVmYXVsdENoYXJhY3RlcnNTaXplID0gdGhpcy5kZWZhdWx0Q2hhcmFjdGVyc1NpemU7XHJcblx0XHRcdFx0dGhpcy5uZXdDaGFyYWN0ZXJzU2l6ZSA9IGRlZmF1bHRDaGFyYWN0ZXJzU2l6ZTtcclxuXHRcdFx0XHRjb25zdCBub3ZlbE1haW5PYmogPSBteUdldFN0b3JhZ2UoJ25vdmVsTWFpbk9iaicpIHx8ICd7fSc7XHJcblx0XHRcdFx0Y29uc3Qgb2JqID0ge1xyXG5cdFx0XHRcdFx0Li4uSlNPTi5wYXJzZShub3ZlbE1haW5PYmopLFxyXG5cdFx0XHRcdFx0Y2hhcmFjdGVyc1NpemU6IGRlZmF1bHRDaGFyYWN0ZXJzU2l6ZSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bXlTZXRTdG9yYWdlKCdub3ZlbE1haW5PYmonLCBKU09OLnN0cmluZ2lmeShvYmopKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8gLy8g55uu5b2V5YiS5Yiw5LqG5pyA5LiK6L65XHJcblx0XHRcdC8vIGRpcmVjdG9yeVBvcHVwVXBwZXIoKSB7XHJcblx0XHRcdC8vIFx0Y29uc3QgaXNCb29rc0RpcmVjdG9yeVBhZ2UgPSB0aGlzLmJvb2tzRGlyZWN0b3J5UGFnZTtcclxuXHRcdFx0Ly8gXHRjb25zdCBuZXdCb29rc0RpcmVjdG9yeVBhZ2UgPSB0aGlzLm5ld0Jvb2tzRGlyZWN0b3J5UGFnZTtcclxuXHRcdFx0Ly8gXHRpZiAoaXNCb29rc0RpcmVjdG9yeVBhZ2UgPiAxICYmIG5ld0Jvb2tzRGlyZWN0b3J5UGFnZS5pbmRleE9mKGlzQm9va3NEaXJlY3RvcnlQYWdlKSA9PSAtMSkge1xyXG5cdFx0XHQvLyBcdFx0Y29uc3QgYm9va3NEaXJlY3RvcnlTaWQgPSB0aGlzLmJvb2tzRGlyZWN0b3J5U2lkO1xyXG5cdFx0XHQvLyBcdFx0Y29uc3QgYm9va3NEaXJlY3RvcnlQYWdlID0gaXNCb29rc0RpcmVjdG9yeVBhZ2UgLSAxO1xyXG5cdFx0XHQvLyBcdFx0dGhpcy5ib29rc0RpcmVjdG9yeVBhZ2UgPSBib29rc0RpcmVjdG9yeVBhZ2U7XHJcblx0XHRcdC8vIFx0XHR0aGlzLmlzR2V0RGlyZWN0b3J5KGJvb2tzRGlyZWN0b3J5U2lkLCBib29rc0RpcmVjdG9yeVBhZ2UsICd1cHBlcicpO1xyXG5cdFx0XHQvLyBcdH1cclxuXHRcdFx0Ly8gfSxcclxuXHRcdFx0Ly8gLy8g55uu5b2V5YiS5Yiw5LqG5pyA5LiL6L65XHJcblx0XHRcdC8vIGRpcmVjdG9yeVBvcHVwTG93ZXIoKSB7XHJcblx0XHRcdC8vIFx0Y29uc3QgaXNCb29rc0RpcmVjdG9yeVBhZ2UgPSB0aGlzLmJvb2tzRGlyZWN0b3J5UGFnZTtcclxuXHRcdFx0Ly8gXHRjb25zdCBib29rc0RpcmVjdG9yeVNpZCA9IHRoaXMuYm9va3NEaXJlY3RvcnlTaWQ7XHJcblx0XHRcdC8vIFx0Y29uc3QgYm9va3NEaXJlY3RvcnlQYWdlID0gaXNCb29rc0RpcmVjdG9yeVBhZ2UgKyAxO1xyXG5cdFx0XHQvLyBcdGNvbnN0IG5ld0Jvb2tzRGlyZWN0b3J5UGFnZSA9IFsuLi50aGlzLm5ld0Jvb2tzRGlyZWN0b3J5UGFnZSwgYm9va3NEaXJlY3RvcnlQYWdlXTtcclxuXHRcdFx0Ly8gXHR0aGlzLm5ld0Jvb2tzRGlyZWN0b3J5UGFnZSA9IG5ld0Jvb2tzRGlyZWN0b3J5UGFnZTtcclxuXHRcdFx0Ly8gXHR0aGlzLmJvb2tzRGlyZWN0b3J5UGFnZSA9IGJvb2tzRGlyZWN0b3J5UGFnZTtcclxuXHRcdFx0Ly8gXHR0aGlzLmlzR2V0RGlyZWN0b3J5KGJvb2tzRGlyZWN0b3J5U2lkLCBib29rc0RpcmVjdG9yeVBhZ2UsICdsb3dlcicpO1xyXG5cdFx0XHQvLyB9LFxyXG5cdFx0XHRpc0dldERpcmVjdG9yeShzaWQsIHBhZ2UsIHR5cGUpIHtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0Y29uc3QgZGF0YSA9IHtcclxuXHRcdFx0XHRcdHNpZCxcclxuXHRcdFx0XHRcdHBhZ2VcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdHVuaS4kdS5odHRwLnBvc3QoJy9nZXREaXJlY3RvcnknLCBkYXRhKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXMgPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRjb25zdCBkaXJlY3RvcnkgPSByZXMuZGF0YS5kaXJlY3Rvcnk7XHJcblx0XHRcdFx0XHRcdGxldCBjb2x1bW5zTGFiZWwgPSAnJztcclxuXHRcdFx0XHRcdFx0aWYgKHR5cGUgPT0gJ3VwcGVyJykge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZGlyZWN0b3J5TGlzdCA9IFsuLi5kaXJlY3RvcnksIC4uLnRoaXMuZGlyZWN0b3J5TGlzdF07XHJcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAodHlwZSA9PSAnbG93ZXInKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kaXJlY3RvcnlMaXN0ID0gWy4uLnRoaXMuZGlyZWN0b3J5TGlzdCwgLi4uZGlyZWN0b3J5XTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmRpcmVjdG9yeUxpc3QgPSBkaXJlY3Rvcnk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KS5jYXRjaCgoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGVyciwgJz09PT09PT09Jyk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGluaXRQYWdlKG5vdmVsTWFpblR5cGVDb2xvcikge1xyXG5cdFx0XHRcdGNvbnN0IG1haW5Cb2R5QmcgPSBzZXRVcFJlYWRpbmdDb2xvckFsbFtub3ZlbE1haW5UeXBlQ29sb3JdLm1haW5Cb2R5Qmc7XHJcblx0XHRcdFx0dGhpcy5uYXZpZ2F0aW9uQmFyVGl0bGVUZXh0Q29sb3IgPSBzZXRVcFJlYWRpbmdDb2xvckFsbFtub3ZlbE1haW5UeXBlQ29sb3JdLm5hdmlnYXRpb25CYXJUaXRsZVRleHRDb2xvcjtcclxuXHRcdFx0XHR0aGlzLm1haW5Cb2R5QmcgPSBtYWluQm9keUJnO1xyXG5cdFx0XHRcdHRoaXMuYm9keVJlYWRpbmdCZyA9IG1haW5Cb2R5Qmc7XHJcblx0XHRcdFx0dGhpcy5kaWFsb2dUZXh0Q29sb3IgPSBzZXRVcFJlYWRpbmdDb2xvckFsbFtub3ZlbE1haW5UeXBlQ29sb3JdLmRpYWxvZ1RleHRDb2xvcjtcclxuXHRcdFx0XHR0aGlzLnByb2dyZXNzQmcgPSBzZXRVcFJlYWRpbmdDb2xvckFsbFtub3ZlbE1haW5UeXBlQ29sb3JdLnByb2dyZXNzQmc7XHJcblx0XHRcdFx0dGhpcy5wcm9ncmVzc0FjdGl2ZUJnID0gc2V0VXBSZWFkaW5nQ29sb3JBbGxbbm92ZWxNYWluVHlwZUNvbG9yXS5wcm9ncmVzc0FjdGl2ZUJnO1xyXG5cdFx0XHRcdHRoaXMuc2V0VXBNb2RlQmxhY2sgPSBzZXRfdXBfbW9kZV9ibGFjaztcclxuXHRcdFx0XHR0aGlzLmRpYWxvZ0FUZXh0QmcgPSBzZXRVcFJlYWRpbmdDb2xvckFsbFtub3ZlbE1haW5UeXBlQ29sb3JdLmRpYWxvZ0FUZXh0Qmc7XHJcblx0XHRcdFx0dGhpcy50YWJCYXJUZXh0Q29sb3IgPSBzZXRVcFJlYWRpbmdDb2xvckFsbFtub3ZlbE1haW5UeXBlQ29sb3JdLnRhYkJhclRleHRDb2xvcjtcclxuXHRcdFx0XHR0aGlzLm5vdmVsQ29udGVudENvbG9yID0gc2V0VXBSZWFkaW5nQ29sb3JBbGxbbm92ZWxNYWluVHlwZUNvbG9yXS5ub3ZlbENvbnRlbnRDb2xvcjtcclxuXHRcdFx0XHR0aGlzLm5hdmlnYXRpb25CYXJUaXRsZVRleHRCYWNrQ29sb3IgPSBzZXRVcFJlYWRpbmdDb2xvckFsbFtub3ZlbE1haW5UeXBlQ29sb3JdXHJcblx0XHRcdFx0XHQubmF2aWdhdGlvbkJhclRpdGxlVGV4dEJhY2tDb2xvcjtcclxuXHRcdFx0XHR0aGlzLnByZXZpb3VzQ2hhcHRlckJidXR0b25CZyA9IHNldFVwUmVhZGluZ0NvbG9yQWxsW25vdmVsTWFpblR5cGVDb2xvcl0ucHJldmlvdXNDaGFwdGVyQmJ1dHRvbkJnO1xyXG5cdFx0XHRcdHRoaXMucHJldmlvdXNDaGFwdGVyQmJ1dHRvblRleHRDb2xvciA9IHNldFVwUmVhZGluZ0NvbG9yQWxsW25vdmVsTWFpblR5cGVDb2xvcl1cclxuXHRcdFx0XHRcdC5wcmV2aW91c0NoYXB0ZXJCYnV0dG9uVGV4dENvbG9yO1xyXG5cdFx0XHRcdHRoaXMubmV4dENoYXB0ZXJCYnV0dG9uQmcgPSBzZXRVcFJlYWRpbmdDb2xvckFsbFtub3ZlbE1haW5UeXBlQ29sb3JdLm5leHRDaGFwdGVyQmJ1dHRvbkJnO1xyXG5cdFx0XHRcdHRoaXMubmV4dENoYXB0ZXJCYnV0dG9uVGV4dENvbG9yID0gc2V0VXBSZWFkaW5nQ29sb3JBbGxbbm92ZWxNYWluVHlwZUNvbG9yXS5uZXh0Q2hhcHRlckJidXR0b25UZXh0Q29sb3I7XHJcblx0XHRcdH0sXHJcblx0XHRcdHJpZ2h0Q2xpY2soKSB7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjaygpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b0Jvb2tzaGVsZigpIHtcclxuXHRcdFx0XHR1bmkucmVMYXVuY2goe1xyXG5cdFx0XHRcdFx0dXJsOiBgL3BhZ2VzL2Jvb2tDaXR5L2Jvb2tDaXR5L2luZGV4YFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRjcmVhdGVkKCkge1xyXG5cdFx0XHRjb25zdCBub3ZlbE1haW5PYmogPSBteUdldFN0b3JhZ2UoJ25vdmVsTWFpbk9iaicpIHx8ICd7fSc7XHJcblx0XHRcdGNvbnN0IG5vdmVsTWFpblR5cGVDb2xvciA9IEpTT04ucGFyc2Uobm92ZWxNYWluT2JqKS5ub3ZlbE1haW5UeXBlQ29sb3IgfHwgJ0YzRUZFOSc7XHJcblx0XHRcdGNvbnN0IHtcclxuXHRcdFx0XHRzY3JlZW5IZWlnaHQgPSAwLCBzdGF0dXNCYXJIZWlnaHQgPSAwLCB3aW5kb3dIZWlnaHQgPSAwLCBkZXZpY2VQaXhlbFJhdGlvLCB3aW5kb3dCb3R0b20sIHdpbmRvd1dpZHRoLFxyXG5cdFx0XHRcdFx0c2NyZWVuV2lkdGhcclxuXHRcdFx0fSA9IGlzR2V0U3lzdGVtSW5mbygpO1xyXG5cdFx0XHQvLyB0aGlzLm15RGF0YSA9IG15RGF0YTtcclxuXHRcdFx0dGhpcy5ub3ZlbE1haW5UeXBlQ29sb3IgPSBub3ZlbE1haW5UeXBlQ29sb3I7XHJcblx0XHRcdHRoaXMubmV3Q2hhcmFjdGVyc1NpemUgPSBKU09OLnBhcnNlKG5vdmVsTWFpbk9iaikuY2hhcmFjdGVyc1NpemUgfHwgMjg7XHJcblx0XHRcdHRoaXMuYm9keVJlYWRpbmdIZWlnaHQgPSBzY3JlZW5IZWlnaHQgLSBzdGF0dXNCYXJIZWlnaHQgLSBkZXZpY2VQaXhlbFJhdGlvICogMjI7XHJcblx0XHRcdHRoaXMuc2V0VXBDb2xvckFsbCA9IHNldFVwUmVhZGluZ0NvbG9yQWxsO1xyXG5cdFx0XHR0aGlzLmJhclBvcHVwSWNvbiA9IHtcclxuXHRcdFx0XHQnRjNFRkU5Jzoge1xyXG5cdFx0XHRcdFx0Ym9va3NoZWxmX2ljb246IGJvb2tzaGVsZl9mM2VmZSxcclxuXHRcdFx0XHRcdGRpcmVjdG9yeV9pY29uOiBkaXJlY3RvcnlfZjNlZmU5LFxyXG5cdFx0XHRcdFx0c3RlcF91cF9pY29uOiBzdGVwX3VwX2YzZWZlXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQnQ0NEOUUyJzoge1xyXG5cdFx0XHRcdFx0Ym9va3NoZWxmX2ljb246IGJvb2tzaGVsZl9jY2Q5ZTIsXHJcblx0XHRcdFx0XHRkaXJlY3RvcnlfaWNvbjogZGlyZWN0b3J5X2NjZDllMixcclxuXHRcdFx0XHRcdHN0ZXBfdXBfaWNvbjogc3RlcF91cF9jY2Q5ZTJcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdCczMzMzMzMnOiB7XHJcblx0XHRcdFx0XHRib29rc2hlbGZfaWNvbjogYm9va3NoZWxmXzMzMyxcclxuXHRcdFx0XHRcdGRpcmVjdG9yeV9pY29uOiBkaXJlY3RvcnlfMzMzLFxyXG5cdFx0XHRcdFx0c3RlcF91cF9pY29uOiBzdGVwX3VwXzMzM1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fTtcclxuXHRcdFx0dGhpcy5pbml0UGFnZShub3ZlbE1haW5UeXBlQ29sb3IpO1xyXG5cdFx0fSxcclxuXHR9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cclxuXHRwYWdlIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdH1cclxuXHJcblx0LmlzX2ltYWdlcyB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdH1cclxuXHJcblx0Lm10NDBycHgge1xyXG5cdFx0bWFyZ2luLXRvcDogNDBycHg7XHJcblx0fVxyXG5cclxuXHJcblx0L2RlZXAvLmJhbGFuY2VfY29uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblxyXG5cdFx0LmJhbGFuY2VfY29uX3JpY2hfdGV4dCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDgwJTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDI7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHR9XHJcblxyXG5cdFx0LmJhbGFuY2VfcmVjaGFyZ2Vfb3B0aW9uIHtcclxuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHdpZHRoOiA0MTRweDtcclxuXHRcdFx0aGVpZ2h0OiA1NjBycHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjQzLCAyMzksIDIzMywgMC43KTtcclxuXHRcdFx0ZmlsdGVyOiBibHVyKDEwcHgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5iYWxhbmNlX3JlY2hhcmdlIHtcclxuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0XHRib3R0b206IDBycHg7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRib3gtc2hhZG93OiAwIDAgOHJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0XHRcdGhlaWdodDogMzYwcnB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAyNHJweCAyNHJweCAwIDA7XHJcblx0XHRcdHBhZGRpbmc6IDMycnB4O1xyXG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuXHRcdFx0LmJhbGFuY2VfdGlwcyB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmJhbGFuY2VfYnRuX2FsbCB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMzJycHg7XHJcblxyXG5cdFx0XHRcdC5wdXJjaGFzZUZ1bGxfcG9wdXBfYnRuIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdGhlaWdodDogODRycHg7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcnB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjRkJBNjc2LCAjRTk1RTMyKTtcclxuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDI0cnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQubm92ZWxSZWFkaW5nX2NvbnRlbnQgL2RlZXAvLnUtbmF2YmFyIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAxMHJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0fVxyXG5cdC5ub3ZlbFJlYWRpbmdfY29udGVudCAvZGVlcC8udS1uYXZiYXJfX2NvbnRlbnRfX3RpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0fVxyXG5cclxuXHQubm92ZWxSZWFkaW5nX2NvbnRlbnQgL2RlZXAvLnUtbmF2YmFyLS1maXhlZCB7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgOHJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0fVxyXG5cclxuXHQubm92ZWxSZWFkaW5nX2NvbnRlbnQgL2RlZXAvLnotcGFnaW5nLWNvbnRlbnQge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdH1cclxuXHJcblx0I2NvbXB1dGVfcmljaF90ZXh0IHtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHRvcDogMTUwMHB4O1xyXG5cdFx0cGFkZGluZzogMzJycHg7XHJcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdH1cclxuXHJcblx0Lm5vdmVsUmVhZGluZ19jb250ZW50IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdC5ub3ZlbFJlYWRpbmdfYm9keSB7XHJcblx0XHRcdGZsZXg6IDE7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdFx0Lm5vdmVsUmVhZGluZ19tYWluX2NvbiB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHQvLyAvLyBwYWRkaW5nOiAzMnJweCAzMnJweDtcclxuXHRcdFx0XHQvLyBwYWRkaW5nLWJvdHRvbTogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XHJcblx0XHRcdFx0Ly8gLyog5YW85a65IGlPUyDorr7lpIcgKi9cclxuXHRcdFx0XHQvLyBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xyXG5cdFx0XHRcdC8vIC8qIOWFvOWuuSBpUGhvbmUgWCDlj4rku6XkuIrorr7lpIcgKi9cclxuXHRcdFx0XHQvLyBwYWRkaW5nLXRvcDogdmFyKC0tc3RhdHVzLWJhci1oZWlnaHQpO1xyXG5cdFx0XHRcdC8vIC8qIOWFvOWuuSBpT1Mg6K6+5aSHICovXHJcblx0XHRcdFx0Ly8gLy8gcGFkZGluZy10b3A6dmFyKOKAk3N0YXR1cy1iYXItaGVpZ2h0KTtcclxuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuXHRcdFx0XHQubm92ZWxSZWFkaW5nX21haW4ge1xyXG5cdFx0XHRcdFx0ZmxleDogMTtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdFx0XHQubm92ZWxSZWFkaW5nX2NoYXJhY3RlcnNfc2Nyb2xsIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuXHRcdFx0XHRcdFx0LnJlYWRfY2hhcHRlciB7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogNDBycHggMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Lm5vdmVsUmVhZGluZ19jaGFyYWN0ZXJzX21haW4ge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyAucmVhZGluZ19zY2hlZHVsZV9ib3gge1xyXG5cdFx0XHRcdC8vIFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0Ly8gXHRoZWlnaHQ6IDgycnB4O1xyXG5cdFx0XHRcdC8vIFx0Ly8gcGFkZGluZzogNDBycHg7XHJcblx0XHRcdFx0Ly8gXHQvLyBib3gtc2hhZG93OiAwIDAgOHJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0XHRcdFx0Ly8gXHRib3JkZXItcmFkaXVzOiA0MHJweDtcclxuXHRcdFx0XHQvLyBcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnVfcG9wdXBfYWxsIHtcclxuXHRcdFx0ZmxleDogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5teV90YWJCYXJfUmVhZGluZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTQwcnB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nOiAwIDQwcnB4O1xyXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdGJvcmRlci10b3A6IDFycHggc29saWQgI2Q2ZDJjZTtcclxuXHRcdC8vIHBhZGRpbmctYm90dG9tOiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTsgLyog5YW85a65IGlPUyDorr7lpIcgKi9cclxuXHRcdC8vIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7IC8qIOWFvOWuuSBpUGhvbmUgWCDlj4rku6XkuIrorr7lpIcgKi9cclxuXHJcblx0XHQudGFiQmFyX1JlYWRpbmdfaXRlbSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cdFx0XHQucmVhZGluZ19pdGVtX2ljb24ge1xyXG5cdFx0XHRcdHdpZHRoOiAzNHJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDM0cnB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucmVhZGluZ19pdGVtX25hbWUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMTBycHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5yZWFkaW5nX3NjaGVkdWxlX2JveCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCA4cnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDQwcnB4O1xyXG5cdFx0cGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pOyAvKiDlhbzlrrkgaU9TIOiuvuWkhyAqL1xyXG5cdFx0cGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTsgLyog5YW85a65IGlQaG9uZSBYIOWPiuS7peS4iuiuvuWkhyAqL1xyXG5cclxuXHRcdC5yZWFkaW5nX3NjaGVkdWxlX2JvZHkge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRwYWRkaW5nOiA0MHJweDtcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG5cdFx0XHQuX3ByZXZpb3VzX2NoYXB0ZXIge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHR3aWR0aDogMTkycnB4O1xyXG5cdFx0XHRcdGhlaWdodDogODJycHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAzNHJweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMnJweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ll9uZXh0X2NoYXB0ZXIge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHR3aWR0aDogNDQycnB4O1xyXG5cdFx0XHRcdGhlaWdodDogODJycHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAzNHJweDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMnJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnN0ZXBfdXBfYm94IHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDhycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNDBycHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7IC8qIOWFvOWuuSBpT1Mg6K6+5aSHICovXHJcblx0XHRwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pOyAvKiDlhbzlrrkgaVBob25lIFgg5Y+K5Lul5LiK6K6+5aSHICovXHJcblxyXG5cdFx0LnN0ZXBfdXBfYm94X2JvZHkge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0cGFkZGluZzogNDBycHggMjRycHg7XHJcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuXHRcdFx0LnN0ZXBfdXBfaXRlbSB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0XHRcdFx0LnN0ZXBfdXBfaXRlbV9uYW1lIHtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5zdGVwX3VwX2l0ZW1fYmcge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRcdHdpZHRoOiAxODhycHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDc0cnB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMzdycHg7XHJcblx0XHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAycnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnN0ZXBfdXBfaXRlbV90ZXh0X2JnIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0XHR3aWR0aDogMTg4cnB4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiA3NHJweDtcclxuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDM3cnB4O1xyXG5cdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5zdGVwX3VwX2l0ZW1fYmcuYWN0aXZlQmxhY2sge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjMWExYTFhO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnN0ZXBfdXBfaXRlbV9iZy5hY3RpdmVXaGl0ZSB7XHJcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICNmZmY7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucmVhZGluZ19zY2hlZHVsZV9zbGlkZXI6OnYtZGVlcC51bmktc2xpZGVyLWhhbmRsZS13cmFwcGVyIHtcclxuXHRcdGhlaWdodDogNjBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzMHJweDtcclxuXHJcblx0XHQudW5pLXNsaWRlci10cmFjayB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDMwcnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmRpcmVjdG9yeV9wb3B1cF9ib3gge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IDU2MHJweDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG5cdFx0LmRpcmVjdG9yeV9zY3JvbGxfeSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDMycnB4O1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAzMnJweDtcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xyXG5cdFx0XHQvKiDlhbzlrrkgaU9TIOiuvuWkhyAqL1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xyXG5cdFx0XHQvKiDlhbzlrrkgaVBob25lIFgg5Y+K5Lul5LiK6K6+5aSHICovXHJcblxyXG5cdFx0XHQuX3BvcHVwX2JveF9pdGVtIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGhlaWdodDogMTIwcnB4O1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFycHggc29saWQgI2YyZjJmMjtcclxuXHJcblx0XHRcdFx0Ll9pdGVtX25hbWUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMnJweDtcclxuXHRcdFx0XHRcdGNvbG9yOiAjMzMzMzMzO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuX2l0ZW1fbmFtZS5hY3RpdmUge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNmZjcyOGY7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuX2l0ZW1fY2hhcHRlcl9sb2NrIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAzMnJweDtcclxuXHRcdFx0XHRcdGhlaWdodDogMzJycHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///461\n"); /***/ }), /* 462 */ diff --git a/unpackage/dist/dev/app-plus/app-view.js b/unpackage/dist/dev/app-plus/app-view.js index 9648111..d8eb239 100644 --- a/unpackage/dist/dev/app-plus/app-view.js +++ b/unpackage/dist/dev/app-plus/app-view.js @@ -23295,7 +23295,7 @@ if(false) {} var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ./node_modules/css-loader/dist/runtime/api.js */ 22); exports = ___CSS_LOADER_API_IMPORT___(false); // Module -exports.push([module.i, "@charset \"UTF-8\";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */\nbody[data-v-196d6b54] {\r\n width: 100%;\r\n height: 100%;\n}\n.is_images[data-v-196d6b54] {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\n}\n.mt40rpx[data-v-196d6b54] {\r\n margin-top: 40rpx;\n}\n[data-v-196d6b54] .balance_con {\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n position: relative;\n}\n[data-v-196d6b54] .balance_con .balance_con_rich_text {\r\n width: 100%;\r\n height: 80%;\r\n line-height: 2;\r\n overflow: hidden;\n}\n[data-v-196d6b54] .balance_con .balance_recharge_option {\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n width: 414px;\r\n height: 560rpx;\r\n background: rgba(243, 239, 233, 0.7);\r\n -webkit-filter: blur(10px);\r\n filter: blur(10px);\n}\n[data-v-196d6b54] .balance_con .balance_recharge {\r\n position: fixed;\r\n bottom: 0rpx;\r\n left: 0;\r\n width: 100%;\r\n box-shadow: 0 0 8rpx rgba(0, 0, 0, 0.2);\r\n height: 360rpx;\r\n border-radius: 24rpx 24rpx 0 0;\r\n padding: 32rpx;\r\n box-sizing: border-box;\n}\n[data-v-196d6b54] .balance_con .balance_recharge .balance_tips {\r\n font-size: 30rpx;\n}\n[data-v-196d6b54] .balance_con .balance_recharge .balance_btn_all {\r\n margin-top: 32rpx;\n}\n[data-v-196d6b54] .balance_con .balance_recharge .balance_btn_all .purchaseFull_popup_btn {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 84rpx;\r\n font-size: 30rpx;\r\n color: #fff;\r\n background: linear-gradient(to top, #FBA676, #E95E32);\r\n border-radius: 24rpx;\n}\n.novelReading_content[data-v-196d6b54] .u-navbar {\r\n box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.2);\n}\n.novelReading_content[data-v-196d6b54] .u-navbar__content__title {\r\n font-size: 30rpx;\n}\n.novelReading_content[data-v-196d6b54] .u-navbar--fixed {\r\n box-shadow: 0 0 8rpx rgba(0, 0, 0, 0.2);\n}\n.novelReading_content[data-v-196d6b54] .z-paging-content {\r\n position: relative;\n}\n#compute_rich_text[data-v-196d6b54] {\r\n position: fixed;\r\n top: 1500px;\r\n padding: 32rpx;\r\n box-sizing: border-box;\n}\n.novelReading_content[data-v-196d6b54] {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\n}\n.novelReading_content .novelReading_body[data-v-196d6b54] {\r\n flex: 1;\r\n width: 100%;\n}\n.novelReading_content .novelReading_body .novelReading_main_con[data-v-196d6b54] {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n box-sizing: border-box;\n}\n.novelReading_content .novelReading_body .novelReading_main_con .novelReading_main[data-v-196d6b54] {\r\n flex: 1;\r\n width: 100%;\r\n height: 100%;\r\n box-sizing: border-box;\r\n position: relative;\n}\n.novelReading_content .novelReading_body .novelReading_main_con .novelReading_main .novelReading_characters_scroll[data-v-196d6b54] {\r\n width: 100%;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n box-sizing: border-box;\n}\n.novelReading_content .novelReading_body .novelReading_main_con .novelReading_main .novelReading_characters_scroll .read_chapter[data-v-196d6b54] {\r\n padding: 40rpx 0;\n}\n.novelReading_content .novelReading_body .novelReading_main_con .novelReading_main .novelReading_characters_scroll .novelReading_characters_main[data-v-196d6b54] {\r\n width: 100%;\n}\n.novelReading_content .u_popup_all[data-v-196d6b54] {\r\n flex: 0;\n}\n.my_tabBar_Reading[data-v-196d6b54] {\r\n width: 100%;\r\n height: 140rpx;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 0 40rpx;\r\n box-sizing: border-box;\r\n border-top: 1rpx solid #d6d2ce;\n}\n.my_tabBar_Reading .tabBar_Reading_item[data-v-196d6b54] {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\n}\n.my_tabBar_Reading .tabBar_Reading_item .reading_item_icon[data-v-196d6b54] {\r\n width: 34rpx;\r\n height: 34rpx;\n}\n.my_tabBar_Reading .tabBar_Reading_item .reading_item_name[data-v-196d6b54] {\r\n font-size: 30rpx;\r\n line-height: 1;\r\n margin-top: 10rpx;\n}\n.reading_schedule_box[data-v-196d6b54] {\r\n width: 100%;\r\n box-shadow: 0 0 8rpx rgba(0, 0, 0, 0.2);\r\n border-radius: 40rpx;\r\n padding-bottom: constant(safe-area-inset-bottom);\r\n /* 兼容 iOS 设备 */\r\n padding-bottom: env(safe-area-inset-bottom);\r\n /* 兼容 iPhone X 及以上设备 */\n}\n.reading_schedule_box .reading_schedule_body[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n width: 100%;\r\n padding: 40rpx;\r\n box-sizing: border-box;\r\n background: transparent;\n}\n.reading_schedule_box .reading_schedule_body ._previous_chapter[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 192rpx;\r\n height: 82rpx;\r\n font-size: 34rpx;\r\n line-height: 1;\r\n border-radius: 12rpx;\n}\n.reading_schedule_box .reading_schedule_body ._next_chapter[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 442rpx;\r\n height: 82rpx;\r\n font-size: 34rpx;\r\n line-height: 1;\r\n border-radius: 12rpx;\n}\n.step_up_box[data-v-196d6b54] {\r\n width: 100%;\r\n box-shadow: 0 0 8rpx rgba(0, 0, 0, 0.2);\r\n border-radius: 40rpx;\r\n padding-bottom: constant(safe-area-inset-bottom);\r\n /* 兼容 iOS 设备 */\r\n padding-bottom: env(safe-area-inset-bottom);\r\n /* 兼容 iPhone X 及以上设备 */\n}\n.step_up_box .step_up_box_body[data-v-196d6b54] {\r\n width: 100%;\r\n padding: 40rpx 24rpx;\r\n box-sizing: border-box;\r\n background: transparent;\n}\n.step_up_box .step_up_box_body .step_up_item[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.step_up_box .step_up_box_body .step_up_item .step_up_item_name[data-v-196d6b54] {\r\n line-height: 1;\r\n font-size: 30rpx;\n}\n.step_up_box .step_up_box_body .step_up_item .step_up_item_bg[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 188rpx;\r\n height: 74rpx;\r\n border-radius: 37rpx;\r\n box-sizing: border-box;\r\n border: 2rpx solid transparent;\n}\n.step_up_box .step_up_box_body .step_up_item .step_up_item_text_bg[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 188rpx;\r\n height: 74rpx;\r\n border-radius: 37rpx;\r\n box-sizing: border-box;\n}\n.step_up_box .step_up_box_body .step_up_item .step_up_item_bg.activeBlack[data-v-196d6b54] {\r\n border-color: #1a1a1a;\n}\n.step_up_box .step_up_box_body .step_up_item .step_up_item_bg.activeWhite[data-v-196d6b54] {\r\n border-color: #fff;\n}\n.reading_schedule_slider[data-v-196d6b54].uni-slider-handle-wrapper {\r\n height: 60rpx;\r\n border-radius: 30rpx;\n}\n.reading_schedule_slider[data-v-196d6b54].uni-slider-handle-wrapper .uni-slider-track {\r\n border-radius: 30rpx;\n}\n.directory_popup_box[data-v-196d6b54] {\r\n position: relative;\r\n width: 560rpx;\r\n height: 100%;\r\n box-sizing: border-box;\n}\n.directory_popup_box .directory_scroll_y[data-v-196d6b54] {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n padding-left: 32rpx;\r\n padding-right: 32rpx;\r\n box-sizing: border-box;\r\n padding-bottom: constant(safe-area-inset-bottom);\r\n /* 兼容 iOS 设备 */\r\n padding-bottom: env(safe-area-inset-bottom);\r\n /* 兼容 iPhone X 及以上设备 */\n}\n.directory_popup_box .directory_scroll_y ._popup_box_item[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n width: 100%;\r\n height: 120rpx;\r\n border-bottom: 1rpx solid #f2f2f2;\n}\n.directory_popup_box .directory_scroll_y ._popup_box_item ._item_name[data-v-196d6b54] {\r\n font-size: 32rpx;\r\n color: #333333;\r\n line-height: 1;\n}\n.directory_popup_box .directory_scroll_y ._popup_box_item ._item_name.active[data-v-196d6b54] {\r\n color: #ff728f;\n}\n.directory_popup_box .directory_scroll_y ._popup_box_item ._item_chapter_lock[data-v-196d6b54] {\r\n width: 32rpx;\r\n height: 32rpx;\n}\n.purchaseFull_popup_box[data-v-196d6b54] {\r\n width: 100%;\r\n box-sizing: border-box;\r\n padding: 50rpx 32rpx;\n}\n.purchaseFull_popup_box .purchaseFull_popup_btn_box[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: center;\r\n margin-top: 50rpx;\n}\n.purchaseFull_popup_box .purchaseFull_popup_btn_box .purchaseFull_popup_btn[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 640rpx;\r\n height: 84rpx;\r\n font-size: 30rpx;\r\n color: #fff;\r\n background: linear-gradient(to top, #FBA676, #E95E32);\r\n border-radius: 24rpx;\n}\r\n", ""]); +exports.push([module.i, "@charset \"UTF-8\";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */\nbody[data-v-196d6b54] {\r\n width: 100%;\r\n height: 100%;\n}\n.is_images[data-v-196d6b54] {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\n}\n.mt40rpx[data-v-196d6b54] {\r\n margin-top: 40rpx;\n}\n[data-v-196d6b54] .balance_con {\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n position: relative;\n}\n[data-v-196d6b54] .balance_con .balance_con_rich_text {\r\n width: 100%;\r\n height: 80%;\r\n line-height: 2;\r\n overflow: hidden;\n}\n[data-v-196d6b54] .balance_con .balance_recharge_option {\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n width: 414px;\r\n height: 560rpx;\r\n background: rgba(243, 239, 233, 0.7);\r\n -webkit-filter: blur(10px);\r\n filter: blur(10px);\n}\n[data-v-196d6b54] .balance_con .balance_recharge {\r\n position: fixed;\r\n bottom: 0rpx;\r\n left: 0;\r\n width: 100%;\r\n box-shadow: 0 0 8rpx rgba(0, 0, 0, 0.2);\r\n height: 360rpx;\r\n border-radius: 24rpx 24rpx 0 0;\r\n padding: 32rpx;\r\n box-sizing: border-box;\n}\n[data-v-196d6b54] .balance_con .balance_recharge .balance_tips {\r\n font-size: 30rpx;\n}\n[data-v-196d6b54] .balance_con .balance_recharge .balance_btn_all {\r\n margin-top: 32rpx;\n}\n[data-v-196d6b54] .balance_con .balance_recharge .balance_btn_all .purchaseFull_popup_btn {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 84rpx;\r\n font-size: 30rpx;\r\n color: #fff;\r\n background: linear-gradient(to top, #FBA676, #E95E32);\r\n border-radius: 24rpx;\n}\n.novelReading_content[data-v-196d6b54] .u-navbar {\r\n box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.2);\n}\n.novelReading_content[data-v-196d6b54] .u-navbar__content__title {\r\n font-size: 30rpx;\n}\n.novelReading_content[data-v-196d6b54] .u-navbar--fixed {\r\n box-shadow: 0 0 8rpx rgba(0, 0, 0, 0.2);\n}\n.novelReading_content[data-v-196d6b54] .z-paging-content {\r\n position: relative;\n}\n.novelReading_content[data-v-196d6b54] {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\n}\n.novelReading_content .novelReading_body[data-v-196d6b54] {\r\n flex: 1;\r\n width: 100%;\n}\n.novelReading_content .novelReading_body .novelReading_main_con[data-v-196d6b54] {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n box-sizing: border-box;\n}\n.novelReading_content .novelReading_body .novelReading_main_con .novelReading_main[data-v-196d6b54] {\r\n flex: 1;\r\n width: 100%;\r\n height: 100%;\r\n box-sizing: border-box;\r\n position: relative;\n}\n.novelReading_content .novelReading_body .novelReading_main_con .novelReading_main .novelReading_characters_scroll[data-v-196d6b54] {\r\n width: 100%;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n box-sizing: border-box;\n}\n.novelReading_content .novelReading_body .novelReading_main_con .novelReading_main .novelReading_characters_scroll .read_chapter[data-v-196d6b54] {\r\n padding: 40rpx 0;\n}\n.novelReading_content .novelReading_body .novelReading_main_con .novelReading_main .novelReading_characters_scroll .novelReading_characters_main[data-v-196d6b54] {\r\n width: 100%;\n}\n.novelReading_content .u_popup_all[data-v-196d6b54] {\r\n flex: 0;\n}\n.my_tabBar_Reading[data-v-196d6b54] {\r\n width: 100%;\r\n height: 140rpx;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 0 40rpx;\r\n box-sizing: border-box;\r\n border-top: 1rpx solid #d6d2ce;\n}\n.my_tabBar_Reading .tabBar_Reading_item[data-v-196d6b54] {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\n}\n.my_tabBar_Reading .tabBar_Reading_item .reading_item_icon[data-v-196d6b54] {\r\n width: 34rpx;\r\n height: 34rpx;\n}\n.my_tabBar_Reading .tabBar_Reading_item .reading_item_name[data-v-196d6b54] {\r\n font-size: 30rpx;\r\n line-height: 1;\r\n margin-top: 10rpx;\n}\n.reading_schedule_box[data-v-196d6b54] {\r\n width: 100%;\r\n box-shadow: 0 0 8rpx rgba(0, 0, 0, 0.2);\r\n border-radius: 40rpx;\r\n padding-bottom: constant(safe-area-inset-bottom);\r\n /* 兼容 iOS 设备 */\r\n padding-bottom: env(safe-area-inset-bottom);\r\n /* 兼容 iPhone X 及以上设备 */\n}\n.reading_schedule_box .reading_schedule_body[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n width: 100%;\r\n padding: 40rpx;\r\n box-sizing: border-box;\r\n background: transparent;\n}\n.reading_schedule_box .reading_schedule_body ._previous_chapter[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 192rpx;\r\n height: 82rpx;\r\n font-size: 34rpx;\r\n line-height: 1;\r\n border-radius: 12rpx;\n}\n.reading_schedule_box .reading_schedule_body ._next_chapter[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 442rpx;\r\n height: 82rpx;\r\n font-size: 34rpx;\r\n line-height: 1;\r\n border-radius: 12rpx;\n}\n.step_up_box[data-v-196d6b54] {\r\n width: 100%;\r\n box-shadow: 0 0 8rpx rgba(0, 0, 0, 0.2);\r\n border-radius: 40rpx;\r\n padding-bottom: constant(safe-area-inset-bottom);\r\n /* 兼容 iOS 设备 */\r\n padding-bottom: env(safe-area-inset-bottom);\r\n /* 兼容 iPhone X 及以上设备 */\n}\n.step_up_box .step_up_box_body[data-v-196d6b54] {\r\n width: 100%;\r\n padding: 40rpx 24rpx;\r\n box-sizing: border-box;\r\n background: transparent;\n}\n.step_up_box .step_up_box_body .step_up_item[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.step_up_box .step_up_box_body .step_up_item .step_up_item_name[data-v-196d6b54] {\r\n line-height: 1;\r\n font-size: 30rpx;\n}\n.step_up_box .step_up_box_body .step_up_item .step_up_item_bg[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 188rpx;\r\n height: 74rpx;\r\n border-radius: 37rpx;\r\n box-sizing: border-box;\r\n border: 2rpx solid transparent;\n}\n.step_up_box .step_up_box_body .step_up_item .step_up_item_text_bg[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 188rpx;\r\n height: 74rpx;\r\n border-radius: 37rpx;\r\n box-sizing: border-box;\n}\n.step_up_box .step_up_box_body .step_up_item .step_up_item_bg.activeBlack[data-v-196d6b54] {\r\n border-color: #1a1a1a;\n}\n.step_up_box .step_up_box_body .step_up_item .step_up_item_bg.activeWhite[data-v-196d6b54] {\r\n border-color: #fff;\n}\n.directory_popup_box[data-v-196d6b54] {\r\n position: relative;\r\n width: 560rpx;\r\n height: 100%;\r\n box-sizing: border-box;\n}\n.directory_popup_box .directory_scroll_y[data-v-196d6b54] {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n padding-left: 32rpx;\r\n padding-right: 32rpx;\r\n box-sizing: border-box;\r\n padding-bottom: constant(safe-area-inset-bottom);\r\n /* 兼容 iOS 设备 */\r\n padding-bottom: env(safe-area-inset-bottom);\r\n /* 兼容 iPhone X 及以上设备 */\n}\n.directory_popup_box .directory_scroll_y ._popup_box_item[data-v-196d6b54] {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n width: 100%;\r\n height: 120rpx;\r\n border-bottom: 1rpx solid #f2f2f2;\n}\n.directory_popup_box .directory_scroll_y ._popup_box_item ._item_name[data-v-196d6b54] {\r\n font-size: 32rpx;\r\n color: #333333;\r\n line-height: 1;\n}\n.directory_popup_box .directory_scroll_y ._popup_box_item ._item_name.active[data-v-196d6b54] {\r\n color: #ff728f;\n}\n.directory_popup_box .directory_scroll_y ._popup_box_item ._item_chapter_lock[data-v-196d6b54] {\r\n width: 32rpx;\r\n height: 32rpx;\n}\r\n", ""]); // Exports module.exports = exports;