/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */html{font-family:KIA;font-size:87.5%;line-height:1.857em;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;line-height:1.857em;margin:.929em 0}h2{font-size:1.5em;line-height:1.238em;margin:1.238em 0}h3{font-size:1.17em;line-height:1.587em;margin:1.587em 0}h4{font-size:1em;line-height:1.857em;margin:1.857em 0}h5{font-size:.83em;line-height:2.238em;margin:2.238em 0}h6{font-size:.67em;line-height:2.772em;margin:2.772em 0}blockquote,dl,ol,ul{margin:1.857em 0}dd,ol ol,ol ul,ul ol,ul ul{margin:0}ol,ul{padding:0}figcaption,figure{display:block}figure{margin:1.857em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}main{display:block}p,pre{margin:1.857em 0}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#0f1417}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:KIA;font-size:100%;line-height:1.857em;margin:0}button{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}input{overflow:visible}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;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-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;display:table;max-width:100%;padding:0;color:inherit;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}details{display:block}summary{display:list-item}menu{display:block;margin:1.857em 0;padding:0}menu menu,ol menu,ul menu{margin:0}canvas{display:inline-block}[hidden],template{display:none}@font-face{font-family:KIA;font-style:normal;font-weight:700;src:url(../../fonts/KIAB.otf) format("opentype")}@font-face{font-family:KIA;font-style:normal;font-weight:300;src:url(../../fonts/KIAL.otf) format("opentype")}@font-face{font-family:KIA;font-style:normal;font-weight:500;src:url(../../fonts/KIAM.otf) format("opentype")}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}a{color:inherit;text-decoration:none}body,html{overflow-x:hidden}body{font-weight:300;padding-top:7.143em}.container{max-width:1170px;padding-left:15px;padding-right:15px;margin-left:auto;margin-right:auto;width:100%}.container--flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.left-column{width:33.4%;z-index:2}.right-column{width:66.6%;z-index:1;background:gray;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;text-align:left;align-items:flex-start;padding-left:5.4em;padding-bottom:11.2em}.right-column p{color:#fff;font-size:1em;font-weight:500;line-height:1.857em;margin:0;margin-bottom:3.7em;max-width:30em}.right-column h3{font-weight:700;font-size:2.571em;color:#fff;text-transform:uppercase;margin-bottom:.33em;margin-top:.9em}.header{background:#fff;height:7.143em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding-top:.6em;position:fixed;top:0;z-index:4;left:0;right:0;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.1);box-shadow:0 0 0 0 rgba(0,0,0,.1)}.header__button{display:none;height:14px;border:none;background:transparent;padding:0}.header__button:focus{outline:none}.header__button.up span{background:#fff}.header__button.up span:after,.header__button.up span:before{top:0}.header__button.up span:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.header__button.up span:after{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.header__button span{position:relative}.header__button span,.header__button span:after,.header__button span:before{background:#ea0029;height:2px;width:18px;display:block;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.header__button span:after,.header__button span:before{content:"";position:absolute;left:0}.header__button span:after{top:6px}.header__button span:before{top:-6px}.header--fixed{font-size:12px;height:5.143em;-webkit-box-shadow:0 2px 19px 0 rgba(0,0,0,.1);box-shadow:0 2px 19px 0 rgba(0,0,0,.1)}.header .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.header__logo{max-width:16.358em}.navigation{max-width:742px;width:100%;font-size:.857em;color:#05141f;font-weight:700;text-transform:uppercase}.navigation ul{list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin-top:-.5em;margin-bottom:0}.navigation ul li.current-menu-item a:after{opacity:1;bottom:-8px}.navigation ul a{position:relative}.navigation ul a:after{content:"";-webkit-border-radius:1px;border-radius:1px;width:100%;height:2px;position:absolute;background-color:#ea0029;left:0;right:0;bottom:0;opacity:0;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.navigation ul a:hover:after{opacity:1;bottom:-8px}.button{-webkit-border-radius:25px;border-radius:25px;height:3.846em;text-transform:uppercase;background-color:#ea0029;font-size:.929em;font-weight:700;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#fff;padding-left:2.769em;padding-right:2.769em;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;border:none;cursor:pointer}.button:hover{background-color:#8d1424;-webkit-transform:translateY(-1px);-ms-transform:translateY(-1px);transform:translateY(-1px)}.button--full{width:100%;margin-top:2.7em}.button--white{background:#fff;color:#05141f;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.button--white:hover{background:#0f1417;color:#fff}.footer{border-top:5px solid #ea0029;background-color:#0f1417;color:#fff;z-index:3}.footer,.footer .container{position:relative}.footer__scroll{-webkit-border-radius:50%;border-radius:50%;background-color:#ea0029;position:absolute;width:2.857em;height:2.857em;top:-1.6em;right:16px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.footer__scroll:hover{background:#fff}.footer__scroll:hover svg use{fill:#ea0029}.footer__scroll svg{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.footer__scroll svg use{-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.footer__columns{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.footer__columns__contact{padding-top:2.9em;width:17.2%}.footer__columns__contact__social p{font-size:.857em;font-weight:700;text-transform:uppercase;margin-top:2.8em;line-height:1.167em;margin-bottom:2.5em}.footer__columns__contact__social ul{list-style:none;margin:0;padding:0}.footer__columns__contact__phones,.footer__columns__contact__social ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.footer__columns__contact__phones__item{font-size:.857em;font-weight:700}.footer__columns__contact__phones__item span{display:block;text-transform:uppercase;color:#ea0029;margin-bottom:-.9em}.footer__columns__menu{list-style:none;-webkit-column-count:3;-moz-column-count:3;column-count:3;margin:0;font-weight:500;padding-top:45px;width:66%}.copyright,.footer__columns__menu{text-transform:uppercase;font-size:.786em;line-height:3.182em}.copyright{background-color:#0f1417;font-weight:700;color:#fff}.copyright p{margin:.9em 0 1.8em}.copyright .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.widget-try-us{position:fixed;top:249px;background:#ea0029;color:#fff;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);font-size:16px;line-height:normal;-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;right:49px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-transition:all .2s ease;-o-transition:all .2s ease;transition:all .2s ease;z-index:4}.widget-try-us:hover{right:55px;background:#8d1424}.widget-try-us a{display:block;font-weight:700;font-size:14px;padding:26px 23px 10px 25px;text-transform:uppercase}.widget-try-us a span{font-weight:500;display:block;margin-bottom:0;text-transform:none;line-height:19px}.slider{background-color:#fff;color:#fff;margin-bottom:-11.3em}.slider--car{margin-bottom:0}.slider .owl-dots{position:absolute;top:50%;right:113px;margin-top:-5.5em}.slider .owl-dots .owl-dot span{width:20px;display:block;height:2px;-webkit-border-radius:1px;border-radius:1px;background:#fff;margin:15px 0;margin-right:0;margin-left:auto;cursor:pointer;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.slider .owl-dots .owl-dot span:hover{width:30px}.slider .owl-dots .owl-dot.active span{width:40px}.slider h1{font-size:2.571em;text-transform:uppercase;margin-top:.83em;margin-bottom:-.53em}.slider p{font-weight:500;font-size:1em;line-height:1.857em;max-width:29.643em;margin-bottom:0}.slider__element{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding-bottom:7.9em;background-position:bottom;height:52.857em}.slider__element__buttons{margin-top:4.6em}.slider__element__buttons .button{font-size:12px;height:3.4em;padding-left:3em;letter-spacing:0;font-size:11px;letter-spacing:1.1px;background:transparent;color:#fff;border:1px solid #fff;margin-right:.6em}.slider__element__buttons .button svg{margin-right:.9em}.slider__element__buttons .button:hover{border-color:#ea0029;background-color:#ea0029}.slider__element__price{font-size:2.571em;font-weight:700;text-transform:uppercase;margin-top:.65em}.slider__element--car{padding-top:11.2em;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;height:41.557em}.slider__element--car p{font-size:1.4em;font-weight:500;margin-top:.6em}.search-engine{background:#fff;-webkit-border-top-left-radius:40px;border-top-left-radius:40px;-webkit-border-bottom-right-radius:100px;border-bottom-right-radius:100px;padding:4em 4.8em;padding-right:4em;width:149.9%}.search-engine h2{font-size:1.429em;margin:0;margin-bottom:.25em}.search-engine h2,.search-engine h3{text-transform:uppercase;color:#0f1417;font-weight:700}.search-engine h3{font-size:.929em;margin:0;margin-bottom:1.2em}.search-engine__form input{-webkit-border-radius:25px;border-radius:25px;border:1px solid #cdcdcd;height:3.846em;background-color:#fff;text-transform:uppercase;font-weight:700;font-size:.929em;padding-left:1.9em;max-width:26.95em;width:100%}.search-engine__form input::-webkit-input-placeholder{color:#0f1417}.search-engine__form input::-moz-placeholder{color:#0f1417}.search-engine__form input:-ms-input-placeholder{color:#0f1417}.search-engine__form input:-moz-placeholder{color:#0f1417}.search-engine__form button{-webkit-border-radius:25px;border-radius:25px;font-size:.929em;height:3.846em;text-transform:uppercase;font-weight:700;background:#0f1417;border:none;max-width:10.4em;width:100%;color:#fff;margin-left:-3.55em;cursor:pointer;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.search-engine__form button:hover{background-color:#ea0029}.search-engine__form button:focus,.search-engine__form input:focus{outline:none}.latest-cars__column{width:33.33333%}.latest-cars p{text-transform:uppercase;font-weight:500;color:#ccc;font-size:1em;margin-top:.6em}.latest-cars h4{font-size:1.429em;line-height:1.2em;color:#fff;font-weight:700;margin:0;text-transform:uppercase}.latest-cars h4:after{content:"";background:#ea0029;-webkit-border-radius:2px;border-radius:2px;width:20px;height:3px;display:block;margin-top:10px}.latest-car{height:23.357em;padding-left:2.143em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;background:red;position:relative}.latest-car:after{content:"";position:absolute;background-color:rgba(0,0,0,.2);top:0;left:0;bottom:0;right:0;z-index:1;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.latest-car>*{position:relative;z-index:2}.latest-car:hover:after{opacity:0}.latest-car--large{height:46.714em}.cta{padding-top:4.4em;padding-bottom:3.65em;background:#0f1417}.cta .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.cta__element h3{font-size:2.571em;line-height:1.167em;font-weight:700;margin:0;color:#fff;text-transform:uppercase;margin-bottom:-.1em}.cta__element p{color:#fff;font-size:1em;line-height:1.857em;max-width:26.7em;margin-bottom:2.2em}.box{background:#0f1417;color:#fff;-webkit-background-size:cover;background-size:cover}.box:not(.box--video){padding:8.2em 2.1em;padding-right:3em}.box:not(.box--video) h3{font-size:2.571em;font-weight:700;text-transform:uppercase;margin:0;line-height:1.194em;margin-bottom:.55em}.box:not(.box--video) p{font-size:1em;line-height:1.857em;font-weight:500;margin:0;margin-bottom:1.9em}.box--video{font-size:1.429em;font-weight:700;text-transform:uppercase;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-top:3.5em;padding-bottom:3.45em;padding-left:1.4em}.box--video svg{margin-right:1.5em}@media (max-width:767px){html{font-size:70%}.left-column{width:100%}.right-column{width:100%;padding:2em}.header__button{display:block}.navigation{display:none;position:absolute;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;top:100%;background:#fff;margin:0;left:0;right:0}.navigation.up{display:block}.navigation ul{margin:0;list-style:none;padding:10px 16px;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.footer__columns,.navigation ul{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.footer__columns__contact{width:100%}.footer__columns__contact__social ul{-webkit-box-pack:space-evenly;-webkit-justify-content:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.footer__columns__menu{width:100%;-webkit-column-count:2;-moz-column-count:2;column-count:2}.copyright{padding-top:1em;padding-bottom:1em}.copyright p{margin:0}.copyright .container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;text-align:center}.widget-try-us{display:none}.slider{margin-bottom:0}.slider .owl-dots{display:none}.slider__element{padding-bottom:0;height:25em;background-position:50%;-webkit-background-size:cover;background-size:cover}.slider__element__buttons .button{width:100%;margin:1em 0}.slider__element--car{height:auto;padding-bottom:5em}.search-engine{margin-left:-15px;width:-webkit-calc(100% + 30px);width:calc(100% + 30px);-webkit-border-radius:0;border-radius:0;padding:20px}.search-engine__form input{max-width:13.95em}.latest-cars__column{width:100%}.cta .container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.cta__element:first-child{margin-bottom:5em}}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltcG9ydHMvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsInNldHVwL192YXJpYWJsZXMuc2NzcyIsImltcG9ydHMvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsImZyb250cGFnZS5jc3MiLCJzZXR1cC9fbWl4aW5zLnNjc3MiLCJzZXR1cC9fc2V0dXAuc2NzcyIsIm1vZHVsZXMvY29tbW9uL19oZWFkZXIuc2NzcyIsIm1vZHVsZXMvY29tbW9uL19uYXZpZ2F0aW9uLnNjc3MiLCJtb2R1bGVzL2NvbW1vbi9fYnV0dG9uLnNjc3MiLCJtb2R1bGVzL2NvbW1vbi9fZm9vdGVyLnNjc3MiLCJtb2R1bGVzL2NvbW1vbi9fd2lkZ2V0LXRyeS11cy5zY3NzIiwibW9kdWxlcy9mcm9udHBhZ2UvX3NsaWRlci5zY3NzIiwibW9kdWxlcy9mcm9udHBhZ2UvX3NlYXJjaC1lbmdpbmUuc2NzcyIsIm1vZHVsZXMvZnJvbnRwYWdlL19sYXRlc3QtY2Fycy5zY3NzIiwibW9kdWxlcy9mcm9udHBhZ2UvX2N0YS5zY3NzIiwibW9kdWxlcy9jb21tb24vX2JveC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDRSxpRUFBaUUsQUFhL0QsS0FDRSxnQkN4RGdCLEFENERkLGdCQUEwQyxBQUMxQyxvQkFBd0QsQUFLMUQsMEJBQTBCLEFBQzFCLDZCQUE4QixDQUMvQixBQVdELEtBQ0UsUUFBUyxDQUNWLEFBTUQsd0NBTUUsYUFBYyxDQUNmLEFBT0QsR0U5RUYsY0FYdUMsQUErQnZDLG9CQUpzRSxBQUl0RSxlRmtFbUMsQ0FLaEMsQUFHQyxHRTlGSixnQkFYdUMsQUErQnZDLG9CQUpzRSxBQUl0RSxnQkY2RW1DLENBQzlCLEFBRUQsR0VwR0osaUJBWHVDLEFBK0J2QyxvQkFKc0UsQUFJdEUsZ0JGbUZtQyxDQUM5QixBQUVELEdFMUdKLGNBWHVDLEFBK0J2QyxvQkFKc0UsQUFJdEUsZ0JGeUZtQyxDQUM5QixBQUVELEdFaEhKLGdCQVh1QyxBQStC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InNvdXJjZXNDb250ZW50IjpbIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxyXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xyXG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXHJcbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xyXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcclxuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XHJcbiAgfVxyXG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cclxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XHJcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XHJcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcclxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cclxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XHJcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xyXG4gICAgQHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXHJcbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XHJcbiAgICBAcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cclxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcclxuICAgIEByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgQHJldHVybiBmYWxzZTtcclxufVxyXG5cclxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xyXG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxyXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcclxuXHJcbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cclxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcclxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcclxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xyXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXHJcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcclxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxyXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXHJcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcclxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XHJcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xyXG4gIH1cclxuXHJcbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cclxuXHJcbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xyXG4gICAgLyogRG9jdW1lbnRcclxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXHJcbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXHJcbiAgICAgKi9cclxuXHJcbiAgICBodG1sIHtcclxuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXHJcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XHJcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XHJcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cclxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cclxuICAgICAgfVxyXG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xyXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcclxuICAgIC8qIFNlY3Rpb25zXHJcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAgICAgKi9cclxuXHJcbiAgICBib2R5IHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAgICAgKi9cclxuXHJcbiAgICBhcnRpY2xlLFxyXG4gICAgYXNpZGUsXHJcbiAgICBmb290ZXIsXHJcbiAgICBoZWFkZXIsXHJcbiAgICBuYXYsXHJcbiAgICBzZWN0aW9uIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXHJcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxyXG4gICAgICovXHJcblxyXG4gICAgaDEge1xyXG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xyXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xyXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcclxuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xyXG4gICAgICBoMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBoMyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBoNCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBoNSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBoNiB7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XHJcbiAgICAvKiBHcm91cGluZyBjb250ZW50XHJcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRsLFxyXG4gICAgICBvbCxcclxuICAgICAgdWwge1xyXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLyoqXHJcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgIG9sLFxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgb2wsXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgZGQge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG9sLFxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gICAgICovXHJcblxyXG4gICAgZmlnY2FwdGlvbixcclxuICAgIGZpZ3VyZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxyXG4gICAgICovXHJcblxyXG4gICAgZmlndXJlIHtcclxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcclxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cclxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gICAgICovXHJcblxyXG4gICAgaHIge1xyXG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xyXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cclxuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxyXG4gICAgICovXHJcblxyXG4gICAgbWFpbiB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgIHAsXHJcbiAgICAgIHByZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAgICovXHJcblxyXG4gICAgcHJlIHtcclxuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXHJcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XHJcbiAgICAvKiBMaW5rc1xyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cclxuICAgICAqL1xyXG5cclxuICAgIGEge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xyXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcclxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gICAgICovXHJcblxyXG4gICAgYTphY3RpdmUsXHJcbiAgICBhOmhvdmVyIHtcclxuICAgICAgb3V0bGluZS13aWR0aDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xyXG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXHJcbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxyXG4gICAgICovXHJcblxyXG4gICAgYWJiclt0aXRsZV0ge1xyXG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXHJcbiAgICAgKi9cclxuXHJcbiAgICBiLFxyXG4gICAgc3Ryb25nIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxyXG4gICAgICovXHJcblxyXG4gICAgYixcclxuICAgIHN0cm9uZyB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAgICovXHJcblxyXG4gICAgY29kZSxcclxuICAgIGtiZCxcclxuICAgIHNhbXAge1xyXG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cclxuICAgICAqL1xyXG5cclxuICAgIGRmbiB7XHJcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cclxuICAgICAqL1xyXG5cclxuICAgIG1hcmsge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xyXG4gICAgICBjb2xvcjogIzAwMDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAgICovXHJcblxyXG4gICAgc21hbGwge1xyXG4gICAgICBmb250LXNpemU6IDgwJTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxyXG4gICAgICogYWxsIGJyb3dzZXJzLlxyXG4gICAgICovXHJcblxyXG4gICAgc3ViLFxyXG4gICAgc3VwIHtcclxuICAgICAgZm9udC1zaXplOiA3NSU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgIH1cclxuXHJcbiAgICBzdWIge1xyXG4gICAgICBib3R0b206IC0wLjI1ZW07XHJcbiAgICB9XHJcblxyXG4gICAgc3VwIHtcclxuICAgICAgdG9wOiAtMC41ZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XHJcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAgICAgKi9cclxuXHJcbiAgICBhdWRpbyxcclxuICAgIHZpZGVvIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cclxuICAgICAqL1xyXG5cclxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIGhlaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxyXG4gICAgICovXHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAgICAgKi9cclxuXHJcbiAgICBzdmc6bm90KDpyb290KSB7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XHJcbiAgICAvKiBGb3Jtc1xyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAgICAgKi9cclxuXHJcbiAgICBidXR0b24sXHJcbiAgICBpbnB1dCxcclxuICAgIG9wdGdyb3VwLFxyXG4gICAgc2VsZWN0LFxyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cclxuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICAgICAgfVxyXG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gICAgICovXHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cclxuICAgICAqL1xyXG5cclxuICAgIGJ1dHRvbixcclxuICAgIHNlbGVjdCB7IC8qIDEgKi9cclxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcclxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cclxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAgICAgKi9cclxuXHJcbiAgICBidXR0b24sXHJcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXHJcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxyXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbixcclxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxyXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcclxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcclxuXHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cclxuICAgICAqL1xyXG5cclxuICAgIGlucHV0IHtcclxuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXHJcbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxyXG4gICAgICovXHJcblxyXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcclxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cclxuICAgICAqL1xyXG5cclxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gICAgICovXHJcblxyXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xyXG5cclxuICAgICAgLyoqXHJcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gICAgICovXHJcblxyXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXHJcbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gICAgICovXHJcblxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xyXG4gICAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxyXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxyXG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICAgKi9cclxuXHJcbiAgICBsZWdlbmQge1xyXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXHJcbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXHJcbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICAgICAqL1xyXG5cclxuICAgIHByb2dyZXNzIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cclxuICAgICAqL1xyXG5cclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XHJcbiAgICAvKiBJbnRlcmFjdGl2ZVxyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgICAvKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxyXG4gICAgICovXHJcblxyXG4gICAgZGV0YWlscyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICAgKi9cclxuXHJcbiAgICBzdW1tYXJ5IHtcclxuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICAgICAqL1xyXG5cclxuICAgIG1lbnUge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XHJcbiAgICAgICAgLypcclxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxyXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cclxuICAgICAgICAgKi9cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXHJcbiAgICAgICAgICovXHJcblxyXG4gICAgICAgIG1lbnUgJixcclxuICAgICAgICBvbCAmLFxyXG4gICAgICAgIHVsICYge1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcclxuICAgIC8qIFNjcmlwdGluZ1xyXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gICAgICovXHJcblxyXG4gICAgY2FudmFzIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXHJcbiAgICAgKi9cclxuXHJcbiAgICB0ZW1wbGF0ZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xyXG4gICAgLyogSGlkZGVuXHJcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxyXG4gICAgICovXHJcblxyXG4gICAgW2hpZGRlbl0ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIkYmFzZS1mb250LXNpemU6IDE0cHg7XHJcbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4kaW5kZW50LWFtb3VudDogMDtcclxuJGJhc2UtZm9udC1mYW1pbHk6IEtJQTtcclxuXHJcbiRjb2xvci13aGl0ZTogI2ZmZjtcclxuJGNvbG9yLWJsYWNrOiAjMTUxNDE0O1xyXG4kY29sb3ItbWFpbjogI0JBMUEzMDtcclxuXHJcbiRndXR0ZXI6IDE1cHg7XHJcbiRiYXNlLXdpZHRoOiAxMTQwcHg7XHJcblxyXG4kbW9kdWxlLXBhdGggOiAnLi4vbW9kdWxlcy8nO1xyXG4kZm9udC1wYXRoIDogJy4uLy4uL2ZvbnRzLyc7XHJcbiRpbWctcGF0aCA6ICcuLi8uLi9pbWFnZXMvJztcclxuIiwiLy9cclxuLy8gVmVydGljYWwgUmh5dGhtXHJcbi8vXHJcbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXHJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XHJcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxyXG5cclxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcclxuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcclxuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xyXG4gIH1cclxuICBAaWYgJHVuaXQgPT0gcmVtIHtcclxuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XHJcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xyXG4gIH1cclxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcclxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xyXG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XHJcbiAgfVxyXG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XHJcbn1cclxuXHJcbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcclxuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcclxuICAkc2VwOiBzcGFjZTtcclxuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xyXG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xyXG4gIH1cclxuXHJcbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcclxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xyXG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcclxuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xyXG4gICAgfVxyXG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xyXG4gIH1cclxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcclxufVxyXG5cclxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcclxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcclxufVxyXG5cclxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XHJcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XHJcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXHJcbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xyXG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xyXG4gIH1cclxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xyXG59XHJcbiIsIi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4gMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy4gKi9cbmh0bWwgeyBmb250LWZhbWlseTogS0lBOyAvKiAxICovIGZvbnQtc2l6ZTogODcuNSU7IGxpbmUtaGVpZ2h0OiAxLjg1N2VtOyAvKiAyICovIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuICovXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbmFydGljbGUsIGFzaWRlLCBmb290ZXIsIGhlYWRlciwgbmF2LCBzZWN0aW9uIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS4gKi9cbmgxIHsgZm9udC1zaXplOiAyZW07IGxpbmUtaGVpZ2h0OiAxLjg1N2VtOyAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi8gbWFyZ2luOiAwLjkyOWVtIDA7IH1cblxuaDIgeyBmb250LXNpemU6IDEuNWVtOyBsaW5lLWhlaWdodDogMS4yMzhlbTsgbWFyZ2luOiAxLjIzOGVtIDA7IH1cblxuaDMgeyBmb250LXNpemU6IDEuMTdlbTsgbGluZS1oZWlnaHQ6IDEuNTg3ZW07IG1hcmdpbjogMS41ODdlbSAwOyB9XG5cbmg0IHsgZm9udC1zaXplOiAxZW07IGxpbmUtaGVpZ2h0OiAxLjg1N2VtOyBtYXJnaW46IDEuODU3ZW0gMDsgfVxuXG5oNSB7IGZvbnQtc2l6ZTogMC44M2VtOyBsaW5lLWhlaWdodDogMi4yMzhlbTsgbWFyZ2luOiAyLjIzOGVtIDA7IH1cblxuaDYgeyBmb250LXNpemU6IDAuNjdlbTsgbGluZS1oZWlnaHQ6IDIuNzcyZW07IG1hcmdpbjogMi43NzJlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLiAqL1xuYmxvY2txdW90ZSB7IG1hcmdpbjogMS44NTdlbSAwOyB9XG5cbmRsLCBvbCwgdWwgeyBtYXJnaW46IDEuODU3ZW0gMDsgfVxuXG4vKiogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuICovXG5vbCBvbCwgb2wgdWwsIHVsIG9sLCB1bCB1bCB7IG1hcmdpbjogMDsgfVxuXG5kZCB7IG1hcmdpbjogMCAwIDAgMDsgfVxuXG5vbCwgdWwgeyBwYWRkaW5nOiAwIDAgMCAwOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbmZpZ2NhcHRpb24sIGZpZ3VyZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguICovXG5maWd1cmUgeyBtYXJnaW46IDEuODU3ZW0gMDsgfVxuXG4vKiogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC4gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuICovXG5ociB7IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovIGhlaWdodDogMDsgLyogMSAqLyBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqLyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS4gKi9cbm1haW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi4gKi9cbnAsIHByZSB7IG1hcmdpbjogMS44NTdlbSAwOyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuICovXG5wcmUgeyBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi8gZm9udC1zaXplOiAxZW07IC8qIDIgKi8gfVxuXG4vKiBMaW5rcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC4gMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLiAqL1xuYSB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi8gfVxuXG4vKiogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLiAqL1xuYTphY3RpdmUsIGE6aG92ZXIgeyBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLiAqL1xuYWJiclt0aXRsZV0geyBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqLyB9XG5cbi8qKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi4gKi9cbmIsIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLiAqL1xuYiwgc3Ryb25nIHsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLiAqL1xuY29kZSwga2JkLCBzYW1wIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovIH1cblxuLyoqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS4gKi9cbmRmbiB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLiAqL1xubWFyayB7IGJhY2tncm91bmQtY29sb3I6ICNmZjA7IGNvbG9yOiAjMDAwOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKi9cbnNtYWxsIHsgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuICovXG5zdWIsIHN1cCB7IGZvbnQtc2l6ZTogNzUlOyBsaW5lLWhlaWdodDogMDsgcG9zaXRpb246IHJlbGF0aXZlOyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gKi9cbmF1ZGlvLCB2aWRlbyB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7IGRpc3BsYXk6IG5vbmU7IGhlaWdodDogMDsgfVxuXG4vKiogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uICovXG5pbWcgeyBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLiAqL1xuc3ZnOm5vdCg6cm9vdCkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLiAqL1xuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEgeyBmb250LWZhbWlseTogS0lBOyAvKiAxICovIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqLyBsaW5lLWhlaWdodDogMS44NTdlbTsgLyogMSAqLyBtYXJnaW46IDA7IC8qIDIgKi8gfVxuXG4vKiogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuICovXG5idXR0b24geyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKiogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC4gKi9cbmJ1dHRvbiwgc2VsZWN0IHsgLyogMSAqLyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKiogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gIGNvbnRyb2xzIGluIEFuZHJvaWQgNC4gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS4gKi9cbmJ1dHRvbiwgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3R5cGU9XCJzdWJtaXRcIl0geyAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqLyB9XG5cbmJ1dHRvbiwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFt0eXBlPVwic3VibWl0XCJdIHsgLyoqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guICovIC8qKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuICovIH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIgeyBib3JkZXItc3R5bGU6IG5vbmU7IHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZywgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZywgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3JpbmcgeyBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuICovXG5pbnB1dCB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uICovXG5bdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqLyBwYWRkaW5nOiAwOyAvKiAyICovIH1cblxuLyoqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7IGhlaWdodDogYXV0bzsgfVxuXG4vKiogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0geyAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqLyBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqLyAvKiogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy4gKi8gfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24geyAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqLyBmb250OiBpbmhlcml0OyAvKiAyICovIH1cblxuLyoqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLiAqL1xuZmllbGRzZXQgeyBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwOyBtYXJnaW46IDAgMnB4OyBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS4gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dCBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy4gKi9cbmxlZ2VuZCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi8gZGlzcGxheTogdGFibGU7IC8qIDEgKi8gbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovIHBhZGRpbmc6IDA7IC8qIDMgKi8gY29sb3I6IGluaGVyaXQ7IC8qIDIgKi8gd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqLyB9XG5cbi8qKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4gMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS4gKi9cbnByb2dyZXNzIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqLyB9XG5cbi8qKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLiAqL1xudGV4dGFyZWEgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBJbnRlcmFjdGl2ZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LiAqL1xuZGV0YWlscyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy4gKi9cbnN1bW1hcnkgeyBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uICovXG5tZW51IHsgZGlzcGxheTogYmxvY2s7IC8qIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS4gKi8gbWFyZ2luOiAxLjg1N2VtIDA7IC8qIDEgKi8gcGFkZGluZzogMCAwIDAgMDsgLyogMiAqLyAvKiogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuICovIH1cblxubWVudSBtZW51LCBvbCBtZW51LCB1bCBtZW51IHsgbWFyZ2luOiAwOyB9XG5cbi8qIFNjcmlwdGluZyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLiAqL1xuY2FudmFzIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS4gKi9cbnRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uICovXG5baGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBcIktJQVwiOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBib2xkOyBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL0tJQUIub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpOyB9XG5cbkBmb250LWZhY2UgeyBmb250LWZhbWlseTogXCJLSUFcIjsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogMzAwOyBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL0tJQUwub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpOyB9XG5cbkBmb250LWZhY2UgeyBmb250LWZhbWlseTogXCJLSUFcIjsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogNTAwOyBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL0tJQU0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpOyB9XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5hIHsgY29sb3I6IGluaGVyaXQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5odG1sIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyBodG1sIHsgZm9udC1zaXplOiA3MCU7IH0gfVxuXG5ib2R5IHsgb3ZlcmZsb3cteDogaGlkZGVuOyBmb250LXdlaWdodDogMzAwOyBwYWRkaW5nLXRvcDogNy4xNDNlbTsgfVxuXG4uY29udGFpbmVyIHsgbWF4LXdpZHRoOiAxMTcwcHg7IHBhZGRpbmctbGVmdDogMTVweDsgcGFkZGluZy1yaWdodDogMTVweDsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgd2lkdGg6IDEwMCU7IH1cblxuLmNvbnRhaW5lci0tZmxleCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4ubGVmdC1jb2x1bW4geyB3aWR0aDogMzMuNCU7IHotaW5kZXg6IDI7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5sZWZ0LWNvbHVtbiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuLnJpZ2h0LWNvbHVtbiB7IHdpZHRoOiA2Ni42JTsgei1pbmRleDogMTsgYmFja2dyb3VuZDogZ3JheTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IHRleHQtYWxpZ246IGxlZnQ7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBwYWRkaW5nLWxlZnQ6IDUuNGVtOyBwYWRkaW5nLWJvdHRvbTogMTEuMmVtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAucmlnaHQtY29sdW1uIHsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDJlbTsgfSB9XG5cbi5yaWdodC1jb2x1bW4gcCB7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6IDFlbTsgZm9udC13ZWlnaHQ6IDUwMDsgbGluZS1oZWlnaHQ6IDEuODU3ZW07IG1hcmdpbjogMDsgbWFyZ2luLWJvdHRvbTogMy43ZW07IG1heC13aWR0aDogMzBlbTsgfVxuXG4ucmlnaHQtY29sdW1uIGgzIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6ZTogMi41NzFlbTsgY29sb3I6ICNmZmY7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi1ib3R0b206IDAuMzNlbTsgbWFyZ2luLXRvcDogMC45ZW07IH1cblxuLmhlYWRlciB7IGJhY2tncm91bmQ6ICNmZmY7IGhlaWdodDogNy4xNDNlbTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZy10b3A6IDAuNmVtOyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgei1pbmRleDogOTk5OyBsZWZ0OiAwOyByaWdodDogMDsgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyBib3gtc2hhZG93OiAwIDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uaGVhZGVyX19idXR0b24geyBkaXNwbGF5OiBub25lOyBoZWlnaHQ6IDE0cHg7IGJvcmRlcjogbm9uZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IHBhZGRpbmc6IDA7IH1cblxuLmhlYWRlcl9fYnV0dG9uOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLmhlYWRlcl9fYnV0dG9uIHsgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uaGVhZGVyX19idXR0b24udXAgc3BhbiB7IGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmhlYWRlcl9fYnV0dG9uLnVwIHNwYW46YmVmb3JlLCAuaGVhZGVyX19idXR0b24udXAgc3BhbjphZnRlciB7IHRvcDogMDsgfVxuXG4uaGVhZGVyX19idXR0b24udXAgc3BhbjpiZWZvcmUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLmhlYWRlcl9fYnV0dG9uLnVwIHNwYW46YWZ0ZXIgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5oZWFkZXJfX2J1dHRvbiBzcGFuIHsgYmFja2dyb3VuZDogI0JBMUEzMDsgcG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDJweDsgd2lkdGg6IDE4cHg7IGRpc3BsYXk6IGJsb2NrOyB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cblxuLmhlYWRlcl9fYnV0dG9uIHNwYW46YWZ0ZXIsIC5oZWFkZXJfX2J1dHRvbiBzcGFuOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyBiYWNrZ3JvdW5kOiAjQkExQTMwOyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyBoZWlnaHQ6IDJweDsgd2lkdGg6IDE4cHg7IHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxuXG4uaGVhZGVyX19idXR0b24gc3BhbjphZnRlciB7IHRvcDogNnB4OyB9XG5cbi5oZWFkZXJfX2J1dHRvbiBzcGFuOmJlZm9yZSB7IHRvcDogLTZweDsgfVxuXG4uaGVhZGVyLS1maXhlZCB7IGZvbnQtc2l6ZTogMTJweDsgaGVpZ2h0OiA1LjE0M2VtOyBib3gtc2hhZG93OiAwIDJweCAxOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLmhlYWRlciAuY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5oZWFkZXJfX2xvZ28geyBtYXgtd2lkdGg6IDE2LjM1OGVtOyB9XG5cbi5uYXZpZ2F0aW9uIHsgbWF4LXdpZHRoOiA3NDJweDsgd2lkdGg6IDEwMCU7IGZvbnQtc2l6ZTogMC44NTdlbTsgY29sb3I6ICMxNTE0MTQ7IGZvbnQtd2VpZ2h0OiBib2xkOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAubmF2aWdhdGlvbiB7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgdG9wOiAxMDAlOyBiYWNrZ3JvdW5kOiB3aGl0ZTsgbWFyZ2luOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgfVxuICAubmF2aWdhdGlvbi51cCB7IGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLm5hdmlnYXRpb24gdWwgeyBsaXN0LXN0eWxlOiBub25lOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IG1hcmdpbi10b3A6IC0wLjVlbTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLm5hdmlnYXRpb24gdWwgeyBtYXJnaW46IDA7IGxpc3Qtc3R5bGU6IG5vbmU7IHBhZGRpbmc6IDEwcHggMTZweDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuXG4ubmF2aWdhdGlvbiB1bCBsaS5jdXJyZW50LW1lbnUtaXRlbSBhOmFmdGVyIHsgb3BhY2l0eTogMTsgYm90dG9tOiAtOHB4OyB9XG5cbi5uYXZpZ2F0aW9uIHVsIGEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm5hdmlnYXRpb24gdWwgYTphZnRlciB7IGNvbnRlbnQ6ICcnOyBib3JkZXItcmFkaXVzOiAxcHg7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDJweDsgcG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQkExQTMwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyBvcGFjaXR5OiAwOyB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cblxuLm5hdmlnYXRpb24gdWwgYTpob3ZlcjphZnRlciB7IG9wYWNpdHk6IDE7IGJvdHRvbTogLThweDsgfVxuXG4uYnV0dG9uIHsgYm9yZGVyLXJhZGl1czogMjVweDsgaGVpZ2h0OiAzLjg0NmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQkExQTMwOyBmb250LXNpemU6IDAuOTI5ZW07IGZvbnQtd2VpZ2h0OiBib2xkOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgY29sb3I6ICNmZmY7IHBhZGRpbmctbGVmdDogMi43NjllbTsgcGFkZGluZy1yaWdodDogMi43NjllbTsgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyBib3JkZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uYnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzhkMTQyNDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG5cbi5idXR0b24tLWZ1bGwgeyB3aWR0aDogMTAwJTsgbWFyZ2luLXRvcDogMi43ZW07IH1cblxuLmJ1dHRvbi0td2hpdGUgeyBiYWNrZ3JvdW5kOiAjZmZmOyBjb2xvcjogIzE1MTQxNDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmJ1dHRvbi0td2hpdGU6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjMDAwOyBjb2xvcjogI2ZmZjsgfVxuXG4uZm9vdGVyIHsgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNCQTFBMzA7IGJhY2tncm91bmQtY29sb3I6ICMwMjAyMDI7IGNvbG9yOiAjZmZmOyB6LWluZGV4OiAxMDsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mb290ZXIgLmNvbnRhaW5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZm9vdGVyX19zY3JvbGwgeyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQtY29sb3I6ICNCQTFBMzA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDIuODU3ZW07IGhlaWdodDogMi44NTdlbTsgdG9wOiAtMS42ZW07IHJpZ2h0OiAxNnB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9XG5cbi5mb290ZXJfX3Njcm9sbDpob3ZlciB7IGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmZvb3Rlcl9fc2Nyb2xsOmhvdmVyIHN2ZyB1c2UgeyBmaWxsOiAjQkExQTMwOyB9XG5cbi5mb290ZXJfX3Njcm9sbCBzdmcgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5mb290ZXJfX3Njcm9sbCBzdmcgdXNlIHsgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9XG5cbi5mb290ZXJfX2NvbHVtbnMgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5mb290ZXJfX2NvbHVtbnMgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuLmZvb3Rlcl9fY29sdW1uc19fY29udGFjdCB7IHBhZGRpbmctdG9wOiAyLjllbTsgd2lkdGg6IDE3LjIlOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuZm9vdGVyX19jb2x1bW5zX19jb250YWN0IHsgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZm9vdGVyX19jb2x1bW5zX19jb250YWN0X19zb2NpYWwgcCB7IGZvbnQtc2l6ZTogMC44NTdlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi10b3A6IDIuOGVtOyBsaW5lLWhlaWdodDogMS4xNjdlbTsgbWFyZ2luLWJvdHRvbTogMi41ZW07IH1cblxuLmZvb3Rlcl9fY29sdW1uc19fY29udGFjdF9fc29jaWFsIHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgZGlzcGxheTogZmxleDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5mb290ZXJfX2NvbHVtbnNfX2NvbnRhY3RfX3NvY2lhbCB1bCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9IH1cblxuLmZvb3Rlcl9fY29sdW1uc19fY29udGFjdF9fcGhvbmVzIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5mb290ZXJfX2NvbHVtbnNfX2NvbnRhY3RfX3Bob25lc19faXRlbSB7IGZvbnQtc2l6ZTogMC44NTdlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmZvb3Rlcl9fY29sdW1uc19fY29udGFjdF9fcGhvbmVzX19pdGVtIHNwYW4geyBkaXNwbGF5OiBibG9jazsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICNCQTFBMzA7IG1hcmdpbi1ib3R0b206IC0wLjllbTsgfVxuXG4uZm9vdGVyX19jb2x1bW5zX19tZW51IHsgbGlzdC1zdHlsZTogbm9uZTsgY29sdW1uLWNvdW50OiAzOyBtYXJnaW46IDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtc2l6ZTogMC43ODZlbTsgbGluZS1oZWlnaHQ6IDMuMTgyZW07IGZvbnQtd2VpZ2h0OiA1MDA7IHBhZGRpbmctdG9wOiA0NXB4OyB3aWR0aDogNjYlOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuZm9vdGVyX19jb2x1bW5zX19tZW51IHsgd2lkdGg6IDEwMCU7IGNvbHVtbi1jb3VudDogMjsgfSB9XG5cbi5jb3B5cmlnaHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDIwMjAyOyBmb250LXNpemU6IDAuNzg2ZW07IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdodDogMy4xODJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICNmZmY7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5jb3B5cmlnaHQgeyBwYWRkaW5nLXRvcDogMWVtOyBwYWRkaW5nLWJvdHRvbTogMWVtOyB9IH1cblxuLmNvcHlyaWdodCBwIHsgbWFyZ2luOiAuOWVtIDAgMS44ZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5jb3B5cmlnaHQgcCB7IG1hcmdpbjogMDsgfSB9XG5cbi5jb3B5cmlnaHQgLmNvbnRhaW5lciB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLmNvcHlyaWdodCAuY29udGFpbmVyIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLndpZGdldC10cnktdXMgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMjQ5cHg7IGJhY2tncm91bmQ6ICNCQTFBMzA7IGNvbG9yOiAjZmZmOyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgcmlnaHQ6IDQ5cHg7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlOyB6LWluZGV4OiA5OTk7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC53aWRnZXQtdHJ5LXVzIHsgZGlzcGxheTogbm9uZTsgfSB9XG5cbi53aWRnZXQtdHJ5LXVzOmhvdmVyIHsgcmlnaHQ6IDU1cHg7IGJhY2tncm91bmQ6ICM4ZDE0MjQ7IH1cblxuLndpZGdldC10cnktdXMgYSB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDE0cHg7IHBhZGRpbmc6IDI2cHggMjNweCAxMHB4IDI1cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLndpZGdldC10cnktdXMgYSBzcGFuIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtd2VpZ2h0OiA1MDA7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAwOyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgbGluZS1oZWlnaHQ6IDE5cHg7IH1cblxuLnNsaWRlciB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGNvbG9yOiAjZmZmOyBtYXJnaW4tYm90dG9tOiAtMTEuM2VtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuc2xpZGVyIHsgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5zbGlkZXItLWNhciB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnNsaWRlciAub3dsLWRvdHMgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyByaWdodDogMTEzcHg7IG1hcmdpbi10b3A6IC01LjVlbTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLnNsaWRlciAub3dsLWRvdHMgeyBkaXNwbGF5OiBub25lOyB9IH1cblxuLnNsaWRlciAub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7IHdpZHRoOiAyMHB4OyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAycHg7IGJvcmRlci1yYWRpdXM6IDFweDsgYmFja2dyb3VuZDogI2ZmZjsgbWFyZ2luOiAxNXB4IDA7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IGF1dG87IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9XG5cbi5zbGlkZXIgLm93bC1kb3RzIC5vd2wtZG90IHNwYW46aG92ZXIgeyB3aWR0aDogMzBweDsgfVxuXG4uc2xpZGVyIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUgc3BhbiB7IHdpZHRoOiA0MHB4OyB9XG5cbi5zbGlkZXIgaDEgeyBmb250LXNpemU6IDIuNTcxZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi10b3A6IDAuODNlbTsgbWFyZ2luLWJvdHRvbTogLTAuNTNlbTsgfVxuXG4uc2xpZGVyIHAgeyBmb250LXdlaWdodDogNTAwOyBmb250LXNpemU6IDFlbTsgbGluZS1oZWlnaHQ6IDEuODU3ZW07IG1heC13aWR0aDogMjkuNjQzZW07IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnNsaWRlcl9fZWxlbWVudCB7IGhlaWdodDogMTAwJTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZy1ib3R0b206IDcuOWVtOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tOyBoZWlnaHQ6IDUyLjg1N2VtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuc2xpZGVyX19lbGVtZW50IHsgcGFkZGluZy1ib3R0b206IDA7IGhlaWdodDogMjVlbTsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH1cblxuLnNsaWRlcl9fZWxlbWVudF9fYnV0dG9ucyB7IG1hcmdpbi10b3A6IDQuNmVtOyB9XG5cbi5zbGlkZXJfX2VsZW1lbnRfX2J1dHRvbnMgLmJ1dHRvbiB7IGZvbnQtc2l6ZTogMTJweDsgaGVpZ2h0OiAzLjRlbTsgcGFkZGluZy1sZWZ0OiAzZW07IGxldHRlci1zcGFjaW5nOiAwOyBmb250LXNpemU6IDExcHg7IGxldHRlci1zcGFjaW5nOiAxLjFweDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiB3aGl0ZTsgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7IG1hcmdpbi1yaWdodDogMC42ZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5zbGlkZXJfX2VsZW1lbnRfX2J1dHRvbnMgLmJ1dHRvbiB7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDFlbSAwOyB9IH1cblxuLnNsaWRlcl9fZWxlbWVudF9fYnV0dG9ucyAuYnV0dG9uIHN2ZyB7IG1hcmdpbi1yaWdodDogMC45ZW07IH1cblxuLnNsaWRlcl9fZWxlbWVudF9fYnV0dG9ucyAuYnV0dG9uOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiAjQkExQTMwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQkExQTMwOyB9XG5cbi5zbGlkZXJfX2VsZW1lbnRfX3ByaWNlIHsgZm9udC1zaXplOiAyLjU3MWVtOyBmb250LXdlaWdodDogYm9sZDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luLXRvcDogMC42NWVtOyB9XG5cbi5zbGlkZXJfX2VsZW1lbnQtLWNhciB7IHBhZGRpbmctdG9wOiAxMS4yZW07IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBoZWlnaHQ6IDQxLjU1N2VtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuc2xpZGVyX19lbGVtZW50LS1jYXIgeyBoZWlnaHQ6IGF1dG87IHBhZGRpbmctYm90dG9tOiA1ZW07IH0gfVxuXG4uc2xpZGVyX19lbGVtZW50LS1jYXIgcCB7IGZvbnQtc2l6ZTogMS40ZW07IGZvbnQtd2VpZ2h0OiA1MDA7IG1hcmdpbi10b3A6IDAuNmVtOyB9XG5cbi5zZWFyY2gtZW5naW5lIHsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNDBweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwMHB4OyBwYWRkaW5nOiA0ZW0gNC44ZW07IHBhZGRpbmctcmlnaHQ6IDRlbTsgd2lkdGg6IDE0OS45JTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsgLnNlYXJjaC1lbmdpbmUgeyBtYXJnaW4tbGVmdDogLTE1cHg7IHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTsgYm9yZGVyLXJhZGl1czogMDsgcGFkZGluZzogMjBweDsgfSB9XG5cbi5zZWFyY2gtZW5naW5lIGgyIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6ICMwMDA7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMS40MjllbTsgbWFyZ2luOiAwOyBtYXJnaW4tYm90dG9tOiAwLjI1ZW07IH1cblxuLnNlYXJjaC1lbmdpbmUgaDMgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogIzAwMDsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAwLjkyOWVtOyBtYXJnaW46IDA7IG1hcmdpbi1ib3R0b206IDEuMmVtOyB9XG5cbi5zZWFyY2gtZW5naW5lX19mb3JtIGlucHV0IHsgYm9yZGVyLXJhZGl1czogMjVweDsgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDsgaGVpZ2h0OiAzLjg0NmVtOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAwLjkyOWVtOyBwYWRkaW5nLWxlZnQ6IDEuOWVtOyBtYXgtd2lkdGg6IDI2Ljk1ZW07IHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuc2VhcmNoLWVuZ2luZV9fZm9ybSBpbnB1dCB7IG1heC13aWR0aDogMTMuOTVlbTsgfSB9XG5cbi5zZWFyY2gtZW5naW5lX19mb3JtIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqLyBjb2xvcjogIzAwMDsgfVxuXG4uc2VhcmNoLWVuZ2luZV9fZm9ybSBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovIGNvbG9yOiAjMDAwOyB9XG5cbi5zZWFyY2gtZW5naW5lX19mb3JtIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqLyBjb2xvcjogIzAwMDsgfVxuXG4uc2VhcmNoLWVuZ2luZV9fZm9ybSBpbnB1dDotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi8gY29sb3I6ICMwMDA7IH1cblxuLnNlYXJjaC1lbmdpbmVfX2Zvcm0gYnV0dG9uIHsgYm9yZGVyLXJhZGl1czogMjVweDsgZm9udC1zaXplOiAwLjkyOWVtOyBoZWlnaHQ6IDMuODQ2ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtd2VpZ2h0OiBib2xkOyBiYWNrZ3JvdW5kOiAjMDAwOyBib3JkZXI6IG5vbmU7IG1heC13aWR0aDogMTAuNGVtOyB3aWR0aDogMTAwJTsgY29sb3I6ICNmZmY7IG1hcmdpbi1sZWZ0OiAtMy41NWVtOyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxuXG4uc2VhcmNoLWVuZ2luZV9fZm9ybSBidXR0b246aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjQkExQTMwOyB9XG5cbi5zZWFyY2gtZW5naW5lX19mb3JtIGJ1dHRvbjpmb2N1cywgLnNlYXJjaC1lbmdpbmVfX2Zvcm0gaW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi5sYXRlc3QtY2Fyc19fY29sdW1uIHsgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAubGF0ZXN0LWNhcnNfX2NvbHVtbiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuLmxhdGVzdC1jYXJzIHAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogI2NjYzsgZm9udC1zaXplOiAxZW07IG1hcmdpbi10b3A6IDAuNmVtOyB9XG5cbi5sYXRlc3QtY2FycyBoNCB7IGZvbnQtc2l6ZTogMS40MjllbTsgbGluZS1oZWlnaHQ6IDEuMmVtOyBjb2xvcjogI2ZmZjsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbjogMDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubGF0ZXN0LWNhcnMgaDQ6YWZ0ZXIgeyBjb250ZW50OiAnJzsgYmFja2dyb3VuZDogI0JBMUEzMDsgYm9yZGVyLXJhZGl1czogMnB4OyB3aWR0aDogMjBweDsgaGVpZ2h0OiAzcHg7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5sYXRlc3QtY2FyIHsgaGVpZ2h0OiAyMy4zNTdlbTsgcGFkZGluZy1sZWZ0OiAyLjE0M2VtOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyBiYWNrZ3JvdW5kOiByZWQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubGF0ZXN0LWNhcjphZnRlciB7IGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTsgdG9wOiAwOyBsZWZ0OiAwOyBib3R0b206IDA7IHJpZ2h0OiAwOyB6LWluZGV4OiAxOyB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cblxuLmxhdGVzdC1jYXIgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyOyB9XG5cbi5sYXRlc3QtY2FyOmhvdmVyOmFmdGVyIHsgb3BhY2l0eTogMDsgfVxuXG4ubGF0ZXN0LWNhci0tbGFyZ2UgeyBoZWlnaHQ6IDQ2LjcxNGVtOyB9XG5cbi5jdGEgeyBwYWRkaW5nLXRvcDogNC40ZW07IHBhZGRpbmctYm90dG9tOiAzLjY1ZW07IGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLmN0YSAuY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyAuY3RhIC5jb250YWluZXIgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IC5jdGFfX2VsZW1lbnQ6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiA1ZW07IH0gfVxuXG4uY3RhX19lbGVtZW50IGgzIHsgZm9udC1zaXplOiAyLjU3MWVtOyBsaW5lLWhlaWdodDogMS4xNjdlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IG1hcmdpbjogMDsgY29sb3I6ICNmZmY7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1hcmdpbi1ib3R0b206IC0wLjFlbTsgfVxuXG4uY3RhX19lbGVtZW50IHAgeyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAxZW07IGxpbmUtaGVpZ2h0OiAxLjg1N2VtOyBtYXgtd2lkdGg6IDI2LjdlbTsgbWFyZ2luLWJvdHRvbTogMi4yZW07IH1cblxuLmJveCB7IGJhY2tncm91bmQ6ICMwMDA7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5ib3g6bm90KC5ib3gtLXZpZGVvKSB7IHBhZGRpbmc6IDguMmVtIDIuMWVtOyBwYWRkaW5nLXJpZ2h0OiAzZW07IH1cblxuLmJveDpub3QoLmJveC0tdmlkZW8pIGgzIHsgZm9udC1zaXplOiAyLjU3MWVtOyBmb250LXdlaWdodDogYm9sZDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbWFyZ2luOiAwOyBsaW5lLWhlaWdodDogMS4xOTRlbTsgbWFyZ2luLWJvdHRvbTogMC41NWVtOyB9XG5cbi5ib3g6bm90KC5ib3gtLXZpZGVvKSBwIHsgZm9udC1zaXplOiAxZW07IGxpbmUtaGVpZ2h0OiAxLjg1N2VtOyBmb250LXdlaWdodDogNTAwOyBtYXJnaW46IDA7IG1hcmdpbi1ib3R0b206IDEuOWVtOyB9XG5cbi5ib3gtLXZpZGVvIHsgZm9udC1zaXplOiAxLjQyOWVtOyBmb250LXdlaWdodDogYm9sZDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZGlzcGxheTogZmxleDsgcGFkZGluZy10b3A6IDMuNWVtOyBwYWRkaW5nLWJvdHRvbTogMy40NWVtOyBwYWRkaW5nLWxlZnQ6IDEuNGVtOyB9XG5cbi5ib3gtLXZpZGVvIHN2ZyB7IG1hcmdpbi1yaWdodDogMS41ZW07IH1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlci1jb2xvcigkY29sb3IpIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovXHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBTdHJpbmcgUmVwbGFjZVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XHJcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XHJcblxyXG4gIEBpZiAkaW5kZXgge1xyXG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkc3RyaW5nO1xyXG59XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBGb250IEZhY2VcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoJG5hbWUsICRwYXRoLCAkd2VpZ2h0OiBudWxsLCAkc3R5bGU6IG51bGwsICRleHRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XHJcbiAgJHNyYzogbnVsbDtcclxuXHJcbiAgJGV4dG1vZHM6IChcclxuICAgICAgICAgIGVvdDogXCI/XCIsXHJcbiAgICAgICAgICBzdmc6IFwiI1wiICsgc3RyLXJlcGxhY2UoJG5hbWUsIFwiIFwiLCBcIl9cIilcclxuICApO1xyXG5cclxuICAkZm9ybWF0czogKFxyXG4gICAgICAgICAgb3RmOiBcIm9wZW50eXBlXCIsXHJcbiAgICAgICAgICB0dGY6IFwidHJ1ZXR5cGVcIlxyXG4gICk7XHJcblxyXG4gIEBlYWNoICRleHQgaW4gJGV4dHMge1xyXG4gICAgJGV4dG1vZDogaWYobWFwLWhhcy1rZXkoJGV4dG1vZHMsICRleHQpLCAkZXh0ICsgbWFwLWdldCgkZXh0bW9kcywgJGV4dCksICRleHQpO1xyXG4gICAgJGZvcm1hdDogaWYobWFwLWhhcy1rZXkoJGZvcm1hdHMsICRleHQpLCBtYXAtZ2V0KCRmb3JtYXRzLCAkZXh0KSwgJGV4dCk7XHJcbiAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKHF1b3RlKCRwYXRoICsgXCIuXCIgKyAkZXh0bW9kKSkgZm9ybWF0KHF1b3RlKCRmb3JtYXQpKSwgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICBzcmM6ICRzcmM7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCJfdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJfbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi9pbXBvcnRzL25vcm1hbGl6ZS9faW1wb3J0LW5vd1wiO1xyXG5cclxuQGluY2x1ZGUgZm9udC1mYWNlKEtJQSwgJGZvbnQtcGF0aCArIFwiS0lBQlwiLCBib2xkLCBub3JtYWwsIG90Zik7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZShLSUEsICRmb250LXBhdGggKyBcIktJQUxcIiwgMzAwLCBub3JtYWwsIG90Zik7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZShLSUEsICRmb250LXBhdGggKyBcIktJQU1cIiwgNTAwLCBub3JtYWwsIG90Zik7XHJcblxyXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuYSB7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5cclxuaHRtbCB7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cclxuICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG5cclxuICAgIGZvbnQtc2l6ZTogNzAlO1xyXG4gIH1cclxufVxyXG5cclxuYm9keSB7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgcGFkZGluZy10b3A6IG5vcm1hbGl6ZS1yaHl0aG0oMTAwcHgpO1xyXG59XHJcblxyXG4uY29udGFpbmVyIHtcclxuICBtYXgtd2lkdGg6ICRiYXNlLXdpZHRoICsgJGd1dHRlciAqIDI7XHJcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gICYtLWZsZXgge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcbn1cclxuXHJcbi5sZWZ0LWNvbHVtbiB7XHJcbiAgd2lkdGg6IDMzLjQlO1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLnJpZ2h0LWNvbHVtbiB7XHJcblxyXG4gIHdpZHRoOiA2Ni42JTtcclxuICB6LWluZGV4OiAxO1xyXG4gIGJhY2tncm91bmQ6IGdyYXk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICBwYWRkaW5nLWxlZnQ6IDUuNGVtO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMS4yZW07XHJcbiAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMmVtO1xyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgxNHB4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsaXplLXJoeXRobSgyNnB4LCAxNHB4KTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMuN2VtO1xyXG4gICAgbWF4LXdpZHRoOiAzMGVtO1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMzZweCk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMzZW07XHJcbiAgICBtYXJnaW4tdG9wOiAwLjllbTtcclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuQGltcG9ydCBcIl9jb21tb25cIjtcclxuIiwiLmhlYWRlciB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBoZWlnaHQ6IG5vcm1hbGl6ZS1yaHl0aG0oMTAwcHgpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nLXRvcDogMC42ZW07XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICB6LWluZGV4OiA5OTk7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgYm94LXNoYWRvdzogMCAwcHggMHB4IDBweCByZ2JhKDAsMCwwLDAuMSk7XHJcblxyXG4gICZfX2J1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICYudXAge1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1tYWluO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICB3aWR0aDogMThweDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuXHJcbiAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbWFpbjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIHRvcDogNnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgdG9wOiAtNnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tZml4ZWQge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgaGVpZ2h0OiA1LjE0M2VtO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggMTlweCAwcHggcmdiYSgwLDAsMCwwLjEpO1xyXG4gIH1cclxuXHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcblxyXG4gICZfX2xvZ28ge1xyXG4gICAgbWF4LXdpZHRoOiAxNi4zNThlbTtcclxuICB9XHJcbn1cclxuIiwiLm5hdmlnYXRpb24ge1xyXG4gIG1heC13aWR0aDogNzQycHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG5cclxuICAgICYudXAge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luLXRvcDogLTAuNWVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgcGFkZGluZzogMTBweCAxNnB4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIH1cclxuXHJcbiAgICBsaS5jdXJyZW50LW1lbnUtaXRlbSB7XHJcbiAgICAgIGE6YWZ0ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgYm90dG9tOiAtOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbjtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICBib3R0b206IC04cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKDEycHgpO1xyXG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG4iLCIuYnV0dG9uIHtcclxuICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gIGhlaWdodDogbm9ybWFsaXplLXJoeXRobSg1MHB4LCAxM3B4KTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xyXG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgxM3B4KTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIHBhZGRpbmctbGVmdDogbm9ybWFsaXplLXJoeXRobSgzNnB4LCAxM3B4KTtcclxuICBwYWRkaW5nLXJpZ2h0OiBub3JtYWxpemUtcmh5dGhtKDM2cHgsIDEzcHgpO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1tYWluLCAxMCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG4gIH1cclxuICBcclxuICAmLS1mdWxsIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogMi43ZW07XHJcbiAgfVxyXG4gICYtLXdoaXRlIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBjb2xvcjogIzE1MTQxNDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuZm9vdGVyIHtcclxuICBib3JkZXItdG9wOiA1cHggc29saWQgJGNvbG9yLW1haW47XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyMDIwMjtcclxuICBjb2xvcjogI2ZmZjtcclxuICB6LWluZGV4OiAxMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG4gICZfX3Njcm9sbCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiBub3JtYWxpemUtcmh5dGhtKDQwcHgpO1xyXG4gICAgaGVpZ2h0OiBub3JtYWxpemUtcmh5dGhtKDQwcHgpO1xyXG4gICAgdG9wOiAtMS42ZW07XHJcbiAgICByaWdodDogMTZweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgc3ZnIHtcclxuICAgICAgICB1c2Uge1xyXG4gICAgICAgICAgZmlsbDogJGNvbG9yLW1haW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgdXNlIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbiAgICAgIH1cclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgJl9fY29sdW1ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcblxyXG5cclxuICAgICZfX2NvbnRhY3Qge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMi45ZW07XHJcbiAgICAgIHdpZHRoOiAxNy4yJTtcclxuXHJcblxyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19zb2NpYWwge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKDEycHgpO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMi44ZW07XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsaXplLXJoeXRobSgxNHB4LCAxMnB4KTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNWVtO1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG5cclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19waG9uZXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICAmX19pdGVtIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgxMnB4KTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLW1haW47XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0wLjllbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19tZW51IHtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgY29sdW1uLWNvdW50OiAzO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgxMXB4KTtcclxuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbGl6ZS1yaHl0aG0oMzVweCwgMTFweCk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA0NXB4O1xyXG4gICAgICB3aWR0aDogNjYlO1xyXG5cclxuICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb3B5cmlnaHQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjAyMDI7XHJcbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKDExcHgpO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWxpemUtcmh5dGhtKDM1cHgsIDExcHgpO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIHBhZGRpbmctdG9wOiAxZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xyXG4gIH1cclxuICBwIHtcclxuICAgIG1hcmdpbjogLjllbSAwIDEuOGVtO1xyXG4gICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAuY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi53aWRnZXQtdHJ5LXVzIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAyNDlweDtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItbWFpbjtcclxuICBjb2xvcjogI2ZmZjtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgcmlnaHQ6IDQ5cHg7XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICByaWdodDogNTVweDtcclxuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3ItbWFpbiwgMTAlKTtcclxuICB9XHJcblxyXG5cclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XHJcbiAgei1pbmRleDogOTk5O1xyXG4gIGEge1xyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHBhZGRpbmc6IDI2cHggMjNweCAxMHB4IDI1cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5zbGlkZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgbWFyZ2luLWJvdHRvbTogLTExLjNlbTtcclxuXHJcbiAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG4gICYtLWNhciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgLm93bC1kb3RzIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgcmlnaHQ6IDExM3B4O1xyXG4gICAgbWFyZ2luLXRvcDogLTUuNWVtO1xyXG5cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm93bC1kb3Qge1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICBtYXJnaW46IDE1cHggMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgzNnB4KTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBtYXJnaW4tdG9wOiAwLjgzZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41M2VtO1xyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKDE0cHgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbGl6ZS1yaHl0aG0oMjZweCwgMTRweCk7XHJcbiAgICBtYXgtd2lkdGg6IG5vcm1hbGl6ZS1yaHl0aG0oNDE1cHgsIDE0cHgpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMFxyXG4gIH1cclxuXHJcblxyXG5cclxuICAmX19lbGVtZW50IHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDcuOWVtO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcclxuICAgIGhlaWdodDogbm9ybWFsaXplLXJoeXRobSg3NDBweCk7XHJcblxyXG4gICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgIGhlaWdodDogMjVlbTtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbnMge1xyXG5cclxuICAgICAgbWFyZ2luLXRvcDogNC42ZW07XHJcbiAgICAgIC5idXR0b24ge1xyXG5cclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzLjRlbTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNlbTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtO1xyXG5cclxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG53aWR0aDogMTAwJTtcclxuICAgICAgICAgIG1hcmdpbjogMWVtIDA7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuXHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOWVtO1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItbWFpbjtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmX19wcmljZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgzNnB4KTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAuNjVlbTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgJi0tY2FyIHtcclxuICAgICAgcGFkZGluZy10b3A6IDExLjJlbTtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGhlaWdodDogNDEuNTU3ZW07XHJcblxyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNWVtO1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuNmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG4iLCIuc2VhcmNoLWVuZ2luZSB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0MHB4O1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMDBweDtcclxuICBwYWRkaW5nOiA0ZW0gNC44ZW07XHJcbiAgcGFkZGluZy1yaWdodDogNGVtO1xyXG5cclxuICB3aWR0aDogMTQ5LjklO1xyXG5cclxuICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGgyIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMjBweCk7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XHJcbiAgfVxyXG5cclxuICBoMyB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKDEzcHgpO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS4yZW07XHJcbiAgfVxyXG5cclxuICAmX19mb3JtXHJcbiAge1xyXG4gICAgaW5wdXQge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2RjZGNkO1xyXG4gICAgICBoZWlnaHQ6IG5vcm1hbGl6ZS1yaHl0aG0oNTBweCwgMTNweCk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMTNweCk7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMS45ZW07XHJcbiAgICAgIG1heC13aWR0aDogMjYuOTVlbTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICBtYXgtd2lkdGg6IDEzLjk1ZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWNvbG9yKCMwMDApO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMTNweCk7XHJcbiAgICAgIGhlaWdodDogbm9ybWFsaXplLXJoeXRobSg1MHB4LCAxM3B4KTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgbWF4LXdpZHRoOiAxMC40ZW07XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0zLjU1ZW07XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBidXR0b24sIGlucHV0IHtcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIubGF0ZXN0LWNhcnMge1xyXG5cclxuICAmX19jb2x1bW4ge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xyXG5cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKDE0cHgpO1xyXG4gICAgbWFyZ2luLXRvcDogMC42ZW07XHJcbiAgfVxyXG4gIGg0IHtcclxuICAgIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgyMHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWxpemUtcmh5dGhtKDI0cHgsIDIwcHgpO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbWFpbjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAzcHg7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG5cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5sYXRlc3QtY2FyIHtcclxuICBoZWlnaHQ6IG5vcm1hbGl6ZS1yaHl0aG0oMzI3cHgpO1xyXG4gIHBhZGRpbmctbGVmdDogbm9ybWFsaXplLXJoeXRobSgzMHB4KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBiYWNrZ3JvdW5kOiByZWQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gIH1cclxuICA+ICoge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICB9XHJcblxyXG4mOmhvdmVyIHtcclxuICAmOmFmdGVyIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4gICYtLWxhcmdlIHtcclxuICAgIGhlaWdodDogbm9ybWFsaXplLXJoeXRobSg2NTRweCk7XHJcbiAgfVxyXG59XHJcbiIsIi5jdGEge1xyXG4gIHBhZGRpbmctdG9wOiA0LjRlbTtcclxuICBwYWRkaW5nLWJvdHRvbTogMy42NWVtO1xyXG5cclxuICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gIC5jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19lbGVtZW50IHtcclxuXHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1ZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKDM2cHgpO1xyXG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsaXplLXJoeXRobSg0MnB4LCAzNnB4KTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjFlbTtcclxuXHJcblxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKDE0cHgpO1xyXG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsaXplLXJoeXRobSgyNnB4LCAxNHB4KTtcclxuICAgICAgbWF4LXdpZHRoOiAyNi43ZW07XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuMmVtO1xyXG5cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmJveCB7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICY6bm90KCYtLXZpZGVvKSB7XHJcbiAgICBwYWRkaW5nOiA4LjJlbSAyLjFlbTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDNlbTtcclxuICAgIGgzIHtcclxuICAgICAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKDM2cHgpO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsaXplLXJoeXRobSg0M3B4LCAzNnB4KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNTVlbTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgxNHB4KTtcclxuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbGl6ZS1yaHl0aG0oMjZweCwgMTRweCk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEuOWVtO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLS12aWRlbyB7XHJcbiAgICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oMjBweCk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZy10b3A6IDMuNWVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDMuNDVlbTtcclxuICAgIHBhZGRpbmctbGVmdDogMS40ZW07XHJcblxyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMS41ZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */
