@cqa-lib/cqa-ui 1.0.50 → 1.0.51
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/esm2020/lib/dashboards/chart-card/chart-card.component.mjs +3 -3
- package/esm2020/lib/dashboards/coverage-module-card/coverage-module-card.component.mjs +3 -3
- package/esm2020/lib/dashboards/heat-error-map-cell/heat-error-map-cell.component.mjs +3 -3
- package/esm2020/lib/empty-state/empty-state.component.mjs +3 -3
- package/esm2020/lib/utils/tw-overlay-container.mjs +28 -9
- package/fesm2015/cqa-lib-cqa-ui.mjs +35 -16
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +35 -16
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/utils/tw-overlay-container.d.ts +1 -1
- package/package.json +1 -1
- package/styles.css +1 -1
|
@@ -71,10 +71,10 @@ export class EmptyStateComponent {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
EmptyStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EmptyStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
-
EmptyStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EmptyStateComponent, selector: "cqa-empty-state", inputs: { preset: "preset", imageUrl: "imageUrl", title: "title", description: "description", actions: "actions" }, outputs: { actionClick: "actionClick" }, host: { classAttribute: "cqa-ui-root" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cqa-ui-root
|
|
74
|
+
EmptyStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EmptyStateComponent, selector: "cqa-empty-state", inputs: { preset: "preset", imageUrl: "imageUrl", title: "title", description: "description", actions: "actions" }, outputs: { actionClick: "actionClick" }, host: { classAttribute: "cqa-ui-root" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"width: 100%; height: 100%; min-height: 200px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 2rem; padding-bottom: 2rem; padding-left: 1rem; padding-right: 1rem;\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-6 cqa-items-center cqa-max-w-md cqa-w-full\">\n <!-- Icon Container -->\n <div *ngIf=\"displayImageUrl\" class=\"cqa-relative cqa-shrink-0 cqa-w-24 cqa-h-24 md:cqa-w-32 md:cqa-h-32\">\n <!-- Main Icon Container with Gradient Background and Shadow -->\n <div class=\"cqa-relative cqa-rounded-3xl cqa-w-full cqa-h-full cqa-shadow-sm\">\n <div class=\"cqa-absolute cqa-inset-0 cqa-bg-gradient-to-br cqa-from-indigo-500 cqa-to-violet-950 cqa-rounded-3xl cqa-opacity-10\"></div>\n <!-- Icon/Image centered inside on top layer - fully opaque -->\n <div class=\"cqa-absolute cqa-inset-0 cqa-flex cqa-items-center cqa-justify-center cqa-rounded-3xl\">\n <div class=\"cqa-w-3/4 cqa-h-3/4 cqa-flex cqa-items-center cqa-justify-center cqa-relative\">\n <img [src]=\"displayImageUrl\" alt=\"\" class=\"cqa-block cqa-max-w-full cqa-max-h-full cqa-w-full cqa-h-full cqa-object-contain\" />\n </div>\n </div>\n </div>\n <!-- Decorative Dots -->\n <div class=\"cqa-absolute cqa-rounded-full cqa-bg-primary-300 cqa-opacity-[0.815] cqa-hidden md:cqa-block\" style=\"right: -4px; top: -4px; width: 12px; height: 12px; z-index: 20;\"></div>\n <div class=\"cqa-absolute cqa-rounded-full cqa-bg-primary-300 cqa-opacity-[0.695] cqa-hidden md:cqa-block\" style=\"left: -4px; bottom: -4px; width: 10px; height: 10px; z-index: 20;\"></div>\n </div>\n\n <!-- Content Container -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-4 cqa-items-center cqa-w-full\">\n <!-- Title and Description -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-items-center cqa-w-full\">\n <!-- Title -->\n <div *ngIf=\"displayTitle\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-w-full\">\n <h3 class=\"cqa-font-inter cqa-text-base md:cqa-text-lg cqa-font-medium cqa-leading-tight cqa-text-center cqa-text-neutral-900 cqa-px-2\">\n {{ displayTitle }}\n </h3>\n </div>\n <!-- Description -->\n <div *ngIf=\"displayDescription\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-w-full\">\n <p class=\"cqa-font-inter cqa-font-medium cqa-text-sm cqa-leading-snug cqa-text-center cqa-text-neutral-500 cqa-px-2\">\n {{ displayDescription }}\n </p>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div\n *ngIf=\"displayActions && displayActions.length > 0\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-full cqa-flex-wrap\"\n [ngClass]=\"displayActions.length > 1 ? 'cqa-flex-row cqa-gap-3' : 'cqa-flex-col'\"\n >\n <cqa-button\n *ngFor=\"let action of displayActions\"\n [variant]=\"action.variant || 'filled'\"\n [icon]=\"action.icon\"\n [iconPosition]=\"action.iconPosition || 'start'\"\n [disabled]=\"action.disabled\"\n (clicked)=\"onActionClick(action, $event)\"\n class=\"cqa-w-full md:cqa-w-auto\"\n >\n {{ action.label }}\n </cqa-button>\n </div>\n </div>\n </div>\n</div>\n\n", components: [{ type: i1.ButtonComponent, selector: "cqa-button", inputs: ["variant", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass"], outputs: ["clicked"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
75
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EmptyStateComponent, decorators: [{
|
|
76
76
|
type: Component,
|
|
77
|
-
args: [{ selector: 'cqa-empty-state', host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root
|
|
77
|
+
args: [{ selector: 'cqa-empty-state', host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\" style=\"width: 100%; height: 100%; min-height: 200px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 2rem; padding-bottom: 2rem; padding-left: 1rem; padding-right: 1rem;\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-6 cqa-items-center cqa-max-w-md cqa-w-full\">\n <!-- Icon Container -->\n <div *ngIf=\"displayImageUrl\" class=\"cqa-relative cqa-shrink-0 cqa-w-24 cqa-h-24 md:cqa-w-32 md:cqa-h-32\">\n <!-- Main Icon Container with Gradient Background and Shadow -->\n <div class=\"cqa-relative cqa-rounded-3xl cqa-w-full cqa-h-full cqa-shadow-sm\">\n <div class=\"cqa-absolute cqa-inset-0 cqa-bg-gradient-to-br cqa-from-indigo-500 cqa-to-violet-950 cqa-rounded-3xl cqa-opacity-10\"></div>\n <!-- Icon/Image centered inside on top layer - fully opaque -->\n <div class=\"cqa-absolute cqa-inset-0 cqa-flex cqa-items-center cqa-justify-center cqa-rounded-3xl\">\n <div class=\"cqa-w-3/4 cqa-h-3/4 cqa-flex cqa-items-center cqa-justify-center cqa-relative\">\n <img [src]=\"displayImageUrl\" alt=\"\" class=\"cqa-block cqa-max-w-full cqa-max-h-full cqa-w-full cqa-h-full cqa-object-contain\" />\n </div>\n </div>\n </div>\n <!-- Decorative Dots -->\n <div class=\"cqa-absolute cqa-rounded-full cqa-bg-primary-300 cqa-opacity-[0.815] cqa-hidden md:cqa-block\" style=\"right: -4px; top: -4px; width: 12px; height: 12px; z-index: 20;\"></div>\n <div class=\"cqa-absolute cqa-rounded-full cqa-bg-primary-300 cqa-opacity-[0.695] cqa-hidden md:cqa-block\" style=\"left: -4px; bottom: -4px; width: 10px; height: 10px; z-index: 20;\"></div>\n </div>\n\n <!-- Content Container -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-4 cqa-items-center cqa-w-full\">\n <!-- Title and Description -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-2 cqa-items-center cqa-w-full\">\n <!-- Title -->\n <div *ngIf=\"displayTitle\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-w-full\">\n <h3 class=\"cqa-font-inter cqa-text-base md:cqa-text-lg cqa-font-medium cqa-leading-tight cqa-text-center cqa-text-neutral-900 cqa-px-2\">\n {{ displayTitle }}\n </h3>\n </div>\n <!-- Description -->\n <div *ngIf=\"displayDescription\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-w-full\">\n <p class=\"cqa-font-inter cqa-font-medium cqa-text-sm cqa-leading-snug cqa-text-center cqa-text-neutral-500 cqa-px-2\">\n {{ displayDescription }}\n </p>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div\n *ngIf=\"displayActions && displayActions.length > 0\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-full cqa-flex-wrap\"\n [ngClass]=\"displayActions.length > 1 ? 'cqa-flex-row cqa-gap-3' : 'cqa-flex-col'\"\n >\n <cqa-button\n *ngFor=\"let action of displayActions\"\n [variant]=\"action.variant || 'filled'\"\n [icon]=\"action.icon\"\n [iconPosition]=\"action.iconPosition || 'start'\"\n [disabled]=\"action.disabled\"\n (clicked)=\"onActionClick(action, $event)\"\n class=\"cqa-w-full md:cqa-w-auto\"\n >\n {{ action.label }}\n </cqa-button>\n </div>\n </div>\n </div>\n</div>\n\n", styles: [] }]
|
|
78
78
|
}], propDecorators: { preset: [{
|
|
79
79
|
type: Input
|
|
80
80
|
}], imageUrl: [{
|
|
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
88
88
|
}], actionClick: [{
|
|
89
89
|
type: Output
|
|
90
90
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBdUIsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQWlCM0YsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVNXLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFFaEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUdyRCxXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBdUIsRUFBRSxDQUFDO0tBaUUzQztJQS9EQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsMkJBQTJCO1lBQzNCLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQzdDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0M7YUFBTTtZQUNMLHlDQUF5QztZQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2xGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUN4QywwRUFBMEU7UUFDMUUsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwRyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELHNEQUFzRDtRQUN0RCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCwyQ0FBMkM7UUFDM0Msd0dBQXdHO1FBQ3hHLGtFQUFrRTtRQUNsRSxrREFBa0Q7UUFDbEQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3BELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBd0IsRUFBRSxLQUFpQjtRQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNwQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNsQjtZQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7Z0hBNUVVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGtSQ2xCaEMseXVHQTJEQTsyRkR6Q2EsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGlCQUFpQixRQUdyQixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7OEJBR3JCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZVByZXNldEtleSwgZ2V0RW1wdHlTdGF0ZVByZXNldCB9IGZyb20gJy4vZW1wdHktc3RhdGUtcHJlc2V0cy5jb25zdGFudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVtcHR5U3RhdGVBY3Rpb24ge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YXJpYW50PzogJ2ZpbGxlZCcgfCAnb3V0bGluZWQnIHwgJ3RleHQnIHwgJ2VsZXZhdGVkJyB8ICd0b25hbCc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGljb25Qb3NpdGlvbj86ICdzdGFydCcgfCAnZW5kJztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrPzogKCkgPT4gdm9pZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWVtcHR5LXN0YXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VtcHR5LXN0YXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9XG59KVxuZXhwb3J0IGNsYXNzIEVtcHR5U3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwcmVzZXQ/OiBFbXB0eVN0YXRlUHJlc2V0S2V5O1xuICBASW5wdXQoKSBpbWFnZVVybD86IHN0cmluZzsgLy8gVVJMIGZvciBpbWFnZVxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYWN0aW9uczogRW1wdHlTdGF0ZUFjdGlvbltdID0gW107XG5cbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFbXB0eVN0YXRlQWN0aW9uPigpO1xuXG4gIHByaXZhdGUgX2ltYWdlVXJsPzogc3RyaW5nO1xuICBwcml2YXRlIF90aXRsZTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX2Rlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBfYWN0aW9uczogRW1wdHlTdGF0ZUFjdGlvbltdID0gW107XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZXNldCkge1xuICAgICAgLy8gVXNlIHByZXNldCBjb25maWd1cmF0aW9uXG4gICAgICBjb25zdCBwcmVzZXRDb25maWcgPSBnZXRFbXB0eVN0YXRlUHJlc2V0KHRoaXMucHJlc2V0KTtcbiAgICAgIHRoaXMuX3RpdGxlID0gcHJlc2V0Q29uZmlnLnRpdGxlO1xuICAgICAgdGhpcy5fZGVzY3JpcHRpb24gPSBwcmVzZXRDb25maWcuZGVzY3JpcHRpb247XG4gICAgICB0aGlzLl9pbWFnZVVybCA9IHRoaXMucmVzb2x2ZUltYWdlUGF0aChwcmVzZXRDb25maWcuaW1hZ2VVcmwpO1xuICAgICAgdGhpcy5fYWN0aW9ucyA9IFsuLi5wcmVzZXRDb25maWcuYWN0aW9uc107XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFVzZSBtYW51YWwgaW5wdXRzIGlmIHByZXNldCBpcyBub3Qgc2V0XG4gICAgICB0aGlzLl90aXRsZSA9IHRoaXMudGl0bGU7XG4gICAgICB0aGlzLl9kZXNjcmlwdGlvbiA9IHRoaXMuZGVzY3JpcHRpb247XG4gICAgICB0aGlzLl9pbWFnZVVybCA9IHRoaXMuaW1hZ2VVcmwgPyB0aGlzLnJlc29sdmVJbWFnZVBhdGgodGhpcy5pbWFnZVVybCkgOiB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl9hY3Rpb25zID0gdGhpcy5hY3Rpb25zO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBpbWFnZSBwYXRoIHRvIHdvcmsgYm90aCBpbiBkZXZlbG9wbWVudCBhbmQgd2hlbiBjb25zdW1lZCBmcm9tIG5vZGVfbW9kdWxlc1xuICAgKiBUcmllcyBtdWx0aXBsZSBwYXRoIHN0cmF0ZWdpZXMgdG8gZmluZCB0aGUgaW1hZ2VcbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZUltYWdlUGF0aChpbWFnZVBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gSWYgdGhlIHBhdGggaXMgYWxyZWFkeSBhYnNvbHV0ZSBvciBzdGFydHMgd2l0aCBodHRwL2h0dHBzLCByZXR1cm4gYXMtaXNcbiAgICBpZiAoaW1hZ2VQYXRoLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSB8fCBpbWFnZVBhdGguc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSB8fCBpbWFnZVBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICByZXR1cm4gaW1hZ2VQYXRoO1xuICAgIH1cblxuICAgIC8vIElmIHBhdGggYWxyZWFkeSBpbmNsdWRlcyBub2RlX21vZHVsZXMsIHJldHVybiBhcy1pc1xuICAgIGlmIChpbWFnZVBhdGguaW5jbHVkZXMoJ25vZGVfbW9kdWxlcycpKSB7XG4gICAgICByZXR1cm4gaW1hZ2VQYXRoO1xuICAgIH1cblxuICAgIC8vIFN0YW5kYXJkIGFwcHJvYWNoOiByZXR1cm4gdGhlIHBhdGggYXMtaXNcbiAgICAvLyBUaGUgY29uc3VtaW5nIGFwcGxpY2F0aW9uIHNob3VsZCBjb3B5IGFzc2V0cyBmcm9tIG5vZGVfbW9kdWxlcy9AY3FhLWxpYi9jcWEtdWkvc3JjL2xpYi9hc3NldHMvaW1hZ2VzL1xuICAgIC8vIHRvIGl0cyBvd24gYXNzZXRzL2ltYWdlcy8gZm9sZGVyIHZpYSBhbmd1bGFyLmpzb24gY29uZmlndXJhdGlvblxuICAgIC8vIFRoaXMgaXMgdGhlIHJlY29tbWVuZGVkIEFuZ3VsYXIgbGlicmFyeSBwYXR0ZXJuXG4gICAgcmV0dXJuIGltYWdlUGF0aDtcbiAgfVxuXG4gIGdldCBkaXNwbGF5VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcmVzZXQgPyB0aGlzLl90aXRsZSA6IHRoaXMudGl0bGU7XG4gIH1cblxuICBnZXQgZGlzcGxheURlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJlc2V0ID8gdGhpcy5fZGVzY3JpcHRpb24gOiB0aGlzLmRlc2NyaXB0aW9uO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlJbWFnZVVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnByZXNldCA/IHRoaXMuX2ltYWdlVXJsIDogdGhpcy5pbWFnZVVybDtcbiAgfVxuXG4gIGdldCBkaXNwbGF5QWN0aW9ucygpOiBFbXB0eVN0YXRlQWN0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLnByZXNldCA/IHRoaXMuX2FjdGlvbnMgOiB0aGlzLmFjdGlvbnM7XG4gIH1cblxuICBvbkFjdGlvbkNsaWNrKGFjdGlvbjogRW1wdHlTdGF0ZUFjdGlvbiwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIWFjdGlvbi5kaXNhYmxlZCkge1xuICAgICAgaWYgKGFjdGlvbi5vbkNsaWNrKSB7XG4gICAgICAgIGFjdGlvbi5vbkNsaWNrKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoYWN0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290IGNxYS13LWZ1bGwgY3FhLWgtZnVsbCBjcWEtbWluLWgtWzIwMHB4XSBjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXB5LTggY3FhLXB4LTRcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTYgY3FhLWl0ZW1zLWNlbnRlciBjcWEtbWF4LXctbWQgY3FhLXctZnVsbFwiPlxuICAgIDwhLS0gSWNvbiBDb250YWluZXIgLS0+XG4gICAgPGRpdiAqbmdJZj1cImRpc3BsYXlJbWFnZVVybFwiIGNsYXNzPVwiY3FhLXJlbGF0aXZlIGNxYS1zaHJpbmstMCBjcWEtdy0yNCBjcWEtaC0yNCBtZDpjcWEtdy0zMiBtZDpjcWEtaC0zMlwiPlxuICAgICAgPCEtLSBNYWluIEljb24gQ29udGFpbmVyIHdpdGggR3JhZGllbnQgQmFja2dyb3VuZCBhbmQgU2hhZG93IC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1yZWxhdGl2ZSBjcWEtcm91bmRlZC0zeGwgY3FhLXctZnVsbCBjcWEtaC1mdWxsIGNxYS1zaGFkb3ctc21cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1hYnNvbHV0ZSBjcWEtaW5zZXQtMCBjcWEtYmctZ3JhZGllbnQtdG8tYnIgY3FhLWZyb20taW5kaWdvLTUwMCBjcWEtdG8tdmlvbGV0LTk1MCBjcWEtcm91bmRlZC0zeGwgY3FhLW9wYWNpdHktMTBcIj48L2Rpdj5cbiAgICAgICAgPCEtLSBJY29uL0ltYWdlIGNlbnRlcmVkIGluc2lkZSBvbiB0b3AgbGF5ZXIgLSBmdWxseSBvcGFxdWUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYWJzb2x1dGUgY3FhLWluc2V0LTAgY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXJvdW5kZWQtM3hsXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS13LTMvNCBjcWEtaC0zLzQgY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXJlbGF0aXZlXCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiZGlzcGxheUltYWdlVXJsXCIgYWx0PVwiXCIgY2xhc3M9XCJjcWEtYmxvY2sgY3FhLW1heC13LWZ1bGwgY3FhLW1heC1oLWZ1bGwgY3FhLXctZnVsbCBjcWEtaC1mdWxsIGNxYS1vYmplY3QtY29udGFpblwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIERlY29yYXRpdmUgRG90cyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYWJzb2x1dGUgY3FhLXJvdW5kZWQtZnVsbCBjcWEtYmctcHJpbWFyeS0zMDAgY3FhLW9wYWNpdHktWzAuODE1XSBjcWEtaGlkZGVuIG1kOmNxYS1ibG9ja1wiIHN0eWxlPVwicmlnaHQ6IC00cHg7IHRvcDogLTRweDsgd2lkdGg6IDEycHg7IGhlaWdodDogMTJweDsgei1pbmRleDogMjA7XCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWFic29sdXRlIGNxYS1yb3VuZGVkLWZ1bGwgY3FhLWJnLXByaW1hcnktMzAwIGNxYS1vcGFjaXR5LVswLjY5NV0gY3FhLWhpZGRlbiBtZDpjcWEtYmxvY2tcIiBzdHlsZT1cImxlZnQ6IC00cHg7IGJvdHRvbTogLTRweDsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgei1pbmRleDogMjA7XCI+PC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIENvbnRlbnQgQ29udGFpbmVyIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC00IGNxYS1pdGVtcy1jZW50ZXIgY3FhLXctZnVsbFwiPlxuICAgICAgPCEtLSBUaXRsZSBhbmQgRGVzY3JpcHRpb24gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMiBjcWEtaXRlbXMtY2VudGVyIGNxYS13LWZ1bGxcIj5cbiAgICAgICAgPCEtLSBUaXRsZSAtLT5cbiAgICAgICAgPGRpdiAqbmdJZj1cImRpc3BsYXlUaXRsZVwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1jZW50ZXIgY3FhLXctZnVsbFwiPlxuICAgICAgICAgIDxoMyBjbGFzcz1cImNxYS1mb250LWludGVyIGNxYS10ZXh0LWJhc2UgbWQ6Y3FhLXRleHQtbGcgY3FhLWZvbnQtbWVkaXVtIGNxYS1sZWFkaW5nLXRpZ2h0IGNxYS10ZXh0LWNlbnRlciBjcWEtdGV4dC1uZXV0cmFsLTkwMCBjcWEtcHgtMlwiPlxuICAgICAgICAgICAge3sgZGlzcGxheVRpdGxlIH19XG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gRGVzY3JpcHRpb24gLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5RGVzY3JpcHRpb25cIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtaXRlbXMtY2VudGVyIGNxYS13LWZ1bGxcIj5cbiAgICAgICAgICA8cCBjbGFzcz1cImNxYS1mb250LWludGVyIGNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1zbSBjcWEtbGVhZGluZy1zbnVnIGNxYS10ZXh0LWNlbnRlciBjcWEtdGV4dC1uZXV0cmFsLTUwMCBjcWEtcHgtMlwiPlxuICAgICAgICAgICAge3sgZGlzcGxheURlc2NyaXB0aW9uIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIEFjdGlvbiBCdXR0b25zIC0tPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImRpc3BsYXlBY3Rpb25zICYmIGRpc3BsYXlBY3Rpb25zLmxlbmd0aCA+IDBcIlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS13LWZ1bGwgY3FhLWZsZXgtd3JhcFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImRpc3BsYXlBY3Rpb25zLmxlbmd0aCA+IDEgPyAnY3FhLWZsZXgtcm93IGNxYS1nYXAtMycgOiAnY3FhLWZsZXgtY29sJ1wiXG4gICAgICA+XG4gICAgICAgIDxjcWEtYnV0dG9uXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBkaXNwbGF5QWN0aW9uc1wiXG4gICAgICAgICAgW3ZhcmlhbnRdPVwiYWN0aW9uLnZhcmlhbnQgfHwgJ2ZpbGxlZCdcIlxuICAgICAgICAgIFtpY29uXT1cImFjdGlvbi5pY29uXCJcbiAgICAgICAgICBbaWNvblBvc2l0aW9uXT1cImFjdGlvbi5pY29uUG9zaXRpb24gfHwgJ3N0YXJ0J1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwib25BY3Rpb25DbGljayhhY3Rpb24sICRldmVudClcIlxuICAgICAgICAgIGNsYXNzPVwiY3FhLXctZnVsbCBtZDpjcWEtdy1hdXRvXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGFjdGlvbi5sYWJlbCB9fVxuICAgICAgICA8L2NxYS1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBdUIsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQWlCM0YsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVNXLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFFaEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUdyRCxXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBdUIsRUFBRSxDQUFDO0tBaUUzQztJQS9EQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsMkJBQTJCO1lBQzNCLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQzdDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0M7YUFBTTtZQUNMLHlDQUF5QztZQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2xGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUN4QywwRUFBMEU7UUFDMUUsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwRyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELHNEQUFzRDtRQUN0RCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCwyQ0FBMkM7UUFDM0Msd0dBQXdHO1FBQ3hHLGtFQUFrRTtRQUNsRSxrREFBa0Q7UUFDbEQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3BELENBQUM7SUFFRCxhQUFhLENBQUMsTUFBd0IsRUFBRSxLQUFpQjtRQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNwQixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNsQjtZQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7Z0hBNUVVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGtSQ2xCaEMsbzFHQTJEQTsyRkR6Q2EsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGlCQUFpQixRQUdyQixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7OEJBR3JCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZVByZXNldEtleSwgZ2V0RW1wdHlTdGF0ZVByZXNldCB9IGZyb20gJy4vZW1wdHktc3RhdGUtcHJlc2V0cy5jb25zdGFudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVtcHR5U3RhdGVBY3Rpb24ge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YXJpYW50PzogJ2ZpbGxlZCcgfCAnb3V0bGluZWQnIHwgJ3RleHQnIHwgJ2VsZXZhdGVkJyB8ICd0b25hbCc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGljb25Qb3NpdGlvbj86ICdzdGFydCcgfCAnZW5kJztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrPzogKCkgPT4gdm9pZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWVtcHR5LXN0YXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VtcHR5LXN0YXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9XG59KVxuZXhwb3J0IGNsYXNzIEVtcHR5U3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwcmVzZXQ/OiBFbXB0eVN0YXRlUHJlc2V0S2V5O1xuICBASW5wdXQoKSBpbWFnZVVybD86IHN0cmluZzsgLy8gVVJMIGZvciBpbWFnZVxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYWN0aW9uczogRW1wdHlTdGF0ZUFjdGlvbltdID0gW107XG5cbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFbXB0eVN0YXRlQWN0aW9uPigpO1xuXG4gIHByaXZhdGUgX2ltYWdlVXJsPzogc3RyaW5nO1xuICBwcml2YXRlIF90aXRsZTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX2Rlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBfYWN0aW9uczogRW1wdHlTdGF0ZUFjdGlvbltdID0gW107XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZXNldCkge1xuICAgICAgLy8gVXNlIHByZXNldCBjb25maWd1cmF0aW9uXG4gICAgICBjb25zdCBwcmVzZXRDb25maWcgPSBnZXRFbXB0eVN0YXRlUHJlc2V0KHRoaXMucHJlc2V0KTtcbiAgICAgIHRoaXMuX3RpdGxlID0gcHJlc2V0Q29uZmlnLnRpdGxlO1xuICAgICAgdGhpcy5fZGVzY3JpcHRpb24gPSBwcmVzZXRDb25maWcuZGVzY3JpcHRpb247XG4gICAgICB0aGlzLl9pbWFnZVVybCA9IHRoaXMucmVzb2x2ZUltYWdlUGF0aChwcmVzZXRDb25maWcuaW1hZ2VVcmwpO1xuICAgICAgdGhpcy5fYWN0aW9ucyA9IFsuLi5wcmVzZXRDb25maWcuYWN0aW9uc107XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFVzZSBtYW51YWwgaW5wdXRzIGlmIHByZXNldCBpcyBub3Qgc2V0XG4gICAgICB0aGlzLl90aXRsZSA9IHRoaXMudGl0bGU7XG4gICAgICB0aGlzLl9kZXNjcmlwdGlvbiA9IHRoaXMuZGVzY3JpcHRpb247XG4gICAgICB0aGlzLl9pbWFnZVVybCA9IHRoaXMuaW1hZ2VVcmwgPyB0aGlzLnJlc29sdmVJbWFnZVBhdGgodGhpcy5pbWFnZVVybCkgOiB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl9hY3Rpb25zID0gdGhpcy5hY3Rpb25zO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBpbWFnZSBwYXRoIHRvIHdvcmsgYm90aCBpbiBkZXZlbG9wbWVudCBhbmQgd2hlbiBjb25zdW1lZCBmcm9tIG5vZGVfbW9kdWxlc1xuICAgKiBUcmllcyBtdWx0aXBsZSBwYXRoIHN0cmF0ZWdpZXMgdG8gZmluZCB0aGUgaW1hZ2VcbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZUltYWdlUGF0aChpbWFnZVBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gSWYgdGhlIHBhdGggaXMgYWxyZWFkeSBhYnNvbHV0ZSBvciBzdGFydHMgd2l0aCBodHRwL2h0dHBzLCByZXR1cm4gYXMtaXNcbiAgICBpZiAoaW1hZ2VQYXRoLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSB8fCBpbWFnZVBhdGguc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSB8fCBpbWFnZVBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICByZXR1cm4gaW1hZ2VQYXRoO1xuICAgIH1cblxuICAgIC8vIElmIHBhdGggYWxyZWFkeSBpbmNsdWRlcyBub2RlX21vZHVsZXMsIHJldHVybiBhcy1pc1xuICAgIGlmIChpbWFnZVBhdGguaW5jbHVkZXMoJ25vZGVfbW9kdWxlcycpKSB7XG4gICAgICByZXR1cm4gaW1hZ2VQYXRoO1xuICAgIH1cblxuICAgIC8vIFN0YW5kYXJkIGFwcHJvYWNoOiByZXR1cm4gdGhlIHBhdGggYXMtaXNcbiAgICAvLyBUaGUgY29uc3VtaW5nIGFwcGxpY2F0aW9uIHNob3VsZCBjb3B5IGFzc2V0cyBmcm9tIG5vZGVfbW9kdWxlcy9AY3FhLWxpYi9jcWEtdWkvc3JjL2xpYi9hc3NldHMvaW1hZ2VzL1xuICAgIC8vIHRvIGl0cyBvd24gYXNzZXRzL2ltYWdlcy8gZm9sZGVyIHZpYSBhbmd1bGFyLmpzb24gY29uZmlndXJhdGlvblxuICAgIC8vIFRoaXMgaXMgdGhlIHJlY29tbWVuZGVkIEFuZ3VsYXIgbGlicmFyeSBwYXR0ZXJuXG4gICAgcmV0dXJuIGltYWdlUGF0aDtcbiAgfVxuXG4gIGdldCBkaXNwbGF5VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcmVzZXQgPyB0aGlzLl90aXRsZSA6IHRoaXMudGl0bGU7XG4gIH1cblxuICBnZXQgZGlzcGxheURlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJlc2V0ID8gdGhpcy5fZGVzY3JpcHRpb24gOiB0aGlzLmRlc2NyaXB0aW9uO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlJbWFnZVVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnByZXNldCA/IHRoaXMuX2ltYWdlVXJsIDogdGhpcy5pbWFnZVVybDtcbiAgfVxuXG4gIGdldCBkaXNwbGF5QWN0aW9ucygpOiBFbXB0eVN0YXRlQWN0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLnByZXNldCA/IHRoaXMuX2FjdGlvbnMgOiB0aGlzLmFjdGlvbnM7XG4gIH1cblxuICBvbkFjdGlvbkNsaWNrKGFjdGlvbjogRW1wdHlTdGF0ZUFjdGlvbiwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIWFjdGlvbi5kaXNhYmxlZCkge1xuICAgICAgaWYgKGFjdGlvbi5vbkNsaWNrKSB7XG4gICAgICAgIGFjdGlvbi5vbkNsaWNrKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoYWN0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCIgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiAyMDBweDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmctdG9wOiAycmVtOyBwYWRkaW5nLWJvdHRvbTogMnJlbTsgcGFkZGluZy1sZWZ0OiAxcmVtOyBwYWRkaW5nLXJpZ2h0OiAxcmVtO1wiPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtNiBjcWEtaXRlbXMtY2VudGVyIGNxYS1tYXgtdy1tZCBjcWEtdy1mdWxsXCI+XG4gICAgPCEtLSBJY29uIENvbnRhaW5lciAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiZGlzcGxheUltYWdlVXJsXCIgY2xhc3M9XCJjcWEtcmVsYXRpdmUgY3FhLXNocmluay0wIGNxYS13LTI0IGNxYS1oLTI0IG1kOmNxYS13LTMyIG1kOmNxYS1oLTMyXCI+XG4gICAgICA8IS0tIE1haW4gSWNvbiBDb250YWluZXIgd2l0aCBHcmFkaWVudCBCYWNrZ3JvdW5kIGFuZCBTaGFkb3cgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXJlbGF0aXZlIGNxYS1yb3VuZGVkLTN4bCBjcWEtdy1mdWxsIGNxYS1oLWZ1bGwgY3FhLXNoYWRvdy1zbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWFic29sdXRlIGNxYS1pbnNldC0wIGNxYS1iZy1ncmFkaWVudC10by1iciBjcWEtZnJvbS1pbmRpZ28tNTAwIGNxYS10by12aW9sZXQtOTUwIGNxYS1yb3VuZGVkLTN4bCBjcWEtb3BhY2l0eS0xMFwiPjwvZGl2PlxuICAgICAgICA8IS0tIEljb24vSW1hZ2UgY2VudGVyZWQgaW5zaWRlIG9uIHRvcCBsYXllciAtIGZ1bGx5IG9wYXF1ZSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1hYnNvbHV0ZSBjcWEtaW5zZXQtMCBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtcm91bmRlZC0zeGxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXctMy80IGNxYS1oLTMvNCBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtcmVsYXRpdmVcIj5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJkaXNwbGF5SW1hZ2VVcmxcIiBhbHQ9XCJcIiBjbGFzcz1cImNxYS1ibG9jayBjcWEtbWF4LXctZnVsbCBjcWEtbWF4LWgtZnVsbCBjcWEtdy1mdWxsIGNxYS1oLWZ1bGwgY3FhLW9iamVjdC1jb250YWluXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gRGVjb3JhdGl2ZSBEb3RzIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1hYnNvbHV0ZSBjcWEtcm91bmRlZC1mdWxsIGNxYS1iZy1wcmltYXJ5LTMwMCBjcWEtb3BhY2l0eS1bMC44MTVdIGNxYS1oaWRkZW4gbWQ6Y3FhLWJsb2NrXCIgc3R5bGU9XCJyaWdodDogLTRweDsgdG9wOiAtNHB4OyB3aWR0aDogMTJweDsgaGVpZ2h0OiAxMnB4OyB6LWluZGV4OiAyMDtcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYWJzb2x1dGUgY3FhLXJvdW5kZWQtZnVsbCBjcWEtYmctcHJpbWFyeS0zMDAgY3FhLW9wYWNpdHktWzAuNjk1XSBjcWEtaGlkZGVuIG1kOmNxYS1ibG9ja1wiIHN0eWxlPVwibGVmdDogLTRweDsgYm90dG9tOiAtNHB4OyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyB6LWluZGV4OiAyMDtcIj48L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQ29udGVudCBDb250YWluZXIgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTQgY3FhLWl0ZW1zLWNlbnRlciBjcWEtdy1mdWxsXCI+XG4gICAgICA8IS0tIFRpdGxlIGFuZCBEZXNjcmlwdGlvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yIGNxYS1pdGVtcy1jZW50ZXIgY3FhLXctZnVsbFwiPlxuICAgICAgICA8IS0tIFRpdGxlIC0tPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZGlzcGxheVRpdGxlXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWl0ZW1zLWNlbnRlciBjcWEtdy1mdWxsXCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiY3FhLWZvbnQtaW50ZXIgY3FhLXRleHQtYmFzZSBtZDpjcWEtdGV4dC1sZyBjcWEtZm9udC1tZWRpdW0gY3FhLWxlYWRpbmctdGlnaHQgY3FhLXRleHQtY2VudGVyIGNxYS10ZXh0LW5ldXRyYWwtOTAwIGNxYS1weC0yXCI+XG4gICAgICAgICAgICB7eyBkaXNwbGF5VGl0bGUgfX1cbiAgICAgICAgICA8L2gzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBEZXNjcmlwdGlvbiAtLT5cbiAgICAgICAgPGRpdiAqbmdJZj1cImRpc3BsYXlEZXNjcmlwdGlvblwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1jZW50ZXIgY3FhLXctZnVsbFwiPlxuICAgICAgICAgIDxwIGNsYXNzPVwiY3FhLWZvbnQtaW50ZXIgY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LXNtIGNxYS1sZWFkaW5nLXNudWcgY3FhLXRleHQtY2VudGVyIGNxYS10ZXh0LW5ldXRyYWwtNTAwIGNxYS1weC0yXCI+XG4gICAgICAgICAgICB7eyBkaXNwbGF5RGVzY3JpcHRpb24gfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gQWN0aW9uIEJ1dHRvbnMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZGlzcGxheUFjdGlvbnMgJiYgZGlzcGxheUFjdGlvbnMubGVuZ3RoID4gMFwiXG4gICAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXctZnVsbCBjcWEtZmxleC13cmFwXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZGlzcGxheUFjdGlvbnMubGVuZ3RoID4gMSA/ICdjcWEtZmxleC1yb3cgY3FhLWdhcC0zJyA6ICdjcWEtZmxleC1jb2wnXCJcbiAgICAgID5cbiAgICAgICAgPGNxYS1idXR0b25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGRpc3BsYXlBY3Rpb25zXCJcbiAgICAgICAgICBbdmFyaWFudF09XCJhY3Rpb24udmFyaWFudCB8fCAnZmlsbGVkJ1wiXG4gICAgICAgICAgW2ljb25dPVwiYWN0aW9uLmljb25cIlxuICAgICAgICAgIFtpY29uUG9zaXRpb25dPVwiYWN0aW9uLmljb25Qb3NpdGlvbiB8fCAnc3RhcnQnXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgICAoY2xpY2tlZCk9XCJvbkFjdGlvbkNsaWNrKGFjdGlvbiwgJGV2ZW50KVwiXG4gICAgICAgICAgY2xhc3M9XCJjcWEtdy1mdWxsIG1kOmNxYS13LWF1dG9cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgYWN0aW9uLmxhYmVsIH19XG4gICAgICAgIDwvY3FhLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|
|
@@ -12,7 +12,7 @@ import * as i0 from "@angular/core";
|
|
|
12
12
|
export class TailwindOverlayContainer extends OverlayContainer {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
|
-
this.
|
|
15
|
+
this.updateTimeout = null;
|
|
16
16
|
}
|
|
17
17
|
_createContainer() {
|
|
18
18
|
super._createContainer();
|
|
@@ -27,35 +27,54 @@ export class TailwindOverlayContainer extends OverlayContainer {
|
|
|
27
27
|
if (!this._containerElement)
|
|
28
28
|
return;
|
|
29
29
|
const observer = new MutationObserver(() => {
|
|
30
|
-
|
|
30
|
+
// Debounce updates to avoid excessive checks during rapid DOM changes
|
|
31
|
+
if (this.updateTimeout !== null) {
|
|
32
|
+
cancelAnimationFrame(this.updateTimeout);
|
|
33
|
+
}
|
|
34
|
+
this.updateTimeout = requestAnimationFrame(() => {
|
|
35
|
+
this.updateContainerClass();
|
|
36
|
+
this.updateTimeout = null;
|
|
37
|
+
});
|
|
31
38
|
});
|
|
32
39
|
observer.observe(this._containerElement, {
|
|
33
40
|
childList: true,
|
|
34
41
|
subtree: true,
|
|
35
42
|
});
|
|
36
43
|
// Also check immediately in case overlays already exist
|
|
37
|
-
|
|
44
|
+
requestAnimationFrame(() => this.updateContainerClass());
|
|
38
45
|
}
|
|
39
46
|
updateContainerClass() {
|
|
40
47
|
if (!this._containerElement)
|
|
41
48
|
return;
|
|
42
49
|
// Count library overlays (dialogs, select panels, datepicker panels)
|
|
50
|
+
// These are library-specific classes that indicate library components
|
|
51
|
+
// Only count overlays that are actually in the DOM (CDK removes them when closed)
|
|
43
52
|
const libraryDialogs = this._containerElement.querySelectorAll('.cqa-dialog-panel').length;
|
|
44
53
|
const libraryBackdrops = this._containerElement.querySelectorAll('.cqa-dialog-backdrop').length;
|
|
45
54
|
const librarySelectPanels = this._containerElement.querySelectorAll('.ctc-select-panel').length;
|
|
46
55
|
const libraryDatePanels = this._containerElement.querySelectorAll('.ctc-date-range-panel').length;
|
|
47
56
|
const totalLibraryOverlays = libraryDialogs + libraryBackdrops + librarySelectPanels + libraryDatePanels;
|
|
48
|
-
// Check for portal Material dialogs (those without .cqa-dialog-panel)
|
|
57
|
+
// Check for portal Material dialogs (those without .cqa-dialog-panel class)
|
|
58
|
+
// Portal dialogs use .mat-dialog-container but NOT .cqa-dialog-panel
|
|
49
59
|
const portalDialogs = this._containerElement.querySelectorAll('.mat-dialog-container:not(.cqa-dialog-panel)').length;
|
|
60
|
+
// Decision logic: Only add cqa-ui-root when library overlays are present
|
|
61
|
+
// This ensures portal Material dialogs don't get affected by library CSS
|
|
50
62
|
if (totalLibraryOverlays > 0) {
|
|
51
|
-
// Library overlays exist - add the class
|
|
63
|
+
// Library overlays exist - add the class (they need Tailwind styles scoped to .cqa-ui-root)
|
|
52
64
|
this._containerElement.classList.add('cqa-ui-root');
|
|
53
65
|
}
|
|
54
|
-
else
|
|
55
|
-
//
|
|
66
|
+
else {
|
|
67
|
+
// No library overlays exist - remove the class
|
|
68
|
+
// This handles both cases:
|
|
69
|
+
// 1. Only portal dialogs exist (should not have cqa-ui-root)
|
|
70
|
+
// 2. No overlays exist at all (clean state)
|
|
56
71
|
this._containerElement.classList.remove('cqa-ui-root');
|
|
57
72
|
}
|
|
58
|
-
// If both
|
|
73
|
+
// Note: If both library overlays and portal dialogs exist simultaneously,
|
|
74
|
+
// the class will be present because library overlays need it. In this case,
|
|
75
|
+
// portal dialogs may be affected by library CSS. To avoid this, ensure library
|
|
76
|
+
// overlays are closed before opening portal dialogs, or use CSS specificity
|
|
77
|
+
// to override library styles within portal dialogs.
|
|
59
78
|
}
|
|
60
79
|
}
|
|
61
80
|
TailwindOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TailwindOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -63,4 +82,4 @@ TailwindOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
|
|
|
63
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TailwindOverlayContainer, decorators: [{
|
|
64
83
|
type: Injectable
|
|
65
84
|
}] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHctb3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3R3LW92ZXJsYXktY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXhEOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBRDlEOztRQUVVLGtCQUFhLEdBQWtCLElBQUksQ0FBQztLQXlFN0M7SUF2RW9CLGdCQUFnQjtRQUNqQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQix5RkFBeUY7WUFDekYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFdkQsNkVBQTZFO1lBQzdFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUFFLE9BQU87UUFFcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDekMsc0VBQXNFO1lBQ3RFLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7Z0JBQy9CLG9CQUFvQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMxQztZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUM5QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7UUFFSCx3REFBd0Q7UUFDeEQscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUVwQyxxRUFBcUU7UUFDckUsc0VBQXNFO1FBQ3RFLGtGQUFrRjtRQUNsRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDM0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEcsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEcsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFbEcsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLEdBQUcsZ0JBQWdCLEdBQUcsbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7UUFFekcsNEVBQTRFO1FBQzVFLHFFQUFxRTtRQUNyRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsOENBQThDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFckgseUVBQXlFO1FBQ3pFLHlFQUF5RTtRQUV6RSxJQUFJLG9CQUFvQixHQUFHLENBQUMsRUFBRTtZQUM1Qiw0RkFBNEY7WUFDNUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLCtDQUErQztZQUMvQywyQkFBMkI7WUFDM0IsNkRBQTZEO1lBQzdELDRDQUE0QztZQUM1QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4RDtRQUVELDBFQUEwRTtRQUMxRSw0RUFBNEU7UUFDNUUsK0VBQStFO1FBQy9FLDRFQUE0RTtRQUM1RSxvREFBb0Q7SUFDdEQsQ0FBQzs7cUhBekVVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG4vKipcbiAqIEVuc3VyZXMgQW5ndWxhciBDREsgb3ZlcmxheSBjb250ZW50IChlLmcuLCBNYXRTZWxlY3QsIERhdGVwaWNrZXIgcGFuZWxzLCBsaWJyYXJ5IGRpYWxvZ3MpXG4gKiBpcyBuZXN0ZWQgdW5kZXIgYW4gZWxlbWVudCB3aXRoIGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzbyBUYWlsd2luZCB1dGlsaXRpZXNcbiAqIGNvbmZpZ3VyZWQgd2l0aCBpbXBvcnRhbnQ6ICcuY3FhLXVpLXJvb3QnIGFyZSBhcHBsaWVkIGluc2lkZSBvdmVybGF5cy5cbiAqIFxuICogSU1QT1JUQU5UOiBPbmx5IHNldHMgY2xhc3M9XCJjcWEtdWktcm9vdFwiIHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgcHJlc2VudC5cbiAqIFBvcnRhbCBNYXRlcmlhbCBkaWFsb2dzIHNob3VsZCBOT1QgaGF2ZSB0aGlzIGNsYXNzIHRvIHByZXZlbnQgbGlicmFyeSBDU1MgZnJvbSBhZmZlY3RpbmcgdGhlbS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhaWx3aW5kT3ZlcmxheUNvbnRhaW5lciBleHRlbmRzIE92ZXJsYXlDb250YWluZXIge1xuICBwcml2YXRlIHVwZGF0ZVRpbWVvdXQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBfY3JlYXRlQ29udGFpbmVyKCk6IHZvaWQge1xuICAgIHN1cGVyLl9jcmVhdGVDb250YWluZXIoKTtcbiAgICBpZiAodGhpcy5fY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgLy8gRG9uJ3Qgc2V0IGNsYXNzIGluaXRpYWxseSAtIHdlJ2xsIHNldCBpdCBkeW5hbWljYWxseSB3aGVuIGxpYnJhcnkgb3ZlcmxheXMgYXJlIGNyZWF0ZWRcbiAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnY3FhLXVpLXJvb3QnKTtcbiAgICAgIFxuICAgICAgLy8gVXNlIE11dGF0aW9uT2JzZXJ2ZXIgdG8gZGV0ZWN0IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgY3JlYXRlZC9kZXN0cm95ZWRcbiAgICAgIHRoaXMub2JzZXJ2ZUxpYnJhcnlPdmVybGF5cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUxpYnJhcnlPdmVybGF5cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbnRhaW5lckVsZW1lbnQpIHJldHVybjtcblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgLy8gRGVib3VuY2UgdXBkYXRlcyB0byBhdm9pZCBleGNlc3NpdmUgY2hlY2tzIGR1cmluZyByYXBpZCBET00gY2hhbmdlc1xuICAgICAgaWYgKHRoaXMudXBkYXRlVGltZW91dCAhPT0gbnVsbCkge1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnVwZGF0ZVRpbWVvdXQpO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVUaW1lb3V0ID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVDb250YWluZXJDbGFzcygpO1xuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSBudWxsO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBvYnNlcnZlci5vYnNlcnZlKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQsIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBBbHNvIGNoZWNrIGltbWVkaWF0ZWx5IGluIGNhc2Ugb3ZlcmxheXMgYWxyZWFkeSBleGlzdFxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLnVwZGF0ZUNvbnRhaW5lckNsYXNzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb250YWluZXJDbGFzcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbnRhaW5lckVsZW1lbnQpIHJldHVybjtcblxuICAgIC8vIENvdW50IGxpYnJhcnkgb3ZlcmxheXMgKGRpYWxvZ3MsIHNlbGVjdCBwYW5lbHMsIGRhdGVwaWNrZXIgcGFuZWxzKVxuICAgIC8vIFRoZXNlIGFyZSBsaWJyYXJ5LXNwZWNpZmljIGNsYXNzZXMgdGhhdCBpbmRpY2F0ZSBsaWJyYXJ5IGNvbXBvbmVudHNcbiAgICAvLyBPbmx5IGNvdW50IG92ZXJsYXlzIHRoYXQgYXJlIGFjdHVhbGx5IGluIHRoZSBET00gKENESyByZW1vdmVzIHRoZW0gd2hlbiBjbG9zZWQpXG4gICAgY29uc3QgbGlicmFyeURpYWxvZ3MgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jcWEtZGlhbG9nLXBhbmVsJykubGVuZ3RoO1xuICAgIGNvbnN0IGxpYnJhcnlCYWNrZHJvcHMgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jcWEtZGlhbG9nLWJhY2tkcm9wJykubGVuZ3RoO1xuICAgIGNvbnN0IGxpYnJhcnlTZWxlY3RQYW5lbHMgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jdGMtc2VsZWN0LXBhbmVsJykubGVuZ3RoO1xuICAgIGNvbnN0IGxpYnJhcnlEYXRlUGFuZWxzID0gdGhpcy5fY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY3RjLWRhdGUtcmFuZ2UtcGFuZWwnKS5sZW5ndGg7XG4gICAgXG4gICAgY29uc3QgdG90YWxMaWJyYXJ5T3ZlcmxheXMgPSBsaWJyYXJ5RGlhbG9ncyArIGxpYnJhcnlCYWNrZHJvcHMgKyBsaWJyYXJ5U2VsZWN0UGFuZWxzICsgbGlicmFyeURhdGVQYW5lbHM7XG4gICAgXG4gICAgLy8gQ2hlY2sgZm9yIHBvcnRhbCBNYXRlcmlhbCBkaWFsb2dzICh0aG9zZSB3aXRob3V0IC5jcWEtZGlhbG9nLXBhbmVsIGNsYXNzKVxuICAgIC8vIFBvcnRhbCBkaWFsb2dzIHVzZSAubWF0LWRpYWxvZy1jb250YWluZXIgYnV0IE5PVCAuY3FhLWRpYWxvZy1wYW5lbFxuICAgIGNvbnN0IHBvcnRhbERpYWxvZ3MgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tYXQtZGlhbG9nLWNvbnRhaW5lcjpub3QoLmNxYS1kaWFsb2ctcGFuZWwpJykubGVuZ3RoO1xuXG4gICAgLy8gRGVjaXNpb24gbG9naWM6IE9ubHkgYWRkIGNxYS11aS1yb290IHdoZW4gbGlicmFyeSBvdmVybGF5cyBhcmUgcHJlc2VudFxuICAgIC8vIFRoaXMgZW5zdXJlcyBwb3J0YWwgTWF0ZXJpYWwgZGlhbG9ncyBkb24ndCBnZXQgYWZmZWN0ZWQgYnkgbGlicmFyeSBDU1NcbiAgICBcbiAgICBpZiAodG90YWxMaWJyYXJ5T3ZlcmxheXMgPiAwKSB7XG4gICAgICAvLyBMaWJyYXJ5IG92ZXJsYXlzIGV4aXN0IC0gYWRkIHRoZSBjbGFzcyAodGhleSBuZWVkIFRhaWx3aW5kIHN0eWxlcyBzY29wZWQgdG8gLmNxYS11aS1yb290KVxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjcWEtdWktcm9vdCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBsaWJyYXJ5IG92ZXJsYXlzIGV4aXN0IC0gcmVtb3ZlIHRoZSBjbGFzc1xuICAgICAgLy8gVGhpcyBoYW5kbGVzIGJvdGggY2FzZXM6XG4gICAgICAvLyAxLiBPbmx5IHBvcnRhbCBkaWFsb2dzIGV4aXN0IChzaG91bGQgbm90IGhhdmUgY3FhLXVpLXJvb3QpXG4gICAgICAvLyAyLiBObyBvdmVybGF5cyBleGlzdCBhdCBhbGwgKGNsZWFuIHN0YXRlKVxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdjcWEtdWktcm9vdCcpO1xuICAgIH1cbiAgICBcbiAgICAvLyBOb3RlOiBJZiBib3RoIGxpYnJhcnkgb3ZlcmxheXMgYW5kIHBvcnRhbCBkaWFsb2dzIGV4aXN0IHNpbXVsdGFuZW91c2x5LFxuICAgIC8vIHRoZSBjbGFzcyB3aWxsIGJlIHByZXNlbnQgYmVjYXVzZSBsaWJyYXJ5IG92ZXJsYXlzIG5lZWQgaXQuIEluIHRoaXMgY2FzZSxcbiAgICAvLyBwb3J0YWwgZGlhbG9ncyBtYXkgYmUgYWZmZWN0ZWQgYnkgbGlicmFyeSBDU1MuIFRvIGF2b2lkIHRoaXMsIGVuc3VyZSBsaWJyYXJ5XG4gICAgLy8gb3ZlcmxheXMgYXJlIGNsb3NlZCBiZWZvcmUgb3BlbmluZyBwb3J0YWwgZGlhbG9ncywgb3IgdXNlIENTUyBzcGVjaWZpY2l0eVxuICAgIC8vIHRvIG92ZXJyaWRlIGxpYnJhcnkgc3R5bGVzIHdpdGhpbiBwb3J0YWwgZGlhbG9ncy5cbiAgfVxufVxuXG5cbiJdfQ==
|