@import url(https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,400;0,700;1,400;1,700&display=swap);
@import url(https://use.typekit.net/rrk7fld.css);
@import url(https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,400;0,700;1,400;1,700&display=swap);
@import url(https://use.typekit.net/rrk7fld.css);
@-webkit-keyframes bounce{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-1rem);transform:translateY(-1rem)}}@keyframes bounce{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-1rem);transform:translateY(-1rem)}}.shake-animation{-webkit-animation:shake .15s infinite;animation:shake .15s infinite}@-webkit-keyframes shake{0%{-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-transform:translateX(5px);transform:translateX(5px)}50%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}75%{-webkit-transform:translateX(5px);transform:translateX(5px)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes shake{0%{-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-transform:translateX(5px);transform:translateX(5px)}50%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}75%{-webkit-transform:translateX(5px);transform:translateX(5px)}to{-webkit-transform:translateX(0);transform:translateX(0)}}.estate-banner{position:absolute;top:3rem;left:3rem;z-index:2;border-radius:2rem;text-transform:uppercase;padding:.5rem 2rem .7rem;font-family:Barlow Condensed,sans-serif;font-weight:600}.estate-banner.new{background:#eb4f3f;color:#fff}.estate-banner.prestige{background:#c9a64f;color:#fff}.estate-banner.new-price{background:#0d2544;color:#fff}.estate-banner.with-icon{padding-bottom:.8rem}.estate-banner.with-icon img,.estate-banner.with-icon span{display:inline-block;vertical-align:middle}.estate-banner.with-icon img{height:1rem;margin-right:.5rem}.estate-banner.epc,.estate-banner.epeil{background:#6fc63d;color:#fff}.estate-banner.btw,.estate-banner.openhouse{background:#eb4f3f;color:#fff}.estate-banner.openhouse{bottom:0;left:0;right:0;top:auto;border-radius:0;padding:1rem 2rem}.estate-banner.openhouse .grid-custom{grid-template-columns:1fr 120px}.estate-banner.openhouse .grid-custom .text{font-weight:700}.estate-banner.openhouse .grid-custom .time img,.estate-banner.openhouse .grid-custom .time span{display:inline-block;vertical-align:middle}.estate-banner.openhouse .grid-custom .time img{height:1rem;margin-right:.5rem}.estate-banner.openhouse .grid-custom .time span{font-weight:400;font-family:Barlow Condensed,sans-serif}.estate-banner.openhouse .grid-custom .time{text-align:right}.estate-banner.stage{position:absolute;bottom:3rem;top:auto;padding:0}.estate-banner.stage .icon,.estate-banner.stage span{display:inline-block;vertical-align:middle}.estate-banner.stage .icon{background:#fff;width:4rem;height:4rem;text-align:center;border-radius:100%;margin-right:1rem}.estate-banner.stage .icon img{height:2rem;margin-top:1rem;display:inline-block;margin-right:auto;transition:all 1s cubic-bezier(.445,.05,.55,.95)}.estate-banner.stage span{border-radius:2rem;color:#fff;padding:1rem 2rem;text-transform:uppercase;background:hsla(0,0%,43.9%,.8);opacity:0;transition:all .2s cubic-bezier(.445,.05,.55,.95)}.estate-banner.spain{position:absolute;left:auto;right:3rem;background:#ffba00;color:#fff}.estate-banner.spain img,.estate-banner.spain span{display:inline-block;vertical-align:middle}.estate-banner.spain img{height:1.5rem;display:inline-block}.estate-banner.spain span{color:#fff;text-transform:uppercase}.estate-banner.vip{top:1.5rem;left:1.5rem;background:#eb4f3f;color:#fff}.estate-banner.vip.with-icon{padding-bottom:.8rem}.estate-banner.vip.with-icon img,.estate-banner.vip.with-icon span{display:inline-block;vertical-align:middle}.estate-banner.vip.with-icon img{height:1rem;width:auto;margin-right:.5rem}.estate-banner.sold-percentage{position:absolute;left:auto;top:auto;right:3rem;bottom:-2rem;width:10rem;height:10rem;background:#eb4f3f;color:#fff;border-radius:100%;text-align:center;padding-top:2.7rem}.estate-banner.sold-percentage span{font-size:2.754rem;text-align:center}@media only screen and (max-width:576px){.estate-banner.sold-percentage{display:none}}.project-info .intro{min-height:calc(100vh - 60px);border-radius:0 0 2rem 2rem;overflow:hidden;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.project-info .intro .bg-img{z-index:1}.project-info .intro .bg-img:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.25);mix-blend-mode:multiply;z-index:2}.project-info .intro .content{position:relative;z-index:3}.project-info .intro .content .banner-wrapper .banner,.project-info .intro .content .banner-wrapper .favourite{display:inline-block;vertical-align:middle}.project-info .intro .content .banner-wrapper .banner{background:#fff;border-radius:3rem;padding:1.2rem 3rem;margin-right:2rem}.project-info .intro .content .banner-wrapper .banner img,.project-info .intro .content .banner-wrapper .banner span{display:inline-block;vertical-align:middle}.project-info .intro .content .banner-wrapper .banner img{width:2.5rem;margin-right:1rem}.project-info .intro .content .banner-wrapper .banner span{color:#194774;text-transform:uppercase;font-weight:700}.project-info .intro .content .banner-wrapper .favourite{cursor:pointer;z-index:1}.project-info .intro .content .banner-wrapper .favourite.active svg circle,.project-info .intro .content .banner-wrapper .favourite:hover svg circle{fill:#a6c6e6;-webkit-filter:brightness(1);filter:brightness(1)}.project-info .intro .content .banner-wrapper .favourite.active svg path,.project-info .intro .content .banner-wrapper .favourite:hover svg path{fill:#fff}.project-info .intro .content .banner-wrapper .favourite svg{width:5rem}.project-info .intro .content .banner-wrapper .favourite svg circle{fill:rgba(166,198,230,.3);-webkit-filter:brightness(5);filter:brightness(5)}.project-info .intro .content .banner-wrapper .favourite svg path{fill:#fff;transition:all .3s cubic-bezier(.445,.05,.55,.95)}.project-info .intro .content .estate-banner{position:relative;left:auto;display:inline-block;top:auto}.project-info .intro .content .bottom{margin-top:20rem}.project-info .intro .content .bottom .grid{-ms-flex-align:center;align-items:center}.project-info .intro .content .bottom .grid.grid-h-1 .toggle-images{text-align:center}.project-info .intro .content .bottom .price h2{font-size:3.375rem;margin:0}.project-info .intro .content .bottom .price h2 span{font-size:2.295rem;font-weight:400}.project-info .intro .content .bottom .toggle-images{text-align:right}.project-info .intro .content .bottom .toggle-images a{display:inline-block;padding:1.5rem;border-radius:1rem;background:hsla(0,0%,100%,.2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .3s cubic-bezier(.445,.05,.55,.95)}.project-info .intro .content .bottom .toggle-images a:hover{background:rgba(235,79,63,.5)}.project-info .intro .content .bottom .toggle-images a img,.project-info .intro .content .bottom .toggle-images a span{display:inline-block;vertical-align:middle}.project-info .intro .content .bottom .toggle-images a img{width:2rem;margin-right:.5rem}.project-info .intro .content .bottom .toggle-images a span{color:#fff;text-transform:uppercase;font-weight:700}.project-info .intro .circle-one,.project-info .intro .circle-two{position:absolute;border-radius:100%;z-index:3}.project-info .intro .circle-one{width:12vw;height:12vw;background:#eb4f3f;border-radius:100%;right:-2vw;top:5vw;-webkit-transform:translateX(100vw);transform:translateX(100vw);transition:all 1.2s cubic-bezier(.445,.05,.55,.95)}.project-info .intro .circle-one.active{-webkit-transform:translateX(0);transform:translateX(0)}.project-info .intro .circle-two{width:4vw;height:4vw;background:#edf0f4;right:10vw;top:15vw;-webkit-transform:translateX(100vw);transform:translateX(100vw);transition:all 1s cubic-bezier(.445,.05,.55,.95)}.project-info .intro .circle-two.active{-webkit-transform:translateX(0);transform:translateX(0)}.project-info .icons .grid{grid-gap:1rem;gap:1rem}.project-info .icons .grid .item{background:#dce2ea;border-radius:2rem;padding:4rem 1rem 2rem;position:relative;text-align:center;margin-bottom:3rem}.project-info .icons .grid .item .icon{position:absolute;background:#eb4f3f;width:5rem;height:5rem;text-align:center;top:-2.5rem;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:100%}.project-info .icons .grid .item .icon img{height:2.5rem;margin-top:1.25rem}.project-info .description{position:relative}.project-info .description .grid{grid-gap:10rem;gap:10rem}.project-info .description .description-text{position:relative}.project-info .description .description-text .text-wrapper .text{height:auto;line-height:1.5}.project-info .description .description-text .text-wrapper .text.readmore-text{max-height:18em;overflow:hidden;margin-bottom:2rem}.project-info .description .description-text .text-wrapper .text.readmore-text.open{max-height:2000vh;overflow:visible;overflow:initial}.project-info .description .description-text p{font-size:1.4175rem;font-weight:400;text-align:left;color:#194774}.project-info .description .banner{background:#194774;width:12rem;height:12rem;border-radius:100%;text-align:center;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.project-info .description .banner:after{content:"";width:4rem;height:4rem;background:#eb4f3f;position:absolute;top:-4rem;right:-4rem;z-index:2;border-radius:100%}.project-info .description .banner .number{color:#fff;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:3.375rem;display:block}.project-info .description .banner .text{text-transform:uppercase;color:#fff;font-size:1.4175rem;font-family:Barlow Condensed,sans-serif;font-weight:700}.project-info .description .summary{text-align:left;margin-bottom:5rem}.project-info .description .summary .item{font-family:Barlow Condensed,sans-serif;margin-bottom:1.5rem;margin-right:1rem;border-radius:5px;padding:1.5rem;background:#fff;color:#194774;text-transform:uppercase;font-size:1.4175rem}.project-info .description .summary .item,.project-info .description .summary .item img,.project-info .description .summary .item span{display:inline-block;vertical-align:middle}.project-info .description .summary .item img{height:1.5rem;margin-right:.5rem}.project-info .description .summary .item span{font-weight:700}.project-info .description .slider{border-radius:2rem;overflow:hidden}.project-info .description .slider .slick-next{right:0}.project-info .description .slider .slick-prev{left:0}.project-info .description .slider .bg-img{position:relative;height:60vh}.project-info .description .social-share{text-align:center}@media only screen and (max-width:1280px){.project-info .description .description-text .banner{position:relative;right:auto;margin:0 auto 3rem;top:auto}}@media only screen and (max-width:768px){.project-info .intro .content .bottom .grid{grid-template-columns:1fr 1fr}.project-info .description .grid{grid-gap:3rem;gap:3rem}}@media only screen and (max-width:576px){.project-info .intro .content .bottom .grid{grid-template-columns:1fr;text-align:center}.project-info .intro .content .bottom .grid .toggle-images{text-align:center;margin-top:1.5rem}.project-info .description .slider .bg-img{height:35vh}}
@-webkit-keyframes bounce{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-1rem);transform:translateY(-1rem)}}@keyframes bounce{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-1rem);transform:translateY(-1rem)}}.shake-animation{-webkit-animation:shake .15s infinite;animation:shake .15s infinite}@-webkit-keyframes shake{0%{-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-transform:translateX(5px);transform:translateX(5px)}50%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}75%{-webkit-transform:translateX(5px);transform:translateX(5px)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes shake{0%{-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-transform:translateX(5px);transform:translateX(5px)}50%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}75%{-webkit-transform:translateX(5px);transform:translateX(5px)}to{-webkit-transform:translateX(0);transform:translateX(0)}}.social-share h4{font-size:1.4175rem;margin:0 0 1.5rem;font-family:elza,sans-serif;color:#0d2544}.social-share p{display:block;font-size:1.4175rem;margin-bottom:0}.social-share p a{display:inline-block;margin-bottom:.5rem}.social-share ul{margin-top:2rem}.social-share ul,.social-share ul li{display:inline-block;vertical-align:middle}.social-share ul li{list-style:none;margin:0 1rem 0 0}.social-share ul li a:before{display:none}.social-share ul li img{width:3rem;height:3rem;object-fit:contain;object-position:center center;transition:all .3s}.social-share ul li img:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vdG9vbHMvX21peGlucy5zY3NzIiwid2VicGFjazovLy9wcm9qZWN0LWluZm8uc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vY29tcG9uZW50cy9lc3RhdGUtYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL3Rvb2xzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vdG9vbHMvX21peGlucy5zY3NzIiwid2VicGFjazovLy9zb2NpYWwtc2hhcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vdG9vbHMvX3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUF1SUEsMEJBQ0ksR0FwR0EsK0JBcUd1QixDQXJHdkIsdUJDdEJGLENEOEhFLEdBeEdBLG1DQXlHdUIsQ0F6R3ZCLDJCQ2ZGLENBQ0YsQ0RpSEEsa0JBQ0ksR0FwR0EsK0JBcUd1QixDQXJHdkIsdUJDdEJGLENEOEhFLEdBeEdBLG1DQXlHdUIsQ0F6R3ZCLDJCQ2ZGLENBQ0YsQ0R1V0EsaUJBQ0ksbUVDbFdKLENEb1dBLHlCQUNJLEdBQUssdURDaFdQLENEaVdFLElBQU0sMkRDOVZSLENEK1ZFLElBQU0sNkRDNVZSLENENlZFLElBQU0sMkRDMVZSLENEMlZFLEdBQU8sdURDeFZULENBQ0YsQ0RrVkEsaUJBQ0ksR0FBSyx1RENoV1AsQ0RpV0UsSUFBTSwyREM5VlIsQ0QrVkUsSUFBTSw2REM1VlIsQ0Q2VkUsSUFBTSwyREMxVlIsQ0QyVkUsR0FBTyx1REN4VlQsQ0FDRixDQzlDQSxlQUNJLGtCQUNBLFNBQ0EsVUFDQSxTQ2dGSyxDRC9FTCxrQkNzRlUsQ0RyRlYseUJBQ0EseUJBQ0EsdUNDd0JTLENEdkJULGVEZ0RKLENDL0NJLG1CQUNJLGtCQ0NNLENEQU4sVURpRFIsQ0MvQ0ksd0JBQ0ksa0JDRVEsQ0REUixVRGlEUixDQy9DSSx5QkFDSSxrQkNWSSxDRFdKLFVEaURSLENDL0NJLHlCQUNJLG9CRGlEUixDQ2hEUSwyREFDSSxxQkFDQSxxQkRrRFosQ0NoRFEsNkJBQ0ksWUFDQSxrQkRrRFosQ0MvQ0ksd0NBQ0ksa0JDYlcsQ0RjWCxVRGlEUixDQzNDSSw0Q0FISSxrQkMxQk0sQ0QyQk4sVUQyRFIsQ0N6REkseUJBQ0ksU0FDQSxPQUNBLFFBRUEsU0FFQSxnQkFDQSxpQkRpRFIsQ0NoRFEsc0NGdUlKLCtCQ25GSixDQ2xEWSw0Q0FDSSxlRG9EaEIsQ0NqRGdCLGlHQUNJLHFCQUNBLHFCRG1EcEIsQ0NqRGdCLGdEQUNJLFlBQ0Esa0JEbURwQixDQ2pEZ0IsaURBQ0ksZUNmSixDRGdCSSx1Q0RtRHBCLENDaERZLDRDQUNJLGdCRGtEaEIsQ0M5Q0kscUJBQ0ksa0JBQ0EsWUFDQSxTQUNBLFNEZ0RSLENDL0NRLHFEQUNJLHFCQUNBLHFCRGlEWixDQy9DUSwyQkFDSSxlQ2xGSixDRG1GSSxXQUNBLFlBQ0Esa0JBQ0EsbUJBQ0EsaUJEaURaLENDaERZLCtCQUNJLFlBQ0EsZ0JBQ0EscUJBQ0Esa0JGaEZaLGdEQ3VJSixDQ25EUSwwQkFDSSxtQkFDQSxVQ2xHSixDRG1HSSxrQkFDQSx5QkFDQSwrQkFDQSxVRjFGUixpRENvSkosQ0NyREkscUJBQ0ksa0JBQ0EsVUFDQSxXQUNBLGtCQzNGTSxDRDRGTixVRHVEUixDQ3REUSxtREFDSSxxQkFDQSxxQkR3RFosQ0NyRFEseUJBQ0ksY0FDQSxvQkR1RFosQ0NyRFEsMEJBQ0ksVUMzSEosQ0Q0SEksd0JEdURaLENDcERJLG1CQUNJLFdBQ0EsWUFDQSxrQkN4SE0sQ0R5SE4sVURzRFIsQ0NyRFEsNkJBQ0ksb0JEdURaLENDdERZLG1FQUNJLHFCQUNBLHFCRHdEaEIsQ0N0RFksaUNBQ0ksWUFDQSxXQUNBLGtCRHdEaEIsQ0NwREksK0JBQ0ksa0JBQ0EsVUFDQSxTQUNBLFdBQ0EsYUFDQSxZQUNBLGFBQ0Esa0JDL0lNLENEZ0pOLFVDMUpBLENEMkpBLG1CQUNBLGtCQUNBLGtCRHNEUixDQ3JEUSxvQ0FDSSxtQkFDQSxpQkR1RFosQ0Q0UkkseUNFM1VJLCtCQUNJLFlEbURWLENBQ0YsQ0ExTkkscUJBQ0ksOEJB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LENEdkJILGFBNENSLENBMUNJLGdCQUNJLGNBQ0EsbUJDK0JDLENEOUJELGVBNENSLENBM0NRLGtCQUNJLHFCQUNBLG1CQTZDWixDQXpDSSxpQkFHSSxlQTJDUixDQTFDUSxxQ0FIQSxxQkFDQSxxQkFtRFIsQ0FqRFEsb0JBR0ksZ0JBRUEsaUJBNENaLENBMUNZLDZCQUNJLFlBNENoQixDQXpDWSx3QkFDSSxXQUNBLFlEcU9aLGtCQUZ1QixDQUl2Qiw2QkFKd0MsQ0ExUHhDLGtCQzJFSixDQWpEZ0IsOEJESlosNEJDS21DLENETG5DLG9CQzRESixDIiwiZmlsZSI6InByb2plY3QtaW5mby5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUUkFOU0lUSU9OUyAqL1xyXG5cclxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XHJcbiAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcclxuICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkYXJncy4uLikge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkYXJncztcclxuICAgIC1tb3otdHJhbnNpdGlvbjogJGFyZ3M7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogJGFyZ3M7XHJcbiAgICAtby10cmFuc2l0aW9uOiAkYXJncztcclxuICAgIHRyYW5zaXRpb246ICRhcmdzO1xyXG59XHJcblxyXG4vKiBGSUxURVIgKi9cclxuXHJcbi8vZmlsdGVyXHJcbkBtaXhpbiBmaWx0ZXIoJGFyZ3MuLi4pIHtcclxuICAgIC13ZWJraXQtZmlsdGVyOiAkYXJncztcclxuICAgIC1tb3otZmlsdGVyOiAkYXJncztcclxuICAgIC1tcy1maWx0ZXI6ICRhcmdzO1xyXG4gICAgLW8tZmlsdGVyOiAkYXJncztcclxuICAgIGZpbHRlcjogJGFyZ3M7XHJcbn1cclxuXHJcbi8qIFRSQU5TRk9STVMgKi9cclxuXHJcbi8vIGdlbmVyaWMgdHJhbnNmb3JtXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcclxuICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbn1cclxuXHJcbi8vIHJvdGF0ZVxyXG5AbWl4aW4gcm90YXRlICgkZGVnKSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKCN7JGRlZ31kZWcpKTtcclxufVxyXG5cclxuLy8gc2NhbGVcclxuQG1peGluIHNjYWxlKCRzY2FsZSkge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRzY2FsZSkpO1xyXG59XHJcblxyXG4vLyB0cmFuc2xhdGVcclxuQG1peGluIHRyYW5zbGF0ZSAoJHgsICR5KSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKCR4LCAkeSkpO1xyXG59XHJcblxyXG4vLyBza2V3XHJcbkBtaXhpbiBza2V3ICgkeCwgJHkpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShza2V3KCN7JHh9ZGVnLCAjeyR5fWRlZykpO1xyXG59XHJcblxyXG4vL3RyYW5zZm9ybSBvcmlnaW5cclxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4gKCRvcmlnaW46IGNlbnRlciBjZW50ZXIpIHtcclxuICAgIG1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xyXG4gICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcclxufVxyXG5cclxuLyogUE9TSVRJT05JTkcgKi9cclxuXHJcbkBtaXhpbiBjb3ZlcigpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuQG1peGluIHZjKCkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIC01MCUpKTtcclxufVxyXG5cclxuQG1peGluIGhjKCkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAwKSk7XHJcbn1cclxuXHJcbkBtaXhpbiBjYygpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSk7XHJcbn1cclxuXHJcbi8qIEFOSU1BVElPTlMgKi9cclxuXHJcbiRyZWd1bGFyRWFzZTogZWFzZTtcclxuJGVhc2VJblNpbmU6IGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZWFzZU91dFNpbmU6IGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xyXG4kZWFzZUluT3V0U2luZTogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KTtcclxuJGVhc2VJblF1YWQ6IGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7XHJcbiRlYXNlT3V0UXVhZDogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xyXG4kZWFzZUluT3V0UXVhZDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xyXG4kZWFzZUluRXhwbzogY3ViaWMtYmV6aWVyKDAuOTUsIDAuMDUsIDAuNzk1LCAwLjAzNSk7XHJcbiRlYXNlT3V0RXhwbzogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xyXG4kZWFzZUluT3V0RXhwbzogY3ViaWMtYmV6aWVyKDEsIDAsIDAsIDEpO1xyXG4kZWFzZUluQmFjazogY3ViaWMtYmV6aWVyKDAuNiwgLTAuMjgsIDAuNzM1LCAwLjA0NSk7XHJcbiRlYXNlT3V0QmFjazogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpO1xyXG4kZWFzZUluT3V0QmFjazogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XHJcbiRlYXNlSW5PdXRCYWNrOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcclxuXHJcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XHJcbiAgICAtbW96LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcclxuICAgIC1tcy1hbmltYXRpb246ICRhbmltYXRpb247XHJcbiAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XHJcbiAgICBhbmltYXRpb246ICRhbmltYXRpb247XHJcbn1cclxuXHJcbkBtaXhpbiBvcGFjaXR5KCR2YWx1ZSkge1xyXG4gICAgJElFVmFsdWU6ICR2YWx1ZSoxMDA7XHJcbiAgICBvcGFjaXR5OiAkdmFsdWU7XHJcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PVwiKyRJRVZhbHVlK1wiKVwiO1xyXG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRJRVZhbHVlKTtcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3coJGFyZ3MuLi4pIHtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogJGFyZ3M7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6ICRhcmdzO1xyXG4gICAgYm94LXNoYWRvdzogJGFyZ3M7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYm91bmNlIHtcclxuICAgIDAlIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSlcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtMXJlbSkpXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBCb3JkZXIgcmFkaXVzXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIC1vLWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8qIEdSSUQgKi9cclxuXHJcbkBtaXhpbiBkaXNwbGF5LWdyaWQge1xyXG4gICAgZGlzcGxheTogLW1zLWdyaWQ7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG59XHJcblxyXG5AbWl4aW4gZGlzcGxheS1pbmxpbmUtZ3JpZCB7XHJcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWdyaWQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcclxufVxyXG5cclxuQG1peGluIGdyaWQtZ2FwKCRnYXA6IDNyZW0pIHtcclxuICAgIGdyaWQtZ2FwOiAkZ2FwO1xyXG4gICAgZ2FwOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gZ3JpZC1yb3ctZ2FwKCRnYXA6IDNyZW0pIHtcclxuICAgIGdyaWQtcm93LWdhcDogJGdhcDtcclxuICAgIHJvdy1nYXA6ICRnYXA7XHJcbn1cclxuXHJcbkBtaXhpbiBncmlkLWNvbHVtbi1nYXAoJGdhcDogM3JlbSkge1xyXG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiAkZ2FwO1xyXG4gICAgY29sdW1uLWdhcDogJGdhcDtcclxufVxyXG5cclxuLy8gJGNvbHVtbnMgdmFsdWVzIHNob3VsZCBiZSBkZWxpbWl0ZWQgYnkgYSBzcGFjZVxyXG5AbWl4aW4gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKCRjb2x1bW5zLi4uKSB7XHJcbiAgICAtbXMtZ3JpZC1jb2x1bW5zOiAkY29sdW1ucztcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogJGNvbHVtbnM7XHJcbn1cclxuXHJcbi8vICRyb3dzIHZhbHVlcyBzaG91bGQgYmUgZGVsaW1pdGVkIGJ5IGEgc3BhY2VcclxuQG1peGluIGdyaWQtdGVtcGxhdGUtcm93cygkcm93cy4uLikge1xyXG4gICAgLW1zLWdyaWQtcm93czogJHJvd3M7XHJcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICRyb3dzO1xyXG59XHJcblxyXG4vLyBDYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGFib3ZlIGdyaWQtdGVtcGxhdGUtWCBtaXhpbnMuXHJcbi8vIFRoZXNlIHJlc3VsdCBpbiB0aGUgc2FtZSBvdXRwdXQ6XHJcbi8vIEBpbmNsdWRlIGdyaWQtdGVtcGxhdGUtY29sdW1ucygxMHB4IGdyaWQtcmVwZWF0KDQsIDIwcHgpIDMwcHgpO1xyXG4vLyBAaW5jbHVkZSBncmlkLXRlbXBsYXRlLWNvbHVtbnMoMTBweCAyMHB4IDIwcHggMjBweCAyMHB4IDMwcHgpO1xyXG5AZnVuY3Rpb24gZ3JpZC1yZXBlYXQoJHJlcGVhdCwgJHN0dWZmOiBtaW5tYXgoMCwgMWZyKSkge1xyXG4gICAgJGxpc3Q6ICgpO1xyXG5cclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHJlcGVhdCB7XHJcbiAgICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJHN0dWZmLCBzcGFjZSk7XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiAkbGlzdDtcclxufVxyXG5cclxuQG1peGluIGdyaWQtY29sdW1uKCRjb2wtc3RhcnQsICRjb2wtZW5kKSB7XHJcbiAgICAtbXMtZ3JpZC1jb2x1bW46ICRjb2wtc3RhcnQ7XHJcbiAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogJGNvbC1lbmQgLSAkY29sLXN0YXJ0O1xyXG4gICAgZ3JpZC1jb2x1bW46ICN7JGNvbC1zdGFydH0gLyAjeyRjb2wtZW5kfTtcclxufVxyXG5cclxuQG1peGluIGdyaWQtcm93KCRyb3ctc3RhcnQsICRyb3ctZW5kKSB7XHJcbiAgICAtbXMtZ3JpZC1yb3c6ICRyb3ctc3RhcnQ7XHJcbiAgICAtbXMtZ3JpZC1yb3ctc3BhbjogJHJvdy1lbmQgLSAkcm93LXN0YXJ0O1xyXG4gICAgZ3JpZC1yb3c6ICN7JHJvdy1zdGFydH0gLyAjeyRyb3ctZW5kfTtcclxufVxyXG5cclxuQG1peGluIGdyaWQtYWxpZ24tc2VsZigkdmFsdWUpIHtcclxuICAgIC1tcy1ncmlkLXJvdy1hbGlnbjogJHZhbHVlO1xyXG4gICAgYWxpZ24tc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG5AbWl4aW4gZ3JpZC1qdXN0aWZ5LXNlbGYoJHZhbHVlKSB7XHJcbiAgICAtbXMtZ3JpZC1jb2x1bW4tYWxpZ246ICR2YWx1ZTtcclxuICAgIGp1c3RpZnktc2VsZjogJHZhbHVlO1xyXG59XHJcblxyXG4vKiBDT0xVTU5TICovXHJcblxyXG5AbWl4aW4gY29sdW1ucygkY29sdW1uQ291bnQ6IDMsICRjb2x1bW5XaWR0aDogMjAwcHgsICRjb2x1bW5HYXA6IDAsICRjb2x1bW5SdWxlOiBmYWxzZSkge1xyXG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW5Db3VudDtcclxuICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uQ291bnQ7XHJcbiAgICBjb2x1bW4tY291bnQ6ICRjb2x1bW5Db3VudDtcclxuICAgIC13ZWJraXQtY29sdW1uLXdpZHRoOiAkY29sdW1uV2lkdGg7XHJcbiAgICAtbW96LWNvbHVtbi13aWR0aDogJGNvbHVtbldpZHRoO1xyXG4gICAgY29sdW1uLXdpZHRoOiAkY29sdW1uV2lkdGg7XHJcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6ICRjb2x1bW5HYXA7XHJcbiAgICAtbW96LWNvbHVtbi1nYXA6ICRjb2x1bW5HYXA7XHJcbiAgICBjb2x1bW4tZ2FwOiAkY29sdW1uR2FwO1xyXG5cclxuICAgIEBpZiAkY29sdW1uUnVsZSAhPWZhbHNlIHtcclxuICAgICAgICAkY29sdW1uUnVsZS1jb29yZHM6ICRjb2x1bW5SdWxlO1xyXG4gICAgICAgICR3aWR0aDogbnRoKCRjb2x1bW5SdWxlLWNvb3JkcywgMSk7XHJcbiAgICAgICAgJHN0eWxlOiBudGgoJGNvbHVtblJ1bGUtY29vcmRzLCAyKTtcclxuICAgICAgICAkY29sb3I6IG50aCgkY29sdW1uUnVsZS1jb29yZHMsIDMpO1xyXG4gICAgICAgIC13ZWJraXQtY29sdW1uLXJ1bGU6ICR3aWR0aCAkc3R5bGUgJGNvbG9yO1xyXG4gICAgICAgIC1tb3otY29sdW1uLXJ1bGU6ICR3aWR0aCAkc3R5bGUgJGNvbG9yO1xyXG4gICAgICAgIGNvbHVtbi1ydWxlOiAkd2lkdGggJHN0eWxlICRjb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJyZWFrLWluc2lkZSgkYnJlYWs6IGF2b2lkKSB7XHJcbiAgICAtd2Via2l0LWJyZWFrLWluc2lkZTogJGJyZWFrO1xyXG4gICAgLW1vei1icmVhay1pbnNpZGU6ICRicmVhaztcclxuICAgIGJyZWFrLWluc2lkZTogJGJyZWFrO1xyXG59XHJcblxyXG4vKiBPQkpFQ1QtRklUICovXHJcblxyXG4vLyBPYmplY3QtZml0XHJcblxyXG5AbWl4aW4gb2JqZWN0LWZpdCgkcF9zaXplOiBjb250YWluLCAkcF9wb3M6IGNlbnRlciBjZW50ZXIpIHtcclxuICAgIC1vLW9iamVjdC1maXQ6ICRwX3NpemU7XHJcbiAgICBvYmplY3QtZml0OiAkcF9zaXplO1xyXG4gICAgLW8tb2JqZWN0LXBvc2l0aW9uOiAkcF9wb3M7XHJcbiAgICBvYmplY3QtcG9zaXRpb246ICRwX3BvcztcclxufVxyXG5cclxuQG1peGluIGJnLWNvbnRhaW4ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBvYmplY3QtZml0KCk7XHJcbn1cclxuXHJcbkBtaXhpbiBiZy1jb3ZlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIEBpbmNsdWRlIG9iamVjdC1maXQoY292ZXIpO1xyXG59XHJcblxyXG5cclxuLy9tYWtlIHNxdWFyZXMgYW5kIGJhcnNcclxuQG1peGluIHNxdWFyZSgpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgfVxyXG4gICAgQHN1cHBvcnRzKGFzcGVjdC1yYXRpbzogMSkge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbG9iYXIoKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDAlO1xyXG4gICAgfVxyXG4gICAgQHN1cHBvcnRzKGFzcGVjdC1yYXRpbzogMSkge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAwLjQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBiYXIoKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xyXG4gICAgfVxyXG4gICAgQHN1cHBvcnRzKGFzcGVjdC1yYXRpbzogMSkge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAwLjU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZGJhcigpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XHJcbiAgICB9XHJcbiAgICBAc3VwcG9ydHMoYXNwZWN0LXJhdGlvOiAxKSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDAuNjtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGhpYmFyKCkge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwJTtcclxuICAgIH1cclxuICAgIEBzdXBwb3J0cyhhc3BlY3QtcmF0aW86IDEpIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMC44O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcG9ydHJhaXQoKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIwJTtcclxuICAgIH1cclxuICAgIEBzdXBwb3J0cyhhc3BlY3QtcmF0aW86IDEpIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMS4yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vL2FkZCByYW5kb20gYm9yZGVyIHRvIGFuIGVsZW1lbnQgdG8gZmluZCBpdCBlYXNpbHlcclxuQG1peGluIGRldiB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2IocmFuZG9tKDI1NSksIHJhbmRvbSgyNTUpLCByYW5kb20oMjU1KSk7XHJcbn1cclxuLy8gc2hha2VcclxuLnNoYWtlLWFuaW1hdGlvbiB7XHJcbiAgICBhbmltYXRpb246IHNoYWtlIDAuMTVzIGluZmluaXRlO1xyXG59XHJcbkBrZXlmcmFtZXMgc2hha2Uge1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgfVxyXG4gICAgMjUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgfVxyXG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpIH1cclxuICAgIDc1JSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgfVxyXG59XHJcblxyXG4vLyBTY3JvbGxiYXJzXHJcbkBtaXhpbiBzY3JvbGxiYXJzKCRzaXplOiAxMHB4LCAkYm9yZGVyOiAwLCAkYm9yZGVyLXJhZGl1czogMCwgJGZvcmVncm91bmQtY29sb3I6IGJsYWNrLCAkYmFja2dyb3VuZC1jb2xvcjogZ3JleSkge1xyXG4gICAgOjotd2Via2l0LXNjcm9sbGJhci1idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgd2lkdGg6ICRzaXplO1xyXG4gICAgICAgIGhlaWdodDogJHNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICAgICAgYm9yZGVyOiAkYm9yZGVyIHNvbGlkIGxpZ2h0ZW4oJGZvcmVncm91bmQtY29sb3IsIDEwJSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHNpemV9ICogMik7XHJcbiAgICAgICAgYm9yZGVyOiAoJGJvcmRlciAqIDIpIHNvbGlkIGxpZ2h0ZW4oJGJhY2tncm91bmQtY29sb3IsIDEwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgOjotd2Via2l0LXNjcm9sbGJhci10cmFjay1waWVjZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skc2l6ZX0gLyAyKTtcclxuICAgICAgICBib3JkZXI6ICgkYm9yZGVyICogMikgc29saWQgbGlnaHRlbigkYmFja2dyb3VuZC1jb2xvciwgMTAlKTtcclxuICAgIH1cclxuXHJcbiAgICBib2R5IHtcclxuICAgICAgICBzY3JvbGxiYXItZmFjZS1jb2xvcjogJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICAgICAgc2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gRm9yY2UgR1BVIGFjY2VsZXJhdGlvblxyXG5AbWl4aW4gZ3B1LWFjY2VsKCkge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZTNkKDAsIDAsIDApKTtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiBncmV5LCAkZm9udC1zdHlsZTogbm9ybWFsLCAkZm9udC13ZWlnaHQ6ICRyZWd1bGFyV2VpZ2h0LCAkZm9udC1zaXplOiAkc21Gb250KSB7XHJcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRmb250LXN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJGZvbnQtc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJGZvbnQtc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRmb250LXN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgfVxyXG5cclxuICAgICY6cGxhY2Vob2xkZXItc2hvd24ge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJGZvbnQtc3R5bGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuLy8gTVEgdHJpZ2dlcnNcclxuXHJcbkBtaXhpbiBleHRyYWxhcmdlIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHhsTGltaXQpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxhcmdlIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxnTGltaXQpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG5vcm1hbCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZExpbWl0KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzbWFsbCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzbUxpbWl0KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBleHRyYXNtYWxsIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHhzTGltaXQpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG5vaG92ZXIge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoaG92ZXI6IG5vbmUpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gT1JOQU1FTlRBTFxyXG5cclxuQG1peGluIHNoYWRvdygpIHtcclxuICAgIEBpbmNsdWRlIGZpbHRlcihkcm9wLXNoYWRvdywgMCAwIDNweCByZ2JhKCRibGFjaywgMC41KSk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmlhbmdsZS10b3AoJGNvbG9yOiAkd2hpdGUpIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBAaW5jbHVkZSBoYztcclxuICAgICAgICB3aWR0aDogMXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICAgICAgdG9wOiAtMC41cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpKTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgIH1cclxufSIsIkBpbXBvcnQgXCIuLi8uLi90b29scy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb21wb25lbnRzL2VzdGF0ZS1iYW5uZXIuc2Nzc1wiO1xuXG4ucHJvamVjdC1pbmZvIHtcbiAgICAuaW50cm8ge1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skc3Vic2l0ZUhlYWRlckhlaWdodH0pO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgJHNtYWxsUmFkaXVzICRzbWFsbFJhZGl1cztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLmJnLWltZyB7XG4gICAgICAgICAgICB6LWluZGV4OiAkb25lVXBaO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuMjUpO1xuICAgICAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAkdHdvVXBaO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6ICR0aHJlZVVwWjtcbiAgICAgICAgICAgIC5iYW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmJhbm5lciwgLmZhdm91cml0ZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmJhbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS4ycmVtIDNyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgaW1nLCBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudENvbG9yQWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZFdlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZmF2b3VyaXRlIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAkb25lVXBaO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpcmNsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRsaWdodEFjY2VudENvbG9yQWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNpcmNsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogcmdiYSgkbGlnaHRBY2NlbnRDb2xvckFsdCwgMC4zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4zcyAkZWFzZUluT3V0U2luZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZXN0YXRlLWJhbm5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ib3R0b20ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcmVtO1xuICAgICAgICAgICAgICAgIC5ncmlkIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgJi5ncmlkLWgtMSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAudG9nZ2xlLWltYWdlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGxnRm9udDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1kRm9udDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHJlZ3VsYXJXZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRvZ2dsZS1pbWFnZXMge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkaW5wdXRSYWRpdXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgJGVhc2VJbk91dFNpbmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYWNjZW50Q29sb3IsIDAuNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWcsIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZFdlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY2lyY2xlLW9uZSwgLmNpcmNsZS10d28ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6ICR0aHJlZVVwWjtcbiAgICAgICAgfVxuICAgICAgICAuY2lyY2xlLW9uZSB7XG4gICAgICAgICAgICB3aWR0aDogMTJ2dztcbiAgICAgICAgICAgIGhlaWdodDogMTJ2dztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnRDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICByaWdodDogLTJ2dztcbiAgICAgICAgICAgIHRvcDogNXZ3O1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAwdncpKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDEuMnMgJGVhc2VJbk91dFNpbmUpO1xuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY2lyY2xlLXR3byB7XG4gICAgICAgICAgICB3aWR0aDogNHZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiA0dnc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRHcmV5O1xuICAgICAgICAgICAgcmlnaHQ6IDEwdnc7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNXZ3ICsgMTB2dyk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgxMDB2dykpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMXMgJGVhc2VJbk91dFNpbmUpO1xuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaWNvbnMge1xuICAgICAgICAuZ3JpZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWdhcCgxcmVtKTtcbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtR3JleTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkc21hbGxSYWRpdXM7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHJlbSAxcmVtIDJyZW0gMXJlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDVyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0yLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLmdyaWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1nYXAoMTByZW0pO1xuICAgICAgICB9XG4gICAgICAgIC5kZXNjcmlwdGlvbi10ZXh0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC50ZXh0LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgICAgICAgICAmLnJlYWRtb3JlLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMThlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYucmVhZG1vcmUtdGV4dC5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMDB2aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OmluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbUZvbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRyZWd1bGFyV2VpZ2h0O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnRDb2xvckFsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYmFubmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnRDb2xvckFsdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMTJyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC00cmVtO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtNHJlbTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAkdHdvVXBaO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubnVtYmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYWNjZW50Rm9udDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJvbGRXZWlnaHQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiRsZ0ZvbnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNtRm9udDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGFjY2VudEZvbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRib2xkV2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zdW1tYXJ5IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYWNjZW50Rm9udDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDEpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRhY2NlbnRDb2xvckFsdCwgMSk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbUZvbnQ7XG4gICAgICAgICAgICAgICAgaW1nLCBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJvbGRXZWlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbGlkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHNtYWxsUmFkaXVzO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJnLWltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjB2aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc29jaWFsLXNoYXJlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbGFyZ2Uge1xuICAgIC5wcm9qZWN0LWluZm8gLmRlc2NyaXB0aW9uIC5kZXNjcmlwdGlvbi10ZXh0IC5iYW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzcmVtIGF1dG87XG4gICAgICAgIHRvcDogYXV0bztcbiAgICB9XG59XG5cbkBpbmNsdWRlIHNtYWxsIHtcbiAgICAucHJvamVjdC1pbmZvIHtcbiAgICAgICAgLmludHJvIHtcbiAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAuYm90dG9tIHtcbiAgICAgICAgICAgICAgICAgICAgLmdyaWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKDFmciAxZnIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAuZ3JpZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1nYXAoM3JlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGV4dHJhc21hbGwge1xuICAgIC5wcm9qZWN0LWluZm8ge1xuICAgICAgICAuaW50cm8ge1xuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIC5ib3R0b20ge1xuICAgICAgICAgICAgICAgICAgICAuZ3JpZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLXRlbXBsYXRlLWNvbHVtbnMoMWZyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIC50b2dnbGUtaW1hZ2VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgLmRlc2NyaXB0aW9uIC5zbGlkZXIgLmJnLWltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDM1dmg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmVzdGF0ZS1iYW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDNyZW07XG4gICAgbGVmdDogM3JlbTtcbiAgICB6LWluZGV4OiAkdHdvVXBaO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzbWFsbFJhZGl1cztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtIDAuN3JlbSAycmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkYWNjZW50Rm9udDtcbiAgICBmb250LXdlaWdodDogJHNlbWlib2xkV2VpZ2h0O1xuICAgICYubmV3IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICAmLnByZXN0aWdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHByZXN0aWdlQ29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgICYubmV3LXByaWNlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1haW5Db2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgJi53aXRoLWljb24ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgICAgICBpbWcsIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5lcGVpbCwgJi5lcGMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50Q29sb3JHcmVlbjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgJi5idHcge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50Q29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgICYub3BlbmhvdXNlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICAgICAgLmdyaWQtY3VzdG9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtdGVtcGxhdGUtY29sdW1ucygxZnIgMTIwcHgpO1xuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYm9sZFdlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50aW1lIHtcbiAgICAgICAgICAgICAgICBpbWcsIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHJlZ3VsYXJXZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYWNjZW50Rm9udDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudGltZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zdGFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAzcmVtO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC5pY29uLCBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDFzICRlYXNlSW5PdXRTaW5lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGRhcmtHcmV5LCAwLjgpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgJGVhc2VJbk91dFNpbmUpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICAmLnNwYWluIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogM3JlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJHNwYWluWWVsbG93O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBpbWcsIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuICAgICYudmlwIHtcbiAgICAgICAgdG9wOiAxLjVyZW07XG4gICAgICAgIGxlZnQ6IDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudENvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmLndpdGgtaWNvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgICAgICAgICAgaW1nLCBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuc29sZC1wZXJjZW50YWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAzcmVtO1xuICAgICAgICBib3R0b206IC0ycmVtO1xuICAgICAgICB3aWR0aDogMTByZW07XG4gICAgICAgIGhlaWdodDogMTByZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnRDb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogMi43cmVtO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1kRm9udCAqIDEuMjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5cbkBpbmNsdWRlIGV4dHJhc21hbGwge1xuICAgIC5lc3RhdGUtYmFubmVyIHtcbiAgICAgICAgJi5zb2xkLXBlcmNlbnRhZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvL0NPTE9SU1xyXG5cclxuJHdoaXRlOiAjZmZmO1xyXG4kYmxhY2s6ICMwMDA7XHJcbiRsaWdodEdyZXk6ICNFREYwRjQ7XHJcbiRkYXNoYm9hcmRHcmV5OiAjRjZGN0Y5O1xyXG4kZ3JleTogI0UyRTJFMjtcclxuJG1lZGl1bUdyZXk6ICNEQ0UyRUE7XHJcbiRkYXJrR3JleTogIzcwNzA3MDtcclxuJG1haW5Db2xvcjogIzBEMjU0NDtcclxuJGxpZ2h0TWFpbkNvbG9yOiAjODY5MmExO1xyXG4kZGFya01haW5Db2xvcjogZGFya2VuKCRtYWluQ29sb3IsIDEwJSk7XHJcbiRhY2NlbnRDb2xvcjogI0VCNEYzRjtcclxuJGxpZ2h0QWNjZW50Q29sb3I6IGxpZ2h0ZW4oJGFjY2VudENvbG9yLCAyMCUpO1xyXG4kZGFya0FjY2VudENvbG9yOiBkYXJrZW4oJGFjY2VudENvbG9yLCAxMCUpO1xyXG4kYWNjZW50Q29sb3JBbHQ6ICMxOTQ3NzQ7XHJcbiRsaWdodEFjY2VudENvbG9yQWx0OiAjYTZjNmU2O1xyXG4kcHJlc3RpZ2VDb2xvcjogI0M5QTY0RjtcclxuLy8kYWNjZW50Q29sb3JCbHVlOiAjNTVhMmZmOyAgXHJcbiRhY2NlbnRDb2xvckJsdWU6ICMxREJFRUY7XHJcbiRhY2NlbnRDb2xvckJsdWVBbHQ6ICM4NDk2YWM7XHJcbiRhY2NlbnRDb2xvckdyZWVuOiAjNkZDNjNEO1xyXG4kc3BhaW5ZZWxsb3c6ICNmZmJhMDA7XHJcblxyXG5cclxuLy9GT05UU1xyXG5cclxuLy9tYWluIHNpdGVcclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9QmFybG93K0NvbmRlbnNlZDppdGFsLHdnaHRAMCw0MDA7MCw3MDA7MSw0MDA7MSw3MDAmZGlzcGxheT1zd2FwJyk7XHJcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvcnJrN2ZsZC5jc3NcIik7XHJcblxyXG4kbWFpbkZvbnQ6IFwiZWx6YVwiLCBzYW5zLXNlcmlmO1xyXG4kYWNjZW50Rm9udDogJ0JhcmxvdyBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xyXG5cclxuLy9zaXplc1xyXG5cclxuJHJvb3RGb250OiAxMHB4O1xyXG4kYmFzZUZvbnQ6IDEuMzVyZW07XHJcbi8vcmVtICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9zaXplcyBpbiBYZFxyXG4keHhsRm9udDogKCRiYXNlRm9udCAqIDQuNTgpOyAgIC8vMTEwcHRcclxuJHhsRm9udDogKCRiYXNlRm9udCAqIDMuOCk7ICAgIC8vNzBwdFxyXG4kbGdGb250OiAoJGJhc2VGb250ICogMi41KTsgICAgLy8zNXB0XHJcbiRtZEZvbnQ6ICgkYmFzZUZvbnQgKiAxLjcpOyAgICAvLzMwcHRcclxuJHNtRm9udDogKCRiYXNlRm9udCAqIDEuMDUpOyAgICAgICAgICAgIC8vMjRwdFxyXG4keHNGb250OiAoJGJhc2VGb250ICogMC44Myk7ICAgIC8vMjBwdFxyXG4keHhzRm9udDogKCRiYXNlRm9udCAqIDAuNjcpOyAgIC8vMTZwdFxyXG5cclxuLy93ZWlnaHRzXHJcblxyXG4kbGlnaHRXZWlnaHQ6IDMwMDtcclxuJHJlZ3VsYXJXZWlnaHQ6IDQwMDtcclxuJG1lZGl1bVdlaWdodDogNTAwO1xyXG4kc2VtaWJvbGRXZWlnaHQ6IDYwMDtcclxuJGJvbGRXZWlnaHQ6IDcwMDtcclxuJGV4dHJhYm9sZFdlaWdodDogNzAwO1xyXG5cclxuXHJcbi8vUkVTUE9OU0lWRVxyXG5cclxuJHhzTGltaXQ6IDU3NnB4O1xyXG4kc21MaW1pdDogNzY4cHg7XHJcbiRtZExpbWl0OiAxMTI0cHg7XHJcbiRsZ0xpbWl0OiAxMjgwcHg7XHJcbiR4bExpbWl0OiAxNjAwcHg7XHJcblxyXG5cclxuLy9DT05UQUlORVJTXHJcblxyXG4keHNDb250YWluZXI6IDQ4MHB4O1xyXG4kc21Db250YWluZXI6IDc2OHB4O1xyXG4kbWRDb250YWluZXI6IDExNDBweDtcclxuJGxnQ29udGFpbmVyOiAxMjYwcHg7XHJcbiR4bENvbnRhaW5lcjogMTYwMHB4O1xyXG5cclxuXHJcbi8vT1RIRVJcclxuXHJcbiRoZWFkZXJIZWlnaHQ6IDk5cHg7XHJcbiRoZWFkZXJIZWlnaHRNb2JpbGU6IDgwcHg7XHJcbiRoZWFkZXJIZWlnaHRTY3JvbGxpbmc6IDZyZW07XHJcblxyXG4kc3Vic2l0ZUhlYWRlckhlaWdodDogNjBweDtcclxuXHJcbiRvbmVVcFo6IDE7XHJcbiR0d29VcFo6IDI7XHJcbiR0aHJlZVVwWjogMztcclxuJGxvZ2luTWVudVo6IDk5OTY7XHJcbiRtZW51WjogOTk5NztcclxuJGhlYWRlclo6IDk5OTg7XHJcbiRwb3B1cFo6IDk5OTk7XHJcblxyXG4kc21hbGxSYWRpdXM6IDJyZW07XHJcbiRpbnB1dFJhZGl1czogMXJlbTtcclxuIiwiLyogVFJBTlNJVElPTlMgKi9cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xyXG4gICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XHJcbiAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJGFyZ3MuLi4pIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJGFyZ3M7XHJcbiAgICAtbW96LXRyYW5zaXRpb246ICRhcmdzO1xyXG4gICAgLW1zLXRyYW5zaXRpb246ICRhcmdzO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogJGFyZ3M7XHJcbiAgICB0cmFuc2l0aW9uOiAkYXJncztcclxufVxyXG5cclxuLyogRklMVEVSICovXHJcblxyXG4vL2ZpbHRlclxyXG5AbWl4aW4gZmlsdGVyKCRhcmdzLi4uKSB7XHJcbiAgICAtd2Via2l0LWZpbHRlcjogJGFyZ3M7XHJcbiAgICAtbW96LWZpbHRlcjogJGFyZ3M7XHJcbiAgICAtbXMtZmlsdGVyOiAkYXJncztcclxuICAgIC1vLWZpbHRlcjogJGFyZ3M7XHJcbiAgICBmaWx0ZXI6ICRhcmdzO1xyXG59XHJcblxyXG4vKiBUUkFOU0ZPUk1TICovXHJcblxyXG4vLyBnZW5lcmljIHRyYW5zZm9ybVxyXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xyXG59XHJcblxyXG4vLyByb3RhdGVcclxuQG1peGluIHJvdGF0ZSAoJGRlZykge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgjeyRkZWd9ZGVnKSk7XHJcbn1cclxuXHJcbi8vIHNjYWxlXHJcbkBtaXhpbiBzY2FsZSgkc2NhbGUpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgkc2NhbGUpKTtcclxufVxyXG5cclxuLy8gdHJhbnNsYXRlXHJcbkBtaXhpbiB0cmFuc2xhdGUgKCR4LCAkeSkge1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcclxufVxyXG5cclxuLy8gc2tld1xyXG5AbWl4aW4gc2tldyAoJHgsICR5KSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2tldygjeyR4fWRlZywgI3skeX1kZWcpKTtcclxufVxyXG5cclxuLy90cmFuc2Zvcm0gb3JpZ2luXHJcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luICgkb3JpZ2luOiBjZW50ZXIgY2VudGVyKSB7XHJcbiAgICBtb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcclxuICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XHJcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XHJcbn1cclxuXHJcbi8qIFBPU0lUSU9OSU5HICovXHJcblxyXG5AbWl4aW4gY292ZXIoKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbkBtaXhpbiB2YygpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwLCAtNTAlKSk7XHJcbn1cclxuXHJcbkBtaXhpbiBoYygpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgMCkpO1xyXG59XHJcblxyXG5AbWl4aW4gY2MoKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xyXG59XHJcblxyXG4vKiBBTklNQVRJT05TICovXHJcblxyXG4kcmVndWxhckVhc2U6IGVhc2U7XHJcbiRlYXNlSW5TaW5lOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTtcclxuJGVhc2VPdXRTaW5lOiBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTtcclxuJGVhc2VJbk91dFNpbmU6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XHJcbiRlYXNlSW5RdWFkOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpO1xyXG4kZWFzZU91dFF1YWQ6IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcclxuJGVhc2VJbk91dFF1YWQ6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTtcclxuJGVhc2VJbkV4cG86IGN1YmljLWJlemllcigwLjk1LCAwLjA1LCAwLjc5NSwgMC4wMzUpO1xyXG4kZWFzZU91dEV4cG86IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcclxuJGVhc2VJbk91dEV4cG86IGN1YmljLWJlemllcigxLCAwLCAwLCAxKTtcclxuJGVhc2VJbkJhY2s6IGN1YmljLWJlemllcigwLjYsIC0wLjI4LCAwLjczNSwgMC4wNDUpO1xyXG4kZWFzZU91dEJhY2s6IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcclxuJGVhc2VJbk91dEJhY2s6IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xyXG4kZWFzZUluT3V0QmFjazogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xyXG4gICAgLW1vei1hbmltYXRpb246ICRhbmltYXRpb247XHJcbiAgICAtbXMtYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xyXG4gICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xyXG4gICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xyXG59XHJcblxyXG5AbWl4aW4gb3BhY2l0eSgkdmFsdWUpIHtcclxuICAgICRJRVZhbHVlOiAkdmFsdWUqMTAwO1xyXG4gICAgb3BhY2l0eTogJHZhbHVlO1xyXG4gICAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT1cIiskSUVWYWx1ZStcIilcIjtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kSUVWYWx1ZSk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93KCRhcmdzLi4uKSB7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6ICRhcmdzO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAkYXJncztcclxuICAgIGJveC1zaGFkb3c6ICRhcmdzO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpXHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTFyZW0pKVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gQm9yZGVyIHJhZGl1c1xyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgLW1zLWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAtby1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcblxyXG4vKiBHUklEICovXHJcblxyXG5AbWl4aW4gZGlzcGxheS1ncmlkIHtcclxuICAgIGRpc3BsYXk6IC1tcy1ncmlkO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxufVxyXG5cclxuQG1peGluIGRpc3BsYXktaW5saW5lLWdyaWQge1xyXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1ncmlkO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XHJcbn1cclxuXHJcbkBtaXhpbiBncmlkLWdhcCgkZ2FwOiAzcmVtKSB7XHJcbiAgICBncmlkLWdhcDogJGdhcDtcclxuICAgIGdhcDogJGdhcDtcclxufVxyXG5cclxuQG1peGluIGdyaWQtcm93LWdhcCgkZ2FwOiAzcmVtKSB7XHJcbiAgICBncmlkLXJvdy1nYXA6ICRnYXA7XHJcbiAgICByb3ctZ2FwOiAkZ2FwO1xyXG59XHJcblxyXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ2FwKCRnYXA6IDNyZW0pIHtcclxuICAgIGdyaWQtY29sdW1uLWdhcDogJGdhcDtcclxuICAgIGNvbHVtbi1nYXA6ICRnYXA7XHJcbn1cclxuXHJcbi8vICRjb2x1bW5zIHZhbHVlcyBzaG91bGQgYmUgZGVsaW1pdGVkIGJ5IGEgc3BhY2VcclxuQG1peGluIGdyaWQtdGVtcGxhdGUtY29sdW1ucygkY29sdW1ucy4uLikge1xyXG4gICAgLW1zLWdyaWQtY29sdW1uczogJGNvbHVtbnM7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRjb2x1bW5zO1xyXG59XHJcblxyXG4vLyAkcm93cyB2YWx1ZXMgc2hvdWxkIGJlIGRlbGltaXRlZCBieSBhIHNwYWNlXHJcbkBtaXhpbiBncmlkLXRlbXBsYXRlLXJvd3MoJHJvd3MuLi4pIHtcclxuICAgIC1tcy1ncmlkLXJvd3M6ICRyb3dzO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAkcm93cztcclxufVxyXG5cclxuLy8gQ2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhYm92ZSBncmlkLXRlbXBsYXRlLVggbWl4aW5zLlxyXG4vLyBUaGVzZSByZXN1bHQgaW4gdGhlIHNhbWUgb3V0cHV0OlxyXG4vLyBAaW5jbHVkZSBncmlkLXRlbXBsYXRlLWNvbHVtbnMoMTBweCBncmlkLXJlcGVhdCg0LCAyMHB4KSAzMHB4KTtcclxuLy8gQGluY2x1ZGUgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKDEwcHggMjBweCAyMHB4IDIwcHggMjBweCAzMHB4KTtcclxuQGZ1bmN0aW9uIGdyaWQtcmVwZWF0KCRyZXBlYXQsICRzdHVmZjogbWlubWF4KDAsIDFmcikpIHtcclxuICAgICRsaXN0OiAoKTtcclxuXHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRyZXBlYXQge1xyXG4gICAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRzdHVmZiwgc3BhY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gJGxpc3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBncmlkLWNvbHVtbigkY29sLXN0YXJ0LCAkY29sLWVuZCkge1xyXG4gICAgLW1zLWdyaWQtY29sdW1uOiAkY29sLXN0YXJ0O1xyXG4gICAgLW1zLWdyaWQtY29sdW1uLXNwYW46ICRjb2wtZW5kIC0gJGNvbC1zdGFydDtcclxuICAgIGdyaWQtY29sdW1uOiAjeyRjb2wtc3RhcnR9IC8gI3skY29sLWVuZH07XHJcbn1cclxuXHJcbkBtaXhpbiBncmlkLXJvdygkcm93LXN0YXJ0LCAkcm93LWVuZCkge1xyXG4gICAgLW1zLWdyaWQtcm93OiAkcm93LXN0YXJ0O1xyXG4gICAgLW1zLWdyaWQtcm93LXNwYW46ICRyb3ctZW5kIC0gJHJvdy1zdGFydDtcclxuICAgIGdyaWQtcm93OiAjeyRyb3ctc3RhcnR9IC8gI3skcm93LWVuZH07XHJcbn1cclxuXHJcbkBtaXhpbiBncmlkLWFsaWduLXNlbGYoJHZhbHVlKSB7XHJcbiAgICAtbXMtZ3JpZC1yb3ctYWxpZ246ICR2YWx1ZTtcclxuICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGdyaWQtanVzdGlmeS1zZWxmKCR2YWx1ZSkge1xyXG4gICAgLW1zLWdyaWQtY29sdW1uLWFsaWduOiAkdmFsdWU7XHJcbiAgICBqdXN0aWZ5LXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuLyogQ09MVU1OUyAqL1xyXG5cclxuQG1peGluIGNvbHVtbnMoJGNvbHVtbkNvdW50OiAzLCAkY29sdW1uV2lkdGg6IDIwMHB4LCAkY29sdW1uR2FwOiAwLCAkY29sdW1uUnVsZTogZmFsc2UpIHtcclxuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAkY29sdW1uQ291bnQ7XHJcbiAgICAtbW96LWNvbHVtbi1jb3VudDogJGNvbHVtbkNvdW50O1xyXG4gICAgY29sdW1uLWNvdW50OiAkY29sdW1uQ291bnQ7XHJcbiAgICAtd2Via2l0LWNvbHVtbi13aWR0aDogJGNvbHVtbldpZHRoO1xyXG4gICAgLW1vei1jb2x1bW4td2lkdGg6ICRjb2x1bW5XaWR0aDtcclxuICAgIGNvbHVtbi13aWR0aDogJGNvbHVtbldpZHRoO1xyXG4gICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uR2FwO1xyXG4gICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uR2FwO1xyXG4gICAgY29sdW1uLWdhcDogJGNvbHVtbkdhcDtcclxuXHJcbiAgICBAaWYgJGNvbHVtblJ1bGUgIT1mYWxzZSB7XHJcbiAgICAgICAgJGNvbHVtblJ1bGUtY29vcmRzOiAkY29sdW1uUnVsZTtcclxuICAgICAgICAkd2lkdGg6IG50aCgkY29sdW1uUnVsZS1jb29yZHMsIDEpO1xyXG4gICAgICAgICRzdHlsZTogbnRoKCRjb2x1bW5SdWxlLWNvb3JkcywgMik7XHJcbiAgICAgICAgJGNvbG9yOiBudGgoJGNvbHVtblJ1bGUtY29vcmRzLCAzKTtcclxuICAgICAgICAtd2Via2l0LWNvbHVtbi1ydWxlOiAkd2lkdGggJHN0eWxlICRjb2xvcjtcclxuICAgICAgICAtbW96LWNvbHVtbi1ydWxlOiAkd2lkdGggJHN0eWxlICRjb2xvcjtcclxuICAgICAgICBjb2x1bW4tcnVsZTogJHdpZHRoICRzdHlsZSAkY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBicmVhay1pbnNpZGUoJGJyZWFrOiBhdm9pZCkge1xyXG4gICAgLXdlYmtpdC1icmVhay1pbnNpZGU6ICRicmVhaztcclxuICAgIC1tb3otYnJlYWstaW5zaWRlOiAkYnJlYWs7XHJcbiAgICBicmVhay1pbnNpZGU6ICRicmVhaztcclxufVxyXG5cclxuLyogT0JKRUNULUZJVCAqL1xyXG5cclxuLy8gT2JqZWN0LWZpdFxyXG5cclxuQG1peGluIG9iamVjdC1maXQoJHBfc2l6ZTogY29udGFpbiwgJHBfcG9zOiBjZW50ZXIgY2VudGVyKSB7XHJcbiAgICAtby1vYmplY3QtZml0OiAkcF9zaXplO1xyXG4gICAgb2JqZWN0LWZpdDogJHBfc2l6ZTtcclxuICAgIC1vLW9iamVjdC1wb3NpdGlvbjogJHBfcG9zO1xyXG4gICAgb2JqZWN0LXBvc2l0aW9uOiAkcF9wb3M7XHJcbn1cclxuXHJcbkBtaXhpbiBiZy1jb250YWluIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgb2JqZWN0LWZpdCgpO1xyXG59XHJcblxyXG5AbWl4aW4gYmctY292ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBvYmplY3QtZml0KGNvdmVyKTtcclxufVxyXG5cclxuXHJcbi8vbWFrZSBzcXVhcmVzIGFuZCBiYXJzXHJcbkBtaXhpbiBzcXVhcmUoKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgIH1cclxuICAgIEBzdXBwb3J0cyhhc3BlY3QtcmF0aW86IDEpIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGxvYmFyKCkge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwJTtcclxuICAgIH1cclxuICAgIEBzdXBwb3J0cyhhc3BlY3QtcmF0aW86IDEpIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMC40O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYmFyKCkge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwJTtcclxuICAgIH1cclxuICAgIEBzdXBwb3J0cyhhc3BlY3QtcmF0aW86IDEpIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMC41O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWRiYXIoKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjAlO1xyXG4gICAgfVxyXG4gICAgQHN1cHBvcnRzKGFzcGVjdC1yYXRpbzogMSkge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAwLjY7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBoaWJhcigpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MCU7XHJcbiAgICB9XHJcbiAgICBAc3VwcG9ydHMoYXNwZWN0LXJhdGlvOiAxKSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDAuODtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHBvcnRyYWl0KCkge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEyMCU7XHJcbiAgICB9XHJcbiAgICBAc3VwcG9ydHMoYXNwZWN0LXJhdGlvOiAxKSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDEuMjtcclxuICAgIH1cclxufVxyXG5cclxuLy9hZGQgcmFuZG9tIGJvcmRlciB0byBhbiBlbGVtZW50IHRvIGZpbmQgaXQgZWFzaWx5XHJcbkBtaXhpbiBkZXYge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiKHJhbmRvbSgyNTUpLCByYW5kb20oMjU1KSwgcmFuZG9tKDI1NSkpO1xyXG59XHJcbi8vIHNoYWtlXHJcbi5zaGFrZS1hbmltYXRpb24ge1xyXG4gICAgYW5pbWF0aW9uOiBzaGFrZSAwLjE1cyBpbmZpbml0ZTtcclxufVxyXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIH1cclxuICAgIDI1JSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIH1cclxuICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KSB9XHJcbiAgICA3NSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIH1cclxufVxyXG5cclxuLy8gU2Nyb2xsYmFyc1xyXG5AbWl4aW4gc2Nyb2xsYmFycygkc2l6ZTogMTBweCwgJGJvcmRlcjogMCwgJGJvcmRlci1yYWRpdXM6IDAsICRmb3JlZ3JvdW5kLWNvbG9yOiBibGFjaywgJGJhY2tncm91bmQtY29sb3I6IGdyZXkpIHtcclxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgfVxyXG5cclxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlcjogJGJvcmRlciBzb2xpZCBsaWdodGVuKCRmb3JlZ3JvdW5kLWNvbG9yLCAxMCUpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICB3aWR0aDogY2FsYygjeyRzaXplfSAqIDIpO1xyXG4gICAgICAgIGJvcmRlcjogKCRib3JkZXIgKiAyKSBzb2xpZCBsaWdodGVuKCRiYWNrZ3JvdW5kLWNvbG9yLCAxMCUpO1xyXG4gICAgfVxyXG5cclxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHNpemV9IC8gMik7XHJcbiAgICAgICAgYm9yZGVyOiAoJGJvcmRlciAqIDIpIHNvbGlkIGxpZ2h0ZW4oJGJhY2tncm91bmQtY29sb3IsIDEwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgYm9keSB7XHJcbiAgICAgICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgIHNjcm9sbGJhci10cmFjay1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEZvcmNlIEdQVSBhY2NlbGVyYXRpb25cclxuQG1peGluIGdwdS1hY2NlbCgpIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUzZCgwLCAwLCAwKSk7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogZ3JleSwgJGZvbnQtc3R5bGU6IG5vcm1hbCwgJGZvbnQtd2VpZ2h0OiAkcmVndWxhcldlaWdodCwgJGZvbnQtc2l6ZTogJHNtRm9udCkge1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgICBmb250LXN0eWxlOiAkZm9udC1zdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRmb250LXN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgfVxyXG5cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRmb250LXN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgfVxyXG5cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcclxuICAgICAgICBmb250LXN0eWxlOiAkZm9udC1zdHlsZTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAmOnBsYWNlaG9sZGVyLXNob3duIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRmb250LXN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8vIE1RIHRyaWdnZXJzXHJcblxyXG5AbWl4aW4gZXh0cmFsYXJnZSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4bExpbWl0KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsYXJnZSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsZ0xpbWl0KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBub3JtYWwge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWRMaW1pdCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gc21hbGwge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc21MaW1pdCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZXh0cmFzbWFsbCB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR4c0xpbWl0KSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBub2hvdmVyIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKGhvdmVyOiBub25lKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE9STkFNRU5UQUxcclxuXHJcbkBtaXhpbiBzaGFkb3coKSB7XHJcbiAgICBAaW5jbHVkZSBmaWx0ZXIoZHJvcC1zaGFkb3csIDAgMCAzcHggcmdiYSgkYmxhY2ssIDAuNSkpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJpYW5nbGUtdG9wKCRjb2xvcjogJHdoaXRlKSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgQGluY2x1ZGUgaGM7XHJcbiAgICAgICAgd2lkdGg6IDFyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgICAgIHRvcDogLTAuNXJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKSk7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICB9XHJcbn0iLCJAaW1wb3J0IFwiLi4vdG9vbHMvdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi90b29scy9taXhpbnNcIjtcclxuXHJcbi5zb2NpYWwtc2hhcmUge1xyXG4gICAgaDQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNtRm9udDtcclxuICAgICAgICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcclxuICAgICAgICBmb250LWZhbWlseTogJG1haW5Gb250O1xyXG4gICAgICAgIGNvbG9yOiAkbWFpbkNvbG9yO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc21Gb250O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICBcclxuICAgICAgICAgICAgYTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogM3JlbTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9iamVjdC1maXQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzKTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn0iLCIvL0NPTE9SU1xyXG5cclxuJHdoaXRlOiAjZmZmO1xyXG4kYmxhY2s6ICMwMDA7XHJcbiRsaWdodEdyZXk6ICNFREYwRjQ7XHJcbiRkYXNoYm9hcmRHcmV5OiAjRjZGN0Y5O1xyXG4kZ3JleTogI0UyRTJFMjtcclxuJG1lZGl1bUdyZXk6ICNEQ0UyRUE7XHJcbiRkYXJrR3JleTogIzcwNzA3MDtcclxuJG1haW5Db2xvcjogIzBEMjU0NDtcclxuJGxpZ2h0TWFpbkNvbG9yOiAjODY5MmExO1xyXG4kZGFya01haW5Db2xvcjogZGFya2VuKCRtYWluQ29sb3IsIDEwJSk7XHJcbiRhY2NlbnRDb2xvcjogI0VCNEYzRjtcclxuJGxpZ2h0QWNjZW50Q29sb3I6IGxpZ2h0ZW4oJGFjY2VudENvbG9yLCAyMCUpO1xyXG4kZGFya0FjY2VudENvbG9yOiBkYXJrZW4oJGFjY2VudENvbG9yLCAxMCUpO1xyXG4kYWNjZW50Q29sb3JBbHQ6ICMxOTQ3NzQ7XHJcbiRsaWdodEFjY2VudENvbG9yQWx0OiAjYTZjNmU2O1xyXG4kcHJlc3RpZ2VDb2xvcjogI0M5QTY0RjtcclxuLy8kYWNjZW50Q29sb3JCbHVlOiAjNTVhMmZmOyAgXHJcbiRhY2NlbnRDb2xvckJsdWU6ICMxREJFRUY7XHJcbiRhY2NlbnRDb2xvckJsdWVBbHQ6ICM4NDk2YWM7XHJcbiRhY2NlbnRDb2xvckdyZWVuOiAjNkZDNjNEO1xyXG4kc3BhaW5ZZWxsb3c6ICNmZmJhMDA7XHJcblxyXG5cclxuLy9GT05UU1xyXG5cclxuLy9tYWluIHNpdGVcclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9QmFybG93K0NvbmRlbnNlZDppdGFsLHdnaHRAMCw0MDA7MCw3MDA7MSw0MDA7MSw3MDAmZGlzcGxheT1zd2FwJyk7XHJcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvcnJrN2ZsZC5jc3NcIik7XHJcblxyXG4kbWFpbkZvbnQ6IFwiZWx6YVwiLCBzYW5zLXNlcmlmO1xyXG4kYWNjZW50Rm9udDogJ0JhcmxvdyBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xyXG5cclxuLy9zaXplc1xyXG5cclxuJHJvb3RGb250OiAxMHB4O1xyXG4kYmFzZUZvbnQ6IDEuMzVyZW07XHJcbi8vcmVtICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9zaXplcyBpbiBYZFxyXG4keHhsRm9udDogKCRiYXNlRm9udCAqIDQuNTgpOyAgIC8vMTEwcHRcclxuJHhsRm9udDogKCRiYXNlRm9udCAqIDMuOCk7ICAgIC8vNzBwdFxyXG4kbGdGb250OiAoJGJhc2VGb250ICogMi41KTsgICAgLy8zNXB0XHJcbiRtZEZvbnQ6ICgkYmFzZUZvbnQgKiAxLjcpOyAgICAvLzMwcHRcclxuJHNtRm9udDogKCRiYXNlRm9udCAqIDEuMDUpOyAgICAgICAgICAgIC8vMjRwdFxyXG4keHNGb250OiAoJGJhc2VGb250ICogMC44Myk7ICAgIC8vMjBwdFxyXG4keHhzRm9udDogKCRiYXNlRm9udCAqIDAuNjcpOyAgIC8vMTZwdFxyXG5cclxuLy93ZWlnaHRzXHJcblxyXG4kbGlnaHRXZWlnaHQ6IDMwMDtcclxuJHJlZ3VsYXJXZWlnaHQ6IDQwMDtcclxuJG1lZGl1bVdlaWdodDogNTAwO1xyXG4kc2VtaWJvbGRXZWlnaHQ6IDYwMDtcclxuJGJvbGRXZWlnaHQ6IDcwMDtcclxuJGV4dHJhYm9sZFdlaWdodDogNzAwO1xyXG5cclxuXHJcbi8vUkVTUE9OU0lWRVxyXG5cclxuJHhzTGltaXQ6IDU3NnB4O1xyXG4kc21MaW1pdDogNzY4cHg7XHJcbiRtZExpbWl0OiAxMTI0cHg7XHJcbiRsZ0xpbWl0OiAxMjgwcHg7XHJcbiR4bExpbWl0OiAxNjAwcHg7XHJcblxyXG5cclxuLy9DT05UQUlORVJTXHJcblxyXG4keHNDb250YWluZXI6IDQ4MHB4O1xyXG4kc21Db250YWluZXI6IDc2OHB4O1xyXG4kbWRDb250YWluZXI6IDExNDBweDtcclxuJGxnQ29udGFpbmVyOiAxMjYwcHg7XHJcbiR4bENvbnRhaW5lcjogMTYwMHB4O1xyXG5cclxuXHJcbi8vT1RIRVJcclxuXHJcbiRoZWFkZXJIZWlnaHQ6IDk5cHg7XHJcbiRoZWFkZXJIZWlnaHRNb2JpbGU6IDgwcHg7XHJcbiRoZWFkZXJIZWlnaHRTY3JvbGxpbmc6IDZyZW07XHJcblxyXG4kc3Vic2l0ZUhlYWRlckhlaWdodDogNjBweDtcclxuXHJcbiRvbmVVcFo6IDE7XHJcbiR0d29VcFo6IDI7XHJcbiR0aHJlZVVwWjogMztcclxuJGxvZ2luTWVudVo6IDk5OTY7XHJcbiRtZW51WjogOTk5NztcclxuJGhlYWRlclo6IDk5OTg7XHJcbiRwb3B1cFo6IDk5OTk7XHJcblxyXG4kc21hbGxSYWRpdXM6IDJyZW07XHJcbiRpbnB1dFJhZGl1czogMXJlbTtcclxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/