ctt-babylon 0.26.7 → 0.26.9
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.
- package/esm2022/lib/components/core/babylon-ai-badge/babylon-ai-badge.component.mjs +5 -8
- package/esm2022/lib/components/core/babylon-list-img/babylon-list-img.component.mjs +5 -3
- package/esm2022/lib/components/core/babylon-top-slider-img-video/babylon-top-slider-img-video.component.mjs +3 -3
- package/esm2022/lib/components/external/core/complex-module-slider-r-v2/complex-module-slider-r-v2.component.mjs +5 -3
- package/esm2022/lib/components/external/core/lis-c3-img-txt-cta/lis-c3-img-txt-cta.component.mjs +5 -3
- package/esm2022/lib/components/external/core/sli-c2-img-txt-cta-v4/sli-c2-img-txt-cta-v4.component.mjs +5 -3
- package/esm2022/lib/components/external/core/sli-c2-img-txt-r/sli-c2-img-txt-r.component.mjs +5 -3
- package/esm2022/lib/components/external/core/sli-c3-img-txt/sli-c3-img-txt.component.mjs +5 -3
- package/esm2022/lib/components/external/core/top-c2-img-txt/top-c2-img-txt.component.mjs +5 -3
- package/esm2022/lib/pipes/ai-badges.pipe.mjs +18 -0
- package/esm2022/lib/utils/ai-badge.utils.mjs +24 -13
- package/fesm2022/ctt-babylon.mjs +2 -2
- package/fesm2022/ctt-babylon.mjs.map +1 -1
- package/lib/components/core/babylon-ai-badge/babylon-ai-badge.component.d.ts +6 -3
- package/lib/pipes/ai-badges.pipe.d.ts +10 -0
- package/lib/utils/ai-badge.utils.d.ts +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ import sliderSettings from './slider-settings.json';
|
|
|
9
9
|
import { getFirstImageByTagFromImages } from '../../../../utils/mutimedia.utils';
|
|
10
10
|
import { getAiBadgeText } from '../../../../utils/ai-badge.utils';
|
|
11
11
|
import { BabylonAiBadgeComponent } from '../../../core/babylon-ai-badge/babylon-ai-badge.component';
|
|
12
|
+
import { AiBadgesPipe } from '../../../../pipes/ai-badges.pipe';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
export class SliC3ImgTxtComponent {
|
|
14
15
|
constructor(ngZone) {
|
|
@@ -213,7 +214,7 @@ export class SliC3ImgTxtComponent {
|
|
|
213
214
|
this.sliderInitialized = false;
|
|
214
215
|
}
|
|
215
216
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SliC3ImgTxtComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
216
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SliC3ImgTxtComponent, isStandalone: true, selector: "sli-c3-img-txt", inputs: { texts: "texts", items: "items", experiences: "experiences" }, host: { listeners: { "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "sectionSlider", first: true, predicate: ["sectionSlider"], descendants: true }, { propertyName: "sliderPrev", first: true, predicate: ["sliderPrev"], descendants: true }, { propertyName: "sliderNext", first: true, predicate: ["sliderNext"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section class=\"mdl-slider\" babylonSwiperCssLoader>\n <div class=\"mdl-container\">\n @if (texts?.title) {\n <h2 class=\"mdl-title\">{{ texts?.title }}</h2>\n }\n\n <div class=\"swiper\" #sectionSlider>\n <div class=\"swiper-wrapper\">\n @for (item of normalizedItems; track trackItem($index)) {\n <a\n class=\"swiper-slide\"\n [href]=\"item.url\"\n [attr.target]=\"item.target || null\"\n [linkType]=\"item.linkType\"\n >\n <img\n [src]=\"item.image.src\"\n [alt]=\"\n item.image.alt || item.title || 'slide image'\n \"\n />\n @if (
|
|
217
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SliC3ImgTxtComponent, isStandalone: true, selector: "sli-c3-img-txt", inputs: { texts: "texts", items: "items", experiences: "experiences" }, host: { listeners: { "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "sectionSlider", first: true, predicate: ["sectionSlider"], descendants: true }, { propertyName: "sliderPrev", first: true, predicate: ["sliderPrev"], descendants: true }, { propertyName: "sliderNext", first: true, predicate: ["sliderNext"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section class=\"mdl-slider\" babylonSwiperCssLoader>\n <div class=\"mdl-container\">\n @if (texts?.title) {\n <h2 class=\"mdl-title\">{{ texts?.title }}</h2>\n }\n\n <div class=\"swiper\" #sectionSlider>\n <div class=\"swiper-wrapper\">\n @for (item of normalizedItems; track trackItem($index)) {\n <a\n class=\"swiper-slide\"\n [href]=\"item.url\"\n [attr.target]=\"item.target || null\"\n [linkType]=\"item.linkType\"\n >\n <img\n [src]=\"item.image.src\"\n [alt]=\"\n item.image.alt || item.title || 'slide image'\n \"\n />\n @if (item.image | aiBadges; as badges) {\n @if (badges.length > 0) {\n <lib-babylon-ai-badge\n [badges]=\"badges\"\n position=\"top-right\"\n ></lib-babylon-ai-badge>\n }\n }\n s\n <div class=\"m-content\">\n @if (item.title) {\n <h3 class=\"m-titulo\">{{ item.title }}</h3>\n }\n @if (item.description) {\n <p\n class=\"m-texto\"\n [innerHTML]=\"item.description\"\n ></p>\n }\n </div>\n </a>\n }\n </div>\n\n @if (normalizedItems.length > 1 && sliderConfig.showButtons) {\n <button\n class=\"swiper-button-prev\"\n type=\"button\"\n aria-label=\"Anterior\"\n #sliderPrev\n ></button>\n <button\n class=\"swiper-button-next\"\n type=\"button\"\n aria-label=\"Siguiente\"\n #sliderNext\n ></button>\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-slider{padding-left:0!important;padding-right:0!important}.mdl-slider .mdl-container{max-width:100%}.mdl-slider .mdl-container .swiper .swiper-wrapper{display:flex}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide{height:100vh;position:relative;transition:.5s}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide:hover{opacity:.7;transition:.5s}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide img{width:100%;height:100%;object-fit:cover}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide .m-content{position:absolute;top:18rem;left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:38.4rem}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide .m-content .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:700;line-height:100%;color:#fff;padding:0 1rem}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide .m-content .m-texto{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;color:#fff;margin-top:2rem;padding:0 1rem}.mdl-slider .mdl-container .swiper .swiper-button-prev,.mdl-slider .mdl-container .swiper .swiper-button-next{background-color:#fff;transition:.5s;width:4rem}.mdl-slider .mdl-container .swiper .swiper-button-prev svg,.mdl-slider .mdl-container .swiper .swiper-button-next svg{height:1.2rem}.mdl-slider .mdl-container .swiper .swiper-button-prev:after,.mdl-slider .mdl-container .swiper .swiper-button-next:after{font-size:1.3rem;font-weight:700;color:#393637}.mdl-slider .mdl-container .swiper .swiper-button-prev:hover,.mdl-slider .mdl-container .swiper .swiper-button-next:hover{opacity:.8;transition:.5s}.mdl-slider .mdl-container .swiper .swiper-button-prev{left:0;border-radius:0 4rem 4rem 0}.mdl-slider .mdl-container .swiper .swiper-button-next{right:0;border-radius:4rem 0 0 4rem}@media (max-width: 850px){.mdl-slider .swiper-slide{height:80vh!important}}@media (max-width: 600px){.mdl-slider .swiper-slide{height:80vh}.mdl-slider .m-content{top:10rem!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: BabylonSwiperCssLoaderDirective, selector: "[babylonSwiperCssLoader]" }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup", "disablePointerNone"], outputs: ["anchorClicked"] }, { kind: "component", type: BabylonAiBadgeComponent, selector: "lib-babylon-ai-badge", inputs: ["badges", "position", "additionalClasses", "top", "bottom", "left", "right"] }, { kind: "pipe", type: AiBadgesPipe, name: "aiBadges" }] }); }
|
|
217
218
|
}
|
|
218
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SliC3ImgTxtComponent, decorators: [{
|
|
219
220
|
type: Component,
|
|
@@ -222,7 +223,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
222
223
|
BabylonSwiperCssLoaderDirective,
|
|
223
224
|
BabylonLinkTypeDirective,
|
|
224
225
|
BabylonAiBadgeComponent,
|
|
225
|
-
|
|
226
|
+
AiBadgesPipe,
|
|
227
|
+
], encapsulation: ViewEncapsulation.Emulated, template: "<section class=\"mdl-slider\" babylonSwiperCssLoader>\n <div class=\"mdl-container\">\n @if (texts?.title) {\n <h2 class=\"mdl-title\">{{ texts?.title }}</h2>\n }\n\n <div class=\"swiper\" #sectionSlider>\n <div class=\"swiper-wrapper\">\n @for (item of normalizedItems; track trackItem($index)) {\n <a\n class=\"swiper-slide\"\n [href]=\"item.url\"\n [attr.target]=\"item.target || null\"\n [linkType]=\"item.linkType\"\n >\n <img\n [src]=\"item.image.src\"\n [alt]=\"\n item.image.alt || item.title || 'slide image'\n \"\n />\n @if (item.image | aiBadges; as badges) {\n @if (badges.length > 0) {\n <lib-babylon-ai-badge\n [badges]=\"badges\"\n position=\"top-right\"\n ></lib-babylon-ai-badge>\n }\n }\n s\n <div class=\"m-content\">\n @if (item.title) {\n <h3 class=\"m-titulo\">{{ item.title }}</h3>\n }\n @if (item.description) {\n <p\n class=\"m-texto\"\n [innerHTML]=\"item.description\"\n ></p>\n }\n </div>\n </a>\n }\n </div>\n\n @if (normalizedItems.length > 1 && sliderConfig.showButtons) {\n <button\n class=\"swiper-button-prev\"\n type=\"button\"\n aria-label=\"Anterior\"\n #sliderPrev\n ></button>\n <button\n class=\"swiper-button-next\"\n type=\"button\"\n aria-label=\"Siguiente\"\n #sliderNext\n ></button>\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-slider{padding-left:0!important;padding-right:0!important}.mdl-slider .mdl-container{max-width:100%}.mdl-slider .mdl-container .swiper .swiper-wrapper{display:flex}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide{height:100vh;position:relative;transition:.5s}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide:hover{opacity:.7;transition:.5s}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide img{width:100%;height:100%;object-fit:cover}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide .m-content{position:absolute;top:18rem;left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:38.4rem}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide .m-content .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:700;line-height:100%;color:#fff;padding:0 1rem}.mdl-slider .mdl-container .swiper .swiper-wrapper .swiper-slide .m-content .m-texto{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;color:#fff;margin-top:2rem;padding:0 1rem}.mdl-slider .mdl-container .swiper .swiper-button-prev,.mdl-slider .mdl-container .swiper .swiper-button-next{background-color:#fff;transition:.5s;width:4rem}.mdl-slider .mdl-container .swiper .swiper-button-prev svg,.mdl-slider .mdl-container .swiper .swiper-button-next svg{height:1.2rem}.mdl-slider .mdl-container .swiper .swiper-button-prev:after,.mdl-slider .mdl-container .swiper .swiper-button-next:after{font-size:1.3rem;font-weight:700;color:#393637}.mdl-slider .mdl-container .swiper .swiper-button-prev:hover,.mdl-slider .mdl-container .swiper .swiper-button-next:hover{opacity:.8;transition:.5s}.mdl-slider .mdl-container .swiper .swiper-button-prev{left:0;border-radius:0 4rem 4rem 0}.mdl-slider .mdl-container .swiper .swiper-button-next{right:0;border-radius:4rem 0 0 4rem}@media (max-width: 850px){.mdl-slider .swiper-slide{height:80vh!important}}@media (max-width: 600px){.mdl-slider .swiper-slide{height:80vh}.mdl-slider .m-content{top:10rem!important}}\n"] }]
|
|
226
228
|
}], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { texts: [{
|
|
227
229
|
type: Input
|
|
228
230
|
}], items: [{
|
|
@@ -242,4 +244,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
242
244
|
type: HostListener,
|
|
243
245
|
args: ['window:resize']
|
|
244
246
|
}] } });
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpLWMzLWltZy10eHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvZXh0ZXJuYWwvY29yZS9zbGktYzMtaW1nLXR4dC9zbGktYzMtaW1nLXR4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL3NsaS1jMy1pbWctdHh0L3NsaS1jMy1pbWctdHh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUgsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUtMLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBRzdILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzdGLE9BQU8sY0FBYyxNQUFNLHdCQUF3QixDQUFDO0FBRXBELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFlcEcsTUFBTSxPQUFPLG9CQUFvQjtJQXNCN0IsWUFBNkIsTUFB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TCxZQUFZO3dCQUNaLCtCQUErQjt3QkFDL0Isd0JBQXdCO3dCQUN4Qix1QkFBdUI7cUJBQzFCLGlCQUdjLGlCQUFpQixDQUFDLFFBQVE7MkVBV2hDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHTixhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFHN0MsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRzFDLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQW9FMUMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFN3aXBlciBmcm9tICdzd2lwZXInO1xuaW1wb3J0IHsgQXV0b3BsYXksIE5hdmlnYXRpb24gfSBmcm9tICdzd2lwZXInO1xuaW1wb3J0IHsgQmFieWxvbkxpbmtUeXBlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9saW5rLXR5cGUvbGluay10eXBlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCYWJ5bG9uU3dpcGVyQ3NzTG9hZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9iYWJ5bG9uLXNsaWRlcnMvYmFieWxvbi1zd2lwZXItY3NzLWxvYWRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFieWxvbkl0ZW1JLCBCYWJ5bG9uVGV4dEluZm9JIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCYWJ5bG9uR2xvYmFsRXhwZXJpZW5jZSB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvYmFieWxvbi1nbG9iYWwtZXhwZXJpZW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU0lURV9DT05GSUdfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL21hcHBlci9tYXBwZXIuc2VydmljZS50b2tlbic7XG5pbXBvcnQgc2xpZGVyU2V0dGluZ3MgZnJvbSAnLi9zbGlkZXItc2V0dGluZ3MuanNvbic7XG5pbXBvcnQgeyBTbGlDM0ltZ1R4dFNsaWRlSXRlbSB9IGZyb20gJy4vc2xpLWMzLWltZy10eHQuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRGaXJzdEltYWdlQnlUYWdGcm9tSW1hZ2VzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvbXV0aW1lZGlhLnV0aWxzJztcbmltcG9ydCB7IGdldEFpQmFkZ2VUZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvYWktYmFkZ2UudXRpbHMnO1xuaW1wb3J0IHsgQmFieWxvbkFpQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2JhYnlsb24tYWktYmFkZ2UvYmFieWxvbi1haS1iYWRnZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NsaS1jMy1pbWctdHh0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBCYWJ5bG9uU3dpcGVyQ3NzTG9hZGVyRGlyZWN0aXZlLFxuICAgICAgICBCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgICAgIEJhYnlsb25BaUJhZGdlQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NsaS1jMy1pbWctdHh0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2xpLWMzLWltZy10eHQuY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxufSlcbmV4cG9ydCBjbGFzcyBTbGlDM0ltZ1R4dENvbXBvbmVudFxuICAgIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpdGVTdmMgPSBpbmplY3QoU0lURV9DT05GSUdfU0VSVklDRV9UT0tFTik7XG4gICAgcHJpdmF0ZSBzbGlkZXJJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3dpcGVySW5zdGFuY2U/OiBTd2lwZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdOYW1lID0gJ1NsaUMzSW1nVHh0JztcbiAgICBwdWJsaWMgZ2V0QWlCYWRnZVRleHQgPSBnZXRBaUJhZGdlVGV4dDtcblxuICAgIEBJbnB1dCgpIHRleHRzPzogQmFieWxvblRleHRJbmZvSTtcbiAgICBASW5wdXQoKSBpdGVtcz86IEJhYnlsb25JdGVtSVtdO1xuICAgIEBJbnB1dCgpIGV4cGVyaWVuY2VzPzogQmFieWxvbkdsb2JhbEV4cGVyaWVuY2VbXTtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlY3Rpb25TbGlkZXInLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBzZWN0aW9uU2xpZGVyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgQFZpZXdDaGlsZCgnc2xpZGVyUHJldicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHNsaWRlclByZXY/OiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCdzbGlkZXJOZXh0JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgc2xpZGVyTmV4dD86IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gICAgcmVhZG9ubHkgc2xpZGVyQ29uZmlnID0gc2xpZGVyU2V0dGluZ3M7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lKSB7fVxuXG4gICAgZ2V0IG5vcm1hbGl6ZWRJdGVtcygpOiBTbGlDM0ltZ1R4dFNsaWRlSXRlbVtdIHtcbiAgICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5pdGVtcz8ubGVuZ3RoXG4gICAgICAgICAgICA/IHRoaXMuaXRlbXNcbiAgICAgICAgICAgIDogKHRoaXMuZXhwZXJpZW5jZXMgYXMgQmFieWxvbkl0ZW1JW10gfCB1bmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAoc291cmNlXG4gICAgICAgICAgICAgICAgPy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW1hZ2UgPSB0aGlzLnJlc29sdmVJbWFnZShpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpbWFnZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aXRsZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtPy50ZXh0cz8udGl0bGUgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0/LnRleHRzPy5uYW1lID8/XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtPy50aXRsZSA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbT8ubGFiZWwgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtIGFzIGFueSk/Lm5hbWVJZGVudGlmaWVyID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAnJztcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtPy50ZXh0cz8uZGVzY3JpcHRpb24gPz9cbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0/LmRlc2NyaXB0aW9uID8/XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtPy50ZXh0ID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAnJztcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmltYXJ5TGluayA9IGl0ZW0/LmJ1dHRvbnM/LlswXSA/PyBpdGVtPy5saW5rcz8uWzBdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtVXJsID0gKGl0ZW0gYXMgYW55KT8udXJsO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogKGl0ZW0gYXMgYW55KT8uaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHByaW1hcnlMaW5rPy51cmwgPz8gaXRlbVVybCA/PyAnIycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rVHlwZTogcHJpbWFyeUxpbms/LmxpbmtUeXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBwcmltYXJ5TGluaz8udGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgPy5maWx0ZXIoQm9vbGVhbikgYXMgU2xpQzNJbWdUeHRTbGlkZUl0ZW1bXSkgPz8gW11cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdFNsaWRlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGNoYW5nZXNbJ2l0ZW1zJ10gfHwgY2hhbmdlc1snZXhwZXJpZW5jZXMnXSkgJiZcbiAgICAgICAgICAgIHRoaXMuc2xpZGVySW5pdGlhbGl6ZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lTbGlkZXIoKTtcbiAgICAgICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMuaW5pdFNsaWRlcigpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3lTbGlkZXIoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgICBvbldpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNsaWRlckluaXRpYWxpemVkKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5kZXN0cm95U2xpZGVyKCk7XG4gICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHRoaXMuaW5pdFNsaWRlcigpKTtcbiAgICB9XG5cbiAgICB0cmFja0l0ZW0oaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc29sdmVJbWFnZShcbiAgICAgICAgaXRlbTogQmFieWxvbkl0ZW1JXG4gICAgKTogeyBzcmM6IHN0cmluZzsgYWx0Pzogc3RyaW5nOyB0YWdzPzogYW55IH0gfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCB0YWdnZWRNYXBwZWRJbWFnZSA9XG4gICAgICAgICAgICBnZXRGaXJzdEltYWdlQnlUYWdGcm9tSW1hZ2VzKFxuICAgICAgICAgICAgICAgIGl0ZW0/Lm11bHRpbWVkaWE/LmltYWdlbmVzLFxuICAgICAgICAgICAgICAgIHRoaXMudGFnTmFtZVxuICAgICAgICAgICAgKSA/PyBpdGVtPy5tdWx0aW1lZGlhPy5pbWFnZW5lcz8uWzBdO1xuXG4gICAgICAgIGNvbnN0IG1hcHBlZFRhZ2dlZFNyYyA9IHRhZ2dlZE1hcHBlZEltYWdlPy5pbWc/LnNyYztcbiAgICAgICAgaWYgKG1hcHBlZFRhZ2dlZFNyYykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB0YWdzOiB0YWdnZWRNYXBwZWRJbWFnZT8udGFncyxcbiAgICAgICAgICAgICAgICBzcmM6IHRoaXMubm9ybWFsaXplSW1hZ2VVcmwobWFwcGVkVGFnZ2VkU3JjKSxcbiAgICAgICAgICAgICAgICBhbHQ6XG4gICAgICAgICAgICAgICAgICAgIHRhZ2dlZE1hcHBlZEltYWdlPy5pbWc/LmFsdCA/P1xuICAgICAgICAgICAgICAgICAgICBpdGVtPy50ZXh0cz8udGl0bGUgPz9cbiAgICAgICAgICAgICAgICAgICAgaXRlbT8udGl0bGUgPz9cbiAgICAgICAgICAgICAgICAgICAgaXRlbT8ubGFiZWwsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGlyZWN0ID0gaXRlbT8uaW1nPy5zcmM7XG4gICAgICAgIGlmIChkaXJlY3QpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdGFnczogaXRlbT8udGFncyxcbiAgICAgICAgICAgICAgICBzcmM6IHRoaXMubm9ybWFsaXplSW1hZ2VVcmwoZGlyZWN0KSxcbiAgICAgICAgICAgICAgICBhbHQ6XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0/LmltZz8uYWx0ID8/XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0/LnRleHRzPy50aXRsZSA/P1xuICAgICAgICAgICAgICAgICAgICBpdGVtPy50aXRsZSA/P1xuICAgICAgICAgICAgICAgICAgICBpdGVtPy5sYWJlbCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmcm9tTWFwcGVkID0gaXRlbT8ubXVsdGltZWRpYT8uaW1hZ2VuZXM/LlswXT8uaW1nPy5zcmM7XG4gICAgICAgIGlmIChmcm9tTWFwcGVkKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHRhZ3M6IGl0ZW0/Lm11bHRpbWVkaWE/LmltYWdlbmVzPy5bMF0/LnRhZ3MsXG4gICAgICAgICAgICAgICAgc3JjOiB0aGlzLm5vcm1hbGl6ZUltYWdlVXJsKGZyb21NYXBwZWQpLFxuICAgICAgICAgICAgICAgIGFsdDpcbiAgICAgICAgICAgICAgICAgICAgaXRlbT8ubXVsdGltZWRpYT8uaW1hZ2VuZXM/LlswXT8uaW1nPy5hbHQgPz9cbiAgICAgICAgICAgICAgICAgICAgaXRlbT8udGV4dHM/LnRpdGxlID8/XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0/LnRpdGxlID8/XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0/LmxhYmVsLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJhd0ltYWdlcyA9IChpdGVtIGFzIGFueSk/Lm11bHRpbWVkaWEgYXMgYW55W10gfCB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHJhdyA9XG4gICAgICAgICAgICBnZXRGaXJzdEltYWdlQnlUYWdGcm9tSW1hZ2VzKHJhd0ltYWdlcyBhcyBhbnksIHRoaXMudGFnTmFtZSkgPz9cbiAgICAgICAgICAgIHJhd0ltYWdlcz8uWzBdO1xuICAgICAgICBjb25zdCByYXdTcmMgPVxuICAgICAgICAgICAgcmF3Py5wYXRoPy53ZWJwID8/XG4gICAgICAgICAgICByYXc/LnBhdGg/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICByYXc/LnRodW1ibmFpbHM/LlsxMzY2XT8ud2VicCA/P1xuICAgICAgICAgICAgcmF3Py50aHVtYm5haWxzPy5bMTI4MF0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhdz8udGh1bWJuYWlscz8uWzEwMjRdPy53ZWJwID8/XG4gICAgICAgICAgICByYXc/LnRodW1ibmFpbHM/Lls3NjhdPy53ZWJwID8/XG4gICAgICAgICAgICByYXc/LnRodW1ibmFpbHM/Lls1NDBdPy53ZWJwID8/XG4gICAgICAgICAgICByYXc/LnRodW1ibmFpbHM/LlszNzVdPy53ZWJwID8/XG4gICAgICAgICAgICByYXc/LnRodW1ibmFpbHM/LlsxMzY2XT8ub3JpZ2luYWwgPz9cbiAgICAgICAgICAgIHJhdz8udGh1bWJuYWlscz8uWzEyODBdPy5vcmlnaW5hbCA/P1xuICAgICAgICAgICAgcmF3Py50aHVtYm5haWxzPy5bMTAyNF0/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICByYXc/LnRodW1ibmFpbHM/Lls3NjhdPy5vcmlnaW5hbCA/P1xuICAgICAgICAgICAgcmF3Py50aHVtYm5haWxzPy5bNTQwXT8ub3JpZ2luYWwgPz9cbiAgICAgICAgICAgIHJhdz8udGh1bWJuYWlscz8uWzM3NV0/Lm9yaWdpbmFsO1xuXG4gICAgICAgIGlmICghcmF3U3JjKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0YWdzOiByYXc/LnRhZ3MsXG4gICAgICAgICAgICBzcmM6IHRoaXMubm9ybWFsaXplSW1hZ2VVcmwocmF3U3JjKSxcbiAgICAgICAgICAgIGFsdDogcmF3Py5hbHQgPz8gaXRlbT8udGV4dHM/LnRpdGxlID8/IGl0ZW0/LnRpdGxlID8/IGl0ZW0/LmxhYmVsLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgbm9ybWFsaXplSW1hZ2VVcmwoc3JjOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoL14oaHR0cHM/Oik/XFwvXFwvL2kudGVzdChzcmMpIHx8IC9eKGRhdGF8YmxvYik6L2kudGVzdChzcmMpKSB7XG4gICAgICAgICAgICByZXR1cm4gc3JjO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2RuQmFzZSA9ICh0aGlzLnNpdGVTdmM/LmNkbkltYWdlc0luc3RhbnQgPz8gJycpLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmICghY2RuQmFzZSkgcmV0dXJuIHNyYztcblxuICAgICAgICBjb25zdCBjbGVhbkJhc2UgPSBjZG5CYXNlLmVuZHNXaXRoKCcvJykgPyBjZG5CYXNlIDogYCR7Y2RuQmFzZX0vYDtcbiAgICAgICAgY29uc3QgY2xlYW5TcmMgPSBzcmMucmVwbGFjZSgvXlxcLysvLCAnJyk7XG4gICAgICAgIHJldHVybiBgJHtjbGVhbkJhc2V9JHtjbGVhblNyY31gO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNsaWRlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5zbGlkZXJJbml0aWFsaXplZCB8fFxuICAgICAgICAgICAgdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgfHxcbiAgICAgICAgICAgICF0aGlzLnNlY3Rpb25TbGlkZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMubm9ybWFsaXplZEl0ZW1zO1xuICAgICAgICBjb25zdCBoYXNNdWx0aXBsZVNsaWRlcyA9IGl0ZW1zLmxlbmd0aCA+IDE7XG4gICAgICAgIGNvbnN0IHNsaWRlc1BlclZpZXdGb3JWaWV3cG9ydCA9IHRoaXMuZ2V0U2xpZGVzUGVyVmlld0ZvclZpZXdwb3J0KCk7XG4gICAgICAgIGNvbnN0IGhhc0luc3VmZmljaWVudFNsaWRlcyA9IGl0ZW1zLmxlbmd0aCA8PSBzbGlkZXNQZXJWaWV3Rm9yVmlld3BvcnQ7XG4gICAgICAgIGNvbnN0IHNob3VsZExvb3AgPSBoYXNNdWx0aXBsZVNsaWRlcyAmJiAhaGFzSW5zdWZmaWNpZW50U2xpZGVzO1xuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3dpcGVySW5zdGFuY2UgPSBuZXcgU3dpcGVyKFxuICAgICAgICAgICAgICAgIHRoaXMuc2VjdGlvblNsaWRlciEubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZXM6IFtOYXZpZ2F0aW9uLCBBdXRvcGxheV0sXG4gICAgICAgICAgICAgICAgICAgIHNsaWRlc1BlclZpZXc6IDEsXG4gICAgICAgICAgICAgICAgICAgIHNsaWRlc1Blckdyb3VwOiAxLFxuICAgICAgICAgICAgICAgICAgICBzcGVlZDogMzAwLFxuICAgICAgICAgICAgICAgICAgICBsb29wOiBzaG91bGRMb29wLFxuICAgICAgICAgICAgICAgICAgICB3YXRjaE92ZXJmbG93OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXJJbnN1ZmZpY2llbnRTbGlkZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb246XG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNNdWx0aXBsZVNsaWRlcyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXJDb25maWcuc2hvd0J1dHRvbnMgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2xpZGVyUHJldiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXJOZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dEVsOiB0aGlzLnNsaWRlck5leHQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2RWw6IHRoaXMuc2xpZGVyUHJldi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5OiB0aGlzLnNsaWRlckNvbmZpZy5hdXRvcGxheVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheTogMzAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVPbkludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDc2ODoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1BlclZpZXc6IDIuMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNQZXJHcm91cDogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAxMTI0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogMy4yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1Blckdyb3VwOiAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLnNsaWRlckluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTbGlkZXNQZXJWaWV3Rm9yVmlld3BvcnQoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gMTtcblxuICAgICAgICBjb25zdCB3aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgICAgICBpZiAod2lkdGggPj0gMTEyNCkgcmV0dXJuIDMuMjtcbiAgICAgICAgaWYgKHdpZHRoID49IDc2OCkgcmV0dXJuIDIuMjtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95U2xpZGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2xpZGVySW5pdGlhbGl6ZWQgfHwgIXRoaXMuc3dpcGVySW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3dpcGVySW5zdGFuY2UuZGVzdHJveSh0cnVlLCB0cnVlKTtcbiAgICAgICAgdGhpcy5zd2lwZXJJbnN0YW5jZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5zbGlkZXJJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwibWRsLXNsaWRlclwiIGJhYnlsb25Td2lwZXJDc3NMb2FkZXI+XG4gICAgPGRpdiBjbGFzcz1cIm1kbC1jb250YWluZXJcIj5cbiAgICAgICAgQGlmICh0ZXh0cz8udGl0bGUpIHtcbiAgICAgICAgICAgIDxoMiBjbGFzcz1cIm1kbC10aXRsZVwiPnt7IHRleHRzPy50aXRsZSB9fTwvaDI+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyXCIgI3NlY3Rpb25TbGlkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIG5vcm1hbGl6ZWRJdGVtczsgdHJhY2sgdHJhY2tJdGVtKCRpbmRleCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3dpcGVyLXNsaWRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW0udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtLnRhcmdldCB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJpdGVtLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5pbWFnZS5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uaW1hZ2UuYWx0IHx8IGl0ZW0udGl0bGUgfHwgJ3NsaWRlIGltYWdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChnZXRBaUJhZGdlVGV4dChpdGVtLmltYWdlKTsgYXMgYmFkZ2VUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWFpLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImJhZGdlVGV4dC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2JhZGdlSWRdPVwiYmFkZ2VUZXh0LmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2xpYi1iYWJ5bG9uLWFpLWJhZGdlPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtLXRpdHVsb1wiPnt7IGl0ZW0udGl0bGUgfX08L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS10ZXh0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIml0ZW0uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIEBpZiAobm9ybWFsaXplZEl0ZW1zLmxlbmd0aCA+IDEgJiYgc2xpZGVyQ29uZmlnLnNob3dCdXR0b25zKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN3aXBlci1idXR0b24tcHJldlwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQW50ZXJpb3JcIlxuICAgICAgICAgICAgICAgICAgICAjc2xpZGVyUHJldlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1uZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJTaWd1aWVudGVcIlxuICAgICAgICAgICAgICAgICAgICAjc2xpZGVyTmV4dFxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpLWMzLWltZy10eHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvZXh0ZXJuYWwvY29yZS9zbGktYzMtaW1nLXR4dC9zbGktYzMtaW1nLXR4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL3NsaS1jMy1pbWctdHh0L3NsaS1jMy1pbWctdHh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUgsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUtMLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBRzdILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzdGLE9BQU8sY0FBYyxNQUFNLHdCQUF3QixDQUFDO0FBRXBELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENB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QU1QLG9CQUFvQjtrQkFkaEMsU0FBUzsrQkFDSSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWiwrQkFBK0I7d0JBQy9CLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2QixZQUFZO3FCQUNmLGlCQUdjLGlCQUFpQixDQUFDLFFBQVE7MkVBV2hDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHTixhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFHN0MsVUFBVTtzQkFEVCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRzFDLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQW9FMUMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFN3aXBlciBmcm9tICdzd2lwZXInO1xuaW1wb3J0IHsgQXV0b3BsYXksIE5hdmlnYXRpb24gfSBmcm9tICdzd2lwZXInO1xuaW1wb3J0IHsgQmFieWxvbkxpbmtUeXBlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9saW5rLXR5cGUvbGluay10eXBlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCYWJ5bG9uU3dpcGVyQ3NzTG9hZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9iYWJ5bG9uLXNsaWRlcnMvYmFieWxvbi1zd2lwZXItY3NzLWxvYWRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFieWxvbkl0ZW1JLCBCYWJ5bG9uVGV4dEluZm9JIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCYWJ5bG9uR2xvYmFsRXhwZXJpZW5jZSB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvYmFieWxvbi1nbG9iYWwtZXhwZXJpZW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU0lURV9DT05GSUdfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL21hcHBlci9tYXBwZXIuc2VydmljZS50b2tlbic7XG5pbXBvcnQgc2xpZGVyU2V0dGluZ3MgZnJvbSAnLi9zbGlkZXItc2V0dGluZ3MuanNvbic7XG5pbXBvcnQgeyBTbGlDM0ltZ1R4dFNsaWRlSXRlbSB9IGZyb20gJy4vc2xpLWMzLWltZy10eHQuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRGaXJzdEltYWdlQnlUYWdGcm9tSW1hZ2VzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvbXV0aW1lZGlhLnV0aWxzJztcbmltcG9ydCB7IGdldEFpQmFkZ2VUZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvYWktYmFkZ2UudXRpbHMnO1xuaW1wb3J0IHsgQmFieWxvbkFpQmFkZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2JhYnlsb24tYWktYmFkZ2UvYmFieWxvbi1haS1iYWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWlCYWRnZXNQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvYWktYmFkZ2VzLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NsaS1jMy1pbWctdHh0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBCYWJ5bG9uU3dpcGVyQ3NzTG9hZGVyRGlyZWN0aXZlLFxuICAgICAgICBCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgICAgIEJhYnlsb25BaUJhZGdlQ29tcG9uZW50LFxuICAgICAgICBBaUJhZGdlc1BpcGUsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2xpLWMzLWltZy10eHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zbGktYzMtaW1nLXR4dC5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG59KVxuZXhwb3J0IGNsYXNzIFNsaUMzSW1nVHh0Q29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2l0ZVN2YyA9IGluamVjdChTSVRFX0NPTkZJR19TRVJWSUNFX1RPS0VOKTtcbiAgICBwcml2YXRlIHNsaWRlckluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBzd2lwZXJJbnN0YW5jZT86IFN3aXBlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhZ05hbWUgPSAnU2xpQzNJbWdUeHQnO1xuICAgIHB1YmxpYyBnZXRBaUJhZGdlVGV4dCA9IGdldEFpQmFkZ2VUZXh0O1xuXG4gICAgQElucHV0KCkgdGV4dHM/OiBCYWJ5bG9uVGV4dEluZm9JO1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogQmFieWxvbkl0ZW1JW107XG4gICAgQElucHV0KCkgZXhwZXJpZW5jZXM/OiBCYWJ5bG9uR2xvYmFsRXhwZXJpZW5jZVtdO1xuXG4gICAgQFZpZXdDaGlsZCgnc2VjdGlvblNsaWRlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHNlY3Rpb25TbGlkZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCdzbGlkZXJQcmV2JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgc2xpZGVyUHJldj86IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3NsaWRlck5leHQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBzbGlkZXJOZXh0PzogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgICByZWFkb25seSBzbGlkZXJDb25maWcgPSBzbGlkZXJTZXR0aW5ncztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUpIHt9XG5cbiAgICBnZXQgbm9ybWFsaXplZEl0ZW1zKCk6IFNsaUMzSW1nVHh0U2xpZGVJdGVtW10ge1xuICAgICAgICBjb25zdCBzb3VyY2UgPSB0aGlzLml0ZW1zPy5sZW5ndGhcbiAgICAgICAgICAgID8gdGhpcy5pdGVtc1xuICAgICAgICAgICAgOiAodGhpcy5leHBlcmllbmNlcyBhcyBCYWJ5bG9uSXRlbUlbXSB8IHVuZGVmaW5lZCk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChzb3VyY2VcbiAgICAgICAgICAgICAgICA/Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbWFnZSA9IHRoaXMucmVzb2x2ZUltYWdlKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWltYWdlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpdGxlID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0/LnRleHRzPy50aXRsZSA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbT8udGV4dHM/Lm5hbWUgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0/LnRpdGxlID8/XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtPy5sYWJlbCA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0gYXMgYW55KT8ubmFtZUlkZW50aWZpZXIgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICcnO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0/LnRleHRzPy5kZXNjcmlwdGlvbiA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbT8uZGVzY3JpcHRpb24gPz9cbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0/LnRleHQgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICcnO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByaW1hcnlMaW5rID0gaXRlbT8uYnV0dG9ucz8uWzBdID8/IGl0ZW0/LmxpbmtzPy5bMF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1VcmwgPSAoaXRlbSBhcyBhbnkpPy51cmw7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAoaXRlbSBhcyBhbnkpPy5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogcHJpbWFyeUxpbms/LnVybCA/PyBpdGVtVXJsID8/ICcjJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtUeXBlOiBwcmltYXJ5TGluaz8ubGlua1R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IHByaW1hcnlMaW5rPy50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA/LmZpbHRlcihCb29sZWFuKSBhcyBTbGlDM0ltZ1R4dFNsaWRlSXRlbVtdKSA/PyBbXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0U2xpZGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoY2hhbmdlc1snaXRlbXMnXSB8fCBjaGFuZ2VzWydleHBlcmllbmNlcyddKSAmJlxuICAgICAgICAgICAgdGhpcy5zbGlkZXJJbml0aWFsaXplZFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVNsaWRlcigpO1xuICAgICAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy5pbml0U2xpZGVyKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveVNsaWRlcigpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICAgIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2xpZGVySW5pdGlhbGl6ZWQpIHJldHVybjtcblxuICAgICAgICB0aGlzLmRlc3Ryb3lTbGlkZXIoKTtcbiAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy5pbml0U2xpZGVyKCkpO1xuICAgIH1cblxuICAgIHRyYWNrSXRlbShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzb2x2ZUltYWdlKFxuICAgICAgICBpdGVtOiBCYWJ5bG9uSXRlbUlcbiAgICApOiB7IHNyYzogc3RyaW5nOyBhbHQ/OiBzdHJpbmc7IHRhZ3M/OiBhbnkgfSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHRhZ2dlZE1hcHBlZEltYWdlID1cbiAgICAgICAgICAgIGdldEZpcnN0SW1hZ2VCeVRhZ0Zyb21JbWFnZXMoXG4gICAgICAgICAgICAgICAgaXRlbT8ubXVsdGltZWRpYT8uaW1hZ2VuZXMsXG4gICAgICAgICAgICAgICAgdGhpcy50YWdOYW1lXG4gICAgICAgICAgICApID8/IGl0ZW0/Lm11bHRpbWVkaWE/LmltYWdlbmVzPy5bMF07XG5cbiAgICAgICAgY29uc3QgbWFwcGVkVGFnZ2VkU3JjID0gdGFnZ2VkTWFwcGVkSW1hZ2U/LmltZz8uc3JjO1xuICAgICAgICBpZiAobWFwcGVkVGFnZ2VkU3JjKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHRhZ3M6IHRhZ2dlZE1hcHBlZEltYWdlPy50YWdzLFxuICAgICAgICAgICAgICAgIHNyYzogdGhpcy5ub3JtYWxpemVJbWFnZVVybChtYXBwZWRUYWdnZWRTcmMpLFxuICAgICAgICAgICAgICAgIGFsdDpcbiAgICAgICAgICAgICAgICAgICAgdGFnZ2VkTWFwcGVkSW1hZ2U/LmltZz8uYWx0ID8/XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0/LnRleHRzPy50aXRsZSA/P1xuICAgICAgICAgICAgICAgICAgICBpdGVtPy50aXRsZSA/P1xuICAgICAgICAgICAgICAgICAgICBpdGVtPy5sYWJlbCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkaXJlY3QgPSBpdGVtPy5pbWc/LnNyYztcbiAgICAgICAgaWYgKGRpcmVjdCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB0YWdzOiBpdGVtPy50YWdzLFxuICAgICAgICAgICAgICAgIHNyYzogdGhpcy5ub3JtYWxpemVJbWFnZVVybChkaXJlY3QpLFxuICAgICAgICAgICAgICAgIGFsdDpcbiAgICAgICAgICAgICAgICAgICAgaXRlbT8uaW1nPy5hbHQgPz9cbiAgICAgICAgICAgICAgICAgICAgaXRlbT8udGV4dHM/LnRpdGxlID8/XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0/LnRpdGxlID8/XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0/LmxhYmVsLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZyb21NYXBwZWQgPSBpdGVtPy5tdWx0aW1lZGlhPy5pbWFnZW5lcz8uWzBdPy5pbWc/LnNyYztcbiAgICAgICAgaWYgKGZyb21NYXBwZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdGFnczogaXRlbT8ubXVsdGltZWRpYT8uaW1hZ2VuZXM/LlswXT8udGFncyxcbiAgICAgICAgICAgICAgICBzcmM6IHRoaXMubm9ybWFsaXplSW1hZ2VVcmwoZnJvbU1hcHBlZCksXG4gICAgICAgICAgICAgICAgYWx0OlxuICAgICAgICAgICAgICAgICAgICBpdGVtPy5tdWx0aW1lZGlhPy5pbWFnZW5lcz8uWzBdPy5pbWc/LmFsdCA/P1xuICAgICAgICAgICAgICAgICAgICBpdGVtPy50ZXh0cz8udGl0bGUgPz9cbiAgICAgICAgICAgICAgICAgICAgaXRlbT8udGl0bGUgPz9cbiAgICAgICAgICAgICAgICAgICAgaXRlbT8ubGFiZWwsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmF3SW1hZ2VzID0gKGl0ZW0gYXMgYW55KT8ubXVsdGltZWRpYSBhcyBhbnlbXSB8IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgcmF3ID1cbiAgICAgICAgICAgIGdldEZpcnN0SW1hZ2VCeVRhZ0Zyb21JbWFnZXMocmF3SW1hZ2VzIGFzIGFueSwgdGhpcy50YWdOYW1lKSA/P1xuICAgICAgICAgICAgcmF3SW1hZ2VzPy5bMF07XG4gICAgICAgIGNvbnN0IHJhd1NyYyA9XG4gICAgICAgICAgICByYXc/LnBhdGg/LndlYnAgPz9cbiAgICAgICAgICAgIHJhdz8ucGF0aD8ub3JpZ2luYWwgPz9cbiAgICAgICAgICAgIHJhdz8udGh1bWJuYWlscz8uWzEzNjZdPy53ZWJwID8/XG4gICAgICAgICAgICByYXc/LnRodW1ibmFpbHM/LlsxMjgwXT8ud2VicCA/P1xuICAgICAgICAgICAgcmF3Py50aHVtYm5haWxzPy5bMTAyNF0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhdz8udGh1bWJuYWlscz8uWzc2OF0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhdz8udGh1bWJuYWlscz8uWzU0MF0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhdz8udGh1bWJuYWlscz8uWzM3NV0/LndlYnAgPz9cbiAgICAgICAgICAgIHJhdz8udGh1bWJuYWlscz8uWzEzNjZdPy5vcmlnaW5hbCA/P1xuICAgICAgICAgICAgcmF3Py50aHVtYm5haWxzPy5bMTI4MF0/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICByYXc/LnRodW1ibmFpbHM/LlsxMDI0XT8ub3JpZ2luYWwgPz9cbiAgICAgICAgICAgIHJhdz8udGh1bWJuYWlscz8uWzc2OF0/Lm9yaWdpbmFsID8/XG4gICAgICAgICAgICByYXc/LnRodW1ibmFpbHM/Lls1NDBdPy5vcmlnaW5hbCA/P1xuICAgICAgICAgICAgcmF3Py50aHVtYm5haWxzPy5bMzc1XT8ub3JpZ2luYWw7XG5cbiAgICAgICAgaWYgKCFyYXdTcmMpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRhZ3M6IHJhdz8udGFncyxcbiAgICAgICAgICAgIHNyYzogdGhpcy5ub3JtYWxpemVJbWFnZVVybChyYXdTcmMpLFxuICAgICAgICAgICAgYWx0OiByYXc/LmFsdCA/PyBpdGVtPy50ZXh0cz8udGl0bGUgPz8gaXRlbT8udGl0bGUgPz8gaXRlbT8ubGFiZWwsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBub3JtYWxpemVJbWFnZVVybChzcmM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICgvXihodHRwcz86KT9cXC9cXC8vaS50ZXN0KHNyYykgfHwgL14oZGF0YXxibG9iKTovaS50ZXN0KHNyYykpIHtcbiAgICAgICAgICAgIHJldHVybiBzcmM7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjZG5CYXNlID0gKHRoaXMuc2l0ZVN2Yz8uY2RuSW1hZ2VzSW5zdGFudCA/PyAnJykudG9TdHJpbmcoKTtcbiAgICAgICAgaWYgKCFjZG5CYXNlKSByZXR1cm4gc3JjO1xuXG4gICAgICAgIGNvbnN0IGNsZWFuQmFzZSA9IGNkbkJhc2UuZW5kc1dpdGgoJy8nKSA/IGNkbkJhc2UgOiBgJHtjZG5CYXNlfS9gO1xuICAgICAgICBjb25zdCBjbGVhblNyYyA9IHNyYy5yZXBsYWNlKC9eXFwvKy8sICcnKTtcbiAgICAgICAgcmV0dXJuIGAke2NsZWFuQmFzZX0ke2NsZWFuU3JjfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2xpZGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnNsaWRlckluaXRpYWxpemVkIHx8XG4gICAgICAgICAgICB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgICAgICAgIXRoaXMuc2VjdGlvblNsaWRlclxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5ub3JtYWxpemVkSXRlbXM7XG4gICAgICAgIGNvbnN0IGhhc011bHRpcGxlU2xpZGVzID0gaXRlbXMubGVuZ3RoID4gMTtcbiAgICAgICAgY29uc3Qgc2xpZGVzUGVyVmlld0ZvclZpZXdwb3J0ID0gdGhpcy5nZXRTbGlkZXNQZXJWaWV3Rm9yVmlld3BvcnQoKTtcbiAgICAgICAgY29uc3QgaGFzSW5zdWZmaWNpZW50U2xpZGVzID0gaXRlbXMubGVuZ3RoIDw9IHNsaWRlc1BlclZpZXdGb3JWaWV3cG9ydDtcbiAgICAgICAgY29uc3Qgc2hvdWxkTG9vcCA9IGhhc011bHRpcGxlU2xpZGVzICYmICFoYXNJbnN1ZmZpY2llbnRTbGlkZXM7XG5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zd2lwZXJJbnN0YW5jZSA9IG5ldyBTd2lwZXIoXG4gICAgICAgICAgICAgICAgdGhpcy5zZWN0aW9uU2xpZGVyIS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlczogW05hdmlnYXRpb24sIEF1dG9wbGF5XSxcbiAgICAgICAgICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogMSxcbiAgICAgICAgICAgICAgICAgICAgc2xpZGVzUGVyR3JvdXA6IDEsXG4gICAgICAgICAgICAgICAgICAgIHNwZWVkOiAzMDAsXG4gICAgICAgICAgICAgICAgICAgIGxvb3A6IHNob3VsZExvb3AsXG4gICAgICAgICAgICAgICAgICAgIHdhdGNoT3ZlcmZsb3c6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlckluc3VmZmljaWVudFNsaWRlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGlvbjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc011bHRpcGxlU2xpZGVzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlckNvbmZpZy5zaG93QnV0dG9ucyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zbGlkZXJQcmV2ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNsaWRlck5leHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0RWw6IHRoaXMuc2xpZGVyTmV4dC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZFbDogdGhpcy5zbGlkZXJQcmV2Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXk6IHRoaXMuc2xpZGVyQ29uZmlnLmF1dG9wbGF5XG4gICAgICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiAzMDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZU9uSW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50czoge1xuICAgICAgICAgICAgICAgICAgICAgICAgNzY4OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzUGVyVmlldzogMi4yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1Blckdyb3VwOiAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDExMjQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNQZXJWaWV3OiAzLjIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzUGVyR3JvdXA6IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMuc2xpZGVySW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNsaWRlc1BlclZpZXdGb3JWaWV3cG9ydCgpOiBudW1iZXIge1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiAxO1xuXG4gICAgICAgIGNvbnN0IHdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIGlmICh3aWR0aCA+PSAxMTI0KSByZXR1cm4gMy4yO1xuICAgICAgICBpZiAod2lkdGggPj0gNzY4KSByZXR1cm4gMi4yO1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3lTbGlkZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zbGlkZXJJbml0aWFsaXplZCB8fCAhdGhpcy5zd2lwZXJJbnN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zd2lwZXJJbnN0YW5jZS5kZXN0cm95KHRydWUsIHRydWUpO1xuICAgICAgICB0aGlzLnN3aXBlckluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLnNsaWRlckluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtZGwtc2xpZGVyXCIgYmFieWxvblN3aXBlckNzc0xvYWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwibWRsLWNvbnRhaW5lclwiPlxuICAgICAgICBAaWYgKHRleHRzPy50aXRsZSkge1xuICAgICAgICAgICAgPGgyIGNsYXNzPVwibWRsLXRpdGxlXCI+e3sgdGV4dHM/LnRpdGxlIH19PC9oMj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXJcIiAjc2VjdGlvblNsaWRlcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygbm9ybWFsaXplZEl0ZW1zOyB0cmFjayB0cmFja0l0ZW0oJGluZGV4KSkge1xuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzd2lwZXItc2xpZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiaXRlbS51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cIml0ZW0udGFyZ2V0IHx8IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltYWdlLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5pbWFnZS5hbHQgfHwgaXRlbS50aXRsZSB8fCAnc2xpZGUgaW1hZ2UnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1hZ2UgfCBhaUJhZGdlczsgYXMgYmFkZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChiYWRnZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWJhYnlsb24tYWktYmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiYWRnZXNdPVwiYmFkZ2VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPVwidG9wLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbGliLWJhYnlsb24tYWktYmFkZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgc1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJtLXRpdHVsb1wiPnt7IGl0ZW0udGl0bGUgfX08L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS10ZXh0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIml0ZW0uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIEBpZiAobm9ybWFsaXplZEl0ZW1zLmxlbmd0aCA+IDEgJiYgc2xpZGVyQ29uZmlnLnNob3dCdXR0b25zKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN3aXBlci1idXR0b24tcHJldlwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQW50ZXJpb3JcIlxuICAgICAgICAgICAgICAgICAgICAjc2xpZGVyUHJldlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3dpcGVyLWJ1dHRvbi1uZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJTaWd1aWVudGVcIlxuICAgICAgICAgICAgICAgICAgICAjc2xpZGVyTmV4dFxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
|
|
@@ -6,6 +6,7 @@ import { HeadingTagUtils } from '../../../../utils/heading-tag.utils';
|
|
|
6
6
|
import { BabylonDynamicHeadingComponent } from '../../../shared';
|
|
7
7
|
import { getAiBadgeText } from '../../../../utils/ai-badge.utils';
|
|
8
8
|
import { BabylonAiBadgeComponent } from '../../../core/babylon-ai-badge/babylon-ai-badge.component';
|
|
9
|
+
import { AiBadgesPipe } from '../../../../pipes/ai-badges.pipe';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "@angular/common";
|
|
11
12
|
export class TopC2ImgTxtComponent {
|
|
@@ -194,7 +195,7 @@ export class TopC2ImgTxtComponent {
|
|
|
194
195
|
this.imageErrors.add(key);
|
|
195
196
|
}
|
|
196
197
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopC2ImgTxtComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
197
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TopC2ImgTxtComponent, isStandalone: true, selector: "top-c2-img-txt", inputs: { identifier: "identifier", multimedia: "multimedia", buttons: "buttons", content: "content", reverse: "reverse", imageOrder: "imageOrder", texts: "texts", tags: "tags" }, usesOnChanges: true, ngImport: i0, template: "@if (firstImage || secondImage) {\n <section\n class=\"mdl-topc2imgtext\"\n [class.reverse]=\"reverseLayout\"\n [attr.id]=\"identifier || ''\"\n >\n <div class=\"mdl-container\">\n <div class=\"m-columleft\">\n <div class=\"m-content\">\n @if (titleContent) {\n <lib-babylon-dynamic-heading\n [tag]=\"titleTag\"\n cssClass=\"m-titulo\"\n [content]=\"titleContent\"\n ></lib-babylon-dynamic-heading>\n }\n @if (subtitleContent) {\n <lib-babylon-dynamic-heading\n [tag]=\"subtitleTag\"\n cssClass=\"m-subtitulo\"\n [content]=\"subtitleContent\"\n ></lib-babylon-dynamic-heading>\n }\n <div class=\"m-image\" *ngIf=\"firstImage\">\n @if (\n hasImageSrc(firstImage) && !hasImageError('first')\n ) {\n <img\n [src]=\"\n firstImage?.img?.src ||\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n \"\n [alt]=\"\n firstImage?.img?.alt ??\n firstImage?.alt ??\n ''\n \"\n loading=\"lazy\"\n (error)=\"onImageError('first')\"\n />\n @if (getAiBadgeText(firstImage); as badgeText) {\n <lib-babylon-ai-badge\n [text]=\"badgeText.name\"\n [badgeId]=\"badgeText.id\"\n position=\"bottom-right\"\n bottom=\"250px\"\n right=\"100px\"\n ></lib-babylon-ai-badge>\n }\n } @else {\n <div\n class=\"m-image-placeholder\"\n aria-hidden=\"true\"\n ></div>\n }\n </div>\n @if (firstImage?.description || texts?.description) {\n <div\n class=\"m-texto\"\n [innerHTML]=\"\n firstImage?.description || texts?.description\n \"\n ></div>\n }\n @if (ctaButton; as btn) {\n <a\n class=\"m-buttonD\"\n [href]=\"btn?.url\"\n [linkType]=\"btn?.linkType\"\n [attr.target]=\"btn?.target || '_self'\"\n [attr.rel]=\"\n (btn?.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n [attr.aria-label]=\"btn?.label\"\n >\n {{ btn?.label }}\n </a>\n }\n </div>\n </div>\n <div class=\"m-columright\" *ngIf=\"secondImage\">\n <div class=\"m-image\">\n @if (hasImageSrc(secondImage) && !hasImageError('second')) {\n <img\n [src]=\"\n secondImage?.img?.src ||\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n \"\n [alt]=\"\n secondImage?.img?.alt ?? secondImage?.alt ?? ''\n \"\n loading=\"lazy\"\n (error)=\"onImageError('second')\"\n />\n @if (getAiBadgeText(secondImage); as badgeText) {\n <lib-babylon-ai-badge\n [text]=\"badgeText.name\"\n [badgeId]=\"badgeText.id\"\n position=\"top-right\"\n [additionalClasses]=\"'top--100'\"\n ></lib-babylon-ai-badge>\n }\n } @else {\n <div\n class=\"m-image-placeholder\"\n aria-hidden=\"true\"\n ></div>\n }\n </div>\n </div>\n </div>\n </section>\n}\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-topc2imgtext{padding-left:0!important;padding-right:0!important}.mdl-topc2imgtext.reverse .mdl-container{flex-direction:row-reverse}.mdl-topc2imgtext.reverse .mdl-container .m-columright .m-image{width:100%!important}.mdl-topc2imgtext .mdl-container{display:flex;height:145vh;max-width:none}.mdl-topc2imgtext .mdl-container .m-columleft{width:50%;position:relative}.mdl-topc2imgtext .mdl-container .m-columleft .m-content{width:100%;max-width:51.7rem;padding:0 2rem;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;position:absolute;left:50%;bottom:5rem;transform:translate(-50%)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{font-family:CoreSansG,sans-serif;font-size:3.4rem;font-style:normal;font-weight:300;line-height:4rem}@media (max-width: 600px){.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{font-size:2.6rem;line-height:3.2rem}}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{color:#393637;max-width:40rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;margin-top:3rem;color:#393637cb}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image{aspect-ratio:385/471;width:100%;max-width:38.5rem;overflow:hidden;border-radius:25rem 25rem 0 0;margin-top:5rem;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image img{width:100%;height:100%;object-fit:cover}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image .m-image-placeholder{width:100%;height:100%;min-height:24rem;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-texto{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;margin-top:5rem;color:#393637cb;max-width:38.5rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD span{color:#393637}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD{margin-top:3.5rem}.mdl-topc2imgtext .mdl-container .m-columright{width:50%;height:100%;position:relative}.mdl-topc2imgtext .mdl-container .m-columright .m-image{width:100%;height:100vh;position:sticky;top:0;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columright .m-image img{width:100%;height:100%;object-fit:cover}.mdl-topc2imgtext .mdl-container .m-columright .m-image .m-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}@media (max-width: 1200px){.mdl-topc2imgtext .mdl-container{flex-direction:column-reverse!important;height:auto}.mdl-topc2imgtext .mdl-container .m-columleft{width:100%;height:auto;margin-top:16rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content{position:relative}.mdl-topc2imgtext .mdl-container .m-columright{width:100%}.mdl-topc2imgtext .mdl-container .m-columright .m-image{width:100%;height:70vh;position:relative}}@media (max-width: 850px){.mdl-topc2imgtext .mdl-container .m-columright .m-image{height:50vh}}@media (max-width: 600px){.mdl-topc2imgtext .mdl-container .m-columright .m-image{height:40vh}}body{overflow-x:unset!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup", "disablePointerNone"], outputs: ["anchorClicked"] }, { kind: "component", type: BabylonDynamicHeadingComponent, selector: "lib-babylon-dynamic-heading", inputs: ["useInnerHtml", "tag", "wrapper", "cssClass", "content", "color"] }, { kind: "component", type: BabylonAiBadgeComponent, selector: "lib-babylon-ai-badge", inputs: ["badgeId", "text", "position", "additionalClasses", "top", "bottom", "left", "right"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
198
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TopC2ImgTxtComponent, isStandalone: true, selector: "top-c2-img-txt", inputs: { identifier: "identifier", multimedia: "multimedia", buttons: "buttons", content: "content", reverse: "reverse", imageOrder: "imageOrder", texts: "texts", tags: "tags" }, usesOnChanges: true, ngImport: i0, template: "@if (firstImage || secondImage) {\n <section\n class=\"mdl-topc2imgtext\"\n [class.reverse]=\"reverseLayout\"\n [attr.id]=\"identifier || ''\"\n >\n <div class=\"mdl-container\">\n <div class=\"m-columleft\">\n <div class=\"m-content\">\n @if (titleContent) {\n <lib-babylon-dynamic-heading\n [tag]=\"titleTag\"\n cssClass=\"m-titulo\"\n [content]=\"titleContent\"\n ></lib-babylon-dynamic-heading>\n }\n @if (subtitleContent) {\n <lib-babylon-dynamic-heading\n [tag]=\"subtitleTag\"\n cssClass=\"m-subtitulo\"\n [content]=\"subtitleContent\"\n ></lib-babylon-dynamic-heading>\n }\n <div class=\"m-image\" *ngIf=\"firstImage\">\n @if (\n hasImageSrc(firstImage) && !hasImageError('first')\n ) {\n <img\n [src]=\"\n firstImage?.img?.src ||\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n \"\n [alt]=\"\n firstImage?.img?.alt ??\n firstImage?.alt ??\n ''\n \"\n loading=\"lazy\"\n (error)=\"onImageError('first')\"\n />\n @if (firstImage | aiBadges; as badges) {\n @if (badges.length > 0) {\n <lib-babylon-ai-badge\n [badges]=\"badges\"\n position=\"bottom-right\"\n bottom=\"250px\"\n right=\"100px\"\n ></lib-babylon-ai-badge>\n }\n }\n } @else {\n <div\n class=\"m-image-placeholder\"\n aria-hidden=\"true\"\n ></div>\n }\n </div>\n @if (firstImage?.description || texts?.description) {\n <div\n class=\"m-texto\"\n [innerHTML]=\"\n firstImage?.description || texts?.description\n \"\n ></div>\n }\n @if (ctaButton; as btn) {\n <a\n class=\"m-buttonD\"\n [href]=\"btn?.url\"\n [linkType]=\"btn?.linkType\"\n [attr.target]=\"btn?.target || '_self'\"\n [attr.rel]=\"\n (btn?.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n [attr.aria-label]=\"btn?.label\"\n >\n {{ btn?.label }}\n </a>\n }\n </div>\n </div>\n <div class=\"m-columright\" *ngIf=\"secondImage\">\n <div class=\"m-image\">\n @if (hasImageSrc(secondImage) && !hasImageError('second')) {\n <img\n [src]=\"\n secondImage?.img?.src ||\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n \"\n [alt]=\"\n secondImage?.img?.alt ?? secondImage?.alt ?? ''\n \"\n loading=\"lazy\"\n (error)=\"onImageError('second')\"\n />\n @if (secondImage | aiBadges; as badges) {\n @if (badges.length > 0) {\n <lib-babylon-ai-badge\n [badges]=\"badges\"\n position=\"top-right\"\n [additionalClasses]=\"'top--100'\"\n ></lib-babylon-ai-badge>\n }\n }\n } @else {\n <div\n class=\"m-image-placeholder\"\n aria-hidden=\"true\"\n ></div>\n }\n </div>\n </div>\n </div>\n </section>\n}\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-topc2imgtext{padding-left:0!important;padding-right:0!important}.mdl-topc2imgtext.reverse .mdl-container{flex-direction:row-reverse}.mdl-topc2imgtext.reverse .mdl-container .m-columright .m-image{width:100%!important}.mdl-topc2imgtext .mdl-container{display:flex;height:145vh;max-width:none}.mdl-topc2imgtext .mdl-container .m-columleft{width:50%;position:relative}.mdl-topc2imgtext .mdl-container .m-columleft .m-content{width:100%;max-width:51.7rem;padding:0 2rem;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;position:absolute;left:50%;bottom:5rem;transform:translate(-50%)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{font-family:CoreSansG,sans-serif;font-size:3.4rem;font-style:normal;font-weight:300;line-height:4rem}@media (max-width: 600px){.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{font-size:2.6rem;line-height:3.2rem}}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{color:#393637;max-width:40rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;margin-top:3rem;color:#393637cb}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image{aspect-ratio:385/471;width:100%;max-width:38.5rem;overflow:hidden;border-radius:25rem 25rem 0 0;margin-top:5rem;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image img{width:100%;height:100%;object-fit:cover}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image .m-image-placeholder{width:100%;height:100%;min-height:24rem;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-texto{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;margin-top:5rem;color:#393637cb;max-width:38.5rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD span{color:#393637}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD{margin-top:3.5rem}.mdl-topc2imgtext .mdl-container .m-columright{width:50%;height:100%;position:relative}.mdl-topc2imgtext .mdl-container .m-columright .m-image{width:100%;height:100vh;position:sticky;top:0;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columright .m-image img{width:100%;height:100%;object-fit:cover}.mdl-topc2imgtext .mdl-container .m-columright .m-image .m-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}@media (max-width: 1200px){.mdl-topc2imgtext .mdl-container{flex-direction:column-reverse!important;height:auto}.mdl-topc2imgtext .mdl-container .m-columleft{width:100%;height:auto;margin-top:16rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content{position:relative}.mdl-topc2imgtext .mdl-container .m-columright{width:100%}.mdl-topc2imgtext .mdl-container .m-columright .m-image{width:100%;height:70vh;position:relative}}@media (max-width: 850px){.mdl-topc2imgtext .mdl-container .m-columright .m-image{height:50vh}}@media (max-width: 600px){.mdl-topc2imgtext .mdl-container .m-columright .m-image{height:40vh}}body{overflow-x:unset!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup", "disablePointerNone"], outputs: ["anchorClicked"] }, { kind: "component", type: BabylonDynamicHeadingComponent, selector: "lib-babylon-dynamic-heading", inputs: ["useInnerHtml", "tag", "wrapper", "cssClass", "content", "color"] }, { kind: "component", type: BabylonAiBadgeComponent, selector: "lib-babylon-ai-badge", inputs: ["badges", "position", "additionalClasses", "top", "bottom", "left", "right"] }, { kind: "pipe", type: AiBadgesPipe, name: "aiBadges" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
198
199
|
}
|
|
199
200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopC2ImgTxtComponent, decorators: [{
|
|
200
201
|
type: Component,
|
|
@@ -203,7 +204,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
203
204
|
BabylonLinkTypeDirective,
|
|
204
205
|
BabylonDynamicHeadingComponent,
|
|
205
206
|
BabylonAiBadgeComponent,
|
|
206
|
-
], encapsulation: ViewEncapsulation.None, template: "@if (firstImage || secondImage) {\n <section\n class=\"mdl-topc2imgtext\"\n [class.reverse]=\"reverseLayout\"\n [attr.id]=\"identifier || ''\"\n >\n <div class=\"mdl-container\">\n <div class=\"m-columleft\">\n <div class=\"m-content\">\n @if (titleContent) {\n <lib-babylon-dynamic-heading\n [tag]=\"titleTag\"\n cssClass=\"m-titulo\"\n [content]=\"titleContent\"\n ></lib-babylon-dynamic-heading>\n }\n @if (subtitleContent) {\n <lib-babylon-dynamic-heading\n [tag]=\"subtitleTag\"\n cssClass=\"m-subtitulo\"\n [content]=\"subtitleContent\"\n ></lib-babylon-dynamic-heading>\n }\n <div class=\"m-image\" *ngIf=\"firstImage\">\n @if (\n hasImageSrc(firstImage) && !hasImageError('first')\n ) {\n <img\n [src]=\"\n firstImage?.img?.src ||\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n \"\n [alt]=\"\n firstImage?.img?.alt ??\n firstImage?.alt ??\n ''\n \"\n loading=\"lazy\"\n (error)=\"onImageError('first')\"\n />\n @if (getAiBadgeText(firstImage); as badgeText) {\n <lib-babylon-ai-badge\n [text]=\"badgeText.name\"\n [badgeId]=\"badgeText.id\"\n position=\"bottom-right\"\n bottom=\"250px\"\n right=\"100px\"\n ></lib-babylon-ai-badge>\n }\n } @else {\n <div\n class=\"m-image-placeholder\"\n aria-hidden=\"true\"\n ></div>\n }\n </div>\n @if (firstImage?.description || texts?.description) {\n <div\n class=\"m-texto\"\n [innerHTML]=\"\n firstImage?.description || texts?.description\n \"\n ></div>\n }\n @if (ctaButton; as btn) {\n <a\n class=\"m-buttonD\"\n [href]=\"btn?.url\"\n [linkType]=\"btn?.linkType\"\n [attr.target]=\"btn?.target || '_self'\"\n [attr.rel]=\"\n (btn?.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n [attr.aria-label]=\"btn?.label\"\n >\n {{ btn?.label }}\n </a>\n }\n </div>\n </div>\n <div class=\"m-columright\" *ngIf=\"secondImage\">\n <div class=\"m-image\">\n @if (hasImageSrc(secondImage) && !hasImageError('second')) {\n <img\n [src]=\"\n secondImage?.img?.src ||\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n \"\n [alt]=\"\n secondImage?.img?.alt ?? secondImage?.alt ?? ''\n \"\n loading=\"lazy\"\n (error)=\"onImageError('second')\"\n />\n @if (getAiBadgeText(secondImage); as badgeText) {\n <lib-babylon-ai-badge\n [text]=\"badgeText.name\"\n [badgeId]=\"badgeText.id\"\n position=\"top-right\"\n [additionalClasses]=\"'top--100'\"\n ></lib-babylon-ai-badge>\n }\n } @else {\n <div\n class=\"m-image-placeholder\"\n aria-hidden=\"true\"\n ></div>\n }\n </div>\n </div>\n </div>\n </section>\n}\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-topc2imgtext{padding-left:0!important;padding-right:0!important}.mdl-topc2imgtext.reverse .mdl-container{flex-direction:row-reverse}.mdl-topc2imgtext.reverse .mdl-container .m-columright .m-image{width:100%!important}.mdl-topc2imgtext .mdl-container{display:flex;height:145vh;max-width:none}.mdl-topc2imgtext .mdl-container .m-columleft{width:50%;position:relative}.mdl-topc2imgtext .mdl-container .m-columleft .m-content{width:100%;max-width:51.7rem;padding:0 2rem;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;position:absolute;left:50%;bottom:5rem;transform:translate(-50%)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{font-family:CoreSansG,sans-serif;font-size:3.4rem;font-style:normal;font-weight:300;line-height:4rem}@media (max-width: 600px){.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{font-size:2.6rem;line-height:3.2rem}}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{color:#393637;max-width:40rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;margin-top:3rem;color:#393637cb}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image{aspect-ratio:385/471;width:100%;max-width:38.5rem;overflow:hidden;border-radius:25rem 25rem 0 0;margin-top:5rem;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image img{width:100%;height:100%;object-fit:cover}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image .m-image-placeholder{width:100%;height:100%;min-height:24rem;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-texto{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;margin-top:5rem;color:#393637cb;max-width:38.5rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD span{color:#393637}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD{margin-top:3.5rem}.mdl-topc2imgtext .mdl-container .m-columright{width:50%;height:100%;position:relative}.mdl-topc2imgtext .mdl-container .m-columright .m-image{width:100%;height:100vh;position:sticky;top:0;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columright .m-image img{width:100%;height:100%;object-fit:cover}.mdl-topc2imgtext .mdl-container .m-columright .m-image .m-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}@media (max-width: 1200px){.mdl-topc2imgtext .mdl-container{flex-direction:column-reverse!important;height:auto}.mdl-topc2imgtext .mdl-container .m-columleft{width:100%;height:auto;margin-top:16rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content{position:relative}.mdl-topc2imgtext .mdl-container .m-columright{width:100%}.mdl-topc2imgtext .mdl-container .m-columright .m-image{width:100%;height:70vh;position:relative}}@media (max-width: 850px){.mdl-topc2imgtext .mdl-container .m-columright .m-image{height:50vh}}@media (max-width: 600px){.mdl-topc2imgtext .mdl-container .m-columright .m-image{height:40vh}}body{overflow-x:unset!important}\n"] }]
|
|
207
|
+
AiBadgesPipe,
|
|
208
|
+
], encapsulation: ViewEncapsulation.None, template: "@if (firstImage || secondImage) {\n <section\n class=\"mdl-topc2imgtext\"\n [class.reverse]=\"reverseLayout\"\n [attr.id]=\"identifier || ''\"\n >\n <div class=\"mdl-container\">\n <div class=\"m-columleft\">\n <div class=\"m-content\">\n @if (titleContent) {\n <lib-babylon-dynamic-heading\n [tag]=\"titleTag\"\n cssClass=\"m-titulo\"\n [content]=\"titleContent\"\n ></lib-babylon-dynamic-heading>\n }\n @if (subtitleContent) {\n <lib-babylon-dynamic-heading\n [tag]=\"subtitleTag\"\n cssClass=\"m-subtitulo\"\n [content]=\"subtitleContent\"\n ></lib-babylon-dynamic-heading>\n }\n <div class=\"m-image\" *ngIf=\"firstImage\">\n @if (\n hasImageSrc(firstImage) && !hasImageError('first')\n ) {\n <img\n [src]=\"\n firstImage?.img?.src ||\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n \"\n [alt]=\"\n firstImage?.img?.alt ??\n firstImage?.alt ??\n ''\n \"\n loading=\"lazy\"\n (error)=\"onImageError('first')\"\n />\n @if (firstImage | aiBadges; as badges) {\n @if (badges.length > 0) {\n <lib-babylon-ai-badge\n [badges]=\"badges\"\n position=\"bottom-right\"\n bottom=\"250px\"\n right=\"100px\"\n ></lib-babylon-ai-badge>\n }\n }\n } @else {\n <div\n class=\"m-image-placeholder\"\n aria-hidden=\"true\"\n ></div>\n }\n </div>\n @if (firstImage?.description || texts?.description) {\n <div\n class=\"m-texto\"\n [innerHTML]=\"\n firstImage?.description || texts?.description\n \"\n ></div>\n }\n @if (ctaButton; as btn) {\n <a\n class=\"m-buttonD\"\n [href]=\"btn?.url\"\n [linkType]=\"btn?.linkType\"\n [attr.target]=\"btn?.target || '_self'\"\n [attr.rel]=\"\n (btn?.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n [attr.aria-label]=\"btn?.label\"\n >\n {{ btn?.label }}\n </a>\n }\n </div>\n </div>\n <div class=\"m-columright\" *ngIf=\"secondImage\">\n <div class=\"m-image\">\n @if (hasImageSrc(secondImage) && !hasImageError('second')) {\n <img\n [src]=\"\n secondImage?.img?.src ||\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n \"\n [alt]=\"\n secondImage?.img?.alt ?? secondImage?.alt ?? ''\n \"\n loading=\"lazy\"\n (error)=\"onImageError('second')\"\n />\n @if (secondImage | aiBadges; as badges) {\n @if (badges.length > 0) {\n <lib-babylon-ai-badge\n [badges]=\"badges\"\n position=\"top-right\"\n [additionalClasses]=\"'top--100'\"\n ></lib-babylon-ai-badge>\n }\n }\n } @else {\n <div\n class=\"m-image-placeholder\"\n aria-hidden=\"true\"\n ></div>\n }\n </div>\n </div>\n </div>\n </section>\n}\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-topc2imgtext{padding-left:0!important;padding-right:0!important}.mdl-topc2imgtext.reverse .mdl-container{flex-direction:row-reverse}.mdl-topc2imgtext.reverse .mdl-container .m-columright .m-image{width:100%!important}.mdl-topc2imgtext .mdl-container{display:flex;height:145vh;max-width:none}.mdl-topc2imgtext .mdl-container .m-columleft{width:50%;position:relative}.mdl-topc2imgtext .mdl-container .m-columleft .m-content{width:100%;max-width:51.7rem;padding:0 2rem;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;position:absolute;left:50%;bottom:5rem;transform:translate(-50%)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{font-family:CoreSansG,sans-serif;font-size:3.4rem;font-style:normal;font-weight:300;line-height:4rem}@media (max-width: 600px){.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{font-size:2.6rem;line-height:3.2rem}}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-titulo{color:#393637;max-width:40rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;margin-top:3rem;color:#393637cb}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image{aspect-ratio:385/471;width:100%;max-width:38.5rem;overflow:hidden;border-radius:25rem 25rem 0 0;margin-top:5rem;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image img{width:100%;height:100%;object-fit:cover}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-image .m-image-placeholder{width:100%;height:100%;min-height:24rem;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-texto{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;margin-top:5rem;color:#393637cb;max-width:38.5rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD span{color:#393637}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD:hover{background-color:#fcdd3f;transition:.5s;border:0}.mdl-topc2imgtext .mdl-container .m-columleft .m-content .m-buttonD{margin-top:3.5rem}.mdl-topc2imgtext .mdl-container .m-columright{width:50%;height:100%;position:relative}.mdl-topc2imgtext .mdl-container .m-columright .m-image{width:100%;height:100vh;position:sticky;top:0;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}.mdl-topc2imgtext .mdl-container .m-columright .m-image img{width:100%;height:100%;object-fit:cover}.mdl-topc2imgtext .mdl-container .m-columright .m-image .m-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#f2efe9,#e9e4dc)}@media (max-width: 1200px){.mdl-topc2imgtext .mdl-container{flex-direction:column-reverse!important;height:auto}.mdl-topc2imgtext .mdl-container .m-columleft{width:100%;height:auto;margin-top:16rem}.mdl-topc2imgtext .mdl-container .m-columleft .m-content{position:relative}.mdl-topc2imgtext .mdl-container .m-columright{width:100%}.mdl-topc2imgtext .mdl-container .m-columright .m-image{width:100%;height:70vh;position:relative}}@media (max-width: 850px){.mdl-topc2imgtext .mdl-container .m-columright .m-image{height:50vh}}@media (max-width: 600px){.mdl-topc2imgtext .mdl-container .m-columright .m-image{height:40vh}}body{overflow-x:unset!important}\n"] }]
|
|
207
209
|
}], propDecorators: { identifier: [{
|
|
208
210
|
type: Input
|
|
209
211
|
}], multimedia: [{
|
|
@@ -221,4 +223,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
221
223
|
}], tags: [{
|
|
222
224
|
type: Input
|
|
223
225
|
}] } });
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWMyLWltZy10eHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvZXh0ZXJuYWwvY29yZS90b3AtYzItaW1nLXR4dC90b3AtYzItaW1nLXR4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL3RvcC1jMi1pbWctdHh0L3RvcC1jMi1pbWctdHh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQVNoRyxPQUFPLEVBQ0gsNEJBQTRCLEVBQzVCLGdCQUFnQixHQUNuQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkRBQTJELENBQUM7OztBQWVwRyxNQUFNLE9BQU8sb0JBQW9CO0lBYmpDO1FBY2EsZUFBVSxHQUFZLEVBQUUsQ0FBQztRQUUzQixtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQWE5QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBTVIsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0tBK05wRDtJQWhQRyxJQUNJLFVBQVUsQ0FBQyxL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QUFDLENBQUM7SUFDOUIsQ0FBQzsrR0FwUFEsb0JBQW9CO21HQUFwQixvQkFBb0IsbVJDbENqQyxzcktBbUhBLDgrT0QxRlEsWUFBWSxtSUFDWix3QkFBd0IsbUtBQ3hCLDhCQUE4QixvSkFDOUIsdUJBQXVCOzs0RkFNbEIsb0JBQW9CO2tCQWJoQyxTQUFTOytCQUNJLGdCQUFnQixjQUNkLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHdCQUF3Qjt3QkFDeEIsOEJBQThCO3dCQUM5Qix1QkFBdUI7cUJBQzFCLGlCQUdjLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0YsVUFBVTtzQkFEYixLQUFLO2dCQVNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFieWxvbkxpbmtUeXBlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9saW5rLXR5cGUvbGluay10eXBlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIEJhYnlsb25CdXR0b25JLFxuICAgIEJhYnlsb25JbWFnZUksXG4gICAgQmFieWxvbk11bHRpbWVkaWFJLFxuICAgIEJhYnlsb25Sb29tRGV0YWlsSSxcbiAgICBCYWJ5bG9uVGFnc0ksXG4gICAgQmFieWxvblRleHRJbmZvSSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICAgIGdldEltYWdlc0J5VGFnRnJvbU11bHRpbWVkaWEsXG4gICAgZ2V0T3JkZXJlZEltYWdlcyxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvbXV0aW1lZGlhLnV0aWxzJztcbmltcG9ydCB7IEhlYWRpbmdUYWdVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2hlYWRpbmctdGFnLnV0aWxzJztcbmltcG9ydCB7IEJhYnlsb25EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBUb3BDMkltZ1R4dENvbnRlbnQgfSBmcm9tICcuL3RvcC1jMi1pbWctdHh0LmludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0QWlCYWRnZVRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9haS1iYWRnZS51dGlscyc7XG5pbXBvcnQgeyBCYWJ5bG9uQWlCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvYmFieWxvbi1haS1iYWRnZS9iYWJ5bG9uLWFpLWJhZGdlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndG9wLWMyLWltZy10eHQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgQmFieWxvbkR5bmFtaWNIZWFkaW5nQ29tcG9uZW50LFxuICAgICAgICBCYWJ5bG9uQWlCYWRnZUNvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b3AtYzItaW1nLXR4dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3RvcC1jMi1pbWctdHh0LmNvbXBvbmVudC5zY3NzJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUb3BDMkltZ1R4dENvbXBvbmVudCB7XG4gICAgQElucHV0KCkgaWRlbnRpZmllcj86IHN0cmluZyA9ICcnO1xuICAgIHByaXZhdGUgX211bHRpbWVkaWE/OiBCYWJ5bG9uTXVsdGltZWRpYUkgfCBCYWJ5bG9uUm9vbURldGFpbEk7XG4gICAgcHVibGljIGdldEFpQmFkZ2VUZXh0ID0gZ2V0QWlCYWRnZVRleHQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBtdWx0aW1lZGlhKHZhbHVlOiBCYWJ5bG9uTXVsdGltZWRpYUkgfCBCYWJ5bG9uUm9vbURldGFpbEkgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fbXVsdGltZWRpYSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnVwZGF0ZU5vcm1hbGl6ZWRNdWx0aW1lZGlhKCk7XG4gICAgfVxuXG4gICAgZ2V0IG11bHRpbWVkaWEoKTogQmFieWxvbk11bHRpbWVkaWFJIHwgQmFieWxvblJvb21EZXRhaWxJIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX211bHRpbWVkaWE7XG4gICAgfVxuICAgIEBJbnB1dCgpIGJ1dHRvbnM/OiBCYWJ5bG9uQnV0dG9uSVtdO1xuICAgIEBJbnB1dCgpIGNvbnRlbnQ/OiBUb3BDMkltZ1R4dENvbnRlbnQ7XG4gICAgQElucHV0KCkgcmV2ZXJzZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGltYWdlT3JkZXI/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgQElucHV0KCkgdGV4dHM/OiBCYWJ5bG9uVGV4dEluZm9JO1xuICAgIEBJbnB1dCgpIHRhZ3M/OiBCYWJ5bG9uVGFnc0k7XG5cbiAgICBwcml2YXRlIF9ub3JtYWxpemVkTXVsdGltZWRpYT86IEJhYnlsb25NdWx0aW1lZGlhSSB8IHVuZGVmaW5lZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGltYWdlRXJyb3JzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIHVwZGF0ZU5vcm1hbGl6ZWRNdWx0aW1lZGlhKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtdWx0aW1lZGlhID0gdGhpcy5fbXVsdGltZWRpYTtcbiAgICAgICAgaWYgKCFtdWx0aW1lZGlhKSB7XG4gICAgICAgICAgICB0aGlzLl9ub3JtYWxpemVkTXVsdGltZWRpYSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBUQUcgPSAnVG9wQzJJbWdUeHQnO1xuICAgICAgICBpZiAodGhpcy5pc1Jvb21EZXRhaWwobXVsdGltZWRpYSkpIHtcbiAgICAgICAgICAgIGxldCBpbWFnZW5lcyA9IChtdWx0aW1lZGlhLm11bHRpbWVkaWE/LmltYWdlbmVzID8/XG4gICAgICAgICAgICAgICAgbXVsdGltZWRpYS5pbWFnZXMgPz9cbiAgICAgICAgICAgICAgICBbXSkgYXMgQmFieWxvbkltYWdlSVtdO1xuICAgICAgICAgICAgaW1hZ2VuZXMgPSBnZXRJbWFnZXNCeVRhZ0Zyb21NdWx0aW1lZGlhKHsgaW1hZ2VuZXMgfSwgVEFHKTtcbiAgICAgICAgICAgIGNvbnN0IFtmaXJzdCwgLi4ucmVzdF0gPSBpbWFnZW5lcztcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRJbWFnZTogQmFieWxvbkltYWdlSSB8IHVuZGVmaW5lZCA9IGZpcnN0XG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uZmlyc3QsXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGZpcnN0LnRpdGxlIHx8IG11bHRpbWVkaWEudGV4dHM/Lm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0LmRlc2NyaXB0aW9uIHx8IG11bHRpbWVkaWEudGV4dHM/LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy50ZXh0cyA9IG11bHRpbWVkaWEudGV4dHM7XG4gICAgICAgICAgICB0aGlzLl9ub3JtYWxpemVkTXVsdGltZWRpYSA9IHtcbiAgICAgICAgICAgICAgICBpbWFnZW5lczogY29udGVudEltYWdlID8gW2NvbnRlbnRJbWFnZSwgLi4ucmVzdF0gOiBpbWFnZW5lcyxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2kgbm8gZXMgUm9vbURldGFpbCwgTk8gZmlsdHJhbW9zIHBvciB0YWcsIHNvbG8gZGV2b2x2ZW1vcyBsYXMgaW3DoWdlbmVzIHRhbCBjdWFsXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICdpbWFnZW5lcycgaW4gbXVsdGltZWRpYSAmJlxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheSgobXVsdGltZWRpYSBhcyBhbnkpLmltYWdlbmVzKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuX25vcm1hbGl6ZWRNdWx0aW1lZGlhID0ge1xuICAgICAgICAgICAgICAgIC4uLm11bHRpbWVkaWEsXG4gICAgICAgICAgICAgICAgaW1hZ2VuZXM6IChtdWx0aW1lZGlhIGFzIGFueSkuaW1hZ2VuZXMsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX25vcm1hbGl6ZWRNdWx0aW1lZGlhID0gbXVsdGltZWRpYTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ211bHRpbWVkaWEnXSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOb3JtYWxpemVkTXVsdGltZWRpYSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHJldmVyc2VMYXlvdXQoKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIFVzYXIgZWwgbWlzbW8gcGFyIGRlIGltw6FnZW5lcyBxdWUgc2UgbXVlc3RyYW4gKGNvbnNlY3V0aXZhcylcbiAgICAgICAgY29uc3QgW2ZpcnN0LCBzZWNvbmRdID0gdGhpcy5nZXRDb25zZWN1dGl2ZUltYWdlcygpO1xuICAgICAgICBpZiAoIXRoaXMuaGFzVGV4dChmaXJzdCkgJiYgdGhpcy5oYXNUZXh0KHNlY29uZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQ/LnJldmVyc2UgPz8gdGhpcy5yZXZlcnNlO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50SW1hZ2UoKTogQmFieWxvbkltYWdlSSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGltYWdlcyA9IHRoaXMubm9ybWFsaXplZE11bHRpbWVkaWE/LmltYWdlbmVzID8/IFtdO1xuICAgICAgICBjb25zdCBmaXJzdCA9IHRoaXMuZ2V0SW1hZ2VCeU9yZGVyKDEsIGltYWdlcyk7XG4gICAgICAgIGNvbnN0IHNlY29uZCA9IHRoaXMuZ2V0SW1hZ2VCeU9yZGVyKDIsIGltYWdlcyk7XG4gICAgICAgIGlmICh0aGlzLmhhc1RleHQoZmlyc3QpKSByZXR1cm4gZmlyc3Q7XG4gICAgICAgIGlmICh0aGlzLmhhc1RleHQoc2Vjb25kKSkgcmV0dXJuIHNlY29uZDtcbiAgICAgICAgcmV0dXJuIGZpcnN0ID8/IHNlY29uZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEltYWdlQnlPcmRlcihcbiAgICAgICAgb3JkZXI6IG51bWJlciB8IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgaW1hZ2VzOiBCYWJ5bG9uSW1hZ2VJW11cbiAgICApOiBCYWJ5bG9uSW1hZ2VJIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKG9yZGVyID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBpbWFnZXNbMF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGltYWdlcy5maW5kKChpbWcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGltZ09yZGVyID0gKGltZyBhcyBhbnkpLm9yZGVyO1xuICAgICAgICAgICAgcmV0dXJuIGltZ09yZGVyICE9IG51bGwgJiYgaW1nT3JkZXIudG9TdHJpbmcoKSA9PT0gb3JkZXIudG9TdHJpbmcoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV2dWVsdmUgbGFzIGltw6FnZW5lcyBmaWx0cmFkYXMgcG9yIHRhZyB5IG9yZGVuYWRhcyBwb3Igb3JkZXIgYXNjZW5kZW50ZS5cbiAgICAgKiBTZSB1c2EgY29tbyBiYXNlIHBhcmEgbW9zdHJhciBpbcOhZ2VuZXMgZW4gZWwgSFRNTCwgYXNlZ3VyYW5kbyBxdWUgc2llbXByZSBlc3TDqW4gZW4gZWwgb3JkZW4gY29ycmVjdG8uXG4gICAgICovXG4gICAgZ2V0IG9yZGVyZWRJbWFnZXMoKTogQmFieWxvbkltYWdlSVtdIHtcbiAgICAgICAgcmV0dXJuIGdldE9yZGVyZWRJbWFnZXModGhpcy5ub3JtYWxpemVkTXVsdGltZWRpYT8uaW1hZ2VuZXMgPz8gW10pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldnVlbHZlIGxhIGltYWdlbiBwcmluY2lwYWwgKGl6cXVpZXJkYSBlbiBsYXlvdXQgbm9ybWFsLCBkZXJlY2hhIHNpIHJldmVyc2VMYXlvdXQ9dHJ1ZSkuXG4gICAgICogRWwgSFRNTCBzaWVtcHJlIHVzYSBmaXJzdEltYWdlIHBhcmEgbGEgY29sdW1uYSBkZSBjb250ZW5pZG8vdGV4dG8uXG4gICAgICovXG4gICAgLyoqXG4gICAgICogRW5jdWVudHJhIGVsIHBhciBkZSBpbcOhZ2VuZXMgY29uc2VjdXRpdmFzIG3DoXMgYmFqbyAocG9yIGVqZW1wbG8sIDEtMiwgMi0zLCBldGMuKVxuICAgICAqIFNpIG5vIGhheSBwYXJlcyBjb25zZWN1dGl2b3MsIHVzYSBsb3MgZG9zIHByaW1lcm9zIG9yZGVuYWRvcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldENvbnNlY3V0aXZlSW1hZ2VzKCk6IFtcbiAgICAgICAgQmFieWxvbkltYWdlSSB8IHVuZGVmaW5lZCxcbiAgICAgICAgQmFieWxvbkltYWdlSSB8IHVuZGVmaW5lZCxcbiAgICBdIHtcbiAgICAgICAgY29uc3QgaW1hZ2VzID0gdGhpcy5vcmRlcmVkSW1hZ2VzO1xuICAgICAgICBpZiAoaW1hZ2VzLmxlbmd0aCA8IDIpIHJldHVybiBbaW1hZ2VzWzBdLCB1bmRlZmluZWRdO1xuICAgICAgICAvLyBzZWFyY2ggdGhlIGxvd2VzdCBjb25zZWN1dGl2ZSBwYWlyICgxLTIsIDItMywgZXRjLilcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbWFnZXMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBvcmRlckEgPSBpbWFnZXNbaV0/Lm9yZGVyO1xuICAgICAgICAgICAgY29uc3Qgb3JkZXJCID0gaW1hZ2VzW2kgKyAxXT8ub3JkZXI7XG4gICAgICAgICAgICBjb25zdCBudW1BID1cbiAgICAgICAgICAgICAgICB0eXBlb2Ygb3JkZXJBID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgICAgICAgICA/IG9yZGVyQVxuICAgICAgICAgICAgICAgICAgICA6IG9yZGVyQSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgPyBwYXJzZUludChvcmRlckEgYXMgYW55LCAxMClcbiAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IG51bUIgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiBvcmRlckIgPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgICAgID8gb3JkZXJCXG4gICAgICAgICAgICAgICAgICAgIDogb3JkZXJCICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICA/IHBhcnNlSW50KG9yZGVyQiBhcyBhbnksIDEwKVxuICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHR5cGVvZiBudW1BID09PSAnbnVtYmVyJyAmJlxuICAgICAgICAgICAgICAgIHR5cGVvZiBudW1CID09PSAnbnVtYmVyJyAmJlxuICAgICAgICAgICAgICAgIG51bUIgLSBudW1BID09PSAxXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW2ltYWdlc1tpXSwgaW1hZ2VzW2kgKyAxXV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2kgbm8gaGF5IHBhcmVzIGNvbnNlY3V0aXZvcywgdXNhciBsb3MgZG9zIHByaW1lcm9zXG4gICAgICAgIHJldHVybiBbaW1hZ2VzWzBdLCBpbWFnZXNbMV1dO1xuICAgIH1cblxuICAgIGdldCBmaXJzdEltYWdlKCk6IEJhYnlsb25JbWFnZUkgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBbaW1nQSwgaW1nQl0gPSB0aGlzLmdldENvbnNlY3V0aXZlSW1hZ2VzKCk7XG4gICAgICAgIHJldHVybiB0aGlzLnJldmVyc2VMYXlvdXQgPyBpbWdCIDogaW1nQTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXZ1ZWx2ZSBsYSBpbWFnZW4gc2VjdW5kYXJpYSAoZGVyZWNoYSBlbiBsYXlvdXQgbm9ybWFsLCBpenF1aWVyZGEgc2kgcmV2ZXJzZUxheW91dD10cnVlKS5cbiAgICAgKiBFbCBIVE1MIHNpZW1wcmUgdXNhIHNlY29uZEltYWdlIHBhcmEgbGEgY29sdW1uYSBkZSBpbWFnZW4gc2VjdW5kYXJpYS5cbiAgICAgKi9cbiAgICBnZXQgc2Vjb25kSW1hZ2UoKTogQmFieWxvbkltYWdlSSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IFtpbWdBLCBpbWdCXSA9IHRoaXMuZ2V0Q29uc2VjdXRpdmVJbWFnZXMoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZUxheW91dCA/IGltZ0EgOiBpbWdCO1xuICAgIH1cblxuICAgIGdldCBtZWRpYUltYWdlKCk6IEJhYnlsb25JbWFnZUkgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBmaXJzdCA9IHRoaXMubm9ybWFsaXplZE11bHRpbWVkaWE/LmltYWdlbmVzPy5bMF07XG4gICAgICAgIGNvbnN0IHNlY29uZCA9IHRoaXMubm9ybWFsaXplZE11bHRpbWVkaWE/LmltYWdlbmVzPy5bMV07XG5cbiAgICAgICAgaWYgKHRoaXMuY29udGVudEltYWdlID09PSBmaXJzdCkgcmV0dXJuIHNlY29uZCA/PyBmaXJzdDtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEltYWdlID09PSBzZWNvbmQpIHJldHVybiBmaXJzdCA/PyBzZWNvbmQ7XG5cbiAgICAgICAgcmV0dXJuIHNlY29uZCA/PyBmaXJzdDtcbiAgICB9XG5cbiAgICBnZXQgY3RhQnV0dG9uKCk6IEJhYnlsb25CdXR0b25JIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudEltYWdlPy5idXR0b25zPy5bMF0gPz8gdGhpcy5idXR0b25zPy5bMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNUZXh0KGltYWdlPzogQmFieWxvbkltYWdlSSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISEoXG4gICAgICAgICAgICBpbWFnZT8udGl0bGU/LnRyaW0oKSB8fFxuICAgICAgICAgICAgaW1hZ2U/LnN1YnRpdGxlPy50cmltKCkgfHxcbiAgICAgICAgICAgIGltYWdlPy5kZXNjcmlwdGlvbj8udHJpbSgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1Jvb21EZXRhaWwoXG4gICAgICAgIHZhbHVlOiBCYWJ5bG9uTXVsdGltZWRpYUkgfCBCYWJ5bG9uUm9vbURldGFpbElcbiAgICApOiB2YWx1ZSBpcyBCYWJ5bG9uUm9vbURldGFpbEkge1xuICAgICAgICByZXR1cm4gJ2ltYWdlcycgaW4gdmFsdWUgfHwgJ3RleHRzJyBpbiB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgbm9ybWFsaXplZE11bHRpbWVkaWEoKTogQmFieWxvbk11bHRpbWVkaWFJIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vcm1hbGl6ZWRNdWx0aW1lZGlhO1xuICAgIH1cblxuICAgIGdldCB0aXRsZUNvbnRlbnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZmlyc3RJbWFnZT8udGl0bGUgfHxcbiAgICAgICAgICAgIEhlYWRpbmdUYWdVdGlscy5nZXRIZWFkaW5nQ29udGVudChcbiAgICAgICAgICAgICAgICB0aGlzLnRleHRzLFxuICAgICAgICAgICAgICAgICd0aXRsZScsXG4gICAgICAgICAgICAgICAgdGhpcy50ZXh0cz8udGl0bGUgfHwgdGhpcy50ZXh0cz8ubmFtZVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBzdWJ0aXRsZUNvbnRlbnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZmlyc3RJbWFnZT8uc3VidGl0bGUgfHxcbiAgICAgICAgICAgIEhlYWRpbmdUYWdVdGlscy5nZXRIZWFkaW5nQ29udGVudChcbiAgICAgICAgICAgICAgICB0aGlzLnRleHRzLFxuICAgICAgICAgICAgICAgICdzdWJ0aXRsZScsXG4gICAgICAgICAgICAgICAgdGhpcy50ZXh0cz8uc3VidGl0bGVcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgdGl0bGVUYWcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudGFncz8udGl0bGUgfHxcbiAgICAgICAgICAgIEhlYWRpbmdUYWdVdGlscy5nZXRIZWFkaW5nVGFnKHRoaXMudGV4dHMsICd0aXRsZScsICdwJylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgc3VidGl0bGVUYWcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudGFncz8uc3VidGl0bGUgfHxcbiAgICAgICAgICAgIEhlYWRpbmdUYWdVdGlscy5nZXRIZWFkaW5nVGFnKHRoaXMudGV4dHMsICdzdWJ0aXRsZScsICdwJylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBoYXNJbWFnZVNyYyhpbWFnZT86IEJhYnlsb25JbWFnZUkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhaW1hZ2U/LmltZz8uc3JjPy50cmltKCk7XG4gICAgfVxuXG4gICAgaGFzSW1hZ2VFcnJvcihrZXk6ICdmaXJzdCcgfCAnc2Vjb25kJyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbWFnZUVycm9ycy5oYXMoa2V5KTtcbiAgICB9XG5cbiAgICBvbkltYWdlRXJyb3Ioa2V5OiAnZmlyc3QnIHwgJ3NlY29uZCcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbWFnZUVycm9ycy5hZGQoa2V5KTtcbiAgICB9XG59XG4iLCJAaWYgKGZpcnN0SW1hZ2UgfHwgc2Vjb25kSW1hZ2UpIHtcbiAgICA8c2VjdGlvblxuICAgICAgICBjbGFzcz1cIm1kbC10b3BjMmltZ3RleHRcIlxuICAgICAgICBbY2xhc3MucmV2ZXJzZV09XCJyZXZlcnNlTGF5b3V0XCJcbiAgICAgICAgW2F0dHIuaWRdPVwiaWRlbnRpZmllciB8fCAnJ1wiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWRsLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tY29sdW1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHRpdGxlQ29udGVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWddPVwidGl0bGVUYWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwibS10aXR1bG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50XT1cInRpdGxlQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9saWItYmFieWxvbi1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmIChzdWJ0aXRsZUNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItYmFieWxvbi1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFnXT1cInN1YnRpdGxlVGFnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3NDbGFzcz1cIm0tc3VidGl0dWxvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJzdWJ0aXRsZUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbGliLWJhYnlsb24tZHluYW1pYy1oZWFkaW5nPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWltYWdlXCIgKm5nSWY9XCJmaXJzdEltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0ltYWdlU3JjKGZpcnN0SW1hZ2UpICYmICFoYXNJbWFnZUVycm9yKCdmaXJzdCcpXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdEltYWdlPy5pbWc/LnNyYyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0SW1hZ2U/LmltZz8uYWx0ID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdEltYWdlPy5hbHQgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVycm9yKT1cIm9uSW1hZ2VFcnJvcignZmlyc3QnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGdldEFpQmFkZ2VUZXh0KGZpcnN0SW1hZ2UpOyBhcyBiYWRnZVRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWFpLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJiYWRnZVRleHQubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYmFkZ2VJZF09XCJiYWRnZVRleHQuaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJib3R0b20tcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tPVwiMjUwcHhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ9XCIxMDBweFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2xpYi1iYWJ5bG9uLWFpLWJhZGdlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWltYWdlLXBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGZpcnN0SW1hZ2U/LmRlc2NyaXB0aW9uIHx8IHRleHRzPy5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS10ZXh0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RJbWFnZT8uZGVzY3JpcHRpb24gfHwgdGV4dHM/LmRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKGN0YUJ1dHRvbjsgYXMgYnRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1idXR0b25EXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidG4/LnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ0bj8ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJidG4/LnRhcmdldCB8fCAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidG4/LnRhcmdldCB8fCAnX3NlbGYnKSA9PT0gJ19ibGFuaydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnRuPy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYnRuPy5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWNvbHVtcmlnaHRcIiAqbmdJZj1cInNlY29uZEltYWdlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0taW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChoYXNJbWFnZVNyYyhzZWNvbmRJbWFnZSkgJiYgIWhhc0ltYWdlRXJyb3IoJ3NlY29uZCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kSW1hZ2U/LmltZz8uc3JjIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRJbWFnZT8uaW1nPy5hbHQgPz8gc2Vjb25kSW1hZ2U/LmFsdCA/PyAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJvbkltYWdlRXJyb3IoJ3NlY29uZCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGdldEFpQmFkZ2VUZXh0KHNlY29uZEltYWdlKTsgYXMgYmFkZ2VUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWFpLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImJhZGdlVGV4dC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2JhZGdlSWRdPVwiYmFkZ2VUZXh0LmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJ0b3AtcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkaXRpb25hbENsYXNzZXNdPVwiJ3RvcC0tMTAwJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbGliLWJhYnlsb24tYWktYmFkZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1pbWFnZS1wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbn1cbiJdfQ==
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWMyLWltZy10eHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvZXh0ZXJuYWwvY29yZS90b3AtYzItaW1nLXR4dC90b3AtYzItaW1nLXR4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL3RvcC1jMi1pbWctdHh0L3RvcC1jMi1pbWctdHh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQVNoRyxPQUFPLEVBQ0gsNEJBQTRCLEVBQzVCLGdCQUFnQixHQUNuQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDcEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFnQmhFLE1BQU0sT0FBTyxvQkFBb0I7SUFkakM7UUFlYSxlQUFVLEdBQVksRUFBRSxDQUFDO1FBRTNCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBYTlCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFNUixnQkFBVyxHQUFHLElBQUks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QjtRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQXBQUSxvQkFBb0I7bUdBQXBCLG9CQUFvQixtUkNwQ2pDLDh2S0FxSEEsOCtPRDNGUSxZQUFZLG1JQUNaLHdCQUF3QixtS0FDeEIsOEJBQThCLG9KQUM5Qix1QkFBdUIsbUpBQ3ZCLFlBQVk7OzRGQU1QLG9CQUFvQjtrQkFkaEMsU0FBUzsrQkFDSSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLDhCQUE4Qjt3QkFDOUIsdUJBQXVCO3dCQUN2QixZQUFZO3FCQUNmLGlCQUdjLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0YsVUFBVTtzQkFEYixLQUFLO2dCQVNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFieWxvbkxpbmtUeXBlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy9saW5rLXR5cGUvbGluay10eXBlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIEJhYnlsb25CdXR0b25JLFxuICAgIEJhYnlsb25JbWFnZUksXG4gICAgQmFieWxvbk11bHRpbWVkaWFJLFxuICAgIEJhYnlsb25Sb29tRGV0YWlsSSxcbiAgICBCYWJ5bG9uVGFnc0ksXG4gICAgQmFieWxvblRleHRJbmZvSSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICAgIGdldEltYWdlc0J5VGFnRnJvbU11bHRpbWVkaWEsXG4gICAgZ2V0T3JkZXJlZEltYWdlcyxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvbXV0aW1lZGlhLnV0aWxzJztcbmltcG9ydCB7IEhlYWRpbmdUYWdVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2hlYWRpbmctdGFnLnV0aWxzJztcbmltcG9ydCB7IEJhYnlsb25EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBUb3BDMkltZ1R4dENvbnRlbnQgfSBmcm9tICcuL3RvcC1jMi1pbWctdHh0LmludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0QWlCYWRnZVRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9haS1iYWRnZS51dGlscyc7XG5pbXBvcnQgeyBCYWJ5bG9uQWlCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvYmFieWxvbi1haS1iYWRnZS9iYWJ5bG9uLWFpLWJhZGdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBaUJhZGdlc1BpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9haS1iYWRnZXMucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndG9wLWMyLWltZy10eHQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgQmFieWxvbkR5bmFtaWNIZWFkaW5nQ29tcG9uZW50LFxuICAgICAgICBCYWJ5bG9uQWlCYWRnZUNvbXBvbmVudCxcbiAgICAgICAgQWlCYWRnZXNQaXBlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvcC1jMi1pbWctdHh0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vdG9wLWMyLWltZy10eHQuY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFRvcEMySW1nVHh0Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBpZGVudGlmaWVyPzogc3RyaW5nID0gJyc7XG4gICAgcHJpdmF0ZSBfbXVsdGltZWRpYT86IEJhYnlsb25NdWx0aW1lZGlhSSB8IEJhYnlsb25Sb29tRGV0YWlsSTtcbiAgICBwdWJsaWMgZ2V0QWlCYWRnZVRleHQgPSBnZXRBaUJhZGdlVGV4dDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IG11bHRpbWVkaWEodmFsdWU6IEJhYnlsb25NdWx0aW1lZGlhSSB8IEJhYnlsb25Sb29tRGV0YWlsSSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9tdWx0aW1lZGlhID0gdmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlTm9ybWFsaXplZE11bHRpbWVkaWEoKTtcbiAgICB9XG5cbiAgICBnZXQgbXVsdGltZWRpYSgpOiBCYWJ5bG9uTXVsdGltZWRpYUkgfCBCYWJ5bG9uUm9vbURldGFpbEkgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fbXVsdGltZWRpYTtcbiAgICB9XG4gICAgQElucHV0KCkgYnV0dG9ucz86IEJhYnlsb25CdXR0b25JW107XG4gICAgQElucHV0KCkgY29udGVudD86IFRvcEMySW1nVHh0Q29udGVudDtcbiAgICBASW5wdXQoKSByZXZlcnNlID0gZmFsc2U7XG4gICAgQElucHV0KCkgaW1hZ2VPcmRlcj86IG51bWJlciB8IHN0cmluZztcbiAgICBASW5wdXQoKSB0ZXh0cz86IEJhYnlsb25UZXh0SW5mb0k7XG4gICAgQElucHV0KCkgdGFncz86IEJhYnlsb25UYWdzSTtcblxuICAgIHByaXZhdGUgX25vcm1hbGl6ZWRNdWx0aW1lZGlhPzogQmFieWxvbk11bHRpbWVkaWFJIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaW1hZ2VFcnJvcnMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgdXBkYXRlTm9ybWFsaXplZE11bHRpbWVkaWEoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG11bHRpbWVkaWEgPSB0aGlzLl9tdWx0aW1lZGlhO1xuICAgICAgICBpZiAoIW11bHRpbWVkaWEpIHtcbiAgICAgICAgICAgIHRoaXMuX25vcm1hbGl6ZWRNdWx0aW1lZGlhID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFRBRyA9ICdUb3BDMkltZ1R4dCc7XG4gICAgICAgIGlmICh0aGlzLmlzUm9vbURldGFpbChtdWx0aW1lZGlhKSkge1xuICAgICAgICAgICAgbGV0IGltYWdlbmVzID0gKG11bHRpbWVkaWEubXVsdGltZWRpYT8uaW1hZ2VuZXMgPz9cbiAgICAgICAgICAgICAgICBtdWx0aW1lZGlhLmltYWdlcyA/P1xuICAgICAgICAgICAgICAgIFtdKSBhcyBCYWJ5bG9uSW1hZ2VJW107XG4gICAgICAgICAgICBpbWFnZW5lcyA9IGdldEltYWdlc0J5VGFnRnJvbU11bHRpbWVkaWEoeyBpbWFnZW5lcyB9LCBUQUcpO1xuICAgICAgICAgICAgY29uc3QgW2ZpcnN0LCAuLi5yZXN0XSA9IGltYWdlbmVzO1xuICAgICAgICAgICAgY29uc3QgY29udGVudEltYWdlOiBCYWJ5bG9uSW1hZ2VJIHwgdW5kZWZpbmVkID0gZmlyc3RcbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5maXJzdCxcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogZmlyc3QudGl0bGUgfHwgbXVsdGltZWRpYS50ZXh0cz8ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QuZGVzY3JpcHRpb24gfHwgbXVsdGltZWRpYS50ZXh0cz8uZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB0aGlzLnRleHRzID0gbXVsdGltZWRpYS50ZXh0cztcbiAgICAgICAgICAgIHRoaXMuX25vcm1hbGl6ZWRNdWx0aW1lZGlhID0ge1xuICAgICAgICAgICAgICAgIGltYWdlbmVzOiBjb250ZW50SW1hZ2UgPyBbY29udGVudEltYWdlLCAuLi5yZXN0XSA6IGltYWdlbmVzLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBTaSBubyBlcyBSb29tRGV0YWlsLCBOTyBmaWx0cmFtb3MgcG9yIHRhZywgc29sbyBkZXZvbHZlbW9zIGxhcyBpbcOhZ2VuZXMgdGFsIGN1YWxcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgJ2ltYWdlbmVzJyBpbiBtdWx0aW1lZGlhICYmXG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KChtdWx0aW1lZGlhIGFzIGFueSkuaW1hZ2VuZXMpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5fbm9ybWFsaXplZE11bHRpbWVkaWEgPSB7XG4gICAgICAgICAgICAgICAgLi4ubXVsdGltZWRpYSxcbiAgICAgICAgICAgICAgICBpbWFnZW5lczogKG11bHRpbWVkaWEgYXMgYW55KS5pbWFnZW5lcyxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbm9ybWFsaXplZE11bHRpbWVkaWEgPSBtdWx0aW1lZGlhO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1snbXVsdGltZWRpYSddKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5vcm1hbGl6ZWRNdWx0aW1lZGlhKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgcmV2ZXJzZUxheW91dCgpOiBib29sZWFuIHtcbiAgICAgICAgLy8gVXNhciBlbCBtaXNtbyBwYXIgZGUgaW3DoWdlbmVzIHF1ZSBzZSBtdWVzdHJhbiAoY29uc2VjdXRpdmFzKVxuICAgICAgICBjb25zdCBbZmlyc3QsIHNlY29uZF0gPSB0aGlzLmdldENvbnNlY3V0aXZlSW1hZ2VzKCk7XG4gICAgICAgIGlmICghdGhpcy5oYXNUZXh0KGZpcnN0KSAmJiB0aGlzLmhhc1RleHQoc2Vjb25kKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudD8ucmV2ZXJzZSA/PyB0aGlzLnJldmVyc2U7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRlbnRJbWFnZSgpOiBCYWJ5bG9uSW1hZ2VJIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgaW1hZ2VzID0gdGhpcy5ub3JtYWxpemVkTXVsdGltZWRpYT8uaW1hZ2VuZXMgPz8gW107XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5nZXRJbWFnZUJ5T3JkZXIoMSwgaW1hZ2VzKTtcbiAgICAgICAgY29uc3Qgc2Vjb25kID0gdGhpcy5nZXRJbWFnZUJ5T3JkZXIoMiwgaW1hZ2VzKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzVGV4dChmaXJzdCkpIHJldHVybiBmaXJzdDtcbiAgICAgICAgaWYgKHRoaXMuaGFzVGV4dChzZWNvbmQpKSByZXR1cm4gc2Vjb25kO1xuICAgICAgICByZXR1cm4gZmlyc3QgPz8gc2Vjb25kO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SW1hZ2VCeU9yZGVyKFxuICAgICAgICBvcmRlcjogbnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICBpbWFnZXM6IEJhYnlsb25JbWFnZUlbXVxuICAgICk6IEJhYnlsb25JbWFnZUkgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAob3JkZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGltYWdlc1swXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW1hZ2VzLmZpbmQoKGltZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW1nT3JkZXIgPSAoaW1nIGFzIGFueSkub3JkZXI7XG4gICAgICAgICAgICByZXR1cm4gaW1nT3JkZXIgIT0gbnVsbCAmJiBpbWdPcmRlci50b1N0cmluZygpID09PSBvcmRlci50b1N0cmluZygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXZ1ZWx2ZSBsYXMgaW3DoWdlbmVzIGZpbHRyYWRhcyBwb3IgdGFnIHkgb3JkZW5hZGFzIHBvciBvcmRlciBhc2NlbmRlbnRlLlxuICAgICAqIFNlIHVzYSBjb21vIGJhc2UgcGFyYSBtb3N0cmFyIGltw6FnZW5lcyBlbiBlbCBIVE1MLCBhc2VndXJhbmRvIHF1ZSBzaWVtcHJlIGVzdMOpbiBlbiBlbCBvcmRlbiBjb3JyZWN0by5cbiAgICAgKi9cbiAgICBnZXQgb3JkZXJlZEltYWdlcygpOiBCYWJ5bG9uSW1hZ2VJW10ge1xuICAgICAgICByZXR1cm4gZ2V0T3JkZXJlZEltYWdlcyh0aGlzLm5vcm1hbGl6ZWRNdWx0aW1lZGlhPy5pbWFnZW5lcyA/PyBbXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV2dWVsdmUgbGEgaW1hZ2VuIHByaW5jaXBhbCAoaXpxdWllcmRhIGVuIGxheW91dCBub3JtYWwsIGRlcmVjaGEgc2kgcmV2ZXJzZUxheW91dD10cnVlKS5cbiAgICAgKiBFbCBIVE1MIHNpZW1wcmUgdXNhIGZpcnN0SW1hZ2UgcGFyYSBsYSBjb2x1bW5hIGRlIGNvbnRlbmlkby90ZXh0by5cbiAgICAgKi9cbiAgICAvKipcbiAgICAgKiBFbmN1ZW50cmEgZWwgcGFyIGRlIGltw6FnZW5lcyBjb25zZWN1dGl2YXMgbcOhcyBiYWpvIChwb3IgZWplbXBsbywgMS0yLCAyLTMsIGV0Yy4pXG4gICAgICogU2kgbm8gaGF5IHBhcmVzIGNvbnNlY3V0aXZvcywgdXNhIGxvcyBkb3MgcHJpbWVyb3Mgb3JkZW5hZG9zLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0Q29uc2VjdXRpdmVJbWFnZXMoKTogW1xuICAgICAgICBCYWJ5bG9uSW1hZ2VJIHwgdW5kZWZpbmVkLFxuICAgICAgICBCYWJ5bG9uSW1hZ2VJIHwgdW5kZWZpbmVkLFxuICAgIF0ge1xuICAgICAgICBjb25zdCBpbWFnZXMgPSB0aGlzLm9yZGVyZWRJbWFnZXM7XG4gICAgICAgIGlmIChpbWFnZXMubGVuZ3RoIDwgMikgcmV0dXJuIFtpbWFnZXNbMF0sIHVuZGVmaW5lZF07XG4gICAgICAgIC8vIHNlYXJjaCB0aGUgbG93ZXN0IGNvbnNlY3V0aXZlIHBhaXIgKDEtMiwgMi0zLCBldGMuKVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGltYWdlcy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IG9yZGVyQSA9IGltYWdlc1tpXT8ub3JkZXI7XG4gICAgICAgICAgICBjb25zdCBvcmRlckIgPSBpbWFnZXNbaSArIDFdPy5vcmRlcjtcbiAgICAgICAgICAgIGNvbnN0IG51bUEgPVxuICAgICAgICAgICAgICAgIHR5cGVvZiBvcmRlckEgPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgICAgID8gb3JkZXJBXG4gICAgICAgICAgICAgICAgICAgIDogb3JkZXJBICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICA/IHBhcnNlSW50KG9yZGVyQSBhcyBhbnksIDEwKVxuICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgbnVtQiA9XG4gICAgICAgICAgICAgICAgdHlwZW9mIG9yZGVyQiA9PT0gJ251bWJlcidcbiAgICAgICAgICAgICAgICAgICAgPyBvcmRlckJcbiAgICAgICAgICAgICAgICAgICAgOiBvcmRlckIgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgID8gcGFyc2VJbnQob3JkZXJCIGFzIGFueSwgMTApXG4gICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdHlwZW9mIG51bUEgPT09ICdudW1iZXInICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIG51bUIgPT09ICdudW1iZXInICYmXG4gICAgICAgICAgICAgICAgbnVtQiAtIG51bUEgPT09IDFcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbaW1hZ2VzW2ldLCBpbWFnZXNbaSArIDFdXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBTaSBubyBoYXkgcGFyZXMgY29uc2VjdXRpdm9zLCB1c2FyIGxvcyBkb3MgcHJpbWVyb3NcbiAgICAgICAgcmV0dXJuIFtpbWFnZXNbMF0sIGltYWdlc1sxXV07XG4gICAgfVxuXG4gICAgZ2V0IGZpcnN0SW1hZ2UoKTogQmFieWxvbkltYWdlSSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IFtpbWdBLCBpbWdCXSA9IHRoaXMuZ2V0Q29uc2VjdXRpdmVJbWFnZXMoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZUxheW91dCA/IGltZ0IgOiBpbWdBO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldnVlbHZlIGxhIGltYWdlbiBzZWN1bmRhcmlhIChkZXJlY2hhIGVuIGxheW91dCBub3JtYWwsIGl6cXVpZXJkYSBzaSByZXZlcnNlTGF5b3V0PXRydWUpLlxuICAgICAqIEVsIEhUTUwgc2llbXByZSB1c2Egc2Vjb25kSW1hZ2UgcGFyYSBsYSBjb2x1bW5hIGRlIGltYWdlbiBzZWN1bmRhcmlhLlxuICAgICAqL1xuICAgIGdldCBzZWNvbmRJbWFnZSgpOiBCYWJ5bG9uSW1hZ2VJIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgW2ltZ0EsIGltZ0JdID0gdGhpcy5nZXRDb25zZWN1dGl2ZUltYWdlcygpO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXZlcnNlTGF5b3V0ID8gaW1nQSA6IGltZ0I7XG4gICAgfVxuXG4gICAgZ2V0IG1lZGlhSW1hZ2UoKTogQmFieWxvbkltYWdlSSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5ub3JtYWxpemVkTXVsdGltZWRpYT8uaW1hZ2VuZXM/LlswXTtcbiAgICAgICAgY29uc3Qgc2Vjb25kID0gdGhpcy5ub3JtYWxpemVkTXVsdGltZWRpYT8uaW1hZ2VuZXM/LlsxXTtcblxuICAgICAgICBpZiAodGhpcy5jb250ZW50SW1hZ2UgPT09IGZpcnN0KSByZXR1cm4gc2Vjb25kID8/IGZpcnN0O1xuICAgICAgICBpZiAodGhpcy5jb250ZW50SW1hZ2UgPT09IHNlY29uZCkgcmV0dXJuIGZpcnN0ID8/IHNlY29uZDtcblxuICAgICAgICByZXR1cm4gc2Vjb25kID8/IGZpcnN0O1xuICAgIH1cblxuICAgIGdldCBjdGFCdXR0b24oKTogQmFieWxvbkJ1dHRvbkkgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50SW1hZ2U/LmJ1dHRvbnM/LlswXSA/PyB0aGlzLmJ1dHRvbnM/LlswXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1RleHQoaW1hZ2U/OiBCYWJ5bG9uSW1hZ2VJKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIShcbiAgICAgICAgICAgIGltYWdlPy50aXRsZT8udHJpbSgpIHx8XG4gICAgICAgICAgICBpbWFnZT8uc3VidGl0bGU/LnRyaW0oKSB8fFxuICAgICAgICAgICAgaW1hZ2U/LmRlc2NyaXB0aW9uPy50cmltKClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUm9vbURldGFpbChcbiAgICAgICAgdmFsdWU6IEJhYnlsb25NdWx0aW1lZGlhSSB8IEJhYnlsb25Sb29tRGV0YWlsSVxuICAgICk6IHZhbHVlIGlzIEJhYnlsb25Sb29tRGV0YWlsSSB7XG4gICAgICAgIHJldHVybiAnaW1hZ2VzJyBpbiB2YWx1ZSB8fCAndGV4dHMnIGluIHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBub3JtYWxpemVkTXVsdGltZWRpYSgpOiBCYWJ5bG9uTXVsdGltZWRpYUkgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9ybWFsaXplZE11bHRpbWVkaWE7XG4gICAgfVxuXG4gICAgZ2V0IHRpdGxlQ29udGVudCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5maXJzdEltYWdlPy50aXRsZSB8fFxuICAgICAgICAgICAgSGVhZGluZ1RhZ1V0aWxzLmdldEhlYWRpbmdDb250ZW50KFxuICAgICAgICAgICAgICAgIHRoaXMudGV4dHMsXG4gICAgICAgICAgICAgICAgJ3RpdGxlJyxcbiAgICAgICAgICAgICAgICB0aGlzLnRleHRzPy50aXRsZSB8fCB0aGlzLnRleHRzPy5uYW1lXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHN1YnRpdGxlQ29udGVudCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5maXJzdEltYWdlPy5zdWJ0aXRsZSB8fFxuICAgICAgICAgICAgSGVhZGluZ1RhZ1V0aWxzLmdldEhlYWRpbmdDb250ZW50KFxuICAgICAgICAgICAgICAgIHRoaXMudGV4dHMsXG4gICAgICAgICAgICAgICAgJ3N1YnRpdGxlJyxcbiAgICAgICAgICAgICAgICB0aGlzLnRleHRzPy5zdWJ0aXRsZVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCB0aXRsZVRhZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy50YWdzPy50aXRsZSB8fFxuICAgICAgICAgICAgSGVhZGluZ1RhZ1V0aWxzLmdldEhlYWRpbmdUYWcodGhpcy50ZXh0cywgJ3RpdGxlJywgJ3AnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBzdWJ0aXRsZVRhZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy50YWdzPy5zdWJ0aXRsZSB8fFxuICAgICAgICAgICAgSGVhZGluZ1RhZ1V0aWxzLmdldEhlYWRpbmdUYWcodGhpcy50ZXh0cywgJ3N1YnRpdGxlJywgJ3AnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGhhc0ltYWdlU3JjKGltYWdlPzogQmFieWxvbkltYWdlSSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISFpbWFnZT8uaW1nPy5zcmM/LnRyaW0oKTtcbiAgICB9XG5cbiAgICBoYXNJbWFnZUVycm9yKGtleTogJ2ZpcnN0JyB8ICdzZWNvbmQnKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmltYWdlRXJyb3JzLmhhcyhrZXkpO1xuICAgIH1cblxuICAgIG9uSW1hZ2VFcnJvcihrZXk6ICdmaXJzdCcgfCAnc2Vjb25kJyk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlRXJyb3JzLmFkZChrZXkpO1xuICAgIH1cbn1cbiIsIkBpZiAoZmlyc3RJbWFnZSB8fCBzZWNvbmRJbWFnZSkge1xuICAgIDxzZWN0aW9uXG4gICAgICAgIGNsYXNzPVwibWRsLXRvcGMyaW1ndGV4dFwiXG4gICAgICAgIFtjbGFzcy5yZXZlcnNlXT1cInJldmVyc2VMYXlvdXRcIlxuICAgICAgICBbYXR0ci5pZF09XCJpZGVudGlmaWVyIHx8ICcnXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZGwtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1jb2x1bWxlZnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAodGl0bGVDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLWJhYnlsb24tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhZ109XCJ0aXRsZVRhZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzQ2xhc3M9XCJtLXRpdHVsb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwidGl0bGVDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2xpYi1iYWJ5bG9uLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKHN1YnRpdGxlQ29udGVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWddPVwic3VidGl0bGVUYWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwibS1zdWJ0aXR1bG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50XT1cInN1YnRpdGxlQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9saWItYmFieWxvbi1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0taW1hZ2VcIiAqbmdJZj1cImZpcnN0SW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzSW1hZ2VTcmMoZmlyc3RJbWFnZSkgJiYgIWhhc0ltYWdlRXJyb3IoJ2ZpcnN0JylcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0SW1hZ2U/LmltZz8uc3JjIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RJbWFnZT8uaW1nPy5hbHQgPz9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0SW1hZ2U/LmFsdCA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwib25JbWFnZUVycm9yKCdmaXJzdCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZmlyc3RJbWFnZSB8IGFpQmFkZ2VzOyBhcyBiYWRnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChiYWRnZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWFpLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2JhZGdlc109XCJiYWRnZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b209XCIyNTBweFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ9XCIxMDBweFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9saWItYmFieWxvbi1haS1iYWRnZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWltYWdlLXBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGZpcnN0SW1hZ2U/LmRlc2NyaXB0aW9uIHx8IHRleHRzPy5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS10ZXh0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RJbWFnZT8uZGVzY3JpcHRpb24gfHwgdGV4dHM/LmRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKGN0YUJ1dHRvbjsgYXMgYnRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1idXR0b25EXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidG4/LnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ0bj8ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJidG4/LnRhcmdldCB8fCAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5yZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidG4/LnRhcmdldCB8fCAnX3NlbGYnKSA9PT0gJ19ibGFuaydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnRuPy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYnRuPy5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWNvbHVtcmlnaHRcIiAqbmdJZj1cInNlY29uZEltYWdlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0taW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChoYXNJbWFnZVNyYyhzZWNvbmRJbWFnZSkgJiYgIWhhc0ltYWdlRXJyb3IoJ3NlY29uZCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kSW1hZ2U/LmltZz8uc3JjIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRJbWFnZT8uaW1nPy5hbHQgPz8gc2Vjb25kSW1hZ2U/LmFsdCA/PyAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJvbkltYWdlRXJyb3IoJ3NlY29uZCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHNlY29uZEltYWdlIHwgYWlCYWRnZXM7IGFzIGJhZGdlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYmFkZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWFpLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYmFkZ2VzXT1cImJhZGdlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj1cInRvcC1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkaXRpb25hbENsYXNzZXNdPVwiJ3RvcC0tMTAwJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2xpYi1iYWJ5bG9uLWFpLWJhZGdlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWltYWdlLXBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxufVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { getAiBadgeText } from '../utils/ai-badge.utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AiBadgesPipe {
|
|
5
|
+
transform(imageObj) {
|
|
6
|
+
return getAiBadgeText(imageObj);
|
|
7
|
+
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AiBadgesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AiBadgesPipe, isStandalone: true, name: "aiBadges" }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AiBadgesPipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{
|
|
14
|
+
name: 'aiBadges',
|
|
15
|
+
standalone: true,
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktYmFkZ2VzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvcGlwZXMvYWktYmFkZ2VzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU16RCxNQUFNLE9BQU8sWUFBWTtJQUNyQixTQUFTLENBQUMsUUFBYTtRQUNuQixPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDOytHQUhRLFlBQVk7NkdBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0QWlCYWRnZVRleHQgfSBmcm9tICcuLi91dGlscy9haS1iYWRnZS51dGlscyc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnYWlCYWRnZXMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFpQmFkZ2VzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShpbWFnZU9iajogYW55KTogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfVtdIHtcbiAgICAgICAgcmV0dXJuIGdldEFpQmFkZ2VUZXh0KGltYWdlT2JqKTtcbiAgICB9XG59XG4iXX0=
|