Files
vuefilemanager/public/chunks/app-others.js
T
2021-03-26 16:42:58 +01:00

2 lines
182 KiB
JavaScript
Vendored

(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{"+Pqb":function(e,t,a){"use strict";var n={name:"ProgressBar",props:["progress"]},i=(a("8L2t"),a("KHd+")),o=Object(i.a)(n,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"progress-bar"},[t("span",{staticClass:"bg-theme",style:{width:this.progress+"%"}})])}),[],!1,null,"6ec2be7a",null);t.a=o.exports},"+v8A":function(e,t,a){var n=a("hw5j");"string"==typeof n&&(n=[[e.i,n,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};a("aET+")(n,i);n.locals&&(e.exports=n.locals)},"2jUW":function(e,t,a){(e.exports=a("I1BE")(!1)).push([e.i,".dropzone[data-v-5d141a68] {\n border: 1px dashed #a1abc2;\n border-radius: 8px;\n position: relative;\n text-align: center;\n display: flex;\n align-items: center;\n min-height: 175px;\n}\n.dropzone.is-error[data-v-5d141a68] {\n border: 2px dashed rgba(253, 57, 122, 0.3);\n}\n.dropzone.is-error .dropzone-title[data-v-5d141a68] {\n color: #fd397a;\n}\n.dropzone.is-error .icon-upload rect[data-v-5d141a68], .dropzone.is-error .icon-upload circle[data-v-5d141a68], .dropzone.is-error .icon-upload polyline[data-v-5d141a68] {\n stroke: #fd397a;\n}\n.dropzone input[type='file'][data-v-5d141a68] {\n opacity: 0;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1;\n width: 100%;\n cursor: pointer;\n}\n.dropzone .image-preview[data-v-5d141a68] {\n position: absolute;\n width: 100%;\n height: 100%;\n -o-object-fit: contain;\n object-fit: contain;\n left: 0;\n padding: 25px;\n display: block;\n}\n.dropzone .image-preview.fit-image[data-v-5d141a68] {\n -o-object-fit: cover;\n object-fit: cover;\n border-radius: 12px;\n overflow: hidden;\n}\n.dropzone .dropzone-message[data-v-5d141a68] {\n padding: 50px 0;\n width: 100%;\n}\n.dropzone .dropzone-message .icon-upload rect[data-v-5d141a68], .dropzone .dropzone-message .icon-upload circle[data-v-5d141a68], .dropzone .dropzone-message .icon-upload polyline[data-v-5d141a68] {\n color: inherit;\n}\n.dropzone .dropzone-message .dropzone-title[data-v-5d141a68] {\n font-size: 1em;\n font-weight: 700;\n display: block;\n}\n.dropzone .dropzone-message .dropzone-description[data-v-5d141a68] {\n color: rgba(27, 37, 57, 0.7);\n font-size: 0.75em;\n}\n.dropzone .reset-image[data-v-5d141a68] {\n z-index: 2;\n background: white;\n border-radius: 50px;\n display: block;\n position: absolute;\n right: 0;\n top: 0;\n cursor: pointer;\n transform: translateY(-50%) translateX(50%);\n padding: 0px 4px;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n}\n.dropzone .reset-image .close-icon[data-v-5d141a68] {\n vertical-align: middle;\n}\n.dropzone .reset-image .close-icon line path[data-v-5d141a68] {\n fill: #1B2539;\n}\n@media (prefers-color-scheme: dark) {\n.dropzone[data-v-5d141a68] {\n border-color: rgba(255, 255, 255, 0.2);\n}\n.dropzone .dropzone-message .icon-upload path[data-v-5d141a68], .dropzone .dropzone-message .icon-upload polyline[data-v-5d141a68], .dropzone .dropzone-message .icon-upload line[data-v-5d141a68] {\n color: inherit;\n}\n.dropzone .dropzone-message .dropzone-description[data-v-5d141a68] {\n color: #7d858c;\n}\n}\n",""])},"3GDE":function(e,t,a){var n=a("UqlB");"string"==typeof n&&(n=[[e.i,n,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};a("aET+")(n,i);n.locals&&(e.exports=n.locals)},"4TWA":function(e,t,a){"use strict";var n=a("CjXH"),i={name:"SelectInput",props:["options","isError","default","placeholder"],components:{Edit2Icon:n.r,UserIcon:n.db,ChevronDownIcon:n.f},data:function(){return{selected:void 0,isOpen:!1}},methods:{selectOption:function(e){this.$emit("input",e.value),this.selected=e,this.isOpen=!1},openMenu:function(){this.isOpen=!this.isOpen}},created:function(){var e=this;this.default&&(this.selected=this.options.find((function(t){return t.value===e.default})))}},o=(a("F+Qg"),a("KHd+")),s=Object(o.a)(i,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"select"},[a("div",{staticClass:"input-area",class:{"is-active":e.isOpen,"is-error":e.isError},on:{click:e.openMenu}},[e.selected?a("div",{staticClass:"selected"},[e.selected.icon?a("div",{staticClass:"option-icon"},["user"===e.selected.icon?a("user-icon",{attrs:{size:"14"}}):e._e(),e._v(" "),"user-edit"===e.selected.icon?a("edit2-icon",{attrs:{size:"14"}}):e._e()],1):e._e(),e._v(" "),a("span",{staticClass:"option-value"},[e._v(e._s(e.selected.label))])]):e._e(),e._v(" "),e.selected?e._e():a("div",{staticClass:"not-selected"},[a("span",{staticClass:"option-value placehoder"},[e._v(e._s(e.placeholder))])]),e._v(" "),a("chevron-down-icon",{staticClass:"chevron",attrs:{size:"19"}})],1),e._v(" "),a("transition",{attrs:{name:"slide-in"}},[e.isOpen?a("ul",{staticClass:"input-options"},e._l(e.options,(function(t,n){return a("li",{key:n,staticClass:"option-item",on:{click:function(a){return e.selectOption(t)}}},[t.icon?a("div",{staticClass:"option-icon"},["user"===t.icon?a("user-icon",{attrs:{size:"14"}}):e._e(),e._v(" "),"user-edit"===t.icon?a("edit2-icon",{attrs:{size:"14"}}):e._e()],1):e._e(),e._v(" "),a("span",{staticClass:"option-value"},[e._v(e._s(t.label))])])})),0):e._e()])],1)}),[],!1,null,"14b1d6a3",null);t.a=s.exports},"8L2t":function(e,t,a){"use strict";var n=a("YQqd");a.n(n).a},BcdI:function(e,t,a){var n=a("suPu");"string"==typeof n&&(n=[[e.i,n,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};a("aET+")(n,i);n.locals&&(e.exports=n.locals)},BelR:function(e,t,a){var n=a("2jUW");"string"==typeof n&&(n=[[e.i,n,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};a("aET+")(n,i);n.locals&&(e.exports=n.locals)},"D+dh":function(e,t,a){"use strict";var n=a("CjXH"),i={name:"ImageInput",props:["image","error"],components:{ImageIcon:n.C,XIcon:n.hb},data:function(){return{imagePreview:void 0}},computed:{isData:function(){return void 0!==this.imagePreview&&""!==this.imagePreview}},methods:{resetImage:function(){this.imagePreview=void 0,this.$emit("input",void 0)},showImagePreview:function(e){var t=this,a=e.target.files[0].name,n=a.substring(a.lastIndexOf(".")+1).toLowerCase();if(["png","jpg","jpeg","svg"].includes(n)){var i=e.target.files[0],o=new FileReader;o.onload=function(){return t.imagePreview=o.result},o.readAsDataURL(i),this.$emit("input",e.target.files[0])}else alert(this.$t("validation_errors.wrong_image"))}},created:function(){this.image&&(this.imagePreview=this.image)}},o=(a("Obrk"),a("KHd+")),s=Object(o.a)(i,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"dropzone",class:{"is-error":e.error}},[e.imagePreview?a("div",{staticClass:"reset-image",on:{click:e.resetImage}},[a("x-icon",{staticClass:"close-icon text-theme",attrs:{size:"14"}})],1):e._e(),e._v(" "),a("input",{ref:"file",staticClass:"dummy",attrs:{type:"file"},on:{change:function(t){return e.showImagePreview(t)}}}),e._v(" "),e.imagePreview?a("img",{ref:"image",staticClass:"image-preview",attrs:{src:e.imagePreview}}):e._e(),e._v(" "),a("div",{directives:[{name:"show",rawName:"v-show",value:!e.isData,expression:"! isData"}],staticClass:"dropzone-message"},[a("image-icon",{staticClass:"icon-upload text-theme",attrs:{size:"28"}}),e._v(" "),a("span",{staticClass:"dropzone-title"},[e._v("\n "+e._s(e.$t("input_image.title"))+"\n ")]),e._v(" "),a("span",{staticClass:"dropzone-description"},[e._v("\n "+e._s(e.$t("input_image.supported"))+"\n ")])],1)])}),[],!1,null,"5d141a68",null);t.a=s.exports},"F+Qg":function(e,t,a){"use strict";var n=a("3GDE");a.n(n).a},LedX:function(e,t,a){"use strict";var n=a("WEWl");a.n(n).a},Obrk:function(e,t,a){"use strict";var n=a("BelR");a.n(n).a},UqlB:function(e,t,a){(e.exports=a("I1BE")(!1)).push([e.i,".select[data-v-14b1d6a3] {\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n width: 100%;\n}\n.input-options[data-v-14b1d6a3] {\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.12);\n background: white;\n border-radius: 8px;\n position: absolute;\n overflow: hidden;\n top: 65px;\n left: 0;\n right: 0;\n z-index: 9;\n max-height: 295px;\n overflow-y: auto;\n}\n.input-options .option-item[data-v-14b1d6a3] {\n padding: 13px 20px;\n display: block;\n cursor: pointer;\n}\n.input-options .option-item[data-v-14b1d6a3]:hover {\n color: #00BC7E;\n background: #f4f5f6;\n}\n.input-options .option-item[data-v-14b1d6a3]:last-child {\n border-bottom: none;\n}\n.input-area[data-v-14b1d6a3] {\n border-width: 1px;\n border-style: solid;\n border-color: transparent;\n justify-content: space-between;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n transition: 150ms all ease;\n align-items: center;\n border-radius: 8px;\n padding: 13px 20px;\n display: flex;\n outline: 0;\n width: 100%;\n cursor: pointer;\n}\n.input-area .chevron[data-v-14b1d6a3] {\n transition: 150ms all ease;\n}\n.input-area.is-active .chevron[data-v-14b1d6a3] {\n transform: rotate(180deg);\n}\n.input-area.is-error[data-v-14b1d6a3] {\n border-color: #fd397a;\n box-shadow: 0 0 7px rgba(253, 57, 122, 0.3);\n}\n.option-icon[data-v-14b1d6a3] {\n width: 20px;\n display: inline-block;\n font-size: 0.625em;\n}\n.option-icon svg[data-v-14b1d6a3] {\n margin-top: -4px;\n vertical-align: middle;\n}\n.option-value[data-v-14b1d6a3] {\n font-size: 0.875em;\n font-weight: 700;\n width: 100%;\n vertical-align: middle;\n}\n.option-value.placehoder[data-v-14b1d6a3] {\n color: rgba(27, 37, 57, 0.5);\n}\n.slide-in-enter-active[data-v-14b1d6a3] {\n transition: all 150ms ease;\n}\n.slide-in-enter[data-v-14b1d6a3] {\n opacity: 0;\n transform: translateY(-50px);\n}\n@media (prefers-color-scheme: dark) {\n.input-area[data-v-14b1d6a3] {\n background: #1e2024;\n border-color: #1e2024;\n}\n.popup-wrapper .input-area[data-v-14b1d6a3] {\n background: #25272c;\n}\n.input-options[data-v-14b1d6a3] {\n background: #1e2024;\n}\n.input-options .option-item[data-v-14b1d6a3] {\n border-bottom: none;\n}\n.input-options .option-item[data-v-14b1d6a3]:hover {\n background: #2a2c32;\n}\n.input-options .option-item:hover .option-icon path[data-v-14b1d6a3], .input-options .option-item:hover .option-icon circle[data-v-14b1d6a3] {\n color: inherit;\n}\n.input-options .option-item[data-v-14b1d6a3]:last-child {\n border-bottom: none;\n}\n.option-value.placehoder[data-v-14b1d6a3] {\n color: #7d858c;\n}\n}\n",""])},WEWl:function(e,t,a){var n=a("sGz8");"string"==typeof n&&(n=[[e.i,n,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};a("aET+")(n,i);n.locals&&(e.exports=n.locals)},YQqd:function(e,t,a){var n=a("gvpH");"string"==typeof n&&(n=[[e.i,n,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};a("aET+")(n,i);n.locals&&(e.exports=n.locals)},gvpH:function(e,t,a){(e.exports=a("I1BE")(!1)).push([e.i,".progress-bar[data-v-6ec2be7a] {\n width: 100%;\n height: 5px;\n background: #f4f5f6;\n margin-top: 6px;\n border-radius: 10px;\n}\n.progress-bar span[data-v-6ec2be7a] {\n display: block;\n height: 100%;\n border-radius: 10px;\n max-width: 100%;\n}\n@media (prefers-color-scheme: dark) {\n.progress-bar[data-v-6ec2be7a] {\n background: #1e2024;\n}\n}\n@media only screen and (min-width: 680px) and (prefers-color-scheme: dark) {\n.progress-bar[data-v-6ec2be7a] {\n background: #1e2024;\n}\n}\n",""])},hw5j:function(e,t,a){(e.exports=a("I1BE")(!1)).push([e.i,".detail-storage-item[data-v-d9e0536e] {\n margin-bottom: 35px;\n}\n.detail-storage-item.disk .icon path[data-v-d9e0536e], .detail-storage-item.disk .icon line[data-v-d9e0536e], .detail-storage-item.disk .icon polyline[data-v-d9e0536e], .detail-storage-item.disk .icon rect[data-v-d9e0536e], .detail-storage-item.disk .icon circle[data-v-d9e0536e], .detail-storage-item.disk .icon polygon[data-v-d9e0536e] {\n stroke: #1B2539;\n}\n.detail-storage-item.disk .storage-progress[data-v-d9e0536e] span {\n background: #1B2539;\n}\n.detail-storage-item.images .icon path[data-v-d9e0536e], .detail-storage-item.images .icon line[data-v-d9e0536e], .detail-storage-item.images .icon polyline[data-v-d9e0536e], .detail-storage-item.images .icon rect[data-v-d9e0536e], .detail-storage-item.images .icon circle[data-v-d9e0536e], .detail-storage-item.images .icon polygon[data-v-d9e0536e] {\n stroke: #9D66FE;\n}\n.detail-storage-item.images .storage-progress[data-v-d9e0536e] span {\n background: #9D66FE;\n}\n.detail-storage-item.videos .icon path[data-v-d9e0536e], .detail-storage-item.videos .icon line[data-v-d9e0536e], .detail-storage-item.videos .icon polyline[data-v-d9e0536e], .detail-storage-item.videos .icon rect[data-v-d9e0536e], .detail-storage-item.videos .icon circle[data-v-d9e0536e], .detail-storage-item.videos .icon polygon[data-v-d9e0536e] {\n stroke: #FFBD2D;\n}\n.detail-storage-item.videos .storage-progress[data-v-d9e0536e] span {\n background: #FFBD2D;\n}\n.detail-storage-item.audios .icon path[data-v-d9e0536e], .detail-storage-item.audios .icon line[data-v-d9e0536e], .detail-storage-item.audios .icon polyline[data-v-d9e0536e], .detail-storage-item.audios .icon rect[data-v-d9e0536e], .detail-storage-item.audios .icon circle[data-v-d9e0536e], .detail-storage-item.audios .icon polygon[data-v-d9e0536e] {\n stroke: #FE66A1;\n}\n.detail-storage-item.audios .storage-progress[data-v-d9e0536e] span {\n background: #FE66A1;\n}\n.detail-storage-item.documents .icon path[data-v-d9e0536e], .detail-storage-item.documents .icon line[data-v-d9e0536e], .detail-storage-item.documents .icon polyline[data-v-d9e0536e], .detail-storage-item.documents .icon rect[data-v-d9e0536e], .detail-storage-item.documents .icon circle[data-v-d9e0536e], .detail-storage-item.documents .icon polygon[data-v-d9e0536e] {\n stroke: #FE6057;\n}\n.detail-storage-item.documents .storage-progress[data-v-d9e0536e] span {\n background: #FE6057;\n}\n.detail-storage-item.others .icon path[data-v-d9e0536e], .detail-storage-item.others .icon line[data-v-d9e0536e], .detail-storage-item.others .icon polyline[data-v-d9e0536e], .detail-storage-item.others .icon rect[data-v-d9e0536e], .detail-storage-item.others .icon circle[data-v-d9e0536e], .detail-storage-item.others .icon polygon[data-v-d9e0536e] {\n stroke: #1B2539;\n}\n.detail-storage-item.others .storage-progress[data-v-d9e0536e] span {\n background: #1B2539;\n}\n.header-storage-item[data-v-d9e0536e] {\n display: flex;\n align-items: flex-start;\n margin-bottom: 10px;\n}\n.header-storage-item .icon[data-v-d9e0536e] {\n width: 35px;\n}\n.header-storage-item .type[data-v-d9e0536e] {\n font-size: 0.9375em;\n color: #1B2539;\n}\n.header-storage-item .total-size[data-v-d9e0536e] {\n font-size: 0.625em;\n display: block;\n color: rgba(27, 37, 57, 0.7);\n}\n@media (prefers-color-scheme: dark) {\n.header-storage-item .type[data-v-d9e0536e] {\n color: #bec6cf;\n}\n.header-storage-item .total-size[data-v-d9e0536e] {\n color: #7d858c;\n}\n.detail-storage-item.others .icon path[data-v-d9e0536e], .detail-storage-item.others .icon line[data-v-d9e0536e], .detail-storage-item.others .icon polyline[data-v-d9e0536e], .detail-storage-item.others .icon rect[data-v-d9e0536e], .detail-storage-item.others .icon circle[data-v-d9e0536e], .detail-storage-item.others .icon polygon[data-v-d9e0536e], .detail-storage-item.disk .icon path[data-v-d9e0536e], .detail-storage-item.disk .icon line[data-v-d9e0536e], .detail-storage-item.disk .icon polyline[data-v-d9e0536e], .detail-storage-item.disk .icon rect[data-v-d9e0536e], .detail-storage-item.disk .icon circle[data-v-d9e0536e], .detail-storage-item.disk .icon polygon[data-v-d9e0536e] {\n stroke: #41454e;\n}\n.detail-storage-item.others .storage-progress[data-v-d9e0536e] span, .detail-storage-item.disk .storage-progress[data-v-d9e0536e] span {\n background: #41454e;\n}\n}\n",""])},ijzm:function(e,t,a){"use strict";a.r(t);var n=a("A5+z"),i=a("xnZf"),o=a("gahf"),s=a("4TWA"),r=a("xxrA"),d=a("D+dh"),p=a("eZ9V"),l=a("Nv84"),c=a("13Td"),m=a("qefO"),b=a("KnjL"),u=a("TJPC"),v=a("xCqy"),g=a("vDqi"),h=a.n(g),f={name:"AppOthers",components:{ValidationObserver:n.ValidationObserver,ValidationProvider:n.ValidationProvider,StorageItemDetail:i.a,PageTabGroup:o.a,SwitchInput:r.a,SelectInput:s.a,ImageInput:d.a,ButtonBase:l.a,FormLabel:p.a,SetupBox:c.a,required:u.a,PageTab:m.a,InfoBox:b.a},data:function(){return{isLoading:!0,isFlushingCache:!1,app:void 0}},methods:{flushCache:function(){var e=this;this.isFlushingCache=!0,h.a.get("/api/admin/settings/flush-cache").then((function(){v.a.$emit("toaster",{type:"success",message:"Your cache was successfully deleted."})})).finally((function(){e.isFlushingCache=!1}))}},mounted:function(){var e=this;h.a.get("/api/admin/settings",{params:{column:"contact_email|google_analytics|storage_default|registration|storage_limitation|mimetypes_blacklist|upload_limit"}}).then((function(t){e.isLoading=!1,e.app={contactMail:t.data.contact_email,googleAnalytics:t.data.google_analytics,defaultStorage:t.data.storage_default,userRegistration:parseInt(t.data.registration),storageLimitation:parseInt(t.data.storage_limitation),mimetypesBlacklist:t.data.mimetypes_blacklist,uploadLimit:t.data.upload_limit}}))}},_=(a("pCtl"),a("KHd+")),x=Object(_.a)(f,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("PageTab",{staticClass:"form-fixed-width",attrs:{"is-loading":e.isLoading}},[e.app?a("PageTabGroup",[a("div",{staticClass:"form block-form"},[a("FormLabel",[e._v("\n "+e._s(e.$t("admin_settings.others.section_user"))+"\n ")]),e._v(" "),a("div",{staticClass:"block-wrapper"},[a("div",{staticClass:"input-wrapper"},[a("div",{staticClass:"inline-wrapper"},[a("div",{staticClass:"switch-label"},[a("label",{staticClass:"input-label"},[e._v("\n "+e._s(e.$t("admin_settings.others.storage_limit"))+":\n ")]),e._v(" "),a("small",{staticClass:"input-help",domProps:{innerHTML:e._s(e.$t("admin_settings.others.storage_limit_help"))}})]),e._v(" "),a("SwitchInput",{staticClass:"switch",attrs:{state:e.app.storageLimitation},on:{input:function(t){return e.$updateText("/admin/settings","storage_limitation",e.app.storageLimitation)}},model:{value:e.app.storageLimitation,callback:function(t){e.$set(e.app,"storageLimitation",t)},expression:"app.storageLimitation"}})],1)])]),e._v(" "),e.app.storageLimitation?a("div",{staticClass:"block-wrapper"},[a("label",[e._v(e._s(e.$t("admin_settings.others.default_storage"))+":")]),e._v(" "),a("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Default Storage Space",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(t){var n=t.errors;return[a("input",{directives:[{name:"model",rawName:"v-model",value:e.app.defaultStorage,expression:"app.defaultStorage"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{min:"1",max:"999999999",placeholder:e.$t("admin_settings.others.default_storage_plac"),type:"number"},domProps:{value:e.app.defaultStorage},on:{input:[function(t){t.target.composing||e.$set(e.app,"defaultStorage",t.target.value)},function(t){return e.$updateText("/admin/settings","storage_default",e.app.defaultStorage)}]}}),e._v(" "),n[0]?a("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!1,1818761158)})],1):e._e(),e._v(" "),a("div",{staticClass:"block-wrapper"},[a("div",{staticClass:"input-wrapper"},[a("div",{staticClass:"inline-wrapper"},[a("div",{staticClass:"switch-label"},[a("label",{staticClass:"input-label"},[e._v("\n "+e._s(e.$t("admin_settings.others.allow_registration"))+":\n ")]),e._v(" "),a("small",{staticClass:"input-help",domProps:{innerHTML:e._s(e.$t("admin_settings.others.allow_registration_help"))}})]),e._v(" "),a("SwitchInput",{staticClass:"switch",attrs:{state:e.app.userRegistration},on:{input:function(t){return e.$updateText("/admin/settings","registration",e.app.userRegistration)}},model:{value:e.app.userRegistration,callback:function(t){e.$set(e.app,"userRegistration",t)},expression:"app.userRegistration"}})],1)])]),e._v(" "),a("FormLabel",{staticClass:"mt-70"},[e._v("\n "+e._s(e.$t("admin_settings.others.section_others"))+"\n ")]),e._v(" "),a("div",{staticClass:"block-wrapper"},[a("label",[e._v(e._s(e.$t("admin_settings.others.contact_email"))+":")]),e._v(" "),a("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Contact Email",rules:"required"},scopedSlots:e._u([{key:"default",fn:function(t){var n=t.errors;return[a("input",{directives:[{name:"model",rawName:"v-model",value:e.app.contactMail,expression:"app.contactMail"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("admin_settings.others.contact_email_plac"),type:"email"},domProps:{value:e.app.contactMail},on:{input:[function(t){t.target.composing||e.$set(e.app,"contactMail",t.target.value)},function(t){return e.$updateText("/admin/settings","contact_email",e.app.contactMail)}]}}),e._v(" "),n[0]?a("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!1,572758052)})],1),e._v(" "),a("div",{staticClass:"block-wrapper"},[a("label",[e._v(e._s(e.$t("admin_settings.others.google_analytics"))+":")]),e._v(" "),a("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Google Analytics Code"},scopedSlots:e._u([{key:"default",fn:function(t){var n=t.errors;return[a("input",{directives:[{name:"model",rawName:"v-model",value:e.app.googleAnalytics,expression:"app.googleAnalytics"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("admin_settings.others.google_analytics_plac"),type:"text"},domProps:{value:e.app.googleAnalytics},on:{input:[function(t){t.target.composing||e.$set(e.app,"googleAnalytics",t.target.value)},function(t){return e.$updateText("/admin/settings","google_analytics",e.app.googleAnalytics)}]}}),e._v(" "),n[0]?a("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!1,1711986531)})],1),e._v(" "),a("div",{staticClass:"block-wrapper"},[a("label",[e._v(e._s(e.$t("admin_settings.others.mimetypes_blacklist"))+":")]),e._v(" "),a("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Mimetypes Blacklist"},scopedSlots:e._u([{key:"default",fn:function(t){var n=t.errors;return[a("textarea",{directives:[{name:"model",rawName:"v-model",value:e.app.mimetypesBlacklist,expression:"app.mimetypesBlacklist"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{rows:"2",placeholder:e.$t("admin_settings.others.mimetypes_blacklist_plac"),type:"text"},domProps:{value:e.app.mimetypesBlacklist},on:{input:[function(t){t.target.composing||e.$set(e.app,"mimetypesBlacklist",t.target.value)},function(t){return e.$updateText("/admin/settings","mimetypes_blacklist",e.app.mimetypesBlacklist)}]}}),e._v(" "),n[0]?a("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!1,2010029887)}),e._v(" "),a("small",{staticClass:"input-help",domProps:{innerHTML:e._s(e.$t("admin_settings.others.mimetypes_blacklist_help"))}})],1),e._v(" "),a("div",{staticClass:"block-wrapper"},[a("label",[e._v(e._s(e.$t("admin_settings.others.upload_limit"))+":")]),e._v(" "),a("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",name:"Upload Limit"},scopedSlots:e._u([{key:"default",fn:function(t){var n=t.errors;return[a("input",{directives:[{name:"model",rawName:"v-model",value:e.app.uploadLimit,expression:"app.uploadLimit"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:e.$t("admin_settings.others.upload_limit_plac"),type:"number",min:"0",step:"1"},domProps:{value:e.app.uploadLimit},on:{input:[function(t){t.target.composing||e.$set(e.app,"uploadLimit",t.target.value)},function(t){return e.$updateText("/admin/settings","upload_limit",e.app.uploadLimit)}]}}),e._v(" "),n[0]?a("span",{staticClass:"error-message"},[e._v(e._s(n[0]))]):e._e()]}}],null,!1,4066454637)}),e._v(" "),a("small",{staticClass:"input-help",domProps:{innerHTML:e._s(e.$t("admin_settings.others.upload_limit_help"))}})],1),e._v(" "),a("FormLabel",{staticClass:"mt-70"},[e._v("\n "+e._s(e.$t("admin_settings.others.section_cache"))+"\n ")]),e._v(" "),a("InfoBox",[e._v("\n "+e._s(e.$t("admin_settings.others.cache_disclaimer"))+"\n ")]),e._v(" "),a("ButtonBase",{staticClass:"submit-button",attrs:{loading:e.isFlushingCache,disabled:e.isFlushingCache,type:"submit","button-style":"theme"},nativeOn:{click:function(t){return e.flushCache(t)}}},[e._v("\n "+e._s(e.$t("admin_settings.others.cache_clear"))+"\n ")])],1)]):e._e()],1)}),[],!1,null,"e1dbc2b0",null);t.default=x.exports},jCWY:function(e,t,a){"use strict";var n=a("+v8A");a.n(n).a},pCtl:function(e,t,a){"use strict";var n=a("BcdI");a.n(n).a},sGz8:function(e,t,a){(e.exports=a("I1BE")(!1)).push([e.i,".input-wrapper[data-v-421ca226] {\n display: flex;\n width: 100%;\n}\n.input-wrapper .input-label[data-v-421ca226] {\n color: #1B2539;\n}\n.input-wrapper .switch-content[data-v-421ca226] {\n width: 100%;\n}\n.input-wrapper .switch-content[data-v-421ca226]:last-child {\n width: 80px;\n}\n.switch[data-v-421ca226] {\n width: 50px;\n height: 28px;\n border-radius: 50px;\n display: block;\n background: #f1f1f5;\n position: relative;\n transition: 0.3s all ease;\n}\n.switch .switch-button[data-v-421ca226] {\n transition: 0.3s all ease;\n width: 22px;\n height: 22px;\n border-radius: 50px;\n display: block;\n background: white;\n position: absolute;\n top: 3px;\n left: 3px;\n box-shadow: 0 2px 4px rgba(37, 38, 94, 0.1);\n cursor: pointer;\n}\n.switch.active .switch-button[data-v-421ca226] {\n left: 25px;\n}\n@media (prefers-color-scheme: dark) {\n.switch[data-v-421ca226] {\n background: #1e2024;\n}\n.popup-wrapper .switch[data-v-421ca226] {\n background: #25272c;\n}\n}\n",""])},suPu:function(e,t,a){(e.exports=a("I1BE")(!1)).push([e.i,'.form[data-v-e1dbc2b0] {\n max-width: 700px;\n}\n.form.inline-form[data-v-e1dbc2b0] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-e1dbc2b0] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-e1dbc2b0] {\n position: absolute;\n left: 0;\n bottom: -25px;\n}\n.form.block-form .wrapper-inline[data-v-e1dbc2b0] {\n display: flex;\n margin: 0 -15px;\n}\n.form.block-form .wrapper-inline .block-wrapper[data-v-e1dbc2b0] {\n width: 100%;\n padding: 0 15px;\n}\n.form.block-form .block-wrapper[data-v-e1dbc2b0] {\n margin-bottom: 32px;\n}\n.form.block-form .block-wrapper label[data-v-e1dbc2b0] {\n font-size: 0.875em;\n color: rgba(27, 37, 57, 0.8);\n font-weight: 700;\n display: block;\n margin-bottom: 7px;\n text-align: left;\n}\n.form.block-form .block-wrapper[data-v-e1dbc2b0]:last-child {\n margin-bottom: 0;\n}\n.form.block-form .button[data-v-e1dbc2b0] {\n margin-top: 50px;\n}\n.form .inline-wrapper[data-v-e1dbc2b0] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.form .inline-wrapper .switch-label .input-help[data-v-e1dbc2b0] {\n padding-top: 0;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-e1dbc2b0] {\n font-weight: 700;\n color: #1B2539;\n font-size: 1em;\n margin-bottom: 5px;\n}\n.form .input-help[data-v-e1dbc2b0] {\n font-size: 0.75em;\n color: rgba(27, 37, 57, 0.7);\n line-height: 1.35;\n padding-top: 10px;\n display: block;\n}\n.single-line-form[data-v-e1dbc2b0] {\n display: flex;\n}\n.single-line-form .submit-button[data-v-e1dbc2b0] {\n margin-left: 20px;\n}\n.error-message[data-v-e1dbc2b0] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-e1dbc2b0] {\n width: 100%;\n}\ninput[type="color"][data-v-e1dbc2b0] {\n width: 38px;\n height: 40px;\n border: none;\n outline: none;\n background: none;\n}\ntextarea[data-v-e1dbc2b0],\ninput[type="password"][data-v-e1dbc2b0],\ninput[type="text"][data-v-e1dbc2b0],\ninput[type="number"][data-v-e1dbc2b0],\ninput[type="email"][data-v-e1dbc2b0] {\n border: 1px solid transparent;\n transition: 150ms all ease;\n font-size: 1em;\n border-radius: 8px;\n padding: 13px 20px;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n font-weight: 700;\n outline: 0;\n width: 100%;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n}\ntextarea.is-error[data-v-e1dbc2b0],\ninput[type="password"].is-error[data-v-e1dbc2b0],\ninput[type="text"].is-error[data-v-e1dbc2b0],\ninput[type="number"].is-error[data-v-e1dbc2b0],\ninput[type="email"].is-error[data-v-e1dbc2b0] {\n border-color: #fd397a;\n}\ntextarea[data-v-e1dbc2b0]::-webkit-input-placeholder, input[type="password"][data-v-e1dbc2b0]::-webkit-input-placeholder, input[type="text"][data-v-e1dbc2b0]::-webkit-input-placeholder, input[type="number"][data-v-e1dbc2b0]::-webkit-input-placeholder, input[type="email"][data-v-e1dbc2b0]::-webkit-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-e1dbc2b0]::-moz-placeholder, input[type="password"][data-v-e1dbc2b0]::-moz-placeholder, input[type="text"][data-v-e1dbc2b0]::-moz-placeholder, input[type="number"][data-v-e1dbc2b0]::-moz-placeholder, input[type="email"][data-v-e1dbc2b0]::-moz-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-e1dbc2b0]:-ms-input-placeholder, input[type="password"][data-v-e1dbc2b0]:-ms-input-placeholder, input[type="text"][data-v-e1dbc2b0]:-ms-input-placeholder, input[type="number"][data-v-e1dbc2b0]:-ms-input-placeholder, input[type="email"][data-v-e1dbc2b0]:-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-e1dbc2b0]::-ms-input-placeholder, input[type="password"][data-v-e1dbc2b0]::-ms-input-placeholder, input[type="text"][data-v-e1dbc2b0]::-ms-input-placeholder, input[type="number"][data-v-e1dbc2b0]::-ms-input-placeholder, input[type="email"][data-v-e1dbc2b0]::-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-e1dbc2b0]::placeholder,\ninput[type="password"][data-v-e1dbc2b0]::placeholder,\ninput[type="text"][data-v-e1dbc2b0]::placeholder,\ninput[type="number"][data-v-e1dbc2b0]::placeholder,\ninput[type="email"][data-v-e1dbc2b0]::placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[disabled][data-v-e1dbc2b0],\ninput[type="password"][disabled][data-v-e1dbc2b0],\ninput[type="text"][disabled][data-v-e1dbc2b0],\ninput[type="number"][disabled][data-v-e1dbc2b0],\ninput[type="email"][disabled][data-v-e1dbc2b0] {\n background: white;\n color: rgba(27, 37, 57, 0.8);\n -webkit-text-fill-color: rgba(27, 37, 57, 0.8);\n opacity: 1;\n cursor: not-allowed;\n}\n.additional-link[data-v-e1dbc2b0] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-e1dbc2b0], .additional-link a[data-v-e1dbc2b0] {\n cursor: pointer;\n}\n.additional-link b[data-v-e1dbc2b0]:hover, .additional-link a[data-v-e1dbc2b0]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 1024px) {\n.form[data-v-e1dbc2b0] {\n max-width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-e1dbc2b0] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-e1dbc2b0], .form textarea[data-v-e1dbc2b0] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-e1dbc2b0] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-e1dbc2b0] {\n width: 100%;\n padding-right: 0;\n display: block;\n margin-bottom: 7px;\n text-align: left !important;\n font-size: 0.875em;\n padding-top: 0;\n}\n.form.block-form .button[data-v-e1dbc2b0] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-e1dbc2b0] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-e1dbc2b0] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-e1dbc2b0] {\n padding: 14px 32px;\n}\n.single-line-form[data-v-e1dbc2b0] {\n display: block;\n}\n.single-line-form .submit-button[data-v-e1dbc2b0] {\n margin-left: 0;\n margin-top: 20px;\n width: 100%;\n}\ntextarea[data-v-e1dbc2b0],\n input[type="password"][data-v-e1dbc2b0],\n input[type="number"][data-v-e1dbc2b0],\n input[type="text"][data-v-e1dbc2b0],\n input[type="email"][data-v-e1dbc2b0] {\n padding: 14px 20px;\n}\n}\n@media only screen and (max-width: 690px) {\n.form.block-form .wrapper-inline[data-v-e1dbc2b0] {\n display: block;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form .input-help[data-v-e1dbc2b0] {\n color: #7d858c;\n}\n.form.block-form .block-wrapper label[data-v-e1dbc2b0] {\n color: #bec6cf;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-e1dbc2b0] {\n color: #bec6cf;\n}\ntextarea[data-v-e1dbc2b0],\n input[type="password"][data-v-e1dbc2b0],\n input[type="text"][data-v-e1dbc2b0],\n input[type="number"][data-v-e1dbc2b0],\n input[type="email"][data-v-e1dbc2b0] {\n border-color: #1e2024;\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-e1dbc2b0]::-webkit-input-placeholder, input[type="password"][data-v-e1dbc2b0]::-webkit-input-placeholder, input[type="text"][data-v-e1dbc2b0]::-webkit-input-placeholder, input[type="number"][data-v-e1dbc2b0]::-webkit-input-placeholder, input[type="email"][data-v-e1dbc2b0]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-e1dbc2b0]::-moz-placeholder, input[type="password"][data-v-e1dbc2b0]::-moz-placeholder, input[type="text"][data-v-e1dbc2b0]::-moz-placeholder, input[type="number"][data-v-e1dbc2b0]::-moz-placeholder, input[type="email"][data-v-e1dbc2b0]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-e1dbc2b0]:-ms-input-placeholder, input[type="password"][data-v-e1dbc2b0]:-ms-input-placeholder, input[type="text"][data-v-e1dbc2b0]:-ms-input-placeholder, input[type="number"][data-v-e1dbc2b0]:-ms-input-placeholder, input[type="email"][data-v-e1dbc2b0]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-e1dbc2b0]::-ms-input-placeholder, input[type="password"][data-v-e1dbc2b0]::-ms-input-placeholder, input[type="text"][data-v-e1dbc2b0]::-ms-input-placeholder, input[type="number"][data-v-e1dbc2b0]::-ms-input-placeholder, input[type="email"][data-v-e1dbc2b0]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-e1dbc2b0]::placeholder,\n input[type="password"][data-v-e1dbc2b0]::placeholder,\n input[type="text"][data-v-e1dbc2b0]::placeholder,\n input[type="number"][data-v-e1dbc2b0]::placeholder,\n input[type="email"][data-v-e1dbc2b0]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-e1dbc2b0],\n input[type="password"][disabled][data-v-e1dbc2b0],\n input[type="text"][disabled][data-v-e1dbc2b0],\n input[type="number"][disabled][data-v-e1dbc2b0],\n input[type="email"][disabled][data-v-e1dbc2b0] {\n background: #1e2024;\n color: rgba(125, 133, 140, 0.8);\n -webkit-text-fill-color: rgba(125, 133, 140, 0.8);\n}\n.popup-wrapper textarea[data-v-e1dbc2b0],\n .popup-wrapper input[type="password"][data-v-e1dbc2b0],\n .popup-wrapper input[type="text"][data-v-e1dbc2b0],\n .popup-wrapper input[type="number"][data-v-e1dbc2b0],\n .popup-wrapper input[type="email"][data-v-e1dbc2b0] {\n background: #25272c;\n}\n}\n.block-form[data-v-e1dbc2b0] {\n max-width: 100%;\n}\n',""])},xnZf:function(e,t,a){"use strict";var n=a("+Pqb"),i=a("CjXH"),o={name:"StorageItemDetail",props:["percentage","title","type","used"],components:{HardDriveIcon:i.A,FileTextIcon:i.w,ProgressBar:n.a,MusicIcon:i.N,VideoIcon:i.gb,ImageIcon:i.C,FileIcon:i.v}},s=(a("jCWY"),a("KHd+")),r=Object(s.a)(o,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("article",{staticClass:"detail-storage-item",class:e.type},[a("div",{staticClass:"header-storage-item"},[a("div",{staticClass:"icon"},["images"==e.type?a("image-icon",{attrs:{size:"23"}}):e._e(),e._v(" "),"videos"==e.type?a("video-icon",{attrs:{size:"23"}}):e._e(),e._v(" "),"audios"==e.type?a("music-icon",{attrs:{size:"23"}}):e._e(),e._v(" "),"documents"==e.type?a("file-text-icon",{attrs:{size:"23"}}):e._e(),e._v(" "),"others"==e.type?a("file-icon",{attrs:{size:"23"}}):e._e(),e._v(" "),"disk"==e.type?a("hard-drive-icon",{attrs:{size:"23"}}):e._e()],1),e._v(" "),a("div",{staticClass:"title"},[a("b",{staticClass:"type"},[e._v(e._s(e.title))]),e._v(" "),a("span",{staticClass:"total-size"},[e._v(e._s(e.used))])])]),e._v(" "),a("ProgressBar",{staticClass:"storage-progress",attrs:{progress:e.percentage}})],1)}),[],!1,null,"d9e0536e",null);t.a=r.exports},xxrA:function(e,t,a){"use strict";var n={name:"SwitchInput",props:["label","name","state","info"],data:function(){return{isSwitched:void 0}},methods:{changeState:function(){this.isSwitched=!this.isSwitched,this.$emit("input",this.isSwitched)}},mounted:function(){this.isSwitched=this.state}},i=(a("LedX"),a("KHd+")),o=Object(i.a)(n,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"input-wrapper"},[a("div",{staticClass:"switch-content"},[e.label?a("label",{staticClass:"input-label"},[e._v(e._s(e.label)+":")]):e._e(),e._v(" "),e.info?a("small",{staticClass:"input-info"},[e._v(e._s(e.info))]):e._e()]),e._v(" "),a("div",{staticClass:"switch-content text-right"},[a("div",{staticClass:"switch",class:{active:e.isSwitched},on:{click:e.changeState}},[a("div",{staticClass:"switch-button"})])])])}),[],!1,null,"421ca226",null);t.a=o.exports}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9GaWxlc1ZpZXcvUHJvZ3Jlc3NCYXIudnVlP2RkYTUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvRmlsZXNWaWV3L1Byb2dyZXNzQmFyLnZ1ZT83M2U4Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9GaWxlc1ZpZXcvUHJvZ3Jlc3NCYXIudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0ZpbGVzVmlldy9Qcm9ncmVzc0Jhci52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1N0b3JhZ2VJdGVtRGV0YWlsLnZ1ZT8xZWM4Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbWFnZUlucHV0LnZ1ZT80YmM5Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWU/NmNmMiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlPzNlZDMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0LnZ1ZT9iNTg0Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvRmlsZXNWaWV3L1Byb2dyZXNzQmFyLnZ1ZT84ZDhhIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9BZG1pbi9BcHBTZXR0aW5ncy9BcHBTZXR0aW5nc1RhYnMvT3RoZXJzLnZ1ZT85MjUyIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbWFnZUlucHV0LnZ1ZT9mNjg3Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbWFnZUlucHV0LnZ1ZT9jMDA3Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbWFnZUlucHV0LnZ1ZT9mNGJhIiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW1hZ2VJbnB1dC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0ltYWdlSW5wdXQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWU/YzEwZiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU3dpdGNoSW5wdXQudnVlPzZjYzMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0ltYWdlSW5wdXQudnVlPzQ2MzYiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0LnZ1ZT9jMWE0Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9Td2l0Y2hJbnB1dC52dWU/N2Q5OSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9GaWxlc1ZpZXcvUHJvZ3Jlc3NCYXIudnVlPzQxYjUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvRmlsZXNWaWV3L1Byb2dyZXNzQmFyLnZ1ZT8zNzQ1Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9TdG9yYWdlSXRlbURldGFpbC52dWU/OGJmNyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvQWRtaW4vQXBwU2V0dGluZ3MvQXBwU2V0dGluZ3NUYWJzL090aGVycy52dWU/YTI0MyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvQWRtaW4vQXBwU2V0dGluZ3MvQXBwU2V0dGluZ3NUYWJzL090aGVycy52dWU/OGFjYyIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL3ZpZXdzL0FkbWluL0FwcFNldHRpbmdzL0FwcFNldHRpbmdzVGFicy9PdGhlcnMudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9BZG1pbi9BcHBTZXR0aW5ncy9BcHBTZXR0aW5nc1RhYnMvT3RoZXJzLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvU3RvcmFnZUl0ZW1EZXRhaWwudnVlP2ExZWYiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL0FkbWluL0FwcFNldHRpbmdzL0FwcFNldHRpbmdzVGFicy9PdGhlcnMudnVlPzc4M2IiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1N3aXRjaElucHV0LnZ1ZT85ZDVjIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9BZG1pbi9BcHBTZXR0aW5ncy9BcHBTZXR0aW5nc1RhYnMvT3RoZXJzLnZ1ZT9jNTRkIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9TdG9yYWdlSXRlbURldGFpbC52dWU/MjI2YSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvU3RvcmFnZUl0ZW1EZXRhaWwudnVlPzgyZWIiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9TdG9yYWdlSXRlbURldGFpbC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1N0b3JhZ2VJdGVtRGV0YWlsLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU3dpdGNoSW5wdXQudnVlPzQxZjkiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1N3aXRjaElucHV0LnZ1ZT8xOWYwIiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU3dpdGNoSW5wdXQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9Td2l0Y2hJbnB1dC52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50IiwiX2giLCJ0aGlzIiwiJGNyZWF0ZUVsZW1lbnQiLCJfYyIsIl9zZWxmIiwic3RhdGljQ2xhc3MiLCJzdHlsZSIsIndpZHRoIiwicHJvZ3Jlc3MiLCJjb250ZW50IiwibW9kdWxlIiwiaSIsIm9wdGlvbnMiLCJ0cmFuc2Zvcm0iLCJ1bmRlZmluZWQiLCJsb2NhbHMiLCJleHBvcnRzIiwicHVzaCIsIl92bSIsImNsYXNzIiwiaXNPcGVuIiwiaXNFcnJvciIsIm9uIiwib3Blbk1lbnUiLCJzZWxlY3RlZCIsImljb24iLCJhdHRycyIsIl9lIiwiX3YiLCJfcyIsImxhYmVsIiwicGxhY2Vob2xkZXIiLCJfbCIsIm9wdGlvbiIsImtleSIsIiRldmVudCIsInNlbGVjdE9wdGlvbiIsImVycm9yIiwicmVzZXRJbWFnZSIsInJlZiIsInNob3dJbWFnZVByZXZpZXciLCJpbWFnZVByZXZpZXciLCJkaXJlY3RpdmVzIiwibmFtZSIsInJhd05hbWUiLCJ2YWx1ZSIsImlzRGF0YSIsImV4cHJlc3Npb24iLCIkdCIsImlzTG9hZGluZyIsImRvbVByb3BzIiwiYXBwIiwic3RvcmFnZUxpbWl0YXRpb24iLCIkdXBkYXRlVGV4dCIsIm1vZGVsIiwiY2FsbGJhY2siLCIkJHYiLCIkc2V0Iiwic2NvcGVkU2xvdHMiLCJfdSIsImZuIiwiZXJyb3JzIiwidGFyZ2V0IiwiY29tcG9zaW5nIiwiZGVmYXVsdFN0b3JhZ2UiLCJ1c2VyUmVnaXN0cmF0aW9uIiwiY29udGFjdE1haWwiLCJnb29nbGVBbmFseXRpY3MiLCJtaW1ldHlwZXNCbGFja2xpc3QiLCJ1cGxvYWRMaW1pdCIsImlzRmx1c2hpbmdDYWNoZSIsIm5hdGl2ZU9uIiwiZmx1c2hDYWNoZSIsInR5cGUiLCJ0aXRsZSIsInVzZWQiLCJwZXJjZW50YWdlIiwiaW5mbyIsImFjdGl2ZSIsImlzU3dpdGNoZWQiLCJjaGFuZ2VTdGF0ZSJdLCJtYXBwaW5ncyI6IjhGQUFBLElDQWlOLEVDT2pOLENBQ0EsbUJBQ0Esb0Isd0JDRElBLEVBQVksWUFDZCxHSFRXLFdBQWEsSUFBaUJDLEVBQVRDLEtBQWdCQyxlQUFtQkMsRUFBbkNGLEtBQTBDRyxNQUFNRCxJQUFJSCxFQUFHLE9BQU9HLEVBQUcsTUFBTSxDQUFDRSxZQUFZLGdCQUFnQixDQUFDRixFQUFHLE9BQU8sQ0FBQ0UsWUFBWSxXQUFXQyxNQUFNLENBQUdDLE1BQWhKTixLQUEySk8sU0FBVyxXQUNsTCxJR1dwQixFQUNBLEtBQ0EsV0FDQSxNQUlhLElBQUFULEUsZ0NDbEJmLElBQUlVLEVBQVUsRUFBUSxRQUVBLGlCQUFaQSxJQUFzQkEsRUFBVSxDQUFDLENBQUNDLEVBQU9DLEVBQUlGLEVBQVMsTUFPaEUsSUFBSUcsRUFBVSxDQUFDLEtBQU0sRUFFckIsZUFQSUMsRUFRSixnQkFBcUJDLEdBRVIsRUFBUSxPQUFSLENBQW1FTCxFQUFTRyxHQUV0RkgsRUFBUU0sU0FBUUwsRUFBT00sUUFBVVAsRUFBUU0sUyx3QkNqQmxDTCxFQUFPTSxRQUFVLEVBQVEsT0FBUixFQUFrRSxJQUtyRkMsS0FBSyxDQUFDUCxFQUFPQyxFQUFJLCtoRkFBZ2lGLE0sdUJDSnpqRixJQUFJRixFQUFVLEVBQVEsUUFFQSxpQkFBWkEsSUFBc0JBLEVBQVUsQ0FBQyxD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QSxXQUNBLE1BSWEsSUFBQU4sRSIsImZpbGUiOiJjaHVua3MvYXBwLW90aGVycy5qcz9pZD1jNjliYTFiYWM2ODkzNWUzN2NhNyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcInByb2dyZXNzLWJhclwifSxbX2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImJnLXRoZW1lXCIsc3R5bGU6KHsgd2lkdGg6IF92bS5wcm9ncmVzcyArICclJyB9KX0pXSl9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUHJvZ3Jlc3NCYXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1Byb2dyZXNzQmFyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cblx0PGRpdiBjbGFzcz1cInByb2dyZXNzLWJhclwiPlxuXHRcdDxzcGFuIGNsYXNzPVwiYmctdGhlbWVcIiA6c3R5bGU9XCJ7IHdpZHRoOiBwcm9ncmVzcyArICclJyB9XCI+PC9zcGFuPlxuXHQ8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5leHBvcnQgZGVmYXVsdCB7XG5cdG5hbWU6ICdQcm9ncmVzc0JhcicsXG5cdHByb3BzOiBbJ3Byb2dyZXNzJ11cbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgc2NvcGVkIGxhbmc9XCJzY3NzXCI+XG5cdEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG5cdEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cblx0LnByb2dyZXNzLWJhciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiA1cHg7XG5cdFx0YmFja2dyb3VuZDogJGxpZ2h0X2JhY2tncm91bmQ7XG5cdFx0bWFyZ2luLXRvcDogNnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cblx0XHRzcGFuIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG5cblx0XHQucHJvZ3Jlc3MtYmFyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MHB4KSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG5cblx0XHQucHJvZ3Jlc3MtYmFyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcblx0XHR9XG5cdH1cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1Byb2dyZXNzQmFyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02ZWMyYmU3YSZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9Qcm9ncmVzc0Jhci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1Byb2dyZXNzQmFyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Qcm9ncmVzc0Jhci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ZWMyYmU3YSZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjZlYzJiZTdhXCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3RvcmFnZUl0ZW1EZXRhaWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ZDllMDUzNmUmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TdG9yYWdlSXRlbURldGFpbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1kOWUwNTM2ZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TdG9yYWdlSXRlbURldGFpbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1kOWUwNTM2ZSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIuZHJvcHpvbmVbZGF0YS12LTVkMTQxYTY4XSB7XFxuICBib3JkZXI6IDFweCBkYXNoZWQgI2ExYWJjMjtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWluLWhlaWdodDogMTc1cHg7XFxufVxcbi5kcm9wem9uZS5pcy1lcnJvcltkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKDI1MywgNTcsIDEyMiwgMC4zKTtcXG59XFxuLmRyb3B6b25lLmlzLWVycm9yIC5kcm9wem9uZS10aXRsZVtkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIGNvbG9yOiAjZmQzOTdhO1xcbn1cXG4uZHJvcHpvbmUuaXMtZXJyb3IgLmljb24tdXBsb2FkIHJlY3RbZGF0YS12LTVkMTQxYTY4XSwgLmRyb3B6b25lLmlzLWVycm9yIC5pY29uLXVwbG9hZCBjaXJjbGVbZGF0YS12LTVkMTQxYTY4XSwgLmRyb3B6b25lLmlzLWVycm9yIC5pY29uLXVwbG9hZCBwb2x5bGluZVtkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIHN0cm9rZTogI2ZkMzk3YTtcXG59XFxuLmRyb3B6b25lIGlucHV0W3R5cGU9J2ZpbGUnXVtkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIG9wYWNpdHk6IDA7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICBsZWZ0OiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBib3R0b206IDA7XFxuICB6LWluZGV4OiAxO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbi5kcm9wem9uZSAuaW1hZ2UtcHJldmlld1tkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcXG4gICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XFxuICBsZWZ0OiAwO1xcbiAgcGFkZGluZzogMjVweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZHJvcHpvbmUgLmltYWdlLXByZXZpZXcuZml0LWltYWdlW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgLW8tb2JqZWN0LWZpdDogY292ZXI7XFxuICAgICBvYmplY3QtZml0OiBjb3ZlcjtcXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbn1cXG4uZHJvcHpvbmUgLmRyb3B6b25lLW1lc3NhZ2VbZGF0YS12LTVkMTQxYTY4XSB7XFxuICBwYWRkaW5nOiA1MHB4IDA7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLmRyb3B6b25lIC5kcm9wem9uZS1tZXNzYWdlIC5pY29uLXVwbG9hZCByZWN0W2RhdGEtdi01ZDE0MWE2OF0sIC5kcm9wem9uZSAuZHJvcHpvbmUtbWVzc2FnZSAuaWNvbi11cGxvYWQgY2lyY2xlW2RhdGEtdi01ZDE0MWE2OF0sIC5kcm9wem9uZSAuZHJvcHpvbmUtbWVzc2FnZSAuaWNvbi11cGxvYWQgcG9seWxpbmVbZGF0YS12LTVkMTQxYTY4XSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG59XFxuLmRyb3B6b25lIC5kcm9wem9uZS1tZXNzYWdlIC5kcm9wem9uZS10aXRsZVtkYXRhLXYtNWQxNDFhNjhdIHtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZHJvcHpvbmUgLmRyb3B6b25lLW1lc3NhZ2UgLmRyb3B6b25lLWRlc2NyaXB0aW9uW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC43KTtcXG4gIGZvbnQtc2l6ZTogMC43NWVtO1xcbn1cXG4uZHJvcHpvbmUgLnJlc2V0LWltYWdlW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgei1pbmRleDogMjtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgcmlnaHQ6IDA7XFxuICB0b3A6IDA7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xcbiAgcGFkZGluZzogMHB4IDRweDtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbn1cXG4uZHJvcHpvbmUgLnJlc2V0LWltYWdlIC5jbG9zZS1pY29uW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG59XFxuLmRyb3B6b25lIC5yZXNldC1pbWFnZSAuY2xvc2UtaWNvbiBsaW5lIHBhdGhbZGF0YS12LTVkMTQxYTY4XSB7XFxuICBmaWxsOiAjMUIyNTM5O1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmRyb3B6b25lW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcXG59XFxuLmRyb3B6b25lIC5kcm9wem9uZS1tZXNzYWdlIC5pY29uLXVwbG9hZCBwYXRoW2RhdGEtdi01ZDE0MWE2OF0sIC5kcm9wem9uZSAuZHJvcHpvbmUtbWVzc2FnZSAuaWNvbi11cGxvYWQgcG9seWxpbmVbZGF0YS12LTVkMTQxYTY4XSwgLmRyb3B6b25lIC5kcm9wem9uZS1tZXNzYWdlIC5pY29uLXVwbG9hZCBsaW5lW2RhdGEtdi01ZDE0MWE2OF0ge1xcbiAgICBjb2xvcjogaW5oZXJpdDtcXG59XFxuLmRyb3B6b25lIC5kcm9wem9uZS1tZXNzYWdlIC5kcm9wem9uZS1kZXNjcmlwdGlvbltkYXRhLXYtNWQxNDFhNjhdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xNGIxZDZhMyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzZWxlY3RcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImlucHV0LWFyZWFcIixjbGFzczp7J2lzLWFjdGl2ZSc6IF92bS5pc09wZW4sICdpcy1lcnJvcic6IF92bS5pc0Vycm9yfSxvbjp7XCJjbGlja1wiOl92bS5vcGVuTWVudX19LFsoX3ZtLnNlbGVjdGVkKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzZWxlY3RlZFwifSxbKF92bS5zZWxlY3RlZC5pY29uKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJvcHRpb24taWNvblwifSxbKF92bS5zZWxlY3RlZC5pY29uID09PSAndXNlcicpP19jKCd1c2VyLWljb24nLHthdHRyczp7XCJzaXplXCI6XCIxNFwifX0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKF92bS5zZWxlY3RlZC5pY29uID09PSAndXNlci1lZGl0Jyk/X2MoJ2VkaXQyLWljb24nLHthdHRyczp7XCJzaXplXCI6XCIxNFwifX0pOl92bS5fZSgpXSwxKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJvcHRpb24tdmFsdWVcIn0sW192bS5fdihfdm0uX3MoX3ZtLnNlbGVjdGVkLmxhYmVsKSldKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKCEgX3ZtLnNlbGVjdGVkKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJub3Qtc2VsZWN0ZWRcIn0sW19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJvcHRpb24tdmFsdWUgcGxhY2Vob2RlclwifSxbX3ZtLl92KF92bS5fcyhfdm0ucGxhY2Vob2xkZXIpKV0pXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnY2hldnJvbi1kb3duLWljb24nLHtzdGF0aWNDbGFzczpcImNoZXZyb25cIixhdHRyczp7XCJzaXplXCI6XCIxOVwifX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCd0cmFuc2l0aW9uJyx7YXR0cnM6e1wibmFtZVwiOlwic2xpZGUtaW5cIn19LFsoX3ZtLmlzT3Blbik/X2MoJ3VsJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC1vcHRpb25zXCJ9LF92bS5fbCgoX3ZtLm9wdGlvbnMpLGZ1bmN0aW9uKG9wdGlvbixpKXtyZXR1cm4gX2MoJ2xpJyx7a2V5Omksc3RhdGljQ2xhc3M6XCJvcHRpb24taXRlbVwiLG9uOntcImNsaWNrXCI6ZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLnNlbGVjdE9wdGlvbihvcHRpb24pfX19LFsob3B0aW9uLmljb24pP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcIm9wdGlvbi1pY29uXCJ9LFsob3B0aW9uLmljb24gPT09ICd1c2VyJyk/X2MoJ3VzZXItaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE0XCJ9fSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwob3B0aW9uLmljb24gPT09ICd1c2VyLWVkaXQnKT9fYygnZWRpdDItaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE0XCJ9fSk6X3ZtLl9lKCldLDEpOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcIm9wdGlvbi12YWx1ZVwifSxbX3ZtLl92KF92bS5fcyhvcHRpb24ubGFiZWwpKV0pXSl9KSwwKTpfdm0uX2UoKV0pXSwxKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RcIj5cblxuICAgICAgICA8IS0tQXJlYS0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYXJlYVwiIDpjbGFzcz1cInsnaXMtYWN0aXZlJzogaXNPcGVuLCAnaXMtZXJyb3InOiBpc0Vycm9yfVwiIEBjbGljaz1cIm9wZW5NZW51XCI+XG5cbiAgICAgICAgICAgIDwhLS1JZiBpcyBzZWxlY3RlZC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCIgdi1pZj1cInNlbGVjdGVkXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbi1pY29uXCIgdi1pZj1cInNlbGVjdGVkLmljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHVzZXItaWNvbiB2LWlmPVwic2VsZWN0ZWQuaWNvbiA9PT0gJ3VzZXInXCIgc2l6ZT1cIjE0XCI+PC91c2VyLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxlZGl0Mi1pY29uIHYtaWY9XCJzZWxlY3RlZC5pY29uID09PSAndXNlci1lZGl0J1wiIHNpemU9XCIxNFwiPjwvZWRpdDItaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9wdGlvbi12YWx1ZVwiPnt7IHNlbGVjdGVkLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS1JZiBpcyBlbXB0eS0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vdC1zZWxlY3RlZFwiIHYtaWY9XCIhIHNlbGVjdGVkXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcHRpb24tdmFsdWUgcGxhY2Vob2RlclwiPnt7IHBsYWNlaG9sZGVyIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxjaGV2cm9uLWRvd24taWNvbiBzaXplPVwiMTlcIiBjbGFzcz1cImNoZXZyb25cIiAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tT3B0aW9ucy0tPlxuICAgICAgICA8dHJhbnNpdGlvbiBuYW1lPVwic2xpZGUtaW5cIj5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImlucHV0LW9wdGlvbnNcIiB2LWlmPVwiaXNPcGVuXCI+XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwib3B0aW9uLWl0ZW1cIiBAY2xpY2s9XCJzZWxlY3RPcHRpb24ob3B0aW9uKVwiIHYtZm9yPVwiKG9wdGlvbiwgaSkgaW4gb3B0aW9uc1wiIDprZXk9XCJpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb24taWNvblwiIHYtaWY9XCJvcHRpb24uaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVzZXItaWNvbiB2LWlmPVwib3B0aW9uLmljb24gPT09ICd1c2VyJ1wiIHNpemU9XCIxNFwiPjwvdXNlci1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGVkaXQyLWljb24gdi1pZj1cIm9wdGlvbi5pY29uID09PSAndXNlci1lZGl0J1wiIHNpemU9XCIxNFwiPjwvZWRpdDItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3B0aW9uLXZhbHVlXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L3RyYW5zaXRpb24+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCB7IENoZXZyb25Eb3duSWNvbiwgRWRpdDJJY29uLCBVc2VySWNvbiB9IGZyb20gJ3Z1ZS1mZWF0aGVyLWljb25zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOidTZWxlY3RJbnB1dCcsXG4gICAgICAgIHByb3BzOiBbJ29wdGlvbnMnLCAnaXNFcnJvcicsICdkZWZhdWx0JywgJ3BsYWNlaG9sZGVyJ10sXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIEVkaXQySWNvbixcbiAgICAgICAgICAgIFVzZXJJY29uLFxuICAgICAgICAgICAgQ2hldnJvbkRvd25JY29uXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgaXNPcGVuOiBmYWxzZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kczoge1xuICAgICAgICAgICAgc2VsZWN0T3B0aW9uKG9wdGlvbikge1xuXG4gICAgICAgICAgICAgICAgLy8gRW1pdCBzZWxlY3RlZFxuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0Jywgb3B0aW9uLnZhbHVlKVxuXG4gICAgICAgICAgICAgICAgLy8gR2V0IHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IG9wdGlvblxuXG4gICAgICAgICAgICAgICAgLy8gQ2xvc2UgbWVudVxuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGVuTWVudSgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiA9ICEgdGhpcy5pc09wZW5cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZWQoKSB7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRlZmF1bHQpXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMuZGVmYXVsdClcbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLnNlbGVjdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5pbnB1dC1vcHRpb25zIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRvcDogNjVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI5NXB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgIC5vcHRpb24taXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRfYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlucHV0LWFyZWEge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiAkbGlnaHRfbW9kZV9pbnB1dF9iYWNrZ3JvdW5kO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDE1MG1zKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmNoZXZyb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigxNTBtcyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAvL2JveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgkdGhlbWUsIDAuMyk7XG5cbiAgICAgICAgICAgIC5jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1lcnJvciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRkYW5nZXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoJGRhbmdlciwgMC4zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb24taWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMCk7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9wdGlvbi12YWx1ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICYucGxhY2Vob2RlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkdGV4dCwgMC41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZS1pbi1lbnRlci1hY3RpdmUge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZTtcbiAgICB9XG5cbiAgICAuc2xpZGUtaW4tZW50ZXIgLyogLmxpc3QtbGVhdmUtYWN0aXZlIGJlbG93IHZlcnNpb24gMi4xLjggKi9cbiAgICB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuXG4gICAgICAgIC5pbnB1dC1hcmVhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvcHVwLXdyYXBwZXIge1xuICAgICAgICAgICAgLmlucHV0LWFyZWEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGRhcmtfbW9kZV9mb3JlZ3JvdW5kLCAzJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQtb3B0aW9ucyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19tb2RlX2ZvcmVncm91bmQ7XG5cbiAgICAgICAgICAgIC5vcHRpb24taXRlbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRkYXJrX21vZGVfZm9yZWdyb3VuZCwgNSUpO1xuXG4gICAgICAgICAgICAgICAgICAgIC5vcHRpb24taWNvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsIGNpcmNsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcHRpb24tdmFsdWUge1xuXG4gICAgICAgICAgICAmLnBsYWNlaG9kZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTRiMWQ2YTMmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIxNGIxZDZhM1wiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1Byb2dyZXNzQmFyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTZlYzJiZTdhJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUHJvZ3Jlc3NCYXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NmVjMmJlN2Emc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vT3RoZXJzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWUxZGJjMmIwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vT3RoZXJzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWUxZGJjMmIwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL090aGVycy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1lMWRiYzJiMCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01ZDE0MWE2OCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0ltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NWQxNDFhNjgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01ZDE0MWE2OCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiZHJvcHpvbmVcIixjbGFzczp7ICdpcy1lcnJvcic6IF92bS5lcnJvciB9fSxbKF92bS5pbWFnZVByZXZpZXcpP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInJlc2V0LWltYWdlXCIsb246e1wiY2xpY2tcIjpfdm0ucmVzZXRJbWFnZX19LFtfYygneC1pY29uJyx7c3RhdGljQ2xhc3M6XCJjbG9zZS1pY29uIHRleHQtdGhlbWVcIixhdHRyczp7XCJzaXplXCI6XCIxNFwifX0pXSwxKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdpbnB1dCcse3JlZjpcImZpbGVcIixzdGF0aWNDbGFzczpcImR1bW15XCIsYXR0cnM6e1widHlwZVwiOlwiZmlsZVwifSxvbjp7XCJjaGFuZ2VcIjpmdW5jdGlvbigkZXZlbnQpe3JldHVybiBfdm0uc2hvd0ltYWdlUHJldmlldygkZXZlbnQpfX19KSxfdm0uX3YoXCIgXCIpLChfdm0uaW1hZ2VQcmV2aWV3KT9fYygnaW1nJyx7cmVmOlwiaW1hZ2VcIixzdGF0aWNDbGFzczpcImltYWdlLXByZXZpZXdcIixhdHRyczp7XCJzcmNcIjpfdm0uaW1hZ2VQcmV2aWV3fX0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse2RpcmVjdGl2ZXM6W3tuYW1lOlwic2hvd1wiLHJhd05hbWU6XCJ2LXNob3dcIix2YWx1ZTooISBfdm0uaXNEYXRhKSxleHByZXNzaW9uOlwiISBpc0RhdGFcIn1dLHN0YXRpY0NsYXNzOlwiZHJvcHpvbmUtbWVzc2FnZVwifSxbX2MoJ2ltYWdlLWljb24nLHtzdGF0aWNDbGFzczpcImljb24tdXBsb2FkIHRleHQtdGhlbWVcIixhdHRyczp7XCJzaXplXCI6XCIyOFwifX0pLF92bS5fdihcIiBcIiksX2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImRyb3B6b25lLXRpdGxlXCJ9LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdpbnB1dF9pbWFnZS50aXRsZScpKStcIlxcbiAgICAgICAgXCIpXSksX3ZtLl92KFwiIFwiKSxfYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZHJvcHpvbmUtZGVzY3JpcHRpb25cIn0sW192bS5fdihcIlxcbiAgICAgICAgICAgIFwiK192bS5fcyhfdm0uJHQoJ2lucHV0X2ltYWdlLnN1cHBvcnRlZCcpKStcIlxcbiAgICAgICAgXCIpXSldLDEpXSl9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImRyb3B6b25lXCIgOmNsYXNzPVwieyAnaXMtZXJyb3InOiBlcnJvciB9XCI+XG4gICAgICAgIDxkaXYgdi1pZj1cImltYWdlUHJldmlld1wiIEBjbGljaz1cInJlc2V0SW1hZ2VcIiBjbGFzcz1cInJlc2V0LWltYWdlXCI+XG4gICAgICAgICAgICA8eC1pY29uIHNpemU9XCIxNFwiIGNsYXNzPVwiY2xvc2UtaWNvbiB0ZXh0LXRoZW1lXCIgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgcmVmPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgICAgIEBjaGFuZ2U9XCJzaG93SW1hZ2VQcmV2aWV3KCRldmVudClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHVtbXlcIlxuICAgICAgICAvPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgcmVmPVwiaW1hZ2VcIlxuICAgICAgICAgICAgICAgIDpzcmM9XCJpbWFnZVByZXZpZXdcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaW1hZ2UtcHJldmlld1wiXG4gICAgICAgICAgICAgICAgdi1pZj1cImltYWdlUHJldmlld1wiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3B6b25lLW1lc3NhZ2VcIiB2LXNob3c9XCIhIGlzRGF0YVwiPlxuICAgICAgICAgICAgPGltYWdlLWljb24gc2l6ZT1cIjI4XCIgY2xhc3M9XCJpY29uLXVwbG9hZCB0ZXh0LXRoZW1lXCI+PC9pbWFnZS1pY29uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wem9uZS10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHt7ICR0KCdpbnB1dF9pbWFnZS50aXRsZScpIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3B6b25lLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAge3sgJHQoJ2lucHV0X2ltYWdlLnN1cHBvcnRlZCcpIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBpbXBvcnQgeyBYSWNvbiwgSW1hZ2VJY29uIH0gZnJvbSAndnVlLWZlYXRoZXItaWNvbnMnXG5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdJbWFnZUlucHV0JyxcbiAgICAgICAgcHJvcHM6IFtcbiAgICAgICAgICAgICdpbWFnZScsICdlcnJvcidcbiAgICAgICAgXSxcbiAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgSW1hZ2VJY29uLFxuICAgICAgICAgICAgWEljb24sXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGltYWdlUHJldmlldzogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbXB1dGVkOiB7XG4gICAgICAgICAgICBpc0RhdGEoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLmltYWdlUHJldmlldyA9PT0gJ3VuZGVmaW5lZCcgfHwgdGhpcy5pbWFnZVByZXZpZXcgPT09ICcnID8gZmFsc2UgOiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICByZXNldEltYWdlKCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VQcmV2aWV3ID0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCB1bmRlZmluZWQpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2hvd0ltYWdlUHJldmlldyhldmVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGltZ1BhdGggPSBldmVudC50YXJnZXQuZmlsZXNbMF0ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgZXh0biA9IGltZ1BhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzdHJpbmcoaW1nUGF0aC5sYXN0SW5kZXhPZignLicpICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG5cbiAgICAgICAgICAgICAgICBpZiAoWydwbmcnLCAnanBnJywgJ2pwZWcnLCAnc3ZnJ10uaW5jbHVkZXMoZXh0bikpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKClcblxuICAgICAgICAgICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gKHRoaXMuaW1hZ2VQcmV2aWV3ID0gcmVhZGVyLnJlc3VsdClcblxuICAgICAgICAgICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSB1c2VyIGF2YXRhclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdpbnB1dCcsIGV2ZW50LnRhcmdldC5maWxlc1swXSlcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBhbGVydCggdGhpcy4kdCgndmFsaWRhdGlvbl9lcnJvcnMud3JvbmdfaW1hZ2UnKSApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjcmVhdGVkKCkge1xuICAgICAgICAgICAgLy8gSWYgaGFzIGRlZmF1bHQgaW1hZ2UgdGhlbiBsb2FkXG4gICAgICAgICAgICBpZiAodGhpcy5pbWFnZSkgdGhpcy5pbWFnZVByZXZpZXcgPSB0aGlzLmltYWdlXG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5kcm9wem9uZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjYTFhYmMyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiAxNzVweDtcblxuICAgICAgICAmLmlzLWVycm9yIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKDI1MywgNTcsIDEyMiwgMC4zKTtcblxuICAgICAgICAgICAgLmRyb3B6b25lLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhbmdlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24tdXBsb2FkIHtcbiAgICAgICAgICAgICAgICByZWN0LCBjaXJjbGUsIHBvbHlsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkZGFuZ2VyXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT0nZmlsZSddIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2UtcHJldmlldyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMjVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAmLmZpdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcHpvbmUtbWVzc2FnZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmljb24tdXBsb2FkIHtcbiAgICAgICAgICAgICAgICByZWN0LCBjaXJjbGUsIHBvbHlsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kcm9wem9uZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZHJvcHpvbmUtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dF9tdXRlZDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlc2V0LWltYWdlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCA0cHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuICAgICAgICAgICAgLmNsb3NlLWljb24ge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICAgICBsaW5lIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkdGV4dDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgICAgLmRyb3B6b25lIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh3aGl0ZSwgMC4yKTtcblxuICAgICAgICAgICAgLmRyb3B6b25lLW1lc3NhZ2Uge1xuXG4gICAgICAgICAgICAgICAgLmljb24tdXBsb2FkIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCwgcG9seWxpbmUsIGxpbmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZHJvcHpvbmUtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3NlY29uZGFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9JbWFnZUlucHV0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD01ZDE0MWE2OCZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9JbWFnZUlucHV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vSW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vSW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01ZDE0MWE2OCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjVkMTQxYTY4XCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xNGIxZDZhMyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Td2l0Y2hJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00MjFjYTIyNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1N3aXRjaElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTQyMWNhMjI2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0ltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NWQxNDFhNjgmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbWFnZUlucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVkMTQxYTY4Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLnNlbGVjdFtkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLmlucHV0LW9wdGlvbnNbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0b3A6IDY1cHg7XFxuICBsZWZ0OiAwO1xcbiAgcmlnaHQ6IDA7XFxuICB6LWluZGV4OiA5O1xcbiAgbWF4LWhlaWdodDogMjk1cHg7XFxuICBvdmVyZmxvdy15OiBhdXRvO1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXSB7XFxuICBwYWRkaW5nOiAxM3B4IDIwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmlucHV0LW9wdGlvbnMgLm9wdGlvbi1pdGVtW2RhdGEtdi0xNGIxZDZhM106aG92ZXIge1xcbiAgY29sb3I6ICMwMEJDN0U7XFxuICBiYWNrZ3JvdW5kOiAjZjRmNWY2O1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXTpsYXN0LWNoaWxkIHtcXG4gIGJvcmRlci1ib3R0b206IG5vbmU7XFxufVxcbi5pbnB1dC1hcmVhW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XFxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbiAgdHJhbnNpdGlvbjogMTUwbXMgYWxsIGVhc2U7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcGFkZGluZzogMTNweCAyMHB4O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIG91dGxpbmU6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmlucHV0LWFyZWEgLmNoZXZyb25bZGF0YS12LTE0YjFkNmEzXSB7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG59XFxuLmlucHV0LWFyZWEuaXMtYWN0aXZlIC5jaGV2cm9uW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcXG59XFxuLmlucHV0LWFyZWEuaXMtZXJyb3JbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBib3JkZXItY29sb3I6ICNmZDM5N2E7XFxuICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoMjUzLCA1NywgMTIyLCAwLjMpO1xcbn1cXG4ub3B0aW9uLWljb25bZGF0YS12LTE0YjFkNmEzXSB7XFxuICB3aWR0aDogMjBweDtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcXG59XFxuLm9wdGlvbi1pY29uIHN2Z1tkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIG1hcmdpbi10b3A6IC00cHg7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbn1cXG4ub3B0aW9uLXZhbHVlW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG59XFxuLm9wdGlvbi12YWx1ZS5wbGFjZWhvZGVyW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG59XFxuLnNsaWRlLWluLWVudGVyLWFjdGl2ZVtkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlO1xcbn1cXG4uc2xpZGUtaW4tZW50ZXJbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBvcGFjaXR5OiAwO1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5pbnB1dC1hcmVhW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbiAgICBib3JkZXItY29sb3I6ICMxZTIwMjQ7XFxufVxcbi5wb3B1cC13cmFwcGVyIC5pbnB1dC1hcmVhW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNzJjO1xcbn1cXG4uaW5wdXQtb3B0aW9uc1tkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gICAgYmFja2dyb3VuZDogIzFlMjAyNDtcXG59XFxuLmlucHV0LW9wdGlvbnMgLm9wdGlvbi1pdGVtW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXTpob3ZlciB7XFxuICAgIGJhY2tncm91bmQ6ICMyYTJjMzI7XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbTpob3ZlciAub3B0aW9uLWljb24gcGF0aFtkYXRhLXYtMTRiMWQ2YTNdLCAuaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW06aG92ZXIgLm9wdGlvbi1pY29uIGNpcmNsZVtkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbVtkYXRhLXYtMTRiMWQ2YTNdOmxhc3QtY2hpbGQge1xcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xcbn1cXG4ub3B0aW9uLXZhbHVlLnBsYWNlaG9kZXJbZGF0YS12LTE0YjFkNmEzXSB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3dpdGNoSW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NDIxY2EyMjYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Td2l0Y2hJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00MjFjYTIyNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Td2l0Y2hJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00MjFjYTIyNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUHJvZ3Jlc3NCYXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NmVjMmJlN2Emc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Qcm9ncmVzc0Jhci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ZWMyYmU3YSZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Qcm9ncmVzc0Jhci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02ZWMyYmU3YSZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIucHJvZ3Jlc3MtYmFyW2RhdGEtdi02ZWMyYmU3YV0ge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDVweDtcXG4gIGJhY2tncm91bmQ6ICNmNGY1ZjY7XFxuICBtYXJnaW4tdG9wOiA2cHg7XFxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xcbn1cXG4ucHJvZ3Jlc3MtYmFyIHNwYW5bZGF0YS12LTZlYzJiZTdhXSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGhlaWdodDogMTAwJTtcXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4ucHJvZ3Jlc3MtYmFyW2RhdGEtdi02ZWMyYmU3YV0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2ODBweCkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5wcm9ncmVzcy1iYXJbZGF0YS12LTZlYzJiZTdhXSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5kZXRhaWwtc3RvcmFnZS1pdGVtW2RhdGEtdi1kOWUwNTM2ZV0ge1xcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcXG59XFxuLmRldGFpbC1zdG9yYWdlLWl0ZW0uZGlzayAuaWNvbiBwYXRoW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmRpc2sgLmljb24gbGluZVtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5kaXNrIC5pY29uIHBvbHlsaW5lW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmRpc2sgLmljb24gcmVjdFtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5kaXNrIC5pY29uIGNpcmNsZVtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5kaXNrIC5pY29uIHBvbHlnb25bZGF0YS12LWQ5ZTA1MzZlXSB7XFxuICBzdHJva2U6ICMxQjI1Mzk7XFxufVxcbi5kZXRhaWwtc3RvcmFnZS1pdGVtLmRpc2sgLnN0b3JhZ2UtcHJvZ3Jlc3NbZGF0YS12LWQ5ZTA1MzZlXSBzcGFuIHtcXG4gIGJhY2tncm91bmQ6ICMxQjI1Mzk7XFxufVxcbi5kZXRhaWwtc3RvcmFnZS1pdGVtLmltYWdlcyAuaWNvbiBwYXRoW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmltYWdlcyAuaWNvbiBsaW5lW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmltYWdlcyAuaWNvbiBwb2x5bGluZVtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5pbWFnZXMgLmljb24gcmVjdFtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5pbWFnZXMgLmljb24gY2lyY2xlW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmltYWdlcyAuaWNvbiBwb2x5Z29uW2RhdGEtdi1kOWUwNTM2ZV0ge1xcbiAgc3Ryb2tlOiAjOUQ2NkZFO1xcbn1cXG4uZGV0YWlsLXN0b3JhZ2UtaXRlbS5pbWFnZXMgLnN0b3JhZ2UtcHJvZ3Jlc3NbZGF0YS12LWQ5ZTA1MzZlXSBzcGFuIHtcXG4gIGJhY2tncm91bmQ6ICM5RDY2RkU7XFxufVxcbi5kZXRhaWwtc3RvcmFnZS1pdGVtLnZpZGVvcyAuaWNvbiBwYXRoW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLnZpZGVvcyAuaWNvbiBsaW5lW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLnZpZGVvcyAuaWNvbiBwb2x5bGluZVtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS52aWRlb3MgLmljb24gcmVjdFtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS52aWRlb3MgLmljb24gY2lyY2xlW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLnZpZGVvcyAuaWNvbiBwb2x5Z29uW2RhdGEtdi1kOWUwNTM2ZV0ge1xcbiAgc3Ryb2tlOiAjRkZCRDJEO1xcbn1cXG4uZGV0YWlsLXN0b3JhZ2UtaXRlbS52aWRlb3MgLnN0b3JhZ2UtcHJvZ3Jlc3NbZGF0YS12LWQ5ZTA1MzZlXSBzcGFuIHtcXG4gIGJhY2tncm91bmQ6ICNGRkJEMkQ7XFxufVxcbi5kZXRhaWwtc3RvcmFnZS1pdGVtLmF1ZGlvcyAuaWNvbiBwYXRoW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmF1ZGlvcyAuaWNvbiBsaW5lW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmF1ZGlvcyAuaWNvbiBwb2x5bGluZVtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5hdWRpb3MgLmljb24gcmVjdFtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5hdWRpb3MgLmljb24gY2lyY2xlW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmF1ZGlvcyAuaWNvbiBwb2x5Z29uW2RhdGEtdi1kOWUwNTM2ZV0ge1xcbiAgc3Ryb2tlOiAjRkU2NkExO1xcbn1cXG4uZGV0YWlsLXN0b3JhZ2UtaXRlbS5hdWRpb3MgLnN0b3JhZ2UtcHJvZ3Jlc3NbZGF0YS12LWQ5ZTA1MzZlXSBzcGFuIHtcXG4gIGJhY2tncm91bmQ6ICNGRTY2QTE7XFxufVxcbi5kZXRhaWwtc3RvcmFnZS1pdGVtLmRvY3VtZW50cyAuaWNvbiBwYXRoW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmRvY3VtZW50cyAuaWNvbiBsaW5lW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmRvY3VtZW50cyAuaWNvbiBwb2x5bGluZVtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5kb2N1bWVudHMgLmljb24gcmVjdFtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5kb2N1bWVudHMgLmljb24gY2lyY2xlW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmRvY3VtZW50cyAuaWNvbiBwb2x5Z29uW2RhdGEtdi1kOWUwNTM2ZV0ge1xcbiAgc3Ryb2tlOiAjRkU2MDU3O1xcbn1cXG4uZGV0YWlsLXN0b3JhZ2UtaXRlbS5kb2N1bWVudHMgLnN0b3JhZ2UtcHJvZ3Jlc3NbZGF0YS12LWQ5ZTA1MzZlXSBzcGFuIHtcXG4gIGJhY2tncm91bmQ6ICNGRTYwNTc7XFxufVxcbi5kZXRhaWwtc3RvcmFnZS1pdGVtLm90aGVycyAuaWNvbiBwYXRoW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLm90aGVycyAuaWNvbiBsaW5lW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLm90aGVycyAuaWNvbiBwb2x5bGluZVtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5vdGhlcnMgLmljb24gcmVjdFtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5vdGhlcnMgLmljb24gY2lyY2xlW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLm90aGVycyAuaWNvbiBwb2x5Z29uW2RhdGEtdi1kOWUwNTM2ZV0ge1xcbiAgc3Ryb2tlOiAjMUIyNTM5O1xcbn1cXG4uZGV0YWlsLXN0b3JhZ2UtaXRlbS5vdGhlcnMgLnN0b3JhZ2UtcHJvZ3Jlc3NbZGF0YS12LWQ5ZTA1MzZlXSBzcGFuIHtcXG4gIGJhY2tncm91bmQ6ICMxQjI1Mzk7XFxufVxcbi5oZWFkZXItc3RvcmFnZS1pdGVtW2RhdGEtdi1kOWUwNTM2ZV0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG59XFxuLmhlYWRlci1zdG9yYWdlLWl0ZW0gLmljb25bZGF0YS12LWQ5ZTA1MzZlXSB7XFxuICB3aWR0aDogMzVweDtcXG59XFxuLmhlYWRlci1zdG9yYWdlLWl0ZW0gLnR5cGVbZGF0YS12LWQ5ZTA1MzZlXSB7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbiAgY29sb3I6ICMxQjI1Mzk7XFxufVxcbi5oZWFkZXItc3RvcmFnZS1pdGVtIC50b3RhbC1zaXplW2RhdGEtdi1kOWUwNTM2ZV0ge1xcbiAgZm9udC1zaXplOiAwLjYyNWVtO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjcpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmhlYWRlci1zdG9yYWdlLWl0ZW0gLnR5cGVbZGF0YS12LWQ5ZTA1MzZlXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG4uaGVhZGVyLXN0b3JhZ2UtaXRlbSAudG90YWwtc2l6ZVtkYXRhLXYtZDllMDUzNmVdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbi5kZXRhaWwtc3RvcmFnZS1pdGVtLm90aGVycyAuaWNvbiBwYXRoW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLm90aGVycyAuaWNvbiBsaW5lW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLm90aGVycyAuaWNvbiBwb2x5bGluZVtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5vdGhlcnMgLmljb24gcmVjdFtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5vdGhlcnMgLmljb24gY2lyY2xlW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLm90aGVycyAuaWNvbiBwb2x5Z29uW2RhdGEtdi1kOWUwNTM2ZV0sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmRpc2sgLmljb24gcGF0aFtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5kaXNrIC5pY29uIGxpbmVbZGF0YS12LWQ5ZTA1MzZlXSwgLmRldGFpbC1zdG9yYWdlLWl0ZW0uZGlzayAuaWNvbiBwb2x5bGluZVtkYXRhLXYtZDllMDUzNmVdLCAuZGV0YWlsLXN0b3JhZ2UtaXRlbS5kaXNrIC5pY29uIHJlY3RbZGF0YS12LWQ5ZTA1MzZlXSwgLmRldGFpbC1zdG9yYWdlLWl0ZW0uZGlzayAuaWNvbiBjaXJjbGVbZGF0YS12LWQ5ZTA1MzZlXSwgLmRldGFpbC1zdG9yYWdlLWl0ZW0uZGlzayAuaWNvbiBwb2x5Z29uW2RhdGEtdi1kOWUwNTM2ZV0ge1xcbiAgICBzdHJva2U6ICM0MTQ1NGU7XFxufVxcbi5kZXRhaWwtc3RvcmFnZS1pdGVtLm90aGVycyAuc3RvcmFnZS1wcm9ncmVzc1tkYXRhLXYtZDllMDUzNmVdIHNwYW4sIC5kZXRhaWwtc3RvcmFnZS1pdGVtLmRpc2sgLnN0b3JhZ2UtcHJvZ3Jlc3NbZGF0YS12LWQ5ZTA1MzZlXSBzcGFuIHtcXG4gICAgYmFja2dyb3VuZDogIzQxNDU0ZTtcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdQYWdlVGFiJyx7c3RhdGljQ2xhc3M6XCJmb3JtLWZpeGVkLXdpZHRoXCIsYXR0cnM6e1wiaXMtbG9hZGluZ1wiOl92bS5pc0xvYWRpbmd9fSxbKF92bS5hcHApP19jKCdQYWdlVGFiR3JvdXAnLFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJmb3JtIGJsb2NrLWZvcm1cIn0sW19jKCdGb3JtTGFiZWwnLFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLnNlY3Rpb25fdXNlcicpKStcIlxcbiAgICAgICAgICAgIFwiKV0pLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiaW5saW5lLXdyYXBwZXJcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInN3aXRjaC1sYWJlbFwifSxbX2MoJ2xhYmVsJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC1sYWJlbFwifSxbX3ZtLl92KFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuc3RvcmFnZV9saW1pdCcpKStcIjpcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIpXSksX3ZtLl92KFwiIFwiKSxfYygnc21hbGwnLHtzdGF0aWNDbGFzczpcImlucHV0LWhlbHBcIixkb21Qcm9wczp7XCJpbm5lckhUTUxcIjpfdm0uX3MoX3ZtLiR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuc3RvcmFnZV9saW1pdF9oZWxwJykpfX0pXSksX3ZtLl92KFwiIFwiKSxfYygnU3dpdGNoSW5wdXQnLHtzdGF0aWNDbGFzczpcInN3aXRjaFwiLGF0dHJzOntcInN0YXRlXCI6X3ZtLmFwcC5zdG9yYWdlTGltaXRhdGlvbn0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe3JldHVybiBfdm0uJHVwZGF0ZVRleHQoJy9hZG1pbi9zZXR0aW5ncycsICdzdG9yYWdlX2xpbWl0YXRpb24nLCBfdm0uYXBwLnN0b3JhZ2VMaW1pdGF0aW9uKX19LG1vZGVsOnt2YWx1ZTooX3ZtLmFwcC5zdG9yYWdlTGltaXRhdGlvbiksY2FsbGJhY2s6ZnVuY3Rpb24gKCQkdikge192bS4kc2V0KF92bS5hcHAsIFwic3RvcmFnZUxpbWl0YXRpb25cIiwgJCR2KX0sZXhwcmVzc2lvbjpcImFwcC5zdG9yYWdlTGltaXRhdGlvblwifX0pXSwxKV0pXSksX3ZtLl92KFwiIFwiKSwoX3ZtLmFwcC5zdG9yYWdlTGltaXRhdGlvbik/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy5kZWZhdWx0X3N0b3JhZ2UnKSkrXCI6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcIkRlZmF1bHQgU3RvcmFnZSBTcGFjZVwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0uYXBwLmRlZmF1bHRTdG9yYWdlKSxleHByZXNzaW9uOlwiYXBwLmRlZmF1bHRTdG9yYWdlXCJ9XSxzdGF0aWNDbGFzczpcImZvY3VzLWJvcmRlci10aGVtZVwiLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcIm1pblwiOlwiMVwiLFwibWF4XCI6XCI5OTk5OTk5OTlcIixcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuZGVmYXVsdF9zdG9yYWdlX3BsYWMnKSxcInR5cGVcIjpcIm51bWJlclwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0uYXBwLmRlZmF1bHRTdG9yYWdlKX0sb246e1wiaW5wdXRcIjpbZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS4kc2V0KF92bS5hcHAsIFwiZGVmYXVsdFN0b3JhZ2VcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSl9LGZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIF92bS4kdXBkYXRlVGV4dCgnL2FkbWluL3NldHRpbmdzJywgJ3N0b3JhZ2VfZGVmYXVsdCcsIF92bS5hcHAuZGVmYXVsdFN0b3JhZ2UpfV19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLGZhbHNlLDE4MTg3NjExNTgpfSldLDEpOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiaW5saW5lLXdyYXBwZXJcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInN3aXRjaC1sYWJlbFwifSxbX2MoJ2xhYmVsJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC1sYWJlbFwifSxbX3ZtLl92KFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuYWxsb3dfcmVnaXN0cmF0aW9uJykpK1wiOlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdzbWFsbCcse3N0YXRpY0NsYXNzOlwiaW5wdXQtaGVscFwiLGRvbVByb3BzOntcImlubmVySFRNTFwiOl92bS5fcyhfdm0uJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy5hbGxvd19yZWdpc3RyYXRpb25faGVscCcpKX19KV0pLF92bS5fdihcIiBcIiksX2MoJ1N3aXRjaElucHV0Jyx7c3RhdGljQ2xhc3M6XCJzd2l0Y2hcIixhdHRyczp7XCJzdGF0ZVwiOl92bS5hcHAudXNlclJlZ2lzdHJhdGlvbn0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe3JldHVybiBfdm0uJHVwZGF0ZVRleHQoJy9hZG1pbi9zZXR0aW5ncycsICdyZWdpc3RyYXRpb24nLCBfdm0uYXBwLnVzZXJSZWdpc3RyYXRpb24pfX0sbW9kZWw6e3ZhbHVlOihfdm0uYXBwLnVzZXJSZWdpc3RyYXRpb24pLGNhbGxiYWNrOmZ1bmN0aW9uICgkJHYpIHtfdm0uJHNldChfdm0uYXBwLCBcInVzZXJSZWdpc3RyYXRpb25cIiwgJCR2KX0sZXhwcmVzc2lvbjpcImFwcC51c2VyUmVnaXN0cmF0aW9uXCJ9fSldLDEpXSldKSxfdm0uX3YoXCIgXCIpLF9jKCdGb3JtTGFiZWwnLHtzdGF0aWNDbGFzczpcIm10LTcwXCJ9LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLnNlY3Rpb25fb3RoZXJzJykpK1wiXFxuICAgICAgICAgICAgXCIpXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLmNvbnRhY3RfZW1haWwnKSkrXCI6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcIkNvbnRhY3QgRW1haWxcIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLmFwcC5jb250YWN0TWFpbCksZXhwcmVzc2lvbjpcImFwcC5jb250YWN0TWFpbFwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLmNvbnRhY3RfZW1haWxfcGxhYycpLFwidHlwZVwiOlwiZW1haWxcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLmFwcC5jb250YWN0TWFpbCl9LG9uOntcImlucHV0XCI6W2Z1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0uYXBwLCBcImNvbnRhY3RNYWlsXCIsICRldmVudC50YXJnZXQudmFsdWUpfSxmdW5jdGlvbigkZXZlbnQpe3JldHVybiBfdm0uJHVwZGF0ZVRleHQoJy9hZG1pbi9zZXR0aW5ncycsICdjb250YWN0X2VtYWlsJywgX3ZtLmFwcC5jb250YWN0TWFpbCl9XX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsZmFsc2UsNTcyNzU4MDUyKX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuZ29vZ2xlX2FuYWx5dGljcycpKStcIjpcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwibmFtZVwiOlwiR29vZ2xlIEFuYWx5dGljcyBDb2RlXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0uYXBwLmdvb2dsZUFuYWx5dGljcyksZXhwcmVzc2lvbjpcImFwcC5nb29nbGVBbmFseXRpY3NcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy5nb29nbGVfYW5hbHl0aWNzX3BsYWMnKSxcInR5cGVcIjpcInRleHRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLmFwcC5nb29nbGVBbmFseXRpY3MpfSxvbjp7XCJpbnB1dFwiOltmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLmFwcCwgXCJnb29nbGVBbmFseXRpY3NcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSl9LGZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIF92bS4kdXBkYXRlVGV4dCgnL2FkbWluL3NldHRpbmdzJywgJ2dvb2dsZV9hbmFseXRpY3MnLCBfdm0uYXBwLmdvb2dsZUFuYWx5dGljcyl9XX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsZmFsc2UsMTcxMTk4NjUzMSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLm1pbWV0eXBlc19ibGFja2xpc3QnKSkrXCI6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcIm5hbWVcIjpcIk1pbWV0eXBlcyBCbGFja2xpc3RcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ3RleHRhcmVhJyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS5hcHAubWltZXR5cGVzQmxhY2tsaXN0KSxleHByZXNzaW9uOlwiYXBwLm1pbWV0eXBlc0JsYWNrbGlzdFwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJyb3dzXCI6XCIyXCIsXCJwbGFjZWhvbGRlclwiOl92bS4kdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLm1pbWV0eXBlc19ibGFja2xpc3RfcGxhYycpLFwidHlwZVwiOlwidGV4dFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0uYXBwLm1pbWV0eXBlc0JsYWNrbGlzdCl9LG9uOntcImlucHV0XCI6W2Z1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0uYXBwLCBcIm1pbWV0eXBlc0JsYWNrbGlzdFwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX0sZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLiR1cGRhdGVUZXh0KCcvYWRtaW4vc2V0dGluZ3MnLCAnbWltZXR5cGVzX2JsYWNrbGlzdCcsIF92bS5hcHAubWltZXR5cGVzQmxhY2tsaXN0KX1dfX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCxmYWxzZSwyMDEwMDI5ODg3KX0pLF92bS5fdihcIiBcIiksX2MoJ3NtYWxsJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC1oZWxwXCIsZG9tUHJvcHM6e1wiaW5uZXJIVE1MXCI6X3ZtLl9zKF92bS4kdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLm1pbWV0eXBlc19ibGFja2xpc3RfaGVscCcpKX19KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLnVwbG9hZF9saW1pdCcpKStcIjpcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwibmFtZVwiOlwiVXBsb2FkIExpbWl0XCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0uYXBwLnVwbG9hZExpbWl0KSxleHByZXNzaW9uOlwiYXBwLnVwbG9hZExpbWl0XCJ9XSxzdGF0aWNDbGFzczpcImZvY3VzLWJvcmRlci10aGVtZVwiLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMudXBsb2FkX2xpbWl0X3BsYWMnKSxcInR5cGVcIjpcIm51bWJlclwiLFwibWluXCI6XCIwXCIsXCJzdGVwXCI6XCIxXCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS5hcHAudXBsb2FkTGltaXQpfSxvbjp7XCJpbnB1dFwiOltmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLmFwcCwgXCJ1cGxvYWRMaW1pdFwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX0sZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLiR1cGRhdGVUZXh0KCcvYWRtaW4vc2V0dGluZ3MnLCAndXBsb2FkX2xpbWl0JywgX3ZtLmFwcC51cGxvYWRMaW1pdCl9XX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsZmFsc2UsNDA2NjQ1NDYzNyl9KSxfdm0uX3YoXCIgXCIpLF9jKCdzbWFsbCcse3N0YXRpY0NsYXNzOlwiaW5wdXQtaGVscFwiLGRvbVByb3BzOntcImlubmVySFRNTFwiOl92bS5fcyhfdm0uJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy51cGxvYWRfbGltaXRfaGVscCcpKX19KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnRm9ybUxhYmVsJyx7c3RhdGljQ2xhc3M6XCJtdC03MFwifSxbX3ZtLl92KFwiXFxuICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy5zZWN0aW9uX2NhY2hlJykpK1wiXFxuICAgICAgICAgICAgXCIpXSksX3ZtLl92KFwiIFwiKSxfYygnSW5mb0JveCcsW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuY2FjaGVfZGlzY2xhaW1lcicpKStcIlxcbiAgICAgICAgICAgIFwiKV0pLF92bS5fdihcIiBcIiksX2MoJ0J1dHRvbkJhc2UnLHtzdGF0aWNDbGFzczpcInN1Ym1pdC1idXR0b25cIixhdHRyczp7XCJsb2FkaW5nXCI6X3ZtLmlzRmx1c2hpbmdDYWNoZSxcImRpc2FibGVkXCI6X3ZtLmlzRmx1c2hpbmdDYWNoZSxcInR5cGVcIjpcInN1Ym1pdFwiLFwiYnV0dG9uLXN0eWxlXCI6XCJ0aGVtZVwifSxuYXRpdmVPbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIF92bS5mbHVzaENhY2hlKCRldmVudCl9fX0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuY2FjaGVfY2xlYXInKSkrXCJcXG4gICAgICAgICAgICBcIildKV0sMSldKTpfdm0uX2UoKV0sMSl9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vT3RoZXJzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9PdGhlcnMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxQYWdlVGFiIDppcy1sb2FkaW5nPVwiaXNMb2FkaW5nXCIgY2xhc3M9XCJmb3JtLWZpeGVkLXdpZHRoXCI+XG5cbiAgICAgICAgPCEtLVBlcnNvbmFsIEluZm9ybWF0aW9uLS0+XG4gICAgICAgIDxQYWdlVGFiR3JvdXAgdi1pZj1cImFwcFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0gYmxvY2stZm9ybVwiPlxuICAgICAgICAgICAgICAgIDxGb3JtTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHt7ICR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuc2VjdGlvbl91c2VyJykgfX1cbiAgICAgICAgICAgICAgICA8L0Zvcm1MYWJlbD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubGluZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXRjaC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJpbnB1dC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy5zdG9yYWdlX2xpbWl0JykgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImlucHV0LWhlbHBcIiB2LWh0bWw9XCIkdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLnN0b3JhZ2VfbGltaXRfaGVscCcpXCI+PC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U3dpdGNoSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbnB1dD1cIiR1cGRhdGVUZXh0KCcvYWRtaW4vc2V0dGluZ3MnLCAnc3RvcmFnZV9saW1pdGF0aW9uJywgYXBwLnN0b3JhZ2VMaW1pdGF0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LW1vZGVsPVwiYXBwLnN0b3JhZ2VMaW1pdGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpzdGF0ZT1cImFwcC5zdG9yYWdlTGltaXRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiIHYtaWY9XCJhcHAuc3RvcmFnZUxpbWl0YXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuZGVmYXVsdF9zdG9yYWdlJykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJEZWZhdWx0IFN0b3JhZ2UgU3BhY2VcIiBydWxlcz1cInJlcXVpcmVkXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IEBpbnB1dD1cIiR1cGRhdGVUZXh0KCcvYWRtaW4vc2V0dGluZ3MnLCAnc3RvcmFnZV9kZWZhdWx0JywgYXBwLmRlZmF1bHRTdG9yYWdlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImFwcC5kZWZhdWx0U3RvcmFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluPVwiMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4PVwiOTk5OTk5OTk5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLmRlZmF1bHRfc3RvcmFnZV9wbGFjJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmxpbmUtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2l0Y2gtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaW5wdXQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuYWxsb3dfcmVnaXN0cmF0aW9uJykgfX06XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImlucHV0LWhlbHBcIiB2LWh0bWw9XCIkdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLmFsbG93X3JlZ2lzdHJhdGlvbl9oZWxwJylcIj48L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTd2l0Y2hJbnB1dCBAaW5wdXQ9XCIkdXBkYXRlVGV4dCgnL2FkbWluL3NldHRpbmdzJywgJ3JlZ2lzdHJhdGlvbicsIGFwcC51c2VyUmVnaXN0cmF0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJhcHAudXNlclJlZ2lzdHJhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnN0YXRlPVwiYXBwLnVzZXJSZWdpc3RyYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsIGNsYXNzPVwibXQtNzBcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy5zZWN0aW9uX290aGVycycpIH19XG4gICAgICAgICAgICAgICAgPC9Gb3JtTGFiZWw+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuY29udGFjdF9lbWFpbCcpIH19OjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiBuYW1lPVwiQ29udGFjdCBFbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZXM9XCJyZXF1aXJlZFwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBAaW5wdXQ9XCIkdXBkYXRlVGV4dCgnL2FkbWluL3NldHRpbmdzJywgJ2NvbnRhY3RfZW1haWwnLCBhcHAuY29udGFjdE1haWwpXCIgdi1tb2RlbD1cImFwcC5jb250YWN0TWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwiJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy5jb250YWN0X2VtYWlsX3BsYWMnKVwiIHR5cGU9XCJlbWFpbFwiIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCIgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy5nb29nbGVfYW5hbHl0aWNzJykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJHb29nbGUgQW5hbHl0aWNzIENvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBAaW5wdXQ9XCIkdXBkYXRlVGV4dCgnL2FkbWluL3NldHRpbmdzJywgJ2dvb2dsZV9hbmFseXRpY3MnLCBhcHAuZ29vZ2xlQW5hbHl0aWNzKVwiIHYtbW9kZWw9XCJhcHAuZ29vZ2xlQW5hbHl0aWNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLmdvb2dsZV9hbmFseXRpY3NfcGxhYycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCIgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLm1pbWV0eXBlc19ibGFja2xpc3QnKSB9fTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCIgbmFtZT1cIk1pbWV0eXBlcyBCbGFja2xpc3RcIiB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgcm93cz1cIjJcIiBAaW5wdXQ9XCIkdXBkYXRlVGV4dCgnL2FkbWluL3NldHRpbmdzJywgJ21pbWV0eXBlc19ibGFja2xpc3QnLCBhcHAubWltZXR5cGVzQmxhY2tsaXN0KVwiIHYtbW9kZWw9XCJhcHAubWltZXR5cGVzQmxhY2tsaXN0XCIgOnBsYWNlaG9sZGVyPVwiJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy5taW1ldHlwZXNfYmxhY2tsaXN0X3BsYWMnKVwiIHR5cGU9XCJ0ZXh0XCIgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIiBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnB1dC1oZWxwXCIgdi1odG1sPVwiJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy5taW1ldHlwZXNfYmxhY2tsaXN0X2hlbHAnKVwiPjwvc21hbGw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMudXBsb2FkX2xpbWl0JykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiIG5hbWU9XCJVcGxvYWQgTGltaXRcIiB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgQGlucHV0PVwiJHVwZGF0ZVRleHQoJy9hZG1pbi9zZXR0aW5ncycsICd1cGxvYWRfbGltaXQnLCBhcHAudXBsb2FkTGltaXQpXCIgdi1tb2RlbD1cImFwcC51cGxvYWRMaW1pdFwiIDpwbGFjZWhvbGRlcj1cIiR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMudXBsb2FkX2xpbWl0X3BsYWMnKVwiIHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgc3RlcD1cIjFcIiA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImlucHV0LWhlbHBcIiB2LWh0bWw9XCIkdCgnYWRtaW5fc2V0dGluZ3Mub3RoZXJzLnVwbG9hZF9saW1pdF9oZWxwJylcIj48L3NtYWxsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPEZvcm1MYWJlbCBjbGFzcz1cIm10LTcwXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuc2VjdGlvbl9jYWNoZScpIH19XG4gICAgICAgICAgICAgICAgPC9Gb3JtTGFiZWw+XG4gICAgICAgICAgICAgICAgPEluZm9Cb3g+XG4gICAgICAgICAgICAgICAgICAgIHt7ICR0KCdhZG1pbl9zZXR0aW5ncy5vdGhlcnMuY2FjaGVfZGlzY2xhaW1lcicpIH19XG4gICAgICAgICAgICAgICAgPC9JbmZvQm94PlxuICAgICAgICAgICAgICAgIDxCdXR0b25CYXNlIEBjbGljay5uYXRpdmU9XCJmbHVzaENhY2hlXCIgOmxvYWRpbmc9XCJpc0ZsdXNoaW5nQ2FjaGVcIiA6ZGlzYWJsZWQ9XCJpc0ZsdXNoaW5nQ2FjaGVcIiB0eXBlPVwic3VibWl0XCIgYnV0dG9uLXN0eWxlPVwidGhlbWVcIiBjbGFzcz1cInN1Ym1pdC1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJHQoJ2FkbWluX3NldHRpbmdzLm90aGVycy5jYWNoZV9jbGVhcicpIH19XG4gICAgICAgICAgICAgICAgPC9CdXR0b25CYXNlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvUGFnZVRhYkdyb3VwPlxuICAgIDwvUGFnZVRhYj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgaW1wb3J0IHtWYWxpZGF0aW9uUHJvdmlkZXIsIFZhbGlkYXRpb25PYnNlcnZlcn0gZnJvbSAndmVlLXZhbGlkYXRlL2Rpc3QvdmVlLXZhbGlkYXRlLmZ1bGwnXG4gICAgaW1wb3J0IFN0b3JhZ2VJdGVtRGV0YWlsIGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvU3RvcmFnZUl0ZW1EZXRhaWwnXG4gICAgaW1wb3J0IFBhZ2VUYWJHcm91cCBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL0xheW91dC9QYWdlVGFiR3JvdXAnXG4gICAgaW1wb3J0IFNlbGVjdElucHV0IGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQnXG4gICAgaW1wb3J0IFN3aXRjaElucHV0IGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU3dpdGNoSW5wdXQnXG4gICAgaW1wb3J0IEltYWdlSW5wdXQgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbWFnZUlucHV0J1xuICAgIGltcG9ydCBGb3JtTGFiZWwgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9Gb3JtTGFiZWwnXG4gICAgaW1wb3J0IEJ1dHRvbkJhc2UgZnJvbSAnQC9jb21wb25lbnRzL0ZpbGVzVmlldy9CdXR0b25CYXNlJ1xuICAgIGltcG9ydCBTZXR1cEJveCBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NldHVwQm94J1xuICAgIGltcG9ydCBQYWdlVGFiIGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvTGF5b3V0L1BhZ2VUYWInXG4gICAgaW1wb3J0IEluZm9Cb3ggZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94J1xuICAgIGltcG9ydCB7cmVxdWlyZWR9IGZyb20gJ3ZlZS12YWxpZGF0ZS9kaXN0L3J1bGVzJ1xuICAgIGltcG9ydCB7ZXZlbnRzfSBmcm9tICdAL2J1cydcbiAgICBpbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnXG5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdBcHBPdGhlcnMnLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBWYWxpZGF0aW9uT2JzZXJ2ZXIsXG4gICAgICAgICAgICBWYWxpZGF0aW9uUHJvdmlkZXIsXG4gICAgICAgICAgICBTdG9yYWdlSXRlbURldGFpbCxcbiAgICAgICAgICAgIFBhZ2VUYWJHcm91cCxcbiAgICAgICAgICAgIFN3aXRjaElucHV0LFxuICAgICAgICAgICAgU2VsZWN0SW5wdXQsXG4gICAgICAgICAgICBJbWFnZUlucHV0LFxuICAgICAgICAgICAgQnV0dG9uQmFzZSxcbiAgICAgICAgICAgIEZvcm1MYWJlbCxcbiAgICAgICAgICAgIFNldHVwQm94LFxuICAgICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgICAgICBQYWdlVGFiLFxuICAgICAgICAgICAgSW5mb0JveCxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YSgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaXNMb2FkaW5nOiB0cnVlLFxuICAgICAgICAgICAgICAgIGlzRmx1c2hpbmdDYWNoZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgYXBwOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZHM6IHtcbiAgICAgICAgICAgIGZsdXNoQ2FjaGUoKSB7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmlzRmx1c2hpbmdDYWNoZSA9IHRydWVcblxuICAgICAgICAgICAgICAgIGF4aW9zLmdldCgnL2FwaS9hZG1pbi9zZXR0aW5ncy9mbHVzaC1jYWNoZScpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50cy4kZW1pdCgndG9hc3RlcicsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ1lvdXIgY2FjaGUgd2FzIHN1Y2Nlc3NmdWxseSBkZWxldGVkLicsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRmx1c2hpbmdDYWNoZSA9IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG1vdW50ZWQoKSB7XG4gICAgICAgICAgICBheGlvcy5nZXQoJy9hcGkvYWRtaW4vc2V0dGluZ3MnLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbjogJ2NvbnRhY3RfZW1haWx8Z29vZ2xlX2FuYWx5dGljc3xzdG9yYWdlX2RlZmF1bHR8cmVnaXN0cmF0aW9ufHN0b3JhZ2VfbGltaXRhdGlvbnxtaW1ldHlwZXNfYmxhY2tsaXN0fHVwbG9hZF9saW1pdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGFjdE1haWw6IHJlc3BvbnNlLmRhdGEuY29udGFjdF9lbWFpbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdvb2dsZUFuYWx5dGljczogcmVzcG9uc2UuZGF0YS5nb29nbGVfYW5hbHl0aWNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFN0b3JhZ2U6IHJlc3BvbnNlLmRhdGEuc3RvcmFnZV9kZWZhdWx0LFxuICAgICAgICAgICAgICAgICAgICAgICAgdXNlclJlZ2lzdHJhdGlvbjogcGFyc2VJbnQocmVzcG9uc2UuZGF0YS5yZWdpc3RyYXRpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZUxpbWl0YXRpb246IHBhcnNlSW50KHJlc3BvbnNlLmRhdGEuc3RvcmFnZV9saW1pdGF0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbWV0eXBlc0JsYWNrbGlzdCA6IHJlc3BvbnNlLmRhdGEubWltZXR5cGVzX2JsYWNrbGlzdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZExpbWl0OiByZXNwb25zZS5kYXRhLnVwbG9hZF9saW1pdFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2Zvcm1zJztcblxuICAgIC5ibG9jay1mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL090aGVycy52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9ZTFkYmMyYjAmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vT3RoZXJzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vT3RoZXJzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9PdGhlcnMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ZTFkYmMyYjAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCJlMWRiYzJiMFwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1N0b3JhZ2VJdGVtRGV0YWlsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWQ5ZTA1MzZlJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3RvcmFnZUl0ZW1EZXRhaWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ZDllMDUzNmUmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vT3RoZXJzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWUxZGJjMmIwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vT3RoZXJzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWUxZGJjMmIwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmlucHV0LXdyYXBwZXJbZGF0YS12LTQyMWNhMjI2XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbi5pbnB1dC13cmFwcGVyIC5pbnB1dC1sYWJlbFtkYXRhLXYtNDIxY2EyMjZdIHtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbn1cXG4uaW5wdXQtd3JhcHBlciAuc3dpdGNoLWNvbnRlbnRbZGF0YS12LTQyMWNhMjI2XSB7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLmlucHV0LXdyYXBwZXIgLnN3aXRjaC1jb250ZW50W2RhdGEtdi00MjFjYTIyNl06bGFzdC1jaGlsZCB7XFxuICB3aWR0aDogODBweDtcXG59XFxuLnN3aXRjaFtkYXRhLXYtNDIxY2EyMjZdIHtcXG4gIHdpZHRoOiA1MHB4O1xcbiAgaGVpZ2h0OiAyOHB4O1xcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgYmFja2dyb3VuZDogI2YxZjFmNTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2U7XFxufVxcbi5zd2l0Y2ggLnN3aXRjaC1idXR0b25bZGF0YS12LTQyMWNhMjI2XSB7XFxuICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlO1xcbiAgd2lkdGg6IDIycHg7XFxuICBoZWlnaHQ6IDIycHg7XFxuICBib3JkZXItcmFkaXVzOiA1MHB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogM3B4O1xcbiAgbGVmdDogM3B4O1xcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMzcsIDM4LCA5NCwgMC4xKTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLnN3aXRjaC5hY3RpdmUgLnN3aXRjaC1idXR0b25bZGF0YS12LTQyMWNhMjI2XSB7XFxuICBsZWZ0OiAyNXB4O1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLnN3aXRjaFtkYXRhLXYtNDIxY2EyMjZdIHtcXG4gICAgYmFja2dyb3VuZDogIzFlMjAyNDtcXG59XFxuLnBvcHVwLXdyYXBwZXIgLnN3aXRjaFtkYXRhLXYtNDIxY2EyMjZdIHtcXG4gICAgYmFja2dyb3VuZDogIzI1MjcyYztcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmZvcm1bZGF0YS12LWUxZGJjMmIwXSB7XFxuICBtYXgtd2lkdGg6IDcwMHB4O1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtZTFkYmMyYjBdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlcltkYXRhLXYtZTFkYmMyYjBdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXIgLmVycm9yLW1lc3NhZ2VbZGF0YS12LWUxZGJjMmIwXSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBsZWZ0OiAwO1xcbiAgYm90dG9tOiAtMjVweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LWUxZGJjMmIwXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbWFyZ2luOiAwIC0xNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC53cmFwcGVyLWlubGluZSAuYmxvY2std3JhcHBlcltkYXRhLXYtZTFkYmMyYjBdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZzogMCAxNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtZTFkYmMyYjBdIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi1lMWRiYzJiMF06bGFzdC1jaGlsZCB7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5idXR0b25bZGF0YS12LWUxZGJjMmIwXSB7XFxuICBtYXJnaW4tdG9wOiA1MHB4O1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXJbZGF0YS12LWUxZGJjMmIwXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWhlbHBbZGF0YS12LWUxZGJjMmIwXSB7XFxuICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWxhYmVsW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbiAgZm9udC1zaXplOiAxZW07XFxuICBtYXJnaW4tYm90dG9tOiA1cHg7XFxufVxcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjcpO1xcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XFxuICBwYWRkaW5nLXRvcDogMTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtZTFkYmMyYjBdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XFxufVxcbi5lcnJvci1tZXNzYWdlW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgY29sb3I6ICNmZDM5N2E7XFxuICBwYWRkaW5nLXRvcDogNXB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtZTFkYmMyYjBdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5pbnB1dFt0eXBlPVxcXCJjb2xvclxcXCJdW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgd2lkdGg6IDM4cHg7XFxuICBoZWlnaHQ6IDQwcHg7XFxuICBib3JkZXI6IG5vbmU7XFxuICBvdXRsaW5lOiBub25lO1xcbiAgYmFja2dyb3VuZDogbm9uZTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWUxZGJjMmIwXSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1lMWRiYzJiMF0sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1lMWRiYzJiMF0sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWUxZGJjMmIwXSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcGFkZGluZzogMTNweCAyMHB4O1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIG91dGxpbmU6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbn1cXG50ZXh0YXJlYS5pcy1lcnJvcltkYXRhLXYtZTFkYmMyYjBdLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl0uaXMtZXJyb3JbZGF0YS12LWUxZGJjMmIwXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0uaXMtZXJyb3JbZGF0YS12LWUxZGJjMmIwXSxcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXS5pcy1lcnJvcltkYXRhLXYtZTFkYmMyYjBdLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl0uaXMtZXJyb3JbZGF0YS12LWUxZGJjMmIwXSB7XFxuICBib3JkZXItY29sb3I6ICNmZDM5N2E7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1lMWRiYzJiMF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LWUxZGJjMmIwXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1lMWRiYzJiMF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LWUxZGJjMmIwXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWUxZGJjMmIwXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWUxZGJjMmIwXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWUxZGJjMmIwXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtZTFkYmMyYjBdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWUxZGJjMmIwXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWUxZGJjMmIwXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWUxZGJjMmIwXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWUxZGJjMmIwXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWUxZGJjMmIwXTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOjpwbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGlzYWJsZWRdW2RhdGEtdi1lMWRiYzJiMF0sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWUxZGJjMmIwXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGlzYWJsZWRdW2RhdGEtdi1lMWRiYzJiMF0sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi1lMWRiYzJiMF0sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWUxZGJjMmIwXSB7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjgpO1xcbiAgb3BhY2l0eTogMTtcXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxufVxcbi5hZGRpdGlvbmFsLWxpbmtbZGF0YS12LWUxZGJjMmIwXSB7XFxuICBmb250LXNpemU6IDFlbTtcXG4gIG1hcmdpbi10b3A6IDUwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi1lMWRiYzJiMF0sIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtZTFkYmMyYjBdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi1lMWRiYzJiMF06aG92ZXIsIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtZTFkYmMyYjBdOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xcbi5mb3JtW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtZTFkYmMyYjBdIHtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxufVxcbi5mb3JtIGlucHV0W2RhdGEtdi1lMWRiYzJiMF0sIC5mb3JtIHRleHRhcmVhW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbWluLXdpZHRoOiAxMDAlO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtZTFkYmMyYjBdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcXG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYnV0dG9uW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtZTFkYmMyYjBdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyIC5lcnJvci1tZXNzYWdlW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGJvdHRvbTogMDtcXG59XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtZTFkYmMyYjBdIHtcXG4gICAgcGFkZGluZzogMTRweCAzMnB4O1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtZTFkYmMyYjBdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1lMWRiYzJiMF0sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1lMWRiYzJiMF0sXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtZTFkYmMyYjBdLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1lMWRiYzJiMF0sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LWUxZGJjMmIwXSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtZTFkYmMyYjBdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlciAuc3dpdGNoLWxhYmVsIC5pbnB1dC1sYWJlbFtkYXRhLXYtZTFkYmMyYjBdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1lMWRiYzJiMF0sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1lMWRiYzJiMF0sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWUxZGJjMmIwXSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1lMWRiYzJiMF0sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgICBib3JkZXItY29sb3I6ICMxZTIwMjQ7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtZTFkYmMyYjBdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LWUxZGJjMmIwXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWUxZGJjMmIwXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWUxZGJjMmIwXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1lMWRiYzJiMF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWUxZGJjMmIwXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1lMWRiYzJiMF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1lMWRiYzJiMF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1lMWRiYzJiMF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtZTFkYmMyYjBdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LWUxZGJjMmIwXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWUxZGJjMmIwXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1lMWRiYzJiMF06OnBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2Rpc2FibGVkXVtkYXRhLXYtZTFkYmMyYjBdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWUxZGJjMmIwXSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWUxZGJjMmIwXSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtZTFkYmMyYjBdLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWUxZGJjMmIwXSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxufVxcbi5wb3B1cC13cmFwcGVyIHRleHRhcmVhW2RhdGEtdi1lMWRiYzJiMF0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1lMWRiYzJiMF0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWUxZGJjMmIwXSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1lMWRiYzJiMF0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1lMWRiYzJiMF0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNzJjO1xcbn1cXG59XFxuLmJsb2NrLWZvcm1bZGF0YS12LWUxZGJjMmIwXSB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdhcnRpY2xlJyx7c3RhdGljQ2xhc3M6XCJkZXRhaWwtc3RvcmFnZS1pdGVtXCIsY2xhc3M6X3ZtLnR5cGV9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJoZWFkZXItc3RvcmFnZS1pdGVtXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJpY29uXCJ9LFsoX3ZtLnR5cGUgPT0gJ2ltYWdlcycpP19jKCdpbWFnZS1pY29uJyx7YXR0cnM6e1wic2l6ZVwiOlwiMjNcIn19KTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLChfdm0udHlwZSA9PSAndmlkZW9zJyk/X2MoJ3ZpZGVvLWljb24nLHthdHRyczp7XCJzaXplXCI6XCIyM1wifX0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKF92bS50eXBlID09ICdhdWRpb3MnKT9fYygnbXVzaWMtaWNvbicse2F0dHJzOntcInNpemVcIjpcIjIzXCJ9fSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwoX3ZtLnR5cGUgPT0gJ2RvY3VtZW50cycpP19jKCdmaWxlLXRleHQtaWNvbicse2F0dHJzOntcInNpemVcIjpcIjIzXCJ9fSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwoX3ZtLnR5cGUgPT0gJ290aGVycycpP19jKCdmaWxlLWljb24nLHthdHRyczp7XCJzaXplXCI6XCIyM1wifX0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKF92bS50eXBlID09ICdkaXNrJyk/X2MoJ2hhcmQtZHJpdmUtaWNvbicse2F0dHJzOntcInNpemVcIjpcIjIzXCJ9fSk6X3ZtLl9lKCldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwidGl0bGVcIn0sW19jKCdiJyx7c3RhdGljQ2xhc3M6XCJ0eXBlXCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS50aXRsZSkpXSksX3ZtLl92KFwiIFwiKSxfYygnc3Bhbicse3N0YXRpY0NsYXNzOlwidG90YWwtc2l6ZVwifSxbX3ZtLl92KF92bS5fcyhfdm0udXNlZCkpXSldKV0pLF92bS5fdihcIiBcIiksX2MoJ1Byb2dyZXNzQmFyJyx7c3RhdGljQ2xhc3M6XCJzdG9yYWdlLXByb2dyZXNzXCIsYXR0cnM6e1wicHJvZ3Jlc3NcIjpfdm0ucGVyY2VudGFnZX19KV0sMSl9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3RvcmFnZUl0ZW1EZXRhaWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1N0b3JhZ2VJdGVtRGV0YWlsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cbiAgICA8YXJ0aWNsZSBjbGFzcz1cImRldGFpbC1zdG9yYWdlLWl0ZW1cIiA6Y2xhc3M9XCJ0eXBlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItc3RvcmFnZS1pdGVtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxuICAgICAgICAgICAgICAgIDxpbWFnZS1pY29uIHYtaWY9XCJ0eXBlID09ICdpbWFnZXMnXCIgc2l6ZT1cIjIzXCI+PC9pbWFnZS1pY29uPlxuICAgICAgICAgICAgICAgIDx2aWRlby1pY29uIHYtaWY9XCJ0eXBlID09ICd2aWRlb3MnXCIgc2l6ZT1cIjIzXCI+PC92aWRlby1pY29uPlxuICAgICAgICAgICAgICAgIDxtdXNpYy1pY29uIHYtaWY9XCJ0eXBlID09ICdhdWRpb3MnXCIgc2l6ZT1cIjIzXCI+PC9tdXNpYy1pY29uPlxuICAgICAgICAgICAgICAgIDxmaWxlLXRleHQtaWNvbiB2LWlmPVwidHlwZSA9PSAnZG9jdW1lbnRzJ1wiIHNpemU9XCIyM1wiPjwvZmlsZS10ZXh0LWljb24+XG4gICAgICAgICAgICAgICAgPGZpbGUtaWNvbiB2LWlmPVwidHlwZSA9PSAnb3RoZXJzJ1wiIHNpemU9XCIyM1wiPjwvZmlsZS1pY29uPlxuICAgICAgICAgICAgICAgIDxoYXJkLWRyaXZlLWljb24gdi1pZj1cInR5cGUgPT0gJ2Rpc2snXCIgc2l6ZT1cIjIzXCI+PC9oYXJkLWRyaXZlLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwidHlwZVwiPnt7IHRpdGxlIH19PC9iPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidG90YWwtc2l6ZVwiPnt7IHVzZWQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxQcm9ncmVzc0JhciBjbGFzcz1cInN0b3JhZ2UtcHJvZ3Jlc3NcIiA6cHJvZ3Jlc3M9XCJwZXJjZW50YWdlXCIgLz5cbiAgICA8L2FydGljbGU+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCBQcm9ncmVzc0JhciBmcm9tICdAL2NvbXBvbmVudHMvRmlsZXNWaWV3L1Byb2dyZXNzQmFyJ1xuICAgIGltcG9ydCB7IEltYWdlSWNvbiwgVmlkZW9JY29uLCBGaWxlVGV4dEljb24sIEZpbGVJY29uLCBIYXJkRHJpdmVJY29uLCBNdXNpY0ljb24gfSBmcm9tICd2dWUtZmVhdGhlci1pY29ucydcblxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ1N0b3JhZ2VJdGVtRGV0YWlsJyxcbiAgICAgICAgcHJvcHM6IFsncGVyY2VudGFnZScsICd0aXRsZScsICd0eXBlJywgJ3VzZWQnXSxcbiAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgSGFyZERyaXZlSWNvbixcbiAgICAgICAgICAgIEZpbGVUZXh0SWNvbixcbiAgICAgICAgICAgIFByb2dyZXNzQmFyLFxuICAgICAgICAgICAgTXVzaWNJY29uLFxuICAgICAgICAgICAgVmlkZW9JY29uLFxuICAgICAgICAgICAgSW1hZ2VJY29uLFxuICAgICAgICAgICAgRmlsZUljb24sXG4gICAgICAgIH0sXG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAuZGV0YWlsLXN0b3JhZ2UtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICAgICAgJi5kaXNrIHtcblxuICAgICAgICAgICAgLmljb24ge1xuXG4gICAgICAgICAgICAgICAgcGF0aCwgbGluZSwgcG9seWxpbmUsIHJlY3QsIGNpcmNsZSwgcG9seWdvbiB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHRleHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3RvcmFnZS1wcm9ncmVzcyB7XG5cbiAgICAgICAgICAgICAgICAvZGVlcC8gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0ZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaW1hZ2VzIHtcblxuICAgICAgICAgICAgLmljb24ge1xuXG4gICAgICAgICAgICAgICAgcGF0aCwgbGluZSwgcG9seWxpbmUsIHJlY3QsIGNpcmNsZSwgcG9seWdvbiB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHB1cnBsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdG9yYWdlLXByb2dyZXNzIHtcblxuICAgICAgICAgICAgICAgIC9kZWVwLyBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnZpZGVvcyB7XG5cbiAgICAgICAgICAgIC5pY29uIHtcblxuICAgICAgICAgICAgICAgIHBhdGgsIGxpbmUsIHBvbHlsaW5lLCByZWN0LCBjaXJjbGUsIHBvbHlnb24ge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICR5ZWxsb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3RvcmFnZS1wcm9ncmVzcyB7XG5cbiAgICAgICAgICAgICAgICAvZGVlcC8gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hdWRpb3Mge1xuXG4gICAgICAgICAgICAuaWNvbiB7XG5cbiAgICAgICAgICAgICAgICBwYXRoLCBsaW5lLCBwb2x5bGluZSwgcmVjdCwgY2lyY2xlLCBwb2x5Z29uIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkcGluaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdG9yYWdlLXByb2dyZXNzIHtcblxuICAgICAgICAgICAgICAgIC9kZWVwLyBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHBpbms7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kb2N1bWVudHMge1xuXG4gICAgICAgICAgICAuaWNvbiB7XG5cbiAgICAgICAgICAgICAgICBwYXRoLCBsaW5lLCBwb2x5bGluZSwgcmVjdCwgY2lyY2xlLCBwb2x5Z29uIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkcmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN0b3JhZ2UtcHJvZ3Jlc3Mge1xuXG4gICAgICAgICAgICAgICAgL2RlZXAvIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYub3RoZXJzIHtcblxuICAgICAgICAgICAgLmljb24ge1xuXG4gICAgICAgICAgICAgICAgcGF0aCwgbGluZSwgcG9seWxpbmUsIHJlY3QsIGNpcmNsZSwgcG9seWdvbiB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJHRleHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3RvcmFnZS1wcm9ncmVzcyB7XG5cbiAgICAgICAgICAgICAgICAvZGVlcC8gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0ZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItc3RvcmFnZS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAudHlwZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvdGFsLXNpemUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuXG4gICAgICAgIC5oZWFkZXItc3RvcmFnZS1pdGVtIHtcbiAgICAgICAgICAgIC50eXBlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b3RhbC1zaXplIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3NlY29uZGFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXRhaWwtc3RvcmFnZS1pdGVtIHtcblxuICAgICAgICAgICAgJi5vdGhlcnMsICYuZGlzayB7XG5cbiAgICAgICAgICAgICAgICAuaWNvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgcGF0aCwgbGluZSwgcG9seWxpbmUsIHJlY3QsIGNpcmNsZSwgcG9seWdvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IGxpZ2h0ZW4oJGRhcmtfbW9kZV9mb3JlZ3JvdW5kLCAxNSUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN0b3JhZ2UtcHJvZ3Jlc3Mge1xuXG4gICAgICAgICAgICAgICAgICAgIC9kZWVwLyBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGRhcmtfbW9kZV9mb3JlZ3JvdW5kLCAxNSUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vU3RvcmFnZUl0ZW1EZXRhaWwudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWQ5ZTA1MzZlJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1N0b3JhZ2VJdGVtRGV0YWlsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vU3RvcmFnZUl0ZW1EZXRhaWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1N0b3JhZ2VJdGVtRGV0YWlsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWQ5ZTA1MzZlJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiZDllMDUzNmVcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzd2l0Y2gtY29udGVudFwifSxbKF92bS5sYWJlbCk/X2MoJ2xhYmVsJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC1sYWJlbFwifSxbX3ZtLl92KF92bS5fcyhfdm0ubGFiZWwpK1wiOlwiKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKF92bS5pbmZvKT9fYygnc21hbGwnLHtzdGF0aWNDbGFzczpcImlucHV0LWluZm9cIn0sW192bS5fdihfdm0uX3MoX3ZtLmluZm8pKV0pOl92bS5fZSgpXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzd2l0Y2gtY29udGVudCB0ZXh0LXJpZ2h0XCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzd2l0Y2hcIixjbGFzczp7IGFjdGl2ZTogX3ZtLmlzU3dpdGNoZWQgfSxvbjp7XCJjbGlja1wiOl92bS5jaGFuZ2VTdGF0ZX19LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzd2l0Y2gtYnV0dG9uXCJ9KV0pXSldKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Td2l0Y2hJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3dpdGNoSW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2l0Y2gtY29udGVudFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaW5wdXQtbGFiZWxcIiB2LWlmPVwibGFiZWxcIj57eyBsYWJlbCB9fTo8L2xhYmVsPlxuICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiaW5wdXQtaW5mb1wiIHYtaWY9XCJpbmZvXCI+e3sgaW5mbyB9fTwvc21hbGw+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2l0Y2gtY29udGVudCB0ZXh0LXJpZ2h0XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieyBhY3RpdmU6IGlzU3dpdGNoZWQgfVwiXG4gICAgICAgICAgICAgICAgICAgIEBjbGljaz1cImNoYW5nZVN0YXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpdGNoLWJ1dHRvblwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6J1N3aXRjaElucHV0JyxcbiAgICAgICAgcHJvcHM6IFsnbGFiZWwnLCAnbmFtZScsICdzdGF0ZScsICdpbmZvJ10sXG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGlzU3dpdGNoZWQ6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICBjaGFuZ2VTdGF0ZSgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzU3dpdGNoZWQgPSAhIHRoaXMuaXNTd2l0Y2hlZFxuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgdGhpcy5pc1N3aXRjaGVkKVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtb3VudGVkKCkge1xuICAgICAgICAgICAgdGhpcy5pc1N3aXRjaGVkID0gdGhpcy5zdGF0ZVxuICAgICAgICB9XG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAuaW5wdXQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5pbnB1dC1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpdGNoLWNvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpdGNoIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmMWYxZjU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICAgICAuc3dpdGNoLWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMzcsIDM4LCA5NCwgMC4xKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcblxuICAgICAgICAgICAgLnN3aXRjaC1idXR0b24ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgIC5zd2l0Y2gge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvcHVwLXdyYXBwZXIge1xuICAgICAgICAgICAgLnN3aXRjaCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkZGFya19tb2RlX2ZvcmVncm91bmQsIDMlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1N3aXRjaElucHV0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00MjFjYTIyNiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9Td2l0Y2hJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1N3aXRjaElucHV0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Td2l0Y2hJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00MjFjYTIyNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjQyMWNhMjI2XCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==