@charset "UTF-8";@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 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 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 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 scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-webkit-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@-moz-keyframes scale{0%,to{transform:scale(1)}70%{transform:scale(2)}}@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 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 bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-webkit-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@-moz-keyframes bounce{0%,10%,40%,60%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-10px)}}@keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-webkit-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@-moz-keyframes bounce-with-distortion{0%,60%,to{transform:scale(1,1) translateY(0)}10%,40%{transform:scale(1.03,.97) translateY(0)}30%{transform:scale(.97,1.03) translateY(-25px)}50%{transform:scale(1,1) translateY(-10px)}}@keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-webkit-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}@-moz-keyframes bgColor-on-tap{0%,50%{background-color:red}to{background-color:transparent}}
/*!
 * Bootstrap v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
@font-face{font-family:"FontAwesome";src:url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}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{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}.rating [class^=fa]::before,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{min-height:100vh;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:1.3rem;font-weight:400;line-height:inherit;color:#5e5f61;letter-spacing:.05rem}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}[aria-expanded=true] .icon--plus .vertical,[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;display:block;width:100%;margin:0 auto}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{-webkit-appearance:button;*overflow:visible}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;margin:0}textarea{overflow:auto;vertical-align:top}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}html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}a,button{color:inherit}a{text-decoration:none}button{padding:0;background-color:transparent;border-width:0}.hide{display:none!important}.show{display:block!important}@media (min-width:1025px){html{font:62.5%/1.5 "Montserrat",sans-serif}}@media (max-width:1024px){html{font:48.9794%/1.5 "Montserrat",sans-serif}}h1{font-size:3.1rem}h1,h2,h3{line-height:1.25;color:#27377a}h2{letter-spacing:normal;font-size:2.4rem}h3{font-size:2rem;text-align:center}h6{font-size:1.5rem;line-height:1.75;color:#4780c2}p{letter-spacing:.1rem}p+p{margin-top:1.6rem}b,h1,h6{font-weight:600}em{font-style:italic}@media (hover:hover) and (pointer:fine){[role=button]{cursor:pointer}}.btn{display:flex;justify-content:center;align-items:center;flex-basis:auto;margin:0 auto}.btn [disabled],.btn.disabled,.icon{pointer-events:none}.icon{overflow:hidden;display:inline-block;width:1em;height:1em;margin:0;text-align:center;vertical-align:middle;font-size:1em;fill:#27377a;color:#27377a;box-sizing:content-box}.icon--collapse{position:absolute;top:60%;right:0;flex:0 0 auto;margin-left:.5rem;color:#27377a;transform:translateY(-50%);transition:transform 200ms ease-in-out}[aria-expanded=true] .icon--collapse{transform:translateY(-50%) rotate(-180deg);transition:transform 200ms ease-in-out}.icon--collapse,.icon--plus{stroke:currentColor}.rating{overflow:hidden;display:block;height:1em;font-size:17px;text-align:left;line-height:1em;letter-spacing:7px;color:#ffc86d}.rating [class^=fa]{padding-top:1em}.fa-rating{position:relative;font-family:"FontAwesome";white-space:nowrap;vertical-align:middle}.fa-rating::before{content:"";font-weight:400;vertical-align:baseline}.fa-rating.s-5::before{content:""}.fa-rating.s-4-5::before{content:""}.fa-rating.s-4::before{content:""}.fa-rating.s-3-5::before{content:""}.fa-rating.s-3::before{content:""}.fa-rating.s-2-5::before{content:""}.fa-rating.s-2::before{content:""}.fa-rating.s-1-5::before{content:""}.fa-rating.s-1:before{content:""}.fa-rating.s-0-5::before{content:""}.fa-rating.s-0::before{content:"　　　　　"}.fa-rating.blue{color:#2d81ea}.fa-rating.blue[data-rating],a,button{cursor:pointer}[class^=container]{max-width:990px;margin-right:auto;margin-left:auto}.container-lg{width:100%;padding-right:15px;padding-left:15px}footer,section{padding-top:4rem;padding-bottom:4rem}.video-js,video-js{background-color:#fff!important}.header{margin-top:.5rem;padding-top:1rem;padding-bottom:1rem}.header [class^=container]{display:flex;justify-content:space-between;align-items:center}.header img{width:30.2rem}.header__contact{display:flex;align-items:center;font-family:"Roboto",sans-serif;font-weight:300;font-size:1.5rem;line-height:1}.icon--contact{margin-right:1rem;font-size:2rem}.top-section{margin-top:4rem;padding-top:5rem;padding-bottom:5rem;background-image:url(https://dtjlhiahlv53j.cloudfront.net/assets/pro-plant/background.jpg);background-position:center top;background-repeat:no-repeat;background-size:cover}.top-section__title{margin-bottom:3rem}.top-section__header .bullets-list{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:space-between;width:calc(78% + 12rem);height:6.2rem}.bullets-list__item{display:flex;height:2.6rem;text-align:left}.top-section__header .bullets-list__item{align-items:flex-end}.icon--list-item{flex:0 0 auto;margin-right:1rem}.top-section__header .icon--list-item{font-size:2.4rem;color:#b9d537}.btn{background:#dfa15a;background:linear-gradient(to bottom,#dfa15a,#ed8924);display:inline-block;line-height:1;color:#fff;white-space:nowrap}.btn:hover{background:#e47825;background:linear-gradient(to bottom,#e47825,#ba5b12)}.btn[href]{width:28rem;margin:0 auto;padding:.7rem;font-size:2.4rem;font-weight:300;border:1px solid #e47825;border-radius:.2rem;box-shadow:0 1px 3px #666}.btn:not([href]){padding:.8rem .7rem .6rem;font-size:1.6rem;font-weight:400;border:1px solid #e47925;border-radius:.2rem;box-shadow:0 1px 3px #666}.cart{margin-top:0;padding-top:60px;padding-bottom:30px;text-align:center}.cart__sections{display:flex;justify-content:center;align-items:flex-start}.cart__section{background-color:#fff;box-shadow:0 0 1rem #8c8c83}.cart__section--club,.cart__section--money-back{flex:1 1 30%;margin-top:3.5rem}.cart__section--cart{position:relative;flex:1 1 40%;z-index:1;font-size:1.9rem}.cart--no-club .cart__section--club{display:none}.cart__title{position:relative;margin-bottom:2rem;padding-top:15px;font-weight:600;color:#fff;background-color:#27377a}.cart__title::before{content:"";position:absolute;bottom:-4rem;left:50%;transform:translateX(-50%);border-width:2rem 2.8rem;border-style:solid;border-color:#27377a transparent transparent}.cart__section--cart .cart__title{padding-bottom:24.9999px;font-size:2.2rem}.cart__section:not(.cart__section--cart) .cart__title{padding-bottom:15px}.cart__section:not(.cart__section--cart) .cart__title small{font-size:1.6rem;font-weight:300}.cart__body{padding-bottom:2rem}.cart__section--cart .cart__body,.cart__section--money-back .cart__body{padding-top:1rem}.cart__section--cart .cart__body,.cart__section--club .cart__body{padding-right:2rem;padding-left:2rem}.cart__section--money-back .cart__body{padding-right:.8rem;padding-left:.8rem;line-height:1.35}.cart__section--club .cart__body{padding-top:2rem}.cart__img{width:15rem;margin-top:.5rem;margin-bottom:2rem}.cart__products{display:flex;justify-content:center;align-items:center;margin-bottom:1rem;font-family:"Roboto",sans-serif;font-weight:300}.cart__product{padding:5px;background-color:#f2f2f2;border:2px solid #fff}.cart__product--1bottle,.cart__product--6bottles{flex:1 1 30%;padding-top:2.5rem;padding-bottom:2.5rem;font-size:1.8rem;line-height:1.4}.cart__product--1bottle{order:1}.cart__product--3bottles{flex:1 1 33%;margin:0 1rem;padding-top:3.5rem;padding-bottom:3.5rem;font-size:2.2rem;line-height:1.1}.cart__product--6bottles{order:-1}.cart__product.active{background-color:#e4f3fc;border-color:#4780c2}.cart__product-txt{display:block}.cart__summary{width:calc(100% + 4rem);margin-left:-2rem}.cart__details{height:17.2rem}.cart [class$=-value]{font-family:"Roboto",sans-serif}.cart__price-value{font-weight:300;text-decoration:line-through}.cart__member,.cart__save{font-size:2rem}.cart__member{display:none;color:#d00}.cart__summary--subscribe .cart__member{display:block}.cart__member-value,.cart__save-value{font-weight:500}.cart__current{padding-top:.5rem;padding-bottom:1.5rem;line-height:1.2}.cart__current::before{content:"";display:block;width:45px;margin:1rem auto;border-bottom:1px solid currentColor}.cart__current-value{font-size:4rem;font-weight:500}.cart__pay-period{display:none;font-size:3.6rem;font-weight:600}.cart__summary--subscribe .cart__pay-period{display:inline-block}.cart__pay-once{display:block;font-size:1.5rem;font-weight:500}.cart__summary--subscribe .cart__pay-once{display:none}.cart__shipping{padding-top:1rem;padding-bottom:1rem;font-family:"Roboto",sans-serif;font-size:1.5rem;font-weight:500;letter-spacing:.1rem;color:#4780c2}.cart__shipping .icon{margin-right:.5rem;font-size:2.6rem;color:currentColor}.cart__footer{position:relative;padding-right:2rem;padding-bottom:2rem;padding-left:2rem;text-align:left}.cart__label{-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;align-items:flex-start;font-size:0;font-weight:500;background:#d2e7f4;background:linear-gradient(#d2e7f4 0%,#dbeef9 33%,#e4f4fd 55%,#dbeef9 71%,#d2e7f4 100%);border-radius:1rem;box-shadow:2px 2px 5px 0 #dcdcdd}.cart__label:focus~.cart__disclaimer,.cart__label:hover~.cart__disclaimer{display:block}@media (hover:hover) and (pointer:fine){.cart__label{cursor:pointer}}@media (min-width:1025px){.cart__label{padding:1.5rem}}@media (max-width:1024px){.cart__label{width:calc(100% + 1rem);margin-left:-.5rem;padding:1.5rem 1rem}}.cart__label span{font-size:1.6rem;line-height:1.1}.cart__checkbox{display:flex;justify-content:center;align-items:center;flex:0 0 2.3rem;height:2.3rem;margin-right:1rem;background-color:#fff;border:1px solid #b7b7b7;border-radius:.5rem}.cart__checkbox .icon{display:none;font-size:2rem;color:#d00}.cart__checkbox.checked .icon{display:block}.cart__subscribe-text b:first-of-type{font-size:2rem;color:#27377a}.cart__subscribe-text b:last-of-type{color:#d00}.cart__disclaimer{display:none;position:absolute;padding:2rem 1.5rem;font-size:1rem;font-weight:600;letter-spacing:.5px;text-align:center;line-height:1.2;background-color:#fff;border:1px solid;border-radius:.5rem;cursor:pointer}@media (max-width:1339px){.cart__disclaimer{left:2rem;right:2rem}}@media (min-width:1340px){.cart__disclaimer{top:-5rem;right:-17rem;width:24.4rem}}.cart__disclaimer:focus,.cart__disclaimer:hover{display:block}.cart__links{line-height:inherit;letter-spacing:inherit;color:#5e5f61}.cart .cta{box-sizing:content-box}.cart__section--club .bullets-list{padding-left:1.5rem}.cart__section--club .bullets-list__item{font-size:1.5rem;font-weight:600}.cart__section--club .bullets-list__item+.bullets-list__item{margin-top:.5rem}.cart__section--club .icon--list-item{align-items:center;font-size:2rem;color:#d00}.about{background-color:#b9d537}.about [class^=container]{display:grid;grid-template-areas:". figure" "title figure" "content figure";grid-template-columns:auto 31.8rem;grid-column-gap:6rem}.about img{grid-area:figure}.about__text,.about__title{color:#fff}.about__title{grid-area:title}.about__title::after,.faq__title::after,.product__title::after{content:"";display:block;width:45px;margin:1rem 0 2.5rem;border-bottom:1px solid #fff}.about__text{grid-area:content;margin-bottom:10px;font-size:1.4rem;line-height:1.75}.faq__title::after,.product__title::after{border-bottom:1px solid #000}.faq-list__item{position:relative}.faq-list__item+.faq-list__item{margin-top:3rem}.faq-list__question{display:flex;align-items:baseline}.faq-list__answer{overflow:hidden;font-size:1.375rem;line-height:1.75}@media (max-width:767px){.faq-list__answer img{width:calc(100% + 1.2rem);margin-left:-.6rem}}@media (min-width:768px){.faq-list__answer img{width:auto;height:50rem}}.product{padding-top:6rem;padding-bottom:1rem}.product [class^=container]{display:flex;justify-content:flex-end;position:relative;padding-left:8rem;padding-right:8rem}.product [class^=container]::before{content:"";position:absolute;top:-6rem;left:15px;width:calc(100% - 30px);border-top:1px solid #000}.product__img-wrapper{position:relative;margin-right:3rem}.product__content-wrapper{display:flex;flex-direction:column;justify-content:flex-end;width:48rem}.product__badge{position:absolute;left:-25%;top:-.5rem;width:16rem}.product__img{width:auto;height:34.2rem;margin:0}.product__title{font-weight:300;line-height:1.5}.product__content{line-height:1.65}.product .cta-wrap{margin-top:1.5rem;margin-bottom:2rem}.product .cta{margin-left:0}.footer{border-top:2px solid #62676b}.footer p{line-height:1.75;letter-spacing:.08rem}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsImFic3RyYWN0cy9hbmltYXRpb25zL19mYWRlcy5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX21vdGlvbi5zY3NzIiwiYWJzdHJhY3RzL2FuaW1hdGlvbnMvX3NjaGVtYS5zY3NzIiwidmVuZG9ycy9ib290c3RyYXAvX3RyYW5zaXRpb25zLnNjc3MiLCJ2ZW5kb3JzL2Jvb3RzdHJhcC9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsInZlbmRvcnMvZm9udC1hd2Vzb21lLTQuNy4wL3Njc3MvX3BhdGguc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJjb21wb25lbnRzL19yYXRpbmcuc2NzcyIsImJhc2UvX3Jlc2V0LWV4dGVuZGVkLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJjb21wb25lbnRzL19pY29ucy5zY3NzIiwibGF5b3V0L19sYXlvdXQuc2NzcyIsImJhc2UvX2hlbHBlci1jbGFzc2VzLnNjc3MiLCJhYnN0cmFjdHMvZnVuY3Rpb25zL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCIuLi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvdG9wU2VjdGlvbi90b3BTZWN0aW9uLnNjc3MiLCIuLi9jb21wb25lbnRzL0NUQS9DVEEuc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX3NjaGVtYS5zY3NzIiwiLi4vY29tcG9uZW50cy9jYXJ0L2NhcnQuc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX3R5cG9ncmFwaHkuc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX2Z1bmN0aW9uYWxpdHkuc2NzcyIsIi4uL2NvbXBvbmVudHMvYWJvdXQvYWJvdXQuc2NzcyIsIi4uL2NvbXBvbmVudHMvRkFRL0ZBUS5zY3NzIiwiLi4vY29tcG9uZW50cy9wcm9kdWN0L3Byb2R1Y3Quc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCLEFDRUEsaUJBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFHWCx5QkFDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLHNCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFBS1gsa0JBQ0ksRSxDQUFPLFMsQ0FDUCxFLENBQU8sVyxBQUVYLDBCQUNJLEUsQ0FBTyxTLENBQ1AsRSxDQUFPLFcsQUFFWCx1QkFDSSxFLENBQU8sUyxDQUNQLEUsQ0FBTyxXLEFBSVgseUJBQ0ksRSxDQUdBLEUsQ0FITyxTLENBQ1AsRyxDQUNBLEcsQ0FETyxXLEFBSVgsaUNBQ0ksRSxDQUdBLEUsQ0FITyxTLENBQ1AsRyxDQUNBLEcsQ0FETyxXLEFBSVgsOEJBQ0ksRSxDQUdBLEUsQ0FITyxTLENBQ1AsRyxDQUNBLEcsQ0FETyxXLEFBTVgsd0JBQ0ksRSxDQUVBLEUsQ0FGTyxTLENBQ1AsRyxDQUFPLFcsQUFHWCxnQ0FDSSxFLENBRUEsRSxDQUZPLFMsQ0FDUCxHLENBQU8sVyxBQUdYLDZCQUNJLEUsQ0FFQSxFLENBRk8sUyxDQUNQLEcsQ0FBTyxXLEFDL0RYLGdCQUNJLEUsQ0FFQSxFLENBRk8sdUIsQ0FDUCxHLENBQU8sNkIsQUFHWCx3QkFDSSxFLENBRUEsRSxDQUZPLHVCLENBQ1AsRyxDQUFPLDZCLEFBR1gscUJBQ0ksRSxDQUVBLEUsQ0FGTyx1QixDQUNQLEcsQ0FBTyw2QixBQUtYLGtCQUNJLEUsQ0FBTyx3QixDQUNQLEUsQ0FBTyx5QixBQUVYLDBCQUNJLEUsQ0FBTyx3QixDQUNQLEUsQ0FBTyx5QixBQUVYLHVCQUNJLEUsQ0FBTyx3QixDQUNQLEUsQ0FBTyx5QixBQUlYLGtCQUNJLEUsQ0FBTyx1QixDQUNQLEUsQ0FBTyx3QixBQUVYLDBCQUNJLEUsQ0FBTyx1QixDQUNQLEUsQ0FBTyx3QixBQUVYLHVCQUNJLEUsQ0FBTyx1QixDQUNQLEUsQ0FBTyx3QixBQUlYLGlCQUNJLEUsQ0FFQSxFLENBRk8sa0IsQ0FDUCxHLENBQU8sb0IsQUFHWCx5QkFDSSxFLENBRUEsRSxDQUZPLGtCLENBQ1AsRyxDQUFPLG9CLEFBR1gsc0JBQ0ksRSxDQUVBLEUsQ0FGTyxrQixDQUNQLEcsQ0FBTyxvQixBQUtYLGdCQUNJLEUsQ0FFQSxHLENBRUEsRSxDQUpPLHVCLENBQ1AsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDRCLEFBR1gsd0JBQ0ksRSxDQUVBLEcsQ0FFQSxFLENBSk8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNEIsQUFHWCxxQkFDSSxFLENBRUEsRyxDQUVBLEUsQ0FKTyx1QixDQUNQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw0QixBQUtYLGlCQUNJLEUsQ0FHQSxFLENBSE8sdUIsQ0FDUCxHLENBQU8sMkIsQ0FDUCxHLENBQU8sNEIsQUFHWCx5QkFDSSxFLENBR0EsRSxDQUhPLHVCLENBQ1AsRyxDQUFPLDJCLENBQ1AsRyxDQUFPLDRCLEFBR1gsc0JBQ0ksRSxDQUdBLEUsQ0FITyx1QixDQUNQLEcsQ0FBTywyQixDQUNQLEcsQ0FBTyw0QixBQUtYLHFCQUNJLEUsQ0FBTyxrQixDQUNQLEUsQ0FBTyxvQixBQUVYLDZCQUNJLEUsQ0FBTyxrQixDQUNQLEUsQ0FBTyxvQixBQUVYLDBCQUNJLEUsQ0FBTyxrQixDQUNQLEUsQ0FBTyxvQixBQUlYLHVCQUNJLEUsQ0FHQSxFLENBSE8sc0IsQ0FDUCxFLENBQU8sc0IsQ0FDUCxHLENBQU8seUIsQUFHWCwrQkFDSSxFLENBR0EsRSxDQUhPLHNCLENBQ1AsRSxDQUFPLHNCLENBQ1AsRyxDQUFPLHlCLEFBR1gsNEJBQ0ksRSxDQUdBLEUsQ0FITyxzQixDQUNQLEUsQ0FBTyxzQixDQUNQLEcsQ0FBTyx5QixBQUtYLGtCQUNJLEUsQ0FDQSxHLENBRUEsRyxDQUVBLEcsQ0FDQSxFLENBTk8sdUIsQ0FFUCxHLENBQU8sMkIsQ0FFUCxHLENBQU8sNkIsQUFJWCwwQkFDSSxFLENBQ0EsRyxDQUVBLEcsQ0FFQSxHLENBQ0EsRSxDQU5PLHVCLENBRVAsRyxDQUFPLDJCLENBRVAsRyxDQUFPLDZCLEFBSVgsdUJBQ0ksRSxDQUNBLEcsQ0FFQSxHLENBRUEsRyxDQUNBLEUsQ0FOTyx1QixDQUVQLEcsQ0FBTywyQixDQUVQLEcsQ0FBTyw2QixBQU1YLGtDQUNJLEUsQ0FLQSxHLENBQ0EsRSxDQU5PLGtDLENBQ1AsRyxDQUVBLEcsQ0FGTyx1QyxDQUNQLEcsQ0FBTywyQyxDQUVQLEcsQ0FBTyx3QyxBQUlYLDBDQUNJLEUsQ0FLQSxHLENBQ0EsRSxDQU5PLGtDLENBQ1AsRyxDQUVBLEcsQ0FGTyx1QyxDQUNQLEcsQ0FBTywyQyxDQUVQLEcsQ0FBTyx3QyxBQUlYLHVDQUNJLEUsQ0FLQSxHLENBQ0EsRSxDQU5PLGtDLENBQ1AsRyxDQUVBLEcsQ0FGTyx1QyxDQUNQLEcsQ0FBTywyQyxDQUVQLEcsQ0FBTyx3QyxBQzdMWCwwQkFDSSxFLENBQ0EsRyxDQURPLG9CLENBRVAsRSxDQUFPLDhCLEFBRVgsa0NBQ0ksRSxDQUNBLEcsQ0FETyxvQixDQUVQLEUsQ0FBTyw4QixBQUVYLCtCQUNJLEUsQ0FDQSxHLENBRE8sb0IsQ0FFUCxFLENBQU8sOEI7Ozs7Ozs7QUNqQlgsSyxDQ2dCTSw4QixDQUlBLHVDRHBCTixLLENDcUJRLGlCLEFEbEJOLFVBQUEsTSxDQUNFLFMsQ0FLRixjQUFBLE0sQ0FDRSxZLENBSUosVyxDQUNFLGlCLENBQ0EsUSxDQUNBLGUsQ0NESSwyQixDQUlBLHVDRE5OLFcsQ0NPUSxpQjs7Ozs7QUNsQlIsV0FDRSx5QixDQUNBLDJGLENBQ0Esb2pCLENBTUEsZSxDQUNBLGtCQ1JGLEMsQ0FBQSxJLENBQUEsTyxDQUFBLE8sQ0FBQSxNLENBQUEsTyxDQUFBLEssQ0FBQSxLLENBQUEsQyxDQUFBLEcsQ0FBQSxVLENBQUEsSSxDQUFBLE0sQ0FBQSxPLENBQUEsTSxDQUFBLEksQ0FBQSxJLENBQUEsRSxDQUFBLEcsQ0FBQSxPLENBQUEsRyxDQUFBLEcsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxLLENBQUEsVSxDQUFBLE0sQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxFLENBQUEsRSxDQUFBLEUsQ0FBQSxNLENBQUEsTSxDQUFBLEksQ0FBQSxDLENBQUEsTSxDQUFBLEcsQ0FBQSxHLENBQUEsSyxDQUFBLEUsQ0FBQSxJLENBQUEsSSxDQUFBLEcsQ0FBQSxNLENBQUEsRSxDQUFBLE0sQ0FBQSxDLENBQUEsRyxDQUFBLEMsQ0FBQSxJLENBQUEsQyxDQUFBLEksQ0FBQSxPLENBQUEsSyxDQUFBLEksQ0FBQSxNLENBQUEsTSxDQUFBLEcsQ0FBQSxPLENBQUEsRyxDQUFBLEssQ0FBQSxLLENBQUEsRSxDQUFBLEssQ0FBQSxFLENBQUEsSyxDQUFBLEksQ0FBQSxFLENBQUEsRSxDQUFBLEMsQ0FBQSxFLENBQUEsRyxDQUFBLEssQ0FhRSxRLENBQ0QsUyxDQUNBLFEsQ0FFQSxZLENBQ0EsdUIsQ0FsQkQsRyxDQWNDLFMsQ0FHQSxZLENBakJELFEsQ0FBQSxNLENBQUEsSSxDQUFBLE0sQ0FpQkMsWSxDQUNBLHVCLENBbEJELE0sQ0FBQSxJLENBY0MsUyxDQUNBLFEsQ0FmRCxNLENBYUUsUSxDQVNGLE0sQ0FDSSxTLENDcEJJLDJCLENEd0JSLE8sQ0FBQSxLLENBQUEsTyxDQUFBLFUsQ0FBQSxNLENBQUEsTSxDQUFBLE0sQ0FBQSxNLENBQUEsSSxDQUFBLEcsQ0FBQSxPLENBRUMsYSxDQUdELEksQ0V2QkksZ0IsQ0FDQSxzQixDQUF5QixrQyxDQUFxQyxpQyxDQUU5RCxpQyxDQ2dCQSxnQixDQUNBLGUsQ0FBa0MsbUIsQ0FBc0IsYSxDQUFtQixxQixDSE8vRSxFLENBQUEsRSxDQUNDLGUsQ0FHRCxVLENBQUEsQyxDQUNDLFcsQ0FHRCxnQixDQUFBLGlCLENBQUEsTyxDQUFBLFEsQ0FHQyxZLENBR0QsSyxDQTRRSSx3QixDQUNBLGdCLENBeFFKLGdELENBQUEsNkMsQ0FBQSxpRCxDQUFBLHFELENBSUksdUIsQ0FDQSxvQixDQUdKLGtCLENBRUksb0IsQ0FnQkosSyxDQUFBLE0sQ0FBQSxLLENBR0ksb0IsQ0FDQSxlLENBQ0EsTyxDQUNBLGMsQ0FRSixVQUFBLFcsQ0FDSSxZLENBQ0EsUSxDSXpFUSwwQyxDSmlGWixRLENBQ0ksWSxDQVVKLEksQ0FDSSxjLENBQ0EsNkIsQ0FDQSx5QixDQU9KLE8sQ0FDSSxtQixDQU9KLFEsQ0FBQSxPLENBRUksUyxDQVFKLEcsQ0FDSSxRLENBQ0EsOEIsQ0FvTUEscUIsQ0sxVUEsYSxDQUFnQixVLENBQWEsYSxDTDZKakMsUSxDQVlBLE0sQ0FDSSxRLENBQ0EsUyxDQWRKLFEsQ0FoQkEsTSxDQVFBLEksQ0EwTEksUSxDQXRLSixNLENBR0ksa0IsQ0FDQSxpQixDQVVKLE0sQ0FBQSxLLENBQUEsTSxDQU1JLHVCLENBTkosTSxDQUFBLEssQ0FBQSxNLENBQUEsUSxDQUlJLGMsQ0FDQSxRLENBRUEsc0IsQ0FRSixNLENBQUEsSyxDQUVJLGtCLENBVUosTSxDQUFBLE0sQ0FFSSxtQixDQWFKLE0sQ0FJSSx5QixDQUVBLGlCLENBTkosdUIsQ0FBQSxpQixDQUFBLGtCLENBSUkseUIsQ0FDQSxjLENBQ0EsaUIsQ0FPSixnQixDQUFBLG9CLENBRUksYyxDQVVKLG9CLENBQUEsaUIsQ0FFSSxxQixDQUNBLFMsQ0FDQSxZLENBQ0EsVyxDQVNKLGtCLENBQ0ksNEIsQ0FDQSwyQixDQUNBLDhCLENBQ0Esc0IsQ0FRSixnRCxDQUFBLDZDLENBRUksdUIsQ0FPSix3QixDQUFBLHVCLENBRUksUSxDQUNBLFMsQ0VuUnNCLFEsQ0YyUjFCLFEsQ0FDSSxhLENBQ0Esa0IsQ0FZSixJLENBQUEsSyxDQUFBLE0sQ0FkQSxRLENBbUJJLFUsQ0FJSixnQixDQUNJLGtCLENBQ0EsZ0IsQ0FHSixXLENBQ0ksa0IsQ0FDQSxnQixDQWFKLFEsQ0FDSSxlLENBR0osWSxDQUNJLGEsQ0FDQSxlLENBQ0EsVSxDQUNBLGMsQ0V6V0osSSxDQUNJLHFCLENBSUosQyxDQUFBLE8sQ0FBQSxRLENBRVcsa0IsQ0FXWCxDLENBRUEsTSxDQUVtQyxhLENBSm5DLEMsQ0FBSSxvQixDQUVKLE0sQ0FDSSxTLENBQ0EsNEIsQ0FBK0MsYyxDSXpCbkQsSyxDQUNJLHNCLENBR0osSyxDQUNJLHVCLENDc2pCQSwwQkp2aUJKLEksQ0FJUSx3QyxBSW1pQkosMEJKdmlCSixJLENBUVEsMkNBU1IsRSxDQUNJLGdCLENBREosRSxDQUlBLEUsQ0FJQSxFLENBQ3lDLGdCLENBQW1CLGEsQ0FMNUQsRSxDQUMwQyxxQixDQUF0QyxnQixDQUdKLEUsQ0FDSSxjLENBQWlCLGlCLENBR3JCLEUsQ0FDSSxnQixDQUF3RCxnQixDQUFtQixhLENBRy9FLEMsQ0FDSSxvQixDQUVBLEcsQ0FDSSxpQixDQWtCUixDLENBdENBLEUsQ0FZQSxFLENBMkJJLGUsQ0FHSixFLENBQ0ksaUIsQ0kyZUEsd0NDMWpCSixhLENBR1EsZ0JBSVIsSSxDQUNJLFksQ0FBZSxzQixDQUF5QixrQixDQUFxQixlLENBQWtCLGEsQ0FFL0UsZSxDQUFBLGEsQ0pISixLLENJSVEsbUIsQ0pKUixLLENBQ0ksZSxDQUFrQixvQixDQUF1QixTLENBQVksVSxDQUFhLFEsQ0FDbEUsaUIsQ0FBb0IscUIsQ0FBd0IsYSxDQUM1QyxZLENBQ0EsYSxDQUNBLHNCLENBRUEsZSxDQUNJLGlCLENBQW9CLE8sQ0FBVSxPLENBQVUsYSxDQUFnQixpQixDQUN4RCxhLENBQStDLDBCLENBQTZCLHNDLENBRTVFLG9DLENBQ0ksMEMsQ0FDQSxzQyxDQU5SLGUsQ0FVQSxXLENBQ0ksbUIsQ0h6QlIsTyxDQUNJLGUsQ0FBa0IsYSxDQUFnQixVLENBQ2xDLGMsQ0FBaUIsZSxDQUFrQixlLENBQWtCLGtCLENBQXFCLGEsQ0FFMUUsbUIsQ0FDSSxlLENBT1IsVSxDQUNJLGlCLENBQ0EseUIsQ0FBNEIsa0IsQ0FBcUIscUIsQ0FFakQsa0IsQ0FDSSxlLENBQ0EsZSxDQUFrQix1QixDQUtsQixzQixDQUNJLGUsQ0FLSix3QixDQUNJLGUsQ0FLSixzQixDQUNJLGUsQ0FLSix3QixDQUNJLGUsQ0FLSixzQixDQUNJLGUsQ0FLSix3QixDQUNJLGUsQ0FLSixzQixDQUNJLGUsQ0FLSix3QixDQUNJLGUsQ0FLSixxQixDQUNJLGUsQ0FLSix3QixDQUNJLGUsQ0FLSixzQixDQUNJLGUsQ0FJUixlLENBQ0ksYSxDQUdKLDRCLENDeEVKLEMsQ0FFQSxNLENEdUVRLGMsQ0k5RlIsa0IsQ0FDRyxlLENBQStDLGlCLENBQW9CLGdCLENBR3RFLGEsQ0FDSSxVLENBQWEsa0IsQ0FBdUMsaUIsQ0FPeEQsTSxDQUFBLE8sQ0FDSSxnQixDQUE2QyxtQixDQU9qRCxTLENBQUEsUSxDQUVJLCtCLENJcEJKLE8sQ0FDSSxnQixDQUEyQyxnQixDQUE0QyxtQixDQUV2RiwwQixDQUNJLFksQ0FBZSw2QixDQUFnQyxrQixDQU9uRCxXLENBQ0ksYSxDQUdKLGdCLENBQ0ksWSxDQUFlLGtCLENBQ2YsK0IsQ0FBa0QsZSxDQUFrRCxnQixDQUErQyxhLENBS3ZKLGMsQ0FDSSxpQixDQUNBLGMsQ0N4QlIsWSxDQUNJLGUsQ0FBZ0QsZ0IsQ0FBaUQsbUIsQ0FFN0YsMEYsQ0FDQSw4QixDQUNBLDJCLENBQ0EscUIsQ0FPSixtQixDQUNJLGtCLENBS0osa0MsQ0FDSSxZLENBQWUscUIsQ0FBd0IsYyxDQUFpQiw2QixDQUFnQyx1QixDQUE2SCxhLENBR3pOLG1CLENBQ0ksWSxDQUFlLGEsQ0FDZixlLENBRUEsd0MsQ0FDSSxvQixDQU1SLGdCLENBQ0ksYSxDQUFnQixpQixDQUVoQixxQyxDQUNJLGdCLENBQTZELGEsQ0N0Q3pFLEksQ0NHSSxrQixDQUVJLHFELENESEosb0IsQ0FDQSxhLENBQW1FLFUsQ0FBeUMsa0IsQ0FFNUcsVSxDQ0ZBLGtCLENBRUkscUQsQ0RJSixVLENBQ0ksVyxDQUE0QyxhLENBQWdCLGEsQ0FDNUQsZ0IsQ0FBMEQsZSxDQUE4RCx3QixDQUE0RyxtQixDQUFrRCx5QixDQUcxUixTQUFBLE8sQ0FDSSx5QixDQUNBLGdCLENBQStELGUsQ0FBbUUsd0IsQ0FBOEcsbUIsQ0FBdUQseUIsQ0VoQi9TLEssQ0FDSSxZLENBQWUsZ0IsQ0FBOEMsbUIsQ0FDN0QsaUIsQ0FFQSxlLENBQ0ksWSxDQUFlLHNCLENBQXlCLHNCLENBRzVDLGMsQ0FDSSxxQixDQUEwQiwyQixDQUUxQixvQixDQUFBLDBCLENBQ0ksWSxDQUFlLGlCLENBR25CLG9CLENBQ0ksaUIsQ0FBb0IsWSxDQUFlLFMsQ0FDbkMsZ0IsQ0FJQSxtQyxDQUNJLFksQ0FLWixZLENBQ0ksaUIsQ0FBb0Isa0IsQ0FBbUUsZ0IsQ0FDdkYsZSxDQUFpRCxVLENBQ2pELHdCLENBRUEsb0IsQ0FDSSxVLENBQWEsaUIsQ0FBb0IsWSxDQUFvRSxRLENBQVcsMEIsQ0FFNUcsd0IsQ0FDQSxrQixDQUlBLDRDLENBSVIsaUMsQ0FDSSx3QixDQUNBLGdCLENBR0osbUJBQUEsa0MsQ0FDSSxtQixDQUVBLG1CQUFBLHdDLENBQ0ksZ0IsQ0FBbUQsZSxDQUsvRCxXLENBQ0ksbUIsQ0FFQSxnQyxDQUFBLHNDLENBRUksZ0IsQ0FHSixnQyxDQUFBLGdDLENBR1Esa0IsQ0FDQSxpQixDQUlSLHNDLENBRVEsbUIsQ0FDQSxrQixDQUVKLGdCLENBR0osZ0MsQ0FDSSxnQixDQUlSLFUsQ0FDSSxXLENBQXVDLGdCLENBQThELGtCLENBR3pHLGUsQ0FDSSxZLENBQWUsc0IsQ0FBeUIsa0IsQ0FBcUIsa0IsQ0FDN0QsK0IsQ0FBcUQsZSxDQUd6RCxjLENBQ0ksVyxDQUNBLHdCLENBQXFELHFCLENBRXJELHVCLENBQUEsd0IsQ0FDSSxZLENBQWUsa0IsQ0FBcUIscUIsQ0FDcEMsZ0IsQ0FBbUQsZSxDQUd2RCx1QixDQUNJLE8sQ0FHSix3QixDQUNJLFksQ0FBZSxhLENBQWdELGtCLENBQXFCLHFCLENBQ3BGLGdCLENBQTZDLGUsQ0FHakQsd0IsQ0FDSSxRLENBR0oscUIsQ0FDSSx3QixDQUFvRCxvQixDQUk1RCxrQixDQUNJLGEsQ0FHSixjLENBQ0ksdUIsQ0FBMEUsaUIsQ0FHOUUsYyxDQUNJLGMsQ0FPSixxQixDQUNJLCtCLENBR0osa0IsQ0FDSSxlLENBQ0EsNEIsQ0FHSixhLENBQUEsVyxDQUVJLGMsQ0FHSixhLENBQ0ksWSxDQUNBLFUsQ0FFQSx1QyxDQUNJLGEsQ0FJUixtQixDQUFBLGlCLENBQ0ksZSxDQUdKLGMsQ0FHUSxpQixDQUNBLHFCLENBRUosZSxDQzdLSixzQixDQUNJLFUsQ0FDQSxhLENBQWdCLFUsQ0FBZSxnQixDQUMvQixvQyxDRDZLSixvQixDQUNJLGMsQ0FBa0QsZSxDQUd0RCxpQixDQUNJLFksQ0FBZSxnQixDQUFxRCxlLENBRXBFLDJDLENBQ0ksb0IsQ0FJUixlLENBQ0ksYSxDQUNBLGdCLENBQW1CLGUsQ0FFbkIseUMsQ0FDSSxZLENBSVIsZSxDQUNJLGdCLENBQTJELG1CLENBQzNELCtCLENBQXFELGdCLENBQXdELGUsQ0FBNEQsb0IsQ0FBdUIsYSxDQUVoTSxxQixDQUNJLGtCLENBQ0EsZ0IsQ0FBbUIsa0IsQ0FJM0IsYSxDQUNJLGlCLENBRUksa0IsQ0FDQSxtQixDQUNBLGlCLENBRUosZSxDQUdKLFksQ0V4Tkgsd0IsQ0FDQSxxQixDQUNBLGdCLENGd05PLFksQ0FBZSxzQixDQUNmLFcsQ0FBYyxlLENBQWtDLGtCLENBQTRDLHVGLENBQWtELGtCLENBQW1ELGdDLENBRzdMLG9DLENBQUEsb0MsQ0FDSSxhLENOMFZaLHdDTWpXQSxZLENBWVEsZ0IsQU5xVlIsMEJNaldBLFksQ0FnQlEsZ0IsQU5pVlIsMEJNaldBLFksQ0FvQlEsdUIsQ0FBZ0Usa0IsQ0FBOEQscUJBR2xJLGlCLENBQ0ksZ0IsQ0FBbUIsZSxDQUkzQixlLENBQ0ksWSxDQUFlLHNCLENBQXlCLGtCLENBQXFCLGUsQ0FBb0MsYSxDQUFrQyxpQixDQUNuSSxxQixDQUEwQyx3QixDQUFxRSxtQixDQUUvRyxxQixDQUNJLFksQ0FDQSxjLENBQXFDLFUsQ0FJckMsNkIsQ0FDSSxhLENBT0oscUMsQ0FDSSxjLENBQWtELGEsQ0FHdEQsb0MsQ0FDSSxVLENBS1osaUIsQ0FDSSxZLENBQWUsaUIsQ0FBb0IsbUIsQ0FDbkMsYyxDQUFpRCxlLENBQXFELG1CLENBQXlELGlCLENBQW9CLGUsQ0FBa0IscUIsQ0FBMkMsZ0IsQ0FBcUMsbUIsQ0FBNEMsYyxDTnVTclUsMEJNelNBLGlCLENBS1EsUyxDQUFxRCxZLEFOb1M3RCwwQk16U0EsaUIsQ0FTUSxTLENBQVksWSxDQUFlLGVBRy9CLHVCLENBQUEsdUIsQ0FDSSxhLENBSVIsWSxDQUNJLG1CLENBQXNCLHNCLENBQXlCLGEsQ0FHbkQsVSxDQUNJLHNCLENBS0osa0MsQ0FDSSxtQixDQUlBLHdDLENBQ0ksZ0IsQ0FBc0QsZSxDQUl0RCw0RCxDQUNJLGdCLENBUVIscUMsQ0FDSSxrQixDQUNBLGMsQ0FBc0QsVSxDR2hVbEUsTSxDQUNJLHdCLENBRUEseUIsQ0FDSSxZLENBQ0EsOEQsQ0FDQSxrQyxDQUNBLG9CLENBR0osVSxDQUNJLGdCLENBR0osWSxDQUFBLGEsQ0FFSSxVLENBR0osYSxDQUVJLGUsQ0Z0Qkosb0IsQ0FBQSxrQixDQUFBLHNCLENBQ0ksVSxDQUNBLGEsQ0FBZ0IsVSxDQUFlLG9CLENBQy9CLDRCLENFc0JKLFksQ0FDSSxpQixDQUFvQixrQixDQUNwQixnQixDQUE2QyxnQixDRjNCakQsa0IsQ0FBQSxzQixDQUdJLDRCLENHTUosZSxDQUNJLGlCLENBTUEsK0IsQ0FDSSxlLENBSVIsbUIsQ0FDSSxZLENBQWUsb0IsQ0F3Qm5CLGlCLENBQ0ksZSxDQUFrQixrQixDQUE2QyxnQixDVjJnQm5FLHlCVXpnQkkscUIsQ0FFUSx5QixDQUF1RCxvQixBVnVnQm5FLHlCVXpnQkkscUIsQ0FNUSxVLENBQWEsY0N0RDdCLFEsQ0FDSSxnQixDQUFtRCxtQixDQUVuRCwyQixDQUNJLFksQ0FBZSx3QixDQUEyQixpQixDQUMxQyxpQixDQUFrRCxrQixDQUVsRCxtQyxDQUNJLFUsQ0FDQSxpQixDQUFvQixTLENBQStDLFMsQ0FDbkUsdUIsQ0FBMkMseUIsQ0FJbkQscUIsQ0FDSSxpQixDQUFvQixpQixDQUd4Qix5QixDQUNJLFksQ0FBZSxxQixDQUF3Qix3QixDQUEyQixXLENBR3RFLGUsQ0FDSSxpQixDQUFvQixTLENBQVksVSxDQUFhLFcsQ0FHakQsYSxDQUNLLFUsQ0FBYSxjLENBQWlCLFEsQ0FHbkMsZSxDQUVJLGUsQ0FBaUMsZSxDQUdyQyxpQixDQUNJLGdCLENBR0osa0IsQ0FDSSxpQixDQUEwRCxrQixDQUc5RCxhLENBQ0ksYSxDQzVDUixPLENBQ0ksNEIsQ0FFQSxTLENBQ0ksZ0IsQ0FBbUIscUIiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGtleWZyYW1lcyBibGluayB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmsge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGJsaW5rIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYXBwZWFyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGFwcGVhciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkAtbW96LWtleWZyYW1lcyBhcHBlYXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGFwcGVhci1oYW1tZXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBhcHBlYXItaGFtbWVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5ALW1vei1rZXlmcmFtZXMgYXBwZWFyLWhhbW1lciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBibGluay1jdXJzb3Ige1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rLWN1cnNvciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5ALW1vei1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMganVtcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGp1bXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbkAtbW96LWtleWZyYW1lcyBqdW1wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHdlaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ4ZGVnKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHdlaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ4ZGVnKTtcbiAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIHdlaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ4ZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBoYW1tZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtbWVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTtcbiAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGhhbW1lciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2NhbGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkAtbW96LWtleWZyYW1lcyBzY2FsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGhvb3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gIH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBob29wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xuICB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xuICB9XG59XG5ALW1vei1rZXlmcmFtZXMgaG9vcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBkYW5zZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBkYW5zZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gIH1cbn1cbkAtbW96LWtleWZyYW1lcyBkYW5zZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaGFtYnVyZ2VyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhhbWJ1cmdlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbn1cbkAtbW96LWtleWZyYW1lcyBoYW1idXJnZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdHRsZURhbmNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbiAgfVxuICA5NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdHRsZURhbmNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbiAgfVxuICA5NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGJvdHRsZURhbmNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbiAgfVxuICA5NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNXB4KTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjVweCk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1cHgpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlLXdpdGgtZGlzdG9ydGlvbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsIDAuOTcpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcsIDEuMDMpIHRyYW5zbGF0ZVkoLTI1cHgpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLCAwLjk3KSB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Utd2l0aC1kaXN0b3J0aW9uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMywgMC45NykgdHJhbnNsYXRlWSgwKTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NywgMS4wMykgdHJhbnNsYXRlWSgtMjVweCk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsIDAuOTcpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLCAwLjk3KSB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3LCAxLjAzKSB0cmFuc2xhdGVZKC0yNXB4KTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMywgMC45NykgdHJhbnNsYXRlWSgwKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJnQ29sb3Itb24tdGFwIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMCk7XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiZ0NvbG9yLW9uLXRhcCB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gIH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDApO1xuICB9XG59XG5ALW1vei1rZXlmcmFtZXMgYmdDb2xvci1vbi10YXAge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwKTtcbiAgfVxufVxuLyohXG4gKiBCb290c3RyYXAgdjQuNS4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICogQ29weXJpZ2h0IDIwMTEtMjAyMCBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbiAqIENvcHlyaWdodCAyMDExLTIwMjAgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuLmZhZGUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5mYWRlIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4uZmFkZTpub3QoLnNob3cpIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmNvbGxhcHNlOm5vdCguc2hvdykge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgZWFzZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jb2xsYXBzaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi8qIVxuICogIEZvbnQgQXdlc29tZSA0LjcuMCBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lXG4gKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSlcbiAqL1xuLyogRk9OVCBQQVRIXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gIHNyYzogdXJsKFwiLy9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC43LjAvZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj00LjcuMFwiKTtcbiAgc3JjOiB1cmwoXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj00LjcuMFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC43LjAvZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmMj92PTQuNy4wXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmY/dj00LjcuMFwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9mb250cy9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PTQuNy4wXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9mb250cy9mb250YXdlc29tZS13ZWJmb250LnN2Zz92PTQuNy4wI2ZvbnRhd2Vzb21lcmVndWxhclwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXG4gICB2Mi4wLW1vZGlmaWVkIHwgMjAxMTAxMjZcbiAgIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG4qL1xuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogbWFrZSBzdXJlIHRvIHNldCBzb21lIGZvY3VzIHN0eWxlcyBmb3IgYWNjZXNzaWJpbGl0eSAqL1xuOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUsIHEge1xuICBxdW90ZXM6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBjb250ZW50OiBub25lO1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vKipcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICpkaXNwbGF5OiBpbmxpbmU7XG4gICp6b29tOiAxO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgNy84LzksIEZpcmVmb3ggMywgYW5kIFNhZmFyaSA0LlxuICogS25vd24gaXNzdWU6IG5vIElFIDYgc3VwcG9ydC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogICAgYGVtYCB1bml0cy5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKiAyLiBJbXByb3ZlIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUUgNy5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA2LzcvOC85LCBTYWZhcmkgNSwgYW5kIE9wZXJhIDExLlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuZm9ybSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA2LzcvOC85LlxuICogMi4gQ29ycmVjdCB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMiAqL1xuICAqbWFyZ2luLWxlZnQ6IC03cHg7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LCBGaXJlZm94IDMrLCBTYWZhcmkgNSxcbiAqICAgIGFuZCBDaHJvbWUuXG4gKiAzLiBJbXByb3ZlIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAzICovXG4gICp2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDMrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBDaHJvbWUsIFNhZmFyaSA1KywgYW5kIElFIDYrLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9YnV0dG9uXSxcbmlucHV0W3R5cGU9cmVzZXRdLFxuaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovXG4gICpvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogNCAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cbmlucHV0W3R5cGU9Y2hlY2tib3hdLFxuaW5wdXRbdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbiAgKmhlaWdodDogMTNweDtcbiAgLyogMyAqL1xuICAqd2lkdGg6IDEzcHg7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogb24gT1MgWC5cbiAqL1xuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCAzKy5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDYvNy84LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmh0bWwsXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6ICMyMjI7XG59XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uY2hyb21lZnJhbWUge1xuICBtYXJnaW46IDAuMmVtIDA7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiAwLjJlbSAwO1xufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIGh0bWwge1xuICAgIGZvbnQ6IG5vcm1hbCA2Mi41JS8xLjUgXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgaHRtbCB7XG4gICAgZm9udDogbm9ybWFsIDQ4Ljk3OTQlLzEuNSBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgfVxufVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzVlNWY2MTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAzLjFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjb2xvcjogIzI3Mzc3YTtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGNvbG9yOiAjMjczNzdhO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6ICMyNzM3N2E7XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBjb2xvcjogIzQ3ODBjMjtcbn1cblxucCB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFyZW07XG59XG5wICsgcCB7XG4gIG1hcmdpbi10b3A6IDEuNnJlbTtcbn1cblxuYiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbmVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIFtyb2xlPWJ1dHRvbl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4uYnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmJ0bi5kaXNhYmxlZCwgLmJ0biBbZGlzYWJsZWRdIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5pY29uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiBkZWZhdWx0LXNpemUgKi9cbiAgZmlsbDogIzI3Mzc3YTtcbiAgLyogZGVmYXVsdCBjb2xvciAqL1xuICBjb2xvcjogIzI3Mzc3YTtcbiAgLyogZGVmYXVsdCBjb2xvciB3aGVuIGN1cnJlbnRDb2xvciBpcyB1c2VkICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5pY29uLS1jb2xsYXBzZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2MCU7XG4gIHJpZ2h0OiAwO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29sb3I6ICMyNzM3N2E7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLWluLW91dDtcbn1cblthcmlhLWV4cGFuZGVkPXRydWVdIC5pY29uLS1jb2xsYXBzZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTE4MGRlZyk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLWluLW91dDtcbn1cbi5pY29uLS1wbHVzIHtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG59XG5bYXJpYS1leHBhbmRlZD10cnVlXSAuaWNvbi0tcGx1cyAudmVydGljYWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucmF0aW5nIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMWVtO1xuICBmb250LXNpemU6IDE3cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGxldHRlci1zcGFjaW5nOiA3cHg7XG4gIGNvbG9yOiAjRkZDODZEO1xufVxuLnJhdGluZyBbY2xhc3NePWZhXSB7XG4gIHBhZGRpbmctdG9wOiAxZW07XG59XG4ucmF0aW5nIFtjbGFzc149ZmFdOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZhLXJhdGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5mYS1yYXRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CF74CF74CF74CF74CFXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLmZhLXJhdGluZy5zLTU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CF74CF74CF74CF74CFXCI7XG59XG4uZmEtcmF0aW5nLnMtNC01OjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ahe+Ahe+Ahe+Ahe+Eo1wiO1xufVxuLmZhLXJhdGluZy5zLTQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CF74CF74CF74CF74CGXCI7XG59XG4uZmEtcmF0aW5nLnMtMy01OjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ahe+Ahe+Ahe+Eo++AhlwiO1xufVxuLmZhLXJhdGluZy5zLTM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CF74CF74CF74CG74CGXCI7XG59XG4uZmEtcmF0aW5nLnMtMi01OjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ahe+Ahe+Eo++Ahu+AhlwiO1xufVxuLmZhLXJhdGluZy5zLTI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CF74CF74CG74CG74CGXCI7XG59XG4uZmEtcmF0aW5nLnMtMS01OjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ahe+Eo++Ahu+Ahu+AhlwiO1xufVxuLmZhLXJhdGluZy5zLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIXvgIbvgIbvgIbvgIZcIjtcbn1cbi5mYS1yYXRpbmcucy0wLTU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74Sj74CG74CG74CG74CGXCI7XG59XG4uZmEtcmF0aW5nLnMtMDo6YmVmb3JlIHtcbiAgY29udGVudDogXCLjgIDjgIDjgIDjgIDjgIBcIjtcbn1cbi5mYS1yYXRpbmcuYmx1ZSB7XG4gIGNvbG9yOiAjMmQ4MWVhO1xufVxuLmZhLXJhdGluZy5ibHVlW2RhdGEtcmF0aW5nXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuW2NsYXNzXj1jb250YWluZXJdIHtcbiAgbWF4LXdpZHRoOiA5OTBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmNvbnRhaW5lci1sZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbnNlY3Rpb24sIGZvb3RlciB7XG4gIHBhZGRpbmctdG9wOiA0cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbn1cblxuaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnZpZGVvLWpzLFxudmlkZW8tanMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbi5oZWFkZXIgW2NsYXNzXj1jb250YWluZXJdIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmhlYWRlciBpbWcge1xuICB3aWR0aDogMzAuMnJlbTtcbn1cbi5oZWFkZXJfX2NvbnRhY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uaWNvbi0tY29udGFjdCB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG4udG9wLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiA0cmVtO1xuICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vZHRqbGhpYWhsdjUzai5jbG91ZGZyb250Lm5ldC9hc3NldHMvcHJvLXBsYW50L2JhY2tncm91bmQuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLnRvcC1zZWN0aW9uX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi50b3Atc2VjdGlvbl9faGVhZGVyIC5idWxsZXRzLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IGNhbGMoNzglICsgMTJyZW0pO1xuICBoZWlnaHQ6IDYuMnJlbTtcbn1cbi5idWxsZXRzLWxpc3RfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDIuNnJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50b3Atc2VjdGlvbl9faGVhZGVyIC5idWxsZXRzLWxpc3RfX2l0ZW0ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5pY29uLS1saXN0LWl0ZW0ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuLnRvcC1zZWN0aW9uX19oZWFkZXIgLmljb24tLWxpc3QtaXRlbSB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBjb2xvcjogI2I5ZDUzNztcbn1cblxuLmJ0biB7XG4gIGJhY2tncm91bmQ6ICNkZmExNWE7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNkZmExNWEsICNlZDg5MjQpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2ZmZjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTQ3ODI1O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZTQ3ODI1LCAjYmE1YjEyKTtcbn1cbi5idG5baHJlZl0ge1xuICB3aWR0aDogMjhyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwLjdyZW07XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTQ3ODI1O1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gIGJveC1zaGFkb3c6IDBweCAxcHggM3B4ICM2NjY2NjY7XG59XG4uYnRuOm5vdChbaHJlZl0pIHtcbiAgcGFkZGluZzogMC44cmVtIDAuN3JlbSAwLjZyZW07XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTQ3OTI1O1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gIGJveC1zaGFkb3c6IDBweCAxcHggM3B4ICM2NjY2NjY7XG59XG5cbi5jYXJ0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY2FydF9fc2VjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4uY2FydF9fc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAxcmVtICM4YzhjODM7XG59XG4uY2FydF9fc2VjdGlvbi0tbW9uZXktYmFjaywgLmNhcnRfX3NlY3Rpb24tLWNsdWIge1xuICBmbGV4OiAxIDEgMzAlO1xuICBtYXJnaW4tdG9wOiAzLjVyZW07XG59XG4uY2FydF9fc2VjdGlvbi0tY2FydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIDQwJTtcbiAgei1pbmRleDogMTtcbiAgZm9udC1zaXplOiAxLjlyZW07XG59XG4uY2FydC0tbm8tY2x1YiAuY2FydF9fc2VjdGlvbi0tY2x1YiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uY2FydF9fdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3Mzc3YTtcbn1cbi5jYXJ0X190aXRsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC00cmVtO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYm9yZGVyLXdpZHRoOiAycmVtIDIuOHJlbTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzI3Mzc3YTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5jYXJ0X19zZWN0aW9uLS1jYXJ0IC5jYXJ0X190aXRsZSB7XG4gIHBhZGRpbmctYm90dG9tOiAyNC45OTk5cHg7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xufVxuLmNhcnRfX3NlY3Rpb246bm90KC5jYXJ0X19zZWN0aW9uLS1jYXJ0KSAuY2FydF9fdGl0bGUge1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cbi5jYXJ0X19zZWN0aW9uOm5vdCguY2FydF9fc2VjdGlvbi0tY2FydCkgLmNhcnRfX3RpdGxlIHNtYWxsIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4uY2FydF9fYm9keSB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuLmNhcnRfX3NlY3Rpb24tLW1vbmV5LWJhY2sgLmNhcnRfX2JvZHksIC5jYXJ0X19zZWN0aW9uLS1jYXJ0IC5jYXJ0X19ib2R5IHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG4uY2FydF9fc2VjdGlvbi0tY2FydCAuY2FydF9fYm9keSwgLmNhcnRfX3NlY3Rpb24tLWNsdWIgLmNhcnRfX2JvZHkge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG4uY2FydF9fc2VjdGlvbi0tbW9uZXktYmFjayAuY2FydF9fYm9keSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuOHJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuLmNhcnRfX3NlY3Rpb24tLWNsdWIgLmNhcnRfX2JvZHkge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbn1cbi5jYXJ0X19pbWcge1xuICB3aWR0aDogMTVyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5jYXJ0X19wcm9kdWN0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi5jYXJ0X19wcm9kdWN0IHtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xufVxuLmNhcnRfX3Byb2R1Y3QtLTFib3R0bGUsIC5jYXJ0X19wcm9kdWN0LS02Ym90dGxlcyB7XG4gIGZsZXg6IDEgMSAzMCU7XG4gIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuLmNhcnRfX3Byb2R1Y3QtLTFib3R0bGUge1xuICBvcmRlcjogMTtcbn1cbi5jYXJ0X19wcm9kdWN0LS0zYm90dGxlcyB7XG4gIGZsZXg6IDEgMSAzMyU7XG4gIG1hcmdpbjogMCAxcmVtO1xuICBwYWRkaW5nLXRvcDogMy41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMy41cmVtO1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cbi5jYXJ0X19wcm9kdWN0LS02Ym90dGxlcyB7XG4gIG9yZGVyOiAtMTtcbn1cbi5jYXJ0X19wcm9kdWN0LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGYzZmM7XG4gIGJvcmRlci1jb2xvcjogIzQ3ODBjMjtcbn1cbi5jYXJ0X19wcm9kdWN0LXR4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmNhcnRfX3N1bW1hcnkge1xuICB3aWR0aDogY2FsYygxMDAlICsgNHJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAtMnJlbTtcbn1cbi5jYXJ0X19kZXRhaWxzIHtcbiAgaGVpZ2h0OiAxNy4ycmVtO1xufVxuLmNhcnQgW2NsYXNzJD0tdmFsdWVdIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG59XG4uY2FydF9fcHJpY2UtdmFsdWUge1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cbi5jYXJ0X19zYXZlLCAuY2FydF9fbWVtYmVyIHtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuLmNhcnRfX21lbWJlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiAjZGQwMDAwO1xufVxuLmNhcnRfX3N1bW1hcnktLXN1YnNjcmliZSAuY2FydF9fbWVtYmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uY2FydF9fc2F2ZS12YWx1ZSwgLmNhcnRfX21lbWJlci12YWx1ZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uY2FydF9fY3VycmVudCB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4uY2FydF9fY3VycmVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0NXB4O1xuICBtYXJnaW46IDFyZW0gYXV0byAxcmVtIGF1dG87XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG59XG4uY2FydF9fY3VycmVudC12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5jYXJ0X19wYXktcGVyaW9kIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAzLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uY2FydF9fc3VtbWFyeS0tc3Vic2NyaWJlIC5jYXJ0X19wYXktcGVyaW9kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmNhcnRfX3BheS1vbmNlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmNhcnRfX3N1bW1hcnktLXN1YnNjcmliZSAuY2FydF9fcGF5LW9uY2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNhcnRfX3NoaXBwaW5nIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFyZW07XG4gIGNvbG9yOiAjNDc4MGMyO1xufVxuLmNhcnRfX3NoaXBwaW5nIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMi42cmVtO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuLmNhcnRfX2Zvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5jYXJ0X19sYWJlbCB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZm9udC1zaXplOiAwO1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kOiAjZDJlN2Y0O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI2QyZTdmNCAwJSwgI2RiZWVmOSAzMyUsICNlNGY0ZmQgNTUlLCAjZGJlZWY5IDcxJSwgI2QyZTdmNCAxMDAlKTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgYm94LXNoYWRvdzogMnB4IDJweCA1cHggMHB4ICNkY2RjZGQ7XG59XG4uY2FydF9fbGFiZWw6aG92ZXIgfiAuY2FydF9fZGlzY2xhaW1lciwgLmNhcnRfX2xhYmVsOmZvY3VzIH4gLmNhcnRfX2Rpc2NsYWltZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNhcnRfX2xhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmNhcnRfX2xhYmVsIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNhcnRfX2xhYmVsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gICAgcGFkZGluZzogMS41cmVtIDFyZW07XG4gIH1cbn1cbi5jYXJ0X19sYWJlbCBzcGFuIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG4uY2FydF9fY2hlY2tib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMCAwIDIuM3JlbTtcbiAgaGVpZ2h0OiAyLjNyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2I3YjdiNztcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuLmNhcnRfX2NoZWNrYm94IC5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAycmVtO1xuICBjb2xvcjogI2RkMDAwMDtcbn1cbi5jYXJ0X19jaGVja2JveC5jaGVja2VkIC5pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uY2FydF9fc3Vic2NyaWJlLXRleHQgYjpmaXJzdC1vZi10eXBlIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBjb2xvcjogIzI3Mzc3YTtcbn1cbi5jYXJ0X19zdWJzY3JpYmUtdGV4dCBiOmxhc3Qtb2YtdHlwZSB7XG4gIGNvbG9yOiAjZGQwMDAwO1xufVxuLmNhcnRfX2Rpc2NsYWltZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTMzOXB4KSB7XG4gIC5jYXJ0X19kaXNjbGFpbWVyIHtcbiAgICBsZWZ0OiAycmVtO1xuICAgIHJpZ2h0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gIC5jYXJ0X19kaXNjbGFpbWVyIHtcbiAgICB0b3A6IC01cmVtO1xuICAgIHJpZ2h0OiAtMTdyZW07XG4gICAgd2lkdGg6IDI0LjRyZW07XG4gIH1cbn1cbi5jYXJ0X19kaXNjbGFpbWVyOmhvdmVyLCAuY2FydF9fZGlzY2xhaW1lcjpmb2N1cyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmNhcnRfX2xpbmtzIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICBjb2xvcjogIzVlNWY2MTtcbn1cbi5jYXJ0IC5jdGEge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLmNhcnRfX3NlY3Rpb24tLWNsdWIgLmJ1bGxldHMtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xufVxuLmNhcnRfX3NlY3Rpb24tLWNsdWIgLmJ1bGxldHMtbGlzdF9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLmNhcnRfX3NlY3Rpb24tLWNsdWIgLmJ1bGxldHMtbGlzdF9faXRlbSArIC5idWxsZXRzLWxpc3RfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5jYXJ0X19zZWN0aW9uLS1jbHViIC5pY29uLS1saXN0LWl0ZW0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDJyZW07XG4gIGNvbG9yOiAjZGQwMDAwO1xufVxuXG4uYWJvdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkNTM3O1xufVxuLmFib3V0IFtjbGFzc149Y29udGFpbmVyXSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiLiBmaWd1cmVcIiBcInRpdGxlIGZpZ3VyZVwiIFwiY29udGVudCBmaWd1cmVcIjtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDMxLjhyZW07XG4gIGdyaWQtY29sdW1uLWdhcDogNnJlbTtcbn1cbi5hYm91dCBpbWcge1xuICBncmlkLWFyZWE6IGZpZ3VyZTtcbn1cbi5hYm91dF9fdGl0bGUsIC5hYm91dF9fdGV4dCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmFib3V0X190aXRsZSB7XG4gIGdyaWQtYXJlYTogdGl0bGU7XG59XG4uYWJvdXRfX3RpdGxlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNDVweDtcbiAgbWFyZ2luOiAxcmVtIDAgMi41cmVtIDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xufVxuLmFib3V0X190ZXh0IHtcbiAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG59XG5cbi5mYXFfX3RpdGxlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNDVweDtcbiAgbWFyZ2luOiAxcmVtIDAgMi41cmVtIDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xufVxuXG4uZmFxLWxpc3RfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZmFxLWxpc3RfX2l0ZW0gKyAuZmFxLWxpc3RfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuLmZhcS1saXN0X19xdWVzdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbn1cbi5mYXEtbGlzdF9fYW5zd2VyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmZhcS1saXN0X19hbnN3ZXIgaW1nIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMS4ycmVtKTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNnJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mYXEtbGlzdF9fYW5zd2VyIGltZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA1MHJlbTtcbiAgfVxufVxuXG4ucHJvZHVjdCB7XG4gIHBhZGRpbmctdG9wOiA2cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbi5wcm9kdWN0IFtjbGFzc149Y29udGFpbmVyXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA4cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiA4cmVtO1xufVxuLnByb2R1Y3QgW2NsYXNzXj1jb250YWluZXJdOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTZyZW07XG4gIGxlZnQ6IDE1cHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG59XG4ucHJvZHVjdF9faW1nLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogM3JlbTtcbn1cbi5wcm9kdWN0X19jb250ZW50LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogNDhyZW07XG59XG4ucHJvZHVjdF9fYmFkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0yNSU7XG4gIHRvcDogLTAuNXJlbTtcbiAgd2lkdGg6IDE2cmVtO1xufVxuLnByb2R1Y3RfX2ltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDM0LjJyZW07XG4gIG1hcmdpbjogMDtcbn1cbi5wcm9kdWN0X190aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4ucHJvZHVjdF9fdGl0bGU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0NXB4O1xuICBtYXJnaW46IDFyZW0gMCAyLjVyZW0gMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG59XG4ucHJvZHVjdF9fY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY1O1xufVxuLnByb2R1Y3QgLmN0YS13cmFwIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuLnByb2R1Y3QgLmN0YSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM2MjY3NmI7XG59XG4uZm9vdGVyIHAge1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhyZW07XG59IiwiLy8tIEZhZGVzIHJlbGF0ZWQgYW5pbWF0aW9uc1xyXG4vLy0gQmxpbmtcclxuQGtleWZyYW1lcyBibGluayB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA1MCUgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmsge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcblxyXG4vLy0gQXBwZWFyXHJcbkBrZXlmcmFtZXMgYXBwZWFyIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBhcHBlYXIge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGFwcGVhciB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxufVxyXG5cclxuLy8tIEFwcGVhciBIYW1tZXJcclxuQGtleWZyYW1lcyBhcHBlYXItaGFtbWVyIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB9XHJcbiAgICA1MCUgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNjAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGFwcGVhci1oYW1tZXIge1xyXG4gICAgMCUgICB7IG9wYWNpdHk6IDA7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICA2MCUgIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYXBwZWFyLWhhbW1lciB7XHJcbiAgICAwJSAgIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgNTAlICB7IG9wYWNpdHk6IDE7IH1cclxuICAgIDYwJSAgeyBvcGFjaXR5OiAxOyB9XHJcbiAgICAxMDAlIHsgb3BhY2l0eTogMDsgfVxyXG59XHJcblxyXG4vLy0gQmxpbmsgQ3Vyc29yXHJcbkBrZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmstY3Vyc29yIHtcclxuICAgIDAlICAgeyBvcGFjaXR5OjE7IH1cclxuICAgIDUwJSAgeyBvcGFjaXR5OjA7IH1cclxuICAgIDEwMCUgeyBvcGFjaXR5OjE7IH1cclxufSIsIi8vLSBNb3Rpb24gcmVsYXRlZCBhbmltYXRpb25zXHJcbi8vLSBKdW1wXHJcbkBrZXlmcmFtZXMganVtcHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGp1bXB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBqdW1we1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5cclxuLy8tIFdlaWdodFxyXG5Aa2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIHdlaWdodHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNDhkZWcpOyB9XHJcbn1cclxuXHJcbi8vLSBIYW1tZXJcclxuQGtleWZyYW1lcyBoYW1tZXJ7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjhkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtbWVye1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDI4ZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGhhbW1lcntcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyOGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfVxyXG59XHJcblxyXG4vLy0gU2NhbGVcclxuQGtleWZyYW1lcyBzY2FsZXtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICA3MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgyKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2NhbGV7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogc2NhbGUoMik7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIHNjYWxle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDIpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG59XHJcblxyXG4vLy0gSG9vcFxyXG5Aa2V5ZnJhbWVzIGhvb3B7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBob29we1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgaG9vcHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuXHJcbi8vLSBEYW5zZVxyXG5Aa2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGRhbnNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9ICAgXHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxyXG4gICAgNzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XHJcbn1cclxuXHJcbi8vLSBIYW1idXJnZXJcclxuQGtleWZyYW1lcyBoYW1idXJnZXJ7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGFtYnVyZ2Vye1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGhhbWJ1cmdlcntcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG59XHJcblxyXG4vLy0gQm90dGxlIERhbmNlXHJcbkBrZXlmcmFtZXMgYm90dGxlRGFuY2V7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxyXG4gICAgOTUlICB7IHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdHRsZURhbmNle1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICA1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cclxuICAgIDk1JSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBib3R0bGVEYW5jZXtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgNSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XHJcbiAgICA5NSUgIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxufVxyXG5cclxuLy8tIEJvdW5jZVxyXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNXB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1cHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBib3VuY2Uge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjVweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuXHJcbi8vLSBCb3VuY2Ugd2l0aCBkaXN0b3J0aW9uXHJcbkBrZXlmcmFtZXMgYm91bmNlLXdpdGgtZGlzdG9ydGlvbiB7XHJcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMzAlICB7IHRyYW5zZm9ybTogc2NhbGUoLjk3LDEuMDMpICB0cmFuc2xhdGVZKC0yNXB4KTsgfVxyXG4gICAgNDAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICA1MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoLTEwcHgpOyB9XHJcbiAgICA2MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG59XHJcbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Utd2l0aC1kaXN0b3J0aW9uIHtcclxuICAgIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMywuOTcpICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAzMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSguOTcsMS4wMykgIHRyYW5zbGF0ZVkoLTI1cHgpOyB9XHJcbiAgICA0MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDUwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgtMTBweCk7IH1cclxuICAgIDYwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSkgICAgICAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZS13aXRoLWRpc3RvcnRpb24ge1xyXG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAzLC45NykgIHRyYW5zbGF0ZVkoMCk7IH1cclxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKC45NywxLjAzKSAgdHJhbnNsYXRlWSgtMjVweCk7IH1cclxuICAgIDQwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsLjk3KSAgdHJhbnNsYXRlWSgwKTsgfVxyXG4gICAgNTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKC0xMHB4KTsgfVxyXG4gICAgNjAlICB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKSAgICAgICB0cmFuc2xhdGVZKDApOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLDEpICAgICAgIHRyYW5zbGF0ZVkoMCk7IH1cclxufSIsIi8vLSBTY2hlbWEgcmVsYXRlZCBhbmltYXRpb25zXHJcbiR0YXAtY29sb3I6IHJlZDtcclxuXHJcbi8vLSBCYWNrZ3JvdW5kLWNvbG9yIG9uIHRhcFxyXG5Aa2V5ZnJhbWVzIGJnQ29sb3Itb24tdGFwIHtcclxuICAgIDAlICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XHJcbiAgICA1MCUgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxyXG4gICAgMTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMCk7IH1cclxufVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmdDb2xvci1vbi10YXAge1xyXG4gICAgMCUgICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cclxuICAgIDUwJSAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDEwMCUpOyB9XHJcbiAgICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAwKTsgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBiZ0NvbG9yLW9uLXRhcCB7XHJcbiAgICAwJSAgIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFwLWNvbG9yLCAxMDAlKTsgfVxyXG4gICAgNTAlICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhcC1jb2xvciwgMTAwJSk7IH1cclxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YXAtY29sb3IsIDApOyB9XHJcbn0iLCIuZmFkZSB7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcclxuXHJcbiAgJjpub3QoLnNob3cpIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uY29sbGFwc2Uge1xyXG4gICY6bm90KC5zaG93KSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbGxhcHNpbmcge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcclxufVxyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3RcclxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcclxuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcclxuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xyXG4gIH1cclxuXHJcbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcclxuICAgIEBlYWNoICR2YWx1ZSBpbiAkdHJhbnNpdGlvbiB7XHJcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XHJcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xyXG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XHJcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnkgYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcclxuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qIEZPTlQgUEFUSFxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XHJcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj0jeyRmYS12ZXJzaW9ufScpO1xyXG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90PyNpZWZpeCZ2PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnd29mZjInKSxcclxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmY/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9I3skZmEtdmVyc2lvbn0nKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj0jeyRmYS12ZXJzaW9ufSNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xyXG4vLyAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vRm9udEF3ZXNvbWUub3RmJykgZm9ybWF0KCdvcGVudHlwZScpOyAvLyB1c2VkIHdoZW4gZGV2ZWxvcGluZyBmb250c1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbiIsIi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXHJcbiAgIHYyLjAtbW9kaWZpZWQgfCAyMDExMDEyNlxyXG4gICBMaWNlbnNlOiBub25lIChwdWJsaWMgZG9tYWluKVxyXG4qL1xyXG5cclxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXHJcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcclxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxyXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxyXG5iLCB1LCBpLCBjZW50ZXIsXHJcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXHJcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxyXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcclxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXHJcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcclxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXHJcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XHJcbiAgbWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGZvbnQtc2l6ZTogMTAwJTtcclxuXHRmb250OiBpbmhlcml0O1xyXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuLyogbWFrZSBzdXJlIHRvIHNldCBzb21lIGZvY3VzIHN0eWxlcyBmb3IgYWNjZXNzaWJpbGl0eSAqL1xyXG46Zm9jdXMge1xyXG4gICAgb3V0bGluZTogMDtcclxufVxyXG5cclxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xyXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxyXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5ib2R5IHtcclxuXHRsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxub2wsIHVsIHtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5ibG9ja3F1b3RlLCBxIHtcclxuXHRxdW90ZXM6IG5vbmU7XHJcbn1cclxuXHJcbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxyXG5xOmJlZm9yZSwgcTphZnRlciB7XHJcblx0Y29udGVudDogJyc7XHJcblx0Y29udGVudDogbm9uZTtcclxufVxyXG5cclxudGFibGUge1xyXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxyXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxyXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9c2VhcmNoXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICByZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cclxuICovXHJcblxyXG5hdWRpbyxcclxuY2FudmFzLFxyXG52aWRlbyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAqZGlzcGxheTogaW5saW5lO1xyXG4gICAgKnpvb206IDE7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxyXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxyXG4gKi9cclxuXHJcbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDcvOC85LCBGaXJlZm94IDMsIGFuZCBTYWZhcmkgNC5cclxuICogS25vd24gaXNzdWU6IG5vIElFIDYgc3VwcG9ydC5cclxuICovXHJcblxyXG5baGlkZGVuXSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXHJcbiAqICAgIGBlbWAgdW5pdHMuXHJcbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xyXG4gKiAgICB1c2VyIHpvb20uXHJcbiAqL1xyXG5cclxuaHRtbCB7XHJcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmE6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5hOmFjdGl2ZSxcclxuYTpob3ZlciB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXHJcbiAqIDIuIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cclxuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDYvNy84LzksIFNhZmFyaSA1LCBhbmQgT3BlcmEgMTEuXHJcbiAqL1xyXG5cclxuZmlndXJlIHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgbWFyZ2luIGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXHJcbiAqL1xyXG5cclxuZm9ybSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXHJcbiAqL1xyXG5cclxuZmllbGRzZXQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcclxuICAgIG1hcmdpbjogMCAycHg7XHJcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgNi83LzgvOS5cclxuICogMi4gQ29ycmVjdCB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXHJcbiAqIDMuIENvcnJlY3QgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICAgIGJvcmRlcjogMDsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDIgKi9cclxuICAgICptYXJnaW4tbGVmdDogLTdweDsgLyogMyAqL1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LCBGaXJlZm94IDMrLCBTYWZhcmkgNSxcclxuICogICAgYW5kIENocm9tZS5cclxuICogMy4gSW1wcm92ZSBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cclxuICAgIG1hcmdpbjogMDsgLyogMiAqL1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAzICovXHJcbiAgICAqdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMyAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBGaXJlZm94IDMrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxyXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cclxuICovXHJcblxyXG5idXR0b24sXHJcbmlucHV0IHtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXHJcbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXHJcbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA2Ky5cclxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5idXR0b24sXHJcbnNlbGVjdCB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXHJcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxyXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXHJcbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXHJcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cclxuICogNC4gUmVtb3ZlIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXHJcbiAqICAgIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cclxuICovXHJcblxyXG5idXR0b24sXHJcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cclxuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xyXG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAgLyogNCAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cclxuICovXHJcblxyXG5idXR0b25bZGlzYWJsZWRdLFxyXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cclxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS5cclxuICogMy4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDcuXHJcbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXHJcbiAqL1xyXG5cclxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xyXG4gICAgKmhlaWdodDogMTNweDsgLyogMyAqL1xyXG4gICAgKndpZHRoOiAxM3B4OyAvKiAzICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxyXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcclxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXHJcbiAqL1xyXG5cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcclxuICogb24gT1MgWC5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCAzKy5cclxuICovXHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgNi83LzgvOS5cclxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gKi9cclxuXHJcbnRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG5cclxuaHRtbCxcclxuYnV0dG9uLFxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcbiAgICBjb2xvcjogIzIyMjtcclxufVxyXG5cclxuXHJcbjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcclxuICAgIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG46OnNlbGVjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xyXG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG5maWVsZHNldCB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgICByZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG4uY2hyb21lZnJhbWUge1xyXG4gICAgbWFyZ2luOiAwLjJlbSAwO1xyXG4gICAgYmFja2dyb3VuZDogI2NjYztcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgcGFkZGluZzogMC4yZW0gMDtcclxufVxyXG4iLCIvLy0gUmF0aW5nXHJcbi5yYXRpbmcge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMWVtOyBcclxuICAgIGZvbnQtc2l6ZTogMTdweDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDFlbTsgbGV0dGVyLXNwYWNpbmc6IDdweDsgY29sb3I6ICRyYXRpbmctY29sb3I7XHJcblxyXG4gICAgW2NsYXNzXj1cImZhXCJdIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMWVtO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmZhLXJhdGluZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG4gICAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgXHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNVwiO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgIH1cclxufVxyXG4uZmEtcmF0aW5nIHtcclxuICAgICYucy01IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNVwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnMtNC01IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjAwNVxcZjAwNVxcZjEyM1wiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnMtNCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDVcXGYwMDZcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5zLTMtNSB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMDVcXGYwMDVcXGYwMDVcXGYxMjNcXGYwMDZcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5zLTMge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDA1XFxmMDA1XFxmMDA1XFxmMDA2XFxmMDA2XCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucy0yLTUge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDA1XFxmMDA1XFxmMTIzXFxmMDA2XFxmMDA2XCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucy0yIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNVxcZjAwNlxcZjAwNlxcZjAwNlwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnMtMS01IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwNVxcZjEyM1xcZjAwNlxcZjAwNlxcZjAwNlwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnMtMSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwNVxcZjAwNlxcZjAwNlxcZjAwNlxcZjAwNlwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnMtMC01IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEyM1xcZjAwNlxcZjAwNlxcZjAwNlxcZjAwNlwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnMtMCB7XHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcXDMwMDBcXDMwMDBcXDMwMDBcXDMwMDBcXDMwMDBcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5ibHVlIHtcclxuICAgICAgICBjb2xvcjogIzJkODFlYTtcclxuICAgIH1cclxuXHJcbiAgICAmLmJsdWVbZGF0YS1yYXRpbmddIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8tIFJlc2V0IEV4dGVuZGVkIC0gT24gdGhpcyBwYXJ0aWFsIEknbGwgZXh0ZW5kIHRoZSBFcmljIE1leWVyIHJlc2V0IGZpbGUgYnkgYWRkaW5nIG1vZGVybiBhbmQgdXNlZnVsbCBzZWxlY3RvcnNcclxuXHJcbi8vLSBPdmVycmlkZSBkZWZhdWx0IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyBzbyB3aWR0aCBpcyBub3QgYWZmZWN0ZWQgYnkgcGFkZGluZyBhbmQgYm9yZGVyIHByb3BlcnRpZXNcclxuaHRtbCB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4vLy0gSW5oZXJpdCByb290IGJveC1zaXppbmcgdmFsdWUgdG8gYWxsIERPTSBlbGVtZW50c1xyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHsgYm94LXNpemluZzogaW5oZXJpdDsgfVxyXG5cclxuLy8tIFNldCBib2R5IHRvIGZpbGwgdmlld3BvcnQsIG9wdGltaXplIHRleHQtcmVuZGVyaW5nIGFuZCBzbW9vdGggc2Nyb2xsaW5nXHJcbmJvZHkge1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7IFxyXG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgLy8tIE5vdGUgdGV4dC1yZW5kZXJpbmcgc2hvdWxkIGJlIGNob3NlbiBkZXBlbmRpbmcgb24gdXNlZCBmb250LWZhbWlseSBhbmQgcGVyZm9ybWFuY2UgZ29hbHNcclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IC8vLSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvdGV4dC1yZW5kZXJpbmdcclxufVxyXG5cclxuLy8tIFJlc2V0IGFuY2hvciBsb29rICYgYmVoYXZpb3VyXHJcbmEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiBpbmhlcml0OyBjdXJzb3I6IHBvaW50ZXI7IH1cclxuXHJcbmJ1dHRvbiB7IFxyXG4gICAgcGFkZGluZzogMDsgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6IGluaGVyaXQ7IGJvcmRlci13aWR0aDogMDsgY3Vyc29yOnBvaW50ZXI7IFxyXG59XHJcblxyXG4vLy0gQWRpdGlvbmFsIHRvIHJlc2V0LnNjc3MsIHJlbW92ZSBtYXJnaW4gb24gRkYzKyBcclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7IG1hcmdpbjogMDsgfVxyXG4iLCIvLy0gQmFzZSB0eXBvZ3JhcGh5IHN0eWxlc1xyXG5cclxuLy8tIHZhcmlhYmxlcyBmcm9tIGJvb3RzdHJhcCBmb3IgcmVmZXJlbmNlXHJcbi8vICRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbi8vICRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcclxuLy8gJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xyXG4vLyAkZm9udC13ZWlnaHQtbWVkaXVtOiAgICAgICAgICA1MDAgIWRlZmF1bHQ7XHJcbi8vICRmb250LXdlaWdodC1zZW1pLWJvbGQ6ICAgICAgIDYwMCAhZGVmYXVsdDtcclxuLy8gJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xyXG4vLyAkZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XHJcblxyXG4vLy0gZm9udC1zaXplIHBlciAlXHJcbi8vIDE2cHggLSAxMDAlXHJcbi8vIDE1cHggLSA5My43NSVcclxuLy8gMTRweCAtIDg3LjUlXHJcbi8vIDEzcHggLSA4MS4yNSVcclxuLy8gMTJweCAtIDc1JVxyXG4vLyAxMXB4IC0gNjguNzUlXHJcbi8vIDEwcHggLSA2Mi41JVxyXG5cclxuaHRtbCB7IFxyXG4gICAgLy8gZm9udDogbm9ybWFsIDgxLjI1JSAvIDEuNSAkbWFpbkZvbnQ7IC8vLSA2Mi41JSBtYWtlcyAnZW0nIGFuZCAncmVtJyB1bml0cyB0byBiZSBjb21wdXRlZCB0byAxMHB4IHNvIDFyZW0gd2lsbCBiZSAxMHB4IGFuZCAxLjRyZW0gd2lsbCBiZSAxNHB4XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbiAgICAgICAgZm9udDogbm9ybWFsIDYyLjUlIC8gMS41ICRtYWluRm9udDsgLy8tIDYyLjUlIG1ha2VzICdlbScgYW5kICdyZW0nIHVuaXRzIHRvIGJlIGNvbXB1dGVkIHRvIDEwcHggc28gMXJlbSB3aWxsIGJlIDEwcHggYW5kIDEuNHJlbSB3aWxsIGJlIDE0cHhcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgZm9udDogbm9ybWFsIDQ4Ljk3OTQlIC8gMS41ICRtYWluRm9udDtcclxuICAgIH1cclxufSBcclxuXHJcbmJvZHkge1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IGNvbG9yOiAkdGV4dENvbG9yOyBsZXR0ZXItc3BhY2luZzogLjA1cmVtO1xyXG59XHJcblxyXG5oMSB7XHJcbiAgICBmb250LXNpemU6IDMuMXJlbTsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7IGxpbmUtaGVpZ2h0OiAxLjI1OyBjb2xvcjogJHRpdGxlQ29sb3I7XHJcbn1cclxuXHJcbmgyIHtcclxuICAgIGZvbnQtc2l6ZTogMi40cmVtOyBsaW5lLWhlaWdodDogMS4yNTsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgY29sb3I6ICR0aXRsZUNvbG9yO1xyXG59XHJcblxyXG5oMyB7XHJcbiAgICBmb250LXNpemU6IDJyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgbGluZS1oZWlnaHQ6IDEuMjU7IGNvbG9yOiAkdGl0bGVDb2xvcjtcclxufVxyXG5cclxuaDYge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkOyBsaW5lLWhlaWdodDogMS43NTsgY29sb3I6ICRsYXBpcy1sYXp1bGk7XHJcbn1cclxuXHJcbnAge1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC4xcmVtO1xyXG5cclxuICAgICYgKyAmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIG9sIHtcclxuLy8gICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDsgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG5cclxuLy8gICAgICYgPiBsaSB7XHJcbi8vICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuLy8gYSB7XHJcbi8vICAgICAmLCAmOmhvdmVyLCAmOnZpc2l0ZWQge1xyXG4vLyAgICAgICAgIGNvbG9yOiAkbGlua0NvbG9yOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbmIge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7IC8vLSBvdmVycmlkZXMgcmVzZXQuc2NzcyBmb250OiBpbmhlcml0XHJcbn1cclxuXHJcbmVtIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgLy8tIG92ZXJyaWRlcyByZXNldC5zY3NzIGZvbnQ6IGluaGVyaXRcclxufVxyXG5cclxuLy8gLmNpdGF0aW9uIHtcclxuLy8gICAgIGZvbnQtc2l6ZTogOHB4O1xyXG5cclxuLy8gICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8gICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbi8vIC5hc3RlcmlzayB7XHJcbi8vICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuLy8gICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuIiwiJGNvbGxhcHNpYmxlLWljb246IChcclxuICAgIGZvbnQtc2l6ZTogKFxyXG4gICAgICAgIG1vYmlsZTogMXJlbSwgLy8tIG1hcC1kZWVwLWdldCgkY29sbGFwc2libGUtaWNvbiwgaWNvbi1mb250LXNpemUsIG1vYmlsZSlcclxuICAgICAgICBkZXNrdG9wOiAyLjZyZW0gLy8tIG1hcC1kZWVwLWdldCgkY29sbGFwc2libGUtaWNvbiwgaWNvbi1mb250LXNpemUsIGRlc2t0b3ApXHJcbiAgICApXHJcbik7XHJcblxyXG4vLy0gUGFydGlhbCBmb3IgU1ZHIHNwcml0ZSBpY29uc1xyXG4uaWNvbiB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxZW07IGhlaWdodDogMWVtOyBtYXJnaW46IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IGZvbnQtc2l6ZTogMWVtOyAvKiBkZWZhdWx0LXNpemUgKi9cclxuICAgIGZpbGw6ICRpY29ucy1tYWluQ29sb3I7IC8qIGRlZmF1bHQgY29sb3IgKi8gXHJcbiAgICBjb2xvcjogJGljb25zLW1haW5Db2xvcjsgLyogZGVmYXVsdCBjb2xvciB3aGVuIGN1cnJlbnRDb2xvciBpcyB1c2VkICovXHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBcclxuICAgICYtLWNvbGxhcHNlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNjAlOyByaWdodDogMDsgZmxleDogMCAwIGF1dG87IG1hcmdpbi1sZWZ0OiAuNXJlbTtcclxuICAgICAgICBjb2xvcjogJGljb25zLW1haW5Db2xvcjsgc3Ryb2tlOiBjdXJyZW50Q29sb3I7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICBbYXJpYS1leHBhbmRlZD10cnVlXSAmIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTgwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1wbHVzIHtcclxuICAgICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcclxuXHJcbiAgICAgICAgLnZlcnRpY2FsIHtcclxuICAgICAgICAgICAgW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gJiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIltjbGFzc149XCJjb250YWluZXJcIl0ge1xyXG4gICBtYXgtd2lkdGg6IG1hcC1nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBsZyk7IG1hcmdpbi1yaWdodDogYXV0bzsgbWFyZ2luLWxlZnQ6IGF1dG87IFxyXG59XHJcblxyXG4uY29udGFpbmVyLWxnIHtcclxuICAgIHdpZHRoOiAxMDAlOyBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyOyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XHJcbn1cclxuXHJcbi8vIC5jb250YWluZXItc20ge1xyXG4vLyAgICAgd2lkdGg6IDg4JTsgcGFkZGluZy1yaWdodDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAtIG1hcC1nZXQoJG91dGVyLXNwYWNlLCBtb2JpbGUpOyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aCAvIDIgLSBtYXAtZ2V0KCRvdXRlci1zcGFjZSwgbW9iaWxlKTtcclxuLy8gfVxyXG5cclxuc2VjdGlvbiwgZm9vdGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRpbm5lci1zcGFjZSwgZGVza3RvcCk7IHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRpbm5lci1zcGFjZSwgZGVza3RvcCk7XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMCBhdXRvOyBcclxufVxyXG5cclxuLnZpZGVvLWpzLFxyXG52aWRlby1qcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLmhpZGUge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2hvdyB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgbW9iaWxlYFxyXG4vLy8gICRicmVha3BvaW50czogKCdtb2JpbGUnOiAzMjBweCk7XHJcbi8vL1xyXG4kYnJlYWtwb2ludHM6IChcclxuICAvLyAnbW9iaWxlJzogMzIwcHgsXHJcbiAgLy8gJ3RhYmxldCc6IDc2OHB4LFxyXG4gIC8vICdkZXNrdG9wJzogMTAyNHB4XHJcbiAgJ21vYmlsZS1taWQnOiA1MjBweCxcclxuICAnbW9iaWxlLW1heCc6IDU3NXB4LFxyXG4gICd0YWJsZXQnOiA3NjhweCxcclxuICAndGFibGV0LW1pZCc6IDk5MnB4LFxyXG4gICdkZXNrdG9wJzogMTAyNXB4LFxyXG4gICdkZXNrdG9wLW1pZCc6IDEzNDBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8tIG1vYmlsZSBvbmx5XHJcbi8vLy8tICgnPHRhYmxldCcpIC0gbWF4LXdpZHRoOiA3NjdweFxyXG4vLy0gdGFibGV0IG9ubHlcclxuLy8vLy0gKCc+PXRhYmxldCcsICc8ZGVza3RvcCcpIC0gbWluLXdpZHRoOiA3NjhweDsgbWF4LXdpZHRoOiAxMDI0cHhcclxuLy8tIGRlc2t0b3Agb25seVxyXG4vLy8vLSAoJz49ZGVza3RvcCcpIC0gbWluLXdpZHRoOiAxMDI1cHhcclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcclxuICAncHJpbnQnOiAncHJpbnQnLFxyXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcbiAgJ2hvdmVyJzogJyhob3ZlcjogaG92ZXIpJyxcclxuICAnZmluZSc6ICcocG9pbnRlcjogZmluZSknLFxyXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXHJcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cclxuLy8vXHJcbiR1bml0LWludGVydmFsczogKFxyXG4gICdweCc6IDEsXHJcbiAgJ2VtJzogMC4wMSxcclxuICAncmVtJzogMC4xLFxyXG4gICcnOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG4gICAgQGVycm9yICRtZXNzYWdlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJG1lc3NhZ2U7XHJcbiAgICAkXzogbm9vcCgpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG4gICRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuICB9XHJcblxyXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG4gIEBpZiBub3QgJGludGVydmFsIHtcclxuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHJldHVybiAoKTtcclxuICB9XHJcblxyXG4gICRyZXN1bHQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xyXG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcclxuICB9XHJcblxyXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xyXG4gICRyZXN1bHQ6IDA7XHJcbiAgJGRpZ2l0czogMDtcclxuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XHJcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xyXG5cclxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XHJcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcclxuXHJcbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XHJcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcclxuICAgICAgJGRpZ2l0czogMTtcclxuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XHJcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcclxuXHJcbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tb2JpbGUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5tb2JpbGUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5tb2JpbGUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPm1vYmlsZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xyXG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xyXG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLy0gQnV0dG9ucyBwYXJ0aWFsXHJcbltyb2xlPSdidXR0b24nXSB7XHJcbiAgICAvLyBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnaG92ZXInLCAnZmluZScpIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4geyBcclxuICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4LWJhc2lzOiBhdXRvOyBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICAmLmRpc2FibGVkLCBbZGlzYWJsZWRdIHtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xyXG5cclxuLmhlYWRlciB7XHJcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRoZWFkZXIsIG91dGVyLXNwYWNlKTsgcGFkZGluZy10b3A6IG1hcC1nZXQoJGhlYWRlciwgaW5uZXItc3BhY2UpOyBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkaGVhZGVyLCBpbm5lci1zcGFjZSk7XHJcbiAgICBcclxuICAgIFtjbGFzc149XCJjb250YWluZXJcIl0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJGhlYWRlciwgbG9nbywgd2lkdGgpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRhY3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IG1hcC1kZWVwLWdldCgkaGVhZGVyLCBmb250LCBmYW1pbHkpOyBmb250LXdlaWdodDogbWFwLWRlZXAtZ2V0KCRoZWFkZXIsIGZvbnQsIHdlaWdodCk7IGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRoZWFkZXIsIGZvbnQsIHNpemUpOzsgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pY29uIHtcclxuICAgICYtLWNvbnRhY3Qge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogbWFwLWRlZXAtZ2V0KCRoZWFkZXIsIGljb24sIHNwYWNlKTtcclxuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkaGVhZGVyLCBpY29uLCBzaXplKTtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xyXG5cclxuLnRvcC1zZWN0aW9uIHtcclxuICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJHRvcC1zZWN0aW9uLCBvdXRlci1zcGFjZSk7IHBhZGRpbmctdG9wOiBtYXAtZ2V0KCR0b3Atc2VjdGlvbiwgaW5uZXItc3BhY2UpOyBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkdG9wLXNlY3Rpb24sIGlubmVyLXNwYWNlKTtcclxuICAgIGJhY2tncm91bmQ6IHtcclxuICAgICAgICBpbWFnZTogdXJsKCRwYXRoICsgJ3Byby1wbGFudC9iYWNrZ3JvdW5kLmpwZycpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBjZW50ZXIgdG9wO1xyXG4gICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIHNpemU6IGNvdmVyO1xyXG4gICAgfTtcclxuXHJcbiAgICAmX19oZWFkZXIge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWRlZXAtZ2V0KCR0b3Atc2VjdGlvbiwgdGl0bGUsIG91dGVyLXNwYWNlKTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ1bGxldHMtbGlzdCB7XHJcbiAgICAudG9wLXNlY3Rpb25fX2hlYWRlciAmIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBmbGV4LXdyYXA6IHdyYXA7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjsgd2lkdGg6IGNhbGMoI3ttYXAtZGVlcC1nZXQoJHRvcC1zZWN0aW9uLCBsaXN0LWl0ZW0sIHdpZHRoKSAqIDJ9ICsgI3ttYXAtZGVlcC1nZXQoJHRvcC1zZWN0aW9uLCBsaXN0LWl0ZW0sIGlubGluZS1nYXApICogMn0pOyBoZWlnaHQ6IG1hcC1kZWVwLWdldCgkdG9wLXNlY3Rpb24sIGxpc3QtaXRlbSwgaGVpZ2h0KSAqIDIgKyBtYXAtZGVlcC1nZXQoJHRvcC1zZWN0aW9uLCBsaXN0LWl0ZW0sIGJsb2NrLWdhcCk7IFxyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IGhlaWdodDogbWFwLWRlZXAtZ2V0KCR0b3Atc2VjdGlvbiwgbGlzdC1pdGVtLCBoZWlnaHQpOyBcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIFxyXG4gICAgICAgIC50b3Atc2VjdGlvbl9faGVhZGVyICYge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmljb24ge1xyXG4gICAgJi0tbGlzdC1pdGVtIHtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgbWFyZ2luLXJpZ2h0OiBtYXAtZGVlcC1nZXQoJHRvcC1zZWN0aW9uLCBsaXN0LWl0ZW0sIGJsb2NrLWdhcCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnRvcC1zZWN0aW9uX19oZWFkZXIgJiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCR0b3Atc2VjdGlvbiwgbGlzdC1pdGVtLCBpY29uLXNpemUpOyBjb2xvcjogbWFwLWRlZXAtZ2V0KCR0b3Atc2VjdGlvbiwgbGlzdC1pdGVtLCBpY29uLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcclxuXHJcbi5idG4geyBcclxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh2ZXJ0aWNhbCwgI3ttYXAtZGVlcC1nZXQoJG1haW4tY3RhLXNjaGVtYSwgYmcsIHN0YXJ0LWNvbG9yKX0sICN7bWFwLWRlZXAtZ2V0KCRtYWluLWN0YS1zY2hlbWEsIGJnLCBlbmQtY29sb3IpfSk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxyXG4gICAgbGluZS1oZWlnaHQ6IG1hcC1kZWVwLWdldCgkbWFpbi1jdGEtc3RydWN0dXJlLCBmb250LCBsaW5lLWhlaWdodCk7IGNvbG9yOiBtYXAtZ2V0KCRtYWluLWN0YS1zY2hlbWEsIGNvbG9yKTsgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHZlcnRpY2FsLCAje21hcC1kZWVwLWdldCgkbWFpbi1jdGEtc2NoZW1hLCBiZy1ob3Zlciwgc3RhcnQtY29sb3IpfSwgI3ttYXAtZGVlcC1nZXQoJG1haW4tY3RhLXNjaGVtYSwgYmctaG92ZXIsIGVuZC1jb2xvcil9KTtcclxuICAgIH1cclxuXHJcbiAgICAmW2hyZWZdIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkbWFpbi1jdGEtc3RydWN0dXJlLCB3aWR0aCk7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiBtYXAtZ2V0KCRtYWluLWN0YS1zdHJ1Y3R1cmUsIGJsb2NrLXBhZGRpbmcpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRtYWluLWN0YS1zdHJ1Y3R1cmUsIGZvbnQsIHNpemUpOyBmb250LXdlaWdodDogbWFwLWRlZXAtZ2V0KCRtYWluLWN0YS1zdHJ1Y3R1cmUsIGZvbnQsIHdlaWdodCk7IGJvcmRlcjogbWFwLWRlZXAtZ2V0KCRtYWluLWN0YS1zY2hlbWEsIGJvcmRlciwgc2l6ZSkgbWFwLWRlZXAtZ2V0KCRtYWluLWN0YS1zY2hlbWEsIGJnLWhvdmVyLCBzdGFydC1jb2xvcik7IGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJG1haW4tY3RhLXNjaGVtYSwgcmFkaXVzKTsgYm94LXNoYWRvdzogbWFwLWRlZXAtZ2V0KCRtYWluLWN0YS1zY2hlbWEsIHNoYWRvdywgc2l6ZSkgbWFwLWRlZXAtZ2V0KCRtYWluLWN0YS1zY2hlbWEsIHNoYWRvdywgY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KFtocmVmXSkge1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHNlY29uZGFyeS1jdGEtc3RydWN0dXJlLCBwYWRkaW5nKTtcclxuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkc2Vjb25kYXJ5LWN0YS1zdHJ1Y3R1cmUsIGZvbnQsIHNpemUpOyBmb250LXdlaWdodDogbWFwLWRlZXAtZ2V0KCRzZWNvbmRhcnktY3RhLXN0cnVjdHVyZSwgZm9udCwgd2VpZ2h0KTsgYm9yZGVyOiBtYXAtZGVlcC1nZXQoJHNlY29uZGFyeS1jdGEtc2NoZW1hLCBib3JkZXIsIHNpemUpIG1hcC1kZWVwLWdldCgkc2Vjb25kYXJ5LWN0YS1zY2hlbWEsIGJvcmRlciwgY29sb3IpOyBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRzZWNvbmRhcnktY3RhLXNjaGVtYSwgcmFkaXVzKTsgYm94LXNoYWRvdzogbWFwLWRlZXAtZ2V0KCRzZWNvbmRhcnktY3RhLXNjaGVtYSwgc2hhZG93LCBzaXplKSBtYXAtZGVlcC1nZXQoJHNlY29uZGFyeS1jdGEtc2NoZW1hLCBzaGFkb3csIGNvbG9yKTtcclxuICAgIH1cclxufVxyXG4iLCIvLy0gU2NoZW1hIHJlbGF0ZWQgbWl4aW5zXHJcblxyXG4vLy0gMS4gTGluZWFyIEdyYWRpZW50IG1peGluXHJcbi8vLSBVc2FnZTogJGRpcmVjdGlvbjogdmVydGljYWwgfCBob3Jpem9uYWwgfCB2YWx1ZSdkZWcnXHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc3RhcnQtY29sb3I7XHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBcInZlcnRpY2FsXCIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJob3Jpem9udGFsXCIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjeyRkaXJlY3Rpb259LCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xyXG4gICAgfVxyXG59IiwiQGltcG9ydCAndmFyaWFibGVzJztcclxuXHJcbi5jYXJ0IHtcclxuICAgIG1hcmdpbi10b3A6IDA7IHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRjYXJ0LCBpbm5lci1zcGFjZSkgKiA0OyBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkY2FydCwgaW5uZXItc3BhY2UpICogMjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXHJcblxyXG4gICAgJl9fc2VjdGlvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIH1cclxuXHJcbiAgICAmX19zZWN0aW9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7IGJveC1zaGFkb3c6IG1hcC1kZWVwLWdldCgkY2FydCwgc2hhZG93LCBzaXplKSBtYXAtZGVlcC1nZXQoJGNhcnQsIHNoYWRvdywgY29sb3IpO1xyXG5cclxuICAgICAgICAmLS1tb25leS1iYWNrLCAmLS1jbHViIHtcclxuICAgICAgICAgICAgZmxleDogMSAxIDMwJTsgbWFyZ2luLXRvcDogMy41cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tY2FydCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgZmxleDogMSAxIDQwJTsgei1pbmRleDogMTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRjYXJ0LCBmb250LXNpemUpOyBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWNsdWIge1xyXG4gICAgICAgICAgICAuY2FydC0tbm8tY2x1YiAmIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogbWFwLWRlZXAtZ2V0KCRjYXJ0LCB0cmlhbmdsZSwgYm9yZGVyLWlubGluZS13aWR0aCk7IHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRjYXJ0LCBpbm5lci1zcGFjZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkY2FydCwgdGl0bGUsIHdlaWdodCk7IGNvbG9yOiBtYXAtZGVlcC1nZXQoJGNhcnQsIHRpdGxlLCBjb2xvcik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRjYXJ0LCB0aXRsZSwgYmcpO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IC0je21hcC1kZWVwLWdldCgkY2FydCwgdHJpYW5nbGUsIGJvcmRlci1pbmxpbmUtd2lkdGgpICogMn07IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgICAgICBib3JkZXI6IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZGVlcC1nZXQoJGNhcnQsIHRyaWFuZ2xlLCBib3JkZXItaW5saW5lLXdpZHRoKSBtYXAtZGVlcC1nZXQoJGNhcnQsIHRyaWFuZ2xlLCBib3JkZXItYmxvY2std2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgdG9wLWNvbG9yOiBtYXAtZGVlcC1nZXQoJGNhcnQsIHRpdGxlLCBiZyk7IFxyXG4gICAgICAgICAgICAgICAgcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyBcclxuICAgICAgICAgICAgICAgIGJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IFxyXG4gICAgICAgICAgICAgICAgbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcnRfX3NlY3Rpb24tLWNhcnQgJiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRjYXJ0LCBpbm5lci1zcGFjZSkgKiAxLjY2NjY2O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkY2FydCwgdGl0bGUsIHNpemUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNhcnRfX3NlY3Rpb246bm90KC5jYXJ0X19zZWN0aW9uLS1jYXJ0KSAmIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGNhcnQsIGlubmVyLXNwYWNlKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHNtYWxsIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRjYXJ0LCB0aXRsZSwgc2l6ZS1zbWFsbCk7IGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJGNhcnQsIHRpdGxlLCB3ZWlnaHQtbGlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2JvZHkge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGJsb2NrKSAqIDI7XHJcblxyXG4gICAgICAgIC5jYXJ0X19zZWN0aW9uLS1tb25leS1iYWNrICYsXHJcbiAgICAgICAgLmNhcnRfX3NlY3Rpb24tLWNhcnQgJiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGJsb2NrKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYXJ0X19zZWN0aW9uLS1jYXJ0ICYsXHJcbiAgICAgICAgLmNhcnRfX3NlY3Rpb24tLWNsdWIgJiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiBtYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGlubGluZSk7IFxyXG4gICAgICAgICAgICAgICAgbGVmdDogbWFwLWRlZXAtZ2V0KCRjYXJ0LWJvZHksIGlubmVyLXNwYWNlLCBpbmxpbmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FydF9fc2VjdGlvbi0tbW9uZXktYmFjayAmIHtcclxuICAgICAgICAgICAgcGFkZGluZzoge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IG1hcC1kZWVwLWdldCgkY2FydC1ib2R5LCBpbm5lci1zcGFjZSwgaW5saW5lKSAvIDIuNTsgXHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBtYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGlubGluZSkgLyAyLjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2FydF9fc2VjdGlvbi0tY2x1YiAmIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1kZWVwLWdldCgkY2FydC1ib2R5LCBpbm5lci1zcGFjZSwgYmxvY2spICogMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1nIHtcclxuICAgICAgICB3aWR0aDogbWFwLWRlZXAtZ2V0KCRjYXJ0LCBpbWcsIHNpemUpOyBtYXJnaW4tdG9wOiBtYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGJsb2NrKSAvIDI7IG1hcmdpbi1ib3R0b206IG1hcC1kZWVwLWdldCgkY2FydC1ib2R5LCBpbm5lci1zcGFjZSwgYmxvY2spICogMjtcclxuICAgIH1cclxuXHJcbiAgICAmX19wcm9kdWN0cyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHByb2R1Y3QtY3RhLCBvdXRlci1zcGFjaW5nKTtcclxuICAgICAgICBmb250LWZhbWlseTogbWFwLWRlZXAtZ2V0KCRjYXJ0LWJvZHksIGZvbnQsIGZhbWlseSk7IGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJHByb2R1Y3QtY3RhLCBmb250LCB3ZWlnaHQpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3Byb2R1Y3Qge1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNhcnQsIGlubmVyLXNwYWNlKSAvIDM7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcHJvZHVjdC1jdGEsIGluaXRpYWwtYmcpOyBib3JkZXI6IG1hcC1nZXQoJHByb2R1Y3QtY3RhLCBib3JkZXIpIG1hcC1nZXQoJHByb2R1Y3QtY3RhLCBpbml0aWFsLWJvcmRlcik7IFxyXG5cclxuICAgICAgICAmLS0xYm90dGxlLCAmLS02Ym90dGxlcyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgMSAzMCU7IHBhZGRpbmctdG9wOiAyLjVyZW07IHBhZGRpbmctYm90dG9tOiAyLjVyZW07XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRwcm9kdWN0LWN0YSwgZm9udCwgc2l6ZSk7IGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS0xYm90dGxlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYtLTNib3R0bGVzIHtcclxuICAgICAgICAgICAgZmxleDogMSAxIDMzJTsgbWFyZ2luOiAwIG1hcC1nZXQoJHByb2R1Y3QtY3RhLCBvdXRlci1zcGFjaW5nKTsgcGFkZGluZy10b3A6IDMuNXJlbTsgcGFkZGluZy1ib3R0b206IDMuNXJlbTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJGNhcnQsIHRpdGxlLCBzaXplKTsgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLTZib3R0bGVzIHtcclxuICAgICAgICAgICAgb3JkZXI6IC0xO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwcm9kdWN0LWN0YSwgYWN0aXZlLWJnKTsgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRwcm9kdWN0LWN0YSwgYWN0aXZlLWJvcmRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3Byb2R1Y3QtdHh0IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAmX19zdW1tYXJ5IHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3ttYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGlubGluZSkgKiAyfSk7IG1hcmdpbi1sZWZ0OiAtI3ttYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGlubGluZSl9O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2RldGFpbHMge1xyXG4gICAgICAgIGhlaWdodDogMTcuMnJlbTsgLy8tIGNvdmVycyBib3RoIHN0YXRlcyBoZWlnaHQgdG8gYXZvaWQganVtcHMgYnR3ZWVuIHNob3cvaGlkZSBzdWJzY3JpcHRpb25cclxuICAgIH1cclxuXHJcbiAgICAmX19wcmljZSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgW2NsYXNzJD1cIi12YWx1ZVwiXSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IG1hcC1kZWVwLWdldCgkY2FydC1ib2R5LCBmb250LCBmYW1pbHkpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3ByaWNlLXZhbHVlIHtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3NhdmUsXHJcbiAgICAmX19tZW1iZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRzdW1tYXJ5LCBzYXZlLCBzaXplKTtcclxuICAgIH1cclxuXHJcbiAgICAmX19tZW1iZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkc3VtbWFyeSwgbWVtYmVyLCBjb2xvcik7XHJcblxyXG4gICAgICAgIC5jYXJ0X19zdW1tYXJ5LS1zdWJzY3JpYmUgJiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zYXZlLXZhbHVlLCAmX19tZW1iZXItdmFsdWUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY3VycmVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcHNldWRvLWJvcmRlcigkZWxlbWVudDogYmVmb3JlLCAkYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3IsICRtdDogbWFwLWRlZXAtZ2V0KCRjYXJ0LWJvZHksIGlubmVyLXNwYWNlLCBibG9jayksICRtcjogYXV0bywgJG1iOiBtYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGJsb2NrKSwgJG1sOiBhdXRvKTtcclxuICAgICAgICBwYWRkaW5nOiB7XHJcbiAgICAgICAgICAgIHRvcDogbWFwLWRlZXAtZ2V0KCRjYXJ0LWJvZHksIGlubmVyLXNwYWNlLCBibG9jaykgLyAyOyBcclxuICAgICAgICAgICAgYm90dG9tOiBtYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGJsb2NrKSAqIDEuNTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICZfX2N1cnJlbnQtdmFsdWUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRzdW1tYXJ5LCBjdXJyZW50LCBzaXplKTsgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkc3VtbWFyeSwgY3VycmVudCwgd2VpZ2h0KTtcclxuICAgIH1cclxuXHJcbiAgICAmX19wYXktcGVyaW9kIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lOyBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkc3VtbWFyeSwgcGF5LXBlcmlvZCwgc2l6ZSk7IGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJHN1bW1hcnksIHBheS1wZXJpb2QsIHdlaWdodCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmNhcnRfX3N1bW1hcnktLXN1YnNjcmliZSAmIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19wYXktb25jZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG5cclxuICAgICAgICAuY2FydF9fc3VtbWFyeS0tc3Vic2NyaWJlICYge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zaGlwcGluZyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IG1hcC1kZWVwLWdldCgkY2FydC1ib2R5LCBpbm5lci1zcGFjZSwgYmxvY2spOyBwYWRkaW5nLWJvdHRvbTogbWFwLWRlZXAtZ2V0KCRjYXJ0LWJvZHksIGlubmVyLXNwYWNlLCBibG9jayk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IG1hcC1kZWVwLWdldCgkY2FydC1ib2R5LCBmb250LCBmYW1pbHkpOyBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkc3VtbWFyeSwgc2hpcHBpbmcsIGZvbnQtc2l6ZSk7IGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJHN1bW1hcnksIHNoaXBwaW5nLCBmb250LXdlaWdodCk7IGxldHRlci1zcGFjaW5nOiAuMXJlbTsgY29sb3I6IG1hcC1kZWVwLWdldCgkc3VtbWFyeSwgc2hpcHBpbmcsIGNvbG9yKTtcclxuXHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIuNnJlbTsgY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxuXHJcbiAgICAmX19mb290ZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcbiAgICAgICAgcGFkZGluZzoge1xyXG4gICAgICAgICAgICByaWdodDogbWFwLWRlZXAtZ2V0KCRjYXJ0LWJvZHksIGlubmVyLXNwYWNlLCBpbmxpbmUpOyBcclxuICAgICAgICAgICAgYm90dG9tOiBtYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGJsb2NrKSAqIDI7XHJcbiAgICAgICAgICAgIGxlZnQ6IG1hcC1kZWVwLWdldCgkY2FydC1ib2R5LCBpbm5lci1zcGFjZSwgaW5saW5lKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGFiZWwge1xyXG4gICAgICAgIEBpbmNsdWRlIHVzZXItc2VsZWN0O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAgXHJcbiAgICAgICAgZm9udC1zaXplOiAwOyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTsgYmFja2dyb3VuZDogbWFwLWRlZXAtZ2V0KCRjbHViLCBsYWJlbCwgYmcpOyBiYWNrZ3JvdW5kOiBtYXAtZGVlcC1nZXQoJGNsdWIsIGxhYmVsLCBncmFkaWVudCk7IGJvcmRlci1yYWRpdXM6IG1hcC1kZWVwLWdldCgkY2x1YiwgbGFiZWwsIHJhZGl1cyk7IGJveC1zaGFkb3c6IG1hcC1kZWVwLWdldCgkY2x1YiwgbGFiZWwsIGJveC1zaGFkb3cpO1xyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgJiB+IC5jYXJ0X19kaXNjbGFpbWVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnaG92ZXInLCAnZmluZScpIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogI3ttYXAtZGVlcC1nZXQoJGNsdWIsIGxhYmVsLCBpbm5lci1zcGFjZSkgKiAxLjV9OyAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje21hcC1kZWVwLWdldCgkY2x1YiwgbGFiZWwsIGlubmVyLXNwYWNlKX0pOyBtYXJnaW4tbGVmdDogLSN7bWFwLWRlZXAtZ2V0KCRjbHViLCBsYWJlbCwgaW5uZXItc3BhY2UpIC8gMn07IHBhZGRpbmc6ICN7bWFwLWRlZXAtZ2V0KCRjbHViLCBsYWJlbCwgaW5uZXItc3BhY2UpICogMS41fSBtYXAtZGVlcC1nZXQoJGNsdWIsIGxhYmVsLCBpbm5lci1zcGFjZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NoZWNrYm94IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleDogMCAwIG1hcC1nZXQoJGNoZWNrYm94LCBzaXplKTsgaGVpZ2h0OiBtYXAtZ2V0KCRjaGVja2JveCwgc2l6ZSk7IG1hcmdpbi1yaWdodDogbWFwLWdldCgkY2hlY2tib3gsIG91dGVyLXNwYWNlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjaGVja2JveCwgYmcpOyBib3JkZXI6IG1hcC1nZXQoJGNoZWNrYm94LCBib3JkZXIpIG1hcC1nZXQoJGNoZWNrYm94LCBib3JkZXItY29sb3IpOyBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRjaGVja2JveCwgcmFkaXVzKTtcclxuXHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyBcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRjaGVja2JveCwgaWNvbik7IGNvbG9yOiBtYXAtZ2V0KCRjaGVja2JveCwgdGljayk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNoZWNrZWQge1xyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zdWJzY3JpYmUtdGV4dCB7XHJcbiAgICAgICAgYiB7XHJcbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkY2x1YiwgbGFiZWwsIGJvbGQtc2l6ZSk7IGNvbG9yOiBtYXAtZGVlcC1nZXQoJGNsdWIsIGxhYmVsLCBib2xkLWZpcnN0KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkY2x1YiwgbGFiZWwsIGJvbGQtbGFzdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGlzY2xhaW1lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IGFic29sdXRlOyBwYWRkaW5nOiAje21hcC1nZXQoJGFncmVlbWVudCwgaW5uZXItc3BhY2UpICogMn0gI3ttYXAtZ2V0KCRhZ3JlZW1lbnQsIGlubmVyLXNwYWNlKSAqIDEuNX07XHJcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJGFncmVlbWVudCwgZm9udCwgc2l6ZSk7IGZvbnQtd2VpZ2h0OiBtYXAtZGVlcC1nZXQoJGFncmVlbWVudCwgZm9udCwgd2VpZ2h0KTsgbGV0dGVyLXNwYWNpbmc6IG1hcC1kZWVwLWdldCgkYWdyZWVtZW50LCBmb250LCBzcGFjaW5nKTsgdGV4dC1hbGlnbjogY2VudGVyOyBsaW5lLWhlaWdodDogMS4yOyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhZ3JlZW1lbnQsIGJnKTsgYm9yZGVyOiBtYXAtZ2V0KCRhZ3JlZW1lbnQsIGJvcmRlcik7IGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGFncmVlbWVudCwgcmFkaXVzKTsgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AtbWlkJykge1xyXG4gICAgICAgICAgICBsZWZ0OiBtYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGlubGluZSk7IHJpZ2h0OiBtYXAtZGVlcC1nZXQoJGNhcnQtYm9keSwgaW5uZXItc3BhY2UsIGlubGluZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wLW1pZCcpIHtcclxuICAgICAgICAgICAgdG9wOiAtNXJlbTsgcmlnaHQ6IC0xN3JlbTsgd2lkdGg6IDI0LjRyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2xpbmtzIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7IGNvbG9yOiBtYXAtZGVlcC1nZXQoJGFncmVlbWVudCwgZm9udCwgbGluayk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jdGEge1xyXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnVsbGV0cy1saXN0IHtcclxuICAgIC5jYXJ0X19zZWN0aW9uLS1jbHViICYge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogbWFwLWRlZXAtZ2V0KCRjbHViLCBsaXN0LWl0ZW0sIGlubmVyLXNwYWNlKTtcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICAuY2FydF9fc2VjdGlvbi0tY2x1YiAmIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZGVlcC1nZXQoJGNsdWIsIGxpc3QtaXRlbSwgZm9udC1zaXplKTsgZm9udC13ZWlnaHQ6IG1hcC1kZWVwLWdldCgkY2x1YiwgbGlzdC1pdGVtLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIC5jYXJ0X19zZWN0aW9uLS1jbHViICYge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogbWFwLWRlZXAtZ2V0KCRjbHViLCBsaXN0LWl0ZW0sIG91dGVyLXNwYWNlKTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pY29uIHtcclxuICAgICYtLWxpc3QtaXRlbSB7XHJcbiAgICAgICAgLmNhcnRfX3NlY3Rpb24tLWNsdWIgJiB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRjbHViLCBsaXN0LWl0ZW0sIGljb24tc2l6ZSk7IGNvbG9yOiBtYXAtZGVlcC1nZXQoJGNsdWIsIGxpc3QtaXRlbSwgaWNvbi1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkBtaXhpbiBwc2V1ZG8tYm9yZGVyKCRlbGVtZW50OiBhZnRlciwgJHdpZHRoOiA0NXB4LCAkYm9yZGVyLWNvbG9yOiAkYmxhY2ssICRtdDogMXJlbSwgJG1yOiAwLCAkbWI6IDIuNXJlbSwgJG1sOiAwKSB7XHJcbiAgICAmOjojeyRlbGVtZW50fSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAkd2lkdGg7IG1hcmdpbjogJG10ICRtciAkbWIgJG1sO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vLSBmdW5jdGlvbmFsaXR5IHJlbGF0ZWQgbWl4aW5zXHJcbkBtaXhpbiB1c2VyLXNlbGVjdCB7XHJcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG59IiwiQGltcG9ydCAndmFyaWFibGVzJztcclxuXHJcbi5hYm91dCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhYm91dCwgYmcpO1xyXG4gICAgXHJcbiAgICBbY2xhc3NePSdjb250YWluZXInXSB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDsgXHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCIuIGZpZ3VyZVwiIFwidGl0bGUgZmlndXJlXCIgXCJjb250ZW50IGZpZ3VyZVwiO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtYXAtZGVlcC1nZXQoJGFib3V0LCBpbWcsIHdpZHRoKTtcclxuICAgICAgICBncmlkLWNvbHVtbi1nYXA6IG1hcC1kZWVwLWdldCgkYWJvdXQsIGdyaWQsIGdhcCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBncmlkLWFyZWE6IGZpZ3VyZTtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSxcclxuICAgICZfX3RleHQge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJGFib3V0LCBmb250LCBjb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIEBpbmNsdWRlIHBzZXVkby1ib3JkZXIoJGJvcmRlci1jb2xvcjogJHdoaXRlKTtcclxuICAgICAgICBncmlkLWFyZWE6IHRpdGxlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RleHQge1xyXG4gICAgICAgIGdyaWQtYXJlYTogY29udGVudDsgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkYWJvdXQsIG91dGVyLXNwYWNlKTtcclxuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkYWJvdXQsIGZvbnQsIHNpemUpOyBsaW5lLWhlaWdodDogbWFwLWRlZXAtZ2V0KCRhYm91dCwgZm9udCwgaGVpZ2h0KTtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xyXG5cclxuLmZhcSB7IFxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIEBpbmNsdWRlIHBzZXVkby1ib3JkZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC5hY2NvcmRpb24sIFxyXG4uZmFxLWxpc3Qge1xyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICAgICBcclxuICAgICAgICAvLyBAYXQtcm9vdCAuYWNjb3JkaW9uX19pdGVtIHtcclxuICAgICAgICAvLyAgICAgcGFkZGluZy1sZWZ0OiBtYXAtZGVlcC1nZXQoJGZhcSwgaWNvbiwgc2l6ZSk7XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGZhcSwgb3V0ZXItc3BhY2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19xdWVzdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG5cclxuICAgICAgICAvLyBAYXQtcm9vdCAuYWNjb3JkaW9uX19xdWVzdGlvbiB7XHJcbiAgICAgICAgLy8gICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgLy8gICAgICAgICBjb250ZW50OiAnJzsgd2lkdGg6IG1hcC1kZWVwLWdldCgkZmFxLCBpY29uLCBzaXplKTsgaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJGZhcSwgaWNvbiwgc2l6ZSk7IG1hcmdpbi1sZWZ0OiAtI3ttYXAtZGVlcC1nZXQoJGZhcSwgaWNvbiwgc2l6ZSl9O1xyXG4gICAgICAgIC8vICAgICAgICAgYm9yZGVyOiB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgd2lkdGg6IG1hcC1kZWVwLWdldCgkZmFxLCBpY29uLCBzaXplKSAvIDI7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxyXG4gICAgICAgIC8vICAgICAgICAgICAgIHJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgbGVmdC1jb2xvcjogY3VycmVudENvbG9yOyBcclxuICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgfVxyXG5cclxuICAgICAgICAvLyAgICAgJlthcmlhLWV4cGFuZGVkID0gdHJ1ZV0ge1xyXG4gICAgICAgIC8vICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogbWFwLWRlZXAtZ2V0KCRmYXEsIGljb24sIHNpemUpIC0gMnB4O1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcclxuICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19hbnN3ZXIge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IGZvbnQtc2l6ZTogbWFwLWRlZXAtZ2V0KCRmYXEsIGFuc3dlciwgc2l6ZSk7IGxpbmUtaGVpZ2h0OiAxLjc1O1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje21hcC1kZWVwLWdldCgkZmFxLCBpY29uLCBzaXplKX0pOyBtYXJnaW4tbGVmdDogLSN7bWFwLWRlZXAtZ2V0KCRmYXEsIGljb24sIHNpemUpIC8gMn07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvOyBoZWlnaHQ6IDUwcmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xyXG5cclxuLnByb2R1Y3Qge1xyXG4gICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGlubmVyLXNwYWNlLCBkZXNrdG9wKSAqIDEuNTsgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJHByb2R1Y3QsIGlubmVyLXNwYWNlKTtcclxuICAgIFxyXG4gICAgW2NsYXNzXj0nY29udGFpbmVyJ10ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGlubmVyLXNwYWNlLCBkZXNrdG9wKSAqIDI7IHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJGlubmVyLXNwYWNlLCBkZXNrdG9wKSAqIDI7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLSN7bWFwLWdldCgkaW5uZXItc3BhY2UsIGRlc2t0b3ApICogMS41fTsgbGVmdDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7IGJvcmRlci10b3A6IG1hcC1kZWVwLWdldCgkcHJvZHVjdCwgYm9yZGVyLCBzaXplKSBtYXAtZGVlcC1nZXQoJHByb2R1Y3QsIGJvcmRlciwgY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWctd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tcmlnaHQ6IG1hcC1kZWVwLWdldCgkcHJvZHVjdCwgZ3JpZCwgZ2FwKTtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IHdpZHRoOiA0OHJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmX19iYWRnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtMjUlOyB0b3A6IC0uNXJlbTsgd2lkdGg6IDE2cmVtO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ltZyB7XHJcbiAgICAgICAgIHdpZHRoOiBhdXRvOyBoZWlnaHQ6IDM0LjJyZW07IG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgcHNldWRvLWJvcmRlcjtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0OyBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xyXG4gICAgfVxyXG5cclxuICAgIC5jdGEtd3JhcCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogbWFwLWRlZXAtZ2V0KCRwcm9kdWN0LCBjdGEsIG91dGVyLXNwYWNlKSAqIDM7IG1hcmdpbi1ib3R0b206IG1hcC1kZWVwLWdldCgkcHJvZHVjdCwgY3RhLCBvdXRlci1zcGFjZSkgKiA0O1xyXG4gICAgfVxyXG5cclxuICAgIC5jdGEge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XHJcblxyXG4uZm9vdGVyIHtcclxuICAgIGJvcmRlci10b3A6IG1hcC1kZWVwLWdldCgkZm9vdGVyLCBib3JkZXIsIHNpemUpIG1hcC1kZWVwLWdldCgkZm9vdGVyLCBib3JkZXIsIGNvbG9yKTtcclxuXHJcbiAgICBwIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS43NTsgbGV0dGVyLXNwYWNpbmc6IC4wOHJlbTtcclxuICAgIH1cclxufVxyXG4iXX0= */
