| | |
| | | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
| | | |
| | | "use strict"; |
| | | eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ditu.vue?vue&type=template&id=448ff89c&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ%3D%3D& */ 135);\n/* harmony import */ var _ditu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ditu.vue?vue&type=script&lang=js& */ 241);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ditu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ditu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 24);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _ditu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/ditu.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBeVI7QUFDelI7QUFDd0Q7QUFDTDs7O0FBR25EO0FBQzZMO0FBQzdMLGdCQUFnQix1TUFBVTtBQUMxQixFQUFFLDBFQUFNO0FBQ1IsRUFBRSx1UEFBTTtBQUNSLEVBQUUsZ1FBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMlBBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTM0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9kaXR1LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00NDhmZjg5YyZmaWx0ZXItbW9kdWxlcz1leUp0WVhKek0yUWlPbnNpZEhsd1pTSTZJbkpsYm1SbGNtcHpJaXdpWTI5dWRHVnVkQ0k2SWlJc0luTjBZWEowSWpvME1EY3pPQ3dpWVhSMGNuTWlPbnNpYlc5a2RXeGxJam9pYldGeWN6TmtJaXdpYkdGdVp5STZJbXB6SW4wc0ltVnVaQ0k2TnpreE1EUjlmUSUzRCUzRCZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2RpdHUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9kaXR1LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vSEJ1aWxkZXJYLjQuMTUuMjAyNDA1MDgwMi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2luZGV4L2RpdHUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///134\n"); |
| | | eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ditu.vue?vue&type=template&id=448ff89c&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ%3D%3D& */ 135);\n/* harmony import */ var _ditu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ditu.vue?vue&type=script&lang=js& */ 241);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ditu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ditu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 24);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _ditu_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/ditu.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBeVI7QUFDelI7QUFDd0Q7QUFDTDs7O0FBR25EO0FBQzZMO0FBQzdMLGdCQUFnQix1TUFBVTtBQUMxQixFQUFFLDBFQUFNO0FBQ1IsRUFBRSx1UEFBTTtBQUNSLEVBQUUsZ1FBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMlBBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTM0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9kaXR1LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00NDhmZjg5YyZmaWx0ZXItbW9kdWxlcz1leUp0WVhKek0yUWlPbnNpZEhsd1pTSTZJbkpsYm1SbGNtcHpJaXdpWTI5dWRHVnVkQ0k2SWlJc0luTjBZWEowSWpvME1EVTRNeXdpWVhSMGNuTWlPbnNpYlc5a2RXeGxJam9pYldGeWN6TmtJaXdpYkdGdVp5STZJbXB6SW4wc0ltVnVaQ0k2TnpnNU5EbDlmUSUzRCUzRCZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2RpdHUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9kaXR1LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vSEJ1aWxkZXJYLjQuMTUuMjAyNDA1MDgwMi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2luZGV4L2RpdHUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///134\n"); |
| | | |
| | | /***/ }), |
| | | /* 135 */ |
| | | /*!***********************************************************************************************************************************************************************************************************************************************************!*\ |
| | | !*** D:/hxzkapp/hxzkapp-gdty/pages/index/ditu.vue?vue&type=template&id=448ff89c&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ%3D%3D& ***! |
| | | !*** D:/hxzkapp/hxzkapp-gdty/pages/index/ditu.vue?vue&type=template&id=448ff89c&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ%3D%3D& ***! |
| | | \***********************************************************************************************************************************************************************************************************************************************************/ |
| | | /*! exports provided: render, staticRenderFns, recyclableRender, components */ |
| | | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
| | | |
| | | "use strict"; |
| | | __webpack_require__.r(__webpack_exports__); |
| | | /* harmony import */ var _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./ditu.vue?vue&type=template&id=448ff89c&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ%3D%3D& */ 136); |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["render"]; }); |
| | | /* harmony import */ var _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./ditu.vue?vue&type=template&id=448ff89c&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ%3D%3D& */ 136); |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["render"]; }); |
| | | |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); |
| | | |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); |
| | | |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["components"]; }); |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_448ff89c_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["components"]; }); |
| | | |
| | | |
| | | |
| | | /***/ }), |
| | | /* 136 */ |
| | | /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ |
| | | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/hxzkapp/hxzkapp-gdty/pages/index/ditu.vue?vue&type=template&id=448ff89c&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ%3D%3D& ***! |
| | | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/hxzkapp/hxzkapp-gdty/pages/index/ditu.vue?vue&type=template&id=448ff89c&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ%3D%3D& ***! |
| | | \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ |
| | | /*! exports provided: render, staticRenderFns, recyclableRender, components */ |
| | | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
| | |
| | | /***/ (function(module, exports, __webpack_require__) { |
| | | |
| | | "use strict"; |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _success = _interopRequireDefault(__webpack_require__(/*! @/components/success.vue */ 102));\nvar _api = __webpack_require__(/*! @/config/api.js */ 115);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 = {\n components: {\n successCom: _success.default\n },\n data: function data() {\n return {\n warnlist: [],\n warnidlist: [],\n warnidslist: [],\n labelWidth: 100,\n pointlock: false,\n //踩点获取数据开关\n pointcontent: '',\n pointdisabled: false,\n pointlist: [0, 1, 2, 3],\n pointnum: 4,\n pointdrawshow: false,\n end: false,\n ldrawshow: false,\n ldrawtitle: '操作提示:',\n ldrawcontent: '请手持终端,等待RTK绿色后行走为一个闭合围栏。准备完毕后点击开始绘制,完成后点击结束绘制',\n isperties: true,\n drawway: '打点绘制',\n content: '请先输入终端编号',\n disabled: true,\n savefence: false,\n bumenList: [],\n show1: false,\n show2: false,\n typeList: [{\n text: '保护区'\n }, {\n text: '禁入区'\n }, {\n text: '工作区'\n }, {\n text: '安全区'\n }],\n warnmesList: [{\n text: '出去告警'\n }, {\n text: '进入告警'\n }, {\n text: '工作区'\n }, {\n text: '安全区'\n }],\n list: [[0, 1], [2, 3], [4, 5]],\n zuobiaolist: [['', '', '', ''],\n // height1:'',\n ['', '', '', ''], ['', '', '', ''],\n // height1:'',\n ['', '', '', '']\n // height3:'',\n ],\n\n saglist: [['', '', '', ''], ['', '', '', ''], ['', '', '', '']\n\n // height3:'',\n ],\n\n // list: [\n // \t[\n // \t\t0, 1\n // \t],\n // \t[\n // \t\t2, 3\n // \t],\n // \t[\n // \t\t4, 5\n // \t]\n // ],\n\n // zuobiaolist: [\n // \t[\n // \t\t'1A', '1B', '1','11'\n // \t],\n // \t// height1:'',\n // \t[\n // \t\t'2A', '2B', '2','22'\n // \t],\n // \t[\n // \t\t'3A', '3B', '3','33'\n // \t],\n // \t// height1:'',\n // \t[\n // \t\t'4A', '4B', '4','44'\n // \t],\n // \t// height3:'',\n // ],\n // saglist: [\n // \t[\n // \t\t'H5A', 'H5B', '5','55'\n // \t],\n // \t[\n // \t\t'H6A', 'H6B', '6','66'\n // \t],\n // \t[\n // \t\t'H7A', 'H7B', '7','77'\n // \t],\n\n // \t// height3:'',\n // ],\n tanum: 2,\n color1: '#e2e2e2',\n color2: '#8b8b8b',\n color5: '#8b8b8b',\n color10: '#8b8b8b',\n color20: '#8b8b8b',\n color50: '#8b8b8b',\n color100: '#8b8b8b',\n sudu: 'x1',\n plackTime: '',\n dqnum: '',\n lockguiji: false,\n shownotify: true,\n cancelText: '暂停',\n isRunning: true,\n plackControl: '',\n countNum: 0,\n LocusData: '',\n // isPlack: false,\n value: '',\n startdatetime: '',\n stopdatetime: '',\n rangeLevel: [{\n value: '0.95m',\n text: '10kV(0.95m)'\n }, {\n value: '1.05m',\n text: '20kV(1.05m)'\n }, {\n value: '1.15m',\n text: '35kV(1.15m)'\n }, {\n value: '1.4m',\n text: '66kV(1.4m)'\n }, {\n value: '1.65m',\n text: '110kV(1.65m)'\n }, {\n value: '2.55m',\n text: '220kV(2.55m)'\n }, {\n value: '3.25m',\n text: '330kV(3.25m)'\n }, {\n value: '4.66m',\n text: '500kV(4.55m)'\n }, {\n value: '6.70m',\n text: '750kV(6.70m)'\n }, {\n value: '8.25m',\n text: '1000kV(8.25m)'\n }],\n rules2: {\n 'name': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写围栏名称',\n trigger: ['blur', 'change']\n },\n 'code': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写终端编号',\n trigger: ['blur', 'change']\n },\n 'type': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请选择围栏类型',\n trigger: ['blur', 'change']\n },\n 'department': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请选择关联部门',\n trigger: ['blur', 'change']\n },\n 'distance': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写预警距离',\n trigger: ['blur', 'change']\n },\n 'nowarnmes': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写预警语音',\n trigger: ['blur', 'change']\n },\n 'warnmes': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写告警语音',\n trigger: ['blur', 'change']\n },\n 'dianya': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写电压等级',\n trigger: ['blur', 'change']\n }\n },\n radiolist2: [{\n name: '打点绘制',\n disabled: true\n }, {\n name: '连续绘制',\n disabled: false\n // },\n // {\n // \tname: '5小时',\n // \tdisabled: false\n }],\n\n radiolist1: [{\n name: '输电作业',\n disabled: false\n }, {\n name: '变电作业',\n disabled: true\n // },\n // {\n // \tname: '5小时',\n // \tdisabled: false\n }],\n\n boStart: 0,\n // u-radio-group的v-model绑定的值如果设置为某个radio的name,就会被默认选中\n radiovalue1: '',\n code: '',\n isplay: false,\n digao: '',\n latlon: '',\n model: {\n points: '',\n fenceFloorHe: '-1',\n //围栏底高\n height: '',\n //围栏高\n lineHeight: '-1',\n //导线高\n company: this.company,\n perCompany: '',\n addperson: this.username,\n // // userInfo: {\n name: '',\n juli: '',\n type: '',\n department: '',\n distance: '0',\n dianya: '',\n // fencetype:'',//围栏性质\n isplay: '0',\n nowarnmes: '',\n warnmes: '',\n fencetype: '变电作业'\n // },\n },\n\n drawshow: false,\n checked: false,\n guijishow: false,\n show: false,\n amapsuduPoints: 0,\n amapendGuijiPoints: '',\n amapGuijiPoints: [],\n amapFencePoints: [],\n amapdeFencePoints: {},\n keyword: '',\n topheight: 55,\n threeortwo: [],\n amapPoints: [],\n // 这就是我们需要向视图层传递的数据\n amapPointData: [],\n // 这就是我们需要向视图层传递的数据\n amapldrawData: [],\n amapGPSPoints: [],\n marsset: {},\n point: {},\n drawlist: [],\n longitude: '',\n latitude: '',\n show4: false,\n showtagid: false,\n tagidlist: [],\n tagonlie: '',\n skeletonHeight: '',\n buttonTop: 0,\n // 按钮的 top 位置\n buttonLeft: 0 // 按钮的 left 位置\n };\n },\n\n props: {\n fenceposition: {\n type: String\n // default: 60\n }\n },\n mounted: function mounted() {\n var _this = this;\n __f__(\"log\", this.fenceposition, \" at pages/index/ditu.vue:663\");\n this.getLocation();\n this.warnidslist = [];\n this.warnidlist = [];\n this.warnlist = [];\n this.findtagidall();\n this.findbumenall();\n this.initMap();\n // this.updateButtonPosition(); // 初始化按钮位置\n // window.addEventListener('resize', this.updateButtonPosition); // 监听窗口大小变化\n this.$nextTick(function () {\n // 获取系统信息\n var systemInfo = uni.getSystemInfoSync();\n _this.skeletonHeight = systemInfo.safeArea.height;\n _this.buttonTop = _this.skeletonHeight - 224;\n _this.buttonLeft = 15;\n // this.webHeight = this.skeletonHeight - this.tabBarHeight\n\n // this.vuex_status_bar_height = this.webHeight\n // this.currentIndex = 2\n });\n\n this.threeortwo.push(this.is3wei);\n // this.amapPoints = []\n // this.amapBasePoints = []\n // this.amapFencePoints = []\n\n // this.amapGuijiPoints = []\n // this.amapendGuijiPoints = ''\n this.topheight = this.vuex_custom_bar_height + 15;\n },\n methods: {\n // updateButtonPosition() {\n // \t\t const windowHeight = window.innerHeight;\n // \t\t\t\tconsole.log(windowHeight);\n // \t\t const windowWidth = window.innerWidth;\n // \t\t this.buttonTop = windowHeight-279 ;\n // \t\t this.buttonLeft = 15;\n // \t\t\t\tconsole.log(this.buttonTop);\n // \t\t },\n findtagidall: function findtagidall() {\n var _this2 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtagid)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:715\");\n if (res.code == 0) {\n _this2.tagidlist = res.data.map(function (item) {\n return {\n value: item.online,\n label: item.tagid\n };\n });\n } else {\n _this2.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n confirmtagid: function confirmtagid(e) {\n this.code = e[0].label;\n // this.tagonlie = e[0].value\n this.seachcode();\n },\n changeRangeLevel: function changeRangeLevel(e) {\n __f__(\"log\", e, \" at pages/index/ditu.vue:738\");\n // console.log(this.model.juli);\n this.model.juli = this.rangeLevel[e].text;\n // if (this.model.juli != '') {\n this.model.dianya = this.rangeLevel[e].value.split(\"m\")[0];\n // }\n // this.dianya = e;\n // this.model.dianya = e.split(\"m\")[0];\n },\n getLocation: function getLocation() {\n uni.getLocation({\n type: 'wgs84',\n success: function success(res) {\n __f__(\"log\", '当前位置的经度:' + res.longitude, \" at pages/index/ditu.vue:751\");\n __f__(\"log\", '当前位置的纬度:' + res.latitude, \" at pages/index/ditu.vue:752\");\n }\n });\n },\n onchange: function onchange(e) {\n var list = [];\n if (this.pointlist.length < e.value) {\n for (var i = this.pointlist.length; i < e.value; i++) {\n list.push(i);\n this.pointlist.push(i);\n // e[i]\n }\n } else {\n this.pointlist.splice(e.value, this.pointlist.length - e.value);\n }\n },\n radioChange: function radioChange(n) {\n if (n == '变电作业') {\n this.isperties = true;\n } else {\n this.isperties = false;\n }\n },\n seachcode: function seachcode(e) {\n var _this3 = this;\n this.drawlist = [];\n var params = {\n id: this.code,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtagIdPerson)(params).then(function (res) {\n if (res.data != null) {\n _this3.tagonlie = res.data.online;\n if (res.data.gpsstatus == '4') {\n _this3.disabled = false;\n _this3.content = '';\n _this3.pointcontent = '';\n _this3.digao = res.data.height;\n // this.end = true\n if (_this3.end == true) {\n _this3.model.points += res.data.lat + \":\" + res.data.lon + \";\";\n _this3.drawlist.push(res.data.lat);\n _this3.drawlist.push(res.data.lon);\n _this3.amapldrawData.push(_this3.drawlist);\n }\n // if (this.pointlock == true) {\n // \tthis.amapPointData.push(res.data)\n\n // \tthis.pointlock = false\n // }\n } else {\n _this3.content = '设备非高精';\n _this3.disabled = true;\n _this3.pointcontent = '设备非高精';\n }\n } else {\n _this3.disabled = true;\n _this3.content = '未搜索到设备';\n _this3.pointcontent = '未搜索到设备';\n }\n });\n setTimeout(function () {\n // \t//5秒播放一次\n _this3.seachcode();\n }, 1000);\n },\n isopen: function isopen(e) {\n if (e == true) {\n this.model.isplay = '1';\n } else {\n this.model.isplay = '0';\n }\n },\n findbumenall: function findbumenall() {\n var _this4 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbumen)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:840\");\n if (res.code == 0) {\n _this4.bumenList = res.data.map(function (item) {\n return {\n value: item.name,\n text: item.name\n };\n });\n } else {\n _this4.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n typeCallback: function typeCallback(index) {\n var _this5 = this;\n var params = {\n type: this.typeList[index].text\n };\n (0, _api.findWarnmes)(params).then(function (res) {\n if (res.code == 0) {\n // nowarnmes: '靠近危险请注意',\n // warnmes: '进入危险区域请注意',\n // if (res.data.type == \"工作区\") {\n // \tthis.model.nowarnmes = res.data.nowarnmes + \";\" + res.data.nowarnmestype\n // \tthis.model.warnmes = res.data.warnmes + \";\" + res.data.warnmestype\n // } else {\n _this5.model.nowarnmes = res.data.nowarnmes;\n _this5.model.warnmes = res.data.warnmes;\n // }\n } else {}\n });\n this.model.type = this.typeList[index].text;\n },\n bymenCallback: function bymenCallback(index) {\n this.model.department = this.bumenList[index].text;\n },\n acquisitionxy: function acquisitionxy(index, i, name) {\n var _this6 = this;\n var params = {\n baoliu3: this.code,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n __f__(\"log\", params, \" at pages/index/ditu.vue:887\");\n if (this.vuex_is_login) {\n (0, _api.acquisition)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:890\");\n if (res.code == 0) {\n if (_this6.model.fencetype == '变电作业') {\n // this.model.points += res.data.lat + \":\" + res.data.lon + \";\"\n _this6.pointlist.splice(index, 1, res.data.lat + \":\" + res.data.lon);\n __f__(\"log\", _this6.pointlist, \" at pages/index/ditu.vue:895\");\n _this6.amapPointData.splice(index, 1, res.data);\n // this.amapPointData.push(res.data)\n // this.amapPointData = this.pointlist\n _this6.pointlock = true;\n } else {\n __f__(\"log\", name, \" at pages/index/ditu.vue:901\");\n if (name == 'zb') {\n __f__(\"log\", index, \" at pages/index/ditu.vue:903\");\n __f__(\"log\", i, \" at pages/index/ditu.vue:904\");\n _this6.zuobiaolist[index - 1][i] = res.data.lat + \":\" + res.data.lon + \";\";\n _this6.zuobiaolist[index - 1][2] = res.data.height;\n _this6.amapPointData.splice(index + i, 1, res.data);\n } else {\n _this6.saglist[index - 1][i] = res.data.lat + \":\" + res.data.lon + \";\";\n _this6.saglist[index - 1][2] = res.data.height;\n }\n }\n } else {\n _this6.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n valChange: function valChange(e) {\n __f__(\"log\", '当前值为: ' + e.value, \" at pages/index/ditu.vue:927\");\n },\n initlock: function initlock() {\n this.fetchPersonsList();\n this.fetchFenceList();\n },\n closemodal: function closemodal() {\n this.drawshow = false;\n },\n cancelmodal: function cancelmodal() {\n this.drawshow = false;\n },\n cancelsave: function cancelsave() {\n this.savefence = false;\n this.drawshow = true;\n },\n save: function save() {\n var _this7 = this;\n this.model.company = this.company;\n this.model.addperson = this.vuex_user;\n this.model.perCompany = this.company;\n if (this.model.fencetype == '输电作业') {\n this.model.points = this.zuobiaolist;\n var hei = '';\n var num = this.tanum - 1;\n var result = '';\n //根据塔数循环查询塔和弧垂的坐标A数据,根据第一条塔,第二条弧垂把数据拼接起来\n for (var _i = 0; _i < this.tanum; _i++) {\n result += this.zuobiaolist[_i][0];\n if (_i < num) {\n result += this.saglist[_i][0];\n }\n hei += this.zuobiaolist[_i][2] + \":\" + this.zuobiaolist[_i][3] + ';';\n if (_i < num) {\n hei += this.saglist[_i][2] + \":\" + this.saglist[_i][3] + ';';\n }\n\n // hei += this.zuobiaolist[i][3];\n // if (i < num) {\n // \thei += this.saglist[i][3];\n // }\n }\n //从最后一条查询点位B第一条塔,第二条弧垂拼接,最后把两组数据拼接起来\n for (var _i2 = this.tanum - 1; _i2 >= 0; _i2--) {\n result += this.zuobiaolist[_i2][1];\n if (_i2 >= 1) {\n result += this.saglist[_i2 - 1][1];\n }\n\n // hei += this.zuobiaolist[i][2];\n // if (i >= 1) {\n // \thei += this.saglist[i - 1][2];\n // }\n\n hei += this.zuobiaolist[_i2][2] + \":\" + this.zuobiaolist[_i2][3] + ';';\n if (_i2 >= 1) {\n hei += this.saglist[_i2 - 1][2] + \":\" + this.saglist[_i2 - 1][3] + ';';\n }\n }\n __f__(\"log\", result, \" at pages/index/ditu.vue:989\");\n __f__(\"log\", hei, \" at pages/index/ditu.vue:990\");\n this.model.points = result;\n this.model.lineHeight = hei;\n } else {\n var _result = '';\n for (var i = 0; i < this.pointlist.length; i++) {\n _result += this.pointlist[i] + \";\";\n }\n this.model.points = _result;\n }\n this.$refs.uForm.validate().then(function (res) {\n uni.$u.toast('校验通过');\n (0, _api.submitper)(_this7.model).then(function (res) {\n if (res.code == 0) {\n _this7.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"保存成功\"\n });\n _this7.savefence = false;\n _this7.amapldrawData = [];\n _this7.amapPointData = [];\n } else {\n _this7.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.data\n });\n }\n });\n // this.savefence = false\n }).catch(function (errors) {\n // uni.$u.toast('校验失败')\n });\n // this.savefence = false\n },\n formatDate: function formatDate(date) {\n var year = date.getFullYear();\n var month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始\n var day = String(date.getDate()).padStart(2, '0');\n var hours = String(date.getHours()).padStart(2, '0');\n var minutes = String(date.getMinutes()).padStart(2, '0');\n var seconds = String(date.getSeconds()).padStart(2, '0');\n return year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n },\n startdraw: function startdraw() {\n if (this.code == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请输入终端编号'\n });\n } else {\n //选择变电作业\n if (this.isperties == false) {\n for (var i = 0; i < this.tanum; i++) {\n if (this.zuobiaolist[i][0] == '' && this.zuobiaolist[i][1] == '') {\n // lock = true\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请先打点'\n });\n } else if (this.zuobiaolist[i][2] == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请输入导线高'\n });\n // lock = false\n } else {\n this.drawshow = false;\n this.savefence = true;\n }\n }\n } else {\n if (this.drawway == \"连续绘制\") {\n this.drawshow = false;\n this.ldrawshow = true;\n } else {\n this.drawshow = false;\n this.pointdrawshow = true;\n }\n }\n }\n },\n cancelpoint: function cancelpoint() {\n this.drawshow = true;\n this.pointdrawshow = false;\n },\n savepoint: function savepoint() {\n this.pointdrawshow = false;\n this.savefence = true;\n },\n fenceHe: function fenceHe() {\n //获取围栏底高\n this.model.fenceFloorHe = this.digao;\n },\n endsave: function endsave() {\n this.end = false;\n this.savefence = true;\n },\n ldrawcancel: function ldrawcancel() {\n this.drawshow = true;\n this.ldrawshow = false;\n },\n ldrawconfirm: function ldrawconfirm() {\n this.ldrawshow = false;\n this.end = true;\n // this.model.points += this.latlon\n },\n change: function change(e) {\n this.amapsuduPoints = e;\n },\n draw: function draw() {\n if (this.vuex_is_login == true) {\n this.drawshow = true;\n this.savefence = false;\n }\n },\n zoom: function zoom() {\n this.show = !this.show;\n },\n receiveRenderData: function receiveRenderData(val) {\n this.fetchPersonsList();\n this.updateTrajectories();\n this.fetchFenceList();\n },\n searchxinxi: function searchxinxi() {\n var _this8 = this;\n var params = {\n name: this.keyword,\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findPerson)(params).then(function (res) {\n if (res.code == 0) {\n var targetPoint = {};\n targetPoint.lat = res.data.lon;\n targetPoint.lon = res.data.lat;\n _this8.point = targetPoint;\n } else {\n _this8.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n handleMapClick: function handleMapClick(e) {\n this.$emit('mars3dc', e);\n },\n guijiClick: function guijiClick(e) {\n this.dqnum = e.dqnum;\n this.plackTime = e.plackTime;\n },\n initMap: function initMap() {\n var _this9 = this;\n // if (this.vuex_is_login) { \n (0, _api.MarsHome)().then(function (rep) {\n // uni.getLocation({\n // type: 'wgs84',\n // success: function(res) {\n // \tconsole.log('当前位置的经度:' + res.longitude);\n // \tconsole.log('当前位置的纬度:' + res.latitude);\n if (_this9.lonlat != '') {\n rep.data[0].mapposition = _this9.lonlat;\n }\n // \t}\n // });\n _this9.marsset = rep.data[0];\n });\n // }\n },\n fetchFenceList: function fetchFenceList() {\n var _this10 = this;\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n if (uni.getStorageSync('isfence') == true) {\n (0, _api.findAllFence)(params).then(function (res) {\n if (res.data != null) {\n var filteredData = res.data.filter(function (item) {\n return item.isplay === 0;\n });\n if (filteredData != null) {\n _this10.amapdeFencePoints = filteredData;\n }\n if (_this10.amapFencePoints.length > res.data.length) {\n //当有围栏删除时调用地图把围栏全部删除\n var missingData = _this10.amapFencePoints.filter(function (item1) {\n return !res.data.some(function (item2) {\n return item2.id === item1.id;\n });\n });\n _this10.amapdeFencePoints = missingData;\n }\n _this10.amapFencePoints = res.data;\n }\n });\n } else {\n this.amapFencePoints = [];\n }\n }\n setTimeout(function () {\n //5秒播放一次\n _this10.fetchFenceList();\n }, 5000);\n },\n fetchPersonsList: function fetchPersonsList() {\n var _this11 = this;\n this.amapPoints = [];\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.getGPSCesium)(params).then(function (res) {\n if (res.data != null) {\n _this11.amapPoints = res.data;\n for (var i = 0; i < res.data.length; i++) {\n // res.data[i].online==1\n if (res.data[i].online == \"1\") {\n __f__(\"log\", _this11.zystate, \" at pages/index/ditu.vue:1220\");\n if (_this11.zystate == 'START') {\n // if (res.data.filter(item => item.warnstatus == '1').length > 0) {\n // \t\tif (this.warnidlist.indexOf(res.data[i].warnstatus=='1') < 0) {\n // \t\t\tthis.warnlist.push(res.data.filter(item => item.warnstatus == '1')[\n // \t\t\t\t\t0].tagid +\n // \t\t\t\t\"进入预警区域请注意\")\n // \t\t\tthis.warnidlist.push(res.data.filter(item => item.warnstatus ==\n // \t\t\t\t'1')[0].tagid)\n // \t\t} else {\n\n // \t\t\tthis.warnlist.splice(this.warnidlist.indexOf(res.data.filter(\n // \t\t\t\t\t\titem => item.warnstatus !=\n // \t\t\t\t\t\t'1')[0] \n // \t\t\t\t\t.tagid),\n // \t\t\t\t1)\n // \t\tthis.warnidlist.splice(this.warnidlist.indexOf(res.data.filter(item =>\n // \t\t\t\t\titem.warnstatus !=\n // \t\t\t\t\t'1')[0]\n // \t\t\t\t.tagid),\n // \t\t\t1)\n // }\n // }\n if (_this11.warnidlist.indexOf(res.data[i].tagid) < 0) {\n if (res.data[i].warnstatus == '1') {\n _this11.warnlist.push(res.data[i].tagid + \"进入预警区域请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[0] == 1) {\n _this11.warnlist.push(res.data[i].tagid + \"进入禁入区请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[1] == 0) {\n _this11.warnlist.push(res.data[i].tagid + \"超范围请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[2] == 1) {\n _this11.warnlist.push(res.data[i].tagid + \"超高请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n }\n } else {\n if (res.data[i].baoliu2.split(\";\")[0] == 1) {} else if (res.data[i].baoliu2.split(\";\")[1] == 0) {} else if (res.data[i].baoliu2.split(\";\")[2] == 1) {} else if (res.data[i].warnstatus == '1') {} else {\n _this11.warnlist.splice(_this11.warnidlist.indexOf(res.data[i].tagid), 1);\n _this11.warnidlist.splice(_this11.warnidlist.indexOf(res.data[i].tagid), 1);\n }\n }\n var filteredData = res.data.filter(function (item) {\n return item.online === \"1\" && item.gpsstatus !== \"4\" && (item.baoliu1 === '手持标签' || item.baoliu1 === '车载标签');\n });\n // 将符合条件的数据的 tagid 添加到 this.warnidlist 中\n filteredData.forEach(function (item) {\n if (_this11.warnidslist.indexOf(item.tagid) < 0) {\n _this11.warnlist.push(item.tagid + \"设备非高精\");\n _this11.warnidslist.push(item.tagid);\n }\n });\n } else {\n _this11.warnlist = [];\n _this11.warnidslist = [];\n }\n } else {}\n }\n }\n });\n }\n setTimeout(function () {\n //5秒播放一次\n _this11.fetchPersonsList();\n }, 5000);\n },\n updateTrajectories: function updateTrajectories() {\n var _this12 = this;\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.getGPS)(params).then(function (res) {\n if (res.data != null) {\n _this12.amapGPSPoints = res.data;\n }\n });\n }\n setTimeout(function () {\n //5秒播放一次\n _this12.updateTrajectories();\n }, 1000);\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvZGl0dS52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsInN1Y2Nlc3NDb20iLCJkYXRhIiwid2Fybmxpc3QiLCJ3YXJuaWRsaXN0Iiwid2Fybmlkc2xpc3QiLCJsYWJlbFdpZHRoIiwicG9pbnRsb2NrIiwicG9pbnRjb250ZW50IiwicG9pbnRkaXNhYmxlZCIsInBvaW50bGlzdCIsInBvaW50bnVtIiwicG9pbnRkcmF3c2hvdyIsImVuZCIsImxkcmF3c2hvdyIsImxkcmF3dGl0bGUiLCJsZHJhd2NvbnRlbnQiLCJpc3BlcnRpZXMiLCJkcmF3d2F5IiwiY29udGVudCIsImRpc2FibGVkIiwic2F2ZWZlbmNlIiwiYnVtZW5MaXN0Iiwic2hvdzEiLCJzaG93MiIsInR5cGVMaXN0IiwidGV4dCIsIndhcm5tZXNMaXN0IiwibGlzdCIsInp1b2JpYW9saXN0Iiwic2FnbGlzdCIsInRhbnVtIiwiY29sb3IxIiwiY29sb3IyIiwiY29sb3I1IiwiY29sb3IxMCIsImNvbG9yMjAiLCJjb2xvcjUwIiwiY29sb3IxMDAiLCJzdWR1IiwicGxhY2tUaW1lIiwiZHFudW0iLCJsb2NrZ3VpamkiLCJzaG93bm90aWZ5IiwiY2FuY2VsVGV4dCIsImlzUnVubmluZyIsInBsYWNrQ29udHJvbCIsImNvdW50TnVtIiwiTG9jdXNEYXRhIiwidmFsdWUiLCJzdGFydGRhdGV0aW1lIiwic3RvcGRhdGV0aW1lIiwicmFuZ2VMZXZlbCIsInJ1bGVzMiIsInR5cGUiLCJyZXF1aXJlZCIsIm1lc3NhZ2UiLCJ0cmlnZ2VyIiwicmFkaW9saXN0MiIsIm5hbWUiLCJyYWRpb2xpc3QxIiwiYm9TdGFydCIsInJhZGlvdmFsdWUxIiwiY29kZSIsImlzcGxheSIsImRpZ2FvIiwibGF0bG9uIiwibW9kZWwiLCJwb2ludHMiLCJmZW5jZUZsb29ySGUiLCJoZWlnaHQiLCJsaW5lSGVpZ2h0IiwiY29tcGFueSIsInBlckNvbXBhbnkiLCJhZGRwZXJzb24iLCJqdWxpIiwiZGVwYXJ0bWVudCIsImRpc3RhbmNlIiwiZGlhbnlhIiwibm93YXJubWVzIiwid2Fybm1lcyIsImZlbmNldHlwZSIsImRyYXdzaG93IiwiY2hlY2tlZCIsImd1aWppc2hvdyIsInNob3ciLCJhbWFwc3VkdVBvaW50cyIsImFtYXBlbmRHdWlqaVBvaW50cyIsImFtYXBHdWlqaVBvaW50cyIsImFtYXBGZW5jZVBvaW50cyIsImFtYXBkZUZlbmNlUG9pbnRzIiwia2V5d29yZCIsInRvcGhlaWdodCIsInRocmVlb3J0d28iLCJhbWFwUG9pbnRzIiwiYW1hcFBvaW50RGF0YSIsImFtYXBsZHJhd0RhdGEiLCJhbWFwR1BTUG9pbnRzIiwibWFyc3NldCIsInBvaW50IiwiZHJhd2xpc3QiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsInNob3c0Iiwic2hvd3RhZ2lkIiwidGFnaWRsaXN0IiwidGFnb25saWUiLCJza2VsZXRvbkhlaWdodCIsImJ1dHRvblRvcCIsImJ1dHRvbkxlZnQiLCJwcm9wcyIsImZlbmNlcG9zaXRpb24iLCJtb3VudGVkIiwibWV0aG9kcyIsImZpbmR0YWdpZGFsbCIsImp1ZXNlIiwibGFiZWwiLCJ0eHQiLCJjb25maXJtdGFnaWQiLCJjaGFuZ2VSYW5nZUxldmVsIiwiZ2V0TG9jYXRpb24iLCJ1bmkiLCJzdWNjZXNzIiwib25jaGFuZ2UiLCJyYWRpb0NoYW5nZSIsInNlYWNoY29kZSIsImlkIiwic2V0VGltZW91dCIsImlzb3BlbiIsImZpbmRidW1lbmFsbCIsInR5cGVDYWxsYmFjayIsImJ5bWVuQ2FsbGJhY2siLCJhY3F1aXNpdGlvbnh5IiwiYmFvbGl1MyIsInZhbENoYW5nZSIsImluaXRsb2NrIiwiY2xvc2Vtb2RhbCIsImNhbmNlbG1vZGFsIiwiY2FuY2Vsc2F2ZSIsInNhdmUiLCJyZXN1bHQiLCJoZWkiLCJmb3JtYXREYXRlIiwic3RhcnRkcmF3IiwiY2FuY2VscG9pbnQiLCJzYXZlcG9pbnQiLCJmZW5jZUhlIiwiZW5kc2F2ZSIsImxkcmF3Y2FuY2VsIiwibGRyYXdjb25maXJtIiwiY2hhbmdlIiwiZHJhdyIsInpvb20iLCJyZWNlaXZlUmVuZGVyRGF0YSIsInNlYXJjaHhpbnhpIiwidGFyZ2V0UG9pbnQiLCJoYW5kbGVNYXBDbGljayIsImd1aWppQ2xpY2siLCJpbml0TWFwIiwicmVwIiwiZmV0Y2hGZW5jZUxpc3QiLCJmZXRjaFBlcnNvbnNMaXN0IiwiYmFvbGl1MiIsInNwbGl0IiwiaXRlbSIsImJhb2xpdTEiLCJmaWx0ZXJlZERhdGEiLCJ1cGRhdGVUcmFqZWN0b3JpZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUF5U0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBO0FBQUEsZUFDQTtFQUNBQTtJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFBQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUVBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBQztNQUNBLEdBQ0E7UUFDQUE7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEVBQ0E7TUFDQUM7UUFDQUQ7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxFQUNBO01BQ0FFLE9BQ0EsQ0FDQSxLQUNBLEVBQ0EsQ0FDQSxLQUNBLEVBQ0EsQ0FDQSxLQUNBLENBQ0E7TUFFQUMsY0FDQSxDQUNBLGVBQ0E7TUFDQTtNQUNBLENBQ0EsZUFDQSxFQUNBLENBQ0EsZUFDQTtNQUNBO01BQ0EsQ0FDQTtNQUVBO01BQUEsQ0FDQTs7TUFDQUMsVUFDQSxDQUNBLGVBQ0EsRUFDQSxDQUNBLGVBQ0EsRUFDQSxDQUNBOztNQUdBO01BQUEsQ0FDQTs7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBOztNQUVBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTs7TUFFQTtNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUg7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7TUFDQTJCO1FBRUE7VUFDQUM7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBRUE7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO01BRUE7TUFDQUM7UUFDQUM7UUFDQXZDO01BQ0EsR0FDQTtRQUNBdUM7UUFDQXZDO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQSxFQUNBOztNQUNBd0M7UUFDQUQ7UUFDQXZDO01BQ0EsR0FDQTtRQUNBdUM7UUFDQXZDO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQSxFQUNBOztNQUNBeUM7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBQztRQUNBQztRQUFBO1FBQ0FDO1FBQUE7UUFDQUM7UUFBQTtRQUNBQztRQUNBQztRQUNBQztRQUNBO1FBQ0FmO1FBQ0FnQjtRQUNBckI7UUFDQXNCO1FBQ0FDO1FBQ0FDO1FBQ0E7UUFDQWQ7UUFDQWU7UUFDQUM7UUFDQUM7UUFDQTtNQUNBOztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFBQTtNQUNBQztJQUNBO0VBRUE7O0VBQ0FDO0lBQ0FDO01BQ0F6RDtNQUNBO0lBQ0E7RUFFQTtFQUNBMEQ7SUFBQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUVBO01BQ0E7O01BRUE7TUFDQTtJQUNBOztJQUNBO0lBQ0E7SUFDQTtJQUNBOztJQUVBO0lBQ0E7SUFDQTtFQUtBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQTtVQUNBMUM7VUFDQTJDO1FBQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUFBO2dCQUNBbEU7Z0JBQ0FtRTtjQUNBO1lBQUE7VUFDQTtZQUNBO2NBQ0E5RDtjQUNBK0Q7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUVBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQUM7UUFDQW5FO1FBQ0FvRTtVQUNBO1VBQ0E7UUFFQTtNQUNBO0lBQ0E7SUFFQUM7TUFDQTtNQUNBO1FBQ0E7VUFFQS9GO1VBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQWdHO01BRUE7UUFDQTtNQUNBO1FBQ0E7TUFFQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtNQUNBO1FBQ0FDO1FBQ0F0RDtRQUNBMkM7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO2NBQ0E7Y0FFQTtjQUNBO2NBQ0E7WUFDQTtZQUNBO1lBQ0E7O1lBRUE7WUFDQTtVQUVBO1lBQ0E7WUFDQTtZQUNBO1VBQ0E7UUFDQTtVQUNBO1VBQ0E7VUFDQTtRQUNBO01BQ0E7TUFDQVk7UUFDQTtRQUNBO01BQ0E7SUFFQTtJQUNBQztNQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQTtVQUNBekQ7VUFDQTJDO1FBQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUFBO2dCQUNBbEU7Z0JBQ0F2QjtjQUNBO1lBQUE7VUFDQTtZQUNBO2NBQ0E0QjtjQUNBK0Q7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUVBO0lBQ0FhO01BQUE7TUFDQTtRQUNBNUU7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7UUFDQSxRQUVBO01BQ0E7TUFDQTtJQUNBO0lBQ0E2RTtNQUNBO0lBRUE7SUFDQUM7TUFBQTtNQUNBO1FBQ0FDO1FBQ0E3RDtRQUNBMkM7TUFDQTtNQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUNBO2NBQ0E7Y0FDQTtjQUNBO2NBQ0E7Y0FDQTtjQUNBO1lBQ0E7Y0FDQTtjQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2NBQ0E7Z0JBQ0E7Z0JBQ0E7Y0FFQTtZQUVBO1VBQ0E7WUFDQTtjQUNBN0Q7Y0FDQStEO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFFQTtJQUVBaUI7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUVBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7TUFDQTtNQUdBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1VBQ0FDO1VBQ0E7WUFDQUE7VUFDQTtVQUVBQztVQUNBO1lBQ0FBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7UUFDQTtRQUNBO1FBQ0E7VUFDQUQ7VUFDQTtZQUNBQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTtVQUNBOztVQUVBQztVQUNBO1lBQ0FBO1VBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO1VBQ0FEO1FBQ0E7UUFDQTtNQUNBO01BRUE7UUFDQW5CO1FBQ0E7VUFDQTtZQUNBO2NBQ0FuRTtjQUNBK0Q7WUFDQTtZQUVBO1lBQ0E7WUFDQTtVQUNBO1lBQ0E7Y0FDQS9EO2NBQ0ErRDtZQUNBO1VBQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtNQUFBLENBQ0E7TUFDQTtJQUNBO0lBR0F5QjtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUVBO0lBQ0E7SUFFQUM7TUFDQTtRQUNBO1VBQ0F6RjtVQUNBK0Q7UUFDQTtNQUNBO1FBQ0E7UUFDQTtVQUNBO1lBQ0E7Y0FDQTtjQUNBO2dCQUNBL0Q7Z0JBQ0ErRDtjQUNBO1lBQ0E7Y0FDQTtnQkFDQS9EO2dCQUNBK0Q7Y0FDQTtjQUNBO1lBQ0E7Y0FDQTtjQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0E7WUFDQTtZQUNBO1VBQ0E7WUFDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBS0E7SUFDQTJCO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBRUFDO01BRUE7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BRUE7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQS9GO1FBQ0FhO01BQ0E7TUFDQTtRQUNBO1VBQ0E7WUFDQTtZQUNBbUY7WUFDQUE7WUFDQTtVQUNBO1lBQ0E7Y0FDQXJHO2NBQ0ErRDtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQXVDO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQTtRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtVQUNBQztRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBeEY7UUFDQTJDO01BQ0E7TUFDQTtRQUNBO1VBQ0E7WUFDQTtjQUNBO2dCQUFBO2NBQUE7Y0FDQTtnQkFDQTtjQUNBO2NBQ0E7Z0JBQ0E7Z0JBQ0E7a0JBQ0E7b0JBQUE7a0JBQUE7Z0JBQ0E7Z0JBQ0E7Y0FFQTtjQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO01BQ0FZO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQWtDO01BQUE7TUFDQTtNQUNBO1FBQ0F6RjtRQUNBMkM7TUFDQTtNQUNBO1FBQ0E7VUFDQTtZQUNBO1lBQ0E7Y0FDQTtjQUNBO2dCQUNBO2dCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBOztrQkFFQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtrQkFDQTtvQkFDQSxvRUFDQStDLFFBQ0FDLCtEQUNBLE1BQ0E7c0JBQ0EsdUVBQ0E7c0JBQ0EseUVBQ0E7b0JBQ0E7a0JBQ0E7a0JBQ0E7b0JBQ0EseURBQ0FDLEtBQ0FDLFlBQ0E7a0JBQ0E7a0JBQ0E7a0JBQ0FDO29CQUNBO3NCQUNBO3NCQUNBO29CQUNBO2tCQUNBO2dCQUNBO2tCQUNBO2tCQUNBO2dCQUNBO2NBQ0EsUUFFQTtZQUNBO1VBR0E7UUFFQTtNQUNBO01BRUF2QztRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUF3QztNQUFBO01BQ0E7UUFDQS9GO1FBQ0EyQztNQUNBO01BQ0E7UUFDQTtVQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7TUFDQVk7UUFDQTtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIyNDIuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXc+XHJcblx0XHQ8dS1zZWFyY2ggdi1zaG93PVwic2hvd1wiIGNsYXNzPVwic2VhcmNoYmdcIiBzaGFwZT1cInRydWVcIiBiZy1jb2xvcj1cInJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KVwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5ZCN56ewXCJcclxuXHRcdFx0OnNob3ctYWN0aW9uPVwiZmFsc2VcIiB2LW1vZGVsPVwia2V5d29yZFwiIEBzZWFyY2g9XCJzZWFyY2h4aW54aVwiXHJcblx0XHRcdDpzdHlsZT1cInt0b3A6IHRvcGhlaWdodCsncHgnLHBvc2l0aW9uOiAnYWJzb2x1dGUnLHdpZHRoOiAnNTAlJyxsZWZ0OiAnMjUlJ31cIj48L3Utc2VhcmNoPlxyXG5cdFx0PCEtLSAjaWZkZWYgQVBQLVBMVVMgfHwgSDUgLS0+XHJcblx0XHQ8dmlldyA6c3R5bGU9XCJ7dG9wOiB0b3BoZWlnaHQrJ3B4Jyxwb3NpdGlvbjogJ2Fic29sdXRlJyx3aWR0aDogJzEwMCUnLCd6LWluZGV4JzogJzk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OSd9XCI+XHJcblx0XHRcdDwhLS0gPHUtLWltYWdlXHJcbiBcclxuICAgIDpzaG93TG9hZGluZz1cInRydWVcIlxyXG4gICAgc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yZWQucG5nXCJcclxuICAgIHdpZHRoPVwiMjVweFwiXHJcbiAgICBoZWlnaHQ9XCIyNXB4XCJcclxuICAgIEBjbGljaz1cImNsaWNrXCJcclxuICA+PC91LS1pbWFnZT7npoHljLogLS0+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYXJlYVwiXHJcblx0XHRcdFx0c3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6IGJvbGRlcjtmb250LXNpemU6IDE2cHg7YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtjb2xvcjogI2ZmZmZmZjtcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yZWQucG5nXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwidmVydGljYWwtYWxpZ246IG1pZGRsZTtwb3NpdGlvbjogcmVsYXRpdmU7dG9wOiAtMnB4O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHhcIj7npoHljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvZ3JlZW4ucG5nXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwidmVydGljYWwtYWxpZ246IG1pZGRsZTtwb3NpdGlvbjogcmVsYXRpdmU7dG9wOiAtMnB4O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHhcIj7lronlhajljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvYmx1ZS5wbmdcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO3Bvc2l0aW9uOiByZWxhdGl2ZTt0b3A6IC0ycHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweFwiPiDmlr3lt6XljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvcWluZ3NlLnBuZ1wiXHJcblx0XHRcdFx0XHRzdHlsZT1cInZlcnRpY2FsLWFsaWduOiBtaWRkbGU7cG9zaXRpb246IHJlbGF0aXZlO3RvcDogLTJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4XCI+IOS/neaKpOWMujwvaW1hZ2U+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi10b3A6IDEyMHB4O3Bvc2l0aW9uOiBmaXhlZDsgIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5OTk5OTk5OTk7XCI+XHJcblx0XHRcdDwhLS0ge3t3YXJubGlzdH19IC0tPlxyXG5cdFx0XHQ8IS0tIHt7d2Fybmxpc3QubGVuZ3RofX0gLS0+XHJcblx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHdhcm5saXN0XCIgOmtleT1cImluZGV4XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4O1wiPlxyXG5cdFx0XHRcdDwhLS0ge3tpdGVtLndhcm5zdGF0dXN9fSAtLT5cclxuXHRcdFx0XHQ8dS1hbGVydCB0eXBlPVwid2FybmluZ1wiIDpjbG9zYWJsZT1cInRydWVcIiA6ZGVzY3JpcHRpb249XCJpdGVtXCI+PC91LWFsZXJ0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIDx1LWJ1dHRvbiBAY2xpY2s9XCJkcmF3XCIgaWNvbj1cIi4uLy4uL3N0YXRpYy9kcmF3ZmVuY2UucG5nXCJcclxuXHRcdFx0c3R5bGU9XCIgYm9yZGVyLWNvbG9yOiAjNWI1YjViO2JhY2tncm91bmQtY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMCk7IHdpZHRoOiAzMXB4O2hlaWdodDogMzFweDsgcG9zaXRpb246YWJzb2x1dGU7dG9wOiA3MCU7IGxlZnQ6MTVweDt6LWluZGV4OiA5OTk5OTk5OTk5OTk5OTk7XCI+PC91LWJ1dHRvbj4gLS0+XHJcblx0XHQ8dS1idXR0b24gQGNsaWNrPVwiZHJhd1wiIGljb249XCIuLi8uLi9zdGF0aWMvZHJhd2YucG5nXCIgOnN0eWxlPVwieyBcclxuICAgICAgICBib3JkZXJDb2xvcjogJyM1YjViNWInLCBcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDExNSwgMTE1LCAxMTUsIDApJywgXHJcbiAgICAgICAgd2lkdGg6ICczMnB4JywgXHJcbiAgICAgICAgaGVpZ2h0OiAnMzFweCcsIFxyXG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLCBcclxuICAgICAgICB0b3A6IGJ1dHRvblRvcCArICdweCcsIFxyXG4gICAgICAgIGxlZnQ6IGJ1dHRvbkxlZnQgKyAncHgnLCBcclxuICAgICAgICB6SW5kZXg6IDk5OTk5OTk5OTk5OTk5OSBcclxuICAgICAgfVwiPlxyXG5cdFx0PC91LWJ1dHRvbj5cclxuXHRcdDx1LW1vZGFsIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O1wiIGJ1dHRvblJldmVyc2UgY29uZmlybVRleHQ9XCLkuIvkuIDmraVcIiBjYW5jZWxUZXh0PVwi5Y+W5raIXCJcclxuXHRcdFx0OnNob3c9XCJkcmF3c2hvd1wiIEBjYW5jZWw9XCJjYW5jZWxtb2RhbFwiIEBjb25maXJtPVwic3RhcnRkcmF3XCIgcmVmPVwidU1vZGFsXCIgOnNob3dDYW5jZWxCdXR0b249XCJ0cnVlXCJcclxuXHRcdFx0OmNsb3NlT25DbGlja092ZXJsYXk9XCJ0cnVlXCI+XHJcblx0XHRcdDx1LWljb24gbmFtZT1cImNsb3NlXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDEwcHg7dG9wOjEwcHhcIiBAY2xpY2s9XCJjbG9zZW1vZGFsXCI+PC91LWljb24+XHJcblx0XHRcdDx2aWV3IHN0eWxlPVwibWF4LWhlaWdodDogNjAwcHg7IG92ZXJmbG93LXk6IGF1dG87XCI+XHJcblxyXG5cdFx0XHRcdDx1LS1mb3JtIHN0eWxlPVwiXCIgbGFiZWxQb3NpdGlvbj1cImxlZnRcIiA6bW9kZWw9XCJtb2RlbFwiIDpydWxlcz1cInJ1bGVzMlwiIHJlZj1cInVGb3JtXCI+XHJcblx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLnu4jnq6/nvJblj7c6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cInRhZ29ubGllPT0xICYmIGNvZGUhPScnXCIgOmlzRG90PVwidHJ1ZVwiIHR5cGU9XCJzdWNjZXNzXCI+PC91LWJhZGdlPlxyXG5cdFx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0YWdvbmxpZT09MCAmJiBjb2RlIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cImNvZGVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXnu4jnq6/nvJblj7dcIiBAYmx1cj1cInNlYWNoY29kZVwiPjwvdS0taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImNvZGVcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvd3RhZ2lkID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup57uI56uv57yW5Y+3XCIgLz5cclxuXHRcdFx0XHRcdFx0PHRuLXNlbGVjdCB2LW1vZGVsPVwic2hvd3RhZ2lkXCIgbW9kZT1cInNpbmdsZVwiIDpsaXN0PVwidGFnaWRsaXN0XCIgQGNvbmZpcm09XCJjb25maXJtdGFnaWRcIlxyXG5cdFx0XHRcdFx0XHRcdDpzZWFyY2hTaG93PVwidHJ1ZVwiPjwvdG4tc2VsZWN0PlxyXG5cdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIumAieaLqeWcuuaZrzpcIiBwcm9wPVwiZmVuY2V0eXBlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtcmFkaW8tZ3JvdXAgdi1tb2RlbD1cIm1vZGVsLmZlbmNldHlwZVwiIHBsYWNlbWVudD1cInJvd1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx1LXJhZGlvIDpjdXN0b21TdHlsZT1cInttYXJnaW5SaWdodDogJzhweCd9XCIgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIHJhZGlvbGlzdDFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OmtleT1cImluZGV4XCIgOmxhYmVsPVwiaXRlbS5uYW1lXCIgOm5hbWU9XCJpdGVtLm5hbWVcIiBAY2hhbmdlPVwicmFkaW9DaGFuZ2VcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtcmFkaW8+XHJcblx0XHRcdFx0XHRcdDwvdS1yYWRpby1ncm91cD5cclxuXHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdFx0PHZpZXcgdi1pZj0naXNwZXJ0aWVzJz5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIHYtc2hvdz0naXNwZXJ0aWVzJyBsYWJlbD1cIue7mOWItuaWueW8jzpcIiBwcm9wPVwiZmVuY2V0eXBlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCJcclxuXHRcdFx0XHRcdFx0XHRsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx1LXJhZGlvLWdyb3VwIHYtbW9kZWw9XCJkcmF3d2F5XCIgcGxhY2VtZW50PVwicm93XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1yYWRpbyA6Y3VzdG9tU3R5bGU9XCJ7bWFyZ2luUmlnaHQ6ICc4cHgnfVwiIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiByYWRpb2xpc3QyXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0OmtleT1cImluZGV4XCIgOmxhYmVsPVwiaXRlbS5uYW1lXCIgOm5hbWU9XCJpdGVtLm5hbWVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1yYWRpbz5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtcmFkaW8tZ3JvdXA+XHJcblx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHRcdFx0XHQ8dmlldyB2LWVsc2U+XHJcblx0XHRcdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIuaTjeS9nOaPkOekujpcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIHN0eWxlPVwiY29sb3I6cmVkXCI+5bCG5qCH562+5pS+5Zyo5Zyw6Z2i5rWL6YeP5a+857q/6L6557yY5Z2Q5qCH77yM5ZCM5pe255So5r+A5YWJ5rWL6YeP5a+857q/6Led56a75Zyw6Z2i55qE6auY5bqmPC9zcGFuPlxyXG5cclxuXHRcdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIGxhYmVsPVwi5paw5aKe5aGUOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0PHUtbnVtYmVyLWJveCB2LW1vZGVsPVwidGFudW1cIiA6bWluPVwiMlwiIDptYXg9XCI0XHRcIiBAY2hhbmdlPVwidmFsQ2hhbmdlXCI+PC91LW51bWJlci1ib3g+XHJcblx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwiaSBpbiB0YW51bVwiIDprZXk9XCJpXCI+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifloZQnICsgKGkpICsgJ+WdkOagh0E6J1wiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVswXSE9JydcIiB2LW1vZGVsPVwienVvYmlhb2xpc3RbaS0xXVswXVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiIHN0eWxlPVwid2lkdGg6NDAwcnB4XCI+PC90bi1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0gPHRuLWJ1dHRvbiB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzBdPT0nJ1wiIGJhY2tncm91bmRDb2xvcj1cIiM1NWFhZmZcIiBmb250Q29sb3I9XCIjZmZmZmZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbWFsbFwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaSwwKVwiPumHh+mbhuWdkOaghzwvdG4tYnV0dG9uPiAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwhLS0gPGJ1dHRvbiBzaXplPVwibWluaVwiIEBjbGljaz1cImFjcXVpc2l0aW9uXCI+6YeH6ZuGPC9idXR0b24+IC0tPlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtc2hvdz1cInp1b2JpYW9saXN0W2ktMV1bMF09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ6ZGlzYWJsZWQ9XCJkaXNhYmxlZFwiIHNpemU9XCJtaW5pXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGksMCwnemInKVwiPumHh+mbhuWdkOaghzwvdS1idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3VuaS10b29sdGlwPlxyXG5cdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifloZQnICsgKGkpICsgJ+WdkOagh0I6J1wiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVsxXSE9JydcIiB2LW1vZGVsPVwienVvYmlhb2xpc3RbaS0xXVsxXVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiIHN0eWxlPVwid2lkdGg6NDAwcnB4XCI+PC90bi1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzFdPT0nJ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0OmRpc2FibGVkPVwiZGlzYWJsZWRcIiBzaXplPVwibWluaVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDEsJ3piJylcIj7ph4fpm4blnZDmoIc8L3UtYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx0bi1idXR0b24gZGlzYWJsZWQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVsxXT09JydcIiBiYWNrZ3JvdW5kQ29sb3I9XCIjNTVhYWZmXCIgZm9udENvbG9yPVwiI2ZmZmZmZlwiXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21hbGxcIiBAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGksMSlcIj7ph4fpm4blnZDmoIc8L3RuLWJ1dHRvbj4gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3VuaS10b29sdGlwPlxyXG5cdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIGxhYmVsPVwi5a+857q/6auYOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS0taW5wdXQgdi1tb2RlbD1cInp1b2JpYW9saXN0W2ktMV1bM11cIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlr7znur/pq5g6XCI+PC91LS1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiaT49MSAmJiBpPHRhbnVtXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8IS0tIHt7aTw9dGFudW19fVxyXG5cdFx0XHRcdFx0XHRcdFx0e3tzYWdsaXN0W2ktMV19fVxyXG5cdFx0XHRcdFx0XHRcdFx0e3tzYWdsaXN0W2ktMV1bMF19fSAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDx1LWZvcm0taXRlbSA6bGFiZWw9XCIn5byn5Z6CJyArIChpKSArICflnZDmoIdBOidcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHRuLWlucHV0IHYtc2hvdz1cInNhZ2xpc3RbaS0xXVswXSE9JydcIiB2LW1vZGVsPVwic2FnbGlzdFtpLTFdWzBdXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOjQwMHJweFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMF09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDAsJ3NhZycpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gOmxhYmVsPVwiJ+W8p+WegicgKyAoaSkgKyAn5Z2Q5qCHQjonXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0OmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx0bi1pbnB1dCB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMV0hPScnXCIgdi1tb2RlbD1cInNhZ2xpc3RbaS0xXVsxXVwiIGlucHV0QWxpZ249XCJyaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJ3aWR0aDo0MDBycHhcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dW5pLXRvb2x0aXAgOmNvbnRlbnQ9XCJjb250ZW50XCIgcGxhY2VtZW50PVwidG9wXCIgc3R5bGU9XCJ3aWR0aDoxMDBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMV09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDEsJ3NhZycpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gbGFiZWw9XCLlvKflnoLpq5g6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJzYWdsaXN0W2ktMV1bM11cIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlvKflnoLpq5g6XCI+PC91LS1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8L3UtLWZvcm0+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdS1tb2RhbD5cclxuXHRcdDx1LW1vZGFsIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O1wiIGJ1dHRvblJldmVyc2UgY29uZmlybVRleHQ9XCLkv53lrZjlm7TmoI9cIiBjYW5jZWxUZXh0PVwi6L+U5Zue5LiK5LiA5q2lXCJcclxuXHRcdFx0OnNob3c9XCJzYXZlZmVuY2VcIiBAY2FuY2VsPVwiY2FuY2Vsc2F2ZVwiIEBjb25maXJtPVwic2F2ZVwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8IS0tIDx1LWljb24gbmFtZT1cImNsb3NlXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDEwcHg7dG9wOjEwcHhcIiBAY2xpY2s9XCJjbG9zZW1vZGFsXCI+PC91LWljb24+IC0tPlxyXG5cdFx0XHQ8dS0tZm9ybSBzdHlsZT1cIlwiIGxhYmVsUG9zaXRpb249XCJsZWZ0XCIgOm1vZGVsPVwibW9kZWxcIiByZWY9XCJ1Rm9ybVwiIDpydWxlcz1cInJ1bGVzMlwiPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSByZXF1aXJlZCBsYWJlbD1cIuWbtOagj+WQjeensDpcIiBwcm9wPVwibmFtZVwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHQ8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLm5hbWVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/lkI3np7BcIj48L3UtLWlucHV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLlm7TmoI/nsbvlnos6XCIgcHJvcD1cInR5cGVcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwibW9kZWwudHlwZVwiIHR5cGU9XCJzZWxlY3RcIiBAY2xpY2s9XCJzaG93MSA9IHRydWVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpemAieaLqeWbtOagj+exu+Wei1wiIC8+XHJcblx0XHRcdFx0XHQ8dG4tYWN0aW9uLXNoZWV0IDpsaXN0PVwidHlwZUxpc3RcIiB2LW1vZGVsPVwic2hvdzFcIiBAY2xpY2s9XCJ0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSByZXF1aXJlZCBsYWJlbD1cIuWFs+iBlOmDqOmXqDpcIiBwcm9wPVwiZGVwYXJ0bWVudFwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5kZXBhcnRtZW50XCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cyID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5YWz6IGU6YOo6ZeoXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJidW1lbkxpc3RcIiB2LW1vZGVsPVwic2hvdzJcIiBAY2xpY2s9XCJieW1lbkNhbGxiYWNrXCI+PC90bi1hY3Rpb24tc2hlZXQ+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5Zu05qCP6auY5bqmOlwiIHByb3A9XCJoZWlnaHRcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5oZWlnaHRcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/pq5jluqZcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLpooTorabot53nprs6XCIgcHJvcD1cImRpc3RhbmNlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdDx1LS1pbnB1dCB2LW1vZGVsPVwibW9kZWwuZGlzdGFuY2VcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXpooTorabot53nprtcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDwhLS0gPHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi6aKE6K2m6K+t6Z+zOlwiIHByb3A9XCJub3dhcm5tZXNcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5ub3dhcm5tZXNcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXpooTorabor63pn7NcIj48L3UtLWlucHV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5ZGK6K2m6K+t6Z+zOlwiIHByb3A9XCJ3YXJubWVzXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdDx1LS1pbnB1dCB2LW1vZGVsPVwibW9kZWwud2Fybm1lc1wiIGJvcmRlcj1cIm5vbmVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeWRiuitpuivremfs1wiPjwvdS0taW5wdXQ+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT4gLS0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi55S15Y6L562J57qnOlwiIHByb3A9XCJkaWFueWFcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5qdWxpXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3c0ID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup55S15Y6L562J57qnXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJyYW5nZUxldmVsXCIgdi1tb2RlbD1cInNob3c0XCIgQGNsaWNrPVwiY2hhbmdlUmFuZ2VMZXZlbFwiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdFx0PCEtLSA8dW5pLWRhdGEtc2VsZWN0IHYtbW9kZWw9XCJtb2RlbC5kaWFueWFcIiA6bG9jYWxkYXRhPVwicmFuZ2VMZXZlbFwiXHJcblx0XHRcdFx0XHRcdEBjaGFuZ2U9XCJjaGFuZ2VSYW5nZUxldmVsXCI+PC91bmktZGF0YS1zZWxlY3Q+IC0tPlxyXG5cdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLmRpYW55YVwiIGJvcmRlcj1cIm5vbmVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeeUteWOi+etiee6p1wiPjwvdS0taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5a6J5YWo6Led56a7OlwiIHByb3A9XCJkaWFueWFcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5kaWFueWFcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlronlhajot53nprtcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIuaYr+WQpuWQr+eUqDpcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLm5hbWVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/lkI3np7BcIj48L3UtLWlucHV0PiAtLT5cclxuXHRcdFx0XHRcdDx1LXN3aXRjaCB2LW1vZGVsPVwiaXNwbGF5XCIgQGNoYW5nZT1cImlzb3BlblwiPjwvdS1zd2l0Y2g+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gdi1pZj1cIm1vZGVsLmZlbmNldHlwZSA9PSAn5Y+Y55S15L2c5LiaJ1wiIGxhYmVsPVwi5Zyw6Z2i5qCh5YeGOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiPlxyXG5cdFx0XHRcdFx0PHNwYW4gc3R5bGU9XCJjb2xvcjpyZWRcIj7lsIbmoIfnrb7mlL7lnKjlnLDpnaLvvIzngrnlh7vojrflj5blm7TmoI/lnLDpnaLpq5jluqY8L3NwYW4+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gdi1pZj1cIm1vZGVsLmZlbmNldHlwZSA9PSAn5Y+Y55S15L2c5LiaJ1wiIGxhYmVsPVwi5Zyw6Z2i6auY5bqmOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwibW9kZWwuZmVuY2VGbG9vckhlIT0nLTEnXCIgdi1tb2RlbD1cIm1vZGVsLmZlbmNlRmxvb3JIZVwiXHJcblx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHQ8IS0tIDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+IC0tPlxyXG5cdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtc2hvdz1cIm1vZGVsLmZlbmNlRmxvb3JIZT09Jy0xJ1wiIHNpemU9XCJtaW5pXCJcclxuXHRcdFx0XHRcdFx0QGNsaWNrPVwiZmVuY2VIZSgpXCI+5bey57uP5pS+5aW9PC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdDwhLS0gPHRuLWJ1dHRvbiBkaXNhYmxlZCB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzFdPT0nJ1wiIGJhY2tncm91bmRDb2xvcj1cIiM1NWFhZmZcIiBmb250Q29sb3I9XCIjZmZmZmZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbWFsbFwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaSwxKVwiPumHh+mbhuWdkOaghzwvdG4tYnV0dG9uPiAtLT5cclxuXHRcdFx0XHRcdDwhLS0gPC91bmktdG9vbHRpcD4gLS0+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0PC91LS1mb3JtPlxyXG5cdFx0PC91LW1vZGFsPlxyXG5cdFx0PCEtLSDov57nu63nu5jliLblvLnnqpcgLS0+XHJcblx0XHQ8dS1tb2RhbCA6c2hvdz1cImxkcmF3c2hvd1wiIDp0aXRsZT1cImxkcmF3dGl0bGVcIiA6Y29udGVudD0nbGRyYXdjb250ZW50JyBjb25maXJtVGV4dD1cIuW8gOWni+e7mOWItlwiIGNhbmNlbFRleHQ9XCLov5Tlm57kuIrkuIDmraVcIlxyXG5cdFx0XHQ6c2hvd0NhbmNlbEJ1dHRvbj1cInRydWVcIiBAY2FuY2VsPVwibGRyYXdjYW5jZWxcIiBAY29uZmlybT1cImxkcmF3Y29uZmlybVwiIGJ1dHRvblJldmVyc2U+PC91LW1vZGFsPlxyXG5cclxuXHRcdDwhLS0gPHRuLXBvcHVwIHYtbW9kZWw9XCJsb2NrZ3VpamlcIiA6bWFzaz1cImZhbHNlXCIgbW9kZT1cImJvdHRvbVwiIGNsb3NlQnRuIDptYXNrQ2xvc2VhYmxlPVwiZmFsc2VcIj4gLS0+XHJcblxyXG5cdFx0PHUtYnV0dG9uIHYtc2hvdz1cImVuZFwiIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O2JvdHRvbToxNSU7d2lkdGg6NTAlO2xlZnQ6MjUlXCJcclxuXHRcdFx0dHlwZT1cInByaW1hcnlcIiBzaGFwZT1cImNpcmNsZVwiIHRleHQ9XCLnu5PmnZ/nu5jliLZcIiBAY2xpY2s9XCJlbmRzYXZlKClcIj48L3UtYnV0dG9uPlxyXG5cdFx0PCEtLSDmiZPngrnnu5jliLblvLnnqpcgcG9pbnRkcmF3c2hvdy0tPlxyXG5cdFx0PHUtbW9kYWwgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk7XCIgYnV0dG9uUmV2ZXJzZSBjb25maXJtVGV4dD1cIuaJk+eCueWujOaIkFwiIGNhbmNlbFRleHQ9XCLov5Tlm57kuIrkuIDmraVcIlxyXG5cdFx0XHQ6c2hvdz1cInBvaW50ZHJhd3Nob3dcIiBAY2FuY2VsPVwiY2FuY2VscG9pbnRcIiBAY29uZmlybT1cInNhdmVwb2ludFwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cIm1heC1oZWlnaHQ6IDMwMHB4OyBvdmVyZmxvdy15OiBhdXRvO1wiPlxyXG5cdFx0XHRcdDx1LS1mb3JtIHN0eWxlPVwiXCIgbGFiZWxQb3NpdGlvbj1cImxlZnRcIiA6bW9kZWw9XCJtb2RlbFwiIDpydWxlcz1cInJ1bGVzMlwiIHJlZj1cInVGb3JtXCI+XHJcblx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gbGFiZWw9XCLmlrDlop7ngrk6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtbnVtYmVyLWJveCB2LW1vZGVsPVwicG9pbnRudW1cIiA6bWluPVwiNFwiIEBjaGFuZ2U9XCJvbmNoYW5nZVwiPjwvdS1udW1iZXItYm94PlxyXG5cdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBwb2ludGxpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifngrknICsgKGluZGV4KzEpICsgJ+WdkOaghzonXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwicG9pbnRsaXN0W2luZGV4XSE9aW5kZXhcIiB2LW1vZGVsPVwicG9pbnRsaXN0W2luZGV4XVwiXHJcblx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOjQwMHJweFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHRcdFx0PHVuaS10b29sdGlwIDpjb250ZW50PVwicG9pbnRjb250ZW50XCIgcGxhY2VtZW50PVwidG9wXCIgc3R5bGU9XCJ3aWR0aDoxMDBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtaWY9XCJwb2ludGxpc3RbaW5kZXhdPT1pbmRleFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cInBvaW50ZGlzYWJsZWRcIiBzaXplPVwibWluaVwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaW5kZXgpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1idXR0b24gc3R5bGU9XCJ3aWR0aDoxMDBweFwiIHR5cGU9XCJwcmltYXJ5XCIgdi1lbHNlLWlmPVwicG9pbnRsaXN0W2luZGV4XT09JydcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ6ZGlzYWJsZWQ9XCJwb2ludGRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIiBAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGluZGV4KVwiPumHh+mbhuWdkOaghzwvdS1idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3UtLWZvcm0+XHJcblxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwhLS0gPHUtaWNvbiBuYW1lPVwiY2xvc2VcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogMTBweDt0b3A6MTBweFwiIEBjbGljaz1cImNsb3NlbW9kYWxcIj48L3UtaWNvbj4gLS0+XHJcblxyXG5cdFx0PC91LW1vZGFsPlxyXG5cclxuXHRcdDwhLS0gPC90bi1wb3B1cD4gLS0+XHJcblx0XHQ8IS0tIDx2aWV3IHYtc2hvdz1cImxvY2tndWlqaVwiXHJcblx0XHRcdHN0eWxlPVwiIHBvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiA5OTk5OTk5OTk5OTk5OTtiYWNrZ3JvdW5kLWNvbG9yOiAjY2FkMWZkO2JvdHRvbTogODBweDt3aWR0aDogODAlO2xlZnQ6IDE1JTtcIj5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxyXG5cclxuXHRcdFx0XHQ8c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtcIj7lvZPliY3vvJp7e2RxbnVtfX08L3NwYW4+XHJcblx0XHRcdFx0PHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHg7XCI+e3twbGFja1RpbWV9fTwvc3Bhbj5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XHJcblx0XHRcdFx0PHNwYW4+6YCf5bqm77yaPC9zcGFuPlxyXG5cdFx0XHRcdDx1bmktZGF0YS1zZWxlY3Qgc3R5bGU9XCJ3aWR0aDogNDAlO1wiIHBsYWNlaG9sZGVyPVwi6YCJ5oup6YCf5bqmXCIgdi1tb2RlbD1cIm1vZGVsLnN1ZHVcIiA6bG9jYWxkYXRhPVwicmFuZ2VcIlxyXG5cdFx0XHRcdFx0QGNoYW5nZT1cImNoYW5nZVwiPjwvdW5pLWRhdGEtc2VsZWN0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0PGRpdiBpZD1cIm1hcnMzZENvbnRhaW5lclwiIGNsYXNzPVwibWFyczNkLWNvbnRhaW5lclwiIDptYXJzc2V0PSdtYXJzc2V0JyA6Y2hhbmdlOm1hcnNzZXQ9XCJtYXJzM2QuZ2V0bWFyc0RhdGFcIlxyXG5cdFx0XHQ6YW1hcFBvaW50cz0nYW1hcFBvaW50cycgOmNoYW5nZTphbWFwUG9pbnRzPVwibWFyczNkLmdldERhdGFcIiA6dGhyZWVvcnR3bz0ndGhyZWVvcnR3bydcclxuXHRcdFx0OmNoYW5nZTp0aHJlZW9ydHdvPVwibWFyczNkLmdldDN3ZWlcIiA6YW1hcFBvaW50RGF0YT0nYW1hcFBvaW50RGF0YSdcclxuXHRcdFx0OmNoYW5nZTphbWFwUG9pbnREYXRhPVwibWFyczNkLmdldFBvaW50RGF0YVwiIDphbWFwbGRyYXdEYXRhPSdhbWFwbGRyYXdEYXRhJ1xyXG5cdFx0XHQ6Y2hhbmdlOmFtYXBsZHJhd0RhdGE9XCJtYXJzM2QuZ2V0RHJ3YURhdGFcIiA6YW1hcEZlbmNlUG9pbnRzPSdhbWFwRmVuY2VQb2ludHMnXHJcblx0XHRcdDpjaGFuZ2U6YW1hcEZlbmNlUG9pbnRzPVwibWFyczNkLmdldEZlbmNlRGF0YVwiIDphbWFwZGVGZW5jZVBvaW50cz0nYW1hcGRlRmVuY2VQb2ludHMnXHJcblx0XHRcdDpjaGFuZ2U6YW1hcGRlRmVuY2VQb2ludHM9XCJtYXJzM2QuZ2V0RmVuY2VEYXRhZGVcIiA6YW1hcEdQU1BvaW50cz0nYW1hcEdQU1BvaW50cydcclxuXHRcdFx0OmNoYW5nZTphbWFwR1BTUG9pbnRzPVwibWFyczNkLmdldGdwc0RhdGFcIiA6cG9pbnQ9J3BvaW50JyA6Y2hhbmdlOnBvaW50PVwibWFyczNkLmdldG1hcnNQb2ludFwiXHJcblx0XHRcdDpmZW5jZXBvc2l0aW9uPSdmZW5jZXBvc2l0aW9uJyA6Y2hhbmdlOmZlbmNlcG9zaXRpb249XCJtYXJzM2QuZ2V0bWFyc2ZlbmNlUG9pbnRcIj48L2Rpdj5cclxuXHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdFx0PCEtLSAjaWZuZGVmIEFQUC1QTFVTIHx8IEg1IC0tPlxyXG5cdFx0PCEtLSAjZW5kaWYgLS0+XHJcblx0XHQ8c3VjY2Vzc0NvbSByZWY9XCJyZWZTdWNjZXNzXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk5OTtcIj48L3N1Y2Nlc3NDb20+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCBzdWNjZXNzQ29tIGZyb20gJ0AvY29tcG9uZW50cy9zdWNjZXNzLnZ1ZSdcclxuXHRpbXBvcnQge1xyXG5cdFx0ZmluZHRhZ2lkLFxyXG5cdFx0ZmluZFdhcm5tZXMsXHJcblx0XHRzdWJtaXRwZXIsXHJcblx0XHRmaW5kYnVtZW4sXHJcblx0XHRhY3F1aXNpdGlvbixcclxuXHRcdGZpbmR0YWdJZFBlcnNvbixcclxuXHRcdGZpbmRCYWlEdUd1aUppLFxyXG5cdFx0ZmluZEFsbEZlbmNlLFxyXG5cdFx0Z2V0QmFzZUdQU0Nlc2l1bSxcclxuXHRcdGZpbmRQZXJzb24sXHJcblx0XHRNYXJzSG9tZSxcclxuXHRcdGdldEdQU0Nlc2l1bSxcclxuXHRcdGdldEdQU1xyXG5cdH0gZnJvbSAnQC9jb25maWcvYXBpLmpzJztcclxuXHJcblx0Ly8g6YC76L6R5bGCXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0Y29tcG9uZW50czoge1xyXG5cdFx0XHRzdWNjZXNzQ29tXHJcblx0XHR9LFxyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHR3YXJubGlzdDogW10sXHJcblx0XHRcdFx0d2FybmlkbGlzdDogW10sXHJcblx0XHRcdFx0d2Fybmlkc2xpc3Q6IFtdLFxyXG5cdFx0XHRcdGxhYmVsV2lkdGg6IDEwMCxcclxuXHRcdFx0XHRwb2ludGxvY2s6IGZhbHNlLCAvL+i4qeeCueiOt+WPluaVsOaNruW8gOWFs1xyXG5cdFx0XHRcdHBvaW50Y29udGVudDogJycsXHJcblx0XHRcdFx0cG9pbnRkaXNhYmxlZDogZmFsc2UsXHJcblx0XHRcdFx0cG9pbnRsaXN0OiBbMCwgMSwgMiwgM10sXHJcblx0XHRcdFx0cG9pbnRudW06IDQsXHJcblx0XHRcdFx0cG9pbnRkcmF3c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0ZW5kOiBmYWxzZSxcclxuXHRcdFx0XHRsZHJhd3Nob3c6IGZhbHNlLFxyXG5cdFx0XHRcdGxkcmF3dGl0bGU6ICfmk43kvZzmj5DnpLo6JyxcclxuXHRcdFx0XHRsZHJhd2NvbnRlbnQ6ICfor7fmiYvmjIHnu4jnq6/vvIznrYnlvoVSVEvnu7/oibLlkI7ooYzotbDkuLrkuIDkuKrpl63lkIjlm7TmoI/jgILlh4blpIflrozmr5XlkI7ngrnlh7vlvIDlp4vnu5jliLbvvIzlrozmiJDlkI7ngrnlh7vnu5PmnZ/nu5jliLYnLFxyXG5cclxuXHRcdFx0XHRpc3BlcnRpZXM6IHRydWUsXHJcblx0XHRcdFx0ZHJhd3dheTogJ+aJk+eCuee7mOWIticsXHJcblx0XHRcdFx0Y29udGVudDogJ+ivt+WFiOi+k+WFpee7iOerr+e8luWPtycsXHJcblx0XHRcdFx0ZGlzYWJsZWQ6IHRydWUsXHJcblx0XHRcdFx0c2F2ZWZlbmNlOiBmYWxzZSxcclxuXHRcdFx0XHRidW1lbkxpc3Q6IFtdLFxyXG5cdFx0XHRcdHNob3cxOiBmYWxzZSxcclxuXHRcdFx0XHRzaG93MjogZmFsc2UsXHJcblx0XHRcdFx0dHlwZUxpc3Q6IFt7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfkv53miqTljLonXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn56aB5YWl5Yy6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+W3peS9nOWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflronlhajljLonXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0d2Fybm1lc0xpc3Q6IFt7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflh7rljrvlkYroraYnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn6L+b5YWl5ZGK6K2mJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+W3peS9nOWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflronlhajljLonXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0bGlzdDogW1xyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQwLCAxXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQyLCAzXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQ0LCA1XHJcblx0XHRcdFx0XHRdXHJcblx0XHRcdFx0XSxcclxuXHJcblx0XHRcdFx0enVvYmlhb2xpc3Q6IFtcclxuXHRcdFx0XHRcdFtcclxuXHRcdFx0XHRcdFx0JycsICcnLCAnJywgJydcclxuXHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHQvLyBoZWlnaHQxOicnLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdFtcclxuXHRcdFx0XHRcdFx0JycsICcnLCAnJywgJydcclxuXHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHQvLyBoZWlnaHQxOicnLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdC8vIGhlaWdodDM6JycsXHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRzYWdsaXN0OiBbXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdCcnLCAnJywgJycsICcnXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdFtcclxuXHRcdFx0XHRcdFx0JycsICcnLCAnJywgJydcclxuXHRcdFx0XHRcdF0sXHJcblxyXG5cdFx0XHRcdFx0Ly8gaGVpZ2h0MzonJyxcclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdC8vIGxpc3Q6IFtcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0MCwgMVxyXG5cdFx0XHRcdC8vIFx0XSxcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0MiwgM1xyXG5cdFx0XHRcdC8vIFx0XSxcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0NCwgNVxyXG5cdFx0XHRcdC8vIFx0XVxyXG5cdFx0XHRcdC8vIF0sXHJcblxyXG5cdFx0XHRcdC8vIHp1b2JpYW9saXN0OiBbXHJcblx0XHRcdFx0Ly8gXHRbXHJcblx0XHRcdFx0Ly8gXHRcdCcxQScsICcxQicsICcxJywnMTEnXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0Ly8gaGVpZ2h0MTonJyxcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0JzJBJywgJzJCJywgJzInLCcyMidcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHRbXHJcblx0XHRcdFx0Ly8gXHRcdCczQScsICczQicsICczJywnMzMnXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0Ly8gaGVpZ2h0MTonJyxcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0JzRBJywgJzRCJywgJzQnLCc0NCdcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHQvLyBoZWlnaHQzOicnLFxyXG5cdFx0XHRcdC8vIF0sXHJcblx0XHRcdFx0Ly8gc2FnbGlzdDogW1xyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQnSDVBJywgJ0g1QicsICc1JywnNTUnXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQnSDZBJywgJ0g2QicsICc2JywnNjYnXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQnSDdBJywgJ0g3QicsICc3JywnNzcnXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cclxuXHRcdFx0XHQvLyBcdC8vIGhlaWdodDM6JycsXHJcblx0XHRcdFx0Ly8gXSxcclxuXHRcdFx0XHR0YW51bTogMixcclxuXHRcdFx0XHRjb2xvcjE6ICcjZTJlMmUyJyxcclxuXHRcdFx0XHRjb2xvcjI6ICcjOGI4YjhiJyxcclxuXHRcdFx0XHRjb2xvcjU6ICcjOGI4YjhiJyxcclxuXHRcdFx0XHRjb2xvcjEwOiAnIzhiOGI4YicsXHJcblx0XHRcdFx0Y29sb3IyMDogJyM4YjhiOGInLFxyXG5cdFx0XHRcdGNvbG9yNTA6ICcjOGI4YjhiJyxcclxuXHRcdFx0XHRjb2xvcjEwMDogJyM4YjhiOGInLFxyXG5cdFx0XHRcdHN1ZHU6ICd4MScsXHJcblx0XHRcdFx0cGxhY2tUaW1lOiAnJyxcclxuXHRcdFx0XHRkcW51bTogJycsXHJcblx0XHRcdFx0bG9ja2d1aWppOiBmYWxzZSxcclxuXHRcdFx0XHRzaG93bm90aWZ5OiB0cnVlLFxyXG5cdFx0XHRcdGNhbmNlbFRleHQ6ICfmmoLlgZwnLFxyXG5cdFx0XHRcdGlzUnVubmluZzogdHJ1ZSxcclxuXHRcdFx0XHRwbGFja0NvbnRyb2w6ICcnLFxyXG5cdFx0XHRcdGNvdW50TnVtOiAwLFxyXG5cdFx0XHRcdExvY3VzRGF0YTogJycsXHJcblx0XHRcdFx0Ly8gaXNQbGFjazogZmFsc2UsXHJcblx0XHRcdFx0dmFsdWU6ICcnLFxyXG5cdFx0XHRcdHN0YXJ0ZGF0ZXRpbWU6ICcnLFxyXG5cdFx0XHRcdHN0b3BkYXRldGltZTogJycsXHJcblx0XHRcdFx0cmFuZ2VMZXZlbDogW3tcclxuXHRcdFx0XHRcdHZhbHVlOiAnMC45NW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzEwa1YoMC45NW0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnMS4wNW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzIwa1YoMS4wNW0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnMS4xNW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzM1a1YoMS4xNW0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnMS40bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnNjZrVigxLjRtKSdcclxuXHRcdFx0XHR9LCB7XHJcblx0XHRcdFx0XHR2YWx1ZTogJzEuNjVtJyxcclxuXHRcdFx0XHRcdHRleHQ6ICcxMTBrVigxLjY1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICcyLjU1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMjIwa1YoMi41NW0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnMy4yNW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzMzMGtWKDMuMjVtKSdcclxuXHRcdFx0XHR9LCB7XHJcblx0XHRcdFx0XHR2YWx1ZTogJzQuNjZtJyxcclxuXHRcdFx0XHRcdHRleHQ6ICc1MDBrVig0LjU1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICc2LjcwbScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnNzUwa1YoNi43MG0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnOC4yNW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzEwMDBrVig4LjI1bSknXHJcblx0XHRcdFx0fV0sXHJcblx0XHRcdFx0cnVsZXMyOiB7XHJcblxyXG5cdFx0XHRcdFx0J25hbWUnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+35aGr5YaZ5Zu05qCP5ZCN56ewJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0J2NvZGUnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+35aGr5YaZ57uI56uv57yW5Y+3JyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHRcdCd0eXBlJzoge1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnc3RyaW5nJyxcclxuXHRcdFx0XHRcdFx0Ly8gbWF4OiAxLFxyXG5cdFx0XHRcdFx0XHRyZXF1aXJlZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0bWVzc2FnZTogJ+ivt+mAieaLqeWbtOagj+exu+WeiycsXHJcblx0XHRcdFx0XHRcdHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdCdkZXBhcnRtZW50Jzoge1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnc3RyaW5nJyxcclxuXHRcdFx0XHRcdFx0Ly8gbWF4OiAxLFxyXG5cdFx0XHRcdFx0XHRyZXF1aXJlZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0bWVzc2FnZTogJ+ivt+mAieaLqeWFs+iBlOmDqOmXqCcsXHJcblx0XHRcdFx0XHRcdHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdCdkaXN0YW5jZSc6IHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ3N0cmluZycsXHJcblx0XHRcdFx0XHRcdC8vIG1heDogMSxcclxuXHRcdFx0XHRcdFx0cmVxdWlyZWQ6IHRydWUsXHJcblx0XHRcdFx0XHRcdG1lc3NhZ2U6ICfor7floavlhpnpooTorabot53nprsnLFxyXG5cdFx0XHRcdFx0XHR0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ11cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQnbm93YXJubWVzJzoge1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnc3RyaW5nJyxcclxuXHRcdFx0XHRcdFx0Ly8gbWF4OiAxLFxyXG5cdFx0XHRcdFx0XHRyZXF1aXJlZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0bWVzc2FnZTogJ+ivt+Whq+WGmemihOitpuivremfsycsXHJcblx0XHRcdFx0XHRcdHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdCd3YXJubWVzJzoge1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnc3RyaW5nJyxcclxuXHRcdFx0XHRcdFx0Ly8gbWF4OiAxLFxyXG5cdFx0XHRcdFx0XHRyZXF1aXJlZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0bWVzc2FnZTogJ+ivt+Whq+WGmeWRiuitpuivremfsycsXHJcblx0XHRcdFx0XHRcdHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdCdkaWFueWEnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+35aGr5YaZ55S15Y6L562J57qnJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHJhZGlvbGlzdDI6IFt7XHJcblx0XHRcdFx0XHRcdG5hbWU6ICfmiZPngrnnu5jliLYnLFxyXG5cdFx0XHRcdFx0XHRkaXNhYmxlZDogdHJ1ZVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bmFtZTogJ+i/nue7ree7mOWIticsXHJcblx0XHRcdFx0XHRcdGRpc2FibGVkOiBmYWxzZVxyXG5cdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHQvLyB7XHJcblx0XHRcdFx0XHRcdC8vIFx0bmFtZTogJzXlsI/ml7YnLFxyXG5cdFx0XHRcdFx0XHQvLyBcdGRpc2FibGVkOiBmYWxzZVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0cmFkaW9saXN0MTogW3tcclxuXHRcdFx0XHRcdFx0bmFtZTogJ+i+k+eUteS9nOS4micsXHJcblx0XHRcdFx0XHRcdGRpc2FibGVkOiBmYWxzZVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bmFtZTogJ+WPmOeUteS9nOS4micsXHJcblx0XHRcdFx0XHRcdGRpc2FibGVkOiB0cnVlXHJcblx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdC8vIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiAnNeWwj+aXticsXHJcblx0XHRcdFx0XHRcdC8vIFx0ZGlzYWJsZWQ6IGZhbHNlXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRib1N0YXJ0OiAwLFxyXG5cdFx0XHRcdC8vIHUtcmFkaW8tZ3JvdXDnmoR2LW1vZGVs57uR5a6a55qE5YC85aaC5p6c6K6+572u5Li65p+Q5LiqcmFkaW/nmoRuYW1l77yM5bCx5Lya6KKr6buY6K6k6YCJ5LitXHJcblx0XHRcdFx0cmFkaW92YWx1ZTE6ICcnLFxyXG5cdFx0XHRcdGNvZGU6ICcnLFxyXG5cdFx0XHRcdGlzcGxheTogZmFsc2UsXHJcblx0XHRcdFx0ZGlnYW86ICcnLFxyXG5cdFx0XHRcdGxhdGxvbjogJycsXHJcblx0XHRcdFx0bW9kZWw6IHtcclxuXHRcdFx0XHRcdHBvaW50czogJycsXHJcblx0XHRcdFx0XHRmZW5jZUZsb29ySGU6ICctMScsIC8v5Zu05qCP5bqV6auYXHJcblx0XHRcdFx0XHRoZWlnaHQ6ICcnLCAvL+WbtOagj+mrmFxyXG5cdFx0XHRcdFx0bGluZUhlaWdodDogJy0xJywgLy/lr7znur/pq5hcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdHBlckNvbXBhbnk6ICcnLFxyXG5cdFx0XHRcdFx0YWRkcGVyc29uOiB0aGlzLnVzZXJuYW1lLFxyXG5cdFx0XHRcdFx0Ly8gLy8gdXNlckluZm86IHtcclxuXHRcdFx0XHRcdG5hbWU6ICcnLFxyXG5cdFx0XHRcdFx0anVsaTogJycsXHJcblx0XHRcdFx0XHR0eXBlOiAnJyxcclxuXHRcdFx0XHRcdGRlcGFydG1lbnQ6ICcnLFxyXG5cdFx0XHRcdFx0ZGlzdGFuY2U6ICcwJyxcclxuXHRcdFx0XHRcdGRpYW55YTogJycsXHJcblx0XHRcdFx0XHQvLyBmZW5jZXR5cGU6JycsLy/lm7TmoI/mgKfotKhcclxuXHRcdFx0XHRcdGlzcGxheTogJzAnLFxyXG5cdFx0XHRcdFx0bm93YXJubWVzOiAnJyxcclxuXHRcdFx0XHRcdHdhcm5tZXM6ICcnLFxyXG5cdFx0XHRcdFx0ZmVuY2V0eXBlOiAn5Y+Y55S15L2c5LiaJyxcclxuXHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRkcmF3c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0Y2hlY2tlZDogZmFsc2UsXHJcblx0XHRcdFx0Z3VpamlzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRhbWFwc3VkdVBvaW50czogMCxcclxuXHRcdFx0XHRhbWFwZW5kR3VpamlQb2ludHM6ICcnLFxyXG5cdFx0XHRcdGFtYXBHdWlqaVBvaW50czogW10sXHJcblx0XHRcdFx0YW1hcEZlbmNlUG9pbnRzOiBbXSxcclxuXHRcdFx0XHRhbWFwZGVGZW5jZVBvaW50czoge30sXHJcblx0XHRcdFx0a2V5d29yZDogJycsXHJcblx0XHRcdFx0dG9waGVpZ2h0OiA1NSxcclxuXHRcdFx0XHR0aHJlZW9ydHdvOiBbXSxcclxuXHRcdFx0XHRhbWFwUG9pbnRzOiBbXSwgLy8g6L+Z5bCx5piv5oiR5Lus6ZyA6KaB5ZCR6KeG5Zu+5bGC5Lyg6YCS55qE5pWw5o2uXHJcblx0XHRcdFx0YW1hcFBvaW50RGF0YTogW10sIC8vIOi/meWwseaYr+aIkeS7rOmcgOimgeWQkeinhuWbvuWxguS8oOmAkueahOaVsOaNrlxyXG5cdFx0XHRcdGFtYXBsZHJhd0RhdGE6IFtdLFxyXG5cdFx0XHRcdGFtYXBHUFNQb2ludHM6IFtdLFxyXG5cdFx0XHRcdG1hcnNzZXQ6IHt9LFxyXG5cdFx0XHRcdHBvaW50OiB7fSxcclxuXHRcdFx0XHRkcmF3bGlzdDogW10sXHJcblx0XHRcdFx0bG9uZ2l0dWRlOiAnJyxcclxuXHRcdFx0XHRsYXRpdHVkZTogJycsXHJcblx0XHRcdFx0c2hvdzQ6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3d0YWdpZDogZmFsc2UsXHJcblx0XHRcdFx0dGFnaWRsaXN0OiBbXSxcclxuXHRcdFx0XHR0YWdvbmxpZTogJycsXHJcblx0XHRcdFx0c2tlbGV0b25IZWlnaHQ6ICcnLFxyXG5cdFx0XHRcdGJ1dHRvblRvcDogMCwgLy8g5oyJ6ZKu55qEIHRvcCDkvY3nva5cclxuXHRcdFx0XHRidXR0b25MZWZ0OiAwIC8vIOaMiemSrueahCBsZWZ0IOS9jee9rlxyXG5cdFx0XHR9XHJcblxyXG5cdFx0fSxcclxuXHRcdHByb3BzOiB7XHJcblx0XHRcdGZlbmNlcG9zaXRpb246IHtcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRcdFx0Ly8gZGVmYXVsdDogNjBcclxuXHRcdFx0fSxcclxuXHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHRcdFx0Y29uc29sZS5sb2codGhpcy5mZW5jZXBvc2l0aW9uKTtcclxuXHJcblx0XHRcdHRoaXMuZ2V0TG9jYXRpb24oKTtcclxuXHRcdFx0dGhpcy53YXJuaWRzbGlzdCA9IFtdXHJcblx0XHRcdHRoaXMud2FybmlkbGlzdCA9IFtdXHJcblx0XHRcdHRoaXMud2Fybmxpc3QgPSBbXVxyXG5cdFx0XHR0aGlzLmZpbmR0YWdpZGFsbCgpO1xyXG5cdFx0XHR0aGlzLmZpbmRidW1lbmFsbCgpO1xyXG5cdFx0XHR0aGlzLmluaXRNYXAoKTtcclxuXHRcdFx0Ly8gdGhpcy51cGRhdGVCdXR0b25Qb3NpdGlvbigpOyAvLyDliJ3lp4vljJbmjInpkq7kvY3nva5cclxuXHRcdFx0Ly8gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMudXBkYXRlQnV0dG9uUG9zaXRpb24pOyAvLyDnm5HlkKznqpflj6PlpKflsI/lj5jljJZcclxuXHRcdFx0dGhpcy4kbmV4dFRpY2soKCkgPT4ge1xyXG5cdFx0XHRcdC8vIOiOt+WPluezu+e7n+S/oeaBr1xyXG5cdFx0XHRcdGNvbnN0IHN5c3RlbUluZm8gPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVxyXG5cdFx0XHRcdHRoaXMuc2tlbGV0b25IZWlnaHQgPSBzeXN0ZW1JbmZvLnNhZmVBcmVhLmhlaWdodFxyXG5cdFx0XHRcdHRoaXMuYnV0dG9uVG9wID0gdGhpcy5za2VsZXRvbkhlaWdodCAtIDIyNDtcclxuXHJcblx0XHRcdFx0dGhpcy5idXR0b25MZWZ0ID0gMTU7XHJcblx0XHRcdFx0Ly8gdGhpcy53ZWJIZWlnaHQgPSB0aGlzLnNrZWxldG9uSGVpZ2h0IC0gdGhpcy50YWJCYXJIZWlnaHRcclxuXHJcblx0XHRcdFx0Ly8gdGhpcy52dWV4X3N0YXR1c19iYXJfaGVpZ2h0ID0gdGhpcy53ZWJIZWlnaHRcclxuXHRcdFx0XHQvLyB0aGlzLmN1cnJlbnRJbmRleCA9IDJcclxuXHRcdFx0fSlcclxuXHRcdFx0dGhpcy50aHJlZW9ydHdvLnB1c2godGhpcy5pczN3ZWkpXHJcblx0XHRcdC8vIHRoaXMuYW1hcFBvaW50cyA9IFtdXHJcblx0XHRcdC8vIHRoaXMuYW1hcEJhc2VQb2ludHMgPSBbXVxyXG5cdFx0XHQvLyB0aGlzLmFtYXBGZW5jZVBvaW50cyA9IFtdXHJcblxyXG5cdFx0XHQvLyB0aGlzLmFtYXBHdWlqaVBvaW50cyA9IFtdXHJcblx0XHRcdC8vIHRoaXMuYW1hcGVuZEd1aWppUG9pbnRzID0gJydcclxuXHRcdFx0dGhpcy50b3BoZWlnaHQgPSB0aGlzLnZ1ZXhfY3VzdG9tX2Jhcl9oZWlnaHQgKyAxNVxyXG5cclxuXHJcblxyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdC8vIHVwZGF0ZUJ1dHRvblBvc2l0aW9uKCkge1xyXG5cdFx0XHQvLyBcdFx0ICAgICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcblx0XHRcdC8vIFx0XHRcdFx0Y29uc29sZS5sb2cod2luZG93SGVpZ2h0KTtcclxuXHRcdFx0Ly8gXHRcdCAgICAgICAgY29uc3Qgd2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuXHRcdFx0Ly8gXHRcdCAgICAgICAgdGhpcy5idXR0b25Ub3AgPSB3aW5kb3dIZWlnaHQtMjc5IDtcclxuXHRcdFx0Ly8gXHRcdCAgICAgICAgdGhpcy5idXR0b25MZWZ0ID0gMTU7XHJcblx0XHRcdC8vIFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5idXR0b25Ub3ApO1xyXG5cdFx0XHQvLyBcdFx0ICAgICAgfSxcclxuXHRcdFx0ZmluZHRhZ2lkYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZHRhZ2lkKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50YWdpZGxpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IGl0ZW0udGFnaWRcclxuXHRcdFx0XHRcdFx0XHR9KSk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdHR4dDogcmVzLm1zZ1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGNvbmZpcm10YWdpZChlKSB7XHJcblx0XHRcdFx0dGhpcy5jb2RlID0gZVswXS5sYWJlbFxyXG5cdFx0XHRcdC8vIHRoaXMudGFnb25saWUgPSBlWzBdLnZhbHVlXHJcblx0XHRcdFx0dGhpcy5zZWFjaGNvZGUoKVxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hhbmdlUmFuZ2VMZXZlbChlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSk7XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5tb2RlbC5qdWxpKTtcclxuXHRcdFx0XHR0aGlzLm1vZGVsLmp1bGkgPSB0aGlzLnJhbmdlTGV2ZWxbZV0udGV4dDtcclxuXHRcdFx0XHQvLyBpZiAodGhpcy5tb2RlbC5qdWxpICE9ICcnKSB7XHJcblx0XHRcdFx0dGhpcy5tb2RlbC5kaWFueWEgPSB0aGlzLnJhbmdlTGV2ZWxbZV0udmFsdWUuc3BsaXQoXCJtXCIpWzBdXHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdC8vIHRoaXMuZGlhbnlhID0gZTtcclxuXHRcdFx0XHQvLyB0aGlzLm1vZGVsLmRpYW55YSA9IGUuc3BsaXQoXCJtXCIpWzBdO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRMb2NhdGlvbigpIHtcclxuXHRcdFx0XHR1bmkuZ2V0TG9jYXRpb24oe1xyXG5cdFx0XHRcdFx0dHlwZTogJ3dnczg0JyxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn5b2T5YmN5L2N572u55qE57uP5bqm77yaJyArIHJlcy5sb25naXR1ZGUpO1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn5b2T5YmN5L2N572u55qE57qs5bqm77yaJyArIHJlcy5sYXRpdHVkZSk7XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0b25jaGFuZ2UoZSkge1xyXG5cdFx0XHRcdHZhciBsaXN0ID0gW11cclxuXHRcdFx0XHRpZiAodGhpcy5wb2ludGxpc3QubGVuZ3RoIDwgZS52YWx1ZSkge1xyXG5cdFx0XHRcdFx0Zm9yICh2YXIgaSA9IHRoaXMucG9pbnRsaXN0Lmxlbmd0aDsgaSA8IGUudmFsdWU7IGkrKykge1xyXG5cclxuXHRcdFx0XHRcdFx0bGlzdC5wdXNoKGkpXHJcblx0XHRcdFx0XHRcdHRoaXMucG9pbnRsaXN0LnB1c2goaSlcclxuXHRcdFx0XHRcdFx0Ly8gZVtpXVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLnBvaW50bGlzdC5zcGxpY2UoZS52YWx1ZSwgdGhpcy5wb2ludGxpc3QubGVuZ3RoIC0gZS52YWx1ZSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHJhZGlvQ2hhbmdlKG4pIHtcclxuXHJcblx0XHRcdFx0aWYgKG4gPT0gJ+WPmOeUteS9nOS4micpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNwZXJ0aWVzID0gdHJ1ZVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmlzcGVydGllcyA9IGZhbHNlXHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0c2VhY2hjb2RlKGUpIHtcclxuXHRcdFx0XHR0aGlzLmRyYXdsaXN0ID0gW11cclxuXHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRpZDogdGhpcy5jb2RlLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0anVlc2U6IHVuaS5nZXRTdG9yYWdlU3luYygnanVlc2UnKSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZmluZHRhZ0lkUGVyc29uKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzLmRhdGEgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRhZ29ubGllID0gcmVzLmRhdGEub25saW5lXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YS5ncHNzdGF0dXMgPT0gJzQnKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kaXNhYmxlZCA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5jb250ZW50ID0gJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnBvaW50Y29udGVudCA9ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kaWdhbyA9IHJlcy5kYXRhLmhlaWdodFxyXG5cdFx0XHRcdFx0XHRcdC8vIHRoaXMuZW5kID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdGlmICh0aGlzLmVuZCA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLm1vZGVsLnBvaW50cyArPSByZXMuZGF0YS5sYXQgKyBcIjpcIiArIHJlcy5kYXRhLmxvbiArIFwiO1wiXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5kcmF3bGlzdC5wdXNoKHJlcy5kYXRhLmxhdClcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZHJhd2xpc3QucHVzaChyZXMuZGF0YS5sb24pXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBsZHJhd0RhdGEucHVzaCh0aGlzLmRyYXdsaXN0KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQvLyBpZiAodGhpcy5wb2ludGxvY2sgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0dGhpcy5hbWFwUG9pbnREYXRhLnB1c2gocmVzLmRhdGEpXHJcblxyXG5cdFx0XHRcdFx0XHRcdC8vIFx0dGhpcy5wb2ludGxvY2sgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdC8vIH1cclxuXHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5jb250ZW50ID0gJ+iuvuWkh+mdnumrmOeyvidcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmRpc2FibGVkID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucG9pbnRjb250ZW50ID0gJ+iuvuWkh+mdnumrmOeyvidcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5kaXNhYmxlZCA9IHRydWVcclxuXHRcdFx0XHRcdFx0dGhpcy5jb250ZW50ID0gJ+acquaQnOe0ouWIsOiuvuWkhydcclxuXHRcdFx0XHRcdFx0dGhpcy5wb2ludGNvbnRlbnQgPSAn5pyq5pCc57Si5Yiw6K6+5aSHJ1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHQvLyBcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0dGhpcy5zZWFjaGNvZGUoKVxyXG5cdFx0XHRcdH0sIDEwMDApO1xyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0aXNvcGVuKGUpIHtcclxuXHRcdFx0XHRpZiAoZSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHR0aGlzLm1vZGVsLmlzcGxheSA9ICcxJ1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLm1vZGVsLmlzcGxheSA9ICcwJ1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0ZmluZGJ1bWVuYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZGJ1bWVuKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5idW1lbkxpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHRcdH0pKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHh0OiByZXMubXNnXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0dHlwZUNhbGxiYWNrKGluZGV4KSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0dHlwZTogdGhpcy50eXBlTGlzdFtpbmRleF0udGV4dCxcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZmluZFdhcm5tZXMocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdC8vIG5vd2Fybm1lczogJ+mdoOi/keWNsemZqeivt+azqOaEjycsXHJcblx0XHRcdFx0XHRcdC8vIHdhcm5tZXM6ICfov5vlhaXljbHpmanljLrln5/or7fms6jmhI8nLFxyXG5cdFx0XHRcdFx0XHQvLyBpZiAocmVzLmRhdGEudHlwZSA9PSBcIuW3peS9nOWMulwiKSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0dGhpcy5tb2RlbC5ub3dhcm5tZXMgPSByZXMuZGF0YS5ub3dhcm5tZXMgKyBcIjtcIiArIHJlcy5kYXRhLm5vd2Fybm1lc3R5cGVcclxuXHRcdFx0XHRcdFx0Ly8gXHR0aGlzLm1vZGVsLndhcm5tZXMgPSByZXMuZGF0YS53YXJubWVzICsgXCI7XCIgKyByZXMuZGF0YS53YXJubWVzdHlwZVxyXG5cdFx0XHRcdFx0XHQvLyB9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHR0aGlzLm1vZGVsLm5vd2Fybm1lcyA9IHJlcy5kYXRhLm5vd2Fybm1lc1xyXG5cdFx0XHRcdFx0XHR0aGlzLm1vZGVsLndhcm5tZXMgPSByZXMuZGF0YS53YXJubWVzXHJcblx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy5tb2RlbC50eXBlID0gdGhpcy50eXBlTGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0fSxcclxuXHRcdFx0YnltZW5DYWxsYmFjayhpbmRleCkge1xyXG5cdFx0XHRcdHRoaXMubW9kZWwuZGVwYXJ0bWVudCA9IHRoaXMuYnVtZW5MaXN0W2luZGV4XS50ZXh0O1xyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0YWNxdWlzaXRpb254eShpbmRleCwgaSwgbmFtZSkge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdGJhb2xpdTM6IHRoaXMuY29kZSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHBhcmFtcyk7XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0YWNxdWlzaXRpb24ocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5tb2RlbC5mZW5jZXR5cGUgPT0gJ+WPmOeUteS9nOS4micpIHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHRoaXMubW9kZWwucG9pbnRzICs9IHJlcy5kYXRhLmxhdCArIFwiOlwiICsgcmVzLmRhdGEubG9uICsgXCI7XCJcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMucG9pbnRsaXN0LnNwbGljZShpbmRleCwgMSwgcmVzLmRhdGEubGF0ICsgXCI6XCIgKyByZXMuZGF0YS5sb24pO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5wb2ludGxpc3QpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwUG9pbnREYXRhLnNwbGljZShpbmRleCwgMSwgcmVzLmRhdGEpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gdGhpcy5hbWFwUG9pbnREYXRhLnB1c2gocmVzLmRhdGEpXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB0aGlzLmFtYXBQb2ludERhdGEgPSB0aGlzLnBvaW50bGlzdFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5wb2ludGxvY2sgPSB0cnVlXHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKG5hbWUpO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKG5hbWUgPT0gJ3piJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhpbmRleCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGkpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnp1b2JpYW9saXN0W2luZGV4IC0gMV1baV0gPSByZXMuZGF0YS5sYXQgKyBcIjpcIiArIHJlcy5kYXRhLmxvbiArIFwiO1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuenVvYmlhb2xpc3RbaW5kZXggLSAxXVsyXSA9IHJlcy5kYXRhLmhlaWdodFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBQb2ludERhdGEuc3BsaWNlKGluZGV4ICsgaSwgMSwgcmVzLmRhdGEpO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5zYWdsaXN0W2luZGV4IC0gMV1baV0gPSByZXMuZGF0YS5sYXQgKyBcIjpcIiArIHJlcy5kYXRhLmxvbiArIFwiO1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuc2FnbGlzdFtpbmRleCAtIDFdWzJdID0gcmVzLmRhdGEuaGVpZ2h0XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdHR4dDogcmVzLm1zZ1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHR2YWxDaGFuZ2UoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCflvZPliY3lgLzkuLo6ICcgKyBlLnZhbHVlKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbml0bG9jaygpIHtcclxuXHRcdFx0XHR0aGlzLmZldGNoUGVyc29uc0xpc3QoKTtcclxuXHRcdFx0XHR0aGlzLmZldGNoRmVuY2VMaXN0KCk7XHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbG9zZW1vZGFsKCkge1xyXG5cdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjYW5jZWxtb2RhbCgpIHtcclxuXHRcdFx0XHR0aGlzLmRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2FuY2Vsc2F2ZSgpIHtcclxuXHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IHRydWVcclxuXHRcdFx0fSxcclxuXHRcdFx0c2F2ZSgpIHtcclxuXHRcdFx0XHR0aGlzLm1vZGVsLmNvbXBhbnkgPSB0aGlzLmNvbXBhbnlcclxuXHRcdFx0XHR0aGlzLm1vZGVsLmFkZHBlcnNvbiA9IHRoaXMudnVleF91c2VyXHJcblx0XHRcdFx0dGhpcy5tb2RlbC5wZXJDb21wYW55ID0gdGhpcy5jb21wYW55XHJcblxyXG5cclxuXHRcdFx0XHRpZiAodGhpcy5tb2RlbC5mZW5jZXR5cGUgPT0gJ+i+k+eUteS9nOS4micpIHtcclxuXHRcdFx0XHRcdHRoaXMubW9kZWwucG9pbnRzID0gdGhpcy56dW9iaWFvbGlzdFxyXG5cdFx0XHRcdFx0dmFyIGhlaSA9ICcnXHJcblx0XHRcdFx0XHRsZXQgbnVtID0gdGhpcy50YW51bSAtIDFcclxuXHRcdFx0XHRcdGxldCByZXN1bHQgPSAnJztcclxuXHRcdFx0XHRcdC8v5qC55o2u5aGU5pWw5b6q546v5p+l6K+i5aGU5ZKM5byn5Z6C55qE5Z2Q5qCHQeaVsOaNru+8jOagueaNruesrOS4gOadoeWhlO+8jOesrOS6jOadoeW8p+WeguaKiuaVsOaNruaLvOaOpei1t+adpVxyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhbnVtOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0cmVzdWx0ICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bMF07XHJcblx0XHRcdFx0XHRcdGlmIChpIDwgbnVtKSB7XHJcblx0XHRcdFx0XHRcdFx0cmVzdWx0ICs9IHRoaXMuc2FnbGlzdFtpXVswXTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0aGVpICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bMl0gKyBcIjpcIiArIHRoaXMuenVvYmlhb2xpc3RbaV1bM10gKyAnOyc7XHJcblx0XHRcdFx0XHRcdGlmIChpIDwgbnVtKSB7XHJcblx0XHRcdFx0XHRcdFx0aGVpICs9IHRoaXMuc2FnbGlzdFtpXVsyXSArIFwiOlwiICsgdGhpcy5zYWdsaXN0W2ldWzNdICsgJzsnO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQvLyBoZWkgKz0gdGhpcy56dW9iaWFvbGlzdFtpXVszXTtcclxuXHRcdFx0XHRcdFx0Ly8gaWYgKGkgPCBudW0pIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRoZWkgKz0gdGhpcy5zYWdsaXN0W2ldWzNdO1xyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvL+S7juacgOWQjuS4gOadoeafpeivoueCueS9jULnrKzkuIDmnaHloZTvvIznrKzkuozmnaHlvKflnoLmi7zmjqXvvIzmnIDlkI7miorkuKTnu4TmlbDmja7mi7zmjqXotbfmnaVcclxuXHRcdFx0XHRcdGZvciAobGV0IGkgPSB0aGlzLnRhbnVtIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuXHRcdFx0XHRcdFx0cmVzdWx0ICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bMV07XHJcblx0XHRcdFx0XHRcdGlmIChpID49IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXN1bHQgKz0gdGhpcy5zYWdsaXN0W2kgLSAxXVsxXTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Ly8gaGVpICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bMl07XHJcblx0XHRcdFx0XHRcdC8vIGlmIChpID49IDEpIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRoZWkgKz0gdGhpcy5zYWdsaXN0W2kgLSAxXVsyXTtcclxuXHRcdFx0XHRcdFx0Ly8gfVxyXG5cclxuXHRcdFx0XHRcdFx0aGVpICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bMl0gKyBcIjpcIiArIHRoaXMuenVvYmlhb2xpc3RbaV1bM10gKyAnOyc7XHJcblx0XHRcdFx0XHRcdGlmIChpID49IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRoZWkgKz0gdGhpcy5zYWdsaXN0W2kgLSAxXVsyXSArIFwiOlwiICsgdGhpcy5zYWdsaXN0W2kgLSAxXVszXSArICc7JztcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzdWx0KTtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGhlaSk7XHJcblx0XHRcdFx0XHR0aGlzLm1vZGVsLnBvaW50cyA9IHJlc3VsdFxyXG5cdFx0XHRcdFx0dGhpcy5tb2RlbC5saW5lSGVpZ2h0ID0gaGVpXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGxldCByZXN1bHQgPSAnJztcclxuXHRcdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5wb2ludGxpc3QubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0cmVzdWx0ICs9IHRoaXMucG9pbnRsaXN0W2ldICsgXCI7XCJcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMubW9kZWwucG9pbnRzID0gcmVzdWx0XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR0aGlzLiRyZWZzLnVGb3JtLnZhbGlkYXRlKCkudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLiR1LnRvYXN0KCfmoKHpqozpgJrov4cnKVxyXG5cdFx0XHRcdFx0c3VibWl0cGVyKHRoaXMubW9kZWwpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdzdWNjZXNzJyxcclxuXHRcdFx0XHRcdFx0XHRcdHR4dDogXCLkv53lrZjmiJDlip9cIlxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cclxuXHRcdFx0XHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwbGRyYXdEYXRhID0gW11cclxuXHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBQb2ludERhdGEgPSBbXVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0XHR0eHQ6IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHQvLyB0aGlzLnNhdmVmZW5jZSA9IGZhbHNlXHJcblx0XHRcdFx0fSkuY2F0Y2goZXJyb3JzID0+IHtcclxuXHRcdFx0XHRcdC8vIHVuaS4kdS50b2FzdCgn5qCh6aqM5aSx6LSlJylcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdC8vIHRoaXMuc2F2ZWZlbmNlID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHJcblxyXG5cdFx0XHRmb3JtYXREYXRlKGRhdGUpIHtcclxuXHRcdFx0XHRjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xyXG5cdFx0XHRcdGNvbnN0IG1vbnRoID0gU3RyaW5nKGRhdGUuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJyk7IC8vIOaciOS7veS7jiAwIOW8gOWni1xyXG5cdFx0XHRcdGNvbnN0IGRheSA9IFN0cmluZyhkYXRlLmdldERhdGUoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuXHRcdFx0XHRjb25zdCBob3VycyA9IFN0cmluZyhkYXRlLmdldEhvdXJzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcblx0XHRcdFx0Y29uc3QgbWludXRlcyA9IFN0cmluZyhkYXRlLmdldE1pbnV0ZXMoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuXHRcdFx0XHRjb25zdCBzZWNvbmRzID0gU3RyaW5nKGRhdGUuZ2V0U2Vjb25kcygpKS5wYWRTdGFydCgyLCAnMCcpO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4geWVhciArIFwiLVwiICsgbW9udGggKyBcIi1cIiArIGRheSArIFwiIFwiICsgaG91cnMgKyBcIjpcIiArIG1pbnV0ZXMgKyBcIjpcIiArIHNlY29uZHM7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRzdGFydGRyYXcoKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMuY29kZSA9PSAnJykge1xyXG5cdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHR0eHQ6ICfor7fovpPlhaXnu4jnq6/nvJblj7cnXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0Ly/pgInmi6nlj5jnlLXkvZzkuJpcclxuXHRcdFx0XHRcdGlmICh0aGlzLmlzcGVydGllcyA9PSBmYWxzZSkge1xyXG5cdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMudGFudW07IGkrKykge1xyXG5cdFx0XHRcdFx0XHRcdGlmICh0aGlzLnp1b2JpYW9saXN0W2ldWzBdID09ICcnICYmIHRoaXMuenVvYmlhb2xpc3RbaV1bMV0gPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGxvY2sgPSB0cnVlXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHR4dDogJ+ivt+WFiOaJk+eCuSdcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAodGhpcy56dW9iaWFvbGlzdFtpXVsyXSA9PSAnJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0eHQ6ICfor7fovpPlhaXlr7znur/pq5gnXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGxvY2sgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuc2F2ZWZlbmNlID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0aWYgKHRoaXMuZHJhd3dheSA9PSBcIui/nue7ree7mOWItlwiKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5sZHJhd3Nob3cgPSB0cnVlXHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5wb2ludGRyYXdzaG93ID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0Y2FuY2VscG9pbnQoKSB7XHJcblx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IHRydWVcclxuXHRcdFx0XHR0aGlzLnBvaW50ZHJhd3Nob3cgPSBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzYXZlcG9pbnQoKSB7XHJcblx0XHRcdFx0dGhpcy5wb2ludGRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IHRydWVcclxuXHRcdFx0fSxcclxuXHRcdFx0ZmVuY2VIZSgpIHtcclxuXHRcdFx0XHQvL+iOt+WPluWbtOagj+W6lemrmFxyXG5cdFx0XHRcdHRoaXMubW9kZWwuZmVuY2VGbG9vckhlID0gdGhpcy5kaWdhb1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRlbmRzYXZlKCkge1xyXG5cdFx0XHRcdHRoaXMuZW5kID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IHRydWVcclxuXHRcdFx0fSxcclxuXHRcdFx0bGRyYXdjYW5jZWwoKSB7XHJcblx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IHRydWVcclxuXHRcdFx0XHR0aGlzLmxkcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRsZHJhd2NvbmZpcm0oKSB7XHJcblxyXG5cdFx0XHRcdHRoaXMubGRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLmVuZCA9IHRydWVcclxuXHRcdFx0XHQvLyB0aGlzLm1vZGVsLnBvaW50cyArPSB0aGlzLmxhdGxvblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaGFuZ2UoZSkge1xyXG5cdFx0XHRcdHRoaXMuYW1hcHN1ZHVQb2ludHMgPSBlXHJcblx0XHRcdH0sXHJcblx0XHRcdGRyYXcoKSB7XHJcblxyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4gPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IHRydWVcclxuXHRcdFx0XHRcdHRoaXMuc2F2ZWZlbmNlID0gZmFsc2VcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHpvb20oKSB7XHJcblx0XHRcdFx0dGhpcy5zaG93ID0gIXRoaXMuc2hvd1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRyZWNlaXZlUmVuZGVyRGF0YSh2YWwpIHtcclxuXHRcdFx0XHR0aGlzLmZldGNoUGVyc29uc0xpc3QoKTtcclxuXHRcdFx0XHR0aGlzLnVwZGF0ZVRyYWplY3RvcmllcygpO1xyXG5cdFx0XHRcdHRoaXMuZmV0Y2hGZW5jZUxpc3QoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0c2VhcmNoeGlueGkoKSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0bmFtZTogdGhpcy5rZXl3b3JkLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRmaW5kUGVyc29uKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dmFyIHRhcmdldFBvaW50ID0ge31cclxuXHRcdFx0XHRcdFx0XHR0YXJnZXRQb2ludC5sYXQgPSByZXMuZGF0YS5sb25cclxuXHRcdFx0XHRcdFx0XHR0YXJnZXRQb2ludC5sb24gPSByZXMuZGF0YS5sYXRcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnBvaW50ID0gdGFyZ2V0UG9pbnRcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHh0OiByZXMubXNnXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRoYW5kbGVNYXBDbGljayhlKSB7XHJcblx0XHRcdFx0dGhpcy4kZW1pdCgnbWFyczNkYycsIGUpXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRndWlqaUNsaWNrKGUpIHtcclxuXHRcdFx0XHR0aGlzLmRxbnVtID0gZS5kcW51bVxyXG5cdFx0XHRcdHRoaXMucGxhY2tUaW1lID0gZS5wbGFja1RpbWVcclxuXHRcdFx0fSxcclxuXHRcdFx0aW5pdE1hcCgpIHtcclxuXHRcdFx0XHQvLyBpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7IFxyXG5cdFx0XHRcdE1hcnNIb21lKCkudGhlbigocmVwKSA9PiB7XHJcblxyXG5cdFx0XHRcdFx0Ly8gdW5pLmdldExvY2F0aW9uKHtcclxuXHRcdFx0XHRcdC8vIHR5cGU6ICd3Z3M4NCcsXHJcblx0XHRcdFx0XHQvLyBzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdC8vIFx0Y29uc29sZS5sb2coJ+W9k+WJjeS9jee9rueahOe7j+W6pu+8micgKyByZXMubG9uZ2l0dWRlKTtcclxuXHRcdFx0XHRcdC8vIFx0Y29uc29sZS5sb2coJ+W9k+WJjeS9jee9rueahOe6rOW6pu+8micgKyByZXMubGF0aXR1ZGUpO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMubG9ubGF0ICE9ICcnKSB7XHJcblx0XHRcdFx0XHRcdHJlcC5kYXRhWzBdLm1hcHBvc2l0aW9uID0gdGhpcy5sb25sYXRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIFx0fVxyXG5cdFx0XHRcdFx0Ly8gfSk7XHJcblx0XHRcdFx0XHR0aGlzLm1hcnNzZXQgPSByZXAuZGF0YVswXVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRmZXRjaEZlbmNlTGlzdCgpIHtcclxuXHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRpZiAodW5pLmdldFN0b3JhZ2VTeW5jKCdpc2ZlbmNlJykgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHRmaW5kQWxsRmVuY2UocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgZmlsdGVyZWREYXRhID0gcmVzLmRhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pc3BsYXkgPT09IDApO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGZpbHRlcmVkRGF0YSAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuYW1hcGRlRmVuY2VQb2ludHMgPSBmaWx0ZXJlZERhdGFcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLmFtYXBGZW5jZVBvaW50cy5sZW5ndGggPiByZXMuZGF0YS5sZW5ndGgpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly/lvZPmnInlm7TmoI/liKDpmaTml7bosIPnlKjlnLDlm77miorlm7TmoI/lhajpg6jliKDpmaRcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgbWlzc2luZ0RhdGEgPSB0aGlzLmFtYXBGZW5jZVBvaW50cy5maWx0ZXIoaXRlbTEgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiAhcmVzLmRhdGEuc29tZShpdGVtMiA9PiBpdGVtMi5pZCA9PT0gaXRlbTEuaWQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwZGVGZW5jZVBvaW50cyA9IG1pc3NpbmdEYXRhXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwRmVuY2VQb2ludHMgPSByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuYW1hcEZlbmNlUG9pbnRzID0gW11cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHQvLzXnp5Lmkq3mlL7kuIDmrKFcclxuXHRcdFx0XHRcdHRoaXMuZmV0Y2hGZW5jZUxpc3QoKTtcclxuXHRcdFx0XHR9LCA1MDAwKTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGZldGNoUGVyc29uc0xpc3QoKSB7XHJcblx0XHRcdFx0dGhpcy5hbWFwUG9pbnRzID0gW11cclxuXHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRnZXRHUFNDZXNpdW0ocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwUG9pbnRzID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgcmVzLmRhdGEubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gcmVzLmRhdGFbaV0ub25saW5lPT0xXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YVtpXS5vbmxpbmUgPT0gXCIxXCIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLnp5c3RhdGUpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLnp5c3RhdGUgPT0gJ1NUQVJUJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKHJlcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0ud2FybnN0YXR1cyA9PSAnMScpLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRpZiAodGhpcy53YXJuaWRsaXN0LmluZGV4T2YocmVzLmRhdGFbaV0ud2FybnN0YXR1cz09JzEnKSA8IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdHRoaXMud2Fybmxpc3QucHVzaChyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLndhcm5zdGF0dXMgPT0gJzEnKVtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0XHQwXS50YWdpZCArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdFwi6L+b5YWl6aKE6K2m5Yy65Z+f6K+35rOo5oSPXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHR0aGlzLndhcm5pZGxpc3QucHVzaChyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLndhcm5zdGF0dXMgPT1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0JzEnKVswXS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHR9IGVsc2Uge1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdHRoaXMud2Fybmxpc3Quc3BsaWNlKHRoaXMud2FybmlkbGlzdC5pbmRleE9mKHJlcy5kYXRhLmZpbHRlcihcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0XHRcdGl0ZW0gPT4gaXRlbS53YXJuc3RhdHVzICE9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdFx0XHQnMScpWzBdIFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdC50YWdpZCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0dGhpcy53YXJuaWRsaXN0LnNwbGljZSh0aGlzLndhcm5pZGxpc3QuaW5kZXhPZihyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdGl0ZW0ud2FybnN0YXR1cyAhPVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdCcxJylbMF1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0LnRhZ2lkKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAodGhpcy53YXJuaWRsaXN0LmluZGV4T2YocmVzLmRhdGFbaV0udGFnaWQpIDwgMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAocmVzLmRhdGFbaV0ud2FybnN0YXR1cyA9PSAnMScpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5saXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQgK1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCLov5vlhaXpooTorabljLrln5/or7fms6jmhI9cIilcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5pZGxpc3QucHVzaChyZXMuZGF0YVtpXS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuZGF0YVtpXS5iYW9saXUyLnNwbGl0KFwiO1wiKVswXSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJubGlzdC5wdXNoKHJlcy5kYXRhW2ldLnRhZ2lkICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwi6L+b5YWl56aB5YWl5Yy66K+35rOo5oSPXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRsaXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocmVzLmRhdGFbaV0uYmFvbGl1Mi5zcGxpdChcIjtcIilbMV0gPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2Fybmxpc3QucHVzaChyZXMuZGF0YVtpXS50YWdpZCArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcIui2heiMg+WbtOivt+azqOaEj1wiKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2FybmlkbGlzdC5wdXNoKHJlcy5kYXRhW2ldLnRhZ2lkKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5kYXRhW2ldLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzJdID09IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5saXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQgK1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCLotoXpq5jor7fms6jmhI9cIilcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5pZGxpc3QucHVzaChyZXMuZGF0YVtpXS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhW2ldLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzBdID09IDEpIHt9IGVsc2UgaWYgKHJlcy5kYXRhW2ldXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LmJhb2xpdTJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQuc3BsaXQoXCI7XCIpWzFdID09IDApIHt9IGVsc2UgaWYgKHJlcy5kYXRhW2ldLmJhb2xpdTIuc3BsaXQoXCI7XCIpW1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ml0gPT1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQxKSB7fSBlbHNlIGlmIChyZXMuZGF0YVtpXS53YXJuc3RhdHVzID09ICcxJykge30gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJubGlzdC5zcGxpY2UodGhpcy53YXJuaWRsaXN0LmluZGV4T2YocmVzLmRhdGFbaV0udGFnaWQpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0MSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5pZGxpc3Quc3BsaWNlKHRoaXMud2FybmlkbGlzdC5pbmRleE9mKHJlcy5kYXRhW2ldLnRhZ2lkKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnN0IGZpbHRlcmVkRGF0YSA9IHJlcy5kYXRhLmZpbHRlcihpdGVtID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gaXRlbS5vbmxpbmUgPT09IFwiMVwiICYmIGl0ZW0uZ3Bzc3RhdHVzICE9PSBcIjRcIiAmJiAoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpdGVtXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQuYmFvbGl1MSA9PT1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCfmiYvmjIHmoIfnrb4nIHx8IGl0ZW0uYmFvbGl1MSA9PT0gJ+i9pui9veagh+etvicpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8g5bCG56ym5ZCI5p2h5Lu255qE5pWw5o2u55qEIHRhZ2lkIOa3u+WKoOWIsCB0aGlzLndhcm5pZGxpc3Qg5LitXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZpbHRlcmVkRGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLndhcm5pZHNsaXN0LmluZGV4T2YoaXRlbS50YWdpZCkgPCAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5saXN0LnB1c2goaXRlbS50YWdpZCArIFwi6K6+5aSH6Z2e6auY57K+XCIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRzbGlzdC5wdXNoKGl0ZW0udGFnaWQpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2Fybmxpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRzbGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8156eS5pKt5pS+5LiA5qyhXHJcblx0XHRcdFx0XHRcdHRoaXMuZmV0Y2hQZXJzb25zTGlzdCgpO1xyXG5cdFx0XHRcdFx0fSwgNTAwMCk7XHJcblx0XHRcdFx0fSxcclxuXHJcblx0XHRcdFx0dXBkYXRlVHJhamVjdG9yaWVzKCkge1xyXG5cdFx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRcdGdldEdQUyhwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YSAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBHUFNQb2ludHMgPSByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHQvLzXnp5Lmkq3mlL7kuIDmrKFcclxuXHRcdFx0XHRcdFx0dGhpcy51cGRhdGVUcmFqZWN0b3JpZXMoKTtcclxuXHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdH1cclxuXHRcdH1cclxuPC9zY3JpcHQ+XHJcbjxzY3JpcHQgbW9kdWxlPVwibWFyczNkXCIgbGFuZz1cInJlbmRlcmpzXCI+XHJcblx0bGV0IGdyYXBoaWNMYXllciA9IG51bGw7XHJcblx0bGV0IGdyYXBoaWNMYXllckZlbmNlID0gbnVsbDtcclxuXHRsZXQgZ3JhcGhpY0xheWVyRmVuY2VCaWFuSmllID0gbnVsbDtcclxuXHRsZXQgZ3JhcGhpY0xheWVyRmVuY2VkcndhID0gbnVsbDtcclxuXHR2YXIgY3JlZGl0SHRtbCA9ICcnXHJcblx0dmFyIG1hcFxyXG5cdGxldCBhZGRlZENhcklkcyA9IG5ldyBTZXQoKTtcclxuXHRsZXQgYWRkZWRCYXNlSWRzID0gbmV3IFNldCgpO1xyXG5cdGxldCBhZGRlZEZlbmNlSWRzID0gbmV3IFNldCgpO1xyXG5cdHZhciBMb2N1c0RhdGE7XHJcblx0dmFyIExvY3VEYXRhO1xyXG5cdHZhciBjb3VudE51bSA9IDA7XHJcblx0dmFyIHN1ZHVzID0gMTAwMDtcclxuXHRsZXQgaXNSdW5uaW5nID0gdHJ1ZTsgLy8g5qCH5b+X5Y+Y6YeP77yM55So5LqO5o6n5Yi25pa55rOV5piv5ZCm57un57ut5omn6KGMXHJcblx0dmFyIHBhcmFtcztcclxuXHR2YXIgcGxhY2tDb250cm9sO1xyXG5cdHZhciB0aW1lb3V0SWQ7XHJcblx0dmFyIGlzUGxhY2sgPSB0cnVlO1xyXG5cdHZhciBjYXI7XHJcblx0dmFyIG51bSA9IDA7XHJcblx0dmFyIGdsb2JhbE1hcCA9IGZhbHNlO1xyXG5cdGltcG9ydCB7XHJcblx0XHRtYXBPcHRpb25zXHJcblx0fSBmcm9tICcuL2NvbmZpZy5qcydcclxuXHRpZiAoIVN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCkge1xyXG5cdFx0U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsID0gZnVuY3Rpb24oc3RyLCBuZXdTdHIpIHtcclxuXHRcdFx0Ly8gSWYgYSByZWdleCBwYXR0ZXJuXHJcblx0XHRcdGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoc3RyKS50b0xvd2VyQ2FzZSgpID09PSAnW29iamVjdCByZWdleHBdJykge1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLnJlcGxhY2Uoc3RyLCBuZXdTdHIpO1xyXG5cdFx0XHR9XHJcblx0XHRcdC8vIElmIGEgc3RyaW5nXHJcblx0XHRcdHJldHVybiB0aGlzLnJlcGxhY2UobmV3IFJlZ0V4cChzdHIsICdnJyksIG5ld1N0cik7XHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRmcGxvY2s6IGZhbHNlLFxyXG5cdFx0XHRcdGZlbmNlcGxvY2s6IGZhbHNlLFxyXG5cdFx0XHRcdHBsaXN0OiBbXSxcclxuXHRcdFx0XHRjYXJ0ZXNpYW5Qb2ludHM6IFtdLFxyXG5cdFx0XHRcdHN1ZHVzOiAwLFxyXG5cdFx0XHRcdGJvU3RhcnQ6IDAsXHJcblx0XHRcdFx0aXMyZDogZmFsc2UsXHJcblx0XHRcdFx0ZG90OiAxMjMsXHJcblx0XHRcdFx0Z3JhcGhpY0xhYmVsczoge30sXHJcblx0XHRcdFx0Z3JhcGhpY0xhYmVsc2lkczoge30sXHJcblx0XHRcdFx0ZmVuY2VpZDogJycsXHJcblx0XHRcdFx0ZmVuY2VpZHM6ICcnLFxyXG5cdFx0XHRcdGdyYXBoaWNpZHM6IFtdLFxyXG5cdFx0XHRcdGdyYXBoaWNGZW5jZToge30sXHJcblx0XHRcdFx0bGFiZWxzOiB7fSxcclxuXHRcdFx0XHRsaXN0OiB7fSxcclxuXHRcdFx0XHRwZXJsaXN0OiB7fSxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdHByb3BzOiB7XHJcblx0XHRcdGhvbWVsYXQ6IHtcclxuXHRcdFx0XHR0eXBlOiBOdW1iZXIsXHJcblx0XHRcdH0sXHJcblx0XHRcdGhvbWVsbmc6IHtcclxuXHRcdFx0XHR0eXBlOiBOdW1iZXIsXHJcblx0XHRcdH0sXHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHRcdFx0YWRkZWRDYXJJZHMgPSBuZXcgU2V0KCk7XHJcblx0XHRcdGdyYXBoaWNMYXllciA9IG51bGxcclxuXHRcdFx0dGhpcy5sb2FkU291cmNlKFtcclxuXHJcblx0XHRcdFx0Ly/nlKjmnKzlnLDlnLDlnYDvvIzlubblj6/ku6XlrpjnvZHkuIvovb3mnIDmlrDljIXvvIzmiYvliqjopobnm5bkuIvvvIxodHRwOi8vbWFyczNkLmNuL2Rvd25sb2FkLmh0bWxcclxuXHRcdFx0XHQvLyBcInN0YXRpYy9saWIvQ2VzaXVtL1dpZGdldHMvd2lkZ2V0cy5jc3NcIixcclxuXHRcdFx0XHQvLyBcInN0YXRpYy9saWIvQ2VzaXVtL0Nlc2l1bS5qc1wiLFxyXG5cdFx0XHRcdC8vIFwic3RhdGljL2xpYi9tYXJzM2QvbWFyczNkLmNzc1wiLFxyXG5cdFx0XHRcdC8vIFwic3RhdGljL2xpYi9tYXJzM2QvbWFyczNkLmpzXCIsXHJcblx0XHRcdFx0Ly8gXCJzdGF0aWMvY3NzL3N0eWxlLmNzc1wiLCBcclxuXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjU2LjExMy4yMTM6ODA4MC9oeHprdXdiL0hvbWUvZGVtby9saWIvQ2VzaXVtL1dpZGdldHMvd2lkZ2V0cy5jc3NcIixcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly8xMjMuNTYuMTEzLjIxMzo4MDgwL2h4emt1d2IvSG9tZS9kZW1vL2xpYi9DZXNpdW0vQ2VzaXVtLmpzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjU2LjExMy4yMTM6ODA4MC9oeHprdXdiL0hvbWUvZGVtby9saWIvbWFyczNkL21hcnMzZC5jc3NcIixcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly8xMjMuNTYuMTEzLjIxMzo4MDgwL2h4emt1d2IvSG9tZS9kZW1vL2xpYi9tYXJzM2QvbWFyczNkLmpzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjU2LjExMy4yMTM6ODA4MC9oeHprdXdiL0hvbWUvanMvM0RNb1hpbmcuanNcIixcclxuXHRcdFx0XHRcImh0dHA6Ly8zOS4xMDYuMjEwLjEzOjg4ODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvQ2VzaXVtL1dpZGdldHMvd2lkZ2V0cy5jc3NcIixcclxuXHRcdFx0XHRcImh0dHA6Ly8zOS4xMDYuMjEwLjEzOjg4ODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvQ2VzaXVtL0Nlc2l1bS5qc1wiLFxyXG5cdFx0XHRcdFwiaHR0cDovLzM5LjEwNi4yMTAuMTM6ODg4OC9oeHprdXdiL3ZpZXcvSG9tZS9kZW1vL2xpYi9tYXJzM2QvbWFyczNkLmNzc1wiLFxyXG5cdFx0XHRcdFwiaHR0cDovLzM5LjEwNi4yMTAuMTM6ODg4OC9oeHprdXdiL3ZpZXcvSG9tZS9kZW1vL2xpYi9tYXJzM2QvbWFyczNkLmpzXCIsXHJcblxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL0Nlc2l1bS9XaWRnZXRzL3dpZGdldHMuY3NzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjExNy4xNTIuMTIwOjgwODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvQ2VzaXVtL0Nlc2l1bS5qc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL21hcnMzZC9tYXJzM2QuY3NzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjExNy4xNTIuMTIwOjgwODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvbWFyczNkL21hcnMzZC5qc1wiLFxyXG5cdFx0XHRcdC8v55So5Zyo57q/5Zyw5Z2AXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vbWFyczNkLmNuL2xpYi9DZXNpdW0vV2lkZ2V0cy93aWRnZXRzLmNzc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovL21hcnMzZC5jbi9saWIvQ2VzaXVtL0Nlc2l1bS5qc1wiLCBcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly9tYXJzM2QuY24vbGliL21hcnMzZC9tYXJzM2QuY3NzXCIsIFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovL21hcnMzZC5jbi9saWIvbWFyczNkL21hcnMzZC5qc1wiLFxyXG5cdFx0XHRcdFwic3RhdGljL2Nzcy9zdHlsZS5jc3NcIixcclxuXHRcdFx0XSkudGhlbigoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5yZXdyaXRlQ2VzaXVtU291cmNlcyhDZXNpdW0pO1xyXG5cdFx0XHRcdC8vIGlmIChnbG9iYWxNYXA9PWZhbHNlKSB7XHJcblx0XHRcdFx0dGhpcy5jcmVhdGVNYXAoKVxyXG5cdFx0XHRcdC8vIH1cclxuXHJcblx0XHRcdH0pXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQvL+WIm+W7uuWcsOWbvlxyXG5cdFx0XHRnZXRUZXJyYWluUHJvdmlkZXJWaWV3TW9kZWxzQXJyKCkge1xyXG5cdFx0XHRcdHJldHVybiBbXHJcblx0XHRcdFx0XHRuZXcgQ2VzaXVtLlByb3ZpZGVyVmlld01vZGVsKHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCLml6DlnLDlvaJcIixcclxuXHRcdFx0XHRcdFx0dG9vbHRpcDogXCJXR1M4NOagh+WHhueQg+S9k1wiLFxyXG5cdFx0XHRcdFx0XHRpY29uVXJsOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvVGVycmFpbkVsbGlwc29pZC5wbmdcIixcclxuXHRcdFx0XHRcdFx0Y3JlYXRpb25GdW5jdGlvbjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIG1hcnMzZC5MYXllclV0aWwuZ2V0Tm9UZXJyYWluUHJvdmlkZXIoKVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdG5ldyBDZXNpdW0uUHJvdmlkZXJWaWV3TW9kZWwoe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuS4reWbveWcsOW9olwiLFxyXG5cdFx0XHRcdFx0XHR0b29sdGlwOiBcIueUsSDngavmmJ/np5HmioAg5o+Q5L6b55qE5Lit5Zu95Zu95YaF5Zyw5b2iXCIsXHJcblx0XHRcdFx0XHRcdGljb25Vcmw6IFwic3RhdGljL2ltZy9iYXNlbWFwcy9UZXJyYWluU1RLLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRjcmVhdGlvbkZ1bmN0aW9uOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gbWFyczNkLkxheWVyVXRpbC5jcmVhdGVUZXJyYWluUHJvdmlkZXIoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dXJsOiBcImh0dHA6Ly9kYXRhLm1hcnMzZC5jbi90ZXJyYWluXCJcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdG5ldyBDZXNpdW0uUHJvdmlkZXJWaWV3TW9kZWwoe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIkFyY0dJU+WcsOW9olwiLFxyXG5cdFx0XHRcdFx0XHR0b29sdGlwOiBcIueUsSDngavmmJ/np5HmioAg5o+Q5L6b55qE5Lit5Zu95Zu95YaF5Zyw5b2iXCIsXHJcblx0XHRcdFx0XHRcdGljb25Vcmw6IFwic3RhdGljL2ltZy9iYXNlbWFwcy9UZXJyYWluU1RLLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRjcmVhdGlvbkZ1bmN0aW9uOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gbWFyczNkLkxheWVyVXRpbC5jcmVhdGVUZXJyYWluUHJvdmlkZXIoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJhcmNnaXNcIixcclxuXHRcdFx0XHRcdFx0XHRcdHVybDogXCJodHRwczovL2VsZXZhdGlvbjNkLmFyY2dpcy5jb20vYXJjZ2lzL3Jlc3Qvc2VydmljZXMvV29ybGRFbGV2YXRpb24zRC9UZXJyYWluM0QvSW1hZ2VTZXJ2ZXJcIlxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdFx0bmV3IENlc2l1bS5Qcm92aWRlclZpZXdNb2RlbCh7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5YWo55CD5Zyw5b2iXCIsXHJcblx0XHRcdFx0XHRcdHRvb2x0aXA6IFwi55SxIENlc2l1beWumOaWuSDmj5DkvpvnmoTpq5jliIbovqjnjoflhajnkIPlnLDlvaJcIixcclxuXHRcdFx0XHRcdFx0aWNvblVybDogXCJzdGF0aWMvaW1nL2Jhc2VtYXBzL1RlcnJhaW5TVEsucG5nXCIsXHJcblx0XHRcdFx0XHRcdGNyZWF0aW9uRnVuY3Rpb246IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBtYXJzM2QuTGF5ZXJVdGlsLmNyZWF0ZVRlcnJhaW5Qcm92aWRlcih7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImlvblwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0cmVxdWVzdFdhdGVyTWFzazogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdHJlcXVlc3RWZXJ0ZXhOb3JtYWxzOiB0cnVlXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRdXHJcblx0XHRcdH0sXHJcblx0XHRcdGdldG1hcnNEYXRhKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0dGhpcy5saXN0ID0gbmV3VmFsdWVcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0M3dlaShuZXdWYWx1ZSkge1xyXG5cdFx0XHRcdHRoaXMuaXMyZCA9IG5ld1ZhbHVlWzBdXHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WIm+W7uuWcsOWbvlxyXG5cdFx0XHRjcmVhdGVNYXAoKSB7XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKHRoaXMubGlzdCkubGVuZ3RoID09IDApIHsgLy/liIfmjaLpobXpnaLmnInml7bkvJrlm6DkuLpnZXRtYXJzRGF0Ye+8iO+8ieWcqGNyZWF0ZU1hcCgp5LmL5ZCO5omn6KGM77yM5a+86Ie05q2k5pa55rOV5rKh5pyJ5Y6f5aeL5a6a5L2N5pWw5o2u5oql6ZSZXHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8156eS5pKt5pS+5LiA5qyhXHJcblx0XHRcdFx0XHRcdHRoaXMuY3JlYXRlTWFwKClcclxuXHRcdFx0XHRcdH0sIDEwMCk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGxldCBtYXBQb3NpdGlvbmxhdDtcclxuXHRcdFx0XHRcdGxldCBtYXBQb3NpdGlvbmxuZztcclxuXHRcdFx0XHRcdGxldCBtYXBQb3NpdGlvbmFsdDtcclxuXHRcdFx0XHRcdGxldCBtYXBQb3NpdGlvbmhlYWRpbmc7XHJcblx0XHRcdFx0XHRsZXQgbWFwUG9zaXRpb25waXRjaDtcclxuXHRcdFx0XHRcdG1hcFBvc2l0aW9ubGF0ID0gdGhpcy5saXN0Lm1hcHBvc2l0aW9uLnNwbGl0KCcsJylbMV07XHJcblx0XHRcdFx0XHRtYXBQb3NpdGlvbmxuZyA9IHRoaXMubGlzdC5tYXBwb3NpdGlvbi5zcGxpdCgnLCcpWzBdO1xyXG5cdFx0XHRcdFx0bWFwUG9zaXRpb25hbHQgPSB0aGlzLmxpc3QuYWx0O1xyXG5cdFx0XHRcdFx0bWFwUG9zaXRpb25oZWFkaW5nID0gdGhpcy5saXN0LmhlYWRpbmc7XHJcblx0XHRcdFx0XHRtYXBQb3NpdGlvbnBpdGNoID0gdGhpcy5saXN0LnBpdGNoO1xyXG5cdFx0XHRcdFx0Y29uc3QgQ2VzaXVtID0gbWFyczNkLkNlc2l1bTtcclxuXHRcdFx0XHRcdG1hcCA9IG5ldyBtYXJzM2QuTWFwKCdtYXJzM2RDb250YWluZXInLCB7XHJcblx0XHRcdFx0XHRcdHNjZW5lOiB7XHJcblx0XHRcdFx0XHRcdFx0Y2VudGVyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBsYXQ6IDM4LjQ0MzcyOSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGxuZzogMzguNDQzNzI5LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gYWx0OiAyMDAsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBoZWFkaW5nOiAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gcGl0Y2g6IDAsXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0bGF0OiBtYXBQb3NpdGlvbmxhdCxcclxuXHRcdFx0XHRcdFx0XHRcdGxuZzogbWFwUG9zaXRpb25sbmcsXHJcblx0XHRcdFx0XHRcdFx0XHRhbHQ6IG1hcFBvc2l0aW9uYWx0LFxyXG5cdFx0XHRcdFx0XHRcdFx0aGVhZGluZzogMCxcclxuXHRcdFx0XHRcdFx0XHRcdHBpdGNoOiAwXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHQvLyBjZW50ZXI6IHsgbGF0OiBtYXBQb3NpdGlvblsxXSwgbG5nOiBtYXBQb3NpdGlvblswXSwgYWx0OiBIb21lU2V0dGluZy5hbHQsIGhlYWRpbmc6IEhvbWVTZXR0aW5nLmhlYWRpbmcsIHBpdGNoOiBIb21lU2V0dGluZy5waXRjaCB9LFxyXG5cdFx0XHRcdFx0XHRcdHNob3dTa3lBdG1vc3BoZXJlOiBmYWxzZSwgLy8g5YWz6Zet55CD5ZGo6L6555qE55m96Imy6L2u5buTIG1hcC5zY2VuZS5za3lBdG1vc3BoZXJlID0gZmFsc2VcclxuXHRcdFx0XHRcdFx0XHRmb2c6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0ZnhhYTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRnbG9iZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0c2hvd0dyb3VuZEF0bW9zcGhlcmU6IGZhbHNlLCAvLyDlhbPpl63lpKfmsJTvvIjnkIPooajpnaLnmb3okpnokpnnmoTmlYjmnpzvvIlcclxuXHRcdFx0XHRcdFx0XHRcdGRlcHRoVGVzdEFnYWluc3RUZXJyYWluOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdGJhc2VDb2xvcjogXCIjNTQ2YTUzXCJcclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdC8vIHRlcnJhaW46IHtcclxuXHRcdFx0XHRcdFx0XHQvLyAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLm1hcnMzZC5jbi90ZXJyYWluXCIsXHJcblx0XHRcdFx0XHRcdFx0Ly8gICAgIHNob3c6IHRydWVcclxuXHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdGNhbWVyYUNvbnRyb2xsZXI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdHpvb21GYWN0b3I6IDEwLjAsXHJcblx0XHRcdFx0XHRcdFx0XHR0b3VjaFpvb21GYWN0b3I6IDEwLjAsIC8vIOinpuaRuOe8qeaUvueBteaVj+W6pu+8iOS4jum8oOagh+a7mui9ruWQjOatpe+8iVxyXG5cdFx0XHRcdFx0XHRcdFx0em9vbUFuaW1hdGlvbjogdHJ1ZSwgLy8g5ZCv55So57yp5pS+5Yqo55S7XHJcblx0XHRcdFx0XHRcdFx0XHR6b29tQW5pbWF0aW9uVGltZTogMC4zLCAvLyDliqjnlLvmjIHnu63ml7bpl7TvvIjnp5LvvIksXHJcblx0XHRcdFx0XHRcdFx0XHRtaW5pbXVtWm9vbURpc3RhbmNlOiAxLFxyXG5cdFx0XHRcdFx0XHRcdFx0bWF4aW11bVpvb21EaXN0YW5jZTogNTAwMDAwMDAsXHJcblx0XHRcdFx0XHRcdFx0XHRlbmFibGVSb3RhdGU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRlbmFibGVab29tOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZW5hYmxlQ29udGludW91c1pvb206IHRydWUsIC8vIOWQr+eUqOaDr+aAp+a7muWKqO+8iOWPr+mAie+8iVxyXG5cdFx0XHRcdFx0XHRcdFx0em9vbUFuaW1hdGlvblRpbWU6IDAuMSwgLy8g5Yqo55S75pe26Ze077yI57yp55+t5Y+v5Yqg5b+r5ZON5bqU77yJXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRtYXBQcm9qZWN0aW9uOiBtYXJzM2QuQ1JTLkVQU0czODU3LCAvLyAyROS4i+WxleekuuWiqOWNoeaJmOaKleW9sVxyXG5cdFx0XHRcdFx0XHRcdG1hcE1vZGUyRDogQ2VzaXVtLk1hcE1vZGUyRC5JTkZJTklURV9TQ1JPTEwsIC8vIDJE5LiL5bem5Y+z5LiA55u05Y+v5Lul5rua5Yqo6YeN5aSN5LiW55WM5Zyw5Zu+XHJcblx0XHRcdFx0XHRcdFx0c2t5Qm94OiB7XHJcblx0XHRcdFx0XHRcdFx0XHRzb3VyY2VzOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aXZlWDogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3Fpbmd0aWFuL3JpZ2h0YXY5LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVg6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci9xaW5ndGlhbi9sZWZ0YXY5LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVk6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci9xaW5ndGlhbi9mcm9udGF2OS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmVnYXRpdmVZOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvcWluZ3RpYW4vYmFja2F2OS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVaOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvcWluZ3RpYW4vdG9wYXY5LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVo6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci9xaW5ndGlhbi9ib3R0b21hdjkuanBnXCJcclxuXHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRzb3VyY2VzMjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVg6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0UmlnaHQucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWDogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3dhbnhpYS9TdW5TZXRMZWZ0LnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVk6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0RnJvbnQucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWTogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3dhbnhpYS9TdW5TZXRCYWNrLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVo6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0VXAucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWjogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3dhbnhpYS9TdW5TZXREb3duLnBuZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0c291cmNlczM6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmVnYXRpdmVYOiBcInN0YXRpYy9pbWcvc2t5Ym94LzIvdHljaG8ydDNfODBfbXguanBnXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWTogXCJzdGF0aWMvaW1nL3NreWJveC8yL3R5Y2hvMnQzXzgwX215LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVo6IFwic3RhdGljL2ltZy9za3lib3gvMi90eWNobzJ0M184MF9tei5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVYOiBcInN0YXRpYy9pbWcvc2t5Ym94LzIvdHljaG8ydDNfODBfcHguanBnXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aXZlWTogXCJzdGF0aWMvaW1nL3NreWJveC8yL3R5Y2hvMnQzXzgwX3B5LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVo6IFwic3RhdGljL2ltZy9za3lib3gvMi90eWNobzJ0M184MF9wei5qcGdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0Ly8gc2NlbmVNb2RlOiB0aGlzLmlzMmQgLy8g6K6+572u5Yid5aeL5Zy65pmv5qih5byP5Li6MkRcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0dGVycmFpbjogZmFsc2UsIC8vIOWFs+mXreWcsOW9ouepuumXtFxyXG5cdFx0XHRcdFx0XHQvLyB0ZXJyYWluOiB7XHJcblx0XHRcdFx0XHRcdC8vIFx0dXJsOiBcImh0dHA6Ly9kYXRhLm1hcnMzZC5jbi90ZXJyYWluXCIsXHJcblx0XHRcdFx0XHRcdC8vIFx0c2hvdzogdHJ1ZVxyXG5cdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRjb250cm9sOiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gZ2VvY29kZXI6dHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRtb3VzZURvd25WaWV3OiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdGNsb2NrQW5pbWF0ZTogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0dGltZWxpbmU6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdGNvbXBhc3M6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdG5hdmlnYXRpb25IZWxwQnV0dG9uOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRmdWxsc2NyZWVuQnV0dG9uOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRob21lQnV0dG9uOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdGxvY2F0aW9uQmFyOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHR6b29tOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdHNjZW5lTW9kZVBpY2tlcjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0YmFzZUxheWVyUGlja2VyOiB0cnVlLCAvLyDmmK/lkKbmmL7npLrlm77lsYLpgInmi6nmjqfku7ZcclxuXHRcdFx0XHRcdFx0XHR0ZXJyYWluUHJvdmlkZXJWaWV3TW9kZWxzOiB0aGlzXHJcblx0XHRcdFx0XHRcdFx0XHQuZ2V0VGVycmFpblByb3ZpZGVyVmlld01vZGVsc0FycigpIC8vIOiHqmJhc2VMYXllclBpY2tlcumdouadv+eahOWcsOW9ouWPr+mAieaVsOe7hFxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHRcdFx0YmFzZW1hcHM6IFt7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdG5hbWU6IFwi5aSp5Zyw5Zu+5b2x5YOPXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy90ZHRfaW1nLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR0eXBlOiBcInRkdFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRsYXllcjogXCJpbWdfZFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRrZXk6IG1hcnMzZC5Ub2tlbi50aWFuZGl0dUFycixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0c2hvdzogZmFsc2UsIC8vIOWFs+mXreWkqeWcsOWbvuW9seWDj1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRjcmVkaXQ6IGNyZWRpdEh0bWxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdG5hbWU6IFwi5aSp5Zyw5Zu+55S15a2QXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy90ZHRfdmVjLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR0eXBlOiBcImdyb3VwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGxheWVyczogW3tcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdG5hbWU6IFwi5bqV5Zu+XCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHR0eXBlOiBcInRkdFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0bGF5ZXI6IFwidmVjX2RcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdGtleTogbWFyczNkLlRva2VuLnRpYW5kaXR1QXJyXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRuYW1lOiBcIuazqOiusFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0dHlwZTogXCJ0ZHRcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdGxheWVyOiBcInZlY196XCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRrZXk6IG1hcnMzZC5Ub2tlbi50aWFuZGl0dUFyclxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0c2hvdzogZmFsc2UsIC8vIOWFs+mXreWkqeWcsOWbvueUteWtkFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRjcmVkaXQ6IGNyZWRpdEh0bWxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB7XHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIumrmOW+t+W9seWDj1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJzdGF0aWMvaW1nL2Jhc2VtYXBzL2dhb2RlX2ltZy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiZ3JvdXBcIixcclxuXHRcdFx0XHRcdFx0XHRcdGxheWVyczogW3tcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIuW6leWbvlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiZ2FvZGVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYXllcjogXCJpbWdfZFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIuazqOiusFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiZ2FvZGVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYXllcjogXCJpbWdfelwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRcdFx0XHRzaG93OiBmYWxzZSwgLy8g5YWz6Zet6auY5b635b2x5YOPXHJcblx0XHRcdFx0XHRcdFx0XHRjcmVkaXQ6IGNyZWRpdEh0bWxcclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwi6auY5b6355S15a2QXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvZ2FvZGVfdmVjLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJnYW9kZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0bGF5ZXI6IFwidmVjXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRzaG93OiB0cnVlLCAvLyDpu5jorqTmmL7npLrpq5jlvrfnlLXlrZDlnLDlm75cclxuXHRcdFx0XHRcdFx0XHRcdGNyZWRpdDogY3JlZGl0SHRtbFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLnmb7luqblvbHlg49cIixcclxuXHRcdFx0XHRcdFx0XHRcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9nYW9kZV9pbWcucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImdyb3VwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRsYXllcnM6IFt7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLlupXlm75cIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImJhaWR1XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGF5ZXI6IFwiaW1nX2RcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLms6jorrBcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImJhaWR1XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGF5ZXI6IFwiaW1nX3pcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2hvdzogZmFsc2UsIC8vIOWFs+mXreeZvuW6puW9seWDj1xyXG5cdFx0XHRcdFx0XHRcdFx0Y3JlZGl0OiBjcmVkaXRIdG1sXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIueZvuW6pueUteWtkFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJzdGF0aWMvaW1nL2Jhc2VtYXBzL2dhb2RlX3ZlYy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiYmFpZHVcIixcclxuXHRcdFx0XHRcdFx0XHRcdGxheWVyOiBcInZlY1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2hvdzogZmFsc2UsIC8vIOWFs+mXreeZvuW6pueUteWtkFxyXG5cdFx0XHRcdFx0XHRcdFx0Y3JlZGl0OiBjcmVkaXRIdG1sXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdG5hbWU6IFwi6LC35q2M5b2x5YOPXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9nb29nbGVfaW1nLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR0eXBlOiBcImdvb2dsZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRsYXllcjogXCJpbWdfZFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRjaGluYUNSUzogbWFyczNkLkNoaW5hQ1JTLkdDSjAyLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRzaG93OiBmYWxzZSAvLyDlhbPpl63osLfmrYzlvbHlg49cclxuXHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdG5hbWU6IFwi6LC35q2M55S15a2QXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9nb29nbGVfdmVjLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR0eXBlOiBcImdvb2dsZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRsYXllcjogXCJ2ZWNcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Y2hpbmFDUlM6IG1hcnMzZC5DaGluYUNSUy5HQ0owMixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0c2hvdzogZmFsc2UgLy8g5YWz6Zet6LC35q2M55S15a2QXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8ge1xyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZTogXCJBcmNHSVPlvbHlg49cIixcclxuXHRcdFx0XHRcdFx0XHRcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9lc3JpV29ybGRJbWFnZXJ5LnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJhcmNnaXNcIixcclxuXHRcdFx0XHRcdFx0XHRcdGxheWVyOiBcImltZ19kXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRlbmFibGVQaWNrRmVhdHVyZXM6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2hvdzogZmFsc2UgLy8g5YWz6ZetIEFyY0dJUyDlvbHlg49cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdF1cclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0Ly8gY29uc3QgdG9vbGJhciA9IG5ldyBtYXJzM2QuY29udHJvbC5nZW9jb2Rlcih7XHJcblx0XHRcdFx0XHQvLyAgICAgcG9zaXRpb246IHsgdG9wOiBcIjEwcHhcIiwgbGVmdDogXCIxMHB4XCIgfSwgLy8g5oyJ6ZKu5L2N572uXHJcblx0XHRcdFx0XHQvLyAgICAgaXRlbXM6IFtcclxuXHRcdFx0XHRcdC8vICAgICAgIHtcclxuXHRcdFx0XHRcdC8vICAgICAgICAgdHlwZTogXCJidXR0b25cIixcclxuXHRcdFx0XHRcdC8vICAgICAgICAgdGV4dDogXCLmkJzntKJcIixcclxuXHRcdFx0XHRcdC8vICAgICAgICAgaWNvbjogXCJmYSBmYS1zZWFyY2hcIiwgLy8g5L2/55SoIEZvbnQgQXdlc29tZSDlm77moIdcclxuXHRcdFx0XHRcdC8vICAgICAgICAgYWN0aW9uOiAoKSA9PiB7XHJcblx0XHRcdFx0XHQvLyAgICAgICAgICAgLy8gdGhpcy4kcmVmcy5zZWFyY2hCb3guc2hvdygpOyAvLyDosIPnlKjmkJzntKLmoYbnmoTmmL7npLrmlrnms5VcclxuXHRcdFx0XHRcdC8vICAgICAgICAgfVxyXG5cdFx0XHRcdFx0Ly8gICAgICAgfVxyXG5cdFx0XHRcdFx0Ly8gICAgIF1cclxuXHRcdFx0XHRcdC8vICAgfSk7XHJcblx0XHRcdFx0XHQvLyAgIG1hcC5hZGRDb250cm9sKHRvb2xiYXIpO1xyXG5cclxuXHRcdFx0XHRcdGlmICh0aGlzLmlzMmQgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHRtYXAuc2NlbmUubW9ycGhUbzNEKDApO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0bWFwLnNjZW5lLm1vcnBoVG8yRCgwKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIOWIm+W7uuefoumHj+aVsOaNruWbvuWxglxyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyID0gbmV3IG1hcnMzZC5sYXllci5HcmFwaGljTGF5ZXIoe1xyXG5cdFx0XHRcdFx0XHRhbGxvd0RyaWxsUGljazogdHJ1ZSAvLyDlpoLmnpzlrZjlnKjlnZDmoIflrozlhajnm7jlkIznmoTlm77moIfngrnvvIzlj6/ku6XmiZPlvIDor6XlsZ7mgKfvvIxjbGlja+S6i+S7tumAmui/h2dyYXBoaWNz5Yik5patXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VkcndhID0gbmV3IG1hcnMzZC5sYXllci5HcmFwaGljTGF5ZXIoKVxyXG5cdFx0XHRcdFx0bWFwLmFkZExheWVyKGdyYXBoaWNMYXllckZlbmNlZHJ3YSlcclxuXHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlQmlhbkppZSA9IG5ldyBtYXJzM2QubGF5ZXIuR3JhcGhpY0xheWVyKClcclxuXHRcdFx0XHRcdG1hcC5hZGRMYXllcihncmFwaGljTGF5ZXJGZW5jZUJpYW5KaWUpXHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZSA9IG5ldyBtYXJzM2QubGF5ZXIuR3JhcGhpY0xheWVyKClcclxuXHRcdFx0XHRcdG1hcC5hZGRMYXllcihncmFwaGljTGF5ZXJGZW5jZSlcclxuXHJcblxyXG5cclxuXHJcblx0XHRcdFx0XHRtYXAuYWRkTGF5ZXIoZ3JhcGhpY0xheWVyKVxyXG5cdFx0XHRcdFx0Ly8g57uR5a6a54K55Ye75LqL5Lu2XHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXIub24obWFyczNkLkV2ZW50VHlwZS5jbGljaywgKGV2ZW50LCBwb3NpdGlvbikgPT4ge1xyXG5cdFx0XHRcdFx0XHR2YXIgY2FyID0gZXZlbnQuZ3JhcGhpY1xyXG5cdFx0XHRcdFx0XHQvLyB2YXIgbGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdHZhciBqc29uID0ge31cclxuXHJcblx0XHRcdFx0XHRcdC8vIHZhciBtZXNzYWdlID0gXCLlp5PlkI06IFwiICsgbmFtZSArIFwiPGJyPue8luWPtzogXCIgKyBudW1iZXI7XHJcblx0XHRcdFx0XHRcdC8vIC8vIOS9v+eUqE1hcnMzROeahOaPkOekuuahhue7hOS7tuaYvuekuuS/oeaBr1xyXG5cdFx0XHRcdFx0XHQvLyAgICAgdGhpcy5ncmFwaGljTGF5ZXIuYmluZFBvcHVwKG5ldyBtYXJzM2QuVG9vbHRpcCh7XHJcblx0XHRcdFx0XHRcdC8vICAgICAgICAgY29udGVudDogbWVzc2FnZSxcclxuXHRcdFx0XHRcdFx0Ly8gICAgICAgICBwb3NpdGlvbjogcG9zaXRpb24sIC8vIOaMh+WumuaPkOekuuahhueahOS9jee9ruS4uueCueWHu+eahOS9jee9rlxyXG5cdFx0XHRcdFx0XHQvLyAgICAgICAgIGNsYXNzTmFtZTogXCJjdXN0b20tdG9vbHRpcFwiLCAvLyDlj6/ku6Xmt7vliqDoh6rlrprkuYnmoLflvI/nsbtcclxuXHRcdFx0XHRcdFx0Ly8gICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSwgLy8g5piv5ZCm5pi+56S65YWz6Zet5oyJ6ZKuXHJcblx0XHRcdFx0XHRcdC8vICAgICB9KSk7XHJcblx0XHRcdFx0XHRcdC8vIOaJk+W8gOaPkOekuuahhlxyXG5cdFx0XHRcdFx0XHQvLyB0aGlzLmdyYXBoaWNMYXllci5vcGVuUG9wdXAoKTtcclxuXHJcblx0XHRcdFx0XHRcdGpzb24ub25saW5lID0gY2FyLmF0dHIub25saW5lXHJcblx0XHRcdFx0XHRcdGpzb24uYmFvbGl1MSA9IGNhci5hdHRyLmJhb2xpdTFcclxuXHRcdFx0XHRcdFx0anNvbi50eXBlID0gY2FyLmF0dHIudHlwZVxyXG5cdFx0XHRcdFx0XHRqc29uLnJ0Y20gPSBjYXIuYXR0ci5ydGNtXHJcblx0XHRcdFx0XHRcdGpzb24udGFnaWQgPSBjYXIuYXR0ci50YWdpZFxyXG5cdFx0XHRcdFx0XHRqc29uLmVuY3J5cHRpb24gPSBjYXIuYXR0ci5lbmNyeXB0aW9uXHJcblx0XHRcdFx0XHRcdGpzb24ucGVyc29ubmFtZSA9IGNhci5hdHRyLnBlcnNvbm5hbWVcclxuXHRcdFx0XHRcdFx0anNvbi5wb3dlciA9IGNhci5hdHRyLnBvd2VyXHJcblx0XHRcdFx0XHRcdGpzb24uaGVpZ2h0ID0gY2FyLmF0dHIuaGVpZ2h0XHJcblx0XHRcdFx0XHRcdGpzb24uZGVwYXJ0bWVudCA9IGNhci5hdHRyLmRlcGFydG1lbnRcclxuXHRcdFx0XHRcdFx0anNvbi5ncHNzdGF0dXMgPSBjYXIuYXR0ci5ncHNzdGF0dXNcclxuXHRcdFx0XHRcdFx0dGhpcy5wZXJsaXN0ID0ganNvblxyXG5cdFx0XHRcdFx0XHR0aGlzLiRvd25lckluc3RhbmNlLmNhbGxNZXRob2QoJ2hhbmRsZU1hcENsaWNrJywgdGhpcy5wZXJsaXN0KTtcclxuXHJcblxyXG5cdFx0XHRcdFx0fSlcclxuXHJcblx0XHRcdFx0XHQvL+a1i+ivleacrOWcsOWbvueJhyBcclxuXHRcdFx0XHRcdC8vIGNvbnN0IGdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHRcdFx0XHRcdC8vIFx0cG9zaXRpb246IFsxMTcuMjI5NjE5LCAzMS42ODYyODgsIDEwMDBdLFxyXG5cdFx0XHRcdFx0Ly8gXHRzdHlsZToge1xyXG5cdFx0XHRcdFx0Ly8gXHRcdGltYWdlOiBcInN0YXRpYy9pbWcvbWFyay1yZWQucG5nXCIsXHJcblx0XHRcdFx0XHQvLyBcdFx0aG9yaXpvbnRhbE9yaWdpbjogQ2VzaXVtLkhvcml6b250YWxPcmlnaW4uQ0VOVEVSLFxyXG5cdFx0XHRcdFx0Ly8gXHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NXHJcblx0XHRcdFx0XHQvLyBcdH0sXHJcblx0XHRcdFx0XHQvLyBcdGF0dHI6IHtcclxuXHRcdFx0XHRcdC8vIFx0XHRyZW1hcms6IFwi56S65L6LMVwiXHJcblx0XHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHRcdC8vIH0pXHJcblx0XHRcdFx0XHQvLyBncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhncmFwaGljKVxyXG5cdFx0XHRcdFx0Ly8gdGhpcy5mZXRjaFBlcnNvbnNMaXN0KClcclxuXHRcdFx0XHRcdC8vIHRoaXMudXBkYXRlVHJhamVjdG9yaWVzKClcclxuXHJcblx0XHRcdFx0XHQvLyB0aGlzLmdldEdQU0Nlc2l1bSgpO1xyXG5cdFx0XHRcdFx0dGhpcy4kb3duZXJJbnN0YW5jZS5jYWxsTWV0aG9kKCdyZWNlaXZlUmVuZGVyRGF0YScsIHRoaXMuZG90KVxyXG5cdFx0XHRcdFx0dGhpcy5mcGxvY2sgPSB0cnVlXHJcblx0XHRcdFx0XHRnbG9iYWxNYXAgPSB0cnVlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuJG93bmVySW5zdGFuY2UuY2FsbE1ldGhvZCgnaW5pdGxvY2snKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0bWFyc1BvaW50KG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0bWFwLmNhbWVyYS5mbHlUbyh7XHJcblx0XHRcdFx0XHRcdGRlc3RpbmF0aW9uOiBDZXNpdW0uQ2FydGVzaWFuMy5mcm9tRGVncmVlcyhuZXdWYWx1ZS5sb24sIG5ld1ZhbHVlLmxhdCwgNTAwKSwgLy8g55uu5qCH54K557uP57qs5bqm5ZKM6KeG6KeS6auY5bqmXHJcblx0XHRcdFx0XHRcdGR1cmF0aW9uOiAzIC8vIOWKqOeUu+aMgee7reaXtumXtO+8iOenku+8iVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Z2V0bWFyc2ZlbmNlUG9pbnQobmV3VmFsdWUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyg0NDQ0NDQ0NDQ0NDQpO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKG5ld1ZhbHVlKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhuZXdWYWx1ZS5zcGxpdChcIixcIilbMF0pO1xyXG5cdFx0XHRcdGlmICh0aGlzLmZlbmNlcGxvY2sgPT0gZmFsc2UpIHtcclxuXHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAodGhpcy5mcGxvY2sgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHRcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0XHRcdGlmIChPYmplY3Qua2V5cyhuZXdWYWx1ZSkubGVuZ3RoICE9IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcC5jYW1lcmEuZmx5VG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkZXN0aW5hdGlvbjogQ2VzaXVtLkNhcnRlc2lhbjMuZnJvbURlZ3JlZXMobmV3VmFsdWUuc3BsaXQoXCIsXCIpWzBdLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5ld1ZhbHVlLnNwbGl0KFwiLFwiKVsxXSwgNTAwKSwgLy8g55uu5qCH54K557uP57qs5bqm5ZKM6KeG6KeS6auY5bqmd3d3d3d3XHJcblx0XHRcdFx0XHRcdFx0XHRcdGR1cmF0aW9uOiAzIC8vIOWKqOeUu+aMgee7reaXtumXtO+8iOenku+8iVxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmZlbmNlcGxvY2sgPSB0cnVlXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fSwgMTAwMCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdH0sXHJcblxyXG5cclxuXHRcdFx0Z2V0RmVuY2VEYXRhZGUobmV3VmFsdWUpIHtcclxuXHRcdFx0XHRpZiAoT2JqZWN0LmtleXMobmV3VmFsdWUpLmxlbmd0aCAhPSAwKSB7XHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZS5jbGVhcigpXHJcblxyXG5cdFx0XHRcdFx0YWRkZWRGZW5jZUlkcyA9IG5ldyBTZXQoKTtcclxuXHRcdFx0XHRcdC8vIGlmICh0aGlzLmZlbmNlaWQgPT0gbmV3VmFsdWUuaWQpIHtcclxuXHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlQmlhbkppZS5jbGVhcigpXHJcblx0XHRcdFx0XHQvL31cclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRoYXZlcnNpbmVEaXN0YW5jZShsbmcxLCBsYXQxLCBsbmcyLCBsYXQyKSB7XHJcblxyXG5cclxuXHJcblx0XHRcdFx0Y29uc3QgUiA9IDYzNzFlMzsgLy8g5Zyw55CD5Y2K5b6E77yM5Y2V5L2N77ya57GzXHJcblx0XHRcdFx0Y29uc3Qgz4YxID0gbGF0MSAqIChNYXRoLlBJIC8gMTgwKTtcclxuXHRcdFx0XHRjb25zdCDPhjIgPSBsYXQyICogKE1hdGguUEkgLyAxODApO1xyXG5cdFx0XHRcdGNvbnN0IM6Uz4YgPSAobGF0MiAtIGxhdDEpICogKE1hdGguUEkgLyAxODApO1xyXG5cdFx0XHRcdGNvbnN0IM6UzrsgPSAobG5nMiAtIGxuZzEpICogKE1hdGguUEkgLyAxODApO1xyXG5cclxuXHRcdFx0XHRjb25zdCBhID0gTWF0aC5zaW4ozpTPhiAvIDIpICogTWF0aC5zaW4ozpTPhiAvIDIpICtcclxuXHRcdFx0XHRcdE1hdGguY29zKM+GMSkgKiBNYXRoLmNvcyjPhjIpICpcclxuXHRcdFx0XHRcdE1hdGguc2luKM6UzrsgLyAyKSAqIE1hdGguc2luKM6UzrsgLyAyKTtcclxuXHRcdFx0XHRjb25zdCBjID0gMiAqIE1hdGguYXRhbjIoTWF0aC5zcXJ0KGEpLCBNYXRoLnNxcnQoMSAtIGEpKTtcclxuXHJcblx0XHRcdFx0cmV0dXJuIFIgKiBjO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRGZW5jZURhdGEobmV3VmFsdWUpIHtcclxuXHRcdFx0XHRpZiAoT2JqZWN0LmtleXMobmV3VmFsdWUpLmxlbmd0aCAhPSAwKSB7XHJcblx0XHRcdFx0XHRuZXdWYWx1ZS5mb3JFYWNoKChlLCBpKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChlLmlzcGxheSA9PT0gJzEnKSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKCFhZGRlZEZlbmNlSWRzLmhhcyhlLmlkKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5mZW5jZWlkcyA9IGUuaWQgKyBcIl9mZW5jZVwiXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gfSwgMTAwMCk7XHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgcGFydHMgPSBlLnBvaW50cy5zcGxpdCgnOycpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIHBhcnQgPSBbXVxyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIGZlbmNlID0gW11cclxuXHRcdFx0XHRcdFx0XHRcdHZhciBwb3NpdGlvbnMgPSBbXTsgLy8g5a2Y5YKo5omA5pyJ54K555qE57uP57qs5bqmXHJcblx0XHRcdFx0XHRcdFx0XHQvL+aJgOaciee7j+e6rOW6pueCuVxyXG5cdFx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykge1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0cGFydCA9IHBhcnRzW2ldLnNwbGl0KCcsJyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChwYXJ0Lmxlbmd0aCA+IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgbG5nID0gcGFyc2VGbG9hdChwYXJ0WzBdKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgbGF0ID0gcGFyc2VGbG9hdChwYXJ0WzFdKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbnMucHVzaCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsbmc6IGxuZyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxhdDogbGF0XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGZlbmNlLnB1c2gocGFydFswXSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gZmVuY2UucHVzaChwYXJ0WzFdKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBwYXJ0LnB1c2goJzAnKVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgZ3JhcGhpYyA9IG5ldyBtYXJzM2QuZ3JhcGhpYy5CaWxsYm9hcmRFbnRpdHkoe1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogW3BhcnRbMF0sIHBhcnRbMV0sIDBdLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGlkOiBuZXdWYWx1ZVtlXS5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIG1vZGVsOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQuLi5tb2RlbFBhcmFtLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGltYWdlOiBcInN0YXRpYy9pbWcvcG9uaXQxLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2NhbGU6IDAuNCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxPcmlnaW46IENlc2l1bS5Ib3Jpem9udGFsT3JpZ2luLkNFTlRFUixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdG9ubGluZTogbmV3VmFsdWVbZV0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0bGF0OiBuZXdWYWx1ZVtlXS5sYXQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRsb246IG5ld1ZhbHVlW2VdLmxvbixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdHBwb3dlcjogbmV3VmFsdWVbZV0ucG93ZXIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBiYW9saXU0OiBlLmJhb2xpdTQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRncHNzdGF0dXM6IG5ld1ZhbHVlW2VdLmdwc3N0YXR1cyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdGRlcGFydG1lbnQ6IG5ld1ZhbHVlW2VdLmRlcGFydG1lbnQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRwbmFtZTogbmV3VmFsdWVbZV0ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIHB0YWdpZDogbmV3VmFsdWVbZV0uaWQs44CCXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZUJpYW5KaWUuYWRkR3JhcGhpYyhncmFwaGljKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhsYWJlbCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGFkZGVkQ2FySWRzLmFkZChlLmlkKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gdGhpcy5ncmFwaGljTGFiZWxzaWRzW25ld1ZhbHVlW2VdLmlkXSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRncmFwaGljOiBncmFwaGljLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIGZlbmNlOiBmZW5jZUdyYXBoaWNcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gfTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZmVuY2UucHVzaChwYXJ0KVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgayA9IDA7IGsgPCBwb3NpdGlvbnMubGVuZ3RoOyBrKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIGN1cnJlbnRQb2ludCA9IHBvc2l0aW9uc1trXTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIG5leHRQb2ludCA9IHBvc2l0aW9uc1soayArIDEpICUgcG9zaXRpb25zLmxlbmd0aF07IC8vIOWkhOeQhuacgOWQjuS4gOS4queCueWSjOesrOS4gOS4queCueebuOi/nueahOaDheWGtVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIGRpc3RhbmNlID0gdGhpcy5oYXZlcnNpbmVEaXN0YW5jZShjdXJyZW50UG9pbnQubG5nLCBjdXJyZW50UG9pbnQubGF0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5leHRQb2ludFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC5sbmcsIG5leHRQb2ludC5sYXQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXN0YW5jZSA9IHBhcnNlRmxvYXQoZGlzdGFuY2UudG9GaXhlZCgyKSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBtaWRMbmcgPSAoY3VycmVudFBvaW50LmxuZyArIG5leHRQb2ludC5sbmcpIC8gMjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIG1pZExhdCA9IChjdXJyZW50UG9pbnQubGF0ICsgbmV4dFBvaW50LmxhdCkgLyAyO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyDliJvlu7rkuIDkuKogTGFiZWxFbnRpdHkg5p2l5pi+56S66Led56a7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBsYWJlbEdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuTGFiZWxFbnRpdHkoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBuZXcgbWFyczNkLkxuZ0xhdFBvaW50KG1pZExuZywgbWlkTGF0KSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dDogYCR7ZGlzdGFuY2V9IG1gLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udF9zaXplOiAxNCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnRfd2VpZ2h0OiBcImJvbGRcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBcIiNGRkZGRkZcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmRDb2xvcjogXCIjMDAwMDAwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2aXNpYmxlRGVwdGg6IGZhbHNlLFxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxPcmlnaW46IENlc2l1bS5Ib3Jpem9udGFsT3JpZ2luLkNFTlRFUixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQ0VOVEVSXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VCaWFuSmllLmFkZEdyYXBoaWMobGFiZWxHcmFwaGljKTtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IGNvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgSnVYaW5nY29sb3JGZW5jZSA9IFwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlLnR5cGUgPT0gXCLnpoHlhaXljLpcIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjRjU2RDZFXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlLnR5cGUgPT0gXCLlt6XkvZzljLpcIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjMzc5NURBXCJcclxuXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS50eXBlID09IFwi5a6J5YWo5Yy6XCIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiIzJCRkIyRVwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBmZW5jZUdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuUG9seWdvblByaW1pdGl2ZSh7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbnM6IGZlbmNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsb3N1cmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6IGNvbG9yRmVuY2UsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMC41LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpZmZIZWlnaHQ6IGUuaGVpZ2h0IC8gMTAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1hdGVyaWFsVHlwZTogbWFyczNkLk1hdGVyaWFsVHlwZS5MaW5lRmxvdyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dDogZS5uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udF9zaXplOiAxOCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lQ29sb3I6IGNvbG9yRmVuY2UsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogXCIjZmZmZmZmXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb246IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb25fZmFyOiA1MDAwMDAsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb25fbmVhcjogMCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHBvc2l0aW9uczogW1tcIjExNi4yODExMTQwXCIsXCIzOS44MzE4NzIwXCJdLFtcIjExNi4yODE3MTYwXCIsXCIzOS44MzE3NzMwXCJdLFtcIjExNi4yODExNzA5XCIsXCIzOS44MzIyMTc5XCJdXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gc3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRjb2xvcjogdGhpcy5wYXJzZUNvbG9yKFwiI0ZGMDAwMFwiKS53aXRoQWxwaGEoMC4zKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRvdXRsaW5lV2lkdGg6IDIsIC8vIOi+ueahhueyl+e7hu+8iOWDj+e0oO+8iVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdG91dGxpbmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0b3V0bGluZUNvbG9yOiB0aGlzLnBhcnNlQ29sb3IoXCIjYjQwMDAwXCIpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIGRpZmZIZWlnaHQ6IG5ld1ZhbHVlW2VdLmhlaWdodCB8fCAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdGxhYmVsOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHR0ZXh0OiBlLm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRmb250X3NpemU6IDE4LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0b3V0bGluZTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdG91dGxpbmVDb2xvcjogXCIjQzcwNzA4XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRjb2xvcjogXCIjZmZmZmZmXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb246IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb25fZmFyOiA1MDAwMDAsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb25fbmVhcjogMFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0YXR0cjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5hbWU6IGUubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBwdGFnaWQ6IG5ld1ZhbHVlW2VdLmlkLOOAglxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlLmFkZEdyYXBoaWMoZmVuY2VHcmFwaGljKTtcclxuXHRcdFx0XHRcdFx0XHRcdGFkZGVkRmVuY2VJZHMuYWRkKGUuaWQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQubG9nKHRoaXMuZ3JhcGhpY0ZlbmNlKTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZHNdID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBncmFwaGljOiBncmFwaGljLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRmZW5jZTogZmVuY2VHcmFwaGljXHJcblx0XHRcdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBpZiAoYWRkZWRGZW5jZUlkcy5oYXMoZS5pZCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWMoZ3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGRlbGV0ZSB0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF07IC8vIOWIoOmZpOW8leeUqFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBkZWxldGUgdGhpcy5sYWJlbHNbZS5pZF07XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGFkZGVkRmVuY2VJZHMuZGVsZXRlKGUuaWQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyB0aGlzLmdyYXBoaWNMYWJlbHNbZS5hbmNob3JpZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIFx0Z3JhcGhpYzogZ3JhcGhpYzFcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Ly8gfTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pIC8vIOWwhuS8oOmAkui/h+adpeeahOWAvOi1i+WAvOe7mXBvaW50c++8jOi/meagt+WwseWPr+S7peWcqOinhuWbvuWxguS4reS9v+eUqFxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRhZGRlZEZlbmNlSWRzID0gbmV3IFNldCgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0cGFyc2VDb2xvcihjb2xvclN0cikge1xyXG5cdFx0XHRcdHRyeSB7XHJcblx0XHRcdFx0XHRpZiAoQ2VzaXVtLkNvbG9yW2NvbG9yU3RyLnRvVXBwZXJDYXNlKCldKSB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBDZXNpdW0uQ29sb3JbY29sb3JTdHIudG9VcHBlckNhc2UoKV07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRyZXR1cm4gQ2VzaXVtLkNvbG9yLmZyb21Dc3NDb2xvclN0cmluZyhjb2xvclN0cik7XHJcblx0XHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcclxuXHRcdFx0XHRcdHJldHVybiBDZXNpdW0uQ29sb3IuV0hJVEU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Z2V0RHJ3YURhdGEobmV3VmFsdWUpIHtcclxuXHRcdFx0XHR0aGlzLnBsaXN0ID0gW11cclxuXHRcdFx0XHRpZiAodGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXSkge1xyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXS5mZW5jZSk7XHJcblx0XHRcdFx0XHRkZWxldGUgdGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0Zm9yICh2YXIgZSA9IG5ld1ZhbHVlLmxlbmd0aCAtIDE7IGUgPCBuZXdWYWx1ZS5sZW5ndGg7IGUrKykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZlbmNlaWQgPSBuZXdWYWx1ZVtlXS5pZFxyXG5cdFx0XHRcdFx0XHRpZiAobmV3VmFsdWVbZSAtIDFdLmxhdCAhPSB1bmRlZmluZWQgJiYgbmV3VmFsdWVbZV0ubGF0ID09IG5ld1ZhbHVlW2UgLSAxXS5sYXQpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIuaVsOaNrumHjeWkjT09PT09PT09PT0944CL44CL44CL44CL44CL44CL44CL44CLXCIsIG5ld1ZhbHVlW2VdLmxhdCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblxyXG5cdFx0XHRcdFx0XHRcdC8vICAgICAvLyAzLiDpl63lkIjlpJrovrnlvaJcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmNhcnRlc2lhblBvaW50cy5wdXNoKG5ld1ZhbHVlW2VdKTtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0Ly8gW1tcIjExNi4yODExMTQwXCIsXCIzOS44MzE4NzIwXCJdLFtcIjExNi4yODE3MTYwXCIsXCIzOS44MzE3NzMwXCJdLFtcIjExNi4yODExNzA5XCIsXCIzOS44MzIyMTc5XCJdXVxyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGZlbmNlR3JhcGhpYyA9IG5ldyBtYXJzM2QuZ3JhcGhpYy5Qb2x5Z29uUHJpbWl0aXZlKHtcclxuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uczogdGhpcy5jYXJ0ZXNpYW5Qb2ludHMsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBwb3NpdGlvbnM6IFtbXCIxMTYuMjgxMTE0MFwiLFwiMzkuODMxODcyMFwiXSxbXCIxMTYuMjgxNzE2MFwiLFwiMzkuODMxNzczMFwiXSxbXCIxMTYuMjgxMTcwOVwiLFwiMzkuODMyMjE3OVwiXV0sXHJcblx0XHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogdGhpcy5wYXJzZUNvbG9yKFwiI0ZGMDAwMFwiKS53aXRoQWxwaGEoMC4zKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZVdpZHRoOiAyLCAvLyDovrnmoYbnspfnu4bvvIjlg4/ntKDvvIlcclxuXHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZUNvbG9yOiB0aGlzLnBhcnNlQ29sb3IoXCIjYjQwMDAwXCIpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBkaWZmSGVpZ2h0OiBuZXdWYWx1ZVtlXS5oZWlnaHQgfHwgMCxcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhmZW5jZUdyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZ3JhcGhpY0ZlbmNlW25ld1ZhbHVlW2VdLmlkXSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGdyYXBoaWM6IGdyYXBoaWMsXHJcblx0XHRcdFx0XHRcdFx0XHRmZW5jZTogZmVuY2VHcmFwaGljXHJcblx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0UG9pbnREYXRhKG5ld1ZhbHVlKSB7XHJcblxyXG5cdFx0XHRcdHRoaXMuY2FydGVzaWFuUG9pbnRzID0gW11cclxuXHRcdFx0XHQvLyBpZiAodGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXSkge1xyXG5cdFx0XHRcdC8vIFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXS5mZW5jZSk7XHJcblx0XHRcdFx0Ly8gXHRkZWxldGUgdGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXTtcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0Ly8gaWYgKHRoaXMuZ3JhcGhpY0xhYmVsc2lkc1t0aGlzLmZlbmNlaWRdKSB7XHJcblx0XHRcdFx0Ly8gXHRncmFwaGljTGF5ZXIucmVtb3ZlR3JhcGhpYyh0aGlzLmdyYXBoaWNMYWJlbHNpZHNbdGhpcy5mZW5jZWlkXS5ncmFwaGljKTtcclxuXHRcdFx0XHQvLyBcdGRlbGV0ZSB0aGlzLmdyYXBoaWNMYWJlbHNpZHNbdGhpcy5mZW5jZWlkXTtcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0aWYgKGdyYXBoaWNMYXllckZlbmNlZHJ3YSAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZWRyd2EuY2xlYXIoKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoT2JqZWN0LmtleXMobmV3VmFsdWUpLmxlbmd0aCAhPSAwKSB7XHJcblx0XHRcdFx0XHRmb3IgKHZhciBlID0gMDsgZSA8IG5ld1ZhbHVlLmxlbmd0aDsgZSsrKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZmVuY2VpZCA9IG5ld1ZhbHVlW2VdLmlkXHJcblx0XHRcdFx0XHRcdHRoaXMucGxpc3QgPSBbXVxyXG5cdFx0XHRcdFx0XHR0aGlzLnBsaXN0LnB1c2gobmV3VmFsdWVbZV0ubGF0KVxyXG5cdFx0XHRcdFx0XHR0aGlzLnBsaXN0LnB1c2gobmV3VmFsdWVbZV0ubG9uKVxyXG5cdFx0XHRcdFx0XHQvLyAzLiDpl63lkIjlpJrovrnlvaJcclxuXHRcdFx0XHRcdFx0dGhpcy5jYXJ0ZXNpYW5Qb2ludHMucHVzaCh0aGlzLnBsaXN0KTtcclxuXHRcdFx0XHRcdFx0Ly8g6Ieq5Yqo6Zet5ZCI5aSa6L655b2iXHJcblx0XHRcdFx0XHRcdC8vIFtbXCIxMTYuMjgxMTE0MFwiLFwiMzkuODMxODcyMFwiXSxbXCIxMTYuMjgxNzE2MFwiLFwiMzkuODMxNzczMFwiXSxbXCIxMTYuMjgxMTcwOVwiLFwiMzkuODMyMjE3OVwiXV1cclxuXHRcdFx0XHRcdFx0Y29uc3QgZmVuY2VHcmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLlBvbHlnb25QcmltaXRpdmUoe1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uczogdGhpcy5jYXJ0ZXNpYW5Qb2ludHMsXHJcblx0XHRcdFx0XHRcdFx0Ly8gaWQ6IG5ld1ZhbHVlW2VdLmlkLFxyXG5cdFx0XHRcdFx0XHRcdC8vIHBvc2l0aW9uczogW1tcIjExNi4yODExMTQwXCIsXCIzOS44MzE4NzIwXCJdLFtcIjExNi4yODE3MTYwXCIsXCIzOS44MzE3NzMwXCJdLFtcIjExNi4yODExNzA5XCIsXCIzOS44MzIyMTc5XCJdXSxcclxuXHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6IHRoaXMucGFyc2VDb2xvcihcIiNGRjAwMDBcIikud2l0aEFscGhhKDAuMyksXHJcblx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lV2lkdGg6IDIsIC8vIOi+ueahhueyl+e7hu+8iOWDj+e0oO+8iVxyXG5cdFx0XHRcdFx0XHRcdFx0b3V0bGluZTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdG91dGxpbmVDb2xvcjogdGhpcy5wYXJzZUNvbG9yKFwiI2I0MDAwMFwiKSxcclxuXHRcdFx0XHRcdFx0XHRcdGRpZmZIZWlnaHQ6IG5ld1ZhbHVlW2VdLmhlaWdodCB8fCAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gbGFiZWw6IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vICAgdGV4dDogZS5uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gICBmb250X3NpemU6IDE0LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gICBjb2xvcjogQ2VzaXVtLkNvbG9yLldISVRFLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gICBkaXN0YW5jZURpc3BsYXlDb25kaXRpb246IFswLCA1MDAwMDBdXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHJcblx0XHRcdFx0XHRcdC8vIHRoaXMuZ3JhcGhpY0ZlbmNlW25ld1ZhbHVlW2VdLmlkXSA9IHtcclxuXHRcdFx0XHRcdFx0Ly8gXHQvLyBncmFwaGljOiBncmFwaGljLFxyXG5cdFx0XHRcdFx0XHQvLyBcdGZlbmNlOiBmZW5jZUdyYXBoaWNcclxuXHRcdFx0XHRcdFx0Ly8gfTtcclxuXHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VkcndhLmFkZEdyYXBoaWMoZmVuY2VHcmFwaGljKTtcclxuXHRcdFx0XHRcdFx0Ly/mtYvor5XmnKzlnLDlm77niYdcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy5ncmFwaGljaWRzLnB1c2gobmV3VmFsdWVbZV0uaWQpXHJcblx0XHRcdFx0XHRcdGNvbnN0IGdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFtuZXdWYWx1ZVtlXS5sYXQsIG5ld1ZhbHVlW2VdLmxvbiwgMF0sXHJcblx0XHRcdFx0XHRcdFx0aWQ6IG5ld1ZhbHVlW2VdLmUsXHJcblx0XHRcdFx0XHRcdFx0Ly8gbW9kZWw6IHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdC4uLm1vZGVsUGFyYW0sXHJcblx0XHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0aW1hZ2U6IFwic3RhdGljL2ltZy9wb25pdDEucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRzY2FsZTogMC40LFxyXG5cdFx0XHRcdFx0XHRcdFx0aG9yaXpvbnRhbE9yaWdpbjogQ2VzaXVtLkhvcml6b250YWxPcmlnaW4uQ0VOVEVSLFxyXG5cdFx0XHRcdFx0XHRcdFx0dmVydGljYWxPcmlnaW46IENlc2l1bS5WZXJ0aWNhbE9yaWdpbi5CT1RUT01cclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdG9ubGluZTogbmV3VmFsdWVbZV0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0bGF0OiBuZXdWYWx1ZVtlXS5sYXQsXHJcblx0XHRcdFx0XHRcdFx0XHRsb246IG5ld1ZhbHVlW2VdLmxvbixcclxuXHRcdFx0XHRcdFx0XHRcdHBwb3dlcjogbmV3VmFsdWVbZV0ucG93ZXIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBiYW9saXU0OiBlLmJhb2xpdTQsXHJcblx0XHRcdFx0XHRcdFx0XHRncHNzdGF0dXM6IG5ld1ZhbHVlW2VdLmdwc3N0YXR1cyxcclxuXHRcdFx0XHRcdFx0XHRcdGRlcGFydG1lbnQ6IG5ld1ZhbHVlW2VdLmRlcGFydG1lbnQsXHJcblx0XHRcdFx0XHRcdFx0XHRwbmFtZTogbmV3VmFsdWVbZV0ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHB0YWdpZDogbmV3VmFsdWVbZV0uaWQs44CCXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZWRyd2EuYWRkR3JhcGhpYyhncmFwaGljKVxyXG5cdFx0XHRcdFx0XHQvLyBncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhsYWJlbCk7XHJcblx0XHRcdFx0XHRcdC8vIGFkZGVkQ2FySWRzLmFkZChlLmlkKTtcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy5ncmFwaGljTGFiZWxzaWRzW25ld1ZhbHVlW2VdLmlkXSA9IHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRncmFwaGljOiBncmFwaGljLFxyXG5cdFx0XHRcdFx0XHQvLyBcdC8vIGZlbmNlOiBmZW5jZUdyYXBoaWNcclxuXHRcdFx0XHRcdFx0Ly8gfTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCLmuIXnqbrnu5jliLblm7TmoI9cIik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXREYXRhKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0bGV0IG1vZGVsUGFyYW0gPSB7XHJcblx0XHRcdFx0XHRzY2FsZTogMixcclxuXHRcdFx0XHRcdHVybDogXCJodHRwOi8vMzkuMTA2LjIxMC4xMzo4ODg4L2h4emt1d2Ivdmlldy9Ib21lL21vZGVsL21vZGVsL3dhbGsuZ2x0ZlwiLFxyXG5cdFx0XHRcdFx0cGl0Y2g6IDAsXHJcblx0XHRcdFx0XHRyb2xsOiAwLFxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0bmV3VmFsdWUuZm9yRWFjaCgoZSwgaSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAoZS5vbmxpbmUgPT09ICcxJykge1xyXG5cdFx0XHRcdFx0XHRcdGlmICghYWRkZWRDYXJJZHMuaGFzKGUuaWQpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhcIuaJk+WNsOaVsOaNrj09PT3jgIvjgIvjgIvjgIvjgIvjgIvjgIvjgIvjgIvjgItcIik7XHJcblx0XHRcdFx0XHRcdFx0XHQvL+a1i+ivleacrOWcsOWbvueJh1xyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IGNvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgSnVYaW5nY29sb3JGZW5jZSA9IFwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzMucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS5ncHNzdGF0dXMgPT0gMSkgeyAvL+WNleeCueiTneiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW80LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjMDBhYWZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlID09IDIgfHwgZS5ncHNzdGF0dXMgPT0gLTEgfHwgZS5ncHNzdGF0dXMgPT0gMykgeyAvL+WFtuS7luexu+Wei+eBsOiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8xLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCJyZ2JhKDAsMCwwLDAuNSlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuZ3Bzc3RhdHVzID09IDQpIHsgLy/pq5jnsr7luqbnu7/oibJcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMyMEQ4NUNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuZ3Bzc3RhdHVzID09IDUpIHsgLy/mta7ngrnpu4ToibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMi5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiI2ZmZmYwMFwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBpZiAoZS5iYW9saXUyLnNwbGl0KFwiO1wiKS5pbmRleE9mKFwiMVwiKTwwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzcucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS5iYW9saXUyLnNwbGl0KFwiO1wiKVswXSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzcucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGUuYmFvbGl1Mi5zcGxpdChcIjtcIilbMV0gPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChlLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzJdID09IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdH1lbHNlXHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS53YXJuc3RhdHVzID09IFwiMVwiKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzYucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzIucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBpZiAoZS5iYW9saXUxOSA9PSBcIui9pui9vVwiKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHZhciBpbWcgPSAnc3RhdGljL2ltZy9jYXIxLnBuZydcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHZhciBpbWcgPSAnc3RhdGljL2ltZy9wZXJzb242LnBuZydcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IGdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBbZS5sYXQsIGUubG9uLCAwXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWQ6IGUuaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIG1vZGVsOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Li4ubW9kZWxQYXJhbSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBpbWFnZTogXCJzdGF0aWMvaW1nL3BlcnNvbjUucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aW1hZ2U6IGltZyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzY2FsZTogXCIwLjRcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsT3JpZ2luOiBDZXNpdW0uSG9yaXpvbnRhbE9yaWdpbi5DRU5URVIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxPcmlnaW46IENlc2l1bS5WZXJ0aWNhbE9yaWdpbi5CT1RUT01cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0YXR0cjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9ubGluZTogZS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogZS50eXBlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJhb2xpdTE6IGUuYmFvbGl1MSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRydGNtOiBlLnJ0Y20sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZW5jcnlwdGlvbjogZS5lbmNyeXB0aW9uLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBvd2VyOiBlLnBvd2VyLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogZS5oZWlnaHQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Z3Bzc3RhdHVzOiBlLmdwc3N0YXR1cyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwZGVwYXJ0bWVudDogZS5kZXBhcnRtZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBlcnNvbm5hbWU6IGUucGVyc29ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0YWdpZDogZS50YWdpZCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IGxhYmVsID0gbmV3IG1hcnMzZC5ncmFwaGljLkxhYmVsRW50aXR5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGdyYXBoaWMucG9zaXRpb24sIC8vIOagh+etvueahOS9jee9ruS4juWbvuagh+S9jee9ruebuOWQjFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ6IGUucGVyc29ubmFtZSArIFwiIFwiICsgZS5pZCwgLy8g5qCH562+55qE5paH5pys5YaF5a655Li65aeT5ZCN5ZKM57yW5Y+3XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udDogJzEwcHQgc2Fucy1zZXJpZicsIC8vIOWtl+S9k+agt+W8j1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZpbGxDb2xvcjogXCIjMDAwMDAwXCIsIC8vIOWtl+S9k+minOiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmVDb2xvcjogY29sb3JGZW5jZSwgLy8g5o+P6L656aKc6Imy77yM5L2/5paH5a2X5pu05riF5pmwXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZVdpZHRoOiAyLCAvLyDmj4/ovrnlrr3luqZcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZTogQ2VzaXVtLkxhYmVsU3R5bGUuRklMTF9BTkRfT1VUTElORSwgLy8g6aOO5qC877ya5aGr5YWF5ZKM5o+P6L65XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxPcmlnaW46IENlc2l1bS5WZXJ0aWNhbE9yaWdpbi5CT1RUT00sIC8vIOaWh+Wtl+WcqOWeguebtOaWueWQkeeahOWOn+eCuVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBpeGVsT2Zmc2V0OiBuZXcgQ2VzaXVtLkNhcnRlc2lhbjIoMCwgLVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0MzApIC8vIOaWh+Wtl+WBj+enu+mHj++8jOWQkeS4i+WBj+enuzEw5YOP57SgXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuZ3JhcGhpY0xhYmVsc1tlLmlkXSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIucmVtb3ZlR3JhcGhpYyh0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0uZ3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSB0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF07XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGRlbGV0ZSB0aGlzLmxhYmVsc1tjYXIuaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLmFkZEdyYXBoaWMoZ3JhcGhpYylcclxuXHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5hZGRHcmFwaGljKGxhYmVsKTtcclxuXHRcdFx0XHRcdFx0XHRcdGFkZGVkQ2FySWRzLmFkZChlLmlkKTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZ3JhcGhpY0xhYmVsc1tlLmlkXSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpYzogZ3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGFiZWw6IGxhYmVsXHJcblx0XHRcdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAoYWRkZWRDYXJJZHMuaGFzKGUuaWQpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgY29sb3JGZW5jZSA9IFwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBKdVhpbmdjb2xvckZlbmNlID0gXCJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlLmdwc3N0YXR1cyA9PSAxKSB7IC8v5Y2V54K56JOd6ImyXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzQucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMwMGFhZmZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUgPT0gMiB8fCBlLmdwc3N0YXR1cyA9PSAtMSB8fCBlLmdwc3N0YXR1cyA9PSAzKSB7IC8v5YW25LuW57G75Z6L54Gw6ImyXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzEucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcInJnYmEoMCwwLDAsMC41KVwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS5ncHNzdGF0dXMgPT0gNCkgeyAvL+mrmOeyvuW6pue7v+iJslxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiIzIwRDg1Q1wiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS5ncHNzdGF0dXMgPT0gNSkgeyAvL+a1rueCuem7hOiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8yLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjZmZmZjAwXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuaXNvZmZsaW5lID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgZ3JhcGhpYzEgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogW2UubGF0LCBlLmxvbiwgMF0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ6IGUuaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpbWFnZTogaW1nLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2NhbGU6IFwiMC40XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsT3JpZ2luOiBDZXNpdW0uSG9yaXpvbnRhbE9yaWdpbi5DRU5URVIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbE9yaWdpbjogQ2VzaXVtLlZlcnRpY2FsT3JpZ2luLkJPVFRPTVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0YXR0cjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25saW5lOiBlLmdwc3N0YXR1cyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IGUudHlwZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJhb2xpdTE6IGUuYmFvbGl1MSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJ0Y206IGUucnRjbSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGVuY3J5cHRpb246IGUuZW5jcnlwdGlvbixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBvd2VyOiBlLnBvd2VyLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBlLmhlaWdodCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGdwc3N0YXR1czogZS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwZGVwYXJ0bWVudDogZS5kZXBhcnRtZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGVyc29ubmFtZTogZS5wZXJzb25uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGFnaWQ6IGUudGFnaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIucmVtb3ZlR3JhcGhpYyh0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0uZ3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSB0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF07XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5hZGRHcmFwaGljKGdyYXBoaWMxKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpYzogZ3JhcGhpYzEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIucmVtb3ZlR3JhcGhpYyh0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0uZ3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKHRoaXMuZ3JhcGhpY0xhYmVsc1tlLmlkXS5sYWJlbCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSB0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRhZGRlZENhcklkcy5kZWxldGUoZS5pZCk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KSAvLyDlsIbkvKDpgJLov4fmnaXnmoTlgLzotYvlgLznu5lwb2ludHPvvIzov5nmoLflsLHlj6/ku6XlnKjop4blm77lsYLkuK3kvb/nlKhcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldGdwc0RhdGEobmV3VmFsdWUpIHtcclxuXHRcdFx0XHRsZXQgbW9kZWxQYXJhbSA9IHtcclxuXHRcdFx0XHRcdHNjYWxlOiAyLFxyXG5cdFx0XHRcdFx0dXJsOiBcImh0dHA6Ly8zOS4xMDYuMjEwLjEzOjg4ODgvaHh6a3V3Yi92aWV3L0hvbWUvbW9kZWwvbW9kZWwvd2Fsay5nbHRmXCIsXHJcblx0XHRcdFx0XHRwaXRjaDogMCxcclxuXHRcdFx0XHRcdHJvbGw6IDAsXHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHRpZiAoT2JqZWN0LmtleXMobmV3VmFsdWUpLmxlbmd0aCAhPSAwKSB7XHJcblx0XHRcdFx0XHR2YXIgbGlzdEFMTCA9IG5ld1ZhbHVlO1xyXG5cdFx0XHRcdFx0aWYgKGdyYXBoaWNMYXllciAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5lYWNoR3JhcGhpYygoY2FyKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8g5Y+W5Ye65a+55bqU6L2m6L6G55qE6L2o6L+55YiX6KGoXHJcblx0XHRcdFx0XHRcdFx0dmFyIHBhdGggPSBsaXN0QUxMLmZpbHRlcigoaXRlbSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGl0ZW0uaWQgPT09IGNhci5pZFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdHBhdGguZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIHBvaW50ID0gbmV3IG1hcnMzZC5MbmdMYXRQb2ludChpdGVtLmxhdCwgaXRlbVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQubG9uLCAwKTtcclxuXHRcdFx0XHRcdFx0XHRcdGNhci5hZGREeW5hbWljUG9zaXRpb24ocG9pbnQsIGl0ZW0uYWRkdGllbSk7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdG9sZGdyYXBoaWMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGxhYmVsXHJcblx0XHRcdFx0XHRcdFx0XHR9ID0gdGhpcy5ncmFwaGljTGFiZWxzW2l0ZW0uaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8g56e76Zmk5pen55qE5Zu+5qCH5a6e5L2TXHJcblx0XHRcdFx0XHRcdFx0XHRpZiAodGhpcy5ncmFwaGljTGFiZWxzW2Nhci5pZF0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWMoY2FyKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWMobGFiZWwpO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gaXRlbS5iYW9saXUyLnNwbGl0KFwiO1wiKS5pbmRleE9mKDEpXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0ub25saW5lID09PSAnMScpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGV0IGNvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGxldCBKdVhpbmdjb2xvckZlbmNlID0gXCJcIlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0uZ3Bzc3RhdHVzID09IDEpIHsgLy/ljZXngrnok53oibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW80LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMwMGFhZmZcIlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoaXRlbSA9PSAyIHx8IGl0ZW0uZ3Bzc3RhdHVzID09IC0xIHx8IGl0ZW0uZ3Bzc3RhdHVzID09XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0MykgeyAvL+WFtuS7luexu+Wei+eBsOiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzEucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwicmdiYSgwLDAsMCwwLjUpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoaXRlbS5ncHNzdGF0dXMgPT0gNCkgeyAvL+mrmOeyvuW6pue7v+iJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzMucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiIzIwRDg1Q1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0uZ3Bzc3RhdHVzID09IDUpIHsgLy/mta7ngrnpu4ToibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8yLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiNmZmZmMDBcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKDIyMjIyMjIyKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coaXRlbS5iYW9saXUyKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coaXRlbS5iYW9saXUyLnNwbGl0KFwiO1wiKS5pbmRleE9mKFwiMVwiKSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIikuaW5kZXhPZihcIjFcIik+LTEpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBpZiAoaXRlbS5iYW9saXUyLnNwbGl0KFwiO1wiKS5pbmRleE9mKFwiMVwiKSA8IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzIucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIilbMF0gPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzcucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoaXRlbS5iYW9saXUyLnNwbGl0KFwiO1wiKVsxXSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChpdGVtLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzJdID09IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9ZWxzZSBcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0ud2FybnN0YXR1cyA9PSBcIjFcIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzYucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMi5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8g5Yib5bu65paw55qE5Zu+5qCH5a6e5L2TXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnN0IG5ld0dyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogW2l0ZW0ubGF0LCBpdGVtLmxvbiwgMF0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ6IGl0ZW0uaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGltYWdlOiBcInN0YXRpYy9pbWcvcGVyc29uNS5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGltYWdlOiBpbWcsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzY2FsZTogXCIwLjRcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxPcmlnaW46IENlc2l1bS5Ib3Jpem9udGFsT3JpZ2luXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC5DRU5URVIsXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxPcmlnaW46IENlc2l1bS5WZXJ0aWNhbE9yaWdpbi5CT1RUT00sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBwaXhlbE9mZnNldDogbmV3IENlc2l1bS5DYXJ0ZXNpYW4yKDAsIDEwKSwgLy8g5ZCR5LiL5YGP56e7NTDlg4/ntKBcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9ubGluZTogaXRlbS5vbmxpbmUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBpdGVtLnR5cGUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRiYW9saXUxOiBpdGVtLmJhb2xpdTEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRlbmNyeXB0aW9uOiBpdGVtLmVuY3J5cHRpb24sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRydGNtOiBpdGVtLnJ0Y20sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwb3dlcjogaXRlbS5wb3dlcixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogaXRlbS5oZWlnaHQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRncHNzdGF0dXM6IGl0ZW0uZ3Bzc3RhdHVzLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGVwYXJ0bWVudDogaXRlbS5kZXBhcnRtZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGVyc29ubmFtZTogaXRlbS5wZXJzb25uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGFnaWQ6IGl0ZW0udGFnaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBuZXdsYWJlbCA9IG5ldyBtYXJzM2QuZ3JhcGhpYy5MYWJlbEVudGl0eSh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHBvaW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0OiBpdGVtLnBlcnNvbm5hbWUgKyBcIiBcIiArIGl0ZW0udGFnaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb250OiAnMTBwdCBzYW5zLXNlcmlmJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZpbGxDb2xvcjogXCIjMDAwMDAwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lQ29sb3I6IGNvbG9yRmVuY2UsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lV2lkdGg6IDIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZTogQ2VzaXVtLkxhYmVsU3R5bGUuRklMTF9BTkRfT1VUTElORSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGl4ZWxPZmZzZXQ6IG5ldyBDZXNpdW0uQ2FydGVzaWFuMigwLCAtMzApXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8g5re75Yqg5qCH562+5Yiw5Zu+5bGC5bm25a2Y5YKo5byV55SoXHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5hZGRHcmFwaGljKG5ld2xhYmVsKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8g5re75Yqg5paw55qE5Zu+5qCH5a6e5L2T5Yiw5Zu+5bGCXHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5hZGRHcmFwaGljKG5ld0dyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmdyYXBoaWNMYWJlbHNbaXRlbS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpYzogbmV3R3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogbmV3bGFiZWxcclxuXHRcdFx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly/ph43lhpljZXNpdW3mjqXlj6NcclxuXHRcdFx0cmV3cml0ZUNlc2l1bVNvdXJjZXMoQ2VzaXVtKSB7XHJcblx0XHRcdFx0Y29uc3QgbG9hZEltYWdlRWxlbWVudF9vbGQgPSBDZXNpdW0uUmVzb3VyY2UuX0ltcGxlbWVudGF0aW9ucy5sb2FkSW1hZ2VFbGVtZW50O1xyXG5cdFx0XHRcdENlc2l1bS5SZXNvdXJjZS5fSW1wbGVtZW50YXRpb25zLmxvYWRJbWFnZUVsZW1lbnQgPSBmdW5jdGlvbih1cmwsIGNyb3NzT3JpZ2luLCBkZWZlcnJlZCkge1xyXG5cdFx0XHRcdFx0Ly8g5L+u5pS55pys5ZywZmlsZeacrOWcsOaWh+S7tumcgOimgeiuvue9rui3qOWfn++8iHVuaWFwcOeOr+Wig+etie+8iVxyXG5cdFx0XHRcdFx0aWYgKHVybC5zdGFydHNXaXRoKCdmaWxlJykpIHtcclxuXHRcdFx0XHRcdFx0Y3Jvc3NPcmlnaW4gPSB0cnVlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKCF1cmwuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XHJcblx0XHRcdFx0XHRcdGNyb3NzT3JpZ2luID0gdHJ1ZTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRyZXR1cm4gbG9hZEltYWdlRWxlbWVudF9vbGQodXJsLCBjcm9zc09yaWdpbiwgZGVmZXJyZWQpO1xyXG5cdFx0XHRcdH07XHJcblxyXG5cdFx0XHRcdGNvbnN0IGNvbnRhaW5zX29sZCA9IENlc2l1bS5UcnVzdGVkU2VydmVycy5jb250YWlucztcclxuXHRcdFx0XHRDZXNpdW0uVHJ1c3RlZFNlcnZlcnMuY29udGFpbnMgPSBmdW5jdGlvbih1cmwpIHtcclxuXHRcdFx0XHRcdC8vIOS/ruaUueacrOWcsGZpbGXmnKzlnLDmlofku7bpnIDopoHorr7nva7ot6jln5/vvIh1bmlhcHDnjq/looPnrYnvvIlcclxuXHRcdFx0XHRcdGlmICh1cmwuc3RhcnRzV2l0aCgnZmlsZScpKSB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVybiBjb250YWluc19vbGQuYmluZCh0aGlzKSh1cmwpO1xyXG5cdFx0XHRcdH07XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDliqDovb3otYTmupBcclxuXHRcdFx0bG9hZFNvdXJjZShsb2FkUXVlZW4pIHtcclxuXHRcdFx0XHRjb25zdCBzdGVwT25lID0gKHJlc29sdmUpID0+IHtcclxuXHRcdFx0XHRcdGlmIChsb2FkUXVlZW4ubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHRcdGNvbnN0IGRlcCA9IGxvYWRRdWVlbi5zaGlmdCgpXHJcblxyXG5cdFx0XHRcdFx0XHRsZXQgbG9hZGVyXHJcblx0XHRcdFx0XHRcdGlmIChkZXAuZW5kc1dpdGgoXCIuY3NzXCIpKSB7XHJcblx0XHRcdFx0XHRcdFx0bG9hZGVyID0gdGhpcy5sb2FkTGluayhkZXApXHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0bG9hZGVyID0gdGhpcy5sb2FkU2NyaXB0KGRlcClcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0bG9hZGVyLnRoZW4oKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHN0ZXBPbmUocmVzb2x2ZSlcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHJlc29sdmUodHJ1ZSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG5cdFx0XHRcdFx0c3RlcE9uZShyZXNvbHZlKVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDliqDovb1zY3JwaXRcclxuXHRcdFx0bG9hZFNjcmlwdChzcmMsIGFzeW5jID0gdHJ1ZSkge1xyXG5cdFx0XHRcdGNvbnN0ICRzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpXHJcblx0XHRcdFx0JHNjcmlwdC5hc3luYyA9IGFzeW5jXHJcblx0XHRcdFx0JHNjcmlwdC5zcmMgPSBzcmNcclxuXHRcdFx0XHRkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKCRzY3JpcHQpXHJcblx0XHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHRcdCRzY3JpcHQub25sb2FkID0gKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXNvbHZlKHRydWUpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdC8vIOWKoOi9vXNjcnBpdFxyXG5cdFx0XHRsb2FkTGluayhzcmMpIHtcclxuXHRcdFx0XHRjb25zdCAkbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIpXHJcblx0XHRcdFx0JGxpbmsucmVsID0gXCJzdHlsZXNoZWV0XCJcclxuXHRcdFx0XHQkbGluay5ocmVmID0gc3JjXHJcblx0XHRcdFx0ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCgkbGluaylcclxuXHRcdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHRcdFx0JGxpbmsub25sb2FkID0gKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXNvbHZlKHRydWUpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdC5zZWFyY2hiZyB7XHJcblx0XHR3aWR0aDogJzUwJSc7XHJcblx0XHRsZWZ0OiAnMjUlJztcclxuXHRcdHBvc2l0aW9uOiAnYWJzb2x1dGUnO1xyXG5cdFx0ei1pbmRleDogOTk5OTk5OTk7XHJcblx0fVxyXG5cclxuXHJcblx0LmNvbnRlbnQge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///242\n"); |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _success = _interopRequireDefault(__webpack_require__(/*! @/components/success.vue */ 102));\nvar _api = __webpack_require__(/*! @/config/api.js */ 115);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 = {\n components: {\n successCom: _success.default\n },\n data: function data() {\n return {\n warnlist: [],\n warnidlist: [],\n labelWidth: 100,\n pointlock: false,\n //踩点获取数据开关\n pointcontent: '',\n pointdisabled: false,\n pointlist: [0, 1, 2, 3],\n pointnum: 4,\n pointdrawshow: false,\n end: false,\n ldrawshow: false,\n ldrawtitle: '操作提示:',\n ldrawcontent: '请手持终端,等待RTK绿色后行走为一个闭合围栏。准备完毕后点击开始绘制,完成后点击结束绘制',\n isperties: true,\n drawway: '打点绘制',\n content: '请先输入终端编号',\n disabled: true,\n savefence: false,\n bumenList: [],\n show1: false,\n show2: false,\n typeList: [{\n text: '保护区'\n }, {\n text: '禁入区'\n }, {\n text: '工作区'\n }, {\n text: '安全区'\n }],\n warnmesList: [{\n text: '出去告警'\n }, {\n text: '进入告警'\n }, {\n text: '工作区'\n }, {\n text: '安全区'\n }],\n list: [[0, 1], [2, 3], [4, 5]],\n zuobiaolist: [['', '', '', ''],\n // height1:'',\n ['', '', '', ''], ['', '', '', ''],\n // height1:'',\n ['', '', '', '']\n // height3:'',\n ],\n\n saglist: [['', '', '', ''], ['', '', '', ''], ['', '', '', '']\n\n // height3:'',\n ],\n\n // list: [\n // \t[\n // \t\t0, 1\n // \t],\n // \t[\n // \t\t2, 3\n // \t],\n // \t[\n // \t\t4, 5\n // \t]\n // ],\n\n // zuobiaolist: [\n // \t[\n // \t\t'1A', '1B', '1','11'\n // \t],\n // \t// height1:'',\n // \t[\n // \t\t'2A', '2B', '2','22'\n // \t],\n // \t[\n // \t\t'3A', '3B', '3','33'\n // \t],\n // \t// height1:'',\n // \t[\n // \t\t'4A', '4B', '4','44'\n // \t],\n // \t// height3:'',\n // ],\n // saglist: [\n // \t[\n // \t\t'H5A', 'H5B', '5','55'\n // \t],\n // \t[\n // \t\t'H6A', 'H6B', '6','66'\n // \t],\n // \t[\n // \t\t'H7A', 'H7B', '7','77'\n // \t],\n\n // \t// height3:'',\n // ],\n tanum: 2,\n color1: '#e2e2e2',\n color2: '#8b8b8b',\n color5: '#8b8b8b',\n color10: '#8b8b8b',\n color20: '#8b8b8b',\n color50: '#8b8b8b',\n color100: '#8b8b8b',\n sudu: 'x1',\n plackTime: '',\n dqnum: '',\n lockguiji: false,\n shownotify: true,\n cancelText: '暂停',\n isRunning: true,\n plackControl: '',\n countNum: 0,\n LocusData: '',\n // isPlack: false,\n value: '',\n startdatetime: '',\n stopdatetime: '',\n rangeLevel: [{\n value: '0.95m',\n text: '10kV(0.95m)'\n }, {\n value: '1.05m',\n text: '20kV(1.05m)'\n }, {\n value: '1.15m',\n text: '35kV(1.15m)'\n }, {\n value: '1.4m',\n text: '66kV(1.4m)'\n }, {\n value: '1.65m',\n text: '110kV(1.65m)'\n }, {\n value: '2.55m',\n text: '220kV(2.55m)'\n }, {\n value: '3.25m',\n text: '330kV(3.25m)'\n }, {\n value: '4.66m',\n text: '500kV(4.55m)'\n }, {\n value: '6.70m',\n text: '750kV(6.70m)'\n }, {\n value: '8.25m',\n text: '1000kV(8.25m)'\n }],\n rules2: {\n 'name': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写围栏名称',\n trigger: ['blur', 'change']\n },\n 'code': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写终端编号',\n trigger: ['blur', 'change']\n },\n 'type': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请选择围栏类型',\n trigger: ['blur', 'change']\n },\n 'department': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请选择关联部门',\n trigger: ['blur', 'change']\n },\n 'distance': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写预警距离',\n trigger: ['blur', 'change']\n },\n 'nowarnmes': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写预警语音',\n trigger: ['blur', 'change']\n },\n 'warnmes': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写告警语音',\n trigger: ['blur', 'change']\n },\n 'dianya': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写电压等级',\n trigger: ['blur', 'change']\n }\n },\n radiolist2: [{\n name: '打点绘制',\n disabled: true\n }, {\n name: '连续绘制',\n disabled: false\n // },\n // {\n // \tname: '5小时',\n // \tdisabled: false\n }],\n\n radiolist1: [{\n name: '输电作业',\n disabled: false\n }, {\n name: '变电作业',\n disabled: true\n // },\n // {\n // \tname: '5小时',\n // \tdisabled: false\n }],\n\n boStart: 0,\n // u-radio-group的v-model绑定的值如果设置为某个radio的name,就会被默认选中\n radiovalue1: '',\n code: '',\n isplay: false,\n digao: '',\n latlon: '',\n model: {\n points: '',\n fenceFloorHe: '-1',\n //围栏底高\n height: '',\n //围栏高\n lineHeight: '-1',\n //导线高\n company: this.company,\n perCompany: '',\n addperson: this.username,\n // // userInfo: {\n name: '',\n juli: '',\n type: '',\n department: '',\n distance: '0',\n dianya: '',\n // fencetype:'',//围栏性质\n isplay: '0',\n nowarnmes: '',\n warnmes: '',\n fencetype: '变电作业'\n // },\n },\n\n drawshow: false,\n checked: false,\n guijishow: false,\n show: false,\n amapsuduPoints: 0,\n amapendGuijiPoints: '',\n amapGuijiPoints: [],\n amapFencePoints: [],\n amapdeFencePoints: {},\n keyword: '',\n topheight: 55,\n threeortwo: [],\n amapPoints: [],\n // 这就是我们需要向视图层传递的数据\n amapPointData: [],\n // 这就是我们需要向视图层传递的数据\n amapldrawData: [],\n amapGPSPoints: [],\n marsset: {},\n point: {},\n drawlist: [],\n longitude: '',\n latitude: '',\n show4: false,\n showtagid: false,\n tagidlist: [],\n tagonlie: '',\n skeletonHeight: '',\n buttonTop: 0,\n // 按钮的 top 位置\n buttonLeft: 0 // 按钮的 left 位置\n };\n },\n\n props: {\n fenceposition: {\n type: String\n // default: 60\n }\n },\n mounted: function mounted() {\n var _this = this;\n __f__(\"log\", this.fenceposition, \" at pages/index/ditu.vue:662\");\n this.getLocation();\n this.warnidlist = [];\n this.warnlist = [];\n this.findtagidall();\n this.findbumenall();\n this.initMap();\n // this.updateButtonPosition(); // 初始化按钮位置\n // window.addEventListener('resize', this.updateButtonPosition); // 监听窗口大小变化\n this.$nextTick(function () {\n // 获取系统信息\n var systemInfo = uni.getSystemInfoSync();\n _this.skeletonHeight = systemInfo.safeArea.height;\n _this.buttonTop = _this.skeletonHeight - 224;\n _this.buttonLeft = 15;\n // this.webHeight = this.skeletonHeight - this.tabBarHeight\n\n // this.vuex_status_bar_height = this.webHeight\n // this.currentIndex = 2\n });\n\n this.threeortwo.push(this.is3wei);\n // this.amapPoints = []\n // this.amapBasePoints = []\n // this.amapFencePoints = []\n\n // this.amapGuijiPoints = []\n // this.amapendGuijiPoints = ''\n this.topheight = this.vuex_custom_bar_height + 15;\n },\n methods: {\n // updateButtonPosition() {\n // \t\t const windowHeight = window.innerHeight;\n // \t\t\t\tconsole.log(windowHeight);\n // \t\t const windowWidth = window.innerWidth;\n // \t\t this.buttonTop = windowHeight-279 ;\n // \t\t this.buttonLeft = 15;\n // \t\t\t\tconsole.log(this.buttonTop);\n // \t\t },\n findtagidall: function findtagidall() {\n var _this2 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtagid)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:713\");\n if (res.code == 0) {\n _this2.tagidlist = res.data.map(function (item) {\n return {\n value: item.online,\n label: item.tagid\n };\n });\n } else {\n _this2.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n confirmtagid: function confirmtagid(e) {\n this.code = e[0].label;\n // this.tagonlie = e[0].value\n this.seachcode();\n },\n changeRangeLevel: function changeRangeLevel(e) {\n __f__(\"log\", e, \" at pages/index/ditu.vue:736\");\n // console.log(this.model.juli);\n this.model.juli = this.rangeLevel[e].text;\n // if (this.model.juli != '') {\n this.model.dianya = this.rangeLevel[e].value.split(\"m\")[0];\n // }\n // this.dianya = e;\n // this.model.dianya = e.split(\"m\")[0];\n },\n getLocation: function getLocation() {\n uni.getLocation({\n type: 'wgs84',\n success: function success(res) {\n __f__(\"log\", '当前位置的经度:' + res.longitude, \" at pages/index/ditu.vue:749\");\n __f__(\"log\", '当前位置的纬度:' + res.latitude, \" at pages/index/ditu.vue:750\");\n }\n });\n },\n onchange: function onchange(e) {\n var list = [];\n if (this.pointlist.length < e.value) {\n for (var i = this.pointlist.length; i < e.value; i++) {\n list.push(i);\n this.pointlist.push(i);\n // e[i]\n }\n } else {\n this.pointlist.splice(e.value, this.pointlist.length - e.value);\n }\n },\n radioChange: function radioChange(n) {\n if (n == '变电作业') {\n this.isperties = true;\n } else {\n this.isperties = false;\n }\n },\n seachcode: function seachcode(e) {\n var _this3 = this;\n this.drawlist = [];\n var params = {\n id: this.code,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtagIdPerson)(params).then(function (res) {\n if (res.data != null) {\n _this3.tagonlie = res.data.online;\n if (res.data.gpsstatus == '4') {\n _this3.disabled = false;\n _this3.content = '';\n _this3.pointcontent = '';\n _this3.digao = res.data.height;\n // this.end = true\n if (_this3.end == true) {\n _this3.model.points += res.data.lat + \":\" + res.data.lon + \";\";\n _this3.drawlist.push(res.data.lat);\n _this3.drawlist.push(res.data.lon);\n _this3.amapldrawData.push(_this3.drawlist);\n }\n // if (this.pointlock == true) {\n // \tthis.amapPointData.push(res.data)\n\n // \tthis.pointlock = false\n // }\n } else {\n _this3.content = '设备非高精';\n _this3.disabled = true;\n _this3.pointcontent = '设备非高精';\n }\n } else {\n _this3.disabled = true;\n _this3.content = '未搜索到设备';\n _this3.pointcontent = '未搜索到设备';\n }\n });\n setTimeout(function () {\n // \t//5秒播放一次\n _this3.seachcode();\n }, 1000);\n },\n isopen: function isopen(e) {\n if (e == true) {\n this.model.isplay = '1';\n } else {\n this.model.isplay = '0';\n }\n },\n findbumenall: function findbumenall() {\n var _this4 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbumen)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:838\");\n if (res.code == 0) {\n _this4.bumenList = res.data.map(function (item) {\n return {\n value: item.name,\n text: item.name\n };\n });\n } else {\n _this4.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n typeCallback: function typeCallback(index) {\n var _this5 = this;\n var params = {\n type: this.typeList[index].text\n };\n (0, _api.findWarnmes)(params).then(function (res) {\n if (res.code == 0) {\n // nowarnmes: '靠近危险请注意',\n // warnmes: '进入危险区域请注意',\n // if (res.data.type == \"工作区\") {\n // \tthis.model.nowarnmes = res.data.nowarnmes + \";\" + res.data.nowarnmestype\n // \tthis.model.warnmes = res.data.warnmes + \";\" + res.data.warnmestype\n // } else {\n _this5.model.nowarnmes = res.data.nowarnmes;\n _this5.model.warnmes = res.data.warnmes;\n // }\n } else {}\n });\n this.model.type = this.typeList[index].text;\n },\n bymenCallback: function bymenCallback(index) {\n this.model.department = this.bumenList[index].text;\n },\n acquisitionxy: function acquisitionxy(index, i, name) {\n var _this6 = this;\n var params = {\n baoliu3: this.code,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n __f__(\"log\", params, \" at pages/index/ditu.vue:885\");\n if (this.vuex_is_login) {\n (0, _api.acquisition)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:888\");\n if (res.code == 0) {\n if (_this6.model.fencetype == '变电作业') {\n // this.model.points += res.data.lat + \":\" + res.data.lon + \";\"\n _this6.pointlist.splice(index, 1, res.data.lat + \":\" + res.data.lon);\n __f__(\"log\", _this6.pointlist, \" at pages/index/ditu.vue:893\");\n _this6.amapPointData.splice(index, 1, res.data);\n // this.amapPointData.push(res.data)\n // this.amapPointData = this.pointlist\n _this6.pointlock = true;\n } else {\n __f__(\"log\", name, \" at pages/index/ditu.vue:899\");\n if (name == 'zb') {\n __f__(\"log\", index, \" at pages/index/ditu.vue:901\");\n __f__(\"log\", i, \" at pages/index/ditu.vue:902\");\n _this6.zuobiaolist[index - 1][i] = res.data.lat + \":\" + res.data.lon + \";\";\n _this6.zuobiaolist[index - 1][2] = res.data.height;\n _this6.amapPointData.splice(index + i, 1, res.data);\n } else {\n _this6.saglist[index - 1][i] = res.data.lat + \":\" + res.data.lon + \";\";\n _this6.saglist[index - 1][2] = res.data.height;\n }\n }\n } else {\n _this6.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n valChange: function valChange(e) {\n __f__(\"log\", '当前值为: ' + e.value, \" at pages/index/ditu.vue:925\");\n },\n initlock: function initlock() {\n this.fetchPersonsList();\n this.fetchFenceList();\n },\n closemodal: function closemodal() {\n this.drawshow = false;\n },\n cancelmodal: function cancelmodal() {\n this.drawshow = false;\n },\n cancelsave: function cancelsave() {\n this.savefence = false;\n this.drawshow = true;\n },\n save: function save() {\n var _this7 = this;\n this.model.company = this.company;\n this.model.addperson = this.vuex_user;\n this.model.perCompany = this.company;\n if (this.model.fencetype == '输电作业') {\n this.model.points = this.zuobiaolist;\n var hei = '';\n var num = this.tanum - 1;\n var result = '';\n //根据塔数循环查询塔和弧垂的坐标A数据,根据第一条塔,第二条弧垂把数据拼接起来\n for (var _i = 0; _i < this.tanum; _i++) {\n result += this.zuobiaolist[_i][0];\n if (_i < num) {\n result += this.saglist[_i][0];\n }\n hei += this.zuobiaolist[_i][2] + \":\" + this.zuobiaolist[_i][3] + ';';\n if (_i < num) {\n hei += this.saglist[_i][2] + \":\" + this.saglist[_i][3] + ';';\n }\n\n // hei += this.zuobiaolist[i][3];\n // if (i < num) {\n // \thei += this.saglist[i][3];\n // }\n }\n //从最后一条查询点位B第一条塔,第二条弧垂拼接,最后把两组数据拼接起来\n for (var _i2 = this.tanum - 1; _i2 >= 0; _i2--) {\n result += this.zuobiaolist[_i2][1];\n if (_i2 >= 1) {\n result += this.saglist[_i2 - 1][1];\n }\n\n // hei += this.zuobiaolist[i][2];\n // if (i >= 1) {\n // \thei += this.saglist[i - 1][2];\n // }\n\n hei += this.zuobiaolist[_i2][2] + \":\" + this.zuobiaolist[_i2][3] + ';';\n if (_i2 >= 1) {\n hei += this.saglist[_i2 - 1][2] + \":\" + this.saglist[_i2 - 1][3] + ';';\n }\n }\n __f__(\"log\", result, \" at pages/index/ditu.vue:987\");\n __f__(\"log\", hei, \" at pages/index/ditu.vue:988\");\n this.model.points = result;\n this.model.lineHeight = hei;\n } else {\n var _result = '';\n for (var i = 0; i < this.pointlist.length; i++) {\n _result += this.pointlist[i] + \";\";\n }\n this.model.points = _result;\n }\n this.$refs.uForm.validate().then(function (res) {\n uni.$u.toast('校验通过');\n (0, _api.submitper)(_this7.model).then(function (res) {\n if (res.code == 0) {\n _this7.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"保存成功\"\n });\n _this7.savefence = false;\n _this7.amapldrawData = [];\n _this7.amapPointData = [];\n } else {\n _this7.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.data\n });\n }\n });\n // this.savefence = false\n }).catch(function (errors) {\n // uni.$u.toast('校验失败')\n });\n // this.savefence = false\n },\n formatDate: function formatDate(date) {\n var year = date.getFullYear();\n var month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始\n var day = String(date.getDate()).padStart(2, '0');\n var hours = String(date.getHours()).padStart(2, '0');\n var minutes = String(date.getMinutes()).padStart(2, '0');\n var seconds = String(date.getSeconds()).padStart(2, '0');\n return year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n },\n startdraw: function startdraw() {\n if (this.code == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请输入终端编号'\n });\n } else {\n //选择变电作业\n if (this.isperties == false) {\n for (var i = 0; i < this.tanum; i++) {\n if (this.zuobiaolist[i][0] == '' && this.zuobiaolist[i][1] == '') {\n // lock = true\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请先打点'\n });\n } else if (this.zuobiaolist[i][2] == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请输入导线高'\n });\n // lock = false\n } else {\n this.drawshow = false;\n this.savefence = true;\n }\n }\n } else {\n if (this.drawway == \"连续绘制\") {\n this.drawshow = false;\n this.ldrawshow = true;\n } else {\n this.drawshow = false;\n this.pointdrawshow = true;\n }\n }\n }\n },\n cancelpoint: function cancelpoint() {\n this.drawshow = true;\n this.pointdrawshow = false;\n },\n savepoint: function savepoint() {\n this.pointdrawshow = false;\n this.savefence = true;\n },\n fenceHe: function fenceHe() {\n //获取围栏底高\n this.model.fenceFloorHe = this.digao;\n },\n endsave: function endsave() {\n this.end = false;\n this.savefence = true;\n },\n ldrawcancel: function ldrawcancel() {\n this.drawshow = true;\n this.ldrawshow = false;\n },\n ldrawconfirm: function ldrawconfirm() {\n this.ldrawshow = false;\n this.end = true;\n // this.model.points += this.latlon\n },\n change: function change(e) {\n this.amapsuduPoints = e;\n },\n draw: function draw() {\n if (this.vuex_is_login == true) {\n this.drawshow = true;\n this.savefence = false;\n }\n },\n zoom: function zoom() {\n this.show = !this.show;\n },\n receiveRenderData: function receiveRenderData(val) {\n this.fetchPersonsList();\n this.updateTrajectories();\n this.fetchFenceList();\n },\n searchxinxi: function searchxinxi() {\n var _this8 = this;\n var params = {\n name: this.keyword,\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findPerson)(params).then(function (res) {\n if (res.code == 0) {\n var targetPoint = {};\n targetPoint.lat = res.data.lon;\n targetPoint.lon = res.data.lat;\n _this8.point = targetPoint;\n } else {\n _this8.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n handleMapClick: function handleMapClick(e) {\n this.$emit('mars3dc', e);\n },\n guijiClick: function guijiClick(e) {\n this.dqnum = e.dqnum;\n this.plackTime = e.plackTime;\n },\n initMap: function initMap() {\n var _this9 = this;\n // if (this.vuex_is_login) { \n (0, _api.MarsHome)().then(function (rep) {\n if (_this9.lonlat != '') {\n rep.data[0].mapposition = _this9.lonlat;\n }\n _this9.marsset = rep.data[0];\n });\n // }\n },\n fetchFenceList: function fetchFenceList() {\n var _this10 = this;\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n if (uni.getStorageSync('isfence') == true) {\n (0, _api.findAllFence)(params).then(function (res) {\n if (res.data != null) {\n var filteredData = res.data.filter(function (item) {\n return item.isplay === 0;\n });\n if (filteredData != null) {\n _this10.amapdeFencePoints = filteredData;\n }\n if (_this10.amapFencePoints.length > res.data.length) {\n //当有围栏删除时调用地图把围栏全部删除\n var missingData = _this10.amapFencePoints.filter(function (item1) {\n return !res.data.some(function (item2) {\n return item2.id === item1.id;\n });\n });\n _this10.amapdeFencePoints = missingData;\n }\n _this10.amapFencePoints = res.data;\n }\n });\n } else {\n this.amapFencePoints = [];\n }\n }\n setTimeout(function () {\n //5秒播放一次\n _this10.fetchFenceList();\n }, 5000);\n },\n fetchPersonsList: function fetchPersonsList() {\n var _this11 = this;\n this.amapPoints = [];\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.getGPSCesium)(params).then(function (res) {\n if (res.data != null) {\n _this11.amapPoints = res.data;\n for (var i = 0; i < res.data.length; i++) {\n // res.data[i].online==1\n if (res.data[i].online == \"1\") {\n __f__(\"log\", _this11.zystate, \" at pages/index/ditu.vue:1210\");\n __f__(\"log\", _this11.warnlist, \" at pages/index/ditu.vue:1211\");\n if (_this11.zystate == 'START') {\n // if (res.data.filter(item => item.warnstatus == '1').length > 0) {\n // \t\tif (this.warnidlist.indexOf(res.data[i].warnstatus=='1') < 0) {\n // \t\t\tthis.warnlist.push(res.data.filter(item => item.warnstatus == '1')[\n // \t\t\t\t\t0].tagid +\n // \t\t\t\t\"进入预警区域请注意\")\n // \t\t\tthis.warnidlist.push(res.data.filter(item => item.warnstatus ==\n // \t\t\t\t'1')[0].tagid)\n // \t\t} else {\n\n // \t\t\tthis.warnlist.splice(this.warnidlist.indexOf(res.data.filter(\n // \t\t\t\t\t\titem => item.warnstatus !=\n // \t\t\t\t\t\t'1')[0] \n // \t\t\t\t\t.tagid),\n // \t\t\t\t1)\n // \t\tthis.warnidlist.splice(this.warnidlist.indexOf(res.data.filter(item =>\n // \t\t\t\t\titem.warnstatus !=\n // \t\t\t\t\t'1')[0]\n // \t\t\t\t.tagid),\n // \t\t\t1)\n // }\n // }\n __f__(\"log\", _this11.warnidlist.indexOf(res.data[i].tagid), \" at pages/index/ditu.vue:1234\");\n if (_this11.warnidlist.indexOf(res.data[i].tagid) < 0) {\n if (res.data[i].warnstatus == '1') {\n _this11.warnlist.push(res.data[i].tagid + \"进入预警区域请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[0] == 1) {\n _this11.warnlist.push(res.data[i].tagid + \"进入禁入区请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[1] == 0) {\n _this11.warnlist.push(res.data[i].tagid + \"超范围请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[2] == 1) {\n _this11.warnlist.push(res.data[i].tagid + \"超高请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n }\n } else {\n if (res.data[i].baoliu2.split(\";\")[0] == 1) {} else if (res.data[i].baoliu2.split(\";\")[1] == 0) {} else if (res.data[i].baoliu2.split(\";\")[2] == 1) {} else if (res.data[i].warnstatus == '1') {} else {\n _this11.warnlist.splice(_this11.warnidlist.indexOf(res.data[i].tagid), 1);\n _this11.warnidlist.splice(_this11.warnidlist.indexOf(res.data[i].tagid), 1);\n }\n }\n var filteredData = res.data.filter(function (item) {\n return item.online === \"1\" && item.gpsstatus !== \"4\" && (item.baoliu1 === '手持标签' || item.baoliu1 === '车载标签');\n });\n // 将符合条件的数据的 tagid 添加到 this.warnidlist 中\n filteredData.forEach(function (item) {\n if (_this11.warnidlist.indexOf(item.tagid) < 0) {\n _this11.warnlist.push(item.tagid + \"设备非高精\");\n _this11.warnidlist.push(item.tagid);\n }\n });\n } else {\n _this11.warnlist = [];\n _this11.warnidlist = [];\n }\n } else {}\n }\n }\n });\n }\n setTimeout(function () {\n //5秒播放一次\n _this11.fetchPersonsList();\n }, 5000);\n },\n updateTrajectories: function updateTrajectories() {\n var _this12 = this;\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.getGPS)(params).then(function (res) {\n if (res.data != null) {\n _this12.amapGPSPoints = res.data;\n }\n });\n }\n setTimeout(function () {\n //5秒播放一次\n _this12.updateTrajectories();\n }, 1000);\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvZGl0dS52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsInN1Y2Nlc3NDb20iLCJkYXRhIiwid2Fybmxpc3QiLCJ3YXJuaWRsaXN0IiwibGFiZWxXaWR0aCIsInBvaW50bG9jayIsInBvaW50Y29udGVudCIsInBvaW50ZGlzYWJsZWQiLCJwb2ludGxpc3QiLCJwb2ludG51bSIsInBvaW50ZHJhd3Nob3ciLCJlbmQiLCJsZHJhd3Nob3ciLCJsZHJhd3RpdGxlIiwibGRyYXdjb250ZW50IiwiaXNwZXJ0aWVzIiwiZHJhd3dheSIsImNvbnRlbnQiLCJkaXNhYmxlZCIsInNhdmVmZW5jZSIsImJ1bWVuTGlzdCIsInNob3cxIiwic2hvdzIiLCJ0eXBlTGlzdCIsInRleHQiLCJ3YXJubWVzTGlzdCIsImxpc3QiLCJ6dW9iaWFvbGlzdCIsInNhZ2xpc3QiLCJ0YW51bSIsImNvbG9yMSIsImNvbG9yMiIsImNvbG9yNSIsImNvbG9yMTAiLCJjb2xvcjIwIiwiY29sb3I1MCIsImNvbG9yMTAwIiwic3VkdSIsInBsYWNrVGltZSIsImRxbnVtIiwibG9ja2d1aWppIiwic2hvd25vdGlmeSIsImNhbmNlbFRleHQiLCJpc1J1bm5pbmciLCJwbGFja0NvbnRyb2wiLCJjb3VudE51bSIsIkxvY3VzRGF0YSIsInZhbHVlIiwic3RhcnRkYXRldGltZSIsInN0b3BkYXRldGltZSIsInJhbmdlTGV2ZWwiLCJydWxlczIiLCJ0eXBlIiwicmVxdWlyZWQiLCJtZXNzYWdlIiwidHJpZ2dlciIsInJhZGlvbGlzdDIiLCJuYW1lIiwicmFkaW9saXN0MSIsImJvU3RhcnQiLCJyYWRpb3ZhbHVlMSIsImNvZGUiLCJpc3BsYXkiLCJkaWdhbyIsImxhdGxvbiIsIm1vZGVsIiwicG9pbnRzIiwiZmVuY2VGbG9vckhlIiwiaGVpZ2h0IiwibGluZUhlaWdodCIsImNvbXBhbnkiLCJwZXJDb21wYW55IiwiYWRkcGVyc29uIiwianVsaSIsImRlcGFydG1lbnQiLCJkaXN0YW5jZSIsImRpYW55YSIsIm5vd2Fybm1lcyIsIndhcm5tZXMiLCJmZW5jZXR5cGUiLCJkcmF3c2hvdyIsImNoZWNrZWQiLCJndWlqaXNob3ciLCJzaG93IiwiYW1hcHN1ZHVQb2ludHMiLCJhbWFwZW5kR3VpamlQb2ludHMiLCJhbWFwR3VpamlQb2ludHMiLCJhbWFwRmVuY2VQb2ludHMiLCJhbWFwZGVGZW5jZVBvaW50cyIsImtleXdvcmQiLCJ0b3BoZWlnaHQiLCJ0aHJlZW9ydHdvIiwiYW1hcFBvaW50cyIsImFtYXBQb2ludERhdGEiLCJhbWFwbGRyYXdEYXRhIiwiYW1hcEdQU1BvaW50cyIsIm1hcnNzZXQiLCJwb2ludCIsImRyYXdsaXN0IiwibG9uZ2l0dWRlIiwibGF0aXR1ZGUiLCJzaG93NCIsInNob3d0YWdpZCIsInRhZ2lkbGlzdCIsInRhZ29ubGllIiwic2tlbGV0b25IZWlnaHQiLCJidXR0b25Ub3AiLCJidXR0b25MZWZ0IiwicHJvcHMiLCJmZW5jZXBvc2l0aW9uIiwibW91bnRlZCIsIm1ldGhvZHMiLCJmaW5kdGFnaWRhbGwiLCJqdWVzZSIsImxhYmVsIiwidHh0IiwiY29uZmlybXRhZ2lkIiwiY2hhbmdlUmFuZ2VMZXZlbCIsImdldExvY2F0aW9uIiwidW5pIiwic3VjY2VzcyIsIm9uY2hhbmdlIiwicmFkaW9DaGFuZ2UiLCJzZWFjaGNvZGUiLCJpZCIsInNldFRpbWVvdXQiLCJpc29wZW4iLCJmaW5kYnVtZW5hbGwiLCJ0eXBlQ2FsbGJhY2siLCJieW1lbkNhbGxiYWNrIiwiYWNxdWlzaXRpb254eSIsImJhb2xpdTMiLCJ2YWxDaGFuZ2UiLCJpbml0bG9jayIsImNsb3NlbW9kYWwiLCJjYW5jZWxtb2RhbCIsImNhbmNlbHNhdmUiLCJzYXZlIiwicmVzdWx0IiwiaGVpIiwiZm9ybWF0RGF0ZSIsInN0YXJ0ZHJhdyIsImNhbmNlbHBvaW50Iiwic2F2ZXBvaW50IiwiZmVuY2VIZSIsImVuZHNhdmUiLCJsZHJhd2NhbmNlbCIsImxkcmF3Y29uZmlybSIsImNoYW5nZSIsImRyYXciLCJ6b29tIiwicmVjZWl2ZVJlbmRlckRhdGEiLCJzZWFyY2h4aW54aSIsInRhcmdldFBvaW50IiwiaGFuZGxlTWFwQ2xpY2siLCJndWlqaUNsaWNrIiwiaW5pdE1hcCIsInJlcCIsImZldGNoRmVuY2VMaXN0IiwiZmV0Y2hQZXJzb25zTGlzdCIsImJhb2xpdTIiLCJzcGxpdCIsIml0ZW0iLCJiYW9saXUxIiwiZmlsdGVyZWREYXRhIiwidXBkYXRlVHJhamVjdG9yaWVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBeVNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQUM7RUFDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQUE7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFFQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxFQUNBO01BQ0FDO1FBQ0FEO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsRUFDQTtNQUNBRSxPQUNBLENBQ0EsS0FDQSxFQUNBLENBQ0EsS0FDQSxFQUNBLENBQ0EsS0FDQSxDQUNBO01BRUFDLGNBQ0EsQ0FDQSxlQUNBO01BQ0E7TUFDQSxDQUNBLGVBQ0EsRUFDQSxDQUNBLGVBQ0E7TUFDQTtNQUNBLENBQ0E7TUFFQTtNQUFBLENBQ0E7O01BQ0FDLFVBQ0EsQ0FDQSxlQUNBLEVBQ0EsQ0FDQSxlQUNBLEVBQ0EsQ0FDQTs7TUFHQTtNQUFBLENBQ0E7O01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTs7TUFFQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7O01BRUE7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FIO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO01BQ0EyQjtRQUVBO1VBQ0FDO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUVBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtNQUVBO01BQ0FDO1FBQ0FDO1FBQ0F2QztNQUNBLEdBQ0E7UUFDQXVDO1FBQ0F2QztRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0EsRUFDQTs7TUFDQXdDO1FBQ0FEO1FBQ0F2QztNQUNBLEdBQ0E7UUFDQXVDO1FBQ0F2QztRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0EsRUFDQTs7TUFDQXlDO01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7UUFDQUM7UUFBQTtRQUNBQztRQUFBO1FBQ0FDO1FBQUE7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQTtRQUNBZjtRQUNBZ0I7UUFDQXJCO1FBQ0FzQjtRQUNBQztRQUNBQztRQUNBO1FBQ0FkO1FBQ0FlO1FBQ0FDO1FBQ0FDO1FBQ0E7TUFDQTs7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFBQTtNQUNBQztNQUFBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQUE7TUFDQUM7SUFDQTtFQUVBOztFQUNBQztJQUNBQztNQUNBekQ7TUFDQTtJQUNBO0VBRUE7RUFDQTBEO0lBQUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BRUE7TUFDQTs7TUFFQTtNQUNBO0lBQ0E7O0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0lBRUE7SUFDQTtJQUNBO0VBS0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0ExQztVQUNBMkM7UUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQUE7Z0JBQ0FsRTtnQkFDQW1FO2NBQ0E7WUFBQTtVQUNBO1lBQ0E7Y0FDQTlEO2NBQ0ErRDtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBO01BQ0E7SUFFQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBQztRQUNBbkU7UUFDQW9FO1VBQ0E7VUFDQTtRQUVBO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7UUFDQTtVQUVBL0Y7VUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBZ0c7TUFFQTtRQUNBO01BQ0E7UUFDQTtNQUVBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7UUFDQUM7UUFDQXREO1FBQ0EyQztNQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7Y0FDQTtjQUVBO2NBQ0E7Y0FDQTtZQUNBO1lBQ0E7WUFDQTs7WUFFQTtZQUNBO1VBRUE7WUFDQTtZQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7TUFDQTtNQUNBWTtRQUNBO1FBQ0E7TUFDQTtJQUVBO0lBQ0FDO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0F6RDtVQUNBMkM7UUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQUE7Z0JBQ0FsRTtnQkFDQXZCO2NBQ0E7WUFBQTtVQUNBO1lBQ0E7Y0FDQTRCO2NBQ0ErRDtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBRUE7SUFDQWE7TUFBQTtNQUNBO1FBQ0E1RTtNQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtRQUNBLFFBRUE7TUFDQTtNQUNBO0lBQ0E7SUFDQTZFO01BQ0E7SUFFQTtJQUNBQztNQUFBO01BQ0E7UUFDQUM7UUFDQTdEO1FBQ0EyQztNQUNBO01BQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQ0E7Y0FDQTtjQUNBO2NBQ0E7Y0FDQTtjQUNBO2NBQ0E7WUFDQTtjQUNBO2NBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Y0FDQTtnQkFDQTtnQkFDQTtjQUVBO1lBRUE7VUFDQTtZQUNBO2NBQ0E3RDtjQUNBK0Q7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUVBO0lBRUFpQjtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQTtNQUNBO01BR0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7VUFDQUM7VUFDQTtZQUNBQTtVQUNBO1VBRUFDO1VBQ0E7WUFDQUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtRQUNBO1FBQ0E7UUFDQTtVQUNBRDtVQUNBO1lBQ0FBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7O1VBRUFDO1VBQ0E7WUFDQUE7VUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtRQUNBO1FBQ0E7VUFDQUQ7UUFDQTtRQUNBO01BQ0E7TUFFQTtRQUNBbkI7UUFDQTtVQUNBO1lBQ0E7Y0FDQW5FO2NBQ0ErRDtZQUNBO1lBRUE7WUFDQTtZQUNBO1VBQ0E7WUFDQTtjQUNBL0Q7Y0FDQStEO1lBQ0E7VUFDQTtRQUNBO1FBQ0E7TUFDQTtRQUNBO01BQUEsQ0FDQTtNQUNBO0lBQ0E7SUFHQXlCO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BRUE7SUFDQTtJQUVBQztNQUNBO1FBQ0E7VUFDQXpGO1VBQ0ErRDtRQUNBO01BQ0E7UUFDQTtRQUNBO1VBQ0E7WUFDQTtjQUNBO2NBQ0E7Z0JBQ0EvRDtnQkFDQStEO2NBQ0E7WUFDQTtjQUNBO2dCQUNBL0Q7Z0JBQ0ErRDtjQUNBO2NBQ0E7WUFDQTtjQUNBO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7VUFDQTtZQUNBO1lBQ0E7VUFDQTtZQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFLQTtJQUNBMkI7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFFQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFFQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBL0Y7UUFDQWE7TUFDQTtNQUNBO1FBQ0E7VUFDQTtZQUNBO1lBQ0FtRjtZQUNBQTtZQUNBO1VBQ0E7WUFDQTtjQUNBckc7Y0FDQStEO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBdUM7TUFDQTtJQUNBO0lBRUFDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtNQUNBO1FBQ0E7VUFDQUM7UUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBeEY7UUFDQTJDO01BQ0E7TUFDQTtRQUNBO1VBQ0E7WUFDQTtjQUNBO2dCQUFBO2NBQUE7Y0FDQTtnQkFDQTtjQUNBO2NBQ0E7Z0JBQ0E7Z0JBQ0E7a0JBQ0E7b0JBQUE7a0JBQUE7Z0JBQ0E7Z0JBQ0E7Y0FFQTtjQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO01BQ0FZO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQWtDO01BQUE7TUFDQTtNQUNBO1FBQ0F6RjtRQUNBMkM7TUFDQTtNQUNBO1FBQ0E7VUFDQTtZQUNBO1lBQ0E7Y0FDQTtjQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBOztrQkFFQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtrQkFDQTtvQkFDQSxvRUFDQStDLFFBQ0FDLCtEQUNBLE1BQ0E7c0JBQ0EsdUVBQ0E7c0JBQ0EseUVBQ0E7b0JBQ0E7a0JBQ0E7a0JBQ0E7b0JBQ0EseURBQ0FDLEtBQ0FDLFlBQ0E7a0JBQ0E7a0JBQ0E7a0JBQ0FDO29CQUNBO3NCQUNBO3NCQUNBO29CQUNBO2tCQUNBO2dCQUNBO2tCQUNBO2tCQUNBO2dCQUNBO2NBQ0EsUUFFQTtZQUNBO1VBR0E7UUFFQTtNQUNBO01BRUF2QztRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUF3QztNQUFBO01BQ0E7UUFDQS9GO1FBQ0EyQztNQUNBO01BQ0E7UUFDQTtVQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7TUFDQVk7UUFDQTtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIyNDIuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXc+XHJcblx0XHQ8dS1zZWFyY2ggdi1zaG93PVwic2hvd1wiIGNsYXNzPVwic2VhcmNoYmdcIiBzaGFwZT1cInRydWVcIiBiZy1jb2xvcj1cInJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KVwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5ZCN56ewXCJcclxuXHRcdFx0OnNob3ctYWN0aW9uPVwiZmFsc2VcIiB2LW1vZGVsPVwia2V5d29yZFwiIEBzZWFyY2g9XCJzZWFyY2h4aW54aVwiXHJcblx0XHRcdDpzdHlsZT1cInt0b3A6IHRvcGhlaWdodCsncHgnLHBvc2l0aW9uOiAnYWJzb2x1dGUnLHdpZHRoOiAnNTAlJyxsZWZ0OiAnMjUlJ31cIj48L3Utc2VhcmNoPlxyXG5cdFx0PCEtLSAjaWZkZWYgQVBQLVBMVVMgfHwgSDUgLS0+XHJcblx0XHQ8dmlldyA6c3R5bGU9XCJ7dG9wOiB0b3BoZWlnaHQrJ3B4Jyxwb3NpdGlvbjogJ2Fic29sdXRlJyx3aWR0aDogJzEwMCUnLCd6LWluZGV4JzogJzk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OSd9XCI+XHJcblx0XHRcdDwhLS0gPHUtLWltYWdlXHJcbiBcclxuICAgIDpzaG93TG9hZGluZz1cInRydWVcIlxyXG4gICAgc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yZWQucG5nXCJcclxuICAgIHdpZHRoPVwiMjVweFwiXHJcbiAgICBoZWlnaHQ9XCIyNXB4XCJcclxuICAgIEBjbGljaz1cImNsaWNrXCJcclxuICA+PC91LS1pbWFnZT7npoHljLogLS0+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYXJlYVwiXHJcblx0XHRcdFx0c3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6IGJvbGRlcjtmb250LXNpemU6IDE2cHg7YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtjb2xvcjogI2ZmZmZmZjtcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yZWQucG5nXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwidmVydGljYWwtYWxpZ246IG1pZGRsZTtwb3NpdGlvbjogcmVsYXRpdmU7dG9wOiAtMnB4O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHhcIj7npoHljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvZ3JlZW4ucG5nXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwidmVydGljYWwtYWxpZ246IG1pZGRsZTtwb3NpdGlvbjogcmVsYXRpdmU7dG9wOiAtMnB4O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHhcIj7lronlhajljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvYmx1ZS5wbmdcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO3Bvc2l0aW9uOiByZWxhdGl2ZTt0b3A6IC0ycHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweFwiPiDmlr3lt6XljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvcWluZ3NlLnBuZ1wiXHJcblx0XHRcdFx0XHRzdHlsZT1cInZlcnRpY2FsLWFsaWduOiBtaWRkbGU7cG9zaXRpb246IHJlbGF0aXZlO3RvcDogLTJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4XCI+IOS/neaKpOWMujwvaW1hZ2U+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi10b3A6IDEyMHB4O3Bvc2l0aW9uOiBmaXhlZDsgIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5OTk5OTk5OTk7XCI+XHJcblx0XHRcdDwhLS0ge3t3YXJubGlzdH19IC0tPlxyXG5cdFx0XHQ8IS0tIHt7d2Fybmxpc3QubGVuZ3RofX0gLS0+XHJcblx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHdhcm5saXN0XCIgOmtleT1cImluZGV4XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4O1wiPlxyXG5cdFx0XHRcdDwhLS0ge3tpdGVtLndhcm5zdGF0dXN9fSAtLT5cclxuXHRcdFx0XHQ8dS1hbGVydCB0eXBlPVwid2FybmluZ1wiIDpjbG9zYWJsZT1cInRydWVcIiA6ZGVzY3JpcHRpb249XCJpdGVtXCI+PC91LWFsZXJ0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIDx1LWJ1dHRvbiBAY2xpY2s9XCJkcmF3XCIgaWNvbj1cIi4uLy4uL3N0YXRpYy9kcmF3ZmVuY2UucG5nXCJcclxuXHRcdFx0c3R5bGU9XCIgYm9yZGVyLWNvbG9yOiAjNWI1YjViO2JhY2tncm91bmQtY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMCk7IHdpZHRoOiAzMXB4O2hlaWdodDogMzFweDsgcG9zaXRpb246YWJzb2x1dGU7dG9wOiA3MCU7IGxlZnQ6MTVweDt6LWluZGV4OiA5OTk5OTk5OTk5OTk5OTk7XCI+PC91LWJ1dHRvbj4gLS0+XHJcblx0XHQ8dS1idXR0b24gQGNsaWNrPVwiZHJhd1wiIGljb249XCIuLi8uLi9zdGF0aWMvZHJhd2YucG5nXCIgOnN0eWxlPVwieyBcclxuICAgICAgICBib3JkZXJDb2xvcjogJyM1YjViNWInLCBcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDExNSwgMTE1LCAxMTUsIDApJywgXHJcbiAgICAgICAgd2lkdGg6ICczMnB4JywgXHJcbiAgICAgICAgaGVpZ2h0OiAnMzFweCcsIFxyXG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLCBcclxuICAgICAgICB0b3A6IGJ1dHRvblRvcCArICdweCcsIFxyXG4gICAgICAgIGxlZnQ6IGJ1dHRvbkxlZnQgKyAncHgnLCBcclxuICAgICAgICB6SW5kZXg6IDk5OTk5OTk5OTk5OTk5OSBcclxuICAgICAgfVwiPlxyXG5cdFx0PC91LWJ1dHRvbj5cclxuXHRcdDx1LW1vZGFsIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O1wiIGJ1dHRvblJldmVyc2UgY29uZmlybVRleHQ9XCLkuIvkuIDmraVcIiBjYW5jZWxUZXh0PVwi5Y+W5raIXCJcclxuXHRcdFx0OnNob3c9XCJkcmF3c2hvd1wiIEBjYW5jZWw9XCJjYW5jZWxtb2RhbFwiIEBjb25maXJtPVwic3RhcnRkcmF3XCIgcmVmPVwidU1vZGFsXCIgOnNob3dDYW5jZWxCdXR0b249XCJ0cnVlXCJcclxuXHRcdFx0OmNsb3NlT25DbGlja092ZXJsYXk9XCJ0cnVlXCI+XHJcblx0XHRcdDx1LWljb24gbmFtZT1cImNsb3NlXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDEwcHg7dG9wOjEwcHhcIiBAY2xpY2s9XCJjbG9zZW1vZGFsXCI+PC91LWljb24+XHJcblx0XHRcdDx2aWV3IHN0eWxlPVwibWF4LWhlaWdodDogNjAwcHg7IG92ZXJmbG93LXk6IGF1dG87XCI+XHJcblxyXG5cdFx0XHRcdDx1LS1mb3JtIHN0eWxlPVwiXCIgbGFiZWxQb3NpdGlvbj1cImxlZnRcIiA6bW9kZWw9XCJtb2RlbFwiIDpydWxlcz1cInJ1bGVzMlwiIHJlZj1cInVGb3JtXCI+XHJcblx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLnu4jnq6/nvJblj7c6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cInRhZ29ubGllPT0xICYmIGNvZGUhPScnXCIgOmlzRG90PVwidHJ1ZVwiIHR5cGU9XCJzdWNjZXNzXCI+PC91LWJhZGdlPlxyXG5cdFx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0YWdvbmxpZT09MCAmJiBjb2RlIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cImNvZGVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXnu4jnq6/nvJblj7dcIiBAYmx1cj1cInNlYWNoY29kZVwiPjwvdS0taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImNvZGVcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvd3RhZ2lkID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup57uI56uv57yW5Y+3XCIgLz5cclxuXHRcdFx0XHRcdFx0PHRuLXNlbGVjdCB2LW1vZGVsPVwic2hvd3RhZ2lkXCIgbW9kZT1cInNpbmdsZVwiIDpsaXN0PVwidGFnaWRsaXN0XCIgQGNvbmZpcm09XCJjb25maXJtdGFnaWRcIlxyXG5cdFx0XHRcdFx0XHRcdDpzZWFyY2hTaG93PVwidHJ1ZVwiPjwvdG4tc2VsZWN0PlxyXG5cdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIumAieaLqeWcuuaZrzpcIiBwcm9wPVwiZmVuY2V0eXBlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtcmFkaW8tZ3JvdXAgdi1tb2RlbD1cIm1vZGVsLmZlbmNldHlwZVwiIHBsYWNlbWVudD1cInJvd1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx1LXJhZGlvIDpjdXN0b21TdHlsZT1cInttYXJnaW5SaWdodDogJzhweCd9XCIgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIHJhZGlvbGlzdDFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OmtleT1cImluZGV4XCIgOmxhYmVsPVwiaXRlbS5uYW1lXCIgOm5hbWU9XCJpdGVtLm5hbWVcIiBAY2hhbmdlPVwicmFkaW9DaGFuZ2VcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtcmFkaW8+XHJcblx0XHRcdFx0XHRcdDwvdS1yYWRpby1ncm91cD5cclxuXHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdFx0PHZpZXcgdi1pZj0naXNwZXJ0aWVzJz5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIHYtc2hvdz0naXNwZXJ0aWVzJyBsYWJlbD1cIue7mOWItuaWueW8jzpcIiBwcm9wPVwiZmVuY2V0eXBlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCJcclxuXHRcdFx0XHRcdFx0XHRsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx1LXJhZGlvLWdyb3VwIHYtbW9kZWw9XCJkcmF3d2F5XCIgcGxhY2VtZW50PVwicm93XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1yYWRpbyA6Y3VzdG9tU3R5bGU9XCJ7bWFyZ2luUmlnaHQ6ICc4cHgnfVwiIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiByYWRpb2xpc3QyXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0OmtleT1cImluZGV4XCIgOmxhYmVsPVwiaXRlbS5uYW1lXCIgOm5hbWU9XCJpdGVtLm5hbWVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1yYWRpbz5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtcmFkaW8tZ3JvdXA+XHJcblx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHRcdFx0XHQ8dmlldyB2LWVsc2U+XHJcblx0XHRcdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIuaTjeS9nOaPkOekujpcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIHN0eWxlPVwiY29sb3I6cmVkXCI+5bCG5qCH562+5pS+5Zyo5Zyw6Z2i5rWL6YeP5a+857q/6L6557yY5Z2Q5qCH77yM5ZCM5pe255So5r+A5YWJ5rWL6YeP5a+857q/6Led56a75Zyw6Z2i55qE6auY5bqmPC9zcGFuPlxyXG5cclxuXHRcdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIGxhYmVsPVwi5paw5aKe5aGUOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0PHUtbnVtYmVyLWJveCB2LW1vZGVsPVwidGFudW1cIiA6bWluPVwiMlwiIDptYXg9XCI0XHRcIiBAY2hhbmdlPVwidmFsQ2hhbmdlXCI+PC91LW51bWJlci1ib3g+XHJcblx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwiaSBpbiB0YW51bVwiIDprZXk9XCJpXCI+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifloZQnICsgKGkpICsgJ+WdkOagh0E6J1wiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVswXSE9JydcIiB2LW1vZGVsPVwienVvYmlhb2xpc3RbaS0xXVswXVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiIHN0eWxlPVwid2lkdGg6NDAwcnB4XCI+PC90bi1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0gPHRuLWJ1dHRvbiB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzBdPT0nJ1wiIGJhY2tncm91bmRDb2xvcj1cIiM1NWFhZmZcIiBmb250Q29sb3I9XCIjZmZmZmZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbWFsbFwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaSwwKVwiPumHh+mbhuWdkOaghzwvdG4tYnV0dG9uPiAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwhLS0gPGJ1dHRvbiBzaXplPVwibWluaVwiIEBjbGljaz1cImFjcXVpc2l0aW9uXCI+6YeH6ZuGPC9idXR0b24+IC0tPlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtc2hvdz1cInp1b2JpYW9saXN0W2ktMV1bMF09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ6ZGlzYWJsZWQ9XCJkaXNhYmxlZFwiIHNpemU9XCJtaW5pXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGksMCwnemInKVwiPumHh+mbhuWdkOaghzwvdS1idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3VuaS10b29sdGlwPlxyXG5cdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifloZQnICsgKGkpICsgJ+WdkOagh0I6J1wiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVsxXSE9JydcIiB2LW1vZGVsPVwienVvYmlhb2xpc3RbaS0xXVsxXVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiIHN0eWxlPVwid2lkdGg6NDAwcnB4XCI+PC90bi1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzFdPT0nJ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0OmRpc2FibGVkPVwiZGlzYWJsZWRcIiBzaXplPVwibWluaVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDEsJ3piJylcIj7ph4fpm4blnZDmoIc8L3UtYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx0bi1idXR0b24gZGlzYWJsZWQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVsxXT09JydcIiBiYWNrZ3JvdW5kQ29sb3I9XCIjNTVhYWZmXCIgZm9udENvbG9yPVwiI2ZmZmZmZlwiXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21hbGxcIiBAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGksMSlcIj7ph4fpm4blnZDmoIc8L3RuLWJ1dHRvbj4gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3VuaS10b29sdGlwPlxyXG5cdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIGxhYmVsPVwi5a+857q/6auYOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS0taW5wdXQgdi1tb2RlbD1cInp1b2JpYW9saXN0W2ktMV1bM11cIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlr7znur/pq5g6XCI+PC91LS1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiaT49MSAmJiBpPHRhbnVtXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8IS0tIHt7aTw9dGFudW19fVxyXG5cdFx0XHRcdFx0XHRcdFx0e3tzYWdsaXN0W2ktMV19fVxyXG5cdFx0XHRcdFx0XHRcdFx0e3tzYWdsaXN0W2ktMV1bMF19fSAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDx1LWZvcm0taXRlbSA6bGFiZWw9XCIn5byn5Z6CJyArIChpKSArICflnZDmoIdBOidcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHRuLWlucHV0IHYtc2hvdz1cInNhZ2xpc3RbaS0xXVswXSE9JydcIiB2LW1vZGVsPVwic2FnbGlzdFtpLTFdWzBdXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOjQwMHJweFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMF09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDAsJ3NhZycpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gOmxhYmVsPVwiJ+W8p+WegicgKyAoaSkgKyAn5Z2Q5qCHQjonXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0OmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx0bi1pbnB1dCB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMV0hPScnXCIgdi1tb2RlbD1cInNhZ2xpc3RbaS0xXVsxXVwiIGlucHV0QWxpZ249XCJyaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJ3aWR0aDo0MDBycHhcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dW5pLXRvb2x0aXAgOmNvbnRlbnQ9XCJjb250ZW50XCIgcGxhY2VtZW50PVwidG9wXCIgc3R5bGU9XCJ3aWR0aDoxMDBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMV09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDEsJ3NhZycpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gbGFiZWw9XCLlvKflnoLpq5g6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJzYWdsaXN0W2ktMV1bM11cIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlvKflnoLpq5g6XCI+PC91LS1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8L3UtLWZvcm0+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdS1tb2RhbD5cclxuXHRcdDx1LW1vZGFsIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O1wiIGJ1dHRvblJldmVyc2UgY29uZmlybVRleHQ9XCLkv53lrZjlm7TmoI9cIiBjYW5jZWxUZXh0PVwi6L+U5Zue5LiK5LiA5q2lXCJcclxuXHRcdFx0OnNob3c9XCJzYXZlZmVuY2VcIiBAY2FuY2VsPVwiY2FuY2Vsc2F2ZVwiIEBjb25maXJtPVwic2F2ZVwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8IS0tIDx1LWljb24gbmFtZT1cImNsb3NlXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDEwcHg7dG9wOjEwcHhcIiBAY2xpY2s9XCJjbG9zZW1vZGFsXCI+PC91LWljb24+IC0tPlxyXG5cdFx0XHQ8dS0tZm9ybSBzdHlsZT1cIlwiIGxhYmVsUG9zaXRpb249XCJsZWZ0XCIgOm1vZGVsPVwibW9kZWxcIiByZWY9XCJ1Rm9ybVwiIDpydWxlcz1cInJ1bGVzMlwiPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSByZXF1aXJlZCBsYWJlbD1cIuWbtOagj+WQjeensDpcIiBwcm9wPVwibmFtZVwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHQ8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLm5hbWVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/lkI3np7BcIj48L3UtLWlucHV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLlm7TmoI/nsbvlnos6XCIgcHJvcD1cInR5cGVcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwibW9kZWwudHlwZVwiIHR5cGU9XCJzZWxlY3RcIiBAY2xpY2s9XCJzaG93MSA9IHRydWVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpemAieaLqeWbtOagj+exu+Wei1wiIC8+XHJcblx0XHRcdFx0XHQ8dG4tYWN0aW9uLXNoZWV0IDpsaXN0PVwidHlwZUxpc3RcIiB2LW1vZGVsPVwic2hvdzFcIiBAY2xpY2s9XCJ0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSByZXF1aXJlZCBsYWJlbD1cIuWFs+iBlOmDqOmXqDpcIiBwcm9wPVwiZGVwYXJ0bWVudFwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5kZXBhcnRtZW50XCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cyID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5YWz6IGU6YOo6ZeoXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJidW1lbkxpc3RcIiB2LW1vZGVsPVwic2hvdzJcIiBAY2xpY2s9XCJieW1lbkNhbGxiYWNrXCI+PC90bi1hY3Rpb24tc2hlZXQ+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5Zu05qCP6auY5bqmOlwiIHByb3A9XCJoZWlnaHRcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5oZWlnaHRcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/pq5jluqZcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLpooTorabot53nprs6XCIgcHJvcD1cImRpc3RhbmNlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdDx1LS1pbnB1dCB2LW1vZGVsPVwibW9kZWwuZGlzdGFuY2VcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXpooTorabot53nprtcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDwhLS0gPHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi6aKE6K2m6K+t6Z+zOlwiIHByb3A9XCJub3dhcm5tZXNcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5ub3dhcm5tZXNcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXpooTorabor63pn7NcIj48L3UtLWlucHV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5ZGK6K2m6K+t6Z+zOlwiIHByb3A9XCJ3YXJubWVzXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdDx1LS1pbnB1dCB2LW1vZGVsPVwibW9kZWwud2Fybm1lc1wiIGJvcmRlcj1cIm5vbmVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeWRiuitpuivremfs1wiPjwvdS0taW5wdXQ+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT4gLS0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi55S15Y6L562J57qnOlwiIHByb3A9XCJkaWFueWFcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5qdWxpXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3c0ID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup55S15Y6L562J57qnXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJyYW5nZUxldmVsXCIgdi1tb2RlbD1cInNob3c0XCIgQGNsaWNrPVwiY2hhbmdlUmFuZ2VMZXZlbFwiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdFx0PCEtLSA8dW5pLWRhdGEtc2VsZWN0IHYtbW9kZWw9XCJtb2RlbC5kaWFueWFcIiA6bG9jYWxkYXRhPVwicmFuZ2VMZXZlbFwiXHJcblx0XHRcdFx0XHRcdEBjaGFuZ2U9XCJjaGFuZ2VSYW5nZUxldmVsXCI+PC91bmktZGF0YS1zZWxlY3Q+IC0tPlxyXG5cdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLmRpYW55YVwiIGJvcmRlcj1cIm5vbmVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeeUteWOi+etiee6p1wiPjwvdS0taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5a6J5YWo6Led56a7OlwiIHByb3A9XCJkaWFueWFcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5kaWFueWFcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlronlhajot53nprtcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIuaYr+WQpuWQr+eUqDpcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLm5hbWVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/lkI3np7BcIj48L3UtLWlucHV0PiAtLT5cclxuXHRcdFx0XHRcdDx1LXN3aXRjaCB2LW1vZGVsPVwiaXNwbGF5XCIgQGNoYW5nZT1cImlzb3BlblwiPjwvdS1zd2l0Y2g+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gdi1pZj1cIm1vZGVsLmZlbmNldHlwZSA9PSAn5Y+Y55S15L2c5LiaJ1wiIGxhYmVsPVwi5Zyw6Z2i5qCh5YeGOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiPlxyXG5cdFx0XHRcdFx0PHNwYW4gc3R5bGU9XCJjb2xvcjpyZWRcIj7lsIbmoIfnrb7mlL7lnKjlnLDpnaLvvIzngrnlh7vojrflj5blm7TmoI/lnLDpnaLpq5jluqY8L3NwYW4+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gdi1pZj1cIm1vZGVsLmZlbmNldHlwZSA9PSAn5Y+Y55S15L2c5LiaJ1wiIGxhYmVsPVwi5Zyw6Z2i6auY5bqmOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwibW9kZWwuZmVuY2VGbG9vckhlIT0nLTEnXCIgdi1tb2RlbD1cIm1vZGVsLmZlbmNlRmxvb3JIZVwiXHJcblx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHQ8IS0tIDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+IC0tPlxyXG5cdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtc2hvdz1cIm1vZGVsLmZlbmNlRmxvb3JIZT09Jy0xJ1wiIHNpemU9XCJtaW5pXCJcclxuXHRcdFx0XHRcdFx0QGNsaWNrPVwiZmVuY2VIZSgpXCI+5bey57uP5pS+5aW9PC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdDwhLS0gPHRuLWJ1dHRvbiBkaXNhYmxlZCB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzFdPT0nJ1wiIGJhY2tncm91bmRDb2xvcj1cIiM1NWFhZmZcIiBmb250Q29sb3I9XCIjZmZmZmZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbWFsbFwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaSwxKVwiPumHh+mbhuWdkOaghzwvdG4tYnV0dG9uPiAtLT5cclxuXHRcdFx0XHRcdDwhLS0gPC91bmktdG9vbHRpcD4gLS0+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0PC91LS1mb3JtPlxyXG5cdFx0PC91LW1vZGFsPlxyXG5cdFx0PCEtLSDov57nu63nu5jliLblvLnnqpcgLS0+XHJcblx0XHQ8dS1tb2RhbCA6c2hvdz1cImxkcmF3c2hvd1wiIDp0aXRsZT1cImxkcmF3dGl0bGVcIiA6Y29udGVudD0nbGRyYXdjb250ZW50JyBjb25maXJtVGV4dD1cIuW8gOWni+e7mOWItlwiIGNhbmNlbFRleHQ9XCLov5Tlm57kuIrkuIDmraVcIlxyXG5cdFx0XHQ6c2hvd0NhbmNlbEJ1dHRvbj1cInRydWVcIiBAY2FuY2VsPVwibGRyYXdjYW5jZWxcIiBAY29uZmlybT1cImxkcmF3Y29uZmlybVwiIGJ1dHRvblJldmVyc2U+PC91LW1vZGFsPlxyXG5cclxuXHRcdDwhLS0gPHRuLXBvcHVwIHYtbW9kZWw9XCJsb2NrZ3VpamlcIiA6bWFzaz1cImZhbHNlXCIgbW9kZT1cImJvdHRvbVwiIGNsb3NlQnRuIDptYXNrQ2xvc2VhYmxlPVwiZmFsc2VcIj4gLS0+XHJcblxyXG5cdFx0PHUtYnV0dG9uIHYtc2hvdz1cImVuZFwiIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O2JvdHRvbToxNSU7d2lkdGg6NTAlO2xlZnQ6MjUlXCJcclxuXHRcdFx0dHlwZT1cInByaW1hcnlcIiBzaGFwZT1cImNpcmNsZVwiIHRleHQ9XCLnu5PmnZ/nu5jliLZcIiBAY2xpY2s9XCJlbmRzYXZlKClcIj48L3UtYnV0dG9uPlxyXG5cdFx0PCEtLSDmiZPngrnnu5jliLblvLnnqpcgcG9pbnRkcmF3c2hvdy0tPlxyXG5cdFx0PHUtbW9kYWwgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk7XCIgYnV0dG9uUmV2ZXJzZSBjb25maXJtVGV4dD1cIuaJk+eCueWujOaIkFwiIGNhbmNlbFRleHQ9XCLov5Tlm57kuIrkuIDmraVcIlxyXG5cdFx0XHQ6c2hvdz1cInBvaW50ZHJhd3Nob3dcIiBAY2FuY2VsPVwiY2FuY2VscG9pbnRcIiBAY29uZmlybT1cInNhdmVwb2ludFwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cIm1heC1oZWlnaHQ6IDMwMHB4OyBvdmVyZmxvdy15OiBhdXRvO1wiPlxyXG5cdFx0XHRcdDx1LS1mb3JtIHN0eWxlPVwiXCIgbGFiZWxQb3NpdGlvbj1cImxlZnRcIiA6bW9kZWw9XCJtb2RlbFwiIDpydWxlcz1cInJ1bGVzMlwiIHJlZj1cInVGb3JtXCI+XHJcblx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gbGFiZWw9XCLmlrDlop7ngrk6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtbnVtYmVyLWJveCB2LW1vZGVsPVwicG9pbnRudW1cIiA6bWluPVwiNFwiIEBjaGFuZ2U9XCJvbmNoYW5nZVwiPjwvdS1udW1iZXItYm94PlxyXG5cdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBwb2ludGxpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifngrknICsgKGluZGV4KzEpICsgJ+WdkOaghzonXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwicG9pbnRsaXN0W2luZGV4XSE9aW5kZXhcIiB2LW1vZGVsPVwicG9pbnRsaXN0W2luZGV4XVwiXHJcblx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOjQwMHJweFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHRcdFx0PHVuaS10b29sdGlwIDpjb250ZW50PVwicG9pbnRjb250ZW50XCIgcGxhY2VtZW50PVwidG9wXCIgc3R5bGU9XCJ3aWR0aDoxMDBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtaWY9XCJwb2ludGxpc3RbaW5kZXhdPT1pbmRleFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cInBvaW50ZGlzYWJsZWRcIiBzaXplPVwibWluaVwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaW5kZXgpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1idXR0b24gc3R5bGU9XCJ3aWR0aDoxMDBweFwiIHR5cGU9XCJwcmltYXJ5XCIgdi1lbHNlLWlmPVwicG9pbnRsaXN0W2luZGV4XT09JydcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ6ZGlzYWJsZWQ9XCJwb2ludGRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIiBAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGluZGV4KVwiPumHh+mbhuWdkOaghzwvdS1idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3UtLWZvcm0+XHJcblxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwhLS0gPHUtaWNvbiBuYW1lPVwiY2xvc2VcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogMTBweDt0b3A6MTBweFwiIEBjbGljaz1cImNsb3NlbW9kYWxcIj48L3UtaWNvbj4gLS0+XHJcblxyXG5cdFx0PC91LW1vZGFsPlxyXG5cclxuXHRcdDwhLS0gPC90bi1wb3B1cD4gLS0+XHJcblx0XHQ8IS0tIDx2aWV3IHYtc2hvdz1cImxvY2tndWlqaVwiXHJcblx0XHRcdHN0eWxlPVwiIHBvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiA5OTk5OTk5OTk5OTk5OTtiYWNrZ3JvdW5kLWNvbG9yOiAjY2FkMWZkO2JvdHRvbTogODBweDt3aWR0aDogODAlO2xlZnQ6IDE1JTtcIj5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxyXG5cclxuXHRcdFx0XHQ8c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtcIj7lvZPliY3vvJp7e2RxbnVtfX08L3NwYW4+XHJcblx0XHRcdFx0PHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHg7XCI+e3twbGFja1RpbWV9fTwvc3Bhbj5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XHJcblx0XHRcdFx0PHNwYW4+6YCf5bqm77yaPC9zcGFuPlxyXG5cdFx0XHRcdDx1bmktZGF0YS1zZWxlY3Qgc3R5bGU9XCJ3aWR0aDogNDAlO1wiIHBsYWNlaG9sZGVyPVwi6YCJ5oup6YCf5bqmXCIgdi1tb2RlbD1cIm1vZGVsLnN1ZHVcIiA6bG9jYWxkYXRhPVwicmFuZ2VcIlxyXG5cdFx0XHRcdFx0QGNoYW5nZT1cImNoYW5nZVwiPjwvdW5pLWRhdGEtc2VsZWN0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0PGRpdiBpZD1cIm1hcnMzZENvbnRhaW5lclwiIGNsYXNzPVwibWFyczNkLWNvbnRhaW5lclwiIDptYXJzc2V0PSdtYXJzc2V0JyA6Y2hhbmdlOm1hcnNzZXQ9XCJtYXJzM2QuZ2V0bWFyc0RhdGFcIlxyXG5cdFx0XHQ6YW1hcFBvaW50cz0nYW1hcFBvaW50cycgOmNoYW5nZTphbWFwUG9pbnRzPVwibWFyczNkLmdldERhdGFcIiA6dGhyZWVvcnR3bz0ndGhyZWVvcnR3bydcclxuXHRcdFx0OmNoYW5nZTp0aHJlZW9ydHdvPVwibWFyczNkLmdldDN3ZWlcIiA6YW1hcFBvaW50RGF0YT0nYW1hcFBvaW50RGF0YSdcclxuXHRcdFx0OmNoYW5nZTphbWFwUG9pbnREYXRhPVwibWFyczNkLmdldFBvaW50RGF0YVwiIDphbWFwbGRyYXdEYXRhPSdhbWFwbGRyYXdEYXRhJ1xyXG5cdFx0XHQ6Y2hhbmdlOmFtYXBsZHJhd0RhdGE9XCJtYXJzM2QuZ2V0RHJ3YURhdGFcIiA6YW1hcEZlbmNlUG9pbnRzPSdhbWFwRmVuY2VQb2ludHMnXHJcblx0XHRcdDpjaGFuZ2U6YW1hcEZlbmNlUG9pbnRzPVwibWFyczNkLmdldEZlbmNlRGF0YVwiIDphbWFwZGVGZW5jZVBvaW50cz0nYW1hcGRlRmVuY2VQb2ludHMnXHJcblx0XHRcdDpjaGFuZ2U6YW1hcGRlRmVuY2VQb2ludHM9XCJtYXJzM2QuZ2V0RmVuY2VEYXRhZGVcIiA6YW1hcEdQU1BvaW50cz0nYW1hcEdQU1BvaW50cydcclxuXHRcdFx0OmNoYW5nZTphbWFwR1BTUG9pbnRzPVwibWFyczNkLmdldGdwc0RhdGFcIiA6cG9pbnQ9J3BvaW50JyA6Y2hhbmdlOnBvaW50PVwibWFyczNkLmdldG1hcnNQb2ludFwiXHJcblx0XHRcdDpmZW5jZXBvc2l0aW9uPSdmZW5jZXBvc2l0aW9uJyA6Y2hhbmdlOmZlbmNlcG9zaXRpb249XCJtYXJzM2QuZ2V0bWFyc2ZlbmNlUG9pbnRcIj48L2Rpdj5cclxuXHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdFx0PCEtLSAjaWZuZGVmIEFQUC1QTFVTIHx8IEg1IC0tPlxyXG5cdFx0PCEtLSAjZW5kaWYgLS0+XHJcblx0XHQ8c3VjY2Vzc0NvbSByZWY9XCJyZWZTdWNjZXNzXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk5OTtcIj48L3N1Y2Nlc3NDb20+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCBzdWNjZXNzQ29tIGZyb20gJ0AvY29tcG9uZW50cy9zdWNjZXNzLnZ1ZSdcclxuXHRpbXBvcnQge1xyXG5cdFx0ZmluZHRhZ2lkLFxyXG5cdFx0ZmluZFdhcm5tZXMsXHJcblx0XHRzdWJtaXRwZXIsXHJcblx0XHRmaW5kYnVtZW4sXHJcblx0XHRhY3F1aXNpdGlvbixcclxuXHRcdGZpbmR0YWdJZFBlcnNvbixcclxuXHRcdGZpbmRCYWlEdUd1aUppLFxyXG5cdFx0ZmluZEFsbEZlbmNlLFxyXG5cdFx0Z2V0QmFzZUdQU0Nlc2l1bSxcclxuXHRcdGZpbmRQZXJzb24sXHJcblx0XHRNYXJzSG9tZSxcclxuXHRcdGdldEdQU0Nlc2l1bSxcclxuXHRcdGdldEdQU1xyXG5cdH0gZnJvbSAnQC9jb25maWcvYXBpLmpzJztcclxuXHJcblx0Ly8g6YC76L6R5bGCXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0Y29tcG9uZW50czoge1xyXG5cdFx0XHRzdWNjZXNzQ29tXHJcblx0XHR9LFxyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHR3YXJubGlzdDogW10sXHJcblx0XHRcdFx0d2FybmlkbGlzdDogW10sXHJcblx0XHRcdFx0bGFiZWxXaWR0aDogMTAwLFxyXG5cdFx0XHRcdHBvaW50bG9jazogZmFsc2UsIC8v6Lip54K56I635Y+W5pWw5o2u5byA5YWzXHJcblx0XHRcdFx0cG9pbnRjb250ZW50OiAnJyxcclxuXHRcdFx0XHRwb2ludGRpc2FibGVkOiBmYWxzZSxcclxuXHRcdFx0XHRwb2ludGxpc3Q6IFswLCAxLCAyLCAzXSxcclxuXHRcdFx0XHRwb2ludG51bTogNCxcclxuXHRcdFx0XHRwb2ludGRyYXdzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRlbmQ6IGZhbHNlLFxyXG5cdFx0XHRcdGxkcmF3c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0bGRyYXd0aXRsZTogJ+aTjeS9nOaPkOekujonLFxyXG5cdFx0XHRcdGxkcmF3Y29udGVudDogJ+ivt+aJi+aMgee7iOerr++8jOetieW+hVJUS+e7v+iJsuWQjuihjOi1sOS4uuS4gOS4qumXreWQiOWbtOagj+OAguWHhuWkh+WujOavleWQjueCueWHu+W8gOWni+e7mOWItu+8jOWujOaIkOWQjueCueWHu+e7k+adn+e7mOWIticsXHJcblxyXG5cdFx0XHRcdGlzcGVydGllczogdHJ1ZSxcclxuXHRcdFx0XHRkcmF3d2F5OiAn5omT54K557uY5Yi2JyxcclxuXHRcdFx0XHRjb250ZW50OiAn6K+35YWI6L6T5YWl57uI56uv57yW5Y+3JyxcclxuXHRcdFx0XHRkaXNhYmxlZDogdHJ1ZSxcclxuXHRcdFx0XHRzYXZlZmVuY2U6IGZhbHNlLFxyXG5cdFx0XHRcdGJ1bWVuTGlzdDogW10sXHJcblx0XHRcdFx0c2hvdzE6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3cyOiBmYWxzZSxcclxuXHRcdFx0XHR0eXBlTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+S/neaKpOWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfnpoHlhaXljLonXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5bel5L2c5Yy6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WuieWFqOWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHR3YXJubWVzTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WHuuWOu+WRiuitpidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfov5vlhaXlkYroraYnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5bel5L2c5Yy6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WuieWFqOWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRsaXN0OiBbXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdDAsIDFcclxuXHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdDIsIDNcclxuXHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdDQsIDVcclxuXHRcdFx0XHRcdF1cclxuXHRcdFx0XHRdLFxyXG5cclxuXHRcdFx0XHR6dW9iaWFvbGlzdDogW1xyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdC8vIGhlaWdodDE6JycsXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdCcnLCAnJywgJycsICcnXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdC8vIGhlaWdodDE6JycsXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdCcnLCAnJywgJycsICcnXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0Ly8gaGVpZ2h0MzonJyxcclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdHNhZ2xpc3Q6IFtcclxuXHRcdFx0XHRcdFtcclxuXHRcdFx0XHRcdFx0JycsICcnLCAnJywgJydcclxuXHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdCcnLCAnJywgJycsICcnXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHJcblx0XHRcdFx0XHQvLyBoZWlnaHQzOicnLFxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0Ly8gbGlzdDogW1xyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQwLCAxXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQyLCAzXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQ0LCA1XHJcblx0XHRcdFx0Ly8gXHRdXHJcblx0XHRcdFx0Ly8gXSxcclxuXHJcblx0XHRcdFx0Ly8genVvYmlhb2xpc3Q6IFtcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0JzFBJywgJzFCJywgJzEnLCcxMSdcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHQvLyBoZWlnaHQxOicnLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQnMkEnLCAnMkInLCAnMicsJzIyJ1xyXG5cdFx0XHRcdC8vIFx0XSxcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0JzNBJywgJzNCJywgJzMnLCczMydcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHQvLyBoZWlnaHQxOicnLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQnNEEnLCAnNEInLCAnNCcsJzQ0J1xyXG5cdFx0XHRcdC8vIFx0XSxcclxuXHRcdFx0XHQvLyBcdC8vIGhlaWdodDM6JycsXHJcblx0XHRcdFx0Ly8gXSxcclxuXHRcdFx0XHQvLyBzYWdsaXN0OiBbXHJcblx0XHRcdFx0Ly8gXHRbXHJcblx0XHRcdFx0Ly8gXHRcdCdINUEnLCAnSDVCJywgJzUnLCc1NSdcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHRbXHJcblx0XHRcdFx0Ly8gXHRcdCdINkEnLCAnSDZCJywgJzYnLCc2NidcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHRbXHJcblx0XHRcdFx0Ly8gXHRcdCdIN0EnLCAnSDdCJywgJzcnLCc3NydcclxuXHRcdFx0XHQvLyBcdF0sXHJcblxyXG5cdFx0XHRcdC8vIFx0Ly8gaGVpZ2h0MzonJyxcclxuXHRcdFx0XHQvLyBdLFxyXG5cdFx0XHRcdHRhbnVtOiAyLFxyXG5cdFx0XHRcdGNvbG9yMTogJyNlMmUyZTInLFxyXG5cdFx0XHRcdGNvbG9yMjogJyM4YjhiOGInLFxyXG5cdFx0XHRcdGNvbG9yNTogJyM4YjhiOGInLFxyXG5cdFx0XHRcdGNvbG9yMTA6ICcjOGI4YjhiJyxcclxuXHRcdFx0XHRjb2xvcjIwOiAnIzhiOGI4YicsXHJcblx0XHRcdFx0Y29sb3I1MDogJyM4YjhiOGInLFxyXG5cdFx0XHRcdGNvbG9yMTAwOiAnIzhiOGI4YicsXHJcblx0XHRcdFx0c3VkdTogJ3gxJyxcclxuXHRcdFx0XHRwbGFja1RpbWU6ICcnLFxyXG5cdFx0XHRcdGRxbnVtOiAnJyxcclxuXHRcdFx0XHRsb2NrZ3Vpamk6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3dub3RpZnk6IHRydWUsXHJcblx0XHRcdFx0Y2FuY2VsVGV4dDogJ+aaguWBnCcsXHJcblx0XHRcdFx0aXNSdW5uaW5nOiB0cnVlLFxyXG5cdFx0XHRcdHBsYWNrQ29udHJvbDogJycsXHJcblx0XHRcdFx0Y291bnROdW06IDAsXHJcblx0XHRcdFx0TG9jdXNEYXRhOiAnJyxcclxuXHRcdFx0XHQvLyBpc1BsYWNrOiBmYWxzZSxcclxuXHRcdFx0XHR2YWx1ZTogJycsXHJcblx0XHRcdFx0c3RhcnRkYXRldGltZTogJycsXHJcblx0XHRcdFx0c3RvcGRhdGV0aW1lOiAnJyxcclxuXHRcdFx0XHRyYW5nZUxldmVsOiBbe1xyXG5cdFx0XHRcdFx0dmFsdWU6ICcwLjk1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMTBrVigwLjk1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICcxLjA1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMjBrVigxLjA1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICcxLjE1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMzVrVigxLjE1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICcxLjRtJyxcclxuXHRcdFx0XHRcdHRleHQ6ICc2NmtWKDEuNG0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnMS42NW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzExMGtWKDEuNjVtKSdcclxuXHRcdFx0XHR9LCB7XHJcblx0XHRcdFx0XHR2YWx1ZTogJzIuNTVtJyxcclxuXHRcdFx0XHRcdHRleHQ6ICcyMjBrVigyLjU1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICczLjI1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMzMwa1YoMy4yNW0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnNC42Nm0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzUwMGtWKDQuNTVtKSdcclxuXHRcdFx0XHR9LCB7XHJcblx0XHRcdFx0XHR2YWx1ZTogJzYuNzBtJyxcclxuXHRcdFx0XHRcdHRleHQ6ICc3NTBrVig2LjcwbSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICc4LjI1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMTAwMGtWKDguMjVtKSdcclxuXHRcdFx0XHR9XSxcclxuXHRcdFx0XHRydWxlczI6IHtcclxuXHJcblx0XHRcdFx0XHQnbmFtZSc6IHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ3N0cmluZycsXHJcblx0XHRcdFx0XHRcdC8vIG1heDogMSxcclxuXHRcdFx0XHRcdFx0cmVxdWlyZWQ6IHRydWUsXHJcblx0XHRcdFx0XHRcdG1lc3NhZ2U6ICfor7floavlhpnlm7TmoI/lkI3np7AnLFxyXG5cdFx0XHRcdFx0XHR0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ11cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQnY29kZSc6IHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ3N0cmluZycsXHJcblx0XHRcdFx0XHRcdC8vIG1heDogMSxcclxuXHRcdFx0XHRcdFx0cmVxdWlyZWQ6IHRydWUsXHJcblx0XHRcdFx0XHRcdG1lc3NhZ2U6ICfor7floavlhpnnu4jnq6/nvJblj7cnLFxyXG5cdFx0XHRcdFx0XHR0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ11cclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdFx0J3R5cGUnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+36YCJ5oup5Zu05qCP57G75Z6LJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0J2RlcGFydG1lbnQnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+36YCJ5oup5YWz6IGU6YOo6ZeoJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0J2Rpc3RhbmNlJzoge1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnc3RyaW5nJyxcclxuXHRcdFx0XHRcdFx0Ly8gbWF4OiAxLFxyXG5cdFx0XHRcdFx0XHRyZXF1aXJlZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0bWVzc2FnZTogJ+ivt+Whq+WGmemihOitpui3neemuycsXHJcblx0XHRcdFx0XHRcdHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdCdub3dhcm5tZXMnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+35aGr5YaZ6aKE6K2m6K+t6Z+zJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0J3dhcm5tZXMnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+35aGr5YaZ5ZGK6K2m6K+t6Z+zJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0J2RpYW55YSc6IHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ3N0cmluZycsXHJcblx0XHRcdFx0XHRcdC8vIG1heDogMSxcclxuXHRcdFx0XHRcdFx0cmVxdWlyZWQ6IHRydWUsXHJcblx0XHRcdFx0XHRcdG1lc3NhZ2U6ICfor7floavlhpnnlLXljovnrYnnuqcnLFxyXG5cdFx0XHRcdFx0XHR0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ11cclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0cmFkaW9saXN0MjogW3tcclxuXHRcdFx0XHRcdFx0bmFtZTogJ+aJk+eCuee7mOWIticsXHJcblx0XHRcdFx0XHRcdGRpc2FibGVkOiB0cnVlXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRuYW1lOiAn6L+e57ut57uY5Yi2JyxcclxuXHRcdFx0XHRcdFx0ZGlzYWJsZWQ6IGZhbHNlXHJcblx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdC8vIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiAnNeWwj+aXticsXHJcblx0XHRcdFx0XHRcdC8vIFx0ZGlzYWJsZWQ6IGZhbHNlXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRyYWRpb2xpc3QxOiBbe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiAn6L6T55S15L2c5LiaJyxcclxuXHRcdFx0XHRcdFx0ZGlzYWJsZWQ6IGZhbHNlXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRuYW1lOiAn5Y+Y55S15L2c5LiaJyxcclxuXHRcdFx0XHRcdFx0ZGlzYWJsZWQ6IHRydWVcclxuXHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0Ly8ge1xyXG5cdFx0XHRcdFx0XHQvLyBcdG5hbWU6ICc15bCP5pe2JyxcclxuXHRcdFx0XHRcdFx0Ly8gXHRkaXNhYmxlZDogZmFsc2VcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdGJvU3RhcnQ6IDAsXHJcblx0XHRcdFx0Ly8gdS1yYWRpby1ncm91cOeahHYtbW9kZWznu5HlrprnmoTlgLzlpoLmnpzorr7nva7kuLrmn5DkuKpyYWRpb+eahG5hbWXvvIzlsLHkvJrooqvpu5jorqTpgInkuK1cclxuXHRcdFx0XHRyYWRpb3ZhbHVlMTogJycsXHJcblx0XHRcdFx0Y29kZTogJycsXHJcblx0XHRcdFx0aXNwbGF5OiBmYWxzZSxcclxuXHRcdFx0XHRkaWdhbzogJycsXHJcblx0XHRcdFx0bGF0bG9uOiAnJyxcclxuXHRcdFx0XHRtb2RlbDoge1xyXG5cdFx0XHRcdFx0cG9pbnRzOiAnJyxcclxuXHRcdFx0XHRcdGZlbmNlRmxvb3JIZTogJy0xJywgLy/lm7TmoI/lupXpq5hcclxuXHRcdFx0XHRcdGhlaWdodDogJycsIC8v5Zu05qCP6auYXHJcblx0XHRcdFx0XHRsaW5lSGVpZ2h0OiAnLTEnLCAvL+WvvOe6v+mrmFxyXG5cdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0cGVyQ29tcGFueTogJycsXHJcblx0XHRcdFx0XHRhZGRwZXJzb246IHRoaXMudXNlcm5hbWUsXHJcblx0XHRcdFx0XHQvLyAvLyB1c2VySW5mbzoge1xyXG5cdFx0XHRcdFx0bmFtZTogJycsXHJcblx0XHRcdFx0XHRqdWxpOiAnJyxcclxuXHRcdFx0XHRcdHR5cGU6ICcnLFxyXG5cdFx0XHRcdFx0ZGVwYXJ0bWVudDogJycsXHJcblx0XHRcdFx0XHRkaXN0YW5jZTogJzAnLFxyXG5cdFx0XHRcdFx0ZGlhbnlhOiAnJyxcclxuXHRcdFx0XHRcdC8vIGZlbmNldHlwZTonJywvL+WbtOagj+aAp+i0qFxyXG5cdFx0XHRcdFx0aXNwbGF5OiAnMCcsXHJcblx0XHRcdFx0XHRub3dhcm5tZXM6ICcnLFxyXG5cdFx0XHRcdFx0d2Fybm1lczogJycsXHJcblx0XHRcdFx0XHRmZW5jZXR5cGU6ICflj5jnlLXkvZzkuJonLFxyXG5cdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGRyYXdzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRjaGVja2VkOiBmYWxzZSxcclxuXHRcdFx0XHRndWlqaXNob3c6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3c6IGZhbHNlLFxyXG5cdFx0XHRcdGFtYXBzdWR1UG9pbnRzOiAwLFxyXG5cdFx0XHRcdGFtYXBlbmRHdWlqaVBvaW50czogJycsXHJcblx0XHRcdFx0YW1hcEd1aWppUG9pbnRzOiBbXSxcclxuXHRcdFx0XHRhbWFwRmVuY2VQb2ludHM6IFtdLFxyXG5cdFx0XHRcdGFtYXBkZUZlbmNlUG9pbnRzOiB7fSxcclxuXHRcdFx0XHRrZXl3b3JkOiAnJyxcclxuXHRcdFx0XHR0b3BoZWlnaHQ6IDU1LFxyXG5cdFx0XHRcdHRocmVlb3J0d286IFtdLFxyXG5cdFx0XHRcdGFtYXBQb2ludHM6IFtdLCAvLyDov5nlsLHmmK/miJHku6zpnIDopoHlkJHop4blm77lsYLkvKDpgJLnmoTmlbDmja5cclxuXHRcdFx0XHRhbWFwUG9pbnREYXRhOiBbXSwgLy8g6L+Z5bCx5piv5oiR5Lus6ZyA6KaB5ZCR6KeG5Zu+5bGC5Lyg6YCS55qE5pWw5o2uXHJcblx0XHRcdFx0YW1hcGxkcmF3RGF0YTogW10sXHJcblx0XHRcdFx0YW1hcEdQU1BvaW50czogW10sXHJcblx0XHRcdFx0bWFyc3NldDoge30sXHJcblx0XHRcdFx0cG9pbnQ6IHt9LFxyXG5cdFx0XHRcdGRyYXdsaXN0OiBbXSxcclxuXHRcdFx0XHRsb25naXR1ZGU6ICcnLFxyXG5cdFx0XHRcdGxhdGl0dWRlOiAnJyxcclxuXHRcdFx0XHRzaG93NDogZmFsc2UsXHJcblx0XHRcdFx0c2hvd3RhZ2lkOiBmYWxzZSxcclxuXHRcdFx0XHR0YWdpZGxpc3Q6IFtdLFxyXG5cdFx0XHRcdHRhZ29ubGllOiAnJyxcclxuXHRcdFx0XHRza2VsZXRvbkhlaWdodDogJycsXHJcblx0XHRcdFx0YnV0dG9uVG9wOiAwLCAvLyDmjInpkq7nmoQgdG9wIOS9jee9rlxyXG5cdFx0XHRcdGJ1dHRvbkxlZnQ6IDAgLy8g5oyJ6ZKu55qEIGxlZnQg5L2N572uXHJcblx0XHRcdH1cclxuXHJcblx0XHR9LFxyXG5cdFx0cHJvcHM6IHtcclxuXHRcdFx0ZmVuY2Vwb3NpdGlvbjoge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHQvLyBkZWZhdWx0OiA2MFxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdH0sXHJcblx0XHRtb3VudGVkKCkge1xyXG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLmZlbmNlcG9zaXRpb24pO1xyXG5cclxuXHRcdFx0dGhpcy5nZXRMb2NhdGlvbigpO1xyXG5cdFx0XHR0aGlzLndhcm5pZGxpc3QgPSBbXVxyXG5cdFx0XHR0aGlzLndhcm5saXN0ID0gW11cclxuXHRcdFx0dGhpcy5maW5kdGFnaWRhbGwoKTtcclxuXHRcdFx0dGhpcy5maW5kYnVtZW5hbGwoKTtcclxuXHRcdFx0dGhpcy5pbml0TWFwKCk7XHJcblx0XHRcdC8vIHRoaXMudXBkYXRlQnV0dG9uUG9zaXRpb24oKTsgLy8g5Yid5aeL5YyW5oyJ6ZKu5L2N572uXHJcblx0XHRcdC8vIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnVwZGF0ZUJ1dHRvblBvc2l0aW9uKTsgLy8g55uR5ZCs56qX5Y+j5aSn5bCP5Y+Y5YyWXHJcblx0XHRcdHRoaXMuJG5leHRUaWNrKCgpID0+IHtcclxuXHRcdFx0XHQvLyDojrflj5bns7vnu5/kv6Hmga9cclxuXHRcdFx0XHRjb25zdCBzeXN0ZW1JbmZvID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKClcclxuXHRcdFx0XHR0aGlzLnNrZWxldG9uSGVpZ2h0ID0gc3lzdGVtSW5mby5zYWZlQXJlYS5oZWlnaHRcclxuXHRcdFx0XHR0aGlzLmJ1dHRvblRvcCA9IHRoaXMuc2tlbGV0b25IZWlnaHQgLSAyMjQ7XHJcblxyXG5cdFx0XHRcdHRoaXMuYnV0dG9uTGVmdCA9IDE1O1xyXG5cdFx0XHRcdC8vIHRoaXMud2ViSGVpZ2h0ID0gdGhpcy5za2VsZXRvbkhlaWdodCAtIHRoaXMudGFiQmFySGVpZ2h0XHJcblxyXG5cdFx0XHRcdC8vIHRoaXMudnVleF9zdGF0dXNfYmFyX2hlaWdodCA9IHRoaXMud2ViSGVpZ2h0XHJcblx0XHRcdFx0Ly8gdGhpcy5jdXJyZW50SW5kZXggPSAyXHJcblx0XHRcdH0pXHJcblx0XHRcdHRoaXMudGhyZWVvcnR3by5wdXNoKHRoaXMuaXMzd2VpKVxyXG5cdFx0XHQvLyB0aGlzLmFtYXBQb2ludHMgPSBbXVxyXG5cdFx0XHQvLyB0aGlzLmFtYXBCYXNlUG9pbnRzID0gW11cclxuXHRcdFx0Ly8gdGhpcy5hbWFwRmVuY2VQb2ludHMgPSBbXVxyXG5cclxuXHRcdFx0Ly8gdGhpcy5hbWFwR3VpamlQb2ludHMgPSBbXVxyXG5cdFx0XHQvLyB0aGlzLmFtYXBlbmRHdWlqaVBvaW50cyA9ICcnXHJcblx0XHRcdHRoaXMudG9waGVpZ2h0ID0gdGhpcy52dWV4X2N1c3RvbV9iYXJfaGVpZ2h0ICsgMTVcclxuXHJcblxyXG5cclxuXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQvLyB1cGRhdGVCdXR0b25Qb3NpdGlvbigpIHtcclxuXHRcdFx0Ly8gXHRcdCAgICAgICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xyXG5cdFx0XHQvLyBcdFx0XHRcdGNvbnNvbGUubG9nKHdpbmRvd0hlaWdodCk7XHJcblx0XHRcdC8vIFx0XHQgICAgICAgIGNvbnN0IHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcblx0XHRcdC8vIFx0XHQgICAgICAgIHRoaXMuYnV0dG9uVG9wID0gd2luZG93SGVpZ2h0LTI3OSA7XHJcblx0XHRcdC8vIFx0XHQgICAgICAgIHRoaXMuYnV0dG9uTGVmdCA9IDE1O1xyXG5cdFx0XHQvLyBcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYnV0dG9uVG9wKTtcclxuXHRcdFx0Ly8gXHRcdCAgICAgIH0sXHJcblx0XHRcdGZpbmR0YWdpZGFsbCgpIHtcclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdFx0anVlc2U6IHVuaS5nZXRTdG9yYWdlU3luYygnanVlc2UnKSxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGZpbmR0YWdpZChwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudGFnaWRsaXN0ID0gcmVzLmRhdGEubWFwKGl0ZW0gPT4gKHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBpdGVtLm9ubGluZSxcclxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBpdGVtLnRhZ2lkXHJcblx0XHRcdFx0XHRcdFx0fSkpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0XHR0eHQ6IHJlcy5tc2dcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb25maXJtdGFnaWQoZSkge1xyXG5cdFx0XHRcdHRoaXMuY29kZSA9IGVbMF0ubGFiZWxcclxuXHRcdFx0XHQvLyB0aGlzLnRhZ29ubGllID0gZVswXS52YWx1ZVxyXG5cdFx0XHRcdHRoaXMuc2VhY2hjb2RlKClcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGNoYW5nZVJhbmdlTGV2ZWwoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUpO1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMubW9kZWwuanVsaSk7XHJcblx0XHRcdFx0dGhpcy5tb2RlbC5qdWxpID0gdGhpcy5yYW5nZUxldmVsW2VdLnRleHQ7XHJcblx0XHRcdFx0Ly8gaWYgKHRoaXMubW9kZWwuanVsaSAhPSAnJykge1xyXG5cdFx0XHRcdHRoaXMubW9kZWwuZGlhbnlhID0gdGhpcy5yYW5nZUxldmVsW2VdLnZhbHVlLnNwbGl0KFwibVwiKVswXVxyXG5cdFx0XHRcdC8vIH1cclxuXHRcdFx0XHQvLyB0aGlzLmRpYW55YSA9IGU7XHJcblx0XHRcdFx0Ly8gdGhpcy5tb2RlbC5kaWFueWEgPSBlLnNwbGl0KFwibVwiKVswXTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0TG9jYXRpb24oKSB7XHJcblx0XHRcdFx0dW5pLmdldExvY2F0aW9uKHtcclxuXHRcdFx0XHRcdHR5cGU6ICd3Z3M4NCcsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+W9k+WJjeS9jee9rueahOe7j+W6pu+8micgKyByZXMubG9uZ2l0dWRlKTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+W9k+WJjeS9jee9rueahOe6rOW6pu+8micgKyByZXMubGF0aXR1ZGUpO1xyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdG9uY2hhbmdlKGUpIHtcclxuXHRcdFx0XHR2YXIgbGlzdCA9IFtdXHJcblx0XHRcdFx0aWYgKHRoaXMucG9pbnRsaXN0Lmxlbmd0aCA8IGUudmFsdWUpIHtcclxuXHRcdFx0XHRcdGZvciAodmFyIGkgPSB0aGlzLnBvaW50bGlzdC5sZW5ndGg7IGkgPCBlLnZhbHVlOyBpKyspIHtcclxuXHJcblx0XHRcdFx0XHRcdGxpc3QucHVzaChpKVxyXG5cdFx0XHRcdFx0XHR0aGlzLnBvaW50bGlzdC5wdXNoKGkpXHJcblx0XHRcdFx0XHRcdC8vIGVbaV1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5wb2ludGxpc3Quc3BsaWNlKGUudmFsdWUsIHRoaXMucG9pbnRsaXN0Lmxlbmd0aCAtIGUudmFsdWUpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRyYWRpb0NoYW5nZShuKSB7XHJcblxyXG5cdFx0XHRcdGlmIChuID09ICflj5jnlLXkvZzkuJonKSB7XHJcblx0XHRcdFx0XHR0aGlzLmlzcGVydGllcyA9IHRydWVcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5pc3BlcnRpZXMgPSBmYWxzZVxyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHNlYWNoY29kZShlKSB7XHJcblx0XHRcdFx0dGhpcy5kcmF3bGlzdCA9IFtdXHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0aWQ6IHRoaXMuY29kZSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGZpbmR0YWdJZFBlcnNvbihwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5kYXRhICE9IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy50YWdvbmxpZSA9IHJlcy5kYXRhLm9ubGluZVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEuZ3Bzc3RhdHVzID09ICc0Jykge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZGlzYWJsZWQgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuY29udGVudCA9ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5wb2ludGNvbnRlbnQgPSAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZGlnYW8gPSByZXMuZGF0YS5oZWlnaHRcclxuXHRcdFx0XHRcdFx0XHQvLyB0aGlzLmVuZCA9IHRydWVcclxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5lbmQgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5tb2RlbC5wb2ludHMgKz0gcmVzLmRhdGEubGF0ICsgXCI6XCIgKyByZXMuZGF0YS5sb24gKyBcIjtcIlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZHJhd2xpc3QucHVzaChyZXMuZGF0YS5sYXQpXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmRyYXdsaXN0LnB1c2gocmVzLmRhdGEubG9uKVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwbGRyYXdEYXRhLnB1c2godGhpcy5kcmF3bGlzdClcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Ly8gaWYgKHRoaXMucG9pbnRsb2NrID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdHRoaXMuYW1hcFBvaW50RGF0YS5wdXNoKHJlcy5kYXRhKVxyXG5cclxuXHRcdFx0XHRcdFx0XHQvLyBcdHRoaXMucG9pbnRsb2NrID0gZmFsc2VcclxuXHRcdFx0XHRcdFx0XHQvLyB9XHJcblxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuY29udGVudCA9ICforr7lpIfpnZ7pq5jnsr4nXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kaXNhYmxlZCA9IHRydWVcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnBvaW50Y29udGVudCA9ICforr7lpIfpnZ7pq5jnsr4nXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZGlzYWJsZWQgPSB0cnVlXHJcblx0XHRcdFx0XHRcdHRoaXMuY29udGVudCA9ICfmnKrmkJzntKLliLDorr7lpIcnXHJcblx0XHRcdFx0XHRcdHRoaXMucG9pbnRjb250ZW50ID0gJ+acquaQnOe0ouWIsOiuvuWkhydcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0Ly8gXHQvLzXnp5Lmkq3mlL7kuIDmrKFcclxuXHRcdFx0XHRcdHRoaXMuc2VhY2hjb2RlKClcclxuXHRcdFx0XHR9LCAxMDAwKTtcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGlzb3BlbihlKSB7XHJcblx0XHRcdFx0aWYgKGUgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0dGhpcy5tb2RlbC5pc3BsYXkgPSAnMSdcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5tb2RlbC5pc3BsYXkgPSAnMCdcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGZpbmRidW1lbmFsbCgpIHtcclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdFx0anVlc2U6IHVuaS5nZXRTdG9yYWdlU3luYygnanVlc2UnKSxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGZpbmRidW1lbihwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYnVtZW5MaXN0ID0gcmVzLmRhdGEubWFwKGl0ZW0gPT4gKHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBpdGVtLm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHR0ZXh0OiBpdGVtLm5hbWVcclxuXHRcdFx0XHRcdFx0XHR9KSk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdHR4dDogcmVzLm1zZ1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdHR5cGVDYWxsYmFjayhpbmRleCkge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdHR5cGU6IHRoaXMudHlwZUxpc3RbaW5kZXhdLnRleHQsXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGZpbmRXYXJubWVzKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHQvLyBub3dhcm5tZXM6ICfpnaDov5HljbHpmanor7fms6jmhI8nLFxyXG5cdFx0XHRcdFx0XHQvLyB3YXJubWVzOiAn6L+b5YWl5Y2x6Zmp5Yy65Z+f6K+35rOo5oSPJyxcclxuXHRcdFx0XHRcdFx0Ly8gaWYgKHJlcy5kYXRhLnR5cGUgPT0gXCLlt6XkvZzljLpcIikge1xyXG5cdFx0XHRcdFx0XHQvLyBcdHRoaXMubW9kZWwubm93YXJubWVzID0gcmVzLmRhdGEubm93YXJubWVzICsgXCI7XCIgKyByZXMuZGF0YS5ub3dhcm5tZXN0eXBlXHJcblx0XHRcdFx0XHRcdC8vIFx0dGhpcy5tb2RlbC53YXJubWVzID0gcmVzLmRhdGEud2Fybm1lcyArIFwiO1wiICsgcmVzLmRhdGEud2Fybm1lc3R5cGVcclxuXHRcdFx0XHRcdFx0Ly8gfSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5tb2RlbC5ub3dhcm5tZXMgPSByZXMuZGF0YS5ub3dhcm5tZXNcclxuXHRcdFx0XHRcdFx0dGhpcy5tb2RlbC53YXJubWVzID0gcmVzLmRhdGEud2Fybm1lc1xyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHRoaXMubW9kZWwudHlwZSA9IHRoaXMudHlwZUxpc3RbaW5kZXhdLnRleHQ7XHJcblx0XHRcdH0sXHJcblx0XHRcdGJ5bWVuQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHR0aGlzLm1vZGVsLmRlcGFydG1lbnQgPSB0aGlzLmJ1bWVuTGlzdFtpbmRleF0udGV4dDtcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGFjcXVpc2l0aW9ueHkoaW5kZXgsIGksIG5hbWUpIHtcclxuXHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRiYW9saXUzOiB0aGlzLmNvZGUsXHJcblx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZyhwYXJhbXMpO1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGFjcXVpc2l0aW9uKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHRoaXMubW9kZWwuZmVuY2V0eXBlID09ICflj5jnlLXkvZzkuJonKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyB0aGlzLm1vZGVsLnBvaW50cyArPSByZXMuZGF0YS5sYXQgKyBcIjpcIiArIHJlcy5kYXRhLmxvbiArIFwiO1wiXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnBvaW50bGlzdC5zcGxpY2UoaW5kZXgsIDEsIHJlcy5kYXRhLmxhdCArIFwiOlwiICsgcmVzLmRhdGEubG9uKTtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMucG9pbnRsaXN0KTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuYW1hcFBvaW50RGF0YS5zcGxpY2UoaW5kZXgsIDEsIHJlcy5kYXRhKTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHRoaXMuYW1hcFBvaW50RGF0YS5wdXNoKHJlcy5kYXRhKVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gdGhpcy5hbWFwUG9pbnREYXRhID0gdGhpcy5wb2ludGxpc3RcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMucG9pbnRsb2NrID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhuYW1lKTtcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChuYW1lID09ICd6YicpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coaW5kZXgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhpKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy56dW9iaWFvbGlzdFtpbmRleCAtIDFdW2ldID0gcmVzLmRhdGEubGF0ICsgXCI6XCIgKyByZXMuZGF0YS5sb24gKyBcIjtcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnp1b2JpYW9saXN0W2luZGV4IC0gMV1bMl0gPSByZXMuZGF0YS5oZWlnaHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwUG9pbnREYXRhLnNwbGljZShpbmRleCArIGksIDEsIHJlcy5kYXRhKTtcclxuXHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuc2FnbGlzdFtpbmRleCAtIDFdW2ldID0gcmVzLmRhdGEubGF0ICsgXCI6XCIgKyByZXMuZGF0YS5sb24gKyBcIjtcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnNhZ2xpc3RbaW5kZXggLSAxXVsyXSA9IHJlcy5kYXRhLmhlaWdodFxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0XHR0eHQ6IHJlcy5tc2dcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0dmFsQ2hhbmdlKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygn5b2T5YmN5YC85Li6OiAnICsgZS52YWx1ZSlcclxuXHRcdFx0fSxcclxuXHRcdFx0aW5pdGxvY2soKSB7XHJcblx0XHRcdFx0dGhpcy5mZXRjaFBlcnNvbnNMaXN0KCk7XHJcblx0XHRcdFx0dGhpcy5mZXRjaEZlbmNlTGlzdCgpO1xyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0Y2xvc2Vtb2RhbCgpIHtcclxuXHRcdFx0XHR0aGlzLmRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2FuY2VsbW9kYWwoKSB7XHJcblx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdH0sXHJcblx0XHRcdGNhbmNlbHNhdmUoKSB7XHJcblx0XHRcdFx0dGhpcy5zYXZlZmVuY2UgPSBmYWxzZVxyXG5cdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdHNhdmUoKSB7XHJcblx0XHRcdFx0dGhpcy5tb2RlbC5jb21wYW55ID0gdGhpcy5jb21wYW55XHJcblx0XHRcdFx0dGhpcy5tb2RlbC5hZGRwZXJzb24gPSB0aGlzLnZ1ZXhfdXNlclxyXG5cdFx0XHRcdHRoaXMubW9kZWwucGVyQ29tcGFueSA9IHRoaXMuY29tcGFueVxyXG5cclxuXHJcblx0XHRcdFx0aWYgKHRoaXMubW9kZWwuZmVuY2V0eXBlID09ICfovpPnlLXkvZzkuJonKSB7XHJcblx0XHRcdFx0XHR0aGlzLm1vZGVsLnBvaW50cyA9IHRoaXMuenVvYmlhb2xpc3RcclxuXHRcdFx0XHRcdHZhciBoZWkgPSAnJ1xyXG5cdFx0XHRcdFx0bGV0IG51bSA9IHRoaXMudGFudW0gLSAxXHJcblx0XHRcdFx0XHRsZXQgcmVzdWx0ID0gJyc7XHJcblx0XHRcdFx0XHQvL+agueaNruWhlOaVsOW+queOr+afpeivouWhlOWSjOW8p+WegueahOWdkOagh0HmlbDmja7vvIzmoLnmja7nrKzkuIDmnaHloZTvvIznrKzkuozmnaHlvKflnoLmiormlbDmja7mi7zmjqXotbfmnaVcclxuXHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YW51bTsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdHJlc3VsdCArPSB0aGlzLnp1b2JpYW9saXN0W2ldWzBdO1xyXG5cdFx0XHRcdFx0XHRpZiAoaSA8IG51bSkge1xyXG5cdFx0XHRcdFx0XHRcdHJlc3VsdCArPSB0aGlzLnNhZ2xpc3RbaV1bMF07XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGhlaSArPSB0aGlzLnp1b2JpYW9saXN0W2ldWzJdICsgXCI6XCIgKyB0aGlzLnp1b2JpYW9saXN0W2ldWzNdICsgJzsnO1xyXG5cdFx0XHRcdFx0XHRpZiAoaSA8IG51bSkge1xyXG5cdFx0XHRcdFx0XHRcdGhlaSArPSB0aGlzLnNhZ2xpc3RbaV1bMl0gKyBcIjpcIiArIHRoaXMuc2FnbGlzdFtpXVszXSArICc7JztcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Ly8gaGVpICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bM107XHJcblx0XHRcdFx0XHRcdC8vIGlmIChpIDwgbnVtKSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0aGVpICs9IHRoaXMuc2FnbGlzdFtpXVszXTtcclxuXHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ly/ku47mnIDlkI7kuIDmnaHmn6Xor6LngrnkvY1C56ys5LiA5p2h5aGU77yM56ys5LqM5p2h5byn5Z6C5ou85o6l77yM5pyA5ZCO5oqK5Lik57uE5pWw5o2u5ou85o6l6LW35p2lXHJcblx0XHRcdFx0XHRmb3IgKGxldCBpID0gdGhpcy50YW51bSAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcblx0XHRcdFx0XHRcdHJlc3VsdCArPSB0aGlzLnp1b2JpYW9saXN0W2ldWzFdO1xyXG5cdFx0XHRcdFx0XHRpZiAoaSA+PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0cmVzdWx0ICs9IHRoaXMuc2FnbGlzdFtpIC0gMV1bMV07XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC8vIGhlaSArPSB0aGlzLnp1b2JpYW9saXN0W2ldWzJdO1xyXG5cdFx0XHRcdFx0XHQvLyBpZiAoaSA+PSAxKSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0aGVpICs9IHRoaXMuc2FnbGlzdFtpIC0gMV1bMl07XHJcblx0XHRcdFx0XHRcdC8vIH1cclxuXHJcblx0XHRcdFx0XHRcdGhlaSArPSB0aGlzLnp1b2JpYW9saXN0W2ldWzJdICsgXCI6XCIgKyB0aGlzLnp1b2JpYW9saXN0W2ldWzNdICsgJzsnO1xyXG5cdFx0XHRcdFx0XHRpZiAoaSA+PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0aGVpICs9IHRoaXMuc2FnbGlzdFtpIC0gMV1bMl0gKyBcIjpcIiArIHRoaXMuc2FnbGlzdFtpIC0gMV1bM10gKyAnOyc7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlc3VsdCk7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhoZWkpO1xyXG5cdFx0XHRcdFx0dGhpcy5tb2RlbC5wb2ludHMgPSByZXN1bHRcclxuXHRcdFx0XHRcdHRoaXMubW9kZWwubGluZUhlaWdodCA9IGhlaVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRsZXQgcmVzdWx0ID0gJyc7XHJcblx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMucG9pbnRsaXN0Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdHJlc3VsdCArPSB0aGlzLnBvaW50bGlzdFtpXSArIFwiO1wiXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLm1vZGVsLnBvaW50cyA9IHJlc3VsdFxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dGhpcy4kcmVmcy51Rm9ybS52YWxpZGF0ZSgpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdHVuaS4kdS50b2FzdCgn5qCh6aqM6YCa6L+HJylcclxuXHRcdFx0XHRcdHN1Ym1pdHBlcih0aGlzLm1vZGVsKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0XHR0eHQ6IFwi5L+d5a2Y5oiQ5YqfXCJcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zYXZlZmVuY2UgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYW1hcGxkcmF3RGF0YSA9IFtdXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwUG9pbnREYXRhID0gW11cclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHh0OiByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0Ly8gdGhpcy5zYXZlZmVuY2UgPSBmYWxzZVxyXG5cdFx0XHRcdH0pLmNhdGNoKGVycm9ycyA9PiB7XHJcblx0XHRcdFx0XHQvLyB1bmkuJHUudG9hc3QoJ+agoemqjOWksei0pScpXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQvLyB0aGlzLnNhdmVmZW5jZSA9IGZhbHNlXHJcblx0XHRcdH0sXHJcblxyXG5cclxuXHRcdFx0Zm9ybWF0RGF0ZShkYXRlKSB7XHJcblx0XHRcdFx0Y29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuXHRcdFx0XHRjb25zdCBtb250aCA9IFN0cmluZyhkYXRlLmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpOyAvLyDmnIjku73ku44gMCDlvIDlp4tcclxuXHRcdFx0XHRjb25zdCBkYXkgPSBTdHJpbmcoZGF0ZS5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcblx0XHRcdFx0Y29uc3QgaG91cnMgPSBTdHJpbmcoZGF0ZS5nZXRIb3VycygpKS5wYWRTdGFydCgyLCAnMCcpO1xyXG5cdFx0XHRcdGNvbnN0IG1pbnV0ZXMgPSBTdHJpbmcoZGF0ZS5nZXRNaW51dGVzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcblx0XHRcdFx0Y29uc3Qgc2Vjb25kcyA9IFN0cmluZyhkYXRlLmdldFNlY29uZHMoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuXHJcblx0XHRcdFx0cmV0dXJuIHllYXIgKyBcIi1cIiArIG1vbnRoICsgXCItXCIgKyBkYXkgKyBcIiBcIiArIGhvdXJzICsgXCI6XCIgKyBtaW51dGVzICsgXCI6XCIgKyBzZWNvbmRzO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0c3RhcnRkcmF3KCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLmNvZGUgPT0gJycpIHtcclxuXHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0dHh0OiAn6K+36L6T5YWl57uI56uv57yW5Y+3J1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdC8v6YCJ5oup5Y+Y55S15L2c5LiaXHJcblx0XHRcdFx0XHRpZiAodGhpcy5pc3BlcnRpZXMgPT0gZmFsc2UpIHtcclxuXHRcdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnRhbnVtOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy56dW9iaWFvbGlzdFtpXVswXSA9PSAnJyAmJiB0aGlzLnp1b2JpYW9saXN0W2ldWzFdID09ICcnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBsb2NrID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0eHQ6ICfor7flhYjmiZPngrknXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHRoaXMuenVvYmlhb2xpc3RbaV1bMl0gPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dHh0OiAn6K+36L6T5YWl5a+857q/6auYJ1xyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBsb2NrID0gZmFsc2VcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IHRydWVcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGlmICh0aGlzLmRyYXd3YXkgPT0gXCLov57nu63nu5jliLZcIikge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMubGRyYXdzaG93ID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucG9pbnRkcmF3c2hvdyA9IHRydWVcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGNhbmNlbHBvaW50KCkge1xyXG5cdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSB0cnVlXHJcblx0XHRcdFx0dGhpcy5wb2ludGRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0c2F2ZXBvaW50KCkge1xyXG5cdFx0XHRcdHRoaXMucG9pbnRkcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy5zYXZlZmVuY2UgPSB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdGZlbmNlSGUoKSB7XHJcblx0XHRcdFx0Ly/ojrflj5blm7TmoI/lupXpq5hcclxuXHRcdFx0XHR0aGlzLm1vZGVsLmZlbmNlRmxvb3JIZSA9IHRoaXMuZGlnYW9cclxuXHRcdFx0fSxcclxuXHRcdFx0ZW5kc2F2ZSgpIHtcclxuXHRcdFx0XHR0aGlzLmVuZCA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy5zYXZlZmVuY2UgPSB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdGxkcmF3Y2FuY2VsKCkge1xyXG5cdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSB0cnVlXHJcblx0XHRcdFx0dGhpcy5sZHJhd3Nob3cgPSBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0bGRyYXdjb25maXJtKCkge1xyXG5cclxuXHRcdFx0XHR0aGlzLmxkcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy5lbmQgPSB0cnVlXHJcblx0XHRcdFx0Ly8gdGhpcy5tb2RlbC5wb2ludHMgKz0gdGhpcy5sYXRsb25cclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hhbmdlKGUpIHtcclxuXHRcdFx0XHR0aGlzLmFtYXBzdWR1UG9pbnRzID0gZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRkcmF3KCkge1xyXG5cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luID09IHRydWUpIHtcclxuXHRcdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSB0cnVlXHJcblx0XHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IGZhbHNlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR6b29tKCkge1xyXG5cdFx0XHRcdHRoaXMuc2hvdyA9ICF0aGlzLnNob3dcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVjZWl2ZVJlbmRlckRhdGEodmFsKSB7XHJcblx0XHRcdFx0dGhpcy5mZXRjaFBlcnNvbnNMaXN0KCk7XHJcblx0XHRcdFx0dGhpcy51cGRhdGVUcmFqZWN0b3JpZXMoKTtcclxuXHRcdFx0XHR0aGlzLmZldGNoRmVuY2VMaXN0KCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNlYXJjaHhpbnhpKCkge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdG5hbWU6IHRoaXMua2V5d29yZCxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0ZmluZFBlcnNvbihwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdHZhciB0YXJnZXRQb2ludCA9IHt9XHJcblx0XHRcdFx0XHRcdFx0dGFyZ2V0UG9pbnQubGF0ID0gcmVzLmRhdGEubG9uXHJcblx0XHRcdFx0XHRcdFx0dGFyZ2V0UG9pbnQubG9uID0gcmVzLmRhdGEubGF0XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5wb2ludCA9IHRhcmdldFBvaW50XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdHR4dDogcmVzLm1zZ1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGxlTWFwQ2xpY2soZSkge1xyXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ21hcnMzZGMnLCBlKVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Z3VpamlDbGljayhlKSB7XHJcblx0XHRcdFx0dGhpcy5kcW51bSA9IGUuZHFudW1cclxuXHRcdFx0XHR0aGlzLnBsYWNrVGltZSA9IGUucGxhY2tUaW1lXHJcblx0XHRcdH0sXHJcblx0XHRcdGluaXRNYXAoKSB7XHJcblx0XHRcdFx0Ly8gaWYgKHRoaXMudnVleF9pc19sb2dpbikgeyBcclxuXHRcdFx0XHRNYXJzSG9tZSgpLnRoZW4oKHJlcCkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMubG9ubGF0ICE9ICcnKSB7XHJcblx0XHRcdFx0XHRcdHJlcC5kYXRhWzBdLm1hcHBvc2l0aW9uID0gdGhpcy5sb25sYXRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMubWFyc3NldCA9IHJlcC5kYXRhWzBdXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdH0sXHJcblx0XHRcdGZldGNoRmVuY2VMaXN0KCkge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGlmICh1bmkuZ2V0U3RvcmFnZVN5bmMoJ2lzZmVuY2UnKSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdGZpbmRBbGxGZW5jZShwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YSAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBmaWx0ZXJlZERhdGEgPSByZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLmlzcGxheSA9PT0gMCk7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZmlsdGVyZWREYXRhICE9IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwZGVGZW5jZVBvaW50cyA9IGZpbHRlcmVkRGF0YVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuYW1hcEZlbmNlUG9pbnRzLmxlbmd0aCA+IHJlcy5kYXRhLmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvL+W9k+acieWbtOagj+WIoOmZpOaXtuiwg+eUqOWcsOWbvuaKiuWbtOagj+WFqOmDqOWIoOmZpFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBtaXNzaW5nRGF0YSA9IHRoaXMuYW1hcEZlbmNlUG9pbnRzLmZpbHRlcihpdGVtMSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuICFyZXMuZGF0YS5zb21lKGl0ZW0yID0+IGl0ZW0yLmlkID09PSBpdGVtMS5pZCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBkZUZlbmNlUG9pbnRzID0gbWlzc2luZ0RhdGFcclxuXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBGZW5jZVBvaW50cyA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5hbWFwRmVuY2VQb2ludHMgPSBbXVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0dGhpcy5mZXRjaEZlbmNlTGlzdCgpO1xyXG5cdFx0XHRcdH0sIDUwMDApO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0ZmV0Y2hQZXJzb25zTGlzdCgpIHtcclxuXHRcdFx0XHR0aGlzLmFtYXBQb2ludHMgPSBbXVxyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGdldEdQU0Nlc2l1bShwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YSAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBQb2ludHMgPSByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCByZXMuZGF0YS5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyByZXMuZGF0YVtpXS5vbmxpbmU9PTFcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhW2ldLm9ubGluZSA9PSBcIjFcIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuenlzdGF0ZSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy53YXJubGlzdCApO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLnp5c3RhdGUgPT0gJ1NUQVJUJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKHJlcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0ud2FybnN0YXR1cyA9PSAnMScpLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRpZiAodGhpcy53YXJuaWRsaXN0LmluZGV4T2YocmVzLmRhdGFbaV0ud2FybnN0YXR1cz09JzEnKSA8IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdHRoaXMud2Fybmxpc3QucHVzaChyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLndhcm5zdGF0dXMgPT0gJzEnKVtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0XHQwXS50YWdpZCArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdFwi6L+b5YWl6aKE6K2m5Yy65Z+f6K+35rOo5oSPXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHR0aGlzLndhcm5pZGxpc3QucHVzaChyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLndhcm5zdGF0dXMgPT1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0JzEnKVswXS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHR9IGVsc2Uge1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdHRoaXMud2Fybmxpc3Quc3BsaWNlKHRoaXMud2FybmlkbGlzdC5pbmRleE9mKHJlcy5kYXRhLmZpbHRlcihcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0XHRcdGl0ZW0gPT4gaXRlbS53YXJuc3RhdHVzICE9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdFx0XHQnMScpWzBdIFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdC50YWdpZCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0dGhpcy53YXJuaWRsaXN0LnNwbGljZSh0aGlzLndhcm5pZGxpc3QuaW5kZXhPZihyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdGl0ZW0ud2FybnN0YXR1cyAhPVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdCcxJylbMF1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0LnRhZ2lkKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLndhcm5pZGxpc3QuaW5kZXhPZihyZXMuZGF0YVtpXS50YWdpZCkpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMud2FybmlkbGlzdC5pbmRleE9mKHJlcy5kYXRhW2ldLnRhZ2lkKSA8IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhW2ldLndhcm5zdGF0dXMgPT0gJzEnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJubGlzdC5wdXNoKHJlcy5kYXRhW2ldLnRhZ2lkICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwi6L+b5YWl6aKE6K2m5Yy65Z+f6K+35rOo5oSPXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRsaXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocmVzLmRhdGFbaV0uYmFvbGl1Mi5zcGxpdChcIjtcIilbMF0gPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2Fybmxpc3QucHVzaChyZXMuZGF0YVtpXS50YWdpZCArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcIui/m+WFpeemgeWFpeWMuuivt+azqOaEj1wiKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2FybmlkbGlzdC5wdXNoKHJlcy5kYXRhW2ldLnRhZ2lkKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5kYXRhW2ldLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzFdID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5saXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQgK1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCLotoXojIPlm7Tor7fms6jmhI9cIilcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5pZGxpc3QucHVzaChyZXMuZGF0YVtpXS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuZGF0YVtpXS5iYW9saXUyLnNwbGl0KFwiO1wiKVsyXSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJubGlzdC5wdXNoKHJlcy5kYXRhW2ldLnRhZ2lkICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwi6LaF6auY6K+35rOo5oSPXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRsaXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YVtpXS5iYW9saXUyLnNwbGl0KFwiO1wiKVswXSA9PSAxKSB7fSBlbHNlIGlmIChyZXMuZGF0YVtpXVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC5iYW9saXUyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LnNwbGl0KFwiO1wiKVsxXSA9PSAwKSB7fSBlbHNlIGlmIChyZXMuZGF0YVtpXS5iYW9saXUyLnNwbGl0KFwiO1wiKVtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDJdID09XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0MSkge30gZWxzZSBpZiAocmVzLmRhdGFbaV0ud2FybnN0YXR1cyA9PSAnMScpIHt9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2Fybmxpc3Quc3BsaWNlKHRoaXMud2FybmlkbGlzdC5pbmRleE9mKHJlcy5kYXRhW2ldLnRhZ2lkKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRsaXN0LnNwbGljZSh0aGlzLndhcm5pZGxpc3QuaW5kZXhPZihyZXMuZGF0YVtpXS50YWdpZCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQxKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9IFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBmaWx0ZXJlZERhdGEgPSByZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGl0ZW0ub25saW5lID09PSBcIjFcIiAmJiBpdGVtLmdwc3N0YXR1cyAhPT0gXCI0XCIgJiYgKFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXRlbVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LmJhb2xpdTEgPT09XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQn5omL5oyB5qCH562+JyB8fCBpdGVtLmJhb2xpdTEgPT09ICfovabovb3moIfnrb4nKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIOWwhuespuWQiOadoeS7tueahOaVsOaNrueahCB0YWdpZCDmt7vliqDliLAgdGhpcy53YXJuaWRsaXN0IOS4rVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmaWx0ZXJlZERhdGEuZm9yRWFjaChpdGVtID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAodGhpcy53YXJuaWRsaXN0LmluZGV4T2YoaXRlbS50YWdpZCkgPCAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5saXN0LnB1c2goaXRlbS50YWdpZCArIFwi6K6+5aSH6Z2e6auY57K+XCIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRsaXN0LnB1c2goaXRlbS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJubGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5pZGxpc3QgPSBbXVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0XHR0aGlzLmZldGNoUGVyc29uc0xpc3QoKTtcclxuXHRcdFx0XHRcdH0sIDUwMDApO1xyXG5cdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdHVwZGF0ZVRyYWplY3RvcmllcygpIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0XHRnZXRHUFMocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwR1BTUG9pbnRzID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8156eS5pKt5pS+5LiA5qyhXHJcblx0XHRcdFx0XHRcdHRoaXMudXBkYXRlVHJhamVjdG9yaWVzKCk7XHJcblx0XHRcdFx0XHR9LCAxMDAwKTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcbjwvc2NyaXB0PlxyXG48c2NyaXB0IG1vZHVsZT1cIm1hcnMzZFwiIGxhbmc9XCJyZW5kZXJqc1wiPlxyXG5cdGxldCBncmFwaGljTGF5ZXIgPSBudWxsO1xyXG5cdGxldCBncmFwaGljTGF5ZXJGZW5jZSA9IG51bGw7XHJcblx0bGV0IGdyYXBoaWNMYXllckZlbmNlQmlhbkppZSA9IG51bGw7XHJcblx0bGV0IGdyYXBoaWNMYXllckZlbmNlZHJ3YSA9IG51bGw7XHJcblx0dmFyIGNyZWRpdEh0bWwgPSAnJ1xyXG5cdHZhciBtYXBcclxuXHRsZXQgYWRkZWRDYXJJZHMgPSBuZXcgU2V0KCk7XHJcblx0bGV0IGFkZGVkQmFzZUlkcyA9IG5ldyBTZXQoKTtcclxuXHRsZXQgYWRkZWRGZW5jZUlkcyA9IG5ldyBTZXQoKTtcclxuXHR2YXIgTG9jdXNEYXRhO1xyXG5cdHZhciBMb2N1RGF0YTtcclxuXHR2YXIgY291bnROdW0gPSAwO1xyXG5cdHZhciBzdWR1cyA9IDEwMDA7XHJcblx0bGV0IGlzUnVubmluZyA9IHRydWU7IC8vIOagh+W/l+WPmOmHj++8jOeUqOS6juaOp+WItuaWueazleaYr+WQpue7p+e7reaJp+ihjFxyXG5cdHZhciBwYXJhbXM7XHJcblx0dmFyIHBsYWNrQ29udHJvbDtcclxuXHR2YXIgdGltZW91dElkO1xyXG5cdHZhciBpc1BsYWNrID0gdHJ1ZTtcclxuXHR2YXIgY2FyO1xyXG5cdHZhciBudW0gPSAwO1xyXG5cdHZhciBnbG9iYWxNYXAgPSBmYWxzZTtcclxuXHRpbXBvcnQge1xyXG5cdFx0bWFwT3B0aW9uc1xyXG5cdH0gZnJvbSAnLi9jb25maWcuanMnXHJcblx0aWYgKCFTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwpIHtcclxuXHRcdFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCA9IGZ1bmN0aW9uKHN0ciwgbmV3U3RyKSB7XHJcblx0XHRcdC8vIElmIGEgcmVnZXggcGF0dGVyblxyXG5cdFx0XHRpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHN0cikudG9Mb3dlckNhc2UoKSA9PT0gJ1tvYmplY3QgcmVnZXhwXScpIHtcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5yZXBsYWNlKHN0ciwgbmV3U3RyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyBJZiBhIHN0cmluZ1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5yZXBsYWNlKG5ldyBSZWdFeHAoc3RyLCAnZycpLCBuZXdTdHIpO1xyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0ZnBsb2NrOiBmYWxzZSxcclxuXHRcdFx0XHRmZW5jZXBsb2NrOiBmYWxzZSxcclxuXHRcdFx0XHRwbGlzdDogW10sXHJcblx0XHRcdFx0Y2FydGVzaWFuUG9pbnRzOiBbXSxcclxuXHRcdFx0XHRzdWR1czogMCxcclxuXHRcdFx0XHRib1N0YXJ0OiAwLFxyXG5cdFx0XHRcdGlzMmQ6IGZhbHNlLFxyXG5cdFx0XHRcdGRvdDogMTIzLFxyXG5cdFx0XHRcdGdyYXBoaWNMYWJlbHM6IHt9LFxyXG5cdFx0XHRcdGdyYXBoaWNMYWJlbHNpZHM6IHt9LFxyXG5cdFx0XHRcdGZlbmNlaWQ6ICcnLFxyXG5cdFx0XHRcdGZlbmNlaWRzOiAnJyxcclxuXHRcdFx0XHRncmFwaGljaWRzOiBbXSxcclxuXHRcdFx0XHRncmFwaGljRmVuY2U6IHt9LFxyXG5cdFx0XHRcdGxhYmVsczoge30sXHJcblx0XHRcdFx0bGlzdDoge30sXHJcblx0XHRcdFx0cGVybGlzdDoge30sXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRwcm9wczoge1xyXG5cdFx0XHRob21lbGF0OiB7XHJcblx0XHRcdFx0dHlwZTogTnVtYmVyLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRob21lbG5nOiB7XHJcblx0XHRcdFx0dHlwZTogTnVtYmVyLFxyXG5cdFx0XHR9LFxyXG5cdFx0fSxcclxuXHRcdG1vdW50ZWQoKSB7XHJcblx0XHRcdGFkZGVkQ2FySWRzID0gbmV3IFNldCgpO1xyXG5cdFx0XHRncmFwaGljTGF5ZXIgPSBudWxsXHJcblx0XHRcdHRoaXMubG9hZFNvdXJjZShbXHJcblxyXG5cdFx0XHRcdC8v55So5pys5Zyw5Zyw5Z2A77yM5bm25Y+v5Lul5a6Y572R5LiL6L295pyA5paw5YyF77yM5omL5Yqo6KaG55uW5LiL77yMaHR0cDovL21hcnMzZC5jbi9kb3dubG9hZC5odG1sXHJcblx0XHRcdFx0Ly8gXCJzdGF0aWMvbGliL0Nlc2l1bS9XaWRnZXRzL3dpZGdldHMuY3NzXCIsXHJcblx0XHRcdFx0Ly8gXCJzdGF0aWMvbGliL0Nlc2l1bS9DZXNpdW0uanNcIixcclxuXHRcdFx0XHQvLyBcInN0YXRpYy9saWIvbWFyczNkL21hcnMzZC5jc3NcIixcclxuXHRcdFx0XHQvLyBcInN0YXRpYy9saWIvbWFyczNkL21hcnMzZC5qc1wiLFxyXG5cdFx0XHRcdC8vIFwic3RhdGljL2Nzcy9zdHlsZS5jc3NcIiwgXHJcblxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy41Ni4xMTMuMjEzOjgwODAvaHh6a3V3Yi9Ib21lL2RlbW8vbGliL0Nlc2l1bS9XaWRnZXRzL3dpZGdldHMuY3NzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjU2LjExMy4yMTM6ODA4MC9oeHprdXdiL0hvbWUvZGVtby9saWIvQ2VzaXVtL0Nlc2l1bS5qc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy41Ni4xMTMuMjEzOjgwODAvaHh6a3V3Yi9Ib21lL2RlbW8vbGliL21hcnMzZC9tYXJzM2QuY3NzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjU2LjExMy4yMTM6ODA4MC9oeHprdXdiL0hvbWUvZGVtby9saWIvbWFyczNkL21hcnMzZC5qc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy41Ni4xMTMuMjEzOjgwODAvaHh6a3V3Yi9Ib21lL2pzLzNETW9YaW5nLmpzXCIsXHJcblx0XHRcdFx0XCJodHRwOi8vMzkuMTA2LjIxMC4xMzo4ODg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL0Nlc2l1bS9XaWRnZXRzL3dpZGdldHMuY3NzXCIsXHJcblx0XHRcdFx0XCJodHRwOi8vMzkuMTA2LjIxMC4xMzo4ODg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL0Nlc2l1bS9DZXNpdW0uanNcIixcclxuXHRcdFx0XHRcImh0dHA6Ly8zOS4xMDYuMjEwLjEzOjg4ODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvbWFyczNkL21hcnMzZC5jc3NcIixcclxuXHRcdFx0XHRcImh0dHA6Ly8zOS4xMDYuMjEwLjEzOjg4ODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvbWFyczNkL21hcnMzZC5qc1wiLFxyXG5cclxuXHRcdFx0XHQvLyBcImh0dHA6Ly8xMjMuMTE3LjE1Mi4xMjA6ODA4OC9oeHprdXdiL3ZpZXcvSG9tZS9kZW1vL2xpYi9DZXNpdW0vV2lkZ2V0cy93aWRnZXRzLmNzc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL0Nlc2l1bS9DZXNpdW0uanNcIixcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly8xMjMuMTE3LjE1Mi4xMjA6ODA4OC9oeHprdXdiL3ZpZXcvSG9tZS9kZW1vL2xpYi9tYXJzM2QvbWFyczNkLmNzc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL21hcnMzZC9tYXJzM2QuanNcIixcclxuXHRcdFx0XHQvL+eUqOWcqOe6v+WcsOWdgFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovL21hcnMzZC5jbi9saWIvQ2VzaXVtL1dpZGdldHMvd2lkZ2V0cy5jc3NcIixcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly9tYXJzM2QuY24vbGliL0Nlc2l1bS9DZXNpdW0uanNcIiwgXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vbWFyczNkLmNuL2xpYi9tYXJzM2QvbWFyczNkLmNzc1wiLCBcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly9tYXJzM2QuY24vbGliL21hcnMzZC9tYXJzM2QuanNcIixcclxuXHRcdFx0XHRcInN0YXRpYy9jc3Mvc3R5bGUuY3NzXCIsXHJcblx0XHRcdF0pLnRoZW4oKCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMucmV3cml0ZUNlc2l1bVNvdXJjZXMoQ2VzaXVtKTtcclxuXHRcdFx0XHQvLyBpZiAoZ2xvYmFsTWFwPT1mYWxzZSkge1xyXG5cdFx0XHRcdHRoaXMuY3JlYXRlTWFwKClcclxuXHRcdFx0XHQvLyB9XHJcblxyXG5cdFx0XHR9KVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Ly/liJvlu7rlnLDlm75cclxuXHRcdFx0Z2V0VGVycmFpblByb3ZpZGVyVmlld01vZGVsc0FycigpIHtcclxuXHRcdFx0XHRyZXR1cm4gW1xyXG5cdFx0XHRcdFx0bmV3IENlc2l1bS5Qcm92aWRlclZpZXdNb2RlbCh7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5peg5Zyw5b2iXCIsXHJcblx0XHRcdFx0XHRcdHRvb2x0aXA6IFwiV0dTODTmoIflh4bnkIPkvZNcIixcclxuXHRcdFx0XHRcdFx0aWNvblVybDogXCJzdGF0aWMvaW1nL2Jhc2VtYXBzL1RlcnJhaW5FbGxpcHNvaWQucG5nXCIsXHJcblx0XHRcdFx0XHRcdGNyZWF0aW9uRnVuY3Rpb246IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBtYXJzM2QuTGF5ZXJVdGlsLmdldE5vVGVycmFpblByb3ZpZGVyKClcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHRuZXcgQ2VzaXVtLlByb3ZpZGVyVmlld01vZGVsKHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCLkuK3lm73lnLDlvaJcIixcclxuXHRcdFx0XHRcdFx0dG9vbHRpcDogXCLnlLEg54Gr5pif56eR5oqAIOaPkOS+m+eahOS4reWbveWbveWGheWcsOW9olwiLFxyXG5cdFx0XHRcdFx0XHRpY29uVXJsOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvVGVycmFpblNUSy5wbmdcIixcclxuXHRcdFx0XHRcdFx0Y3JlYXRpb25GdW5jdGlvbjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIG1hcnMzZC5MYXllclV0aWwuY3JlYXRlVGVycmFpblByb3ZpZGVyKHtcclxuXHRcdFx0XHRcdFx0XHRcdHVybDogXCJodHRwOi8vZGF0YS5tYXJzM2QuY24vdGVycmFpblwiXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHRuZXcgQ2VzaXVtLlByb3ZpZGVyVmlld01vZGVsKHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCJBcmNHSVPlnLDlvaJcIixcclxuXHRcdFx0XHRcdFx0dG9vbHRpcDogXCLnlLEg54Gr5pif56eR5oqAIOaPkOS+m+eahOS4reWbveWbveWGheWcsOW9olwiLFxyXG5cdFx0XHRcdFx0XHRpY29uVXJsOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvVGVycmFpblNUSy5wbmdcIixcclxuXHRcdFx0XHRcdFx0Y3JlYXRpb25GdW5jdGlvbjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIG1hcnMzZC5MYXllclV0aWwuY3JlYXRlVGVycmFpblByb3ZpZGVyKHtcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiYXJjZ2lzXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiaHR0cHM6Ly9lbGV2YXRpb24zZC5hcmNnaXMuY29tL2FyY2dpcy9yZXN0L3NlcnZpY2VzL1dvcmxkRWxldmF0aW9uM0QvVGVycmFpbjNEL0ltYWdlU2VydmVyXCJcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdG5ldyBDZXNpdW0uUHJvdmlkZXJWaWV3TW9kZWwoe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuWFqOeQg+WcsOW9olwiLFxyXG5cdFx0XHRcdFx0XHR0b29sdGlwOiBcIueUsSBDZXNpdW3lrpjmlrkg5o+Q5L6b55qE6auY5YiG6L6o546H5YWo55CD5Zyw5b2iXCIsXHJcblx0XHRcdFx0XHRcdGljb25Vcmw6IFwic3RhdGljL2ltZy9iYXNlbWFwcy9UZXJyYWluU1RLLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRjcmVhdGlvbkZ1bmN0aW9uOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gbWFyczNkLkxheWVyVXRpbC5jcmVhdGVUZXJyYWluUHJvdmlkZXIoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJpb25cIixcclxuXHRcdFx0XHRcdFx0XHRcdHJlcXVlc3RXYXRlck1hc2s6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRyZXF1ZXN0VmVydGV4Tm9ybWFsczogdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRtYXJzRGF0YShuZXdWYWx1ZSkge1xyXG5cdFx0XHRcdHRoaXMubGlzdCA9IG5ld1ZhbHVlXHJcblx0XHRcdH0sXHJcblx0XHRcdGdldDN3ZWkobmV3VmFsdWUpIHtcclxuXHRcdFx0XHR0aGlzLmlzMmQgPSBuZXdWYWx1ZVswXVxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/liJvlu7rlnLDlm75cclxuXHRcdFx0Y3JlYXRlTWFwKCkge1xyXG5cdFx0XHRcdGlmIChPYmplY3Qua2V5cyh0aGlzLmxpc3QpLmxlbmd0aCA9PSAwKSB7IC8v5YiH5o2i6aG16Z2i5pyJ5pe25Lya5Zug5Li6Z2V0bWFyc0RhdGHvvIjvvInlnKhjcmVhdGVNYXAoKeS5i+WQjuaJp+ihjO+8jOWvvOiHtOatpOaWueazleayoeacieWOn+Wni+WumuS9jeaVsOaNruaKpemUmVxyXG5cdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0XHR0aGlzLmNyZWF0ZU1hcCgpXHJcblx0XHRcdFx0XHR9LCAxMDApO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRsZXQgbWFwUG9zaXRpb25sYXQ7XHJcblx0XHRcdFx0XHRsZXQgbWFwUG9zaXRpb25sbmc7XHJcblx0XHRcdFx0XHRsZXQgbWFwUG9zaXRpb25hbHQ7XHJcblx0XHRcdFx0XHRsZXQgbWFwUG9zaXRpb25oZWFkaW5nO1xyXG5cdFx0XHRcdFx0bGV0IG1hcFBvc2l0aW9ucGl0Y2g7XHJcblx0XHRcdFx0XHRtYXBQb3NpdGlvbmxhdCA9IHRoaXMubGlzdC5tYXBwb3NpdGlvbi5zcGxpdCgnLCcpWzFdO1xyXG5cdFx0XHRcdFx0bWFwUG9zaXRpb25sbmcgPSB0aGlzLmxpc3QubWFwcG9zaXRpb24uc3BsaXQoJywnKVswXTtcclxuXHRcdFx0XHRcdG1hcFBvc2l0aW9uYWx0ID0gdGhpcy5saXN0LmFsdDtcclxuXHRcdFx0XHRcdG1hcFBvc2l0aW9uaGVhZGluZyA9IHRoaXMubGlzdC5oZWFkaW5nO1xyXG5cdFx0XHRcdFx0bWFwUG9zaXRpb25waXRjaCA9IHRoaXMubGlzdC5waXRjaDtcclxuXHRcdFx0XHRcdGNvbnN0IENlc2l1bSA9IG1hcnMzZC5DZXNpdW07XHJcblx0XHRcdFx0XHRtYXAgPSBuZXcgbWFyczNkLk1hcCgnbWFyczNkQ29udGFpbmVyJywge1xyXG5cdFx0XHRcdFx0XHRzY2VuZToge1xyXG5cdFx0XHRcdFx0XHRcdGNlbnRlcjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gbGF0OiAzOC40NDM3MjksXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBsbmc6IDM4LjQ0MzcyOSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGFsdDogMjAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gaGVhZGluZzogMCxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHBpdGNoOiAwLFxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGxhdDogbWFwUG9zaXRpb25sYXQsXHJcblx0XHRcdFx0XHRcdFx0XHRsbmc6IG1hcFBvc2l0aW9ubG5nLFxyXG5cdFx0XHRcdFx0XHRcdFx0YWx0OiBtYXBQb3NpdGlvbmFsdCxcclxuXHRcdFx0XHRcdFx0XHRcdGhlYWRpbmc6IDAsXHJcblx0XHRcdFx0XHRcdFx0XHRwaXRjaDogMFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0Ly8gY2VudGVyOiB7IGxhdDogbWFwUG9zaXRpb25bMV0sIGxuZzogbWFwUG9zaXRpb25bMF0sIGFsdDogSG9tZVNldHRpbmcuYWx0LCBoZWFkaW5nOiBIb21lU2V0dGluZy5oZWFkaW5nLCBwaXRjaDogSG9tZVNldHRpbmcucGl0Y2ggfSxcclxuXHRcdFx0XHRcdFx0XHRzaG93U2t5QXRtb3NwaGVyZTogZmFsc2UsIC8vIOWFs+mXreeQg+WRqOi+ueeahOeZveiJsui9ruW7kyBtYXAuc2NlbmUuc2t5QXRtb3NwaGVyZSA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0Zm9nOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdGZ4YWE6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0Z2xvYmU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdHNob3dHcm91bmRBdG1vc3BoZXJlOiBmYWxzZSwgLy8g5YWz6Zet5aSn5rCU77yI55CD6KGo6Z2i55m96JKZ6JKZ55qE5pWI5p6c77yJXHJcblx0XHRcdFx0XHRcdFx0XHRkZXB0aFRlc3RBZ2FpbnN0VGVycmFpbjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0XHRiYXNlQ29sb3I6IFwiIzU0NmE1M1wiXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHQvLyB0ZXJyYWluOiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gICAgIHVybDogXCJodHRwOi8vZGF0YS5tYXJzM2QuY24vdGVycmFpblwiLFxyXG5cdFx0XHRcdFx0XHRcdC8vICAgICBzaG93OiB0cnVlXHJcblx0XHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0XHRjYW1lcmFDb250cm9sbGVyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHR6b29tRmFjdG9yOiAxMC4wLFxyXG5cdFx0XHRcdFx0XHRcdFx0dG91Y2hab29tRmFjdG9yOiAxMC4wLCAvLyDop6bmkbjnvKnmlL7ngbXmlY/luqbvvIjkuI7pvKDmoIfmu5rova7lkIzmraXvvIlcclxuXHRcdFx0XHRcdFx0XHRcdHpvb21BbmltYXRpb246IHRydWUsIC8vIOWQr+eUqOe8qeaUvuWKqOeUu1xyXG5cdFx0XHRcdFx0XHRcdFx0em9vbUFuaW1hdGlvblRpbWU6IDAuMywgLy8g5Yqo55S75oyB57ut5pe26Ze077yI56eS77yJLFxyXG5cdFx0XHRcdFx0XHRcdFx0bWluaW11bVpvb21EaXN0YW5jZTogMSxcclxuXHRcdFx0XHRcdFx0XHRcdG1heGltdW1ab29tRGlzdGFuY2U6IDUwMDAwMDAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZW5hYmxlUm90YXRlOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZW5hYmxlWm9vbTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdGVuYWJsZUNvbnRpbnVvdXNab29tOiB0cnVlLCAvLyDlkK/nlKjmg6/mgKfmu5rliqjvvIjlj6/pgInvvIlcclxuXHRcdFx0XHRcdFx0XHRcdHpvb21BbmltYXRpb25UaW1lOiAwLjEsIC8vIOWKqOeUu+aXtumXtO+8iOe8qeefreWPr+WKoOW/q+WTjeW6lO+8iVxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0bWFwUHJvamVjdGlvbjogbWFyczNkLkNSUy5FUFNHMzg1NywgLy8gMkTkuIvlsZXnpLrloqjljaHmiZjmipXlvbFcclxuXHRcdFx0XHRcdFx0XHRtYXBNb2RlMkQ6IENlc2l1bS5NYXBNb2RlMkQuSU5GSU5JVEVfU0NST0xMLCAvLyAyROS4i+W3puWPs+S4gOebtOWPr+S7pea7muWKqOmHjeWkjeS4lueVjOWcsOWbvlxyXG5cdFx0XHRcdFx0XHRcdHNreUJveDoge1xyXG5cdFx0XHRcdFx0XHRcdFx0c291cmNlczoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVg6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci9xaW5ndGlhbi9yaWdodGF2OS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmVnYXRpdmVYOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvcWluZ3RpYW4vbGVmdGF2OS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVZOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvcWluZ3RpYW4vZnJvbnRhdjkuanBnXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWTogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3Fpbmd0aWFuL2JhY2thdjkuanBnXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aXZlWjogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3Fpbmd0aWFuL3RvcGF2OS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmVnYXRpdmVaOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvcWluZ3RpYW4vYm90dG9tYXY5LmpwZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0c291cmNlczI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVYOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvd2FueGlhL1N1blNldFJpZ2h0LnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVg6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0TGVmdC5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVZOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvd2FueGlhL1N1blNldEZyb250LnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVk6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0QmFjay5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVaOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvd2FueGlhL1N1blNldFVwLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVo6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0RG93bi5wbmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdHNvdXJjZXMzOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWDogXCJzdGF0aWMvaW1nL3NreWJveC8yL3R5Y2hvMnQzXzgwX214LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVk6IFwic3RhdGljL2ltZy9za3lib3gvMi90eWNobzJ0M184MF9teS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmVnYXRpdmVaOiBcInN0YXRpYy9pbWcvc2t5Ym94LzIvdHljaG8ydDNfODBfbXouanBnXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aXZlWDogXCJzdGF0aWMvaW1nL3NreWJveC8yL3R5Y2hvMnQzXzgwX3B4LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVk6IFwic3RhdGljL2ltZy9za3lib3gvMi90eWNobzJ0M184MF9weS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVaOiBcInN0YXRpYy9pbWcvc2t5Ym94LzIvdHljaG8ydDNfODBfcHouanBnXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdC8vIHNjZW5lTW9kZTogdGhpcy5pczJkIC8vIOiuvue9ruWIneWni+WcuuaZr+aooeW8j+S4ujJEXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdHRlcnJhaW46IGZhbHNlLCAvLyDlhbPpl63lnLDlvaLnqbrpl7RcclxuXHRcdFx0XHRcdFx0Ly8gdGVycmFpbjoge1xyXG5cdFx0XHRcdFx0XHQvLyBcdHVybDogXCJodHRwOi8vZGF0YS5tYXJzM2QuY24vdGVycmFpblwiLFxyXG5cdFx0XHRcdFx0XHQvLyBcdHNob3c6IHRydWVcclxuXHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0Y29udHJvbDoge1xyXG5cdFx0XHRcdFx0XHRcdC8vIGdlb2NvZGVyOnRydWUsXHJcblx0XHRcdFx0XHRcdFx0bW91c2VEb3duVmlldzogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRjbG9ja0FuaW1hdGU6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdHRpbWVsaW5lOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRjb21wYXNzOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRuYXZpZ2F0aW9uSGVscEJ1dHRvbjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0ZnVsbHNjcmVlbkJ1dHRvbjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0aG9tZUJ1dHRvbjogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRsb2NhdGlvbkJhcjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0em9vbTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRzY2VuZU1vZGVQaWNrZXI6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdGJhc2VMYXllclBpY2tlcjogdHJ1ZSwgLy8g5piv5ZCm5pi+56S65Zu+5bGC6YCJ5oup5o6n5Lu2XHJcblx0XHRcdFx0XHRcdFx0dGVycmFpblByb3ZpZGVyVmlld01vZGVsczogdGhpc1xyXG5cdFx0XHRcdFx0XHRcdFx0LmdldFRlcnJhaW5Qcm92aWRlclZpZXdNb2RlbHNBcnIoKSAvLyDoh6piYXNlTGF5ZXJQaWNrZXLpnaLmnb/nmoTlnLDlvaLlj6/pgInmlbDnu4RcclxuXHRcdFx0XHRcdFx0fSxcclxuXHJcblx0XHRcdFx0XHRcdGJhc2VtYXBzOiBbe1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiBcIuWkqeWcsOWbvuW9seWDj1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvdGR0X2ltZy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0dHlwZTogXCJ0ZHRcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0bGF5ZXI6IFwiaW1nX2RcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0a2V5OiBtYXJzM2QuVG9rZW4udGlhbmRpdHVBcnIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHNob3c6IGZhbHNlLCAvLyDlhbPpl63lpKnlnLDlm77lvbHlg49cclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Y3JlZGl0OiBjcmVkaXRIdG1sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiBcIuWkqeWcsOWbvueUteWtkFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvdGR0X3ZlYy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0dHlwZTogXCJncm91cFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRsYXllcnM6IFt7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRuYW1lOiBcIuW6leWbvlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0dHlwZTogXCJ0ZHRcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdGxheWVyOiBcInZlY19kXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRrZXk6IG1hcnMzZC5Ub2tlbi50aWFuZGl0dUFyclxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0bmFtZTogXCLms6jorrBcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdHR5cGU6IFwidGR0XCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRsYXllcjogXCJ2ZWNfelwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0a2V5OiBtYXJzM2QuVG9rZW4udGlhbmRpdHVBcnJcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHNob3c6IGZhbHNlLCAvLyDlhbPpl63lpKnlnLDlm77nlLXlrZBcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Y3JlZGl0OiBjcmVkaXRIdG1sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8ge1xyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLpq5jlvrflvbHlg49cIixcclxuXHRcdFx0XHRcdFx0XHRcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9nYW9kZV9pbWcucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImdyb3VwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRsYXllcnM6IFt7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLlupXlm75cIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImdhb2RlXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGF5ZXI6IFwiaW1nX2RcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLms6jorrBcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImdhb2RlXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGF5ZXI6IFwiaW1nX3pcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2hvdzogZmFsc2UsIC8vIOWFs+mXremrmOW+t+W9seWDj1xyXG5cdFx0XHRcdFx0XHRcdFx0Y3JlZGl0OiBjcmVkaXRIdG1sXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIumrmOW+t+eUteWtkFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJzdGF0aWMvaW1nL2Jhc2VtYXBzL2dhb2RlX3ZlYy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiZ2FvZGVcIixcclxuXHRcdFx0XHRcdFx0XHRcdGxheWVyOiBcInZlY1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2hvdzogdHJ1ZSwgLy8g6buY6K6k5pi+56S66auY5b6355S15a2Q5Zyw5Zu+XHJcblx0XHRcdFx0XHRcdFx0XHRjcmVkaXQ6IGNyZWRpdEh0bWxcclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwi55m+5bqm5b2x5YOPXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvZ2FvZGVfaW1nLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJncm91cFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0bGF5ZXJzOiBbe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwi5bqV5Zu+XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJiYWlkdVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxheWVyOiBcImltZ19kXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwi5rOo6K6wXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJiYWlkdVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxheWVyOiBcImltZ196XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdFx0XHRcdHNob3c6IGZhbHNlLCAvLyDlhbPpl63nmb7luqblvbHlg49cclxuXHRcdFx0XHRcdFx0XHRcdGNyZWRpdDogY3JlZGl0SHRtbFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLnmb7luqbnlLXlrZBcIixcclxuXHRcdFx0XHRcdFx0XHRcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9nYW9kZV92ZWMucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImJhaWR1XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRsYXllcjogXCJ2ZWNcIixcclxuXHRcdFx0XHRcdFx0XHRcdHNob3c6IGZhbHNlLCAvLyDlhbPpl63nmb7luqbnlLXlrZBcclxuXHRcdFx0XHRcdFx0XHRcdGNyZWRpdDogY3JlZGl0SHRtbFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiBcIuiwt+atjOW9seWDj1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvZ29vZ2xlX2ltZy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0dHlwZTogXCJnb29nbGVcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0bGF5ZXI6IFwiaW1nX2RcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Y2hpbmFDUlM6IG1hcnMzZC5DaGluYUNSUy5HQ0owMixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0c2hvdzogZmFsc2UgLy8g5YWz6Zet6LC35q2M5b2x5YOPXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiBcIuiwt+atjOeUteWtkFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvZ29vZ2xlX3ZlYy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0dHlwZTogXCJnb29nbGVcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0bGF5ZXI6IFwidmVjXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGNoaW5hQ1JTOiBtYXJzM2QuQ2hpbmFDUlMuR0NKMDIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHNob3c6IGZhbHNlIC8vIOWFs+mXreiwt+atjOeUteWtkFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHtcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwiQXJjR0lT5b2x5YOPXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvZXNyaVdvcmxkSW1hZ2VyeS5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiYXJjZ2lzXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRsYXllcjogXCJpbWdfZFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZW5hYmxlUGlja0ZlYXR1cmVzOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdHNob3c6IGZhbHNlIC8vIOWFs+mXrSBBcmNHSVMg5b2x5YOPXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRdXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdC8vIGNvbnN0IHRvb2xiYXIgPSBuZXcgbWFyczNkLmNvbnRyb2wuZ2VvY29kZXIoe1xyXG5cdFx0XHRcdFx0Ly8gICAgIHBvc2l0aW9uOiB7IHRvcDogXCIxMHB4XCIsIGxlZnQ6IFwiMTBweFwiIH0sIC8vIOaMiemSruS9jee9rlxyXG5cdFx0XHRcdFx0Ly8gICAgIGl0ZW1zOiBbXHJcblx0XHRcdFx0XHQvLyAgICAgICB7XHJcblx0XHRcdFx0XHQvLyAgICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXHJcblx0XHRcdFx0XHQvLyAgICAgICAgIHRleHQ6IFwi5pCc57SiXCIsXHJcblx0XHRcdFx0XHQvLyAgICAgICAgIGljb246IFwiZmEgZmEtc2VhcmNoXCIsIC8vIOS9v+eUqCBGb250IEF3ZXNvbWUg5Zu+5qCHXHJcblx0XHRcdFx0XHQvLyAgICAgICAgIGFjdGlvbjogKCkgPT4ge1xyXG5cdFx0XHRcdFx0Ly8gICAgICAgICAgIC8vIHRoaXMuJHJlZnMuc2VhcmNoQm94LnNob3coKTsgLy8g6LCD55So5pCc57Si5qGG55qE5pi+56S65pa55rOVXHJcblx0XHRcdFx0XHQvLyAgICAgICAgIH1cclxuXHRcdFx0XHRcdC8vICAgICAgIH1cclxuXHRcdFx0XHRcdC8vICAgICBdXHJcblx0XHRcdFx0XHQvLyAgIH0pO1xyXG5cdFx0XHRcdFx0Ly8gICBtYXAuYWRkQ29udHJvbCh0b29sYmFyKTtcclxuXHJcblx0XHRcdFx0XHRpZiAodGhpcy5pczJkID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0bWFwLnNjZW5lLm1vcnBoVG8zRCgwKTtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdG1hcC5zY2VuZS5tb3JwaFRvMkQoMCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvLyDliJvlu7rnn6Lph4/mlbDmja7lm77lsYJcclxuXHRcdFx0XHRcdGdyYXBoaWNMYXllciA9IG5ldyBtYXJzM2QubGF5ZXIuR3JhcGhpY0xheWVyKHtcclxuXHRcdFx0XHRcdFx0YWxsb3dEcmlsbFBpY2s6IHRydWUgLy8g5aaC5p6c5a2Y5Zyo5Z2Q5qCH5a6M5YWo55u45ZCM55qE5Zu+5qCH54K577yM5Y+v5Lul5omT5byA6K+l5bGe5oCn77yMY2xpY2vkuovku7bpgJrov4dncmFwaGljc+WIpOaWrVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlZHJ3YSA9IG5ldyBtYXJzM2QubGF5ZXIuR3JhcGhpY0xheWVyKClcclxuXHRcdFx0XHRcdG1hcC5hZGRMYXllcihncmFwaGljTGF5ZXJGZW5jZWRyd2EpXHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZUJpYW5KaWUgPSBuZXcgbWFyczNkLmxheWVyLkdyYXBoaWNMYXllcigpXHJcblx0XHRcdFx0XHRtYXAuYWRkTGF5ZXIoZ3JhcGhpY0xheWVyRmVuY2VCaWFuSmllKVxyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2UgPSBuZXcgbWFyczNkLmxheWVyLkdyYXBoaWNMYXllcigpXHJcblx0XHRcdFx0XHRtYXAuYWRkTGF5ZXIoZ3JhcGhpY0xheWVyRmVuY2UpXHJcblxyXG5cclxuXHJcblxyXG5cdFx0XHRcdFx0bWFwLmFkZExheWVyKGdyYXBoaWNMYXllcilcclxuXHRcdFx0XHRcdC8vIOe7keWumueCueWHu+S6i+S7tlxyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyLm9uKG1hcnMzZC5FdmVudFR5cGUuY2xpY2ssIChldmVudCwgcG9zaXRpb24pID0+IHtcclxuXHRcdFx0XHRcdFx0dmFyIGNhciA9IGV2ZW50LmdyYXBoaWNcclxuXHRcdFx0XHRcdFx0Ly8gdmFyIGxpc3QgPSBbXVxyXG5cdFx0XHRcdFx0XHR2YXIganNvbiA9IHt9XHJcblxyXG5cdFx0XHRcdFx0XHQvLyB2YXIgbWVzc2FnZSA9IFwi5aeT5ZCNOiBcIiArIG5hbWUgKyBcIjxicj7nvJblj7c6IFwiICsgbnVtYmVyO1xyXG5cdFx0XHRcdFx0XHQvLyAvLyDkvb/nlKhNYXJzM0TnmoTmj5DnpLrmoYbnu4Tku7bmmL7npLrkv6Hmga9cclxuXHRcdFx0XHRcdFx0Ly8gICAgIHRoaXMuZ3JhcGhpY0xheWVyLmJpbmRQb3B1cChuZXcgbWFyczNkLlRvb2x0aXAoe1xyXG5cdFx0XHRcdFx0XHQvLyAgICAgICAgIGNvbnRlbnQ6IG1lc3NhZ2UsXHJcblx0XHRcdFx0XHRcdC8vICAgICAgICAgcG9zaXRpb246IHBvc2l0aW9uLCAvLyDmjIflrprmj5DnpLrmoYbnmoTkvY3nva7kuLrngrnlh7vnmoTkvY3nva5cclxuXHRcdFx0XHRcdFx0Ly8gICAgICAgICBjbGFzc05hbWU6IFwiY3VzdG9tLXRvb2x0aXBcIiwgLy8g5Y+v5Lul5re75Yqg6Ieq5a6a5LmJ5qC35byP57G7XHJcblx0XHRcdFx0XHRcdC8vICAgICAgICAgY2xvc2VCdXR0b246IHRydWUsIC8vIOaYr+WQpuaYvuekuuWFs+mXreaMiemSrlxyXG5cdFx0XHRcdFx0XHQvLyAgICAgfSkpO1xyXG5cdFx0XHRcdFx0XHQvLyDmiZPlvIDmj5DnpLrmoYZcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy5ncmFwaGljTGF5ZXIub3BlblBvcHVwKCk7XHJcblxyXG5cdFx0XHRcdFx0XHRqc29uLm9ubGluZSA9IGNhci5hdHRyLm9ubGluZVxyXG5cdFx0XHRcdFx0XHRqc29uLmJhb2xpdTEgPSBjYXIuYXR0ci5iYW9saXUxXHJcblx0XHRcdFx0XHRcdGpzb24udHlwZSA9IGNhci5hdHRyLnR5cGVcclxuXHRcdFx0XHRcdFx0anNvbi5ydGNtID0gY2FyLmF0dHIucnRjbVxyXG5cdFx0XHRcdFx0XHRqc29uLnRhZ2lkID0gY2FyLmF0dHIudGFnaWRcclxuXHRcdFx0XHRcdFx0anNvbi5lbmNyeXB0aW9uID0gY2FyLmF0dHIuZW5jcnlwdGlvblxyXG5cdFx0XHRcdFx0XHRqc29uLnBlcnNvbm5hbWUgPSBjYXIuYXR0ci5wZXJzb25uYW1lXHJcblx0XHRcdFx0XHRcdGpzb24ucG93ZXIgPSBjYXIuYXR0ci5wb3dlclxyXG5cdFx0XHRcdFx0XHRqc29uLmhlaWdodCA9IGNhci5hdHRyLmhlaWdodFxyXG5cdFx0XHRcdFx0XHRqc29uLmRlcGFydG1lbnQgPSBjYXIuYXR0ci5kZXBhcnRtZW50XHJcblx0XHRcdFx0XHRcdGpzb24uZ3Bzc3RhdHVzID0gY2FyLmF0dHIuZ3Bzc3RhdHVzXHJcblx0XHRcdFx0XHRcdHRoaXMucGVybGlzdCA9IGpzb25cclxuXHRcdFx0XHRcdFx0dGhpcy4kb3duZXJJbnN0YW5jZS5jYWxsTWV0aG9kKCdoYW5kbGVNYXBDbGljaycsIHRoaXMucGVybGlzdCk7XHJcblxyXG5cclxuXHRcdFx0XHRcdH0pXHJcblxyXG5cdFx0XHRcdFx0Ly/mtYvor5XmnKzlnLDlm77niYcgXHJcblx0XHRcdFx0XHQvLyBjb25zdCBncmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLkJpbGxib2FyZEVudGl0eSh7XHJcblx0XHRcdFx0XHQvLyBcdHBvc2l0aW9uOiBbMTE3LjIyOTYxOSwgMzEuNjg2Mjg4LCAxMDAwXSxcclxuXHRcdFx0XHRcdC8vIFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdC8vIFx0XHRpbWFnZTogXCJzdGF0aWMvaW1nL21hcmstcmVkLnBuZ1wiLFxyXG5cdFx0XHRcdFx0Ly8gXHRcdGhvcml6b250YWxPcmlnaW46IENlc2l1bS5Ib3Jpem9udGFsT3JpZ2luLkNFTlRFUixcclxuXHRcdFx0XHRcdC8vIFx0XHR2ZXJ0aWNhbE9yaWdpbjogQ2VzaXVtLlZlcnRpY2FsT3JpZ2luLkJPVFRPTVxyXG5cdFx0XHRcdFx0Ly8gXHR9LFxyXG5cdFx0XHRcdFx0Ly8gXHRhdHRyOiB7XHJcblx0XHRcdFx0XHQvLyBcdFx0cmVtYXJrOiBcIuekuuS+izFcIlxyXG5cdFx0XHRcdFx0Ly8gXHR9XHJcblx0XHRcdFx0XHQvLyB9KVxyXG5cdFx0XHRcdFx0Ly8gZ3JhcGhpY0xheWVyLmFkZEdyYXBoaWMoZ3JhcGhpYylcclxuXHRcdFx0XHRcdC8vIHRoaXMuZmV0Y2hQZXJzb25zTGlzdCgpXHJcblx0XHRcdFx0XHQvLyB0aGlzLnVwZGF0ZVRyYWplY3RvcmllcygpXHJcblxyXG5cdFx0XHRcdFx0Ly8gdGhpcy5nZXRHUFNDZXNpdW0oKTtcclxuXHRcdFx0XHRcdHRoaXMuJG93bmVySW5zdGFuY2UuY2FsbE1ldGhvZCgncmVjZWl2ZVJlbmRlckRhdGEnLCB0aGlzLmRvdClcclxuXHRcdFx0XHRcdHRoaXMuZnBsb2NrID0gdHJ1ZVxyXG5cdFx0XHRcdFx0Z2xvYmFsTWFwID0gdHJ1ZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLiRvd25lckluc3RhbmNlLmNhbGxNZXRob2QoJ2luaXRsb2NrJyk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldG1hcnNQb2ludChuZXdWYWx1ZSkge1xyXG5cdFx0XHRcdGlmIChPYmplY3Qua2V5cyhuZXdWYWx1ZSkubGVuZ3RoICE9IDApIHtcclxuXHRcdFx0XHRcdG1hcC5jYW1lcmEuZmx5VG8oe1xyXG5cdFx0XHRcdFx0XHRkZXN0aW5hdGlvbjogQ2VzaXVtLkNhcnRlc2lhbjMuZnJvbURlZ3JlZXMobmV3VmFsdWUubG9uLCBuZXdWYWx1ZS5sYXQsIDUwMCksIC8vIOebruagh+eCuee7j+e6rOW6puWSjOinhuinkumrmOW6plxyXG5cdFx0XHRcdFx0XHRkdXJhdGlvbjogMyAvLyDliqjnlLvmjIHnu63ml7bpl7TvvIjnp5LvvIlcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGdldG1hcnNmZW5jZVBvaW50KG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coNDQ0NDQ0NDQ0NDQ0KTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhuZXdWYWx1ZSk7XHJcblx0XHRcdFx0Y29uc29sZS5sb2cobmV3VmFsdWUuc3BsaXQoXCIsXCIpWzBdKTtcclxuXHRcdFx0XHRpZiAodGhpcy5mZW5jZXBsb2NrID09IGZhbHNlKSB7XHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHRoaXMuZnBsb2NrID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0XHQvLzXnp5Lmkq3mlL7kuIDmrKFcclxuXHRcdFx0XHRcdFx0XHRpZiAoT2JqZWN0LmtleXMobmV3VmFsdWUpLmxlbmd0aCAhPSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRtYXAuY2FtZXJhLmZseVRvKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZGVzdGluYXRpb246IENlc2l1bS5DYXJ0ZXNpYW4zLmZyb21EZWdyZWVzKG5ld1ZhbHVlLnNwbGl0KFwiLFwiKVswXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuZXdWYWx1ZS5zcGxpdChcIixcIilbMV0sIDUwMCksIC8vIOebruagh+eCuee7j+e6rOW6puWSjOinhuinkumrmOW6pnd3d3d3d1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMyAvLyDliqjnlLvmjIHnu63ml7bpl7TvvIjnp5LvvIlcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5mZW5jZXBsb2NrID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHR9LFxyXG5cclxuXHJcblx0XHRcdGdldEZlbmNlRGF0YWRlKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2UuY2xlYXIoKVxyXG5cclxuXHRcdFx0XHRcdGFkZGVkRmVuY2VJZHMgPSBuZXcgU2V0KCk7XHJcblx0XHRcdFx0XHQvLyBpZiAodGhpcy5mZW5jZWlkID09IG5ld1ZhbHVlLmlkKSB7XHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZUJpYW5KaWUuY2xlYXIoKVxyXG5cdFx0XHRcdFx0Ly99XHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0aGF2ZXJzaW5lRGlzdGFuY2UobG5nMSwgbGF0MSwgbG5nMiwgbGF0Mikge1xyXG5cclxuXHJcblxyXG5cdFx0XHRcdGNvbnN0IFIgPSA2MzcxZTM7IC8vIOWcsOeQg+WNiuW+hO+8jOWNleS9je+8muexs1xyXG5cdFx0XHRcdGNvbnN0IM+GMSA9IGxhdDEgKiAoTWF0aC5QSSAvIDE4MCk7XHJcblx0XHRcdFx0Y29uc3Qgz4YyID0gbGF0MiAqIChNYXRoLlBJIC8gMTgwKTtcclxuXHRcdFx0XHRjb25zdCDOlM+GID0gKGxhdDIgLSBsYXQxKSAqIChNYXRoLlBJIC8gMTgwKTtcclxuXHRcdFx0XHRjb25zdCDOlM67ID0gKGxuZzIgLSBsbmcxKSAqIChNYXRoLlBJIC8gMTgwKTtcclxuXHJcblx0XHRcdFx0Y29uc3QgYSA9IE1hdGguc2luKM6Uz4YgLyAyKSAqIE1hdGguc2luKM6Uz4YgLyAyKSArXHJcblx0XHRcdFx0XHRNYXRoLmNvcyjPhjEpICogTWF0aC5jb3Moz4YyKSAqXHJcblx0XHRcdFx0XHRNYXRoLnNpbijOlM67IC8gMikgKiBNYXRoLnNpbijOlM67IC8gMik7XHJcblx0XHRcdFx0Y29uc3QgYyA9IDIgKiBNYXRoLmF0YW4yKE1hdGguc3FydChhKSwgTWF0aC5zcXJ0KDEgLSBhKSk7XHJcblxyXG5cdFx0XHRcdHJldHVybiBSICogYztcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0RmVuY2VEYXRhKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0bmV3VmFsdWUuZm9yRWFjaCgoZSwgaSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAoZS5pc3BsYXkgPT09ICcxJykge1xyXG5cdFx0XHRcdFx0XHRcdGlmICghYWRkZWRGZW5jZUlkcy5oYXMoZS5pZCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZmVuY2VpZHMgPSBlLmlkICsgXCJfZmVuY2VcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLzXnp5Lmkq3mlL7kuIDmrKFcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH0sIDEwMDApO1xyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IHBhcnRzID0gZS5wb2ludHMuc3BsaXQoJzsnKTtcclxuXHRcdFx0XHRcdFx0XHRcdHZhciBwYXJ0ID0gW11cclxuXHRcdFx0XHRcdFx0XHRcdHZhciBmZW5jZSA9IFtdXHJcblx0XHRcdFx0XHRcdFx0XHR2YXIgcG9zaXRpb25zID0gW107IC8vIOWtmOWCqOaJgOacieeCueeahOe7j+e6rOW6plxyXG5cdFx0XHRcdFx0XHRcdFx0Ly/miYDmnInnu4/nuqzluqbngrlcclxuXHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBhcnQgPSBwYXJ0c1tpXS5zcGxpdCgnLCcpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAocGFydC5sZW5ndGggPiAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGxuZyA9IHBhcnNlRmxvYXQocGFydFswXSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGxhdCA9IHBhcnNlRmxvYXQocGFydFsxXSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb25zLnB1c2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0bG5nOiBsbmcsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsYXQ6IGxhdFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBmZW5jZS5wdXNoKHBhcnRbMF0pXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGZlbmNlLnB1c2gocGFydFsxXSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gcGFydC5wdXNoKCcwJylcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnN0IGdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFtwYXJ0WzBdLCBwYXJ0WzFdLCAwXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBpZDogbmV3VmFsdWVbZV0uZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBtb2RlbDoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Li4ubW9kZWxQYXJhbSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpbWFnZTogXCJzdGF0aWMvaW1nL3Bvbml0MS5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNjYWxlOiAwLjQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsT3JpZ2luOiBDZXNpdW0uSG9yaXpvbnRhbE9yaWdpbi5DRU5URVIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbE9yaWdpbjogQ2VzaXVtLlZlcnRpY2FsT3JpZ2luLkJPVFRPTVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBhdHRyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRvbmxpbmU6IG5ld1ZhbHVlW2VdLm9ubGluZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdGxhdDogbmV3VmFsdWVbZV0ubGF0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0bG9uOiBuZXdWYWx1ZVtlXS5sb24sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRwcG93ZXI6IG5ld1ZhbHVlW2VdLnBvd2VyLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Ly8gYmFvbGl1NDogZS5iYW9saXU0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Z3Bzc3RhdHVzOiBuZXdWYWx1ZVtlXS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRkZXBhcnRtZW50OiBuZXdWYWx1ZVtlXS5kZXBhcnRtZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0cG5hbWU6IG5ld1ZhbHVlW2VdLm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBwdGFnaWQ6IG5ld1ZhbHVlW2VdLmlkLOOAglxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VCaWFuSmllLmFkZEdyYXBoaWMoZ3JhcGhpYylcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gZ3JhcGhpY0xheWVyLmFkZEdyYXBoaWMobGFiZWwpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBhZGRlZENhcklkcy5hZGQoZS5pZCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHRoaXMuZ3JhcGhpY0xhYmVsc2lkc1tuZXdWYWx1ZVtlXS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Z3JhcGhpYzogZ3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBmZW5jZTogZmVuY2VHcmFwaGljXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIH07XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZlbmNlLnB1c2gocGFydClcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGsgPSAwOyBrIDwgcG9zaXRpb25zLmxlbmd0aDsgaysrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBjdXJyZW50UG9pbnQgPSBwb3NpdGlvbnNba107XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBuZXh0UG9pbnQgPSBwb3NpdGlvbnNbKGsgKyAxKSAlIHBvc2l0aW9ucy5sZW5ndGhdOyAvLyDlpITnkIbmnIDlkI7kuIDkuKrngrnlkoznrKzkuIDkuKrngrnnm7jov57nmoTmg4XlhrVcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBkaXN0YW5jZSA9IHRoaXMuaGF2ZXJzaW5lRGlzdGFuY2UoY3VycmVudFBvaW50LmxuZywgY3VycmVudFBvaW50LmxhdCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuZXh0UG9pbnRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQubG5nLCBuZXh0UG9pbnQubGF0KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzdGFuY2UgPSBwYXJzZUZsb2F0KGRpc3RhbmNlLnRvRml4ZWQoMikpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgbWlkTG5nID0gKGN1cnJlbnRQb2ludC5sbmcgKyBuZXh0UG9pbnQubG5nKSAvIDI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBtaWRMYXQgPSAoY3VycmVudFBvaW50LmxhdCArIG5leHRQb2ludC5sYXQpIC8gMjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8g5Yib5bu65LiA5LiqIExhYmVsRW50aXR5IOadpeaYvuekuui3neemu1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgbGFiZWxHcmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLkxhYmVsRW50aXR5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogbmV3IG1hcnMzZC5MbmdMYXRQb2ludChtaWRMbmcsIG1pZExhdCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ6IGAke2Rpc3RhbmNlfSBtYCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnRfc2l6ZTogMTQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb250X3dlaWdodDogXCJib2xkXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogXCIjRkZGRkZGXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6IFwiIzAwMDAwMFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmlzaWJsZURlcHRoOiBmYWxzZSxcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsT3JpZ2luOiBDZXNpdW0uSG9yaXpvbnRhbE9yaWdpbi5DRU5URVIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbE9yaWdpbjogQ2VzaXVtLlZlcnRpY2FsT3JpZ2luLkNFTlRFUlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlQmlhbkppZS5hZGRHcmFwaGljKGxhYmVsR3JhcGhpYyk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGxldCBjb2xvckZlbmNlID0gXCJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IEp1WGluZ2NvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS50eXBlID09IFwi56aB5YWl5Yy6XCIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiI0Y1NkQ2RVwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS50eXBlID09IFwi5bel5L2c5Yy6XCIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiIzM3OTVEQVwiXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUudHlwZSA9PSBcIuWuieWFqOWMulwiKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMyQkZCMkVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgZmVuY2VHcmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLlBvbHlnb25QcmltaXRpdmUoe1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb25zOiBmZW5jZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbG9zdXJlOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBjb2xvckZlbmNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRkaWZmSGVpZ2h0OiBlLmhlaWdodCAvIDEwMCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXRlcmlhbFR5cGU6IG1hcnMzZC5NYXRlcmlhbFR5cGUuTGluZUZsb3csXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGFiZWw6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ6IGUubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnRfc2l6ZTogMTgsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZUNvbG9yOiBjb2xvckZlbmNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6IFwiI2ZmZmZmZlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uX2ZhcjogNTAwMDAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uX25lYXI6IDAsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBwb3NpdGlvbnM6IFtbXCIxMTYuMjgxMTE0MFwiLFwiMzkuODMxODcyMFwiXSxbXCIxMTYuMjgxNzE2MFwiLFwiMzkuODMxNzczMFwiXSxbXCIxMTYuMjgxMTcwOVwiLFwiMzkuODMyMjE3OVwiXV0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Y29sb3I6IHRoaXMucGFyc2VDb2xvcihcIiNGRjAwMDBcIikud2l0aEFscGhhKDAuMyksXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0b3V0bGluZVdpZHRoOiAyLCAvLyDovrnmoYbnspfnu4bvvIjlg4/ntKDvvIlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRvdXRsaW5lOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdG91dGxpbmVDb2xvcjogdGhpcy5wYXJzZUNvbG9yKFwiI2I0MDAwMFwiKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBkaWZmSGVpZ2h0OiBuZXdWYWx1ZVtlXS5oZWlnaHQgfHwgMCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRsYWJlbDoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0dGV4dDogZS5uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0Zm9udF9zaXplOiAxOCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdG91dGxpbmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRvdXRsaW5lQ29sb3I6IFwiI0M3MDcwOFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0Y29sb3I6IFwiI2ZmZmZmZlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uX2ZhcjogNTAwMDAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uX25lYXI6IDBcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuYW1lOiBlLm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gcHRhZ2lkOiBuZXdWYWx1ZVtlXS5pZCzjgIJcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZS5hZGRHcmFwaGljKGZlbmNlR3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdFx0XHRhZGRlZEZlbmNlSWRzLmFkZChlLmlkKTtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGVcclxuXHRcdFx0XHRcdFx0XHRcdFx0LmxvZyh0aGlzLmdyYXBoaWNGZW5jZSk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmdyYXBoaWNGZW5jZVt0aGlzLmZlbmNlaWRzXSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gZ3JhcGhpYzogZ3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZmVuY2U6IGZlbmNlR3JhcGhpY1xyXG5cdFx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKGFkZGVkRmVuY2VJZHMuaGFzKGUuaWQpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKGdyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRkZWxldGUgdGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdOyAvLyDliKDpmaTlvJXnlKhcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Ly8gZGVsZXRlIHRoaXMubGFiZWxzW2UuaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRhZGRlZEZlbmNlSWRzLmRlbGV0ZShlLmlkKTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Ly8gdGhpcy5ncmFwaGljTGFiZWxzW2UuYW5jaG9yaWRdID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBcdGdyYXBoaWM6IGdyYXBoaWMxXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIH07XHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KSAvLyDlsIbkvKDpgJLov4fmnaXnmoTlgLzotYvlgLznu5lwb2ludHPvvIzov5nmoLflsLHlj6/ku6XlnKjop4blm77lsYLkuK3kvb/nlKhcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0YWRkZWRGZW5jZUlkcyA9IG5ldyBTZXQoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHBhcnNlQ29sb3IoY29sb3JTdHIpIHtcclxuXHRcdFx0XHR0cnkge1xyXG5cdFx0XHRcdFx0aWYgKENlc2l1bS5Db2xvcltjb2xvclN0ci50b1VwcGVyQ2FzZSgpXSkge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2VzaXVtLkNvbG9yW2NvbG9yU3RyLnRvVXBwZXJDYXNlKCldO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0cmV0dXJuIENlc2l1bS5Db2xvci5mcm9tQ3NzQ29sb3JTdHJpbmcoY29sb3JTdHIpO1xyXG5cdFx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gQ2VzaXVtLkNvbG9yLldISVRFO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGdldERyd2FEYXRhKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0dGhpcy5wbGlzdCA9IFtdXHJcblx0XHRcdFx0aWYgKHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF0pIHtcclxuXHRcdFx0XHRcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF0uZmVuY2UpO1xyXG5cdFx0XHRcdFx0ZGVsZXRlIHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChPYmplY3Qua2V5cyhuZXdWYWx1ZSkubGVuZ3RoICE9IDApIHtcclxuXHRcdFx0XHRcdGZvciAodmFyIGUgPSBuZXdWYWx1ZS5sZW5ndGggLSAxOyBlIDwgbmV3VmFsdWUubGVuZ3RoOyBlKyspIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5mZW5jZWlkID0gbmV3VmFsdWVbZV0uaWRcclxuXHRcdFx0XHRcdFx0aWYgKG5ld1ZhbHVlW2UgLSAxXS5sYXQgIT0gdW5kZWZpbmVkICYmIG5ld1ZhbHVlW2VdLmxhdCA9PSBuZXdWYWx1ZVtlIC0gMV0ubGF0KSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCLmlbDmja7ph43lpI09PT09PT09PT09PeOAi+OAi+OAi+OAi+OAi+OAi+OAi+OAi1wiLCBuZXdWYWx1ZVtlXS5sYXQpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cclxuXHRcdFx0XHRcdFx0XHQvLyAgICAgLy8gMy4g6Zet5ZCI5aSa6L655b2iXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5jYXJ0ZXNpYW5Qb2ludHMucHVzaChuZXdWYWx1ZVtlXSk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gXHRcdC8vIFtbXCIxMTYuMjgxMTE0MFwiLFwiMzkuODMxODcyMFwiXSxbXCIxMTYuMjgxNzE2MFwiLFwiMzkuODMxNzczMFwiXSxbXCIxMTYuMjgxMTcwOVwiLFwiMzkuODMyMjE3OVwiXV1cclxuXHRcdFx0XHRcdFx0XHRjb25zdCBmZW5jZUdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuUG9seWdvblByaW1pdGl2ZSh7XHJcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbnM6IHRoaXMuY2FydGVzaWFuUG9pbnRzLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gcG9zaXRpb25zOiBbW1wiMTE2LjI4MTExNDBcIixcIjM5LjgzMTg3MjBcIl0sW1wiMTE2LjI4MTcxNjBcIixcIjM5LjgzMTc3MzBcIl0sW1wiMTE2LjI4MTE3MDlcIixcIjM5LjgzMjIxNzlcIl1dLFxyXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6IHRoaXMucGFyc2VDb2xvcihcIiNGRjAwMDBcIikud2l0aEFscGhhKDAuMyksXHJcblx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmVXaWR0aDogMiwgLy8g6L655qGG57KX57uG77yI5YOP57Sg77yJXHJcblx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmVDb2xvcjogdGhpcy5wYXJzZUNvbG9yKFwiI2I0MDAwMFwiKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gZGlmZkhlaWdodDogbmV3VmFsdWVbZV0uaGVpZ2h0IHx8IDAsXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLmFkZEdyYXBoaWMoZmVuY2VHcmFwaGljKTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmdyYXBoaWNGZW5jZVtuZXdWYWx1ZVtlXS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBncmFwaGljOiBncmFwaGljLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZmVuY2U6IGZlbmNlR3JhcGhpY1xyXG5cdFx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldFBvaW50RGF0YShuZXdWYWx1ZSkge1xyXG5cclxuXHRcdFx0XHR0aGlzLmNhcnRlc2lhblBvaW50cyA9IFtdXHJcblx0XHRcdFx0Ly8gaWYgKHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF0pIHtcclxuXHRcdFx0XHQvLyBcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF0uZmVuY2UpO1xyXG5cdFx0XHRcdC8vIFx0ZGVsZXRlIHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF07XHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdC8vIGlmICh0aGlzLmdyYXBoaWNMYWJlbHNpZHNbdGhpcy5mZW5jZWlkXSkge1xyXG5cdFx0XHRcdC8vIFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljTGFiZWxzaWRzW3RoaXMuZmVuY2VpZF0uZ3JhcGhpYyk7XHJcblx0XHRcdFx0Ly8gXHRkZWxldGUgdGhpcy5ncmFwaGljTGFiZWxzaWRzW3RoaXMuZmVuY2VpZF07XHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdGlmIChncmFwaGljTGF5ZXJGZW5jZWRyd2EgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VkcndhLmNsZWFyKClcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0Zm9yICh2YXIgZSA9IDA7IGUgPCBuZXdWYWx1ZS5sZW5ndGg7IGUrKykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZlbmNlaWQgPSBuZXdWYWx1ZVtlXS5pZFxyXG5cdFx0XHRcdFx0XHR0aGlzLnBsaXN0ID0gW11cclxuXHRcdFx0XHRcdFx0dGhpcy5wbGlzdC5wdXNoKG5ld1ZhbHVlW2VdLmxhdClcclxuXHRcdFx0XHRcdFx0dGhpcy5wbGlzdC5wdXNoKG5ld1ZhbHVlW2VdLmxvbilcclxuXHRcdFx0XHRcdFx0Ly8gMy4g6Zet5ZCI5aSa6L655b2iXHJcblx0XHRcdFx0XHRcdHRoaXMuY2FydGVzaWFuUG9pbnRzLnB1c2godGhpcy5wbGlzdCk7XHJcblx0XHRcdFx0XHRcdC8vIOiHquWKqOmXreWQiOWkmui+ueW9olxyXG5cdFx0XHRcdFx0XHQvLyBbW1wiMTE2LjI4MTExNDBcIixcIjM5LjgzMTg3MjBcIl0sW1wiMTE2LjI4MTcxNjBcIixcIjM5LjgzMTc3MzBcIl0sW1wiMTE2LjI4MTE3MDlcIixcIjM5LjgzMjIxNzlcIl1dXHJcblx0XHRcdFx0XHRcdGNvbnN0IGZlbmNlR3JhcGhpYyA9IG5ldyBtYXJzM2QuZ3JhcGhpYy5Qb2x5Z29uUHJpbWl0aXZlKHtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbnM6IHRoaXMuY2FydGVzaWFuUG9pbnRzLFxyXG5cdFx0XHRcdFx0XHRcdC8vIGlkOiBuZXdWYWx1ZVtlXS5pZCxcclxuXHRcdFx0XHRcdFx0XHQvLyBwb3NpdGlvbnM6IFtbXCIxMTYuMjgxMTE0MFwiLFwiMzkuODMxODcyMFwiXSxbXCIxMTYuMjgxNzE2MFwiLFwiMzkuODMxNzczMFwiXSxbXCIxMTYuMjgxMTcwOVwiLFwiMzkuODMyMjE3OVwiXV0sXHJcblx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiB0aGlzLnBhcnNlQ29sb3IoXCIjRkYwMDAwXCIpLndpdGhBbHBoYSgwLjMpLFxyXG5cdFx0XHRcdFx0XHRcdFx0b3V0bGluZVdpZHRoOiAyLCAvLyDovrnmoYbnspfnu4bvvIjlg4/ntKDvvIlcclxuXHRcdFx0XHRcdFx0XHRcdG91dGxpbmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lQ29sb3I6IHRoaXMucGFyc2VDb2xvcihcIiNiNDAwMDBcIiksXHJcblx0XHRcdFx0XHRcdFx0XHRkaWZmSGVpZ2h0OiBuZXdWYWx1ZVtlXS5oZWlnaHQgfHwgMCxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGxhYmVsOiB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyAgIHRleHQ6IGUubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vICAgZm9udF9zaXplOiAxNCxcclxuXHRcdFx0XHRcdFx0XHRcdC8vICAgY29sb3I6IENlc2l1bS5Db2xvci5XSElURSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vICAgZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uOiBbMCwgNTAwMDAwXVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSk7XHJcblxyXG5cdFx0XHRcdFx0XHQvLyB0aGlzLmdyYXBoaWNGZW5jZVtuZXdWYWx1ZVtlXS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0Ly8gZ3JhcGhpYzogZ3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0Ly8gXHRmZW5jZTogZmVuY2VHcmFwaGljXHJcblx0XHRcdFx0XHRcdC8vIH07XHJcblx0XHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlZHJ3YS5hZGRHcmFwaGljKGZlbmNlR3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdC8v5rWL6K+V5pys5Zyw5Zu+54mHXHJcblx0XHRcdFx0XHRcdC8vIHRoaXMuZ3JhcGhpY2lkcy5wdXNoKG5ld1ZhbHVlW2VdLmlkKVxyXG5cdFx0XHRcdFx0XHRjb25zdCBncmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLkJpbGxib2FyZEVudGl0eSh7XHJcblxyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBbbmV3VmFsdWVbZV0ubGF0LCBuZXdWYWx1ZVtlXS5sb24sIDBdLFxyXG5cdFx0XHRcdFx0XHRcdGlkOiBuZXdWYWx1ZVtlXS5lLFxyXG5cdFx0XHRcdFx0XHRcdC8vIG1vZGVsOiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gXHQuLi5tb2RlbFBhcmFtLFxyXG5cdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdGltYWdlOiBcInN0YXRpYy9pbWcvcG9uaXQxLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2NhbGU6IDAuNCxcclxuXHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxPcmlnaW46IENlc2l1bS5Ib3Jpem9udGFsT3JpZ2luLkNFTlRFUixcclxuXHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRhdHRyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRvbmxpbmU6IG5ld1ZhbHVlW2VdLm9ubGluZSxcclxuXHRcdFx0XHRcdFx0XHRcdGxhdDogbmV3VmFsdWVbZV0ubGF0LFxyXG5cdFx0XHRcdFx0XHRcdFx0bG9uOiBuZXdWYWx1ZVtlXS5sb24sXHJcblx0XHRcdFx0XHRcdFx0XHRwcG93ZXI6IG5ld1ZhbHVlW2VdLnBvd2VyLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gYmFvbGl1NDogZS5iYW9saXU0LFxyXG5cdFx0XHRcdFx0XHRcdFx0Z3Bzc3RhdHVzOiBuZXdWYWx1ZVtlXS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRkZXBhcnRtZW50OiBuZXdWYWx1ZVtlXS5kZXBhcnRtZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0cG5hbWU6IG5ld1ZhbHVlW2VdLm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBwdGFnaWQ6IG5ld1ZhbHVlW2VdLmlkLOOAglxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VkcndhLmFkZEdyYXBoaWMoZ3JhcGhpYylcclxuXHRcdFx0XHRcdFx0Ly8gZ3JhcGhpY0xheWVyLmFkZEdyYXBoaWMobGFiZWwpO1xyXG5cdFx0XHRcdFx0XHQvLyBhZGRlZENhcklkcy5hZGQoZS5pZCk7XHJcblx0XHRcdFx0XHRcdC8vIHRoaXMuZ3JhcGhpY0xhYmVsc2lkc1tuZXdWYWx1ZVtlXS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0Z3JhcGhpYzogZ3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0Ly8gXHQvLyBmZW5jZTogZmVuY2VHcmFwaGljXHJcblx0XHRcdFx0XHRcdC8vIH07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi5riF56m657uY5Yi25Zu05qCPXCIpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0RGF0YShuZXdWYWx1ZSkge1xyXG5cdFx0XHRcdGxldCBtb2RlbFBhcmFtID0ge1xyXG5cdFx0XHRcdFx0c2NhbGU6IDIsXHJcblx0XHRcdFx0XHR1cmw6IFwiaHR0cDovLzM5LjEwNi4yMTAuMTM6ODg4OC9oeHprdXdiL3ZpZXcvSG9tZS9tb2RlbC9tb2RlbC93YWxrLmdsdGZcIixcclxuXHRcdFx0XHRcdHBpdGNoOiAwLFxyXG5cdFx0XHRcdFx0cm9sbDogMCxcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdGlmIChPYmplY3Qua2V5cyhuZXdWYWx1ZSkubGVuZ3RoICE9IDApIHtcclxuXHRcdFx0XHRcdG5ld1ZhbHVlLmZvckVhY2goKGUsIGkpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKGUub25saW5lID09PSAnMScpIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAoIWFkZGVkQ2FySWRzLmhhcyhlLmlkKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coXCLmiZPljbDmlbDmja49PT0944CL44CL44CL44CL44CL44CL44CL44CL44CL44CLXCIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly/mtYvor5XmnKzlnLDlm77niYdcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBjb2xvckZlbmNlID0gXCJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IEp1WGluZ2NvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8zLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuZ3Bzc3RhdHVzID09IDEpIHsgLy/ljZXngrnok53oibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNC5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiIzAwYWFmZlwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZSA9PSAyIHx8IGUuZ3Bzc3RhdHVzID09IC0xIHx8IGUuZ3Bzc3RhdHVzID09IDMpIHsgLy/lhbbku5bnsbvlnovngbDoibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMS5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwicmdiYSgwLDAsMCwwLjUpXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlLmdwc3N0YXR1cyA9PSA0KSB7IC8v6auY57K+5bqm57u/6ImyXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjMjBEODVDXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlLmdwc3N0YXR1cyA9PSA1KSB7IC8v5rWu54K56buE6ImyXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzIucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiNmZmZmMDBcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKGUuYmFvbGl1Mi5zcGxpdChcIjtcIikuaW5kZXhPZihcIjFcIik8MCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuYmFvbGl1Mi5zcGxpdChcIjtcIilbMF0gPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChlLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzFdID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoZS5iYW9saXUyLnNwbGl0KFwiO1wiKVsyXSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzcucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHR9ZWxzZVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUud2FybnN0YXR1cyA9PSBcIjFcIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW82LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8yLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKGUuYmFvbGl1MTkgPT0gXCLovabovb1cIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR2YXIgaW1nID0gJ3N0YXRpYy9pbWcvY2FyMS5wbmcnXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR2YXIgaW1nID0gJ3N0YXRpYy9pbWcvcGVyc29uNi5wbmcnXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBncmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLkJpbGxib2FyZEVudGl0eSh7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogW2UubGF0LCBlLmxvbiwgMF0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlkOiBlLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBtb2RlbDoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdC4uLm1vZGVsUGFyYW0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gaW1hZ2U6IFwic3RhdGljL2ltZy9wZXJzb241LnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGltYWdlOiBpbWcsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c2NhbGU6IFwiMC40XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aG9yaXpvbnRhbE9yaWdpbjogQ2VzaXVtLkhvcml6b250YWxPcmlnaW4uQ0VOVEVSLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbmxpbmU6IGUuZ3Bzc3RhdHVzLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IGUudHlwZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRiYW9saXUxOiBlLmJhb2xpdTEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cnRjbTogZS5ydGNtLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVuY3J5cHRpb246IGUuZW5jcnlwdGlvbixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3dlcjogZS5wb3dlcixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IGUuaGVpZ2h0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGdwc3N0YXR1czogZS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGRlcGFydG1lbnQ6IGUuZGVwYXJ0bWVudCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwZXJzb25uYW1lOiBlLnBlcnNvbm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGFnaWQ6IGUudGFnaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBsYWJlbCA9IG5ldyBtYXJzM2QuZ3JhcGhpYy5MYWJlbEVudGl0eSh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBncmFwaGljLnBvc2l0aW9uLCAvLyDmoIfnrb7nmoTkvY3nva7kuI7lm77moIfkvY3nva7nm7jlkIxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0OiBlLnBlcnNvbm5hbWUgKyBcIiBcIiArIGUuaWQsIC8vIOagh+etvueahOaWh+acrOWGheWuueS4uuWnk+WQjeWSjOe8luWPt1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQ6ICcxMHB0IHNhbnMtc2VyaWYnLCAvLyDlrZfkvZPmoLflvI9cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRmaWxsQ29sb3I6IFwiIzAwMDAwMFwiLCAvLyDlrZfkvZPpopzoibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lQ29sb3I6IGNvbG9yRmVuY2UsIC8vIOaPj+i+ueminOiJsu+8jOS9v+aWh+Wtl+abtOa4heaZsFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmVXaWR0aDogMiwgLy8g5o+P6L655a695bqmXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IENlc2l1bS5MYWJlbFN0eWxlLkZJTExfQU5EX09VVExJTkUsIC8vIOmjjuagvO+8muWhq+WFheWSjOaPj+i+uVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NLCAvLyDmloflrZflnKjlnoLnm7TmlrnlkJHnmoTljp/ngrlcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwaXhlbE9mZnNldDogbmV3IENlc2l1bS5DYXJ0ZXNpYW4yKDAsIC1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDMwKSAvLyDmloflrZflgY/np7vph4/vvIzlkJHkuIvlgY/np7sxMOWDj+e0oFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdLmdyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWxldGUgdGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBkZWxldGUgdGhpcy5sYWJlbHNbY2FyLmlkXTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5hZGRHcmFwaGljKGdyYXBoaWMpXHJcblx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhsYWJlbCk7XHJcblx0XHRcdFx0XHRcdFx0XHRhZGRlZENhcklkcy5hZGQoZS5pZCk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWM6IGdyYXBoaWMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBsYWJlbFxyXG5cdFx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKGFkZGVkQ2FySWRzLmhhcyhlLmlkKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IGNvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgSnVYaW5nY29sb3JGZW5jZSA9IFwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzMucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS5ncHNzdGF0dXMgPT0gMSkgeyAvL+WNleeCueiTneiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW80LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjMDBhYWZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlID09IDIgfHwgZS5ncHNzdGF0dXMgPT0gLTEgfHwgZS5ncHNzdGF0dXMgPT0gMykgeyAvL+WFtuS7luexu+Wei+eBsOiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8xLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCJyZ2JhKDAsMCwwLDAuNSlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuZ3Bzc3RhdHVzID09IDQpIHsgLy/pq5jnsr7luqbnu7/oibJcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMyMEQ4NUNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuZ3Bzc3RhdHVzID09IDUpIHsgLy/mta7ngrnpu4ToibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMi5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiI2ZmZmYwMFwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLmlzb2ZmbGluZSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnN0IGdyYXBoaWMxID0gbmV3IG1hcnMzZC5ncmFwaGljLkJpbGxib2FyZEVudGl0eSh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFtlLmxhdCwgZS5sb24sIDBdLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlkOiBlLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aW1hZ2U6IGltZyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNjYWxlOiBcIjAuNFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aG9yaXpvbnRhbE9yaWdpbjogQ2VzaXVtLkhvcml6b250YWxPcmlnaW4uQ0VOVEVSLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxPcmlnaW46IENlc2l1bS5WZXJ0aWNhbE9yaWdpbi5CT1RUT01cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9ubGluZTogZS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBlLnR5cGUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRiYW9saXUxOiBlLmJhb2xpdTEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRydGNtOiBlLnJ0Y20sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRlbmNyeXB0aW9uOiBlLmVuY3J5cHRpb24sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwb3dlcjogZS5wb3dlcixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogZS5oZWlnaHQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRncHNzdGF0dXM6IGUuZ3Bzc3RhdHVzLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGRlcGFydG1lbnQ6IGUuZGVwYXJ0bWVudCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBlcnNvbm5hbWU6IGUucGVyc29ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRhZ2lkOiBlLnRhZ2lkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdLmdyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWxldGUgdGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhncmFwaGljMSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWM6IGdyYXBoaWMxLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdLmdyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIucmVtb3ZlR3JhcGhpYyh0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0ubGFiZWwpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWxldGUgdGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0YWRkZWRDYXJJZHMuZGVsZXRlKGUuaWQpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSkgLy8g5bCG5Lyg6YCS6L+H5p2l55qE5YC86LWL5YC857uZcG9pbnRz77yM6L+Z5qC35bCx5Y+v5Lul5Zyo6KeG5Zu+5bGC5Lit5L2/55SoXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRncHNEYXRhKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0bGV0IG1vZGVsUGFyYW0gPSB7XHJcblx0XHRcdFx0XHRzY2FsZTogMixcclxuXHRcdFx0XHRcdHVybDogXCJodHRwOi8vMzkuMTA2LjIxMC4xMzo4ODg4L2h4emt1d2Ivdmlldy9Ib21lL21vZGVsL21vZGVsL3dhbGsuZ2x0ZlwiLFxyXG5cdFx0XHRcdFx0cGl0Y2g6IDAsXHJcblx0XHRcdFx0XHRyb2xsOiAwLFxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0dmFyIGxpc3RBTEwgPSBuZXdWYWx1ZTtcclxuXHRcdFx0XHRcdGlmIChncmFwaGljTGF5ZXIgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuZWFjaEdyYXBoaWMoKGNhcikgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdC8vIOWPluWHuuWvueW6lOi9pui+hueahOi9qOi/ueWIl+ihqFxyXG5cdFx0XHRcdFx0XHRcdHZhciBwYXRoID0gbGlzdEFMTC5maWx0ZXIoKGl0ZW0pID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBpdGVtLmlkID09PSBjYXIuaWRcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRwYXRoLmZvckVhY2goKGl0ZW0pID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhciBwb2ludCA9IG5ldyBtYXJzM2QuTG5nTGF0UG9pbnQoaXRlbS5sYXQsIGl0ZW1cclxuXHRcdFx0XHRcdFx0XHRcdFx0LmxvbiwgMCk7XHJcblx0XHRcdFx0XHRcdFx0XHRjYXIuYWRkRHluYW1pY1Bvc2l0aW9uKHBvaW50LCBpdGVtLmFkZHRpZW0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3Qge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRvbGRncmFwaGljLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRsYWJlbFxyXG5cdFx0XHRcdFx0XHRcdFx0fSA9IHRoaXMuZ3JhcGhpY0xhYmVsc1tpdGVtLmlkXTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIOenu+mZpOaXp+eahOWbvuagh+WunuS9k1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuZ3JhcGhpY0xhYmVsc1tjYXIuaWRdKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKGNhcik7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKGxhYmVsKTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdC8vIGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIikuaW5kZXhPZigxKVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChpdGVtLm9ubGluZSA9PT0gJzEnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzMucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxldCBjb2xvckZlbmNlID0gXCJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRsZXQgSnVYaW5nY29sb3JGZW5jZSA9IFwiXCJcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChpdGVtLmdwc3N0YXR1cyA9PSAxKSB7IC8v5Y2V54K56JOd6ImyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNC5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjMDBhYWZmXCJcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0gPT0gMiB8fCBpdGVtLmdwc3N0YXR1cyA9PSAtMSB8fCBpdGVtLmdwc3N0YXR1cyA9PVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDMpIHsgLy/lhbbku5bnsbvlnovngbDoibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8xLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcInJnYmEoMCwwLDAsMC41KVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0uZ3Bzc3RhdHVzID09IDQpIHsgLy/pq5jnsr7luqbnu7/oibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8zLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMyMEQ4NUNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChpdGVtLmdwc3N0YXR1cyA9PSA1KSB7IC8v5rWu54K56buE6ImyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMi5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjZmZmZjAwXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZygyMjIyMjIyMik7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGl0ZW0uYmFvbGl1Mik7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIikuaW5kZXhPZihcIjFcIikpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhpdGVtLmJhb2xpdTIuc3BsaXQoXCI7XCIpLmluZGV4T2YoXCIxXCIpPi0xKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIikuaW5kZXhPZihcIjFcIikgPCAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8yLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChpdGVtLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzBdID09IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIilbMV0gPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzcucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoaXRlbS5iYW9saXUyLnNwbGl0KFwiO1wiKVsyXSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fWVsc2UgXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChpdGVtLndhcm5zdGF0dXMgPT0gXCIxXCIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW82LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzIucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIOWIm+W7uuaWsOeahOWbvuagh+WunuS9k1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBuZXdHcmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLkJpbGxib2FyZEVudGl0eSh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFtpdGVtLmxhdCwgaXRlbS5sb24sIDBdLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlkOiBpdGVtLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBpbWFnZTogXCJzdGF0aWMvaW1nL3BlcnNvbjUucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpbWFnZTogaW1nLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2NhbGU6IFwiMC40XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsT3JpZ2luOiBDZXNpdW0uSG9yaXpvbnRhbE9yaWdpblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQuQ0VOVEVSLFxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gcGl4ZWxPZmZzZXQ6IG5ldyBDZXNpdW0uQ2FydGVzaWFuMigwLCAxMCksIC8vIOWQkeS4i+WBj+enuzUw5YOP57SgXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRhdHRyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvbmxpbmU6IGl0ZW0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogaXRlbS50eXBlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0YmFvbGl1MTogaXRlbS5iYW9saXUxLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZW5jcnlwdGlvbjogaXRlbS5lbmNyeXB0aW9uLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cnRjbTogaXRlbS5ydGNtLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cG93ZXI6IGl0ZW0ucG93ZXIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IGl0ZW0uaGVpZ2h0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Z3Bzc3RhdHVzOiBpdGVtLmdwc3N0YXR1cyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGRlcGFydG1lbnQ6IGl0ZW0uZGVwYXJ0bWVudCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBlcnNvbm5hbWU6IGl0ZW0ucGVyc29ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRhZ2lkOiBpdGVtLnRhZ2lkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgbmV3bGFiZWwgPSBuZXcgbWFyczNkLmdyYXBoaWMuTGFiZWxFbnRpdHkoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBwb2ludCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS5wZXJzb25uYW1lICsgXCIgXCIgKyBpdGVtLnRhZ2lkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udDogJzEwcHQgc2Fucy1zZXJpZicsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmaWxsQ29sb3I6IFwiIzAwMDAwMFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZUNvbG9yOiBjb2xvckZlbmNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZVdpZHRoOiAyLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IENlc2l1bS5MYWJlbFN0eWxlLkZJTExfQU5EX09VVExJTkUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbE9yaWdpbjogQ2VzaXVtLlZlcnRpY2FsT3JpZ2luLkJPVFRPTSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBpeGVsT2Zmc2V0OiBuZXcgQ2VzaXVtLkNhcnRlc2lhbjIoMCwgLTMwKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIOa3u+WKoOagh+etvuWIsOWbvuWxguW5tuWtmOWCqOW8leeUqFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhuZXdsYWJlbCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIOa3u+WKoOaWsOeahOWbvuagh+WunuS9k+WIsOWbvuWxglxyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhuZXdHcmFwaGljKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5ncmFwaGljTGFiZWxzW2l0ZW0uaWRdID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWM6IG5ld0dyYXBoaWMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGFiZWw6IG5ld2xhYmVsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdC8v6YeN5YaZY2VzaXVt5o6l5Y+jXHJcblx0XHRcdHJld3JpdGVDZXNpdW1Tb3VyY2VzKENlc2l1bSkge1xyXG5cdFx0XHRcdGNvbnN0IGxvYWRJbWFnZUVsZW1lbnRfb2xkID0gQ2VzaXVtLlJlc291cmNlLl9JbXBsZW1lbnRhdGlvbnMubG9hZEltYWdlRWxlbWVudDtcclxuXHRcdFx0XHRDZXNpdW0uUmVzb3VyY2UuX0ltcGxlbWVudGF0aW9ucy5sb2FkSW1hZ2VFbGVtZW50ID0gZnVuY3Rpb24odXJsLCBjcm9zc09yaWdpbiwgZGVmZXJyZWQpIHtcclxuXHRcdFx0XHRcdC8vIOS/ruaUueacrOWcsGZpbGXmnKzlnLDmlofku7bpnIDopoHorr7nva7ot6jln5/vvIh1bmlhcHDnjq/looPnrYnvvIlcclxuXHRcdFx0XHRcdGlmICh1cmwuc3RhcnRzV2l0aCgnZmlsZScpKSB7XHJcblx0XHRcdFx0XHRcdGNyb3NzT3JpZ2luID0gdHJ1ZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmICghdXJsLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xyXG5cdFx0XHRcdFx0XHRjcm9zc09yaWdpbiA9IHRydWU7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0cmV0dXJuIGxvYWRJbWFnZUVsZW1lbnRfb2xkKHVybCwgY3Jvc3NPcmlnaW4sIGRlZmVycmVkKTtcclxuXHRcdFx0XHR9O1xyXG5cclxuXHRcdFx0XHRjb25zdCBjb250YWluc19vbGQgPSBDZXNpdW0uVHJ1c3RlZFNlcnZlcnMuY29udGFpbnM7XHJcblx0XHRcdFx0Q2VzaXVtLlRydXN0ZWRTZXJ2ZXJzLmNvbnRhaW5zID0gZnVuY3Rpb24odXJsKSB7XHJcblx0XHRcdFx0XHQvLyDkv67mlLnmnKzlnLBmaWxl5pys5Zyw5paH5Lu26ZyA6KaB6K6+572u6Leo5Z+f77yIdW5pYXBw546v5aKD562J77yJXHJcblx0XHRcdFx0XHRpZiAodXJsLnN0YXJ0c1dpdGgoJ2ZpbGUnKSkge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRyZXR1cm4gY29udGFpbnNfb2xkLmJpbmQodGhpcykodXJsKTtcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly8g5Yqg6L296LWE5rqQXHJcblx0XHRcdGxvYWRTb3VyY2UobG9hZFF1ZWVuKSB7XHJcblx0XHRcdFx0Y29uc3Qgc3RlcE9uZSA9IChyZXNvbHZlKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAobG9hZFF1ZWVuLmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0XHRjb25zdCBkZXAgPSBsb2FkUXVlZW4uc2hpZnQoKVxyXG5cclxuXHRcdFx0XHRcdFx0bGV0IGxvYWRlclxyXG5cdFx0XHRcdFx0XHRpZiAoZGVwLmVuZHNXaXRoKFwiLmNzc1wiKSkge1xyXG5cdFx0XHRcdFx0XHRcdGxvYWRlciA9IHRoaXMubG9hZExpbmsoZGVwKVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdGxvYWRlciA9IHRoaXMubG9hZFNjcmlwdChkZXApXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGxvYWRlci50aGVuKCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRzdGVwT25lKHJlc29sdmUpXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRyZXNvbHZlKHRydWUpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuXHRcdFx0XHRcdHN0ZXBPbmUocmVzb2x2ZSlcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly8g5Yqg6L29c2NycGl0XHJcblx0XHRcdGxvYWRTY3JpcHQoc3JjLCBhc3luYyA9IHRydWUpIHtcclxuXHRcdFx0XHRjb25zdCAkc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKVxyXG5cdFx0XHRcdCRzY3JpcHQuYXN5bmMgPSBhc3luY1xyXG5cdFx0XHRcdCRzY3JpcHQuc3JjID0gc3JjXHJcblx0XHRcdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCgkc2NyaXB0KVxyXG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdFx0XHQkc2NyaXB0Lm9ubG9hZCA9ICgpID0+IHtcclxuXHRcdFx0XHRcdFx0cmVzb2x2ZSh0cnVlKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDliqDovb1zY3JwaXRcclxuXHRcdFx0bG9hZExpbmsoc3JjKSB7XHJcblx0XHRcdFx0Y29uc3QgJGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlua1wiKVxyXG5cdFx0XHRcdCRsaW5rLnJlbCA9IFwic3R5bGVzaGVldFwiXHJcblx0XHRcdFx0JGxpbmsuaHJlZiA9IHNyY1xyXG5cdFx0XHRcdGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoJGxpbmspXHJcblx0XHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHRcdCRsaW5rLm9ubG9hZCA9ICgpID0+IHtcclxuXHRcdFx0XHRcdFx0cmVzb2x2ZSh0cnVlKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHQuc2VhcmNoYmcge1xyXG5cdFx0d2lkdGg6ICc1MCUnO1xyXG5cdFx0bGVmdDogJzI1JSc7XHJcblx0XHRwb3NpdGlvbjogJ2Fic29sdXRlJztcclxuXHRcdHotaW5kZXg6IDk5OTk5OTk5O1xyXG5cdH1cclxuXHJcblxyXG5cdC5jb250ZW50IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///242\n"); |
| | | |
| | | /***/ }), |
| | | /* 243 */ |
| | |
| | | /***/ (function(module, exports, __webpack_require__) { |
| | | |
| | | "use strict"; |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _checkUpdate = _interopRequireDefault(__webpack_require__(/*! @/uni_modules/uni-upgrade-center-app/utils/check-update */ 321));\nvar _success = _interopRequireDefault(__webpack_require__(/*! @/components/success.vue */ 102));\nvar _tools = __webpack_require__(/*! @/js/tools.js */ 120);\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/store/index.js */ 116));\nvar _linkBox = _interopRequireDefault(__webpack_require__(/*! @/components/linkBox.vue */ 337));\nvar _bumen = _interopRequireDefault(__webpack_require__(/*! ./bumen.vue */ 253));\nvar _request = __webpack_require__(/*! @/config/request.js */ 342);\nvar _api = __webpack_require__(/*! @/config/api.js */ 115);\nvar _minLogin = __webpack_require__(/*! @/js/minLogin.js */ 251);\nvar _person = __webpack_require__(/*! @/js/pages/person.js */ 343);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n// const content = require('./content')\nvar http = uni.$u.http;\nvar url = http.config.baseURL.split(\":\")[0] + \":\" + http.config.baseURL.split(\":\")[1];\nvar _default = {\n mixins: [_person.pagesPerson, _minLogin.minLogin],\n components: {\n bumenCom: _bumen.default,\n successCom: _success.default,\n linkCom: _linkBox.default\n },\n data: function data() {\n return {\n src: this.companylogo == '-1' ? \"../../static/companylogo.png\" : this.companylogo,\n show1: false,\n typeList: [{\n text: '保护区'\n }, {\n text: '禁入区'\n }, {\n text: '工作区'\n }, {\n text: '安全区'\n }],\n form: {\n nowarnmes: '',\n warnmes: '',\n type: ''\n },\n showpopupip: false,\n showpopup: false,\n labelWidth: 100,\n isbumen: false,\n value: 0,\n appversion: 'v1.0.9',\n downloadUrl: '',\n text1: [],\n jizhan: false,\n weilan: false,\n lixian: true,\n show: false,\n title: '退出登录',\n content: '确认退出当前登录?',\n scrollHeight: 500,\n paddingTop: 60,\n list: [{\n title: '当前版本',\n route: '',\n icon: '/static/my/test1.png',\n value: 'v1.0.3'\n }, {\n title: '切换数据源',\n route: 'updatedata',\n icon: '/static/my/test2.png',\n value: ''\n }, {\n title: '测试通知',\n route: 'message',\n icon: '/static/my/test2.png',\n value: ''\n }]\n };\n },\n mounted: function mounted() {\n var _this = this;\n __f__(\"log\", this.companylogo, \" at pages/index/person.vue:237\");\n this.lunbo();\n setTimeout(function () {\n _this.paddingTop = _this.vuex_padding_top;\n _this.paddingTop += 5;\n }, 700);\n },\n methods: {\n submitForm: function submitForm() {\n var _this2 = this;\n // 更新 baseURL\n (0, _request.updateBaseURL)(\"http://\" + this.form.url + ':' + this.form.port); // 调用 updateBaseURL 函数\n if (this.vuex_is_login) {\n var params = {\n token: uni.getStorageSync('access_token')\n };\n __f__(\"log\", params, \" at pages/index/person.vue:252\");\n (0, _api.checkLogin)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/person.vue:254\");\n if (res.code == 0) {\n _this2.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"切换数据源成功!请重新登录\"\n });\n _this2.showpopupip = false;\n _this2.form.port = '';\n _this2.form.url = '';\n _index.default.commit('$tStore', {\n name: 'vuex_is_login',\n value: false\n });\n setTimeout(function () {\n uni.reLaunch({\n url: '/pages/index/index'\n });\n }, 3000);\n } else {\n _this2.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.data\n });\n _this2.showpopupip = false;\n _this2.form.port = '';\n _this2.form.url = '';\n }\n });\n }\n },\n getPortFromUrl: function getPortFromUrl(url) {\n if (typeof url === 'string' && url.includes('//') && url.includes(':')) {\n return url.split('//')[1].split(':')[1];\n }\n return null;\n },\n updatedata: function updatedata() {\n var baseUrl = uni.getStorageSync('newBaseURL') == '' ? 'http://123.117.152.120:8090' : uni.getStorageSync('newBaseURL');\n // const result = baseUrl === '' ? 'http://123.117.152.120:8090' : getPortFromUrl(baseUrl) || getPortFromUrl('http://123.117.152.120:8090');\n __f__(\"log\", baseUrl.split('//')[1].split(':')[1], \" at pages/index/person.vue:294\");\n // console.log(result);\n // console.log(uni.getStorageSync('newBaseURL')== ''? 'http://123.117.152.120:8090' : uni.getStorageSync('newBaseURL'));\n // console.log(uni.getStorageSync('newBaseURL')== ''? 'http://123.117.152.120:8090' : uni.getStorageSync('newBaseURL').split(\"//\")[1]);\n // console.log(uni.getStorageSync('newBaseURL')== ''? 'http://123.117.152.120:8090' : uni.getStorageSync('newBaseURL').split(\"//\")[1].split(\":\")[1]);\n this.showpopupip = true;\n this.form.port = baseUrl.split('//')[1].split(':')[1];\n this.form.url = baseUrl.split('//')[1].split(':')[0];\n },\n cancelsave: function cancelsave() {\n this.showpopup = false;\n },\n save: function save() {\n var _this3 = this;\n if (this.form.nowarnmes == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '预警语音不能为空'\n });\n } else if (this.form.warnmes == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '告警语音不能为空'\n });\n } else {\n // this.showpopup=false\n (0, _api.saveWarnmes)(this.form).then(function (res) {\n __f__(\"log\", res, \" at pages/index/person.vue:324\");\n _this3.showpopup = false;\n if (res.code == 0) {\n // nowarnmes: '靠近危险请注意',\n // warnmes: '进入危险区域请注意',\n } else {}\n });\n }\n },\n typeCallback: function typeCallback(index) {\n var _this4 = this;\n this.form.type = this.typeList[index].text;\n var params = {\n type: this.typeList[index].text\n };\n __f__(\"log\", params, \" at pages/index/person.vue:341\");\n __f__(\"log\", 211111111111, \" at pages/index/person.vue:342\");\n (0, _api.findWarnmes)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/person.vue:344\");\n if (res.code == 0) {\n // nowarnmes: '靠近危险请注意',\n // warnmes: '进入危险区域请注意',\n // if (res.data.type==\"工作区\") {\n // \tthis.form.nowarnmes = res.data.nowarnmes+\";\"+res.data.nowarnmestype\n // \tthis.form.warnmes = res.data.warnmes+\";\"+res.data.warnmestype\n // }else{\n _this4.form.nowarnmes = res.data.nowarnmes;\n _this4.form.warnmes = res.data.warnmes;\n // }\n\n __f__(\"log\", _this4.form.watnmes, \" at pages/index/person.vue:356\");\n __f__(\"log\", _this4.form.nowarnmes, \" at pages/index/person.vue:357\");\n } else {}\n });\n },\n tobumen: function tobumen() {\n this.$emit('tobumen', 5);\n },\n tospeech: function tospeech() {\n //语音管理\n this.showpopup = true;\n },\n lunbo: function lunbo() {\n var _this5 = this;\n if (this.vuex_is_login) {\n (0, _api.findTbUpapp)().then(function (res) {\n if (res.code == 0) {\n if (_this5.appversion != res.data.version) {\n for (var i = 0; i < res.data.info.split(\",\").length; i++) {\n _this5.text1.push(res.data.info.split(\",\")[i]);\n }\n _this5.downloadUrl = res.data.address;\n }\n }\n });\n }\n },\n update: function update() {\n if (this.text1 == undefined) {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '未检测到新版本'\n });\n } else {\n uni.showLoading({\n title: '正在下载'\n });\n uni.downloadFile({\n url: this.downloadUrl,\n header: {\n 'Authorization': uni.getStorageSync('access_token')\n },\n success: function success(res) {\n uni.hideLoading();\n if (res.statusCode === 200) {\n // 下载成功,打开文件管理器让用户选择保存位置\n uni.openDocument({\n filePath: res.tempFilePath,\n showMenu: true,\n success: function success() {},\n fail: function fail(err) {\n uni.showToast({\n title: '文件打开失败',\n icon: 'none'\n });\n }\n });\n } else {\n __f__(\"error\", '下载失败', res, \" at pages/index/person.vue:419\");\n uni.showToast({\n title: '下载失败',\n icon: 'none'\n });\n }\n },\n fail: function fail(err) {\n uni.hideLoading();\n __f__(\"error\", '下载失败', err, \" at pages/index/person.vue:428\");\n uni.showToast({\n title: '下载失败',\n icon: 'none'\n });\n }\n });\n downloadTask.onProgressUpdate(function (res) {\n var progress = res.progress;\n uni.showLoading({\n title: \"\\u6B63\\u5728\\u4E0B\\u8F7D \".concat(progress, \"%\")\n });\n });\n }\n },\n changeweilan: function changeweilan(e) {\n _index.default.commit('$tStore', {\n name: 'isfence',\n value: e\n });\n },\n changelixian: function changelixian(e) {\n _index.default.commit('$tStore', {\n name: 'isoffline',\n value: e\n });\n },\n change3wei: function change3wei(e) {\n _index.default.commit('$tStore', {\n name: 'is3wei',\n value: e\n });\n },\n cancel: function cancel() {\n this.show = false;\n },\n confirm: function confirm() {\n _index.default.commit('$tStore', {\n name: 'vuex_is_login',\n value: false\n });\n uni.reLaunch({\n url: '/pages/index/login'\n });\n },\n getCurrentDateTime: function getCurrentDateTime() {\n var now = new Date();\n var year = now.getFullYear();\n var month = String(now.getMonth() + 1).padStart(2, '0');\n var day = String(now.getDate()).padStart(2, '0');\n var hours = String(now.getHours()).padStart(2, '0');\n var minutes = String(now.getMinutes()).padStart(2, '0');\n var seconds = String(now.getSeconds()).padStart(2, '0');\n var currentDateAndTime = year + month + day + hours + minutes + seconds;\n return currentDateAndTime;\n },\n logout: function logout() {\n _index.default.commit('$tStore', {\n name: 'uuid',\n value: ''\n });\n this.show = true;\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvcGVyc29uLnZ1ZSJdLCJuYW1lcyI6WyJtaXhpbnMiLCJjb21wb25lbnRzIiwiYnVtZW5Db20iLCJzdWNjZXNzQ29tIiwibGlua0NvbSIsImRhdGEiLCJzcmMiLCJzaG93MSIsInR5cGVMaXN0IiwidGV4dCIsImZvcm0iLCJub3dhcm5tZXMiLCJ3YXJubWVzIiwidHlwZSIsInNob3dwb3B1cGlwIiwic2hvd3BvcHVwIiwibGFiZWxXaWR0aCIsImlzYnVtZW4iLCJ2YWx1ZSIsImFwcHZlcnNpb24iLCJkb3dubG9hZFVybCIsInRleHQxIiwiaml6aGFuIiwid2VpbGFuIiwibGl4aWFuIiwic2hvdyIsInRpdGxlIiwiY29udGVudCIsInNjcm9sbEhlaWdodCIsInBhZGRpbmdUb3AiLCJsaXN0Iiwicm91dGUiLCJpY29uIiwibW91bnRlZCIsInNldFRpbWVvdXQiLCJtZXRob2RzIiwic3VibWl0Rm9ybSIsInRva2VuIiwidHh0Iiwic3RvcmUiLCJuYW1lIiwidW5pIiwidXJsIiwiZ2V0UG9ydEZyb21VcmwiLCJ1cGRhdGVkYXRhIiwiY2FuY2Vsc2F2ZSIsInNhdmUiLCJ0eXBlQ2FsbGJhY2siLCJ0b2J1bWVuIiwidG9zcGVlY2giLCJsdW5ibyIsInVwZGF0ZSIsImhlYWRlciIsInN1Y2Nlc3MiLCJmaWxlUGF0aCIsInNob3dNZW51IiwiZmFpbCIsImRvd25sb2FkVGFzayIsImNoYW5nZXdlaWxhbiIsImNoYW5nZWxpeGlhbiIsImNoYW5nZTN3ZWkiLCJjYW5jZWwiLCJjb25maXJtIiwiZ2V0Q3VycmVudERhdGVUaW1lIiwibG9nb3V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBZ0pBO0FBRUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFNQTtBQUdBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXhCQTtBQUNBO0FBRUE7QUFBQSxlQXdCQTtFQUNBQTtFQUNBQztJQUNBQztJQUNBQztJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxFQUNBO01BQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUo7UUFDQUs7UUFDQUM7UUFDQWQ7TUFDQSxHQUNBO1FBQ0FRO1FBQ0FLO1FBQ0FDO1FBQ0FkO01BQ0EsR0FDQTtRQUNBUTtRQUNBSztRQUNBQztRQUNBZDtNQUNBO0lBRUE7RUFDQTtFQUNBZTtJQUFBO0lBQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FDO01BQUE7TUFDQTtNQUNBO01BQ0E7UUFDQTtVQUNBQztRQUNBO1FBQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUNBeEI7Y0FDQXlCO1lBQ0E7WUFFQTtZQUNBO1lBQ0E7WUFDQUM7Y0FDQUM7Y0FDQXRCO1lBQ0E7WUFDQWdCO2NBQ0FPO2dCQUNBQztjQUNBO1lBQ0E7VUFDQTtZQUNBO2NBQ0E3QjtjQUNBeUI7WUFDQTtZQUNBO1lBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FLO01BQ0E7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFFQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtJQUVBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0FqQztVQUNBeUI7UUFDQTtNQUNBO1FBQ0E7VUFDQXpCO1VBQ0F5QjtRQUNBO01BQ0E7UUFFQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1lBQ0E7WUFDQTtVQUFBLENBRUEsT0FFQTtRQUNBO01BQ0E7SUFDQTtJQUNBUztNQUFBO01BQ0E7TUFDQTtRQUNBbEM7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7O1VBRUE7VUFDQTtRQUNBLFFBRUE7TUFDQTtJQUVBO0lBQ0FtQztNQUNBO0lBQ0E7SUFFQUM7TUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQTtZQUNBO2NBQ0E7Z0JBQ0E7Y0FDQTtjQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0E7VUFDQXRDO1VBQ0F5QjtRQUNBO01BQ0E7UUFDQUc7VUFDQWY7UUFDQTtRQUVBZTtVQUNBQztVQUNBVTtZQUNBO1VBQ0E7VUFDQUM7WUFDQVo7WUFDQTtjQUNBO2NBQ0FBO2dCQUNBYTtnQkFDQUM7Z0JBQ0FGO2dCQUNBRztrQkFDQWY7b0JBQ0FmO29CQUNBTTtrQkFDQTtnQkFDQTtjQUNBO1lBQ0E7Y0FDQTtjQUNBUztnQkFDQWY7Z0JBQ0FNO2NBQ0E7WUFDQTtVQUNBO1VBQ0F3QjtZQUNBZjtZQUNBO1lBQ0FBO2NBQ0FmO2NBQ0FNO1lBQ0E7VUFDQTtRQUNBO1FBQ0F5QjtVQUNBO1VBQ0FoQjtZQUNBZjtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FnQztNQUNBbkI7UUFDQUM7UUFDQXRCO01BQ0E7SUFDQTtJQUNBeUM7TUFDQXBCO1FBQ0FDO1FBQ0F0QjtNQUNBO0lBQ0E7SUFFQTBDO01BQ0FyQjtRQUNBQztRQUNBdEI7TUFDQTtJQUNBO0lBRUEyQztNQUNBO0lBQ0E7SUFDQUM7TUFDQXZCO1FBQ0FDO1FBQ0F0QjtNQUNBO01BQ0F1QjtRQUNBQztNQUNBO0lBQ0E7SUFDQXFCO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFFQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQXpCO1FBQ0FDO1FBQ0F0QjtNQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIzMjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJ0ZW1wbGF0ZS1qb2IgdG4tc2FmZS1hcmVhLWluc2V0LWJvdHRvbVwiPlxyXG5cclxuXHRcdDwhLS0g6aG26YOo6Ieq5a6a5LmJ5a+86IiqIC0tPlxyXG5cdFx0PHRuLW5hdi1iYXIgZml4ZWQgOmlzQmFjaz1cImZhbHNlXCIgOmJvdHRvbVNoYWRvdz1cImZhbHNlXCIgYmFja2dyb3VuZENvbG9yPVwidW5zZXRcIj5cclxuXHRcdFx0PHRleHQgY2xhc3M9XCJwYWdlLXRpdGxlXCI+5oiR55qEPC90ZXh0PlxyXG5cdFx0PC90bi1uYXYtYmFyPlxyXG5cclxuXHRcdDx2aWV3IGNsYXNzPVwiaG9tZS10b3AtYmdcIj48L3ZpZXc+XHJcblxyXG5cdFx0PHZpZXcgY2xhc3M9XCJob21lLXRvcC1ib3hcIiA6c3R5bGU9XCJ7cGFkZGluZ1RvcDpwYWRkaW5nVG9wKydweCd9XCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidXNlcmluZm8tYm94XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyaW5mby1pbWdcIiAgc3R5bGU9XCJcIj5cclxuXHRcdFx0XHRcdCA8IS0tIDx1LWF2YXRhciBzcmM9XCIuLi8uLi9zdGF0aWMvY29tcGFueWxvZ28ucG5nXCIgIHN0eWxlPVwiYmFja2dyb3VuZDogIzNFOTg5RDtcIj48L3UtYXZhdGFyPiAtLT5cclxuXHRcdFx0XHRcdDxpbWFnZSA6c3JjPVwiY29tcGFueWxvZ29cIiAgc3R5bGU9XCJ3aWR0aDoxMDkuMzc1cHg7aGVpZ2h0OjI1cHg7YmFja2dyb3VuZDogIzNFOTg5RDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXJpbmZvLXZhbHVlLWJveFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLW5pY2tuYW1lXCI+e3sgdnVleF9pc19sb2dpbiA/IHZ1ZXhfdXNlciA6J+aYteensCcgfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItbmlja25hbWVcIj57eyB2dWV4X2lzX2xvZ2luID8gY29tcGFueSA6J+WFrOWPuCcgfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwidXNlci1jb21wYW55XCI+e3sgdnVleF9pc19sb2dpbiA/IHVzZXJjb2RlIDon5pqC5pyq55m75b2VJyB9fTwvdmlldz4gLS0+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luOjAgMTVweDttYXJnaW4tdG9wOjIwcHg7XCI+XHJcblx0XHRcdFx0PHUtbm90aWNlLWJhciB2LWlmPVwidGV4dDEubGVuZ3RoIT0wXCIgbW9kZT1cImNsb3NhYmxlXCIgZGlyZWN0aW9uPVwicm93XCIgc3RlcFxyXG5cdFx0XHRcdFx0OnRleHQ9XCJ0ZXh0MVwiPnt7dGV4dDF9fTwvdS1ub3RpY2UtYmFyPlxyXG5cdFx0XHRcdDx1LWNlbGwtZ3JvdXA+XHJcblx0XHRcdFx0XHQ8dS1jZWxsIHNpemU9XCJsYXJnZVwiIGljb249XCJsZXZlbFwiIHRpdGxlPVwi5b2T5YmN54mI5pysXCIgOnZhbHVlPVwiYXBwdmVyc2lvblwiIGlzTGluayBAY2xpY2s9XCJ1cGRhdGVcIj5cclxuXHRcdFx0XHRcdDwvdS1jZWxsPlxyXG5cdFx0XHRcdFx0PHUtY2VsbCBzaXplPVwibGFyZ2VcIiBpY29uPVwic2V0dGluZy1maWxsXCIgdGl0bGU9XCLliIfmjaLmlbDmja7mupBcIiB2YWx1ZT1cIui+k+WFpeWcsOWdgFwiIGlzTGlua1xyXG5cdFx0XHRcdFx0XHRAY2xpY2s9XCJ1cGRhdGVkYXRhXCI+PC91LWNlbGw+XHJcblx0XHRcdFx0XHQ8dS1jZWxsIHNpemU9XCJsYXJnZVwiIGljb249XCJzZXR0aW5nLWZpbGxcIiB0aXRsZT1cIumDqOmXqOeuoeeQhlwiIGlzTGluayBAY2xpY2s9XCJ0b2J1bWVuXCI+PC91LWNlbGw+XHJcblx0XHRcdFx0XHQ8dS1jZWxsIHNpemU9XCJsYXJnZVwiIGljb249XCJzZXR0aW5nLWZpbGxcIiB0aXRsZT1cIuivremfs+iuvue9rlwiIGlzTGluayBAY2xpY2s9XCJ0b3NwZWVjaFwiPjwvdS1jZWxsPlxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQ8IS0tIDx1LWNlbGwgc2l6ZT1cImxhcmdlXCIgaWNvbj1cImJlbGwtZmlsbFwiIHRpdGxlPVwi5rWL6K+V6YCa55+lXCIgdmFsdWU9XCLlj5HpgIHpgJrnn6VcIiBpc0xpbmsgQGNsaWNrPVwibWVzc2FnZVwiPjwvdS1jZWxsPiAtLT5cclxuXHRcdFx0XHRcdDwhLS0gPHUtY2VsbCBzaXplPVwibGFyZ2VcIiBpY29uPVwiY2FtZXJhLWZpbGxcIiB0aXRsZT1cIuS/oeaBr+eZu+iusFwiIHZhbHVlPVwi5YmN5b6A5b2V5YWlXCIgaXNMaW5rIEBjbGljaz1cImNhbWVyYVwiPjwvdS1jZWxsPiAtLT5cclxuXHRcdFx0XHRcdDwhLS0gPHUtY2VsbCB2LXNob3c9XCJqdWVzZT09J+i2hee6p+euoeeQhuWRmCdcIiBzaXplPVwibGFyZ2VcIiBpY29uPVwiLi4vLi4vc3RhdGljL215L2Zha2EucG5nXCIgdGl0bGU9XCLlj5HljaHnrqHnkIZcIlxyXG5cdFx0XHRcdFx0XHR2YWx1ZT1cIui/m+WFpeeuoeeQhlwiIGlzTGluayBAY2xpY2s9XCJmYWthXCI+PC91LWNlbGw+IC0tPlxyXG5cdFx0XHRcdFx0PCEtLSA8dS1jZWxsIHNpemU9XCJsYXJnZVwiIGljb249XCIuLi8uLi9zdGF0aWMvbXkvYmFzZS5wbmdcIiB0aXRsZT1cIuaYvuekuuWfuuermVwiPlxyXG5cdFx0XHRcdFx0XHQ8dS1zd2l0Y2ggc2xvdD1cInZhbHVlXCIgdi1tb2RlbD1cImlzYmFzZVwiIEBjaGFuZ2U9XCJjaGFuZ2VqaXpoYW5cIj48L3Utc3dpdGNoPjwvdS1jZWxsPiAtLT5cclxuXHRcdFx0XHRcdDx1LWNlbGwgc2l6ZT1cImxhcmdlXCIgaWNvbj1cIi4uLy4uL3N0YXRpYy9teS9mZW5jZS5wbmdcIiB0aXRsZT1cIuaYvuekuuWbtOagj1wiPlxyXG5cdFx0XHRcdFx0XHQ8dS1zd2l0Y2ggc2xvdD1cInZhbHVlXCIgdi1tb2RlbD1cImlzZmVuY2VcIiBAY2hhbmdlPVwiY2hhbmdld2VpbGFuXCI+PC91LXN3aXRjaD48L3UtY2VsbD5cclxuXHRcdFx0XHRcdDx1LWNlbGwgc2l6ZT1cImxhcmdlXCIgaWNvbj1cIi4uLy4uL3N0YXRpYy9teS9vZmZsaW5lLnBuZ1wiIHRpdGxlPVwi56a757q/5pi+56S6XCI+XHJcblx0XHRcdFx0XHRcdDx1LXN3aXRjaCBzbG90PVwidmFsdWVcIiB2LW1vZGVsPVwiaXNvZmZsaW5lXCIgQGNoYW5nZT1cImNoYW5nZWxpeGlhblwiPjwvdS1zd2l0Y2g+PC91LWNlbGw+XHJcblx0XHRcdFx0XHQ8dS1jZWxsIHNpemU9XCJsYXJnZVwiIGljb249XCIuLi8uLi9zdGF0aWMvbXkvM3dlaS5wbmdcIiB0aXRsZT1cIuaYvuekujPnu7RcIj5cclxuXHRcdFx0XHRcdFx0PHUtc3dpdGNoIHNsb3Q9XCJ2YWx1ZVwiIHYtbW9kZWw9XCJpczN3ZWlcIiBAY2hhbmdlPVwiY2hhbmdlM3dlaVwiPjwvdS1zd2l0Y2g+PC91LWNlbGw+XHJcblx0XHRcdFx0XHQ8IS0tIDx1LWNlbGwgc2l6ZT1cImxhcmdlXCIgaWNvbj1cIi4uLy4uL3N0YXRpYy9teS9jZWp1LnBuZ1wiIHRpdGxlPVwi5a+754mp6Ziy5LiiXCI+XHJcblx0XHRcdFx0XHRcdFx0PHUtc3dpdGNoIHNsb3Q9XCJ2YWx1ZVwiIHYtbW9kZWw9XCJpc2NlanVcIiBAY2hhbmdlPVwiY2hhbmdlY2VqdVwiPjwvdS1zd2l0Y2g+PC91LWNlbGw+IC0tPlxyXG5cdFx0XHRcdDwvdS1jZWxsLWdyb3VwPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PHNjcm9sbC12aWV3IHNjcm9sbC15PVwidHJ1ZVwiIGNsYXNzPVwic2Nyb2xsLVlcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzY3JvbGwtYm94XCI+XHJcblxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3Njcm9sbC12aWV3PlxyXG5cclxuXHRcdDx2aWV3IGNsYXNzPVwiY29uZmlybS1ib3hcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJjb25maXJtLXJpZ2h0XCIgQGNsaWNrPVwibG9nb3V0XCIgdi1pZj1cInZ1ZXhfaXNfbG9naW5cIj7pgIDlh7rnmbvlvZU8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiY29uZmlybS1yaWdodFwiIEBjbGljaz1cImNvbmZpcm1cIiB2LWlmPVwiIXZ1ZXhfaXNfbG9naW5cIj7ljrvnmbvlvZU8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHRcclxuPCEtLSBcdFx0PHRuLXBvcHVwIHYtbW9kZWw9XCJzaG93cG9wdXBcIiBtb2RlPVwiYm90dG9tXCIgY2xvc2VCdG4+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwicGFnZS13cmFwIHUtc2tlbGV0b25cIj5cclxuXHRcdFx0XHQ8dG4tZm9ybT5cclxuXHRcdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLnsbvlnos6XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS50eXBlXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cxID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup57G75Z6LXCIgLz5cclxuXHRcdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cInR5cGVMaXN0XCIgdi1tb2RlbD1cInNob3cxXCIgQGNsaWNrPVwidHlwZUNhbGxiYWNrXCI+PC90bi1hY3Rpb24tc2hlZXQ+XHJcblx0XHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuWQjeensDpcIj5cclxuXHRcdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLm5hbWVcIiBpbnB1dEFsaWduPVwicmlnaHRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeWQjeensFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHRcdFxyXG5cdFx0XHRcdDwvdG4tZm9ybT4gXHJcblx0XHRcdFx0PGJ1dHRvbiBzdHlsZT1cIm1hcmdpbi10b3A6IDIwcHg7XCIgdHlwZT1cInByaW1hcnlcIiBAY2xpY2s9XCJzdWJtaXRGb3JtXCI+5L+d5a2YPC9idXR0b24+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdG4tcG9wdXA+IC0tPlxyXG5cdFx0PHUtbW9kYWwgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk7XCIgYnV0dG9uUmV2ZXJzZSBjb25maXJtVGV4dD1cIuS/neWtmFwiIGNhbmNlbFRleHQ9XCLlj5bmtohcIlxyXG5cdFx0XHQ6c2hvdz1cInNob3dwb3B1cFwiIEBjYW5jZWw9XCJjYW5jZWxzYXZlXCIgQGNvbmZpcm09XCJzYXZlXCIgcmVmPVwidU1vZGFsXCIgOnNob3dDYW5jZWxCdXR0b249XCJ0cnVlXCJcclxuXHRcdFx0OmNsb3NlT25DbGlja092ZXJsYXk9XCJ0cnVlXCI+XHJcblx0XHRcdDwhLS0gPHUtaWNvbiBuYW1lPVwiY2xvc2VcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogMTBweDt0b3A6MTBweFwiIEBjbGljaz1cImNsb3NlbW9kYWxcIj48L3UtaWNvbj4gLS0+XHJcblx0XHRcdDx1LS1mb3JtIHN0eWxlPVwiXCIgbGFiZWxQb3NpdGlvbj1cImxlZnRcIiA6bW9kZWw9XCJmb3JtXCIgIHJlZj1cInVGb3JtXCI+XHJcblx0XHRcclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLlm7TmoI/nsbvlnos6XCIgcHJvcD1cInR5cGVcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS50eXBlXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cxID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6YCJ5oup5Zu05qCP57G75Z6LXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJ0eXBlTGlzdFwiIHYtbW9kZWw9XCJzaG93MVwiIEBjbGljaz1cInR5cGVDYWxsYmFja1wiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi6aKE6K2m6K+t6Z+zOlwiIHByb3A9XCJub3dhcm5tZXNcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJmb3JtLm5vd2Fybm1lc1wiIGJvcmRlcj1cIm5vbmVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpemihOitpuivremfs1wiPjwvdS0taW5wdXQ+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLlkYrorabor63pn7M6XCIgcHJvcD1cIndhcm5tZXNcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJmb3JtLndhcm5tZXNcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlkYrorabor63pn7NcIj48L3UtLWlucHV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0ICBcclxuXHRcdFx0PC91LS1mb3JtPlxyXG5cdFx0PC91LW1vZGFsPlxyXG5cdDwhLS0gXHQ8dG4tcG9wdXAgdi1tb2RlbD1cInNob3dwb3B1cFwiIG1vZGU9XCJib3R0b21cIiBjbG9zZUJ0bj5cclxuXHRcdFxyXG5cdFx0XHJcblx0XHRcdDx2aWV3IHN0eWxlPVwicGFkZGluZzogMzBycHg7bWFyZ2luLXRvcDo3MHB4O1wiPlxyXG5cdFx0XHRcdDx0bi1mb3JtPlxyXG5cdFx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuexu+WeizpcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLnR5cGVcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzEgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nnsbvlnotcIiAvPlxyXG5cdFx0XHRcdFx0XHQ8dG4tYWN0aW9uLXNoZWV0IDpsaXN0PVwidHlwZUxpc3RcIiB2LW1vZGVsPVwic2hvdzFcIiBAY2xpY2s9XCJ0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi5ZGK6K2m6K+t6Z+zOlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0ubmFtZVwiIGlucHV0QWxpZ249XCJyaWdodFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5ZGK6K2m6K+t6Z+zXCI+PC90bi1pbnB1dD5cclxuXHRcdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDwvdG4tZm9ybT5cclxuXHRcdFx0XHQ8YnV0dG9uIHN0eWxlPVwibWFyZ2luLXRvcDogMjBweDtcIiB0eXBlPVwicHJpbWFyeVwiIEBjbGljaz1cInN1Ym1pdEZvcm1cIj7mj5DkuqQ8L2J1dHRvbj5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC90bi1wb3B1cD4gLS0+XHJcblx0XHQ8IS0tIDxidW1lbkNvbSB2LXNob3c9XCJpc2J1bWVuXCIgcmVmPVwibWFpblJlZlwiPjwvYnVtZW5Db20+IC0tPlxyXG5cdFx0XHJcblx0XHQ8dG4tcG9wdXAgdi1tb2RlbD1cInNob3dwb3B1cGlwXCIgbW9kZT1cImJvdHRvbVwiIGNsb3NlQnRuPlxyXG5cdFx0XHJcblx0XHRcclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJwYWRkaW5nOiAzMHJweDttYXJnaW4tYm90dG9tOjcwcHg7XCI+XHJcblx0XHRcdFx0PHRuLWZvcm0+XHJcblx0XHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwiSVDlnLDlnYA6XCIgbGFiZWxXaWR0aD0nMTAwcnB4Jz5cclxuXHRcdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLnVybFwiIGlucHV0QWxpZ249XCJyaWdodFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWlSVDlnLDlnYBcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi56uv5Y+jOlwiIGxhYmVsV2lkdGg9JzEwMHJweCc+XHJcblx0XHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5wb3J0XCIgaW5wdXRBbGlnbj1cInJpZ2h0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXnq6/lj6NcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PC90bi1mb3JtPlxyXG5cdFx0XHRcdDxidXR0b24gc3R5bGU9XCJtYXJnaW4tdG9wOiAyMHB4O1wiIHR5cGU9XCJwcmltYXJ5XCIgQGNsaWNrPVwic3VibWl0Rm9ybVwiPuaPkOS6pDwvYnV0dG9uPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3RuLXBvcHVwPlxyXG5cdFx0PHUtbW9kYWwgOnNob3c9XCJzaG93XCIgOnRpdGxlPVwidGl0bGVcIiBAY2FuY2VsPVwiY2FuY2VsXCIgQGNvbmZpcm09XCJjb25maXJtXCIgcmVmPVwidU1vZGFsXCIgOnNob3dDYW5jZWxCdXR0b249XCJ0cnVlXCJcclxuXHRcdFx0OmNvbnRlbnQ9J2NvbnRlbnQnPjwvdS1tb2RhbD5cclxuXHRcdDxzdWNjZXNzQ29tIHJlZj1cInJlZlN1Y2Nlc3NcIj48L3N1Y2Nlc3NDb20+XHJcblxyXG5cdDwvdmlldz5cclxuXHJcblxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHQvLyBjb25zdCBjb250ZW50ID0gcmVxdWlyZSgnLi9jb250ZW50JylcclxuXHRjb25zdCBodHRwID0gdW5pLiR1Lmh0dHBcclxuXHRpbXBvcnQgY2hlY2tVcGRhdGUgZnJvbSAnQC91bmlfbW9kdWxlcy91bmktdXBncmFkZS1jZW50ZXItYXBwL3V0aWxzL2NoZWNrLXVwZGF0ZSc7XHJcblx0dmFyIHVybCA9IGh0dHAuY29uZmlnLmJhc2VVUkwuc3BsaXQoXCI6XCIpWzBdICsgXCI6XCIgKyBodHRwLmNvbmZpZy5iYXNlVVJMLnNwbGl0KFwiOlwiKVsxXVxyXG5cdGltcG9ydCBzdWNjZXNzQ29tIGZyb20gJ0AvY29tcG9uZW50cy9zdWNjZXNzLnZ1ZSdcclxuXHRpbXBvcnQge1xyXG5cdFx0Zm9ybWF0RGF0ZSxcclxuXHRcdGdldF90aW1lX2NoYV9zXHJcblx0fSBmcm9tICdAL2pzL3Rvb2xzLmpzJ1xyXG5cdGltcG9ydCBzdG9yZSBmcm9tICdAL3N0b3JlL2luZGV4LmpzJ1xyXG5cdGltcG9ydCBsaW5rQ29tIGZyb20gJ0AvY29tcG9uZW50cy9saW5rQm94LnZ1ZSdcclxuXHRpbXBvcnQgYnVtZW5Db20gZnJvbSAnLi9idW1lbi52dWUnO1xyXG5cdGltcG9ydCB7XHJcblx0XHR1cGRhdGVCYXNlVVJMXHJcblx0fSBmcm9tICdAL2NvbmZpZy9yZXF1ZXN0LmpzJyAvLyDlr7zlhaUgdXBkYXRlQmFzZVVSTCDlh73mlbBcclxuXHRpbXBvcnQge1xyXG5cdFx0Y2hlY2tMb2dpbixcclxuXHRcdFx0c2F2ZVdhcm5tZXMsXHJcblx0XHRcdGZpbmRXYXJubWVzLFxyXG5cdFx0ZmluZFRiVXBhcHAsXHJcblx0fSBmcm9tICdAL2NvbmZpZy9hcGkuanMnO1xyXG5cdGltcG9ydCB7XHJcblx0XHRtaW5Mb2dpblxyXG5cdH0gZnJvbSAnQC9qcy9taW5Mb2dpbi5qcydcclxuXHRpbXBvcnQge1xyXG5cdFx0cGFnZXNQZXJzb25cclxuXHR9IGZyb20gJ0AvanMvcGFnZXMvcGVyc29uLmpzJ1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdG1peGluczogW3BhZ2VzUGVyc29uLCBtaW5Mb2dpbl0sXHJcblx0XHRjb21wb25lbnRzOiB7XHJcblx0XHRcdGJ1bWVuQ29tLFxyXG5cdFx0XHRzdWNjZXNzQ29tLFxyXG5cdFx0XHRsaW5rQ29tXHJcblx0XHR9LFxyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRzcmM6dGhpcy5jb21wYW55bG9nbz09Jy0xJyA/IFwiLi4vLi4vc3RhdGljL2NvbXBhbnlsb2dvLnBuZ1wiIDp0aGlzLmNvbXBhbnlsb2dvLFxyXG5cdFx0XHRcdHNob3cxOmZhbHNlLFxyXG5cdFx0XHRcdHR5cGVMaXN0OiBbe1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5L+d5oqk5Yy6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+emgeWFpeWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflt6XkvZzljLonXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5a6J5YWo5Yy6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdGZvcm06IHtcclxuXHRcdFx0XHRcdG5vd2Fybm1lczogJycsXHJcblx0XHRcdFx0XHR3YXJubWVzOiAnJyxcclxuXHRcdFx0XHRcdHR5cGU6ICcnLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0c2hvd3BvcHVwaXA6ZmFsc2UsXHJcblx0XHRcdFx0c2hvd3BvcHVwOmZhbHNlLFxyXG5cdFx0XHRcdGxhYmVsV2lkdGg6IDEwMCxcclxuXHRcdFx0XHRpc2J1bWVuOiBmYWxzZSxcclxuXHRcdFx0XHR2YWx1ZTogMCxcclxuXHRcdFx0XHRhcHB2ZXJzaW9uOiAndjEuMC45JyxcclxuXHRcdFx0XHRkb3dubG9hZFVybDogJycsXHJcblx0XHRcdFx0dGV4dDE6IFtdLFxyXG5cdFx0XHRcdGppemhhbjogZmFsc2UsXHJcblx0XHRcdFx0d2VpbGFuOiBmYWxzZSxcclxuXHRcdFx0XHRsaXhpYW46IHRydWUsXHJcblx0XHRcdFx0c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0dGl0bGU6ICfpgIDlh7rnmbvlvZUnLFxyXG5cdFx0XHRcdGNvbnRlbnQ6ICfnoa7orqTpgIDlh7rlvZPliY3nmbvlvZXvvJ8nLFxyXG5cdFx0XHRcdHNjcm9sbEhlaWdodDogNTAwLFxyXG5cdFx0XHRcdHBhZGRpbmdUb3A6IDYwLFxyXG5cdFx0XHRcdGxpc3Q6IFt7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn5b2T5YmN54mI5pysJyxcclxuXHRcdFx0XHRcdFx0cm91dGU6ICcnLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnL3N0YXRpYy9teS90ZXN0MS5wbmcnLFxyXG5cdFx0XHRcdFx0XHR2YWx1ZTogJ3YxLjAuMycsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+WIh+aNouaVsOaNrua6kCcsXHJcblx0XHRcdFx0XHRcdHJvdXRlOiAndXBkYXRlZGF0YScsXHJcblx0XHRcdFx0XHRcdGljb246ICcvc3RhdGljL215L3Rlc3QyLnBuZycsXHJcblx0XHRcdFx0XHRcdHZhbHVlOiAnJyxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn5rWL6K+V6YCa55+lJyxcclxuXHRcdFx0XHRcdFx0cm91dGU6ICdtZXNzYWdlJyxcclxuXHRcdFx0XHRcdFx0aWNvbjogJy9zdGF0aWMvbXkvdGVzdDIucG5nJyxcclxuXHRcdFx0XHRcdFx0dmFsdWU6ICcnLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdF1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1vdW50ZWQoKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMuY29tcGFueWxvZ28pO1xyXG5cdFx0XHR0aGlzLmx1bmJvKClcclxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wID0gdGhpcy52dWV4X3BhZGRpbmdfdG9wXHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wICs9IDVcclxuXHRcdFx0fSwgNzAwKVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0c3VibWl0Rm9ybSgpIHtcclxuXHRcdFx0XHQvLyDmm7TmlrAgYmFzZVVSTFxyXG5cdFx0XHRcdHVwZGF0ZUJhc2VVUkwoXCJodHRwOi8vXCIgKyB0aGlzLmZvcm0udXJsICsgJzonICsgdGhpcy5mb3JtLnBvcnQpOyAvLyDosIPnlKggdXBkYXRlQmFzZVVSTCDlh73mlbBcclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRcdHRva2VuOiAgdW5pLmdldFN0b3JhZ2VTeW5jKCdhY2Nlc3NfdG9rZW4nKSxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHBhcmFtcyk7XHJcblx0XHRcdFx0XHRjaGVja0xvZ2luKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHh0OiBcIuWIh+aNouaVsOaNrua6kOaIkOWKn++8geivt+mHjeaWsOeZu+W9lVwiXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zaG93cG9wdXBpcCA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtLnBvcnQgPSAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9ybS51cmwgPSAnJ1xyXG5cdFx0XHRcdFx0XHRcdHN0b3JlLmNvbW1pdCgnJHRTdG9yZScsIHtcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU6ICd2dWV4X2lzX2xvZ2luJyxcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PnsgXHJcblx0XHRcdFx0XHRcdFx0XHR1bmkucmVMYXVuY2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvaW5kZXgvaW5kZXgnXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAzMDAwKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHh0OiByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuc2hvd3BvcHVwaXAgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9ybS5wb3J0ID0gJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0udXJsID0gJydcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdCBnZXRQb3J0RnJvbVVybCh1cmwpIHtcclxuXHRcdFx0ICAgIGlmICh0eXBlb2YgdXJsID09PSAnc3RyaW5nJyAmJiB1cmwuaW5jbHVkZXMoJy8vJykgJiYgdXJsLmluY2x1ZGVzKCc6JykpIHtcclxuXHRcdFx0ICAgICAgICByZXR1cm4gdXJsLnNwbGl0KCcvLycpWzFdLnNwbGl0KCc6JylbMV07XHJcblx0XHRcdCAgICB9XHJcblx0XHRcdCAgICByZXR1cm4gbnVsbDtcclxuXHRcdFx0fSxcclxuXHRcdFx0dXBkYXRlZGF0YSgpIHtcclxuXHRcdFx0XHRjb25zdCBiYXNlVXJsID0gdW5pLmdldFN0b3JhZ2VTeW5jKCduZXdCYXNlVVJMJyk9PSAnJz8gJ2h0dHA6Ly8xMjMuMTE3LjE1Mi4xMjA6ODA5MCcgOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ25ld0Jhc2VVUkwnKTtcclxuXHRcdFx0XHQvLyBjb25zdCByZXN1bHQgPSBiYXNlVXJsID09PSAnJyA/ICdodHRwOi8vMTIzLjExNy4xNTIuMTIwOjgwOTAnIDogZ2V0UG9ydEZyb21VcmwoYmFzZVVybCkgfHwgZ2V0UG9ydEZyb21VcmwoJ2h0dHA6Ly8xMjMuMTE3LjE1Mi4xMjA6ODA5MCcpO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGJhc2VVcmwuc3BsaXQoJy8vJylbMV0uc3BsaXQoJzonKVsxXSk7XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzdWx0KTtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyh1bmkuZ2V0U3RvcmFnZVN5bmMoJ25ld0Jhc2VVUkwnKT09ICcnPyAnaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDkwJyA6IHVuaS5nZXRTdG9yYWdlU3luYygnbmV3QmFzZVVSTCcpKTtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyh1bmkuZ2V0U3RvcmFnZVN5bmMoJ25ld0Jhc2VVUkwnKT09ICcnPyAnaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDkwJyA6IHVuaS5nZXRTdG9yYWdlU3luYygnbmV3QmFzZVVSTCcpLnNwbGl0KFwiLy9cIilbMV0pO1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHVuaS5nZXRTdG9yYWdlU3luYygnbmV3QmFzZVVSTCcpPT0gJyc/ICdodHRwOi8vMTIzLjExNy4xNTIuMTIwOjgwOTAnIDogdW5pLmdldFN0b3JhZ2VTeW5jKCduZXdCYXNlVVJMJykuc3BsaXQoXCIvL1wiKVsxXS5zcGxpdChcIjpcIilbMV0pO1xyXG5cdFx0XHRcdHRoaXMuc2hvd3BvcHVwaXAgPSB0cnVlXHJcblx0XHRcdFx0XHJcblx0XHRcdFx0dGhpcy5mb3JtLnBvcnQgPWJhc2VVcmwuc3BsaXQoJy8vJylbMV0uc3BsaXQoJzonKVsxXVxyXG5cdFx0XHRcdHRoaXMuZm9ybS51cmwgPSBiYXNlVXJsLnNwbGl0KCcvLycpWzFdLnNwbGl0KCc6JylbMF1cclxuXHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2FuY2Vsc2F2ZSgpe1xyXG5cdFx0XHRcdHRoaXMuc2hvd3BvcHVwPWZhbHNlXHJcblx0XHRcdFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzYXZlKCl7XHJcblx0XHRcdFx0aWYgKHRoaXMuZm9ybS5ub3dhcm5tZXM9PScnKSB7XHJcblx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdHR4dDogJ+mihOitpuivremfs+S4jeiDveS4uuepuidcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1lbHNlIGlmICh0aGlzLmZvcm0ud2Fybm1lcz09Jycpe1xyXG5cdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHR0eHQ6ICflkYrorabor63pn7PkuI3og73kuLrnqbonXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdC8vIHRoaXMuc2hvd3BvcHVwPWZhbHNlXHJcblx0XHRcdFx0c2F2ZVdhcm5tZXModGhpcy5mb3JtKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHR0aGlzLnNob3dwb3B1cD1mYWxzZVxyXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0Ly8gbm93YXJubWVzOiAn6Z2g6L+R5Y2x6Zmp6K+35rOo5oSPJyxcclxuXHRcdFx0XHRcdFx0Ly8gd2Fybm1lczogJ+i/m+WFpeWNsemZqeWMuuWfn+ivt+azqOaEjycsXHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0eXBlQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm0udHlwZSA9IHRoaXMudHlwZUxpc3RbaW5kZXhdLnRleHQ7XHJcblx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHR0eXBlOiB0aGlzLnR5cGVMaXN0W2luZGV4XS50ZXh0LFxyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnNvbGUubG9nKHBhcmFtcyk7XHJcblx0XHRcdGNvbnNvbGUubG9nKDIxMTExMTExMTExMSk7XHJcblx0XHRcdFx0ZmluZFdhcm5tZXMocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHQvLyBub3dhcm5tZXM6ICfpnaDov5HljbHpmanor7fms6jmhI8nLFxyXG5cdFx0XHRcdFx0Ly8gd2Fybm1lczogJ+i/m+WFpeWNsemZqeWMuuWfn+ivt+azqOaEjycsXHJcblx0XHRcdFx0XHQvLyBpZiAocmVzLmRhdGEudHlwZT09XCLlt6XkvZzljLpcIikge1xyXG5cdFx0XHRcdFx0Ly8gXHR0aGlzLmZvcm0ubm93YXJubWVzID0gcmVzLmRhdGEubm93YXJubWVzK1wiO1wiK3Jlcy5kYXRhLm5vd2Fybm1lc3R5cGVcclxuXHRcdFx0XHRcdC8vIFx0dGhpcy5mb3JtLndhcm5tZXMgPSByZXMuZGF0YS53YXJubWVzK1wiO1wiK3Jlcy5kYXRhLndhcm5tZXN0eXBlXHJcblx0XHRcdFx0XHQvLyB9ZWxzZXtcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS5ub3dhcm5tZXMgPSByZXMuZGF0YS5ub3dhcm5tZXNcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS53YXJubWVzID0gcmVzLmRhdGEud2Fybm1lc1x0XHJcblx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuZm9ybS53YXRubWVzKTtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuZm9ybS5ub3dhcm5tZXMpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHRcdFx0XHJcblx0XHRcdH0sXHJcblx0XHRcdHRvYnVtZW4oKSB7XHJcblx0XHRcdFx0dGhpcy4kZW1pdCgndG9idW1lbicsIDUpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRcclxuXHRcdFx0dG9zcGVlY2goKXtcclxuXHRcdFx0XHQvL+ivremfs+euoeeQhlxyXG5cdFx0XHRcdHRoaXMuc2hvd3BvcHVwPXRydWVcclxuXHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0bHVuYm8oKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0ZmluZFRiVXBhcHAoKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5hcHB2ZXJzaW9uICE9IHJlcy5kYXRhLnZlcnNpb24pIHtcclxuXHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgcmVzLmRhdGEuaW5mby5zcGxpdChcIixcIikubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy50ZXh0MS5wdXNoKHJlcy5kYXRhLmluZm8uc3BsaXQoXCIsXCIpW2ldKVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5kb3dubG9hZFVybCA9IHJlcy5kYXRhLmFkZHJlc3NcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR1cGRhdGUoKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMudGV4dDEgPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdHR4dDogJ+acquajgOa1i+WIsOaWsOeJiOacrCdcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+ato+WcqOS4i+i9vSdcclxuXHRcdFx0XHRcdH0pO1xyXG5cclxuXHRcdFx0XHRcdHVuaS5kb3dubG9hZEZpbGUoe1xyXG5cdFx0XHRcdFx0XHR1cmw6IHRoaXMuZG93bmxvYWRVcmwsXHJcblx0XHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHRcdCdBdXRob3JpemF0aW9uJzogdW5pLmdldFN0b3JhZ2VTeW5jKCdhY2Nlc3NfdG9rZW4nKVxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIOS4i+i9veaIkOWKn++8jOaJk+W8gOaWh+S7tueuoeeQhuWZqOiuqeeUqOaIt+mAieaLqeS/neWtmOS9jee9rlxyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLm9wZW5Eb2N1bWVudCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZpbGVQYXRoOiByZXMudGVtcEZpbGVQYXRoLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzaG93TWVudTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3VjY2VzczogKCkgPT4ge30sXHJcblx0XHRcdFx0XHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5paH5Lu25omT5byA5aSx6LSlJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcign5LiL6L295aSx6LSlJywgcmVzKTtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+S4i+i9veWksei0pScsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcign5LiL6L295aSx6LSlJywgZXJyKTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5LiL6L295aSx6LSlJyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdCAgICBkb3dubG9hZFRhc2sub25Qcm9ncmVzc1VwZGF0ZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICBjb25zdCBwcm9ncmVzcyA9IHJlcy5wcm9ncmVzcztcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICAgICAgdGl0bGU6IGDmraPlnKjkuIvovb0gJHtwcm9ncmVzc30lYFxyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgfSk7XHJcblx0XHRcdFx0XHQgICAgICAgIH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hhbmdld2VpbGFuKGUpIHtcclxuXHRcdFx0XHRzdG9yZS5jb21taXQoJyR0U3RvcmUnLCB7XHJcblx0XHRcdFx0XHRuYW1lOiAnaXNmZW5jZScsXHJcblx0XHRcdFx0XHR2YWx1ZTogZVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGNoYW5nZWxpeGlhbihlKSB7XHJcblx0XHRcdFx0c3RvcmUuY29tbWl0KCckdFN0b3JlJywge1xyXG5cdFx0XHRcdFx0bmFtZTogJ2lzb2ZmbGluZScsXHJcblx0XHRcdFx0XHR2YWx1ZTogZVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRjaGFuZ2Uzd2VpKGUpIHtcclxuXHRcdFx0XHRzdG9yZS5jb21taXQoJyR0U3RvcmUnLCB7XHJcblx0XHRcdFx0XHRuYW1lOiAnaXMzd2VpJyxcclxuXHRcdFx0XHRcdHZhbHVlOiBlXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGNhbmNlbCgpIHtcclxuXHRcdFx0XHR0aGlzLnNob3cgPSBmYWxzZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Y29uZmlybSgpIHtcclxuXHRcdFx0XHRzdG9yZS5jb21taXQoJyR0U3RvcmUnLCB7XHJcblx0XHRcdFx0XHRuYW1lOiAndnVleF9pc19sb2dpbicsXHJcblx0XHRcdFx0XHR2YWx1ZTogZmFsc2VcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHVuaS5yZUxhdW5jaCh7XHJcblx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvaW5kZXgvbG9naW4nXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldEN1cnJlbnREYXRlVGltZSgpIHtcclxuXHRcdFx0XHR2YXIgbm93ID0gbmV3IERhdGUoKTtcclxuXHRcdFx0XHR2YXIgeWVhciA9IG5vdy5nZXRGdWxsWWVhcigpO1xyXG5cdFx0XHRcdHZhciBtb250aCA9IFN0cmluZyhub3cuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJyk7XHJcblx0XHRcdFx0dmFyIGRheSA9IFN0cmluZyhub3cuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpO1xyXG5cdFx0XHRcdHZhciBob3VycyA9IFN0cmluZyhub3cuZ2V0SG91cnMoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuXHRcdFx0XHR2YXIgbWludXRlcyA9IFN0cmluZyhub3cuZ2V0TWludXRlcygpKS5wYWRTdGFydCgyLCAnMCcpO1xyXG5cdFx0XHRcdHZhciBzZWNvbmRzID0gU3RyaW5nKG5vdy5nZXRTZWNvbmRzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcblxyXG5cdFx0XHRcdHZhciBjdXJyZW50RGF0ZUFuZFRpbWUgPSB5ZWFyICsgbW9udGggKyBkYXkgKyBob3VycyArIG1pbnV0ZXMgKyBzZWNvbmRzO1xyXG5cdFx0XHRcdHJldHVybiBjdXJyZW50RGF0ZUFuZFRpbWVcclxuXHRcdFx0fSxcclxuXHRcdFx0bG9nb3V0KCkge1xyXG5cdFx0XHRcdHN0b3JlLmNvbW1pdCgnJHRTdG9yZScsIHtcclxuXHRcdFx0XHRcdG5hbWU6ICd1dWlkJyxcclxuXHRcdFx0XHRcdHZhbHVlOiAnJ1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy5zaG93ID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XHJcblx0LmJpYW9nZSB7XHJcblx0XHRib3JkZXItdG9wLWNvbG9yOiAjMDAwMDAwO1xyXG5cdH1cclxuXHJcblx0LnUtY29udGVudCB7XHJcblx0XHRwYWRkaW5nOiAyNHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRjb2xvcjogJHUtY29udGVudC1jb2xvcjtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjY7XHJcblx0fVxyXG5cclxuXHQuaG9tZS10b3AtYmcge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDE3NXB4O1xyXG5cclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMjVkZWcsICNEMUVFRTggMCUsICNEMEVFRTcgMCUsICNGNUY1RjUgMTAwJSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0ZmlsdGVyOiBibHVyKDIyMHB4KTtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxuXHJcblx0LmhvbWUtdG9wLWJveCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMzAycHg7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMzBweDtcclxuXHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzMHB4O1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcblxyXG5cdC5zY3JvbGwtWSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi10b3A6IDIzMnB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdH1cclxuXHJcblx0LnNjcm9sbC1ib3gge1xyXG5cdFx0cGFkZGluZy10b3A6IDMwcHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0fVxyXG5cclxuXHQuY29uZmlybS1ib3gge1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDY1cHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdG1hcmdpbi1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcclxuXHRcdGJvdHRvbTogNzBweDtcclxuXHRcdHBhZGRpbmc6IDAgMzBweDtcclxuXHJcblx0XHQuY29uZmlybS1sZWZ0IHtcclxuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0XHRjb2xvcjogcmdiYSgzNSwgMzUsIDM1LCAwLjUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb25maXJtLXJpZ2h0IHtcclxuXHRcdFx0aGVpZ2h0OiA0NXB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjM0U5ODlEO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAzMnB4O1xyXG5cdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnVzZXJpbmZvLWJveCB7XHJcblx0XHRwYWRkaW5nOiAwIDE1cHg7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHJcblx0XHQudXNlcmluZm8taW1nIHtcclxuXHRcdFx0Ly8gcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG5cdFx0XHRoZWlnaHQ6IDUwcHg7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0fVxyXG5cclxuXHRcdC51c2VyaW5mby12YWx1ZS1ib3gge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcblxyXG5cdFx0XHQudXNlci1uaWNrbmFtZSB7XHJcblx0XHRcdFx0aGVpZ2h0OiAyOHB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHRjb2xvcjogIzAwMDAwMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnVzZXItY29tcGFueSB7XHJcblx0XHRcdFx0aGVpZ2h0OiAyMnB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdFx0XHRjb2xvcjogcmdiYSgzNSwgMzUsIDM1LCAwLjcpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///320\n"); |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _checkUpdate = _interopRequireDefault(__webpack_require__(/*! @/uni_modules/uni-upgrade-center-app/utils/check-update */ 321));\nvar _success = _interopRequireDefault(__webpack_require__(/*! @/components/success.vue */ 102));\nvar _tools = __webpack_require__(/*! @/js/tools.js */ 120);\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/store/index.js */ 116));\nvar _linkBox = _interopRequireDefault(__webpack_require__(/*! @/components/linkBox.vue */ 337));\nvar _bumen = _interopRequireDefault(__webpack_require__(/*! ./bumen.vue */ 253));\nvar _request = __webpack_require__(/*! @/config/request.js */ 342);\nvar _api = __webpack_require__(/*! @/config/api.js */ 115);\nvar _minLogin = __webpack_require__(/*! @/js/minLogin.js */ 251);\nvar _person = __webpack_require__(/*! @/js/pages/person.js */ 343);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n// const content = require('./content')\nvar http = uni.$u.http;\nvar url = http.config.baseURL.split(\":\")[0] + \":\" + http.config.baseURL.split(\":\")[1];\nvar _default = {\n mixins: [_person.pagesPerson, _minLogin.minLogin],\n components: {\n bumenCom: _bumen.default,\n successCom: _success.default,\n linkCom: _linkBox.default\n },\n data: function data() {\n return {\n src: this.companylogo == '-1' ? \"../../static/companylogo.png\" : this.companylogo,\n show1: false,\n typeList: [{\n text: '保护区'\n }, {\n text: '禁入区'\n }, {\n text: '工作区'\n }, {\n text: '安全区'\n }],\n form: {\n nowarnmes: '',\n warnmes: '',\n type: ''\n },\n showpopupip: false,\n showpopup: false,\n labelWidth: 100,\n isbumen: false,\n value: 0,\n appversion: 'v1.1.0',\n downloadUrl: '',\n text1: [],\n jizhan: false,\n weilan: false,\n lixian: true,\n show: false,\n title: '退出登录',\n content: '确认退出当前登录?',\n scrollHeight: 500,\n paddingTop: 60,\n list: [{\n title: '当前版本',\n route: '',\n icon: '/static/my/test1.png',\n value: 'v1.0.3'\n }, {\n title: '切换数据源',\n route: 'updatedata',\n icon: '/static/my/test2.png',\n value: ''\n }, {\n title: '测试通知',\n route: 'message',\n icon: '/static/my/test2.png',\n value: ''\n }]\n };\n },\n mounted: function mounted() {\n var _this = this;\n __f__(\"log\", this.companylogo, \" at pages/index/person.vue:237\");\n this.lunbo();\n setTimeout(function () {\n _this.paddingTop = _this.vuex_padding_top;\n _this.paddingTop += 5;\n }, 700);\n },\n methods: {\n submitForm: function submitForm() {\n var _this2 = this;\n // 更新 baseURL\n (0, _request.updateBaseURL)(\"http://\" + this.form.url + ':' + this.form.port); // 调用 updateBaseURL 函数\n if (this.vuex_is_login) {\n var params = {\n token: uni.getStorageSync('access_token')\n };\n __f__(\"log\", params, \" at pages/index/person.vue:252\");\n (0, _api.checkLogin)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/person.vue:254\");\n if (res.code == 0) {\n _this2.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"切换数据源成功!请重新登录\"\n });\n _this2.showpopupip = false;\n _this2.form.port = '';\n _this2.form.url = '';\n _index.default.commit('$tStore', {\n name: 'vuex_is_login',\n value: false\n });\n setTimeout(function () {\n uni.reLaunch({\n url: '/pages/index/index'\n });\n }, 3000);\n } else {\n _this2.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.data\n });\n _this2.showpopupip = false;\n _this2.form.port = '';\n _this2.form.url = '';\n }\n });\n }\n },\n getPortFromUrl: function getPortFromUrl(url) {\n if (typeof url === 'string' && url.includes('//') && url.includes(':')) {\n return url.split('//')[1].split(':')[1];\n }\n return null;\n },\n updatedata: function updatedata() {\n var baseUrl = uni.getStorageSync('newBaseURL') == '' ? 'http://123.117.152.120:8090' : uni.getStorageSync('newBaseURL');\n // const result = baseUrl === '' ? 'http://123.117.152.120:8090' : getPortFromUrl(baseUrl) || getPortFromUrl('http://123.117.152.120:8090');\n __f__(\"log\", baseUrl.split('//')[1].split(':')[1], \" at pages/index/person.vue:294\");\n // console.log(result);\n // console.log(uni.getStorageSync('newBaseURL')== ''? 'http://123.117.152.120:8090' : uni.getStorageSync('newBaseURL'));\n // console.log(uni.getStorageSync('newBaseURL')== ''? 'http://123.117.152.120:8090' : uni.getStorageSync('newBaseURL').split(\"//\")[1]);\n // console.log(uni.getStorageSync('newBaseURL')== ''? 'http://123.117.152.120:8090' : uni.getStorageSync('newBaseURL').split(\"//\")[1].split(\":\")[1]);\n this.showpopupip = true;\n this.form.port = baseUrl.split('//')[1].split(':')[1];\n this.form.url = baseUrl.split('//')[1].split(':')[0];\n },\n cancelsave: function cancelsave() {\n this.showpopup = false;\n },\n save: function save() {\n var _this3 = this;\n if (this.form.nowarnmes == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '预警语音不能为空'\n });\n } else if (this.form.warnmes == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '告警语音不能为空'\n });\n } else {\n // this.showpopup=false\n (0, _api.saveWarnmes)(this.form).then(function (res) {\n __f__(\"log\", res, \" at pages/index/person.vue:324\");\n _this3.showpopup = false;\n if (res.code == 0) {\n // nowarnmes: '靠近危险请注意',\n // warnmes: '进入危险区域请注意',\n } else {}\n });\n }\n },\n typeCallback: function typeCallback(index) {\n var _this4 = this;\n this.form.type = this.typeList[index].text;\n var params = {\n type: this.typeList[index].text\n };\n __f__(\"log\", params, \" at pages/index/person.vue:341\");\n __f__(\"log\", 211111111111, \" at pages/index/person.vue:342\");\n (0, _api.findWarnmes)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/person.vue:344\");\n if (res.code == 0) {\n // nowarnmes: '靠近危险请注意',\n // warnmes: '进入危险区域请注意',\n // if (res.data.type==\"工作区\") {\n // \tthis.form.nowarnmes = res.data.nowarnmes+\";\"+res.data.nowarnmestype\n // \tthis.form.warnmes = res.data.warnmes+\";\"+res.data.warnmestype\n // }else{\n _this4.form.nowarnmes = res.data.nowarnmes;\n _this4.form.warnmes = res.data.warnmes;\n // }\n\n __f__(\"log\", _this4.form.watnmes, \" at pages/index/person.vue:356\");\n __f__(\"log\", _this4.form.nowarnmes, \" at pages/index/person.vue:357\");\n } else {}\n });\n },\n tobumen: function tobumen() {\n this.$emit('tobumen', 5);\n },\n tospeech: function tospeech() {\n //语音管理\n this.showpopup = true;\n },\n lunbo: function lunbo() {\n var _this5 = this;\n if (this.vuex_is_login) {\n (0, _api.findTbUpapp)().then(function (res) {\n if (res.code == 0) {\n if (_this5.appversion != res.data.version) {\n for (var i = 0; i < res.data.info.split(\",\").length; i++) {\n _this5.text1.push(res.data.info.split(\",\")[i]);\n }\n _this5.downloadUrl = res.data.address;\n }\n }\n });\n }\n },\n update: function update() {\n if (this.text1 == undefined) {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '未检测到新版本'\n });\n } else {\n uni.showLoading({\n title: '正在下载'\n });\n uni.downloadFile({\n url: this.downloadUrl,\n header: {\n 'Authorization': uni.getStorageSync('access_token')\n },\n success: function success(res) {\n uni.hideLoading();\n if (res.statusCode === 200) {\n // 下载成功,打开文件管理器让用户选择保存位置\n uni.openDocument({\n filePath: res.tempFilePath,\n showMenu: true,\n success: function success() {},\n fail: function fail(err) {\n uni.showToast({\n title: '文件打开失败',\n icon: 'none'\n });\n }\n });\n } else {\n __f__(\"error\", '下载失败', res, \" at pages/index/person.vue:419\");\n uni.showToast({\n title: '下载失败',\n icon: 'none'\n });\n }\n },\n fail: function fail(err) {\n uni.hideLoading();\n __f__(\"error\", '下载失败', err, \" at pages/index/person.vue:428\");\n uni.showToast({\n title: '下载失败',\n icon: 'none'\n });\n }\n });\n downloadTask.onProgressUpdate(function (res) {\n var progress = res.progress;\n uni.showLoading({\n title: \"\\u6B63\\u5728\\u4E0B\\u8F7D \".concat(progress, \"%\")\n });\n });\n }\n },\n changeweilan: function changeweilan(e) {\n _index.default.commit('$tStore', {\n name: 'isfence',\n value: e\n });\n },\n changelixian: function changelixian(e) {\n _index.default.commit('$tStore', {\n name: 'isoffline',\n value: e\n });\n },\n change3wei: function change3wei(e) {\n _index.default.commit('$tStore', {\n name: 'is3wei',\n value: e\n });\n },\n cancel: function cancel() {\n this.show = false;\n },\n confirm: function confirm() {\n _index.default.commit('$tStore', {\n name: 'vuex_is_login',\n value: false\n });\n uni.reLaunch({\n url: '/pages/index/login'\n });\n },\n getCurrentDateTime: function getCurrentDateTime() {\n var now = new Date();\n var year = now.getFullYear();\n var month = String(now.getMonth() + 1).padStart(2, '0');\n var day = String(now.getDate()).padStart(2, '0');\n var hours = String(now.getHours()).padStart(2, '0');\n var minutes = String(now.getMinutes()).padStart(2, '0');\n var seconds = String(now.getSeconds()).padStart(2, '0');\n var currentDateAndTime = year + month + day + hours + minutes + seconds;\n return currentDateAndTime;\n },\n logout: function logout() {\n _index.default.commit('$tStore', {\n name: 'uuid',\n value: ''\n });\n this.show = true;\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvcGVyc29uLnZ1ZSJdLCJuYW1lcyI6WyJtaXhpbnMiLCJjb21wb25lbnRzIiwiYnVtZW5Db20iLCJzdWNjZXNzQ29tIiwibGlua0NvbSIsImRhdGEiLCJzcmMiLCJzaG93MSIsInR5cGVMaXN0IiwidGV4dCIsImZvcm0iLCJub3dhcm5tZXMiLCJ3YXJubWVzIiwidHlwZSIsInNob3dwb3B1cGlwIiwic2hvd3BvcHVwIiwibGFiZWxXaWR0aCIsImlzYnVtZW4iLCJ2YWx1ZSIsImFwcHZlcnNpb24iLCJkb3dubG9hZFVybCIsInRleHQxIiwiaml6aGFuIiwid2VpbGFuIiwibGl4aWFuIiwic2hvdyIsInRpdGxlIiwiY29udGVudCIsInNjcm9sbEhlaWdodCIsInBhZGRpbmdUb3AiLCJsaXN0Iiwicm91dGUiLCJpY29uIiwibW91bnRlZCIsInNldFRpbWVvdXQiLCJtZXRob2RzIiwic3VibWl0Rm9ybSIsInRva2VuIiwidHh0Iiwic3RvcmUiLCJuYW1lIiwidW5pIiwidXJsIiwiZ2V0UG9ydEZyb21VcmwiLCJ1cGRhdGVkYXRhIiwiY2FuY2Vsc2F2ZSIsInNhdmUiLCJ0eXBlQ2FsbGJhY2siLCJ0b2J1bWVuIiwidG9zcGVlY2giLCJsdW5ibyIsInVwZGF0ZSIsImhlYWRlciIsInN1Y2Nlc3MiLCJmaWxlUGF0aCIsInNob3dNZW51IiwiZmFpbCIsImRvd25sb2FkVGFzayIsImNoYW5nZXdlaWxhbiIsImNoYW5nZWxpeGlhbiIsImNoYW5nZTN3ZWkiLCJjYW5jZWwiLCJjb25maXJtIiwiZ2V0Q3VycmVudERhdGVUaW1lIiwibG9nb3V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBZ0pBO0FBRUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFNQTtBQUdBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXhCQTtBQUNBO0FBRUE7QUFBQSxlQXdCQTtFQUNBQTtFQUNBQztJQUNBQztJQUNBQztJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxFQUNBO01BQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUo7UUFDQUs7UUFDQUM7UUFDQWQ7TUFDQSxHQUNBO1FBQ0FRO1FBQ0FLO1FBQ0FDO1FBQ0FkO01BQ0EsR0FDQTtRQUNBUTtRQUNBSztRQUNBQztRQUNBZDtNQUNBO0lBRUE7RUFDQTtFQUNBZTtJQUFBO0lBQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FDO01BQUE7TUFDQTtNQUNBO01BQ0E7UUFDQTtVQUNBQztRQUNBO1FBQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUNBeEI7Y0FDQXlCO1lBQ0E7WUFFQTtZQUNBO1lBQ0E7WUFDQUM7Y0FDQUM7Y0FDQXRCO1lBQ0E7WUFDQWdCO2NBQ0FPO2dCQUNBQztjQUNBO1lBQ0E7VUFDQTtZQUNBO2NBQ0E3QjtjQUNBeUI7WUFDQTtZQUNBO1lBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FLO01BQ0E7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFFQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtJQUVBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0FqQztVQUNBeUI7UUFDQTtNQUNBO1FBQ0E7VUFDQXpCO1VBQ0F5QjtRQUNBO01BQ0E7UUFFQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1lBQ0E7WUFDQTtVQUFBLENBRUEsT0FFQTtRQUNBO01BQ0E7SUFDQTtJQUNBUztNQUFBO01BQ0E7TUFDQTtRQUNBbEM7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7O1VBRUE7VUFDQTtRQUNBLFFBRUE7TUFDQTtJQUVBO0lBQ0FtQztNQUNBO0lBQ0E7SUFFQUM7TUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQTtZQUNBO2NBQ0E7Z0JBQ0E7Y0FDQTtjQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0E7VUFDQXRDO1VBQ0F5QjtRQUNBO01BQ0E7UUFDQUc7VUFDQWY7UUFDQTtRQUVBZTtVQUNBQztVQUNBVTtZQUNBO1VBQ0E7VUFDQUM7WUFDQVo7WUFDQTtjQUNBO2NBQ0FBO2dCQUNBYTtnQkFDQUM7Z0JBQ0FGO2dCQUNBRztrQkFDQWY7b0JBQ0FmO29CQUNBTTtrQkFDQTtnQkFDQTtjQUNBO1lBQ0E7Y0FDQTtjQUNBUztnQkFDQWY7Z0JBQ0FNO2NBQ0E7WUFDQTtVQUNBO1VBQ0F3QjtZQUNBZjtZQUNBO1lBQ0FBO2NBQ0FmO2NBQ0FNO1lBQ0E7VUFDQTtRQUNBO1FBQ0F5QjtVQUNBO1VBQ0FoQjtZQUNBZjtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FnQztNQUNBbkI7UUFDQUM7UUFDQXRCO01BQ0E7SUFDQTtJQUNBeUM7TUFDQXBCO1FBQ0FDO1FBQ0F0QjtNQUNBO0lBQ0E7SUFFQTBDO01BQ0FyQjtRQUNBQztRQUNBdEI7TUFDQTtJQUNBO0lBRUEyQztNQUNBO0lBQ0E7SUFDQUM7TUFDQXZCO1FBQ0FDO1FBQ0F0QjtNQUNBO01BQ0F1QjtRQUNBQztNQUNBO0lBQ0E7SUFDQXFCO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFFQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQXpCO1FBQ0FDO1FBQ0F0QjtNQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIzMjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJ0ZW1wbGF0ZS1qb2IgdG4tc2FmZS1hcmVhLWluc2V0LWJvdHRvbVwiPlxyXG5cclxuXHRcdDwhLS0g6aG26YOo6Ieq5a6a5LmJ5a+86IiqIC0tPlxyXG5cdFx0PHRuLW5hdi1iYXIgZml4ZWQgOmlzQmFjaz1cImZhbHNlXCIgOmJvdHRvbVNoYWRvdz1cImZhbHNlXCIgYmFja2dyb3VuZENvbG9yPVwidW5zZXRcIj5cclxuXHRcdFx0PHRleHQgY2xhc3M9XCJwYWdlLXRpdGxlXCI+5oiR55qEPC90ZXh0PlxyXG5cdFx0PC90bi1uYXYtYmFyPlxyXG5cclxuXHRcdDx2aWV3IGNsYXNzPVwiaG9tZS10b3AtYmdcIj48L3ZpZXc+XHJcblxyXG5cdFx0PHZpZXcgY2xhc3M9XCJob21lLXRvcC1ib3hcIiA6c3R5bGU9XCJ7cGFkZGluZ1RvcDpwYWRkaW5nVG9wKydweCd9XCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidXNlcmluZm8tYm94XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyaW5mby1pbWdcIiAgc3R5bGU9XCJcIj5cclxuXHRcdFx0XHRcdCA8IS0tIDx1LWF2YXRhciBzcmM9XCIuLi8uLi9zdGF0aWMvY29tcGFueWxvZ28ucG5nXCIgIHN0eWxlPVwiYmFja2dyb3VuZDogIzNFOTg5RDtcIj48L3UtYXZhdGFyPiAtLT5cclxuXHRcdFx0XHRcdDxpbWFnZSA6c3JjPVwiY29tcGFueWxvZ29cIiAgc3R5bGU9XCJ3aWR0aDoxMDkuMzc1cHg7aGVpZ2h0OjI1cHg7YmFja2dyb3VuZDogIzNFOTg5RDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXJpbmZvLXZhbHVlLWJveFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLW5pY2tuYW1lXCI+e3sgdnVleF9pc19sb2dpbiA/IHZ1ZXhfdXNlciA6J+aYteensCcgfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItbmlja25hbWVcIj57eyB2dWV4X2lzX2xvZ2luID8gY29tcGFueSA6J+WFrOWPuCcgfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwidXNlci1jb21wYW55XCI+e3sgdnVleF9pc19sb2dpbiA/IHVzZXJjb2RlIDon5pqC5pyq55m75b2VJyB9fTwvdmlldz4gLS0+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luOjAgMTVweDttYXJnaW4tdG9wOjIwcHg7XCI+XHJcblx0XHRcdFx0PHUtbm90aWNlLWJhciB2LWlmPVwidGV4dDEubGVuZ3RoIT0wXCIgbW9kZT1cImNsb3NhYmxlXCIgZGlyZWN0aW9uPVwicm93XCIgc3RlcFxyXG5cdFx0XHRcdFx0OnRleHQ9XCJ0ZXh0MVwiPnt7dGV4dDF9fTwvdS1ub3RpY2UtYmFyPlxyXG5cdFx0XHRcdDx1LWNlbGwtZ3JvdXA+XHJcblx0XHRcdFx0XHQ8dS1jZWxsIHNpemU9XCJsYXJnZVwiIGljb249XCJsZXZlbFwiIHRpdGxlPVwi5b2T5YmN54mI5pysXCIgOnZhbHVlPVwiYXBwdmVyc2lvblwiIGlzTGluayBAY2xpY2s9XCJ1cGRhdGVcIj5cclxuXHRcdFx0XHRcdDwvdS1jZWxsPlxyXG5cdFx0XHRcdFx0PHUtY2VsbCBzaXplPVwibGFyZ2VcIiBpY29uPVwic2V0dGluZy1maWxsXCIgdGl0bGU9XCLliIfmjaLmlbDmja7mupBcIiB2YWx1ZT1cIui+k+WFpeWcsOWdgFwiIGlzTGlua1xyXG5cdFx0XHRcdFx0XHRAY2xpY2s9XCJ1cGRhdGVkYXRhXCI+PC91LWNlbGw+XHJcblx0XHRcdFx0XHQ8dS1jZWxsIHNpemU9XCJsYXJnZVwiIGljb249XCJzZXR0aW5nLWZpbGxcIiB0aXRsZT1cIumDqOmXqOeuoeeQhlwiIGlzTGluayBAY2xpY2s9XCJ0b2J1bWVuXCI+PC91LWNlbGw+XHJcblx0XHRcdFx0XHQ8dS1jZWxsIHNpemU9XCJsYXJnZVwiIGljb249XCJzZXR0aW5nLWZpbGxcIiB0aXRsZT1cIuivremfs+iuvue9rlwiIGlzTGluayBAY2xpY2s9XCJ0b3NwZWVjaFwiPjwvdS1jZWxsPlxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQ8IS0tIDx1LWNlbGwgc2l6ZT1cImxhcmdlXCIgaWNvbj1cImJlbGwtZmlsbFwiIHRpdGxlPVwi5rWL6K+V6YCa55+lXCIgdmFsdWU9XCLlj5HpgIHpgJrnn6VcIiBpc0xpbmsgQGNsaWNrPVwibWVzc2FnZVwiPjwvdS1jZWxsPiAtLT5cclxuXHRcdFx0XHRcdDwhLS0gPHUtY2VsbCBzaXplPVwibGFyZ2VcIiBpY29uPVwiY2FtZXJhLWZpbGxcIiB0aXRsZT1cIuS/oeaBr+eZu+iusFwiIHZhbHVlPVwi5YmN5b6A5b2V5YWlXCIgaXNMaW5rIEBjbGljaz1cImNhbWVyYVwiPjwvdS1jZWxsPiAtLT5cclxuXHRcdFx0XHRcdDwhLS0gPHUtY2VsbCB2LXNob3c9XCJqdWVzZT09J+i2hee6p+euoeeQhuWRmCdcIiBzaXplPVwibGFyZ2VcIiBpY29uPVwiLi4vLi4vc3RhdGljL215L2Zha2EucG5nXCIgdGl0bGU9XCLlj5HljaHnrqHnkIZcIlxyXG5cdFx0XHRcdFx0XHR2YWx1ZT1cIui/m+WFpeeuoeeQhlwiIGlzTGluayBAY2xpY2s9XCJmYWthXCI+PC91LWNlbGw+IC0tPlxyXG5cdFx0XHRcdFx0PCEtLSA8dS1jZWxsIHNpemU9XCJsYXJnZVwiIGljb249XCIuLi8uLi9zdGF0aWMvbXkvYmFzZS5wbmdcIiB0aXRsZT1cIuaYvuekuuWfuuermVwiPlxyXG5cdFx0XHRcdFx0XHQ8dS1zd2l0Y2ggc2xvdD1cInZhbHVlXCIgdi1tb2RlbD1cImlzYmFzZVwiIEBjaGFuZ2U9XCJjaGFuZ2VqaXpoYW5cIj48L3Utc3dpdGNoPjwvdS1jZWxsPiAtLT5cclxuXHRcdFx0XHRcdDx1LWNlbGwgc2l6ZT1cImxhcmdlXCIgaWNvbj1cIi4uLy4uL3N0YXRpYy9teS9mZW5jZS5wbmdcIiB0aXRsZT1cIuaYvuekuuWbtOagj1wiPlxyXG5cdFx0XHRcdFx0XHQ8dS1zd2l0Y2ggc2xvdD1cInZhbHVlXCIgdi1tb2RlbD1cImlzZmVuY2VcIiBAY2hhbmdlPVwiY2hhbmdld2VpbGFuXCI+PC91LXN3aXRjaD48L3UtY2VsbD5cclxuXHRcdFx0XHRcdDx1LWNlbGwgc2l6ZT1cImxhcmdlXCIgaWNvbj1cIi4uLy4uL3N0YXRpYy9teS9vZmZsaW5lLnBuZ1wiIHRpdGxlPVwi56a757q/5pi+56S6XCI+XHJcblx0XHRcdFx0XHRcdDx1LXN3aXRjaCBzbG90PVwidmFsdWVcIiB2LW1vZGVsPVwiaXNvZmZsaW5lXCIgQGNoYW5nZT1cImNoYW5nZWxpeGlhblwiPjwvdS1zd2l0Y2g+PC91LWNlbGw+XHJcblx0XHRcdFx0XHQ8dS1jZWxsIHNpemU9XCJsYXJnZVwiIGljb249XCIuLi8uLi9zdGF0aWMvbXkvM3dlaS5wbmdcIiB0aXRsZT1cIuaYvuekujPnu7RcIj5cclxuXHRcdFx0XHRcdFx0PHUtc3dpdGNoIHNsb3Q9XCJ2YWx1ZVwiIHYtbW9kZWw9XCJpczN3ZWlcIiBAY2hhbmdlPVwiY2hhbmdlM3dlaVwiPjwvdS1zd2l0Y2g+PC91LWNlbGw+XHJcblx0XHRcdFx0XHQ8IS0tIDx1LWNlbGwgc2l6ZT1cImxhcmdlXCIgaWNvbj1cIi4uLy4uL3N0YXRpYy9teS9jZWp1LnBuZ1wiIHRpdGxlPVwi5a+754mp6Ziy5LiiXCI+XHJcblx0XHRcdFx0XHRcdFx0PHUtc3dpdGNoIHNsb3Q9XCJ2YWx1ZVwiIHYtbW9kZWw9XCJpc2NlanVcIiBAY2hhbmdlPVwiY2hhbmdlY2VqdVwiPjwvdS1zd2l0Y2g+PC91LWNlbGw+IC0tPlxyXG5cdFx0XHRcdDwvdS1jZWxsLWdyb3VwPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PHNjcm9sbC12aWV3IHNjcm9sbC15PVwidHJ1ZVwiIGNsYXNzPVwic2Nyb2xsLVlcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzY3JvbGwtYm94XCI+XHJcblxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3Njcm9sbC12aWV3PlxyXG5cclxuXHRcdDx2aWV3IGNsYXNzPVwiY29uZmlybS1ib3hcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJjb25maXJtLXJpZ2h0XCIgQGNsaWNrPVwibG9nb3V0XCIgdi1pZj1cInZ1ZXhfaXNfbG9naW5cIj7pgIDlh7rnmbvlvZU8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiY29uZmlybS1yaWdodFwiIEBjbGljaz1cImNvbmZpcm1cIiB2LWlmPVwiIXZ1ZXhfaXNfbG9naW5cIj7ljrvnmbvlvZU8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHRcclxuPCEtLSBcdFx0PHRuLXBvcHVwIHYtbW9kZWw9XCJzaG93cG9wdXBcIiBtb2RlPVwiYm90dG9tXCIgY2xvc2VCdG4+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwicGFnZS13cmFwIHUtc2tlbGV0b25cIj5cclxuXHRcdFx0XHQ8dG4tZm9ybT5cclxuXHRcdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLnsbvlnos6XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS50eXBlXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cxID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup57G75Z6LXCIgLz5cclxuXHRcdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cInR5cGVMaXN0XCIgdi1tb2RlbD1cInNob3cxXCIgQGNsaWNrPVwidHlwZUNhbGxiYWNrXCI+PC90bi1hY3Rpb24tc2hlZXQ+XHJcblx0XHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuWQjeensDpcIj5cclxuXHRcdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLm5hbWVcIiBpbnB1dEFsaWduPVwicmlnaHRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeWQjeensFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHRcdFxyXG5cdFx0XHRcdDwvdG4tZm9ybT4gXHJcblx0XHRcdFx0PGJ1dHRvbiBzdHlsZT1cIm1hcmdpbi10b3A6IDIwcHg7XCIgdHlwZT1cInByaW1hcnlcIiBAY2xpY2s9XCJzdWJtaXRGb3JtXCI+5L+d5a2YPC9idXR0b24+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdG4tcG9wdXA+IC0tPlxyXG5cdFx0PHUtbW9kYWwgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk7XCIgYnV0dG9uUmV2ZXJzZSBjb25maXJtVGV4dD1cIuS/neWtmFwiIGNhbmNlbFRleHQ9XCLlj5bmtohcIlxyXG5cdFx0XHQ6c2hvdz1cInNob3dwb3B1cFwiIEBjYW5jZWw9XCJjYW5jZWxzYXZlXCIgQGNvbmZpcm09XCJzYXZlXCIgcmVmPVwidU1vZGFsXCIgOnNob3dDYW5jZWxCdXR0b249XCJ0cnVlXCJcclxuXHRcdFx0OmNsb3NlT25DbGlja092ZXJsYXk9XCJ0cnVlXCI+XHJcblx0XHRcdDwhLS0gPHUtaWNvbiBuYW1lPVwiY2xvc2VcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogMTBweDt0b3A6MTBweFwiIEBjbGljaz1cImNsb3NlbW9kYWxcIj48L3UtaWNvbj4gLS0+XHJcblx0XHRcdDx1LS1mb3JtIHN0eWxlPVwiXCIgbGFiZWxQb3NpdGlvbj1cImxlZnRcIiA6bW9kZWw9XCJmb3JtXCIgIHJlZj1cInVGb3JtXCI+XHJcblx0XHRcclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLlm7TmoI/nsbvlnos6XCIgcHJvcD1cInR5cGVcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS50eXBlXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cxID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6YCJ5oup5Zu05qCP57G75Z6LXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJ0eXBlTGlzdFwiIHYtbW9kZWw9XCJzaG93MVwiIEBjbGljaz1cInR5cGVDYWxsYmFja1wiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi6aKE6K2m6K+t6Z+zOlwiIHByb3A9XCJub3dhcm5tZXNcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJmb3JtLm5vd2Fybm1lc1wiIGJvcmRlcj1cIm5vbmVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpemihOitpuivremfs1wiPjwvdS0taW5wdXQ+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLlkYrorabor63pn7M6XCIgcHJvcD1cIndhcm5tZXNcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJmb3JtLndhcm5tZXNcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlkYrorabor63pn7NcIj48L3UtLWlucHV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0ICBcclxuXHRcdFx0PC91LS1mb3JtPlxyXG5cdFx0PC91LW1vZGFsPlxyXG5cdDwhLS0gXHQ8dG4tcG9wdXAgdi1tb2RlbD1cInNob3dwb3B1cFwiIG1vZGU9XCJib3R0b21cIiBjbG9zZUJ0bj5cclxuXHRcdFxyXG5cdFx0XHJcblx0XHRcdDx2aWV3IHN0eWxlPVwicGFkZGluZzogMzBycHg7bWFyZ2luLXRvcDo3MHB4O1wiPlxyXG5cdFx0XHRcdDx0bi1mb3JtPlxyXG5cdFx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuexu+WeizpcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLnR5cGVcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzEgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nnsbvlnotcIiAvPlxyXG5cdFx0XHRcdFx0XHQ8dG4tYWN0aW9uLXNoZWV0IDpsaXN0PVwidHlwZUxpc3RcIiB2LW1vZGVsPVwic2hvdzFcIiBAY2xpY2s9XCJ0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi5ZGK6K2m6K+t6Z+zOlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0ubmFtZVwiIGlucHV0QWxpZ249XCJyaWdodFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5ZGK6K2m6K+t6Z+zXCI+PC90bi1pbnB1dD5cclxuXHRcdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDwvdG4tZm9ybT5cclxuXHRcdFx0XHQ8YnV0dG9uIHN0eWxlPVwibWFyZ2luLXRvcDogMjBweDtcIiB0eXBlPVwicHJpbWFyeVwiIEBjbGljaz1cInN1Ym1pdEZvcm1cIj7mj5DkuqQ8L2J1dHRvbj5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC90bi1wb3B1cD4gLS0+XHJcblx0XHQ8IS0tIDxidW1lbkNvbSB2LXNob3c9XCJpc2J1bWVuXCIgcmVmPVwibWFpblJlZlwiPjwvYnVtZW5Db20+IC0tPlxyXG5cdFx0XHJcblx0XHQ8dG4tcG9wdXAgdi1tb2RlbD1cInNob3dwb3B1cGlwXCIgbW9kZT1cImJvdHRvbVwiIGNsb3NlQnRuPlxyXG5cdFx0XHJcblx0XHRcclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJwYWRkaW5nOiAzMHJweDttYXJnaW4tYm90dG9tOjcwcHg7XCI+XHJcblx0XHRcdFx0PHRuLWZvcm0+XHJcblx0XHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwiSVDlnLDlnYA6XCIgbGFiZWxXaWR0aD0nMTAwcnB4Jz5cclxuXHRcdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLnVybFwiIGlucHV0QWxpZ249XCJyaWdodFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWlSVDlnLDlnYBcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi56uv5Y+jOlwiIGxhYmVsV2lkdGg9JzEwMHJweCc+XHJcblx0XHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5wb3J0XCIgaW5wdXRBbGlnbj1cInJpZ2h0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXnq6/lj6NcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PC90bi1mb3JtPlxyXG5cdFx0XHRcdDxidXR0b24gc3R5bGU9XCJtYXJnaW4tdG9wOiAyMHB4O1wiIHR5cGU9XCJwcmltYXJ5XCIgQGNsaWNrPVwic3VibWl0Rm9ybVwiPuaPkOS6pDwvYnV0dG9uPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3RuLXBvcHVwPlxyXG5cdFx0PHUtbW9kYWwgOnNob3c9XCJzaG93XCIgOnRpdGxlPVwidGl0bGVcIiBAY2FuY2VsPVwiY2FuY2VsXCIgQGNvbmZpcm09XCJjb25maXJtXCIgcmVmPVwidU1vZGFsXCIgOnNob3dDYW5jZWxCdXR0b249XCJ0cnVlXCJcclxuXHRcdFx0OmNvbnRlbnQ9J2NvbnRlbnQnPjwvdS1tb2RhbD5cclxuXHRcdDxzdWNjZXNzQ29tIHJlZj1cInJlZlN1Y2Nlc3NcIj48L3N1Y2Nlc3NDb20+XHJcblxyXG5cdDwvdmlldz5cclxuXHJcblxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHQvLyBjb25zdCBjb250ZW50ID0gcmVxdWlyZSgnLi9jb250ZW50JylcclxuXHRjb25zdCBodHRwID0gdW5pLiR1Lmh0dHBcclxuXHRpbXBvcnQgY2hlY2tVcGRhdGUgZnJvbSAnQC91bmlfbW9kdWxlcy91bmktdXBncmFkZS1jZW50ZXItYXBwL3V0aWxzL2NoZWNrLXVwZGF0ZSc7XHJcblx0dmFyIHVybCA9IGh0dHAuY29uZmlnLmJhc2VVUkwuc3BsaXQoXCI6XCIpWzBdICsgXCI6XCIgKyBodHRwLmNvbmZpZy5iYXNlVVJMLnNwbGl0KFwiOlwiKVsxXVxyXG5cdGltcG9ydCBzdWNjZXNzQ29tIGZyb20gJ0AvY29tcG9uZW50cy9zdWNjZXNzLnZ1ZSdcclxuXHRpbXBvcnQge1xyXG5cdFx0Zm9ybWF0RGF0ZSxcclxuXHRcdGdldF90aW1lX2NoYV9zXHJcblx0fSBmcm9tICdAL2pzL3Rvb2xzLmpzJ1xyXG5cdGltcG9ydCBzdG9yZSBmcm9tICdAL3N0b3JlL2luZGV4LmpzJ1xyXG5cdGltcG9ydCBsaW5rQ29tIGZyb20gJ0AvY29tcG9uZW50cy9saW5rQm94LnZ1ZSdcclxuXHRpbXBvcnQgYnVtZW5Db20gZnJvbSAnLi9idW1lbi52dWUnO1xyXG5cdGltcG9ydCB7XHJcblx0XHR1cGRhdGVCYXNlVVJMXHJcblx0fSBmcm9tICdAL2NvbmZpZy9yZXF1ZXN0LmpzJyAvLyDlr7zlhaUgdXBkYXRlQmFzZVVSTCDlh73mlbBcclxuXHRpbXBvcnQge1xyXG5cdFx0Y2hlY2tMb2dpbixcclxuXHRcdFx0c2F2ZVdhcm5tZXMsXHJcblx0XHRcdGZpbmRXYXJubWVzLFxyXG5cdFx0ZmluZFRiVXBhcHAsXHJcblx0fSBmcm9tICdAL2NvbmZpZy9hcGkuanMnO1xyXG5cdGltcG9ydCB7XHJcblx0XHRtaW5Mb2dpblxyXG5cdH0gZnJvbSAnQC9qcy9taW5Mb2dpbi5qcydcclxuXHRpbXBvcnQge1xyXG5cdFx0cGFnZXNQZXJzb25cclxuXHR9IGZyb20gJ0AvanMvcGFnZXMvcGVyc29uLmpzJ1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdG1peGluczogW3BhZ2VzUGVyc29uLCBtaW5Mb2dpbl0sXHJcblx0XHRjb21wb25lbnRzOiB7XHJcblx0XHRcdGJ1bWVuQ29tLFxyXG5cdFx0XHRzdWNjZXNzQ29tLFxyXG5cdFx0XHRsaW5rQ29tXHJcblx0XHR9LFxyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRzcmM6dGhpcy5jb21wYW55bG9nbz09Jy0xJyA/IFwiLi4vLi4vc3RhdGljL2NvbXBhbnlsb2dvLnBuZ1wiIDp0aGlzLmNvbXBhbnlsb2dvLFxyXG5cdFx0XHRcdHNob3cxOmZhbHNlLFxyXG5cdFx0XHRcdHR5cGVMaXN0OiBbe1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5L+d5oqk5Yy6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+emgeWFpeWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflt6XkvZzljLonXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5a6J5YWo5Yy6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdGZvcm06IHtcclxuXHRcdFx0XHRcdG5vd2Fybm1lczogJycsXHJcblx0XHRcdFx0XHR3YXJubWVzOiAnJyxcclxuXHRcdFx0XHRcdHR5cGU6ICcnLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0c2hvd3BvcHVwaXA6ZmFsc2UsXHJcblx0XHRcdFx0c2hvd3BvcHVwOmZhbHNlLFxyXG5cdFx0XHRcdGxhYmVsV2lkdGg6IDEwMCxcclxuXHRcdFx0XHRpc2J1bWVuOiBmYWxzZSxcclxuXHRcdFx0XHR2YWx1ZTogMCxcclxuXHRcdFx0XHRhcHB2ZXJzaW9uOiAndjEuMS4wJyxcclxuXHRcdFx0XHRkb3dubG9hZFVybDogJycsXHJcblx0XHRcdFx0dGV4dDE6IFtdLFxyXG5cdFx0XHRcdGppemhhbjogZmFsc2UsXHJcblx0XHRcdFx0d2VpbGFuOiBmYWxzZSxcclxuXHRcdFx0XHRsaXhpYW46IHRydWUsXHJcblx0XHRcdFx0c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0dGl0bGU6ICfpgIDlh7rnmbvlvZUnLFxyXG5cdFx0XHRcdGNvbnRlbnQ6ICfnoa7orqTpgIDlh7rlvZPliY3nmbvlvZXvvJ8nLFxyXG5cdFx0XHRcdHNjcm9sbEhlaWdodDogNTAwLFxyXG5cdFx0XHRcdHBhZGRpbmdUb3A6IDYwLFxyXG5cdFx0XHRcdGxpc3Q6IFt7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn5b2T5YmN54mI5pysJyxcclxuXHRcdFx0XHRcdFx0cm91dGU6ICcnLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnL3N0YXRpYy9teS90ZXN0MS5wbmcnLFxyXG5cdFx0XHRcdFx0XHR2YWx1ZTogJ3YxLjAuMycsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+WIh+aNouaVsOaNrua6kCcsXHJcblx0XHRcdFx0XHRcdHJvdXRlOiAndXBkYXRlZGF0YScsXHJcblx0XHRcdFx0XHRcdGljb246ICcvc3RhdGljL215L3Rlc3QyLnBuZycsXHJcblx0XHRcdFx0XHRcdHZhbHVlOiAnJyxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn5rWL6K+V6YCa55+lJyxcclxuXHRcdFx0XHRcdFx0cm91dGU6ICdtZXNzYWdlJyxcclxuXHRcdFx0XHRcdFx0aWNvbjogJy9zdGF0aWMvbXkvdGVzdDIucG5nJyxcclxuXHRcdFx0XHRcdFx0dmFsdWU6ICcnLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdF1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1vdW50ZWQoKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMuY29tcGFueWxvZ28pO1xyXG5cdFx0XHR0aGlzLmx1bmJvKClcclxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wID0gdGhpcy52dWV4X3BhZGRpbmdfdG9wXHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wICs9IDVcclxuXHRcdFx0fSwgNzAwKVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0c3VibWl0Rm9ybSgpIHtcclxuXHRcdFx0XHQvLyDmm7TmlrAgYmFzZVVSTFxyXG5cdFx0XHRcdHVwZGF0ZUJhc2VVUkwoXCJodHRwOi8vXCIgKyB0aGlzLmZvcm0udXJsICsgJzonICsgdGhpcy5mb3JtLnBvcnQpOyAvLyDosIPnlKggdXBkYXRlQmFzZVVSTCDlh73mlbBcclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRcdHRva2VuOiAgdW5pLmdldFN0b3JhZ2VTeW5jKCdhY2Nlc3NfdG9rZW4nKSxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHBhcmFtcyk7XHJcblx0XHRcdFx0XHRjaGVja0xvZ2luKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHh0OiBcIuWIh+aNouaVsOaNrua6kOaIkOWKn++8geivt+mHjeaWsOeZu+W9lVwiXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zaG93cG9wdXBpcCA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtLnBvcnQgPSAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9ybS51cmwgPSAnJ1xyXG5cdFx0XHRcdFx0XHRcdHN0b3JlLmNvbW1pdCgnJHRTdG9yZScsIHtcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU6ICd2dWV4X2lzX2xvZ2luJyxcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PnsgXHJcblx0XHRcdFx0XHRcdFx0XHR1bmkucmVMYXVuY2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvaW5kZXgvaW5kZXgnXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAzMDAwKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHh0OiByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuc2hvd3BvcHVwaXAgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9ybS5wb3J0ID0gJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0udXJsID0gJydcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdCBnZXRQb3J0RnJvbVVybCh1cmwpIHtcclxuXHRcdFx0ICAgIGlmICh0eXBlb2YgdXJsID09PSAnc3RyaW5nJyAmJiB1cmwuaW5jbHVkZXMoJy8vJykgJiYgdXJsLmluY2x1ZGVzKCc6JykpIHtcclxuXHRcdFx0ICAgICAgICByZXR1cm4gdXJsLnNwbGl0KCcvLycpWzFdLnNwbGl0KCc6JylbMV07XHJcblx0XHRcdCAgICB9XHJcblx0XHRcdCAgICByZXR1cm4gbnVsbDtcclxuXHRcdFx0fSxcclxuXHRcdFx0dXBkYXRlZGF0YSgpIHtcclxuXHRcdFx0XHRjb25zdCBiYXNlVXJsID0gdW5pLmdldFN0b3JhZ2VTeW5jKCduZXdCYXNlVVJMJyk9PSAnJz8gJ2h0dHA6Ly8xMjMuMTE3LjE1Mi4xMjA6ODA5MCcgOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ25ld0Jhc2VVUkwnKTtcclxuXHRcdFx0XHQvLyBjb25zdCByZXN1bHQgPSBiYXNlVXJsID09PSAnJyA/ICdodHRwOi8vMTIzLjExNy4xNTIuMTIwOjgwOTAnIDogZ2V0UG9ydEZyb21VcmwoYmFzZVVybCkgfHwgZ2V0UG9ydEZyb21VcmwoJ2h0dHA6Ly8xMjMuMTE3LjE1Mi4xMjA6ODA5MCcpO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGJhc2VVcmwuc3BsaXQoJy8vJylbMV0uc3BsaXQoJzonKVsxXSk7XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzdWx0KTtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyh1bmkuZ2V0U3RvcmFnZVN5bmMoJ25ld0Jhc2VVUkwnKT09ICcnPyAnaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDkwJyA6IHVuaS5nZXRTdG9yYWdlU3luYygnbmV3QmFzZVVSTCcpKTtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyh1bmkuZ2V0U3RvcmFnZVN5bmMoJ25ld0Jhc2VVUkwnKT09ICcnPyAnaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDkwJyA6IHVuaS5nZXRTdG9yYWdlU3luYygnbmV3QmFzZVVSTCcpLnNwbGl0KFwiLy9cIilbMV0pO1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHVuaS5nZXRTdG9yYWdlU3luYygnbmV3QmFzZVVSTCcpPT0gJyc/ICdodHRwOi8vMTIzLjExNy4xNTIuMTIwOjgwOTAnIDogdW5pLmdldFN0b3JhZ2VTeW5jKCduZXdCYXNlVVJMJykuc3BsaXQoXCIvL1wiKVsxXS5zcGxpdChcIjpcIilbMV0pO1xyXG5cdFx0XHRcdHRoaXMuc2hvd3BvcHVwaXAgPSB0cnVlXHJcblx0XHRcdFx0XHJcblx0XHRcdFx0dGhpcy5mb3JtLnBvcnQgPWJhc2VVcmwuc3BsaXQoJy8vJylbMV0uc3BsaXQoJzonKVsxXVxyXG5cdFx0XHRcdHRoaXMuZm9ybS51cmwgPSBiYXNlVXJsLnNwbGl0KCcvLycpWzFdLnNwbGl0KCc6JylbMF1cclxuXHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2FuY2Vsc2F2ZSgpe1xyXG5cdFx0XHRcdHRoaXMuc2hvd3BvcHVwPWZhbHNlXHJcblx0XHRcdFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzYXZlKCl7XHJcblx0XHRcdFx0aWYgKHRoaXMuZm9ybS5ub3dhcm5tZXM9PScnKSB7XHJcblx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdHR4dDogJ+mihOitpuivremfs+S4jeiDveS4uuepuidcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1lbHNlIGlmICh0aGlzLmZvcm0ud2Fybm1lcz09Jycpe1xyXG5cdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHR0eHQ6ICflkYrorabor63pn7PkuI3og73kuLrnqbonXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdC8vIHRoaXMuc2hvd3BvcHVwPWZhbHNlXHJcblx0XHRcdFx0c2F2ZVdhcm5tZXModGhpcy5mb3JtKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHR0aGlzLnNob3dwb3B1cD1mYWxzZVxyXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0Ly8gbm93YXJubWVzOiAn6Z2g6L+R5Y2x6Zmp6K+35rOo5oSPJyxcclxuXHRcdFx0XHRcdFx0Ly8gd2Fybm1lczogJ+i/m+WFpeWNsemZqeWMuuWfn+ivt+azqOaEjycsXHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0eXBlQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm0udHlwZSA9IHRoaXMudHlwZUxpc3RbaW5kZXhdLnRleHQ7XHJcblx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHR0eXBlOiB0aGlzLnR5cGVMaXN0W2luZGV4XS50ZXh0LFxyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnNvbGUubG9nKHBhcmFtcyk7XHJcblx0XHRcdGNvbnNvbGUubG9nKDIxMTExMTExMTExMSk7XHJcblx0XHRcdFx0ZmluZFdhcm5tZXMocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHQvLyBub3dhcm5tZXM6ICfpnaDov5HljbHpmanor7fms6jmhI8nLFxyXG5cdFx0XHRcdFx0Ly8gd2Fybm1lczogJ+i/m+WFpeWNsemZqeWMuuWfn+ivt+azqOaEjycsXHJcblx0XHRcdFx0XHQvLyBpZiAocmVzLmRhdGEudHlwZT09XCLlt6XkvZzljLpcIikge1xyXG5cdFx0XHRcdFx0Ly8gXHR0aGlzLmZvcm0ubm93YXJubWVzID0gcmVzLmRhdGEubm93YXJubWVzK1wiO1wiK3Jlcy5kYXRhLm5vd2Fybm1lc3R5cGVcclxuXHRcdFx0XHRcdC8vIFx0dGhpcy5mb3JtLndhcm5tZXMgPSByZXMuZGF0YS53YXJubWVzK1wiO1wiK3Jlcy5kYXRhLndhcm5tZXN0eXBlXHJcblx0XHRcdFx0XHQvLyB9ZWxzZXtcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS5ub3dhcm5tZXMgPSByZXMuZGF0YS5ub3dhcm5tZXNcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS53YXJubWVzID0gcmVzLmRhdGEud2Fybm1lc1x0XHJcblx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuZm9ybS53YXRubWVzKTtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuZm9ybS5ub3dhcm5tZXMpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHRcdFx0XHJcblx0XHRcdH0sXHJcblx0XHRcdHRvYnVtZW4oKSB7XHJcblx0XHRcdFx0dGhpcy4kZW1pdCgndG9idW1lbicsIDUpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRcclxuXHRcdFx0dG9zcGVlY2goKXtcclxuXHRcdFx0XHQvL+ivremfs+euoeeQhlxyXG5cdFx0XHRcdHRoaXMuc2hvd3BvcHVwPXRydWVcclxuXHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0bHVuYm8oKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0ZmluZFRiVXBhcHAoKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5hcHB2ZXJzaW9uICE9IHJlcy5kYXRhLnZlcnNpb24pIHtcclxuXHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgcmVzLmRhdGEuaW5mby5zcGxpdChcIixcIikubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy50ZXh0MS5wdXNoKHJlcy5kYXRhLmluZm8uc3BsaXQoXCIsXCIpW2ldKVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5kb3dubG9hZFVybCA9IHJlcy5kYXRhLmFkZHJlc3NcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR1cGRhdGUoKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMudGV4dDEgPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdHR4dDogJ+acquajgOa1i+WIsOaWsOeJiOacrCdcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+ato+WcqOS4i+i9vSdcclxuXHRcdFx0XHRcdH0pO1xyXG5cclxuXHRcdFx0XHRcdHVuaS5kb3dubG9hZEZpbGUoe1xyXG5cdFx0XHRcdFx0XHR1cmw6IHRoaXMuZG93bmxvYWRVcmwsXHJcblx0XHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHRcdCdBdXRob3JpemF0aW9uJzogdW5pLmdldFN0b3JhZ2VTeW5jKCdhY2Nlc3NfdG9rZW4nKVxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIOS4i+i9veaIkOWKn++8jOaJk+W8gOaWh+S7tueuoeeQhuWZqOiuqeeUqOaIt+mAieaLqeS/neWtmOS9jee9rlxyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLm9wZW5Eb2N1bWVudCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZpbGVQYXRoOiByZXMudGVtcEZpbGVQYXRoLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzaG93TWVudTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3VjY2VzczogKCkgPT4ge30sXHJcblx0XHRcdFx0XHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5paH5Lu25omT5byA5aSx6LSlJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcign5LiL6L295aSx6LSlJywgcmVzKTtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+S4i+i9veWksei0pScsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcign5LiL6L295aSx6LSlJywgZXJyKTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5LiL6L295aSx6LSlJyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdCAgICBkb3dubG9hZFRhc2sub25Qcm9ncmVzc1VwZGF0ZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICBjb25zdCBwcm9ncmVzcyA9IHJlcy5wcm9ncmVzcztcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICAgICAgdGl0bGU6IGDmraPlnKjkuIvovb0gJHtwcm9ncmVzc30lYFxyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgfSk7XHJcblx0XHRcdFx0XHQgICAgICAgIH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hhbmdld2VpbGFuKGUpIHtcclxuXHRcdFx0XHRzdG9yZS5jb21taXQoJyR0U3RvcmUnLCB7XHJcblx0XHRcdFx0XHRuYW1lOiAnaXNmZW5jZScsXHJcblx0XHRcdFx0XHR2YWx1ZTogZVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGNoYW5nZWxpeGlhbihlKSB7XHJcblx0XHRcdFx0c3RvcmUuY29tbWl0KCckdFN0b3JlJywge1xyXG5cdFx0XHRcdFx0bmFtZTogJ2lzb2ZmbGluZScsXHJcblx0XHRcdFx0XHR2YWx1ZTogZVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRjaGFuZ2Uzd2VpKGUpIHtcclxuXHRcdFx0XHRzdG9yZS5jb21taXQoJyR0U3RvcmUnLCB7XHJcblx0XHRcdFx0XHRuYW1lOiAnaXMzd2VpJyxcclxuXHRcdFx0XHRcdHZhbHVlOiBlXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGNhbmNlbCgpIHtcclxuXHRcdFx0XHR0aGlzLnNob3cgPSBmYWxzZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Y29uZmlybSgpIHtcclxuXHRcdFx0XHRzdG9yZS5jb21taXQoJyR0U3RvcmUnLCB7XHJcblx0XHRcdFx0XHRuYW1lOiAndnVleF9pc19sb2dpbicsXHJcblx0XHRcdFx0XHR2YWx1ZTogZmFsc2VcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHVuaS5yZUxhdW5jaCh7XHJcblx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvaW5kZXgvbG9naW4nXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldEN1cnJlbnREYXRlVGltZSgpIHtcclxuXHRcdFx0XHR2YXIgbm93ID0gbmV3IERhdGUoKTtcclxuXHRcdFx0XHR2YXIgeWVhciA9IG5vdy5nZXRGdWxsWWVhcigpO1xyXG5cdFx0XHRcdHZhciBtb250aCA9IFN0cmluZyhub3cuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJyk7XHJcblx0XHRcdFx0dmFyIGRheSA9IFN0cmluZyhub3cuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpO1xyXG5cdFx0XHRcdHZhciBob3VycyA9IFN0cmluZyhub3cuZ2V0SG91cnMoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuXHRcdFx0XHR2YXIgbWludXRlcyA9IFN0cmluZyhub3cuZ2V0TWludXRlcygpKS5wYWRTdGFydCgyLCAnMCcpO1xyXG5cdFx0XHRcdHZhciBzZWNvbmRzID0gU3RyaW5nKG5vdy5nZXRTZWNvbmRzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcblxyXG5cdFx0XHRcdHZhciBjdXJyZW50RGF0ZUFuZFRpbWUgPSB5ZWFyICsgbW9udGggKyBkYXkgKyBob3VycyArIG1pbnV0ZXMgKyBzZWNvbmRzO1xyXG5cdFx0XHRcdHJldHVybiBjdXJyZW50RGF0ZUFuZFRpbWVcclxuXHRcdFx0fSxcclxuXHRcdFx0bG9nb3V0KCkge1xyXG5cdFx0XHRcdHN0b3JlLmNvbW1pdCgnJHRTdG9yZScsIHtcclxuXHRcdFx0XHRcdG5hbWU6ICd1dWlkJyxcclxuXHRcdFx0XHRcdHZhbHVlOiAnJ1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy5zaG93ID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XHJcblx0LmJpYW9nZSB7XHJcblx0XHRib3JkZXItdG9wLWNvbG9yOiAjMDAwMDAwO1xyXG5cdH1cclxuXHJcblx0LnUtY29udGVudCB7XHJcblx0XHRwYWRkaW5nOiAyNHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRjb2xvcjogJHUtY29udGVudC1jb2xvcjtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjY7XHJcblx0fVxyXG5cclxuXHQuaG9tZS10b3AtYmcge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDE3NXB4O1xyXG5cclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMjVkZWcsICNEMUVFRTggMCUsICNEMEVFRTcgMCUsICNGNUY1RjUgMTAwJSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0ZmlsdGVyOiBibHVyKDIyMHB4KTtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxuXHJcblx0LmhvbWUtdG9wLWJveCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMzAycHg7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMzBweDtcclxuXHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzMHB4O1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcblxyXG5cdC5zY3JvbGwtWSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi10b3A6IDIzMnB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdH1cclxuXHJcblx0LnNjcm9sbC1ib3gge1xyXG5cdFx0cGFkZGluZy10b3A6IDMwcHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0fVxyXG5cclxuXHQuY29uZmlybS1ib3gge1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDY1cHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdG1hcmdpbi1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcclxuXHRcdGJvdHRvbTogNzBweDtcclxuXHRcdHBhZGRpbmc6IDAgMzBweDtcclxuXHJcblx0XHQuY29uZmlybS1sZWZ0IHtcclxuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0XHRjb2xvcjogcmdiYSgzNSwgMzUsIDM1LCAwLjUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb25maXJtLXJpZ2h0IHtcclxuXHRcdFx0aGVpZ2h0OiA0NXB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjM0U5ODlEO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAzMnB4O1xyXG5cdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnVzZXJpbmZvLWJveCB7XHJcblx0XHRwYWRkaW5nOiAwIDE1cHg7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHJcblx0XHQudXNlcmluZm8taW1nIHtcclxuXHRcdFx0Ly8gcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG5cdFx0XHRoZWlnaHQ6IDUwcHg7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0fVxyXG5cclxuXHRcdC51c2VyaW5mby12YWx1ZS1ib3gge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcblxyXG5cdFx0XHQudXNlci1uaWNrbmFtZSB7XHJcblx0XHRcdFx0aGVpZ2h0OiAyOHB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHRjb2xvcjogIzAwMDAwMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnVzZXItY29tcGFueSB7XHJcblx0XHRcdFx0aGVpZ2h0OiAyMnB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdFx0XHRjb2xvcjogcmdiYSgzNSwgMzUsIDM1LCAwLjcpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///320\n"); |
| | | |
| | | /***/ }), |
| | | /* 321 */ |
| | |
| | | /***/ (function(module, exports, __webpack_require__) { |
| | | |
| | | "use strict"; |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 161));\nvar _success = _interopRequireDefault(__webpack_require__(/*! @/components/success.vue */ 102));\nvar _minLogin = __webpack_require__(/*! @/js/minLogin.js */ 251);\nvar _api = __webpack_require__(/*! @/config/api.js */ 115);\nvar _equipment = __webpack_require__(/*! @/js/pages/equipment.js */ 354);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 = {\n mixins: [_minLogin.minLogin, _equipment.pagesEquipment],\n components: {\n successCom: _success.default\n },\n data: function data() {\n return {\n show5: false,\n show4: false,\n show3: false,\n show2: false,\n labelWidth: 200,\n show1: false,\n disabled: false,\n show6: false,\n encryptionList: [{\n text: '是'\n }, {\n text: '否'\n }],\n typeList: [{\n text: '手持标签'\n }, {\n text: '车载标签'\n }, {\n text: '高精度工卡'\n }, {\n text: '提醒标签'\n }, {\n text: '闭锁装置'\n }],\n holdtypeList: [{\n text: '工作负责人'\n }, {\n text: '专责监护人'\n }, {\n text: '登高作业人'\n }, {\n text: '一般作业人'\n }, {\n text: '吊车'\n }, {\n text: '斗臂车'\n }, {\n text: '挖掘机'\n }, {\n text: '泵车'\n }, {\n text: '一般车辆'\n }],\n showpopup: false,\n form: {\n baoliu1: '',\n tagid: '',\n encryption: '',\n personname: '',\n department: '',\n type: '',\n mestagid: '',\n company: '',\n alterPerson: '',\n perCompany: '',\n bisuoid: ''\n },\n width: '40%',\n online: 0,\n offline: 0,\n isAchor: false,\n warnindex: 0,\n warlist: {},\n lock: false,\n keyword: '',\n pageNo: 1,\n pageSize: 10,\n imgStyle: {\n width: '100px',\n height: '1000px',\n borderRadius: '50%'\n },\n showSkeleton: true,\n options: [{\n text: '删除',\n style: {\n backgroundColor: '#F93737'\n }\n }],\n bumenList: [],\n tixinglist: [],\n tixingonlie: '',\n bisuoonlie: '',\n bisuolist: [],\n boxKey: 0,\n scrollHeight: 500,\n topheight: 0,\n paddingTop: 60,\n emitDate: 'indexHome',\n show: false,\n time: '',\n list: [],\n total: 0,\n options1: [{\n text: '删除',\n style: {\n backgroundColor: '#F93737'\n }\n }]\n };\n },\n computed: {\n countList: function countList() {\n var num = 0;\n for (var i in this.list) {\n num += this.list[i].fQty;\n }\n return num;\n }\n },\n mounted: function mounted() {\n var _this = this;\n this.findbisuoall();\n this.findbumenall();\n this.findtixingall();\n this.topheight = this.vuex_custom_bar_height + 15;\n setTimeout(function () {\n _this.showSkeleton = false;\n }, 1000);\n this.scrollHeight = this.screenHeight - 282;\n setTimeout(function () {\n _this.paddingTop = _this.vuex_padding_top;\n _this.paddingTop += 5;\n }, 400);\n },\n methods: {\n cancelmodal: function cancelmodal() {\n this.showpopup = false;\n },\n //保存围栏\n submitForm: function submitForm() {\n var _this2 = this;\n if (this.disabled == true) {\n //修改\n this.form.company = this.company;\n this.form.percompany = this.company;\n this.form.alterPerson = this.vuex_user;\n (0, _api.updateper)(this.form).then(function (res) {\n // if (res.code == 0) {\n\n // }\n _this2.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"修改成功\"\n });\n _this2.showpopup = false;\n setTimeout(function () {\n _this2.handleRefresh({\n page: 1,\n size: _this2.pageSize\n }, function () {\n // 可以在这里处理加载完成后的逻辑\n });\n }, 1000);\n });\n } else {\n //新增\n if (this.form.mestagid == '') {\n this.form.mestagid = '-1';\n }\n if (this.form.bisuoid == '') {\n this.form.bisuoid = '-1';\n }\n this.form.company = this.company;\n this.form.percompany = this.company;\n this.form.alterPerson = this.vuex_user;\n (0, _api.saveper)(this.form).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:342\");\n // if (res.code == 0) {\n _this2.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"保存成功\"\n });\n _this2.showpopup = false;\n _this2.handleRefresh({\n page: 1,\n size: _this2.pageSize\n }, function () {\n // 可以在这里处理加载完成后的逻辑\n });\n // }\n });\n }\n },\n goBack: function goBack() {\n this.showpopup = true;\n this.disabled = false;\n this.form.personname = '';\n this.form.encryption = '';\n this.form.tagid = '';\n this.form.department = '';\n this.form.mestagid = '';\n this.form.type = '';\n this.form.bisuoid = '';\n this.form.baoliu1 = '';\n },\n findbisuoall: function findbisuoall() {\n var _this3 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbisuo)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:381\");\n if (res.code == 0) {\n _this3.bisuolist = res.data.map(function (item) {\n return {\n value: item.online,\n text: item.tagid\n };\n });\n }\n });\n }\n },\n findtixingall: function findtixingall() {\n var _this4 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtixing)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:401\");\n if (res.code == 0) {\n _this4.tixinglist = res.data.map(function (item) {\n return {\n value: item.online,\n text: item.tagid\n };\n });\n // } else {\n // \tthis.$refs.refSuccess.showBox({\n // \t\ttype: 'error',\n // \t\ttxt: res.msg\n // \t});\n }\n });\n }\n },\n findbumenall: function findbumenall() {\n var _this5 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbumen)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:425\");\n if (res.code == 0) {\n _this5.bumenList = res.data.map(function (item) {\n return {\n value: item.name,\n text: item.name\n };\n });\n // } else {\n // \tthis.$refs.refSuccess.showBox({\n // \t\ttype: 'error',\n // \t\ttxt: res.msg\n // \t});\n }\n });\n }\n },\n bymenCallback: function bymenCallback(index) {\n __f__(\"log\", this.bumenList, \" at pages/index/tag.vue:442\");\n this.form.department = this.bumenList[index].text;\n },\n bisuoCallback: function bisuoCallback(index) {\n __f__(\"log\", this.bisuolist, \" at pages/index/tag.vue:446\");\n this.form.bisuoid = this.bisuolist[index].text;\n this.bisuoonlie = this.bisuolist[index].value;\n },\n tixingCallback: function tixingCallback(index) {\n __f__(\"log\", this.tixinglist, \" at pages/index/tag.vue:451\");\n this.form.mestagid = this.tixinglist[index].text;\n this.tixingonlie = this.tixinglist[index].value;\n },\n typeCallback: function typeCallback(index) {\n this.form.type = this.typeList[index].text;\n },\n encryptionCallback: function encryptionCallback(index) {\n this.form.encryption = this.encryptionList[index].text;\n },\n holdtypeCallback: function holdtypeCallback(index) {\n this.form.baoliu1 = this.holdtypeList[index].text;\n },\n editClick: function editClick(e, i) {\n this.editindex = i;\n this.showpopup = true;\n this.disabled = true;\n this.form.personname = e.personname;\n this.form.encryption = e.encryption;\n this.form.tagid = e.tagid;\n this.form.department = e.department;\n this.form.mestagid = e.mestagid;\n this.form.type = e.type;\n this.form.bisuoid = e.bisuoid;\n this.form.baoliu1 = e.baoliu1;\n },\n goAchor: function goAchor() {\n this.isAchor = false;\n this.$emit('goAchor');\n },\n goTag: function goTag() {\n this.isAchor = true;\n },\n // 模拟请求加载数据\n handleLoad: function handleLoad(data, callback) {\n var _this6 = this;\n var params = {\n current: data.page,\n size: data.size,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:498\");\n _this6.online = res.online;\n _this6.offline = res.offline;\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this6.list = [].concat((0, _toConsumableArray2.default)(_this6.list), list);\n callback({\n list: _this6.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n } else {\n callback({\n list: [],\n total: 0\n });\n }\n },\n handleSearch: function handleSearch(data, callback) {\n var _this7 = this;\n var params = {\n current: 1,\n size: 10,\n juese: uni.getStorageSync('juese'),\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n _this7.online = res.online;\n _this7.offline = res.offline;\n _this7.list = [];\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this7.list = [].concat((0, _toConsumableArray2.default)(_this7.list), list);\n callback({\n list: _this7.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n }\n },\n // 模拟请求数据刷新\n handleRefresh: function handleRefresh(data, callback) {\n var _this8 = this;\n var params = {\n current: data.page,\n size: data.size,\n objectid: data.objectid,\n juese: uni.getStorageSync('juese'),\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n _this8.online = res.online;\n _this8.offline = res.offline;\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this8.list = [];\n _this8.list = [].concat((0, _toConsumableArray2.default)(_this8.list), list);\n callback({\n list: _this8.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n }\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvdGFnLnZ1ZSJdLCJuYW1lcyI6WyJtaXhpbnMiLCJjb21wb25lbnRzIiwic3VjY2Vzc0NvbSIsImRhdGEiLCJzaG93NSIsInNob3c0Iiwic2hvdzMiLCJzaG93MiIsImxhYmVsV2lkdGgiLCJzaG93MSIsImRpc2FibGVkIiwic2hvdzYiLCJlbmNyeXB0aW9uTGlzdCIsInRleHQiLCJ0eXBlTGlzdCIsImhvbGR0eXBlTGlzdCIsInNob3dwb3B1cCIsImZvcm0iLCJiYW9saXUxIiwidGFnaWQiLCJlbmNyeXB0aW9uIiwicGVyc29ubmFtZSIsImRlcGFydG1lbnQiLCJ0eXBlIiwibWVzdGFnaWQiLCJjb21wYW55IiwiYWx0ZXJQZXJzb24iLCJwZXJDb21wYW55IiwiYmlzdW9pZCIsIndpZHRoIiwib25saW5lIiwib2ZmbGluZSIsImlzQWNob3IiLCJ3YXJuaW5kZXgiLCJ3YXJsaXN0IiwibG9jayIsImtleXdvcmQiLCJwYWdlTm8iLCJwYWdlU2l6ZSIsImltZ1N0eWxlIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwic2hvd1NrZWxldG9uIiwib3B0aW9ucyIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiYnVtZW5MaXN0IiwidGl4aW5nbGlzdCIsInRpeGluZ29ubGllIiwiYmlzdW9vbmxpZSIsImJpc3VvbGlzdCIsImJveEtleSIsInNjcm9sbEhlaWdodCIsInRvcGhlaWdodCIsInBhZGRpbmdUb3AiLCJlbWl0RGF0ZSIsInNob3ciLCJ0aW1lIiwibGlzdCIsInRvdGFsIiwib3B0aW9uczEiLCJjb21wdXRlZCIsImNvdW50TGlzdCIsIm51bSIsIm1vdW50ZWQiLCJzZXRUaW1lb3V0IiwibWV0aG9kcyIsImNhbmNlbG1vZGFsIiwic3VibWl0Rm9ybSIsInR4dCIsInBhZ2UiLCJzaXplIiwiZ29CYWNrIiwiZmluZGJpc3VvYWxsIiwianVlc2UiLCJ2YWx1ZSIsImZpbmR0aXhpbmdhbGwiLCJmaW5kYnVtZW5hbGwiLCJieW1lbkNhbGxiYWNrIiwiYmlzdW9DYWxsYmFjayIsInRpeGluZ0NhbGxiYWNrIiwidHlwZUNhbGxiYWNrIiwiZW5jcnlwdGlvbkNhbGxiYWNrIiwiaG9sZHR5cGVDYWxsYmFjayIsImVkaXRDbGljayIsImdvQWNob3IiLCJnb1RhZyIsImhhbmRsZUxvYWQiLCJjdXJyZW50IiwiY2FsbGJhY2siLCJoYW5kbGVTZWFyY2giLCJoYW5kbGVSZWZyZXNoIiwib2JqZWN0aWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBMkhBO0FBRUE7QUFHQTtBQVFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFHQTtFQUNBQTtFQUNBQztJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7TUFDQSxHQUVBO1FBQ0FBO01BQ0EsRUFDQTtNQUNBQztRQUNBRDtNQUNBLEdBRUE7UUFDQUE7TUFDQSxHQUVBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxFQUNBO01BQ0FFO1FBQ0FGO01BQ0EsR0FFQTtRQUNBQTtNQUNBLEdBRUE7UUFDQUE7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxHQUVBO1FBQ0FBO01BQ0E7UUFDQUE7TUFDQTtRQUNBQTtNQUNBLEVBRUE7TUFFQUc7TUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBVjtRQUNBVztRQUNBQztNQUNBO01BQ0FDO01BQ0FDO1FBQ0E5QjtRQUNBK0I7VUFDQUM7UUFDQTtNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0EvQztRQUNBK0I7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBZ0I7SUFDQUM7TUFDQTtNQUNBO1FBQ0FDO01BQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFBQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBO0lBRUFBO01BQ0E7TUFDQTtJQUNBO0VBRUE7RUFDQUM7SUFDQUM7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFFQTtVQUdBOztVQUVBO1VBQ0E7WUFDQTdDO1lBQ0E4QztVQUNBO1VBQ0E7VUFDQUo7WUFDQTtjQUNBSztjQUNBQztZQUNBO2NBQ0E7WUFBQSxDQUNBO1VBQ0E7UUFHQTtNQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFFQTtVQUNBO1VBQ0E7VUFDQTtZQUNBaEQ7WUFDQThDO1VBQ0E7VUFDQTtVQUNBO1lBQ0FDO1lBQ0FDO1VBQ0E7WUFDQTtVQUFBLENBQ0E7VUFDQTtRQUVBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFHQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQWhEO1VBQ0FpRDtRQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FBQTtnQkFDQUM7Z0JBQ0E5RDtjQUNBO1lBQUE7VUFDQTtRQUVBO01BQ0E7SUFFQTtJQUVBK0Q7TUFBQTtNQUNBO1FBQ0E7VUFDQW5EO1VBQ0FpRDtRQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FBQTtnQkFDQUM7Z0JBQ0E5RDtjQUNBO1lBQUE7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBRUE7SUFFQWdFO01BQUE7TUFDQTtRQUNBO1VBQ0FwRDtVQUNBaUQ7UUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQUE7Z0JBQ0FDO2dCQUNBOUQ7Y0FDQTtZQUFBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUVBO0lBQ0FpRTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUVBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BRUE7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBRUE7SUFDQUM7TUFBQTtNQUNBO1FBQ0FDO1FBQ0FqQjtRQUNBOUM7UUFDQWlEO01BQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBVDtjQUNBO2NBQ0E7Z0JBQ0FQO2NBQ0E7Y0FDQTtjQUNBK0I7Z0JBQ0EvQjtnQkFDQUM7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E4QjtVQUNBL0I7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7SUFDQStCO01BQUE7TUFDQTtRQUNBRjtRQUNBakI7UUFDQUc7UUFDQWpEO01BQ0E7TUFDQTtRQUNBO1VBRUE7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBd0M7Y0FDQTtjQUNBO2dCQUNBUDtjQUNBO2NBQ0E7Y0FDQStCO2dCQUNBL0I7Z0JBQ0FDO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQWdDO01BQUE7TUFDQTtRQUNBSDtRQUNBakI7UUFDQXFCO1FBQ0FsQjtRQUNBakQ7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBd0M7Y0FDQTtjQUNBO2dCQUNBUDtjQUNBO2NBQ0E7Y0FDQTtjQUNBK0I7Z0JBQ0EvQjtnQkFDQUM7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMzUzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwidGVtcGxhdGUtam9iIHRuLXNhZmUtYXJlYS1pbnNldC1ib3R0b20gdG4tc2tlbGV0b25cIj5cclxuXHJcblx0XHQ8IS0tIOmhtumDqOiHquWumuS5ieWvvOiIqiAtLT5cclxuXHRcdDx0bi1uYXYtYmFyIGZpeGVkIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTtcIiBhbHBoYSBjdXN0b21CYWNrPlxyXG5cdFx0XHQ8dmlldyBzbG90PVwicmlnaHRcIiBjbGFzcz0ndG4tY3VzdG9tLW5hdi1iYXJfX2JhY2snIEBjbGljaz1cImdvQmFja1wiPlxyXG5cclxuXHRcdFx0XHQ8dGV4dCBzdHlsZT1cIm1hcmdpbi1yaWdodDogMjBweDtcIj7mlrDlop48L3RleHQ+XHJcblx0XHRcdFx0PCEtLSA8dGV4dCBjbGFzcz0ndG4taWNvbiBhZGQnPjwvdGV4dD4gLS0+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PCEtLSA8dGV4dCBjbGFzcz1cInRpdGxlX2xpbmVzcGFuXCIgQGNsaWNrPVwiZ29BY2hvclwiPuWfuuermTwvdGV4dD4gLS0+XHJcblx0XHRcdDx0ZXh0IHYtaWY9XCJpc0FjaG9yPT1mYWxzZVwiIGNsYXNzPVwidGl0bGVfbGluZXNwYW5cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiIEBjbGljaz1cImdvQWNob3JcIj7moIfnrb7nrqHnkIY8L3RleHQ+XHJcblx0XHRcdDx0ZXh0IHYtZWxzZSBjbGFzcz1cInRpdGxlX2xpbmVzcGFuXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTBweDtcIiBAY2xpY2s9XCJnb1RhZ1wiPuagh+etvueuoeeQhjwvdGV4dD5cclxuXHRcdDwvdG4tbmF2LWJhcj5cclxuXHJcblx0XHQ8dmlldyB2LXNob3c9XCJsb2NrPT1mYWxzZVwiIGNsYXNzPVwicGFnZS13cmFwIHUtc2tlbGV0b25cIj5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O3dpZHRoOiA1MCU7bGVmdDogNSVcIlxyXG5cdFx0XHRcdDpzdHlsZT1cIntkaXNwbGF5OidmbGV4JywgdG9wOiB0b3BoZWlnaHQrJ3B4Jyxwb3NpdGlvbjogJ2Fic29sdXRlJyx3aWR0aDogJzUwJScsbGVmdDogJzUlJ31cIj5cclxuXHJcblx0XHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogIzAwYWFmZjtcIj7lnKjnur/vvJp7e29ubGluZX19PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwiY29sb3I6ICMwMGFhZmY7bWFyZ2luLWxlZnQ6IDIwcHg7XCI+56a757q/77yae3tvZmZsaW5lfX08L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PGRhdGEtbGlzdCA6d2lkdGg9XCJ3aWR0aFwiIGNsYXNzPVwiZGF0YS1saXN0XCIgcmVmPVwibGlzdFwiIEBsb2FkPVwiaGFuZGxlTG9hZFwiIEByZWZyZXNoPVwiaGFuZGxlUmVmcmVzaFwiXHJcblx0XHRcdFx0c3R5bGU9XCJtYXJnaW4tdG9wOiAxMDBweDtcIj5cclxuXHJcblx0XHRcdFx0PHZpZXcgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGxpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdDx0bi1idXR0b24gc2hhcGU9XCJpY29uXCIgY2xhc3M9XCJ0bi1pY29uLWVkaXRcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OiA4NSU7XCIgc2l6ZT1cImxnXCJcclxuXHRcdFx0XHRcdFx0QGNsaWNrPVwiZWRpdENsaWNrKGl0ZW0saW5kZXgpXCI+PC90bi1idXR0b24+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7bWFyZ2luLWJvdHRvbTogMTBweDtcIiBjbGFzcz1cImZsZXggZmxleC1kaXJlY3Rpb25cIj5cclxuXHRcdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cIml0ZW0ub25saW5lPT0xXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiA4cHg7bWFyZ2luLXJpZ2h0OiA4cHg7XCIgOmlzRG90PVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0dHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHRcdDx1LWJhZGdlIHYtZWxzZSBzdHlsZT1cIm1hcmdpbi10b3A6IDhweDttYXJnaW4tcmlnaHQ6IDhweDtcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cImluZm9cIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHRcdDx2aWV3Pue8luWPtzp7e2l0ZW0udGFnaWR9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIj7lkI3np7A6e3tpdGVtLnBlcnNvbm5hbWV9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dmlldyB2LWlmPVwiaXRlbS5wb25saW5lPT0xXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIj7lnKjnur88L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtZWxzZSBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAyMHB4O1wiPuemu+e6vzwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDIwcHg7XCI+XHJcblx0XHRcdFx0XHRcdFx054mI5pysOnt7aXRlbS52ZXJzaW9uPT1udWxsID8gJ+acquefpScgOiBpdGVtLnZlcnNpb259fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dmlldyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAyMHB4O1wiPueUtemHjzp7e2l0ZW0ucHBvd2VyfX0lPC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDttYXJnaW4tbGVmdDogMTRweDttYXJnaW4tYm90dG9tOiAxMHB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiAjNWU1ZTVlO1wiPuagh+etvuexu+Weizp7e2l0ZW0udHlwZX19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+e3tpdGVtLnBzZXh9fTwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+6YOo6ZeoOnt7aXRlbS5kZXBhcnRtZW50fX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7bWFyZ2luLWxlZnQ6IDE0cHg7bWFyZ2luLWJvdHRvbTogMTBweDtcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogIzVlNWU1ZTtcIj7mj5DphpLmoIfnrb46e3tpdGVtLm1lc3RhZ2lkfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTRweDtjb2xvcjogIzVlNWU1ZTtcIj57e2l0ZW0ucHNleH19PC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTRweDtjb2xvcjogIzVlNWU1ZTtcIj7ogZTliqjpl63plIE6e3tpdGVtLmJpc3VvaWR9fTwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDttYXJnaW4tbGVmdDogMTRweDttYXJnaW4tYm90dG9tOiAxMHB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiAjNWU1ZTVlO1wiPuWKoOWvhjp7e2l0ZW0uZW5jcnlwdGlvbn19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+e3tpdGVtLnBzZXh9fTwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+5beu5YiG5pWw5o2u5rqQOnt7aXRlbS5ydGNtfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxNHB4O21hcmdpbi1ib3R0b206IDEwcHg7Y29sb3I6ICM1ZTVlNWU7XCI+5pe26Ze0Ont7aXRlbS5hZGR0aW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dS1saW5lIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7bWFyZ2luLWJvdHRvbTogMTBweDtcIj48L3UtbGluZT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvZGF0YS1saXN0PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHUtbW9kYWwgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk7XCIgYnV0dG9uUmV2ZXJzZSBjb25maXJtVGV4dD1cIuS/neWtmFwiIGNhbmNlbFRleHQ9XCLlj5bmtohcIlxyXG5cdFx0XHQ6c2hvdz1cInNob3dwb3B1cFwiIEBjYW5jZWw9XCJjYW5jZWxtb2RhbFwiIEBjb25maXJtPVwic3VibWl0Rm9ybVwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8IS0tIDx0bi1wb3B1cCB2LW1vZGVsPVwic2hvd3BvcHVwXCIgbW9kZT1cImJvdHRvbVwiIGNsb3NlQnRuPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInBhZ2Utd3JhcCB1LXNrZWxldG9uXCI+IC0tPlxyXG5cdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiaXRlbS13cmFwXCI+IC0tPlxyXG5cdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWF4LWhlaWdodDogMzAwcHg7IG92ZXJmbG93LXk6IGF1dG87XCI+IC0tPlxyXG5cdFx0XHQ8dG4tZm9ybT5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi57yW5Y+3OlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IDpkaXNhYmxlZD1cImRpc2FibGVkXCIgdi1tb2RlbD1cImZvcm0udGFnaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIlxyXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIuivt+i+k+WFpee8luWPt1wiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuWQjeensDpcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5wZXJzb25uYW1lXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlkI3np7BcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLliqDlr4Y6XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8IS0tIDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5lbmNyeXB0aW9uXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlhoXlrrlcIj48L3RuLWlucHV0PiAtLT5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5lbmNyeXB0aW9uXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3c2ID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5piv5ZCm5Yqg5a+GXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJlbmNyeXB0aW9uTGlzdFwiIHYtbW9kZWw9XCJzaG93NlwiIEBjbGljaz1cImVuY3J5cHRpb25DYWxsYmFja1wiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLmjIHmnInnsbvlnos6XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0udHlwZVwiIHR5cGU9XCJzZWxlY3RcIiBAY2xpY2s9XCJzaG93MyA9IHRydWVcIiBwbGFjZWhvbGRlcj1cIuivt+mAieaLqeexu+Wei1wiIC8+XHJcblx0XHRcdFx0XHQ8dG4tYWN0aW9uLXNoZWV0IDpsaXN0PVwidHlwZUxpc3RcIiB2LW1vZGVsPVwic2hvdzNcIiBAY2xpY2s9XCJ0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi5qCH562+57G75Z6LOlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJhb2xpdTFcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzIgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nnsbvlnotcIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cImhvbGR0eXBlTGlzdFwiIHYtbW9kZWw9XCJzaG93MlwiIEBjbGljaz1cImhvbGR0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHJcblx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuWFs+iBlOmDqOmXqDpcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5kZXBhcnRtZW50XCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cxID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5YWz6IGU6YOo6ZeoXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJidW1lbkxpc3RcIiB2LW1vZGVsPVwic2hvdzFcIiBAY2xpY2s9XCJieW1lbkNhbGxiYWNrXCI+PC90bi1hY3Rpb24tc2hlZXQ+XHJcblx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLmj5DphpLmoIfnrb46XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWlmPVwidGl4aW5nb25saWU9PTEgJiYgZm9ybS5tZXN0YWdpZCE9JydcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0aXhpbmdvbmxpZT09MCAmJiBmb3JtLm1lc3RhZ2lkIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0ubWVzdGFnaWRcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzQgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nmj5DphpLmoIfnrb5cIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cInRpeGluZ2xpc3RcIiB2LW1vZGVsPVwic2hvdzRcIiBAY2xpY2s9XCJ0aXhpbmdDYWxsYmFja1wiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdFx0PCEtLSA8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0ubWVzdGFnaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaPkOmGkuagh+etvlwiPjwvdG4taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi6IGU5Yqo6Zet6ZSBOlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cImJpc3Vvb25saWU9PTEgJiYgZm9ybS5tZXN0YWdpZCE9JydcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0aXhpbmdvbmxpZT09MCAmJiBmb3JtLm1lc3RhZ2lkIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHRcdFx0XHRcdDwhLS0gPHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJpc3VvaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeiBlOWKqOmXremUgVwiPjwvdG4taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJpc3VvaWRcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzUgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nogZTliqjpl63plIFcIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cImJpc3VvbGlzdFwiIHYtbW9kZWw9XCJzaG93NVwiIEBjbGljaz1cImJpc3VvQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHJcblx0XHRcdDwvdG4tZm9ybT5cclxuXHRcdFx0PCEtLSA8L3ZpZXc+IC0tPlxyXG5cdFx0XHQ8IS0tIDwvdmlldz5cclxuXHRcdFx0XHQ8YnV0dG9uIHN0eWxlPVwibWFyZ2luLXRvcDogMjBweDtcIiB0eXBlPVwicHJpbWFyeVwiIEBjbGljaz1cInN1Ym1pdEZvcm1cIj7kv53lrZjlm7TmoI88L2J1dHRvbj4gLS0+XHJcblx0XHQ8L3UtbW9kYWw+XHJcblx0XHQ8IS0tIDwvdG4tcG9wdXA+IC0tPlxyXG5cdFx0PHRuLXNrZWxldG9uIDpzaG93PVwic2hvd1NrZWxldG9uXCI+PC90bi1za2VsZXRvbj5cclxuXHRcdDxzdWNjZXNzQ29tIHJlZj1cInJlZlN1Y2Nlc3NcIj48L3N1Y2Nlc3NDb20+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgc3VjY2Vzc0NvbSBmcm9tICdAL2NvbXBvbmVudHMvc3VjY2Vzcy52dWUnXHJcblxyXG5cdGltcG9ydCB7XHJcblx0XHRtaW5Mb2dpblxyXG5cdH0gZnJvbSAnQC9qcy9taW5Mb2dpbi5qcydcclxuXHRpbXBvcnQge1xyXG5cdFx0ZmluZGJpc3VvLFxyXG5cdFx0ZmluZHRpeGluZyxcclxuXHRcdHNhdmVwZXIsXHJcblx0XHR1cGRhdGVwZXIsXHJcblx0XHRmaW5kYnVtZW4sXHJcblx0XHRmaW5kVGFnXHJcblx0fSBmcm9tICdAL2NvbmZpZy9hcGkuanMnO1xyXG5cdGltcG9ydCB7XHJcblx0XHRwYWdlc0VxdWlwbWVudFxyXG5cdH0gZnJvbSAnQC9qcy9wYWdlcy9lcXVpcG1lbnQuanMnXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0bWl4aW5zOiBbbWluTG9naW4sIHBhZ2VzRXF1aXBtZW50XSxcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuXHRcdFx0c3VjY2Vzc0NvbVxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0c2hvdzU6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3c0OiBmYWxzZSxcclxuXHRcdFx0XHRzaG93MzogZmFsc2UsXHJcblx0XHRcdFx0c2hvdzI6IGZhbHNlLFxyXG5cdFx0XHRcdGxhYmVsV2lkdGg6IDIwMCxcclxuXHRcdFx0XHRzaG93MTogZmFsc2UsXHJcblx0XHRcdFx0ZGlzYWJsZWQ6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3c2OiBmYWxzZSxcclxuXHRcdFx0XHRlbmNyeXB0aW9uTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aYrydcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflkKYnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHR0eXBlTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aJi+aMgeagh+etvidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn6L2m6L295qCH562+J1xyXG5cdFx0XHRcdFx0fSxcclxuXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfpq5jnsr7luqblt6XljaEnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5o+Q6YaS5qCH562+J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+mXremUgeijhee9ridcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdGhvbGR0eXBlTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+W3peS9nOi0n+i0o+S6uidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5LiT6LSj55uR5oqk5Lq6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfnmbvpq5jkvZzkuJrkuronXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5LiA6Iis5L2c5Lia5Lq6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WQiui9pidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfmlpfoh4LovaYnXHJcblx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aMluaOmOacuidcclxuXHRcdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aztei9pidcclxuXHRcdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+S4gOiIrOi9pui+hidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdF0sXHJcblxyXG5cdFx0XHRcdHNob3dwb3B1cDogZmFsc2UsXHJcblx0XHRcdFx0Zm9ybToge1xyXG5cdFx0XHRcdFx0YmFvbGl1MTogJycsXHJcblx0XHRcdFx0XHR0YWdpZDogJycsXHJcblx0XHRcdFx0XHRlbmNyeXB0aW9uOicnLFxyXG5cdFx0XHRcdFx0cGVyc29ubmFtZTogJycsXHJcblx0XHRcdFx0XHRkZXBhcnRtZW50OiAnJyxcclxuXHRcdFx0XHRcdHR5cGU6ICcnLFxyXG5cdFx0XHRcdFx0bWVzdGFnaWQ6ICcnLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogJycsXHJcblx0XHRcdFx0XHRhbHRlclBlcnNvbjogJycsXHJcblx0XHRcdFx0XHRwZXJDb21wYW55OiAnJyxcclxuXHRcdFx0XHRcdGJpc3VvaWQ6ICcnXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR3aWR0aDogJzQwJScsXHJcblx0XHRcdFx0b25saW5lOiAwLFxyXG5cdFx0XHRcdG9mZmxpbmU6IDAsXHJcblx0XHRcdFx0aXNBY2hvcjogZmFsc2UsXHJcblx0XHRcdFx0d2FybmluZGV4OiAwLFxyXG5cdFx0XHRcdHdhcmxpc3Q6IHt9LFxyXG5cdFx0XHRcdGxvY2s6IGZhbHNlLFxyXG5cdFx0XHRcdGtleXdvcmQ6ICcnLFxyXG5cdFx0XHRcdHBhZ2VObzogMSxcclxuXHRcdFx0XHRwYWdlU2l6ZTogMTAsXHJcblx0XHRcdFx0aW1nU3R5bGU6IHtcclxuXHRcdFx0XHRcdHdpZHRoOiAnMTAwcHgnLFxyXG5cdFx0XHRcdFx0aGVpZ2h0OiAnMTAwMHB4JyxcclxuXHRcdFx0XHRcdGJvcmRlclJhZGl1czogJzUwJSdcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHNob3dTa2VsZXRvbjogdHJ1ZSxcclxuXHRcdFx0XHRvcHRpb25zOiBbe1xyXG5cdFx0XHRcdFx0dGV4dDogJ+WIoOmZpCcsXHJcblx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6ICcjRjkzNzM3JyxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9LCBdLFxyXG5cdFx0XHRcdGJ1bWVuTGlzdDogW10sXHJcblx0XHRcdFx0dGl4aW5nbGlzdDogW10sXHJcblx0XHRcdFx0dGl4aW5nb25saWU6ICcnLFxyXG5cdFx0XHRcdGJpc3Vvb25saWU6ICcnLFxyXG5cdFx0XHRcdGJpc3VvbGlzdDogW10sXHJcblx0XHRcdFx0Ym94S2V5OiAwLFxyXG5cdFx0XHRcdHNjcm9sbEhlaWdodDogNTAwLFxyXG5cdFx0XHRcdHRvcGhlaWdodDogMCxcclxuXHRcdFx0XHRwYWRkaW5nVG9wOiA2MCxcclxuXHRcdFx0XHRlbWl0RGF0ZTogJ2luZGV4SG9tZScsXHJcblx0XHRcdFx0c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0dGltZTogJycsXHJcblx0XHRcdFx0bGlzdDogW10sXHJcblx0XHRcdFx0dG90YWw6IDAsXHJcblx0XHRcdFx0b3B0aW9uczE6IFt7XHJcblx0XHRcdFx0XHR0ZXh0OiAn5Yig6ZmkJyxcclxuXHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmRDb2xvcjogJyNGOTM3MzcnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fV1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiB7XHJcblx0XHRcdGNvdW50TGlzdCgpIHtcclxuXHRcdFx0XHRsZXQgbnVtID0gMDtcclxuXHRcdFx0XHRmb3IgKGxldCBpIGluIHRoaXMubGlzdCkge1xyXG5cdFx0XHRcdFx0bnVtICs9IHRoaXMubGlzdFtpXS5mUXR5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gbnVtO1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHRcdFx0dGhpcy5maW5kYmlzdW9hbGwoKVxyXG5cdFx0XHR0aGlzLmZpbmRidW1lbmFsbCgpXHJcblx0XHRcdHRoaXMuZmluZHRpeGluZ2FsbCgpXHJcblx0XHRcdHRoaXMudG9waGVpZ2h0ID0gdGhpcy52dWV4X2N1c3RvbV9iYXJfaGVpZ2h0ICsgMTVcclxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5zaG93U2tlbGV0b24gPSBmYWxzZVxyXG5cdFx0XHR9LCAxMDAwKVxyXG5cdFx0XHR0aGlzLnNjcm9sbEhlaWdodCA9IHRoaXMuc2NyZWVuSGVpZ2h0IC0gMjgyO1xyXG5cclxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wID0gdGhpcy52dWV4X3BhZGRpbmdfdG9wXHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wICs9IDVcclxuXHRcdFx0fSwgNDAwKVxyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGNhbmNlbG1vZGFsKCkge1xyXG5cdFx0XHRcdHRoaXMuc2hvd3BvcHVwID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/kv53lrZjlm7TmoI9cclxuXHRcdFx0c3VibWl0Rm9ybSgpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5kaXNhYmxlZCA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHQvL+S/ruaUuVxyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLmNvbXBhbnkgPSB0aGlzLmNvbXBhbnlcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS5wZXJjb21wYW55ID0gdGhpcy5jb21wYW55XHJcblx0XHRcdFx0XHR0aGlzLmZvcm0uYWx0ZXJQZXJzb24gPSB0aGlzLnZ1ZXhfdXNlclxyXG5cclxuXHRcdFx0XHRcdHVwZGF0ZXBlcih0aGlzLmZvcm0pLnRoZW4oKHJlcykgPT4ge1xyXG5cclxuXHJcblx0XHRcdFx0XHRcdC8vIGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblxyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHR0eXBlOiAnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0dHh0OiBcIuS/ruaUueaIkOWKn1wiXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuaGFuZGxlUmVmcmVzaCh7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWdlOiAxLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2l6ZTogdGhpcy5wYWdlU2l6ZVxyXG5cdFx0XHRcdFx0XHRcdH0sICgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIOWPr+S7peWcqOi/memHjOWkhOeQhuWKoOi9veWujOaIkOWQjueahOmAu+i+kVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9LCAxMDAwKVxyXG5cdFx0XHRcdFx0XHRcclxuXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHQvL+aWsOWinlxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuZm9ybS5tZXN0YWdpZCA9PSAnJykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZvcm0ubWVzdGFnaWQgPSAnLTEnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAodGhpcy5mb3JtLmJpc3VvaWQgPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5mb3JtLmJpc3VvaWQgPSAnLTEnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLmZvcm0uY29tcGFueSA9IHRoaXMuY29tcGFueVxyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLnBlcmNvbXBhbnkgPSB0aGlzLmNvbXBhbnlcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS5hbHRlclBlcnNvbiA9IHRoaXMudnVleF91c2VyXHJcblxyXG5cdFx0XHRcdFx0c2F2ZXBlcih0aGlzLmZvcm0pLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHQvLyBpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0dHlwZTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdHR4dDogXCLkv53lrZjmiJDlip9cIlxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0dGhpcy5zaG93cG9wdXAgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHR0aGlzLmhhbmRsZVJlZnJlc2goe1xyXG5cdFx0XHRcdFx0XHRcdHBhZ2U6IDEsXHJcblx0XHRcdFx0XHRcdFx0c2l6ZTogdGhpcy5wYWdlU2l6ZVxyXG5cdFx0XHRcdFx0XHR9LCAoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8g5Y+v5Lul5Zyo6L+Z6YeM5aSE55CG5Yqg6L295a6M5oiQ5ZCO55qE6YC76L6RXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvQmFjaygpIHtcclxuXHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IHRydWVcclxuXHRcdFx0XHR0aGlzLmRpc2FibGVkID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLmZvcm0ucGVyc29ubmFtZSA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLmVuY3J5cHRpb24gPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS50YWdpZCA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5tZXN0YWdpZCA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5iaXN1b2lkID0gJydcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmFvbGl1MSA9ICcnXHJcblx0XHRcdH0sXHJcblxyXG5cclxuXHRcdFx0ZmluZGJpc3VvYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZGJpc3VvKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5iaXN1b2xpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS50YWdpZFxyXG5cdFx0XHRcdFx0XHRcdH0pKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGZpbmR0aXhpbmdhbGwoKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRmaW5kdGl4aW5nKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50aXhpbmdsaXN0ID0gcmVzLmRhdGEubWFwKGl0ZW0gPT4gKHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBpdGVtLm9ubGluZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0udGFnaWRcclxuXHRcdFx0XHRcdFx0XHR9KSk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gfSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0dHh0OiByZXMubXNnXHJcblx0XHRcdFx0XHRcdFx0Ly8gXHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0ZmluZGJ1bWVuYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZGJ1bWVuKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5idW1lbkxpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHRcdH0pKTtcclxuXHRcdFx0XHRcdFx0XHQvLyB9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdC8vIFx0XHR0eHQ6IHJlcy5tc2dcclxuXHRcdFx0XHRcdFx0XHQvLyBcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGJ5bWVuQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmJ1bWVuTGlzdCk7XHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSB0aGlzLmJ1bWVuTGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0fSxcclxuXHRcdFx0YmlzdW9DYWxsYmFjayhpbmRleCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYmlzdW9saXN0KTtcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmlzdW9pZCA9IHRoaXMuYmlzdW9saXN0W2luZGV4XS50ZXh0O1xyXG5cdFx0XHRcdHRoaXMuYmlzdW9vbmxpZSA9IHRoaXMuYmlzdW9saXN0W2luZGV4XS52YWx1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dGl4aW5nQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLnRpeGluZ2xpc3QpO1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5tZXN0YWdpZCA9IHRoaXMudGl4aW5nbGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0XHR0aGlzLnRpeGluZ29ubGllID0gdGhpcy50aXhpbmdsaXN0W2luZGV4XS52YWx1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dHlwZUNhbGxiYWNrKGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSB0aGlzLnR5cGVMaXN0W2luZGV4XS50ZXh0O1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRlbmNyeXB0aW9uQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm0uZW5jcnlwdGlvbiA9IHRoaXMuZW5jcnlwdGlvbkxpc3RbaW5kZXhdLnRleHQ7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRob2xkdHlwZUNhbGxiYWNrKGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5mb3JtLmJhb2xpdTEgPSB0aGlzLmhvbGR0eXBlTGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0fSxcclxuXHRcdFx0ZWRpdENsaWNrKGUsIGkpIHtcclxuXHRcdFx0XHR0aGlzLmVkaXRpbmRleCA9IGlcclxuXHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IHRydWVcclxuXHRcdFx0XHR0aGlzLmRpc2FibGVkID0gdHJ1ZVxyXG5cdFx0XHRcdHRoaXMuZm9ybS5wZXJzb25uYW1lID0gZS5wZXJzb25uYW1lXHJcblx0XHRcdFx0dGhpcy5mb3JtLmVuY3J5cHRpb24gPSBlLmVuY3J5cHRpb25cclxuXHRcdFx0XHRcclxuXHRcdFx0XHR0aGlzLmZvcm0udGFnaWQgPSBlLnRhZ2lkXHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSBlLmRlcGFydG1lbnRcclxuXHRcdFx0XHR0aGlzLmZvcm0ubWVzdGFnaWQgPSBlLm1lc3RhZ2lkXHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSBlLnR5cGVcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmlzdW9pZCA9IGUuYmlzdW9pZFxyXG5cdFx0XHRcdHRoaXMuZm9ybS5iYW9saXUxID0gZS5iYW9saXUxXHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb0FjaG9yKCkge1xyXG5cdFx0XHRcdHRoaXMuaXNBY2hvciA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy4kZW1pdCgnZ29BY2hvcicpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb1RhZygpIHtcclxuXHRcdFx0XHR0aGlzLmlzQWNob3IgPSB0cnVlXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDmqKHmi5/or7fmsYLliqDovb3mlbDmja5cclxuXHRcdFx0aGFuZGxlTG9hZChkYXRhLCBjYWxsYmFjaykge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdGN1cnJlbnQ6IGRhdGEucGFnZSxcclxuXHRcdFx0XHRcdHNpemU6IGRhdGEuc2l6ZSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGZpbmRUYWcocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5vbmxpbmUgPSByZXMub25saW5lXHJcblx0XHRcdFx0XHRcdHRoaXMub2ZmbGluZSA9IHJlcy5vZmZsaW5lXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IGxpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kYXRhLnJlY29yZHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdC5wdXNoKHJlcy5kYXRhLnJlY29yZHNbaV0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5saXN0ID0gWy4uLnRoaXMubGlzdCwgLi4ubGlzdF07XHJcblx0XHRcdFx0XHRcdFx0XHRjYWxsYmFjayh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3Q6IHRoaXMubGlzdCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG90YWw6IHJlcy5kYXRhLnRvdGFsXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxNTAwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0Y2FsbGJhY2soe1xyXG5cdFx0XHRcdFx0XHRsaXN0OiBbXSxcclxuXHRcdFx0XHRcdFx0dG90YWw6IDBcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGxlU2VhcmNoKGRhdGEsIGNhbGxiYWNrKSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0Y3VycmVudDogMSxcclxuXHRcdFx0XHRcdHNpemU6IDEwLFxyXG5cdFx0XHRcdFx0anVlc2U6IHVuaS5nZXRTdG9yYWdlU3luYygnanVlc2UnKSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0ZmluZFRhZyhwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cclxuXHRcdFx0XHRcdFx0dGhpcy5vbmxpbmUgPSByZXMub25saW5lXHJcblx0XHRcdFx0XHRcdHRoaXMub2ZmbGluZSA9IHJlcy5vZmZsaW5lXHJcblx0XHRcdFx0XHRcdHRoaXMubGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IGxpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kYXRhLnJlY29yZHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdC5wdXNoKHJlcy5kYXRhLnJlY29yZHNbaV0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5saXN0ID0gWy4uLnRoaXMubGlzdCwgLi4ubGlzdF07XHJcblx0XHRcdFx0XHRcdFx0XHRjYWxsYmFjayh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3Q6IHRoaXMubGlzdCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG90YWw6IHJlcy5kYXRhLnRvdGFsXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxNTAwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaooeaLn+ivt+axguaVsOaNruWIt+aWsFxyXG5cdFx0XHRoYW5kbGVSZWZyZXNoKGRhdGEsIGNhbGxiYWNrKSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0Y3VycmVudDogZGF0YS5wYWdlLFxyXG5cdFx0XHRcdFx0c2l6ZTogZGF0YS5zaXplLFxyXG5cdFx0XHRcdFx0b2JqZWN0aWQ6IGRhdGEub2JqZWN0aWQsXHJcblx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRmaW5kVGFnKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMub25saW5lID0gcmVzLm9ubGluZVxyXG5cdFx0XHRcdFx0XHR0aGlzLm9mZmxpbmUgPSByZXMub2ZmbGluZVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgbGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCByZXMuZGF0YS5yZWNvcmRzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3QucHVzaChyZXMuZGF0YS5yZWNvcmRzW2ldKTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMubGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmxpc3QgPSBbLi4udGhpcy5saXN0LCAuLi5saXN0XTtcclxuXHRcdFx0XHRcdFx0XHRcdGNhbGxiYWNrKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdDogdGhpcy5saXN0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0b3RhbDogcmVzLmRhdGEudG90YWxcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDE1MDApO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG5cdC8qIOm8oOagh+acquaCrOa1ruaXtuaViOaenOiuvue9riAqL1xyXG5cdC50aXRsZV9saW5lc3BhbiB7XHJcblx0XHRmb250LXNpemU6IDE3cHg7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGNvbG9yOiAjMDAwMDAwXHJcblx0fVxyXG5cclxuXHQvKiDpvKDmoIfmgqzmta7lkI7nmoTorr7nva4gKi9cclxuXHQudGl0bGVfbGluZXNwYW46aG92ZXIge1xyXG5cdFx0Zm9udC1zaXplOiAxN3B4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRjb2xvcjogIzAwYWFmZjtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxuXHJcblx0Lm1vZGFsLWJ0biB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiA3NSU7XHJcblx0fVxyXG5cclxuXHQubW9kYWwtYnRuOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcXDIwMjJcIjtcclxuXHRcdC8qIFVuaWNvZGUg5a2X56ym57yW56CB6KGo56S655qE5ZyG54K5ICovXHJcblx0XHRjb2xvcjogIzVmNWY1ZjtcclxuXHRcdC8qIOWPr+S7peiuvue9ruWchueCueeahOminOiJsu+8jOi/memHjOaYr+e6ouiJsiAqL1xyXG5cdFx0Ly8gbWFyZ2luLXJpZ2h0OiA1cHg7IC8qIOWPr+S7peiuvue9ruWchueCueS4juaWh+Wtl+S5i+mXtOeahOi3neemuyAqL1xyXG5cdFx0Lyog5aaC5p6c6ZyA6KaB5pu05aSn55qE5ZyG54K577yM5Y+v5Lul5L2/55So5LiL6Z2i55qE5bGe5oCnICovXHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHQvKiDorr7nva7lnIbngrnnmoTlpKflsI8gKi9cclxuXHR9XHJcblxyXG5cdC5tb2RhbC1idG4yIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDc1JTtcclxuXHR9XHJcblxyXG5cdC5tb2RhbC1idG4yOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcXDIwMjJcIjtcclxuXHRcdC8qIFVuaWNvZGUg5a2X56ym57yW56CB6KGo56S655qE5ZyG54K5ICovXHJcblx0XHRjb2xvcjogIzAwYWEwMDtcclxuXHRcdC8qIOWPr+S7peiuvue9ruWchueCueeahOminOiJsu+8jOi/memHjOaYr+e6ouiJsiAqL1xyXG5cdFx0Ly8gbWFyZ2luLXJpZ2h0OiA1cHg7IC8qIOWPr+S7peiuvue9ruWchueCueS4juaWh+Wtl+S5i+mXtOeahOi3neemuyAqL1xyXG5cdFx0Lyog5aaC5p6c6ZyA6KaB5pu05aSn55qE5ZyG54K577yM5Y+v5Lul5L2/55So5LiL6Z2i55qE5bGe5oCnICovXHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHQvKiDorr7nva7lnIbngrnnmoTlpKflsI8gKi9cclxuXHR9XHJcblxyXG5cdC5wYWdlLXdyYXAge1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0cGFkZGluZy10b3A6IDQ1cHg7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDMwcnB4O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMzBycHg7XHJcblxyXG5cdFx0LnRlc3QtdmlldyB7XHJcblx0XHRcdGhlaWdodDogMzAwcnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5uYXZiYXItY29udGVudCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRwYWRkaW5nOiAzMHJweDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0fVxyXG5cclxuXHRcdC51LWljb24ge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMzBycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lml0ZW0td3JhcCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdG1hcmdpbjogMTBycHg7XHJcblx0XHRcdHBhZGRpbmc6IDMwcnB4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcclxuXHRcdFx0Ym94LXNoYWRvdzogMHJweCA4cnB4IDE2cnB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7XHJcblxyXG5cdFx0XHQuYXZhdGFyIHtcclxuXHRcdFx0XHR3aWR0aDogMTUwcnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTUwcnB4O1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMzBycHg7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTZycHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2MwYzBjMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lml0ZW0ge1xyXG5cdFx0XHRcdC8vIHdpZHRoOiAxMDBycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMHJweDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjN2NjO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///353\n"); |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 161));\nvar _success = _interopRequireDefault(__webpack_require__(/*! @/components/success.vue */ 102));\nvar _minLogin = __webpack_require__(/*! @/js/minLogin.js */ 251);\nvar _api = __webpack_require__(/*! @/config/api.js */ 115);\nvar _equipment = __webpack_require__(/*! @/js/pages/equipment.js */ 354);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 = {\n mixins: [_minLogin.minLogin, _equipment.pagesEquipment],\n components: {\n successCom: _success.default\n },\n data: function data() {\n return {\n show5: false,\n show4: false,\n show3: false,\n show2: false,\n labelWidth: 200,\n show1: false,\n disabled: false,\n show6: false,\n encryptionList: [{\n text: '是'\n }, {\n text: '否'\n }],\n holdtypeList: [{\n text: '手持标签'\n }, {\n text: '车载标签'\n }, {\n text: '高精度工卡'\n }, {\n text: '提醒标签'\n }, {\n text: '闭锁装置'\n }],\n typeList: [{\n text: '工作负责人'\n }, {\n text: '专责监护人'\n }, {\n text: '登高作业人'\n }, {\n text: '一般作业人'\n }, {\n text: '吊车'\n }, {\n text: '斗臂车'\n }, {\n text: '挖掘机'\n }, {\n text: '泵车'\n }, {\n text: '一般车辆'\n }],\n showpopup: false,\n form: {\n baoliu1: '',\n tagid: '',\n encryption: '',\n personname: '',\n department: '',\n type: '',\n mestagid: '',\n company: '',\n alterPerson: '',\n perCompany: '',\n bisuoid: ''\n },\n width: '40%',\n online: 0,\n offline: 0,\n isAchor: false,\n warnindex: 0,\n warlist: {},\n lock: false,\n keyword: '',\n pageNo: 1,\n pageSize: 10,\n imgStyle: {\n width: '100px',\n height: '1000px',\n borderRadius: '50%'\n },\n showSkeleton: true,\n options: [{\n text: '删除',\n style: {\n backgroundColor: '#F93737'\n }\n }],\n bumenList: [],\n tixinglist: [],\n tixingonlie: '',\n bisuoonlie: '',\n bisuolist: [],\n boxKey: 0,\n scrollHeight: 500,\n topheight: 0,\n paddingTop: 60,\n emitDate: 'indexHome',\n show: false,\n time: '',\n list: [],\n total: 0,\n options1: [{\n text: '删除',\n style: {\n backgroundColor: '#F93737'\n }\n }]\n };\n },\n computed: {\n countList: function countList() {\n var num = 0;\n for (var i in this.list) {\n num += this.list[i].fQty;\n }\n return num;\n }\n },\n mounted: function mounted() {\n var _this = this;\n this.findbisuoall();\n this.findbumenall();\n this.findtixingall();\n this.topheight = this.vuex_custom_bar_height + 15;\n setTimeout(function () {\n _this.showSkeleton = false;\n }, 1000);\n this.scrollHeight = this.screenHeight - 282;\n setTimeout(function () {\n _this.paddingTop = _this.vuex_padding_top;\n _this.paddingTop += 5;\n }, 400);\n },\n methods: {\n cancelmodal: function cancelmodal() {\n this.showpopup = false;\n },\n //保存围栏\n submitForm: function submitForm() {\n var _this2 = this;\n if (this.disabled == true) {\n //修改\n this.form.company = this.company;\n this.form.percompany = this.company;\n this.form.alterPerson = this.vuex_user;\n (0, _api.updateper)(this.form).then(function (res) {\n // if (res.code == 0) {\n\n // }\n _this2.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"修改成功\"\n });\n _this2.showpopup = false;\n setTimeout(function () {\n _this2.handleRefresh({\n page: 1,\n size: _this2.pageSize\n }, function () {\n // 可以在这里处理加载完成后的逻辑\n });\n }, 1000);\n });\n } else {\n //新增\n if (this.form.mestagid == '') {\n this.form.mestagid = '-1';\n }\n if (this.form.bisuoid == '') {\n this.form.bisuoid = '-1';\n }\n this.form.company = this.company;\n this.form.percompany = this.company;\n this.form.alterPerson = this.vuex_user;\n (0, _api.saveper)(this.form).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:342\");\n // if (res.code == 0) {\n _this2.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"保存成功\"\n });\n _this2.showpopup = false;\n _this2.handleRefresh({\n page: 1,\n size: _this2.pageSize\n }, function () {\n // 可以在这里处理加载完成后的逻辑\n });\n // }\n });\n }\n },\n goBack: function goBack() {\n this.showpopup = true;\n this.disabled = false;\n this.form.personname = '';\n this.form.encryption = '';\n this.form.tagid = '';\n this.form.department = '';\n this.form.mestagid = '';\n this.form.type = '';\n this.form.bisuoid = '';\n this.form.baoliu1 = '';\n },\n findbisuoall: function findbisuoall() {\n var _this3 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbisuo)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:381\");\n if (res.code == 0) {\n _this3.bisuolist = res.data.map(function (item) {\n return {\n value: item.online,\n text: item.tagid\n };\n });\n }\n });\n }\n },\n findtixingall: function findtixingall() {\n var _this4 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtixing)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:401\");\n if (res.code == 0) {\n _this4.tixinglist = res.data.map(function (item) {\n return {\n value: item.online,\n text: item.tagid\n };\n });\n // } else {\n // \tthis.$refs.refSuccess.showBox({\n // \t\ttype: 'error',\n // \t\ttxt: res.msg\n // \t});\n }\n });\n }\n },\n findbumenall: function findbumenall() {\n var _this5 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbumen)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:425\");\n if (res.code == 0) {\n _this5.bumenList = res.data.map(function (item) {\n return {\n value: item.name,\n text: item.name\n };\n });\n // } else {\n // \tthis.$refs.refSuccess.showBox({\n // \t\ttype: 'error',\n // \t\ttxt: res.msg\n // \t});\n }\n });\n }\n },\n bymenCallback: function bymenCallback(index) {\n __f__(\"log\", this.bumenList, \" at pages/index/tag.vue:442\");\n this.form.department = this.bumenList[index].text;\n },\n bisuoCallback: function bisuoCallback(index) {\n __f__(\"log\", this.bisuolist, \" at pages/index/tag.vue:446\");\n this.form.bisuoid = this.bisuolist[index].text;\n this.bisuoonlie = this.bisuolist[index].value;\n },\n tixingCallback: function tixingCallback(index) {\n __f__(\"log\", this.tixinglist, \" at pages/index/tag.vue:451\");\n this.form.mestagid = this.tixinglist[index].text;\n this.tixingonlie = this.tixinglist[index].value;\n },\n typeCallback: function typeCallback(index) {\n this.form.type = this.typeList[index].text;\n },\n encryptionCallback: function encryptionCallback(index) {\n this.form.encryption = this.encryptionList[index].text;\n },\n holdtypeCallback: function holdtypeCallback(index) {\n this.form.baoliu1 = this.holdtypeList[index].text;\n },\n editClick: function editClick(e, i) {\n this.editindex = i;\n this.showpopup = true;\n this.disabled = true;\n this.form.personname = e.personname;\n this.form.encryption = e.encryption;\n this.form.tagid = e.tagid;\n this.form.department = e.department;\n this.form.mestagid = e.mestagid;\n this.form.type = e.type;\n this.form.bisuoid = e.bisuoid;\n this.form.baoliu1 = e.baoliu1;\n },\n goAchor: function goAchor() {\n this.isAchor = false;\n this.$emit('goAchor');\n },\n goTag: function goTag() {\n this.isAchor = true;\n },\n // 模拟请求加载数据\n handleLoad: function handleLoad(data, callback) {\n var _this6 = this;\n var params = {\n current: data.page,\n size: data.size,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:498\");\n _this6.online = res.online;\n _this6.offline = res.offline;\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this6.list = [].concat((0, _toConsumableArray2.default)(_this6.list), list);\n callback({\n list: _this6.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n } else {\n callback({\n list: [],\n total: 0\n });\n }\n },\n handleSearch: function handleSearch(data, callback) {\n var _this7 = this;\n var params = {\n current: 1,\n size: 10,\n juese: uni.getStorageSync('juese'),\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n _this7.online = res.online;\n _this7.offline = res.offline;\n _this7.list = [];\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this7.list = [].concat((0, _toConsumableArray2.default)(_this7.list), list);\n callback({\n list: _this7.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n }\n },\n // 模拟请求数据刷新\n handleRefresh: function handleRefresh(data, callback) {\n var _this8 = this;\n var params = {\n current: data.page,\n size: data.size,\n objectid: data.objectid,\n juese: uni.getStorageSync('juese'),\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n _this8.online = res.online;\n _this8.offline = res.offline;\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this8.list = [];\n _this8.list = [].concat((0, _toConsumableArray2.default)(_this8.list), list);\n callback({\n list: _this8.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n }\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvdGFnLnZ1ZSJdLCJuYW1lcyI6WyJtaXhpbnMiLCJjb21wb25lbnRzIiwic3VjY2Vzc0NvbSIsImRhdGEiLCJzaG93NSIsInNob3c0Iiwic2hvdzMiLCJzaG93MiIsImxhYmVsV2lkdGgiLCJzaG93MSIsImRpc2FibGVkIiwic2hvdzYiLCJlbmNyeXB0aW9uTGlzdCIsInRleHQiLCJob2xkdHlwZUxpc3QiLCJ0eXBlTGlzdCIsInNob3dwb3B1cCIsImZvcm0iLCJiYW9saXUxIiwidGFnaWQiLCJlbmNyeXB0aW9uIiwicGVyc29ubmFtZSIsImRlcGFydG1lbnQiLCJ0eXBlIiwibWVzdGFnaWQiLCJjb21wYW55IiwiYWx0ZXJQZXJzb24iLCJwZXJDb21wYW55IiwiYmlzdW9pZCIsIndpZHRoIiwib25saW5lIiwib2ZmbGluZSIsImlzQWNob3IiLCJ3YXJuaW5kZXgiLCJ3YXJsaXN0IiwibG9jayIsImtleXdvcmQiLCJwYWdlTm8iLCJwYWdlU2l6ZSIsImltZ1N0eWxlIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwic2hvd1NrZWxldG9uIiwib3B0aW9ucyIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiYnVtZW5MaXN0IiwidGl4aW5nbGlzdCIsInRpeGluZ29ubGllIiwiYmlzdW9vbmxpZSIsImJpc3VvbGlzdCIsImJveEtleSIsInNjcm9sbEhlaWdodCIsInRvcGhlaWdodCIsInBhZGRpbmdUb3AiLCJlbWl0RGF0ZSIsInNob3ciLCJ0aW1lIiwibGlzdCIsInRvdGFsIiwib3B0aW9uczEiLCJjb21wdXRlZCIsImNvdW50TGlzdCIsIm51bSIsIm1vdW50ZWQiLCJzZXRUaW1lb3V0IiwibWV0aG9kcyIsImNhbmNlbG1vZGFsIiwic3VibWl0Rm9ybSIsInR4dCIsInBhZ2UiLCJzaXplIiwiZ29CYWNrIiwiZmluZGJpc3VvYWxsIiwianVlc2UiLCJ2YWx1ZSIsImZpbmR0aXhpbmdhbGwiLCJmaW5kYnVtZW5hbGwiLCJieW1lbkNhbGxiYWNrIiwiYmlzdW9DYWxsYmFjayIsInRpeGluZ0NhbGxiYWNrIiwidHlwZUNhbGxiYWNrIiwiZW5jcnlwdGlvbkNhbGxiYWNrIiwiaG9sZHR5cGVDYWxsYmFjayIsImVkaXRDbGljayIsImdvQWNob3IiLCJnb1RhZyIsImhhbmRsZUxvYWQiLCJjdXJyZW50IiwiY2FsbGJhY2siLCJoYW5kbGVTZWFyY2giLCJoYW5kbGVSZWZyZXNoIiwib2JqZWN0aWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBMkhBO0FBRUE7QUFHQTtBQVFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFHQTtFQUNBQTtFQUNBQztJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7TUFDQSxHQUVBO1FBQ0FBO01BQ0EsRUFDQTtNQUNBQztRQUNBRDtNQUNBLEdBRUE7UUFDQUE7TUFDQSxHQUVBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxFQUNBO01BQ0FFO1FBQ0FGO01BQ0EsR0FFQTtRQUNBQTtNQUNBLEdBRUE7UUFDQUE7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxHQUVBO1FBQ0FBO01BQ0E7UUFDQUE7TUFDQTtRQUNBQTtNQUNBLEVBRUE7TUFFQUc7TUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBVjtRQUNBVztRQUNBQztNQUNBO01BQ0FDO01BQ0FDO1FBQ0E5QjtRQUNBK0I7VUFDQUM7UUFDQTtNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0EvQztRQUNBK0I7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBZ0I7SUFDQUM7TUFDQTtNQUNBO1FBQ0FDO01BQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFBQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBO0lBRUFBO01BQ0E7TUFDQTtJQUNBO0VBRUE7RUFDQUM7SUFDQUM7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFFQTtVQUdBOztVQUVBO1VBQ0E7WUFDQTdDO1lBQ0E4QztVQUNBO1VBQ0E7VUFDQUo7WUFDQTtjQUNBSztjQUNBQztZQUNBO2NBQ0E7WUFBQSxDQUNBO1VBQ0E7UUFHQTtNQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFFQTtVQUNBO1VBQ0E7VUFDQTtZQUNBaEQ7WUFDQThDO1VBQ0E7VUFDQTtVQUNBO1lBQ0FDO1lBQ0FDO1VBQ0E7WUFDQTtVQUFBLENBQ0E7VUFDQTtRQUVBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFHQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQWhEO1VBQ0FpRDtRQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FBQTtnQkFDQUM7Z0JBQ0E5RDtjQUNBO1lBQUE7VUFDQTtRQUVBO01BQ0E7SUFFQTtJQUVBK0Q7TUFBQTtNQUNBO1FBQ0E7VUFDQW5EO1VBQ0FpRDtRQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FBQTtnQkFDQUM7Z0JBQ0E5RDtjQUNBO1lBQUE7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBRUE7SUFFQWdFO01BQUE7TUFDQTtRQUNBO1VBQ0FwRDtVQUNBaUQ7UUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQUE7Z0JBQ0FDO2dCQUNBOUQ7Y0FDQTtZQUFBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUVBO0lBQ0FpRTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUVBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BRUE7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBRUE7SUFDQUM7TUFBQTtNQUNBO1FBQ0FDO1FBQ0FqQjtRQUNBOUM7UUFDQWlEO01BQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBVDtjQUNBO2NBQ0E7Z0JBQ0FQO2NBQ0E7Y0FDQTtjQUNBK0I7Z0JBQ0EvQjtnQkFDQUM7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E4QjtVQUNBL0I7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7SUFDQStCO01BQUE7TUFDQTtRQUNBRjtRQUNBakI7UUFDQUc7UUFDQWpEO01BQ0E7TUFDQTtRQUNBO1VBRUE7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBd0M7Y0FDQTtjQUNBO2dCQUNBUDtjQUNBO2NBQ0E7Y0FDQStCO2dCQUNBL0I7Z0JBQ0FDO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQWdDO01BQUE7TUFDQTtRQUNBSDtRQUNBakI7UUFDQXFCO1FBQ0FsQjtRQUNBakQ7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBd0M7Y0FDQTtjQUNBO2dCQUNBUDtjQUNBO2NBQ0E7Y0FDQTtjQUNBK0I7Z0JBQ0EvQjtnQkFDQUM7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMzUzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwidGVtcGxhdGUtam9iIHRuLXNhZmUtYXJlYS1pbnNldC1ib3R0b20gdG4tc2tlbGV0b25cIj5cclxuXHJcblx0XHQ8IS0tIOmhtumDqOiHquWumuS5ieWvvOiIqiAtLT5cclxuXHRcdDx0bi1uYXYtYmFyIGZpeGVkIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTtcIiBhbHBoYSBjdXN0b21CYWNrPlxyXG5cdFx0XHQ8dmlldyBzbG90PVwicmlnaHRcIiBjbGFzcz0ndG4tY3VzdG9tLW5hdi1iYXJfX2JhY2snIEBjbGljaz1cImdvQmFja1wiPlxyXG5cclxuXHRcdFx0XHQ8dGV4dCBzdHlsZT1cIm1hcmdpbi1yaWdodDogMjBweDtcIj7mlrDlop48L3RleHQ+XHJcblx0XHRcdFx0PCEtLSA8dGV4dCBjbGFzcz0ndG4taWNvbiBhZGQnPjwvdGV4dD4gLS0+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PCEtLSA8dGV4dCBjbGFzcz1cInRpdGxlX2xpbmVzcGFuXCIgQGNsaWNrPVwiZ29BY2hvclwiPuWfuuermTwvdGV4dD4gLS0+XHJcblx0XHRcdDx0ZXh0IHYtaWY9XCJpc0FjaG9yPT1mYWxzZVwiIGNsYXNzPVwidGl0bGVfbGluZXNwYW5cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiIEBjbGljaz1cImdvQWNob3JcIj7moIfnrb7nrqHnkIY8L3RleHQ+XHJcblx0XHRcdDx0ZXh0IHYtZWxzZSBjbGFzcz1cInRpdGxlX2xpbmVzcGFuXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTBweDtcIiBAY2xpY2s9XCJnb1RhZ1wiPuagh+etvueuoeeQhjwvdGV4dD5cclxuXHRcdDwvdG4tbmF2LWJhcj5cclxuXHJcblx0XHQ8dmlldyB2LXNob3c9XCJsb2NrPT1mYWxzZVwiIGNsYXNzPVwicGFnZS13cmFwIHUtc2tlbGV0b25cIj5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O3dpZHRoOiA1MCU7bGVmdDogNSVcIlxyXG5cdFx0XHRcdDpzdHlsZT1cIntkaXNwbGF5OidmbGV4JywgdG9wOiB0b3BoZWlnaHQrJ3B4Jyxwb3NpdGlvbjogJ2Fic29sdXRlJyx3aWR0aDogJzUwJScsbGVmdDogJzUlJ31cIj5cclxuXHJcblx0XHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogIzAwYWFmZjtcIj7lnKjnur/vvJp7e29ubGluZX19PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwiY29sb3I6ICMwMGFhZmY7bWFyZ2luLWxlZnQ6IDIwcHg7XCI+56a757q/77yae3tvZmZsaW5lfX08L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PGRhdGEtbGlzdCA6d2lkdGg9XCJ3aWR0aFwiIGNsYXNzPVwiZGF0YS1saXN0XCIgcmVmPVwibGlzdFwiIEBsb2FkPVwiaGFuZGxlTG9hZFwiIEByZWZyZXNoPVwiaGFuZGxlUmVmcmVzaFwiXHJcblx0XHRcdFx0c3R5bGU9XCJtYXJnaW4tdG9wOiAxMDBweDtcIj5cclxuXHJcblx0XHRcdFx0PHZpZXcgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGxpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdDx0bi1idXR0b24gc2hhcGU9XCJpY29uXCIgY2xhc3M9XCJ0bi1pY29uLWVkaXRcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OiA4NSU7XCIgc2l6ZT1cImxnXCJcclxuXHRcdFx0XHRcdFx0QGNsaWNrPVwiZWRpdENsaWNrKGl0ZW0saW5kZXgpXCI+PC90bi1idXR0b24+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7bWFyZ2luLWJvdHRvbTogMTBweDtcIiBjbGFzcz1cImZsZXggZmxleC1kaXJlY3Rpb25cIj5cclxuXHRcdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cIml0ZW0ub25saW5lPT0xXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiA4cHg7bWFyZ2luLXJpZ2h0OiA4cHg7XCIgOmlzRG90PVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0dHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHRcdDx1LWJhZGdlIHYtZWxzZSBzdHlsZT1cIm1hcmdpbi10b3A6IDhweDttYXJnaW4tcmlnaHQ6IDhweDtcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cImluZm9cIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHRcdDx2aWV3Pue8luWPtzp7e2l0ZW0udGFnaWR9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIj7lkI3np7A6e3tpdGVtLnBlcnNvbm5hbWV9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dmlldyB2LWlmPVwiaXRlbS5wb25saW5lPT0xXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIj7lnKjnur88L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtZWxzZSBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAyMHB4O1wiPuemu+e6vzwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDIwcHg7XCI+XHJcblx0XHRcdFx0XHRcdFx054mI5pysOnt7aXRlbS52ZXJzaW9uPT1udWxsID8gJ+acquefpScgOiBpdGVtLnZlcnNpb259fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dmlldyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAyMHB4O1wiPueUtemHjzp7e2l0ZW0ucHBvd2VyfX0lPC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDttYXJnaW4tbGVmdDogMTRweDttYXJnaW4tYm90dG9tOiAxMHB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiAjNWU1ZTVlO1wiPuagh+etvuexu+Weizp7e2l0ZW0udHlwZX19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+e3tpdGVtLnBzZXh9fTwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+6YOo6ZeoOnt7aXRlbS5kZXBhcnRtZW50fX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7bWFyZ2luLWxlZnQ6IDE0cHg7bWFyZ2luLWJvdHRvbTogMTBweDtcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogIzVlNWU1ZTtcIj7mj5DphpLmoIfnrb46e3tpdGVtLm1lc3RhZ2lkfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTRweDtjb2xvcjogIzVlNWU1ZTtcIj57e2l0ZW0ucHNleH19PC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTRweDtjb2xvcjogIzVlNWU1ZTtcIj7ogZTliqjpl63plIE6e3tpdGVtLmJpc3VvaWR9fTwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDttYXJnaW4tbGVmdDogMTRweDttYXJnaW4tYm90dG9tOiAxMHB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiAjNWU1ZTVlO1wiPuWKoOWvhjp7e2l0ZW0uZW5jcnlwdGlvbn19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+e3tpdGVtLnBzZXh9fTwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+5beu5YiG5pWw5o2u5rqQOnt7aXRlbS5ydGNtfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxNHB4O21hcmdpbi1ib3R0b206IDEwcHg7Y29sb3I6ICM1ZTVlNWU7XCI+5pe26Ze0Ont7aXRlbS5hZGR0aW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dS1saW5lIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7bWFyZ2luLWJvdHRvbTogMTBweDtcIj48L3UtbGluZT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvZGF0YS1saXN0PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHUtbW9kYWwgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk7XCIgYnV0dG9uUmV2ZXJzZSBjb25maXJtVGV4dD1cIuS/neWtmFwiIGNhbmNlbFRleHQ9XCLlj5bmtohcIlxyXG5cdFx0XHQ6c2hvdz1cInNob3dwb3B1cFwiIEBjYW5jZWw9XCJjYW5jZWxtb2RhbFwiIEBjb25maXJtPVwic3VibWl0Rm9ybVwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8IS0tIDx0bi1wb3B1cCB2LW1vZGVsPVwic2hvd3BvcHVwXCIgbW9kZT1cImJvdHRvbVwiIGNsb3NlQnRuPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInBhZ2Utd3JhcCB1LXNrZWxldG9uXCI+IC0tPlxyXG5cdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiaXRlbS13cmFwXCI+IC0tPlxyXG5cdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWF4LWhlaWdodDogMzAwcHg7IG92ZXJmbG93LXk6IGF1dG87XCI+IC0tPlxyXG5cdFx0XHQ8dG4tZm9ybT5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi57yW5Y+3OlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IDpkaXNhYmxlZD1cImRpc2FibGVkXCIgdi1tb2RlbD1cImZvcm0udGFnaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIlxyXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIuivt+i+k+WFpee8luWPt1wiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuWQjeensDpcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5wZXJzb25uYW1lXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlkI3np7BcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLliqDlr4Y6XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8IS0tIDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5lbmNyeXB0aW9uXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlhoXlrrlcIj48L3RuLWlucHV0PiAtLT5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5lbmNyeXB0aW9uXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3c2ID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5piv5ZCm5Yqg5a+GXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJlbmNyeXB0aW9uTGlzdFwiIHYtbW9kZWw9XCJzaG93NlwiIEBjbGljaz1cImVuY3J5cHRpb25DYWxsYmFja1wiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLmjIHmnInnsbvlnos6XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0udHlwZVwiIHR5cGU9XCJzZWxlY3RcIiBAY2xpY2s9XCJzaG93MyA9IHRydWVcIiBwbGFjZWhvbGRlcj1cIuivt+mAieaLqeexu+Wei1wiIC8+XHJcblx0XHRcdFx0XHQ8dG4tYWN0aW9uLXNoZWV0IDpsaXN0PVwidHlwZUxpc3RcIiB2LW1vZGVsPVwic2hvdzNcIiBAY2xpY2s9XCJ0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi5qCH562+57G75Z6LOlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJhb2xpdTFcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzIgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nnsbvlnotcIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cImhvbGR0eXBlTGlzdFwiIHYtbW9kZWw9XCJzaG93MlwiIEBjbGljaz1cImhvbGR0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHJcblx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuWFs+iBlOmDqOmXqDpcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5kZXBhcnRtZW50XCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cxID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5YWz6IGU6YOo6ZeoXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJidW1lbkxpc3RcIiB2LW1vZGVsPVwic2hvdzFcIiBAY2xpY2s9XCJieW1lbkNhbGxiYWNrXCI+PC90bi1hY3Rpb24tc2hlZXQ+XHJcblx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLmj5DphpLmoIfnrb46XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWlmPVwidGl4aW5nb25saWU9PTEgJiYgZm9ybS5tZXN0YWdpZCE9JydcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0aXhpbmdvbmxpZT09MCAmJiBmb3JtLm1lc3RhZ2lkIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0ubWVzdGFnaWRcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzQgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nmj5DphpLmoIfnrb5cIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cInRpeGluZ2xpc3RcIiB2LW1vZGVsPVwic2hvdzRcIiBAY2xpY2s9XCJ0aXhpbmdDYWxsYmFja1wiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdFx0PCEtLSA8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0ubWVzdGFnaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaPkOmGkuagh+etvlwiPjwvdG4taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi6IGU5Yqo6Zet6ZSBOlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cImJpc3Vvb25saWU9PTEgJiYgZm9ybS5tZXN0YWdpZCE9JydcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0aXhpbmdvbmxpZT09MCAmJiBmb3JtLm1lc3RhZ2lkIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHRcdFx0XHRcdDwhLS0gPHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJpc3VvaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeiBlOWKqOmXremUgVwiPjwvdG4taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJpc3VvaWRcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzUgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nogZTliqjpl63plIFcIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cImJpc3VvbGlzdFwiIHYtbW9kZWw9XCJzaG93NVwiIEBjbGljaz1cImJpc3VvQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHJcblx0XHRcdDwvdG4tZm9ybT5cclxuXHRcdFx0PCEtLSA8L3ZpZXc+IC0tPlxyXG5cdFx0XHQ8IS0tIDwvdmlldz5cclxuXHRcdFx0XHQ8YnV0dG9uIHN0eWxlPVwibWFyZ2luLXRvcDogMjBweDtcIiB0eXBlPVwicHJpbWFyeVwiIEBjbGljaz1cInN1Ym1pdEZvcm1cIj7kv53lrZjlm7TmoI88L2J1dHRvbj4gLS0+XHJcblx0XHQ8L3UtbW9kYWw+XHJcblx0XHQ8IS0tIDwvdG4tcG9wdXA+IC0tPlxyXG5cdFx0PHRuLXNrZWxldG9uIDpzaG93PVwic2hvd1NrZWxldG9uXCI+PC90bi1za2VsZXRvbj5cclxuXHRcdDxzdWNjZXNzQ29tIHJlZj1cInJlZlN1Y2Nlc3NcIj48L3N1Y2Nlc3NDb20+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgc3VjY2Vzc0NvbSBmcm9tICdAL2NvbXBvbmVudHMvc3VjY2Vzcy52dWUnXHJcblxyXG5cdGltcG9ydCB7XHJcblx0XHRtaW5Mb2dpblxyXG5cdH0gZnJvbSAnQC9qcy9taW5Mb2dpbi5qcydcclxuXHRpbXBvcnQge1xyXG5cdFx0ZmluZGJpc3VvLFxyXG5cdFx0ZmluZHRpeGluZyxcclxuXHRcdHNhdmVwZXIsXHJcblx0XHR1cGRhdGVwZXIsXHJcblx0XHRmaW5kYnVtZW4sXHJcblx0XHRmaW5kVGFnXHJcblx0fSBmcm9tICdAL2NvbmZpZy9hcGkuanMnO1xyXG5cdGltcG9ydCB7XHJcblx0XHRwYWdlc0VxdWlwbWVudFxyXG5cdH0gZnJvbSAnQC9qcy9wYWdlcy9lcXVpcG1lbnQuanMnXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0bWl4aW5zOiBbbWluTG9naW4sIHBhZ2VzRXF1aXBtZW50XSxcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuXHRcdFx0c3VjY2Vzc0NvbVxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0c2hvdzU6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3c0OiBmYWxzZSxcclxuXHRcdFx0XHRzaG93MzogZmFsc2UsXHJcblx0XHRcdFx0c2hvdzI6IGZhbHNlLFxyXG5cdFx0XHRcdGxhYmVsV2lkdGg6IDIwMCxcclxuXHRcdFx0XHRzaG93MTogZmFsc2UsXHJcblx0XHRcdFx0ZGlzYWJsZWQ6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3c2OiBmYWxzZSxcclxuXHRcdFx0XHRlbmNyeXB0aW9uTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aYrydcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflkKYnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRob2xkdHlwZUxpc3Q6IFt7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfmiYvmjIHmoIfnrb4nXHJcblx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+i9pui9veagh+etvidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn6auY57K+5bqm5bel5Y2hJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aPkOmGkuagh+etvidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfpl63plIHoo4Xnva4nXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHR0eXBlTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+W3peS9nOi0n+i0o+S6uidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5LiT6LSj55uR5oqk5Lq6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfnmbvpq5jkvZzkuJrkuronXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5LiA6Iis5L2c5Lia5Lq6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WQiui9pidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfmlpfoh4LovaYnXHJcblx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aMluaOmOacuidcclxuXHRcdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aztei9pidcclxuXHRcdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+S4gOiIrOi9pui+hidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdF0sXHJcblxyXG5cdFx0XHRcdHNob3dwb3B1cDogZmFsc2UsXHJcblx0XHRcdFx0Zm9ybToge1xyXG5cdFx0XHRcdFx0YmFvbGl1MTogJycsXHJcblx0XHRcdFx0XHR0YWdpZDogJycsXHJcblx0XHRcdFx0XHRlbmNyeXB0aW9uOicnLFxyXG5cdFx0XHRcdFx0cGVyc29ubmFtZTogJycsXHJcblx0XHRcdFx0XHRkZXBhcnRtZW50OiAnJyxcclxuXHRcdFx0XHRcdHR5cGU6ICcnLFxyXG5cdFx0XHRcdFx0bWVzdGFnaWQ6ICcnLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogJycsXHJcblx0XHRcdFx0XHRhbHRlclBlcnNvbjogJycsXHJcblx0XHRcdFx0XHRwZXJDb21wYW55OiAnJyxcclxuXHRcdFx0XHRcdGJpc3VvaWQ6ICcnXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR3aWR0aDogJzQwJScsXHJcblx0XHRcdFx0b25saW5lOiAwLFxyXG5cdFx0XHRcdG9mZmxpbmU6IDAsXHJcblx0XHRcdFx0aXNBY2hvcjogZmFsc2UsXHJcblx0XHRcdFx0d2FybmluZGV4OiAwLFxyXG5cdFx0XHRcdHdhcmxpc3Q6IHt9LFxyXG5cdFx0XHRcdGxvY2s6IGZhbHNlLFxyXG5cdFx0XHRcdGtleXdvcmQ6ICcnLFxyXG5cdFx0XHRcdHBhZ2VObzogMSxcclxuXHRcdFx0XHRwYWdlU2l6ZTogMTAsXHJcblx0XHRcdFx0aW1nU3R5bGU6IHtcclxuXHRcdFx0XHRcdHdpZHRoOiAnMTAwcHgnLFxyXG5cdFx0XHRcdFx0aGVpZ2h0OiAnMTAwMHB4JyxcclxuXHRcdFx0XHRcdGJvcmRlclJhZGl1czogJzUwJSdcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHNob3dTa2VsZXRvbjogdHJ1ZSxcclxuXHRcdFx0XHRvcHRpb25zOiBbe1xyXG5cdFx0XHRcdFx0dGV4dDogJ+WIoOmZpCcsXHJcblx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6ICcjRjkzNzM3JyxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9LCBdLFxyXG5cdFx0XHRcdGJ1bWVuTGlzdDogW10sXHJcblx0XHRcdFx0dGl4aW5nbGlzdDogW10sXHJcblx0XHRcdFx0dGl4aW5nb25saWU6ICcnLFxyXG5cdFx0XHRcdGJpc3Vvb25saWU6ICcnLFxyXG5cdFx0XHRcdGJpc3VvbGlzdDogW10sXHJcblx0XHRcdFx0Ym94S2V5OiAwLFxyXG5cdFx0XHRcdHNjcm9sbEhlaWdodDogNTAwLFxyXG5cdFx0XHRcdHRvcGhlaWdodDogMCxcclxuXHRcdFx0XHRwYWRkaW5nVG9wOiA2MCxcclxuXHRcdFx0XHRlbWl0RGF0ZTogJ2luZGV4SG9tZScsXHJcblx0XHRcdFx0c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0dGltZTogJycsXHJcblx0XHRcdFx0bGlzdDogW10sXHJcblx0XHRcdFx0dG90YWw6IDAsXHJcblx0XHRcdFx0b3B0aW9uczE6IFt7XHJcblx0XHRcdFx0XHR0ZXh0OiAn5Yig6ZmkJyxcclxuXHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmRDb2xvcjogJyNGOTM3MzcnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fV1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiB7XHJcblx0XHRcdGNvdW50TGlzdCgpIHtcclxuXHRcdFx0XHRsZXQgbnVtID0gMDtcclxuXHRcdFx0XHRmb3IgKGxldCBpIGluIHRoaXMubGlzdCkge1xyXG5cdFx0XHRcdFx0bnVtICs9IHRoaXMubGlzdFtpXS5mUXR5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gbnVtO1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHRcdFx0dGhpcy5maW5kYmlzdW9hbGwoKVxyXG5cdFx0XHR0aGlzLmZpbmRidW1lbmFsbCgpXHJcblx0XHRcdHRoaXMuZmluZHRpeGluZ2FsbCgpXHJcblx0XHRcdHRoaXMudG9waGVpZ2h0ID0gdGhpcy52dWV4X2N1c3RvbV9iYXJfaGVpZ2h0ICsgMTVcclxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5zaG93U2tlbGV0b24gPSBmYWxzZVxyXG5cdFx0XHR9LCAxMDAwKVxyXG5cdFx0XHR0aGlzLnNjcm9sbEhlaWdodCA9IHRoaXMuc2NyZWVuSGVpZ2h0IC0gMjgyO1xyXG5cclxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wID0gdGhpcy52dWV4X3BhZGRpbmdfdG9wXHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wICs9IDVcclxuXHRcdFx0fSwgNDAwKVxyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGNhbmNlbG1vZGFsKCkge1xyXG5cdFx0XHRcdHRoaXMuc2hvd3BvcHVwID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/kv53lrZjlm7TmoI9cclxuXHRcdFx0c3VibWl0Rm9ybSgpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5kaXNhYmxlZCA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHQvL+S/ruaUuVxyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLmNvbXBhbnkgPSB0aGlzLmNvbXBhbnlcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS5wZXJjb21wYW55ID0gdGhpcy5jb21wYW55XHJcblx0XHRcdFx0XHR0aGlzLmZvcm0uYWx0ZXJQZXJzb24gPSB0aGlzLnZ1ZXhfdXNlclxyXG5cclxuXHRcdFx0XHRcdHVwZGF0ZXBlcih0aGlzLmZvcm0pLnRoZW4oKHJlcykgPT4ge1xyXG5cclxuXHJcblx0XHRcdFx0XHRcdC8vIGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblxyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHR0eXBlOiAnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0dHh0OiBcIuS/ruaUueaIkOWKn1wiXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuaGFuZGxlUmVmcmVzaCh7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWdlOiAxLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2l6ZTogdGhpcy5wYWdlU2l6ZVxyXG5cdFx0XHRcdFx0XHRcdH0sICgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIOWPr+S7peWcqOi/memHjOWkhOeQhuWKoOi9veWujOaIkOWQjueahOmAu+i+kVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9LCAxMDAwKVxyXG5cdFx0XHRcdFx0XHRcclxuXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHQvL+aWsOWinlxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuZm9ybS5tZXN0YWdpZCA9PSAnJykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZvcm0ubWVzdGFnaWQgPSAnLTEnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAodGhpcy5mb3JtLmJpc3VvaWQgPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5mb3JtLmJpc3VvaWQgPSAnLTEnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLmZvcm0uY29tcGFueSA9IHRoaXMuY29tcGFueVxyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLnBlcmNvbXBhbnkgPSB0aGlzLmNvbXBhbnlcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS5hbHRlclBlcnNvbiA9IHRoaXMudnVleF91c2VyXHJcblxyXG5cdFx0XHRcdFx0c2F2ZXBlcih0aGlzLmZvcm0pLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHQvLyBpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0dHlwZTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdHR4dDogXCLkv53lrZjmiJDlip9cIlxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0dGhpcy5zaG93cG9wdXAgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHR0aGlzLmhhbmRsZVJlZnJlc2goe1xyXG5cdFx0XHRcdFx0XHRcdHBhZ2U6IDEsXHJcblx0XHRcdFx0XHRcdFx0c2l6ZTogdGhpcy5wYWdlU2l6ZVxyXG5cdFx0XHRcdFx0XHR9LCAoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8g5Y+v5Lul5Zyo6L+Z6YeM5aSE55CG5Yqg6L295a6M5oiQ5ZCO55qE6YC76L6RXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvQmFjaygpIHtcclxuXHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IHRydWVcclxuXHRcdFx0XHR0aGlzLmRpc2FibGVkID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLmZvcm0ucGVyc29ubmFtZSA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLmVuY3J5cHRpb24gPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS50YWdpZCA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5tZXN0YWdpZCA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5iaXN1b2lkID0gJydcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmFvbGl1MSA9ICcnXHJcblx0XHRcdH0sXHJcblxyXG5cclxuXHRcdFx0ZmluZGJpc3VvYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZGJpc3VvKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5iaXN1b2xpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS50YWdpZFxyXG5cdFx0XHRcdFx0XHRcdH0pKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGZpbmR0aXhpbmdhbGwoKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRmaW5kdGl4aW5nKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50aXhpbmdsaXN0ID0gcmVzLmRhdGEubWFwKGl0ZW0gPT4gKHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBpdGVtLm9ubGluZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0udGFnaWRcclxuXHRcdFx0XHRcdFx0XHR9KSk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gfSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0dHh0OiByZXMubXNnXHJcblx0XHRcdFx0XHRcdFx0Ly8gXHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0ZmluZGJ1bWVuYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZGJ1bWVuKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5idW1lbkxpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHRcdH0pKTtcclxuXHRcdFx0XHRcdFx0XHQvLyB9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdC8vIFx0XHR0eHQ6IHJlcy5tc2dcclxuXHRcdFx0XHRcdFx0XHQvLyBcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGJ5bWVuQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmJ1bWVuTGlzdCk7XHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSB0aGlzLmJ1bWVuTGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0fSxcclxuXHRcdFx0YmlzdW9DYWxsYmFjayhpbmRleCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYmlzdW9saXN0KTtcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmlzdW9pZCA9IHRoaXMuYmlzdW9saXN0W2luZGV4XS50ZXh0O1xyXG5cdFx0XHRcdHRoaXMuYmlzdW9vbmxpZSA9IHRoaXMuYmlzdW9saXN0W2luZGV4XS52YWx1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dGl4aW5nQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLnRpeGluZ2xpc3QpO1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5tZXN0YWdpZCA9IHRoaXMudGl4aW5nbGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0XHR0aGlzLnRpeGluZ29ubGllID0gdGhpcy50aXhpbmdsaXN0W2luZGV4XS52YWx1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dHlwZUNhbGxiYWNrKGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSB0aGlzLnR5cGVMaXN0W2luZGV4XS50ZXh0O1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRlbmNyeXB0aW9uQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm0uZW5jcnlwdGlvbiA9IHRoaXMuZW5jcnlwdGlvbkxpc3RbaW5kZXhdLnRleHQ7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRob2xkdHlwZUNhbGxiYWNrKGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5mb3JtLmJhb2xpdTEgPSB0aGlzLmhvbGR0eXBlTGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0fSxcclxuXHRcdFx0ZWRpdENsaWNrKGUsIGkpIHtcclxuXHRcdFx0XHR0aGlzLmVkaXRpbmRleCA9IGlcclxuXHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IHRydWVcclxuXHRcdFx0XHR0aGlzLmRpc2FibGVkID0gdHJ1ZVxyXG5cdFx0XHRcdHRoaXMuZm9ybS5wZXJzb25uYW1lID0gZS5wZXJzb25uYW1lXHJcblx0XHRcdFx0dGhpcy5mb3JtLmVuY3J5cHRpb24gPSBlLmVuY3J5cHRpb25cclxuXHRcdFx0XHRcclxuXHRcdFx0XHR0aGlzLmZvcm0udGFnaWQgPSBlLnRhZ2lkXHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSBlLmRlcGFydG1lbnRcclxuXHRcdFx0XHR0aGlzLmZvcm0ubWVzdGFnaWQgPSBlLm1lc3RhZ2lkXHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSBlLnR5cGVcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmlzdW9pZCA9IGUuYmlzdW9pZFxyXG5cdFx0XHRcdHRoaXMuZm9ybS5iYW9saXUxID0gZS5iYW9saXUxXHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb0FjaG9yKCkge1xyXG5cdFx0XHRcdHRoaXMuaXNBY2hvciA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy4kZW1pdCgnZ29BY2hvcicpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb1RhZygpIHtcclxuXHRcdFx0XHR0aGlzLmlzQWNob3IgPSB0cnVlXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDmqKHmi5/or7fmsYLliqDovb3mlbDmja5cclxuXHRcdFx0aGFuZGxlTG9hZChkYXRhLCBjYWxsYmFjaykge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdGN1cnJlbnQ6IGRhdGEucGFnZSxcclxuXHRcdFx0XHRcdHNpemU6IGRhdGEuc2l6ZSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGZpbmRUYWcocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5vbmxpbmUgPSByZXMub25saW5lXHJcblx0XHRcdFx0XHRcdHRoaXMub2ZmbGluZSA9IHJlcy5vZmZsaW5lXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IGxpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kYXRhLnJlY29yZHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdC5wdXNoKHJlcy5kYXRhLnJlY29yZHNbaV0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5saXN0ID0gWy4uLnRoaXMubGlzdCwgLi4ubGlzdF07XHJcblx0XHRcdFx0XHRcdFx0XHRjYWxsYmFjayh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3Q6IHRoaXMubGlzdCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG90YWw6IHJlcy5kYXRhLnRvdGFsXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxNTAwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0Y2FsbGJhY2soe1xyXG5cdFx0XHRcdFx0XHRsaXN0OiBbXSxcclxuXHRcdFx0XHRcdFx0dG90YWw6IDBcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGxlU2VhcmNoKGRhdGEsIGNhbGxiYWNrKSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0Y3VycmVudDogMSxcclxuXHRcdFx0XHRcdHNpemU6IDEwLFxyXG5cdFx0XHRcdFx0anVlc2U6IHVuaS5nZXRTdG9yYWdlU3luYygnanVlc2UnKSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0ZmluZFRhZyhwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cclxuXHRcdFx0XHRcdFx0dGhpcy5vbmxpbmUgPSByZXMub25saW5lXHJcblx0XHRcdFx0XHRcdHRoaXMub2ZmbGluZSA9IHJlcy5vZmZsaW5lXHJcblx0XHRcdFx0XHRcdHRoaXMubGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IGxpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kYXRhLnJlY29yZHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdC5wdXNoKHJlcy5kYXRhLnJlY29yZHNbaV0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5saXN0ID0gWy4uLnRoaXMubGlzdCwgLi4ubGlzdF07XHJcblx0XHRcdFx0XHRcdFx0XHRjYWxsYmFjayh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3Q6IHRoaXMubGlzdCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG90YWw6IHJlcy5kYXRhLnRvdGFsXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxNTAwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaooeaLn+ivt+axguaVsOaNruWIt+aWsFxyXG5cdFx0XHRoYW5kbGVSZWZyZXNoKGRhdGEsIGNhbGxiYWNrKSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0Y3VycmVudDogZGF0YS5wYWdlLFxyXG5cdFx0XHRcdFx0c2l6ZTogZGF0YS5zaXplLFxyXG5cdFx0XHRcdFx0b2JqZWN0aWQ6IGRhdGEub2JqZWN0aWQsXHJcblx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRmaW5kVGFnKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMub25saW5lID0gcmVzLm9ubGluZVxyXG5cdFx0XHRcdFx0XHR0aGlzLm9mZmxpbmUgPSByZXMub2ZmbGluZVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgbGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCByZXMuZGF0YS5yZWNvcmRzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3QucHVzaChyZXMuZGF0YS5yZWNvcmRzW2ldKTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMubGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmxpc3QgPSBbLi4udGhpcy5saXN0LCAuLi5saXN0XTtcclxuXHRcdFx0XHRcdFx0XHRcdGNhbGxiYWNrKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdDogdGhpcy5saXN0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0b3RhbDogcmVzLmRhdGEudG90YWxcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDE1MDApO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG5cdC8qIOm8oOagh+acquaCrOa1ruaXtuaViOaenOiuvue9riAqL1xyXG5cdC50aXRsZV9saW5lc3BhbiB7XHJcblx0XHRmb250LXNpemU6IDE3cHg7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGNvbG9yOiAjMDAwMDAwXHJcblx0fVxyXG5cclxuXHQvKiDpvKDmoIfmgqzmta7lkI7nmoTorr7nva4gKi9cclxuXHQudGl0bGVfbGluZXNwYW46aG92ZXIge1xyXG5cdFx0Zm9udC1zaXplOiAxN3B4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRjb2xvcjogIzAwYWFmZjtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxuXHJcblx0Lm1vZGFsLWJ0biB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiA3NSU7XHJcblx0fVxyXG5cclxuXHQubW9kYWwtYnRuOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcXDIwMjJcIjtcclxuXHRcdC8qIFVuaWNvZGUg5a2X56ym57yW56CB6KGo56S655qE5ZyG54K5ICovXHJcblx0XHRjb2xvcjogIzVmNWY1ZjtcclxuXHRcdC8qIOWPr+S7peiuvue9ruWchueCueeahOminOiJsu+8jOi/memHjOaYr+e6ouiJsiAqL1xyXG5cdFx0Ly8gbWFyZ2luLXJpZ2h0OiA1cHg7IC8qIOWPr+S7peiuvue9ruWchueCueS4juaWh+Wtl+S5i+mXtOeahOi3neemuyAqL1xyXG5cdFx0Lyog5aaC5p6c6ZyA6KaB5pu05aSn55qE5ZyG54K577yM5Y+v5Lul5L2/55So5LiL6Z2i55qE5bGe5oCnICovXHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHQvKiDorr7nva7lnIbngrnnmoTlpKflsI8gKi9cclxuXHR9XHJcblxyXG5cdC5tb2RhbC1idG4yIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDc1JTtcclxuXHR9XHJcblxyXG5cdC5tb2RhbC1idG4yOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcXDIwMjJcIjtcclxuXHRcdC8qIFVuaWNvZGUg5a2X56ym57yW56CB6KGo56S655qE5ZyG54K5ICovXHJcblx0XHRjb2xvcjogIzAwYWEwMDtcclxuXHRcdC8qIOWPr+S7peiuvue9ruWchueCueeahOminOiJsu+8jOi/memHjOaYr+e6ouiJsiAqL1xyXG5cdFx0Ly8gbWFyZ2luLXJpZ2h0OiA1cHg7IC8qIOWPr+S7peiuvue9ruWchueCueS4juaWh+Wtl+S5i+mXtOeahOi3neemuyAqL1xyXG5cdFx0Lyog5aaC5p6c6ZyA6KaB5pu05aSn55qE5ZyG54K577yM5Y+v5Lul5L2/55So5LiL6Z2i55qE5bGe5oCnICovXHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHQvKiDorr7nva7lnIbngrnnmoTlpKflsI8gKi9cclxuXHR9XHJcblxyXG5cdC5wYWdlLXdyYXAge1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0cGFkZGluZy10b3A6IDQ1cHg7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDMwcnB4O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMzBycHg7XHJcblxyXG5cdFx0LnRlc3QtdmlldyB7XHJcblx0XHRcdGhlaWdodDogMzAwcnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5uYXZiYXItY29udGVudCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRwYWRkaW5nOiAzMHJweDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0fVxyXG5cclxuXHRcdC51LWljb24ge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMzBycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lml0ZW0td3JhcCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdG1hcmdpbjogMTBycHg7XHJcblx0XHRcdHBhZGRpbmc6IDMwcnB4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcclxuXHRcdFx0Ym94LXNoYWRvdzogMHJweCA4cnB4IDE2cnB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7XHJcblxyXG5cdFx0XHQuYXZhdGFyIHtcclxuXHRcdFx0XHR3aWR0aDogMTUwcnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTUwcnB4O1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMzBycHg7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTZycHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2MwYzBjMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lml0ZW0ge1xyXG5cdFx0XHRcdC8vIHdpZHRoOiAxMDBycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMHJweDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjN2NjO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///353\n"); |
| | | |
| | | /***/ }), |
| | | /* 354 */ |
| | |
| | | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
| | | |
| | | "use strict"; |
| | | eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ditu.vue?vue&type=template&id=2a198828&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ%3D%3D&mpType=page */ 409);\n/* harmony import */ var _ditu_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ditu.vue?vue&type=script&lang=js&mpType=page */ 411);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ditu_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ditu_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 24);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _ditu_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/ditu.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBb1M7QUFDcFM7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQzZMO0FBQzdMLGdCQUFnQix1TUFBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSxrUUFBTTtBQUNSLEVBQUUsMlFBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsc1FBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNDA4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9kaXR1LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yYTE5ODgyOCZmaWx0ZXItbW9kdWxlcz1leUp0WVhKek0yUWlPbnNpZEhsd1pTSTZJbkpsYm1SbGNtcHpJaXdpWTI5dWRHVnVkQ0k2SWlJc0luTjBZWEowSWpvME1EY3pPQ3dpWVhSMGNuTWlPbnNpYlc5a2RXeGxJam9pYldGeWN6TmtJaXdpYkdGdVp5STZJbXB6SW4wc0ltVnVaQ0k2TnpreE1EUjlmUSUzRCUzRCZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vZGl0dS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vZGl0dS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vSEJ1aWxkZXJYLjQuMTUuMjAyNDA1MDgwMi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2luZGV4L2RpdHUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///408\n"); |
| | | eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ditu.vue?vue&type=template&id=2a198828&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ%3D%3D&mpType=page */ 409);\n/* harmony import */ var _ditu_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ditu.vue?vue&type=script&lang=js&mpType=page */ 411);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ditu_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ditu_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 24);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _ditu_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/ditu.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBb1M7QUFDcFM7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQzZMO0FBQzdMLGdCQUFnQix1TUFBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSxrUUFBTTtBQUNSLEVBQUUsMlFBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsc1FBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNDA4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9kaXR1LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yYTE5ODgyOCZmaWx0ZXItbW9kdWxlcz1leUp0WVhKek0yUWlPbnNpZEhsd1pTSTZJbkpsYm1SbGNtcHpJaXdpWTI5dWRHVnVkQ0k2SWlJc0luTjBZWEowSWpvME1EVTRNeXdpWVhSMGNuTWlPbnNpYlc5a2RXeGxJam9pYldGeWN6TmtJaXdpYkdGdVp5STZJbXB6SW4wc0ltVnVaQ0k2TnpnNU5EbDlmUSUzRCUzRCZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vZGl0dS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vZGl0dS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vSEJ1aWxkZXJYLjQuMTUuMjAyNDA1MDgwMi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2luZGV4L2RpdHUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///408\n"); |
| | | |
| | | /***/ }), |
| | | /* 409 */ |
| | | /*!**********************************************************************************************************************************************************************************************************************************************************************!*\ |
| | | !*** D:/hxzkapp/hxzkapp-gdty/pages/index/ditu.vue?vue&type=template&id=2a198828&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ%3D%3D&mpType=page ***! |
| | | !*** D:/hxzkapp/hxzkapp-gdty/pages/index/ditu.vue?vue&type=template&id=2a198828&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ%3D%3D&mpType=page ***! |
| | | \**********************************************************************************************************************************************************************************************************************************************************************/ |
| | | /*! exports provided: render, staticRenderFns, recyclableRender, components */ |
| | | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
| | | |
| | | "use strict"; |
| | | __webpack_require__.r(__webpack_exports__); |
| | | /* harmony import */ var _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./ditu.vue?vue&type=template&id=2a198828&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ%3D%3D&mpType=page */ 410); |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); |
| | | /* harmony import */ var _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX.4.15.2024050802/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./ditu.vue?vue&type=template&id=2a198828&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ%3D%3D&mpType=page */ 410); |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); |
| | | |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); |
| | | |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); |
| | | |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); |
| | | /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_15_2024050802_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ditu_vue_vue_type_template_id_2a198828_filter_modules_eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ_3D_3D_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; }); |
| | | |
| | | |
| | | |
| | | /***/ }), |
| | | /* 410 */ |
| | | /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ |
| | | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/hxzkapp/hxzkapp-gdty/pages/index/ditu.vue?vue&type=template&id=2a198828&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDczOCwiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6NzkxMDR9fQ%3D%3D&mpType=page ***! |
| | | !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/hxzkapp/hxzkapp-gdty/pages/index/ditu.vue?vue&type=template&id=2a198828&filter-modules=eyJtYXJzM2QiOnsidHlwZSI6InJlbmRlcmpzIiwiY29udGVudCI6IiIsInN0YXJ0Ijo0MDU4MywiYXR0cnMiOnsibW9kdWxlIjoibWFyczNkIiwibGFuZyI6ImpzIn0sImVuZCI6Nzg5NDl9fQ%3D%3D&mpType=page ***! |
| | | \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ |
| | | /*! exports provided: render, staticRenderFns, recyclableRender, components */ |
| | | /***/ (function(module, __webpack_exports__, __webpack_require__) { |
| | |
| | | /***/ (function(module, exports, __webpack_require__) { |
| | | |
| | | "use strict"; |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _success = _interopRequireDefault(__webpack_require__(/*! @/components/success.vue */ 102));\nvar _api = __webpack_require__(/*! @/config/api.js */ 115);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 = {\n components: {\n successCom: _success.default\n },\n data: function data() {\n return {\n warnlist: [],\n warnidlist: [],\n warnidslist: [],\n labelWidth: 100,\n pointlock: false,\n //踩点获取数据开关\n pointcontent: '',\n pointdisabled: false,\n pointlist: [0, 1, 2, 3],\n pointnum: 4,\n pointdrawshow: false,\n end: false,\n ldrawshow: false,\n ldrawtitle: '操作提示:',\n ldrawcontent: '请手持终端,等待RTK绿色后行走为一个闭合围栏。准备完毕后点击开始绘制,完成后点击结束绘制',\n isperties: true,\n drawway: '打点绘制',\n content: '请先输入终端编号',\n disabled: true,\n savefence: false,\n bumenList: [],\n show1: false,\n show2: false,\n typeList: [{\n text: '保护区'\n }, {\n text: '禁入区'\n }, {\n text: '工作区'\n }, {\n text: '安全区'\n }],\n warnmesList: [{\n text: '出去告警'\n }, {\n text: '进入告警'\n }, {\n text: '工作区'\n }, {\n text: '安全区'\n }],\n list: [[0, 1], [2, 3], [4, 5]],\n zuobiaolist: [['', '', '', ''],\n // height1:'',\n ['', '', '', ''], ['', '', '', ''],\n // height1:'',\n ['', '', '', '']\n // height3:'',\n ],\n\n saglist: [['', '', '', ''], ['', '', '', ''], ['', '', '', '']\n\n // height3:'',\n ],\n\n // list: [\n // \t[\n // \t\t0, 1\n // \t],\n // \t[\n // \t\t2, 3\n // \t],\n // \t[\n // \t\t4, 5\n // \t]\n // ],\n\n // zuobiaolist: [\n // \t[\n // \t\t'1A', '1B', '1','11'\n // \t],\n // \t// height1:'',\n // \t[\n // \t\t'2A', '2B', '2','22'\n // \t],\n // \t[\n // \t\t'3A', '3B', '3','33'\n // \t],\n // \t// height1:'',\n // \t[\n // \t\t'4A', '4B', '4','44'\n // \t],\n // \t// height3:'',\n // ],\n // saglist: [\n // \t[\n // \t\t'H5A', 'H5B', '5','55'\n // \t],\n // \t[\n // \t\t'H6A', 'H6B', '6','66'\n // \t],\n // \t[\n // \t\t'H7A', 'H7B', '7','77'\n // \t],\n\n // \t// height3:'',\n // ],\n tanum: 2,\n color1: '#e2e2e2',\n color2: '#8b8b8b',\n color5: '#8b8b8b',\n color10: '#8b8b8b',\n color20: '#8b8b8b',\n color50: '#8b8b8b',\n color100: '#8b8b8b',\n sudu: 'x1',\n plackTime: '',\n dqnum: '',\n lockguiji: false,\n shownotify: true,\n cancelText: '暂停',\n isRunning: true,\n plackControl: '',\n countNum: 0,\n LocusData: '',\n // isPlack: false,\n value: '',\n startdatetime: '',\n stopdatetime: '',\n rangeLevel: [{\n value: '0.95m',\n text: '10kV(0.95m)'\n }, {\n value: '1.05m',\n text: '20kV(1.05m)'\n }, {\n value: '1.15m',\n text: '35kV(1.15m)'\n }, {\n value: '1.4m',\n text: '66kV(1.4m)'\n }, {\n value: '1.65m',\n text: '110kV(1.65m)'\n }, {\n value: '2.55m',\n text: '220kV(2.55m)'\n }, {\n value: '3.25m',\n text: '330kV(3.25m)'\n }, {\n value: '4.66m',\n text: '500kV(4.55m)'\n }, {\n value: '6.70m',\n text: '750kV(6.70m)'\n }, {\n value: '8.25m',\n text: '1000kV(8.25m)'\n }],\n rules2: {\n 'name': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写围栏名称',\n trigger: ['blur', 'change']\n },\n 'code': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写终端编号',\n trigger: ['blur', 'change']\n },\n 'type': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请选择围栏类型',\n trigger: ['blur', 'change']\n },\n 'department': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请选择关联部门',\n trigger: ['blur', 'change']\n },\n 'distance': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写预警距离',\n trigger: ['blur', 'change']\n },\n 'nowarnmes': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写预警语音',\n trigger: ['blur', 'change']\n },\n 'warnmes': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写告警语音',\n trigger: ['blur', 'change']\n },\n 'dianya': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写电压等级',\n trigger: ['blur', 'change']\n }\n },\n radiolist2: [{\n name: '打点绘制',\n disabled: true\n }, {\n name: '连续绘制',\n disabled: false\n // },\n // {\n // \tname: '5小时',\n // \tdisabled: false\n }],\n\n radiolist1: [{\n name: '输电作业',\n disabled: false\n }, {\n name: '变电作业',\n disabled: true\n // },\n // {\n // \tname: '5小时',\n // \tdisabled: false\n }],\n\n boStart: 0,\n // u-radio-group的v-model绑定的值如果设置为某个radio的name,就会被默认选中\n radiovalue1: '',\n code: '',\n isplay: false,\n digao: '',\n latlon: '',\n model: {\n points: '',\n fenceFloorHe: '-1',\n //围栏底高\n height: '',\n //围栏高\n lineHeight: '-1',\n //导线高\n company: this.company,\n perCompany: '',\n addperson: this.username,\n // // userInfo: {\n name: '',\n juli: '',\n type: '',\n department: '',\n distance: '0',\n dianya: '',\n // fencetype:'',//围栏性质\n isplay: '0',\n nowarnmes: '',\n warnmes: '',\n fencetype: '变电作业'\n // },\n },\n\n drawshow: false,\n checked: false,\n guijishow: false,\n show: false,\n amapsuduPoints: 0,\n amapendGuijiPoints: '',\n amapGuijiPoints: [],\n amapFencePoints: [],\n amapdeFencePoints: {},\n keyword: '',\n topheight: 55,\n threeortwo: [],\n amapPoints: [],\n // 这就是我们需要向视图层传递的数据\n amapPointData: [],\n // 这就是我们需要向视图层传递的数据\n amapldrawData: [],\n amapGPSPoints: [],\n marsset: {},\n point: {},\n drawlist: [],\n longitude: '',\n latitude: '',\n show4: false,\n showtagid: false,\n tagidlist: [],\n tagonlie: '',\n skeletonHeight: '',\n buttonTop: 0,\n // 按钮的 top 位置\n buttonLeft: 0 // 按钮的 left 位置\n };\n },\n\n props: {\n fenceposition: {\n type: String\n // default: 60\n }\n },\n mounted: function mounted() {\n var _this = this;\n __f__(\"log\", this.fenceposition, \" at pages/index/ditu.vue:663\");\n this.getLocation();\n this.warnidslist = [];\n this.warnidlist = [];\n this.warnlist = [];\n this.findtagidall();\n this.findbumenall();\n this.initMap();\n // this.updateButtonPosition(); // 初始化按钮位置\n // window.addEventListener('resize', this.updateButtonPosition); // 监听窗口大小变化\n this.$nextTick(function () {\n // 获取系统信息\n var systemInfo = uni.getSystemInfoSync();\n _this.skeletonHeight = systemInfo.safeArea.height;\n _this.buttonTop = _this.skeletonHeight - 224;\n _this.buttonLeft = 15;\n // this.webHeight = this.skeletonHeight - this.tabBarHeight\n\n // this.vuex_status_bar_height = this.webHeight\n // this.currentIndex = 2\n });\n\n this.threeortwo.push(this.is3wei);\n // this.amapPoints = []\n // this.amapBasePoints = []\n // this.amapFencePoints = []\n\n // this.amapGuijiPoints = []\n // this.amapendGuijiPoints = ''\n this.topheight = this.vuex_custom_bar_height + 15;\n },\n methods: {\n // updateButtonPosition() {\n // \t\t const windowHeight = window.innerHeight;\n // \t\t\t\tconsole.log(windowHeight);\n // \t\t const windowWidth = window.innerWidth;\n // \t\t this.buttonTop = windowHeight-279 ;\n // \t\t this.buttonLeft = 15;\n // \t\t\t\tconsole.log(this.buttonTop);\n // \t\t },\n findtagidall: function findtagidall() {\n var _this2 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtagid)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:715\");\n if (res.code == 0) {\n _this2.tagidlist = res.data.map(function (item) {\n return {\n value: item.online,\n label: item.tagid\n };\n });\n } else {\n _this2.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n confirmtagid: function confirmtagid(e) {\n this.code = e[0].label;\n // this.tagonlie = e[0].value\n this.seachcode();\n },\n changeRangeLevel: function changeRangeLevel(e) {\n __f__(\"log\", e, \" at pages/index/ditu.vue:738\");\n // console.log(this.model.juli);\n this.model.juli = this.rangeLevel[e].text;\n // if (this.model.juli != '') {\n this.model.dianya = this.rangeLevel[e].value.split(\"m\")[0];\n // }\n // this.dianya = e;\n // this.model.dianya = e.split(\"m\")[0];\n },\n getLocation: function getLocation() {\n uni.getLocation({\n type: 'wgs84',\n success: function success(res) {\n __f__(\"log\", '当前位置的经度:' + res.longitude, \" at pages/index/ditu.vue:751\");\n __f__(\"log\", '当前位置的纬度:' + res.latitude, \" at pages/index/ditu.vue:752\");\n }\n });\n },\n onchange: function onchange(e) {\n var list = [];\n if (this.pointlist.length < e.value) {\n for (var i = this.pointlist.length; i < e.value; i++) {\n list.push(i);\n this.pointlist.push(i);\n // e[i]\n }\n } else {\n this.pointlist.splice(e.value, this.pointlist.length - e.value);\n }\n },\n radioChange: function radioChange(n) {\n if (n == '变电作业') {\n this.isperties = true;\n } else {\n this.isperties = false;\n }\n },\n seachcode: function seachcode(e) {\n var _this3 = this;\n this.drawlist = [];\n var params = {\n id: this.code,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtagIdPerson)(params).then(function (res) {\n if (res.data != null) {\n _this3.tagonlie = res.data.online;\n if (res.data.gpsstatus == '4') {\n _this3.disabled = false;\n _this3.content = '';\n _this3.pointcontent = '';\n _this3.digao = res.data.height;\n // this.end = true\n if (_this3.end == true) {\n _this3.model.points += res.data.lat + \":\" + res.data.lon + \";\";\n _this3.drawlist.push(res.data.lat);\n _this3.drawlist.push(res.data.lon);\n _this3.amapldrawData.push(_this3.drawlist);\n }\n // if (this.pointlock == true) {\n // \tthis.amapPointData.push(res.data)\n\n // \tthis.pointlock = false\n // }\n } else {\n _this3.content = '设备非高精';\n _this3.disabled = true;\n _this3.pointcontent = '设备非高精';\n }\n } else {\n _this3.disabled = true;\n _this3.content = '未搜索到设备';\n _this3.pointcontent = '未搜索到设备';\n }\n });\n setTimeout(function () {\n // \t//5秒播放一次\n _this3.seachcode();\n }, 1000);\n },\n isopen: function isopen(e) {\n if (e == true) {\n this.model.isplay = '1';\n } else {\n this.model.isplay = '0';\n }\n },\n findbumenall: function findbumenall() {\n var _this4 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbumen)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:840\");\n if (res.code == 0) {\n _this4.bumenList = res.data.map(function (item) {\n return {\n value: item.name,\n text: item.name\n };\n });\n } else {\n _this4.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n typeCallback: function typeCallback(index) {\n var _this5 = this;\n var params = {\n type: this.typeList[index].text\n };\n (0, _api.findWarnmes)(params).then(function (res) {\n if (res.code == 0) {\n // nowarnmes: '靠近危险请注意',\n // warnmes: '进入危险区域请注意',\n // if (res.data.type == \"工作区\") {\n // \tthis.model.nowarnmes = res.data.nowarnmes + \";\" + res.data.nowarnmestype\n // \tthis.model.warnmes = res.data.warnmes + \";\" + res.data.warnmestype\n // } else {\n _this5.model.nowarnmes = res.data.nowarnmes;\n _this5.model.warnmes = res.data.warnmes;\n // }\n } else {}\n });\n this.model.type = this.typeList[index].text;\n },\n bymenCallback: function bymenCallback(index) {\n this.model.department = this.bumenList[index].text;\n },\n acquisitionxy: function acquisitionxy(index, i, name) {\n var _this6 = this;\n var params = {\n baoliu3: this.code,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n __f__(\"log\", params, \" at pages/index/ditu.vue:887\");\n if (this.vuex_is_login) {\n (0, _api.acquisition)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:890\");\n if (res.code == 0) {\n if (_this6.model.fencetype == '变电作业') {\n // this.model.points += res.data.lat + \":\" + res.data.lon + \";\"\n _this6.pointlist.splice(index, 1, res.data.lat + \":\" + res.data.lon);\n __f__(\"log\", _this6.pointlist, \" at pages/index/ditu.vue:895\");\n _this6.amapPointData.splice(index, 1, res.data);\n // this.amapPointData.push(res.data)\n // this.amapPointData = this.pointlist\n _this6.pointlock = true;\n } else {\n __f__(\"log\", name, \" at pages/index/ditu.vue:901\");\n if (name == 'zb') {\n __f__(\"log\", index, \" at pages/index/ditu.vue:903\");\n __f__(\"log\", i, \" at pages/index/ditu.vue:904\");\n _this6.zuobiaolist[index - 1][i] = res.data.lat + \":\" + res.data.lon + \";\";\n _this6.zuobiaolist[index - 1][2] = res.data.height;\n _this6.amapPointData.splice(index + i, 1, res.data);\n } else {\n _this6.saglist[index - 1][i] = res.data.lat + \":\" + res.data.lon + \";\";\n _this6.saglist[index - 1][2] = res.data.height;\n }\n }\n } else {\n _this6.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n valChange: function valChange(e) {\n __f__(\"log\", '当前值为: ' + e.value, \" at pages/index/ditu.vue:927\");\n },\n initlock: function initlock() {\n this.fetchPersonsList();\n this.fetchFenceList();\n },\n closemodal: function closemodal() {\n this.drawshow = false;\n },\n cancelmodal: function cancelmodal() {\n this.drawshow = false;\n },\n cancelsave: function cancelsave() {\n this.savefence = false;\n this.drawshow = true;\n },\n save: function save() {\n var _this7 = this;\n this.model.company = this.company;\n this.model.addperson = this.vuex_user;\n this.model.perCompany = this.company;\n if (this.model.fencetype == '输电作业') {\n this.model.points = this.zuobiaolist;\n var hei = '';\n var num = this.tanum - 1;\n var result = '';\n //根据塔数循环查询塔和弧垂的坐标A数据,根据第一条塔,第二条弧垂把数据拼接起来\n for (var _i = 0; _i < this.tanum; _i++) {\n result += this.zuobiaolist[_i][0];\n if (_i < num) {\n result += this.saglist[_i][0];\n }\n hei += this.zuobiaolist[_i][2] + \":\" + this.zuobiaolist[_i][3] + ';';\n if (_i < num) {\n hei += this.saglist[_i][2] + \":\" + this.saglist[_i][3] + ';';\n }\n\n // hei += this.zuobiaolist[i][3];\n // if (i < num) {\n // \thei += this.saglist[i][3];\n // }\n }\n //从最后一条查询点位B第一条塔,第二条弧垂拼接,最后把两组数据拼接起来\n for (var _i2 = this.tanum - 1; _i2 >= 0; _i2--) {\n result += this.zuobiaolist[_i2][1];\n if (_i2 >= 1) {\n result += this.saglist[_i2 - 1][1];\n }\n\n // hei += this.zuobiaolist[i][2];\n // if (i >= 1) {\n // \thei += this.saglist[i - 1][2];\n // }\n\n hei += this.zuobiaolist[_i2][2] + \":\" + this.zuobiaolist[_i2][3] + ';';\n if (_i2 >= 1) {\n hei += this.saglist[_i2 - 1][2] + \":\" + this.saglist[_i2 - 1][3] + ';';\n }\n }\n __f__(\"log\", result, \" at pages/index/ditu.vue:989\");\n __f__(\"log\", hei, \" at pages/index/ditu.vue:990\");\n this.model.points = result;\n this.model.lineHeight = hei;\n } else {\n var _result = '';\n for (var i = 0; i < this.pointlist.length; i++) {\n _result += this.pointlist[i] + \";\";\n }\n this.model.points = _result;\n }\n this.$refs.uForm.validate().then(function (res) {\n uni.$u.toast('校验通过');\n (0, _api.submitper)(_this7.model).then(function (res) {\n if (res.code == 0) {\n _this7.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"保存成功\"\n });\n _this7.savefence = false;\n _this7.amapldrawData = [];\n _this7.amapPointData = [];\n } else {\n _this7.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.data\n });\n }\n });\n // this.savefence = false\n }).catch(function (errors) {\n // uni.$u.toast('校验失败')\n });\n // this.savefence = false\n },\n formatDate: function formatDate(date) {\n var year = date.getFullYear();\n var month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始\n var day = String(date.getDate()).padStart(2, '0');\n var hours = String(date.getHours()).padStart(2, '0');\n var minutes = String(date.getMinutes()).padStart(2, '0');\n var seconds = String(date.getSeconds()).padStart(2, '0');\n return year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n },\n startdraw: function startdraw() {\n if (this.code == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请输入终端编号'\n });\n } else {\n //选择变电作业\n if (this.isperties == false) {\n for (var i = 0; i < this.tanum; i++) {\n if (this.zuobiaolist[i][0] == '' && this.zuobiaolist[i][1] == '') {\n // lock = true\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请先打点'\n });\n } else if (this.zuobiaolist[i][2] == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请输入导线高'\n });\n // lock = false\n } else {\n this.drawshow = false;\n this.savefence = true;\n }\n }\n } else {\n if (this.drawway == \"连续绘制\") {\n this.drawshow = false;\n this.ldrawshow = true;\n } else {\n this.drawshow = false;\n this.pointdrawshow = true;\n }\n }\n }\n },\n cancelpoint: function cancelpoint() {\n this.drawshow = true;\n this.pointdrawshow = false;\n },\n savepoint: function savepoint() {\n this.pointdrawshow = false;\n this.savefence = true;\n },\n fenceHe: function fenceHe() {\n //获取围栏底高\n this.model.fenceFloorHe = this.digao;\n },\n endsave: function endsave() {\n this.end = false;\n this.savefence = true;\n },\n ldrawcancel: function ldrawcancel() {\n this.drawshow = true;\n this.ldrawshow = false;\n },\n ldrawconfirm: function ldrawconfirm() {\n this.ldrawshow = false;\n this.end = true;\n // this.model.points += this.latlon\n },\n change: function change(e) {\n this.amapsuduPoints = e;\n },\n draw: function draw() {\n if (this.vuex_is_login == true) {\n this.drawshow = true;\n this.savefence = false;\n }\n },\n zoom: function zoom() {\n this.show = !this.show;\n },\n receiveRenderData: function receiveRenderData(val) {\n this.fetchPersonsList();\n this.updateTrajectories();\n this.fetchFenceList();\n },\n searchxinxi: function searchxinxi() {\n var _this8 = this;\n var params = {\n name: this.keyword,\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findPerson)(params).then(function (res) {\n if (res.code == 0) {\n var targetPoint = {};\n targetPoint.lat = res.data.lon;\n targetPoint.lon = res.data.lat;\n _this8.point = targetPoint;\n } else {\n _this8.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n handleMapClick: function handleMapClick(e) {\n this.$emit('mars3dc', e);\n },\n guijiClick: function guijiClick(e) {\n this.dqnum = e.dqnum;\n this.plackTime = e.plackTime;\n },\n initMap: function initMap() {\n var _this9 = this;\n // if (this.vuex_is_login) { \n (0, _api.MarsHome)().then(function (rep) {\n // uni.getLocation({\n // type: 'wgs84',\n // success: function(res) {\n // \tconsole.log('当前位置的经度:' + res.longitude);\n // \tconsole.log('当前位置的纬度:' + res.latitude);\n if (_this9.lonlat != '') {\n rep.data[0].mapposition = _this9.lonlat;\n }\n // \t}\n // });\n _this9.marsset = rep.data[0];\n });\n // }\n },\n fetchFenceList: function fetchFenceList() {\n var _this10 = this;\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n if (uni.getStorageSync('isfence') == true) {\n (0, _api.findAllFence)(params).then(function (res) {\n if (res.data != null) {\n var filteredData = res.data.filter(function (item) {\n return item.isplay === 0;\n });\n if (filteredData != null) {\n _this10.amapdeFencePoints = filteredData;\n }\n if (_this10.amapFencePoints.length > res.data.length) {\n //当有围栏删除时调用地图把围栏全部删除\n var missingData = _this10.amapFencePoints.filter(function (item1) {\n return !res.data.some(function (item2) {\n return item2.id === item1.id;\n });\n });\n _this10.amapdeFencePoints = missingData;\n }\n _this10.amapFencePoints = res.data;\n }\n });\n } else {\n this.amapFencePoints = [];\n }\n }\n setTimeout(function () {\n //5秒播放一次\n _this10.fetchFenceList();\n }, 5000);\n },\n fetchPersonsList: function fetchPersonsList() {\n var _this11 = this;\n this.amapPoints = [];\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.getGPSCesium)(params).then(function (res) {\n if (res.data != null) {\n _this11.amapPoints = res.data;\n for (var i = 0; i < res.data.length; i++) {\n // res.data[i].online==1\n if (res.data[i].online == \"1\") {\n __f__(\"log\", _this11.zystate, \" at pages/index/ditu.vue:1220\");\n if (_this11.zystate == 'START') {\n // if (res.data.filter(item => item.warnstatus == '1').length > 0) {\n // \t\tif (this.warnidlist.indexOf(res.data[i].warnstatus=='1') < 0) {\n // \t\t\tthis.warnlist.push(res.data.filter(item => item.warnstatus == '1')[\n // \t\t\t\t\t0].tagid +\n // \t\t\t\t\"进入预警区域请注意\")\n // \t\t\tthis.warnidlist.push(res.data.filter(item => item.warnstatus ==\n // \t\t\t\t'1')[0].tagid)\n // \t\t} else {\n\n // \t\t\tthis.warnlist.splice(this.warnidlist.indexOf(res.data.filter(\n // \t\t\t\t\t\titem => item.warnstatus !=\n // \t\t\t\t\t\t'1')[0] \n // \t\t\t\t\t.tagid),\n // \t\t\t\t1)\n // \t\tthis.warnidlist.splice(this.warnidlist.indexOf(res.data.filter(item =>\n // \t\t\t\t\titem.warnstatus !=\n // \t\t\t\t\t'1')[0]\n // \t\t\t\t.tagid),\n // \t\t\t1)\n // }\n // }\n if (_this11.warnidlist.indexOf(res.data[i].tagid) < 0) {\n if (res.data[i].warnstatus == '1') {\n _this11.warnlist.push(res.data[i].tagid + \"进入预警区域请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[0] == 1) {\n _this11.warnlist.push(res.data[i].tagid + \"进入禁入区请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[1] == 0) {\n _this11.warnlist.push(res.data[i].tagid + \"超范围请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[2] == 1) {\n _this11.warnlist.push(res.data[i].tagid + \"超高请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n }\n } else {\n if (res.data[i].baoliu2.split(\";\")[0] == 1) {} else if (res.data[i].baoliu2.split(\";\")[1] == 0) {} else if (res.data[i].baoliu2.split(\";\")[2] == 1) {} else if (res.data[i].warnstatus == '1') {} else {\n _this11.warnlist.splice(_this11.warnidlist.indexOf(res.data[i].tagid), 1);\n _this11.warnidlist.splice(_this11.warnidlist.indexOf(res.data[i].tagid), 1);\n }\n }\n var filteredData = res.data.filter(function (item) {\n return item.online === \"1\" && item.gpsstatus !== \"4\" && (item.baoliu1 === '手持标签' || item.baoliu1 === '车载标签');\n });\n // 将符合条件的数据的 tagid 添加到 this.warnidlist 中\n filteredData.forEach(function (item) {\n if (_this11.warnidslist.indexOf(item.tagid) < 0) {\n _this11.warnlist.push(item.tagid + \"设备非高精\");\n _this11.warnidslist.push(item.tagid);\n }\n });\n } else {\n _this11.warnlist = [];\n _this11.warnidslist = [];\n }\n } else {}\n }\n }\n });\n }\n setTimeout(function () {\n //5秒播放一次\n _this11.fetchPersonsList();\n }, 5000);\n },\n updateTrajectories: function updateTrajectories() {\n var _this12 = this;\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.getGPS)(params).then(function (res) {\n if (res.data != null) {\n _this12.amapGPSPoints = res.data;\n }\n });\n }\n setTimeout(function () {\n //5秒播放一次\n _this12.updateTrajectories();\n }, 1000);\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvZGl0dS52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsInN1Y2Nlc3NDb20iLCJkYXRhIiwid2Fybmxpc3QiLCJ3YXJuaWRsaXN0Iiwid2Fybmlkc2xpc3QiLCJsYWJlbFdpZHRoIiwicG9pbnRsb2NrIiwicG9pbnRjb250ZW50IiwicG9pbnRkaXNhYmxlZCIsInBvaW50bGlzdCIsInBvaW50bnVtIiwicG9pbnRkcmF3c2hvdyIsImVuZCIsImxkcmF3c2hvdyIsImxkcmF3dGl0bGUiLCJsZHJhd2NvbnRlbnQiLCJpc3BlcnRpZXMiLCJkcmF3d2F5IiwiY29udGVudCIsImRpc2FibGVkIiwic2F2ZWZlbmNlIiwiYnVtZW5MaXN0Iiwic2hvdzEiLCJzaG93MiIsInR5cGVMaXN0IiwidGV4dCIsIndhcm5tZXNMaXN0IiwibGlzdCIsInp1b2JpYW9saXN0Iiwic2FnbGlzdCIsInRhbnVtIiwiY29sb3IxIiwiY29sb3IyIiwiY29sb3I1IiwiY29sb3IxMCIsImNvbG9yMjAiLCJjb2xvcjUwIiwiY29sb3IxMDAiLCJzdWR1IiwicGxhY2tUaW1lIiwiZHFudW0iLCJsb2NrZ3VpamkiLCJzaG93bm90aWZ5IiwiY2FuY2VsVGV4dCIsImlzUnVubmluZyIsInBsYWNrQ29udHJvbCIsImNvdW50TnVtIiwiTG9jdXNEYXRhIiwidmFsdWUiLCJzdGFydGRhdGV0aW1lIiwic3RvcGRhdGV0aW1lIiwicmFuZ2VMZXZlbCIsInJ1bGVzMiIsInR5cGUiLCJyZXF1aXJlZCIsIm1lc3NhZ2UiLCJ0cmlnZ2VyIiwicmFkaW9saXN0MiIsIm5hbWUiLCJyYWRpb2xpc3QxIiwiYm9TdGFydCIsInJhZGlvdmFsdWUxIiwiY29kZSIsImlzcGxheSIsImRpZ2FvIiwibGF0bG9uIiwibW9kZWwiLCJwb2ludHMiLCJmZW5jZUZsb29ySGUiLCJoZWlnaHQiLCJsaW5lSGVpZ2h0IiwiY29tcGFueSIsInBlckNvbXBhbnkiLCJhZGRwZXJzb24iLCJqdWxpIiwiZGVwYXJ0bWVudCIsImRpc3RhbmNlIiwiZGlhbnlhIiwibm93YXJubWVzIiwid2Fybm1lcyIsImZlbmNldHlwZSIsImRyYXdzaG93IiwiY2hlY2tlZCIsImd1aWppc2hvdyIsInNob3ciLCJhbWFwc3VkdVBvaW50cyIsImFtYXBlbmRHdWlqaVBvaW50cyIsImFtYXBHdWlqaVBvaW50cyIsImFtYXBGZW5jZVBvaW50cyIsImFtYXBkZUZlbmNlUG9pbnRzIiwia2V5d29yZCIsInRvcGhlaWdodCIsInRocmVlb3J0d28iLCJhbWFwUG9pbnRzIiwiYW1hcFBvaW50RGF0YSIsImFtYXBsZHJhd0RhdGEiLCJhbWFwR1BTUG9pbnRzIiwibWFyc3NldCIsInBvaW50IiwiZHJhd2xpc3QiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsInNob3c0Iiwic2hvd3RhZ2lkIiwidGFnaWRsaXN0IiwidGFnb25saWUiLCJza2VsZXRvbkhlaWdodCIsImJ1dHRvblRvcCIsImJ1dHRvbkxlZnQiLCJwcm9wcyIsImZlbmNlcG9zaXRpb24iLCJtb3VudGVkIiwibWV0aG9kcyIsImZpbmR0YWdpZGFsbCIsImp1ZXNlIiwibGFiZWwiLCJ0eHQiLCJjb25maXJtdGFnaWQiLCJjaGFuZ2VSYW5nZUxldmVsIiwiZ2V0TG9jYXRpb24iLCJ1bmkiLCJzdWNjZXNzIiwib25jaGFuZ2UiLCJyYWRpb0NoYW5nZSIsInNlYWNoY29kZSIsImlkIiwic2V0VGltZW91dCIsImlzb3BlbiIsImZpbmRidW1lbmFsbCIsInR5cGVDYWxsYmFjayIsImJ5bWVuQ2FsbGJhY2siLCJhY3F1aXNpdGlvbnh5IiwiYmFvbGl1MyIsInZhbENoYW5nZSIsImluaXRsb2NrIiwiY2xvc2Vtb2RhbCIsImNhbmNlbG1vZGFsIiwiY2FuY2Vsc2F2ZSIsInNhdmUiLCJyZXN1bHQiLCJoZWkiLCJmb3JtYXREYXRlIiwic3RhcnRkcmF3IiwiY2FuY2VscG9pbnQiLCJzYXZlcG9pbnQiLCJmZW5jZUhlIiwiZW5kc2F2ZSIsImxkcmF3Y2FuY2VsIiwibGRyYXdjb25maXJtIiwiY2hhbmdlIiwiZHJhdyIsInpvb20iLCJyZWNlaXZlUmVuZGVyRGF0YSIsInNlYXJjaHhpbnhpIiwidGFyZ2V0UG9pbnQiLCJoYW5kbGVNYXBDbGljayIsImd1aWppQ2xpY2siLCJpbml0TWFwIiwicmVwIiwiZmV0Y2hGZW5jZUxpc3QiLCJmZXRjaFBlcnNvbnNMaXN0IiwiYmFvbGl1MiIsInNwbGl0IiwiaXRlbSIsImJhb2xpdTEiLCJmaWx0ZXJlZERhdGEiLCJ1cGRhdGVUcmFqZWN0b3JpZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUF5U0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBO0FBQUEsZUFDQTtFQUNBQTtJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFBQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUVBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBQztNQUNBLEdBQ0E7UUFDQUE7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEVBQ0E7TUFDQUM7UUFDQUQ7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxFQUNBO01BQ0FFLE9BQ0EsQ0FDQSxLQUNBLEVBQ0EsQ0FDQSxLQUNBLEVBQ0EsQ0FDQSxLQUNBLENBQ0E7TUFFQUMsY0FDQSxDQUNBLGVBQ0E7TUFDQTtNQUNBLENBQ0EsZUFDQSxFQUNBLENBQ0EsZUFDQTtNQUNBO01BQ0EsQ0FDQTtNQUVBO01BQUEsQ0FDQTs7TUFDQUMsVUFDQSxDQUNBLGVBQ0EsRUFDQSxDQUNBLGVBQ0EsRUFDQSxDQUNBOztNQUdBO01BQUEsQ0FDQTs7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBOztNQUVBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTs7TUFFQTtNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUg7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7TUFDQTJCO1FBRUE7VUFDQUM7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBRUE7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0E7VUFDQUg7VUFDQTtVQUNBQztVQUNBQztVQUNBQztRQUNBO01BRUE7TUFDQUM7UUFDQUM7UUFDQXZDO01BQ0EsR0FDQTtRQUNBdUM7UUFDQXZDO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQSxFQUNBOztNQUNBd0M7UUFDQUQ7UUFDQXZDO01BQ0EsR0FDQTtRQUNBdUM7UUFDQXZDO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQSxFQUNBOztNQUNBeUM7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBQztRQUNBQztRQUFBO1FBQ0FDO1FBQUE7UUFDQUM7UUFBQTtRQUNBQztRQUNBQztRQUNBQztRQUNBO1FBQ0FmO1FBQ0FnQjtRQUNBckI7UUFDQXNCO1FBQ0FDO1FBQ0FDO1FBQ0E7UUFDQWQ7UUFDQWU7UUFDQUM7UUFDQUM7UUFDQTtNQUNBOztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFBQTtNQUNBQztJQUNBO0VBRUE7O0VBQ0FDO0lBQ0FDO01BQ0F6RDtNQUNBO0lBQ0E7RUFFQTtFQUNBMEQ7SUFBQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUVBO01BQ0E7O01BRUE7TUFDQTtJQUNBOztJQUNBO0lBQ0E7SUFDQTtJQUNBOztJQUVBO0lBQ0E7SUFDQTtFQUtBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQTtVQUNBMUM7VUFDQTJDO1FBQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUFBO2dCQUNBbEU7Z0JBQ0FtRTtjQUNBO1lBQUE7VUFDQTtZQUNBO2NBQ0E5RDtjQUNBK0Q7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUVBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQUM7UUFDQW5FO1FBQ0FvRTtVQUNBO1VBQ0E7UUFFQTtNQUNBO0lBQ0E7SUFFQUM7TUFDQTtNQUNBO1FBQ0E7VUFFQS9GO1VBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQWdHO01BRUE7UUFDQTtNQUNBO1FBQ0E7TUFFQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtNQUNBO1FBQ0FDO1FBQ0F0RDtRQUNBMkM7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO2NBQ0E7Y0FFQTtjQUNBO2NBQ0E7WUFDQTtZQUNBO1lBQ0E7O1lBRUE7WUFDQTtVQUVBO1lBQ0E7WUFDQTtZQUNBO1VBQ0E7UUFDQTtVQUNBO1VBQ0E7VUFDQTtRQUNBO01BQ0E7TUFDQVk7UUFDQTtRQUNBO01BQ0E7SUFFQTtJQUNBQztNQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQTtVQUNBekQ7VUFDQTJDO1FBQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUFBO2dCQUNBbEU7Z0JBQ0F2QjtjQUNBO1lBQUE7VUFDQTtZQUNBO2NBQ0E0QjtjQUNBK0Q7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUVBO0lBQ0FhO01BQUE7TUFDQTtRQUNBNUU7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7UUFDQSxRQUVBO01BQ0E7TUFDQTtJQUNBO0lBQ0E2RTtNQUNBO0lBRUE7SUFDQUM7TUFBQTtNQUNBO1FBQ0FDO1FBQ0E3RDtRQUNBMkM7TUFDQTtNQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUNBO2NBQ0E7Y0FDQTtjQUNBO2NBQ0E7Y0FDQTtjQUNBO1lBQ0E7Y0FDQTtjQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2NBQ0E7Z0JBQ0E7Z0JBQ0E7Y0FFQTtZQUVBO1VBQ0E7WUFDQTtjQUNBN0Q7Y0FDQStEO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFFQTtJQUVBaUI7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUVBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7TUFDQTtNQUdBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1VBQ0FDO1VBQ0E7WUFDQUE7VUFDQTtVQUVBQztVQUNBO1lBQ0FBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7UUFDQTtRQUNBO1FBQ0E7VUFDQUQ7VUFDQTtZQUNBQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTtVQUNBOztVQUVBQztVQUNBO1lBQ0FBO1VBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO1VBQ0FEO1FBQ0E7UUFDQTtNQUNBO01BRUE7UUFDQW5CO1FBQ0E7VUFDQTtZQUNBO2NBQ0FuRTtjQUNBK0Q7WUFDQTtZQUVBO1lBQ0E7WUFDQTtVQUNBO1lBQ0E7Y0FDQS9EO2NBQ0ErRDtZQUNBO1VBQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtNQUFBLENBQ0E7TUFDQTtJQUNBO0lBR0F5QjtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUVBO0lBQ0E7SUFFQUM7TUFDQTtRQUNBO1VBQ0F6RjtVQUNBK0Q7UUFDQTtNQUNBO1FBQ0E7UUFDQTtVQUNBO1lBQ0E7Y0FDQTtjQUNBO2dCQUNBL0Q7Z0JBQ0ErRDtjQUNBO1lBQ0E7Y0FDQTtnQkFDQS9EO2dCQUNBK0Q7Y0FDQTtjQUNBO1lBQ0E7Y0FDQTtjQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0E7WUFDQTtZQUNBO1VBQ0E7WUFDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBS0E7SUFDQTJCO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBRUFDO01BRUE7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BRUE7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQS9GO1FBQ0FhO01BQ0E7TUFDQTtRQUNBO1VBQ0E7WUFDQTtZQUNBbUY7WUFDQUE7WUFDQTtVQUNBO1lBQ0E7Y0FDQXJHO2NBQ0ErRDtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQXVDO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQTtRQUVBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtVQUNBQztRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBeEY7UUFDQTJDO01BQ0E7TUFDQTtRQUNBO1VBQ0E7WUFDQTtjQUNBO2dCQUFBO2NBQUE7Y0FDQTtnQkFDQTtjQUNBO2NBQ0E7Z0JBQ0E7Z0JBQ0E7a0JBQ0E7b0JBQUE7a0JBQUE7Z0JBQ0E7Z0JBQ0E7Y0FFQTtjQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO01BQ0FZO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQWtDO01BQUE7TUFDQTtNQUNBO1FBQ0F6RjtRQUNBMkM7TUFDQTtNQUNBO1FBQ0E7VUFDQTtZQUNBO1lBQ0E7Y0FDQTtjQUNBO2dCQUNBO2dCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBOztrQkFFQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtrQkFDQTtvQkFDQSxvRUFDQStDLFFBQ0FDLCtEQUNBLE1BQ0E7c0JBQ0EsdUVBQ0E7c0JBQ0EseUVBQ0E7b0JBQ0E7a0JBQ0E7a0JBQ0E7b0JBQ0EseURBQ0FDLEtBQ0FDLFlBQ0E7a0JBQ0E7a0JBQ0E7a0JBQ0FDO29CQUNBO3NCQUNBO3NCQUNBO29CQUNBO2tCQUNBO2dCQUNBO2tCQUNBO2tCQUNBO2dCQUNBO2NBQ0EsUUFFQTtZQUNBO1VBR0E7UUFFQTtNQUNBO01BRUF2QztRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUF3QztNQUFBO01BQ0E7UUFDQS9GO1FBQ0EyQztNQUNBO01BQ0E7UUFDQTtVQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7TUFDQVk7UUFDQTtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiI0MTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXc+XHJcblx0XHQ8dS1zZWFyY2ggdi1zaG93PVwic2hvd1wiIGNsYXNzPVwic2VhcmNoYmdcIiBzaGFwZT1cInRydWVcIiBiZy1jb2xvcj1cInJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KVwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5ZCN56ewXCJcclxuXHRcdFx0OnNob3ctYWN0aW9uPVwiZmFsc2VcIiB2LW1vZGVsPVwia2V5d29yZFwiIEBzZWFyY2g9XCJzZWFyY2h4aW54aVwiXHJcblx0XHRcdDpzdHlsZT1cInt0b3A6IHRvcGhlaWdodCsncHgnLHBvc2l0aW9uOiAnYWJzb2x1dGUnLHdpZHRoOiAnNTAlJyxsZWZ0OiAnMjUlJ31cIj48L3Utc2VhcmNoPlxyXG5cdFx0PCEtLSAjaWZkZWYgQVBQLVBMVVMgfHwgSDUgLS0+XHJcblx0XHQ8dmlldyA6c3R5bGU9XCJ7dG9wOiB0b3BoZWlnaHQrJ3B4Jyxwb3NpdGlvbjogJ2Fic29sdXRlJyx3aWR0aDogJzEwMCUnLCd6LWluZGV4JzogJzk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OSd9XCI+XHJcblx0XHRcdDwhLS0gPHUtLWltYWdlXHJcbiBcclxuICAgIDpzaG93TG9hZGluZz1cInRydWVcIlxyXG4gICAgc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yZWQucG5nXCJcclxuICAgIHdpZHRoPVwiMjVweFwiXHJcbiAgICBoZWlnaHQ9XCIyNXB4XCJcclxuICAgIEBjbGljaz1cImNsaWNrXCJcclxuICA+PC91LS1pbWFnZT7npoHljLogLS0+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYXJlYVwiXHJcblx0XHRcdFx0c3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6IGJvbGRlcjtmb250LXNpemU6IDE2cHg7YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtjb2xvcjogI2ZmZmZmZjtcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yZWQucG5nXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwidmVydGljYWwtYWxpZ246IG1pZGRsZTtwb3NpdGlvbjogcmVsYXRpdmU7dG9wOiAtMnB4O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHhcIj7npoHljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvZ3JlZW4ucG5nXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwidmVydGljYWwtYWxpZ246IG1pZGRsZTtwb3NpdGlvbjogcmVsYXRpdmU7dG9wOiAtMnB4O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHhcIj7lronlhajljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvYmx1ZS5wbmdcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO3Bvc2l0aW9uOiByZWxhdGl2ZTt0b3A6IC0ycHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweFwiPiDmlr3lt6XljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvcWluZ3NlLnBuZ1wiXHJcblx0XHRcdFx0XHRzdHlsZT1cInZlcnRpY2FsLWFsaWduOiBtaWRkbGU7cG9zaXRpb246IHJlbGF0aXZlO3RvcDogLTJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4XCI+IOS/neaKpOWMujwvaW1hZ2U+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi10b3A6IDEyMHB4O3Bvc2l0aW9uOiBmaXhlZDsgIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5OTk5OTk5OTk7XCI+XHJcblx0XHRcdDwhLS0ge3t3YXJubGlzdH19IC0tPlxyXG5cdFx0XHQ8IS0tIHt7d2Fybmxpc3QubGVuZ3RofX0gLS0+XHJcblx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHdhcm5saXN0XCIgOmtleT1cImluZGV4XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4O1wiPlxyXG5cdFx0XHRcdDwhLS0ge3tpdGVtLndhcm5zdGF0dXN9fSAtLT5cclxuXHRcdFx0XHQ8dS1hbGVydCB0eXBlPVwid2FybmluZ1wiIDpjbG9zYWJsZT1cInRydWVcIiA6ZGVzY3JpcHRpb249XCJpdGVtXCI+PC91LWFsZXJ0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIDx1LWJ1dHRvbiBAY2xpY2s9XCJkcmF3XCIgaWNvbj1cIi4uLy4uL3N0YXRpYy9kcmF3ZmVuY2UucG5nXCJcclxuXHRcdFx0c3R5bGU9XCIgYm9yZGVyLWNvbG9yOiAjNWI1YjViO2JhY2tncm91bmQtY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMCk7IHdpZHRoOiAzMXB4O2hlaWdodDogMzFweDsgcG9zaXRpb246YWJzb2x1dGU7dG9wOiA3MCU7IGxlZnQ6MTVweDt6LWluZGV4OiA5OTk5OTk5OTk5OTk5OTk7XCI+PC91LWJ1dHRvbj4gLS0+XHJcblx0XHQ8dS1idXR0b24gQGNsaWNrPVwiZHJhd1wiIGljb249XCIuLi8uLi9zdGF0aWMvZHJhd2YucG5nXCIgOnN0eWxlPVwieyBcclxuICAgICAgICBib3JkZXJDb2xvcjogJyM1YjViNWInLCBcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDExNSwgMTE1LCAxMTUsIDApJywgXHJcbiAgICAgICAgd2lkdGg6ICczMnB4JywgXHJcbiAgICAgICAgaGVpZ2h0OiAnMzFweCcsIFxyXG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLCBcclxuICAgICAgICB0b3A6IGJ1dHRvblRvcCArICdweCcsIFxyXG4gICAgICAgIGxlZnQ6IGJ1dHRvbkxlZnQgKyAncHgnLCBcclxuICAgICAgICB6SW5kZXg6IDk5OTk5OTk5OTk5OTk5OSBcclxuICAgICAgfVwiPlxyXG5cdFx0PC91LWJ1dHRvbj5cclxuXHRcdDx1LW1vZGFsIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O1wiIGJ1dHRvblJldmVyc2UgY29uZmlybVRleHQ9XCLkuIvkuIDmraVcIiBjYW5jZWxUZXh0PVwi5Y+W5raIXCJcclxuXHRcdFx0OnNob3c9XCJkcmF3c2hvd1wiIEBjYW5jZWw9XCJjYW5jZWxtb2RhbFwiIEBjb25maXJtPVwic3RhcnRkcmF3XCIgcmVmPVwidU1vZGFsXCIgOnNob3dDYW5jZWxCdXR0b249XCJ0cnVlXCJcclxuXHRcdFx0OmNsb3NlT25DbGlja092ZXJsYXk9XCJ0cnVlXCI+XHJcblx0XHRcdDx1LWljb24gbmFtZT1cImNsb3NlXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDEwcHg7dG9wOjEwcHhcIiBAY2xpY2s9XCJjbG9zZW1vZGFsXCI+PC91LWljb24+XHJcblx0XHRcdDx2aWV3IHN0eWxlPVwibWF4LWhlaWdodDogNjAwcHg7IG92ZXJmbG93LXk6IGF1dG87XCI+XHJcblxyXG5cdFx0XHRcdDx1LS1mb3JtIHN0eWxlPVwiXCIgbGFiZWxQb3NpdGlvbj1cImxlZnRcIiA6bW9kZWw9XCJtb2RlbFwiIDpydWxlcz1cInJ1bGVzMlwiIHJlZj1cInVGb3JtXCI+XHJcblx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLnu4jnq6/nvJblj7c6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cInRhZ29ubGllPT0xICYmIGNvZGUhPScnXCIgOmlzRG90PVwidHJ1ZVwiIHR5cGU9XCJzdWNjZXNzXCI+PC91LWJhZGdlPlxyXG5cdFx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0YWdvbmxpZT09MCAmJiBjb2RlIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cImNvZGVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXnu4jnq6/nvJblj7dcIiBAYmx1cj1cInNlYWNoY29kZVwiPjwvdS0taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImNvZGVcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvd3RhZ2lkID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup57uI56uv57yW5Y+3XCIgLz5cclxuXHRcdFx0XHRcdFx0PHRuLXNlbGVjdCB2LW1vZGVsPVwic2hvd3RhZ2lkXCIgbW9kZT1cInNpbmdsZVwiIDpsaXN0PVwidGFnaWRsaXN0XCIgQGNvbmZpcm09XCJjb25maXJtdGFnaWRcIlxyXG5cdFx0XHRcdFx0XHRcdDpzZWFyY2hTaG93PVwidHJ1ZVwiPjwvdG4tc2VsZWN0PlxyXG5cdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIumAieaLqeWcuuaZrzpcIiBwcm9wPVwiZmVuY2V0eXBlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtcmFkaW8tZ3JvdXAgdi1tb2RlbD1cIm1vZGVsLmZlbmNldHlwZVwiIHBsYWNlbWVudD1cInJvd1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx1LXJhZGlvIDpjdXN0b21TdHlsZT1cInttYXJnaW5SaWdodDogJzhweCd9XCIgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIHJhZGlvbGlzdDFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OmtleT1cImluZGV4XCIgOmxhYmVsPVwiaXRlbS5uYW1lXCIgOm5hbWU9XCJpdGVtLm5hbWVcIiBAY2hhbmdlPVwicmFkaW9DaGFuZ2VcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtcmFkaW8+XHJcblx0XHRcdFx0XHRcdDwvdS1yYWRpby1ncm91cD5cclxuXHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdFx0PHZpZXcgdi1pZj0naXNwZXJ0aWVzJz5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIHYtc2hvdz0naXNwZXJ0aWVzJyBsYWJlbD1cIue7mOWItuaWueW8jzpcIiBwcm9wPVwiZmVuY2V0eXBlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCJcclxuXHRcdFx0XHRcdFx0XHRsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx1LXJhZGlvLWdyb3VwIHYtbW9kZWw9XCJkcmF3d2F5XCIgcGxhY2VtZW50PVwicm93XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1yYWRpbyA6Y3VzdG9tU3R5bGU9XCJ7bWFyZ2luUmlnaHQ6ICc4cHgnfVwiIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiByYWRpb2xpc3QyXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0OmtleT1cImluZGV4XCIgOmxhYmVsPVwiaXRlbS5uYW1lXCIgOm5hbWU9XCJpdGVtLm5hbWVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1yYWRpbz5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtcmFkaW8tZ3JvdXA+XHJcblx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHRcdFx0XHQ8dmlldyB2LWVsc2U+XHJcblx0XHRcdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIuaTjeS9nOaPkOekujpcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIHN0eWxlPVwiY29sb3I6cmVkXCI+5bCG5qCH562+5pS+5Zyo5Zyw6Z2i5rWL6YeP5a+857q/6L6557yY5Z2Q5qCH77yM5ZCM5pe255So5r+A5YWJ5rWL6YeP5a+857q/6Led56a75Zyw6Z2i55qE6auY5bqmPC9zcGFuPlxyXG5cclxuXHRcdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIGxhYmVsPVwi5paw5aKe5aGUOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0PHUtbnVtYmVyLWJveCB2LW1vZGVsPVwidGFudW1cIiA6bWluPVwiMlwiIDptYXg9XCI0XHRcIiBAY2hhbmdlPVwidmFsQ2hhbmdlXCI+PC91LW51bWJlci1ib3g+XHJcblx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwiaSBpbiB0YW51bVwiIDprZXk9XCJpXCI+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifloZQnICsgKGkpICsgJ+WdkOagh0E6J1wiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVswXSE9JydcIiB2LW1vZGVsPVwienVvYmlhb2xpc3RbaS0xXVswXVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiIHN0eWxlPVwid2lkdGg6NDAwcnB4XCI+PC90bi1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0gPHRuLWJ1dHRvbiB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzBdPT0nJ1wiIGJhY2tncm91bmRDb2xvcj1cIiM1NWFhZmZcIiBmb250Q29sb3I9XCIjZmZmZmZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbWFsbFwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaSwwKVwiPumHh+mbhuWdkOaghzwvdG4tYnV0dG9uPiAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwhLS0gPGJ1dHRvbiBzaXplPVwibWluaVwiIEBjbGljaz1cImFjcXVpc2l0aW9uXCI+6YeH6ZuGPC9idXR0b24+IC0tPlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtc2hvdz1cInp1b2JpYW9saXN0W2ktMV1bMF09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ6ZGlzYWJsZWQ9XCJkaXNhYmxlZFwiIHNpemU9XCJtaW5pXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGksMCwnemInKVwiPumHh+mbhuWdkOaghzwvdS1idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3VuaS10b29sdGlwPlxyXG5cdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifloZQnICsgKGkpICsgJ+WdkOagh0I6J1wiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVsxXSE9JydcIiB2LW1vZGVsPVwienVvYmlhb2xpc3RbaS0xXVsxXVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiIHN0eWxlPVwid2lkdGg6NDAwcnB4XCI+PC90bi1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzFdPT0nJ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0OmRpc2FibGVkPVwiZGlzYWJsZWRcIiBzaXplPVwibWluaVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDEsJ3piJylcIj7ph4fpm4blnZDmoIc8L3UtYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx0bi1idXR0b24gZGlzYWJsZWQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVsxXT09JydcIiBiYWNrZ3JvdW5kQ29sb3I9XCIjNTVhYWZmXCIgZm9udENvbG9yPVwiI2ZmZmZmZlwiXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21hbGxcIiBAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGksMSlcIj7ph4fpm4blnZDmoIc8L3RuLWJ1dHRvbj4gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3VuaS10b29sdGlwPlxyXG5cdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIGxhYmVsPVwi5a+857q/6auYOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS0taW5wdXQgdi1tb2RlbD1cInp1b2JpYW9saXN0W2ktMV1bM11cIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlr7znur/pq5g6XCI+PC91LS1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiaT49MSAmJiBpPHRhbnVtXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8IS0tIHt7aTw9dGFudW19fVxyXG5cdFx0XHRcdFx0XHRcdFx0e3tzYWdsaXN0W2ktMV19fVxyXG5cdFx0XHRcdFx0XHRcdFx0e3tzYWdsaXN0W2ktMV1bMF19fSAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDx1LWZvcm0taXRlbSA6bGFiZWw9XCIn5byn5Z6CJyArIChpKSArICflnZDmoIdBOidcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHRuLWlucHV0IHYtc2hvdz1cInNhZ2xpc3RbaS0xXVswXSE9JydcIiB2LW1vZGVsPVwic2FnbGlzdFtpLTFdWzBdXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOjQwMHJweFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMF09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDAsJ3NhZycpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gOmxhYmVsPVwiJ+W8p+WegicgKyAoaSkgKyAn5Z2Q5qCHQjonXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0OmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx0bi1pbnB1dCB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMV0hPScnXCIgdi1tb2RlbD1cInNhZ2xpc3RbaS0xXVsxXVwiIGlucHV0QWxpZ249XCJyaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJ3aWR0aDo0MDBycHhcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dW5pLXRvb2x0aXAgOmNvbnRlbnQ9XCJjb250ZW50XCIgcGxhY2VtZW50PVwidG9wXCIgc3R5bGU9XCJ3aWR0aDoxMDBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMV09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDEsJ3NhZycpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gbGFiZWw9XCLlvKflnoLpq5g6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJzYWdsaXN0W2ktMV1bM11cIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlvKflnoLpq5g6XCI+PC91LS1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8L3UtLWZvcm0+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdS1tb2RhbD5cclxuXHRcdDx1LW1vZGFsIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O1wiIGJ1dHRvblJldmVyc2UgY29uZmlybVRleHQ9XCLkv53lrZjlm7TmoI9cIiBjYW5jZWxUZXh0PVwi6L+U5Zue5LiK5LiA5q2lXCJcclxuXHRcdFx0OnNob3c9XCJzYXZlZmVuY2VcIiBAY2FuY2VsPVwiY2FuY2Vsc2F2ZVwiIEBjb25maXJtPVwic2F2ZVwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8IS0tIDx1LWljb24gbmFtZT1cImNsb3NlXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDEwcHg7dG9wOjEwcHhcIiBAY2xpY2s9XCJjbG9zZW1vZGFsXCI+PC91LWljb24+IC0tPlxyXG5cdFx0XHQ8dS0tZm9ybSBzdHlsZT1cIlwiIGxhYmVsUG9zaXRpb249XCJsZWZ0XCIgOm1vZGVsPVwibW9kZWxcIiByZWY9XCJ1Rm9ybVwiIDpydWxlcz1cInJ1bGVzMlwiPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSByZXF1aXJlZCBsYWJlbD1cIuWbtOagj+WQjeensDpcIiBwcm9wPVwibmFtZVwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHQ8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLm5hbWVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/lkI3np7BcIj48L3UtLWlucHV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLlm7TmoI/nsbvlnos6XCIgcHJvcD1cInR5cGVcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwibW9kZWwudHlwZVwiIHR5cGU9XCJzZWxlY3RcIiBAY2xpY2s9XCJzaG93MSA9IHRydWVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpemAieaLqeWbtOagj+exu+Wei1wiIC8+XHJcblx0XHRcdFx0XHQ8dG4tYWN0aW9uLXNoZWV0IDpsaXN0PVwidHlwZUxpc3RcIiB2LW1vZGVsPVwic2hvdzFcIiBAY2xpY2s9XCJ0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSByZXF1aXJlZCBsYWJlbD1cIuWFs+iBlOmDqOmXqDpcIiBwcm9wPVwiZGVwYXJ0bWVudFwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5kZXBhcnRtZW50XCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cyID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5YWz6IGU6YOo6ZeoXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJidW1lbkxpc3RcIiB2LW1vZGVsPVwic2hvdzJcIiBAY2xpY2s9XCJieW1lbkNhbGxiYWNrXCI+PC90bi1hY3Rpb24tc2hlZXQ+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5Zu05qCP6auY5bqmOlwiIHByb3A9XCJoZWlnaHRcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5oZWlnaHRcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/pq5jluqZcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLpooTorabot53nprs6XCIgcHJvcD1cImRpc3RhbmNlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdDx1LS1pbnB1dCB2LW1vZGVsPVwibW9kZWwuZGlzdGFuY2VcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXpooTorabot53nprtcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDwhLS0gPHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi6aKE6K2m6K+t6Z+zOlwiIHByb3A9XCJub3dhcm5tZXNcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5ub3dhcm5tZXNcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXpooTorabor63pn7NcIj48L3UtLWlucHV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5ZGK6K2m6K+t6Z+zOlwiIHByb3A9XCJ3YXJubWVzXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdDx1LS1pbnB1dCB2LW1vZGVsPVwibW9kZWwud2Fybm1lc1wiIGJvcmRlcj1cIm5vbmVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeWRiuitpuivremfs1wiPjwvdS0taW5wdXQ+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT4gLS0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi55S15Y6L562J57qnOlwiIHByb3A9XCJkaWFueWFcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5qdWxpXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3c0ID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup55S15Y6L562J57qnXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJyYW5nZUxldmVsXCIgdi1tb2RlbD1cInNob3c0XCIgQGNsaWNrPVwiY2hhbmdlUmFuZ2VMZXZlbFwiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdFx0PCEtLSA8dW5pLWRhdGEtc2VsZWN0IHYtbW9kZWw9XCJtb2RlbC5kaWFueWFcIiA6bG9jYWxkYXRhPVwicmFuZ2VMZXZlbFwiXHJcblx0XHRcdFx0XHRcdEBjaGFuZ2U9XCJjaGFuZ2VSYW5nZUxldmVsXCI+PC91bmktZGF0YS1zZWxlY3Q+IC0tPlxyXG5cdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLmRpYW55YVwiIGJvcmRlcj1cIm5vbmVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeeUteWOi+etiee6p1wiPjwvdS0taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5a6J5YWo6Led56a7OlwiIHByb3A9XCJkaWFueWFcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5kaWFueWFcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlronlhajot53nprtcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIuaYr+WQpuWQr+eUqDpcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLm5hbWVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/lkI3np7BcIj48L3UtLWlucHV0PiAtLT5cclxuXHRcdFx0XHRcdDx1LXN3aXRjaCB2LW1vZGVsPVwiaXNwbGF5XCIgQGNoYW5nZT1cImlzb3BlblwiPjwvdS1zd2l0Y2g+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gdi1pZj1cIm1vZGVsLmZlbmNldHlwZSA9PSAn5Y+Y55S15L2c5LiaJ1wiIGxhYmVsPVwi5Zyw6Z2i5qCh5YeGOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiPlxyXG5cdFx0XHRcdFx0PHNwYW4gc3R5bGU9XCJjb2xvcjpyZWRcIj7lsIbmoIfnrb7mlL7lnKjlnLDpnaLvvIzngrnlh7vojrflj5blm7TmoI/lnLDpnaLpq5jluqY8L3NwYW4+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gdi1pZj1cIm1vZGVsLmZlbmNldHlwZSA9PSAn5Y+Y55S15L2c5LiaJ1wiIGxhYmVsPVwi5Zyw6Z2i6auY5bqmOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwibW9kZWwuZmVuY2VGbG9vckhlIT0nLTEnXCIgdi1tb2RlbD1cIm1vZGVsLmZlbmNlRmxvb3JIZVwiXHJcblx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHQ8IS0tIDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+IC0tPlxyXG5cdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtc2hvdz1cIm1vZGVsLmZlbmNlRmxvb3JIZT09Jy0xJ1wiIHNpemU9XCJtaW5pXCJcclxuXHRcdFx0XHRcdFx0QGNsaWNrPVwiZmVuY2VIZSgpXCI+5bey57uP5pS+5aW9PC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdDwhLS0gPHRuLWJ1dHRvbiBkaXNhYmxlZCB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzFdPT0nJ1wiIGJhY2tncm91bmRDb2xvcj1cIiM1NWFhZmZcIiBmb250Q29sb3I9XCIjZmZmZmZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbWFsbFwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaSwxKVwiPumHh+mbhuWdkOaghzwvdG4tYnV0dG9uPiAtLT5cclxuXHRcdFx0XHRcdDwhLS0gPC91bmktdG9vbHRpcD4gLS0+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0PC91LS1mb3JtPlxyXG5cdFx0PC91LW1vZGFsPlxyXG5cdFx0PCEtLSDov57nu63nu5jliLblvLnnqpcgLS0+XHJcblx0XHQ8dS1tb2RhbCA6c2hvdz1cImxkcmF3c2hvd1wiIDp0aXRsZT1cImxkcmF3dGl0bGVcIiA6Y29udGVudD0nbGRyYXdjb250ZW50JyBjb25maXJtVGV4dD1cIuW8gOWni+e7mOWItlwiIGNhbmNlbFRleHQ9XCLov5Tlm57kuIrkuIDmraVcIlxyXG5cdFx0XHQ6c2hvd0NhbmNlbEJ1dHRvbj1cInRydWVcIiBAY2FuY2VsPVwibGRyYXdjYW5jZWxcIiBAY29uZmlybT1cImxkcmF3Y29uZmlybVwiIGJ1dHRvblJldmVyc2U+PC91LW1vZGFsPlxyXG5cclxuXHRcdDwhLS0gPHRuLXBvcHVwIHYtbW9kZWw9XCJsb2NrZ3VpamlcIiA6bWFzaz1cImZhbHNlXCIgbW9kZT1cImJvdHRvbVwiIGNsb3NlQnRuIDptYXNrQ2xvc2VhYmxlPVwiZmFsc2VcIj4gLS0+XHJcblxyXG5cdFx0PHUtYnV0dG9uIHYtc2hvdz1cImVuZFwiIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O2JvdHRvbToxNSU7d2lkdGg6NTAlO2xlZnQ6MjUlXCJcclxuXHRcdFx0dHlwZT1cInByaW1hcnlcIiBzaGFwZT1cImNpcmNsZVwiIHRleHQ9XCLnu5PmnZ/nu5jliLZcIiBAY2xpY2s9XCJlbmRzYXZlKClcIj48L3UtYnV0dG9uPlxyXG5cdFx0PCEtLSDmiZPngrnnu5jliLblvLnnqpcgcG9pbnRkcmF3c2hvdy0tPlxyXG5cdFx0PHUtbW9kYWwgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk7XCIgYnV0dG9uUmV2ZXJzZSBjb25maXJtVGV4dD1cIuaJk+eCueWujOaIkFwiIGNhbmNlbFRleHQ9XCLov5Tlm57kuIrkuIDmraVcIlxyXG5cdFx0XHQ6c2hvdz1cInBvaW50ZHJhd3Nob3dcIiBAY2FuY2VsPVwiY2FuY2VscG9pbnRcIiBAY29uZmlybT1cInNhdmVwb2ludFwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cIm1heC1oZWlnaHQ6IDMwMHB4OyBvdmVyZmxvdy15OiBhdXRvO1wiPlxyXG5cdFx0XHRcdDx1LS1mb3JtIHN0eWxlPVwiXCIgbGFiZWxQb3NpdGlvbj1cImxlZnRcIiA6bW9kZWw9XCJtb2RlbFwiIDpydWxlcz1cInJ1bGVzMlwiIHJlZj1cInVGb3JtXCI+XHJcblx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gbGFiZWw9XCLmlrDlop7ngrk6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtbnVtYmVyLWJveCB2LW1vZGVsPVwicG9pbnRudW1cIiA6bWluPVwiNFwiIEBjaGFuZ2U9XCJvbmNoYW5nZVwiPjwvdS1udW1iZXItYm94PlxyXG5cdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBwb2ludGxpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifngrknICsgKGluZGV4KzEpICsgJ+WdkOaghzonXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwicG9pbnRsaXN0W2luZGV4XSE9aW5kZXhcIiB2LW1vZGVsPVwicG9pbnRsaXN0W2luZGV4XVwiXHJcblx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOjQwMHJweFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHRcdFx0PHVuaS10b29sdGlwIDpjb250ZW50PVwicG9pbnRjb250ZW50XCIgcGxhY2VtZW50PVwidG9wXCIgc3R5bGU9XCJ3aWR0aDoxMDBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtaWY9XCJwb2ludGxpc3RbaW5kZXhdPT1pbmRleFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cInBvaW50ZGlzYWJsZWRcIiBzaXplPVwibWluaVwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaW5kZXgpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1idXR0b24gc3R5bGU9XCJ3aWR0aDoxMDBweFwiIHR5cGU9XCJwcmltYXJ5XCIgdi1lbHNlLWlmPVwicG9pbnRsaXN0W2luZGV4XT09JydcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ6ZGlzYWJsZWQ9XCJwb2ludGRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIiBAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGluZGV4KVwiPumHh+mbhuWdkOaghzwvdS1idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3UtLWZvcm0+XHJcblxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwhLS0gPHUtaWNvbiBuYW1lPVwiY2xvc2VcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogMTBweDt0b3A6MTBweFwiIEBjbGljaz1cImNsb3NlbW9kYWxcIj48L3UtaWNvbj4gLS0+XHJcblxyXG5cdFx0PC91LW1vZGFsPlxyXG5cclxuXHRcdDwhLS0gPC90bi1wb3B1cD4gLS0+XHJcblx0XHQ8IS0tIDx2aWV3IHYtc2hvdz1cImxvY2tndWlqaVwiXHJcblx0XHRcdHN0eWxlPVwiIHBvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiA5OTk5OTk5OTk5OTk5OTtiYWNrZ3JvdW5kLWNvbG9yOiAjY2FkMWZkO2JvdHRvbTogODBweDt3aWR0aDogODAlO2xlZnQ6IDE1JTtcIj5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxyXG5cclxuXHRcdFx0XHQ8c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtcIj7lvZPliY3vvJp7e2RxbnVtfX08L3NwYW4+XHJcblx0XHRcdFx0PHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHg7XCI+e3twbGFja1RpbWV9fTwvc3Bhbj5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XHJcblx0XHRcdFx0PHNwYW4+6YCf5bqm77yaPC9zcGFuPlxyXG5cdFx0XHRcdDx1bmktZGF0YS1zZWxlY3Qgc3R5bGU9XCJ3aWR0aDogNDAlO1wiIHBsYWNlaG9sZGVyPVwi6YCJ5oup6YCf5bqmXCIgdi1tb2RlbD1cIm1vZGVsLnN1ZHVcIiA6bG9jYWxkYXRhPVwicmFuZ2VcIlxyXG5cdFx0XHRcdFx0QGNoYW5nZT1cImNoYW5nZVwiPjwvdW5pLWRhdGEtc2VsZWN0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0PGRpdiBpZD1cIm1hcnMzZENvbnRhaW5lclwiIGNsYXNzPVwibWFyczNkLWNvbnRhaW5lclwiIDptYXJzc2V0PSdtYXJzc2V0JyA6Y2hhbmdlOm1hcnNzZXQ9XCJtYXJzM2QuZ2V0bWFyc0RhdGFcIlxyXG5cdFx0XHQ6YW1hcFBvaW50cz0nYW1hcFBvaW50cycgOmNoYW5nZTphbWFwUG9pbnRzPVwibWFyczNkLmdldERhdGFcIiA6dGhyZWVvcnR3bz0ndGhyZWVvcnR3bydcclxuXHRcdFx0OmNoYW5nZTp0aHJlZW9ydHdvPVwibWFyczNkLmdldDN3ZWlcIiA6YW1hcFBvaW50RGF0YT0nYW1hcFBvaW50RGF0YSdcclxuXHRcdFx0OmNoYW5nZTphbWFwUG9pbnREYXRhPVwibWFyczNkLmdldFBvaW50RGF0YVwiIDphbWFwbGRyYXdEYXRhPSdhbWFwbGRyYXdEYXRhJ1xyXG5cdFx0XHQ6Y2hhbmdlOmFtYXBsZHJhd0RhdGE9XCJtYXJzM2QuZ2V0RHJ3YURhdGFcIiA6YW1hcEZlbmNlUG9pbnRzPSdhbWFwRmVuY2VQb2ludHMnXHJcblx0XHRcdDpjaGFuZ2U6YW1hcEZlbmNlUG9pbnRzPVwibWFyczNkLmdldEZlbmNlRGF0YVwiIDphbWFwZGVGZW5jZVBvaW50cz0nYW1hcGRlRmVuY2VQb2ludHMnXHJcblx0XHRcdDpjaGFuZ2U6YW1hcGRlRmVuY2VQb2ludHM9XCJtYXJzM2QuZ2V0RmVuY2VEYXRhZGVcIiA6YW1hcEdQU1BvaW50cz0nYW1hcEdQU1BvaW50cydcclxuXHRcdFx0OmNoYW5nZTphbWFwR1BTUG9pbnRzPVwibWFyczNkLmdldGdwc0RhdGFcIiA6cG9pbnQ9J3BvaW50JyA6Y2hhbmdlOnBvaW50PVwibWFyczNkLmdldG1hcnNQb2ludFwiXHJcblx0XHRcdDpmZW5jZXBvc2l0aW9uPSdmZW5jZXBvc2l0aW9uJyA6Y2hhbmdlOmZlbmNlcG9zaXRpb249XCJtYXJzM2QuZ2V0bWFyc2ZlbmNlUG9pbnRcIj48L2Rpdj5cclxuXHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdFx0PCEtLSAjaWZuZGVmIEFQUC1QTFVTIHx8IEg1IC0tPlxyXG5cdFx0PCEtLSAjZW5kaWYgLS0+XHJcblx0XHQ8c3VjY2Vzc0NvbSByZWY9XCJyZWZTdWNjZXNzXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk5OTtcIj48L3N1Y2Nlc3NDb20+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCBzdWNjZXNzQ29tIGZyb20gJ0AvY29tcG9uZW50cy9zdWNjZXNzLnZ1ZSdcclxuXHRpbXBvcnQge1xyXG5cdFx0ZmluZHRhZ2lkLFxyXG5cdFx0ZmluZFdhcm5tZXMsXHJcblx0XHRzdWJtaXRwZXIsXHJcblx0XHRmaW5kYnVtZW4sXHJcblx0XHRhY3F1aXNpdGlvbixcclxuXHRcdGZpbmR0YWdJZFBlcnNvbixcclxuXHRcdGZpbmRCYWlEdUd1aUppLFxyXG5cdFx0ZmluZEFsbEZlbmNlLFxyXG5cdFx0Z2V0QmFzZUdQU0Nlc2l1bSxcclxuXHRcdGZpbmRQZXJzb24sXHJcblx0XHRNYXJzSG9tZSxcclxuXHRcdGdldEdQU0Nlc2l1bSxcclxuXHRcdGdldEdQU1xyXG5cdH0gZnJvbSAnQC9jb25maWcvYXBpLmpzJztcclxuXHJcblx0Ly8g6YC76L6R5bGCXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0Y29tcG9uZW50czoge1xyXG5cdFx0XHRzdWNjZXNzQ29tXHJcblx0XHR9LFxyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHR3YXJubGlzdDogW10sXHJcblx0XHRcdFx0d2FybmlkbGlzdDogW10sXHJcblx0XHRcdFx0d2Fybmlkc2xpc3Q6IFtdLFxyXG5cdFx0XHRcdGxhYmVsV2lkdGg6IDEwMCxcclxuXHRcdFx0XHRwb2ludGxvY2s6IGZhbHNlLCAvL+i4qeeCueiOt+WPluaVsOaNruW8gOWFs1xyXG5cdFx0XHRcdHBvaW50Y29udGVudDogJycsXHJcblx0XHRcdFx0cG9pbnRkaXNhYmxlZDogZmFsc2UsXHJcblx0XHRcdFx0cG9pbnRsaXN0OiBbMCwgMSwgMiwgM10sXHJcblx0XHRcdFx0cG9pbnRudW06IDQsXHJcblx0XHRcdFx0cG9pbnRkcmF3c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0ZW5kOiBmYWxzZSxcclxuXHRcdFx0XHRsZHJhd3Nob3c6IGZhbHNlLFxyXG5cdFx0XHRcdGxkcmF3dGl0bGU6ICfmk43kvZzmj5DnpLo6JyxcclxuXHRcdFx0XHRsZHJhd2NvbnRlbnQ6ICfor7fmiYvmjIHnu4jnq6/vvIznrYnlvoVSVEvnu7/oibLlkI7ooYzotbDkuLrkuIDkuKrpl63lkIjlm7TmoI/jgILlh4blpIflrozmr5XlkI7ngrnlh7vlvIDlp4vnu5jliLbvvIzlrozmiJDlkI7ngrnlh7vnu5PmnZ/nu5jliLYnLFxyXG5cclxuXHRcdFx0XHRpc3BlcnRpZXM6IHRydWUsXHJcblx0XHRcdFx0ZHJhd3dheTogJ+aJk+eCuee7mOWIticsXHJcblx0XHRcdFx0Y29udGVudDogJ+ivt+WFiOi+k+WFpee7iOerr+e8luWPtycsXHJcblx0XHRcdFx0ZGlzYWJsZWQ6IHRydWUsXHJcblx0XHRcdFx0c2F2ZWZlbmNlOiBmYWxzZSxcclxuXHRcdFx0XHRidW1lbkxpc3Q6IFtdLFxyXG5cdFx0XHRcdHNob3cxOiBmYWxzZSxcclxuXHRcdFx0XHRzaG93MjogZmFsc2UsXHJcblx0XHRcdFx0dHlwZUxpc3Q6IFt7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfkv53miqTljLonXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn56aB5YWl5Yy6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+W3peS9nOWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflronlhajljLonXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0d2Fybm1lc0xpc3Q6IFt7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflh7rljrvlkYroraYnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn6L+b5YWl5ZGK6K2mJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+W3peS9nOWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflronlhajljLonXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0bGlzdDogW1xyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQwLCAxXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQyLCAzXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQ0LCA1XHJcblx0XHRcdFx0XHRdXHJcblx0XHRcdFx0XSxcclxuXHJcblx0XHRcdFx0enVvYmlhb2xpc3Q6IFtcclxuXHRcdFx0XHRcdFtcclxuXHRcdFx0XHRcdFx0JycsICcnLCAnJywgJydcclxuXHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHQvLyBoZWlnaHQxOicnLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdFtcclxuXHRcdFx0XHRcdFx0JycsICcnLCAnJywgJydcclxuXHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHQvLyBoZWlnaHQxOicnLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdC8vIGhlaWdodDM6JycsXHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRzYWdsaXN0OiBbXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdCcnLCAnJywgJycsICcnXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdFtcclxuXHRcdFx0XHRcdFx0JycsICcnLCAnJywgJydcclxuXHRcdFx0XHRcdF0sXHJcblxyXG5cdFx0XHRcdFx0Ly8gaGVpZ2h0MzonJyxcclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdC8vIGxpc3Q6IFtcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0MCwgMVxyXG5cdFx0XHRcdC8vIFx0XSxcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0MiwgM1xyXG5cdFx0XHRcdC8vIFx0XSxcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0NCwgNVxyXG5cdFx0XHRcdC8vIFx0XVxyXG5cdFx0XHRcdC8vIF0sXHJcblxyXG5cdFx0XHRcdC8vIHp1b2JpYW9saXN0OiBbXHJcblx0XHRcdFx0Ly8gXHRbXHJcblx0XHRcdFx0Ly8gXHRcdCcxQScsICcxQicsICcxJywnMTEnXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0Ly8gaGVpZ2h0MTonJyxcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0JzJBJywgJzJCJywgJzInLCcyMidcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHRbXHJcblx0XHRcdFx0Ly8gXHRcdCczQScsICczQicsICczJywnMzMnXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0Ly8gaGVpZ2h0MTonJyxcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0JzRBJywgJzRCJywgJzQnLCc0NCdcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHQvLyBoZWlnaHQzOicnLFxyXG5cdFx0XHRcdC8vIF0sXHJcblx0XHRcdFx0Ly8gc2FnbGlzdDogW1xyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQnSDVBJywgJ0g1QicsICc1JywnNTUnXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQnSDZBJywgJ0g2QicsICc2JywnNjYnXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQnSDdBJywgJ0g3QicsICc3JywnNzcnXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cclxuXHRcdFx0XHQvLyBcdC8vIGhlaWdodDM6JycsXHJcblx0XHRcdFx0Ly8gXSxcclxuXHRcdFx0XHR0YW51bTogMixcclxuXHRcdFx0XHRjb2xvcjE6ICcjZTJlMmUyJyxcclxuXHRcdFx0XHRjb2xvcjI6ICcjOGI4YjhiJyxcclxuXHRcdFx0XHRjb2xvcjU6ICcjOGI4YjhiJyxcclxuXHRcdFx0XHRjb2xvcjEwOiAnIzhiOGI4YicsXHJcblx0XHRcdFx0Y29sb3IyMDogJyM4YjhiOGInLFxyXG5cdFx0XHRcdGNvbG9yNTA6ICcjOGI4YjhiJyxcclxuXHRcdFx0XHRjb2xvcjEwMDogJyM4YjhiOGInLFxyXG5cdFx0XHRcdHN1ZHU6ICd4MScsXHJcblx0XHRcdFx0cGxhY2tUaW1lOiAnJyxcclxuXHRcdFx0XHRkcW51bTogJycsXHJcblx0XHRcdFx0bG9ja2d1aWppOiBmYWxzZSxcclxuXHRcdFx0XHRzaG93bm90aWZ5OiB0cnVlLFxyXG5cdFx0XHRcdGNhbmNlbFRleHQ6ICfmmoLlgZwnLFxyXG5cdFx0XHRcdGlzUnVubmluZzogdHJ1ZSxcclxuXHRcdFx0XHRwbGFja0NvbnRyb2w6ICcnLFxyXG5cdFx0XHRcdGNvdW50TnVtOiAwLFxyXG5cdFx0XHRcdExvY3VzRGF0YTogJycsXHJcblx0XHRcdFx0Ly8gaXNQbGFjazogZmFsc2UsXHJcblx0XHRcdFx0dmFsdWU6ICcnLFxyXG5cdFx0XHRcdHN0YXJ0ZGF0ZXRpbWU6ICcnLFxyXG5cdFx0XHRcdHN0b3BkYXRldGltZTogJycsXHJcblx0XHRcdFx0cmFuZ2VMZXZlbDogW3tcclxuXHRcdFx0XHRcdHZhbHVlOiAnMC45NW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzEwa1YoMC45NW0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnMS4wNW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzIwa1YoMS4wNW0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnMS4xNW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzM1a1YoMS4xNW0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnMS40bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnNjZrVigxLjRtKSdcclxuXHRcdFx0XHR9LCB7XHJcblx0XHRcdFx0XHR2YWx1ZTogJzEuNjVtJyxcclxuXHRcdFx0XHRcdHRleHQ6ICcxMTBrVigxLjY1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICcyLjU1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMjIwa1YoMi41NW0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnMy4yNW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzMzMGtWKDMuMjVtKSdcclxuXHRcdFx0XHR9LCB7XHJcblx0XHRcdFx0XHR2YWx1ZTogJzQuNjZtJyxcclxuXHRcdFx0XHRcdHRleHQ6ICc1MDBrVig0LjU1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICc2LjcwbScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnNzUwa1YoNi43MG0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnOC4yNW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzEwMDBrVig4LjI1bSknXHJcblx0XHRcdFx0fV0sXHJcblx0XHRcdFx0cnVsZXMyOiB7XHJcblxyXG5cdFx0XHRcdFx0J25hbWUnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+35aGr5YaZ5Zu05qCP5ZCN56ewJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0J2NvZGUnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+35aGr5YaZ57uI56uv57yW5Y+3JyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHRcdCd0eXBlJzoge1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnc3RyaW5nJyxcclxuXHRcdFx0XHRcdFx0Ly8gbWF4OiAxLFxyXG5cdFx0XHRcdFx0XHRyZXF1aXJlZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0bWVzc2FnZTogJ+ivt+mAieaLqeWbtOagj+exu+WeiycsXHJcblx0XHRcdFx0XHRcdHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdCdkZXBhcnRtZW50Jzoge1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnc3RyaW5nJyxcclxuXHRcdFx0XHRcdFx0Ly8gbWF4OiAxLFxyXG5cdFx0XHRcdFx0XHRyZXF1aXJlZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0bWVzc2FnZTogJ+ivt+mAieaLqeWFs+iBlOmDqOmXqCcsXHJcblx0XHRcdFx0XHRcdHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdCdkaXN0YW5jZSc6IHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ3N0cmluZycsXHJcblx0XHRcdFx0XHRcdC8vIG1heDogMSxcclxuXHRcdFx0XHRcdFx0cmVxdWlyZWQ6IHRydWUsXHJcblx0XHRcdFx0XHRcdG1lc3NhZ2U6ICfor7floavlhpnpooTorabot53nprsnLFxyXG5cdFx0XHRcdFx0XHR0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ11cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQnbm93YXJubWVzJzoge1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnc3RyaW5nJyxcclxuXHRcdFx0XHRcdFx0Ly8gbWF4OiAxLFxyXG5cdFx0XHRcdFx0XHRyZXF1aXJlZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0bWVzc2FnZTogJ+ivt+Whq+WGmemihOitpuivremfsycsXHJcblx0XHRcdFx0XHRcdHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdCd3YXJubWVzJzoge1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnc3RyaW5nJyxcclxuXHRcdFx0XHRcdFx0Ly8gbWF4OiAxLFxyXG5cdFx0XHRcdFx0XHRyZXF1aXJlZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0bWVzc2FnZTogJ+ivt+Whq+WGmeWRiuitpuivremfsycsXHJcblx0XHRcdFx0XHRcdHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdCdkaWFueWEnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+35aGr5YaZ55S15Y6L562J57qnJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHJhZGlvbGlzdDI6IFt7XHJcblx0XHRcdFx0XHRcdG5hbWU6ICfmiZPngrnnu5jliLYnLFxyXG5cdFx0XHRcdFx0XHRkaXNhYmxlZDogdHJ1ZVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bmFtZTogJ+i/nue7ree7mOWIticsXHJcblx0XHRcdFx0XHRcdGRpc2FibGVkOiBmYWxzZVxyXG5cdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHQvLyB7XHJcblx0XHRcdFx0XHRcdC8vIFx0bmFtZTogJzXlsI/ml7YnLFxyXG5cdFx0XHRcdFx0XHQvLyBcdGRpc2FibGVkOiBmYWxzZVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0cmFkaW9saXN0MTogW3tcclxuXHRcdFx0XHRcdFx0bmFtZTogJ+i+k+eUteS9nOS4micsXHJcblx0XHRcdFx0XHRcdGRpc2FibGVkOiBmYWxzZVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bmFtZTogJ+WPmOeUteS9nOS4micsXHJcblx0XHRcdFx0XHRcdGRpc2FibGVkOiB0cnVlXHJcblx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdC8vIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiAnNeWwj+aXticsXHJcblx0XHRcdFx0XHRcdC8vIFx0ZGlzYWJsZWQ6IGZhbHNlXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRib1N0YXJ0OiAwLFxyXG5cdFx0XHRcdC8vIHUtcmFkaW8tZ3JvdXDnmoR2LW1vZGVs57uR5a6a55qE5YC85aaC5p6c6K6+572u5Li65p+Q5LiqcmFkaW/nmoRuYW1l77yM5bCx5Lya6KKr6buY6K6k6YCJ5LitXHJcblx0XHRcdFx0cmFkaW92YWx1ZTE6ICcnLFxyXG5cdFx0XHRcdGNvZGU6ICcnLFxyXG5cdFx0XHRcdGlzcGxheTogZmFsc2UsXHJcblx0XHRcdFx0ZGlnYW86ICcnLFxyXG5cdFx0XHRcdGxhdGxvbjogJycsXHJcblx0XHRcdFx0bW9kZWw6IHtcclxuXHRcdFx0XHRcdHBvaW50czogJycsXHJcblx0XHRcdFx0XHRmZW5jZUZsb29ySGU6ICctMScsIC8v5Zu05qCP5bqV6auYXHJcblx0XHRcdFx0XHRoZWlnaHQ6ICcnLCAvL+WbtOagj+mrmFxyXG5cdFx0XHRcdFx0bGluZUhlaWdodDogJy0xJywgLy/lr7znur/pq5hcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdHBlckNvbXBhbnk6ICcnLFxyXG5cdFx0XHRcdFx0YWRkcGVyc29uOiB0aGlzLnVzZXJuYW1lLFxyXG5cdFx0XHRcdFx0Ly8gLy8gdXNlckluZm86IHtcclxuXHRcdFx0XHRcdG5hbWU6ICcnLFxyXG5cdFx0XHRcdFx0anVsaTogJycsXHJcblx0XHRcdFx0XHR0eXBlOiAnJyxcclxuXHRcdFx0XHRcdGRlcGFydG1lbnQ6ICcnLFxyXG5cdFx0XHRcdFx0ZGlzdGFuY2U6ICcwJyxcclxuXHRcdFx0XHRcdGRpYW55YTogJycsXHJcblx0XHRcdFx0XHQvLyBmZW5jZXR5cGU6JycsLy/lm7TmoI/mgKfotKhcclxuXHRcdFx0XHRcdGlzcGxheTogJzAnLFxyXG5cdFx0XHRcdFx0bm93YXJubWVzOiAnJyxcclxuXHRcdFx0XHRcdHdhcm5tZXM6ICcnLFxyXG5cdFx0XHRcdFx0ZmVuY2V0eXBlOiAn5Y+Y55S15L2c5LiaJyxcclxuXHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRkcmF3c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0Y2hlY2tlZDogZmFsc2UsXHJcblx0XHRcdFx0Z3VpamlzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRhbWFwc3VkdVBvaW50czogMCxcclxuXHRcdFx0XHRhbWFwZW5kR3VpamlQb2ludHM6ICcnLFxyXG5cdFx0XHRcdGFtYXBHdWlqaVBvaW50czogW10sXHJcblx0XHRcdFx0YW1hcEZlbmNlUG9pbnRzOiBbXSxcclxuXHRcdFx0XHRhbWFwZGVGZW5jZVBvaW50czoge30sXHJcblx0XHRcdFx0a2V5d29yZDogJycsXHJcblx0XHRcdFx0dG9waGVpZ2h0OiA1NSxcclxuXHRcdFx0XHR0aHJlZW9ydHdvOiBbXSxcclxuXHRcdFx0XHRhbWFwUG9pbnRzOiBbXSwgLy8g6L+Z5bCx5piv5oiR5Lus6ZyA6KaB5ZCR6KeG5Zu+5bGC5Lyg6YCS55qE5pWw5o2uXHJcblx0XHRcdFx0YW1hcFBvaW50RGF0YTogW10sIC8vIOi/meWwseaYr+aIkeS7rOmcgOimgeWQkeinhuWbvuWxguS8oOmAkueahOaVsOaNrlxyXG5cdFx0XHRcdGFtYXBsZHJhd0RhdGE6IFtdLFxyXG5cdFx0XHRcdGFtYXBHUFNQb2ludHM6IFtdLFxyXG5cdFx0XHRcdG1hcnNzZXQ6IHt9LFxyXG5cdFx0XHRcdHBvaW50OiB7fSxcclxuXHRcdFx0XHRkcmF3bGlzdDogW10sXHJcblx0XHRcdFx0bG9uZ2l0dWRlOiAnJyxcclxuXHRcdFx0XHRsYXRpdHVkZTogJycsXHJcblx0XHRcdFx0c2hvdzQ6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3d0YWdpZDogZmFsc2UsXHJcblx0XHRcdFx0dGFnaWRsaXN0OiBbXSxcclxuXHRcdFx0XHR0YWdvbmxpZTogJycsXHJcblx0XHRcdFx0c2tlbGV0b25IZWlnaHQ6ICcnLFxyXG5cdFx0XHRcdGJ1dHRvblRvcDogMCwgLy8g5oyJ6ZKu55qEIHRvcCDkvY3nva5cclxuXHRcdFx0XHRidXR0b25MZWZ0OiAwIC8vIOaMiemSrueahCBsZWZ0IOS9jee9rlxyXG5cdFx0XHR9XHJcblxyXG5cdFx0fSxcclxuXHRcdHByb3BzOiB7XHJcblx0XHRcdGZlbmNlcG9zaXRpb246IHtcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRcdFx0Ly8gZGVmYXVsdDogNjBcclxuXHRcdFx0fSxcclxuXHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHRcdFx0Y29uc29sZS5sb2codGhpcy5mZW5jZXBvc2l0aW9uKTtcclxuXHJcblx0XHRcdHRoaXMuZ2V0TG9jYXRpb24oKTtcclxuXHRcdFx0dGhpcy53YXJuaWRzbGlzdCA9IFtdXHJcblx0XHRcdHRoaXMud2FybmlkbGlzdCA9IFtdXHJcblx0XHRcdHRoaXMud2Fybmxpc3QgPSBbXVxyXG5cdFx0XHR0aGlzLmZpbmR0YWdpZGFsbCgpO1xyXG5cdFx0XHR0aGlzLmZpbmRidW1lbmFsbCgpO1xyXG5cdFx0XHR0aGlzLmluaXRNYXAoKTtcclxuXHRcdFx0Ly8gdGhpcy51cGRhdGVCdXR0b25Qb3NpdGlvbigpOyAvLyDliJ3lp4vljJbmjInpkq7kvY3nva5cclxuXHRcdFx0Ly8gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMudXBkYXRlQnV0dG9uUG9zaXRpb24pOyAvLyDnm5HlkKznqpflj6PlpKflsI/lj5jljJZcclxuXHRcdFx0dGhpcy4kbmV4dFRpY2soKCkgPT4ge1xyXG5cdFx0XHRcdC8vIOiOt+WPluezu+e7n+S/oeaBr1xyXG5cdFx0XHRcdGNvbnN0IHN5c3RlbUluZm8gPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVxyXG5cdFx0XHRcdHRoaXMuc2tlbGV0b25IZWlnaHQgPSBzeXN0ZW1JbmZvLnNhZmVBcmVhLmhlaWdodFxyXG5cdFx0XHRcdHRoaXMuYnV0dG9uVG9wID0gdGhpcy5za2VsZXRvbkhlaWdodCAtIDIyNDtcclxuXHJcblx0XHRcdFx0dGhpcy5idXR0b25MZWZ0ID0gMTU7XHJcblx0XHRcdFx0Ly8gdGhpcy53ZWJIZWlnaHQgPSB0aGlzLnNrZWxldG9uSGVpZ2h0IC0gdGhpcy50YWJCYXJIZWlnaHRcclxuXHJcblx0XHRcdFx0Ly8gdGhpcy52dWV4X3N0YXR1c19iYXJfaGVpZ2h0ID0gdGhpcy53ZWJIZWlnaHRcclxuXHRcdFx0XHQvLyB0aGlzLmN1cnJlbnRJbmRleCA9IDJcclxuXHRcdFx0fSlcclxuXHRcdFx0dGhpcy50aHJlZW9ydHdvLnB1c2godGhpcy5pczN3ZWkpXHJcblx0XHRcdC8vIHRoaXMuYW1hcFBvaW50cyA9IFtdXHJcblx0XHRcdC8vIHRoaXMuYW1hcEJhc2VQb2ludHMgPSBbXVxyXG5cdFx0XHQvLyB0aGlzLmFtYXBGZW5jZVBvaW50cyA9IFtdXHJcblxyXG5cdFx0XHQvLyB0aGlzLmFtYXBHdWlqaVBvaW50cyA9IFtdXHJcblx0XHRcdC8vIHRoaXMuYW1hcGVuZEd1aWppUG9pbnRzID0gJydcclxuXHRcdFx0dGhpcy50b3BoZWlnaHQgPSB0aGlzLnZ1ZXhfY3VzdG9tX2Jhcl9oZWlnaHQgKyAxNVxyXG5cclxuXHJcblxyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdC8vIHVwZGF0ZUJ1dHRvblBvc2l0aW9uKCkge1xyXG5cdFx0XHQvLyBcdFx0ICAgICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcblx0XHRcdC8vIFx0XHRcdFx0Y29uc29sZS5sb2cod2luZG93SGVpZ2h0KTtcclxuXHRcdFx0Ly8gXHRcdCAgICAgICAgY29uc3Qgd2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuXHRcdFx0Ly8gXHRcdCAgICAgICAgdGhpcy5idXR0b25Ub3AgPSB3aW5kb3dIZWlnaHQtMjc5IDtcclxuXHRcdFx0Ly8gXHRcdCAgICAgICAgdGhpcy5idXR0b25MZWZ0ID0gMTU7XHJcblx0XHRcdC8vIFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5idXR0b25Ub3ApO1xyXG5cdFx0XHQvLyBcdFx0ICAgICAgfSxcclxuXHRcdFx0ZmluZHRhZ2lkYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZHRhZ2lkKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50YWdpZGxpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IGl0ZW0udGFnaWRcclxuXHRcdFx0XHRcdFx0XHR9KSk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdHR4dDogcmVzLm1zZ1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGNvbmZpcm10YWdpZChlKSB7XHJcblx0XHRcdFx0dGhpcy5jb2RlID0gZVswXS5sYWJlbFxyXG5cdFx0XHRcdC8vIHRoaXMudGFnb25saWUgPSBlWzBdLnZhbHVlXHJcblx0XHRcdFx0dGhpcy5zZWFjaGNvZGUoKVxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hhbmdlUmFuZ2VMZXZlbChlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSk7XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5tb2RlbC5qdWxpKTtcclxuXHRcdFx0XHR0aGlzLm1vZGVsLmp1bGkgPSB0aGlzLnJhbmdlTGV2ZWxbZV0udGV4dDtcclxuXHRcdFx0XHQvLyBpZiAodGhpcy5tb2RlbC5qdWxpICE9ICcnKSB7XHJcblx0XHRcdFx0dGhpcy5tb2RlbC5kaWFueWEgPSB0aGlzLnJhbmdlTGV2ZWxbZV0udmFsdWUuc3BsaXQoXCJtXCIpWzBdXHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdC8vIHRoaXMuZGlhbnlhID0gZTtcclxuXHRcdFx0XHQvLyB0aGlzLm1vZGVsLmRpYW55YSA9IGUuc3BsaXQoXCJtXCIpWzBdO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRMb2NhdGlvbigpIHtcclxuXHRcdFx0XHR1bmkuZ2V0TG9jYXRpb24oe1xyXG5cdFx0XHRcdFx0dHlwZTogJ3dnczg0JyxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn5b2T5YmN5L2N572u55qE57uP5bqm77yaJyArIHJlcy5sb25naXR1ZGUpO1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn5b2T5YmN5L2N572u55qE57qs5bqm77yaJyArIHJlcy5sYXRpdHVkZSk7XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0b25jaGFuZ2UoZSkge1xyXG5cdFx0XHRcdHZhciBsaXN0ID0gW11cclxuXHRcdFx0XHRpZiAodGhpcy5wb2ludGxpc3QubGVuZ3RoIDwgZS52YWx1ZSkge1xyXG5cdFx0XHRcdFx0Zm9yICh2YXIgaSA9IHRoaXMucG9pbnRsaXN0Lmxlbmd0aDsgaSA8IGUudmFsdWU7IGkrKykge1xyXG5cclxuXHRcdFx0XHRcdFx0bGlzdC5wdXNoKGkpXHJcblx0XHRcdFx0XHRcdHRoaXMucG9pbnRsaXN0LnB1c2goaSlcclxuXHRcdFx0XHRcdFx0Ly8gZVtpXVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLnBvaW50bGlzdC5zcGxpY2UoZS52YWx1ZSwgdGhpcy5wb2ludGxpc3QubGVuZ3RoIC0gZS52YWx1ZSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHJhZGlvQ2hhbmdlKG4pIHtcclxuXHJcblx0XHRcdFx0aWYgKG4gPT0gJ+WPmOeUteS9nOS4micpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNwZXJ0aWVzID0gdHJ1ZVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmlzcGVydGllcyA9IGZhbHNlXHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0c2VhY2hjb2RlKGUpIHtcclxuXHRcdFx0XHR0aGlzLmRyYXdsaXN0ID0gW11cclxuXHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRpZDogdGhpcy5jb2RlLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0anVlc2U6IHVuaS5nZXRTdG9yYWdlU3luYygnanVlc2UnKSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZmluZHRhZ0lkUGVyc29uKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzLmRhdGEgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRhZ29ubGllID0gcmVzLmRhdGEub25saW5lXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YS5ncHNzdGF0dXMgPT0gJzQnKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kaXNhYmxlZCA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5jb250ZW50ID0gJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnBvaW50Y29udGVudCA9ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kaWdhbyA9IHJlcy5kYXRhLmhlaWdodFxyXG5cdFx0XHRcdFx0XHRcdC8vIHRoaXMuZW5kID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdGlmICh0aGlzLmVuZCA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLm1vZGVsLnBvaW50cyArPSByZXMuZGF0YS5sYXQgKyBcIjpcIiArIHJlcy5kYXRhLmxvbiArIFwiO1wiXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5kcmF3bGlzdC5wdXNoKHJlcy5kYXRhLmxhdClcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZHJhd2xpc3QucHVzaChyZXMuZGF0YS5sb24pXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBsZHJhd0RhdGEucHVzaCh0aGlzLmRyYXdsaXN0KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQvLyBpZiAodGhpcy5wb2ludGxvY2sgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0dGhpcy5hbWFwUG9pbnREYXRhLnB1c2gocmVzLmRhdGEpXHJcblxyXG5cdFx0XHRcdFx0XHRcdC8vIFx0dGhpcy5wb2ludGxvY2sgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdC8vIH1cclxuXHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5jb250ZW50ID0gJ+iuvuWkh+mdnumrmOeyvidcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmRpc2FibGVkID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucG9pbnRjb250ZW50ID0gJ+iuvuWkh+mdnumrmOeyvidcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5kaXNhYmxlZCA9IHRydWVcclxuXHRcdFx0XHRcdFx0dGhpcy5jb250ZW50ID0gJ+acquaQnOe0ouWIsOiuvuWkhydcclxuXHRcdFx0XHRcdFx0dGhpcy5wb2ludGNvbnRlbnQgPSAn5pyq5pCc57Si5Yiw6K6+5aSHJ1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHQvLyBcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0dGhpcy5zZWFjaGNvZGUoKVxyXG5cdFx0XHRcdH0sIDEwMDApO1xyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0aXNvcGVuKGUpIHtcclxuXHRcdFx0XHRpZiAoZSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHR0aGlzLm1vZGVsLmlzcGxheSA9ICcxJ1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLm1vZGVsLmlzcGxheSA9ICcwJ1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0ZmluZGJ1bWVuYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZGJ1bWVuKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5idW1lbkxpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHRcdH0pKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHh0OiByZXMubXNnXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0dHlwZUNhbGxiYWNrKGluZGV4KSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0dHlwZTogdGhpcy50eXBlTGlzdFtpbmRleF0udGV4dCxcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZmluZFdhcm5tZXMocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdC8vIG5vd2Fybm1lczogJ+mdoOi/keWNsemZqeivt+azqOaEjycsXHJcblx0XHRcdFx0XHRcdC8vIHdhcm5tZXM6ICfov5vlhaXljbHpmanljLrln5/or7fms6jmhI8nLFxyXG5cdFx0XHRcdFx0XHQvLyBpZiAocmVzLmRhdGEudHlwZSA9PSBcIuW3peS9nOWMulwiKSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0dGhpcy5tb2RlbC5ub3dhcm5tZXMgPSByZXMuZGF0YS5ub3dhcm5tZXMgKyBcIjtcIiArIHJlcy5kYXRhLm5vd2Fybm1lc3R5cGVcclxuXHRcdFx0XHRcdFx0Ly8gXHR0aGlzLm1vZGVsLndhcm5tZXMgPSByZXMuZGF0YS53YXJubWVzICsgXCI7XCIgKyByZXMuZGF0YS53YXJubWVzdHlwZVxyXG5cdFx0XHRcdFx0XHQvLyB9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHR0aGlzLm1vZGVsLm5vd2Fybm1lcyA9IHJlcy5kYXRhLm5vd2Fybm1lc1xyXG5cdFx0XHRcdFx0XHR0aGlzLm1vZGVsLndhcm5tZXMgPSByZXMuZGF0YS53YXJubWVzXHJcblx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy5tb2RlbC50eXBlID0gdGhpcy50eXBlTGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0fSxcclxuXHRcdFx0YnltZW5DYWxsYmFjayhpbmRleCkge1xyXG5cdFx0XHRcdHRoaXMubW9kZWwuZGVwYXJ0bWVudCA9IHRoaXMuYnVtZW5MaXN0W2luZGV4XS50ZXh0O1xyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0YWNxdWlzaXRpb254eShpbmRleCwgaSwgbmFtZSkge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdGJhb2xpdTM6IHRoaXMuY29kZSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHBhcmFtcyk7XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0YWNxdWlzaXRpb24ocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5tb2RlbC5mZW5jZXR5cGUgPT0gJ+WPmOeUteS9nOS4micpIHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHRoaXMubW9kZWwucG9pbnRzICs9IHJlcy5kYXRhLmxhdCArIFwiOlwiICsgcmVzLmRhdGEubG9uICsgXCI7XCJcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMucG9pbnRsaXN0LnNwbGljZShpbmRleCwgMSwgcmVzLmRhdGEubGF0ICsgXCI6XCIgKyByZXMuZGF0YS5sb24pO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5wb2ludGxpc3QpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwUG9pbnREYXRhLnNwbGljZShpbmRleCwgMSwgcmVzLmRhdGEpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gdGhpcy5hbWFwUG9pbnREYXRhLnB1c2gocmVzLmRhdGEpXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB0aGlzLmFtYXBQb2ludERhdGEgPSB0aGlzLnBvaW50bGlzdFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5wb2ludGxvY2sgPSB0cnVlXHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKG5hbWUpO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKG5hbWUgPT0gJ3piJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhpbmRleCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGkpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnp1b2JpYW9saXN0W2luZGV4IC0gMV1baV0gPSByZXMuZGF0YS5sYXQgKyBcIjpcIiArIHJlcy5kYXRhLmxvbiArIFwiO1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuenVvYmlhb2xpc3RbaW5kZXggLSAxXVsyXSA9IHJlcy5kYXRhLmhlaWdodFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBQb2ludERhdGEuc3BsaWNlKGluZGV4ICsgaSwgMSwgcmVzLmRhdGEpO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5zYWdsaXN0W2luZGV4IC0gMV1baV0gPSByZXMuZGF0YS5sYXQgKyBcIjpcIiArIHJlcy5kYXRhLmxvbiArIFwiO1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuc2FnbGlzdFtpbmRleCAtIDFdWzJdID0gcmVzLmRhdGEuaGVpZ2h0XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdHR4dDogcmVzLm1zZ1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHR2YWxDaGFuZ2UoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCflvZPliY3lgLzkuLo6ICcgKyBlLnZhbHVlKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbml0bG9jaygpIHtcclxuXHRcdFx0XHR0aGlzLmZldGNoUGVyc29uc0xpc3QoKTtcclxuXHRcdFx0XHR0aGlzLmZldGNoRmVuY2VMaXN0KCk7XHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbG9zZW1vZGFsKCkge1xyXG5cdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjYW5jZWxtb2RhbCgpIHtcclxuXHRcdFx0XHR0aGlzLmRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2FuY2Vsc2F2ZSgpIHtcclxuXHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IHRydWVcclxuXHRcdFx0fSxcclxuXHRcdFx0c2F2ZSgpIHtcclxuXHRcdFx0XHR0aGlzLm1vZGVsLmNvbXBhbnkgPSB0aGlzLmNvbXBhbnlcclxuXHRcdFx0XHR0aGlzLm1vZGVsLmFkZHBlcnNvbiA9IHRoaXMudnVleF91c2VyXHJcblx0XHRcdFx0dGhpcy5tb2RlbC5wZXJDb21wYW55ID0gdGhpcy5jb21wYW55XHJcblxyXG5cclxuXHRcdFx0XHRpZiAodGhpcy5tb2RlbC5mZW5jZXR5cGUgPT0gJ+i+k+eUteS9nOS4micpIHtcclxuXHRcdFx0XHRcdHRoaXMubW9kZWwucG9pbnRzID0gdGhpcy56dW9iaWFvbGlzdFxyXG5cdFx0XHRcdFx0dmFyIGhlaSA9ICcnXHJcblx0XHRcdFx0XHRsZXQgbnVtID0gdGhpcy50YW51bSAtIDFcclxuXHRcdFx0XHRcdGxldCByZXN1bHQgPSAnJztcclxuXHRcdFx0XHRcdC8v5qC55o2u5aGU5pWw5b6q546v5p+l6K+i5aGU5ZKM5byn5Z6C55qE5Z2Q5qCHQeaVsOaNru+8jOagueaNruesrOS4gOadoeWhlO+8jOesrOS6jOadoeW8p+WeguaKiuaVsOaNruaLvOaOpei1t+adpVxyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhbnVtOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0cmVzdWx0ICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bMF07XHJcblx0XHRcdFx0XHRcdGlmIChpIDwgbnVtKSB7XHJcblx0XHRcdFx0XHRcdFx0cmVzdWx0ICs9IHRoaXMuc2FnbGlzdFtpXVswXTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0aGVpICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bMl0gKyBcIjpcIiArIHRoaXMuenVvYmlhb2xpc3RbaV1bM10gKyAnOyc7XHJcblx0XHRcdFx0XHRcdGlmIChpIDwgbnVtKSB7XHJcblx0XHRcdFx0XHRcdFx0aGVpICs9IHRoaXMuc2FnbGlzdFtpXVsyXSArIFwiOlwiICsgdGhpcy5zYWdsaXN0W2ldWzNdICsgJzsnO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQvLyBoZWkgKz0gdGhpcy56dW9iaWFvbGlzdFtpXVszXTtcclxuXHRcdFx0XHRcdFx0Ly8gaWYgKGkgPCBudW0pIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRoZWkgKz0gdGhpcy5zYWdsaXN0W2ldWzNdO1xyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvL+S7juacgOWQjuS4gOadoeafpeivoueCueS9jULnrKzkuIDmnaHloZTvvIznrKzkuozmnaHlvKflnoLmi7zmjqXvvIzmnIDlkI7miorkuKTnu4TmlbDmja7mi7zmjqXotbfmnaVcclxuXHRcdFx0XHRcdGZvciAobGV0IGkgPSB0aGlzLnRhbnVtIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuXHRcdFx0XHRcdFx0cmVzdWx0ICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bMV07XHJcblx0XHRcdFx0XHRcdGlmIChpID49IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXN1bHQgKz0gdGhpcy5zYWdsaXN0W2kgLSAxXVsxXTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Ly8gaGVpICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bMl07XHJcblx0XHRcdFx0XHRcdC8vIGlmIChpID49IDEpIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRoZWkgKz0gdGhpcy5zYWdsaXN0W2kgLSAxXVsyXTtcclxuXHRcdFx0XHRcdFx0Ly8gfVxyXG5cclxuXHRcdFx0XHRcdFx0aGVpICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bMl0gKyBcIjpcIiArIHRoaXMuenVvYmlhb2xpc3RbaV1bM10gKyAnOyc7XHJcblx0XHRcdFx0XHRcdGlmIChpID49IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRoZWkgKz0gdGhpcy5zYWdsaXN0W2kgLSAxXVsyXSArIFwiOlwiICsgdGhpcy5zYWdsaXN0W2kgLSAxXVszXSArICc7JztcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzdWx0KTtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGhlaSk7XHJcblx0XHRcdFx0XHR0aGlzLm1vZGVsLnBvaW50cyA9IHJlc3VsdFxyXG5cdFx0XHRcdFx0dGhpcy5tb2RlbC5saW5lSGVpZ2h0ID0gaGVpXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGxldCByZXN1bHQgPSAnJztcclxuXHRcdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5wb2ludGxpc3QubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0cmVzdWx0ICs9IHRoaXMucG9pbnRsaXN0W2ldICsgXCI7XCJcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMubW9kZWwucG9pbnRzID0gcmVzdWx0XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR0aGlzLiRyZWZzLnVGb3JtLnZhbGlkYXRlKCkudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLiR1LnRvYXN0KCfmoKHpqozpgJrov4cnKVxyXG5cdFx0XHRcdFx0c3VibWl0cGVyKHRoaXMubW9kZWwpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdzdWNjZXNzJyxcclxuXHRcdFx0XHRcdFx0XHRcdHR4dDogXCLkv53lrZjmiJDlip9cIlxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cclxuXHRcdFx0XHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwbGRyYXdEYXRhID0gW11cclxuXHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBQb2ludERhdGEgPSBbXVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0XHR0eHQ6IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHQvLyB0aGlzLnNhdmVmZW5jZSA9IGZhbHNlXHJcblx0XHRcdFx0fSkuY2F0Y2goZXJyb3JzID0+IHtcclxuXHRcdFx0XHRcdC8vIHVuaS4kdS50b2FzdCgn5qCh6aqM5aSx6LSlJylcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdC8vIHRoaXMuc2F2ZWZlbmNlID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHJcblxyXG5cdFx0XHRmb3JtYXREYXRlKGRhdGUpIHtcclxuXHRcdFx0XHRjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xyXG5cdFx0XHRcdGNvbnN0IG1vbnRoID0gU3RyaW5nKGRhdGUuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJyk7IC8vIOaciOS7veS7jiAwIOW8gOWni1xyXG5cdFx0XHRcdGNvbnN0IGRheSA9IFN0cmluZyhkYXRlLmdldERhdGUoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuXHRcdFx0XHRjb25zdCBob3VycyA9IFN0cmluZyhkYXRlLmdldEhvdXJzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcblx0XHRcdFx0Y29uc3QgbWludXRlcyA9IFN0cmluZyhkYXRlLmdldE1pbnV0ZXMoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuXHRcdFx0XHRjb25zdCBzZWNvbmRzID0gU3RyaW5nKGRhdGUuZ2V0U2Vjb25kcygpKS5wYWRTdGFydCgyLCAnMCcpO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4geWVhciArIFwiLVwiICsgbW9udGggKyBcIi1cIiArIGRheSArIFwiIFwiICsgaG91cnMgKyBcIjpcIiArIG1pbnV0ZXMgKyBcIjpcIiArIHNlY29uZHM7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRzdGFydGRyYXcoKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMuY29kZSA9PSAnJykge1xyXG5cdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHR0eHQ6ICfor7fovpPlhaXnu4jnq6/nvJblj7cnXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0Ly/pgInmi6nlj5jnlLXkvZzkuJpcclxuXHRcdFx0XHRcdGlmICh0aGlzLmlzcGVydGllcyA9PSBmYWxzZSkge1xyXG5cdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMudGFudW07IGkrKykge1xyXG5cdFx0XHRcdFx0XHRcdGlmICh0aGlzLnp1b2JpYW9saXN0W2ldWzBdID09ICcnICYmIHRoaXMuenVvYmlhb2xpc3RbaV1bMV0gPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGxvY2sgPSB0cnVlXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHR4dDogJ+ivt+WFiOaJk+eCuSdcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAodGhpcy56dW9iaWFvbGlzdFtpXVsyXSA9PSAnJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0eHQ6ICfor7fovpPlhaXlr7znur/pq5gnXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGxvY2sgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuc2F2ZWZlbmNlID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0aWYgKHRoaXMuZHJhd3dheSA9PSBcIui/nue7ree7mOWItlwiKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5sZHJhd3Nob3cgPSB0cnVlXHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5wb2ludGRyYXdzaG93ID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0Y2FuY2VscG9pbnQoKSB7XHJcblx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IHRydWVcclxuXHRcdFx0XHR0aGlzLnBvaW50ZHJhd3Nob3cgPSBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzYXZlcG9pbnQoKSB7XHJcblx0XHRcdFx0dGhpcy5wb2ludGRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IHRydWVcclxuXHRcdFx0fSxcclxuXHRcdFx0ZmVuY2VIZSgpIHtcclxuXHRcdFx0XHQvL+iOt+WPluWbtOagj+W6lemrmFxyXG5cdFx0XHRcdHRoaXMubW9kZWwuZmVuY2VGbG9vckhlID0gdGhpcy5kaWdhb1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRlbmRzYXZlKCkge1xyXG5cdFx0XHRcdHRoaXMuZW5kID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IHRydWVcclxuXHRcdFx0fSxcclxuXHRcdFx0bGRyYXdjYW5jZWwoKSB7XHJcblx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IHRydWVcclxuXHRcdFx0XHR0aGlzLmxkcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRsZHJhd2NvbmZpcm0oKSB7XHJcblxyXG5cdFx0XHRcdHRoaXMubGRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLmVuZCA9IHRydWVcclxuXHRcdFx0XHQvLyB0aGlzLm1vZGVsLnBvaW50cyArPSB0aGlzLmxhdGxvblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaGFuZ2UoZSkge1xyXG5cdFx0XHRcdHRoaXMuYW1hcHN1ZHVQb2ludHMgPSBlXHJcblx0XHRcdH0sXHJcblx0XHRcdGRyYXcoKSB7XHJcblxyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4gPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IHRydWVcclxuXHRcdFx0XHRcdHRoaXMuc2F2ZWZlbmNlID0gZmFsc2VcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHpvb20oKSB7XHJcblx0XHRcdFx0dGhpcy5zaG93ID0gIXRoaXMuc2hvd1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRyZWNlaXZlUmVuZGVyRGF0YSh2YWwpIHtcclxuXHRcdFx0XHR0aGlzLmZldGNoUGVyc29uc0xpc3QoKTtcclxuXHRcdFx0XHR0aGlzLnVwZGF0ZVRyYWplY3RvcmllcygpO1xyXG5cdFx0XHRcdHRoaXMuZmV0Y2hGZW5jZUxpc3QoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0c2VhcmNoeGlueGkoKSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0bmFtZTogdGhpcy5rZXl3b3JkLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRmaW5kUGVyc29uKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dmFyIHRhcmdldFBvaW50ID0ge31cclxuXHRcdFx0XHRcdFx0XHR0YXJnZXRQb2ludC5sYXQgPSByZXMuZGF0YS5sb25cclxuXHRcdFx0XHRcdFx0XHR0YXJnZXRQb2ludC5sb24gPSByZXMuZGF0YS5sYXRcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnBvaW50ID0gdGFyZ2V0UG9pbnRcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHh0OiByZXMubXNnXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRoYW5kbGVNYXBDbGljayhlKSB7XHJcblx0XHRcdFx0dGhpcy4kZW1pdCgnbWFyczNkYycsIGUpXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRndWlqaUNsaWNrKGUpIHtcclxuXHRcdFx0XHR0aGlzLmRxbnVtID0gZS5kcW51bVxyXG5cdFx0XHRcdHRoaXMucGxhY2tUaW1lID0gZS5wbGFja1RpbWVcclxuXHRcdFx0fSxcclxuXHRcdFx0aW5pdE1hcCgpIHtcclxuXHRcdFx0XHQvLyBpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7IFxyXG5cdFx0XHRcdE1hcnNIb21lKCkudGhlbigocmVwKSA9PiB7XHJcblxyXG5cdFx0XHRcdFx0Ly8gdW5pLmdldExvY2F0aW9uKHtcclxuXHRcdFx0XHRcdC8vIHR5cGU6ICd3Z3M4NCcsXHJcblx0XHRcdFx0XHQvLyBzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdC8vIFx0Y29uc29sZS5sb2coJ+W9k+WJjeS9jee9rueahOe7j+W6pu+8micgKyByZXMubG9uZ2l0dWRlKTtcclxuXHRcdFx0XHRcdC8vIFx0Y29uc29sZS5sb2coJ+W9k+WJjeS9jee9rueahOe6rOW6pu+8micgKyByZXMubGF0aXR1ZGUpO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMubG9ubGF0ICE9ICcnKSB7XHJcblx0XHRcdFx0XHRcdHJlcC5kYXRhWzBdLm1hcHBvc2l0aW9uID0gdGhpcy5sb25sYXRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIFx0fVxyXG5cdFx0XHRcdFx0Ly8gfSk7XHJcblx0XHRcdFx0XHR0aGlzLm1hcnNzZXQgPSByZXAuZGF0YVswXVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRmZXRjaEZlbmNlTGlzdCgpIHtcclxuXHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRpZiAodW5pLmdldFN0b3JhZ2VTeW5jKCdpc2ZlbmNlJykgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHRmaW5kQWxsRmVuY2UocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgZmlsdGVyZWREYXRhID0gcmVzLmRhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pc3BsYXkgPT09IDApO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGZpbHRlcmVkRGF0YSAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuYW1hcGRlRmVuY2VQb2ludHMgPSBmaWx0ZXJlZERhdGFcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLmFtYXBGZW5jZVBvaW50cy5sZW5ndGggPiByZXMuZGF0YS5sZW5ndGgpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly/lvZPmnInlm7TmoI/liKDpmaTml7bosIPnlKjlnLDlm77miorlm7TmoI/lhajpg6jliKDpmaRcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgbWlzc2luZ0RhdGEgPSB0aGlzLmFtYXBGZW5jZVBvaW50cy5maWx0ZXIoaXRlbTEgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiAhcmVzLmRhdGEuc29tZShpdGVtMiA9PiBpdGVtMi5pZCA9PT0gaXRlbTEuaWQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwZGVGZW5jZVBvaW50cyA9IG1pc3NpbmdEYXRhXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwRmVuY2VQb2ludHMgPSByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuYW1hcEZlbmNlUG9pbnRzID0gW11cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHQvLzXnp5Lmkq3mlL7kuIDmrKFcclxuXHRcdFx0XHRcdHRoaXMuZmV0Y2hGZW5jZUxpc3QoKTtcclxuXHRcdFx0XHR9LCA1MDAwKTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGZldGNoUGVyc29uc0xpc3QoKSB7XHJcblx0XHRcdFx0dGhpcy5hbWFwUG9pbnRzID0gW11cclxuXHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRnZXRHUFNDZXNpdW0ocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwUG9pbnRzID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgcmVzLmRhdGEubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gcmVzLmRhdGFbaV0ub25saW5lPT0xXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YVtpXS5vbmxpbmUgPT0gXCIxXCIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLnp5c3RhdGUpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLnp5c3RhdGUgPT0gJ1NUQVJUJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKHJlcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0ud2FybnN0YXR1cyA9PSAnMScpLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRpZiAodGhpcy53YXJuaWRsaXN0LmluZGV4T2YocmVzLmRhdGFbaV0ud2FybnN0YXR1cz09JzEnKSA8IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdHRoaXMud2Fybmxpc3QucHVzaChyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLndhcm5zdGF0dXMgPT0gJzEnKVtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0XHQwXS50YWdpZCArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdFwi6L+b5YWl6aKE6K2m5Yy65Z+f6K+35rOo5oSPXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHR0aGlzLndhcm5pZGxpc3QucHVzaChyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLndhcm5zdGF0dXMgPT1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0JzEnKVswXS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHR9IGVsc2Uge1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdHRoaXMud2Fybmxpc3Quc3BsaWNlKHRoaXMud2FybmlkbGlzdC5pbmRleE9mKHJlcy5kYXRhLmZpbHRlcihcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0XHRcdGl0ZW0gPT4gaXRlbS53YXJuc3RhdHVzICE9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdFx0XHQnMScpWzBdIFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdC50YWdpZCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0dGhpcy53YXJuaWRsaXN0LnNwbGljZSh0aGlzLndhcm5pZGxpc3QuaW5kZXhPZihyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdGl0ZW0ud2FybnN0YXR1cyAhPVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdCcxJylbMF1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0LnRhZ2lkKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAodGhpcy53YXJuaWRsaXN0LmluZGV4T2YocmVzLmRhdGFbaV0udGFnaWQpIDwgMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAocmVzLmRhdGFbaV0ud2FybnN0YXR1cyA9PSAnMScpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5saXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQgK1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCLov5vlhaXpooTorabljLrln5/or7fms6jmhI9cIilcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5pZGxpc3QucHVzaChyZXMuZGF0YVtpXS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuZGF0YVtpXS5iYW9saXUyLnNwbGl0KFwiO1wiKVswXSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJubGlzdC5wdXNoKHJlcy5kYXRhW2ldLnRhZ2lkICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwi6L+b5YWl56aB5YWl5Yy66K+35rOo5oSPXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRsaXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocmVzLmRhdGFbaV0uYmFvbGl1Mi5zcGxpdChcIjtcIilbMV0gPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2Fybmxpc3QucHVzaChyZXMuZGF0YVtpXS50YWdpZCArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcIui2heiMg+WbtOivt+azqOaEj1wiKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2FybmlkbGlzdC5wdXNoKHJlcy5kYXRhW2ldLnRhZ2lkKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5kYXRhW2ldLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzJdID09IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5saXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQgK1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCLotoXpq5jor7fms6jmhI9cIilcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5pZGxpc3QucHVzaChyZXMuZGF0YVtpXS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhW2ldLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzBdID09IDEpIHt9IGVsc2UgaWYgKHJlcy5kYXRhW2ldXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LmJhb2xpdTJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQuc3BsaXQoXCI7XCIpWzFdID09IDApIHt9IGVsc2UgaWYgKHJlcy5kYXRhW2ldLmJhb2xpdTIuc3BsaXQoXCI7XCIpW1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ml0gPT1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQxKSB7fSBlbHNlIGlmIChyZXMuZGF0YVtpXS53YXJuc3RhdHVzID09ICcxJykge30gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJubGlzdC5zcGxpY2UodGhpcy53YXJuaWRsaXN0LmluZGV4T2YocmVzLmRhdGFbaV0udGFnaWQpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0MSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5pZGxpc3Quc3BsaWNlKHRoaXMud2FybmlkbGlzdC5pbmRleE9mKHJlcy5kYXRhW2ldLnRhZ2lkKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnN0IGZpbHRlcmVkRGF0YSA9IHJlcy5kYXRhLmZpbHRlcihpdGVtID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gaXRlbS5vbmxpbmUgPT09IFwiMVwiICYmIGl0ZW0uZ3Bzc3RhdHVzICE9PSBcIjRcIiAmJiAoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpdGVtXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQuYmFvbGl1MSA9PT1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCfmiYvmjIHmoIfnrb4nIHx8IGl0ZW0uYmFvbGl1MSA9PT0gJ+i9pui9veagh+etvicpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8g5bCG56ym5ZCI5p2h5Lu255qE5pWw5o2u55qEIHRhZ2lkIOa3u+WKoOWIsCB0aGlzLndhcm5pZGxpc3Qg5LitXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZpbHRlcmVkRGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLndhcm5pZHNsaXN0LmluZGV4T2YoaXRlbS50YWdpZCkgPCAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5saXN0LnB1c2goaXRlbS50YWdpZCArIFwi6K6+5aSH6Z2e6auY57K+XCIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRzbGlzdC5wdXNoKGl0ZW0udGFnaWQpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2Fybmxpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRzbGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8156eS5pKt5pS+5LiA5qyhXHJcblx0XHRcdFx0XHRcdHRoaXMuZmV0Y2hQZXJzb25zTGlzdCgpO1xyXG5cdFx0XHRcdFx0fSwgNTAwMCk7XHJcblx0XHRcdFx0fSxcclxuXHJcblx0XHRcdFx0dXBkYXRlVHJhamVjdG9yaWVzKCkge1xyXG5cdFx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRcdGdldEdQUyhwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YSAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBHUFNQb2ludHMgPSByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHQvLzXnp5Lmkq3mlL7kuIDmrKFcclxuXHRcdFx0XHRcdFx0dGhpcy51cGRhdGVUcmFqZWN0b3JpZXMoKTtcclxuXHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdH1cclxuXHRcdH1cclxuPC9zY3JpcHQ+XHJcbjxzY3JpcHQgbW9kdWxlPVwibWFyczNkXCIgbGFuZz1cInJlbmRlcmpzXCI+XHJcblx0bGV0IGdyYXBoaWNMYXllciA9IG51bGw7XHJcblx0bGV0IGdyYXBoaWNMYXllckZlbmNlID0gbnVsbDtcclxuXHRsZXQgZ3JhcGhpY0xheWVyRmVuY2VCaWFuSmllID0gbnVsbDtcclxuXHRsZXQgZ3JhcGhpY0xheWVyRmVuY2VkcndhID0gbnVsbDtcclxuXHR2YXIgY3JlZGl0SHRtbCA9ICcnXHJcblx0dmFyIG1hcFxyXG5cdGxldCBhZGRlZENhcklkcyA9IG5ldyBTZXQoKTtcclxuXHRsZXQgYWRkZWRCYXNlSWRzID0gbmV3IFNldCgpO1xyXG5cdGxldCBhZGRlZEZlbmNlSWRzID0gbmV3IFNldCgpO1xyXG5cdHZhciBMb2N1c0RhdGE7XHJcblx0dmFyIExvY3VEYXRhO1xyXG5cdHZhciBjb3VudE51bSA9IDA7XHJcblx0dmFyIHN1ZHVzID0gMTAwMDtcclxuXHRsZXQgaXNSdW5uaW5nID0gdHJ1ZTsgLy8g5qCH5b+X5Y+Y6YeP77yM55So5LqO5o6n5Yi25pa55rOV5piv5ZCm57un57ut5omn6KGMXHJcblx0dmFyIHBhcmFtcztcclxuXHR2YXIgcGxhY2tDb250cm9sO1xyXG5cdHZhciB0aW1lb3V0SWQ7XHJcblx0dmFyIGlzUGxhY2sgPSB0cnVlO1xyXG5cdHZhciBjYXI7XHJcblx0dmFyIG51bSA9IDA7XHJcblx0dmFyIGdsb2JhbE1hcCA9IGZhbHNlO1xyXG5cdGltcG9ydCB7XHJcblx0XHRtYXBPcHRpb25zXHJcblx0fSBmcm9tICcuL2NvbmZpZy5qcydcclxuXHRpZiAoIVN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCkge1xyXG5cdFx0U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsID0gZnVuY3Rpb24oc3RyLCBuZXdTdHIpIHtcclxuXHRcdFx0Ly8gSWYgYSByZWdleCBwYXR0ZXJuXHJcblx0XHRcdGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoc3RyKS50b0xvd2VyQ2FzZSgpID09PSAnW29iamVjdCByZWdleHBdJykge1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLnJlcGxhY2Uoc3RyLCBuZXdTdHIpO1xyXG5cdFx0XHR9XHJcblx0XHRcdC8vIElmIGEgc3RyaW5nXHJcblx0XHRcdHJldHVybiB0aGlzLnJlcGxhY2UobmV3IFJlZ0V4cChzdHIsICdnJyksIG5ld1N0cik7XHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRmcGxvY2s6IGZhbHNlLFxyXG5cdFx0XHRcdGZlbmNlcGxvY2s6IGZhbHNlLFxyXG5cdFx0XHRcdHBsaXN0OiBbXSxcclxuXHRcdFx0XHRjYXJ0ZXNpYW5Qb2ludHM6IFtdLFxyXG5cdFx0XHRcdHN1ZHVzOiAwLFxyXG5cdFx0XHRcdGJvU3RhcnQ6IDAsXHJcblx0XHRcdFx0aXMyZDogZmFsc2UsXHJcblx0XHRcdFx0ZG90OiAxMjMsXHJcblx0XHRcdFx0Z3JhcGhpY0xhYmVsczoge30sXHJcblx0XHRcdFx0Z3JhcGhpY0xhYmVsc2lkczoge30sXHJcblx0XHRcdFx0ZmVuY2VpZDogJycsXHJcblx0XHRcdFx0ZmVuY2VpZHM6ICcnLFxyXG5cdFx0XHRcdGdyYXBoaWNpZHM6IFtdLFxyXG5cdFx0XHRcdGdyYXBoaWNGZW5jZToge30sXHJcblx0XHRcdFx0bGFiZWxzOiB7fSxcclxuXHRcdFx0XHRsaXN0OiB7fSxcclxuXHRcdFx0XHRwZXJsaXN0OiB7fSxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdHByb3BzOiB7XHJcblx0XHRcdGhvbWVsYXQ6IHtcclxuXHRcdFx0XHR0eXBlOiBOdW1iZXIsXHJcblx0XHRcdH0sXHJcblx0XHRcdGhvbWVsbmc6IHtcclxuXHRcdFx0XHR0eXBlOiBOdW1iZXIsXHJcblx0XHRcdH0sXHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHRcdFx0YWRkZWRDYXJJZHMgPSBuZXcgU2V0KCk7XHJcblx0XHRcdGdyYXBoaWNMYXllciA9IG51bGxcclxuXHRcdFx0dGhpcy5sb2FkU291cmNlKFtcclxuXHJcblx0XHRcdFx0Ly/nlKjmnKzlnLDlnLDlnYDvvIzlubblj6/ku6XlrpjnvZHkuIvovb3mnIDmlrDljIXvvIzmiYvliqjopobnm5bkuIvvvIxodHRwOi8vbWFyczNkLmNuL2Rvd25sb2FkLmh0bWxcclxuXHRcdFx0XHQvLyBcInN0YXRpYy9saWIvQ2VzaXVtL1dpZGdldHMvd2lkZ2V0cy5jc3NcIixcclxuXHRcdFx0XHQvLyBcInN0YXRpYy9saWIvQ2VzaXVtL0Nlc2l1bS5qc1wiLFxyXG5cdFx0XHRcdC8vIFwic3RhdGljL2xpYi9tYXJzM2QvbWFyczNkLmNzc1wiLFxyXG5cdFx0XHRcdC8vIFwic3RhdGljL2xpYi9tYXJzM2QvbWFyczNkLmpzXCIsXHJcblx0XHRcdFx0Ly8gXCJzdGF0aWMvY3NzL3N0eWxlLmNzc1wiLCBcclxuXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjU2LjExMy4yMTM6ODA4MC9oeHprdXdiL0hvbWUvZGVtby9saWIvQ2VzaXVtL1dpZGdldHMvd2lkZ2V0cy5jc3NcIixcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly8xMjMuNTYuMTEzLjIxMzo4MDgwL2h4emt1d2IvSG9tZS9kZW1vL2xpYi9DZXNpdW0vQ2VzaXVtLmpzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjU2LjExMy4yMTM6ODA4MC9oeHprdXdiL0hvbWUvZGVtby9saWIvbWFyczNkL21hcnMzZC5jc3NcIixcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly8xMjMuNTYuMTEzLjIxMzo4MDgwL2h4emt1d2IvSG9tZS9kZW1vL2xpYi9tYXJzM2QvbWFyczNkLmpzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjU2LjExMy4yMTM6ODA4MC9oeHprdXdiL0hvbWUvanMvM0RNb1hpbmcuanNcIixcclxuXHRcdFx0XHRcImh0dHA6Ly8zOS4xMDYuMjEwLjEzOjg4ODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvQ2VzaXVtL1dpZGdldHMvd2lkZ2V0cy5jc3NcIixcclxuXHRcdFx0XHRcImh0dHA6Ly8zOS4xMDYuMjEwLjEzOjg4ODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvQ2VzaXVtL0Nlc2l1bS5qc1wiLFxyXG5cdFx0XHRcdFwiaHR0cDovLzM5LjEwNi4yMTAuMTM6ODg4OC9oeHprdXdiL3ZpZXcvSG9tZS9kZW1vL2xpYi9tYXJzM2QvbWFyczNkLmNzc1wiLFxyXG5cdFx0XHRcdFwiaHR0cDovLzM5LjEwNi4yMTAuMTM6ODg4OC9oeHprdXdiL3ZpZXcvSG9tZS9kZW1vL2xpYi9tYXJzM2QvbWFyczNkLmpzXCIsXHJcblxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL0Nlc2l1bS9XaWRnZXRzL3dpZGdldHMuY3NzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjExNy4xNTIuMTIwOjgwODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvQ2VzaXVtL0Nlc2l1bS5qc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL21hcnMzZC9tYXJzM2QuY3NzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjExNy4xNTIuMTIwOjgwODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvbWFyczNkL21hcnMzZC5qc1wiLFxyXG5cdFx0XHRcdC8v55So5Zyo57q/5Zyw5Z2AXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vbWFyczNkLmNuL2xpYi9DZXNpdW0vV2lkZ2V0cy93aWRnZXRzLmNzc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovL21hcnMzZC5jbi9saWIvQ2VzaXVtL0Nlc2l1bS5qc1wiLCBcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly9tYXJzM2QuY24vbGliL21hcnMzZC9tYXJzM2QuY3NzXCIsIFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovL21hcnMzZC5jbi9saWIvbWFyczNkL21hcnMzZC5qc1wiLFxyXG5cdFx0XHRcdFwic3RhdGljL2Nzcy9zdHlsZS5jc3NcIixcclxuXHRcdFx0XSkudGhlbigoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5yZXdyaXRlQ2VzaXVtU291cmNlcyhDZXNpdW0pO1xyXG5cdFx0XHRcdC8vIGlmIChnbG9iYWxNYXA9PWZhbHNlKSB7XHJcblx0XHRcdFx0dGhpcy5jcmVhdGVNYXAoKVxyXG5cdFx0XHRcdC8vIH1cclxuXHJcblx0XHRcdH0pXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQvL+WIm+W7uuWcsOWbvlxyXG5cdFx0XHRnZXRUZXJyYWluUHJvdmlkZXJWaWV3TW9kZWxzQXJyKCkge1xyXG5cdFx0XHRcdHJldHVybiBbXHJcblx0XHRcdFx0XHRuZXcgQ2VzaXVtLlByb3ZpZGVyVmlld01vZGVsKHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCLml6DlnLDlvaJcIixcclxuXHRcdFx0XHRcdFx0dG9vbHRpcDogXCJXR1M4NOagh+WHhueQg+S9k1wiLFxyXG5cdFx0XHRcdFx0XHRpY29uVXJsOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvVGVycmFpbkVsbGlwc29pZC5wbmdcIixcclxuXHRcdFx0XHRcdFx0Y3JlYXRpb25GdW5jdGlvbjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIG1hcnMzZC5MYXllclV0aWwuZ2V0Tm9UZXJyYWluUHJvdmlkZXIoKVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdG5ldyBDZXNpdW0uUHJvdmlkZXJWaWV3TW9kZWwoe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuS4reWbveWcsOW9olwiLFxyXG5cdFx0XHRcdFx0XHR0b29sdGlwOiBcIueUsSDngavmmJ/np5HmioAg5o+Q5L6b55qE5Lit5Zu95Zu95YaF5Zyw5b2iXCIsXHJcblx0XHRcdFx0XHRcdGljb25Vcmw6IFwic3RhdGljL2ltZy9iYXNlbWFwcy9UZXJyYWluU1RLLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRjcmVhdGlvbkZ1bmN0aW9uOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gbWFyczNkLkxheWVyVXRpbC5jcmVhdGVUZXJyYWluUHJvdmlkZXIoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dXJsOiBcImh0dHA6Ly9kYXRhLm1hcnMzZC5jbi90ZXJyYWluXCJcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdG5ldyBDZXNpdW0uUHJvdmlkZXJWaWV3TW9kZWwoe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIkFyY0dJU+WcsOW9olwiLFxyXG5cdFx0XHRcdFx0XHR0b29sdGlwOiBcIueUsSDngavmmJ/np5HmioAg5o+Q5L6b55qE5Lit5Zu95Zu95YaF5Zyw5b2iXCIsXHJcblx0XHRcdFx0XHRcdGljb25Vcmw6IFwic3RhdGljL2ltZy9iYXNlbWFwcy9UZXJyYWluU1RLLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRjcmVhdGlvbkZ1bmN0aW9uOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gbWFyczNkLkxheWVyVXRpbC5jcmVhdGVUZXJyYWluUHJvdmlkZXIoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJhcmNnaXNcIixcclxuXHRcdFx0XHRcdFx0XHRcdHVybDogXCJodHRwczovL2VsZXZhdGlvbjNkLmFyY2dpcy5jb20vYXJjZ2lzL3Jlc3Qvc2VydmljZXMvV29ybGRFbGV2YXRpb24zRC9UZXJyYWluM0QvSW1hZ2VTZXJ2ZXJcIlxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdFx0bmV3IENlc2l1bS5Qcm92aWRlclZpZXdNb2RlbCh7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5YWo55CD5Zyw5b2iXCIsXHJcblx0XHRcdFx0XHRcdHRvb2x0aXA6IFwi55SxIENlc2l1beWumOaWuSDmj5DkvpvnmoTpq5jliIbovqjnjoflhajnkIPlnLDlvaJcIixcclxuXHRcdFx0XHRcdFx0aWNvblVybDogXCJzdGF0aWMvaW1nL2Jhc2VtYXBzL1RlcnJhaW5TVEsucG5nXCIsXHJcblx0XHRcdFx0XHRcdGNyZWF0aW9uRnVuY3Rpb246IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBtYXJzM2QuTGF5ZXJVdGlsLmNyZWF0ZVRlcnJhaW5Qcm92aWRlcih7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImlvblwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0cmVxdWVzdFdhdGVyTWFzazogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdHJlcXVlc3RWZXJ0ZXhOb3JtYWxzOiB0cnVlXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRdXHJcblx0XHRcdH0sXHJcblx0XHRcdGdldG1hcnNEYXRhKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0dGhpcy5saXN0ID0gbmV3VmFsdWVcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0M3dlaShuZXdWYWx1ZSkge1xyXG5cdFx0XHRcdHRoaXMuaXMyZCA9IG5ld1ZhbHVlWzBdXHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WIm+W7uuWcsOWbvlxyXG5cdFx0XHRjcmVhdGVNYXAoKSB7XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKHRoaXMubGlzdCkubGVuZ3RoID09IDApIHsgLy/liIfmjaLpobXpnaLmnInml7bkvJrlm6DkuLpnZXRtYXJzRGF0Ye+8iO+8ieWcqGNyZWF0ZU1hcCgp5LmL5ZCO5omn6KGM77yM5a+86Ie05q2k5pa55rOV5rKh5pyJ5Y6f5aeL5a6a5L2N5pWw5o2u5oql6ZSZXHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8156eS5pKt5pS+5LiA5qyhXHJcblx0XHRcdFx0XHRcdHRoaXMuY3JlYXRlTWFwKClcclxuXHRcdFx0XHRcdH0sIDEwMCk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGxldCBtYXBQb3NpdGlvbmxhdDtcclxuXHRcdFx0XHRcdGxldCBtYXBQb3NpdGlvbmxuZztcclxuXHRcdFx0XHRcdGxldCBtYXBQb3NpdGlvbmFsdDtcclxuXHRcdFx0XHRcdGxldCBtYXBQb3NpdGlvbmhlYWRpbmc7XHJcblx0XHRcdFx0XHRsZXQgbWFwUG9zaXRpb25waXRjaDtcclxuXHRcdFx0XHRcdG1hcFBvc2l0aW9ubGF0ID0gdGhpcy5saXN0Lm1hcHBvc2l0aW9uLnNwbGl0KCcsJylbMV07XHJcblx0XHRcdFx0XHRtYXBQb3NpdGlvbmxuZyA9IHRoaXMubGlzdC5tYXBwb3NpdGlvbi5zcGxpdCgnLCcpWzBdO1xyXG5cdFx0XHRcdFx0bWFwUG9zaXRpb25hbHQgPSB0aGlzLmxpc3QuYWx0O1xyXG5cdFx0XHRcdFx0bWFwUG9zaXRpb25oZWFkaW5nID0gdGhpcy5saXN0LmhlYWRpbmc7XHJcblx0XHRcdFx0XHRtYXBQb3NpdGlvbnBpdGNoID0gdGhpcy5saXN0LnBpdGNoO1xyXG5cdFx0XHRcdFx0Y29uc3QgQ2VzaXVtID0gbWFyczNkLkNlc2l1bTtcclxuXHRcdFx0XHRcdG1hcCA9IG5ldyBtYXJzM2QuTWFwKCdtYXJzM2RDb250YWluZXInLCB7XHJcblx0XHRcdFx0XHRcdHNjZW5lOiB7XHJcblx0XHRcdFx0XHRcdFx0Y2VudGVyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBsYXQ6IDM4LjQ0MzcyOSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGxuZzogMzguNDQzNzI5LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gYWx0OiAyMDAsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBoZWFkaW5nOiAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gcGl0Y2g6IDAsXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0bGF0OiBtYXBQb3NpdGlvbmxhdCxcclxuXHRcdFx0XHRcdFx0XHRcdGxuZzogbWFwUG9zaXRpb25sbmcsXHJcblx0XHRcdFx0XHRcdFx0XHRhbHQ6IG1hcFBvc2l0aW9uYWx0LFxyXG5cdFx0XHRcdFx0XHRcdFx0aGVhZGluZzogMCxcclxuXHRcdFx0XHRcdFx0XHRcdHBpdGNoOiAwXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHQvLyBjZW50ZXI6IHsgbGF0OiBtYXBQb3NpdGlvblsxXSwgbG5nOiBtYXBQb3NpdGlvblswXSwgYWx0OiBIb21lU2V0dGluZy5hbHQsIGhlYWRpbmc6IEhvbWVTZXR0aW5nLmhlYWRpbmcsIHBpdGNoOiBIb21lU2V0dGluZy5waXRjaCB9LFxyXG5cdFx0XHRcdFx0XHRcdHNob3dTa3lBdG1vc3BoZXJlOiBmYWxzZSwgLy8g5YWz6Zet55CD5ZGo6L6555qE55m96Imy6L2u5buTIG1hcC5zY2VuZS5za3lBdG1vc3BoZXJlID0gZmFsc2VcclxuXHRcdFx0XHRcdFx0XHRmb2c6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0ZnhhYTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRnbG9iZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0c2hvd0dyb3VuZEF0bW9zcGhlcmU6IGZhbHNlLCAvLyDlhbPpl63lpKfmsJTvvIjnkIPooajpnaLnmb3okpnokpnnmoTmlYjmnpzvvIlcclxuXHRcdFx0XHRcdFx0XHRcdGRlcHRoVGVzdEFnYWluc3RUZXJyYWluOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdGJhc2VDb2xvcjogXCIjNTQ2YTUzXCJcclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdC8vIHRlcnJhaW46IHtcclxuXHRcdFx0XHRcdFx0XHQvLyAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLm1hcnMzZC5jbi90ZXJyYWluXCIsXHJcblx0XHRcdFx0XHRcdFx0Ly8gICAgIHNob3c6IHRydWVcclxuXHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdGNhbWVyYUNvbnRyb2xsZXI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdHpvb21GYWN0b3I6IDEwLjAsXHJcblx0XHRcdFx0XHRcdFx0XHR0b3VjaFpvb21GYWN0b3I6IDEwLjAsIC8vIOinpuaRuOe8qeaUvueBteaVj+W6pu+8iOS4jum8oOagh+a7mui9ruWQjOatpe+8iVxyXG5cdFx0XHRcdFx0XHRcdFx0em9vbUFuaW1hdGlvbjogdHJ1ZSwgLy8g5ZCv55So57yp5pS+5Yqo55S7XHJcblx0XHRcdFx0XHRcdFx0XHR6b29tQW5pbWF0aW9uVGltZTogMC4zLCAvLyDliqjnlLvmjIHnu63ml7bpl7TvvIjnp5LvvIksXHJcblx0XHRcdFx0XHRcdFx0XHRtaW5pbXVtWm9vbURpc3RhbmNlOiAxLFxyXG5cdFx0XHRcdFx0XHRcdFx0bWF4aW11bVpvb21EaXN0YW5jZTogNTAwMDAwMDAsXHJcblx0XHRcdFx0XHRcdFx0XHRlbmFibGVSb3RhdGU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRlbmFibGVab29tOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZW5hYmxlQ29udGludW91c1pvb206IHRydWUsIC8vIOWQr+eUqOaDr+aAp+a7muWKqO+8iOWPr+mAie+8iVxyXG5cdFx0XHRcdFx0XHRcdFx0em9vbUFuaW1hdGlvblRpbWU6IDAuMSwgLy8g5Yqo55S75pe26Ze077yI57yp55+t5Y+v5Yqg5b+r5ZON5bqU77yJXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRtYXBQcm9qZWN0aW9uOiBtYXJzM2QuQ1JTLkVQU0czODU3LCAvLyAyROS4i+WxleekuuWiqOWNoeaJmOaKleW9sVxyXG5cdFx0XHRcdFx0XHRcdG1hcE1vZGUyRDogQ2VzaXVtLk1hcE1vZGUyRC5JTkZJTklURV9TQ1JPTEwsIC8vIDJE5LiL5bem5Y+z5LiA55u05Y+v5Lul5rua5Yqo6YeN5aSN5LiW55WM5Zyw5Zu+XHJcblx0XHRcdFx0XHRcdFx0c2t5Qm94OiB7XHJcblx0XHRcdFx0XHRcdFx0XHRzb3VyY2VzOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aXZlWDogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3Fpbmd0aWFuL3JpZ2h0YXY5LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVg6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci9xaW5ndGlhbi9sZWZ0YXY5LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVk6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci9xaW5ndGlhbi9mcm9udGF2OS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmVnYXRpdmVZOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvcWluZ3RpYW4vYmFja2F2OS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVaOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvcWluZ3RpYW4vdG9wYXY5LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVo6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci9xaW5ndGlhbi9ib3R0b21hdjkuanBnXCJcclxuXHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRzb3VyY2VzMjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVg6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0UmlnaHQucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWDogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3dhbnhpYS9TdW5TZXRMZWZ0LnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVk6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0RnJvbnQucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWTogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3dhbnhpYS9TdW5TZXRCYWNrLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVo6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0VXAucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWjogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3dhbnhpYS9TdW5TZXREb3duLnBuZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0c291cmNlczM6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmVnYXRpdmVYOiBcInN0YXRpYy9pbWcvc2t5Ym94LzIvdHljaG8ydDNfODBfbXguanBnXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWTogXCJzdGF0aWMvaW1nL3NreWJveC8yL3R5Y2hvMnQzXzgwX215LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVo6IFwic3RhdGljL2ltZy9za3lib3gvMi90eWNobzJ0M184MF9tei5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVYOiBcInN0YXRpYy9pbWcvc2t5Ym94LzIvdHljaG8ydDNfODBfcHguanBnXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aXZlWTogXCJzdGF0aWMvaW1nL3NreWJveC8yL3R5Y2hvMnQzXzgwX3B5LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVo6IFwic3RhdGljL2ltZy9za3lib3gvMi90eWNobzJ0M184MF9wei5qcGdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0Ly8gc2NlbmVNb2RlOiB0aGlzLmlzMmQgLy8g6K6+572u5Yid5aeL5Zy65pmv5qih5byP5Li6MkRcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0dGVycmFpbjogZmFsc2UsIC8vIOWFs+mXreWcsOW9ouepuumXtFxyXG5cdFx0XHRcdFx0XHQvLyB0ZXJyYWluOiB7XHJcblx0XHRcdFx0XHRcdC8vIFx0dXJsOiBcImh0dHA6Ly9kYXRhLm1hcnMzZC5jbi90ZXJyYWluXCIsXHJcblx0XHRcdFx0XHRcdC8vIFx0c2hvdzogdHJ1ZVxyXG5cdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRjb250cm9sOiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gZ2VvY29kZXI6dHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRtb3VzZURvd25WaWV3OiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdGNsb2NrQW5pbWF0ZTogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0dGltZWxpbmU6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdGNvbXBhc3M6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdG5hdmlnYXRpb25IZWxwQnV0dG9uOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRmdWxsc2NyZWVuQnV0dG9uOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRob21lQnV0dG9uOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdGxvY2F0aW9uQmFyOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHR6b29tOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdHNjZW5lTW9kZVBpY2tlcjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0YmFzZUxheWVyUGlja2VyOiB0cnVlLCAvLyDmmK/lkKbmmL7npLrlm77lsYLpgInmi6nmjqfku7ZcclxuXHRcdFx0XHRcdFx0XHR0ZXJyYWluUHJvdmlkZXJWaWV3TW9kZWxzOiB0aGlzXHJcblx0XHRcdFx0XHRcdFx0XHQuZ2V0VGVycmFpblByb3ZpZGVyVmlld01vZGVsc0FycigpIC8vIOiHqmJhc2VMYXllclBpY2tlcumdouadv+eahOWcsOW9ouWPr+mAieaVsOe7hFxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHRcdFx0YmFzZW1hcHM6IFt7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdG5hbWU6IFwi5aSp5Zyw5Zu+5b2x5YOPXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy90ZHRfaW1nLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR0eXBlOiBcInRkdFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRsYXllcjogXCJpbWdfZFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRrZXk6IG1hcnMzZC5Ub2tlbi50aWFuZGl0dUFycixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0c2hvdzogZmFsc2UsIC8vIOWFs+mXreWkqeWcsOWbvuW9seWDj1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRjcmVkaXQ6IGNyZWRpdEh0bWxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdG5hbWU6IFwi5aSp5Zyw5Zu+55S15a2QXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy90ZHRfdmVjLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR0eXBlOiBcImdyb3VwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGxheWVyczogW3tcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdG5hbWU6IFwi5bqV5Zu+XCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHR0eXBlOiBcInRkdFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0bGF5ZXI6IFwidmVjX2RcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdGtleTogbWFyczNkLlRva2VuLnRpYW5kaXR1QXJyXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRuYW1lOiBcIuazqOiusFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0dHlwZTogXCJ0ZHRcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdGxheWVyOiBcInZlY196XCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRrZXk6IG1hcnMzZC5Ub2tlbi50aWFuZGl0dUFyclxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0c2hvdzogZmFsc2UsIC8vIOWFs+mXreWkqeWcsOWbvueUteWtkFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRjcmVkaXQ6IGNyZWRpdEh0bWxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB7XHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIumrmOW+t+W9seWDj1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJzdGF0aWMvaW1nL2Jhc2VtYXBzL2dhb2RlX2ltZy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiZ3JvdXBcIixcclxuXHRcdFx0XHRcdFx0XHRcdGxheWVyczogW3tcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIuW6leWbvlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiZ2FvZGVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYXllcjogXCJpbWdfZFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIuazqOiusFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiZ2FvZGVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYXllcjogXCJpbWdfelwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRcdFx0XHRzaG93OiBmYWxzZSwgLy8g5YWz6Zet6auY5b635b2x5YOPXHJcblx0XHRcdFx0XHRcdFx0XHRjcmVkaXQ6IGNyZWRpdEh0bWxcclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwi6auY5b6355S15a2QXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvZ2FvZGVfdmVjLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJnYW9kZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0bGF5ZXI6IFwidmVjXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRzaG93OiB0cnVlLCAvLyDpu5jorqTmmL7npLrpq5jlvrfnlLXlrZDlnLDlm75cclxuXHRcdFx0XHRcdFx0XHRcdGNyZWRpdDogY3JlZGl0SHRtbFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLnmb7luqblvbHlg49cIixcclxuXHRcdFx0XHRcdFx0XHRcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9nYW9kZV9pbWcucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImdyb3VwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRsYXllcnM6IFt7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLlupXlm75cIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImJhaWR1XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGF5ZXI6IFwiaW1nX2RcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLms6jorrBcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImJhaWR1XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGF5ZXI6IFwiaW1nX3pcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2hvdzogZmFsc2UsIC8vIOWFs+mXreeZvuW6puW9seWDj1xyXG5cdFx0XHRcdFx0XHRcdFx0Y3JlZGl0OiBjcmVkaXRIdG1sXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIueZvuW6pueUteWtkFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJzdGF0aWMvaW1nL2Jhc2VtYXBzL2dhb2RlX3ZlYy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiYmFpZHVcIixcclxuXHRcdFx0XHRcdFx0XHRcdGxheWVyOiBcInZlY1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2hvdzogZmFsc2UsIC8vIOWFs+mXreeZvuW6pueUteWtkFxyXG5cdFx0XHRcdFx0XHRcdFx0Y3JlZGl0OiBjcmVkaXRIdG1sXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdG5hbWU6IFwi6LC35q2M5b2x5YOPXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9nb29nbGVfaW1nLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR0eXBlOiBcImdvb2dsZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRsYXllcjogXCJpbWdfZFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRjaGluYUNSUzogbWFyczNkLkNoaW5hQ1JTLkdDSjAyLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRzaG93OiBmYWxzZSAvLyDlhbPpl63osLfmrYzlvbHlg49cclxuXHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdG5hbWU6IFwi6LC35q2M55S15a2QXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9nb29nbGVfdmVjLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR0eXBlOiBcImdvb2dsZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRsYXllcjogXCJ2ZWNcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Y2hpbmFDUlM6IG1hcnMzZC5DaGluYUNSUy5HQ0owMixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0c2hvdzogZmFsc2UgLy8g5YWz6Zet6LC35q2M55S15a2QXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8ge1xyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZTogXCJBcmNHSVPlvbHlg49cIixcclxuXHRcdFx0XHRcdFx0XHRcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9lc3JpV29ybGRJbWFnZXJ5LnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJhcmNnaXNcIixcclxuXHRcdFx0XHRcdFx0XHRcdGxheWVyOiBcImltZ19kXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRlbmFibGVQaWNrRmVhdHVyZXM6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2hvdzogZmFsc2UgLy8g5YWz6ZetIEFyY0dJUyDlvbHlg49cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdF1cclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0Ly8gY29uc3QgdG9vbGJhciA9IG5ldyBtYXJzM2QuY29udHJvbC5nZW9jb2Rlcih7XHJcblx0XHRcdFx0XHQvLyAgICAgcG9zaXRpb246IHsgdG9wOiBcIjEwcHhcIiwgbGVmdDogXCIxMHB4XCIgfSwgLy8g5oyJ6ZKu5L2N572uXHJcblx0XHRcdFx0XHQvLyAgICAgaXRlbXM6IFtcclxuXHRcdFx0XHRcdC8vICAgICAgIHtcclxuXHRcdFx0XHRcdC8vICAgICAgICAgdHlwZTogXCJidXR0b25cIixcclxuXHRcdFx0XHRcdC8vICAgICAgICAgdGV4dDogXCLmkJzntKJcIixcclxuXHRcdFx0XHRcdC8vICAgICAgICAgaWNvbjogXCJmYSBmYS1zZWFyY2hcIiwgLy8g5L2/55SoIEZvbnQgQXdlc29tZSDlm77moIdcclxuXHRcdFx0XHRcdC8vICAgICAgICAgYWN0aW9uOiAoKSA9PiB7XHJcblx0XHRcdFx0XHQvLyAgICAgICAgICAgLy8gdGhpcy4kcmVmcy5zZWFyY2hCb3guc2hvdygpOyAvLyDosIPnlKjmkJzntKLmoYbnmoTmmL7npLrmlrnms5VcclxuXHRcdFx0XHRcdC8vICAgICAgICAgfVxyXG5cdFx0XHRcdFx0Ly8gICAgICAgfVxyXG5cdFx0XHRcdFx0Ly8gICAgIF1cclxuXHRcdFx0XHRcdC8vICAgfSk7XHJcblx0XHRcdFx0XHQvLyAgIG1hcC5hZGRDb250cm9sKHRvb2xiYXIpO1xyXG5cclxuXHRcdFx0XHRcdGlmICh0aGlzLmlzMmQgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHRtYXAuc2NlbmUubW9ycGhUbzNEKDApO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0bWFwLnNjZW5lLm1vcnBoVG8yRCgwKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIOWIm+W7uuefoumHj+aVsOaNruWbvuWxglxyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyID0gbmV3IG1hcnMzZC5sYXllci5HcmFwaGljTGF5ZXIoe1xyXG5cdFx0XHRcdFx0XHRhbGxvd0RyaWxsUGljazogdHJ1ZSAvLyDlpoLmnpzlrZjlnKjlnZDmoIflrozlhajnm7jlkIznmoTlm77moIfngrnvvIzlj6/ku6XmiZPlvIDor6XlsZ7mgKfvvIxjbGlja+S6i+S7tumAmui/h2dyYXBoaWNz5Yik5patXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VkcndhID0gbmV3IG1hcnMzZC5sYXllci5HcmFwaGljTGF5ZXIoKVxyXG5cdFx0XHRcdFx0bWFwLmFkZExheWVyKGdyYXBoaWNMYXllckZlbmNlZHJ3YSlcclxuXHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlQmlhbkppZSA9IG5ldyBtYXJzM2QubGF5ZXIuR3JhcGhpY0xheWVyKClcclxuXHRcdFx0XHRcdG1hcC5hZGRMYXllcihncmFwaGljTGF5ZXJGZW5jZUJpYW5KaWUpXHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZSA9IG5ldyBtYXJzM2QubGF5ZXIuR3JhcGhpY0xheWVyKClcclxuXHRcdFx0XHRcdG1hcC5hZGRMYXllcihncmFwaGljTGF5ZXJGZW5jZSlcclxuXHJcblxyXG5cclxuXHJcblx0XHRcdFx0XHRtYXAuYWRkTGF5ZXIoZ3JhcGhpY0xheWVyKVxyXG5cdFx0XHRcdFx0Ly8g57uR5a6a54K55Ye75LqL5Lu2XHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXIub24obWFyczNkLkV2ZW50VHlwZS5jbGljaywgKGV2ZW50LCBwb3NpdGlvbikgPT4ge1xyXG5cdFx0XHRcdFx0XHR2YXIgY2FyID0gZXZlbnQuZ3JhcGhpY1xyXG5cdFx0XHRcdFx0XHQvLyB2YXIgbGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdHZhciBqc29uID0ge31cclxuXHJcblx0XHRcdFx0XHRcdC8vIHZhciBtZXNzYWdlID0gXCLlp5PlkI06IFwiICsgbmFtZSArIFwiPGJyPue8luWPtzogXCIgKyBudW1iZXI7XHJcblx0XHRcdFx0XHRcdC8vIC8vIOS9v+eUqE1hcnMzROeahOaPkOekuuahhue7hOS7tuaYvuekuuS/oeaBr1xyXG5cdFx0XHRcdFx0XHQvLyAgICAgdGhpcy5ncmFwaGljTGF5ZXIuYmluZFBvcHVwKG5ldyBtYXJzM2QuVG9vbHRpcCh7XHJcblx0XHRcdFx0XHRcdC8vICAgICAgICAgY29udGVudDogbWVzc2FnZSxcclxuXHRcdFx0XHRcdFx0Ly8gICAgICAgICBwb3NpdGlvbjogcG9zaXRpb24sIC8vIOaMh+WumuaPkOekuuahhueahOS9jee9ruS4uueCueWHu+eahOS9jee9rlxyXG5cdFx0XHRcdFx0XHQvLyAgICAgICAgIGNsYXNzTmFtZTogXCJjdXN0b20tdG9vbHRpcFwiLCAvLyDlj6/ku6Xmt7vliqDoh6rlrprkuYnmoLflvI/nsbtcclxuXHRcdFx0XHRcdFx0Ly8gICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSwgLy8g5piv5ZCm5pi+56S65YWz6Zet5oyJ6ZKuXHJcblx0XHRcdFx0XHRcdC8vICAgICB9KSk7XHJcblx0XHRcdFx0XHRcdC8vIOaJk+W8gOaPkOekuuahhlxyXG5cdFx0XHRcdFx0XHQvLyB0aGlzLmdyYXBoaWNMYXllci5vcGVuUG9wdXAoKTtcclxuXHJcblx0XHRcdFx0XHRcdGpzb24ub25saW5lID0gY2FyLmF0dHIub25saW5lXHJcblx0XHRcdFx0XHRcdGpzb24uYmFvbGl1MSA9IGNhci5hdHRyLmJhb2xpdTFcclxuXHRcdFx0XHRcdFx0anNvbi50eXBlID0gY2FyLmF0dHIudHlwZVxyXG5cdFx0XHRcdFx0XHRqc29uLnJ0Y20gPSBjYXIuYXR0ci5ydGNtXHJcblx0XHRcdFx0XHRcdGpzb24udGFnaWQgPSBjYXIuYXR0ci50YWdpZFxyXG5cdFx0XHRcdFx0XHRqc29uLmVuY3J5cHRpb24gPSBjYXIuYXR0ci5lbmNyeXB0aW9uXHJcblx0XHRcdFx0XHRcdGpzb24ucGVyc29ubmFtZSA9IGNhci5hdHRyLnBlcnNvbm5hbWVcclxuXHRcdFx0XHRcdFx0anNvbi5wb3dlciA9IGNhci5hdHRyLnBvd2VyXHJcblx0XHRcdFx0XHRcdGpzb24uaGVpZ2h0ID0gY2FyLmF0dHIuaGVpZ2h0XHJcblx0XHRcdFx0XHRcdGpzb24uZGVwYXJ0bWVudCA9IGNhci5hdHRyLmRlcGFydG1lbnRcclxuXHRcdFx0XHRcdFx0anNvbi5ncHNzdGF0dXMgPSBjYXIuYXR0ci5ncHNzdGF0dXNcclxuXHRcdFx0XHRcdFx0dGhpcy5wZXJsaXN0ID0ganNvblxyXG5cdFx0XHRcdFx0XHR0aGlzLiRvd25lckluc3RhbmNlLmNhbGxNZXRob2QoJ2hhbmRsZU1hcENsaWNrJywgdGhpcy5wZXJsaXN0KTtcclxuXHJcblxyXG5cdFx0XHRcdFx0fSlcclxuXHJcblx0XHRcdFx0XHQvL+a1i+ivleacrOWcsOWbvueJhyBcclxuXHRcdFx0XHRcdC8vIGNvbnN0IGdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHRcdFx0XHRcdC8vIFx0cG9zaXRpb246IFsxMTcuMjI5NjE5LCAzMS42ODYyODgsIDEwMDBdLFxyXG5cdFx0XHRcdFx0Ly8gXHRzdHlsZToge1xyXG5cdFx0XHRcdFx0Ly8gXHRcdGltYWdlOiBcInN0YXRpYy9pbWcvbWFyay1yZWQucG5nXCIsXHJcblx0XHRcdFx0XHQvLyBcdFx0aG9yaXpvbnRhbE9yaWdpbjogQ2VzaXVtLkhvcml6b250YWxPcmlnaW4uQ0VOVEVSLFxyXG5cdFx0XHRcdFx0Ly8gXHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NXHJcblx0XHRcdFx0XHQvLyBcdH0sXHJcblx0XHRcdFx0XHQvLyBcdGF0dHI6IHtcclxuXHRcdFx0XHRcdC8vIFx0XHRyZW1hcms6IFwi56S65L6LMVwiXHJcblx0XHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHRcdC8vIH0pXHJcblx0XHRcdFx0XHQvLyBncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhncmFwaGljKVxyXG5cdFx0XHRcdFx0Ly8gdGhpcy5mZXRjaFBlcnNvbnNMaXN0KClcclxuXHRcdFx0XHRcdC8vIHRoaXMudXBkYXRlVHJhamVjdG9yaWVzKClcclxuXHJcblx0XHRcdFx0XHQvLyB0aGlzLmdldEdQU0Nlc2l1bSgpO1xyXG5cdFx0XHRcdFx0dGhpcy4kb3duZXJJbnN0YW5jZS5jYWxsTWV0aG9kKCdyZWNlaXZlUmVuZGVyRGF0YScsIHRoaXMuZG90KVxyXG5cdFx0XHRcdFx0dGhpcy5mcGxvY2sgPSB0cnVlXHJcblx0XHRcdFx0XHRnbG9iYWxNYXAgPSB0cnVlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMuJG93bmVySW5zdGFuY2UuY2FsbE1ldGhvZCgnaW5pdGxvY2snKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0bWFyc1BvaW50KG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0bWFwLmNhbWVyYS5mbHlUbyh7XHJcblx0XHRcdFx0XHRcdGRlc3RpbmF0aW9uOiBDZXNpdW0uQ2FydGVzaWFuMy5mcm9tRGVncmVlcyhuZXdWYWx1ZS5sb24sIG5ld1ZhbHVlLmxhdCwgNTAwKSwgLy8g55uu5qCH54K557uP57qs5bqm5ZKM6KeG6KeS6auY5bqmXHJcblx0XHRcdFx0XHRcdGR1cmF0aW9uOiAzIC8vIOWKqOeUu+aMgee7reaXtumXtO+8iOenku+8iVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Z2V0bWFyc2ZlbmNlUG9pbnQobmV3VmFsdWUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyg0NDQ0NDQ0NDQ0NDQpO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKG5ld1ZhbHVlKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhuZXdWYWx1ZS5zcGxpdChcIixcIilbMF0pO1xyXG5cdFx0XHRcdGlmICh0aGlzLmZlbmNlcGxvY2sgPT0gZmFsc2UpIHtcclxuXHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAodGhpcy5mcGxvY2sgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHRcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0XHRcdGlmIChPYmplY3Qua2V5cyhuZXdWYWx1ZSkubGVuZ3RoICE9IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcC5jYW1lcmEuZmx5VG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkZXN0aW5hdGlvbjogQ2VzaXVtLkNhcnRlc2lhbjMuZnJvbURlZ3JlZXMobmV3VmFsdWUuc3BsaXQoXCIsXCIpWzBdLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5ld1ZhbHVlLnNwbGl0KFwiLFwiKVsxXSwgNTAwKSwgLy8g55uu5qCH54K557uP57qs5bqm5ZKM6KeG6KeS6auY5bqmd3d3d3d3XHJcblx0XHRcdFx0XHRcdFx0XHRcdGR1cmF0aW9uOiAzIC8vIOWKqOeUu+aMgee7reaXtumXtO+8iOenku+8iVxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmZlbmNlcGxvY2sgPSB0cnVlXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0fSwgMTAwMCk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdH0sXHJcblxyXG5cclxuXHRcdFx0Z2V0RmVuY2VEYXRhZGUobmV3VmFsdWUpIHtcclxuXHRcdFx0XHRpZiAoT2JqZWN0LmtleXMobmV3VmFsdWUpLmxlbmd0aCAhPSAwKSB7XHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZS5jbGVhcigpXHJcblxyXG5cdFx0XHRcdFx0YWRkZWRGZW5jZUlkcyA9IG5ldyBTZXQoKTtcclxuXHRcdFx0XHRcdC8vIGlmICh0aGlzLmZlbmNlaWQgPT0gbmV3VmFsdWUuaWQpIHtcclxuXHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlQmlhbkppZS5jbGVhcigpXHJcblx0XHRcdFx0XHQvL31cclxuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRoYXZlcnNpbmVEaXN0YW5jZShsbmcxLCBsYXQxLCBsbmcyLCBsYXQyKSB7XHJcblxyXG5cclxuXHJcblx0XHRcdFx0Y29uc3QgUiA9IDYzNzFlMzsgLy8g5Zyw55CD5Y2K5b6E77yM5Y2V5L2N77ya57GzXHJcblx0XHRcdFx0Y29uc3Qgz4YxID0gbGF0MSAqIChNYXRoLlBJIC8gMTgwKTtcclxuXHRcdFx0XHRjb25zdCDPhjIgPSBsYXQyICogKE1hdGguUEkgLyAxODApO1xyXG5cdFx0XHRcdGNvbnN0IM6Uz4YgPSAobGF0MiAtIGxhdDEpICogKE1hdGguUEkgLyAxODApO1xyXG5cdFx0XHRcdGNvbnN0IM6UzrsgPSAobG5nMiAtIGxuZzEpICogKE1hdGguUEkgLyAxODApO1xyXG5cclxuXHRcdFx0XHRjb25zdCBhID0gTWF0aC5zaW4ozpTPhiAvIDIpICogTWF0aC5zaW4ozpTPhiAvIDIpICtcclxuXHRcdFx0XHRcdE1hdGguY29zKM+GMSkgKiBNYXRoLmNvcyjPhjIpICpcclxuXHRcdFx0XHRcdE1hdGguc2luKM6UzrsgLyAyKSAqIE1hdGguc2luKM6UzrsgLyAyKTtcclxuXHRcdFx0XHRjb25zdCBjID0gMiAqIE1hdGguYXRhbjIoTWF0aC5zcXJ0KGEpLCBNYXRoLnNxcnQoMSAtIGEpKTtcclxuXHJcblx0XHRcdFx0cmV0dXJuIFIgKiBjO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRGZW5jZURhdGEobmV3VmFsdWUpIHtcclxuXHRcdFx0XHRpZiAoT2JqZWN0LmtleXMobmV3VmFsdWUpLmxlbmd0aCAhPSAwKSB7XHJcblx0XHRcdFx0XHRuZXdWYWx1ZS5mb3JFYWNoKChlLCBpKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChlLmlzcGxheSA9PT0gJzEnKSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKCFhZGRlZEZlbmNlSWRzLmhhcyhlLmlkKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5mZW5jZWlkcyA9IGUuaWQgKyBcIl9mZW5jZVwiXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gfSwgMTAwMCk7XHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgcGFydHMgPSBlLnBvaW50cy5zcGxpdCgnOycpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIHBhcnQgPSBbXVxyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIGZlbmNlID0gW11cclxuXHRcdFx0XHRcdFx0XHRcdHZhciBwb3NpdGlvbnMgPSBbXTsgLy8g5a2Y5YKo5omA5pyJ54K555qE57uP57qs5bqmXHJcblx0XHRcdFx0XHRcdFx0XHQvL+aJgOaciee7j+e6rOW6pueCuVxyXG5cdFx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykge1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0cGFydCA9IHBhcnRzW2ldLnNwbGl0KCcsJyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChwYXJ0Lmxlbmd0aCA+IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgbG5nID0gcGFyc2VGbG9hdChwYXJ0WzBdKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgbGF0ID0gcGFyc2VGbG9hdChwYXJ0WzFdKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbnMucHVzaCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsbmc6IGxuZyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxhdDogbGF0XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGZlbmNlLnB1c2gocGFydFswXSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gZmVuY2UucHVzaChwYXJ0WzFdKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBwYXJ0LnB1c2goJzAnKVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgZ3JhcGhpYyA9IG5ldyBtYXJzM2QuZ3JhcGhpYy5CaWxsYm9hcmRFbnRpdHkoe1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogW3BhcnRbMF0sIHBhcnRbMV0sIDBdLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGlkOiBuZXdWYWx1ZVtlXS5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIG1vZGVsOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQuLi5tb2RlbFBhcmFtLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGltYWdlOiBcInN0YXRpYy9pbWcvcG9uaXQxLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2NhbGU6IDAuNCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxPcmlnaW46IENlc2l1bS5Ib3Jpem9udGFsT3JpZ2luLkNFTlRFUixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdG9ubGluZTogbmV3VmFsdWVbZV0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0bGF0OiBuZXdWYWx1ZVtlXS5sYXQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRsb246IG5ld1ZhbHVlW2VdLmxvbixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdHBwb3dlcjogbmV3VmFsdWVbZV0ucG93ZXIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBiYW9saXU0OiBlLmJhb2xpdTQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRncHNzdGF0dXM6IG5ld1ZhbHVlW2VdLmdwc3N0YXR1cyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdGRlcGFydG1lbnQ6IG5ld1ZhbHVlW2VdLmRlcGFydG1lbnQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRwbmFtZTogbmV3VmFsdWVbZV0ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIHB0YWdpZDogbmV3VmFsdWVbZV0uaWQs44CCXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZUJpYW5KaWUuYWRkR3JhcGhpYyhncmFwaGljKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhsYWJlbCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGFkZGVkQ2FySWRzLmFkZChlLmlkKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gdGhpcy5ncmFwaGljTGFiZWxzaWRzW25ld1ZhbHVlW2VdLmlkXSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRncmFwaGljOiBncmFwaGljLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIGZlbmNlOiBmZW5jZUdyYXBoaWNcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gfTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZmVuY2UucHVzaChwYXJ0KVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgayA9IDA7IGsgPCBwb3NpdGlvbnMubGVuZ3RoOyBrKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIGN1cnJlbnRQb2ludCA9IHBvc2l0aW9uc1trXTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIG5leHRQb2ludCA9IHBvc2l0aW9uc1soayArIDEpICUgcG9zaXRpb25zLmxlbmd0aF07IC8vIOWkhOeQhuacgOWQjuS4gOS4queCueWSjOesrOS4gOS4queCueebuOi/nueahOaDheWGtVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIGRpc3RhbmNlID0gdGhpcy5oYXZlcnNpbmVEaXN0YW5jZShjdXJyZW50UG9pbnQubG5nLCBjdXJyZW50UG9pbnQubGF0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5leHRQb2ludFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC5sbmcsIG5leHRQb2ludC5sYXQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXN0YW5jZSA9IHBhcnNlRmxvYXQoZGlzdGFuY2UudG9GaXhlZCgyKSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBtaWRMbmcgPSAoY3VycmVudFBvaW50LmxuZyArIG5leHRQb2ludC5sbmcpIC8gMjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIG1pZExhdCA9IChjdXJyZW50UG9pbnQubGF0ICsgbmV4dFBvaW50LmxhdCkgLyAyO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyDliJvlu7rkuIDkuKogTGFiZWxFbnRpdHkg5p2l5pi+56S66Led56a7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBsYWJlbEdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuTGFiZWxFbnRpdHkoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBuZXcgbWFyczNkLkxuZ0xhdFBvaW50KG1pZExuZywgbWlkTGF0KSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dDogYCR7ZGlzdGFuY2V9IG1gLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udF9zaXplOiAxNCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnRfd2VpZ2h0OiBcImJvbGRcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBcIiNGRkZGRkZcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmRDb2xvcjogXCIjMDAwMDAwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2aXNpYmxlRGVwdGg6IGZhbHNlLFxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxPcmlnaW46IENlc2l1bS5Ib3Jpem9udGFsT3JpZ2luLkNFTlRFUixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQ0VOVEVSXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VCaWFuSmllLmFkZEdyYXBoaWMobGFiZWxHcmFwaGljKTtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IGNvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgSnVYaW5nY29sb3JGZW5jZSA9IFwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlLnR5cGUgPT0gXCLnpoHlhaXljLpcIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjRjU2RDZFXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlLnR5cGUgPT0gXCLlt6XkvZzljLpcIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjMzc5NURBXCJcclxuXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS50eXBlID09IFwi5a6J5YWo5Yy6XCIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiIzJCRkIyRVwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBmZW5jZUdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuUG9seWdvblByaW1pdGl2ZSh7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbnM6IGZlbmNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsb3N1cmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6IGNvbG9yRmVuY2UsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMC41LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRpZmZIZWlnaHQ6IGUuaGVpZ2h0IC8gMTAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1hdGVyaWFsVHlwZTogbWFyczNkLk1hdGVyaWFsVHlwZS5MaW5lRmxvdyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dDogZS5uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udF9zaXplOiAxOCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lQ29sb3I6IGNvbG9yRmVuY2UsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogXCIjZmZmZmZmXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb246IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb25fZmFyOiA1MDAwMDAsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb25fbmVhcjogMCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHBvc2l0aW9uczogW1tcIjExNi4yODExMTQwXCIsXCIzOS44MzE4NzIwXCJdLFtcIjExNi4yODE3MTYwXCIsXCIzOS44MzE3NzMwXCJdLFtcIjExNi4yODExNzA5XCIsXCIzOS44MzIyMTc5XCJdXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gc3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRjb2xvcjogdGhpcy5wYXJzZUNvbG9yKFwiI0ZGMDAwMFwiKS53aXRoQWxwaGEoMC4zKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRvdXRsaW5lV2lkdGg6IDIsIC8vIOi+ueahhueyl+e7hu+8iOWDj+e0oO+8iVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdG91dGxpbmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0b3V0bGluZUNvbG9yOiB0aGlzLnBhcnNlQ29sb3IoXCIjYjQwMDAwXCIpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIGRpZmZIZWlnaHQ6IG5ld1ZhbHVlW2VdLmhlaWdodCB8fCAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdGxhYmVsOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHR0ZXh0OiBlLm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRmb250X3NpemU6IDE4LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0b3V0bGluZTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdG91dGxpbmVDb2xvcjogXCIjQzcwNzA4XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRjb2xvcjogXCIjZmZmZmZmXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb246IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb25fZmFyOiA1MDAwMDAsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRkaXN0YW5jZURpc3BsYXlDb25kaXRpb25fbmVhcjogMFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0YXR0cjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5hbWU6IGUubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBwdGFnaWQ6IG5ld1ZhbHVlW2VdLmlkLOOAglxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlLmFkZEdyYXBoaWMoZmVuY2VHcmFwaGljKTtcclxuXHRcdFx0XHRcdFx0XHRcdGFkZGVkRmVuY2VJZHMuYWRkKGUuaWQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQubG9nKHRoaXMuZ3JhcGhpY0ZlbmNlKTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZHNdID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBncmFwaGljOiBncmFwaGljLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRmZW5jZTogZmVuY2VHcmFwaGljXHJcblx0XHRcdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBpZiAoYWRkZWRGZW5jZUlkcy5oYXMoZS5pZCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWMoZ3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGRlbGV0ZSB0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF07IC8vIOWIoOmZpOW8leeUqFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBkZWxldGUgdGhpcy5sYWJlbHNbZS5pZF07XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGFkZGVkRmVuY2VJZHMuZGVsZXRlKGUuaWQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyB0aGlzLmdyYXBoaWNMYWJlbHNbZS5hbmNob3JpZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIFx0Z3JhcGhpYzogZ3JhcGhpYzFcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Ly8gfTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pIC8vIOWwhuS8oOmAkui/h+adpeeahOWAvOi1i+WAvOe7mXBvaW50c++8jOi/meagt+WwseWPr+S7peWcqOinhuWbvuWxguS4reS9v+eUqFxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRhZGRlZEZlbmNlSWRzID0gbmV3IFNldCgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0cGFyc2VDb2xvcihjb2xvclN0cikge1xyXG5cdFx0XHRcdHRyeSB7XHJcblx0XHRcdFx0XHRpZiAoQ2VzaXVtLkNvbG9yW2NvbG9yU3RyLnRvVXBwZXJDYXNlKCldKSB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBDZXNpdW0uQ29sb3JbY29sb3JTdHIudG9VcHBlckNhc2UoKV07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRyZXR1cm4gQ2VzaXVtLkNvbG9yLmZyb21Dc3NDb2xvclN0cmluZyhjb2xvclN0cik7XHJcblx0XHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcclxuXHRcdFx0XHRcdHJldHVybiBDZXNpdW0uQ29sb3IuV0hJVEU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Z2V0RHJ3YURhdGEobmV3VmFsdWUpIHtcclxuXHRcdFx0XHR0aGlzLnBsaXN0ID0gW11cclxuXHRcdFx0XHRpZiAodGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXSkge1xyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXS5mZW5jZSk7XHJcblx0XHRcdFx0XHRkZWxldGUgdGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0Zm9yICh2YXIgZSA9IG5ld1ZhbHVlLmxlbmd0aCAtIDE7IGUgPCBuZXdWYWx1ZS5sZW5ndGg7IGUrKykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZlbmNlaWQgPSBuZXdWYWx1ZVtlXS5pZFxyXG5cdFx0XHRcdFx0XHRpZiAobmV3VmFsdWVbZSAtIDFdLmxhdCAhPSB1bmRlZmluZWQgJiYgbmV3VmFsdWVbZV0ubGF0ID09IG5ld1ZhbHVlW2UgLSAxXS5sYXQpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIuaVsOaNrumHjeWkjT09PT09PT09PT0944CL44CL44CL44CL44CL44CL44CL44CLXCIsIG5ld1ZhbHVlW2VdLmxhdCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblxyXG5cdFx0XHRcdFx0XHRcdC8vICAgICAvLyAzLiDpl63lkIjlpJrovrnlvaJcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmNhcnRlc2lhblBvaW50cy5wdXNoKG5ld1ZhbHVlW2VdKTtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0Ly8gW1tcIjExNi4yODExMTQwXCIsXCIzOS44MzE4NzIwXCJdLFtcIjExNi4yODE3MTYwXCIsXCIzOS44MzE3NzMwXCJdLFtcIjExNi4yODExNzA5XCIsXCIzOS44MzIyMTc5XCJdXVxyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGZlbmNlR3JhcGhpYyA9IG5ldyBtYXJzM2QuZ3JhcGhpYy5Qb2x5Z29uUHJpbWl0aXZlKHtcclxuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uczogdGhpcy5jYXJ0ZXNpYW5Qb2ludHMsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBwb3NpdGlvbnM6IFtbXCIxMTYuMjgxMTE0MFwiLFwiMzkuODMxODcyMFwiXSxbXCIxMTYuMjgxNzE2MFwiLFwiMzkuODMxNzczMFwiXSxbXCIxMTYuMjgxMTcwOVwiLFwiMzkuODMyMjE3OVwiXV0sXHJcblx0XHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogdGhpcy5wYXJzZUNvbG9yKFwiI0ZGMDAwMFwiKS53aXRoQWxwaGEoMC4zKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZVdpZHRoOiAyLCAvLyDovrnmoYbnspfnu4bvvIjlg4/ntKDvvIlcclxuXHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZUNvbG9yOiB0aGlzLnBhcnNlQ29sb3IoXCIjYjQwMDAwXCIpLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBkaWZmSGVpZ2h0OiBuZXdWYWx1ZVtlXS5oZWlnaHQgfHwgMCxcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhmZW5jZUdyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZ3JhcGhpY0ZlbmNlW25ld1ZhbHVlW2VdLmlkXSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGdyYXBoaWM6IGdyYXBoaWMsXHJcblx0XHRcdFx0XHRcdFx0XHRmZW5jZTogZmVuY2VHcmFwaGljXHJcblx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0UG9pbnREYXRhKG5ld1ZhbHVlKSB7XHJcblxyXG5cdFx0XHRcdHRoaXMuY2FydGVzaWFuUG9pbnRzID0gW11cclxuXHRcdFx0XHQvLyBpZiAodGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXSkge1xyXG5cdFx0XHRcdC8vIFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXS5mZW5jZSk7XHJcblx0XHRcdFx0Ly8gXHRkZWxldGUgdGhpcy5ncmFwaGljRmVuY2VbdGhpcy5mZW5jZWlkXTtcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0Ly8gaWYgKHRoaXMuZ3JhcGhpY0xhYmVsc2lkc1t0aGlzLmZlbmNlaWRdKSB7XHJcblx0XHRcdFx0Ly8gXHRncmFwaGljTGF5ZXIucmVtb3ZlR3JhcGhpYyh0aGlzLmdyYXBoaWNMYWJlbHNpZHNbdGhpcy5mZW5jZWlkXS5ncmFwaGljKTtcclxuXHRcdFx0XHQvLyBcdGRlbGV0ZSB0aGlzLmdyYXBoaWNMYWJlbHNpZHNbdGhpcy5mZW5jZWlkXTtcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0aWYgKGdyYXBoaWNMYXllckZlbmNlZHJ3YSAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZWRyd2EuY2xlYXIoKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoT2JqZWN0LmtleXMobmV3VmFsdWUpLmxlbmd0aCAhPSAwKSB7XHJcblx0XHRcdFx0XHRmb3IgKHZhciBlID0gMDsgZSA8IG5ld1ZhbHVlLmxlbmd0aDsgZSsrKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZmVuY2VpZCA9IG5ld1ZhbHVlW2VdLmlkXHJcblx0XHRcdFx0XHRcdHRoaXMucGxpc3QgPSBbXVxyXG5cdFx0XHRcdFx0XHR0aGlzLnBsaXN0LnB1c2gobmV3VmFsdWVbZV0ubGF0KVxyXG5cdFx0XHRcdFx0XHR0aGlzLnBsaXN0LnB1c2gobmV3VmFsdWVbZV0ubG9uKVxyXG5cdFx0XHRcdFx0XHQvLyAzLiDpl63lkIjlpJrovrnlvaJcclxuXHRcdFx0XHRcdFx0dGhpcy5jYXJ0ZXNpYW5Qb2ludHMucHVzaCh0aGlzLnBsaXN0KTtcclxuXHRcdFx0XHRcdFx0Ly8g6Ieq5Yqo6Zet5ZCI5aSa6L655b2iXHJcblx0XHRcdFx0XHRcdC8vIFtbXCIxMTYuMjgxMTE0MFwiLFwiMzkuODMxODcyMFwiXSxbXCIxMTYuMjgxNzE2MFwiLFwiMzkuODMxNzczMFwiXSxbXCIxMTYuMjgxMTcwOVwiLFwiMzkuODMyMjE3OVwiXV1cclxuXHRcdFx0XHRcdFx0Y29uc3QgZmVuY2VHcmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLlBvbHlnb25QcmltaXRpdmUoe1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uczogdGhpcy5jYXJ0ZXNpYW5Qb2ludHMsXHJcblx0XHRcdFx0XHRcdFx0Ly8gaWQ6IG5ld1ZhbHVlW2VdLmlkLFxyXG5cdFx0XHRcdFx0XHRcdC8vIHBvc2l0aW9uczogW1tcIjExNi4yODExMTQwXCIsXCIzOS44MzE4NzIwXCJdLFtcIjExNi4yODE3MTYwXCIsXCIzOS44MzE3NzMwXCJdLFtcIjExNi4yODExNzA5XCIsXCIzOS44MzIyMTc5XCJdXSxcclxuXHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6IHRoaXMucGFyc2VDb2xvcihcIiNGRjAwMDBcIikud2l0aEFscGhhKDAuMyksXHJcblx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lV2lkdGg6IDIsIC8vIOi+ueahhueyl+e7hu+8iOWDj+e0oO+8iVxyXG5cdFx0XHRcdFx0XHRcdFx0b3V0bGluZTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdG91dGxpbmVDb2xvcjogdGhpcy5wYXJzZUNvbG9yKFwiI2I0MDAwMFwiKSxcclxuXHRcdFx0XHRcdFx0XHRcdGRpZmZIZWlnaHQ6IG5ld1ZhbHVlW2VdLmhlaWdodCB8fCAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gbGFiZWw6IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vICAgdGV4dDogZS5uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gICBmb250X3NpemU6IDE0LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gICBjb2xvcjogQ2VzaXVtLkNvbG9yLldISVRFLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gICBkaXN0YW5jZURpc3BsYXlDb25kaXRpb246IFswLCA1MDAwMDBdXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHJcblx0XHRcdFx0XHRcdC8vIHRoaXMuZ3JhcGhpY0ZlbmNlW25ld1ZhbHVlW2VdLmlkXSA9IHtcclxuXHRcdFx0XHRcdFx0Ly8gXHQvLyBncmFwaGljOiBncmFwaGljLFxyXG5cdFx0XHRcdFx0XHQvLyBcdGZlbmNlOiBmZW5jZUdyYXBoaWNcclxuXHRcdFx0XHRcdFx0Ly8gfTtcclxuXHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VkcndhLmFkZEdyYXBoaWMoZmVuY2VHcmFwaGljKTtcclxuXHRcdFx0XHRcdFx0Ly/mtYvor5XmnKzlnLDlm77niYdcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy5ncmFwaGljaWRzLnB1c2gobmV3VmFsdWVbZV0uaWQpXHJcblx0XHRcdFx0XHRcdGNvbnN0IGdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFtuZXdWYWx1ZVtlXS5sYXQsIG5ld1ZhbHVlW2VdLmxvbiwgMF0sXHJcblx0XHRcdFx0XHRcdFx0aWQ6IG5ld1ZhbHVlW2VdLmUsXHJcblx0XHRcdFx0XHRcdFx0Ly8gbW9kZWw6IHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdC4uLm1vZGVsUGFyYW0sXHJcblx0XHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0aW1hZ2U6IFwic3RhdGljL2ltZy9wb25pdDEucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRzY2FsZTogMC40LFxyXG5cdFx0XHRcdFx0XHRcdFx0aG9yaXpvbnRhbE9yaWdpbjogQ2VzaXVtLkhvcml6b250YWxPcmlnaW4uQ0VOVEVSLFxyXG5cdFx0XHRcdFx0XHRcdFx0dmVydGljYWxPcmlnaW46IENlc2l1bS5WZXJ0aWNhbE9yaWdpbi5CT1RUT01cclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdG9ubGluZTogbmV3VmFsdWVbZV0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0bGF0OiBuZXdWYWx1ZVtlXS5sYXQsXHJcblx0XHRcdFx0XHRcdFx0XHRsb246IG5ld1ZhbHVlW2VdLmxvbixcclxuXHRcdFx0XHRcdFx0XHRcdHBwb3dlcjogbmV3VmFsdWVbZV0ucG93ZXIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBiYW9saXU0OiBlLmJhb2xpdTQsXHJcblx0XHRcdFx0XHRcdFx0XHRncHNzdGF0dXM6IG5ld1ZhbHVlW2VdLmdwc3N0YXR1cyxcclxuXHRcdFx0XHRcdFx0XHRcdGRlcGFydG1lbnQ6IG5ld1ZhbHVlW2VdLmRlcGFydG1lbnQsXHJcblx0XHRcdFx0XHRcdFx0XHRwbmFtZTogbmV3VmFsdWVbZV0ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHB0YWdpZDogbmV3VmFsdWVbZV0uaWQs44CCXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZWRyd2EuYWRkR3JhcGhpYyhncmFwaGljKVxyXG5cdFx0XHRcdFx0XHQvLyBncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhsYWJlbCk7XHJcblx0XHRcdFx0XHRcdC8vIGFkZGVkQ2FySWRzLmFkZChlLmlkKTtcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy5ncmFwaGljTGFiZWxzaWRzW25ld1ZhbHVlW2VdLmlkXSA9IHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRncmFwaGljOiBncmFwaGljLFxyXG5cdFx0XHRcdFx0XHQvLyBcdC8vIGZlbmNlOiBmZW5jZUdyYXBoaWNcclxuXHRcdFx0XHRcdFx0Ly8gfTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCLmuIXnqbrnu5jliLblm7TmoI9cIik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXREYXRhKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0bGV0IG1vZGVsUGFyYW0gPSB7XHJcblx0XHRcdFx0XHRzY2FsZTogMixcclxuXHRcdFx0XHRcdHVybDogXCJodHRwOi8vMzkuMTA2LjIxMC4xMzo4ODg4L2h4emt1d2Ivdmlldy9Ib21lL21vZGVsL21vZGVsL3dhbGsuZ2x0ZlwiLFxyXG5cdFx0XHRcdFx0cGl0Y2g6IDAsXHJcblx0XHRcdFx0XHRyb2xsOiAwLFxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0bmV3VmFsdWUuZm9yRWFjaCgoZSwgaSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAoZS5vbmxpbmUgPT09ICcxJykge1xyXG5cdFx0XHRcdFx0XHRcdGlmICghYWRkZWRDYXJJZHMuaGFzKGUuaWQpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhcIuaJk+WNsOaVsOaNrj09PT3jgIvjgIvjgIvjgIvjgIvjgIvjgIvjgIvjgIvjgItcIik7XHJcblx0XHRcdFx0XHRcdFx0XHQvL+a1i+ivleacrOWcsOWbvueJh1xyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IGNvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgSnVYaW5nY29sb3JGZW5jZSA9IFwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzMucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS5ncHNzdGF0dXMgPT0gMSkgeyAvL+WNleeCueiTneiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW80LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjMDBhYWZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlID09IDIgfHwgZS5ncHNzdGF0dXMgPT0gLTEgfHwgZS5ncHNzdGF0dXMgPT0gMykgeyAvL+WFtuS7luexu+Wei+eBsOiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8xLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCJyZ2JhKDAsMCwwLDAuNSlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuZ3Bzc3RhdHVzID09IDQpIHsgLy/pq5jnsr7luqbnu7/oibJcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMyMEQ4NUNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuZ3Bzc3RhdHVzID09IDUpIHsgLy/mta7ngrnpu4ToibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMi5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiI2ZmZmYwMFwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBpZiAoZS5iYW9saXUyLnNwbGl0KFwiO1wiKS5pbmRleE9mKFwiMVwiKTwwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzcucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS5iYW9saXUyLnNwbGl0KFwiO1wiKVswXSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzcucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGUuYmFvbGl1Mi5zcGxpdChcIjtcIilbMV0gPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChlLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzJdID09IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdH1lbHNlXHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS53YXJuc3RhdHVzID09IFwiMVwiKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzYucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzIucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBpZiAoZS5iYW9saXUxOSA9PSBcIui9pui9vVwiKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHZhciBpbWcgPSAnc3RhdGljL2ltZy9jYXIxLnBuZydcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHZhciBpbWcgPSAnc3RhdGljL2ltZy9wZXJzb242LnBuZydcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IGdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBbZS5sYXQsIGUubG9uLCAwXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWQ6IGUuaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIG1vZGVsOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Li4ubW9kZWxQYXJhbSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBpbWFnZTogXCJzdGF0aWMvaW1nL3BlcnNvbjUucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aW1hZ2U6IGltZyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzY2FsZTogXCIwLjRcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsT3JpZ2luOiBDZXNpdW0uSG9yaXpvbnRhbE9yaWdpbi5DRU5URVIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxPcmlnaW46IENlc2l1bS5WZXJ0aWNhbE9yaWdpbi5CT1RUT01cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0YXR0cjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9ubGluZTogZS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogZS50eXBlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJhb2xpdTE6IGUuYmFvbGl1MSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRydGNtOiBlLnJ0Y20sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZW5jcnlwdGlvbjogZS5lbmNyeXB0aW9uLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBvd2VyOiBlLnBvd2VyLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogZS5oZWlnaHQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Z3Bzc3RhdHVzOiBlLmdwc3N0YXR1cyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwZGVwYXJ0bWVudDogZS5kZXBhcnRtZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBlcnNvbm5hbWU6IGUucGVyc29ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0YWdpZDogZS50YWdpZCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IGxhYmVsID0gbmV3IG1hcnMzZC5ncmFwaGljLkxhYmVsRW50aXR5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGdyYXBoaWMucG9zaXRpb24sIC8vIOagh+etvueahOS9jee9ruS4juWbvuagh+S9jee9ruebuOWQjFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ6IGUucGVyc29ubmFtZSArIFwiIFwiICsgZS5pZCwgLy8g5qCH562+55qE5paH5pys5YaF5a655Li65aeT5ZCN5ZKM57yW5Y+3XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udDogJzEwcHQgc2Fucy1zZXJpZicsIC8vIOWtl+S9k+agt+W8j1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZpbGxDb2xvcjogXCIjMDAwMDAwXCIsIC8vIOWtl+S9k+minOiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmVDb2xvcjogY29sb3JGZW5jZSwgLy8g5o+P6L656aKc6Imy77yM5L2/5paH5a2X5pu05riF5pmwXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZVdpZHRoOiAyLCAvLyDmj4/ovrnlrr3luqZcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZTogQ2VzaXVtLkxhYmVsU3R5bGUuRklMTF9BTkRfT1VUTElORSwgLy8g6aOO5qC877ya5aGr5YWF5ZKM5o+P6L65XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxPcmlnaW46IENlc2l1bS5WZXJ0aWNhbE9yaWdpbi5CT1RUT00sIC8vIOaWh+Wtl+WcqOWeguebtOaWueWQkeeahOWOn+eCuVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBpeGVsT2Zmc2V0OiBuZXcgQ2VzaXVtLkNhcnRlc2lhbjIoMCwgLVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0MzApIC8vIOaWh+Wtl+WBj+enu+mHj++8jOWQkeS4i+WBj+enuzEw5YOP57SgXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuZ3JhcGhpY0xhYmVsc1tlLmlkXSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIucmVtb3ZlR3JhcGhpYyh0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0uZ3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSB0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF07XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGRlbGV0ZSB0aGlzLmxhYmVsc1tjYXIuaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLmFkZEdyYXBoaWMoZ3JhcGhpYylcclxuXHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5hZGRHcmFwaGljKGxhYmVsKTtcclxuXHRcdFx0XHRcdFx0XHRcdGFkZGVkQ2FySWRzLmFkZChlLmlkKTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZ3JhcGhpY0xhYmVsc1tlLmlkXSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpYzogZ3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGFiZWw6IGxhYmVsXHJcblx0XHRcdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAoYWRkZWRDYXJJZHMuaGFzKGUuaWQpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgY29sb3JGZW5jZSA9IFwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBKdVhpbmdjb2xvckZlbmNlID0gXCJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlLmdwc3N0YXR1cyA9PSAxKSB7IC8v5Y2V54K56JOd6ImyXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzQucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMwMGFhZmZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUgPT0gMiB8fCBlLmdwc3N0YXR1cyA9PSAtMSB8fCBlLmdwc3N0YXR1cyA9PSAzKSB7IC8v5YW25LuW57G75Z6L54Gw6ImyXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzEucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcInJnYmEoMCwwLDAsMC41KVwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS5ncHNzdGF0dXMgPT0gNCkgeyAvL+mrmOeyvuW6pue7v+iJslxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiIzIwRDg1Q1wiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS5ncHNzdGF0dXMgPT0gNSkgeyAvL+a1rueCuem7hOiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8yLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjZmZmZjAwXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuaXNvZmZsaW5lID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgZ3JhcGhpYzEgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogW2UubGF0LCBlLmxvbiwgMF0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ6IGUuaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpbWFnZTogaW1nLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2NhbGU6IFwiMC40XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsT3JpZ2luOiBDZXNpdW0uSG9yaXpvbnRhbE9yaWdpbi5DRU5URVIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbE9yaWdpbjogQ2VzaXVtLlZlcnRpY2FsT3JpZ2luLkJPVFRPTVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0YXR0cjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25saW5lOiBlLmdwc3N0YXR1cyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IGUudHlwZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJhb2xpdTE6IGUuYmFvbGl1MSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJ0Y206IGUucnRjbSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGVuY3J5cHRpb246IGUuZW5jcnlwdGlvbixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBvd2VyOiBlLnBvd2VyLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBlLmhlaWdodCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGdwc3N0YXR1czogZS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwZGVwYXJ0bWVudDogZS5kZXBhcnRtZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGVyc29ubmFtZTogZS5wZXJzb25uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGFnaWQ6IGUudGFnaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIucmVtb3ZlR3JhcGhpYyh0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0uZ3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSB0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF07XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5hZGRHcmFwaGljKGdyYXBoaWMxKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpYzogZ3JhcGhpYzEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIucmVtb3ZlR3JhcGhpYyh0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0uZ3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKHRoaXMuZ3JhcGhpY0xhYmVsc1tlLmlkXS5sYWJlbCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSB0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRhZGRlZENhcklkcy5kZWxldGUoZS5pZCk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KSAvLyDlsIbkvKDpgJLov4fmnaXnmoTlgLzotYvlgLznu5lwb2ludHPvvIzov5nmoLflsLHlj6/ku6XlnKjop4blm77lsYLkuK3kvb/nlKhcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldGdwc0RhdGEobmV3VmFsdWUpIHtcclxuXHRcdFx0XHRsZXQgbW9kZWxQYXJhbSA9IHtcclxuXHRcdFx0XHRcdHNjYWxlOiAyLFxyXG5cdFx0XHRcdFx0dXJsOiBcImh0dHA6Ly8zOS4xMDYuMjEwLjEzOjg4ODgvaHh6a3V3Yi92aWV3L0hvbWUvbW9kZWwvbW9kZWwvd2Fsay5nbHRmXCIsXHJcblx0XHRcdFx0XHRwaXRjaDogMCxcclxuXHRcdFx0XHRcdHJvbGw6IDAsXHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHRpZiAoT2JqZWN0LmtleXMobmV3VmFsdWUpLmxlbmd0aCAhPSAwKSB7XHJcblx0XHRcdFx0XHR2YXIgbGlzdEFMTCA9IG5ld1ZhbHVlO1xyXG5cdFx0XHRcdFx0aWYgKGdyYXBoaWNMYXllciAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5lYWNoR3JhcGhpYygoY2FyKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8g5Y+W5Ye65a+55bqU6L2m6L6G55qE6L2o6L+55YiX6KGoXHJcblx0XHRcdFx0XHRcdFx0dmFyIHBhdGggPSBsaXN0QUxMLmZpbHRlcigoaXRlbSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGl0ZW0uaWQgPT09IGNhci5pZFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdHBhdGguZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIHBvaW50ID0gbmV3IG1hcnMzZC5MbmdMYXRQb2ludChpdGVtLmxhdCwgaXRlbVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQubG9uLCAwKTtcclxuXHRcdFx0XHRcdFx0XHRcdGNhci5hZGREeW5hbWljUG9zaXRpb24ocG9pbnQsIGl0ZW0uYWRkdGllbSk7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdG9sZGdyYXBoaWMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGxhYmVsXHJcblx0XHRcdFx0XHRcdFx0XHR9ID0gdGhpcy5ncmFwaGljTGFiZWxzW2l0ZW0uaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8g56e76Zmk5pen55qE5Zu+5qCH5a6e5L2TXHJcblx0XHRcdFx0XHRcdFx0XHRpZiAodGhpcy5ncmFwaGljTGFiZWxzW2Nhci5pZF0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWMoY2FyKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWMobGFiZWwpO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gaXRlbS5iYW9saXUyLnNwbGl0KFwiO1wiKS5pbmRleE9mKDEpXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0ub25saW5lID09PSAnMScpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGV0IGNvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGxldCBKdVhpbmdjb2xvckZlbmNlID0gXCJcIlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0uZ3Bzc3RhdHVzID09IDEpIHsgLy/ljZXngrnok53oibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW80LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMwMGFhZmZcIlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoaXRlbSA9PSAyIHx8IGl0ZW0uZ3Bzc3RhdHVzID09IC0xIHx8IGl0ZW0uZ3Bzc3RhdHVzID09XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0MykgeyAvL+WFtuS7luexu+Wei+eBsOiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzEucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwicmdiYSgwLDAsMCwwLjUpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoaXRlbS5ncHNzdGF0dXMgPT0gNCkgeyAvL+mrmOeyvuW6pue7v+iJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzMucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiIzIwRDg1Q1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0uZ3Bzc3RhdHVzID09IDUpIHsgLy/mta7ngrnpu4ToibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8yLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiNmZmZmMDBcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKDIyMjIyMjIyKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coaXRlbS5iYW9saXUyKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coaXRlbS5iYW9saXUyLnNwbGl0KFwiO1wiKS5pbmRleE9mKFwiMVwiKSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIikuaW5kZXhPZihcIjFcIik+LTEpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBpZiAoaXRlbS5iYW9saXUyLnNwbGl0KFwiO1wiKS5pbmRleE9mKFwiMVwiKSA8IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzIucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIilbMF0gPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzcucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoaXRlbS5iYW9saXUyLnNwbGl0KFwiO1wiKVsxXSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChpdGVtLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzJdID09IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9ZWxzZSBcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0ud2FybnN0YXR1cyA9PSBcIjFcIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzYucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMi5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8g5Yib5bu65paw55qE5Zu+5qCH5a6e5L2TXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnN0IG5ld0dyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogW2l0ZW0ubGF0LCBpdGVtLmxvbiwgMF0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWQ6IGl0ZW0uaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGltYWdlOiBcInN0YXRpYy9pbWcvcGVyc29uNS5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGltYWdlOiBpbWcsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzY2FsZTogXCIwLjRcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxPcmlnaW46IENlc2l1bS5Ib3Jpem9udGFsT3JpZ2luXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC5DRU5URVIsXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxPcmlnaW46IENlc2l1bS5WZXJ0aWNhbE9yaWdpbi5CT1RUT00sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBwaXhlbE9mZnNldDogbmV3IENlc2l1bS5DYXJ0ZXNpYW4yKDAsIDEwKSwgLy8g5ZCR5LiL5YGP56e7NTDlg4/ntKBcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9ubGluZTogaXRlbS5vbmxpbmUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBpdGVtLnR5cGUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRiYW9saXUxOiBpdGVtLmJhb2xpdTEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRlbmNyeXB0aW9uOiBpdGVtLmVuY3J5cHRpb24sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRydGNtOiBpdGVtLnJ0Y20sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwb3dlcjogaXRlbS5wb3dlcixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogaXRlbS5oZWlnaHQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRncHNzdGF0dXM6IGl0ZW0uZ3Bzc3RhdHVzLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGVwYXJ0bWVudDogaXRlbS5kZXBhcnRtZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGVyc29ubmFtZTogaXRlbS5wZXJzb25uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGFnaWQ6IGl0ZW0udGFnaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBuZXdsYWJlbCA9IG5ldyBtYXJzM2QuZ3JhcGhpYy5MYWJlbEVudGl0eSh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHBvaW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0OiBpdGVtLnBlcnNvbm5hbWUgKyBcIiBcIiArIGl0ZW0udGFnaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb250OiAnMTBwdCBzYW5zLXNlcmlmJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZpbGxDb2xvcjogXCIjMDAwMDAwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lQ29sb3I6IGNvbG9yRmVuY2UsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lV2lkdGg6IDIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZTogQ2VzaXVtLkxhYmVsU3R5bGUuRklMTF9BTkRfT1VUTElORSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGl4ZWxPZmZzZXQ6IG5ldyBDZXNpdW0uQ2FydGVzaWFuMigwLCAtMzApXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8g5re75Yqg5qCH562+5Yiw5Zu+5bGC5bm25a2Y5YKo5byV55SoXHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5hZGRHcmFwaGljKG5ld2xhYmVsKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8g5re75Yqg5paw55qE5Zu+5qCH5a6e5L2T5Yiw5Zu+5bGCXHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5hZGRHcmFwaGljKG5ld0dyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmdyYXBoaWNMYWJlbHNbaXRlbS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpYzogbmV3R3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogbmV3bGFiZWxcclxuXHRcdFx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly/ph43lhpljZXNpdW3mjqXlj6NcclxuXHRcdFx0cmV3cml0ZUNlc2l1bVNvdXJjZXMoQ2VzaXVtKSB7XHJcblx0XHRcdFx0Y29uc3QgbG9hZEltYWdlRWxlbWVudF9vbGQgPSBDZXNpdW0uUmVzb3VyY2UuX0ltcGxlbWVudGF0aW9ucy5sb2FkSW1hZ2VFbGVtZW50O1xyXG5cdFx0XHRcdENlc2l1bS5SZXNvdXJjZS5fSW1wbGVtZW50YXRpb25zLmxvYWRJbWFnZUVsZW1lbnQgPSBmdW5jdGlvbih1cmwsIGNyb3NzT3JpZ2luLCBkZWZlcnJlZCkge1xyXG5cdFx0XHRcdFx0Ly8g5L+u5pS55pys5ZywZmlsZeacrOWcsOaWh+S7tumcgOimgeiuvue9rui3qOWfn++8iHVuaWFwcOeOr+Wig+etie+8iVxyXG5cdFx0XHRcdFx0aWYgKHVybC5zdGFydHNXaXRoKCdmaWxlJykpIHtcclxuXHRcdFx0XHRcdFx0Y3Jvc3NPcmlnaW4gPSB0cnVlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKCF1cmwuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XHJcblx0XHRcdFx0XHRcdGNyb3NzT3JpZ2luID0gdHJ1ZTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRyZXR1cm4gbG9hZEltYWdlRWxlbWVudF9vbGQodXJsLCBjcm9zc09yaWdpbiwgZGVmZXJyZWQpO1xyXG5cdFx0XHRcdH07XHJcblxyXG5cdFx0XHRcdGNvbnN0IGNvbnRhaW5zX29sZCA9IENlc2l1bS5UcnVzdGVkU2VydmVycy5jb250YWlucztcclxuXHRcdFx0XHRDZXNpdW0uVHJ1c3RlZFNlcnZlcnMuY29udGFpbnMgPSBmdW5jdGlvbih1cmwpIHtcclxuXHRcdFx0XHRcdC8vIOS/ruaUueacrOWcsGZpbGXmnKzlnLDmlofku7bpnIDopoHorr7nva7ot6jln5/vvIh1bmlhcHDnjq/looPnrYnvvIlcclxuXHRcdFx0XHRcdGlmICh1cmwuc3RhcnRzV2l0aCgnZmlsZScpKSB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVybiBjb250YWluc19vbGQuYmluZCh0aGlzKSh1cmwpO1xyXG5cdFx0XHRcdH07XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDliqDovb3otYTmupBcclxuXHRcdFx0bG9hZFNvdXJjZShsb2FkUXVlZW4pIHtcclxuXHRcdFx0XHRjb25zdCBzdGVwT25lID0gKHJlc29sdmUpID0+IHtcclxuXHRcdFx0XHRcdGlmIChsb2FkUXVlZW4ubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHRcdGNvbnN0IGRlcCA9IGxvYWRRdWVlbi5zaGlmdCgpXHJcblxyXG5cdFx0XHRcdFx0XHRsZXQgbG9hZGVyXHJcblx0XHRcdFx0XHRcdGlmIChkZXAuZW5kc1dpdGgoXCIuY3NzXCIpKSB7XHJcblx0XHRcdFx0XHRcdFx0bG9hZGVyID0gdGhpcy5sb2FkTGluayhkZXApXHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0bG9hZGVyID0gdGhpcy5sb2FkU2NyaXB0KGRlcClcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0bG9hZGVyLnRoZW4oKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHN0ZXBPbmUocmVzb2x2ZSlcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHJlc29sdmUodHJ1ZSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG5cdFx0XHRcdFx0c3RlcE9uZShyZXNvbHZlKVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDliqDovb1zY3JwaXRcclxuXHRcdFx0bG9hZFNjcmlwdChzcmMsIGFzeW5jID0gdHJ1ZSkge1xyXG5cdFx0XHRcdGNvbnN0ICRzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpXHJcblx0XHRcdFx0JHNjcmlwdC5hc3luYyA9IGFzeW5jXHJcblx0XHRcdFx0JHNjcmlwdC5zcmMgPSBzcmNcclxuXHRcdFx0XHRkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKCRzY3JpcHQpXHJcblx0XHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHRcdCRzY3JpcHQub25sb2FkID0gKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXNvbHZlKHRydWUpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdC8vIOWKoOi9vXNjcnBpdFxyXG5cdFx0XHRsb2FkTGluayhzcmMpIHtcclxuXHRcdFx0XHRjb25zdCAkbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIpXHJcblx0XHRcdFx0JGxpbmsucmVsID0gXCJzdHlsZXNoZWV0XCJcclxuXHRcdFx0XHQkbGluay5ocmVmID0gc3JjXHJcblx0XHRcdFx0ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCgkbGluaylcclxuXHRcdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHRcdFx0JGxpbmsub25sb2FkID0gKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXNvbHZlKHRydWUpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdC5zZWFyY2hiZyB7XHJcblx0XHR3aWR0aDogJzUwJSc7XHJcblx0XHRsZWZ0OiAnMjUlJztcclxuXHRcdHBvc2l0aW9uOiAnYWJzb2x1dGUnO1xyXG5cdFx0ei1pbmRleDogOTk5OTk5OTk7XHJcblx0fVxyXG5cclxuXHJcblx0LmNvbnRlbnQge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///412\n"); |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _success = _interopRequireDefault(__webpack_require__(/*! @/components/success.vue */ 102));\nvar _api = __webpack_require__(/*! @/config/api.js */ 115);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 = {\n components: {\n successCom: _success.default\n },\n data: function data() {\n return {\n warnlist: [],\n warnidlist: [],\n labelWidth: 100,\n pointlock: false,\n //踩点获取数据开关\n pointcontent: '',\n pointdisabled: false,\n pointlist: [0, 1, 2, 3],\n pointnum: 4,\n pointdrawshow: false,\n end: false,\n ldrawshow: false,\n ldrawtitle: '操作提示:',\n ldrawcontent: '请手持终端,等待RTK绿色后行走为一个闭合围栏。准备完毕后点击开始绘制,完成后点击结束绘制',\n isperties: true,\n drawway: '打点绘制',\n content: '请先输入终端编号',\n disabled: true,\n savefence: false,\n bumenList: [],\n show1: false,\n show2: false,\n typeList: [{\n text: '保护区'\n }, {\n text: '禁入区'\n }, {\n text: '工作区'\n }, {\n text: '安全区'\n }],\n warnmesList: [{\n text: '出去告警'\n }, {\n text: '进入告警'\n }, {\n text: '工作区'\n }, {\n text: '安全区'\n }],\n list: [[0, 1], [2, 3], [4, 5]],\n zuobiaolist: [['', '', '', ''],\n // height1:'',\n ['', '', '', ''], ['', '', '', ''],\n // height1:'',\n ['', '', '', '']\n // height3:'',\n ],\n\n saglist: [['', '', '', ''], ['', '', '', ''], ['', '', '', '']\n\n // height3:'',\n ],\n\n // list: [\n // \t[\n // \t\t0, 1\n // \t],\n // \t[\n // \t\t2, 3\n // \t],\n // \t[\n // \t\t4, 5\n // \t]\n // ],\n\n // zuobiaolist: [\n // \t[\n // \t\t'1A', '1B', '1','11'\n // \t],\n // \t// height1:'',\n // \t[\n // \t\t'2A', '2B', '2','22'\n // \t],\n // \t[\n // \t\t'3A', '3B', '3','33'\n // \t],\n // \t// height1:'',\n // \t[\n // \t\t'4A', '4B', '4','44'\n // \t],\n // \t// height3:'',\n // ],\n // saglist: [\n // \t[\n // \t\t'H5A', 'H5B', '5','55'\n // \t],\n // \t[\n // \t\t'H6A', 'H6B', '6','66'\n // \t],\n // \t[\n // \t\t'H7A', 'H7B', '7','77'\n // \t],\n\n // \t// height3:'',\n // ],\n tanum: 2,\n color1: '#e2e2e2',\n color2: '#8b8b8b',\n color5: '#8b8b8b',\n color10: '#8b8b8b',\n color20: '#8b8b8b',\n color50: '#8b8b8b',\n color100: '#8b8b8b',\n sudu: 'x1',\n plackTime: '',\n dqnum: '',\n lockguiji: false,\n shownotify: true,\n cancelText: '暂停',\n isRunning: true,\n plackControl: '',\n countNum: 0,\n LocusData: '',\n // isPlack: false,\n value: '',\n startdatetime: '',\n stopdatetime: '',\n rangeLevel: [{\n value: '0.95m',\n text: '10kV(0.95m)'\n }, {\n value: '1.05m',\n text: '20kV(1.05m)'\n }, {\n value: '1.15m',\n text: '35kV(1.15m)'\n }, {\n value: '1.4m',\n text: '66kV(1.4m)'\n }, {\n value: '1.65m',\n text: '110kV(1.65m)'\n }, {\n value: '2.55m',\n text: '220kV(2.55m)'\n }, {\n value: '3.25m',\n text: '330kV(3.25m)'\n }, {\n value: '4.66m',\n text: '500kV(4.55m)'\n }, {\n value: '6.70m',\n text: '750kV(6.70m)'\n }, {\n value: '8.25m',\n text: '1000kV(8.25m)'\n }],\n rules2: {\n 'name': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写围栏名称',\n trigger: ['blur', 'change']\n },\n 'code': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写终端编号',\n trigger: ['blur', 'change']\n },\n 'type': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请选择围栏类型',\n trigger: ['blur', 'change']\n },\n 'department': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请选择关联部门',\n trigger: ['blur', 'change']\n },\n 'distance': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写预警距离',\n trigger: ['blur', 'change']\n },\n 'nowarnmes': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写预警语音',\n trigger: ['blur', 'change']\n },\n 'warnmes': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写告警语音',\n trigger: ['blur', 'change']\n },\n 'dianya': {\n type: 'string',\n // max: 1,\n required: true,\n message: '请填写电压等级',\n trigger: ['blur', 'change']\n }\n },\n radiolist2: [{\n name: '打点绘制',\n disabled: true\n }, {\n name: '连续绘制',\n disabled: false\n // },\n // {\n // \tname: '5小时',\n // \tdisabled: false\n }],\n\n radiolist1: [{\n name: '输电作业',\n disabled: false\n }, {\n name: '变电作业',\n disabled: true\n // },\n // {\n // \tname: '5小时',\n // \tdisabled: false\n }],\n\n boStart: 0,\n // u-radio-group的v-model绑定的值如果设置为某个radio的name,就会被默认选中\n radiovalue1: '',\n code: '',\n isplay: false,\n digao: '',\n latlon: '',\n model: {\n points: '',\n fenceFloorHe: '-1',\n //围栏底高\n height: '',\n //围栏高\n lineHeight: '-1',\n //导线高\n company: this.company,\n perCompany: '',\n addperson: this.username,\n // // userInfo: {\n name: '',\n juli: '',\n type: '',\n department: '',\n distance: '0',\n dianya: '',\n // fencetype:'',//围栏性质\n isplay: '0',\n nowarnmes: '',\n warnmes: '',\n fencetype: '变电作业'\n // },\n },\n\n drawshow: false,\n checked: false,\n guijishow: false,\n show: false,\n amapsuduPoints: 0,\n amapendGuijiPoints: '',\n amapGuijiPoints: [],\n amapFencePoints: [],\n amapdeFencePoints: {},\n keyword: '',\n topheight: 55,\n threeortwo: [],\n amapPoints: [],\n // 这就是我们需要向视图层传递的数据\n amapPointData: [],\n // 这就是我们需要向视图层传递的数据\n amapldrawData: [],\n amapGPSPoints: [],\n marsset: {},\n point: {},\n drawlist: [],\n longitude: '',\n latitude: '',\n show4: false,\n showtagid: false,\n tagidlist: [],\n tagonlie: '',\n skeletonHeight: '',\n buttonTop: 0,\n // 按钮的 top 位置\n buttonLeft: 0 // 按钮的 left 位置\n };\n },\n\n props: {\n fenceposition: {\n type: String\n // default: 60\n }\n },\n mounted: function mounted() {\n var _this = this;\n __f__(\"log\", this.fenceposition, \" at pages/index/ditu.vue:662\");\n this.getLocation();\n this.warnidlist = [];\n this.warnlist = [];\n this.findtagidall();\n this.findbumenall();\n this.initMap();\n // this.updateButtonPosition(); // 初始化按钮位置\n // window.addEventListener('resize', this.updateButtonPosition); // 监听窗口大小变化\n this.$nextTick(function () {\n // 获取系统信息\n var systemInfo = uni.getSystemInfoSync();\n _this.skeletonHeight = systemInfo.safeArea.height;\n _this.buttonTop = _this.skeletonHeight - 224;\n _this.buttonLeft = 15;\n // this.webHeight = this.skeletonHeight - this.tabBarHeight\n\n // this.vuex_status_bar_height = this.webHeight\n // this.currentIndex = 2\n });\n\n this.threeortwo.push(this.is3wei);\n // this.amapPoints = []\n // this.amapBasePoints = []\n // this.amapFencePoints = []\n\n // this.amapGuijiPoints = []\n // this.amapendGuijiPoints = ''\n this.topheight = this.vuex_custom_bar_height + 15;\n },\n methods: {\n // updateButtonPosition() {\n // \t\t const windowHeight = window.innerHeight;\n // \t\t\t\tconsole.log(windowHeight);\n // \t\t const windowWidth = window.innerWidth;\n // \t\t this.buttonTop = windowHeight-279 ;\n // \t\t this.buttonLeft = 15;\n // \t\t\t\tconsole.log(this.buttonTop);\n // \t\t },\n findtagidall: function findtagidall() {\n var _this2 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtagid)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:713\");\n if (res.code == 0) {\n _this2.tagidlist = res.data.map(function (item) {\n return {\n value: item.online,\n label: item.tagid\n };\n });\n } else {\n _this2.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n confirmtagid: function confirmtagid(e) {\n this.code = e[0].label;\n // this.tagonlie = e[0].value\n this.seachcode();\n },\n changeRangeLevel: function changeRangeLevel(e) {\n __f__(\"log\", e, \" at pages/index/ditu.vue:736\");\n // console.log(this.model.juli);\n this.model.juli = this.rangeLevel[e].text;\n // if (this.model.juli != '') {\n this.model.dianya = this.rangeLevel[e].value.split(\"m\")[0];\n // }\n // this.dianya = e;\n // this.model.dianya = e.split(\"m\")[0];\n },\n getLocation: function getLocation() {\n uni.getLocation({\n type: 'wgs84',\n success: function success(res) {\n __f__(\"log\", '当前位置的经度:' + res.longitude, \" at pages/index/ditu.vue:749\");\n __f__(\"log\", '当前位置的纬度:' + res.latitude, \" at pages/index/ditu.vue:750\");\n }\n });\n },\n onchange: function onchange(e) {\n var list = [];\n if (this.pointlist.length < e.value) {\n for (var i = this.pointlist.length; i < e.value; i++) {\n list.push(i);\n this.pointlist.push(i);\n // e[i]\n }\n } else {\n this.pointlist.splice(e.value, this.pointlist.length - e.value);\n }\n },\n radioChange: function radioChange(n) {\n if (n == '变电作业') {\n this.isperties = true;\n } else {\n this.isperties = false;\n }\n },\n seachcode: function seachcode(e) {\n var _this3 = this;\n this.drawlist = [];\n var params = {\n id: this.code,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtagIdPerson)(params).then(function (res) {\n if (res.data != null) {\n _this3.tagonlie = res.data.online;\n if (res.data.gpsstatus == '4') {\n _this3.disabled = false;\n _this3.content = '';\n _this3.pointcontent = '';\n _this3.digao = res.data.height;\n // this.end = true\n if (_this3.end == true) {\n _this3.model.points += res.data.lat + \":\" + res.data.lon + \";\";\n _this3.drawlist.push(res.data.lat);\n _this3.drawlist.push(res.data.lon);\n _this3.amapldrawData.push(_this3.drawlist);\n }\n // if (this.pointlock == true) {\n // \tthis.amapPointData.push(res.data)\n\n // \tthis.pointlock = false\n // }\n } else {\n _this3.content = '设备非高精';\n _this3.disabled = true;\n _this3.pointcontent = '设备非高精';\n }\n } else {\n _this3.disabled = true;\n _this3.content = '未搜索到设备';\n _this3.pointcontent = '未搜索到设备';\n }\n });\n setTimeout(function () {\n // \t//5秒播放一次\n _this3.seachcode();\n }, 1000);\n },\n isopen: function isopen(e) {\n if (e == true) {\n this.model.isplay = '1';\n } else {\n this.model.isplay = '0';\n }\n },\n findbumenall: function findbumenall() {\n var _this4 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbumen)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:838\");\n if (res.code == 0) {\n _this4.bumenList = res.data.map(function (item) {\n return {\n value: item.name,\n text: item.name\n };\n });\n } else {\n _this4.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n typeCallback: function typeCallback(index) {\n var _this5 = this;\n var params = {\n type: this.typeList[index].text\n };\n (0, _api.findWarnmes)(params).then(function (res) {\n if (res.code == 0) {\n // nowarnmes: '靠近危险请注意',\n // warnmes: '进入危险区域请注意',\n // if (res.data.type == \"工作区\") {\n // \tthis.model.nowarnmes = res.data.nowarnmes + \";\" + res.data.nowarnmestype\n // \tthis.model.warnmes = res.data.warnmes + \";\" + res.data.warnmestype\n // } else {\n _this5.model.nowarnmes = res.data.nowarnmes;\n _this5.model.warnmes = res.data.warnmes;\n // }\n } else {}\n });\n this.model.type = this.typeList[index].text;\n },\n bymenCallback: function bymenCallback(index) {\n this.model.department = this.bumenList[index].text;\n },\n acquisitionxy: function acquisitionxy(index, i, name) {\n var _this6 = this;\n var params = {\n baoliu3: this.code,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n __f__(\"log\", params, \" at pages/index/ditu.vue:885\");\n if (this.vuex_is_login) {\n (0, _api.acquisition)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/ditu.vue:888\");\n if (res.code == 0) {\n if (_this6.model.fencetype == '变电作业') {\n // this.model.points += res.data.lat + \":\" + res.data.lon + \";\"\n _this6.pointlist.splice(index, 1, res.data.lat + \":\" + res.data.lon);\n __f__(\"log\", _this6.pointlist, \" at pages/index/ditu.vue:893\");\n _this6.amapPointData.splice(index, 1, res.data);\n // this.amapPointData.push(res.data)\n // this.amapPointData = this.pointlist\n _this6.pointlock = true;\n } else {\n __f__(\"log\", name, \" at pages/index/ditu.vue:899\");\n if (name == 'zb') {\n __f__(\"log\", index, \" at pages/index/ditu.vue:901\");\n __f__(\"log\", i, \" at pages/index/ditu.vue:902\");\n _this6.zuobiaolist[index - 1][i] = res.data.lat + \":\" + res.data.lon + \";\";\n _this6.zuobiaolist[index - 1][2] = res.data.height;\n _this6.amapPointData.splice(index + i, 1, res.data);\n } else {\n _this6.saglist[index - 1][i] = res.data.lat + \":\" + res.data.lon + \";\";\n _this6.saglist[index - 1][2] = res.data.height;\n }\n }\n } else {\n _this6.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n valChange: function valChange(e) {\n __f__(\"log\", '当前值为: ' + e.value, \" at pages/index/ditu.vue:925\");\n },\n initlock: function initlock() {\n this.fetchPersonsList();\n this.fetchFenceList();\n },\n closemodal: function closemodal() {\n this.drawshow = false;\n },\n cancelmodal: function cancelmodal() {\n this.drawshow = false;\n },\n cancelsave: function cancelsave() {\n this.savefence = false;\n this.drawshow = true;\n },\n save: function save() {\n var _this7 = this;\n this.model.company = this.company;\n this.model.addperson = this.vuex_user;\n this.model.perCompany = this.company;\n if (this.model.fencetype == '输电作业') {\n this.model.points = this.zuobiaolist;\n var hei = '';\n var num = this.tanum - 1;\n var result = '';\n //根据塔数循环查询塔和弧垂的坐标A数据,根据第一条塔,第二条弧垂把数据拼接起来\n for (var _i = 0; _i < this.tanum; _i++) {\n result += this.zuobiaolist[_i][0];\n if (_i < num) {\n result += this.saglist[_i][0];\n }\n hei += this.zuobiaolist[_i][2] + \":\" + this.zuobiaolist[_i][3] + ';';\n if (_i < num) {\n hei += this.saglist[_i][2] + \":\" + this.saglist[_i][3] + ';';\n }\n\n // hei += this.zuobiaolist[i][3];\n // if (i < num) {\n // \thei += this.saglist[i][3];\n // }\n }\n //从最后一条查询点位B第一条塔,第二条弧垂拼接,最后把两组数据拼接起来\n for (var _i2 = this.tanum - 1; _i2 >= 0; _i2--) {\n result += this.zuobiaolist[_i2][1];\n if (_i2 >= 1) {\n result += this.saglist[_i2 - 1][1];\n }\n\n // hei += this.zuobiaolist[i][2];\n // if (i >= 1) {\n // \thei += this.saglist[i - 1][2];\n // }\n\n hei += this.zuobiaolist[_i2][2] + \":\" + this.zuobiaolist[_i2][3] + ';';\n if (_i2 >= 1) {\n hei += this.saglist[_i2 - 1][2] + \":\" + this.saglist[_i2 - 1][3] + ';';\n }\n }\n __f__(\"log\", result, \" at pages/index/ditu.vue:987\");\n __f__(\"log\", hei, \" at pages/index/ditu.vue:988\");\n this.model.points = result;\n this.model.lineHeight = hei;\n } else {\n var _result = '';\n for (var i = 0; i < this.pointlist.length; i++) {\n _result += this.pointlist[i] + \";\";\n }\n this.model.points = _result;\n }\n this.$refs.uForm.validate().then(function (res) {\n uni.$u.toast('校验通过');\n (0, _api.submitper)(_this7.model).then(function (res) {\n if (res.code == 0) {\n _this7.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"保存成功\"\n });\n _this7.savefence = false;\n _this7.amapldrawData = [];\n _this7.amapPointData = [];\n } else {\n _this7.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.data\n });\n }\n });\n // this.savefence = false\n }).catch(function (errors) {\n // uni.$u.toast('校验失败')\n });\n // this.savefence = false\n },\n formatDate: function formatDate(date) {\n var year = date.getFullYear();\n var month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始\n var day = String(date.getDate()).padStart(2, '0');\n var hours = String(date.getHours()).padStart(2, '0');\n var minutes = String(date.getMinutes()).padStart(2, '0');\n var seconds = String(date.getSeconds()).padStart(2, '0');\n return year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n },\n startdraw: function startdraw() {\n if (this.code == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请输入终端编号'\n });\n } else {\n //选择变电作业\n if (this.isperties == false) {\n for (var i = 0; i < this.tanum; i++) {\n if (this.zuobiaolist[i][0] == '' && this.zuobiaolist[i][1] == '') {\n // lock = true\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请先打点'\n });\n } else if (this.zuobiaolist[i][2] == '') {\n this.$refs.refSuccess.showBox({\n type: 'error',\n txt: '请输入导线高'\n });\n // lock = false\n } else {\n this.drawshow = false;\n this.savefence = true;\n }\n }\n } else {\n if (this.drawway == \"连续绘制\") {\n this.drawshow = false;\n this.ldrawshow = true;\n } else {\n this.drawshow = false;\n this.pointdrawshow = true;\n }\n }\n }\n },\n cancelpoint: function cancelpoint() {\n this.drawshow = true;\n this.pointdrawshow = false;\n },\n savepoint: function savepoint() {\n this.pointdrawshow = false;\n this.savefence = true;\n },\n fenceHe: function fenceHe() {\n //获取围栏底高\n this.model.fenceFloorHe = this.digao;\n },\n endsave: function endsave() {\n this.end = false;\n this.savefence = true;\n },\n ldrawcancel: function ldrawcancel() {\n this.drawshow = true;\n this.ldrawshow = false;\n },\n ldrawconfirm: function ldrawconfirm() {\n this.ldrawshow = false;\n this.end = true;\n // this.model.points += this.latlon\n },\n change: function change(e) {\n this.amapsuduPoints = e;\n },\n draw: function draw() {\n if (this.vuex_is_login == true) {\n this.drawshow = true;\n this.savefence = false;\n }\n },\n zoom: function zoom() {\n this.show = !this.show;\n },\n receiveRenderData: function receiveRenderData(val) {\n this.fetchPersonsList();\n this.updateTrajectories();\n this.fetchFenceList();\n },\n searchxinxi: function searchxinxi() {\n var _this8 = this;\n var params = {\n name: this.keyword,\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findPerson)(params).then(function (res) {\n if (res.code == 0) {\n var targetPoint = {};\n targetPoint.lat = res.data.lon;\n targetPoint.lon = res.data.lat;\n _this8.point = targetPoint;\n } else {\n _this8.$refs.refSuccess.showBox({\n type: 'error',\n txt: res.msg\n });\n }\n });\n }\n },\n handleMapClick: function handleMapClick(e) {\n this.$emit('mars3dc', e);\n },\n guijiClick: function guijiClick(e) {\n this.dqnum = e.dqnum;\n this.plackTime = e.plackTime;\n },\n initMap: function initMap() {\n var _this9 = this;\n // if (this.vuex_is_login) { \n (0, _api.MarsHome)().then(function (rep) {\n if (_this9.lonlat != '') {\n rep.data[0].mapposition = _this9.lonlat;\n }\n _this9.marsset = rep.data[0];\n });\n // }\n },\n fetchFenceList: function fetchFenceList() {\n var _this10 = this;\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n if (uni.getStorageSync('isfence') == true) {\n (0, _api.findAllFence)(params).then(function (res) {\n if (res.data != null) {\n var filteredData = res.data.filter(function (item) {\n return item.isplay === 0;\n });\n if (filteredData != null) {\n _this10.amapdeFencePoints = filteredData;\n }\n if (_this10.amapFencePoints.length > res.data.length) {\n //当有围栏删除时调用地图把围栏全部删除\n var missingData = _this10.amapFencePoints.filter(function (item1) {\n return !res.data.some(function (item2) {\n return item2.id === item1.id;\n });\n });\n _this10.amapdeFencePoints = missingData;\n }\n _this10.amapFencePoints = res.data;\n }\n });\n } else {\n this.amapFencePoints = [];\n }\n }\n setTimeout(function () {\n //5秒播放一次\n _this10.fetchFenceList();\n }, 5000);\n },\n fetchPersonsList: function fetchPersonsList() {\n var _this11 = this;\n this.amapPoints = [];\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.getGPSCesium)(params).then(function (res) {\n if (res.data != null) {\n _this11.amapPoints = res.data;\n for (var i = 0; i < res.data.length; i++) {\n // res.data[i].online==1\n if (res.data[i].online == \"1\") {\n __f__(\"log\", _this11.zystate, \" at pages/index/ditu.vue:1210\");\n __f__(\"log\", _this11.warnlist, \" at pages/index/ditu.vue:1211\");\n if (_this11.zystate == 'START') {\n // if (res.data.filter(item => item.warnstatus == '1').length > 0) {\n // \t\tif (this.warnidlist.indexOf(res.data[i].warnstatus=='1') < 0) {\n // \t\t\tthis.warnlist.push(res.data.filter(item => item.warnstatus == '1')[\n // \t\t\t\t\t0].tagid +\n // \t\t\t\t\"进入预警区域请注意\")\n // \t\t\tthis.warnidlist.push(res.data.filter(item => item.warnstatus ==\n // \t\t\t\t'1')[0].tagid)\n // \t\t} else {\n\n // \t\t\tthis.warnlist.splice(this.warnidlist.indexOf(res.data.filter(\n // \t\t\t\t\t\titem => item.warnstatus !=\n // \t\t\t\t\t\t'1')[0] \n // \t\t\t\t\t.tagid),\n // \t\t\t\t1)\n // \t\tthis.warnidlist.splice(this.warnidlist.indexOf(res.data.filter(item =>\n // \t\t\t\t\titem.warnstatus !=\n // \t\t\t\t\t'1')[0]\n // \t\t\t\t.tagid),\n // \t\t\t1)\n // }\n // }\n __f__(\"log\", _this11.warnidlist.indexOf(res.data[i].tagid), \" at pages/index/ditu.vue:1234\");\n if (_this11.warnidlist.indexOf(res.data[i].tagid) < 0) {\n if (res.data[i].warnstatus == '1') {\n _this11.warnlist.push(res.data[i].tagid + \"进入预警区域请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[0] == 1) {\n _this11.warnlist.push(res.data[i].tagid + \"进入禁入区请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[1] == 0) {\n _this11.warnlist.push(res.data[i].tagid + \"超范围请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n } else if (res.data[i].baoliu2.split(\";\")[2] == 1) {\n _this11.warnlist.push(res.data[i].tagid + \"超高请注意\");\n _this11.warnidlist.push(res.data[i].tagid);\n }\n } else {\n if (res.data[i].baoliu2.split(\";\")[0] == 1) {} else if (res.data[i].baoliu2.split(\";\")[1] == 0) {} else if (res.data[i].baoliu2.split(\";\")[2] == 1) {} else if (res.data[i].warnstatus == '1') {} else {\n _this11.warnlist.splice(_this11.warnidlist.indexOf(res.data[i].tagid), 1);\n _this11.warnidlist.splice(_this11.warnidlist.indexOf(res.data[i].tagid), 1);\n }\n }\n var filteredData = res.data.filter(function (item) {\n return item.online === \"1\" && item.gpsstatus !== \"4\" && (item.baoliu1 === '手持标签' || item.baoliu1 === '车载标签');\n });\n // 将符合条件的数据的 tagid 添加到 this.warnidlist 中\n filteredData.forEach(function (item) {\n if (_this11.warnidlist.indexOf(item.tagid) < 0) {\n _this11.warnlist.push(item.tagid + \"设备非高精\");\n _this11.warnidlist.push(item.tagid);\n }\n });\n } else {\n _this11.warnlist = [];\n _this11.warnidlist = [];\n }\n } else {}\n }\n }\n });\n }\n setTimeout(function () {\n //5秒播放一次\n _this11.fetchPersonsList();\n }, 5000);\n },\n updateTrajectories: function updateTrajectories() {\n var _this12 = this;\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.getGPS)(params).then(function (res) {\n if (res.data != null) {\n _this12.amapGPSPoints = res.data;\n }\n });\n }\n setTimeout(function () {\n //5秒播放一次\n _this12.updateTrajectories();\n }, 1000);\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvZGl0dS52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsInN1Y2Nlc3NDb20iLCJkYXRhIiwid2Fybmxpc3QiLCJ3YXJuaWRsaXN0IiwibGFiZWxXaWR0aCIsInBvaW50bG9jayIsInBvaW50Y29udGVudCIsInBvaW50ZGlzYWJsZWQiLCJwb2ludGxpc3QiLCJwb2ludG51bSIsInBvaW50ZHJhd3Nob3ciLCJlbmQiLCJsZHJhd3Nob3ciLCJsZHJhd3RpdGxlIiwibGRyYXdjb250ZW50IiwiaXNwZXJ0aWVzIiwiZHJhd3dheSIsImNvbnRlbnQiLCJkaXNhYmxlZCIsInNhdmVmZW5jZSIsImJ1bWVuTGlzdCIsInNob3cxIiwic2hvdzIiLCJ0eXBlTGlzdCIsInRleHQiLCJ3YXJubWVzTGlzdCIsImxpc3QiLCJ6dW9iaWFvbGlzdCIsInNhZ2xpc3QiLCJ0YW51bSIsImNvbG9yMSIsImNvbG9yMiIsImNvbG9yNSIsImNvbG9yMTAiLCJjb2xvcjIwIiwiY29sb3I1MCIsImNvbG9yMTAwIiwic3VkdSIsInBsYWNrVGltZSIsImRxbnVtIiwibG9ja2d1aWppIiwic2hvd25vdGlmeSIsImNhbmNlbFRleHQiLCJpc1J1bm5pbmciLCJwbGFja0NvbnRyb2wiLCJjb3VudE51bSIsIkxvY3VzRGF0YSIsInZhbHVlIiwic3RhcnRkYXRldGltZSIsInN0b3BkYXRldGltZSIsInJhbmdlTGV2ZWwiLCJydWxlczIiLCJ0eXBlIiwicmVxdWlyZWQiLCJtZXNzYWdlIiwidHJpZ2dlciIsInJhZGlvbGlzdDIiLCJuYW1lIiwicmFkaW9saXN0MSIsImJvU3RhcnQiLCJyYWRpb3ZhbHVlMSIsImNvZGUiLCJpc3BsYXkiLCJkaWdhbyIsImxhdGxvbiIsIm1vZGVsIiwicG9pbnRzIiwiZmVuY2VGbG9vckhlIiwiaGVpZ2h0IiwibGluZUhlaWdodCIsImNvbXBhbnkiLCJwZXJDb21wYW55IiwiYWRkcGVyc29uIiwianVsaSIsImRlcGFydG1lbnQiLCJkaXN0YW5jZSIsImRpYW55YSIsIm5vd2Fybm1lcyIsIndhcm5tZXMiLCJmZW5jZXR5cGUiLCJkcmF3c2hvdyIsImNoZWNrZWQiLCJndWlqaXNob3ciLCJzaG93IiwiYW1hcHN1ZHVQb2ludHMiLCJhbWFwZW5kR3VpamlQb2ludHMiLCJhbWFwR3VpamlQb2ludHMiLCJhbWFwRmVuY2VQb2ludHMiLCJhbWFwZGVGZW5jZVBvaW50cyIsImtleXdvcmQiLCJ0b3BoZWlnaHQiLCJ0aHJlZW9ydHdvIiwiYW1hcFBvaW50cyIsImFtYXBQb2ludERhdGEiLCJhbWFwbGRyYXdEYXRhIiwiYW1hcEdQU1BvaW50cyIsIm1hcnNzZXQiLCJwb2ludCIsImRyYXdsaXN0IiwibG9uZ2l0dWRlIiwibGF0aXR1ZGUiLCJzaG93NCIsInNob3d0YWdpZCIsInRhZ2lkbGlzdCIsInRhZ29ubGllIiwic2tlbGV0b25IZWlnaHQiLCJidXR0b25Ub3AiLCJidXR0b25MZWZ0IiwicHJvcHMiLCJmZW5jZXBvc2l0aW9uIiwibW91bnRlZCIsIm1ldGhvZHMiLCJmaW5kdGFnaWRhbGwiLCJqdWVzZSIsImxhYmVsIiwidHh0IiwiY29uZmlybXRhZ2lkIiwiY2hhbmdlUmFuZ2VMZXZlbCIsImdldExvY2F0aW9uIiwidW5pIiwic3VjY2VzcyIsIm9uY2hhbmdlIiwicmFkaW9DaGFuZ2UiLCJzZWFjaGNvZGUiLCJpZCIsInNldFRpbWVvdXQiLCJpc29wZW4iLCJmaW5kYnVtZW5hbGwiLCJ0eXBlQ2FsbGJhY2siLCJieW1lbkNhbGxiYWNrIiwiYWNxdWlzaXRpb254eSIsImJhb2xpdTMiLCJ2YWxDaGFuZ2UiLCJpbml0bG9jayIsImNsb3NlbW9kYWwiLCJjYW5jZWxtb2RhbCIsImNhbmNlbHNhdmUiLCJzYXZlIiwicmVzdWx0IiwiaGVpIiwiZm9ybWF0RGF0ZSIsInN0YXJ0ZHJhdyIsImNhbmNlbHBvaW50Iiwic2F2ZXBvaW50IiwiZmVuY2VIZSIsImVuZHNhdmUiLCJsZHJhd2NhbmNlbCIsImxkcmF3Y29uZmlybSIsImNoYW5nZSIsImRyYXciLCJ6b29tIiwicmVjZWl2ZVJlbmRlckRhdGEiLCJzZWFyY2h4aW54aSIsInRhcmdldFBvaW50IiwiaGFuZGxlTWFwQ2xpY2siLCJndWlqaUNsaWNrIiwiaW5pdE1hcCIsInJlcCIsImZldGNoRmVuY2VMaXN0IiwiZmV0Y2hQZXJzb25zTGlzdCIsImJhb2xpdTIiLCJzcGxpdCIsIml0ZW0iLCJiYW9saXUxIiwiZmlsdGVyZWREYXRhIiwidXBkYXRlVHJhamVjdG9yaWVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBeVNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQUM7RUFDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQUE7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFFQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxFQUNBO01BQ0FDO1FBQ0FEO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsRUFDQTtNQUNBRSxPQUNBLENBQ0EsS0FDQSxFQUNBLENBQ0EsS0FDQSxFQUNBLENBQ0EsS0FDQSxDQUNBO01BRUFDLGNBQ0EsQ0FDQSxlQUNBO01BQ0E7TUFDQSxDQUNBLGVBQ0EsRUFDQSxDQUNBLGVBQ0E7TUFDQTtNQUNBLENBQ0E7TUFFQTtNQUFBLENBQ0E7O01BQ0FDLFVBQ0EsQ0FDQSxlQUNBLEVBQ0EsQ0FDQSxlQUNBLEVBQ0EsQ0FDQTs7TUFHQTtNQUFBLENBQ0E7O01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTs7TUFFQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7O01BRUE7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FIO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO1FBQ0F1QjtRQUNBdkI7TUFDQTtRQUNBdUI7UUFDQXZCO01BQ0E7UUFDQXVCO1FBQ0F2QjtNQUNBO01BQ0EyQjtRQUVBO1VBQ0FDO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUVBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO1VBQ0FIO1VBQ0E7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtNQUVBO01BQ0FDO1FBQ0FDO1FBQ0F2QztNQUNBLEdBQ0E7UUFDQXVDO1FBQ0F2QztRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0EsRUFDQTs7TUFDQXdDO1FBQ0FEO1FBQ0F2QztNQUNBLEdBQ0E7UUFDQXVDO1FBQ0F2QztRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0EsRUFDQTs7TUFDQXlDO01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7UUFDQUM7UUFBQTtRQUNBQztRQUFBO1FBQ0FDO1FBQUE7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQTtRQUNBZjtRQUNBZ0I7UUFDQXJCO1FBQ0FzQjtRQUNBQztRQUNBQztRQUNBO1FBQ0FkO1FBQ0FlO1FBQ0FDO1FBQ0FDO1FBQ0E7TUFDQTs7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFBQTtNQUNBQztNQUFBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQUE7TUFDQUM7SUFDQTtFQUVBOztFQUNBQztJQUNBQztNQUNBekQ7TUFDQTtJQUNBO0VBRUE7RUFDQTBEO0lBQUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BRUE7TUFDQTs7TUFFQTtNQUNBO0lBQ0E7O0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0lBRUE7SUFDQTtJQUNBO0VBS0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0ExQztVQUNBMkM7UUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQUE7Z0JBQ0FsRTtnQkFDQW1FO2NBQ0E7WUFBQTtVQUNBO1lBQ0E7Y0FDQTlEO2NBQ0ErRDtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBO01BQ0E7SUFFQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBQztRQUNBbkU7UUFDQW9FO1VBQ0E7VUFDQTtRQUVBO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7UUFDQTtVQUVBL0Y7VUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBZ0c7TUFFQTtRQUNBO01BQ0E7UUFDQTtNQUVBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7UUFDQUM7UUFDQXREO1FBQ0EyQztNQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7Y0FDQTtjQUVBO2NBQ0E7Y0FDQTtZQUNBO1lBQ0E7WUFDQTs7WUFFQTtZQUNBO1VBRUE7WUFDQTtZQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7TUFDQTtNQUNBWTtRQUNBO1FBQ0E7TUFDQTtJQUVBO0lBQ0FDO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0F6RDtVQUNBMkM7UUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQUE7Z0JBQ0FsRTtnQkFDQXZCO2NBQ0E7WUFBQTtVQUNBO1lBQ0E7Y0FDQTRCO2NBQ0ErRDtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBRUE7SUFDQWE7TUFBQTtNQUNBO1FBQ0E1RTtNQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtRQUNBLFFBRUE7TUFDQTtNQUNBO0lBQ0E7SUFDQTZFO01BQ0E7SUFFQTtJQUNBQztNQUFBO01BQ0E7UUFDQUM7UUFDQTdEO1FBQ0EyQztNQUNBO01BQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQ0E7Y0FDQTtjQUNBO2NBQ0E7Y0FDQTtjQUNBO2NBQ0E7WUFDQTtjQUNBO2NBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Z0JBQ0E7Y0FDQTtnQkFDQTtnQkFDQTtjQUVBO1lBRUE7VUFDQTtZQUNBO2NBQ0E3RDtjQUNBK0Q7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUVBO0lBRUFpQjtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQTtNQUNBO01BR0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7VUFDQUM7VUFDQTtZQUNBQTtVQUNBO1VBRUFDO1VBQ0E7WUFDQUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtRQUNBO1FBQ0E7UUFDQTtVQUNBRDtVQUNBO1lBQ0FBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7O1VBRUFDO1VBQ0E7WUFDQUE7VUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtRQUNBO1FBQ0E7VUFDQUQ7UUFDQTtRQUNBO01BQ0E7TUFFQTtRQUNBbkI7UUFDQTtVQUNBO1lBQ0E7Y0FDQW5FO2NBQ0ErRDtZQUNBO1lBRUE7WUFDQTtZQUNBO1VBQ0E7WUFDQTtjQUNBL0Q7Y0FDQStEO1lBQ0E7VUFDQTtRQUNBO1FBQ0E7TUFDQTtRQUNBO01BQUEsQ0FDQTtNQUNBO0lBQ0E7SUFHQXlCO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BRUE7SUFDQTtJQUVBQztNQUNBO1FBQ0E7VUFDQXpGO1VBQ0ErRDtRQUNBO01BQ0E7UUFDQTtRQUNBO1VBQ0E7WUFDQTtjQUNBO2NBQ0E7Z0JBQ0EvRDtnQkFDQStEO2NBQ0E7WUFDQTtjQUNBO2dCQUNBL0Q7Z0JBQ0ErRDtjQUNBO2NBQ0E7WUFDQTtjQUNBO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7VUFDQTtZQUNBO1lBQ0E7VUFDQTtZQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFLQTtJQUNBMkI7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFFQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFFQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBL0Y7UUFDQWE7TUFDQTtNQUNBO1FBQ0E7VUFDQTtZQUNBO1lBQ0FtRjtZQUNBQTtZQUNBO1VBQ0E7WUFDQTtjQUNBckc7Y0FDQStEO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBdUM7TUFDQTtJQUNBO0lBRUFDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtNQUNBO1FBQ0E7VUFDQUM7UUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBeEY7UUFDQTJDO01BQ0E7TUFDQTtRQUNBO1VBQ0E7WUFDQTtjQUNBO2dCQUFBO2NBQUE7Y0FDQTtnQkFDQTtjQUNBO2NBQ0E7Z0JBQ0E7Z0JBQ0E7a0JBQ0E7b0JBQUE7a0JBQUE7Z0JBQ0E7Z0JBQ0E7Y0FFQTtjQUNBO1lBQ0E7VUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO01BQ0FZO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQWtDO01BQUE7TUFDQTtNQUNBO1FBQ0F6RjtRQUNBMkM7TUFDQTtNQUNBO1FBQ0E7VUFDQTtZQUNBO1lBQ0E7Y0FDQTtjQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBOztrQkFFQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtzQkFDQSwwQ0FDQTtzQkFDQTtvQkFDQTtrQkFDQTtvQkFDQSxvRUFDQStDLFFBQ0FDLCtEQUNBLE1BQ0E7c0JBQ0EsdUVBQ0E7c0JBQ0EseUVBQ0E7b0JBQ0E7a0JBQ0E7a0JBQ0E7b0JBQ0EseURBQ0FDLEtBQ0FDLFlBQ0E7a0JBQ0E7a0JBQ0E7a0JBQ0FDO29CQUNBO3NCQUNBO3NCQUNBO29CQUNBO2tCQUNBO2dCQUNBO2tCQUNBO2tCQUNBO2dCQUNBO2NBQ0EsUUFFQTtZQUNBO1VBR0E7UUFFQTtNQUNBO01BRUF2QztRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUF3QztNQUFBO01BQ0E7UUFDQS9GO1FBQ0EyQztNQUNBO01BQ0E7UUFDQTtVQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7TUFDQVk7UUFDQTtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiI0MTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXc+XHJcblx0XHQ8dS1zZWFyY2ggdi1zaG93PVwic2hvd1wiIGNsYXNzPVwic2VhcmNoYmdcIiBzaGFwZT1cInRydWVcIiBiZy1jb2xvcj1cInJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KVwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5ZCN56ewXCJcclxuXHRcdFx0OnNob3ctYWN0aW9uPVwiZmFsc2VcIiB2LW1vZGVsPVwia2V5d29yZFwiIEBzZWFyY2g9XCJzZWFyY2h4aW54aVwiXHJcblx0XHRcdDpzdHlsZT1cInt0b3A6IHRvcGhlaWdodCsncHgnLHBvc2l0aW9uOiAnYWJzb2x1dGUnLHdpZHRoOiAnNTAlJyxsZWZ0OiAnMjUlJ31cIj48L3Utc2VhcmNoPlxyXG5cdFx0PCEtLSAjaWZkZWYgQVBQLVBMVVMgfHwgSDUgLS0+XHJcblx0XHQ8dmlldyA6c3R5bGU9XCJ7dG9wOiB0b3BoZWlnaHQrJ3B4Jyxwb3NpdGlvbjogJ2Fic29sdXRlJyx3aWR0aDogJzEwMCUnLCd6LWluZGV4JzogJzk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OSd9XCI+XHJcblx0XHRcdDwhLS0gPHUtLWltYWdlXHJcbiBcclxuICAgIDpzaG93TG9hZGluZz1cInRydWVcIlxyXG4gICAgc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yZWQucG5nXCJcclxuICAgIHdpZHRoPVwiMjVweFwiXHJcbiAgICBoZWlnaHQ9XCIyNXB4XCJcclxuICAgIEBjbGljaz1cImNsaWNrXCJcclxuICA+PC91LS1pbWFnZT7npoHljLogLS0+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYXJlYVwiXHJcblx0XHRcdFx0c3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6IGJvbGRlcjtmb250LXNpemU6IDE2cHg7YmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtjb2xvcjogI2ZmZmZmZjtcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yZWQucG5nXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwidmVydGljYWwtYWxpZ246IG1pZGRsZTtwb3NpdGlvbjogcmVsYXRpdmU7dG9wOiAtMnB4O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHhcIj7npoHljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvZ3JlZW4ucG5nXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwidmVydGljYWwtYWxpZ246IG1pZGRsZTtwb3NpdGlvbjogcmVsYXRpdmU7dG9wOiAtMnB4O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHhcIj7lronlhajljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvYmx1ZS5wbmdcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO3Bvc2l0aW9uOiByZWxhdGl2ZTt0b3A6IC0ycHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweFwiPiDmlr3lt6XljLo8L2ltYWdlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImFyZWFcIlxyXG5cdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OiBib2xkZXI7Zm9udC1zaXplOiAxNnB4O2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7Y29sb3I6ICNmZmZmZmY7XCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvcWluZ3NlLnBuZ1wiXHJcblx0XHRcdFx0XHRzdHlsZT1cInZlcnRpY2FsLWFsaWduOiBtaWRkbGU7cG9zaXRpb246IHJlbGF0aXZlO3RvcDogLTJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4XCI+IOS/neaKpOWMujwvaW1hZ2U+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi10b3A6IDEyMHB4O3Bvc2l0aW9uOiBmaXhlZDsgIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5OTk5OTk5OTk7XCI+XHJcblx0XHRcdDwhLS0ge3t3YXJubGlzdH19IC0tPlxyXG5cdFx0XHQ8IS0tIHt7d2Fybmxpc3QubGVuZ3RofX0gLS0+XHJcblx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHdhcm5saXN0XCIgOmtleT1cImluZGV4XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4O1wiPlxyXG5cdFx0XHRcdDwhLS0ge3tpdGVtLndhcm5zdGF0dXN9fSAtLT5cclxuXHRcdFx0XHQ8dS1hbGVydCB0eXBlPVwid2FybmluZ1wiIDpjbG9zYWJsZT1cInRydWVcIiA6ZGVzY3JpcHRpb249XCJpdGVtXCI+PC91LWFsZXJ0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIDx1LWJ1dHRvbiBAY2xpY2s9XCJkcmF3XCIgaWNvbj1cIi4uLy4uL3N0YXRpYy9kcmF3ZmVuY2UucG5nXCJcclxuXHRcdFx0c3R5bGU9XCIgYm9yZGVyLWNvbG9yOiAjNWI1YjViO2JhY2tncm91bmQtY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMCk7IHdpZHRoOiAzMXB4O2hlaWdodDogMzFweDsgcG9zaXRpb246YWJzb2x1dGU7dG9wOiA3MCU7IGxlZnQ6MTVweDt6LWluZGV4OiA5OTk5OTk5OTk5OTk5OTk7XCI+PC91LWJ1dHRvbj4gLS0+XHJcblx0XHQ8dS1idXR0b24gQGNsaWNrPVwiZHJhd1wiIGljb249XCIuLi8uLi9zdGF0aWMvZHJhd2YucG5nXCIgOnN0eWxlPVwieyBcclxuICAgICAgICBib3JkZXJDb2xvcjogJyM1YjViNWInLCBcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDExNSwgMTE1LCAxMTUsIDApJywgXHJcbiAgICAgICAgd2lkdGg6ICczMnB4JywgXHJcbiAgICAgICAgaGVpZ2h0OiAnMzFweCcsIFxyXG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLCBcclxuICAgICAgICB0b3A6IGJ1dHRvblRvcCArICdweCcsIFxyXG4gICAgICAgIGxlZnQ6IGJ1dHRvbkxlZnQgKyAncHgnLCBcclxuICAgICAgICB6SW5kZXg6IDk5OTk5OTk5OTk5OTk5OSBcclxuICAgICAgfVwiPlxyXG5cdFx0PC91LWJ1dHRvbj5cclxuXHRcdDx1LW1vZGFsIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O1wiIGJ1dHRvblJldmVyc2UgY29uZmlybVRleHQ9XCLkuIvkuIDmraVcIiBjYW5jZWxUZXh0PVwi5Y+W5raIXCJcclxuXHRcdFx0OnNob3c9XCJkcmF3c2hvd1wiIEBjYW5jZWw9XCJjYW5jZWxtb2RhbFwiIEBjb25maXJtPVwic3RhcnRkcmF3XCIgcmVmPVwidU1vZGFsXCIgOnNob3dDYW5jZWxCdXR0b249XCJ0cnVlXCJcclxuXHRcdFx0OmNsb3NlT25DbGlja092ZXJsYXk9XCJ0cnVlXCI+XHJcblx0XHRcdDx1LWljb24gbmFtZT1cImNsb3NlXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDEwcHg7dG9wOjEwcHhcIiBAY2xpY2s9XCJjbG9zZW1vZGFsXCI+PC91LWljb24+XHJcblx0XHRcdDx2aWV3IHN0eWxlPVwibWF4LWhlaWdodDogNjAwcHg7IG92ZXJmbG93LXk6IGF1dG87XCI+XHJcblxyXG5cdFx0XHRcdDx1LS1mb3JtIHN0eWxlPVwiXCIgbGFiZWxQb3NpdGlvbj1cImxlZnRcIiA6bW9kZWw9XCJtb2RlbFwiIDpydWxlcz1cInJ1bGVzMlwiIHJlZj1cInVGb3JtXCI+XHJcblx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLnu4jnq6/nvJblj7c6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cInRhZ29ubGllPT0xICYmIGNvZGUhPScnXCIgOmlzRG90PVwidHJ1ZVwiIHR5cGU9XCJzdWNjZXNzXCI+PC91LWJhZGdlPlxyXG5cdFx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0YWdvbmxpZT09MCAmJiBjb2RlIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cImNvZGVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXnu4jnq6/nvJblj7dcIiBAYmx1cj1cInNlYWNoY29kZVwiPjwvdS0taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImNvZGVcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvd3RhZ2lkID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup57uI56uv57yW5Y+3XCIgLz5cclxuXHRcdFx0XHRcdFx0PHRuLXNlbGVjdCB2LW1vZGVsPVwic2hvd3RhZ2lkXCIgbW9kZT1cInNpbmdsZVwiIDpsaXN0PVwidGFnaWRsaXN0XCIgQGNvbmZpcm09XCJjb25maXJtdGFnaWRcIlxyXG5cdFx0XHRcdFx0XHRcdDpzZWFyY2hTaG93PVwidHJ1ZVwiPjwvdG4tc2VsZWN0PlxyXG5cdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIumAieaLqeWcuuaZrzpcIiBwcm9wPVwiZmVuY2V0eXBlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtcmFkaW8tZ3JvdXAgdi1tb2RlbD1cIm1vZGVsLmZlbmNldHlwZVwiIHBsYWNlbWVudD1cInJvd1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx1LXJhZGlvIDpjdXN0b21TdHlsZT1cInttYXJnaW5SaWdodDogJzhweCd9XCIgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIHJhZGlvbGlzdDFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OmtleT1cImluZGV4XCIgOmxhYmVsPVwiaXRlbS5uYW1lXCIgOm5hbWU9XCJpdGVtLm5hbWVcIiBAY2hhbmdlPVwicmFkaW9DaGFuZ2VcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtcmFkaW8+XHJcblx0XHRcdFx0XHRcdDwvdS1yYWRpby1ncm91cD5cclxuXHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdFx0PHZpZXcgdi1pZj0naXNwZXJ0aWVzJz5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIHYtc2hvdz0naXNwZXJ0aWVzJyBsYWJlbD1cIue7mOWItuaWueW8jzpcIiBwcm9wPVwiZmVuY2V0eXBlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCJcclxuXHRcdFx0XHRcdFx0XHRsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx1LXJhZGlvLWdyb3VwIHYtbW9kZWw9XCJkcmF3d2F5XCIgcGxhY2VtZW50PVwicm93XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1yYWRpbyA6Y3VzdG9tU3R5bGU9XCJ7bWFyZ2luUmlnaHQ6ICc4cHgnfVwiIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiByYWRpb2xpc3QyXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0OmtleT1cImluZGV4XCIgOmxhYmVsPVwiaXRlbS5uYW1lXCIgOm5hbWU9XCJpdGVtLm5hbWVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1yYWRpbz5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtcmFkaW8tZ3JvdXA+XHJcblx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHJcblx0XHRcdFx0XHQ8dmlldyB2LWVsc2U+XHJcblx0XHRcdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIuaTjeS9nOaPkOekujpcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIHN0eWxlPVwiY29sb3I6cmVkXCI+5bCG5qCH562+5pS+5Zyo5Zyw6Z2i5rWL6YeP5a+857q/6L6557yY5Z2Q5qCH77yM5ZCM5pe255So5r+A5YWJ5rWL6YeP5a+857q/6Led56a75Zyw6Z2i55qE6auY5bqmPC9zcGFuPlxyXG5cclxuXHRcdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIGxhYmVsPVwi5paw5aKe5aGUOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0PHUtbnVtYmVyLWJveCB2LW1vZGVsPVwidGFudW1cIiA6bWluPVwiMlwiIDptYXg9XCI0XHRcIiBAY2hhbmdlPVwidmFsQ2hhbmdlXCI+PC91LW51bWJlci1ib3g+XHJcblx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwiaSBpbiB0YW51bVwiIDprZXk9XCJpXCI+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifloZQnICsgKGkpICsgJ+WdkOagh0E6J1wiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVswXSE9JydcIiB2LW1vZGVsPVwienVvYmlhb2xpc3RbaS0xXVswXVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiIHN0eWxlPVwid2lkdGg6NDAwcnB4XCI+PC90bi1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0gPHRuLWJ1dHRvbiB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzBdPT0nJ1wiIGJhY2tncm91bmRDb2xvcj1cIiM1NWFhZmZcIiBmb250Q29sb3I9XCIjZmZmZmZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbWFsbFwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaSwwKVwiPumHh+mbhuWdkOaghzwvdG4tYnV0dG9uPiAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwhLS0gPGJ1dHRvbiBzaXplPVwibWluaVwiIEBjbGljaz1cImFjcXVpc2l0aW9uXCI+6YeH6ZuGPC9idXR0b24+IC0tPlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtc2hvdz1cInp1b2JpYW9saXN0W2ktMV1bMF09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ6ZGlzYWJsZWQ9XCJkaXNhYmxlZFwiIHNpemU9XCJtaW5pXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGksMCwnemInKVwiPumHh+mbhuWdkOaghzwvdS1idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3VuaS10b29sdGlwPlxyXG5cdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifloZQnICsgKGkpICsgJ+WdkOagh0I6J1wiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVsxXSE9JydcIiB2LW1vZGVsPVwienVvYmlhb2xpc3RbaS0xXVsxXVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiIHN0eWxlPVwid2lkdGg6NDAwcnB4XCI+PC90bi1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzFdPT0nJ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0OmRpc2FibGVkPVwiZGlzYWJsZWRcIiBzaXplPVwibWluaVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDEsJ3piJylcIj7ph4fpm4blnZDmoIc8L3UtYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx0bi1idXR0b24gZGlzYWJsZWQgdi1zaG93PVwienVvYmlhb2xpc3RbaS0xXVsxXT09JydcIiBiYWNrZ3JvdW5kQ29sb3I9XCIjNTVhYWZmXCIgZm9udENvbG9yPVwiI2ZmZmZmZlwiXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21hbGxcIiBAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGksMSlcIj7ph4fpm4blnZDmoIc8L3RuLWJ1dHRvbj4gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3VuaS10b29sdGlwPlxyXG5cdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIGxhYmVsPVwi5a+857q/6auYOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS0taW5wdXQgdi1tb2RlbD1cInp1b2JpYW9saXN0W2ktMV1bM11cIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlr7znur/pq5g6XCI+PC91LS1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiaT49MSAmJiBpPHRhbnVtXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8IS0tIHt7aTw9dGFudW19fVxyXG5cdFx0XHRcdFx0XHRcdFx0e3tzYWdsaXN0W2ktMV19fVxyXG5cdFx0XHRcdFx0XHRcdFx0e3tzYWdsaXN0W2ktMV1bMF19fSAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDx1LWZvcm0taXRlbSA6bGFiZWw9XCIn5byn5Z6CJyArIChpKSArICflnZDmoIdBOidcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHRuLWlucHV0IHYtc2hvdz1cInNhZ2xpc3RbaS0xXVswXSE9JydcIiB2LW1vZGVsPVwic2FnbGlzdFtpLTFdWzBdXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOjQwMHJweFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMF09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDAsJ3NhZycpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gOmxhYmVsPVwiJ+W8p+WegicgKyAoaSkgKyAn5Z2Q5qCHQjonXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0OmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx0bi1pbnB1dCB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMV0hPScnXCIgdi1tb2RlbD1cInNhZ2xpc3RbaS0xXVsxXVwiIGlucHV0QWxpZ249XCJyaWdodFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJ3aWR0aDo0MDBycHhcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dW5pLXRvb2x0aXAgOmNvbnRlbnQ9XCJjb250ZW50XCIgcGxhY2VtZW50PVwidG9wXCIgc3R5bGU9XCJ3aWR0aDoxMDBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOjEwMHB4XCIgdHlwZT1cInByaW1hcnlcIiB2LXNob3c9XCJzYWdsaXN0W2ktMV1bMV09PScnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cImRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwiYWNxdWlzaXRpb254eShpLDEsJ3NhZycpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gbGFiZWw9XCLlvKflnoLpq5g6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJzYWdsaXN0W2ktMV1bM11cIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlvKflnoLpq5g6XCI+PC91LS1pbnB1dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8L3UtLWZvcm0+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdS1tb2RhbD5cclxuXHRcdDx1LW1vZGFsIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O1wiIGJ1dHRvblJldmVyc2UgY29uZmlybVRleHQ9XCLkv53lrZjlm7TmoI9cIiBjYW5jZWxUZXh0PVwi6L+U5Zue5LiK5LiA5q2lXCJcclxuXHRcdFx0OnNob3c9XCJzYXZlZmVuY2VcIiBAY2FuY2VsPVwiY2FuY2Vsc2F2ZVwiIEBjb25maXJtPVwic2F2ZVwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8IS0tIDx1LWljb24gbmFtZT1cImNsb3NlXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDEwcHg7dG9wOjEwcHhcIiBAY2xpY2s9XCJjbG9zZW1vZGFsXCI+PC91LWljb24+IC0tPlxyXG5cdFx0XHQ8dS0tZm9ybSBzdHlsZT1cIlwiIGxhYmVsUG9zaXRpb249XCJsZWZ0XCIgOm1vZGVsPVwibW9kZWxcIiByZWY9XCJ1Rm9ybVwiIDpydWxlcz1cInJ1bGVzMlwiPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSByZXF1aXJlZCBsYWJlbD1cIuWbtOagj+WQjeensDpcIiBwcm9wPVwibmFtZVwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHQ8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLm5hbWVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/lkI3np7BcIj48L3UtLWlucHV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblxyXG5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLlm7TmoI/nsbvlnos6XCIgcHJvcD1cInR5cGVcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwibW9kZWwudHlwZVwiIHR5cGU9XCJzZWxlY3RcIiBAY2xpY2s9XCJzaG93MSA9IHRydWVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpemAieaLqeWbtOagj+exu+Wei1wiIC8+XHJcblx0XHRcdFx0XHQ8dG4tYWN0aW9uLXNoZWV0IDpsaXN0PVwidHlwZUxpc3RcIiB2LW1vZGVsPVwic2hvdzFcIiBAY2xpY2s9XCJ0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSByZXF1aXJlZCBsYWJlbD1cIuWFs+iBlOmDqOmXqDpcIiBwcm9wPVwiZGVwYXJ0bWVudFwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5kZXBhcnRtZW50XCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cyID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5YWz6IGU6YOo6ZeoXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJidW1lbkxpc3RcIiB2LW1vZGVsPVwic2hvdzJcIiBAY2xpY2s9XCJieW1lbkNhbGxiYWNrXCI+PC90bi1hY3Rpb24tc2hlZXQ+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5Zu05qCP6auY5bqmOlwiIHByb3A9XCJoZWlnaHRcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5oZWlnaHRcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/pq5jluqZcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gcmVxdWlyZWQgbGFiZWw9XCLpooTorabot53nprs6XCIgcHJvcD1cImRpc3RhbmNlXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdDx1LS1pbnB1dCB2LW1vZGVsPVwibW9kZWwuZGlzdGFuY2VcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXpooTorabot53nprtcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDwhLS0gPHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi6aKE6K2m6K+t6Z+zOlwiIHByb3A9XCJub3dhcm5tZXNcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5ub3dhcm5tZXNcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXpooTorabor63pn7NcIj48L3UtLWlucHV0PlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5ZGK6K2m6K+t6Z+zOlwiIHByb3A9XCJ3YXJubWVzXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdDx1LS1pbnB1dCB2LW1vZGVsPVwibW9kZWwud2Fybm1lc1wiIGJvcmRlcj1cIm5vbmVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeWRiuitpuivremfs1wiPjwvdS0taW5wdXQ+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT4gLS0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi55S15Y6L562J57qnOlwiIHByb3A9XCJkaWFueWFcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5qdWxpXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3c0ID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup55S15Y6L562J57qnXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJyYW5nZUxldmVsXCIgdi1tb2RlbD1cInNob3c0XCIgQGNsaWNrPVwiY2hhbmdlUmFuZ2VMZXZlbFwiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdFx0PCEtLSA8dW5pLWRhdGEtc2VsZWN0IHYtbW9kZWw9XCJtb2RlbC5kaWFueWFcIiA6bG9jYWxkYXRhPVwicmFuZ2VMZXZlbFwiXHJcblx0XHRcdFx0XHRcdEBjaGFuZ2U9XCJjaGFuZ2VSYW5nZUxldmVsXCI+PC91bmktZGF0YS1zZWxlY3Q+IC0tPlxyXG5cdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLmRpYW55YVwiIGJvcmRlcj1cIm5vbmVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeeUteWOi+etiee6p1wiPjwvdS0taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdDwvdS1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHUtZm9ybS1pdGVtIHJlcXVpcmVkIGxhYmVsPVwi5a6J5YWo6Led56a7OlwiIHByb3A9XCJkaWFueWFcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PHUtLWlucHV0IHYtbW9kZWw9XCJtb2RlbC5kaWFueWFcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlronlhajot53nprtcIj48L3UtLWlucHV0Pm1cclxuXHRcdFx0XHQ8L3UtZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx1LWZvcm0taXRlbSBsYWJlbD1cIuaYr+WQpuWQr+eUqDpcIiBib3JkZXJCb3R0b20gcmVmPVwiaXRlbTFcIiBsYWJlbFdpZHRoPVwiODBweFwiPlxyXG5cdFx0XHRcdFx0PCEtLSA8dS0taW5wdXQgdi1tb2RlbD1cIm1vZGVsLm5hbWVcIiBib3JkZXI9XCJub25lXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlm7TmoI/lkI3np7BcIj48L3UtLWlucHV0PiAtLT5cclxuXHRcdFx0XHRcdDx1LXN3aXRjaCB2LW1vZGVsPVwiaXNwbGF5XCIgQGNoYW5nZT1cImlzb3BlblwiPjwvdS1zd2l0Y2g+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gdi1pZj1cIm1vZGVsLmZlbmNldHlwZSA9PSAn5Y+Y55S15L2c5LiaJ1wiIGxhYmVsPVwi5Zyw6Z2i5qCh5YeGOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiPlxyXG5cdFx0XHRcdFx0PHNwYW4gc3R5bGU9XCJjb2xvcjpyZWRcIj7lsIbmoIfnrb7mlL7lnKjlnLDpnaLvvIzngrnlh7vojrflj5blm7TmoI/lnLDpnaLpq5jluqY8L3NwYW4+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dS1mb3JtLWl0ZW0gdi1pZj1cIm1vZGVsLmZlbmNldHlwZSA9PSAn5Y+Y55S15L2c5LiaJ1wiIGxhYmVsPVwi5Zyw6Z2i6auY5bqmOlwiIGJvcmRlckJvdHRvbSByZWY9XCJpdGVtMVwiIGxhYmVsV2lkdGg9XCI4MHB4XCI+XHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwibW9kZWwuZmVuY2VGbG9vckhlIT0nLTEnXCIgdi1tb2RlbD1cIm1vZGVsLmZlbmNlRmxvb3JIZVwiXHJcblx0XHRcdFx0XHRcdGlucHV0QWxpZ249XCJyaWdodFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHQ8IS0tIDx1bmktdG9vbHRpcCA6Y29udGVudD1cImNvbnRlbnRcIiBwbGFjZW1lbnQ9XCJ0b3BcIiBzdHlsZT1cIndpZHRoOjEwMHB4XCI+IC0tPlxyXG5cdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtc2hvdz1cIm1vZGVsLmZlbmNlRmxvb3JIZT09Jy0xJ1wiIHNpemU9XCJtaW5pXCJcclxuXHRcdFx0XHRcdFx0QGNsaWNrPVwiZmVuY2VIZSgpXCI+5bey57uP5pS+5aW9PC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdDwhLS0gPHRuLWJ1dHRvbiBkaXNhYmxlZCB2LXNob3c9XCJ6dW9iaWFvbGlzdFtpLTFdWzFdPT0nJ1wiIGJhY2tncm91bmRDb2xvcj1cIiM1NWFhZmZcIiBmb250Q29sb3I9XCIjZmZmZmZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdHNpemU9XCJzbWFsbFwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaSwxKVwiPumHh+mbhuWdkOaghzwvdG4tYnV0dG9uPiAtLT5cclxuXHRcdFx0XHRcdDwhLS0gPC91bmktdG9vbHRpcD4gLS0+XHJcblx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0PC91LS1mb3JtPlxyXG5cdFx0PC91LW1vZGFsPlxyXG5cdFx0PCEtLSDov57nu63nu5jliLblvLnnqpcgLS0+XHJcblx0XHQ8dS1tb2RhbCA6c2hvdz1cImxkcmF3c2hvd1wiIDp0aXRsZT1cImxkcmF3dGl0bGVcIiA6Y29udGVudD0nbGRyYXdjb250ZW50JyBjb25maXJtVGV4dD1cIuW8gOWni+e7mOWItlwiIGNhbmNlbFRleHQ9XCLov5Tlm57kuIrkuIDmraVcIlxyXG5cdFx0XHQ6c2hvd0NhbmNlbEJ1dHRvbj1cInRydWVcIiBAY2FuY2VsPVwibGRyYXdjYW5jZWxcIiBAY29uZmlybT1cImxkcmF3Y29uZmlybVwiIGJ1dHRvblJldmVyc2U+PC91LW1vZGFsPlxyXG5cclxuXHRcdDwhLS0gPHRuLXBvcHVwIHYtbW9kZWw9XCJsb2NrZ3VpamlcIiA6bWFzaz1cImZhbHNlXCIgbW9kZT1cImJvdHRvbVwiIGNsb3NlQnRuIDptYXNrQ2xvc2VhYmxlPVwiZmFsc2VcIj4gLS0+XHJcblxyXG5cdFx0PHUtYnV0dG9uIHYtc2hvdz1cImVuZFwiIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTk5OTk5O2JvdHRvbToxNSU7d2lkdGg6NTAlO2xlZnQ6MjUlXCJcclxuXHRcdFx0dHlwZT1cInByaW1hcnlcIiBzaGFwZT1cImNpcmNsZVwiIHRleHQ9XCLnu5PmnZ/nu5jliLZcIiBAY2xpY2s9XCJlbmRzYXZlKClcIj48L3UtYnV0dG9uPlxyXG5cdFx0PCEtLSDmiZPngrnnu5jliLblvLnnqpcgcG9pbnRkcmF3c2hvdy0tPlxyXG5cdFx0PHUtbW9kYWwgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk7XCIgYnV0dG9uUmV2ZXJzZSBjb25maXJtVGV4dD1cIuaJk+eCueWujOaIkFwiIGNhbmNlbFRleHQ9XCLov5Tlm57kuIrkuIDmraVcIlxyXG5cdFx0XHQ6c2hvdz1cInBvaW50ZHJhd3Nob3dcIiBAY2FuY2VsPVwiY2FuY2VscG9pbnRcIiBAY29uZmlybT1cInNhdmVwb2ludFwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cIm1heC1oZWlnaHQ6IDMwMHB4OyBvdmVyZmxvdy15OiBhdXRvO1wiPlxyXG5cdFx0XHRcdDx1LS1mb3JtIHN0eWxlPVwiXCIgbGFiZWxQb3NpdGlvbj1cImxlZnRcIiA6bW9kZWw9XCJtb2RlbFwiIDpydWxlcz1cInJ1bGVzMlwiIHJlZj1cInVGb3JtXCI+XHJcblx0XHRcdFx0XHQ8dS1mb3JtLWl0ZW0gbGFiZWw9XCLmlrDlop7ngrk6XCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0PHUtbnVtYmVyLWJveCB2LW1vZGVsPVwicG9pbnRudW1cIiA6bWluPVwiNFwiIEBjaGFuZ2U9XCJvbmNoYW5nZVwiPjwvdS1udW1iZXItYm94PlxyXG5cdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBwb2ludGxpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdFx0PHUtZm9ybS1pdGVtIDpsYWJlbD1cIifngrknICsgKGluZGV4KzEpICsgJ+WdkOaghzonXCIgYm9yZGVyQm90dG9tIHJlZj1cIml0ZW0xXCIgbGFiZWxXaWR0aD1cIjgwcHhcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dG4taW5wdXQgdi1zaG93PVwicG9pbnRsaXN0W2luZGV4XSE9aW5kZXhcIiB2LW1vZGVsPVwicG9pbnRsaXN0W2luZGV4XVwiXHJcblx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cIndpZHRoOjQwMHJweFwiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0XHRcdFx0PHVuaS10b29sdGlwIDpjb250ZW50PVwicG9pbnRjb250ZW50XCIgcGxhY2VtZW50PVwidG9wXCIgc3R5bGU9XCJ3aWR0aDoxMDBweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHUtYnV0dG9uIHN0eWxlPVwid2lkdGg6MTAwcHhcIiB0eXBlPVwicHJpbWFyeVwiIHYtaWY9XCJwb2ludGxpc3RbaW5kZXhdPT1pbmRleFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdDpkaXNhYmxlZD1cInBvaW50ZGlzYWJsZWRcIiBzaXplPVwibWluaVwiIEBjbGljaz1cImFjcXVpc2l0aW9ueHkoaW5kZXgpXCI+6YeH6ZuG5Z2Q5qCHPC91LWJ1dHRvbj5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQ8dS1idXR0b24gc3R5bGU9XCJ3aWR0aDoxMDBweFwiIHR5cGU9XCJwcmltYXJ5XCIgdi1lbHNlLWlmPVwicG9pbnRsaXN0W2luZGV4XT09JydcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ6ZGlzYWJsZWQ9XCJwb2ludGRpc2FibGVkXCIgc2l6ZT1cIm1pbmlcIiBAY2xpY2s9XCJhY3F1aXNpdGlvbnh5KGluZGV4KVwiPumHh+mbhuWdkOaghzwvdS1idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0PC91bmktdG9vbHRpcD5cclxuXHRcdFx0XHRcdFx0PC91LWZvcm0taXRlbT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3UtLWZvcm0+XHJcblxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwhLS0gPHUtaWNvbiBuYW1lPVwiY2xvc2VcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogMTBweDt0b3A6MTBweFwiIEBjbGljaz1cImNsb3NlbW9kYWxcIj48L3UtaWNvbj4gLS0+XHJcblxyXG5cdFx0PC91LW1vZGFsPlxyXG5cclxuXHRcdDwhLS0gPC90bi1wb3B1cD4gLS0+XHJcblx0XHQ8IS0tIDx2aWV3IHYtc2hvdz1cImxvY2tndWlqaVwiXHJcblx0XHRcdHN0eWxlPVwiIHBvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiA5OTk5OTk5OTk5OTk5OTtiYWNrZ3JvdW5kLWNvbG9yOiAjY2FkMWZkO2JvdHRvbTogODBweDt3aWR0aDogODAlO2xlZnQ6IDE1JTtcIj5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxyXG5cclxuXHRcdFx0XHQ8c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtcIj7lvZPliY3vvJp7e2RxbnVtfX08L3NwYW4+XHJcblx0XHRcdFx0PHNwYW4gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHg7XCI+e3twbGFja1RpbWV9fTwvc3Bhbj5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XHJcblx0XHRcdFx0PHNwYW4+6YCf5bqm77yaPC9zcGFuPlxyXG5cdFx0XHRcdDx1bmktZGF0YS1zZWxlY3Qgc3R5bGU9XCJ3aWR0aDogNDAlO1wiIHBsYWNlaG9sZGVyPVwi6YCJ5oup6YCf5bqmXCIgdi1tb2RlbD1cIm1vZGVsLnN1ZHVcIiA6bG9jYWxkYXRhPVwicmFuZ2VcIlxyXG5cdFx0XHRcdFx0QGNoYW5nZT1cImNoYW5nZVwiPjwvdW5pLWRhdGEtc2VsZWN0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0PGRpdiBpZD1cIm1hcnMzZENvbnRhaW5lclwiIGNsYXNzPVwibWFyczNkLWNvbnRhaW5lclwiIDptYXJzc2V0PSdtYXJzc2V0JyA6Y2hhbmdlOm1hcnNzZXQ9XCJtYXJzM2QuZ2V0bWFyc0RhdGFcIlxyXG5cdFx0XHQ6YW1hcFBvaW50cz0nYW1hcFBvaW50cycgOmNoYW5nZTphbWFwUG9pbnRzPVwibWFyczNkLmdldERhdGFcIiA6dGhyZWVvcnR3bz0ndGhyZWVvcnR3bydcclxuXHRcdFx0OmNoYW5nZTp0aHJlZW9ydHdvPVwibWFyczNkLmdldDN3ZWlcIiA6YW1hcFBvaW50RGF0YT0nYW1hcFBvaW50RGF0YSdcclxuXHRcdFx0OmNoYW5nZTphbWFwUG9pbnREYXRhPVwibWFyczNkLmdldFBvaW50RGF0YVwiIDphbWFwbGRyYXdEYXRhPSdhbWFwbGRyYXdEYXRhJ1xyXG5cdFx0XHQ6Y2hhbmdlOmFtYXBsZHJhd0RhdGE9XCJtYXJzM2QuZ2V0RHJ3YURhdGFcIiA6YW1hcEZlbmNlUG9pbnRzPSdhbWFwRmVuY2VQb2ludHMnXHJcblx0XHRcdDpjaGFuZ2U6YW1hcEZlbmNlUG9pbnRzPVwibWFyczNkLmdldEZlbmNlRGF0YVwiIDphbWFwZGVGZW5jZVBvaW50cz0nYW1hcGRlRmVuY2VQb2ludHMnXHJcblx0XHRcdDpjaGFuZ2U6YW1hcGRlRmVuY2VQb2ludHM9XCJtYXJzM2QuZ2V0RmVuY2VEYXRhZGVcIiA6YW1hcEdQU1BvaW50cz0nYW1hcEdQU1BvaW50cydcclxuXHRcdFx0OmNoYW5nZTphbWFwR1BTUG9pbnRzPVwibWFyczNkLmdldGdwc0RhdGFcIiA6cG9pbnQ9J3BvaW50JyA6Y2hhbmdlOnBvaW50PVwibWFyczNkLmdldG1hcnNQb2ludFwiXHJcblx0XHRcdDpmZW5jZXBvc2l0aW9uPSdmZW5jZXBvc2l0aW9uJyA6Y2hhbmdlOmZlbmNlcG9zaXRpb249XCJtYXJzM2QuZ2V0bWFyc2ZlbmNlUG9pbnRcIj48L2Rpdj5cclxuXHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdFx0PCEtLSAjaWZuZGVmIEFQUC1QTFVTIHx8IEg1IC0tPlxyXG5cdFx0PCEtLSAjZW5kaWYgLS0+XHJcblx0XHQ8c3VjY2Vzc0NvbSByZWY9XCJyZWZTdWNjZXNzXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk5OTtcIj48L3N1Y2Nlc3NDb20+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCBzdWNjZXNzQ29tIGZyb20gJ0AvY29tcG9uZW50cy9zdWNjZXNzLnZ1ZSdcclxuXHRpbXBvcnQge1xyXG5cdFx0ZmluZHRhZ2lkLFxyXG5cdFx0ZmluZFdhcm5tZXMsXHJcblx0XHRzdWJtaXRwZXIsXHJcblx0XHRmaW5kYnVtZW4sXHJcblx0XHRhY3F1aXNpdGlvbixcclxuXHRcdGZpbmR0YWdJZFBlcnNvbixcclxuXHRcdGZpbmRCYWlEdUd1aUppLFxyXG5cdFx0ZmluZEFsbEZlbmNlLFxyXG5cdFx0Z2V0QmFzZUdQU0Nlc2l1bSxcclxuXHRcdGZpbmRQZXJzb24sXHJcblx0XHRNYXJzSG9tZSxcclxuXHRcdGdldEdQU0Nlc2l1bSxcclxuXHRcdGdldEdQU1xyXG5cdH0gZnJvbSAnQC9jb25maWcvYXBpLmpzJztcclxuXHJcblx0Ly8g6YC76L6R5bGCXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0Y29tcG9uZW50czoge1xyXG5cdFx0XHRzdWNjZXNzQ29tXHJcblx0XHR9LFxyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHR3YXJubGlzdDogW10sXHJcblx0XHRcdFx0d2FybmlkbGlzdDogW10sXHJcblx0XHRcdFx0bGFiZWxXaWR0aDogMTAwLFxyXG5cdFx0XHRcdHBvaW50bG9jazogZmFsc2UsIC8v6Lip54K56I635Y+W5pWw5o2u5byA5YWzXHJcblx0XHRcdFx0cG9pbnRjb250ZW50OiAnJyxcclxuXHRcdFx0XHRwb2ludGRpc2FibGVkOiBmYWxzZSxcclxuXHRcdFx0XHRwb2ludGxpc3Q6IFswLCAxLCAyLCAzXSxcclxuXHRcdFx0XHRwb2ludG51bTogNCxcclxuXHRcdFx0XHRwb2ludGRyYXdzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRlbmQ6IGZhbHNlLFxyXG5cdFx0XHRcdGxkcmF3c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0bGRyYXd0aXRsZTogJ+aTjeS9nOaPkOekujonLFxyXG5cdFx0XHRcdGxkcmF3Y29udGVudDogJ+ivt+aJi+aMgee7iOerr++8jOetieW+hVJUS+e7v+iJsuWQjuihjOi1sOS4uuS4gOS4qumXreWQiOWbtOagj+OAguWHhuWkh+WujOavleWQjueCueWHu+W8gOWni+e7mOWItu+8jOWujOaIkOWQjueCueWHu+e7k+adn+e7mOWIticsXHJcblxyXG5cdFx0XHRcdGlzcGVydGllczogdHJ1ZSxcclxuXHRcdFx0XHRkcmF3d2F5OiAn5omT54K557uY5Yi2JyxcclxuXHRcdFx0XHRjb250ZW50OiAn6K+35YWI6L6T5YWl57uI56uv57yW5Y+3JyxcclxuXHRcdFx0XHRkaXNhYmxlZDogdHJ1ZSxcclxuXHRcdFx0XHRzYXZlZmVuY2U6IGZhbHNlLFxyXG5cdFx0XHRcdGJ1bWVuTGlzdDogW10sXHJcblx0XHRcdFx0c2hvdzE6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3cyOiBmYWxzZSxcclxuXHRcdFx0XHR0eXBlTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+S/neaKpOWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfnpoHlhaXljLonXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5bel5L2c5Yy6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WuieWFqOWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHR3YXJubWVzTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WHuuWOu+WRiuitpidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfov5vlhaXlkYroraYnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5bel5L2c5Yy6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WuieWFqOWMuidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRsaXN0OiBbXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdDAsIDFcclxuXHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdDIsIDNcclxuXHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdDQsIDVcclxuXHRcdFx0XHRcdF1cclxuXHRcdFx0XHRdLFxyXG5cclxuXHRcdFx0XHR6dW9iaWFvbGlzdDogW1xyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdC8vIGhlaWdodDE6JycsXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdCcnLCAnJywgJycsICcnXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdC8vIGhlaWdodDE6JycsXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdCcnLCAnJywgJycsICcnXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0Ly8gaGVpZ2h0MzonJyxcclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdHNhZ2xpc3Q6IFtcclxuXHRcdFx0XHRcdFtcclxuXHRcdFx0XHRcdFx0JycsICcnLCAnJywgJydcclxuXHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdCcnLCAnJywgJycsICcnXHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHQnJywgJycsICcnLCAnJ1xyXG5cdFx0XHRcdFx0XSxcclxuXHJcblx0XHRcdFx0XHQvLyBoZWlnaHQzOicnLFxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0Ly8gbGlzdDogW1xyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQwLCAxXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQyLCAzXHJcblx0XHRcdFx0Ly8gXHRdLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQ0LCA1XHJcblx0XHRcdFx0Ly8gXHRdXHJcblx0XHRcdFx0Ly8gXSxcclxuXHJcblx0XHRcdFx0Ly8genVvYmlhb2xpc3Q6IFtcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0JzFBJywgJzFCJywgJzEnLCcxMSdcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHQvLyBoZWlnaHQxOicnLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQnMkEnLCAnMkInLCAnMicsJzIyJ1xyXG5cdFx0XHRcdC8vIFx0XSxcclxuXHRcdFx0XHQvLyBcdFtcclxuXHRcdFx0XHQvLyBcdFx0JzNBJywgJzNCJywgJzMnLCczMydcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHQvLyBoZWlnaHQxOicnLFxyXG5cdFx0XHRcdC8vIFx0W1xyXG5cdFx0XHRcdC8vIFx0XHQnNEEnLCAnNEInLCAnNCcsJzQ0J1xyXG5cdFx0XHRcdC8vIFx0XSxcclxuXHRcdFx0XHQvLyBcdC8vIGhlaWdodDM6JycsXHJcblx0XHRcdFx0Ly8gXSxcclxuXHRcdFx0XHQvLyBzYWdsaXN0OiBbXHJcblx0XHRcdFx0Ly8gXHRbXHJcblx0XHRcdFx0Ly8gXHRcdCdINUEnLCAnSDVCJywgJzUnLCc1NSdcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHRbXHJcblx0XHRcdFx0Ly8gXHRcdCdINkEnLCAnSDZCJywgJzYnLCc2NidcclxuXHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0Ly8gXHRbXHJcblx0XHRcdFx0Ly8gXHRcdCdIN0EnLCAnSDdCJywgJzcnLCc3NydcclxuXHRcdFx0XHQvLyBcdF0sXHJcblxyXG5cdFx0XHRcdC8vIFx0Ly8gaGVpZ2h0MzonJyxcclxuXHRcdFx0XHQvLyBdLFxyXG5cdFx0XHRcdHRhbnVtOiAyLFxyXG5cdFx0XHRcdGNvbG9yMTogJyNlMmUyZTInLFxyXG5cdFx0XHRcdGNvbG9yMjogJyM4YjhiOGInLFxyXG5cdFx0XHRcdGNvbG9yNTogJyM4YjhiOGInLFxyXG5cdFx0XHRcdGNvbG9yMTA6ICcjOGI4YjhiJyxcclxuXHRcdFx0XHRjb2xvcjIwOiAnIzhiOGI4YicsXHJcblx0XHRcdFx0Y29sb3I1MDogJyM4YjhiOGInLFxyXG5cdFx0XHRcdGNvbG9yMTAwOiAnIzhiOGI4YicsXHJcblx0XHRcdFx0c3VkdTogJ3gxJyxcclxuXHRcdFx0XHRwbGFja1RpbWU6ICcnLFxyXG5cdFx0XHRcdGRxbnVtOiAnJyxcclxuXHRcdFx0XHRsb2NrZ3Vpamk6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3dub3RpZnk6IHRydWUsXHJcblx0XHRcdFx0Y2FuY2VsVGV4dDogJ+aaguWBnCcsXHJcblx0XHRcdFx0aXNSdW5uaW5nOiB0cnVlLFxyXG5cdFx0XHRcdHBsYWNrQ29udHJvbDogJycsXHJcblx0XHRcdFx0Y291bnROdW06IDAsXHJcblx0XHRcdFx0TG9jdXNEYXRhOiAnJyxcclxuXHRcdFx0XHQvLyBpc1BsYWNrOiBmYWxzZSxcclxuXHRcdFx0XHR2YWx1ZTogJycsXHJcblx0XHRcdFx0c3RhcnRkYXRldGltZTogJycsXHJcblx0XHRcdFx0c3RvcGRhdGV0aW1lOiAnJyxcclxuXHRcdFx0XHRyYW5nZUxldmVsOiBbe1xyXG5cdFx0XHRcdFx0dmFsdWU6ICcwLjk1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMTBrVigwLjk1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICcxLjA1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMjBrVigxLjA1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICcxLjE1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMzVrVigxLjE1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICcxLjRtJyxcclxuXHRcdFx0XHRcdHRleHQ6ICc2NmtWKDEuNG0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnMS42NW0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzExMGtWKDEuNjVtKSdcclxuXHRcdFx0XHR9LCB7XHJcblx0XHRcdFx0XHR2YWx1ZTogJzIuNTVtJyxcclxuXHRcdFx0XHRcdHRleHQ6ICcyMjBrVigyLjU1bSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICczLjI1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMzMwa1YoMy4yNW0pJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHZhbHVlOiAnNC42Nm0nLFxyXG5cdFx0XHRcdFx0dGV4dDogJzUwMGtWKDQuNTVtKSdcclxuXHRcdFx0XHR9LCB7XHJcblx0XHRcdFx0XHR2YWx1ZTogJzYuNzBtJyxcclxuXHRcdFx0XHRcdHRleHQ6ICc3NTBrVig2LjcwbSknXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dmFsdWU6ICc4LjI1bScsXHJcblx0XHRcdFx0XHR0ZXh0OiAnMTAwMGtWKDguMjVtKSdcclxuXHRcdFx0XHR9XSxcclxuXHRcdFx0XHRydWxlczI6IHtcclxuXHJcblx0XHRcdFx0XHQnbmFtZSc6IHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ3N0cmluZycsXHJcblx0XHRcdFx0XHRcdC8vIG1heDogMSxcclxuXHRcdFx0XHRcdFx0cmVxdWlyZWQ6IHRydWUsXHJcblx0XHRcdFx0XHRcdG1lc3NhZ2U6ICfor7floavlhpnlm7TmoI/lkI3np7AnLFxyXG5cdFx0XHRcdFx0XHR0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ11cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQnY29kZSc6IHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ3N0cmluZycsXHJcblx0XHRcdFx0XHRcdC8vIG1heDogMSxcclxuXHRcdFx0XHRcdFx0cmVxdWlyZWQ6IHRydWUsXHJcblx0XHRcdFx0XHRcdG1lc3NhZ2U6ICfor7floavlhpnnu4jnq6/nvJblj7cnLFxyXG5cdFx0XHRcdFx0XHR0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ11cclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdFx0J3R5cGUnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+36YCJ5oup5Zu05qCP57G75Z6LJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0J2RlcGFydG1lbnQnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+36YCJ5oup5YWz6IGU6YOo6ZeoJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0J2Rpc3RhbmNlJzoge1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnc3RyaW5nJyxcclxuXHRcdFx0XHRcdFx0Ly8gbWF4OiAxLFxyXG5cdFx0XHRcdFx0XHRyZXF1aXJlZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0bWVzc2FnZTogJ+ivt+Whq+WGmemihOitpui3neemuycsXHJcblx0XHRcdFx0XHRcdHRyaWdnZXI6IFsnYmx1cicsICdjaGFuZ2UnXVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdCdub3dhcm5tZXMnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+35aGr5YaZ6aKE6K2m6K+t6Z+zJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0J3dhcm5tZXMnOiB7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdzdHJpbmcnLFxyXG5cdFx0XHRcdFx0XHQvLyBtYXg6IDEsXHJcblx0XHRcdFx0XHRcdHJlcXVpcmVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAn6K+35aGr5YaZ5ZGK6K2m6K+t6Z+zJyxcclxuXHRcdFx0XHRcdFx0dHJpZ2dlcjogWydibHVyJywgJ2NoYW5nZSddXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0J2RpYW55YSc6IHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ3N0cmluZycsXHJcblx0XHRcdFx0XHRcdC8vIG1heDogMSxcclxuXHRcdFx0XHRcdFx0cmVxdWlyZWQ6IHRydWUsXHJcblx0XHRcdFx0XHRcdG1lc3NhZ2U6ICfor7floavlhpnnlLXljovnrYnnuqcnLFxyXG5cdFx0XHRcdFx0XHR0cmlnZ2VyOiBbJ2JsdXInLCAnY2hhbmdlJ11cclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0cmFkaW9saXN0MjogW3tcclxuXHRcdFx0XHRcdFx0bmFtZTogJ+aJk+eCuee7mOWIticsXHJcblx0XHRcdFx0XHRcdGRpc2FibGVkOiB0cnVlXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRuYW1lOiAn6L+e57ut57uY5Yi2JyxcclxuXHRcdFx0XHRcdFx0ZGlzYWJsZWQ6IGZhbHNlXHJcblx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdC8vIHtcclxuXHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiAnNeWwj+aXticsXHJcblx0XHRcdFx0XHRcdC8vIFx0ZGlzYWJsZWQ6IGZhbHNlXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRyYWRpb2xpc3QxOiBbe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiAn6L6T55S15L2c5LiaJyxcclxuXHRcdFx0XHRcdFx0ZGlzYWJsZWQ6IGZhbHNlXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRuYW1lOiAn5Y+Y55S15L2c5LiaJyxcclxuXHRcdFx0XHRcdFx0ZGlzYWJsZWQ6IHRydWVcclxuXHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0Ly8ge1xyXG5cdFx0XHRcdFx0XHQvLyBcdG5hbWU6ICc15bCP5pe2JyxcclxuXHRcdFx0XHRcdFx0Ly8gXHRkaXNhYmxlZDogZmFsc2VcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdGJvU3RhcnQ6IDAsXHJcblx0XHRcdFx0Ly8gdS1yYWRpby1ncm91cOeahHYtbW9kZWznu5HlrprnmoTlgLzlpoLmnpzorr7nva7kuLrmn5DkuKpyYWRpb+eahG5hbWXvvIzlsLHkvJrooqvpu5jorqTpgInkuK1cclxuXHRcdFx0XHRyYWRpb3ZhbHVlMTogJycsXHJcblx0XHRcdFx0Y29kZTogJycsXHJcblx0XHRcdFx0aXNwbGF5OiBmYWxzZSxcclxuXHRcdFx0XHRkaWdhbzogJycsXHJcblx0XHRcdFx0bGF0bG9uOiAnJyxcclxuXHRcdFx0XHRtb2RlbDoge1xyXG5cdFx0XHRcdFx0cG9pbnRzOiAnJyxcclxuXHRcdFx0XHRcdGZlbmNlRmxvb3JIZTogJy0xJywgLy/lm7TmoI/lupXpq5hcclxuXHRcdFx0XHRcdGhlaWdodDogJycsIC8v5Zu05qCP6auYXHJcblx0XHRcdFx0XHRsaW5lSGVpZ2h0OiAnLTEnLCAvL+WvvOe6v+mrmFxyXG5cdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0cGVyQ29tcGFueTogJycsXHJcblx0XHRcdFx0XHRhZGRwZXJzb246IHRoaXMudXNlcm5hbWUsXHJcblx0XHRcdFx0XHQvLyAvLyB1c2VySW5mbzoge1xyXG5cdFx0XHRcdFx0bmFtZTogJycsXHJcblx0XHRcdFx0XHRqdWxpOiAnJyxcclxuXHRcdFx0XHRcdHR5cGU6ICcnLFxyXG5cdFx0XHRcdFx0ZGVwYXJ0bWVudDogJycsXHJcblx0XHRcdFx0XHRkaXN0YW5jZTogJzAnLFxyXG5cdFx0XHRcdFx0ZGlhbnlhOiAnJyxcclxuXHRcdFx0XHRcdC8vIGZlbmNldHlwZTonJywvL+WbtOagj+aAp+i0qFxyXG5cdFx0XHRcdFx0aXNwbGF5OiAnMCcsXHJcblx0XHRcdFx0XHRub3dhcm5tZXM6ICcnLFxyXG5cdFx0XHRcdFx0d2Fybm1lczogJycsXHJcblx0XHRcdFx0XHRmZW5jZXR5cGU6ICflj5jnlLXkvZzkuJonLFxyXG5cdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGRyYXdzaG93OiBmYWxzZSxcclxuXHRcdFx0XHRjaGVja2VkOiBmYWxzZSxcclxuXHRcdFx0XHRndWlqaXNob3c6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3c6IGZhbHNlLFxyXG5cdFx0XHRcdGFtYXBzdWR1UG9pbnRzOiAwLFxyXG5cdFx0XHRcdGFtYXBlbmRHdWlqaVBvaW50czogJycsXHJcblx0XHRcdFx0YW1hcEd1aWppUG9pbnRzOiBbXSxcclxuXHRcdFx0XHRhbWFwRmVuY2VQb2ludHM6IFtdLFxyXG5cdFx0XHRcdGFtYXBkZUZlbmNlUG9pbnRzOiB7fSxcclxuXHRcdFx0XHRrZXl3b3JkOiAnJyxcclxuXHRcdFx0XHR0b3BoZWlnaHQ6IDU1LFxyXG5cdFx0XHRcdHRocmVlb3J0d286IFtdLFxyXG5cdFx0XHRcdGFtYXBQb2ludHM6IFtdLCAvLyDov5nlsLHmmK/miJHku6zpnIDopoHlkJHop4blm77lsYLkvKDpgJLnmoTmlbDmja5cclxuXHRcdFx0XHRhbWFwUG9pbnREYXRhOiBbXSwgLy8g6L+Z5bCx5piv5oiR5Lus6ZyA6KaB5ZCR6KeG5Zu+5bGC5Lyg6YCS55qE5pWw5o2uXHJcblx0XHRcdFx0YW1hcGxkcmF3RGF0YTogW10sXHJcblx0XHRcdFx0YW1hcEdQU1BvaW50czogW10sXHJcblx0XHRcdFx0bWFyc3NldDoge30sXHJcblx0XHRcdFx0cG9pbnQ6IHt9LFxyXG5cdFx0XHRcdGRyYXdsaXN0OiBbXSxcclxuXHRcdFx0XHRsb25naXR1ZGU6ICcnLFxyXG5cdFx0XHRcdGxhdGl0dWRlOiAnJyxcclxuXHRcdFx0XHRzaG93NDogZmFsc2UsXHJcblx0XHRcdFx0c2hvd3RhZ2lkOiBmYWxzZSxcclxuXHRcdFx0XHR0YWdpZGxpc3Q6IFtdLFxyXG5cdFx0XHRcdHRhZ29ubGllOiAnJyxcclxuXHRcdFx0XHRza2VsZXRvbkhlaWdodDogJycsXHJcblx0XHRcdFx0YnV0dG9uVG9wOiAwLCAvLyDmjInpkq7nmoQgdG9wIOS9jee9rlxyXG5cdFx0XHRcdGJ1dHRvbkxlZnQ6IDAgLy8g5oyJ6ZKu55qEIGxlZnQg5L2N572uXHJcblx0XHRcdH1cclxuXHJcblx0XHR9LFxyXG5cdFx0cHJvcHM6IHtcclxuXHRcdFx0ZmVuY2Vwb3NpdGlvbjoge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHQvLyBkZWZhdWx0OiA2MFxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdH0sXHJcblx0XHRtb3VudGVkKCkge1xyXG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLmZlbmNlcG9zaXRpb24pO1xyXG5cclxuXHRcdFx0dGhpcy5nZXRMb2NhdGlvbigpO1xyXG5cdFx0XHR0aGlzLndhcm5pZGxpc3QgPSBbXVxyXG5cdFx0XHR0aGlzLndhcm5saXN0ID0gW11cclxuXHRcdFx0dGhpcy5maW5kdGFnaWRhbGwoKTtcclxuXHRcdFx0dGhpcy5maW5kYnVtZW5hbGwoKTtcclxuXHRcdFx0dGhpcy5pbml0TWFwKCk7XHJcblx0XHRcdC8vIHRoaXMudXBkYXRlQnV0dG9uUG9zaXRpb24oKTsgLy8g5Yid5aeL5YyW5oyJ6ZKu5L2N572uXHJcblx0XHRcdC8vIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnVwZGF0ZUJ1dHRvblBvc2l0aW9uKTsgLy8g55uR5ZCs56qX5Y+j5aSn5bCP5Y+Y5YyWXHJcblx0XHRcdHRoaXMuJG5leHRUaWNrKCgpID0+IHtcclxuXHRcdFx0XHQvLyDojrflj5bns7vnu5/kv6Hmga9cclxuXHRcdFx0XHRjb25zdCBzeXN0ZW1JbmZvID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKClcclxuXHRcdFx0XHR0aGlzLnNrZWxldG9uSGVpZ2h0ID0gc3lzdGVtSW5mby5zYWZlQXJlYS5oZWlnaHRcclxuXHRcdFx0XHR0aGlzLmJ1dHRvblRvcCA9IHRoaXMuc2tlbGV0b25IZWlnaHQgLSAyMjQ7XHJcblxyXG5cdFx0XHRcdHRoaXMuYnV0dG9uTGVmdCA9IDE1O1xyXG5cdFx0XHRcdC8vIHRoaXMud2ViSGVpZ2h0ID0gdGhpcy5za2VsZXRvbkhlaWdodCAtIHRoaXMudGFiQmFySGVpZ2h0XHJcblxyXG5cdFx0XHRcdC8vIHRoaXMudnVleF9zdGF0dXNfYmFyX2hlaWdodCA9IHRoaXMud2ViSGVpZ2h0XHJcblx0XHRcdFx0Ly8gdGhpcy5jdXJyZW50SW5kZXggPSAyXHJcblx0XHRcdH0pXHJcblx0XHRcdHRoaXMudGhyZWVvcnR3by5wdXNoKHRoaXMuaXMzd2VpKVxyXG5cdFx0XHQvLyB0aGlzLmFtYXBQb2ludHMgPSBbXVxyXG5cdFx0XHQvLyB0aGlzLmFtYXBCYXNlUG9pbnRzID0gW11cclxuXHRcdFx0Ly8gdGhpcy5hbWFwRmVuY2VQb2ludHMgPSBbXVxyXG5cclxuXHRcdFx0Ly8gdGhpcy5hbWFwR3VpamlQb2ludHMgPSBbXVxyXG5cdFx0XHQvLyB0aGlzLmFtYXBlbmRHdWlqaVBvaW50cyA9ICcnXHJcblx0XHRcdHRoaXMudG9waGVpZ2h0ID0gdGhpcy52dWV4X2N1c3RvbV9iYXJfaGVpZ2h0ICsgMTVcclxuXHJcblxyXG5cclxuXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQvLyB1cGRhdGVCdXR0b25Qb3NpdGlvbigpIHtcclxuXHRcdFx0Ly8gXHRcdCAgICAgICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xyXG5cdFx0XHQvLyBcdFx0XHRcdGNvbnNvbGUubG9nKHdpbmRvd0hlaWdodCk7XHJcblx0XHRcdC8vIFx0XHQgICAgICAgIGNvbnN0IHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcblx0XHRcdC8vIFx0XHQgICAgICAgIHRoaXMuYnV0dG9uVG9wID0gd2luZG93SGVpZ2h0LTI3OSA7XHJcblx0XHRcdC8vIFx0XHQgICAgICAgIHRoaXMuYnV0dG9uTGVmdCA9IDE1O1xyXG5cdFx0XHQvLyBcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYnV0dG9uVG9wKTtcclxuXHRcdFx0Ly8gXHRcdCAgICAgIH0sXHJcblx0XHRcdGZpbmR0YWdpZGFsbCgpIHtcclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdFx0anVlc2U6IHVuaS5nZXRTdG9yYWdlU3luYygnanVlc2UnKSxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGZpbmR0YWdpZChwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudGFnaWRsaXN0ID0gcmVzLmRhdGEubWFwKGl0ZW0gPT4gKHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBpdGVtLm9ubGluZSxcclxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBpdGVtLnRhZ2lkXHJcblx0XHRcdFx0XHRcdFx0fSkpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0XHR0eHQ6IHJlcy5tc2dcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb25maXJtdGFnaWQoZSkge1xyXG5cdFx0XHRcdHRoaXMuY29kZSA9IGVbMF0ubGFiZWxcclxuXHRcdFx0XHQvLyB0aGlzLnRhZ29ubGllID0gZVswXS52YWx1ZVxyXG5cdFx0XHRcdHRoaXMuc2VhY2hjb2RlKClcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGNoYW5nZVJhbmdlTGV2ZWwoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUpO1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMubW9kZWwuanVsaSk7XHJcblx0XHRcdFx0dGhpcy5tb2RlbC5qdWxpID0gdGhpcy5yYW5nZUxldmVsW2VdLnRleHQ7XHJcblx0XHRcdFx0Ly8gaWYgKHRoaXMubW9kZWwuanVsaSAhPSAnJykge1xyXG5cdFx0XHRcdHRoaXMubW9kZWwuZGlhbnlhID0gdGhpcy5yYW5nZUxldmVsW2VdLnZhbHVlLnNwbGl0KFwibVwiKVswXVxyXG5cdFx0XHRcdC8vIH1cclxuXHRcdFx0XHQvLyB0aGlzLmRpYW55YSA9IGU7XHJcblx0XHRcdFx0Ly8gdGhpcy5tb2RlbC5kaWFueWEgPSBlLnNwbGl0KFwibVwiKVswXTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0TG9jYXRpb24oKSB7XHJcblx0XHRcdFx0dW5pLmdldExvY2F0aW9uKHtcclxuXHRcdFx0XHRcdHR5cGU6ICd3Z3M4NCcsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+W9k+WJjeS9jee9rueahOe7j+W6pu+8micgKyByZXMubG9uZ2l0dWRlKTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+W9k+WJjeS9jee9rueahOe6rOW6pu+8micgKyByZXMubGF0aXR1ZGUpO1xyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdG9uY2hhbmdlKGUpIHtcclxuXHRcdFx0XHR2YXIgbGlzdCA9IFtdXHJcblx0XHRcdFx0aWYgKHRoaXMucG9pbnRsaXN0Lmxlbmd0aCA8IGUudmFsdWUpIHtcclxuXHRcdFx0XHRcdGZvciAodmFyIGkgPSB0aGlzLnBvaW50bGlzdC5sZW5ndGg7IGkgPCBlLnZhbHVlOyBpKyspIHtcclxuXHJcblx0XHRcdFx0XHRcdGxpc3QucHVzaChpKVxyXG5cdFx0XHRcdFx0XHR0aGlzLnBvaW50bGlzdC5wdXNoKGkpXHJcblx0XHRcdFx0XHRcdC8vIGVbaV1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5wb2ludGxpc3Quc3BsaWNlKGUudmFsdWUsIHRoaXMucG9pbnRsaXN0Lmxlbmd0aCAtIGUudmFsdWUpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRyYWRpb0NoYW5nZShuKSB7XHJcblxyXG5cdFx0XHRcdGlmIChuID09ICflj5jnlLXkvZzkuJonKSB7XHJcblx0XHRcdFx0XHR0aGlzLmlzcGVydGllcyA9IHRydWVcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5pc3BlcnRpZXMgPSBmYWxzZVxyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHNlYWNoY29kZShlKSB7XHJcblx0XHRcdFx0dGhpcy5kcmF3bGlzdCA9IFtdXHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0aWQ6IHRoaXMuY29kZSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGZpbmR0YWdJZFBlcnNvbihwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5kYXRhICE9IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy50YWdvbmxpZSA9IHJlcy5kYXRhLm9ubGluZVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEuZ3Bzc3RhdHVzID09ICc0Jykge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZGlzYWJsZWQgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuY29udGVudCA9ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5wb2ludGNvbnRlbnQgPSAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZGlnYW8gPSByZXMuZGF0YS5oZWlnaHRcclxuXHRcdFx0XHRcdFx0XHQvLyB0aGlzLmVuZCA9IHRydWVcclxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5lbmQgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5tb2RlbC5wb2ludHMgKz0gcmVzLmRhdGEubGF0ICsgXCI6XCIgKyByZXMuZGF0YS5sb24gKyBcIjtcIlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZHJhd2xpc3QucHVzaChyZXMuZGF0YS5sYXQpXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmRyYXdsaXN0LnB1c2gocmVzLmRhdGEubG9uKVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwbGRyYXdEYXRhLnB1c2godGhpcy5kcmF3bGlzdClcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Ly8gaWYgKHRoaXMucG9pbnRsb2NrID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdHRoaXMuYW1hcFBvaW50RGF0YS5wdXNoKHJlcy5kYXRhKVxyXG5cclxuXHRcdFx0XHRcdFx0XHQvLyBcdHRoaXMucG9pbnRsb2NrID0gZmFsc2VcclxuXHRcdFx0XHRcdFx0XHQvLyB9XHJcblxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuY29udGVudCA9ICforr7lpIfpnZ7pq5jnsr4nXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5kaXNhYmxlZCA9IHRydWVcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnBvaW50Y29udGVudCA9ICforr7lpIfpnZ7pq5jnsr4nXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZGlzYWJsZWQgPSB0cnVlXHJcblx0XHRcdFx0XHRcdHRoaXMuY29udGVudCA9ICfmnKrmkJzntKLliLDorr7lpIcnXHJcblx0XHRcdFx0XHRcdHRoaXMucG9pbnRjb250ZW50ID0gJ+acquaQnOe0ouWIsOiuvuWkhydcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0Ly8gXHQvLzXnp5Lmkq3mlL7kuIDmrKFcclxuXHRcdFx0XHRcdHRoaXMuc2VhY2hjb2RlKClcclxuXHRcdFx0XHR9LCAxMDAwKTtcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGlzb3BlbihlKSB7XHJcblx0XHRcdFx0aWYgKGUgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0dGhpcy5tb2RlbC5pc3BsYXkgPSAnMSdcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5tb2RlbC5pc3BsYXkgPSAnMCdcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGZpbmRidW1lbmFsbCgpIHtcclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdFx0anVlc2U6IHVuaS5nZXRTdG9yYWdlU3luYygnanVlc2UnKSxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGZpbmRidW1lbihwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYnVtZW5MaXN0ID0gcmVzLmRhdGEubWFwKGl0ZW0gPT4gKHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBpdGVtLm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHR0ZXh0OiBpdGVtLm5hbWVcclxuXHRcdFx0XHRcdFx0XHR9KSk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdHR4dDogcmVzLm1zZ1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdHR5cGVDYWxsYmFjayhpbmRleCkge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdHR5cGU6IHRoaXMudHlwZUxpc3RbaW5kZXhdLnRleHQsXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGZpbmRXYXJubWVzKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHQvLyBub3dhcm5tZXM6ICfpnaDov5HljbHpmanor7fms6jmhI8nLFxyXG5cdFx0XHRcdFx0XHQvLyB3YXJubWVzOiAn6L+b5YWl5Y2x6Zmp5Yy65Z+f6K+35rOo5oSPJyxcclxuXHRcdFx0XHRcdFx0Ly8gaWYgKHJlcy5kYXRhLnR5cGUgPT0gXCLlt6XkvZzljLpcIikge1xyXG5cdFx0XHRcdFx0XHQvLyBcdHRoaXMubW9kZWwubm93YXJubWVzID0gcmVzLmRhdGEubm93YXJubWVzICsgXCI7XCIgKyByZXMuZGF0YS5ub3dhcm5tZXN0eXBlXHJcblx0XHRcdFx0XHRcdC8vIFx0dGhpcy5tb2RlbC53YXJubWVzID0gcmVzLmRhdGEud2Fybm1lcyArIFwiO1wiICsgcmVzLmRhdGEud2Fybm1lc3R5cGVcclxuXHRcdFx0XHRcdFx0Ly8gfSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5tb2RlbC5ub3dhcm5tZXMgPSByZXMuZGF0YS5ub3dhcm5tZXNcclxuXHRcdFx0XHRcdFx0dGhpcy5tb2RlbC53YXJubWVzID0gcmVzLmRhdGEud2Fybm1lc1xyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHRoaXMubW9kZWwudHlwZSA9IHRoaXMudHlwZUxpc3RbaW5kZXhdLnRleHQ7XHJcblx0XHRcdH0sXHJcblx0XHRcdGJ5bWVuQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHR0aGlzLm1vZGVsLmRlcGFydG1lbnQgPSB0aGlzLmJ1bWVuTGlzdFtpbmRleF0udGV4dDtcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGFjcXVpc2l0aW9ueHkoaW5kZXgsIGksIG5hbWUpIHtcclxuXHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHRiYW9saXUzOiB0aGlzLmNvZGUsXHJcblx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZyhwYXJhbXMpO1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGFjcXVpc2l0aW9uKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHRoaXMubW9kZWwuZmVuY2V0eXBlID09ICflj5jnlLXkvZzkuJonKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyB0aGlzLm1vZGVsLnBvaW50cyArPSByZXMuZGF0YS5sYXQgKyBcIjpcIiArIHJlcy5kYXRhLmxvbiArIFwiO1wiXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnBvaW50bGlzdC5zcGxpY2UoaW5kZXgsIDEsIHJlcy5kYXRhLmxhdCArIFwiOlwiICsgcmVzLmRhdGEubG9uKTtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMucG9pbnRsaXN0KTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuYW1hcFBvaW50RGF0YS5zcGxpY2UoaW5kZXgsIDEsIHJlcy5kYXRhKTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHRoaXMuYW1hcFBvaW50RGF0YS5wdXNoKHJlcy5kYXRhKVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gdGhpcy5hbWFwUG9pbnREYXRhID0gdGhpcy5wb2ludGxpc3RcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMucG9pbnRsb2NrID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhuYW1lKTtcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChuYW1lID09ICd6YicpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coaW5kZXgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhpKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy56dW9iaWFvbGlzdFtpbmRleCAtIDFdW2ldID0gcmVzLmRhdGEubGF0ICsgXCI6XCIgKyByZXMuZGF0YS5sb24gKyBcIjtcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnp1b2JpYW9saXN0W2luZGV4IC0gMV1bMl0gPSByZXMuZGF0YS5oZWlnaHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwUG9pbnREYXRhLnNwbGljZShpbmRleCArIGksIDEsIHJlcy5kYXRhKTtcclxuXHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuc2FnbGlzdFtpbmRleCAtIDFdW2ldID0gcmVzLmRhdGEubGF0ICsgXCI6XCIgKyByZXMuZGF0YS5sb24gKyBcIjtcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnNhZ2xpc3RbaW5kZXggLSAxXVsyXSA9IHJlcy5kYXRhLmhlaWdodFxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0XHR0eHQ6IHJlcy5tc2dcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0dmFsQ2hhbmdlKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygn5b2T5YmN5YC85Li6OiAnICsgZS52YWx1ZSlcclxuXHRcdFx0fSxcclxuXHRcdFx0aW5pdGxvY2soKSB7XHJcblx0XHRcdFx0dGhpcy5mZXRjaFBlcnNvbnNMaXN0KCk7XHJcblx0XHRcdFx0dGhpcy5mZXRjaEZlbmNlTGlzdCgpO1xyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0Y2xvc2Vtb2RhbCgpIHtcclxuXHRcdFx0XHR0aGlzLmRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2FuY2VsbW9kYWwoKSB7XHJcblx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdH0sXHJcblx0XHRcdGNhbmNlbHNhdmUoKSB7XHJcblx0XHRcdFx0dGhpcy5zYXZlZmVuY2UgPSBmYWxzZVxyXG5cdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdHNhdmUoKSB7XHJcblx0XHRcdFx0dGhpcy5tb2RlbC5jb21wYW55ID0gdGhpcy5jb21wYW55XHJcblx0XHRcdFx0dGhpcy5tb2RlbC5hZGRwZXJzb24gPSB0aGlzLnZ1ZXhfdXNlclxyXG5cdFx0XHRcdHRoaXMubW9kZWwucGVyQ29tcGFueSA9IHRoaXMuY29tcGFueVxyXG5cclxuXHJcblx0XHRcdFx0aWYgKHRoaXMubW9kZWwuZmVuY2V0eXBlID09ICfovpPnlLXkvZzkuJonKSB7XHJcblx0XHRcdFx0XHR0aGlzLm1vZGVsLnBvaW50cyA9IHRoaXMuenVvYmlhb2xpc3RcclxuXHRcdFx0XHRcdHZhciBoZWkgPSAnJ1xyXG5cdFx0XHRcdFx0bGV0IG51bSA9IHRoaXMudGFudW0gLSAxXHJcblx0XHRcdFx0XHRsZXQgcmVzdWx0ID0gJyc7XHJcblx0XHRcdFx0XHQvL+agueaNruWhlOaVsOW+queOr+afpeivouWhlOWSjOW8p+WegueahOWdkOagh0HmlbDmja7vvIzmoLnmja7nrKzkuIDmnaHloZTvvIznrKzkuozmnaHlvKflnoLmiormlbDmja7mi7zmjqXotbfmnaVcclxuXHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YW51bTsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdHJlc3VsdCArPSB0aGlzLnp1b2JpYW9saXN0W2ldWzBdO1xyXG5cdFx0XHRcdFx0XHRpZiAoaSA8IG51bSkge1xyXG5cdFx0XHRcdFx0XHRcdHJlc3VsdCArPSB0aGlzLnNhZ2xpc3RbaV1bMF07XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGhlaSArPSB0aGlzLnp1b2JpYW9saXN0W2ldWzJdICsgXCI6XCIgKyB0aGlzLnp1b2JpYW9saXN0W2ldWzNdICsgJzsnO1xyXG5cdFx0XHRcdFx0XHRpZiAoaSA8IG51bSkge1xyXG5cdFx0XHRcdFx0XHRcdGhlaSArPSB0aGlzLnNhZ2xpc3RbaV1bMl0gKyBcIjpcIiArIHRoaXMuc2FnbGlzdFtpXVszXSArICc7JztcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Ly8gaGVpICs9IHRoaXMuenVvYmlhb2xpc3RbaV1bM107XHJcblx0XHRcdFx0XHRcdC8vIGlmIChpIDwgbnVtKSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0aGVpICs9IHRoaXMuc2FnbGlzdFtpXVszXTtcclxuXHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ly/ku47mnIDlkI7kuIDmnaHmn6Xor6LngrnkvY1C56ys5LiA5p2h5aGU77yM56ys5LqM5p2h5byn5Z6C5ou85o6l77yM5pyA5ZCO5oqK5Lik57uE5pWw5o2u5ou85o6l6LW35p2lXHJcblx0XHRcdFx0XHRmb3IgKGxldCBpID0gdGhpcy50YW51bSAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcblx0XHRcdFx0XHRcdHJlc3VsdCArPSB0aGlzLnp1b2JpYW9saXN0W2ldWzFdO1xyXG5cdFx0XHRcdFx0XHRpZiAoaSA+PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0cmVzdWx0ICs9IHRoaXMuc2FnbGlzdFtpIC0gMV1bMV07XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdC8vIGhlaSArPSB0aGlzLnp1b2JpYW9saXN0W2ldWzJdO1xyXG5cdFx0XHRcdFx0XHQvLyBpZiAoaSA+PSAxKSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0aGVpICs9IHRoaXMuc2FnbGlzdFtpIC0gMV1bMl07XHJcblx0XHRcdFx0XHRcdC8vIH1cclxuXHJcblx0XHRcdFx0XHRcdGhlaSArPSB0aGlzLnp1b2JpYW9saXN0W2ldWzJdICsgXCI6XCIgKyB0aGlzLnp1b2JpYW9saXN0W2ldWzNdICsgJzsnO1xyXG5cdFx0XHRcdFx0XHRpZiAoaSA+PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0aGVpICs9IHRoaXMuc2FnbGlzdFtpIC0gMV1bMl0gKyBcIjpcIiArIHRoaXMuc2FnbGlzdFtpIC0gMV1bM10gKyAnOyc7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlc3VsdCk7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhoZWkpO1xyXG5cdFx0XHRcdFx0dGhpcy5tb2RlbC5wb2ludHMgPSByZXN1bHRcclxuXHRcdFx0XHRcdHRoaXMubW9kZWwubGluZUhlaWdodCA9IGhlaVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRsZXQgcmVzdWx0ID0gJyc7XHJcblx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMucG9pbnRsaXN0Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdHJlc3VsdCArPSB0aGlzLnBvaW50bGlzdFtpXSArIFwiO1wiXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLm1vZGVsLnBvaW50cyA9IHJlc3VsdFxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dGhpcy4kcmVmcy51Rm9ybS52YWxpZGF0ZSgpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdHVuaS4kdS50b2FzdCgn5qCh6aqM6YCa6L+HJylcclxuXHRcdFx0XHRcdHN1Ym1pdHBlcih0aGlzLm1vZGVsKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0XHR0eHQ6IFwi5L+d5a2Y5oiQ5YqfXCJcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zYXZlZmVuY2UgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYW1hcGxkcmF3RGF0YSA9IFtdXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwUG9pbnREYXRhID0gW11cclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHh0OiByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0Ly8gdGhpcy5zYXZlZmVuY2UgPSBmYWxzZVxyXG5cdFx0XHRcdH0pLmNhdGNoKGVycm9ycyA9PiB7XHJcblx0XHRcdFx0XHQvLyB1bmkuJHUudG9hc3QoJ+agoemqjOWksei0pScpXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQvLyB0aGlzLnNhdmVmZW5jZSA9IGZhbHNlXHJcblx0XHRcdH0sXHJcblxyXG5cclxuXHRcdFx0Zm9ybWF0RGF0ZShkYXRlKSB7XHJcblx0XHRcdFx0Y29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuXHRcdFx0XHRjb25zdCBtb250aCA9IFN0cmluZyhkYXRlLmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpOyAvLyDmnIjku73ku44gMCDlvIDlp4tcclxuXHRcdFx0XHRjb25zdCBkYXkgPSBTdHJpbmcoZGF0ZS5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcblx0XHRcdFx0Y29uc3QgaG91cnMgPSBTdHJpbmcoZGF0ZS5nZXRIb3VycygpKS5wYWRTdGFydCgyLCAnMCcpO1xyXG5cdFx0XHRcdGNvbnN0IG1pbnV0ZXMgPSBTdHJpbmcoZGF0ZS5nZXRNaW51dGVzKCkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcblx0XHRcdFx0Y29uc3Qgc2Vjb25kcyA9IFN0cmluZyhkYXRlLmdldFNlY29uZHMoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuXHJcblx0XHRcdFx0cmV0dXJuIHllYXIgKyBcIi1cIiArIG1vbnRoICsgXCItXCIgKyBkYXkgKyBcIiBcIiArIGhvdXJzICsgXCI6XCIgKyBtaW51dGVzICsgXCI6XCIgKyBzZWNvbmRzO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0c3RhcnRkcmF3KCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLmNvZGUgPT0gJycpIHtcclxuXHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0dHh0OiAn6K+36L6T5YWl57uI56uv57yW5Y+3J1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdC8v6YCJ5oup5Y+Y55S15L2c5LiaXHJcblx0XHRcdFx0XHRpZiAodGhpcy5pc3BlcnRpZXMgPT0gZmFsc2UpIHtcclxuXHRcdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnRhbnVtOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy56dW9iaWFvbGlzdFtpXVswXSA9PSAnJyAmJiB0aGlzLnp1b2JpYW9saXN0W2ldWzFdID09ICcnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBsb2NrID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0eHQ6ICfor7flhYjmiZPngrknXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHRoaXMuenVvYmlhb2xpc3RbaV1bMl0gPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dHh0OiAn6K+36L6T5YWl5a+857q/6auYJ1xyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBsb2NrID0gZmFsc2VcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5kcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IHRydWVcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGlmICh0aGlzLmRyYXd3YXkgPT0gXCLov57nu63nu5jliLZcIikge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMubGRyYXdzaG93ID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucG9pbnRkcmF3c2hvdyA9IHRydWVcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGNhbmNlbHBvaW50KCkge1xyXG5cdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSB0cnVlXHJcblx0XHRcdFx0dGhpcy5wb2ludGRyYXdzaG93ID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0c2F2ZXBvaW50KCkge1xyXG5cdFx0XHRcdHRoaXMucG9pbnRkcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy5zYXZlZmVuY2UgPSB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdGZlbmNlSGUoKSB7XHJcblx0XHRcdFx0Ly/ojrflj5blm7TmoI/lupXpq5hcclxuXHRcdFx0XHR0aGlzLm1vZGVsLmZlbmNlRmxvb3JIZSA9IHRoaXMuZGlnYW9cclxuXHRcdFx0fSxcclxuXHRcdFx0ZW5kc2F2ZSgpIHtcclxuXHRcdFx0XHR0aGlzLmVuZCA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy5zYXZlZmVuY2UgPSB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdGxkcmF3Y2FuY2VsKCkge1xyXG5cdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSB0cnVlXHJcblx0XHRcdFx0dGhpcy5sZHJhd3Nob3cgPSBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0bGRyYXdjb25maXJtKCkge1xyXG5cclxuXHRcdFx0XHR0aGlzLmxkcmF3c2hvdyA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy5lbmQgPSB0cnVlXHJcblx0XHRcdFx0Ly8gdGhpcy5tb2RlbC5wb2ludHMgKz0gdGhpcy5sYXRsb25cclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hhbmdlKGUpIHtcclxuXHRcdFx0XHR0aGlzLmFtYXBzdWR1UG9pbnRzID0gZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRkcmF3KCkge1xyXG5cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luID09IHRydWUpIHtcclxuXHRcdFx0XHRcdHRoaXMuZHJhd3Nob3cgPSB0cnVlXHJcblx0XHRcdFx0XHR0aGlzLnNhdmVmZW5jZSA9IGZhbHNlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR6b29tKCkge1xyXG5cdFx0XHRcdHRoaXMuc2hvdyA9ICF0aGlzLnNob3dcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVjZWl2ZVJlbmRlckRhdGEodmFsKSB7XHJcblx0XHRcdFx0dGhpcy5mZXRjaFBlcnNvbnNMaXN0KCk7XHJcblx0XHRcdFx0dGhpcy51cGRhdGVUcmFqZWN0b3JpZXMoKTtcclxuXHRcdFx0XHR0aGlzLmZldGNoRmVuY2VMaXN0KCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNlYXJjaHhpbnhpKCkge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdG5hbWU6IHRoaXMua2V5d29yZCxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0ZmluZFBlcnNvbihwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdHZhciB0YXJnZXRQb2ludCA9IHt9XHJcblx0XHRcdFx0XHRcdFx0dGFyZ2V0UG9pbnQubGF0ID0gcmVzLmRhdGEubG9uXHJcblx0XHRcdFx0XHRcdFx0dGFyZ2V0UG9pbnQubG9uID0gcmVzLmRhdGEubGF0XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5wb2ludCA9IHRhcmdldFBvaW50XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRcdHR4dDogcmVzLm1zZ1xyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGxlTWFwQ2xpY2soZSkge1xyXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ21hcnMzZGMnLCBlKVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Z3VpamlDbGljayhlKSB7XHJcblx0XHRcdFx0dGhpcy5kcW51bSA9IGUuZHFudW1cclxuXHRcdFx0XHR0aGlzLnBsYWNrVGltZSA9IGUucGxhY2tUaW1lXHJcblx0XHRcdH0sXHJcblx0XHRcdGluaXRNYXAoKSB7XHJcblx0XHRcdFx0Ly8gaWYgKHRoaXMudnVleF9pc19sb2dpbikgeyBcclxuXHRcdFx0XHRNYXJzSG9tZSgpLnRoZW4oKHJlcCkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMubG9ubGF0ICE9ICcnKSB7XHJcblx0XHRcdFx0XHRcdHJlcC5kYXRhWzBdLm1hcHBvc2l0aW9uID0gdGhpcy5sb25sYXRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMubWFyc3NldCA9IHJlcC5kYXRhWzBdXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdH0sXHJcblx0XHRcdGZldGNoRmVuY2VMaXN0KCkge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGlmICh1bmkuZ2V0U3RvcmFnZVN5bmMoJ2lzZmVuY2UnKSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdGZpbmRBbGxGZW5jZShwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YSAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBmaWx0ZXJlZERhdGEgPSByZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLmlzcGxheSA9PT0gMCk7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZmlsdGVyZWREYXRhICE9IG51bGwpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwZGVGZW5jZVBvaW50cyA9IGZpbHRlcmVkRGF0YVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuYW1hcEZlbmNlUG9pbnRzLmxlbmd0aCA+IHJlcy5kYXRhLmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvL+W9k+acieWbtOagj+WIoOmZpOaXtuiwg+eUqOWcsOWbvuaKiuWbtOagj+WFqOmDqOWIoOmZpFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBtaXNzaW5nRGF0YSA9IHRoaXMuYW1hcEZlbmNlUG9pbnRzLmZpbHRlcihpdGVtMSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuICFyZXMuZGF0YS5zb21lKGl0ZW0yID0+IGl0ZW0yLmlkID09PSBpdGVtMS5pZCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBkZUZlbmNlUG9pbnRzID0gbWlzc2luZ0RhdGFcclxuXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBGZW5jZVBvaW50cyA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5hbWFwRmVuY2VQb2ludHMgPSBbXVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0dGhpcy5mZXRjaEZlbmNlTGlzdCgpO1xyXG5cdFx0XHRcdH0sIDUwMDApO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0ZmV0Y2hQZXJzb25zTGlzdCgpIHtcclxuXHRcdFx0XHR0aGlzLmFtYXBQb2ludHMgPSBbXVxyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGdldEdQU0Nlc2l1bShwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YSAhPSBudWxsKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmFtYXBQb2ludHMgPSByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCByZXMuZGF0YS5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyByZXMuZGF0YVtpXS5vbmxpbmU9PTFcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhW2ldLm9ubGluZSA9PSBcIjFcIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuenlzdGF0ZSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy53YXJubGlzdCApO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLnp5c3RhdGUgPT0gJ1NUQVJUJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKHJlcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0ud2FybnN0YXR1cyA9PSAnMScpLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRpZiAodGhpcy53YXJuaWRsaXN0LmluZGV4T2YocmVzLmRhdGFbaV0ud2FybnN0YXR1cz09JzEnKSA8IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdHRoaXMud2Fybmxpc3QucHVzaChyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLndhcm5zdGF0dXMgPT0gJzEnKVtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0XHQwXS50YWdpZCArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdFwi6L+b5YWl6aKE6K2m5Yy65Z+f6K+35rOo5oSPXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHR0aGlzLndhcm5pZGxpc3QucHVzaChyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLndhcm5zdGF0dXMgPT1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0JzEnKVswXS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHR9IGVsc2Uge1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdHRoaXMud2Fybmxpc3Quc3BsaWNlKHRoaXMud2FybmlkbGlzdC5pbmRleE9mKHJlcy5kYXRhLmZpbHRlcihcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0XHRcdGl0ZW0gPT4gaXRlbS53YXJuc3RhdHVzICE9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdFx0XHQnMScpWzBdIFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdC50YWdpZCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0dGhpcy53YXJuaWRsaXN0LnNwbGljZSh0aGlzLndhcm5pZGxpc3QuaW5kZXhPZihyZXMuZGF0YS5maWx0ZXIoaXRlbSA9PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdGl0ZW0ud2FybnN0YXR1cyAhPVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0XHRcdCcxJylbMF1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdFx0LnRhZ2lkKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLndhcm5pZGxpc3QuaW5kZXhPZihyZXMuZGF0YVtpXS50YWdpZCkpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMud2FybmlkbGlzdC5pbmRleE9mKHJlcy5kYXRhW2ldLnRhZ2lkKSA8IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhW2ldLndhcm5zdGF0dXMgPT0gJzEnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJubGlzdC5wdXNoKHJlcy5kYXRhW2ldLnRhZ2lkICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwi6L+b5YWl6aKE6K2m5Yy65Z+f6K+35rOo5oSPXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRsaXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocmVzLmRhdGFbaV0uYmFvbGl1Mi5zcGxpdChcIjtcIilbMF0gPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2Fybmxpc3QucHVzaChyZXMuZGF0YVtpXS50YWdpZCArXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcIui/m+WFpeemgeWFpeWMuuivt+azqOaEj1wiKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2FybmlkbGlzdC5wdXNoKHJlcy5kYXRhW2ldLnRhZ2lkKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5kYXRhW2ldLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzFdID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5saXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQgK1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCLotoXojIPlm7Tor7fms6jmhI9cIilcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5pZGxpc3QucHVzaChyZXMuZGF0YVtpXS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuZGF0YVtpXS5iYW9saXUyLnNwbGl0KFwiO1wiKVsyXSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJubGlzdC5wdXNoKHJlcy5kYXRhW2ldLnRhZ2lkICtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwi6LaF6auY6K+35rOo5oSPXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRsaXN0LnB1c2gocmVzLmRhdGFbaV0udGFnaWQpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YVtpXS5iYW9saXUyLnNwbGl0KFwiO1wiKVswXSA9PSAxKSB7fSBlbHNlIGlmIChyZXMuZGF0YVtpXVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC5iYW9saXUyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LnNwbGl0KFwiO1wiKVsxXSA9PSAwKSB7fSBlbHNlIGlmIChyZXMuZGF0YVtpXS5iYW9saXUyLnNwbGl0KFwiO1wiKVtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDJdID09XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0MSkge30gZWxzZSBpZiAocmVzLmRhdGFbaV0ud2FybnN0YXR1cyA9PSAnMScpIHt9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMud2Fybmxpc3Quc3BsaWNlKHRoaXMud2FybmlkbGlzdC5pbmRleE9mKHJlcy5kYXRhW2ldLnRhZ2lkKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDEpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRsaXN0LnNwbGljZSh0aGlzLndhcm5pZGxpc3QuaW5kZXhPZihyZXMuZGF0YVtpXS50YWdpZCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQxKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9IFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBmaWx0ZXJlZERhdGEgPSByZXMuZGF0YS5maWx0ZXIoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGl0ZW0ub25saW5lID09PSBcIjFcIiAmJiBpdGVtLmdwc3N0YXR1cyAhPT0gXCI0XCIgJiYgKFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXRlbVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LmJhb2xpdTEgPT09XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQn5omL5oyB5qCH562+JyB8fCBpdGVtLmJhb2xpdTEgPT09ICfovabovb3moIfnrb4nKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIOWwhuespuWQiOadoeS7tueahOaVsOaNrueahCB0YWdpZCDmt7vliqDliLAgdGhpcy53YXJuaWRsaXN0IOS4rVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmaWx0ZXJlZERhdGEuZm9yRWFjaChpdGVtID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAodGhpcy53YXJuaWRsaXN0LmluZGV4T2YoaXRlbS50YWdpZCkgPCAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5saXN0LnB1c2goaXRlbS50YWdpZCArIFwi6K6+5aSH6Z2e6auY57K+XCIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJuaWRsaXN0LnB1c2goaXRlbS50YWdpZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy53YXJubGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLndhcm5pZGxpc3QgPSBbXVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0XHR0aGlzLmZldGNoUGVyc29uc0xpc3QoKTtcclxuXHRcdFx0XHRcdH0sIDUwMDApO1xyXG5cdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdHVwZGF0ZVRyYWplY3RvcmllcygpIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0XHRnZXRHUFMocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5hbWFwR1BTUG9pbnRzID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8156eS5pKt5pS+5LiA5qyhXHJcblx0XHRcdFx0XHRcdHRoaXMudXBkYXRlVHJhamVjdG9yaWVzKCk7XHJcblx0XHRcdFx0XHR9LCAxMDAwKTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcbjwvc2NyaXB0PlxyXG48c2NyaXB0IG1vZHVsZT1cIm1hcnMzZFwiIGxhbmc9XCJyZW5kZXJqc1wiPlxyXG5cdGxldCBncmFwaGljTGF5ZXIgPSBudWxsO1xyXG5cdGxldCBncmFwaGljTGF5ZXJGZW5jZSA9IG51bGw7XHJcblx0bGV0IGdyYXBoaWNMYXllckZlbmNlQmlhbkppZSA9IG51bGw7XHJcblx0bGV0IGdyYXBoaWNMYXllckZlbmNlZHJ3YSA9IG51bGw7XHJcblx0dmFyIGNyZWRpdEh0bWwgPSAnJ1xyXG5cdHZhciBtYXBcclxuXHRsZXQgYWRkZWRDYXJJZHMgPSBuZXcgU2V0KCk7XHJcblx0bGV0IGFkZGVkQmFzZUlkcyA9IG5ldyBTZXQoKTtcclxuXHRsZXQgYWRkZWRGZW5jZUlkcyA9IG5ldyBTZXQoKTtcclxuXHR2YXIgTG9jdXNEYXRhO1xyXG5cdHZhciBMb2N1RGF0YTtcclxuXHR2YXIgY291bnROdW0gPSAwO1xyXG5cdHZhciBzdWR1cyA9IDEwMDA7XHJcblx0bGV0IGlzUnVubmluZyA9IHRydWU7IC8vIOagh+W/l+WPmOmHj++8jOeUqOS6juaOp+WItuaWueazleaYr+WQpue7p+e7reaJp+ihjFxyXG5cdHZhciBwYXJhbXM7XHJcblx0dmFyIHBsYWNrQ29udHJvbDtcclxuXHR2YXIgdGltZW91dElkO1xyXG5cdHZhciBpc1BsYWNrID0gdHJ1ZTtcclxuXHR2YXIgY2FyO1xyXG5cdHZhciBudW0gPSAwO1xyXG5cdHZhciBnbG9iYWxNYXAgPSBmYWxzZTtcclxuXHRpbXBvcnQge1xyXG5cdFx0bWFwT3B0aW9uc1xyXG5cdH0gZnJvbSAnLi9jb25maWcuanMnXHJcblx0aWYgKCFTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwpIHtcclxuXHRcdFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCA9IGZ1bmN0aW9uKHN0ciwgbmV3U3RyKSB7XHJcblx0XHRcdC8vIElmIGEgcmVnZXggcGF0dGVyblxyXG5cdFx0XHRpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHN0cikudG9Mb3dlckNhc2UoKSA9PT0gJ1tvYmplY3QgcmVnZXhwXScpIHtcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5yZXBsYWNlKHN0ciwgbmV3U3RyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyBJZiBhIHN0cmluZ1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5yZXBsYWNlKG5ldyBSZWdFeHAoc3RyLCAnZycpLCBuZXdTdHIpO1xyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0ZnBsb2NrOiBmYWxzZSxcclxuXHRcdFx0XHRmZW5jZXBsb2NrOiBmYWxzZSxcclxuXHRcdFx0XHRwbGlzdDogW10sXHJcblx0XHRcdFx0Y2FydGVzaWFuUG9pbnRzOiBbXSxcclxuXHRcdFx0XHRzdWR1czogMCxcclxuXHRcdFx0XHRib1N0YXJ0OiAwLFxyXG5cdFx0XHRcdGlzMmQ6IGZhbHNlLFxyXG5cdFx0XHRcdGRvdDogMTIzLFxyXG5cdFx0XHRcdGdyYXBoaWNMYWJlbHM6IHt9LFxyXG5cdFx0XHRcdGdyYXBoaWNMYWJlbHNpZHM6IHt9LFxyXG5cdFx0XHRcdGZlbmNlaWQ6ICcnLFxyXG5cdFx0XHRcdGZlbmNlaWRzOiAnJyxcclxuXHRcdFx0XHRncmFwaGljaWRzOiBbXSxcclxuXHRcdFx0XHRncmFwaGljRmVuY2U6IHt9LFxyXG5cdFx0XHRcdGxhYmVsczoge30sXHJcblx0XHRcdFx0bGlzdDoge30sXHJcblx0XHRcdFx0cGVybGlzdDoge30sXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRwcm9wczoge1xyXG5cdFx0XHRob21lbGF0OiB7XHJcblx0XHRcdFx0dHlwZTogTnVtYmVyLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRob21lbG5nOiB7XHJcblx0XHRcdFx0dHlwZTogTnVtYmVyLFxyXG5cdFx0XHR9LFxyXG5cdFx0fSxcclxuXHRcdG1vdW50ZWQoKSB7XHJcblx0XHRcdGFkZGVkQ2FySWRzID0gbmV3IFNldCgpO1xyXG5cdFx0XHRncmFwaGljTGF5ZXIgPSBudWxsXHJcblx0XHRcdHRoaXMubG9hZFNvdXJjZShbXHJcblxyXG5cdFx0XHRcdC8v55So5pys5Zyw5Zyw5Z2A77yM5bm25Y+v5Lul5a6Y572R5LiL6L295pyA5paw5YyF77yM5omL5Yqo6KaG55uW5LiL77yMaHR0cDovL21hcnMzZC5jbi9kb3dubG9hZC5odG1sXHJcblx0XHRcdFx0Ly8gXCJzdGF0aWMvbGliL0Nlc2l1bS9XaWRnZXRzL3dpZGdldHMuY3NzXCIsXHJcblx0XHRcdFx0Ly8gXCJzdGF0aWMvbGliL0Nlc2l1bS9DZXNpdW0uanNcIixcclxuXHRcdFx0XHQvLyBcInN0YXRpYy9saWIvbWFyczNkL21hcnMzZC5jc3NcIixcclxuXHRcdFx0XHQvLyBcInN0YXRpYy9saWIvbWFyczNkL21hcnMzZC5qc1wiLFxyXG5cdFx0XHRcdC8vIFwic3RhdGljL2Nzcy9zdHlsZS5jc3NcIiwgXHJcblxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy41Ni4xMTMuMjEzOjgwODAvaHh6a3V3Yi9Ib21lL2RlbW8vbGliL0Nlc2l1bS9XaWRnZXRzL3dpZGdldHMuY3NzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjU2LjExMy4yMTM6ODA4MC9oeHprdXdiL0hvbWUvZGVtby9saWIvQ2VzaXVtL0Nlc2l1bS5qc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy41Ni4xMTMuMjEzOjgwODAvaHh6a3V3Yi9Ib21lL2RlbW8vbGliL21hcnMzZC9tYXJzM2QuY3NzXCIsXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vMTIzLjU2LjExMy4yMTM6ODA4MC9oeHprdXdiL0hvbWUvZGVtby9saWIvbWFyczNkL21hcnMzZC5qc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy41Ni4xMTMuMjEzOjgwODAvaHh6a3V3Yi9Ib21lL2pzLzNETW9YaW5nLmpzXCIsXHJcblx0XHRcdFx0XCJodHRwOi8vMzkuMTA2LjIxMC4xMzo4ODg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL0Nlc2l1bS9XaWRnZXRzL3dpZGdldHMuY3NzXCIsXHJcblx0XHRcdFx0XCJodHRwOi8vMzkuMTA2LjIxMC4xMzo4ODg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL0Nlc2l1bS9DZXNpdW0uanNcIixcclxuXHRcdFx0XHRcImh0dHA6Ly8zOS4xMDYuMjEwLjEzOjg4ODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvbWFyczNkL21hcnMzZC5jc3NcIixcclxuXHRcdFx0XHRcImh0dHA6Ly8zOS4xMDYuMjEwLjEzOjg4ODgvaHh6a3V3Yi92aWV3L0hvbWUvZGVtby9saWIvbWFyczNkL21hcnMzZC5qc1wiLFxyXG5cclxuXHRcdFx0XHQvLyBcImh0dHA6Ly8xMjMuMTE3LjE1Mi4xMjA6ODA4OC9oeHprdXdiL3ZpZXcvSG9tZS9kZW1vL2xpYi9DZXNpdW0vV2lkZ2V0cy93aWRnZXRzLmNzc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL0Nlc2l1bS9DZXNpdW0uanNcIixcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly8xMjMuMTE3LjE1Mi4xMjA6ODA4OC9oeHprdXdiL3ZpZXcvSG9tZS9kZW1vL2xpYi9tYXJzM2QvbWFyczNkLmNzc1wiLFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDg4L2h4emt1d2Ivdmlldy9Ib21lL2RlbW8vbGliL21hcnMzZC9tYXJzM2QuanNcIixcclxuXHRcdFx0XHQvL+eUqOWcqOe6v+WcsOWdgFxyXG5cdFx0XHRcdC8vIFwiaHR0cDovL21hcnMzZC5jbi9saWIvQ2VzaXVtL1dpZGdldHMvd2lkZ2V0cy5jc3NcIixcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly9tYXJzM2QuY24vbGliL0Nlc2l1bS9DZXNpdW0uanNcIiwgXHJcblx0XHRcdFx0Ly8gXCJodHRwOi8vbWFyczNkLmNuL2xpYi9tYXJzM2QvbWFyczNkLmNzc1wiLCBcclxuXHRcdFx0XHQvLyBcImh0dHA6Ly9tYXJzM2QuY24vbGliL21hcnMzZC9tYXJzM2QuanNcIixcclxuXHRcdFx0XHRcInN0YXRpYy9jc3Mvc3R5bGUuY3NzXCIsXHJcblx0XHRcdF0pLnRoZW4oKCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMucmV3cml0ZUNlc2l1bVNvdXJjZXMoQ2VzaXVtKTtcclxuXHRcdFx0XHQvLyBpZiAoZ2xvYmFsTWFwPT1mYWxzZSkge1xyXG5cdFx0XHRcdHRoaXMuY3JlYXRlTWFwKClcclxuXHRcdFx0XHQvLyB9XHJcblxyXG5cdFx0XHR9KVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Ly/liJvlu7rlnLDlm75cclxuXHRcdFx0Z2V0VGVycmFpblByb3ZpZGVyVmlld01vZGVsc0FycigpIHtcclxuXHRcdFx0XHRyZXR1cm4gW1xyXG5cdFx0XHRcdFx0bmV3IENlc2l1bS5Qcm92aWRlclZpZXdNb2RlbCh7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5peg5Zyw5b2iXCIsXHJcblx0XHRcdFx0XHRcdHRvb2x0aXA6IFwiV0dTODTmoIflh4bnkIPkvZNcIixcclxuXHRcdFx0XHRcdFx0aWNvblVybDogXCJzdGF0aWMvaW1nL2Jhc2VtYXBzL1RlcnJhaW5FbGxpcHNvaWQucG5nXCIsXHJcblx0XHRcdFx0XHRcdGNyZWF0aW9uRnVuY3Rpb246IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBtYXJzM2QuTGF5ZXJVdGlsLmdldE5vVGVycmFpblByb3ZpZGVyKClcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHRuZXcgQ2VzaXVtLlByb3ZpZGVyVmlld01vZGVsKHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCLkuK3lm73lnLDlvaJcIixcclxuXHRcdFx0XHRcdFx0dG9vbHRpcDogXCLnlLEg54Gr5pif56eR5oqAIOaPkOS+m+eahOS4reWbveWbveWGheWcsOW9olwiLFxyXG5cdFx0XHRcdFx0XHRpY29uVXJsOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvVGVycmFpblNUSy5wbmdcIixcclxuXHRcdFx0XHRcdFx0Y3JlYXRpb25GdW5jdGlvbjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIG1hcnMzZC5MYXllclV0aWwuY3JlYXRlVGVycmFpblByb3ZpZGVyKHtcclxuXHRcdFx0XHRcdFx0XHRcdHVybDogXCJodHRwOi8vZGF0YS5tYXJzM2QuY24vdGVycmFpblwiXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHRuZXcgQ2VzaXVtLlByb3ZpZGVyVmlld01vZGVsKHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCJBcmNHSVPlnLDlvaJcIixcclxuXHRcdFx0XHRcdFx0dG9vbHRpcDogXCLnlLEg54Gr5pif56eR5oqAIOaPkOS+m+eahOS4reWbveWbveWGheWcsOW9olwiLFxyXG5cdFx0XHRcdFx0XHRpY29uVXJsOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvVGVycmFpblNUSy5wbmdcIixcclxuXHRcdFx0XHRcdFx0Y3JlYXRpb25GdW5jdGlvbjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIG1hcnMzZC5MYXllclV0aWwuY3JlYXRlVGVycmFpblByb3ZpZGVyKHtcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiYXJjZ2lzXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiaHR0cHM6Ly9lbGV2YXRpb24zZC5hcmNnaXMuY29tL2FyY2dpcy9yZXN0L3NlcnZpY2VzL1dvcmxkRWxldmF0aW9uM0QvVGVycmFpbjNEL0ltYWdlU2VydmVyXCJcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdG5ldyBDZXNpdW0uUHJvdmlkZXJWaWV3TW9kZWwoe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuWFqOeQg+WcsOW9olwiLFxyXG5cdFx0XHRcdFx0XHR0b29sdGlwOiBcIueUsSBDZXNpdW3lrpjmlrkg5o+Q5L6b55qE6auY5YiG6L6o546H5YWo55CD5Zyw5b2iXCIsXHJcblx0XHRcdFx0XHRcdGljb25Vcmw6IFwic3RhdGljL2ltZy9iYXNlbWFwcy9UZXJyYWluU1RLLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRjcmVhdGlvbkZ1bmN0aW9uOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gbWFyczNkLkxheWVyVXRpbC5jcmVhdGVUZXJyYWluUHJvdmlkZXIoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJpb25cIixcclxuXHRcdFx0XHRcdFx0XHRcdHJlcXVlc3RXYXRlck1hc2s6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRyZXF1ZXN0VmVydGV4Tm9ybWFsczogdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRtYXJzRGF0YShuZXdWYWx1ZSkge1xyXG5cdFx0XHRcdHRoaXMubGlzdCA9IG5ld1ZhbHVlXHJcblx0XHRcdH0sXHJcblx0XHRcdGdldDN3ZWkobmV3VmFsdWUpIHtcclxuXHRcdFx0XHR0aGlzLmlzMmQgPSBuZXdWYWx1ZVswXVxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/liJvlu7rlnLDlm75cclxuXHRcdFx0Y3JlYXRlTWFwKCkge1xyXG5cdFx0XHRcdGlmIChPYmplY3Qua2V5cyh0aGlzLmxpc3QpLmxlbmd0aCA9PSAwKSB7IC8v5YiH5o2i6aG16Z2i5pyJ5pe25Lya5Zug5Li6Z2V0bWFyc0RhdGHvvIjvvInlnKhjcmVhdGVNYXAoKeS5i+WQjuaJp+ihjO+8jOWvvOiHtOatpOaWueazleayoeacieWOn+Wni+WumuS9jeaVsOaNruaKpemUmVxyXG5cdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdC8vNeenkuaSreaUvuS4gOasoVxyXG5cdFx0XHRcdFx0XHR0aGlzLmNyZWF0ZU1hcCgpXHJcblx0XHRcdFx0XHR9LCAxMDApO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRsZXQgbWFwUG9zaXRpb25sYXQ7XHJcblx0XHRcdFx0XHRsZXQgbWFwUG9zaXRpb25sbmc7XHJcblx0XHRcdFx0XHRsZXQgbWFwUG9zaXRpb25hbHQ7XHJcblx0XHRcdFx0XHRsZXQgbWFwUG9zaXRpb25oZWFkaW5nO1xyXG5cdFx0XHRcdFx0bGV0IG1hcFBvc2l0aW9ucGl0Y2g7XHJcblx0XHRcdFx0XHRtYXBQb3NpdGlvbmxhdCA9IHRoaXMubGlzdC5tYXBwb3NpdGlvbi5zcGxpdCgnLCcpWzFdO1xyXG5cdFx0XHRcdFx0bWFwUG9zaXRpb25sbmcgPSB0aGlzLmxpc3QubWFwcG9zaXRpb24uc3BsaXQoJywnKVswXTtcclxuXHRcdFx0XHRcdG1hcFBvc2l0aW9uYWx0ID0gdGhpcy5saXN0LmFsdDtcclxuXHRcdFx0XHRcdG1hcFBvc2l0aW9uaGVhZGluZyA9IHRoaXMubGlzdC5oZWFkaW5nO1xyXG5cdFx0XHRcdFx0bWFwUG9zaXRpb25waXRjaCA9IHRoaXMubGlzdC5waXRjaDtcclxuXHRcdFx0XHRcdGNvbnN0IENlc2l1bSA9IG1hcnMzZC5DZXNpdW07XHJcblx0XHRcdFx0XHRtYXAgPSBuZXcgbWFyczNkLk1hcCgnbWFyczNkQ29udGFpbmVyJywge1xyXG5cdFx0XHRcdFx0XHRzY2VuZToge1xyXG5cdFx0XHRcdFx0XHRcdGNlbnRlcjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gbGF0OiAzOC40NDM3MjksXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBsbmc6IDM4LjQ0MzcyOSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGFsdDogMjAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gaGVhZGluZzogMCxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHBpdGNoOiAwLFxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGxhdDogbWFwUG9zaXRpb25sYXQsXHJcblx0XHRcdFx0XHRcdFx0XHRsbmc6IG1hcFBvc2l0aW9ubG5nLFxyXG5cdFx0XHRcdFx0XHRcdFx0YWx0OiBtYXBQb3NpdGlvbmFsdCxcclxuXHRcdFx0XHRcdFx0XHRcdGhlYWRpbmc6IDAsXHJcblx0XHRcdFx0XHRcdFx0XHRwaXRjaDogMFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0Ly8gY2VudGVyOiB7IGxhdDogbWFwUG9zaXRpb25bMV0sIGxuZzogbWFwUG9zaXRpb25bMF0sIGFsdDogSG9tZVNldHRpbmcuYWx0LCBoZWFkaW5nOiBIb21lU2V0dGluZy5oZWFkaW5nLCBwaXRjaDogSG9tZVNldHRpbmcucGl0Y2ggfSxcclxuXHRcdFx0XHRcdFx0XHRzaG93U2t5QXRtb3NwaGVyZTogZmFsc2UsIC8vIOWFs+mXreeQg+WRqOi+ueeahOeZveiJsui9ruW7kyBtYXAuc2NlbmUuc2t5QXRtb3NwaGVyZSA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0Zm9nOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdGZ4YWE6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0Z2xvYmU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdHNob3dHcm91bmRBdG1vc3BoZXJlOiBmYWxzZSwgLy8g5YWz6Zet5aSn5rCU77yI55CD6KGo6Z2i55m96JKZ6JKZ55qE5pWI5p6c77yJXHJcblx0XHRcdFx0XHRcdFx0XHRkZXB0aFRlc3RBZ2FpbnN0VGVycmFpbjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0XHRiYXNlQ29sb3I6IFwiIzU0NmE1M1wiXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHQvLyB0ZXJyYWluOiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gICAgIHVybDogXCJodHRwOi8vZGF0YS5tYXJzM2QuY24vdGVycmFpblwiLFxyXG5cdFx0XHRcdFx0XHRcdC8vICAgICBzaG93OiB0cnVlXHJcblx0XHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0XHRjYW1lcmFDb250cm9sbGVyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHR6b29tRmFjdG9yOiAxMC4wLFxyXG5cdFx0XHRcdFx0XHRcdFx0dG91Y2hab29tRmFjdG9yOiAxMC4wLCAvLyDop6bmkbjnvKnmlL7ngbXmlY/luqbvvIjkuI7pvKDmoIfmu5rova7lkIzmraXvvIlcclxuXHRcdFx0XHRcdFx0XHRcdHpvb21BbmltYXRpb246IHRydWUsIC8vIOWQr+eUqOe8qeaUvuWKqOeUu1xyXG5cdFx0XHRcdFx0XHRcdFx0em9vbUFuaW1hdGlvblRpbWU6IDAuMywgLy8g5Yqo55S75oyB57ut5pe26Ze077yI56eS77yJLFxyXG5cdFx0XHRcdFx0XHRcdFx0bWluaW11bVpvb21EaXN0YW5jZTogMSxcclxuXHRcdFx0XHRcdFx0XHRcdG1heGltdW1ab29tRGlzdGFuY2U6IDUwMDAwMDAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZW5hYmxlUm90YXRlOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZW5hYmxlWm9vbTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdGVuYWJsZUNvbnRpbnVvdXNab29tOiB0cnVlLCAvLyDlkK/nlKjmg6/mgKfmu5rliqjvvIjlj6/pgInvvIlcclxuXHRcdFx0XHRcdFx0XHRcdHpvb21BbmltYXRpb25UaW1lOiAwLjEsIC8vIOWKqOeUu+aXtumXtO+8iOe8qeefreWPr+WKoOW/q+WTjeW6lO+8iVxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0bWFwUHJvamVjdGlvbjogbWFyczNkLkNSUy5FUFNHMzg1NywgLy8gMkTkuIvlsZXnpLrloqjljaHmiZjmipXlvbFcclxuXHRcdFx0XHRcdFx0XHRtYXBNb2RlMkQ6IENlc2l1bS5NYXBNb2RlMkQuSU5GSU5JVEVfU0NST0xMLCAvLyAyROS4i+W3puWPs+S4gOebtOWPr+S7pea7muWKqOmHjeWkjeS4lueVjOWcsOWbvlxyXG5cdFx0XHRcdFx0XHRcdHNreUJveDoge1xyXG5cdFx0XHRcdFx0XHRcdFx0c291cmNlczoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVg6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci9xaW5ndGlhbi9yaWdodGF2OS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmVnYXRpdmVYOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvcWluZ3RpYW4vbGVmdGF2OS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVZOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvcWluZ3RpYW4vZnJvbnRhdjkuanBnXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWTogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3Fpbmd0aWFuL2JhY2thdjkuanBnXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aXZlWjogXCJzdGF0aWMvaW1nL3NreWJveF9uZWFyL3Fpbmd0aWFuL3RvcGF2OS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmVnYXRpdmVaOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvcWluZ3RpYW4vYm90dG9tYXY5LmpwZ1wiXHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0c291cmNlczI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVYOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvd2FueGlhL1N1blNldFJpZ2h0LnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVg6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0TGVmdC5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVZOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvd2FueGlhL1N1blNldEZyb250LnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVk6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0QmFjay5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVaOiBcInN0YXRpYy9pbWcvc2t5Ym94X25lYXIvd2FueGlhL1N1blNldFVwLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVo6IFwic3RhdGljL2ltZy9za3lib3hfbmVhci93YW54aWEvU3VuU2V0RG93bi5wbmdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdHNvdXJjZXMzOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdG5lZ2F0aXZlWDogXCJzdGF0aWMvaW1nL3NreWJveC8yL3R5Y2hvMnQzXzgwX214LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuZWdhdGl2ZVk6IFwic3RhdGljL2ltZy9za3lib3gvMi90eWNobzJ0M184MF9teS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0bmVnYXRpdmVaOiBcInN0YXRpYy9pbWcvc2t5Ym94LzIvdHljaG8ydDNfODBfbXouanBnXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aXZlWDogXCJzdGF0aWMvaW1nL3NreWJveC8yL3R5Y2hvMnQzXzgwX3B4LmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGl2ZVk6IFwic3RhdGljL2ltZy9za3lib3gvMi90eWNobzJ0M184MF9weS5qcGdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpdmVaOiBcInN0YXRpYy9pbWcvc2t5Ym94LzIvdHljaG8ydDNfODBfcHouanBnXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdC8vIHNjZW5lTW9kZTogdGhpcy5pczJkIC8vIOiuvue9ruWIneWni+WcuuaZr+aooeW8j+S4ujJEXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdHRlcnJhaW46IGZhbHNlLCAvLyDlhbPpl63lnLDlvaLnqbrpl7RcclxuXHRcdFx0XHRcdFx0Ly8gdGVycmFpbjoge1xyXG5cdFx0XHRcdFx0XHQvLyBcdHVybDogXCJodHRwOi8vZGF0YS5tYXJzM2QuY24vdGVycmFpblwiLFxyXG5cdFx0XHRcdFx0XHQvLyBcdHNob3c6IHRydWVcclxuXHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0Y29udHJvbDoge1xyXG5cdFx0XHRcdFx0XHRcdC8vIGdlb2NvZGVyOnRydWUsXHJcblx0XHRcdFx0XHRcdFx0bW91c2VEb3duVmlldzogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRjbG9ja0FuaW1hdGU6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdHRpbWVsaW5lOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRjb21wYXNzOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRuYXZpZ2F0aW9uSGVscEJ1dHRvbjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0ZnVsbHNjcmVlbkJ1dHRvbjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0aG9tZUJ1dHRvbjogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRsb2NhdGlvbkJhcjogZmFsc2UsXHJcblx0XHRcdFx0XHRcdFx0em9vbTogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRzY2VuZU1vZGVQaWNrZXI6IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdGJhc2VMYXllclBpY2tlcjogdHJ1ZSwgLy8g5piv5ZCm5pi+56S65Zu+5bGC6YCJ5oup5o6n5Lu2XHJcblx0XHRcdFx0XHRcdFx0dGVycmFpblByb3ZpZGVyVmlld01vZGVsczogdGhpc1xyXG5cdFx0XHRcdFx0XHRcdFx0LmdldFRlcnJhaW5Qcm92aWRlclZpZXdNb2RlbHNBcnIoKSAvLyDoh6piYXNlTGF5ZXJQaWNrZXLpnaLmnb/nmoTlnLDlvaLlj6/pgInmlbDnu4RcclxuXHRcdFx0XHRcdFx0fSxcclxuXHJcblx0XHRcdFx0XHRcdGJhc2VtYXBzOiBbe1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiBcIuWkqeWcsOWbvuW9seWDj1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvdGR0X2ltZy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0dHlwZTogXCJ0ZHRcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0bGF5ZXI6IFwiaW1nX2RcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0a2V5OiBtYXJzM2QuVG9rZW4udGlhbmRpdHVBcnIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHNob3c6IGZhbHNlLCAvLyDlhbPpl63lpKnlnLDlm77lvbHlg49cclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Y3JlZGl0OiBjcmVkaXRIdG1sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiBcIuWkqeWcsOWbvueUteWtkFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvdGR0X3ZlYy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0dHlwZTogXCJncm91cFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRsYXllcnM6IFt7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRuYW1lOiBcIuW6leWbvlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0dHlwZTogXCJ0ZHRcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdGxheWVyOiBcInZlY19kXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRrZXk6IG1hcnMzZC5Ub2tlbi50aWFuZGl0dUFyclxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0bmFtZTogXCLms6jorrBcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRcdHR5cGU6IFwidGR0XCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0XHRsYXllcjogXCJ2ZWNfelwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdFx0a2V5OiBtYXJzM2QuVG9rZW4udGlhbmRpdHVBcnJcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdF0sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHNob3c6IGZhbHNlLCAvLyDlhbPpl63lpKnlnLDlm77nlLXlrZBcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Y3JlZGl0OiBjcmVkaXRIdG1sXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8ge1xyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLpq5jlvrflvbHlg49cIixcclxuXHRcdFx0XHRcdFx0XHRcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9nYW9kZV9pbWcucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImdyb3VwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRsYXllcnM6IFt7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLlupXlm75cIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImdhb2RlXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGF5ZXI6IFwiaW1nX2RcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLms6jorrBcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImdhb2RlXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGF5ZXI6IFwiaW1nX3pcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2hvdzogZmFsc2UsIC8vIOWFs+mXremrmOW+t+W9seWDj1xyXG5cdFx0XHRcdFx0XHRcdFx0Y3JlZGl0OiBjcmVkaXRIdG1sXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIumrmOW+t+eUteWtkFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJzdGF0aWMvaW1nL2Jhc2VtYXBzL2dhb2RlX3ZlYy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiZ2FvZGVcIixcclxuXHRcdFx0XHRcdFx0XHRcdGxheWVyOiBcInZlY1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2hvdzogdHJ1ZSwgLy8g6buY6K6k5pi+56S66auY5b6355S15a2Q5Zyw5Zu+XHJcblx0XHRcdFx0XHRcdFx0XHRjcmVkaXQ6IGNyZWRpdEh0bWxcclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwi55m+5bqm5b2x5YOPXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvZ2FvZGVfaW1nLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJncm91cFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0bGF5ZXJzOiBbe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwi5bqV5Zu+XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJiYWlkdVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxheWVyOiBcImltZ19kXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwi5rOo6K6wXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJiYWlkdVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxheWVyOiBcImltZ196XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdFx0XHRcdHNob3c6IGZhbHNlLCAvLyDlhbPpl63nmb7luqblvbHlg49cclxuXHRcdFx0XHRcdFx0XHRcdGNyZWRpdDogY3JlZGl0SHRtbFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLnmb7luqbnlLXlrZBcIixcclxuXHRcdFx0XHRcdFx0XHRcdGljb246IFwic3RhdGljL2ltZy9iYXNlbWFwcy9nYW9kZV92ZWMucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcImJhaWR1XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRsYXllcjogXCJ2ZWNcIixcclxuXHRcdFx0XHRcdFx0XHRcdHNob3c6IGZhbHNlLCAvLyDlhbPpl63nmb7luqbnlLXlrZBcclxuXHRcdFx0XHRcdFx0XHRcdGNyZWRpdDogY3JlZGl0SHRtbFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiBcIuiwt+atjOW9seWDj1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvZ29vZ2xlX2ltZy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0dHlwZTogXCJnb29nbGVcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0bGF5ZXI6IFwiaW1nX2RcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Y2hpbmFDUlM6IG1hcnMzZC5DaGluYUNSUy5HQ0owMixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0c2hvdzogZmFsc2UgLy8g5YWz6Zet6LC35q2M5b2x5YOPXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRuYW1lOiBcIuiwt+atjOeUteWtkFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvZ29vZ2xlX3ZlYy5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0dHlwZTogXCJnb29nbGVcIixcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0bGF5ZXI6IFwidmVjXCIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGNoaW5hQ1JTOiBtYXJzM2QuQ2hpbmFDUlMuR0NKMDIsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdHNob3c6IGZhbHNlIC8vIOWFs+mXreiwt+atjOeUteWtkFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gfSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHtcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwiQXJjR0lT5b2x5YOPXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiBcInN0YXRpYy9pbWcvYmFzZW1hcHMvZXNyaVdvcmxkSW1hZ2VyeS5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6IFwiYXJjZ2lzXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRsYXllcjogXCJpbWdfZFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZW5hYmxlUGlja0ZlYXR1cmVzOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdHNob3c6IGZhbHNlIC8vIOWFs+mXrSBBcmNHSVMg5b2x5YOPXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRdXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdC8vIGNvbnN0IHRvb2xiYXIgPSBuZXcgbWFyczNkLmNvbnRyb2wuZ2VvY29kZXIoe1xyXG5cdFx0XHRcdFx0Ly8gICAgIHBvc2l0aW9uOiB7IHRvcDogXCIxMHB4XCIsIGxlZnQ6IFwiMTBweFwiIH0sIC8vIOaMiemSruS9jee9rlxyXG5cdFx0XHRcdFx0Ly8gICAgIGl0ZW1zOiBbXHJcblx0XHRcdFx0XHQvLyAgICAgICB7XHJcblx0XHRcdFx0XHQvLyAgICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXHJcblx0XHRcdFx0XHQvLyAgICAgICAgIHRleHQ6IFwi5pCc57SiXCIsXHJcblx0XHRcdFx0XHQvLyAgICAgICAgIGljb246IFwiZmEgZmEtc2VhcmNoXCIsIC8vIOS9v+eUqCBGb250IEF3ZXNvbWUg5Zu+5qCHXHJcblx0XHRcdFx0XHQvLyAgICAgICAgIGFjdGlvbjogKCkgPT4ge1xyXG5cdFx0XHRcdFx0Ly8gICAgICAgICAgIC8vIHRoaXMuJHJlZnMuc2VhcmNoQm94LnNob3coKTsgLy8g6LCD55So5pCc57Si5qGG55qE5pi+56S65pa55rOVXHJcblx0XHRcdFx0XHQvLyAgICAgICAgIH1cclxuXHRcdFx0XHRcdC8vICAgICAgIH1cclxuXHRcdFx0XHRcdC8vICAgICBdXHJcblx0XHRcdFx0XHQvLyAgIH0pO1xyXG5cdFx0XHRcdFx0Ly8gICBtYXAuYWRkQ29udHJvbCh0b29sYmFyKTtcclxuXHJcblx0XHRcdFx0XHRpZiAodGhpcy5pczJkID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0bWFwLnNjZW5lLm1vcnBoVG8zRCgwKTtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdG1hcC5zY2VuZS5tb3JwaFRvMkQoMCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvLyDliJvlu7rnn6Lph4/mlbDmja7lm77lsYJcclxuXHRcdFx0XHRcdGdyYXBoaWNMYXllciA9IG5ldyBtYXJzM2QubGF5ZXIuR3JhcGhpY0xheWVyKHtcclxuXHRcdFx0XHRcdFx0YWxsb3dEcmlsbFBpY2s6IHRydWUgLy8g5aaC5p6c5a2Y5Zyo5Z2Q5qCH5a6M5YWo55u45ZCM55qE5Zu+5qCH54K577yM5Y+v5Lul5omT5byA6K+l5bGe5oCn77yMY2xpY2vkuovku7bpgJrov4dncmFwaGljc+WIpOaWrVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlZHJ3YSA9IG5ldyBtYXJzM2QubGF5ZXIuR3JhcGhpY0xheWVyKClcclxuXHRcdFx0XHRcdG1hcC5hZGRMYXllcihncmFwaGljTGF5ZXJGZW5jZWRyd2EpXHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZUJpYW5KaWUgPSBuZXcgbWFyczNkLmxheWVyLkdyYXBoaWNMYXllcigpXHJcblx0XHRcdFx0XHRtYXAuYWRkTGF5ZXIoZ3JhcGhpY0xheWVyRmVuY2VCaWFuSmllKVxyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2UgPSBuZXcgbWFyczNkLmxheWVyLkdyYXBoaWNMYXllcigpXHJcblx0XHRcdFx0XHRtYXAuYWRkTGF5ZXIoZ3JhcGhpY0xheWVyRmVuY2UpXHJcblxyXG5cclxuXHJcblxyXG5cdFx0XHRcdFx0bWFwLmFkZExheWVyKGdyYXBoaWNMYXllcilcclxuXHRcdFx0XHRcdC8vIOe7keWumueCueWHu+S6i+S7tlxyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyLm9uKG1hcnMzZC5FdmVudFR5cGUuY2xpY2ssIChldmVudCwgcG9zaXRpb24pID0+IHtcclxuXHRcdFx0XHRcdFx0dmFyIGNhciA9IGV2ZW50LmdyYXBoaWNcclxuXHRcdFx0XHRcdFx0Ly8gdmFyIGxpc3QgPSBbXVxyXG5cdFx0XHRcdFx0XHR2YXIganNvbiA9IHt9XHJcblxyXG5cdFx0XHRcdFx0XHQvLyB2YXIgbWVzc2FnZSA9IFwi5aeT5ZCNOiBcIiArIG5hbWUgKyBcIjxicj7nvJblj7c6IFwiICsgbnVtYmVyO1xyXG5cdFx0XHRcdFx0XHQvLyAvLyDkvb/nlKhNYXJzM0TnmoTmj5DnpLrmoYbnu4Tku7bmmL7npLrkv6Hmga9cclxuXHRcdFx0XHRcdFx0Ly8gICAgIHRoaXMuZ3JhcGhpY0xheWVyLmJpbmRQb3B1cChuZXcgbWFyczNkLlRvb2x0aXAoe1xyXG5cdFx0XHRcdFx0XHQvLyAgICAgICAgIGNvbnRlbnQ6IG1lc3NhZ2UsXHJcblx0XHRcdFx0XHRcdC8vICAgICAgICAgcG9zaXRpb246IHBvc2l0aW9uLCAvLyDmjIflrprmj5DnpLrmoYbnmoTkvY3nva7kuLrngrnlh7vnmoTkvY3nva5cclxuXHRcdFx0XHRcdFx0Ly8gICAgICAgICBjbGFzc05hbWU6IFwiY3VzdG9tLXRvb2x0aXBcIiwgLy8g5Y+v5Lul5re75Yqg6Ieq5a6a5LmJ5qC35byP57G7XHJcblx0XHRcdFx0XHRcdC8vICAgICAgICAgY2xvc2VCdXR0b246IHRydWUsIC8vIOaYr+WQpuaYvuekuuWFs+mXreaMiemSrlxyXG5cdFx0XHRcdFx0XHQvLyAgICAgfSkpO1xyXG5cdFx0XHRcdFx0XHQvLyDmiZPlvIDmj5DnpLrmoYZcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy5ncmFwaGljTGF5ZXIub3BlblBvcHVwKCk7XHJcblxyXG5cdFx0XHRcdFx0XHRqc29uLm9ubGluZSA9IGNhci5hdHRyLm9ubGluZVxyXG5cdFx0XHRcdFx0XHRqc29uLmJhb2xpdTEgPSBjYXIuYXR0ci5iYW9saXUxXHJcblx0XHRcdFx0XHRcdGpzb24udHlwZSA9IGNhci5hdHRyLnR5cGVcclxuXHRcdFx0XHRcdFx0anNvbi5ydGNtID0gY2FyLmF0dHIucnRjbVxyXG5cdFx0XHRcdFx0XHRqc29uLnRhZ2lkID0gY2FyLmF0dHIudGFnaWRcclxuXHRcdFx0XHRcdFx0anNvbi5lbmNyeXB0aW9uID0gY2FyLmF0dHIuZW5jcnlwdGlvblxyXG5cdFx0XHRcdFx0XHRqc29uLnBlcnNvbm5hbWUgPSBjYXIuYXR0ci5wZXJzb25uYW1lXHJcblx0XHRcdFx0XHRcdGpzb24ucG93ZXIgPSBjYXIuYXR0ci5wb3dlclxyXG5cdFx0XHRcdFx0XHRqc29uLmhlaWdodCA9IGNhci5hdHRyLmhlaWdodFxyXG5cdFx0XHRcdFx0XHRqc29uLmRlcGFydG1lbnQgPSBjYXIuYXR0ci5kZXBhcnRtZW50XHJcblx0XHRcdFx0XHRcdGpzb24uZ3Bzc3RhdHVzID0gY2FyLmF0dHIuZ3Bzc3RhdHVzXHJcblx0XHRcdFx0XHRcdHRoaXMucGVybGlzdCA9IGpzb25cclxuXHRcdFx0XHRcdFx0dGhpcy4kb3duZXJJbnN0YW5jZS5jYWxsTWV0aG9kKCdoYW5kbGVNYXBDbGljaycsIHRoaXMucGVybGlzdCk7XHJcblxyXG5cclxuXHRcdFx0XHRcdH0pXHJcblxyXG5cdFx0XHRcdFx0Ly/mtYvor5XmnKzlnLDlm77niYcgXHJcblx0XHRcdFx0XHQvLyBjb25zdCBncmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLkJpbGxib2FyZEVudGl0eSh7XHJcblx0XHRcdFx0XHQvLyBcdHBvc2l0aW9uOiBbMTE3LjIyOTYxOSwgMzEuNjg2Mjg4LCAxMDAwXSxcclxuXHRcdFx0XHRcdC8vIFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdC8vIFx0XHRpbWFnZTogXCJzdGF0aWMvaW1nL21hcmstcmVkLnBuZ1wiLFxyXG5cdFx0XHRcdFx0Ly8gXHRcdGhvcml6b250YWxPcmlnaW46IENlc2l1bS5Ib3Jpem9udGFsT3JpZ2luLkNFTlRFUixcclxuXHRcdFx0XHRcdC8vIFx0XHR2ZXJ0aWNhbE9yaWdpbjogQ2VzaXVtLlZlcnRpY2FsT3JpZ2luLkJPVFRPTVxyXG5cdFx0XHRcdFx0Ly8gXHR9LFxyXG5cdFx0XHRcdFx0Ly8gXHRhdHRyOiB7XHJcblx0XHRcdFx0XHQvLyBcdFx0cmVtYXJrOiBcIuekuuS+izFcIlxyXG5cdFx0XHRcdFx0Ly8gXHR9XHJcblx0XHRcdFx0XHQvLyB9KVxyXG5cdFx0XHRcdFx0Ly8gZ3JhcGhpY0xheWVyLmFkZEdyYXBoaWMoZ3JhcGhpYylcclxuXHRcdFx0XHRcdC8vIHRoaXMuZmV0Y2hQZXJzb25zTGlzdCgpXHJcblx0XHRcdFx0XHQvLyB0aGlzLnVwZGF0ZVRyYWplY3RvcmllcygpXHJcblxyXG5cdFx0XHRcdFx0Ly8gdGhpcy5nZXRHUFNDZXNpdW0oKTtcclxuXHRcdFx0XHRcdHRoaXMuJG93bmVySW5zdGFuY2UuY2FsbE1ldGhvZCgncmVjZWl2ZVJlbmRlckRhdGEnLCB0aGlzLmRvdClcclxuXHRcdFx0XHRcdHRoaXMuZnBsb2NrID0gdHJ1ZVxyXG5cdFx0XHRcdFx0Z2xvYmFsTWFwID0gdHJ1ZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLiRvd25lckluc3RhbmNlLmNhbGxNZXRob2QoJ2luaXRsb2NrJyk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldG1hcnNQb2ludChuZXdWYWx1ZSkge1xyXG5cdFx0XHRcdGlmIChPYmplY3Qua2V5cyhuZXdWYWx1ZSkubGVuZ3RoICE9IDApIHtcclxuXHRcdFx0XHRcdG1hcC5jYW1lcmEuZmx5VG8oe1xyXG5cdFx0XHRcdFx0XHRkZXN0aW5hdGlvbjogQ2VzaXVtLkNhcnRlc2lhbjMuZnJvbURlZ3JlZXMobmV3VmFsdWUubG9uLCBuZXdWYWx1ZS5sYXQsIDUwMCksIC8vIOebruagh+eCuee7j+e6rOW6puWSjOinhuinkumrmOW6plxyXG5cdFx0XHRcdFx0XHRkdXJhdGlvbjogMyAvLyDliqjnlLvmjIHnu63ml7bpl7TvvIjnp5LvvIlcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGdldG1hcnNmZW5jZVBvaW50KG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coNDQ0NDQ0NDQ0NDQ0KTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhuZXdWYWx1ZSk7XHJcblx0XHRcdFx0Y29uc29sZS5sb2cobmV3VmFsdWUuc3BsaXQoXCIsXCIpWzBdKTtcclxuXHRcdFx0XHRpZiAodGhpcy5mZW5jZXBsb2NrID09IGZhbHNlKSB7XHJcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHRoaXMuZnBsb2NrID09IHRydWUpIHtcclxuXHRcdFx0XHRcdFx0XHQvLzXnp5Lmkq3mlL7kuIDmrKFcclxuXHRcdFx0XHRcdFx0XHRpZiAoT2JqZWN0LmtleXMobmV3VmFsdWUpLmxlbmd0aCAhPSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRtYXAuY2FtZXJhLmZseVRvKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZGVzdGluYXRpb246IENlc2l1bS5DYXJ0ZXNpYW4zLmZyb21EZWdyZWVzKG5ld1ZhbHVlLnNwbGl0KFwiLFwiKVswXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuZXdWYWx1ZS5zcGxpdChcIixcIilbMV0sIDUwMCksIC8vIOebruagh+eCuee7j+e6rOW6puWSjOinhuinkumrmOW6pnd3d3d3d1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMyAvLyDliqjnlLvmjIHnu63ml7bpl7TvvIjnp5LvvIlcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5mZW5jZXBsb2NrID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH0sIDEwMDApO1xyXG5cdFx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHR9LFxyXG5cclxuXHJcblx0XHRcdGdldEZlbmNlRGF0YWRlKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2UuY2xlYXIoKVxyXG5cclxuXHRcdFx0XHRcdGFkZGVkRmVuY2VJZHMgPSBuZXcgU2V0KCk7XHJcblx0XHRcdFx0XHQvLyBpZiAodGhpcy5mZW5jZWlkID09IG5ld1ZhbHVlLmlkKSB7XHJcblx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZUJpYW5KaWUuY2xlYXIoKVxyXG5cdFx0XHRcdFx0Ly99XHJcblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0aGF2ZXJzaW5lRGlzdGFuY2UobG5nMSwgbGF0MSwgbG5nMiwgbGF0Mikge1xyXG5cclxuXHJcblxyXG5cdFx0XHRcdGNvbnN0IFIgPSA2MzcxZTM7IC8vIOWcsOeQg+WNiuW+hO+8jOWNleS9je+8muexs1xyXG5cdFx0XHRcdGNvbnN0IM+GMSA9IGxhdDEgKiAoTWF0aC5QSSAvIDE4MCk7XHJcblx0XHRcdFx0Y29uc3Qgz4YyID0gbGF0MiAqIChNYXRoLlBJIC8gMTgwKTtcclxuXHRcdFx0XHRjb25zdCDOlM+GID0gKGxhdDIgLSBsYXQxKSAqIChNYXRoLlBJIC8gMTgwKTtcclxuXHRcdFx0XHRjb25zdCDOlM67ID0gKGxuZzIgLSBsbmcxKSAqIChNYXRoLlBJIC8gMTgwKTtcclxuXHJcblx0XHRcdFx0Y29uc3QgYSA9IE1hdGguc2luKM6Uz4YgLyAyKSAqIE1hdGguc2luKM6Uz4YgLyAyKSArXHJcblx0XHRcdFx0XHRNYXRoLmNvcyjPhjEpICogTWF0aC5jb3Moz4YyKSAqXHJcblx0XHRcdFx0XHRNYXRoLnNpbijOlM67IC8gMikgKiBNYXRoLnNpbijOlM67IC8gMik7XHJcblx0XHRcdFx0Y29uc3QgYyA9IDIgKiBNYXRoLmF0YW4yKE1hdGguc3FydChhKSwgTWF0aC5zcXJ0KDEgLSBhKSk7XHJcblxyXG5cdFx0XHRcdHJldHVybiBSICogYztcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0RmVuY2VEYXRhKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0bmV3VmFsdWUuZm9yRWFjaCgoZSwgaSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAoZS5pc3BsYXkgPT09ICcxJykge1xyXG5cdFx0XHRcdFx0XHRcdGlmICghYWRkZWRGZW5jZUlkcy5oYXMoZS5pZCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZmVuY2VpZHMgPSBlLmlkICsgXCJfZmVuY2VcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLzXnp5Lmkq3mlL7kuIDmrKFcclxuXHRcdFx0XHRcdFx0XHRcdC8vIH0sIDEwMDApO1xyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IHBhcnRzID0gZS5wb2ludHMuc3BsaXQoJzsnKTtcclxuXHRcdFx0XHRcdFx0XHRcdHZhciBwYXJ0ID0gW11cclxuXHRcdFx0XHRcdFx0XHRcdHZhciBmZW5jZSA9IFtdXHJcblx0XHRcdFx0XHRcdFx0XHR2YXIgcG9zaXRpb25zID0gW107IC8vIOWtmOWCqOaJgOacieeCueeahOe7j+e6rOW6plxyXG5cdFx0XHRcdFx0XHRcdFx0Ly/miYDmnInnu4/nuqzluqbngrlcclxuXHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdHBhcnQgPSBwYXJ0c1tpXS5zcGxpdCgnLCcpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAocGFydC5sZW5ndGggPiAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGxuZyA9IHBhcnNlRmxvYXQocGFydFswXSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGxhdCA9IHBhcnNlRmxvYXQocGFydFsxXSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb25zLnB1c2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0bG5nOiBsbmcsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsYXQ6IGxhdFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBmZW5jZS5wdXNoKHBhcnRbMF0pXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGZlbmNlLnB1c2gocGFydFsxXSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gcGFydC5wdXNoKCcwJylcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnN0IGdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuQmlsbGJvYXJkRW50aXR5KHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFtwYXJ0WzBdLCBwYXJ0WzFdLCAwXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBpZDogbmV3VmFsdWVbZV0uZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBtb2RlbDoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Li4ubW9kZWxQYXJhbSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpbWFnZTogXCJzdGF0aWMvaW1nL3Bvbml0MS5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNjYWxlOiAwLjQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsT3JpZ2luOiBDZXNpdW0uSG9yaXpvbnRhbE9yaWdpbi5DRU5URVIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbE9yaWdpbjogQ2VzaXVtLlZlcnRpY2FsT3JpZ2luLkJPVFRPTVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBhdHRyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRvbmxpbmU6IG5ld1ZhbHVlW2VdLm9ubGluZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBcdGxhdDogbmV3VmFsdWVbZV0ubGF0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0bG9uOiBuZXdWYWx1ZVtlXS5sb24sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRwcG93ZXI6IG5ld1ZhbHVlW2VdLnBvd2VyLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Ly8gYmFvbGl1NDogZS5iYW9saXU0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Z3Bzc3RhdHVzOiBuZXdWYWx1ZVtlXS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRkZXBhcnRtZW50OiBuZXdWYWx1ZVtlXS5kZXBhcnRtZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0cG5hbWU6IG5ld1ZhbHVlW2VdLm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBwdGFnaWQ6IG5ld1ZhbHVlW2VdLmlkLOOAglxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VCaWFuSmllLmFkZEdyYXBoaWMoZ3JhcGhpYylcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gZ3JhcGhpY0xheWVyLmFkZEdyYXBoaWMobGFiZWwpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBhZGRlZENhcklkcy5hZGQoZS5pZCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHRoaXMuZ3JhcGhpY0xhYmVsc2lkc1tuZXdWYWx1ZVtlXS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Z3JhcGhpYzogZ3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBmZW5jZTogZmVuY2VHcmFwaGljXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIH07XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZlbmNlLnB1c2gocGFydClcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGsgPSAwOyBrIDwgcG9zaXRpb25zLmxlbmd0aDsgaysrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBjdXJyZW50UG9pbnQgPSBwb3NpdGlvbnNba107XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBuZXh0UG9pbnQgPSBwb3NpdGlvbnNbKGsgKyAxKSAlIHBvc2l0aW9ucy5sZW5ndGhdOyAvLyDlpITnkIbmnIDlkI7kuIDkuKrngrnlkoznrKzkuIDkuKrngrnnm7jov57nmoTmg4XlhrVcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBkaXN0YW5jZSA9IHRoaXMuaGF2ZXJzaW5lRGlzdGFuY2UoY3VycmVudFBvaW50LmxuZywgY3VycmVudFBvaW50LmxhdCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuZXh0UG9pbnRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQubG5nLCBuZXh0UG9pbnQubGF0KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzdGFuY2UgPSBwYXJzZUZsb2F0KGRpc3RhbmNlLnRvRml4ZWQoMikpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgbWlkTG5nID0gKGN1cnJlbnRQb2ludC5sbmcgKyBuZXh0UG9pbnQubG5nKSAvIDI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBtaWRMYXQgPSAoY3VycmVudFBvaW50LmxhdCArIG5leHRQb2ludC5sYXQpIC8gMjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8g5Yib5bu65LiA5LiqIExhYmVsRW50aXR5IOadpeaYvuekuui3neemu1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgbGFiZWxHcmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLkxhYmVsRW50aXR5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogbmV3IG1hcnMzZC5MbmdMYXRQb2ludChtaWRMbmcsIG1pZExhdCksXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ6IGAke2Rpc3RhbmNlfSBtYCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnRfc2l6ZTogMTQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb250X3dlaWdodDogXCJib2xkXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogXCIjRkZGRkZGXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6IFwiIzAwMDAwMFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmlzaWJsZURlcHRoOiBmYWxzZSxcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsT3JpZ2luOiBDZXNpdW0uSG9yaXpvbnRhbE9yaWdpbi5DRU5URVIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbE9yaWdpbjogQ2VzaXVtLlZlcnRpY2FsT3JpZ2luLkNFTlRFUlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlQmlhbkppZS5hZGRHcmFwaGljKGxhYmVsR3JhcGhpYyk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGxldCBjb2xvckZlbmNlID0gXCJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IEp1WGluZ2NvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS50eXBlID09IFwi56aB5YWl5Yy6XCIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiI0Y1NkQ2RVwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS50eXBlID09IFwi5bel5L2c5Yy6XCIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiIzM3OTVEQVwiXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUudHlwZSA9PSBcIuWuieWFqOWMulwiKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMyQkZCMkVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgZmVuY2VHcmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLlBvbHlnb25QcmltaXRpdmUoe1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb25zOiBmZW5jZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbG9zdXJlOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiBjb2xvckZlbmNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRkaWZmSGVpZ2h0OiBlLmhlaWdodCAvIDEwMCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXRlcmlhbFR5cGU6IG1hcnMzZC5NYXRlcmlhbFR5cGUuTGluZUZsb3csXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGFiZWw6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRleHQ6IGUubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnRfc2l6ZTogMTgsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZUNvbG9yOiBjb2xvckZlbmNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6IFwiI2ZmZmZmZlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uX2ZhcjogNTAwMDAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uX25lYXI6IDAsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBwb3NpdGlvbnM6IFtbXCIxMTYuMjgxMTE0MFwiLFwiMzkuODMxODcyMFwiXSxbXCIxMTYuMjgxNzE2MFwiLFwiMzkuODMxNzczMFwiXSxbXCIxMTYuMjgxMTcwOVwiLFwiMzkuODMyMjE3OVwiXV0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0Y29sb3I6IHRoaXMucGFyc2VDb2xvcihcIiNGRjAwMDBcIikud2l0aEFscGhhKDAuMyksXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0b3V0bGluZVdpZHRoOiAyLCAvLyDovrnmoYbnspfnu4bvvIjlg4/ntKDvvIlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRvdXRsaW5lOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdG91dGxpbmVDb2xvcjogdGhpcy5wYXJzZUNvbG9yKFwiI2I0MDAwMFwiKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBkaWZmSGVpZ2h0OiBuZXdWYWx1ZVtlXS5oZWlnaHQgfHwgMCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRsYWJlbDoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0dGV4dDogZS5uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0Zm9udF9zaXplOiAxOCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRcdG91dGxpbmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0XHRvdXRsaW5lQ29sb3I6IFwiI0M3MDcwOFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0Y29sb3I6IFwiI2ZmZmZmZlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uX2ZhcjogNTAwMDAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdFx0ZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uX25lYXI6IDBcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuYW1lOiBlLm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gcHRhZ2lkOiBuZXdWYWx1ZVtlXS5pZCzjgIJcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXJGZW5jZS5hZGRHcmFwaGljKGZlbmNlR3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdFx0XHRhZGRlZEZlbmNlSWRzLmFkZChlLmlkKTtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGVcclxuXHRcdFx0XHRcdFx0XHRcdFx0LmxvZyh0aGlzLmdyYXBoaWNGZW5jZSk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmdyYXBoaWNGZW5jZVt0aGlzLmZlbmNlaWRzXSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gZ3JhcGhpYzogZ3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZmVuY2U6IGZlbmNlR3JhcGhpY1xyXG5cdFx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKGFkZGVkRmVuY2VJZHMuaGFzKGUuaWQpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKGdyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRkZWxldGUgdGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdOyAvLyDliKDpmaTlvJXnlKhcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Ly8gZGVsZXRlIHRoaXMubGFiZWxzW2UuaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHRhZGRlZEZlbmNlSWRzLmRlbGV0ZShlLmlkKTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFx0Ly8gdGhpcy5ncmFwaGljTGFiZWxzW2UuYW5jaG9yaWRdID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyBcdGdyYXBoaWM6IGdyYXBoaWMxXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBcdC8vIH07XHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KSAvLyDlsIbkvKDpgJLov4fmnaXnmoTlgLzotYvlgLznu5lwb2ludHPvvIzov5nmoLflsLHlj6/ku6XlnKjop4blm77lsYLkuK3kvb/nlKhcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0YWRkZWRGZW5jZUlkcyA9IG5ldyBTZXQoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHBhcnNlQ29sb3IoY29sb3JTdHIpIHtcclxuXHRcdFx0XHR0cnkge1xyXG5cdFx0XHRcdFx0aWYgKENlc2l1bS5Db2xvcltjb2xvclN0ci50b1VwcGVyQ2FzZSgpXSkge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gQ2VzaXVtLkNvbG9yW2NvbG9yU3RyLnRvVXBwZXJDYXNlKCldO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0cmV0dXJuIENlc2l1bS5Db2xvci5mcm9tQ3NzQ29sb3JTdHJpbmcoY29sb3JTdHIpO1xyXG5cdFx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gQ2VzaXVtLkNvbG9yLldISVRFO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGdldERyd2FEYXRhKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0dGhpcy5wbGlzdCA9IFtdXHJcblx0XHRcdFx0aWYgKHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF0pIHtcclxuXHRcdFx0XHRcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF0uZmVuY2UpO1xyXG5cdFx0XHRcdFx0ZGVsZXRlIHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChPYmplY3Qua2V5cyhuZXdWYWx1ZSkubGVuZ3RoICE9IDApIHtcclxuXHRcdFx0XHRcdGZvciAodmFyIGUgPSBuZXdWYWx1ZS5sZW5ndGggLSAxOyBlIDwgbmV3VmFsdWUubGVuZ3RoOyBlKyspIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5mZW5jZWlkID0gbmV3VmFsdWVbZV0uaWRcclxuXHRcdFx0XHRcdFx0aWYgKG5ld1ZhbHVlW2UgLSAxXS5sYXQgIT0gdW5kZWZpbmVkICYmIG5ld1ZhbHVlW2VdLmxhdCA9PSBuZXdWYWx1ZVtlIC0gMV0ubGF0KSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCLmlbDmja7ph43lpI09PT09PT09PT09PeOAi+OAi+OAi+OAi+OAi+OAi+OAi+OAi1wiLCBuZXdWYWx1ZVtlXS5sYXQpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cclxuXHRcdFx0XHRcdFx0XHQvLyAgICAgLy8gMy4g6Zet5ZCI5aSa6L655b2iXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5jYXJ0ZXNpYW5Qb2ludHMucHVzaChuZXdWYWx1ZVtlXSk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gXHRcdC8vIFtbXCIxMTYuMjgxMTE0MFwiLFwiMzkuODMxODcyMFwiXSxbXCIxMTYuMjgxNzE2MFwiLFwiMzkuODMxNzczMFwiXSxbXCIxMTYuMjgxMTcwOVwiLFwiMzkuODMyMjE3OVwiXV1cclxuXHRcdFx0XHRcdFx0XHRjb25zdCBmZW5jZUdyYXBoaWMgPSBuZXcgbWFyczNkLmdyYXBoaWMuUG9seWdvblByaW1pdGl2ZSh7XHJcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbnM6IHRoaXMuY2FydGVzaWFuUG9pbnRzLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gcG9zaXRpb25zOiBbW1wiMTE2LjI4MTExNDBcIixcIjM5LjgzMTg3MjBcIl0sW1wiMTE2LjI4MTcxNjBcIixcIjM5LjgzMTc3MzBcIl0sW1wiMTE2LjI4MTE3MDlcIixcIjM5LjgzMjIxNzlcIl1dLFxyXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6IHRoaXMucGFyc2VDb2xvcihcIiNGRjAwMDBcIikud2l0aEFscGhhKDAuMyksXHJcblx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmVXaWR0aDogMiwgLy8g6L655qGG57KX57uG77yI5YOP57Sg77yJXHJcblx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmVDb2xvcjogdGhpcy5wYXJzZUNvbG9yKFwiI2I0MDAwMFwiKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gZGlmZkhlaWdodDogbmV3VmFsdWVbZV0uaGVpZ2h0IHx8IDAsXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLmFkZEdyYXBoaWMoZmVuY2VHcmFwaGljKTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmdyYXBoaWNGZW5jZVtuZXdWYWx1ZVtlXS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyBncmFwaGljOiBncmFwaGljLFxyXG5cdFx0XHRcdFx0XHRcdFx0ZmVuY2U6IGZlbmNlR3JhcGhpY1xyXG5cdFx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldFBvaW50RGF0YShuZXdWYWx1ZSkge1xyXG5cclxuXHRcdFx0XHR0aGlzLmNhcnRlc2lhblBvaW50cyA9IFtdXHJcblx0XHRcdFx0Ly8gaWYgKHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF0pIHtcclxuXHRcdFx0XHQvLyBcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF0uZmVuY2UpO1xyXG5cdFx0XHRcdC8vIFx0ZGVsZXRlIHRoaXMuZ3JhcGhpY0ZlbmNlW3RoaXMuZmVuY2VpZF07XHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdC8vIGlmICh0aGlzLmdyYXBoaWNMYWJlbHNpZHNbdGhpcy5mZW5jZWlkXSkge1xyXG5cdFx0XHRcdC8vIFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljTGFiZWxzaWRzW3RoaXMuZmVuY2VpZF0uZ3JhcGhpYyk7XHJcblx0XHRcdFx0Ly8gXHRkZWxldGUgdGhpcy5ncmFwaGljTGFiZWxzaWRzW3RoaXMuZmVuY2VpZF07XHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdGlmIChncmFwaGljTGF5ZXJGZW5jZWRyd2EgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VkcndhLmNsZWFyKClcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0Zm9yICh2YXIgZSA9IDA7IGUgPCBuZXdWYWx1ZS5sZW5ndGg7IGUrKykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZlbmNlaWQgPSBuZXdWYWx1ZVtlXS5pZFxyXG5cdFx0XHRcdFx0XHR0aGlzLnBsaXN0ID0gW11cclxuXHRcdFx0XHRcdFx0dGhpcy5wbGlzdC5wdXNoKG5ld1ZhbHVlW2VdLmxhdClcclxuXHRcdFx0XHRcdFx0dGhpcy5wbGlzdC5wdXNoKG5ld1ZhbHVlW2VdLmxvbilcclxuXHRcdFx0XHRcdFx0Ly8gMy4g6Zet5ZCI5aSa6L655b2iXHJcblx0XHRcdFx0XHRcdHRoaXMuY2FydGVzaWFuUG9pbnRzLnB1c2godGhpcy5wbGlzdCk7XHJcblx0XHRcdFx0XHRcdC8vIOiHquWKqOmXreWQiOWkmui+ueW9olxyXG5cdFx0XHRcdFx0XHQvLyBbW1wiMTE2LjI4MTExNDBcIixcIjM5LjgzMTg3MjBcIl0sW1wiMTE2LjI4MTcxNjBcIixcIjM5LjgzMTc3MzBcIl0sW1wiMTE2LjI4MTE3MDlcIixcIjM5LjgzMjIxNzlcIl1dXHJcblx0XHRcdFx0XHRcdGNvbnN0IGZlbmNlR3JhcGhpYyA9IG5ldyBtYXJzM2QuZ3JhcGhpYy5Qb2x5Z29uUHJpbWl0aXZlKHtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbnM6IHRoaXMuY2FydGVzaWFuUG9pbnRzLFxyXG5cdFx0XHRcdFx0XHRcdC8vIGlkOiBuZXdWYWx1ZVtlXS5pZCxcclxuXHRcdFx0XHRcdFx0XHQvLyBwb3NpdGlvbnM6IFtbXCIxMTYuMjgxMTE0MFwiLFwiMzkuODMxODcyMFwiXSxbXCIxMTYuMjgxNzE2MFwiLFwiMzkuODMxNzczMFwiXSxbXCIxMTYuMjgxMTcwOVwiLFwiMzkuODMyMjE3OVwiXV0sXHJcblx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiB0aGlzLnBhcnNlQ29sb3IoXCIjRkYwMDAwXCIpLndpdGhBbHBoYSgwLjMpLFxyXG5cdFx0XHRcdFx0XHRcdFx0b3V0bGluZVdpZHRoOiAyLCAvLyDovrnmoYbnspfnu4bvvIjlg4/ntKDvvIlcclxuXHRcdFx0XHRcdFx0XHRcdG91dGxpbmU6IHRydWUsXHJcblx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lQ29sb3I6IHRoaXMucGFyc2VDb2xvcihcIiNiNDAwMDBcIiksXHJcblx0XHRcdFx0XHRcdFx0XHRkaWZmSGVpZ2h0OiBuZXdWYWx1ZVtlXS5oZWlnaHQgfHwgMCxcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGxhYmVsOiB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyAgIHRleHQ6IGUubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vICAgZm9udF9zaXplOiAxNCxcclxuXHRcdFx0XHRcdFx0XHRcdC8vICAgY29sb3I6IENlc2l1bS5Db2xvci5XSElURSxcclxuXHRcdFx0XHRcdFx0XHRcdC8vICAgZGlzdGFuY2VEaXNwbGF5Q29uZGl0aW9uOiBbMCwgNTAwMDAwXVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSk7XHJcblxyXG5cdFx0XHRcdFx0XHQvLyB0aGlzLmdyYXBoaWNGZW5jZVtuZXdWYWx1ZVtlXS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0Ly8gZ3JhcGhpYzogZ3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0Ly8gXHRmZW5jZTogZmVuY2VHcmFwaGljXHJcblx0XHRcdFx0XHRcdC8vIH07XHJcblx0XHRcdFx0XHRcdGdyYXBoaWNMYXllckZlbmNlZHJ3YS5hZGRHcmFwaGljKGZlbmNlR3JhcGhpYyk7XHJcblx0XHRcdFx0XHRcdC8v5rWL6K+V5pys5Zyw5Zu+54mHXHJcblx0XHRcdFx0XHRcdC8vIHRoaXMuZ3JhcGhpY2lkcy5wdXNoKG5ld1ZhbHVlW2VdLmlkKVxyXG5cdFx0XHRcdFx0XHRjb25zdCBncmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLkJpbGxib2FyZEVudGl0eSh7XHJcblxyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBbbmV3VmFsdWVbZV0ubGF0LCBuZXdWYWx1ZVtlXS5sb24sIDBdLFxyXG5cdFx0XHRcdFx0XHRcdGlkOiBuZXdWYWx1ZVtlXS5lLFxyXG5cdFx0XHRcdFx0XHRcdC8vIG1vZGVsOiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gXHQuLi5tb2RlbFBhcmFtLFxyXG5cdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdGltYWdlOiBcInN0YXRpYy9pbWcvcG9uaXQxLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2NhbGU6IDAuNCxcclxuXHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxPcmlnaW46IENlc2l1bS5Ib3Jpem9udGFsT3JpZ2luLkNFTlRFUixcclxuXHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRhdHRyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRvbmxpbmU6IG5ld1ZhbHVlW2VdLm9ubGluZSxcclxuXHRcdFx0XHRcdFx0XHRcdGxhdDogbmV3VmFsdWVbZV0ubGF0LFxyXG5cdFx0XHRcdFx0XHRcdFx0bG9uOiBuZXdWYWx1ZVtlXS5sb24sXHJcblx0XHRcdFx0XHRcdFx0XHRwcG93ZXI6IG5ld1ZhbHVlW2VdLnBvd2VyLFxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gYmFvbGl1NDogZS5iYW9saXU0LFxyXG5cdFx0XHRcdFx0XHRcdFx0Z3Bzc3RhdHVzOiBuZXdWYWx1ZVtlXS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRkZXBhcnRtZW50OiBuZXdWYWx1ZVtlXS5kZXBhcnRtZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0cG5hbWU6IG5ld1ZhbHVlW2VdLm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHQvLyBwdGFnaWQ6IG5ld1ZhbHVlW2VdLmlkLOOAglxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyRmVuY2VkcndhLmFkZEdyYXBoaWMoZ3JhcGhpYylcclxuXHRcdFx0XHRcdFx0Ly8gZ3JhcGhpY0xheWVyLmFkZEdyYXBoaWMobGFiZWwpO1xyXG5cdFx0XHRcdFx0XHQvLyBhZGRlZENhcklkcy5hZGQoZS5pZCk7XHJcblx0XHRcdFx0XHRcdC8vIHRoaXMuZ3JhcGhpY0xhYmVsc2lkc1tuZXdWYWx1ZVtlXS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0Z3JhcGhpYzogZ3JhcGhpYyxcclxuXHRcdFx0XHRcdFx0Ly8gXHQvLyBmZW5jZTogZmVuY2VHcmFwaGljXHJcblx0XHRcdFx0XHRcdC8vIH07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi5riF56m657uY5Yi25Zu05qCPXCIpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0RGF0YShuZXdWYWx1ZSkge1xyXG5cdFx0XHRcdGxldCBtb2RlbFBhcmFtID0ge1xyXG5cdFx0XHRcdFx0c2NhbGU6IDIsXHJcblx0XHRcdFx0XHR1cmw6IFwiaHR0cDovLzM5LjEwNi4yMTAuMTM6ODg4OC9oeHprdXdiL3ZpZXcvSG9tZS9tb2RlbC9tb2RlbC93YWxrLmdsdGZcIixcclxuXHRcdFx0XHRcdHBpdGNoOiAwLFxyXG5cdFx0XHRcdFx0cm9sbDogMCxcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdGlmIChPYmplY3Qua2V5cyhuZXdWYWx1ZSkubGVuZ3RoICE9IDApIHtcclxuXHRcdFx0XHRcdG5ld1ZhbHVlLmZvckVhY2goKGUsIGkpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKGUub25saW5lID09PSAnMScpIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAoIWFkZGVkQ2FySWRzLmhhcyhlLmlkKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coXCLmiZPljbDmlbDmja49PT0944CL44CL44CL44CL44CL44CL44CL44CL44CL44CLXCIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly/mtYvor5XmnKzlnLDlm77niYdcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBjb2xvckZlbmNlID0gXCJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IEp1WGluZ2NvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8zLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuZ3Bzc3RhdHVzID09IDEpIHsgLy/ljZXngrnok53oibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNC5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiIzAwYWFmZlwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZSA9PSAyIHx8IGUuZ3Bzc3RhdHVzID09IC0xIHx8IGUuZ3Bzc3RhdHVzID09IDMpIHsgLy/lhbbku5bnsbvlnovngbDoibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMS5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwicmdiYSgwLDAsMCwwLjUpXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlLmdwc3N0YXR1cyA9PSA0KSB7IC8v6auY57K+5bqm57u/6ImyXHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjMjBEODVDXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlLmdwc3N0YXR1cyA9PSA1KSB7IC8v5rWu54K56buE6ImyXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzIucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiNmZmZmMDBcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKGUuYmFvbGl1Mi5zcGxpdChcIjtcIikuaW5kZXhPZihcIjFcIik8MCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuYmFvbGl1Mi5zcGxpdChcIjtcIilbMF0gPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChlLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzFdID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoZS5iYW9saXUyLnNwbGl0KFwiO1wiKVsyXSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzcucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHR9ZWxzZVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUud2FybnN0YXR1cyA9PSBcIjFcIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW82LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8yLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKGUuYmFvbGl1MTkgPT0gXCLovabovb1cIikge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR2YXIgaW1nID0gJ3N0YXRpYy9pbWcvY2FyMS5wbmcnXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gXHR2YXIgaW1nID0gJ3N0YXRpYy9pbWcvcGVyc29uNi5wbmcnXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBncmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLkJpbGxib2FyZEVudGl0eSh7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogW2UubGF0LCBlLmxvbiwgMF0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlkOiBlLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBtb2RlbDoge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBcdC4uLm1vZGVsUGFyYW0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gaW1hZ2U6IFwic3RhdGljL2ltZy9wZXJzb241LnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGltYWdlOiBpbWcsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c2NhbGU6IFwiMC40XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aG9yaXpvbnRhbE9yaWdpbjogQ2VzaXVtLkhvcml6b250YWxPcmlnaW4uQ0VOVEVSLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbmxpbmU6IGUuZ3Bzc3RhdHVzLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IGUudHlwZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRiYW9saXUxOiBlLmJhb2xpdTEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cnRjbTogZS5ydGNtLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGVuY3J5cHRpb246IGUuZW5jcnlwdGlvbixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3dlcjogZS5wb3dlcixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IGUuaGVpZ2h0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGdwc3N0YXR1czogZS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGRlcGFydG1lbnQ6IGUuZGVwYXJ0bWVudCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwZXJzb25uYW1lOiBlLnBlcnNvbm5hbWUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGFnaWQ6IGUudGFnaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBsYWJlbCA9IG5ldyBtYXJzM2QuZ3JhcGhpYy5MYWJlbEVudGl0eSh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBncmFwaGljLnBvc2l0aW9uLCAvLyDmoIfnrb7nmoTkvY3nva7kuI7lm77moIfkvY3nva7nm7jlkIxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0ZXh0OiBlLnBlcnNvbm5hbWUgKyBcIiBcIiArIGUuaWQsIC8vIOagh+etvueahOaWh+acrOWGheWuueS4uuWnk+WQjeWSjOe8luWPt1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQ6ICcxMHB0IHNhbnMtc2VyaWYnLCAvLyDlrZfkvZPmoLflvI9cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRmaWxsQ29sb3I6IFwiIzAwMDAwMFwiLCAvLyDlrZfkvZPpopzoibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lQ29sb3I6IGNvbG9yRmVuY2UsIC8vIOaPj+i+ueminOiJsu+8jOS9v+aWh+Wtl+abtOa4heaZsFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG91dGxpbmVXaWR0aDogMiwgLy8g5o+P6L655a695bqmXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IENlc2l1bS5MYWJlbFN0eWxlLkZJTExfQU5EX09VVExJTkUsIC8vIOmjjuagvO+8muWhq+WFheWSjOaPj+i+uVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NLCAvLyDmloflrZflnKjlnoLnm7TmlrnlkJHnmoTljp/ngrlcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwaXhlbE9mZnNldDogbmV3IENlc2l1bS5DYXJ0ZXNpYW4yKDAsIC1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDMwKSAvLyDmloflrZflgY/np7vph4/vvIzlkJHkuIvlgY/np7sxMOWDj+e0oFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdLmdyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWxldGUgdGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBkZWxldGUgdGhpcy5sYWJlbHNbY2FyLmlkXTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5hZGRHcmFwaGljKGdyYXBoaWMpXHJcblx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhsYWJlbCk7XHJcblx0XHRcdFx0XHRcdFx0XHRhZGRlZENhcklkcy5hZGQoZS5pZCk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWM6IGdyYXBoaWMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBsYWJlbFxyXG5cdFx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKGFkZGVkQ2FySWRzLmhhcyhlLmlkKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IGNvbG9yRmVuY2UgPSBcIlwiXHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgSnVYaW5nY29sb3JGZW5jZSA9IFwiXCJcclxuXHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzMucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoZS5ncHNzdGF0dXMgPT0gMSkgeyAvL+WNleeCueiTneiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW80LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjMDBhYWZmXCJcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChlID09IDIgfHwgZS5ncHNzdGF0dXMgPT0gLTEgfHwgZS5ncHNzdGF0dXMgPT0gMykgeyAvL+WFtuS7luexu+Wei+eBsOiJslxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8xLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCJyZ2JhKDAsMCwwLDAuNSlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuZ3Bzc3RhdHVzID09IDQpIHsgLy/pq5jnsr7luqbnu7/oibJcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMyMEQ4NUNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGUuZ3Bzc3RhdHVzID09IDUpIHsgLy/mta7ngrnpu4ToibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMi5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3JGZW5jZSA9IFwiI2ZmZmYwMFwiXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLmlzb2ZmbGluZSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnN0IGdyYXBoaWMxID0gbmV3IG1hcnMzZC5ncmFwaGljLkJpbGxib2FyZEVudGl0eSh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFtlLmxhdCwgZS5sb24sIDBdLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlkOiBlLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aW1hZ2U6IGltZyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNjYWxlOiBcIjAuNFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aG9yaXpvbnRhbE9yaWdpbjogQ2VzaXVtLkhvcml6b250YWxPcmlnaW4uQ0VOVEVSLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxPcmlnaW46IENlc2l1bS5WZXJ0aWNhbE9yaWdpbi5CT1RUT01cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGF0dHI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9ubGluZTogZS5ncHNzdGF0dXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiBlLnR5cGUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRiYW9saXUxOiBlLmJhb2xpdTEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRydGNtOiBlLnJ0Y20sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRlbmNyeXB0aW9uOiBlLmVuY3J5cHRpb24sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwb3dlcjogZS5wb3dlcixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogZS5oZWlnaHQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRncHNzdGF0dXM6IGUuZ3Bzc3RhdHVzLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGRlcGFydG1lbnQ6IGUuZGVwYXJ0bWVudCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBlcnNvbm5hbWU6IGUucGVyc29ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRhZ2lkOiBlLnRhZ2lkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdLmdyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWxldGUgdGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhncmFwaGljMSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWM6IGdyYXBoaWMxLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Z3JhcGhpY0xheWVyLnJlbW92ZUdyYXBoaWModGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdLmdyYXBoaWMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIucmVtb3ZlR3JhcGhpYyh0aGlzLmdyYXBoaWNMYWJlbHNbZS5pZF0ubGFiZWwpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkZWxldGUgdGhpcy5ncmFwaGljTGFiZWxzW2UuaWRdO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0YWRkZWRDYXJJZHMuZGVsZXRlKGUuaWQpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSkgLy8g5bCG5Lyg6YCS6L+H5p2l55qE5YC86LWL5YC857uZcG9pbnRz77yM6L+Z5qC35bCx5Y+v5Lul5Zyo6KeG5Zu+5bGC5Lit5L2/55SoXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRncHNEYXRhKG5ld1ZhbHVlKSB7XHJcblx0XHRcdFx0bGV0IG1vZGVsUGFyYW0gPSB7XHJcblx0XHRcdFx0XHRzY2FsZTogMixcclxuXHRcdFx0XHRcdHVybDogXCJodHRwOi8vMzkuMTA2LjIxMC4xMzo4ODg4L2h4emt1d2Ivdmlldy9Ib21lL21vZGVsL21vZGVsL3dhbGsuZ2x0ZlwiLFxyXG5cdFx0XHRcdFx0cGl0Y2g6IDAsXHJcblx0XHRcdFx0XHRyb2xsOiAwLFxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0aWYgKE9iamVjdC5rZXlzKG5ld1ZhbHVlKS5sZW5ndGggIT0gMCkge1xyXG5cdFx0XHRcdFx0dmFyIGxpc3RBTEwgPSBuZXdWYWx1ZTtcclxuXHRcdFx0XHRcdGlmIChncmFwaGljTGF5ZXIgIT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuZWFjaEdyYXBoaWMoKGNhcikgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdC8vIOWPluWHuuWvueW6lOi9pui+hueahOi9qOi/ueWIl+ihqFxyXG5cdFx0XHRcdFx0XHRcdHZhciBwYXRoID0gbGlzdEFMTC5maWx0ZXIoKGl0ZW0pID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBpdGVtLmlkID09PSBjYXIuaWRcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRwYXRoLmZvckVhY2goKGl0ZW0pID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhciBwb2ludCA9IG5ldyBtYXJzM2QuTG5nTGF0UG9pbnQoaXRlbS5sYXQsIGl0ZW1cclxuXHRcdFx0XHRcdFx0XHRcdFx0LmxvbiwgMCk7XHJcblx0XHRcdFx0XHRcdFx0XHRjYXIuYWRkRHluYW1pY1Bvc2l0aW9uKHBvaW50LCBpdGVtLmFkZHRpZW0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3Qge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRvbGRncmFwaGljLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRsYWJlbFxyXG5cdFx0XHRcdFx0XHRcdFx0fSA9IHRoaXMuZ3JhcGhpY0xhYmVsc1tpdGVtLmlkXTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIOenu+mZpOaXp+eahOWbvuagh+WunuS9k1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuZ3JhcGhpY0xhYmVsc1tjYXIuaWRdKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKGNhcik7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWNMYXllci5yZW1vdmVHcmFwaGljKGxhYmVsKTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdC8vIGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIikuaW5kZXhPZigxKVxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGlmIChpdGVtLm9ubGluZSA9PT0gJzEnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzMucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxldCBjb2xvckZlbmNlID0gXCJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRsZXQgSnVYaW5nY29sb3JGZW5jZSA9IFwiXCJcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChpdGVtLmdwc3N0YXR1cyA9PSAxKSB7IC8v5Y2V54K56JOd6ImyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNC5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjMDBhYWZmXCJcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0gPT0gMiB8fCBpdGVtLmdwc3N0YXR1cyA9PSAtMSB8fCBpdGVtLmdwc3N0YXR1cyA9PVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDMpIHsgLy/lhbbku5bnsbvlnovngbDoibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8xLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcInJnYmEoMCwwLDAsMC41KVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKGl0ZW0uZ3Bzc3RhdHVzID09IDQpIHsgLy/pq5jnsr7luqbnu7/oibJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8zLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yRmVuY2UgPSBcIiMyMEQ4NUNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChpdGVtLmdwc3N0YXR1cyA9PSA1KSB7IC8v5rWu54K56buE6ImyXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvMi5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvckZlbmNlID0gXCIjZmZmZjAwXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZygyMjIyMjIyMik7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGl0ZW0uYmFvbGl1Mik7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIikuaW5kZXhPZihcIjFcIikpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhpdGVtLmJhb2xpdTIuc3BsaXQoXCI7XCIpLmluZGV4T2YoXCIxXCIpPi0xKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gaWYgKGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIikuaW5kZXhPZihcIjFcIikgPCAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHQvLyB2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW8yLnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChpdGVtLmJhb2xpdTIuc3BsaXQoXCI7XCIpWzBdID09IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW83LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGl0ZW0uYmFvbGl1Mi5zcGxpdChcIjtcIilbMV0gPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzcucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoaXRlbS5iYW9saXUyLnNwbGl0KFwiO1wiKVsyXSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGltZyA9IFwic3RhdGljL2ltZy96dW9iaWFvNy5wbmdcIjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fWVsc2UgXHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChpdGVtLndhcm5zdGF0dXMgPT0gXCIxXCIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW1nID0gXCJzdGF0aWMvaW1nL3p1b2JpYW82LnBuZ1wiO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBpbWcgPSBcInN0YXRpYy9pbWcvenVvYmlhbzIucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIOWIm+W7uuaWsOeahOWbvuagh+WunuS9k1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zdCBuZXdHcmFwaGljID0gbmV3IG1hcnMzZC5ncmFwaGljLkJpbGxib2FyZEVudGl0eSh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFtpdGVtLmxhdCwgaXRlbS5sb24sIDBdLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlkOiBpdGVtLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBpbWFnZTogXCJzdGF0aWMvaW1nL3BlcnNvbjUucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpbWFnZTogaW1nLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2NhbGU6IFwiMC40XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsT3JpZ2luOiBDZXNpdW0uSG9yaXpvbnRhbE9yaWdpblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQuQ0VOVEVSLFxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsT3JpZ2luOiBDZXNpdW0uVmVydGljYWxPcmlnaW4uQk9UVE9NLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gcGl4ZWxPZmZzZXQ6IG5ldyBDZXNpdW0uQ2FydGVzaWFuMigwLCAxMCksIC8vIOWQkeS4i+WBj+enuzUw5YOP57SgXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRhdHRyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvbmxpbmU6IGl0ZW0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogaXRlbS50eXBlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0YmFvbGl1MTogaXRlbS5iYW9saXUxLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZW5jcnlwdGlvbjogaXRlbS5lbmNyeXB0aW9uLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cnRjbTogaXRlbS5ydGNtLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cG93ZXI6IGl0ZW0ucG93ZXIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IGl0ZW0uaGVpZ2h0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Z3Bzc3RhdHVzOiBpdGVtLmdwc3N0YXR1cyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGRlcGFydG1lbnQ6IGl0ZW0uZGVwYXJ0bWVudCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBlcnNvbm5hbWU6IGl0ZW0ucGVyc29ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRhZ2lkOiBpdGVtLnRhZ2lkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc3QgbmV3bGFiZWwgPSBuZXcgbWFyczNkLmdyYXBoaWMuTGFiZWxFbnRpdHkoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBwb2ludCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS5wZXJzb25uYW1lICsgXCIgXCIgKyBpdGVtLnRhZ2lkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udDogJzEwcHQgc2Fucy1zZXJpZicsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmaWxsQ29sb3I6IFwiIzAwMDAwMFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZUNvbG9yOiBjb2xvckZlbmNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b3V0bGluZVdpZHRoOiAyLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IENlc2l1bS5MYWJlbFN0eWxlLkZJTExfQU5EX09VVExJTkUsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbE9yaWdpbjogQ2VzaXVtLlZlcnRpY2FsT3JpZ2luLkJPVFRPTSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHBpeGVsT2Zmc2V0OiBuZXcgQ2VzaXVtLkNhcnRlc2lhbjIoMCwgLTMwKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIOa3u+WKoOagh+etvuWIsOWbvuWxguW5tuWtmOWCqOW8leeUqFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhuZXdsYWJlbCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIOa3u+WKoOaWsOeahOWbvuagh+WunuS9k+WIsOWbvuWxglxyXG5cdFx0XHRcdFx0XHRcdFx0XHRncmFwaGljTGF5ZXIuYWRkR3JhcGhpYyhuZXdHcmFwaGljKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5ncmFwaGljTGFiZWxzW2l0ZW0uaWRdID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGdyYXBoaWM6IG5ld0dyYXBoaWMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGFiZWw6IG5ld2xhYmVsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdC8v6YeN5YaZY2VzaXVt5o6l5Y+jXHJcblx0XHRcdHJld3JpdGVDZXNpdW1Tb3VyY2VzKENlc2l1bSkge1xyXG5cdFx0XHRcdGNvbnN0IGxvYWRJbWFnZUVsZW1lbnRfb2xkID0gQ2VzaXVtLlJlc291cmNlLl9JbXBsZW1lbnRhdGlvbnMubG9hZEltYWdlRWxlbWVudDtcclxuXHRcdFx0XHRDZXNpdW0uUmVzb3VyY2UuX0ltcGxlbWVudGF0aW9ucy5sb2FkSW1hZ2VFbGVtZW50ID0gZnVuY3Rpb24odXJsLCBjcm9zc09yaWdpbiwgZGVmZXJyZWQpIHtcclxuXHRcdFx0XHRcdC8vIOS/ruaUueacrOWcsGZpbGXmnKzlnLDmlofku7bpnIDopoHorr7nva7ot6jln5/vvIh1bmlhcHDnjq/looPnrYnvvIlcclxuXHRcdFx0XHRcdGlmICh1cmwuc3RhcnRzV2l0aCgnZmlsZScpKSB7XHJcblx0XHRcdFx0XHRcdGNyb3NzT3JpZ2luID0gdHJ1ZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmICghdXJsLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xyXG5cdFx0XHRcdFx0XHRjcm9zc09yaWdpbiA9IHRydWU7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0cmV0dXJuIGxvYWRJbWFnZUVsZW1lbnRfb2xkKHVybCwgY3Jvc3NPcmlnaW4sIGRlZmVycmVkKTtcclxuXHRcdFx0XHR9O1xyXG5cclxuXHRcdFx0XHRjb25zdCBjb250YWluc19vbGQgPSBDZXNpdW0uVHJ1c3RlZFNlcnZlcnMuY29udGFpbnM7XHJcblx0XHRcdFx0Q2VzaXVtLlRydXN0ZWRTZXJ2ZXJzLmNvbnRhaW5zID0gZnVuY3Rpb24odXJsKSB7XHJcblx0XHRcdFx0XHQvLyDkv67mlLnmnKzlnLBmaWxl5pys5Zyw5paH5Lu26ZyA6KaB6K6+572u6Leo5Z+f77yIdW5pYXBw546v5aKD562J77yJXHJcblx0XHRcdFx0XHRpZiAodXJsLnN0YXJ0c1dpdGgoJ2ZpbGUnKSkge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRyZXR1cm4gY29udGFpbnNfb2xkLmJpbmQodGhpcykodXJsKTtcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly8g5Yqg6L296LWE5rqQXHJcblx0XHRcdGxvYWRTb3VyY2UobG9hZFF1ZWVuKSB7XHJcblx0XHRcdFx0Y29uc3Qgc3RlcE9uZSA9IChyZXNvbHZlKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAobG9hZFF1ZWVuLmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0XHRjb25zdCBkZXAgPSBsb2FkUXVlZW4uc2hpZnQoKVxyXG5cclxuXHRcdFx0XHRcdFx0bGV0IGxvYWRlclxyXG5cdFx0XHRcdFx0XHRpZiAoZGVwLmVuZHNXaXRoKFwiLmNzc1wiKSkge1xyXG5cdFx0XHRcdFx0XHRcdGxvYWRlciA9IHRoaXMubG9hZExpbmsoZGVwKVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdGxvYWRlciA9IHRoaXMubG9hZFNjcmlwdChkZXApXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGxvYWRlci50aGVuKCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRzdGVwT25lKHJlc29sdmUpXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRyZXNvbHZlKHRydWUpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuXHRcdFx0XHRcdHN0ZXBPbmUocmVzb2x2ZSlcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly8g5Yqg6L29c2NycGl0XHJcblx0XHRcdGxvYWRTY3JpcHQoc3JjLCBhc3luYyA9IHRydWUpIHtcclxuXHRcdFx0XHRjb25zdCAkc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKVxyXG5cdFx0XHRcdCRzY3JpcHQuYXN5bmMgPSBhc3luY1xyXG5cdFx0XHRcdCRzY3JpcHQuc3JjID0gc3JjXHJcblx0XHRcdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCgkc2NyaXB0KVxyXG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdFx0XHQkc2NyaXB0Lm9ubG9hZCA9ICgpID0+IHtcclxuXHRcdFx0XHRcdFx0cmVzb2x2ZSh0cnVlKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDliqDovb1zY3JwaXRcclxuXHRcdFx0bG9hZExpbmsoc3JjKSB7XHJcblx0XHRcdFx0Y29uc3QgJGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlua1wiKVxyXG5cdFx0XHRcdCRsaW5rLnJlbCA9IFwic3R5bGVzaGVldFwiXHJcblx0XHRcdFx0JGxpbmsuaHJlZiA9IHNyY1xyXG5cdFx0XHRcdGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoJGxpbmspXHJcblx0XHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHRcdCRsaW5rLm9ubG9hZCA9ICgpID0+IHtcclxuXHRcdFx0XHRcdFx0cmVzb2x2ZSh0cnVlKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHQuc2VhcmNoYmcge1xyXG5cdFx0d2lkdGg6ICc1MCUnO1xyXG5cdFx0bGVmdDogJzI1JSc7XHJcblx0XHRwb3NpdGlvbjogJ2Fic29sdXRlJztcclxuXHRcdHotaW5kZXg6IDk5OTk5OTk5O1xyXG5cdH1cclxuXHJcblxyXG5cdC5jb250ZW50IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///412\n"); |
| | | |
| | | /***/ }), |
| | | /* 413 */ |
| | |
| | | /***/ (function(module, exports, __webpack_require__) { |
| | | |
| | | "use strict"; |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 161));\nvar _success = _interopRequireDefault(__webpack_require__(/*! @/components/success.vue */ 102));\nvar _minLogin = __webpack_require__(/*! @/js/minLogin.js */ 251);\nvar _api = __webpack_require__(/*! @/config/api.js */ 115);\nvar _equipment = __webpack_require__(/*! @/js/pages/equipment.js */ 354);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 = {\n mixins: [_minLogin.minLogin, _equipment.pagesEquipment],\n components: {\n successCom: _success.default\n },\n data: function data() {\n return {\n show5: false,\n show4: false,\n show3: false,\n show2: false,\n labelWidth: 200,\n show1: false,\n disabled: false,\n show6: false,\n encryptionList: [{\n text: '是'\n }, {\n text: '否'\n }],\n typeList: [{\n text: '手持标签'\n }, {\n text: '车载标签'\n }, {\n text: '高精度工卡'\n }, {\n text: '提醒标签'\n }, {\n text: '闭锁装置'\n }],\n holdtypeList: [{\n text: '工作负责人'\n }, {\n text: '专责监护人'\n }, {\n text: '登高作业人'\n }, {\n text: '一般作业人'\n }, {\n text: '吊车'\n }, {\n text: '斗臂车'\n }, {\n text: '挖掘机'\n }, {\n text: '泵车'\n }, {\n text: '一般车辆'\n }],\n showpopup: false,\n form: {\n baoliu1: '',\n tagid: '',\n encryption: '',\n personname: '',\n department: '',\n type: '',\n mestagid: '',\n company: '',\n alterPerson: '',\n perCompany: '',\n bisuoid: ''\n },\n width: '40%',\n online: 0,\n offline: 0,\n isAchor: false,\n warnindex: 0,\n warlist: {},\n lock: false,\n keyword: '',\n pageNo: 1,\n pageSize: 10,\n imgStyle: {\n width: '100px',\n height: '1000px',\n borderRadius: '50%'\n },\n showSkeleton: true,\n options: [{\n text: '删除',\n style: {\n backgroundColor: '#F93737'\n }\n }],\n bumenList: [],\n tixinglist: [],\n tixingonlie: '',\n bisuoonlie: '',\n bisuolist: [],\n boxKey: 0,\n scrollHeight: 500,\n topheight: 0,\n paddingTop: 60,\n emitDate: 'indexHome',\n show: false,\n time: '',\n list: [],\n total: 0,\n options1: [{\n text: '删除',\n style: {\n backgroundColor: '#F93737'\n }\n }]\n };\n },\n computed: {\n countList: function countList() {\n var num = 0;\n for (var i in this.list) {\n num += this.list[i].fQty;\n }\n return num;\n }\n },\n mounted: function mounted() {\n var _this = this;\n this.findbisuoall();\n this.findbumenall();\n this.findtixingall();\n this.topheight = this.vuex_custom_bar_height + 15;\n setTimeout(function () {\n _this.showSkeleton = false;\n }, 1000);\n this.scrollHeight = this.screenHeight - 282;\n setTimeout(function () {\n _this.paddingTop = _this.vuex_padding_top;\n _this.paddingTop += 5;\n }, 400);\n },\n methods: {\n cancelmodal: function cancelmodal() {\n this.showpopup = false;\n },\n //保存围栏\n submitForm: function submitForm() {\n var _this2 = this;\n if (this.disabled == true) {\n //修改\n this.form.company = this.company;\n this.form.percompany = this.company;\n this.form.alterPerson = this.vuex_user;\n (0, _api.updateper)(this.form).then(function (res) {\n // if (res.code == 0) {\n\n // }\n _this2.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"修改成功\"\n });\n _this2.showpopup = false;\n setTimeout(function () {\n _this2.handleRefresh({\n page: 1,\n size: _this2.pageSize\n }, function () {\n // 可以在这里处理加载完成后的逻辑\n });\n }, 1000);\n });\n } else {\n //新增\n if (this.form.mestagid == '') {\n this.form.mestagid = '-1';\n }\n if (this.form.bisuoid == '') {\n this.form.bisuoid = '-1';\n }\n this.form.company = this.company;\n this.form.percompany = this.company;\n this.form.alterPerson = this.vuex_user;\n (0, _api.saveper)(this.form).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:342\");\n // if (res.code == 0) {\n _this2.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"保存成功\"\n });\n _this2.showpopup = false;\n _this2.handleRefresh({\n page: 1,\n size: _this2.pageSize\n }, function () {\n // 可以在这里处理加载完成后的逻辑\n });\n // }\n });\n }\n },\n goBack: function goBack() {\n this.showpopup = true;\n this.disabled = false;\n this.form.personname = '';\n this.form.encryption = '';\n this.form.tagid = '';\n this.form.department = '';\n this.form.mestagid = '';\n this.form.type = '';\n this.form.bisuoid = '';\n this.form.baoliu1 = '';\n },\n findbisuoall: function findbisuoall() {\n var _this3 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbisuo)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:381\");\n if (res.code == 0) {\n _this3.bisuolist = res.data.map(function (item) {\n return {\n value: item.online,\n text: item.tagid\n };\n });\n }\n });\n }\n },\n findtixingall: function findtixingall() {\n var _this4 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtixing)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:401\");\n if (res.code == 0) {\n _this4.tixinglist = res.data.map(function (item) {\n return {\n value: item.online,\n text: item.tagid\n };\n });\n // } else {\n // \tthis.$refs.refSuccess.showBox({\n // \t\ttype: 'error',\n // \t\ttxt: res.msg\n // \t});\n }\n });\n }\n },\n findbumenall: function findbumenall() {\n var _this5 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbumen)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:425\");\n if (res.code == 0) {\n _this5.bumenList = res.data.map(function (item) {\n return {\n value: item.name,\n text: item.name\n };\n });\n // } else {\n // \tthis.$refs.refSuccess.showBox({\n // \t\ttype: 'error',\n // \t\ttxt: res.msg\n // \t});\n }\n });\n }\n },\n bymenCallback: function bymenCallback(index) {\n __f__(\"log\", this.bumenList, \" at pages/index/tag.vue:442\");\n this.form.department = this.bumenList[index].text;\n },\n bisuoCallback: function bisuoCallback(index) {\n __f__(\"log\", this.bisuolist, \" at pages/index/tag.vue:446\");\n this.form.bisuoid = this.bisuolist[index].text;\n this.bisuoonlie = this.bisuolist[index].value;\n },\n tixingCallback: function tixingCallback(index) {\n __f__(\"log\", this.tixinglist, \" at pages/index/tag.vue:451\");\n this.form.mestagid = this.tixinglist[index].text;\n this.tixingonlie = this.tixinglist[index].value;\n },\n typeCallback: function typeCallback(index) {\n this.form.type = this.typeList[index].text;\n },\n encryptionCallback: function encryptionCallback(index) {\n this.form.encryption = this.encryptionList[index].text;\n },\n holdtypeCallback: function holdtypeCallback(index) {\n this.form.baoliu1 = this.holdtypeList[index].text;\n },\n editClick: function editClick(e, i) {\n this.editindex = i;\n this.showpopup = true;\n this.disabled = true;\n this.form.personname = e.personname;\n this.form.encryption = e.encryption;\n this.form.tagid = e.tagid;\n this.form.department = e.department;\n this.form.mestagid = e.mestagid;\n this.form.type = e.type;\n this.form.bisuoid = e.bisuoid;\n this.form.baoliu1 = e.baoliu1;\n },\n goAchor: function goAchor() {\n this.isAchor = false;\n this.$emit('goAchor');\n },\n goTag: function goTag() {\n this.isAchor = true;\n },\n // 模拟请求加载数据\n handleLoad: function handleLoad(data, callback) {\n var _this6 = this;\n var params = {\n current: data.page,\n size: data.size,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:498\");\n _this6.online = res.online;\n _this6.offline = res.offline;\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this6.list = [].concat((0, _toConsumableArray2.default)(_this6.list), list);\n callback({\n list: _this6.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n } else {\n callback({\n list: [],\n total: 0\n });\n }\n },\n handleSearch: function handleSearch(data, callback) {\n var _this7 = this;\n var params = {\n current: 1,\n size: 10,\n juese: uni.getStorageSync('juese'),\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n _this7.online = res.online;\n _this7.offline = res.offline;\n _this7.list = [];\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this7.list = [].concat((0, _toConsumableArray2.default)(_this7.list), list);\n callback({\n list: _this7.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n }\n },\n // 模拟请求数据刷新\n handleRefresh: function handleRefresh(data, callback) {\n var _this8 = this;\n var params = {\n current: data.page,\n size: data.size,\n objectid: data.objectid,\n juese: uni.getStorageSync('juese'),\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n _this8.online = res.online;\n _this8.offline = res.offline;\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this8.list = [];\n _this8.list = [].concat((0, _toConsumableArray2.default)(_this8.list), list);\n callback({\n list: _this8.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n }\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvdGFnLnZ1ZSJdLCJuYW1lcyI6WyJtaXhpbnMiLCJjb21wb25lbnRzIiwic3VjY2Vzc0NvbSIsImRhdGEiLCJzaG93NSIsInNob3c0Iiwic2hvdzMiLCJzaG93MiIsImxhYmVsV2lkdGgiLCJzaG93MSIsImRpc2FibGVkIiwic2hvdzYiLCJlbmNyeXB0aW9uTGlzdCIsInRleHQiLCJ0eXBlTGlzdCIsImhvbGR0eXBlTGlzdCIsInNob3dwb3B1cCIsImZvcm0iLCJiYW9saXUxIiwidGFnaWQiLCJlbmNyeXB0aW9uIiwicGVyc29ubmFtZSIsImRlcGFydG1lbnQiLCJ0eXBlIiwibWVzdGFnaWQiLCJjb21wYW55IiwiYWx0ZXJQZXJzb24iLCJwZXJDb21wYW55IiwiYmlzdW9pZCIsIndpZHRoIiwib25saW5lIiwib2ZmbGluZSIsImlzQWNob3IiLCJ3YXJuaW5kZXgiLCJ3YXJsaXN0IiwibG9jayIsImtleXdvcmQiLCJwYWdlTm8iLCJwYWdlU2l6ZSIsImltZ1N0eWxlIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwic2hvd1NrZWxldG9uIiwib3B0aW9ucyIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiYnVtZW5MaXN0IiwidGl4aW5nbGlzdCIsInRpeGluZ29ubGllIiwiYmlzdW9vbmxpZSIsImJpc3VvbGlzdCIsImJveEtleSIsInNjcm9sbEhlaWdodCIsInRvcGhlaWdodCIsInBhZGRpbmdUb3AiLCJlbWl0RGF0ZSIsInNob3ciLCJ0aW1lIiwibGlzdCIsInRvdGFsIiwib3B0aW9uczEiLCJjb21wdXRlZCIsImNvdW50TGlzdCIsIm51bSIsIm1vdW50ZWQiLCJzZXRUaW1lb3V0IiwibWV0aG9kcyIsImNhbmNlbG1vZGFsIiwic3VibWl0Rm9ybSIsInR4dCIsInBhZ2UiLCJzaXplIiwiZ29CYWNrIiwiZmluZGJpc3VvYWxsIiwianVlc2UiLCJ2YWx1ZSIsImZpbmR0aXhpbmdhbGwiLCJmaW5kYnVtZW5hbGwiLCJieW1lbkNhbGxiYWNrIiwiYmlzdW9DYWxsYmFjayIsInRpeGluZ0NhbGxiYWNrIiwidHlwZUNhbGxiYWNrIiwiZW5jcnlwdGlvbkNhbGxiYWNrIiwiaG9sZHR5cGVDYWxsYmFjayIsImVkaXRDbGljayIsImdvQWNob3IiLCJnb1RhZyIsImhhbmRsZUxvYWQiLCJjdXJyZW50IiwiY2FsbGJhY2siLCJoYW5kbGVTZWFyY2giLCJoYW5kbGVSZWZyZXNoIiwib2JqZWN0aWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBMkhBO0FBRUE7QUFHQTtBQVFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFHQTtFQUNBQTtFQUNBQztJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7TUFDQSxHQUVBO1FBQ0FBO01BQ0EsRUFDQTtNQUNBQztRQUNBRDtNQUNBLEdBRUE7UUFDQUE7TUFDQSxHQUVBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxFQUNBO01BQ0FFO1FBQ0FGO01BQ0EsR0FFQTtRQUNBQTtNQUNBLEdBRUE7UUFDQUE7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxHQUVBO1FBQ0FBO01BQ0E7UUFDQUE7TUFDQTtRQUNBQTtNQUNBLEVBRUE7TUFFQUc7TUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBVjtRQUNBVztRQUNBQztNQUNBO01BQ0FDO01BQ0FDO1FBQ0E5QjtRQUNBK0I7VUFDQUM7UUFDQTtNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0EvQztRQUNBK0I7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBZ0I7SUFDQUM7TUFDQTtNQUNBO1FBQ0FDO01BQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFBQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBO0lBRUFBO01BQ0E7TUFDQTtJQUNBO0VBRUE7RUFDQUM7SUFDQUM7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFFQTtVQUdBOztVQUVBO1VBQ0E7WUFDQTdDO1lBQ0E4QztVQUNBO1VBQ0E7VUFDQUo7WUFDQTtjQUNBSztjQUNBQztZQUNBO2NBQ0E7WUFBQSxDQUNBO1VBQ0E7UUFHQTtNQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFFQTtVQUNBO1VBQ0E7VUFDQTtZQUNBaEQ7WUFDQThDO1VBQ0E7VUFDQTtVQUNBO1lBQ0FDO1lBQ0FDO1VBQ0E7WUFDQTtVQUFBLENBQ0E7VUFDQTtRQUVBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFHQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQWhEO1VBQ0FpRDtRQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FBQTtnQkFDQUM7Z0JBQ0E5RDtjQUNBO1lBQUE7VUFDQTtRQUVBO01BQ0E7SUFFQTtJQUVBK0Q7TUFBQTtNQUNBO1FBQ0E7VUFDQW5EO1VBQ0FpRDtRQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FBQTtnQkFDQUM7Z0JBQ0E5RDtjQUNBO1lBQUE7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBRUE7SUFFQWdFO01BQUE7TUFDQTtRQUNBO1VBQ0FwRDtVQUNBaUQ7UUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQUE7Z0JBQ0FDO2dCQUNBOUQ7Y0FDQTtZQUFBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUVBO0lBQ0FpRTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUVBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BRUE7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBRUE7SUFDQUM7TUFBQTtNQUNBO1FBQ0FDO1FBQ0FqQjtRQUNBOUM7UUFDQWlEO01BQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBVDtjQUNBO2NBQ0E7Z0JBQ0FQO2NBQ0E7Y0FDQTtjQUNBK0I7Z0JBQ0EvQjtnQkFDQUM7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E4QjtVQUNBL0I7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7SUFDQStCO01BQUE7TUFDQTtRQUNBRjtRQUNBakI7UUFDQUc7UUFDQWpEO01BQ0E7TUFDQTtRQUNBO1VBRUE7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBd0M7Y0FDQTtjQUNBO2dCQUNBUDtjQUNBO2NBQ0E7Y0FDQStCO2dCQUNBL0I7Z0JBQ0FDO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQWdDO01BQUE7TUFDQTtRQUNBSDtRQUNBakI7UUFDQXFCO1FBQ0FsQjtRQUNBakQ7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBd0M7Y0FDQTtjQUNBO2dCQUNBUDtjQUNBO2NBQ0E7Y0FDQTtjQUNBK0I7Z0JBQ0EvQjtnQkFDQUM7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiNDE3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwidGVtcGxhdGUtam9iIHRuLXNhZmUtYXJlYS1pbnNldC1ib3R0b20gdG4tc2tlbGV0b25cIj5cclxuXHJcblx0XHQ8IS0tIOmhtumDqOiHquWumuS5ieWvvOiIqiAtLT5cclxuXHRcdDx0bi1uYXYtYmFyIGZpeGVkIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTtcIiBhbHBoYSBjdXN0b21CYWNrPlxyXG5cdFx0XHQ8dmlldyBzbG90PVwicmlnaHRcIiBjbGFzcz0ndG4tY3VzdG9tLW5hdi1iYXJfX2JhY2snIEBjbGljaz1cImdvQmFja1wiPlxyXG5cclxuXHRcdFx0XHQ8dGV4dCBzdHlsZT1cIm1hcmdpbi1yaWdodDogMjBweDtcIj7mlrDlop48L3RleHQ+XHJcblx0XHRcdFx0PCEtLSA8dGV4dCBjbGFzcz0ndG4taWNvbiBhZGQnPjwvdGV4dD4gLS0+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PCEtLSA8dGV4dCBjbGFzcz1cInRpdGxlX2xpbmVzcGFuXCIgQGNsaWNrPVwiZ29BY2hvclwiPuWfuuermTwvdGV4dD4gLS0+XHJcblx0XHRcdDx0ZXh0IHYtaWY9XCJpc0FjaG9yPT1mYWxzZVwiIGNsYXNzPVwidGl0bGVfbGluZXNwYW5cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiIEBjbGljaz1cImdvQWNob3JcIj7moIfnrb7nrqHnkIY8L3RleHQ+XHJcblx0XHRcdDx0ZXh0IHYtZWxzZSBjbGFzcz1cInRpdGxlX2xpbmVzcGFuXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTBweDtcIiBAY2xpY2s9XCJnb1RhZ1wiPuagh+etvueuoeeQhjwvdGV4dD5cclxuXHRcdDwvdG4tbmF2LWJhcj5cclxuXHJcblx0XHQ8dmlldyB2LXNob3c9XCJsb2NrPT1mYWxzZVwiIGNsYXNzPVwicGFnZS13cmFwIHUtc2tlbGV0b25cIj5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O3dpZHRoOiA1MCU7bGVmdDogNSVcIlxyXG5cdFx0XHRcdDpzdHlsZT1cIntkaXNwbGF5OidmbGV4JywgdG9wOiB0b3BoZWlnaHQrJ3B4Jyxwb3NpdGlvbjogJ2Fic29sdXRlJyx3aWR0aDogJzUwJScsbGVmdDogJzUlJ31cIj5cclxuXHJcblx0XHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogIzAwYWFmZjtcIj7lnKjnur/vvJp7e29ubGluZX19PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwiY29sb3I6ICMwMGFhZmY7bWFyZ2luLWxlZnQ6IDIwcHg7XCI+56a757q/77yae3tvZmZsaW5lfX08L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PGRhdGEtbGlzdCA6d2lkdGg9XCJ3aWR0aFwiIGNsYXNzPVwiZGF0YS1saXN0XCIgcmVmPVwibGlzdFwiIEBsb2FkPVwiaGFuZGxlTG9hZFwiIEByZWZyZXNoPVwiaGFuZGxlUmVmcmVzaFwiXHJcblx0XHRcdFx0c3R5bGU9XCJtYXJnaW4tdG9wOiAxMDBweDtcIj5cclxuXHJcblx0XHRcdFx0PHZpZXcgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGxpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdDx0bi1idXR0b24gc2hhcGU9XCJpY29uXCIgY2xhc3M9XCJ0bi1pY29uLWVkaXRcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OiA4NSU7XCIgc2l6ZT1cImxnXCJcclxuXHRcdFx0XHRcdFx0QGNsaWNrPVwiZWRpdENsaWNrKGl0ZW0saW5kZXgpXCI+PC90bi1idXR0b24+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7bWFyZ2luLWJvdHRvbTogMTBweDtcIiBjbGFzcz1cImZsZXggZmxleC1kaXJlY3Rpb25cIj5cclxuXHRcdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cIml0ZW0ub25saW5lPT0xXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiA4cHg7bWFyZ2luLXJpZ2h0OiA4cHg7XCIgOmlzRG90PVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0dHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHRcdDx1LWJhZGdlIHYtZWxzZSBzdHlsZT1cIm1hcmdpbi10b3A6IDhweDttYXJnaW4tcmlnaHQ6IDhweDtcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cImluZm9cIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHRcdDx2aWV3Pue8luWPtzp7e2l0ZW0udGFnaWR9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIj7lkI3np7A6e3tpdGVtLnBlcnNvbm5hbWV9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dmlldyB2LWlmPVwiaXRlbS5wb25saW5lPT0xXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIj7lnKjnur88L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtZWxzZSBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAyMHB4O1wiPuemu+e6vzwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDIwcHg7XCI+XHJcblx0XHRcdFx0XHRcdFx054mI5pysOnt7aXRlbS52ZXJzaW9uPT1udWxsID8gJ+acquefpScgOiBpdGVtLnZlcnNpb259fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dmlldyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAyMHB4O1wiPueUtemHjzp7e2l0ZW0ucHBvd2VyfX0lPC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDttYXJnaW4tbGVmdDogMTRweDttYXJnaW4tYm90dG9tOiAxMHB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiAjNWU1ZTVlO1wiPuagh+etvuexu+Weizp7e2l0ZW0udHlwZX19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+e3tpdGVtLnBzZXh9fTwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+6YOo6ZeoOnt7aXRlbS5kZXBhcnRtZW50fX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7bWFyZ2luLWxlZnQ6IDE0cHg7bWFyZ2luLWJvdHRvbTogMTBweDtcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogIzVlNWU1ZTtcIj7mj5DphpLmoIfnrb46e3tpdGVtLm1lc3RhZ2lkfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTRweDtjb2xvcjogIzVlNWU1ZTtcIj57e2l0ZW0ucHNleH19PC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTRweDtjb2xvcjogIzVlNWU1ZTtcIj7ogZTliqjpl63plIE6e3tpdGVtLmJpc3VvaWR9fTwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDttYXJnaW4tbGVmdDogMTRweDttYXJnaW4tYm90dG9tOiAxMHB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiAjNWU1ZTVlO1wiPuWKoOWvhjp7e2l0ZW0uZW5jcnlwdGlvbn19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+e3tpdGVtLnBzZXh9fTwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+5beu5YiG5pWw5o2u5rqQOnt7aXRlbS5ydGNtfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxNHB4O21hcmdpbi1ib3R0b206IDEwcHg7Y29sb3I6ICM1ZTVlNWU7XCI+5pe26Ze0Ont7aXRlbS5hZGR0aW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dS1saW5lIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7bWFyZ2luLWJvdHRvbTogMTBweDtcIj48L3UtbGluZT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvZGF0YS1saXN0PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHUtbW9kYWwgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk7XCIgYnV0dG9uUmV2ZXJzZSBjb25maXJtVGV4dD1cIuS/neWtmFwiIGNhbmNlbFRleHQ9XCLlj5bmtohcIlxyXG5cdFx0XHQ6c2hvdz1cInNob3dwb3B1cFwiIEBjYW5jZWw9XCJjYW5jZWxtb2RhbFwiIEBjb25maXJtPVwic3VibWl0Rm9ybVwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8IS0tIDx0bi1wb3B1cCB2LW1vZGVsPVwic2hvd3BvcHVwXCIgbW9kZT1cImJvdHRvbVwiIGNsb3NlQnRuPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInBhZ2Utd3JhcCB1LXNrZWxldG9uXCI+IC0tPlxyXG5cdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiaXRlbS13cmFwXCI+IC0tPlxyXG5cdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWF4LWhlaWdodDogMzAwcHg7IG92ZXJmbG93LXk6IGF1dG87XCI+IC0tPlxyXG5cdFx0XHQ8dG4tZm9ybT5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi57yW5Y+3OlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IDpkaXNhYmxlZD1cImRpc2FibGVkXCIgdi1tb2RlbD1cImZvcm0udGFnaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIlxyXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIuivt+i+k+WFpee8luWPt1wiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuWQjeensDpcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5wZXJzb25uYW1lXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlkI3np7BcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLliqDlr4Y6XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8IS0tIDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5lbmNyeXB0aW9uXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlhoXlrrlcIj48L3RuLWlucHV0PiAtLT5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5lbmNyeXB0aW9uXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3c2ID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5piv5ZCm5Yqg5a+GXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJlbmNyeXB0aW9uTGlzdFwiIHYtbW9kZWw9XCJzaG93NlwiIEBjbGljaz1cImVuY3J5cHRpb25DYWxsYmFja1wiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLmjIHmnInnsbvlnos6XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0udHlwZVwiIHR5cGU9XCJzZWxlY3RcIiBAY2xpY2s9XCJzaG93MyA9IHRydWVcIiBwbGFjZWhvbGRlcj1cIuivt+mAieaLqeexu+Wei1wiIC8+XHJcblx0XHRcdFx0XHQ8dG4tYWN0aW9uLXNoZWV0IDpsaXN0PVwidHlwZUxpc3RcIiB2LW1vZGVsPVwic2hvdzNcIiBAY2xpY2s9XCJ0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi5qCH562+57G75Z6LOlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJhb2xpdTFcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzIgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nnsbvlnotcIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cImhvbGR0eXBlTGlzdFwiIHYtbW9kZWw9XCJzaG93MlwiIEBjbGljaz1cImhvbGR0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHJcblx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuWFs+iBlOmDqOmXqDpcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5kZXBhcnRtZW50XCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cxID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5YWz6IGU6YOo6ZeoXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJidW1lbkxpc3RcIiB2LW1vZGVsPVwic2hvdzFcIiBAY2xpY2s9XCJieW1lbkNhbGxiYWNrXCI+PC90bi1hY3Rpb24tc2hlZXQ+XHJcblx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLmj5DphpLmoIfnrb46XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWlmPVwidGl4aW5nb25saWU9PTEgJiYgZm9ybS5tZXN0YWdpZCE9JydcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0aXhpbmdvbmxpZT09MCAmJiBmb3JtLm1lc3RhZ2lkIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0ubWVzdGFnaWRcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzQgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nmj5DphpLmoIfnrb5cIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cInRpeGluZ2xpc3RcIiB2LW1vZGVsPVwic2hvdzRcIiBAY2xpY2s9XCJ0aXhpbmdDYWxsYmFja1wiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdFx0PCEtLSA8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0ubWVzdGFnaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaPkOmGkuagh+etvlwiPjwvdG4taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi6IGU5Yqo6Zet6ZSBOlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cImJpc3Vvb25saWU9PTEgJiYgZm9ybS5tZXN0YWdpZCE9JydcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0aXhpbmdvbmxpZT09MCAmJiBmb3JtLm1lc3RhZ2lkIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHRcdFx0XHRcdDwhLS0gPHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJpc3VvaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeiBlOWKqOmXremUgVwiPjwvdG4taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJpc3VvaWRcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzUgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nogZTliqjpl63plIFcIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cImJpc3VvbGlzdFwiIHYtbW9kZWw9XCJzaG93NVwiIEBjbGljaz1cImJpc3VvQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHJcblx0XHRcdDwvdG4tZm9ybT5cclxuXHRcdFx0PCEtLSA8L3ZpZXc+IC0tPlxyXG5cdFx0XHQ8IS0tIDwvdmlldz5cclxuXHRcdFx0XHQ8YnV0dG9uIHN0eWxlPVwibWFyZ2luLXRvcDogMjBweDtcIiB0eXBlPVwicHJpbWFyeVwiIEBjbGljaz1cInN1Ym1pdEZvcm1cIj7kv53lrZjlm7TmoI88L2J1dHRvbj4gLS0+XHJcblx0XHQ8L3UtbW9kYWw+XHJcblx0XHQ8IS0tIDwvdG4tcG9wdXA+IC0tPlxyXG5cdFx0PHRuLXNrZWxldG9uIDpzaG93PVwic2hvd1NrZWxldG9uXCI+PC90bi1za2VsZXRvbj5cclxuXHRcdDxzdWNjZXNzQ29tIHJlZj1cInJlZlN1Y2Nlc3NcIj48L3N1Y2Nlc3NDb20+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgc3VjY2Vzc0NvbSBmcm9tICdAL2NvbXBvbmVudHMvc3VjY2Vzcy52dWUnXHJcblxyXG5cdGltcG9ydCB7XHJcblx0XHRtaW5Mb2dpblxyXG5cdH0gZnJvbSAnQC9qcy9taW5Mb2dpbi5qcydcclxuXHRpbXBvcnQge1xyXG5cdFx0ZmluZGJpc3VvLFxyXG5cdFx0ZmluZHRpeGluZyxcclxuXHRcdHNhdmVwZXIsXHJcblx0XHR1cGRhdGVwZXIsXHJcblx0XHRmaW5kYnVtZW4sXHJcblx0XHRmaW5kVGFnXHJcblx0fSBmcm9tICdAL2NvbmZpZy9hcGkuanMnO1xyXG5cdGltcG9ydCB7XHJcblx0XHRwYWdlc0VxdWlwbWVudFxyXG5cdH0gZnJvbSAnQC9qcy9wYWdlcy9lcXVpcG1lbnQuanMnXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0bWl4aW5zOiBbbWluTG9naW4sIHBhZ2VzRXF1aXBtZW50XSxcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuXHRcdFx0c3VjY2Vzc0NvbVxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0c2hvdzU6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3c0OiBmYWxzZSxcclxuXHRcdFx0XHRzaG93MzogZmFsc2UsXHJcblx0XHRcdFx0c2hvdzI6IGZhbHNlLFxyXG5cdFx0XHRcdGxhYmVsV2lkdGg6IDIwMCxcclxuXHRcdFx0XHRzaG93MTogZmFsc2UsXHJcblx0XHRcdFx0ZGlzYWJsZWQ6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3c2OiBmYWxzZSxcclxuXHRcdFx0XHRlbmNyeXB0aW9uTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aYrydcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflkKYnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHR0eXBlTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aJi+aMgeagh+etvidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn6L2m6L295qCH562+J1xyXG5cdFx0XHRcdFx0fSxcclxuXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfpq5jnsr7luqblt6XljaEnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5o+Q6YaS5qCH562+J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+mXremUgeijhee9ridcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdGhvbGR0eXBlTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+W3peS9nOi0n+i0o+S6uidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5LiT6LSj55uR5oqk5Lq6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfnmbvpq5jkvZzkuJrkuronXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5LiA6Iis5L2c5Lia5Lq6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WQiui9pidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfmlpfoh4LovaYnXHJcblx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aMluaOmOacuidcclxuXHRcdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aztei9pidcclxuXHRcdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+S4gOiIrOi9pui+hidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdF0sXHJcblxyXG5cdFx0XHRcdHNob3dwb3B1cDogZmFsc2UsXHJcblx0XHRcdFx0Zm9ybToge1xyXG5cdFx0XHRcdFx0YmFvbGl1MTogJycsXHJcblx0XHRcdFx0XHR0YWdpZDogJycsXHJcblx0XHRcdFx0XHRlbmNyeXB0aW9uOicnLFxyXG5cdFx0XHRcdFx0cGVyc29ubmFtZTogJycsXHJcblx0XHRcdFx0XHRkZXBhcnRtZW50OiAnJyxcclxuXHRcdFx0XHRcdHR5cGU6ICcnLFxyXG5cdFx0XHRcdFx0bWVzdGFnaWQ6ICcnLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogJycsXHJcblx0XHRcdFx0XHRhbHRlclBlcnNvbjogJycsXHJcblx0XHRcdFx0XHRwZXJDb21wYW55OiAnJyxcclxuXHRcdFx0XHRcdGJpc3VvaWQ6ICcnXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR3aWR0aDogJzQwJScsXHJcblx0XHRcdFx0b25saW5lOiAwLFxyXG5cdFx0XHRcdG9mZmxpbmU6IDAsXHJcblx0XHRcdFx0aXNBY2hvcjogZmFsc2UsXHJcblx0XHRcdFx0d2FybmluZGV4OiAwLFxyXG5cdFx0XHRcdHdhcmxpc3Q6IHt9LFxyXG5cdFx0XHRcdGxvY2s6IGZhbHNlLFxyXG5cdFx0XHRcdGtleXdvcmQ6ICcnLFxyXG5cdFx0XHRcdHBhZ2VObzogMSxcclxuXHRcdFx0XHRwYWdlU2l6ZTogMTAsXHJcblx0XHRcdFx0aW1nU3R5bGU6IHtcclxuXHRcdFx0XHRcdHdpZHRoOiAnMTAwcHgnLFxyXG5cdFx0XHRcdFx0aGVpZ2h0OiAnMTAwMHB4JyxcclxuXHRcdFx0XHRcdGJvcmRlclJhZGl1czogJzUwJSdcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHNob3dTa2VsZXRvbjogdHJ1ZSxcclxuXHRcdFx0XHRvcHRpb25zOiBbe1xyXG5cdFx0XHRcdFx0dGV4dDogJ+WIoOmZpCcsXHJcblx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6ICcjRjkzNzM3JyxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9LCBdLFxyXG5cdFx0XHRcdGJ1bWVuTGlzdDogW10sXHJcblx0XHRcdFx0dGl4aW5nbGlzdDogW10sXHJcblx0XHRcdFx0dGl4aW5nb25saWU6ICcnLFxyXG5cdFx0XHRcdGJpc3Vvb25saWU6ICcnLFxyXG5cdFx0XHRcdGJpc3VvbGlzdDogW10sXHJcblx0XHRcdFx0Ym94S2V5OiAwLFxyXG5cdFx0XHRcdHNjcm9sbEhlaWdodDogNTAwLFxyXG5cdFx0XHRcdHRvcGhlaWdodDogMCxcclxuXHRcdFx0XHRwYWRkaW5nVG9wOiA2MCxcclxuXHRcdFx0XHRlbWl0RGF0ZTogJ2luZGV4SG9tZScsXHJcblx0XHRcdFx0c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0dGltZTogJycsXHJcblx0XHRcdFx0bGlzdDogW10sXHJcblx0XHRcdFx0dG90YWw6IDAsXHJcblx0XHRcdFx0b3B0aW9uczE6IFt7XHJcblx0XHRcdFx0XHR0ZXh0OiAn5Yig6ZmkJyxcclxuXHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmRDb2xvcjogJyNGOTM3MzcnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fV1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiB7XHJcblx0XHRcdGNvdW50TGlzdCgpIHtcclxuXHRcdFx0XHRsZXQgbnVtID0gMDtcclxuXHRcdFx0XHRmb3IgKGxldCBpIGluIHRoaXMubGlzdCkge1xyXG5cdFx0XHRcdFx0bnVtICs9IHRoaXMubGlzdFtpXS5mUXR5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gbnVtO1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHRcdFx0dGhpcy5maW5kYmlzdW9hbGwoKVxyXG5cdFx0XHR0aGlzLmZpbmRidW1lbmFsbCgpXHJcblx0XHRcdHRoaXMuZmluZHRpeGluZ2FsbCgpXHJcblx0XHRcdHRoaXMudG9waGVpZ2h0ID0gdGhpcy52dWV4X2N1c3RvbV9iYXJfaGVpZ2h0ICsgMTVcclxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5zaG93U2tlbGV0b24gPSBmYWxzZVxyXG5cdFx0XHR9LCAxMDAwKVxyXG5cdFx0XHR0aGlzLnNjcm9sbEhlaWdodCA9IHRoaXMuc2NyZWVuSGVpZ2h0IC0gMjgyO1xyXG5cclxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wID0gdGhpcy52dWV4X3BhZGRpbmdfdG9wXHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wICs9IDVcclxuXHRcdFx0fSwgNDAwKVxyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGNhbmNlbG1vZGFsKCkge1xyXG5cdFx0XHRcdHRoaXMuc2hvd3BvcHVwID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/kv53lrZjlm7TmoI9cclxuXHRcdFx0c3VibWl0Rm9ybSgpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5kaXNhYmxlZCA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHQvL+S/ruaUuVxyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLmNvbXBhbnkgPSB0aGlzLmNvbXBhbnlcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS5wZXJjb21wYW55ID0gdGhpcy5jb21wYW55XHJcblx0XHRcdFx0XHR0aGlzLmZvcm0uYWx0ZXJQZXJzb24gPSB0aGlzLnZ1ZXhfdXNlclxyXG5cclxuXHRcdFx0XHRcdHVwZGF0ZXBlcih0aGlzLmZvcm0pLnRoZW4oKHJlcykgPT4ge1xyXG5cclxuXHJcblx0XHRcdFx0XHRcdC8vIGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblxyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHR0eXBlOiAnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0dHh0OiBcIuS/ruaUueaIkOWKn1wiXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuaGFuZGxlUmVmcmVzaCh7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWdlOiAxLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2l6ZTogdGhpcy5wYWdlU2l6ZVxyXG5cdFx0XHRcdFx0XHRcdH0sICgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIOWPr+S7peWcqOi/memHjOWkhOeQhuWKoOi9veWujOaIkOWQjueahOmAu+i+kVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9LCAxMDAwKVxyXG5cdFx0XHRcdFx0XHRcclxuXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHQvL+aWsOWinlxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuZm9ybS5tZXN0YWdpZCA9PSAnJykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZvcm0ubWVzdGFnaWQgPSAnLTEnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAodGhpcy5mb3JtLmJpc3VvaWQgPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5mb3JtLmJpc3VvaWQgPSAnLTEnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLmZvcm0uY29tcGFueSA9IHRoaXMuY29tcGFueVxyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLnBlcmNvbXBhbnkgPSB0aGlzLmNvbXBhbnlcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS5hbHRlclBlcnNvbiA9IHRoaXMudnVleF91c2VyXHJcblxyXG5cdFx0XHRcdFx0c2F2ZXBlcih0aGlzLmZvcm0pLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHQvLyBpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0dHlwZTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdHR4dDogXCLkv53lrZjmiJDlip9cIlxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0dGhpcy5zaG93cG9wdXAgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHR0aGlzLmhhbmRsZVJlZnJlc2goe1xyXG5cdFx0XHRcdFx0XHRcdHBhZ2U6IDEsXHJcblx0XHRcdFx0XHRcdFx0c2l6ZTogdGhpcy5wYWdlU2l6ZVxyXG5cdFx0XHRcdFx0XHR9LCAoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8g5Y+v5Lul5Zyo6L+Z6YeM5aSE55CG5Yqg6L295a6M5oiQ5ZCO55qE6YC76L6RXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvQmFjaygpIHtcclxuXHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IHRydWVcclxuXHRcdFx0XHR0aGlzLmRpc2FibGVkID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLmZvcm0ucGVyc29ubmFtZSA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLmVuY3J5cHRpb24gPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS50YWdpZCA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5tZXN0YWdpZCA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5iaXN1b2lkID0gJydcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmFvbGl1MSA9ICcnXHJcblx0XHRcdH0sXHJcblxyXG5cclxuXHRcdFx0ZmluZGJpc3VvYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZGJpc3VvKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5iaXN1b2xpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS50YWdpZFxyXG5cdFx0XHRcdFx0XHRcdH0pKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGZpbmR0aXhpbmdhbGwoKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRmaW5kdGl4aW5nKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50aXhpbmdsaXN0ID0gcmVzLmRhdGEubWFwKGl0ZW0gPT4gKHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBpdGVtLm9ubGluZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0udGFnaWRcclxuXHRcdFx0XHRcdFx0XHR9KSk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gfSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0dHh0OiByZXMubXNnXHJcblx0XHRcdFx0XHRcdFx0Ly8gXHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0ZmluZGJ1bWVuYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZGJ1bWVuKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5idW1lbkxpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHRcdH0pKTtcclxuXHRcdFx0XHRcdFx0XHQvLyB9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdC8vIFx0XHR0eHQ6IHJlcy5tc2dcclxuXHRcdFx0XHRcdFx0XHQvLyBcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGJ5bWVuQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmJ1bWVuTGlzdCk7XHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSB0aGlzLmJ1bWVuTGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0fSxcclxuXHRcdFx0YmlzdW9DYWxsYmFjayhpbmRleCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYmlzdW9saXN0KTtcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmlzdW9pZCA9IHRoaXMuYmlzdW9saXN0W2luZGV4XS50ZXh0O1xyXG5cdFx0XHRcdHRoaXMuYmlzdW9vbmxpZSA9IHRoaXMuYmlzdW9saXN0W2luZGV4XS52YWx1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dGl4aW5nQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLnRpeGluZ2xpc3QpO1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5tZXN0YWdpZCA9IHRoaXMudGl4aW5nbGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0XHR0aGlzLnRpeGluZ29ubGllID0gdGhpcy50aXhpbmdsaXN0W2luZGV4XS52YWx1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dHlwZUNhbGxiYWNrKGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSB0aGlzLnR5cGVMaXN0W2luZGV4XS50ZXh0O1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRlbmNyeXB0aW9uQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm0uZW5jcnlwdGlvbiA9IHRoaXMuZW5jcnlwdGlvbkxpc3RbaW5kZXhdLnRleHQ7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRob2xkdHlwZUNhbGxiYWNrKGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5mb3JtLmJhb2xpdTEgPSB0aGlzLmhvbGR0eXBlTGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0fSxcclxuXHRcdFx0ZWRpdENsaWNrKGUsIGkpIHtcclxuXHRcdFx0XHR0aGlzLmVkaXRpbmRleCA9IGlcclxuXHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IHRydWVcclxuXHRcdFx0XHR0aGlzLmRpc2FibGVkID0gdHJ1ZVxyXG5cdFx0XHRcdHRoaXMuZm9ybS5wZXJzb25uYW1lID0gZS5wZXJzb25uYW1lXHJcblx0XHRcdFx0dGhpcy5mb3JtLmVuY3J5cHRpb24gPSBlLmVuY3J5cHRpb25cclxuXHRcdFx0XHRcclxuXHRcdFx0XHR0aGlzLmZvcm0udGFnaWQgPSBlLnRhZ2lkXHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSBlLmRlcGFydG1lbnRcclxuXHRcdFx0XHR0aGlzLmZvcm0ubWVzdGFnaWQgPSBlLm1lc3RhZ2lkXHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSBlLnR5cGVcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmlzdW9pZCA9IGUuYmlzdW9pZFxyXG5cdFx0XHRcdHRoaXMuZm9ybS5iYW9saXUxID0gZS5iYW9saXUxXHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb0FjaG9yKCkge1xyXG5cdFx0XHRcdHRoaXMuaXNBY2hvciA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy4kZW1pdCgnZ29BY2hvcicpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb1RhZygpIHtcclxuXHRcdFx0XHR0aGlzLmlzQWNob3IgPSB0cnVlXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDmqKHmi5/or7fmsYLliqDovb3mlbDmja5cclxuXHRcdFx0aGFuZGxlTG9hZChkYXRhLCBjYWxsYmFjaykge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdGN1cnJlbnQ6IGRhdGEucGFnZSxcclxuXHRcdFx0XHRcdHNpemU6IGRhdGEuc2l6ZSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGZpbmRUYWcocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5vbmxpbmUgPSByZXMub25saW5lXHJcblx0XHRcdFx0XHRcdHRoaXMub2ZmbGluZSA9IHJlcy5vZmZsaW5lXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IGxpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kYXRhLnJlY29yZHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdC5wdXNoKHJlcy5kYXRhLnJlY29yZHNbaV0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5saXN0ID0gWy4uLnRoaXMubGlzdCwgLi4ubGlzdF07XHJcblx0XHRcdFx0XHRcdFx0XHRjYWxsYmFjayh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3Q6IHRoaXMubGlzdCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG90YWw6IHJlcy5kYXRhLnRvdGFsXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxNTAwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0Y2FsbGJhY2soe1xyXG5cdFx0XHRcdFx0XHRsaXN0OiBbXSxcclxuXHRcdFx0XHRcdFx0dG90YWw6IDBcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGxlU2VhcmNoKGRhdGEsIGNhbGxiYWNrKSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0Y3VycmVudDogMSxcclxuXHRcdFx0XHRcdHNpemU6IDEwLFxyXG5cdFx0XHRcdFx0anVlc2U6IHVuaS5nZXRTdG9yYWdlU3luYygnanVlc2UnKSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0ZmluZFRhZyhwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cclxuXHRcdFx0XHRcdFx0dGhpcy5vbmxpbmUgPSByZXMub25saW5lXHJcblx0XHRcdFx0XHRcdHRoaXMub2ZmbGluZSA9IHJlcy5vZmZsaW5lXHJcblx0XHRcdFx0XHRcdHRoaXMubGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IGxpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kYXRhLnJlY29yZHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdC5wdXNoKHJlcy5kYXRhLnJlY29yZHNbaV0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5saXN0ID0gWy4uLnRoaXMubGlzdCwgLi4ubGlzdF07XHJcblx0XHRcdFx0XHRcdFx0XHRjYWxsYmFjayh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3Q6IHRoaXMubGlzdCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG90YWw6IHJlcy5kYXRhLnRvdGFsXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxNTAwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaooeaLn+ivt+axguaVsOaNruWIt+aWsFxyXG5cdFx0XHRoYW5kbGVSZWZyZXNoKGRhdGEsIGNhbGxiYWNrKSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0Y3VycmVudDogZGF0YS5wYWdlLFxyXG5cdFx0XHRcdFx0c2l6ZTogZGF0YS5zaXplLFxyXG5cdFx0XHRcdFx0b2JqZWN0aWQ6IGRhdGEub2JqZWN0aWQsXHJcblx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRmaW5kVGFnKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMub25saW5lID0gcmVzLm9ubGluZVxyXG5cdFx0XHRcdFx0XHR0aGlzLm9mZmxpbmUgPSByZXMub2ZmbGluZVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgbGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCByZXMuZGF0YS5yZWNvcmRzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3QucHVzaChyZXMuZGF0YS5yZWNvcmRzW2ldKTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMubGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmxpc3QgPSBbLi4udGhpcy5saXN0LCAuLi5saXN0XTtcclxuXHRcdFx0XHRcdFx0XHRcdGNhbGxiYWNrKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdDogdGhpcy5saXN0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0b3RhbDogcmVzLmRhdGEudG90YWxcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDE1MDApO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG5cdC8qIOm8oOagh+acquaCrOa1ruaXtuaViOaenOiuvue9riAqL1xyXG5cdC50aXRsZV9saW5lc3BhbiB7XHJcblx0XHRmb250LXNpemU6IDE3cHg7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGNvbG9yOiAjMDAwMDAwXHJcblx0fVxyXG5cclxuXHQvKiDpvKDmoIfmgqzmta7lkI7nmoTorr7nva4gKi9cclxuXHQudGl0bGVfbGluZXNwYW46aG92ZXIge1xyXG5cdFx0Zm9udC1zaXplOiAxN3B4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRjb2xvcjogIzAwYWFmZjtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxuXHJcblx0Lm1vZGFsLWJ0biB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiA3NSU7XHJcblx0fVxyXG5cclxuXHQubW9kYWwtYnRuOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcXDIwMjJcIjtcclxuXHRcdC8qIFVuaWNvZGUg5a2X56ym57yW56CB6KGo56S655qE5ZyG54K5ICovXHJcblx0XHRjb2xvcjogIzVmNWY1ZjtcclxuXHRcdC8qIOWPr+S7peiuvue9ruWchueCueeahOminOiJsu+8jOi/memHjOaYr+e6ouiJsiAqL1xyXG5cdFx0Ly8gbWFyZ2luLXJpZ2h0OiA1cHg7IC8qIOWPr+S7peiuvue9ruWchueCueS4juaWh+Wtl+S5i+mXtOeahOi3neemuyAqL1xyXG5cdFx0Lyog5aaC5p6c6ZyA6KaB5pu05aSn55qE5ZyG54K577yM5Y+v5Lul5L2/55So5LiL6Z2i55qE5bGe5oCnICovXHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHQvKiDorr7nva7lnIbngrnnmoTlpKflsI8gKi9cclxuXHR9XHJcblxyXG5cdC5tb2RhbC1idG4yIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDc1JTtcclxuXHR9XHJcblxyXG5cdC5tb2RhbC1idG4yOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcXDIwMjJcIjtcclxuXHRcdC8qIFVuaWNvZGUg5a2X56ym57yW56CB6KGo56S655qE5ZyG54K5ICovXHJcblx0XHRjb2xvcjogIzAwYWEwMDtcclxuXHRcdC8qIOWPr+S7peiuvue9ruWchueCueeahOminOiJsu+8jOi/memHjOaYr+e6ouiJsiAqL1xyXG5cdFx0Ly8gbWFyZ2luLXJpZ2h0OiA1cHg7IC8qIOWPr+S7peiuvue9ruWchueCueS4juaWh+Wtl+S5i+mXtOeahOi3neemuyAqL1xyXG5cdFx0Lyog5aaC5p6c6ZyA6KaB5pu05aSn55qE5ZyG54K577yM5Y+v5Lul5L2/55So5LiL6Z2i55qE5bGe5oCnICovXHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHQvKiDorr7nva7lnIbngrnnmoTlpKflsI8gKi9cclxuXHR9XHJcblxyXG5cdC5wYWdlLXdyYXAge1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0cGFkZGluZy10b3A6IDQ1cHg7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDMwcnB4O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMzBycHg7XHJcblxyXG5cdFx0LnRlc3QtdmlldyB7XHJcblx0XHRcdGhlaWdodDogMzAwcnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5uYXZiYXItY29udGVudCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRwYWRkaW5nOiAzMHJweDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0fVxyXG5cclxuXHRcdC51LWljb24ge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMzBycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lml0ZW0td3JhcCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdG1hcmdpbjogMTBycHg7XHJcblx0XHRcdHBhZGRpbmc6IDMwcnB4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcclxuXHRcdFx0Ym94LXNoYWRvdzogMHJweCA4cnB4IDE2cnB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7XHJcblxyXG5cdFx0XHQuYXZhdGFyIHtcclxuXHRcdFx0XHR3aWR0aDogMTUwcnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTUwcnB4O1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMzBycHg7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTZycHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2MwYzBjMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lml0ZW0ge1xyXG5cdFx0XHRcdC8vIHdpZHRoOiAxMDBycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMHJweDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjN2NjO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///417\n"); |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 161));\nvar _success = _interopRequireDefault(__webpack_require__(/*! @/components/success.vue */ 102));\nvar _minLogin = __webpack_require__(/*! @/js/minLogin.js */ 251);\nvar _api = __webpack_require__(/*! @/config/api.js */ 115);\nvar _equipment = __webpack_require__(/*! @/js/pages/equipment.js */ 354);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 = {\n mixins: [_minLogin.minLogin, _equipment.pagesEquipment],\n components: {\n successCom: _success.default\n },\n data: function data() {\n return {\n show5: false,\n show4: false,\n show3: false,\n show2: false,\n labelWidth: 200,\n show1: false,\n disabled: false,\n show6: false,\n encryptionList: [{\n text: '是'\n }, {\n text: '否'\n }],\n holdtypeList: [{\n text: '手持标签'\n }, {\n text: '车载标签'\n }, {\n text: '高精度工卡'\n }, {\n text: '提醒标签'\n }, {\n text: '闭锁装置'\n }],\n typeList: [{\n text: '工作负责人'\n }, {\n text: '专责监护人'\n }, {\n text: '登高作业人'\n }, {\n text: '一般作业人'\n }, {\n text: '吊车'\n }, {\n text: '斗臂车'\n }, {\n text: '挖掘机'\n }, {\n text: '泵车'\n }, {\n text: '一般车辆'\n }],\n showpopup: false,\n form: {\n baoliu1: '',\n tagid: '',\n encryption: '',\n personname: '',\n department: '',\n type: '',\n mestagid: '',\n company: '',\n alterPerson: '',\n perCompany: '',\n bisuoid: ''\n },\n width: '40%',\n online: 0,\n offline: 0,\n isAchor: false,\n warnindex: 0,\n warlist: {},\n lock: false,\n keyword: '',\n pageNo: 1,\n pageSize: 10,\n imgStyle: {\n width: '100px',\n height: '1000px',\n borderRadius: '50%'\n },\n showSkeleton: true,\n options: [{\n text: '删除',\n style: {\n backgroundColor: '#F93737'\n }\n }],\n bumenList: [],\n tixinglist: [],\n tixingonlie: '',\n bisuoonlie: '',\n bisuolist: [],\n boxKey: 0,\n scrollHeight: 500,\n topheight: 0,\n paddingTop: 60,\n emitDate: 'indexHome',\n show: false,\n time: '',\n list: [],\n total: 0,\n options1: [{\n text: '删除',\n style: {\n backgroundColor: '#F93737'\n }\n }]\n };\n },\n computed: {\n countList: function countList() {\n var num = 0;\n for (var i in this.list) {\n num += this.list[i].fQty;\n }\n return num;\n }\n },\n mounted: function mounted() {\n var _this = this;\n this.findbisuoall();\n this.findbumenall();\n this.findtixingall();\n this.topheight = this.vuex_custom_bar_height + 15;\n setTimeout(function () {\n _this.showSkeleton = false;\n }, 1000);\n this.scrollHeight = this.screenHeight - 282;\n setTimeout(function () {\n _this.paddingTop = _this.vuex_padding_top;\n _this.paddingTop += 5;\n }, 400);\n },\n methods: {\n cancelmodal: function cancelmodal() {\n this.showpopup = false;\n },\n //保存围栏\n submitForm: function submitForm() {\n var _this2 = this;\n if (this.disabled == true) {\n //修改\n this.form.company = this.company;\n this.form.percompany = this.company;\n this.form.alterPerson = this.vuex_user;\n (0, _api.updateper)(this.form).then(function (res) {\n // if (res.code == 0) {\n\n // }\n _this2.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"修改成功\"\n });\n _this2.showpopup = false;\n setTimeout(function () {\n _this2.handleRefresh({\n page: 1,\n size: _this2.pageSize\n }, function () {\n // 可以在这里处理加载完成后的逻辑\n });\n }, 1000);\n });\n } else {\n //新增\n if (this.form.mestagid == '') {\n this.form.mestagid = '-1';\n }\n if (this.form.bisuoid == '') {\n this.form.bisuoid = '-1';\n }\n this.form.company = this.company;\n this.form.percompany = this.company;\n this.form.alterPerson = this.vuex_user;\n (0, _api.saveper)(this.form).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:342\");\n // if (res.code == 0) {\n _this2.$refs.refSuccess.showBox({\n type: 'success',\n txt: \"保存成功\"\n });\n _this2.showpopup = false;\n _this2.handleRefresh({\n page: 1,\n size: _this2.pageSize\n }, function () {\n // 可以在这里处理加载完成后的逻辑\n });\n // }\n });\n }\n },\n goBack: function goBack() {\n this.showpopup = true;\n this.disabled = false;\n this.form.personname = '';\n this.form.encryption = '';\n this.form.tagid = '';\n this.form.department = '';\n this.form.mestagid = '';\n this.form.type = '';\n this.form.bisuoid = '';\n this.form.baoliu1 = '';\n },\n findbisuoall: function findbisuoall() {\n var _this3 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbisuo)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:381\");\n if (res.code == 0) {\n _this3.bisuolist = res.data.map(function (item) {\n return {\n value: item.online,\n text: item.tagid\n };\n });\n }\n });\n }\n },\n findtixingall: function findtixingall() {\n var _this4 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findtixing)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:401\");\n if (res.code == 0) {\n _this4.tixinglist = res.data.map(function (item) {\n return {\n value: item.online,\n text: item.tagid\n };\n });\n // } else {\n // \tthis.$refs.refSuccess.showBox({\n // \t\ttype: 'error',\n // \t\ttxt: res.msg\n // \t});\n }\n });\n }\n },\n findbumenall: function findbumenall() {\n var _this5 = this;\n if (this.vuex_is_login) {\n var params = {\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n (0, _api.findbumen)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:425\");\n if (res.code == 0) {\n _this5.bumenList = res.data.map(function (item) {\n return {\n value: item.name,\n text: item.name\n };\n });\n // } else {\n // \tthis.$refs.refSuccess.showBox({\n // \t\ttype: 'error',\n // \t\ttxt: res.msg\n // \t});\n }\n });\n }\n },\n bymenCallback: function bymenCallback(index) {\n __f__(\"log\", this.bumenList, \" at pages/index/tag.vue:442\");\n this.form.department = this.bumenList[index].text;\n },\n bisuoCallback: function bisuoCallback(index) {\n __f__(\"log\", this.bisuolist, \" at pages/index/tag.vue:446\");\n this.form.bisuoid = this.bisuolist[index].text;\n this.bisuoonlie = this.bisuolist[index].value;\n },\n tixingCallback: function tixingCallback(index) {\n __f__(\"log\", this.tixinglist, \" at pages/index/tag.vue:451\");\n this.form.mestagid = this.tixinglist[index].text;\n this.tixingonlie = this.tixinglist[index].value;\n },\n typeCallback: function typeCallback(index) {\n this.form.type = this.typeList[index].text;\n },\n encryptionCallback: function encryptionCallback(index) {\n this.form.encryption = this.encryptionList[index].text;\n },\n holdtypeCallback: function holdtypeCallback(index) {\n this.form.baoliu1 = this.holdtypeList[index].text;\n },\n editClick: function editClick(e, i) {\n this.editindex = i;\n this.showpopup = true;\n this.disabled = true;\n this.form.personname = e.personname;\n this.form.encryption = e.encryption;\n this.form.tagid = e.tagid;\n this.form.department = e.department;\n this.form.mestagid = e.mestagid;\n this.form.type = e.type;\n this.form.bisuoid = e.bisuoid;\n this.form.baoliu1 = e.baoliu1;\n },\n goAchor: function goAchor() {\n this.isAchor = false;\n this.$emit('goAchor');\n },\n goTag: function goTag() {\n this.isAchor = true;\n },\n // 模拟请求加载数据\n handleLoad: function handleLoad(data, callback) {\n var _this6 = this;\n var params = {\n current: data.page,\n size: data.size,\n company: this.company,\n juese: uni.getStorageSync('juese')\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n __f__(\"log\", res, \" at pages/index/tag.vue:498\");\n _this6.online = res.online;\n _this6.offline = res.offline;\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this6.list = [].concat((0, _toConsumableArray2.default)(_this6.list), list);\n callback({\n list: _this6.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n } else {\n callback({\n list: [],\n total: 0\n });\n }\n },\n handleSearch: function handleSearch(data, callback) {\n var _this7 = this;\n var params = {\n current: 1,\n size: 10,\n juese: uni.getStorageSync('juese'),\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n _this7.online = res.online;\n _this7.offline = res.offline;\n _this7.list = [];\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this7.list = [].concat((0, _toConsumableArray2.default)(_this7.list), list);\n callback({\n list: _this7.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n }\n },\n // 模拟请求数据刷新\n handleRefresh: function handleRefresh(data, callback) {\n var _this8 = this;\n var params = {\n current: data.page,\n size: data.size,\n objectid: data.objectid,\n juese: uni.getStorageSync('juese'),\n company: this.company\n };\n if (this.vuex_is_login) {\n (0, _api.findTag)(params).then(function (res) {\n _this8.online = res.online;\n _this8.offline = res.offline;\n if (res.code == 0) {\n var list = [];\n setTimeout(function () {\n var list = [];\n for (var i = 0; i < res.data.records.length; i++) {\n list.push(res.data.records[i]);\n }\n _this8.list = [];\n _this8.list = [].concat((0, _toConsumableArray2.default)(_this8.list), list);\n callback({\n list: _this8.list,\n total: res.data.total\n });\n }, 1500);\n }\n });\n }\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvdGFnLnZ1ZSJdLCJuYW1lcyI6WyJtaXhpbnMiLCJjb21wb25lbnRzIiwic3VjY2Vzc0NvbSIsImRhdGEiLCJzaG93NSIsInNob3c0Iiwic2hvdzMiLCJzaG93MiIsImxhYmVsV2lkdGgiLCJzaG93MSIsImRpc2FibGVkIiwic2hvdzYiLCJlbmNyeXB0aW9uTGlzdCIsInRleHQiLCJob2xkdHlwZUxpc3QiLCJ0eXBlTGlzdCIsInNob3dwb3B1cCIsImZvcm0iLCJiYW9saXUxIiwidGFnaWQiLCJlbmNyeXB0aW9uIiwicGVyc29ubmFtZSIsImRlcGFydG1lbnQiLCJ0eXBlIiwibWVzdGFnaWQiLCJjb21wYW55IiwiYWx0ZXJQZXJzb24iLCJwZXJDb21wYW55IiwiYmlzdW9pZCIsIndpZHRoIiwib25saW5lIiwib2ZmbGluZSIsImlzQWNob3IiLCJ3YXJuaW5kZXgiLCJ3YXJsaXN0IiwibG9jayIsImtleXdvcmQiLCJwYWdlTm8iLCJwYWdlU2l6ZSIsImltZ1N0eWxlIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwic2hvd1NrZWxldG9uIiwib3B0aW9ucyIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiYnVtZW5MaXN0IiwidGl4aW5nbGlzdCIsInRpeGluZ29ubGllIiwiYmlzdW9vbmxpZSIsImJpc3VvbGlzdCIsImJveEtleSIsInNjcm9sbEhlaWdodCIsInRvcGhlaWdodCIsInBhZGRpbmdUb3AiLCJlbWl0RGF0ZSIsInNob3ciLCJ0aW1lIiwibGlzdCIsInRvdGFsIiwib3B0aW9uczEiLCJjb21wdXRlZCIsImNvdW50TGlzdCIsIm51bSIsIm1vdW50ZWQiLCJzZXRUaW1lb3V0IiwibWV0aG9kcyIsImNhbmNlbG1vZGFsIiwic3VibWl0Rm9ybSIsInR4dCIsInBhZ2UiLCJzaXplIiwiZ29CYWNrIiwiZmluZGJpc3VvYWxsIiwianVlc2UiLCJ2YWx1ZSIsImZpbmR0aXhpbmdhbGwiLCJmaW5kYnVtZW5hbGwiLCJieW1lbkNhbGxiYWNrIiwiYmlzdW9DYWxsYmFjayIsInRpeGluZ0NhbGxiYWNrIiwidHlwZUNhbGxiYWNrIiwiZW5jcnlwdGlvbkNhbGxiYWNrIiwiaG9sZHR5cGVDYWxsYmFjayIsImVkaXRDbGljayIsImdvQWNob3IiLCJnb1RhZyIsImhhbmRsZUxvYWQiLCJjdXJyZW50IiwiY2FsbGJhY2siLCJoYW5kbGVTZWFyY2giLCJoYW5kbGVSZWZyZXNoIiwib2JqZWN0aWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBMkhBO0FBRUE7QUFHQTtBQVFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFHQTtFQUNBQTtFQUNBQztJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7TUFDQSxHQUVBO1FBQ0FBO01BQ0EsRUFDQTtNQUNBQztRQUNBRDtNQUNBLEdBRUE7UUFDQUE7TUFDQSxHQUVBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxFQUNBO01BQ0FFO1FBQ0FGO01BQ0EsR0FFQTtRQUNBQTtNQUNBLEdBRUE7UUFDQUE7TUFDQSxHQUNBO1FBQ0FBO01BQ0EsR0FDQTtRQUNBQTtNQUNBLEdBQ0E7UUFDQUE7TUFDQSxHQUVBO1FBQ0FBO01BQ0E7UUFDQUE7TUFDQTtRQUNBQTtNQUNBLEVBRUE7TUFFQUc7TUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBVjtRQUNBVztRQUNBQztNQUNBO01BQ0FDO01BQ0FDO1FBQ0E5QjtRQUNBK0I7VUFDQUM7UUFDQTtNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0EvQztRQUNBK0I7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBZ0I7SUFDQUM7TUFDQTtNQUNBO1FBQ0FDO01BQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFBQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBO0lBRUFBO01BQ0E7TUFDQTtJQUNBO0VBRUE7RUFDQUM7SUFDQUM7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFFQTtVQUdBOztVQUVBO1VBQ0E7WUFDQTdDO1lBQ0E4QztVQUNBO1VBQ0E7VUFDQUo7WUFDQTtjQUNBSztjQUNBQztZQUNBO2NBQ0E7WUFBQSxDQUNBO1VBQ0E7UUFHQTtNQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFFQTtVQUNBO1VBQ0E7VUFDQTtZQUNBaEQ7WUFDQThDO1VBQ0E7VUFDQTtVQUNBO1lBQ0FDO1lBQ0FDO1VBQ0E7WUFDQTtVQUFBLENBQ0E7VUFDQTtRQUVBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFHQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQWhEO1VBQ0FpRDtRQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FBQTtnQkFDQUM7Z0JBQ0E5RDtjQUNBO1lBQUE7VUFDQTtRQUVBO01BQ0E7SUFFQTtJQUVBK0Q7TUFBQTtNQUNBO1FBQ0E7VUFDQW5EO1VBQ0FpRDtRQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FBQTtnQkFDQUM7Z0JBQ0E5RDtjQUNBO1lBQUE7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBRUE7SUFFQWdFO01BQUE7TUFDQTtRQUNBO1VBQ0FwRDtVQUNBaUQ7UUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQUE7Z0JBQ0FDO2dCQUNBOUQ7Y0FDQTtZQUFBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUVBO0lBQ0FpRTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUVBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BRUE7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBRUE7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBRUE7SUFDQUM7TUFBQTtNQUNBO1FBQ0FDO1FBQ0FqQjtRQUNBOUM7UUFDQWlEO01BQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBVDtjQUNBO2NBQ0E7Z0JBQ0FQO2NBQ0E7Y0FDQTtjQUNBK0I7Z0JBQ0EvQjtnQkFDQUM7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E4QjtVQUNBL0I7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7SUFDQStCO01BQUE7TUFDQTtRQUNBRjtRQUNBakI7UUFDQUc7UUFDQWpEO01BQ0E7TUFDQTtRQUNBO1VBRUE7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBd0M7Y0FDQTtjQUNBO2dCQUNBUDtjQUNBO2NBQ0E7Y0FDQStCO2dCQUNBL0I7Z0JBQ0FDO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQWdDO01BQUE7TUFDQTtRQUNBSDtRQUNBakI7UUFDQXFCO1FBQ0FsQjtRQUNBakQ7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBd0M7Y0FDQTtjQUNBO2dCQUNBUDtjQUNBO2NBQ0E7Y0FDQTtjQUNBK0I7Z0JBQ0EvQjtnQkFDQUM7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiNDE3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwidGVtcGxhdGUtam9iIHRuLXNhZmUtYXJlYS1pbnNldC1ib3R0b20gdG4tc2tlbGV0b25cIj5cclxuXHJcblx0XHQ8IS0tIOmhtumDqOiHquWumuS5ieWvvOiIqiAtLT5cclxuXHRcdDx0bi1uYXYtYmFyIGZpeGVkIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDk5OTk5OTk5OTtcIiBhbHBoYSBjdXN0b21CYWNrPlxyXG5cdFx0XHQ8dmlldyBzbG90PVwicmlnaHRcIiBjbGFzcz0ndG4tY3VzdG9tLW5hdi1iYXJfX2JhY2snIEBjbGljaz1cImdvQmFja1wiPlxyXG5cclxuXHRcdFx0XHQ8dGV4dCBzdHlsZT1cIm1hcmdpbi1yaWdodDogMjBweDtcIj7mlrDlop48L3RleHQ+XHJcblx0XHRcdFx0PCEtLSA8dGV4dCBjbGFzcz0ndG4taWNvbiBhZGQnPjwvdGV4dD4gLS0+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PCEtLSA8dGV4dCBjbGFzcz1cInRpdGxlX2xpbmVzcGFuXCIgQGNsaWNrPVwiZ29BY2hvclwiPuWfuuermTwvdGV4dD4gLS0+XHJcblx0XHRcdDx0ZXh0IHYtaWY9XCJpc0FjaG9yPT1mYWxzZVwiIGNsYXNzPVwidGl0bGVfbGluZXNwYW5cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiIEBjbGljaz1cImdvQWNob3JcIj7moIfnrb7nrqHnkIY8L3RleHQ+XHJcblx0XHRcdDx0ZXh0IHYtZWxzZSBjbGFzcz1cInRpdGxlX2xpbmVzcGFuXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTBweDtcIiBAY2xpY2s9XCJnb1RhZ1wiPuagh+etvueuoeeQhjwvdGV4dD5cclxuXHRcdDwvdG4tbmF2LWJhcj5cclxuXHJcblx0XHQ8dmlldyB2LXNob3c9XCJsb2NrPT1mYWxzZVwiIGNsYXNzPVwicGFnZS13cmFwIHUtc2tlbGV0b25cIj5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O3dpZHRoOiA1MCU7bGVmdDogNSVcIlxyXG5cdFx0XHRcdDpzdHlsZT1cIntkaXNwbGF5OidmbGV4JywgdG9wOiB0b3BoZWlnaHQrJ3B4Jyxwb3NpdGlvbjogJ2Fic29sdXRlJyx3aWR0aDogJzUwJScsbGVmdDogJzUlJ31cIj5cclxuXHJcblx0XHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogIzAwYWFmZjtcIj7lnKjnur/vvJp7e29ubGluZX19PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwiY29sb3I6ICMwMGFhZmY7bWFyZ2luLWxlZnQ6IDIwcHg7XCI+56a757q/77yae3tvZmZsaW5lfX08L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PGRhdGEtbGlzdCA6d2lkdGg9XCJ3aWR0aFwiIGNsYXNzPVwiZGF0YS1saXN0XCIgcmVmPVwibGlzdFwiIEBsb2FkPVwiaGFuZGxlTG9hZFwiIEByZWZyZXNoPVwiaGFuZGxlUmVmcmVzaFwiXHJcblx0XHRcdFx0c3R5bGU9XCJtYXJnaW4tdG9wOiAxMDBweDtcIj5cclxuXHJcblx0XHRcdFx0PHZpZXcgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGxpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdDx0bi1idXR0b24gc2hhcGU9XCJpY29uXCIgY2xhc3M9XCJ0bi1pY29uLWVkaXRcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OiA4NSU7XCIgc2l6ZT1cImxnXCJcclxuXHRcdFx0XHRcdFx0QGNsaWNrPVwiZWRpdENsaWNrKGl0ZW0saW5kZXgpXCI+PC90bi1idXR0b24+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7bWFyZ2luLWJvdHRvbTogMTBweDtcIiBjbGFzcz1cImZsZXggZmxleC1kaXJlY3Rpb25cIj5cclxuXHRcdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cIml0ZW0ub25saW5lPT0xXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiA4cHg7bWFyZ2luLXJpZ2h0OiA4cHg7XCIgOmlzRG90PVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0dHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHRcdDx1LWJhZGdlIHYtZWxzZSBzdHlsZT1cIm1hcmdpbi10b3A6IDhweDttYXJnaW4tcmlnaHQ6IDhweDtcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cImluZm9cIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHRcdDx2aWV3Pue8luWPtzp7e2l0ZW0udGFnaWR9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIj7lkI3np7A6e3tpdGVtLnBlcnNvbm5hbWV9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dmlldyB2LWlmPVwiaXRlbS5wb25saW5lPT0xXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMjBweDtcIj7lnKjnur88L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtZWxzZSBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAyMHB4O1wiPuemu+e6vzwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDIwcHg7XCI+XHJcblx0XHRcdFx0XHRcdFx054mI5pysOnt7aXRlbS52ZXJzaW9uPT1udWxsID8gJ+acquefpScgOiBpdGVtLnZlcnNpb259fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dmlldyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAyMHB4O1wiPueUtemHjzp7e2l0ZW0ucHBvd2VyfX0lPC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDttYXJnaW4tbGVmdDogMTRweDttYXJnaW4tYm90dG9tOiAxMHB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiAjNWU1ZTVlO1wiPuagh+etvuexu+Weizp7e2l0ZW0udHlwZX19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+e3tpdGVtLnBzZXh9fTwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+6YOo6ZeoOnt7aXRlbS5kZXBhcnRtZW50fX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7bWFyZ2luLWxlZnQ6IDE0cHg7bWFyZ2luLWJvdHRvbTogMTBweDtcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogIzVlNWU1ZTtcIj7mj5DphpLmoIfnrb46e3tpdGVtLm1lc3RhZ2lkfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTRweDtjb2xvcjogIzVlNWU1ZTtcIj57e2l0ZW0ucHNleH19PC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTRweDtjb2xvcjogIzVlNWU1ZTtcIj7ogZTliqjpl63plIE6e3tpdGVtLmJpc3VvaWR9fTwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDttYXJnaW4tbGVmdDogMTRweDttYXJnaW4tYm90dG9tOiAxMHB4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiAjNWU1ZTVlO1wiPuWKoOWvhjp7e2l0ZW0uZW5jcnlwdGlvbn19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+e3tpdGVtLnBzZXh9fTwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7Y29sb3I6ICM1ZTVlNWU7XCI+5beu5YiG5pWw5o2u5rqQOnt7aXRlbS5ydGNtfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxNHB4O21hcmdpbi1ib3R0b206IDEwcHg7Y29sb3I6ICM1ZTVlNWU7XCI+5pe26Ze0Ont7aXRlbS5hZGR0aW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dS1saW5lIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE0cHg7bWFyZ2luLWJvdHRvbTogMTBweDtcIj48L3UtbGluZT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvZGF0YS1saXN0PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHUtbW9kYWwgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk5OTk5OTk5OTk5OTk7XCIgYnV0dG9uUmV2ZXJzZSBjb25maXJtVGV4dD1cIuS/neWtmFwiIGNhbmNlbFRleHQ9XCLlj5bmtohcIlxyXG5cdFx0XHQ6c2hvdz1cInNob3dwb3B1cFwiIEBjYW5jZWw9XCJjYW5jZWxtb2RhbFwiIEBjb25maXJtPVwic3VibWl0Rm9ybVwiIHJlZj1cInVNb2RhbFwiIDpzaG93Q2FuY2VsQnV0dG9uPVwidHJ1ZVwiXHJcblx0XHRcdDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiPlxyXG5cdFx0XHQ8IS0tIDx0bi1wb3B1cCB2LW1vZGVsPVwic2hvd3BvcHVwXCIgbW9kZT1cImJvdHRvbVwiIGNsb3NlQnRuPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInBhZ2Utd3JhcCB1LXNrZWxldG9uXCI+IC0tPlxyXG5cdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiaXRlbS13cmFwXCI+IC0tPlxyXG5cdFx0XHQ8IS0tIDx2aWV3IHN0eWxlPVwibWF4LWhlaWdodDogMzAwcHg7IG92ZXJmbG93LXk6IGF1dG87XCI+IC0tPlxyXG5cdFx0XHQ8dG4tZm9ybT5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi57yW5Y+3OlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IDpkaXNhYmxlZD1cImRpc2FibGVkXCIgdi1tb2RlbD1cImZvcm0udGFnaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIlxyXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIuivt+i+k+WFpee8luWPt1wiPjwvdG4taW5wdXQ+XHJcblx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuWQjeensDpcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5wZXJzb25uYW1lXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlkI3np7BcIj48L3RuLWlucHV0PlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLliqDlr4Y6XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8IS0tIDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5lbmNyeXB0aW9uXCIgaW5wdXRBbGlnbj1cInJpZ2h0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlhoXlrrlcIj48L3RuLWlucHV0PiAtLT5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5lbmNyeXB0aW9uXCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3c2ID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5piv5ZCm5Yqg5a+GXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJlbmNyeXB0aW9uTGlzdFwiIHYtbW9kZWw9XCJzaG93NlwiIEBjbGljaz1cImVuY3J5cHRpb25DYWxsYmFja1wiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLmjIHmnInnsbvlnos6XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0udHlwZVwiIHR5cGU9XCJzZWxlY3RcIiBAY2xpY2s9XCJzaG93MyA9IHRydWVcIiBwbGFjZWhvbGRlcj1cIuivt+mAieaLqeexu+Wei1wiIC8+XHJcblx0XHRcdFx0XHQ8dG4tYWN0aW9uLXNoZWV0IDpsaXN0PVwidHlwZUxpc3RcIiB2LW1vZGVsPVwic2hvdzNcIiBAY2xpY2s9XCJ0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi5qCH562+57G75Z6LOlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJhb2xpdTFcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzIgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nnsbvlnotcIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cImhvbGR0eXBlTGlzdFwiIHYtbW9kZWw9XCJzaG93MlwiIEBjbGljaz1cImhvbGR0eXBlQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHJcblx0XHRcdFx0PHRuLWZvcm0taXRlbSBsYWJlbD1cIuWFs+iBlOmDqOmXqDpcIiA6bGFiZWxXaWR0aD1cImxhYmVsV2lkdGhcIj5cclxuXHRcdFx0XHRcdDx0bi1pbnB1dCB2LW1vZGVsPVwiZm9ybS5kZXBhcnRtZW50XCIgdHlwZT1cInNlbGVjdFwiIEBjbGljaz1cInNob3cxID0gdHJ1ZVwiIHBsYWNlaG9sZGVyPVwi6K+36YCJ5oup5YWz6IGU6YOo6ZeoXCIgLz5cclxuXHRcdFx0XHRcdDx0bi1hY3Rpb24tc2hlZXQgOmxpc3Q9XCJidW1lbkxpc3RcIiB2LW1vZGVsPVwic2hvdzFcIiBAY2xpY2s9XCJieW1lbkNhbGxiYWNrXCI+PC90bi1hY3Rpb24tc2hlZXQ+XHJcblx0XHRcdFx0PC90bi1mb3JtLWl0ZW0+XHJcblxyXG5cdFx0XHRcdDx0bi1mb3JtLWl0ZW0gbGFiZWw9XCLmj5DphpLmoIfnrb46XCIgOmxhYmVsV2lkdGg9XCJsYWJlbFdpZHRoXCI+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWlmPVwidGl4aW5nb25saWU9PTEgJiYgZm9ybS5tZXN0YWdpZCE9JydcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0aXhpbmdvbmxpZT09MCAmJiBmb3JtLm1lc3RhZ2lkIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHJcblx0XHRcdFx0XHQ8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0ubWVzdGFnaWRcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzQgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nmj5DphpLmoIfnrb5cIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cInRpeGluZ2xpc3RcIiB2LW1vZGVsPVwic2hvdzRcIiBAY2xpY2s9XCJ0aXhpbmdDYWxsYmFja1wiPjwvdG4tYWN0aW9uLXNoZWV0PlxyXG5cdFx0XHRcdFx0PCEtLSA8dG4taW5wdXQgdi1tb2RlbD1cImZvcm0ubWVzdGFnaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaPkOmGkuagh+etvlwiPjwvdG4taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdDwvdG4tZm9ybS1pdGVtPlxyXG5cclxuXHRcdFx0XHQ8dG4tZm9ybS1pdGVtIGxhYmVsPVwi6IGU5Yqo6Zet6ZSBOlwiIDpsYWJlbFdpZHRoPVwibGFiZWxXaWR0aFwiPlxyXG5cdFx0XHRcdFx0PHUtYmFkZ2Ugdi1pZj1cImJpc3Vvb25saWU9PTEgJiYgZm9ybS5tZXN0YWdpZCE9JydcIiA6aXNEb3Q9XCJ0cnVlXCIgdHlwZT1cInN1Y2Nlc3NcIj48L3UtYmFkZ2U+XHJcblx0XHRcdFx0XHQ8dS1iYWRnZSB2LWVsc2UtaWY9XCJ0aXhpbmdvbmxpZT09MCAmJiBmb3JtLm1lc3RhZ2lkIT0nJ1wiIDppc0RvdD1cInRydWVcIiB0eXBlPVwiaW5mb1wiPjwvdS1iYWRnZT5cclxuXHRcdFx0XHRcdDwhLS0gPHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJpc3VvaWRcIiBpbnB1dEFsaWduPVwicmlnaHRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeiBlOWKqOmXremUgVwiPjwvdG4taW5wdXQ+IC0tPlxyXG5cdFx0XHRcdFx0PHRuLWlucHV0IHYtbW9kZWw9XCJmb3JtLmJpc3VvaWRcIiB0eXBlPVwic2VsZWN0XCIgQGNsaWNrPVwic2hvdzUgPSB0cnVlXCIgcGxhY2Vob2xkZXI9XCLor7fpgInmi6nogZTliqjpl63plIFcIiAvPlxyXG5cdFx0XHRcdFx0PHRuLWFjdGlvbi1zaGVldCA6bGlzdD1cImJpc3VvbGlzdFwiIHYtbW9kZWw9XCJzaG93NVwiIEBjbGljaz1cImJpc3VvQ2FsbGJhY2tcIj48L3RuLWFjdGlvbi1zaGVldD5cclxuXHRcdFx0XHQ8L3RuLWZvcm0taXRlbT5cclxuXHJcblx0XHRcdDwvdG4tZm9ybT5cclxuXHRcdFx0PCEtLSA8L3ZpZXc+IC0tPlxyXG5cdFx0XHQ8IS0tIDwvdmlldz5cclxuXHRcdFx0XHQ8YnV0dG9uIHN0eWxlPVwibWFyZ2luLXRvcDogMjBweDtcIiB0eXBlPVwicHJpbWFyeVwiIEBjbGljaz1cInN1Ym1pdEZvcm1cIj7kv53lrZjlm7TmoI88L2J1dHRvbj4gLS0+XHJcblx0XHQ8L3UtbW9kYWw+XHJcblx0XHQ8IS0tIDwvdG4tcG9wdXA+IC0tPlxyXG5cdFx0PHRuLXNrZWxldG9uIDpzaG93PVwic2hvd1NrZWxldG9uXCI+PC90bi1za2VsZXRvbj5cclxuXHRcdDxzdWNjZXNzQ29tIHJlZj1cInJlZlN1Y2Nlc3NcIj48L3N1Y2Nlc3NDb20+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgc3VjY2Vzc0NvbSBmcm9tICdAL2NvbXBvbmVudHMvc3VjY2Vzcy52dWUnXHJcblxyXG5cdGltcG9ydCB7XHJcblx0XHRtaW5Mb2dpblxyXG5cdH0gZnJvbSAnQC9qcy9taW5Mb2dpbi5qcydcclxuXHRpbXBvcnQge1xyXG5cdFx0ZmluZGJpc3VvLFxyXG5cdFx0ZmluZHRpeGluZyxcclxuXHRcdHNhdmVwZXIsXHJcblx0XHR1cGRhdGVwZXIsXHJcblx0XHRmaW5kYnVtZW4sXHJcblx0XHRmaW5kVGFnXHJcblx0fSBmcm9tICdAL2NvbmZpZy9hcGkuanMnO1xyXG5cdGltcG9ydCB7XHJcblx0XHRwYWdlc0VxdWlwbWVudFxyXG5cdH0gZnJvbSAnQC9qcy9wYWdlcy9lcXVpcG1lbnQuanMnXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0bWl4aW5zOiBbbWluTG9naW4sIHBhZ2VzRXF1aXBtZW50XSxcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuXHRcdFx0c3VjY2Vzc0NvbVxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0c2hvdzU6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3c0OiBmYWxzZSxcclxuXHRcdFx0XHRzaG93MzogZmFsc2UsXHJcblx0XHRcdFx0c2hvdzI6IGZhbHNlLFxyXG5cdFx0XHRcdGxhYmVsV2lkdGg6IDIwMCxcclxuXHRcdFx0XHRzaG93MTogZmFsc2UsXHJcblx0XHRcdFx0ZGlzYWJsZWQ6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3c2OiBmYWxzZSxcclxuXHRcdFx0XHRlbmNyeXB0aW9uTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aYrydcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICflkKYnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRob2xkdHlwZUxpc3Q6IFt7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfmiYvmjIHmoIfnrb4nXHJcblx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+i9pui9veagh+etvidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn6auY57K+5bqm5bel5Y2hJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aPkOmGkuagh+etvidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfpl63plIHoo4Xnva4nXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHR0eXBlTGlzdDogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+W3peS9nOi0n+i0o+S6uidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5LiT6LSj55uR5oqk5Lq6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfnmbvpq5jkvZzkuJrkuronXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5LiA6Iis5L2c5Lia5Lq6J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WQiui9pidcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfmlpfoh4LovaYnXHJcblx0XHRcdFx0XHR9LFxyXG5cclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aMluaOmOacuidcclxuXHRcdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+aztei9pidcclxuXHRcdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+S4gOiIrOi9pui+hidcclxuXHRcdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdF0sXHJcblxyXG5cdFx0XHRcdHNob3dwb3B1cDogZmFsc2UsXHJcblx0XHRcdFx0Zm9ybToge1xyXG5cdFx0XHRcdFx0YmFvbGl1MTogJycsXHJcblx0XHRcdFx0XHR0YWdpZDogJycsXHJcblx0XHRcdFx0XHRlbmNyeXB0aW9uOicnLFxyXG5cdFx0XHRcdFx0cGVyc29ubmFtZTogJycsXHJcblx0XHRcdFx0XHRkZXBhcnRtZW50OiAnJyxcclxuXHRcdFx0XHRcdHR5cGU6ICcnLFxyXG5cdFx0XHRcdFx0bWVzdGFnaWQ6ICcnLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogJycsXHJcblx0XHRcdFx0XHRhbHRlclBlcnNvbjogJycsXHJcblx0XHRcdFx0XHRwZXJDb21wYW55OiAnJyxcclxuXHRcdFx0XHRcdGJpc3VvaWQ6ICcnXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR3aWR0aDogJzQwJScsXHJcblx0XHRcdFx0b25saW5lOiAwLFxyXG5cdFx0XHRcdG9mZmxpbmU6IDAsXHJcblx0XHRcdFx0aXNBY2hvcjogZmFsc2UsXHJcblx0XHRcdFx0d2FybmluZGV4OiAwLFxyXG5cdFx0XHRcdHdhcmxpc3Q6IHt9LFxyXG5cdFx0XHRcdGxvY2s6IGZhbHNlLFxyXG5cdFx0XHRcdGtleXdvcmQ6ICcnLFxyXG5cdFx0XHRcdHBhZ2VObzogMSxcclxuXHRcdFx0XHRwYWdlU2l6ZTogMTAsXHJcblx0XHRcdFx0aW1nU3R5bGU6IHtcclxuXHRcdFx0XHRcdHdpZHRoOiAnMTAwcHgnLFxyXG5cdFx0XHRcdFx0aGVpZ2h0OiAnMTAwMHB4JyxcclxuXHRcdFx0XHRcdGJvcmRlclJhZGl1czogJzUwJSdcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHNob3dTa2VsZXRvbjogdHJ1ZSxcclxuXHRcdFx0XHRvcHRpb25zOiBbe1xyXG5cdFx0XHRcdFx0dGV4dDogJ+WIoOmZpCcsXHJcblx0XHRcdFx0XHRzdHlsZToge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6ICcjRjkzNzM3JyxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9LCBdLFxyXG5cdFx0XHRcdGJ1bWVuTGlzdDogW10sXHJcblx0XHRcdFx0dGl4aW5nbGlzdDogW10sXHJcblx0XHRcdFx0dGl4aW5nb25saWU6ICcnLFxyXG5cdFx0XHRcdGJpc3Vvb25saWU6ICcnLFxyXG5cdFx0XHRcdGJpc3VvbGlzdDogW10sXHJcblx0XHRcdFx0Ym94S2V5OiAwLFxyXG5cdFx0XHRcdHNjcm9sbEhlaWdodDogNTAwLFxyXG5cdFx0XHRcdHRvcGhlaWdodDogMCxcclxuXHRcdFx0XHRwYWRkaW5nVG9wOiA2MCxcclxuXHRcdFx0XHRlbWl0RGF0ZTogJ2luZGV4SG9tZScsXHJcblx0XHRcdFx0c2hvdzogZmFsc2UsXHJcblx0XHRcdFx0dGltZTogJycsXHJcblx0XHRcdFx0bGlzdDogW10sXHJcblx0XHRcdFx0dG90YWw6IDAsXHJcblx0XHRcdFx0b3B0aW9uczE6IFt7XHJcblx0XHRcdFx0XHR0ZXh0OiAn5Yig6ZmkJyxcclxuXHRcdFx0XHRcdHN0eWxlOiB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmRDb2xvcjogJyNGOTM3MzcnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fV1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiB7XHJcblx0XHRcdGNvdW50TGlzdCgpIHtcclxuXHRcdFx0XHRsZXQgbnVtID0gMDtcclxuXHRcdFx0XHRmb3IgKGxldCBpIGluIHRoaXMubGlzdCkge1xyXG5cdFx0XHRcdFx0bnVtICs9IHRoaXMubGlzdFtpXS5mUXR5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gbnVtO1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHRcdFx0dGhpcy5maW5kYmlzdW9hbGwoKVxyXG5cdFx0XHR0aGlzLmZpbmRidW1lbmFsbCgpXHJcblx0XHRcdHRoaXMuZmluZHRpeGluZ2FsbCgpXHJcblx0XHRcdHRoaXMudG9waGVpZ2h0ID0gdGhpcy52dWV4X2N1c3RvbV9iYXJfaGVpZ2h0ICsgMTVcclxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5zaG93U2tlbGV0b24gPSBmYWxzZVxyXG5cdFx0XHR9LCAxMDAwKVxyXG5cdFx0XHR0aGlzLnNjcm9sbEhlaWdodCA9IHRoaXMuc2NyZWVuSGVpZ2h0IC0gMjgyO1xyXG5cclxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wID0gdGhpcy52dWV4X3BhZGRpbmdfdG9wXHJcblx0XHRcdFx0dGhpcy5wYWRkaW5nVG9wICs9IDVcclxuXHRcdFx0fSwgNDAwKVxyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGNhbmNlbG1vZGFsKCkge1xyXG5cdFx0XHRcdHRoaXMuc2hvd3BvcHVwID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/kv53lrZjlm7TmoI9cclxuXHRcdFx0c3VibWl0Rm9ybSgpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5kaXNhYmxlZCA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHQvL+S/ruaUuVxyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLmNvbXBhbnkgPSB0aGlzLmNvbXBhbnlcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS5wZXJjb21wYW55ID0gdGhpcy5jb21wYW55XHJcblx0XHRcdFx0XHR0aGlzLmZvcm0uYWx0ZXJQZXJzb24gPSB0aGlzLnZ1ZXhfdXNlclxyXG5cclxuXHRcdFx0XHRcdHVwZGF0ZXBlcih0aGlzLmZvcm0pLnRoZW4oKHJlcykgPT4ge1xyXG5cclxuXHJcblx0XHRcdFx0XHRcdC8vIGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblxyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0XHRcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHR0eXBlOiAnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0dHh0OiBcIuS/ruaUueaIkOWKn1wiXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuaGFuZGxlUmVmcmVzaCh7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWdlOiAxLFxyXG5cdFx0XHRcdFx0XHRcdFx0c2l6ZTogdGhpcy5wYWdlU2l6ZVxyXG5cdFx0XHRcdFx0XHRcdH0sICgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIOWPr+S7peWcqOi/memHjOWkhOeQhuWKoOi9veWujOaIkOWQjueahOmAu+i+kVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9LCAxMDAwKVxyXG5cdFx0XHRcdFx0XHRcclxuXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHQvL+aWsOWinlxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuZm9ybS5tZXN0YWdpZCA9PSAnJykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZvcm0ubWVzdGFnaWQgPSAnLTEnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAodGhpcy5mb3JtLmJpc3VvaWQgPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5mb3JtLmJpc3VvaWQgPSAnLTEnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLmZvcm0uY29tcGFueSA9IHRoaXMuY29tcGFueVxyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLnBlcmNvbXBhbnkgPSB0aGlzLmNvbXBhbnlcclxuXHRcdFx0XHRcdHRoaXMuZm9ybS5hbHRlclBlcnNvbiA9IHRoaXMudnVleF91c2VyXHJcblxyXG5cdFx0XHRcdFx0c2F2ZXBlcih0aGlzLmZvcm0pLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHQvLyBpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLiRyZWZzLnJlZlN1Y2Nlc3Muc2hvd0JveCh7XHJcblx0XHRcdFx0XHRcdFx0dHlwZTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0XHRcdHR4dDogXCLkv53lrZjmiJDlip9cIlxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0dGhpcy5zaG93cG9wdXAgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHR0aGlzLmhhbmRsZVJlZnJlc2goe1xyXG5cdFx0XHRcdFx0XHRcdHBhZ2U6IDEsXHJcblx0XHRcdFx0XHRcdFx0c2l6ZTogdGhpcy5wYWdlU2l6ZVxyXG5cdFx0XHRcdFx0XHR9LCAoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0Ly8g5Y+v5Lul5Zyo6L+Z6YeM5aSE55CG5Yqg6L295a6M5oiQ5ZCO55qE6YC76L6RXHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHQvLyB9XHJcblxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvQmFjaygpIHtcclxuXHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IHRydWVcclxuXHRcdFx0XHR0aGlzLmRpc2FibGVkID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLmZvcm0ucGVyc29ubmFtZSA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLmVuY3J5cHRpb24gPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS50YWdpZCA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5tZXN0YWdpZCA9ICcnXHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSAnJ1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5iaXN1b2lkID0gJydcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmFvbGl1MSA9ICcnXHJcblx0XHRcdH0sXHJcblxyXG5cclxuXHRcdFx0ZmluZGJpc3VvYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZGJpc3VvKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5iaXN1b2xpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ub25saW5lLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS50YWdpZFxyXG5cdFx0XHRcdFx0XHRcdH0pKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdGZpbmR0aXhpbmdhbGwoKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0XHRjb21wYW55OiB0aGlzLmNvbXBhbnksXHJcblx0XHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRmaW5kdGl4aW5nKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50aXhpbmdsaXN0ID0gcmVzLmRhdGEubWFwKGl0ZW0gPT4gKHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBpdGVtLm9ubGluZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0udGFnaWRcclxuXHRcdFx0XHRcdFx0XHR9KSk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gfSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdHRoaXMuJHJlZnMucmVmU3VjY2Vzcy5zaG93Qm94KHtcclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0dHlwZTogJ2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHQvLyBcdFx0dHh0OiByZXMubXNnXHJcblx0XHRcdFx0XHRcdFx0Ly8gXHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0ZmluZGJ1bWVuYWxsKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0ZmluZGJ1bWVuKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5idW1lbkxpc3QgPSByZXMuZGF0YS5tYXAoaXRlbSA9PiAoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGl0ZW0ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHRcdH0pKTtcclxuXHRcdFx0XHRcdFx0XHQvLyB9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0dGhpcy4kcmVmcy5yZWZTdWNjZXNzLnNob3dCb3goe1xyXG5cdFx0XHRcdFx0XHRcdC8vIFx0XHR0eXBlOiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdC8vIFx0XHR0eHQ6IHJlcy5tc2dcclxuXHRcdFx0XHRcdFx0XHQvLyBcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdGJ5bWVuQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmJ1bWVuTGlzdCk7XHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSB0aGlzLmJ1bWVuTGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0fSxcclxuXHRcdFx0YmlzdW9DYWxsYmFjayhpbmRleCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYmlzdW9saXN0KTtcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmlzdW9pZCA9IHRoaXMuYmlzdW9saXN0W2luZGV4XS50ZXh0O1xyXG5cdFx0XHRcdHRoaXMuYmlzdW9vbmxpZSA9IHRoaXMuYmlzdW9saXN0W2luZGV4XS52YWx1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dGl4aW5nQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLnRpeGluZ2xpc3QpO1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5tZXN0YWdpZCA9IHRoaXMudGl4aW5nbGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0XHR0aGlzLnRpeGluZ29ubGllID0gdGhpcy50aXhpbmdsaXN0W2luZGV4XS52YWx1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dHlwZUNhbGxiYWNrKGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSB0aGlzLnR5cGVMaXN0W2luZGV4XS50ZXh0O1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRlbmNyeXB0aW9uQ2FsbGJhY2soaW5kZXgpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm0uZW5jcnlwdGlvbiA9IHRoaXMuZW5jcnlwdGlvbkxpc3RbaW5kZXhdLnRleHQ7XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRob2xkdHlwZUNhbGxiYWNrKGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5mb3JtLmJhb2xpdTEgPSB0aGlzLmhvbGR0eXBlTGlzdFtpbmRleF0udGV4dDtcclxuXHRcdFx0fSxcclxuXHRcdFx0ZWRpdENsaWNrKGUsIGkpIHtcclxuXHRcdFx0XHR0aGlzLmVkaXRpbmRleCA9IGlcclxuXHRcdFx0XHR0aGlzLnNob3dwb3B1cCA9IHRydWVcclxuXHRcdFx0XHR0aGlzLmRpc2FibGVkID0gdHJ1ZVxyXG5cdFx0XHRcdHRoaXMuZm9ybS5wZXJzb25uYW1lID0gZS5wZXJzb25uYW1lXHJcblx0XHRcdFx0dGhpcy5mb3JtLmVuY3J5cHRpb24gPSBlLmVuY3J5cHRpb25cclxuXHRcdFx0XHRcclxuXHRcdFx0XHR0aGlzLmZvcm0udGFnaWQgPSBlLnRhZ2lkXHJcblx0XHRcdFx0dGhpcy5mb3JtLmRlcGFydG1lbnQgPSBlLmRlcGFydG1lbnRcclxuXHRcdFx0XHR0aGlzLmZvcm0ubWVzdGFnaWQgPSBlLm1lc3RhZ2lkXHJcblx0XHRcdFx0dGhpcy5mb3JtLnR5cGUgPSBlLnR5cGVcclxuXHRcdFx0XHR0aGlzLmZvcm0uYmlzdW9pZCA9IGUuYmlzdW9pZFxyXG5cdFx0XHRcdHRoaXMuZm9ybS5iYW9saXUxID0gZS5iYW9saXUxXHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb0FjaG9yKCkge1xyXG5cdFx0XHRcdHRoaXMuaXNBY2hvciA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy4kZW1pdCgnZ29BY2hvcicpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb1RhZygpIHtcclxuXHRcdFx0XHR0aGlzLmlzQWNob3IgPSB0cnVlXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDmqKHmi5/or7fmsYLliqDovb3mlbDmja5cclxuXHRcdFx0aGFuZGxlTG9hZChkYXRhLCBjYWxsYmFjaykge1xyXG5cdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcclxuXHRcdFx0XHRcdGN1cnJlbnQ6IGRhdGEucGFnZSxcclxuXHRcdFx0XHRcdHNpemU6IGRhdGEuc2l6ZSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHRcdGp1ZXNlOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2p1ZXNlJyksXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGlzLnZ1ZXhfaXNfbG9naW4pIHtcclxuXHRcdFx0XHRcdGZpbmRUYWcocGFyYW1zKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5vbmxpbmUgPSByZXMub25saW5lXHJcblx0XHRcdFx0XHRcdHRoaXMub2ZmbGluZSA9IHJlcy5vZmZsaW5lXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IGxpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kYXRhLnJlY29yZHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdC5wdXNoKHJlcy5kYXRhLnJlY29yZHNbaV0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5saXN0ID0gWy4uLnRoaXMubGlzdCwgLi4ubGlzdF07XHJcblx0XHRcdFx0XHRcdFx0XHRjYWxsYmFjayh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3Q6IHRoaXMubGlzdCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG90YWw6IHJlcy5kYXRhLnRvdGFsXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxNTAwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0Y2FsbGJhY2soe1xyXG5cdFx0XHRcdFx0XHRsaXN0OiBbXSxcclxuXHRcdFx0XHRcdFx0dG90YWw6IDBcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGxlU2VhcmNoKGRhdGEsIGNhbGxiYWNrKSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0Y3VycmVudDogMSxcclxuXHRcdFx0XHRcdHNpemU6IDEwLFxyXG5cdFx0XHRcdFx0anVlc2U6IHVuaS5nZXRTdG9yYWdlU3luYygnanVlc2UnKSxcclxuXHRcdFx0XHRcdGNvbXBhbnk6IHRoaXMuY29tcGFueSxcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHRoaXMudnVleF9pc19sb2dpbikge1xyXG5cdFx0XHRcdFx0ZmluZFRhZyhwYXJhbXMpLnRoZW4oKHJlcykgPT4ge1xyXG5cclxuXHRcdFx0XHRcdFx0dGhpcy5vbmxpbmUgPSByZXMub25saW5lXHJcblx0XHRcdFx0XHRcdHRoaXMub2ZmbGluZSA9IHJlcy5vZmZsaW5lXHJcblx0XHRcdFx0XHRcdHRoaXMubGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IGxpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kYXRhLnJlY29yZHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdC5wdXNoKHJlcy5kYXRhLnJlY29yZHNbaV0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5saXN0ID0gWy4uLnRoaXMubGlzdCwgLi4ubGlzdF07XHJcblx0XHRcdFx0XHRcdFx0XHRjYWxsYmFjayh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3Q6IHRoaXMubGlzdCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG90YWw6IHJlcy5kYXRhLnRvdGFsXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9LCAxNTAwKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaooeaLn+ivt+axguaVsOaNruWIt+aWsFxyXG5cdFx0XHRoYW5kbGVSZWZyZXNoKGRhdGEsIGNhbGxiYWNrKSB7XHJcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0Y3VycmVudDogZGF0YS5wYWdlLFxyXG5cdFx0XHRcdFx0c2l6ZTogZGF0YS5zaXplLFxyXG5cdFx0XHRcdFx0b2JqZWN0aWQ6IGRhdGEub2JqZWN0aWQsXHJcblx0XHRcdFx0XHRqdWVzZTogdW5pLmdldFN0b3JhZ2VTeW5jKCdqdWVzZScpLFxyXG5cdFx0XHRcdFx0Y29tcGFueTogdGhpcy5jb21wYW55LFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy52dWV4X2lzX2xvZ2luKSB7XHJcblx0XHRcdFx0XHRmaW5kVGFnKHBhcmFtcykudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMub25saW5lID0gcmVzLm9ubGluZVxyXG5cdFx0XHRcdFx0XHR0aGlzLm9mZmxpbmUgPSByZXMub2ZmbGluZVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRsZXQgbGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCByZXMuZGF0YS5yZWNvcmRzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpc3QucHVzaChyZXMuZGF0YS5yZWNvcmRzW2ldKTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMubGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmxpc3QgPSBbLi4udGhpcy5saXN0LCAuLi5saXN0XTtcclxuXHRcdFx0XHRcdFx0XHRcdGNhbGxiYWNrKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdDogdGhpcy5saXN0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0b3RhbDogcmVzLmRhdGEudG90YWxcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0sIDE1MDApO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG5cdC8qIOm8oOagh+acquaCrOa1ruaXtuaViOaenOiuvue9riAqL1xyXG5cdC50aXRsZV9saW5lc3BhbiB7XHJcblx0XHRmb250LXNpemU6IDE3cHg7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGNvbG9yOiAjMDAwMDAwXHJcblx0fVxyXG5cclxuXHQvKiDpvKDmoIfmgqzmta7lkI7nmoTorr7nva4gKi9cclxuXHQudGl0bGVfbGluZXNwYW46aG92ZXIge1xyXG5cdFx0Zm9udC1zaXplOiAxN3B4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRjb2xvcjogIzAwYWFmZjtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxuXHJcblx0Lm1vZGFsLWJ0biB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiA3NSU7XHJcblx0fVxyXG5cclxuXHQubW9kYWwtYnRuOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcXDIwMjJcIjtcclxuXHRcdC8qIFVuaWNvZGUg5a2X56ym57yW56CB6KGo56S655qE5ZyG54K5ICovXHJcblx0XHRjb2xvcjogIzVmNWY1ZjtcclxuXHRcdC8qIOWPr+S7peiuvue9ruWchueCueeahOminOiJsu+8jOi/memHjOaYr+e6ouiJsiAqL1xyXG5cdFx0Ly8gbWFyZ2luLXJpZ2h0OiA1cHg7IC8qIOWPr+S7peiuvue9ruWchueCueS4juaWh+Wtl+S5i+mXtOeahOi3neemuyAqL1xyXG5cdFx0Lyog5aaC5p6c6ZyA6KaB5pu05aSn55qE5ZyG54K577yM5Y+v5Lul5L2/55So5LiL6Z2i55qE5bGe5oCnICovXHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHQvKiDorr7nva7lnIbngrnnmoTlpKflsI8gKi9cclxuXHR9XHJcblxyXG5cdC5tb2RhbC1idG4yIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDc1JTtcclxuXHR9XHJcblxyXG5cdC5tb2RhbC1idG4yOjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcXDIwMjJcIjtcclxuXHRcdC8qIFVuaWNvZGUg5a2X56ym57yW56CB6KGo56S655qE5ZyG54K5ICovXHJcblx0XHRjb2xvcjogIzAwYWEwMDtcclxuXHRcdC8qIOWPr+S7peiuvue9ruWchueCueeahOminOiJsu+8jOi/memHjOaYr+e6ouiJsiAqL1xyXG5cdFx0Ly8gbWFyZ2luLXJpZ2h0OiA1cHg7IC8qIOWPr+S7peiuvue9ruWchueCueS4juaWh+Wtl+S5i+mXtOeahOi3neemuyAqL1xyXG5cdFx0Lyog5aaC5p6c6ZyA6KaB5pu05aSn55qE5ZyG54K577yM5Y+v5Lul5L2/55So5LiL6Z2i55qE5bGe5oCnICovXHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHQvKiDorr7nva7lnIbngrnnmoTlpKflsI8gKi9cclxuXHR9XHJcblxyXG5cdC5wYWdlLXdyYXAge1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0cGFkZGluZy10b3A6IDQ1cHg7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDMwcnB4O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMzBycHg7XHJcblxyXG5cdFx0LnRlc3QtdmlldyB7XHJcblx0XHRcdGhlaWdodDogMzAwcnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5uYXZiYXItY29udGVudCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRwYWRkaW5nOiAzMHJweDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0fVxyXG5cclxuXHRcdC51LWljb24ge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMzBycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lml0ZW0td3JhcCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdG1hcmdpbjogMTBycHg7XHJcblx0XHRcdHBhZGRpbmc6IDMwcnB4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcclxuXHRcdFx0Ym94LXNoYWRvdzogMHJweCA4cnB4IDE2cnB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7XHJcblxyXG5cdFx0XHQuYXZhdGFyIHtcclxuXHRcdFx0XHR3aWR0aDogMTUwcnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTUwcnB4O1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMzBycHg7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTZycHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2MwYzBjMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lml0ZW0ge1xyXG5cdFx0XHRcdC8vIHdpZHRoOiAxMDBycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMHJweDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjN2NjO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///417\n"); |
| | | |
| | | /***/ }), |
| | | /* 418 */ |
| | |
| | | /***/ (function(module, exports, __webpack_require__) { |
| | | |
| | | "use strict"; |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 117));\nvar _index = _interopRequireDefault(__webpack_require__(/*! ./store/index.js */ 116));\nvar _checkUpdate = _interopRequireDefault(__webpack_require__(/*! @/uni_modules/uni-upgrade-center-app/utils/check-update */ 321));\nvar _updateCustomBarInfo = _interopRequireDefault(__webpack_require__(/*! ./tuniao-ui/libs/function/updateCustomBarInfo.js */ 427));\nvar _default = {\n onLaunch: function onLaunch() {\n setTimeout(function () {\n // app 检测更新\n (0, _checkUpdate.default)();\n }, 2000);\n uni.getLocation({\n type: 'wgs84',\n success: function success(res) {\n __f__(\"log\", '当前位置的经度:' + res.longitude, \" at App.vue:15\");\n __f__(\"log\", '当前位置的纬度:' + res.latitude, \" at App.vue:16\");\n _index.default.commit('$tStore', {\n name: 'lonlat',\n value: res.longitude + \",\" + res.latitude\n });\n }\n });\n __f__(\"log\", 'App Launch', \" at App.vue:23\");\n uni.getPushClientId({\n success: function success(res) {\n __f__(\"log\", res.cid, \" at App.vue:26\");\n _index.default.commit('$tStore', {\n name: 'uuid',\n value: res.cid\n });\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at App.vue:34\");\n }\n });\n uni.onPushMessage(function (res) {\n __f__(\"log\", \"收到推送消息:\", res, \" at App.vue:38\"); //监听推送消息\n if (res.data) {\n __f__(\"log\", res.data, \" at App.vue:40\");\n uni.createPushMessage(res.data); //收到消息推送,创建系统状态栏及锁屏通 知\n }\n });\n // },\n __f__(\"log\", uni.getStorageSync('access_token'), \" at App.vue:45\");\n var data = {};\n data.token = uni.getStorageSync('access_token');\n var method = 'GET';\n var contentType = 'application/x-www-form-urlencoded';\n uni.request({\n // url: \"http://192.168.31.101:8181/Fence/\", //接口地址。\n // url: \"http://111.198.60.6:6008/Fence/\", //接口地址。\n // url: \"http://123.56.113.213:8081/api/wx/checkLogin\", //接口地址。\n url: \"http://123.117.152.120:8090/api/wx/checkLogin\",\n //接口地址。\n data: data,\n method: method,\n header: {\n //请求头可自定义\n 'Authorization': uni.getStorageSync('access_token'),\n 'content-type': contentType\n },\n timeout: 5000,\n //设置超时时间,默认5秒\n success: function success(rep) {\n //具体捕获请看自己接口返回的形式\n __f__(\"log\", rep, \" at App.vue:63\");\n if (rep.data.code != 0) {\n _index.default.commit('$tStore', {\n name: 'vuex_is_login',\n value: false\n });\n // uni.reLaunch({\n // \turl: '/pages/index/login'\n // });\n uni.reLaunch({\n url: '/pages/index/index'\n });\n } else {\n uni.reLaunch({\n url: '/pages/index/index'\n });\n }\n },\n fail: function fail(error) {\n __f__(\"log\", error, \" at App.vue:83\");\n // uni.hideLoading();\n // uni.$u.toast('网络不通');\n // reject(error)\n } // complete() { \n // \tuni.hideLoading();\n // }\n });\n\n uni.getSystemInfo({\n success: function success(e) {\n __f__(\"info\", 'e', e, \" at App.vue:96\");\n _vue.default.prototype.screenHeight = e.screenHeight;\n _vue.default.prototype.safeBottom = e.safeAreaInsets.bottom;\n\n // 获取手机系统版本\n var system = e.system.toLowerCase();\n var platform = e.platform.toLowerCase();\n // 判断是否为ios设备\n if (platform.indexOf('ios') != -1 && (system.indexOf('ios') != -1 || system.indexOf('macos') != -1)) {\n _vue.default.prototype.SystemPlatform = 'apple';\n } else if (platform.indexOf('android') != -1 && system.indexOf('android') != -1) {\n _vue.default.prototype.SystemPlatform = 'android';\n } else {\n _vue.default.prototype.SystemPlatform = 'devtools';\n }\n }\n });\n\n // 获取设备的状态栏信息和自定义顶栏信息\n // store.dispatch('updateCustomBarInfo')\n (0, _updateCustomBarInfo.default)().then(function (res) {\n _index.default.commit('$tStore', {\n name: 'vuex_status_bar_height',\n value: res.statusBarHeight\n });\n _index.default.commit('$tStore', {\n name: 'vuex_custom_bar_height',\n value: res.customBarHeight\n });\n });\n },\n onShow: function onShow() {\n __f__(\"log\", 'App Show', \" at App.vue:170\");\n },\n onHide: function onHide() {\n __f__(\"log\", 'App Hide', \" at App.vue:174\");\n _index.default.commit('$tStore', {\n name: 'zystate',\n value: 'STOP'\n });\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJvbkxhdW5jaCIsInNldFRpbWVvdXQiLCJjaGVja1VwZGF0ZSIsInVuaSIsImdldExvY2F0aW9uIiwidHlwZSIsInN1Y2Nlc3MiLCJyZXMiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsInN0b3JlIiwiY29tbWl0IiwibmFtZSIsInZhbHVlIiwiZ2V0UHVzaENsaWVudElkIiwiY2lkIiwiZmFpbCIsImVyciIsIm9uUHVzaE1lc3NhZ2UiLCJkYXRhIiwiY3JlYXRlUHVzaE1lc3NhZ2UiLCJnZXRTdG9yYWdlU3luYyIsInRva2VuIiwibWV0aG9kIiwiY29udGVudFR5cGUiLCJyZXF1ZXN0IiwidXJsIiwiaGVhZGVyIiwidGltZW91dCIsInJlcCIsImNvZGUiLCJyZUxhdW5jaCIsImVycm9yIiwiZ2V0U3lzdGVtSW5mbyIsImUiLCJWdWUiLCJwcm90b3R5cGUiLCJzY3JlZW5IZWlnaHQiLCJzYWZlQm90dG9tIiwic2FmZUFyZWFJbnNldHMiLCJib3R0b20iLCJzeXN0ZW0iLCJ0b0xvd2VyQ2FzZSIsInBsYXRmb3JtIiwiaW5kZXhPZiIsIlN5c3RlbVBsYXRmb3JtIiwidXBkYXRlQ3VzdG9tQmFySW5mbyIsInRoZW4iLCJzdGF0dXNCYXJIZWlnaHQiLCJjdXN0b21CYXJIZWlnaHQiLCJvblNob3ciLCJvbkhpZGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFrRixlQUNuRTtFQUNkQSxRQUFRLEVBQUUsb0JBQVc7SUFDcEJDLFVBQVUsQ0FBQyxZQUFNO01BQ2hCO01BQ0EsSUFBQUMsb0JBQVcsR0FBRTtJQUNkLENBQUMsRUFBRSxJQUFJLENBQUM7SUFDUkMsR0FBRyxDQUFDQyxXQUFXLENBQUM7TUFDZkMsSUFBSSxFQUFFLE9BQU87TUFDYkMsT0FBTyxFQUFFLGlCQUFTQyxHQUFHLEVBQUU7UUFDdEIsYUFBWSxVQUFVLEdBQUdBLEdBQUcsQ0FBQ0MsU0FBUztRQUN0QyxhQUFZLFVBQVUsR0FBR0QsR0FBRyxDQUFDRSxRQUFRO1FBQ3JDQyxjQUFLLENBQUNDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7VUFDdkJDLElBQUksRUFBRSxRQUFRO1VBQ2RDLEtBQUssRUFBRU4sR0FBRyxDQUFDQyxTQUFTLEdBQUcsR0FBRyxHQUFHRCxHQUFHLENBQUNFO1FBQ2xDLENBQUMsQ0FBQztNQUNIO0lBQ0QsQ0FBQyxDQUFDO0lBQ0YsYUFBWSxZQUFZO0lBQ3hCTixHQUFHLENBQUNXLGVBQWUsQ0FBQztNQUNuQlIsT0FBTyxFQUFFLGlCQUFDQyxHQUFHLEVBQUs7UUFDakIsYUFBWUEsR0FBRyxDQUFDUSxHQUFHO1FBQ25CTCxjQUFLLENBQUNDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7VUFDdkJDLElBQUksRUFBRSxNQUFNO1VBQ1pDLEtBQUssRUFBRU4sR0FBRyxDQUFDUTtRQUNaLENBQUMsQ0FBQztNQUVILENBQUM7TUFDREMsSUFBSSxnQkFBQ0MsR0FBRyxFQUFFO1FBQ1QsYUFBWUEsR0FBRztNQUNoQjtJQUNELENBQUMsQ0FBQztJQUNGZCxHQUFHLENBQUNlLGFBQWEsQ0FBQyxVQUFDWCxHQUFHLEVBQUs7TUFDMUIsYUFBWSxTQUFTLEVBQUVBLEdBQUcsb0JBQUMsQ0FBQztNQUM1QixJQUFJQSxHQUFHLENBQUNZLElBQUksRUFBRTtRQUNiLGFBQVlaLEdBQUcsQ0FBQ1ksSUFBSTtRQUNwQmhCLEdBQUcsQ0FBQ2lCLGlCQUFpQixDQUFDYixHQUFHLENBQUNZLElBQUksQ0FBQyxFQUFDO01BQ2pDO0lBQ0QsQ0FBQyxDQUFDO0lBQ0Y7SUFDQSxhQUFZaEIsR0FBRyxDQUFDa0IsY0FBYyxDQUFDLGNBQWMsQ0FBQztJQUM5QyxJQUFJRixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2JBLElBQUksQ0FBQ0csS0FBSyxHQUFHbkIsR0FBRyxDQUFDa0IsY0FBYyxDQUFDLGNBQWMsQ0FBQztJQUMvQyxJQUFJRSxNQUFNLEdBQUcsS0FBSztJQUNsQixJQUFJQyxXQUFXLEdBQUcsbUNBQW1DO0lBQ3JEckIsR0FBRyxDQUFDc0IsT0FBTyxDQUFDO01BQ1g7TUFDQTtNQUNBO01BQ0FDLEdBQUcsRUFBRSwrQ0FBK0M7TUFBRTtNQUN0RFAsSUFBSSxFQUFFQSxJQUFJO01BQ1ZJLE1BQU0sRUFBRUEsTUFBTTtNQUNkSSxNQUFNLEVBQUU7UUFBRTtRQUNULGVBQWUsRUFBRXhCLEdBQUcsQ0FBQ2tCLGNBQWMsQ0FBQyxjQUFjLENBQUM7UUFDbkQsY0FBYyxFQUFFRztNQUNqQixDQUFDO01BQ0RJLE9BQU8sRUFBRSxJQUFJO01BQUU7TUFDZnRCLE9BQU8sRUFBRSxpQkFBQ3VCLEdBQUcsRUFBSztRQUFFO1FBQ25CLGFBQVlBLEdBQUc7UUFDZixJQUFJQSxHQUFHLENBQUNWLElBQUksQ0FBQ1csSUFBSSxJQUFJLENBQUMsRUFBRTtVQUN2QnBCLGNBQUssQ0FBQ0MsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUN2QkMsSUFBSSxFQUFFLGVBQWU7WUFDckJDLEtBQUssRUFBRTtVQUNSLENBQUMsQ0FBQztVQUNGO1VBQ0E7VUFDQTtVQUNBVixHQUFHLENBQUM0QixRQUFRLENBQUM7WUFDWkwsR0FBRyxFQUFFO1VBQ04sQ0FBQyxDQUFDO1FBQ0gsQ0FBQyxNQUFNO1VBQ052QixHQUFHLENBQUM0QixRQUFRLENBQUM7WUFDWkwsR0FBRyxFQUFFO1VBQ04sQ0FBQyxDQUFDO1FBQ0g7TUFFRCxDQUFDO01BQ0RWLElBQUksZ0JBQUNnQixLQUFLLEVBQUU7UUFDWCxhQUFZQSxLQUFLO1FBQ2pCO1FBQ0E7UUFDQTtNQUNELENBQUMsQ0FDRDtNQUNBO01BQ0E7SUFDRCxDQUFDLENBQUM7O0lBQ0Y3QixHQUFHLENBQUM4QixhQUFhLENBQUM7TUFDakIzQixPQUFPLEVBQUUsaUJBQVM0QixDQUFDLEVBQUU7UUFHcEIsY0FBYSxHQUFHLEVBQUVBLENBQUM7UUFDbkJDLFlBQUcsQ0FBQ0MsU0FBUyxDQUFDQyxZQUFZLEdBQUdILENBQUMsQ0FBQ0csWUFBWTtRQUMzQ0YsWUFBRyxDQUFDQyxTQUFTLENBQUNFLFVBQVUsR0FBR0osQ0FBQyxDQUFDSyxjQUFjLENBQUNDLE1BQU07O1FBR2xEO1FBQ0EsSUFBTUMsTUFBTSxHQUFHUCxDQUFDLENBQUNPLE1BQU0sQ0FBQ0MsV0FBVyxFQUFFO1FBQ3JDLElBQU1DLFFBQVEsR0FBR1QsQ0FBQyxDQUFDUyxRQUFRLENBQUNELFdBQVcsRUFBRTtRQUN6QztRQUNBLElBQUlDLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLSCxNQUFNLENBQUNHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSUgsTUFBTSxDQUFDRyxPQUFPLENBQ2pGLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7VUFDbEJULFlBQUcsQ0FBQ0MsU0FBUyxDQUFDUyxjQUFjLEdBQUcsT0FBTztRQUN2QyxDQUFDLE1BQU0sSUFBSUYsUUFBUSxDQUFDQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUtILE1BQU0sQ0FBQ0csT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBRSxFQUFFO1VBQ2xGVCxZQUFHLENBQUNDLFNBQVMsQ0FBQ1MsY0FBYyxHQUFHLFNBQVM7UUFDekMsQ0FBQyxNQUFNO1VBQ05WLFlBQUcsQ0FBQ0MsU0FBUyxDQUFDUyxjQUFjLEdBQUcsVUFBVTtRQUMxQztNQUVEO0lBQ0QsQ0FBQyxDQUFDOztJQUVGO0lBQ0E7SUFDQSxJQUFBQyw0QkFBbUIsR0FBRSxDQUFDQyxJQUFJLENBQUMsVUFBQ3hDLEdBQUcsRUFBSztNQUNuQ0csY0FBSyxDQUFDQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ3ZCQyxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCQyxLQUFLLEVBQUVOLEdBQUcsQ0FBQ3lDO01BQ1osQ0FBQyxDQUFDO01BQ0Z0QyxjQUFLLENBQUNDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDdkJDLElBQUksRUFBRSx3QkFBd0I7UUFDOUJDLEtBQUssRUFBRU4sR0FBRyxDQUFDMEM7TUFDWixDQUFDLENBQUM7SUFDSCxDQUFDLENBQUM7RUF3Q0gsQ0FBQztFQUNEQyxNQUFNLEVBQUUsa0JBQVc7SUFDbEIsYUFBWSxVQUFVO0VBRXZCLENBQUM7RUFDREMsTUFBTSxFQUFFLGtCQUFXO0lBQ2xCLGFBQVksVUFBVTtJQUN0QnpDLGNBQUssQ0FBQ0MsTUFBTSxDQUFDLFNBQVMsRUFBRTtNQUN2QkMsSUFBSSxFQUFFLFNBQVM7TUFDZkMsS0FBSyxFQUFFO0lBQ1IsQ0FBQyxDQUFDO0VBQ0g7QUFDRCxDQUFDO0FBQUEsMkIiLCJmaWxlIjoiNDI2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcbmltcG9ydCBzdG9yZSBmcm9tICcuL3N0b3JlL2luZGV4LmpzJ1xuaW1wb3J0IGNoZWNrVXBkYXRlIGZyb20gJ0AvdW5pX21vZHVsZXMvdW5pLXVwZ3JhZGUtY2VudGVyLWFwcC91dGlscy9jaGVjay11cGRhdGUnO1xuaW1wb3J0IHVwZGF0ZUN1c3RvbUJhckluZm8gZnJvbSAnLi90dW5pYW8tdWkvbGlicy9mdW5jdGlvbi91cGRhdGVDdXN0b21CYXJJbmZvLmpzJ1xuZXhwb3J0IGRlZmF1bHQge1xuXHRvbkxhdW5jaDogZnVuY3Rpb24oKSB7XG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHQvLyBhcHAg5qOA5rWL5pu05pawXG5cdFx0XHRjaGVja1VwZGF0ZSgpO1xuXHRcdH0sIDIwMDApO1xuXHRcdHVuaS5nZXRMb2NhdGlvbih7XG5cdFx0XHR0eXBlOiAnd2dzODQnLFxuXHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKCflvZPliY3kvY3nva7nmoTnu4/luqbvvJonICsgcmVzLmxvbmdpdHVkZSk7XG5cdFx0XHRcdGNvbnNvbGUubG9nKCflvZPliY3kvY3nva7nmoTnuqzluqbvvJonICsgcmVzLmxhdGl0dWRlKTtcblx0XHRcdFx0c3RvcmUuY29tbWl0KCckdFN0b3JlJywge1xuXHRcdFx0XHRcdG5hbWU6ICdsb25sYXQnLFxuXHRcdFx0XHRcdHZhbHVlOiByZXMubG9uZ2l0dWRlICsgXCIsXCIgKyByZXMubGF0aXR1ZGVcblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHR9KTtcblx0XHRjb25zb2xlLmxvZygnQXBwIExhdW5jaCcpXG5cdFx0dW5pLmdldFB1c2hDbGllbnRJZCh7XG5cdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5jaWQpO1xuXHRcdFx0XHRzdG9yZS5jb21taXQoJyR0U3RvcmUnLCB7XG5cdFx0XHRcdFx0bmFtZTogJ3V1aWQnLFxuXHRcdFx0XHRcdHZhbHVlOiByZXMuY2lkXG5cdFx0XHRcdH0pXG5cblx0XHRcdH0sXG5cdFx0XHRmYWlsKGVycikge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnIpXG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0dW5pLm9uUHVzaE1lc3NhZ2UoKHJlcykgPT4ge1xuXHRcdFx0Y29uc29sZS5sb2coXCLmlLbliLDmjqjpgIHmtojmga/vvJpcIiwgcmVzKSAvL+ebkeWQrOaOqOmAgea2iOaBr1xuXHRcdFx0aWYgKHJlcy5kYXRhKSB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhKVxuXHRcdFx0XHR1bmkuY3JlYXRlUHVzaE1lc3NhZ2UocmVzLmRhdGEpIC8v5pS25Yiw5raI5oGv5o6o6YCB77yM5Yib5bu657O757uf54q25oCB5qCP5Y+K6ZSB5bGP6YCaIOefpVxuXHRcdFx0fVxuXHRcdH0pXG5cdFx0Ly8gfSxcblx0XHRjb25zb2xlLmxvZyh1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FjY2Vzc190b2tlbicpKTtcblx0XHR2YXIgZGF0YSA9IHt9XG5cdFx0ZGF0YS50b2tlbiA9IHVuaS5nZXRTdG9yYWdlU3luYygnYWNjZXNzX3Rva2VuJylcblx0XHR2YXIgbWV0aG9kID0gJ0dFVCdcblx0XHR2YXIgY29udGVudFR5cGUgPSAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xuXHRcdHVuaS5yZXF1ZXN0KHtcblx0XHRcdC8vIHVybDogXCJodHRwOi8vMTkyLjE2OC4zMS4xMDE6ODE4MS9GZW5jZS9cIiwgLy/mjqXlj6PlnLDlnYDjgIJcblx0XHRcdC8vIHVybDogXCJodHRwOi8vMTExLjE5OC42MC42OjYwMDgvRmVuY2UvXCIsIC8v5o6l5Y+j5Zyw5Z2A44CCXG5cdFx0XHQvLyB1cmw6IFwiaHR0cDovLzEyMy41Ni4xMTMuMjEzOjgwODEvYXBpL3d4L2NoZWNrTG9naW5cIiwgLy/mjqXlj6PlnLDlnYDjgIJcblx0XHRcdHVybDogXCJodHRwOi8vMTIzLjExNy4xNTIuMTIwOjgwOTAvYXBpL3d4L2NoZWNrTG9naW5cIiwgLy/mjqXlj6PlnLDlnYDjgIJcblx0XHRcdGRhdGE6IGRhdGEsXG5cdFx0XHRtZXRob2Q6IG1ldGhvZCxcblx0XHRcdGhlYWRlcjogeyAvL+ivt+axguWktOWPr+iHquWumuS5iVxuXHRcdFx0XHQnQXV0aG9yaXphdGlvbic6IHVuaS5nZXRTdG9yYWdlU3luYygnYWNjZXNzX3Rva2VuJyksXG5cdFx0XHRcdCdjb250ZW50LXR5cGUnOiBjb250ZW50VHlwZSxcblx0XHRcdH0sXG5cdFx0XHR0aW1lb3V0OiA1MDAwLCAvL+iuvue9rui2heaXtuaXtumXtCzpu5jorqQ156eSXG5cdFx0XHRzdWNjZXNzOiAocmVwKSA9PiB7IC8v5YW35L2T5o2V6I636K+355yL6Ieq5bex5o6l5Y+j6L+U5Zue55qE5b2i5byPXG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcCk7XG5cdFx0XHRcdGlmIChyZXAuZGF0YS5jb2RlICE9IDApIHtcblx0XHRcdFx0XHRzdG9yZS5jb21taXQoJyR0U3RvcmUnLCB7XG5cdFx0XHRcdFx0XHRuYW1lOiAndnVleF9pc19sb2dpbicsXG5cdFx0XHRcdFx0XHR2YWx1ZTogZmFsc2Vcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC8vIHVuaS5yZUxhdW5jaCh7XG5cdFx0XHRcdFx0Ly8gXHR1cmw6ICcvcGFnZXMvaW5kZXgvbG9naW4nXG5cdFx0XHRcdFx0Ly8gfSk7XG5cdFx0XHRcdFx0dW5pLnJlTGF1bmNoKHtcblx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9pbmRleC9pbmRleCdcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR1bmkucmVMYXVuY2goe1xuXHRcdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL2luZGV4L2luZGV4J1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cblx0XHRcdH0sXG5cdFx0XHRmYWlsKGVycm9yKSB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKGVycm9yKTtcblx0XHRcdFx0Ly8gdW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdC8vIHVuaS4kdS50b2FzdCgn572R57uc5LiN6YCaJyk7XG5cdFx0XHRcdC8vIHJlamVjdChlcnJvcilcblx0XHRcdH0sXG5cdFx0XHQvLyBjb21wbGV0ZSgpIHsgXG5cdFx0XHQvLyBcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0Ly8gfVxuXHRcdH0pO1xuXHRcdHVuaS5nZXRTeXN0ZW1JbmZvKHtcblx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKGUpIHtcblxuXG5cdFx0XHRcdGNvbnNvbGUuaW5mbygnZScsIGUpXG5cdFx0XHRcdFZ1ZS5wcm90b3R5cGUuc2NyZWVuSGVpZ2h0ID0gZS5zY3JlZW5IZWlnaHRcblx0XHRcdFx0VnVlLnByb3RvdHlwZS5zYWZlQm90dG9tID0gZS5zYWZlQXJlYUluc2V0cy5ib3R0b21cblxuXG5cdFx0XHRcdC8vIOiOt+WPluaJi+acuuezu+e7n+eJiOacrFxuXHRcdFx0XHRjb25zdCBzeXN0ZW0gPSBlLnN5c3RlbS50b0xvd2VyQ2FzZSgpXG5cdFx0XHRcdGNvbnN0IHBsYXRmb3JtID0gZS5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpXG5cdFx0XHRcdC8vIOWIpOaWreaYr+WQpuS4umlvc+iuvuWkh1xuXHRcdFx0XHRpZiAocGxhdGZvcm0uaW5kZXhPZignaW9zJykgIT0gLTEgJiYgKHN5c3RlbS5pbmRleE9mKCdpb3MnKSAhPSAtMSB8fCBzeXN0ZW0uaW5kZXhPZihcblx0XHRcdFx0XHRcdCdtYWNvcycpICE9IC0xKSkge1xuXHRcdFx0XHRcdFZ1ZS5wcm90b3R5cGUuU3lzdGVtUGxhdGZvcm0gPSAnYXBwbGUnXG5cdFx0XHRcdH0gZWxzZSBpZiAocGxhdGZvcm0uaW5kZXhPZignYW5kcm9pZCcpICE9IC0xICYmIChzeXN0ZW0uaW5kZXhPZignYW5kcm9pZCcpICE9IC0xKSkge1xuXHRcdFx0XHRcdFZ1ZS5wcm90b3R5cGUuU3lzdGVtUGxhdGZvcm0gPSAnYW5kcm9pZCdcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRWdWUucHJvdG90eXBlLlN5c3RlbVBsYXRmb3JtID0gJ2RldnRvb2xzJ1xuXHRcdFx0XHR9XG5cblx0XHRcdH1cblx0XHR9KVxuXG5cdFx0Ly8g6I635Y+W6K6+5aSH55qE54q25oCB5qCP5L+h5oGv5ZKM6Ieq5a6a5LmJ6aG25qCP5L+h5oGvXG5cdFx0Ly8gc3RvcmUuZGlzcGF0Y2goJ3VwZGF0ZUN1c3RvbUJhckluZm8nKVxuXHRcdHVwZGF0ZUN1c3RvbUJhckluZm8oKS50aGVuKChyZXMpID0+IHtcblx0XHRcdHN0b3JlLmNvbW1pdCgnJHRTdG9yZScsIHtcblx0XHRcdFx0bmFtZTogJ3Z1ZXhfc3RhdHVzX2Jhcl9oZWlnaHQnLFxuXHRcdFx0XHR2YWx1ZTogcmVzLnN0YXR1c0JhckhlaWdodFxuXHRcdFx0fSlcblx0XHRcdHN0b3JlLmNvbW1pdCgnJHRTdG9yZScsIHtcblx0XHRcdFx0bmFtZTogJ3Z1ZXhfY3VzdG9tX2Jhcl9oZWlnaHQnLFxuXHRcdFx0XHR2YWx1ZTogcmVzLmN1c3RvbUJhckhlaWdodFxuXHRcdFx0fSlcblx0XHR9KVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXHR9LFxuXHRvblNob3c6IGZ1bmN0aW9uKCkge1xuXHRcdGNvbnNvbGUubG9nKCdBcHAgU2hvdycpXG5cblx0fSxcblx0b25IaWRlOiBmdW5jdGlvbigpIHtcblx0XHRjb25zb2xlLmxvZygnQXBwIEhpZGUnKVxuXHRcdHN0b3JlLmNvbW1pdCgnJHRTdG9yZScsIHtcblx0XHRcdG5hbWU6ICd6eXN0YXRlJyxcblx0XHRcdHZhbHVlOiAnU1RPUCdcblx0XHR9KVxuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///426\n"); |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 117));\nvar _index = _interopRequireDefault(__webpack_require__(/*! ./store/index.js */ 116));\nvar _checkUpdate = _interopRequireDefault(__webpack_require__(/*! @/uni_modules/uni-upgrade-center-app/utils/check-update */ 321));\nvar _updateCustomBarInfo = _interopRequireDefault(__webpack_require__(/*! ./tuniao-ui/libs/function/updateCustomBarInfo.js */ 427));\nvar _default = {\n onLaunch: function onLaunch() {\n setTimeout(function () {\n // app 检测更新\n (0, _checkUpdate.default)();\n }, 2000);\n uni.getLocation({\n type: 'wgs84',\n success: function success(res) {\n __f__(\"log\", '当前位置的经度:' + res.longitude, \" at App.vue:15\");\n __f__(\"log\", '当前位置的纬度:' + res.latitude, \" at App.vue:16\");\n _index.default.commit('$tStore', {\n name: 'lonlat',\n value: res.longitude + \",\" + res.latitude\n });\n }\n });\n __f__(\"log\", 'App Launch', \" at App.vue:23\");\n uni.getPushClientId({\n success: function success(res) {\n __f__(\"log\", res.cid, \" at App.vue:26\");\n _index.default.commit('$tStore', {\n name: 'uuid',\n value: res.cid\n });\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at App.vue:34\");\n }\n });\n uni.onPushMessage(function (res) {\n __f__(\"log\", \"收到推送消息:\", res, \" at App.vue:38\"); //监听推送消息\n if (res.data) {\n __f__(\"log\", res.data, \" at App.vue:40\");\n uni.createPushMessage(res.data); //收到消息推送,创建系统状态栏及锁屏通 知\n }\n });\n // },\n __f__(\"log\", uni.getStorageSync('access_token'), \" at App.vue:45\");\n var data = {};\n data.token = uni.getStorageSync('access_token');\n var method = 'GET';\n var contentType = 'application/x-www-form-urlencoded';\n uni.request({\n // url: \"http://192.168.31.101:8181/Fence/\", //接口地址。\n // url: \"http://111.198.60.6:6008/Fence/\", //接口地址。\n // url: \"http://123.56.113.213:8081/api/wx/checkLogin\", //接口地址。\n url: \"http://123.117.152.120:8090/api/wx/checkLogin\",\n //接口地址。\n data: data,\n method: method,\n header: {\n //请求头可自定义\n 'Authorization': uni.getStorageSync('access_token'),\n 'content-type': contentType\n },\n timeout: 5000,\n //设置超时时间,默认5秒\n success: function success(rep) {\n //具体捕获请看自己接口返回的形式\n __f__(\"log\", rep, \" at App.vue:63\");\n if (rep.data.code != 0) {\n _index.default.commit('$tStore', {\n name: 'vuex_is_login',\n value: false\n });\n // uni.reLaunch({\n // \turl: '/pages/index/login'\n // });\n uni.reLaunch({\n url: '/pages/index/index'\n });\n } else {\n uni.reLaunch({\n url: '/pages/index/index'\n });\n }\n },\n fail: function fail(error) {\n __f__(\"log\", error, \" at App.vue:83\");\n // uni.hideLoading();\n // uni.$u.toast('网络不通');\n // reject(error)\n } // complete() { \n // \tuni.hideLoading();\n // }\n });\n\n uni.getSystemInfo({\n success: function success(e) {\n __f__(\"info\", 'e', e, \" at App.vue:96\");\n _vue.default.prototype.screenHeight = e.screenHeight;\n _vue.default.prototype.safeBottom = e.safeAreaInsets.bottom;\n\n // 获取手机系统版本\n var system = e.system.toLowerCase();\n var platform = e.platform.toLowerCase();\n // 判断是否为ios设备\n if (platform.indexOf('ios') != -1 && (system.indexOf('ios') != -1 || system.indexOf('macos') != -1)) {\n _vue.default.prototype.SystemPlatform = 'apple';\n } else if (platform.indexOf('android') != -1 && system.indexOf('android') != -1) {\n _vue.default.prototype.SystemPlatform = 'android';\n } else {\n _vue.default.prototype.SystemPlatform = 'devtools';\n }\n }\n });\n\n // 获取设备的状态栏信息和自定义顶栏信息\n // store.dispatch('updateCustomBarInfo')\n (0, _updateCustomBarInfo.default)().then(function (res) {\n _index.default.commit('$tStore', {\n name: 'vuex_status_bar_height',\n value: res.statusBarHeight\n });\n _index.default.commit('$tStore', {\n name: 'vuex_custom_bar_height',\n value: res.customBarHeight\n });\n });\n },\n onShow: function onShow() {\n __f__(\"log\", 'App Show', \" at App.vue:170\");\n },\n onHide: function onHide() {\n __f__(\"log\", 'App Hide', \" at App.vue:174\");\n // store.commit('$tStore', {\n // \tname: 'zystate',\n // \tvalue: 'STOP'\n // })\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 95)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJvbkxhdW5jaCIsInNldFRpbWVvdXQiLCJjaGVja1VwZGF0ZSIsInVuaSIsImdldExvY2F0aW9uIiwidHlwZSIsInN1Y2Nlc3MiLCJyZXMiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsInN0b3JlIiwiY29tbWl0IiwibmFtZSIsInZhbHVlIiwiZ2V0UHVzaENsaWVudElkIiwiY2lkIiwiZmFpbCIsImVyciIsIm9uUHVzaE1lc3NhZ2UiLCJkYXRhIiwiY3JlYXRlUHVzaE1lc3NhZ2UiLCJnZXRTdG9yYWdlU3luYyIsInRva2VuIiwibWV0aG9kIiwiY29udGVudFR5cGUiLCJyZXF1ZXN0IiwidXJsIiwiaGVhZGVyIiwidGltZW91dCIsInJlcCIsImNvZGUiLCJyZUxhdW5jaCIsImVycm9yIiwiZ2V0U3lzdGVtSW5mbyIsImUiLCJWdWUiLCJwcm90b3R5cGUiLCJzY3JlZW5IZWlnaHQiLCJzYWZlQm90dG9tIiwic2FmZUFyZWFJbnNldHMiLCJib3R0b20iLCJzeXN0ZW0iLCJ0b0xvd2VyQ2FzZSIsInBsYXRmb3JtIiwiaW5kZXhPZiIsIlN5c3RlbVBsYXRmb3JtIiwidXBkYXRlQ3VzdG9tQmFySW5mbyIsInRoZW4iLCJzdGF0dXNCYXJIZWlnaHQiLCJjdXN0b21CYXJIZWlnaHQiLCJvblNob3ciLCJvbkhpZGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFrRixlQUNuRTtFQUNkQSxRQUFRLEVBQUUsb0JBQVc7SUFDcEJDLFVBQVUsQ0FBQyxZQUFNO01BQ2hCO01BQ0EsSUFBQUMsb0JBQVcsR0FBRTtJQUNkLENBQUMsRUFBRSxJQUFJLENBQUM7SUFDUkMsR0FBRyxDQUFDQyxXQUFXLENBQUM7TUFDZkMsSUFBSSxFQUFFLE9BQU87TUFDYkMsT0FBTyxFQUFFLGlCQUFTQyxHQUFHLEVBQUU7UUFDdEIsYUFBWSxVQUFVLEdBQUdBLEdBQUcsQ0FBQ0MsU0FBUztRQUN0QyxhQUFZLFVBQVUsR0FBR0QsR0FBRyxDQUFDRSxRQUFRO1FBQ3JDQyxjQUFLLENBQUNDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7VUFDdkJDLElBQUksRUFBRSxRQUFRO1VBQ2RDLEtBQUssRUFBRU4sR0FBRyxDQUFDQyxTQUFTLEdBQUcsR0FBRyxHQUFHRCxHQUFHLENBQUNFO1FBQ2xDLENBQUMsQ0FBQztNQUNIO0lBQ0QsQ0FBQyxDQUFDO0lBQ0YsYUFBWSxZQUFZO0lBQ3hCTixHQUFHLENBQUNXLGVBQWUsQ0FBQztNQUNuQlIsT0FBTyxFQUFFLGlCQUFDQyxHQUFHLEVBQUs7UUFDakIsYUFBWUEsR0FBRyxDQUFDUSxHQUFHO1FBQ25CTCxjQUFLLENBQUNDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7VUFDdkJDLElBQUksRUFBRSxNQUFNO1VBQ1pDLEtBQUssRUFBRU4sR0FBRyxDQUFDUTtRQUNaLENBQUMsQ0FBQztNQUVILENBQUM7TUFDREMsSUFBSSxnQkFBQ0MsR0FBRyxFQUFFO1FBQ1QsYUFBWUEsR0FBRztNQUNoQjtJQUNELENBQUMsQ0FBQztJQUNGZCxHQUFHLENBQUNlLGFBQWEsQ0FBQyxVQUFDWCxHQUFHLEVBQUs7TUFDMUIsYUFBWSxTQUFTLEVBQUVBLEdBQUcsb0JBQUMsQ0FBQztNQUM1QixJQUFJQSxHQUFHLENBQUNZLElBQUksRUFBRTtRQUNiLGFBQVlaLEdBQUcsQ0FBQ1ksSUFBSTtRQUNwQmhCLEdBQUcsQ0FBQ2lCLGlCQUFpQixDQUFDYixHQUFHLENBQUNZLElBQUksQ0FBQyxFQUFDO01BQ2pDO0lBQ0QsQ0FBQyxDQUFDO0lBQ0Y7SUFDQSxhQUFZaEIsR0FBRyxDQUFDa0IsY0FBYyxDQUFDLGNBQWMsQ0FBQztJQUM5QyxJQUFJRixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2JBLElBQUksQ0FBQ0csS0FBSyxHQUFHbkIsR0FBRyxDQUFDa0IsY0FBYyxDQUFDLGNBQWMsQ0FBQztJQUMvQyxJQUFJRSxNQUFNLEdBQUcsS0FBSztJQUNsQixJQUFJQyxXQUFXLEdBQUcsbUNBQW1DO0lBQ3JEckIsR0FBRyxDQUFDc0IsT0FBTyxDQUFDO01BQ1g7TUFDQTtNQUNBO01BQ0FDLEdBQUcsRUFBRSwrQ0FBK0M7TUFBRTtNQUN0RFAsSUFBSSxFQUFFQSxJQUFJO01BQ1ZJLE1BQU0sRUFBRUEsTUFBTTtNQUNkSSxNQUFNLEVBQUU7UUFBRTtRQUNULGVBQWUsRUFBRXhCLEdBQUcsQ0FBQ2tCLGNBQWMsQ0FBQyxjQUFjLENBQUM7UUFDbkQsY0FBYyxFQUFFRztNQUNqQixDQUFDO01BQ0RJLE9BQU8sRUFBRSxJQUFJO01BQUU7TUFDZnRCLE9BQU8sRUFBRSxpQkFBQ3VCLEdBQUcsRUFBSztRQUFFO1FBQ25CLGFBQVlBLEdBQUc7UUFDZixJQUFJQSxHQUFHLENBQUNWLElBQUksQ0FBQ1csSUFBSSxJQUFJLENBQUMsRUFBRTtVQUN2QnBCLGNBQUssQ0FBQ0MsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUN2QkMsSUFBSSxFQUFFLGVBQWU7WUFDckJDLEtBQUssRUFBRTtVQUNSLENBQUMsQ0FBQztVQUNGO1VBQ0E7VUFDQTtVQUNBVixHQUFHLENBQUM0QixRQUFRLENBQUM7WUFDWkwsR0FBRyxFQUFFO1VBQ04sQ0FBQyxDQUFDO1FBQ0gsQ0FBQyxNQUFNO1VBQ052QixHQUFHLENBQUM0QixRQUFRLENBQUM7WUFDWkwsR0FBRyxFQUFFO1VBQ04sQ0FBQyxDQUFDO1FBQ0g7TUFFRCxDQUFDO01BQ0RWLElBQUksZ0JBQUNnQixLQUFLLEVBQUU7UUFDWCxhQUFZQSxLQUFLO1FBQ2pCO1FBQ0E7UUFDQTtNQUNELENBQUMsQ0FDRDtNQUNBO01BQ0E7SUFDRCxDQUFDLENBQUM7O0lBQ0Y3QixHQUFHLENBQUM4QixhQUFhLENBQUM7TUFDakIzQixPQUFPLEVBQUUsaUJBQVM0QixDQUFDLEVBQUU7UUFHcEIsY0FBYSxHQUFHLEVBQUVBLENBQUM7UUFDbkJDLFlBQUcsQ0FBQ0MsU0FBUyxDQUFDQyxZQUFZLEdBQUdILENBQUMsQ0FBQ0csWUFBWTtRQUMzQ0YsWUFBRyxDQUFDQyxTQUFTLENBQUNFLFVBQVUsR0FBR0osQ0FBQyxDQUFDSyxjQUFjLENBQUNDLE1BQU07O1FBR2xEO1FBQ0EsSUFBTUMsTUFBTSxHQUFHUCxDQUFDLENBQUNPLE1BQU0sQ0FBQ0MsV0FBVyxFQUFFO1FBQ3JDLElBQU1DLFFBQVEsR0FBR1QsQ0FBQyxDQUFDUyxRQUFRLENBQUNELFdBQVcsRUFBRTtRQUN6QztRQUNBLElBQUlDLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLSCxNQUFNLENBQUNHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSUgsTUFBTSxDQUFDRyxPQUFPLENBQ2pGLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7VUFDbEJULFlBQUcsQ0FBQ0MsU0FBUyxDQUFDUyxjQUFjLEdBQUcsT0FBTztRQUN2QyxDQUFDLE1BQU0sSUFBSUYsUUFBUSxDQUFDQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUtILE1BQU0sQ0FBQ0csT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBRSxFQUFFO1VBQ2xGVCxZQUFHLENBQUNDLFNBQVMsQ0FBQ1MsY0FBYyxHQUFHLFNBQVM7UUFDekMsQ0FBQyxNQUFNO1VBQ05WLFlBQUcsQ0FBQ0MsU0FBUyxDQUFDUyxjQUFjLEdBQUcsVUFBVTtRQUMxQztNQUVEO0lBQ0QsQ0FBQyxDQUFDOztJQUVGO0lBQ0E7SUFDQSxJQUFBQyw0QkFBbUIsR0FBRSxDQUFDQyxJQUFJLENBQUMsVUFBQ3hDLEdBQUcsRUFBSztNQUNuQ0csY0FBSyxDQUFDQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ3ZCQyxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCQyxLQUFLLEVBQUVOLEdBQUcsQ0FBQ3lDO01BQ1osQ0FBQyxDQUFDO01BQ0Z0QyxjQUFLLENBQUNDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDdkJDLElBQUksRUFBRSx3QkFBd0I7UUFDOUJDLEtBQUssRUFBRU4sR0FBRyxDQUFDMEM7TUFDWixDQUFDLENBQUM7SUFDSCxDQUFDLENBQUM7RUF3Q0gsQ0FBQztFQUNEQyxNQUFNLEVBQUUsa0JBQVc7SUFDbEIsYUFBWSxVQUFVO0VBRXZCLENBQUM7RUFDREMsTUFBTSxFQUFFLGtCQUFXO0lBQ2xCLGFBQVksVUFBVTtJQUN0QjtJQUNBO0lBQ0E7SUFDQTtFQUNEO0FBQ0QsQ0FBQztBQUFBLDJCIiwiZmlsZSI6IjQyNi5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXG5pbXBvcnQgc3RvcmUgZnJvbSAnLi9zdG9yZS9pbmRleC5qcydcbmltcG9ydCBjaGVja1VwZGF0ZSBmcm9tICdAL3VuaV9tb2R1bGVzL3VuaS11cGdyYWRlLWNlbnRlci1hcHAvdXRpbHMvY2hlY2stdXBkYXRlJztcbmltcG9ydCB1cGRhdGVDdXN0b21CYXJJbmZvIGZyb20gJy4vdHVuaWFvLXVpL2xpYnMvZnVuY3Rpb24vdXBkYXRlQ3VzdG9tQmFySW5mby5qcydcbmV4cG9ydCBkZWZhdWx0IHtcblx0b25MYXVuY2g6IGZ1bmN0aW9uKCkge1xuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0Ly8gYXBwIOajgOa1i+abtOaWsFxuXHRcdFx0Y2hlY2tVcGRhdGUoKTtcblx0XHR9LCAyMDAwKTtcblx0XHR1bmkuZ2V0TG9jYXRpb24oe1xuXHRcdFx0dHlwZTogJ3dnczg0Jyxcblx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuXHRcdFx0XHRjb25zb2xlLmxvZygn5b2T5YmN5L2N572u55qE57uP5bqm77yaJyArIHJlcy5sb25naXR1ZGUpO1xuXHRcdFx0XHRjb25zb2xlLmxvZygn5b2T5YmN5L2N572u55qE57qs5bqm77yaJyArIHJlcy5sYXRpdHVkZSk7XG5cdFx0XHRcdHN0b3JlLmNvbW1pdCgnJHRTdG9yZScsIHtcblx0XHRcdFx0XHRuYW1lOiAnbG9ubGF0Jyxcblx0XHRcdFx0XHR2YWx1ZTogcmVzLmxvbmdpdHVkZSArIFwiLFwiICsgcmVzLmxhdGl0dWRlXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0Y29uc29sZS5sb2coJ0FwcCBMYXVuY2gnKVxuXHRcdHVuaS5nZXRQdXNoQ2xpZW50SWQoe1xuXHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuY2lkKTtcblx0XHRcdFx0c3RvcmUuY29tbWl0KCckdFN0b3JlJywge1xuXHRcdFx0XHRcdG5hbWU6ICd1dWlkJyxcblx0XHRcdFx0XHR2YWx1ZTogcmVzLmNpZFxuXHRcdFx0XHR9KVxuXG5cdFx0XHR9LFxuXHRcdFx0ZmFpbChlcnIpIHtcblx0XHRcdFx0Y29uc29sZS5sb2coZXJyKVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdHVuaS5vblB1c2hNZXNzYWdlKChyZXMpID0+IHtcblx0XHRcdGNvbnNvbGUubG9nKFwi5pS25Yiw5o6o6YCB5raI5oGv77yaXCIsIHJlcykgLy/nm5HlkKzmjqjpgIHmtojmga9cblx0XHRcdGlmIChyZXMuZGF0YSkge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSlcblx0XHRcdFx0dW5pLmNyZWF0ZVB1c2hNZXNzYWdlKHJlcy5kYXRhKSAvL+aUtuWIsOa2iOaBr+aOqOmAge+8jOWIm+W7uuezu+e7n+eKtuaAgeagj+WPiumUgeWxj+mAmiDnn6Vcblx0XHRcdH1cblx0XHR9KVxuXHRcdC8vIH0sXG5cdFx0Y29uc29sZS5sb2codW5pLmdldFN0b3JhZ2VTeW5jKCdhY2Nlc3NfdG9rZW4nKSk7XG5cdFx0dmFyIGRhdGEgPSB7fVxuXHRcdGRhdGEudG9rZW4gPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FjY2Vzc190b2tlbicpXG5cdFx0dmFyIG1ldGhvZCA9ICdHRVQnXG5cdFx0dmFyIGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcblx0XHR1bmkucmVxdWVzdCh7XG5cdFx0XHQvLyB1cmw6IFwiaHR0cDovLzE5Mi4xNjguMzEuMTAxOjgxODEvRmVuY2UvXCIsIC8v5o6l5Y+j5Zyw5Z2A44CCXG5cdFx0XHQvLyB1cmw6IFwiaHR0cDovLzExMS4xOTguNjAuNjo2MDA4L0ZlbmNlL1wiLCAvL+aOpeWPo+WcsOWdgOOAglxuXHRcdFx0Ly8gdXJsOiBcImh0dHA6Ly8xMjMuNTYuMTEzLjIxMzo4MDgxL2FwaS93eC9jaGVja0xvZ2luXCIsIC8v5o6l5Y+j5Zyw5Z2A44CCXG5cdFx0XHR1cmw6IFwiaHR0cDovLzEyMy4xMTcuMTUyLjEyMDo4MDkwL2FwaS93eC9jaGVja0xvZ2luXCIsIC8v5o6l5Y+j5Zyw5Z2A44CCXG5cdFx0XHRkYXRhOiBkYXRhLFxuXHRcdFx0bWV0aG9kOiBtZXRob2QsXG5cdFx0XHRoZWFkZXI6IHsgLy/or7fmsYLlpLTlj6/oh6rlrprkuYlcblx0XHRcdFx0J0F1dGhvcml6YXRpb24nOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FjY2Vzc190b2tlbicpLFxuXHRcdFx0XHQnY29udGVudC10eXBlJzogY29udGVudFR5cGUsXG5cdFx0XHR9LFxuXHRcdFx0dGltZW91dDogNTAwMCwgLy/orr7nva7otoXml7bml7bpl7Qs6buY6K6kNeenklxuXHRcdFx0c3VjY2VzczogKHJlcCkgPT4geyAvL+WFt+S9k+aNleiOt+ivt+eci+iHquW3seaOpeWPo+i/lOWbnueahOW9ouW8j1xuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXApO1xuXHRcdFx0XHRpZiAocmVwLmRhdGEuY29kZSAhPSAwKSB7XG5cdFx0XHRcdFx0c3RvcmUuY29tbWl0KCckdFN0b3JlJywge1xuXHRcdFx0XHRcdFx0bmFtZTogJ3Z1ZXhfaXNfbG9naW4nLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGZhbHNlXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQvLyB1bmkucmVMYXVuY2goe1xuXHRcdFx0XHRcdC8vIFx0dXJsOiAnL3BhZ2VzL2luZGV4L2xvZ2luJ1xuXHRcdFx0XHRcdC8vIH0pO1xuXHRcdFx0XHRcdHVuaS5yZUxhdW5jaCh7XG5cdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvaW5kZXgvaW5kZXgnXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dW5pLnJlTGF1bmNoKHtcblx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9pbmRleC9pbmRleCdcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXG5cdFx0XHR9LFxuXHRcdFx0ZmFpbChlcnJvcikge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnJvcik7XG5cdFx0XHRcdC8vIHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHQvLyB1bmkuJHUudG9hc3QoJ+e9kee7nOS4jemAmicpO1xuXHRcdFx0XHQvLyByZWplY3QoZXJyb3IpXG5cdFx0XHR9LFxuXHRcdFx0Ly8gY29tcGxldGUoKSB7IFxuXHRcdFx0Ly8gXHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdC8vIH1cblx0XHR9KTtcblx0XHR1bmkuZ2V0U3lzdGVtSW5mbyh7XG5cdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihlKSB7XG5cblxuXHRcdFx0XHRjb25zb2xlLmluZm8oJ2UnLCBlKVxuXHRcdFx0XHRWdWUucHJvdG90eXBlLnNjcmVlbkhlaWdodCA9IGUuc2NyZWVuSGVpZ2h0XG5cdFx0XHRcdFZ1ZS5wcm90b3R5cGUuc2FmZUJvdHRvbSA9IGUuc2FmZUFyZWFJbnNldHMuYm90dG9tXG5cblxuXHRcdFx0XHQvLyDojrflj5bmiYvmnLrns7vnu5/niYjmnKxcblx0XHRcdFx0Y29uc3Qgc3lzdGVtID0gZS5zeXN0ZW0udG9Mb3dlckNhc2UoKVxuXHRcdFx0XHRjb25zdCBwbGF0Zm9ybSA9IGUucGxhdGZvcm0udG9Mb3dlckNhc2UoKVxuXHRcdFx0XHQvLyDliKTmlq3mmK/lkKbkuLppb3Porr7lpIdcblx0XHRcdFx0aWYgKHBsYXRmb3JtLmluZGV4T2YoJ2lvcycpICE9IC0xICYmIChzeXN0ZW0uaW5kZXhPZignaW9zJykgIT0gLTEgfHwgc3lzdGVtLmluZGV4T2YoXG5cdFx0XHRcdFx0XHQnbWFjb3MnKSAhPSAtMSkpIHtcblx0XHRcdFx0XHRWdWUucHJvdG90eXBlLlN5c3RlbVBsYXRmb3JtID0gJ2FwcGxlJ1xuXHRcdFx0XHR9IGVsc2UgaWYgKHBsYXRmb3JtLmluZGV4T2YoJ2FuZHJvaWQnKSAhPSAtMSAmJiAoc3lzdGVtLmluZGV4T2YoJ2FuZHJvaWQnKSAhPSAtMSkpIHtcblx0XHRcdFx0XHRWdWUucHJvdG90eXBlLlN5c3RlbVBsYXRmb3JtID0gJ2FuZHJvaWQnXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0VnVlLnByb3RvdHlwZS5TeXN0ZW1QbGF0Zm9ybSA9ICdkZXZ0b29scydcblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fSlcblxuXHRcdC8vIOiOt+WPluiuvuWkh+eahOeKtuaAgeagj+S/oeaBr+WSjOiHquWumuS5iemhtuagj+S/oeaBr1xuXHRcdC8vIHN0b3JlLmRpc3BhdGNoKCd1cGRhdGVDdXN0b21CYXJJbmZvJylcblx0XHR1cGRhdGVDdXN0b21CYXJJbmZvKCkudGhlbigocmVzKSA9PiB7XG5cdFx0XHRzdG9yZS5jb21taXQoJyR0U3RvcmUnLCB7XG5cdFx0XHRcdG5hbWU6ICd2dWV4X3N0YXR1c19iYXJfaGVpZ2h0Jyxcblx0XHRcdFx0dmFsdWU6IHJlcy5zdGF0dXNCYXJIZWlnaHRcblx0XHRcdH0pXG5cdFx0XHRzdG9yZS5jb21taXQoJyR0U3RvcmUnLCB7XG5cdFx0XHRcdG5hbWU6ICd2dWV4X2N1c3RvbV9iYXJfaGVpZ2h0Jyxcblx0XHRcdFx0dmFsdWU6IHJlcy5jdXN0b21CYXJIZWlnaHRcblx0XHRcdH0pXG5cdFx0fSlcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblx0fSxcblx0b25TaG93OiBmdW5jdGlvbigpIHtcblx0XHRjb25zb2xlLmxvZygnQXBwIFNob3cnKVxuXG5cdH0sXG5cdG9uSGlkZTogZnVuY3Rpb24oKSB7XG5cdFx0Y29uc29sZS5sb2coJ0FwcCBIaWRlJylcblx0XHQvLyBzdG9yZS5jb21taXQoJyR0U3RvcmUnLCB7XG5cdFx0Ly8gXHRuYW1lOiAnenlzdGF0ZScsXG5cdFx0Ly8gXHR2YWx1ZTogJ1NUT1AnXG5cdFx0Ly8gfSlcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///426\n"); |
| | | |
| | | /***/ }), |
| | | /* 427 */ |