/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/NewAreaMapLocal/AreaMapLocal.vue?vue&type=style&index=0&id=11a2423f&lang=scss&scoped=true ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/.user-mapcontainer[data-v-11a2423f]{background-image:url(../img/d12217763c26de4efb1c.png);background-size:1024px 980px;height:980px;width:100%}
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/AreaMapZP/AreaMapZP.vue?vue&type=style&index=0&id=44f084db&lang=scss&scoped=true ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/.user-mapcontainer[data-v-11a2423f],.user-mapcontainer[data-v-44f084db]{background-origin:border-box;background-position:0 0;background-repeat:no-repeat;margin:0 auto;position:relative}.user-mapcontainer[data-v-44f084db]{background-image:url(../img/380c0d66badf6732c4d0.jpg);background-size:1024px 522px;height:600px;width:1024px}
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/DatePickerRange/DatePickerRange.vue?vue&type=style&index=0&id=71ce885a&lang=scss&scoped=true ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/[data-v-71ce885a],[data-v-71ce885a]:after,[data-v-71ce885a]:before{-webkit-box-sizing:content-box;box-sizing:content-box}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/Loading/Loading.vue?vue&type=style&index=0&id=416d18c9&lang=scss&scoped=true ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/.load8[data-v-416d18c9]{left:calc(50% - 39px);position:fixed;top:calc(50% - 39px);z-index:2001}.load8 .loader[data-v-416d18c9],.load8 .loader[data-v-416d18c9]:after{border-radius:50%;height:94px;width:94px}.load8 .loader[data-v-416d18c9]{-webkit-animation:load8-416d18c9 1.1s linear infinite;animation:load8-416d18c9 1.1s linear infinite;border:8px solid hsla(0,0%,100%,.2);border-left-color:#d3d3d3;font-size:10px;margin:0 auto;position:relative;text-indent:-9999em;-webkit-transform:translateZ(0);transform:translateZ(0)}@-webkit-keyframes load8-416d18c9{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes load8-416d18c9{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loader-mask[data-v-416d18c9]{background-color:rgba(0,0,0,.4);bottom:0;left:0;margin:0;overflow:auto;position:fixed;right:0;top:0;-webkit-transition:opacity .3s;transition:opacity .3s;z-index:2000}.loader-img[data-v-416d18c9]{background:url(../img/feb49a19a418f5d1e9c5.png) no-repeat;background-size:100% 100%;height:56.16px;left:16px;position:absolute;top:16px;width:70.2px}
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/VueCropper/vue-cropper.vue?vue&type=style&index=0&id=6e3b86e4&scoped=true&lang=scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/.vue-cropper[data-v-6e3b86e4]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC);-webkit-box-sizing:border-box;box-sizing:border-box;direction:ltr;height:100%;position:relative;-ms-touch-action:none;touch-action:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:100%}.cropper-box-canvas[data-v-6e3b86e4],.cropper-box[data-v-6e3b86e4],.cropper-crop-box[data-v-6e3b86e4],.cropper-drag-box[data-v-6e3b86e4],.cropper-face[data-v-6e3b86e4]{bottom:0;left:0;position:absolute;right:0;top:0;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none}.cropper-box-canvas img[data-v-6e3b86e4]{max-height:none;max-width:none;position:relative;-webkit-transform:none;transform:none;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none}.cropper-box[data-v-6e3b86e4]{overflow:hidden}.cropper-move[data-v-6e3b86e4]{cursor:move}.cropper-crop[data-v-6e3b86e4]{cursor:crosshair}.cropper-modal[data-v-6e3b86e4]{background:rgba(0,0,0,.5)}.cropper-view-box[data-v-6e3b86e4]{display:block;height:100%;outline:1px solid #39f;outline-color:rgba(51,153,255,.75);overflow:hidden;width:100%}.cropper-view-box img[data-v-6e3b86e4],.cropper-view-box[data-v-6e3b86e4]{-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none}.cropper-view-box img[data-v-6e3b86e4]{max-height:none;max-width:none}.cropper-face[data-v-6e3b86e4]{background-color:#fff;left:0;opacity:.1;top:0}.crop-info[data-v-6e3b86e4]{background-color:rgba(0,0,0,.8);color:#fff;font-size:12px;left:0;line-height:20px;min-width:65px;position:absolute;text-align:center}.crop-line[data-v-6e3b86e4]{display:block;height:100%;opacity:.1;position:absolute;width:100%}.line-w[data-v-6e3b86e4]{cursor:n-resize;height:5px;left:0;top:-3px}.line-a[data-v-6e3b86e4]{cursor:w-resize;left:-3px;top:0;width:5px}.line-s[data-v-6e3b86e4]{bottom:-3px;cursor:s-resize;height:5px;left:0}.line-d[data-v-6e3b86e4]{cursor:e-resize;right:-3px;top:0;width:5px}.crop-point[data-v-6e3b86e4]{background-color:#39f;border-radius:100%;height:8px;opacity:.75;position:absolute;width:8px}.point1[data-v-6e3b86e4]{cursor:nw-resize;left:-4px;top:-4px}.point2[data-v-6e3b86e4]{cursor:n-resize;left:50%;margin-left:-3px;top:-5px}.point3[data-v-6e3b86e4]{cursor:ne-resize;right:-4px;top:-4px}.point4[data-v-6e3b86e4]{cursor:w-resize;left:-4px;margin-top:-3px;top:50%}.point5[data-v-6e3b86e4]{cursor:w-resize;margin-top:-3px;right:-4px;top:50%}.point6[data-v-6e3b86e4]{bottom:-5px;cursor:sw-resize;left:-4px}.point7[data-v-6e3b86e4]{bottom:-5px;cursor:s-resize;left:50%;margin-left:-3px}.point8[data-v-6e3b86e4]{bottom:-5px;cursor:nw-resize;right:-4px}@media screen and (max-width:500px){.crop-point[data-v-6e3b86e4]{background-color:#39f;border-radius:100%;height:20px;opacity:.45;position:absolute;width:20px}.point1[data-v-6e3b86e4]{left:-10px;top:-10px}.point2[data-v-6e3b86e4],.point4[data-v-6e3b86e4],.point5[data-v-6e3b86e4],.point7[data-v-6e3b86e4]{display:none}.point3[data-v-6e3b86e4]{right:-10px;top:-10px}.point4[data-v-6e3b86e4]{left:0;top:0}.point6[data-v-6e3b86e4]{bottom:-10px;left:-10px}.point8[data-v-6e3b86e4]{bottom:-10px;right:-10px}}
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/PopoverBtn/PopoverBtn.vue?vue&type=style&index=0&id=011cd9af&lang=scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/.btnclick{cursor:pointer}.dataitem-selected{color:#007bff}.btnsearch{background-color:#40a2de;border:1px solid #c9c9c9;color:#fff;text-align:center;width:80px}.divtitle{font-size:15px;font-weight:600}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/PopoverBtnPostion/PopoverBtnPostion.vue?vue&type=style&index=0&id=759189b3&lang=scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/.row-ucselected{cursor:pointer}
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/SlideVerify/SlideVerify.vue?vue&type=style&index=0&id=37d37fe5&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************/.slide-verify[data-v-37d37fe5]{position:relative}.slider-verify-loading[data-v-37d37fe5]{-webkit-animation:loading-37d37fe5 1.5s infinite;animation:loading-37d37fe5 1.5s infinite;background:hsla(0,0%,100%,.9);bottom:0;left:0;position:absolute;right:0;top:0;z-index:999}@-webkit-keyframes loading-37d37fe5{0%{opacity:.7}to{opacity:1}}@keyframes loading-37d37fe5{0%{opacity:.7}to{opacity:1}}.newback-slide-verify-block[data-v-37d37fe5]{left:0;position:absolute;top:-150px;z-index:899}.slide-verify-block[data-v-37d37fe5]{left:0;position:absolute;top:-150px;z-index:999}.slide-verify-refresh-icon[data-v-37d37fe5]{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAHXCAMAAADusXjuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURQAAAGdtcwAAAAAAAAAAAAAAAAAAABmR+gECAgAAAAAAAAAAAAAAAAAAAAAAAPf49QAAAAAAAAAAAAAAAAAAALLS/QICAgEBAf///wAAAGS1/P///////wAAAP///xyS+gAAAN3q/pWbof///6Gqs////wAAAAAAACCV+v///zef+5LL/Xq2+woKCkVJTZWdppefqAIDAv///////////5WdpqvX/Z/R/Vyx/KDS/Zyjq5mhqpefqP///2ltcGdtczub+pafqP///0VJTY2hp5WdpgAAAGdtc////0Gk+3e//P///////yDIrvBnZ////8zQ1P////////b39P///6Kqsv///////5WdppefqP////T18pWdppWdpiDIrubw/gICAvb39P///yDIriaX+pWdpUan+5rP/R4eHr2+u////////////5Wdpv///////5WdpuHi3/Lz8Git+8nf/Wdtc/////////Dx7v///9LS0JWdpiDIrvBnZ/BnZ77Z/ZWdppWdppWdpuDh3uzt6q6vrZWdpmdtc+rr6dPU0cvLydbX1JWdpkVJTZnF/O71/vf6//BnZ2dtc////////9LT0Ovs6ru8uZWdppWdppWdpjM0M5WdppWdppWdplSl+/BnZ+bn5O7v7AMDA6Gqs2dtc////77g/v///6TT/bfc/Vau+3vA/P///////4TE/P///////////6bU/f///////7W2szIzMozI/P///2y5/P///y6b+pWdpoq+/KbM/JWdpv///////////yDIriDIrqGqs2dtc6Gqs6Gqs6Gqs////2dtc0VJTZWdpmdtc////x0dHZWdptPl/kVJTSDIriDIrmdtc6iopsDBvvX282FmaWdtc5Wdpv///yDIriDIrvBnZ2dtc6Gqs6Gqs6Gqs2dtc2dtc2dtc2dtc/BnZ35+ffBnZ0VJTWdtc2dtc2dtc35+ff///2dtc9/g3oOKkp6nsL3CyP7//v///6Gqs/f49fBnZyDIrmdtc0VJTdgAqpkAAAD5dFJOUwDMDxgGBArMAQIMDhYDB5kFEwkVHeUfHHgU2tgZEafMIvJD5Oc+GxrNk9Ll2SZF6wge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) 0 -437px;background-size:34px 471px;cursor:pointer;height:34px;position:absolute;right:0;top:0;width:34px}.slide-verify-slider[data-v-37d37fe5]{background:#f7f9fa;border:1px solid #e4e7eb;color:#45494c;height:40px;line-height:40px;margin-top:15px;position:relative;text-align:center;width:100%}.slide-verify-slider-mask[data-v-37d37fe5]{background:#d1e9fe;border:0 solid #1991fa;height:40px;left:0;position:absolute;top:0}.slide-verify-slider-mask-item[data-v-37d37fe5]{background:#fff;-webkit-box-shadow:0 0 3px rgba(0,0,0,.3);box-shadow:0 0 3px rgba(0,0,0,.3);cursor:pointer;height:40px;left:0;position:absolute;top:0;-webkit-transition:background .2s linear;transition:background .2s linear;width:40px}.slide-verify-slider-mask-item[data-v-37d37fe5]:hover{background:#1991fa}.slide-verify-slider-mask-item:hover .slide-verify-slider-mask-item-icon[data-v-37d37fe5]{background-position:0 -13px}.slide-verify-slider-mask-item-icon[data-v-37d37fe5]{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAHXCAMAAADusXjuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURQAAAGdtcwAAAAAAAAAAAAAAAAAAABmR+gECAgAAAAAAAAAAAAAAAAAAAAAAAPf49QAAAAAAAAAAAAAAAAAAALLS/QICAgEBAf///wAAAGS1/P///////wAAAP///xyS+gAAAN3q/pWbof///6Gqs////wAAAAAAACCV+v///zef+5LL/Xq2+woKCkVJTZWdppefqAIDAv///////////5WdpqvX/Z/R/Vyx/KDS/Zyjq5mhqpefqP///2ltcGdtczub+pafqP///0VJTY2hp5WdpgAAAGdtc////0Gk+3e//P///////yDIrvBnZ////8zQ1P////////b39P///6Kqsv///////5WdppefqP////T18pWdppWdpiDIrubw/gICAvb39P///yDIriaX+pWdpUan+5rP/R4eHr2+u////////////5Wdpv///////5WdpuHi3/Lz8Git+8nf/Wdtc/////////Dx7v///9LS0JWdpiDIrvBnZ/BnZ77Z/ZWdppWdppWdpuDh3uzt6q6vrZWdpmdtc+rr6dPU0cvLydbX1JWdpkVJTZnF/O71/vf6//BnZ2dtc////////9LT0Ovs6ru8uZWdppWdppWdpjM0M5WdppWdppWdplSl+/BnZ+bn5O7v7AMDA6Gqs2dtc////77g/v///6TT/bfc/Vau+3vA/P///////4TE/P///////////6bU/f///////7W2szIzMozI/P///2y5/P///y6b+pWdpoq+/KbM/JWdpv///////////yDIriDIrqGqs2dtc6Gqs6Gqs6Gqs////2dtc0VJTZWdpmdtc////x0dHZWdptPl/kVJTSDIriDIrmdtc6iopsDBvvX282FmaWdtc5Wdpv///yDIriDIrvBnZ2dtc6Gqs6Gqs6Gqs2dtc2dtc2dtc2dtc/BnZ35+ffBnZ0VJTWdtc2dtc2dtc35+ff///2dtc9/g3oOKkp6nsL3CyP7//v///6Gqs/f49fBnZyDIrmdtc0VJTdgAqpkAAAD5dFJOUwDMDxgGBArMAQIMDhYDB5kFEwkVHeUfHHgU2tgZEafMIvJD5Oc+GxrNk9Ll2SZF6wge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) 0 -26px;background-size:34px 471px;height:12px;left:13px;position:absolute;top:15px;width:14px}.container-active .slide-verify-slider-mask-item[data-v-37d37fe5]{border:1px solid #1991fa;height:38px;top:-1px}.container-active .slide-verify-slider-mask[data-v-37d37fe5]{border-width:1px;height:38px}.container-success .slide-verify-slider-mask-item[data-v-37d37fe5]{background-color:#52ccba!important;border:1px solid #52ccba;height:38px;top:-1px}.container-success .slide-verify-slider-mask[data-v-37d37fe5]{background-color:#d2f4ef;border:1px solid #52ccba;height:38px}.container-success .slide-verify-slider-mask-item-icon[data-v-37d37fe5]{background-position:0 0!important}.container-fail .slide-verify-slider-mask-item[data-v-37d37fe5]{background-color:#f57a7a!important;border:1px solid #f57a7a;height:38px;top:-1px}.container-fail .slide-verify-slider-mask[data-v-37d37fe5]{background-color:#fce1e1;border:1px solid #f57a7a;height:38px}.container-fail .slide-verify-slider-mask-item-icon[data-v-37d37fe5]{background-position:0 -82px!important;top:14px}.container-active .slide-verify-slider-text[data-v-37d37fe5],.container-fail .slide-verify-slider-text[data-v-37d37fe5],.container-success .slide-verify-slider-text[data-v-37d37fe5]{display:none}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/SlideVerify/App.vue?vue&type=style&index=0&id=16fd5ffc&scoped=true&lang=css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************/#app[data-v-16fd5ffc]{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50}.btn[data-v-16fd5ffc]{background-color:#1890ff;border:none;border-radius:5px;color:#fff;cursor:pointer;margin-top:20px;outline:0;padding:8px 15px}.btn[data-v-16fd5ffc]:active{-webkit-box-shadow:inset 1px 5px 0 rgba(0,0,0,.1);box-shadow:inset 1px 5px 0 rgba(0,0,0,.1)}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/ComCenter/ComCenterView.vue?vue&type=style&index=0&id=265f467c&scoped=true&lang=css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************/.item[data-v-265f467c]{margin-right:40px;margin-top:10px}.toolbar[data-v-265f467c]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;height:100%;justify-content:center;right:20px}.el-aside[data-v-265f467c]{background:var(--el-color-primary-light-8);color:var(--el-text-color-primary)}.el-menu[data-v-265f467c]{border-right:none}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/PublishPosition/SelectPostion.vue?vue&type=style&index=0&id=13ee71b5&scoped=true&lang=css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************/.newDialogClass[data-v-13ee71b5]{padding-top:0}.divcontainer[data-v-13ee71b5]{border:1px solid #d8dce6;height:500px;overflow:auto}.divitem[data-v-13ee71b5]{color:#222;cursor:pointer;font-size:14px;height:40px;line-height:40px;padding-left:25px;padding-right:5px}.divitem[data-v-13ee71b5]:after{content:">";cursor:pointer;font-size:20px}.divcontainer:nth-child(3)>.divitem[data-v-13ee71b5]:after{content:""}.selectitemclass[data-v-13ee71b5]{background-color:#ebeef5;border:1px solid #e8e8e8;font-size:14px;margin-right:20px;position:relative;text-align:center;width:180px}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/PublishPosition/Position.vue?vue&type=style&index=0&id=29f96650&scoped=true&lang=css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************/.newDialogClass[data-v-29f96650]{padding-top:0}.icon-right[data-v-29f96650]{position:absolute;right:15px}.page-container[data-v-29f96650]{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:100vh;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.header[data-v-29f96650]{background-color:#165dff;padding:0}.header-content[data-v-29f96650]{-webkit-box-pack:justify;-ms-flex-pack:justify;height:60px;justify-content:space-between;padding:0 20px}.header-content[data-v-29f96650],.logo[data-v-29f96650]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.logo[data-v-29f96650]{color:#fff}.logo-text[data-v-29f96650]{font-size:18px;font-weight:700;margin-left:8px}.company-info[data-v-29f96650]{color:#fff;font-size:14px}.nav-menu[data-v-29f96650]{background-color:#f5f7fa;border-bottom:1px solid #e5e6eb}.nav-menu .el-menu-item.active[data-v-29f96650]{border-bottom:2px solid #165dff;color:#165dff}.breadcrumb-container[data-v-29f96650]{background-color:#fff;border-bottom:1px solid #e5e6eb;padding:15px 20px}.main-content[data-v-29f96650]{-webkit-box-flex:1;background-color:#f5f7fa;-ms-flex:1;flex:1;padding:20px}.job-form[data-v-29f96650]{background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1);box-shadow:0 2px 4px rgba(0,0,0,.1);padding:20px}.highlights-desc[data-v-29f96650]{color:#606266;font-size:13px;margin-bottom:10px}.highlights-group[data-v-29f96650]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;grid-gap:15px;gap:15px}.highlights-group .el-checkbox[data-v-29f96650]{margin-bottom:10px}.add-more[data-v-29f96650],.help-link[data-v-29f96650],.manage-link[data-v-29f96650]{color:#165dff!important;padding:0 5px}.deadline-desc[data-v-29f96650]{color:#606266;font-size:13px;margin-top:5px}.footer[data-v-29f96650]{background-color:#f5f7fa;border-top:1px solid #e5e6eb;padding:20px;text-align:center}.footer-content[data-v-29f96650]{color:#606266;font-size:13px}.footer-content span[data-v-29f96650]{margin:0 10px}.copyright[data-v-29f96650]{margin-top:10px}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/vue-loader/dist/index.js??ruleSet[0]!./src/components/NewComposition/index.vue?vue&type=style&index=0&id=77e9181d&scoped=true&lang=css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************/.page-container[data-v-77e9181d]{background-color:#f5f7fa;min-height:100vh;width:100%}.divcontainer[data-v-77e9181d]{width:100%}.body-back-color[data-v-77e9181d]{background-color:#fff}.body-padding[data-v-77e9181d]{padding:0 20px}.pagecontainer[data-v-77e9181d]{margin:0 auto;max-width:1200px}.divnav[data-v-77e9181d]{color:#666;font-size:14px;margin-bottom:20px}.divcontent[data-v-77e9181d]{background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);padding:20px}.page-error .el-form-item__error[data-v-77e9181d]{margin-left:0}.desc-tips[data-v-77e9181d]{color:#999;font-size:12px;margin-right:10px}.desc-rule-btn[data-v-77e9181d]{font-size:14px;height:20px;line-height:20px;text-align:center;width:100px}.dept-manage-tips[data-v-77e9181d]{color:#409eff;cursor:pointer;font-size:12px;margin-left:10px}.highlight-tips[data-v-77e9181d]{color:#999;font-size:12px;margin-bottom:0}.marginbottom-0[data-v-77e9181d]{margin-bottom:0;margin-top:0}.text-red[data-v-77e9181d]{color:red}.highlight-tag-container[data-v-77e9181d]{margin-bottom:5px;margin-top:5px;padding-top:3px}.highlight-all-tags[data-v-77e9181d]{margin-bottom:10px}.cursor-pointer[data-v-77e9181d]{cursor:pointer}.date-tips[data-v-77e9181d]{color:#c0c4cc;font-size:12px;margin-left:10px}.preview-container[data-v-77e9181d]{width:100%}.preview-header[data-v-77e9181d]{background-color:#409eff;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;height:168px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 20px}.preview-logo[data-v-77e9181d]{height:100px;-o-object-fit:contain;object-fit:contain;width:260px}.preview-company-info[data-v-77e9181d]{height:80px;margin-left:15px}.company-name[data-v-77e9181d]{font-size:18px;font-weight:700;margin-bottom:10px}.company-address[data-v-77e9181d],.company-attr[data-v-77e9181d]{font-size:14px;margin-bottom:10px}.preview-company-tags[data-v-77e9181d]{height:80px;margin-left:15px;width:250px}.company-tag[data-v-77e9181d]{background-color:hsla(0,0%,100%,.2);border-radius:4px;display:inline-block;font-size:12px;margin-bottom:5px;margin-right:5px;padding:2px 8px}.preview-body[data-v-77e9181d]{margin:0 auto;padding:20px 0;width:880px}.preview-position-info[data-v-77e9181d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:15px}.position-name[data-v-77e9181d]{font-size:20px;font-weight:700}.position-salary[data-v-77e9181d]{color:#ff6700;font-size:18px}.preview-base-info[data-v-77e9181d]{color:#666;font-size:14px;margin-bottom:20px}.preview-highlights[data-v-77e9181d]{margin-bottom:20px}.preview-section-title[data-v-77e9181d]{border-left:4px solid #409eff;font-size:16px;font-weight:700;margin-bottom:15px;padding-left:10px}.preview-content[data-v-77e9181d]{color:#333;font-size:14px;line-height:1.8;margin-bottom:20px}.preview-address[data-v-77e9181d]{color:#666;font-size:14px}.rule-content[data-v-77e9181d]{font-size:14px;line-height:1.8}.w-20[data-v-77e9181d]{width:20%}.w-25[data-v-77e9181d]{width:25%}.w-30[data-v-77e9181d]{width:30%}.w-50[data-v-77e9181d]{width:50%}.mr-2[data-v-77e9181d]{margin-right:10px}.mt-2[data-v-77e9181d]{margin-top:10px}.text-center[data-v-77e9181d]{text-align:center}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL3NyY19jb21tb25fdG9vbHNfY29tcG9uZW50c19qcy5lNzQxNmY0OGZhLmNzcyIsIm1hcHBpbmdzIjoiOzsrV0FDQSxvQ0FFSSxzREFHQSw2QkFHRixZQUFhLENBQ2IsVUFBRjs7O3NXQ1RBLHdFRE1JLDZCQUZBLHdCQURBLDRCQVlGLGFBQWMsQ0FMZCxpQkNERixDQVRBLG9DQUVJLHNEQUdBLDZCQUdGLFlBQWEsQ0FDYixZQUFGOzs7a1hDVEEsbUVBR0UscURBQUY7OztrV0NBQSx3QkFHRSxzQkFGQSxjQUFlLENBQ2YscUJBRUEsWUFIRixDQUtBLHNFQUVFLGlCQUFrQixDQUVsQixXQWJZLENBWVosVUFERixDQUlBLGdDQWFFLG9HQUxBLDhEQU5BLGNBQWUsQ0FEZixhQUFnQixDQUVoQixpQkFBa0IsQ0FDbEIsbUJBQW9CLENBT3BCLHVEQUNGLENBYUEsa0NBQ0UsR0FFRSxxREFBRixDQUVBLEdBRUUsdURBQUYsQ0FDRixDQVJBLDBCQUNFLEdBRUUscURBQUYsQ0FFQSxHQUVFLHVEQUFGLENBQ0YsQ0FHQSw4QkFHRSwrQkFBb0MsQ0FNcEMsUUFBUyxDQUNULE1BQU8sQ0FKUCxRQUFTLENBTFQsYUFBYyxDQUdkLGNBQWUsQ0FJZixPQUFRLENBRFIsS0FBTSxDQUtOLHFEQUF3QixDQVB4QixZQU1GLENBR0EsNkJBTUUsMERBQ0EseUJBQTBCLENBRjFCLGVBRkEsVUFGQSxpQkFBa0IsQ0FDbEIsU0FFQSxZQUdGOzs7eVdDeEVDLDhCQVdFLDZRQVBELG1EQUFzQixDQUt0QixhQUFjLENBTmQsV0FBWSxDQUZaLGlCQUFrQixDQVNsQix1Q0FBa0IsQ0FMbEIsZ0JBQWlCLENBQ2pCLHdCQUF5QixDQUN6QixxQkFBc0IsQ0FDdEIsb0JBQXFCLENBTnJCLFVBU0YsQ0FHQyx3S0FJQyxRQUFTLENBQ1QsTUFBTyxDQUpQLGlCQUFrQixDQUVsQixPQUFRLENBRFIsS0FBTSxDQUlOLG9GQUFGLENBR0MseUNBS0MsZUFBZ0IsQ0FEaEIsY0FBZSxDQUhmLGlCQUFrQixDQUVs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Q0FFZixrQkFDRixDQUVBLHFDQUNFLGtCQUNGLENBRUEsd0NBSUUsNkJBQThCLENBSDlCLGNBQWUsQ0FDZixlQUFpQixDQUNqQixrQkFBbUIsQ0FFbkIsaUJBQ0YsQ0FFQSxrQ0FHRSxVQUFXLENBRlgsY0FBZSxDQUNmLGVBQWdCLENBRWhCLGtCQUNGLENBRUEsa0NBRUUsVUFBVyxDQURYLGNBRUYsQ0FHQSwrQkFDRSxjQUFlLENBQ2YsZUFDRixDQUdBLHVCQUNFLFNBQ0YsQ0FFQSx1QkFDRSxTQUNGLENBRUEsdUJBQ0UsU0FDRixDQUVBLHVCQUNFLFNBQ0YsQ0FFQSx1QkFDRSxpQkFDRixDQUVBLHVCQUNFLGVBQ0YsQ0FFQSw4QkFDRSxpQkFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL2tzaHJ3ZWIvLi9zcmMvY29tcG9uZW50cy9OZXdBcmVhTWFwTG9jYWwvQXJlYU1hcExvY2FsLnZ1ZSIsIndlYnBhY2s6Ly9rc2hyd2ViLy4vc3JjL2NvbXBvbmVudHMvQXJlYU1hcFpQL0FyZWFNYXBaUC52dWUiLCJ3ZWJwYWNrOi8va3NocndlYi8uL3NyYy9jb21wb25lbnRzL0RhdGVQaWNrZXJSYW5nZS9EYXRlUGlja2VyUmFuZ2UudnVlIiwid2VicGFjazovL2tzaHJ3ZWIvLi9zcmMvY29tcG9uZW50cy9Mb2FkaW5nL0xvYWRpbmcudnVlIiwid2VicGFjazovL2tzaHJ3ZWIvLi9zcmMvY29tcG9uZW50cy9WdWVDcm9wcGVyL3Z1ZS1jcm9wcGVyLnZ1ZSIsIndlYnBhY2s6Ly9rc2hyd2ViLy4vc3JjL2NvbXBvbmVudHMvUG9wb3ZlckJ0bi9Qb3BvdmVyQnRuLnZ1ZSIsIndlYnBhY2s6Ly9rc2hyd2ViLy4vc3JjL2NvbXBvbmVudHMvUG9wb3ZlckJ0blBvc3Rpb24vUG9wb3ZlckJ0blBvc3Rpb24udnVlIiwid2VicGFjazovL2tzaHJ3ZWIvLi9zcmMvY29tcG9uZW50cy9TbGlkZVZlcmlmeS9TbGlkZVZlcmlmeS52dWUiLCJ3ZWJwYWNrOi8va3NocndlYi8uL3NyYy9jb21wb25lbnRzL1NsaWRlVmVyaWZ5L0FwcC52dWUiLCJ3ZWJwYWNrOi8va3NocndlYi8uL3NyYy9jb21wb25lbnRzL0NvbUNlbnRlci9Db21DZW50ZXJWaWV3LnZ1ZSIsIndlYnBhY2s6Ly9rc2hyd2ViLy4vc3JjL2NvbXBvbmVudHMvUHVibGlzaFBvc2l0aW9uL1NlbGVjdFBvc3Rpb24udnVlIiwid2VicGFjazovL2tzaHJ3ZWIvLi9zcmMvY29tcG9uZW50cy9QdWJsaXNoUG9zaXRpb24vUG9zaXRpb24udnVlIiwid2VicGFjazovL2tzaHJ3ZWIvLi9zcmMvY29tcG9uZW50cy9OZXdDb21wb3NpdGlvbi9pbmRleC52dWUiXSwic291cmNlc0NvbnRlbnQiOlsiXHJcbi51c2VyLW1hcGNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZDoge1xyXG4gICAgaW1hZ2U6IHVybChcIi4vbG9jYWxtYXAucG5nXCIpO1xyXG4gICAgcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBwb3NpdGlvbjogdG9wIGxlZnQ7XHJcbiAgICBzaXplOiAxMDI0cHggOTgwcHg7XHJcbiAgICBvcmlnaW46IGJvcmRlci1ib3g7XHJcbiAgfVxyXG4gIGhlaWdodDogOTgwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAvLyBkaXYge1xyXG4gIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgLy8gfVxyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcbiIsIlxyXG4udXNlci1tYXBjb250YWluZXIge1xyXG4gIGJhY2tncm91bmQ6IHtcclxuICAgIGltYWdlOiB1cmwoXCIuL3pwLmpwZ1wiKTtcclxuICAgIHJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgcG9zaXRpb246IHRvcCBsZWZ0O1xyXG4gICAgc2l6ZTogMTAyNHB4IDUyMnB4O1xyXG4gICAgb3JpZ2luOiBib3JkZXItYm94O1xyXG4gIH1cclxuICBoZWlnaHQ6IDYwMHB4O1xyXG4gIHdpZHRoOiAxMDI0cHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAvLyBkaXYge1xyXG4gIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgLy8gfVxyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcbiIsIlxyXG4qLFxyXG46OmFmdGVyLFxyXG46OmJlZm9yZSB7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbn1cclxuIiwiXHJcbiRjaXJjbGUtc2l6ZTogOTRweDtcclxuJGJvcmRlcndpZHRoOiA4cHg7XHJcblxyXG4ubG9hZDgge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IGNhbGMoNTAlIC0gY2FsYygoJGNpcmNsZS1zaXplIC0gJGJvcmRlcndpZHRoICogMikgLyAyKSk7XHJcbiAgbGVmdDogY2FsYyg1MCUgLSBjYWxjKCgkY2lyY2xlLXNpemUgLSAkYm9yZGVyd2lkdGggKiAyKSAvIDIpKTtcclxuICB6LWluZGV4OiAyMDAxO1xyXG59XHJcbi5sb2FkOCAubG9hZGVyLFxyXG4ubG9hZDggLmxvYWRlcjphZnRlciB7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIHdpZHRoOiAkY2lyY2xlLXNpemU7XHJcbiAgaGVpZ2h0OiAkY2lyY2xlLXNpemU7XHJcbn1cclxuLmxvYWQ4IC5sb2FkZXIge1xyXG4gIG1hcmdpbjogMHB4IGF1dG87XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0ZXh0LWluZGVudDogLTk5OTllbTtcclxuICBib3JkZXItdG9wOiAkYm9yZGVyd2lkdGggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gIGJvcmRlci1yaWdodDogJGJvcmRlcndpZHRoIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICBib3JkZXItYm90dG9tOiAkYm9yZGVyd2lkdGggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gIGJvcmRlci1sZWZ0OiAkYm9yZGVyd2lkdGggc29saWQgI2QzZDNkMztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogbG9hZDggMS4xcyBpbmZpbml0ZSBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uOiBsb2FkOCAxLjFzIGluZmluaXRlIGxpbmVhcjtcclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZDgge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIGxvYWQ4IHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbi5sb2FkZXItbWFzayB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgei1pbmRleDogMjAwMDtcclxuICBtYXJnaW46IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcclxufVxyXG4ubG9hZGVyLWltZyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJGJvcmRlcndpZHRoICogMjtcclxuICBsZWZ0OiAkYm9yZGVyd2lkdGggKiAyO1xyXG4gIHdpZHRoOiAoJGNpcmNsZS1zaXplIC0gJGJvcmRlcndpZHRoICogMikgKiAwLjk7XHJcbiAgaGVpZ2h0OiAoJGNpcmNsZS1zaXplIC0gJGJvcmRlcndpZHRoICogMikgKiAwLjkgKiAwLjg7XHJcbiAgYmFja2dyb3VuZDogdXJsKFwiLi9sb2FkaW5nLWdyYXkucG5nXCIpIG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxufVxyXG4iLCJcblx0LnZ1ZS1jcm9wcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHRkaXJlY3Rpb246IGx0cjtcblx0XHR0b3VjaC1hY3Rpb246IG5vbmU7XG4gIFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFBUU1BQUFBbFBXMGlBQUFBQTNOQ1NWUUlDQWpiNFUvZ0FBQUFCbEJNVkVYTXpNei8vLy9UalJWMkFBQUFDWEJJV1hNQUFBcnJBQUFLNndHQ2l3MWFBQUFBSEhSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCR2FYSmxkMjl5YTNNZ1ExTTI2THl5akFBQUFCRkpSRUZVQ0psaitNL0FnQlZoRi8wUEFINi9EL0hrRHhPR0FBQUFBRWxGVGtTdVFtQ0MnKTtcblx0fVxuXG5cdC5jcm9wcGVyLWJveCwgLmNyb3BwZXItYm94LWNhbnZhcywgLmNyb3BwZXItZHJhZy1ib3gsIC5jcm9wcGVyLWNyb3AtYm94LCAuY3JvcHBlci1mYWNle1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQuY3JvcHBlci1ib3gtY2FudmFzIGltZyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0bWF4LWhlaWdodDogbm9uZTtcblx0fVxuXG5cdC5jcm9wcGVyLWJveCB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXG5cdC5jcm9wcGVyLW1vdmUge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0fVxuXG5cdC5jcm9wcGVyLWNyb3Age1xuICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xuXHR9XG5cblx0LmNyb3BwZXItbW9kYWwge1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0fVxuXG5cdC5jcm9wcGVyLWNyb3AtYm94IHtcblx0XHQvKmJvcmRlcjogMnB4IHNvbGlkICMzOWY7Ki9cblx0fVxuXG5cdC5jcm9wcGVyLXZpZXctYm94IHtcblx0XHRkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblx0XHRvdXRsaW5lOiAxcHggc29saWQgIzM5ZjtcbiAgICBvdXRsaW5lLWNvbG9yOiByZ2JhKDUxLCAxNTMsIDI1NSwgMC43NSk7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQuY3JvcHBlci12aWV3LWJveCBpbWcge1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRtYXgtaGVpZ2h0OiBub25lO1xuXHR9XG5cblx0LmNyb3BwZXItZmFjZSB7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRvcGFjaXR5OiAwLjE7XG5cdH1cblxuXHQuY3JvcC1pbmZvIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMHB4O1xuXHRcdG1pbi13aWR0aDogNjVweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdH1cblxuXHQuY3JvcC1saW5lIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9wYWNpdHk6IC4xO1xuXHR9XG5cblx0LmxpbmUtdyB7XG5cdFx0dG9wOiAtM3B4O1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgY3Vyc29yOiBuLXJlc2l6ZTtcblx0fVxuXG5cdC5saW5lLWEge1xuXHRcdHRvcDogMDtcbiAgICBsZWZ0OiAtM3B4O1xuICAgIHdpZHRoOiA1cHg7XG4gICAgY3Vyc29yOiB3LXJlc2l6ZTtcblx0fVxuXG5cdC5saW5lLXMge1xuXHRcdGJvdHRvbTogLTNweDtcblx0XHRsZWZ0OiAwO1xuXHRcdGhlaWdodDogNXB4O1xuXHRcdGN1cnNvcjogcy1yZXNpemU7XG5cdH1cblxuXHQubGluZS1kIHtcblx0XHR0b3A6IDA7XG4gICAgcmlnaHQ6IC0zcHg7XG4gICAgd2lkdGg6IDVweDtcbiAgICBjdXJzb3I6IGUtcmVzaXplO1xuXHR9XG5cblx0LmNyb3AtcG9pbnQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIG9wYWNpdHk6IC43NTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzlmO1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdH1cblxuXHQucG9pbnQxIHtcblx0XHR0b3A6IC00cHg7XG4gICAgbGVmdDogLTRweDtcbiAgICBjdXJzb3I6IG53LXJlc2l6ZTtcblx0fVxuXG5cdC5wb2ludDIge1xuXHRcdHRvcDogLTVweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgY3Vyc29yOiBuLXJlc2l6ZTtcblx0fVxuXG5cdC5wb2ludDMge1xuXHRcdHRvcDogLTRweDtcbiAgICByaWdodDogLTRweDtcbiAgICBjdXJzb3I6IG5lLXJlc2l6ZTtcblx0fVxuXG5cdC5wb2ludDQge1xuXHRcdHRvcDogNTAlO1xuICAgIGxlZnQ6IC00cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBjdXJzb3I6IHctcmVzaXplO1xuXHR9XG5cblx0LnBvaW50NSB7XG5cdFx0dG9wOiA1MCU7XG4gICAgcmlnaHQ6IC00cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBjdXJzb3I6IHctcmVzaXplO1xuXHR9XG5cblx0LnBvaW50NiB7XG5cdFx0Ym90dG9tOiAtNXB4O1xuXHRcdGxlZnQ6IC00cHg7XG5cdFx0Y3Vyc29yOiBzdy1yZXNpemU7XG5cdH1cblxuXHQucG9pbnQ3IHtcblx0XHRib3R0b206IC01cHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtM3B4O1xuXHRcdGN1cnNvcjogcy1yZXNpemU7XG5cdH1cblxuXHQucG9pbnQ4IHtcblx0XHRib3R0b206IC01cHg7XG5cdFx0cmlnaHQ6IC00cHg7XG5cdFx0Y3Vyc29yOiBudy1yZXNpemU7XG5cdH1cblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuXHRcdC5jcm9wLXBvaW50IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdFx0b3BhY2l0eTogLjQ1O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzM5Zjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0fVxuXG5cdFx0LnBvaW50MSB7XG5cdFx0XHR0b3A6IC0xMHB4O1xuXHQgICAgbGVmdDogLTEwcHg7XG5cdFx0fVxuXG5cdFx0LnBvaW50MiwgLnBvaW50NCwgLnBvaW50NSwgLnBvaW50NyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5wb2ludDMge1xuXHRcdFx0dG9wOiAtMTBweDtcblx0XHRcdHJpZ2h0OiAtMTBweDtcblx0XHR9XG5cblx0XHQucG9pbnQ0IHtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0fVxuXG5cdFx0LnBvaW50NiB7XG5cdFx0XHRib3R0b206IC0xMHB4O1xuXHRcdFx0bGVmdDogLTEwcHg7XG5cdFx0fVxuXG5cdFx0LnBvaW50OCB7XG5cdFx0XHRib3R0b206IC0xMHB4O1xuXHRcdFx0cmlnaHQ6IC0xMHB4O1xuXHRcdH1cblx0fVxuIiwiXHJcbi5idG5jbGljayB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5kYXRhaXRlbSB7XHJcbiAgJi1zZWxlY3RlZCB7XHJcbiAgICBjb2xvcjojMDA3YmZmO1xyXG4gIH1cclxufVxyXG4uYnRuc2VhcmNoXHJcbntcclxuXHJcbiAgYm9yZGVyOjFweCBzb2xpZCAjYzljOWM5O1xyXG4gIHdpZHRoOiA4MHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiM0MGEyZGU7XHJcbiAgY29sb3I6I2ZmZjtcclxufVxyXG4uZGl2dGl0bGVcclxue1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcbiIsIlxyXG4ucm93LXVjc2VsZWN0ZWQge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4iLCI8IS0tIDx0ZW1wbGF0ZT5cclxuICAgICA8c2xpZGUtdmVyaWZ5XHJcbi8vICAgICAgIDpsPVwiNDJcIlxyXG4vLyAgICAgICA6cj1cIjEwXCJcclxuLy8gICAgICAgOnc9XCIzMTBcIlxyXG4vLyAgICAgICA6aD1cIjE1NVwiXHJcbi8vICAgICAgIHNsaWRlci10ZXh0PVwi5ZCR5Y+z5ruR5YqoXCJcclxuLy8gICAgICAgQHN1Y2Nlc3M9XCJvblN1Y2Nlc3NcIlxyXG4vLyAgICAgICBAZmFpbD1cIm9uRmFpbFwiXHJcbi8vICAgICAgIEByZWZyZXNoPVwib25SZWZyZXNoXCJcclxuLy8gICAgID48L3NsaWRlLXZlcmlmeT4gIFxyXG4vLyAgIDxkaXY+ZWVlZTwvZGl2PlxyXG4vLyA8L3RlbXBsYXRlPlxyXG4vLyA8c2NyaXB0PlxyXG4vLyBpbXBvcnQgU2xpZGVWZXJpZnkgZnJvbSBcInZ1ZS1tb25vcGxhc3R5LXNsaWRlLXZlcmlmeVwiO1xyXG4vLyBleHBvcnQgZGVmYXVsdCB7XHJcbi8vICAgbmFtZTogXCJDdXN0b21TbGlkZVwiLFxyXG4vLyAgIGNvbXBvbmVudHM6IHsgU2xpZGVWZXJpZnkgfSxcclxuLy8gICBkYXRhKCkge1xyXG4vLyAgICAgcmV0dXJuIHtcclxuLy8gICAgICAgbXNnOiBcIlwiLFxyXG4vLyAgICAgfTtcclxuLy8gICB9LFxyXG4vLyAgIG1ldGhvZHM6IHtcclxuLy8gICAgIG9uU3VjY2VzcygpIHtcclxuLy8gICAgICAgdGhpcy5tc2cgPSBcImxvZ2luIHN1Y2Nlc3NcIjtcclxuLy8gICAgIH0sXHJcbi8vICAgICBvbkZhaWwoKSB7XHJcbi8vICAgICAgIHRoaXMubXNnID0gXCJcIjtcclxuLy8gICAgIH0sXHJcbi8vICAgICBvblJlZnJlc2goKSB7XHJcbi8vICAgICAgIHRoaXMubXNnID0gXCJcIjtcclxuLy8gICAgIH0sXHJcbi8vICAgfSxcclxuLy8gfTtcclxuICAgPC9zY3JpcHQ+IC0tPlxyXG48dGVtcGxhdGU+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJzbGlkZS12ZXJpZnlcIlxyXG4gICAgOnN0eWxlPVwieyB3aWR0aDogdyArICdweCcgfVwiXHJcbiAgICBpZD1cInNsaWRlVmVyaWZ5XCJcclxuICAgIG9uc2VsZWN0c3RhcnQ9XCJyZXR1cm4gZmFsc2U7XCJcclxuICA+XHJcbiAgICA8IS0tIOWbvueJh+WKoOi9vemBruiUvee9qSAtLT5cclxuICAgIDxkaXYgOmNsYXNzPVwieyAnc2xpZGVyLXZlcmlmeS1sb2FkaW5nJzogbG9hZEJsb2NrIH1cIj48L2Rpdj5cclxuICAgIDxjYW52YXNcclxuICAgICAgY2xhc3M9XCJuZXdiYWNrLXNsaWRlLXZlcmlmeS1ibG9ja1wiXHJcbiAgICAgIHYtc2hvdz1cImlzc2hvd1wiXHJcbiAgICAgIDp3aWR0aD1cIndcIlxyXG4gICAgICA6aGVpZ2h0PVwiaFwiXHJcbiAgICAgIHJlZj1cImNhbnZhc1wiXHJcbiAgICA+PC9jYW52YXM+XHJcbiAgICA8ZGl2IHYtaWY9XCJzaG93XCIgQGNsaWNrPVwicmVmcmVzaFwiIGNsYXNzPVwic2xpZGUtdmVyaWZ5LXJlZnJlc2gtaWNvblwiPjwvZGl2PlxyXG4gICAgPGNhbnZhc1xyXG4gICAgICB2LXNob3c9XCJpc3Nob3dcIlxyXG4gICAgICA6d2lkdGg9XCJ3XCJcclxuICAgICAgOmhlaWdodD1cImhcIlxyXG4gICAgICByZWY9XCJibG9ja1wiXHJcbiAgICAgIGNsYXNzPVwic2xpZGUtdmVyaWZ5LWJsb2NrXCJcclxuICAgID48L2NhbnZhcz5cclxuICAgIDwhLS0gY29udGFpbmVyIC0tPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cInNsaWRlLXZlcmlmeS1zbGlkZXJcIlxyXG4gICAgICA6Y2xhc3M9XCJ7XHJcbiAgICAgICAgJ2NvbnRhaW5lci1hY3RpdmUnOiBjb250YWluZXJBY3RpdmUsXHJcbiAgICAgICAgJ2NvbnRhaW5lci1zdWNjZXNzJzogY29udGFpbmVyU3VjY2VzcyxcclxuICAgICAgICAnY29udGFpbmVyLWZhaWwnOiBjb250YWluZXJGYWlsLFxyXG4gICAgICB9XCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cInNsaWRlLXZlcmlmeS1zbGlkZXItbWFza1wiIDpzdHlsZT1cInsgd2lkdGg6IHNsaWRlck1hc2tXaWR0aCB9XCI+XHJcbiAgICAgICAgPCEtLSBzbGlkZXIgLS0+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgQG1vdXNlZG93bj1cInNsaWRlckRvd25cIlxyXG4gICAgICAgICAgQHRvdWNoc3RhcnQ9XCJ0b3VjaFN0YXJ0RXZlbnRcIlxyXG4gICAgICAgICAgQHRvdWNobW92ZT1cImhhbmRsZU1vdmVFdmVudCgkZXZlbnQsICd0b3VjaCcpXCJcclxuICAgICAgICAgIEB0b3VjaGVuZD1cImhhbmRsZU1vdmVFbmRFdmVudCgkZXZlbnQsICd0b3VjaCcpXCJcclxuICAgICAgICAgIGNsYXNzPVwic2xpZGUtdmVyaWZ5LXNsaWRlci1tYXNrLWl0ZW1cIlxyXG4gICAgICAgICAgOnN0eWxlPVwieyBsZWZ0OiBzbGlkZXJMZWZ0IH1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbGlkZS12ZXJpZnktc2xpZGVyLW1hc2staXRlbS1pY29uXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInNsaWRlLXZlcmlmeS1zbGlkZXItdGV4dFwiPnt7IHNsaWRlclRleHQgfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuPHNjcmlwdD5cclxuY29uc3QgUEkgPSBNYXRoLlBJO1xyXG5mdW5jdGlvbiBzdW0oeCwgeSkge1xyXG4gIHJldHVybiB4ICsgeTtcclxufVxyXG5mdW5jdGlvbiBzcXVhcmUoeCkge1xyXG4gIHJldHVybiB4ICogeDtcclxufVxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgbmFtZTogXCJTbGlkZVZlcmlmeVwiLFxyXG4gIHByb3BzOiB7XHJcbiAgICAvLyBibG9jayBsZW5ndGhcclxuICAgIGw6IHtcclxuICAgICAgdHlwZTogTnVtYmVyLFxyXG4gICAgICBkZWZhdWx0OiA0MixcclxuICAgIH0sXHJcbiAgICAvLyBibG9jayByYWRpdXNcclxuICAgIHI6IHtcclxuICAgICAgdHlwZTogTnVtYmVyLFxyXG4gICAgICBkZWZhdWx0OiAxMCxcclxuICAgIH0sXHJcbiAgICAvLyBjYW52YXMgd2lkdGhcclxuICAgIHc6IHtcclxuICAgICAgdHlwZTogTnVtYmVyLFxyXG4gICAgICBkZWZhdWx0OiAyOTIsXHJcbiAgICB9LFxyXG4gICAgLy8gY2FudmFzIGhlaWdodFxyXG4gICAgaDoge1xyXG4gICAgICB0eXBlOiBOdW1iZXIsXHJcbiAgICAgIGRlZmF1bHQ6IDE1NSxcclxuICAgIH0sXHJcbiAgICBzbGlkZXJUZXh0OiB7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgZGVmYXVsdDogXCLlkJHlj7Pmu5HliqhcIixcclxuICAgIH0sXHJcbiAgICBhY2N1cmFjeToge1xyXG4gICAgICB0eXBlOiBOdW1iZXIsXHJcbiAgICAgIGRlZmF1bHQ6IDUsIC8vIOiLpeS4uiAtMSDliJnkuI3ov5vooYzmnLrlmajliKTmlq1cclxuICAgIH0sXHJcbiAgICBzaG93OiB7XHJcbiAgICAgIHR5cGU6IEJvb2xlYW4sXHJcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIGltZ3M6IHtcclxuICAgICAgdHlwZTogQXJyYXksXHJcbiAgICAgIGRlZmF1bHQ6ICgpID0+IFtdLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIGRhdGEoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjb250YWluZXJBY3RpdmU6IGZhbHNlLCAvLyBjb250YWluZXIgYWN0aXZlIGNsYXNzXHJcbiAgICAgIGNvbnRhaW5lclN1Y2Nlc3M6IGZhbHNlLCAvLyBjb250YWluZXIgc3VjY2VzcyBjbGFzc1xyXG4gICAgICBjb250YWluZXJGYWlsOiBmYWxzZSwgLy8gY29udGFpbmVyIGZhaWwgY2xhc3NcclxuICAgICAgY2FudmFzQ3R4OiBudWxsLFxyXG4gICAgICBibG9ja0N0eDogbnVsbCxcclxuICAgICAgYmxvY2s6IG51bGwsXHJcbiAgICAgIGJsb2NrX3g6IHVuZGVmaW5lZCwgLy8gY29udGFpbmVyIHJhbmRvbSBwb3NpdGlvblxyXG4gICAgICBibG9ja195OiB1bmRlZmluZWQsXHJcbiAgICAgIEw6IHRoaXMubCArIHRoaXMuciAqIDIgKyAzLCAvLyBibG9jayByZWFsIGxlbmd0aFxyXG4gICAgICBpbWc6IHVuZGVmaW5lZCxcclxuICAgICAgb3JpZ2luWDogdW5kZWZpbmVkLFxyXG4gICAgICBvcmlnaW5ZOiB1bmRlZmluZWQsXHJcbiAgICAgIGlzTW91c2VEb3duOiBmYWxzZSxcclxuICAgICAgdHJhaWw6IFtdLFxyXG4gICAgICBzbGlkZXJMZWZ0OiAwLCAvLyBibG9jayByaWdodCBvZmZzZXRcclxuICAgICAgc2xpZGVyTWFza1dpZHRoOiAwLCAvLyBtYXNrIHdpZHRoLFxyXG4gICAgICBzdWNjZXNzOiBmYWxzZSwgLy8gQnVnIEZpeGVzIOS/ruWkjeS6humqjOivgeaIkOWKn+WQjui/mOiDvea7keWKqFxyXG4gICAgICBsb2FkQmxvY2s6IHRydWUsIC8vIEZlYXR1cmVzIOWbvueJh+WKoOi9veaPkOekuu+8jOmYsuatouWbvueJh+ayoeWKoOi9veWujOWwseW8gOWni+mqjOivgVxyXG4gICAgICB0aW1lc3RhbXA6IG51bGwsXHJcbiAgICAgIGlzc2hvdzogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgbW91bnRlZCgpIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH0sXHJcbiAgbWV0aG9kczoge1xyXG4gICAgaW5pdCgpIHtcclxuICAgICAgdGhpcy5pbml0RG9tKCk7XHJcbiAgICAgIHRoaXMuaW5pdEltZygpO1xyXG4gICAgICB0aGlzLmJpbmRFdmVudHMoKTtcclxuICAgIH0sXHJcbiAgICBpbml0RG9tKCkge1xyXG4gICAgICB0aGlzLmJsb2NrID0gdGhpcy4kcmVmcy5ibG9jaztcclxuICAgICAgdGhpcy5jYW52YXNDdHggPSB0aGlzLiRyZWZzLmNhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XHJcbiAgICAgIHRoaXMuYmxvY2tDdHggPSB0aGlzLmJsb2NrLmdldENvbnRleHQoXCIyZFwiKTtcclxuICAgIH0sXHJcbiAgICBpbml0SW1nKCkge1xyXG4gICAgICBjb25zdCBpbWcgPSB0aGlzLmNyZWF0ZUltZygoKSA9PiB7XHJcbiAgICAgICAgLy8g5Zu+54mH5Yqg6L295a6M5YWz6Zet6YGu6JS9572pXHJcbiAgICAgICAgdGhpcy5sb2FkQmxvY2sgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRyYXdCbG9jaygpO1xyXG4gICAgICAgIHRoaXMuY2FudmFzQ3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIHRoaXMudywgdGhpcy5oKTtcclxuICAgICAgICB0aGlzLmJsb2NrQ3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIHRoaXMudywgdGhpcy5oKTtcclxuICAgICAgICBsZXQgeyBibG9ja194OiB4LCBibG9ja195OiB5LCByLCBMIH0gPSB0aGlzO1xyXG4gICAgICAgIGxldCBfeSA9IHkgLSByICogMiAtIDE7XHJcbiAgICAgICAgbGV0IEltYWdlRGF0YSA9IHRoaXMuYmxvY2tDdHguZ2V0SW1hZ2VEYXRhKHgsIF95LCBMLCBMKTtcclxuICAgICAgICB0aGlzLmJsb2NrLndpZHRoID0gTDtcclxuICAgICAgICB0aGlzLmJsb2NrQ3R4LnB1dEltYWdlRGF0YShJbWFnZURhdGEsIDAsIF95KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuaW1nID0gaW1nO1xyXG4gICAgfSxcclxuICAgIGRyYXdCbG9jaygpIHtcclxuICAgICAgdGhpcy5ibG9ja194ID0gdGhpcy5nZXRSYW5kb21OdW1iZXJCeVJhbmdlKHRoaXMuTCArIDEwLCB0aGlzLncgLSAodGhpcy5MICsgMTApKTtcclxuICAgICAgdGhpcy5ibG9ja195ID0gdGhpcy5nZXRSYW5kb21OdW1iZXJCeVJhbmdlKDEwICsgdGhpcy5yICogMiwgdGhpcy5oIC0gKHRoaXMuTCArIDEwKSk7XHJcbiAgICAgIHRoaXMuZHJhdyh0aGlzLmNhbnZhc0N0eCwgdGhpcy5ibG9ja194LCB0aGlzLmJsb2NrX3ksIFwiZmlsbFwiKTtcclxuICAgICAgdGhpcy5kcmF3KHRoaXMuYmxvY2tDdHgsIHRoaXMuYmxvY2tfeCwgdGhpcy5ibG9ja195LCBcImNsaXBcIik7XHJcbiAgICB9LFxyXG4gICAgZHJhdyhjdHgsIHgsIHksIG9wZXJhdGlvbikge1xyXG4gICAgICBsZXQgeyBsLCByIH0gPSB0aGlzO1xyXG4gICAgICBjdHguYmVnaW5QYXRoKCk7XHJcbiAgICAgIGN0eC5tb3ZlVG8oeCwgeSk7XHJcbiAgICAgIGN0eC5hcmMoeCArIGwgLyAyLCB5IC0gciArIDIsIHIsIDAuNzIgKiBQSSwgMi4yNiAqIFBJKTtcclxuICAgICAgY3R4LmxpbmVUbyh4ICsgbCwgeSk7XHJcbiAgICAgIGN0eC5hcmMoeCArIGwgKyByIC0gMiwgeSArIGwgLyAyLCByLCAxLjIxICogUEksIDIuNzggKiBQSSk7XHJcbiAgICAgIGN0eC5saW5lVG8oeCArIGwsIHkgKyBsKTtcclxuICAgICAgY3R4LmxpbmVUbyh4LCB5ICsgbCk7XHJcbiAgICAgIGN0eC5hcmMoeCArIHIgLSAyLCB5ICsgbCAvIDIsIHIgKyAwLjQsIDIuNzYgKiBQSSwgMS4yNCAqIFBJLCB0cnVlKTtcclxuICAgICAgY3R4LmxpbmVUbyh4LCB5KTtcclxuICAgICAgY3R4LmxpbmVXaWR0aCA9IDI7XHJcbiAgICAgIGN0eC5maWxsU3R5bGUgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KVwiO1xyXG4gICAgICBjdHguc3Ryb2tlU3R5bGUgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KVwiO1xyXG4gICAgICBjdHguc3Ryb2tlKCk7XHJcbiAgICAgIGN0eFtvcGVyYXRpb25dKCk7XHJcbiAgICAgIC8vIEJ1ZyBGaXhlcyDkv67lpI3kuobngavni5DlkoxpZeaYvuekuumXrumimFxyXG4gICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gXCJkZXN0aW5hdGlvbi1vdmVyXCI7XHJcbiAgICB9LFxyXG4gICAgY3JlYXRlSW1nKG9ubG9hZCkge1xyXG4gICAgICBjb25zdCBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW1nXCIpO1xyXG4gICAgICBpbWcuY3Jvc3NPcmlnaW4gPSBcIkFub255bW91c1wiO1xyXG4gICAgICBpbWcub25sb2FkID0gb25sb2FkO1xyXG4gICAgICBpbWcub25lcnJvciA9ICgpID0+IHtcclxuICAgICAgICBpbWcuc3JjID0gdGhpcy5nZXRSYW5kb21JbWcoKTtcclxuICAgICAgfTtcclxuICAgICAgaW1nLnNyYyA9IHRoaXMuZ2V0UmFuZG9tSW1nKCk7XHJcbiAgICAgIHJldHVybiBpbWc7XHJcbiAgICB9LFxyXG4gICAgLy8g6ZqP5py655Sf5oiQaW1nIHNyY1xyXG4gICAgZ2V0UmFuZG9tSW1nKCkge1xyXG4gICAgICAvL2NvbnNvbGUubG9nKHRoaXMuaW1ncyk7XHJcbiAgICAgIC8vIHJldHVybiByZXF1aXJlKCcuLi9hc3NldHMvaW1nLmpwZycpXHJcbiAgICAgIGNvbnN0IGxlbiA9IHRoaXMuaW1ncy5sZW5ndGg7XHJcbiAgICAgIHJldHVybiBsZW4gPiAwXHJcbiAgICAgICAgPyB0aGlzLmltZ3NbdGhpcy5nZXRSYW5kb21OdW1iZXJCeVJhbmdlKDAsIGxlbiAtIDEpXVxyXG4gICAgICAgIDogLy8gXCJodHRwczovL2JpbmcuaW9saXUuY24vdjEvcmFuZD93PTMwMCZoPTE1MFwiO1xyXG4gICAgICAgICAgXCJodHRwczovL3NvdXJjZS51bnNwbGFzaC5jb20vMzAweDE1MC8/Ym9vayxsaWJyYXJ5XCI7XHJcbiAgICAgIC8vIFwiaHR0cHM6Ly9hcGkuZHVqaW4ub3JnL3BpYy9mZW5namluZ1wiO1xyXG4gICAgfSxcclxuICAgIGdldFJhbmRvbU51bWJlckJ5UmFuZ2Uoc3RhcnQsIGVuZCkge1xyXG4gICAgICByZXR1cm4gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogKGVuZCAtIHN0YXJ0KSArIHN0YXJ0KTtcclxuICAgIH0sXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICAgIHRoaXMuJGVtaXQoXCJyZWZyZXNoXCIpO1xyXG4gICAgfSxcclxuICAgIHNsaWRlckRvd24oZXZlbnQpIHtcclxuICAgICAgaWYgKHRoaXMuc3VjY2VzcykgcmV0dXJuO1xyXG4gICAgICB0aGlzLm9yaWdpblggPSBldmVudC5jbGllbnRYO1xyXG4gICAgICB0aGlzLm9yaWdpblkgPSBldmVudC5jbGllbnRZO1xyXG4gICAgICB0aGlzLmlzTW91c2VEb3duID0gdHJ1ZTtcclxuICAgICAgdGhpcy50aW1lc3RhbXAgPSArbmV3IERhdGUoKTtcclxuICAgIH0sXHJcbiAgICB0b3VjaFN0YXJ0RXZlbnQoZSkge1xyXG4gICAgICBpZiAodGhpcy5zdWNjZXNzKSByZXR1cm47XHJcbiAgICAgIHRoaXMub3JpZ2luWCA9IGUuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVg7XHJcbiAgICAgIHRoaXMub3JpZ2luWSA9IGUuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVk7XHJcbiAgICAgIHRoaXMuaXNNb3VzZURvd24gPSB0cnVlO1xyXG4gICAgICB0aGlzLnRpbWVzdGFtcCA9ICtuZXcgRGF0ZSgpO1xyXG4gICAgfSxcclxuICAgIGJpbmRFdmVudHMoKSB7XHJcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgdGhpcy5oYW5kbGVNb3ZlRXZlbnQpO1xyXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLCB0aGlzLmhhbmRsZU1vdmVFbmRFdmVudCk7XHJcbiAgICB9LFxyXG4gICAgLy8g5aSE55CG5Ye95pWw5oq956a7XHJcbiAgICBoYW5kbGVNb3ZlRXZlbnQ6IHRocm90dGxlKGZ1bmN0aW9uIChlLCB0eXBlID0gXCJtb3VzZVwiKSB7XHJcbiAgICAgIGlmICghdGhpcy5pc01vdXNlRG93bikge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzc2hvdyA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbW92ZVggPVxyXG4gICAgICAgIHR5cGUgPT09IFwibW91c2VcIlxyXG4gICAgICAgICAgPyBlLmNsaWVudFggLSB0aGlzLm9yaWdpblhcclxuICAgICAgICAgIDogZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWCAtIHRoaXMub3JpZ2luWDtcclxuICAgICAgY29uc3QgbW92ZVkgPVxyXG4gICAgICAgIHR5cGUgPT09IFwibW91c2VcIlxyXG4gICAgICAgICAgPyBlLmNsaWVudFkgLSB0aGlzLm9yaWdpbllcclxuICAgICAgICAgIDogZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWSAtIHRoaXMub3JpZ2luWTtcclxuICAgICAgaWYgKG1vdmVYIDwgMCB8fCBtb3ZlWCArIDM4ID49IHRoaXMudykgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB0aGlzLnNsaWRlckxlZnQgPSBtb3ZlWCArIFwicHhcIjtcclxuICAgICAgbGV0IGJsb2NrTGVmdCA9ICgodGhpcy53IC0gNDAgLSAyMCkgLyAodGhpcy53IC0gNDApKSAqIG1vdmVYO1xyXG4gICAgICB0aGlzLmJsb2NrLnN0eWxlLmxlZnQgPSBibG9ja0xlZnQgKyBcInB4XCI7XHJcbiAgICAgIHRoaXMuY29udGFpbmVyQWN0aXZlID0gdHJ1ZTsgLy8gYWRkIGFjdGl2ZVxyXG4gICAgICB0aGlzLnNsaWRlck1hc2tXaWR0aCA9IG1vdmVYICsgXCJweFwiO1xyXG4gICAgICB0aGlzLnRyYWlsLnB1c2gobW92ZVkpO1xyXG4gICAgfSksXHJcbiAgICBoYW5kbGVNb3ZlRW5kRXZlbnQoZSwgdHlwZSA9IFwibW91c2VcIikge1xyXG4gICAgICBpZiAoIXRoaXMuaXNNb3VzZURvd24pIHJldHVybiBmYWxzZTtcclxuICAgICAgdGhpcy5pc01vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzc2hvdyA9IGZhbHNlO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKHR5cGUgPT09IFwibW91c2VcIiAmJiBlLmNsaWVudFggPT09IHRoaXMub3JpZ2luWCkgfHxcclxuICAgICAgICAodHlwZSA9PT0gXCJ0b3VjaFwiICYmIGUuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVggPT09IHRoaXMub3JpZ2luWClcclxuICAgICAgKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgdGhpcy5jb250YWluZXJBY3RpdmUgPSBmYWxzZTsgLy8gcmVtb3ZlIGFjdGl2ZVxyXG4gICAgICB0aGlzLnRpbWVzdGFtcCA9ICtuZXcgRGF0ZSgpIC0gdGhpcy50aW1lc3RhbXA7XHJcbiAgICAgIGNvbnN0IHsgc3BsaWNlZCwgVHVyaW5nVGVzdCB9ID0gdGhpcy52ZXJpZnkoKTtcclxuICAgICAgaWYgKHNwbGljZWQpIHtcclxuICAgICAgICBpZiAodGhpcy5hY2N1cmFjeSA9PT0gLTEpIHtcclxuICAgICAgICAgIHRoaXMuY29udGFpbmVyU3VjY2VzcyA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy4kZW1pdChcInN1Y2Nlc3NcIiwgdGhpcy50aW1lc3RhbXApO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoVHVyaW5nVGVzdCkge1xyXG4gICAgICAgICAgLy8gc3VjY1xyXG4gICAgICAgICAgdGhpcy5jb250YWluZXJTdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuc3VjY2VzcyA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLiRlbWl0KFwic3VjY2Vzc1wiLCB0aGlzLnRpbWVzdGFtcCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY29udGFpbmVyRmFpbCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLiRlbWl0KFwiYWdhaW5cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyRmFpbCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy4kZW1pdChcImZhaWxcIik7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICAgICAgfSwgMTAwMCk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICB2ZXJpZnkoKSB7XHJcbiAgICAgIGNvbnN0IGFyciA9IHRoaXMudHJhaWw7IC8vIGRyYWcgeSBtb3ZlIGRpc3RhbmNlXHJcbiAgICAgIGNvbnN0IGF2ZXJhZ2UgPSBhcnIucmVkdWNlKHN1bSkgLyBhcnIubGVuZ3RoOyAvLyBhdmVyYWdlXHJcbiAgICAgIGNvbnN0IGRldmlhdGlvbnMgPSBhcnIubWFwKCh4KSA9PiB4IC0gYXZlcmFnZSk7IC8vIGRldmlhdGlvbiBhcnJheVxyXG4gICAgICBjb25zdCBzdGRkZXYgPSBNYXRoLnNxcnQoZGV2aWF0aW9ucy5tYXAoc3F1YXJlKS5yZWR1Y2Uoc3VtKSAvIGFyci5sZW5ndGgpOyAvLyBzdGFuZGFyZCBkZXZpYXRpb25cclxuICAgICAgY29uc3QgbGVmdCA9IHBhcnNlSW50KHRoaXMuYmxvY2suc3R5bGUubGVmdCk7XHJcbiAgICAgIGNvbnN0IGFjY3VyYWN5ID0gdGhpcy5hY2N1cmFjeSA8PSAxID8gMSA6IHRoaXMuYWNjdXJhY3kgPiAxMCA/IDEwIDogdGhpcy5hY2N1cmFjeTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBzcGxpY2VkOiBNYXRoLmFicyhsZWZ0IC0gdGhpcy5ibG9ja194KSA8PSBhY2N1cmFjeSxcclxuICAgICAgICBUdXJpbmdUZXN0OiBhdmVyYWdlICE9PSBzdGRkZXYsIC8vIGVxdWFsID0+IG5vdCBwZXJzb24gb3BlcmF0ZVxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICAgIHJlc2V0KCkge1xyXG4gICAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jb250YWluZXJBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jb250YWluZXJTdWNjZXNzID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY29udGFpbmVyRmFpbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNsaWRlckxlZnQgPSAwO1xyXG4gICAgICB0aGlzLmJsb2NrLnN0eWxlLmxlZnQgPSAwO1xyXG4gICAgICB0aGlzLnNsaWRlck1hc2tXaWR0aCA9IDA7XHJcbiAgICAgIC8vIGNhbnZhc1xyXG4gICAgICBsZXQgeyB3LCBoIH0gPSB0aGlzO1xyXG4gICAgICB0aGlzLmNhbnZhc0N0eC5jbGVhclJlY3QoMCwgMCwgdywgaCk7XHJcbiAgICAgIHRoaXMuYmxvY2tDdHguY2xlYXJSZWN0KDAsIDAsIHcsIGgpO1xyXG4gICAgICB0aGlzLmJsb2NrLndpZHRoID0gdztcclxuICAgICAgLy8gZ2VuZXJhdGUgaW1nXHJcbiAgICAgIHRoaXMuaW1nLnNyYyA9IHRoaXMuZ2V0UmFuZG9tSW1nKCk7XHJcbiAgICAgIHRoaXMuJGVtaXQoXCJmdWxmaWxsZWRcIik7XHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgZGVzdHJveWVkKCkge1xyXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCB0aGlzLmhhbmRsZU1vdmVFdmVudCk7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLCB0aGlzLmhhbmRsZU1vdmVFbmRFdmVudCk7XHJcbiAgfSxcclxufTtcclxuZnVuY3Rpb24gdGhyb3R0bGUoZm4sIGludGVydmFsID0gNTAsIG9wdGlvbnMgPSB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH0pIHtcclxuICBjb25zdCB7IGxlYWRpbmcsIHRyYWlsaW5nLCByZXN1bHRDYWxsYmFjayB9ID0gb3B0aW9ucztcclxuICBsZXQgbGFzdFRpbWUgPSAwO1xyXG4gIGxldCB0aW1lciA9IG51bGw7XHJcbiAgY29uc3QgX3Rocm90dGxlID0gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5vd1RpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgaWYgKCFsYXN0VGltZSAmJiAhbGVhZGluZykgbGFzdFRpbWUgPSBub3dUaW1lO1xyXG4gICAgICBjb25zdCByZW1haW5UaW1lID0gaW50ZXJ2YWwgLSAobm93VGltZSAtIGxhc3RUaW1lKTtcclxuICAgICAgaWYgKHJlbWFpblRpbWUgPD0gMCkge1xyXG4gICAgICAgIGlmICh0aW1lcikge1xyXG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTtcclxuICAgICAgICAgIHRpbWVyID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gZm4uYXBwbHkodGhpcywgYXJncyk7XHJcbiAgICAgICAgaWYgKHJlc3VsdENhbGxiYWNrKSByZXN1bHRDYWxsYmFjayhyZXN1bHQpO1xyXG4gICAgICAgIHJlc29sdmUocmVzdWx0KTtcclxuICAgICAgICBsYXN0VGltZSA9IG5vd1RpbWU7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0cmFpbGluZyAmJiAhdGltZXIpIHtcclxuICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGltZXIgPSBudWxsO1xyXG4gICAgICAgICAgbGFzdFRpbWUgPSAhbGVhZGluZyA/IDAgOiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xyXG4gICAgICAgICAgaWYgKHJlc3VsdENhbGxiYWNrKSByZXN1bHRDYWxsYmFjayhyZXN1bHQpO1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xyXG4gICAgICAgIH0sIHJlbWFpblRpbWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9O1xyXG4gIF90aHJvdHRsZS5jYW5jZWwgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICBpZiAodGltZXIpIGNsZWFyVGltZW91dCh0aW1lcik7XHJcbiAgICB0aW1lciA9IG51bGw7XHJcbiAgICBsYXN0VGltZSA9IDA7XHJcbiAgfTtcclxuICByZXR1cm4gX3Rocm90dGxlO1xyXG59XHJcbjwvc2NyaXB0PlxyXG48c3R5bGUgc2NvcGVkPlxyXG4uc2xpZGUtdmVyaWZ5IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLyog5Zu+54mH5Yqg6L295qC35byPICovXHJcbi5zbGlkZXItdmVyaWZ5LWxvYWRpbmcge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbGVmdDogMDtcclxuICBib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xyXG4gIHotaW5kZXg6IDk5OTtcclxuICBhbmltYXRpb246IGxvYWRpbmcgMS41cyBpbmZpbml0ZTtcclxufVxyXG5Aa2V5ZnJhbWVzIGxvYWRpbmcge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiA5O1xyXG4gIH1cclxufVxyXG4ubmV3YmFjay1zbGlkZS12ZXJpZnktYmxvY2sge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogLTE1MHB4O1xyXG4gIHotaW5kZXg6IDg5OTtcclxufVxyXG4uc2xpZGUtdmVyaWZ5LWJsb2NrIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IC0xNTBweDtcclxuICB6LWluZGV4OiA5OTk7XHJcbn1cclxuLnNsaWRlLXZlcmlmeS1yZWZyZXNoLWljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogMDtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDM0cHg7XHJcbiAgaGVpZ2h0OiAzNHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kOiB1cmwoXCIuL2ljb25fbGlnaHQucG5nXCIpIDAgLTQzN3B4O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMzRweCA0NzFweDtcclxufVxyXG4uc2xpZGUtdmVyaWZ5LXNsaWRlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxuICBiYWNrZ3JvdW5kOiAjZjdmOWZhO1xyXG4gIGNvbG9yOiAjNDU0OTRjO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU3ZWI7XHJcbn1cclxuLnNsaWRlLXZlcmlmeS1zbGlkZXItbWFzayB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIGhlaWdodDogNDBweDtcclxuICBib3JkZXI6IDAgc29saWQgIzE5OTFmYTtcclxuICBiYWNrZ3JvdW5kOiAjZDFlOWZlO1xyXG59XHJcbi5zbGlkZS12ZXJpZnktc2xpZGVyLW1hc2staXRlbSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIGhlaWdodDogNDBweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgbGluZWFyO1xyXG59XHJcbi5zbGlkZS12ZXJpZnktc2xpZGVyLW1hc2staXRlbTpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogIzE5OTFmYTtcclxufVxyXG4uc2xpZGUtdmVyaWZ5LXNsaWRlci1tYXNrLWl0ZW06aG92ZXIgLnNsaWRlLXZlcmlmeS1zbGlkZXItbWFzay1pdGVtLWljb24ge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEzcHg7XHJcbn1cclxuLnNsaWRlLXZlcmlmeS1zbGlkZXItbWFzay1pdGVtLWljb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDE1cHg7XHJcbiAgbGVmdDogMTNweDtcclxuICB3aWR0aDogMTRweDtcclxuICBoZWlnaHQ6IDEycHg7XHJcbiAgYmFja2dyb3VuZDogdXJsKFwiaWNvbl9saWdodC5wbmdcIikgMCAtMjZweDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDM0cHggNDcxcHg7XHJcbn1cclxuLmNvbnRhaW5lci1hY3RpdmUgLnNsaWRlLXZlcmlmeS1zbGlkZXItbWFzay1pdGVtIHtcclxuICBoZWlnaHQ6IDM4cHg7XHJcbiAgdG9wOiAtMXB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICMxOTkxZmE7XHJcbn1cclxuLmNvbnRhaW5lci1hY3RpdmUgLnNsaWRlLXZlcmlmeS1zbGlkZXItbWFzayB7XHJcbiAgaGVpZ2h0OiAzOHB4O1xyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG59XHJcbi5jb250YWluZXItc3VjY2VzcyAuc2xpZGUtdmVyaWZ5LXNsaWRlci1tYXNrLWl0ZW0ge1xyXG4gIGhlaWdodDogMzhweDtcclxuICB0b3A6IC0xcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzUyY2NiYTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTJjY2JhICFpbXBvcnRhbnQ7XHJcbn1cclxuLmNvbnRhaW5lci1zdWNjZXNzIC5zbGlkZS12ZXJpZnktc2xpZGVyLW1hc2sge1xyXG4gIGhlaWdodDogMzhweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjNTJjY2JhO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkMmY0ZWY7XHJcbn1cclxuLmNvbnRhaW5lci1zdWNjZXNzIC5zbGlkZS12ZXJpZnktc2xpZGVyLW1hc2staXRlbS1pY29uIHtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAgIWltcG9ydGFudDtcclxufVxyXG4uY29udGFpbmVyLWZhaWwgLnNsaWRlLXZlcmlmeS1zbGlkZXItbWFzay1pdGVtIHtcclxuICBoZWlnaHQ6IDM4cHg7XHJcbiAgdG9wOiAtMXB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNmNTdhN2E7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1N2E3YSAhaW1wb3J0YW50O1xyXG59XHJcbi5jb250YWluZXItZmFpbCAuc2xpZGUtdmVyaWZ5LXNsaWRlci1tYXNrIHtcclxuICBoZWlnaHQ6IDM4cHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y1N2E3YTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlMWUxO1xyXG59XHJcbi5jb250YWluZXItZmFpbCAuc2xpZGUtdmVyaWZ5LXNsaWRlci1tYXNrLWl0ZW0taWNvbiB7XHJcbiAgdG9wOiAxNHB4O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgycHggIWltcG9ydGFudDtcclxufVxyXG4uY29udGFpbmVyLWFjdGl2ZSAuc2xpZGUtdmVyaWZ5LXNsaWRlci10ZXh0LFxyXG4uY29udGFpbmVyLXN1Y2Nlc3MgLnNsaWRlLXZlcmlmeS1zbGlkZXItdGV4dCxcclxuLmNvbnRhaW5lci1mYWlsIC5zbGlkZS12ZXJpZnktc2xpZGVyLXRleHQge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuPC9zdHlsZT5cclxuIiwiPHRlbXBsYXRlPlxyXG4gIDxkaXYgaWQ9XCJhcHBcIj5cclxuICAgIDxzbGlkZS12ZXJpZnlcclxuICAgICAgcmVmPVwic2xpZGVibG9ja1wiXHJcbiAgICAgIEBzdWNjZXNzPVwib25TdWNjZXNzXCJcclxuICAgICAgQGFnYWluPVwib25BZ2FpblwiXHJcbiAgICAgIEBmdWxmaWxsZWQ9XCJvbkZ1bGZpbGxlZFwiXHJcbiAgICAgIEBmYWlsPVwib25GYWlsXCJcclxuICAgICAgQHJlZnJlc2g9XCJvblJlZnJlc2hcIlxyXG4gICAgICA6dz1cInBhcmFtcy53XCJcclxuICAgICAgOnNsaWRlci10ZXh0PVwidGV4dFwiXHJcbiAgICAgIDppbWdzPVwiaW1nc1wiXHJcbiAgICAgIDphY2N1cmFjeT1cImFjY3VyYWN5XCJcclxuICAgID48L3NsaWRlLXZlcmlmeT5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmNvbnN0IGJhc2V1cmwgPSBcImh0dHA6Ly96cC5rc2hyLmNvbS5jbi9jZG4vaW1nL1wiO1xyXG5sZXQgaW1ncyA9IFtdO1xyXG5mb3IgKGxldCBpID0gMDsgaSA8IDEzOyBpID0gaSArIDEpIGltZ3MucHVzaChgJHtiYXNldXJsfWltZyR7aX0uanBnYCk7XHJcbmltcG9ydCBTbGlkZVZlcmlmeSBmcm9tIFwiLi9TbGlkZVZlcmlmeS52dWVcIjtcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIG5hbWU6IFwiQXBwXCIsXHJcbiAgY29tcG9uZW50czogeyBTbGlkZVZlcmlmeSB9LFxyXG4gIGRhdGEoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBtc2c6IFwiXCIsXHJcbiAgICAgIHRleHQ6IFwi5ZCR5Y+z5ruR5YqoXCIsXHJcbiAgICAgIGltZ3M6IGltZ3MsIC8vWywgaW1nMSwgaW1nMiwgaW1nMywgaW1nNCwgaW1nNV0sXHJcbiAgICAgIGFjY3VyYWN5OiAxLCAvLyDnsr7noa7luqblsI/vvIzlj6/lhYHorrjnmoTor6/lt67ojIPlm7TlsI/vvJvkuLox5pe277yM5YiZ6KGo56S65ruR5Z2X6KaB5LiO5Ye55qe95a6M5YWo6YeN5Y+g77yM5omN6IO96aqM6K+B5oiQ5Yqf44CC6buY6K6k5YC85Li6NVxyXG4gICAgfTtcclxuICB9LFxyXG4gIHByb3BzOiB7XHJcbiAgICBwYXJhbXM6IHtcclxuICAgICAgdHlwZTogT2JqZWN0LFxyXG4gICAgICBkZWZhdWx0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICB9LFxyXG4gIG1ldGhvZHM6IHtcclxuICAgIG9uU3VjY2Vzcyh0aW1lcykge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhcIumqjOivgemAmui/h1wiKTtcclxuICAgICAgdGhpcy5wYXJhbXMuY2FsbGJhY2soXCJ3aG9zeW91cmRhZGR5XCIpO1xyXG4gICAgICAvL3RoaXMubXNnID0gYGxvZ2luIHN1Y2Nlc3MsIOiAl+aXtiR7KHRpbWVzIC8gMTAwMCkudG9GaXhlZCgxKX1zYDtcclxuICAgIH0sXHJcbiAgICBvbkZhaWwoKSB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwi6aqM6K+B5LiN6YCa6L+HXCIpO1xyXG4gICAgICB0aGlzLm1zZyA9IFwiXCI7XHJcbiAgICAgIHRoaXMucGFyYW1zLmNhbGxiYWNrKFwiXCIpO1xyXG4gICAgfSxcclxuICAgIG9uUmVmcmVzaCgpIHtcclxuICAgICAgLy8gY29uc29sZS5sb2coXCLngrnlh7vkuobliLfmlrDlsI/lm77moIdcIik7XHJcbiAgICAgIHRoaXMubXNnID0gXCJcIjtcclxuICAgIH0sXHJcbiAgICBvbkZ1bGZpbGxlZCgpIHtcclxuICAgICAgY29uc29sZS5sb2coXCLliLfmlrDmiJDlip/llabvvIFcIik7XHJcbiAgICB9LFxyXG4gICAgb25BZ2FpbigpIHtcclxuICAgICAgLy8gY29uc29sZS5sb2coXCLmo4DmtYvliLDpnZ7kurrkuLrmk43kvZznmoTlk6bvvIFcIik7XHJcbiAgICAgIHRoaXMubXNnID0gXCJ0cnkgYWdhaW5cIjtcclxuICAgICAgLy8g5Yi35pawXHJcbiAgICAgIHRoaXMuaGFuZGxlQ2xpY2soKTtcclxuICAgIH0sXHJcbiAgICBoYW5kbGVDbGljaygpIHtcclxuICAgICAgdGhpcy4kcmVmcy5zbGlkZWJsb2NrLnJlc2V0KCk7XHJcbiAgICAgIHRoaXMubXNnID0gXCJcIjtcclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG4jYXBwIHtcclxuICBmb250LWZhbWlseTogXCJBdmVuaXJcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gIGNvbG9yOiAjMmMzZTUwO1xyXG4gIC8qIG1hcmdpbi10b3A6IDYwcHg7ICovXHJcbn1cclxuLmJ0biB7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBvdXRsaW5lOiAwO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBwYWRkaW5nOiA4cHggMTVweDtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4OTBmZjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLmJ0bjphY3RpdmUge1xyXG4gIGJveC1zaGFkb3c6IDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQ7XHJcbn1cclxuPC9zdHlsZT5cclxuIiwiPHRlbXBsYXRlPlxyXG4gIDxlbC1jb250YWluZXI+XHJcbiAgICA8IS0t6I+c5Y2VLS0+XHJcbiAgICA8ZWwtYXNpZGUgd2lkdGg9XCIyMDBweFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2ZmZlwiPlxyXG4gICAgICA8ZWwtbWVudSBkZWZhdWx0LWFjdGl2ZT1cIjFcIj5cclxuICAgICAgICA8ZWwtbWVudS1pdGVtIGluZGV4PVwiMVwiPlxyXG4gICAgICAgICAgPHNwYW4+5LyB5Lia5Lit5b+DPC9zcGFuPlxyXG4gICAgICAgIDwvZWwtbWVudS1pdGVtPlxyXG4gICAgICAgIDxlbC1zdWItbWVudSBpbmRleD1cIjJcIj5cclxuICAgICAgICAgIDx0ZW1wbGF0ZSAjdGl0bGU+572R57uc5oub6IGYPC90ZW1wbGF0ZT5cclxuICAgICAgICAgIDxlbC1tZW51LWl0ZW0tZ3JvdXA+XHJcbiAgICAgICAgICAgIDxlbC1tZW51LWl0ZW0gaW5kZXg9XCIyLTFcIj7lj5HluIPogYzkvY08L2VsLW1lbnUtaXRlbT5cclxuICAgICAgICAgICAgPGVsLW1lbnUtaXRlbSBpbmRleD1cIjItMlwiPueuoeeQhuiBjOS9jTwvZWwtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICA8ZWwtbWVudS1pdGVtIGluZGV4PVwiMi0zXCI+566h55CG5qih5p2/PC9lbC1tZW51LWl0ZW0+XHJcbiAgICAgICAgICAgIDxlbC1tZW51LWl0ZW0gaW5kZXg9XCIyLTRcIj7mkJzntKLnroDljoY8L2VsLW1lbnUtaXRlbT5cclxuICAgICAgICAgICAgPGVsLW1lbnUtaXRlbSBpbmRleD1cIjItNVwiPuW6lOiBmOeugOWOhjwvZWwtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICA8ZWwtbWVudS1pdGVtIGluZGV4PVwiMi02XCI+5bey5LiL6L29566A5Y6GPC9lbC1tZW51LWl0ZW0+XHJcbiAgICAgICAgICA8L2VsLW1lbnUtaXRlbS1ncm91cD5cclxuICAgICAgICA8L2VsLXN1Yi1tZW51PlxyXG4gICAgICAgIDxlbC1zdWItbWVudSBpbmRleD1cIjNcIj5cclxuICAgICAgICAgIDx0ZW1wbGF0ZSAjdGl0bGU+546w5Zy65oub6IGYPC90ZW1wbGF0ZT5cclxuICAgICAgICAgIDxlbC1tZW51LWl0ZW0tZ3JvdXA+XHJcbiAgICAgICAgICAgIDxlbC1tZW51LWl0ZW0gaW5kZXg9XCIzLTFcIj7mkYrkvY3pooTlrpo8L2VsLW1lbnUtaXRlbT5cclxuICAgICAgICAgICAgPGVsLW1lbnUtaXRlbSBpbmRleD1cIjMtMlwiPuaRiuS9jeeuoeeQhjwvZWwtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICA8ZWwtbWVudS1pdGVtIGluZGV4PVwiMy0zXCI+5L+h55So6K6w5b2VPC9lbC1tZW51LWl0ZW0+XHJcbiAgICAgICAgICA8L2VsLW1lbnUtaXRlbS1ncm91cD5cclxuICAgICAgICA8L2VsLXN1Yi1tZW51PlxyXG4gICAgICAgIDxlbC1zdWItbWVudSBpbmRleD1cIjRcIj5cclxuICAgICAgICAgIDx0ZW1wbGF0ZSAjdGl0bGU+5YWF5YC86LSt5LmwPC90ZW1wbGF0ZT5cclxuICAgICAgICAgIDxlbC1tZW51LWl0ZW0tZ3JvdXA+XHJcbiAgICAgICAgICAgIDxlbC1tZW51LWl0ZW0gaW5kZXg9XCIzLTFcIj7nvZHkuIrlhYXlgLw8L2VsLW1lbnUtaXRlbT5cclxuICAgICAgICAgICAgPGVsLW1lbnUtaXRlbSBpbmRleD1cIjMtMlwiPuS4muWKoei0reS5sDwvZWwtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICA8ZWwtbWVudS1pdGVtIGluZGV4PVwiMy0zXCI+6LSm5Y2V6K6w5b2VPC9lbC1tZW51LWl0ZW0+XHJcbiAgICAgICAgICAgIDxlbC1tZW51LWl0ZW0gaW5kZXg9XCIzLTJcIj7kuJrliqHorrDlvZU8L2VsLW1lbnUtaXRlbT5cclxuICAgICAgICAgICAgPGVsLW1lbnUtaXRlbSBpbmRleD1cIjMtM1wiPuaKteeUqOWIuDwvZWwtbWVudS1pdGVtPlxyXG4gICAgICAgICAgPC9lbC1tZW51LWl0ZW0tZ3JvdXA+XHJcbiAgICAgICAgPC9lbC1zdWItbWVudT5cclxuICAgICAgICA8ZWwtc3ViLW1lbnUgaW5kZXg9XCI1XCI+XHJcbiAgICAgICAgICA8dGVtcGxhdGUgI3RpdGxlPuS8geS4muiuvue9rjwvdGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZWwtbWVudS1pdGVtLWdyb3VwPlxyXG4gICAgICAgICAgICA8ZWwtbWVudS1pdGVtIGluZGV4PVwiMy0xXCI+5LyB5Lia5L+h5oGvPC9lbC1tZW51LWl0ZW0+XHJcbiAgICAgICAgICAgIDxlbC1tZW51LWl0ZW0gaW5kZXg9XCIzLTJcIj7pg6jpl6gv6IGU57O75Lq6PC9lbC1tZW51LWl0ZW0+XHJcbiAgICAgICAgICAgIDxlbC1tZW51LWl0ZW0gaW5kZXg9XCIzLTNcIj7kvIHkuJrlvaLosaE8L2VsLW1lbnUtaXRlbT5cclxuICAgICAgICAgICAgPGVsLW1lbnUtaXRlbSBpbmRleD1cIjMtMlwiPuS8geS4mui0puWPtzwvZWwtbWVudS1pdGVtPlxyXG4gICAgICAgICAgPC9lbC1tZW51LWl0ZW0tZ3JvdXA+XHJcbiAgICAgICAgPC9lbC1zdWItbWVudT5cclxuICAgICAgICA8ZWwtbWVudS1pdGVtIGluZGV4PVwiNlwiPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgPjxhXHJcbiAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgICAgICAgICAgICBocmVmPVwiaHR0cDovL3pwLmtzaHIuY29tLmNuL2Nkbi9kb2MvQWdyZWVtZW50LmRvYz90PTAuOTQwNDM5MDk3MTg2NDE3NFwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiBibGFja1wiXHJcbiAgICAgICAgICAgICAgPuWNj+iuruS4i+i9vTwvYVxyXG4gICAgICAgICAgICA+PC9zcGFuXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9lbC1tZW51LWl0ZW0+XHJcbiAgICAgICAgPCEtLSA8ZWwtbWVudS1pdGVtIGluZGV4PVwiN1wiPlxyXG4gICAgICAgICAgPHNwYW4+5biu5Yqp5Lit5b+DPC9zcGFuPlxyXG4gICAgICAgIDwvZWwtbWVudS1pdGVtPiAtLT5cclxuICAgICAgPC9lbC1tZW51PlxyXG4gICAgPC9lbC1hc2lkZT5cclxuICAgIDwhLS3oj5zljZUtLT5cclxuICAgIDxlbC1jb250YWluZXI+XHJcbiAgICAgIDxlbC1oZWFkZXIgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodDsgZm9udC1zaXplOiAxMnB4OyBoZWlnaHQ6IDMwcHhcIj5cclxuICAgICAgICA8ZWwtcm93PlxyXG4gICAgICAgICAgPGVsLWNvbD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2xiYXJcIj5cclxuICAgICAgICAgICAgICA8c3Bhbj7kvaDlpb3vvJrmmIblsbHkurrlipvotYTmupDnvZHnp5HmioDmnInpmZDlhazlj7g8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGVsLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgPGVsLWljb24gc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDhweDsgbWFyZ2luLXRvcDogMXB4XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICB0PVwiMTcwNTM4OTgxMDEwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uXCJcclxuICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEwMjQgMTAyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgcC1pZD1cIjQyNTlcIlxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjAwXCJcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyMDBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNTg0LjE0NTQ1NSA5MzcuODkwOTA5aC0xNDQuMjkwOTFsLTQ4Ljg3MjcyNy0xMzIuNjU0NTQ1LTEzNC45ODE4MTggNzIuMTQ1NDU0LTEwNC43MjcyNzMtMTE0LjAzNjM2MyA3Mi4xNDU0NTUtMTMwLjMyNzI3My0xMzcuMzA5MDkxLTM0LjkwOTA5MXYtMTQ4Ljk0NTQ1NWwxMzQuOTgxODE4LTQ4Ljg3MjcyNy02OS44MTgxODItMTM0Ljk4MTgxOCAxMTEuNzA5MDkxLTExMS43MDkwOTEgMTI4IDc5LjEyNzI3MyAzOS41NjM2MzctMTQ2LjYxODE4MmgxNjAuNTgxODE4bDM0LjkwOTA5MSAxMjUuNjcyNzI3TDc1OC42OTA5MDkgMTYyLjkwOTA5MWwxMTQuMDM2MzY0IDEwMi40LTc0LjQ3MjcyOCAxMzAuMzI3MjczIDEzOS42MzYzNjQgNDEuODkwOTA5djEzNy4zMDkwOTFMODAwLjU4MTgxOCA2MjguMzYzNjM2bDY5LjgxODE4MiAxMzQuOTgxODE5LTEwNC43MjcyNzMgOTMuMDkwOTA5LTEzMi42NTQ1NDUtNjAuNTA5MDkxLTQ4Ljg3MjcyNyAxNDEuOTYzNjM2eiBtLTExMS43MDkwOTEtNDYuNTQ1NDU0aDc2LjhsNTEuMi0xNTUuOTI3MjczIDE1My42IDY3LjQ5MDkwOSA1NS44NTQ1NDUtNDguODcyNzI3LTc2LjgtMTQ4Ljk0NTQ1NSAxNTUuOTI3MjczLTYwLjUwOTA5MXYtNzIuMTQ1NDU0bC0xNjAuNTgxODE4LTQ4Ljg3MjcyOCA4My43ODE4MTgtMTQ4Ljk0NTQ1NC02NS4xNjM2MzctNTguMTgxODE4LTE1NS45MjcyNzIgNTguMTgxODE4LTM5LjU2MzYzNy0xMzkuNjM2MzY0SDQ2NS40NTQ1NDVsLTQ2LjU0NTQ1NCAxNzIuMjE4MTgyLTE0OC45NDU0NTUtOTMuMDkwOTA5TDIwOS40NTQ1NDUgMjc0LjYxODE4Mmw3OS4xMjcyNzMgMTUxLjI3MjcyNy0xNTUuOTI3MjczIDU1Ljg1NDU0NnY3OS4xMjcyNzJsMTYwLjU4MTgxOSA0MS44OTA5MDlMMjA5LjQ1NDU0NSA3NTYuMzYzNjM2bDU4LjE4MTgxOSA2Mi44MzYzNjQgMTUxLjI3MjcyNy04MS40NTQ1NDUgNTMuNTI3MjczIDE1My42elwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZGOTMwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBwLWlkPVwiNDI2MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgZD1cIk01MTYuNjU0NTQ1IDY5MS4yYy05Ny43NDU0NTUgMC0xNzkuMi03OS4xMjcyNzMtMTc5LjItMTc5LjJzNzkuMTI3MjczLTE3OS4yIDE3OS4yLTE3OS4yIDE3OS4yIDc5LjEyNzI3MyAxNzkuMiAxNzkuMi04MS40NTQ1NDUgMTc5LjItMTc5LjIgMTc5LjJ6IG0wLTMxMS44NTQ1NDVjLTcyLjE0NTQ1NSAwLTEzMi42NTQ1NDUgNjAuNTA5MDkxLTEzMi42NTQ1NDUgMTMyLjY1NDU0NXM2MC41MDkwOTEgMTMyLjY1NDU0NSAxMzIuNjU0NTQ1IDEzMi42NTQ1NDUgMTMyLjY1NDU0NS02MC41MDkwOTEgMTMyLjY1NDU0Ni0xMzIuNjU0NTQ1Yy0yLjMyNzI3My03Mi4xNDU0NTUtNjAuNTA5MDkxLTEzMi42NTQ1NDUtMTMyLjY1NDU0Ni0xMzIuNjU0NTQ1elwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0ZGOTMwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBwLWlkPVwiNDI2MVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L2VsLWljb24+XHJcbiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgI2Ryb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICA8ZWwtZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgICAgICA8ZWwtZHJvcGRvd24taXRlbT7pgIDlh7o8L2VsLWRyb3Bkb3duLWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgIDwvZWwtZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9lbC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8c3Bhbj7pmYjnu4/nkIY8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9lbC1jb2w+XHJcbiAgICAgICAgPC9lbC1yb3c+XHJcbiAgICAgIDwvZWwtaGVhZGVyPlxyXG4gICAgICA8ZWwtbWFpbj5cclxuICAgICAgICA8ZWwtc2Nyb2xsYmFyPlxyXG4gICAgICAgICAgPGVsLWRpdmlkZXIgc3R5bGU9XCJib3JkZXItY29sb3I6ICM4YmNjZjNcIiBjb250ZW50LXBvc2l0aW9uPVwibGVmdFwiXHJcbiAgICAgICAgICAgID7ml6XluLjmk43kvZw8L2VsLWRpdmlkZXJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxlbC1yb3cgOmd1dHRlcj1cIjEyXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxMHB4XCI+XHJcbiAgICAgICAgICAgIDxlbC1jb2wgOnNwYW49XCI2XCI+XHJcbiAgICAgICAgICAgICAgPGVsLWJhZGdlIDp2YWx1ZT1cIjIwMFwiIDptYXg9XCI5OVwiIGNsYXNzPVwiaXRlbVwiIHN0eWxlPVwid2lkdGg6IDgwJVwiPlxyXG4gICAgICAgICAgICAgICAgPGVsLWNhcmQgc2hhZG93PVwiYWx3YXlzXCI+5b6F5aSE55CG566A5Y6GPC9lbC1jYXJkPlxyXG4gICAgICAgICAgICAgIDwvZWwtYmFkZ2U+XHJcbiAgICAgICAgICAgIDwvZWwtY29sPlxyXG4gICAgICAgICAgICA8ZWwtY29sIDpzcGFuPVwiNlwiPlxyXG4gICAgICAgICAgICAgIDxlbC1iYWRnZSA6dmFsdWU9XCIwXCIgOm1heD1cIjk5XCIgY2xhc3M9XCJpdGVtXCIgc3R5bGU9XCJ3aWR0aDogODAlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZWwtY2FyZCBzaGFkb3c9XCJhbHdheXNcIj7lj6/lj5HluIPnmoTogYzkvY3mlbAgNTA8L2VsLWNhcmQ+XHJcbiAgICAgICAgICAgICAgPC9lbC1iYWRnZT5cclxuICAgICAgICAgICAgPC9lbC1jb2w+XHJcbiAgICAgICAgICAgIDxlbC1jb2wgOnNwYW49XCI2XCI+XHJcbiAgICAgICAgICAgICAgPGVsLWJhZGdlXHJcbiAgICAgICAgICAgICAgICA6aGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICA6dmFsdWU9XCIwXCJcclxuICAgICAgICAgICAgICAgIDptYXg9XCI5OVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIml0ZW1cIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogODAlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZWwtY2FyZCBzaGFkb3c9XCJhbHdheXNcIj7lj6/ku6XkuIvovb0z5Lu9IDwvZWwtY2FyZD5cclxuICAgICAgICAgICAgICA8L2VsLWJhZGdlPlxyXG4gICAgICAgICAgICA8L2VsLWNvbD5cclxuICAgICAgICAgICAgPGVsLWNvbCA6c3Bhbj1cIjZcIj5cclxuICAgICAgICAgICAgICA8ZWwtYmFkZ2UgOnZhbHVlPVwiMFwiIDptYXg9XCI5OVwiIGNsYXNzPVwiaXRlbVwiIHN0eWxlPVwid2lkdGg6IDgwJVwiPlxyXG4gICAgICAgICAgICAgICAgPGVsLWNhcmQgc2hhZG93PVwiYWx3YXlzXCI+5LyB5Lia5biB5L2Z6aKdIDEwMCA8L2VsLWNhcmQ+XHJcbiAgICAgICAgICAgICAgPC9lbC1iYWRnZT5cclxuICAgICAgICAgICAgPC9lbC1jb2w+XHJcbiAgICAgICAgICA8L2VsLXJvdz5cclxuICAgICAgICAgIDxlbC1kaXZpZGVyIHN0eWxlPVwiYm9yZGVyLWNvbG9yOiAjOGJjY2YzXCIgY29udGVudC1wb3NpdGlvbj1cImxlZnRcIlxyXG4gICAgICAgICAgICA+5Lia5Yqh54q25oCBPC9lbC1kaXZpZGVyXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8ZWwtcm93IDpndXR0ZXI9XCIxMlwiPlxyXG4gICAgICAgICAgICA8ZWwtY29sIDpzcGFuPVwiMTJcIj5cclxuICAgICAgICAgICAgICA8ZWwtY2FyZCBzaGFkb3c9XCJhbHdheXNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMjJweDsgZm9udC13ZWlnaHQ6IGJvbGRlclwiPlxyXG4gICAgICAgICAgICAgICAgICDnvZHnu5zmi5vogZhcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogI2ZmODkzYlwiPlxyXG4gICAgICAgICAgICAgICAgICDmnInmlYjmnJ/vvJoyMDIzLTA4LTMx6IezMjA2My0xMi0yM1xyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9lbC1jYXJkPlxyXG4gICAgICAgICAgICA8L2VsLWNvbD5cclxuICAgICAgICAgICAgPGVsLWNvbCA6c3Bhbj1cIjEyXCI+XHJcbiAgICAgICAgICAgICAgPGVsLWNhcmQgc2hhZG93PVwiYWx3YXlzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDIycHg7IGZvbnQtd2VpZ2h0OiBib2xkZXJcIj5cclxuICAgICAgICAgICAgICAgICAg546w5Zy65oub6IGYXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICNmZjg5M2JcIj5cclxuICAgICAgICAgICAgICAgICAg6ZW/5pyfXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2VsLWNhcmQ+XHJcbiAgICAgICAgICAgIDwvZWwtY29sPlxyXG4gICAgICAgICAgPC9lbC1yb3c+XHJcbiAgICAgICAgICA8ZWwtZGl2aWRlciBzdHlsZT1cImJvcmRlci1jb2xvcjogIzhiY2NmM1wiIGNvbnRlbnQtcG9zaXRpb249XCJsZWZ0XCJcclxuICAgICAgICAgICAgPueOsOWcuuaLm+iBmDwvZWwtZGl2aWRlclxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPGVsLXRhYmxlIDpkYXRhPVwidGFibGVkYXRhXCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgICAgICA8ZWwtdGFibGUtY29sdW1uIHByb3A9XCJkYXRlXCIgbGFiZWw9XCLml6XmnJ9cIiB3aWR0aD1cIjE4MFwiPjwvZWwtdGFibGUtY29sdW1uPlxyXG4gICAgICAgICAgICA8ZWwtdGFibGUtY29sdW1uIHByb3A9XCJkYXRlXCIgbGFiZWw9XCLmkYrkvY1cIiB3aWR0aD1cIjE4MFwiPjwvZWwtdGFibGUtY29sdW1uPlxyXG4gICAgICAgICAgICA8ZWwtdGFibGUtY29sdW1uIHByb3A9XCJkYXRlXCIgbGFiZWw9XCLlkI3np7BcIiB3aWR0aD1cIjE4MFwiPjwvZWwtdGFibGUtY29sdW1uPlxyXG4gICAgICAgICAgICA8ZWwtdGFibGUtY29sdW1uIHByb3A9XCJkYXRlXCIgbGFiZWw9XCLpooTlrppcIiB3aWR0aD1cIjE4MFwiPjwvZWwtdGFibGUtY29sdW1uPlxyXG4gICAgICAgICAgPC9lbC10YWJsZT5cclxuICAgICAgICA8L2VsLXNjcm9sbGJhcj5cclxuICAgICAgPC9lbC1tYWluPlxyXG4gICAgPC9lbC1jb250YWluZXI+XHJcbiAgPC9lbC1jb250YWluZXI+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQ+XHJcbmltcG9ydCB7XHJcbiAgRWxBbGVydCxcclxuICBFbEFzaWRlLFxyXG4gIEVsQXZhdGFyLFxyXG4gIEVsQmFkZ2UsXHJcbiAgRWxCdXR0b24sXHJcbiAgRWxDYXJkLFxyXG4gIEVsQ29sLFxyXG4gIEVsQ29uZmlnUHJvdmlkZXIsXHJcbiAgRWxDb250YWluZXIsXHJcbiAgRWxEYXRlUGlja2VyLFxyXG4gIEVsRGl2aWRlcixcclxuICBFbEljb24sXHJcbiAgRWxNZW51LFxyXG4gIEVsTWVudUl0ZW0sXHJcbiAgRWxNZW51SXRlbUdyb3VwLFxyXG4gIEVsUGFnaW5hdGlvbixcclxuICBFbFJvdyxcclxuICBFbFNjcm9sbGJhcixcclxuICBFbFNwYWNlLFxyXG4gIEVsU3ViTWVudSxcclxuICBFbFRhYmxlLFxyXG4gIEVsVGFibGVDb2x1bW4sXHJcbiAgRWxNZXNzYWdlLFxyXG4gIEVsTWVzc2FnZUJveCxcclxuICBFbEhlYWRlcixcclxuICBFbERyb3Bkb3duLFxyXG4gIEVsRHJvcGRvd25NZW51LFxyXG4gIEVsRHJvcGRvd25JdGVtLFxyXG4gIEVsTWFpbixcclxufSBmcm9tIFwiZWxlbWVudC1wbHVzXCI7XHJcbmltcG9ydCBcImVsZW1lbnQtcGx1cy9kaXN0L2luZGV4LmNzc1wiO1xyXG5pbXBvcnQgemhDbiBmcm9tIFwiZWxlbWVudC1wbHVzL2Rpc3QvbG9jYWxlL3poLWNuLm1qc1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIG5hbWU6IFwiY29tY2VudGVydmlld1wiLFxyXG4gIGRhdGEoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjaXJjbGVVcmw6XHJcbiAgICAgICAgXCJodHRwOi8vd2ViYXBpLmtzaHIuY29tLmNuL2ZpbGUvZG93bmxvYWQ/Zm9sZGVyTmFtZT1jb20tcG9ydHJhaXQmb3JpZ2luYWxOYW1lPTA0NTU4MjU1ZmI2NDQwZjY4Yzg1ZWFjYTM4Y2EyMTQwLnBuZyZndWlkTmFtZT0wNDU1ODI1NWZiNjQ0MGY2OGM4NWVhY2EzOGNhMjE0MC5wbmdcIixcclxuICAgICAgY29tbG9nbzpcclxuICAgICAgICBcImh0dHA6Ly93ZWJhcGkua3Noci5jb20uY24vZmlsZS9kb3dubG9hZD9mb2xkZXJOYW1lPWNvbS1sb2dvJm9yaWdpbmFsTmFtZT00MmQzZTA0MDdiOTg0NjdiYmY4Yjc5MDhhMWVlM2JhZi5qcGcmZ3VpZE5hbWU9NDJkM2UwNDA3Yjk4NDY3YmJmOGI3OTA4YTFlZTNiYWYuanBnXCIsXHJcbiAgICAgIHRhYmxlZGF0YTogW10sXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgY29tcG9uZW50czoge1xyXG4gICAgRWxBdmF0YXIsXHJcbiAgICBFbENvbnRhaW5lcixcclxuICAgIEVsQXNpZGUsXHJcbiAgICBFbE1lbnUsXHJcbiAgICBFbE1lbnVJdGVtLFxyXG4gICAgRWxTdWJNZW51LFxyXG4gICAgRWxNZW51SXRlbUdyb3VwLFxyXG4gICAgRWxIZWFkZXIsXHJcbiAgICBFbEljb24sXHJcbiAgICBFbERyb3Bkb3duLFxyXG4gICAgRWxEcm9wZG93bk1lbnUsXHJcbiAgICBFbERyb3Bkb3duSXRlbSxcclxuICAgIEVsU3BhY2UsXHJcbiAgICBFbE1haW4sXHJcbiAgICBFbFNjcm9sbGJhcixcclxuICAgIEVsQ29sLFxyXG4gICAgRWxSb3csXHJcbiAgICBFbEJhZGdlLFxyXG4gICAgRWxDYXJkLFxyXG4gICAgRWxEaXZpZGVyLFxyXG4gICAgRWxUYWJsZSxcclxuICAgIEVsVGFibGVDb2x1bW4sXHJcbiAgfSxcclxuICBtZXRob2RzOiB7fSxcclxuICBtb3VudGVkKCkge30sXHJcbn07XHJcbjwvc2NyaXB0PlxyXG48c3R5bGUgc2NvcGVkPlxyXG4uaXRlbSB7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbn1cclxuLnRvb2xiYXIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHJpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4uZWwtYXNpZGUge1xyXG4gIGNvbG9yOiB2YXIoLS1lbC10ZXh0LWNvbG9yLXByaW1hcnkpO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWVsLWNvbG9yLXByaW1hcnktbGlnaHQtOCk7XHJcbn1cclxuLmVsLW1lbnUge1xyXG4gIGJvcmRlci1yaWdodDogbm9uZTtcclxufVxyXG4vKiAuZWwtbWFpbiB7XHJcbiBwYWRkaW5nOiAwO1xyXG59ICovXHJcbjwvc3R5bGU+XHJcbiIsIjx0ZW1wbGF0ZSBzdHlsZT1cInBhZGRpbmc6MFwiPiAgXHJcbjxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O2p1c3RpZnktY29udGVudDogZmxleC1zdGFydDtnYXA6MTBweDsgbWFyZ2luLWJvdHRvbTogNXB4O1wiPlxyXG4gIDxkaXY+5bey6YCJ5oupOjwvZGl2PlxyXG4gIDxkaXYgIGNsYXNzPVwic2VsZWN0aXRlbWNsYXNzXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gc2VsZWN0ZWRpdGVtXCI+e3tpdGVtfX08ZGl2IHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO3JpZ2h0OiAycHg7d2lkdGg6IDEwcHg7dG9wOjA7Y3Vyc29yOiBwb2ludGVyO1wiIEBjbGljaz1cInJlbW92ZVNlbGVjdGVkSXRlbShpdGVtKVwiPng8L2Rpdj5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG4gPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJkaXZjb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXZpdGVtXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gcHJvcHMucGFyYW1zLmRhdGFsaXN0XCIgQGNsaWNrPVwiY2xpY2tvbmUoaXRlbSlcIj57e2l0ZW0ubGFiZWxMaXN0LmpvaW4oXCIgXCIpfX08L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZGl2Y29udGFpbmVyXCIgdi1pZj1cInNlbGVjdHR5cGUuaW5jbHVkZXMoMilcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXZpdGVtXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gc2Vjb25kXCIgQGNsaWNrPVwiY2xpY2t0b3coaXRlbSlcIj57e2l0ZW0ubGFiZWx9fTwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gICA8ZGl2IGNsYXNzPVwiZGl2Y29udGFpbmVyXCIgdi1pZj1cInNlbGVjdHR5cGUuaW5jbHVkZXMoMylcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXZpdGVtXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gdGhyZWVcIiBAY2xpY2s9XCJzZWxlY3RpdGVtKGl0ZW0pXCI+e3tpdGVtLmxhYmVsfX08L2Rpdj5cclxuICA8L2Rpdj5cclxuIDwvZGl2PlxyXG4gXHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQgc2V0dXA+XHJcbmltcG9ydCB7IHJlZixvbk1vdW50ZWQgfSBmcm9tICd2dWUnXHJcbmltcG9ydHsgRWxCdXR0b24gfSBmcm9tICdlbGVtZW50LXBsdXMnXHJcbmltcG9ydCB7XHJcbiAgQ2hlY2ssXHJcbiAgRGVsZXRlLFxyXG4gIEVkaXQsXHJcbiAgTWVzc2FnZSxcclxuICBTZWFyY2gsXHJcbiAgU3RhcixcclxufSBmcm9tICdAZWxlbWVudC1wbHVzL2ljb25zLXZ1ZSdcclxuY29uc3QgcHJvcHM9IGRlZmluZVByb3BzKFsncGFyYW1zJ10pXHJcbmNvbnN0IG1heHNlbGVjdG51bSA9IHJlZigxKVxyXG5jb25zdCBzZWxlY3R0eXBlPXJlZihbMV0pXHJcbi8vIGxhYmVsTGlzdCAgIGpvYlR5cGVMaXN0ICBjaGlsZHJlblxyXG4vLyBvbk1vdW50ZWQoKCk9PntcclxuXHJcbi8vIH0pXHJcbmNvbnN0IHNlY29uZD1yZWYoW10pXHJcbmNvbnN0IHRocmVlPSByZWYoW10pXHJcbmNvbnN0IHNlbGVjdGVkaXRlbT1yZWYoW10pXHJcbmNvbnN0IGNsaWNrb25lPShkZXRhaWwpPT57XHJcbiAgIHNlY29uZC52YWx1ZT1bXVxyXG4gICB0aHJlZS52YWx1ZT1bXVxyXG4gICAgc2Vjb25kLnZhbHVlPWRldGFpbC5qb2JUeXBlTGlzdFxyXG4gICAgICBzZWxlY3R0eXBlLnZhbHVlPVsxLDJdXHJcbiAgICBcclxufVxyXG5jb25zdCBjbGlja3Rvdz0oY2hpbGRyZW4pPT57XHJcbiAgICB0aHJlZS52YWx1ZT1bXVxyXG4gICAgdGhyZWUudmFsdWU9Y2hpbGRyZW4uY2hpbGRyZW5cclxuICAgIHNlbGVjdHR5cGUudmFsdWU9WzEsMiwzXVxyXG4gICAgXHJcbn1cclxuY29uc3Qgc2VsZWN0aXRlbT0oaXRlbSk9PnsgXHJcbiAgICAgc2VsZWN0ZWRpdGVtLnZhbHVlPVtpdGVtLmxhYmVsXVxyXG4gICAgIHByb3BzLnBhcmFtcy5yZXRDYWxsYmFjayhpdGVtKVxyXG4gICAgXHJcbn1cclxuY29uc3QgcmVtb3ZlU2VsZWN0ZWRJdGVtID0oaXRlbSk9PntcclxuICAgIGlmKHNlbGVjdGVkaXRlbS52YWx1ZS5sZW5ndGg+MClcclxuICAgICAgICBzZWxlY3RlZGl0ZW0udmFsdWUuc3BsaWNlKFxyXG4gICAgICAgIHNlbGVjdGVkaXRlbS52YWx1ZS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGl0ZW0uaWQpLFxyXG4gICAgICAgIDFcclxuICAgICAgKTtcclxufVxyXG48L3NjcmlwdD5cclxuPHN0eWxlIHNjb3BlZD5cclxuLm5ld0RpYWxvZ0NsYXNze1xyXG4gIHBhZGRpbmctdG9wOjBcclxufVxyXG4gLmRpdmNvbnRhaW5lciB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDhkY2U2O1xyXG4gICAgaGVpZ2h0OiA1MDBweDtcclxuICAgIG92ZXJmbG93OiBhdXRvOyAgXHJcbiAgICAgXHJcbn1cclxuLmRpdml0ZW0ge1xyXG4gICAgY29sb3I6ICMyMjI7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMjVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIFxyXG4gICAgIFxyXG59XHJcbiAuZGl2aXRlbTo6YWZ0ZXJ7XHJcbiAgICBjb250ZW50OiAnPic7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiB9XHJcbiAuZGl2Y29udGFpbmVyOm50aC1jaGlsZCgzKT4gLmRpdml0ZW06OmFmdGVye1xyXG4gICAgY29udGVudDogJyc7XHJcbiB9XHJcbiAuc2VsZWN0aXRlbWNsYXNzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmVlZjU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZThlOGU4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDE4MHB4O1xyXG59XHJcbjwvc3R5bGU+IiwiPHRlbXBsYXRlPlxyXG4gIDxlbC1jb250YWluZXIgY2xhc3M9XCJwYWdlLWNvbnRhaW5lclwiPlxyXG5cclxuICAgIDwhLS0g5Li76KaB5YaF5a655Yy6IC0tPlxyXG4gICAgPGVsLW1haW4gY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cclxuICAgICAgPGVsLWZvcm0gICByZWY9XCJmb3Jtam9iXCIgOm1vZGVsPVwiam9iRm9ybVwiIGxhYmVsLXdpZHRoPVwiMTAwcHhcIiBjbGFzcz1cImpvYi1mb3JtXCIgIDpydWxlcz1cInJ1bGVzXCI+XHJcbiAgICAgICAgPCEtLSDogYzkvY3mqKHmnb8gLS0+XHJcbiAgICAgICAgPGVsLWZvcm0taXRlbSBsYWJlbD1cIuiBjOS9jeaooeadv1wiIHByb3A9XCJqb2JUZW1wbGF0ZVBvc3Rpb25cIj5cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgIDxlbC1idXR0b24gc3R5bGU9XCJ3aWR0aDoxMDAlO3Bvc2l0aW9uOiByZWxhdGl2ZTsgXCIgQGNsaWNrPVwiKCk9PntkaWFsb2dwYXJhbXM9IHRlbXBsYXRlUG9zaXRpb247IHNob3dUeXBlPTE7ICBkaWFsb2dWaXNhYmxlPXRydWU7IH1cIiB3aWR0aD1cIjEwMCVcIj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OiA1cHg7XCI+e3tqb2JGb3JtLmpvYlRlbXBsYXRlTmFtZX19PC9kaXY+PGVsLWljb24gY2xhc3M9XCJpY29uLXJpZ2h0XCI+PFBvc3RjYXJkIC8+PC9lbC1pY29uPlxyXG4gICAgICAgICAgIDwvZWwtYnV0dG9uPlxyXG4gICAgICAgIDwvZWwtZm9ybS1pdGVtPlxyXG5cclxuICAgICAgICA8IS0tIOiBjOS9jeWQjeensCAtLT5cclxuICAgICAgICA8ZWwtZm9ybS1pdGVtIGxhYmVsPVwi6IGM5L2N5ZCN56ewXCIgcHJvcD1cImpvYk5hbWVcIiAgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8ZWwtaW5wdXQgdi1tb2RlbD1cImpvYkZvcm0uam9iTmFtZVwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6IGM5L2N5ZCN56ewKOivt+aOp+WItuWcqDMw5Liq5a2X5YaFKVwiIGNsZWFyYWJsZSAvPlxyXG4gICAgICAgIDwvZWwtZm9ybS1pdGVtPiBcclxuXHJcbiAgICAgICAgPCEtLSDogYzkvY3nsbvliKsgLS0+XHJcbiAgICAgICAgPGVsLWZvcm0taXRlbSBsYWJlbD1cIuiBjOS9jeexu+WIq1wiIHByb3A9XCJqb2JUeXBlXCIgcmVxdWlyZWQ+ICAgICAgICAgXHJcbiAgICAgICAgICAgIDxlbC1idXR0b24gc3R5bGU9XCJ3aWR0aDoxMDAlO3Bvc2l0aW9uOiByZWxhdGl2ZTtcIiBAY2xpY2s9XCIoKT0+e2RpYWxvZ3BhcmFtcz0gcHJvcFNlbGVjdFBvc3Rpb247IHNob3dUeXBlPTI7ICBkaWFsb2dWaXNhYmxlPXRydWU7IH1cIiB3aWR0aD1cIjEwMCVcIj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTtsZWZ0OiA1cHg7XCI+e3tqb2JGb3JtLmpvYlR5cGVMYWJlbH19PC9kaXY+PGVsLWljb24gY2xhc3M9XCJpY29uLXJpZ2h0XCI+PFBvc3RjYXJkIC8+PC9lbC1pY29uPlxyXG4gICAgICAgICAgIDwvZWwtYnV0dG9uPlxyXG4gICAgICAgIDwvZWwtZm9ybS1pdGVtPiBcclxuICAgICAgIFxyXG4gICAgICAgIDwhLS0g5bel5L2c5oCn6LSoIC0tPlxyXG4gICAgICAgIDxlbC1mb3JtLWl0ZW0gbGFiZWw9XCLlt6XkvZzmgKfotKhcIiBwcm9wPVwid29ya1R5cGVcIiByZXF1aXJlZD5cclxuICAgICAgICAgIDxlbC1yYWRpby1ncm91cCB2LW1vZGVsPVwiam9iRm9ybS5qb2JOYXR1cmVcIiBzaXplPVwibGFyZ2VcIiBmaWxsPVwiIzZjZlwiPlxyXG4gICAgICAgICAgICA8ZWwtcmFkaW8tYnV0dG9uIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBqb2JOYXR1cmVMaXN0XCIgOmxhYmVsPVwiaXRlbS5sYWJlbFwiIDp2YWx1ZT1cIml0ZW0udmFsdWVcIlxyXG4gICAgICAgICAgICAgIDppZD1cIml0ZW0uc25cIj48L2VsLXJhZGlvLWJ1dHRvbj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICA8L2VsLXJhZGlvLWdyb3VwPlxyXG4gICAgICAgIDwvZWwtZm9ybS1pdGVtPlxyXG5cclxuICAgICAgICA8IS0tIOW3peS9nOWcsOWdgCAtLT5cclxuICAgICAgICA8ZWwtZm9ybS1pdGVtIGxhYmVsPVwi5bel5L2c5Zyw5Z2AXCIgcHJvcD1cIndvcmtBZGRyZXNzXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8ZWwtcm93IDpndXR0ZXI9XCIxXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cclxuICAgICAgICAgICAgPGVsLWNvbCA6c3Bhbj1cIjRcIj5cclxuICAgICAgICAgICAgIDxlbC1idXR0b24gc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiAgIEBjbGljaz1cIigpPT57IGRpYWxvZ3BhcmFtcz0gcHJvcFNlbGVjdEFyZWE7IHNob3dUeXBlPTM7ICBkaWFsb2dWaXNhYmxlPXRydWU7ICB9XCIgd2lkdGg9XCIxMDAlXCI+XHJcbiAgICAgICAgICAgIHt7am9iRm9ybS5qb2JBcmVhTGFiZWx9fSAgXHJcbiAgICAgICAgICAgPC9lbC1idXR0b24+XHJcbiAgICAgICAgICAgIDwvZWwtY29sPlxyXG4gICAgICAgICAgICA8ZWwtY29sIDpzcGFuPVwiOFwiPlxyXG4gICAgICAgICAgICAgIDxlbC1pbnB1dCB2LW1vZGVsPVwiam9iRm9ybS5hZGRyZXNzXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXor6bnu4blnLDlnYBcIiBjbGVhcmFibGUgLz5cclxuICAgICAgICAgICAgPC9lbC1jb2w+XHJcbiAgICAgICAgICA8L2VsLXJvdz5cclxuICAgICAgICA8L2VsLWZvcm0taXRlbT5cclxuXHJcbiAgICAgICAgPCEtLSDkurrmlbDlkozmgKfliKsgLS0+XHJcbiAgICAgICAgPGVsLWZvcm0taXRlbSBsYWJlbD1cIuS6uuaVsOWSjOaAp+WIq1wiIHByb3A9XCJudW1BbmRHZW5kZXJcIiByZXF1aXJlZD5cclxuICAgICAgICAgIDxlbC1yb3cgOmd1dHRlcj1cIjFcIiBzdHlsZT1cIndpZHRoOjEwMCVcIj5cclxuICAgICAgICAgICAgPGVsLWNvbCA6c3Bhbj1cIjRcIj5cclxuICAgICAgICAgICAgICA8ZWwtaW5wdXQtbnVtYmVyIHYtbW9kZWw9XCJqb2JGb3JtLmhlYWRjb3VudFwiIHBsYWNlaG9sZGVyPVwi5Lq65pWwXCIgOm1pbj1cIjFcIiBjb250cm9scy1wb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6MTAwJTtcIiAvPlxyXG4gICAgICAgICAgICA8L2VsLWNvbD5cclxuICAgICAgICAgICAgPGVsLWNvbCA6c3Bhbj1cIjRcIj5cclxuICAgICAgICAgICAgICA8ZWwtc2VsZWN0IHYtbW9kZWw9XCJqb2JGb3JtLmdlbmRlclwiIHBsYWNlaG9sZGVyPVwi6YCJ5oup5oCn5YirXCIgQGNoYW5nZT1cIih2YWx1ZSk9Pnsgam9iRm9ybS5nZW5kZXJpZD12YWx1ZTsgam9iRm9ybS5nZW5kZXJMYWJlbD0gZ2VuZGVyTGlzdE9wdGlvbi5maWx0ZXIoeD0+eC52YWx1ZT09dmFsdWUpWzBdLmxhYmVsfVwiIGNsZWFyYWJsZT5cclxuICAgICAgICAgICAgICAgIDxlbC1vcHRpb24gdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGdlbmRlckxpc3RPcHRpb25cIiA6bGFiZWw9XCJpdGVtLmxhYmVsXCIgOnZhbHVlPVwiaXRlbS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIDppZD1cIml0ZW0uc25cIj48L2VsLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwhLS0g5pu05aSa6YCJ6aG5IC0tPiBcclxuICAgICAgICAgICAgICA8L2VsLXNlbGVjdD5cclxuICAgICAgICAgICAgPC9lbC1jb2w+XHJcbiAgICAgICAgICA8L2VsLXJvdz5cclxuICAgICAgICA8L2VsLWZvcm0taXRlbT5cclxuICAgICAgICA8IS0tIOW3peS9nOe7j+mqjCAtLT5cclxuICAgICAgICA8ZWwtZm9ybS1pdGVtIGxhYmVsPVwi5bel5L2c57uP6aqMXCIgcHJvcD1cImV4cGVyaWVuY2VcIiByZXF1aXJlZD5cclxuICAgICAgICAgIDxlbC1yb3cgOmd1dHRlcj1cIjFcIiBzdHlsZT1cIndpZHRoOjEwMCVcIj5cclxuICAgICAgICAgICAgPGVsLWNvbCA6c3Bhbj1cIjRcIj5cclxuICAgICAgICAgICAgICA8ZWwtc2VsZWN0IHYtbW9kZWw9XCJqb2JGb3JtLndvcmtFeHBMYWJlbFwiIHBsYWNlaG9sZGVyPVwi6YCJ5oup57uP6aqMXCIgQGNoYW5nZT1cIih2YWx1ZSk9Pntqb2JGb3JtLndvcmtFeHA9dmFsdWU7IGpvYkZvcm0ud29ya0V4cExhYmVsID0gZXhwT3B0aW9uLmZpbHRlcih4PT54LnZhbHVlPT12YWx1ZSlbMF0ubGFiZWw7IH1cIiBjbGVhcmFibGU+XHJcbiAgICAgICAgICAgICAgICA8IS0tIOe7j+mqjOmAiemhuSAtLT5cclxuICAgICAgICAgICAgICAgIDxlbC1vcHRpb24gdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGV4cE9wdGlvblwiIDpsYWJlbD1cIml0ZW0ubGFiZWxcIiA6dmFsdWU9XCJpdGVtLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgOmlkPVwiaXRlbS5zblwiPjwvZWwtb3B0aW9uPiBcclxuICAgICAgICAgICAgICA8L2VsLXNlbGVjdD4gXHJcbiAgICAgICAgICAgIDwvZWwtY29sPlxyXG4gICAgICAgICAgICA8ZWwtY29sIDpzcGFuPVwiNFwiPlxyXG4gICAgICAgICAgICAgIDxlbC1zZWxlY3Qgdi1tb2RlbD1cImpvYkZvcm0uZWR1XCIgcGxhY2Vob2xkZXI9XCLlrabljoZcIiBjbGVhcmFibGUgQGNoYW5nZT1cIih2YWx1ZSk9Pntqb2JGb3JtLmVkdT12YWx1ZTtqb2JGb3JtLmVkdUxhYmVsPWVkdU9wdGlvbi5maWx0ZXIoeD0+eC52YWx1ZT09dmFsdWUpWzBdLmxhYmVsO31cIj5cclxuICAgICAgICAgICAgICAgIDwhLS0g57uP6aqM6YCJ6aG5IC0tPlxyXG4gICAgICAgICAgICAgICAgPGVsLW9wdGlvbiB2LWZvcj1cIihpdGVtLCBpbmRleCkgaW4gZWR1T3B0aW9uXCIgOmxhYmVsPVwiaXRlbS5sYWJlbFwiIDp2YWx1ZT1cIml0ZW0udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICA6aWQ9XCJpdGVtLnNuXCI+PC9lbC1vcHRpb24+XHJcblxyXG4gICAgICAgICAgICAgIDwvZWwtc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2VsLWNvbD5cclxuICAgICAgICAgIDwvZWwtcm93PlxyXG5cclxuXHJcbiAgICAgICAgPC9lbC1mb3JtLWl0ZW0+XHJcbiAgICAgICAgPCEtLSDmnIjolqogLS0+XHJcbiAgICAgICAgPGVsLWZvcm0taXRlbSBsYWJlbD1cIuaciOiWqlwiIHByb3A9XCJzYWxhcnlSYW5nZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgPGVsLXJvdyA6Z3V0dGVyPVwiMVwiIHN0eWxlPVwid2lkdGg6MTAwJVwiPlxyXG4gICAgICAgICAgICA8ZWwtY29sIDpzcGFuPVwiNFwiPlxyXG4gICAgICAgICAgICAgIDxlbC1zZWxlY3Qgdi1tb2RlbD1cImpvYkZvcm0ubWluU2FsYXJ5XCIgcGxhY2Vob2xkZXI9XCLpgInmi6nmnIjolqpcIiBjbGVhcmFibGUgQGNoYW5nZT1cIm1pblNhbGFyeUNoYW5nZVwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSDmnIjolqrpgInpobkgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZWwtb3B0aW9uIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBzYWxhcnlNaW5PcHRpb25cIiA6bGFiZWw9XCJpdGVtLmxhYmVsXCIgOnZhbHVlPVwiaXRlbS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIDppZD1cIml0ZW0uaWRcIj48L2VsLW9wdGlvbj4gXHJcbiAgICAgICAgICAgICAgPC9lbC1zZWxlY3Q+IFxyXG4gICAgICAgICAgICA8L2VsLWNvbD5cclxuICAgICAgICAgICAgPGVsLWNvbCA6c3Bhbj1cIjRcIj5cclxuICAgICAgICAgICAgICA8ZWwtc2VsZWN0IHYtbW9kZWw9XCJqb2JGb3JtLm1heFNhbGFyeVwiIHBsYWNlaG9sZGVyPVwi6YCJ5oup5pyI6JaqXCIgY2xlYXJhYmxlIEBjaGFuZ2U9XCJtYXhTYWxhcnlDaGFuZ2VcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0g5pyI6Jaq6YCJ6aG5IC0tPlxyXG4gICAgICAgICAgICAgICAgPGVsLW9wdGlvbiB2LWZvcj1cIihpdGVtLCBpbmRleCkgaW4gc2FsYXJ5TWF4T3B0aW9uXCIgOmxhYmVsPVwiaXRlbS5sYWJlbFwiIDp2YWx1ZT1cIml0ZW0udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICA6aWQ9XCJpdGVtLmlkXCI+PC9lbC1vcHRpb24+XHJcblxyXG4gICAgICAgICAgICAgIDwvZWwtc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2VsLWNvbD5cclxuICAgICAgICAgIDwvZWwtcm93PlxyXG5cclxuXHJcbiAgICAgICAgPC9lbC1mb3JtLWl0ZW0+XHJcblxyXG4gICAgICAgIDwhLS0g5bm06b6E6KaB5rGCIC0tPlxyXG4gICAgICAgIDxlbC1mb3JtLWl0ZW0gbGFiZWw9XCLlubTpvoTopoHmsYJcIiBwcm9wPVwiYWdlUmFuZ2VcIiByZXF1aXJlZD4gXHJcbiAgICAgICAgICA8ZWwtcm93IDpndXR0ZXI9XCIxXCIgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XHJcbiAgICAgICAgICAgIDxlbC1jb2wgOnNwYW49XCI0XCI+XHJcbiAgICAgICAgICAgICAgPGVsLXNlbGVjdCB2LW1vZGVsPVwiam9iRm9ybS5taW5BZ2VcIiBwbGFjZWhvbGRlcj1cIuacgOS9jlwiIGNsZWFyYWJsZSBAY2hhbmdlPVwiYWdlTWluQ2hhbmdlXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIOW5tOm+hOmAiemhuSAtLT5cclxuICAgICAgICAgICAgICAgIDxlbC1vcHRpb24gdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIGFnZU1pbk9wdGlvblwiIDprZXk9XCJpdGVtLmluZGV4XCIgOmxhYmVsPVwiaXRlbS5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgIDp2YWx1ZT1cIml0ZW0udmFsdWVcIj48L2VsLW9wdGlvbj5cclxuICAgICAgICAgICAgICA8L2VsLXNlbGVjdD4gXHJcbiAgICAgICAgICAgIDwvZWwtY29sPlxyXG4gICAgICAgICAgICA8ZWwtY29sIDpzcGFuPVwiNFwiPlxyXG4gICAgICAgICAgICAgIDxlbC1zZWxlY3Qgdi1tb2RlbD1cImpvYkZvcm0ubWF4QWdlXCIgcGxhY2Vob2xkZXI9XCLmnIDpq5hcIiBjbGVhcmFibGUgQGNoYW5nZT1cImFnZU1heENoYW5nZVwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSDlubTpvoTpgInpobkgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZWwtb3B0aW9uIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBhZ2VNYXhPcHRpb25cIiA6a2V5PVwiaXRlbS5pbmRleFwiIDpsYWJlbD1cIml0ZW0ubGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICA6dmFsdWU9XCJpdGVtLnZhbHVlXCI+PC9lbC1vcHRpb24+XHJcblxyXG4gICAgICAgICAgICAgIDwvZWwtc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2VsLWNvbD5cclxuICAgICAgICAgIDwvZWwtcm93PlxyXG5cclxuICAgICAgICA8L2VsLWZvcm0taXRlbT5cclxuXHJcbiAgICAgICAgPCEtLSDogYzkvY3mj4/ov7AgLS0+XHJcbiAgICAgICAgPGVsLWZvcm0taXRlbSBsYWJlbD1cIuiBjOS9jeaPj+i/sFwiIHByb3A9XCJqb2JEZXNjcmlwdGlvblwiIHJlcXVpcmVkPlxyXG5cclxuICAgICAgICAgIDxlbC1yb3c+XHJcbiAgICAgICAgICAgIDxlbC1jb2wgOnNwYW49XCIyNFwiPlxyXG4gICAgICAgICAgICAgIOivt+S4jeimgei+k+WFpeWFrOWPuOmCrueuse+8jOiBlOezu+eUteivne+8jOWklumTvu+8jOS4jeW+l+WHuueOsOi/neWPjeWKs+WKqOazleeahOaWh+Wtl1xyXG4gICAgICAgICAgICAgIDxlbC1idXR0b24gbGluayBjbGFzcz1cImhlbHAtbGlua1wiPuiBjOS9jeWPkeW4g+inhOiMgzwvZWwtYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2VsLWNvbD5cclxuICAgICAgICAgIDwvZWwtcm93PlxyXG4gICAgICAgICAgPGVsLWlucHV0IHR5cGU9XCJ0ZXh0YXJlYVwiIHYtbW9kZWw9XCJqb2JGb3JtLmpvYkludHJvXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXogYzkvY3mj4/ov7DjgIHku7vogYzotYTmoLznrYnvvIzoh7PlsJExMDDkuKrlrZfvvIzor7fmjInnhafku6XkuIvmoLzlvI/loavlhpnvvJpcclxuMeOAgeWyl+S9jeiBjOi0o++8mlxyXG4y44CB5Lu76IGM6KaB5rGC77yaXHJcbjPjgIHlt6XkvZzml7bpl7TvvJpcclxuNOOAgeemj+WIqeW+hemBh++8mijkvovlpoLvvJrljIXpo5/lrr/jgIHln7norq3nrYnnrYkpXCIgOnJvd3M9XCI2XCIgLz5cclxuICAgICAgICA8L2VsLWZvcm0taXRlbT5cclxuXHJcbiAgICAgICAgPCEtLSDmi5vogZjotJ/otKPkurogLS0+XHJcbiAgICAgICAgPGVsLWZvcm0taXRlbSBsYWJlbD1cIuaLm+iBmOi0n+i0o+S6ulwiIHByb3A9XCJjb250YWN0UGVyc29uXCI+XHJcbiAgICAgICAgICA8ZWwtcm93IDpndXR0ZXI9XCIxXCIgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XHJcbiAgICAgICAgICAgIDxlbC1jb2wgOnNwYW49XCIxNFwiPlxyXG4gICAgICAgICAgICAgIDxlbC1pbnB1dCB2LW1vZGVsPVwiam9iRm9ybS5jb250YWN0UGVyc29uXCIgcGxhY2Vob2xkZXI9XCLor7floavlhpnogZTns7vkurrlp5PlkI1cIiBkaXNhYmxlZCAvPiAgXHJcblxyXG4gICAgICAgICAgICA8L2VsLWNvbD5cclxuICAgICAgICAgICAgPGVsLWNvbCA6c3Bhbj1cIjFcIj5cclxuICAgICAgICAgICAgICA8ZWwtYnV0dG9uIGxpbmsgY2xhc3M9XCJtYW5hZ2UtbGlua1wiIEBjbGljaz1cIigpPT57IGNvbnRhY3RMaXN0VmlzaWJsZT10cnVlOyB9XCI+5L+u5pS5PC9lbC1idXR0b24+XHJcbiAgICAgICAgICAgIDwvZWwtY29sPlxyXG4gICAgICAgICAgICA8ZWwtY29sIDpzcGFuPVwiMVwiPiBcclxuICAgICAgICAgICAgICA8ZWwtbGluayBocmVmPVwiL3BhZ2VzL2NvbWNvbnRhY3RtYW5hZ2UuaHRtbFwiIDp1bmRlcmxpbmU9ZmFsc2UgdGFyZ2V0PVwiX2JsYW5rXCIgc3R5bGU9XCJ3aWR0aDogMTAwcHg7Y29sb3I6IzE2NWRmZlwiPui/m+WFpeiBlOezu+S6uueuoeeQhjwvZWwtbGluaz5cclxuICAgICAgICAgICAgPC9lbC1jb2w+XHJcbiAgICAgICAgICA8L2VsLXJvdz5cclxuXHJcbiAgICAgICAgPC9lbC1mb3JtLWl0ZW0+XHJcblxyXG4gICAgICAgIDwhLS0g6IGM5L2N5Lqu54K5IC0tPlxyXG4gICAgICAgIDxlbC1mb3JtLWl0ZW0gbGFiZWw9XCLogYzkvY3kuq7ngrlcIiBwcm9wPVwiam9iSGlnaGxpZ2h0c1wiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhpZ2hsaWdodHMtZGVzY1wiPlxyXG4gICAgICAgICAgICDpgInmi6nogYzkvY3kuq7ngrnvvIzmj5DljYfogYzkvY3lkLjlvJXlipvvvIzmnInmlYjmj5Dpq5jnroDljobmipXpgJLph48gKOacgOWkmjbpobkpXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxlbC1jaGVja2JveC1ncm91cCB2LW1vZGVsPVwiam9iRm9ybS5qb2JMaWdodFwiIGNsYXNzPVwiaGlnaGxpZ2h0cy1ncm91cFwiIDptYXg9XCI2XCI+XHJcbiAgICAgICAgICAgIDxlbC1jaGVja2JveCB2LWZvcj1cIihpdGVtLCBpbmRleCkgaW4gbGlnaHRzb3B0aW9uXCIgOmxhYmVsPVwiaXRlbS5sYWJlbFwiIDp2YWx1ZT1cIml0ZW0udmFsdWVcIlxyXG4gICAgICAgICAgICAgIDppZD1cIml0ZW0uaW5kZXhcIj48L2VsLWNoZWNrYm94PlxyXG5cclxuICAgICAgICAgIDwvZWwtY2hlY2tib3gtZ3JvdXA+XHJcblxyXG4gICAgICAgIDwvZWwtZm9ybS1pdGVtPlxyXG5cclxuICAgICAgICA8IS0tIOaIquatouaXpeacnyAtLT5cclxuICAgICAgICA8ZWwtZm9ybS1pdGVtIGxhYmVsPVwi5oiq5q2i5pel5pyfXCIgcHJvcD1cImRlYWRsaW5lXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8ZWwtZGF0ZS1waWNrZXIgdi1tb2RlbD1cImRlYWRsaW5lXCIgdHlwZT1cImRhdGVcIiBwbGFjZWhvbGRlcj1cIumAieaLqeaXpeacn1wiIHZhbHVlLWZvcm1hdD1cIllZWVktTU0tRERcIiAvPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlYWRsaW5lLWRlc2NcIj5cclxuICAgICAgICAgICAg6buY6K6k5pyJ5pWI5pyf77ya5pyA6ZW/OTDlpKnvvIzkuI3lj6/otoXov4fkvJrlkZjmnInmlYjmnJ9cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZWwtZm9ybS1pdGVtPlxyXG5cclxuICAgICAgICA8IS0tIOaTjeS9nOaMiemSriAtLT5cclxuICAgICAgICA8ZWwtZm9ybS1pdGVtPlxyXG4gICAgICAgICAgPGVsLXJvdyA6Z3V0dGVyPVwiMVwiIHN0eWxlPVwid2lkdGg6MTAwJVwiPlxyXG4gICAgICAgICAgICA8ZWwtY29sIDpzcGFuPVwiOFwiIDpvZmZzZXQ9XCI4XCI+XHJcbiAgICAgICAgICAgICAgPGVsLWJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIEBjbGljaz1cInNhdmVEcmFmdFwiPuWtmOS4uuiNieeovzwvZWwtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxlbC1idXR0b24gdHlwZT1cInN1Y2Nlc3NcIiBAY2xpY2s9XCJwcmV2aWV3Sm9iXCI+6aKE6KeI6IGM5L2NPC9lbC1idXR0b24+XHJcbiAgICAgICAgICAgICAgPGVsLWJ1dHRvbiB0eXBlPVwid2FybmluZ1wiIEBjbGljaz1cInB1Ymxpc2hKb2JcIj7lj5HluIPogYzkvY08L2VsLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9lbC1jb2w+XHJcbiAgICAgICAgICA8L2VsLXJvdz5cclxuICAgICAgICA8L2VsLWZvcm0taXRlbT5cclxuICAgICAgPC9lbC1mb3JtPlxyXG4gICAgPC9lbC1tYWluPlxyXG5cclxuIDxlbC1kaWFsb2cgdi1tb2RlbD1cImNvbnRhY3RMaXN0VmlzaWJsZVwiIHRpdGxlPVwi6YCJ5oup6IGU57O75Lq6XCIgOmRlc3Ryb3ktb24tY2xvc2U9XCJ0cnVlXCI+XHJcbiAgPGVsLXRhYmxlIDpkYXRhPVwiY29udGFjdGxpc3RcIiA6c2hvdy1oZWFkZXI9XCJmYWxzZVwiPlxyXG4gICAgPGVsLXRhYmxlLWNvbHVtbiAjZGVmYXVsdD1cInNjb3BlXCIgbGFiZWw9XCLluo/lj7dcIj5cclxuICAgIDwvZWwtdGFibGUtY29sdW1uPlxyXG4gICAgPGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwiZGVwdE5hbWVcIiBsYWJlbD1cIumDqOmXqFwiPjwvZWwtdGFibGUtY29sdW1uPlxyXG4gICAgPGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwicmVhbE5hbWVcIiBsYWJlbD1cIuWnk+WQjVwiPjwvZWwtdGFibGUtY29sdW1uPlxyXG4gICAgPGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwicG9zaXRpb25cIiBsYWJlbD1cIuiBjOS9jVwiPjwvZWwtdGFibGUtY29sdW1uPlxyXG4gICAgPGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwibW9iaWxlXCIgbGFiZWw9XCLogZTns7vmlrnlvI9cIj48L2VsLXRhYmxlLWNvbHVtbj5cclxuICAgIDxlbC10YWJsZS1jb2x1bW4gcHJvcD1cImVtYWlsXCIgbGFiZWw9XCLpgq7nrrHlnLDlnYBcIj48L2VsLXRhYmxlLWNvbHVtbj5cclxuICAgICA8ZWwtdGFibGUtY29sdW1uICNkZWZhdWx0PVwic2NvcGVcIiBsYWJlbD1cIuaTjeS9nFwiPlxyXG4gICAgICA8ZWwtYnV0dG9uIGxpbmsgdHlwZT1cInByaW1hcnlcIiBAY2xpY2s9XCJzZWxlY3Rjb250YWN0KHNjb3BlLnJvdylcIiA+6YCJ5oupPC9lbC1idXR0b24+XHJcbiAgICA8L2VsLXRhYmxlLWNvbHVtbj5cclxuICA8L2VsLXRhYmxlPlxyXG4gIDxlbC1wYWdpbmF0aW9uIEBjaGFuZ2U9XCJwYWdpbmF0aW9uY2hhbmdlXCIgbGF5b3V0PVwicHJldixwYWdlcixuZXh0XCIgOnRvdGFsPVwicGFnaW5hdGlvbi50b3RhbFwiICB2LW1vZGVsOmN1cnJlbnQtcGFnZT1cIm5ld2N1cnJlbnRwYWdlXCIgOnBhZ2Utc2l6ZT1cInBhZ2luYXRpb24ucGFnZXNpemVcIj48L2VsLXBhZ2luYXRpb24+XHJcbiA8L2VsLWRpYWxvZz5cclxuICA8L2VsLWNvbnRhaW5lcj5cclxuICA8ZWwtZGlhbG9nIHYtbW9kZWw9XCJkaWFsb2dWaXNhYmxlXCIgOmRlc3Ryb3ktb24tY2xvc2U9dHJ1ZSBib2R5LWNsYXNzPVwibmV3RGlhbG9nQ2xhc3NcIj5cclxuXHJcbjxjb21wb25lbnQgOmlzPVwiZGlhbG9nc1tzaG93VHlwZV1cIiA6cGFyYW1zPVwiZGlhbG9ncGFyYW1zXCI+PC9jb21wb25lbnQ+XHJcbiAgPC9lbC1kaWFsb2c+XHJcblxyXG48L3RlbXBsYXRlPiBcclxuXHJcbjxzY3JpcHQgc2V0dXA+XHJcbmltcG9ydCB7IHJlZiwgb25Nb3VudGVkLHJlYWN0aXZlLHVzZVRlbXBsYXRlUmVmIH0gZnJvbSAndnVlJztcclxuaW1wb3J0IHtFbEljb24sRWxQYWdpbmF0aW9uLEVsRGlhbG9nLEVsVGFibGUsRWxUYWJsZUNvbHVtbiwgRWxDb250YWluZXIsIEVsTWFpbiwgRWxSYWRpb0J1dHRvbiwgRWxSb3csIEVsQ29sLCBFbFRvb2x0aXAsIEVsQ2hlY2tib3hHcm91cCwgRWxSYWRpbywgRWxSYWRpb0dyb3VwLCBFbFNlbGVjdCwgRWxPcHRpb24sIEVsRm9vdGVyLCBFbExpbmssIEVsRm9ybSwgRWxGb3JtSXRlbSwgRWxCdXR0b24sIEVsRGF0ZVBpY2tlciwgRWxDaGVja2JveCwgRWxJbnB1dCwgRWxJbnB1dE51bWJlciB9IGZyb20gJ2VsZW1lbnQtcGx1cyc7XHJcbmltcG9ydCAgVGVtcGxhdGVQb3N0aW9uTGlzdCBmcm9tICcuLi9UZW1wbGF0ZVBvc3Rpb25MaXN0J1xyXG5pbXBvcnQge1Bvc3RjYXJkIH0gZnJvbSAnQGVsZW1lbnQtcGx1cy9pY29ucy12dWUnIFxyXG4gXHJcbmltcG9ydCBTZWxlY3RQb3N0aW9uIGZyb20gJy4vU2VsZWN0UG9zdGlvbi52dWUnXHJcbmltcG9ydCBTZWxlY3RBcmVhIGZyb20gJy4vU2VsZWN0QXJlYS52dWUnXHJcbmltcG9ydCBQcmVWaWV3IGZyb20gJy4vUHJlVmlldy52dWUnXHJcbmNvbnN0IHByb3BzID0gZGVmaW5lUHJvcHMoWydwYXJhbXMnXSlcclxuY29uc3QgZm9ybXJlZj11c2VUZW1wbGF0ZVJlZignZm9ybWpvYicpXHJcbmNvbnN0IGRpYWxvZ1Zpc2FibGUgPXJlZihmYWxzZSlcclxuLy/lr7nor53moYbnsbvlnosgMemAieaLqeaooeadv++8jDLpgInmi6nogYzog73vvIwz6YCJ5oup5Zyw5Yy6XHJcbmNvbnN0IHNob3dUeXBlID0gcmVmKDEpXHJcbmNvbnN0IG5ld2N1cnJlbnRwYWdlPXJlZigxKVxyXG4gXHJcbmxldCBhZ2VNaW5PcHRpb24gPSByZWYoW10pXHJcbmxldCBhZ2VNYXhPcHRpb24gPSByZWYoW10pXHJcbmNvbnN0IGpvYk5hdHVyZUxpc3QgPSByZWYoW10pXHJcbmNvbnN0IGRpYWxvZ3MgPSBbJycsVGVtcGxhdGVQb3N0aW9uTGlzdCxTZWxlY3RQb3N0aW9uLFNlbGVjdEFyZWEsUHJlVmlld11cclxuXHJcbmNvbnN0IGdlbmRlckxpc3RPcHRpb24gPSByZWYoW10pXHJcbmNvbnN0IGV4cE9wdGlvbiA9IHJlZihbXSlcclxuY29uc3QgZWR1T3B0aW9uID0gcmVmKFtdKVxyXG5jb25zdCBkZWFkbGluZSA9IHJlZignJylcclxubGV0IHNhbGFyeU1heE9wdGlvbiA9IHJlZihbXSlcclxubGV0IHNhbGFyeU1pbk9wdGlvbiA9IHJlZihbXSlcclxuXHJcbmNvbnN0IGRpYWxvZ3BhcmFtcz0gcmVmKHt9KVxyXG5cclxuY29uc3QgcHJvcFNlbGVjdFBvc3Rpb24gPXJlZih7XHJcbiAgZGF0YWxpc3Q6W10sXHJcbiAgcmV0Q2FsbGJhY2s6KGl0ZW0pPT57ICAgIFxyXG4gICAgam9iRm9ybS5qb2JUeXBlTGFiZWw9aXRlbS5sYWJlbFxyXG4gICAgam9iRm9ybS5qb2JUeXBlPWl0ZW0udmFsdWVcclxuICAgIGRpYWxvZ1Zpc2FibGUudmFsdWU9ZmFsc2VcclxuICAgIGZvcm1yZWYudmFsdWUudmFsaWRhdGVGaWVsZCgnam9iVHlwZScpXHJcbiAgfVxyXG59KSAgXHJcbmNvbnN0IHByb3BTZWxlY3RBcmVhPXJlZih7XHJcbiAgZGF0YWxpc3Q6W10sXHJcbiAgIHJldENhbGxiYWNrOihwYXJlbnRpdGVtbmFlbSxpdGVtKT0+eyAgIFxyXG4gIGpvYkZvcm0uam9iQXJlYUxhYmVsPXBhcmVudGl0ZW1uYWVtKyctJytpdGVtLmxhYmVsO1xyXG4gIGpvYkZvcm0uam9iQXJlYT1pdGVtLnZhbHVlO1xyXG4gIGRpYWxvZ1Zpc2FibGUudmFsdWU9ZmFsc2VcclxuICAgfVxyXG59KVxyXG5cclxuICBcclxuXHJcbmNvbnN0IHBhZ2luYXRpb249cmVmKHtcclxuICB0b3RhbDowLFxyXG4gIGN1cnJlbnRwYWdlOjEsXHJcbiAgcGFnZXNpemU6MlxyXG59KVxyXG5cclxuXHJcblxyXG5jb25zdCBwYWdpbmF0aW9uY2hhbmdlPShjdXJyZW50UGFnZSwgcGFnZVNpemUpPT57ICBcclxuICAgLy/ojrflj5bogZTns7vkurrliJfooahcclxuICBwcm9wcy5wYXJhbXMuR2V0Q29udGFjdChjdXJyZW50UGFnZSxwYWdlU2l6ZSkudGhlbihkYXRhPT57XHJcbiAgY29udGFjdGxpc3QudmFsdWU9ZGF0YS5kYXRhLmRhdGEubGlzdDsgIFxyXG4gIH0pXHJcbn1cclxuXHJcbmNvbnN0IGNvbnRhY3RMaXN0VmlzaWJsZSA9IHJlZihmYWxzZSlcclxuLy8g6KGo5Y2V5pWw5o2uXHJcbmNvbnN0IGpvYkZvcm0gPSByZWFjdGl2ZSh7XHJcbiAgam9iVGVtcGxhdGVOYW1lOiAn6K+36YCJ5oup6IGM5L2N5qih5p2/JyxcclxuICB0bXBsSUQ6MCxcclxuICBqb2JOYW1lOiAnJyxcclxuICBqb2JUeXBlTGFiZWw6ICfor7fpgInmi6nogYzkvY3nsbvliKsnLFxyXG4gIGpvYlR5cGU6MCxcclxuICBoZWFkY291bnQ6MSxcclxuICBnZW5kZXI6JycsXHJcbiAgZ2VuZGVyaWQ6MCxcclxuICBnZW5kZXJMYWJlbDonJywgICBcclxuICBqb2JOYXR1cmU6MCxcclxuICBqb2JOYXR1cmVMYWJlbDonJyxcclxuICBqb2JBcmVhTGFiZWw6ICfor7fpgInmi6nlnLDljLonLFxyXG4gIGpvYkFyZWE6MCxcclxuICBhZGRyZXNzOiAnJywgICBcclxuICBlZHU6ICcnLCAgXHJcbiAgd29ya0V4cDogMCxcclxuICB3b3JrRXhwTGFiZWw6JycsXHJcbiAgZWR1TGFiZWw6JycsXHJcbiAgbWluQWdlOiAnJyxcclxuICBtYXhBZ2U6ICcnLFxyXG4gIG1pblNhbGFyeTonJyxcclxuICBtYXhTYWxhcnk6JycsXHJcbiAgam9iSW50cm86ICcnLFxyXG4gIGNvbnRhY3RQZXJzb246ICcnLFxyXG4gIGpvYkxpZ2h0OltdLFxyXG4gIGxpbmtNYW5JRDonJyxcclxuICBsaW5rTWFuRGVwdE5hbWU6JycsXHJcbiAgbGlua01hblJlYWxOYW1lOicnLFxyXG4gIG1hcExhdGl0dWRlOicwJyxcclxuICBtYXBMb25naXR1ZGU6JzAnLCBcclxuICBtYXBab29tOicxOCdcclxufSk7XHJcblxyXG5cclxuXHJcbi8vcnVsZXMgdmFsaWRhdG9yXHJcblxyXG5jb25zdCBydWxlX2NoZWNram9idHlwZSA9KHJ1bGUsdmFsdWUpPT57IFxyXG4gIHJldHVybiBqb2JGb3JtLmpvYlR5cGU+MFxyXG5cclxufVxyXG5jb25zdCBydWxlX2NoZWNrd29ya3R5cGU9KHJ1bGUsdmFsdWUpPT57XHJcbiAgcmV0dXJuIGpvYkZvcm0uam9iTmF0dXJlID4wXHJcbn1cclxuXHJcbmNvbnN0IHJ1bGVfY2hlY2tudW1nZW5kZXIgPShydWxlLHZhbHVlKSA9PntcclxuICByZXR1cm4gIG5ldyBQcm9taXNlKChyZXNvbHZlLHJlamVjdCk9PntcclxuICAgIGlmKGpvYkZvcm0uaGVhZGNvdW50PD0wKSByZWplY3QoJ+ivt+i+k+WFpeS6uuaVsCcpO1xyXG4gICAgaWYoam9iRm9ybS5nZW5kZXJpZCA9PSAwICkgcmVqZWN0KCfor7fpgInmi6nmgKfliKsnKTtcclxuICAgIHJlc29sdmUoKVxyXG4gIH0pXHJcbn1cclxuXHJcbmNvbnN0IHJ1bGVfY2hlY2tBZGRyZXNzPShydWxlLHZhbHVlKT0+e1xyXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSxyZWplY3QpPT57XHJcbiAgICBpZiggam9iRm9ybS5qb2JBcmVhPT0wICkgcmVqZWN0KCfor7fpgInmi6nlt6XkvZzlnLDljLonKSBcclxuICAgIGlmKGpvYkZvcm0uYWRkcmVzcy5sZW5ndGg9PTApIHJlamVjdCgn6K+36L6T5YWl6K+m57uG5Zyw5Z2AJylcclxuICAgIHJlc29sdmUoKTtcclxuICB9KVxyXG59XHJcblxyXG5jb25zdCBydWxlX2VkdWNhdGlvbj0ocnVsZSx2YWx1ZSk9PntcclxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+e1xyXG4gICAgICBpZihqb2JGb3JtLndvcmtFeHAgPT0gMCkgcmVqZWN0KCfor7fpgInmi6nlt6XkvZznu4/pqownKVxyXG4gICAgICBpZihqb2JGb3JtLmVkdSA9PSAwKSByZWplY3QoJ+ivt+mAieaLqeWtpuWOhicpXHJcbiAgICAgIHJlc29sdmUoKVxyXG4gIH0pXHJcbn1cclxuXHJcbmNvbnN0IHJ1bGVfc2FsYXJ5PShydWxlLHZhbHVlKT0+e1xyXG4gIHJldHVybiAgbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+e1xyXG4gICAgICBpZihqb2JGb3JtLm1pblNhbGFyeS5sZW5ndGggPT0wIHx8IGpvYkZvcm0ubWF4U2FsYXJ5Lmxlbmd0aCA9PTApIHJlamVjdCgn6K+36YCJ5oup6Jaq6LWEJylcclxuICAgICAgcmVzb2x2ZSgpXHJcbiAgfSlcclxufVxyXG5jb25zdCBydWxlX2FnZT0ocnVsZSx2YWx1ZSk9PntcclxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+e1xyXG4gICAgICBpZihqb2JGb3JtLm1heEFnZS5sZW5ndGggPT0gMCAgfHwgam9iRm9ybS5taW5BZ2UubGVuZ3RoID09IDApIHJlamVjdCgn6K+36YCJ5oup5bm06b6EJylcclxuICAgICAgcmVzb2x2ZSgpXHJcbiAgfSlcclxufVxyXG5cclxuY29uc3QgcnVsZV9qb2JoaWdodGxpZ2h0PShydWxlLHZhbHVlKT0+e1xyXG4gcmV0dXJuIGpvYkZvcm0uam9iTGlnaHQubGVuZ3RoID4wXHJcbn0gIFxyXG5jb25zdCBydWxlX2RlYWRsaW5lPShydWxlLHZhbHVlKT0+e1xyXG4gIFxyXG4gIHJldHVybiAgZGVhZGxpbmUudmFsdWUubGVuZ3RoPjBcclxufVxyXG5jb25zdCBydWxlX2pvYkRlc2NyaXB0PShydWxlLHZhbHVlKT0+e1xyXG4gIHJldHVybiAgam9iRm9ybS5qb2JJbnRyby5sZW5ndGg+MFxyXG59XHJcblxyXG4vL1xyXG4gXHJcbmNvbnN0IHJ1bGVzID0gcmVhY3RpdmUoe1xyXG4gIGpvYk5hbWU6W3sgcmVxdWlyZWQ6dHJ1ZSxtZXNzYWdlOlwi6K+36L6T5YWl6IGM5L2N5ZCN56ewXCIsdHJpZ2dlcjonYmx1cid9XSxcclxuICBqb2JUeXBlOlt7cmVxdWlyZWQ6dHJ1ZSxtZXNzYWdlOifor7fpgInmi6nogYzkvY3nsbvliKsnLHZhbGlkYXRvcjpydWxlX2NoZWNram9idHlwZSx0cmlnZ2VyOlsnYmx1ciddfV0sXHJcbiAgd29ya1R5cGU6W3tyZXF1aXJlZDp0cnVlLHZhbGlkYXRvcjpydWxlX2NoZWNrd29ya3R5cGUsbWVzc2FnZTon6K+36YCJ5oup5bel5L2c5oCn6LSoJyx0cmlnZ2VyOlsnYmx1cicsJ2NoYW5nZSddfV0sXHJcbiAgd29ya0FkZHJlc3M6W3tyZXF1aXJlZDp0cnVlLGFzeW5jVmFsaWRhdG9yOnJ1bGVfY2hlY2tBZGRyZXNzLHRyaWdnZXI6J2JsdXInfV0sXHJcbiAgbnVtQW5kR2VuZGVyOlt7cmVxdWlyZWQ6dHJ1ZSxhc3luY1ZhbGlkYXRvcjpydWxlX2NoZWNrbnVtZ2VuZGVyLHRyaWdnZXI6WydibHVyJywnY2hhbmdlJ119XSxcclxuICBleHBlcmllbmNlOlt7cmVxdWlyZWQ6dHJ1ZSxhc3luY1ZhbGlkYXRvcjpydWxlX2VkdWNhdGlvbix0cmlnZ2VyOlsnYmx1ZScsJ2NoYW5nZSddfV0sXHJcbiAgc2FsYXJ5UmFuZ2U6W3tyZXF1aXJlZDp0cnVlLCBhc3luY1ZhbGlkYXRvcjpydWxlX3NhbGFyeSx0cmlnZ2VyOlsnYmx1ZScsJ2NoYW5nZSddfV0sIFxyXG4gIGFnZVJhbmdlOlt7cmVxdWlyZWQ6dHJ1ZSxhc3luY1ZhbGlkYXRvcjpydWxlX2FnZSx0cmlnZ2VyOlsnYmx1ZScsJ2NoYW5nZSddfV0sXHJcbiAgam9iRGVzY3JpcHRpb246W3tyZXF1aXJlZDp0cnVlLCB2YWxpZGF0b3I6cnVsZV9qb2JEZXNjcmlwdCwgbWVzc2FnZTon6K+36L6T5YWl5bKX5L2N5o+P6L+wJyx0cmlnZ2VyOidibHVyJ31dLFxyXG4gIGpvYkhpZ2hsaWdodHM6W3tyZXF1aXJlZDp0cnVlLHZhbGlkYXRvcjpydWxlX2pvYmhpZ2h0bGlnaHQsbWVzc2FnZTon6K+36YCJ5oup5bKX5L2N5Lqu54K5Jyx0cmlnZ2VyOlsnYmx1cicsJ2NoYW5nZSddfV0sXHJcbiAgZGVhZGxpbmU6W3tyZXF1aXJlZDp0cnVlLHZhbGlkYXRvcjpydWxlX2RlYWRsaW5lLG1lc3NhZ2U6J+ivt+i+k+WFpeaIquiHs+aXpeacnycsdHJpZ2dlcjpbJ2JsdXInLCdjaGFuZ2UnXX1dXHJcblxyXG59KVxyXG4gXHJcblxyXG5cclxuZm9yIChpID0gMTY7IGkgPCA2MTsgaSsrKSB7XHJcbiAgYWdlTWluT3B0aW9uLnZhbHVlLnB1c2goeyBsYWJsZTogaSwgdmFsdWU6IGksIGlkOiBpIH0pXHJcbiAgYWdlTWF4T3B0aW9uLnZhbHVlLnB1c2goeyBsYWJsZTogaSwgdmFsdWU6IGksIGlkOiBpIH0pXHJcbn1cclxuZm9yIChpID0gNDsgaSA8IDUxOyBpKyspIHtcclxuICBzYWxhcnlNYXhPcHRpb24udmFsdWUucHVzaCh7IGxhYmxlOiBpICsgJ2snLCB2YWx1ZTogaSArICdrJywgaWQ6IGkgfSlcclxuICBzYWxhcnlNaW5PcHRpb24udmFsdWUucHVzaCh7IGxhYmxlOiBpICsgJ2snLCB2YWx1ZTogaSArICdrJywgaWQ6IGkgfSlcclxufVxyXG5sZXQgdGVtcGxhdGVQb3NpdGlvbj1yZWYoe1xyXG4gIGRhdGFsaXN0OltdLFxyXG4gIGlzc2VsZWN0OnRydWUsXHJcbiAgc2VsZWN0dGVtcGxhdGU6KHJvdyk9PntcclxuICBcclxuICAgIGpvYkZvcm0uam9iVGVtcGxhdGVOYW1lPXJvdy50bXBsTmFtZVxyXG4gICAgam9iRm9ybS50bXBsSUQ9cm93LmlkXHJcbiAgICBqb2JGb3JtLmpvYk5hbWU9cm93LmpvYk5hbWVcclxuICAgXHJcbiAgICBkaWFsb2dWaXNhYmxlLnZhbHVlPWZhbHNlXHJcbiAgfVxyXG59KVxyXG5sZXQgY29udGFjdGxpc3Q9cmVmKFtdKVxyXG5sZXQgbGlnaHRzb3B0aW9uID0gcmVmKFtdKVxyXG4gXHJcbm9uTW91bnRlZCgoKSA9PiB7XHJcbiAgcHJvcHMucGFyYW1zLkdldERpYygpLnRoZW4oZGF0YSA9PiB7XHJcbiAgICBsaWdodHNvcHRpb24udmFsdWUgPSBkYXRhLmRhdGEuZGF0YS5kaWNDbGFzc2lmeS5iZW5lZml0TGlzdFxyXG4gICAgam9iTmF0dXJlTGlzdC52YWx1ZSA9IGRhdGEuZGF0YS5kYXRhLmRpY0NsYXNzaWZ5LmpvYk5hdHVyZUxpc3RcclxuICAgIGxldCB0bXBnZW5kZXJsaXN0ID0gZGF0YS5kYXRhLmRhdGEuZGljQ2xhc3NpZnkuZ2VuZGVyTGlzdFxyXG4gICAgLy/mt7vliqDkuI3pmZBcclxuICAgIHRtcGdlbmRlcmxpc3QucHVzaCh7IHZhbHVlOiBcIjk5OVwiLCBsYWJlbDogXCLkuI3pmZBcIiwgc246IFwiOTk5XCIgfSk7XHJcbiAgICBnZW5kZXJMaXN0T3B0aW9uLnZhbHVlID0gdG1wZ2VuZGVybGlzdDtcclxuICAgIGV4cE9wdGlvbi52YWx1ZSA9IGRhdGEuZGF0YS5kYXRhLmRpY0NsYXNzaWZ5LndvcmtFeHBMaXN0O1xyXG4gICAgZWR1T3B0aW9uLnZhbHVlID0gZGF0YS5kYXRhLmRhdGEuZGljQ2xhc3NpZnkuZWR1TGlzdDtcclxuICAgIHByb3BTZWxlY3RQb3N0aW9uLnZhbHVlLmRhdGFsaXN0PWRhdGEuZGF0YS5kYXRhLmRpY0NsYXNzaWZ5LmpvYlR5cGVDb2xsZWN0aW9uTGlzdDtcclxuICAgIHByb3BTZWxlY3RBcmVhLnZhbHVlLmRhdGFsaXN0PWRhdGEuZGF0YS5kYXRhLmRpY0NsYXNzaWZ5LmFyZWFTcGVjaWFsTGlzdFxyXG5cclxuICB9KVxyXG4gIC8v6I635Y+W6IGU57O75Lq65YiX6KGoXHJcbiAgcHJvcHMucGFyYW1zLkdldENvbnRhY3QoMSwyKS50aGVuKGRhdGE9PntcclxuXHJcbiAgY29udGFjdGxpc3QudmFsdWU9ZGF0YS5kYXRhLmRhdGEubGlzdDtcclxuICBwYWdpbmF0aW9uLnZhbHVlLnRvdGFsPSBOdW1iZXIucGFyc2VJbnQoZGF0YS5kYXRhLmRhdGEudG90YWwpO1xyXG4gIGxldCB0bXBkZWZhdWx0ID1kYXRhLmRhdGEuZGF0YS5saXN0LmZpbHRlcih4PT54LmlzRGVmYXVsdD09MSk7XHJcbiAgaWYodG1wZGVmYXVsdCE9bnVsbCAmJiB0bXBkZWZhdWx0Lmxlbmd0aD4wKVxyXG4gICAgam9iRm9ybS5jb250YWN0UGVyc29uPSBgJHt0bXBkZWZhdWx0WzBdLmRlcHROYW1lfS8ke3RtcGRlZmF1bHRbMF0ucmVhbE5hbWV9YDtcclxuICAgIGpvYkZvcm0ubGlua01hbkRlcHROYW1lPXRtcGRlZmF1bHRbMF0uZGVwdE5hbWU7XHJcbiAgICBqb2JGb3JtLmxpbmtNYW5SZWFsTmFtZT10bXBkZWZhdWx0WzBdLnJlYWxOYW1lO1xyXG4gICAgam9iRm9ybS5saW5rTWFuSUQ9dG1wZGVmYXVsdFswXS5pZDtcclxuICB9KVxyXG5cclxuICBwcm9wcy5wYXJhbXMuR2V0VGVtcGxhdGVQb3NpdGlvbigpLnRoZW4oZGF0YT0+eyBcclxuICAgIHRlbXBsYXRlUG9zaXRpb24udmFsdWUuZGF0YWxpc3QgPWRhdGEuZGF0YS5kYXRhLmxpc3Q7XHJcbiAgIFxyXG4gIH0pXHJcblxyXG4gcHJvcHMucGFyYW1zLkdldERlYWRsaW5lKCkudGhlbihkYXRhPT57XHJcbiAgLy9jb25zb2xlLmxvZyhkYXRhLmRhdGEuZGF0YS5kZWZhdWx0RGF0ZSlcclxuICAvL2RlYWRsaW5lLnZhbHVlPWRhdGEuZGF0YS5kYXRhLmRlZmF1bHREYXRlO1xyXG4gIGRlYWRsaW5lLnZhbHVlPWRhdGEuZGF0YS5kYXRhLm1heERhdGU7XHJcbiAgXHJcbiBcclxuIH0pXHJcblxyXG59KVxyXG5cclxuXHJcbi8vIOWvvOiIquiPnOWNlea/gOa0u+mhuVxyXG4vL2NvbnN0IGFjdGl2ZU1lbnUgPSByZWYoJ29ubGluZS1yZWNydWl0Jyk7XHJcbi8v6YCJ5oup6IGU57O75Lq6XHJcbmNvbnN0IHNlbGVjdGNvbnRhY3QgPSAocm93KT0+e1xyXG4gICAgICBqb2JGb3JtLmNvbnRhY3RQZXJzb249IGAke3Jvdy5kZXB0TmFtZX0vJHtyb3cucmVhbE5hbWV9YDtcclxuICAgICAgam9iRm9ybS5saW5rTWFuRGVwdE5hbWU9cm93LmRlcHROYW1lO1xyXG4gICAgICBqb2JGb3JtLmxpbmtNYW5SZWFsTmFtZT1yb3cucmVhbE5hbWU7XHJcbiAgICAgIGNvbnRhY3RMaXN0VmlzaWJsZS52YWx1ZT1mYWxzZTtcclxuXHJcbn1cclxuXHJcbmNvbnN0IG1pblNhbGFyeUNoYW5nZT0odmFsdWUpPT57XHJcbiAgc2FsYXJ5TWF4T3B0aW9uLnZhbHVlPVtdXHJcbiAgZm9yIChpID0gcGFyc2VJbnQodmFsdWUpOyBpIDwgNTE7IGkrKykge1xyXG4gIHNhbGFyeU1heE9wdGlvbi52YWx1ZS5wdXNoKHsgbGFibGU6IGkgKyAnaycsIHZhbHVlOiBpICsgJ2snLCBpZDogaSB9KVxyXG4gICBcclxufVxyXG5cclxufVxyXG5jb25zdCAgbWF4U2FsYXJ5Q2hhbmdlPSh2YWx1ZSk9PntcclxuICBzYWxhcnlNaW5PcHRpb24udmFsdWU9W11cclxuICBmb3IgKGkgPSA0OyBpIDw9IHBhcnNlSW50KHZhbHVlKTsgaSsrKVxyXG4gIHsgIFxyXG4gICAgc2FsYXJ5TWluT3B0aW9uLnZhbHVlLnB1c2goeyBsYWJsZTogaSArICdrJywgdmFsdWU6IGkgKyAnaycsIGlkOiBpIH0pXHJcbiAgfVxyXG59XHJcblxyXG5jb25zdCBhZ2VNaW5DaGFuZ2UgPSAodmFsdWUpID0+IHtcclxuIGFnZU1heE9wdGlvbi52YWx1ZT1bXVxyXG5mb3IgKGkgPSBOdW1iZXIucGFyc2VJbnQodmFsdWUpOyBpIDwgNjE7IGkrKykgeyAgXHJcbiAgYWdlTWF4T3B0aW9uLnZhbHVlLnB1c2goeyBsYWJsZTogaSwgdmFsdWU6IGksIGlkOiBpIH0pXHJcbiB9XHJcbn0gXHJcbmNvbnN0IGFnZU1heENoYW5nZSA9ICh2YWx1ZSkgPT57XHJcbiAgYWdlTWluT3B0aW9uLnZhbHVlPVtdXHJcbiAgZm9yIChpID0gMTY7IGkgPD0gTnVtYmVyLnBhcnNlSW50KHZhbHVlKTsgaSsrKVxyXG4gIHtcclxuICAgIGFnZU1pbk9wdGlvbi52YWx1ZS5wdXNoKHsgbGFibGU6IGksIHZhbHVlOiBpLCBpZDogaSB9KSAgXHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8g6KGo5Y2V5pa55rOVXHJcbmNvbnN0IHNhdmVEcmFmdCA9ICgpID0+IHtcclxuIFxyXG4gIGZvcm1yZWYudmFsdWUudmFsaWRhdGUoKHZhbGlkLCBmaWVsZHMpID0+IHtcclxuICAgIGlmICh2YWxpZCkge1xyXG4gICAgICBqb2JGb3JtLmhlYWRjb3VudD1qb2JGb3JtLmhlYWRjb3VudCsnJztcclxuICAgICAgam9iRm9ybS5tYXhBZ2U9am9iRm9ybS5tYXhBZ2UrJyc7XHJcbiAgICAgIGpvYkZvcm0ubWluQWdlPWpvYkZvcm0ubWluQWdlKycnO1xyXG4gICAgICBqb2JGb3JtLmpvYkxpZ2h0PSBqb2JGb3JtLmpvYkxpZ2h0LmpvaW4oJ3wnKTtcclxuICAgICAgam9iRm9ybS5taW5TYWxhcnk9am9iRm9ybS5taW5TYWxhcnkucmVwbGFjZSgnaycsJycpOyAgICAgIFxyXG4gICAgICBqb2JGb3JtLm1heFNhbGFyeT1qb2JGb3JtLm1heFNhbGFyeS5yZXBsYWNlKCdrJywnJyk7XHJcbiAgICAgIGpvYkZvcm0uam9iTmF0dXJlTGFiZWw9IGpvYk5hdHVyZUxpc3QudmFsdWUuZmlsdGVyKHg9PngudmFsdWU9PWpvYkZvcm0uam9iTmF0dXJlKVswXS5sYWJlbDtcclxuICAgICAgcHJvcHMucGFyYW1zLlNhdmVQb3NUZW1wbGF0ZSh7Li4uam9iRm9ybSx0bXBsTmFtZTpqb2JGb3JtLmpvYk5hbWUrJ1/mqKHmnb8nLGpvYkVuZERhdGU6ZGVhZGxpbmUudmFsdWV9KVxyXG4gICAgICAudGhlbihkYXRhPT57XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLmqKHmnb/kv53lrZjmlbDmja5cIixkYXRhKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZygnZXJyb3Igc3VibWl0IScsIGZpZWxkcylcclxuICAgIH1cclxuICB9KVxyXG4gIC8vIOWtmOS4uuiNieeov+mAu+i+kVxyXG4gIGFsZXJ0KCflt7Lkv53lrZjkuLrojYnnqL8nKTtcclxufTtcclxuXHJcbmNvbnN0IHByZXZpZXdKb2IgPSAoKSA9PiB7XHJcbiAgLy8g6aKE6KeI6IGM5L2N6YC7XHJcbiAgZGlhbG9ncGFyYW1zPSB7Li4uam9iRm9ybX07IFxyXG4gIHNob3dUeXBlPTQ7IFxyXG4gIGRpYWxvZ1Zpc2FibGU9dHJ1ZTtcclxuICBhbGVydCgn6IGM5L2N6aKE6KeIJyk7XHJcbn07XHJcblxyXG5jb25zdCBwdWJsaXNoSm9iID0gKCkgPT4ge1xyXG4gIC8vIOWPkeW4g+iBjOS9jemAu+i+kVxyXG4gIGZvcm1yZWYudmFsdWUudmFsaWRhdGUoKHZhbGlkLCBmaWVsZHMpID0+IHtcclxuICAgIGlmICh2YWxpZCkge1xyXG4gICAgICBqb2JGb3JtLnRtcGxJRD1qb2JGb3JtLnRtcGxJRCsnJztcclxuICAgICAgLy9qb2JGb3JtLmhlYWRjb3VudD1qb2JGb3JtLmhlYWRjb3VudCsnJztcclxuICAgICAgam9iRm9ybS5tYXhBZ2U9am9iRm9ybS5tYXhBZ2UrJyc7XHJcbiAgICAgIGpvYkZvcm0ubWluQWdlPWpvYkZvcm0ubWluQWdlKycnO1xyXG4gICAgICAvL2pvYkZvcm0uam9iTGlnaHQ9IGpvYkZvcm0uam9iTGlnaHQuam9pbignfCcpO1xyXG4gICAgICBqb2JGb3JtLm1pblNhbGFyeT1qb2JGb3JtLm1pblNhbGFyeS5yZXBsYWNlKCdrJywnJyk7ICAgICAgXHJcbiAgICAgIGpvYkZvcm0ubWF4U2FsYXJ5PWpvYkZvcm0ubWF4U2FsYXJ5LnJlcGxhY2UoJ2snLCcnKTtcclxuICAgICAgam9iRm9ybS5qb2JOYXR1cmVMYWJlbD0gam9iTmF0dXJlTGlzdC52YWx1ZT8uZmlsdGVyKHg9PngudmFsdWU9PWpvYkZvcm0uam9iTmF0dXJlKVswXS5sYWJlbDtcclxuICAgICAgcHJvcHMucGFyYW1zLlNhdmVQb3Moey4uLmpvYkZvcm0saGVhZGNvdW50OmpvYkZvcm0uaGVhZGNvdW50KycnLGpvYkxpZ2h0OmpvYkZvcm0uam9iTGlnaHQuam9pbignfCcpLHRtcGxOYW1lOicnLGpvYkVuZERhdGU6ZGVhZGxpbmUudmFsdWV9KVxyXG4gICAgICAudGhlbihkYXRhPT57XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLkv53lrZjmlbDmja5cIixkYXRhKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZygnZXJyb3Igc3VibWl0IScsIGZpZWxkcylcclxuICAgIH1cclxuICB9KTtcclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG4gLm5ld0RpYWxvZ0NsYXNze1xyXG4gIHBhZGRpbmctdG9wOjBcclxufVxyXG4uaWNvbi1yaWdodCB7XHJcbnJpZ2h0OjE1cHg7XHJcbnBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuLnBhZ2UtY29udGFpbmVyIHtcclxuICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5oZWFkZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjVERkY7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmhlYWRlci1jb250ZW50IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDAgMjBweDtcclxuICBoZWlnaHQ6IDYwcHg7XHJcbn1cclxuXHJcbi5sb2dvIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4ubG9nby10ZXh0IHtcclxuICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmNvbXBhbnktaW5mbyB7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLm5hdi1tZW51IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNmViO1xyXG59XHJcblxyXG4ubmF2LW1lbnUgLmVsLW1lbnUtaXRlbS5hY3RpdmUge1xyXG4gIGNvbG9yOiAjMTY1REZGO1xyXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMTY1REZGO1xyXG59XHJcblxyXG4uYnJlYWRjcnVtYi1jb250YWluZXIge1xyXG4gIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNmViO1xyXG59XHJcblxyXG4ubWFpbi1jb250ZW50IHtcclxuICBmbGV4OiAxO1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmYTtcclxufVxyXG5cclxuLmpvYi1mb3JtIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi8qIC5mb3JtLWFjdGlvbnMge1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBnYXA6IDE1cHg7XHJcbn0gKi9cclxuXHJcbi5oaWdobGlnaHRzLWRlc2Mge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgY29sb3I6ICM2MDYyNjY7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG4uaGlnaGxpZ2h0cy1ncm91cCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgZ2FwOiAxNXB4O1xyXG59XHJcblxyXG4uaGlnaGxpZ2h0cy1ncm91cCAuZWwtY2hlY2tib3gge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5oZWxwLWxpbmssXHJcbi5tYW5hZ2UtbGluayxcclxuLmFkZC1tb3JlIHtcclxuICBjb2xvcjogIzE2NURGRiAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6IDAgNXB4O1xyXG59XHJcblxyXG4uZGVhZGxpbmUtZGVzYyB7XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIGNvbG9yOiAjNjA2MjY2O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG5cclxuLmZvb3RlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmYTtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTZlYjtcclxufVxyXG5cclxuLmZvb3Rlci1jb250ZW50IHtcclxuICBjb2xvcjogIzYwNjI2NjtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbn1cclxuXHJcbi5mb290ZXItY29udGVudCBzcGFuIHtcclxuICBtYXJnaW46IDAgMTBweDtcclxufVxyXG5cclxuLmNvcHlyaWdodCB7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG48L3N0eWxlPiIsIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwicGFnZS1jb250YWluZXJcIj5cclxuICAgIDwhLS0g5aS06YOo5a+86Iiq77yI566A5YyW77yM5L+d55WZ5qC45b+D57uT5p6E77yJIC0tPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXZjb250YWluZXIgYm9keS1iYWNrLWNvbG9yIGJvZHktcGFkZGluZ1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGFnZWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6IDMwcHhcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2bmF2XCI+6IGM5L2N566h55CGID4+IOWPkeW4g+aWsOiBjOS9jTwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIOaguOW/g+ihqOWNleWMuuWfnyAtLT5cclxuICAgICAgICA8ZWwtZm9ybSByZWY9XCJwb3NpdGlvbkZvcm1SZWZcIiA6bW9kZWw9XCJwb3NpdGlvbkZvcm1cIiA6cnVsZXM9XCJmb3JtUnVsZXNcIiBsYWJlbC13aWR0aD1cIjEzMHB4XCIgY2xhc3M9XCJkaXZjb250ZW50XCI+XHJcbiAgICAgICAgICA8IS0tIOiBjOS9jeaooeadvyBcclxuICAgICAgICAgIDxlbC1mb3JtLWl0ZW0gbGFiZWw9XCLogYzkvY3mqKHmnb86XCIgcHJvcD1cInRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxlbC1zZWxlY3Qgdi1tb2RlbD1cInBvc2l0aW9uRm9ybS50ZW1wbGF0ZVwiIHBsYWNlaG9sZGVyPVwi5qih5p2/6IGM5L2N5Y+v5YeP5bCR55u45Ly86IGM5L2N5L+h5oGv55qE5aGr5YaZXCIgY2xhc3M9XCJ3LTUwXCJcclxuICAgICAgICAgICAgICBAY2xpY2s9XCJ0ZW1wbGF0ZURpYWxvZ1Zpc2libGUgPSB0cnVlXCI+XHJcbiAgICAgICAgICAgICAgPGVsLW9wdGlvbiBsYWJlbD1cIuivt+mAieaLqeiBjOS9jeaooeadv1wiIHZhbHVlPVwiXCI+PC9lbC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvZWwtc2VsZWN0PlxyXG4gICAgICAgICAgPC9lbC1mb3JtLWl0ZW0+XHJcbiAgICAgICAgICAtLT5cclxuICAgICAgICAgIDwhLS0g6IGM5L2N5ZCN56ewIC0tPlxyXG4gICAgICAgICAgPGVsLWZvcm0taXRlbSBsYWJlbD1cIuiBjOS9jeWQjeensDpcIiBwcm9wPVwiam9iTmFtZVwiPlxyXG4gICAgICAgICAgICA8ZWwtaW5wdXQgdi1tb2RlbD1cInBvc2l0aW9uRm9ybS5qb2JOYW1lXCIgcGxhY2Vob2xkZXI9XCLlpoI65Lq65Yqb6LWE5rqQ57uP55CGLOivt+WLv+i2hei/hzMw5Liq5a2XXCIgbWF4bGVuZ3RoPVwiMzBcIiBjbGFzcz1cInctNTBcIiAvPlxyXG4gICAgICAgICAgPC9lbC1mb3JtLWl0ZW0+XHJcblxyXG4gICAgICAgICAgPCEtLSDogYzkvY3nsbvliKsgLS0+XHJcbiAgICAgICAgICA8ZWwtZm9ybS1pdGVtIGxhYmVsPVwi6IGM5L2N57G75YirOlwiIHByb3A9XCJqb2JUeXBlXCI+XHJcbiAgICAgICAgICAgIDxlbC1jYXNjYWRlciBAY2hhbmdlPVwiKHZhbHVlKSA9PiB7IGNoYW5nZWhhbmRsZSh2YWx1ZSwgJ2pvYnR5cGUnKSB9XCIgdi1tb2RlbD1cInBvc2l0aW9uRm9ybS5qb2JUeXBlXCJcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIumAieaLqeiBjOS9jeexu+WIq1wiIGNsYXNzPVwidy01MFwiIDpwcm9wcz1cImNhc2NhZGVycHJvcHNcIiA6b3B0aW9ucz1cImRpY3RvYmouam9iVHlwZUxpc3RcIj48L2VsLWNhc2NhZGVyPlxyXG4gICAgICAgICAgPC9lbC1mb3JtLWl0ZW0+XHJcblxyXG4gICAgICAgICAgPCEtLSDlt6XkvZzmgKfotKggLS0+XHJcbiAgICAgICAgICA8ZWwtZm9ybS1pdGVtIGxhYmVsPVwi5bel5L2c5oCn6LSoOlwiIHByb3A9XCJqb2JOYXR1cmVcIj5cclxuICAgICAgICAgICAgPGVsLXJhZGlvLWdyb3VwIHYtbW9kZWw9XCJwb3NpdGlvbkZvcm0uam9iTmF0dXJlXCI+XHJcbiAgICAgICAgICAgICAgPGVsLXJhZGlvIEBjaGFuZ2U9XCIodmFsdWUpID0+IHsgY2hhbmdlaGFuZGxlKHZhbHVlLCAnam9ibmF0dXJlJykgfVwiIHYtZm9yPVwiaXRlbSBpbiBkaWN0b2JqLmpvYk5hdHVyZUxpc3RcIlxyXG4gICAgICAgICAgICAgICAgOmtleT1cIml0ZW0udmFsdWVcIiA6dmFsdWU9XCJpdGVtLnZhbHVlXCI+e3sgaXRlbS5sYWJlbCB9fTwvZWwtcmFkaW8+XHJcbiAgICAgICAgICAgIDwvZWwtcmFkaW8tZ3JvdXA+XHJcbiAgICAgICAgICA8L2VsLWZvcm0taXRlbT5cclxuXHJcbiAgICAgICAgICA8IS0tIOW3peS9nOWcsOWdgCAtLT5cclxuICAgICAgICAgIDxlbC1mb3JtLWl0ZW0gbGFiZWw9XCLlt6XkvZzlnLDlnYA6XCIgcHJvcD1cImpvYkFkZHJlc3NcIj5cclxuICAgICAgICAgICAgPGVsLWNhc2NhZGVyIEBjaGFuZ2U9XCIodmFsdWUpID0+IHsgY2hhbmdlaGFuZGxlKHZhbHVlLCAnam9iYXJlYScpIH1cIiB2LW1vZGVsPVwicG9zaXRpb25Gb3JtLmFyZWFcIlxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6YCJ5oup5Yy65Z+fXCIgY2xhc3M9XCJ3LTI1IG1yLTJcIiA6cHJvcHM9XCJjYXNjYWRlcnByb3BzXCJcclxuICAgICAgICAgICAgICA6b3B0aW9ucz1cImRpY3RvYmouYXJlYVNwZWNpYWxMaXN0XCI+PC9lbC1jYXNjYWRlcj5cclxuICAgICAgICAgICAgPGVsLWlucHV0IHYtbW9kZWw9XCJwb3NpdGlvbkZvcm0uYWRkcmVzc1wiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6K+m57uG5Zyw5Z2AKOihl+mBky/ot6/niYwpXCIgY2xhc3M9XCJ3LTUwXCIgLz5cclxuICAgICAgICAgIDwvZWwtZm9ybS1pdGVtPlxyXG5cclxuICAgICAgICAgIDwhLS0g5Lq65pWw5ZKM5oCn5YirIC0tPlxyXG4gICAgICAgICAgPGVsLWZvcm0taXRlbSBsYWJlbD1cIuS6uuaVsOWSjOaAp+WIqzpcIiBwcm9wPVwiaGVhZENvdW50QW5kU2V4XCI+XHJcbiAgICAgICAgICAgIDxlbC1pbnB1dCB2LW1vZGVsPVwicG9zaXRpb25Gb3JtLmhlYWRjb3VudFwiIHBsYWNlaG9sZGVyPVwi6L6T5YWl6ZyA5rGC5Lq65pWwKOaVsOWtlylcIiB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJ3LTIwIG1yLTJcIiAvPlxyXG4gICAgICAgICAgICA8ZWwtc2VsZWN0IEBjaGFuZ2U9XCIodmFsdWUpID0+IHsgY2hhbmdlaGFuZGxlKHZhbHVlLCAnc2V4JykgfVwiIHYtbW9kZWw9XCJwb3NpdGlvbkZvcm0uZ2VuZGVyXCIgcGxhY2Vob2xkZXI9XCLpgInmi6nmgKfliKtcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidy0yMFwiPlxyXG4gICAgICAgICAgICAgIDxlbC1vcHRpb24gdi1mb3I9XCJpdGVtIGluIHNleG9wdGlvbnNcIiA6a2V5PVwiaXRlbS52YWx1ZVwiIDpsYWJlbD1cIml0ZW0ubGFiZWxcIiA6dmFsdWU9XCJpdGVtLnZhbHVlXCIgLz5cclxuICAgICAgICAgICAgPC9lbC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L2VsLWZvcm0taXRlbT5cclxuXHJcbiAgICAgICAgICA8IS0tIOe7j+mqjOWSjOWtpuWOhiAtLT5cclxuICAgICAgICAgIDxlbC1mb3JtLWl0ZW0gbGFiZWw9XCLnu4/pqozlkozlrabljoY6XCIgcHJvcD1cImV4cGVyaWVuY2VBbmRFZHVjYXRpb25cIj5cclxuICAgICAgICAgICAgPGVsLXNlbGVjdCBAY2hhbmdlPVwiKHZhbHVlKSA9PiB7IGNoYW5nZWhhbmRsZSh2YWx1ZSwgJ2V4cCcpIH1cIiB2LW1vZGVsPVwicG9zaXRpb25Gb3JtLndvcmtFeHBcIlxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6YCJ5oup57uP6aqMXCIgY2xhc3M9XCJ3LTIwIG1yLTJcIj5cclxuICAgICAgICAgICAgICA8ZWwtb3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBkaWN0b2JqLndvcmtFeHBMaXN0XCIgOmtleT1cIml0ZW0udmFsdWVcIiA6bGFiZWw9XCJpdGVtLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgIDp2YWx1ZT1cIml0ZW0udmFsdWVcIj48L2VsLW9wdGlvbj5cclxuICAgICAgICAgICAgPC9lbC1zZWxlY3Q+XHJcbiAgICAgICAgICAgIDxlbC1zZWxlY3QgQGNoYW5nZT1cIih2YWx1ZSkgPT4geyBjaGFuZ2VoYW5kbGUodmFsdWUsICdlZHUnKSB9XCIgdi1tb2RlbD1cInBvc2l0aW9uRm9ybS5lZHVcIlxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6YCJ5oup5a2m5Y6GXCIgY2xhc3M9XCJ3LTIwXCI+XHJcbiAgICAgICAgICAgICAgPGVsLW9wdGlvbiB2LWZvcj1cIml0ZW0gaW4gZGljdG9iai5lZHVMaXN0XCIgOmtleT1cIml0ZW0udmFsdWVcIiA6bGFiZWw9XCJpdGVtLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgIDp2YWx1ZT1cIml0ZW0udmFsdWVcIj48L2VsLW9wdGlvbj5cclxuICAgICAgICAgICAgPC9lbC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L2VsLWZvcm0taXRlbT5cclxuXHJcbiAgICAgICAgICA8IS0tIOiBjOS9jeaciOiWqiAtLT5cclxuICAgICAgICAgIDxlbC1mb3JtLWl0ZW0gbGFiZWw9XCLogYzkvY3mnIjolqo6XCIgcHJvcD1cInNhbGFyeVwiPlxyXG4gICAgICAgICAgICA8ZWwtc2VsZWN0IEBjaGFuZ2U9XCIodmFsdWUpID0+IHsgY2hhbmdlaGFuZGxlKHZhbHVlLCAnc2FsYXJ5bWluJykgfVwiIHYtbW9kZWw9XCJwb3NpdGlvbkZvcm0ubWluU2FsYXJ5XCJcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuacgOS9juiWqui1hFwiIGNsYXNzPVwidy0yMCBtci0yXCI+XHJcbiAgICAgICAgICAgICAgPGVsLW9wdGlvbiB2LWZvcj1cIml0ZW0gaW4gc2FsYXJ5TWluXCIgOmtleT1cIml0ZW0udmFsdWVcIiA6bGFiZWw9XCJpdGVtLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgIDp2YWx1ZT1cIml0ZW0udmFsdWVcIj48L2VsLW9wdGlvbj5cclxuICAgICAgICAgICAgPC9lbC1zZWxlY3Q+XHJcbiAgICAgICAgICAgIDxlbC1zZWxlY3QgQGNoYW5nZT1cIih2YWx1ZSkgPT4geyBjaGFuZ2VoYW5kbGUodmFsdWUsICdzYWxhcnltYXgnKSB9XCIgdi1tb2RlbD1cInBvc2l0aW9uRm9ybS5tYXhTYWxhcnlcIlxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi5pyA6auY6Jaq6LWEXCIgY2xhc3M9XCJ3LTIwXCI+XHJcbiAgICAgICAgICAgICAgPGVsLW9wdGlvbiB2LWZvcj1cIml0ZW0gaW4gc2FsYXJ5TWF4XCIgOmtleT1cIml0ZW0udmFsdWVcIiA6bGFiZWw9XCJpdGVtLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgIDp2YWx1ZT1cIml0ZW0udmFsdWVcIj48L2VsLW9wdGlvbj5cclxuICAgICAgICAgICAgPC9lbC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L2VsLWZvcm0taXRlbT5cclxuXHJcbiAgICAgICAgICA8IS0tIOW5tOm+hOimgeaxgiAtLT5cclxuICAgICAgICAgIDxlbC1mb3JtLWl0ZW0gbGFiZWw9XCLlubTpvoTopoHmsYI6XCIgcHJvcD1cImFnZVwiPlxyXG4gICAgICAgICAgICA8ZWwtc2VsZWN0IEBjaGFuZ2U9XCIodmFsdWUpID0+IHsgY2hhbmdlaGFuZGxlKHZhbHVlLCAnYWdlbWluJykgfVwiIHYtbW9kZWw9XCJwb3NpdGlvbkZvcm0ubWluQWdlXCJcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuacgOWwj+W5tOm+hFwiIGNsYXNzPVwidy0yMCBtci0yXCI+XHJcbiAgICAgICAgICAgICAgPGVsLW9wdGlvbiB2LWZvcj1cIml0ZW0gaW4gYWdlTWluXCIgOmtleT1cIml0ZW0udmFsdWVcIiA6bGFiZWw9XCJpdGVtLmxhYmVsXCIgOnZhbHVlPVwiaXRlbS52YWx1ZVwiPjwvZWwtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L2VsLXNlbGVjdD5cclxuICAgICAgICAgICAgPGVsLXNlbGVjdCBAY2hhbmdlPVwiKHZhbHVlKSA9PiB7IGNoYW5nZWhhbmRsZSh2YWx1ZSwgJ2FnZW1heCcpIH1cIiB2LW1vZGVsPVwicG9zaXRpb25Gb3JtLm1heEFnZVwiXHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLmnIDlpKflubTpvoRcIiBjbGFzcz1cInctMjBcIj5cclxuICAgICAgICAgICAgICA8ZWwtb3B0aW9uIHYtZm9yPVwiaXRlbSBpbiBhZ2VNYXhcIiA6a2V5PVwiaXRlbS52YWx1ZVwiIDpsYWJlbD1cIml0ZW0ubGFiZWxcIiA6dmFsdWU9XCJpdGVtLnZhbHVlXCI+PC9lbC1vcHRpb24+XHJcbiAgICAgICAgICAgIDwvZWwtc2VsZWN0PlxyXG4gICAgICAgICAgPC9lbC1mb3JtLWl0ZW0+XHJcblxyXG4gICAgICAgICAgPCEtLSDogYzkvY3mj4/ov7AgLS0+XHJcbiAgICAgICAgICA8ZWwtZm9ybS1pdGVtIGxhYmVsPVwi6IGM5L2N5o+P6L+wOlwiIHByb3A9XCJwb3NpdGlvbkRlc2NcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2MtdGlwc1wiPuivt+S4jeimgei+k+WFpeWFrOWPuOmCrueuse+8jOiBlOezu+eUteivne+8jOWklumTvu+8jOS4jeW+l+WHuueOsOi/neWPjeWKs+WKqOazleeahOaWh+WtlzwvZGl2PlxyXG4gICAgICAgICAgICA8ZWwtYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgbGluayBzaXplPVwic21hbGxcIiBjbGFzcz1cImRlc2MtcnVsZS1idG5cIiBAY2xpY2s9XCJzaG93UnVsZURpYWxvZyA9IHRydWVcIj4g6IGM5L2N5Y+R5biD6KeE6IyDXHJcbiAgICAgICAgICAgIDwvZWwtYnV0dG9uPlxyXG4gICAgICAgICAgICA8ZWwtaW5wdXQgdi1tb2RlbD1cInBvc2l0aW9uRm9ybS5qb2JJbnRyb1wiIHR5cGU9XCJ0ZXh0YXJlYVwiIDpyb3dzPVwiMTBcIiBjbGFzcz1cIm10LTJcIiAvPlxyXG4gICAgICAgICAgPC9lbC1mb3JtLWl0ZW0+XHJcblxyXG4gICAgICAgICAgPCEtLSDpg6jpl6gv6IGU57O75Lq6IC0tPlxyXG4gICAgICAgICAgPGVsLWZvcm0taXRlbSBsYWJlbD1cIumDqOmXqC/ogZTns7vkuro6XCIgcHJvcD1cImRlcHRDb250YWN0XCI+XHJcbiAgICAgICAgICAgIDxlbC1zZWxlY3Qgdi1tb2RlbD1cInBvc2l0aW9uRm9ybS5kZXB0Q29udGFjdFwiIHBsYWNlaG9sZGVyPVwi5Lq65Yqb6LWE5rqQ6YOo6ZeoL0hS57uP55CGXCIgY2xhc3M9XCJ3LTMwIG1yLTJcIlxyXG4gICAgICAgICAgICAgIEBjbGljaz1cImRlcHREaWFsb2dWaXNpYmxlID0gdHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIDxlbC1vcHRpb24gbGFiZWw9XCLor7fpgInmi6npg6jpl6gv6IGU57O75Lq6XCIgdmFsdWU9XCJcIj48L2VsLW9wdGlvbj5cclxuICAgICAgICAgICAgPC9lbC1zZWxlY3Q+XHJcbiAgICAgICAgICAgIDxlbC10b29sdGlwXHJcbiAgICAgICAgICAgICAgY29udGVudD1cIjEu57O757uf5bCG5oyJ54Wn6YOo6Zeo5a+56IGM5L2N6L+b6KGM5b2S57G777yM5pyJ5Yqp5LqO5rGC6IGM6ICF562b6YCJ5ZKM5p+l55yL44CCPGJyPjIu5rGC6IGM6ICF566A5Y6G5bCG5Y+R6YCB6Iez5omA6YCJ6IGU57O75Lq655qE6YKu566x5Zyw5Z2A5Lit44CCPGJyPjMu5Zyo5Y+R5biD6IGM5L2N5pe257O757uf5bCG6Ieq5Yqo6YCJ5Y+W6buY6K6k6IGU57O75Lq65L2c5Li66K+l6IGM5L2N55qE6IGU57O75Lq644CCXCJcclxuICAgICAgICAgICAgICBlZmZlY3Q9XCJkYXJrXCIgcGxhY2VtZW50PVwidG9wXCIgaHRtbD5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImVsLWljb24tcXVlc3Rpb25cIj48L2k+XHJcbiAgICAgICAgICAgIDwvZWwtdG9vbHRpcD5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZXB0LW1hbmFnZS10aXBzXCI+6L+b5YWl6YOo6ZeoL+iBlOezu+S6uueuoeeQhjwvc3Bhbj5cclxuICAgICAgICAgIDwvZWwtZm9ybS1pdGVtPlxyXG5cclxuICAgICAgICAgIDwhLS0g6IGM5L2N5Lqu54K5IC0tPlxyXG4gICAgICAgICAgPGVsLWZvcm0taXRlbSBsYWJlbD1cIuiBjOS9jeS6rueCuTpcIiBwcm9wPVwiam9iSGlnaGxpZ2h0c1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGlnaGxpZ2h0LXRpcHNcIj7pgInmi6nogYzkvY3kuq7ngrnvvIzmj5DljYfogYzkvY3lkLjlvJXlipvvvIzmnInmlYjlop7liqDogYzkvY3mipXpgJIo5pyA5aSaIDxzcGFuIGNsYXNzPVwidGV4dC1yZWRcIj42PC9zcGFuPumhuSk8L2Rpdj5cclxuICAgICAgICAgICAgPGVsLWRpdmlkZXIgY2xhc3M9XCJtYXJnaW5ib3R0b20tMFwiIC8+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoaWdobGlnaHQtdGFnLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgIDxlbC1zcGFjZSB3cmFwPjxlbC10YWcgdi1mb3I9XCIodGFnLCBpbmRleCkgaW4gc2VsZWN0ZWRIaWdobGlnaHRzXCIgOmtleT1cImluZGV4XCIgY2xvc2FibGVcclxuICAgICAgICAgICAgICAgICAgQGNsb3NlPVwicmVtb3ZlSGlnaGxpZ2h0KGluZGV4KVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyB0YWcgfX1cclxuICAgICAgICAgICAgICAgIDwvZWwtdGFnPjwvZWwtc3BhY2U+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZWwtZGl2aWRlciBjbGFzcz1cIm1hcmdpbmJvdHRvbS0wXCIgIC8+XHJcbiAgICAgICAgICAgIDxlbC1zcGFjZSB3cmFwIGNsYXNzPVwiaGlnaGxpZ2h0LWFsbC10YWdzXCI+XHJcbiAgICAgICAgICAgICAgPGVsLXRhZyB2LWZvcj1cIml0ZW0gaW4gZGljdG9iai5iZW5lZml0TGlzdFwiIDprZXk9XCJpdGVtLnZhbHVlXCIgQGNsaWNrPVwiYWRkSGlnaGxpZ2h0KGl0ZW0ubGFiZWwpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cclxuICAgICAgICAgICAgICA8L2VsLXRhZz5cclxuICAgICAgICAgICAgPC9lbC1zcGFjZT5cclxuICAgICAgICAgICAgPCEtLSA8ZWwtYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgbGluayBzaXplPVwic21hbGxcIiBjbGFzcz1cIm10LTJcIiBAY2xpY2s9XCJ0b2dnbGVIaWdobGlnaHRFeHBhbmRcIj5cclxuICAgICAgICAgICAgICB7eyBpc0hpZ2hsaWdodEV4cGFuZCA/ICfmlLbotbcnIDogJ+WxleW8gCcgfX1cclxuICAgICAgICAgICAgPC9lbC1idXR0b24+IC0tPlxyXG4gICAgICAgICAgPC9lbC1mb3JtLWl0ZW0+XHJcblxyXG4gICAgICAgICAgPCEtLSDmiKrmraLml6XmnJ8gLS0+XHJcbiAgICAgICAgICA8ZWwtZm9ybS1pdGVtIGxhYmVsPVwi5oiq5q2i5pel5pyfOlwiIHByb3A9XCJqb2JFbmREYXRlXCI+XHJcbiAgICAgICAgICAgIDxlbC1jb25maWctcHJvdmlkZXIgOmxvY2FsZT1cInpoQ25cIj5cclxuICAgICAgICAgICAgPGVsLWRhdGUtcGlja2VyIFxyXG4gICAgICAgICAgICB2LW1vZGVsPVwicG9zaXRpb25Gb3JtLmpvYkVuZERhdGVcIiBcclxuICAgICAgICAgICAgdHlwZT1cImRhdGVcIiBcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLpgInmi6nmiKrmraLml6XmnJ9cIiAgXHJcbiAgICAgICAgICAgIGNsYXNzPVwidy0zMFwiIFxyXG4gICAgICAgICAgICBmb3JtYXQ9XCJZWVlZLU1NLUREXCJcclxuICAgICAgICAgICAgdmFsdWUtZm9ybWF0PVwiWVlZWS1NTS1ERFwiXHJcbiAgICAgICAgICAgIDpkaXNhYmxlZC1kYXRlPVwiZGlzYWJsZWREYXRlXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICA8L2VsLWNvbmZpZy1wcm92aWRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtdGlwc1wiPijpu5jorqTlj5HluIMzMOWkqe+8jOacgOmVvzkw5aSp77yM5LiN5Y+v6LaF6L+H5Lya5ZGY5pyJ5pWI5pyfKTwvZGl2PlxyXG4gICAgICAgICAgPC9lbC1mb3JtLWl0ZW0+XHJcblxyXG4gICAgICAgICAgPCEtLSDmk43kvZzmjInpkq4gLS0+XHJcbiAgICAgICAgICA8ZWwtZm9ybS1pdGVtIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPCEtLSA8ZWwtYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgQGNsaWNrPVwic2F2ZUFzVGVtcGxhdGVcIj7lrZjkuLrmqKHmnb88L2VsLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGVsLWJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIEBjbGljaz1cInByZXZpZXdQb3NpdGlvblwiPumihOiniOiBjOS9jTwvZWwtYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgPGVsLWJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIEBjbGljaz1cInB1Ymxpc2hQb3NpdGlvblwiPuWPkeW4g+iBjOS9jTwvZWwtYnV0dG9uPlxyXG4gICAgICAgICAgPC9lbC1mb3JtLWl0ZW0+XHJcbiAgICAgICAgPC9lbC1mb3JtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0g6IGM5L2N5qih5p2/5by556qXIC0tPlxyXG4gICAgPGVsLWRpYWxvZyB2LW1vZGVsPVwidGVtcGxhdGVEaWFsb2dWaXNpYmxlXCIgdGl0bGU9XCLpgInmi6nogYzkvY3mqKHmnb9cIiB3aWR0aD1cIjYwMHB4XCIgbW9kYWw+XHJcbiAgICAgIDxlbC10YWJsZSA6ZGF0YT1cInRlbXBsYXRlTGlzdFwiIGJvcmRlciBob3Zlcj5cclxuICAgICAgICA8ZWwtdGFibGUtY29sdW1uIHByb3A9XCJpbmRleFwiIGxhYmVsPVwi5bqP5Y+3XCIgd2lkdGg9XCI4MFwiIC8+XHJcbiAgICAgICAgPGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwiam9iTmFtZVwiIGxhYmVsPVwi6IGM5L2N5ZCN56ewXCIgLz5cclxuICAgICAgICA8ZWwtdGFibGUtY29sdW1uIHByb3A9XCJlZHVjYXRpb25cIiBsYWJlbD1cIuWtpuWOhlwiIC8+XHJcbiAgICAgICAgPGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwiam9iTmF0dXJlXCIgbGFiZWw9XCLlt6XkvZzmgKfotKhcIiAvPlxyXG4gICAgICAgIDxlbC10YWJsZS1jb2x1bW4gbGFiZWw9XCLmk43kvZxcIiB3aWR0aD1cIjEwMFwiPlxyXG4gICAgICAgICAgPHRlbXBsYXRlICNkZWZhdWx0PVwic2NvcGVcIj5cclxuICAgICAgICAgICAgPGVsLWJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiIHNpemU9XCJzbWFsbFwiIEBjbGljaz1cInNlbGVjdFRlbXBsYXRlKHNjb3BlLnJvdylcIj4g6YCJ5oupIDwvZWwtYnV0dG9uPlxyXG4gICAgICAgICAgPC90ZW1wbGF0ZT5cclxuICAgICAgICA8L2VsLXRhYmxlLWNvbHVtbj5cclxuICAgICAgPC9lbC10YWJsZT5cclxuICAgIDwvZWwtZGlhbG9nPlxyXG5cclxuICAgIDwhLS0g6YOo6ZeoL+iBlOezu+S6uuW8ueeqlyAtLT5cclxuICAgIDxlbC1kaWFsb2cgdi1tb2RlbD1cImRlcHREaWFsb2dWaXNpYmxlXCIgdGl0bGU9XCLpgInmi6npg6jpl6gv6IGU57O75Lq6XCIgd2lkdGg9XCI3MDBweFwiIG1vZGFsPlxyXG4gICAgICA8ZWwtdGFibGUgOmRhdGE9XCJsaW5rSW5mb1wiIGJvcmRlciBob3Zlcj5cclxuICAgICAgICA8ZWwtdGFibGUtY29sdW1uIHR5cGU9XCJpbmRleFwiIGxhYmVsPVwi5bqP5Y+3XCIgd2lkdGg9XCI4MFwiIC8+XHJcbiAgICAgICAgPGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwiZGVwdE5hbWVcIiBsYWJlbD1cIumDqOmXqFwiIC8+XHJcbiAgICAgICAgPGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwicmVhbE5hbWVcIiBsYWJlbD1cIuiBlOezu+S6ulwiIC8+XHJcbiAgICAgICAgPGVsLXRhYmxlLWNvbHVtbiBwcm9wPVwicG9zaXRpb25cIiBsYWJlbD1cIuiBjOS9jVwiIC8+XHJcbiAgICAgICAgPGVsLXRhYmxlLWNvbHVtbiBsYWJlbD1cIuaTjeS9nFwiIHdpZHRoPVwiMTAwXCI+XHJcbiAgICAgICAgICA8dGVtcGxhdGUgI2RlZmF1bHQ9XCJzY29wZVwiPlxyXG4gICAgICAgICAgICA8ZWwtYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgc2l6ZT1cInNtYWxsXCIgQGNsaWNrPVwic2VsZWN0RGVwdENvbnRhY3Qoc2NvcGUucm93KVwiPiDpgInmi6kgPC9lbC1idXR0b24+XHJcbiAgICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgIDwvZWwtdGFibGUtY29sdW1uPlxyXG4gICAgICA8L2VsLXRhYmxlPlxyXG4gICAgICA8ZWwtcGFnaW5hdGlvbiBzaXplPVwic21hbGxcIiA6aGlkZS1vbi1zaW5nbGUtcGFnZT1cImhpZGVPbmVTaW5nbGVQYWdlXCIgdi1tb2RlbDpjdXJyZW50LXBhZ2U9XCJsaW5rcGFnaW5hdGlvbi5jdXJyZW50cGFnZVwiIDpwYWdlLXNpemU9XCJsaW5rcGFnaW5hdGlvbi5wYWdlc2l6ZVwiIDp0b3RhbD1cImxpbmtwYWdpbmF0aW9uLnRvdGFsXCIgbGF5b3V0PVwicHJldixwYWdlcixuZXh0XCIgIGNsYXNzPVwibXQtNFwiPjwvZWwtcGFnaW5hdGlvbj5cclxuICAgIDwvZWwtZGlhbG9nPlxyXG5cclxuICAgIDwhLS0g6IGM5L2N6aKE6KeI5by556qXIC0tPlxyXG4gICAgPGVsLWRpYWxvZyB2LW1vZGVsPVwicHJldmlld0RpYWxvZ1Zpc2libGVcIiB0aXRsZT1cIuiBjOS9jemihOiniFwiIHdpZHRoPVwiOTAlXCIgbW9kYWwgc2Nyb2xsYWJsZT5cclxuICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctY29udGFpbmVyXCI+XHJcbiAgICAgICAgPCEtLSDpooTop4jlpLTpg6ggLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctaGVhZGVyXCI+XHJcbiAgICAgICAgICA8aW1nIDpzcmM9XCJjb21wYW55TG9nb1wiIGFsdD1cIuWFrOWPuGxvZ29cIiBjbGFzcz1cInByZXZpZXctbG9nb1wiIC8+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1jb21wYW55LWluZm9cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBhbnktbmFtZVwiPnt7IGNvbXBhbnlOYW1lIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21wYW55LWF0dHJcIj57eyBjb21wYW55SW5kdXN0cnkgfX18e3sgY29tcGFueVNjYWxlIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21wYW55LWFkZHJlc3NcIj57eyBjb21wYW55QWRkcmVzcyB9fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1jb21wYW55LXRhZ3NcIj5cclxuICAgICAgICAgICAgPGVsLXRhZyB2LWlmPVwiaXNDZXJ0aWZpZWRcIiB0eXBlPVwic3VjY2Vzc1wiPuiupOivgeS8geS4mjwvZWwtdGFnPlxyXG4gICAgICAgICAgICA8ZWwtdGFnIHYtaWY9XCJpc1JlY29tbWVuZGVkXCIgdHlwZT1cIndhcm5pbmdcIj7mjqjojZDkvIHkuJo8L2VsLXRhZz5cclxuICAgICAgICAgICAgPGRpdiB2LWZvcj1cInRhZyBpbiBjb21wYW55VGFnc1wiIDprZXk9XCJ0YWdcIiBjbGFzcz1cImNvbXBhbnktdGFnXCI+e3sgdGFnIH19PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSDpooTop4jkuLvkvZMgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctYm9keVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctcG9zaXRpb24taW5mb1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tbmFtZVwiPnt7IHBvc2l0aW9uRm9ybS5qb2JOYW1lIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1zYWxhcnlcIj57eyBwb3NpdGlvbkZvcm0ubWluU2FsYXJ5IH19LXt7IHBvc2l0aW9uRm9ybS5tYXhTYWxhcnkgfX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctYmFzZS1pbmZvXCI+e3sgZ2V0QmFzZUluZm8oKSB9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctaGlnaGxpZ2h0c1wiPlxyXG4gICAgICAgICAgICA8ZWwtdGFnIHYtZm9yPVwidGFnIGluIHNlbGVjdGVkSGlnaGxpZ2h0c1wiIDprZXk9XCJ0YWdcIj57eyB0YWcgfX08L2VsLXRhZz5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LXNlY3Rpb24tdGl0bGVcIj7ogYzkvY3mj4/ov7A8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWNvbnRlbnRcIj57eyBwb3NpdGlvbkZvcm0uam9iSW50cm8gfX08L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1zZWN0aW9uLXRpdGxlXCI+5YWs5Y+45LuL57uNPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1jb250ZW50XCI+e3sgY29tcGFueURlc2MgfX08L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1zZWN0aW9uLXRpdGxlXCI+5bel5L2c5Zyw5Z2APC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1hZGRyZXNzXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZWwtaWNvbi1sb2NhdGlvblwiPjwvaT5cclxuICAgICAgICAgICAge3sgcG9zaXRpb25Gb3JtLmpvYkFyZWEgfX0ge3sgcG9zaXRpb25Gb3JtLmFkZHJlc3MgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZWwtZGlhbG9nPlxyXG5cclxuICAgIDwhLS0g6IGM5L2N5Y+R5biD6KeE6IyD5by556qXIC0tPlxyXG4gICAgPGVsLWRpYWxvZyB2LW1vZGVsPVwic2hvd1J1bGVEaWFsb2dcIiB0aXRsZT1cIuiBjOS9jeWPkeW4g+inhOiMg1wiIHdpZHRoPVwiNTAwcHhcIiBtb2RhbD5cclxuICAgICAgPGRpdiBjbGFzcz1cInJ1bGUtY29udGVudFwiPlxyXG4gICAgICAgIDwhLS0g5Y+v6Ieq5a6a5LmJ6KeE6IyD5YaF5a65IC0tPlxyXG4gICAgICAgIDxwPjEuIOemgeatouWPkeW4g+WMheWQq+iZmuWBh+OAgeasuuiviOaAp+eahOiBjOS9jeS/oeaBrzwvcD5cclxuICAgICAgICA8cD4yLiDkuI3lvpflh7rnjrDov53lj43jgIrlirPliqjms5XjgIvnm7jlhbPnmoTmloflrZfmj4/ov7A8L3A+XHJcbiAgICAgICAgPHA+My4g56aB5q2i55WZ5Y+W56eB5Lq66IGU57O75pa55byP77yI6YKu566x44CB55S16K+d562J77yJPC9wPlxyXG4gICAgICAgIDxwPjQuIOiBjOS9jeWQjeensOmcgOecn+WunuWHhuehru+8jOS4jeW+l+S9v+eUqOWkuOWkp+OAgeivr+WvvOaAp+ivjeaxhzwvcD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2VsLWRpYWxvZz5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQgc2V0dXA+XHJcbmltcG9ydCB7IHJlZiwgcmVhY3RpdmUsIG9uTW91bnRlZCB9IGZyb20gJ3Z1ZSc7XHJcbi8vaW1wb3J0IHsgRWxNZXNzYWdlLCBFbE1lc3NhZ2VCb3ggfSBmcm9tICdlbGVtZW50LXBsdXMnXHJcblxyXG4vLyDlvJXlhaVFbGVtZW50IFBsdXPnu4Tku7bvvIjlt7LlhajlsYDms6jlhozlj6/nnIHnlaXvvIzlsYDpg6jms6jlhozpnIDooaXlhYXvvIlcclxuaW1wb3J0IHtFbENvbmZpZ1Byb3ZpZGVyICxFbFBhZ2luYXRpb24sIEVsQ2FzY2FkZXIsIEVsRm9ybSwgRWxGb3JtSXRlbSwgRWxJbnB1dCwgRWxTZWxlY3QsIEVsT3B0aW9uLCBFbFJhZGlvR3JvdXAsIEVsUmFkaW8sIEVsQnV0dG9uLCBFbERpYWxvZywgRWxUYWJsZSwgRWxUYWJsZUNvbHVtbiwgRWxEYXRlUGlja2VyLCBFbFRhZywgRWxEaXZpZGVyLCBFbFRvb2x0aXAsIEVsU3BhY2UsIEVsTWVzc2FnZSwgRWxNZXNzYWdlQm94IH0gZnJvbSAnZWxlbWVudC1wbHVzJztcclxuaW1wb3J0IHpoQ24gZnJvbSAnZWxlbWVudC1wbHVzL2VzL2xvY2FsZS9sYW5nL3poLWNuJ1xyXG5jb25zdCBwcm9wcyA9IGRlZmluZVByb3BzKFsncGFyYW1zJ10pO1xyXG5jb25zdCBzZXhvcHRpb25zID0gcmVmKFtdKVxyXG5jb25zdCBoaWRlT25lU2luZ2xlUGFnZT1yZWYodHJ1ZSlcclxuY29uc3QgbGlua3BhZ2luYXRpb249IHJlYWN0aXZlKHt0b3RhbDowLHBhZ2VzaXplOjEwLGN1cnJlbnRwYWdlOjF9KVxyXG5cclxuLy8g6KGo5Y2V5pWw5o2uXHJcbmNvbnN0IHBvc2l0aW9uRm9ybSA9IHJlYWN0aXZlKHtcclxuICB0bXBsSUQ6ICcnLFxyXG4gIGpvYk5hbWU6ICcnLFxyXG4gIGpvYlR5cGU6ICcnLFxyXG4gIGpvYk5hdHVyZTogJycsXHJcbiAgam9iQXJlYTogJycsXHJcbiAgYWRkcmVzczogJycsXHJcbiAgaGVhZGNvdW50OiAnJyxcclxuICBnZW5kZXI6ICcnLFxyXG4gIHdvcmtFeHA6ICcnLFxyXG4gIGVkdTogJycsXHJcbiAgbWluU2FsYXJ5OiAnJyxcclxuICBtYXhTYWxhcnk6ICcnLFxyXG4gIG1pbkFnZTogJycsXHJcbiAgbWF4QWdlOiAnJyxcclxuICBqb2JJbnRybzogJycsXHJcbiAgZGVwdENvbnRhY3Q6ICcnLFxyXG4gIGxpbmtNYW5JRDowLFxyXG4gIGpvYkVuZERhdGU6ICcnLFxyXG4gIGpvYkxpZ2h0OicnLFxyXG59KTtcclxuLy8g6IGM5L2N5Lqu54K555u45YWzXHJcblxyXG5jb25zdCBzZWxlY3RlZEhpZ2hsaWdodHMgPSByZWYoW10pO1xyXG5jb25zdCBpc0hpZ2hsaWdodEV4cGFuZCA9IHJlZihmYWxzZSk7XHJcbmNvbnN0IGxpbmtJbmZvID0gcmVmKFtdKVxyXG5jb25zdCBjYXNjYWRlcnByb3BzID0ge1xyXG4gIGV4cGFuZFRyaWdnZXI6ICdob3ZlcicsXHJcbn07XHJcbi8vYmVuZWZpdExpc3QgZWR1TGlzdCBnZW5kZXJMaXN0IGpvYk5hdHVyZUxpc3Qgam9iVHlwZUNvbGxlY3Rpb25MaXN0IHdvcmtFeHBMaXN0XHJcbmxldCAgZGVhZGxpbmVNYXhEYXRlPScnXHJcbmNvbnN0IGRpY3RvYmogPSByZWYoe30pXHJcbm9uTW91bnRlZChhc3luYyAoKSA9PiB7XHJcbiAgY29uc3QgZGljdCA9IGF3YWl0IHByb3BzLnBhcmFtcy5nZXREaWN0KCk7XHJcbiAgZGljdG9iai52YWx1ZSA9IGRpY3QuZGF0YS5kYXRhLmRpY0NsYXNzaWZ5O1xyXG4gIGxldCB0bXBhcnJheSA9IGRpY3RvYmoudmFsdWUuZ2VuZGVyTGlzdCB8fCBbXTtcclxuICB0bXBhcnJheS5wdXNoKHsgbGFiZWw6ICfkuI3pmZAnLCB2YWx1ZTogXCI5OTlcIiB9KVxyXG4gIHNleG9wdGlvbnMudmFsdWUgPSB0bXBhcnJheTtcclxuICBjb25zdCB0bXBsaW5raW5mbyA9IGF3YWl0IHByb3BzLnBhcmFtcy5nZXRMaW5rSW5mbygpO1xyXG4gIGxpbmtJbmZvLnZhbHVlID0gdG1wbGlua2luZm8uZGF0YS5kYXRhLmxpc3Q7XHJcbiAgbGlua3BhZ2luYXRpb24udG90YWw9TnVtYmVyLnBhcnNlSW50KHRtcGxpbmtpbmZvLmRhdGEuZGF0YS50b3RhbCk7XHJcbiAgY29uc3QgZGVhZGxpbmUgPSBhd2FpdCBwcm9wcy5wYXJhbXMuZ2V0RGVhZGxpbmUoKTsgIFxyXG4gIHBvc2l0aW9uRm9ybS5qb2JFbmREYXRlPWRlYWRsaW5lLmRhdGEuZGF0YS5kZWZhdWx0RGF0ZTtcclxuICBkZWFkbGluZU1heERhdGU9ZGVhZGxpbmUuZGF0YS5kYXRhLm1heERhdGU7XHJcbiAgIFxyXG59KTtcclxuXHJcbi8v5pyA5aSn55qE5pel5pyf56aB5q2i6YCJ5oupXHJcbmNvbnN0IGRpc2FibGVkRGF0ZSA9IChkYXRldGltZSkgPT57XHJcbiAgY29uc3QgbWF4ZGF0ZSA9IG5ldyBEYXRlKGRlYWRsaW5lTWF4RGF0ZSk7IFxyXG4gIHJldHVybiBkYXRldGltZT5tYXhkYXRlO1xyXG4gIFxyXG59XHJcblxyXG5jb25zdCBzYWxhcnlNaW4gPSByZWYoW10pXHJcbmNvbnN0IHNhbGFyeU1heCA9IHJlZihbXSlcclxuY29uc3QgYWdlTWluID0gcmVmKFtdKVxyXG5jb25zdCBhZ2VNYXggPSByZWYoW10pXHJcbmZvciAobGV0IGkgPSAzOyBpIDwgNTE7IGkrKykge1xyXG4gIHNhbGFyeU1pbi52YWx1ZS5wdXNoKHsgbGFiZWw6IGkgKyAnaycsIHZhbHVlOiBpICogMTAwMCB9KVxyXG4gIHNhbGFyeU1heC52YWx1ZS5wdXNoKHsgbGFiZWw6IGkgKyAnaycsIHZhbHVlOiBpICogMTAwMCB9KVxyXG5cclxufVxyXG5cclxuZm9yIChsZXQgaSA9IDE2OyBpIDwgNTE7IGkrKykge1xyXG4gIGFnZU1pbi52YWx1ZS5wdXNoKHsgbGFiZWw6IGksIHZhbHVlOiBpIH0pXHJcbiAgYWdlTWF4LnZhbHVlLnB1c2goeyBsYWJlbDogaSwgdmFsdWU6IGkgfSlcclxufVxyXG5cclxuY29uc3QgY2hhbmdlaGFuZGxlID0gKHZhbHVlLCB0eXBlKSA9PiB7XHJcbiAgLy9jb25zb2xlLmxvZyh0eXBlLCcnLHZhbHVlKVxyXG4gIGlmICh0eXBlID09PSBcImFnZW1pblwiKSB7XHJcbiAgICBwb3NpdGlvbkZvcm0uYWdlTWluPXZhbHVlXHJcbiAgICBhZ2VNYXgudmFsdWUgPSBbXVxyXG4gICAgZm9yIChsZXQgaSA9IHZhbHVlOyBpIDwgNTE7IGkrKykge1xyXG4gICAgICBhZ2VNYXgudmFsdWUucHVzaCh7IGxhYmVsOiBpLCB2YWx1ZTogaSB9KVxyXG4gICAgfVxyXG4gIH1cclxuICBpZiAodHlwZSA9PT0gXCJhZ2VtYXhcIikge1xyXG4gICAgIHBvc2l0aW9uRm9ybS5hZ2VNYXg9dmFsdWVcclxuICAgIGFnZU1pbi52YWx1ZSA9IFtdXHJcbiAgICBmb3IgKGxldCBpID0gMTY7IGkgPD0gdmFsdWU7IGkrKykge1xyXG4gICAgICBhZ2VNaW4udmFsdWUucHVzaCh7IGxhYmVsOiBpLCB2YWx1ZTogaSB9KVxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgaWYgKHR5cGUgPT09IFwic2FsYXJ5bWluXCIpIHtcclxuICAgIHNhbGFyeU1heC52YWx1ZSA9IFtdXHJcbiAgICBjb25zdCB0bXBzYWxhcnkgPSB2YWx1ZSAvIDEwMDBcclxuICAgIHBvc2l0aW9uRm9ybS5taW5TYWxhcnk9dG1wc2FsYXJ5KydrJ1xyXG4gICAgZm9yIChsZXQgaT10bXBzYWxhcnk7IGkgPCA1MTsgaSsrKSB7XHJcbiAgICAgIHNhbGFyeU1heC52YWx1ZS5wdXNoKHsgbGFiZWw6IGkgKyAnaycsIHZhbHVlOiBpICogMTAwMCB9KVxyXG4gICAgfVxyXG4gIH1cclxuICBpZiAodHlwZSA9PT0gXCJzYWxhcnltYXhcIikge1xyXG4gICAgc2FsYXJ5TWluLnZhbHVlID0gW11cclxuICAgICBjb25zdCB0bXBzYWxhcnkgPSB2YWx1ZSAvIDEwMDBcclxuICAgICAgcG9zaXRpb25Gb3JtLm1heFNhbGFyeSA9IHRtcHNhbGFyeSsnaydcclxuICAgIGZvciAobGV0IGkgPSAzOyBpIDw9IHRtcHNhbGFyeSA7IGkrKykge1xyXG4gICAgICBzYWxhcnlNaW4udmFsdWUucHVzaCh7IGxhYmVsOiBpICsgJ2snLCB2YWx1ZTogaSAqIDEwMDAgfSlcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBpZih0eXBlPT09XCJqb2J0eXBlXCIpXHJcbiAge1xyXG4gICAgcG9zaXRpb25Gb3JtLmpvYlR5cGU9dmFsdWU7XHJcbiAgfVxyXG5cclxuICBpZih0eXBlPT09XCJqb2JuYXR1cmVcIilcclxuICB7XHJcbiAgICBwb3NpdGlvbkZvcm0uam9iTmF0dXJlPXZhbHVlO1xyXG4gIH1cclxuXHJcbiAgaWYodHlwZT09PVwiam9iYXJlYVwiKVxyXG4gIHtcclxuICAgIHBvc2l0aW9uRm9ybS5qb2JBcmVhPXZhbHVlO1xyXG4gIH1cclxuXHJcbiAgaWYodHlwZT09PVwic2V4XCIpXHJcbiAge1xyXG4gICAgcG9zaXRpb25Gb3JtLmdlbmRlcj12YWx1ZTtcclxuICB9XHJcblxyXG4gIGlmKHR5cGU9PT1cImV4cFwiKVxyXG4gIHtcclxuXHJcbiAgICBwb3NpdGlvbkZvcm0ud29ya0V4cCA9dmFsdWVcclxuICB9XHJcblxyXG4gIGlmKHR5cGU9PT1cImVkdVwiKVxyXG4gIHtcclxuXHJcbiAgICBwb3NpdGlvbkZvcm0uZWR1PXZhbHVlXHJcbiAgfVxyXG4gXHJcbn1cclxuXHJcblxyXG4vLyDooajljZXmoKHpqozop4TliJlcclxuY29uc3QgZm9ybVJ1bGVzID0gcmVhY3RpdmUoe1xyXG4gIGpvYk5hbWU6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+36L6T5YWl6IGM5L2N5ZCN56ewJywgdHJpZ2dlcjogJ2JsdXInIH1dLFxyXG4gIGpvYlR5cGU6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+36YCJ5oup6IGM5L2N57G75YirJywgdHJpZ2dlcjogJ2NoYW5nZScgfV0sXHJcbiAgam9iTmF0dXJlOiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+mAieaLqeW3peS9nOaAp+i0qCcsIHRyaWdnZXI6ICdjaGFuZ2UnIH1dLFxyXG4gIGpvYkFyZWE6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+36YCJ5oup5bel5L2c5Yy65Z+fJywgdHJpZ2dlcjogJ2NoYW5nZScgfV0sXHJcbiAgYWRkcmVzczogW3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICfor7fovpPlhaXor6bnu4blnLDlnYAnLCB0cmlnZ2VyOiAnYmx1cicgfV0sXHJcbiAgaGVhZGNvdW50OiBbXHJcbiAgICB7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+36L6T5YWl6ZyA5rGC5Lq65pWwJywgdHJpZ2dlcjogJ2JsdXInIH0sXHJcbiAgICB7IHBhdHRlcm46IC9eXFxkKyQvLCBtZXNzYWdlOiAn6K+36L6T5YWl5pyJ5pWI5pWw5a2XJywgdHJpZ2dlcjogJ2JsdXInIH0sXHJcbiAgXSxcclxuICBnZW5kZXI6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+36YCJ5oup5oCn5YirJywgdHJpZ2dlcjogJ2NoYW5nZScgfV0sXHJcbiAgd29ya0V4cDogW3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICfor7fpgInmi6nlt6XkvZznu4/pqownLCB0cmlnZ2VyOiAnY2hhbmdlJyB9XSxcclxuICBlZHU6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+36YCJ5oup5a2m5Y6GJywgdHJpZ2dlcjogJ2NoYW5nZScgfV0sXHJcbiAgbWluU2FsYXJ5OiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+mAieaLqeacgOS9juiWqui1hCcsIHRyaWdnZXI6ICdjaGFuZ2UnIH1dLFxyXG4gIG1heFNhbGFyeTogW1xyXG4gICAgeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+mAieaLqeacgOmrmOiWqui1hCcsIHRyaWdnZXI6ICdjaGFuZ2UnIH0sXHJcbiAgICB7IHZhbGlkYXRvcjogdmFsaWRhdGVNYXhTYWxhcnksIHRyaWdnZXI6ICdjaGFuZ2UnIH0sXHJcbiAgXSxcclxuICBtaW5BZ2U6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+36YCJ5oup5pyA5bCP5bm06b6EJywgdHJpZ2dlcjogJ2NoYW5nZScgfV0sXHJcbiAgbWF4QWdlOiBbXHJcbiAgICB7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+36YCJ5oup5pyA5aSn5bm06b6EJywgdHJpZ2dlcjogJ2NoYW5nZScgfSxcclxuICAgIHsgdmFsaWRhdG9yOiB2YWxpZGF0ZU1heEFnZSwgdHJpZ2dlcjogJ2NoYW5nZScgfSxcclxuICBdLFxyXG4gIGpvYkludHJvOiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+i+k+WFpeiBjOS9jeaPj+i/sCcsIHRyaWdnZXI6ICdibHVyJyB9XSxcclxuICBkZXB0Q29udGFjdDogW3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICfor7fpgInmi6npg6jpl6gv6IGU57O75Lq6JywgdHJpZ2dlcjogJ2NoYW5nZScgfV0sXHJcbiAgam9iRW5kRGF0ZTogW3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICfor7fpgInmi6nmiKrmraLml6XmnJ8nLCB0cmlnZ2VyOiAnY2hhbmdlJyB9XSxcclxufSk7XHJcblxyXG4vLyDolqrotYTmoKHpqozvvIjmnIDlpKflgLzlpKfkuo7mnIDlsI/lgLzvvIlcclxuY29uc3QgdmFsaWRhdGVNYXhTYWxhcnkgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7XHJcbiAgaWYgKHZhbHVlICYmIHBvc2l0aW9uRm9ybS5taW5TYWxhcnkgJiYgdmFsdWUgPD0gcG9zaXRpb25Gb3JtLm1pblNhbGFyeSkge1xyXG4gICAgY2FsbGJhY2sobmV3IEVycm9yKCfmnIDpq5jolqrotYTpnIDlpKfkuo7mnIDkvY7olqrotYQnKSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNhbGxiYWNrKCk7XHJcbiAgfVxyXG59O1xyXG5cclxuLy8g5bm06b6E5qCh6aqM77yI5pyA5aSn5YC85aSn5LqO5pyA5bCP5YC877yJXHJcbmNvbnN0IHZhbGlkYXRlTWF4QWdlID0gKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgPT4ge1xyXG4gIGlmICh2YWx1ZSAmJiBwb3NpdGlvbkZvcm0ubWluQWdlICYmIHZhbHVlIDw9IHBvc2l0aW9uRm9ybS5taW5BZ2UpIHtcclxuICAgIGNhbGxiYWNrKG5ldyBFcnJvcign5pyA5aSn5bm06b6E6ZyA5aSn5LqO5pyA5bCP5bm06b6EJykpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBjYWxsYmFjaygpO1xyXG4gIH1cclxufTtcclxuXHJcbi8vIOW8ueeql+aYvumakOaOp+WItlxyXG5jb25zdCB0ZW1wbGF0ZURpYWxvZ1Zpc2libGUgPSByZWYoZmFsc2UpO1xyXG5jb25zdCBkZXB0RGlhbG9nVmlzaWJsZSA9IHJlZihmYWxzZSk7XHJcbmNvbnN0IHByZXZpZXdEaWFsb2dWaXNpYmxlID0gcmVmKGZhbHNlKTtcclxuY29uc3Qgc2hvd1J1bGVEaWFsb2cgPSByZWYoZmFsc2UpO1xyXG5cclxuLy8g5re75Yqg6IGM5L2N5Lqu54K5XHJcbmNvbnN0IGFkZEhpZ2hsaWdodCA9IChsYWJlbCkgPT4ge1xyXG4gIGlmIChzZWxlY3RlZEhpZ2hsaWdodHMudmFsdWUubGVuZ3RoID49IDYpIHtcclxuICAgIEVsTWVzc2FnZS53YXJuaW5nKCfmnIDlpJrlj6rog73pgInmi6k25Liq6IGM5L2N5Lqu54K5Jyk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIGlmICghc2VsZWN0ZWRIaWdobGlnaHRzLnZhbHVlLmluY2x1ZGVzKGxhYmVsKSkge1xyXG4gICAgc2VsZWN0ZWRIaWdobGlnaHRzLnZhbHVlLnB1c2gobGFiZWwpO1xyXG4gIH1cclxufTtcclxuXHJcbi8vIOenu+mZpOiBjOS9jeS6rueCuVxyXG5jb25zdCByZW1vdmVIaWdobGlnaHQgPSAoaW5kZXgpID0+IHtcclxuICBzZWxlY3RlZEhpZ2hsaWdodHMudmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcclxufTtcclxuXHJcbi8vIOWxleW8gC/mlLbotbfogYzkvY3kuq7ngrlcclxuY29uc3QgdG9nZ2xlSGlnaGxpZ2h0RXhwYW5kID0gKCkgPT4ge1xyXG4gIGlzSGlnaGxpZ2h0RXhwYW5kLnZhbHVlID0gIWlzSGlnaGxpZ2h0RXhwYW5kLnZhbHVlO1xyXG59O1xyXG5cclxuLy8g5qih5ouf5pWw5o2u77yI5a6e6ZmF6aG555uu6ZyA5LuO5o6l5Y+j6I635Y+W77yJXHJcbmNvbnN0IHRlbXBsYXRlTGlzdCA9IHJlZihbXHJcbiAgeyBpbmRleDogMSwgam9iTmFtZTogJ+WJjeerr+W8gOWPkeW3peeoi+W4iCcsIGVkdWNhdGlvbjogJ+acrOenkScsIGpvYk5hdHVyZTogJ+WFqOiBjCcsIGlkOiAxIH0sXHJcbiAgeyBpbmRleDogMiwgam9iTmFtZTogJ+WQjuerr+W8gOWPkeW3peeoi+W4iCcsIGVkdWNhdGlvbjogJ+acrOenkScsIGpvYk5hdHVyZTogJ+WFqOiBjCcsIGlkOiAyIH0sXHJcbl0pO1xyXG4vLyBjb25zdCBkZXB0Q29udGFjdExpc3QgPSByZWYoW1xyXG4vLyAgIHsgaW5kZXg6IDEsIGRlcHROYW1lOiAn5Lq65Yqb6LWE5rqQ6YOoJywgcmVhbE5hbWU6ICflvKDkuIknLCBwb3NpdGlvbjogJ0hS57uP55CGJywgaWQ6IDEgfSxcclxuLy8gICB7IGluZGV4OiAyLCBkZXB0TmFtZTogJ+aKgOacr+mDqCcsIHJlYWxOYW1lOiAn5p2O5ZubJywgcG9zaXRpb246ICfmioDmnK/kuLvnrqEnLCBpZDogMiB9LFxyXG4vLyBdKTtcclxuXHJcblxyXG4vKipcclxuICog5rex5bqm5ou36LSd5a+56LGh77yM5bm25bCG5omA5pyJ5bGe5oCn5YC86L2s5o2i5Li65a2X56ym5Liy57G75Z6LXHJcbiAqIEBwYXJhbSB7YW55fSBzb3VyY2UgLSDopoHmi7fotJ3nmoTmupDmlbDmja7vvIjlj6/ku6XmmK/lr7nosaHjgIHmlbDnu4TjgIHln7rmnKznsbvlnovnrYnvvIlcclxuICogQHJldHVybnMge2FueX0g5ou36LSd5ZCO5LiU5omA5pyJ5YC85Li65a2X56ym5Liy57G75Z6L55qE5paw5pWw5o2uXHJcbiAqL1xyXG5mdW5jdGlvbiBkZWVwQ29weUFuZFN0cmluZ2lmeShzb3VyY2UpIHtcclxuICAgIC8vIDEuIOWkhOeQhiBudWxsL3VuZGVmaW5lZFxyXG4gICAgaWYgKHNvdXJjZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiBcIm51bGxcIjtcclxuICAgIH1cclxuICAgIGlmIChzb3VyY2UgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiBcInVuZGVmaW5lZFwiO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDIuIOiOt+WPluaVsOaNrueahOWHhuehruexu+Wei++8iOWmgiBbb2JqZWN0IE9iamVjdF3jgIFbb2JqZWN0IEFycmF5XSDnrYnvvIlcclxuICAgIGNvbnN0IHR5cGUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoc291cmNlKTtcclxuXHJcbiAgICAvLyAzLiDlpITnkIbln7rmnKzmlbDmja7nsbvlnovvvIjluIPlsJTjgIHmlbDlrZfjgIHlrZfnrKbkuLLjgIFTeW1ib2zjgIFCaWdJbnTvvIlcclxuICAgIGlmIChbJ1tvYmplY3QgQm9vbGVhbl0nLCAnW29iamVjdCBOdW1iZXJdJywgJ1tvYmplY3QgU3RyaW5nXScsICdbb2JqZWN0IFN5bWJvbF0nLCAnW29iamVjdCBCaWdJbnRdJ10uaW5jbHVkZXModHlwZSkpIHtcclxuICAgICAgICByZXR1cm4gU3RyaW5nKHNvdXJjZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gNC4g5aSE55CG5pel5pyf5a+56LGhXHJcbiAgICBpZiAodHlwZSA9PT0gJ1tvYmplY3QgRGF0ZV0nKSB7XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZS50b1N0cmluZygpOyAvLyDkuZ/lj6/ku6XnlKggdG9JU09TdHJpbmcoKSDlvpfliLDmoIflh4bml7bpl7TmoLzlvI9cclxuICAgIH1cclxuXHJcbiAgICAvLyA1LiDlpITnkIbmraPliJnlr7nosaFcclxuICAgIGlmICh0eXBlID09PSAnW29iamVjdCBSZWdFeHBdJykge1xyXG4gICAgICAgIHJldHVybiBzb3VyY2UudG9TdHJpbmcoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyA2LiDlpITnkIblh73mlbDvvIjovazkuLrlh73mlbDkvZPlrZfnrKbkuLLvvIlcclxuICAgIGlmICh0eXBlID09PSAnW29iamVjdCBGdW5jdGlvbl0nKSB7XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZS50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIDcuIOWkhOeQhuaVsOe7hFxyXG4gICAgaWYgKHR5cGUgPT09ICdbb2JqZWN0IEFycmF5XScpIHtcclxuICAgICAgICBjb25zdCBuZXdBcnJheSA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc291cmNlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIC8vIOmAkuW9kuWkhOeQhuaVsOe7hOavj+S4gOmhue+8jOi9rOWtl+espuS4suWQjuaUvuWFpeaWsOaVsOe7hFxyXG4gICAgICAgICAgICBuZXdBcnJheVtpXSA9IGRlZXBDb3B5QW5kU3RyaW5naWZ5KHNvdXJjZVtpXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdBcnJheTtcclxuICAgIH1cclxuXHJcbiAgICAvLyA4LiDlpITnkIbmma7pgJrlr7nosaHvvIjmjpLpmaQgbnVsbC/mlbDnu4Qv54m55q6K5a+56LGh5ZCO55qE57qv5a+56LGh77yJXHJcbiAgICBpZiAodHlwZSA9PT0gJ1tvYmplY3QgT2JqZWN0XScpIHtcclxuICAgICAgICBjb25zdCBuZXdPYmogPSB7fTtcclxuICAgICAgICAvLyDlj6rpgY3ljoboh6rmnInlj6/mnprkuL7lsZ7mgKdcclxuICAgICAgICBPYmplY3Qua2V5cyhzb3VyY2UpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgLy8g6YCS5b2S5aSE55CG5q+P5Liq5bGe5oCn5YC877yM6L2s5a2X56ym5Liy5ZCO6LWL5YC857uZ5paw5a+56LGhXHJcbiAgICAgICAgICAgIG5ld09ialtrZXldID0gZGVlcENvcHlBbmRTdHJpbmdpZnkoc291cmNlW2tleV0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBuZXdPYmo7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gOS4g5YW25LuW5pyq6KaG55uW55qE57G75Z6L77yI5aaCIEVycm9y44CBTWFwIOetie+8ie+8jOe7n+S4gOi9rOWtl+espuS4slxyXG4gICAgcmV0dXJuIFN0cmluZyhzb3VyY2UpO1xyXG59XHJcblxyXG4vLy8vXHJcblxyXG5cclxuXHJcbi8vIOWFrOWPuOS/oeaBr++8iOmihOiniOeUqO+8iVxyXG5jb25zdCBjb21wYW55TG9nbyA9IHJlZignJyk7XHJcbmNvbnN0IGNvbXBhbnlOYW1lID0gcmVmKCfmtYvor5Xnp5HmioDmnInpmZDlhazlj7gnKTtcclxuY29uc3QgY29tcGFueUluZHVzdHJ5ID0gcmVmKCfkupLogZTnvZEnKTtcclxuY29uc3QgY29tcGFueVNjYWxlID0gcmVmKCc1MC0xMDDkuronKTtcclxuY29uc3QgY29tcGFueUFkZHJlc3MgPSByZWYoJ+WMl+S6rOW4guacnemYs+WMulhY5aSn5Y6mJyk7XHJcbmNvbnN0IGlzQ2VydGlmaWVkID0gcmVmKHRydWUpO1xyXG5jb25zdCBpc1JlY29tbWVuZGVkID0gcmVmKHRydWUpO1xyXG5jb25zdCBjb21wYW55VGFncyA9IHJlZihbJ+S6lOmZqeS4gOmHkScsICfluKbolqrlubTlgYcnXSk7XHJcbmNvbnN0IGNvbXBhbnlEZXNjID0gcmVmKCfmtYvor5Xnp5HmioDmnInpmZDlhazlj7jmiJDnq4vkuo4yMDIw5bm077yM5LiT5rOo5LqO5LqS6IGU572R5oqA5pyv56CU5Y+R77yM6Ie05Yqb5LqO5Li65a6i5oi35o+Q5L6b5LyY6LSo55qE5oqA5pyv6Kej5Yaz5pa55qGI44CCJyk7XHJcblxyXG4vLyDpgInmi6nogYzkvY3mqKHmnb9cclxuY29uc3Qgc2VsZWN0VGVtcGxhdGUgPSAocm93KSA9PiB7XHJcbiAgcG9zaXRpb25Gb3JtLnRtcGxJRCA9IHJvdy5pZDtcclxuICBwb3NpdGlvbkZvcm0uam9iTmFtZSA9IHJvdy5qb2JOYW1lO1xyXG4gIHRlbXBsYXRlRGlhbG9nVmlzaWJsZS52YWx1ZSA9IGZhbHNlO1xyXG4gIEVsTWVzc2FnZS5zdWNjZXNzKCfmqKHmnb/pgInmi6nmiJDlip8nKTtcclxufTtcclxuXHJcbi8vIOmAieaLqemDqOmXqC/ogZTns7vkurpcclxuY29uc3Qgc2VsZWN0RGVwdENvbnRhY3QgPSAocm93KSA9PiB7XHJcbiAgcG9zaXRpb25Gb3JtLmRlcHRDb250YWN0ID0gYCR7cm93LmRlcHROYW1lfS8ke3Jvdy5yZWFsTmFtZX1gO1xyXG4gIGRlcHREaWFsb2dWaXNpYmxlLnZhbHVlID0gZmFsc2U7XHJcbiAgcG9zaXRpb25Gb3JtLmxpbmtNYW5JRD1yb3cuaWQ7XHJcbiAgLy9FbE1lc3NhZ2Uuc3VjY2Vzcygn6YOo6ZeoL+iBlOezu+S6uumAieaLqeaIkOWKnycpO1xyXG59O1xyXG5cclxuLy8g5a2Y5Li65qih5p2/XHJcbmNvbnN0IHNhdmVBc1RlbXBsYXRlID0gKCkgPT4ge1xyXG4gIEVsTWVzc2FnZUJveC5jb25maXJtKCfnoa7lrpropoHlsIblvZPliY3ogYzkvY3kv6Hmga/kv53lrZjkuLrmqKHmnb/lkJfvvJ8nLCAn5o+Q56S6Jywge1xyXG4gICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7lrponLFxyXG4gICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsXHJcbiAgICB0eXBlOiAnd2FybmluZycsXHJcbiAgfSlcclxuICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgLy8g5a6e6ZmF6aG555uu6LCD55So5L+d5a2Y5o6l5Y+jXHJcbiAgICAgIEVsTWVzc2FnZS5zdWNjZXNzKCfmqKHmnb/kv53lrZjmiJDlip8nKTtcclxuICAgIH0pXHJcbiAgICAuY2F0Y2goKCkgPT4ge1xyXG4gICAgICBFbE1lc3NhZ2UuaW5mbygn5bey5Y+W5raI5L+d5a2YJyk7XHJcbiAgICB9KTtcclxufTtcclxuXHJcbi8vIOmihOiniOiBjOS9jVxyXG5cclxuY29uc3QgcHJldmlld1Bvc2l0aW9uID0gKCkgPT4ge1xyXG4gIHByZXZpZXdEaWFsb2dWaXNpYmxlLnZhbHVlID0gdHJ1ZTtcclxufTtcclxuXHJcbi8vIOWPkeW4g+iBjOS9jVxyXG5jb25zdCBwdWJsaXNoUG9zaXRpb24gPSAoKSA9PiB7XHJcbiAgLy8g6KGo5Y2V5qCh6aqMXHJcbiAgcG9zaXRpb25Gb3JtUmVmLnZhbHVlLnZhbGlkYXRlKCh2YWxpZCkgPT4ge1xyXG4gICAgaWYgKHZhbGlkKSB7XHJcbiAgICAgIEVsTWVzc2FnZUJveC5jb25maXJtKCfnoa7lrpropoHlj5HluIPor6XogYzkvY3lkJfvvJ8nLCAn5o+Q56S6Jywge1xyXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJyxcclxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJyxcclxuICAgICAgICB0eXBlOiAnd2FybmluZycsXHJcbiAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgLy8g5a6e6ZmF6aG555uu6LCD55So5Y+R5biD5o6l5Y+jXHJcbiAgICAgICBcclxuICAgICAgICAgIHBvc2l0aW9uRm9ybS5qb2JMaWdodD1zZWxlY3RlZEhpZ2hsaWdodHMudmFsdWUuam9pbignfCcpO1xyXG4gICAgICAgICBjb25zdCBwb3N0cGFyYW1zPWRlZXBDb3B5QW5kU3RyaW5naWZ5KHBvc2l0aW9uRm9ybSk7XHJcbiAgICAgICAgIHBvc3RwYXJhbXMubWluU2FsYXJ5PXBvc3RwYXJhbXMubWluU2FsYXJ5LnJlcGxhY2UoJ2snLCcnKVxyXG4gICAgICAgICBwb3N0cGFyYW1zLm1heFNhbGFyeT1wb3N0cGFyYW1zLm1heFNhbGFyeS5yZXBsYWNlKCdrJywnJylcclxuICAgICAgICAgcHJvcHMucGFyYW1zLnNhdmVJbmZvKHBvc3RwYXJhbXMpO1xyXG4gICAgICAgICAvLyBFbE1lc3NhZ2Uuc3VjY2Vzcygn6IGM5L2N5Y+R5biD5oiQ5YqfJyk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goKGUpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGUpXHJcbiAgICAgICAgICBFbE1lc3NhZ2UuaW5mbygn5bey5Y+W5raI5Y+R5biDJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn07XHJcblxyXG4vLyDojrflj5bln7rnoYDkv6Hmga/vvIjpooTop4jnlKjvvIlcclxuY29uc3QgZ2V0QmFzZUluZm8gPSAoKSA9PiB7XHJcbiAgcmV0dXJuIGAke3Bvc2l0aW9uRm9ybS5qb2JOYXR1cmV9IHwgJHtwb3NpdGlvbkZvcm0ud29ya0V4cH0gfCAke3Bvc2l0aW9uRm9ybS5lZHV9IHwg5oubJHtwb3NpdGlvbkZvcm0uaGVhZGNvdW50feS6uiB8ICR7cG9zaXRpb25Gb3JtLmdlbmRlciA9PT0gJzEnID8gJ+eUtycgOiBwb3NpdGlvbkZvcm0uZ2VuZGVyID09PSAnMicgPyAn5aWzJyA6ICfkuI3pmZAnfSB8ICR7cG9zaXRpb25Gb3JtLm1pbkFnZX0tJHtwb3NpdGlvbkZvcm0ubWF4QWdlfeWygWA7XHJcbn07XHJcblxyXG4vLyDooajljZXlvJXnlKhcclxuY29uc3QgcG9zaXRpb25Gb3JtUmVmID0gcmVmKG51bGwpO1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQ+XHJcbi8qIOWFqOWxgOWuueWZqOagt+W8jyAqL1xyXG4ucGFnZS1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmE7XHJcbn1cclxuXHJcbi5kaXZjb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uYm9keS1iYWNrLWNvbG9yIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uYm9keS1wYWRkaW5nIHtcclxuICBwYWRkaW5nOiAwIDIwcHg7XHJcbn1cclxuXHJcbi5wYWdlY29udGFpbmVyIHtcclxuICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLmRpdm5hdiB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAjNjY2O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi8qIOihqOWNleagt+W8jyAqL1xyXG4uZGl2Y29udGVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICBib3gtc2hhZG93OiAwIDJweCAxMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG4ucGFnZS1lcnJvciAuZWwtZm9ybS1pdGVtX19lcnJvciB7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi8qIOiBjOS9jeaPj+i/sOaPkOekuiAqL1xyXG4uZGVzYy10aXBzIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgY29sb3I6ICM5OTk7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uZGVzYy1ydWxlLWJ0biB7XHJcbiAgaGVpZ2h0OiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICB3aWR0aDogMTAwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKiDpg6jpl6gv6IGU57O75Lq65o+Q56S6ICovXHJcbi5kZXB0LW1hbmFnZS10aXBzIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgY29sb3I6ICM0MDllZmY7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vKiDogYzkvY3kuq7ngrnmoLflvI8gKi9cclxuLmhpZ2hsaWdodC10aXBzIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgY29sb3I6ICM5OTk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4ubWFyZ2luYm90dG9tLTBcclxue1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTowO1xyXG59XHJcblxyXG4udGV4dC1yZWQge1xyXG4gIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi5oaWdobGlnaHQtdGFnLWNvbnRhaW5lciB7XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIHBhZGRpbmctdG9wOjNweDtcclxuICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi5oaWdobGlnaHQtYWxsLXRhZ3Mge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5jdXJzb3ItcG9pbnRlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vKiDml6XmnJ/mj5DnpLogKi9cclxuLmRhdGUtdGlwcyB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGNvbG9yOiAjYzBjNGNjO1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4vKiDpooTop4jlvLnnqpfmoLflvI8gKi9cclxuLnByZXZpZXctY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnByZXZpZXctaGVhZGVyIHtcclxuICBwYWRkaW5nOiAzNHB4IDA7XHJcbiAgaGVpZ2h0OiAxNjhweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA5ZWZmO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwIDIwcHg7XHJcbn1cclxuXHJcbi5wcmV2aWV3LWxvZ28ge1xyXG4gIHdpZHRoOiAyNjBweDtcclxuICBoZWlnaHQ6IDEwMHB4O1xyXG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbn1cclxuXHJcbi5wcmV2aWV3LWNvbXBhbnktaW5mbyB7XHJcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgaGVpZ2h0OiA4MHB4O1xyXG59XHJcblxyXG4uY29tcGFueS1uYW1lIHtcclxuICBmb250LXNpemU6IDE4cHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmNvbXBhbnktYXR0cixcclxuLmNvbXBhbnktYWRkcmVzcyB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5wcmV2aWV3LWNvbXBhbnktdGFncyB7XHJcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgaGVpZ2h0OiA4MHB4O1xyXG4gIHdpZHRoOiAyNTBweDtcclxufVxyXG5cclxuLmNvbXBhbnktdGFnIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gIHBhZGRpbmc6IDJweCA4cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDVweDtcclxuICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbi5wcmV2aWV3LWJvZHkge1xyXG4gIHdpZHRoOiA4ODBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBwYWRkaW5nOiAyMHB4IDA7XHJcbn1cclxuXHJcbi5wcmV2aWV3LXBvc2l0aW9uLWluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLnBvc2l0aW9uLW5hbWUge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnBvc2l0aW9uLXNhbGFyeSB7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGNvbG9yOiAjZmY2NzAwO1xyXG59XHJcblxyXG4ucHJldmlldy1iYXNlLWluZm8ge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBjb2xvcjogIzY2NjtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ucHJldmlldy1oaWdobGlnaHRzIHtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ucHJldmlldy1zZWN0aW9uLXRpdGxlIHtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICM0MDllZmY7XHJcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4ucHJldmlldy1jb250ZW50IHtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxuICBjb2xvcjogIzMzMztcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ucHJldmlldy1hZGRyZXNzIHtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6ICM2NjY7XHJcbn1cclxuXHJcbi8qIOinhOiMg+W8ueeql+agt+W8jyAqL1xyXG4ucnVsZS1jb250ZW50IHtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuODtcclxufVxyXG5cclxuLyog6YCa55So5qC35byP5LyY5YyWICovXHJcbi53LTIwIHtcclxuICB3aWR0aDogMjAlO1xyXG59XHJcblxyXG4udy0yNSB7XHJcbiAgd2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnctMzAge1xyXG4gIHdpZHRoOiAzMCU7XHJcbn1cclxuXHJcbi53LTUwIHtcclxuICB3aWR0aDogNTAlO1xyXG59XHJcblxyXG4ubXItMiB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4ubXQtMiB7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLnRleHQtY2VudGVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuPC9zdHlsZT5cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/