@import url('https://fonts.googleapis.com/css?family=Lato:300,300i,400,700&subset=latin-ext');*{-webkit-text-size-adjust:none}*{box-sizing:border-box}html,body,div,span,h1,h2,h3,h4,h5,h6,p,em,img,strong,sub,sup,b,u,i,dl,dt,dd,ol,ul,li,fieldset,form,label,table,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,a,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{-webkit-tap-highlight-color:transparent;border:0;outline:0;vertical-align:baseline;background:transparent;font-size:100%;margin:0;padding:0}a{background:transparent}table{border-collapse:collapse;border-spacing:0}td,td img{vertical-align:top}input,select,button,textarea{font-size:12px;font-family:Arial, Helvetica, sans-serif;margin:0}input[type="text"],input[type="password"],textarea,input[type="email"],input[type="phone"],input[type="number"]{font:12px Arial, Helvetica, sans-serif;padding:0}input[type="checkbox"]{vertical-align:bottom}input[type="radio"]{vertical-align:text-bottom}sub{vertical-align:sub;font-size:smaller}sup{vertical-align:super;font-size:smaller}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul,ol{list-style:none}html{overflow-y:auto;overflow-x:auto}html,body{height:100%}body{line-height:1;color:#000;text-align:left;z-index:1;position:relative}input [type='text']{padding:0}textarea{resize:none;overflow:auto}label,input[type="button"],input[type="submit"],button{cursor:pointer}input[type="button"],input[type="reset"],input[type="submit"],button,input[type="text"],input[type="password"],textarea,input[type="email"],input[type="tel"],input[type="phone"],input[type="number"]{-webkit-appearance:none}a,a:visited,a:hover,a:focus,a:active{text-decoration:none}input[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border:0;padding:0}input:invalid{outline:none;-moz-box-shadow:none;border:none}::-ms-clear{display:none}input,textarea,input[type="search"]:focus,:focus{outline:none}.site{opacity:0;overflow:hidden;position:relative;z-index:1;display:-moz-flex;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;-moz-align-items:flex-start;align-items:flex-start;-ms-flex-pack:justify;-moz-justify-content:space-between;justify-content:space-between;min-height:100%;width:100%;min-width:320px;font-size:16px;line-height:18px;color:#171a21;font-family:'Lato', sans-serif;font-weight:400;font-style:normal;transition:opacity 0.3s ease, min-width 0.3s ease}.site.site__loaded{opacity:1}.site__header{position:absolute;z-index:2;width:100%;height:100px}.site__header-layout{position:relative;max-width:1040px;padding:0 20px;margin:0 auto;height:100px}.site__footer{position:relative;width:100%;height:176px;background:#fff;font-size:18px;line-height:22px;text-align:center}.site__footer a{color:#f7a400}.site__footer-layout{position:relative;display:-moz-flex;display:-ms-flexbox;display:flex;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;-moz-align-items:center;align-items:center;-ms-flex-pack:center;-moz-justify-content:center;justify-content:center;max-width:1760px;width:100%;padding:20px 20px;margin:0 auto;height:176px}.site__footer-layout>div{width:100%;margin:0 0 10px}.site__content{z-index:1;min-height:calc(100% - 150px);width:100%}.site__centered{position:relative;max-width:1280px;padding:0 20px;margin:0 auto}.site__footer-crafted{position:absolute;right:20px;bottom:10px;font-size:14px;line-height:16px}.site__footer-crafted a{color:#171a21;transition:opacity 0.3s ease}.site__footer-crafted a:hover{opacity:0.7}@media (min-width: 768px){.site__content{min-height:calc(100% - 176px)}}@media (min-width: 1024px){.site__header{height:150px}.site__header-layout{height:150px}.site__footer{height:120px}.site__footer-layout{height:120px;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.site__footer-layout>div{width:auto;padding:0 20px}}@media (min-width: 1320px){.site__footer{font-size:24px;line-height:28px}}@media (min-width: 1600px){.site__header{height:200px}.site__header-layout{height:200px}.site__footer-layout{padding:2px 43px 0 64px}.site__footer-crafted{right:43px}}.logo{position:absolute;top:52%;left:50%;width:170px;height:52px;transform:translateY(-50%) translateX(-50%)}.logo img,.logo svg{width:100%;height:auto}@media (min-width: 1024px){.logo{width:240px;height:90px}}@media (min-width: 1600px){.logo{width:270px;height:83px}}.preloader{position:fixed;top:0;left:0;bottom:0;right:0;z-index:10;background:#fff}.preloader>.logo{position:absolute;left:50%;top:40% !important;max-width:254px;z-index:3;transition:opacity 500ms ease-in-out;transform:translate(-50%, -50%);background-size:contain;background-repeat:no-repeat;background-position:center}.preloader_loaded>.logo,.preloader_loaded>div{opacity:0}.preloader__points{overflow:hidden;position:absolute;top:65%;left:0;width:100%;transform:translate(0, -50%);text-align:center}.preloader__circle1{display:inline-block;width:70px;height:70px;border-top:5px solid #F6A400;border-radius:100%;animation:rot1 55s linear infinite}.preloader__circle2{position:absolute;top:8px;left:50%;width:50px;height:50px;margin-left:-25px;border-radius:100%;border-top:3.5px solid #F6A400;animation:rot2 15s linear  infinite forwards}@keyframes rot1{from{transform:rotate(0deg)}to{transform:rotate(11360deg)}}@keyframes rot2{from{transform:rotate(3360deg)}to{transform:rotate(0deg)}}.social-networks{cursor:default}.social-networks span{font-family:'Lato', sans-serif;font-weight:700;font-style:normal;display:block;margin:0 0 30px}.social-networks__item{position:relative;display:inline-block;vertical-align:middle;width:30px;height:30px;transition:opacity .3s ease}.social-networks__item:hover{opacity:0.5}.social-networks__item svg{position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);width:35px;fill:#00a4f9}@media (min-width: 768px){.social-networks span{display:inline-block;vertical-align:middle;margin:10px 10px 10px 0}.social-networks__item{width:52px;height:52px}.social-networks__item svg{width:48px}}.improve{padding:60px 0;background:#f7a400;text-align:center;color:#fff;font-size:26px;line-height:30px}.improve p{margin:0 0 120px}.improve__percent{position:relative;height:10px;margin:0 20px;border-radius:10px;background:#ffb013}.improve__percent-indicator{position:absolute;top:0;bottom:0;left:0;border-radius:10px;background:#fff}.improve__percent-indicator>span{position:absolute;top:-60px;right:-30px;background:#fff;border-radius:30px;padding:12px 5px;width:65px;height:43px;color:#f7a400;font-size:20px;line-height:20px;font-family:'Lato', sans-serif;font-weight:400;font-style:normal;text-align:center}.improve__percent-indicator>span:after{position:absolute;bottom:-15px;left:50%;border:7px solid transparent;border-top:8px solid #fff;content:'';transform:translateX(-50%)}@media (min-width: 768px){.improve{padding:80px 0}.improve__percent{margin:0 80px}.improve__percent-indicator>span{top:50%;right:-86px;padding:12px 5px;width:74px;height:47px;font-size:24px;line-height:24px;transform:translateY(-50%)}.improve__percent-indicator>span:after{top:16px;bottom:auto;left:-14px;border:7px solid transparent;border-right:8px solid #fff;transform:translateY(0)}}@media (min-width: 1024px){.improve p{margin:0 0 65px}}@media (min-width: 1600px){.improve__percent{margin:0}}.areas{position:relative;padding-top:170px;padding-bottom:79px;background-size:cover;background-position:top center;background-repeat:no-repeat;background-image:url("../img/areas-bg.jpg");color:#fff;text-align:center}.areas__inner{position:relative;z-index:2;max-width:1907px;padding:0 20px;margin:0 auto}.areas__bg{position:absolute;top:0;left:0;width:100%;height:100%;transition:opacity 0.3s linear}.areas__bg:before,.areas__bg:after{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;content:'';transition:opacity 0.295s linear}.areas__bg:before{background:rgba(22,25,31,0.6)}.areas__bg:after{z-index:2;background:linear-gradient(to right, #181c25 0%, rgba(67,84,117,0.01) 99%, rgba(67,84,117,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#181c25', endColorstr='#00435475',GradientType=1 )}.areas__bg.visible:before,.areas__bg.visible:after{opacity:1}.areas__bg>div{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:top center;background-repeat:no-repeat;transition:opacity 0.3s linear}.areas__bg>div.visible{opacity:1}.areas__text{max-width:970px;margin:0 auto 70px;font-size:20px;line-height:30px}.areas__items{text-align:left}.areas__items>div:nth-child(2) .areas__title svg{width:33px}.areas__items>div:nth-child(3) .areas__title svg{width:32px}.areas__item{display:block;color:#fff;position:relative;max-width:520px;margin:0 auto 50px;padding:20px 20px 40px;border:2px solid transparent;font-size:16px;line-height:22px;font-family:'Lato', sans-serif;font-weight:400;font-style:normal;text-align:center;transition:border 0.3s ease;cursor:pointer}.areas__item.opened{border-color:#f7a400}.areas__item.opened .areas__decor{opacity:1;visibility:visible}.areas__item p{margin:0 30px; font-weight: 300}.areas__item-text{overflow:hidden;height:0;transition:height 0.3s ease}.areas__title{position:relative;margin:0 0 20px;font-size:28px;line-height:34px;font-family:'Lato', sans-serif;font-weight:400;font-style:normal;transition:color 0.3s ease}.areas__title svg{display:block;margin:0 auto 10px;width:27px;fill:#f7a400;transition:fill 0.3s ease}.areas__decor{opacity:0;visibility:hidden;position:absolute;bottom:-35px;left:50%;width:70px;height:70px;background:#f7a400;border-radius:100%;transform:translateX(-50%);transition:background 0.3s ease}.areas__decor:hover{background:#fff}.areas__decor:hover:after{border-top-color:#f7a400;border-left-color:#f7a400}.areas__decor:after{position:absolute;top:50%;left:50%;width:10px;height:10px;border-top:2px solid #fff;border-left:2px solid #fff;transform:translate(-50%, -50%) rotate(135deg);content:'';transition:border 0.3s ease}@media (min-width: 768px){.areas__items>div:nth-child(2) .areas__title svg{height:33px;margin:0 3px 0 0}.areas__items>div:nth-child(3) .areas__title svg{width:33px}.areas__item{padding:50px 30px 70px}.areas__title{display:inline-block;margin:0 0 8px}.areas__title svg{position:relative;display:inline-block;top:3px;left:auto;height:35px;margin:0 8px 0 0}}@media (min-width: 1024px){.areas{min-height: 100vh;padding-top:220px;padding-bottom:99px}.areas__text{margin:0 auto 39px}.areas__items{display:-moz-flex;display:-ms-flexbox;display:flex;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;-moz-align-items:center;align-items:center;-ms-flex-pack:justify;-moz-justify-content:space-between;justify-content:space-between;height:310px}.areas__items>div{padding:0 10px;width:33.333%}.areas__items>div:nth-child(2) .areas__item{border-radius:0}.areas__items>div:nth-child(3) .areas__item{border-radius:0 0 196px 0}.areas__item{margin:0 auto 0;border-radius:0 0 0 196px}}@media (min-width: 1600px){.areas{padding-top:220px;padding-bottom:60px}.areas__items{height:310px}.areas__decor{bottom:-45px;width:90px;height:90px}}.find-social{padding:40px 0;background:#fff;text-align:center;font-size:22px;line-height:28px}



/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvbnRzL19yb2JvdG8uc2NzcyIsIl9yZXNldC5zY3NzIiwiX3NpdGUuc2NzcyIsIl9mbGV4Ym94LnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJfbG9nby5zY3NzIiwiX3ByZWxvYWRlci5zY3NzIiwiX3NvY2lhbC5zY3NzIiwiX2ltcHJvdmUuc2NzcyIsIl9hcmVhcy5zY3NzIiwiX2ZpbmQtc29jYWlsLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEVDRUEsRUFBRSw2QkFBK0IsQ0FBSSxFQUNQLHFCQUFzQixDQUFFLCtQQUErUCx3Q0FBMkMsU0FBVSxVQUFXLHdCQUF5Qix1QkFBd0IsZUFBZ0IsU0FBVSxTQUFVLENBQUUsRUFBRSxzQkFBdUIsQ0FBRSxNQUFNLHlCQUEwQixnQkFBaUIsQ0FBRSxVQUFVLGtCQUFtQixDQUFFLDZCQUE2QixlQUFnQix5Q0FBMEMsUUFBUyxDQUFFLGdIQUFnSCx1Q0FBd0MsU0FBVSxDQUFFLHVCQUF1QixxQkFBc0IsQ0FBRSxvQkFBb0IsMEJBQTJCLENBQUUsSUFBSSxtQkFBb0IsaUJBQWtCLENBQUUsSUFBSSxxQkFBc0IsaUJBQWtCLENBQUUsOEVBQThFLGFBQWMsQ0FBRSxNQUFNLGVBQWdCLENBQUUsS0FBSyxnQkFBaUIsZUFBZ0IsQ0FBRSxVQUFVLFdBQVksQ0FBRSxLQUFLLGNBQWUsV0FBWSxnQkFBaUIsVUFBVyxpQkFBa0IsQ0FBRSxvQkFBb0IsU0FBVSxDQUFFLFNBQVMsWUFBYSxhQUFjLENBQUUsdURBQXVELGNBQWUsQ0FBRSx1TUFBdU0sdUJBQXdCLENBQUUscUNBQXFDLG9CQUFxQixDQUFFLGdFQUFnRSxTQUFVLFNBQVUsQ0FBRSxjQUFjLGFBQWMscUJBQXNCLFdBQVksQ0FBRSxZQUFZLFlBQWEsQ0FBRSxpREFBaUQsWUFBYSxDQUFHLE1DRjE1RCxVQUNBLGdCQUNBLGtCQUNBLFVDMkRBLEFBRUEsa0JBQ0Esb0JBQ0EsYUFtRUEsQUFLRSxtQkFFRixlQXZDRSxBQVVGLDJCQUNBLDBCQUNBLHNCQTJO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YyxDQUNmLGNBRUMsYUFDQSxXQUNBLFdBQWEsQ0FDZCxDQ3BWSCxhQUNFLGVBQ0EsZ0JBQ0Esa0JBQ0EsZUFDQSxnQkFBa0IsQ0FDbkIiLCJmaWxlIjoiaW5kZXguY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86MzAwLDQwMCw3MDAnKTtcbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbi8qIC0tLS0tLS0tLS0tLS0tLSBTdHlsZSB0byBudWxsIC0tLS0tLS0tLS0tLS0tLSAqL1xuKnstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IH1cbip7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O31odG1sLGJvZHksZGl2LHNwYW4saDEsaDIsaDMsaDQsaDUsaDYscCxlbSxpbWcsc3Ryb25nLHN1YixzdXAsYix1LGksZGwsZHQsZGQsb2wsdWwsbGksZmllbGRzZXQsZm9ybSxsYWJlbCx0YWJsZSx0Ym9keSx0Zm9vdCx0aGVhZCx0cix0aCx0ZCxhcnRpY2xlLGFzaWRlLGNhbnZhcyxkZXRhaWxzLGZpZ2NhcHRpb24sZmlndXJlLGEsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWVudSxuYXYsc2VjdGlvbixzdW1tYXJ5LHRpbWUsbWFyayxhdWRpbyx2aWRlb3std2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7Ym9yZGVyOjA7b3V0bGluZTowO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO31he2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7fXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO310ZCx0ZCBpbWd7dmVydGljYWwtYWxpZ246dG9wO31pbnB1dCxzZWxlY3QsYnV0dG9uLHRleHRhcmVhe2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7bWFyZ2luOjA7fWlucHV0W3R5cGU9XCJ0ZXh0XCJdLGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSx0ZXh0YXJlYSxpbnB1dFt0eXBlPVwiZW1haWxcIl0saW5wdXRbdHlwZT1cInBob25lXCJdLGlucHV0W3R5cGU9XCJudW1iZXJcIl17Zm9udDoxMnB4IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7cGFkZGluZzowO31pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl17dmVydGljYWwtYWxpZ246Ym90dG9tO31pbnB1dFt0eXBlPVwicmFkaW9cIl17dmVydGljYWwtYWxpZ246dGV4dC1ib3R0b207fXN1Ynt2ZXJ0aWNhbC1hbGlnbjpzdWI7Zm9udC1zaXplOnNtYWxsZXI7fXN1cHt2ZXJ0aWNhbC1hbGlnbjpzdXBlcjtmb250LXNpemU6c21hbGxlcjt9YXJ0aWNsZSxhc2lkZSxkZXRhaWxzLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1lbnUsbmF2LHNlY3Rpb257ZGlzcGxheTpibG9jazt9dWwsb2x7bGlzdC1zdHlsZTpub25lO31odG1se292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmF1dG87fWh0bWwsYm9keXtoZWlnaHQ6MTAwJTt9Ym9keXtsaW5lLWhlaWdodDoxO2NvbG9yOiMwMDA7dGV4dC1hbGlnbjpsZWZ0O3otaW5kZXg6MTtwb3NpdGlvbjpyZWxhdGl2ZTt9aW5wdXQgW3R5cGU9J3RleHQnXXtwYWRkaW5nOjA7fXRleHRhcmVhe3Jlc2l6ZTpub25lO292ZXJmbG93OmF1dG87fWxhYmVsLGlucHV0W3R5cGU9XCJidXR0b25cIl0saW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxidXR0b257Y3Vyc29yOnBvaW50ZXI7fWlucHV0W3R5cGU9XCJidXR0b25cIl0saW5wdXRbdHlwZT1cInJlc2V0XCJdLGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sYnV0dG9uLGlucHV0W3R5cGU9XCJ0ZXh0XCJdLGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSx0ZXh0YXJlYSxpbnB1dFt0eXBlPVwiZW1haWxcIl0saW5wdXRbdHlwZT1cInRlbFwiXSxpbnB1dFt0eXBlPVwicGhvbmVcIl0saW5wdXRbdHlwZT1cIm51bWJlclwiXXstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTt9YSxhOnZpc2l0ZWQsYTpob3ZlcixhOmZvY3VzLGE6YWN0aXZle3RleHQtZGVjb3JhdGlvbjpub25lO31pbnB1dFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyLGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjA7fWlucHV0OmludmFsaWR7b3V0bGluZTpub25lOy1tb3otYm94LXNoYWRvdzpub25lO2JvcmRlcjpub25lO306Oi1tcy1jbGVhcntkaXNwbGF5Om5vbmU7fWlucHV0LHRleHRhcmVhLGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsOmZvY3Vze291dGxpbmU6bm9uZTt9XG4vKiAtLS0tLS0tLS0tLS0tLS0gU3R5bGUgdG8gbnVsbCAtLS0tLS0tLS0tLS0tLS0gKi9cbiIsIi5zaXRlIHtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG4gIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjMTcxYTIxO1xuICBAaW5jbHVkZSBtYWluLWZvbnQxKCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIG1pbi13aWR0aCAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCBtaW4td2lkdGggMC4zcyBlYXNlO1xuXG4gICYuc2l0ZV9fbG9hZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbn1cbi5zaXRlX19oZWFkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuLnNpdGVfX2hlYWRlci1sYXlvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTA0MHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuLnNpdGVfX2Zvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTc2cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBhIHtcbiAgICBjb2xvcjogI2Y3YTQwMDtcbiAgfVxuXG59XG4uc2l0ZV9fZm9vdGVyLWxheW91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZmxleGJveCgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgbWF4LXdpZHRoOiAxNzYwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBoZWlnaHQ6IDE3NnB4O1xuXG4gID5kaXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gIH1cblxufVxuLnNpdGVfX2NvbnRlbnQge1xuICB6LWluZGV4OiAxO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAxNTBweCk7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNpdGVfX2NlbnRlcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zaXRlX19mb290ZXItY3JhZnRlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIGJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcblxuICBhIHtcbiAgICBjb2xvcjogIzE3MWEyMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICB9XG5cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtcG9ydHJhaXQpIHtcblxuICAvLy5zaXRlX19mb290ZXIge1xuICAvLyAgaGVpZ2h0OiAxNzZweDtcbiAgLy99XG4gIC8vLnNpdGVfX2Zvb3Rlci1sYXlvdXQge1xuICAvLyAgaGVpZ2h0OiAxNzZweDtcbiAgLy99XG4gIC5zaXRlX19jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAxNzZweCk7XG4gIH1cblxufVxuQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrdG9wKSB7XG5cbiAgLnNpdGVfX2hlYWRlciB7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgfVxuICAuc2l0ZV9faGVhZGVyLWxheW91dCB7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgfVxuICAuc2l0ZV9fZm9vdGVyIHtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICB9XG4gIC5zaXRlX19mb290ZXItbGF5b3V0IHtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG5cbiAgICA+ZGl2IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIC8vdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59XG5AbWVkaWEgKG1pbi13aWR0aDogJGRlc2t0b3Atd2lkZSkge1xuXG4gIC5zaXRlX19mb290ZXIge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrdG9wLWhkKSB7XG5cbiAgLnNpdGVfX2hlYWRlciB7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgfVxuICAuc2l0ZV9faGVhZGVyLWxheW91dCB7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgfVxuICAuc2l0ZV9fZm9vdGVyLWxheW91dCB7XG4gICAgcGFkZGluZzogMnB4IDQzcHggMCA2NHB4O1xuXG4gIH1cbiAgLnNpdGVfX2Zvb3Rlci1jcmFmdGVkIHtcbiAgICByaWdodDogNDNweDtcbiAgfVxuXG59XG5cbiIsIlxuLy8gRmxleGJveCBNaXhpbnNcbi8vIGh0dHA6Ly9waGlsaXB3YWx0b24uZ2l0aHViLmlvL3NvbHZlZC1ieS1mbGV4Ym94L1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9zb2x2ZWQtYnktZmxleGJveFxuLy9cbi8vIENvcHlyaWdodCAoYykgMjAxMyBCcmlhbiBGcmFuY29cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG9cbi8vIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0b1xuLy8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULlxuLy8gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTllcbi8vIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsXG4vLyBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRVxuLy8gU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4vL1xuLy8gVGhpcyBpcyBhIHNldCBvZiBtaXhpbnMgZm9yIHRob3NlIHdobyB3YW50IHRvIG1lc3MgYXJvdW5kIHdpdGggZmxleGJveFxuLy8gdXNpbmcgdGhlIG5hdGl2ZSBzdXBwb3J0IG9mIGN1cnJlbnQgYnJvd3NlcnMuIEZvciBmdWxsIHN1cHBvcnQgdGFibGVcbi8vIGNoZWNrOiBodHRwOi8vY2FuaXVzZS5jb20vZmxleGJveFxuLy9cbi8vIEJhc2ljYWxseSB0aGlzIHdpbGwgdXNlOlxuLy9cbi8vICogRmFsbGJhY2ssIG9sZCBzeW50YXggKElFMTAsIG1vYmlsZSB3ZWJraXQgYnJvd3NlcnMgLSBubyB3cmFwcGluZylcbi8vICogRmluYWwgc3RhbmRhcmRzIHN5bnRheCAoRkYsIFNhZmFyaSwgQ2hyb21lLCBJRTExLCBPcGVyYSlcbi8vXG4vLyBUaGlzIHdhcyBpbnNwaXJlZCBieTpcbi8vXG4vLyAqIGh0dHA6Ly9kZXYub3BlcmEuY29tL2FydGljbGVzL3ZpZXcvYWR2YW5jZWQtY3Jvc3MtYnJvd3Nlci1mbGV4Ym94L1xuLy9cbi8vIFdpdGggaGVscCBmcm9tOlxuLy9cbi8vICogaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvXG4vLyAqIGh0dHA6Ly90aGUtZWNob3BsZXgubmV0L2ZsZXh5Ym94ZXMvXG4vLyAqIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9pZS9oaDc3MjA2OSh2PXZzLjg1KS5hc3B4XG4vLyAqIGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS91c2luZy1mbGV4Ym94L1xuLy8gKiBodHRwOi8vZGV2Lm9wZXJhLmNvbS9hcnRpY2xlcy92aWV3L2FkdmFuY2VkLWNyb3NzLWJyb3dzZXItZmxleGJveC9cbi8vICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tdXMvZG9jcy93ZWIvZ3VpZGUvY3NzL2ZsZXhpYmxlX2JveGVzXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGbGV4Ym94IENvbnRhaW5lcnNcbi8vXG4vLyBUaGUgJ2ZsZXgnIHZhbHVlIGNhdXNlcyBhbiBlbGVtZW50IHRvIGdlbmVyYXRlIGEgYmxvY2stbGV2ZWwgZmxleFxuLy8gY29udGFpbmVyIGJveC5cbi8vXG4vLyBUaGUgJ2lubGluZS1mbGV4JyB2YWx1ZSBjYXVzZXMgYW4gZWxlbWVudCB0byBnZW5lcmF0ZSBhIGlubGluZS1sZXZlbFxuLy8gZmxleCBjb250YWluZXIgYm94LlxuLy9cbi8vIGRpc3BsYXk6IGZsZXggfCBpbmxpbmUtZmxleFxuLy9cbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNmbGV4LWNvbnRhaW5lcnNcbi8vXG4vLyAoUGxhY2Vob2xkZXIgc2VsZWN0b3JzIGZvciBlYWNoIHR5cGUsIGZvciB0aG9zZSB3aG8gcmF0aGVyIEBleHRlbmQpXG5cbkBtaXhpbiBmbGV4Ym94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1vei1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuJWZsZXhib3ggeyBAaW5jbHVkZSBmbGV4Ym94OyB9XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gaW5saW5lLWZsZXgge1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5cbiVpbmxpbmUtZmxleCB7IEBpbmNsdWRlIGlubGluZS1mbGV4OyB9XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGbGV4Ym94IERpcmVjdGlvblxuLy9cbi8vIFRoZSAnZmxleC1kaXJlY3Rpb24nIHByb3BlcnR5IHNwZWNpZmllcyBob3cgZmxleCBpdGVtcyBhcmUgcGxhY2VkIGluXG4vLyB0aGUgZmxleCBjb250YWluZXIsIGJ5IHNldHRpbmcgdGhlIGRpcmVjdGlvbiBvZiB0aGUgZmxleCBjb250YWluZXInc1xuLy8gbWFpbiBheGlzLiBUaGlzIGRldGVybWluZXMgdGhlIGRpcmVjdGlvbiB0aGF0IGZsZXggaXRlbXMgYXJlIGxhaWQgb3V0IGluLlxuLy9cbi8vIFZhbHVlczogcm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZVxuLy8gRGVmYXVsdDogcm93XG4vL1xuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2ZsZXgtZGlyZWN0aW9uLXByb3BlcnR5XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuICBAaWYgJHZhbHVlID09IHJvdy1yZXZlcnNlIHtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGNvbHVtbi1yZXZlcnNlIHtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgfSBAZWxzZSB7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICB9XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgLW1vei1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbi8vIFNob3J0ZXIgdmVyc2lvbjpcbkBtaXhpbiBmbGV4LWRpcigkYXJncy4uLikgeyBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkYXJncy4uLik7IH1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhib3ggV3JhcFxuLy9cbi8vIFRoZSAnZmxleC13cmFwJyBwcm9wZXJ0eSBjb250cm9scyB3aGV0aGVyIHRoZSBmbGV4IGNvbnRhaW5lciBpcyBzaW5nbGUtbGluZVxuLy8gb3IgbXVsdGktbGluZSwgYW5kIHRoZSBkaXJlY3Rpb24gb2YgdGhlIGNyb3NzLWF4aXMsIHdoaWNoIGRldGVybWluZXNcbi8vIHRoZSBkaXJlY3Rpb24gbmV3IGxpbmVzIGFyZSBzdGFja2VkIGluLlxuLy9cbi8vIFZhbHVlczogbm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZVxuLy8gRGVmYXVsdDogbm93cmFwXG4vL1xuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2ZsZXgtd3JhcC1wcm9wZXJ0eVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG4gIC8vIE5vIFdlYmtpdCBCb3ggZmFsbGJhY2suXG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gIC1tb3otZmxleC13cmFwOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAtbXMtZmxleC13cmFwOiBub25lO1xuICB9IEBlbHNlIHtcbiAgICAtbXMtZmxleC13cmFwOiAkdmFsdWU7XG4gIH1cbiAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGbGV4Ym94IEZsb3cgKHNob3J0aGFuZClcbi8vXG4vLyBUaGUgJ2ZsZXgtZmxvdycgcHJvcGVydHkgaXMgYSBzaG9ydGhhbmQgZm9yIHNldHRpbmcgdGhlICdmbGV4LWRpcmVjdGlvbidcbi8vIGFuZCAnZmxleC13cmFwJyBwcm9wZXJ0aWVzLCB3aGljaCB0b2dldGhlciBkZWZpbmUgdGhlIGZsZXggY29udGFpbmVyJ3Ncbi8vIG1haW4gYW5kIGNyb3NzIGF4ZXMuXG4vL1xuLy8gVmFsdWVzOiA8ZmxleC1kaXJlY3Rpb24+IHwgPGZsZXgtd3JhcD5cbi8vIERlZmF1bHQ6IHJvdyBub3dyYXBcbi8vXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jZmxleC1mbG93LXByb3BlcnR5XG5cbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlczogKHJvdyBub3dyYXApKSB7XG4gIC8vIE5vIFdlYmtpdCBCb3ggZmFsbGJhY2suXG4gIC13ZWJraXQtZmxleC1mbG93OiAkdmFsdWVzO1xuICAtbW96LWZsZXgtZmxvdzogJHZhbHVlcztcbiAgLW1zLWZsZXgtZmxvdzogJHZhbHVlcztcbiAgZmxleC1mbG93OiAkdmFsdWVzO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRmxleGJveCBPcmRlclxuLy9cbi8vIFRoZSAnb3JkZXInIHByb3BlcnR5IGNvbnRyb2xzIHRoZSBvcmRlciBpbiB3aGljaCBmbGV4IGl0ZW1zIGFwcGVhciB3aXRoaW5cbi8vIHRoZWlyIGZsZXggY29udGFpbmVyLCBieSBhc3NpZ25pbmcgdGhlbSB0byBvcmRpbmFsIGdyb3Vwcy5cbi8vXG4vLyBEZWZhdWx0OiAwXG4vL1xuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI29yZGVyLXByb3BlcnR5XG5cbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6ICRpbnQgKyAxO1xuICAtd2Via2l0LW9yZGVyOiAkaW50O1xuICAtbW96LW9yZGVyOiAkaW50O1xuICAtbXMtZmxleC1vcmRlcjogJGludDtcbiAgb3JkZXI6ICRpbnQ7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGbGV4Ym94IEdyb3dcbi8vXG4vLyBUaGUgJ2ZsZXgtZ3JvdycgcHJvcGVydHkgc2V0cyB0aGUgZmxleCBncm93IGZhY3Rvci4gTmVnYXRpdmUgbnVtYmVyc1xuLy8gYXJlIGludmFsaWQuXG4vL1xuLy8gRGVmYXVsdDogMFxuLy9cbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNmbGV4LWdyb3ctcHJvcGVydHlcblxuQG1peGluIGZsZXgtZ3JvdygkaW50OiAwKSB7XG4gIC13ZWJraXQtYm94LWZsZXg6ICRpbnQ7XG4gIC13ZWJraXQtZmxleC1ncm93OiAkaW50O1xuICAtbW96LWZsZXgtZ3JvdzogJGludDtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRpbnQ7XG4gIGZsZXgtZ3JvdzogJGludDtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhib3ggU2hyaW5rXG4vL1xuLy8gVGhlICdmbGV4LXNocmluaycgcHJvcGVydHkgc2V0cyB0aGUgZmxleCBzaHJpbmsgZmFjdG9yLiBOZWdhdGl2ZSBudW1iZXJzXG4vLyBhcmUgaW52YWxpZC5cbi8vXG4vLyBEZWZhdWx0OiAxXG4vL1xuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2ZsZXgtc2hyaW5rLXByb3BlcnR5XG5cbkBtaXhpbiBmbGV4LXNocmluaygkaW50OiAxKSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6ICRpbnQ7XG4gIC1tb3otZmxleC1zaHJpbms6ICRpbnQ7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkaW50O1xuICBmbGV4LXNocmluazogJGludDtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhib3ggQmFzaXNcbi8vXG4vLyBUaGUgJ2ZsZXgtYmFzaXMnIHByb3BlcnR5IHNldHMgdGhlIGZsZXggYmFzaXMuIE5lZ2F0aXZlIGxlbmd0aHMgYXJlIGludmFsaWQuXG4vL1xuLy8gVmFsdWVzOiBMaWtlIFwid2lkdGhcIlxuLy8gRGVmYXVsdDogYXV0b1xuLy9cbi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jZmxleC1iYXNpcy1wcm9wZXJ0eVxuXG5AbWl4aW4gZmxleC1iYXNpcygkdmFsdWU6IGF1dG8pIHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiAkdmFsdWU7XG4gIC1tb3otZmxleC1iYXNpczogJHZhbHVlO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHZhbHVlO1xuICBmbGV4LWJhc2lzOiAkdmFsdWU7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGbGV4Ym94IFwiRmxleFwiIChzaG9ydGhhbmQpXG4vL1xuLy8gVGhlICdmbGV4JyBwcm9wZXJ0eSBzcGVjaWZpZXMgdGhlIGNvbXBvbmVudHMgb2YgYSBmbGV4aWJsZSBsZW5ndGg6IHRoZVxuLy8gZmxleCBncm93IGZhY3RvciBhbmQgZmxleCBzaHJpbmsgZmFjdG9yLCBhbmQgdGhlIGZsZXggYmFzaXMuIFdoZW4gYW5cbi8vIGVsZW1lbnQgaXMgYSBmbGV4IGl0ZW0sICdmbGV4JyBpcyBjb25zdWx0ZWQgaW5zdGVhZCBvZiB0aGUgbWFpbiBzaXplXG4vLyBwcm9wZXJ0eSB0byBkZXRlcm1pbmUgdGhlIG1haW4gc2l6ZSBvZiB0aGUgZWxlbWVudC4gSWYgYW4gZWxlbWVudCBpc1xuLy8gbm90IGEgZmxleCBpdGVtLCAnZmxleCcgaGFzIG5vIGVmZmVjdC5cbi8vXG4vLyBWYWx1ZXM6IG5vbmUgfCA8ZmxleC1ncm93PiA8ZmxleC1zaHJpbms+IHx8IDxmbGV4LWJhc2lzPlxuLy8gRGVmYXVsdDogU2VlIGluZGl2aWR1YWwgcHJvcGVydGllcyAoMSAxIDApLlxuLy9cbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNmbGV4LXByb3BlcnR5XG5cbkBtaXhpbiBmbGV4KCRmZzogMSwgJGZzOiBudWxsLCAkZmI6IG51bGwpIHtcblxuICAvLyBTZXQgYSB2YXJpYWJsZSB0byBiZSB1c2VkIGJ5IGJveC1mbGV4IHByb3BlcnRpZXNcbiAgJGZnLWJveGZsZXg6ICRmZztcblxuICAvLyBCb3gtRmxleCBvbmx5IHN1cHBvcnRzIGEgZmxleC1ncm93IHZhbHVlIHNvIGxldCdzIGdyYWIgdGhlXG4gIC8vIGZpcnN0IGl0ZW0gaW4gdGhlIGxpc3QgYW5kIGp1c3QgcmV0dXJuIHRoYXQuXG4gIEBpZiB0eXBlLW9mKCRmZykgPT0gJ2xpc3QnIHtcbiAgICAkZmctYm94ZmxleDogbnRoKCRmZywgMSk7XG4gIH1cblxuICAtd2Via2l0LWJveC1mbGV4OiAkZmctYm94ZmxleDtcbiAgLXdlYmtpdC1mbGV4OiAkZmcgJGZzICRmYjtcbiAgLW1vei1ib3gtZmxleDogJGZnLWJveGZsZXg7XG4gIC1tb3otZmxleDogJGZnICRmcyAkZmI7XG4gIC1tcy1mbGV4OiAkZmcgJGZzICRmYjtcbiAgZmxleDogJGZnICRmcyAkZmI7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGbGV4Ym94IEp1c3RpZnkgQ29udGVudFxuLy9cbi8vIFRoZSAnanVzdGlmeS1jb250ZW50JyBwcm9wZXJ0eSBhbGlnbnMgZmxleCBpdGVtcyBhbG9uZyB0aGUgbWFpbiBheGlzXG4vLyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lci4gVGhpcyBpcyBkb25lIGFmdGVyIGFueSBmbGV4aWJsZVxuLy8gbGVuZ3RocyBhbmQgYW55IGF1dG8gbWFyZ2lucyBoYXZlIGJlZW4gcmVzb2x2ZWQuIFR5cGljYWxseSBpdCBoZWxwcyBkaXN0cmlidXRlXG4vLyBleHRyYSBmcmVlIHNwYWNlIGxlZnRvdmVyIHdoZW4gZWl0aGVyIGFsbCB0aGUgZmxleCBpdGVtcyBvbiBhIGxpbmUgYXJlXG4vLyBpbmZsZXhpYmxlLCBvciBhcmUgZmxleGlibGUgYnV0IGhhdmUgcmVhY2hlZCB0aGVpciBtYXhpbXVtIHNpemUuIEl0IGFsc29cbi8vIGV4ZXJ0cyBzb21lIGNvbnRyb2wgb3ZlciB0aGUgYWxpZ25tZW50IG9mIGl0ZW1zIHdoZW4gdGhleSBvdmVyZmxvdyB0aGUgbGluZS5cbi8vXG4vLyBOb3RlOiAnc3BhY2UtKicgdmFsdWVzIG5vdCBzdXBwb3J0ZWQgaW4gb2xkZXIgc3ludGF4ZXMuXG4vL1xuLy8gVmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kXG4vLyBEZWZhdWx0OiBmbGV4LXN0YXJ0XG4vL1xuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2p1c3RpZnktY29udGVudC1wcm9wZXJ0eVxuXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xuICBAaWYgJHZhbHVlID09IGZsZXgtc3RhcnQge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBmbGV4LWVuZCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gc3BhY2UtYmV0d2VlbiB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBzcGFjZS1hcm91bmQge1xuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gIH0gQGVsc2Uge1xuICAgIC13ZWJraXQtYm94LXBhY2s6ICR2YWx1ZTtcbiAgICAtbXMtZmxleC1wYWNrOiAkdmFsdWU7XG4gIH1cbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgLW1vei1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG4vLyBTaG9ydGVyIHZlcnNpb246XG5AbWl4aW4gZmxleC1qdXN0KCRhcmdzLi4uKSB7IEBpbmNsdWRlIGp1c3RpZnktY29udGVudCgkYXJncy4uLik7IH1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhib3ggQWxpZ24gSXRlbXNcbi8vXG4vLyBGbGV4IGl0ZW1zIGNhbiBiZSBhbGlnbmVkIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlXG4vLyBmbGV4IGNvbnRhaW5lciwgc2ltaWxhciB0byAnanVzdGlmeS1jb250ZW50JyBidXQgaW4gdGhlIHBlcnBlbmRpY3VsYXJcbi8vIGRpcmVjdGlvbi4gJ2FsaWduLWl0ZW1zJyBzZXRzIHRoZSBkZWZhdWx0IGFsaWdubWVudCBmb3IgYWxsIG9mIHRoZSBmbGV4XG4vLyBjb250YWluZXIncyBpdGVtcywgaW5jbHVkaW5nIGFub255bW91cyBmbGV4IGl0ZW1zLiAnYWxpZ24tc2VsZicgYWxsb3dzXG4vLyB0aGlzIGRlZmF1bHQgYWxpZ25tZW50IHRvIGJlIG92ZXJyaWRkZW4gZm9yIGluZGl2aWR1YWwgZmxleCBpdGVtcy4gKEZvclxuLy8gYW5vbnltb3VzIGZsZXggaXRlbXMsICdhbGlnbi1zZWxmJyBhbHdheXMgbWF0Y2hlcyB0aGUgdmFsdWUgb2YgJ2FsaWduLWl0ZW1zJ1xuLy8gb24gdGhlaXIgYXNzb2NpYXRlZCBmbGV4IGNvbnRhaW5lci4pXG4vL1xuLy8gVmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcbi8vIERlZmF1bHQ6IHN0cmV0Y2hcbi8vXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jYWxpZ24taXRlbXMtcHJvcGVydHlcblxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuICBAaWYgJHZhbHVlID09IGZsZXgtc3RhcnQge1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGZsZXgtZW5kIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gIH0gQGVsc2Uge1xuICAgIC13ZWJraXQtYm94LWFsaWduOiAkdmFsdWU7XG4gICAgLW1zLWZsZXgtYWxpZ246ICR2YWx1ZTtcbiAgfVxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gIC1tb3otYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZsZXhib3ggQWxpZ24gU2VsZlxuLy9cbi8vIFZhbHVlczogYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxuLy8gRGVmYXVsdDogYXV0b1xuXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcbiAgLy8gTm8gV2Via2l0IEJveCBGYWxsYmFjay5cbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gIC1tb3otYWxpZ24tc2VsZjogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IGZsZXgtc3RhcnQge1xuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBmbGV4LWVuZCB7XG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xuICB9IEBlbHNlIHtcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWU7XG4gIH1cbiAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRmxleGJveCBBbGlnbiBDb250ZW50XG4vL1xuLy8gVGhlICdhbGlnbi1jb250ZW50JyBwcm9wZXJ0eSBhbGlnbnMgYSBmbGV4IGNvbnRhaW5lcidzIGxpbmVzIHdpdGhpbiB0aGVcbi8vIGZsZXggY29udGFpbmVyIHdoZW4gdGhlcmUgaXMgZXh0cmEgc3BhY2UgaW4gdGhlIGNyb3NzLWF4aXMsIHNpbWlsYXIgdG9cbi8vIGhvdyAnanVzdGlmeS1jb250ZW50JyBhbGlnbnMgaW5kaXZpZHVhbCBpdGVtcyB3aXRoaW4gdGhlIG1haW4tYXhpcy4gTm90ZSxcbi8vIHRoaXMgcHJvcGVydHkgaGFzIG5vIGVmZmVjdCB3aGVuIHRoZSBmbGV4Ym94IGhhcyBvbmx5IGEgc2luZ2xlIGxpbmUuXG4vL1xuLy8gVmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaFxuLy8gRGVmYXVsdDogc3RyZXRjaFxuLy9cbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNhbGlnbi1jb250ZW50LXByb3BlcnR5XG5cbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuICAvLyBObyBXZWJraXQgQm94IEZhbGxiYWNrLlxuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgLW1vei1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gZmxleC1zdGFydCB7XG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gZmxleC1lbmQge1xuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kO1xuICB9IEBlbHNlIHtcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZTtcbiAgfVxuICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59IiwiLy9mb250c1xuQG1peGluIG1haW4tZm9udDEoKSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQG1peGluIG1haW4tZm9udDIoKSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQG1peGluIG1haW4tZm9udDMoKSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AbWl4aW4ganVzdGlmeSgpIHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcblxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxuQG1peGluIGFic29sdXRlQ2VudGVyKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCAtNTAlLCAtNTAlICk7XG59XG5AbWl4aW4gYWJzb2x1dGVDZW50ZXJYKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCAtNTAlICk7XG59XG5AbWl4aW4gYWJzb2x1dGVDZW50ZXJZKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC01MCUgKTtcbn0iLCIubG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MiU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDE3MHB4O1xuICBoZWlnaHQ6IDUycHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuXG4gIGltZyxcbiAgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGRlc2t0b3ApICB7XG5cbiAgLmxvZ28ge1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gIH1cblxufVxuQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrdG9wLWhkKSB7XG5cbiAgLmxvZ28ge1xuICAgIHdpZHRoOiAyNzBweDtcbiAgICBoZWlnaHQ6IDgzcHg7XG4gIH1cblxufSIsIi5wcmVsb2FkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMSk7XG59XG4ucHJlbG9hZGVyID4gLmxvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA0MCUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAyNTRweDtcbiAgei1pbmRleDogMztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG4ucHJlbG9hZGVyX2xvYWRlZCA+IC5sb2dvLFxuLnByZWxvYWRlcl9sb2FkZWQgPiBkaXZ7XG4gIG9wYWNpdHk6IDA7XG59XG4ucHJlbG9hZGVyX19wb2ludHMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNjUlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5wcmVsb2FkZXJfX2NpcmNsZTEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA3MHB4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjRjZBNDAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogcm90MSA1NXMgbGluZWFyIGluZmluaXRlO1xuICBhbmltYXRpb246IHJvdDEgNTVzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi5wcmVsb2FkZXJfX2NpcmNsZTIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHB4O1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm9yZGVyLXRvcDogMy41cHggc29saWQgI0Y2QTQwMDtcbiAgLXdlYmtpdC1hbmltYXRpb246IHJvdDIgMTVzIGxpbmVhciAgaW5maW5pdGUgZm9yd2FyZHM7XG4gIGFuaW1hdGlvbjogcm90MiAxNXMgbGluZWFyICBpbmZpbml0ZSBmb3J3YXJkcztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdDEge1xuICBmcm9tIHstd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgdG8gey13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTEzNjBkZWcpO31cbn1cbkBrZXlmcmFtZXMgcm90MSB7XG4gIGZyb20ge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cbiAgdG8ge3RyYW5zZm9ybTogcm90YXRlKDExMzYwZGVnKTt9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90MiB7XG4gIGZyb20gey13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzM2MGRlZyk7fVxuICB0byB7LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTt9XG59XG5Aa2V5ZnJhbWVzIHJvdDIge1xuICBmcm9tIHt0cmFuc2Zvcm06IHJvdGF0ZSgzMzYwZGVnKTt9XG4gIHRvIHt0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTt9XG59IiwiLnNvY2lhbC1uZXR3b3JrcyB7XG4gIGN1cnNvcjogZGVmYXVsdDtcblxuICBzcGFuIHtcbiAgICBAaW5jbHVkZSBtYWluLWZvbnQzKCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgfVxuXG59XG4uc29jaWFsLW5ldHdvcmtzX19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgZmlsbDogIzAwYTRmOTtcbiAgfVxuXG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXBvcnRyYWl0KSB7XG5cbiAgLnNvY2lhbC1uZXR3b3JrcyB7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDA7XG4gICAgfVxuXG4gIH1cbiAgLnNvY2lhbC1uZXR3b3Jrc19faXRlbSB7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgIH1cblxuICB9XG5cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAkZGVza3RvcC1oZCkge1xuXG4gIC5zb2NpYWwtbmV0d29ya3Mge1xuXG4gICAgc3BhbiB7XG4gICAgICAvL2ZvbnQtc2l6ZTogMjZweDtcbiAgICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICB9XG5cbn1cbiIsIi5pbXByb3ZlIHtcbiAgcGFkZGluZzogNjBweCAwO1xuICBiYWNrZ3JvdW5kOiAjZjdhNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gIHAge1xuICAgIG1hcmdpbjogMCAwIDEyMHB4O1xuICB9XG5cbn1cbi5pbXByb3ZlX19wZXJjZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZiMDEzO1xufVxuLmltcHJvdmVfX3BlcmNlbnQtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcblxuICA+c3BhbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTYwcHg7XG4gICAgcmlnaHQ6IC0zMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBwYWRkaW5nOiAxMnB4IDVweDtcbiAgICB3aWR0aDogNjVweDtcbiAgICBoZWlnaHQ6IDQzcHg7XG4gICAgY29sb3I6ICNmN2E0MDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIEBpbmNsdWRlIG1haW4tZm9udDIoKTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMTVweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlcjogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICNmZmY7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICB9XG5cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtcG9ydHJhaXQpIHtcblxuICAuaW1wcm92ZSB7XG4gICAgcGFkZGluZzogODBweCAwO1xuICB9XG4gIC5pbXByb3ZlX19wZXJjZW50IHtcbiAgICBtYXJnaW46IDAgODBweDtcbiAgfVxuICAuaW1wcm92ZV9fcGVyY2VudC1pbmRpY2F0b3Ige1xuXG4gICAgPnNwYW4ge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogLTg2cHg7XG4gICAgICBwYWRkaW5nOiAxMnB4IDVweDtcbiAgICAgIHdpZHRoOiA3NHB4O1xuICAgICAgaGVpZ2h0OiA0N3B4O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiAtMTRweDtcbiAgICAgICAgYm9yZGVyOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkICNmZmY7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59XG5AbWVkaWEgKG1pbi13aWR0aDogJGRlc2t0b3ApIHtcblxuICAuaW1wcm92ZSB7XG4gICAgLy9wYWRkaW5nOiA0MHB4IDAgNzBweDtcbiAgICAvL2ZvbnQtc2l6ZTogNDJweDtcbiAgICAvL2xpbmUtaGVpZ2h0OiA0NnB4O1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAgMCA2NXB4O1xuICAgIH1cblxuICB9XG5cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAkZGVza3RvcC1oZCkge1xuXG4gIC5pbXByb3ZlX19wZXJjZW50IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxufVxuXG5cbiIsIi5hcmVhcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDE3MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzlweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2FyZWFzLWJnLmpwZ1wiKTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hcmVhc19faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIG1heC13aWR0aDogMTkwN3B4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmFyZWFzX19iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb250ZW50OiAnJztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yOTVzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjk1cyBsaW5lYXI7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjIsIDI1LCAzMSwgMC42KTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICByZ2JhKDI0LDI4LDM3LDEpIDAlLCByZ2JhKDY3LDg0LDExNywwLjAxKSA5OSUsIHJnYmEoNjcsODQsMTE3LDApIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICByZ2JhKDI0LDI4LDM3LDEpIDAlLHJnYmEoNjcsODQsMTE3LDAuMDEpIDk5JSxyZ2JhKDY3LDg0LDExNywwKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICByZ2JhKDI0LDI4LDM3LDEpIDAlLHJnYmEoNjcsODQsMTE3LDAuMDEpIDk5JSxyZ2JhKDY3LDg0LDExNywwKSAxMDAlKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzE4MWMyNScsIGVuZENvbG9yc3RyPScjMDA0MzU0NzUnLEdyYWRpZW50VHlwZT0xICk7XG4gIH1cblxuICAmLnZpc2libGUge1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICB9XG5cbiAgPmRpdiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyO1xuXG4gICAgJi52aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gIH1cblxufVxuLmFyZWFzX190ZXh0IHtcbiAgbWF4LXdpZHRoOiA5NzBweDtcbiAgbWFyZ2luOiAwIGF1dG8gNzBweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cbi5hcmVhc19faXRlbXMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gID5kaXYge1xuXG4gICAgJjpudGgtY2hpbGQoMikge1xuXG4gICAgICAuYXJlYXNfX3RpdGxlIHtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cbiAgICAmOm50aC1jaGlsZCgzKSB7XG5cbiAgICAgIC5hcmVhc19fdGl0bGUge1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufVxuLmFyZWFzX19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDUyMHB4O1xuICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICBwYWRkaW5nOiAyMHB4IDIwcHggNDBweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIEBpbmNsdWRlIG1haW4tZm9udDEoKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlciAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjNzIGVhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmLm9wZW5lZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjdhNDAwO1xuXG4gICAgLmFyZWFzX19pdGVtLXRleHQge1xuICAgICAgLy9oZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC5hcmVhc19fZGVjb3Ige1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gIH1cblxuICAvLyY6YWZ0ZXIge1xuICAvLyAgcG9zaXRpb246IGFic29sdXRlO1xuICAvLyAgdG9wOiAwO1xuICAvLyAgbGVmdDogMDtcbiAgLy8gIHdpZHRoOiAxMDAlO1xuICAvLyAgaGVpZ2h0OiAxMDAlO1xuICAvLyAgYm9cbiAgLy8gIGNvbnRlbnQ6ICcnO1xuICAvL31cblxuICBwIHtcbiAgICBtYXJnaW46IDAgMzBweDtcbiAgfVxuXG59XG4uYXJlYXNfX2l0ZW0tdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xufVxuLmFyZWFzX190aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgQGluY2x1ZGUgbWFpbi1mb250MSgpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgICB3aWR0aDogMjdweDtcbiAgICBmaWxsOiAjZjdhNDAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogZmlsbCAwLjNzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogZmlsbCAwLjNzIGVhc2U7XG4gIH1cblxufVxuLmFyZWFzX19kZWNvciB7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0zNXB4O1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA3MHB4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIGJhY2tncm91bmQ6ICNmN2E0MDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmN2E0MDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogI2Y3YTQwMDtcbiAgICB9XG5cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZmY7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSkgcm90YXRlKDEzNWRlZyk7XG4gICAgY29udGVudDogJyc7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXIgMC4zcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjNzIGVhc2U7XG4gIH1cblxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1wb3J0cmFpdCkge1xuXG4gIC5hcmVhc19faXRlbXMge1xuXG4gICAgPmRpdiB7XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcblxuICAgICAgICAuYXJlYXNfX3RpdGxlIHtcblxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgM3B4IDAgMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgzKSB7XG5cbiAgICAgICAgLmFyZWFzX190aXRsZSB7XG5cbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbiAgLmFyZWFzX19pdGVtIHtcbiAgICBwYWRkaW5nOiA1MHB4IDMwcHggNzBweDtcbiAgfVxuICAuYXJlYXNfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xuXG4gICAgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRvcDogM3B4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGhlaWdodDogMzVweDtcbiAgICAgIG1hcmdpbjogMCA4cHggMCAwO1xuICAgIH1cblxuICB9XG5cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAkZGVza3RvcCkge1xuXG4gIC5hcmVhcyB7XG4gICAgcGFkZGluZy10b3A6IDIyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5OXB4O1xuICB9XG4gIC5hcmVhc19fdGV4dCB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzlweDtcbiAgICAvL2ZvbnQtc2l6ZTogMjZweDtcbiAgICAvL2xpbmUtaGVpZ2h0OiA0MHB4O1xuICB9XG4gIC5hcmVhc19faXRlbXMge1xuICAgIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgIGhlaWdodDogMzEwcHg7XG5cbiAgICA+ZGl2IHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIHdpZHRoOiAzMy4zMzMlO1xuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG5cbiAgICAgICAgLmFyZWFzX19pdGVtIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcblxuICAgICAgICAuYXJlYXNfX2l0ZW0ge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxOTZweCAwO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG4gIC5hcmVhc19faXRlbSB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAxOTZweDtcbiAgfVxuICAuYXJlYXNfX3RpdGxlIHtcbiAgICAvL2ZvbnQtc2l6ZTogMzJweDtcbiAgICAvL2xpbmUtaGVpZ2h0OiA0MHB4O1xuICB9XG5cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAkZGVza3RvcC1oZCkge1xuXG4gIC5hcmVhcyB7XG4gICAgLy9wYWRkaW5nLXRvcDogMzI0cHg7XG4gICAgcGFkZGluZy10b3A6IDIyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG4gIC5hcmVhc19faXRlbXMge1xuICAgIGhlaWdodDogMzEwcHg7XG4gIH1cbiAgLmFyZWFzX19kZWNvciB7XG4gICAgYm90dG9tOiAtNDVweDtcbiAgICB3aWR0aDogOTBweDtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gIH1cbiAgLmFyZWFzX19pdGVtIHtcbiAgICAvL3BhZGRpbmc6IDkwcHggNzBweDtcbiAgfVxuICAuYXJlYXNfX3RpdGxlIHtcbiAgICAvL2ZvbnQtc2l6ZTogMzZweDtcbiAgICAvL2xpbmUtaGVpZ2h0OiA1MHB4O1xuICB9XG5cbn1cbiIsIi5maW5kLXNvY2lhbCB7XG4gIHBhZGRpbmc6IDQwcHggMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXBvcnRyYWl0KSB7XG5cblxuXG59XG5AbWVkaWEgKG1pbi13aWR0aDogJGRlc2t0b3ApIHtcblxuXG5cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAkZGVza3RvcC1oZCkge1xuXG5cblxufVxuIl19 */
