﻿/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.container{max-width:100%;margin-left:auto;margin-right:auto}.container:after{content:" ";display:block;clear:both}@media screen{@font-face{font-weight:normal;font-style:normal;font-family:"oda_icons";src:url("../fonts/oda_icons.eot");src:url("../fonts/oda_icons.eot?#iefix") format("embedded-opentype"),url("../fonts/oda_icons.woff") format("woff"),url("../fonts/oda_icons.ttf") format("truetype"),url("../fonts/oda_icons.svg#oda_icons") format("svg")}* html{font-size:100%}html{font-size:16px;line-height:1.5em}html,body{height:100%;line-height:1.5em}body{background:rgba(0,0,0,.8);font-family:"Lato",Arial,sans-serif;font-weight:300;word-wrap:break-word;height:100%;min-width:820px}.wrap{display:none;background:url("../img/bg/background-75.png"),#fff}a,a:visited{text-decoration:none;color:#425874}a:focus{outline:none}a{-webkit-transition:color,.1s;-moz-transition:color,.1s;-o-transition:color,.1s;transition:color,.1s}a:hover{color:#6f8aad}p{margin:0}*{-webkit-font-smoothing:antialiased}::selection{background:rgba(240,230,140,.5)}::-moz-selection{background:rgba(240,230,140,.5)}video,audio,button{outline:none}video:focus,audio:focus,button:focus{outline:none}*:focus{outline:none}#admin-bar{display:none}h1{font-size:2rem;font-weight:900}h2{font-size:1.7rem;font-weight:900}h3{font-size:1.5rem;font-weight:700}h4{font-size:1.2rem;font-weight:400}hr{border:0;margin:0;padding:0}hr.dotted{background:url("../img/lines/dot-single-2-4-95o-1h.png") repeat-x 50% 0;height:1px}hr.dotted.vertical{background:url("../img/lines/dot-single-2-4-95o-1w.png") repeat-y 50% 0;width:1px}hr.double{background:url("../img/lines/line-double-horizontal-5-80o.png") repeat-x 0 0;height:5px}hr.double.bottom{background:url("../img/lines/line-double-horizontal-5-80o-b.png") repeat-x 0 0;height:4px}hr.double.top{background:url("../img/lines/line-double-horizontal-5-80o-t.png") repeat-x 0 0;height:4px}hr.vertical{background:url("../img/lines/line-double-vertical-5-80o.png") repeat-y 0 0;width:5px;height:50px;display:inline-block}hr.dotted.separator{width:100%;overflow:hidden;*zoom:1;clear:both}button{outline:none;border:none;overflow:hidden}.oda-button{display:inline-block;outline:none;border-radius:50px;color:rgba(255,255,255,.95);text-transform:uppercase;text-align:center;letter-spacing:1px;font-weight:700;padding:3px 15px;border:none;font-size:11px;cursor:pointer;background:#425874;min-width:80px;-webkit-transition:background,.2s;-moz-transition:background,.2s;-o-transition:background,.2s;transition:background,.2s}.oda-button:hover{background:#547195}.oda-button:active{background:#394c64}a.oda-button{color:rgba(255,255,255,.9)}.nav-button{display:inline-block;text-align:center;font-size:.65rem;width:26px;height:26px;line-height:26px;border-radius:50%;background:rgba(255,255,255,.75);border:1px solid rgba(0,0,0,.2);-webkit-transition:background,.1s;-moz-transition:background,.1s;-o-transition:background,.1s;transition:background,.1s}.nav-button:before{position:relative;top:0px}.nav-button:hover{background:#fff}.nav-button:active{background:rgba(255,255,255,.55)}.nav-button.prev:before{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;left:-1px}.nav-button.next:before{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;right:-1px}.oda-lightbox-close{position:absolute;cursor:pointer;top:7px;right:7px;display:inline-block;height:40px;width:40px;text-align:center}.oda-lightbox-close:after{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;line-height:40px;font-size:50px;color:rgba(0,0,0,.85)}.primary{min-height:300px}.oda-spoiler .spoiler-title{margin-top:30px;margin-bottom:15px;cursor:pointer}.oda-spoiler .spoiler-title:before{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-right:6px;font-size:1.2rem}.oda-spoiler .spoiler-title.expanded:before{content:""}.oda-spoiler .spoiler-content{display:none;margin:0 0 15px 0;background:rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.2);border-radius:6px;padding:2.8571428571%}.oda-icon{font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased}@-webkit-keyframes loading{0%,80%,100%{-webkit-transform:scale(0.2)}40%{-webkit-transform:scale(0.6)}}@keyframes loading{0%,80%,100%{transform:scale(0.2);-webkit-transform:scale(0.2)}40%{transform:scale(0.6);-webkit-transform:scale(0.6)}}.mejs-container{max-width:100%}.oda-header{background:rgba(255,255,255,.75);display:block}.oda-header .container{padding:20px 2.8571428571%;overflow:hidden;*zoom:1;position:relative}.oda-header .logo{height:70px;float:left}.oda-header .logo img{height:70px}.oda-header nav{float:right;height:70px;font-size:24px;margin-right:60px}.oda-header nav ul.navigation{list-style:none;text-transform:lowercase;text-align:right}.oda-header nav ul.navigation li{display:inline-block;margin-right:40px}.oda-header nav ul.navigation li a{color:#000}.oda-header nav ul.navigation li a:hover{color:#425874}.oda-header nav ul.navigation li a:active{position:relative;top:1px}.oda-header nav ul.navigation li:last-child{margin-right:0}.oda-header nav ul.navigation li.active{position:relative}.oda-header nav ul.navigation li.active:before{content:"";display:inline-block;background:url("../../oda/img/bookmark.svg") no-repeat center;height:42px;position:absolute;left:0;right:0;top:-52px}.oda-header nav ul.navigation li.active a{color:#425874;font-weight:400}.oda-header .search{color:#111;position:absolute;top:47px;font-size:1.45rem;right:2.8571428571%;font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;cursor:pointer}.oda-header .search:active{top:48px}.oda-header .search:hover{color:#111}body.exhibits .oda-header{background:url("../../oda/img/header-bg-8o.png") no-repeat right center,rgba(255,255,255,.75)}.oda-footer{background:rgba(0,0,0,.8);color:rgba(255,255,255,.9);overflow:hidden;border-bottom:1px solid #202020}.oda-footer .container{margin:15px 2.8571428571%;position:relative}.oda-footer .container .copyright{float:left;width:90%;font-size:.85rem;line-height:130%}.oda-footer .container .copyright p{position:relative;padding-left:50px;display:inline-block}.oda-footer .container .copyright p .footer-oda-icon{height:35px;position:absolute;top:50%;left:0;margin-top:-17.5px}.oda-footer .container .copyright p a{color:#4b6484}.oda-footer .container .copyright a.poetry{position:relative;display:inline-block;margin-left:11.4285714286%;height:100%;vertical-align:top;top:14px;line-height:0}.oda-footer .container .copyright a.poetry img{height:20px}}@media screen and (min-width: 1200px){.oda-footer .container .copyright a.poetry img{height:25px}}@media screen{.oda-footer .container .mmlc{float:right;padding-right:2.8571428571%;height:100%}.oda-footer .container .mmlc img{opacity:1;height:25px;position:absolute;top:50%;right:0;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-ms-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.oda-footer .container .mmlc img:hover{opacity:1}.search-lightbox{background:url("../img/bg/background-100.png");-webkit-border-radius:24px;-moz-border-radius:24px;-ms-border-radius:24px;-o-border-radius:24px;border-radius:24px}#search-container,.error-404 .search-404{display:none;overflow:visible;padding:2.8571428571%}#search-container .header,.error-404 .search-404 .header{font-size:1.5rem;font-weight:900;margin-top:20px}#search-container hr.dotted,.error-404 .search-404 hr.dotted{margin:2.8571428571% 0 2.8571428571% 0}#search-container .query-label,.error-404 .search-404 .query-label{text-transform:uppercase;font-weight:700;font-size:.75rem;margin-bottom:8px;display:inline-block}#search-container #search-form,.error-404 .search-404 #search-form{border:none}#search-container #search-form input#query,.error-404 .search-404 #search-form input#query{outline:none;width:100%;background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:4px;padding:0 10px;height:50px;line-height:50px;font-size:30px}#search-container #search-form #advanced-form,.error-404 .search-404 #search-form #advanced-form{border:none;margin:40px 0 50px 0;padding:0}#search-container #search-form #advanced-form fieldset,.error-404 .search-404 #search-form #advanced-form fieldset{border:none;margin:0;padding:0;display:inline-block;width:44%}#search-container #search-form #advanced-form fieldset:first-child,.error-404 .search-404 #search-form #advanced-form fieldset:first-child{float:left}#search-container #search-form #advanced-form fieldset:last-child,.error-404 .search-404 #search-form #advanced-form fieldset:last-child{float:right}#search-container #search-form #advanced-form fieldset p,.error-404 .search-404 #search-form #advanced-form fieldset p{text-transform:uppercase;font-weight:700;font-size:.75rem}#search-container #search-form #advanced-form fieldset label input,.error-404 .search-404 #search-form #advanced-form fieldset label input{margin-right:10px}#search-container #search-form #advanced-form #record-types,.error-404 .search-404 #search-form #advanced-form #record-types{font-size:.85rem;line-height:125%}#search-container #search-form #advanced-form #record-types p,.error-404 .search-404 #search-form #advanced-form #record-types p{line-height:24px}#search-container #search-form #advanced-form #record-types input,.error-404 .search-404 #search-form #advanced-form #record-types input{margin-right:8px}#search-container #search-form #submit_search,.error-404 .search-404 #search-form #submit_search{display:block;margin:0 auto 15px auto;font-size:1.1rem;padding:8px 30px}#search-container #search-form .adv-search-link,.error-404 .search-404 #search-form .adv-search-link{text-transform:uppercase;font-weight:700;font-size:.75rem;text-align:center;text-decoration:underline}#search-container #search-form .adv-search-link a,.error-404 .search-404 #search-form .adv-search-link a{color:#111}#sort-links-list{list-style:none;display:inline-block;padding:0;margin:0}#sort-links-list li{display:inline-block;margin-left:13px;position:relative}#sort-links-list li.sorting{font-weight:700}#sort-links-list li.sorting:before{font-size:1rem;position:absolute;left:0;right:0;text-align:center;line-height:1rem}#sort-links-list li.sorting.asc:before{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;bottom:-4px}#sort-links-list li.sorting.desc:before{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:-4px}#sort-links-list li a{color:#111}#sort-links-list li a:hover{color:#111}.pagination-nav{height:45px;position:relative}.pagination-nav .pagination{margin:0;padding:0;list-style:none}.pagination-nav .pagination li{position:absolute;top:50%;margin-top:-11px}.pagination-nav .pagination li a{color:#111}.pagination-nav .pagination li a:hover{color:#111}.pagination-nav .pagination .pagination_previous{left:2.8571428571%}.pagination-nav .pagination .pagination_next{right:2.8571428571%}.pagination-nav .pagination .page-input{left:0;right:0;margin-top:-10px;text-align:center;font-weight:400}.pagination-nav .pagination .page-input form input{outline:none;width:30px;border-radius:2px;border:solid 1px rgba(0,0,0,.2);text-align:center}#home #content .container{margin-right:2.8571428571%;margin-left:2.8571428571%;overflow:hidden;*zoom:1}#home #content .featuring{height:170px;position:relative;overflow:hidden}#home #content .featuring.blue{background:rgba(66,88,116,.1)}#home #content .featuring.red{background:rgba(188,143,143,.1)}#home #content .featuring.yellow{background:rgba(240,230,140,.1)}#home #content .featuring .slideshow-container{display:block;width:100%;height:100%}#home #content .featuring .slideshow-container .slick-list{padding-left:8.5714285714%;height:100%}#home #content .featuring .slideshow-container .slick-list .thing{overflow:hidden}#home #content .featuring .slideshow-container .slick-list .thing .circle{width:460px;height:460px;background:rgba(255,255,255,.75);overflow:hidden;position:relative;border-radius:50%;margin-top:-145px;border:1px solid rgba(0,0,0,.3)}#home #content .featuring .slideshow-container .slick-list .thing .circle .image{position:absolute;left:20px;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);width:100px;height:auto;border-radius:50%}#home #content .featuring .slideshow-container .slick-list .thing .circle .text{position:absolute;right:0;left:0;top:50%;padding-left:140px;padding-right:20px;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}#home #content .featuring .slideshow-container .slick-list .thing .circle .text .title,#home #content .featuring .slideshow-container .slick-list .thing .circle .text .subtitle{display:block;color:#222}#home #content .featuring .slideshow-container .slick-list .thing .circle .text .title{display:block;font-size:1.5rem;line-height:120%;font-weight:700}#home #content .featuring .slideshow-container .slick-list .thing .circle .text .subtitle{margin-top:5px;display:block;font-size:1.1rem;line-height:130%;font-weight:300;color:#777;font-style:italic}#home #content .featuring .slideshow-container .slick-prev,#home #content .featuring .slideshow-container .slick-next{position:absolute;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);background:rgba(255,255,255,.75);width:25px;height:25px;line-height:25px;border-radius:50%}#home #content .featuring .slideshow-container .slick-prev{left:2.8571428571%}#home #content .featuring .slideshow-container .slick-next{right:2.8571428571%}#home #content .featuring .slideshow-container .slick-dots{font-size:0;line-height:0;margin:0;padding:0;position:absolute;left:2.8571428571%;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}#home #content .featuring .slideshow-container .slick-dots li{width:8px;height:8px;margin:10px 0;overflow:hidden;border-radius:50%}#home #content .featuring .slideshow-container .slick-dots li button{width:100%;height:100%;background:rgba(0,0,0,.4)}#home #content .featuring .slideshow-container .slick-dots li.slick-active button{background:#425874}}@media screen and (min-width: 1200px){#home #content .featuring .slideshow-container .slick-dots li{width:10px;height:10px}}@media screen{#home #content .featuring .slideshow-container.featured-exhibits .slick-list .thing .circle,#home #content .featuring .slideshow-container.featured-items .slick-list .thing .circle{background:rgba(0,0,0,.5)}#home #content .featuring .slideshow-container.featured-exhibits .slick-list .thing .circle .image,#home #content .featuring .slideshow-container.featured-items .slick-list .thing .circle .image{border-radius:0;left:-20px;right:0;width:110%;opacity:.55}#home #content .featuring .slideshow-container.featured-exhibits .slick-list .thing .circle .text,#home #content .featuring .slideshow-container.featured-items .slick-list .thing .circle .text{padding-left:60px;padding-right:60px;text-shadow:0 0 2px #000}#home #content .featuring .slideshow-container.featured-exhibits .slick-list .thing .circle .text .title,#home #content .featuring .slideshow-container.featured-items .slick-list .thing .circle .text .title{font-size:1.7rem;color:#fff}#home #content .featuring .slideshow-container.featured-exhibits .slick-list .thing .circle .text .subtitle,#home #content .featuring .slideshow-container.featured-items .slick-list .thing .circle .text .subtitle{margin-top:5px;font-size:1.25rem;color:#fff;line-height:135%}#home #content .featuring .slideshow-container.featured-exhibits .slick-list .thing .circle .image{-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);filter:grayscale(100%)}#home #content .featuring .toggle-container{margin:0 2.8571428571% 0 0;padding-left:2.8571428571%;width:240px;position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}#home #content .featuring .toggle-container ul.toggler-list{padding:0;list-style:none;text-transform:uppercase;font-weight:900;font-size:.8rem;line-height:280%}#home #content .featuring .toggle-container ul.toggler-list li{cursor:pointer}#home #content .featuring .toggle-container ul.toggler-list li.active{color:#425874}#home #content .featuring .toggle-container ul.toggler-list li.active a,#home #content .featuring .toggle-container ul.toggler-list li.active a:hover{color:#425874}#home #content .featuring .toggle-container ul.toggler-list li:before{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-right:6px}#home #content .featuring .toggle-container ul.toggler-list li a,#home #content .featuring .toggle-container ul.toggler-list li a:hover{color:#222}#home #content .featuring .toggle-container hr.dotted.vertical{position:absolute;left:0;top:0;height:100%}}@media screen and (min-width: 1200px){#home #content .featuring{height:200px}#home #content .featuring .slideshow-container .slick-list .thing .circle{width:550px;height:550px;margin-top:-175px}#home #content .featuring .slideshow-container .slick-list .thing .circle .image{left:30px;width:115px}#home #content .featuring .slideshow-container .slick-list .thing .circle .text{padding-left:175px;padding-right:30px}#home #content .featuring .slideshow-container .slick-list .thing .circle .text .title{font-size:1.9rem}#home #content .featuring .slideshow-container .slick-list .thing .circle .text .subtitle{font-size:1.4rem}#home #content .featuring .slideshow-container.featured-exhibits .slick-list .thing .circle .text .title,#home #content .featuring .slideshow-container.featured-items .slick-list .thing .circle .text .title{font-size:1.9rem}#home #content .featuring .slideshow-container.featured-exhibits .slick-list .thing .circle .text .subtitle,#home #content .featuring .slideshow-container.featured-items .slick-list .thing .circle .text .subtitle{font-size:1.4rem}#home #content .featuring .toggle-container{width:300px}#home #content .featuring .toggle-container ul.toggler-list{font-size:1rem}}@media screen{#home #content .main{padding:5.7142857143% 2.8571428571%;background:#425874}#home #content .main .oda-logo{display:block;margin:0 auto 2.5em auto;width:2.5em;opacity:1}#home #content .main .home-text{color:#f5f5f5;width:66%;margin:0 auto;text-align:justify;font-size:1.2em;line-height:1.61;text-shadow:0 0 4px rgba(0,0,0,.33)}}@media screen and (min-width: 1200px){#home #content .main .home-text{font-size:1.3em}}@media screen{#home #content .main .home-text p{margin:15px auto}#home #content h3.home-updates{text-align:center;background:rgba(255,255,255,.75);margin:0;padding:12px 2.8571428571%}#home #content .homepage-content{padding:2.8571428571% 0;position:relative;overflow:hidden}#home #content .homepage-content .content{overflow:hidden;*zoom:1}#home #content .homepage-content .content .twitter-feed-wrap{width:40%;float:left;position:relative;min-height:250px;padding-right:2.8571428571%}#home #content .homepage-content .content .twitter-feed-wrap .dotted.vertical{position:absolute;right:0;top:0;bottom:0;height:100%}#home #content .homepage-content .content .twitter-feed-wrap .spinner{position:absolute;list-style:none;left:0;right:0;text-align:center;top:50%;font-size:45px;font-weight:900;margin:0;padding:0;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}#home #content .homepage-content .content .twitter-feed-wrap .spinner li.dot{display:inline-block;margin:0;-webkit-animation:loading 1.4s infinite ease-in-out;-moz-animation:loading 1.4s infinite ease-in-out;-ms-animation:loading 1.4s infinite ease-in-out;-o-animation:loading 1.4s infinite ease-in-out;animation:loading 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}#home #content .homepage-content .content .twitter-feed-wrap .spinner li.dot:nth-child(1){-webkit-animation-delay:-0.48s;-moz-animation-delay:-0.48s;-ms-animation-delay:-0.48s;-o-animation-delay:-0.48s;animation-delay:-0.48s}#home #content .homepage-content .content .twitter-feed-wrap .spinner li.dot:nth-child(2){-webkit-animation-delay:-0.32s;-moz-animation-delay:-0.32s;-ms-animation-delay:-0.32s;-o-animation-delay:-0.32s;animation-delay:-0.32s}#home #content .homepage-content .content .twitter-feed-wrap .spinner li.dot:nth-child(3){-webkit-animation-delay:-0.16s;-moz-animation-delay:-0.16s;-ms-animation-delay:-0.16s;-o-animation-delay:-0.16s;animation-delay:-0.16s}#home #content .homepage-content .content .twitter-feed-wrap .spinner:after{content:"loading";display:block;text-transform:uppercase;font-size:.55rem;font-weight:900;margin-top:4px}#home #content .homepage-content .content .twitter-feed-wrap .twitter-feed-list{width:100%;margin:0;padding:0;list-style:none}#home #content .homepage-content .content .twitter-feed-wrap .twitter-feed-list .twitter-timeline{display:block;text-align:center;font-weight:bold;font-size:1.25em;color:#181818}#home #content .homepage-content .content .featured-content-wrap{position:relative;float:right;width:60%;padding-left:2.8571428571%}#home #content .homepage-content .content .featured-content-wrap .dotted.vertical{position:absolute;left:-1px;top:0;bottom:0;height:100%}#home #content .homepage-content .content .featured-content-wrap .featured-content{padding:2.8571428571% 0 2.8571428571% 2.8571428571%}#home #content .homepage-content .content .featured-content-wrap .featured-content:not(:first-of-type){padding-top:8.5714285714%}#home #content .homepage-content .content .featured-content-wrap .featured-content .featured-heading{margin-top:0;text-align:center;line-height:1.5}#home #content .homepage-content .content .featured-content-wrap .featured-content .featured-text{margin-bottom:2.8571428571%;font-size:1.15rem;text-align:center}#home #content .homepage-content .content .featured-content-wrap .featured-content .featured-image{width:100%;max-width:800px;box-shadow:0 0 5px rgba(0,0,0,.25);margin-top:2.8571428571%}#home #content .homepage-content img.door{width:200px;position:absolute;right:-100px;top:50%;margin-top:-100px}.collections .headline{background:rgba(255,255,255,.75);position:relative}.collections .headline .container{padding-top:20px;padding-bottom:20px}.collections .headline h1{margin:0 0 0 2.8571428571%;display:inline-block;float:left;line-height:150%}.collections .headline .right-element{float:right;padding-right:2.8571428571%;line-height:250%;font-size:1.15rem}.collections .pagination-nav{height:45px;position:relative}.collections .pagination-nav .pagination{margin:0;padding:0;list-style:none}.collections .pagination-nav .pagination li{position:absolute;top:50%;margin-top:-11px}.collections .pagination-nav .pagination li a{color:#111}.collections .pagination-nav .pagination li a:hover{color:#111}.collections .pagination-nav .pagination .pagination_previous{left:2.8571428571%}.collections .pagination-nav .pagination .pagination_next{right:2.8571428571%}.collections .pagination-nav .pagination .page-input{left:0;right:0;margin-top:-10px;text-align:center;font-weight:400}.collections .pagination-nav .pagination .page-input form input{outline:none;width:30px;border-radius:2px;border:solid 1px rgba(0,0,0,.2);text-align:center}.collections .primary .container .no-content{padding:2.8571428571%;text-align:center}.collections .primary .container .collection{overflow:hidden;*zoom:1;padding:0 0 0 2.8571428571%}.collections .primary .container .collection .half{width:50%}.collections .primary .container .collection .textual{text-align:center;float:left;padding-right:2.8571428571%}.collections .primary .container .collection .textual .collection-title{margin-top:0;padding-top:5.7142857143%;line-height:120%}.collections .primary .container .collection .textual .collection-description{margin:2.8571428571% auto;font-size:1.1rem}.collections .primary .container .collection .textual hr.dotted{width:40%;margin:7.1428571429% auto}.collections .primary .container .collection .textual .links{text-align:center;margin-bottom:2.8571428571%}.collections .primary .container .collection .textual .links a{margin:0 10px}.collections .primary .container .collection .visual{float:right;box-shadow:0 0 5px rgba(0,0,0,.35);background:#222;height:420px;overflow:hidden}.collections .primary .container .collection .visual img{width:100%;height:auto;position:relative;opacity:.9}.collections .primary .container hr.double{width:100%}.collections .primary .container hr.double:last-child{display:none}.collections.show .headline{position:relative}.collections.show .headline h1{max-width:70%}.collections.show .headline .right-element{float:none;right:2.8571428571%;padding-right:0;position:absolute;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.collections.show .headline .right-element .oda-button{line-height:175%;padding:8px 15px}.collections.show .primary{position:relative;width:66.6666666667%;float:left;padding:2.8571428571%;font-size:1.15rem}.collections.show .primary h3,.collections.show .primary h4{margin-top:0;margin-bottom:15px}.collections.show .primary .element-set h2{margin-top:0}.collections.show .primary .element-text{margin-bottom:35px}.collections.show .primary hr.dotted.vertical{position:absolute;right:0;top:0;bottom:0;height:100%}.collections.show .sidebar{position:relative;width:33.3333333333%;float:right;padding:2.8571428571%}.collections.show .sidebar .in-this-collection{text-align:center;margin-top:0}.collections.show .sidebar .collection-items{-webkit-box-shadow:0 0 4px rgba(0,0,0,.15);-moz-box-shadow:0 0 4px rgba(0,0,0,.15);box-shadow:0 0 4px rgba(0,0,0,.15)}.collections.show .sidebar .collection-items .item{padding:12px 2.8571428571%;position:relative;-webkit-transition:background,.1s;-moz-transition:background,.1s;-o-transition:background,.1s;transition:background,.1s;overflow:hidden;*zoom:1}.collections.show .sidebar .collection-items .item:before{content:" ";display:inline-block;height:100%;width:1%;vertical-align:middle}.collections.show .sidebar .collection-items .item:first-child{margin-top:0}.collections.show .sidebar .collection-items .item:nth-child(odd){background:rgba(0,0,0,.05)}.collections.show .sidebar .collection-items .item:nth-child(even){background:rgba(255,255,255,.2)}.collections.show .sidebar .collection-items .item:hover:nth-child(odd){background:rgba(0,0,0,.08)}.collections.show .sidebar .collection-items .item:hover:nth-child(even){background:rgba(255,255,255,.4)}.collections.show .sidebar .collection-items .item .item-title{line-height:120%;display:inline-block;vertical-align:middle;width:60%}.collections.show .sidebar .collection-items .item .item-title a{color:#111;text-shadow:0 1px 0 #eee;font-weight:400}.collections.show .sidebar .collection-items .item .item-img{position:relative;width:35%;text-align:right;display:inline-block;vertical-align:middle;line-height:50px;overflow:hidden}.collections.show .sidebar .collection-items .item .item-img img{width:50px;height:50px;border:1px solid rgba(0,0,0,.45);border-radius:50%;vertical-align:middle}.collections.show .sidebar .collection-items .dot{overflow:hidden;*zoom:1;text-align:center;font-size:3em;margin:20px auto 5px auto}.collections.show .sidebar .collection-items .no-content{padding:15px;font-size:.85rem}.collections.show .sidebar .and-more{margin-top:30px;text-align:center}.collections.show .sidebar hr.dotted.vertical{position:absolute;left:-1px;top:0;bottom:0;height:100%}.items .headline{background:rgba(255,255,255,.75);position:relative}.items .headline .container{padding-top:20px;padding-bottom:20px}.items .headline h1{margin:0 0 0 2.8571428571%;display:inline-block;float:left;line-height:150%}.items .headline .right-element{float:right;padding-right:2.8571428571%;line-height:250%;font-size:1.15rem}.items .headline h1{margin-right:1.4285714286%}.items .headline #item-filters{font-size:.85rem;font-style:italic;position:absolute;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);width:100%;text-align:center}.items .headline #item-filters ul{margin:0;padding:0;list-style:none}.items .headline #item-filters ul li{display:inline-block}.items .primary .no-content{padding:2.8571428571%;text-align:center}.items .primary .item{text-align:center;overflow:hidden;*zoom:1;padding:1.4285714286% 2.8571428571%;position:relative;height:450px}.items .primary .item.odd{width:50%;float:left;margin-right:0}.items .primary .item.odd hr.vertical{position:absolute;right:0;top:0;bottom:0;height:100%}.items .primary .item.even{width:50%;float:right}.items .primary .item .item-img{text-align:center;overflow:hidden;height:120px;margin:20px auto}.items .primary .item .item-img:active{position:relative;top:1px}.items .primary .item .item-img a img{height:120px;-webkit-transition:all,.2s;-moz-transition:all,.2s;-o-transition:all,.2s;transition:all,.2s}.items .primary .item .item-img a img.no-file{border:none}.items .primary .item .head{margin:30px auto 20px auto}.items .primary .item .head h2{color:#111;margin:0 auto 5px auto;line-height:120%}.items .primary .item .head .subtitle{font-style:italic;font-size:1.2rem;color:rgba(0,0,0,.55);text-shadow:0 1px 0 #fff}.items .primary .item .item-meta .item-description{font-size:1.1rem}.items .primary .item .view{margin:20px auto}.items.show .headline .container h1{max-width:50%}.items.show .headline .container .right-element{font-style:italic;font-size:.85rem;position:absolute;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);right:2.8571428571%;padding-right:0;line-height:125%;max-width:350px}.items.show .headline .container .right-element a{font-weight:700;font-style:normal}.items.show .primary{position:relative;width:66.6666666667%;float:left;padding:2.8571428571%}.items.show .primary h2.files-header{margin-top:0}.items.show .primary .item-file{margin-bottom:40px}.items.show .primary .item-file.image-jpeg,.items.show .primary .item-file.image-jpg,.items.show .primary .item-file.image-png,.items.show .primary .item-file.image-tiff{display:none}.items.show .primary .item-file.image-jpeg img,.items.show .primary .item-file.image-jpg img,.items.show .primary .item-file.image-png img,.items.show .primary .item-file.image-tiff img{width:100%;max-width:100%}.items.show .primary .item-file.application-pdf{text-align:center}.items.show .primary .item-file.application-pdf iframe{border:none;border-bottom:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 0 8px rgba(0,0,0,.2);-moz-box-shadow:0 0 8px rgba(0,0,0,.2);box-shadow:0 0 8px rgba(0,0,0,.2)}.items.show .primary .item-file.application-pdf .full-size-reader-link{margin:25px 0}.items.show .primary .openseadragon .openseadragon_viewer{box-shadow:0 0 8px rgba(0,0,0,.2);height:500px;margin:0 auto 40px auto}.items.show .primary hr.dotted.vertical{position:absolute;right:-1px;top:0;bottom:0;height:100%}.items.show .primary .oda-spoiler .spoiler-content{overflow:hidden}.items.show .primary .oda-spoiler .spoiler-content table{font-size:.9rem;width:100%}.items.show .primary .oda-spoiler .spoiler-content table tr{border-bottom:1px solid rgba(0,0,0,.04)}.items.show .primary .oda-spoiler .spoiler-content table tr td{line-height:120%;padding:12px 10px;vertical-align:middle}.items.show .primary .oda-spoiler .spoiler-content table tr td:first-child{font-weight:400}.items.show .primary .oda-spoiler .spoiler-content table tr td:last-child{font-style:italic;text-align:right}.items.show .primary .oda-spoiler .spoiler-content table tr:last-child{border-bottom:none}.items.show .sidebar{position:relative;width:33.3333333333%;float:right;padding:2.8571428571%}.items.show .sidebar h2:first-child{margin-top:0}.items.show .sidebar h2,.items.show .sidebar h3,.items.show .sidebar h4{margin-bottom:5px;line-height:120%}.items.show .sidebar h2:first-child,.items.show .sidebar h3:first-child,.items.show .sidebar h4:first-child{margin-top:0}.items.show .sidebar .element-set h2{margin-top:0}.items.show .sidebar .element-text{margin-bottom:0}.items.show .sidebar .element-text:last-child{margin-bottom:15px}.items.show .sidebar .exhibits{list-style:none;padding:0}.items.show .sidebar .exhibits .exhibit{margin:15px auto;padding:0 0 0 30px;position:relative}.items.show .sidebar .exhibits .exhibit:before{content:"o";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;font-size:1.45rem;position:absolute;left:0;top:0px}.items.show .sidebar .exhibits .exhibit .exhibit-link,.items.show .sidebar .exhibits .exhibit .exhibit-link:hover{color:#222}.items.show .sidebar hr.dotted.divider{width:50%;margin:32px auto}.items.show .sidebar hr.dotted.vertical{position:absolute;left:0;top:0;bottom:0;height:100%}.items.show .pagination{background:rgba(255,255,255,.75);padding:10px 2.8571428571%}.items.show .pagination ul{margin:0;padding:0;list-style:none;overflow:hidden;*zoom:1}.items.show .pagination ul li{display:inline-block;font-weight:300;position:relative;line-height:25px}.items.show .pagination ul li .nav-button{width:20px;height:20px;line-height:20px;position:relative}.items.show .pagination ul li.previous{float:left}.items.show .pagination ul li.previous .nav-button{margin-right:5px}.items.show .pagination ul li.next{float:right}.items.show .pagination ul li.next .nav-button{margin-left:5px}.items.show .avalon-media-player-wrap{margin:0 auto 40px auto}.exhibits.browse .headline{background:rgba(255,255,255,.75);position:relative}.exhibits.browse .headline .container{padding-top:20px;padding-bottom:20px}.exhibits.browse .headline h1{margin:0 0 0 2.8571428571%;display:inline-block;float:left;line-height:150%}.exhibits.browse .headline .right-element{float:right;padding-right:2.8571428571%;line-height:250%;font-size:1.15rem}.exhibits.browse .headline .nothing-to-show{float:right;margin-right:2.8571428571%;line-height:230%}.exhibits.browse .headline .navigation ul{display:inline-block;list-style:none;padding:0;margin:0 15px 0 0}.exhibits.browse .headline .navigation ul li{display:inline-block;margin-right:15px}.exhibits.browse .headline .navigation ul li:last-child{margin-right:0}.exhibits.browse .headline .navigation ul li.active{font-weight:400}.exhibits.browse .headline .navigation.browse-by-tags ul li:first-child{font-weight:300}.exhibits.browse .headline .navigation a,.exhibits.browse .headline .navigation a:hover{color:#222}.exhibits.browse .primary .container .exhibit{text-align:center;padding:1.4285714286% 2.8571428571%;height:410px;position:relative;overflow:hidden;*zoom:1}.exhibits.browse .primary .container .exhibit.odd{width:50%;float:left;margin-right:0}.exhibits.browse .primary .container .exhibit.odd hr.vertical{position:absolute;right:0;top:0;bottom:0;height:100%}.exhibits.browse .primary .container .exhibit.even{width:50%;float:right}.exhibits.browse .primary .container .exhibit .bg{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;opacity:.09}.exhibits.browse .primary .container .exhibit .head,.exhibits.browse .primary .container .exhibit .description,.exhibits.browse .primary .container .exhibit .tags,.exhibits.browse .primary .container .exhibit .visit{position:relative}.exhibits.browse .primary .container .exhibit .head{margin-top:25px;margin-bottom:25px}.exhibits.browse .primary .container .exhibit .head h3{margin-top:0;margin-bottom:10px;line-height:120%}}@media screen and (min-width: 1200px){.exhibits.browse .primary .container .exhibit .head h3{font-size:1.9rem}}@media screen{.exhibits.browse .primary .container .exhibit .head .subtitle{font-style:italic;font-size:1rem;color:rgba(0,0,0,.65);text-shadow:0 1px 0 #fff}}@media screen and (min-width: 1200px){.exhibits.browse .primary .container .exhibit .head .subtitle{font-size:1.2rem}}@media screen{.exhibits.browse .primary .container .exhibit .description{margin-top:25px;margin-bottom:25px;font-size:.95rem;font-weight:300}}@media screen and (min-width: 1200px){.exhibits.browse .primary .container .exhibit .description{font-size:1.1rem}}@media screen{.exhibits.browse .primary .container .exhibit .tags{margin-top:25px;margin-bottom:25px}.exhibits.browse .primary .container .exhibit .tags a{color:rgba(255,255,255,.9);background:#333;border-radius:50px;margin:0 5px;text-align:center;padding:1px 10px 2px 10px;font-size:.75rem;-webkit-transition:background,.2s;-moz-transition:background,.2s;-o-transition:background,.2s;transition:background,.2s}.exhibits.browse .primary .container .exhibit .tags a:hover{background:#444}.exhibits.browse .primary .container .exhibit .dotted-line{width:100%}.exhibits.browse .primary .container .exhibit .dotted-line hr.dotted{display:block;margin:10px auto;width:30%}.exhibits.browse .primary .container .exhibit .visit{display:block;width:auto;text-align:center;margin-top:15px}.exhibits.browse .primary .container .exhibit .visit .oda-button{margin:15px auto}.exhibits.browse .primary .container .exhibit .visit .oda-button:hover{color:rgba(255,255,255,.9)}.exhibits.browse .primary h2{margin:0}.exhibits.browse .primary hr.double{width:100%}.exhibits.browse .tags .header{margin:0;padding:20px 2.8571428571%}.exhibits.browse .tags .hTagcloud{padding:2.8571428571%}.exhibits.browse .tags .hTagcloud ul{list-style:none;margin:0;padding:0}.exhibits.browse .tags .hTagcloud ul li{display:inline-block;margin:0 2.8571428571% 20px 0}.exhibits.browse .tags .hTagcloud ul li a,.exhibits.browse .tags .hTagcloud ul li a:hover{color:#222}.exhibits.browse .tags .hTagcloud ul li a{font-size:1.15rem;font-weight:300;-webkit-transition:background,.2s;-moz-transition:background,.2s;-o-transition:background,.2s;transition:background,.2s}.exhibits.browse .tags .hTagcloud ul li a:before{content:"o";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-right:3px;position:relative;top:3px}.exhibits.browse .tags .hTagcloud ul li a .count{display:inline-block;vertical-align:super;font-size:.6rem;width:12px;height:12px;line-height:12px;border-radius:50%;position:relative;left:-3px}.exhibits.browse .tags .hTagcloud ul li a .count:before{content:"("}.exhibits.browse .tags .hTagcloud ul li a .count:after{content:")"}.exhibits.browse #tag-cloud-lightbox{display:none}.exhibits.browse #tag-cloud-lightbox #tags p{padding:5px 2.8571428571%}.search .headline{background:rgba(255,255,255,.75);position:relative}.search .headline .container{padding-top:20px;padding-bottom:20px}.search .headline h1{margin:0 0 0 2.8571428571%;display:inline-block;float:left;line-height:150%}.search .headline .right-element{float:right;padding-right:2.8571428571%;line-height:250%;font-size:1.15rem}.search .headline .right-element #search-filters ul{font-size:.75rem;list-style:none;margin:0;padding:0;display:inline-block}.search .headline .right-element #search-filters ul li{display:inline-block;padding-right:3px}.search .headline .right-element #search-filters ul li:after{content:"|";padding-left:3px}.search .headline .right-element #search-filters ul li:last-child{margin-right:0}.search .headline .right-element #search-filters ul li:last-child:after{content:"";padding-left:0}.search .headline .right-element #search-filters ul li ul li{font-style:italic}.search .headline .right-element #search-filters ul li ul li:after{content:"+"}.search .headline .right-element #search-filters ul li ul li:last-child{margin-right:0}.search .headline .right-element #search-filters ul li ul li:last-child:after{content:""}.search .primary #search-results{margin:2.8571428571% auto;width:80%;border:1px solid rgba(0,0,0,.1);background:rgba(0,0,0,.05)}.search .primary #search-results thead tr{border-bottom:1px solid rgba(0,0,0,.05)}.search .primary #search-results thead tr th{background:rgba(255,255,255,.8);padding:5px 10px;border-right:1px solid rgba(0,0,0,.05)}.search .primary #search-results thead tr th:last-child{border-right:none}.search .primary #search-results tbody tr{height:75px;border-bottom:1px solid rgba(0,0,0,.05)}.search .primary #search-results tbody tr td{padding:15px 10px;vertical-align:middle}.search .primary #search-results tbody tr td:first-child{text-align:center;border-right:1px solid rgba(0,0,0,.05)}.search .primary #search-results tbody tr td:last-child{padding:0 2.8571428571%}.search .primary #search-results tbody tr td:last-child a{vertical-align:middle;height:40px;line-height:40px;position:relative;font-size:1.15rem;font-weight:400;color:#222}.search .primary #search-results tbody tr td:last-child a.image{position:static;margin-right:20px}.search .primary #search-results tbody tr td:last-child a.image img{width:40px;height:40px;border-radius:50%;vertical-align:bottom}.search .primary #search-results tbody tr:last-child{border-bottom:none}.search #no-results{text-align:center;font-size:1.15rem;padding:5.7142857143% 2.8571428571% 2.8571428571% 2.8571428571%;min-height:350px}.search #no-results .text{margin:25px 0}.search #no-results hr.dotted{width:100px;margin:25px auto}.advanced-search .headline .right-element .oda-button{line-height:175%;padding:8px 15px}.advanced-search .primary{padding:2.8571428571%}.advanced-search .primary #advanced-search-form{overflow:hidden;*zoom:1}.advanced-search .primary #advanced-search-form .left-column{width:65%;float:left;padding-right:2.8571428571%}.advanced-search .primary #advanced-search-form .right-column{position:relative;width:35%;float:right;padding-left:2.8571428571%}.advanced-search .primary #advanced-search-form .right-column hr.dotted.vertical{position:absolute;left:0;bottom:0;top:0;height:100%}.advanced-search .primary #advanced-search-form .field{margin-bottom:20px}.advanced-search .primary #advanced-search-form .field label{text-transform:uppercase;font-weight:400;margin-bottom:5px;display:block}.advanced-search .primary #advanced-search-form .field .inputs input{outline:none;border-radius:2px;border:1px solid rgba(0,0,0,.25);height:30px;line-height:30px;width:100%}.advanced-search .primary #advanced-search-form .field .inputs input:focus{border:1px solid rgba(66,88,116,.5)}.advanced-search .primary #advanced-search-form .field .inputs select{border:1px solid rgba(0,0,0,.25);height:30px;line-height:30px;width:100%;outline:none}.advanced-search .primary #advanced-search-form .field#search-narrow-by-fields .search-entry{margin:10px 0}.advanced-search .primary #advanced-search-form .field#search-narrow-by-fields .search-entry select{width:150px;margin-right:15px}.advanced-search .primary #advanced-search-form .field#search-narrow-by-fields .search-entry input{width:150px;margin-right:15px}.advanced-search .primary #advanced-search-form .field#search-narrow-by-fields button.add_search,.advanced-search .primary #advanced-search-form .field#search-narrow-by-fields button.remove_search{display:inline-block;width:20px;height:20px;line-height:10px;border-radius:50%;background:#425874;color:#fff;text-align:center;font-weight:900;border:1px solid rgba(0,0,0,.3);padding:0;margin:0;-webkit-transition:background,.2s;-moz-transition:background,.2s;-o-transition:background,.2s;transition:background,.2s}.advanced-search .primary #advanced-search-form .field#search-narrow-by-fields button.add_search:hover,.advanced-search .primary #advanced-search-form .field#search-narrow-by-fields button.remove_search:hover{background:#547195}.advanced-search .primary #advanced-search-form .submit-section{text-align:center;margin:5.7142857143% auto 2.8571428571% auto}.advanced-search .primary #advanced-search-form .submit-section input.submit{padding:10px 15px;font-size:.9rem}.exhibits.summary .headline,.exhibits.show .headline{background:rgba(255,255,255,.75);position:relative;text-align:center}.exhibits.summary .headline .container,.exhibits.show .headline .container{padding-top:20px;padding-bottom:20px}.exhibits.summary .headline h1,.exhibits.show .headline h1{margin:0 0 0 2.8571428571%;display:inline-block;float:left;line-height:150%}.exhibits.summary .headline .right-element,.exhibits.show .headline .right-element{float:right;padding-right:2.8571428571%;line-height:250%;font-size:1.15rem}.exhibits.summary .headline h1,.exhibits.show .headline h1{float:none;margin:0;padding:0 17.1428571429%}.exhibits.summary .primary,.exhibits.show .primary{min-height:0;overflow:hidden;*zoom:1}.exhibits.summary .paginator,.exhibits.show .paginator{padding:10px 2.8571428571%}.exhibits.summary .primary .exhibit-description{position:relative;width:70%;float:left;padding:2.8571428571%}.exhibits.summary .primary .exhibit-description p{margin:8px auto}.exhibits.summary .primary .exhibit-description hr.dotted.vertical{position:absolute;right:0;top:0;height:100%}.exhibits.summary .primary .exhibit-credits{position:relative;float:right;width:30%;text-align:right;padding:2.8571428571%}.exhibits.summary .primary .exhibit-credits h3{margin:0 0 10px 0}.exhibits.summary .primary .exhibit-credits p{font-weight:300;color:#444;font-size:1.15rem}.exhibits.summary .primary .exhibit-credits hr.dotted.vertical{position:absolute;left:-1px;top:0;height:100%}.exhibits.summary .primary .exhibit-credits .curators,.exhibits.summary .primary .exhibit-credits .contributors{margin-bottom:30px}.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages{padding:30px 2.8571428571%;margin:0 auto;list-style:none;text-align:center}.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page{position:relative;display:inline-block;background:#fff;border-radius:1px;-webkit-box-shadow:0 0 4px rgba(0,0,0,.15);-moz-box-shadow:0 0 4px rgba(0,0,0,.15);box-shadow:0 0 4px rgba(0,0,0,.15);width:200px;height:258.8235294118px;margin:15px;-webkit-transition:background,.2s;-moz-transition:background,.2s;-o-transition:background,.2s;transition:background,.2s;text-align:center}}@media screen and (min-width: 1200px){.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page{width:300px;height:388.2352941176px}}@media screen{.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page:before{content:"";display:inline-block;background:url("../img/oda-logo.svg") no-repeat;position:absolute;top:15px;left:15px;right:0;height:20px}}@media screen and (min-width: 1200px){.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page:before{height:28px;top:18px;left:18px}}@media screen{.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page:after{content:"";display:inline-block;background:url("../img/door.svg") no-repeat 120px 50%;background-size:200px;position:absolute;bottom:0;left:0;right:0;height:100%;-webkit-transition:all,.4s;-moz-transition:all,.4s;-o-transition:all,.4s;transition:all,.4s}}@media screen and (min-width: 1200px){.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page:after{background:url("../img/door.svg") no-repeat 200px 50%;background-size:320px}}@media screen{.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page .link{font-weight:700;font-size:.81rem;z-index:555;color:#222;display:block;position:relative;height:100%}}@media screen and (min-width: 1200px){.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page .link{font-size:1.4rem}}@media screen{.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page .link .title{padding:0 11.4285714286%;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page .link .author{position:absolute;color:rgba(0,0,0,.75);bottom:15%;left:0;right:0;font-weight:300;font-style:italic;font-size:.8rem;padding:0 15px;line-height:120%}}@media screen and (min-width: 1200px){.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page .link .author{font-size:1rem}}@media screen{.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page:hover{background:#fafafa}.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page:hover:after{background-position:-40px 40%;background-size:450px}}@media screen and (min-width: 1200px){.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page:hover:after{background-position:-40px 40%;background-size:520px}}@media screen{.exhibits.summary .exhibit-pages-wrap ul.exhibit-pages li.page:active{position:relative;top:2px}.exhibits.summary .no-pages{text-align:center;margin-top:2.8571428571%;min-height:150px}.exhibits.show #exhibit-navigation{display:none;padding:2.8571428571%}.exhibits.show #exhibit-navigation .header{font-size:1.6rem;font-weight:900;margin-top:20px}.exhibits.show #exhibit-navigation hr.dotted{margin:2.8571428571% 0 2.8571428571% 0}.exhibits.show #exhibit-navigation ul{list-style:none;padding:0}.exhibits.show #exhibit-navigation ul a{color:#222}.exhibits.show #exhibit-navigation ul li:first-child{font-style:italic;text-align:right;margin-bottom:20px}.exhibits.show #exhibit-navigation ul li ul.exhibit-nav-level-1{overflow:hidden;*zoom:1}.exhibits.show #exhibit-navigation ul li ul.exhibit-nav-level-1 li{margin:5px 0}.exhibits.show #exhibit-navigation ul li ul.exhibit-nav-level-1 li:first-child{font-style:normal;text-align:left;text-decoration:none;margin-bottom:7px}.exhibits.show #exhibit-navigation ul li ul.exhibit-nav-level-1 li:before{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-right:6px;position:relative;top:1px}.exhibits.show #exhibit-navigation ul li ul.exhibit-nav-level-1 li.current{font-weight:700}.exhibits.show .headline .container.has-author{padding-top:20px;padding-bottom:40px}.exhibits.show .headline .container.has-author .author{position:absolute;bottom:10px;left:0;right:0;font-weight:300;font-style:italic;font-size:.85rem;color:rgba(0,0,0,.75)}.exhibits.show .headline .container{position:relative}.exhibits.show .headline .container .left,.exhibits.show .headline .container .right{position:absolute;top:50%;background:rgba(66,88,116,.85);color:#fff;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);font-weight:400;text-transform:uppercase;font-size:.65rem;padding:0 9px;border-radius:50px}.exhibits.show .headline .container .left:hover,.exhibits.show .headline .container .right:hover{color:#fff;background:rgba(66,88,116,.8)}.exhibits.show .headline .container .left{left:2.8571428571%}.exhibits.show .headline .container .left:before{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-right:6px;position:relative;top:1px}.exhibits.show .headline .container .right{right:2.8571428571%}.exhibits.show .headline .container .right:after{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-left:6px;position:relative;top:0}.exhibits.show .exhibit-page-content{margin:2.8571428571%;padding:2.8571428571%;background:rgba(255,255,255,.75);-webkit-box-shadow:0 0 4px rgba(0,0,0,.15);-moz-box-shadow:0 0 4px rgba(0,0,0,.15);box-shadow:0 0 4px rgba(0,0,0,.15);border-radius:2px}.exhibits.show .exhibit-page-content .exhibit-block{font-size:1.1rem;padding:5.7142857143% 0;margin:0;overflow:hidden;*zoom:1}.exhibits.show .exhibit-page-content .exhibit-block.separator-no{padding:5.7142857143% 0 0 0}.exhibits.show .exhibit-page-content .exhibit-block.separator-no+.exhibit-block{padding-top:15px}.exhibits.show .exhibit-page-content .exhibit-block:first-child{padding-top:2.8571428571%}.exhibits.show .exhibit-page-content .exhibit-block:last-child{padding-bottom:0}.exhibits.show .exhibit-page-content .exhibit-block iframe{border:none;border-bottom:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 0 8px rgba(0,0,0,.2);-moz-box-shadow:0 0 8px rgba(0,0,0,.2);box-shadow:0 0 8px rgba(0,0,0,.2);margin-bottom:12px}.exhibits.show .exhibit-page-content .exhibit-block iframe:first-child{margin-top:0}.exhibits.show .exhibit-page-content hr.exhibit-block-separator{width:33%;margin:0 auto}.exhibits.show .paginator{padding:0 2.8571428571%;font-weight:400;font-size:.8rem}.exhibits.show .paginator #exhibit-nav-prev .previous-page:before{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-right:4px;position:relative;top:1px}.exhibits.show .paginator #exhibit-nav-up .current-page:before{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-right:4px;position:relative;top:1px}.exhibits.show .paginator #exhibit-nav-next .next-page:before{content:"";font-family:oda_icons;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-right:4px;position:relative;top:1px}.exhibits.show .paginator a{color:#222}.exhibits.show a[name*=_ftn]{color:#111;background:rgba(240,230,140,.25);margin-right:5px;font-size:.75rem;width:10px;height:10px;line-height:10px;position:relative;top:-7px;font-weight:400}.exhibits.show a[name*=_ftn] sup{font-size:90%;top:0}.exhibits.show div[id*=ftn]{font-size:.9rem;font-style:italic}.exhibits.show div[id*=ftn] a{font-style:normal;font-size:1rem;width:10px;height:10px;line-height:10px;top:-1px}.exhibit-block h1,.exhibit-block h2,.exhibit-block h3,.exhibit-block h4,.exhibit-block h5{margin-top:0;line-height:120%}.exhibit-block h1:first-child,.exhibit-block h2:first-child,.exhibit-block h3:first-child,.exhibit-block h4:first-child,.exhibit-block h5:first-child{margin-top:0}.exhibit-block p{margin-bottom:15px}.exhibit-block p:last-child{margin-bottom:0}.exhibit-block .exhibit-items{margin-left:2.8571428571%;margin-bottom:2.8571428571%;text-align:center;background:rgba(0,0,0,.02);box-shadow:inset 0 1px 3px rgba(0,0,0,.2);padding:10px;border-radius:5px}.exhibit-block.layout-file-text .mejs-video,.exhibit-block.layout-file-text .mejs-audio{width:400px;outline:none}.exhibit-block.layout-file-text .mejs-video{height:auto}.exhibit-block.layout-file-text .full-size-reader-link,.exhibit-block.layout-file-text .go-to-item-link{font-size:.6rem;padding:1px 10px 0 10px;margin:0 8px 35px 8px}.exhibit-block.layout-file-text .full-size-reader-link:last-child,.exhibit-block.layout-file-text .go-to-item-link:last-child{margin-bottom:4px}.exhibit-block.layout-file-text a.download-file:first-child,.exhibit-block.layout-file-text div.mejs-container:first-child{margin-top:0}.exhibit-block.layout-file-text .exhibit-item-caption{font-size:.85rem;line-height:120%;width:95%;margin:15px auto;color:rgba(0,0,0,.75);font-style:italic}.exhibit-block.layout-gallery ul{margin:0;padding:0}.exhibit-block.layout-gallery ul li{list-style:none}.exhibit-block.layout-gallery .pgwSlider{overflow:hidden;*zoom:1;width:30%;float:left;background:rgba(0,0,0,.02);box-shadow:inset 0 1px 3px rgba(0,0,0,.2);padding:10px;border-radius:5px}.exhibit-block.layout-gallery .pgwSlider ul{float:none}.exhibit-block.layout-gallery .pgwSlider ul.oda-exhibit-gallery{overflow:hidden;*zoom:1;margin-bottom:10px;text-align:center}.exhibit-block.layout-gallery .pgwSlider ul.oda-exhibit-gallery li.oda-exhibit-gallery-item{min-height:50px;padding:0 3px}.exhibit-block.layout-gallery .pgwSlider ul.oda-exhibit-gallery li.oda-exhibit-gallery-item a{overflow:hidden}.exhibit-block.layout-gallery .pgwSlider ul.oda-exhibit-gallery li.oda-exhibit-gallery-item a span{display:none}.exhibit-block.layout-gallery .pgwSlider ul.oda-exhibit-gallery li.oda-exhibit-gallery-item:first-child{padding-left:0}.exhibit-block.layout-gallery .pgwSlider ul.oda-exhibit-gallery li.oda-exhibit-gallery-item:last-child{padding-right:0}.exhibit-block.layout-gallery .oda-exhibit-text{width:70%;float:right;padding-left:2.8571428571%}.simple-page #content .headline{background:rgba(255,255,255,.75);position:relative}.simple-page #content .headline .container{padding-top:20px;padding-bottom:20px}.simple-page #content .headline h1{margin:0 0 0 2.8571428571%;display:inline-block;float:left;line-height:150%}.simple-page #content .headline .right-element{float:right;padding-right:2.8571428571%;line-height:250%;font-size:1.15rem}.simple-page #content .headline #simple-pages-breadcrumbs{font-weight:400}.simple-page #content .headline #simple-pages-breadcrumbs a{font-weight:300}.simple-page #content .headline #simple-pages-breadcrumbs a:hover{color:#425874}.simple-page #content .headline #simple-pages-breadcrumbs a:active{position:relative;top:1px}.simple-page #content .primary{padding:5.7142857143% 2.8571428571%;font-size:1.15rem}.simple-page #content .primary h1,.simple-page #content .primary h2,.simple-page #content .primary h3,.simple-page #content .primary h4,.simple-page #content .primary h5{margin-bottom:.5em;margin-top:1.5em}.simple-page #content .primary h1:first-child,.simple-page #content .primary h2:first-child,.simple-page #content .primary h3:first-child,.simple-page #content .primary h4:first-child,.simple-page #content .primary h5:first-child{margin-top:.5em}.simple-page #content .primary a{font-weight:300}.simple-page .oda_two-cols{overflow:hidden;*zoom:1}.simple-page .oda_two-cols .oda_col-left,.simple-page .oda_two-cols .oda_col-right{width:50%;padding:0}.simple-page .oda_two-cols .oda_col-left{width:50%;float:left}.simple-page .oda_two-cols .oda_col-right{float:right}.files.show .headline{background:rgba(255,255,255,.75);position:relative}.files.show .headline .container{padding-top:20px;padding-bottom:20px}.files.show .headline h1{margin:0 0 0 2.8571428571%;display:inline-block;float:left;line-height:150%}.files.show .headline .right-element{float:right;padding-right:2.8571428571%;line-height:250%;font-size:1.15rem}.files.show .headline .right-element{font-size:.8rem}.files.show .primary{position:relative;width:66.6666666667%;float:left;padding:2.8571428571%}.files.show .primary .item-file{text-align:center}.files.show .primary .item-file iframe{border:none;border-bottom:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 0 8px rgba(0,0,0,.2);-moz-box-shadow:0 0 8px rgba(0,0,0,.2);box-shadow:0 0 8px rgba(0,0,0,.2)}.files.show .primary .item-file .full-size-reader-link{margin:25px 0}.files.show .primary hr.main-separator{width:60%;margin:10px auto}.files.show .primary hr.dotted.vertical{position:absolute;right:-1px;top:0;bottom:0;height:100%}.files.show .sidebar{position:relative;width:33.3333333333%;float:right;padding:2.8571428571%}.files.show .sidebar h2{margin-top:0}.files.show .sidebar h3,.files.show .sidebar h4{margin-bottom:10px;margin-top:20px;line-height:120%}.files.show .sidebar hr.dotted.divider{width:50%;margin:32px auto}.files.show .sidebar hr.dotted.vertical{position:absolute;left:0;top:0;bottom:0;height:100%}.error-404 .headline{background:rgba(255,255,255,.75);position:relative}.error-404 .headline .container{padding-top:20px;padding-bottom:20px}.error-404 .headline h1{margin:0 0 0 2.8571428571%;display:inline-block;float:left;line-height:150%}.error-404 .headline .right-element{float:right;padding-right:2.8571428571%;line-height:250%;font-size:1.15rem}.error-404 .primary{padding:2.8571428571%;overflow:hidden;*zoom:1}.error-404 .primary .textual{float:left;width:50%;padding-right:2.8571428571%}.error-404 .primary .textual .message{font-size:1.1rem;margin:2.8571428571% auto}.error-404 .primary .textual .message:first-child{margin-top:2.8571428571%}.error-404 .primary .textual .message .bad-url{font-weight:100;background:rgba(240,230,140,.8);padding:0 3px;border-radius:1px}.error-404 .primary .textual hr.dotted{margin:50px auto}.error-404 .primary .textual .four-o-four{text-align:center;margin:30px auto 50px auto;height:100px;line-height:100px;font-size:100px;font-weight:900;color:rgba(0,0,0,.25)}.error-404 .primary .textual .four-o-four .oda-icon{margin:0 5px}.error-404 .primary .search-404{position:relative;width:50%;display:block;float:right;padding:0 0 0 2.8571428571%}.error-404 .primary .search-404 .query-label{font-size:1rem;text-align:right}.error-404 .primary .search-404 hr.dotted.vertical{position:absolute;left:0;top:0;bottom:0;height:100%}}@media print{body.exhibits.show{background:#fff !important}body.exhibits.show #admin-bar,body.exhibits.show #search-container,body.exhibits.show footer.oda-footer,body.exhibits.show hr.double{display:none}body.exhibits.show .oda-header{text-align:left;float:left}body.exhibits.show .oda-header .logo a img{height:40px}body.exhibits.show .oda-header nav,body.exhibits.show .oda-header .search{display:none}body.exhibits.show #content .exhibit-navigation,body.exhibits.show #content .paginator{display:none}body.exhibits.show #content .headline{text-align:right}body.exhibits.show #content .headline a.left,body.exhibits.show #content .headline a.right{display:none}body.exhibits.show #content .headline .exhibit-page{margin:0 0 5px 0;font-size:1.5em}body.exhibits.show #content .headline .author{font-style:italic;font-size:.9em;color:#555}body.exhibits.show #content .exhibit-block .mejs-video .mejs-inner .mejs-layers,body.exhibits.show #content .exhibit-block .mejs-video .mejs-inner .mejs-controls,body.exhibits.show #content .exhibit-block .mejs-audio .mejs-inner .mejs-layers,body.exhibits.show #content .exhibit-block .mejs-audio .mejs-inner .mejs-controls{display:none}body.exhibits.show #content .exhibit-block .mejs-video:after,body.exhibits.show #content .exhibit-block .mejs-audio:after{text-transform:uppercase;font-size:.8em}body.exhibits.show #content .exhibit-block .mejs-audio,body.exhibits.show #content .exhibit-block .mejs-video{text-align:center;width:300px !important;height:150px !important;background:#eee;padding-top:50px;color:#666}body.exhibits.show #content .exhibit-block .mejs-audio .mejs-inner,body.exhibits.show #content .exhibit-block .mejs-video .mejs-inner{display:none}body.exhibits.show #content .exhibit-block .mejs-audio .mejs-inner .mejs-mediaelement,body.exhibits.show #content .exhibit-block .mejs-audio .mejs-inner .mejs-controls,body.exhibits.show #content .exhibit-block .mejs-video .mejs-inner .mejs-mediaelement,body.exhibits.show #content .exhibit-block .mejs-video .mejs-inner .mejs-controls{display:none}body.exhibits.show #content .exhibit-block .mejs-video:after{content:"Video"}body.exhibits.show #content .exhibit-block .mejs-audio:after{content:"Audio"}body.exhibits.show #content .exhibit-block .oda-button{display:none}body.exhibits.show #content .exhibit-block.layout-gallery .pgwSlider{max-width:40%}body.exhibits.show #content:after{content:"End of the exhibit page";display:block;margin-top:25px;text-transform:uppercase;font-size:.8em;color:#555;text-align:center}}.fancybox-wrap,.fancybox-skin,.fancybox-outer,.fancybox-inner,.fancybox-image,.fancybox-wrap iframe,.fancybox-wrap object,.fancybox-nav,.fancybox-nav span,.fancybox-tmp{padding:0;margin:0;border:0;outline:none;vertical-align:top}.fancybox-wrap{position:absolute;top:0;left:0;z-index:8020}.fancybox-skin{position:relative;background:none;text-shadow:none;-webkit-border-radius:24px;-moz-border-radius:24px;border-radius:24px}.fancybox-opened{z-index:8030}.fancybox-opened .fancybox-skin{-webkit-box-shadow:0 10px 25px rgba(0,0,0,.15);-moz-box-shadow:0 10px 25px rgba(0,0,0,.15);box-shadow:0 10px 25px rgba(0,0,0,.15)}.fancybox-outer,.fancybox-inner{position:relative}.fancybox-inner{overflow:hidden}.fancybox-type-iframe .fancybox-inner{-webkit-overflow-scrolling:touch}.fancybox-error{color:#444;font:14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;margin:0;padding:15px;white-space:nowrap}.fancybox-image,.fancybox-iframe{display:block;width:100%;height:100%}.fancybox-image{max-width:100%;max-height:100%}#fancybox-loading,.fancybox-close,.fancybox-prev span,.fancybox-next span{background-image:url("fancybox_sprite.png")}#fancybox-loading{position:fixed;top:50%;left:50%;margin-top:-22px;margin-left:-22px;background-position:0 -108px;opacity:.8;cursor:pointer;z-index:8060}#fancybox-loading div{width:44px;height:44px;background:url("fancybox_loading.gif") center center no-repeat}.fancybox-close{position:absolute;top:-18px;right:-18px;width:36px;height:36px;cursor:pointer;z-index:8040}.fancybox-nav{position:absolute;top:0;width:40%;height:100%;cursor:pointer;text-decoration:none;background:rgba(0,0,0,0) url("blank.gif");-webkit-tap-highlight-color:rgba(0,0,0,0);z-index:8040}.fancybox-prev{left:0}.fancybox-next{right:0}.fancybox-nav span{position:absolute;top:50%;width:36px;height:34px;margin-top:-18px;cursor:pointer;z-index:8040;visibility:hidden}.fancybox-prev span{left:10px;background-position:0 -36px}.fancybox-next span{right:10px;background-position:0 -72px}.fancybox-nav:hover span{visibility:visible}.fancybox-tmp{position:absolute;top:-99999px;left:-99999px;visibility:hidden;max-width:99999px;max-height:99999px;overflow:visible !important}.fancybox-lock{overflow:hidden !important;width:auto}.fancybox-lock body{overflow:hidden !important}.fancybox-lock-test{overflow-y:hidden !important}.fancybox-overlay{position:absolute;top:0;left:0;overflow:hidden;display:none;z-index:8010;background:url("fancybox_overlay.png")}.fancybox-overlay-fixed{position:fixed;bottom:0;right:0}.fancybox-lock .fancybox-overlay{overflow:auto;overflow-y:scroll}.fancybox-title{visibility:hidden;font:normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;position:relative;text-shadow:none;z-index:8050}.fancybox-opened .fancybox-title{visibility:visible}.fancybox-title-float-wrap{position:absolute;bottom:0;right:50%;margin-bottom:-35px;z-index:8050;text-align:center}.fancybox-title-float-wrap .child{display:inline-block;margin-right:-100%;padding:2px 20px;background:rgba(0,0,0,0);background:rgba(0,0,0,.8);-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;text-shadow:0 1px 2px #222;color:#fff;font-weight:bold;line-height:24px;white-space:nowrap}.fancybox-title-outside-wrap{position:relative;margin-top:10px;color:#fff}.fancybox-title-inside-wrap{padding-top:10px}.fancybox-title-over-wrap{position:absolute;bottom:0;left:0;color:#fff;padding:10px;background:#000;background:rgba(0,0,0,.8)}@media only screen and (-webkit-min-device-pixel-ratio: 1.5),only screen and (min--moz-device-pixel-ratio: 1.5),only screen and (min-device-pixel-ratio: 1.5){#fancybox-loading,.fancybox-close,.fancybox-prev span,.fancybox-next span{background-image:url("fancybox_sprite@2x.png");background-size:44px 152px}#fancybox-loading div{background-image:url("fancybox_loading@2x.gif");background-size:24px 24px}}.pgwSlider{color:#222;overflow:hidden;*zoom:1}.pgwSlider a{display:block;text-decoration:none;color:#222}.pgwSlider .ps-current{width:100%;height:inherit;position:relative;font-size:1rem}.pgwSlider .ps-current ul{width:100%;overflow:hidden;overflow:hidden;*zoom:1}.pgwSlider .ps-current li{width:100%;z-index:1;opacity:0;display:none}.pgwSlider .ps-current img{max-width:100%;min-width:100%;height:auto;display:block;transition:margin-top 250ms linear}.pgwSlider .ps-current .ps-caption{overflow:hidden;*zoom:1;font-weight:300;width:100%;display:none;text-align:center;padding:20px 8px}ul.pgwSlider,.pgwSlider ul{padding:0;list-style:none;margin:0}ul.pgwSlider.listOnTheLeft,.pgwSlider.listOnTheLeft>ul{float:left}ul.pgwSlider>li,.pgwSlider>.ps-list>li{height:50px;margin-bottom:6px;overflow:hidden;position:relative;opacity:1;filter:alpha(opacity=90);font-size:.8rem;transition:opacity 200ms linear}ul.pgwSlider>li:last-child,.pgwSlider>ul>li:last-child{margin-bottom:0}ul.pgwSlider>li span,.pgwSlider>.ps-list>li span{display:block;width:100%;position:absolute;bottom:0;padding:5px;background:rgba(0,0,0,.7);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000,endColorstr=#99000000);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ul.pgwSlider>li:hover,.pgwSlider>ul>li:hover{opacity:1 !important}ul.pgwSlider>li img,.pgwSlider>ul>li img{width:100%;min-height:100%;display:block;transition:margin-top 250ms linear}.pgwSlider .ps-prevIcon{border-color:rgba(0,0,0,0) #fff rgba(0,0,0,0);border-style:solid;border-width:10px 10px 10px 0;display:block}.pgwSlider .ps-nextIcon{border-color:rgba(0,0,0,0) #fff rgba(0,0,0,0);border-style:solid;border-width:10px 0 10px 10px;display:block}.pgwSlider .ps-current .ps-prev{background:rgba(0,0,0,.5);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr="#99000000", endColorstr="#99000000");-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#99000000', endColorstr='#99000000')";border:1px solid #777;border-left:0;border-radius:0 4px 4px 0;position:absolute;padding:20px 20px 20px 17px;left:0;top:45%;cursor:pointer}.pgwSlider .ps-current .ps-next{background:rgba(0,0,0,.5);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr="#99000000", endColorstr="#99000000");-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#99000000', endColorstr='#99000000')";border:1px solid #777;border-right:0;border-radius:4px 0 0 4px;position:absolute;padding:20px 17px 20px 20px;right:0;top:45%;cursor:pointer}ul.pgwSlider.wide>li,.pgwSlider.wide>ul>li{width:100% !important}.pgwSlider.narrow .ps-current{margin-bottom:100px;font-size:1rem;position:relative}.pgwSlider.narrow .ps-current img{width:100%;min-height:inherit}.pgwSlider.narrow .ps-current,ul.pgwSlider.narrow,.pgwSlider.narrow>ul{width:100%}ul.pgwSlider.narrow>li,.pgwSlider.narrow>.ps-list>li{float:left;min-height:50px;max-height:70px;min-width:15%;font-size:.7rem;margin-bottom:0}ul.pgwSlider.narrow.listOnTheLeft>li,.pgwSlider.narrow.listOnTheLeft>ul>li{float:right}.pgwSlider.narrow .ps-current .ps-prev{padding:15px 15px 15px 12px;top:40%}.pgwSlider.narrow .ps-current .ps-next{padding:15px 12px 15px 15px;top:40%}.slick-slider{position:relative;display:block;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:rgba(0,0,0,0)}.slick-list{position:relative;overflow:hidden;display:block;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.slick-track{position:relative;left:0;top:0;display:block}.slick-track:before,.slick-track:after{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{float:left;height:100%;min-height:1px;display:none}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid rgba(0,0,0,0)}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9yZXNldC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2JveC1zaXppbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19zaGFyZWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3gtc2l6aW5nLnNjc3MiLCJfYmFzZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19jb250YWluZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fY2xlYXJmaXguc2NzcyIsInN0eWxlcy5zY3NzIiwiX2ZvbnRzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvdHlwb2dyYXBoeS9fdmVydGljYWxfcmh5dGhtLnNjc3MiLCJfc2NyZWVuLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fZWxlbWVudHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvZ2VuZXJhbC9fY2xlYXJmaXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvZ2VuZXJhbC9faGFja3Muc2NzcyIsIl9taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3gtc2hhZG93LnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJwYWdlcy9jb21tb24vX3NoYXJlZC1lbGVtZW50cy5zY3NzIiwicGFnZXMvX2hvbWVwYWdlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fZmlsdGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2FuaW1hdGlvbi9fY29yZS5zY3NzIiwicGFnZXMvX2NvbGxlY3Rpb25zLnNjc3MiLCJwYWdlcy9fY29sbGVjdGlvbi5zY3NzIiwicGFnZXMvX2l0ZW1zLnNjc3MiLCJwYWdlcy9faXRlbS5zY3NzIiwicGFnZXMvX2V4aGliaXRzLnNjc3MiLCJwYWdlcy9fc2VhcmNoLXJlc3VsdHMuc2NzcyIsInBhZ2VzL19zZWFyY2hfYWR2YW5jZWQuc2NzcyIsInBhZ2VzL2V4aGliaXRzL19leGhpYml0X3BhZ2VzLnNjc3MiLCJwYWdlcy9fc2ltcGxlLXBhZ2Uuc2NzcyIsInBhZ2VzL19maWxlcy5zY3NzIiwicGFnZXMvX2Vycm9yLTQwNC5zY3NzIiwiX3ByaW50LnNjc3MiLCJ2ZW5kb3JzL19mYW5jeWJveC5zY3NzIiwidmVuZG9ycy9fc2xpZGVyLnNjc3MiLCJ2ZW5kb3JzL3NsaWNrLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkNBQUEsNEVBVUEsS0FDRSxpQkFDQSw4QkFVRixLQUNFLFNBT0YsS0FDRSxjQVFGLEdBQ0UsY0FDQSxlQVdGLEdBQ0UsdUJBQ0EsU0FDQSxpQkFRRixJQUNFLGdDQUNBLGNBVUYsRUFDRSwrQkFRRixZQUNFLG1CQUNBLDBCQUNBLGlDQU9GLFNBRUUsbUJBUUYsY0FHRSxnQ0FDQSxjQU9GLE1BQ0UsY0FRRixRQUVFLGNBQ0EsY0FDQSxrQkFDQSx3QkFHRixJQUNFLGVBR0YsSUFD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WVosZ0ZBQ0UsbUJBQ0EsY0FmTSxLQWlCTix1RkFDRSxpQkFHRiwwRkFDRSxpQkFZTiwrTUFDRSxpQkFHRixxTkFDRSxpQkFNUiw0Q0FDRSxZQUVBLDREQUNFLGdCZjlTWixjZXFUSSxxQkFDRSxvQ0FDQSxXbkI3UlUsUW1CK1JWLCtCQUNFLGNBR0EseUJBQ0EsWUFDQSxVQUdGLGdDQUNFLGNBQ0EsVUFDQSxjQUNBLG1CQUNBLGdCQUNBLGlCQUNBLHFDSDdRSixzQ0dzUUUsZ0NBVUksaUJmNVVWLGNlK1VRLGtDQUNFLGlCQUtOLCtCQUNFLGtCQUNBLFduQnJUUyxzQm1Cc1RULFNBQ0EsMkJBSUYsaUNBQ0Usd0JBRUEsa0JBQ0EsZ0JBRUEsMENUM1ZKLGdCQ2FFLFFRaVZJLDZEQUVFLFVBQ0EsV0FDQSxrQkFDQSxpQkFDQSw0QkFFQSw4RUFDRSxrQkFDQSxRQUNBLE1BQ0EsU0FDQSxZQUdGLHNFQUVFLGtCQU1BLGdCQUNBLE9BQ0EsUUFDQSxrQkFDQSxRQUNBLGVBQ0EsWW5CbFhZLEltQm1YWixTQUNBLFVyQjVYNkMsa0JxQjZYMUIsaUJyQjNYNkIsZXFCMlg3QixpQnJCMVg4QixjcUIwWDlCLGlCckJ6WCtCLGFxQnlYL0IsaUJyQnhYa0MsVXFCd1hsQyxpQkFFbkIsNkVBQ0UscUJBQ0EsU3JCalkyQyxrQnVCK0czQyxrQ3ZCN0c4QyxldUI2RzlDLGtDdkI1RytDLGN1QjRHL0Msa0N2QjNHZ0QsYXVCMkdoRCxrQ3ZCMUdtRCxVdUIwR25ELGtDdkIvRzJDLDRCdUIrRmhELEt2QjdGbUQseUJ1QjZGbkQsS3ZCNUZvRCx3QnVCNEZwRCxLdkIzRnFELHVCdUIyRnJELEt2QjFGd0Qsb0J1QjBGeEQsS0ZzU0ssMEZyQnJZMkMsd0J1QjJFL0MsT3ZCekVrRCxxQnVCeUVsRCxPdkJ4RW1ELG9CdUJ3RW5ELE92QnZFb0QsbUJ1QnVFcEQsT3ZCdEV1RCxnQnVCc0V2RCxPRjJUSSwwRnJCdFkyQyx3QnVCMkUvQyxPdkJ6RWtELHFCdUJ5RWxELE92QnhFbUQsb0J1QndFbkQsT3ZCdkVvRCxtQnVCdUVwRCxPdkJ0RXVE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Z0NBQ0ksMEJBQ0EscUhBQ0EsMkhBQ0Esc0JBQ0EsZUFDQSwwQkFDQSxrQkFDQSw0QkFDQSxRQUNBLFFBQ0EsZUFNSiwyQ0FFSSxzQkFHSiw4QkFDSSxvQkFDQSxlQUNBLGtCQUdKLGtDQUNJLFdBQ0EsbUJBR0osdUVBR0ksV0FHSixxREFFSSxXQUNBLGdCQUNBLGdCQUNBLGNBQ0EsZ0JBQ0EsZ0JBR0osMkVBRUksWUFPSix1Q0FDSSw0QkFDQSxRQUdKLHVDQUNJLDRCQUNBLFFDdE5KLGNBQ0ksa0JBQ0EsY0FDQSxzQkFDQSwyQkFDQSwyQkFDQSx5QkFDQSx3QkFDQSxzQkFDQSxxQkFDQSxpQkFDQSx1QkFDQSxtQkFDQSwwQ0FFSixZQUNJLGtCQUNBLGdCQUNBLGNBQ0EsU0FDQSxVQUVBLGtCQUNJLGFBR0oscUJBQ0ksZUFDQSxZQUdSLHFEQUVJLHVDQUNBLG9DQUNBLG1DQUNBLGtDQUNBLCtCQUdKLGFBQ0ksa0JBQ0EsT0FDQSxNQUNBLGNBRUEsdUNBRUksV0FDQSxjQUdKLG1CQUNJLFdBR0osNEJBQ0ksa0JBR1IsYUFDSSxXQUNBLFlBQ0EsZUFXQSxhQVZBLHVCQUNJLFlBRUosaUJBQ0ksY0FFSiwrQkFDSSxhQUtKLDBCQUNJLG9CQUdKLGdDQUNJLGNBR0osNEJBQ0ksa0JBR0osNkJBQ0ksY0FDQSxZQUNBIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gU3VzeSBCb3ggU2l6aW5nXG4vLyA9PT09PT09PT09PT09PT09PVxuXG4vLyBHbG9iYWwgQm94IFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNldCBhIGJveCBtb2RlbCBnbG9iYWxseSBvbiBhbGwgZWxlbWVudHMuXG4vLyAtIFskYm94XTogYm9yZGVyLWJveCB8IGNvbnRlbnQtYm94XG4vLyAtIFskaW5oZXJpdF06IHRydWUgfCBmYWxzZVxuQG1peGluIGdsb2JhbC1ib3gtc2l6aW5nKFxuICAkYm94OiBzdXN5LWdldChnbG9iYWwtYm94LXNpemluZyksXG4gICRpbmhlcml0OiBmYWxzZVxuKSB7XG4gICRpbnNwZWN0OiAkYm94O1xuXG4gIEBpZiAkaW5oZXJpdCB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgIGh0bWwgeyBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRib3gpKTsgfVxuICAgICAgICosICo6YmVmb3JlLCAqOmFmdGVyIHsgYm94LXNpemluZzogaW5oZXJpdDsgfVxuICAgICB9XG4gIH0gQGVsc2Uge1xuICAgICosICo6YmVmb3JlLCAqOmFmdGVyIHsgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7IH1cbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChnbG9iYWwtYm94LXNpemluZywgJGluc3BlY3QpO1xuICBAaW5jbHVkZSB1cGRhdGUtYm94LW1vZGVsKCRib3gpO1xufVxuXG4vLyBCb3JkZXIgQm94IFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEEgbGVnYWN5IHNob3J0Y3V0Li4uXG4vLyAtIFskaW5oZXJpdF06IHRydWUgfCBmYWxzZVxuQG1peGluIGJvcmRlci1ib3gtc2l6aW5nKFxuICAkaW5oZXJpdDogZmFsc2Vcbikge1xuICBAaW5jbHVkZSBnbG9iYWwtYm94LXNpemluZyhib3JkZXItYm94LCAkaW5oZXJpdCk7XG59XG5cbi8vIFVwZGF0ZSBCb3ggTW9kZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIFBSSVZBVEU6IFVwZGF0ZXMgZ2xvYmFsIGJveCBtb2RlbCBzZXR0aW5nXG5AbWl4aW4gdXBkYXRlLWJveC1tb2RlbChcbiAgJGJveFxuKSB7XG4gIEBpZiAkYm94ICE9IHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSB7XG4gIEBpbmNsdWRlIHN1c3ktc2V0KGdsb2JhbC1ib3gtc2l6aW5nLCAkYm94KTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcblxuLy8gVGhpcyBtaXhpbiBwcm92aWRlcyBiYXNpYyBzdXBwb3J0IGZvciBDU1MzIHByb3BlcnRpZXMgYW5kXG4vLyB0aGVpciBjb3JyZXNwb25kaW5nIGV4cGVyaW1lbnRhbCBDU1MyIHByb3BlcnRpZXMgd2hlblxuLy8gdGhlIGltcGxlbWVudGF0aW9ucyBhcmUgaWRlbnRpY2FsIGV4Y2VwdCBmb3IgdGhlIHByb3BlcnR5XG4vLyBwcmVmaXguXG5AbWl4aW4gZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAtd2Via2l0LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgIC1raHRtbC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgIC1tb3otI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAgICAgLW1zLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAtby0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG59XG5cbi8vIFNhbWUgYXMgZXhwZXJpbWVudGFsKCksIGJ1dCBmb3IgY2FzZXMgd2hlbiB0aGUgcHJvcGVydHkgaXMgdGhlIHNhbWUgYW5kIHRoZSB2YWx1ZSBpcyB2ZW5kb3JpemVkXG5AbWl4aW4gZXhwZXJpbWVudGFsLXZhbHVlKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAjeyRwcm9wZXJ0eX0gOiAtd2Via2l0LSN7JHZhbHVlfTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgI3skcHJvcGVydHl9IDogIC1raHRtbC0jeyR2YWx1ZX07IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICN7JHByb3BlcnR5fSA6ICAgIC1tb3otI3skdmFsdWV9OyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAjeyRwcm9wZXJ0eX0gOiAgICAgLW1zLSN7JHZhbHVlfTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAtby0jeyR2YWx1ZX07IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgICAgI3skdmFsdWV9OyB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFRoZSBkZWZhdWx0IGJveC1zaXppbmcgbW9kZWwgd2hlbiBubyBhcmd1bWVudCBpcyBwcm92aWRlZCB0byB0aGUgYm94LXNpemluZyBtaXhpbjogWyBjb250ZW50LWJveCB8IGJvcmRlci1ib3ggfCBwYWRkaW5nLWJveCBdXG4vL1xuLy8gVGhlIGJyb3dzZXIgZGVmYXVsdCBpcyBjb250ZW50LWJveCwgY29tcGFzcyBkZWZhdWx0cyB0byBib3JkZXItYm94LlxuJGRlZmF1bHQtYm94LXNpemluZzogYm9yZGVyLWJveCAhZGVmYXVsdDtcblxuLy8gQ2hhbmdlIHRoZSBib3ggbW9kZWwgZm9yIE1vemlsbGEsIFdlYmtpdCwgSUU4IGFuZCB0aGUgZnV0dXJlXG4vL1xuLy8gQHBhcmFtICRic1xuLy8gICBbIGNvbnRlbnQtYm94IHwgYm9yZGVyLWJveCBdXG5cbkBtaXhpbiBib3gtc2l6aW5nKCRiczogJGRlZmF1bHQtYm94LXNpemluZykge1xuICAkYnM6IHVucXVvdGUoJGJzKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1zaXppbmcsICRicyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbkBpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3NcIjtcbkBpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2FuaW1hdGlvbi9jb3JlXCI7XG5AaW1wb3J0IFwiLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5XCI7XG5AaW1wb3J0IFwiLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi8qKiBUaGVtZSB2YXJpYWJsZXMgKiovXG4vLyBMYXlvdXRcbiRvZGFfbWF4LXdpZHRoOiAxNjAwcHg7XG4kb2RhX3N1c3ktY29sdW1uczogMTI7XG4kb2RhX3N1c3ktZ3V0dGVyczogbWF0aC5kaXYoMSwgMik7XG5cbi8vIFR5cG9ncmFwaHlcbiRiYXNlLWZvbnQtc2l6ZTogMTZweDtcbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4O1xuJG9kYV9mb250LWZhbWlseTogJ0xhdG8nLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRvZGFfZm9udC13ZWlnaHQtdGV4dDogMzAwO1xuJG9kYV9mb250LXdlaWdodC1ub3JtYWw6IDMwMDtcbiRvZGFfZm9udC13ZWlnaHQtYm9sZDogNDAwO1xuJG9kYV9mb250LXdlaWdodC1ib2xkZXI6IDcwMDtcbiRvZGFfZm9udC13ZWlnaHQtYmxhY2s6IDkwMDtcblxuJG9kYV9oMTogMi4wMHJlbTtcbiRvZGFfaDI6IDEuNzByZW07XG4kb2RhX2gzOiAxLjUwcmVtO1xuJG9kYV9oNDogMS4yMHJlbTtcblxuLy8gQ29sb3Igc2NoZW1lXG4kb2RhX2RhcmtfYmx1ZTogIzQyNTg3NDtcbiRvZGFfaG92ZXJfZGFya19ibHVlOiAjNGI2NDg0O1xuJG9kYV95ZWxsb3c6ICNmMGU2OGM7XG4kb2RhX3JlZDogI0JDOEY4RjtcbiRvZGFfdGV4dDogIzIxMWYxZDtcbiRvZGFfaGVhZGluZzogIzExMTtcbiRvZGFfc3ViLWhlYWRpbmc6ICM1NTU1NTU7XG4kb2RhX3doaXRlLXRleHQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MCk7XG4kb2RhX3doaXRlLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuXG4vLyBCcmVha3BvaW50c1xuJG9kYV90YWJsZXRfYnJlYWtwb2ludDogODAwcHg7XG4kb2RhX2Rlc2t0b3BfYnJlYWtwb2ludDogMTIwMHB4O1xuXG4vLyBNaXNjXG4kb2RhX2RlZmF1bHQtYmctb3BhY2l0eTogMC4xMDtcbiRuYXYtYnV0dG9uLXNpemU6IDI2cHg7XG4kcGFnZXItaGVpZ2h0OiA0NXB4O1xuJG9kYV9wYXBlci1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAuMTUpO1xuXG4vKiogU3VzeSAqKi9cbi8vIE1haW4gY29uZmlnIChkZWZhdWx0cyBhcmUgY29tbWVudGVkIG91dClcbiRzdXN5OiAoXG4gIGNvbHVtbnM6ICRvZGFfc3VzeS1jb2x1bW5zLFxuICBndXR0ZXJzOiAkb2RhX3N1c3ktZ3V0dGVycyxcbiAgZ2xvYmFsLWJveC1zaXppbmc6IGJvcmRlci1ib3gsXG5cbi8vICBndXR0ZXItcG9zaXRpb246IHNwbGl0LFxuLy8gIGZsb3c6IGx0cixcbi8vICBtYXRoOiBmbHVpZCxcbi8vICBvdXRwdXQ6IGZsb2F0LFxuLy8gIGNvbnRhaW5lcjogYXV0byxcbi8vICBjb250YWluZXItcG9zaXRpb246IGNlbnRlcixcbi8vICBjb2x1bW4td2lkdGg6IGZhbHNlLFxuLy8gIGxhc3QtZmxvdzogdG8sXG5cbiAgZGVidWc6IChcbi8vICAgIGltYWdlOiBzaG93LFxuLy8gICAgICBvdXRwdXQ6IG92ZXJsYXksXG4vLyAgICAgIHRvZ2dsZTogdG9wIGxlZnQsXG4vLyAgICAgIGNvbG9yOiByZ2JhKCM2NmYsIC4yNSksXG4gICksXG5cbiAgdXNlLWN1c3RvbTogKFxuICAgIHJlbTogdHJ1ZSxcbi8vICAgIGJhY2tncm91bmQtaW1hZ2U6IHRydWUsXG4vLyAgICBiYWNrZ3JvdW5kLW9wdGlvbnM6IGZhbHNlLFxuLy8gICAgYm94LXNpemluZzogdHJ1ZSxcbi8vICAgIGNsZWFyZml4OiBmYWxzZSxcbiAgKVxuKTtcblxuLy8gQmVnaW5uaW5nIG9mIHN0eWxlcy5jc3NcbkBpbXBvcnQgXCJyZXNldFwiO1xuXG5AaW5jbHVkZSBib3JkZXItYm94LXNpemluZygpO1xuXG4vLyBTZXQgdXAgY29udGFpbmVycyBnbG9iYWxseVxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xufVxuIiwiLy8gcmVtIFN1cHBvcnRcbi8vID09PT09PT09PT09XG5cbi8vIHJlbVxuLy8gLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3Igb3V0cHV0IGRpcmVjdGx5LlxuLy8gLSAkcHJvcCAgOiA8Y3NzIHByb3BlcnR5PlxuLy8gLSAkdmFsICAgOiA8Y3NzIHZhbHVlPlxuQG1peGluIHN1c3ktcmVtKFxuICAkcHJvcCxcbiAgJHZhbFxuKSB7XG4gICRfcmVxczogKFxuICAgIHZhcmlhYmxlOiByaHl0aG0tdW5pdCByZW0td2l0aC1weC1mYWxsYmFjayxcbiAgICBtaXhpbjogcmVtLFxuICApO1xuICBAaWYgc3VzeS1zdXBwb3J0KHJlbSwgJF9yZXFzLCAkd2FybjogZmFsc2UpIGFuZCAkcmh5dGhtLXVuaXQgPT0gcmVtIHtcbiAgICBAaW5jbHVkZSByZW0oJHByb3AsICR2YWwpO1xuICB9IEBlbHNlIHtcbiAgICAjeyRwcm9wfTogJHZhbDtcbiAgfVxufVxuIiwiLy8gU2hhcmVkIENvbnRhaW5lciBBUElcbi8vID09PT09PT09PT09PT09PT09PT09XG5cbi8vIENvbnRhaW5lciBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gWyR3aWR0aF0gICAgICAgICA6IDxsZW5ndGg+XG4vLyAtIFskanVzdGlmeV0gICAgICAgOiBsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbi8vIC0gWyRtYXRoXSAgICAgICAgICA6IGZsdWlkIHwgc3RhdGljXG5AbWl4aW4gY29udGFpbmVyLW91dHB1dChcbiAgJHdpZHRoLFxuICAkanVzdGlmeTogYXV0byBhdXRvLFxuICAkcHJvcGVydHk6IG1heC13aWR0aFxuKSB7XG4gICRvdXRwdXQ6IChcbiAgICAjeyRwcm9wZXJ0eX06ICR3aWR0aCBvciAxMDAlLFxuICAgIG1hcmdpbi1sZWZ0OiBudGgoJGp1c3RpZnksIDEpLFxuICAgIG1hcmdpbi1yaWdodDogbnRoKCRqdXN0aWZ5LCAyKSxcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBEYSBiYXNlXG5AaW1wb3J0IFwiYmFzZVwiO1xuXG4vLyBTY3JlZW5cbkBtZWRpYSBzY3JlZW4ge1xuICBAaW1wb3J0IFwic2NyZWVuXCI7XG59XG5cbi8vIFByaW50XG5AbWVkaWEgcHJpbnQge1xuICBAaW1wb3J0IFwicHJpbnRcIjtcbn1cblxuLy8gVmVuZG9ycyBzdHlsZXNcbkBpbXBvcnQgXCJ2ZW5kb3JzL3ZlbmRvcnNcIjtcbiIsIkBmb250LWZhY2Uge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiAnb2RhX2ljb25zJztcbiAgc3JjOnVybCgnLi4vZm9udHMvb2RhX2ljb25zLmVvdCcpO1xuICBzcmM6dXJsKCcuLi9mb250cy9vZGFfaWNvbnMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcuLi9mb250cy9vZGFfaWNvbnMud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJy4uL2ZvbnRzL29kYV9pY29ucy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnLi4vZm9udHMvb2RhX2ljb25zLnN2ZyNvZGFfaWNvbnMnKSBmb3JtYXQoJ3N2ZycpO1xufSIsIkBpbXBvcnQgXCIuLi9sYXlvdXQvZ3JpZC1iYWNrZ3JvdW5kXCI7XG5cbi8vIFRoZSBiYXNlIGZvbnQgc2l6ZS5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gU2V0IHRoZSBkZWZhdWx0IGJvcmRlciBzdHlsZSBmb3Igcmh5dGhtIGJvcmRlcnMuXG4kZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiRicm93c2VyLWRlZmF1bHQtZm9udC1zaXplOiAxNnB4O1xuXG4vLyBTZXQgdG8gZmFsc2UgaWYgeW91IHdhbnQgdG8gdXNlIGFic29sdXRlIHBpeGVscyBpbiBzaXppbmcgeW91ciB0eXBvZ3JhcGh5LlxuJHJlbGF0aXZlLWZvbnQtc2l6aW5nOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgdGhlIGBhZGp1c3QtZm9udC1zaXplLXRvYCBtaXhpbiBhbmQgdGhlIGBsaW5lcy1mb3ItZm9udC1zaXplYCBmdW5jdGlvblxuLy8gdG8gcm91bmQgdGhlIGxpbmUgaGVpZ2h0IHRvIHRoZSBuZWFyZXN0IGhhbGYgbGluZSBoZWlnaHQgaW5zdGVhZCBvZiB0aGVcbi8vIG5lYXJlc3QgaW50ZWdyYWwgbGluZSBoZWlnaHQgdG8gYXZvaWQgbGFyZ2Ugc3BhY2luZyBiZXR3ZWVuIGxpbmVzLlxuJHJvdW5kLXRvLW5lYXJlc3QtaGFsZi1saW5lOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRW5zdXJlIHRoZXJlIGlzIGF0IGxlYXN0IHRoaXMgbWFueSBwaXhlbHNcbi8vIG9mIHZlcnRpY2FsIHBhZGRpbmcgYWJvdmUgYW5kIGJlbG93IHRoZSB0ZXh0LlxuJG1pbi1saW5lLXBhZGRpbmc6IDJweCAhZGVmYXVsdDtcblxuLy8gJGJhc2UtZm9udC1zaXplIGJ1dCBpbiB5b3VyIG91dHB1dCB1bml0IG9mIGNob2ljZS5cbi8vIERlZmF1bHRzIHRvIDFlbSB3aGVuIGAkcmVsYXRpdmUtZm9udC1zaXppbmdgIGlzIHRydWUuXG4kZm9udC11bml0OiBpZigkcmVsYXRpdmUtZm9udC1zaXppbmcsIDFlbSwgJGJhc2UtZm9udC1zaXplKSAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2ljIHVuaXQgb2YgZm9udCByaHl0aG0uXG4kYmFzZS1yaHl0aG0tdW5pdDogY2FsYygkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSAqICRmb250LXVuaXQpO1xuXG4vLyBUaGUgbGVhZGVyIGlzIHRoZSBhbW91bnQgb2Ygd2hpdGVzcGFjZSBpbiBhIGxpbmUuXG4vLyBJdCBtaWdodCBiZSB1c2VmdWwgaW4geW91ciBjYWxjdWxhdGlvbnMuXG4kYmFzZS1sZWFkZXI6IGNhbGMoKCRiYXNlLWxpbmUtaGVpZ2h0IC0gJGJhc2UtZm9udC1zaXplKSAqICRmb250LXVuaXQgLyAkYmFzZS1mb250LXNpemUpO1xuXG4vLyBUaGUgaGFsZi1sZWFkZXIgaXMgdGhlIGFtb3VudCBvZiB3aGl0ZXNwYWNlIGFib3ZlIGFuZCBiZWxvdyBhIGxpbmUuXG4vLyBJdCBtaWdodCBiZSB1c2VmdWwgaW4geW91ciBjYWxjdWxhdGlvbnMuXG4kYmFzZS1oYWxmLWxlYWRlcjogY2FsYygkYmFzZS1sZWFkZXIgLyAyKTtcblxuLy8gVHJ1ZSBpZiBhIG51bWJlciBoYXMgYSByZWxhdGl2ZSB1bml0LlxuQGZ1bmN0aW9uIHJlbGF0aXZlLXVuaXQoJG51bWJlcikge1xuICBAcmV0dXJuIHVuaXQoJG51bWJlcikgPT0gXCIlXCIgb3IgdW5pdCgkbnVtYmVyKSA9PSBcImVtXCIgb3IgdW5pdCgkbnVtYmVyKSA9PSBcInJlbVwiXG59XG5cbi8vIFRydWUgaWYgYSBudW1iZXIgaGFzIGFuIGFic29sdXRlIHVuaXQuXG5AZnVuY3Rpb24gYWJzb2x1dGUtdW5pdCgkbnVtYmVyKSB7XG4gIEByZXR1cm4gbm90KHJlbGF0aXZlLXVuaXQoJG51bWJlcikgb3IgdW5pdGxlc3MoJG51bWJlcikpO1xufVxuXG5AaWYgJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGFuZCBub3QocmVsYXRpdmUtdW5pdCgkZm9udC11bml0KSkge1xuICBAd2FybiBcIiRyZWxhdGl2ZS1mb250LXNpemluZyBpcyB0cnVlIGJ1dCAkZm9udC11bml0IGlzIHNldCB0byAjeyRmb250LXVuaXR9IHdoaWNoIGlzIG5vdCBhIHJlbGF0aXZlIHVuaXQuXCI7XG59XG5cbi8vIEVzdGFibGlzaGVzIGEgZm9udCBiYXNlbGluZSBmb3IgdGhlIGdpdmVuIGZvbnQtc2l6ZS5cbkBtaXhpbiBlc3RhYmxpc2gtYmFzZWxpbmUoJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIC8vIElFIDYgcmVmdXNlcyB0byByZXNpemUgZm9udHMgc2V0IGluIHBpeGVscyBhbmQgaXQgd2VpcmRseSByZXNpemVzIGZvbnRzXG4gIC8vIHdob3NlIHJvb3QgaXMgc2V0IGluIGVtcy4gU28gd2Ugc2V0IHRoZSByb290IGZvbnQgc2l6ZSBpbiBwZXJjZW50YWdlcyBvZlxuICAvLyB0aGUgZGVmYXVsdCBmb250IHNpemUuXG4gICogaHRtbCB7XG4gICAgZm9udC1zaXplOiAxMDAlICogY2FsYygkZm9udC1zaXplIC8gJGJyb3dzZXItZGVmYXVsdC1mb250LXNpemUpO1xuICB9XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBAaW5jbHVkZSBhZGp1c3QtbGVhZGluZy10bygxLCBpZigkcmVsYXRpdmUtZm9udC1zaXppbmcsICRmb250LXNpemUsICRiYXNlLWZvbnQtc2l6ZSkpO1xuICB9XG59XG5cbi8vIFJlc2V0cyB0aGUgbGluZS1oZWlnaHQgdG8gMSB2ZXJ0aWNhbCByaHl0aG0gdW5pdC5cbi8vIERvZXMgbm90IHdvcmsgb24gZWxlbWVudHMgd2hvc2UgZm9udC1zaXplIGlzIGRpZmZlcmVudCBmcm9tICRiYXNlLWZvbnQtc2l6ZS5cbi8vXG4vLyBAZGVwcmVjYXRlZCBUaGlzIG1peGluIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCByZWxlYXNlLlxuLy8gUGxlYXNlIHVzZSB0aGUgYGFkanVzdC1sZWFkaW5nLXRvYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIHJlc2V0LWJhc2VsaW5lIHtcbiAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oMSwgaWYoJHJlbGF0aXZlLWZvbnQtc2l6aW5nLCAkYmFzZS1mb250LXNpemUsICRiYXNlLWZvbnQtc2l6ZSkpO1xufVxuXG4vLyBTaG93IGEgYmFja2dyb3VuZCBpbWFnZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGRlYnVnIHlvdXIgYWxpZ25tZW50cy5cbi8vIEluY2x1ZGUgdGhlICRpbWcgYXJndW1lbnQgaWYgeW91IHdvdWxkIHJhdGhlciB1c2UgeW91ciBvd24gaW1hZ2UgdGhhbiB0aGVcbi8vIENvbXBhc3MgZGVmYXVsdCBncmFkaWVudCBpbWFnZS5cbkBtaXhpbiBkZWJ1Zy12ZXJ0aWNhbC1hbGlnbm1lbnQoJGltZzogZmFsc2UpIHtcbiAgQGlmICRpbWcge1xuICAgIGJhY2tncm91bmQ6IGltYWdlLXVybCgkaW1nKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgYmFzZWxpbmUtZ3JpZC1iYWNrZ3JvdW5kKCRiYXNlLXJoeXRobS11bml0KTtcbiAgfVxufVxuXG4vLyBBZGp1c3QgYSBibG9jayB0byBoYXZlIGEgZGlmZmVyZW50IGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgdG8gbWFpbnRhaW4gdGhlXG4vLyByaHl0aG0uICRsaW5lcyBzcGVjaWZpZXMgaG93IG1hbnkgbXVsdGlwbGVzIG9mIHRoZSBiYXNlbGluZSByaHl0aG0gZWFjaCBsaW5lXG4vLyBvZiB0aGlzIGZvbnQgc2hvdWxkIHVzZSB1cC4gSXQgZG9lcyBub3QgaGF2ZSB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXRcbi8vIGRlZmF1bHRzIHRvIHRoZSBzbWFsbGVzdCBpbnRlZ2VyIHRoYXQgaXMgbGFyZ2UgZW5vdWdoIHRvIGZpdCB0aGUgZm9udC5cbi8vIFVzZSAkZnJvbS1zaXplIHRvIGFkanVzdCBmcm9tIGEgZm9udC1zaXplIG90aGVyIHRoYW4gdGhlIGJhc2UgZm9udC1zaXplLlxuQG1peGluIGFkanVzdC1mb250LXNpemUtdG8oJHRvLXNpemUsICRsaW5lczogbGluZXMtZm9yLWZvbnQtc2l6ZSgkdG8tc2l6ZSksICRmcm9tLXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgbm90KCRyZWxhdGl2ZS1mb250LXNpemluZykgYW5kICRmcm9tLXNpemUgIT0gJGJhc2UtZm9udC1zaXplIHtcbiAgICBAd2FybiBcIiRyZWxhdGl2ZS1mb250LXNpemluZyBpcyBmYWxzZSBidXQgYSByZWxhdGl2ZSBmb250IHNpemUgd2FzIHBhc3NlZCB0byBhZGp1c3QtZm9udC1zaXplLXRvXCI7XG4gIH1cbiAgZm9udC1zaXplOiBjYWxjKCRmb250LXVuaXQgKiAkdG8tc2l6ZSAvICRmcm9tLXNpemUpO1xuICBAaW5jbHVkZSBhZGp1c3QtbGVhZGluZy10bygkbGluZXMsIGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgJHRvLXNpemUsICRiYXNlLWZvbnQtc2l6ZSkpO1xufVxuXG4vLyBBZGp1c3QgYSBibG9jayB0byBoYXZlIGRpZmZlcmVudCBsaW5lIGhlaWdodCB0byBtYWludGFpbiB0aGUgcmh5dGhtLlxuLy8gJGxpbmVzIHNwZWNpZmllcyBob3cgbWFueSBtdWx0aXBsZXMgb2YgdGhlIGJhc2VsaW5lIHJoeXRobSBlYWNoIGxpbmUgb2YgdGhpc1xuLy8gZm9udCBzaG91bGQgdXNlIHVwLiBJdCBkb2VzIG5vdCBoYXZlIHRvIGJlIGFuIGludGVnZXIsIGJ1dCBpdCBkZWZhdWx0cyB0byB0aGVcbi8vIHNtYWxsZXN0IGludGVnZXIgdGhhdCBpcyBsYXJnZSBlbm91Z2ggdG8gZml0IHRoZSBmb250LlxuQG1peGluIGFkanVzdC1sZWFkaW5nLXRvKCRsaW5lcywgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIGxpbmUtaGVpZ2h0OiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHJoeXRobSB1bml0cy5cbkBmdW5jdGlvbiByaHl0aG0oXG4gICRsaW5lczogMSxcbiAgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLFxuICAkb2Zmc2V0OiAwcHhcbikge1xuICBAaWYgbm90KCRyZWxhdGl2ZS1mb250LXNpemluZykgYW5kICRmb250LXNpemUgIT0gJGJhc2UtZm9udC1zaXplIHtcbiAgICBAd2FybiBcIiRyZWxhdGl2ZS1mb250LXNpemluZyBpcyBmYWxzZSBidXQgYSByZWxhdGl2ZSBmb250IHNpemUgd2FzIHBhc3NlZCB0byB0aGUgcmh5dGhtIGZ1bmN0aW9uXCI7XG4gIH1cbiAgJHJoeXRobTogY2FsYygkZm9udC11bml0ICogKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJG9mZnNldCkgLyAkZm9udC1zaXplKTtcbiAgLy8gUm91bmQgdGhlIHBpeGVscyBkb3duIHRvIG5lYXJlc3QgaW50ZWdlci5cbiAgQGlmIHVuaXQoJHJoeXRobSkgPT0gcHgge1xuICAgICRyaHl0aG06IGZsb29yKCRyaHl0aG0pO1xuICB9XG4gIEByZXR1cm4gJHJoeXRobTtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIG11bHRpcGxlIG9mIHJoeXRobSB1bml0cyBuZWVkZWQgdG8gY29udGFpbiB0aGUgZm9udC1zaXplLlxuQGZ1bmN0aW9uIGxpbmVzLWZvci1mb250LXNpemUoJGZvbnQtc2l6ZSkge1xuICAkbGluZXM6IGlmKCRyb3VuZC10by1uZWFyZXN0LWhhbGYtbGluZSxcbiAgICAgICAgICAgICAgY2VpbCgyICogJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KSAvIDIsXG4gICAgICAgICAgICAgIGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KSk7XG4gIEBpZiAkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUgPCAkbWluLWxpbmUtcGFkZGluZyAqIDIge1xuICAgICRsaW5lczogJGxpbmVzICsgaWYoJHJvdW5kLXRvLW5lYXJlc3QtaGFsZi1saW5lLCAwLjUsIDEpO1xuICB9XG4gIEByZXR1cm4gJGxpbmVzO1xufVxuXG4vLyBBcHBseSBsZWFkaW5nIHdoaXRlc3BhY2UuIFRoZSAkcHJvcGVydHkgY2FuIGJlIG1hcmdpbiBvciBwYWRkaW5nLlxuQG1peGluIGxlYWRlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJHByb3BlcnR5OiBtYXJnaW4pIHtcbiAgI3skcHJvcGVydHl9LXRvcDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IGxlYWRpbmcgd2hpdGVzcGFjZSBhcyBwYWRkaW5nLlxuQG1peGluIHBhZGRpbmctbGVhZGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIHBhZGRpbmctdG9wOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgbGVhZGluZyB3aGl0ZXNwYWNlIGFzIG1hcmdpbi5cbkBtaXhpbiBtYXJnaW4tbGVhZGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIG1hcmdpbi10b3A6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSB0cmFpbGluZyB3aGl0ZXNwYWNlLiBUaGUgJHByb3BlcnR5IGNhbiBiZSBtYXJnaW4gb3IgcGFkZGluZy5cbkBtaXhpbiB0cmFpbGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkcHJvcGVydHk6IG1hcmdpbikge1xuICAjeyRwcm9wZXJ0eX0tYm90dG9tOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgdHJhaWxpbmcgd2hpdGVzcGFjZSBhcyBwYWRkaW5nLlxuQG1peGluIHBhZGRpbmctdHJhaWxlcigkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IHRyYWlsaW5nIHdoaXRlc3BhY2UgYXMgbWFyZ2luLlxuQG1peGluIG1hcmdpbi10cmFpbGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIG1hcmdpbi1ib3R0b206IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBTaG9ydGhhbmQgbWl4aW4gdG8gYXBwbHkgd2hpdGVzcGFjZSBmb3IgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBhbmQgcGFkZGluZy5cbkBtaXhpbiByaHl0aG0oJGxlYWRlcjogMCwgJHBhZGRpbmctbGVhZGVyOiAwLCAkcGFkZGluZy10cmFpbGVyOiAwLCAkdHJhaWxlcjogMCwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIGxlYWRlcigkbGVhZGVyLCAkZm9udC1zaXplKTtcbiAgQGluY2x1ZGUgcGFkZGluZy1sZWFkZXIoJHBhZGRpbmctbGVhZGVyLCAkZm9udC1zaXplKTtcbiAgQGluY2x1ZGUgcGFkZGluZy10cmFpbGVyKCRwYWRkaW5nLXRyYWlsZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSB0cmFpbGVyKCR0cmFpbGVyLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgYSBib3JkZXIgYW5kIHdoaXRlc3BhY2UgdG8gYW55IHNpZGUgd2l0aG91dCBkZXN0cm95aW5nIHRoZSB2ZXJ0aWNhbFxuLy8gcmh5dGhtLiBUaGUgd2hpdGVzcGFjZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB0aGUgd2lkdGggb2YgdGhlIGJvcmRlci5cbkBtaXhpbiBhcHBseS1zaWRlLXJoeXRobS1ib3JkZXIoJHNpZGUsICR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaWYgbm90KCRyZWxhdGl2ZS1mb250LXNpemluZykgYW5kICRmb250LXNpemUgIT0gJGJhc2UtZm9udC1zaXplIHtcbiAgICBAd2FybiBcIiRyZWxhdGl2ZS1mb250LXNpemluZyBpcyBmYWxzZSBidXQgYSByZWxhdGl2ZSBmb250IHNpemUgd2FzIHBhc3NlZCB0byBhcHBseS1zaWRlLXJoeXRobS1ib3JkZXJcIjtcbiAgfVxuICBib3JkZXItI3skc2lkZX0tc3R5bGU6ICRib3JkZXItc3R5bGU7XG4gIGJvcmRlci0jeyRzaWRlfS13aWR0aDogY2FsYygkZm9udC11bml0ICogJHdpZHRoIC8gJGZvbnQtc2l6ZSk7XG4gIHBhZGRpbmctI3skc2lkZX06IHJoeXRobSgkbGluZXMsICRmb250LXNpemUsICRvZmZzZXQ6ICR3aWR0aCk7XG59XG5cbi8vIEFwcGx5IGJvcmRlcnMgYW5kIHdoaXRlc3BhY2UgZXF1YWxseSB0byBhbGwgc2lkZXMuXG5AbWl4aW4gcmh5dGhtLWJvcmRlcnMoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIHJoeXRobS1ib3JkZXJzXCI7XG4gIH1cbiAgYm9yZGVyOiB7XG4gICAgc3R5bGU6ICRib3JkZXItc3R5bGU7XG4gICAgd2lkdGg6IGNhbGMoJGZvbnQtdW5pdCAqICR3aWR0aCAvICRmb250LXNpemUpO1xuICB9O1xuICBwYWRkaW5nOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplLCAkb2Zmc2V0OiAkd2lkdGgpO1xufVxuXG4vLyBBcHBseSBhIGxlYWRpbmcgYm9yZGVyLlxuQG1peGluIGxlYWRpbmctYm9yZGVyKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaW5jbHVkZSBhcHBseS1zaWRlLXJoeXRobS1ib3JkZXIodG9wLCAkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG59XG5cbi8vIEFwcGx5IGEgdHJhaWxpbmcgYm9yZGVyLlxuQG1peGluIHRyYWlsaW5nLWJvcmRlcigkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGluY2x1ZGUgYXBwbHktc2lkZS1yaHl0aG0tYm9yZGVyKGJvdHRvbSwgJHdpZHRoLCAkbGluZXMsICRmb250LXNpemUsICRib3JkZXItc3R5bGUpO1xufVxuXG4vLyBBcHBseSBib3RoIGxlYWRpbmcgYW5kIHRyYWlsaW5nIGJvcmRlcnMuXG5AbWl4aW4gaG9yaXpvbnRhbC1ib3JkZXJzKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaW5jbHVkZSBsZWFkaW5nLWJvcmRlcigkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG4gIEBpbmNsdWRlIHRyYWlsaW5nLWJvcmRlcigkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG59XG5cbi8vIEFsaWFzIGZvciBgaG9yaXpvbnRhbC1ib3JkZXJzYCBtaXhpbi5cbkBtaXhpbiBoLWJvcmRlcnMoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGhvcml6b250YWwtYm9yZGVycygkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG59XG5cbi8vIFNob3J0aGFuZCBtaXhpbiB0byBhcHBseSB3aGl0ZXNwYWNlIGZvciB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLlxuQG1peGluIHJoeXRobS1tYXJnaW5zKFxuICAkbGVhZGVyOiAxLFxuICAkdHJhaWxlcjogJGxlYWRlcixcbiAgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplXG4pIHtcbiAgQGluY2x1ZGUgbGVhZGVyKCRsZWFkZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSB0cmFpbGVyKCR0cmFpbGVyLCAkZm9udC1zaXplKTtcbn1cbiIsIkBpbXBvcnQgXCJmb250c1wiO1xuXG5AaW5jbHVkZSBlc3RhYmxpc2gtYmFzZWxpbmUoKTtcblxuaHRtbCwgYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuODApO1xuICBmb250LWZhbWlseTogJG9kYV9mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtbm9ybWFsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiA4MjBweDsgLy90b2RvOiB0ZW1wb3JhcnkhISFcbn1cblxuLndyYXAge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9iZy9iYWNrZ3JvdW5kLTc1LnBuZycpLCAjZmZmO1xuXG4gIC8vIFJldGluYWZ5aW5nIGJhY2tncm91bmQgaW1hZ2VcbiAgLy9AbWVkaWFcbiAgLy9vbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIC8vb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICAvL29ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICAvL29ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgLy9vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgLy9vbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgLy8gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2JnL2JhY2tncm91bmQtNzUucG5nJyksICNmZmY7XG4gIC8vICBiYWNrZ3JvdW5kLXNpemU6IDI4MHB4IDIxMHB4O1xuICAvL31cbn1cblxuYSwgYTp2aXNpdGVkIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogJG9kYV9kYXJrX2JsdWU7XG59XG5cbmE6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbmEgeyBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yLCAuMXMpOyB9XG5cbmE6aG92ZXIgeyBjb2xvcjogbGlnaHRlbigkb2RhX2RhcmtfYmx1ZSwgMjAlKTsgfVxuXG5wIHsgbWFyZ2luOiAwOyB9XG5cbiogeyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuXG51bCB7XG4vLyAgbGlzdC1zdHlsZTogbm9uZTtcbi8vICBtYXJnaW46IDA7XG4vLyAgcGFkZGluZzogMDtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRvZGFfeWVsbG93LCAwLjUpOyAvKiBXZWJLaXQvQmxpbmsgQnJvd3NlcnMgKi9cbn1cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRvZGFfeWVsbG93LCAwLjUpOyAvKiBHZWNrbyBCcm93c2VycyAqL1xufVxuXG52aWRlbywgYXVkaW8sIGJ1dHRvbiB7XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgJjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbn1cblxuKjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuI2FkbWluLWJhciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuQGltcG9ydFxuXCJjb21wb25lbnRzL2VsZW1lbnRzXCIsXG5cImNvbXBvbmVudHMvaGVhZGVyXCIsXG5cImNvbXBvbmVudHMvc2xpZGVzaG93XCIsXG5cImNvbXBvbmVudHMvZm9vdGVyXCIsXG5cImNvbXBvbmVudHMvc2VhcmNoXCIsXG5cblwicGFnZXMvY29tbW9uL3NoYXJlZC1lbGVtZW50c1wiLFxuXG5cInBhZ2VzL2hvbWVwYWdlXCIsXG5cblwicGFnZXMvY29sbGVjdGlvbnNcIixcblwicGFnZXMvY29sbGVjdGlvblwiLFxuXCJwYWdlcy9pdGVtc1wiLFxuXCJwYWdlcy9pdGVtXCIsXG5cInBhZ2VzL2V4aGliaXRzXCIsXG5cInBhZ2VzL3NlYXJjaC1yZXN1bHRzXCIsXG5cInBhZ2VzL3NlYXJjaF9hZHZhbmNlZFwiLFxuXG5cInBhZ2VzL2V4aGliaXRzL2V4aGliaXRfcGFnZXNcIixcblxuXCJwYWdlcy9zaW1wbGUtcGFnZVwiLFxuXCJwYWdlcy9maWxlc1wiLFxuXG5cInBhZ2VzL2Vycm9yLTQwNFwiOyIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcbkBpbXBvcnQgXCIuLi9mdW5jdGlvbnNcIjtcblxuLy8gQ1NTIFRyYW5zaXRpb25zXG4vLyBDdXJyZW50bHkgb25seSB3b3JrcyBpbiBXZWJraXQuXG4vL1xuLy8gKiBleHBlY3RlZCBpbiBDU1MzLCBGaXJlRm94IDMuNi83IGFuZCBPcGVyYSBQcmVzdG8gMi4zXG4vLyAqIFdlJ2xsIGJlIHByZXBhcmVkLlxuLy9cbi8vIEluY2x1ZGluZyB0aGlzIHN1Ym1vZHVsZSBzZXRzIGZvbGxvd2luZyBkZWZhdWx0cyBmb3IgdGhlIG1peGluczpcbi8vXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IGFsbFxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gOiAxc1xuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24gOiBmYWxzZVxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXkgICAgOiBmYWxzZVxuLy9cbi8vIE92ZXJyaWRlIHRoZW0gaWYgeW91IGxpa2UuIFRpbWluZy1mdW5jdGlvbiBhbmQgZGVsYXkgYXJlIHNldCB0byBmYWxzZSBmb3IgYnJvd3NlciBkZWZhdWx0cyAoZWFzZSwgMHMpLlxuXG4kZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGwgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb246IDFzICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheTogZmFsc2UgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXM6IHRyYW5zZm9ybSwgdHJhbnNmb3JtLW9yaWdpbiAhZGVmYXVsdDtcblxuLy8gT25lIG9yIG1vcmUgcHJvcGVydGllcyB0byB0cmFuc2l0aW9uXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIGFsc28gYWNjZXB0cyBcImFsbFwiIG9yIFwibm9uZVwiXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0eS0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkcHJvcGVydHktMiA6IGZhbHNlLFxuICAkcHJvcGVydHktMyA6IGZhbHNlLFxuICAkcHJvcGVydHktNCA6IGZhbHNlLFxuICAkcHJvcGVydHktNSA6IGZhbHNlLFxuICAkcHJvcGVydHktNiA6IGZhbHNlLFxuICAkcHJvcGVydHktNyA6IGZhbHNlLFxuICAkcHJvcGVydHktOCA6IGZhbHNlLFxuICAkcHJvcGVydHktOSA6IGZhbHNlLFxuICAkcHJvcGVydHktMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5LTEpID09IHN0cmluZyB7ICRwcm9wZXJ0eS0xOiB1bnF1b3RlKCRwcm9wZXJ0eS0xKTsgfVxuICAkcHJvcGVydGllczogY29tcGFjdCgkcHJvcGVydHktMSwgJHByb3BlcnR5LTIsICRwcm9wZXJ0eS0zLCAkcHJvcGVydHktNCwgJHByb3BlcnR5LTUsICRwcm9wZXJ0eS02LCAkcHJvcGVydHktNywgJHByb3BlcnR5LTgsICRwcm9wZXJ0eS05LCAkcHJvcGVydHktMTApO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtd2Via2l0LCAkcHJvcGVydGllcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW1veiwgICAgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1vLCAgICAgICRwcm9wZXJ0aWVzKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHkgOiAkcHJvcGVydGllcztcbn1cblxuLy8gT25lIG9yIG1vcmUgZHVyYXRpb25zIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZHVyYXRpb25zIHdpbGwgYWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJGR1cmF0aW9uLTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRkdXJhdGlvbi0yIDogZmFsc2UsXG4gICRkdXJhdGlvbi0zIDogZmFsc2UsXG4gICRkdXJhdGlvbi00IDogZmFsc2UsXG4gICRkdXJhdGlvbi01IDogZmFsc2UsXG4gICRkdXJhdGlvbi02IDogZmFsc2UsXG4gICRkdXJhdGlvbi03IDogZmFsc2UsXG4gICRkdXJhdGlvbi04IDogZmFsc2UsXG4gICRkdXJhdGlvbi05IDogZmFsc2UsXG4gICRkdXJhdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkZHVyYXRpb24tMSkgPT0gc3RyaW5nIHsgJGR1cmF0aW9uLTE6IHVucXVvdGUoJGR1cmF0aW9uLTEpOyB9XG4gICRkdXJhdGlvbnM6IGNvbXBhY3QoJGR1cmF0aW9uLTEsICRkdXJhdGlvbi0yLCAkZHVyYXRpb24tMywgJGR1cmF0aW9uLTQsICRkdXJhdGlvbi01LCAkZHVyYXRpb24tNiwgJGR1cmF0aW9uLTcsICRkdXJhdGlvbi04LCAkZHVyYXRpb24tOSwgJGR1cmF0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tZHVyYXRpb24sICRkdXJhdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdGltaW5nIGZ1bmN0aW9uc1xuLy9cbi8vICogWyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoeDEsIHkxLCB4MiwgeTIpXVxuLy8gKiBGb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIGVmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24tMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGZ1bmN0aW9uLTIgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTMgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTQgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTUgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTYgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTcgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTggOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTkgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTEwOiBmYWxzZVxuKSB7XG4gICRmdW5jdGlvbi0xOiB1bnF1b3RlKCRmdW5jdGlvbi0xKTtcbiAgJGZ1bmN0aW9uczogY29tcGFjdCgkZnVuY3Rpb24tMSwgJGZ1bmN0aW9uLTIsICRmdW5jdGlvbi0zLCAkZnVuY3Rpb24tNCwgJGZ1bmN0aW9uLTUsICRmdW5jdGlvbi02LCAkZnVuY3Rpb24tNywgJGZ1bmN0aW9uLTgsICRmdW5jdGlvbi05LCAkZnVuY3Rpb24tMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRmdW5jdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdHJhbnNpdGlvbi1kZWxheXMgaW4gc2Vjb25kc1xuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiB0aGVzZSBkZWxheXMgd2lsbCBlZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkZGVsYXktMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSxcbiAgJGRlbGF5LTIgOiBmYWxzZSxcbiAgJGRlbGF5LTMgOiBmYWxzZSxcbiAgJGRlbGF5LTQgOiBmYWxzZSxcbiAgJGRlbGF5LTUgOiBmYWxzZSxcbiAgJGRlbGF5LTYgOiBmYWxzZSxcbiAgJGRlbGF5LTcgOiBmYWxzZSxcbiAgJGRlbGF5LTggOiBmYWxzZSxcbiAgJGRlbGF5LTkgOiBmYWxzZSxcbiAgJGRlbGF5LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRkZWxheS0xKSA9PSBzdHJpbmcgeyAkZGVsYXktMTogdW5xdW90ZSgkZGVsYXktMSk7IH1cbiAgJGRlbGF5czogY29tcGFjdCgkZGVsYXktMSwgJGRlbGF5LTIsICRkZWxheS0zLCAkZGVsYXktNCwgJGRlbGF5LTUsICRkZWxheS02LCAkZGVsYXktNywgJGRlbGF5LTgsICRkZWxheS05LCAkZGVsYXktMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi1kZWxheSwgJGRlbGF5cyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBUcmFuc2l0aW9uIGFsbC1pbi1vbmUgc2hvcnRoYW5kXG5cbkBtaXhpbiBzaW5nbGUtdHJhbnNpdGlvbihcbiAgJHByb3BlcnR5OiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkZHVyYXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRmdW5jdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGRlbGF5OiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5XG4pIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb21wYWN0KCRwcm9wZXJ0eSAkZHVyYXRpb24gJGZ1bmN0aW9uICRkZWxheSkpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbihcbiAgJHRyYW5zaXRpb24tMSA6IGRlZmF1bHQsXG4gICR0cmFuc2l0aW9uLTIgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tMyA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi00IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTUgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNiA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi03IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTggOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tOSA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgJHRyYW5zaXRpb24tMSA9PSBkZWZhdWx0IHtcbiAgICAkdHJhbnNpdGlvbi0xIDogY29tcGFjdCgkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5KTtcbiAgfVxuICAkdHJhbnNpdGlvbnM6IGZhbHNlO1xuICBAaWYgdHlwZS1vZigkdHJhbnNpdGlvbi0xKSA9PSBsaXN0IGFuZCB0eXBlLW9mKG50aCgkdHJhbnNpdGlvbi0xLDEpKSA9PSBsaXN0IHtcbiAgICAkdHJhbnNpdGlvbnM6IGpvaW4oJHRyYW5zaXRpb24tMSwgY29tcGFjdCgkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCksIGNvbW1hKTtcbiAgfSBAZWxzZSB7XG4gICAgJHRyYW5zaXRpb25zIDogY29tcGFjdCgkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCk7XG4gIH1cbiAgJGRlbGF5czogY29tbWEtbGlzdCgpO1xuICAkaGFzLWRlbGF5czogZmFsc2U7XG4gICR3ZWJraXQtdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG1vei12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAkby12YWx1ZTogY29tbWEtbGlzdCgpO1xuXG4gIC8vIFRoaXMgYmxvY2sgY2FuIGJlIG1hZGUgY29uc2lkZXJhYmx5IHNpbXBsZXIgYXQgdGhlIHBvaW50IGluIHRpbWUgdGhhdFxuICAvLyB3ZSBubyBsb25nZXIgbmVlZCB0byBkZWFsIHdpdGggdGhlIGRpZmZlcmVuY2VzIGluIGhvdyBkZWxheXMgYXJlIHRyZWF0ZWQuXG4gIEBlYWNoICR0cmFuc2l0aW9uIGluICR0cmFuc2l0aW9ucyB7XG4gICAgLy8gRXh0cmFjdCB0aGUgdmFsdWVzIGZyb20gdGhlIGxpc3RcbiAgICAvLyAodGhpcyB3b3VsZCBiZSBjbGVhbmVyIGlmIG50aCB0b29rIGEgM3JkIGFyZ3VtZW50IHRvIHByb3ZpZGUgYSBkZWZhdWx0IHZhbHVlKS5cbiAgICAkcHJvcGVydHk6IG50aCgkdHJhbnNpdGlvbiwgMSk7XG4gICAgJGR1cmF0aW9uOiBmYWxzZTtcbiAgICAkdGltaW5nLWZ1bmN0aW9uOiBmYWxzZTtcbiAgICAkZGVsYXk6IGZhbHNlO1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7ICRkdXJhdGlvbjogICAgICAgIG50aCgkdHJhbnNpdGlvbiwgMik7IH1cbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDIgeyAkdGltaW5nLWZ1bmN0aW9uOiBudGgoJHRyYW5zaXRpb24sIDMpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAzIHsgJGRlbGF5OiAgICAgICAgICAgbnRoKCR0cmFuc2l0aW9uLCA0KTsgJGhhcy1kZWxheXM6IHRydWU7IH1cblxuICAgIC8vIElmIGEgZGVsYXkgaXMgcHJvdmlkZWQgd2l0aG91dCBhIHRpbWluZyBmdW5jdGlvblxuICAgIEBpZiBpcy10aW1lKCR0aW1pbmctZnVuY3Rpb24pIGFuZCBub3QoJGRlbGF5KSB7ICRkZWxheTogJHRpbWluZy1mdW5jdGlvbjsgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7ICRoYXMtZGVsYXlzOiB0cnVlOyB9XG5cbiAgICAvLyBLZWVwIGEgbGlzdCBvZiBkZWxheXMgaW4gY2FzZSBvbmUgaXMgc3BlY2lmaWVkXG4gICAgJGRlbGF5czogYXBwZW5kKCRkZWxheXMsIGlmKCRkZWxheSwgJGRlbGF5LCAwcykpO1xuXG4gICAgJHdlYmtpdC12YWx1ZTogYXBwZW5kKCR3ZWJraXQtdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24pLi4uKSk7XG4gICAgICAgJG1vei12YWx1ZTogYXBwZW5kKCAgICRtb3otdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCAgIC1tb3osICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24gJGRlbGF5KS4uLikpO1xuICAgICAgICAgJG8tdmFsdWU6IGFwcGVuZCggICAgICRvLXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAgIC1vLCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkuLi4pKTtcbiAgfVxuXG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6ICR3ZWJraXQtdmFsdWU7XG4gICAgLy8gb2xkIHdlYmtpdCBkb2Vzbid0IHN1cHBvcnQgdGhlIGRlbGF5IHBhcmFtZXRlciBpbiB0aGUgc2hvcnRoYW5kIHNvIHdlIHByb2dyZXNzaXZlbHkgZW5oYW5jZSBpdC5cbiAgICBAaWYgJGhhcy1kZWxheXMgICAgICAgICAgICAgICAgICAgICAgIHsgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5IDogJGRlbGF5czsgICAgICAgfSB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgICAgICAgIC1tb3otdHJhbnNpdGlvbiA6ICRtb3otdmFsdWU7ICAgIH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAgICAgICAtby10cmFuc2l0aW9uIDogJG8tdmFsdWU7ICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gOiAkdHJhbnNpdGlvbnM7XG59XG5cbi8vIGNvZXJjZSBhIGxpc3QgdG8gYmUgY29tbWEgZGVsaW1pdGVkIG9yIG1ha2UgYSBuZXcsIGVtcHR5IGNvbW1hIGRlbGltaXRlZCBsaXN0LlxuQGZ1bmN0aW9uIGNvbW1hLWxpc3QoJGxpc3Q6ICgpKSB7XG4gIEByZXR1cm4gam9pbigoKSwgJGxpc3QsIGNvbW1hKTtcbn1cblxuLy8gUmV0dXJucyBgJHByb3BlcnR5YCB3aXRoIHRoZSBnaXZlbiBwcmVmaXggaWYgaXQgaXMgZm91bmQgaW4gYCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXNgLlxuQGZ1bmN0aW9uIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICRwcm9wZXJ0eSkge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydHkpID09IGxpc3Qge1xuICAgICRuZXctbGlzdDogY29tbWEtbGlzdCgpO1xuICAgIEBlYWNoICR2IGluICRwcm9wZXJ0eSB7XG4gICAgICAkbmV3LWxpc3Q6IGFwcGVuZCgkbmV3LWxpc3QsIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICR2KSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG5ldy1saXN0O1xuICB9IEBlbHNlIHtcbiAgICBAaWYgaW5kZXgoJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlcywgJHByb3BlcnR5KSB7XG4gICAgICBAcmV0dXJuICN7JHByZWZpeH0tI3skcHJvcGVydHl9O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiAkcHJvcGVydHk7XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrcyBpZiB0aGUgdmFsdWUgZ2l2ZW4gaXMgYSB1bml0IG9mIHRpbWUuXG5AZnVuY3Rpb24gaXMtdGltZSgkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgIEByZXR1cm4gbm90KG5vdChpbmRleChzIG1zLCB1bml0KCR2YWx1ZSkpKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIi8qKiBIZWFkaW5ncyAqKi9cbmgxIHtcbiAgZm9udC1zaXplOiAkb2RhX2gxO1xuICBmb250LXdlaWdodDogJG9kYV9mb250LXdlaWdodC1ibGFjaztcbn1cblxuaDIge1xuICBmb250LXNpemU6ICRvZGFfaDI7XG4gIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJsYWNrO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogJG9kYV9oMztcbiAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYm9sZGVyO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogJG9kYV9oNDtcbiAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYm9sZDtcbn1cblxuLyoqIFBhcmFncmFwaHMgKiovXG5wIHt9XG5cblxuLy8qKiBDdXN0b20gbGluZXMgKiovXG5ociB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIC8vIERvdHRlZCBsaW5lXG4gICYuZG90dGVkIHtcbi8vICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9saW5lcy9kb3Qtc2luZ2xlLTItNC02NW8ucG5nXCIpIHJlcGVhdC14IDUwJSAwO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9saW5lcy9kb3Qtc2luZ2xlLTItNC05NW8tMWgucG5nXCIpIHJlcGVhdC14IDUwJSAwO1xuLy8gICAgaGVpZ2h0OiAycHg7XG4gICAgaGVpZ2h0OiAxcHg7XG5cbiAgICAmLnZlcnRpY2FsIHtcbi8vICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2xpbmVzL2RvdC1zaW5nbGUtMi00LTY1by1oLnBuZ1wiKSByZXBlYXQteSA1MCUgMDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9saW5lcy9kb3Qtc2luZ2xlLTItNC05NW8tMXcucG5nXCIpIHJlcGVhdC15IDUwJSAwO1xuLy8gICAgICB3aWR0aDogMnB4O1xuICAgICAgd2lkdGg6IDFweDtcbiAgICB9XG4gIH1cblxuICAvLyBEb3VibGUgbGluZVxuICAmLmRvdWJsZSB7XG4gICAgYmFja2dyb3VuZDogICB1cmwoXCIuLi9pbWcvbGluZXMvbGluZS1kb3VibGUtaG9yaXpvbnRhbC01LTgwby5wbmdcIikgcmVwZWF0LXggMCAwO1xuICAgIGhlaWdodDogNXB4O1xuXG4gICAgJi5ib3R0b20ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2xpbmVzL2xpbmUtZG91YmxlLWhvcml6b250YWwtNS04MG8tYi5wbmdcIikgcmVwZWF0LXggMCAwO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgfVxuXG4gICAgJi50b3Age1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2xpbmVzL2xpbmUtZG91YmxlLWhvcml6b250YWwtNS04MG8tdC5wbmdcIikgcmVwZWF0LXggMCAwO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gRG91YmxlIGxpbmVcbiAgJi52ZXJ0aWNhbCB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2xpbmVzL2xpbmUtZG91YmxlLXZlcnRpY2FsLTUtODBvLnBuZ1wiKSByZXBlYXQteSAwIDA7XG4gICAgd2lkdGg6IDVweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLy8gRG90dGVkIGhvcml6b250YWwgc2VwYXJhdG9yIGluIGJyb3dzZSB2aWV3c1xuICAmLmRvdHRlZC5zZXBhcmF0b3Ige1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cblxuLyoqIEJ1dHRvbnMgKiovXG5idXR0b24ge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIFJlZ3VsYXIgYnV0dG9uc1xuLm9kYS1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC45NSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYm9sZGVyO1xuICBwYWRkaW5nOiAzcHggMTVweDtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDExcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbi8vICBsaW5lLWhlaWdodDogMTIwJTtcbiAgYmFja2dyb3VuZDogJG9kYV9kYXJrX2JsdWU7XG4gIG1pbi13aWR0aDogODBweDtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQsIC4ycyk7XG5cblxuICAvLyBHcmFkaWVudHMgdG9kbzogZGVjaWRlIHdoZXRoZXIgd2UgbmVlZCB0aGlzIG9yIG5vdFxuLy8gIEBpbmNsdWRlIGZpbHRlci1ncmFkaWVudCgjMzY0NTU3LCAjMzY0NTU3LCB2ZXJ0aWNhbCk7IC8vIElFNi04XG4vLyAgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmc6IHRydWU7XG4vLyAgQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZShsaW5lYXItZ3JhZGllbnQodG9wLCAgcmdiYSg1NCw2OSw4NywwLjkpIDAlLHJnYmEoNTQsNjksODcsMSkgNzMlLHJnYmEoNTQsNjksODcsMSkgMTAwJSkpO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJG9kYV9kYXJrX2JsdWUsIDEwJSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRvZGFfZGFya19ibHVlLCA1JSk7XG4gIH1cbn1cblxuYS5vZGEtYnV0dG9uIHtjb2xvcjogJG9kYV93aGl0ZS10ZXh0OyB9XG5cbi8vIE5hdmlnYXRpb25hbCBidXR0b25zIChwcmV2aW91cyBhbmQgbmV4dClcbi5uYXYtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogLjY1cmVtO1xuICB3aWR0aDogJG5hdi1idXR0b24tc2l6ZTtcbiAgaGVpZ2h0OiAkbmF2LWJ1dHRvbi1zaXplO1xuICBsaW5lLWhlaWdodDogJG5hdi1idXR0b24tc2l6ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAkb2RhX3doaXRlLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLCAuMjApO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCwgLjFzKTtcblxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMHB4O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41NSk7XG4gIH1cblxuICAmLnByZXYge1xuICAgICY6YmVmb3JlIHtcbi8vICAgICAgQGluY2x1ZGUgb2RhX2ljb24oJ1xcZjEwNycsIHRydWUpO1xuICAgICAgQGluY2x1ZGUgb2RhX2ljb24oJ1xcZjEyNCcsIHRydWUpO1xuICAgICAgbGVmdDogLTFweDtcbiAgICB9XG4gIH1cblxuICAmLm5leHQge1xuICAgICY6YmVmb3JlIHtcbi8vICAgICAgQGluY2x1ZGUgb2RhX2ljb24oJ1xcZjEwYScsIHRydWUpO1xuICAgICAgQGluY2x1ZGUgb2RhX2ljb24oJ1xcZjEyNScsIHRydWUpO1xuICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIExpZ2h0Ym94IGNsb3NlIFwiWFwiXG4ub2RhLWxpZ2h0Ym94LWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAkcGFkZGluZzogN3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdG9wOiAkcGFkZGluZztcbiAgcmlnaHQ6ICRwYWRkaW5nO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBvZGFfaWNvbignXFxmNDA0JywgdHJ1ZSk7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC44NSk7XG4gIH1cbn1cblxuLyoqIENvbW1vbiBzZWN0aW9ucyAqKi9cbi5wcmltYXJ5IHtcbiAgbWluLWhlaWdodDogMzAwcHg7XG59XG5cbi8qKiBTcG9pbGVycyAqKi9cbi5vZGEtc3BvaWxlciB7XG4gICRwYWRkaW5nOiAxNXB4O1xuLy8gIGJhY2tncm91bmQ6IHRvbWF0bztcblxuICAuc3BvaWxlci10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMiokcGFkZGluZztcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBvZGFfaWNvbignXFxmMTBhJywgdHJ1ZSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yMHJlbTtcbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMTA0JztcbiAgICB9XG4gIH1cblxuICAuc3BvaWxlci1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMCAwICRwYWRkaW5nIDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMDMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjIwKSk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IGd1dHRlcigpO1xuICB9XG59XG5cbi8qKiBPREEgaWNvbiAoZG9vcikgKiovXG4ub2RhLWljb24ge1xuICBAaW5jbHVkZSBvZGFfaWNvbignJywgZmFsc2UpO1xufVxuXG4vKiogQW5pbWF0aW9ucyAqKi9cbiRhbmltLWxvdzogMC4yO1xuJGFuaW0taGlnaDogMC42O1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGluZyB7XG4gIDAlLCA4MCUsIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJGFuaW0tbG93KTsgfVxuICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJGFuaW0taGlnaCk7IH1cbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nIHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgkYW5pbS1sb3cpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkYW5pbS1sb3cpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgkYW5pbS1oaWdoKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJGFuaW0taGlnaCk7XG4gIH1cbn1cblxuLy8gTWVkaWFFbGVtZW50LmpzIHBsYXllciBpbXByb3ZlbWVudHNcbi5tZWpzLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbn0iLCIvLyBAZG9jIG9mZlxuLy8gRXh0ZW5kcyB0aGUgYm90dG9tIG9mIHRoZSBlbGVtZW50IHRvIGVuY2xvc2UgYW55IGZsb2F0cyBpdCBjb250YWlucy5cbi8vIEBkb2Mgb25cblxuQGltcG9ydCBcImhhY2tzXCI7XG5cbi8vIFRoaXMgYmFzaWMgbWV0aG9kIGlzIHByZWZlcnJlZCBmb3IgdGhlIHVzdWFsIGNhc2UsIHdoZW4gcG9zaXRpb25lZFxuLy8gY29udGVudCB3aWxsIG5vdCBzaG93IG91dHNpZGUgdGhlIGJvdW5kcyBvZiB0aGUgY29udGFpbmVyLlxuLy9cbi8vIFJlY29tbWVuZGF0aW9ucyBpbmNsdWRlIHVzaW5nIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBhIHdpZHRoLlxuLy8gQ3JlZGl0OiBbcXVpcmtzbW9kZS5vcmddKGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvYmxvZy9hcmNoaXZlcy8yMDA1LzAzL2NsZWFyaW5nX2Zsb2F0cy5odG1sKVxuQG1peGluIGNsZWFyZml4IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgaGFzLWxheW91dDtcbn1cblxuLy8gVGhpcyBvbGRlciBtZXRob2QgZnJvbSBQb3NpdGlvbiBJcyBFdmVyeXRoaW5nIGNhbGxlZFxuLy8gW0Vhc3kgQ2xlYXJpbmddKGh0dHA6Ly93d3cucG9zaXRpb25pc2V2ZXJ5dGhpbmcubmV0L2Vhc3ljbGVhcmluZy5odG1sKVxuLy8gaGFzIHRoZSBhZHZhbnRhZ2Ugb2YgYWxsb3dpbmcgcG9zaXRpb25lZCBlbGVtZW50cyB0byBoYW5nXG4vLyBvdXRzaWRlIHRoZSBib3VuZHMgb2YgdGhlIGNvbnRhaW5lciBhdCB0aGUgZXhwZW5zZSBvZiBtb3JlIHRyaWNreSBDU1MuXG5AbWl4aW4gbGVnYWN5LXBpZS1jbGVhcmZpeCB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQgICAgOiBcIlxcMDAyMFwiO1xuICAgIGRpc3BsYXkgICAgOiBibG9jaztcbiAgICBoZWlnaHQgICAgIDogMDtcbiAgICBjbGVhciAgICAgIDogYm90aDtcbiAgICBvdmVyZmxvdyAgIDogaGlkZGVuO1xuICAgIHZpc2liaWxpdHkgOiBoaWRkZW47XG4gIH1cbiAgQGluY2x1ZGUgaGFzLWxheW91dDtcbn1cblxuLy8gVGhpcyBpcyBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdGhlIFBJRSBjbGVhcmZpeCBtZXRob2QgdGhhdCByZWR1Y2VzIHRoZSBhbW91bnQgb2YgQ1NTIG91dHB1dC5cbi8vIElmIHlvdSBuZWVkIHRvIHN1cHBvcnQgRmlyZWZveCBiZWZvcmUgMy41IHlvdSBuZWVkIHRvIHVzZSBgbGVnYWN5LXBpZS1jbGVhcmZpeGAgaW5zdGVhZC5cbi8vXG4vLyBBZGFwdGVkIGZyb206IFtBIG5ldyBtaWNybyBjbGVhcmZpeCBoYWNrXShodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8pXG5AbWl4aW4gcGllLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICBAaW5jbHVkZSBoYXMtbGF5b3V0O1xufVxuIiwiQGltcG9ydCBcIi4uLy4uL3N1cHBvcnRcIjtcblxuLy8gVGhlIGB6b29tYCBhcHByb2FjaCBnZW5lcmF0ZXMgbGVzcyBDU1MgYnV0IGRvZXMgbm90IHZhbGlkYXRlLlxuLy8gU2V0IHRoaXMgdG8gYGJsb2NrYCB0byB1c2UgdGhlIGRpc3BsYXktcHJvcGVydHkgdG8gaGFjayB0aGVcbi8vIGVsZW1lbnQgdG8gZ2FpbiBsYXlvdXQuXG4kZGVmYXVsdC1oYXMtbGF5b3V0LWFwcHJvYWNoOiB6b29tICFkZWZhdWx0O1xuXG4vLyBUaGlzIG1peGluIGNhdXNlcyBhbiBlbGVtZW50IG1hdGNoaW5nIHRoZSBzZWxlY3RvclxuLy8gdG8gZ2FpbiB0aGUgXCJoYXNMYXlvdXRcIiBwcm9wZXJ0eSBpbiBpbnRlcm5ldCBleHBsb3Jlci5cbi8vIE1vcmUgaW5mb3JtYXRpb24gb24gW2hhc0xheW91dF0oaHR0cDovL3JlZmVyZW5jZS5zaXRlcG9pbnQuY29tL2Nzcy9oYXNsYXlvdXQpLlxuQG1peGluIGhhcy1sYXlvdXQoJGFwcHJvYWNoOiAkZGVmYXVsdC1oYXMtbGF5b3V0LWFwcHJvYWNoKSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICBAaWYgJGFwcHJvYWNoID09IHpvb20ge1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC16b29tO1xuICAgIH0gQGVsc2UgaWYgJGFwcHJvYWNoID09IGJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtYmxvY2s7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAd2FybiBcIlVua25vd24gaGFzLWxheW91dCBhcHByb2FjaDogI3skYXBwcm9hY2h9XCI7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LXpvb207XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBoYXMtbGF5b3V0LXpvb20ge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcge1xuICAgICp6b29tOiAxO1xuICB9XG59XG5cbkBtaXhpbiBoYXMtbGF5b3V0LWJsb2NrIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgIC8vIFRoaXMgbWFrZXMgaWU2IGdldCBsYXlvdXRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy8gYW5kIHRoaXMgcHV0cyBpdCBiYWNrIHRvIGJsb2NrXG4gICAgJiB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIH1cbn1cblxuLy8gQSBoYWNrIHRvIHN1cHBseSBJRTYgKGFuZCBiZWxvdykgd2l0aCBhIGRpZmZlcmVudCBwcm9wZXJ0eSB2YWx1ZS5cbi8vIFtSZWFkIG1vcmVdKGh0dHA6Ly93d3cuY3NzcG9ydGFsLmNvbS9jc3MtaGFja3MvI2luX2Nzcy1pbXBvcnRhbnQpLlxuQG1peGluIGJhbmctaGFjaygkcHJvcGVydHksICR2YWx1ZSwgJGllNi12YWx1ZSkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYge1xuICAgICN7JHByb3BlcnR5fTogI3skdmFsdWV9ICFpbXBvcnRhbnQ7XG4gICAgI3skcHJvcGVydHl9OiAjeyRpZTYtdmFsdWV9O1xuICB9XG59XG4iLCIvLyBJY29uIGZvbnRcbkBtaXhpbiBvZGFfaWNvbigkaWNvbiwgJHBzZXVkbzogZmFsc2UpIHtcblxuICBAaWYgJHBzZXVkbyB7XG4gICAgY29udGVudDogJGljb247XG4gIH1cblxuICBmb250LWZhbWlseTogb2RhX2ljb25zO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4vL0JveCBzaXppbmdcbkBtaXhpbiBib3hzaXppbmcoJGJzKSB7XG4gICRiczogdW5xdW90ZSgkYnMpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LXNpemluZywgJGJzLCAtbW96LCAtd2Via2l0LCBub3QgLW8sIG5vdCAtbXMsIG5vdCAta2h0bWwsIG9mZmljaWFsKTtcbiAgKmJlaGF2aW9yOiB1cmwoJy4uL2phdmFzY3JpcHRzL2JveHNpemluZy5odGMnKTtcbn1cblxuLy8gQmxvY2sgcmVzZXRcbkBtaXhpbiBibG9jay1yZXNldCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAwO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHRyYW5zcGFyZW50IDAgMCAwKTtcbiAgcGFkZGluZzogMDtcbn1cblxuLy8gSGVhZGxpbmVyXG5AbWl4aW4gb2RhX2hlYWRsaW5lIHtcbiAgYmFja2dyb3VuZDogJG9kYV93aGl0ZS1iZztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5jb250YWluZXIge1xuICAgICRwYWRkaW5nOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIH1cblxuICBoMSB7XG4gICAgbWFyZ2luOiAwIDAgMCBndXR0ZXIoKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cblxuICAucmlnaHQtZWxlbWVudCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IGd1dHRlcigpO1xuICAgIGxpbmUtaGVpZ2h0OiAyNTAlO1xuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgfVxufVxuXG4vLyBQYWdpbmF0b3JcbkBtaXhpbiBvZGFfcGFnaW5hdG9yIHtcblxuICBoZWlnaHQ6ICRwYWdlci1oZWlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygtMSAqICRuYXYtYnV0dG9uLXNpemUgLyAyKSArIDJweDtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjMTExO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzExMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uX3ByZXZpb3VzIHtcbiAgICAgIGxlZnQ6IGd1dHRlcigpO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uX25leHQge1xuICAgICAgcmlnaHQ6IGd1dHRlcigpO1xuICAgIH1cblxuICAgIC5wYWdlLWlucHV0IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYm9sZDtcblxuICAgICAgZm9ybSB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCByZ2JhKDAsIDAsIDAsIC4yKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqIFV0aWxzICoqL1xuLy8gVmVydGljYWwgYWxpZ25cbkBtaXhpbiB2YWxpZ24oKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbn0iLCIvLyBAZG9jIG9mZlxuLy8gVGhlc2UgZGVmYXVsdHMgbWFrZSB0aGUgYXJndW1lbnRzIG9wdGlvbmFsIGZvciB0aGlzIG1peGluXG4vLyBJZiB5b3UgbGlrZSwgc2V0IGRpZmZlcmVudCBkZWZhdWx0cyBiZWZvcmUgaW1wb3J0aW5nLlxuLy8gQGRvYyBvblxuXG5AaW1wb3J0IFwic2hhcmVkXCI7XG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zXCI7XG5cbi8vIFRoZSBkZWZhdWx0IGNvbG9yIGZvciBib3ggc2hhZG93c1xuJGRlZmF1bHQtYm94LXNoYWRvdy1jb2xvcjogIzMzMzMzMyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgaG9yaXpvbnRhbCBvZmZzZXQuIFBvc2l0aXZlIGlzIHRvIHRoZSByaWdodC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctaC1vZmZzZXQ6IDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgdmVydGljYWwgb2Zmc2V0LiBQb3NpdGl2ZSBpcyBkb3duLlxuJGRlZmF1bHQtYm94LXNoYWRvdy12LW9mZnNldDogMHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBibHVyIGxlbmd0aC5cbiRkZWZhdWx0LWJveC1zaGFkb3ctYmx1cjogNXB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBzcHJlYWQgbGVuZ3RoLlxuJGRlZmF1bHQtYm94LXNoYWRvdy1zcHJlYWQgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgc2hhZG93IGluc2V0OiBpbnNldCBvciBmYWxzZSAoZm9yIHN0YW5kYXJkIHNoYWRvdykuXG4kZGVmYXVsdC1ib3gtc2hhZG93LWluc2V0IDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgZm9yIFdlYmtpdCwgR2Vja28sIGFuZCBDU1MzIGJveCBzaGFkb3dzIHdoZW4gb25lIG9yIG1vcmUgYm94XG4vLyBzaGFkb3dzIGFyZSBuZWVkZWQuXG4vLyBFYWNoIHNoYWRvdyBhcmd1bWVudCBzaG91bGQgYWRoZXJlIHRvIHRoZSBzdGFuZGFyZCBjc3MzIHN5bnRheCBmb3IgdGhlXG4vLyBib3gtc2hhZG93IHByb3BlcnR5LlxuQG1peGluIGJveC1zaGFkb3coXG4gICRzaGFkb3ctMSA6IGRlZmF1bHQsXG4gICRzaGFkb3ctMiA6IGZhbHNlLFxuICAkc2hhZG93LTMgOiBmYWxzZSxcbiAgJHNoYWRvdy00IDogZmFsc2UsXG4gICRzaGFkb3ctNSA6IGZhbHNlLFxuICAkc2hhZG93LTYgOiBmYWxzZSxcbiAgJHNoYWRvdy03IDogZmFsc2UsXG4gICRzaGFkb3ctOCA6IGZhbHNlLFxuICAkc2hhZG93LTkgOiBmYWxzZSxcbiAgJHNoYWRvdy0xMDogZmFsc2Vcbikge1xuICBAaWYgJHNoYWRvdy0xID09IGRlZmF1bHQge1xuICAgICRzaGFkb3ctMSA6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdChpZigkZGVmYXVsdC1ib3gtc2hhZG93LWluc2V0LCBpbnNldCwgZmFsc2UpLCAkZGVmYXVsdC1ib3gtc2hhZG93LWgtb2Zmc2V0LCAkZGVmYXVsdC1ib3gtc2hhZG93LXYtb2Zmc2V0LCAkZGVmYXVsdC1ib3gtc2hhZG93LWJsdXIsICRkZWZhdWx0LWJveC1zaGFkb3ctc3ByZWFkLCAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yKSk7XG4gIH1cbiAgJHNoYWRvdyA6IGNvbXBhY3QoJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtc2hhZG93LCAkc2hhZG93LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gUHJvdmlkZXMgYSBzaW5nbGUgY3Jvc3MtYnJvd3NlciBDU1MgYm94IHNoYWRvdyBmb3IgV2Via2l0LCBHZWNrbywgYW5kIENTUzMuXG4vLyBJbmNsdWRlcyBkZWZhdWx0IGFyZ3VtZW50cyBmb3IgaG9yaXpvbnRhbCBvZmZzZXQsIHZlcnRpY2FsIG9mZnNldCwgYmx1ciBsZW5ndGgsIHNwcmVhZCBsZW5ndGgsIGNvbG9yIGFuZCBpbnNldC5cbkBtaXhpbiBzaW5nbGUtYm94LXNoYWRvdyhcbiAgJGhvZmYgICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctaC1vZmZzZXQsXG4gICR2b2ZmICAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LXYtb2Zmc2V0LFxuICAkYmx1ciAgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyLFxuICAkc3ByZWFkIDogJGRlZmF1bHQtYm94LXNoYWRvdy1zcHJlYWQsXG4gICRjb2xvciAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yLFxuICAkaW5zZXQgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1pbnNldFxuKSB7XG4gIEBpZiBub3QgKCRpbnNldCA9PSB0cnVlIG9yICRpbnNldCA9PSBmYWxzZSBvciAkaW5zZXQgPT0gaW5zZXQpIHtcbiAgICBAd2FybiBcIiRpbnNldCBleHBlY3RlZCB0byBiZSB0cnVlIG9yIHRoZSBpbnNldCBrZXl3b3JkLiBHb3QgI3skaW5zZXR9IGluc3RlYWQuIFVzaW5nOiBpbnNldFwiO1xuICB9XG5cbiAgQGlmICRjb2xvciA9PSBub25lIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9IEBlbHNlIHtcbiAgICAkZnVsbCAgIDogJGhvZmYgJHZvZmY7XG4gICAgQGlmICRibHVyICAgeyAkZnVsbDogJGZ1bGwgJGJsdXI7ICAgfVxuICAgIEBpZiAkc3ByZWFkIHsgJGZ1bGw6ICRmdWxsICRzcHJlYWQ7IH1cbiAgICBAaWYgJGNvbG9yICB7ICRmdWxsOiAkZnVsbCAkY29sb3I7ICB9XG4gICAgQGlmICRpbnNldCAgeyAkZnVsbDogaW5zZXQgJGZ1bGw7ICAgfVxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZ1bGwpO1xuICB9XG59XG4iLCIub2RhLWhlYWRlciB7XG4gICRoZWlnaHQ6IDcwcHg7XG4vLyAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM0QTU3Njc7XG4vLyAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC41KTtcbi8vICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNXB4IDZweCByZ2JhKDAsIDAsIDAsIC45NSkpO1xuXG4gIC5jb250YWluZXIge1xuICAgICRwYWRkaW5nOiAyMHB4O1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nIGd1dHRlcigpO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgYmFja2dyb3VuZDogJG9kYV93aGl0ZS1iZztcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLmxvZ28ge1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgbmF2IHtcbiAgICAvL2JhY2tncm91bmQ6IHRvbWF0bztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG5cbiAgICB1bC5uYXZpZ2F0aW9uIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9kYV9kYXJrX2JsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8gICAgICAgICAgQGluY2x1ZGUgb2RhX2ljb24oJ3MnKTtcbi8vICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgICAgICAgIHRvcDogNHB4O1xuXG4gICAgICAgICAgYSB7XG4vLyAgICAgICAgICAgIGNvbG9yOiAkb2RhX2RhcmtfYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY3RpdmUgbWFpbiBtZW51IGl0ZW1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICRzaXplOiA0MnB4O1xuXG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL29kYS9pbWcvYm9va21hcmsuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgICAgICAvL3dpZHRoOiA1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogLSRzaXplIC0gMTBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2RhX2RhcmtfYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaCB7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDdweDtcbiAgICBmb250LXNpemU6IDEuNDVyZW07XG4gICAgcmlnaHQ6IGd1dHRlcigpO1xuICAgIEBpbmNsdWRlIG9kYV9pY29uKCdzJywgZmFsc2UpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRvcDogNDhweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMTExO1xuICAgIH1cbiAgfVxufVxuXG4vLyBFeGhpYml0cyBoZWFkZXJcbmJvZHkuZXhoaWJpdHMge1xuICAub2RhLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vb2RhL2ltZy9oZWFkZXItYmctOG8ucG5nXCIpIG5vLXJlcGVhdCByaWdodCBjZW50ZXIsICRvZGFfd2hpdGUtYmc7XG4gIH1cbn0iLCIvKiBPREEgdGhlbWUncyBmb290ZXIgc3R5bGVzICovXG5cbi5vZGEtZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuODApO1xuICBjb2xvcjogJG9kYV93aGl0ZS10ZXh0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzIwMjAyMDtcblxuICAuY29udGFpbmVyIHtcbiAgICAkbWFyZ2luOiAxNXB4O1xuICAgIG1hcmdpbjogJG1hcmdpbiBndXR0ZXIoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICRpY29uLWhlaWdodDogMzVweDtcbiAgICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG5cbiAgICAgIHAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGljb24taGVpZ2h0ICsgMTVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIC5mb290ZXItb2RhLWljb24ge1xuICAgICAgICAgIGhlaWdodDogJGljb24taGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiAkaWNvbi1oZWlnaHQgLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkb2RhX2hvdmVyX2RhcmtfYmx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhLnBvZXRyeSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogNCAqIGd1dHRlcigpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRvZGFfZGVza3RvcF9icmVha3BvaW50KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAubW1sYyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAkaWNvbi1oZWlnaHQ6IDI1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBndXR0ZXIoKTtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuXG4gICAgICBpbWcge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBoZWlnaHQ6ICRpY29uLWhlaWdodDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4vLyAgICAgICAgbWFyZ2luLXRvcDogLSRpY29uLWhlaWdodCAvIDI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAuMnM7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBsYWJlbCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJvbGRlcjtcbiAgZm9udC1zaXplOiAuNzVyZW07XG59XG5cbi8vIFNlYXJjaCBib3hcbi5zZWFyY2gtbGlnaHRib3gge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYmcvYmFja2dyb3VuZC0xMDAucG5nXCIpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDI0cHgpO1xufVxuXG4jc2VhcmNoLWNvbnRhaW5lciwgLmVycm9yLTQwNCAuc2VhcmNoLTQwNCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiBndXR0ZXIoKTtcblxuICAuaGVhZGVyIHtcbiAgICBmb250LXNpemU6ICRvZGFfaDM7XG4gICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYmxhY2s7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIGhyLmRvdHRlZCB7XG4gICAgbWFyZ2luOiBndXR0ZXIoKSAwIDEqZ3V0dGVyKCkgMDtcbiAgfVxuXG4gIC5xdWVyeS1sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICNzZWFyY2gtZm9ybSB7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgaW5wdXQjcXVlcnkge1xuICAgICAgJHNpemU6IDUwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMjApO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG5cbiAgICAjYWR2YW5jZWQtZm9ybSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBtYXJnaW46IDQwcHggMCA1MHB4IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBmaWVsZHNldCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0NCU7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAgICAgICAmOmxhc3QtY2hpbGQgeyBmbG9hdDogcmlnaHQ7IH1cblxuICAgICAgICBwe1xuICAgICAgICAgIEBpbmNsdWRlIGxhYmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3F1ZXJ5LXR5cGVzIHtcblxuICAgICAgICBwIHt9XG5cbiAgICAgICAgbGFiZWwge1xuXG4gICAgICAgICAgaW5wdXQge31cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAjcmVjb3JkLXR5cGVzIHtcbiAgICAgICAgZm9udC1zaXplOiAuODVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI3N1Ym1pdF9zZWFyY2gge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byAxNXB4IGF1dG87XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIHBhZGRpbmc6IDhweCAzMHB4O1xuICAgIH1cblxuICAgIC5hZHYtc2VhcmNoLWxpbmsge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJvbGRlcjtcbiAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogIzExMTtcbiAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbiIsIi8qKiBTb3J0aW5nIGluIGhlYWRsaW5lcyAqKi9cbiNzb3J0LWxpbmtzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYuc29ydGluZyB7XG4gICAgICAkb2Zmc2V0OiA0cHg7XG4gICAgICBmb250LXdlaWdodDogJG9kYV9mb250LXdlaWdodC1ib2xkZXI7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAmLmFzYyB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBvZGFfaWNvbignXFxmMTA0JywgdHJ1ZSk7XG4gICAgICAgICAgYm90dG9tOiAtJG9mZnNldDsgfVxuICAgICAgfVxuXG4gICAgICAmLmRlc2Mge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2RhX2ljb24oJ1xcZjEwZCcsIHRydWUpO1xuICAgICAgICAgIHRvcDogLSRvZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjMTExO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMxMTE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKiBQYWdpbmF0aW9uICoqL1xuLnBhZ2luYXRpb24tbmF2IHtcbiAgaGVpZ2h0OiAkcGFnZXItaGVpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnBhZ2luYXRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiAkbmF2LWJ1dHRvbi1zaXplIC8gMikgKyAycHg7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogIzExMTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMxMTE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbl9wcmV2aW91cyB7XG4gICAgICBsZWZ0OiBndXR0ZXIoKTtcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbl9uZXh0IHtcbiAgICAgIHJpZ2h0OiBndXR0ZXIoKTtcbiAgICB9XG5cbiAgICAucGFnZS1pbnB1dCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJvbGQ7XG5cbiAgICAgIGZvcm0ge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAuMik7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqIEhvbWVwYWdlIHN0eWxlcyAqKi9cbiNob21lIHtcbiAgI2NvbnRlbnQge1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC8vIEZlYXR1cmluZyBibG9ja1xuICAgIC5mZWF0dXJpbmcge1xuICAgICAgJGhlaWdodDogMTcwcHg7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAmLmJsdWUgeyBiYWNrZ3JvdW5kOiByZ2JhKCRvZGFfZGFya19ibHVlLCAuMTApOyB9XG4gICAgICAmLnJlZCB7IGJhY2tncm91bmQ6IHJnYmEoJG9kYV9yZWQsIC4xMCk7IH1cbiAgICAgICYueWVsbG93IHsgYmFja2dyb3VuZDogcmdiYSgkb2RhX3llbGxvdywgLjEwKTsgfVxuXG4gICAgICAuc2xpZGVzaG93LWNvbnRhaW5lciB7XG4gICAgICAgICRzaXplOiA0NTBweDtcbiAgICAgICAgJHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICRpbWFnZS13aWR0aDogMTAwcHg7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgLnNsaWNrLWxpc3Qge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMyAqIGd1dHRlcigpO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgIC50aGluZyB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgJHNpemU6IDQ2MHB4O1xuICAgICAgICAgICAgJHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAkaW1hZ2Utd2lkdGg6IDEwMHB4O1xuXG4gICAgICAgICAgICAuY2lyY2xlIHtcbiAgICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43NSk7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCgkaGVpZ2h0IC0gJHNpemUpIC8gMik7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjMwKTtcblxuICAgICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRpbWFnZS13aWR0aDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGltYWdlLXdpZHRoICsgJHBhZGRpbmcgKiAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblxuICAgICAgICAgICAgICAgIC50aXRsZSwgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICMyMjI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjUwcmVtO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG9kYV9mb250LXdlaWdodC1ib2xkZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEwcmVtO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG9kYV9mb250LXdlaWdodC1ub3JtYWw7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAkcG4tc2l6ZTogMjVweDtcbiAgICAgICAgLnNsaWNrLXByZXYsIC5zbGljay1uZXh0IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRvZGFfd2hpdGUtYmc7XG4gICAgICAgICAgd2lkdGg6ICRwbi1zaXplO1xuICAgICAgICAgIGhlaWdodDogJHBuLXNpemU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICRwbi1zaXplO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgICBsZWZ0OiBndXR0ZXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgICByaWdodDogZ3V0dGVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgJGRvdC1zaXplOiA4cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiBndXR0ZXIoKTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICB3aWR0aDogJGRvdC1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkZG90LXNpemU7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjQwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG9kYV9kYXJrX2JsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkb2RhX2Rlc2t0b3BfYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgJGRvdC1zaXplOiAxMHB4O1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAkZG90LXNpemU7XG4gICAgICAgICAgICAgIGhlaWdodDogJGRvdC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgJi5mZWF0dXJlZC1leGhpYml0cywgJi5mZWF0dXJlZC1pdGVtcyB7XG4gICAgICAgICAgLnNsaWNrLWxpc3QgLnRoaW5nIC5jaXJjbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNSk7XG5cbiAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IC0kcGFkZGluZztcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMTAlO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAuNTU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzICogJHBhZGRpbmc7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMgKiAkcGFkZGluZztcbiAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAxKTtcblxuICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43MHJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbi8vICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIC0xcHggMCAjMTExO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMzUlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5mZWF0dXJlZC1leGhpYml0cyB7XG4gICAgICAgICAgLnNsaWNrLWxpc3QgLnRoaW5nIC5jaXJjbGUge1xuXG4gICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmaWx0ZXIoZ3JheXNjYWxlKDEwMCUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRvZ2dsZS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgZ3V0dGVyKCkgMCAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGd1dHRlcigpO1xuICAgICAgICB3aWR0aDogMjQwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU0LCA4OSwgMTI5LCAuMzUpO1xuLy8gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuXG4gICAgICAgIHVsLnRvZ2dsZXItbGlzdCB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYmxhY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjgwJTtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICBjb2xvcjogJG9kYV9kYXJrX2JsdWU7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBhLCBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9kYV9kYXJrX2JsdWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvZGFfaWNvbignXFxmMmZjJywgdHJ1ZSk7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhLCBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMyMjI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaHIuZG90dGVkLnZlcnRpY2FsIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEZlYXR1cmluZyBhcmVhIGRlc2t0b3AgbWVkaWEgcXVlcnlcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG9kYV9kZXNrdG9wX2JyZWFrcG9pbnQpIHtcbiAgICAgICAgJGhlaWdodDogMjAwcHg7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcblxuICAgICAgICAuc2xpZGVzaG93LWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAuc2xpY2stbGlzdCB7XG5cbiAgICAgICAgICAgIC50aGluZyB7XG4gICAgICAgICAgICAgICRzaXplOiA1NTBweDtcbiAgICAgICAgICAgICAgJHBhZGRpbmc6IDMwcHg7XG4gICAgICAgICAgICAgICRpbWFnZS13aWR0aDogMTE1cHg7XG5cbiAgICAgICAgICAgICAgLmNpcmNsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYygoJGhlaWdodCAtICRzaXplKSAvIDIpO1xuXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6ICRpbWFnZS13aWR0aDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbWFnZS13aWR0aCArICRwYWRkaW5nICogMjtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuXG4gICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjQwcmVtO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zbGljay1wcmV2LCAuc2xpY2stbmV4dCB7fVxuXG4gICAgICAgICAgJi5mZWF0dXJlZC1leGhpYml0cywgJi5mZWF0dXJlZC1pdGVtcyB7XG4gICAgICAgICAgICAuc2xpY2stbGlzdCAudGhpbmcgLmNpcmNsZSAudGV4dCB7XG5cbiAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjQwcmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRvZ2dsZS1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiAzMDBweDtcblxuICAgICAgICAgIHVsLnRvZ2dsZXItbGlzdCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWFpbiBibG9ja1xuICAgIC5tYWluIHtcbiAgICAgIHBhZGRpbmc6IDIgKiBndXR0ZXIoKSBndXR0ZXIoKTtcbiAgICAgIGJhY2tncm91bmQ6ICRvZGFfZGFya19ibHVlO1xuXG4gICAgICAub2RhLWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLy9mbG9hdDogbGVmdDtcbiAgICAgICAgLy9tYXJnaW4tcmlnaHQ6IDIuNWVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAyLjVlbSBhdXRvO1xuICAgICAgICB3aWR0aDogMi41ZW07XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIC5ob21lLXRleHQge1xuICAgICAgICBjb2xvcjogd2hpdGVzbW9rZTtcbiAgICAgICAgd2lkdGg6IDY2JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYxO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIC4zMyk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkb2RhX2Rlc2t0b3BfYnJlYWtwb2ludCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zMGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMy5ob21lLXVwZGF0ZXMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogJG9kYV93aGl0ZS1iZztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEycHggZ3V0dGVyKCk7XG4gICAgfVxuXG4gICAgLy8gSG9tZXBhZ2UgY29udGVudFxuICAgIC5ob21lcGFnZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IGd1dHRlcigpIDA7XG4vLyAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgICAgLnR3aXR0ZXItZmVlZC13cmFwIHtcbiAgICAgICAgICAvL2JhY2tncm91bmQ6IGZpcmVicmljaztcbiAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBndXR0ZXIoKTtcblxuICAgICAgICAgIC5kb3R0ZWQudmVydGljYWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNwaW5uZXIge1xuICAgICAgICAgICAgLy8gICAgICAgICAgJHNpemU6IDgwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAvLyAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgLy8gICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIC8vICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICAgIC8vICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIC8vICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJsYWNrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblxuICAgICAgICAgICAgbGkuZG90IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihsb2FkaW5nIDEuNHMgaW5maW5pdGUgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24tZmlsbC1tb2RlKGJvdGgpO1xuXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHsgQGluY2x1ZGUgYW5pbWF0aW9uLWRlbGF5KC0wLjQ4cyk7IH1cbiAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikgeyBAaW5jbHVkZSBhbmltYXRpb24tZGVsYXkoLTAuMzJzKTsgfVxuICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7IEBpbmNsdWRlIGFuaW1hdGlvbi1kZWxheSgtMC4xNnMpOyB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnbG9hZGluZyc7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICBmb250LXNpemU6IC41NXJlbTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYmxhY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBUd2l0dGVyIGZlZWRcbiAgICAgICAgICAudHdpdHRlci1mZWVkLWxpc3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgLnR3aXR0ZXItdGltZWxpbmUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgICAgIGNvbG9yOiAjMTgxODE4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mZWF0dXJlZC1jb250ZW50LXdyYXAge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGd1dHRlcigpO1xuXG4gICAgICAgICAgLmRvdHRlZC52ZXJ0aWNhbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5mZWF0dXJlZC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGd1dHRlcigpIDAgZ3V0dGVyKCkgZ3V0dGVyKCk7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzICogZ3V0dGVyKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mZWF0dXJlZC1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmVhdHVyZWQtdGV4dCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGd1dHRlcigpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAuMjUpO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBndXR0ZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW1nLmRvb3Ige1xuICAgICAgICAkc2l6ZTogMjAwcHg7XG5cbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiBjYWxjKC0xICogJHNpemUgLyAyKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiAkc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcbkBpbXBvcnQgXCIuLi9mdW5jdGlvbnNcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBzdXBwb3J0IGZvciB0aGUgdXBjb21pbmcgKD8pIGNzczMgZmlsdGVyIHByb3BlcnR5LlxuLy9cbi8vIEVhY2ggZmlsdGVyIGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIGZpbHRlciBwcm9wZXJ0eS5cbkBtaXhpbiBmaWx0ZXIgKFxuICAkZmlsdGVyLTEsXG4gICRmaWx0ZXItMiA6IGZhbHNlLFxuICAkZmlsdGVyLTMgOiBmYWxzZSxcbiAgJGZpbHRlci00IDogZmFsc2UsXG4gICRmaWx0ZXItNSA6IGZhbHNlLFxuICAkZmlsdGVyLTYgOiBmYWxzZSxcbiAgJGZpbHRlci03IDogZmFsc2UsXG4gICRmaWx0ZXItOCA6IGZhbHNlLFxuICAkZmlsdGVyLTkgOiBmYWxzZSxcbiAgJGZpbHRlci0xMDogZmFsc2Vcbikge1xuICAkZmlsdGVyIDogY29tcGFjdCgkZmlsdGVyLTEsICRmaWx0ZXItMiwgJGZpbHRlci0zLCAkZmlsdGVyLTQsICRmaWx0ZXItNSwgJGZpbHRlci02LCAkZmlsdGVyLTcsICRmaWx0ZXItOCwgJGZpbHRlci05LCAkZmlsdGVyLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGZpbHRlciwgJGZpbHRlcixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENTUyBBbmltYXRpb25zLlxuXG4vLyBBcHBseSBhbiBhbmltYXRpb24gcHJvcGVydHkgYW5kIHZhbHVlIHdpdGggdGhlIGNvcnJlY3QgYnJvd3NlciBzdXBwb3J0XG5AbWl4aW4gYW5pbWF0aW9uLXN1cHBvcnQoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLCAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QgLWtodG1sLCBvZmZpY2lhbCk7IH1cblxuLy8gTmFtZSBvZiBhbnkgYW5pbWF0aW9uIGFzIGEgc3RyaW5nLlxuJGRlZmF1bHQtYW5pbWF0aW9uLW5hbWUgICAgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRHVyYXRpb24gb2YgdGhlIGVudGlyZSBhbmltYXRpb24gaW4gc2Vjb25kcy5cbiRkZWZhdWx0LWFuaW1hdGlvbi1kdXJhdGlvbiAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERlbGF5IGZvciBzdGFydCBvZiBhbmltYXRpb24gaW4gc2Vjb25kcy5cbiRkZWZhdWx0LWFuaW1hdGlvbi1kZWxheSAgICAgICAgICAgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSB0aW1pbmcgZnVuY3Rpb24ocykgdG8gYmUgdXNlZCBiZXR3ZWVuIGtleWZyYW1lcy4gW2Vhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigkbnVtYmVyLCAkbnVtYmVyLCAkbnVtYmVyLCAkbnVtYmVyKV1cbiRkZWZhdWx0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRoZSBudW1iZXIgb2YgdGltZXMgYW4gYW5pbWF0aW9uIGN5Y2xlIGlzIHBsYXllZC4gW2luZmluaXRlIHwgJG51bWJlcl1cbiRkZWZhdWx0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQgIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdoZXRoZXIgb3Igbm90IHRoZSBhbmltYXRpb24gc2hvdWxkIHBsYXkgaW4gcmV2ZXJzZSBvbiBhbHRlcm5hdGUgY3ljbGVzLiBbbm9ybWFsIHwgYWx0ZXJuYXRlXVxuJGRlZmF1bHQtYW5pbWF0aW9uLWRpcmVjdGlvbiAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2hhdCB2YWx1ZXMgYXJlIGFwcGxpZWQgYnkgdGhlIGFuaW1hdGlvbiBvdXRzaWRlIHRoZSB0aW1lIGl0IGlzIGV4ZWN1dGluZy4gW25vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhdXG4kZGVmYXVsdC1hbmltYXRpb24tZmlsbC1tb2RlICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXaGV0aGVyIHRoZSBhbmltYXRpb24gaXMgcnVubmluZyBvciBwYXVzZWQuIFtydW5uaW5nIHwgcGF1c2VkXVxuJGRlZmF1bHQtYW5pbWF0aW9uLXBsYXktc3RhdGUgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQ3JlYXRlIGEgbmFtZWQgYW5pbWF0aW9uIHNlcXVlbmNlIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gZWxlbWVudHMgbGF0ZXIuXG4vL1xuLy8gICAgICRuYW1lICAgIC0gVGhlIG5hbWUgb2YgeW91ciBhbmltYXRpb24uXG4vLyAgICAgQGNvbnRlbnQgLSBUaGUga2V5ZnJhbWVzIG9mIHRoZSBhbmltYXRpb24uXG5AbWl4aW4ga2V5ZnJhbWVzKFxuICAkbmFtZSxcbiAgJG1vejogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG86ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtczogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsOiB0cnVlXG4pIHtcbiAgQGlmICRtb3oge1xuICAgIEBpbmNsdWRlIHdpdGgtb25seS1zdXBwb3J0LWZvcigkbW96OiB0cnVlKSB7XG4gICAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuICAgIH1cbiAgfVxuICBAaWYgJHdlYmtpdCB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCR3ZWJraXQ6IHRydWUpIHtcbiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG4gICAgfVxuICB9XG4gIEBpZiAkbyB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRvOiB0cnVlKSB7XG4gICAgICBALW8ta2V5ZnJhbWVzICN7JG5hbWV9IHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gIH1cbiAgQGlmICRtcyB7XG4gICAgQGluY2x1ZGUgd2l0aC1vbmx5LXN1cHBvcnQtZm9yKCRtczogdHJ1ZSkge1xuICAgICAgQC1tcy1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuICAgIH1cbiAgfVxuICBAaWYgJGtodG1sIHtcbiAgICBAaW5jbHVkZSB3aXRoLW9ubHktc3VwcG9ydC1mb3IoJGtodG1sOiB0cnVlKSB7XG4gICAgICBALWtodG1sLWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG4gICAgfVxuICB9XG4gIEBpZiAkb2ZmaWNpYWwge1xuICAgIEBpbmNsdWRlIHdpdGgtb25seS1zdXBwb3J0LWZvciB7XG4gICAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gbmFtZXMuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWUtMTogJGRlZmF1bHQtYW5pbWF0aW9uLW5hbWUsICRuYW1lLTI6IGZhbHNlLCAkbmFtZS0zOiBmYWxzZSwgJG5hbWUtNDogZmFsc2UsICRuYW1lLTU6IGZhbHNlLCAkbmFtZS02OiBmYWxzZSwgJG5hbWUtNzogZmFsc2UsICRuYW1lLTg6IGZhbHNlLCAkbmFtZS05OiBmYWxzZSwgJG5hbWUtMTA6IGZhbHNlKSB7XG4gICRuYW1lOiBjb21wYWN0KCRuYW1lLTEsICRuYW1lLTIsICRuYW1lLTMsICRuYW1lLTQsICRuYW1lLTUsICRuYW1lLTYsICRuYW1lLTcsICRuYW1lLTgsICRuYW1lLTksICRuYW1lLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLW5hbWUsICRuYW1lKTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBkdXJhdGlvbnMuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi0xOiAkZGVmYXVsdC1hbmltYXRpb24tZHVyYXRpb24sICRkdXJhdGlvbi0yOiBmYWxzZSwgJGR1cmF0aW9uLTM6IGZhbHNlLCAkZHVyYXRpb24tNDogZmFsc2UsICRkdXJhdGlvbi01OiBmYWxzZSwgJGR1cmF0aW9uLTY6IGZhbHNlLCAkZHVyYXRpb24tNzogZmFsc2UsICRkdXJhdGlvbi04OiBmYWxzZSwgJGR1cmF0aW9uLTk6IGZhbHNlLCAkZHVyYXRpb24tMTA6IGZhbHNlKSB7XG4gICRkdXJhdGlvbjogY29tcGFjdCgkZHVyYXRpb24tMSwgJGR1cmF0aW9uLTIsICRkdXJhdGlvbi0zLCAkZHVyYXRpb24tNCwgJGR1cmF0aW9uLTUsICRkdXJhdGlvbi02LCAkZHVyYXRpb24tNywgJGR1cmF0aW9uLTgsICRkdXJhdGlvbi05LCAkZHVyYXRpb24tMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZHVyYXRpb24sICRkdXJhdGlvbik7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gZGVsYXlzLlxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXktMTogJGRlZmF1bHQtYW5pbWF0aW9uLWRlbGF5LCAkZGVsYXktMjogZmFsc2UsICRkZWxheS0zOiBmYWxzZSwgJGRlbGF5LTQ6IGZhbHNlLCAkZGVsYXktNTogZmFsc2UsICRkZWxheS02OiBmYWxzZSwgJGRlbGF5LTc6IGZhbHNlLCAkZGVsYXktODogZmFsc2UsICRkZWxheS05OiBmYWxzZSwgJGRlbGF5LTEwOiBmYWxzZSkge1xuICAkZGVsYXk6IGNvbXBhY3QoJGRlbGF5LTEsICRkZWxheS0yLCAkZGVsYXktMywgJGRlbGF5LTQsICRkZWxheS01LCAkZGVsYXktNiwgJGRlbGF5LTcsICRkZWxheS04LCAkZGVsYXktOSwgJGRlbGF5LTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLWRlbGF5LCAkZGVsYXkpOyB9XG5cbi8vIEFwcGx5IDEtMTAgYW5pbWF0aW9uIHRpbWluZyBmdW5jdGlvbnMuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24tMTogJGRlZmF1bHQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJGZ1bmN0aW9uLTI6IGZhbHNlLCAkZnVuY3Rpb24tMzogZmFsc2UsICRmdW5jdGlvbi00OiBmYWxzZSwgJGZ1bmN0aW9uLTU6IGZhbHNlLCAkZnVuY3Rpb24tNjogZmFsc2UsICRmdW5jdGlvbi03OiBmYWxzZSwgJGZ1bmN0aW9uLTg6IGZhbHNlLCAkZnVuY3Rpb24tOTogZmFsc2UsICRmdW5jdGlvbi0xMDogZmFsc2UpIHtcbiAgJGZ1bmN0aW9uOiBjb21wYWN0KCRmdW5jdGlvbi0xLCAkZnVuY3Rpb24tMiwgJGZ1bmN0aW9uLTMsICRmdW5jdGlvbi00LCAkZnVuY3Rpb24tNSwgJGZ1bmN0aW9uLTYsICRmdW5jdGlvbi03LCAkZnVuY3Rpb24tOCwgJGZ1bmN0aW9uLTksICRmdW5jdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbi1zdXBwb3J0KGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRmdW5jdGlvbik7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gaXRlcmF0aW9uIGNvdW50cy5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRjb3VudC0xOiAkZGVmYXVsdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkY291bnQtMjogZmFsc2UsICRjb3VudC0zOiBmYWxzZSwgJGNvdW50LTQ6IGZhbHNlLCAkY291bnQtNTogZmFsc2UsICRjb3VudC02OiBmYWxzZSwgJGNvdW50LTc6IGZhbHNlLCAkY291bnQtODogZmFsc2UsICRjb3VudC05OiBmYWxzZSwgJGNvdW50LTEwOiBmYWxzZSkge1xuICAkY291bnQ6IGNvbXBhY3QoJGNvdW50LTEsICRjb3VudC0yLCAkY291bnQtMywgJGNvdW50LTQsICRjb3VudC01LCAkY291bnQtNiwgJGNvdW50LTcsICRjb3VudC04LCAkY291bnQtOSwgJGNvdW50LTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJGNvdW50KTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBkaXJlY3Rpb25zLlxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbi0xOiAkZGVmYXVsdC1hbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9uLTI6IGZhbHNlLCAkZGlyZWN0aW9uLTM6IGZhbHNlLCAkZGlyZWN0aW9uLTQ6IGZhbHNlLCAkZGlyZWN0aW9uLTU6IGZhbHNlLCAkZGlyZWN0aW9uLTY6IGZhbHNlLCAkZGlyZWN0aW9uLTc6IGZhbHNlLCAkZGlyZWN0aW9uLTg6IGZhbHNlLCAkZGlyZWN0aW9uLTk6IGZhbHNlLCAkZGlyZWN0aW9uLTEwOiBmYWxzZSkge1xuICAkZGlyZWN0aW9uOiBjb21wYWN0KCRkaXJlY3Rpb24tMSwgJGRpcmVjdGlvbi0yLCAkZGlyZWN0aW9uLTMsICRkaXJlY3Rpb24tNCwgJGRpcmVjdGlvbi01LCAkZGlyZWN0aW9uLTYsICRkaXJlY3Rpb24tNywgJGRpcmVjdGlvbi04LCAkZGlyZWN0aW9uLTksICRkaXJlY3Rpb24tMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9uKTsgfVxuXG4vLyBBcHBseSAxLTEwIGFuaW1hdGlvbiBmaWxsIG1vZGVzLlxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJG1vZGUtMTogJGRlZmF1bHQtYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGUtMjogZmFsc2UsICRtb2RlLTM6IGZhbHNlLCAkbW9kZS00OiBmYWxzZSwgJG1vZGUtNTogZmFsc2UsICRtb2RlLTY6IGZhbHNlLCAkbW9kZS03OiBmYWxzZSwgJG1vZGUtODogZmFsc2UsICRtb2RlLTk6IGZhbHNlLCAkbW9kZS0xMDogZmFsc2UpIHtcbiAgJG1vZGU6IGNvbXBhY3QoJG1vZGUtMSwgJG1vZGUtMiwgJG1vZGUtMywgJG1vZGUtNCwgJG1vZGUtNSwgJG1vZGUtNiwgJG1vZGUtNywgJG1vZGUtOCwgJG1vZGUtOSwgJG1vZGUtMTApO1xuICBAaW5jbHVkZSBhbmltYXRpb24tc3VwcG9ydChhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZSk7IH1cblxuLy8gQXBwbHkgMS0xMCBhbmltYXRpb24gcGxheSBzdGF0ZXMuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUoJHN0YXRlLTE6ICRkZWZhdWx0LWFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGUtMjogZmFsc2UsICRzdGF0ZS0zOiBmYWxzZSwgJHN0YXRlLTQ6IGZhbHNlLCAkc3RhdGUtNTogZmFsc2UsICRzdGF0ZS02OiBmYWxzZSwgJHN0YXRlLTc6IGZhbHNlLCAkc3RhdGUtODogZmFsc2UsICRzdGF0ZS05OiBmYWxzZSwgJHN0YXRlLTEwOiBmYWxzZSkge1xuICAkc3RhdGU6IGNvbXBhY3QoJHN0YXRlLTEsICRzdGF0ZS0yLCAkc3RhdGUtMywgJHN0YXRlLTQsICRzdGF0ZS01LCAkc3RhdGUtNiwgJHN0YXRlLTcsICRzdGF0ZS04LCAkc3RhdGUtOSwgJHN0YXRlLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZSk7IH1cblxuLy8gU2hvcnRjdXQgdG8gYXBwbHkgYSBuYW1lZCBhbmltYXRpb24gdG8gYW4gZWxlbWVudCwgd2l0aCBhbGwgdGhlIHNldHRpbmdzLlxuLy9cbi8vICAgICAkYW5pbWF0aW9uLTEgICA6IE5hbWUgYW5kIHNldHRpbmdzIGZvciB0aGUgZmlyc3QgYW5pbWF0aW9uLiBbPHZhbHVlcz4gfCBkZWZhdWx0XVxuLy8gICAgIC4uLlxuLy8gICAgICRhbmltYXRpb24tMTAgIDogTmFtZSBhbmQgc2V0dGluZ3MgZm9yIHRoZSB0ZW50aCBhbmltYXRpb24uIDx2YWx1ZXM+XG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24tMTogZGVmYXVsdCwgJGFuaW1hdGlvbi0yOiBmYWxzZSwgJGFuaW1hdGlvbi0zOiBmYWxzZSwgJGFuaW1hdGlvbi00OiBmYWxzZSwgJGFuaW1hdGlvbi01OiBmYWxzZSwgJGFuaW1hdGlvbi02OiBmYWxzZSwgJGFuaW1hdGlvbi03OiBmYWxzZSwgJGFuaW1hdGlvbi04OiBmYWxzZSwgJGFuaW1hdGlvbi05OiBmYWxzZSwgJGFuaW1hdGlvbi0xMDogZmFsc2UpIHtcbiAgQGlmICRhbmltYXRpb24tMSA9PSBkZWZhdWx0IHtcbiAgICAkYW5pbWF0aW9uLTE6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdCgkZGVmYXVsdC1hbmltYXRpb24tbmFtZSwgJGRlZmF1bHQtYW5pbWF0aW9uLWR1cmF0aW9uLCAkZGVmYXVsdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZGVmYXVsdC1hbmltYXRpb24tZGVsYXksICRkZWZhdWx0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsICRkZWZhdWx0LWFuaW1hdGlvbi1kaXJlY3Rpb24sICRkZWZhdWx0LWFuaW1hdGlvbi1maWxsLW1vZGUsICRkZWZhdWx0LWFuaW1hdGlvbi1wbGF5LXN0YXRlKSk7IH1cbiAgJGFuaW1hdGlvbjogY29tcGFjdCgkYW5pbWF0aW9uLTEsICRhbmltYXRpb24tMiwgJGFuaW1hdGlvbi0zLCAkYW5pbWF0aW9uLTQsICRhbmltYXRpb24tNSwgJGFuaW1hdGlvbi02LCAkYW5pbWF0aW9uLTcsICRhbmltYXRpb24tOCwgJGFuaW1hdGlvbi05LCAkYW5pbWF0aW9uLTEwKTtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLXN1cHBvcnQoYW5pbWF0aW9uLCAkYW5pbWF0aW9uKTsgfVxuIiwiLmNvbGxlY3Rpb25zIHtcbiAgLmhlYWRsaW5lIHtcbiAgICBAaW5jbHVkZSBvZGFfaGVhZGxpbmU7XG4gIH1cblxuICAucGFnaW5hdGlvbi1uYXYge1xuICAgIEBpbmNsdWRlIG9kYV9wYWdpbmF0b3I7XG4gIH1cblxuICAucHJpbWFyeSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAubm8tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IGd1dHRlcigpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jb2xsZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIGd1dHRlcigpO1xuXG4gICAgICAgIC5oYWxmIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHR1YWwge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBndXR0ZXIoKTtcbiAgICAgICAgICAvL3BhZGRpbmc6IGd1dHRlcigpIDA7XG5cbiAgICAgICAgICAuY29sbGVjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIgKiBndXR0ZXIoKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5jb2xsZWN0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogZ3V0dGVyKCkgYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGhyLmRvdHRlZCB7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAyLjUgKiBndXR0ZXIoKSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5saW5rcyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBndXR0ZXIoKTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52aXN1YWwge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgLjM1KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyO1xuICAgICAgICAgIGhlaWdodDogNDIwcHg7XG4gICAgICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KCRvZGFfZGVza3RvcF9icmVha3BvaW50KSB7XG4gICAgICAgICAgLy8gIGhlaWdodDogNDUwcHg7XG4gICAgICAgICAgLy99XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgLy9taW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAvL21pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAvL3dpZHRoOiBhdXRvO1xuICAgICAgICAgICAgLy9oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAuOTA7XG5cbiAgICAgICAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludCgkb2RhX2Rlc2t0b3BfYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgLy8gIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIC8vICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgLy8gIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy99XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgaHIuZG91YmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGhyLmRvdWJsZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufSIsIi5jb2xsZWN0aW9ucy5zaG93IHtcbiAgLmhlYWRsaW5lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBoMSB7XG4vLyAgICAgIGJhY2tncm91bmQ6IHRvbWF0bztcbiAgICAgIG1heC13aWR0aDogNzAlO1xuICAgIH1cblxuICAgIC5yaWdodC1lbGVtZW50IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcmlnaHQ6IGd1dHRlcigpO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIEBpbmNsdWRlIHZhbGlnbigpO1xuXG4gICAgICAub2RhLWJ1dHRvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgICBwYWRkaW5nOiA4cHggMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJpbWFyeSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGNhbGMoOCAvIDEyKSk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogZ3V0dGVyKCk7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuXG4gICAgaDMsIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5lbGVtZW50LXNldCBoMiB7IG1hcmdpbi10b3A6IDA7IH1cblxuICAgIC5lbGVtZW50LXRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB9XG5cbiAgICBoci5kb3R0ZWQudmVydGljYWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLnNpZGViYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogcGVyY2VudGFnZShjYWxjKDQgLyAxMikpO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiBndXR0ZXIoKTtcblxuICAgIC5pbi10aGlzLWNvbGxlY3Rpb24ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuY29sbGVjdGlvbi1pdGVtcyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRvZGFfcGFwZXItc2hhZG93KTtcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IGd1dHRlcigpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCwgLjFzKTtcblxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDElO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjA4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC40MCk7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbS10aXRsZSB7XG4vLyAgICAgICAgICBiYWNrZ3JvdW5kOiB0b21hdG87XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgd2lkdGg6IDYwJTtcbi8vICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMTExO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2VlZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJvbGQ7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuLy8gICAgICAgIGgzLCBoNCB7XG4vLyAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuLy8gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4vLyAgICAgICAgICBtYXJnaW46IDA7XG4vLyAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbi8vXG4vLyAgICAgICAgICBhIHtcbi8vICAgICAgICAgICAgY29sb3I6ICMxMTExMTE7XG4vLyAgICAgICAgICB9XG4vLyAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtLWltZyB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgICAgICAgYmFja2dyb3VuZDogdGVhbDtcbiAgICAgICAgICAkc2l6ZTogNTBweDtcblxuICAgICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLyAgICAgICAgICB3aWR0aDogJHNpemU7XG4vLyAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC40NSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4vLyAgICAgICAgLml0ZW0tZGVzY3JpcHRpb24ge1xuLy8gICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbi8vICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5kb3Qge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gNXB4IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5uby1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAuODVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFuZC1tb3JlIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaHIuZG90dGVkLnZlcnRpY2FsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59IiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4uaXRlbXN7XG4gIC5oZWFkbGluZSB7XG4gICAgQGluY2x1ZGUgb2RhX2hlYWRsaW5lO1xuXG4gICAgaDEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBtYXRoLmRpdihndXR0ZXIoKSwgMik7XG4gICAgfVxuXG4gICAgI2l0ZW0tZmlsdGVycyB7XG4gICAgICBmb250LXNpemU6IC44NXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIEBpbmNsdWRlIHZhbGlnbigpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIHVsIHtcbiAgICAgICBtYXJnaW46IDA7XG4gICAgICAgcGFkZGluZzogMDtcbiAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgbGkge1xuICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgIH1cbiAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wYWdpbmF0aW9uLW5hdiB7fVxuXG4gIC5wcmltYXJ5IHtcbiAgICAkY2VsbC1oZWlnaHQ6IDQ1MHB4O1xuICAgICRkaXN0cmlidXRpb246IDIwcHg7XG5cbiAgICAubm8tY29udGVudCB7XG4gICAgICBwYWRkaW5nOiBndXR0ZXIoKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaXRlbSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIHBhZGRpbmc6IG1hdGguZGl2KGd1dHRlcigpLCAyKSBndXR0ZXIoKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogJGNlbGwtaGVpZ2h0O1xuXG4gICAgICAmLm9kZCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgaHIudmVydGljYWwge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmV2ZW4ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtLWltZyB7XG4gICAgICAgICRzaXplOiAxMjBweDtcblxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLyAgICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4vLyAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4vLyAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgLjMwKTtcbiAgICAgICAgbWFyZ2luOiAkZGlzdHJpYnV0aW9uIGF1dG87XG4vLyAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC40NSk7XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4vLyAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDAgMTBweCByZ2JhKDAsIDAsIDAsIC4zMCkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC4ycyk7XG4vLyAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjMwKTtcblxuICAgICAgICAgICAgJi5uby1maWxlIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaGVhZCB7XG4gICAgICAgIG1hcmdpbjogMS41ICogJGRpc3RyaWJ1dGlvbiBhdXRvICRkaXN0cmlidXRpb24gYXV0bztcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgY29sb3I6ICMxMTE7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNXB4IGF1dG87XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuNTUpO1xuICAgICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLml0ZW0tbWV0YSB7XG5cbiAgICAgICAgLml0ZW0tZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC52aWV3IHtcbiAgICAgICAgbWFyZ2luOiAkZGlzdHJpYnV0aW9uIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLml0ZW1zLnNob3cge1xuICAuaGVhZGxpbmUge1xuICAgIC5jb250YWluZXJ7XG4gICAgICBoMSB7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgfVxuXG4gICAgICAucmlnaHQtZWxlbWVudCB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC1zaXplOiAuODVyZW07XG4gICAgICAgIEBpbmNsdWRlIHZhbGlnbigpO1xuICAgICAgICByaWdodDogZ3V0dGVyKCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMjUlO1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJvbGRlcjtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJpbWFyeSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGNhbGMoOCAvIDEyKSk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogZ3V0dGVyKCk7XG5cbiAgICBoMi5maWxlcy1oZWFkZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuaXRlbS1maWxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgICYuYXVkaW8tbXBlZyB7fVxuXG4gICAgICAmLmltYWdlLWpwZWcsICYuaW1hZ2UtanBnLCAmLmltYWdlLXBuZywgJi5pbWFnZS10aWZmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFwcGxpY2F0aW9uLXBkZiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMjApO1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDhweCByZ2JhKDAsIDAsIDAsIC4yMCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZ1bGwtc2l6ZS1yZWFkZXItbGluayB7XG4gICAgICAgICAgbWFyZ2luOiAyNXB4IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdyYXllZC1vdXQge31cbiAgICB9XG5cbiAgICAub3BlbnNlYWRyYWdvbiB7XG5cbiAgICAgIC5vcGVuc2VhZHJhZ29uX3ZpZXdlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAuMjApO1xuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgaHIuZG90dGVkLnZlcnRpY2FsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5vZGEtc3BvaWxlciB7XG4gICAgICAuc3BvaWxlci1jb250ZW50IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4wNCk7XG4gICAgICAgICAgZm9udC1zaXplOiAuOTByZW07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgICBiYWNrZ3JvdW5kOiB0YW47XG5cbiAgICAgICAgICB0ciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHg7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLyAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkdGFibGUtYm9yZGVyO1xuXG4gICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoY2FsYyg0IC8gMTIpKTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogZ3V0dGVyKCk7XG5cbiAgICBoMjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIGgyLCBoMywgaDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG4gICAgfVxuXG4gICAgLmVsZW1lbnQtc2V0IGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLmVsZW1lbnQtdGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5leGhpYml0cyB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLmV4aGliaXQge1xuICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMzBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBvZGFfaWNvbignbycsIHRydWUpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5leGhpYml0LWxpbmssIC5leGhpYml0LWxpbms6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaHIuZG90dGVkLmRpdmlkZXIge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbjogMzJweCBhdXRvO1xuICAgIH1cblxuICAgIGhyLmRvdHRlZC52ZXJ0aWNhbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdpbmF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkb2RhX3doaXRlLWJnO1xuICAgIHBhZGRpbmc6IDEwcHggZ3V0dGVyKCk7XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuXG4gICAgICAgIC5uYXYtYnV0dG9uIHtcbiAgICAgICAgICAkc2l6ZTogMjBweDtcblxuICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgIC5uYXYtYnV0dG9uIHsgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubmV4dCB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgICAgLm5hdi1idXR0b24geyBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXZhbG9uLW1lZGlhLXBsYXllci13cmFwIHtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4IGF1dG87XG4gIH1cbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi5leGhpYml0cy5icm93c2Uge1xuICAvLyBIZWFkbGluZXMgVE9ETzogbWFrZSB0aGlzIHJldXNhYmxlXG4gIC5oZWFkbGluZSB7XG4gICAgQGluY2x1ZGUgb2RhX2hlYWRsaW5lO1xuXG4gICAgLm5vdGhpbmctdG8tc2hvdyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcigpO1xuICAgICAgbGluZS1oZWlnaHQ6IDIzMCU7XG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb24ge1xuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAmLmJyb3dzZS1ieS10YWdzIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSwgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2luYXRvcnMgVE9ETzogbWFrZSB0aGlzIHJldXNhYmxlXG4gIC5wYWdpbmF0aW9uLW5hdiB7fVxuXG4gIC8vIE1haW4gY29udGVudHNcbiAgLnByaW1hcnkge1xuICAgICRkaXN0cmlidXRpb246IDI1cHg7XG4gICAgJGNlbGwtaGVpZ2h0OiA0MTBweDtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIC5leGhpYml0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiBtYXRoLmRpdihndXR0ZXIoKSwgMikgZ3V0dGVyKCk7XG4gICAgICAgIGhlaWdodDogJGNlbGwtaGVpZ2h0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgICYub2RkIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAgIGhyLnZlcnRpY2FsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZXZlbiB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYmcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBvcGFjaXR5OiAuMDk7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZCwgLmRlc2NyaXB0aW9uLCAudGFncywgLnZpc2l0IHsgcG9zaXRpb246IHJlbGF0aXZlIH1cblxuICAgICAgICAuaGVhZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJGRpc3RyaWJ1dGlvbiAqIDE7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRpc3RyaWJ1dGlvbjtcbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRvZGFfZGVza3RvcF9icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMHJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG9kYV9kZXNrdG9wX2JyZWFrcG9pbnQpIHsgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC42NSk7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJGRpc3RyaWJ1dGlvbjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGlzdHJpYnV0aW9uO1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjk1cmVtO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG9kYV9kZXNrdG9wX2JyZWFrcG9pbnQpIHsgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgICAgICAgICBmb250LXdlaWdodDogJG9kYV9mb250LXdlaWdodC1ub3JtYWw7XG4gICAgICAgIH1cblxuICAgICAgICAudGFncyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJGRpc3RyaWJ1dGlvbjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGlzdHJpYnV0aW9uO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJG9kYV93aGl0ZS10ZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzMzMztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMXB4IDEwcHggMnB4IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCwgLjJzKTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRvdHRlZC1saW5lIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgIGhyLmRvdHRlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmlzaXQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgICAgICAgLm9kYS1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAkZGlzdHJpYnV0aW9uIC0gMTBweCBhdXRvO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRvZGFfd2hpdGUtdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7IG1hcmdpbjogMDsgfVxuXG4gICAgaHIuZG91YmxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuLy8gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAvLyBUYWcgY2xvdWRcbiAgLnRhZ3Mge1xuXG4gICAgLmhlYWRlciB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAyMHB4IGd1dHRlcigpO1xuICAgIH1cblxuICAgIC5oVGFnY2xvdWQgeyAvLyB0b2RvOiByZW5hbWUgdGhpcyBjbGFzcyBpbiB0aGUgdGVtcGxhdGVcbiAgICAgIHBhZGRpbmc6IGd1dHRlcigpO1xuLy8gICAgICBiYWNrZ3JvdW5kOiB0b21hdG87XG4vLyAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgZ3V0dGVyKCkgMjBweCAwO1xuXG4gICAgICAgICAgYSwgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzIyMjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICAgICAgICAgICAgYmFja2dyb3VuZDogIzMzMztcbi8vICAgICAgICAgICAgY29sb3I6IHJnYmEoMCwwLDAsIC45NSk7XG4vLyAgICAgICAgICAgIGNvbG9yOiAkb2RhX3doaXRlLXRleHQ7XG4vLyAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMnB4O1xuLy8gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLCAuOTUpO1xuLy8gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQsIC4ycyk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuLy8gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb2RhX2ljb24oJ28nLCB0cnVlKTtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4vLyAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHRvcDogM3B4O1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb3VudCB7XG4gICAgICAgICAgICAgICRzaXplOiAxMnB4O1xuXG4vLyAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG9kYV9kYXJrX2JsdWU7XG4vLyAgICAgICAgICAgICAgY29sb3I6ICRvZGFfd2hpdGUtdGV4dDtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8gICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjYwcmVtO1xuICAgICAgICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgICBsZWZ0OiAtM3B4O1xuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjdGFnLWNsb3VkLWxpZ2h0Ym94IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgI3RhZ3Mge1xuXG4gICAgICBwIHtcbiAgICAgICAgcGFkZGluZzogNXB4IGd1dHRlcigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5zZWFyY2gge1xuICAuaGVhZGxpbmUge1xuICAgIEBpbmNsdWRlIG9kYV9oZWFkbGluZTtcblxuICAgIC5yaWdodC1lbGVtZW50IHtcblxuICAgICAgI3NlYXJjaC1maWx0ZXJzIHtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgJGRpc3RhbmNlOiAzcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZGlzdGFuY2U7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuLy8gICAgICAgICAgICAgIGNvbnRlbnQ6ICfCtyc7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICd8Jztcbi8vICAgICAgICAgICAgICBmb250LXdlaWdodDogJG9kYV9mb250LXdlaWdodC1ibGFjaztcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZGlzdGFuY2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuXG4gICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogJysnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFnaW5hdG9yIHt9XG5cbiAgLnByaW1hcnkge1xuXG4gICAgI3NlYXJjaC1yZXN1bHRzIHtcbiAgICAgIG1hcmdpbjogZ3V0dGVyKCkgYXV0bztcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4xMCk7XG4vLyAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2Rvb3Iuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIsIHJnYmEoMCwgMCwgMCwgLjA1KTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjA1KTtcblxuICAgICAgdGhlYWQge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA1KTtcblxuICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4wNSk7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGJvZHkge1xuLy8gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjA1KTtcbiAgICAgICAgdHIge1xuLy8gICAgICAgICAgYmFja2dyb3VuZDogdG9tYXRvO1xuICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDUpO1xuXG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIGd1dHRlcigpO1xuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICRzaXplOiA0MHB4O1xuXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHNpemU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgICAgICAgICAgICAgdG9wOiAtNnB4O1xuLy8gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRzaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG9kYV9mb250LXdlaWdodC1ib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMjIyO1xuXG4gICAgICAgICAgICAgICAgJi5pbWFnZSB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbi8vICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICAgICAgICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5pdGVtIHt9XG5cbiAgICAgICAgICAmLmNvbGxlY3Rpb24ge31cbiAgICAgICAgfVxuXG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbm8tcmVzdWx0cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICBwYWRkaW5nOiAyICogZ3V0dGVyKCkgZ3V0dGVyKCkgZ3V0dGVyKCkgZ3V0dGVyKCk7XG4gICAgbWluLWhlaWdodDogMzUwcHg7XG5cbiAgICAudGV4dCB7XG4gICAgICBtYXJnaW46IDI1cHggMDtcbiAgICB9XG5cbiAgICBoci5kb3R0ZWQge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgbWFyZ2luOiAyNXB4IGF1dG87XG4gICAgfVxuICAgIFxuLy8gICAgLm9kYS1idXR0b24ge31cbiAgfVxufSIsIi5hZHZhbmNlZC1zZWFyY2gge1xuICAuaGVhZGxpbmUge1xuICAgIC5yaWdodC1lbGVtZW50IHtcbiAgICAgIC5vZGEtYnV0dG9uIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcmltYXJ5IHtcbiAgICBwYWRkaW5nOiBndXR0ZXIoKTtcblxuICAgICNhZHZhbmNlZC1zZWFyY2gtZm9ybSB7XG4gICAgICAkZmllbGQtaGVpZ2h0OiAzMHB4O1xuXG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIFxuICAgICAgLmxlZnQtY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGd1dHRlcigpO1xuICAgICAgfVxuXG4gICAgICAucmlnaHQtY29sdW1uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZ3V0dGVyKCk7XG5cbiAgICAgICAgaHIuZG90dGVkLnZlcnRpY2FsIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC5maWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnB1dHMge1xuXG4gICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjI1KTtcbiAgICAgICAgICAgIGhlaWdodDogJGZpZWxkLWhlaWdodDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZmllbGQtaGVpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRvZGFfZGFya19ibHVlLCAuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjI1KTtcbiAgICAgICAgICAgIGhlaWdodDogJGZpZWxkLWhlaWdodDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZmllbGQtaGVpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cblxuICAgICAgICAmI3NlYXJjaC1uYXJyb3ctYnktZmllbGRzIHtcbiAgICAgICAgICAuc2VhcmNoLWVudHJ5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuXG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcblxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHt9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICYuYWRkX3NlYXJjaCwgJi5yZW1vdmVfc2VhcmNoIHtcbiAgICAgICAgICAgICAgJHNpemU6IDIwcHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogY2FsYygkc2l6ZSAvIDIpO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvZGFfZGFya19ibHVlO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogJG9kYV9mb250LXdlaWdodC1ibGFjaztcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMzApO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLCAuMnMpO1xuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJG9kYV9kYXJrX2JsdWUsIDEwJSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hZGRfc2VhcmNoIHtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zdWJtaXQtc2VjdGlvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAyICogZ3V0dGVyKCkgYXV0byBndXR0ZXIoKSBhdXRvO1xuXG4gICAgICAgIGlucHV0LnN1Ym1pdCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjkwcmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vKiogQ29tbW9uIGZvciBhbGwgZXhoaWJpdCBwYWdlcyAqKi9cbi5leGhpYml0cy5zdW1tYXJ5LCAuZXhoaWJpdHMuc2hvdyB7XG4gIC5oZWFkbGluZSB7XG4gICAgQGluY2x1ZGUgb2RhX2hlYWRsaW5lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgxIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCA2ICogZ3V0dGVyKCk7XG4gICAgfVxuICB9XG5cbiAgLnByaW1hcnkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgfVxuXG4gIC5wYWdpbmF0b3Ige1xuICAgIHBhZGRpbmc6IDEwcHggZ3V0dGVyKCk7XG4gIH1cbn1cblxuLyoqIFN1bW1hcnkgcGFnZSAqKi9cbi5leGhpYml0cy5zdW1tYXJ5IHtcblxuICAucHJpbWFyeSB7XG4gICAgLmV4aGliaXQtZGVzY3JpcHRpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogZ3V0dGVyKCk7XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDhweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICBoci5kb3R0ZWQudmVydGljYWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXhoaWJpdC1jcmVkaXRzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBhZGRpbmc6IGd1dHRlcigpO1xuXG4gICAgICBoMyB7IG1hcmdpbjogMCAwIDEwcHggMDsgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtdGV4dDtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICAgIH1cblxuICAgICAgaHIuZG90dGVkLnZlcnRpY2FsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmN1cmF0b3JzLCAuY29udHJpYnV0b3JzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZXhoaWJpdC1wYWdlcy13cmFwIHtcblxuICAgIHVsLmV4aGliaXQtcGFnZXMge1xuICAgICAgcGFkZGluZzogMzBweCBndXR0ZXIoKTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgbGkucGFnZSB7XG4gICAgICAgICRyYXRpbzogbWF0aC5kaXYoMTEsIDguNSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG9kYV9wYXBlci1zaGFkb3cpO1xuICAgICAgICAkd2lkdGg6IDIwMHB4O1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgICBoZWlnaHQ6IDIwMHB4ICogJHJhdGlvO1xuICAgICAgICBtYXJnaW46IDE1cHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCwgLjJzKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRvZGFfZGVza3RvcF9icmVha3BvaW50KSB7XG4gICAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICAgIGhlaWdodDogMzAwcHggKiAkcmF0aW87XG4gICAgICAgIH1cbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHt9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9vZGEtbG9nby5zdmcnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRvZGFfZGVza3RvcF9icmVha3BvaW50KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICB0b3A6IDE4cHg7XG4gICAgICAgICAgICBsZWZ0OiAxOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9kb29yLnN2ZycpIG5vLXJlcGVhdCAxMjBweCA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG9kYV9kZXNrdG9wX2JyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2Rvb3Iuc3ZnJykgbm8tcmVwZWF0IDIwMHB4IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIC40cyk7XG4gICAgICAgIH1cblxuICAgICAgICAubGluayB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYm9sZGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44MXJlbTtcbiAgICAgICAgICB6LWluZGV4OiA1NTU7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkb2RhX2Rlc2t0b3BfYnJlYWtwb2ludCkgeyBmb250LXNpemU6IDEuNDByZW07IH1cbiAgICAgICAgICBjb2xvcjogIzIyMjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNCAqZ3V0dGVyKCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYXV0aG9yIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIC43NSk7XG4gICAgICAgICAgICBib3R0b206IDE1JTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjgwcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRvZGFfZGVza3RvcF9icmVha3BvaW50KSB7IGZvbnQtc2l6ZTogMS4wMHJlbTsgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTAsIDI1MCwgMjUwLCAxKTtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggNDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0NTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG9kYV9kZXNrdG9wX2JyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggNDAlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubm8tcGFnZXMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiBndXR0ZXIoKTtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgfVxufVxuXG4vKiogUmVndWxhciBwYWdlICoqL1xuLmV4aGliaXRzLnNob3cge1xuICAjZXhoaWJpdC1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IGd1dHRlcigpO1xuXG4gICAgLmhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJsYWNrO1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICBoci5kb3R0ZWQge1xuICAgICAgbWFyZ2luOiBndXR0ZXIoKSAwIGd1dHRlcigpIDA7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGEgeyBjb2xvcjogIzIyMjsgfVxuXG4gICAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgdWwuZXhoaWJpdC1uYXYtbGV2ZWwtMSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvZGFfaWNvbignXFxmMTJlJywgdHJ1ZSk7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogJG9kYV9mb250LXdlaWdodC1ib2xkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRsaW5lIHtcbiAgICAvLyBJbiBvcmRlciB0byBzaG93IGF1dGhvciBuaWNlbHkgd2UgbmVlZCB0byBtb3ZlIHRoZSB0aXRsZSBhIGxpdHRsZSBiaXQgdXBcbiAgICAuY29udGFpbmVyLmhhcy1hdXRob3Ige1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAgICAgLmF1dGhvciB7XG4gICAgICAgIC8vYmFja2dyb3VuZDogJG9kYV9yZWQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGFuIGF1dGhvciBmb3IgdGhlIHBhZ2VcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmxlZnQsIC5yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG9kYV9kYXJrX2JsdWUsIC44NSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogLjY1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDlweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRvZGFfZGFya19ibHVlLCAuODApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5sZWZ0IHtcbiAgICAgICAgbGVmdDogZ3V0dGVyKCk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIG9kYV9pY29uKCdcXGYxMDcnLCB0cnVlKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IGd1dHRlcigpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIG9kYV9pY29uKCdcXGY0OTknLCB0cnVlKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZXhoaWJpdC1jaGlsZC1wYWdlcyB7fVxuXG4gIC5leGhpYml0LXBhZ2UtY29udGVudCB7XG4gICAgbWFyZ2luOiBndXR0ZXIoKTtcbiAgICBwYWRkaW5nOiBndXR0ZXIoKTtcbiAgICBiYWNrZ3JvdW5kOiAkb2RhX3doaXRlLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG9kYV9wYXBlci1zaGFkb3cpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgIC5leGhpYml0LWJsb2NrIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgcGFkZGluZzogMiAqIGd1dHRlcigpIDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgLy8gSWYgbm8gc2VwYXJhdG9yIHdlIG5lZWQgdG8gYWRqdXN0IHRoZSBjdXJyZW50IGJsb2NrIEFORCB0aGUgbmV4dCBvbmUgYXMgd2VsbFxuICAgICAgJi5zZXBhcmF0b3Itbm8ge1xuICAgICAgICBwYWRkaW5nOiAyICogZ3V0dGVyKCkgMCAwIDA7XG5cbiAgICAgICAgJisuZXhoaWJpdC1ibG9jayB7IHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLXRvcDogZ3V0dGVyKCk7IH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHsgcGFkZGluZy1ib3R0b206IDA7IH1cblxuICAgICAgaWZyYW1lIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMjApO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA4cHggcmdiYSgwLCAwLCAwLCAuMjApKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgLy9tYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICB9XG5cbiAgICAgIC8vYTpmb2N1cyB7IGJhY2tncm91bmQ6IHJnYmEoJG9kYV95ZWxsb3csIC41KTsgfVxuICAgIH1cblxuICAgIGhyLmV4aGliaXQtYmxvY2stc2VwYXJhdG9yIHtcbiAgICAgIHdpZHRoOiAzMyU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICAucGFnaW5hdG9yIHtcbiAgICBwYWRkaW5nOiAwIGd1dHRlcigpO1xuICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zaXplOiAuOHJlbTtcblxuICAgIC8vI2V4aGliaXQtcGFnZS1uYXZpZ2F0aW9uIHt9XG5cbiAgICAjZXhoaWJpdC1uYXYtcHJldiB7XG5cbiAgICAgIC5wcmV2aW91cy1wYWdlIHtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2RhX2ljb24oJ1xcZjEzMCcsIHRydWUpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICNleGhpYml0LW5hdi11cCB7XG5cbiAgICAgIC5jdXJyZW50LXBhZ2Uge1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBvZGFfaWNvbignXFxmMTJlJywgdHJ1ZSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2V4aGliaXQtbmF2LW5leHQge1xuICAgICAgLm5leHQtcGFnZSB7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIG9kYV9pY29uKCdcXGYxMmYnLCB0cnVlKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtjb2xvcjogIzIyMjt9XG4gIH1cblxuICAvKiBGb290bm90ZXMgKi9cbiAgYVtuYW1lKj1cIl9mdG5cIl0ge1xuICAgIGNvbG9yOiAjMTExO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJG9kYV95ZWxsb3csIC4yNSk7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC03cHg7XG4gICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYm9sZDtcblxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDkwJTtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cblxuICBkaXZbaWQqPVwiZnRuXCJdIHtcbiAgICBmb250LXNpemU6IC45cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblxuICAgIGEge1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICAgIHRvcDogLTFweDtcbiAgICB9XG4gIH1cbn1cblxuLyoqIEV4aGliaXQgYmxvY2tzICoqL1xuLmV4aGliaXQtYmxvY2sge1xuICBoMSwgaDIsIGgzLCBoNCwgaDUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmV4aGliaXQtaXRlbXMge1xuICAgIG1hcmdpbi1sZWZ0OiBndXR0ZXIoKTtcbiAgICBtYXJnaW4tYm90dG9tOiBndXR0ZXIoKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4wMik7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgLjIwKTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgfVxuXG4gICYubGF5b3V0LWZpbGUtdGV4dCB7XG5cbiAgICAubWVqcy12aWRlbywgLm1lanMtYXVkaW8ge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAubWVqcy12aWRlbyB7IGhlaWdodDogYXV0bzsgfVxuXG4gICAgLm1lanMtYXVkaW8ge31cblxuICAgIC5mdWxsLXNpemUtcmVhZGVyLWxpbmssIC5nby10by1pdGVtLWxpbmsge1xuICAgICAgZm9udC1zaXplOiAuNjByZW07XG4gICAgICBwYWRkaW5nOiAxcHggMTBweCAwIDEwcHg7XG4gICAgICBtYXJnaW46IDAgOHB4IDM1cHggOHB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVlZCB0byBhZGQgbWFyZ2luIGJldHdlZW4gZWxlbWVudHNcbiAgICBhLmRvd25sb2FkLWZpbGUsIGRpdi5tZWpzLWNvbnRhaW5lciB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuICAgIH1cblxuICAgIC8vIEl0ZW0ncyBjYXB0aW9uXG4gICAgLmV4aGliaXQtaXRlbS1jYXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICB3aWR0aDogOTUlO1xuICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAuNzUpO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbiAgfVxuXG4gICYubGF5b3V0LWdhbGxlcnkge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGxpIHsgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIH1cblxuICAgIC5wZ3dTbGlkZXIge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4wMik7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAuMjApO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcblxuICAgICAgdWwge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgdWwub2RhLWV4aGliaXQtZ2FsbGVyeSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgbGkub2RhLWV4aGliaXQtZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgM3B4O1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAvL2ltZyB7fVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBzcGFuIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAub2RhLWV4aGliaXQtdGV4dCB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZy1sZWZ0OiBndXR0ZXIoKTtcbiAgICB9XG4gIH1cbn0iLCIuc2ltcGxlLXBhZ2Uge1xuICAjY29udGVudCB7XG4gICAgLmhlYWRsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG9kYV9oZWFkbGluZTtcblxuICAgICAgI3NpbXBsZS1wYWdlcy1icmVhZGNydW1icyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LWJvbGQ7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtbm9ybWFsO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9kYV9kYXJrX2JsdWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByaW1hcnkge1xuICAgICAgcGFkZGluZzogMipndXR0ZXIoKSBndXR0ZXIoKTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcblxuICAgICAgaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLjVlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBTaW1wbGUgcGFnZXMgZWxlbWVudHMgKiovXG4gIC5vZGFfdHdvLWNvbHMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgLm9kYV9jb2wtbGVmdCwgLm9kYV9jb2wtcmlnaHQge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLm9kYV9jb2wtbGVmdCB7XG4gICAgICAvL2JhY2tncm91bmQ6IHRlYWw7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLm9kYV9jb2wtcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0b21hdG87XG4gICAgfVxuICB9XG5cbiAgaHIuZG90dGVkLnNlcGFyYXRvciB7XG5cbiAgfVxufVxuXG4vKiogU3BlY2lmaWMgcGFnZXMgKiovXG4uc2ltcGxlLXBhZ2UjYWJvdXQge1xuXG4gIC53cmFwIHtcbiAgICAvL2JhY2tncm91bmQ6IHJnYmEoJG9kYV9yZWQsIC4wNSk7XG4gICAgLy9iYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9iZy9iYWNrZ3JvdW5kLTc1LnBuZycpLCByZ2JhKCRvZGFfcmVkLCAuMDUpO1xuICB9XG5cbiAgLnByaW1hcnkge31cbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi5maWxlcy5zaG93IHtcbiAgLmhlYWRsaW5lIHtcbiAgICBAaW5jbHVkZSBvZGFfaGVhZGxpbmU7XG5cbiAgICAucmlnaHQtZWxlbWVudCB7XG4gICAgICBmb250LXNpemU6IC44cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5wcmltYXJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoOCwgMTIpKTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiBndXR0ZXIoKTtcblxuICAgIC5pdGVtLWZpbGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBpZnJhbWUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4yMCk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAwIDhweCByZ2JhKDAsIDAsIDAsIC4yMCkpO1xuICAgICAgfVxuXG4gICAgICAuZnVsbC1zaXplLXJlYWRlci1saW5rIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaHIubWFpbi1zZXBhcmF0b3Ige1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xuXG4gICAgfVxuXG4gICAgaHIuZG90dGVkLnZlcnRpY2FsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UobWF0aC5kaXYoNCwgMTIpKTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogZ3V0dGVyKCk7XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIGgzLCBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgIH1cblxuICAgIGhyLmRvdHRlZC5kaXZpZGVyIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW46IDMycHggYXV0bztcbiAgICB9XG5cbiAgICBoci5kb3R0ZWQudmVydGljYWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn0iLCIuZXJyb3ItNDA0IHtcbiAgLmhlYWRsaW5lIHtcbiAgICBAaW5jbHVkZSBvZGFfaGVhZGxpbmU7XG4gIH1cblxuICAucHJpbWFyeSB7XG4gICAgcGFkZGluZzogZ3V0dGVyKCk7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAudGV4dHVhbCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBndXR0ZXIoKTtcblxuICAgICAgLm1lc3NhZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEuMTByZW07XG4gICAgICAgIG1hcmdpbjogZ3V0dGVyKCkgYXV0bztcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBndXR0ZXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iYWQtdXJsIHtcbiAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG9kYV95ZWxsb3csIC44KTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDNweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaHIuZG90dGVkIHtcbiAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG87XG4vLyAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cblxuICAgICAgLmZvdXItby1mb3VyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4IGF1dG87XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvZGFfZm9udC13ZWlnaHQtYmxhY2s7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLC4yNSk7XG5cbiAgICAgICAgLm9kYS1pY29uIHtcbiAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC00MDQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yMCk7XG4vLyAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLDAsMCwgLjE3KTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIGd1dHRlcigpO1xuXG4gICAgICAucXVlcnktbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICBoci5kb3R0ZWQudmVydGljYWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqIEV4aGliaXQgUGFnZXMgKiovXG5ib2R5LmV4aGliaXRzLnNob3cge1xuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG5cbiAgI2FkbWluLWJhciwgI3NlYXJjaC1jb250YWluZXIsIGZvb3Rlci5vZGEtZm9vdGVyLCBoci5kb3VibGUgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgLm9kYS1oZWFkZXIge1xuICAgIC8vcGFkZGluZzogMjBweCAyMHB4IDAgMjBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZsb2F0OiBsZWZ0Oy8vXG5cbiAgICAubG9nbyBhIGltZyB7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgbmF2LCAuc2VhcmNoIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG5cbiAgI2NvbnRlbnQge1xuICAgIC8vYmFja2dyb3VuZDogdGVhbDtcblxuICAgIC5leGhpYml0LW5hdmlnYXRpb24sIC5wYWdpbmF0b3IgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAuaGVhZGxpbmUge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIGEubGVmdCwgYS5yaWdodCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgLmV4aGliaXQtcGFnZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgfVxuXG4gICAgICAuYXV0aG9yIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5leGhpYml0LWJsb2NrIHtcbiAgICAgIC5tZWpzLXZpZGVvLCAubWVqcy1hdWRpbyB7XG4gICAgICAgIC8vJjphZnRlciB7XG4gICAgICAgIC8vICBjb250ZW50OiBcIlwiO1xuICAgICAgICAvLyAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIC8vICBjbGVhcjogYm90aDtcbiAgICAgICAgLy99XG5cblxuICAgICAgICAubWVqcy1pbm5lciB7XG4gICAgICAgICAgLm1lanMtbGF5ZXJzLCAubWVqcy1jb250cm9scyB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgICAgLy8ubWVqcy1vdmVybGF5LWJ1dHRvbiB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjgwZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1lanMtYXVkaW8sIC5tZWpzLXZpZGVvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMzAwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxNTBweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgICAgY29sb3I6ICM2NjY7XG5cbiAgICAgICAgLm1lanMtaW5uZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAubWVqcy1tZWRpYWVsZW1lbnQsIC5tZWpzLWNvbnRyb2xzIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLy5tZWpzLXZpZGVvIHtcbiAgICAgIC8vICB3aWR0aDogMzAwcHggIWltcG9ydGFudDtcbiAgICAgIC8vICBoZWlnaHQ6IDE1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAvL1xuICAgICAgLy8gIC5tZWpzLWlubmVyIHtcbiAgICAgIC8vICAgIC5tZWpzLWNvbnRyb2xzIHtkaXNwbGF5OiBub25lO31cbiAgICAgIC8vICB9XG4gICAgICAvL31cblxuICAgICAgLm1lanMtdmlkZW86YWZ0ZXIgeyBjb250ZW50OiAnVmlkZW8nOyB9XG5cbiAgICAgIC5tZWpzLWF1ZGlvOmFmdGVyIHsgY29udGVudDogJ0F1ZGlvJzsgfVxuXG4gICAgICAub2RhLWJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICAuZXhoaWJpdC1ibG9jay5sYXlvdXQtZ2FsbGVyeSB7XG4gICAgICAucGd3U2xpZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnRW5kIG9mIHRoZSBleGhpYml0IHBhZ2UnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogLjgwZW07XG4gICAgICBjb2xvcjogIzU1NTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn0iLCIuZmFuY3lib3gtd3JhcCxcbi5mYW5jeWJveC1za2luLFxuLmZhbmN5Ym94LW91dGVyLFxuLmZhbmN5Ym94LWlubmVyLFxuLmZhbmN5Ym94LWltYWdlLFxuLmZhbmN5Ym94LXdyYXAgaWZyYW1lLFxuLmZhbmN5Ym94LXdyYXAgb2JqZWN0LFxuLmZhbmN5Ym94LW5hdixcbi5mYW5jeWJveC1uYXYgc3Bhbixcbi5mYW5jeWJveC10bXBcbntcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRib3JkZXI6IDA7XG5cdG91dGxpbmU6IG5vbmU7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5mYW5jeWJveC13cmFwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHotaW5kZXg6IDgwMjA7XG59XG5cbi5mYW5jeWJveC1za2luIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuLy9cdGNvbG9yOiAjNDQ0O1xuXHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyNHB4O1xuXHQgICAtbW96LWJvcmRlci1yYWRpdXM6IDI0cHg7XG5cdCAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbn1cblxuLmZhbmN5Ym94LW9wZW5lZCB7XG5cdHotaW5kZXg6IDgwMzA7XG59XG5cbi5mYW5jeWJveC1vcGVuZWQgLmZhbmN5Ym94LXNraW4ge1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdCAgIC1tb3otYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0ICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4uZmFuY3lib3gtb3V0ZXIsIC5mYW5jeWJveC1pbm5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZhbmN5Ym94LWlubmVyIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZhbmN5Ym94LXR5cGUtaWZyYW1lIC5mYW5jeWJveC1pbm5lciB7XG5cdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLmZhbmN5Ym94LWVycm9yIHtcblx0Y29sb3I6ICM0NDQ7XG5cdGZvbnQ6IDE0cHgvMjBweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMTVweDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZhbmN5Ym94LWltYWdlLCAuZmFuY3lib3gtaWZyYW1lIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi5mYW5jeWJveC1pbWFnZSB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0bWF4LWhlaWdodDogMTAwJTtcbn1cblxuI2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZmFuY3lib3hfc3ByaXRlLnBuZycpO1xufVxuXG4jZmFuY3lib3gtbG9hZGluZyB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLXRvcDogLTIycHg7XG5cdG1hcmdpbi1sZWZ0OiAtMjJweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTA4cHg7XG5cdG9wYWNpdHk6IDAuODtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR6LWluZGV4OiA4MDYwO1xufVxuXG4jZmFuY3lib3gtbG9hZGluZyBkaXYge1xuXHR3aWR0aDogNDRweDtcblx0aGVpZ2h0OiA0NHB4O1xuXHRiYWNrZ3JvdW5kOiB1cmwoJ2ZhbmN5Ym94X2xvYWRpbmcuZ2lmJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG59XG5cbi5mYW5jeWJveC1jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMThweDtcblx0cmlnaHQ6IC0xOHB4O1xuXHR3aWR0aDogMzZweDtcblx0aGVpZ2h0OiAzNnB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHotaW5kZXg6IDgwNDA7XG59XG5cbi5mYW5jeWJveC1uYXYge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0d2lkdGg6IDQwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCdibGFuay5naWYnKTsgLyogaGVscHMgSUUgKi9cblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuXHR6LWluZGV4OiA4MDQwO1xufVxuXG4uZmFuY3lib3gtcHJldiB7XG5cdGxlZnQ6IDA7XG59XG5cbi5mYW5jeWJveC1uZXh0IHtcblx0cmlnaHQ6IDA7XG59XG5cbi5mYW5jeWJveC1uYXYgc3BhbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdHdpZHRoOiAzNnB4O1xuXHRoZWlnaHQ6IDM0cHg7XG5cdG1hcmdpbi10b3A6IC0xOHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHotaW5kZXg6IDgwNDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZhbmN5Ym94LXByZXYgc3BhbiB7XG5cdGxlZnQ6IDEwcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM2cHg7XG59XG5cbi5mYW5jeWJveC1uZXh0IHNwYW4ge1xuXHRyaWdodDogMTBweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzJweDtcbn1cblxuLmZhbmN5Ym94LW5hdjpob3ZlciBzcGFuIHtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmZhbmN5Ym94LXRtcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtOTk5OTlweDtcblx0bGVmdDogLTk5OTk5cHg7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0bWF4LXdpZHRoOiA5OTk5OXB4O1xuXHRtYXgtaGVpZ2h0OiA5OTk5OXB4O1xuXHRvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vKiBPdmVybGF5IGhlbHBlciAqL1xuXG4uZmFuY3lib3gtbG9jayB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uZmFuY3lib3gtbG9jayBib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5mYW5jeWJveC1sb2NrLXRlc3Qge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uZmFuY3lib3gtb3ZlcmxheSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBub25lO1xuXHR6LWluZGV4OiA4MDEwO1xuXHRiYWNrZ3JvdW5kOiB1cmwoJ2ZhbmN5Ym94X292ZXJsYXkucG5nJyk7XG59XG5cbi5mYW5jeWJveC1vdmVybGF5LWZpeGVkIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRib3R0b206IDA7XG5cdHJpZ2h0OiAwO1xufVxuXG4uZmFuY3lib3gtbG9jayAuZmFuY3lib3gtb3ZlcmxheSB7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8qIFRpdGxlIGhlbHBlciAqL1xuXG4uZmFuY3lib3gtdGl0bGUge1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdGZvbnQ6IG5vcm1hbCAxM3B4LzIwcHggXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtc2hhZG93OiBub25lO1xuXHR6LWluZGV4OiA4MDUwO1xufVxuXG4uZmFuY3lib3gtb3BlbmVkIC5mYW5jeWJveC10aXRsZSB7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5mYW5jeWJveC10aXRsZS1mbG9hdC13cmFwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdHJpZ2h0OiA1MCU7XG5cdG1hcmdpbi1ib3R0b206IC0zNXB4O1xuXHR6LWluZGV4OiA4MDUwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mYW5jeWJveC10aXRsZS1mbG9hdC13cmFwIC5jaGlsZCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OiAtMTAwJTtcblx0cGFkZGluZzogMnB4IDIwcHg7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBGYWxsYmFjayBmb3Igd2ViIGJyb3dzZXJzIHRoYXQgZG9lc24ndCBzdXBwb3J0IFJHQmEgKi9cblx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE1cHg7XG5cdCAgIC1tb3otYm9yZGVyLXJhZGl1czogMTVweDtcblx0ICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuXHR0ZXh0LXNoYWRvdzogMCAxcHggMnB4ICMyMjI7XG5cdGNvbG9yOiAjRkZGO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5mYW5jeWJveC10aXRsZS1vdXRzaWRlLXdyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG4uZmFuY3lib3gtdGl0bGUtaW5zaWRlLXdyYXAge1xuXHRwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLmZhbmN5Ym94LXRpdGxlLW92ZXItd3JhcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRjb2xvcjogI2ZmZjtcblx0cGFkZGluZzogMTBweDtcblx0YmFja2dyb3VuZDogIzAwMDtcblx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuOCk7XG59XG5cbi8qUmV0aW5hIGdyYXBoaWNzISovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksXG5cdCAgIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLFxuXHQgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSl7XG5cblx0I2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveF9zcHJpdGVAMngucG5nJyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiA0NHB4IDE1MnB4OyAvKlRoZSBzaXplIG9mIHRoZSBub3JtYWwgaW1hZ2UsIGhhbGYgdGhlIHNpemUgb2YgdGhlIGhpLXJlcyBpbWFnZSovXG5cdH1cblxuXHQjZmFuY3lib3gtbG9hZGluZyBkaXYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZmFuY3lib3hfbG9hZGluZ0AyeC5naWYnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDsgLypUaGUgc2l6ZSBvZiB0aGUgbm9ybWFsIGltYWdlLCBoYWxmIHRoZSBzaXplIG9mIHRoZSBoaS1yZXMgaW1hZ2UqL1xuXHR9XG59IiwiLnBnd1NsaWRlciB7XG4gIGNvbG9yOiAjMjIyO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLnBnd1NsaWRlciBhe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzIyMjtcbn1cblxuLnBnd1NsaWRlciAucHMtY3VycmVudCB7XG4vLyAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbi8vICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbi5wZ3dTbGlkZXIubGlzdE9uVGhlTGVmdCAucHMtY3VycmVudCB7XG4vLyAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5wZ3dTbGlkZXIgLnBzLWN1cnJlbnQgdWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4ucGd3U2xpZGVyIC5wcy1jdXJyZW50IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBnd1NsaWRlciAucHMtY3VycmVudCBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgMjUwbXMgbGluZWFyO1xufVxuXG4ucGd3U2xpZGVyIC5wcy1jdXJyZW50IC5wcy1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGZvbnQtd2VpZ2h0OiAkb2RhX2ZvbnQtd2VpZ2h0LXRleHQ7XG4vLyAgaGVpZ2h0OiAyMDBweDtcbi8vICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbi8vICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4vLyAgICBmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9Izk5MDAwMDAwLGVuZENvbG9yc3RyPSM5OTAwMDAwMCk7XG4vLyAgICBsZWZ0OiAwO1xuLy8gICAgYm90dG9tOiAtNjVweDtcbi8vICBiYWNrZ3JvdW5kOiB0b21hdG87XG4gICAgZGlzcGxheTogbm9uZTtcbi8vICAgIHotaW5kZXg6IDM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTApO1xuLy8gIGJveC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgcGFkZGluZzogMjBweCA4cHg7XG59XG5cbnVsLnBnd1NsaWRlcixcbi5wZ3dTbGlkZXIgIHVsIHtcbi8vICAgIGZsb2F0OiByaWdodDtcbi8vICAgIHdpZHRoOiAyNSU7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbn1cblxudWwucGd3U2xpZGVyLmxpc3RPblRoZUxlZnQsXG4ucGd3U2xpZGVyLmxpc3RPblRoZUxlZnQgPiB1bCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbnVsLnBnd1NsaWRlciA+IGxpLFxuLnBnd1NsaWRlciA+IC5wcy1saXN0ID4gbGkge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICBvcGFjaXR5OiAwLjY7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9OTApO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xufVxuXG51bC5wZ3dTbGlkZXIgPiBsaTpsYXN0LWNoaWxkLFxuLnBnd1NsaWRlciA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxudWwucGd3U2xpZGVyID4gbGkgc3Bhbixcbi5wZ3dTbGlkZXIgPiAucHMtbGlzdCA+IGxpIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICBmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9Izk5MDAwMDAwLGVuZENvbG9yc3RyPSM5OTAwMDAwMCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG51bC5wZ3dTbGlkZXIgPiBsaTpob3Zlcixcbi5wZ3dTbGlkZXIgPiB1bCA+IGxpOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbnVsLnBnd1NsaWRlciA+IGxpIGltZyxcbi5wZ3dTbGlkZXIgPiB1bCA+IGxpIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDI1MG1zIGxpbmVhcjtcbn1cblxuLnBnd1NsaWRlciAucHMtcHJldkljb24ge1xuICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMTBweCAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGd3U2xpZGVyIC5wcy1uZXh0SWNvbiB7XG4gICAgYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDEwcHggMCAxMHB4IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wZ3dTbGlkZXIgLnBzLWN1cnJlbnQgLnBzLXByZXYge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBmaWx0ZXI6ICBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoR3JhZGllbnRUeXBlPTAsc3RhcnRDb2xvcnN0cj0nIzk5MDAwMDAwJywgZW5kQ29sb3JzdHI9JyM5OTAwMDAwMCcpO1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLHN0YXJ0Q29sb3JzdHI9JyM5OTAwMDAwMCcsIGVuZENvbG9yc3RyPScjOTkwMDAwMDAnKVwiO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDE3cHg7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDQ1JTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wZ3dTbGlkZXIgLnBzLWN1cnJlbnQgLnBzLW5leHQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBmaWx0ZXI6ICBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoR3JhZGllbnRUeXBlPTAsc3RhcnRDb2xvcnN0cj0nIzk5MDAwMDAwJywgZW5kQ29sb3JzdHI9JyM5OTAwMDAwMCcpO1xuICAgIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLHN0YXJ0Q29sb3JzdHI9JyM5OTAwMDAwMCcsIGVuZENvbG9yc3RyPScjOTkwMDAwMDAnKVwiO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nOiAyMHB4IDE3cHggMjBweCAyMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNDUlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLypcbiAqIFRoZSBtZWRpYS1xdWVyaWVzIGFyZSBub3QgdXNlZCBiZWNhdXNlIElFOCBkb2Vzbid0IHN1cHBvcnQgdGhlbS5cbiAqL1xudWwucGd3U2xpZGVyLndpZGUgPiBsaSxcbi5wZ3dTbGlkZXIud2lkZSA+IHVsID4gbGkge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5wZ3dTbGlkZXIubmFycm93IC5wcy1jdXJyZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGd3U2xpZGVyLm5hcnJvdyAucHMtY3VycmVudCBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5wZ3dTbGlkZXIubmFycm93IC5wcy1jdXJyZW50LFxudWwucGd3U2xpZGVyLm5hcnJvdyxcbi5wZ3dTbGlkZXIubmFycm93ID4gdWwge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG51bC5wZ3dTbGlkZXIubmFycm93ID4gbGksXG4ucGd3U2xpZGVyLm5hcnJvdyA+IC5wcy1saXN0ID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgbWF4LWhlaWdodDogNzBweDtcbiAgICBtaW4td2lkdGg6IDE1JTtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG51bC5wZ3dTbGlkZXIubmFycm93Lmxpc3RPblRoZUxlZnQgPiBsaSxcbi5wZ3dTbGlkZXIubmFycm93Lmxpc3RPblRoZUxlZnQgPiB1bCA+IGxpIHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5wZ3dTbGlkZXIubmFycm93IC5wcy1jYXB0aW9uIHtcbi8vICAgIHBhZGRpbmc6IDIwcHggOHB4O1xufVxuXG4ucGd3U2xpZGVyLm5hcnJvdyAucHMtY3VycmVudCAucHMtcHJldiB7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggMTJweDtcbiAgICB0b3A6IDQwJTtcbn1cblxuLnBnd1NsaWRlci5uYXJyb3cgLnBzLWN1cnJlbnQgLnBzLW5leHQge1xuICAgIHBhZGRpbmc6IDE1cHggMTJweCAxNXB4IDE1cHg7XG4gICAgdG9wOiA0MCU7XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn0iXX0= */
