@edm-sdui/sdui 1.0.66 → 1.0.67
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/edm-sdui-sdui-1.0.67.tgz +0 -0
- package/esm2022/lib/components/uicomponent/image/image.component.mjs +1 -8
- package/esm2022/lib/components/uicomponent/tags-row/tag/tag.component.mjs +2 -2
- package/esm2022/lib/core/uitheme/enums/uisize.mjs +1 -1
- package/esm2022/lib/core/uitheme/mapping/size-mapping.mjs +8 -8
- package/esm2022/lib/directives/uiview.directive.mjs +2 -4
- package/fesm2022/edm-sdui-sdui.mjs +10 -18
- package/fesm2022/edm-sdui-sdui.mjs.map +1 -1
- package/lib/components/uicomponent/image/image.component.d.ts.map +1 -1
- package/lib/core/uitheme/enums/uisize.d.ts +5 -5
- package/lib/core/uitheme/enums/uisize.d.ts.map +1 -1
- package/lib/directives/uiview.directive.d.ts.map +1 -1
- package/package.json +1 -1
- package/edm-sdui-sdui-1.0.66.tgz +0 -0
|
Binary file
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Component, ElementRef, Inject, Renderer2, ViewChild, } from '@angular/core';
|
|
2
2
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
3
|
import { assetMapping } from '../../../core/uitheme/mapping/asset-mapping';
|
|
4
|
-
import { sizeMappingHeight, sizeMappingWidth, } from '../../../core/uitheme/mapping/size-mapping';
|
|
5
4
|
import { aspectMapping } from '../../../core/uitheme/mapping/aspect-mapping';
|
|
6
5
|
import { rankingSvgMap } from './ranking-svg';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
@@ -38,12 +37,6 @@ export class ImageComponent {
|
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
39
|
if (this.imgElementRef?.nativeElement) {
|
|
41
|
-
if (element.size) {
|
|
42
|
-
const height = sizeMappingHeight[element.size];
|
|
43
|
-
const width = sizeMappingWidth[element.size];
|
|
44
|
-
this.renderer.setStyle(this.imgElementRef.nativeElement, 'height', height);
|
|
45
|
-
this.renderer.setStyle(this.imgElementRef.nativeElement, 'width', width);
|
|
46
|
-
}
|
|
47
40
|
if (element.aspect) {
|
|
48
41
|
this.renderer.setStyle(this.imgElementRef.nativeElement, 'object-fit', aspectMapping[element.aspect]);
|
|
49
42
|
}
|
|
@@ -65,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
65
58
|
type: ViewChild,
|
|
66
59
|
args: ['imgElement']
|
|
67
60
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29tcG9uZW50cy91aWNvbXBvbmVudC9pbWFnZS9pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NkdWkvc3JjL2xpYi9jb21wb25lbnRzL3VpY29tcG9uZW50L2ltYWdlL2ltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFFTixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUduRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUTlDLE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQ2dDLFdBQXdCLEVBQzlDLFFBQW1CLEVBQ25CLFNBQXVCO1FBRkQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBTGpDLGVBQVUsR0FBb0IsSUFBSSxDQUFDO0lBTWhDLENBQUM7SUFFSixRQUFRLEtBQVUsQ0FBQztJQUVuQixlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUFrQjtRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BFLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ2pFLE1BQU0sR0FBRyxHQUFHLEtBQUssSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQztZQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDaEMsS0FBSyxFQUNMLEdBQUcsQ0FDSixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDdEMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDaEMsWUFBWSxFQUNaLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQzlCLENBQUM7WUFDSixDQUFDO1lBRUQsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDaEMsY0FBYyxFQUNkLE9BQU8sQ0FBQyxXQUFXLENBQ3BCLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBeERVLGNBQWMsa0JBS2YsYUFBYTttR0FMWixjQUFjLHdMQ3RCM0IsaVNBU0E7OzRGRGFhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsS0FBSzs7MEJBT2QsTUFBTTsyQkFBQyxhQUFhOzRGQUpFLGFBQWE7c0JBQXJDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFVJQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS91aWNvbXBvc2l0aW9uL21vZGVscy91aWNvbXBvbmVudCc7XG5pbXBvcnQgeyBVSUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3VpY29tcG9zaXRpb24vbW9kZWxzL3VpZWxlbWVudCc7XG5pbXBvcnQgeyBhc3NldE1hcHBpbmcgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9hc3NldC1tYXBwaW5nJztcbmltcG9ydCB7IGFzcGVjdE1hcHBpbmcgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9hc3BlY3QtbWFwcGluZyc7XG5pbXBvcnQgeyByYW5raW5nU3ZnTWFwIH0gZnJvbSAnLi9yYW5raW5nLXN2Zyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VkbS1zZHVpLWltYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ltYWdlLmNvbXBvbmVudC5zY3NzJyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnaW1nRWxlbWVudCcpIGltZ0VsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxJbWFnZUVsZW1lbnQ+O1xuICBzdmdDb250ZW50OiBTYWZlSHRtbCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ3VpQ29tcG9uZW50JykgcHVibGljIHVpQ29tcG9uZW50OiBVSUNvbXBvbmVudCxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudWlDb21wb25lbnQ/LmVsZW1lbnQpIHtcbiAgICAgIHRoaXMuYXBwbHlFbGVtZW50KHRoaXMudWlDb21wb25lbnQuZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUVsZW1lbnQoZWxlbWVudDogVUlFbGVtZW50KSB7XG4gICAgaWYgKCFlbGVtZW50LmFzc2V0ICYmICFlbGVtZW50LnVybCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LmFzc2V0ICYmIHJhbmtpbmdTdmdNYXBbZWxlbWVudC5hc3NldF0pIHtcbiAgICAgIGNvbnN0IHN2Z1RleHQgPSByYW5raW5nU3ZnTWFwW2VsZW1lbnQuYXNzZXRdID8/ICcnO1xuICAgICAgdGhpcy5zdmdDb250ZW50ID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc3ZnVGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGFzc2V0ID0gZWxlbWVudC5hc3NldCA/IGFzc2V0TWFwcGluZ1tlbGVtZW50LmFzc2V0XSA6IG51bGw7XG4gICAgICBjb25zdCBzcmMgPSBhc3NldCA/PyBlbGVtZW50LnVybCA/PyBudWxsO1xuICAgICAgdGhpcy5zdmdDb250ZW50ID0gbnVsbDtcbiAgICAgIGlmIChzcmMpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgdGhpcy5pbWdFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgJ3NyYycsXG4gICAgICAgICAgc3JjLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmltZ0VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGlmIChlbGVtZW50LmFzcGVjdCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuaW1nRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICdvYmplY3QtZml0JyxcbiAgICAgICAgICBhc3BlY3RNYXBwaW5nW2VsZW1lbnQuYXNwZWN0XSxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGVsZW1lbnQuYXNwZWN0UmF0aW8pIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICB0aGlzLmltZ0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAnYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICBlbGVtZW50LmFzcGVjdFJhdGlvLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPHNwYW5cbiAgKm5nSWY9XCJzdmdDb250ZW50OyBlbHNlIGltYWdlRWxlbWVudFwiXG4gIGNsYXNzPVwic2R1aS1pbWFnZS1zdmdcIlxuICBbZWRtU2R1aVZpZXddPVwidWlDb21wb25lbnQuZWxlbWVudFwiXG4gIFtpbm5lckhUTUxdPVwic3ZnQ29udGVudFwiXG4+PC9zcGFuPlxuPG5nLXRlbXBsYXRlICNpbWFnZUVsZW1lbnQ+XG4gIDxpbWcgI2ltZ0VsZW1lbnQgW2VkbVNkdWlWaWV3XT1cInVpQ29tcG9uZW50LmVsZW1lbnRcIiAqbmdJZj1cInVpQ29tcG9uZW50XCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -264,11 +264,11 @@ export class TagsRowTagComponent {
|
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
266
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TagsRowTagComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }, { token: i1.FontSizeMappingService }, { token: i2.ScrollSpyService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
267
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TagsRowTagComponent, isStandalone: false, selector: "edm-sdui-tags-row-tag", viewQueries: [{ propertyName: "tagElementRef", first: true, predicate: ["tagElement"], descendants: true }, { propertyName: "tagNameElementRef", first: true, predicate: ["tagNameElement"], descendants: true }], ngImport: i0, template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border
|
|
267
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TagsRowTagComponent, isStandalone: false, selector: "edm-sdui-tags-row-tag", viewQueries: [{ propertyName: "tagElementRef", first: true, predicate: ["tagElement"], descendants: true }, { propertyName: "tagNameElementRef", first: true, predicate: ["tagNameElement"], descendants: true }], ngImport: i0, template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--tag-explorer-aux);cursor:pointer;font-size:16px;flex-shrink:0}.row-tag:hover{background-color:var(--bt-tag-explorer-on)}.row-tag--selected{border-color:var(--tag-explorer-highlight);background-color:var(--bt-tag-explorer-on);background-origin:border-box}.tag-name{font-weight:600;color:var(--font-bt-tag-explorer-on);font-size:15px;line-height:17.25px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
268
268
|
}
|
|
269
269
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TagsRowTagComponent, decorators: [{
|
|
270
270
|
type: Component,
|
|
271
|
-
args: [{ standalone: false, selector: 'edm-sdui-tags-row-tag', template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border
|
|
271
|
+
args: [{ standalone: false, selector: 'edm-sdui-tags-row-tag', template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--tag-explorer-aux);cursor:pointer;font-size:16px;flex-shrink:0}.row-tag:hover{background-color:var(--bt-tag-explorer-on)}.row-tag--selected{border-color:var(--tag-explorer-highlight);background-color:var(--bt-tag-explorer-on);background-origin:border-box}.tag-name{font-weight:600;color:var(--font-bt-tag-explorer-on);font-size:15px;line-height:17.25px}\n"] }]
|
|
272
272
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
273
273
|
type: Inject,
|
|
274
274
|
args: ['uiComponent']
|
|
@@ -19,4 +19,4 @@ export var UISize;
|
|
|
19
19
|
UISize["CARD_3"] = "card_3";
|
|
20
20
|
UISize["CARD_4"] = "card_4";
|
|
21
21
|
})(UISize || (UISize = {}));
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29yZS91aXRoZW1lL2VudW1zL3Vpc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxNQXFCWDtBQXJCRCxXQUFZLE1BQU07SUFDaEIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFFbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsNkJBQW1CLENBQUE7SUFDbkIsK0JBQXFCLENBQUE7SUFFckIsMkJBQWlCLENBQUE7SUFDakIsMkJBQWlCLENBQUE7SUFDakIsMkJBQWlCLENBQUE7SUFDakIsMkJBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQXJCVyxNQUFNLEtBQU4sTUFBTSxRQXFCakIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBVSVNpemUge1xuICBUSFVNQl8xID0gJ3RodW1iXzEnLCAvLyAxMDB4NTZcbiAgVEhVTUJfMiA9ICd0aHVtYl8yJywgLy8gMTA2eDQwXG4gIFRIVU1CXzMgPSAndGh1bWJfMycsIC8vIDI0MHgxMzVcbiAgVEhVTUJfNCA9ICd0aHVtYl80JywgLy8gMzAweDE3MFxuXG4gIEFTU0VUXzEgPSAnYXNzZXRfMScsIC8vIDI2eDI2XG4gIEFTU0VUXzIgPSAnYXNzZXRfMicsIC8vIDE2eDE2XG4gIEFTU0VUXzMgPSAnYXNzZXRfMycsIC8vIDgweDgwXG4gIEFTU0VUXzQgPSAnYXNzZXRfNCcsIC8vIDYweDYwXG4gIEFTU0VUXzUgPSAnYXNzZXRfNScsIC8vIDE4eDE4XG4gIEFTU0VUXzYgPSAnYXNzZXRfNicsIC8vIDIweDIwXG4gIEFTU0VUXzcgPSAnYXNzZXRfNycsIC8vIDIyeDIyXG4gIEFTU0VUXzggPSAnYXNzZXRfOCcsIC8vIDI0eDI0XG4gIEFTU0VUXzkgPSAnYXNzZXRfOScsIC8vIDQweDQwXG4gIEFTU0VUXzEwID0gJ2Fzc2V0XzEwJywgLy8gMzB4MzBcblxuICBDQVJEXzEgPSAnY2FyZF8xJywgLy8gMjEweDIwMVxuICBDQVJEXzIgPSAnY2FyZF8yJywgLy8gMzAweDMxNVxuICBDQVJEXzMgPSAnY2FyZF8zJywgLy8gMzAweDM3NVxuICBDQVJEXzQgPSAnY2FyZF80JywgLy8gMjEweDIzNVxufVxuIl19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { UISize } from '../enums/uisize';
|
|
2
2
|
export const sizeMapping = {
|
|
3
|
-
[UISize.THUMB_1]: { width: '100px', height: '56px', scalable:
|
|
4
|
-
[UISize.THUMB_2]: { width: '
|
|
3
|
+
[UISize.THUMB_1]: { width: '100px', height: '56px', scalable: true },
|
|
4
|
+
[UISize.THUMB_2]: { width: '106px', height: '40px', scalable: true },
|
|
5
5
|
[UISize.THUMB_3]: { width: '210px', height: '118px', scalable: true },
|
|
6
|
-
[UISize.THUMB_4]: { width: '300px', height: '
|
|
6
|
+
[UISize.THUMB_4]: { width: '300px', height: '170px', scalable: true },
|
|
7
7
|
[UISize.ASSET_1]: { width: '26px', height: '26px', scalable: false },
|
|
8
8
|
[UISize.ASSET_2]: { width: '16px', height: '16px', scalable: false },
|
|
9
9
|
[UISize.ASSET_3]: { width: '80px', height: '80px', scalable: false },
|
|
@@ -12,15 +12,15 @@ export const sizeMapping = {
|
|
|
12
12
|
[UISize.ASSET_6]: { width: '20px', height: '20px', scalable: false },
|
|
13
13
|
[UISize.ASSET_7]: { width: '22px', height: '22px', scalable: false },
|
|
14
14
|
[UISize.ASSET_8]: { width: '24px', height: '24px', scalable: false },
|
|
15
|
-
[UISize.ASSET_9]: { width: '
|
|
15
|
+
[UISize.ASSET_9]: { width: '60px', height: '60px', scalable: false },
|
|
16
16
|
[UISize.ASSET_10]: { width: '30px', height: '30px', scalable: false },
|
|
17
17
|
[UISize.CARD_1]: { width: '210px', height: '201px', scalable: true },
|
|
18
|
-
[UISize.CARD_2]: { width: '300px', height: '
|
|
19
|
-
[UISize.CARD_3]: { width: '300px', height: '
|
|
20
|
-
[UISize.CARD_4]: { width: '210px', height: '
|
|
18
|
+
[UISize.CARD_2]: { width: '300px', height: '315px', scalable: true },
|
|
19
|
+
[UISize.CARD_3]: { width: '300px', height: '375px', scalable: false },
|
|
20
|
+
[UISize.CARD_4]: { width: '210px', height: '235px', scalable: true },
|
|
21
21
|
};
|
|
22
22
|
/** @deprecated Use `sizeMapping[size].height` */
|
|
23
23
|
export const sizeMappingHeight = Object.fromEntries(Object.entries(sizeMapping).map(([key, config]) => [key, config.height]));
|
|
24
24
|
/** @deprecated Use `sizeMapping[size].width` */
|
|
25
25
|
export const sizeMappingWidth = Object.fromEntries(Object.entries(sizeMapping).map(([key, config]) => [key, config.width]));
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS1tYXBwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZHVpL3NyYy9saWIvY29yZS91aXRoZW1lL21hcHBpbmcvc2l6ZS1tYXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVF6QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQStCO0lBQ3JELENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtJQUNwRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0lBQ3JFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFFckUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNwRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNwRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNwRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUVyRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0lBQ3BFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFDcEUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtJQUNyRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0NBQ3JFLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQTJCLE1BQU0sQ0FBQyxXQUFXLENBQ3pFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUMvQyxDQUFDO0FBRTVCLGdEQUFnRDtBQUNoRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBMkIsTUFBTSxDQUFDLFdBQVcsQ0FDeEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSVNpemUgfSBmcm9tICcuLi9lbnVtcy91aXNpemUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpemVDb25maWcge1xuICB3aWR0aDogc3RyaW5nO1xuICBoZWlnaHQ6IHN0cmluZztcbiAgc2NhbGFibGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBzaXplTWFwcGluZzogUmVjb3JkPFVJU2l6ZSwgU2l6ZUNvbmZpZz4gPSB7XG4gIFtVSVNpemUuVEhVTUJfMV06IHsgd2lkdGg6ICcxMDBweCcsIGhlaWdodDogJzU2cHgnLCBzY2FsYWJsZTogdHJ1ZSB9LFxuICBbVUlTaXplLlRIVU1CXzJdOiB7IHdpZHRoOiAnMTA2cHgnLCBoZWlnaHQ6ICc0MHB4Jywgc2NhbGFibGU6IHRydWUgfSxcbiAgW1VJU2l6ZS5USFVNQl8zXTogeyB3aWR0aDogJzIxMHB4JywgaGVpZ2h0OiAnMTE4cHgnLCBzY2FsYWJsZTogdHJ1ZSB9LFxuICBbVUlTaXplLlRIVU1CXzRdOiB7IHdpZHRoOiAnMzAwcHgnLCBoZWlnaHQ6ICcxNzBweCcsIHNjYWxhYmxlOiB0cnVlIH0sXG5cbiAgW1VJU2l6ZS5BU1NFVF8xXTogeyB3aWR0aDogJzI2cHgnLCBoZWlnaHQ6ICcyNnB4Jywgc2NhbGFibGU6IGZhbHNlIH0sXG4gIFtVSVNpemUuQVNTRVRfMl06IHsgd2lkdGg6ICcxNnB4JywgaGVpZ2h0OiAnMTZweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLkFTU0VUXzNdOiB7IHdpZHRoOiAnODBweCcsIGhlaWdodDogJzgwcHgnLCBzY2FsYWJsZTogZmFsc2UgfSxcbiAgW1VJU2l6ZS5BU1NFVF80XTogeyB3aWR0aDogJzYwcHgnLCBoZWlnaHQ6ICc2MHB4Jywgc2NhbGFibGU6IGZhbHNlIH0sXG4gIFtVSVNpemUuQVNTRVRfNV06IHsgd2lkdGg6ICcxOHB4JywgaGVpZ2h0OiAnMThweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLkFTU0VUXzZdOiB7IHdpZHRoOiAnMjBweCcsIGhlaWdodDogJzIwcHgnLCBzY2FsYWJsZTogZmFsc2UgfSxcbiAgW1VJU2l6ZS5BU1NFVF83XTogeyB3aWR0aDogJzIycHgnLCBoZWlnaHQ6ICcyMnB4Jywgc2NhbGFibGU6IGZhbHNlIH0sXG4gIFtVSVNpemUuQVNTRVRfOF06IHsgd2lkdGg6ICcyNHB4JywgaGVpZ2h0OiAnMjRweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLkFTU0VUXzldOiB7IHdpZHRoOiAnNjBweCcsIGhlaWdodDogJzYwcHgnLCBzY2FsYWJsZTogZmFsc2UgfSxcbiAgW1VJU2l6ZS5BU1NFVF8xMF06IHsgd2lkdGg6ICczMHB4JywgaGVpZ2h0OiAnMzBweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuXG4gIFtVSVNpemUuQ0FSRF8xXTogeyB3aWR0aDogJzIxMHB4JywgaGVpZ2h0OiAnMjAxcHgnLCBzY2FsYWJsZTogdHJ1ZSB9LFxuICBbVUlTaXplLkNBUkRfMl06IHsgd2lkdGg6ICczMDBweCcsIGhlaWdodDogJzMxNXB4Jywgc2NhbGFibGU6IHRydWUgfSxcbiAgW1VJU2l6ZS5DQVJEXzNdOiB7IHdpZHRoOiAnMzAwcHgnLCBoZWlnaHQ6ICczNzVweCcsIHNjYWxhYmxlOiBmYWxzZSB9LFxuICBbVUlTaXplLkNBUkRfNF06IHsgd2lkdGg6ICcyMTBweCcsIGhlaWdodDogJzIzNXB4Jywgc2NhbGFibGU6IHRydWUgfSxcbn07XG5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgYHNpemVNYXBwaW5nW3NpemVdLmhlaWdodGAgKi9cbmV4cG9ydCBjb25zdCBzaXplTWFwcGluZ0hlaWdodDogUmVjb3JkPFVJU2l6ZSwgc3RyaW5nPiA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgT2JqZWN0LmVudHJpZXMoc2l6ZU1hcHBpbmcpLm1hcCgoW2tleSwgY29uZmlnXSkgPT4gW2tleSwgY29uZmlnLmhlaWdodF0pLFxuKSBhcyBSZWNvcmQ8VUlTaXplLCBzdHJpbmc+O1xuXG4vKiogQGRlcHJlY2F0ZWQgVXNlIGBzaXplTWFwcGluZ1tzaXplXS53aWR0aGAgKi9cbmV4cG9ydCBjb25zdCBzaXplTWFwcGluZ1dpZHRoOiBSZWNvcmQ8VUlTaXplLCBzdHJpbmc+ID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICBPYmplY3QuZW50cmllcyhzaXplTWFwcGluZykubWFwKChba2V5LCBjb25maWddKSA9PiBba2V5LCBjb25maWcud2lkdGhdKSxcbikgYXMgUmVjb3JkPFVJU2l6ZSwgc3RyaW5nPjtcbiJdfQ==
|
|
@@ -240,9 +240,7 @@ export class UIViewDirective {
|
|
|
240
240
|
if (!config)
|
|
241
241
|
return;
|
|
242
242
|
let { width: widthValue, height: heightValue } = config;
|
|
243
|
-
if (config.scalable &&
|
|
244
|
-
this.isSmallScreen() &&
|
|
245
|
-
this.currentContainer === UIScreenContainerType.FLUID) {
|
|
243
|
+
if (config.scalable && this.isSmallScreen()) {
|
|
246
244
|
widthValue = this.scalePixelValue(widthValue, 1.1);
|
|
247
245
|
heightValue = this.scalePixelValue(heightValue, 1.1);
|
|
248
246
|
}
|
|
@@ -400,4 +398,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
400
398
|
type: HostListener,
|
|
401
399
|
args: ['click', ['$event']]
|
|
402
400
|
}] } });
|
|
403
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWl2aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2R1aS9zcmMvbGliL2RpcmVjdGl2ZXMvdWl2aWV3LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFhdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsdUJBQXVCLEdBQ3hCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7OztBQU01RixNQUFNLE9BQU8sZUFBZTthQUdGLDRCQUF1QixHQUFHLG1CQUFtQixBQUF0QixDQUF1QjthQUM5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QUFLLENBQUMsZ0JBQWdCLENBQWMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBb0IsRUFBRSxPQUEyQjtRQUM1RSxJQUFJLE9BQU8sQ0FBQyxFQUFFLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDN0MsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBdUIsQ0FBQztRQUNoRSxJQUFJLFNBQVMsRUFBRSxFQUFFLElBQUksU0FBUyxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDbEQsT0FBTyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBL2lCVSxlQUFlO21HQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBbUJJLFFBQVE7eUNBakJGLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFzYk4sY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWU7Z0JBVTdCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVZpZXcgfSBmcm9tICcuLi9jb3JlL3VpY29tcG9zaXRpb24vbW9kZWxzL3Vpdmlldyc7XG5pbXBvcnQgeyBVSVBhZGRpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpcGFkZGluZyc7XG5pbXBvcnQgeyBVSUJhY2tncm91bmQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYmFja2dyb3VuZCc7XG5pbXBvcnQgeyBVSUFjdGlvbiB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlhY3Rpb24nO1xuaW1wb3J0IHsgVUlBbGlnbm1lbnQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYWxpZ25tZW50JztcbmltcG9ydCB7IFVJU2hhZG93IH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNoYWRvdyc7XG5pbXBvcnQgeyBVSVJhZGl1cyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlyYWRpdXMnO1xuaW1wb3J0IHsgVUlTcGFjaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNwYWNpbmcnO1xuaW1wb3J0IHsgVUlDb2xvciB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWNvbG9yJztcbmltcG9ydCB7IFVJSnVzdGlmeSB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWp1c3RpZnknO1xuaW1wb3J0IHsgVUlEaW1lbnNpb24gfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvZW51bXMvdWlkaW1lbnNpb24nO1xuaW1wb3J0IHsgVUlDb250ZW50SW5zZXQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpY29udGVudC1pbnNldCc7XG5pbXBvcnQgeyBzcGFjZU1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zcGFjZS1tYXBwaW5nJztcbmltcG9ydCB7IGNvbG9yTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2NvbG9yLW1hcHBpbmcnO1xuaW1wb3J0IHsgcGFkTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL3BhZC1tYXBwaW5nJztcbmltcG9ydCB7IHJhZGl1c01hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9yYWRpdXMtbWFwcGluZyc7XG5pbXBvcnQgeyBhbGlnbm1lbnRNYXBwaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21hcHBpbmcvYWxpZ25tZW50LW1hcHBpbmcnO1xuaW1wb3J0IHsgZGltZW5zaW9uTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2RpbWVuc2lvbi1tYXBwaW5nJztcbmltcG9ydCB7XG4gIHNoYWRvd09mZnNldE1hcHBpbmcsXG4gIHNoYWRvd0JsdXJSYWRpdXNNYXBwaW5nLFxufSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zaGFkb3ctbWFwcGluZyc7XG5pbXBvcnQgeyBqdXN0aWZ5TWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2p1c3RpZnktbWFwcGluZyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVUlTY3JlZW5WaWV3TW9kZWwgfSBmcm9tICcuLi9jb3JlL3ZpZXctbW9kZWxzL3Vpc2NyZWVuLnZpZXdtb2RlbCc7XG5pbXBvcnQgeyBVSUFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL3VpLWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFVJU2l6ZSB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aXNpemUnO1xuaW1wb3J0IHsgc2l6ZU1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zaXplLW1hcHBpbmcnO1xuaW1wb3J0IHsgVUlTY3JlZW5Db250YWluZXJUeXBlIH0gZnJvbSAnLi4vY29yZS91aWNvbXBvc2l0aW9uL2VudW1zL3Vpc2NyZWVuLWNvbnRhaW5lci10eXBlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VkbVNkdWlWaWV3XScsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBVSVZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBlZG1TZHVpVmlldz86IFVJVmlldztcbiAgQElucHV0KCkgZGlzYWJsZUNsaWNrOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVYUExPUkVfTEFTVF9BTkNIT1JfS0VZID0gJ2V4cGxvcmVMYXN0QW5jaG9yJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9DTElDS0VEX0FOQ0hPUl9LRVkgPSAnZXhwbG9yZUNsaWNrZWRBbmNob3InO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBFWFBMT1JFX0xBU1RfUk9XX0lOREVYX0tFWSA9ICdleHBsb3JlTGFzdFJvd0luZGV4JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9MQVNUX1JPV19TQ1JPTExfTEVGVF9LRVkgPSAnZXhwbG9yZUxhc3RSb3dTY3JvbGxMZWZ0JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9MQVNUX0lURU1fSURfS0VZID0gJ2V4cGxvcmVMYXN0SXRlbUlkJztcblxuICBwcml2YXRlIGxhc3RVaVZpZXc6IFVJVmlldyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHdhc1NtYWxsU2NyZWVuID0gdGhpcy5pc1NtYWxsU2NyZWVuKCk7XG4gIHByaXZhdGUgY3VycmVudENvbnRhaW5lcjogVUlTY3JlZW5Db250YWluZXJUeXBlID0gVUlTY3JlZW5Db250YWluZXJUeXBlLkNPTlRBSU5FRDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBVSUFjdGlvblNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzY3JlZW5WaWV3TW9kZWw6IFVJU2NyZWVuVmlld01vZGVsXG4gICkge1xuICAgIGlmICh0aGlzLnNjcmVlblZpZXdNb2RlbCkge1xuICAgICAgdGhpcy5zY3JlZW5WaWV3TW9kZWwudWlTY3JlZW4kLnN1YnNjcmliZSgoc2NyZWVuKSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudENvbnRhaW5lciA9XG4gICAgICAgICAgc2NyZWVuPy5jb25maWc/LmNvbnRhaW5lciA/PyBVSVNjcmVlbkNvbnRhaW5lclR5cGUuQ09OVEFJTkVEO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkbVNkdWlWaWV3KSB7XG4gICAgICB0aGlzLmxhc3RVaVZpZXcgPSB0aGlzLmVkbVNkdWlWaWV3O1xuICAgICAgdGhpcy5hcHBseVN0eWxlcyh0aGlzLmVkbVNkdWlWaWV3KTtcbiAgICAgIHRoaXMud2FzU21hbGxTY3JlZW4gPSB0aGlzLmlzU21hbGxTY3JlZW4oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U3R5bGVzKHVpVmlldzogVUlWaWV3KSB7XG4gICAgaWYgKHVpVmlldy5pZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaWQnLFxuICAgICAgICBTdHJpbmcodWlWaWV3LmlkKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnBhZGRpbmcpIHtcbiAgICAgIHRoaXMuYXBwbHlQYWRkaW5nKHVpVmlldy5wYWRkaW5nKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmNvbnRlbnRJbnNldCkge1xuICAgICAgdGhpcy5hcHBseUNvbnRlbnRJbnNldCh1aVZpZXcuY29udGVudEluc2V0KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJhY2tncm91bmQpIHtcbiAgICAgIHRoaXMuYXBwbHlCYWNrZ3JvdW5kKHVpVmlldy5iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmFjdGlvbikge1xuICAgICAgdGhpcy5hcHBseUFjdGlvbih1aVZpZXcuYWN0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmFsaWdubWVudCkge1xuICAgICAgdGhpcy5hcHBseUFsaWdubWVudCh1aVZpZXcuYWxpZ25tZW50KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNoYWRvdykge1xuICAgICAgdGhpcy5hcHBseVNoYWRvdyh1aVZpZXcuc2hhZG93KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnJhZGl1cykge1xuICAgICAgdGhpcy5hcHBseVJhZGl1cyh1aVZpZXcucmFkaXVzKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNwYWNpbmcpIHtcbiAgICAgIHRoaXMuYXBwbHlTcGFjaW5nKHVpVmlldy5zcGFjaW5nKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmhlaWdodCkge1xuICAgICAgdGhpcy5hcHBseUhlaWdodCh1aVZpZXcuaGVpZ2h0KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LndpZHRoKSB7XG4gICAgICB0aGlzLmFwcGx5V2lkdGgodWlWaWV3LndpZHRoKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJvcmRlcldpZHRoKSB7XG4gICAgICB0aGlzLmFwcGx5Qm9yZGVyV2lkdGgodWlWaWV3LmJvcmRlcldpZHRoKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJvcmRlckNvbG9yKSB7XG4gICAgICB0aGlzLmFwcGx5Qm9yZGVyQ29sb3IodWlWaWV3LmJvcmRlckNvbG9yKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3Lmp1c3RpZnkpIHtcbiAgICAgIHRoaXMuYXBwbHlKdXN0aWZ5KHVpVmlldy5qdXN0aWZ5KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNpemUpIHtcbiAgICAgIHRoaXMuYXBwbHlTaXplKHVpVmlldy5zaXplKTtcbiAgICB9XG4gICAgaWYgKHVpVmlldy5hc3BlY3RSYXRpbyAhPT0gbnVsbCAmJiB1aVZpZXcuYXNwZWN0UmF0aW8gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hcHBseUFzcGVjdFJhdGlvKHVpVmlldy5hc3BlY3RSYXRpbyk7XG4gICAgfVxuXG4gICAgaWYodWlWaWV3LmhvdmVyKXtcbiAgICAgIHRoaXMuYXBwbHlIb3ZlclZhcnModWlWaWV3KTtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlQYWRkaW5nKHVpUGFkZGluZzogVUlQYWRkaW5nKSB7XG4gICAgaWYgKHVpUGFkZGluZy50b3ApIHtcbiAgICAgIGNvbnN0IHBhZFZhbHVlID0gcGFkTWFwcGluZ1t1aVBhZGRpbmcudG9wXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy10b3AnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5sZWZ0KSB7XG4gICAgICBjb25zdCBwYWRWYWx1ZSA9IHBhZE1hcHBpbmdbdWlQYWRkaW5nLmxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLWxlZnQnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5yaWdodCkge1xuICAgICAgY29uc3QgcGFkVmFsdWUgPSBwYWRNYXBwaW5nW3VpUGFkZGluZy5yaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3BhZGRpbmctcmlnaHQnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5ib3R0b20pIHtcbiAgICAgIGNvbnN0IHBhZFZhbHVlID0gcGFkTWFwcGluZ1t1aVBhZGRpbmcuYm90dG9tXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy1ib3R0b20nLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Q29udGVudEluc2V0KHVpQ29udGVudEluc2V0OiBVSUNvbnRlbnRJbnNldCkge1xuICAgIGlmICh1aUNvbnRlbnRJbnNldC50b3ApIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQudG9wXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy10b3AnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC10b3AnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aUNvbnRlbnRJbnNldC5sZWZ0KSB7XG4gICAgICBjb25zdCBpbnNldFZhbHVlID0gc3BhY2VNYXBwaW5nW3VpQ29udGVudEluc2V0LmxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLWxlZnQnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC1sZWZ0JyxcbiAgICAgICAgaW5zZXRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlDb250ZW50SW5zZXQucmlnaHQpIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQucmlnaHRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLXJpZ2h0JyxcbiAgICAgICAgaW5zZXRWYWx1ZVxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnLS1zZHVpLWNvbnRlbnQtaW5zZXQtcmlnaHQnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aUNvbnRlbnRJbnNldC5ib3R0b20pIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQuYm90dG9tXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy1ib3R0b20nLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC1ib3R0b20nLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlCYWNrZ3JvdW5kKHVpQmFja2dyb3VuZDogVUlCYWNrZ3JvdW5kKSB7XG4gICAgaWYgKHVpQmFja2dyb3VuZC5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIGNvbnN0IGJhY2tncm91bmRDb2xvciA9IGNvbG9yTWFwcGluZ1t1aUJhY2tncm91bmQuYmFja2dyb3VuZENvbG9yXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYmFja2dyb3VuZC1jb2xvcicsXG4gICAgICAgIGJhY2tncm91bmRDb2xvclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IxICYmIHVpQmFja2dyb3VuZC5ncmFkaWVudENvbG9yMikge1xuICAgICAgY29uc3QgZ3JhZGllbnRDb2xvcjEgPSBjb2xvck1hcHBpbmdbdWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IxXTtcbiAgICAgIGNvbnN0IGdyYWRpZW50Q29sb3IyID0gY29sb3JNYXBwaW5nW3VpQmFja2dyb3VuZC5ncmFkaWVudENvbG9yMl07XG4gICAgICBjb25zdCBncmFkaWVudFN0eWxlcyA9IGBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICR7Z3JhZGllbnRDb2xvcjF9LCAke2dyYWRpZW50Q29sb3IyfSlgXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JhY2tncm91bmQnLFxuICAgICAgICBncmFkaWVudFN0eWxlc1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QWN0aW9uKHVpQWN0aW9uOiBVSUFjdGlvbikge1xuICAgIGlmICh0aGlzLmRpc2FibGVDbGljaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXJzb3InLCAncG9pbnRlcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUFsaWdubWVudCh1aUFsaWdubWVudDogVUlBbGlnbm1lbnQpIHtcbiAgICBpZiAodWlBbGlnbm1lbnQuYWxpZ25tZW50KSB7XG4gICAgICBjb25zdCBhbGlnbm1lbnQgPSBhbGlnbm1lbnRNYXBwaW5nW3VpQWxpZ25tZW50LmFsaWdubWVudF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2FsaWduLWl0ZW1zJyxcbiAgICAgICAgYWxpZ25tZW50XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaGFkb3codWlTaGFkb3c6IFVJU2hhZG93KSB7XG4gICAgaWYgKHVpU2hhZG93LmNvbG9yICYmIHVpU2hhZG93Lm9mZnNldFggJiYgdWlTaGFkb3cub2Zmc2V0WSAmJiB1aVNoYWRvdy5ibHVyUmFkaXVzKSB7XG4gICAgICBjb25zdCBjb2xvciA9IGNvbG9yTWFwcGluZ1t1aVNoYWRvdy5jb2xvcl07XG4gICAgICBjb25zdCBvZmZzZXRYID0gc2hhZG93T2Zmc2V0TWFwcGluZ1t1aVNoYWRvdy5vZmZzZXRYXTtcbiAgICAgIGNvbnN0IG9mZnNldFkgPSBzaGFkb3dPZmZzZXRNYXBwaW5nW3VpU2hhZG93Lm9mZnNldFldO1xuICAgICAgY29uc3QgYmx1clJhZGl1cyA9IHNoYWRvd0JsdXJSYWRpdXNNYXBwaW5nW3VpU2hhZG93LmJsdXJSYWRpdXNdO1xuICAgICAgY29uc3Qgb3BhY2l0eSA9IHVpU2hhZG93Lm9wYWNpdHkgIT09IHVuZGVmaW5lZCA/IHVpU2hhZG93Lm9wYWNpdHkgOiAxO1xuXG4gICAgICAvLyBGb3JtYXQ6IGJveC1zaGFkb3c6IG9mZnNldFggb2Zmc2V0WSBibHVyUmFkaXVzIGNvbG9yXG4gICAgICBjb25zdCBzaGFkb3dWYWx1ZSA9IGAke29mZnNldFh9ICR7b2Zmc2V0WX0gJHtibHVyUmFkaXVzfSAke2NvbG9yfWA7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm94LXNoYWRvdycsXG4gICAgICAgIHNoYWRvd1ZhbHVlXG4gICAgICApO1xuXG4gICAgICBpZiAob3BhY2l0eSAhPT0gMSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgICBvcGFjaXR5LnRvU3RyaW5nKClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5UmFkaXVzKHVpUmFkaXVzOiBVSVJhZGl1cykge1xuICAgIGlmICh1aVJhZGl1cy50b3BMZWZ0KSB7XG4gICAgICBjb25zdCByYWRpdXMgPSByYWRpdXNNYXBwaW5nW3VpUmFkaXVzLnRvcExlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItdG9wLWxlZnQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy50b3BSaWdodCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy50b3BSaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci10b3AtcmlnaHQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy5ib3R0b21MZWZ0KSB7XG4gICAgICBjb25zdCByYWRpdXMgPSByYWRpdXNNYXBwaW5nW3VpUmFkaXVzLmJvdHRvbUxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy5ib3R0b21SaWdodCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy5ib3R0b21SaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNwYWNpbmcodWlTcGFjaW5nOiBVSVNwYWNpbmcpIHtcbiAgICBpZiAodWlTcGFjaW5nLnNwYWNpbmcpIHtcbiAgICAgIGNvbnN0IHNwYWNpbmdWYWx1ZSA9IHNwYWNlTWFwcGluZ1t1aVNwYWNpbmcuc3BhY2luZ107XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2dhcCcsXG4gICAgICAgIHNwYWNpbmdWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5SGVpZ2h0KGhlaWdodDogVUlEaW1lbnNpb24pIHtcbiAgICBpZiAoaGVpZ2h0KSB7XG4gICAgICBjb25zdCBoZWlnaHRWYWx1ZSA9IGRpbWVuc2lvbk1hcHBpbmdbaGVpZ2h0XTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgaGVpZ2h0VmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVdpZHRoKHdpZHRoOiBVSURpbWVuc2lvbikge1xuICAgIGlmICh3aWR0aCkge1xuICAgICAgY29uc3Qgd2lkdGhWYWx1ZSA9IGRpbWVuc2lvbk1hcHBpbmdbd2lkdGhdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICd3aWR0aCcsXG4gICAgICAgIHdpZHRoVmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUJvcmRlcldpZHRoKGJvcmRlcldpZHRoOiBudW1iZXIpIHtcbiAgICBpZiAoYm9yZGVyV2lkdGggIT09IG51bGwgJiYgYm9yZGVyV2lkdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItd2lkdGgnLFxuICAgICAgICBgJHtib3JkZXJXaWR0aH1weGBcbiAgICAgICk7XG5cbiAgICAgIC8vIEVuc3VyZSBib3JkZXIgc3R5bGUgaXMgc2V0LCBvdGhlcndpc2UgYm9yZGVyLXdpZHRoIHdvbid0IGJlIHZpc2libGVcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLXN0eWxlJyxcbiAgICAgICAgJ3NvbGlkJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Qm9yZGVyQ29sb3IoYm9yZGVyQ29sb3I6IFVJQ29sb3IpIHtcbiAgICBpZiAoYm9yZGVyQ29sb3IpIHtcbiAgICAgIGNvbnN0IGNvbG9yID0gY29sb3JNYXBwaW5nW2JvcmRlckNvbG9yXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLWNvbG9yJyxcbiAgICAgICAgY29sb3JcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUp1c3RpZnkoanVzdGlmeTogVUlKdXN0aWZ5KSB7XG4gICAgaWYgKGp1c3RpZnkpIHtcbiAgICAgIGNvbnN0IGp1c3RpZnlWYWx1ZSA9IGp1c3RpZnlNYXBwaW5nW2p1c3RpZnldO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdqdXN0aWZ5LWNvbnRlbnQnLFxuICAgICAgICBqdXN0aWZ5VmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUFzcGVjdFJhdGlvKGFzcGVjdFJhdGlvOiBudW1iZXIpIHtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaXplKHNpemU6IFVJU2l6ZSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHNpemVNYXBwaW5nW3NpemVdO1xuICAgIGlmICghY29uZmlnKSByZXR1cm47XG5cbiAgICBsZXQgeyB3aWR0aDogd2lkdGhWYWx1ZSwgaGVpZ2h0OiBoZWlnaHRWYWx1ZSB9ID0gY29uZmlnO1xuXG4gICAgaWYgKFxuICAgICAgY29uZmlnLnNjYWxhYmxlICYmXG4gICAgICB0aGlzLmlzU21hbGxTY3JlZW4oKSAmJlxuICAgICAgdGhpcy5jdXJyZW50Q29udGFpbmVyID09PSBVSVNjcmVlbkNvbnRhaW5lclR5cGUuRkxVSURcbiAgICApIHtcbiAgICAgIHdpZHRoVmFsdWUgPSB0aGlzLnNjYWxlUGl4ZWxWYWx1ZSh3aWR0aFZhbHVlLCAxLjEpO1xuICAgICAgaGVpZ2h0VmFsdWUgPSB0aGlzLnNjYWxlUGl4ZWxWYWx1ZShoZWlnaHRWYWx1ZSwgMS4xKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCB3aWR0aFZhbHVlKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgaGVpZ2h0VmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUhvdmVyVmFycyh1aVZpZXc6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGhvdmVyID0gdWlWaWV3Py5ob3ZlciA/PyB1aVZpZXc/LmVsZW1lbnQ/LmhvdmVyO1xuICAgIGlmICghaG92ZXIpIHJldHVybjtcblxuICAgIGNvbnN0IGVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAvLyBtYXJjYSBxdWUgZXNzZSBlbGVtZW50byB0ZW0gaG92ZXJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsLCAnZWRtLWhvdmVyJyk7XG5cbiAgICBpZiAoaG92ZXIuYm9yZGVyX2NvbG9yIHx8IGhvdmVyLmJvcmRlckNvbG9yKSB7XG4gICAgICBjb25zdCB0b2tlbiA9IChob3Zlci5ib3JkZXJfY29sb3IgPz8gaG92ZXIuYm9yZGVyQ29sb3IpLnJlcGxhY2UoL18vZywgJy0nKTtcbiAgICAgIGVsLnN0eWxlLnNldFByb3BlcnR5KCctLWVkbS1ob3Zlci1ib3JkZXItY29sb3InLCBgdmFyKC0tJHt0b2tlbn0pYCk7XG4gICAgfVxuXG4gICAgaWYgKGhvdmVyLmJhY2tncm91bmRfY29sb3IgfHwgaG92ZXIuYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICBjb25zdCB0b2tlbiA9IChob3Zlci5iYWNrZ3JvdW5kX2NvbG9yID8/IGhvdmVyLmJhY2tncm91bmRDb2xvcikucmVwbGFjZSgvXy9nLCAnLScpO1xuICAgICAgZWwuc3R5bGUuc2V0UHJvcGVydHkoJy0tZWRtLWhvdmVyLWJnLWNvbG9yJywgYHZhcigtLSR7dG9rZW59KWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNTbWFsbFNjcmVlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmlubmVyV2lkdGggPj0gNTY1O1xuICB9XG5cbiAgcHJpdmF0ZSBzY2FsZVBpeGVsVmFsdWUodmFsdWU6IHN0cmluZywgZGl2aXNvcjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXRjaCA9IC9eKFxcZCsoPzpcXC5cXGQrKT8pcHgkLy5leGVjKHZhbHVlKTtcbiAgICBpZiAoIW1hdGNoKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3QgbnVtID0gcGFyc2VGbG9hdChtYXRjaFsxXSk7XG4gICAgY29uc3Qgc2NhbGVkID0gbnVtICogZGl2aXNvcjtcbiAgICByZXR1cm4gYCR7c2NhbGVkfXB4YDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICBvbldpbmRvd1Jlc2l6ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpc1NtYWxsID0gdGhpcy5pc1NtYWxsU2NyZWVuKCk7XG4gICAgaWYgKHRoaXMubGFzdFVpVmlldyAmJiBpc1NtYWxsICE9PSB0aGlzLndhc1NtYWxsU2NyZWVuKSB7XG4gICAgICB0aGlzLmFwcGx5U3R5bGVzKHRoaXMubGFzdFVpVmlldyk7XG4gICAgICB0aGlzLndhc1NtYWxsU2NyZWVuID0gaXNTbWFsbDtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZUNsaWNrKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5lZG1TZHVpVmlldz8uYWN0aW9uKSB7XG4gICAgICB0aGlzLmNhcHR1cmVFeHBsb3JlU2Nyb2xsQ29udGV4dCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLmFjdGlvblNlcnZpY2UuZXhlY3V0ZSh0aGlzLmVkbVNkdWlWaWV3LmFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjYXB0dXJlRXhwbG9yZVNjcm9sbENvbnRleHQoKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8ICF0aGlzLnJvdXRlci51cmwuaW5jbHVkZXMoJy9leHBsb3JhcicpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHNjcm9sbFJvdyA9IGVsZW1lbnQuY2xvc2VzdCgnLnNjcm9sbGFibGUtcm93JykgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuXG4gICAgaWYgKCFzY3JvbGxSb3cpIHtcbiAgICAgIHRoaXMuY2xlYXJFeHBsb3JlSG9yaXpvbnRhbFNjcm9sbENvbnRleHQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWN0aW9uID0gdGhpcy5yZXNvbHZlRXhwbG9yZVNlY3Rpb24oZWxlbWVudCwgc2Nyb2xsUm93KTtcbiAgICBjb25zdCBhY3RpdmVUYWcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLnJvdy10YWctLXNlbGVjdGVkJyk/LmdldEF0dHJpYnV0ZSgnZGF0YS10YWcnKTtcbiAgICBjb25zdCBzZWN0aW9uSWQgPSBzZWN0aW9uPy5pZCB8fCBhY3RpdmVUYWcgfHwgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX0FOQ0hPUl9LRVkpO1xuICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5yZXNvbHZlUm93SW5kZXgoc2Nyb2xsUm93LCBzZWN0aW9uKTtcbiAgICBjb25zdCBpdGVtSWQgPSB0aGlzLnJlc29sdmVDbGlja2VkSXRlbUlkKGVsZW1lbnQsIHNlY3Rpb24pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGlmIChzZWN0aW9uSWQpIHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX0FOQ0hPUl9LRVksIHNlY3Rpb25JZCk7XG4gICAgICB9XG4gICAgICAvLyBTYWx2YSBvIGFuY2hvciBkbyBjbGlxdWUgc2VwYXJhZG8gZG8gc2Nyb2xsIHNweSBwYXJhIG7Do28gc2VyIHNvYnJlc2NyaXRvIGR1cmFudGUgbmF2ZWdhw6fDo29cbiAgICAgIGNvbnN0IGNsaWNrZWRBbmNob3IgPSBzZWN0aW9uPy5pZCB8fCBhY3RpdmVUYWc7XG4gICAgICBpZiAoY2xpY2tlZEFuY2hvcikge1xuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0NMSUNLRURfQU5DSE9SX0tFWSwgY2xpY2tlZEFuY2hvcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChyb3dJbmRleCA+PSAwKSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oVUlWaWV3RGlyZWN0aXZlLkVYUExPUkVfTEFTVF9ST1dfSU5ERVhfS0VZLCBTdHJpbmcocm93SW5kZXgpKTtcbiAgICAgIH1cblxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgVUlWaWV3RGlyZWN0aXZlLkVYUExPUkVfTEFTVF9ST1dfU0NST0xMX0xFRlRfS0VZLFxuICAgICAgICBTdHJpbmcoTWF0aC5yb3VuZChzY3JvbGxSb3cuc2Nyb2xsTGVmdCkpXG4gICAgICApO1xuXG4gICAgICBpZiAoaXRlbUlkKSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oVUlWaWV3RGlyZWN0aXZlLkVYUExPUkVfTEFTVF9JVEVNX0lEX0tFWSwgaXRlbUlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oVUlWaWV3RGlyZWN0aXZlLkVYUExPUkVfTEFTVF9JVEVNX0lEX0tFWSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7fVxuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckV4cGxvcmVIb3Jpem9udGFsU2Nyb2xsQ29udGV4dCgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX1JPV19JTkRFWF9LRVkpO1xuICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX1JPV19TQ1JPTExfTEVGVF9LRVkpO1xuICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX0lURU1fSURfS0VZKTtcbiAgICB9IGNhdGNoIHt9XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFeHBsb3JlU2VjdGlvbihlbGVtZW50OiBIVE1MRWxlbWVudCwgc2Nyb2xsUm93OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgY29uc3QgZnJvbUFuY2VzdG9yID1cbiAgICAgIHNjcm9sbFJvdy5jbG9zZXN0KCdbZGF0YS1hbmNob3ItdGFyZ2V0XVtpZF0nKSBhcyBIVE1MRWxlbWVudCB8IG51bGwgfHxcbiAgICAgIHNjcm9sbFJvdy5jbG9zZXN0KCcuY29sdW1uW2lkXScpIGFzIEhUTUxFbGVtZW50IHwgbnVsbCB8fFxuICAgICAgZWxlbWVudC5jbG9zZXN0KCdbZGF0YS1hbmNob3ItdGFyZ2V0XVtpZF0nKSBhcyBIVE1MRWxlbWVudCB8IG51bGwgfHxcbiAgICAgIGVsZW1lbnQuY2xvc2VzdCgnLmNvbHVtbltpZF0nKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgICBpZiAoZnJvbUFuY2VzdG9yKSByZXR1cm4gZnJvbUFuY2VzdG9yO1xuXG4gICAgLy8gU2XDp8O1ZXMgcG9kZW0gc2VyIGlybcOjcyBkbyBzY3JvbGxhYmxlLXJvdyAobsOjbyBhbmNlc3RyYWlzKS5cbiAgICAvLyBTb2JlIGF0w6kgbyB3cmFwcGVyIGVkbS1zZHVpLWNvbXBvbmVudCBlIHBlcmNvcnJlIGlybcOjb3MgYW50ZXJpb3Jlcy5cbiAgICBjb25zdCB3cmFwcGVyID0gc2Nyb2xsUm93LmNsb3Nlc3QoJ2VkbS1zZHVpLWNvbXBvbmVudCcpIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICBsZXQgc2libGluZyA9IHdyYXBwZXI/LnByZXZpb3VzRWxlbWVudFNpYmxpbmcgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgIHdoaWxlIChzaWJsaW5nKSB7XG4gICAgICBpZiAoc2libGluZy5tYXRjaGVzKCcuY29sdW1uW2lkXScpIHx8IHNpYmxpbmcubWF0Y2hlcygnW2RhdGEtYW5jaG9yLXRhcmdldF1baWRdJykpIHtcbiAgICAgICAgcmV0dXJuIHNpYmxpbmc7XG4gICAgICB9XG4gICAgICBjb25zdCBpbm5lciA9IHNpYmxpbmcucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy5jb2x1bW5baWRdJykgfHxcbiAgICAgICAgc2libGluZy5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignW2RhdGEtYW5jaG9yLXRhcmdldF1baWRdJyk7XG4gICAgICBpZiAoaW5uZXIpIHJldHVybiBpbm5lcjtcbiAgICAgIHNpYmxpbmcgPSBzaWJsaW5nLnByZXZpb3VzRWxlbWVudFNpYmxpbmcgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlUm93SW5kZXgoc2Nyb2xsUm93OiBIVE1MRWxlbWVudCwgc2VjdGlvbjogSFRNTEVsZW1lbnQgfCBudWxsKTogbnVtYmVyIHtcbiAgICBjb25zdCBzY29wZSA9IHNlY3Rpb24gPz8gKHNjcm9sbFJvdy5wYXJlbnRFbGVtZW50IGFzIEhUTUxFbGVtZW50IHwgbnVsbCk7XG4gICAgaWYgKCFzY29wZSkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIHJldHVybiBBcnJheS5mcm9tKHNjb3BlLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCcuc2Nyb2xsYWJsZS1yb3cnKSkuaW5kZXhPZihzY3JvbGxSb3cpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlQ2xpY2tlZEl0ZW1JZChlbGVtZW50OiBIVE1MRWxlbWVudCwgc2VjdGlvbjogSFRNTEVsZW1lbnQgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKGVsZW1lbnQuaWQgJiYgZWxlbWVudC5pZCAhPT0gc2VjdGlvbj8uaWQpIHtcbiAgICAgIHJldHVybiBlbGVtZW50LmlkO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbmRpZGF0ZSA9IGVsZW1lbnQuY2xvc2VzdCgnW2lkXScpIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICBpZiAoY2FuZGlkYXRlPy5pZCAmJiBjYW5kaWRhdGUuaWQgIT09IHNlY3Rpb24/LmlkKSB7XG4gICAgICByZXR1cm4gY2FuZGlkYXRlLmlkO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
|
|
401
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWl2aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2R1aS9zcmMvbGliL2RpcmVjdGl2ZXMvdWl2aWV3LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFhdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsdUJBQXVCLEdBQ3hCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7OztBQU01RixNQUFNLE9BQU8sZUFBZTthQUdGLDRCQUF1QixHQUFHLG1CQUFtQixBQUF0QixDQUF1QjthQUM5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QU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBb0IsRUFBRSxPQUEyQjtRQUM1RSxJQUFJLE9BQU8sQ0FBQyxFQUFFLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDN0MsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBdUIsQ0FBQztRQUNoRSxJQUFJLFNBQVMsRUFBRSxFQUFFLElBQUksU0FBUyxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDbEQsT0FBTyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBM2lCVSxlQUFlO21HQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBbUJJLFFBQVE7eUNBakJGLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFrYk4sY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWU7Z0JBVTdCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVSVZpZXcgfSBmcm9tICcuLi9jb3JlL3VpY29tcG9zaXRpb24vbW9kZWxzL3Vpdmlldyc7XG5pbXBvcnQgeyBVSVBhZGRpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpcGFkZGluZyc7XG5pbXBvcnQgeyBVSUJhY2tncm91bmQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYmFja2dyb3VuZCc7XG5pbXBvcnQgeyBVSUFjdGlvbiB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlhY3Rpb24nO1xuaW1wb3J0IHsgVUlBbGlnbm1lbnQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpYWxpZ25tZW50JztcbmltcG9ydCB7IFVJU2hhZG93IH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNoYWRvdyc7XG5pbXBvcnQgeyBVSVJhZGl1cyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tb2RlbHMvdWlyYWRpdXMnO1xuaW1wb3J0IHsgVUlTcGFjaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21vZGVscy91aXNwYWNpbmcnO1xuaW1wb3J0IHsgVUlDb2xvciB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWNvbG9yJztcbmltcG9ydCB7IFVJSnVzdGlmeSB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aWp1c3RpZnknO1xuaW1wb3J0IHsgVUlEaW1lbnNpb24gfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvZW51bXMvdWlkaW1lbnNpb24nO1xuaW1wb3J0IHsgVUlDb250ZW50SW5zZXQgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbW9kZWxzL3VpY29udGVudC1pbnNldCc7XG5pbXBvcnQgeyBzcGFjZU1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zcGFjZS1tYXBwaW5nJztcbmltcG9ydCB7IGNvbG9yTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2NvbG9yLW1hcHBpbmcnO1xuaW1wb3J0IHsgcGFkTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL3BhZC1tYXBwaW5nJztcbmltcG9ydCB7IHJhZGl1c01hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9yYWRpdXMtbWFwcGluZyc7XG5pbXBvcnQgeyBhbGlnbm1lbnRNYXBwaW5nIH0gZnJvbSAnLi4vY29yZS91aXRoZW1lL21hcHBpbmcvYWxpZ25tZW50LW1hcHBpbmcnO1xuaW1wb3J0IHsgZGltZW5zaW9uTWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2RpbWVuc2lvbi1tYXBwaW5nJztcbmltcG9ydCB7XG4gIHNoYWRvd09mZnNldE1hcHBpbmcsXG4gIHNoYWRvd0JsdXJSYWRpdXNNYXBwaW5nLFxufSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zaGFkb3ctbWFwcGluZyc7XG5pbXBvcnQgeyBqdXN0aWZ5TWFwcGluZyB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9tYXBwaW5nL2p1c3RpZnktbWFwcGluZyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVUlTY3JlZW5WaWV3TW9kZWwgfSBmcm9tICcuLi9jb3JlL3ZpZXctbW9kZWxzL3Vpc2NyZWVuLnZpZXdtb2RlbCc7XG5pbXBvcnQgeyBVSUFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL3VpLWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFVJU2l6ZSB9IGZyb20gJy4uL2NvcmUvdWl0aGVtZS9lbnVtcy91aXNpemUnO1xuaW1wb3J0IHsgc2l6ZU1hcHBpbmcgfSBmcm9tICcuLi9jb3JlL3VpdGhlbWUvbWFwcGluZy9zaXplLW1hcHBpbmcnO1xuaW1wb3J0IHsgVUlTY3JlZW5Db250YWluZXJUeXBlIH0gZnJvbSAnLi4vY29yZS91aWNvbXBvc2l0aW9uL2VudW1zL3Vpc2NyZWVuLWNvbnRhaW5lci10eXBlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VkbVNkdWlWaWV3XScsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBVSVZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBlZG1TZHVpVmlldz86IFVJVmlldztcbiAgQElucHV0KCkgZGlzYWJsZUNsaWNrOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVYUExPUkVfTEFTVF9BTkNIT1JfS0VZID0gJ2V4cGxvcmVMYXN0QW5jaG9yJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9DTElDS0VEX0FOQ0hPUl9LRVkgPSAnZXhwbG9yZUNsaWNrZWRBbmNob3InO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBFWFBMT1JFX0xBU1RfUk9XX0lOREVYX0tFWSA9ICdleHBsb3JlTGFzdFJvd0luZGV4JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9MQVNUX1JPV19TQ1JPTExfTEVGVF9LRVkgPSAnZXhwbG9yZUxhc3RSb3dTY3JvbGxMZWZ0JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVhQTE9SRV9MQVNUX0lURU1fSURfS0VZID0gJ2V4cGxvcmVMYXN0SXRlbUlkJztcblxuICBwcml2YXRlIGxhc3RVaVZpZXc6IFVJVmlldyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHdhc1NtYWxsU2NyZWVuID0gdGhpcy5pc1NtYWxsU2NyZWVuKCk7XG4gIHByaXZhdGUgY3VycmVudENvbnRhaW5lcjogVUlTY3JlZW5Db250YWluZXJUeXBlID0gVUlTY3JlZW5Db250YWluZXJUeXBlLkNPTlRBSU5FRDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBVSUFjdGlvblNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzY3JlZW5WaWV3TW9kZWw6IFVJU2NyZWVuVmlld01vZGVsXG4gICkge1xuICAgIGlmICh0aGlzLnNjcmVlblZpZXdNb2RlbCkge1xuICAgICAgdGhpcy5zY3JlZW5WaWV3TW9kZWwudWlTY3JlZW4kLnN1YnNjcmliZSgoc2NyZWVuKSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudENvbnRhaW5lciA9XG4gICAgICAgICAgc2NyZWVuPy5jb25maWc/LmNvbnRhaW5lciA/PyBVSVNjcmVlbkNvbnRhaW5lclR5cGUuQ09OVEFJTkVEO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkbVNkdWlWaWV3KSB7XG4gICAgICB0aGlzLmxhc3RVaVZpZXcgPSB0aGlzLmVkbVNkdWlWaWV3O1xuICAgICAgdGhpcy5hcHBseVN0eWxlcyh0aGlzLmVkbVNkdWlWaWV3KTtcbiAgICAgIHRoaXMud2FzU21hbGxTY3JlZW4gPSB0aGlzLmlzU21hbGxTY3JlZW4oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U3R5bGVzKHVpVmlldzogVUlWaWV3KSB7XG4gICAgaWYgKHVpVmlldy5pZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaWQnLFxuICAgICAgICBTdHJpbmcodWlWaWV3LmlkKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnBhZGRpbmcpIHtcbiAgICAgIHRoaXMuYXBwbHlQYWRkaW5nKHVpVmlldy5wYWRkaW5nKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmNvbnRlbnRJbnNldCkge1xuICAgICAgdGhpcy5hcHBseUNvbnRlbnRJbnNldCh1aVZpZXcuY29udGVudEluc2V0KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJhY2tncm91bmQpIHtcbiAgICAgIHRoaXMuYXBwbHlCYWNrZ3JvdW5kKHVpVmlldy5iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmFjdGlvbikge1xuICAgICAgdGhpcy5hcHBseUFjdGlvbih1aVZpZXcuYWN0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmFsaWdubWVudCkge1xuICAgICAgdGhpcy5hcHBseUFsaWdubWVudCh1aVZpZXcuYWxpZ25tZW50KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNoYWRvdykge1xuICAgICAgdGhpcy5hcHBseVNoYWRvdyh1aVZpZXcuc2hhZG93KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnJhZGl1cykge1xuICAgICAgdGhpcy5hcHBseVJhZGl1cyh1aVZpZXcucmFkaXVzKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNwYWNpbmcpIHtcbiAgICAgIHRoaXMuYXBwbHlTcGFjaW5nKHVpVmlldy5zcGFjaW5nKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmhlaWdodCkge1xuICAgICAgdGhpcy5hcHBseUhlaWdodCh1aVZpZXcuaGVpZ2h0KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LndpZHRoKSB7XG4gICAgICB0aGlzLmFwcGx5V2lkdGgodWlWaWV3LndpZHRoKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJvcmRlcldpZHRoKSB7XG4gICAgICB0aGlzLmFwcGx5Qm9yZGVyV2lkdGgodWlWaWV3LmJvcmRlcldpZHRoKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LmJvcmRlckNvbG9yKSB7XG4gICAgICB0aGlzLmFwcGx5Qm9yZGVyQ29sb3IodWlWaWV3LmJvcmRlckNvbG9yKTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3Lmp1c3RpZnkpIHtcbiAgICAgIHRoaXMuYXBwbHlKdXN0aWZ5KHVpVmlldy5qdXN0aWZ5KTtcbiAgICB9XG5cbiAgICBpZiAodWlWaWV3LnNpemUpIHtcbiAgICAgIHRoaXMuYXBwbHlTaXplKHVpVmlldy5zaXplKTtcbiAgICB9XG4gICAgaWYgKHVpVmlldy5hc3BlY3RSYXRpbyAhPT0gbnVsbCAmJiB1aVZpZXcuYXNwZWN0UmF0aW8gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hcHBseUFzcGVjdFJhdGlvKHVpVmlldy5hc3BlY3RSYXRpbyk7XG4gICAgfVxuXG4gICAgaWYodWlWaWV3LmhvdmVyKXtcbiAgICAgIHRoaXMuYXBwbHlIb3ZlclZhcnModWlWaWV3KTtcbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlQYWRkaW5nKHVpUGFkZGluZzogVUlQYWRkaW5nKSB7XG4gICAgaWYgKHVpUGFkZGluZy50b3ApIHtcbiAgICAgIGNvbnN0IHBhZFZhbHVlID0gcGFkTWFwcGluZ1t1aVBhZGRpbmcudG9wXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy10b3AnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5sZWZ0KSB7XG4gICAgICBjb25zdCBwYWRWYWx1ZSA9IHBhZE1hcHBpbmdbdWlQYWRkaW5nLmxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLWxlZnQnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5yaWdodCkge1xuICAgICAgY29uc3QgcGFkVmFsdWUgPSBwYWRNYXBwaW5nW3VpUGFkZGluZy5yaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3BhZGRpbmctcmlnaHQnLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHVpUGFkZGluZy5ib3R0b20pIHtcbiAgICAgIGNvbnN0IHBhZFZhbHVlID0gcGFkTWFwcGluZ1t1aVBhZGRpbmcuYm90dG9tXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy1ib3R0b20nLFxuICAgICAgICBwYWRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Q29udGVudEluc2V0KHVpQ29udGVudEluc2V0OiBVSUNvbnRlbnRJbnNldCkge1xuICAgIGlmICh1aUNvbnRlbnRJbnNldC50b3ApIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQudG9wXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy10b3AnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC10b3AnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aUNvbnRlbnRJbnNldC5sZWZ0KSB7XG4gICAgICBjb25zdCBpbnNldFZhbHVlID0gc3BhY2VNYXBwaW5nW3VpQ29udGVudEluc2V0LmxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLWxlZnQnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC1sZWZ0JyxcbiAgICAgICAgaW5zZXRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlDb250ZW50SW5zZXQucmlnaHQpIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQucmlnaHRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdwYWRkaW5nLXJpZ2h0JyxcbiAgICAgICAgaW5zZXRWYWx1ZVxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnLS1zZHVpLWNvbnRlbnQtaW5zZXQtcmlnaHQnLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aUNvbnRlbnRJbnNldC5ib3R0b20pIHtcbiAgICAgIGNvbnN0IGluc2V0VmFsdWUgPSBzcGFjZU1hcHBpbmdbdWlDb250ZW50SW5zZXQuYm90dG9tXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAncGFkZGluZy1ib3R0b20nLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICctLXNkdWktY29udGVudC1pbnNldC1ib3R0b20nLFxuICAgICAgICBpbnNldFZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlCYWNrZ3JvdW5kKHVpQmFja2dyb3VuZDogVUlCYWNrZ3JvdW5kKSB7XG4gICAgaWYgKHVpQmFja2dyb3VuZC5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIGNvbnN0IGJhY2tncm91bmRDb2xvciA9IGNvbG9yTWFwcGluZ1t1aUJhY2tncm91bmQuYmFja2dyb3VuZENvbG9yXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYmFja2dyb3VuZC1jb2xvcicsXG4gICAgICAgIGJhY2tncm91bmRDb2xvclxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IxICYmIHVpQmFja2dyb3VuZC5ncmFkaWVudENvbG9yMikge1xuICAgICAgY29uc3QgZ3JhZGllbnRDb2xvcjEgPSBjb2xvck1hcHBpbmdbdWlCYWNrZ3JvdW5kLmdyYWRpZW50Q29sb3IxXTtcbiAgICAgIGNvbnN0IGdyYWRpZW50Q29sb3IyID0gY29sb3JNYXBwaW5nW3VpQmFja2dyb3VuZC5ncmFkaWVudENvbG9yMl07XG4gICAgICBjb25zdCBncmFkaWVudFN0eWxlcyA9IGBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICR7Z3JhZGllbnRDb2xvcjF9LCAke2dyYWRpZW50Q29sb3IyfSlgXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JhY2tncm91bmQnLFxuICAgICAgICBncmFkaWVudFN0eWxlc1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QWN0aW9uKHVpQWN0aW9uOiBVSUFjdGlvbikge1xuICAgIGlmICh0aGlzLmRpc2FibGVDbGljaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXJzb3InLCAncG9pbnRlcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUFsaWdubWVudCh1aUFsaWdubWVudDogVUlBbGlnbm1lbnQpIHtcbiAgICBpZiAodWlBbGlnbm1lbnQuYWxpZ25tZW50KSB7XG4gICAgICBjb25zdCBhbGlnbm1lbnQgPSBhbGlnbm1lbnRNYXBwaW5nW3VpQWxpZ25tZW50LmFsaWdubWVudF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2FsaWduLWl0ZW1zJyxcbiAgICAgICAgYWxpZ25tZW50XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaGFkb3codWlTaGFkb3c6IFVJU2hhZG93KSB7XG4gICAgaWYgKHVpU2hhZG93LmNvbG9yICYmIHVpU2hhZG93Lm9mZnNldFggJiYgdWlTaGFkb3cub2Zmc2V0WSAmJiB1aVNoYWRvdy5ibHVyUmFkaXVzKSB7XG4gICAgICBjb25zdCBjb2xvciA9IGNvbG9yTWFwcGluZ1t1aVNoYWRvdy5jb2xvcl07XG4gICAgICBjb25zdCBvZmZzZXRYID0gc2hhZG93T2Zmc2V0TWFwcGluZ1t1aVNoYWRvdy5vZmZzZXRYXTtcbiAgICAgIGNvbnN0IG9mZnNldFkgPSBzaGFkb3dPZmZzZXRNYXBwaW5nW3VpU2hhZG93Lm9mZnNldFldO1xuICAgICAgY29uc3QgYmx1clJhZGl1cyA9IHNoYWRvd0JsdXJSYWRpdXNNYXBwaW5nW3VpU2hhZG93LmJsdXJSYWRpdXNdO1xuICAgICAgY29uc3Qgb3BhY2l0eSA9IHVpU2hhZG93Lm9wYWNpdHkgIT09IHVuZGVmaW5lZCA/IHVpU2hhZG93Lm9wYWNpdHkgOiAxO1xuXG4gICAgICAvLyBGb3JtYXQ6IGJveC1zaGFkb3c6IG9mZnNldFggb2Zmc2V0WSBibHVyUmFkaXVzIGNvbG9yXG4gICAgICBjb25zdCBzaGFkb3dWYWx1ZSA9IGAke29mZnNldFh9ICR7b2Zmc2V0WX0gJHtibHVyUmFkaXVzfSAke2NvbG9yfWA7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm94LXNoYWRvdycsXG4gICAgICAgIHNoYWRvd1ZhbHVlXG4gICAgICApO1xuXG4gICAgICBpZiAob3BhY2l0eSAhPT0gMSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICdvcGFjaXR5JyxcbiAgICAgICAgICBvcGFjaXR5LnRvU3RyaW5nKClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5UmFkaXVzKHVpUmFkaXVzOiBVSVJhZGl1cykge1xuICAgIGlmICh1aVJhZGl1cy50b3BMZWZ0KSB7XG4gICAgICBjb25zdCByYWRpdXMgPSByYWRpdXNNYXBwaW5nW3VpUmFkaXVzLnRvcExlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItdG9wLWxlZnQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy50b3BSaWdodCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy50b3BSaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci10b3AtcmlnaHQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy5ib3R0b21MZWZ0KSB7XG4gICAgICBjb25zdCByYWRpdXMgPSByYWRpdXNNYXBwaW5nW3VpUmFkaXVzLmJvdHRvbUxlZnRdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh1aVJhZGl1cy5ib3R0b21SaWdodCkge1xuICAgICAgY29uc3QgcmFkaXVzID0gcmFkaXVzTWFwcGluZ1t1aVJhZGl1cy5ib3R0b21SaWdodF07XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzJyxcbiAgICAgICAgcmFkaXVzXG4gICAgICApO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNwYWNpbmcodWlTcGFjaW5nOiBVSVNwYWNpbmcpIHtcbiAgICBpZiAodWlTcGFjaW5nLnNwYWNpbmcpIHtcbiAgICAgIGNvbnN0IHNwYWNpbmdWYWx1ZSA9IHNwYWNlTWFwcGluZ1t1aVNwYWNpbmcuc3BhY2luZ107XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2dhcCcsXG4gICAgICAgIHNwYWNpbmdWYWx1ZVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5SGVpZ2h0KGhlaWdodDogVUlEaW1lbnNpb24pIHtcbiAgICBpZiAoaGVpZ2h0KSB7XG4gICAgICBjb25zdCBoZWlnaHRWYWx1ZSA9IGRpbWVuc2lvbk1hcHBpbmdbaGVpZ2h0XTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgaGVpZ2h0VmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVdpZHRoKHdpZHRoOiBVSURpbWVuc2lvbikge1xuICAgIGlmICh3aWR0aCkge1xuICAgICAgY29uc3Qgd2lkdGhWYWx1ZSA9IGRpbWVuc2lvbk1hcHBpbmdbd2lkdGhdO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICd3aWR0aCcsXG4gICAgICAgIHdpZHRoVmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUJvcmRlcldpZHRoKGJvcmRlcldpZHRoOiBudW1iZXIpIHtcbiAgICBpZiAoYm9yZGVyV2lkdGggIT09IG51bGwgJiYgYm9yZGVyV2lkdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdib3JkZXItd2lkdGgnLFxuICAgICAgICBgJHtib3JkZXJXaWR0aH1weGBcbiAgICAgICk7XG5cbiAgICAgIC8vIEVuc3VyZSBib3JkZXIgc3R5bGUgaXMgc2V0LCBvdGhlcndpc2UgYm9yZGVyLXdpZHRoIHdvbid0IGJlIHZpc2libGVcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLXN0eWxlJyxcbiAgICAgICAgJ3NvbGlkJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Qm9yZGVyQ29sb3IoYm9yZGVyQ29sb3I6IFVJQ29sb3IpIHtcbiAgICBpZiAoYm9yZGVyQ29sb3IpIHtcbiAgICAgIGNvbnN0IGNvbG9yID0gY29sb3JNYXBwaW5nW2JvcmRlckNvbG9yXTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYm9yZGVyLWNvbG9yJyxcbiAgICAgICAgY29sb3JcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUp1c3RpZnkoanVzdGlmeTogVUlKdXN0aWZ5KSB7XG4gICAgaWYgKGp1c3RpZnkpIHtcbiAgICAgIGNvbnN0IGp1c3RpZnlWYWx1ZSA9IGp1c3RpZnlNYXBwaW5nW2p1c3RpZnldO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdqdXN0aWZ5LWNvbnRlbnQnLFxuICAgICAgICBqdXN0aWZ5VmFsdWVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUFzcGVjdFJhdGlvKGFzcGVjdFJhdGlvOiBudW1iZXIpIHtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTaXplKHNpemU6IFVJU2l6ZSkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHNpemVNYXBwaW5nW3NpemVdO1xuICAgIGlmICghY29uZmlnKSByZXR1cm47XG5cbiAgICBsZXQgeyB3aWR0aDogd2lkdGhWYWx1ZSwgaGVpZ2h0OiBoZWlnaHRWYWx1ZSB9ID0gY29uZmlnO1xuXG4gICAgaWYgKGNvbmZpZy5zY2FsYWJsZSAmJiB0aGlzLmlzU21hbGxTY3JlZW4oKSkge1xuICAgICAgd2lkdGhWYWx1ZSA9IHRoaXMuc2NhbGVQaXhlbFZhbHVlKHdpZHRoVmFsdWUsIDEuMSk7XG4gICAgICBoZWlnaHRWYWx1ZSA9IHRoaXMuc2NhbGVQaXhlbFZhbHVlKGhlaWdodFZhbHVlLCAxLjEpO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIHdpZHRoVmFsdWUpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBoZWlnaHRWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5SG92ZXJWYXJzKHVpVmlldzogYW55KTogdm9pZCB7XG4gICAgY29uc3QgaG92ZXIgPSB1aVZpZXc/LmhvdmVyID8/IHVpVmlldz8uZWxlbWVudD8uaG92ZXI7XG4gICAgaWYgKCFob3ZlcikgcmV0dXJuO1xuXG4gICAgY29uc3QgZWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIC8vIG1hcmNhIHF1ZSBlc3NlIGVsZW1lbnRvIHRlbSBob3ZlclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWwsICdlZG0taG92ZXInKTtcblxuICAgIGlmIChob3Zlci5ib3JkZXJfY29sb3IgfHwgaG92ZXIuYm9yZGVyQ29sb3IpIHtcbiAgICAgIGNvbnN0IHRva2VuID0gKGhvdmVyLmJvcmRlcl9jb2xvciA/PyBob3Zlci5ib3JkZXJDb2xvcikucmVwbGFjZSgvXy9nLCAnLScpO1xuICAgICAgZWwuc3R5bGUuc2V0UHJvcGVydHkoJy0tZWRtLWhvdmVyLWJvcmRlci1jb2xvcicsIGB2YXIoLS0ke3Rva2VufSlgKTtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXIuYmFja2dyb3VuZF9jb2xvciB8fCBob3Zlci5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIGNvbnN0IHRva2VuID0gKGhvdmVyLmJhY2tncm91bmRfY29sb3IgPz8gaG92ZXIuYmFja2dyb3VuZENvbG9yKS5yZXBsYWNlKC9fL2csICctJyk7XG4gICAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1lZG0taG92ZXItYmctY29sb3InLCBgdmFyKC0tJHt0b2tlbn0pYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1NtYWxsU2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuaW5uZXJXaWR0aCA+PSA1NjU7XG4gIH1cblxuICBwcml2YXRlIHNjYWxlUGl4ZWxWYWx1ZSh2YWx1ZTogc3RyaW5nLCBkaXZpc29yOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1hdGNoID0gL14oXFxkKyg/OlxcLlxcZCspPylweCQvLmV4ZWModmFsdWUpO1xuICAgIGlmICghbWF0Y2gpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBudW0gPSBwYXJzZUZsb2F0KG1hdGNoWzFdKTtcbiAgICBjb25zdCBzY2FsZWQgPSBudW0gKiBkaXZpc29yO1xuICAgIHJldHVybiBgJHtzY2FsZWR9cHhgO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGlzU21hbGwgPSB0aGlzLmlzU21hbGxTY3JlZW4oKTtcbiAgICBpZiAodGhpcy5sYXN0VWlWaWV3ICYmIGlzU21hbGwgIT09IHRoaXMud2FzU21hbGxTY3JlZW4pIHtcbiAgICAgIHRoaXMuYXBwbHlTdHlsZXModGhpcy5sYXN0VWlWaWV3KTtcbiAgICAgIHRoaXMud2FzU21hbGxTY3JlZW4gPSBpc1NtYWxsO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlQ2xpY2spIHJldHVybjtcblxuICAgIGlmICh0aGlzLmVkbVNkdWlWaWV3Py5hY3Rpb24pIHtcbiAgICAgIHRoaXMuY2FwdHVyZUV4cGxvcmVTY3JvbGxDb250ZXh0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuYWN0aW9uU2VydmljZS5leGVjdXRlKHRoaXMuZWRtU2R1aVZpZXcuYWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNhcHR1cmVFeHBsb3JlU2Nyb2xsQ29udGV4dCgpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgfHwgIXRoaXMucm91dGVyLnVybC5pbmNsdWRlcygnL2V4cGxvcmFyJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3Qgc2Nyb2xsUm93ID0gZWxlbWVudC5jbG9zZXN0KCcuc2Nyb2xsYWJsZS1yb3cnKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgICBpZiAoIXNjcm9sbFJvdykge1xuICAgICAgdGhpcy5jbGVhckV4cGxvcmVIb3Jpem9udGFsU2Nyb2xsQ29udGV4dCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLnJlc29sdmVFeHBsb3JlU2VjdGlvbihlbGVtZW50LCBzY3JvbGxSb3cpO1xuICAgIGNvbnN0IGFjdGl2ZVRhZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCcucm93LXRhZy0tc2VsZWN0ZWQnKT8uZ2V0QXR0cmlidXRlKCdkYXRhLXRhZycpO1xuICAgIGNvbnN0IHNlY3Rpb25JZCA9IHNlY3Rpb24/LmlkIHx8IGFjdGl2ZVRhZyB8fCBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0xBU1RfQU5DSE9SX0tFWSk7XG4gICAgY29uc3Qgcm93SW5kZXggPSB0aGlzLnJlc29sdmVSb3dJbmRleChzY3JvbGxSb3csIHNlY3Rpb24pO1xuICAgIGNvbnN0IGl0ZW1JZCA9IHRoaXMucmVzb2x2ZUNsaWNrZWRJdGVtSWQoZWxlbWVudCwgc2VjdGlvbik7XG5cbiAgICB0cnkge1xuICAgICAgaWYgKHNlY3Rpb25JZCkge1xuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0xBU1RfQU5DSE9SX0tFWSwgc2VjdGlvbklkKTtcbiAgICAgIH1cbiAgICAgIC8vIFNhbHZhIG8gYW5jaG9yIGRvIGNsaXF1ZSBzZXBhcmFkbyBkbyBzY3JvbGwgc3B5IHBhcmEgbsOjbyBzZXIgc29icmVzY3JpdG8gZHVyYW50ZSBuYXZlZ2HDp8Ojb1xuICAgICAgY29uc3QgY2xpY2tlZEFuY2hvciA9IHNlY3Rpb24/LmlkIHx8IGFjdGl2ZVRhZztcbiAgICAgIGlmIChjbGlja2VkQW5jaG9yKSB7XG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oVUlWaWV3RGlyZWN0aXZlLkVYUExPUkVfQ0xJQ0tFRF9BTkNIT1JfS0VZLCBjbGlja2VkQW5jaG9yKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJvd0luZGV4ID49IDApIHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX1JPV19JTkRFWF9LRVksIFN0cmluZyhyb3dJbmRleCkpO1xuICAgICAgfVxuXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICBVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX1JPV19TQ1JPTExfTEVGVF9LRVksXG4gICAgICAgIFN0cmluZyhNYXRoLnJvdW5kKHNjcm9sbFJvdy5zY3JvbGxMZWZ0KSlcbiAgICAgICk7XG5cbiAgICAgIGlmIChpdGVtSWQpIHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX0lURU1fSURfS0VZLCBpdGVtSWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShVSVZpZXdEaXJlY3RpdmUuRVhQTE9SRV9MQVNUX0lURU1fSURfS0VZKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHt9XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRXhwbG9yZUhvcml6b250YWxTY3JvbGxDb250ZXh0KCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0xBU1RfUk9XX0lOREVYX0tFWSk7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0xBU1RfUk9XX1NDUk9MTF9MRUZUX0tFWSk7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFVJVmlld0RpcmVjdGl2ZS5FWFBMT1JFX0xBU1RfSVRFTV9JRF9LRVkpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUV4cGxvcmVTZWN0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzY3JvbGxSb3c6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBjb25zdCBmcm9tQW5jZXN0b3IgPVxuICAgICAgc2Nyb2xsUm93LmNsb3Nlc3QoJ1tkYXRhLWFuY2hvci10YXJnZXRdW2lkXScpIGFzIEhUTUxFbGVtZW50IHwgbnVsbCB8fFxuICAgICAgc2Nyb2xsUm93LmNsb3Nlc3QoJy5jb2x1bW5baWRdJykgYXMgSFRNTEVsZW1lbnQgfCBudWxsIHx8XG4gICAgICBlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLWFuY2hvci10YXJnZXRdW2lkXScpIGFzIEhUTUxFbGVtZW50IHwgbnVsbCB8fFxuICAgICAgZWxlbWVudC5jbG9zZXN0KCcuY29sdW1uW2lkXScpIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcblxuICAgIGlmIChmcm9tQW5jZXN0b3IpIHJldHVybiBmcm9tQW5jZXN0b3I7XG5cbiAgICAvLyBTZcOnw7VlcyBwb2RlbSBzZXIgaXJtw6NzIGRvIHNjcm9sbGFibGUtcm93IChuw6NvIGFuY2VzdHJhaXMpLlxuICAgIC8vIFNvYmUgYXTDqSBvIHdyYXBwZXIgZWRtLXNkdWktY29tcG9uZW50IGUgcGVyY29ycmUgaXJtw6NvcyBhbnRlcmlvcmVzLlxuICAgIGNvbnN0IHdyYXBwZXIgPSBzY3JvbGxSb3cuY2xvc2VzdCgnZWRtLXNkdWktY29tcG9uZW50JykgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgIGxldCBzaWJsaW5nID0gd3JhcHBlcj8ucHJldmlvdXNFbGVtZW50U2libGluZyBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgd2hpbGUgKHNpYmxpbmcpIHtcbiAgICAgIGlmIChzaWJsaW5nLm1hdGNoZXMoJy5jb2x1bW5baWRdJykgfHwgc2libGluZy5tYXRjaGVzKCdbZGF0YS1hbmNob3ItdGFyZ2V0XVtpZF0nKSkge1xuICAgICAgICByZXR1cm4gc2libGluZztcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlubmVyID0gc2libGluZy5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignLmNvbHVtbltpZF0nKSB8fFxuICAgICAgICBzaWJsaW5nLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCdbZGF0YS1hbmNob3ItdGFyZ2V0XVtpZF0nKTtcbiAgICAgIGlmIChpbm5lcikgcmV0dXJuIGlubmVyO1xuICAgICAgc2libGluZyA9IHNpYmxpbmcucHJldmlvdXNFbGVtZW50U2libGluZyBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVSb3dJbmRleChzY3JvbGxSb3c6IEhUTUxFbGVtZW50LCBzZWN0aW9uOiBIVE1MRWxlbWVudCB8IG51bGwpOiBudW1iZXIge1xuICAgIGNvbnN0IHNjb3BlID0gc2VjdGlvbiA/PyAoc2Nyb2xsUm93LnBhcmVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQgfCBudWxsKTtcbiAgICBpZiAoIXNjb3BlKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIEFycmF5LmZyb20oc2NvcGUucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJy5zY3JvbGxhYmxlLXJvdycpKS5pbmRleE9mKHNjcm9sbFJvdyk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVDbGlja2VkSXRlbUlkKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzZWN0aW9uOiBIVE1MRWxlbWVudCB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoZWxlbWVudC5pZCAmJiBlbGVtZW50LmlkICE9PSBzZWN0aW9uPy5pZCkge1xuICAgICAgcmV0dXJuIGVsZW1lbnQuaWQ7XG4gICAgfVxuXG4gICAgY29uc3QgY2FuZGlkYXRlID0gZWxlbWVudC5jbG9zZXN0KCdbaWRdJykgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgIGlmIChjYW5kaWRhdGU/LmlkICYmIGNhbmRpZGF0ZS5pZCAhPT0gc2VjdGlvbj8uaWQpIHtcbiAgICAgIHJldHVybiBjYW5kaWRhdGUuaWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2081,10 +2081,10 @@ var UISize;
|
|
|
2081
2081
|
})(UISize || (UISize = {}));
|
|
2082
2082
|
|
|
2083
2083
|
const sizeMapping = {
|
|
2084
|
-
[UISize.THUMB_1]: { width: '100px', height: '56px', scalable:
|
|
2085
|
-
[UISize.THUMB_2]: { width: '
|
|
2084
|
+
[UISize.THUMB_1]: { width: '100px', height: '56px', scalable: true },
|
|
2085
|
+
[UISize.THUMB_2]: { width: '106px', height: '40px', scalable: true },
|
|
2086
2086
|
[UISize.THUMB_3]: { width: '210px', height: '118px', scalable: true },
|
|
2087
|
-
[UISize.THUMB_4]: { width: '300px', height: '
|
|
2087
|
+
[UISize.THUMB_4]: { width: '300px', height: '170px', scalable: true },
|
|
2088
2088
|
[UISize.ASSET_1]: { width: '26px', height: '26px', scalable: false },
|
|
2089
2089
|
[UISize.ASSET_2]: { width: '16px', height: '16px', scalable: false },
|
|
2090
2090
|
[UISize.ASSET_3]: { width: '80px', height: '80px', scalable: false },
|
|
@@ -2093,12 +2093,12 @@ const sizeMapping = {
|
|
|
2093
2093
|
[UISize.ASSET_6]: { width: '20px', height: '20px', scalable: false },
|
|
2094
2094
|
[UISize.ASSET_7]: { width: '22px', height: '22px', scalable: false },
|
|
2095
2095
|
[UISize.ASSET_8]: { width: '24px', height: '24px', scalable: false },
|
|
2096
|
-
[UISize.ASSET_9]: { width: '
|
|
2096
|
+
[UISize.ASSET_9]: { width: '60px', height: '60px', scalable: false },
|
|
2097
2097
|
[UISize.ASSET_10]: { width: '30px', height: '30px', scalable: false },
|
|
2098
2098
|
[UISize.CARD_1]: { width: '210px', height: '201px', scalable: true },
|
|
2099
|
-
[UISize.CARD_2]: { width: '300px', height: '
|
|
2100
|
-
[UISize.CARD_3]: { width: '300px', height: '
|
|
2101
|
-
[UISize.CARD_4]: { width: '210px', height: '
|
|
2099
|
+
[UISize.CARD_2]: { width: '300px', height: '315px', scalable: true },
|
|
2100
|
+
[UISize.CARD_3]: { width: '300px', height: '375px', scalable: false },
|
|
2101
|
+
[UISize.CARD_4]: { width: '210px', height: '235px', scalable: true },
|
|
2102
2102
|
};
|
|
2103
2103
|
/** @deprecated Use `sizeMapping[size].height` */
|
|
2104
2104
|
const sizeMappingHeight = Object.fromEntries(Object.entries(sizeMapping).map(([key, config]) => [key, config.height]));
|
|
@@ -2329,9 +2329,7 @@ class UIViewDirective {
|
|
|
2329
2329
|
if (!config)
|
|
2330
2330
|
return;
|
|
2331
2331
|
let { width: widthValue, height: heightValue } = config;
|
|
2332
|
-
if (config.scalable &&
|
|
2333
|
-
this.isSmallScreen() &&
|
|
2334
|
-
this.currentContainer === UIScreenContainerType.FLUID) {
|
|
2332
|
+
if (config.scalable && this.isSmallScreen()) {
|
|
2335
2333
|
widthValue = this.scalePixelValue(widthValue, 1.1);
|
|
2336
2334
|
heightValue = this.scalePixelValue(heightValue, 1.1);
|
|
2337
2335
|
}
|
|
@@ -3164,12 +3162,6 @@ class ImageComponent {
|
|
|
3164
3162
|
}
|
|
3165
3163
|
}
|
|
3166
3164
|
if (this.imgElementRef?.nativeElement) {
|
|
3167
|
-
if (element.size) {
|
|
3168
|
-
const height = sizeMappingHeight[element.size];
|
|
3169
|
-
const width = sizeMappingWidth[element.size];
|
|
3170
|
-
this.renderer.setStyle(this.imgElementRef.nativeElement, 'height', height);
|
|
3171
|
-
this.renderer.setStyle(this.imgElementRef.nativeElement, 'width', width);
|
|
3172
|
-
}
|
|
3173
3165
|
if (element.aspect) {
|
|
3174
3166
|
this.renderer.setStyle(this.imgElementRef.nativeElement, 'object-fit', aspectMapping[element.aspect]);
|
|
3175
3167
|
}
|
|
@@ -3670,11 +3662,11 @@ class TagsRowTagComponent {
|
|
|
3670
3662
|
}
|
|
3671
3663
|
}
|
|
3672
3664
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TagsRowTagComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }, { token: FontSizeMappingService }, { token: ScrollSpyService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3673
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TagsRowTagComponent, isStandalone: false, selector: "edm-sdui-tags-row-tag", viewQueries: [{ propertyName: "tagElementRef", first: true, predicate: ["tagElement"], descendants: true }, { propertyName: "tagNameElementRef", first: true, predicate: ["tagNameElement"], descendants: true }], ngImport: i0, template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border
|
|
3665
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TagsRowTagComponent, isStandalone: false, selector: "edm-sdui-tags-row-tag", viewQueries: [{ propertyName: "tagElementRef", first: true, predicate: ["tagElement"], descendants: true }, { propertyName: "tagNameElementRef", first: true, predicate: ["tagNameElement"], descendants: true }], ngImport: i0, template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--tag-explorer-aux);cursor:pointer;font-size:16px;flex-shrink:0}.row-tag:hover{background-color:var(--bt-tag-explorer-on)}.row-tag--selected{border-color:var(--tag-explorer-highlight);background-color:var(--bt-tag-explorer-on);background-origin:border-box}.tag-name{font-weight:600;color:var(--font-bt-tag-explorer-on);font-size:15px;line-height:17.25px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
3674
3666
|
}
|
|
3675
3667
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TagsRowTagComponent, decorators: [{
|
|
3676
3668
|
type: Component,
|
|
3677
|
-
args: [{ standalone: false, selector: 'edm-sdui-tags-row-tag', template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border
|
|
3669
|
+
args: [{ standalone: false, selector: 'edm-sdui-tags-row-tag', template: "<div class=\"row-tag\" #tagElement *ngIf=\"uiComponent\" [edmSduiView]=\"uiComponent.element\" (click)=\"onTagClick()\">\n <span class=\"tag-name\" #tagNameElement>{{ uiComponent.element?.label ?? '' }}</span>\n</div>\n", styles: [":host{display:contents}.row-tag{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--tag-explorer-aux);cursor:pointer;font-size:16px;flex-shrink:0}.row-tag:hover{background-color:var(--bt-tag-explorer-on)}.row-tag--selected{border-color:var(--tag-explorer-highlight);background-color:var(--bt-tag-explorer-on);background-origin:border-box}.tag-name{font-weight:600;color:var(--font-bt-tag-explorer-on);font-size:15px;line-height:17.25px}\n"] }]
|
|
3678
3670
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
3679
3671
|
type: Inject,
|
|
3680
3672
|
args: ['uiComponent']
|