ctt-babylon 0.19.4 → 0.19.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -148,11 +148,11 @@ export class LisC1ImgTxtComponent {
148
148
  return `${cleanBase}${cleanSrc}`;
149
149
  }
150
150
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LisC1ImgTxtComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
151
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LisC1ImgTxtComponent, isStandalone: true, selector: "lis-c1-img-txt", inputs: { texts: "texts", hotels: "hotels", items: "items", links: "links", buttons: "buttons" }, ngImport: i0, template: "<section class=\"mdl-LisC1ImgTxt\">\n <div class=\"mdl-container\">\n <div class=\"m-head\">\n <div class=\"m-left\">\n @if (texts?.pretitle) {\n <span>{{ texts?.pretitle }}</span>\n }\n @if (texts?.title) {\n {{ texts?.title }}\n }\n </div>\n @if (texts?.description) {\n <div class=\"m-right\" [innerHTML]=\"texts?.description\"></div>\n }\n </div>\n\n <div class=\"m-content\">\n @for (group of dropdownGroups; track trackGroup($index)) {\n <div\n class=\"m-item\"\n [ngClass]=\"{\n 'm-open': isGroupOpen($index),\n 'm-close': !isGroupOpen($index),\n }\"\n >\n <button\n class=\"m-buttonD\"\n type=\"button\"\n [attr.aria-expanded]=\"isGroupOpen($index)\"\n (click)=\"toggleGroup($index)\"\n >\n <div class=\"m-titulo\">{{ group.label }}</div>\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n x1=\"0.5\"\n y1=\"15.5\"\n x2=\"31.5\"\n y2=\"15.5\"\n stroke=\"#393637\"\n stroke-linecap=\"round\"\n />\n <line\n x1=\"16.5117\"\n y1=\"0.5\"\n x2=\"16.5117\"\n y2=\"31.5\"\n stroke=\"#393637\"\n stroke-linecap=\"round\"\n />\n </svg>\n </button>\n\n <div\n class=\"m-listado\"\n [style.height]=\"isGroupOpen($index) ? 'auto' : '0px'\"\n >\n @for (hotel of group.hotels; track trackHotel($index, hotel)) {\n <div class=\"m-item-list\">\n @if (getHotelImage(hotel)) {\n @if (getPrimaryHotelButton(hotel); as imageBtn) {\n <a\n class=\"m-imagen-link\"\n [href]=\"imageBtn.url\"\n [linkType]=\"imageBtn.linkType\"\n [attr.target]=\"imageBtn.target || '_self'\"\n [attr.rel]=\"\n (imageBtn.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n <div class=\"m-imagen\">\n <img\n [src]=\"getHotelImage(hotel)\"\n [alt]=\"getHotelImageAlt(hotel)\"\n loading=\"lazy\"\n />\n </div>\n </a>\n } @else {\n <div class=\"m-imagen\">\n <img\n [src]=\"getHotelImage(hotel)\"\n [alt]=\"getHotelImageAlt(hotel)\"\n loading=\"lazy\"\n />\n </div>\n }\n }\n\n @if (getHotelName(hotel)) {\n <div class=\"m-titulo\">\n {{ getHotelName(hotel) }}\n </div>\n }\n\n @if (getHotelSubtitle(hotel)) {\n <div class=\"m-subtitulo\">\n {{ getHotelSubtitle(hotel) }}\n </div>\n }\n\n @if (getHotelCategoryCount(hotel)) {\n <div class=\"m-stars\">\n @for (star of getStars(hotel); track trackStar($index)) {\n <svg\n width=\"12\"\n height=\"11\"\n viewBox=\"0 0 12 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 0L7.416 4.2H12L8.292 6.8L9.708 11L6 8.4L2.292 11L3.708 6.8L0 4.2H4.584L6 0Z\"\n fill=\"#393637\"\n />\n </svg>\n }\n </div>\n }\n\n <div class=\"m-buttons\">\n @if (getPrimaryHotelButton(hotel); as primaryBtn) {\n <a\n class=\"m-button1\"\n [href]=\"primaryBtn.url\"\n [linkType]=\"primaryBtn.linkType\"\n [attr.target]=\"primaryBtn.target || '_self'\"\n [attr.rel]=\"\n (primaryBtn.target || '_self') ===\n '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ primaryBtn.label }}\n </a>\n }\n\n @if (getSecondaryHotelButton(hotel); as secondaryBtn) {\n <a\n class=\"m-button2\"\n [href]=\"secondaryBtn.url\"\n [linkType]=\"secondaryBtn.linkType\"\n [attr.target]=\"secondaryBtn.target || '_self'\"\n [attr.rel]=\"\n (secondaryBtn.target || '_self') ===\n '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ secondaryBtn.label }}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n\n <div class=\"m-foot\">\n @if (texts?.additional) {\n <div class=\"m-texto\">{{ texts?.additional }}</div>\n }\n @if (buttons?.[0]; as ctaBtn) {\n <a\n class=\"m-buttonfoot\"\n [href]=\"ctaBtn.url\"\n [linkType]=\"ctaBtn.linkType\"\n [attr.target]=\"ctaBtn.target || '_self'\"\n [attr.rel]=\"\n (ctaBtn.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ ctaBtn.label }}\n </a>\n }\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";html{font-size:62.5%}html body{font:14px \"\"}@media (min-width: 1921px) and (max-height: 600px){html{font-size:55.5%}}body,section{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem}section .mdl-container{width:100%;max-width:178rem;margin:0 auto}.readmoreinit{line-height:1.6!important}@media screen and (max-width: 1200px){.readmoreinit{line-height:1.6!important}}@media screen and (max-width: 600px){.readmoreinit{line-height:1.6!important}}.read-more{display:flex;flex-direction:column;font-family:CoreSansG,sans-serif;font-size:1.5rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.4;letter-spacing:normal;color:#e6411e;text-decoration:underline;cursor:pointer;margin-top:2rem}.read-more .less{display:none}.w100{font-weight:100}.w300{font-weight:300}.w400{font-weight:400}.w500{font-weight:medium}.w600{font-weight:600}.w700{font-weight:700}.w900{font-weight:900}.italic{font-style:italic}.row{display:flex;flex-direction:row}.col{display:flex;flex-direction:column}body{cursor:default;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{color:inherit;border:0;margin:0;padding:0}a{text-size-adjust:none;-webkit-text-size-adjust:none;text-decoration:none;cursor:pointer}ul{list-style-position:outside}li{padding-left:3rem;list-style:none;position:relative}li:before{content:\"\\25cf\";position:absolute;top:0;left:0}button,mark{background:none}button,label{cursor:pointer}:focus{outline:none!important}::-moz-focus-inner{border:0}summary::-webkit-details-marker{display:none}button,input[type=submit],input[type=text]{-webkit-appearance:none}h1,h2,h3,h4,h5,h6{text-transform:none}p{width:100%}img{width:auto;height:auto;object-fit:contain}@-webkit-keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}@keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}.fancybox__backdrop{background-color:#00000087!important}.fancybox__content{padding:0!important}.fancybox__content>.carousel__button.is-close{color:#b6b8bb!important}.fancybox__counter{display:none!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:#ffffff;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 20px 20px #23232329}.mdl-LisC1ImgTxt{overflow:hidden;padding-left:0!important;padding-right:0!important}.mdl-LisC1ImgTxt .mdl-container{max-width:150rem;padding:10rem 5rem;box-sizing:border-box}.mdl-LisC1ImgTxt .mdl-container .m-head{display:flex;justify-content:space-between;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{width:100%;max-width:52.7rem;font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{width:100%;max-width:39.1rem;font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content{margin-top:5rem;border-top:1px solid #D9D9D9;border-bottom:1px solid #D9D9D9}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item{border-bottom:1px solid #D9D9D9;margin-bottom:-1px;display:flex;flex-direction:column;align-items:center;position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open{background-color:#fff9ee;margin:1px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open .m-listado{opacity:1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open:before{content:\"\";background-color:#fff9ee;width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open svg{transition:.5s;transform:rotate(135deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-close .m-listado{opacity:0}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{display:flex;justify-content:space-between;align-items:center;padding:5rem 5rem 5rem 0;width:100%;position:relative;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover:before{content:\"\";background-color:#fff9ee;width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD svg{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-family:CoreSansG,sans-serif;font-size:8rem;font-style:normal;font-weight:700;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:6rem;line-height:5rem}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:3rem;line-height:3rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{text-align:left}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado{display:flex;gap:6rem;width:100%;max-width:125rem;flex-wrap:wrap;overflow:hidden;height:0;opacity:0;transition:height .35s ease,opacity .25s ease;will-change:height}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:calc(50% - 3rem);display:flex;flex-direction:column;align-items:center;margin-bottom:6rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen{aspect-ratio:625/417;width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen img{width:100%;height:100%;object-fit:cover;aspect-ratio:625/417}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:400;letter-spacing:12%;line-height:100%;text-transform:uppercase;color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars{display:flex;gap:1.7rem;margin-top:.9rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars svg{transform:rotate(143deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{display:flex;gap:2.8rem;margin-top:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;border-radius:8rem;padding:2rem 5rem;transition:.5s;min-width:26rem;background-color:#fcdd3f;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2:hover{background-color:#f9bf10;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-foot{margin-top:5rem;display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-family:Breathing Personal,sans-serif;font-size:6rem;font-weight:400;line-height:100%}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-size:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{color:#fcdd3f}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{min-width:16rem;text-align:center}@media (max-width: 1441px){.mdl-LisC1ImgTxt .mdl-container{padding:10rem 2rem}}@media (max-width: 1080px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:9rem}}@media (max-width: 1200px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem!important}}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head{flex-direction:column}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left,.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{max-width:60.1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{padding:5rem 0}.mdl-LisC1ImgTxt .mdl-container .m-foot{align-items:center}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot{flex-direction:column;gap:3rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup", "disablePointerNone"], outputs: ["anchorClicked"] }] }); }
151
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LisC1ImgTxtComponent, isStandalone: true, selector: "lis-c1-img-txt", inputs: { texts: "texts", hotels: "hotels", items: "items", links: "links", buttons: "buttons" }, ngImport: i0, template: "<section class=\"mdl-LisC1ImgTxt\">\n <div class=\"mdl-container\">\n <div class=\"m-head\">\n <div class=\"m-left\">\n @if (texts?.pretitle) {\n <span>{{ texts?.pretitle }}</span>\n }\n @if (texts?.title) {\n {{ texts?.title }}\n }\n </div>\n @if (texts?.description) {\n <div class=\"m-right\" [innerHTML]=\"texts?.description\"></div>\n }\n </div>\n\n <div class=\"m-content\">\n @for (group of dropdownGroups; track trackGroup($index)) {\n <div\n class=\"m-item\"\n [ngClass]=\"{\n 'm-open': isGroupOpen($index),\n 'm-close': !isGroupOpen($index),\n }\"\n >\n <button\n class=\"m-buttonD\"\n type=\"button\"\n [attr.aria-expanded]=\"isGroupOpen($index)\"\n (click)=\"toggleGroup($index)\"\n >\n <div class=\"m-titulo\">{{ group.label }}</div>\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n x1=\"0.5\"\n y1=\"15.5\"\n x2=\"31.5\"\n y2=\"15.5\"\n stroke=\"#393637\"\n stroke-linecap=\"round\"\n />\n <line\n x1=\"16.5117\"\n y1=\"0.5\"\n x2=\"16.5117\"\n y2=\"31.5\"\n stroke=\"#393637\"\n stroke-linecap=\"round\"\n />\n </svg>\n </button>\n\n <div\n class=\"m-listado\"\n [style.height]=\"isGroupOpen($index) ? 'auto' : '0px'\"\n >\n @for (hotel of group.hotels; track trackHotel($index, hotel)) {\n <div class=\"m-item-list\">\n @if (getHotelImage(hotel)) {\n @if (getPrimaryHotelButton(hotel); as imageBtn) {\n <a\n class=\"m-imagen-link\"\n [href]=\"imageBtn.url\"\n [linkType]=\"imageBtn.linkType\"\n [attr.target]=\"imageBtn.target || '_self'\"\n [attr.rel]=\"\n (imageBtn.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n <div class=\"m-imagen\">\n <img\n [src]=\"getHotelImage(hotel)\"\n [alt]=\"getHotelImageAlt(hotel)\"\n loading=\"lazy\"\n />\n </div>\n </a>\n } @else {\n <div class=\"m-imagen\">\n <img\n [src]=\"getHotelImage(hotel)\"\n [alt]=\"getHotelImageAlt(hotel)\"\n loading=\"lazy\"\n />\n </div>\n }\n }\n\n @if (getHotelName(hotel)) {\n <div class=\"m-titulo\">\n {{ getHotelName(hotel) }}\n </div>\n }\n\n @if (getHotelSubtitle(hotel)) {\n <div class=\"m-subtitulo\">\n {{ getHotelSubtitle(hotel) }}\n </div>\n }\n\n @if (getHotelCategoryCount(hotel)) {\n <div class=\"m-stars\">\n @for (star of getStars(hotel); track trackStar($index)) {\n <svg\n width=\"12\"\n height=\"11\"\n viewBox=\"0 0 12 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 0L7.416 4.2H12L8.292 6.8L9.708 11L6 8.4L2.292 11L3.708 6.8L0 4.2H4.584L6 0Z\"\n fill=\"#393637\"\n />\n </svg>\n }\n </div>\n }\n\n <div class=\"m-buttons\">\n @if (getPrimaryHotelButton(hotel); as primaryBtn) {\n <a\n class=\"m-button1\"\n [href]=\"primaryBtn.url\"\n [linkType]=\"primaryBtn.linkType\"\n [attr.target]=\"primaryBtn.target || '_self'\"\n [attr.rel]=\"\n (primaryBtn.target || '_self') ===\n '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ primaryBtn.label }}\n </a>\n }\n\n @if (getSecondaryHotelButton(hotel); as secondaryBtn) {\n <a\n class=\"m-button2\"\n [href]=\"secondaryBtn.url\"\n [linkType]=\"secondaryBtn.linkType\"\n [attr.target]=\"secondaryBtn.target || '_self'\"\n [attr.rel]=\"\n (secondaryBtn.target || '_self') ===\n '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ secondaryBtn.label }}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n\n <div class=\"m-foot\">\n @if (texts?.additional) {\n <div class=\"m-texto\">{{ texts?.additional }}</div>\n }\n @if (buttons?.[0]; as ctaBtn) {\n <a\n class=\"m-buttonfoot\"\n [href]=\"ctaBtn.url\"\n [linkType]=\"ctaBtn.linkType\"\n [attr.target]=\"ctaBtn.target || '_self'\"\n [attr.rel]=\"\n (ctaBtn.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ ctaBtn.label }}\n </a>\n }\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";html{font-size:62.5%}html body{font:14px \"\"}@media (min-width: 1921px) and (max-height: 600px){html{font-size:55.5%}}body,section{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem}section .mdl-container{width:100%;max-width:178rem;margin:0 auto}.readmoreinit{line-height:1.6!important}@media screen and (max-width: 1200px){.readmoreinit{line-height:1.6!important}}@media screen and (max-width: 600px){.readmoreinit{line-height:1.6!important}}.read-more{display:flex;flex-direction:column;font-family:CoreSansG,sans-serif;font-size:1.5rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.4;letter-spacing:normal;color:#e6411e;text-decoration:underline;cursor:pointer;margin-top:2rem}.read-more .less{display:none}.w100{font-weight:100}.w300{font-weight:300}.w400{font-weight:400}.w500{font-weight:medium}.w600{font-weight:600}.w700{font-weight:700}.w900{font-weight:900}.italic{font-style:italic}.row{display:flex;flex-direction:row}.col{display:flex;flex-direction:column}body{cursor:default;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{color:inherit;border:0;margin:0;padding:0}a{text-size-adjust:none;-webkit-text-size-adjust:none;text-decoration:none;cursor:pointer}ul{list-style-position:outside}li{padding-left:3rem;list-style:none;position:relative}li:before{content:\"\\25cf\";position:absolute;top:0;left:0}button,mark{background:none}button,label{cursor:pointer}:focus{outline:none!important}::-moz-focus-inner{border:0}summary::-webkit-details-marker{display:none}button,input[type=submit],input[type=text]{-webkit-appearance:none}h1,h2,h3,h4,h5,h6{text-transform:none}p{width:100%}img{width:auto;height:auto;object-fit:contain}@-webkit-keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}@keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}.fancybox__backdrop{background-color:#00000087!important}.fancybox__content{padding:0!important}.fancybox__content>.carousel__button.is-close{color:#b6b8bb!important}.fancybox__counter{display:none!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:#ffffff;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 20px 20px #23232329}.mdl-LisC1ImgTxt{overflow:hidden;padding-left:0!important;padding-right:0!important}.mdl-LisC1ImgTxt .mdl-container{max-width:150rem;padding:10rem 5rem;box-sizing:border-box}.mdl-LisC1ImgTxt .mdl-container .m-head{display:flex;justify-content:space-between;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{width:100%;max-width:52.7rem;font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{width:100%;max-width:39.1rem;font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content{margin-top:5rem;border-top:1px solid #D9D9D9;border-bottom:1px solid #D9D9D9}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item{border-bottom:1px solid #D9D9D9;margin-bottom:-1px;display:flex;flex-direction:column;align-items:center;position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open{background-color:#fff9ee;margin:1px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open .m-listado{opacity:1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open:before{content:\"\";background-color:#fff9ee;width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open svg{transition:.5s;transform:rotate(135deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-close .m-listado{opacity:0}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{display:flex;justify-content:space-between;align-items:center;padding:5rem 5rem 5rem 0;width:100%;position:relative;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover:before{content:\"\";background-color:#fff9ee;width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD svg{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-family:CoreSansG,sans-serif;font-size:8rem;font-style:normal;font-weight:700;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:6rem;line-height:5rem}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:3rem;line-height:3rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{text-align:left}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado{display:flex;gap:6rem;width:100%;max-width:125rem;flex-wrap:wrap;overflow:hidden;height:0;opacity:0;transition:height .35s ease,opacity .25s ease;will-change:height}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:calc(50% - 3rem);display:flex;flex-direction:column;align-items:center;margin-bottom:6rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen{aspect-ratio:625/417;width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen img{width:100%;height:100%;object-fit:cover;aspect-ratio:625/417}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:400;letter-spacing:12%;line-height:100%;text-transform:uppercase;color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars{display:flex;gap:1.7rem;margin-top:.9rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars svg{transform:rotate(143deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{display:flex;gap:2.8rem;margin-top:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{padding:2rem 0;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;border-radius:8rem;padding:2rem 5rem;transition:.5s;min-width:26rem;background-color:#fcdd3f;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2:hover{background-color:#f9bf10;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{padding:2rem 0;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-foot{margin-top:5rem;display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-family:Breathing Personal,sans-serif;font-size:6rem;font-weight:400;line-height:100%}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-size:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{color:#fcdd3f}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{min-width:16rem;text-align:center}@media (max-width: 1441px){.mdl-LisC1ImgTxt .mdl-container{padding:10rem 2rem}}@media (max-width: 1080px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:9rem}}@media (max-width: 1200px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem!important}}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head{flex-direction:column}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left,.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{max-width:60.1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{padding:5rem 0}.mdl-LisC1ImgTxt .mdl-container .m-foot{align-items:center}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot{flex-direction:column;gap:3rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup", "disablePointerNone"], outputs: ["anchorClicked"] }] }); }
152
152
  }
153
153
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LisC1ImgTxtComponent, decorators: [{
154
154
  type: Component,
155
- args: [{ selector: 'lis-c1-img-txt', standalone: true, imports: [CommonModule, BabylonLinkTypeDirective], template: "<section class=\"mdl-LisC1ImgTxt\">\n <div class=\"mdl-container\">\n <div class=\"m-head\">\n <div class=\"m-left\">\n @if (texts?.pretitle) {\n <span>{{ texts?.pretitle }}</span>\n }\n @if (texts?.title) {\n {{ texts?.title }}\n }\n </div>\n @if (texts?.description) {\n <div class=\"m-right\" [innerHTML]=\"texts?.description\"></div>\n }\n </div>\n\n <div class=\"m-content\">\n @for (group of dropdownGroups; track trackGroup($index)) {\n <div\n class=\"m-item\"\n [ngClass]=\"{\n 'm-open': isGroupOpen($index),\n 'm-close': !isGroupOpen($index),\n }\"\n >\n <button\n class=\"m-buttonD\"\n type=\"button\"\n [attr.aria-expanded]=\"isGroupOpen($index)\"\n (click)=\"toggleGroup($index)\"\n >\n <div class=\"m-titulo\">{{ group.label }}</div>\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n x1=\"0.5\"\n y1=\"15.5\"\n x2=\"31.5\"\n y2=\"15.5\"\n stroke=\"#393637\"\n stroke-linecap=\"round\"\n />\n <line\n x1=\"16.5117\"\n y1=\"0.5\"\n x2=\"16.5117\"\n y2=\"31.5\"\n stroke=\"#393637\"\n stroke-linecap=\"round\"\n />\n </svg>\n </button>\n\n <div\n class=\"m-listado\"\n [style.height]=\"isGroupOpen($index) ? 'auto' : '0px'\"\n >\n @for (hotel of group.hotels; track trackHotel($index, hotel)) {\n <div class=\"m-item-list\">\n @if (getHotelImage(hotel)) {\n @if (getPrimaryHotelButton(hotel); as imageBtn) {\n <a\n class=\"m-imagen-link\"\n [href]=\"imageBtn.url\"\n [linkType]=\"imageBtn.linkType\"\n [attr.target]=\"imageBtn.target || '_self'\"\n [attr.rel]=\"\n (imageBtn.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n <div class=\"m-imagen\">\n <img\n [src]=\"getHotelImage(hotel)\"\n [alt]=\"getHotelImageAlt(hotel)\"\n loading=\"lazy\"\n />\n </div>\n </a>\n } @else {\n <div class=\"m-imagen\">\n <img\n [src]=\"getHotelImage(hotel)\"\n [alt]=\"getHotelImageAlt(hotel)\"\n loading=\"lazy\"\n />\n </div>\n }\n }\n\n @if (getHotelName(hotel)) {\n <div class=\"m-titulo\">\n {{ getHotelName(hotel) }}\n </div>\n }\n\n @if (getHotelSubtitle(hotel)) {\n <div class=\"m-subtitulo\">\n {{ getHotelSubtitle(hotel) }}\n </div>\n }\n\n @if (getHotelCategoryCount(hotel)) {\n <div class=\"m-stars\">\n @for (star of getStars(hotel); track trackStar($index)) {\n <svg\n width=\"12\"\n height=\"11\"\n viewBox=\"0 0 12 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 0L7.416 4.2H12L8.292 6.8L9.708 11L6 8.4L2.292 11L3.708 6.8L0 4.2H4.584L6 0Z\"\n fill=\"#393637\"\n />\n </svg>\n }\n </div>\n }\n\n <div class=\"m-buttons\">\n @if (getPrimaryHotelButton(hotel); as primaryBtn) {\n <a\n class=\"m-button1\"\n [href]=\"primaryBtn.url\"\n [linkType]=\"primaryBtn.linkType\"\n [attr.target]=\"primaryBtn.target || '_self'\"\n [attr.rel]=\"\n (primaryBtn.target || '_self') ===\n '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ primaryBtn.label }}\n </a>\n }\n\n @if (getSecondaryHotelButton(hotel); as secondaryBtn) {\n <a\n class=\"m-button2\"\n [href]=\"secondaryBtn.url\"\n [linkType]=\"secondaryBtn.linkType\"\n [attr.target]=\"secondaryBtn.target || '_self'\"\n [attr.rel]=\"\n (secondaryBtn.target || '_self') ===\n '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ secondaryBtn.label }}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n\n <div class=\"m-foot\">\n @if (texts?.additional) {\n <div class=\"m-texto\">{{ texts?.additional }}</div>\n }\n @if (buttons?.[0]; as ctaBtn) {\n <a\n class=\"m-buttonfoot\"\n [href]=\"ctaBtn.url\"\n [linkType]=\"ctaBtn.linkType\"\n [attr.target]=\"ctaBtn.target || '_self'\"\n [attr.rel]=\"\n (ctaBtn.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ ctaBtn.label }}\n </a>\n }\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";html{font-size:62.5%}html body{font:14px \"\"}@media (min-width: 1921px) and (max-height: 600px){html{font-size:55.5%}}body,section{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem}section .mdl-container{width:100%;max-width:178rem;margin:0 auto}.readmoreinit{line-height:1.6!important}@media screen and (max-width: 1200px){.readmoreinit{line-height:1.6!important}}@media screen and (max-width: 600px){.readmoreinit{line-height:1.6!important}}.read-more{display:flex;flex-direction:column;font-family:CoreSansG,sans-serif;font-size:1.5rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.4;letter-spacing:normal;color:#e6411e;text-decoration:underline;cursor:pointer;margin-top:2rem}.read-more .less{display:none}.w100{font-weight:100}.w300{font-weight:300}.w400{font-weight:400}.w500{font-weight:medium}.w600{font-weight:600}.w700{font-weight:700}.w900{font-weight:900}.italic{font-style:italic}.row{display:flex;flex-direction:row}.col{display:flex;flex-direction:column}body{cursor:default;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{color:inherit;border:0;margin:0;padding:0}a{text-size-adjust:none;-webkit-text-size-adjust:none;text-decoration:none;cursor:pointer}ul{list-style-position:outside}li{padding-left:3rem;list-style:none;position:relative}li:before{content:\"\\25cf\";position:absolute;top:0;left:0}button,mark{background:none}button,label{cursor:pointer}:focus{outline:none!important}::-moz-focus-inner{border:0}summary::-webkit-details-marker{display:none}button,input[type=submit],input[type=text]{-webkit-appearance:none}h1,h2,h3,h4,h5,h6{text-transform:none}p{width:100%}img{width:auto;height:auto;object-fit:contain}@-webkit-keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}@keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}.fancybox__backdrop{background-color:#00000087!important}.fancybox__content{padding:0!important}.fancybox__content>.carousel__button.is-close{color:#b6b8bb!important}.fancybox__counter{display:none!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:#ffffff;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 20px 20px #23232329}.mdl-LisC1ImgTxt{overflow:hidden;padding-left:0!important;padding-right:0!important}.mdl-LisC1ImgTxt .mdl-container{max-width:150rem;padding:10rem 5rem;box-sizing:border-box}.mdl-LisC1ImgTxt .mdl-container .m-head{display:flex;justify-content:space-between;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{width:100%;max-width:52.7rem;font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{width:100%;max-width:39.1rem;font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content{margin-top:5rem;border-top:1px solid #D9D9D9;border-bottom:1px solid #D9D9D9}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item{border-bottom:1px solid #D9D9D9;margin-bottom:-1px;display:flex;flex-direction:column;align-items:center;position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open{background-color:#fff9ee;margin:1px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open .m-listado{opacity:1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open:before{content:\"\";background-color:#fff9ee;width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open svg{transition:.5s;transform:rotate(135deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-close .m-listado{opacity:0}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{display:flex;justify-content:space-between;align-items:center;padding:5rem 5rem 5rem 0;width:100%;position:relative;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover:before{content:\"\";background-color:#fff9ee;width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD svg{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-family:CoreSansG,sans-serif;font-size:8rem;font-style:normal;font-weight:700;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:6rem;line-height:5rem}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:3rem;line-height:3rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{text-align:left}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado{display:flex;gap:6rem;width:100%;max-width:125rem;flex-wrap:wrap;overflow:hidden;height:0;opacity:0;transition:height .35s ease,opacity .25s ease;will-change:height}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:calc(50% - 3rem);display:flex;flex-direction:column;align-items:center;margin-bottom:6rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen{aspect-ratio:625/417;width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen img{width:100%;height:100%;object-fit:cover;aspect-ratio:625/417}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:400;letter-spacing:12%;line-height:100%;text-transform:uppercase;color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars{display:flex;gap:1.7rem;margin-top:.9rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars svg{transform:rotate(143deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{display:flex;gap:2.8rem;margin-top:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;border-radius:8rem;padding:2rem 5rem;transition:.5s;min-width:26rem;background-color:#fcdd3f;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2:hover{background-color:#f9bf10;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-foot{margin-top:5rem;display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-family:Breathing Personal,sans-serif;font-size:6rem;font-weight:400;line-height:100%}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-size:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{color:#fcdd3f}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{min-width:16rem;text-align:center}@media (max-width: 1441px){.mdl-LisC1ImgTxt .mdl-container{padding:10rem 2rem}}@media (max-width: 1080px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:9rem}}@media (max-width: 1200px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem!important}}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head{flex-direction:column}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left,.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{max-width:60.1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{padding:5rem 0}.mdl-LisC1ImgTxt .mdl-container .m-foot{align-items:center}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot{flex-direction:column;gap:3rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:100%}}\n"] }]
155
+ args: [{ selector: 'lis-c1-img-txt', standalone: true, imports: [CommonModule, BabylonLinkTypeDirective], template: "<section class=\"mdl-LisC1ImgTxt\">\n <div class=\"mdl-container\">\n <div class=\"m-head\">\n <div class=\"m-left\">\n @if (texts?.pretitle) {\n <span>{{ texts?.pretitle }}</span>\n }\n @if (texts?.title) {\n {{ texts?.title }}\n }\n </div>\n @if (texts?.description) {\n <div class=\"m-right\" [innerHTML]=\"texts?.description\"></div>\n }\n </div>\n\n <div class=\"m-content\">\n @for (group of dropdownGroups; track trackGroup($index)) {\n <div\n class=\"m-item\"\n [ngClass]=\"{\n 'm-open': isGroupOpen($index),\n 'm-close': !isGroupOpen($index),\n }\"\n >\n <button\n class=\"m-buttonD\"\n type=\"button\"\n [attr.aria-expanded]=\"isGroupOpen($index)\"\n (click)=\"toggleGroup($index)\"\n >\n <div class=\"m-titulo\">{{ group.label }}</div>\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n x1=\"0.5\"\n y1=\"15.5\"\n x2=\"31.5\"\n y2=\"15.5\"\n stroke=\"#393637\"\n stroke-linecap=\"round\"\n />\n <line\n x1=\"16.5117\"\n y1=\"0.5\"\n x2=\"16.5117\"\n y2=\"31.5\"\n stroke=\"#393637\"\n stroke-linecap=\"round\"\n />\n </svg>\n </button>\n\n <div\n class=\"m-listado\"\n [style.height]=\"isGroupOpen($index) ? 'auto' : '0px'\"\n >\n @for (hotel of group.hotels; track trackHotel($index, hotel)) {\n <div class=\"m-item-list\">\n @if (getHotelImage(hotel)) {\n @if (getPrimaryHotelButton(hotel); as imageBtn) {\n <a\n class=\"m-imagen-link\"\n [href]=\"imageBtn.url\"\n [linkType]=\"imageBtn.linkType\"\n [attr.target]=\"imageBtn.target || '_self'\"\n [attr.rel]=\"\n (imageBtn.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n <div class=\"m-imagen\">\n <img\n [src]=\"getHotelImage(hotel)\"\n [alt]=\"getHotelImageAlt(hotel)\"\n loading=\"lazy\"\n />\n </div>\n </a>\n } @else {\n <div class=\"m-imagen\">\n <img\n [src]=\"getHotelImage(hotel)\"\n [alt]=\"getHotelImageAlt(hotel)\"\n loading=\"lazy\"\n />\n </div>\n }\n }\n\n @if (getHotelName(hotel)) {\n <div class=\"m-titulo\">\n {{ getHotelName(hotel) }}\n </div>\n }\n\n @if (getHotelSubtitle(hotel)) {\n <div class=\"m-subtitulo\">\n {{ getHotelSubtitle(hotel) }}\n </div>\n }\n\n @if (getHotelCategoryCount(hotel)) {\n <div class=\"m-stars\">\n @for (star of getStars(hotel); track trackStar($index)) {\n <svg\n width=\"12\"\n height=\"11\"\n viewBox=\"0 0 12 11\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 0L7.416 4.2H12L8.292 6.8L9.708 11L6 8.4L2.292 11L3.708 6.8L0 4.2H4.584L6 0Z\"\n fill=\"#393637\"\n />\n </svg>\n }\n </div>\n }\n\n <div class=\"m-buttons\">\n @if (getPrimaryHotelButton(hotel); as primaryBtn) {\n <a\n class=\"m-button1\"\n [href]=\"primaryBtn.url\"\n [linkType]=\"primaryBtn.linkType\"\n [attr.target]=\"primaryBtn.target || '_self'\"\n [attr.rel]=\"\n (primaryBtn.target || '_self') ===\n '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ primaryBtn.label }}\n </a>\n }\n\n @if (getSecondaryHotelButton(hotel); as secondaryBtn) {\n <a\n class=\"m-button2\"\n [href]=\"secondaryBtn.url\"\n [linkType]=\"secondaryBtn.linkType\"\n [attr.target]=\"secondaryBtn.target || '_self'\"\n [attr.rel]=\"\n (secondaryBtn.target || '_self') ===\n '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ secondaryBtn.label }}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n\n <div class=\"m-foot\">\n @if (texts?.additional) {\n <div class=\"m-texto\">{{ texts?.additional }}</div>\n }\n @if (buttons?.[0]; as ctaBtn) {\n <a\n class=\"m-buttonfoot\"\n [href]=\"ctaBtn.url\"\n [linkType]=\"ctaBtn.linkType\"\n [attr.target]=\"ctaBtn.target || '_self'\"\n [attr.rel]=\"\n (ctaBtn.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n >\n {{ ctaBtn.label }}\n </a>\n }\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";html{font-size:62.5%}html body{font:14px \"\"}@media (min-width: 1921px) and (max-height: 600px){html{font-size:55.5%}}body,section{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem}section .mdl-container{width:100%;max-width:178rem;margin:0 auto}.readmoreinit{line-height:1.6!important}@media screen and (max-width: 1200px){.readmoreinit{line-height:1.6!important}}@media screen and (max-width: 600px){.readmoreinit{line-height:1.6!important}}.read-more{display:flex;flex-direction:column;font-family:CoreSansG,sans-serif;font-size:1.5rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.4;letter-spacing:normal;color:#e6411e;text-decoration:underline;cursor:pointer;margin-top:2rem}.read-more .less{display:none}.w100{font-weight:100}.w300{font-weight:300}.w400{font-weight:400}.w500{font-weight:medium}.w600{font-weight:600}.w700{font-weight:700}.w900{font-weight:900}.italic{font-style:italic}.row{display:flex;flex-direction:row}.col{display:flex;flex-direction:column}body{cursor:default;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{color:inherit;border:0;margin:0;padding:0}a{text-size-adjust:none;-webkit-text-size-adjust:none;text-decoration:none;cursor:pointer}ul{list-style-position:outside}li{padding-left:3rem;list-style:none;position:relative}li:before{content:\"\\25cf\";position:absolute;top:0;left:0}button,mark{background:none}button,label{cursor:pointer}:focus{outline:none!important}::-moz-focus-inner{border:0}summary::-webkit-details-marker{display:none}button,input[type=submit],input[type=text]{-webkit-appearance:none}h1,h2,h3,h4,h5,h6{text-transform:none}p{width:100%}img{width:auto;height:auto;object-fit:contain}@-webkit-keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}@keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}.fancybox__backdrop{background-color:#00000087!important}.fancybox__content{padding:0!important}.fancybox__content>.carousel__button.is-close{color:#b6b8bb!important}.fancybox__counter{display:none!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:#ffffff;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 20px 20px #23232329}.mdl-LisC1ImgTxt{overflow:hidden;padding-left:0!important;padding-right:0!important}.mdl-LisC1ImgTxt .mdl-container{max-width:150rem;padding:10rem 5rem;box-sizing:border-box}.mdl-LisC1ImgTxt .mdl-container .m-head{display:flex;justify-content:space-between;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{width:100%;max-width:52.7rem;font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{width:100%;max-width:39.1rem;font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content{margin-top:5rem;border-top:1px solid #D9D9D9;border-bottom:1px solid #D9D9D9}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item{border-bottom:1px solid #D9D9D9;margin-bottom:-1px;display:flex;flex-direction:column;align-items:center;position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open{background-color:#fff9ee;margin:1px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open .m-listado{opacity:1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open:before{content:\"\";background-color:#fff9ee;width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open svg{transition:.5s;transform:rotate(135deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-close .m-listado{opacity:0}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{display:flex;justify-content:space-between;align-items:center;padding:5rem 5rem 5rem 0;width:100%;position:relative;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover:before{content:\"\";background-color:#fff9ee;width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD svg{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-family:CoreSansG,sans-serif;font-size:8rem;font-style:normal;font-weight:700;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:6rem;line-height:5rem}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:3rem;line-height:3rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{text-align:left}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado{display:flex;gap:6rem;width:100%;max-width:125rem;flex-wrap:wrap;overflow:hidden;height:0;opacity:0;transition:height .35s ease,opacity .25s ease;will-change:height}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:calc(50% - 3rem);display:flex;flex-direction:column;align-items:center;margin-bottom:6rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen{aspect-ratio:625/417;width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen img{width:100%;height:100%;object-fit:cover;aspect-ratio:625/417}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:400;letter-spacing:12%;line-height:100%;text-transform:uppercase;color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars{display:flex;gap:1.7rem;margin-top:.9rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars svg{transform:rotate(143deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{display:flex;gap:2.8rem;margin-top:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{padding:2rem 0;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;border-radius:8rem;padding:2rem 5rem;transition:.5s;min-width:26rem;background-color:#fcdd3f;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2:hover{background-color:#f9bf10;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{padding:2rem 0;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-foot{margin-top:5rem;display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-family:Breathing Personal,sans-serif;font-size:6rem;font-weight:400;line-height:100%}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-size:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{color:#fcdd3f}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{min-width:16rem;text-align:center}@media (max-width: 1441px){.mdl-LisC1ImgTxt .mdl-container{padding:10rem 2rem}}@media (max-width: 1080px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:9rem}}@media (max-width: 1200px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem!important}}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head{flex-direction:column}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left,.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{max-width:60.1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{padding:5rem 0}.mdl-LisC1ImgTxt .mdl-container .m-foot{align-items:center}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot{flex-direction:column;gap:3rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:100%}}\n"] }]
156
156
  }], propDecorators: { texts: [{
157
157
  type: Input
158
158
  }], hotels: [{
@@ -164,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
164
164
  }], buttons: [{
165
165
  type: Input
166
166
  }] } });
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzLWMxLWltZy10eHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvZXh0ZXJuYWwvY29yZS9saXMtYzEtaW1nLXR4dC9saXMtYzEtaW1nLXR4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL2xpcy1jMS1pbWctdHh0L2xpcy1jMS1pbWctdHh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFHaEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFVMUMsTUFBTSxPQUFPLG9CQUFvQjtJQVBqQztRQVFxQixZQUFPLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFRckQscUJBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztLQTBLaEQ7SUF4S0csSUFBSSxjQUFjO1FBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztRQUU1RCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDckIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFL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d0IsQ0FBQzs4QkFPeEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMvbGluay10eXBlL2xpbmstdHlwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFieWxvbkJ1dHRvbkksIEJhYnlsb25UZXh0SW5mb0kgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJhYnlsb25Ib3RlbEdsb2JhbEl0ZW0gfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2JhYnlsb24taG90ZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNJVEVfQ09ORklHX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9tYXBwZXIvbWFwcGVyLnNlcnZpY2UudG9rZW4nO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBMaXNDMUltZ1R4dEdyb3VwIH0gZnJvbSAnLi9saXMtYzEtaW1nLXR4dC5pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaXMtYzEtaW1nLXR4dCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXMtYzEtaW1nLXR4dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2xpcy1jMS1pbWctdHh0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTGlzQzFJbWdUeHRDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2l0ZVN2YyA9IGluamVjdChTSVRFX0NPTkZJR19TRVJWSUNFX1RPS0VOKTtcblxuICAgIEBJbnB1dCgpIHRleHRzPzogQmFieWxvblRleHRJbmZvSTtcbiAgICBASW5wdXQoKSBob3RlbHM/OiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtW107XG4gICAgQElucHV0KCkgaXRlbXM/OiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtW107XG4gICAgQElucHV0KCkgbGlua3M/OiBCYWJ5bG9uQnV0dG9uSVtdO1xuICAgIEBJbnB1dCgpIGJ1dHRvbnM/OiBCYWJ5bG9uQnV0dG9uSVtdO1xuXG4gICAgcHJpdmF0ZSBvcGVuR3JvdXBJbmRleGVzID0gbmV3IFNldDxudW1iZXI+KCk7XG5cbiAgICBnZXQgZHJvcGRvd25Hcm91cHMoKTogTGlzQzFJbWdUeHRHcm91cFtdIHtcbiAgICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5ob3RlbHMgPz8gdGhpcy5pdGVtcyA/PyBbXTtcbiAgICAgICAgY29uc3QgZ3JvdXBlZCA9IG5ldyBNYXA8c3RyaW5nLCBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtW10+KCk7XG5cbiAgICAgICAgc291cmNlLmZvckVhY2goKGhvdGVsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0eXBlID0gKGhvdGVsLmhvdGVsdHlwZSA/PyAnJykudHJpbSgpO1xuICAgICAgICAgICAgaWYgKCF0eXBlKSByZXR1cm47XG4gICAgICAgICAgICBpZiAoIWdyb3VwZWQuaGFzKHR5cGUpKSBncm91cGVkLnNldCh0eXBlLCBbXSk7XG4gICAgICAgICAgICBncm91cGVkLmdldCh0eXBlKSEucHVzaChob3RlbCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IEFycmF5LmZyb20oZ3JvdXBlZC5lbnRyaWVzKCkpLm1hcCgoW3R5cGUsIGhvdGVsc10pID0+ICh7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgaG90ZWxzOiBbLi4uaG90ZWxzXS5zb3J0KChhLCBiKSA9PiAoYS5vcmRlciA/PyA5OTk5KSAtIChiLm9yZGVyID8/IDk5OTkpKSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGNvbnN0IGJhc2UgPSBncm91cHMuc2xpY2UoMCwgMykubWFwKChncm91cCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICB0eXBlOiBncm91cC50eXBlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMubGlua3M/LltpbmRleF0/LmxhYmVsIHx8IGdyb3VwLnR5cGUsXG4gICAgICAgICAgICBob3RlbHM6IGdyb3VwLmhvdGVscyxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHdoaWxlIChiYXNlLmxlbmd0aCA8IDMpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYmFzZS5sZW5ndGg7XG4gICAgICAgICAgICBiYXNlLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6ICcnLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmxpbmtzPy5baW5kZXhdPy5sYWJlbCB8fCAnJyxcbiAgICAgICAgICAgICAgICBob3RlbHM6IFtdLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYmFzZTtcbiAgICB9XG5cbiAgICB0b2dnbGVHcm91cChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9wZW5Hcm91cEluZGV4ZXMuaGFzKGluZGV4KSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuR3JvdXBJbmRleGVzLmRlbGV0ZShpbmRleCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVuR3JvdXBJbmRleGVzLmFkZChpbmRleCk7XG4gICAgfVxuXG4gICAgaXNHcm91cE9wZW4oaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuR3JvdXBJbmRleGVzLmhhcyhpbmRleCk7XG4gICAgfVxuXG4gICAgZ2V0SG90ZWxOYW1lKGhvdGVsOiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGhvdGVsLnRleHRzPy5uYW1lIHx8IGhvdGVsLnRleHRzPy50aXRsZSB8fCBob3RlbC5uYW1lIHx8ICcnO1xuICAgIH1cblxuICAgIGdldEhvdGVsSW1hZ2UoaG90ZWw6IEJhYnlsb25Ib3RlbEdsb2JhbEl0ZW0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBtdWx0aW1lZGlhOiBhbnkgPSBob3RlbC5tdWx0aW1lZGlhIGFzIGFueTtcbiAgICAgICAgY29uc3QgaW1hZ2VzOiBhbnkgPSAoaG90ZWwgYXMgYW55KS5pbWFnZXM7XG4gICAgICAgIGNvbnN0IGltZzogYW55ID0gKGhvdGVsIGFzIGFueSkuaW1nO1xuXG4gICAgICAgIC8vIEZvcm1hdG8gbWFwZWFkbyAoaGFiaXR1YWwgZW4gQmFieWxvbilcbiAgICAgICAgY29uc3QgbWFwcGVkSW1nID1cbiAgICAgICAgICAgIG11bHRpbWVkaWE/LmltYWdlbmVzPy5bMF0gPz9cbiAgICAgICAgICAgIGltYWdlcz8uWzBdID8/XG4gICAgICAgICAgICBpbWc7XG4gICAgICAgIGNvbnN0IG1hcHBlZFNyYyA9XG4gICAgICAgICAgICBtYXBwZWRJbWc/LmltZz8uc3JjID8/XG4gICAgICAgICAgICBtYXBwZWRJbWc/LmltZz8ub3JpZ2luYWwgPz9cbiAgICAgICAgICAgIG1hcHBlZEltZz8uc3JjID8/XG4gICAgICAgICAgICBtYXBwZWRJbWc/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICBtYXBwZWRJbWc/LnBhdGg/LndlYnAgPz9cbiAgICAgICAgICAgIG1hcHBlZEltZz8ucGF0aD8ub3JpZ2luYWw7XG4gICAgICAgIGlmIChtYXBwZWRTcmMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZUltYWdlVXJsKG1hcHBlZFNyYyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JtYXRvIGNydWRvIEFQSTogbXVsdGltZWRpYVswXS5wYXRoLndlYnAvb3JpZ2luYWxcbiAgICAgICAgY29uc3QgcmF3SW1nID1cbiAgICAgICAgICAgIChBcnJheS5pc0FycmF5KG11bHRpbWVkaWEpID8gbXVsdGltZWRpYVswXSA6IHVuZGVmaW5lZCkgPz9cbiAgICAgICAgICAgIChBcnJheS5pc0FycmF5KGltYWdlcykgPyBpbWFnZXNbMF0gOiB1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCByYXdTcmMgPVxuICAgICAgICAgICAgcmF3SW1nPy5wYXRoPy53ZWJwID8/XG4gICAgICAgICAgICByYXdJbWc/LnBhdGg/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICByYXdJbWc/LndlYnAgPz9cbiAgICAgICAgICAgIHJhd0ltZz8ub3JpZ2luYWwgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzEzNjZdPy53ZWJwID8/XG4gICAgICAgICAgICByYXdJbWc/LnRodW1ibmFpbHM/LlsxMjgwXT8ud2VicCA/P1xuICAgICAgICAgICAgcmF3SW1nPy50aHVtYm5haWxzPy5bMTAyNF0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzc2OF0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzU0MF0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzM3NV0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzEzNjZdPy5vcmlnaW5hbCA/P1xuICAgICAgICAgICAgcmF3SW1nPy50aHVtYm5haWxzPy5bMTI4MF0/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICByYXdJbWc/LnRodW1ibmFpbHM/LlsxMDI0XT8ub3JpZ2luYWwgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzc2OF0/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICByYXdJbWc/LnRodW1ibmFpbHM/Lls1NDBdPy5vcmlnaW5hbCA/P1xuICAgICAgICAgICAgcmF3SW1nPy50aHVtYm5haWxzPy5bMzc1XT8ub3JpZ2luYWw7XG5cbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IHRoaXMubm9ybWFsaXplSW1hZ2VVcmwocmF3U3JjKTtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG4gICAgfVxuXG4gICAgZ2V0SG90ZWxJbWFnZUFsdChob3RlbDogQmFieWxvbkhvdGVsR2xvYmFsSXRlbSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG11bHRpbWVkaWE6IGFueSA9IGhvdGVsLm11bHRpbWVkaWEgYXMgYW55O1xuICAgICAgICBjb25zdCBtYXBwZWRBbHQgPVxuICAgICAgICAgICAgbXVsdGltZWRpYT8uaW1hZ2VuZXM/LlswXT8uaW1nPy5hbHQgPz9cbiAgICAgICAgICAgIChob3RlbCBhcyBhbnkpPy5pbWFnZXM/LlswXT8uaW1nPy5hbHQgPz9cbiAgICAgICAgICAgIChob3RlbCBhcyBhbnkpPy5pbWc/LmFsdDtcbiAgICAgICAgY29uc3QgcmF3QWx0ID1cbiAgICAgICAgICAgIChBcnJheS5pc0FycmF5KG11bHRpbWVkaWEpID8gbXVsdGltZWRpYVswXT8uYWx0IDogdW5kZWZpbmVkKSA/P1xuICAgICAgICAgICAgKEFycmF5LmlzQXJyYXkoKGhvdGVsIGFzIGFueSk/LmltYWdlcylcbiAgICAgICAgICAgICAgICA/IChob3RlbCBhcyBhbnkpLmltYWdlc1swXT8uYWx0XG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgbWFwcGVkQWx0IHx8XG4gICAgICAgICAgICByYXdBbHQgfHxcbiAgICAgICAgICAgIHRoaXMuZ2V0SG90ZWxOYW1lKGhvdGVsKSB8fFxuICAgICAgICAgICAgJ2hvdGVsJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEhvdGVsU3VidGl0bGUoaG90ZWw6IEJhYnlsb25Ib3RlbEdsb2JhbEl0ZW0pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBhZGRpdGlvbmFsMSA9ICgoaG90ZWwgYXMgYW55KT8udGV4dHM/LmFkZGl0aW9uYWwxID8/ICcnKS50cmltKCk7XG4gICAgICAgIGlmIChhZGRpdGlvbmFsMSkgcmV0dXJuIGFkZGl0aW9uYWwxO1xuICAgICAgICByZXR1cm4gaG90ZWwuaG90ZWx0eXBlIHx8IGhvdGVsLmNpdHkgfHwgJyc7XG4gICAgfVxuXG4gICAgZ2V0SG90ZWxDYXRlZ29yeUNvdW50KGhvdGVsOiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFV0aWxzLmV4dHJhY3ROdW1iZXJSYW5nZShob3RlbC5ob3RlbGNhdGVnb3J5ID8/ICcnKT8ubGVuZ3RoID8/IDA7XG4gICAgfVxuXG4gICAgZ2V0U3RhcnMoaG90ZWw6IEJhYnlsb25Ib3RlbEdsb2JhbEl0ZW0pOiBudW1iZXJbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgICAgICAgeyBsZW5ndGg6IHRoaXMuZ2V0SG90ZWxDYXRlZ29yeUNvdW50KGhvdGVsKSB9LFxuICAgICAgICAgICAgKF8sIGluZGV4KSA9PiBpbmRleFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlIb3RlbEJ1dHRvbihob3RlbDogQmFieWxvbkhvdGVsR2xvYmFsSXRlbSk6IEJhYnlsb25CdXR0b25JIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIGhvdGVsLmJ1dHRvbnM/LlswXSA/PyBob3RlbC5saW5rcz8uWzBdO1xuICAgIH1cblxuICAgIGdldFNlY29uZGFyeUhvdGVsQnV0dG9uKGhvdGVsOiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtKTogQmFieWxvbkJ1dHRvbkkgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gaG90ZWwuYnV0dG9ucz8uWzFdID8/IGhvdGVsLmxpbmtzPy5bMV07XG4gICAgfVxuXG4gICAgdHJhY2tHcm91cChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIHRyYWNrSG90ZWwoX2luZGV4OiBudW1iZXIsIGhvdGVsOiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtKTogbnVtYmVyIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGhvdGVsLmlkID8/IGhvdGVsLm5hbWUgPz8gX2luZGV4O1xuICAgIH1cblxuICAgIHRyYWNrU3RhcihpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgbm9ybWFsaXplSW1hZ2VVcmwoc3JjPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCFzcmMpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gWWEgZXMgdW5hIFVSTCBhYnNvbHV0YSBvIGVzcGVjaWFsXG4gICAgICAgIGlmICgvXihodHRwcz86KT9cXC9cXC8vaS50ZXN0KHNyYykgfHwgL14oZGF0YXxibG9iKTovaS50ZXN0KHNyYykpIHtcbiAgICAgICAgICAgIHJldHVybiBzcmM7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGVhblNyYyA9IHNyYy5yZXBsYWNlKC9eXFwvKy8sICcnKTtcbiAgICAgICAgY29uc3QgY2RuQmFzZSA9ICh0aGlzLnNpdGVTdmM/LmNkbkltYWdlc0luc3RhbnQgPz8gJycpLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmICghY2RuQmFzZSkgcmV0dXJuIHNyYztcblxuICAgICAgICBjb25zdCBjbGVhbkJhc2UgPSBjZG5CYXNlLmVuZHNXaXRoKCcvJykgPyBjZG5CYXNlIDogYCR7Y2RuQmFzZX0vYDtcbiAgICAgICAgcmV0dXJuIGAke2NsZWFuQmFzZX0ke2NsZWFuU3JjfWA7XG4gICAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtZGwtTGlzQzFJbWdUeHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWRsLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1oZWFkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgQGlmICh0ZXh0cz8ucHJldGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdGV4dHM/LnByZXRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKHRleHRzPy50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0cz8udGl0bGUgfX1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAodGV4dHM/LmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tcmlnaHRcIiBbaW5uZXJIVE1MXT1cInRleHRzPy5kZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1jb250ZW50XCI+XG4gICAgICAgICAgICBAZm9yIChncm91cCBvZiBkcm9wZG93bkdyb3VwczsgdHJhY2sgdHJhY2tHcm91cCgkaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdtLW9wZW4nOiBpc0dyb3VwT3BlbigkaW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ20tY2xvc2UnOiAhaXNHcm91cE9wZW4oJGluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tYnV0dG9uRFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNHcm91cE9wZW4oJGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlR3JvdXAoJGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLXRpdHVsb1wiPnt7IGdyb3VwLmxhYmVsIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIzMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMzJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMzIgMzJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MT1cIjAuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkxPVwiMTUuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyPVwiMzEuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkyPVwiMTUuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzOTM2MzdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgxPVwiMTYuNTExN1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkxPVwiMC41XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDI9XCIxNi41MTE3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeTI9XCIzMS41XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM5MzYzN1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWxpc3RhZG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJpc0dyb3VwT3BlbigkaW5kZXgpID8gJ2F1dG8nIDogJzBweCdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChob3RlbCBvZiBncm91cC5ob3RlbHM7IHRyYWNrIHRyYWNrSG90ZWwoJGluZGV4LCBob3RlbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1pdGVtLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChnZXRIb3RlbEltYWdlKGhvdGVsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChnZXRQcmltYXJ5SG90ZWxCdXR0b24oaG90ZWwpOyBhcyBpbWFnZUJ0bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1pbWFnZW4tbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImltYWdlQnRuLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJpbWFnZUJ0bi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJpbWFnZUJ0bi50YXJnZXQgfHwgJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbWFnZUJ0bi50YXJnZXQgfHwgJ19zZWxmJykgPT09ICdfYmxhbmsnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWltYWdlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZ2V0SG90ZWxJbWFnZShob3RlbClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiZ2V0SG90ZWxJbWFnZUFsdChob3RlbClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWltYWdlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImdldEhvdGVsSW1hZ2UoaG90ZWwpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiZ2V0SG90ZWxJbWFnZUFsdChob3RlbClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChnZXRIb3RlbE5hbWUoaG90ZWwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS10aXR1bG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRIb3RlbE5hbWUoaG90ZWwpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZ2V0SG90ZWxTdWJ0aXRsZShob3RlbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLXN1YnRpdHVsb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEhvdGVsU3VidGl0bGUoaG90ZWwpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZ2V0SG90ZWxDYXRlZ29yeUNvdW50KGhvdGVsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tc3RhcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChzdGFyIG9mIGdldFN0YXJzKGhvdGVsKTsgdHJhY2sgdHJhY2tTdGFyKCRpbmRleCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDExXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNiAwTDcuNDE2IDQuMkgxMkw4LjI5MiA2LjhMOS43MDggMTFMNiA4LjRMMi4yOTIgMTFMMy43MDggNi44TDAgNC4ySDQuNTg0TDYgMFpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMzkzNjM3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChnZXRQcmltYXJ5SG90ZWxCdXR0b24oaG90ZWwpOyBhcyBwcmltYXJ5QnRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWJ1dHRvbjFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJwcmltYXJ5QnRuLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJwcmltYXJ5QnRuLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cInByaW1hcnlCdG4udGFyZ2V0IHx8ICdfc2VsZidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJpbWFyeUJ0bi50YXJnZXQgfHwgJ19zZWxmJykgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2JsYW5rJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBwcmltYXJ5QnRuLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGdldFNlY29uZGFyeUhvdGVsQnV0dG9uKGhvdGVsKTsgYXMgc2Vjb25kYXJ5QnRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWJ1dHRvbjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJzZWNvbmRhcnlCdG4udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cInNlY29uZGFyeUJ0bi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJzZWNvbmRhcnlCdG4udGFyZ2V0IHx8ICdfc2VsZidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2Vjb25kYXJ5QnRuLnRhcmdldCB8fCAnX3NlbGYnKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfYmxhbmsnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlY29uZGFyeUJ0bi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb290XCI+XG4gICAgICAgICAgICBAaWYgKHRleHRzPy5hZGRpdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tdGV4dG9cIj57eyB0ZXh0cz8uYWRkaXRpb25hbCB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChidXR0b25zPy5bMF07IGFzIGN0YUJ0bikge1xuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1idXR0b25mb290XCJcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiY3RhQnRuLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJjdGFCdG4ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwiY3RhQnRuLnRhcmdldCB8fCAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIucmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGN0YUJ0bi50YXJnZXQgfHwgJ19zZWxmJykgPT09ICdfYmxhbmsnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGN0YUJ0bi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzLWMxLWltZy10eHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvZXh0ZXJuYWwvY29yZS9saXMtYzEtaW1nLXR4dC9saXMtYzEtaW1nLXR4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL2xpcy1jMS1pbWctdHh0L2xpcy1jMS1pbWctdHh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFHaEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFVMUMsTUFBTSxPQUFPLG9CQUFvQjtJQVBqQztRQVFxQixZQUFPLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFRckQscUJBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztLQTBLaEQ7SUF4S0csSUFBSSxjQUFjO1FBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztRQUU1RCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDckIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFL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d0IsQ0FBQzs4QkFPeEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMvbGluay10eXBlL2xpbmstdHlwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFieWxvbkJ1dHRvbkksIEJhYnlsb25UZXh0SW5mb0kgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJhYnlsb25Ib3RlbEdsb2JhbEl0ZW0gfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2JhYnlsb24taG90ZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNJVEVfQ09ORklHX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9tYXBwZXIvbWFwcGVyLnNlcnZpY2UudG9rZW4nO1xuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBMaXNDMUltZ1R4dEdyb3VwIH0gZnJvbSAnLi9saXMtYzEtaW1nLXR4dC5pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaXMtYzEtaW1nLXR4dCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXMtYzEtaW1nLXR4dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2xpcy1jMS1pbWctdHh0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTGlzQzFJbWdUeHRDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2l0ZVN2YyA9IGluamVjdChTSVRFX0NPTkZJR19TRVJWSUNFX1RPS0VOKTtcblxuICAgIEBJbnB1dCgpIHRleHRzPzogQmFieWxvblRleHRJbmZvSTtcbiAgICBASW5wdXQoKSBob3RlbHM/OiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtW107XG4gICAgQElucHV0KCkgaXRlbXM/OiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtW107XG4gICAgQElucHV0KCkgbGlua3M/OiBCYWJ5bG9uQnV0dG9uSVtdO1xuICAgIEBJbnB1dCgpIGJ1dHRvbnM/OiBCYWJ5bG9uQnV0dG9uSVtdO1xuXG4gICAgcHJpdmF0ZSBvcGVuR3JvdXBJbmRleGVzID0gbmV3IFNldDxudW1iZXI+KCk7XG5cbiAgICBnZXQgZHJvcGRvd25Hcm91cHMoKTogTGlzQzFJbWdUeHRHcm91cFtdIHtcbiAgICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5ob3RlbHMgPz8gdGhpcy5pdGVtcyA/PyBbXTtcbiAgICAgICAgY29uc3QgZ3JvdXBlZCA9IG5ldyBNYXA8c3RyaW5nLCBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtW10+KCk7XG5cbiAgICAgICAgc291cmNlLmZvckVhY2goKGhvdGVsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0eXBlID0gKGhvdGVsLmhvdGVsdHlwZSA/PyAnJykudHJpbSgpO1xuICAgICAgICAgICAgaWYgKCF0eXBlKSByZXR1cm47XG4gICAgICAgICAgICBpZiAoIWdyb3VwZWQuaGFzKHR5cGUpKSBncm91cGVkLnNldCh0eXBlLCBbXSk7XG4gICAgICAgICAgICBncm91cGVkLmdldCh0eXBlKSEucHVzaChob3RlbCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IEFycmF5LmZyb20oZ3JvdXBlZC5lbnRyaWVzKCkpLm1hcCgoW3R5cGUsIGhvdGVsc10pID0+ICh7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgaG90ZWxzOiBbLi4uaG90ZWxzXS5zb3J0KChhLCBiKSA9PiAoYS5vcmRlciA/PyA5OTk5KSAtIChiLm9yZGVyID8/IDk5OTkpKSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGNvbnN0IGJhc2UgPSBncm91cHMuc2xpY2UoMCwgMykubWFwKChncm91cCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICB0eXBlOiBncm91cC50eXBlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMubGlua3M/LltpbmRleF0/LmxhYmVsIHx8IGdyb3VwLnR5cGUsXG4gICAgICAgICAgICBob3RlbHM6IGdyb3VwLmhvdGVscyxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHdoaWxlIChiYXNlLmxlbmd0aCA8IDMpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYmFzZS5sZW5ndGg7XG4gICAgICAgICAgICBiYXNlLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6ICcnLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmxpbmtzPy5baW5kZXhdPy5sYWJlbCB8fCAnJyxcbiAgICAgICAgICAgICAgICBob3RlbHM6IFtdLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYmFzZTtcbiAgICB9XG5cbiAgICB0b2dnbGVHcm91cChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9wZW5Hcm91cEluZGV4ZXMuaGFzKGluZGV4KSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuR3JvdXBJbmRleGVzLmRlbGV0ZShpbmRleCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVuR3JvdXBJbmRleGVzLmFkZChpbmRleCk7XG4gICAgfVxuXG4gICAgaXNHcm91cE9wZW4oaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuR3JvdXBJbmRleGVzLmhhcyhpbmRleCk7XG4gICAgfVxuXG4gICAgZ2V0SG90ZWxOYW1lKGhvdGVsOiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGhvdGVsLnRleHRzPy5uYW1lIHx8IGhvdGVsLnRleHRzPy50aXRsZSB8fCBob3RlbC5uYW1lIHx8ICcnO1xuICAgIH1cblxuICAgIGdldEhvdGVsSW1hZ2UoaG90ZWw6IEJhYnlsb25Ib3RlbEdsb2JhbEl0ZW0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBtdWx0aW1lZGlhOiBhbnkgPSBob3RlbC5tdWx0aW1lZGlhIGFzIGFueTtcbiAgICAgICAgY29uc3QgaW1hZ2VzOiBhbnkgPSAoaG90ZWwgYXMgYW55KS5pbWFnZXM7XG4gICAgICAgIGNvbnN0IGltZzogYW55ID0gKGhvdGVsIGFzIGFueSkuaW1nO1xuXG4gICAgICAgIC8vIEZvcm1hdG8gbWFwZWFkbyAoaGFiaXR1YWwgZW4gQmFieWxvbilcbiAgICAgICAgY29uc3QgbWFwcGVkSW1nID1cbiAgICAgICAgICAgIG11bHRpbWVkaWE/LmltYWdlbmVzPy5bMF0gPz9cbiAgICAgICAgICAgIGltYWdlcz8uWzBdID8/XG4gICAgICAgICAgICBpbWc7XG4gICAgICAgIGNvbnN0IG1hcHBlZFNyYyA9XG4gICAgICAgICAgICBtYXBwZWRJbWc/LmltZz8uc3JjID8/XG4gICAgICAgICAgICBtYXBwZWRJbWc/LmltZz8ub3JpZ2luYWwgPz9cbiAgICAgICAgICAgIG1hcHBlZEltZz8uc3JjID8/XG4gICAgICAgICAgICBtYXBwZWRJbWc/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICBtYXBwZWRJbWc/LnBhdGg/LndlYnAgPz9cbiAgICAgICAgICAgIG1hcHBlZEltZz8ucGF0aD8ub3JpZ2luYWw7XG4gICAgICAgIGlmIChtYXBwZWRTcmMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZUltYWdlVXJsKG1hcHBlZFNyYyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JtYXRvIGNydWRvIEFQSTogbXVsdGltZWRpYVswXS5wYXRoLndlYnAvb3JpZ2luYWxcbiAgICAgICAgY29uc3QgcmF3SW1nID1cbiAgICAgICAgICAgIChBcnJheS5pc0FycmF5KG11bHRpbWVkaWEpID8gbXVsdGltZWRpYVswXSA6IHVuZGVmaW5lZCkgPz9cbiAgICAgICAgICAgIChBcnJheS5pc0FycmF5KGltYWdlcykgPyBpbWFnZXNbMF0gOiB1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCByYXdTcmMgPVxuICAgICAgICAgICAgcmF3SW1nPy5wYXRoPy53ZWJwID8/XG4gICAgICAgICAgICByYXdJbWc/LnBhdGg/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICByYXdJbWc/LndlYnAgPz9cbiAgICAgICAgICAgIHJhd0ltZz8ub3JpZ2luYWwgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzEzNjZdPy53ZWJwID8/XG4gICAgICAgICAgICByYXdJbWc/LnRodW1ibmFpbHM/LlsxMjgwXT8ud2VicCA/P1xuICAgICAgICAgICAgcmF3SW1nPy50aHVtYm5haWxzPy5bMTAyNF0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzc2OF0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzU0MF0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzM3NV0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzEzNjZdPy5vcmlnaW5hbCA/P1xuICAgICAgICAgICAgcmF3SW1nPy50aHVtYm5haWxzPy5bMTI4MF0/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICByYXdJbWc/LnRodW1ibmFpbHM/LlsxMDI0XT8ub3JpZ2luYWwgPz9cbiAgICAgICAgICAgIHJhd0ltZz8udGh1bWJuYWlscz8uWzc2OF0/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICByYXdJbWc/LnRodW1ibmFpbHM/Lls1NDBdPy5vcmlnaW5hbCA/P1xuICAgICAgICAgICAgcmF3SW1nPy50aHVtYm5haWxzPy5bMzc1XT8ub3JpZ2luYWw7XG5cbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IHRoaXMubm9ybWFsaXplSW1hZ2VVcmwocmF3U3JjKTtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG4gICAgfVxuXG4gICAgZ2V0SG90ZWxJbWFnZUFsdChob3RlbDogQmFieWxvbkhvdGVsR2xvYmFsSXRlbSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG11bHRpbWVkaWE6IGFueSA9IGhvdGVsLm11bHRpbWVkaWEgYXMgYW55O1xuICAgICAgICBjb25zdCBtYXBwZWRBbHQgPVxuICAgICAgICAgICAgbXVsdGltZWRpYT8uaW1hZ2VuZXM/LlswXT8uaW1nPy5hbHQgPz9cbiAgICAgICAgICAgIChob3RlbCBhcyBhbnkpPy5pbWFnZXM/LlswXT8uaW1nPy5hbHQgPz9cbiAgICAgICAgICAgIChob3RlbCBhcyBhbnkpPy5pbWc/LmFsdDtcbiAgICAgICAgY29uc3QgcmF3QWx0ID1cbiAgICAgICAgICAgIChBcnJheS5pc0FycmF5KG11bHRpbWVkaWEpID8gbXVsdGltZWRpYVswXT8uYWx0IDogdW5kZWZpbmVkKSA/P1xuICAgICAgICAgICAgKEFycmF5LmlzQXJyYXkoKGhvdGVsIGFzIGFueSk/LmltYWdlcylcbiAgICAgICAgICAgICAgICA/IChob3RlbCBhcyBhbnkpLmltYWdlc1swXT8uYWx0XG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgbWFwcGVkQWx0IHx8XG4gICAgICAgICAgICByYXdBbHQgfHxcbiAgICAgICAgICAgIHRoaXMuZ2V0SG90ZWxOYW1lKGhvdGVsKSB8fFxuICAgICAgICAgICAgJ2hvdGVsJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEhvdGVsU3VidGl0bGUoaG90ZWw6IEJhYnlsb25Ib3RlbEdsb2JhbEl0ZW0pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBhZGRpdGlvbmFsMSA9ICgoaG90ZWwgYXMgYW55KT8udGV4dHM/LmFkZGl0aW9uYWwxID8/ICcnKS50cmltKCk7XG4gICAgICAgIGlmIChhZGRpdGlvbmFsMSkgcmV0dXJuIGFkZGl0aW9uYWwxO1xuICAgICAgICByZXR1cm4gaG90ZWwuaG90ZWx0eXBlIHx8IGhvdGVsLmNpdHkgfHwgJyc7XG4gICAgfVxuXG4gICAgZ2V0SG90ZWxDYXRlZ29yeUNvdW50KGhvdGVsOiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFV0aWxzLmV4dHJhY3ROdW1iZXJSYW5nZShob3RlbC5ob3RlbGNhdGVnb3J5ID8/ICcnKT8ubGVuZ3RoID8/IDA7XG4gICAgfVxuXG4gICAgZ2V0U3RhcnMoaG90ZWw6IEJhYnlsb25Ib3RlbEdsb2JhbEl0ZW0pOiBudW1iZXJbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgICAgICAgeyBsZW5ndGg6IHRoaXMuZ2V0SG90ZWxDYXRlZ29yeUNvdW50KGhvdGVsKSB9LFxuICAgICAgICAgICAgKF8sIGluZGV4KSA9PiBpbmRleFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlIb3RlbEJ1dHRvbihob3RlbDogQmFieWxvbkhvdGVsR2xvYmFsSXRlbSk6IEJhYnlsb25CdXR0b25JIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIGhvdGVsLmJ1dHRvbnM/LlswXSA/PyBob3RlbC5saW5rcz8uWzBdO1xuICAgIH1cblxuICAgIGdldFNlY29uZGFyeUhvdGVsQnV0dG9uKGhvdGVsOiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtKTogQmFieWxvbkJ1dHRvbkkgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gaG90ZWwuYnV0dG9ucz8uWzFdID8/IGhvdGVsLmxpbmtzPy5bMV07XG4gICAgfVxuXG4gICAgdHJhY2tHcm91cChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIHRyYWNrSG90ZWwoX2luZGV4OiBudW1iZXIsIGhvdGVsOiBCYWJ5bG9uSG90ZWxHbG9iYWxJdGVtKTogbnVtYmVyIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGhvdGVsLmlkID8/IGhvdGVsLm5hbWUgPz8gX2luZGV4O1xuICAgIH1cblxuICAgIHRyYWNrU3RhcihpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgbm9ybWFsaXplSW1hZ2VVcmwoc3JjPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCFzcmMpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gWWEgZXMgdW5hIFVSTCBhYnNvbHV0YSBvIGVzcGVjaWFsXG4gICAgICAgIGlmICgvXihodHRwcz86KT9cXC9cXC8vaS50ZXN0KHNyYykgfHwgL14oZGF0YXxibG9iKTovaS50ZXN0KHNyYykpIHtcbiAgICAgICAgICAgIHJldHVybiBzcmM7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGVhblNyYyA9IHNyYy5yZXBsYWNlKC9eXFwvKy8sICcnKTtcbiAgICAgICAgY29uc3QgY2RuQmFzZSA9ICh0aGlzLnNpdGVTdmM/LmNkbkltYWdlc0luc3RhbnQgPz8gJycpLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmICghY2RuQmFzZSkgcmV0dXJuIHNyYztcblxuICAgICAgICBjb25zdCBjbGVhbkJhc2UgPSBjZG5CYXNlLmVuZHNXaXRoKCcvJykgPyBjZG5CYXNlIDogYCR7Y2RuQmFzZX0vYDtcbiAgICAgICAgcmV0dXJuIGAke2NsZWFuQmFzZX0ke2NsZWFuU3JjfWA7XG4gICAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtZGwtTGlzQzFJbWdUeHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWRsLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1oZWFkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgQGlmICh0ZXh0cz8ucHJldGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdGV4dHM/LnByZXRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKHRleHRzPy50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0cz8udGl0bGUgfX1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAodGV4dHM/LmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tcmlnaHRcIiBbaW5uZXJIVE1MXT1cInRleHRzPy5kZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1jb250ZW50XCI+XG4gICAgICAgICAgICBAZm9yIChncm91cCBvZiBkcm9wZG93bkdyb3VwczsgdHJhY2sgdHJhY2tHcm91cCgkaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdtLW9wZW4nOiBpc0dyb3VwT3BlbigkaW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ20tY2xvc2UnOiAhaXNHcm91cE9wZW4oJGluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tYnV0dG9uRFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNHcm91cE9wZW4oJGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlR3JvdXAoJGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLXRpdHVsb1wiPnt7IGdyb3VwLmxhYmVsIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIzMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMzJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMzIgMzJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MT1cIjAuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkxPVwiMTUuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyPVwiMzEuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkyPVwiMTUuNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzOTM2MzdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgxPVwiMTYuNTExN1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkxPVwiMC41XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDI9XCIxNi41MTE3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeTI9XCIzMS41XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM5MzYzN1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWxpc3RhZG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJpc0dyb3VwT3BlbigkaW5kZXgpID8gJ2F1dG8nIDogJzBweCdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChob3RlbCBvZiBncm91cC5ob3RlbHM7IHRyYWNrIHRyYWNrSG90ZWwoJGluZGV4LCBob3RlbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1pdGVtLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChnZXRIb3RlbEltYWdlKGhvdGVsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChnZXRQcmltYXJ5SG90ZWxCdXR0b24oaG90ZWwpOyBhcyBpbWFnZUJ0bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1pbWFnZW4tbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImltYWdlQnRuLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJpbWFnZUJ0bi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJpbWFnZUJ0bi50YXJnZXQgfHwgJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbWFnZUJ0bi50YXJnZXQgfHwgJ19zZWxmJykgPT09ICdfYmxhbmsnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWltYWdlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZ2V0SG90ZWxJbWFnZShob3RlbClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiZ2V0SG90ZWxJbWFnZUFsdChob3RlbClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWltYWdlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImdldEhvdGVsSW1hZ2UoaG90ZWwpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiZ2V0SG90ZWxJbWFnZUFsdChob3RlbClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChnZXRIb3RlbE5hbWUoaG90ZWwpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS10aXR1bG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRIb3RlbE5hbWUoaG90ZWwpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZ2V0SG90ZWxTdWJ0aXRsZShob3RlbCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLXN1YnRpdHVsb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEhvdGVsU3VidGl0bGUoaG90ZWwpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZ2V0SG90ZWxDYXRlZ29yeUNvdW50KGhvdGVsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tc3RhcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChzdGFyIG9mIGdldFN0YXJzKGhvdGVsKTsgdHJhY2sgdHJhY2tTdGFyKCRpbmRleCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDExXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNiAwTDcuNDE2IDQuMkgxMkw4LjI5MiA2LjhMOS43MDggMTFMNiA4LjRMMi4yOTIgMTFMMy43MDggNi44TDAgNC4ySDQuNTg0TDYgMFpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMzkzNjM3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChnZXRQcmltYXJ5SG90ZWxCdXR0b24oaG90ZWwpOyBhcyBwcmltYXJ5QnRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWJ1dHRvbjFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJwcmltYXJ5QnRuLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJwcmltYXJ5QnRuLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cInByaW1hcnlCdG4udGFyZ2V0IHx8ICdfc2VsZidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJpbWFyeUJ0bi50YXJnZXQgfHwgJ19zZWxmJykgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2JsYW5rJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBwcmltYXJ5QnRuLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGdldFNlY29uZGFyeUhvdGVsQnV0dG9uKGhvdGVsKTsgYXMgc2Vjb25kYXJ5QnRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWJ1dHRvbjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJzZWNvbmRhcnlCdG4udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cInNlY29uZGFyeUJ0bi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJzZWNvbmRhcnlCdG4udGFyZ2V0IHx8ICdfc2VsZidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2Vjb25kYXJ5QnRuLnRhcmdldCB8fCAnX3NlbGYnKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfYmxhbmsnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlY29uZGFyeUJ0bi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb290XCI+XG4gICAgICAgICAgICBAaWYgKHRleHRzPy5hZGRpdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tdGV4dG9cIj57eyB0ZXh0cz8uYWRkaXRpb25hbCB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChidXR0b25zPy5bMF07IGFzIGN0YUJ0bikge1xuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1idXR0b25mb290XCJcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiY3RhQnRuLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJjdGFCdG4ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwiY3RhQnRuLnRhcmdldCB8fCAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIucmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGN0YUJ0bi50YXJnZXQgfHwgJ19zZWxmJykgPT09ICdfYmxhbmsnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGN0YUJ0bi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
@@ -104,7 +104,8 @@ export class SliC2ImgTxtComponent {
104
104
  this.sliderInitialized = false;
105
105
  }
106
106
  resolveSideImage(multimedia) {
107
- const image = multimedia?.imagen?.[0] ?? multimedia?.imagenes?.[0];
107
+ // SOLO multimedia.imagen
108
+ const image = this.extractFirstImage(multimedia?.imagen);
108
109
  const src = this.resolveImageSrc(image);
109
110
  if (!src) {
110
111
  return undefined;
@@ -114,11 +115,29 @@ export class SliC2ImgTxtComponent {
114
115
  alt: image?.img?.alt ?? image?.alt ?? ''
115
116
  };
116
117
  }
118
+ extractFirstImage(value) {
119
+ if (Array.isArray(value)) {
120
+ return value[0];
121
+ }
122
+ if (value && typeof value === 'object') {
123
+ const candidate = value;
124
+ if ('path' in candidate || 'img' in candidate || 'thumbnails' in candidate) {
125
+ return value;
126
+ }
127
+ const indexed = candidate['0'];
128
+ if (indexed && typeof indexed === 'object') {
129
+ return indexed;
130
+ }
131
+ }
132
+ return undefined;
133
+ }
117
134
  resolveSlides(multimedia) {
135
+ // SOLO multimedia.imagenes
118
136
  const multimediaSlides = this.mapImagesToSlides(multimedia?.imagenes);
119
137
  if (multimediaSlides.length > 0) {
120
138
  return multimediaSlides;
121
139
  }
140
+ // si NO quieres que caiga a items, borra todo lo de aquí abajo
122
141
  const itemsSource = this.items ?? this.props?.items;
123
142
  return itemsSource
124
143
  ?.map((item) => {
@@ -127,7 +146,11 @@ export class SliC2ImgTxtComponent {
127
146
  if (!src) {
128
147
  return undefined;
129
148
  }
130
- const title = image?.title?.trim() || item?.texts?.title?.trim() || item?.title?.trim() || item?.label?.trim() || undefined;
149
+ const title = image?.title?.trim() ||
150
+ item?.texts?.title?.trim() ||
151
+ item?.title?.trim() ||
152
+ item?.label?.trim() ||
153
+ undefined;
131
154
  const action = this.extractAction(item?.buttons ?? image?.buttons) ?? {
132
155
  label: title ?? '',
133
156
  href: '#',
@@ -262,4 +285,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
262
285
  type: ViewChild,
263
286
  args: ['sliderPagination', { static: false }]
264
287
  }] } });
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpLWMyLWltZy10eHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvZXh0ZXJuYWwvY29yZS9zbGktYzItaW1nLXR4dC9zbGktYzItaW1nLXR4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL3NsaS1jMi1pbWctdHh0L3NsaS1jMi1pbWctdHh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBRUwsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBS0wsV0FBVyxFQUVYLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBQzdILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOztBQW1CaEcsTUFBTSxPQUFPLG9CQUFvQjtJQTJCL0IsWUFBNkIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUExQjFCLGVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBaUJ6QixjQUFTLEdBQXlCO1lBQ3pDLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsWUFBWSxFQUFFLFNBQVM7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RSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBQTEFURk9STV9JRCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBTd2lwZXIgZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IEF1dG9wbGF5LCBQYWdpbmF0aW9uIH0gZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IEJhYnlsb25Td2lwZXJDc3NMb2FkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL2JhYnlsb24tc2xpZGVycy9iYWJ5bG9uLXN3aXBlci1jc3MtbG9hZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL2xpbmstdHlwZS9saW5rLXR5cGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhYnlsb25CdXR0b25JLCBCYWJ5bG9uSXRlbUksIEJhYnlsb25UZXh0SW5mb0kgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIFNsaUMySW1nVHh0QWN0aW9uLFxuICBTbGlDMkltZ1R4dEJ1dHRvbixcbiAgU2xpQzJJbWdUeHRJbWFnZSxcbiAgU2xpQzJJbWdUeHRNdWx0aW1lZGlhLFxuICBTbGlDMkltZ1R4dFNsaWRlLFxuICBTbGlDMkltZ1R4dFZpZXdNb2RlbFxufSBmcm9tICcuL3NsaS1jMi1pbWctdHh0LmludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbGktYzItaW1nLXR4dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJhYnlsb25Td2lwZXJDc3NMb2FkZXJEaXJlY3RpdmUsIEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGktYzItaW1nLXR4dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zbGktYzItaW1nLXR4dC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIFNsaUMySW1nVHh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgc2xpZGVySW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBzd2lwZXJJbnN0YW5jZT86IFN3aXBlcjtcblxuICBASW5wdXQoKSB0ZXh0cz86IEJhYnlsb25UZXh0SW5mb0k7XG4gIEBJbnB1dCgpIGJ1dHRvbnM/OiBCYWJ5bG9uQnV0dG9uSVtdO1xuICBASW5wdXQoKSBtdWx0aW1lZGlhPzogU2xpQzJJbWdUeHRNdWx0aW1lZGlhO1xuICBASW5wdXQoKSBpdGVtcz86IEJhYnlsb25JdGVtSVtdO1xuICBASW5wdXQoKSBwcm9wcz86IHtcbiAgICB0ZXh0cz86IEJhYnlsb25UZXh0SW5mb0k7XG4gICAgYnV0dG9ucz86IEJhYnlsb25CdXR0b25JW107XG4gICAgbXVsdGltZWRpYT86IFNsaUMySW1nVHh0TXVsdGltZWRpYTtcbiAgICBpdGVtcz86IEJhYnlsb25JdGVtSVtdO1xuICB9O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlY3Rpb25TbGlkZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgc2VjdGlvblNsaWRlcj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdzbGlkZXJQYWdpbmF0aW9uJywgeyBzdGF0aWM6IGZhbHNlIH0pIHNsaWRlclBhZ2luYXRpb24/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICByZWFkb25seSB2aWV3TW9kZWw6IFNsaUMySW1nVHh0Vmlld01vZGVsID0ge1xuICAgIHByZXRpdGxlOiB1bmRlZmluZWQsXG4gICAgc2lkZUltYWdlOiB1bmRlZmluZWQsXG4gICAgc2xpZGVzOiBbXSxcbiAgICBmb290ZXJBY3Rpb246IHVuZGVmaW5lZCxcbiAgICBoYXNTbGlkZXM6IGZhbHNlXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICBnZXQgdm0oKTogU2xpQzJJbWdUeHRWaWV3TW9kZWwge1xuICAgIHJldHVybiB0aGlzLnZpZXdNb2RlbDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVidWlsZFZpZXdNb2RlbCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdFNsaWRlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghY2hhbmdlc1sndGV4dHMnXSAmJiAhY2hhbmdlc1snYnV0dG9ucyddICYmICFjaGFuZ2VzWydtdWx0aW1lZGlhJ10gJiYgIWNoYW5nZXNbJ2l0ZW1zJ10gJiYgIWNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlYnVpbGRWaWV3TW9kZWwoKTtcblxuICAgIGlmICghdGhpcy5zbGlkZXJJbml0aWFsaXplZCB8fCAhaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGVzdHJveVNsaWRlcigpO1xuICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMuaW5pdFNsaWRlcigpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveVNsaWRlcigpO1xuICB9XG5cbiAgdHJhY2tTbGlkZShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwcml2YXRlIHJlYnVpbGRWaWV3TW9kZWwoKTogdm9pZCB7XG4gICAgY29uc3QgdGV4dHMgPSB0aGlzLnRleHRzID8/IHRoaXMucHJvcHM/LnRleHRzO1xuICAgIGNvbnN0IG11bHRpbWVkaWEgPSB0aGlzLm11bHRpbWVkaWEgPz8gdGhpcy5wcm9wcz8ubXVsdGltZWRpYTtcblxuICAgIHRoaXMudmlld01vZGVsLnByZXRpdGxlID0gdGV4dHM/LnByZXRpdGxlPy50cmltKCkgfHwgdGV4dHM/LnRpdGxlPy50cmltKCkgfHwgdW5kZWZpbmVkO1xuICAgIHRoaXMudmlld01vZGVsLnNpZGVJbWFnZSA9IHRoaXMucmVzb2x2ZVNpZGVJbWFnZShtdWx0aW1lZGlhKTtcbiAgICB0aGlzLnZpZXdNb2RlbC5zbGlkZXMgPSB0aGlzLnJlc29sdmVTbGlkZXMobXVsdGltZWRpYSk7XG4gICAgdGhpcy52aWV3TW9kZWwuZm9vdGVyQWN0aW9uID0gdGhpcy5leHRyYWN0QWN0aW9uKHRoaXMucmVzb2x2ZUJ1dHRvbnNTb3VyY2UoKSk7XG4gICAgdGhpcy52aWV3TW9kZWwuaGFzU2xpZGVzID0gdGhpcy52aWV3TW9kZWwuc2xpZGVzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwcml2YXRlIGluaXRTbGlkZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2xpZGVySW5pdGlhbGl6ZWQgfHwgIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHwgIXRoaXMuc2VjdGlvblNsaWRlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNsaWRlcyA9IHRoaXMudmlld01vZGVsLnNsaWRlcztcbiAgICBpZiAoIXNsaWRlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnN3aXBlckluc3RhbmNlID0gbmV3IFN3aXBlcih0aGlzLnNlY3Rpb25TbGlkZXIhLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgbW9kdWxlczogW0F1dG9wbGF5LCBQYWdpbmF0aW9uXSxcbiAgICAgICAgbG9vcDogZmFsc2UsXG4gICAgICAgIHNsaWRlc1BlclZpZXc6IDEsXG4gICAgICAgIHNwYWNlQmV0d2VlbjogMjAsXG4gICAgICAgIHNwZWVkOiA2MDAsXG4gICAgICAgIGF1dG9wbGF5OlxuICAgICAgICAgIHNsaWRlcy5sZW5ndGggPiAxXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBkZWxheTogMzAwMCxcbiAgICAgICAgICAgICAgICBkaXNhYmxlT25JbnRlcmFjdGlvbjogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiBmYWxzZSxcbiAgICAgICAgcGFnaW5hdGlvbjpcbiAgICAgICAgICBzbGlkZXMubGVuZ3RoID4gMSAmJiB0aGlzLnNsaWRlclBhZ2luYXRpb25cbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIGVsOiB0aGlzLnNsaWRlclBhZ2luYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBjbGlja2FibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1bGxldHMnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogZmFsc2UsXG4gICAgICAgIGJyZWFrcG9pbnRzOiB7XG4gICAgICAgICAgNjAwOiB7XG4gICAgICAgICAgICBzbGlkZXNQZXJWaWV3OiAzLFxuICAgICAgICAgICAgc3BhY2VCZXR3ZWVuOiAyNVxuICAgICAgICAgIH0sXG4gICAgICAgICAgMTEyNDoge1xuICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogMyxcbiAgICAgICAgICAgIHNwYWNlQmV0d2VlbjogNTVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNsaWRlckluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveVNsaWRlcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2xpZGVySW5pdGlhbGl6ZWQgfHwgIXRoaXMuc3dpcGVySW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN3aXBlckluc3RhbmNlLmRlc3Ryb3kodHJ1ZSwgdHJ1ZSk7XG4gICAgdGhpcy5zd2lwZXJJbnN0YW5jZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNsaWRlckluaXRpYWxpemVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVTaWRlSW1hZ2UobXVsdGltZWRpYT86IFNsaUMySW1nVHh0TXVsdGltZWRpYSk6IHsgc3JjOiBzdHJpbmc7IGFsdDogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGltYWdlID0gbXVsdGltZWRpYT8uaW1hZ2VuPy5bMF0gPz8gbXVsdGltZWRpYT8uaW1hZ2VuZXM/LlswXTtcbiAgICBjb25zdCBzcmMgPSB0aGlzLnJlc29sdmVJbWFnZVNyYyhpbWFnZSk7XG5cbiAgICBpZiAoIXNyYykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3JjLFxuICAgICAgYWx0OiBpbWFnZT8uaW1nPy5hbHQgPz8gaW1hZ2U/LmFsdCA/PyAnJ1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVTbGlkZXMobXVsdGltZWRpYT86IFNsaUMySW1nVHh0TXVsdGltZWRpYSk6IFNsaUMySW1nVHh0U2xpZGVbXSB7XG4gICAgY29uc3QgbXVsdGltZWRpYVNsaWRlcyA9IHRoaXMubWFwSW1hZ2VzVG9TbGlkZXMobXVsdGltZWRpYT8uaW1hZ2VuZXMpO1xuICAgIGlmIChtdWx0aW1lZGlhU2xpZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBtdWx0aW1lZGlhU2xpZGVzO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zU291cmNlID0gdGhpcy5pdGVtcyA/PyB0aGlzLnByb3BzPy5pdGVtcztcbiAgICByZXR1cm4gKFxuICAgICAgaXRlbXNTb3VyY2VcbiAgICAgICAgPy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICBjb25zdCBpbWFnZSA9IChpdGVtPy5tdWx0aW1lZGlhIGFzIFNsaUMySW1nVHh0TXVsdGltZWRpYSB8IHVuZGVmaW5lZCk/LmltYWdlbmVzPy5bMF0gYXMgU2xpQzJJbWdUeHRJbWFnZSB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBjb25zdCBzcmMgPSB0aGlzLnJlc29sdmVJbWFnZVNyYyhpbWFnZSk7XG4gICAgICAgICAgaWYgKCFzcmMpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgdGl0bGUgPSBpbWFnZT8udGl0bGU/LnRyaW0oKSB8fCBpdGVtPy50ZXh0cz8udGl0bGU/LnRyaW0oKSB8fCBpdGVtPy50aXRsZT8udHJpbSgpIHx8IGl0ZW0/LmxhYmVsPy50cmltKCkgfHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuZXh0cmFjdEFjdGlvbihpdGVtPy5idXR0b25zID8/IGltYWdlPy5idXR0b25zKSA/PyB7XG4gICAgICAgICAgICBsYWJlbDogdGl0bGUgPz8gJycsXG4gICAgICAgICAgICBocmVmOiAnIycsXG4gICAgICAgICAgICBsaW5rVHlwZTogJ2V4dGVybmFsX2xpbmsnLFxuICAgICAgICAgICAgdGFyZ2V0OiAnX3NlbGYnXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzcmMsXG4gICAgICAgICAgICBhbHQ6IGltYWdlPy5pbWc/LmFsdCA/PyBpbWFnZT8uYWx0ID8/IHRpdGxlID8/ICcnLFxuICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICBhY3Rpb25cbiAgICAgICAgICB9IGFzIFNsaUMySW1nVHh0U2xpZGU7XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbikgYXMgU2xpQzJJbWdUeHRTbGlkZVtdXG4gICAgKSA/PyBbXTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwSW1hZ2VzVG9TbGlkZXMoaW1hZ2VzPzogU2xpQzJJbWdUeHRJbWFnZVtdKTogU2xpQzJJbWdUeHRTbGlkZVtdIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoaW1hZ2VzKSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBpbWFnZXMucmVkdWNlPFNsaUMySW1nVHh0U2xpZGVbXT4oKGFjYywgaW1hZ2UpID0+IHtcbiAgICAgIGlmIChpbWFnZT8uYWN0aXZlID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzcmMgPSB0aGlzLnJlc29sdmVJbWFnZVNyYyhpbWFnZSk7XG4gICAgICBpZiAoIXNyYykge1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0aXRsZSA9IGltYWdlPy50aXRsZT8udHJpbSgpIHx8IGltYWdlPy5uZF90aXRsZT8udHJpbSgpIHx8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuZXh0cmFjdEFjdGlvbihpbWFnZT8uYnV0dG9ucykgPz8ge1xuICAgICAgICBsYWJlbDogdGl0bGUgPz8gJycsXG4gICAgICAgIGhyZWY6ICcjJyxcbiAgICAgICAgbGlua1R5cGU6ICdleHRlcm5hbF9saW5rJyxcbiAgICAgICAgdGFyZ2V0OiAnX3NlbGYnXG4gICAgICB9O1xuXG4gICAgICBhY2MucHVzaCh7XG4gICAgICAgIHNyYyxcbiAgICAgICAgYWx0OiBpbWFnZT8uaW1nPy5hbHQgPz8gaW1hZ2U/LmFsdCA/PyB0aXRsZSA/PyAnJyxcbiAgICAgICAgdGl0bGUsXG4gICAgICAgIGFjdGlvblxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlQnV0dG9uc1NvdXJjZSgpOiBCYWJ5bG9uQnV0dG9uSVtdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmJ1dHRvbnMpICYmIHRoaXMuYnV0dG9ucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ1dHRvbnM7XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5wcm9wcz8uYnV0dG9ucykgJiYgdGhpcy5wcm9wcz8uYnV0dG9ucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzPy5idXR0b25zO1xuICAgIH1cblxuICAgIGNvbnN0IG11bHRpbWVkaWFCdXR0b25zID0gdGhpcy5tdWx0aW1lZGlhPy5pbWFnZW5lcz8uZmluZCgoaW1hZ2UpID0+IGltYWdlPy5idXR0b25zPy5sZW5ndGgpPy5idXR0b25zO1xuICAgIGlmIChBcnJheS5pc0FycmF5KG11bHRpbWVkaWFCdXR0b25zKSAmJiBtdWx0aW1lZGlhQnV0dG9ucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBtdWx0aW1lZGlhQnV0dG9ucyBhcyBCYWJ5bG9uQnV0dG9uSVtdO1xuICAgIH1cblxuICAgIGNvbnN0IHByb3BzTXVsdGltZWRpYUJ1dHRvbnMgPSB0aGlzLnByb3BzPy5tdWx0aW1lZGlhPy5pbWFnZW5lcz8uZmluZCgoaW1hZ2UpID0+IGltYWdlPy5idXR0b25zPy5sZW5ndGgpPy5idXR0b25zO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BzTXVsdGltZWRpYUJ1dHRvbnMpICYmIHByb3BzTXVsdGltZWRpYUJ1dHRvbnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gcHJvcHNNdWx0aW1lZGlhQnV0dG9ucyBhcyBCYWJ5bG9uQnV0dG9uSVtdO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zU291cmNlID0gdGhpcy5pdGVtcyA/PyB0aGlzLnByb3BzPy5pdGVtcztcbiAgICBjb25zdCBpdGVtQnV0dG9ucyA9IGl0ZW1zU291cmNlPy5maW5kKChpdGVtKSA9PiBpdGVtPy5idXR0b25zPy5sZW5ndGgpPy5idXR0b25zO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW1CdXR0b25zKSAmJiBpdGVtQnV0dG9ucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBpdGVtQnV0dG9ucztcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0QWN0aW9uKGJ1dHRvbnM/OiBBcnJheTxTbGlDMkltZ1R4dEJ1dHRvbiB8IEJhYnlsb25CdXR0b25JPik6IFNsaUMySW1nVHh0QWN0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYnV0dG9ucykgfHwgYnV0dG9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgYnV0dG9uID0gYnV0dG9uc1swXSBhcyBTbGlDMkltZ1R4dEJ1dHRvbjtcblxuICAgIHJldHVybiB7XG4gICAgICBsYWJlbDogYnV0dG9uPy5sYWJlbD8udHJpbSgpID8/ICcnLFxuICAgICAgaHJlZjogdGhpcy5nZXRGaXJzdE5vbkVtcHR5TGluayhidXR0b24/LnVybCwgYnV0dG9uPy5saW5rX3ZhbHVlLCBidXR0b24/LmxpbmtWYWx1ZSkgPz8gJyMnLFxuICAgICAgbGlua1R5cGU6IGJ1dHRvbj8ubGlua1R5cGUgPz8gYnV0dG9uPy5saW5rX3R5cGUgPz8gJ2V4dGVybmFsX2xpbmsnLFxuICAgICAgdGFyZ2V0OiBidXR0b24/LnRhcmdldCA/PyAnX3NlbGYnXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUltYWdlU3JjKGltYWdlPzogU2xpQzJJbWdUeHRJbWFnZSk6IHN0cmluZyB7XG4gICAgY29uc3QgcmF3U3JjID1cbiAgICAgIGltYWdlPy5pbWc/LnNyYyA/P1xuICAgICAgaW1hZ2U/LnNyYyA/P1xuICAgICAgaW1hZ2U/LnBhdGg/LndlYnAgPz9cbiAgICAgIGltYWdlPy5wYXRoPy5vcmlnaW5hbCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/LlsxMzY2XT8ud2VicCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/LlsxMjgwXT8ud2VicCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/LlsxMDI0XT8ud2VicCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/Lls3NjhdPy53ZWJwID8/XG4gICAgICBpbWFnZT8udGh1bWJuYWlscz8uWzU0MF0/LndlYnAgPz9cbiAgICAgIGltYWdlPy50aHVtYm5haWxzPy5bMzc1XT8ud2VicCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/LlsxMzY2XT8ub3JpZ2luYWwgPz9cbiAgICAgIGltYWdlPy50aHVtYm5haWxzPy5bMTI4MF0/Lm9yaWdpbmFsID8/XG4gICAgICBpbWFnZT8udGh1bWJuYWlscz8uWzEwMjRdPy5vcmlnaW5hbCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/Lls3NjhdPy5vcmlnaW5hbCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/Lls1NDBdPy5vcmlnaW5hbCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/LlszNzVdPy5vcmlnaW5hbCA/P1xuICAgICAgJyc7XG5cbiAgICBpZiAoIXJhd1NyYyB8fCB0eXBlb2YgcmF3U3JjICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHJhd1NyYy5zdGFydHNXaXRoKCdodHRwOi8vJykgfHxcbiAgICAgIHJhd1NyYy5zdGFydHNXaXRoKCdodHRwczovLycpIHx8XG4gICAgICByYXdTcmMuc3RhcnRzV2l0aCgnLy8nKSB8fFxuICAgICAgcmF3U3JjLnN0YXJ0c1dpdGgoJ2RhdGE6JykgfHxcbiAgICAgIHJhd1NyYy5zdGFydHNXaXRoKCdibG9iOicpIHx8XG4gICAgICByYXdTcmMuc3RhcnRzV2l0aCgnLycpXG4gICAgKSB7XG4gICAgICByZXR1cm4gcmF3U3JjO1xuICAgIH1cblxuICAgIHJldHVybiBgLyR7cmF3U3JjfWA7XG4gIH1cblxuICBwcml2YXRlIGdldEZpcnN0Tm9uRW1wdHlMaW5rKC4uLmNhbmRpZGF0ZXM6IEFycmF5PHN0cmluZyB8IHVuZGVmaW5lZD4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBjYW5kaWRhdGVzLmZpbmQoKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnRyaW0oKS5sZW5ndGggPiAwKT8udHJpbSgpO1xuICB9XG59XG4iLCJAaWYgKHZtLmhhc1NsaWRlcykge1xuICA8c2VjdGlvbiBjbGFzcz1cIm1kbC1TbGlDMkltZ1R4dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtZGwtY29udGFpbmVyXCI+XG4gICAgICBAaWYgKHZtLnNpZGVJbWFnZTsgYXMgc2lkZUltYWdlKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWxlZnRcIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwic2lkZUltYWdlLnNyY1wiIFthbHRdPVwic2lkZUltYWdlLmFsdFwiIGxvYWRpbmc9XCJsYXp5XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLXJpZ2h0XCIgW2NsYXNzLm0tcmlnaHQtZnVsbF09XCIhdm0uc2lkZUltYWdlXCI+XG4gICAgICAgIEBpZiAodm0ucHJldGl0bGUpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS10aXR1bG9cIiBbaW5uZXJIVE1MXT1cInZtLnByZXRpdGxlXCI+PC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyXCIgI3NlY3Rpb25TbGlkZXIgYmFieWxvblN3aXBlckNzc0xvYWRlcj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIEBmb3IgKHNsaWRlIG9mIHZtLnNsaWRlczsgdHJhY2sgdHJhY2tTbGlkZSgkaW5kZXgpKSB7XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzd2lwZXItc2xpZGVcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cInNsaWRlLmFjdGlvbi5ocmVmXCJcbiAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwic2xpZGUuYWN0aW9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwic2xpZGUuYWN0aW9uLnRhcmdldFwiXG4gICAgICAgICAgICAgICAgW2F0dHIucmVsXT1cInNsaWRlLmFjdGlvbi50YXJnZXQgPT09ICdfYmxhbmsnID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzbGlkZS5hY3Rpb24ubGFiZWwgfHwgc2xpZGUudGl0bGUgfHwgbnVsbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1pbWFnZW5cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJzbGlkZS5zcmNcIiBbYWx0XT1cInNsaWRlLmFsdFwiIGxvYWRpbmc9XCJsYXp5XCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBAaWYgKHNsaWRlLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS10aXR1bG9cIj57eyBzbGlkZS50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgQGlmICh2bS5zbGlkZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1wYWdpbmF0aW9uXCIgI3NsaWRlclBhZ2luYXRpb24+PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKHZtLmZvb3RlckFjdGlvbjsgYXMgYWN0aW9uKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnV0dG9uc1wiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3M9XCJtLWJ1dHRvbkRcIlxuICAgICAgICAgICAgICBbaHJlZl09XCJhY3Rpb24uaHJlZlwiXG4gICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJhY3Rpb24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwiYWN0aW9uLnRhcmdldFwiXG4gICAgICAgICAgICAgIFthdHRyLnJlbF09XCJhY3Rpb24udGFyZ2V0ID09PSAnX2JsYW5rJyA/ICdub29wZW5lciBub3JlZmVycmVyJyA6IG51bGxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBhY3Rpb24ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbn1cbiJdfQ==
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpLWMyLWltZy10eHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvZXh0ZXJuYWwvY29yZS9zbGktYzItaW1nLXR4dC9zbGktYzItaW1nLXR4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL3NsaS1jMi1pbWctdHh0L3NsaS1jMi1pbWctdHh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBRUwsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBS0wsV0FBVyxFQUVYLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBQzdILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOztBQW1CaEcsTUFBTSxPQUFPLG9CQUFvQjtJQTJCL0IsWUFBNkIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUExQjFCLGVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBaUJ6QixjQUFTLEdBQXlCO1lBQ3pDLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsWUFBWSxFQUFFLFNBQVM7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LENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsRyxDQUFDOytHQXpVVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixnYUN0Q2pDLDI5REF5REEsdXVQRHhCWSxZQUFZLCtCQUFFLCtCQUErQixxRUFBRSx3QkFBd0I7OzRGQUt0RSxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLCtCQUErQixFQUFFLHdCQUF3QixDQUFDLGlCQUduRSxpQkFBaUIsQ0FBQyxRQUFROzJFQU9oQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFPeUMsYUFBYTtzQkFBM0QsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNLLGdCQUFnQjtzQkFBakUsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBQTEFURk9STV9JRCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBTd2lwZXIgZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IEF1dG9wbGF5LCBQYWdpbmF0aW9uIH0gZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IEJhYnlsb25Td2lwZXJDc3NMb2FkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL2JhYnlsb24tc2xpZGVycy9iYWJ5bG9uLXN3aXBlci1jc3MtbG9hZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL2xpbmstdHlwZS9saW5rLXR5cGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhYnlsb25CdXR0b25JLCBCYWJ5bG9uSXRlbUksIEJhYnlsb25UZXh0SW5mb0kgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIFNsaUMySW1nVHh0QWN0aW9uLFxuICBTbGlDMkltZ1R4dEJ1dHRvbixcbiAgU2xpQzJJbWdUeHRJbWFnZSxcbiAgU2xpQzJJbWdUeHRNdWx0aW1lZGlhLFxuICBTbGlDMkltZ1R4dFNsaWRlLFxuICBTbGlDMkltZ1R4dFZpZXdNb2RlbFxufSBmcm9tICcuL3NsaS1jMi1pbWctdHh0LmludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbGktYzItaW1nLXR4dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJhYnlsb25Td2lwZXJDc3NMb2FkZXJEaXJlY3RpdmUsIEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGktYzItaW1nLXR4dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zbGktYzItaW1nLXR4dC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIFNsaUMySW1nVHh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByaXZhdGUgc2xpZGVySW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBzd2lwZXJJbnN0YW5jZT86IFN3aXBlcjtcblxuICBASW5wdXQoKSB0ZXh0cz86IEJhYnlsb25UZXh0SW5mb0k7XG4gIEBJbnB1dCgpIGJ1dHRvbnM/OiBCYWJ5bG9uQnV0dG9uSVtdO1xuICBASW5wdXQoKSBtdWx0aW1lZGlhPzogU2xpQzJJbWdUeHRNdWx0aW1lZGlhO1xuICBASW5wdXQoKSBpdGVtcz86IEJhYnlsb25JdGVtSVtdO1xuICBASW5wdXQoKSBwcm9wcz86IHtcbiAgICB0ZXh0cz86IEJhYnlsb25UZXh0SW5mb0k7XG4gICAgYnV0dG9ucz86IEJhYnlsb25CdXR0b25JW107XG4gICAgbXVsdGltZWRpYT86IFNsaUMySW1nVHh0TXVsdGltZWRpYTtcbiAgICBpdGVtcz86IEJhYnlsb25JdGVtSVtdO1xuICB9O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlY3Rpb25TbGlkZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgc2VjdGlvblNsaWRlcj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdzbGlkZXJQYWdpbmF0aW9uJywgeyBzdGF0aWM6IGZhbHNlIH0pIHNsaWRlclBhZ2luYXRpb24/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICByZWFkb25seSB2aWV3TW9kZWw6IFNsaUMySW1nVHh0Vmlld01vZGVsID0ge1xuICAgIHByZXRpdGxlOiB1bmRlZmluZWQsXG4gICAgc2lkZUltYWdlOiB1bmRlZmluZWQsXG4gICAgc2xpZGVzOiBbXSxcbiAgICBmb290ZXJBY3Rpb246IHVuZGVmaW5lZCxcbiAgICBoYXNTbGlkZXM6IGZhbHNlXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICBnZXQgdm0oKTogU2xpQzJJbWdUeHRWaWV3TW9kZWwge1xuICAgIHJldHVybiB0aGlzLnZpZXdNb2RlbDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVidWlsZFZpZXdNb2RlbCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdFNsaWRlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghY2hhbmdlc1sndGV4dHMnXSAmJiAhY2hhbmdlc1snYnV0dG9ucyddICYmICFjaGFuZ2VzWydtdWx0aW1lZGlhJ10gJiYgIWNoYW5nZXNbJ2l0ZW1zJ10gJiYgIWNoYW5nZXNbJ3Byb3BzJ10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlYnVpbGRWaWV3TW9kZWwoKTtcblxuICAgIGlmICghdGhpcy5zbGlkZXJJbml0aWFsaXplZCB8fCAhaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGVzdHJveVNsaWRlcigpO1xuICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMuaW5pdFNsaWRlcigpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveVNsaWRlcigpO1xuICB9XG5cbiAgdHJhY2tTbGlkZShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwcml2YXRlIHJlYnVpbGRWaWV3TW9kZWwoKTogdm9pZCB7XG4gICAgY29uc3QgdGV4dHMgPSB0aGlzLnRleHRzID8/IHRoaXMucHJvcHM/LnRleHRzO1xuICAgIGNvbnN0IG11bHRpbWVkaWEgPSB0aGlzLm11bHRpbWVkaWEgPz8gdGhpcy5wcm9wcz8ubXVsdGltZWRpYTtcblxuICAgIHRoaXMudmlld01vZGVsLnByZXRpdGxlID0gdGV4dHM/LnByZXRpdGxlPy50cmltKCkgfHwgdGV4dHM/LnRpdGxlPy50cmltKCkgfHwgdW5kZWZpbmVkO1xuICAgIHRoaXMudmlld01vZGVsLnNpZGVJbWFnZSA9IHRoaXMucmVzb2x2ZVNpZGVJbWFnZShtdWx0aW1lZGlhKTtcbiAgICB0aGlzLnZpZXdNb2RlbC5zbGlkZXMgPSB0aGlzLnJlc29sdmVTbGlkZXMobXVsdGltZWRpYSk7XG4gICAgdGhpcy52aWV3TW9kZWwuZm9vdGVyQWN0aW9uID0gdGhpcy5leHRyYWN0QWN0aW9uKHRoaXMucmVzb2x2ZUJ1dHRvbnNTb3VyY2UoKSk7XG4gICAgdGhpcy52aWV3TW9kZWwuaGFzU2xpZGVzID0gdGhpcy52aWV3TW9kZWwuc2xpZGVzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwcml2YXRlIGluaXRTbGlkZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2xpZGVySW5pdGlhbGl6ZWQgfHwgIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHwgIXRoaXMuc2VjdGlvblNsaWRlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNsaWRlcyA9IHRoaXMudmlld01vZGVsLnNsaWRlcztcbiAgICBpZiAoIXNsaWRlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLnN3aXBlckluc3RhbmNlID0gbmV3IFN3aXBlcih0aGlzLnNlY3Rpb25TbGlkZXIhLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgbW9kdWxlczogW0F1dG9wbGF5LCBQYWdpbmF0aW9uXSxcbiAgICAgICAgbG9vcDogZmFsc2UsXG4gICAgICAgIHNsaWRlc1BlclZpZXc6IDEsXG4gICAgICAgIHNwYWNlQmV0d2VlbjogMjAsXG4gICAgICAgIHNwZWVkOiA2MDAsXG4gICAgICAgIGF1dG9wbGF5OlxuICAgICAgICAgIHNsaWRlcy5sZW5ndGggPiAxXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBkZWxheTogMzAwMCxcbiAgICAgICAgICAgICAgICBkaXNhYmxlT25JbnRlcmFjdGlvbjogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiBmYWxzZSxcbiAgICAgICAgcGFnaW5hdGlvbjpcbiAgICAgICAgICBzbGlkZXMubGVuZ3RoID4gMSAmJiB0aGlzLnNsaWRlclBhZ2luYXRpb25cbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIGVsOiB0aGlzLnNsaWRlclBhZ2luYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBjbGlja2FibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1bGxldHMnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDogZmFsc2UsXG4gICAgICAgIGJyZWFrcG9pbnRzOiB7XG4gICAgICAgICAgNjAwOiB7XG4gICAgICAgICAgICBzbGlkZXNQZXJWaWV3OiAzLFxuICAgICAgICAgICAgc3BhY2VCZXR3ZWVuOiAyNVxuICAgICAgICAgIH0sXG4gICAgICAgICAgMTEyNDoge1xuICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogMyxcbiAgICAgICAgICAgIHNwYWNlQmV0d2VlbjogNTVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNsaWRlckluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveVNsaWRlcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2xpZGVySW5pdGlhbGl6ZWQgfHwgIXRoaXMuc3dpcGVySW5zdGFuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN3aXBlckluc3RhbmNlLmRlc3Ryb3kodHJ1ZSwgdHJ1ZSk7XG4gICAgdGhpcy5zd2lwZXJJbnN0YW5jZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNsaWRlckluaXRpYWxpemVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVTaWRlSW1hZ2UobXVsdGltZWRpYT86IFNsaUMySW1nVHh0TXVsdGltZWRpYSk6IHsgc3JjOiBzdHJpbmc7IGFsdDogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICAgIC8vIFNPTE8gbXVsdGltZWRpYS5pbWFnZW5cbiAgICBjb25zdCBpbWFnZSA9IHRoaXMuZXh0cmFjdEZpcnN0SW1hZ2UobXVsdGltZWRpYT8uaW1hZ2VuKTtcbiAgICBjb25zdCBzcmMgPSB0aGlzLnJlc29sdmVJbWFnZVNyYyhpbWFnZSk7XG5cbiAgICBpZiAoIXNyYykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3JjLFxuICAgICAgYWx0OiBpbWFnZT8uaW1nPy5hbHQgPz8gaW1hZ2U/LmFsdCA/PyAnJ1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RGaXJzdEltYWdlKHZhbHVlOiB1bmtub3duKTogU2xpQzJJbWdUeHRJbWFnZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gdmFsdWVbMF0gYXMgU2xpQzJJbWdUeHRJbWFnZSB8IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgY29uc3QgY2FuZGlkYXRlID0gdmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICBpZiAoJ3BhdGgnIGluIGNhbmRpZGF0ZSB8fCAnaW1nJyBpbiBjYW5kaWRhdGUgfHwgJ3RodW1ibmFpbHMnIGluIGNhbmRpZGF0ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgYXMgU2xpQzJJbWdUeHRJbWFnZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW5kZXhlZCA9IGNhbmRpZGF0ZVsnMCddO1xuICAgICAgaWYgKGluZGV4ZWQgJiYgdHlwZW9mIGluZGV4ZWQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJldHVybiBpbmRleGVkIGFzIFNsaUMySW1nVHh0SW1hZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZVNsaWRlcyhtdWx0aW1lZGlhPzogU2xpQzJJbWdUeHRNdWx0aW1lZGlhKTogU2xpQzJJbWdUeHRTbGlkZVtdIHtcbiAgICAvLyBTT0xPIG11bHRpbWVkaWEuaW1hZ2VuZXNcbiAgICBjb25zdCBtdWx0aW1lZGlhU2xpZGVzID0gdGhpcy5tYXBJbWFnZXNUb1NsaWRlcyhtdWx0aW1lZGlhPy5pbWFnZW5lcyk7XG4gICAgaWYgKG11bHRpbWVkaWFTbGlkZXMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIG11bHRpbWVkaWFTbGlkZXM7XG4gICAgfVxuXG4gICAgLy8gc2kgTk8gcXVpZXJlcyBxdWUgY2FpZ2EgYSBpdGVtcywgYm9ycmEgdG9kbyBsbyBkZSBhcXXDrSBhYmFqb1xuICAgIGNvbnN0IGl0ZW1zU291cmNlID0gdGhpcy5pdGVtcyA/PyB0aGlzLnByb3BzPy5pdGVtcztcbiAgICByZXR1cm4gKFxuICAgICAgaXRlbXNTb3VyY2VcbiAgICAgICAgPy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICBjb25zdCBpbWFnZSA9IChpdGVtPy5tdWx0aW1lZGlhIGFzIFNsaUMySW1nVHh0TXVsdGltZWRpYSB8IHVuZGVmaW5lZCk/LmltYWdlbmVzPy5bMF0gYXNcbiAgICAgICAgICAgIHwgU2xpQzJJbWdUeHRJbWFnZVxuICAgICAgICAgICAgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgY29uc3Qgc3JjID0gdGhpcy5yZXNvbHZlSW1hZ2VTcmMoaW1hZ2UpO1xuICAgICAgICAgIGlmICghc3JjKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHRpdGxlID1cbiAgICAgICAgICAgIGltYWdlPy50aXRsZT8udHJpbSgpIHx8XG4gICAgICAgICAgICBpdGVtPy50ZXh0cz8udGl0bGU/LnRyaW0oKSB8fFxuICAgICAgICAgICAgaXRlbT8udGl0bGU/LnRyaW0oKSB8fFxuICAgICAgICAgICAgaXRlbT8ubGFiZWw/LnRyaW0oKSB8fFxuICAgICAgICAgICAgdW5kZWZpbmVkO1xuICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuZXh0cmFjdEFjdGlvbihpdGVtPy5idXR0b25zID8/IGltYWdlPy5idXR0b25zKSA/PyB7XG4gICAgICAgICAgICBsYWJlbDogdGl0bGUgPz8gJycsXG4gICAgICAgICAgICBocmVmOiAnIycsXG4gICAgICAgICAgICBsaW5rVHlwZTogJ2V4dGVybmFsX2xpbmsnLFxuICAgICAgICAgICAgdGFyZ2V0OiAnX3NlbGYnXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzcmMsXG4gICAgICAgICAgICBhbHQ6IGltYWdlPy5pbWc/LmFsdCA/PyBpbWFnZT8uYWx0ID8/IHRpdGxlID8/ICcnLFxuICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICBhY3Rpb25cbiAgICAgICAgICB9IGFzIFNsaUMySW1nVHh0U2xpZGU7XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbikgYXMgU2xpQzJJbWdUeHRTbGlkZVtdXG4gICAgKSA/PyBbXTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwSW1hZ2VzVG9TbGlkZXMoaW1hZ2VzPzogU2xpQzJJbWdUeHRJbWFnZVtdKTogU2xpQzJJbWdUeHRTbGlkZVtdIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoaW1hZ2VzKSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBpbWFnZXMucmVkdWNlPFNsaUMySW1nVHh0U2xpZGVbXT4oKGFjYywgaW1hZ2UpID0+IHtcbiAgICAgIGlmIChpbWFnZT8uYWN0aXZlID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzcmMgPSB0aGlzLnJlc29sdmVJbWFnZVNyYyhpbWFnZSk7XG4gICAgICBpZiAoIXNyYykge1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0aXRsZSA9IGltYWdlPy50aXRsZT8udHJpbSgpIHx8IGltYWdlPy5uZF90aXRsZT8udHJpbSgpIHx8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuZXh0cmFjdEFjdGlvbihpbWFnZT8uYnV0dG9ucykgPz8ge1xuICAgICAgICBsYWJlbDogdGl0bGUgPz8gJycsXG4gICAgICAgIGhyZWY6ICcjJyxcbiAgICAgICAgbGlua1R5cGU6ICdleHRlcm5hbF9saW5rJyxcbiAgICAgICAgdGFyZ2V0OiAnX3NlbGYnXG4gICAgICB9O1xuXG4gICAgICBhY2MucHVzaCh7XG4gICAgICAgIHNyYyxcbiAgICAgICAgYWx0OiBpbWFnZT8uaW1nPy5hbHQgPz8gaW1hZ2U/LmFsdCA/PyB0aXRsZSA/PyAnJyxcbiAgICAgICAgdGl0bGUsXG4gICAgICAgIGFjdGlvblxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlQnV0dG9uc1NvdXJjZSgpOiBCYWJ5bG9uQnV0dG9uSVtdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmJ1dHRvbnMpICYmIHRoaXMuYnV0dG9ucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ1dHRvbnM7XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5wcm9wcz8uYnV0dG9ucykgJiYgdGhpcy5wcm9wcz8uYnV0dG9ucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzPy5idXR0b25zO1xuICAgIH1cblxuICAgIGNvbnN0IG11bHRpbWVkaWFCdXR0b25zID0gdGhpcy5tdWx0aW1lZGlhPy5pbWFnZW5lcz8uZmluZCgoaW1hZ2UpID0+IGltYWdlPy5idXR0b25zPy5sZW5ndGgpPy5idXR0b25zO1xuICAgIGlmIChBcnJheS5pc0FycmF5KG11bHRpbWVkaWFCdXR0b25zKSAmJiBtdWx0aW1lZGlhQnV0dG9ucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBtdWx0aW1lZGlhQnV0dG9ucyBhcyBCYWJ5bG9uQnV0dG9uSVtdO1xuICAgIH1cblxuICAgIGNvbnN0IHByb3BzTXVsdGltZWRpYUJ1dHRvbnMgPSB0aGlzLnByb3BzPy5tdWx0aW1lZGlhPy5pbWFnZW5lcz8uZmluZCgoaW1hZ2UpID0+IGltYWdlPy5idXR0b25zPy5sZW5ndGgpPy5idXR0b25zO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BzTXVsdGltZWRpYUJ1dHRvbnMpICYmIHByb3BzTXVsdGltZWRpYUJ1dHRvbnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gcHJvcHNNdWx0aW1lZGlhQnV0dG9ucyBhcyBCYWJ5bG9uQnV0dG9uSVtdO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zU291cmNlID0gdGhpcy5pdGVtcyA/PyB0aGlzLnByb3BzPy5pdGVtcztcbiAgICBjb25zdCBpdGVtQnV0dG9ucyA9IGl0ZW1zU291cmNlPy5maW5kKChpdGVtKSA9PiBpdGVtPy5idXR0b25zPy5sZW5ndGgpPy5idXR0b25zO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW1CdXR0b25zKSAmJiBpdGVtQnV0dG9ucy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBpdGVtQnV0dG9ucztcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0QWN0aW9uKGJ1dHRvbnM/OiBBcnJheTxTbGlDMkltZ1R4dEJ1dHRvbiB8IEJhYnlsb25CdXR0b25JPik6IFNsaUMySW1nVHh0QWN0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYnV0dG9ucykgfHwgYnV0dG9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgYnV0dG9uID0gYnV0dG9uc1swXSBhcyBTbGlDMkltZ1R4dEJ1dHRvbjtcblxuICAgIHJldHVybiB7XG4gICAgICBsYWJlbDogYnV0dG9uPy5sYWJlbD8udHJpbSgpID8/ICcnLFxuICAgICAgaHJlZjogdGhpcy5nZXRGaXJzdE5vbkVtcHR5TGluayhidXR0b24/LnVybCwgYnV0dG9uPy5saW5rX3ZhbHVlLCBidXR0b24/LmxpbmtWYWx1ZSkgPz8gJyMnLFxuICAgICAgbGlua1R5cGU6IGJ1dHRvbj8ubGlua1R5cGUgPz8gYnV0dG9uPy5saW5rX3R5cGUgPz8gJ2V4dGVybmFsX2xpbmsnLFxuICAgICAgdGFyZ2V0OiBidXR0b24/LnRhcmdldCA/PyAnX3NlbGYnXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUltYWdlU3JjKGltYWdlPzogU2xpQzJJbWdUeHRJbWFnZSk6IHN0cmluZyB7XG4gICAgY29uc3QgcmF3U3JjID1cbiAgICAgIGltYWdlPy5pbWc/LnNyYyA/P1xuICAgICAgaW1hZ2U/LnNyYyA/P1xuICAgICAgaW1hZ2U/LnBhdGg/LndlYnAgPz9cbiAgICAgIGltYWdlPy5wYXRoPy5vcmlnaW5hbCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/LlsxMzY2XT8ud2VicCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/LlsxMjgwXT8ud2VicCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/LlsxMDI0XT8ud2VicCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/Lls3NjhdPy53ZWJwID8/XG4gICAgICBpbWFnZT8udGh1bWJuYWlscz8uWzU0MF0/LndlYnAgPz9cbiAgICAgIGltYWdlPy50aHVtYm5haWxzPy5bMzc1XT8ud2VicCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/LlsxMzY2XT8ub3JpZ2luYWwgPz9cbiAgICAgIGltYWdlPy50aHVtYm5haWxzPy5bMTI4MF0/Lm9yaWdpbmFsID8/XG4gICAgICBpbWFnZT8udGh1bWJuYWlscz8uWzEwMjRdPy5vcmlnaW5hbCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/Lls3NjhdPy5vcmlnaW5hbCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/Lls1NDBdPy5vcmlnaW5hbCA/P1xuICAgICAgaW1hZ2U/LnRodW1ibmFpbHM/LlszNzVdPy5vcmlnaW5hbCA/P1xuICAgICAgJyc7XG5cbiAgICBpZiAoIXJhd1NyYyB8fCB0eXBlb2YgcmF3U3JjICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHJhd1NyYy5zdGFydHNXaXRoKCdodHRwOi8vJykgfHxcbiAgICAgIHJhd1NyYy5zdGFydHNXaXRoKCdodHRwczovLycpIHx8XG4gICAgICByYXdTcmMuc3RhcnRzV2l0aCgnLy8nKSB8fFxuICAgICAgcmF3U3JjLnN0YXJ0c1dpdGgoJ2RhdGE6JykgfHxcbiAgICAgIHJhd1NyYy5zdGFydHNXaXRoKCdibG9iOicpIHx8XG4gICAgICByYXdTcmMuc3RhcnRzV2l0aCgnLycpXG4gICAgKSB7XG4gICAgICByZXR1cm4gcmF3U3JjO1xuICAgIH1cblxuICAgIHJldHVybiBgLyR7cmF3U3JjfWA7XG4gIH1cblxuICBwcml2YXRlIGdldEZpcnN0Tm9uRW1wdHlMaW5rKC4uLmNhbmRpZGF0ZXM6IEFycmF5PHN0cmluZyB8IHVuZGVmaW5lZD4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBjYW5kaWRhdGVzLmZpbmQoKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnRyaW0oKS5sZW5ndGggPiAwKT8udHJpbSgpO1xuICB9XG59XG4iLCJAaWYgKHZtLmhhc1NsaWRlcykge1xuICA8c2VjdGlvbiBjbGFzcz1cIm1kbC1TbGlDMkltZ1R4dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtZGwtY29udGFpbmVyXCI+XG4gICAgICBAaWYgKHZtLnNpZGVJbWFnZTsgYXMgc2lkZUltYWdlKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWxlZnRcIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwic2lkZUltYWdlLnNyY1wiIFthbHRdPVwic2lkZUltYWdlLmFsdFwiIGxvYWRpbmc9XCJsYXp5XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLXJpZ2h0XCIgW2NsYXNzLm0tcmlnaHQtZnVsbF09XCIhdm0uc2lkZUltYWdlXCI+XG4gICAgICAgIEBpZiAodm0ucHJldGl0bGUpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS10aXR1bG9cIiBbaW5uZXJIVE1MXT1cInZtLnByZXRpdGxlXCI+PC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyXCIgI3NlY3Rpb25TbGlkZXIgYmFieWxvblN3aXBlckNzc0xvYWRlcj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIEBmb3IgKHNsaWRlIG9mIHZtLnNsaWRlczsgdHJhY2sgdHJhY2tTbGlkZSgkaW5kZXgpKSB7XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzd2lwZXItc2xpZGVcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cInNsaWRlLmFjdGlvbi5ocmVmXCJcbiAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwic2xpZGUuYWN0aW9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwic2xpZGUuYWN0aW9uLnRhcmdldFwiXG4gICAgICAgICAgICAgICAgW2F0dHIucmVsXT1cInNsaWRlLmFjdGlvbi50YXJnZXQgPT09ICdfYmxhbmsnID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzbGlkZS5hY3Rpb24ubGFiZWwgfHwgc2xpZGUudGl0bGUgfHwgbnVsbFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1pbWFnZW5cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJzbGlkZS5zcmNcIiBbYWx0XT1cInNsaWRlLmFsdFwiIGxvYWRpbmc9XCJsYXp5XCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBAaWYgKHNsaWRlLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS10aXR1bG9cIj57eyBzbGlkZS50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgQGlmICh2bS5zbGlkZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1wYWdpbmF0aW9uXCIgI3NsaWRlclBhZ2luYXRpb24+PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKHZtLmZvb3RlckFjdGlvbjsgYXMgYWN0aW9uKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnV0dG9uc1wiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3M9XCJtLWJ1dHRvbkRcIlxuICAgICAgICAgICAgICBbaHJlZl09XCJhY3Rpb24uaHJlZlwiXG4gICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJhY3Rpb24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwiYWN0aW9uLnRhcmdldFwiXG4gICAgICAgICAgICAgIFthdHRyLnJlbF09XCJhY3Rpb24udGFyZ2V0ID09PSAnX2JsYW5rJyA/ICdub29wZW5lciBub3JlZmVycmVyJyA6IG51bGxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBhY3Rpb24ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbn1cbiJdfQ==