:root{--color-main: #000;--color-second: #fff;--bg-dark: #151616;--font-main: "Montserrat", sans-serif;--solutions-main: #181818;--solutions-second: #00b2f4;--solutions-light: #ececec;--solutions-bg-light: #f9f9f9;--animate-delay: 0.5s}select[data-ss-uuid]{display:none;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.style-select{display:block;position:relative;width:100%;outline:none}.style-select,.style-select *{padding:0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;line-height:19px;color:#A4A4A4;font-weight:300;cursor:pointer}.style-select .ss-selected-option{width:100%;background-color:#212323;padding:0 1.5625vw;height:3.125vw;line-height:3.125vw;outline:none}@media screen and (max-width: 1440px){.style-select .ss-selected-option{height:4.16667vw;line-height:4.16667vw}}@media screen and (max-width: 1280px){.style-select .ss-selected-option{height:4.6875vw;line-height:4.6875vw}}@media screen and (max-width: 1024px){.style-select .ss-selected-option{height:50px;line-height:50px;padding:0 15px}}.style-select .ss-selected-option::before{content:"";position:absolute;border:.41667vw solid transparent;border-top:.625vw solid #6E7373;margin-top:-.26042vw;top:50%;right:1.5625vw;display:block}@media screen and (max-width: 1024px){.style-select .ss-selected-option::before{border:6px solid transparent;border-top:10px solid #6E7373;margin-top:-3px;right:20px}}.style-select .ss-selected-option::after{content:'';position:absolute;right:3.64583vw;top:.57292vw;width:1px;height:2.08333vw;background-color:#6E7373}@media screen and (max-width: 1440px){.style-select .ss-selected-option::after{height:2.77778vw}}@media screen and (max-width: 1280px){.style-select .ss-selected-option::after{height:3.125vw}}@media screen and (max-width: 1024px){.style-select .ss-selected-option::after{right:50px;top:11px;height:30px}}.style-select .ss-dropdown{top:100%;left:0;position:absolute;float:left;width:100%;display:none;border-top:0 none;outline:none;z-index:4;background-color:#212323}.style-select .ss-dropdown .ss-option{width:100%;padding:.52083vw 1.04167vw;font-size:.83333vw}@media screen and (max-width: 1440px){.style-select .ss-dropdown .ss-option{padding:.69444vw 1.38889vw;font-size:.83333vw}}@media screen and (max-width: 1280px){.style-select .ss-dropdown .ss-option{padding:.78125vw 1.5625vw;font-size:.9375vw}}@media screen and (max-width: 1024px){.style-select .ss-dropdown .ss-option{padding:10px 20px;font-size:12px}}@media screen and (max-width: 1024px){.style-select .ss-dropdown .ss-option{padding:10px 20px;font-size:12px}}.style-select .ss-dropdown .ss-option.highlighted{background-color:#353737}.style-select .ss-dropdown .ss-option.disabled{color:#d0d0d0}.style-select.open{outline:none}.style-select.open .ss-dropdown{display:block}@-webkit-keyframes heart{from{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heart{from{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes send{from{background-color:#e05940}to{background-color:#d4523a}}@keyframes send{from{background-color:#e05940}to{background-color:#d4523a}}@-webkit-keyframes slideIn{from{-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}to{-webkit-transform:translateX(0px);transform:translateX(0px)}}@keyframes slideIn{from{-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}to{-webkit-transform:translateX(0px);transform:translateX(0px)}}@-webkit-keyframes slideOut{from{-webkit-transform:translateX(0px);transform:translateX(0px)}to{-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes slideOut{from{-webkit-transform:translateX(0px);transform:translateX(0px)}to{-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes slide{from{opacity:0;-webkit-transform:translate3d(-100px, 0, 50px);transform:translate3d(-100px, 0, 50px);letter-spacing:-1}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);width:100%;letter-spacing:1}}@keyframes slide{from{opacity:0;-webkit-transform:translate3d(-100px, 0, 50px);transform:translate3d(-100px, 0, 50px);letter-spacing:-1}to{opacity:1;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);width:100%;letter-spacing:1}}@-webkit-keyframes circle{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes circle{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.section.blue{background-color:#001F38}.project-step{font-size:14px}@media (min-width: 1920px){.project-step{font-size:0.733vw}}.content{margin-left:auto;margin-bottom:auto;padding-top:120px;max-width:1600px}section{padding-top:130px;padding-bottom:130px}@media (max-width: 1340px){section{padding-top:-webkit-calc(50px + (130 - 50) * ((100vw - 320px) / (1340 - 320)));padding-top:calc(50px + (130 - 50) * ((100vw - 320px) / (1340 - 320)));padding-bottom:-webkit-calc(50px + (130 - 50) * ((100vw - 320px) / (1340 - 320)));padding-bottom:calc(50px + (130 - 50) * ((100vw - 320px) / (1340 - 320)))}}.container{margin:0 auto;padding:0 9.375vw}@media (min-width: 1920px){.container{max-width:none;padding:0 9.375vw}}@media screen and (max-width: 1440px){.container{padding:0 6.11111vw}}@media screen and (max-width: 1280px){.container{padding:0 6.875vw}}@media screen and (max-width: 1024px){.container{padding:0 30px}}@media screen and (max-width: 480px){.container{padding:0 15px}}.titles-block{margin-bottom:0}.section-title{display:block;margin-bottom:25px;font-weight:800;font-size:40px;line-height:1.3}@media (min-width: 1920px){.section-title{font-size:2vw}}@media (max-width: 1340px){.section-title{font-size:-webkit-calc(19px + (40 - 19) * ((100vw - 320px) / (1340 - 320)));font-size:calc(19px + (40 - 19) * ((100vw - 320px) / (1340 - 320)))}}img{display:inline-block;max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover;vertical-align:top}a{display:inline-block;text-decoration:none;-webkit-transition:0.4s;-o-transition:0.4s;transition:0.4s}.small-title{color:#6e7373}.title-link{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;border:none;color:#000}.title-link:hover{color:var(--solutions-second)}.title-link svg{margin-right:15px}.bg-dark{color:#fff;background-color:#252525}.bg-light{color:#000;background-color:var(--solutions-bg-light)}.bg-white{color:#000;background-color:#fff}.two-color{padding:0;background-image:-webkit-gradient(linear, left top, right top, from(#fff), color-stop(50%, var(--solutions-second)));background-image:-o-linear-gradient(left, #fff 0% 50%, var(--solutions-second) 50% 100%);background-image:linear-gradient(to right, #fff 0% 50%, var(--solutions-second) 50% 100%)}.two-color__column{display:block;margin:0;width:50%;text-align:center}.two-color .site-images{margin-top:0;margin-bottom:0}.two-color .site-images img{margin-bottom:0}@media screen and (max-width: 600px){.flex:not(.f_wrap){-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}@media (max-width: 600px){.half-block{width:100%;margin-right:0}}.half-block.text-block{padding-top:45px}@media (max-width: 1340px){.half-block.text-block{padding-top:-webkit-calc(20px + (45 - 20) * ((100vw - 320px) / (1340 - 320)));padding-top:calc(20px + (45 - 20) * ((100vw - 320px) / (1340 - 320)))}}.video-section{background-attachment:fixed;background-position:top center;background-size:cover;background-repeat:none}.video{position:relative;z-index:1;border:15px solid var(--color-main);overflow:hidden;background-color:#000}@media (max-width: 480px){.video{border-width:5px}}.video__player{display:block;width:100%;height:auto}@media (max-width: 600px){.video__player{border-width:5px}}.video__poster{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background-repeat:no-repeat;background-size:cover}.video__description{opacity:0}.video.videoWrap-none .video__info{display:none}.video__info{position:absolute;top:0;bottom:0;left:0;right:0;padding:2.60417vw 3.125vw;-webkit-transition:0.8s;-o-transition:0.8s;transition:0.8s}.video__info .video__play-btn{position:absolute;width:6.77083vw;height:6.77083vw;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);font-size:.83333vw;font-weight:500;background-color:#fff;-webkit-border-radius:50%;border-radius:50%;z-index:2}.site-colors{border-top:1px solid #6f7070;padding-top:90px}@media (max-width: 1340px){.site-colors{padding-top:-webkit-calc(30px + (90 - 30) * ((100vw - 320px) / (1340 - 320)));padding-top:calc(30px + (90 - 30) * ((100vw - 320px) / (1340 - 320)))}}.site-colors-item{-webkit-box-flex:33.33%;-webkit-flex:33.33%;-ms-flex:33.33%;flex:33.33%;padding:30px 40px;text-align:center;font-size:13px}@media (max-width: 600px){.site-colors-item{padding:8px}}.site-images{margin-top:50px;margin-bottom:-70px;text-align:center}.site-images.mt-0{margin-top:0}@media (max-width: 1340px){.site-images{margin-top:-webkit-calc(30px + (50 - 30) * ((100vw - 320px) / (1340 - 320)));margin-top:calc(30px + (50 - 30) * ((100vw - 320px) / (1340 - 320)));margin-bottom:-30px}.site-images img{margin-bottom:20px}}@media (max-width: 600px){.site-images{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:-10px}}.site-images img{margin-bottom:70px;width:100%}@media (max-width: 1340px){.site-images img{margin-bottom:30px}}@media (max-width: 600px){.site-images img{margin-bottom:10px}}@media (max-width: 600px){.site-images.site-adaptive__images{padding-top:0}}.site-images.site-adaptive__images picture{-webkit-box-flex:0;-webkit-flex:0 0 30%;-ms-flex:0 0 30%;flex:0 0 30%;max-width:390px}@media (max-width: 600px){.site-images.site-adaptive__images picture{-webkit-box-flex:0;-webkit-flex:0 0 31%;-ms-flex:0 0 31%;flex:0 0 31%}}.site-images.site-adaptive__images--mini{padding-top:20px}@media (max-width: 600px){.site-images.site-adaptive__images--mini{padding-top:0}}.site-images.site-adaptive__images--mini picture{-webkit-box-flex:0;-webkit-flex:0 0 21%;-ms-flex:0 0 21%;flex:0 0 21%;margin-bottom:20px}@media (max-width: 600px){.site-images.site-adaptive__images--mini picture{-webkit-box-flex:0;-webkit-flex:0 0 48%;-ms-flex:0 0 48%;flex:0 0 48%;margin-bottom:10px}}.triple-block{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;margin-top:70px}.triple-block__item{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:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-webkit-flex:0 0 26%;-ms-flex:0 0 26%;flex:0 0 26%;margin-bottom:30px;text-align:center}@media (max-width: 600px){.triple-block__item{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;margin-bottom:20px}}.triple-block__item img{margin-bottom:40px;max-width:170px;max-height:170px}@media (max-width: 600px){.triple-block__item img{margin-bottom:20px}}.triple-block__item--sign{-webkit-box-flex:0;-webkit-flex:0 0 11%;-ms-flex:0 0 11%;flex:0 0 11%;padding-top:7%}.triple-block__item--sign img{max-width:20px;max-height:20px}.triple-block__subtitle{margin-bottom:10px;font-weight:600;font-size:22px;line-height:1.4}.triple-block__text{font-size:18px;line-height:1.4}.site-dev{overflow:visible}.site-dev--solutions{padding-bottom:0}.site-grid{color:var(--color-second);background-color:var(--solutions-second)}.site-grid .small-title{color:var(--color-second)}.site-adaptive{background:url("/uploads/images/portfolio/solutions/bg-ruby-right.svg") no-repeat center 15vh/80%,var(--solutions-bg-light)}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvbHV0aW9ucy5zY3NzIiwiLi4vc2V0dGluZ3MvX3N0eWxlc2VsZWN0LnNjc3MiLCIuLi9zZXR0aW5ncy9fbWl4aW5zLnNjc3MiLCIuLi9zZXR0aW5ncy9fa2V5ZnJhbWVzLnNjc3MiLCIuLi9wb3J0Zm9saW8uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUNFLGtCQUFhLENBQ2Isb0JBQWUsQ0FDZixrQkFBVSxDQUNWLHFDQUFZLENBRVoseUJBQWlCLENBQ2pCLDJCQUFtQixDQUNuQiwwQkFBa0IsQ0FDbEIsNkJBQXFCLENBRXJCLHFCQUFnQixDQUNqQixxQkNHQSxZQUFhLENBQ2IsbUJBQW9CLENBQ3BCLHVCQUFZLENBQVosb0JBQVksQ0FBWixlQUFnQixDQUNoQixjQUdBLGFBQWMsQ0FDZCxpQkFBa0IsQ0FDbEIsVUFBVyxDQUNYLFlBQWEsQ0FKZCw4QkFRRSxTQUFVLENBQ1YsUUFBUyxDQUNULDZCQUFzQixDQUF0QixxQkFBc0IsQ0FDdEIsZUFBZ0IsQ0FDaEIsZ0JBaENtQixDQWlDbkIsYUFBYyxDQUNkLGVBQWdCLENBQ2hCLGNBQWUsQ0FmakIsa0NBbUJFLFVBQVcsQ0FDWCx3QkFuQ3FDLENBb0NyQyxrQkNGMEMsQ0RHMUMsY0NIMEMsQ0RJMUMsbUJDSjBDLENESzFDLFlBQWEsQ0NnQlgsc0NEeENKLGtDQTBCRyxnQkNWd0MsQ0RXeEMscUJDWHdDLENENkR6QyxDQ3JDRSxzQ0R4Q0osa0NBOEJHLGVDZHdDLENEZXhDLG9CQ2Z3QyxDRDZEekMsQ0NyQ0Usc0NEeENKLGtDQWtDRyxXQUFZLENBQ1osZ0JBQWlCLENBQ2pCLGNBQWUsQ0F5Q2hCLENBN0VGLDBDQXlDRyxVQUFXLENBQ1gsaUJBQWtCLENBQ2xCLGlDQUFpQyxDQUNqQywrQkFBa0MsQ0FDbEMsb0JDMUJ5QyxDRDJCekMsT0FBUSxDQUNSLGNDNUJ5QyxDRDZCekMsYUFBYyxDQ1JiLHNDRHhDSiwwQ0FtREksNEJBQTZCLENBQzdCLDZCQUE4QixDQUM5QixlQUFnQixDQUNo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bkIsaUJBQWtCLENBRWxCLDBCQVJGLG9CQVNJLGtCQUFjLENBQWQscUJBQWMsQ0FBZCxpQkFBYyxDQUFkLGFBQWMsQ0FDZCxrQkFBbUIsQ0FzQnRCLENBaENBLHdCQWNHLGtCQUFtQixDQUNuQixlQUFnQixDQUNoQixnQkFBaUIsQ0FFakIsMEJBbEJILHdCQW1CSyxrQkFBbUIsQ0FFdEIsQ0FFRCwwQkFDRSxrQkFBYSxDQUFiLG9CQUFhLENBQWIsZ0JBQWEsQ0FBYixZQUFhLENBQ2IsY0FBZSxDQUZoQiw4QkFLRyxjQUFlLENBQ2YsZUFBZ0IsQ0FDakIsd0JBS0gsa0JBQW1CLENBQ25CLGVBQWdCLENBQ2hCLGNBQWUsQ0FDZixlQUFnQixDQUNqQixvQkFHQyxjQUFlLENBQ2YsZUFBZ0IsQ0FDakIsVUFNQyxnQkFBaUIsQ0FFakIscUJBQ0UsZ0JBQWlCLENBQ2xCLFdBSUQseUJBQTBCLENBQzFCLHdDQUF5QyxDQUY3Qyx3QkFLTSx5QkFBMEIsQ0FDM0IsZUFJRCwySEFFeUIiLCJmaWxlIjoic29sdXRpb25zLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcbiAgLS1jb2xvci1tYWluOiAjMDAwO1xuICAtLWNvbG9yLXNlY29uZDogI2ZmZjtcbiAgLS1iZy1kYXJrOiAjMTUxNjE2O1xuICAtLWZvbnQtbWFpbjogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG5cbiAgLS1zb2x1dGlvbnMtbWFpbjogIzE4MTgxODtcbiAgLS1zb2x1dGlvbnMtc2Vjb25kOiAjMDBiMmY0O1xuICAtLXNvbHV0aW9ucy1saWdodDogI2VjZWNlYztcbiAgLS1zb2x1dGlvbnMtYmctbGlnaHQ6ICNmOWY5Zjk7XG4gIFxuICAtLWFuaW1hdGUtZGVsYXk6IDAuNXM7XG59XG5cbi8vIC5jb250YWluZXIgPSAxMzQwXG4vLyDRhNC+0YDQvNGD0LvQsCDQtNC70Y8g0LDQtNCw0L/RgtC40LLQvdGL0YUg0YHQstC+0LnRgdGC0LI6XG4vLyDRgdCy0L7QudGB0YLQstC+OiBjYWxjKG1pblNpemVfcHggKyAobWF4U2l6ZSAtIG1pblNpemUpICogKCgxMDB2dyAtIDMyMHB4KSAvICguY29udGFpbmVyIC0gMzIwKSkpO1xuLy8g0L3QsNC/0YDQuNC80LXRgDpcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAxMzQwcHgpIHtcbi8vICAgZm9udC1zaXplOiBjYWxjKDEwcHggKyAoMjAgLSAxMCkgKiAoKDEwMHZ3IC0gMzIwcHgpIC8gKDEzNDAgLSAzMjApKSk7XG4vLyB9XG5cbkBpbXBvcnQgJy4uL3BvcnRmb2xpby5zY3NzJztcblxuLyog0L7QsdGJ0LjQtSDRgdGC0LjQu9C4INC00LvRjyDRgdGC0YDQsNC90LjRhiDQv9C+0YDRgtGE0L7Qu9C40L4gKNC90LAg0L7RgdC90L7QstC1INGA0YPQsdC40L3QsCkgKi9cbi8qINC+0LHRidC40LUg0YHRgtC40LvQuCDQtNC70Y8g0KHQmiDQodC+0LvRjtGI0LjQvdGBLCDQuCDQv9C+0LTQvtCx0L3Ri9GFINC10LzRgyDRgdGC0YDQsNC90LjRhiDQv9C+0YDRgtGE0L7Qu9C40L4gKi9cbi5jb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgbWF4LXdpZHRoOiAxNjAwcHg7XG59XG5cbnNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMTMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMzBweDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTM0MHB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNTBweCArICgxMzAgLSA1MCkgKiAoKDEwMHZ3IC0gMzIwcHgpIC8gKDEzNDAgLSAzMjApKSk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoNTBweCArICgxMzAgLSA1MCkgKiAoKDEwMHZ3IC0gMzIwcHgpIC8gKDEzNDAgLSAzMjApKSk7XG4gIH1cbn1cblxuLmNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDkuMzc1dnc7XG4gIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZzogMCA5LjM3NXZ3O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDAgNi4xMTExMXZ3O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDAgNi44NzV2dztcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgfVxufVxuXG4udGl0bGVzLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc2VjdGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgIGZvbnQtc2l6ZTogMnZ3O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEzNDBweCkge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxOXB4ICsgKDQwIC0gMTkpICogKCgxMDB2dyAtIDMyMHB4KSAvICgxMzQwIC0gMzIwKSkpO1xuICB9XG59XG5cbmltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAwLjRzO1xufVxuXG4uc21hbGwtdGl0bGUge1xuICAgIGNvbG9yOiAjNmU3MzczO1xufVxuXG4udGl0bGUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tc29sdXRpb25zLXNlY29uZCk7XG4gICAgfVxuICAgIFxuICAgIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxufVxuXG4uYmctZGFyayB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjUyNTtcbn1cblxuLmJnLWxpZ2h0IHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zb2x1dGlvbnMtYmctbGlnaHQpO1xufVxuXG4uYmctd2hpdGUge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi50d28tY29sb3Ige1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZmIDAlIDUwJSAsIHZhcigtLXNvbHV0aW9ucy1zZWNvbmQpIDUwJSAxMDAlKTtcbiAgICBcbiAgICAmX19jb2x1bW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAuc2l0ZS1pbWFnZXMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgXG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbn1cblxuLmZsZXg6bm90KC5mX3dyYXApIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbn1cblxuLmhhbGYtYmxvY2sge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgICYudGV4dC1ibG9jayB7XG4gICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICBcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMzQwcHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoMjBweCArICg0NSAtIDIwKSAqICgoMTAwdncgLSAzMjBweCkgLyAoMTM0MCAtIDMyMCkpKTtcbiAgICAgIH1cbiAgICB9XG59XG5cbi52aWRlby1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vbmU7XG59XG5cbi52aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyOiAxNXB4IHNvbGlkIHZhcigtLWNvbG9yLW1haW4pO1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gIH1cbiAgXG4gICZfX3BsYXllciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICB9XG4gIH1cblxuICAmX19wb3N0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYudmlkZW9XcmFwLW5vbmUgLnZpZGVvX19pbmZvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICZfX2luZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMi42MDQxN3Z3IDMuMTI1dnc7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjhzO1xuICAgIC1vLXRyYW5zaXRpb246IDAuOHM7XG4gICAgdHJhbnNpdGlvbjogMC44cztcbiAgXG4gICAgLnZpZGVvX19wbGF5LWJ0biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNi43NzA4M3Z3O1xuICAgICAgaGVpZ2h0OiA2Ljc3MDgzdnc7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgZm9udC1zaXplOiAuODMzMzN2dztcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cblxuLnNpdGUtY29sb3JzIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2ZjcwNzA7XG4gIHBhZGRpbmctdG9wOiA5MHB4O1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMzQwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygzMHB4ICsgKDkwIC0gMzApICogKCgxMDB2dyAtIDMyMHB4KSAvICgxMzQwIC0gMzIwKSkpO1xuICB9XG5cbiAgJi1pdGVtIHtcbiAgICBmbGV4OiAzMy4zMyU7XG4gICAgcGFkZGluZzogMzBweCA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICB9XG4gIH1cbn1cblxuLnNpdGUtaW1hZ2VzIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogLTcwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLm10LTAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogMTM0MHB4KSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMHB4ICsgKDUwIC0gMzApICogKCgxMDB2dyAtIDMyMHB4KSAvICgxMzQwIC0gMzIwKSkpO1xuICAgIG1hcmdpbi1ib3R0b206IC0zMHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG4gIH1cblxuICBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTM0MHB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cblxuICAmLnNpdGUtYWRhcHRpdmVfX2ltYWdlcyB7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIHBpY3R1cmUge1xuICAgICAgZmxleDogMCAwIDMwJTtcbiAgICAgIG1heC13aWR0aDogMzkwcHg7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBmbGV4OiAwIDAgMzElO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc2l0ZS1hZGFwdGl2ZV9faW1hZ2VzLS1taW5pIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgcGljdHVyZSB7XG4gICAgICBmbGV4OiAwIDAgMjElO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIGZsZXg6IDAgMCA0OCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50cmlwbGUtYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IDcwcHg7XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleDogMCAwIDI2JTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWF4LXdpZHRoOiAxNzBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDE3MHB4O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi0tc2lnbiB7XG4gICAgICBmbGV4OiAwIDAgMTElO1xuICAgICAgcGFkZGluZy10b3A6IDclO1xuXG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDIwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG59XG5cbi8qINGB0YLQuNC70Lgg0YLQvtC70YzQutC+INC00LvRjyBcInNvbHV0aW9uc1wiICovXG5cbi5zaXRlLWRldiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAmLS1zb2x1dGlvbnMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxufVxuXG4uc2l0ZS1ncmlkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zb2x1dGlvbnMtc2Vjb25kKTtcblxuICAgIC5zbWFsbC10aXRsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICB9XG59XG5cbi5zaXRlLWFkYXB0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBcbiAgICB1cmwoXCIvdXBsb2Fkcy9pbWFnZXMvcG9ydGZvbGlvL3NvbHV0aW9ucy9iZy1ydWJ5LXJpZ2h0LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIDE1dmggLyA4MCUsXG4gICAgdmFyKC0tc29sdXRpb25zLWJnLWxpZ2h0KTtcbn1cbi8qIC0tLSAqLyIsIiRzcy1saW5lLWhlaWdodDogMTlweCAhZGVmYXVsdDtcbiRzcy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRzcy1zcGFjaW5nOiAyNHB4ICFkZWZhdWx0O1xuXG4kc3MtaGlnaGxpZ2h0LWNvbG9yOiByZ2IoMjQyLCAyNDQsIDI0OCkgIWRlZmF1bHQ7XG4kc3Mtc2VsZWN0ZWQtb3B0aW9uLWJhY2tncm91bmQ6ICMyMTIzMjM7XG4kc3MtZHJvcGRvd24tc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpICFkZWZhdWx0O1xuXG4kc3Mtc3RhbmRhcmQtYm9yZGVyOiAkc3MtYm9yZGVyLXdpZHRoIHNvbGlkICNkMGQwZDAgIWRlZmF1bHQ7XG5cbiRzcy1zcGFjaW5nLXNtYWxsOiAkc3Mtc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG4kc3Mtc3BhY2luZy10aW55OiAkc3Mtc3BhY2luZyAvIDQgIWRlZmF1bHQ7XG5cbi8vIEhpZGUgcmVhbCBzZWxlY3QgYm94ZXMgd2hpY2ggaGF2ZSBzZWVuIHN0eWxlZC5cbnNlbGVjdFtkYXRhLXNzLXV1aWRdIHtcblx0ZGlzcGxheTogbm9uZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5zdHlsZS1zZWxlY3Qge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTsgLy8gRGVmYXVsdCB3aWR0aFxuXHRvdXRsaW5lOiBub25lO1xuXG5cdC8vIFNldCByZWFzb25hYmxlIGRlZmF1bHRzIG9uIHRoaXMgZWxlbWVudCBhbmQgaXRzIGNoaWxkcmVuXG5cdCYsICoge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRsaW5lLWhlaWdodDogJHNzLWxpbmUtaGVpZ2h0O1xuXHRcdGNvbG9yOiAjQTRBNEE0O1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cblx0LnNzLXNlbGVjdGVkLW9wdGlvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNzLXNlbGVjdGVkLW9wdGlvbi1iYWNrZ3JvdW5kO1xuXHRcdHBhZGRpbmc6IDAgdncoMzBweCk7XG5cdFx0aGVpZ2h0OiB2dyg2MHB4KTtcblx0XHRsaW5lLWhlaWdodDogdncoNjBweCk7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRAaW5jbHVkZSBtZWRpYSgxNDQwcHgpIHtcblx0XHRcdGhlaWdodDogdncoNjBweCwgMTQ0MCk7XG5cdFx0XHRsaW5lLWhlaWdodDogdncoNjBweCwgMTQ0MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhKDEyODBweCkge1xuXHRcdFx0aGVpZ2h0OiB2dyg2MHB4LCAxMjgwKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiB2dyg2MHB4LCAxMjgwKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEoMTAyNHB4KSB7XG5cdFx0XHRoZWlnaHQ6IDUwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogNTBweDtcblx0XHRcdHBhZGRpbmc6IDAgMTVweDtcblx0XHR9XG5cdFx0Ly9ib3JkZXI6ICRzcy1zdGFuZGFyZC1ib3JkZXI7XG5cdFx0Ly8gVGhlIGRvd24gYXJyb3dcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvcmRlcjogdncoOHB4KSBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci10b3A6IHZ3KDEycHgpIHNvbGlkICM2RTczNzM7XG5cdFx0XHRtYXJnaW4tdG9wOiB2dygtNXB4KTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0cmlnaHQ6IHZ3KDMwcHgpO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKDEwMjRweCkge1xuXHRcdFx0XHRib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMTBweCBzb2xpZCAjNkU3MzczO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAtM3B4O1xuXHRcdFx0XHRyaWdodDogMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogdncoNzBweCk7XG5cdFx0XHR0b3A6IHZ3KDExcHgpO1xuXHRcdFx0d2lkdGg6IDFweDtcblx0XHRcdGhlaWdodDogdncoNDBweCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNkU3MzczO1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoMTQ0MHB4KSB7XG5cdFx0XHRcdGhlaWdodDogdncoNDBweCwgMTQ0MCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgxMjgwcHgpIHtcblx0XHRcdFx0aGVpZ2h0OiB2dyg0MHB4LCAxMjgwKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKDEwMjRweCkge1xuXHRcdFx0XHRyaWdodDogNTBweDtcblx0XHRcdFx0dG9wOiAxMXB4O1xuXHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnNzLWRyb3Bkb3duIHtcblx0XHR0b3A6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRib3JkZXItdG9wOiAwIG5vbmU7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHR6LWluZGV4OiA0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICMyMTIzMjM7XG5cdFx0LnNzLW9wdGlvbiB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IHZ3KDEwcHgpIHZ3KDIwcHgpO1xuXHRcdFx0Zm9udC1zaXplOiB2dygxNnB4KTtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKDE0NDBweCkge1xuXHRcdFx0XHRwYWRkaW5nOiB2dygxMHB4LCAxNDQwKSB2dygyMHB4LCAxNDQwKTtcblx0XHRcdFx0Zm9udC1zaXplOiB2dygxMnB4LCAxNDQwKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKDEyODBweCkge1xuXHRcdFx0XHRwYWRkaW5nOiB2dygxMHB4LCAxMjgwKSB2dygyMHB4LCAxMjgwKTtcblx0XHRcdFx0Zm9udC1zaXplOiB2dygxMnB4LCAxMjgwKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKDEwMjRweCkge1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIG1lZGlhKDEwMjRweCkge1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdH1cblx0XHRcdC8vIFdlIGRvbid0IHVzZSA6aG92ZXIgYXMgdGhhdCdzIG9ubHkgZm9yIG1vdXNlXG5cdFx0XHQvLyBhbmQgd2Ugd2FudCBrZXlib2FyZCBoaWdobGlnaHRpbmcgdG9vXG5cdFx0XHQmLmhpZ2hsaWdodGVkIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzM1MzczNztcblx0XHRcdH1cblx0XHRcdCYuZGlzYWJsZWQge1xuXHRcdFx0XHRjb2xvcjogI2QwZDBkMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLm9wZW4ge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0LnNzLWRyb3Bkb3duIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXG59XG4iLCJAZnVuY3Rpb24gZGVjaW1hbC1yb3VuZCAoJG51bWJlciwgJGRpZ2l0czogMCwgJG1vZGU6IHJvdW5kKSB7XG4gICAgJG46IDE7XG4gICAgLy8gJG51bWJlciBtdXN0IGJlIGEgbnVtYmVyXG4gICAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gbnVtYmVyIHtcbiAgICAgICAgQHdhcm4gJyN7ICRudW1iZXIgfSBpcyBub3QgYSBudW1iZXIuJztcbiAgICAgICAgQHJldHVybiAkbnVtYmVyO1xuICAgIH1cbiAgICAvLyAkZGlnaXRzIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXJcbiAgICBAaWYgdHlwZS1vZigkZGlnaXRzKSAhPSBudW1iZXIge1xuICAgICAgICBAd2FybiAnI3sgJGRpZ2l0cyB9IGlzIG5vdCBhIG51bWJlci4nO1xuICAgICAgICBAcmV0dXJuICRudW1iZXI7XG4gICAgfSBAZWxzZSBpZiBub3QgdW5pdGxlc3MoJGRpZ2l0cykge1xuICAgICAgICBAd2FybiAnI3sgJGRpZ2l0cyB9IGhhcyBhIHVuaXQuJztcbiAgICAgICAgQHJldHVybiAkbnVtYmVyO1xuICAgIH1cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRkaWdpdHMge1xuICAgICAgICAkbjogJG4gKiAxMDtcbiAgICB9XG4gICAgQGlmICRtb2RlID09IHJvdW5kIHtcbiAgICAgICAgQHJldHVybiByb3VuZCgkbnVtYmVyICogJG4pIC8gJG47XG4gICAgfSBAZWxzZSBpZiAkbW9kZSA9PSBjZWlsIHtcbiAgICAgICAgQHJldHVybiBjZWlsKCRudW1iZXIgKiAkbikgLyAkbjtcbiAgICB9IEBlbHNlIGlmICRtb2RlID09IGZsb29yIHtcbiAgICAgICAgQHJldHVybiBmbG9vcigkbnVtYmVyICogJG4pIC8gJG47XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuICcjeyAkbW9kZSB9IGlzIHVuZGVmaW5lZCBrZXl3b3JkLic7XG4gICAgICAgIEByZXR1cm4gJG51bWJlcjtcbiAgICB9XG59XG5cbiRtYXgtYnJlYWtwb2ludDogMTkyMCAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHZ3KCR0YXJnZXQsICRkb3A6ICcnKSB7XG5cbiAgICBAaWYgKCRkb3AgIT0gJycpIHtcbiAgICAgICAgJHZ3LWNvbnRleHQ6ICgkZG9wICogLjAxKSAqIDFweDtcbiAgICAgICAgQHJldHVybiAoJHRhcmdldC8kdnctY29udGV4dCkgKiAxdnc7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICR2dy1jb250ZXh0OiAoJG1heC1icmVha3BvaW50ICogLjAxKSAqIDFweDtcbiAgICAgICAgQHJldHVybiAgKCR0YXJnZXQvJHZ3LWNvbnRleHQpICogMXZ3O1xuICAgIH1cbn1cblxuXG5AbWl4aW4gc2Nyb2xsYmFyKCR0aHVtYmNvbG9yLCAkcmFuZ2Vjb2xvciwgJHdpZHRoKSB7XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiAkdGh1bWJjb2xvciAkcmFuZ2Vjb2xvcjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJhbmdlY29sb3I7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1iY29sb3I7XG4gICAgfVxufVxuXG5AbWl4aW4gbWVkaWEoJHdpZHRoKSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIHZ3bWVkaWEoJHdpZHRoKSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJyN7JHdpZHRofXB4Jykge1xuICAgICAgICAkbWF4LWJyZWFrcG9pbnQ6ICR3aWR0aCAhZ2xvYmFsO1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG4gICAgJG1heC1icmVha3BvaW50OiAxOTIwICFnbG9iYWw7XG59XG5cbkBtaXhpbiBzbWFsbERlc2MoKSB7XG4gICAgQGluY2x1ZGUgdndtZWRpYSgxNDQwKSB7XG4gICAgICAgIEBjb250ZW50XG4gICAgfVxuICAgIEBpbmNsdWRlIHZ3bWVkaWEoMTI4MCkge1xuICAgICAgICBAY29udGVudFxuICAgIH1cbiAgIC8qQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gICAgICAgICRtYXgtYnJlYWtwb2ludDogMTQ0MCAhZ2xvYmFsO1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgICRtYXgtYnJlYWtwb2ludDogMTI4MCAhZ2xvYmFsO1xuICAgICAgICBAY29udGVudDtcbiAgICB9Ki9cbiAgICAkbWF4LWJyZWFrcG9pbnQ6IDE5MjAgIWdsb2JhbDtcbn1cblxuQG1peGluIG1lZGlhbWluKCR3aWR0aCkge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWR0aCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBtZWRpYWhlaWdodCgkaGVpZ2h0KSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6ICRoZWlnaHQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gbWVkaWFEaWZmKCR3aWR0aCwgJGhlaWdodCkge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWR0aCkgYW5kIChtaW4taGVpZ2h0OiAkaGVpZ2h0KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIG1lZGlhRGlmZnMoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoKSBhbmQgKG1heC1oZWlnaHQ6ICRoZWlnaHQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWJsb2NrKCR2YWxpZ24sICRwYXJlbnQ6IGl0ZW0sICRpbXBvcnRhbnQ6IGl0ZW0pIHtcbiAgICBAaWYgKCRwYXJlbnQgPT0gJ3BhcmVudCcpIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjNlbTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB9XG4gICAgQGlmICgkaW1wb3J0YW50ID09ICdpbXBvcnRhbnQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIHZlcnRpY2FsLWFsaWduOiAkdmFsaWduO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbkBtaXhpbiBmbGV4KCRzcGFjZXMsICRhbGlnbikge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQGlmICgkc3BhY2VzICE9ICcnKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogJHNwYWNlcztcbiAgICB9XG4gICAgQGlmICgkYWxpZ24gIT0gJycpIHtcbiAgICAgICAgYWxpZ24taXRlbXM6ICRhbGlnbjtcbiAgICB9XG59IiwiQGtleWZyYW1lcyBoZWFydCB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzZW5kIHtcbiAgICBmcm9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkU2VjO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUlue1xuICAgIGZyb217dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO31cbiAgICB0b3t0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTt9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXR7XG4gICAgZnJvbXt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTt9XG4gICAgdG97dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO31cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMClcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApXG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKVxuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMClcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApXG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZSB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMHB4LCAwLCA1MHB4KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgY2lyY2xlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59IiwiJGJnR3JheTogIzBmMTAxMDtcbiRoZWFkZXI6ICMwMzA0MDQ7XG4kZ3JheTogIzE1MTYxNjtcbiR0ZXh0OiAjQjFCN0I3O1xuJHJlZDogI2UwNTk0MDtcbiRyZWRTZWM6ICNkNDUyM2E7XG4kYmx1ZTogIzAwMUYzODtcbiRoYWxmTWFyZ2luU2V2ZW46IDEuODIzdnc7XG5cbkBpbXBvcnQgJ3NldHRpbmdzL21peGlucyc7XG5AaW1wb3J0ICdzZXR0aW5ncy9zdHlsZXNlbGVjdCc7XG5AaW1wb3J0ICdzZXR0aW5ncy9rZXlmcmFtZXMnO1xuXG4uc2VjdGlvbiB7XG4gICAgJi5ibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgfVxufVxuXG4ucHJvamVjdC1zdGVwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgICAgICBmb250LXNpemU6IDAuNzMzdnc7XG4gICAgfVxufVxuIl19 */
