From 7c3077e5336c2b5945a70ccc39e43edcc0b94d58 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期四, 21 七月 2022 10:22:54 +0800
Subject: [PATCH] #

---
 unpackage/dist/dev/app-plus/app-service.js |   56 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 37 insertions(+), 19 deletions(-)

diff --git a/unpackage/dist/dev/app-plus/app-service.js b/unpackage/dist/dev/app-plus/app-service.js
index 1b3c740..d37de7a 100644
--- a/unpackage/dist/dev/app-plus/app-service.js
+++ b/unpackage/dist/dev/app-plus/app-service.js
@@ -356,7 +356,7 @@
                           attrs: { _i: 21 },
                           on: {
                             click: function($event) {
-                              return _vm.changeIP()
+                              return _vm.config()
                             }
                           }
                         })
@@ -423,24 +423,42 @@
           )
         ]
       ),
-      _vm._$s(26, "i", _vm.loading)
+      _c(
+        "view",
+        [
+          _c("uni-popup", { ref: "popup", attrs: { type: "right", _i: 27 } }, [
+            _c(
+              "view",
+              { staticClass: _vm._$s(28, "sc", "config"), attrs: { _i: 28 } },
+              [
+                _c("view", [_c("text"), _c("input", {})]),
+                _c("view", [_c("text"), _c("input", {})]),
+                _c("view", [_c("text"), _c("input", {})]),
+                _c("view", [_c("button")])
+              ]
+            )
+          ])
+        ],
+        1
+      ),
+      _vm._$s(40, "i", _vm.loading)
         ? _c(
             "view",
             {
-              staticClass: _vm._$s(26, "sc", "cu-load load-modal"),
-              attrs: { _i: 26 }
+              staticClass: _vm._$s(40, "sc", "cu-load load-modal"),
+              attrs: { _i: 40 }
             },
             [
               _c("image", {
-                staticClass: _vm._$s(27, "sc", "round"),
+                staticClass: _vm._$s(41, "sc", "round"),
                 attrs: {
-                  src: _vm._$s(27, "a-src", __webpack_require__(/*! ../../static/logo1.png */ 31)),
-                  _i: 27
+                  src: _vm._$s(41, "a-src", __webpack_require__(/*! ../../static/logo1.png */ 31)),
+                  _i: 41
                 }
               }),
               _c("view", {
-                staticClass: _vm._$s(28, "sc", "gray-text"),
-                attrs: { _i: 28 }
+                staticClass: _vm._$s(42, "sc", "gray-text"),
+                attrs: { _i: 42 }
               })
             ]
           )
@@ -450,7 +468,7 @@
         [
           _c(
             "uni-popup",
-            { ref: "inputDialog", attrs: { type: "dialog", _i: 30 } },
+            { ref: "inputDialog", attrs: { type: "dialog", _i: 44 } },
             [
               _c("uni-popup-dialog", {
                 ref: "inputClose",
@@ -458,11 +476,11 @@
                   mode: "input",
                   title: "璁剧疆IP",
                   placeholder: "璇疯緭鍏ユ湇鍔″櫒IP",
-                  _i: 31
+                  _i: 45
                 },
                 on: { confirm: _vm.dialogInputConfirm },
                 model: {
-                  value: _vm._$s(31, "v-model", _vm.IP),
+                  value: _vm._$s(45, "v-model", _vm.IP),
                   callback: function($$v) {
                     _vm.IP = $$v
                   },
@@ -480,7 +498,7 @@
         [
           _c(
             "uni-popup",
-            { ref: "serverPort", attrs: { type: "dialog", _i: 33 } },
+            { ref: "serverPort", attrs: { type: "dialog", _i: 47 } },
             [
               _c("uni-popup-dialog", {
                 ref: "inputClose",
@@ -488,11 +506,11 @@
                   mode: "input",
                   title: "璁剧疆绔彛",
                   placeholder: "璇疯緭鍏ユ湇鍔″櫒绔彛鍙�",
-                  _i: 34
+                  _i: 48
                 },
                 on: { confirm: _vm.serverPortConfirm },
                 model: {
-                  value: _vm._$s(34, "v-model", _vm.PORT),
+                  value: _vm._$s(48, "v-model", _vm.PORT),
                   callback: function($$v) {
                     _vm.PORT = $$v
                   },
@@ -1827,7 +1845,7 @@
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _vuex = __webpack_require__(/*! vuex */ 34);\nvar _md = _interopRequireDefault(__webpack_require__(/*! ../../common/md5.js */ 35));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n// import { ACCESS_TOKEN,USER_NAME,USER_INFO } from \"@/common/util/constants\"\n// import configService from '@/common/service/config.service.js';\nvar _default = { data: function data() {return { shape: '', //round 鍦嗗舰\n      loading: false, phoneNo: '', smsCode: '', showPassword: false, //鏄惁鏄剧ず鏄庢枃\n      loginWay: 1, //1: 璐﹀瘑锛�2锛氶獙璇佺爜\n      smsCountDown: 0, smsCountInterval: null, toggleDelay: false, version: '', //绗笁鏂圭櫥褰曠浉鍏充俊鎭痋n      thirdType: \"\", thirdLoginInfo: \"\", thirdLoginState: false, bindingPhoneModal: false, thirdUserUuid: '', url: { bindingThirdPhone: '/sys/thirdLogin/bindingThirdPhone' }, type: '', userName: '', password: '', rember: true, IP: '', PORT: '8080' // 榛樿绔彛鍙穃n    };}, mounted: function mounted() {var that = this; //缂撳瓨鐨勮处鍙穃n    var HCuname = uni.getStorageSync('HCuname'); //缂撳瓨鐨勫瘑鐮乗n    var HCpassw = uni.getStorageSync('HCpassw'); //鏈夌紦瀛樺氨璧嬪�肩粰鏂囨湰娌℃湁灏辨竻绌篭n    if (HCuname && HCpassw) {that.userName = HCuname;that.password = HCpassw;} else {that.userName = '';that.password = '';}var UIP = uni.getStorageSync('UIP');if (UIP) {that.IP = UIP;that.baseIP = UIP;} else {that.IP = '';}var UPORT = uni.getStorageSync('UPORT');if (UPORT) {that.PORT = UPORT;that.basePORT = UPORT;} else {that.PORT = '8080';}}, onLoad: function onLoad() {var that = this;plus.runtime.getProperty(plus.runtime.appid, function (wgtinfo) {that.version = wgtinfo.version;});}, computed: { isSendSMSEnable: function isSendSMSEnable() {return this.smsCountDown <= 0 && this.phoneNo.length > 4;}, getSendBtnText: function getSendBtnText() {if (this.smsCountDown > 0) {\n        return this.smsCountDown + '绉掑悗鍙戦��';\n      } else {\n        return '鍙戦�侀獙璇佺爜';\n      }\n    },\n    canSMSLogin: function canSMSLogin() {\n      return this.userName.length > 4 && this.smsCode.length > 4;\n    },\n    canPwdLogin: function canPwdLogin() {\n      return this.userName.length > 4 && this.password.length > 4;\n    } },\n\n  methods: {\n    longpressImg: function longpressImg() {// 闀挎寜鍥剧墖\n      this.$refs.serverPort.open();\n    },\n    serverPortConfirm: function serverPortConfirm(type) {\n      this.basePORT = type;\n      // 瀛樺叆鏈湴缂撳瓨\n      this.PORT = type;\n      uni.setStorageSync('UPORT', this.basePORT);\n    },\n    changeIP: function changeIP() {\n      this.$refs.inputDialog.open();\n    },\n    dialogInputConfirm: function dialogInputConfirm(type) {\n      this.baseIP = type;\n      // 瀛樺叆鏈湴缂撳瓨\n      this.IP = type;\n      uni.setStorageSync('UIP', this.baseIP);\n    },\n    checkboxChange: function checkboxChange(e) {\n      if (e.detail.value.length == 1) {\n\n        //鑾峰彇缂撳瓨鐨勮处鍙穃n        uni.getStorageSync('HCuname', this.userName);\n        uni.getStorageSync('HCpassw', this.password);\n      } else {\n        uni.removeStorageSync('HCuname');\n        uni.removeStorageSync('HCpassw');\n      }\n    },\n    onLogin: function onLogin() {var _this = this;\n      if (!this.userName || this.userName.length == 0) {\n        uni.showToast({ title: '璇峰~鍐欒处鍙�', icon: \"none\" });\n        return;\n      }\n      if (!this.password || this.password.length == 0) {\n        uni.showToast({ title: '璇峰~鍐欏瘑鐮�', icon: \"none\" });\n        return;\n      }\n      if (this.baseIP == undefined || this.baseIP == '') {\n        uni.showToast({\n          title: '璇峰厛璁剧疆IP',\n          icon: 'none' });\n\n        return;\n      }\n      if (this.basePORT == undefined) {\n        uni.showToast({\n          title: '闀挎寜鍥剧墖杈撳叆绔彛鍙�',\n          icon: 'none' });\n\n        return;\n      }\n      uni.showLoading();\n      setTimeout(function () {\n        uni.hideLoading();\n        uni.showToast({\n          title: '鐧诲綍瓒呮椂',\n          position: 'bottom',\n          duration: 1000 });\n\n      }, 6000);\n      uni.request({\n        url: this.baseHttp + this.baseIP + ':' + this.basePORT + this.baseUrl + '/login.action',\n        data: {\n          username: this.userName,\n          password: _md.default.hex_md5(this.password) },\n\n        header: {\n          \"content-type\": \"application/json\" },\n\n        success: function success(result) {\n          var res = result.data;\n          uni.hideLoading();\n          if (res.code == 200) {\n            uni.showToast({\n              title: '鐧诲綍鎴愬姛',\n              position: 'bottom',\n              duration: 1000 });\n\n            if (_this.rember) {\n              uni.setStorageSync('HCuname', _this.userName);\n              uni.setStorageSync('HCpassw', _this.password);\n            } else {\n              uni.removeStorageSync('HCuname');\n              uni.removeStorageSync('HCpassw');\n            }\n            uni.setStorageSync('token', res.data.token);\n            setTimeout(function () {\n              uni.navigateBack(); //   灏忕▼搴忕敤杩欎釜  鎶婇椤佃矾鐢辨斁绗竴涓猏n              uni.reLaunch({\n                url: '../index/index' });\n\n            }, 1000);\n          } else {\n            uni.showToast({\n              title: res.msg,\n              icon: \"none\",\n              position: 'top' });\n\n          }\n\n        } });\n\n    },\n    saveClientId: function saveClientId() {var _this2 = this;\n      var info = plus.push.getClientInfo();\n      var cid = info.clientid;\n      this.$http.get(\"/sys/user/saveClientId\", { params: { clientId: cid } }).then(function (res) {\n        _this2.$tip.success('鐧诲綍鎴愬姛!');\n        _this2.$Router.replaceAll({ name: 'index' });\n      });\n    },\n    changePassword: function changePassword() {\n      this.showPassword = !this.showPassword;\n    },\n    loginSuccess: function loginSuccess() {\n      // 鐧婚檰鎴愬姛锛岄噸瀹氬悜鍒颁富椤礬n      this.$Router.replace({ name: 'index' });\n    },\n    requestFailed: function requestFailed(err) {\n      this.$message.warning(\"鐧诲綍澶辫触\");\n    } },\n\n  beforeDestroy: function beforeDestroy() {\n    if (this.smsCountInterval) {\n      clearInterval(this.smsCountInterval);\n    }\n  } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbG9naW4vbG9naW4udnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzRUE7QUFDQSxxRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFGQTtBQUdBO2VBRUEsRUFDQSxJQURBLGtCQUNBLENBQ0EsU0FDQSxTQURBLEVBQ0E7QUFDQSxvQkFGQSxFQUdBLFdBSEEsRUFJQSxXQUpBLEVBS0EsbUJBTEEsRUFLQTtBQUNBLGlCQU5BLEVBTUE7QUFDQSxxQkFQQSxFQVFBLHNCQVJBLEVBU0Esa0JBVEEsRUFVQSxXQVZBLEVBV0E7QUFDQSxtQkFaQSxFQWFBLGtCQWJBLEVBY0Esc0JBZEEsRUFlQSx3QkFmQSxFQWdCQSxpQkFoQkEsRUFpQkEsT0FDQSxzREFEQSxFQWpCQSxFQW9CQSxRQXBCQSxFQXFCQSxZQXJCQSxFQXNCQSxZQXRCQSxFQXVCQSxZQXZCQSxFQXdCQSxNQXhCQSxFQXlCQSxZQXpCQSxDQXlCQTtBQXpCQSxNQTJCQSxDQTdCQSxFQThCQSxPQTlCQSxxQkE4QkEsQ0FDQSxnQkFEQSxDQUVBO0FBQ0EsZ0RBSEEsQ0FJQTtBQUNBLGdEQUxBLENBTUE7QUFDQSw2QkFDQSx3QkFDQSx3QkFDQSxDQUhBLE1BR0EsQ0FDQSxtQkFDQSxtQkFDQSxDQUVBLG9DQUNBLFVBQ0EsY0FDQSxrQkFDQSxDQUhBLE1BR0EsQ0FDQSxhQUNBLENBRUEsd0NBQ0EsWUFDQSxrQkFDQSxzQkFDQSxDQUhBLE1BR0EsQ0FDQSxtQkFDQSxDQUNBLENBNURBLEVBNkRBLDJCQUVBLGdCQUNBLGlFQUNBLCtCQUNBLENBRkEsRUFLQSxDQXJFQSxFQXNFQSxZQUNBLGVBREEsNkJBQ0EsQ0FDQSx5REFDQSxDQUhBLEVBSUEsY0FKQSw0QkFJQSxDQUNBO0FBQ0E7QUFDQSxPQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0EsS0FWQTtBQVdBLGVBWEEseUJBV0E7QUFDQTtBQUNBLEtBYkE7QUFjQSxlQWRBLHlCQWNBO0FBQ0E7QUFDQSxLQWhCQSxFQXRFQTs7QUF3RkE7QUFDQSxnQkFEQSwwQkFDQTtBQUNBO0FBQ0EsS0FIQTtBQUlBLHFCQUpBLDZCQUlBLElBSkEsRUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FUQTtBQVVBLFlBVkEsc0JBVUE7QUFDQTtBQUNBLEtBWkE7QUFhQSxzQkFiQSw4QkFhQSxJQWJBLEVBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBbEJBO0FBbUJBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FMQSxNQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0E3QkE7QUE4QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQURBO0FBRUEsc0JBRkE7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFEQTtBQUVBLHNCQUZBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQURBO0FBRUEsNEJBRkE7QUFHQSx3QkFIQTs7QUFLQSxPQVBBLEVBT0EsSUFQQTtBQVFBO0FBQ0EsK0ZBREE7QUFFQTtBQUNBLGlDQURBO0FBRUEsc0RBRkEsRUFGQTs7QUFNQTtBQUNBLDRDQURBLEVBTkE7O0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQURBO0FBRUEsZ0NBRkE7QUFHQSw0QkFIQTs7QUFLQTtBQUNBO0FBQ0E7QUFDQSxhQUhBLE1BR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBREEsQ0FDQTtBQUNBO0FBQ0EscUNBREE7O0FBR0EsYUFMQSxFQUtBLElBTEE7QUFNQSxXQXBCQSxNQW9CQTtBQUNBO0FBQ0EsNEJBREE7QUFFQSwwQkFGQTtBQUdBLDZCQUhBOztBQUtBOztBQUVBLFNBeENBOztBQTBDQSxLQXhHQTtBQXlHQSxnQkF6R0EsMEJBeUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BSEE7QUFJQSxLQWhIQTtBQWlIQSxrQkFqSEEsNEJBaUhBO0FBQ0E7QUFDQSxLQW5IQTtBQW9IQSxnQkFwSEEsMEJBb0hBO0FBQ0E7QUFDQTtBQUNBLEtBdkhBO0FBd0hBLGlCQXhIQSx5QkF3SEEsR0F4SEEsRUF3SEE7QUFDQTtBQUNBLEtBMUhBLEVBeEZBOztBQW9OQSxlQXBOQSwyQkFvTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQXhOQSxFIiwiZmlsZSI6IjMzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiICA8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJ6YWktYm94XCI+XHJcblx0XHRcclxuICAgICAgICA8c2Nyb2xsLXZpZXcgc2Nyb2xsLXkgY2xhc3M9XCJwYWdlXCI+XHJcblx0XHRcdFxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cInRleHQtY2VudGVyXCIgOnN0eWxlPVwiW3thbmltYXRpb246ICdzaG93ICcgKyAwLjQrICdzIDEnfV1cIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2xvZ28ucG5nXCIgbW9kZT0nYXNwZWN0Rml0JyBjbGFzcz1cInphaS1sb2dvXCIgQGxvbmd0YXA9J2xvbmdwcmVzc0ltZyc+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cImJveCBwYWRkaW5nLWxyLXhsIGxvZ2luLXBhZGRpbmd0b3BcIiA6c3R5bGU9XCJbe2FuaW1hdGlvbjogJ3Nob3cgJyArIDAuNisgJ3MgMSd9XVwiPlxyXG5cdFx0XHRcdDxibG9jayB2LWlmPVwibG9naW5XYXk9PTFcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY3UtZm9ybS1ncm91cCBtYXJnaW4tdG9wICBzaGFkb3ctd2FycFwiIDpjbGFzcz1cIltzaGFwZT09J3JvdW5kJz8ncm91bmQnOicnXVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLWxvZ2luXCI+PHRleHQgY2xhc3M9XCJjdUljb24tcGVvcGxlIG1hcmdpbi1yaWdodC14c1wiPjwvdGV4dD7otKblj7c6PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8aW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXotKblj7dcIiBuYW1lPVwiaW5wdXRcIiB2LW1vZGVsPVwidXNlck5hbWVcIj48L2lucHV0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjdS1mb3JtLWdyb3VwIG1hcmdpbi10b3Agc2hhZG93LXdhcnBcIiA6Y2xhc3M9XCJbc2hhcGU9PSdyb3VuZCc/J3JvdW5kJzonJ11cIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZS1sb2dpblwiPjx0ZXh0IGNsYXNzPVwiY3VJY29uLWxvY2sgbWFyZ2luLXJpZ2h0LXhzXCI+PC90ZXh0PuWvhueggTo8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDxpbnB1dCBjbGFzcz1cInVuaS1pbnB1dFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5a+G56CBXCIgOnBhc3N3b3JkPVwiIXNob3dQYXNzd29yZFwiIHYtbW9kZWw9XCJwYXNzd29yZFwiIC8+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWN0aW9uIHRleHQtbGdcIj5cclxuXHRcdFx0XHRcdFx0ICAgIDx0ZXh0IDpjbGFzcz1cIltzaG93UGFzc3dvcmQgPyAnY3VJY29uLWF0dGVudGlvbicgOiAnY3VJY29uLWF0dGVudGlvbmZvcmJpZCddXCIgQGNsaWNrPVwiY2hhbmdlUGFzc3dvcmRcIj48L3RleHQ+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleCBtYXJnaW4teHMganVzdGlmeS1iZXR3ZWVuXCI+XHJcblx0XHRcdFx0XHRcdDxjaGVja2JveC1ncm91cCBjbGFzcz1cInJlbWJlclwiPlxyXG5cdFx0XHRcdFx0XHRcdDxsYWJlbD5cclxuXHRcdFx0XHRcdFx0XHRcdDxjaGVja2JveCB2YWx1ZT1cImNiXCIgOmNoZWNrZWQ9XCJyZW1iZXJcIiAgQHRhcD1cInJlbWJlciA9ICFyZW1iZXJcIiBzdHlsZT1cInRyYW5zZm9ybTpzY2FsZSgwLjcpXCIgLz48dGV4dD7orrDkvY/lr4bnoIE8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0PC9sYWJlbD5cclxuXHRcdFx0XHRcdFx0PC9jaGVja2JveC1ncm91cD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJjaGFuZ2VJUFwiIEBjbGljaz1cImNoYW5nZUlQKClcIj7orr7nva5JUDwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleCBwYWRkaW5nIGp1c3RpZnktY2VudGVyIG1hcmdpbi10b3BcIj5cclxuXHRcdFx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cImN1LWJ0biBiZy1ibHVlIGxnICBzaGFkb3dcIiA6bG9hZGluZz1cImxvYWRpbmdcIiA6Y2xhc3M9XCJbc2hhcGU9PSdyb3VuZCc/J3JvdW5kJzonJ11cIlxyXG5cdFx0XHRcdFx0XHRcdEB0YXA9XCJvbkxvZ2luXCI+PHRleHQgc3BhY2U9XCJlbXNwXCI+e3tsb2FkaW5nID8gXCLnmbvlvZXkuK0uLi5cIjpcIiDnmbvlvZUgXCJ9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC9ibG9jaz5cclxuXHRcclxuXHRcdFx0XHQ8IS0tICNpZmRlZiBBUFAtUExVUyAtLT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInBhZGRpbmcgZmxleCBmbGV4LWRpcmVjdGlvbiAgdGV4dC1jZW50ZXJcIiBzdHlsZT1cInBvc2l0aW9uOiBmaXhlZDt3aWR0aDogODAlO2JvdHRvbTogMDt0ZXh0LWFsaWduOiBjZW50ZXI7XCI+XHJcblx0XHRcdFx0XHTlvZPliY3niYjmnKw6e3t2ZXJzaW9ufX1cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PCEtLSAjZW5kaWYgLS0+XHJcblx0XHRcdFx0XHJcbiAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICA8L3Njcm9sbC12aWV3PlxyXG5cdFx0PCEtLSDnmbvlvZXliqDovb3lvLnnqpcgLS0+XHJcblx0XHQ8dmlldyBjbGFzcz1cImN1LWxvYWQgbG9hZC1tb2RhbFwiIHYtaWY9XCJsb2FkaW5nXCI+XHJcblx0XHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJjdUljb24tZW1vamlmaWxsIHRleHQtb3JhbmdlXCI+PC92aWV3PiAtLT5cclxuXHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9sb2dvMS5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCIgY2xhc3M9XCJyb3VuZFwiPjwvaW1hZ2U+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiZ3JheS10ZXh0XCI+55m75b2V5LitLi4uPC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXc+XHJcblx0XHRcdDx1bmktcG9wdXAgcmVmPVwiaW5wdXREaWFsb2dcIiB0eXBlPVwiZGlhbG9nXCI+XHJcblx0XHRcdFx0PHVuaS1wb3B1cC1kaWFsb2cgcmVmPVwiaW5wdXRDbG9zZVwiIG1vZGU9XCJpbnB1dFwiIHRpdGxlPVwi6K6+572uSVBcIiB2LW1vZGVsPVwiSVBcIlxyXG5cdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCLor7fovpPlhaXmnI3liqHlmahJUFwiIEBjb25maXJtPVwiZGlhbG9nSW5wdXRDb25maXJtXCI+XHJcblx0XHRcdFx0PC91bmktcG9wdXAtZGlhbG9nPlx0XHJcblx0XHRcdDwvdW5pLXBvcHVwPlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHJweDtcIj5cclxuXHRcdFx0PHVuaS1wb3B1cCByZWY9XCJzZXJ2ZXJQb3J0XCIgdHlwZT1cImRpYWxvZ1wiPlxyXG5cdFx0XHRcdDx1bmktcG9wdXAtZGlhbG9nIHJlZj1cImlucHV0Q2xvc2VcIiBtb2RlPVwiaW5wdXRcIiB0aXRsZT1cIuiuvue9ruerr+WPo1wiIHYtbW9kZWw9XCJQT1JUXCJcclxuXHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5pyN5Yqh5Zmo56uv5Y+j5Y+3XCIgQGNvbmZpcm09XCJzZXJ2ZXJQb3J0Q29uZmlybVwiPlxyXG5cdFx0XHRcdDwvdW5pLXBvcHVwLWRpYWxvZz5cdFxyXG5cdFx0XHQ8L3VuaS1wb3B1cD5cclxuXHRcdDwvdmlldz5cclxuICAgIDwvdmlldz5cclxuXHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdC8vIGltcG9ydCB7IEFDQ0VTU19UT0tFTixVU0VSX05BTUUsVVNFUl9JTkZPIH0gZnJvbSBcIkAvY29tbW9uL3V0aWwvY29uc3RhbnRzXCJcclxuXHRpbXBvcnQgeyBtYXBBY3Rpb25zIH0gZnJvbSBcInZ1ZXhcIlxyXG5cdGltcG9ydCBtZDUgZnJvbSAnLi4vLi4vY29tbW9uL21kNS5qcydcclxuICAgIC8vIGltcG9ydCBjb25maWdTZXJ2aWNlIGZyb20gJ0AvY29tbW9uL3NlcnZpY2UvY29uZmlnLnNlcnZpY2UuanMnO1xyXG5cdFxyXG4gICAgZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgICAgIGRhdGEoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcblx0XHRcdFx0c2hhcGU6JycsLy9yb3VuZCDlnIblvaJcclxuXHRcdFx0XHRsb2FkaW5nOiBmYWxzZSxcclxuXHRcdFx0XHRwaG9uZU5vOiAnJyxcclxuXHRcdFx0XHRzbXNDb2RlOiAnJyxcclxuXHRcdFx0XHRzaG93UGFzc3dvcmQ6IGZhbHNlLCAvL+aYr+WQpuaYvuekuuaYjuaWh1xyXG5cdFx0XHRcdGxvZ2luV2F5OiAxLCAvLzE6IOi0puWvhu+8jDLvvJrpqozor4HnoIFcclxuXHRcdFx0XHRzbXNDb3VudERvd246IDAsXHJcblx0XHRcdFx0c21zQ291bnRJbnRlcnZhbDogbnVsbCxcclxuXHRcdFx0XHR0b2dnbGVEZWxheTogZmFsc2UsXHJcblx0XHRcdFx0dmVyc2lvbjonJyxcclxuXHRcdFx0XHQvL+esrOS4ieaWueeZu+W9leebuOWFs+S/oeaBr1xyXG5cdFx0XHRcdHRoaXJkVHlwZTpcIlwiLFxyXG5cdFx0XHRcdHRoaXJkTG9naW5JbmZvOlwiXCIsXHJcblx0XHRcdFx0dGhpcmRMb2dpblN0YXRlOmZhbHNlLFxyXG5cdFx0XHRcdGJpbmRpbmdQaG9uZU1vZGFsOmZhbHNlLFxyXG5cdFx0XHRcdHRoaXJkVXNlclV1aWQ6JycsXHJcblx0XHRcdFx0dXJsOiB7XHJcblx0XHRcdFx0XHRiaW5kaW5nVGhpcmRQaG9uZTogJy9zeXMvdGhpcmRMb2dpbi9iaW5kaW5nVGhpcmRQaG9uZSdcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHR5cGU6JycsXHJcblx0XHRcdFx0dXNlck5hbWU6JycsXHJcblx0XHRcdFx0cGFzc3dvcmQ6JycsXHJcblx0XHRcdFx0cmVtYmVyOnRydWUsXHJcblx0XHRcdFx0SVA6JycsXHJcblx0XHRcdFx0UE9SVDonODA4MCcsLy8g6buY6K6k56uv5Y+j5Y+3XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSxcclxuXHRcdG1vdW50ZWQoKSB7XHJcblx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0Ly/nvJPlrZjnmoTotKblj7dcclxuXHRcdFx0Y29uc3QgSEN1bmFtZSA9IHVuaS5nZXRTdG9yYWdlU3luYygnSEN1bmFtZScpO1xyXG5cdFx0XHQvL+e8k+WtmOeahOWvhueggVxyXG5cdFx0XHRjb25zdCBIQ3Bhc3N3ID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdIQ3Bhc3N3Jyk7XHJcblx0XHRcdC8v5pyJ57yT5a2Y5bCx6LWL5YC857uZ5paH5pys5rKh5pyJ5bCx5riF56m6XHJcblx0XHRcdGlmIChIQ3VuYW1lICYmIEhDcGFzc3cpIHtcclxuXHRcdFx0ICAgIHRoYXQudXNlck5hbWUgPSBIQ3VuYW1lO1xyXG5cdFx0XHQgICAgdGhhdC5wYXNzd29yZCA9IEhDcGFzc3c7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdCAgICB0aGF0LnVzZXJOYW1lID0gJyc7XHJcblx0XHRcdCAgICB0aGF0LnBhc3N3b3JkID0gJyc7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdGNvbnN0IFVJUCA9IHVuaS5nZXRTdG9yYWdlU3luYygnVUlQJyk7XHJcblx0XHRcdGlmIChVSVApIHtcclxuXHRcdFx0ICAgIHRoYXQuSVAgPSBVSVA7XHJcblx0XHRcdFx0dGhhdC5iYXNlSVAgPSBVSVA7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdCAgICB0aGF0LklQID0gJyc7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdGNvbnN0IFVQT1JUID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdVUE9SVCcpO1xyXG5cdFx0XHRpZiAoVVBPUlQpIHtcclxuXHRcdFx0ICAgIHRoYXQuUE9SVCA9IFVQT1JUO1xyXG5cdFx0XHRcdHRoYXQuYmFzZVBPUlQgPSBVUE9SVDtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0ICAgIHRoYXQuUE9SVCA9ICc4MDgwJztcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZDpmdW5jdGlvbigpe1xyXG5cdFx0XHQvLyAjaWZkZWYgQVBQLVBMVVNcclxuXHRcdFx0dmFyIHRoYXQ9dGhpc1xyXG5cdFx0XHRwbHVzLnJ1bnRpbWUuZ2V0UHJvcGVydHkoIHBsdXMucnVudGltZS5hcHBpZCwgZnVuY3Rpb24gKCB3Z3RpbmZvICkge1xyXG5cdFx0XHRcdHRoYXQudmVyc2lvbj13Z3RpbmZvLnZlcnNpb25cclxuXHRcdFx0fSk7XHJcblx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHRcclxuXHRcdH0sXHJcblx0XHRjb21wdXRlZDoge1xyXG5cdFx0ICAgICAgaXNTZW5kU01TRW5hYmxlKCkge1xyXG5cdFx0ICAgICAgICByZXR1cm4gdGhpcy5zbXNDb3VudERvd24gPD0gMCAmJiB0aGlzLnBob25lTm8ubGVuZ3RoID4gNDtcclxuXHRcdCAgICAgIH0sXHJcblx0XHQgICAgICBnZXRTZW5kQnRuVGV4dCgpIHtcclxuXHRcdCAgICAgICAgaWYgKHRoaXMuc21zQ291bnREb3duID4gMCkge1xyXG5cdFx0ICAgICAgICAgIHJldHVybiB0aGlzLnNtc0NvdW50RG93biArICfnp5LlkI7lj5HpgIEnO1xyXG5cdFx0ICAgICAgICB9IGVsc2Uge1xyXG5cdFx0ICAgICAgICAgIHJldHVybiAn5Y+R6YCB6aqM6K+B56CBJztcclxuXHRcdCAgICAgICAgfVxyXG5cdFx0ICAgICAgfSxcclxuXHRcdCAgICAgIGNhblNNU0xvZ2luKCkge1xyXG5cdFx0ICAgICAgICByZXR1cm4gdGhpcy51c2VyTmFtZS5sZW5ndGggPiA0ICYmIHRoaXMuc21zQ29kZS5sZW5ndGggPiA0O1xyXG5cdFx0ICAgICAgfSxcclxuXHRcdCAgICAgIGNhblB3ZExvZ2luKCkge1xyXG5cdFx0ICAgICAgICByZXR1cm4gdGhpcy51c2VyTmFtZS5sZW5ndGggPiA0ICYmIHRoaXMucGFzc3dvcmQubGVuZ3RoID4gNDtcclxuXHRcdCAgICAgIH0sXHJcblx0XHR9LFxyXG4gICAgICAgIG1ldGhvZHM6IHtcclxuXHRcdFx0bG9uZ3ByZXNzSW1nKCkgeyAvLyDplb/mjInlm77niYdcclxuXHRcdFx0XHR0aGlzLiRyZWZzLnNlcnZlclBvcnQub3BlbigpXHJcblx0XHRcdH0sXHJcblx0XHRcdHNlcnZlclBvcnRDb25maXJtKHR5cGUpIHtcclxuXHRcdFx0XHR0aGlzLmJhc2VQT1JUID0gdHlwZVxyXG5cdFx0XHRcdC8vIOWtmOWFpeacrOWcsOe8k+WtmFxyXG5cdFx0XHRcdHRoaXMuUE9SVCA9IHR5cGVcclxuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ1VQT1JUJyx0aGlzLmJhc2VQT1JUKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaGFuZ2VJUCgpe1xyXG5cdFx0XHRcdHRoaXMuJHJlZnMuaW5wdXREaWFsb2cub3BlbigpXHJcblx0XHRcdH0sXHJcblx0XHRcdGRpYWxvZ0lucHV0Q29uZmlybSh0eXBlKXtcclxuXHRcdFx0XHR0aGlzLmJhc2VJUCA9IHR5cGVcclxuXHRcdFx0XHQvLyDlrZjlhaXmnKzlnLDnvJPlrZhcclxuXHRcdFx0XHR0aGlzLklQID0gdHlwZTtcclxuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ1VJUCcsdGhpcy5iYXNlSVApXHJcblx0XHRcdH0sXHJcblx0XHRcdGNoZWNrYm94Q2hhbmdlOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdCAgICBpZiAoZS5kZXRhaWwudmFsdWUubGVuZ3RoID09IDEpIHtcclxuXHRcdFx0XHJcblx0XHRcdCAgICAgICAgLy/ojrflj5bnvJPlrZjnmoTotKblj7dcclxuXHRcdFx0ICAgICAgICAgdW5pLmdldFN0b3JhZ2VTeW5jKCdIQ3VuYW1lJyx0aGlzLnVzZXJOYW1lKTtcclxuXHRcdFx0ICAgICAgICAgdW5pLmdldFN0b3JhZ2VTeW5jKCdIQ3Bhc3N3Jyx0aGlzLnBhc3N3b3JkKTtcclxuXHRcdFx0ICAgIH0gZWxzZSB7XHJcblx0XHRcdCAgICAgICAgICB1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ0hDdW5hbWUnKTtcclxuXHRcdFx0ICAgICAgICAgIHVuaS5yZW1vdmVTdG9yYWdlU3luYygnSENwYXNzdycpOyAgICAgICAgICAgICAgXHJcblx0XHRcdCAgICB9XHJcblx0XHRcdH0sXHJcblx0XHRcdG9uTG9naW46IGZ1bmN0aW9uICgpe1xyXG5cdFx0XHRcdGlmKCF0aGlzLnVzZXJOYW1lIHx8IHRoaXMudXNlck5hbWUubGVuZ3RoPT0wKXtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiAn6K+35aGr5YaZ6LSm5Y+3JyxpY29uOiBcIm5vbmVcIn0pXHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmKCF0aGlzLnBhc3N3b3JkIHx8IHRoaXMucGFzc3dvcmQubGVuZ3RoPT0wKXtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiAn6K+35aGr5YaZ5a+G56CBJyxpY29uOiBcIm5vbmVcIn0pXHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmKHRoaXMuYmFzZUlQID09IHVuZGVmaW5lZCB8fCB0aGlzLmJhc2VJUCA9PSAnJyApIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTon6K+35YWI6K6+572uSVAnLFxyXG5cdFx0XHRcdFx0XHRpY29uOidub25lJ1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYodGhpcy5iYXNlUE9SVCA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTon6ZW/5oyJ5Zu+54mH6L6T5YWl56uv5Y+j5Y+3JyxcclxuXHRcdFx0XHRcdFx0aWNvbjonbm9uZSdcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZygpO1xyXG5cdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKXtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn55m75b2V6LaF5pe2JyxcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246ICdib3R0b20nLFxyXG5cdFx0XHRcdFx0XHRkdXJhdGlvbjogMTAwMFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSw2MDAwKVxyXG5cdFx0XHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdFx0XHQgICAgdXJsOiB0aGlzLmJhc2VIdHRwICsgdGhpcy5iYXNlSVAgKyAnOicgK3RoaXMuYmFzZVBPUlQgKyB0aGlzLmJhc2VVcmwgKyAnL2xvZ2luLmFjdGlvbicsXHJcblx0XHRcdFx0ICAgIGRhdGE6IHtcclxuXHRcdFx0XHQgICAgICB1c2VybmFtZTp0aGlzLnVzZXJOYW1lLFxyXG5cdFx0XHRcdCAgICAgIHBhc3N3b3JkOm1kNS5oZXhfbWQ1KHRoaXMucGFzc3dvcmQpIFxyXG5cdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdCAgICBoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0XCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCJcclxuXHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHQgICAgc3VjY2VzczogKHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRsZXQgcmVzID0gcmVzdWx0LmRhdGE7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+eZu+W9leaIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogJ2JvdHRvbScsXHJcblx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMTAwMFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdGlmKHRoaXMucmVtYmVyKXtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnSEN1bmFtZScsIHRoaXMudXNlck5hbWUpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdIQ3Bhc3N3JywgdGhpcy5wYXNzd29yZCk7XHJcblx0XHRcdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ0hDdW5hbWUnKTtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5yZW1vdmVTdG9yYWdlU3luYygnSENwYXNzdycpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ3Rva2VuJywgcmVzLmRhdGEudG9rZW4pO1xyXG5cdFx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjaygpO1x0XHQvLyAgIOWwj+eoi+W6j+eUqOi/meS4qiAg5oqK6aaW6aG16Lev55Sx5pS+56ys5LiA5LiqXHJcblx0XHRcdFx0XHRcdFx0XHR1bmkucmVMYXVuY2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcuLi9pbmRleC9pbmRleCdcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IHJlcy5tc2csXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiAndG9wJ1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0c2F2ZUNsaWVudElkKCl7XHJcblx0XHRcdFx0dmFyIGluZm8gPSBwbHVzLnB1c2guZ2V0Q2xpZW50SW5mbygpO1xyXG5cdFx0XHRcdHZhciBjaWQgPSBpbmZvLmNsaWVudGlkO1xyXG5cdFx0XHRcdHRoaXMuJGh0dHAuZ2V0KFwiL3N5cy91c2VyL3NhdmVDbGllbnRJZFwiLHtwYXJhbXM6e2NsaWVudElkOmNpZH19KS50aGVuKHJlcz0+e1xyXG5cdFx0XHRcdFx0dGhpcy4kdGlwLnN1Y2Nlc3MoJ+eZu+W9leaIkOWKnyEnKVxyXG5cdFx0XHRcdFx0dGhpcy4kUm91dGVyLnJlcGxhY2VBbGwoe25hbWU6J2luZGV4J30pXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hhbmdlUGFzc3dvcmQoKSB7XHJcblx0XHRcdFx0dGhpcy5zaG93UGFzc3dvcmQgPSAhdGhpcy5zaG93UGFzc3dvcmQ7XHJcblx0XHRcdH0sXHJcblx0XHRcdGxvZ2luU3VjY2VzcygpIHtcclxuXHRcdFx0ICAvLyDnmbvpmYbmiJDlip/vvIzph43lrprlkJHliLDkuLvpobVcclxuXHRcdFx0ICB0aGlzLiRSb3V0ZXIucmVwbGFjZSh7bmFtZTonaW5kZXgnfSlcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVxdWVzdEZhaWxlZChlcnIpIHtcclxuXHRcdFx0ICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoXCLnmbvlvZXlpLHotKVcIilcclxuXHRcdFx0fSxcclxuICAgICAgICB9LFxyXG5cdFx0YmVmb3JlRGVzdHJveSgpIHtcclxuXHRcdCAgICBpZiAodGhpcy5zbXNDb3VudEludGVydmFsKSB7XHJcblx0XHQgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5zbXNDb3VudEludGVydmFsKTtcclxuXHRcdCAgICB9XHJcblx0XHR9LFxyXG5cdFx0XHJcblx0XHRcclxuICAgIH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0QGltcG9ydCBcIi4uLy4uL2NvbG9ydWkvbWFpbi5jc3NcIjtcclxuXHRAaW1wb3J0IFwiLi4vLi4vY29sb3J1aS9pY29uLmNzc1wiO1xyXG5cdEBpbXBvcnQgXCIuLi8uLi9jb2xvcnVpL2FuaW1hdGlvbi5jc3NcIjtcclxuXHRcclxuICAgIC5sb2dpbi1wYWRkaW5ndG9wIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNTB1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnphaS1ib3gge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjB1cHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHVweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnphaS1sb2dvIHtcclxuICAgICAgICB3aWR0aDogNjAwdXB4O1xyXG4gICAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnphaS10aXRsZSB7XHJcbiAgICAgICBmb250LXNpemU6IDU4dXB4O1xyXG4gICAgICAgY29sb3I6ICMwMDAwMDA7XHJcbiAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LXBsYWNlaG9sZGVyLCAuemFpLWlucHV0IHtcclxuICAgICAgICBjb2xvcjogIzk0YWZjZTtcclxuICAgIH1cclxuXHJcbiAgICAuemFpLWxhYmVsIHtcclxuICAgICAgICBwYWRkaW5nOiA2MHVweCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDMwdXB4O1xyXG4gICAgICAgIGNvbG9yOiAjYTdiNmQwO1xyXG4gICAgfVxyXG5cclxuICAgIC56YWktYnRuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY2NWEzO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDB1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNnVweDtcclxuICAgIH1cclxuXHJcbiAgICAuemFpLWJ0bjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8q5oyJ6ZKu54K55Ye75pWI5p6cKi9cclxuICAgIC56YWktYnRuLmJ1dHRvbi1ob3ZlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXVweCwgMXVweCk7XHJcbiAgICB9XHJcblx0LmNoYW5nZUJveCB7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHVweDtcclxuXHR9XHJcblx0LnJlbWJlciB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG5cdC5jaGFuZ2VJUCB7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1dXB4O1xyXG5cdH1cclxuPC9zdHlsZT5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///33\n");
+eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _vuex = __webpack_require__(/*! vuex */ 34);\nvar _md = _interopRequireDefault(__webpack_require__(/*! ../../common/md5.js */ 35));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n// import { ACCESS_TOKEN,USER_NAME,USER_INFO } from \"@/common/util/constants\"\n// import configService from '@/common/service/config.service.js';\nvar _default = { data: function data() {return { shape: '', //round 鍦嗗舰\n      loading: false, phoneNo: '', smsCode: '', showPassword: false, //鏄惁鏄剧ず鏄庢枃\n      loginWay: 1, //1: 璐﹀瘑锛�2锛氶獙璇佺爜\n      smsCountDown: 0, smsCountInterval: null, toggleDelay: false, version: '', //绗笁鏂圭櫥褰曠浉鍏充俊鎭痋n      thirdType: \"\", thirdLoginInfo: \"\", thirdLoginState: false, bindingPhoneModal: false, thirdUserUuid: '', url: { bindingThirdPhone: '/sys/thirdLogin/bindingThirdPhone' }, type: '', userName: '', password: '', rember: true, IP: '', PORT: '8080' // 榛樿绔彛鍙穃n    };}, mounted: function mounted() {var that = this; //缂撳瓨鐨勮处鍙穃n    var HCuname = uni.getStorageSync('HCuname'); //缂撳瓨鐨勫瘑鐮乗n    var HCpassw = uni.getStorageSync('HCpassw'); //鏈夌紦瀛樺氨璧嬪�肩粰鏂囨湰娌℃湁灏辨竻绌篭n    if (HCuname && HCpassw) {that.userName = HCuname;that.password = HCpassw;} else {that.userName = '';that.password = '';}var UIP = uni.getStorageSync('UIP');if (UIP) {that.IP = UIP;that.baseIP = UIP;} else {that.IP = '';}var UPORT = uni.getStorageSync('UPORT');if (UPORT) {that.PORT = UPORT;that.basePORT = UPORT;} else {that.PORT = '8080';}}, onLoad: function onLoad() {var that = this;plus.runtime.getProperty(plus.runtime.appid, function (wgtinfo) {that.version = wgtinfo.version;});}, computed: { isSendSMSEnable: function isSendSMSEnable() {return this.smsCountDown <= 0 && this.phoneNo.length > 4;}, getSendBtnText: function getSendBtnText() {if (this.smsCountDown > 0) {return this.smsCountDown + '绉掑悗鍙戦��';} else {return '鍙戦�侀獙璇佺爜';}}, canSMSLogin: function canSMSLogin() {return this.userName.length > 4 && this.smsCode.length > 4;}, canPwdLogin: function canPwdLogin() {return this.userName.length > 4 && this.password.length > 4;} }, methods: { // 閰嶇疆 URL PORT 椤圭洰(jkwms)\n    config: function config() {this.$refs.popup.open(\"center\");}, longpressImg: function longpressImg() {// 闀挎寜鍥剧墖\n      this.$refs.serverPort.open();}, serverPortConfirm: function serverPortConfirm(type) {this.basePORT = type; // 瀛樺叆鏈湴缂撳瓨\n      this.PORT = type;uni.setStorageSync('UPORT', this.basePORT);}, changeIP: function changeIP() {this.$refs.inputDialog.open();}, dialogInputConfirm: function dialogInputConfirm(type) {this.baseIP = type;\n      // 瀛樺叆鏈湴缂撳瓨\n      this.IP = type;\n      uni.setStorageSync('UIP', this.baseIP);\n    },\n    checkboxChange: function checkboxChange(e) {\n      if (e.detail.value.length == 1) {\n\n        //鑾峰彇缂撳瓨鐨勮处鍙穃n        uni.getStorageSync('HCuname', this.userName);\n        uni.getStorageSync('HCpassw', this.password);\n      } else {\n        uni.removeStorageSync('HCuname');\n        uni.removeStorageSync('HCpassw');\n      }\n    },\n    onLogin: function onLogin() {var _this = this;\n      if (!this.userName || this.userName.length == 0) {\n        uni.showToast({ title: '璇峰~鍐欒处鍙�', icon: \"none\" });\n        return;\n      }\n      if (!this.password || this.password.length == 0) {\n        uni.showToast({ title: '璇峰~鍐欏瘑鐮�', icon: \"none\" });\n        return;\n      }\n      if (this.baseIP == undefined || this.baseIP == '') {\n        uni.showToast({\n          title: '璇峰厛璁剧疆IP',\n          icon: 'none' });\n\n        return;\n      }\n      if (this.basePORT == undefined) {\n        uni.showToast({\n          title: '闀挎寜鍥剧墖杈撳叆绔彛鍙�',\n          icon: 'none' });\n\n        return;\n      }\n      uni.showLoading();\n      setTimeout(function () {\n        uni.hideLoading();\n        uni.showToast({\n          title: '鐧诲綍瓒呮椂',\n          position: 'bottom',\n          duration: 1000 });\n\n      }, 6000);\n      uni.request({\n        url: this.baseHttp + this.baseIP + ':' + this.basePORT + this.baseUrl + '/login.action',\n        data: {\n          username: this.userName,\n          password: _md.default.hex_md5(this.password) },\n\n        header: {\n          \"content-type\": \"application/json\" },\n\n        success: function success(result) {\n          var res = result.data;\n          uni.hideLoading();\n          if (res.code == 200) {\n            uni.showToast({\n              title: '鐧诲綍鎴愬姛',\n              position: 'bottom',\n              duration: 1000 });\n\n            if (_this.rember) {\n              uni.setStorageSync('HCuname', _this.userName);\n              uni.setStorageSync('HCpassw', _this.password);\n            } else {\n              uni.removeStorageSync('HCuname');\n              uni.removeStorageSync('HCpassw');\n            }\n            uni.setStorageSync('token', res.data.token);\n            setTimeout(function () {\n              uni.navigateBack(); //   灏忕▼搴忕敤杩欎釜  鎶婇椤佃矾鐢辨斁绗竴涓猏n              uni.reLaunch({\n                url: '../index/index' });\n\n            }, 1000);\n          } else {\n            uni.showToast({\n              title: res.msg,\n              icon: \"none\",\n              position: 'top' });\n\n          }\n\n        } });\n\n    },\n    saveClientId: function saveClientId() {var _this2 = this;\n      var info = plus.push.getClientInfo();\n      var cid = info.clientid;\n      this.$http.get(\"/sys/user/saveClientId\", { params: { clientId: cid } }).then(function (res) {\n        _this2.$tip.success('鐧诲綍鎴愬姛!');\n        _this2.$Router.replaceAll({ name: 'index' });\n      });\n    },\n    changePassword: function changePassword() {\n      this.showPassword = !this.showPassword;\n    },\n    loginSuccess: function loginSuccess() {\n      // 鐧婚檰鎴愬姛锛岄噸瀹氬悜鍒颁富椤礬n      this.$Router.replace({ name: 'index' });\n    },\n    requestFailed: function requestFailed(err) {\n      this.$message.warning(\"鐧诲綍澶辫触\");\n    } },\n\n  beforeDestroy: function beforeDestroy() {\n    if (this.smsCountInterval) {\n      clearInterval(this.smsCountInterval);\n    }\n  } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbG9naW4vbG9naW4udnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0dBO0FBQ0EscUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUZBO0FBR0E7ZUFFQSxFQUNBLElBREEsa0JBQ0EsQ0FDQSxTQUNBLFNBREEsRUFDQTtBQUNBLG9CQUZBLEVBR0EsV0FIQSxFQUlBLFdBSkEsRUFLQSxtQkFMQSxFQUtBO0FBQ0EsaUJBTkEsRUFNQTtBQUNBLHFCQVBBLEVBUUEsc0JBUkEsRUFTQSxrQkFUQSxFQVVBLFdBVkEsRUFXQTtBQUNBLG1CQVpBLEVBYUEsa0JBYkEsRUFjQSxzQkFkQSxFQWVBLHdCQWZBLEVBZ0JBLGlCQWhCQSxFQWlCQSxPQUNBLHNEQURBLEVBakJBLEVBb0JBLFFBcEJBLEVBcUJBLFlBckJBLEVBc0JBLFlBdEJBLEVBdUJBLFlBdkJBLEVBd0JBLE1BeEJBLEVBeUJBLFlBekJBLENBeUJBO0FBekJBLE1BMkJBLENBN0JBLEVBOEJBLE9BOUJBLHFCQThCQSxDQUNBLGdCQURBLENBRUE7QUFDQSxnREFIQSxDQUlBO0FBQ0EsZ0RBTEEsQ0FNQTtBQUNBLDZCQUNBLHdCQUNBLHdCQUNBLENBSEEsTUFHQSxDQUNBLG1CQUNBLG1CQUNBLENBRUEsb0NBQ0EsVUFDQSxjQUNBLGtCQUNBLENBSEEsTUFHQSxDQUNBLGFBQ0EsQ0FFQSx3Q0FDQSxZQUNBLGtCQUNBLHNCQUNBLENBSEEsTUFHQSxDQUNBLG1CQUNBLENBQ0EsQ0E1REEsRUE2REEsMkJBRUEsZ0JBQ0EsaUVBQ0EsK0JBQ0EsQ0FGQSxFQUtBLENBckVBLEVBc0VBLFlBQ0EsZUFEQSw2QkFDQSxDQUNBLHlEQUNBLENBSEEsRUFJQSxjQUpBLDRCQUlBLENBQ0EsNEJBQ0Esa0NBQ0EsQ0FGQSxNQUVBLENBQ0EsZUFDQSxDQUNBLENBVkEsRUFXQSxXQVhBLHlCQVdBLENBQ0EsMkRBQ0EsQ0FiQSxFQWNBLFdBZEEseUJBY0EsQ0FDQSw0REFDQSxDQWhCQSxFQXRFQSxFQXdGQSxXQUNBO0FBQ0EsVUFGQSxvQkFFQSxDQUNBLGdDQUNBLENBSkEsRUFLQSxZQUxBLDBCQUtBO0FBQ0EsbUNBQ0EsQ0FQQSxFQVFBLGlCQVJBLDZCQVFBLElBUkEsRUFRQSxDQUNBLHFCQURBLENBRUE7QUFDQSx1QkFDQSwyQ0FDQSxDQWJBLEVBY0EsUUFkQSxzQkFjQSxDQUNBLDhCQUNBLENBaEJBLEVBaUJBLGtCQWpCQSw4QkFpQkEsSUFqQkEsRUFpQkEsQ0FDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBdEJBO0FBdUJBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FMQSxNQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FqQ0E7QUFrQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQURBO0FBRUEsc0JBRkE7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFEQTtBQUVBLHNCQUZBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQURBO0FBRUEsNEJBRkE7QUFHQSx3QkFIQTs7QUFLQSxPQVBBLEVBT0EsSUFQQTtBQVFBO0FBQ0EsK0ZBREE7QUFFQTtBQUNBLGlDQURBO0FBRUEsc0RBRkEsRUFGQTs7QUFNQTtBQUNBLDRDQURBLEVBTkE7O0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQURBO0FBRUEsZ0NBRkE7QUFHQSw0QkFIQTs7QUFLQTtBQUNBO0FBQ0E7QUFDQSxhQUhBLE1BR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBREEsQ0FDQTtBQUNBO0FBQ0EscUNBREE7O0FBR0EsYUFMQSxFQUtBLElBTEE7QUFNQSxXQXBCQSxNQW9CQTtBQUNBO0FBQ0EsNEJBREE7QUFFQSwwQkFGQTtBQUdBLDZCQUhBOztBQUtBOztBQUVBLFNBeENBOztBQTBDQSxLQTVHQTtBQTZHQSxnQkE3R0EsMEJBNkdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BSEE7QUFJQSxLQXBIQTtBQXFIQSxrQkFySEEsNEJBcUhBO0FBQ0E7QUFDQSxLQXZIQTtBQXdIQSxnQkF4SEEsMEJBd0hBO0FBQ0E7QUFDQTtBQUNBLEtBM0hBO0FBNEhBLGlCQTVIQSx5QkE0SEEsR0E1SEEsRUE0SEE7QUFDQTtBQUNBLEtBOUhBLEVBeEZBOztBQXdOQSxlQXhOQSwyQkF3TkE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQTVOQSxFIiwiZmlsZSI6IjMzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiICA8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJ6YWktYm94XCI+XHJcblx0XHRcclxuICAgICAgICA8c2Nyb2xsLXZpZXcgc2Nyb2xsLXkgY2xhc3M9XCJwYWdlXCI+XHJcblx0XHRcdFxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cInRleHQtY2VudGVyXCIgOnN0eWxlPVwiW3thbmltYXRpb246ICdzaG93ICcgKyAwLjQrICdzIDEnfV1cIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2xvZ28ucG5nXCIgbW9kZT0nYXNwZWN0Rml0JyBjbGFzcz1cInphaS1sb2dvXCIgQGxvbmd0YXA9J2xvbmdwcmVzc0ltZyc+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cImJveCBwYWRkaW5nLWxyLXhsIGxvZ2luLXBhZGRpbmd0b3BcIiA6c3R5bGU9XCJbe2FuaW1hdGlvbjogJ3Nob3cgJyArIDAuNisgJ3MgMSd9XVwiPlxyXG5cdFx0XHRcdDxibG9jayB2LWlmPVwibG9naW5XYXk9PTFcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY3UtZm9ybS1ncm91cCBtYXJnaW4tdG9wICBzaGFkb3ctd2FycFwiIDpjbGFzcz1cIltzaGFwZT09J3JvdW5kJz8ncm91bmQnOicnXVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLWxvZ2luXCI+PHRleHQgY2xhc3M9XCJjdUljb24tcGVvcGxlIG1hcmdpbi1yaWdodC14c1wiPjwvdGV4dD7otKblj7c6PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8aW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXotKblj7dcIiBuYW1lPVwiaW5wdXRcIiB2LW1vZGVsPVwidXNlck5hbWVcIj48L2lucHV0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjdS1mb3JtLWdyb3VwIG1hcmdpbi10b3Agc2hhZG93LXdhcnBcIiA6Y2xhc3M9XCJbc2hhcGU9PSdyb3VuZCc/J3JvdW5kJzonJ11cIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZS1sb2dpblwiPjx0ZXh0IGNsYXNzPVwiY3VJY29uLWxvY2sgbWFyZ2luLXJpZ2h0LXhzXCI+PC90ZXh0PuWvhueggTo8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDxpbnB1dCBjbGFzcz1cInVuaS1pbnB1dFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5a+G56CBXCIgOnBhc3N3b3JkPVwiIXNob3dQYXNzd29yZFwiIHYtbW9kZWw9XCJwYXNzd29yZFwiIC8+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWN0aW9uIHRleHQtbGdcIj5cclxuXHRcdFx0XHRcdFx0ICAgIDx0ZXh0IDpjbGFzcz1cIltzaG93UGFzc3dvcmQgPyAnY3VJY29uLWF0dGVudGlvbicgOiAnY3VJY29uLWF0dGVudGlvbmZvcmJpZCddXCIgQGNsaWNrPVwiY2hhbmdlUGFzc3dvcmRcIj48L3RleHQ+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleCBtYXJnaW4teHMganVzdGlmeS1iZXR3ZWVuXCI+XHJcblx0XHRcdFx0XHRcdDxjaGVja2JveC1ncm91cCBjbGFzcz1cInJlbWJlclwiPlxyXG5cdFx0XHRcdFx0XHRcdDxsYWJlbD5cclxuXHRcdFx0XHRcdFx0XHRcdDxjaGVja2JveCB2YWx1ZT1cImNiXCIgOmNoZWNrZWQ9XCJyZW1iZXJcIiAgQHRhcD1cInJlbWJlciA9ICFyZW1iZXJcIiBzdHlsZT1cInRyYW5zZm9ybTpzY2FsZSgwLjcpXCIgLz48dGV4dD7orrDkvY/lr4bnoIE8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0PC9sYWJlbD5cclxuXHRcdFx0XHRcdFx0PC9jaGVja2JveC1ncm91cD5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dGV4dCBjbGFzcz1cImNoYW5nZUlQXCIgQGNsaWNrPVwiY2hhbmdlSVAoKVwiPuiuvue9rklQPC90ZXh0PiAtLT5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJjaGFuZ2VJUFwiIEBjbGljaz1cImNvbmZpZygpXCI+6YWN572uPC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4IHBhZGRpbmcganVzdGlmeS1jZW50ZXIgbWFyZ2luLXRvcFwiPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwiY3UtYnRuIGJnLWJsdWUgbGcgIHNoYWRvd1wiIDpsb2FkaW5nPVwibG9hZGluZ1wiIDpjbGFzcz1cIltzaGFwZT09J3JvdW5kJz8ncm91bmQnOicnXVwiXHJcblx0XHRcdFx0XHRcdFx0QHRhcD1cIm9uTG9naW5cIj48dGV4dCBzcGFjZT1cImVtc3BcIj57e2xvYWRpbmcgPyBcIueZu+W9leS4rS4uLlwiOlwiIOeZu+W9lSBcIn19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L2Jsb2NrPlxyXG5cdFxyXG5cdFx0XHRcdDwhLS0gI2lmZGVmIEFQUC1QTFVTIC0tPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGFkZGluZyBmbGV4IGZsZXgtZGlyZWN0aW9uICB0ZXh0LWNlbnRlclwiIHN0eWxlPVwicG9zaXRpb246IGZpeGVkO3dpZHRoOiA4MCU7Ym90dG9tOiAwO3RleHQtYWxpZ246IGNlbnRlcjtcIj5cclxuXHRcdFx0XHRcdOW9k+WJjeeJiOacrDp7e3ZlcnNpb259fVxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHRcdFx0XHRcclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDwvc2Nyb2xsLXZpZXc+XHJcblx0XHRcclxuXHRcdFxyXG5cdFx0PHZpZXc+XHJcblx0XHRcdDx1bmktcG9wdXAgcmVmPVwicG9wdXBcIiB0eXBlPVwicmlnaHRcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbmZpZ1wiPlxyXG5cdFx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHRcdDx0ZXh0Pmlw5Zyw5Z2APC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIjE5Mi4xNjguMS4xXCI+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldz5cclxuXHRcdFx0XHRcdFx0PHRleHQ+56uv5Y+j5Y+3PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIjgwODBcIj5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dD7pobnnm648L3RleHQ+XHJcblx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiamt3bXNcIj5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uPuehruiupDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC91bmktcG9wdXA+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHRcclxuXHRcdFxyXG5cdFx0XHJcblx0XHRcclxuXHRcdDwhLS0g55m75b2V5Yqg6L295by556qXIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJjdS1sb2FkIGxvYWQtbW9kYWxcIiB2LWlmPVwibG9hZGluZ1wiPlxyXG5cdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiY3VJY29uLWVtb2ppZmlsbCB0ZXh0LW9yYW5nZVwiPjwvdmlldz4gLS0+XHJcblx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvbG9nbzEucG5nXCIgbW9kZT1cImFzcGVjdEZpdFwiIGNsYXNzPVwicm91bmRcIj48L2ltYWdlPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImdyYXktdGV4dFwiPueZu+W9leS4rS4uLjwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3PlxyXG5cdFx0XHQ8dW5pLXBvcHVwIHJlZj1cImlucHV0RGlhbG9nXCIgdHlwZT1cImRpYWxvZ1wiPlxyXG5cdFx0XHRcdDx1bmktcG9wdXAtZGlhbG9nIHJlZj1cImlucHV0Q2xvc2VcIiBtb2RlPVwiaW5wdXRcIiB0aXRsZT1cIuiuvue9rklQXCIgdi1tb2RlbD1cIklQXCJcclxuXHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5pyN5Yqh5ZmoSVBcIiBAY29uZmlybT1cImRpYWxvZ0lucHV0Q29uZmlybVwiPlxyXG5cdFx0XHRcdDwvdW5pLXBvcHVwLWRpYWxvZz5cdFxyXG5cdFx0XHQ8L3VuaS1wb3B1cD5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLXRvcDogMTBycHg7XCI+XHJcblx0XHRcdDx1bmktcG9wdXAgcmVmPVwic2VydmVyUG9ydFwiIHR5cGU9XCJkaWFsb2dcIj5cclxuXHRcdFx0XHQ8dW5pLXBvcHVwLWRpYWxvZyByZWY9XCJpbnB1dENsb3NlXCIgbW9kZT1cImlucHV0XCIgdGl0bGU9XCLorr7nva7nq6/lj6NcIiB2LW1vZGVsPVwiUE9SVFwiXHJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeacjeWKoeWZqOerr+WPo+WPt1wiIEBjb25maXJtPVwic2VydmVyUG9ydENvbmZpcm1cIj5cclxuXHRcdFx0XHQ8L3VuaS1wb3B1cC1kaWFsb2c+XHRcclxuXHRcdFx0PC91bmktcG9wdXA+XHJcblx0XHQ8L3ZpZXc+XHJcbiAgICA8L3ZpZXc+XHJcblxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHQvLyBpbXBvcnQgeyBBQ0NFU1NfVE9LRU4sVVNFUl9OQU1FLFVTRVJfSU5GTyB9IGZyb20gXCJAL2NvbW1vbi91dGlsL2NvbnN0YW50c1wiXHJcblx0aW1wb3J0IHsgbWFwQWN0aW9ucyB9IGZyb20gXCJ2dWV4XCJcclxuXHRpbXBvcnQgbWQ1IGZyb20gJy4uLy4uL2NvbW1vbi9tZDUuanMnXHJcbiAgICAvLyBpbXBvcnQgY29uZmlnU2VydmljZSBmcm9tICdAL2NvbW1vbi9zZXJ2aWNlL2NvbmZpZy5zZXJ2aWNlLmpzJztcclxuXHRcclxuICAgIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgICAgICBkYXRhKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG5cdFx0XHRcdHNoYXBlOicnLC8vcm91bmQg5ZyG5b2iXHJcblx0XHRcdFx0bG9hZGluZzogZmFsc2UsXHJcblx0XHRcdFx0cGhvbmVObzogJycsXHJcblx0XHRcdFx0c21zQ29kZTogJycsXHJcblx0XHRcdFx0c2hvd1Bhc3N3b3JkOiBmYWxzZSwgLy/mmK/lkKbmmL7npLrmmI7mlodcclxuXHRcdFx0XHRsb2dpbldheTogMSwgLy8xOiDotKblr4bvvIwy77ya6aqM6K+B56CBXHJcblx0XHRcdFx0c21zQ291bnREb3duOiAwLFxyXG5cdFx0XHRcdHNtc0NvdW50SW50ZXJ2YWw6IG51bGwsXHJcblx0XHRcdFx0dG9nZ2xlRGVsYXk6IGZhbHNlLFxyXG5cdFx0XHRcdHZlcnNpb246JycsXHJcblx0XHRcdFx0Ly/nrKzkuInmlrnnmbvlvZXnm7jlhbPkv6Hmga9cclxuXHRcdFx0XHR0aGlyZFR5cGU6XCJcIixcclxuXHRcdFx0XHR0aGlyZExvZ2luSW5mbzpcIlwiLFxyXG5cdFx0XHRcdHRoaXJkTG9naW5TdGF0ZTpmYWxzZSxcclxuXHRcdFx0XHRiaW5kaW5nUGhvbmVNb2RhbDpmYWxzZSxcclxuXHRcdFx0XHR0aGlyZFVzZXJVdWlkOicnLFxyXG5cdFx0XHRcdHVybDoge1xyXG5cdFx0XHRcdFx0YmluZGluZ1RoaXJkUGhvbmU6ICcvc3lzL3RoaXJkTG9naW4vYmluZGluZ1RoaXJkUGhvbmUnXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR0eXBlOicnLFxyXG5cdFx0XHRcdHVzZXJOYW1lOicnLFxyXG5cdFx0XHRcdHBhc3N3b3JkOicnLFxyXG5cdFx0XHRcdHJlbWJlcjp0cnVlLFxyXG5cdFx0XHRcdElQOicnLFxyXG5cdFx0XHRcdFBPUlQ6JzgwODAnLC8vIOm7mOiupOerr+WPo+WPt1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sXHJcblx0XHRtb3VudGVkKCkge1xyXG5cdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdC8v57yT5a2Y55qE6LSm5Y+3XHJcblx0XHRcdGNvbnN0IEhDdW5hbWUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ0hDdW5hbWUnKTtcclxuXHRcdFx0Ly/nvJPlrZjnmoTlr4bnoIFcclxuXHRcdFx0Y29uc3QgSENwYXNzdyA9IHVuaS5nZXRTdG9yYWdlU3luYygnSENwYXNzdycpO1xyXG5cdFx0XHQvL+aciee8k+WtmOWwsei1i+WAvOe7meaWh+acrOayoeacieWwsea4heepulxyXG5cdFx0XHRpZiAoSEN1bmFtZSAmJiBIQ3Bhc3N3KSB7XHJcblx0XHRcdCAgICB0aGF0LnVzZXJOYW1lID0gSEN1bmFtZTtcclxuXHRcdFx0ICAgIHRoYXQucGFzc3dvcmQgPSBIQ3Bhc3N3O1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHQgICAgdGhhdC51c2VyTmFtZSA9ICcnO1xyXG5cdFx0XHQgICAgdGhhdC5wYXNzd29yZCA9ICcnO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRjb25zdCBVSVAgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ1VJUCcpO1xyXG5cdFx0XHRpZiAoVUlQKSB7XHJcblx0XHRcdCAgICB0aGF0LklQID0gVUlQO1xyXG5cdFx0XHRcdHRoYXQuYmFzZUlQID0gVUlQO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHQgICAgdGhhdC5JUCA9ICcnO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRjb25zdCBVUE9SVCA9IHVuaS5nZXRTdG9yYWdlU3luYygnVVBPUlQnKTtcclxuXHRcdFx0aWYgKFVQT1JUKSB7XHJcblx0XHRcdCAgICB0aGF0LlBPUlQgPSBVUE9SVDtcclxuXHRcdFx0XHR0aGF0LmJhc2VQT1JUID0gVVBPUlQ7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdCAgICB0aGF0LlBPUlQgPSAnODA4MCc7XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQ6ZnVuY3Rpb24oKXtcclxuXHRcdFx0Ly8gI2lmZGVmIEFQUC1QTFVTXHJcblx0XHRcdHZhciB0aGF0PXRoaXNcclxuXHRcdFx0cGx1cy5ydW50aW1lLmdldFByb3BlcnR5KCBwbHVzLnJ1bnRpbWUuYXBwaWQsIGZ1bmN0aW9uICggd2d0aW5mbyApIHtcclxuXHRcdFx0XHR0aGF0LnZlcnNpb249d2d0aW5mby52ZXJzaW9uXHJcblx0XHRcdH0pO1xyXG5cdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0XHJcblx0XHR9LFxyXG5cdFx0Y29tcHV0ZWQ6IHtcclxuXHRcdCAgICAgIGlzU2VuZFNNU0VuYWJsZSgpIHtcclxuXHRcdCAgICAgICAgcmV0dXJuIHRoaXMuc21zQ291bnREb3duIDw9IDAgJiYgdGhpcy5waG9uZU5vLmxlbmd0aCA+IDQ7XHJcblx0XHQgICAgICB9LFxyXG5cdFx0ICAgICAgZ2V0U2VuZEJ0blRleHQoKSB7XHJcblx0XHQgICAgICAgIGlmICh0aGlzLnNtc0NvdW50RG93biA+IDApIHtcclxuXHRcdCAgICAgICAgICByZXR1cm4gdGhpcy5zbXNDb3VudERvd24gKyAn56eS5ZCO5Y+R6YCBJztcclxuXHRcdCAgICAgICAgfSBlbHNlIHtcclxuXHRcdCAgICAgICAgICByZXR1cm4gJ+WPkemAgemqjOivgeeggSc7XHJcblx0XHQgICAgICAgIH1cclxuXHRcdCAgICAgIH0sXHJcblx0XHQgICAgICBjYW5TTVNMb2dpbigpIHtcclxuXHRcdCAgICAgICAgcmV0dXJuIHRoaXMudXNlck5hbWUubGVuZ3RoID4gNCAmJiB0aGlzLnNtc0NvZGUubGVuZ3RoID4gNDtcclxuXHRcdCAgICAgIH0sXHJcblx0XHQgICAgICBjYW5Qd2RMb2dpbigpIHtcclxuXHRcdCAgICAgICAgcmV0dXJuIHRoaXMudXNlck5hbWUubGVuZ3RoID4gNCAmJiB0aGlzLnBhc3N3b3JkLmxlbmd0aCA+IDQ7XHJcblx0XHQgICAgICB9LFxyXG5cdFx0fSxcclxuICAgICAgICBtZXRob2RzOiB7XHJcblx0XHRcdC8vIOmFjee9riBVUkwgUE9SVCDpobnnm64oamt3bXMpXHJcblx0XHRcdGNvbmZpZygpIHtcclxuXHRcdFx0XHR0aGlzLiRyZWZzLnBvcHVwLm9wZW4oXCJjZW50ZXJcIilcclxuXHRcdFx0fSxcclxuXHRcdFx0bG9uZ3ByZXNzSW1nKCkgeyAvLyDplb/mjInlm77niYdcclxuXHRcdFx0XHR0aGlzLiRyZWZzLnNlcnZlclBvcnQub3BlbigpXHJcblx0XHRcdH0sXHJcblx0XHRcdHNlcnZlclBvcnRDb25maXJtKHR5cGUpIHtcclxuXHRcdFx0XHR0aGlzLmJhc2VQT1JUID0gdHlwZVxyXG5cdFx0XHRcdC8vIOWtmOWFpeacrOWcsOe8k+WtmFxyXG5cdFx0XHRcdHRoaXMuUE9SVCA9IHR5cGVcclxuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ1VQT1JUJyx0aGlzLmJhc2VQT1JUKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaGFuZ2VJUCgpe1xyXG5cdFx0XHRcdHRoaXMuJHJlZnMuaW5wdXREaWFsb2cub3BlbigpXHJcblx0XHRcdH0sXHJcblx0XHRcdGRpYWxvZ0lucHV0Q29uZmlybSh0eXBlKXtcclxuXHRcdFx0XHR0aGlzLmJhc2VJUCA9IHR5cGVcclxuXHRcdFx0XHQvLyDlrZjlhaXmnKzlnLDnvJPlrZhcclxuXHRcdFx0XHR0aGlzLklQID0gdHlwZTtcclxuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ1VJUCcsdGhpcy5iYXNlSVApXHJcblx0XHRcdH0sXHJcblx0XHRcdGNoZWNrYm94Q2hhbmdlOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdCAgICBpZiAoZS5kZXRhaWwudmFsdWUubGVuZ3RoID09IDEpIHtcclxuXHRcdFx0XHJcblx0XHRcdCAgICAgICAgLy/ojrflj5bnvJPlrZjnmoTotKblj7dcclxuXHRcdFx0ICAgICAgICAgdW5pLmdldFN0b3JhZ2VTeW5jKCdIQ3VuYW1lJyx0aGlzLnVzZXJOYW1lKTtcclxuXHRcdFx0ICAgICAgICAgdW5pLmdldFN0b3JhZ2VTeW5jKCdIQ3Bhc3N3Jyx0aGlzLnBhc3N3b3JkKTtcclxuXHRcdFx0ICAgIH0gZWxzZSB7XHJcblx0XHRcdCAgICAgICAgICB1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ0hDdW5hbWUnKTtcclxuXHRcdFx0ICAgICAgICAgIHVuaS5yZW1vdmVTdG9yYWdlU3luYygnSENwYXNzdycpOyAgICAgICAgICAgICAgXHJcblx0XHRcdCAgICB9XHJcblx0XHRcdH0sXHJcblx0XHRcdG9uTG9naW46IGZ1bmN0aW9uICgpe1xyXG5cdFx0XHRcdGlmKCF0aGlzLnVzZXJOYW1lIHx8IHRoaXMudXNlck5hbWUubGVuZ3RoPT0wKXtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiAn6K+35aGr5YaZ6LSm5Y+3JyxpY29uOiBcIm5vbmVcIn0pXHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmKCF0aGlzLnBhc3N3b3JkIHx8IHRoaXMucGFzc3dvcmQubGVuZ3RoPT0wKXtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiAn6K+35aGr5YaZ5a+G56CBJyxpY29uOiBcIm5vbmVcIn0pXHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmKHRoaXMuYmFzZUlQID09IHVuZGVmaW5lZCB8fCB0aGlzLmJhc2VJUCA9PSAnJyApIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTon6K+35YWI6K6+572uSVAnLFxyXG5cdFx0XHRcdFx0XHRpY29uOidub25lJ1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYodGhpcy5iYXNlUE9SVCA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTon6ZW/5oyJ5Zu+54mH6L6T5YWl56uv5Y+j5Y+3JyxcclxuXHRcdFx0XHRcdFx0aWNvbjonbm9uZSdcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZygpO1xyXG5cdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKXtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn55m75b2V6LaF5pe2JyxcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246ICdib3R0b20nLFxyXG5cdFx0XHRcdFx0XHRkdXJhdGlvbjogMTAwMFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSw2MDAwKVxyXG5cdFx0XHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdFx0XHQgICAgdXJsOiB0aGlzLmJhc2VIdHRwICsgdGhpcy5iYXNlSVAgKyAnOicgK3RoaXMuYmFzZVBPUlQgKyB0aGlzLmJhc2VVcmwgKyAnL2xvZ2luLmFjdGlvbicsXHJcblx0XHRcdFx0ICAgIGRhdGE6IHtcclxuXHRcdFx0XHQgICAgICB1c2VybmFtZTp0aGlzLnVzZXJOYW1lLFxyXG5cdFx0XHRcdCAgICAgIHBhc3N3b3JkOm1kNS5oZXhfbWQ1KHRoaXMucGFzc3dvcmQpIFxyXG5cdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdCAgICBoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0XCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCJcclxuXHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHQgICAgc3VjY2VzczogKHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRsZXQgcmVzID0gcmVzdWx0LmRhdGE7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+eZu+W9leaIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogJ2JvdHRvbScsXHJcblx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMTAwMFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdGlmKHRoaXMucmVtYmVyKXtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnSEN1bmFtZScsIHRoaXMudXNlck5hbWUpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdIQ3Bhc3N3JywgdGhpcy5wYXNzd29yZCk7XHJcblx0XHRcdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ0hDdW5hbWUnKTtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5yZW1vdmVTdG9yYWdlU3luYygnSENwYXNzdycpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ3Rva2VuJywgcmVzLmRhdGEudG9rZW4pO1xyXG5cdFx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjaygpO1x0XHQvLyAgIOWwj+eoi+W6j+eUqOi/meS4qiAg5oqK6aaW6aG16Lev55Sx5pS+56ys5LiA5LiqXHJcblx0XHRcdFx0XHRcdFx0XHR1bmkucmVMYXVuY2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcuLi9pbmRleC9pbmRleCdcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IHJlcy5tc2csXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiAndG9wJ1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0c2F2ZUNsaWVudElkKCl7XHJcblx0XHRcdFx0dmFyIGluZm8gPSBwbHVzLnB1c2guZ2V0Q2xpZW50SW5mbygpO1xyXG5cdFx0XHRcdHZhciBjaWQgPSBpbmZvLmNsaWVudGlkO1xyXG5cdFx0XHRcdHRoaXMuJGh0dHAuZ2V0KFwiL3N5cy91c2VyL3NhdmVDbGllbnRJZFwiLHtwYXJhbXM6e2NsaWVudElkOmNpZH19KS50aGVuKHJlcz0+e1xyXG5cdFx0XHRcdFx0dGhpcy4kdGlwLnN1Y2Nlc3MoJ+eZu+W9leaIkOWKnyEnKVxyXG5cdFx0XHRcdFx0dGhpcy4kUm91dGVyLnJlcGxhY2VBbGwoe25hbWU6J2luZGV4J30pXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hhbmdlUGFzc3dvcmQoKSB7XHJcblx0XHRcdFx0dGhpcy5zaG93UGFzc3dvcmQgPSAhdGhpcy5zaG93UGFzc3dvcmQ7XHJcblx0XHRcdH0sXHJcblx0XHRcdGxvZ2luU3VjY2VzcygpIHtcclxuXHRcdFx0ICAvLyDnmbvpmYbmiJDlip/vvIzph43lrprlkJHliLDkuLvpobVcclxuXHRcdFx0ICB0aGlzLiRSb3V0ZXIucmVwbGFjZSh7bmFtZTonaW5kZXgnfSlcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVxdWVzdEZhaWxlZChlcnIpIHtcclxuXHRcdFx0ICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoXCLnmbvlvZXlpLHotKVcIilcclxuXHRcdFx0fSxcclxuICAgICAgICB9LFxyXG5cdFx0YmVmb3JlRGVzdHJveSgpIHtcclxuXHRcdCAgICBpZiAodGhpcy5zbXNDb3VudEludGVydmFsKSB7XHJcblx0XHQgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5zbXNDb3VudEludGVydmFsKTtcclxuXHRcdCAgICB9XHJcblx0XHR9LFxyXG5cdFx0XHJcblx0XHRcclxuICAgIH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0QGltcG9ydCBcIi4uLy4uL2NvbG9ydWkvbWFpbi5jc3NcIjtcclxuXHRAaW1wb3J0IFwiLi4vLi4vY29sb3J1aS9pY29uLmNzc1wiO1xyXG5cdEBpbXBvcnQgXCIuLi8uLi9jb2xvcnVpL2FuaW1hdGlvbi5jc3NcIjtcclxuXHRcclxuXHQuY29uZmlnIHtcclxuXHRcdHdpZHRoOiA1MDBycHg7XHJcblx0XHRoZWlnaHQ6IDUwMHJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0fVxyXG4gICAgLmxvZ2luLXBhZGRpbmd0b3Age1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHVweDtcclxuICAgIH1cclxuXHJcbiAgICAuemFpLWJveCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHVweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTAwdXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAuemFpLWxvZ28ge1xyXG4gICAgICAgIHdpZHRoOiA2MDB1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuemFpLXRpdGxlIHtcclxuICAgICAgIGZvbnQtc2l6ZTogNTh1cHg7XHJcbiAgICAgICBjb2xvcjogIzAwMDAwMDtcclxuICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuaW5wdXQtcGxhY2Vob2xkZXIsIC56YWktaW5wdXQge1xyXG4gICAgICAgIGNvbG9yOiAjOTRhZmNlO1xyXG4gICAgfVxyXG5cclxuICAgIC56YWktbGFiZWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDYwdXB4IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzB1cHg7XHJcbiAgICAgICAgY29sb3I6ICNhN2I2ZDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnphaS1idG4ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZjY1YTM7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHVweDtcclxuICAgICAgICBmb250LXNpemU6IDM2dXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC56YWktYnRuOmFmdGVyIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLyrmjInpkq7ngrnlh7vmlYjmnpwqL1xyXG4gICAgLnphaS1idG4uYnV0dG9uLWhvdmVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxdXB4LCAxdXB4KTtcclxuICAgIH1cclxuXHQuY2hhbmdlQm94IHtcclxuXHRcdG1hcmdpbi10b3A6IDIwdXB4O1xyXG5cdH1cclxuXHQucmVtYmVyIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR9XHJcblx0LmNoYW5nZUlQIHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTV1cHg7XHJcblx0fVxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///33\n");
 
 /***/ }),
 /* 34 */
@@ -5402,7 +5420,7 @@
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/common/permission.js */ 78));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = { data: function data() {return { commonUrl: null, barcode: '', barcodeFocus: true, focus: false, type: 'center', searchBox: 'hide', pick: 'hide', matnrId: '', // matList:[{matnr:'1101842-10000',batch:'22047515999'}],\n      matList: [], result: '', listLen: 0, msgType: 'success', messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�', origins: [{ value: '1288' }, { value: '5055' }], origin: null, // 浠撳簱\n      current: 0 };}, mounted: function mounted() {var UIP = uni.getStorageSync('UIP');this.baseIP = UIP;var UPORT = uni.getStorageSync('UPORT');this.basePORT = UPORT;this.getUrl();}, onLoad: function onLoad() {setInterval(function () {// uni.hideKeyboard()\n    }, 20);}, methods: { // 鑾峰彇url\n    getUrl: function getUrl() {this.commonUrl = this.baseHttp + this.baseIP + ':' + this.basePORT + this.baseUrl;}, radioChange: function radioChange(evt) {for (var i = 0; i < this.origins.length; i++) {if (this.origins[i].value === evt.detail.value) {this.current = i;break;}}}, // 纭鍑哄簱鍙n    check: function check() {var that = this;if (this.current == 0) {this.origin = 1288;} else {this.origin = 5055;}this.$refs.checkOrigin.close();uni.request({ url: that.commonUrl + '/mobile/comb/auth', data: JSON.stringify({ barcode: that.barcode, origin: that.origin, combMats: that.matList }), method: 'POST', header: { 'token': uni.getStorageSync('token') }, success: function success(result) {uni.showLoading();var res = result.data;if (res.code === 200) {uni.showToast({ title: res.msg, position: 'bottom', duration: 1000 });that.barcode = '';that.matList = '';that.matList = [];that.barcodeFocuss();} else if (res.code == 403) {uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });setTimeout(function () {uni.reLaunch({ url: '../login/login' });}, 1000);} else {uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });}} });}, nextInput: function nextInput() {if (this.barcode.length == 8) {\n        this.foucss();\n      }\n    },\n    empty: function empty() {\n      return this.inputValue = '';\n    },\n    barcodeFocuss: function barcodeFocuss() {\n\n      var that = this;\n      that.barcodeFocus = false;\n      setTimeout(function () {\n        that.matnrId = '';\n        that.barcodeFocus = true;\n      }, 100);\n\n\n    },\n    foucss: function foucss() {\n\n      var that = this;\n      that.focus = false;\n      setTimeout(function () {\n        that.matnrId = '';\n        that.focus = true;\n      }, 100);\n\n    },\n    clear: function clear() {\n      this.matnrId = '';\n    },\n    messageToggle: function messageToggle(type) {\n      this.msgType = type;\n      this.messageText = \"\\u8FD9\\u662F\\u4E00\\u6761\".concat(type, \"\\u6D88\\u606F\\u63D0\\u793A\");\n      this.$refs.message.open();\n    },\n    resst: function resst() {\n      this.matnrId = '';\n      this.matList = [];\n      this.barcode = '';\n      this.barcodeFocuss();\n    },\n    removeBarcode: function removeBarcode() {\n      this.barcode = '';\n      this.barcodeFocus = false;\n      this.$nextTick(function () {\n        this.barcodeFocus = true;\n      });\n    },\n    remove: function remove(item, index) {\n      this.matnrId = '';\n      this.matList.splice(index, 1);\n      this.listLen = this.matList.length;\n      this.messageToggle('success');\n      this.messageText = '鍒犻櫎鎴愬姛';\n    },\n    comb: function comb() {\n      var that = this;\n      if (that.barcode === '') {\n        uni.showToast({ title: '璇锋壂鎻忔墭鐩樻潯鐮�', icon: \"none\", position: 'top' });\n        return;\n      }\n      if (that.matList.length === 0) {\n        uni.showToast({ title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: \"none\", position: 'top' });\n        return;\n      }\n      // uni.showLoading();\n      that.$refs.checkOrigin.open();\n\n    },\n    // 杈撳叆鐨勪笉鏄暟瀛楃殑鎺掗櫎\n    checkNum: function checkNum(theObj) {\n      var reg = /^[0-9]*$/;\n      if (!reg.test(theObj)) {\n        this.messageToggle('warn');\n        this.messageText = '鍟嗗搧缂栫爜鏈夎锛岃閲嶈瘯';\n        this.foucss();\n        return;\n      }\n    },\n    // 娣诲姞鎵弿鏃ュ織\n    addLog: function addLog(matCode, userName) {\n      var that = this;\n      uni.request({\n        url: that.commonUrl + \"/mobile/addLog/auth\",\n        data: {\n          matcode: matCode,\n          username: userName },\n\n        header: {\n          'token': uni.getStorageSync('token') },\n\n        // method:\"POST\",\n        success: function success(result) {\n        } });\n\n\n    },\n    // 妫�绱㈠晢鍝乗n    findMat: function findMat() {\n      var that = this;\n      var userName = uni.getStorageSync('HCuname');\n      var matCode = that.matnrId;\n      // 寮�鍚壂鎻忔棩蹇梊n      that.addLog(matCode, userName);\n      that.foucss();\n      return;\n      if (that.matnrId.length > 25) {\n        that.messageToggle('warn');\n        that.messageText = '鍟嗗搧缂栫爜瓒呴暱锛岃閲嶈瘯';\n        that.foucss();\n        return;\n      }\n      var str = that.matnrId.split('-');\n      var matnr = str[0] + '-' + str[1];\n      // 妫�鏌ユ潯鐮佷腑闈炴暟瀛梊n      that.checkNum(str[2]);\n      for (var k = 0; k < that.matList.length; k++) {\n        if (that.matList[k].matnr != matnr) {\n          that.messageToggle('warn');\n          that.messageText = '鍟嗗搧绉嶇被涓嶄竴鑷达紝璇烽噸璇曪紒';\n          that.foucss();\n          return;\n        }\n      }\n\n\n      // return;\n      // uni.showLoading();\n      uni.request({\n        url: that.commonUrl + '/mat/auth',\n        data: {\n          matnr: matnr },\n\n        header: {\n          'token': uni.getStorageSync('token') },\n\n        success: function success(result) {\n          uni.hideLoading();\n          // uni.vibrateShort();\n          var res = result.data;\n          if (res.code === 200 && res.data) {\n            var add = true;\n            var mat = res.data;\n            mat['batch'] = str[2];\n            mat['anfme'] = 1;\n            for (var i = 0; i < that.matList.length; i++) {\n              if (that.matList[i].batch == str[2]) {\n                that.messageToggle('warn');\n                that.messageText = '閲嶅鎵弿';\n                that.foucss();\n                add = false;\n              }\n            }\n            if (add) {\n              that.messageToggle('success');\n              that.messageText = '妫�绱㈡垚鍔�';\n              that.matList.unshift(res.data);\n              that.foucss();\n            }\n            that.listLen = that.matList.length;\n          } else if (res.code == 403) {\n            that.messageToggle('error');\n            that.messageText = res.msg;\n            setTimeout(function () {\n              uni.reLaunch({\n                url: '../login/login' });\n\n            }, 1000);\n            uni.hideLoading();\n          } else {\n            that.messageToggle('error');\n            that.messageText = res.msg;\n            uni.hideLoading();\n            // uni.showToast({title: res.msg, icon: \"none\",position: 'top'})\n          }\n        } });\n\n\n    },\n\n    change: function change(e) {\n      __f__(\"log\", '褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show, \" at pages/basics/outPakin.vue:373\");\n    } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYmFzaWNzL291dFBha2luLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2RkEsZ0c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBQ0EsRUFDQSxJQURBLGtCQUNBLENBQ0EsU0FDQSxlQURBLEVBRUEsV0FGQSxFQUdBLGtCQUhBLEVBSUEsWUFKQSxFQUtBLGNBTEEsRUFNQSxpQkFOQSxFQU9BLFlBUEEsRUFRQSxXQVJBLEVBU0E7QUFDQSxpQkFWQSxFQVdBLFVBWEEsRUFZQSxVQVpBLEVBYUEsa0JBYkEsRUFjQSx1QkFkQSxFQWVBLCtDQWZBLEVBZ0JBLFlBaEJBLEVBZ0JBO0FBQ0EsZ0JBakJBLEdBbUJBLENBckJBLEVBc0JBLE9BdEJBLHFCQXNCQSxDQUNBLG9DQUNBLGtCQUNBLHdDQUNBLHNCQUNBLGNBQ0EsQ0E1QkEsRUE2QkEsTUE3QkEsb0JBNkJBLENBRUEseUJBQ0E7QUFDQSxLQUZBLEVBRUEsRUFGQSxFQUlBLENBbkNBLEVBb0NBLFdBQ0E7QUFDQSxVQUZBLG9CQUVBLENBQ0Esa0ZBQ0EsQ0FKQSxFQUtBLFdBTEEsdUJBS0EsR0FMQSxFQUtBLENBQ0EsK0NBQ0EsaURBQ0EsaUJBQ0EsTUFDQSxDQUNBLENBQ0EsQ0FaQSxFQWFBO0FBQ0EsU0FkQSxtQkFjQSxDQUNBLGdCQUNBLHdCQUNBLG1CQUNBLENBRkEsTUFFQSxDQUNBLG1CQUNBLENBQ0EsK0JBQ0EsY0FDQSx5Q0FEQSxFQUVBLHVCQUNBLHFCQURBLEVBRUEsbUJBRkEsRUFHQSxzQkFIQSxHQUZBLEVBT0EsY0FQQSxFQVFBLFVBQ0Esb0NBREEsRUFSQSxFQVdBLE9BWEEsbUJBV0EsTUFYQSxFQVdBLENBQ0Esa0JBQ0Esc0JBQ0EsdUJBQ0EsZ0JBQ0EsY0FEQSxFQUVBLGtCQUZBLEVBR0EsY0FIQSxJQUtBLGtCQUNBLGtCQUNBLGtCQUNBLHFCQUNBLENBVkEsTUFVQSxzQkFDQSxpRUFDQSx3QkFDQSxlQUNBLHFCQURBLElBR0EsQ0FKQSxFQUlBLElBSkEsRUFLQSxDQVBBLE1BT0EsQ0FDQSxpRUFDQSxDQUNBLENBbENBLElBb0NBLENBMURBLEVBMkRBLFNBM0RBLHVCQTJEQSxDQUNBO0FBQ0E7QUFDQTtBQUNBLEtBL0RBO0FBZ0VBLFNBaEVBLG1CQWdFQTtBQUNBO0FBQ0EsS0FsRUE7QUFtRUEsaUJBbkVBLDJCQW1FQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FIQSxFQUdBLEdBSEE7OztBQU1BLEtBN0VBO0FBOEVBLFVBOUVBLG9CQThFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FIQSxFQUdBLEdBSEE7O0FBS0EsS0F2RkE7QUF3RkEsU0F4RkEsbUJBd0ZBO0FBQ0E7QUFDQSxLQTFGQTtBQTJGQSxpQkEzRkEseUJBMkZBLElBM0ZBLEVBMkZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0EvRkE7QUFnR0EsU0FoR0EsbUJBZ0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXJHQTtBQXNHQSxpQkF0R0EsMkJBc0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUZBO0FBR0EsS0E1R0E7QUE2R0EsVUE3R0Esa0JBNkdBLElBN0dBLEVBNkdBLEtBN0dBLEVBNkdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBbkhBO0FBb0hBLFFBcEhBLGtCQW9IQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsS0FqSUE7QUFrSUE7QUFDQSxZQW5JQSxvQkFtSUEsTUFuSUEsRUFtSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBM0lBO0FBNElBO0FBQ0EsVUE3SUEsa0JBNklBLE9BN0lBLEVBNklBLFFBN0lBLEVBNklBO0FBQ0E7QUFDQTtBQUNBLG1EQURBO0FBRUE7QUFDQSwwQkFEQTtBQUVBLDRCQUZBLEVBRkE7O0FBTUE7QUFDQSw4Q0FEQSxFQU5BOztBQVNBO0FBQ0EsZUFWQSxtQkFVQSxNQVZBLEVBVUE7QUFDQSxTQVhBOzs7QUFjQSxLQTdKQTtBQThKQTtBQUNBLFdBL0pBLHFCQStKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSx5Q0FEQTtBQUVBO0FBQ0Esc0JBREEsRUFGQTs7QUFLQTtBQUNBLDhDQURBLEVBTEE7O0FBUUEsZUFSQSxtQkFRQSxNQVJBLEVBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FwQkEsTUFvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQURBOztBQUdBLGFBSkEsRUFJQSxJQUpBO0FBS0E7QUFDQSxXQVRBLE1BU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0EvQ0E7OztBQWtEQSxLQS9PQTs7QUFpUEEsVUFqUEEsa0JBaVBBLENBalBBLEVBaVBBO0FBQ0E7QUFDQSxLQW5QQSxFQXBDQSxFIiwiZmlsZSI6Ijc3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3ID5cclxuXHRcdDxzY3JvbGwtdmlldyBzY3JvbGwteSBjYXRjaDp0b3VjaG1vdmU9XCJ0b3VjaG1vdmVcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtMlwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLXRpdGxlXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLXNpZ25cIj48dmlldyBjbGFzcz1cInNpZ25cIj48L3ZpZXc+PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZS10ZXh0XCI+PHRleHQ+5omY55uY5p2h56CBPC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50LWlucHV0XCI+XHJcblx0XHRcdFx0XHRcdDxpbnB1dCByZWFkb25seT1cInZhbHVlXCIgdi1tb2RlbD1cImJhcmNvZGVcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwi5omr56CBIC8g6L6T5YWlXCIgbWF4bGVuZ3RoPVwiOFwiXHJcblx0XHRcdFx0XHRcdDpmb2N1cz1cImJhcmNvZGVGb2N1c1wiIEBpbnB1dD1cIm5leHRJbnB1dFwiPlxyXG5cdFx0XHRcdFx0XHQ8dW5pLWljb25zIHR5cGU9XCJjbG9zZWVtcHR5XCIgc2l6ZT1cIjIwXCIgY29sb3I9XCIjZGFkYWRhXCIgQGNsaWNrPVwicmVtb3ZlQmFyY29kZSgpXCI+PC91bmktaWNvbnM+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLTJcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS10aXRsZVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZS1zaWduXCI+PHZpZXcgY2xhc3M9XCJzaWduXCI+PC92aWV3Pjwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtdGV4dFwiPjx0ZXh0PuajgOe0ouWVhuWTgTwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLWNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY29udGVudC1pbnB1dFwiPlxyXG5cdFx0XHRcdFx0XHQ8aW5wdXQgdi1tb2RlbD1cIm1hdG5ySWRcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwi5omr56CBIC8g6L6T5YWlXCIgQGlucHV0PVwiZmluZE1hdCgpXCJcclxuXHRcdFx0XHRcdFx0OmZvY3VzPVwiZm9jdXNcIkBmb2N1cz1cImVtcHR5KClcIj5cclxuXHRcdFx0XHRcdFx0IDwhLS0gOmZvY3VzPVwiZm9jdXNcIiBAYmx1cj1cImNsZWFyIFwiPiAtLT5cclxuXHRcdFx0XHRcdFx0PCEtLSBAZm9jdXM9XCJmb2N1c3NcIiAtLT5cclxuXHRcdFx0XHRcdFx0PHVuaS1pY29ucyB0eXBlPVwiY2xvc2VlbXB0eVwiIHNpemU9XCIyMFwiIGNvbG9yPVwiI2RhZGFkYVwiIEBjbGljaz1cImZvdWNzcygpXCI+PC91bmktaWNvbnM+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLTFcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS10aXRsZVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZS1zaWduXCI+PHZpZXcgY2xhc3M9XCJzaWduXCI+PC92aWV3Pjwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtdGV4dFwiPjx0ZXh0PuWVhuWTgeWIl+ihqDwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLW5vbmVcIiAgdi1zaG93PVwibWF0TGlzdC5sZW5ndGggPT09IDBcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInYtc2hvd1wiPuaaguaXoOabtOWkmuaVsOaNri4uLjwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8Y2hlY2tib3gtZ3JvdXAgPlxyXG5cdFx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIG1hdExpc3RcIiA6a2V5PVwiaW5kZXhcIiBjbGFzcz1cImRhdGEtbGlzdCBiZy1mYWxzZVwiIDpjbGFzcz1cIidiZy0nK2l0ZW0uY2hlY2tlZFwiID5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZGF0YS1saXN0LWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtYXRuclwiPk5vOnt7bGlzdExlbi1pbmRleH19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1hdG5yXCI+e3tpdGVtLm1hdG5yfX0te3tpdGVtLmJhdGNofX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRhdGEtbGlzdC1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHQ8dW5pLWljb25zIHR5cGU9XCJ0cmFzaFwiIHNpemU9XCIyMFwiIGNvbG9yPVwiI2E1YTVhNVwiIEBjbGljaz1cInJlbW92ZShpdGVtLGluZGV4KVwiPjwvdW5pLWljb25zPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC9jaGVja2JveC1ncm91cD5cclxuXHRcdDwvc2Nyb2xsLXZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cImZvb3RlciBmbGV4IGp1c3RpZnktYXJvdW5kXCI+XHJcblx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdDxidXR0b24gY2xhc3M9XCJjdS1idG4gbGdcIiBAY2xpY2s9XCJyZXNzdCgpXCI+6YeN572uPC9idXR0b24+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cImN1LWJ0biBsZyBwYWtpbi1idG4gYmctYmx1ZVwiIEBjbGljaz1cImNvbWIoKVwiPue7hOaJmDwvYnV0dG9uPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldz5cclxuXHRcdFx0PCEtLSDmj5DnpLrkv6Hmga/lvLnnqpcgLS0+XHJcblx0XHRcdDx1bmktcG9wdXAgcmVmPVwibWVzc2FnZVwiIHR5cGU9XCJtZXNzYWdlXCI+XHJcblx0XHRcdFx0PHVuaS1wb3B1cC1tZXNzYWdlIDp0eXBlPVwibXNnVHlwZVwiIDptZXNzYWdlPVwibWVzc2FnZVRleHRcIiA6ZHVyYXRpb249XCIyMDAwXCI+PC91bmktcG9wdXAtbWVzc2FnZT5cclxuXHRcdFx0PC91bmktcG9wdXA+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOehruiupOS7k+W6k+W8ueeqlyAtLT5cclxuXHRcdDx2aWV3PlxyXG5cdFx0XHQ8dW5pLXBvcHVwIHJlZj1cImNoZWNrT3JpZ2luXCIgdHlwZT1cImNlbnRlclwiIGJhY2tncm91bmRDb2xvcj1cIiNmZmZcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yaWdpbi1ib3hcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLXRpdGxlXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtc2lnblwiPjx2aWV3IGNsYXNzPVwic2lnblwiPjwvdmlldz48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtdGV4dFwiPjx0ZXh0PuehruiupOS7k+W6kzwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcblx0XHRcdFx0XHRcdDxyYWRpby1ncm91cCBAY2hhbmdlPVwicmFkaW9DaGFuZ2VcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrO1wiPlxyXG5cdFx0XHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cInJhZGlvXCIgdi1mb3I9XCIob3JpZ2luLCBpbmRleCkgaW4gb3JpZ2luc1wiIDprZXk9XCJvcmlnaW5zLnZhbHVlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8cmFkaW8gc3R5bGU9XCJ0cmFuc2Zvcm06c2NhbGUoMC43KVwiIDp2YWx1ZT1cIm9yaWdpbi52YWx1ZVwiIDpjaGVja2VkPVwiaW5kZXggPT09IGN1cnJlbnRcIiAvPnt7b3JpZ2luLnZhbHVlfX1cclxuXHRcdFx0XHRcdFx0XHQ8L2xhYmVsPlxyXG5cdFx0XHRcdFx0XHQ8L3JhZGlvLWdyb3VwPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBvcC1idG4gZmxleCAganVzdGlmeS1hcm91bmRcIj5cclxuXHRcdFx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cImN1LWJ0biBiZy1ibHVlIGxnXCIgQGNsaWNrPVwiY2hlY2soKVwiPuehruiupDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC91bmktcG9wdXA+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgcGVybWlzaW9uIGZyb20gXCJAL2NvbW1vbi9wZXJtaXNzaW9uLmpzXCJcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGNvbW1vblVybDpudWxsLFxyXG5cdFx0XHRcdGJhcmNvZGU6ICcnLFxyXG5cdFx0XHRcdGJhcmNvZGVGb2N1czp0cnVlLFxyXG5cdFx0XHRcdGZvY3VzOmZhbHNlLFxyXG5cdFx0XHRcdHR5cGU6ICdjZW50ZXInLFxyXG5cdFx0XHRcdHNlYXJjaEJveDogJ2hpZGUnLFxyXG5cdFx0XHRcdHBpY2s6J2hpZGUnLFxyXG5cdFx0XHRcdG1hdG5ySWQ6JycsXHJcblx0XHRcdFx0Ly8gbWF0TGlzdDpbe21hdG5yOicxMTAxODQyLTEwMDAwJyxiYXRjaDonMjIwNDc1MTU5OTknfV0sXHJcblx0XHRcdFx0bWF0TGlzdDpbXSxcclxuXHRcdFx0XHRyZXN1bHQ6ICcnLFxyXG5cdFx0XHRcdGxpc3RMZW46MCxcclxuXHRcdFx0XHRtc2dUeXBlOiAnc3VjY2VzcycsXHJcblx0XHRcdFx0bWVzc2FnZVRleHQ6ICfov5nmmK/kuIDmnaHmiJDlip/mj5DnpLonLFxyXG5cdFx0XHRcdG9yaWdpbnM6IFt7dmFsdWU6JzEyODgnfSx7dmFsdWU6JzUwNTUnfV0sXHJcblx0XHRcdFx0b3JpZ2luOiBudWxsLCAvLyDku5PlupNcclxuXHRcdFx0XHRjdXJyZW50OiAwXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRtb3VudGVkKCl7XHJcblx0XHRcdGNvbnN0IFVJUCA9IHVuaS5nZXRTdG9yYWdlU3luYygnVUlQJyk7XHJcblx0XHRcdHRoaXMuYmFzZUlQID0gVUlQO1xyXG5cdFx0XHRjb25zdCBVUE9SVCA9IHVuaS5nZXRTdG9yYWdlU3luYygnVVBPUlQnKTtcclxuXHRcdFx0dGhpcy5iYXNlUE9SVCA9IFVQT1JUXHJcblx0XHRcdHRoaXMuZ2V0VXJsKClcclxuXHRcdH0sXHJcblx0XHRvbkxvYWQoKSB7XHJcblx0XHRcdC8vICNpZmRlZiBBUFBcclxuXHRcdFx0c2V0SW50ZXJ2YWwoKCk9PntcclxuXHRcdFx0XHQvLyB1bmkuaGlkZUtleWJvYXJkKClcclxuXHRcdFx0fSwyMClcclxuXHRcdFx0Ly8gI2VuZGlmXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQvLyDojrflj5Z1cmxcclxuXHRcdFx0Z2V0VXJsKCkge1xyXG5cdFx0XHRcdHRoaXMuY29tbW9uVXJsID0gdGhpcy5iYXNlSHR0cCArIHRoaXMuYmFzZUlQICsgJzonICt0aGlzLmJhc2VQT1JUICsgdGhpcy5iYXNlVXJsXHJcblx0XHRcdH0sXHJcblx0XHRcdHJhZGlvQ2hhbmdlKGV2dCkge1xyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5vcmlnaW5zLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5vcmlnaW5zW2ldLnZhbHVlID09PSBldnQuZGV0YWlsLnZhbHVlKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuY3VycmVudCA9IGk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g56Gu6K6k5Ye65bqT5Y+jXHJcblx0XHRcdGNoZWNrKCkge1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpc1xyXG5cdFx0XHRcdGlmICh0aGlzLmN1cnJlbnQgPT0gMCkge1xyXG5cdFx0XHRcdFx0dGhpcy5vcmlnaW4gPSAxMjg4XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMub3JpZ2luID0gNTA1NVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLiRyZWZzLmNoZWNrT3JpZ2luLmNsb3NlKClcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0ICAgIHVybDogdGhhdC5jb21tb25VcmwgKyAnL21vYmlsZS9jb21iL2F1dGgnLFxyXG5cdFx0XHRcdCAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7XHJcblx0XHRcdFx0XHRcdGJhcmNvZGU6IHRoYXQuYmFyY29kZSxcclxuXHRcdFx0XHRcdFx0b3JpZ2luOiB0aGF0Lm9yaWdpbixcclxuXHRcdFx0XHRcdFx0Y29tYk1hdHM6IHRoYXQubWF0TGlzdFxyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdQT1NUJyxcclxuXHRcdFx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCd0b2tlbic6dW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpXHJcblx0XHRcdFx0ICAgIH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzKHJlc3VsdCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0dmFyIHJlcyA9IHJlc3VsdC5kYXRhXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogcmVzLm1zZyxcclxuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiAnYm90dG9tJyxcclxuXHRcdFx0XHRcdFx0XHRcdGR1cmF0aW9uOiAxMDAwXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5iYXJjb2RlID0gJyc7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5tYXRMaXN0ID0gJyc7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5tYXRMaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5iYXJjb2RlRm9jdXNzKCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocmVzLmNvZGUgPT0gNDAzKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7dGl0bGU6IHJlcy5tc2csIGljb246IFwibm9uZVwiLCBwb3NpdGlvbjogJ3RvcCd9KVxyXG5cdFx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnJlTGF1bmNoKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dXJsOiAnLi4vbG9naW4vbG9naW4nXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxMDAwKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHt0aXRsZTogcmVzLm1zZywgaWNvbjogXCJub25lXCIscG9zaXRpb246ICd0b3AnfSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRuZXh0SW5wdXQoKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMuYmFyY29kZS5sZW5ndGggPT0gOCkge1xyXG5cdFx0XHRcdFx0dGhpcy5mb3Vjc3MoKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0ZW1wdHkoKSB7XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuaW5wdXRWYWx1ZT0nJztcclxuXHRcdFx0fSxcclxuXHRcdFx0YmFyY29kZUZvY3VzcygpIHtcclxuXHRcdFx0XHQvLyAjaWZkZWYgQVBQXHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHRoYXQuYmFyY29kZUZvY3VzID0gZmFsc2U7XHJcblx0XHRcdFx0c2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRcdFx0dGhhdC5tYXRucklkID0gJyc7XHJcblx0XHRcdFx0XHR0aGF0LmJhcmNvZGVGb2N1cyA9IHRydWU7XHJcblx0XHRcdFx0fSwgMTAwKTtcclxuXHRcdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0Zm91Y3NzKCkge1xyXG5cdFx0XHRcdC8vICNpZmRlZiBBUFBcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0dGhhdC5mb2N1cyA9IGZhbHNlO1xyXG5cdFx0XHRcdHNldFRpbWVvdXQoKCk9PntcclxuXHRcdFx0XHRcdHRoYXQubWF0bnJJZCA9ICcnO1xyXG5cdFx0XHRcdFx0dGhhdC5mb2N1cyA9IHRydWU7XHJcblx0XHRcdFx0fSwgMTAwKTtcclxuXHRcdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2xlYXIoKSB7XHJcblx0XHRcdFx0dGhpcy5tYXRucklkID0gJydcclxuXHRcdFx0fSxcclxuXHRcdFx0bWVzc2FnZVRvZ2dsZSh0eXBlKSB7XHJcblx0XHRcdFx0dGhpcy5tc2dUeXBlID0gdHlwZVxyXG5cdFx0XHRcdHRoaXMubWVzc2FnZVRleHQgPSBg6L+Z5piv5LiA5p2hJHt0eXBlfea2iOaBr+aPkOekumBcclxuXHRcdFx0XHR0aGlzLiRyZWZzLm1lc3NhZ2Uub3BlbigpXHJcblx0XHRcdH0sXHJcblx0XHRcdHJlc3N0KCkge1xyXG5cdFx0XHRcdHRoaXMubWF0bnJJZCA9ICcnO1xyXG5cdFx0XHRcdHRoaXMubWF0TGlzdCA9IFtdO1xyXG5cdFx0XHRcdHRoaXMuYmFyY29kZSA9ICcnO1xyXG5cdFx0XHRcdHRoaXMuYmFyY29kZUZvY3VzcygpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRyZW1vdmVCYXJjb2RlKCkge1xyXG5cdFx0XHRcdHRoaXMuYmFyY29kZSA9ICcnXHJcblx0XHRcdFx0dGhpcy5iYXJjb2RlRm9jdXMgPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLiRuZXh0VGljayhmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdHRoaXMuYmFyY29kZUZvY3VzID0gdHJ1ZTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVtb3ZlKGl0ZW0saW5kZXgpIHtcclxuXHRcdFx0XHR0aGlzLm1hdG5ySWQgPSAnJ1xyXG5cdFx0XHRcdHRoaXMubWF0TGlzdC5zcGxpY2UoaW5kZXgsMSlcclxuXHRcdFx0XHR0aGlzLmxpc3RMZW4gPSB0aGlzLm1hdExpc3QubGVuZ3RoXHJcblx0XHRcdFx0dGhpcy5tZXNzYWdlVG9nZ2xlKCdzdWNjZXNzJylcclxuXHRcdFx0XHR0aGlzLm1lc3NhZ2VUZXh0ID0gJ+WIoOmZpOaIkOWKnydcclxuXHRcdFx0fSxcclxuXHRcdFx0Y29tYigpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0aWYgKHRoYXQuYmFyY29kZSA9PT0gJycpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiAn6K+35omr5o+P5omY55uY5p2h56CBJywgaWNvbjogXCJub25lXCIsIHBvc2l0aW9uOiAndG9wJ30pO1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhhdC5tYXRMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7dGl0bGU6ICfor7fmt7vliqDllYblk4HliJfooagnLCBpY29uOiBcIm5vbmVcIiwgcG9zaXRpb246ICd0b3AnfSk7XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC8vIHVuaS5zaG93TG9hZGluZygpO1xyXG5cdFx0XHRcdHRoYXQuJHJlZnMuY2hlY2tPcmlnaW4ub3BlbigpXHJcblx0XHRcdFx0XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOi+k+WFpeeahOS4jeaYr+aVsOWtl+eahOaOkumZpFxyXG5cdFx0XHRjaGVja051bSh0aGVPYmopIHtcclxuXHRcdFx0XHR2YXIgcmVnID0gL15bMC05XSokLztcclxuXHRcdFx0XHRpZiAoIXJlZy50ZXN0KHRoZU9iaikpIHtcclxuXHRcdFx0XHRcdHRoaXMubWVzc2FnZVRvZ2dsZSgnd2FybicpO1xyXG5cdFx0XHRcdFx0dGhpcy5tZXNzYWdlVGV4dCA9ICfllYblk4HnvJbnoIHmnInor6/vvIzor7fph43or5UnO1xyXG5cdFx0XHRcdFx0dGhpcy5mb3Vjc3MoKTtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOa3u+WKoOaJq+aPj+aXpeW/l1xyXG5cdFx0XHRhZGRMb2cobWF0Q29kZSx1c2VyTmFtZSkge1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IHRoYXQuY29tbW9uVXJsICsgXCIvbW9iaWxlL2FkZExvZy9hdXRoXCIsXHJcblx0XHRcdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0XHRcdG1hdGNvZGU6bWF0Q29kZSxcclxuXHRcdFx0XHRcdFx0dXNlcm5hbWU6dXNlck5hbWVcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0J3Rva2VuJzp1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuJylcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQvLyBtZXRob2Q6XCJQT1NUXCIsXHJcblx0XHRcdFx0XHRzdWNjZXNzKHJlc3VsdCkge1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOajgOe0ouWVhuWTgVxyXG5cdFx0XHRmaW5kTWF0KCkge1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpc1xyXG5cdFx0XHRcdGxldCB1c2VyTmFtZSA9IHVuaS5nZXRTdG9yYWdlU3luYygnSEN1bmFtZScpXHJcblx0XHRcdFx0bGV0IG1hdENvZGUgPSB0aGF0Lm1hdG5ySWRcclxuXHRcdFx0XHQvLyDlvIDlkK/miavmj4/ml6Xlv5dcclxuXHRcdFx0XHR0aGF0LmFkZExvZyhtYXRDb2RlLHVzZXJOYW1lKVxyXG5cdFx0XHRcdHRoYXQuZm91Y3NzKCk7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdGlmICh0aGF0Lm1hdG5ySWQubGVuZ3RoID4gMjUpe1xyXG5cdFx0XHRcdFx0dGhhdC5tZXNzYWdlVG9nZ2xlKCd3YXJuJyk7XHJcblx0XHRcdFx0XHR0aGF0Lm1lc3NhZ2VUZXh0ID0gJ+WVhuWTgee8lueggei2hemVv++8jOivt+mHjeivlSc7XHJcblx0XHRcdFx0XHR0aGF0LmZvdWNzcygpO1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsZXQgc3RyID0gdGhhdC5tYXRucklkLnNwbGl0KCctJylcclxuXHRcdFx0XHRsZXQgbWF0bnIgPSBzdHJbMF0gKyAnLScgKyBzdHJbMV1cclxuXHRcdFx0XHQvLyDmo4Dmn6XmnaHnoIHkuK3pnZ7mlbDlrZdcclxuXHRcdFx0XHR0aGF0LmNoZWNrTnVtKHN0clsyXSlcclxuXHRcdFx0XHRmb3IgKGxldCBrID0gMDsgayA8IHRoYXQubWF0TGlzdC5sZW5ndGg7aysrKSB7XHJcblx0XHRcdFx0XHRpZiAodGhhdC5tYXRMaXN0W2tdLm1hdG5yICE9IG1hdG5yKSB7XHJcblx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnd2FybicpO1xyXG5cdFx0XHRcdFx0XHR0aGF0Lm1lc3NhZ2VUZXh0ID0gJ+WVhuWTgeenjeexu+S4jeS4gOiHtO+8jOivt+mHjeivle+8gSc7XHJcblx0XHRcdFx0XHRcdHRoYXQuZm91Y3NzKCk7XHJcblx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Ly8gcmV0dXJuO1xyXG5cdFx0XHRcdC8vIHVuaS5zaG93TG9hZGluZygpO1xyXG5cdFx0XHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdFx0XHQgICAgdXJsOiB0aGF0LmNvbW1vblVybCArICcvbWF0L2F1dGgnLFxyXG5cdFx0XHRcdCAgICBkYXRhOiB7XHJcblx0XHRcdFx0XHRcdG1hdG5yOm1hdG5yXHJcblx0XHRcdFx0ICAgIH0sXHJcblx0XHRcdFx0ICAgIGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHQndG9rZW4nOnVuaS5nZXRTdG9yYWdlU3luYygndG9rZW4nKVxyXG5cdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXN1bHQpIHtcclxuXHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdC8vIHVuaS52aWJyYXRlU2hvcnQoKTtcclxuXHRcdFx0XHRcdFx0bGV0IHJlcyA9IHJlc3VsdC5kYXRhXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwICYmIHJlcy5kYXRhKSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IGFkZCA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0bGV0IG1hdCA9IHJlcy5kYXRhO1xyXG5cdFx0XHRcdFx0XHRcdG1hdFsnYmF0Y2gnXSA9IHN0clsyXTtcclxuXHRcdFx0XHRcdFx0XHRtYXRbJ2FuZm1lJ10gPSAxXHJcblx0XHRcdFx0XHRcdFx0Zm9yKGxldCBpID0gMDtpIDwgdGhhdC5tYXRMaXN0Lmxlbmd0aDtpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdGlmKHRoYXQubWF0TGlzdFtpXS5iYXRjaCA9PSBzdHJbMl0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5tZXNzYWdlVG9nZ2xlKCd3YXJuJyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRleHQgPSAn6YeN5aSN5omr5o+PJztcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5mb3Vjc3MoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0YWRkID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmKGFkZCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5tZXNzYWdlVG9nZ2xlKCdzdWNjZXNzJyk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0Lm1lc3NhZ2VUZXh0ID0gJ+ajgOe0ouaIkOWKnyc7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0Lm1hdExpc3QudW5zaGlmdChyZXMuZGF0YSlcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXQuZm91Y3NzKCk7XHJcblx0XHRcdFx0XHRcdFx0fSBcclxuXHRcdFx0XHRcdFx0XHR0aGF0Lmxpc3RMZW4gPSB0aGF0Lm1hdExpc3QubGVuZ3RoO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5jb2RlID09IDQwMykge1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnZXJyb3InKVxyXG5cdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRleHQgPSByZXMubXNnXHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkucmVMYXVuY2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcuLi9sb2dpbi9sb2dpbidcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnZXJyb3InKVxyXG5cdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRleHQgPSByZXMubXNnXHJcblx0XHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gdW5pLnNob3dUb2FzdCh7dGl0bGU6IHJlcy5tc2csIGljb246IFwibm9uZVwiLHBvc2l0aW9uOiAndG9wJ30pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcclxuXHRcdFx0Y2hhbmdlKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygn5b2T5YmN5qih5byP77yaJyArIGUudHlwZSArICcs54q25oCB77yaJyArIGUuc2hvdyk7XHJcblx0XHRcdH0sXHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG5cclxuXHJcbjxzdHlsZT5cclxuXHQvKiBAaW1wb3J0IFwiLi4vLi4vY29sb3J1aS9tYWluLmNzc1wiO1xyXG5cdEBpbXBvcnQgXCIuLi8uLi9jb2xvcnVpL2ljb24uY3NzXCI7ICovXHJcblx0LyogXHJcblx0XHJcblx0ICovXHJcblx0LnBvcC1idG4ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRib3R0b206IDIwcnB4O1xyXG5cdH1cclxuXHQucGFrLXNlYWNoLWJveCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0bWFyZ2luOiAxNXJweCAxNXJweCAwcnB4IDE1cnB4O1xyXG5cdFx0d2lkdGg6IDk2JTtcclxuXHRcdGhlaWdodDogMTUwcnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0fVxyXG5cdC5ib3gtdG9we1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0d2lkdGg6IDcyMHJweDtcclxuXHR9XHJcblx0LmNvbG9yLWJsb2NrLWJsdWUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzFFOUZGRjtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0bWFyZ2luOiAxNXJweCAxNXJweCAwIDE1cnB4O1xyXG5cdFx0d2lkdGg6IDEycnB4O1xyXG5cdFx0aGVpZ2h0OiA0MHJweDtcclxuXHRcdGJvcmRlcjogNXJweCBzb2xpZCAjMUU5RkZGO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0fVxyXG5cdC50aXRsZSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdGZvbnQtc2l6ZTogMzRycHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0aGVpZ2h0OiA1MHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA1MHJweDtcclxuXHRcdG1hcmdpbi10b3A6IDEwcnB4O1xyXG5cdH1cclxuXHQuYm94LWJ1dHRvbSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xyXG5cdFx0d2lkdGg6IDY1JTtcclxuXHRcdGhlaWdodDogNjBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMHJweCAxNXJweDtcclxuXHR9XHJcblx0LmJveC1idXR0b20gaW5wdXQge1xyXG5cdFx0d2lkdGg6IDc1JTtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0bWFyZ2luOiA4cnB4IDEwcnB4IDBycHggMjVycHg7XHJcblx0fVxyXG5cdC5ib3gtYnV0dG9tIC5zZWFyY2gtaWNvbntcclxuXHRcdHdpZHRoOiA2MHJweDtcclxuXHRcdGhlaWdodDogNjBycHg7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRtYXJnaW4tdG9wOiA1cnB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHJweDtcclxuXHR9XHJcblx0LyogLnBhay1zZWFjaC1ib3ggaW5wdXQge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcclxuXHRcdGJvcmRlcjogMXJweCBzb2xpZCAjZDhkOGQ4O1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdHdpZHRoOiA3MCU7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDYwcnB4O1xyXG5cdFx0bWFyZ2luOiAxNXJweCAxNXJweCAwcnB4IDE1cnB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAyMHJweDtcclxuXHR9ICovXHJcblx0LnBhay1zZWFjaC1ib3ggYnV0dG9uIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxRTlGRkY7XHJcblx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdHdpZHRoOiAxODBycHg7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0bWFyZ2luOiAxNXJweCAxNXJweCAwcnB4IDE1cnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDYwcnB4O1xyXG5cdH1cclxuXHQucGFraW4tYnRuIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxRTlGRkY7XHJcblx0fVxyXG5cdC5wYWstZGF0YS1ib3gge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0YxRjFGMTtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMHJweCAxNXJweDtcclxuXHRcdHdpZHRoOiA5NiU7XHJcblx0XHRoZWlnaHQ6IDcwcnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0fVxyXG5cdC5wYWstZGF0YS1ib3ggLmJveC10b3Age1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHRcdGhlaWdodDogNzBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweCAyMHJweCAyMHJweCAyMHJweDtcclxuXHR9XHJcblx0LmJnLWZhbHNlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcblx0fVxyXG5cdC5iZy10cnVlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XHJcblx0fVxyXG5cdC5kYXRhLWxpc3Qge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcblx0XHRoZWlnaHQ6IDEzMHJweDtcclxuXHRcdG1hcmdpbjogMTVycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHR9XHJcblx0LmRhdGEtbGlzdDpmaXJzdC1jaGlsZCB7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHJweDtcclxuXHR9XHJcblx0LmRhdGEtbGlzdDpsYXN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwMHJweDtcclxuXHR9XHJcblx0LyogLmRhdGEtbGlzdC1sZWZ0IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDEwMHJweDtcclxuXHRcdGhlaWdodDogMTgwcnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE4MHJweDtcclxuXHR9ICovXHJcblx0LmRhdGEtbGlzdC1sZWZ0IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDYlO1xyXG5cdFx0aGVpZ2h0OiAxMzBycHg7XHJcblx0XHQvKiBsaW5lLWhlaWdodDogMTAwcnB4OyAqL1xyXG5cdFx0Y29sb3I6ICM2NzY3Njc7XHJcblx0fVxyXG5cdC5tYXRuciB7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0LyogcGFkZGluZy10b3A6IDE1cnB4OyAqL1xyXG5cdFx0cGFkZGluZy10b3A6IDE1cnB4O1xyXG5cdH1cclxuXHQuZGF0YS1saXN0LXJpZ2h0IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdGhlaWdodDogMTMwcnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEzMHJweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTAlO1xyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///77\n");
+eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/common/permission.js */ 78));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = { data: function data() {return { commonUrl: null, barcode: '', barcodeFocus: true, focus: false, type: 'center', searchBox: 'hide', pick: 'hide', matnrId: '', // matList:[{matnr:'1101842-10000',batch:'22047515999'}],\n      matList: [], result: '', listLen: 0, msgType: 'success', messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�', origins: [{ value: '1288' }, { value: '5055' }], origin: null, // 浠撳簱\n      current: 0, isNum: false };}, mounted: function mounted() {var UIP = uni.getStorageSync('UIP');this.baseIP = UIP;var UPORT = uni.getStorageSync('UPORT');this.basePORT = UPORT;this.getUrl();}, onLoad: function onLoad() {setInterval(function () {uni.hideKeyboard();}, 20);}, methods: { // 鑾峰彇url\n    getUrl: function getUrl() {this.commonUrl = this.baseHttp + this.baseIP + ':' + this.basePORT + this.baseUrl;}, radioChange: function radioChange(evt) {for (var i = 0; i < this.origins.length; i++) {if (this.origins[i].value === evt.detail.value) {this.current = i;break;}}}, // 纭鍑哄簱鍙n    check: function check() {var that = this;if (this.current == 0) {this.origin = 1288;} else {this.origin = 5055;}this.$refs.checkOrigin.close();uni.request({ url: that.commonUrl + '/mobile/comb/auth', data: JSON.stringify({ barcode: that.barcode, origin: that.origin, combMats: that.matList }), method: 'POST', header: { 'token': uni.getStorageSync('token') }, success: function success(result) {uni.showLoading();var res = result.data;if (res.code === 200) {uni.showToast({ title: res.msg, position: 'bottom', duration: 1000 });that.barcode = '';that.matList = '';that.matList = [];that.barcodeFocuss();} else if (res.code == 403) {uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });setTimeout(function () {uni.reLaunch({ url: '../login/login' });}, 1000);} else {uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });}} });},\n    nextInput: function nextInput() {\n      if (this.barcode.length == 8) {\n        this.foucss();\n      }\n    },\n    empty: function empty() {\n      return this.inputValue = '';\n    },\n    barcodeFocuss: function barcodeFocuss() {\n\n      var that = this;\n      that.barcodeFocus = false;\n      setTimeout(function () {\n        that.matnrId = '';\n        that.barcodeFocus = true;\n      }, 100);\n\n\n    },\n    foucss: function foucss() {\n\n      var that = this;\n      that.focus = false;\n      setTimeout(function () {\n        that.matnrId = '';\n        that.focus = true;\n      }, 100);\n\n    },\n    clear: function clear() {\n      this.matnrId = '';\n    },\n    messageToggle: function messageToggle(type) {\n      this.msgType = type;\n      this.messageText = \"\\u8FD9\\u662F\\u4E00\\u6761\".concat(type, \"\\u6D88\\u606F\\u63D0\\u793A\");\n      this.$refs.message.open();\n    },\n    resst: function resst() {\n      this.matnrId = '';\n      this.matList = [];\n      this.barcode = '';\n      this.barcodeFocuss();\n    },\n    removeBarcode: function removeBarcode() {\n      this.barcode = '';\n      this.barcodeFocus = false;\n      this.$nextTick(function () {\n        this.barcodeFocus = true;\n      });\n    },\n    remove: function remove(item, index) {\n      this.matnrId = '';\n      this.matList.splice(index, 1);\n      this.listLen = this.matList.length;\n      this.messageToggle('success');\n      this.messageText = '鍒犻櫎鎴愬姛';\n    },\n    comb: function comb() {\n      var that = this;\n      if (that.barcode === '') {\n        uni.showToast({ title: '璇锋壂鎻忔墭鐩樻潯鐮�', icon: \"none\", position: 'top' });\n        return;\n      }\n      if (that.matList.length === 0) {\n        uni.showToast({ title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: \"none\", position: 'top' });\n        return;\n      }\n      // uni.showLoading();\n      that.$refs.checkOrigin.open();\n\n    },\n    // 杈撳叆鐨勪笉鏄暟瀛楃殑鎺掗櫎\n    checkNum: function checkNum(theObj) {\n      var reg = /^[0-9]*$/;\n      if (!reg.test(theObj)) {\n        this.isNum = false;\n        return;\n      }\n      var year = theObj.substring(0, 2);\n      //鑾峰彇褰撳墠骞翠唤\n      var dt = new Date();\n      var thisYear = new Date().getFullYear() + '';\n      thisYear = thisYear.substring(2, 4);\n      if (year > thisYear) {\n        this.isNum = false;\n        return;\n      }\n      this.isNum = true;\n    },\n    // 娣诲姞鎵弿鏃ュ織\n    addLog: function addLog(matCode, userName) {\n      var that = this;\n      uni.request({\n        url: that.commonUrl + \"/mobile/addLog/auth\",\n        data: {\n          matcode: matCode,\n          username: userName },\n\n        header: {\n          'token': uni.getStorageSync('token') },\n\n        // method:\"POST\",\n        success: function success(result) {\n        } });\n\n\n    },\n    // 妫�绱㈠晢鍝乗n    findMat: function findMat() {\n      var that = this;\n      var userName = uni.getStorageSync('HCuname');\n      var matCode = that.matnrId;\n      // 寮�鍚壂鎻忔棩蹇梊n      that.addLog(matCode, userName);\n      // that.foucss();\n      // return;\n      if (that.matnrId.length > 25) {\n        that.messageToggle('warn');\n        that.messageText = '鍟嗗搧缂栫爜瓒呴暱锛岃閲嶈瘯';\n        that.foucss();\n        return;\n      }\n      var str = that.matnrId.split('-');\n      var matnr = str[0] + '-' + str[1];\n      // 妫�鏌ユ潯鐮佷腑闈炴暟瀛梊n      that.checkNum(str[2]);\n      if (that.isNum == false) {\n        that.messageToggle('warn');\n        that.messageText = '鍟嗗搧缂栫爜鏈夎锛岃閲嶈瘯锛�';\n        that.foucss();\n        return;\n      }\n      for (var k = 0; k < that.matList.length; k++) {\n        if (that.matList[k].matnr != matnr) {\n          that.messageToggle('warn');\n          that.messageText = '鍟嗗搧绉嶇被涓嶄竴鑷达紝璇烽噸璇曪紒';\n          that.foucss();\n          return;\n        }\n      }\n\n      // return;\n      // uni.showLoading();\n      uni.request({\n        url: that.commonUrl + '/mat/auth',\n        data: {\n          matnr: matnr },\n\n        header: {\n          'token': uni.getStorageSync('token') },\n\n        success: function success(result) {\n          uni.hideLoading();\n          // uni.vibrateShort();\n          var res = result.data;\n          if (res.code === 200 && res.data) {\n            var add = true;\n            var mat = res.data;\n            mat['batch'] = str[2];\n            mat['anfme'] = 1;\n            for (var i = 0; i < that.matList.length; i++) {\n              if (that.matList[i].batch == str[2]) {\n                that.messageToggle('warn');\n                that.messageText = '閲嶅鎵弿';\n                that.foucss();\n                add = false;\n              }\n            }\n            if (add) {\n              that.messageToggle('success');\n              that.messageText = '妫�绱㈡垚鍔�';\n              that.matList.unshift(res.data);\n              that.foucss();\n            }\n            that.listLen = that.matList.length;\n          } else if (res.code == 403) {\n            that.messageToggle('error');\n            that.messageText = res.msg;\n            setTimeout(function () {\n              uni.reLaunch({\n                url: '../login/login' });\n\n            }, 1000);\n            uni.hideLoading();\n          } else {\n            that.messageToggle('error');\n            that.messageText = res.msg;\n            uni.hideLoading();\n            // uni.showToast({title: res.msg, icon: \"none\",position: 'top'})\n          }\n        } });\n\n\n    },\n\n    change: function change(e) {\n      __f__(\"log\", '褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show, \" at pages/basics/outPakin.vue:387\");\n    } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYmFzaWNzL291dFBha2luLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2RkEsZ0c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBQ0EsRUFDQSxJQURBLGtCQUNBLENBQ0EsU0FDQSxlQURBLEVBRUEsV0FGQSxFQUdBLGtCQUhBLEVBSUEsWUFKQSxFQUtBLGNBTEEsRUFNQSxpQkFOQSxFQU9BLFlBUEEsRUFRQSxXQVJBLEVBU0E7QUFDQSxpQkFWQSxFQVdBLFVBWEEsRUFZQSxVQVpBLEVBYUEsa0JBYkEsRUFjQSx1QkFkQSxFQWVBLCtDQWZBLEVBZ0JBLFlBaEJBLEVBZ0JBO0FBQ0EsZ0JBakJBLEVBa0JBLFlBbEJBLEdBb0JBLENBdEJBLEVBdUJBLE9BdkJBLHFCQXVCQSxDQUNBLG9DQUNBLGtCQUNBLHdDQUNBLHNCQUNBLGNBQ0EsQ0E3QkEsRUE4QkEsTUE5QkEsb0JBOEJBLENBRUEseUJBQ0EsbUJBQ0EsQ0FGQSxFQUVBLEVBRkEsRUFJQSxDQXBDQSxFQXFDQSxXQUNBO0FBQ0EsVUFGQSxvQkFFQSxDQUNBLGtGQUNBLENBSkEsRUFLQSxXQUxBLHVCQUtBLEdBTEEsRUFLQSxDQUNBLCtDQUNBLGlEQUNBLGlCQUNBLE1BQ0EsQ0FDQSxDQUNBLENBWkEsRUFhQTtBQUNBLFNBZEEsbUJBY0EsQ0FDQSxnQkFDQSx3QkFDQSxtQkFDQSxDQUZBLE1BRUEsQ0FDQSxtQkFDQSxDQUNBLCtCQUNBLGNBQ0EseUNBREEsRUFFQSx1QkFDQSxxQkFEQSxFQUVBLG1CQUZBLEVBR0Esc0JBSEEsR0FGQSxFQU9BLGNBUEEsRUFRQSxVQUNBLG9DQURBLEVBUkEsRUFXQSxPQVhBLG1CQVdBLE1BWEEsRUFXQSxDQUNBLGtCQUNBLHNCQUNBLHVCQUNBLGdCQUNBLGNBREEsRUFFQSxrQkFGQSxFQUdBLGNBSEEsSUFLQSxrQkFDQSxrQkFDQSxrQkFDQSxxQkFDQSxDQVZBLE1BVUEsc0JBQ0EsaUVBQ0Esd0JBQ0EsZUFDQSxxQkFEQSxJQUdBLENBSkEsRUFJQSxJQUpBLEVBS0EsQ0FQQSxNQU9BLENBQ0EsaUVBQ0EsQ0FDQSxDQWxDQSxJQW9DQSxDQTFEQTtBQTJEQSxhQTNEQSx1QkEyREE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQS9EQTtBQWdFQSxTQWhFQSxtQkFnRUE7QUFDQTtBQUNBLEtBbEVBO0FBbUVBLGlCQW5FQSwyQkFtRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BSEEsRUFHQSxHQUhBOzs7QUFNQSxLQTdFQTtBQThFQSxVQTlFQSxvQkE4RUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BSEEsRUFHQSxHQUhBOztBQUtBLEtBdkZBO0FBd0ZBLFNBeEZBLG1CQXdGQTtBQUNBO0FBQ0EsS0ExRkE7QUEyRkEsaUJBM0ZBLHlCQTJGQSxJQTNGQSxFQTJGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBL0ZBO0FBZ0dBLFNBaEdBLG1CQWdHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FyR0E7QUFzR0EsaUJBdEdBLDJCQXNHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FGQTtBQUdBLEtBNUdBO0FBNkdBLFVBN0dBLGtCQTZHQSxJQTdHQSxFQTZHQSxLQTdHQSxFQTZHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQW5IQTtBQW9IQSxRQXBIQSxrQkFvSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEtBaklBO0FBa0lBO0FBQ0EsWUFuSUEsb0JBbUlBLE1BbklBLEVBbUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FuSkE7QUFvSkE7QUFDQSxVQXJKQSxrQkFxSkEsT0FySkEsRUFxSkEsUUFySkEsRUFxSkE7QUFDQTtBQUNBO0FBQ0EsbURBREE7QUFFQTtBQUNBLDBCQURBO0FBRUEsNEJBRkEsRUFGQTs7QUFNQTtBQUNBLDhDQURBLEVBTkE7O0FBU0E7QUFDQSxlQVZBLG1CQVVBLE1BVkEsRUFVQTtBQUNBLFNBWEE7OztBQWNBLEtBcktBO0FBc0tBO0FBQ0EsV0F2S0EscUJBdUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EseUNBREE7QUFFQTtBQUNBLHNCQURBLEVBRkE7O0FBS0E7QUFDQSw4Q0FEQSxFQUxBOztBQVFBLGVBUkEsbUJBUUEsTUFSQSxFQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBcEJBLE1Bb0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FEQTs7QUFHQSxhQUpBLEVBSUEsSUFKQTtBQUtBO0FBQ0EsV0FUQSxNQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBL0NBOzs7QUFrREEsS0E1UEE7O0FBOFBBLFVBOVBBLGtCQThQQSxDQTlQQSxFQThQQTtBQUNBO0FBQ0EsS0FoUUEsRUFyQ0EsRSIsImZpbGUiOiI3Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyA+XHJcblx0XHQ8c2Nyb2xsLXZpZXcgc2Nyb2xsLXkgY2F0Y2g6dG91Y2htb3ZlPVwidG91Y2htb3ZlXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLTJcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS10aXRsZVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZS1zaWduXCI+PHZpZXcgY2xhc3M9XCJzaWduXCI+PC92aWV3Pjwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtdGV4dFwiPjx0ZXh0PuaJmOebmOadoeeggTwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLWNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY29udGVudC1pbnB1dFwiPlxyXG5cdFx0XHRcdFx0XHQ8aW5wdXQgcmVhZG9ubHk9XCJ2YWx1ZVwiIHYtbW9kZWw9XCJiYXJjb2RlXCIgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIuaJq+eggSAvIOi+k+WFpVwiIG1heGxlbmd0aD1cIjhcIlxyXG5cdFx0XHRcdFx0XHQ6Zm9jdXM9XCJiYXJjb2RlRm9jdXNcIiBAaW5wdXQ9XCJuZXh0SW5wdXRcIj5cclxuXHRcdFx0XHRcdFx0PHVuaS1pY29ucyB0eXBlPVwiY2xvc2VlbXB0eVwiIHNpemU9XCIyMFwiIGNvbG9yPVwiI2RhZGFkYVwiIEBjbGljaz1cInJlbW92ZUJhcmNvZGUoKVwiPjwvdW5pLWljb25zPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS0yXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtdGl0bGVcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtc2lnblwiPjx2aWV3IGNsYXNzPVwic2lnblwiPjwvdmlldz48L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLXRleHRcIj48dGV4dD7mo4DntKLllYblk4E8L3RleHQ+PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS1jb250ZW50XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtaW5wdXRcIj5cclxuXHRcdFx0XHRcdFx0PGlucHV0IHYtbW9kZWw9XCJtYXRucklkXCIgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIuaJq+eggSAvIOi+k+WFpVwiIEBpbnB1dD1cImZpbmRNYXQoKVwiXHJcblx0XHRcdFx0XHRcdDpmb2N1cz1cImZvY3VzXCJAZm9jdXM9XCJlbXB0eSgpXCI+XHJcblx0XHRcdFx0XHRcdCA8IS0tIDpmb2N1cz1cImZvY3VzXCIgQGJsdXI9XCJjbGVhciBcIj4gLS0+XHJcblx0XHRcdFx0XHRcdDwhLS0gQGZvY3VzPVwiZm9jdXNzXCIgLS0+XHJcblx0XHRcdFx0XHRcdDx1bmktaWNvbnMgdHlwZT1cImNsb3NlZW1wdHlcIiBzaXplPVwiMjBcIiBjb2xvcj1cIiNkYWRhZGFcIiBAY2xpY2s9XCJmb3Vjc3MoKVwiPjwvdW5pLWljb25zPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS0xXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtdGl0bGVcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtc2lnblwiPjx2aWV3IGNsYXNzPVwic2lnblwiPjwvdmlldz48L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLXRleHRcIj48dGV4dD7llYblk4HliJfooag8L3RleHQ+PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS1ub25lXCIgIHYtc2hvdz1cIm1hdExpc3QubGVuZ3RoID09PSAwXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ2LXNob3dcIj7mmoLml6Dmm7TlpJrmlbDmja4uLi48L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PGNoZWNrYm94LWdyb3VwID5cclxuXHRcdFx0XHQ8dmlldyB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBtYXRMaXN0XCIgOmtleT1cImluZGV4XCIgY2xhc3M9XCJkYXRhLWxpc3QgYmctZmFsc2VcIiA6Y2xhc3M9XCInYmctJytpdGVtLmNoZWNrZWRcIiA+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRhdGEtbGlzdC1sZWZ0XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibWF0bnJcIj5Obzp7e2xpc3RMZW4taW5kZXh9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtYXRuclwiPnt7aXRlbS5tYXRucn19LXt7aXRlbS5iYXRjaH19PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkYXRhLWxpc3QtcmlnaHRcIj5cclxuXHRcdFx0XHRcdFx0PHVuaS1pY29ucyB0eXBlPVwidHJhc2hcIiBzaXplPVwiMjBcIiBjb2xvcj1cIiNhNWE1YTVcIiBAY2xpY2s9XCJyZW1vdmUoaXRlbSxpbmRleClcIj48L3VuaS1pY29ucz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvY2hlY2tib3gtZ3JvdXA+XHJcblx0XHQ8L3Njcm9sbC12aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJmb290ZXIgZmxleCBqdXN0aWZ5LWFyb3VuZFwiPlxyXG5cdFx0XHQ8dmlldz5cclxuXHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwiY3UtYnRuIGxnXCIgQGNsaWNrPVwicmVzc3QoKVwiPumHjee9rjwvYnV0dG9uPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdDxidXR0b24gY2xhc3M9XCJjdS1idG4gbGcgcGFraW4tYnRuIGJnLWJsdWVcIiBAY2xpY2s9XCJjb21iKClcIj7nu4TmiZg8L2J1dHRvbj5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXc+XHJcblx0XHRcdDwhLS0g5o+Q56S65L+h5oGv5by556qXIC0tPlxyXG5cdFx0XHQ8dW5pLXBvcHVwIHJlZj1cIm1lc3NhZ2VcIiB0eXBlPVwibWVzc2FnZVwiPlxyXG5cdFx0XHRcdDx1bmktcG9wdXAtbWVzc2FnZSA6dHlwZT1cIm1zZ1R5cGVcIiA6bWVzc2FnZT1cIm1lc3NhZ2VUZXh0XCIgOmR1cmF0aW9uPVwiMjAwMFwiPjwvdW5pLXBvcHVwLW1lc3NhZ2U+XHJcblx0XHRcdDwvdW5pLXBvcHVwPlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PCEtLSDnoa7orqTku5PlupPlvLnnqpcgLS0+XHJcblx0XHQ8dmlldz5cclxuXHRcdFx0PHVuaS1wb3B1cCByZWY9XCJjaGVja09yaWdpblwiIHR5cGU9XCJjZW50ZXJcIiBiYWNrZ3JvdW5kQ29sb3I9XCIjZmZmXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmlnaW4tYm94XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS10aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLXNpZ25cIj48dmlldyBjbGFzcz1cInNpZ25cIj48L3ZpZXc+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLXRleHRcIj48dGV4dD7noa7orqTku5PlupM8L3RleHQ+PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIndpZHRoOiAxMDAlO1wiPlxyXG5cdFx0XHRcdFx0XHQ8cmFkaW8tZ3JvdXAgQGNoYW5nZT1cInJhZGlvQ2hhbmdlXCIgc3R5bGU9XCJkaXNwbGF5OiBibG9jaztcIj5cclxuXHRcdFx0XHRcdFx0XHQ8bGFiZWwgY2xhc3M9XCJyYWRpb1wiIHYtZm9yPVwiKG9yaWdpbiwgaW5kZXgpIGluIG9yaWdpbnNcIiA6a2V5PVwib3JpZ2lucy52YWx1ZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHJhZGlvIHN0eWxlPVwidHJhbnNmb3JtOnNjYWxlKDAuNylcIiA6dmFsdWU9XCJvcmlnaW4udmFsdWVcIiA6Y2hlY2tlZD1cImluZGV4ID09PSBjdXJyZW50XCIgLz57e29yaWdpbi52YWx1ZX19XHJcblx0XHRcdFx0XHRcdFx0PC9sYWJlbD5cclxuXHRcdFx0XHRcdFx0PC9yYWRpby1ncm91cD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwb3AtYnRuIGZsZXggIGp1c3RpZnktYXJvdW5kXCI+XHJcblx0XHRcdFx0XHRcdDxidXR0b24gY2xhc3M9XCJjdS1idG4gYmctYmx1ZSBsZ1wiIEBjbGljaz1cImNoZWNrKClcIj7noa7orqQ8L2J1dHRvbj5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdW5pLXBvcHVwPlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0aW1wb3J0IHBlcm1pc2lvbiBmcm9tIFwiQC9jb21tb24vcGVybWlzc2lvbi5qc1wiXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRjb21tb25Vcmw6bnVsbCxcclxuXHRcdFx0XHRiYXJjb2RlOiAnJyxcclxuXHRcdFx0XHRiYXJjb2RlRm9jdXM6dHJ1ZSxcclxuXHRcdFx0XHRmb2N1czpmYWxzZSxcclxuXHRcdFx0XHR0eXBlOiAnY2VudGVyJyxcclxuXHRcdFx0XHRzZWFyY2hCb3g6ICdoaWRlJyxcclxuXHRcdFx0XHRwaWNrOidoaWRlJyxcclxuXHRcdFx0XHRtYXRucklkOicnLFxyXG5cdFx0XHRcdC8vIG1hdExpc3Q6W3ttYXRucjonMTEwMTg0Mi0xMDAwMCcsYmF0Y2g6JzIyMDQ3NTE1OTk5J31dLFxyXG5cdFx0XHRcdG1hdExpc3Q6W10sXHJcblx0XHRcdFx0cmVzdWx0OiAnJyxcclxuXHRcdFx0XHRsaXN0TGVuOjAsXHJcblx0XHRcdFx0bXNnVHlwZTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdG1lc3NhZ2VUZXh0OiAn6L+Z5piv5LiA5p2h5oiQ5Yqf5o+Q56S6JyxcclxuXHRcdFx0XHRvcmlnaW5zOiBbe3ZhbHVlOicxMjg4J30se3ZhbHVlOic1MDU1J31dLFxyXG5cdFx0XHRcdG9yaWdpbjogbnVsbCwgLy8g5LuT5bqTXHJcblx0XHRcdFx0Y3VycmVudDogMCxcclxuXHRcdFx0XHRpc051bTpmYWxzZVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpe1xyXG5cdFx0XHRjb25zdCBVSVAgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ1VJUCcpO1xyXG5cdFx0XHR0aGlzLmJhc2VJUCA9IFVJUDtcclxuXHRcdFx0Y29uc3QgVVBPUlQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ1VQT1JUJyk7XHJcblx0XHRcdHRoaXMuYmFzZVBPUlQgPSBVUE9SVFxyXG5cdFx0XHR0aGlzLmdldFVybCgpXHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHQvLyAjaWZkZWYgQVBQXHJcblx0XHRcdHNldEludGVydmFsKCgpPT57XHJcblx0XHRcdFx0dW5pLmhpZGVLZXlib2FyZCgpXHJcblx0XHRcdH0sMjApXHJcblx0XHRcdC8vICNlbmRpZlxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Ly8g6I635Y+WdXJsXHJcblx0XHRcdGdldFVybCgpIHtcclxuXHRcdFx0XHR0aGlzLmNvbW1vblVybCA9IHRoaXMuYmFzZUh0dHAgKyB0aGlzLmJhc2VJUCArICc6JyArdGhpcy5iYXNlUE9SVCArIHRoaXMuYmFzZVVybFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRyYWRpb0NoYW5nZShldnQpIHtcclxuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMub3JpZ2lucy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMub3JpZ2luc1tpXS52YWx1ZSA9PT0gZXZ0LmRldGFpbC52YWx1ZSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmN1cnJlbnQgPSBpO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOehruiupOWHuuW6k+WPo1xyXG5cdFx0XHRjaGVjaygpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXNcclxuXHRcdFx0XHRpZiAodGhpcy5jdXJyZW50ID09IDApIHtcclxuXHRcdFx0XHRcdHRoaXMub3JpZ2luID0gMTI4OFxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLm9yaWdpbiA9IDUwNTVcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy4kcmVmcy5jaGVja09yaWdpbi5jbG9zZSgpXHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdCAgICB1cmw6IHRoYXQuY29tbW9uVXJsICsgJy9tb2JpbGUvY29tYi9hdXRoJyxcclxuXHRcdFx0XHQgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoe1xyXG5cdFx0XHRcdFx0XHRiYXJjb2RlOiB0aGF0LmJhcmNvZGUsXHJcblx0XHRcdFx0XHRcdG9yaWdpbjogdGhhdC5vcmlnaW4sXHJcblx0XHRcdFx0XHRcdGNvbWJNYXRzOiB0aGF0Lm1hdExpc3RcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdFx0bWV0aG9kOiAnUE9TVCcsXHJcblx0XHRcdFx0ICAgIGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHQndG9rZW4nOnVuaS5nZXRTdG9yYWdlU3luYygndG9rZW4nKVxyXG5cdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXN1bHQpIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdHZhciByZXMgPSByZXN1bHQuZGF0YVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IHJlcy5tc2csXHJcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogJ2JvdHRvbScsXHJcblx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMTAwMFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQuYmFyY29kZSA9ICcnO1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQubWF0TGlzdCA9ICcnO1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQubWF0TGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQuYmFyY29kZUZvY3VzcygpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5jb2RlID09IDQwMykge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiByZXMubXNnLCBpY29uOiBcIm5vbmVcIiwgcG9zaXRpb246ICd0b3AnfSlcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5yZUxhdW5jaCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHVybDogJy4uL2xvZ2luL2xvZ2luJ1xyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0fSwgMTAwMCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7dGl0bGU6IHJlcy5tc2csIGljb246IFwibm9uZVwiLHBvc2l0aW9uOiAndG9wJ30pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0bmV4dElucHV0KCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLmJhcmNvZGUubGVuZ3RoID09IDgpIHtcclxuXHRcdFx0XHRcdHRoaXMuZm91Y3NzKClcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGVtcHR5KCkge1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLmlucHV0VmFsdWU9Jyc7XHJcblx0XHRcdH0sXHJcblx0XHRcdGJhcmNvZGVGb2N1c3MoKSB7XHJcblx0XHRcdFx0Ly8gI2lmZGVmIEFQUFxyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHR0aGF0LmJhcmNvZGVGb2N1cyA9IGZhbHNlO1xyXG5cdFx0XHRcdHNldFRpbWVvdXQoKCk9PntcclxuXHRcdFx0XHRcdHRoYXQubWF0bnJJZCA9ICcnO1xyXG5cdFx0XHRcdFx0dGhhdC5iYXJjb2RlRm9jdXMgPSB0cnVlO1xyXG5cdFx0XHRcdH0sIDEwMCk7XHJcblx0XHRcdFx0Ly8gI2VuZGlmXHJcblx0XHRcdFx0XHJcblx0XHRcdH0sXHJcblx0XHRcdGZvdWNzcygpIHtcclxuXHRcdFx0XHQvLyAjaWZkZWYgQVBQXHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHRoYXQuZm9jdXMgPSBmYWxzZTtcclxuXHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XHJcblx0XHRcdFx0XHR0aGF0Lm1hdG5ySWQgPSAnJztcclxuXHRcdFx0XHRcdHRoYXQuZm9jdXMgPSB0cnVlO1xyXG5cdFx0XHRcdH0sIDEwMCk7XHJcblx0XHRcdFx0Ly8gI2VuZGlmXHJcblx0XHRcdH0sXHJcblx0XHRcdGNsZWFyKCkge1xyXG5cdFx0XHRcdHRoaXMubWF0bnJJZCA9ICcnXHJcblx0XHRcdH0sXHJcblx0XHRcdG1lc3NhZ2VUb2dnbGUodHlwZSkge1xyXG5cdFx0XHRcdHRoaXMubXNnVHlwZSA9IHR5cGVcclxuXHRcdFx0XHR0aGlzLm1lc3NhZ2VUZXh0ID0gYOi/meaYr+S4gOadoSR7dHlwZX3mtojmga/mj5DnpLpgXHJcblx0XHRcdFx0dGhpcy4kcmVmcy5tZXNzYWdlLm9wZW4oKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRyZXNzdCgpIHtcclxuXHRcdFx0XHR0aGlzLm1hdG5ySWQgPSAnJztcclxuXHRcdFx0XHR0aGlzLm1hdExpc3QgPSBbXTtcclxuXHRcdFx0XHR0aGlzLmJhcmNvZGUgPSAnJztcclxuXHRcdFx0XHR0aGlzLmJhcmNvZGVGb2N1c3MoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVtb3ZlQmFyY29kZSgpIHtcclxuXHRcdFx0XHR0aGlzLmJhcmNvZGUgPSAnJ1xyXG5cdFx0XHRcdHRoaXMuYmFyY29kZUZvY3VzID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy4kbmV4dFRpY2soZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHR0aGlzLmJhcmNvZGVGb2N1cyA9IHRydWU7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHJlbW92ZShpdGVtLGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5tYXRucklkID0gJydcclxuXHRcdFx0XHR0aGlzLm1hdExpc3Quc3BsaWNlKGluZGV4LDEpXHJcblx0XHRcdFx0dGhpcy5saXN0TGVuID0gdGhpcy5tYXRMaXN0Lmxlbmd0aFxyXG5cdFx0XHRcdHRoaXMubWVzc2FnZVRvZ2dsZSgnc3VjY2VzcycpXHJcblx0XHRcdFx0dGhpcy5tZXNzYWdlVGV4dCA9ICfliKDpmaTmiJDlip8nXHJcblx0XHRcdH0sXHJcblx0XHRcdGNvbWIoKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGlmICh0aGF0LmJhcmNvZGUgPT09ICcnKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHt0aXRsZTogJ+ivt+aJq+aPj+aJmOebmOadoeeggScsIGljb246IFwibm9uZVwiLCBwb3NpdGlvbjogJ3RvcCd9KTtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHRoYXQubWF0TGlzdC5sZW5ndGggPT09IDApIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiAn6K+35re75Yqg5ZWG5ZOB5YiX6KGoJywgaWNvbjogXCJub25lXCIsIHBvc2l0aW9uOiAndG9wJ30pO1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQvLyB1bmkuc2hvd0xvYWRpbmcoKTtcclxuXHRcdFx0XHR0aGF0LiRyZWZzLmNoZWNrT3JpZ2luLm9wZW4oKVxyXG5cdFx0XHRcdFxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDovpPlhaXnmoTkuI3mmK/mlbDlrZfnmoTmjpLpmaRcclxuXHRcdFx0Y2hlY2tOdW0odGhlT2JqKSB7XHJcblx0XHRcdFx0dmFyIHJlZyA9IC9eWzAtOV0qJC87XHJcblx0XHRcdFx0aWYgKCFyZWcudGVzdCh0aGVPYmopKSB7XHJcblx0XHRcdFx0XHR0aGlzLmlzTnVtID0gZmFsc2U7XHJcblx0XHRcdFx0XHRyZXR1cm4gO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR2YXIgeWVhciA9IHRoZU9iai5zdWJzdHJpbmcoMCwyKVxyXG5cdFx0XHRcdC8v6I635Y+W5b2T5YmN5bm05Lu9XHJcblx0XHRcdFx0dmFyIGR0ID0gbmV3IERhdGUoKTtcclxuXHRcdFx0XHR2YXIgdGhpc1llYXIgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgKyAnJ1xyXG5cdFx0XHRcdHRoaXNZZWFyID0gdGhpc1llYXIuc3Vic3RyaW5nKDIsNClcclxuXHRcdFx0XHRpZih5ZWFyID4gdGhpc1llYXIpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNOdW0gPSBmYWxzZTtcclxuXHRcdFx0XHRcdHJldHVybiA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuaXNOdW0gPSB0cnVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDmt7vliqDmiavmj4/ml6Xlv5dcclxuXHRcdFx0YWRkTG9nKG1hdENvZGUsdXNlck5hbWUpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiB0aGF0LmNvbW1vblVybCArIFwiL21vYmlsZS9hZGRMb2cvYXV0aFwiLFxyXG5cdFx0XHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdFx0XHRtYXRjb2RlOm1hdENvZGUsXHJcblx0XHRcdFx0XHRcdHVzZXJuYW1lOnVzZXJOYW1lXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCd0b2tlbic6dW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0Ly8gbWV0aG9kOlwiUE9TVFwiLFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXN1bHQpIHtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdFxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDmo4DntKLllYblk4FcclxuXHRcdFx0ZmluZE1hdCgpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXNcclxuXHRcdFx0XHRsZXQgdXNlck5hbWUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ0hDdW5hbWUnKVxyXG5cdFx0XHRcdGxldCBtYXRDb2RlID0gdGhhdC5tYXRucklkXHJcblx0XHRcdFx0Ly8g5byA5ZCv5omr5o+P5pel5b+XXHJcblx0XHRcdFx0dGhhdC5hZGRMb2cobWF0Q29kZSx1c2VyTmFtZSlcclxuXHRcdFx0XHQvLyB0aGF0LmZvdWNzcygpO1xyXG5cdFx0XHRcdC8vIHJldHVybjtcclxuXHRcdFx0XHRpZiAodGhhdC5tYXRucklkLmxlbmd0aCA+IDI1KXtcclxuXHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnd2FybicpO1xyXG5cdFx0XHRcdFx0dGhhdC5tZXNzYWdlVGV4dCA9ICfllYblk4HnvJbnoIHotoXplb/vvIzor7fph43or5UnO1xyXG5cdFx0XHRcdFx0dGhhdC5mb3Vjc3MoKTtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGV0IHN0ciA9IHRoYXQubWF0bnJJZC5zcGxpdCgnLScpXHJcblx0XHRcdFx0bGV0IG1hdG5yID0gc3RyWzBdICsgJy0nICsgc3RyWzFdXHJcblx0XHRcdFx0Ly8g5qOA5p+l5p2h56CB5Lit6Z2e5pWw5a2XXHJcblx0XHRcdFx0dGhhdC5jaGVja051bShzdHJbMl0pXHJcblx0XHRcdFx0aWYgKHRoYXQuaXNOdW0gPT0gZmFsc2UpIHtcclxuXHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnd2FybicpO1xyXG5cdFx0XHRcdFx0dGhhdC5tZXNzYWdlVGV4dCA9ICfllYblk4HnvJbnoIHmnInor6/vvIzor7fph43or5XvvIEnO1xyXG5cdFx0XHRcdFx0dGhhdC5mb3Vjc3MoKTtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Zm9yIChsZXQgayA9IDA7IGsgPCB0aGF0Lm1hdExpc3QubGVuZ3RoO2srKykge1xyXG5cdFx0XHRcdFx0aWYgKHRoYXQubWF0TGlzdFtrXS5tYXRuciAhPSBtYXRucikge1xyXG5cdFx0XHRcdFx0XHR0aGF0Lm1lc3NhZ2VUb2dnbGUoJ3dhcm4nKTtcclxuXHRcdFx0XHRcdFx0dGhhdC5tZXNzYWdlVGV4dCA9ICfllYblk4Hnp43nsbvkuI3kuIDoh7TvvIzor7fph43or5XvvIEnO1xyXG5cdFx0XHRcdFx0XHR0aGF0LmZvdWNzcygpO1xyXG5cdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdC8vIHJldHVybjtcclxuXHRcdFx0XHQvLyB1bmkuc2hvd0xvYWRpbmcoKTtcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0ICAgIHVybDogdGhhdC5jb21tb25VcmwgKyAnL21hdC9hdXRoJyxcclxuXHRcdFx0XHQgICAgZGF0YToge1xyXG5cdFx0XHRcdFx0XHRtYXRucjptYXRuclxyXG5cdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdCAgICBoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0J3Rva2VuJzp1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuJylcclxuXHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3MocmVzdWx0KSB7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHQvLyB1bmkudmlicmF0ZVNob3J0KCk7XHJcblx0XHRcdFx0XHRcdGxldCByZXMgPSByZXN1bHQuZGF0YVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCAmJiByZXMuZGF0YSkge1xyXG5cdFx0XHRcdFx0XHRcdGxldCBhZGQgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdGxldCBtYXQgPSByZXMuZGF0YTtcclxuXHRcdFx0XHRcdFx0XHRtYXRbJ2JhdGNoJ10gPSBzdHJbMl07XHJcblx0XHRcdFx0XHRcdFx0bWF0WydhbmZtZSddID0gMVxyXG5cdFx0XHRcdFx0XHRcdGZvcihsZXQgaSA9IDA7aSA8IHRoYXQubWF0TGlzdC5sZW5ndGg7aSsrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRpZih0aGF0Lm1hdExpc3RbaV0uYmF0Y2ggPT0gc3RyWzJdKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnd2FybicpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0Lm1lc3NhZ2VUZXh0ID0gJ+mHjeWkjeaJq+aPjyc7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuZm91Y3NzKCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGFkZCA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRpZihhZGQpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnc3VjY2VzcycpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5tZXNzYWdlVGV4dCA9ICfmo4DntKLmiJDlip8nO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5tYXRMaXN0LnVuc2hpZnQocmVzLmRhdGEpXHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0LmZvdWNzcygpO1xyXG5cdFx0XHRcdFx0XHRcdH0gXHJcblx0XHRcdFx0XHRcdFx0dGhhdC5saXN0TGVuID0gdGhhdC5tYXRMaXN0Lmxlbmd0aDtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuY29kZSA9PSA0MDMpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGF0Lm1lc3NhZ2VUb2dnbGUoJ2Vycm9yJylcclxuXHRcdFx0XHRcdFx0XHR0aGF0Lm1lc3NhZ2VUZXh0ID0gcmVzLm1zZ1xyXG5cdFx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnJlTGF1bmNoKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dXJsOiAnLi4vbG9naW4vbG9naW4nXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxMDAwKTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGF0Lm1lc3NhZ2VUb2dnbGUoJ2Vycm9yJylcclxuXHRcdFx0XHRcdFx0XHR0aGF0Lm1lc3NhZ2VUZXh0ID0gcmVzLm1zZ1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRcdC8vIHVuaS5zaG93VG9hc3Qoe3RpdGxlOiByZXMubXNnLCBpY29uOiBcIm5vbmVcIixwb3NpdGlvbjogJ3RvcCd9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHJcblx0XHRcdGNoYW5nZShlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ+W9k+WJjeaooeW8j++8micgKyBlLnR5cGUgKyAnLOeKtuaAge+8micgKyBlLnNob3cpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuXHJcblxyXG48c3R5bGU+XHJcblx0LyogQGltcG9ydCBcIi4uLy4uL2NvbG9ydWkvbWFpbi5jc3NcIjtcclxuXHRAaW1wb3J0IFwiLi4vLi4vY29sb3J1aS9pY29uLmNzc1wiOyAqL1xyXG5cdC8qIFxyXG5cdFxyXG5cdCAqL1xyXG5cdC5wb3AtYnRuIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Ym90dG9tOiAyMHJweDtcclxuXHR9XHJcblx0LnBhay1zZWFjaC1ib3gge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMHJweCAxNXJweDtcclxuXHRcdHdpZHRoOiA5NiU7XHJcblx0XHRoZWlnaHQ6IDE1MHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdH1cclxuXHQuYm94LXRvcHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0aGVpZ2h0OiA2MHJweDtcclxuXHRcdHdpZHRoOiA3MjBycHg7XHJcblx0fVxyXG5cdC5jb2xvci1ibG9jay1ibHVlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxRTlGRkY7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMCAxNXJweDtcclxuXHRcdHdpZHRoOiAxMnJweDtcclxuXHRcdGhlaWdodDogNDBycHg7XHJcblx0XHRib3JkZXI6IDVycHggc29saWQgIzFFOUZGRjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdH1cclxuXHQudGl0bGUge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRmb250LXNpemU6IDM0cnB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdGhlaWdodDogNTBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTBycHg7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHJweDtcclxuXHR9XHJcblx0LmJveC1idXR0b20ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcclxuXHRcdHdpZHRoOiA2NSU7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0XHRtYXJnaW46IDE1cnB4IDE1cnB4IDBycHggMTVycHg7XHJcblx0fVxyXG5cdC5ib3gtYnV0dG9tIGlucHV0IHtcclxuXHRcdHdpZHRoOiA3NSU7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG1hcmdpbjogOHJweCAxMHJweCAwcnB4IDI1cnB4O1xyXG5cdH1cclxuXHQuYm94LWJ1dHRvbSAuc2VhcmNoLWljb257XHJcblx0XHR3aWR0aDogNjBycHg7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0bWFyZ2luLXRvcDogNXJweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBycHg7XHJcblx0fVxyXG5cdC8qIC5wYWstc2VhY2gtYm94IGlucHV0IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XHJcblx0XHRib3JkZXI6IDFycHggc29saWQgI2Q4ZDhkODtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR3aWR0aDogNzAlO1xyXG5cdFx0aGVpZ2h0OiA2MHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA2MHJweDtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMHJweCAxNXJweDtcclxuXHRcdHBhZGRpbmctbGVmdDogMjBycHg7XHJcblx0fSAqL1xyXG5cdC5wYWstc2VhY2gtYm94IGJ1dHRvbiB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMUU5RkZGO1xyXG5cdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHR3aWR0aDogMTgwcnB4O1xyXG5cdFx0aGVpZ2h0OiA2MHJweDtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMHJweCAxNXJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA2MHJweDtcclxuXHR9XHJcblx0LnBha2luLWJ0biB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMUU5RkZGO1xyXG5cdH1cclxuXHQucGFrLWRhdGEtYm94IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcblx0XHRtYXJnaW46IDE1cnB4IDE1cnB4IDBycHggMTVycHg7XHJcblx0XHR3aWR0aDogOTYlO1xyXG5cdFx0aGVpZ2h0OiA3MHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdH1cclxuXHQucGFrLWRhdGEtYm94IC5ib3gtdG9wIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcblx0XHRoZWlnaHQ6IDcwcnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHggMjBycHggMjBycHggMjBycHg7XHJcblx0fVxyXG5cdC5iZy1mYWxzZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdH1cclxuXHQuYmctdHJ1ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xyXG5cdH1cclxuXHQuZGF0YS1saXN0IHtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkOGQ4O1xyXG5cdFx0aGVpZ2h0OiAxMzBycHg7XHJcblx0XHRtYXJnaW46IDE1cnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0fVxyXG5cdC5kYXRhLWxpc3Q6Zmlyc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luLXRvcDogMjBycHg7XHJcblx0fVxyXG5cdC5kYXRhLWxpc3Q6bGFzdC1jaGlsZCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMDBycHg7XHJcblx0fVxyXG5cdC8qIC5kYXRhLWxpc3QtbGVmdCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAxMDBycHg7XHJcblx0XHRoZWlnaHQ6IDE4MHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxODBycHg7XHJcblx0fSAqL1xyXG5cdC5kYXRhLWxpc3QtbGVmdCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG1hcmdpbi1sZWZ0OiA2JTtcclxuXHRcdGhlaWdodDogMTMwcnB4O1xyXG5cdFx0LyogbGluZS1oZWlnaHQ6IDEwMHJweDsgKi9cclxuXHRcdGNvbG9yOiAjNjc2NzY3O1xyXG5cdH1cclxuXHQubWF0bnIge1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdC8qIHBhZGRpbmctdG9wOiAxNXJweDsgKi9cclxuXHRcdHBhZGRpbmctdG9wOiAxNXJweDtcclxuXHR9XHJcblx0LmRhdGEtbGlzdC1yaWdodCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRoZWlnaHQ6IDEzMHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxMzBycHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwJTtcclxuXHR9XHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///77\n");
 
 /***/ }),
 /* 78 */
@@ -6509,7 +6527,7 @@
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/common/permission.js */ 78));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = { data: function data() {return { barcode: '', barcodeFocus: true, focus: false, type: 'center', searchBox: 'hide', pick: 'hide', matnr: '', // matList:[{matnr:'1101842-10000',batch:'22047515999',color:{color:'red'}}],\n      matList: [], result: '', siteList: [], staNoList: [], satNo: '', listLen: 0, msgType: 'success', messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�', fontColor: { color: 'red' }, matCount: '', wrkNo: '' };}, onReady: function onReady() {setInterval(function () {// console.log(this.matList)\n      // this.getMatListLen()\n    }, 1000);}, mounted: function mounted() {var UIP = uni.getStorageSync('UIP');this.baseIP = UIP;var UPORT = uni.getStorageSync('UPORT');this.basePORT = UPORT;}, methods: { huanghang: function huanghang() {this.matnr = '';this.focus = false;this.$nextTick(function () {this.focus = true;});}, messageToggle: function messageToggle(type) {this.msgType = type;this.messageText = \"\\u8FD9\\u662F\\u4E00\\u6761\".concat(type, \"\\u6D88\\u606F\\u63D0\\u793A\");this.$refs.message.open();}, getMatListLen: function getMatListLen() {// this.listLen = this.matList.length;\n    }, focuss: function focuss() {// uni.hideKeyboard()\n    }, resst: function resst() {this.matList = [];this.barcode = '';this.matnr = '';this.matCount = '';uni.vibrateShort();}, removeBarcode: function removeBarcode() {this.barcode = '';uni.vibrateShort();this.barcodeFocus = false;this.$nextTick(function () {this.barcodeFocus = true;});}, removeMatnr: function removeMatnr() {this.matnr = '';uni.vibrateShort();\n      this.focus = false;\n      this.$nextTick(function () {\n        this.focus = true;\n      });\n    },\n    remove: function remove(item, index) {\n      this.matList.splice(index, 1);\n      this.listLen = this.matList.length;\n      this.messageToggle('success');\n      this.messageText = '鍒犻櫎鎴愬姛';\n      uni.vibrateShort();\n    },\n\n    selectMat: function selectMat() {\n      var that = this;\n      uni.vibrateShort();\n      uni.showLoading();\n      uni.navigateTo({\n        url: \"matSelect\",\n        events: {\n          // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹甛n          acceptDataFromOpenedPage: function acceptDataFromOpenedPage(data) {\n            that.matnr = data.data;\n            that.findMat(that.matnr);\n          } },\n\n        success: function success(res) {\n          // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹甛n          res.eventChannel.emit('acceptDataFromOpenerPage', { baseIP: that.baseIP, basePORT: that.basePORT });\n        } });\n\n      that.matnr = '';\n    },\n    findBarcode: function findBarcode() {\n      var that = this;\n      uni.request({\n        url: that.baseHttp + that.baseIP + ':' + that.basePORT + that.baseUrl + '/mobile/pakout/confirm/barcode/auth',\n        data: {\n          barcode: that.barcode },\n\n        header: {\n          'token': uni.getStorageSync('token') },\n\n        success: function success(result) {\n          __f__(\"log\", result, \" at pages/basics/checkout.vue:192\");\n          var res = result.data;\n          if (res.code === 200) {\n            if (res.data.ioType === 101) {\n              that.matList = res.data.list.concat(that.matList);\n              that.listLen = that.matList.length;\n              return;\n            }\n            if (res.data.ioType === 103 || res.data.ioType === 104 || res.data.ioType === 107) {\n              that.matCount = res.data.list.length;\n              that.wrkNo = res.data.list[0].wrkNo;\n              return;\n            }\n            // if (res.data) {\n            // \tthat.matCount = res.data.length\n            // }\n          } else if (res.code === 403) {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n            setTimeout(function () {\n              uni.reLaunch({\n                url: '../login/login' });\n\n            }, 1000);\n          } else {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n          }\n\n        } });\n\n\n    },\n    findMat: function findMat() {\n      var that = this;\n      uni.request({\n        url: that.baseHttp + that.baseIP + ':' + that.basePORT + that.baseUrl + '/mobile/pakout/confirm/pick/auth',\n        data: {\n          wrkNo: that.wrkNo,\n          matnr: that.matnr },\n\n        header: {\n          'token': uni.getStorageSync('token') },\n\n        success: function success(result) {\n          __f__(\"log\", result, \" at pages/basics/checkout.vue:235\");\n          var res = result.data;\n          if (res.code === 200) {\n            if (res.data) {\n              if (that.matList.length == 0) {\n                that.matList.push(res.data);\n                that.listLen = that.matList.length;\n                that.huanghang();\n                return;\n              }\n              for (var i = 0; i < that.matList.length; i++) {\n                if (that.matList.length < that.matCount) {\n                  if (JSON.stringify(that.matList[i]) === JSON.stringify(res.data)) {\n                    that.messageToggle('warn');\n                    that.messageText = '璇ュ晢鍝佸凡娣诲姞';\n                    that.huanghang();\n                    return;\n                  } else {\n                    that.matList.unshift(res.data);\n                    that.listLen = that.matList.length;\n                    that.huanghang();\n                    return;\n                  }\n                } else {\n                  that.messageToggle('warn');\n                  that.messageText = '宸插嚭鍏ㄩ儴鍟嗗搧锛岃纭鍑哄簱';\n                  that.huanghang();\n                  return;\n                }\n              }\n            }\n          } else if (res.code == 403) {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n            setTimeout(function () {\n              uni.reLaunch({\n                url: '../login/login' });\n\n            }, 1000);\n          } else {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n          }\n\n        } });\n\n    },\n    comb: function comb() {\n      var that = this;\n      if (that.barcode === '') {\n        this.messageToggle('error');\n        this.messageText = '璇锋壂鎻忔墭鐩樼爜';\n        return;\n      }\n      if (that.barcode.length !== 8) {\n        this.messageToggle('error');\n        this.messageText = '鎵樼洏鐮佸繀椤讳负8浣�';\n        return;\n      }\n      if (that.matList.length === 0) {\n        this.messageToggle('error');\n        this.messageText = '璇锋坊鍔犲晢鍝佸垪琛�';\n        return;\n      }\n\n      if (that.matList.length < that.matCount) {\n        var len = that.matCount - that.matList.length;\n        that.messageToggle('error');\n        that.messageText = '杩樺墿' + len + '浠舵湭鎵弿';\n        return;\n      }\n      uni.showLoading();\n      uni.request({\n        url: that.baseHttp + that.baseIP + ':' + that.basePORT + that.baseUrl + '/mobile/pakout/confirm/auth',\n        data: that.matList,\n        method: 'POST',\n        header: {\n          'token': uni.getStorageSync('token') },\n\n        success: function success(result) {\n          uni.showLoading();\n          var res = result.data;\n          if (res.code === 200) {\n            uni.showToast({ title: res.msg, position: 'bottom', duration: 1000 });\n            that.resst();\n          } else if (res.code == 403) {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n            setTimeout(function () {\n              uni.reLaunch({\n                url: '../login/login' });\n\n            }, 1000);\n          } else {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n          }\n        } });\n\n    },\n    getCheckDetl: function getCheckDetl() {// 鑾峰彇鍑哄簱鍙h揣鐗╀俊鎭痋n      var that = this;\n\n    }, // getCheckDetl\n    change: function change(e) {\n    },\n    toggle: function toggle(type) {\n      this.type = type;\n      // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�n      this.$refs.goodsSearch.open(type);\n    },\n    checkbox: function checkbox(e) {\n      var items = this.data,\n      values = e.detail.value;\n      for (var i = 0, lenI = items.length; i < lenI; ++i) {\n        var item = items[i];\n        item.id = item.id + '';\n        if (values.indexOf(item.id) >= 0) {\n          this.$set(item, 'checked', true);\n        } else {\n          this.$set(item, 'checked', false);\n        }\n      }\n      if (values.length == items.length) {\n        this.check = true;\n        this.checkText = \"鍙栨秷鍏ㄩ�塡";\n      } else {\n        this.check = false;\n        this.checkText = \"鍏ㄩ�塡";\n      }\n      uni.vibrateShort();\n    } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYmFzaWNzL2NoZWNrb3V0LnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVFQSxnRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQUNBLEVBQ0EsSUFEQSxrQkFDQSxDQUNBLFNBQ0EsV0FEQSxFQUVBLGtCQUZBLEVBR0EsWUFIQSxFQUlBLGNBSkEsRUFLQSxpQkFMQSxFQU1BLFlBTkEsRUFPQSxTQVBBLEVBUUE7QUFDQSxpQkFUQSxFQVVBLFVBVkEsRUFXQSxZQVhBLEVBWUEsYUFaQSxFQWFBLFNBYkEsRUFjQSxVQWRBLEVBZUEsa0JBZkEsRUFnQkEsdUJBaEJBLEVBaUJBLDJCQWpCQSxFQWtCQSxZQWxCQSxFQW1CQSxTQW5CQSxHQXFCQSxDQXZCQSxFQXdCQSxPQXhCQSxxQkF3QkEsQ0FDQSx5QkFDQTtBQUNBO0FBQ0EsS0FIQSxFQUdBLElBSEEsRUFJQSxDQTdCQSxFQThCQSxPQTlCQSxxQkE4QkEsQ0FDQSxvQ0FDQSxrQkFDQSx3Q0FDQSxzQkFFQSxDQXBDQSxFQXFDQSxXQUNBLFNBREEsdUJBQ0EsQ0FDQSxnQkFDQSxtQkFDQSw0QkFDQSxrQkFDQSxDQUZBLEVBSUEsQ0FSQSxFQVNBLGFBVEEseUJBU0EsSUFUQSxFQVNBLENBQ0Esb0JBQ0EsdUZBQ0EsMEJBQ0EsQ0FiQSxFQWNBLGFBZEEsMkJBY0EsQ0FDQTtBQUNBLEtBaEJBLEVBaUJBLE1BakJBLG9CQWlCQSxDQUNBO0FBQ0EsS0FuQkEsRUFvQkEsS0FwQkEsbUJBb0JBLENBQ0Esa0JBQ0Esa0JBQ0EsZ0JBQ0EsbUJBQ0EsbUJBQ0EsQ0ExQkEsRUEyQkEsYUEzQkEsMkJBMkJBLENBQ0Esa0JBQ0EsbUJBQ0EsMEJBQ0EsNEJBQ0EseUJBQ0EsQ0FGQSxFQUdBLENBbENBLEVBbUNBLFdBbkNBLHlCQW1DQSxDQUNBLGdCQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FGQTtBQUdBLEtBMUNBO0FBMkNBLFVBM0NBLGtCQTJDQSxJQTNDQSxFQTJDQSxLQTNDQSxFQTJDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQWpEQTs7QUFtREEsYUFuREEsdUJBbURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFEQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUxBLEVBRkE7O0FBU0E7QUFDQTtBQUNBO0FBQ0EsU0FaQTs7QUFjQTtBQUNBLEtBdEVBO0FBdUVBLGVBdkVBLHlCQXVFQTtBQUNBO0FBQ0E7QUFDQSxxSEFEQTtBQUVBO0FBQ0EsK0JBREEsRUFGQTs7QUFLQTtBQUNBLDhDQURBLEVBTEE7O0FBUUEsZUFSQSxtQkFRQSxNQVJBLEVBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBZEEsTUFjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQURBOztBQUdBLGFBSkEsRUFJQSxJQUpBO0FBS0EsV0FQQSxNQU9BO0FBQ0E7QUFDQTs7QUFFQSxTQXBDQTs7O0FBdUNBLEtBaEhBO0FBaUhBLFdBakhBLHFCQWlIQTtBQUNBO0FBQ0E7QUFDQSxrSEFEQTtBQUVBO0FBQ0EsMkJBREE7QUFFQSwyQkFGQSxFQUZBOztBQU1BO0FBQ0EsOENBREEsRUFOQTs7QUFTQSxlQVRBLG1CQVNBLE1BVEEsRUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFMQSxNQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQVpBLE1BWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBN0JBLE1BNkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBREE7O0FBR0EsYUFKQSxFQUlBLElBSkE7QUFLQSxXQVBBLE1BT0E7QUFDQTtBQUNBOztBQUVBLFNBcERBOztBQXNEQSxLQXpLQTtBQTBLQSxRQTFLQSxrQkEwS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkdBREE7QUFFQSwwQkFGQTtBQUdBLHNCQUhBO0FBSUE7QUFDQSw4Q0FEQSxFQUpBOztBQU9BLGVBUEEsbUJBT0EsTUFQQSxFQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBSEEsTUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQURBOztBQUdBLGFBSkEsRUFJQSxJQUpBO0FBS0EsV0FQQSxNQU9BO0FBQ0E7QUFDQTtBQUNBLFNBdkJBOztBQXlCQSxLQTVOQTtBQTZOQSxnQkE3TkEsMEJBNk5BO0FBQ0E7O0FBRUEsS0FoT0EsRUFnT0E7QUFDQSxVQWpPQSxrQkFpT0EsQ0FqT0EsRUFpT0E7QUFDQSxLQWxPQTtBQW1PQSxVQW5PQSxrQkFtT0EsSUFuT0EsRUFtT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXZPQTtBQXdPQTtBQUNBO0FBQ0EsNkJBREE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FGQSxNQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FIQSxNQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQTVQQSxFQXJDQSxFIiwiZmlsZSI6Ijg4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3ID5cclxuXHRcdDxzY3JvbGwtdmlldyBzY3JvbGwteSBjbGFzcz1cInNjcm9sbC1ZXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLTJcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS10aXRsZVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZS1zaWduXCI+PHZpZXcgY2xhc3M9XCJzaWduXCI+PC92aWV3Pjwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtdGV4dFwiPjx0ZXh0PuaJmOebmOadoeeggTwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLWNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY29udGVudC1pbnB1dFwiPlxyXG5cdFx0XHRcdFx0XHQ8aW5wdXQgdi1tb2RlbD1cImJhcmNvZGVcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwi5omr56CBIC8g6L6T5YWlXCIgbWF4bGVuZ3RoPVwiOFwiIFxyXG5cdFx0XHRcdFx0XHRAaW5wdXQ9XCJmaW5kQmFyY29kZSgpXCIgOmZvY3VzPVwiYmFyY29kZUZvY3VzXCIgQGZvY3VzPVwiZm9jdXNzXCIgPlxyXG5cdFx0XHRcdFx0XHQ8dW5pLWljb25zIHR5cGU9XCJjbG9zZWVtcHR5XCIgc2l6ZT1cIjIwXCIgY29sb3I9XCIjZGFkYWRhXCIgQGNsaWNrPVwicmVtb3ZlQmFyY29kZSgpXCI+PC91bmktaWNvbnM+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLTJcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS10aXRsZVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZS1zaWduXCI+PHZpZXcgY2xhc3M9XCJzaWduXCI+PC92aWV3Pjwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtdGV4dFwiPjx0ZXh0Pui0p+WTgeadoeeggTwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLWNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY29udGVudC1pbnB1dC1jb21ib3hcIiBzdHlsZT1cIndpZHRoOiA5NCU7XCI+XHJcblx0XHRcdFx0XHRcdDxpbnB1dCBzdHlsZT1cIndpZHRoOiA5MCU7XCIgdHlwZT1cInRleHRcIiB2LW1vZGVsPVwibWF0bnJcIiBwbGFjZWhvbGRlcj1cIuaJq+eggSAvIOi+k+WFpVwiIEBpbnB1dD1cImZpbmRNYXQoKVwiOmZvY3VzPVwiZm9jdXNcIlxyXG5cdFx0XHRcdFx0XHQgQGZvY3VzPVwiZm9jdXNzXCI+XHJcblx0XHRcdFx0XHRcdDwhLS0gQGZvY3VzPVwiZm9jdXNzXCIgLS0+XHJcblx0XHRcdFx0XHRcdDx1bmktaWNvbnMgdHlwZT1cImNsb3NlZW1wdHlcIiBzaXplPVwiMjBcIiBjb2xvcj1cIiNkYWRhZGFcIiBAY2xpY2s9XCJyZW1vdmVNYXRucigpXCI+PC91bmktaWNvbnM+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS0xXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtdGl0bGVcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtc2lnblwiPjx2aWV3IGNsYXNzPVwic2lnblwiPjwvdmlldz48L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLXRleHRcIj48dGV4dD7llYblk4HliJfooag8L3RleHQ+PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgdi1zaG93PVwibWF0Q291bnQgPiAwXCIgc3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ZmxvYXQ6IHJpZ2h0O2hlaWdodDogMTAwcnB4O2xpbmUtaGVpZ2h0OiAxMDBycHg7bWFyZ2luLXJpZ2h0OiA1MHJweDtcIj7or7fmiavnoIHpgInlj5Yge3ttYXRDb3VudH19IOS7tuWVhuWTgTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtbm9uZVwiIHYtc2hvdz1cIm1hdExpc3QubGVuZ3RoID09PSAwXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ2LXNob3dcIj7mmoLml6Dmm7TlpJrmlbDmja4uIC4gLiA8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PGNoZWNrYm94LWdyb3VwIEBjaGFuZ2U9XCJjaGVja2JveFwiPlxyXG5cdFx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIG1hdExpc3RcIiA6a2V5PVwiaW5kZXhcIiBjbGFzcz1cImRhdGEtbGlzdCBiZy1mYWxzZVwiIDpjbGFzcz1cIidiZy0nK2l0ZW0uY2hlY2tlZFwiID5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZGF0YS1saXN0LWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtYXRuclwiIDpzdHlsZT1cIml0ZW0uY29sb3JcIj5Obzp7e2xpc3RMZW4taW5kZXh9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtYXRuclwiIDpzdHlsZT1cIml0ZW0uY29sb3JcIj57e2l0ZW0ubWF0bnJ9fS17e2l0ZW0uYmF0Y2h9fTwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZGF0YS1saXN0LXJpZ2h0XCI+XHJcblx0XHRcdFx0XHRcdDx1bmktaWNvbnMgdHlwZT1cInRyYXNoXCIgc2l6ZT1cIjIwXCIgY29sb3I9XCIjYTVhNWE1XCIgQGNsaWNrPVwicmVtb3ZlKGl0ZW0saW5kZXgpXCI+PC91bmktaWNvbnM+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L2NoZWNrYm94LWdyb3VwPlxyXG5cdFx0PC9zY3JvbGwtdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZm9vdGVyIGZsZXgganVzdGlmeS1hcm91bmRcIj5cclxuXHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cImN1LWJ0biBsZ1wiIEBjbGljaz1cInJlc3N0KClcIj7ph43nva48L2J1dHRvbj5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldz5cclxuXHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwiY3UtYnRuIGxnIHBha2luLWJ0biBiZy1ibHVlXCIgQGNsaWNrPVwiY29tYigpXCI+56Gu6K6kPC9idXR0b24+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3PlxyXG5cdFx0XHQ8IS0tIOaPkOekuuS/oeaBr+W8ueeqlyAtLT5cclxuXHRcdFx0PHVuaS1wb3B1cCByZWY9XCJtZXNzYWdlXCIgdHlwZT1cIm1lc3NhZ2VcIj5cclxuXHRcdFx0XHQ8dW5pLXBvcHVwLW1lc3NhZ2UgOnR5cGU9XCJtc2dUeXBlXCIgOm1lc3NhZ2U9XCJtZXNzYWdlVGV4dFwiIDpkdXJhdGlvbj1cIjIwMDBcIj48L3VuaS1wb3B1cC1tZXNzYWdlPlxyXG5cdFx0XHQ8L3VuaS1wb3B1cD5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCBwZXJtaXNpb24gZnJvbSBcIkAvY29tbW9uL3Blcm1pc3Npb24uanNcIlxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0YmFyY29kZTogJycsXHJcblx0XHRcdFx0YmFyY29kZUZvY3VzOnRydWUsXHJcblx0XHRcdFx0Zm9jdXM6ZmFsc2UsXHJcblx0XHRcdFx0dHlwZTogJ2NlbnRlcicsXHJcblx0XHRcdFx0c2VhcmNoQm94OiAnaGlkZScsXHJcblx0XHRcdFx0cGljazonaGlkZScsXHJcblx0XHRcdFx0bWF0bnI6JycsXHJcblx0XHRcdFx0Ly8gbWF0TGlzdDpbe21hdG5yOicxMTAxODQyLTEwMDAwJyxiYXRjaDonMjIwNDc1MTU5OTknLGNvbG9yOntjb2xvcjoncmVkJ319XSxcclxuXHRcdFx0XHRtYXRMaXN0OltdLFxyXG5cdFx0XHRcdHJlc3VsdDogJycsXHJcblx0XHRcdFx0c2l0ZUxpc3Q6W10sXHJcblx0XHRcdFx0c3RhTm9MaXN0OltdLFxyXG5cdFx0XHRcdHNhdE5vOicnLFxyXG5cdFx0XHRcdGxpc3RMZW46MCxcclxuXHRcdFx0XHRtc2dUeXBlOiAnc3VjY2VzcycsXHJcblx0XHRcdFx0bWVzc2FnZVRleHQ6ICfov5nmmK/kuIDmnaHmiJDlip/mj5DnpLonLFxyXG5cdFx0XHRcdGZvbnRDb2xvcjp7Y29sb3I6J3JlZCd9LFxyXG5cdFx0XHRcdG1hdENvdW50OicnLFxyXG5cdFx0XHRcdHdya05vOicnLFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25SZWFkeSgpIHtcclxuXHRcdFx0c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLm1hdExpc3QpXHJcblx0XHRcdFx0Ly8gdGhpcy5nZXRNYXRMaXN0TGVuKClcclxuXHRcdFx0fSwxMDAwKVxyXG5cdFx0fSxcclxuXHRcdG1vdW50ZWQoKXtcclxuXHRcdFx0Y29uc3QgVUlQID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdVSVAnKTtcclxuXHRcdFx0dGhpcy5iYXNlSVAgPSBVSVA7XHJcblx0XHRcdGNvbnN0IFVQT1JUID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdVUE9SVCcpO1xyXG5cdFx0XHR0aGlzLmJhc2VQT1JUID0gVVBPUlRcclxuXHRcdFx0XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRodWFuZ2hhbmcoKSB7XHJcblx0XHRcdFx0dGhpcy5tYXRuciA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb2N1cyA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0dGhpcy5mb2N1cyA9IHRydWU7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0bWVzc2FnZVRvZ2dsZSh0eXBlKSB7XHJcblx0XHRcdFx0dGhpcy5tc2dUeXBlID0gdHlwZVxyXG5cdFx0XHRcdHRoaXMubWVzc2FnZVRleHQgPSBg6L+Z5piv5LiA5p2hJHt0eXBlfea2iOaBr+aPkOekumBcclxuXHRcdFx0XHR0aGlzLiRyZWZzLm1lc3NhZ2Uub3BlbigpXHJcblx0XHRcdH0sXHJcblx0XHRcdGdldE1hdExpc3RMZW4oKSB7XHJcblx0XHRcdFx0Ly8gdGhpcy5saXN0TGVuID0gdGhpcy5tYXRMaXN0Lmxlbmd0aDtcclxuXHRcdFx0fSxcclxuXHRcdFx0Zm9jdXNzKCkge1xyXG5cdFx0XHRcdC8vIHVuaS5oaWRlS2V5Ym9hcmQoKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRyZXNzdCgpIHtcclxuXHRcdFx0XHR0aGlzLm1hdExpc3QgPSBbXVxyXG5cdFx0XHRcdHRoaXMuYmFyY29kZSA9ICcnXHJcblx0XHRcdFx0dGhpcy5tYXRuciA9ICcnXHJcblx0XHRcdFx0dGhpcy5tYXRDb3VudCA9ICcnXHJcblx0XHRcdFx0dW5pLnZpYnJhdGVTaG9ydCgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRyZW1vdmVCYXJjb2RlKCkge1xyXG5cdFx0XHRcdHRoaXMuYmFyY29kZSA9ICcnXHJcblx0XHRcdFx0dW5pLnZpYnJhdGVTaG9ydCgpO1x0XHJcblx0XHRcdFx0dGhpcy5iYXJjb2RlRm9jdXMgPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLiRuZXh0VGljayhmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdHRoaXMuYmFyY29kZUZvY3VzID0gdHJ1ZTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVtb3ZlTWF0bnIoKSB7XHJcblx0XHRcdFx0dGhpcy5tYXRuciA9ICcnXHJcblx0XHRcdFx0dW5pLnZpYnJhdGVTaG9ydCgpO1xyXG5cdFx0XHRcdHRoaXMuZm9jdXMgPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLiRuZXh0VGljayhmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdHRoaXMuZm9jdXMgPSB0cnVlO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRyZW1vdmUoaXRlbSxpbmRleCkge1xyXG5cdFx0XHRcdHRoaXMubWF0TGlzdC5zcGxpY2UoaW5kZXgsMSk7XHJcblx0XHRcdFx0dGhpcy5saXN0TGVuID0gdGhpcy5tYXRMaXN0Lmxlbmd0aFxyXG5cdFx0XHRcdHRoaXMubWVzc2FnZVRvZ2dsZSgnc3VjY2VzcycpXHJcblx0XHRcdFx0dGhpcy5tZXNzYWdlVGV4dCA9ICfliKDpmaTmiJDlip8nXHJcblx0XHRcdFx0dW5pLnZpYnJhdGVTaG9ydCgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRcclxuXHRcdFx0c2VsZWN0TWF0KCkge1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpc1xyXG5cdFx0XHRcdHVuaS52aWJyYXRlU2hvcnQoKTtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoKTtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6IFwibWF0U2VsZWN0XCIsXHJcblx0XHRcdFx0XHRldmVudHM6IHtcclxuXHRcdFx0XHRcdCAgICAvLyDkuLrmjIflrprkuovku7bmt7vliqDkuIDkuKrnm5HlkKzlmajvvIzojrflj5booqvmiZPlvIDpobXpnaLkvKDpgIHliLDlvZPliY3pobXpnaLnmoTmlbDmja5cclxuXHRcdFx0XHRcdCAgICBhY2NlcHREYXRhRnJvbU9wZW5lZFBhZ2U6IGZ1bmN0aW9uKGRhdGEpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGF0Lm1hdG5yID0gZGF0YS5kYXRhXHJcblx0XHRcdFx0XHRcdFx0dGhhdC5maW5kTWF0KHRoYXQubWF0bnIpXHJcblx0XHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHRcdCAgfSxcclxuXHRcdFx0XHRcdCAgc3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHQgICAgLy8g6YCa6L+HZXZlbnRDaGFubmVs5ZCR6KKr5omT5byA6aG16Z2i5Lyg6YCB5pWw5o2uXHJcblx0XHRcdFx0XHQgICAgcmVzLmV2ZW50Q2hhbm5lbC5lbWl0KCdhY2NlcHREYXRhRnJvbU9wZW5lclBhZ2UnLCB7YmFzZUlQOnRoYXQuYmFzZUlQLCBiYXNlUE9SVDp0aGF0LmJhc2VQT1JUIH0pXHJcblx0XHRcdFx0XHQgIH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHR0aGF0Lm1hdG5yID0gJydcclxuXHRcdFx0fSxcclxuXHRcdFx0ZmluZEJhcmNvZGUoKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzXHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdCAgICB1cmw6IHRoYXQuYmFzZUh0dHAgKyB0aGF0LmJhc2VJUCArICc6JyArdGhhdC5iYXNlUE9SVCArIHRoYXQuYmFzZVVybCArICcvbW9iaWxlL3Bha291dC9jb25maXJtL2JhcmNvZGUvYXV0aCcsXHJcblx0XHRcdFx0ICAgIGRhdGE6IHtcclxuXHRcdFx0XHRcdFx0YmFyY29kZTp0aGF0LmJhcmNvZGVcclxuXHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCd0b2tlbic6dW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpLFxyXG5cdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXN1bHQpIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzdWx0KVxyXG5cdFx0XHRcdFx0XHRsZXQgcmVzID0gcmVzdWx0LmRhdGE7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhLmlvVHlwZSA9PT0gMTAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0Lm1hdExpc3QgPSByZXMuZGF0YS5saXN0LmNvbmNhdCh0aGF0Lm1hdExpc3QpXHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0Lmxpc3RMZW4gPSB0aGF0Lm1hdExpc3QubGVuZ3RoO1xyXG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEuaW9UeXBlID09PSAxMDMgfHwgcmVzLmRhdGEuaW9UeXBlID09PSAxMDQgfHwgcmVzLmRhdGEuaW9UeXBlID09PSAxMDcpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXQubWF0Q291bnQgPSByZXMuZGF0YS5saXN0Lmxlbmd0aFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC53cmtObyA9IHJlcy5kYXRhLmxpc3RbMF0ud3JrTm9cclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Ly8gaWYgKHJlcy5kYXRhKSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gXHR0aGF0Lm1hdENvdW50ID0gcmVzLmRhdGEubGVuZ3RoXHJcblx0XHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5jb2RlID09PSA0MDMpIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHt0aXRsZTogcmVzLm1zZywgaWNvbjogXCJub25lXCIsIHBvc2l0aW9uOiAndG9wJ30pXHJcblx0XHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnJlTGF1bmNoKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcuLi9sb2dpbi9sb2dpbidcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0fSwgMTAwMCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7dGl0bGU6IHJlcy5tc2csIGljb246IFwibm9uZVwiLHBvc2l0aW9uOiAndG9wJ30pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHJcblx0XHRcdH0sXHJcblx0XHRcdGZpbmRNYXQoKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzXHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdCAgICB1cmw6IHRoYXQuYmFzZUh0dHAgKyB0aGF0LmJhc2VJUCArICc6JyArdGhhdC5iYXNlUE9SVCArIHRoYXQuYmFzZVVybCArICcvbW9iaWxlL3Bha291dC9jb25maXJtL3BpY2svYXV0aCcsXHJcblx0XHRcdFx0ICAgIGRhdGE6IHtcclxuXHRcdFx0XHRcdFx0d3JrTm86dGhhdC53cmtObyxcclxuXHRcdFx0XHRcdFx0bWF0bnI6dGhhdC5tYXRuclxyXG5cdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdCAgICBoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0J3Rva2VuJzp1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuJylcclxuXHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3MocmVzdWx0KSB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlc3VsdClcclxuXHRcdFx0XHRcdFx0dmFyIHJlcyA9IHJlc3VsdC5kYXRhO1xyXG5cdFx0XHRcdFx0XHRpZihyZXMuY29kZSA9PT0gMjAwICkge1xyXG5cdFx0XHRcdFx0XHRcdGlmKHJlcy5kYXRhKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAodGhhdC5tYXRMaXN0Lmxlbmd0aCA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWF0TGlzdC5wdXNoKHJlcy5kYXRhKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0Lmxpc3RMZW4gPSB0aGF0Lm1hdExpc3QubGVuZ3RoO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0Lmh1YW5naGFuZygpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRmb3IobGV0IGkgPSAwO2k8dGhhdC5tYXRMaXN0Lmxlbmd0aDtpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHRoYXQubWF0TGlzdC5sZW5ndGggPCB0aGF0Lm1hdENvdW50KXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZihKU09OLnN0cmluZ2lmeSh0aGF0Lm1hdExpc3RbaV0pID09PSBKU09OLnN0cmluZ2lmeShyZXMuZGF0YSkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnd2FybicpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5tZXNzYWdlVGV4dCA9ICfor6XllYblk4Hlt7Lmt7vliqAnO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5odWFuZ2hhbmcoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5tYXRMaXN0LnVuc2hpZnQocmVzLmRhdGEpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5saXN0TGVuID0gdGhhdC5tYXRMaXN0Lmxlbmd0aDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuaHVhbmdoYW5nKCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnd2FybicpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRleHQgPSAn5bey5Ye65YWo6YOo5ZWG5ZOB77yM6K+356Gu6K6k5Ye65bqTJztcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGF0Lmh1YW5naGFuZygpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuY29kZSA9PSA0MDMpIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHt0aXRsZTogcmVzLm1zZywgaWNvbjogXCJub25lXCIsIHBvc2l0aW9uOiAndG9wJ30pXHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkucmVMYXVuY2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcuLi9sb2dpbi9sb2dpbidcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiByZXMubXNnLCBpY29uOiBcIm5vbmVcIixwb3NpdGlvbjogJ3RvcCd9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb21iKCkge1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRpZiAodGhhdC5iYXJjb2RlID09PSAnJykge1xyXG5cdFx0XHRcdFx0dGhpcy5tZXNzYWdlVG9nZ2xlKCdlcnJvcicpXHJcblx0XHRcdFx0XHR0aGlzLm1lc3NhZ2VUZXh0ID0gJ+ivt+aJq+aPj+aJmOebmOeggSdcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHRoYXQuYmFyY29kZS5sZW5ndGggIT09IDgpIHtcclxuXHRcdFx0XHRcdHRoaXMubWVzc2FnZVRvZ2dsZSgnZXJyb3InKVxyXG5cdFx0XHRcdFx0dGhpcy5tZXNzYWdlVGV4dCA9ICfmiZjnm5jnoIHlv4XpobvkuLo45L2NJ1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhhdC5tYXRMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG5cdFx0XHRcdFx0dGhpcy5tZXNzYWdlVG9nZ2xlKCdlcnJvcicpXHJcblx0XHRcdFx0XHR0aGlzLm1lc3NhZ2VUZXh0ID0gJ+ivt+a3u+WKoOWVhuWTgeWIl+ihqCdcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0aWYgKHRoYXQubWF0TGlzdC5sZW5ndGggPCB0aGF0Lm1hdENvdW50KSB7XHJcblx0XHRcdFx0XHR2YXIgbGVuID0gdGhhdC5tYXRDb3VudCAtIHRoYXQubWF0TGlzdC5sZW5ndGhcclxuXHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnZXJyb3InKVxyXG5cdFx0XHRcdFx0dGhhdC5tZXNzYWdlVGV4dCA9ICfov5jliaknICsgbGVuICsgJ+S7tuacquaJq+aPjydcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKCk7XHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdCAgICB1cmw6IHRoYXQuYmFzZUh0dHAgKyB0aGF0LmJhc2VJUCArICc6JyArdGhhdC5iYXNlUE9SVCArIHRoYXQuYmFzZVVybCArICcvbW9iaWxlL3Bha291dC9jb25maXJtL2F1dGgnLFxyXG5cdFx0XHRcdCAgICBkYXRhOiB0aGF0Lm1hdExpc3QsXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdQT1NUJyxcclxuXHRcdFx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCd0b2tlbic6dW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpXHJcblx0XHRcdFx0ICAgIH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzKHJlc3VsdCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0dmFyIHJlcyA9IHJlc3VsdC5kYXRhXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiByZXMubXNnLHBvc2l0aW9uOiAnYm90dG9tJyxkdXJhdGlvbjogMTAwMH0pO1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQucmVzc3QoKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuY29kZSA9PSA0MDMpIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHt0aXRsZTogcmVzLm1zZywgaWNvbjogXCJub25lXCIsIHBvc2l0aW9uOiAndG9wJ30pXHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkucmVMYXVuY2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcuLi9sb2dpbi9sb2dpbidcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiByZXMubXNnLCBpY29uOiBcIm5vbmVcIixwb3NpdGlvbjogJ3RvcCd9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldENoZWNrRGV0bCgpIHsgICAvLyDojrflj5blh7rlupPlj6PotKfniankv6Hmga9cclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXNcclxuXHRcdFx0XHRcclxuXHRcdFx0fSwgLy8gZ2V0Q2hlY2tEZXRsXHJcblx0XHRcdGNoYW5nZShlKSB7XHJcblx0XHRcdH0sXHJcblx0XHRcdHRvZ2dsZSh0eXBlKSB7XHJcblx0XHRcdFx0dGhpcy50eXBlID0gdHlwZVxyXG5cdFx0XHRcdC8vIG9wZW4g5pa55rOV5Lyg5YWl5Y+C5pWwIOetieWQjOWcqCB1bmktcG9wdXAg57uE5Lu25LiK57uR5a6aIHR5cGXlsZ7mgKdcclxuXHRcdFx0XHR0aGlzLiRyZWZzLmdvb2RzU2VhcmNoLm9wZW4odHlwZSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hlY2tib3g6IGZ1bmN0aW9uIChlKSB7XHJcblx0XHRcdFx0dmFyIGl0ZW1zID0gdGhpcy5kYXRhLFxyXG5cdFx0XHRcdFx0dmFsdWVzID0gZS5kZXRhaWwudmFsdWU7XHJcblx0XHRcdFx0Zm9yICh2YXIgaSA9IDAsIGxlbkkgPSBpdGVtcy5sZW5ndGg7IGkgPCBsZW5JOyArK2kpIHtcclxuXHRcdFx0XHRcdGNvbnN0IGl0ZW0gPSBpdGVtc1tpXVxyXG5cdFx0XHRcdFx0aXRlbS5pZCA9IGl0ZW0uaWQgKyAnJ1xyXG5cdFx0XHRcdFx0aWYodmFsdWVzLmluZGV4T2YoaXRlbS5pZCkgPj0gMCl7XHJcblx0XHRcdFx0XHRcdHRoaXMuJHNldChpdGVtLCdjaGVja2VkJyx0cnVlKVxyXG5cdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdHRoaXMuJHNldChpdGVtLCdjaGVja2VkJyxmYWxzZSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHZhbHVlcy5sZW5ndGggPT0gaXRlbXMubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHR0aGlzLmNoZWNrID0gdHJ1ZVxyXG5cdFx0XHRcdFx0dGhpcy5jaGVja1RleHQgPSBcIuWPlua2iOWFqOmAiVwiXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuY2hlY2sgPSBmYWxzZVxyXG5cdFx0XHRcdFx0dGhpcy5jaGVja1RleHQgPSBcIuWFqOmAiVwiXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHVuaS52aWJyYXRlU2hvcnQoKTtcclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdC8qIEBpbXBvcnQgXCIuLi8uLi9jb2xvcnVpL21haW4uY3NzXCI7XHJcblx0QGltcG9ydCBcIi4uLy4uL2NvbG9ydWkvaWNvbi5jc3NcIjsgKi9cclxuXHJcblx0LnBhay1zZWFjaC1ib3gge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMHJweCAxNXJweDtcclxuXHRcdHdpZHRoOiA5NiU7XHJcblx0XHRoZWlnaHQ6IDE1MHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdH1cclxuXHQuYm94LXRvcHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0aGVpZ2h0OiA2MHJweDtcclxuXHRcdHdpZHRoOiA3MjBycHg7XHJcblx0fVxyXG5cdC5jb2xvci1ibG9jay1ibHVlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxRTlGRkY7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMCAxNXJweDtcclxuXHRcdHdpZHRoOiAxMnJweDtcclxuXHRcdGhlaWdodDogNDBycHg7XHJcblx0XHRib3JkZXI6IDVycHggc29saWQgIzFFOUZGRjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdH1cclxuXHQudGl0bGUge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRmb250LXNpemU6IDM0cnB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdGhlaWdodDogNTBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTBycHg7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHJweDtcclxuXHR9XHJcblx0LmJveC1idXR0b20ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcclxuXHRcdHdpZHRoOiA2NSU7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0XHRtYXJnaW46IDE1cnB4IDE1cnB4IDBycHggMTVycHg7XHJcblx0fVxyXG5cdC5ib3gtYnV0dG9tIGlucHV0IHtcclxuXHRcdHdpZHRoOiA3NSU7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG1hcmdpbjogOHJweCAxMHJweCAwcnB4IDI1cnB4O1xyXG5cdH1cclxuXHQuYm94LWJ1dHRvbSAuc2VhcmNoLWljb257XHJcblx0XHR3aWR0aDogNjBycHg7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0bWFyZ2luLXRvcDogNXJweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBycHg7XHJcblx0fVxyXG5cdFxyXG5cdC8qIC5wYWstc2VhY2gtYm94IGlucHV0IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XHJcblx0XHRib3JkZXI6IDFycHggc29saWQgI2Q4ZDhkODtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR3aWR0aDogNzAlO1xyXG5cdFx0aGVpZ2h0OiA2MHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA2MHJweDtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMHJweCAxNXJweDtcclxuXHRcdHBhZGRpbmctbGVmdDogMjBycHg7XHJcblx0fSAqL1xyXG5cdC5wYWstc2VhY2gtYm94IGJ1dHRvbiB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMUU5RkZGO1xyXG5cdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHR3aWR0aDogMTgwcnB4O1xyXG5cdFx0aGVpZ2h0OiA2MHJweDtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMHJweCAxNXJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA2MHJweDtcclxuXHR9XHJcblx0LnBha2luLWJ0biB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMUU5RkZGO1xyXG5cdH1cclxuXHQucGFrLWRhdGEtYm94IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGMUYxRjE7XHJcblx0XHRtYXJnaW46IDE1cnB4IDE1cnB4IDBycHggMTVycHg7XHJcblx0XHR3aWR0aDogOTYlO1xyXG5cdFx0aGVpZ2h0OiA3MHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdH1cclxuXHQucGFrLWRhdGEtYm94IC5ib3gtdG9wIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcblx0XHRoZWlnaHQ6IDcwcnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHggMjBycHggMjBycHggMjBycHg7XHJcblx0fVxyXG5cdC5iZy1mYWxzZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdH1cclxuXHQuYmctdHJ1ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xyXG5cdH1cclxuXHQuZGF0YS1saXN0IHtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkOGQ4O1xyXG5cdFx0aGVpZ2h0OiAxMzBycHg7XHJcblx0XHRtYXJnaW46IDE1cnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0fVxyXG5cdC5kYXRhLWxpc3Q6Zmlyc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luLXRvcDogMjBycHg7XHJcblx0fVxyXG5cdC5kYXRhLWxpc3Q6bGFzdC1jaGlsZCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMDBycHg7XHJcblx0fVxyXG5cdC8qIC5kYXRhLWxpc3QtbGVmdCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAxMDBycHg7XHJcblx0XHRoZWlnaHQ6IDE4MHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxODBycHg7XHJcblx0fSAqL1xyXG5cdC5kYXRhLWxpc3QtbGVmdCB7XHJcblx0XHR3aWR0aDogNTUwcnB4O1xyXG5cdFx0LyogYmFja2dyb3VuZC1jb2xvcjogIzAwN0FGRjsgKi9cclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDQlO1xyXG5cdFx0aGVpZ2h0OiAxMzBycHg7XHJcblx0XHRjb2xvcjogIzY3Njc2NztcclxuXHR9XHJcblx0Lm1hdG5yIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHBhZGRpbmctdG9wOiAxNXJweDtcclxuXHRcdC8qIGhlaWdodDogMTMwcnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEzMHJweDsgKi9cclxuXHR9XHJcblx0LmRhdGEtbGlzdC1yaWdodCB7XHJcblx0XHQvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjNjczOUI2OyAqL1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0d2lkdGg6IDEwMHJweDtcclxuXHRcdGhlaWdodDogMTMwcnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEzMHJweDtcclxuXHR9XHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///88\n");
+eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/common/permission.js */ 78));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = { data: function data() {return { barcode: '', barcodeFocus: true, focus: false, type: 'center', searchBox: 'hide', pick: 'hide', matnr: '', // matList:[{matnr:'1101842-10000',batch:'22047515999',color:{color:'red'}}],\n      matList: [], result: '', siteList: [], staNoList: [], satNo: '', listLen: 0, msgType: 'success', messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�', fontColor: { color: 'red' }, matCount: '', wrkNo: '' };}, onReady: function onReady() {setInterval(function () {// console.log(this.matList)\n      // this.getMatListLen()\n    }, 1000);}, onLoad: function onLoad() {setInterval(function () {uni.hideKeyboard();}, 20);}, mounted: function mounted() {var UIP = uni.getStorageSync('UIP');this.baseIP = UIP;var UPORT = uni.getStorageSync('UPORT');this.basePORT = UPORT;}, methods: { // 鍑哄簱鍒嗕负涓ょ 涓�:鍏ㄦ澘鍑哄簱 鎵弿鎵樼洏鐮佹樉绀哄叏鏉垮晢鍝� 鍙互鐩存帴纭 浜屾槸鍑忔枡鍑哄簱 鎵弿鎵樼洏鐮佹彁绀洪渶瑕佸嚭搴撴暟閲�  鎵弿璐у搧鏉$爜杈惧埌鏈�澶у嚭搴撴暟閲忓嵆鍙痋n    messageToggle: function messageToggle(type) {this.msgType = type;this.messageText = \"\\u8FD9\\u662F\\u4E00\\u6761\".concat(type, \"\\u6D88\\u606F\\u63D0\\u793A\");this.$refs.message.open();}, getMatListLen: function getMatListLen() {// this.listLen = this.matList.length;\n    }, focuss: function focuss() {// uni.hideKeyboard()\n    }, resst: function resst() {this.matList = [];this.barcode = '';this.matnr = '';this.matCount = '';this.removeBarcode();uni.vibrateShort();}, removeBarcode: function removeBarcode() {this.barcode = '';uni.vibrateShort();this.barcodeFocus = false;this.$nextTick(function () {this.barcodeFocus = true;});}, foucss: function foucss() {\n      var that = this;\n      that.focus = false;\n      setTimeout(function () {\n        that.matnr = '';\n        that.focus = true;\n      }, 100);\n\n    },\n    removeMatnr: function removeMatnr() {\n      this.matnr = '';\n      uni.vibrateShort();\n      this.focus = false;\n      this.$nextTick(function () {\n        this.focus = true;\n      });\n    },\n    remove: function remove(item, index) {\n      this.matList.splice(index, 1);\n      this.listLen = this.matList.length;\n      this.messageToggle('success');\n      this.messageText = '鍒犻櫎鎴愬姛';\n      uni.vibrateShort();\n    },\n\n    selectMat: function selectMat() {\n      var that = this;\n      uni.vibrateShort();\n      uni.showLoading();\n      uni.navigateTo({\n        url: \"matSelect\",\n        events: {\n          // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹甛n          acceptDataFromOpenedPage: function acceptDataFromOpenedPage(data) {\n            that.matnr = data.data;\n            that.findMat(that.matnr);\n          } },\n\n        success: function success(res) {\n          // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹甛n          res.eventChannel.emit('acceptDataFromOpenerPage', { baseIP: that.baseIP, basePORT: that.basePORT });\n        } });\n\n      that.matnr = '';\n    },\n    findBarcode: function findBarcode() {\n      var that = this;\n      uni.request({\n        url: that.baseHttp + that.baseIP + ':' + that.basePORT + that.baseUrl + '/mobile/pakout/confirm/barcode/auth',\n        data: {\n          barcode: that.barcode },\n\n        header: {\n          'token': uni.getStorageSync('token') },\n\n        success: function success(result) {\n          var res = result.data;\n          if (res.code === 200) {\n            if (res.data.ioType === 101) {\n              that.matList = res.data.list.concat(that.matList);\n              that.listLen = that.matList.length;\n              that.foucss();\n              return;\n            }\n            if (res.data.ioType === 103 || res.data.ioType === 104 || res.data.ioType === 107) {\n              that.matCount = res.data.list.length;\n              that.wrkNo = res.data.list[0].wrkNo;\n              that.foucss();\n              return;\n            }\n          } else if (res.code === 403) {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n            setTimeout(function () {\n              uni.reLaunch({\n                url: '../login/login' });\n\n            }, 1000);\n          } else {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n          }\n\n        } });\n\n\n    },\n    findMat: function findMat() {\n      var that = this;\n      uni.request({\n        url: that.baseHttp + that.baseIP + ':' + that.basePORT + that.baseUrl + '/mobile/pakout/confirm/pick/auth',\n        data: {\n          wrkNo: that.wrkNo,\n          matnr: that.matnr },\n\n        header: {\n          'token': uni.getStorageSync('token') },\n\n        success: function success(result) {\n          var res = result.data;\n          if (res.code === 200) {\n            if (res.data) {\n              if (that.matList.length == 0) {\n                that.matList.push(res.data);\n                that.listLen = that.matList.length;\n                that.foucss();\n                return;\n              }\n              for (var i = 0; i < that.matList.length; i++) {\n                if (that.matList.length < that.matCount) {\n                  if (JSON.stringify(that.matList[i]) === JSON.stringify(res.data)) {\n                    that.messageToggle('warn');\n                    that.messageText = '璇ュ晢鍝佸凡娣诲姞';\n                    that.foucss();\n                    return;\n                  } else {\n                    that.matList.unshift(res.data);\n                    that.listLen = that.matList.length;\n                    that.foucss();\n                    return;\n                  }\n                } else {\n                  that.messageToggle('warn');\n                  that.messageText = '宸插嚭鍏ㄩ儴鍟嗗搧锛岃纭鍑哄簱';\n                  that.foucss();\n                  return;\n                }\n              }\n            }\n          } else if (res.code == 403) {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n            setTimeout(function () {\n              uni.reLaunch({\n                url: '../login/login' });\n\n            }, 1000);\n          } else {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n            that.foucss();\n          }\n\n        } });\n\n    },\n    comb: function comb() {\n      var that = this;\n      if (that.barcode === '') {\n        this.messageToggle('error');\n        this.messageText = '璇锋壂鎻忔墭鐩樼爜';\n        return;\n      }\n      if (that.barcode.length !== 8) {\n        this.messageToggle('error');\n        this.messageText = '鎵樼洏鐮佸繀椤讳负8浣�';\n        return;\n      }\n      if (that.matList.length === 0) {\n        this.messageToggle('error');\n        this.messageText = '璇锋坊鍔犲晢鍝佸垪琛�';\n        return;\n      }\n\n      if (that.matList.length < that.matCount) {\n        var len = that.matCount - that.matList.length;\n        that.messageToggle('error');\n        that.messageText = '杩樺墿' + len + '浠舵湭鎵弿';\n        return;\n      }\n      uni.showLoading();\n      uni.request({\n        url: that.baseHttp + that.baseIP + ':' + that.basePORT + that.baseUrl + '/mobile/pakout/confirm/auth',\n        data: that.matList,\n        method: 'POST',\n        header: {\n          'token': uni.getStorageSync('token') },\n\n        success: function success(result) {\n          uni.showLoading();\n          var res = result.data;\n          if (res.code === 200) {\n            uni.showToast({ title: res.msg, position: 'bottom', duration: 1000 });\n            that.resst();\n          } else if (res.code == 403) {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n            setTimeout(function () {\n              uni.reLaunch({\n                url: '../login/login' });\n\n            }, 1000);\n          } else {\n            uni.showToast({ title: res.msg, icon: \"none\", position: 'top' });\n          }\n        } });\n\n    },\n    getCheckDetl: function getCheckDetl() {// 鑾峰彇鍑哄簱鍙h揣鐗╀俊鎭痋n      var that = this;\n\n    }, // getCheckDetl\n    change: function change(e) {\n    },\n    toggle: function toggle(type) {\n      this.type = type;\n      // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�n      this.$refs.goodsSearch.open(type);\n    },\n    checkbox: function checkbox(e) {\n      var items = this.data,\n      values = e.detail.value;\n      for (var i = 0, lenI = items.length; i < lenI; ++i) {\n        var item = items[i];\n        item.id = item.id + '';\n        if (values.indexOf(item.id) >= 0) {\n          this.$set(item, 'checked', true);\n        } else {\n          this.$set(item, 'checked', false);\n        }\n      }\n      if (values.length == items.length) {\n        this.check = true;\n        this.checkText = \"鍙栨秷鍏ㄩ�塡";\n      } else {\n        this.check = false;\n        this.checkText = \"鍏ㄩ�塡";\n      }\n      uni.vibrateShort();\n    } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYmFzaWNzL2NoZWNrb3V0LnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVFQSxnRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQUNBLEVBQ0EsSUFEQSxrQkFDQSxDQUNBLFNBQ0EsV0FEQSxFQUVBLGtCQUZBLEVBR0EsWUFIQSxFQUlBLGNBSkEsRUFLQSxpQkFMQSxFQU1BLFlBTkEsRUFPQSxTQVBBLEVBUUE7QUFDQSxpQkFUQSxFQVVBLFVBVkEsRUFXQSxZQVhBLEVBWUEsYUFaQSxFQWFBLFNBYkEsRUFjQSxVQWRBLEVBZUEsa0JBZkEsRUFnQkEsdUJBaEJBLEVBaUJBLDJCQWpCQSxFQWtCQSxZQWxCQSxFQW1CQSxTQW5CQSxHQXFCQSxDQXZCQSxFQXdCQSxPQXhCQSxxQkF3QkEsQ0FDQSx5QkFDQTtBQUNBO0FBQ0EsS0FIQSxFQUdBLElBSEEsRUFJQSxDQTdCQSxFQThCQSxNQTlCQSxvQkE4QkEsQ0FFQSx5QkFDQSxtQkFDQSxDQUZBLEVBRUEsRUFGQSxFQUlBLENBcENBLEVBcUNBLE9BckNBLHFCQXFDQSxDQUNBLG9DQUNBLGtCQUNBLHdDQUNBLHNCQUVBLENBM0NBLEVBNENBLFdBQ0E7QUFDQSxpQkFGQSx5QkFFQSxJQUZBLEVBRUEsQ0FDQSxvQkFDQSx1RkFDQSwwQkFDQSxDQU5BLEVBT0EsYUFQQSwyQkFPQSxDQUNBO0FBQ0EsS0FUQSxFQVVBLE1BVkEsb0JBVUEsQ0FDQTtBQUNBLEtBWkEsRUFhQSxLQWJBLG1CQWFBLENBQ0Esa0JBQ0Esa0JBQ0EsZ0JBQ0EsbUJBQ0EscUJBQ0EsbUJBRUEsQ0FyQkEsRUFzQkEsYUF0QkEsMkJBc0JBLENBQ0Esa0JBQ0EsbUJBQ0EsMEJBQ0EsNEJBQ0EseUJBQ0EsQ0FGQSxFQUdBLENBN0JBLEVBOEJBLE1BOUJBLG9CQThCQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUhBLEVBR0EsR0FIQTs7QUFLQSxLQXZDQTtBQXdDQSxlQXhDQSx5QkF3Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FGQTtBQUdBLEtBL0NBO0FBZ0RBLFVBaERBLGtCQWdEQSxJQWhEQSxFQWdEQSxLQWhEQSxFQWdEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXREQTs7QUF3REEsYUF4REEsdUJBd0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFEQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUxBLEVBRkE7O0FBU0E7QUFDQTtBQUNBO0FBQ0EsU0FaQTs7QUFjQTtBQUNBLEtBM0VBO0FBNEVBLGVBNUVBLHlCQTRFQTtBQUNBO0FBQ0E7QUFDQSxxSEFEQTtBQUVBO0FBQ0EsK0JBREEsRUFGQTs7QUFLQTtBQUNBLDhDQURBLEVBTEE7O0FBUUEsZUFSQSxtQkFRQSxNQVJBLEVBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FiQSxNQWFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBREE7O0FBR0EsYUFKQSxFQUlBLElBSkE7QUFLQSxXQVBBLE1BT0E7QUFDQTtBQUNBOztBQUVBLFNBbENBOzs7QUFxQ0EsS0FuSEE7QUFvSEEsV0FwSEEscUJBb0hBO0FBQ0E7QUFDQTtBQUNBLGtIQURBO0FBRUE7QUFDQSwyQkFEQTtBQUVBLDJCQUZBLEVBRkE7O0FBTUE7QUFDQSw4Q0FEQSxFQU5BOztBQVNBLGVBVEEsbUJBU0EsTUFUQSxFQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFMQSxNQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQVpBLE1BWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBN0JBLE1BNkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBREE7O0FBR0EsYUFKQSxFQUlBLElBSkE7QUFLQSxXQVBBLE1BT0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsU0FwREE7O0FBc0RBLEtBNUtBO0FBNktBLFFBN0tBLGtCQTZLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2R0FEQTtBQUVBLDBCQUZBO0FBR0Esc0JBSEE7QUFJQTtBQUNBLDhDQURBLEVBSkE7O0FBT0EsZUFQQSxtQkFPQSxNQVBBLEVBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FIQSxNQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBREE7O0FBR0EsYUFKQSxFQUlBLElBSkE7QUFLQSxXQVBBLE1BT0E7QUFDQTtBQUNBO0FBQ0EsU0F2QkE7O0FBeUJBLEtBL05BO0FBZ09BLGdCQWhPQSwwQkFnT0E7QUFDQTs7QUFFQSxLQW5PQSxFQW1PQTtBQUNBLFVBcE9BLGtCQW9PQSxDQXBPQSxFQW9PQTtBQUNBLEtBck9BO0FBc09BLFVBdE9BLGtCQXNPQSxJQXRPQSxFQXNPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBMU9BO0FBMk9BO0FBQ0E7QUFDQSw2QkFEQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUhBLE1BR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBL1BBLEVBNUNBLEUiLCJmaWxlIjoiODguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgPlxyXG5cdFx0PHNjcm9sbC12aWV3IHNjcm9sbC15IGNsYXNzPVwic2Nyb2xsLVlcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtMlwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLXRpdGxlXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLXNpZ25cIj48dmlldyBjbGFzcz1cInNpZ25cIj48L3ZpZXc+PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZS10ZXh0XCI+PHRleHQ+5omY55uY5p2h56CBPC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50LWlucHV0XCI+XHJcblx0XHRcdFx0XHRcdDxpbnB1dCB2LW1vZGVsPVwiYmFyY29kZVwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCLmiavnoIEgLyDovpPlhaVcIiBtYXhsZW5ndGg9XCI4XCIgXHJcblx0XHRcdFx0XHRcdEBpbnB1dD1cImZpbmRCYXJjb2RlKClcIiA6Zm9jdXM9XCJiYXJjb2RlRm9jdXNcIiBAZm9jdXM9XCJmb2N1c3NcIiA+XHJcblx0XHRcdFx0XHRcdDx1bmktaWNvbnMgdHlwZT1cImNsb3NlZW1wdHlcIiBzaXplPVwiMjBcIiBjb2xvcj1cIiNkYWRhZGFcIiBAY2xpY2s9XCJyZW1vdmVCYXJjb2RlKClcIj48L3VuaS1pY29ucz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtMlwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLXRpdGxlXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLXNpZ25cIj48dmlldyBjbGFzcz1cInNpZ25cIj48L3ZpZXc+PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZS10ZXh0XCI+PHRleHQ+6LSn5ZOB5p2h56CBPC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50LWlucHV0LWNvbWJveFwiIHN0eWxlPVwid2lkdGg6IDk0JTtcIj5cclxuXHRcdFx0XHRcdFx0PGlucHV0IHN0eWxlPVwid2lkdGg6IDkwJTtcIiB0eXBlPVwidGV4dFwiIHYtbW9kZWw9XCJtYXRuclwiIHBsYWNlaG9sZGVyPVwi5omr56CBIC8g6L6T5YWlXCIgQGlucHV0PVwiZmluZE1hdCgpXCI6Zm9jdXM9XCJmb2N1c1wiXHJcblx0XHRcdFx0XHRcdCBAZm9jdXM9XCJmb2N1c3NcIj5cclxuXHRcdFx0XHRcdFx0PCEtLSBAZm9jdXM9XCJmb2N1c3NcIiAtLT5cclxuXHRcdFx0XHRcdFx0PHVuaS1pY29ucyB0eXBlPVwiY2xvc2VlbXB0eVwiIHNpemU9XCIyMFwiIGNvbG9yPVwiI2RhZGFkYVwiIEBjbGljaz1cInJlbW92ZU1hdG5yKClcIj48L3VuaS1pY29ucz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLTFcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS10aXRsZVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZS1zaWduXCI+PHZpZXcgY2xhc3M9XCJzaWduXCI+PC92aWV3Pjwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtdGV4dFwiPjx0ZXh0PuWVhuWTgeWIl+ihqDwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyB2LXNob3c9XCJtYXRDb3VudCA+IDBcIiBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1ibG9jaztmbG9hdDogcmlnaHQ7aGVpZ2h0OiAxMDBycHg7bGluZS1oZWlnaHQ6IDEwMHJweDttYXJnaW4tcmlnaHQ6IDUwcnB4O1wiPuivt+aJq+eggemAieWPliB7e21hdENvdW50fX0g5Lu25ZWG5ZOBPC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInNxdWFyZS1ub25lXCIgdi1zaG93PVwibWF0TGlzdC5sZW5ndGggPT09IDBcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInYtc2hvd1wiPuaaguaXoOabtOWkmuaVsOaNri4gLiAuIDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8Y2hlY2tib3gtZ3JvdXAgQGNoYW5nZT1cImNoZWNrYm94XCI+XHJcblx0XHRcdFx0PHZpZXcgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gbWF0TGlzdFwiIDprZXk9XCJpbmRleFwiIGNsYXNzPVwiZGF0YS1saXN0IGJnLWZhbHNlXCIgOmNsYXNzPVwiJ2JnLScraXRlbS5jaGVja2VkXCIgPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkYXRhLWxpc3QtbGVmdFwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1hdG5yXCIgOnN0eWxlPVwiaXRlbS5jb2xvclwiPk5vOnt7bGlzdExlbi1pbmRleH19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1hdG5yXCIgOnN0eWxlPVwiaXRlbS5jb2xvclwiPnt7aXRlbS5tYXRucn19LXt7aXRlbS5iYXRjaH19PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkYXRhLWxpc3QtcmlnaHRcIj5cclxuXHRcdFx0XHRcdFx0PHVuaS1pY29ucyB0eXBlPVwidHJhc2hcIiBzaXplPVwiMjBcIiBjb2xvcj1cIiNhNWE1YTVcIiBAY2xpY2s9XCJyZW1vdmUoaXRlbSxpbmRleClcIj48L3VuaS1pY29ucz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvY2hlY2tib3gtZ3JvdXA+XHJcblx0XHQ8L3Njcm9sbC12aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJmb290ZXIgZmxleCBqdXN0aWZ5LWFyb3VuZFwiPlxyXG5cdFx0XHQ8dmlldz5cclxuXHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwiY3UtYnRuIGxnXCIgQGNsaWNrPVwicmVzc3QoKVwiPumHjee9rjwvYnV0dG9uPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdDxidXR0b24gY2xhc3M9XCJjdS1idG4gbGcgcGFraW4tYnRuIGJnLWJsdWVcIiBAY2xpY2s9XCJjb21iKClcIj7noa7orqQ8L2J1dHRvbj5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXc+XHJcblx0XHRcdDwhLS0g5o+Q56S65L+h5oGv5by556qXIC0tPlxyXG5cdFx0XHQ8dW5pLXBvcHVwIHJlZj1cIm1lc3NhZ2VcIiB0eXBlPVwibWVzc2FnZVwiPlxyXG5cdFx0XHRcdDx1bmktcG9wdXAtbWVzc2FnZSA6dHlwZT1cIm1zZ1R5cGVcIiA6bWVzc2FnZT1cIm1lc3NhZ2VUZXh0XCIgOmR1cmF0aW9uPVwiMjAwMFwiPjwvdW5pLXBvcHVwLW1lc3NhZ2U+XHJcblx0XHRcdDwvdW5pLXBvcHVwPlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0aW1wb3J0IHBlcm1pc2lvbiBmcm9tIFwiQC9jb21tb24vcGVybWlzc2lvbi5qc1wiXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRiYXJjb2RlOiAnJyxcclxuXHRcdFx0XHRiYXJjb2RlRm9jdXM6dHJ1ZSxcclxuXHRcdFx0XHRmb2N1czpmYWxzZSxcclxuXHRcdFx0XHR0eXBlOiAnY2VudGVyJyxcclxuXHRcdFx0XHRzZWFyY2hCb3g6ICdoaWRlJyxcclxuXHRcdFx0XHRwaWNrOidoaWRlJyxcclxuXHRcdFx0XHRtYXRucjonJyxcclxuXHRcdFx0XHQvLyBtYXRMaXN0Olt7bWF0bnI6JzExMDE4NDItMTAwMDAnLGJhdGNoOicyMjA0NzUxNTk5OScsY29sb3I6e2NvbG9yOidyZWQnfX1dLFxyXG5cdFx0XHRcdG1hdExpc3Q6W10sXHJcblx0XHRcdFx0cmVzdWx0OiAnJyxcclxuXHRcdFx0XHRzaXRlTGlzdDpbXSxcclxuXHRcdFx0XHRzdGFOb0xpc3Q6W10sXHJcblx0XHRcdFx0c2F0Tm86JycsXHJcblx0XHRcdFx0bGlzdExlbjowLFxyXG5cdFx0XHRcdG1zZ1R5cGU6ICdzdWNjZXNzJyxcclxuXHRcdFx0XHRtZXNzYWdlVGV4dDogJ+i/meaYr+S4gOadoeaIkOWKn+aPkOekuicsXHJcblx0XHRcdFx0Zm9udENvbG9yOntjb2xvcjoncmVkJ30sXHJcblx0XHRcdFx0bWF0Q291bnQ6JycsXHJcblx0XHRcdFx0d3JrTm86JycsXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvblJlYWR5KCkge1xyXG5cdFx0XHRzZXRJbnRlcnZhbChmdW5jdGlvbigpe1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMubWF0TGlzdClcclxuXHRcdFx0XHQvLyB0aGlzLmdldE1hdExpc3RMZW4oKVxyXG5cdFx0XHR9LDEwMDApXHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHQvLyAjaWZkZWYgQVBQXHJcblx0XHRcdHNldEludGVydmFsKCgpPT57XHJcblx0XHRcdFx0dW5pLmhpZGVLZXlib2FyZCgpXHJcblx0XHRcdH0sMjApXHJcblx0XHRcdC8vICNlbmRpZlxyXG5cdFx0fSxcclxuXHRcdG1vdW50ZWQoKXtcclxuXHRcdFx0Y29uc3QgVUlQID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdVSVAnKTtcclxuXHRcdFx0dGhpcy5iYXNlSVAgPSBVSVA7XHJcblx0XHRcdGNvbnN0IFVQT1JUID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdVUE9SVCcpO1xyXG5cdFx0XHR0aGlzLmJhc2VQT1JUID0gVVBPUlRcclxuXHRcdFx0XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQvLyDlh7rlupPliIbkuLrkuKTnp40g5LiAOuWFqOadv+WHuuW6kyDmiavmj4/miZjnm5jnoIHmmL7npLrlhajmnb/llYblk4Eg5Y+v5Lul55u05o6l56Gu6K6kIOS6jOaYr+WHj+aWmeWHuuW6kyDmiavmj4/miZjnm5jnoIHmj5DnpLrpnIDopoHlh7rlupPmlbDph48gIOaJq+aPj+i0p+WTgeadoeeggei+vuWIsOacgOWkp+WHuuW6k+aVsOmHj+WNs+WPr1xyXG5cdFx0XHRtZXNzYWdlVG9nZ2xlKHR5cGUpIHtcclxuXHRcdFx0XHR0aGlzLm1zZ1R5cGUgPSB0eXBlXHJcblx0XHRcdFx0dGhpcy5tZXNzYWdlVGV4dCA9IGDov5nmmK/kuIDmnaEke3R5cGV95raI5oGv5o+Q56S6YFxyXG5cdFx0XHRcdHRoaXMuJHJlZnMubWVzc2FnZS5vcGVuKClcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0TWF0TGlzdExlbigpIHtcclxuXHRcdFx0XHQvLyB0aGlzLmxpc3RMZW4gPSB0aGlzLm1hdExpc3QubGVuZ3RoO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRmb2N1c3MoKSB7XHJcblx0XHRcdFx0Ly8gdW5pLmhpZGVLZXlib2FyZCgpXHJcblx0XHRcdH0sXHJcblx0XHRcdHJlc3N0KCkge1xyXG5cdFx0XHRcdHRoaXMubWF0TGlzdCA9IFtdXHJcblx0XHRcdFx0dGhpcy5iYXJjb2RlID0gJydcclxuXHRcdFx0XHR0aGlzLm1hdG5yID0gJydcclxuXHRcdFx0XHR0aGlzLm1hdENvdW50ID0gJydcclxuXHRcdFx0XHR0aGlzLnJlbW92ZUJhcmNvZGUoKTtcclxuXHRcdFx0XHR1bmkudmlicmF0ZVNob3J0KCk7XHJcblx0XHRcdFx0XHJcblx0XHRcdH0sXHJcblx0XHRcdHJlbW92ZUJhcmNvZGUoKSB7XHJcblx0XHRcdFx0dGhpcy5iYXJjb2RlID0gJydcclxuXHRcdFx0XHR1bmkudmlicmF0ZVNob3J0KCk7XHRcclxuXHRcdFx0XHR0aGlzLmJhcmNvZGVGb2N1cyA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0dGhpcy5iYXJjb2RlRm9jdXMgPSB0cnVlO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRmb3Vjc3MoKSB7XHJcblx0XHRcdFx0Ly8gI2lmZGVmIEFQUFxyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHR0aGF0LmZvY3VzID0gZmFsc2U7XHJcblx0XHRcdFx0c2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRcdFx0dGhhdC5tYXRuciA9ICcnO1xyXG5cdFx0XHRcdFx0dGhhdC5mb2N1cyA9IHRydWU7XHJcblx0XHRcdFx0fSwgMTAwKTtcclxuXHRcdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVtb3ZlTWF0bnIoKSB7XHJcblx0XHRcdFx0dGhpcy5tYXRuciA9ICcnXHJcblx0XHRcdFx0dW5pLnZpYnJhdGVTaG9ydCgpO1xyXG5cdFx0XHRcdHRoaXMuZm9jdXMgPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLiRuZXh0VGljayhmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdHRoaXMuZm9jdXMgPSB0cnVlO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRyZW1vdmUoaXRlbSxpbmRleCkge1xyXG5cdFx0XHRcdHRoaXMubWF0TGlzdC5zcGxpY2UoaW5kZXgsMSk7XHJcblx0XHRcdFx0dGhpcy5saXN0TGVuID0gdGhpcy5tYXRMaXN0Lmxlbmd0aFxyXG5cdFx0XHRcdHRoaXMubWVzc2FnZVRvZ2dsZSgnc3VjY2VzcycpXHJcblx0XHRcdFx0dGhpcy5tZXNzYWdlVGV4dCA9ICfliKDpmaTmiJDlip8nXHJcblx0XHRcdFx0dW5pLnZpYnJhdGVTaG9ydCgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRcclxuXHRcdFx0c2VsZWN0TWF0KCkge1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpc1xyXG5cdFx0XHRcdHVuaS52aWJyYXRlU2hvcnQoKTtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoKTtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6IFwibWF0U2VsZWN0XCIsXHJcblx0XHRcdFx0XHRldmVudHM6IHtcclxuXHRcdFx0XHRcdCAgICAvLyDkuLrmjIflrprkuovku7bmt7vliqDkuIDkuKrnm5HlkKzlmajvvIzojrflj5booqvmiZPlvIDpobXpnaLkvKDpgIHliLDlvZPliY3pobXpnaLnmoTmlbDmja5cclxuXHRcdFx0XHRcdCAgICBhY2NlcHREYXRhRnJvbU9wZW5lZFBhZ2U6IGZ1bmN0aW9uKGRhdGEpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGF0Lm1hdG5yID0gZGF0YS5kYXRhXHJcblx0XHRcdFx0XHRcdFx0dGhhdC5maW5kTWF0KHRoYXQubWF0bnIpXHJcblx0XHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHRcdCAgfSxcclxuXHRcdFx0XHRcdCAgc3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHQgICAgLy8g6YCa6L+HZXZlbnRDaGFubmVs5ZCR6KKr5omT5byA6aG16Z2i5Lyg6YCB5pWw5o2uXHJcblx0XHRcdFx0XHQgICAgcmVzLmV2ZW50Q2hhbm5lbC5lbWl0KCdhY2NlcHREYXRhRnJvbU9wZW5lclBhZ2UnLCB7YmFzZUlQOnRoYXQuYmFzZUlQLCBiYXNlUE9SVDp0aGF0LmJhc2VQT1JUIH0pXHJcblx0XHRcdFx0XHQgIH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHR0aGF0Lm1hdG5yID0gJydcclxuXHRcdFx0fSxcclxuXHRcdFx0ZmluZEJhcmNvZGUoKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzXHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdCAgICB1cmw6IHRoYXQuYmFzZUh0dHAgKyB0aGF0LmJhc2VJUCArICc6JyArdGhhdC5iYXNlUE9SVCArIHRoYXQuYmFzZVVybCArICcvbW9iaWxlL3Bha291dC9jb25maXJtL2JhcmNvZGUvYXV0aCcsXHJcblx0XHRcdFx0ICAgIGRhdGE6IHtcclxuXHRcdFx0XHRcdFx0YmFyY29kZTp0aGF0LmJhcmNvZGVcclxuXHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCd0b2tlbic6dW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpLFxyXG5cdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXN1bHQpIHtcclxuXHRcdFx0XHRcdFx0bGV0IHJlcyA9IHJlc3VsdC5kYXRhO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YS5pb1R5cGUgPT09IDEwMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5tYXRMaXN0ID0gcmVzLmRhdGEubGlzdC5jb25jYXQodGhhdC5tYXRMaXN0KVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5saXN0TGVuID0gdGhhdC5tYXRMaXN0Lmxlbmd0aDtcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXQuZm91Y3NzKCk7XHJcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YS5pb1R5cGUgPT09IDEwMyB8fCByZXMuZGF0YS5pb1R5cGUgPT09IDEwNCB8fCByZXMuZGF0YS5pb1R5cGUgPT09IDEwNykge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5tYXRDb3VudCA9IHJlcy5kYXRhLmxpc3QubGVuZ3RoXHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0Lndya05vID0gcmVzLmRhdGEubGlzdFswXS53cmtOb1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5mb3Vjc3MoKTtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocmVzLmNvZGUgPT09IDQwMykge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiByZXMubXNnLCBpY29uOiBcIm5vbmVcIiwgcG9zaXRpb246ICd0b3AnfSlcclxuXHRcdFx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1bmkucmVMYXVuY2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVybDogJy4uL2xvZ2luL2xvZ2luJ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxMDAwKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHt0aXRsZTogcmVzLm1zZywgaWNvbjogXCJub25lXCIscG9zaXRpb246ICd0b3AnfSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0ZmluZE1hdCgpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXNcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0ICAgIHVybDogdGhhdC5iYXNlSHR0cCArIHRoYXQuYmFzZUlQICsgJzonICt0aGF0LmJhc2VQT1JUICsgdGhhdC5iYXNlVXJsICsgJy9tb2JpbGUvcGFrb3V0L2NvbmZpcm0vcGljay9hdXRoJyxcclxuXHRcdFx0XHQgICAgZGF0YToge1xyXG5cdFx0XHRcdFx0XHR3cmtObzp0aGF0Lndya05vLFxyXG5cdFx0XHRcdFx0XHRtYXRucjp0aGF0Lm1hdG5yXHJcblx0XHRcdFx0ICAgIH0sXHJcblx0XHRcdFx0ICAgIGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHQndG9rZW4nOnVuaS5nZXRTdG9yYWdlU3luYygndG9rZW4nKVxyXG5cdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXN1bHQpIHtcclxuXHRcdFx0XHRcdFx0dmFyIHJlcyA9IHJlc3VsdC5kYXRhO1xyXG5cdFx0XHRcdFx0XHRpZihyZXMuY29kZSA9PT0gMjAwICkge1xyXG5cdFx0XHRcdFx0XHRcdGlmKHJlcy5kYXRhKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAodGhhdC5tYXRMaXN0Lmxlbmd0aCA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWF0TGlzdC5wdXNoKHJlcy5kYXRhKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0Lmxpc3RMZW4gPSB0aGF0Lm1hdExpc3QubGVuZ3RoO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LmZvdWNzcygpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRmb3IobGV0IGkgPSAwO2k8dGhhdC5tYXRMaXN0Lmxlbmd0aDtpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHRoYXQubWF0TGlzdC5sZW5ndGggPCB0aGF0Lm1hdENvdW50KXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZihKU09OLnN0cmluZ2lmeSh0aGF0Lm1hdExpc3RbaV0pID09PSBKU09OLnN0cmluZ2lmeShyZXMuZGF0YSkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnd2FybicpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5tZXNzYWdlVGV4dCA9ICfor6XllYblk4Hlt7Lmt7vliqAnO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5mb3Vjc3MoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5tYXRMaXN0LnVuc2hpZnQocmVzLmRhdGEpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5saXN0TGVuID0gdGhhdC5tYXRMaXN0Lmxlbmd0aDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuZm91Y3NzKCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRvZ2dsZSgnd2FybicpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWVzc2FnZVRleHQgPSAn5bey5Ye65YWo6YOo5ZWG5ZOB77yM6K+356Gu6K6k5Ye65bqTJztcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGF0LmZvdWNzcygpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuY29kZSA9PSA0MDMpIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHt0aXRsZTogcmVzLm1zZywgaWNvbjogXCJub25lXCIsIHBvc2l0aW9uOiAndG9wJ30pXHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkucmVMYXVuY2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcuLi9sb2dpbi9sb2dpbidcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiByZXMubXNnLCBpY29uOiBcIm5vbmVcIixwb3NpdGlvbjogJ3RvcCd9KVxyXG5cdFx0XHRcdFx0XHRcdHRoYXQuZm91Y3NzKCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGNvbWIoKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGlmICh0aGF0LmJhcmNvZGUgPT09ICcnKSB7XHJcblx0XHRcdFx0XHR0aGlzLm1lc3NhZ2VUb2dnbGUoJ2Vycm9yJylcclxuXHRcdFx0XHRcdHRoaXMubWVzc2FnZVRleHQgPSAn6K+35omr5o+P5omY55uY56CBJ1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhhdC5iYXJjb2RlLmxlbmd0aCAhPT0gOCkge1xyXG5cdFx0XHRcdFx0dGhpcy5tZXNzYWdlVG9nZ2xlKCdlcnJvcicpXHJcblx0XHRcdFx0XHR0aGlzLm1lc3NhZ2VUZXh0ID0gJ+aJmOebmOeggeW/hemhu+S4ujjkvY0nXHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGF0Lm1hdExpc3QubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdFx0XHR0aGlzLm1lc3NhZ2VUb2dnbGUoJ2Vycm9yJylcclxuXHRcdFx0XHRcdHRoaXMubWVzc2FnZVRleHQgPSAn6K+35re75Yqg5ZWG5ZOB5YiX6KGoJ1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHRpZiAodGhhdC5tYXRMaXN0Lmxlbmd0aCA8IHRoYXQubWF0Q291bnQpIHtcclxuXHRcdFx0XHRcdHZhciBsZW4gPSB0aGF0Lm1hdENvdW50IC0gdGhhdC5tYXRMaXN0Lmxlbmd0aFxyXG5cdFx0XHRcdFx0dGhhdC5tZXNzYWdlVG9nZ2xlKCdlcnJvcicpXHJcblx0XHRcdFx0XHR0aGF0Lm1lc3NhZ2VUZXh0ID0gJ+i/mOWJqScgKyBsZW4gKyAn5Lu25pyq5omr5o+PJ1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoKTtcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0ICAgIHVybDogdGhhdC5iYXNlSHR0cCArIHRoYXQuYmFzZUlQICsgJzonICt0aGF0LmJhc2VQT1JUICsgdGhhdC5iYXNlVXJsICsgJy9tb2JpbGUvcGFrb3V0L2NvbmZpcm0vYXV0aCcsXHJcblx0XHRcdFx0ICAgIGRhdGE6IHRoYXQubWF0TGlzdCxcclxuXHRcdFx0XHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0XHRcdCAgICBoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0J3Rva2VuJzp1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuJylcclxuXHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3MocmVzdWx0KSB7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93TG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHR2YXIgcmVzID0gcmVzdWx0LmRhdGFcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6IHJlcy5tc2cscG9zaXRpb246ICdib3R0b20nLGR1cmF0aW9uOiAxMDAwfSk7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5yZXNzdCgpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5jb2RlID09IDQwMykge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe3RpdGxlOiByZXMubXNnLCBpY29uOiBcIm5vbmVcIiwgcG9zaXRpb246ICd0b3AnfSlcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5yZUxhdW5jaCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHVybDogJy4uL2xvZ2luL2xvZ2luJ1xyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0fSwgMTAwMCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7dGl0bGU6IHJlcy5tc2csIGljb246IFwibm9uZVwiLHBvc2l0aW9uOiAndG9wJ30pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0Q2hlY2tEZXRsKCkgeyAgIC8vIOiOt+WPluWHuuW6k+WPo+i0p+eJqeS/oeaBr1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpc1xyXG5cdFx0XHRcdFxyXG5cdFx0XHR9LCAvLyBnZXRDaGVja0RldGxcclxuXHRcdFx0Y2hhbmdlKGUpIHtcclxuXHRcdFx0fSxcclxuXHRcdFx0dG9nZ2xlKHR5cGUpIHtcclxuXHRcdFx0XHR0aGlzLnR5cGUgPSB0eXBlXHJcblx0XHRcdFx0Ly8gb3BlbiDmlrnms5XkvKDlhaXlj4LmlbAg562J5ZCM5ZyoIHVuaS1wb3B1cCDnu4Tku7bkuIrnu5HlrpogdHlwZeWxnuaAp1xyXG5cdFx0XHRcdHRoaXMuJHJlZnMuZ29vZHNTZWFyY2gub3Blbih0eXBlKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaGVja2JveDogZnVuY3Rpb24gKGUpIHtcclxuXHRcdFx0XHR2YXIgaXRlbXMgPSB0aGlzLmRhdGEsXHJcblx0XHRcdFx0XHR2YWx1ZXMgPSBlLmRldGFpbC52YWx1ZTtcclxuXHRcdFx0XHRmb3IgKHZhciBpID0gMCwgbGVuSSA9IGl0ZW1zLmxlbmd0aDsgaSA8IGxlbkk7ICsraSkge1xyXG5cdFx0XHRcdFx0Y29uc3QgaXRlbSA9IGl0ZW1zW2ldXHJcblx0XHRcdFx0XHRpdGVtLmlkID0gaXRlbS5pZCArICcnXHJcblx0XHRcdFx0XHRpZih2YWx1ZXMuaW5kZXhPZihpdGVtLmlkKSA+PSAwKXtcclxuXHRcdFx0XHRcdFx0dGhpcy4kc2V0KGl0ZW0sJ2NoZWNrZWQnLHRydWUpXHJcblx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0dGhpcy4kc2V0KGl0ZW0sJ2NoZWNrZWQnLGZhbHNlKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodmFsdWVzLmxlbmd0aCA9PSBpdGVtcy5sZW5ndGgpIHtcclxuXHRcdFx0XHRcdHRoaXMuY2hlY2sgPSB0cnVlXHJcblx0XHRcdFx0XHR0aGlzLmNoZWNrVGV4dCA9IFwi5Y+W5raI5YWo6YCJXCJcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5jaGVjayA9IGZhbHNlXHJcblx0XHRcdFx0XHR0aGlzLmNoZWNrVGV4dCA9IFwi5YWo6YCJXCJcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dW5pLnZpYnJhdGVTaG9ydCgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0LyogQGltcG9ydCBcIi4uLy4uL2NvbG9ydWkvbWFpbi5jc3NcIjtcclxuXHRAaW1wb3J0IFwiLi4vLi4vY29sb3J1aS9pY29uLmNzc1wiOyAqL1xyXG5cclxuXHQucGFrLXNlYWNoLWJveCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0bWFyZ2luOiAxNXJweCAxNXJweCAwcnB4IDE1cnB4O1xyXG5cdFx0d2lkdGg6IDk2JTtcclxuXHRcdGhlaWdodDogMTUwcnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0fVxyXG5cdC5ib3gtdG9we1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0d2lkdGg6IDcyMHJweDtcclxuXHR9XHJcblx0LmNvbG9yLWJsb2NrLWJsdWUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzFFOUZGRjtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0bWFyZ2luOiAxNXJweCAxNXJweCAwIDE1cnB4O1xyXG5cdFx0d2lkdGg6IDEycnB4O1xyXG5cdFx0aGVpZ2h0OiA0MHJweDtcclxuXHRcdGJvcmRlcjogNXJweCBzb2xpZCAjMUU5RkZGO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0fVxyXG5cdC50aXRsZSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdGZvbnQtc2l6ZTogMzRycHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0aGVpZ2h0OiA1MHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA1MHJweDtcclxuXHRcdG1hcmdpbi10b3A6IDEwcnB4O1xyXG5cdH1cclxuXHQuYm94LWJ1dHRvbSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xyXG5cdFx0d2lkdGg6IDY1JTtcclxuXHRcdGhlaWdodDogNjBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMHJweCAxNXJweDtcclxuXHR9XHJcblx0LmJveC1idXR0b20gaW5wdXQge1xyXG5cdFx0d2lkdGg6IDc1JTtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0bWFyZ2luOiA4cnB4IDEwcnB4IDBycHggMjVycHg7XHJcblx0fVxyXG5cdC5ib3gtYnV0dG9tIC5zZWFyY2gtaWNvbntcclxuXHRcdHdpZHRoOiA2MHJweDtcclxuXHRcdGhlaWdodDogNjBycHg7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRtYXJnaW4tdG9wOiA1cnB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHJweDtcclxuXHR9XHJcblx0XHJcblx0LyogLnBhay1zZWFjaC1ib3ggaW5wdXQge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcclxuXHRcdGJvcmRlcjogMXJweCBzb2xpZCAjZDhkOGQ4O1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdHdpZHRoOiA3MCU7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDYwcnB4O1xyXG5cdFx0bWFyZ2luOiAxNXJweCAxNXJweCAwcnB4IDE1cnB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAyMHJweDtcclxuXHR9ICovXHJcblx0LnBhay1zZWFjaC1ib3ggYnV0dG9uIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxRTlGRkY7XHJcblx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdHdpZHRoOiAxODBycHg7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0bWFyZ2luOiAxNXJweCAxNXJweCAwcnB4IDE1cnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDYwcnB4O1xyXG5cdH1cclxuXHQucGFraW4tYnRuIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxRTlGRkY7XHJcblx0fVxyXG5cdC5wYWstZGF0YS1ib3gge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0YxRjFGMTtcclxuXHRcdG1hcmdpbjogMTVycHggMTVycHggMHJweCAxNXJweDtcclxuXHRcdHdpZHRoOiA5NiU7XHJcblx0XHRoZWlnaHQ6IDcwcnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0fVxyXG5cdC5wYWstZGF0YS1ib3ggLmJveC10b3Age1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHRcdGhlaWdodDogNzBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweCAyMHJweCAyMHJweCAyMHJweDtcclxuXHR9XHJcblx0LmJnLWZhbHNlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcblx0fVxyXG5cdC5iZy10cnVlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XHJcblx0fVxyXG5cdC5kYXRhLWxpc3Qge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcblx0XHRoZWlnaHQ6IDEzMHJweDtcclxuXHRcdG1hcmdpbjogMTVycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHR9XHJcblx0LmRhdGEtbGlzdDpmaXJzdC1jaGlsZCB7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHJweDtcclxuXHR9XHJcblx0LmRhdGEtbGlzdDpsYXN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwMHJweDtcclxuXHR9XHJcblx0LyogLmRhdGEtbGlzdC1sZWZ0IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDEwMHJweDtcclxuXHRcdGhlaWdodDogMTgwcnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE4MHJweDtcclxuXHR9ICovXHJcblx0LmRhdGEtbGlzdC1sZWZ0IHtcclxuXHRcdHdpZHRoOiA1NTBycHg7XHJcblx0XHQvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3QUZGOyAqL1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRtYXJnaW4tbGVmdDogNCU7XHJcblx0XHRoZWlnaHQ6IDEzMHJweDtcclxuXHRcdGNvbG9yOiAjNjc2NzY3O1xyXG5cdH1cclxuXHQubWF0bnIge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0cGFkZGluZy10b3A6IDE1cnB4O1xyXG5cdFx0LyogaGVpZ2h0OiAxMzBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogMTMwcnB4OyAqL1xyXG5cdH1cclxuXHQuZGF0YS1saXN0LXJpZ2h0IHtcclxuXHRcdC8qIGJhY2tncm91bmQtY29sb3I6ICM2NzM5QjY7ICovXHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHR3aWR0aDogMTAwcnB4O1xyXG5cdFx0aGVpZ2h0OiAxMzBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogMTMwcnB4O1xyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///88\n");
 
 /***/ }),
 /* 89 */
@@ -8473,7 +8491,7 @@
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n  data: function data() {\n    return {\n      logDataList: [] };\n\n\n  },\n  onLoad: function onLoad() {var _this = this;\n    this.logDataList.push(this.logList);\n    setInterval(function () {\n      __f__(\"log\", _this.logList, \" at pages/basics/logbook.vue:32\");\n    }, 1000);\n  } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYmFzaWNzL2xvZ2Jvb2sudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLHFCQURBOzs7QUFJQSxHQU5BO0FBT0EsUUFQQSxvQkFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBRkEsRUFFQSxJQUZBO0FBR0EsR0FaQSxFIiwiZmlsZSI6IjExOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLTFcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtdGl0bGVcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLXNpZ25cIj48dmlldyBjbGFzcz1cInNpZ25cIj48L3ZpZXc+PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtdGV4dFwiPjx0ZXh0PuadoeeggeWIl+ihqDwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdFxyXG5cdFx0PHZpZXcgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gbG9nRGF0YUxpc3RcIiA6a2V5PVwiaW5kZXhcIiBjbGFzcz1cImRhdGEtbGlzdCBiZy1mYWxzZVwiIDpjbGFzcz1cIidiZy0nK2l0ZW0uY2hlY2tlZFwiID5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJkYXRhLWxpc3QtbGVmdFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibWF0bnJcIj57e2l0ZW0ubWF0Q29kZX19PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiZGF0YS1saXN0LXJpZ2h0XCI+XHJcblx0XHRcdFx0PHVuaS1pY29ucyB0eXBlPVwidHJhc2hcIiBzaXplPVwiMjBcIiBjb2xvcj1cIiNhNWE1YTVcIiBAY2xpY2s9XCJyZW1vdmUoaXRlbSxpbmRleClcIj48L3VuaS1pY29ucz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGxvZ0RhdGFMaXN0OltdLFxyXG5cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHR0aGlzLmxvZ0RhdGFMaXN0LnB1c2godGhpcy5sb2dMaXN0KSBcclxuXHRcdFx0c2V0SW50ZXJ2YWwoKCk9PntcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmxvZ0xpc3QpXHJcblx0XHRcdH0sMTAwMClcclxuXHRcdH0sXHJcblx0fVxuPC9zY3JpcHQ+XG5cbjxzdHlsZT5cbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///118\n");
+eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n  data: function data() {\n    return {\n      logDataList: [] };\n\n\n  },\n  onLoad: function onLoad() {var _this = this;\n    this.logDataList.push(this.logList);\n    setInterval(function () {\n      __f__(\"log\", _this.logList, \" at pages/basics/logbook.vue:32\");\n    }, 1000);\n  } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYmFzaWNzL2xvZ2Jvb2sudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLHFCQURBOzs7QUFJQSxHQU5BO0FBT0EsUUFQQSxvQkFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBRkEsRUFFQSxJQUZBO0FBR0EsR0FaQSxFIiwiZmlsZSI6IjExOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwic3F1YXJlLTFcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzcXVhcmUtdGl0bGVcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLXNpZ25cIj48dmlldyBjbGFzcz1cInNpZ25cIj48L3ZpZXc+PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtdGV4dFwiPjx0ZXh0PuadoeeggeWIl+ihqDwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdFxyXG5cdFx0PHZpZXcgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gbG9nRGF0YUxpc3RcIiA6a2V5PVwiaW5kZXhcIiBjbGFzcz1cImRhdGEtbGlzdCBiZy1mYWxzZVwiIDpjbGFzcz1cIidiZy0nK2l0ZW0uY2hlY2tlZFwiID5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJkYXRhLWxpc3QtbGVmdFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibWF0bnJcIj57e2l0ZW0ubWF0Q29kZX19PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiZGF0YS1saXN0LXJpZ2h0XCI+XHJcblx0XHRcdFx0PHVuaS1pY29ucyB0eXBlPVwidHJhc2hcIiBzaXplPVwiMjBcIiBjb2xvcj1cIiNhNWE1YTVcIiBAY2xpY2s9XCJyZW1vdmUoaXRlbSxpbmRleClcIj48L3VuaS1pY29ucz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRsb2dEYXRhTGlzdDpbXSxcclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZCgpIHtcclxuXHRcdFx0dGhpcy5sb2dEYXRhTGlzdC5wdXNoKHRoaXMubG9nTGlzdCkgXHJcblx0XHRcdHNldEludGVydmFsKCgpPT57XHJcblx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5sb2dMaXN0KVxyXG5cdFx0XHR9LDEwMDApXHJcblx0XHR9LFxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///118\n");
 
 /***/ }),
 /* 119 */

--
Gitblit v1.9.1