ctt-puro 0.70.36 → 0.70.37
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/puro-info-big/puro-info-big.component.mjs +24 -4
- package/esm2022/lib/services/mapper/mapper.service.mjs +2 -1
- package/fesm2022/ctt-puro.mjs +22 -2
- package/fesm2022/ctt-puro.mjs.map +1 -1
- package/lib/components/puro-info-big/puro-info-big.component.d.ts +6 -1
- package/package.json +1 -1
|
@@ -1,12 +1,30 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
|
|
3
3
|
import { PuroLinkTypeDirective, PuroResizeZoomDirective, } from '../../directives';
|
|
4
4
|
import { PuroDynamicHeadingComponent } from '../../shared/puro-dynamic-heading';
|
|
5
|
+
import { ScreenSizerService } from '../../services/screen-sizer';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/common";
|
|
7
8
|
export class PuroInfoBigComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.screenSizer = inject(ScreenSizerService);
|
|
11
|
+
}
|
|
12
|
+
get isMobile() {
|
|
13
|
+
const w = this.screenSizer.viewportWidth;
|
|
14
|
+
// ⛔️ Si aún no sabemos el viewport, NO es mobile
|
|
15
|
+
if (!w || w <= 0) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return w <= 768;
|
|
19
|
+
}
|
|
20
|
+
get resolvedImage() {
|
|
21
|
+
if (this.isMobile && this.imgMobile) {
|
|
22
|
+
return this.imgMobile;
|
|
23
|
+
}
|
|
24
|
+
return this.img;
|
|
25
|
+
}
|
|
8
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoBigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoBigComponent, isStandalone: true, selector: "lib-puro-info-big", inputs: { pretitle: "pretitle", title: "title", subtitle: "subtitle", description: "description", ndDescription: "ndDescription", buttons: "buttons", link: "link", img: "img", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"moments moments--withBg\"\n resizeZoom\n [ngStyle]=\"{\n background: 'url(' +
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoBigComponent, isStandalone: true, selector: "lib-puro-info-big", inputs: { pretitle: "pretitle", title: "title", subtitle: "subtitle", description: "description", ndDescription: "ndDescription", buttons: "buttons", link: "link", img: "img", imgMobile: "imgMobile", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"moments moments--withBg\"\n resizeZoom\n [ngStyle]=\"{\n background: 'url(' + resolvedImage?.src + ') no-repeat center bottom',\n backgroundSize: 'cover',\n }\"\n>\n <div class=\"moments__container\">\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n <div class=\"moments__paragraph\">\n <div [innerHTML]=\"subtitle\"></div>\n\n <span class=\"more-content\" [innerHTML]=\"description\"> </span>\n\n <div class=\"more-content\" [innerHTML]=\"ndDescription\"></div>\n </div>\n <div class=\"btn__group\">\n <!-- @if (buttons) {\n <button\n class=\"btn btn__secondary--outline btn__moreLess\"\n aria-label=\"Buttons more\"\n >\n @for (btn of buttons; track $index) {\n <span\n [ngClass]=\"{\n 'btn__moreLess-.more': $even,\n 'btn__moreLess-less': $odd,\n }\"\n >{{ btn.label }}</span\n >\n }\n </button>\n } -->\n @if (buttons) {\n @for (btn of buttons; track $index) {\n <a\n [href]=\"btn.url\"\n class=\"btn btn__secondary--outline\"\n [linkType]=\"btn.linkType\"\n [attr.aria-label]=\"btn.label\"\n >\n <span>{{ btn.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n</section>\n", styles: ["@media (max-width: 768px){.moments.moments--withBg{background-size:cover!important}}@media screen and (min-width: 1366px) and (max-width: 1680px){.moments__heading{width:98.8rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroResizeZoomDirective, selector: "[resizeZoom]" }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
28
|
}
|
|
11
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoBigComponent, decorators: [{
|
|
12
30
|
type: Component,
|
|
@@ -15,7 +33,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
15
33
|
PuroLinkTypeDirective,
|
|
16
34
|
PuroResizeZoomDirective,
|
|
17
35
|
PuroDynamicHeadingComponent,
|
|
18
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"moments moments--withBg\"\n resizeZoom\n [ngStyle]=\"{\n background: 'url(' +
|
|
36
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"moments moments--withBg\"\n resizeZoom\n [ngStyle]=\"{\n background: 'url(' + resolvedImage?.src + ') no-repeat center bottom',\n backgroundSize: 'cover',\n }\"\n>\n <div class=\"moments__container\">\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n <div class=\"moments__paragraph\">\n <div [innerHTML]=\"subtitle\"></div>\n\n <span class=\"more-content\" [innerHTML]=\"description\"> </span>\n\n <div class=\"more-content\" [innerHTML]=\"ndDescription\"></div>\n </div>\n <div class=\"btn__group\">\n <!-- @if (buttons) {\n <button\n class=\"btn btn__secondary--outline btn__moreLess\"\n aria-label=\"Buttons more\"\n >\n @for (btn of buttons; track $index) {\n <span\n [ngClass]=\"{\n 'btn__moreLess-.more': $even,\n 'btn__moreLess-less': $odd,\n }\"\n >{{ btn.label }}</span\n >\n }\n </button>\n } -->\n @if (buttons) {\n @for (btn of buttons; track $index) {\n <a\n [href]=\"btn.url\"\n class=\"btn btn__secondary--outline\"\n [linkType]=\"btn.linkType\"\n [attr.aria-label]=\"btn.label\"\n >\n <span>{{ btn.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n</section>\n", styles: ["@media (max-width: 768px){.moments.moments--withBg{background-size:cover!important}}@media screen and (min-width: 1366px) and (max-width: 1680px){.moments__heading{width:98.8rem}}\n"] }]
|
|
19
37
|
}], propDecorators: { pretitle: [{
|
|
20
38
|
type: Input
|
|
21
39
|
}], title: [{
|
|
@@ -32,9 +50,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
32
50
|
type: Input
|
|
33
51
|
}], img: [{
|
|
34
52
|
type: Input
|
|
53
|
+
}], imgMobile: [{
|
|
54
|
+
type: Input
|
|
35
55
|
}], tags: [{
|
|
36
56
|
type: Input
|
|
37
57
|
}], textColors: [{
|
|
38
58
|
type: Input
|
|
39
59
|
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1pbmZvLWJpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWluZm8tYmlnL3B1cm8taW5mby1iaWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1pbmZvLWJpZy9wdXJvLWluZm8tYmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUNILHFCQUFxQixFQUNyQix1QkFBdUIsR0FDMUIsTUFBTSxrQkFBa0IsQ0FBQztBQU8xQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBZ0JqRSxNQUFNLE9BQU8sb0JBQW9CO0lBYmpDO1FBMEJ1QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBbUIvRDtJQWpCRyxJQUFJLFFBQVE7UUFDUixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUV6QyxpREFBaUQ7UUFDakQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUN6QjtRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNwQixDQUFDOytHQS9CUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwrVEM3QmpDLGtvRUE0REEsOE9EeENRLFlBQVksb0hBQ1oscUJBQXFCLDRJQUNyQix1QkFBdUIseURBQ3ZCLDJCQUEyQjs7NEZBTXRCLG9CQUFvQjtrQkFiaEMsU0FBUzsrQkFDSSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjtxQkFDOUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgUHVyb1Jlc2l6ZVpvb21EaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5pbXBvcnQgeyBTY3JlZW5TaXplclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zY3JlZW4tc2l6ZXInO1xuaW1wb3J0IHsgUHVyb0luZm9CaWdJIH0gZnJvbSAnLi9wdXJvLWluZm8tYmlnLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8taW5mby1iaWcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgUHVyb1Jlc2l6ZVpvb21EaXJlY3RpdmUsXG4gICAgICAgIFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLWluZm8tYmlnLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1pbmZvLWJpZy5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9JbmZvQmlnQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwcmV0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBASW5wdXQoKSBuZERlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJ1dHRvbnM/OiBQdXJvQnV0dG9uSVtdO1xuICAgIEBJbnB1dCgpIGxpbms/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSBpbWc/OiBQdXJvSW1hZ2VJO1xuICAgIEBJbnB1dCgpIGltZ01vYmlsZT86IFB1cm9JbWFnZUk7XG4gICAgQElucHV0KCkgdGFncz86IFB1cm9UYWdzSTtcbiAgICBASW5wdXQoKSB0ZXh0Q29sb3JzPzogUHVyb1RleHRzQ29sb3JzSTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzY3JlZW5TaXplciA9IGluamVjdChTY3JlZW5TaXplclNlcnZpY2UpO1xuICAgIFxuICAgIGdldCBpc01vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdyA9IHRoaXMuc2NyZWVuU2l6ZXIudmlld3BvcnRXaWR0aDtcblxuICAgICAgICAvLyDim5TvuI8gU2kgYcO6biBubyBzYWJlbW9zIGVsIHZpZXdwb3J0LCBOTyBlcyBtb2JpbGVcbiAgICAgICAgaWYgKCF3IHx8IHcgPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHcgPD0gNzY4O1xuICAgIH1cblxuICAgIGdldCByZXNvbHZlZEltYWdlKCk6IFB1cm9JbWFnZUkgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZSAmJiB0aGlzLmltZ01vYmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW1nTW9iaWxlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmltZztcbiAgICB9XG59XG4iLCI8c2VjdGlvblxuICAgIGNsYXNzPVwibW9tZW50cyBtb21lbnRzLS13aXRoQmdcIlxuICAgIHJlc2l6ZVpvb21cbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGJhY2tncm91bmQ6ICd1cmwoJyArIHJlc29sdmVkSW1hZ2U/LnNyYyArICcpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tJyxcbiAgICAgICAgYmFja2dyb3VuZFNpemU6ICdjb3ZlcicsXG4gICAgfVwiXG4+XG4gICAgPGRpdiBjbGFzcz1cIm1vbWVudHNfX2NvbnRhaW5lclwiPlxuICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnByZXRpdGxlIHx8ICdzcGFuJ1wiXG4gICAgICAgICAgICBjc3NDbGFzcz1cIm1vbWVudHNfX3RpdGxlXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy5wcmV0aXRsZVwiXG4gICAgICAgICAgICBbY29udGVudF09XCJwcmV0aXRsZVwiXG4gICAgICAgID48L2xpYi1wdXJvLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgPGxpYi1wdXJvLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgW3RhZ109XCJ0YWdzPy50aXRsZSB8fCAnaDInXCJcbiAgICAgICAgICAgIGNzc0NsYXNzPVwibW9tZW50c19faGVhZGluZ1wiXG4gICAgICAgICAgICBbY29sb3JdPVwidGV4dENvbG9ycz8udGl0bGVcIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwidGl0bGVcIlxuICAgICAgICA+PC9saWItcHVyby1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb21lbnRzX19wYXJhZ3JhcGhcIj5cbiAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzdWJ0aXRsZVwiPjwvZGl2PlxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vcmUtY29udGVudFwiIFtpbm5lckhUTUxdPVwiZGVzY3JpcHRpb25cIj4gPC9zcGFuPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS1jb250ZW50XCIgW2lubmVySFRNTF09XCJuZERlc2NyaXB0aW9uXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgPCEtLSBAaWYgKGJ1dHRvbnMpIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fc2Vjb25kYXJ5LS1vdXRsaW5lIGJ0bl9fbW9yZUxlc3NcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQnV0dG9ucyBtb3JlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGJ0biBvZiBidXR0b25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnRuX19tb3JlTGVzcy0ubW9yZSc6ICRldmVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnRuX19tb3JlTGVzcy1sZXNzJzogJG9kZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgYnRuLmxhYmVsIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH0gLS0+XG4gICAgICAgICAgICBAaWYgKGJ1dHRvbnMpIHtcbiAgICAgICAgICAgICAgICBAZm9yIChidG4gb2YgYnV0dG9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidG4udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fc2Vjb25kYXJ5LS1vdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidG4ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidG4ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBidG4ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
|