html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}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}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html,body{background:#eee;color:#333;font-family:"Open Sans", sans-serif;text-rendering:optimizeLegibility;font-size:1em;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}h1,h2,h3,h4,h5,h6{line-height:1.5;margin-bottom:1em;font-weight:700}h1{font-size:2.188em}h2{font-size:1.875em}h3{font-size:1.625em}h4{font-size:1.438em}h5{font-size:1.125em}p{font-size:1em}hr{border:none;background:#cdcdcd;height:1px;margin:20px 0}i,em{font-style:italic}b,strong{font-weight:600}small{font-size:80%}a{color:#00aeef}a:hover{color:#009bd6;text-decoration:none}ul li,ol li{line-height:1.5}.unstyle{list-style:none;padding:0}.content-unclickable{cursor:not-allowed}.content-unclickable>*{pointer-events:none}input:focus::-webkit-input-placeholder{color:transparent}input:focus::-moz-placeholder{color:transparent}.form-control{background:#fefefe;border:1px solid #cdcdcd;height:40px;padding:6px 15px;box-shadow:none;font-size:1em}label{display:block}input[type="search"]{-webkit-transition:all 0.1s ease;-moz-transition:all 0.1s ease;transition:all 0.1s ease;box-sizing:border-box;border-radius:3px;padding:10px 15px;background:none;border:1px solid rgba(51,51,51,0.1)}input[type="search"]:focus{background:#ffffff}.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px;vertical-align:middle}.form__separator{margin:15px 0;font-weight:600;line-height:1.5;text-align:center;text-transform:uppercase}.btn{display:inline-block;width:auto;border:none;border-radius:3px;box-shadow:none;outline:none;font-weight:500;font-size:1em;text-decoration:none;-webkit-tap-highlight-color:transparent}.btn:hover,.btn:focus,.btn:active{box-shadow:none}.btn-large{padding:12px;font-size:1.125em}.btn-block{display:block;width:100%}.btn-outline{padding:12px 30px;font-size:16px;font-weight:600}.btn-primary{background:#8dc63f;color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:#72a230;color:#fff}.btn-secondary{background:#ff9100;color:#fff}.btn-secondary:hover,.btn-secondary:focus,.btn-secondary:active{background:#cc7400;color:#fff}.btn-default{background:#b2b2b2;color:#ffffff}.btn-default:hover,.btn-default:focus,.btn-default:active{background:#999}.btn-outline{background:#ffffff;border:1px solid #D3D3D3;color:#000000}.btn-outline:hover,.btn-outline:focus,.btn-outline:active{border-color:#00AEEF;color:#00AEEF}.sign-in .btn-outline{font-size:inherit;padding:7px 17px}.sign-in{margin-left:0px}.linkedin-signin{background:#4875b4;color:#fff}.linkedin-signin:hover,.linkedin-signin:focus,.linkedin-signin:active{background:#395d90;color:#fff}#wrap{min-height:100%;margin-bottom:-166px;background:#eee}#wrap::after{clear:both;content:"";display:table}#content-push{padding-top:30px}@media only screen and (max-width: 767px){#content-push{padding-top:25px}}@media only screen and (max-width: 479px){#content-push{padding-top:15px}}.site-landing__courses,.products-wrapper,.student-dashboard-wrapper,.checkout-form,.student-profile{max-width:1250px;margin:0 auto;padding:35px 0}.student-dashboard-wrapper{padding-top:0}.site-landing__courses{padding-top:60px}@media only screen and (max-width: 479px){.site-landing__courses,.products-wrapper,.student-dashboard-wrapper,.checkout-form,.student-profile{padding:20px 0}}.column{padding-left:75px;padding-right:75px}@media only screen and (min-width: 992px){.column{padding-left:100px;padding-right:100px}}@media only screen and (max-width: 991px){.column{padding-left:55px;padding-right:55px}}@media only screen and (max-width: 767px){.column{padding-left:25px;padding-right:25px}}@media only screen and (max-width: 479px){.column{padding-left:15px;padding-right:15px}}.visible{display:inline-block !important}.card{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff}.card::after{clear:both;content:"";display:table}.card--block{display:block}.card--padding-5{padding:5px}.card--padding-15{padding:15px}.card--padding-20{padding:20px}.card--bottom-margin-10{margin-bottom:10px}.card--bottom-margin-20{margin-bottom:20px}.course-card{height:376px;margin-bottom:30px;cursor:pointer;text-align:center}.course-card__img{border-top-left-radius:3px;border-top-right-radius:3px;width:100%;height:auto}.course-card__img-container{border-top-left-radius:3px;border-top-right-radius:3px;position:relative;overflow:hidden;max-height:220px}.course-card__img-container .progress-percentage{position:absolute;top:0;right:0;bottom:0;left:0;line-height:170px;font-size:52px;text-align:center;background-color:rgba(0,0,0,0.6);color:white;font-weight:600}.course-card__body{padding:20px 20px 10px}.course-card__instructor-name{font-size:0.875em}.course-card__price{color:#00aeef;font-weight:600;font-size:0.875em;text-align:right;line-height:1;word-wrap:break-word}.course-card__price .free{text-transform:uppercase}.course-card__title{color:#5b5b5b;font-size:1.125em;margin-bottom:2px}.course-card__title a{color:#333}.course-card__description,.course-card__subtitle{margin-bottom:10px;color:#737373;font-size:0.938em}.course-card__cta{position:absolute;bottom:0;left:0;width:100%;margin-bottom:20px;padding:0 20px}.course-card__cta .btn{padding:8px}.course-card__cta a{margin-bottom:5px}.course-card__cta a:last-of-type{margin-bottom:0}.course-card__cta-secondary{margin-bottom:10px}.progress-card{cursor:default}.progress-card .course-card__body{padding-top:10px}.progress-card .progress-card-progress{padding-top:10px}.progress-card .progress-completion{color:#333;font-size:1.875em;text-align:center}.progress-card .progress-line{position:relative;display:inline-block;overflow:hidden;width:100%;height:3px;margin:10px 0}.progress-card .progress-line .progress-line-percent{position:absolute;top:0;left:0;height:100%;background-color:#00aeef}.progress-card .progress-line .progress-line-bar{height:3px;background:#cdcdcd}.course-card__cta__view-details{display:block;text-align:center;margin-top:10px}.course-card__cta__view-details:hover{text-decoration:underline}.card-price{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);transform:rotate(45deg);position:absolute;top:17px;right:-35px;padding:3px 30px;background:#8dc63f none;color:white;border:1px solid #8dc63f;text-transform:uppercase;font-weight:600;min-width:130px;text-align:center}@media screen and (min-width: 992px){.course-card__img-container{max-height:185px}}@media screen and (min-width: 768px) and (max-width: 991px){.course-card{height:471px}.course-card__img-container{max-height:235px}.course-card__title{font-size:1.063em}}@media screen and (max-width: 767px){.course-card{max-width:370px;height:auto;margin-top:0;margin-right:auto;margin-left:auto;padding-bottom:20px}.course-card__cta{position:relative;margin-bottom:0}.course-card__body .star-rating{margin:10px 0}}header{padding-top:20px;padding-bottom:20px;background:#fff;font-weight:bold}header a{color:#000;padding:5px 20px 5px 10px}header a:hover,header a:active,header a:focus{color:#00aeef}header .my-account{padding:7px 17px;border:1px solid #D3D3D3;border-radius:4px;font-size:12px;line-height:1.5}header .my-account:hover,header .my-account:active,header .my-account:focus{border-color:#00aeef}.banner_top{width:100%;min-height:42px;background:#000;color:#fff;margin:-20px auto 20px auto;text-align:center;padding:12px 10px}a.banner_link{color:#FFFFFF;text-decoration:underline}a.banner_exit{font-size:20px;font-weight:800;line-height:20px;float:right;color:#999}.header-logo__image{width:auto;max-height:35px;margin-right:20px}.header-school-name{display:inline-block;margin-right:20px;font-size:1.875em}.header-nav__list{list-style:none;padding:0;margin:0;width:100%}.header-nav__item{font-size:0.875em;cursor:pointer}.dropdown.open>a,.dropdown.open>a:hover,.dropdown.open>a:focus{background:none;color:#000}.header-user-avatar{border-radius:50%;height:25px;width:25px;margin:-25px 5px -21px}.dropdown{margin-left:15px}.dropdown-toggle{margin-left:10px}.dropdown-menu{top:45px;right:0;left:auto;border-radius:0;background:#fff;border:0}.dropdown-menu>li{text-align:right}.dropdown-menu>li>a{color:#000;font-weight:inherit}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:active,.dropdown-menu>li>a:focus{color:#00aeef;background-color:#f3f3f3}.header-nav__mobile-btn{display:none;margin-right:0;padding:6px 10px;color:#000;border:1px solid #000;background:none;border-radius:3px}.header-nav__mobile-btn:hover,.header-nav__mobile-btn:active,.header-nav__mobile-btn:focus{color:#fff;background-color:#000}@media only screen and (min-width: 992px){header .column{display:table;width:100%}.header-logo__container{display:table-cell;width:1px;white-space:nowrap}.header-nav__container{display:table-cell;vertical-align:middle}.header-nav{display:table;width:100%}.header-nav__list{display:table-cell}.header-nav__left,.header-nav__right{width:auto}.header-nav__right{text-align:right}.header-nav__item{display:inline-block;vertical-align:sub;margin-top:10px}}@media only screen and (max-width: 991px){.header-nav{padding-top:15px}.header-school-name{margin-right:85px}.header-nav__container{display:none}.header-nav__container.open{display:block}.header-nav__item{display:block;text-align:center;font-size:0.938em;margin-top:20px}.header-nav__link{display:block;padding:10px 0}.header-logo__container{position:relative}.header-nav__mobile-btn{position:absolute;display:block;top:50%;right:0;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.dropdown{display:none}}footer,#wrap:after{min-height:173px}footer{margin-left:auto;margin-right:auto;background:#333;padding:30px 0;color:#fff}footer a{color:#fff}footer a:hover,footer a:active,footer a:focus{color:#fff;text-decoration:underline}.footer-nav{list-style:none;padding:0;margin:0 0 30px 0}.footer-nav__item{display:inline-block;font-size:0.750em}.footer-copyright{font-size:0.750em;line-height:1.5}.footer-powered-by{font-size:0.750em}@media only screen and (min-width: 1600px){footer{margin-left:auto;margin-right:auto;border-left:1px solid #d5d5d5;border-right:1px solid #d5d5d5}}@media only screen and (max-width: 767px){.footer-copyright{padding:15px 0}.footer-nav__item{display:block;padding:7px 0}}@media only screen and (min-width: 768px){.footer-nav__item+.footer-nav__item{margin-left:15px}.footer-nav{text-align:right}}.star-rating{position:relative;display:inline-block;overflow:hidden;width:90px;height:18px;background:url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cG9seWdvbiBmaWxsPSIjREREREREIiBwb2ludHM9IjEwLDAgMTMuMDksNi41ODMgMjAsNy42MzkgMTUsMTIuNzY0IDE2LjE4LDIwIDEwLDE2LjU4MyAzLjgyLDIwIDUsMTIuNzY0IDAsNy42MzkgNi45MSw2LjU4MyAiLz48L3N2Zz4=");background-size:contain;font-size:0;white-space:nowrap}.star-rating i{position:absolute;top:0;left:0;z-index:1;width:20%;height:100%;opacity:0;background:url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDIwIDIwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cG9seWdvbiBmaWxsPSIjRkZERjg4IiBwb2ludHM9IjEwLDAgMTMuMDksNi41ODMgMjAsNy42MzkgMTUsMTIuNzY0IDE2LjE4LDIwIDEwLDE2LjU4MyAzLjgyLDIwIDUsMTIuNzY0IDAsNy42MzkgNi45MSw2LjU4MyAiLz48L3N2Zz4=");background-size:contain}.star-rating input{position:relative;z-index:2;display:inline-block;width:20%;height:100%;margin:0;padding:0;opacity:0;-webkit-appearance:none;-moz-appearance:none}.star-rating i ~ i{width:40%}.star-rating i ~ i ~ i{width:60%}.star-rating i ~ i ~ i ~ i{width:80%}.star-rating i ~ i ~ i ~ i ~ i{width:100%}.star-rating__input input{position:relative}.star-rating__input input:hover+i,.star-rating__input input:checked+i{opacity:1}.star-rating__filled{position:relative}.star-rating__filled i{opacity:1}.star_rating__single{width:25px}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{background-color:#f3f3f3;border-color:#cdcdcd;color:#00aeef}.pagination>li>a,.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span{color:#00aeef;border:1px solid #cdcdcd}.site-landing__banner{position:relative;height:300px;background-size:cover;background-position:center center !important;background-repeat:no-repeat;color:#fff}.site-landing__banner-content{-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);transform:translate(-50%, -50%);position:absolute;top:50%;left:50%;width:100%;max-width:1250px;text-align:center}.site-landing__banner--title{font-weight:bold;font-size:46px}.site-landing__banner--subtitle{font-size:24px}.product-cards__container::after{clear:both;content:"";display:table}@media only screen and (min-width: 992px){.product-cards__container{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.product-cards__container:before,.product-cards__container:after{content:normal}}.white-box{padding:30px 17px;border-radius:3px;background-color:#fff;text-align:center}.grid-image{display:block;width:auto;margin:20px auto}.white-box.transparent{border-style:none;background-color:transparent}.h_box_title{color:#2f3638;font-size:24px;line-height:28px;font-weight:700;letter-spacing:1px}.h_box_paragraph{margin-bottom:20px;min-height:100px;color:#5c6365;font-size:16px;line-height:24px;font-weight:400;letter-spacing:1px}.h_box_paragraph_short{margin-bottom:20px;color:#5c6365;font-size:16px;line-height:24px;font-weight:400;letter-spacing:1px}.h_section{position:relative;padding:0px 10px 80px 10px;text-align:center}.h-container{margin-left:auto;margin-right:auto;margin-top:60px;padding-right:15px;max-width:940px}.h-container:before,.h-container:after{content:" ";display:table}.h-container:after{clear:both}.h-container .h-row{margin-left:-10px;margin-right:-10px}.h-row:before,.h-row:after{content:" ";display:table}.h-row:after{clear:both}.h-row .h-row{margin-left:0;margin-right:0}.h-col{position:relative;float:left;width:100%;min-height:1px;padding-left:15px;overflow:hidden}.h-col .h-col{padding-left:0;padding-right:0}.h-col-1{width:8.33333333%}.h-col-2{width:16.66666667%}.h-col-3{width:25%}.h-col-4{width:33.33333333%}.h-hidden-main{display:none !important}@media screen and (max-width: 991px){.h-container{max-width:728px}.h-hidden-main{display:inherit !important}.h-hidden-medium{display:none !important}.h-col-stack{width:100%;left:auto;right:auto}}@media screen and (max-width: 767px){.h-hidden-main{display:inherit !important}.h-hidden-medium{display:inherit !important}.h-hidden-small{display:none !important}.h-row,.h-container .h-row{margin-left:0;margin-right:0}.h-col{width:100%;left:auto;right:auto}.white-box{margin-bottom:20px}h1{font-weight:800 !important;font-size:30px !important}.alc-banner__subtitle{font-size:16px !important;font-weight:600 !important}}@media screen and (max-width: 479px){.h-container{max-width:none}.h-hidden-main{display:inherit !important}.h-hidden-medium{display:inherit !important}.h-hidden-small{display:inherit !important}.h-hidden-tiny{display:none !important}.h-col{width:100%}h1{font-weight:800 !important;font-size:30px !important}.alc-banner__subtitle{font-size:16px !important;font-weight:600 !important}}a.btn_nav_primary{display:inline-block;margin-right:10px;margin-left:10px;padding:5px 15px !important;border:1px solid #8dc63f !important;border-radius:3px !important;background-color:#8dc63f !important;color:#fff !important;font-size:12px;font-weight:700;text-align:center;text-decoration:none;text-transform:none}a.btn_nav_primary:hover{border-color:#5c8326;background-color:#5c8326;color:#fff}.btn_nav{color:#FFF !important}@media only screen and (max-width: 991px){.site-landing__banner--title{font-size:35px}.site-landing__banner--subtitle{font-size:22px}}@media only screen and (max-width: 767px){.site-landing__banner{height:300px}.site-landing__banner--title{font-size:1.875em;margin-top:0}.site-landing__banner--subtitle{font-size:1.250em;margin:0}}@media only screen and (max-width: 479px){.site-landing__banner{height:250px}.site-landing__banner--title{font-size:1.625em}.site-landing__banner--subtitle{font-size:0.938em}}.product-landing{background:#ffffff;font-size:1em;line-height:1.8}.product-landing section{padding-top:60px;padding-bottom:60px}.product-landing section::after{clear:both;content:"";display:table}.product-landing section p:last-of-type{margin-bottom:0}.product-landing section p a{color:#00aeef}.product-landing section p a:hover{text-decoration:underline}.product-landing .section-title{margin:0 0 42px;color:#00aeef;font-weight:200;font-size:2.250em}.course-contact-info{font-weight:bold}.product-banner{position:relative;width:100%}.product-banner .title-block{width:75%;margin:auto;padding:0;font-weight:900;text-align:center}.product-banner .product__title{margin:0 0 30px;color:#fff;font-weight:300;font-size:2.438em}.product-banner .product__subtitle{display:block;color:#fff;font-weight:400;font-size:1em}.product-banner .product__private-title{color:#fff;line-height:1}.product-banner .product__private-title i{font-size:1.125em;vertical-align:middle}.btn-intro-video{border:1px solid #fff;background:none;color:#fff;font-size:1em}.btn-intro-video:hover,.btn-intro-video:focus,.btn-intro-video:active{border:1px solid #fff;background:#fff;color:#00aeef}@media only screen and (max-width: 479px){.btn-intro-video{padding-left:12px;padding-right:12px}}.product-main-cta{text-align:center}.product-main-cta .btn{padding:15px 40px;font-weight:400;font-size:1.250em}.product-body-button-block .bundle-cta-tagline{color:#333}.product-overview img{max-width:100%}.product-overview .readmore{position:relative}.product-overview .readmore-toggle{margin-top:26px}.course-contact-info{margin:0}.course-contact-info p{margin:10px 0}.course-review__container{margin-bottom:48px}.course-review__container:last-of-type{margin-bottom:0}.course-review__name{margin-bottom:18px}.course-review__stars{margin-bottom:12px}.course-review__title{margin-bottom:12px;font-weight:normal}.review-button{display:inline-block;margin-top:30px;cursor:pointer}.chapter-info{padding:0;list-style:none}.chapter-info li{float:left;display:inline-block;margin:0 5px 5px 0;padding:2px 10px 0;border-radius:3px;background:#f3f3f3;color:#333}.chapter-info i{color:#00aeef;font-size:1.125em;vertical-align:middle}.chapter-info span{font-weight:600;font-size:0.688em}.toggle-content{padding:5px 0;background:#f3f3f3;color:#747474;font-weight:600;font-size:0.813em;text-align:center;cursor:pointer}.label{border-radius:3px;display:inline-block;padding:2px 5px;margin:0 5px;float:left;background:#00aeef;color:#fff}.label-free{background:#54c670;float:none}.product-landing .course-promotion{padding:0}.product-landing .course-promotion .coupon{padding:10px;font-size:1em}.product-landing .course-promotion .valid-coupon{background-color:#54c670;color:#fff}.product-landing .course-promotion .invalid-coupon{background-color:#ffed8f;color:#8f7800}@media only screen and (max-width: 767px){.product-landing section{padding-top:40px;padding-bottom:40px}.product-landing section p,.product-landing section ul{font-size:0.938em}.product-landing .product__title{font-size:1.750em !important}.product-landing .section-title{margin-bottom:24px;font-size:1.750em !important}.product-landing .title-block{width:90%}}@media only screen and (max-width: 479px){.product-landing .product-main-cta .btn{padding:12px;font-size:1.125em}}.high-convert-landing .btn-intro-video{margin-bottom:10px}.high-convert-landing .product-main-cta{margin-top:30px}.high-convert-landing .course-instructor{margin-top:48px;background:#f3f3f3;color:#333}.high-convert-landing .course-instructor img{max-width:100%}.high-convert-landing .course-instructor .instructor__img-wrap{margin-top:-120px;text-align:center}.high-convert-landing .course-instructor .instructor__img{border-radius:50%;margin-bottom:10px;height:162px;width:162px;border:5px solid #ffffff}.high-convert-landing .course-instructor .instructor__details{margin-bottom:36px}.high-convert-landing .course-instructor .instructor__name{font-size:1.250em;font-weight:600;text-align:center}.high-convert-landing .course-instructor .instructor__title{text-align:center}.high-convert-landing .course-curriculum{background:#e6e6e6}.high-convert-landing .course-curriculum .section-title{color:#333}.high-convert-landing .course-curriculum .curriculum-chapter{margin:0 0 10px 0 !important}.high-convert-landing .course-curriculum .curriculum-chapter-header{padding:10px 15px !important;background:#00aeef !important}.high-convert-landing .course-curriculum .curriculum-chapter-header .chapter-time{color:#fff;text-align:right}.high-convert-landing .course-curriculum .chapter-header{font-weight:bold;color:#fff}.high-convert-landing .course-curriculum .chapter-list-item__link{display:block}.high-convert-landing .course-curriculum .chapter-list-item__link:hover{background:#f3f3f3}.high-convert-landing .course-curriculum .chapter-list-item{position:relative;padding:5px 45px 5px 15px;color:#333}.high-convert-landing .course-curriculum .chapter-list-item i{-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);position:absolute;top:50%;right:25px;font-size:1.250em;color:#333}.high-convert-landing .course-curriculum .chapter-toggle{border-radius:0;border:0;background:#ffffff}.high-convert-landing .course-curriculum .course-main-cta{padding-top:36px}@media only screen and (max-width: 479px){.high-convert-landing .course-instructor{margin-top:60px}.high-convert-landing .instructor__img-wrap{margin-top:-80px}.high-convert-landing .instructor__img{height:108px;width:108px}.high-convert-landing .curriculum-chapter-header{padding:5px 15px !important}.high-convert-landing .toggle-content{padding:0 !important}.high-convert-landing .course-curriculum .chapter-time{text-align:left}}.curriculum-landing .course-actions{padding:25px 0;border-bottom:1px solid #cdcdcd;background:#f3f3f3}.curriculum-landing .section-title{color:#333}.curriculum-landing .btn-intro-video{margin-top:20px}.curriculum-landing .course-body{position:relative}.curriculum-landing .sidebar-filler{position:absolute;right:0;bottom:0;height:100%;border-left:1px solid #cdcdcd}.curriculum-landing .course-includes{margin-bottom:24px}.curriculum-landing .course-includes ul{display:inline;padding:0;color:#333;list-style:none}.curriculum-landing .course-includes li{display:inline-block;margin-right:3px;margin-bottom:6px;padding:5px 6px 3px 4px;border:1px solid #cdcdcd;border-radius:3px;background:#ffffff;color:#333;font-size:0.813em;white-space:nowrap}.curriculum-landing .course-includes li:last-of-type{margin-right:0}.curriculum-landing .course-includes i{color:#00aeef;font-weight:400;font-size:1.125em;line-height:1;vertical-align:middle}.curriculum-landing .course-curriculum{padding-right:20px}.curriculum-landing .curriculum-chapter+.curriculum-chapter{margin-top:16px}.curriculum-landing .chapter-toggle{padding:0;border:1px solid #cdcdcd;border-radius:3px;background:#ffffff}.curriculum-landing .curriculum-chapter-header{padding:10px 15px !important}.curriculum-landing .curriculum-chapter-header .chapter-time{color:#fff;text-align:right}.curriculum-landing .chapter-header{color:#00aeef;font-weight:600;line-height:1}.curriculum-landing .chapter-list{padding:5px 0}.curriculum-landing .chapter-list-item{position:relative;padding:5px 45px 5px 15px;color:#333;font-size:0.875em}.curriculum-landing .chapter-list-item i{-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);position:absolute;top:50%;right:25px;color:#333;font-size:1.250em}.curriculum-landing .chapter-time{float:right;display:inline-block;margin-top:8px;padding:0 10px;border-radius:50%;background:#00aeef;color:#fff;font-size:0.875em;text-align:center}.curriculum-landing .course-details{padding:0 0 40px 18px}.curriculum-landing .course-details .product-overview,.curriculum-landing .course-details .course-instructor{margin-bottom:48px}.curriculum-landing .course-details .social-icons{font-size:1px}.curriculum-landing .course-details .social-icons iframe{vertical-align:middle}.curriculum-landing .course-details .share-btn{display:inline-block;width:75px;vertical-align:middle}.curriculum-landing .course-details .less{overflow:hidden;height:270px}.curriculum-landing .course-details__section{margin-bottom:48px}.curriculum-landing .instructor__details{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center;margin:0 0 20px 0;font-weight:600}.curriculum-landing .instructor__img{width:70px;height:70px;margin-right:20px;border:1px solid #cdcdcd;border-radius:50%}.curriculum-landing .multi-product__description{padding:5px 10px;line-height:1.5}.curriculum-landing .multi-product__description .price{font-size:1em}.curriculum-landing .multi-product__description .title{font-size:0.875em}@media only screen and (max-width: 991px){.curriculum-landing .course-body .course-curriculum{margin-bottom:40px}.curriculum-landing .course-curriculum{padding-right:0}.curriculum-landing .course-details{padding:0}.curriculum-landing .sidebar-filler{display:none}}@media only screen and (max-width: 767px){.curriculum-landing .chapter-time{float:none;margin-top:12px}}@media only screen and (max-width: 479px){.curriculum-landing .course-includes{margin-bottom:24px}.curriculum-landing .course-actions{padding:10px}}.bundle-content{background:#f3f3f3}.bundle-content .section-title{color:#333}.bundle-cta-tagline{margin-top:10px;color:#fff}.bundle-content__item{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;padding:10px}.bundle-content__item::after{clear:both;content:"";display:table}.bundle-content__item .row{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center}.bundle-content__item-img{border-radius:3px;height:auto;width:100%}.bundle-content__item-title{font-size:1.125em}.bundle-content__item+.bundle-content__item,.bundle-content__item+.bundle-course--hidden,.bundle-course--hidden+.bundle-course--hidden{margin-top:12px}.bundle-see-more-content{padding-top:32px}@media only screen and (max-width: 479px){.bundle-content__item-title{font-size:1em}}.multi-products .multi-product__item,.course-multi-products .multi-product__item{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;margin:0 0 6px 0}.multi-products .multi-product__buy,.course-multi-products .multi-product__buy{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;padding:0}.multi-products .multi-product__cta,.course-multi-products .multi-product__cta{border-radius:0;display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-ms-flex-pack:center;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;font-size:1em}.multi-products .multi-product__description,.course-multi-products .multi-product__description{padding:10px 18px;background:#f3f3f3}.multi-products .multi-product__description .price,.course-multi-products .multi-product__description .price{line-height:1.5;font-weight:600}@media only screen and (max-width: 767px){.multi-products .multi-product__item,.course-multi-products .multi-product__item{display:block;margin-bottom:24px}.multi-products .multi-product__cta,.course-multi-products .multi-product__cta{padding:3px}}.user-sign-up .section-title{text-align:center;margin-bottom:30px}.user-sign-up .sign_up__or,.user-sign-up .sign_in__or{margin:15px auto;font-weight:600;line-height:1.5;text-align:center;text-transform:uppercase}.user-sign-up .help-block{display:none}.user-sign-up .has-error .help-block{font-size:0.750em;margin:0;padding:0;display:block}.user-sign-up .checkbox{margin:0}.user-sign-up .remember-me-link{line-height:21px}.user-sign-up .btn-primary{font-size:1.125em}.user-sign-up__alt-logins{text-align:center}.user-sign-up__alt-logins .btn+.btn{margin-left:10px}.user-sign-up__bottom{padding:30px;text-align:center}.user-sign-up__bottom a{font-size:0.938em;color:#333}.user-sign-up__bottom a:hover,.user-sign-up__bottom a:focus,.user-sign-up__bottom a:active{text-decoration:underline}.hootsuite-login{padding:20px;text-align:center}.hootsuite-login-box,.hootsuite-signup-box{padding:14px;display:inline-block;border:solid 2px #cdcdcd;background-color:#fff;margin-bottom:8px;position:relative}.hootsuite-login-box a,.hootsuite-signup-box a{position:absolute;top:0;left:0;right:0;bottom:0}.hootsuite-logo-svg{background-image:url(https://dii490k186y2s.cloudfront.net/1056/15693/hootsuite-logo-1475606848.svg);background-size:100%;background-repeat:no-repeat;height:34px;width:152px}.halved-login-container{position:relative;width:80%;text-align:center;margin:0 auto}.halved-login-container:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background-color:#999999}.hootsuite-signup-link{text-align:center;padding:30px 20px}.academy-login .sign-in-wrapper{display:none}.academy-login .sign-in-wrapper .checkbox{margin-top:0;margin-bottom:0;text-align:left}.user-sign-in .section-title{text-align:center}.user-sign-in .note{padding:15px}.sign-up-page,#users-checkout-auth #sign-up{max-width:440px}.sign-up-page .footnote,#users-checkout-auth #sign-up .footnote{font-size:0.6em}#users-checkout-auth #sign-up{margin:0 auto}@media only screen and (max-width: 991px){.halved-login-container:before{display:none}.user-sign-in .note{text-align:center}}@media only screen and (max-width: 767px){.user-sign-up .remember-me-link,.user-sign-up .forgot-password{font-size:0.875em}}@media only screen and (max-width: 479px){.hootsuite-login{padding-left:0;padding-right:0}.login__forgot-pass-link{display:block;width:100%;text-align:left;padding-top:7px;padding-bottom:7px;font-size:12px}.user-sign-up__alt-logins .btn+.btn{margin-top:5px;margin-left:0}}.products__filters{margin-bottom:35px}.products__filters select{-webkit-appearance:menulist;-moz-appearance:menulist;-ms-appearance:menulist;-o-appearance:menulist;appearance:menulist}.products__filters [type="search"]{width:100%}.student-dashboard__hero{padding:40px 30px 0;background:none;border-bottom:1px solid #eee}.student-dashboard__title{margin-top:0;font-size:1.875em;font-weight:bold;line-height:1;margin-bottom:20px;color:#2f3638}.student-dashboard__subtitle{font-size:1.2em;margin-bottom:40px;color:#2f3638}@media only screen and (max-width: 767px){.products__filter-box{margin-bottom:10px}.student-dashboard__hero{padding:20px 15px}.student-dashboard__title{font-size:1.625em}}.checkout-form-container__inner{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;padding:20px}.checkout-form-container__inner::after{clear:both;content:"";display:table}.checkout-form__body .section-title{margin:0 0 25px 0;line-height:1.25;font-size:1.250em}.checkout-form__bottom{padding-top:25px;text-align:center}.checkout-form__bottom a{color:#00aeef}.checkout-form__purchase{padding:0 10px;margin-bottom:15px;text-align:center}.checkout-form__purchase-img{border-radius:2px;max-width:180px;height:auto;margin-bottom:15px}.checkout-form__purchase-description{max-width:90%;margin:0 auto;font-size:1.4em}.order-security{padding-top:20px;margin-bottom:20px}.coupon-form__coupon-code [type="text"]{width:100%}img[src*="googleadservices.com"]{position:absolute;top:-2px;left:-2px}#progressbar{margin:0 auto 25px;padding:0;width:70%;counter-reset:step;list-style:none}#progressbar::after{clear:both;content:"";display:table}#progressbar li{list-style-type:none;color:#333;text-align:center;font-size:0.688em;width:50%;float:left;position:relative;z-index:2}#progressbar li:before{border-radius:50%;content:counter(step);counter-increment:step;width:20px;height:20px;line-height:20px;display:block;font-size:0.813em;color:#fff;background:#dadada;margin:0 auto 5px auto;z-index:2}#progressbar li:after{content:'';width:100%;height:1px;background:#dadada;position:absolute;left:calc( -50% + 10px);top:9px;z-index:-1}#progressbar li:first-child:after{content:none}#progressbar li.active:before,#progressbar li.active:after{background:#00aeef}.order-product__list{font-size:1.125em;margin-bottom:10px;text-align:left}.order-product__total-amount,.order-product__coupon-name{padding-top:12px}.order-product__coupon .coupon-check{margin-bottom:10px;text-align:right;font-size:1em}.order-product__coupon .coupon{padding:10px 0 20px}.checkout-auth-container .credit-card{padding-top:10px}.checkout-auth-container .credit-card .btn{margin-top:20px}.checkout-auth-container .credit-card__expiry-date .expiration-date{padding-top:11px}.checkout-auth-container .paypal-button-row{text-align:center}.checkout-auth-container .paypal-button-row__text{font-size:11px;margin:5px 0}.checkout-thankyou .multi-products{margin-bottom:50px;padding-top:20px}.checkout-thankyou__course{padding:5px 0}.checkout-thankyou__course+.checkout-thankyou__course{margin-top:8px}.checkout-thankyou__course:nth-of-type(even){background:#f3f3f3}.checkout-thankyou__course-name{font-size:1.125em;line-height:1.8}.checkout-bundle__more_enrollments_limit{margin:10px}@media only screen and (max-width: 767px){.checkout-thankyou__course-name,.checkout-thankyou__button{text-align:center}.checkout-thankyou__course{padding:10px}.checkout-thankyou__course:nth-of-type(even){background:none}}.checkout-auth-container #local-payment-errors,.checkout-auth-container #coupon-errors,.checkout-auth-container .payment-errors{display:none;color:red}.checkout-auth-container #local-payment-errors{margin-bottom:10px}.checkout-auth-container #coupon-errors{padding-top:10px;font-size:0.750em}.checkout-form #errors{border-radius:3px;list-style:none;font-weight:300;font-size:0.875em;background:#ffd4cc;color:#e75725;margin-top:20px;padding:15px;line-height:145%}.checkout-form .alert-error{font-size:0.750em;color:#e75725}.checkout-form .error-title{font-weight:bold;margin-bottom:5px}.checkout-form .alert-error a{text-decoration:underline;color:inherit}.checkout-form .alert-hide{display:none}.checkout-form .has-error .form-control{border-color:#e75725}.checkout-form #errors{margin-top:0;margin-bottom:20px}@media only screen and (min-width: 768px){.coupon-form__coupon-button .btn{padding:10px 15px}}@media only screen and (max-width: 767px){.credit-card__expiry-date{margin-bottom:10px}.credit-card__expiry-date .expiration-date{padding-top:0}.checkout-form-container .form-group{margin-bottom:12px}.checkout-form-container .section-title{font-size:1.125em}.checkout-form-container__inner{padding:15px}.coupon-form__coupon-code,.coupon-form__applied{margin-bottom:10px}.coupon-form__coupon-button{text-align:right}.coupon-form__coupon-button .btn{width:auto;min-width:100px}#progressbar{width:100%;margin-bottom:15px}#progressbar li:before{width:10px;height:10px;line-height:10px;content:"\00a0"}#progressbar li:after{left:calc( -50% + 5px);top:5px}.checkout-form__purchase-img{max-width:120px}.checkout-form__purchase-description{font-size:0.875em;width:100%}}@media only screen and (max-width: 479px){.order-product__list{font-size:0.875em}.order-product__coupon .coupon-check{font-size:0.875em;margin-bottom:20px}}.video-landing .product-banner{height:auto;padding:100px 0 240px}.video-landing .product__title{font-weight:bold}.video-landing .title-block{margin-bottom:15px}.video-landing .embed-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%}.video-landing .embed-container iframe,.video-landing .embed-container object,.video-landing .embed-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.video-landing .course-description{position:relative}.video-landing .course-video{width:50%;margin:-200px auto 60px;box-shadow:5px 5px 29px -6px rgba(0,0,0,0.39)}.video-landing .course-instructor{margin-top:48px;background:#f3f3f3;color:#333}.video-landing .course-instructor img{max-width:100%}.video-landing .instructor__img-wrap{margin-top:-154px;text-align:center}.video-landing .instructor__details{margin-bottom:36px}.video-landing .instructor__name{font-size:1.625em;text-align:center}.video-landing .instructor__title{text-align:center}.video-landing .instructor__img{border-radius:50%;margin-bottom:20px;height:170px;width:170px;box-shadow:5px 5px 29px -6px rgba(0,0,0,0.2)}.video-landing .curriculum-chapter+.curriculum-chapter{margin-top:45px}.video-landing .chapter-name{font-size:1.625em;line-height:1.2;padding-right:30px;text-align:right}.video-landing .chapter-time{padding-top:10px;padding-right:30px;text-align:right}.video-landing .chapter-list{border-left:1px solid #eee}.video-landing .chapter-list-item{position:relative;padding:4px 30px 4px 15px}.video-landing .chapter-list-item i{position:absolute;right:0;top:3px;font-size:26px;color:#333}.video-landing .course-related-products{background:#eee}.video-landing .multi-product__item{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;margin-bottom:15px;padding:15px;text-align:center}.video-landing .multi-product__item::after{clear:both;content:"";display:table}.video-landing .multi-product__item .price{font-size:22px;text-transform:uppercase}.video-landing .multi-product__description{margin-bottom:20px}@media only screen and (max-width: 991px){.video-landing .product-banner{padding:50px 0 200px}}@media only screen and (max-width: 767px){.video-landing .product-banner{padding:30px 0 150px}.video-landing .course-video{width:50%;margin:-150px auto 40px}.video-landing .curriculum-chapter+.curriculum-chapter{margin-top:30px;padding-top:30px;border-top:1px solid #bfbfbf}.video-landing .chapter-name{margin-bottom:20px;text-align:left;font-size:1.250em}.video-landing .chapter-list{border-left:none}.video-landing .chapter-list-item{padding-left:0}.video-landing .product__title{margin-bottom:10px}.video-landing .instructor__img-wrap{margin-top:-100px}.video-landing .instructor__img{border-radius:50%;height:130px;width:130px;box-shadow:5px 5px 29px -6px rgba(0,0,0,0.2)}.video-landing .instructor__details{margin-bottom:18px}}@media only screen and (max-width: 479px){.video-landing .product-banner{padding:30px 0 60px}.video-landing .course-video{width:70%;margin:-55px auto 30px}}.student-profile .btn-upload{opacity:0;display:inline-block;width:0;width:100%}.student-profile .account-content-profile-img{margin:20px 0 40px}.student-profile .account-content-profile-img img{height:100px;width:100px}.student-profile #feedback-area{padding-top:10px;font-size:13px}.student-profile #error_explanation{border-radius:4px;position:relative;font-size:14px;background:#ffd4cc;color:#e75725;padding:12px 30px;margin:0 0 30px 0;text-align:center}.student-profile #error_explanation h2{font-size:14px;margin:10px 0;color:#e75725}.student-profile #error_explanation ul{list-style:none}.account-content,.affiliate-content{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;padding:20px}.account-content::after,.affiliate-content::after{clear:both;content:"";display:table}.account-content::after,.affiliate-content::after{clear:both;content:"";display:table}.account-content .account-content-footer,.account-content .affiliate-content-footer,.affiliate-content .account-content-footer,.affiliate-content .affiliate-content-footer{padding-top:30px}.account-content__back-link{margin-bottom:30px;display:inline-block}.account-menu,.affiliate-menu{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff}.account-menu::after,.affiliate-menu::after{clear:both;content:"";display:table}.account-menu .list-group-item,.affiliate-menu .list-group-item{padding:15px 10px;border:0}.account-menu a.list-group-item:hover,.account-menu a.list-group-item:focus,.affiliate-menu a.list-group-item:hover,.affiliate-menu a.list-group-item:focus{color:#00aeef;background:#f3f3f3}.account-menu a.list-group-item.active,.account-menu a.list-group-item.active:hover,.account-menu a.list-group-item.active:focus,.affiliate-menu a.list-group-item.active,.affiliate-menu a.list-group-item.active:hover,.affiliate-menu a.list-group-item.active:focus{color:#00aeef;background:#f3f3f3;border-color:none}.account-menu .badge,.affiliate-menu .badge{background:#00aeef;color:#fff}.account-menu a.list-group-item.active>.badge,.account-menu .nav-pills>.active>a>.badge,.affiliate-menu a.list-group-item.active>.badge,.affiliate-menu .nav-pills>.active>a>.badge{background:#00aeef;color:#fff}.reset-password-container{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;padding:20px}.reset-password-container::after{clear:both;content:"";display:table}.reset-password-container .reset-password__title{margin-top:0}.single-task-view{background:#f4f5f7 url(https://assets.thinkific.com/assets/defaults/bg-shapes-grey-cdab53c031841921cb371ed2f0b7e582.png) top left;overflow-y:auto}.single-task-view .container{padding-top:15px;margin-bottom:20px}.single-task-view .container .thinkific-logo{width:150px;margin-bottom:10px}.single-task-view .single-task-view__card{border-radius:3px;box-shadow:1px 1px 0 #e2e2e2;position:relative;background:#ffffff;padding:20px}.single-task-view .single-task-view__card::after{clear:both;content:"";display:table}.single-task-view .single-task-view__title{line-height:1.25;margin-bottom:0.6em}.single-task-view .single-task-view__subtitle{margin-bottom:1.5em}@media only screen and (max-width: 767px){.single-task-view .container{padding-top:15px}}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAidGhpbmtpZmljLW1hc3Rlci8oX19URU1QTEFURV9fKS5jc3MiLAoJInNvdXJjZXMiOiBbCgkJInRoaW5raWZpYy1tYXN0ZXIvKF9fVEVNUExBVEVfXykiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9zZXR0aW5ncy9fcHgtdG8tZW0uc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1saWdodC5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jYWxjLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jb2x1bW5zLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19maWx0ZXIuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZsZXgtYm94LnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19mb250LWZhY2Uuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2h5cGhlbnMuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ltYWdlLXJlbmRlcmluZy5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3BlcnNwZWN0aXZlLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19zZWxlY3Rpb24uc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fdHJhbnNmb3JtLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL190cmFuc2l0aW9uLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2J1dHRvbnMuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fZm9udC1zdGFja3Muc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX21hcmdpbi5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wYWRkaW5nLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwKCQkidGhpbmtpZmljLW1hc3Rlci92ZW5kb3IvYnVuZGxlL3J1YnkvMi4xLjAvZ2Vtcy9ib3VyYm9uLTQuMi42L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19zaXplLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3RpbWluZy1mdW5jdGlvbnMuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsCgkJInRoaW5raWZpYy1tYXN0ZXIvdmVuZG9yL2J1bmRsZS9ydWJ5LzIuMS4wL2dlbXMvYm91cmJvbi00LjIuNi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLAoJCSJ0aGlua2lmaWMtbWFzdGVyL3ZlbmRvci9idW5kbGUvcnVieS8yLjEuMC9nZW1zL2JvdXJib24tNC4yLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nLnNjc3MiCgldLAoJInNvdXJjZXNDb250ZW50IjogWwoJCSJAaW1wb3J0IFwiYm91cmJvblwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTm9ybWFsaXplIGh0dHBzOi8vbmVjb2xhcy5naXRodWIuaW8vbm9ybWFsaXplLmNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmh0bWx7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHl7bWFyZ2luOjB9YXJ0aWNsZSxhc2lkZSxkZXRhaWxzLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbWVudSxuYXYsc2VjdGlvbixzdW1tYXJ5e2Rpc3BsYXk6YmxvY2t9YXVkaW8sY2FudmFzLHByb2dyZXNzLHZpZGVve2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfWF1ZGlvOm5vdChbY29udHJvbHNdKXtkaXNwbGF5Om5vbmU7aGVpZ2h0OjB9W2hpZGRlbl0sdGVtcGxhdGV7ZGlzcGxheTpub25lfWF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH1hOmFjdGl2ZSxhOmhvdmVye291dGxpbmU6MH1hYmJyW3RpdGxlXXtib3JkZXItYm90dG9tOjFweCBkb3R0ZWR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6NzAwfWRmbntmb250LXN0eWxlOml0YWxpY31oMXtmb250LXNpemU6MmVtO21hcmdpbjouNjdlbSAwfW1hcmt7YmFja2dyb3VuZDojZmYwO2NvbG9yOiMwMDB9c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdXB7dG9wOi0uNWVtfXN1Yntib3R0b206LS4yNWVtfWltZ3tib3JkZXI6MH1zdmc6bm90KDpyb290KXtvdmVyZmxvdzpoaWRkZW59ZmlndXJle21hcmdpbjoxZW0gNDBweH1ocnstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtoZWlnaHQ6MH1wcmV7b3ZlcmZsb3c6YXV0b31jb2RlLGtiZCxwcmUsc2FtcHtmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtjb2xvcjppbmhlcml0O2ZvbnQ6aW5oZXJpdDttYXJnaW46MH1idXR0b257b3ZlcmZsb3c6dmlzaWJsZX1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9YnV0dG9uLGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0saW5wdXRbdHlwZT1cInN1Ym1pdFwiXXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2N1cnNvcjpwb2ludGVyfWJ1dHRvbltkaXNhYmxlZF0saHRtbCBpbnB1dFtkaXNhYmxlZF17Y3Vyc29yOmRlZmF1bHR9YnV0dG9uOjotbW96LWZvY3VzLWlubmVyLGlucHV0OjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH1pbnB1dHtsaW5lLWhlaWdodDpub3JtYWx9aW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLGlucHV0W3R5cGU9XCJyYWRpb1wiXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24saW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPVwic2VhcmNoXCJdey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94fWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24saW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6MXB4IHNvbGlkIHNpbHZlcjttYXJnaW46MCAycHg7cGFkZGluZzouMzVlbSAuNjI1ZW0gLjc1ZW19bGVnZW5ke2JvcmRlcjowO3BhZGRpbmc6MH10ZXh0YXJlYXtvdmVyZmxvdzphdXRvfW9wdGdyb3Vwe2ZvbnQtd2VpZ2h0OjcwMH10YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Ym9yZGVyLXNwYWNpbmc6MH10ZCx0aHtwYWRkaW5nOjB9XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTQVNTIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQ29sb3VyczogU2l0ZVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4kcHJpbWFyeS1jb2xvcjogIzAwYWVlZjsgLy8jMDAwMDAwXG4kc2l0ZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuXG4vLyBDb2xvdXJzOiBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRwcmltYXJ5LWJ0bi1jb2xvcjogIzhkYzYzZjsgLy8jODljMDNkXG4kc2Vjb25kYXJ5LWJ0bi1jb2xvcjogI2ZmOTEwMDsgLy8jNjhhMzk1XG5cbi8vIENvbG91cnM6IEhlYWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tXG4kaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IC8vI2ZmZmZmZlxuJGhlYWRlci10ZXh0LWNvbG9yOiAjMDAwMDAwOyAvLyMzMzMzMzNcblxuLy8gQ29sb3VyczogRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRmb290ZXItYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsgLy8jMzMzMzMzXG5cbi8vIENvbG91cnM6IE5ldXRyYWxcbi8vIC0tLS0tLS0tLS0tLS0tLVxuJGNvbG9yLW5ldXRyYWw6ICNjZGNkY2Q7XG4kY29sb3ItbmV1dHJhbC1saWdodC0xOiAjZWVlZWVlO1xuJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjogI2YzZjNmMztcbiRjb2xvci1uZXV0cmFsLWxpZ2h0LTM6ICNmZWZlZmU7XG4kY29sb3ItbmV1dHJhbC1kYXJrLTE6ICNiMmIyYjI7XG5cbi8vIENvbG91cnM6IFRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLVxuJHRleHQtY29sb3I6ICMzMzMzMzM7XG4kdGV4dC1jb2xvci1saWdodDogI2ZmZmZmZjtcbiRsaW5rLWNvbG9yOiMwMGFlZWY7XG4kdGV4dC1ibHVlOiAjMDBhZWVmO1xuXG4vLyBDb2xvdXJzOiBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRzdWNjZXNzLWdyZWVuOiAjNTRjNjcwO1xuJGFsZXJ0LXllbGxvdzogI2ZmZWQ4ZjtcblxuXG4vLyBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRzY3JlZW4tc20tbWluOiA0ODBweDtcbiRzY3JlZW4tbWQtbWluOiA3NjhweDtcbiRzY3JlZW4tbGctbWluOiA5OTJweDtcbiRzY3JlZW4teGwtbWluOiAxMjAwcHg7XG4kc2NyZWVuLXh4bC1taW46IDE2MDBweDtcblxuJHNjcmVlbi14cy1tYXg6ICgkc2NyZWVuLXNtLW1pbiAtIDEpO1xuJHNjcmVlbi1zbS1tYXg6ICgkc2NyZWVuLW1kLW1pbiAtIDEpO1xuJHNjcmVlbi1tZC1tYXg6ICgkc2NyZWVuLWxnLW1pbiAtIDEpO1xuJHNjcmVlbi1sZy1tYXg6ICgkc2NyZWVuLXhsLW1pbiAtIDEpO1xuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLVxuJGJvcmRlci1yYWRpdXM6IDNweDtcbiRzZWN0aW9uLW1heC13aWR0aDogMTI1MHB4O1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFRoaXMgaXMgYSBzaW1wbGUgbWl4aW4gZm9yIGNhcmQgc3R5bGVzLiBDYXJkIHN0eWxlcyBhcmUgdXNlZCBvbiBjb3Vyc2Vcbi8vIGNhcmRzLCBhbmQgcGFzc3dvcmQgcmVzZXQgYm94ZXMuIFRoaXMgaXMgbWVhbnQgdG8gd29yayBmb3IgZXZlcnl0aGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gY2FyZCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMCAjZTJlMmUyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cblxuLy8gVGhpcyBtYWtlcyB0ZXh0IGNvbG91ciBjaGFuZ2UgaWYgdGhlIGJhY2tncm91bmQgY29sb3VyIGlzIHRvbyBsaWdodCBvciBkYXJrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBmdW5jdGlvbiBkeW5hbWljLXRleHQoJGNvbG9yKSB7XG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiA4NSkge1xuICAgIEByZXR1cm4gJHRleHQtY29sb3I7IC8vIExpZ2h0ZXIgYmFja2dyb3VuZCwgcmV0dXJuIGRhcmsgY29sb3JcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkdGV4dC1jb2xvci1saWdodDsgLy8gRGFya2VyIGJhY2tncm91bmQsIHJldHVybiBsaWdodCBjb2xvclxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRhYmxlIG9mIGNvbnRlbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyAwLiBCYXNpY3Ncbi8vIDEuIFR5cGVcbi8vIDIuIEZvcm1zXG4vLyAzLiBCdXR0b25zXG4vLyA0LiBMYXlvdXRcbi8vIDUuIENvdXJzZSBDYXJkc1xuLy8gNi4gSGVhZGVyXG4vLyA3LiBGb290ZXJcbi8vIDguIFJldmlldyBTdGFyc1xuLy8gOS4gUGFnaW5hdGlvblxuLy8gMTAuIFNpdGUgTGFuZGluZyBQYWdlXG4vLyAxMS4gU2hhcmVkIHByb2R1Y3QgbGFuZGluZyBwYWdlIHN0eWxlc1xuLy8gMTIuIEhpZ2ggQ29udmVyc2lvbiBsYW5kaW5nIHBhZ2Vcbi8vIDEzLiBDdXJyaWN1bHVtIGxhbmRpbmcgcGFnZVxuLy8gMTQuIEJ1bmRsZSBsYW5kaW5nIHBhZ2Vcbi8vIDE1LiBNdWx0aSBQcm9kdWN0c1xuLy8gMTYuIFNpZ24gdXAgLyBTaWduIGluXG4vLyAxNy4gTXkgQ291cnNlcy9EYXNoYm9hcmRcbi8vIDE4LiBBbGwgQ291cnNlcy9TdHVkZW50IERhc2hib2FyZFxuLy8gMTkuIENoZWNrb3V0XG4vLyAyMC4gQ291cnNlIExhbmRpbmcgUGFnZSAtIFZpZGVvIENlbnRyaWNcbi8vIDIxLiBTdHVkZW50L0FmZmlsaWF0ZSBlZGl0IGFjY291bnRcbi8vIDIyLiBGb3Jnb3QgUGFzc3dvcmRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDAuIEJhc2ljc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaHRtbCwgYm9keSB7XG4gIGJhY2tncm91bmQ6ICRzaXRlLWJhY2tncm91bmQtY29sb3I7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDEuIFR5cGUgQ29udmVydGVkIHRvIEVNIHVzaW5nIGh0dHA6Ly9weHRvZW0uY29tL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi4xODhlbTsgLy8zNXB4XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjg3NWVtOyAvLzMwcHhcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuNjI1ZW07IC8vMjZweFxufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS40MzhlbTsgLy8gMjNweFxufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG59XG5cbnAge1xuICBmb250LXNpemU6IDFlbTsgLy8xNnB4XG59XG5cbmhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG5pLCBlbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogZGFya2VuKCRsaW5rLWNvbG9yLCA1JSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbnVsLCBvbCB7XG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG5cbi8vIFJlbW92ZXMgbGlzdCBzdHlsZVxuLnVuc3R5bGUge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uY29udGVudC11bmNsaWNrYWJsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBcbiAgICAmID4gKiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMi4gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmlucHV0OmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5pbnB1dDpmb2N1czo6LW1vei1wbGFjZWhvbGRlciB7IGNvbG9yOnRyYW5zcGFyZW50OyB9XG5cbi5mb3JtLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0zO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiA2cHggMTVweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07IC8vMTZweFxufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBJIGFtIGZvdW5kIG9ubHkgb24gdGhlIGNvbGxlY3Rpb25zIHBhZ2UuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4xcyBlYXNlKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoJHRleHQtY29sb3IsMC45KTtcblxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB9XG59XG5cbi5yYWRpbywgLmNoZWNrYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gVXNlZCBvbiB0aGUgU2lnbiBpbi9TaWduIHVwL0NoZWNrb3V0IGZsb3cuIFN0eWxlcyB0aGUgc2VwYXJhdG9yIGJldHdlZW4gdGhlXG4vLyBzb2NpYWwgc2lnbiBpbiBidXR0b25zIGFuZCB0aGUgc2lnbiBpbiB3aXRoIGVtYWlsIGZvcm0uXG4uZm9ybV9fc2VwYXJhdG9yIHtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMy4gQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLy8gQnV0dG9uOiBNb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS1cbi5idG4tbGFyZ2Uge1xuICBwYWRkaW5nOiAxMnB4O1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxufVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYnRuLW91dGxpbmUge1xuICBwYWRkaW5nOiAxMnB4IDMwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLy8gQnV0dG9uOiBDb2xvdXJzXG4vLyAtLS0tLS0tLS0tLS0tXG4uYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1idG4tY29sb3I7XG4gIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktYnRuLWNvbG9yKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRwcmltYXJ5LWJ0bi1jb2xvciwgMTAlKTtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWJ0bi1jb2xvcik7XG4gIH1cbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWJ0bi1jb2xvcjtcbiAgY29sb3I6IGR5bmFtaWMtdGV4dCgkc2Vjb25kYXJ5LWJ0bi1jb2xvcik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkc2Vjb25kYXJ5LWJ0bi1jb2xvciwgMTAlKTtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRzZWNvbmRhcnktYnRuLWNvbG9yKTtcbiAgfVxufVxuXG4uYnRuLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1kYXJrLTE7XG4gIGNvbG9yOiAjZmZmZmZmO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLW5ldXRyYWwtZGFyay0xLCAxMCUpO1xuICB9XG59XG5cbi5idG4tb3V0bGluZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEM0QzRDM7O1xuICBjb2xvcjogIzAwMDAwMDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBBRUVGO1xuICAgIGNvbG9yOiAjMDBBRUVGO1xuICB9XG59XG5cbi5zaWduLWluIC5idG4tb3V0bGluZSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDdweCAxN3B4O1xufVxuXG4uc2lnbi1pbiB7XG4gICBtYXJnaW4tbGVmdDogMHB4O1xufVxuXG4vLyBUaGlzIGlzIHVzZWQgYXMgdGhlIExpbmtlZGluIGJ1dHRvbiBvbiB0aGUgc2lnbiB1cC5cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLmxpbmtlZGluLXNpZ25pbiB7XG4gIGJhY2tncm91bmQ6ICM0ODc1YjQ7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCM0ODc1YjQsIDEwJSk7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDQuIExheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuI3dyYXAge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLy8gRXF1YWwgdG8gZm9vdGVyIGhlaWdodFxuICBtYXJnaW4tYm90dG9tOiAtMTY2cHg7XG4gIC8vYmFja2dyb3VuZDogbGlnaHRlbigkc2l0ZS1iYWNrZ3JvdW5kLWNvbG9yLCA1JSk7XG4gIGJhY2tncm91bmQ6ICRzaXRlLWJhY2tncm91bmQtY29sb3I7XG59XG5cbi8vIFdyYXA6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuLypcbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4teHhsLW1pbikge1xuICAjd3JhcCB7XG4gICAgbWF4LXdpZHRoOiAkc2NyZWVuLXh4bC1taW47XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2VuKCRzaXRlLWJhY2tncm91bmQtY29sb3IsIDUlKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZW4oJHNpdGUtYmFja2dyb3VuZC1jb2xvciwgNSUpO1xuICB9XG59XG4qL1xuXG4vLyBDb250YWluZXIgb24gdGhlIGNoZWNrb3V0L3BheW1lbnQgZmxvdywgc2lnbiBpbi9zaWduIHVwIGZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4jY29udGVudC1wdXNoIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG59XG5cbi8vIENvbnRlbnQtcHVzaDogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAjY29udGVudC1wdXNoIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAjY29udGVudC1wdXNoIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgfVxufVxuXG5cbi8vIENvbnRhaW5lcnMgZm9yIGludGVyaW9yIGNvbnRlbnQgc2VjdGlvbnMuIE1vc3RseSBzdXJyb3VuZGluZyB0aGUgY291cnNlIGNhcmRzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi5zaXRlLWxhbmRpbmdfX2NvdXJzZXMsXG4ucHJvZHVjdHMtd3JhcHBlcixcbi5zdHVkZW50LWRhc2hib2FyZC13cmFwcGVyLFxuLmNoZWNrb3V0LWZvcm0sXG4uc3R1ZGVudC1wcm9maWxlIHtcbiAgbWF4LXdpZHRoOiAkc2VjdGlvbi1tYXgtd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAzNXB4IDA7XG59XG5cbi5zdHVkZW50LWRhc2hib2FyZC13cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLnNpdGUtbGFuZGluZ19fY291cnNlcyB7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xufVxuXG4vLyBDb250YWluZXJzOiBNb2JpbGVcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAuc2l0ZS1sYW5kaW5nX19jb3Vyc2VzLFxuICAucHJvZHVjdHMtd3JhcHBlcixcbiAgLnN0dWRlbnQtZGFzaGJvYXJkLXdyYXBwZXIsXG4gIC5jaGVja291dC1mb3JtLFxuICAuc3R1ZGVudC1wcm9maWxlIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gIH1cbn1cblxuXG4vLyBDb2x1bW5zXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogNzVweDtcbiAgcGFkZGluZy1yaWdodDogNzVweDtcbn1cblxuLy8gQ29sdW1uczogTW9iaWxlXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNTVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxufVxuXG5cbi8vIE1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4udmlzaWJsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gNS4gQ291cnNlIENhcmRzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2FyZCB7XG4gIEBpbmNsdWRlIGNhcmQ7XG59XG5cbi8vIENhcmQ6IE1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2FyZC0tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcmQtLXBhZGRpbmctNSB7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLmNhcmQtLXBhZGRpbmctMTUge1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4uY2FyZC0tcGFkZGluZy0yMCB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cblxuLy8gQ2FyZDogU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2FyZC0tYm90dG9tLW1hcmdpbi0xMCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5jYXJkLS1ib3R0b20tbWFyZ2luLTIwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuXG4vLyBDb3Vyc2UgY2FyZCBpbWFnZVxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLmNvdXJzZS1jYXJkIHtcbiAgaGVpZ2h0OiAzNzZweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb3Vyc2UtY2FyZF9faW1nIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoM3B4KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmNvdXJzZS1jYXJkX19pbWctY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoM3B4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAyMjBweDtcbn1cblxuLmNvdXJzZS1jYXJkX19pbWctY29udGFpbmVyIC5wcm9ncmVzcy1wZXJjZW50YWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzBweDtcbiAgICBmb250LXNpemU6IDUycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuXG4vLyBDb3Vyc2UgY2FyZCBib2R5XG4vLyAtLS0tLS0tLS0tLS0tLVxuLmNvdXJzZS1jYXJkX19ib2R5IHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDEwcHg7XG59XG5cbi5jb3Vyc2UtY2FyZF9faW5zdHJ1Y3Rvci1uYW1lIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcbn1cblxuLmNvdXJzZS1jYXJkX19wcmljZSB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE1cHhcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLmZyZWUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuLmNvdXJzZS1jYXJkX190aXRsZSB7XG4gIGNvbG9yOiAjNWI1YjViO1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICBtYXJnaW4tYm90dG9tOiAycHg7XG5cbiAgYSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG59XG5cbi5jb3Vyc2UtY2FyZF9fZGVzY3JpcHRpb24sXG4uY291cnNlLWNhcmRfX3N1YnRpdGxle1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbigkdGV4dC1jb2xvciwyNSUpO1xuICBmb250LXNpemU6IDAuOTM4ZW07IC8vMTVweFxufVxuXG5cbi8vIENvdXJzZSBjYXJkIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi5jb3Vyc2UtY2FyZF9fY3RhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgLmJ0biB7XG4gICAgcGFkZGluZzogOHB4O1xuICB9XG5cbiAgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLmNvdXJzZS1jYXJkX19jdGEtc2Vjb25kYXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuXG4vLyBQcm9ncmVzcyBDYXJkXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi5wcm9ncmVzcy1jYXJkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gIC5jb3Vyc2UtY2FyZF9fYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cblxuLy8gICAuY291cnNlLWNhcmRfX3RpdGxlIHtcbi8vICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgIH1cblxuICAucHJvZ3Jlc3MtY2FyZC1wcm9ncmVzcyB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cblxuICAucHJvZ3Jlc3MtY29tcGxldGlvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMS44NzVlbTsgLy8zMHB4XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnByb2dyZXNzLWxpbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBtYXJnaW46IDEwcHggMDtcblxuICAgIC5wcm9ncmVzcy1saW5lLXBlcmNlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIC5wcm9ncmVzcy1saW5lLWJhciB7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsO1xuICAgIH1cbiAgfVxufVxuXG4uY291cnNlLWNhcmRfX2N0YV9fdmlldy1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4vLyBDYXJkIFByaWNlXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi5jYXJkLXByaWNlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxN3B4O1xuICAgIHJpZ2h0OiAtMzVweDtcbiAgICBwYWRkaW5nOiAzcHggMzBweDtcbiAgICBiYWNrZ3JvdW5kOiAjOGRjNjNmIG5vbmU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4ZGM2M2Y7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi8vIENhcmRzOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIC5jb3Vyc2UtY2FyZF9faW1nLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMTg1cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKVxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG5cbiAgLmNvdXJzZS1jYXJkIHtcbiAgICBoZWlnaHQ6IDQ3MXB4O1xuICB9XG5cbiAgLmNvdXJzZS1jYXJkX19pbWctY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyMzVweDtcbiAgfVxuXG4gIC5jb3Vyc2UtY2FyZF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4wNjNlbTsgLy8xN3B4XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIC5jb3Vyc2UtY2FyZCB7XG4gICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cblxuICAuY291cnNlLWNhcmRfX2N0YSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuY291cnNlLWNhcmRfX2JvZHkge1xuICAgIC5zdGFyLXJhdGluZyB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gNi4gSGVhZGVyIE5hdlxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQ6ICRoZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRoZWFkZXItdGV4dC1jb2xvcjtcbiAgICBwYWRkaW5nOiA1cHggMjBweCA1cHggMTBweDtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJHRleHQtYmx1ZTtcbiAgICB9XG4gIH1cbiAgXG4gIC5teS1hY2NvdW50IHtcbiAgICBwYWRkaW5nOiA3cHggMTdweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDNEM0QzO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGV4dC1ibHVlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCYW5uZXIgVG9wXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmJhbm5lcl90b3Age1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IC0yMHB4IGF1dG8gMjBweCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4IDEwcHg7XG59XG5cbmEuYmFubmVyX2xpbmsge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5hLmJhbm5lcl9leGl0IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6ICM5OTk7XG59XG5cbi8vIE5hdmJhcjogTG9nb1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi5oZWFkZXItbG9nb19faW1hZ2Uge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LWhlaWdodDogMzVweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4uaGVhZGVyLXNjaG9vbC1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS44NzVlbTsgLy8zMHB4XG59XG5cblxuLy8gTmF2YmFyOiBMaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi5oZWFkZXItbmF2X19saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmhlYWRlci1uYXZfX2l0ZW0ge1xuICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIE5hdmJhcjogRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4uZHJvcGRvd24ub3Blbj5hLFxuLmRyb3Bkb3duLm9wZW4+YTpob3Zlcixcbi5kcm9wZG93bi5vcGVuPmE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi5oZWFkZXItdXNlci1hdmF0YXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDI1cHg7XG4gIG1hcmdpbjogLTI1cHggNXB4IC0yMXB4O1xufVxuXG4uZHJvcGRvd24ge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4vLyBPdmVycmlkZSB0aGUgZGVmYXVsdCBCb290c3RyYXAgc3R5bGVzXG4uZHJvcGRvd24tbWVudSB7XG4gIHRvcDogNDVweDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICRoZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYm9yZGVyOiAwO1xuXG4gICYgPiBsaSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAmID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJGhlYWRlci10ZXh0LWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgJiA+IGxpID4gYTpob3ZlcixcbiAgJiA+IGxpID4gYTphY3RpdmUsXG4gICYgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkdGV4dC1ibHVlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIH1cbn1cblxuLy8gTmF2YmFyOiBNb2JpbGVcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4uaGVhZGVyLW5hdl9fbW9iaWxlLWJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGNvbG9yOiAkaGVhZGVyLXRleHQtY29sb3I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRoZWFkZXItdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci10ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gTmF2YmFyOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcblxuICBoZWFkZXIgLmNvbHVtbiB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaGVhZGVyLWxvZ29fX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuaGVhZGVyLW5hdiB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fbGlzdCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19sZWZ0LFxuICAuaGVhZGVyLW5hdl9fcmlnaHQge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX3JpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2l0ZW0gKyAuaGVhZGVyLW5hdl9faXRlbSB7XG4gICAgLy9tYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuXG4gIC5oZWFkZXItbmF2IHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgfVxuXG4gIC5oZWFkZXItc2Nob29sLW5hbWUge1xuICAgIG1hcmdpbi1yaWdodDogODVweDtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBNb2JpbGUgbWVudSBhZGRzIG9wZW4gY2xvc2UgY2xhc3Mgd2hlbiB0b2dnbGVkXG4gIC5oZWFkZXItbmF2X19jb250YWluZXIub3BlbntcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjkzOGVtOyAvLzE1cHhcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLmhlYWRlci1uYXZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxuXG4gIC5oZWFkZXItbG9nb19fY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGVhZGVyLW5hdl9fbW9iaWxlLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgfVxuXG4gIC5kcm9wZG93biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gNy4gRm9vdGVyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2Nzcy9zdGlja3ktZm9vdGVyL1xuZm9vdGVyLCAjd3JhcDphZnRlciB7XG4gIG1pbi1oZWlnaHQ6IDE3M3B4O1xufVxuXG5mb290ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAvL21heC13aWR0aDogJHNjcmVlbi14eGwtbWluO1xuICBiYWNrZ3JvdW5kOiAkZm9vdGVyLWJhY2tncm91bmQtY29sb3I7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgY29sb3I6IGR5bmFtaWMtdGV4dCgkZm9vdGVyLWJhY2tncm91bmQtY29sb3IpO1xuXG5cbiAgYSB7XG4gICAgY29sb3I6IGR5bmFtaWMtdGV4dCgkZm9vdGVyLWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBkeW5hbWljLXRleHQoJGZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4uZm9vdGVyLW5hdiB7XG4gIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAzMHB4IDA7XG59XG5cbi5mb290ZXItbmF2X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvL2ZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gIGZvbnQtc2l6ZTogMC43NTBlbTsgLy8xMnB4XG59XG5cbi5mb290ZXItY29weXJpZ2h0IHtcbiAgLy9tYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxuICBsaW5lLWhlaWdodDogMS41O1xuICAvL29wYWNpdHk6IDAuNjtcbn1cblxuLmZvb3Rlci1wb3dlcmVkLWJ5IHtcbiAgZm9udC1zaXplOiAwLjc1MGVtOyAvLzEycHhcbn1cblxuLy8gRm9vdGVyOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aDogJHNjcmVlbi14eGwtbWluKSB7XG4gIGZvb3RlciB7XG4gICAgLy9tYXgtd2lkdGg6ICRzY3JlZW4teHhsLW1pbjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBkYXJrZW4oJHNpdGUtYmFja2dyb3VuZC1jb2xvciwgMTAlKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBkYXJrZW4oJHNpdGUtYmFja2dyb3VuZC1jb2xvciwgMTAlKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAuZm9vdGVyLWNvcHlyaWdodCB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gIH1cbiAgXG4gIC5mb290ZXItbmF2X19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogN3B4IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgLmZvb3Rlci1uYXZfX2l0ZW0gKyAuZm9vdGVyLW5hdl9faXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbiAgXG4gIC5mb290ZXItbmF2IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDguIFJldmlldyBTdGFyc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnN0YXItcmF0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElpQjNhV1IwYUQwaU1qQndlQ0lnYUdWcFoyaDBQU0l5TUhCNElpQjJhV1YzUW05NFBTSXdJREFnTWpBZ01qQWlJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ01DQXdJREl3SURJd0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4Y0c5c2VXZHZiaUJtYVd4c1BTSWpSRVJFUkVSRUlpQndiMmx1ZEhNOUlqRXdMREFnTVRNdU1Ea3NOaTQxT0RNZ01qQXNOeTQyTXprZ01UVXNNVEl1TnpZMElERTJMakU0TERJd0lERXdMREUyTGpVNE15QXpMamd5TERJd0lEVXNNVEl1TnpZMElEQXNOeTQyTXprZ05pNDVNU3cyTGpVNE15QWlMejQ4TDNOMlp6ND1cIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIGkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpCd2VDSWdhR1ZwWjJoMFBTSXlNSEI0SWlCMmFXVjNRbTk0UFNJd0lEQWdNakFnTWpBaUlHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTUNBd0lESXdJREl3SWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNDhjRzlzZVdkdmJpQm1hV3hzUFNJalJrWkVSamc0SWlCd2IybHVkSE05SWpFd0xEQWdNVE11TURrc05pNDFPRE1nTWpBc055NDJNemtnTVRVc01USXVOelkwSURFMkxqRTRMREl3SURFd0xERTJMalU0TXlBekxqZ3lMREl3SURVc01USXVOelkwSURBc055NDJNemtnTmk0NU1TdzJMalU0TXlBaUx6NDhMM04yWno0PVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cblxuICBpbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIGkgfiBpIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG5cbiAgaSB+IGkgfiBpIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG5cbiAgaSB+IGkgfiBpIH4gaSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuXG4gIGkgfiBpIH4gaSB+IGkgfiBpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uc3Rhci1yYXRpbmdfX2lucHV0IHtcbiAgaW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6aG92ZXIgKyBpLFxuICAgICY6Y2hlY2tlZCArIGkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuLnN0YXItcmF0aW5nX19maWxsZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uc3Rhcl9yYXRpbmdfX3NpbmdsZSB7XG4gIHdpZHRoOiAyNXB4O1xufVxuXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA5LiBQYWdpbmF0aW9uXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYTpob3Zlcixcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6Zm9jdXMsXG4ucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuLFxuLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpob3Zlcixcbi5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW46Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICBib3JkZXItY29sb3I6ICRjb2xvci1uZXV0cmFsO1xuICBjb2xvcjogJGxpbmstY29sb3I7XG59XG5cbi5wYWdpbmF0aW9uID4gbGkgPiBhLFxuLnBhZ2luYXRpb24gPiBsaSA+IGE6aG92ZXIsXG4ucGFnaW5hdGlvbiA+IGxpID4gYTpmb2N1cyxcbi5wYWdpbmF0aW9uID4gbGkgPiBzcGFuIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsO1xufVxuXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxMC4gU2l0ZSBMYW5kaW5nIFBhZ2Vcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zaXRlLWxhbmRpbmdfX2Jhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlciFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktY29sb3IpO1xufVxuXG4uc2l0ZS1sYW5kaW5nX19iYW5uZXItY29udGVudCB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6ICRzZWN0aW9uLW1heC13aWR0aDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2l0ZS1sYW5kaW5nX19iYW5uZXItLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDQ2cHg7XG59XG5cbi5zaXRlLWxhbmRpbmdfX2Jhbm5lci0tc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLnByb2R1Y3QtY2FyZHNfX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBAbWVkaWEgb25seSBzY3JlZW5cbiAgYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICAvLyBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgLy8gcmVtb3ZlcyB0aGUgYmVmb3JlIGFuZCBhZnRlciBjbGVhciBmaXhlcyBmb3IgdGhpcyByb3csIHRvIGZpeCB0aGUgZmxleGJveCBpbiBzYWZhcmkuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBub3JtYWw7XG4gICAgfVxuICB9XG59XG5cbi53aGl0ZS1ib3gge1xuICBwYWRkaW5nOiAzMHB4IDE3cHg7XG4gIC8qIGJvcmRlcjogMXB4IHNvbGlkICNjZmNmY2Y7ICovXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZ3JpZC1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG59XG5cbi53aGl0ZS1ib3gudHJhbnNwYXJlbnQge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uaF9ib3hfdGl0bGUge1xuICBjb2xvcjogIzJmMzYzODtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLmhfYm94X3BhcmFncmFwaCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBjb2xvcjogIzVjNjM2NTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLmhfYm94X3BhcmFncmFwaF9zaG9ydCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjNWM2MzY1O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG5cbi5oX3NlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDBweCAxMHB4IDgwcHggMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaC1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBtYXgtd2lkdGg6IDk0MHB4O1xufVxuLmgtY29udGFpbmVyOmJlZm9yZSxcbi5oLWNvbnRhaW5lcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5oLWNvbnRhaW5lcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLmgtY29udGFpbmVyIC5oLXJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbn1cbi5oLXJvdzpiZWZvcmUsXG4uaC1yb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG4uaC1yb3c6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5oLXJvdyAuaC1yb3cge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLmgtY29sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmgtY29sIC5oLWNvbCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi5oLWNvbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMzMzMlO1xufVxuLmgtY29sLTIge1xuICB3aWR0aDogMTYuNjY2NjY2NjclO1xufVxuLmgtY29sLTMge1xuICB3aWR0aDogMjUlO1xufVxuLmgtY29sLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMlO1xufVxuXG4uaC1oaWRkZW4tbWFpbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmgtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDcyOHB4O1xuICB9XG4gIC5oLWhpZGRlbi1tYWluIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmgtaGlkZGVuLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmgtY29sLXN0YWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oLWhpZGRlbi1tYWluIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmgtaGlkZGVuLW1lZGl1bSB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG4gIC5oLWhpZGRlbi1zbWFsbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5oLXJvdyxcbiAgLmgtY29udGFpbmVyIC5oLXJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5oLWNvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgfVxuICBcbiAgLndoaXRlLWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICBcbiAgICBoMSB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMzBweCAhaW1wb3J0YW50O1xufVxuLmFsYy1iYW5uZXJfX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG59XG5cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLmgtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbiAgLmgtaGlkZGVuLW1haW4ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxuICAuaC1oaWRkZW4tbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmgtaGlkZGVuLXNtYWxsIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmgtaGlkZGVuLXRpbnkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuaC1jb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIGgxIHtcbiAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG4uYWxjLWJhbm5lcl9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbn1cblxufVxuXG5hLmJ0bl9uYXZfcHJpbWFyeSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgcGFkZGluZzogNXB4IDE1cHggIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzhkYzYzZiAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhkYzYzZiAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuYS5idG5fbmF2X3ByaW1hcnk6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM1YzgzMjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YzgzMjY7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnRuX25hdiB7XG4gICAgY29sb3I6ICNGRkYgIWltcG9ydGFudDtcbn1cblxuXG5cbi8vIFNpdGUgTGFuZGluZzogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICAgIFxuICAuc2l0ZS1sYW5kaW5nX19iYW5uZXItLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgLy9tYXJnaW4tdG9wOiAxNXB4O1xuICB9XG5cbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyLS1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyIHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICB9XG5cbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyLS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjg3NWVtOyAvLzMwcHhcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLnNpdGUtbGFuZGluZ19fYmFubmVyLS1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcblxuICAuc2l0ZS1sYW5kaW5nX19iYW5uZXJ7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgfVxuXG4gIC5zaXRlLWxhbmRpbmdfX2Jhbm5lci0tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgLy8yNnB4XG4gIH1cblxuICAuc2l0ZS1sYW5kaW5nX19iYW5uZXItLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuOTM4ZW07IC8vMTVweFxuICB9XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDExLiBTaGFyZWQgUHJvZHVjdCBMYW5kaW5nIFN0eWxlc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnByb2R1Y3QtbGFuZGluZyB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgbGluZS1oZWlnaHQ6IDEuODtcblxuICBzZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgcCBhIHtcbiAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgY29udHJvbHMgdGhlIHRpdGxlIHRleHQgb24gZXZlcnkgc2VjdGlvbi5cbiAgLy8gRXg6ICdDb3Vyc2UgT3ZlcnZpZXcnXG4gIC8vIC0tLS0tLS0tLS0tLS0tXG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDQycHg7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgZm9udC1zaXplOiAyLjI1MGVtOyAvLzM2cHhcbiAgfVxufVxuXG4vLyBUaGlzIGlzIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIGZvciB0aGUgY291cnNlLlxuLy8gSXQncyBub3QgZm91bmQgaW4gdGhlIGluc3RydWN0b3Igc2VjdGlvbi4gSXQncyBmb3VuZCBpbiB0aGVcbi8vIENvdXJzZSA+IERldGFpbHMgc2VjdGlvbiBhdCB0aGUgYm90dG9tLiBJdCBjYW4gY29udGFpbiB0ZXh0IGFuZCBIVE1MXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLmNvdXJzZS1jb250YWN0LWluZm8ge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gUHJvZHVjdCBMYW5kaW5nOiBQcm9kdWN0IEJhbm5lciAodGhlIGdpYW50IGltYWdlIHRoYXQgc3BhbnMgYWNyb3NzIHRoZSB0b3Agb2YgdGhlIHBhZ2UpXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLnByb2R1Y3QtYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAudGl0bGUtYmxvY2sge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucHJvZHVjdF9fdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgY29sb3I6IGR5bmFtaWMtdGV4dCgkcHJpbWFyeS1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDIuNDM4ZW07IC8vMzlweFxuICB9XG5cbiAgLnByb2R1Y3RfX3N1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgfVxuXG4gIC5wcm9kdWN0X19wcml2YXRlLXRpdGxlIHtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAxLjEyNWVtOyAvLzE4cHhcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vIFBvcHMgb3BlbiB0aGUgdmVub2JveCB3aW5kb3dcbi8vIC0tLS0tLS0tLS0tLVxuXG4uYnRuLWludHJvLXZpZGVvIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRleHQtY29sb3ItbGlnaHQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdGV4dC1jb2xvci1saWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLmJ0bi1pbnRyby12aWRlbyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHhcbiAgfVxufVxuXG4vLyBDYWxsIHRvIGFjdGlvbiBibG9ja3MuIFRoZXkgbGlzdCBpbiB0aGUgcGFnZSBoZWFkZXIgYW5kIGluIGEgc2VjdGlvblxuLy8gaW5zaWRlIHRoZSBwYWdlIGJvZHkuXG4vLyAtLS0tLS0tLS0tLS1cblxuLnByb2R1Y3QtbWFpbi1jdGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmJ0biB7XG4gICAgcGFkZGluZzogMTVweCA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgfVxufVxuXG4ucHJvZHVjdC1ib2R5LWJ1dHRvbi1ibG9jayB7XG4gIC5idW5kbGUtY3RhLXRhZ2xpbmUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4vLyBQcm9kdWN0IExhbmRpbmc6IFByb2R1Y3QgT3ZlcnZpZXdcbi8vIC0tLS0tLS0tLS0tLVxuXG4ucHJvZHVjdC1vdmVydmlldyB7XG4gIC8vIFRoaXMgY29udHJvbHMgdGhlIHdpZHRoIG9mIHRoZSBpbWFnZXMgcGVvcGxlIHB1dCBpbiB0aGUgcmVkYWN0b3IgYm94XG4gIC8vIG9uIHRoZSBjdXJyaWN1bHVtIGxhbmRpbmcgcGFnZVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yZWFkbW9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnJlYWRtb3JlLXRvZ2dsZSB7XG4gICAgbWFyZ2luLXRvcDogMjZweDtcbiAgfVxufVxuXG4vLyBTaG93cyB1cCB1bmRlciB0aGUgY291cnNlIGRlc2NyaXB0aW9uIGFuZCBpcyBlZGl0YWJsZSBieSB0aGUgdXNlclxuLmNvdXJzZS1jb250YWN0LWluZm8ge1xuICBtYXJnaW46IDA7XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gIH1cbn1cblxuLy8gUHJvZHVjdCBMYW5kaW5nOiBDb3Vyc2UgUmV2aWV3c1xuLy8gLS0tLS0tLS0tLS0tXG5cbi5jb3Vyc2UtcmV2aWV3X19jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5jb3Vyc2UtcmV2aWV3X19uYW1lIHtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cblxuLmNvdXJzZS1yZXZpZXdfX3N0YXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLmNvdXJzZS1yZXZpZXdfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnJldmlldy1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gUHJvZHVjdCBMYW5kaW5nOiBDaGFwdGVyL0N1cnJpY3VsdW0gc2VjdGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbi5jaGFwdGVyLWluZm8ge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDVweCA1cHggMDtcbiAgICBwYWRkaW5nOiAycHggMTBweCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuXG4gIGkge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC42ODhlbTsgLy8xMXB4XG4gIH1cbn1cblxuLnRvZ2dsZS1jb250ZW50IHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIGNvbG9yOiBkYXJrZW4oJGNvbG9yLW5ldXRyYWwtbGlnaHQtMiwgNTAlKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjgxM2VtOyAvLzEzcHhcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gTGFiZWwgdXNlZCB0byBzaG93IFwiRnJlZVwiIGNvbnRlbnQgb24gdGhlIGxhbmRpbmcgcGFnZXNcbi8vIC0tLS0tLS0tLS0tLVxuXG4ubGFiZWwge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAycHggNXB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBmbG9hdDogbGVmdDtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbn1cblxuLmxhYmVsLWZyZWUge1xuICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcy1ncmVlbjtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbi8vIFByb2R1Y3QgTGFuZGluZzogUHJvbW90aW9uc1xuLy8gVGhpcyBzaG93cyB1cCB3aGVuIHRoZSB1c2VyIGlzIGdpdmVuIGEgY291cG9uIGxpbmtcbi8vIGNvdXJzZS11cmwvP2NvdXBvbj0xMDBcbi8vIC0tLS0tLS0tLS0tLVxuXG4ucHJvZHVjdC1sYW5kaW5nIC5jb3Vyc2UtcHJvbW90aW9uIHtcbiAgcGFkZGluZzogMDtcblxuICAuY291cG9uIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgfVxuXG4gIC52YWxpZC1jb3Vwb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzLWdyZWVuO1xuICAgIGNvbG9yOiBsaWdodGVuKCRzdWNjZXNzLWdyZWVuLCA1MCUpO1xuICB9XG5cbiAgLmludmFsaWQtY291cG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQteWVsbG93O1xuICAgIGNvbG9yOiBkYXJrZW4oJGFsZXJ0LXllbGxvdywgNTAlKTtcbiAgfVxufVxuXG4vLyBQcm9kdWN0IExhbmRpbmc6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuXG4gIC5wcm9kdWN0LWxhbmRpbmcge1xuXG4gICAgc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIHNlY3Rpb24gcCxcbiAgICBzZWN0aW9uIHVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45MzhlbTsgLy8xNXB4XG4gICAgfVxuXG4gICAgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NTBlbSAhaW1wb3J0YW50OyAvLzI4cHhcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgZm9udC1zaXplOiAxLjc1MGVtICFpbXBvcnRhbnQ7IC8vMjhweFxuICAgIH1cblxuICAgIC50aXRsZS1ibG9jayB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAucHJvZHVjdC1sYW5kaW5nIHtcbiAgICAucHJvZHVjdC1tYWluLWN0YSAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICAgIH1cbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAxMi4gRGVmYXVsdCAvIEhpZ2ggY29udmVyc2lvbiBsYW5kaW5nIHBhZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oaWdoLWNvbnZlcnQtbGFuZGluZyAuYnRuLWludHJvLXZpZGVvIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmhpZ2gtY29udmVydC1sYW5kaW5nIC5wcm9kdWN0LW1haW4tY3RhIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmhpZ2gtY29udmVydC1sYW5kaW5nIC5jb3Vyc2UtaW5zdHJ1Y3RvciB7XG4gIG1hcmdpbi10b3A6IDQ4cHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAvLyBUaGlzIGNvbnRyb2xzIHRoZSB3aWR0aCBvZiB0aGUgaW1hZ2VzIHBlb3BsZSBwdXQgaW4gdGhlIHJlZGFjdG9yIGJveFxuICAvLyBvbiB0aGUgY3VycmljdWx1bSBsYW5kaW5nIHBhZ2VcbiAgLy8gLS0tLS0tLS0tLS0tLS1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IC0xMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBoZWlnaHQ6IDE2MnB4O1xuICAgIHdpZHRoOiAxNjJweDtcbiAgICBib3JkZXI6IDVweCBzb2xpZCAjZmZmZmZmO1xuICB9XG5cbiAgLmluc3RydWN0b3JfX2RldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9fbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi8vIEhpZ2ggQ29udmVyc2lvbiBsYW5kaW5nOiBDb3Vyc2UgQ3VycmljdWx1bVxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLmhpZ2gtY29udmVydC1sYW5kaW5nIC5jb3Vyc2UtY3VycmljdWx1bSB7XG4gIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3ItbmV1dHJhbC1saWdodC0yLCA1JSk7XG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxuXG4gIC8vIFN0eWxlcyBjaGFwdGVyIGJsb2NrIGluIHRoZSBjdXJyaWN1bHVtIGxpc3RcbiAgLmN1cnJpY3VsdW0tY2hhcHRlciB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBDb250YWluZXIgZm9yIHRoZSBjaGFwdGVyIGhlYWRlclxuICAuY3VycmljdWx1bS1jaGFwdGVyLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcblxuICAgIC5jaGFwdGVyLXRpbWUge1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yLWxpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmNoYXB0ZXItaGVhZGVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogZHluYW1pYy10ZXh0KCRwcmltYXJ5LWNvbG9yKTtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3QtaXRlbV9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gICAgfVxuICB9XG5cbiAgLmNoYXB0ZXItbGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNXB4IDQ1cHggNXB4IDE1cHg7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgaSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGlzIHRoZSBidXR0b24gdGhhdCBvcGVuIHVwIHRoZSBjaGFwdGVyIGNvbnRlbnRzIGxpc3RcbiAgLmNoYXB0ZXItdG9nZ2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB9XG5cbiAgLmNvdXJzZS1tYWluLWN0YSB7XG4gICAgcGFkZGluZy10b3A6IDM2cHg7XG4gIH1cbn1cblxuLy8gSGlnaCBDb252ZXJzaW9uIGxhbmRpbmc6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuXG4gIC5oaWdoLWNvbnZlcnQtbGFuZGluZyB7XG5cbiAgICAuY291cnNlLWluc3RydWN0b3Ige1xuICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rvcl9faW1nLXdyYXAge1xuICAgICAgbWFyZ2luLXRvcDogLTgwcHg7XG4gICAgfVxuXG4gICAgLmluc3RydWN0b3JfX2ltZyB7XG4gICAgICBoZWlnaHQ6IDEwOHB4O1xuICAgICAgd2lkdGg6IDEwOHB4O1xuICAgIH1cblxuICAgIC5jdXJyaWN1bHVtLWNoYXB0ZXItaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDVweCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY291cnNlLWN1cnJpY3VsdW0gIC5jaGFwdGVyLXRpbWUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gMTMuIEN1cnJpY3VsdW0gTGFuZGluZyBwYWdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY3VycmljdWx1bS1sYW5kaW5nIHtcbiAgLmNvdXJzZS1hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIH1cblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG5cbiAgLmJ0bi1pbnRyby12aWRlbyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIC8vIE1ha2VzIHRoZSB0d28gY29sdW1ucyBsb29rIGxpa2UgdGhleSBtYXRjaFxuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAuY291cnNlLWJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zaWRlYmFyLWZpbGxlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgfVxuXG4gIC8vIEN1cnJpY3VsdW0gTGFuZGluZzogQ291cnNlIEluY2x1ZGVzIExpc3RcbiAgLy8gU2hvd3MgdGhlIGxpdHRsZSAxIHZpZGVvLCAxIHRleHQsIGFuZCBjb3Vyc2UgdGltZSBlbGVtZW50c1xuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAuY291cnNlLWluY2x1ZGVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gICAgdWwge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICBwYWRkaW5nOiA1cHggNnB4IDNweCA0cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTNlbTsgLy8xM3B4XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIGNvbG9yOiAkdGV4dC1ibHVlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3VycmljdWx1bSBMYW5kaW5nOiBDb3Vyc2UgQ3VycmljdWx1bVxuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAuY291cnNlLWN1cnJpY3VsdW0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cblxuICAuY3VycmljdWx1bS1jaGFwdGVyICsgLmN1cnJpY3VsdW0tY2hhcHRlciB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgfVxuXG4gIC5jaGFwdGVyLXRvZ2dsZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyIGZvciB0aGUgY2hhcHRlciBoZWFkZXJcbiAgLmN1cnJpY3VsdW0tY2hhcHRlci1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAhaW1wb3J0YW50O1xuXG4gICAgLmNoYXB0ZXItdGltZSB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuY2hhcHRlci1oZWFkZXIge1xuICAgIGNvbG9yOiAkdGV4dC1ibHVlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAuY2hhcHRlci1saXN0IHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3QtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDVweCA0NXB4IDVweCAxNXB4O1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuXG4gICAgaSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICB9XG4gIH1cblxuICAuY2hhcHRlci10aW1lIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC8vIEN1cnJpY3VsdW0gTGFuZGluZzogQ291cnNlIERldGFpbHMgU2lkZWJhclxuICAvLyAtLS0tLS0tLS0tLS0tLS1cblxuICAuY291cnNlLWRldGFpbHMge1xuICAgIHBhZGRpbmc6IDAgMCA0MHB4IDE4cHg7XG5cbiAgICAucHJvZHVjdC1vdmVydmlldyxcbiAgICAuY291cnNlLWluc3RydWN0b3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGdldHMgR29vZ2xlIHRvIGZhbGwgaW50byBwbGFjZVxuICAgIC5zb2NpYWwtaWNvbnMge1xuICAgICAgZm9udC1zaXplOiAxcHg7XG5cbiAgICAgIC8vIFRoaXMgZ2V0cyBGYWNlYm9vayB0byBmYWxsIGludG8gcGxhY2VcbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0IGFuIG9wdGlvbmFsIHdpZHRoIGZvciB5b3VyIGJ1dHRvbiB3cmFwcGVyc1xuICAgIC5zaGFyZS1idG4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5sZXNzIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDI3MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jb3Vyc2UtZGV0YWlsc19fc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1uZXV0cmFsO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIC8vIEN1cnJpY3VsdW0gTGFuZGluZzogTXVsdGktcHJvZHVjdHNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiAgLm11bHRpLXByb2R1Y3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAwLjg3NWVtOyAvLzE0cHhcbiAgICB9XG4gIH1cblxuICAvLyBDdXJyaWN1bHVtIExhbmRpbmc6IE1lZGlhIFF1ZXJpZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIC5jb3Vyc2UtYm9keSB7XG4gICAgICAuY291cnNlLWN1cnJpY3VsdW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb3Vyc2UtY3VycmljdWx1bSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5jb3Vyc2UtZGV0YWlscyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5zaWRlYmFyLWZpbGxlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICAuY2hhcHRlci10aW1lIHtcbiAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICAuY291cnNlLWluY2x1ZGVzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgLmNvdXJzZS1hY3Rpb25zIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDE0LiBCdW5kbGUgTGFuZGluZyBQYWdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCdW5kbGUgY29udGVudCBpcyB0aGUgbGlzdCBvZiBQcm9kdWN0cyB0aGF0IG1ha2VzIHVwIHRoZSBidW5kbGUuXG4vLyBXZSBkaWRuJ3QgdXNlIG5vcm1hbCBjb3Vyc2UgY2FyZHMgYmVjYXVzZSBzb21lb25lIG1pZ2h0IGhhdmUgbW9yZSB0aGFuIDUwK1xuLy8gY291cnNlcyB3aGljaCBtYWtlcyBmb3IgYSB2ZXJ5IGxvbmcgcGFnZS5cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi5idW5kbGUtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4vLyBhIHNpbmdsZSBsaW5lIHRoYXQgc2l0cyB1bmRlciB0aGUgYnV0dG9uLiBLaW5kIG9mIGEgbGl0dGxlIGV4dHJhIHVwc2VsbFxuLmJ1bmRsZS1jdGEtdGFnbGluZSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGNvbG9yOiBkeW5hbWljLXRleHQoJHByaW1hcnktY29sb3IpO1xufVxuXG4uYnVuZGxlLWNvbnRlbnRfX2l0ZW0ge1xuICBAaW5jbHVkZSBjYXJkO1xuICBwYWRkaW5nOiAxMHB4O1xuXG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgfVxufVxuXG4uYnVuZGxlLWNvbnRlbnRfX2l0ZW0taW1nIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5idW5kbGUtY29udGVudF9faXRlbS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG59XG5cbi5idW5kbGUtY29udGVudF9faXRlbSArIC5idW5kbGUtY29udGVudF9faXRlbSxcbi5idW5kbGUtY29udGVudF9faXRlbSArIC5idW5kbGUtY291cnNlLS1oaWRkZW4sXG4uYnVuZGxlLWNvdXJzZS0taGlkZGVuICsgLmJ1bmRsZS1jb3Vyc2UtLWhpZGRlbiB7XG4gIG1hcmdpbi10b3A6IDEycHg7XG59XG5cbi5idW5kbGUtc2VlLW1vcmUtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xufVxuXG5cbi8vIEJ1bmRsZSBMYW5kaW5nIFBhZ2U6IE1lZGlhIFF1ZXJpZXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG5cbiAgLmJ1bmRsZS1jb250ZW50X19pdGVtLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDFlbTsgLy8xNnB4O1xuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDE1LiBNdWx0aSBQcm9kdWN0c1xuLy8gSWYgYW4gYWRtaW4gc2VsbHMgbXVsdGlwbGUgcHJvZHVjdHMgb24gYSBzaW5nbGUgbGFuZGluZyBwYWdlIHlvdSB3aWxsIGdldFxuLy8gdGhpcyBzZWN0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi5tdWx0aS1wcm9kdWN0cyxcbi5jb3Vyc2UtbXVsdGktcHJvZHVjdHMge1xuXG4gIC5tdWx0aS1wcm9kdWN0X19pdGVtIHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIG1hcmdpbjogMCAwIDZweCAwO1xuICB9XG5cbiAgLm11bHRpLXByb2R1Y3RfX2J1eSB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLm11bHRpLXByb2R1Y3RfX2N0YSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zIChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudCAoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLzE2cHhcbiAgfVxuXG4gIC5tdWx0aS1wcm9kdWN0X19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG5cbiAgICAucHJpY2Uge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICB9XG59XG5cbi8vIE11bHRpIFByb2R1Y3RzOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuXG4gIC5tdWx0aS1wcm9kdWN0cyxcbiAgLmNvdXJzZS1tdWx0aS1wcm9kdWN0cyB7XG5cbiAgICAubXVsdGktcHJvZHVjdF9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgLm11bHRpLXByb2R1Y3RfX2N0YSB7XG4gICAgICBwYWRkaW5nOiAzcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIDE3LiBTaWduIHVwIC8gU2lnbiBpblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnVzZXItc2lnbi11cCB7XG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLnNpZ25fdXBfX29yLFxuICAuc2lnbl9pbl9fb3Ige1xuICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5oZWxwLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmhhcy1lcnJvciAuaGVscC1ibG9jayB7XG4gICAgZm9udC1zaXplOiAwLjc1MGVtOyAvLzEycHhcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5jaGVja2JveCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLnJlbWVtYmVyLW1lLWxpbmsge1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICB9XG5cbiAgLmJ0bi1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICB9XG59XG5cbi8vIExpbmtlZGluIGJ1dHRvbiBhbmQgYW55IG90aGVyIHNvY2lhbC9sb2dpbiBidXR0b25zXG4udXNlci1zaWduLXVwX19hbHQtbG9naW5zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuXG4udXNlci1zaWduLXVwX19ib3R0b20ge1xuICBwYWRkaW5nOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYSB7XG4gICAgZm9udC1zaXplOiAwLjkzOGVtOyAvLzE1cHhcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbi5ob290c3VpdGUtbG9naW4ge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaG9vdHN1aXRlLWxvZ2luLWJveCwgLmhvb3RzdWl0ZS1zaWdudXAtYm94IHtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IHNvbGlkIDJweCAkY29sb3ItbmV1dHJhbDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJiBhIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxufVxuXG4uaG9vdHN1aXRlLWxvZ28tc3ZnIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly9kaWk0OTBrMTg2eTJzLmNsb3VkZnJvbnQubmV0LzEwNTYvMTU2OTMvaG9vdHN1aXRlLWxvZ28tMTQ3NTYwNjg0OC5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGhlaWdodDogMzRweDtcbiAgICB3aWR0aDogMTUycHg7XG59XG5cbi5oYWx2ZWQtbG9naW4tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDgwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5oYWx2ZWQtbG9naW4tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcbn1cblxuLmhvb3RzdWl0ZS1zaWdudXAtbGluayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbn1cblxuLmFjYWRlbXktbG9naW4gLnNpZ24taW4td3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC5jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG4udXNlci1zaWduLWluIC5zZWN0aW9uLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi51c2VyLXNpZ24taW4gLm5vdGUge1xuICAgIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5zaWduLXVwLXBhZ2UsICN1c2Vycy1jaGVja291dC1hdXRoICNzaWduLXVwIHtcbiAgICBtYXgtd2lkdGg6IDQ0MHB4O1xuICAgIFxuICAgICYgLmZvb3Rub3RlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICB9XG59XG5cbiN1c2Vycy1jaGVja291dC1hdXRoICNzaWduLXVwIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8gU2lnbiBpbi9TaWduIHVwOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAuaGFsdmVkLWxvZ2luLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBcbiAgLnVzZXItc2lnbi1pbiAubm90ZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcblxuICAudXNlci1zaWduLXVwIHtcbiAgICAucmVtZW1iZXItbWUtbGluayxcbiAgICAuZm9yZ290LXBhc3N3b3JkIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsgLy8xNHB4XG4gICAgfVxuICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBcbiAgICAuaG9vdHN1aXRlLWxvZ2luIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBcbiAgICAubG9naW5fX2ZvcmdvdC1wYXNzLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgLnVzZXItc2lnbi11cF9fYWx0LWxvZ2lucyB7XG4gICAgLmJ0biArIC5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAxOC4gQWxsIENvdXJzZXMvU3R1ZGVudCBEYXNoYm9hcmRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5wcm9kdWN0c19fZmlsdGVycyB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG1lbnVsaXN0KTtcbiAgfVxuXG4gIFt0eXBlPVwic2VhcmNoXCJde1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIFN0dWRlbnQgRGFzaGJvYXJkIChlbnJvbGxtZW50cylcbi8vIC0tLS0tLS0tLS0tLS1cblxuLnN0dWRlbnQtZGFzaGJvYXJkX19oZXJvIHtcbiAgcGFkZGluZzogNDBweCAzMHB4IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItbmV1dHJhbC1saWdodC0xO1xufVxuXG4uc3R1ZGVudC1kYXNoYm9hcmRfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxLjg3NWVtOyAvLzMwcHhcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBjb2xvcjogIzJmMzYzODtcbn1cblxuLnN0dWRlbnQtZGFzaGJvYXJkX19zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIGNvbG9yOiAjMmYzNjM4O1xufVxuXG4vLyBBbGwgQ291cnNlcy9TdHVkZW50IERhc2hib2FyZDogTWVkaWEgUXVlcmllc1xuLy8gLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuXG4gIC5wcm9kdWN0c19fZmlsdGVyLWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5zdHVkZW50LWRhc2hib2FyZF9faGVybyB7XG4gICAgcGFkZGluZzogMjBweCAxNXB4O1xuICB9XG5cbiAgLnN0dWRlbnQtZGFzaGJvYXJkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjYyNWVtOyAvLzI2cHhcbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgMTkuIENoZWNrb3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2hlY2tvdXQtZm9ybS1jb250YWluZXJfX2lubmVyIHtcbiAgQGluY2x1ZGUgY2FyZDtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLmNoZWNrb3V0LWZvcm1fX2JvZHkge1xuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGZvbnQtc2l6ZTogMS4yNTBlbTsgLy8yMHB4XG4gIH1cbn1cblxuLmNoZWNrb3V0LWZvcm1fX2JvdHRvbSB7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB9XG59XG5cbi5jaGVja291dC1mb3JtX19wdXJjaGFzZSB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2hlY2tvdXQtZm9ybV9fcHVyY2hhc2UtaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBtYXgtd2lkdGg6IDE4MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5jaGVja291dC1mb3JtX19wdXJjaGFzZS1kZXNjcmlwdGlvbiB7XG4gIG1heC13aWR0aDogOTAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZm9udC1zaXplOiAxLjRlbTtcbn1cblxuLy8gVGhlIHNlY3VyZSBjaGVja291dCBpbWFnZXMgb24gdGhlIGJvdHRvbSBsZWZ0XG4ub3JkZXItc2VjdXJpdHkge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmNvdXBvbi1mb3JtX19jb3Vwb24tY29kZSB7XG4gIFt0eXBlPVwidGV4dFwiXXtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBFbnN1cmUgdGhhbmt5b3UgcGFnZSB0cmFja2luZyBwaXhlbCBpcyBub3QgdmlzaWJsZVxuaW1nW3NyYyo9XCJnb29nbGVhZHNlcnZpY2VzLmNvbVwiXSB7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICB0b3A6IC0ycHg7XG4gIGxlZnQ6IC0ycHg7XG59XG5cbi8vIENoZWNrb3V0OiBQcm9ncmVzcyBiYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuI3Byb2dyZXNzYmFyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogMCBhdXRvIDI1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA3MCU7XG4gIGNvdW50ZXItcmVzZXQ6IHN0ZXA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbiNwcm9ncmVzc2JhciBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC42ODhlbTsgLy8xMXB4XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG5cbiAgJjpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb250ZW50OiBjb3VudGVyKHN0ZXApO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdGVwO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODEzZW07IC8vMTNweFxuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgICBiYWNrZ3JvdW5kOiAjZGFkYWRhO1xuICAgIG1hcmdpbjogMCBhdXRvIDVweCBhdXRvO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjZGFkYWRhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKCAtNTAlICsgMTBweCk7XG4gICAgdG9wOiA5cHg7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmU6YmVmb3JlLFxuICAmLmFjdGl2ZTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuXG4vLyBDaGVja291dDogQ29uZmlybSBPcmRlclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4vLyBMaXN0IG9mIHByb2R1dHMgYmVpbmcgYm91Z2h0IGFuZCB0aGVpciB0b3RhbCBwcmljZVxuLm9yZGVyLXByb2R1Y3RfX2xpc3Qge1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ub3JkZXItcHJvZHVjdF9fdG90YWwtYW1vdW50LFxuLm9yZGVyLXByb2R1Y3RfX2NvdXBvbi1uYW1lIHtcbiAgcGFkZGluZy10b3A6IDEycHg7XG59XG5cbi5vcmRlci1wcm9kdWN0X19jb3Vwb24ge1xuXG4gIC5jb3Vwb24tY2hlY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxZW07IC8vMTZweFxuICB9XG5cbiAgLmNvdXBvbiB7XG4gICAgcGFkZGluZzogMTBweCAwIDIwcHg7XG4gIH1cbn1cblxuLy8gQ2hlY2tvdXQ6IFBheW1lbnQgSW5mb1xuLy8gLS0tLS0tLS0tLS0tLVxuXG4uY2hlY2tvdXQtYXV0aC1jb250YWluZXIge1xuXG4gIC5jcmVkaXQtY2FyZCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNyZWRpdC1jYXJkX19leHBpcnktZGF0ZSB7XG4gICAgLmV4cGlyYXRpb24tZGF0ZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTFweDtcbiAgICB9XG4gIH1cblxuICAucGF5cGFsLWJ1dHRvbi1yb3cge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wYXlwYWwtYnV0dG9uLXJvd19fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIG1hcmdpbjogNXB4IDA7XG4gIH1cbn1cblxuXG4vLyBDaGVja291dDogVGhhbmsgeW91XG4vLyAtLS0tLS0tLS0tLS0tXG5cbi5jaGVja291dC10aGFua3lvdSAubXVsdGktcHJvZHVjdHMge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLmNoZWNrb3V0LXRoYW5reW91X19jb3Vyc2Uge1xuICBwYWRkaW5nOiA1cHggMDtcblxuICAmICsgJiB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG5cbiAgJjpudGgtb2YtdHlwZShldmVuKXtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbmV1dHJhbC1saWdodC0yO1xuICB9XG59XG5cbi5jaGVja291dC10aGFua3lvdV9fY291cnNlLW5hbWUge1xuICBmb250LXNpemU6IDEuMTI1ZW07IC8vMThweFxuICBsaW5lLWhlaWdodDogMS44O1xufVxuXG4uY2hlY2tvdXQtYnVuZGxlX19tb3JlX2Vucm9sbG1lbnRzX2xpbWl0IHtcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG5cbi8vIENoZWNrb3V0OiBUaGFuayB5b3Vcbi8vIC0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNoZWNrb3V0LXRoYW5reW91X19jb3Vyc2UtbmFtZSxcbiAgLmNoZWNrb3V0LXRoYW5reW91X19idXR0b24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5jaGVja291dC10aGFua3lvdV9fY291cnNlIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgJjpudGgtb2YtdHlwZShldmVuKXtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ2hlY2tvdXQ6IEVycm9yc1xuLy8gLS0tLS0tLS0tLS0tLVxuXG4uY2hlY2tvdXQtYXV0aC1jb250YWluZXIge1xuICAjbG9jYWwtcGF5bWVudC1lcnJvcnMsXG4gICNjb3Vwb24tZXJyb3JzLFxuICAucGF5bWVudC1lcnJvcnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6IHJlZDtcbiAgfVxuXG4gIC8vIEVycm9ycyBmb3IgYmFkIGNyZWRpdCBjYXJkIG51bWJlciwgb3IgaW52YWxpZCBleHBpcmF0aW9uXG4gICNsb2NhbC1wYXltZW50LWVycm9ycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gICNjb3Vwb24tZXJyb3JzIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxuICB9XG59XG5cbi5jaGVja291dC1mb3JtIHtcbiAgI2Vycm9ycyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIGJhY2tncm91bmQ6ICNmZmQ0Y2M7XG4gICAgY29sb3I6ICNlNzU3MjU7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNDUlO1xuICB9XG5cbiAgLmFsZXJ0LWVycm9yIHtcbiAgICBmb250LXNpemU6IDAuNzUwZW07IC8vMTJweFxuICAgIGNvbG9yOiAjZTc1NzI1O1xuICB9XG5cbiAgLmVycm9yLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cblxuICAuYWxlcnQtZXJyb3IgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAuYWxlcnQtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5oYXMtZXJyb3IgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTc1NzI1O1xuICB9XG59XG5cbi5jaGVja291dC1mb3JtICNlcnJvcnMge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5cbi8vIENoZWNrb3V0OiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tXG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gIC5jb3Vwb24tZm9ybV9fY291cG9uLWJ1dHRvbiAuYnRuIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgLmNyZWRpdC1jYXJkX19leHBpcnktZGF0ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIC5leHBpcmF0aW9uLWRhdGUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0LWZvcm0tY29udGFpbmVyIHtcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTsgLy8xOHB4XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0LWZvcm0tY29udGFpbmVyX19pbm5lciB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxuXG4gIC5jb3Vwb24tZm9ybV9fY291cG9uLWNvZGUsXG4gIC5jb3Vwb24tZm9ybV9fYXBwbGllZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5jb3Vwb24tZm9ybV9fY291cG9uLWJ1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAuYnRuIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAjcHJvZ3Jlc3NiYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICBsaTpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICAgIGNvbnRlbnQ6IFwiXFwwMGEwXCI7XG4gICAgfVxuXG4gICAgbGk6YWZ0ZXIge1xuICAgICAgbGVmdDogY2FsYyggLTUwJSArIDVweCk7XG4gICAgICB0b3A6IDVweDtcbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXQtZm9ybV9fcHVyY2hhc2UtaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICB9XG5cbiAgLmNoZWNrb3V0LWZvcm1fX3B1cmNoYXNlLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlblxuYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIC5vcmRlci1wcm9kdWN0X19saXN0IHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICB9XG5cbiAgLm9yZGVyLXByb2R1Y3RfX2NvdXBvbiAuY291cG9uLWNoZWNrIHtcbiAgICBmb250LXNpemU6IDAuODc1ZW07IC8vMTRweFxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIDIwLiBDb3Vyc2UgTGFuZGluZyBQYWdlIC0gVmlkZW8gQ2VudHJpY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnZpZGVvLWxhbmRpbmcge1xuXG4gIC5wcm9kdWN0LWJhbm5lciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMjQwcHg7XG4gIH1cblxuICAucHJvZHVjdF9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLnRpdGxlLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG4gIC5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuICAuZW1iZWQtY29udGFpbmVyIGVtYmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmNvdXJzZS1kZXNjcmlwdGlvbiB7XG4gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5jb3Vyc2UtdmlkZW8ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luOiAtMjAwcHggYXV0byA2MHB4O1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMjlweCAtNnB4IHJnYmEoMCwwLDAsMC4zOSk7XG4gIH1cblxuICAuY291cnNlLWluc3RydWN0b3Ige1xuICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19pbWctd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogLTE1NHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5pbnN0cnVjdG9yX19kZXRhaWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICB9XG5cbiAgLmluc3RydWN0b3JfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgLy8yNnB4XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmluc3RydWN0b3JfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBoZWlnaHQ6IDE3MHB4O1xuICAgIHdpZHRoOiAxNzBweDtcbiAgICBib3gtc2hhZG93OiA1cHggNXB4IDI5cHggLTZweCByZ2JhKDAsMCwwLDAuMik7XG4gIH1cblxuICAuY3VycmljdWx1bS1jaGFwdGVyICsgLmN1cnJpY3VsdW0tY2hhcHRlciB7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcbiAgfVxuXG4gIC5jaGFwdGVyLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMS42MjVlbTsgLy8yNnB4XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmNoYXB0ZXItdGltZSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3Qge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLW5ldXRyYWwtbGlnaHQtMTtcbiAgfVxuXG4gIC5jaGFwdGVyLWxpc3QtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDRweCAzMHB4IDRweCAxNXB4O1xuXG4gICAgaSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuY291cnNlLXJlbGF0ZWQtcHJvZHVjdHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTE7XG4gIH1cblxuICAubXVsdGktcHJvZHVjdF9faXRlbSB7XG4gICAgQGluY2x1ZGUgY2FyZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgLm11bHRpLXByb2R1Y3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cblxuLy8gVmlkZW8gTGFuZGluZyBQYWdlOiBNZWRpYSBRdWVyaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAudmlkZW8tbGFuZGluZyB7XG5cbiAgICAucHJvZHVjdC1iYW5uZXIge1xuICAgICAgcGFkZGluZzogNTBweCAwIDIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW5cbmFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAudmlkZW8tbGFuZGluZyB7XG5cbiAgICAucHJvZHVjdC1iYW5uZXIge1xuICAgICAgcGFkZGluZzogMzBweCAwIDE1MHB4O1xuICAgIH1cblxuICAgIC5jb3Vyc2UtdmlkZW8ge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbjogLTE1MHB4IGF1dG8gNDBweDtcbiAgICB9XG5cbiAgICAuY3VycmljdWx1bS1jaGFwdGVyICsgLmN1cnJpY3VsdW0tY2hhcHRlciB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbigkdGV4dC1jb2xvciwgNTUlKTtcbiAgICB9XG5cbiAgICAuY2hhcHRlci1uYW1lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAxLjI1MGVtOyAvLzIwcHhcbiAgICB9XG5cbiAgICAuY2hhcHRlci1saXN0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIH1cblxuICAgIC5jaGFwdGVyLWxpc3QtaXRlbSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnByb2R1Y3RfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmluc3RydWN0b3JfX2ltZy13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rvcl9faW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgICB3aWR0aDogMTMwcHg7XG4gICAgICBib3gtc2hhZG93OiA1cHggNXB4IDI5cHggLTZweCByZ2JhKDAsMCwwLDAuMik7XG4gICAgfVxuXG4gICAgLmluc3RydWN0b3JfX2RldGFpbHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgLnZpZGVvLWxhbmRpbmcge1xuXG4gICAgLnByb2R1Y3QtYmFubmVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMCA2MHB4O1xuICAgIH1cblxuICAgIC5jb3Vyc2UtdmlkZW8ge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIG1hcmdpbjogLTU1cHggYXV0byAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAyMS4gU3R1ZGVudC9BZmZpbGlhdGUgZWRpdCBhY2NvdW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uc3R1ZGVudC1wcm9maWxlIHtcblxuICAvLyBVcGxvYWQgc3R1ZGVudCBpbnN0cnVjdG9yIGltYWdlXG4gIC5idG4tdXBsb2FkIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5hY2NvdW50LWNvbnRlbnQtcHJvZmlsZS1pbWcge1xuICAgIG1hcmdpbjogMjBweCAwIDQwcHg7XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICB9XG4gIH1cblxuICAjZmVlZGJhY2stYXJlYSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG5cbiAgI2Vycm9yX2V4cGxhbmF0aW9uIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZkNGNjO1xuICAgIGNvbG9yOiAjZTc1NzI1O1xuICAgIHBhZGRpbmc6IDEycHggMzBweDtcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBjb2xvcjogI2U3NTcyNTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTdHVkZW50IGVkaXQgYWNjb3VudDogQ29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLmFjY291bnQtY29udGVudCxcbi5hZmZpbGlhdGUtY29udGVudCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBAaW5jbHVkZSBjYXJkO1xuICBwYWRkaW5nOiAyMHB4O1xuXG4gIC5hY2NvdW50LWNvbnRlbnQtZm9vdGVyLFxuICAuYWZmaWxpYXRlLWNvbnRlbnQtZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgfVxufVxuXG4uYWNjb3VudC1jb250ZW50X19iYWNrLWxpbmsge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuLy8gU3R1ZGVudCBlZGl0IGFjY291bnQ6IEFjY291bnQgTWVudVxuLy8gLS0tLS0tLS0tLS0tLS1cblxuLmFjY291bnQtbWVudSxcbi5hZmZpbGlhdGUtbWVudSB7XG4gIEBpbmNsdWRlIGNhcmQ7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtOmhvdmVyLFxuICBhLmxpc3QtZ3JvdXAtaXRlbTpmb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1uZXV0cmFsLWxpZ2h0LTI7XG4gIH1cblxuICBhLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUsXG4gIGEubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlcixcbiAgYS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLW5ldXRyYWwtbGlnaHQtMjtcbiAgICBib3JkZXItY29sb3I6IG5vbmU7XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRsaW5rLWNvbG9yO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1saWdodDtcbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSA+IC5iYWRnZSxcbiAgLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAkbGluay1jb2xvcjtcbiAgICBjb2xvcjogJHRleHQtY29sb3ItbGlnaHQ7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAyMi4gRm9yZ290IFBhc3N3b3JkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucmVzZXQtcGFzc3dvcmQtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2FyZDtcbiAgcGFkZGluZzogMjBweDtcblxuICAucmVzZXQtcGFzc3dvcmRfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgMjMuIFNpbmdsZSBUYXNrIFZpZXdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zaW5nbGUtdGFzay12aWV3IHtcbiAgYmFja2dyb3VuZDogI2Y0ZjVmNyBpbWFnZS11cmwoXCJkZWZhdWx0cy9iZy1zaGFwZXMtZ3JleS5wbmdcIikgdG9wIGxlZnQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgLmNvbnRhaW5lciB7XG4gICBwYWRkaW5nLXRvcDogMTVweDtcbiAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAudGhpbmtpZmljLWxvZ28ge1xuICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cblxuICAuc2luZ2xlLXRhc2stdmlld19fY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG5cbiAgLnNpbmdsZS10YXNrLXZpZXdfX3RpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZlbTtcbiAgfVxuXG4gIC5zaW5nbGUtdGFzay12aWV3X19zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuXG5hbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAuc2luZ2xlLXRhc2stdmlldyAge1xuICAgIC5jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cblxuIiwKCQkiLy8gQm91cmJvbiA0LjIuNlxuLy8gaHR0cDovL2JvdXJib24uaW9cbi8vIENvcHlyaWdodCAyMDExLTIwMTUgdGhvdWdodGJvdCwgaW5jLlxuLy8gTUlUIExpY2Vuc2VcblxuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnbi1pbnB1dHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnMtZmFsc3lcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxpZ2h0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLW51bWJlclwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1zaXplXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLXJlbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zaGFkZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zdHJpcC11bml0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90aW50XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RyYW5zaXRpb24tcHJvcGVydHktbmFtZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy91bnBhY2tcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbW9kdWxhci1zY2FsZVwiO1xuXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9kaXJlY3Rpb25hbC12YWx1ZXNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XG5AaW1wb3J0IFwiaGVscGVycy9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XG5cbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xuXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1jb2xvclwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1zdHlsZVwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItd2lkdGhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LXN0YWNrc1wiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvbWFyZ2luXCI7XG5AaW1wb3J0IFwiYWRkb25zL3BhZGRpbmdcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGV4dC1pbnB1dHNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgb3IgZGlzYWJsZSB2ZW5kb3IgcHJlZml4ZXNcblxuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0O1xuIiwKCQkiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIGdsb2JhbCBzZXR0aW5nIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBgJGFzc2V0LXBpcGVsaW5lYCB2YXJpYWJsZSBmb3IgYWxsIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBpdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcblxuJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsCgkJIkBmdW5jdGlvbiBhc3NpZ24taW5wdXRzKCRpbnB1dHMsICRwc2V1ZG86IG51bGwpIHtcbiAgJGxpc3Q6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGNvbnRhaW5zIGEgdmFsdWUocykuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZXNcbi8vLyAgIEEgc2luZ2xlIHZhbHVlIG9yIGxpc3Qgb2YgdmFsdWVzIHRvIGNoZWNrIGZvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgY29udGFpbnMoJGxpc3QsICR2YWx1ZSlcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhbHVlcy4uLikge1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmIHR5cGUtb2YoaW5kZXgoJGxpc3QsICR2YWx1ZSkpICE9IFwibnVtYmVyXCIge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGRvZXMgbm90IGNvbnRhaW5zIGEgdmFsdWUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcblxuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXG4gICAgICAgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QodW5pdGxlc3MoJHZhbHVlKSkpKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHdoZXRoZXIgYSBjb2xvciBpcyBsaWdodCBvciBkYXJrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3JvYm90cy50aG91Z2h0Ym90LmNvbS9jbG9zZXItbG9vay1jb2xvci1saWdodG5lc3Ncbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3IgKEhleCl9ICRjb2xvclxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBpcy1saWdodCgkY29sb3IpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWdyZWVuOiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWxpZ2h0bmVzczogKCQtbG9jYWwtcmVkICogMC4yMTI2ICsgJC1sb2NhbC1ncmVlbiAqIDAuNzE1MiArICQtbG9jYWwtYmx1ZSAqIDAuMDcyMikgLyAyNTU7XG5cbiAgQHJldHVybiAkLWxvY2FsLWxpZ2h0bmVzcyA+IDAuNjtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG5cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG4gIEByZXR1cm4gY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1Mgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwKCQkiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsCgkJIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY0YTIwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoV2l0aCBVbml0KX0gJHZhbHVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRkaW1lbnNpb246IHN0cmlwLXVuaXRzKDEwZW0pO1xuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgJGRpbWVuc2lvbjogMTA7XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXIgKFVuaXRsZXNzKX1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xuICBAcmV0dXJuICgkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiB3aGl0ZSB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGRmYzk7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjZmZmLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsCgkJIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkbmV3LXByb3BzOiAoKTtcblxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuICAgICRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG4gIC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuICBAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcbiAgICBAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkcHJvcDtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ29udmVydHMgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3J0aGFuZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogdW5wYWNrKDFlbSAyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcbi8vLyAgIH1cblxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG4iLAoJCSIvLyBTY2FsaW5nIFZhcmlhYmxlc1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XG4kb2N0YXZlOiAgICAgICAgICAgMjtcbiRtYWpvci10ZW50aDogICAgICAyLjU7XG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XG4kbWFqb3ItdHdlbGZ0aDogICAgMztcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xuXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJHBlcmZlY3QtZm91cnRoICFkZWZhdWx0O1xuJG1vZHVsYXItc2NhbGUtYmFzZTogZW0oJGVtLWJhc2UpICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWU6ICRtb2R1bGFyLXNjYWxlLWJhc2UsICRyYXRpbzogJG1vZHVsYXItc2NhbGUtcmF0aW8pIHtcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XG4gICR2YWx1ZTogJHYxO1xuXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxuICBAd2hpbGUgJHYyID4gJHYxIHtcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXG4gIH1cbiAgQHdoaWxlICR2MiA8ICR2MSB7XG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcbiAgfVxuXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcblxuICBAaWYgJGluY3JlbWVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGluY3JlbWVudCA8IDAge1xuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcbiAgJHN0cmluZ3M6IFwicHhcIiwgXCJjbVwiLCBcIm1tXCIsIFwiJVwiLCBcImNoXCIsIFwicGljYVwiLCBcImluXCIsIFwiZW1cIiwgXCJyZW1cIiwgXCJwdFwiLCBcInBjXCIsIFwiZXhcIiwgXCJ2d1wiLCBcInZoXCIsIFwidm1pblwiLCBcInZtYXhcIiwgXCJkZWdcIiwgXCJyYWRcIiwgXCJncmFkXCIsIFwidHVyblwiO1xuICAkdW5pdHM6ICAgMXB4LCAxY20sIDFtbSwgMSUsIDFjaCwgMXBpY2EsIDFpbiwgMWVtLCAxcmVtLCAxcHQsIDFwYywgMWV4LCAxdncsIDF2aCwgMXZtaW4sIDF2bWF4LCAxZGVnLCAxcmFkLCAxZ3JhZCwgMXR1cm47XG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcblxuICBAaWYgbm90ICRpbmRleCB7XG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gXCJudW1iZXJcIiB7XG4gICAgQHdhcm4gXCJgI3skbnVtYmVyfSBpcyBub3QgYSBudW1iZXJgXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcbi8vL1xuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG5cbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWxzLCAxKTtcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcbi8vLyAgIFByZWZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxuLy8vICAgU3VmZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cbn1cbiIsCgkJIi8vIFVzZWQgZm9yIGNyZWF0aW5nIHRoZSBzb3VyY2Ugc3RyaW5nIGZvciBmb250cyB1c2luZyBAZm9udC1mYWNlXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXG5cbkBmdW5jdGlvbiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzLFxuICAkZm9udC11cmwpIHtcblxuICAkc3JjOiAoKTtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICAgXCIjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXhcIiBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcbiAgICB0dGY6ICAgXCIjeyRmaWxlLXBhdGh9LnR0ZlwiIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKVxuICApO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGZvcm1hdHMtbWFwIHtcbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xuICAgICAgJGZpbGUtcGF0aDogbnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XG5cbiAgICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHNyYztcbn1cbiIsCgkJIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAcmV0dXJuICRncmFkaWVudC1wb3NpdGlvbnM7XG59XG4iLAoJCSIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXG5AZnVuY3Rpb24gX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KSB7XG4gICRvZmZzZXQ6IG51bGw7XG4gICR1bml0LXNob3J0OiAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAyLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgJHVuaXQtbG9uZzogICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gIEBpZiAoJHVuaXQtbG9uZyA9PSBcImdyYWRcIikgb3JcbiAgICAgICgkdW5pdC1sb25nID09IFwidHVyblwiKSB7XG4gICAgJG9mZnNldDogaWYoJHVuaXQtbG9uZyA9PSBcImdyYWRcIiwgLTEwMGdyYWQgKiAzLCAtMC43NXR1cm4pO1xuICB9XG5cbiAgQGVsc2UgaWYgKCR1bml0LXNob3J0ID09IFwiZGVnXCIpIG9yXG4gICAgICAgICAgICgkdW5pdC1zaG9ydCA9PSBcInJhZFwiKSB7XG4gICAgJG9mZnNldDogaWYoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIiwgLTkwICogMywgMS42cmFkKTtcbiAgfVxuXG4gIEBpZiAkb2Zmc2V0IHtcbiAgICAkbnVtOiBfc3RyLXRvLW51bSgkZmlyc3QtdmFsKTtcblxuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAoJG9mZnNldCAtICRudW0pICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cbn1cbiIsCgkJIkBmdW5jdGlvbiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XG4gICRncmFkaWVudHM6ICgpO1xuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XG5cbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcblxuICAkaGFzLW11bHRpcGxlLXZhbHM6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcIiBcIik7XG4gICRoYXMtc2luZ2xlLXBvc2l0aW9uOiB1bnF1b3RlKF9wb3NpdGlvbi1mbGlwcGVyKCRmaXJzdC12YWwpICsgXCJcIik7XG4gICRoYXMtYW5nbGU6IGlzLW51bWJlcihzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgMSkpO1xuXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLAoJCSJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHNwZWM6IG51bGw7XG4gICRkZWdyZWU6IG51bGw7XG4gICRzaWRlOiBudWxsO1xuICAkY29ybmVyOiBudWxsO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xuXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgfVxuXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcbiAgICAgICRkZWdyZWU6ICRwb3M7XG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXG4gICAgICAkc3BlYzogJHBvcztcbiAgICB9XG4gIH1cbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XG59XG5cbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XG4gIEByZXR1cm4gaWYoJHBvcyA9PSBsZWZ0LCByaWdodCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gcmlnaHQsIGxlZnQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHRvcCwgYm90dG9tLCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSBib3R0b20sIHRvcCwgbnVsbCk7XG59XG4iLAoJCSIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXG5AZnVuY3Rpb24gX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpIHtcbiAgJHZhbC0xOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGhhcy1tdWx0aXBsZS12YWxzIC0gMSk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDEsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLAoJCSJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJGcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xuICAgICAgICAgICAgJGcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsCgkJIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRpcy1zcGVjLXN5bnRheCA9PSAxIHtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwKCQkiLy8gVXNlciBmb3IgbGluZWFyIGFuZCByYWRpYWwgZ3JhZGllbnRzIHdpdGhpbiBiYWNrZ3JvdW5kLWltYWdlIG9yIGJvcmRlci1pbWFnZSBwcm9wZXJ0aWVzXG5cbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcbiAgJHByZS1zcGVjOiBudWxsO1xuICAkc3BlYzogbnVsbDtcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XG4gIEBpZiAkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIge1xuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IHJhZGlhbCB7XG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gIH1cblxuICBAaWYgJHZlbmRvciB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IC0jeyR2ZW5kb3J9LSN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHByZS1zcGVjfSAkZ3JhZGllbnRzKTtcbiAgfVxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogXCIjeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRzcGVjfSAjeyRncmFkaWVudHN9KVwiO1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcbiAgfVxuICBAcmV0dXJuICR2ZW5kb3ItZ3JhZGllbnRzO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XG4gICRzaGFwZS1zaXplLXNwZWM6IG51bGw7XG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XG4gICAgICAkdmFsdWU6IG51bGw7XG4gICAgfVxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcbiAgfVxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XG59XG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XG4gIC8vIE1hdHJpY2VzXG4gICRzdHJpbmdzOiBcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIjtcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcbiAgICAgICRkaXZpZGVyOiAxO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xuICAgICAgICBAcmV0dXJuIF9jb252ZXJ0LXVuaXRzKCRyZXN1bHQsIHN0ci1zbGljZSgkc3RyaW5nLCAkaSkpO1xuICAgICAgfVxuXG4gICAgICAkbnVtYmVyOiBudGgoJG51bWJlcnMsICRpbmRleCk7XG5cbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcbiAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xuICAgICAgICAkbnVtYmVyOiAkbnVtYmVyIC8gJGRpdmlkZXI7XG4gICAgICB9XG5cbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAkbnVtYmVyO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbn1cbiIsCgkJIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcbiAgLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9ucy4uLikge1xuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XG4gIC8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZXMuLi4pIHtcbiAgLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gYXBwZWFyYW5jZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xufVxuIiwKCQkiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxuLy8gbm90YXRpb24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcbn1cbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcblxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcbn1cbiIsCgkJIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcbiAgJHNwZWMtYm9yZGVyczogKCk7XG5cbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xuICAgICRzcGVjLWJvcmRlcjogKCk7XG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xuXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcbiAgfVxuXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi8vRXhhbXBsZXM6XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XG4iLAoJCSJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsCgkJIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgaW50ZWdlclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xuICAvLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGU6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4gIC8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwKCQkiQG1peGluIGZpbHRlcigkZnVuY3Rpb246IG5vbmUpIHtcbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcbn1cbiIsCgkJIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IG5vcm1hbDtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIob3JkZXIsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xufVxuXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1ncm93LCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1iYXNpcywgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xufVxuXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcblxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlLTIwMTE7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWxpbmUtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IHwgZGlzdHJpYnV0ZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuIiwKCQkiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuIiwKCQkiQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLAoJCSIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsCgkJIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xuICAvLyBub25lIHwgbWFudWFsIHwgYXV0b1xuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7IC8vIElFOCtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLAoJCSIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZzEsICRnMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRnMTA6ICRnOTsgJGc5OiAkZzg7ICRnODogJGc3OyAkZzc6ICRnNjsgJGc2OiAkZzU7XG4gICAgJGc1OiAkZzQ7ICRnNDogJGczOyAkZzM6ICRnMjsgJGcyOiAkZzE7ICRnMTogJHBvcztcbiAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRnMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLAoJCSJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRnMSwgJGcyLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcblxuICAkZGF0YTogX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSk7XG4gICRnMTogIG50aCgkZGF0YSwgMSk7XG4gICRnMjogIG50aCgkZGF0YSwgMik7XG4gICRwb3M6IG50aCgkZGF0YSwgMyk7XG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmlyc3QtY29sb3I6IG50aCgkZnVsbCwgMSk7XG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XG5cbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XG4gICRwb3M6ICAgICAgICBpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCh1bnF1b3RlKCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJyYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2x9ICRjdXJyZW50LXNlbGVjdG9yIFtmYWxzZV1cclxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xyXG4vLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6OnNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcclxuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLAoJCSJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsCgkJIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsCgkJIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGlpXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoM3B4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi8vLyAgIGJ1dHRvbjpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcblxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XG5cbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG5cbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG5cbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsCgkJIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcblxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBtYXJnaW5gXG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbGVmdDogMTBlbTtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXG5cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkb2Zmc2V0czogKFxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsCgkJIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhpZHBpIHtcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0Om5vdChbdHlwZV0pJyxcbiAgICAgICAgICAgICAgICAgICAndGV4dGFyZWEnO1xuXG4kYWxsLXRleHQtaW5wdXRzOiAgICAgICAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCk7XG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBmb2N1cyk7XG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgaG92ZXIpO1xuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ1NTIGN1YmljLWJlemllciB0aW1pbmcgZnVuY3Rpb25zLiBUaW1pbmcgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIGpxdWVyeS5lYXNpZSAoZ2l0aHViLmNvbS9qYXVraWEvZWFzaWUpXG4vLy9cbi8vLyBUaW1pbmcgZnVuY3Rpb25zIGFyZSB0aGUgc2FtZSBhcyBkZW1vZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG4vLy9cbi8vLyBAdHlwZSBjdWJpYy1iZXppZXJcblxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsCgkJIkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY2hhbmdlIHRoZSBgd29yZC13cmFwYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cbi8vLyAgIFZhbHVlIGZvciB0aGUgYHdvcmQtYnJlYWtgIHByb3BlcnR5LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIEBpbmNsdWRlIHdvcmQtd3JhcChicmVhay13b3JkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbi8vLyAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICB9XG5cbkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgb3ZlcmZsb3ctd3JhcDogJHdyYXA7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG5cbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfSBAZWxzZSB7XG4gICAgd29yZC1icmVhazogJHdyYXA7XG4gIH1cbn1cbiIsCgkJIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcblxuQG1peGluIGlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgQHdhcm4gXCJUaGUgYnV0dG9uIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgQnV0dG9uXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTclLCAkbGlnaHRuZXNzOiAgNSUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBTaGlueSBCdXR0b25cbkBtaXhpbiBzaGlueSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTcsICRncmVlbjogLTExMSwgJGJsdWU6IC04MSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMjYsICRncmVlbjogLTEyNywgJGJsdWU6IC0xMjIpO1xuICAkZm91cnRoLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNzksICAkZ3JlZW46IC03MCwgICRibHVlOiAtNDYpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAgMzcsICAkZ3JlZW46ICAyOSwgICRibHVlOiAgMTIpO1xuICAkc2Vjb25kLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNTYsICAkZ3JlZW46IC01MCwgICRibHVlOiAtMzMpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTQwLCAkZ3JlZW46IC0xNDEsICRibHVlOiAtMTE0KTtcbiAgJHRoaXJkLXN0b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAgJGdyZWVuOiAtNzUsICAkYmx1ZTogLTQ4KTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRmb3VydGgtc3RvcDogICBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzZWNvbmQtc3RvcDogICBncmF5c2NhbGUoJHNlY29uZC1zdG9wKTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gICAgJHRoaXJkLXN0b3A6ICAgIGdyYXlzY2FsZSgkdGhpcmQtc3RvcCk7XG4gIH1cblxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkYmFzZS1jb2xvciAwJSwgJHNlY29uZC1zdG9wIDUwJSwgJHRoaXJkLXN0b3AgNTAlLCAkZm91cnRoLXN0b3AgMTAwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gRmxhdCBCdXR0b25cbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItYWN0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBGbGV4aWJsZSBndXR0ZXJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWd1dHRlciBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xuXG4gIEB3YXJuIFwiVGhlIGdyaWQtd2lkdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xuXG4gIEB3YXJuIFwiVGhlIGdvbGRlbi1yYXRpbyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBQbGVhc2UgdXNlIHRoZSBtb2R1bGFyLXNjYWxlIGZ1bmN0aW9uLCBpbnN0ZWFkLlwiO1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkYm94KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgQHdhcm4gXCJUaGUgYm94LXNpemluZyBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBUaGlzIHByb3BlcnR5IGNhbiBub3cgYmUgdXNlZCB1bi1wcmVmaXhlZC5cIjtcbn1cbiIKCV0sCgkibWFwcGluZ3MiOiAiQUFNQSxJQUFJLEFBQUEsQ0FBQyxXQUFXLENBQUMsVUFBVyxDQUFDLG9CQUFvQixDQUFDLElBQUssQ0FBQyx3QkFBd0IsQ0FBQyxJQUFLLENBQUUsQUFBRCxJQUFJLEFBQUEsQ0FBQyxNQUFNLENBQUMsQ0FBRSxDQUFFLEFBQUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxBQUFBLENBQUMsT0FBTyxDQUFDLEtBQU0sQ0FBRSxBQUFELEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQUFBQSxDQUFDLE9BQU8sQ0FBQyxZQUFhLENBQUMsY0FBYyxDQUFDLFFBQVMsQ0FBRSxBQUFELEtBQUssQUFBQSxJQUFLLEVBQUEsQUFBQSxRQUFDLEFBQUEsRUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFLLENBQUMsTUFBTSxDQUFDLENBQUUsQ0FBRSxDQUFELEFBQUEsTUFBQyxBQUFBLEVBQVEsUUFBUSxBQUFBLENBQUMsT0FBTyxDQUFDLElBQUssQ0FBRSxBQUFELENBQUMsQUFBQSxDQUFDLGdCQUFnQixDQUFDLFdBQVksQ0FBRSxBQUFELENBQUMsQUFBQSxPQUFPLENBQUMsQ0FBQyxBQUFBLE1BQU0sQUFBQSxDQUFDLE9BQU8sQ0FBQyxDQUFFLENBQUUsQUFBRCxJQUFJLENBQUEsQUFBQSxLQUFDLEFBQUEsQ0FBTSxDQUFDLGFBQWEsQ0FBQyxVQUFXLENBQUUsQUFBRCxDQUFDLENBQUMsTUFBTSxBQUFBLENBQUMsV0FBVyxDQUFDLEdBQUksQ0FBRSxBQUFELEdBQUcsQUFBQSxDQUFDLFVBQVUsQ0FBQyxNQUFPLENBQUUsQUFBRCxFQUFFLEFBQUEsQ0FBQyxTQUFTLENBQUMsR0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUUsQUFBRCxJQUFJLEFBQUEsQ0FBQyxVQUFVLENBQUMsSUFBSyxDQUFDLEtBQUssQ0FBQyxJQUFLLENBQUUsQUFBRCxLQUFLLEFBQUEsQ0FBQyxTQUFTLENBQUMsR0FBSSxDQUFFLEFBQUQsR0FBRyxDQUFDLEdBQUcsQUFBQSxDQUFDLFNBQVMsQ0FBQyxHQUFJLENBQUMsV0FBVyxDQUFDLENBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUyxDQUFDLGNBQWMsQ0FBQyxRQUFTLENBQUUsQUFBRCxHQUFHLEFBQUEsQ0FBQyxHQUFHLENB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 */