@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes appear{0%{opacity:0}to{opacity:1}}@-webkit-keyframes appear{0%{opacity:0}to{opacity:1}}@-moz-keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@-webkit-keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@-moz-keyframes jump{0%,to{transform:translateY(0)}60%{transform:translateY(-20px)}}@keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@-webkit-keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@-moz-keyframes weight{0%{transform:rotate(-48deg)}to{transform:rotate(48deg)}}@keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@-webkit-keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@-moz-keyframes hammer{0%{transform:rotate(28deg)}to{transform:rotate(2deg)}}@keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-webkit-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@-moz-keyframes appear-hammer{0%,to{opacity:0}50%,60%{opacity:1}}@keyframes scale{0%{transform:scale(0);opacity:0}70%{transform:scale(1);opacity:1}to{transform:scale(1.2);opacity:0}}@-webkit-keyframes scale{0%{transform:scale(0);opacity:0}70%{transform:scale(1);opacity:1}to{transform:scale(1.2);opacity:0}}@-moz-keyframes scale{0%{transform:scale(0);opacity:0}70%{transform:scale(.8);opacity:1}to{transform:scale(1);opacity:0}}@keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-webkit-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@-moz-keyframes hoop{0%,40%,to{transform:translateX(0)}30%{transform:translateX(-40px)}50%{transform:translateX(50px)}}@keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-webkit-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@-moz-keyframes danse{0%,to{transform:translateX(0)}50%{transform:translateX(-10px)}70%{transform:translateX(10px)}}@keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-webkit-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@-moz-keyframes hamburger{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-webkit-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@-moz-keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-webkit-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@-moz-keyframes bottleDance{0%,to{transform:rotate(0deg)}5%{transform:rotate(5deg)}95%{transform:rotate(-5deg)}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{0%{opacity:0}to{opacity:1}}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,ins,kbd,label,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}img{margin:0;padding:0;font:inherit}fieldset,figure,form,legend{font:inherit;vertical-align:baseline}figure,form{padding:0;border:0}legend{margin:0}:focus{outline:0}.box h2 small,.box h2 span,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1;background-color:var(--pageBackground);font-family:var(--mainFont)}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-moz-appearance:none}audio,canvas,video{display:inline-block;*display:inline;*zoom:1;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle}fieldset,legend{border:0;padding:0}fieldset,figure,form{margin:0}legend{white-space:normal;*margin-left:-7px}button,input,select{vertical-align:baseline}button,input,select,textarea{font-size:100%;margin:0;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}button,html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}:root{--pageBackground:hsl(0, 0%, 100%);--pageBackground_h:0;--pageBackground_s:0%;--pageBackground_l:100%;--mainColor:hsl(216, 53%, 57%);--mainColor_h:216;--mainColor_s:53%;--mainColor_l:57%;--primaryColor:hsl(70, 82%, 64%);--primaryColor_h:70;--primaryColor_s:82%;--primaryColor_l:64%;--titleColor:hsl(0, 0%, 0%);--titleColor_h:0;--titleColor_s:0%;--titleColor_l:0%;--textColor:hsl(0, 0%, 0%);--textColor_h:0;--textColor_s:0%;--textColor_l:0%;--CTA:hsl(120, 100%, 20%);--CTA_h:120;--CTA_s:100%;--CTA_l:20%;--mainFont:"Helvetica Neue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande";--secondaryFont:"Helvetica Neue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande"}.header{padding-block:1em;color:#fff;box-shadow:0 3px 6px 0 rgba(0,0,0,.16)}body:not(.surveyPage--rd) .header{background-color:#fff}body.surveyPage--rd .header{background-color:var(--mainColor)}@media (min-width:1025px){.header{display:none}}.header [class^=container]{display:flex;align-items:center;max-width:100%}body.surveyPage--rd .header [class^=container]{justify-content:center}.header__logo{display:flex;align-self:center}@media (max-width:375px){.header--svg .header__logo{font-size:150px}}@media (min-width:376px){.header--svg .header__logo{font-size:170px}}.header--img .header__logo{width:187px}.header__logo .icon{height:.2333em}.header__logo img{max-width:100%}.surveyPage--rd{display:flex;flex-direction:column;min-height:100vh}.surveyPage--rd main{flex:1}@media (min-width:992px){.survey-wrap{overflow:hidden;max-width:700px;margin:40px auto 0;border-radius:10px;background-color:#fff}}.survey{color:var(--textColor);overflow:hidden;background-color:#fff}.survey h1{font-family:var(--secondaryFont);line-height:1.2}@media (max-width:375px){.survey h1{font-size:22px}}@media (min-width:376px) and (max-width:991px){.survey h1{font-size:24px}}@media (max-width:991px){.survey h1{margin-bottom:20px;padding-inline:8px;text-align:center}}@media (min-width:992px){.survey h1{font-size:26px}}@media (max-width:991px){.survey{margin-top:10px;font-size:21px;border-radius:14px}body:not(.surveyPage--rd) .survey{padding-top:20px}body.surveyPage--rd .survey{padding-top:10px}}@media (min-width:992px){.survey{position:relative;max-width:700px;padding:25px 0 17px 42px;font-size:16px;text-align:left;border-radius:25px}}@media (max-width:991px){.boxes{display:flex;flex-wrap:nowrap;width:300vw;transition-property:margin-left;transition-duration:1s;transition-delay:.5s}.boxes--2Sections{width:200vw}.boxes--2Sections.two~.skip,.boxes.three~.skip{margin:193px 11px 0}.boxes .clicked{max-height:50vh}.boxes.one{margin-left:0}.boxes.one .box.one~.box,.boxes.two .box.two~.box{max-height:60vh}.boxes.two{margin-left:-100vw}.boxes.three{margin-left:-200vw}.boxes.three .box.three{max-height:none}body:not(.surveyPage--rd) .boxes.three .box.three.clicked .answers{margin-bottom:70px}}@media (min-width:992px){.boxes{display:block;width:100%}}.box{width:100%}.box h2{font-weight:600}@media (max-width:375px){.box h2{font-size:20px}}@media (min-width:376px){.box h2{font-size:24px}}.box h2::after{content:none}@media (max-width:991px){.box{position:relative}.box h2{text-align:center}body:not(.surveyPage--rd) .box{padding:0 29px 0 21px}body:not(.surveyPage--rd) .box h2{margin-bottom:37px;line-height:28px}.boxes.three body:not(.surveyPage--rd) .box.three{padding-bottom:17px}.boxes.three body:not(.surveyPage--rd) .box.three h2{margin-bottom:20px}.boxes.three body:not(.surveyPage--rd) .box.three.clicked{padding-bottom:64px}body.surveyPage--rd .box{padding-inline:10px}body.surveyPage--rd .box h2{margin-bottom:30px;line-height:1.2}}@media (min-width:992px){body:not(.surveyPage--rd) .box{padding-inline:10px}body.surveyPage--rd .box{padding-inline:30px 15px}.box h2{text-align:left;line-height:29px}.box h2:before{margin-right:7px}body:not(.surveyPage--rd) .box h2{margin:23px 0 29px}body:not(.surveyPage--rd) .box h2:before{font-size:16px;line-height:18px;font-weight:400}body.surveyPage--rd .box h2{margin-block:25px}.box.one h2:before{content:"1."}body:not(.surveyPage--rd) .box.one .answers li{display:inline-block}body:not(.surveyPage--rd) .box.one .answers li:first-child{margin-right:5px}body:not(.surveyPage--rd) .box.one .answers li:first-child:after{content:"or";display:inline;margin-block:3px;margin-inline:0 4px}.box.two h2:before{content:"2."}.box.three h2 span,.box.two h2 span{display:inline-block}.box.three{position:relative}body:not(.surveyPage--rd) .box.three{padding-bottom:44px}.box.three h2:before{content:"3."}}.pages{margin-bottom:10px;margin-top:-3px;margin-left:0;font-size:16px;text-align:left}@media (min-width:992px){.pages{display:none}}.answers input,.answers label{cursor:pointer}@media (max-width:375px){body.surveyPage--rd .answers li{font-size:18px}}@media (min-width:376px){body.surveyPage--rd .answers li{font-size:20px}}@media (max-width:991px){body:not(.surveyPage--rd) .answers{margin-bottom:20px}.answers li{padding:10px 5px;text-align:center;background-color:#fff;border-radius:7px;border:solid 1px var(--mainColor)}body:not(.surveyPage--rd) .answers li{margin-bottom:2px;font-size:21px;line-height:25px}body.surveyPage--rd .answers li{margin-bottom:3px}.answers li.checked{color:hsl(var(--mainColor_h),calc(var(--mainColor_s) - 7%),calc(var(--mainColor_l) - 9%));background-color:var(--primaryColor)}body:not(.surveyPage--rd) .answers li.checked{font-style:italic;color:#fff;border-color:var(--primaryColor)}body.surveyPage--rd .answers li.checked{border-color:var(--mainColor)}.answers input,.answers label{display:none}}@media (min-width:992px){.answers{margin-bottom:25px;margin-left:21px}.answers li{text-align:left}body:not(.surveyPage--rd) .answers li{margin-bottom:8px}body.surveyPage--rd .answers li{margin-bottom:12px}.answers input{display:inline-block;margin-right:3px}.answers span{display:none}}.btn{padding:8px 5px;font-weight:700;text-align:center;border:solid 1px;border-radius:7px;line-height:1}@media (max-width:375px){.btn{font-size:20px}}@media (min-width:376px){.btn{font-size:22px}}.survey-wrap .btn{position:absolute;margin:3px 0}.footer .btn{width:100%;max-width:355px}.btn,.btn:hover{color:#fff}.btn.hidden{display:none}.btn.show{display:block}.boxes.three .btn{bottom:16px}@media (max-width:991px){.btn{-webkit-animation:fadein 2s;animation:fadein 2s}.survey-wrap .btn{left:calc(50% - 101px);width:202px}.footer .btn{margin-bottom:20px}}@media (min-width:992px){.btn{display:block}.survey-wrap .btn{left:29px;width:300px;margin-top:13px}.footer .btn{margin-bottom:40px;margin-left:35px}}@media (min-width:992px) and (max-width:1024px) and (orientation:landscape){.footer .btn{margin-bottom:20px}}.btn--gradient{background-image:linear-gradient(to bottom,hsl(var(--CTA_h),var(--CTA_s),calc(var(--CTA_l) + 20%)),var(--CTA));border-color:var(--textColor)}.btn--solid{background-color:var(--mainColor);border-color:var(--mainColor)}.skip{text-decoration:underline;font-size:16px}@media (max-width:991px){.skip{color:var(--textColor)}.survey-wrap .skip{float:right;margin:38px 22px 0}.survey-wrap .skip.clicked{margin-top:14px}}@media (min-width:992px){.survey-wrap .skip{float:left;margin:16px 0 48px 72px;color:#00e}.footer .skip{color:var(--textColor)}.footer .skip:hover{color:var(--mainColor)}}.disclaimer{margin-top:10px;margin-bottom:10px;font-size:12px;line-height:1}@media (max-width:991px){.disclaimer{text-align:center;font-size:10px}}@media (min-width:992px){.box:not(.three) .disclaimer{display:none}}.footer{position:sticky;bottom:0;display:flex;flex-direction:column;justify-content:center;flex:none;width:100%;max-width:700px;margin-inline:auto;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background-color:hsla(var(--pageBackground_h),var(--pageBackground_s),var(--pageBackground_l),.95)}@media (max-width:991px){.footer{align-items:center}}@media (min-width:992px){.footer{align-items:flex-start;padding-left:42px}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9fYW5pbWF0aW9ucy5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9ybS9mb3JtLnNjc3MiLCJhYnN0cmFjdHMvc2tpbnMvc3VydmV5L19jb2xvcnMuc2NzcyIsImFic3RyYWN0cy9za2lucy9zdXJ2ZXkvX3R5cG9ncmFwaHkuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9ybS9oZWFkZXIuc2NzcyIsImFic3RyYWN0cy9mdW5jdGlvbnMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9ybS9mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQSxBQUFBLGlCQUNJLEUsQ0FFQSxFLENBRkssUyxDQUNMLEcsQ0FBTSxXLEFBR1YseUJBQ0ksRSxDQUVBLEUsQ0FGSyxTLENBQ0wsRyxDQUFNLFcsQUFHVixzQkFDSSxFLENBRUEsRSxDQUZLLFMsQ0FDTCxHLENBQU0sVyxBQUlWLGtCQUNJLEUsQ0FBSyxTLENBQ0wsRSxDQUFPLFcsQUFFWCwwQkFDSSxFLENBQUssUyxDQUNMLEUsQ0FBTyxXLEFBR1gsdUJBQ0ksRSxDQUFLLFMsQ0FDTCxFLENBQU8sVyxBQUdYLGdCQUNJLEUsQ0FFQSxFLENBRkssdUIsQ0FDTCxHLENBQU0sNkIsQUFHVix3QkFDSSxFLENBRUEsRSxDQUZLLHVCLENBQ0wsRyxDQUFNLDZCLEFBSVYscUJBQ0ksRSxDQUVBLEUsQ0FGSyx1QixDQUNMLEcsQ0FBTSw2QixBQUtWLGtCQUNJLEUsQ0FBSyx3QixDQUNMLEUsQ0FBTyx5QixBQUVYLDBCQUNJLEUsQ0FBSyx3QixDQUNMLEUsQ0FBTyx5QixBQUdYLHVCQUNJLEUsQ0FBSyx3QixDQUNMLEUsQ0FBTyx5QixBQUdYLGtCQUNJLEUsQ0FBSyx1QixDQUNMLEUsQ0FBTyx3QixBQUVYLDBCQUNJLEUsQ0FBSyx1QixDQUNMLEUsQ0FBTyx3QixBQUdYLHVCQUNJLEUsQ0FBSyx1QixDQUNMLEUsQ0FBTyx3QixBQUdYLHlCQUNJLEUsQ0FHQSxFLENBSEssUyxDQUNMLEcsQ0FDQSxHLENBRE0sVyxBQUlWLGlDQUNJLEUsQ0FHQSxFLENBSEssUyxDQUNMLEcsQ0FDQSxHLENBRE0sVyxBQUtWLDhCQUNJLEUsQ0FHQSxFLENBSEssUyxDQUNMLEcsQ0FDQSxHLENBRE0sVyxBQUtWLGlCQUNJLEUsQ0FBSyxrQixDQUFxQixTLENBQzFCLEcsQ0FBSyxrQixDQUFxQixTLENBQzFCLEUsQ0FBTSxvQixDQUF1QixXLEFBRWpDLHlCQUNJLEUsQ0FBSyxrQixDQUFxQixTLENBQzFCLEcsQ0FBSyxrQixDQUFxQixTLENBQzFCLEUsQ0FBTSxvQixDQUF1QixXLEFBR2pDLHNCQUNJLEUsQ0FBSyxrQixDQUFxQixTLENBQzFCLEcsQ0FBSyxtQixDQUF1QixTLENBQzVCLEUsQ0FBTSxrQixDQUFxQixXLEFBRy9CLGdCQUNJLEUsQ0FFQSxHLENBRUEsRSxDQUpLLHVCLENBQ0wsRyxDQUFLLDJCLENBRUwsRyxDQUFLLDRCLEFBR1Qsd0JBQ0ksRSxDQUVBLEcsQ0FFQSxFLENBSkssdUIsQ0FDTCxHLENBQUssMkIsQ0FFTCxHLENBQUssNEIsQUFJVCxxQkFDSSxFLENBRUEsRyxDQUVBLEUsQ0FKSyx1QixDQUNMLEcsQ0FBSywyQixDQUVMLEcsQ0FBSyw0QixBQUlULGlCQUNJLEUsQ0FHQSxFLENBSEssdUIsQ0FDTCxHLENBQUssMkIsQ0FDTCxHLENBQUssNEIsQUFHVCx5QkFDSSxFLENBR0EsRSxDQUhLLHVCLENBQ0wsRyxDQUFLLDJCLENBQ0wsRyxDQUFLLDRCLEFBSVQsc0JBQ0ksRSxDQUdBLEUsQ0FISyx1QixDQUNMLEcsQ0FBSywyQixDQUNMLEcsQ0FBSyw0QixBQUtULHFCQUNJLEUsQ0FBSyxrQixDQUNMLEUsQ0FBTyxvQixBQUdYLDZCQUNJLEUsQ0FBSyxrQixDQUNMLEUsQ0FBTyxvQixBQUdYLDBCQUNJLEUsQ0FBSyxrQixDQUNMLEUsQ0FBTyxvQixBQU9YLHdCQUNJLEUsQ0FFQSxFLENBRkssUyxDQUNMLEcsQ0FBTSxXLEFBR1YsZ0NBQ0ksRSxDQUVBLEUsQ0FGSyxTLENBQ0wsRyxDQUFNLFcsQUFHViw2QkFDSSxFLENBRUEsRSxDQUZLLFMsQ0FDTCxHLENBQU0sVyxBQUtWLHVCQUNJLEUsQ0FHQSxFLENBSEssc0IsQ0FDTCxFLENBQUssc0IsQ0FDTCxHLENBQU0seUIsQUFHViwrQkFDSSxFLENBR0EsRSxDQUhLLHNCLENBQ0wsRSxDQUFLLHNCLENBQ0wsRyxDQUFNLHlCLEFBSVYsNEJBQ0ksRSxDQUdBLEUsQ0FISyxzQixDQUNMLEUsQ0FBSyxzQixDQUNMLEcsQ0FBTSx5QixBQUtWLGtCQUNJLEUsQ0FBSyxTLENBQ0wsRSxDQUFHLFcsQUFFUCwwQkFDSSxFLENBQUssUyxDQUNMLEUsQ0FBRyxXQ3ZOUCxDLENBQUEsSSxDQUFBLE8sQ0FBQSxPLENBQUEsTSxDQUFBLE8sQ0FBQSxLLENBQUEsSyxDQUFBLEMsQ0FBQSxHLENBQUEsVSxDQUFBLEksQ0FBQSxNLENBQUEsTyxDQUFBLE0sQ0FBQSxJLENBQUEsSSxDQUFBLEUsQ0FBQSxHLENBQUEsTyxDQUFBLEcsQ0FBQSxHLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsSyxDQUFBLFUsQ0FBQSxNLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsTSxDQUFBLE0sQ0FBQSxJLENBQUEsQyxDQUFBLE0sQ0FBQSxHLENBQUEsRyxDQUFBLEssQ0FBQSxFLENBQUEsSSxDQUFBLEksQ0FBQSxHLENBQUEsTSxDQUFBLEUsQ0FBQSxNLENBQUEsQyxDQUFBLEcsQ0FBQSxDLENBQUEsSSxDQUFBLEMsQ0FBQSxJLENBQUEsTyxDQUFBLEssQ0FBQSxJLENBQUEsTSxDQUFBLE0sQ0FBQSxHLENBQUEsTyxDQUFBLEcsQ0FBQSxLLENBQUEsSyxDQUFBLEUsQ0FBQSxLLENBQUEsRSxDQUFBLEssQ0FBQSxJLENBQUEsRSxDQUFBLEUsQ0FBQSxDLENBQUEsRSxDQUFBLEcsQ0FBQSxLLENBaUZJLFEsQ0FDQSxTLENBQ0EsUSxDQUVBLFksQ0FDQSx1QixDQXRGSixHLENBaUZJLFEsQ0FDQSxTLENBR0EsWSxDQXJGSixRLENBQUEsTSxDQUFBLEksQ0FBQSxNLENBcUZJLFksQ0FDQSx1QixDQXRGSixNLENBQUEsSSxDQWtGSSxTLENBQ0EsUSxDQW5GSixNLENBaUZJLFEsQ0FTSixNLENBQ0ksUyxDQ3VGSSxhLENBUUEsWSxDRDNGUixPLENBQUEsSyxDQUFBLE8sQ0FBQSxVLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsTSxDQUFBLEksQ0FBQSxHLENBQUEsTyxDQVdJLGEsQ0FHSixJLENBQ0ksYSxDQ2xIQSxzQyxDQUNBLDJCLENEb0hKLEUsQ0FBQSxFLENBRUksZSxDQUdKLFUsQ0FBQSxDLENBRUksVyxDQUdKLGdCLENBQUEsaUIsQ0FBQSxPLENBQUEsUSxDQUtJLFksQ0FHSixLLENBNFFJLHdCLENBQ0EsZ0IsQ0F4UUosZ0QsQ0FBQSw2QyxDQUFBLGlELENBQUEscUQsQ0FJSSx1QixDQUNBLG9CLENBR0osa0IsQ0FFSSxvQixDQWdCSixLLENBQUEsTSxDQUFBLEssQ0FHSSxvQixDQUNBLGUsQ0FDQSxPLENBQ0EsYyxDQVFKLFVBQUEsVyxDQUNJLFksQ0FDQSxRLENBUUosUSxDQUNJLFksQ0FVSixJLENBQ0ksYyxDQUNBLDZCLENBQ0EseUIsQ0FPSixPLENBQ0ksbUIsQ0FPSixRLENBQUEsTyxDQUVJLFMsQ0FRSixHLENBQ0ksUSxDQUNBLDhCLENBbU1BLHFCLENBNUtKLFEsQ0FZQSxNLENBQ0ksUSxDQUNBLFMsQ0FkSixRLENBaEJBLE0sQ0FRQSxJLENBeUxJLFEsQ0FyS0osTSxDQUdJLGtCLENBQ0EsaUIsQ0FVSixNLENBQUEsSyxDQUFBLE0sQ0FNSSx1QixDQU5KLE0sQ0FBQSxLLENBQUEsTSxDQUFBLFEsQ0FJSSxjLENBQ0EsUSxDQUVBLHNCLENBUUosTSxDQUFBLEssQ0FFSSxrQixDQVVKLE0sQ0FBQSxNLENBRUksbUIsQ0FhSixNLENBQUEsdUIsQ0FBQSxpQixDQUFBLGtCLENBSUkseUIsQ0FDQSxjLENBQ0EsaUIsQ0FPSixnQixDQUFBLG9CLENBRUksYyxDQVVKLG9CLENBQUEsaUIsQ0FFSSxxQixDQUNBLFMsQ0FDQSxZLENBQ0EsVyxDQVNKLGtCLENBQ0ksNEIsQ0FDQSwyQixDQUNBLDhCLENBQ0Esc0IsQ0FRSixnRCxDQUFBLDZDLENBRUksdUIsQ0FPSix3QixDQUFBLHVCLENBRUksUSxDQUNBLFMsQ0FRSixRLENBQ0ksYSxDQUNBLGtCLENBWUosTSxDQUFBLEksQ0FBQSxLLENBQUEsTSxDQWRBLFEsQ0FtQkksVSxDQUdKLGdCLENBQ0ksa0IsQ0FDQSxnQixDQUdKLFcsQ0FDSSxrQixDQUNBLGdCLENBYUosUSxDQUNJLGUsQ0FHSixZLENBQ0ksYSxDQUNBLGUsQ0FDQSxVLENBQ0EsYyxDRTViSixLLENBQ0ksaUMsQ0FDQSxvQixDQUNBLHFCLENBQ0EsdUIsQ0FFQSw4QixDQUNBLGlCLENBQ0EsaUIsQ0FDQSxpQixDQUVBLGdDLENBQ0EsbUIsQ0FDQSxvQixDQUNBLG9CLENBRUEsMkIsQ0FDQSxnQixDQUNBLGlCLENBQ0EsaUIsQ0FFQSwwQixDQUNBLGUsQ0FDQSxnQixDQUNBLGdCLENBRUEseUIsQ0FDQSxXLENBQ0EsWSxDQUNBLFcsQ0M1QkEsOEcsQ0FDQSxtSCxDQ0ZKLE8sQ0FDRSxpQixDQUNBLFUsQ0FDQSxzQyxDQUVBLFNBQUEsd0IsQ0FDRSxxQixDQUdGLDJCLENBQ0UsaUMsQ0NtakJBLDBCRDdqQkosTyxDQWNJLGNBR0YsMEIsQ0FDRSxZLENBQ0Esa0IsQ0FDQSxjLENBTUEsOEMsQ0FDRSxzQixDQUlKLGEsQ0FDRSxZLENBQ0EsaUIsQ0M0aEJBLHlCRDFoQkEsMEIsQ0FFSSxpQixBQ3doQkoseUJEMWhCQSwwQixDQU1JLGlCQUlKLDBCLENBQ0UsVyxDQUdGLG1CLENBQ0UsYyxDQUdGLGlCLENBQ0UsYyxDSGpETixlLENBQ0ksWSxDQUNBLHFCLENBQ0EsZ0IsQ0FFQSxvQixDQUNJLE0sQ0lrakJKLHlCSjlpQkosWSxDQUVRLGUsQ0FDQSxlLENBQ0Esa0IsQ0FDQSxrQixDQUNBLHVCQUlSLE8sQ0FDSSxzQixDQUNBLGUsQ0FDQSxxQixDQUVBLFUsQ0FDSSxnQyxDQUNBLGUsQ0k2aEJKLHlCSi9oQkEsVSxDQUtRLGdCLEFJMGhCUiwrQ0ovaEJBLFUsQ0FTUSxnQixBSXNoQlIseUJKL2hCQSxVLENBYVEsa0IsQ0FDQSxrQixDQUNBLG1CLEFJZ2hCUix5QkovaEJBLFUsQ0FtQlEsZ0IsQUk0Z0JSLHlCSnBpQkosTyxDQTZCUSxlLENBQ0EsYyxDQUNBLGtCLENBRUEsU0FBQSx3QixDQUNJLGdCLENBR0osMkIsQ0FDSSxrQixBSThmUix5QkpwaUJKLE8sQ0EyQ1EsaUIsQ0FDQSxlLENBQ0Esd0IsQ0FDQSxjLENBQ0EsZSxDQUNBLG9CLEFJb2ZKLHlCSmhmSixNLENBRVEsWSxDQUNBLGdCLENBQ0EsVyxDQUNBLCtCLENBQ0Esc0IsQ0FDQSxvQixDQUVBLGlCLENBQ0ksVyxDQUdJLDJCLENBaURKLGtCLENBaERRLG1CLENBS1osZSxDQUNJLGUsQ0FHSixVLENBQ0ksYSxDQUdJLHdCLENBV0ksd0IsQ0FWQSxlLENBS1osVSxDQUNJLGtCLENBV0osWSxDQUNJLGtCLENBR0ksdUIsQ0FDSSxlLENBSVEsU0FBQSx5RCxDQUNJLG9CLEFJeWI1Qix5QkpoZkosTSxDQXFFUSxhLENBQ0EsWUFhUixJLENBQ0ksVSxDQVdBLE8sQ0FDSSxlLENJZ1pKLHlCSmpaQSxPLENBSVEsZ0IsQUk2WVIseUJKalpBLE8sQ0FRUSxnQkFPSixjLENBQ0ksWSxDSWlZUix5Qko3WkosSSxDQXFDUSxpQixDQUVBLE8sQ0FDSSxpQixDQUdKLFNBQUEscUIsQ0FDSSxxQixDQUVBLFNBQUEsd0IsQ0FDSSxrQixDQUNBLGdCLENBSUEsc0JBQUEsMkIsQ0FDSSxtQixDQUVBLHNCQUFBLDhCLENBQ0ksa0IsQ0FHSixzQkFBQSxtQyxDQUNJLG1CLENBTWhCLHdCLENBQ0ksbUIsQ0FFQSwyQixDQUNJLGtCLENBQ0EsaUIsQUlzVloseUJKaFZJLFNBQUEscUIsQ0FDSSxtQixDQUdKLHdCLENBQ0ksd0IsQ0FHSixPLENBQ0ksZSxDQUNBLGdCLENBRUEsYyxDQUNJLGdCLENBR0osU0FBQSx3QixDQUNJLGtCLENBRUEsU0FBQSwrQixDQUNJLGMsQ0FDQSxnQixDQUNBLGUsQ0FJUiwyQixDQUNJLGlCLENBTUEsa0IsQ0FDSSxZLENBTUEsU0FBQSxxQyxDQUNJLG9CLENBRUEsU0FBQSxpRCxDQUNJLGdCLENBRUEsU0FBQSx1RCxDQUNJLFksQ0FDQSxjLENBQ0EsZ0IsQ0FDQSxtQixDQVVoQixrQixDQUNJLFksQ0FxQkosa0IsQ0FsQkEsZ0IsQ0FDSSxvQixDQUtaLFUsQ0FDSSxpQixDQUVBLFNBQUEsMkIsQ0FDSSxtQixDQUlBLG9CLENBQ0ksY0FXcEIsTSxDQUNJLGtCLENBQ0EsZSxDQUNBLGEsQ0FDQSxjLENBQ0EsZSxDSWlQQSx5Qkp0UEosTSxDQVFRLGNBS0osYyxDQUFBLGMsQ0FFSSxjLENJdU9KLHlCSmxPUSwrQixDQUNJLGdCLEFJaU9aLHlCSjFOUSwrQixDQUNJLGdCLEFJeU5aLHlCSm5OSSxTQUFBLHlCLENBQ0ksa0IsQ0FPSixXLENBQ0ksZ0IsQ0FDQSxpQixDQUNBLHFCLENBQ0EsaUIsQ0FDQSxpQyxDQUVBLFNBQUEsNEIsQ0FDSSxpQixDQUNBLGMsQ0FDQSxnQixDQUdKLCtCLENBQ0ksaUIsQ0FHSixtQixDQUNJLHlGLENBQ0Esb0MsQ0FFQSxTQUFBLG9DLENBQ0ksaUIsQ0FDQSxVLENBQ0EsZ0MsQ0FHSix1QyxDQUNJLDZCLENBS1osYyxDQUFBLGMsQ0FFSSxjLEFJd0tSLHlCSjFPSixRLENBdUVRLGtCLENBQ0EsZ0IsQ0FFQSxXLENBQ0ksZSxDQUVBLFNBQUEsNEIsQ0FDSSxpQixDQUdKLCtCLENBQ0ksa0IsQ0FJUixjLENBQ0ksb0IsQ0FDQSxnQixDQUdKLGEsQ0FDSSxjQUtaLEksQ0FDSSxlLENBQ0EsZSxDQUNBLGlCLENBQ0EsZ0IsQ0FDQSxpQixDQUNBLGEsQ0ltSUEseUJKeklKLEksQ0FTUSxnQixBSWdJSix5Qkp6SUosSSxDQWFRLGdCQUdKLGlCLENBQ0ksaUIsQ0FDQSxZLENBR0osWSxDQUNJLFUsQ0FDQSxlLENBR0osSSxDQUFBLFUsQ0FDSSxVLENBR0osVyxDQUNJLFksQ0FHSixTLENBQ0ksYSxDQUdKLGlCLENBQ0ksVyxDSWtHSix5Qkp6SUosSSxDQTJDUSwyQixDQUNBLG1CLENBRUEsaUIsQ0FDSSxzQixDQUNBLFcsQ0FHSixZLENBQ0ksb0IsQUlxRlIseUJKeklKLEksQ0F5RFEsYSxDQUVBLGlCLENBQ0ksUyxDQUNBLFcsQ0FDQSxlLENBR0osWSxDQUNJLGtCLENBQ0Esa0IsQUlzRVIsNEVKeEVJLFksQ0FNWSxvQkFNaEIsYyxDQUNJLDhHLENBQ0EsNkIsQ0FHSixXLENBQ0ksaUMsQ0FDQSw2QixDQUlSLEssQ0FDSSx5QixDQUNBLGMsQ0krQ0EseUJKakRKLEssQ0FLUSxzQixDQUVBLGtCLENBQ0ksVyxDQUNBLGtCLENBRUEsMEIsQ0FDSSxpQixBSXFDWix5QkozQkksa0IsQ0FDSSxVLENBQ0EsdUIsQ0FDQSxVLENBR0osYSxDQUNJLHNCLENBRUEsbUIsQ0FDSSx3QkFNaEIsVyxDQUNJLGUsQ0FBa0Isa0IsQ0FDbEIsYyxDQUFpQixhLENJU2pCLHlCSlhKLFcsQ0FLUSxpQixDQUNBLGdCLEFJS0oseUJKREksU0FBQSxtQixDQUNJLGNLN2pCWixPLENBQ0ksZSxDQUNBLFEsQ0FDQSxZLENBQ0EscUIsQ0FDQSxzQixDQUNBLFMsQ0FDQSxVLENBQ0EsZSxDQUNBLGtCLENBQ0EsMEQsQ0FDQSxrRyxDRGtqQkEseUJDN2pCSixPLENBY1Esb0IsQUQraUJKLHlCQzdqQkosTyxDQWtCUSxzQixDQUNBLG1CIiwiZmlsZSI6InN1cnZleS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAa2V5ZnJhbWVzIGJsaW5re1xyXG4gICAgMCUgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSB7IG9wYWNpdHk6MDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBibGlua3tcclxuICAgIDAlIHsgb3BhY2l0eToxOyB9XHJcbiAgICA1MCUgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmt7XHJcbiAgICAwJSB7IG9wYWNpdHk6MTsgfVxyXG4gICAgNTAlIHsgb3BhY2l0eTowOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYXBwZWFye1xyXG4gICAgMCUgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYXBwZWFye1xyXG4gICAgMCUgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5cclxuQC1tb3ota2V5ZnJhbWVzIGFwcGVhcntcclxuICAgIDAlIHsgb3BhY2l0eTowOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMganVtcHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGp1bXB7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcblxyXG5ALW1vei1rZXlmcmFtZXMganVtcHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuXHJcblxyXG5Aa2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTQ4ZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDQ4ZGVnKSB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTQ4ZGVnKSB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpIH1cclxufVxyXG5cclxuQC1tb3ota2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTQ4ZGVnKSB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBoYW1tZXJ7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKSB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtbWVye1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZykgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBoYW1tZXJ7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKSB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhcHBlYXItaGFtbWVye1xyXG4gICAgMCUgeyBvcGFjaXR5OjA7IH1cclxuICAgIDUwJSB7IG9wYWNpdHk6MTsgfVxyXG4gICAgNjAlIHsgb3BhY2l0eToxOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTowOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGFwcGVhci1oYW1tZXJ7XHJcbiAgICAwJSB7IG9wYWNpdHk6MDsgfVxyXG4gICAgNTAlIHsgb3BhY2l0eToxOyB9XHJcbiAgICA2MCUgeyBvcGFjaXR5OjE7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjA7IH1cclxufVxyXG5cclxuQC1tb3ota2V5ZnJhbWVzIGFwcGVhci1oYW1tZXJ7XHJcbiAgICAwJSB7IG9wYWNpdHk6MDsgfVxyXG4gICAgNTAlIHsgb3BhY2l0eToxOyB9XHJcbiAgICA2MCUgeyBvcGFjaXR5OjE7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjA7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzY2FsZXtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgb3BhY2l0eTogMDsgfVxyXG4gICAgNzAlIHt0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxO31cclxuICAgIDEwMCUge3RyYW5zZm9ybTogc2NhbGUoMS4yKTsgb3BhY2l0eTogMDt9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxle1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyBvcGFjaXR5OiAwOyB9XHJcbiAgICA3MCUge3RyYW5zZm9ybTogc2NhbGUoMSk7IG9wYWNpdHk6IDE7fVxyXG4gICAgMTAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxLjIpOyBvcGFjaXR5OiAwO31cclxufVxyXG5cclxuQC1tb3ota2V5ZnJhbWVzIHNjYWxle1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyBvcGFjaXR5OiAwOyB9XHJcbiAgICA3MCUge3RyYW5zZm9ybTogc2NhbGUoMC44KTsgb3BhY2l0eTogMTt9XHJcbiAgICAxMDAlIHt0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAwO31cclxufVxyXG5cclxuQGtleWZyYW1lcyBob29we1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTt9XHJcbiAgICAzMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7fVxyXG4gICAgNDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTt9XHJcbiAgICA1MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTt9XHJcbiAgICAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTt9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGhvb3B7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cclxuICAgIDMwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTt9XHJcbiAgICA0MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cclxuICAgIDUwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpO31cclxuICAgIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cclxufVxyXG5cclxuQC1tb3ota2V5ZnJhbWVzIGhvb3B7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cclxuICAgIDMwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTt9XHJcbiAgICA0MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cclxuICAgIDUwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpO31cclxuICAgIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cclxufVxyXG5cclxuQGtleWZyYW1lcyBkYW5zZXtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7fSAgIFxyXG4gICAgNTAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO31cclxuICAgIDcwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO31cclxuICAgIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZGFuc2V7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO30gICBcclxuICAgIDUwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTt9XHJcbiAgICA3MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTt9XHJcbiAgICAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTt9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBkYW5zZXtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7fSAgIFxyXG4gICAgNTAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO31cclxuICAgIDcwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO31cclxuICAgIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO31cclxufVxyXG5cclxuXHJcbkBrZXlmcmFtZXMgaGFtYnVyZ2Vye1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtYnVyZ2Vye1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcblxyXG5ALW1vei1rZXlmcmFtZXMgaGFtYnVyZ2Vye1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuQGtleWZyYW1lcyBibGluay1jdXJzb3J7XHJcbiAgICAwJSB7IG9wYWNpdHk6MTsgfVxyXG4gICAgNTAlIHsgb3BhY2l0eTowOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eToxOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rLWN1cnNvcntcclxuICAgIDAlIHsgb3BhY2l0eToxOyB9XHJcbiAgICA1MCUgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmstY3Vyc29ye1xyXG4gICAgMCUgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSB7IG9wYWNpdHk6MDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgfVxyXG59XHJcblxyXG5cclxuQGtleWZyYW1lcyBib3R0bGVEYW5jZXtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDUlIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cclxuICAgIDk1JSB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKSB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3R0bGVEYW5jZXtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDUlIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cclxuICAgIDk1JSB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKSB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgfVxyXG59XHJcblxyXG5ALW1vei1rZXlmcmFtZXMgYm90dGxlRGFuY2V7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICA1JSB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XHJcbiAgICA5NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZykgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIH1cclxufVxyXG5cclxuXHJcbkBrZXlmcmFtZXMgZmFkZWlue1xyXG4gICAgZnJvbXtvcGFjaXR5OjB9XHJcbiAgICB0b3tvcGFjaXR5OjF9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVpbntcclxuICAgIGZyb217b3BhY2l0eTowfVxyXG4gICAgdG97b3BhY2l0eToxfVxyXG59IiwiLyogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC9cclxuICAgdjIuMC1tb2RpZmllZCB8IDIwMTEwMTI2XHJcbiAgIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXHJcbiovXHJcblxyXG5odG1sLFxyXG5ib2R5LFxyXG5kaXYsXHJcbnNwYW4sXHJcbmFwcGxldCxcclxub2JqZWN0LFxyXG5pZnJhbWUsXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYsXHJcbnAsXHJcbmJsb2NrcXVvdGUsXHJcbnByZSxcclxuYSxcclxuYWJicixcclxuYWNyb255bSxcclxuYWRkcmVzcyxcclxuYmlnLFxyXG5jaXRlLFxyXG5jb2RlLFxyXG5kZWwsXHJcbmRmbixcclxuZW0sXHJcbmltZyxcclxuaW5zLFxyXG5rYmQsXHJcbnEsXHJcbnMsXHJcbnNhbXAsXHJcbnNtYWxsLFxyXG5zdHJpa2UsXHJcbnN0cm9uZyxcclxuc3ViLFxyXG5zdXAsXHJcbnR0LFxyXG52YXIsXHJcbmIsXHJcbnUsXHJcbmksXHJcbmNlbnRlcixcclxuZGwsXHJcbmR0LFxyXG5kZCxcclxub2wsXHJcbnVsLFxyXG5saSxcclxuZmllbGRzZXQsXHJcbmZvcm0sXHJcbmxhYmVsLFxyXG5sZWdlbmQsXHJcbnRhYmxlLFxyXG5jYXB0aW9uLFxyXG50Ym9keSxcclxudGZvb3QsXHJcbnRoZWFkLFxyXG50cixcclxudGgsXHJcbnRkLFxyXG5hcnRpY2xlLFxyXG5hc2lkZSxcclxuY2FudmFzLFxyXG5kZXRhaWxzLFxyXG5lbWJlZCxcclxuZmlndXJlLFxyXG5maWdjYXB0aW9uLFxyXG5mb290ZXIsXHJcbmhlYWRlcixcclxuaGdyb3VwLFxyXG5tZW51LFxyXG5uYXYsXHJcbm91dHB1dCxcclxucnVieSxcclxuc2VjdGlvbixcclxuc3VtbWFyeSxcclxudGltZSxcclxubWFyayxcclxuYXVkaW8sXHJcbnZpZGVvIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBmb250LXNpemU6IDEwMCU7XHJcbiAgICBmb250OiBpbmhlcml0O1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG4vKiBtYWtlIHN1cmUgdG8gc2V0IHNvbWUgZm9jdXMgc3R5bGVzIGZvciBhY2Nlc3NpYmlsaXR5ICovXHJcbjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXHJcbmFydGljbGUsXHJcbmFzaWRlLFxyXG5kZXRhaWxzLFxyXG5maWdjYXB0aW9uLFxyXG5maWd1cmUsXHJcbmZvb3RlcixcclxuaGVhZGVyLFxyXG5oZ3JvdXAsXHJcbm1lbnUsXHJcbm5hdixcclxuc2VjdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuYm9keSB7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxub2wsXHJcbnVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbmJsb2NrcXVvdGUsXHJcbnEge1xyXG4gICAgcXVvdGVzOiBub25lO1xyXG59XHJcblxyXG5ibG9ja3F1b3RlOmJlZm9yZSxcclxuYmxvY2txdW90ZTphZnRlcixcclxucTpiZWZvcmUsXHJcbnE6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGNvbnRlbnQ6IG5vbmU7XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXHJcbiAqL1xyXG5cclxuYXVkaW8sXHJcbmNhbnZhcyxcclxudmlkZW8ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgKmRpc3BsYXk6IGlubGluZTtcclxuICAgICp6b29tOiAxO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cclxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cclxuICovXHJcblxyXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGhlaWdodDogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA3LzgvOSwgRmlyZWZveCAzLCBhbmQgU2FmYXJpIDQuXHJcbiAqIEtub3duIGlzc3VlOiBubyBJRSA2IHN1cHBvcnQuXHJcbiAqL1xyXG5cclxuW2hpZGRlbl0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xyXG4gKiAgICBgZW1gIHVuaXRzLlxyXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcclxuICogICAgdXNlciB6b29tLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cclxuICovXHJcblxyXG5hOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xyXG59XHJcblxyXG4vKipcclxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuYTphY3RpdmUsXHJcbmE6aG92ZXIge1xyXG4gICAgb3V0bGluZTogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxyXG4gKiAyLiBJbXByb3ZlIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUUgNy5cclxuICovXHJcblxyXG5pbWcge1xyXG4gICAgYm9yZGVyOiAwOyAvKiAxICovXHJcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA2LzcvOC85LCBTYWZhcmkgNSwgYW5kIE9wZXJhIDExLlxyXG4gKi9cclxuXHJcbmZpZ3VyZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IG1hcmdpbiBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxyXG4gKi9cclxuXHJcbmZvcm0ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcbiAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDYvNy84LzkuXHJcbiAqIDIuIENvcnJlY3QgdGV4dCBub3Qgd3JhcHBpbmcgaW4gRmlyZWZveCAzLlxyXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxyXG4gKi9cclxuXHJcbmxlZ2VuZCB7XHJcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAyICovXHJcbiAgICAqbWFyZ2luLWxlZnQ6IC03cHg7IC8qIDMgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNywgRmlyZWZveCAzKywgU2FmYXJpIDUsXHJcbiAqICAgIGFuZCBDaHJvbWUuXHJcbiAqIDMuIEltcHJvdmUgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMyAqL1xyXG4gICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDMgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgRmlyZWZveCAzKyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cclxuICogdGhlIFVBIHN0eWxlc2hlZXQuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCB7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxyXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxyXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgNisuXHJcbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxyXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxyXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXHJcbiAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxyXG4gKiAgICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cclxuICAgICpvdmVyZmxvdzogdmlzaWJsZTsgLyogNCAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cclxuICovXHJcblxyXG5idXR0b25bZGlzYWJsZWRdLFxyXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cclxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cclxuICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXHJcbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXHJcbiAqL1xyXG5cclxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xyXG4gICAgKmhlaWdodDogMTNweDsgLyogMyAqL1xyXG4gICAgKndpZHRoOiAxM3B4OyAvKiAzICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxyXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcclxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXHJcbiAqL1xyXG5cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcclxuICogb24gT1MgWC5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCAzKy5cclxuICovXHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgNi83LzgvOS5cclxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gKi9cclxuXHJcbnRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG5cclxuaHRtbCxcclxuYnV0dG9uLFxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcbiAgICBjb2xvcjogIzIyMjtcclxufVxyXG5cclxuOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xyXG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbjo6c2VsZWN0aW9uIHtcclxuICAgIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XHJcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuaW1nIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuICAgIHJlc2l6ZTogdmVydGljYWw7XHJcbn1cclxuXHJcbi5jaHJvbWVmcmFtZSB7XHJcbiAgICBtYXJnaW46IDAuMmVtIDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBwYWRkaW5nOiAwLjJlbSAwO1xyXG59XHJcbiIsImJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdlQmc7XG4gICAgZm9udC1mYW1pbHk6ICRtYWluRm9udDtcbn1cblxuLnN1cnZleVBhZ2UtLXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG5cbiAgICBtYWluIHtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG59XG5cbi5zdXJ2ZXktd3JhcCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldC1tYXhcIikge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgICAgICBtYXJnaW46IDQwcHggYXV0byAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4uc3VydmV5IHtcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnlGb250O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1tb2JpbGVcIikge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4OyBcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPm1vYmlsZVwiLCBcIjx0YWJsZXQtbWF4XCIpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldC1tYXhcIikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiA4cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0LW1heFwiKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7IFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0LW1heFwiKSB7ICAgICAgICBcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuXG4gICAgICAgIGJvZHk6bm90KC5zdXJ2ZXlQYWdlLS1yZCkgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICBib2R5LnN1cnZleVBhZ2UtLXJkICYge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0LW1heFwiKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgICAgcGFkZGluZzogMjVweCAwIDE3cHggNDJweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIH1cbn1cblxuLmJveGVzIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXQtbWF4XCIpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIHdpZHRoOiAzMDB2dztcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWFyZ2luLWxlZnQ7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDFzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xuXG4gICAgICAgICYtLTJTZWN0aW9ucyB7XG4gICAgICAgICAgICB3aWR0aDogMjAwdnc7XG5cbiAgICAgICAgICAgICYudHdvIHtcbiAgICAgICAgICAgICAgICAmIH4gLnNraXAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE5M3B4IDExcHggMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jbGlja2VkIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICAgIH1cblxuICAgICAgICAmLm9uZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgLmJveC5vbmUge1xuICAgICAgICAgICAgICAgICYgfiAuYm94IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnR3byB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwMHZ3O1xuXG4gICAgICAgICAgICAuYm94IHtcbiAgICAgICAgICAgICAgICAmLnR3byB7XG4gICAgICAgICAgICAgICAgICAgICYgfiAuYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwdmg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYudGhyZWUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMDB2dztcblxuICAgICAgICAgICAgLmJveCB7XG4gICAgICAgICAgICAgICAgJi50aHJlZSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAmLmNsaWNrZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmFuc3dlcnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6bm90KC5zdXJ2ZXlQYWdlLS1yZCkgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmIH4gLnNraXAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTkzcHggMTFweCAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0LW1heFwiKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLm9uZSB7XG4gICAgICAgIH1cblxuICAgICAgICAmLnR3byB7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRocmVlIHtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLm9uZSB7XG4gICAgfVxuXG4gICAgJi50d28ge1xuICAgIH1cblxuICAgICYudGhyZWUge1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZScpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4OyAgICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldC1tYXhcIikge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgYm9keTpub3QoLnN1cnZleVBhZ2UtLXJkKSAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjlweCAwIDIxcHg7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzN3B4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnRocmVlIHtcbiAgICAgICAgICAgICAgICAuYm94ZXMudGhyZWUgJiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxN3B4O1xuICAgIFxuICAgICAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICYuY2xpY2tlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjRweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICBib2R5LnN1cnZleVBhZ2UtLXJkICYge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDEwcHg7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0LW1heFwiKSB7XG4gICAgICAgIGJvZHk6bm90KC5zdXJ2ZXlQYWdlLS1yZCkgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJvZHkuc3VydmV5UGFnZS0tcmQgJiB7XG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMzBweCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJvZHk6bm90KC5zdXJ2ZXlQYWdlLS1yZCkgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyM3B4IDAgMjlweDtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJvZHkuc3VydmV5UGFnZS0tcmQgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5vbmUge1xuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIxLlwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYm9keTpub3QoLnN1cnZleVBhZ2UtLXJkKSAmIHtcbiAgICAgICAgICAgICAgICAuYW5zd2VycyB7XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJvclwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jazogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiAgMCA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50d28ge1xuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIyLlwiO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50aHJlZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGJvZHk6bm90KC5zdXJ2ZXlQYWdlLS1yZCkgJiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQ0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiMy5cIjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0LW1heFwiKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uYW5zd2VycyB7XG4gICAgbGFiZWwsXG4gICAgaW5wdXQge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PW1vYmlsZVwiKSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJvZHkuc3VydmV5UGFnZS0tcmQgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+bW9iaWxlXCIpIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYm9keS5zdXJ2ZXlQYWdlLS1yZCAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXQtbWF4XCIpIHtcbiAgICAgICAgYm9keTpub3QoLnN1cnZleVBhZ2UtLXJkKSAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgYm9keS5zdXJ2ZXlQYWdlLS1yZCAmIHtcbiAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICRtYWluQ29sb3I7XG5cbiAgICAgICAgICAgIGJvZHk6bm90KC5zdXJ2ZXlQYWdlLS1yZCkgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYm9keS5zdXJ2ZXlQYWdlLS1yZCAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtYWluQ29sb3JTZWxlY3RlZDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUNvbG9yO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGJvZHk6bm90KC5zdXJ2ZXlQYWdlLS1yZCkgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnlDb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBib2R5LnN1cnZleVBhZ2UtLXJkICYge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRtYWluQ29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQsXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0LW1heFwiKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMXB4O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgIGJvZHk6bm90KC5zdXJ2ZXlQYWdlLS1yZCkgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBib2R5LnN1cnZleVBhZ2UtLXJkICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ0biB7XG4gICAgcGFkZGluZzogOHB4IDVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9bW9iaWxlJykge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7ICAgICAgICBcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4OyAgICAgICAgXG4gICAgfVxuXG4gICAgLnN1cnZleS13cmFwICYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7ICAgIFxuICAgICAgICBtYXJnaW46IDNweCAwOyAgICAgICAgXG4gICAgfVxuXG4gICAgLmZvb3RlciAmIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMzU1cHg7XG4gICAgfVxuXG4gICAgJiwgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIH1cblxuICAgICYuaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnNob3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuYm94ZXMudGhyZWUgJiB7XG4gICAgICAgIGJvdHRvbTogMTZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXQtbWF4XCIpIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGZhZGVpbiAycztcbiAgICAgICAgYW5pbWF0aW9uOiBmYWRlaW4gMnM7XG5cbiAgICAgICAgLnN1cnZleS13cmFwICYge1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxMDFweCk7XG4gICAgICAgICAgICB3aWR0aDogMjAycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyICYge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXQtbWF4XCIpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgLnN1cnZleS13cmFwICYge1xuICAgICAgICAgICAgbGVmdDogMjlweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyICYge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ2xhbmRzY2FwZScpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ncmFkaWVudCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRidXR0b25Db2xvclN0YXJ0LCAkYnV0dG9uQ29sb3JFbmQpO1xuICAgICAgICBib3JkZXItY29sb3I6ICR0ZXh0Q29sb3I7XG4gICAgfVxuXG4gICAgJi0tc29saWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbkNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRtYWluQ29sb3I7XG4gICAgfVxufVxuXG4uc2tpcCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldC1tYXhcIikge1xuICAgICAgICBjb2xvcjogJHRleHRDb2xvcjtcblxuICAgICAgICAuc3VydmV5LXdyYXAgJiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46IDM4cHggMjJweCAwO1xuXG4gICAgICAgICAgICAmLmNsaWNrZWQgeyBcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvb3RlciAmIHtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldC1tYXhcIikge1xuICAgICAgICAuc3VydmV5LXdyYXAgJiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMTZweCAwIDQ4cHggNzJweDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDBlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvb3RlciAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1haW5Db2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRpc2NsYWltZXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMTsgXG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEgKFwiPHRhYmxldC1tYXhcIikgeyAgICAgICAgXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4OyBcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSAoXCI+PXRhYmxldC1tYXhcIikgeyAgICAgICAgXG4gICAgICAgIC5ib3g6bm90KC50aHJlZSkgJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufSIsIjpyb290IHtcclxuICAgIC0tcGFnZUJhY2tncm91bmQ6IGhzbCgwLCAwJSwgMTAwJSk7XHJcbiAgICAtLXBhZ2VCYWNrZ3JvdW5kX2g6IDA7XHJcbiAgICAtLXBhZ2VCYWNrZ3JvdW5kX3M6IDAlO1xyXG4gICAgLS1wYWdlQmFja2dyb3VuZF9sOiAxMDAlO1xyXG5cclxuICAgIC0tbWFpbkNvbG9yOiBoc2woMjE2LCA1MyUsIDU3JSk7XHJcbiAgICAtLW1haW5Db2xvcl9oOiAyMTY7XHJcbiAgICAtLW1haW5Db2xvcl9zOiA1MyU7XHJcbiAgICAtLW1haW5Db2xvcl9sOiA1NyU7XHJcblxyXG4gICAgLS1wcmltYXJ5Q29sb3I6IGhzbCg3MCwgODIlLCA2NCUpO1xyXG4gICAgLS1wcmltYXJ5Q29sb3JfaDogNzA7XHJcbiAgICAtLXByaW1hcnlDb2xvcl9zOiA4MiU7XHJcbiAgICAtLXByaW1hcnlDb2xvcl9sOiA2NCU7XHJcblxyXG4gICAgLS10aXRsZUNvbG9yOiBoc2woMCwgMCUsIDAlKTtcclxuICAgIC0tdGl0bGVDb2xvcl9oOiAwO1xyXG4gICAgLS10aXRsZUNvbG9yX3M6IDAlO1xyXG4gICAgLS10aXRsZUNvbG9yX2w6IDAlO1xyXG5cclxuICAgIC0tdGV4dENvbG9yOiBoc2woMCwgMCUsIDAlKTtcclxuICAgIC0tdGV4dENvbG9yX2g6IDA7XHJcbiAgICAtLXRleHRDb2xvcl9zOiAwJTtcclxuICAgIC0tdGV4dENvbG9yX2w6IDAlO1xyXG5cclxuICAgIC0tQ1RBOiBoc2woMTIwLCAxMDAlLCAyMCUpO1xyXG4gICAgLS1DVEFfaDogMTIwO1xyXG4gICAgLS1DVEFfczogMTAwJTtcclxuICAgIC0tQ1RBX2w6IDIwJTtcclxufVxyXG5cclxuJHdoaXRlOiAjZmZmO1xyXG5cclxuJHBhZ2VCZzogdmFyKC0tcGFnZUJhY2tncm91bmQpO1xyXG4kcGFnZUJnT3BhY2l0eTogaHNsYSh2YXIoLS1wYWdlQmFja2dyb3VuZF9oKSwgdmFyKC0tcGFnZUJhY2tncm91bmRfcyksIHZhcigtLXBhZ2VCYWNrZ3JvdW5kX2wpLCAwLjk1KTtcclxuXHJcbiRtYWluQ29sb3I6ICAgICAgICAgdmFyKC0tbWFpbkNvbG9yKTtcclxuJG1haW5Db2xvclNlbGVjdGVkOiAgICBoc2wodmFyKC0tbWFpbkNvbG9yX2gpLCBjYWxjKHZhcigtLW1haW5Db2xvcl9zKSAtIDclKSwgY2FsYyh2YXIoLS1tYWluQ29sb3JfbCkgLSA5JSkpO1xyXG4kbWFpbkNvbG9yTGlnaHRlcjogICAgaHNsKGNhbGModmFyKC0tbWFpbkNvbG9yX2gpIC0gMTYpLCBjYWxjKHZhcigtLW1haW5Db2xvcl9zKSAtIDIlKSwgY2FsYyh2YXIoLS1tYWluQ29sb3JfbCkgKyAyMCUpKTtcclxuJG1haW5Db2xvck9wYWNpdHk6ICBoc2xhKHZhcigtLW1haW5Db2xvcl9oKSwgdmFyKC0tbWFpbkNvbG9yX3MpLCB2YXIoLS1tYWluQ29sb3JfbCksIDAuMyk7XHJcblxyXG4kcHJpbWFyeUNvbG9yOiAgICAgICAgdmFyKC0tcHJpbWFyeUNvbG9yKTtcclxuJHByaW1hcnlDb2xvck9wYWNpdHk6IGhzbGEodmFyKC0tcHJpbWFyeUNvbG9yX2gpLCB2YXIoLS1wcmltYXJ5Q29sb3JfcyksIHZhcigtLXByaW1hcnlDb2xvcl9sKSwgMC4zKTtcclxuXHJcbiR0aXRsZUNvbG9yOiAgICB2YXIoLS10aXRsZUNvbG9yKTtcclxuJHRleHRDb2xvcjogICAgIHZhcigtLXRleHRDb2xvcik7XHJcblxyXG4kaGlnaGxpZ2h0QmdDb2xvcjogaHNsKGNhbGModmFyKC0tdGVydGlhcnlDb2xvcl9oKSArIDEpLCB2YXIoLS10ZXJ0aWFyeUNvbG9yX3MpLCBjYWxjKHZhcigtLXRlcnRpYXJ5Q29sb3JfbCkgKyAyMyUpKTtcclxuXHJcbiRidXR0b25Db2xvckVuZDogICAgdmFyKC0tQ1RBKTtcclxuJGJ1dHRvbkNvbG9yU3RhcnQ6ICBoc2wodmFyKC0tQ1RBX2gpLCB2YXIoLS1DVEFfcyksIGNhbGModmFyKC0tQ1RBX2wpICsgMjAlKSk7IC8vLSBoc2woMTIwLCAxMDAlLCA0MCUpXHJcbiRidXR0b25HcmFkaWVudDogICAgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJGJ1dHRvbkNvbG9yU3RhcnQsICRidXR0b25Db2xvckVuZCk7XHJcbiRidXR0b25Db2xvcjogICAgICAgdmFyKC0tQ1RBKTtcclxuIiwiOnJvb3Qge1xyXG4gICAgLS1tYWluRm9udDogJ0hlbHZldGljYSBOZXVlLUxpZ2h0JywgJ0hlbHZldGljYSBOZXVlIExpZ2h0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgJ0x1Y2lkYSBHcmFuZGUnO1xyXG4gICAgLS1zZWNvbmRhcnlGb250OiAnSGVsdmV0aWNhIE5ldWUtTGlnaHQnLCAnSGVsdmV0aWNhIE5ldWUgTGlnaHQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCAnTHVjaWRhIEdyYW5kZSc7XHJcbn1cclxuXHJcbiRtYWluRm9udDogdmFyKC0tbWFpbkZvbnQpICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5Rm9udDogdmFyKC0tc2Vjb25kYXJ5Rm9udCkgIWRlZmF1bHQ7IiwiLmhlYWRlciB7XG4gIHBhZGRpbmctYmxvY2s6IDFlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xNik7XG5cbiAgYm9keTpub3QoLnN1cnZleVBhZ2UtLXJkKSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG5cbiAgYm9keS5zdXJ2ZXlQYWdlLS1yZCAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbkNvbG9yO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBbY2xhc3NePVwiY29udGFpbmVyXCJdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgYm9keTpub3QoLnN1cnZleVBhZ2UtLXJkKSAmIHtcbiAgICAgIFxuICAgIH1cbiAgXG4gICAgYm9keS5zdXJ2ZXlQYWdlLS1yZCAmIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAgICAgIFxuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyOyAgICBcblxuICAgIC5oZWFkZXItLXN2ZyAmIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1vYmlsZScpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNTBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTcwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci0taW1nICYge1xuICAgICAgd2lkdGg6IDE4N3B4O1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgIGhlaWdodDogMC4yMzMzZW07XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xyXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXHJcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xyXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxyXG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XHJcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XHJcbi8vXHJcbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XHJcbi8vXHJcbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcclxuLy9cclxuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXHJcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcclxuLy9cclxuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYG1vYmlsZWBcclxuLy8vICAkYnJlYWtwb2ludHM6ICgnbW9iaWxlJzogMzIwcHgpO1xyXG4vLy9cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgJ21vYmlsZSc6IDM3NXB4LFxyXG4gIC8vICd0YWJsZXQnOiA3NjhweCxcclxuICAvLyAnZGVza3RvcCc6IDEwMjRweFxyXG4gICdtb2JpbGUtbWlkJzogNTIwcHgsXHJcbiAgJ21vYmlsZS1tYXgnOiA1NzVweCxcclxuICAndGFibGV0JzogNzY4cHgsXHJcbiAgJ3RhYmxldC1taWQnOiA4OTBweCxcclxuICAndGFibGV0LW1heCc6IDk5MnB4LFxyXG4gICdkZXNrdG9wJzogMTAyNXB4LFxyXG4gICdkZXNrdG9wLW1pZCc6IDEyMDBweCxcclxuICAnZGVza3RvcC1tYXgnOiAxOTIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLSBtb2JpbGUgb25seVxyXG4vLy8vLSAoJzx0YWJsZXQnKSAtIG1heC13aWR0aDogNzY3cHhcclxuLy8tIHRhYmxldCBvbmx5XHJcbi8vLy8tICgnPj10YWJsZXQnLCAnPGRlc2t0b3AnKSAtIG1pbi13aWR0aDogNzY4cHg7IG1heC13aWR0aDogMTAyNHB4XHJcbi8vLSBkZXNrdG9wIG9ubHlcclxuLy8vLy0gKCc+PWRlc2t0b3AnKSAtIG1pbi13aWR0aDogMTAyNXB4XHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xyXG4vLy8gICk7XHJcbi8vL1xyXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuICAnc2NyZWVuJzogJ3NjcmVlbicsXHJcbiAgJ3ByaW50JzogJ3ByaW50JyxcclxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxyXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcclxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxyXG4gICdob3Zlcic6ICcoaG92ZXI6IGhvdmVyKScsXHJcbiAgJ2ZpbmUnOiAnKHBvaW50ZXI6IGZpbmUpJyxcclxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuICAncHgnOiAxLFxyXG4gICdlbSc6IDAuMDEsXHJcbiAgJ3JlbSc6IDAuMSxcclxuICAnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxyXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcclxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcclxuICAgIEBlcnJvciAkbWVzc2FnZTtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuICRtZXNzYWdlO1xyXG4gICAgJF86IG5vb3AoKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJG1lc3NhZ2U7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcclxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxyXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxyXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcclxuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXHJcbi8vL1xyXG5AZnVuY3Rpb24gbm9vcCgpIHt9XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xyXG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xyXG5cclxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcclxuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XHJcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xyXG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXHJcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcclxuICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gUGFyc2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuICB9IEBlbHNlIHtcclxuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuICBAaWYgbm90ICRpbnRlcnZhbCB7XHJcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuICB9XHJcblxyXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEByZXR1cm4gKCk7XHJcbiAgfVxyXG5cclxuICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcbiAgfVxyXG5cclxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaWdpdHM6IDA7XHJcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcbiAgICAgICRkaWdpdHM6IDE7XHJcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bW9iaWxlJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+bW9iaWxlJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+bW9iaWxlJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XHJcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcclxuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XHJcblxyXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xyXG5cclxuICBAY29udGVudDtcclxuXHJcbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmZvb3RlciB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXg6IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogNzAwcHg7XHJcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMTBweCAxMHB4IGNhbGMoMTBweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZUJnT3BhY2l0eTsgICBcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXQtbWF4XCIpIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXQtbWF4XCIpIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XHJcbiAgICB9XHJcbn1cclxuIl19 */
