@agorapulse/ui-components 17.1.0-beta.3 → 17.1.0-beta.5
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/agorapulse-ui-components-17.1.0-beta.5.tgz +0 -0
- package/esm2022/form-message/form-message.component.mjs +3 -3
- package/esm2022/infobox/infobox.component.mjs +5 -5
- package/esm2022/labels/label.component.mjs +3 -3
- package/esm2022/paginator/paginator.component.mjs +5 -5
- package/esm2022/snackbars-thread/component/snackbars-thread.component.mjs +3 -3
- package/esm2022/split-button/split-button.component.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-form-message.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-form-message.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-infobox.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-labels.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-labels.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-paginator.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-split-button.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -1
- package/package.json +66 -66
- package/select/select-label-multiple/select-label-multiple.component.d.ts +1 -1
- package/agorapulse-ui-components-17.1.0-beta.3.tgz +0 -0
|
Binary file
|
|
@@ -15,7 +15,7 @@ export class FormMessageComponent {
|
|
|
15
15
|
this.symbolRegistry.registerSymbols([apErrorFill, apRoundedCheckFill]);
|
|
16
16
|
}
|
|
17
17
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FormMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FormMessageComponent, isStandalone: true, selector: "ap-form-message", inputs: { messageType: "messageType", message: "message" }, host: { properties: { "class.error": "messageTypeSignal() === 'error'", "class.success": "messageTypeSignal() === 'success'" }, classAttribute: "ap-form-message" }, ngImport: i0, template: "<ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdSignal()\" />\n<span>\n {{ message }}\n</span>\n", styles: [".ap-form-message{font-size:var(--comp-forms-status-text-size);font-weight:var(--comp-forms-status-text-font-weight);line-height:var(--comp-forms-status-text-line-height);font-family:var(--comp-forms-status-text-font-family);margin:0;display:flex;align-items:center;gap:var(--ref-spacing-xxxs)}.ap-form-message.error{color:var(--comp-forms-status-text-error-color)}.ap-form-message.error ap-symbol{color:var(--comp-forms-status-icon-error-color)}.ap-form-message.success{color:var(--comp-forms-status-text-success-color)}.ap-form-message.success ap-symbol{color:var(--
|
|
18
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FormMessageComponent, isStandalone: true, selector: "ap-form-message", inputs: { messageType: "messageType", message: "message" }, host: { properties: { "class.error": "messageTypeSignal() === 'error'", "class.success": "messageTypeSignal() === 'success'" }, classAttribute: "ap-form-message" }, ngImport: i0, template: "<ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdSignal()\" />\n<span>\n {{ message }}\n</span>\n", styles: [".ap-form-message{font-size:var(--comp-forms-status-text-size);font-weight:var(--comp-forms-status-text-font-weight);line-height:var(--comp-forms-status-text-line-height);font-family:var(--comp-forms-status-text-font-family);margin:0;display:flex;align-items:center;gap:var(--ref-spacing-xxxs)}.ap-form-message.error{color:var(--comp-forms-status-text-error-color)}.ap-form-message.error ap-symbol{color:var(--comp-forms-status-icon-error-color)}.ap-form-message.success{color:var(--comp-forms-status-text-success-color)}.ap-form-message.success ap-symbol{color:var(--ref-color-green-150)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
19
19
|
}
|
|
20
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FormMessageComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
@@ -23,7 +23,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
23
23
|
class: 'ap-form-message',
|
|
24
24
|
'[class.error]': "messageTypeSignal() === 'error'",
|
|
25
25
|
'[class.success]': "messageTypeSignal() === 'success'",
|
|
26
|
-
}, template: "<ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdSignal()\" />\n<span>\n {{ message }}\n</span>\n", styles: [".ap-form-message{font-size:var(--comp-forms-status-text-size);font-weight:var(--comp-forms-status-text-font-weight);line-height:var(--comp-forms-status-text-line-height);font-family:var(--comp-forms-status-text-font-family);margin:0;display:flex;align-items:center;gap:var(--ref-spacing-xxxs)}.ap-form-message.error{color:var(--comp-forms-status-text-error-color)}.ap-form-message.error ap-symbol{color:var(--comp-forms-status-icon-error-color)}.ap-form-message.success{color:var(--comp-forms-status-text-success-color)}.ap-form-message.success ap-symbol{color:var(--
|
|
26
|
+
}, template: "<ap-symbol\n size=\"sm\"\n [symbolId]=\"symbolIdSignal()\" />\n<span>\n {{ message }}\n</span>\n", styles: [".ap-form-message{font-size:var(--comp-forms-status-text-size);font-weight:var(--comp-forms-status-text-font-weight);line-height:var(--comp-forms-status-text-line-height);font-family:var(--comp-forms-status-text-font-family);margin:0;display:flex;align-items:center;gap:var(--ref-spacing-xxxs)}.ap-form-message.error{color:var(--comp-forms-status-text-error-color)}.ap-form-message.error ap-symbol{color:var(--comp-forms-status-icon-error-color)}.ap-form-message.success{color:var(--comp-forms-status-text-success-color)}.ap-form-message.success ap-symbol{color:var(--ref-color-green-150)}\n"] }]
|
|
27
27
|
}], ctorParameters: () => [], propDecorators: { messageType: [{
|
|
28
28
|
type: Input,
|
|
29
29
|
args: [{ required: true }]
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
31
31
|
type: Input,
|
|
32
32
|
args: [{ required: true }]
|
|
33
33
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9mb3JtLW1lc3NhZ2Uvc3JjL2Zvcm0tbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvZm9ybS1tZXNzYWdlL3NyYy9mb3JtLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBa0J2SCxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLElBQ0ksV0FBVyxDQUFDLFdBQXdCO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUdELE9BQU8sQ0FBVTtJQUVqQixpQkFBaUIsR0FBRyxNQUFNLENBQWMsT0FBTyxDQUFDLENBQUM7SUFFakQsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDM0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7SUFDdEYsQ0FBQyxDQUFDLENBQUM7SUFFSyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRWhEO1FBQ0ksSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7dUdBbkJRLG9CQUFvQjsyRkFBcEIsb0JBQW9CLDRTQ25CakMsMkdBTUEsd29CRE1jLGVBQWU7OzJGQU9oQixvQkFBb0I7a0JBZGhDLFNBQVM7K0JBQ0ksaUJBQWlCLGNBR2YsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsZUFBZSxDQUFDLFFBQ3BCO3dCQUNGLEtBQUssRUFBRSxpQkFBaUI7d0JBQ3hCLGVBQWUsRUFBRSxpQ0FBaUM7d0JBQ2xELGlCQUFpQixFQUFFLG1DQUFtQztxQkFDekQ7d0RBSUcsV0FBVztzQkFEZCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFNekIsT0FBTztzQkFETixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN5bWJvbENvbXBvbmVudCwgU3ltYm9sUmVnaXN0cnksIGFwRXJyb3JGaWxsLCBhcFJvdW5kZWRDaGVja0ZpbGwgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgTWVzc2FnZVR5cGUgPSAnZXJyb3InIHwgJ3N1Y2Nlc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLWZvcm0tbWVzc2FnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybS1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGltcG9ydHM6IFtTeW1ib2xDb21wb25lbnRdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdhcC1mb3JtLW1lc3NhZ2UnLFxuICAgICAgICAnW2NsYXNzLmVycm9yXSc6IFwibWVzc2FnZVR5cGVTaWduYWwoKSA9PT0gJ2Vycm9yJ1wiLFxuICAgICAgICAnW2NsYXNzLnN1Y2Nlc3NdJzogXCJtZXNzYWdlVHlwZVNpZ25hbCgpID09PSAnc3VjY2VzcydcIixcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtTWVzc2FnZUNvbXBvbmVudCB7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBzZXQgbWVzc2FnZVR5cGUobWVzc2FnZVR5cGU6IE1lc3NhZ2VUeXBlKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVR5cGVTaWduYWwuc2V0KG1lc3NhZ2VUeXBlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIG1lc3NhZ2UhOiBzdHJpbmc7XG5cbiAgICBtZXNzYWdlVHlwZVNpZ25hbCA9IHNpZ25hbDxNZXNzYWdlVHlwZT4oJ2Vycm9yJyk7XG5cbiAgICBzeW1ib2xJZFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZVR5cGVTaWduYWwoKSA9PT0gJ2Vycm9yJyA/ICdlcnJvcl9maWxsJyA6ICdyb3VuZGVkLWNoZWNrX2ZpbGwnO1xuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSBzeW1ib2xSZWdpc3RyeSA9IGluamVjdChTeW1ib2xSZWdpc3RyeSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zeW1ib2xSZWdpc3RyeS5yZWdpc3RlclN5bWJvbHMoW2FwRXJyb3JGaWxsLCBhcFJvdW5kZWRDaGVja0ZpbGxdKTtcbiAgICB9XG59XG4iLCI8YXAtc3ltYm9sXG4gICAgc2l6ZT1cInNtXCJcbiAgICBbc3ltYm9sSWRdPVwic3ltYm9sSWRTaWduYWwoKVwiIC8+XG48c3Bhbj5cbiAgICB7eyBtZXNzYWdlIH19XG48L3NwYW4+XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ButtonComponent } from '@agorapulse/ui-components/button';
|
|
2
|
-
import { SymbolComponent, SymbolRegistry, apErrorFill, apRoundedCheckFill, apClose, apInfoFill, apRemoveCircle, apWarningFill, } from '@agorapulse/ui-symbol';
|
|
2
|
+
import { SymbolComponent, SymbolRegistry, apErrorFill, apRoundedCheckFill, apClose, apInfoFill, apRemoveCircle, apWarningFill, apDeleteNoCircle, } from '@agorapulse/ui-symbol';
|
|
3
3
|
import { NgClass } from '@angular/common';
|
|
4
4
|
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewEncapsulation, booleanAttribute, inject, } from '@angular/core';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -34,7 +34,7 @@ export class InfoboxComponent {
|
|
|
34
34
|
success: 'rounded-check_fill',
|
|
35
35
|
};
|
|
36
36
|
constructor() {
|
|
37
|
-
this.symbolRegistry.registerSymbols([apInfoFill, apErrorFill, apWarningFill, apRemoveCircle, apRoundedCheckFill, apClose]);
|
|
37
|
+
this.symbolRegistry.registerSymbols([apInfoFill, apErrorFill, apWarningFill, apRemoveCircle, apRoundedCheckFill, apClose, apDeleteNoCircle]);
|
|
38
38
|
this.defaultButtonId = `infobox-button-${++nextUniqueId}`;
|
|
39
39
|
}
|
|
40
40
|
onClickButton() {
|
|
@@ -45,11 +45,11 @@ export class InfoboxComponent {
|
|
|
45
45
|
this.closed.emit();
|
|
46
46
|
}
|
|
47
47
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InfoboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: InfoboxComponent, isStandalone: true, selector: "ap-infobox", inputs: { buttonId: "buttonId", buttonLabel: "buttonLabel", buttonDataTrack: "buttonDataTrack", closable: ["closable", "closable", booleanAttribute], title: "title", type: "type", width: "width" }, outputs: { buttonClicked: "buttonClicked", closed: "closed" }, host: { properties: { "class.full-width": "this.fullWidth" } }, ngImport: i0, template: "<div\n class=\"main\"\n [class.info]=\"type === 'info'\"\n [class.warning]=\"type === 'warning'\"\n [class.error]=\"type === 'error'\"\n [class.success]=\"type === 'success'\"\n [class.has-title]=\"!!title\">\n <div class=\"status-banner\"></div>\n <div class=\"wrapper\">\n <div class=\"symbol-content\">\n <div class=\"symbol-wrapper\">\n <ap-symbol\n class=\"status\"\n size=\"sm\"\n [symbolId]=\"symbolIds[type]\" />\n </div>\n <div class=\"content\">\n <div class=\"texts\">\n @if (title) {\n <span class=\"title\">\n {{ title }}\n </span>\n }\n <span class=\"text\">\n <ng-content />\n </span>\n </div>\n @if (buttonLabel) {\n <ap-button\n name=\"infobox-button\"\n [id]=\"buttonId ?? defaultButtonId\"\n [attr.data-track]=\"buttonDataTrack\"\n [config]=\"{\n style: 'stroked',\n color: 'grey'\n }\"\n (click)=\"onClickButton()\">\n {{ buttonLabel }}\n </ap-button>\n }\n </div>\n </div>\n @if (closable) {\n <button\n class=\"closable-button\"\n (click)=\"onCloseInfobox()\">\n <
|
|
48
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: InfoboxComponent, isStandalone: true, selector: "ap-infobox", inputs: { buttonId: "buttonId", buttonLabel: "buttonLabel", buttonDataTrack: "buttonDataTrack", closable: ["closable", "closable", booleanAttribute], title: "title", type: "type", width: "width" }, outputs: { buttonClicked: "buttonClicked", closed: "closed" }, host: { properties: { "class.full-width": "this.fullWidth" } }, ngImport: i0, template: "<div\n class=\"main\"\n [class.info]=\"type === 'info'\"\n [class.warning]=\"type === 'warning'\"\n [class.error]=\"type === 'error'\"\n [class.success]=\"type === 'success'\"\n [class.has-title]=\"!!title\">\n <div class=\"status-banner\"></div>\n <div class=\"wrapper\">\n <div class=\"symbol-content\">\n <div class=\"symbol-wrapper\">\n <ap-symbol\n class=\"status\"\n size=\"sm\"\n [symbolId]=\"symbolIds[type]\" />\n </div>\n <div class=\"content\">\n <div class=\"texts\">\n @if (title) {\n <span class=\"title\">\n {{ title }}\n </span>\n }\n <span class=\"text\">\n <ng-content />\n </span>\n </div>\n @if (buttonLabel) {\n <ap-button\n name=\"infobox-button\"\n [id]=\"buttonId ?? defaultButtonId\"\n [attr.data-track]=\"buttonDataTrack\"\n [config]=\"{\n style: 'stroked',\n color: 'grey'\n }\"\n (click)=\"onClickButton()\">\n {{ buttonLabel }}\n </ap-button>\n }\n </div>\n </div>\n @if (closable) {\n <button\n class=\"closable-button\"\n (click)=\"onCloseInfobox()\">\n <ap-symbol\n aria-label=\"close-snackbar\"\n symbolId=\"delete-no-circle\"\n size=\"sm\"/>\n </button>\n }\n </div>\n</div>\n", styles: ["ap-infobox{--comp-icon-size: 16px;container:infobox/inline-size;display:block;width:100%;max-width:100%}ap-infobox .main{display:flex;font-size:var(--ref-font-size-sm);line-height:var(--ref-font-line-height-sm);align-items:center;color:var(--ref-color-grey-100);padding:var(--comp-infobox-padding-top) var(--comp-infobox-padding-right) var(--comp-infobox-padding-bottom) var(--comp-infobox-padding-left);border-radius:var(--comp-infobox-border-radius);overflow:hidden;font-family:var(--comp-infobox-text-title-font-family);box-sizing:border-box;position:relative;gap:var(--comp-infobox-button-margin-left)}ap-infobox .main .status-banner{position:absolute;left:0;top:0;width:4px;height:100%}ap-infobox .main ap-symbol{align-self:flex-start}ap-infobox .main .symbol-wrapper{margin-top:1px}ap-infobox .main.has-title .symbol-wrapper{margin-top:var(--ref-spacing-xxxs)}ap-infobox .main button.closable-button{border:none;background-color:transparent;height:var(--comp-icon-size);width:var(--comp-icon-size);border-radius:100%;display:flex;align-items:center;justify-content:center;cursor:pointer}ap-infobox .main button.closable-button svg{margin:0;color:var(--ref-color-grey-60)}ap-infobox .main button.closable-button:hover{background-color:#3445631a}ap-infobox .main button.closable-button:hover svg{color:var(--ref-color-grey-80)}ap-infobox .main button.closable-button:active{background-color:#34456333}ap-infobox .main button.closable-button:active svg{color:var(--ref-color-grey-100)}ap-infobox .main .wrapper{display:flex;justify-content:space-between;width:100%;align-items:flex-start;gap:var(--ref-spacing-xxs)}ap-infobox .main .wrapper .symbol-content{display:flex;gap:var(--ref-spacing-xs);align-items:flex-start;flex:1}ap-infobox .main .wrapper .symbol-content .content{display:flex;flex-direction:column;align-items:flex-start;flex:1;justify-content:space-between;gap:var(--ref-spacing-xxs)}ap-infobox .main .wrapper .symbol-content .content ap-button button{width:unset}ap-infobox .main .wrapper .symbol-content .content .texts{display:flex;flex-direction:column;overflow-wrap:anywhere}ap-infobox .main .wrapper .symbol-content .content .texts .title{font-weight:var(--comp-infobox-text-title-weight);font-family:var(--comp-infobox-text-title-font-family);font-size:var(--comp-infobox-text-title-size);line-height:var(--comp-infobox-text-title-line-height)}ap-infobox .main.info{background-color:var(--comp-infobox-info-background-color)}ap-infobox .main.info ap-symbol.status{align-self:baseline;color:var(--comp-infobox-info-icon-color)}ap-infobox .main.info .status-banner{background-color:var(--comp-infobox-info-border-left-color)}ap-infobox .main.warning{background-color:var(--comp-infobox-warning-background-color)}ap-infobox .main.warning ap-symbol.status{color:var(--comp-infobox-warning-icon-color)}ap-infobox .main.warning .status-banner{background-color:var(--comp-infobox-warning-border-left-color)}ap-infobox .main.error{background-color:var(--comp-infobox-error-background-color)}ap-infobox .main.error ap-symbol.status{color:var(--comp-infobox-error-icon-color)}ap-infobox .main.error .status-banner{background-color:var(--comp-infobox-error-border-left-color)}ap-infobox .main.success{background-color:var(--comp-infobox-success-background-color)}ap-infobox .main.success ap-symbol.status{color:var(--comp-infobox-success-icon-color)}ap-infobox .main.success .status-banner{background-color:var(--comp-infobox-success-border-left-color)}@container infobox (min-width: 588px){.main .wrapper{align-items:center!important}.main .wrapper .symbol-wrapper{margin-top:0!important}.main .wrapper .symbol-content{align-items:center!important}.main .wrapper .symbol-content .content{flex-direction:row!important;align-items:center!important}}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "component", type: ButtonComponent, selector: "ap-button", inputs: ["ariaLabel", "disabled", "name", "form", "config", "loading", "locked", "menuTrigger", "symbolPosition", "ionicModalEnabled"], outputs: ["menuOpened", "menuClosed", "click", "focus", "blur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
49
49
|
}
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InfoboxComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
|
-
args: [{ selector: 'ap-infobox', standalone: true, imports: [SymbolComponent, NgClass, ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"main\"\n [class.info]=\"type === 'info'\"\n [class.warning]=\"type === 'warning'\"\n [class.error]=\"type === 'error'\"\n [class.success]=\"type === 'success'\"\n [class.has-title]=\"!!title\">\n <div class=\"status-banner\"></div>\n <div class=\"wrapper\">\n <div class=\"symbol-content\">\n <div class=\"symbol-wrapper\">\n <ap-symbol\n class=\"status\"\n size=\"sm\"\n [symbolId]=\"symbolIds[type]\" />\n </div>\n <div class=\"content\">\n <div class=\"texts\">\n @if (title) {\n <span class=\"title\">\n {{ title }}\n </span>\n }\n <span class=\"text\">\n <ng-content />\n </span>\n </div>\n @if (buttonLabel) {\n <ap-button\n name=\"infobox-button\"\n [id]=\"buttonId ?? defaultButtonId\"\n [attr.data-track]=\"buttonDataTrack\"\n [config]=\"{\n style: 'stroked',\n color: 'grey'\n }\"\n (click)=\"onClickButton()\">\n {{ buttonLabel }}\n </ap-button>\n }\n </div>\n </div>\n @if (closable) {\n <button\n class=\"closable-button\"\n (click)=\"onCloseInfobox()\">\n <
|
|
52
|
+
args: [{ selector: 'ap-infobox', standalone: true, imports: [SymbolComponent, NgClass, ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"main\"\n [class.info]=\"type === 'info'\"\n [class.warning]=\"type === 'warning'\"\n [class.error]=\"type === 'error'\"\n [class.success]=\"type === 'success'\"\n [class.has-title]=\"!!title\">\n <div class=\"status-banner\"></div>\n <div class=\"wrapper\">\n <div class=\"symbol-content\">\n <div class=\"symbol-wrapper\">\n <ap-symbol\n class=\"status\"\n size=\"sm\"\n [symbolId]=\"symbolIds[type]\" />\n </div>\n <div class=\"content\">\n <div class=\"texts\">\n @if (title) {\n <span class=\"title\">\n {{ title }}\n </span>\n }\n <span class=\"text\">\n <ng-content />\n </span>\n </div>\n @if (buttonLabel) {\n <ap-button\n name=\"infobox-button\"\n [id]=\"buttonId ?? defaultButtonId\"\n [attr.data-track]=\"buttonDataTrack\"\n [config]=\"{\n style: 'stroked',\n color: 'grey'\n }\"\n (click)=\"onClickButton()\">\n {{ buttonLabel }}\n </ap-button>\n }\n </div>\n </div>\n @if (closable) {\n <button\n class=\"closable-button\"\n (click)=\"onCloseInfobox()\">\n <ap-symbol\n aria-label=\"close-snackbar\"\n symbolId=\"delete-no-circle\"\n size=\"sm\"/>\n </button>\n }\n </div>\n</div>\n", styles: ["ap-infobox{--comp-icon-size: 16px;container:infobox/inline-size;display:block;width:100%;max-width:100%}ap-infobox .main{display:flex;font-size:var(--ref-font-size-sm);line-height:var(--ref-font-line-height-sm);align-items:center;color:var(--ref-color-grey-100);padding:var(--comp-infobox-padding-top) var(--comp-infobox-padding-right) var(--comp-infobox-padding-bottom) var(--comp-infobox-padding-left);border-radius:var(--comp-infobox-border-radius);overflow:hidden;font-family:var(--comp-infobox-text-title-font-family);box-sizing:border-box;position:relative;gap:var(--comp-infobox-button-margin-left)}ap-infobox .main .status-banner{position:absolute;left:0;top:0;width:4px;height:100%}ap-infobox .main ap-symbol{align-self:flex-start}ap-infobox .main .symbol-wrapper{margin-top:1px}ap-infobox .main.has-title .symbol-wrapper{margin-top:var(--ref-spacing-xxxs)}ap-infobox .main button.closable-button{border:none;background-color:transparent;height:var(--comp-icon-size);width:var(--comp-icon-size);border-radius:100%;display:flex;align-items:center;justify-content:center;cursor:pointer}ap-infobox .main button.closable-button svg{margin:0;color:var(--ref-color-grey-60)}ap-infobox .main button.closable-button:hover{background-color:#3445631a}ap-infobox .main button.closable-button:hover svg{color:var(--ref-color-grey-80)}ap-infobox .main button.closable-button:active{background-color:#34456333}ap-infobox .main button.closable-button:active svg{color:var(--ref-color-grey-100)}ap-infobox .main .wrapper{display:flex;justify-content:space-between;width:100%;align-items:flex-start;gap:var(--ref-spacing-xxs)}ap-infobox .main .wrapper .symbol-content{display:flex;gap:var(--ref-spacing-xs);align-items:flex-start;flex:1}ap-infobox .main .wrapper .symbol-content .content{display:flex;flex-direction:column;align-items:flex-start;flex:1;justify-content:space-between;gap:var(--ref-spacing-xxs)}ap-infobox .main .wrapper .symbol-content .content ap-button button{width:unset}ap-infobox .main .wrapper .symbol-content .content .texts{display:flex;flex-direction:column;overflow-wrap:anywhere}ap-infobox .main .wrapper .symbol-content .content .texts .title{font-weight:var(--comp-infobox-text-title-weight);font-family:var(--comp-infobox-text-title-font-family);font-size:var(--comp-infobox-text-title-size);line-height:var(--comp-infobox-text-title-line-height)}ap-infobox .main.info{background-color:var(--comp-infobox-info-background-color)}ap-infobox .main.info ap-symbol.status{align-self:baseline;color:var(--comp-infobox-info-icon-color)}ap-infobox .main.info .status-banner{background-color:var(--comp-infobox-info-border-left-color)}ap-infobox .main.warning{background-color:var(--comp-infobox-warning-background-color)}ap-infobox .main.warning ap-symbol.status{color:var(--comp-infobox-warning-icon-color)}ap-infobox .main.warning .status-banner{background-color:var(--comp-infobox-warning-border-left-color)}ap-infobox .main.error{background-color:var(--comp-infobox-error-background-color)}ap-infobox .main.error ap-symbol.status{color:var(--comp-infobox-error-icon-color)}ap-infobox .main.error .status-banner{background-color:var(--comp-infobox-error-border-left-color)}ap-infobox .main.success{background-color:var(--comp-infobox-success-background-color)}ap-infobox .main.success ap-symbol.status{color:var(--comp-infobox-success-icon-color)}ap-infobox .main.success .status-banner{background-color:var(--comp-infobox-success-border-left-color)}@container infobox (min-width: 588px){.main .wrapper{align-items:center!important}.main .wrapper .symbol-wrapper{margin-top:0!important}.main .wrapper .symbol-content{align-items:center!important}.main .wrapper .symbol-content .content{flex-direction:row!important;align-items:center!important}}\n"] }]
|
|
53
53
|
}], ctorParameters: () => [], propDecorators: { fullWidth: [{
|
|
54
54
|
type: HostBinding,
|
|
55
55
|
args: ['class.full-width']
|
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
75
75
|
}], closed: [{
|
|
76
76
|
type: Output
|
|
77
77
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mb2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvaW5mb2JveC9zcmMvaW5mb2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvaW5mb2JveC9zcmMvaW5mb2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUNILGVBQWUsRUFDZixjQUFjLEVBRWQsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixPQUFPLEVBQ1AsVUFBVSxFQUNWLGNBQWMsRUFDZCxhQUFhLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7O0FBSXZCLHVFQUF1RTtBQUN2RSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFXckIsTUFBTSxPQUFPLGdCQUFnQjtJQUNSLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVoQixTQUFTLEdBQVksS0FBSyxDQUFDO0lBRW5ELFFBQVEsR0FBa0IsSUFBSSxDQUFDO0lBQy9CLFdBQVcsR0FBdUIsU0FBUyxDQUFDO0lBQzVDLGVBQWUsR0FBa0IsSUFBSSxDQUFDO0lBSS9DLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDUixLQUFLLENBQVU7SUFDZixJQUFJLEdBQTZDLE1BQU0sQ0FBQztJQUVqRSxJQUFhLEtBQUssQ0FBQyxLQUFtQjtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssS0FBSyxZQUFZLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBQ08sTUFBTSxHQUFpQixLQUFLLENBQUM7SUFFM0IsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFDekMsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFNUMsZ0JBQWdCLEdBQThCLFlBQVksQ0FBQztJQUMzRCxlQUFlLEdBQVcsRUFBRSxDQUFDO0lBR3BCLFNBQVMsR0FBc0M7UUFDcEQsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLGNBQWM7UUFDdkIsS0FBSyxFQUFFLFlBQVk7UUFDbkIsT0FBTyxFQUFFLG9CQUFvQjtLQUNoQyxDQUFDO0lBRUY7UUFDSSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzNILElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLENBQUE7SUFDN0QsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO3VHQW5EUSxnQkFBZ0I7MkZBQWhCLGdCQUFnQixpTEFVVixnQkFBZ0IsME1DbERuQywrN0ZBNERBLDh1SER4QmMsZUFBZSw2RkFBVyxlQUFlOzsyRkFJMUMsZ0JBQWdCO2tCQVQ1QixTQUFTOytCQUNJLFlBQVksY0FHVixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxtQkFDbkMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTt3REFNSixTQUFTO3NCQUF6QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFFdEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBSU4sUUFBUTtzQkFIUCxLQUFLO3VCQUFDO3dCQUNILFNBQVMsRUFBRSxnQkFBZ0I7cUJBQzlCO2dCQUVRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRU8sS0FBSztzQkFBakIsS0FBSztnQkFTSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgU3ltYm9sQ29tcG9uZW50LFxuICAgIFN5bWJvbFJlZ2lzdHJ5LFxuICAgIGFnb3JhcHVsc2VTeW1ib2wsXG4gICAgYXBFcnJvckZpbGwsXG4gICAgYXBSb3VuZGVkQ2hlY2tGaWxsLFxuICAgIGFwQ2xvc2UsXG4gICAgYXBJbmZvRmlsbCxcbiAgICBhcFJlbW92ZUNpcmNsZSxcbiAgICBhcFdhcm5pbmdGaWxsLFxufSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IHR5cGUgSW5mb2JveERpcmVjdGlvbiA9ICdjb2x1bW4nIHwgJ3Jvdyc7XG5leHBvcnQgdHlwZSBJbmZvYm94V2lkdGggPSAnZml0JyB8ICdmdWxsLXdpZHRoJztcblxuLy8gSW5jcmVhc2luZyBpbnRlZ2VyIGZvciBnZW5lcmF0aW5nIHVuaXF1ZSBpZHMgZm9yIGluZm9ib3ggY29tcG9uZW50cy5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLWluZm9ib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmZvYm94LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbmZvYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbU3ltYm9sQ29tcG9uZW50LCBOZ0NsYXNzLCBCdXR0b25Db21wb25lbnRdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEluZm9ib3hDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3ltYm9sUmVnaXN0cnkgPSBpbmplY3QoU3ltYm9sUmVnaXN0cnkpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZnVsbC13aWR0aCcpIGZ1bGxXaWR0aDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgYnV0dG9uSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGJ1dHRvbkxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgYnV0dG9uRGF0YVRyYWNrOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoe1xuICAgICAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgfSlcbiAgICBjbG9zYWJsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHR5cGU6ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc3VjY2VzcycgPSAnaW5mbyc7XG5cbiAgICBASW5wdXQoKSBzZXQgd2lkdGgod2lkdGg6IEluZm9ib3hXaWR0aCkge1xuICAgICAgICB0aGlzLl93aWR0aCA9IHdpZHRoO1xuICAgICAgICB0aGlzLmZ1bGxXaWR0aCA9IHdpZHRoID09PSAnZnVsbC13aWR0aCc7XG4gICAgfVxuICAgIGdldCB3aWR0aCgpOiBJbmZvYm94V2lkdGgge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2lkdGg7XG4gICAgfVxuICAgIHByaXZhdGUgX3dpZHRoOiBJbmZvYm94V2lkdGggPSAnZml0JztcblxuICAgIEBPdXRwdXQoKSBidXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBkaXNwbGF5RGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuICAgIGRlZmF1bHRCdXR0b25JZDogc3RyaW5nID0gJyc7XG5cblxuICAgIHJlYWRvbmx5IHN5bWJvbElkczogeyBbazogc3RyaW5nXTogYWdvcmFwdWxzZVN5bWJvbCB9ID0ge1xuICAgICAgICBpbmZvOiAnaW5mb19maWxsJyxcbiAgICAgICAgd2FybmluZzogJ3dhcm5pbmdfZmlsbCcsXG4gICAgICAgIGVycm9yOiAnZXJyb3JfZmlsbCcsXG4gICAgICAgIHN1Y2Nlc3M6ICdyb3VuZGVkLWNoZWNrX2ZpbGwnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zeW1ib2xSZWdpc3RyeS5yZWdpc3RlclN5bWJvbHMoW2FwSW5mb0ZpbGwsIGFwRXJyb3JGaWxsLCBhcFdhcm5pbmdGaWxsLCBhcFJlbW92ZUNpcmNsZSwgYXBSb3VuZGVkQ2hlY2tGaWxsLCBhcENsb3NlXSk7XG4gICAgICAgIHRoaXMuZGVmYXVsdEJ1dHRvbklkID0gYGluZm9ib3gtYnV0dG9uLSR7KytuZXh0VW5pcXVlSWR9YFxuICAgIH1cblxuICAgIG9uQ2xpY2tCdXR0b24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KCk7XG4gICAgfVxuXG4gICAgb25DbG9zZUluZm9ib3goKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwibWFpblwiXG4gICAgW2NsYXNzLmluZm9dPVwidHlwZSA9PT0gJ2luZm8nXCJcbiAgICBbY2xhc3Mud2FybmluZ109XCJ0eXBlID09PSAnd2FybmluZydcIlxuICAgIFtjbGFzcy5lcnJvcl09XCJ0eXBlID09PSAnZXJyb3InXCJcbiAgICBbY2xhc3Muc3VjY2Vzc109XCJ0eXBlID09PSAnc3VjY2VzcydcIlxuICAgIFtjbGFzcy5oYXMtdGl0bGVdPVwiISF0aXRsZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtYmFubmVyXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN5bWJvbC1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3RhdHVzXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cInN5bWJvbElkc1t0eXBlXVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRzXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uTGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFwLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImluZm9ib3gtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJidXR0b25JZCA/PyBkZWZhdWx0QnV0dG9uSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10cmFja109XCJidXR0b25EYXRhVHJhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6ICdzdHJva2VkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2dyZXknXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrQnV0dG9uKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGJ1dHRvbkxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYXAtYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChjbG9zYWJsZSkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2xvc2FibGUtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbG9zZUluZm9ib3goKVwiPlxuICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI4XCJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiOFwiXG4gICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgOCA4XCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTcuMzI0NSAwLjY3MzMzNkM3LjE2NTE4IDAuNTE0NTY1IDYuOTQ5NDMgMC40MjU0MTUgNi43MjQ1IDAuNDI1NDE1QzYuNDk5NTggMC40MjU0MTUgNi4yODM4MyAwLjUxNDU2NSA2LjEyNDUxIDAuNjczMzM2TDQuMDA2NTEgMi43OTEzNEwxLjg4NTg0IDAuNjczMzM2QzEuNzI0OTkgMC41MTk2MDcgMS41MTAzNiAwLjQzNDk1NSAxLjI4Nzg4IDAuNDM3NTAxQzEuMDY1NCAwLjQ0MDA0OCAwLjg1Mjc1NiAwLjUyOTU5MSAwLjY5NTQ3MiAwLjY4Njk2MkMwLjUzODE4OSAwLjg0NDMzMyAwLjQ0ODc2MyAxLjA1NzAyIDAuNDQ2MzQgMS4yNzk1MUMwLjQ0MzkxNiAxLjUwMTk5IDAuNTI4Njg3IDEuNzE2NTggMC42ODI1MDUgMS44NzczNEwyLjc5OTg0IDMuOTk1MzRMMC42ODI1MDUgNi4xMTRDMC41Mjg2ODcgNi4yNzQ3NiAwLjQ0MzkxNiA2LjQ4OTM1IDAuNDQ2MzQgNi43MTE4M0MwLjQ0ODc2MyA2LjkzNDMxIDAuNTM4MTg5IDcuMTQ3IDAuNjk1NDcyIDcuMzA0MzhDMC44NTI3NTYgNy40NjE3NSAxLjA2NTQgNy41NTEyOSAxLjI4Nzg4IDcuNTUzODRDMS41MTAzNiA3LjU1NjM4IDEuNzI0OTkgNy40NzE3MyAxLjg4NTg0IDcuMzE4TDQuMDAzMTcgNS4yTDYuMTIxMTcgNy4zMTg2N0M2LjI4MzY0IDcuNDYzMDcgNi40OTUyIDcuNTM5ODYgNi43MTI0NyA3LjUzMzI5QzYuOTI5NzQgNy41MjY3MSA3LjEzNjI3IDcuNDM3MjggNy4yODk3MiA3LjI4MzMyQzcuNDQzMTYgNy4xMjkzNiA3LjUzMTkxIDYuOTIyNTQgNy41Mzc3NiA2LjcwNTI1QzcuNTQzNiA2LjQ4Nzk2IDcuNDY2MTEgNi4yNzY2NiA3LjMyMTE3IDYuMTE0NjdMNS4yMDM4NCAzLjk5Nkw3LjMyMTE3IDEuODc4QzcuNDgxMzIgMS43MTg2NyA3LjU3MTY0IDEuNTAyMjYgNy41NzIyNiAxLjI3NjM2QzcuNTcyODkgMS4wNTA0NSA3LjQ4Mzc3IDAuODMzNTQ4IDcuMzI0NSAwLjY3MzMzNlpcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mb2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvaW5mb2JveC9zcmMvaW5mb2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvaW5mb2JveC9zcmMvaW5mb2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUNILGVBQWUsRUFDZixjQUFjLEVBRWQsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixPQUFPLEVBQ1AsVUFBVSxFQUNWLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZ0JBQWdCLEdBQ25CLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7O0FBSXZCLHVFQUF1RTtBQUN2RSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFXckIsTUFBTSxPQUFPLGdCQUFnQjtJQUNSLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVoQixTQUFTLEdBQVksS0FBSyxDQUFDO0lBRW5ELFFBQVEsR0FBa0IsSUFBSSxDQUFDO0lBQy9CLFdBQVcsR0FBdUIsU0FBUyxDQUFDO0lBQzVDLGVBQWUsR0FBa0IsSUFBSSxDQUFDO0lBSS9DLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDUixLQUFLLENBQVU7SUFDZixJQUFJLEdBQTZDLE1BQU0sQ0FBQztJQUVqRSxJQUFhLEtBQUssQ0FBQyxLQUFtQjtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssS0FBSyxZQUFZLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBQ08sTUFBTSxHQUFpQixLQUFLLENBQUM7SUFFM0IsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFDekMsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFNUMsZ0JBQWdCLEdBQThCLFlBQVksQ0FBQztJQUMzRCxlQUFlLEdBQVcsRUFBRSxDQUFDO0lBR3BCLFNBQVMsR0FBc0M7UUFDcEQsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLGNBQWM7UUFDdkIsS0FBSyxFQUFFLFlBQVk7UUFDbkIsT0FBTyxFQUFFLG9CQUFvQjtLQUNoQyxDQUFDO0lBRUY7UUFDSSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQzdJLElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLENBQUE7SUFDN0QsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO3VHQW5EUSxnQkFBZ0I7MkZBQWhCLGdCQUFnQixpTEFVVixnQkFBZ0IsME1DbkRuQyx3MURBc0RBLDh1SERqQmMsZUFBZSw2RkFBVyxlQUFlOzsyRkFJMUMsZ0JBQWdCO2tCQVQ1QixTQUFTOytCQUNJLFlBQVksY0FHVixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxtQkFDbkMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTt3REFNSixTQUFTO3NCQUF6QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFFdEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBSU4sUUFBUTtzQkFIUCxLQUFLO3VCQUFDO3dCQUNILFNBQVMsRUFBRSxnQkFBZ0I7cUJBQzlCO2dCQUVRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRU8sS0FBSztzQkFBakIsS0FBSztnQkFTSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgU3ltYm9sQ29tcG9uZW50LFxuICAgIFN5bWJvbFJlZ2lzdHJ5LFxuICAgIGFnb3JhcHVsc2VTeW1ib2wsXG4gICAgYXBFcnJvckZpbGwsXG4gICAgYXBSb3VuZGVkQ2hlY2tGaWxsLFxuICAgIGFwQ2xvc2UsXG4gICAgYXBJbmZvRmlsbCxcbiAgICBhcFJlbW92ZUNpcmNsZSxcbiAgICBhcFdhcm5pbmdGaWxsLFxuICAgIGFwRGVsZXRlTm9DaXJjbGUsXG59IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5leHBvcnQgdHlwZSBJbmZvYm94RGlyZWN0aW9uID0gJ2NvbHVtbicgfCAncm93JztcbmV4cG9ydCB0eXBlIEluZm9ib3hXaWR0aCA9ICdmaXQnIHwgJ2Z1bGwtd2lkdGgnO1xuXG4vLyBJbmNyZWFzaW5nIGludGVnZXIgZm9yIGdlbmVyYXRpbmcgdW5pcXVlIGlkcyBmb3IgaW5mb2JveCBjb21wb25lbnRzLlxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtaW5mb2JveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2luZm9ib3guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2luZm9ib3guY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtTeW1ib2xDb21wb25lbnQsIE5nQ2xhc3MsIEJ1dHRvbkNvbXBvbmVudF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5mb2JveENvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzeW1ib2xSZWdpc3RyeSA9IGluamVjdChTeW1ib2xSZWdpc3RyeSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mdWxsLXdpZHRoJykgZnVsbFdpZHRoOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBidXR0b25JZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgYnV0dG9uTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBidXR0b25EYXRhVHJhY2s6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCh7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICB9KVxuICAgIGNsb3NhYmxlID0gZmFsc2U7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdHlwZTogJ2luZm8nIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJyB8ICdzdWNjZXNzJyA9ICdpbmZvJztcblxuICAgIEBJbnB1dCgpIHNldCB3aWR0aCh3aWR0aDogSW5mb2JveFdpZHRoKSB7XG4gICAgICAgIHRoaXMuX3dpZHRoID0gd2lkdGg7XG4gICAgICAgIHRoaXMuZnVsbFdpZHRoID0gd2lkdGggPT09ICdmdWxsLXdpZHRoJztcbiAgICB9XG4gICAgZ2V0IHdpZHRoKCk6IEluZm9ib3hXaWR0aCB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfd2lkdGg6IEluZm9ib3hXaWR0aCA9ICdmaXQnO1xuXG4gICAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIGRpc3BsYXlEaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG4gICAgZGVmYXVsdEJ1dHRvbklkOiBzdHJpbmcgPSAnJztcblxuXG4gICAgcmVhZG9ubHkgc3ltYm9sSWRzOiB7IFtrOiBzdHJpbmddOiBhZ29yYXB1bHNlU3ltYm9sIH0gPSB7XG4gICAgICAgIGluZm86ICdpbmZvX2ZpbGwnLFxuICAgICAgICB3YXJuaW5nOiAnd2FybmluZ19maWxsJyxcbiAgICAgICAgZXJyb3I6ICdlcnJvcl9maWxsJyxcbiAgICAgICAgc3VjY2VzczogJ3JvdW5kZWQtY2hlY2tfZmlsbCcsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnN5bWJvbFJlZ2lzdHJ5LnJlZ2lzdGVyU3ltYm9scyhbYXBJbmZvRmlsbCwgYXBFcnJvckZpbGwsIGFwV2FybmluZ0ZpbGwsIGFwUmVtb3ZlQ2lyY2xlLCBhcFJvdW5kZWRDaGVja0ZpbGwsIGFwQ2xvc2UsIGFwRGVsZXRlTm9DaXJjbGVdKTtcbiAgICAgICAgdGhpcy5kZWZhdWx0QnV0dG9uSWQgPSBgaW5mb2JveC1idXR0b24tJHsrK25leHRVbmlxdWVJZH1gXG4gICAgfVxuXG4gICAgb25DbGlja0J1dHRvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idXR0b25DbGlja2VkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkNsb3NlSW5mb2JveCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJtYWluXCJcbiAgICBbY2xhc3MuaW5mb109XCJ0eXBlID09PSAnaW5mbydcIlxuICAgIFtjbGFzcy53YXJuaW5nXT1cInR5cGUgPT09ICd3YXJuaW5nJ1wiXG4gICAgW2NsYXNzLmVycm9yXT1cInR5cGUgPT09ICdlcnJvcidcIlxuICAgIFtjbGFzcy5zdWNjZXNzXT1cInR5cGUgPT09ICdzdWNjZXNzJ1wiXG4gICAgW2NsYXNzLmhhcy10aXRsZV09XCIhIXRpdGxlXCI+XG4gICAgPGRpdiBjbGFzcz1cInN0YXR1cy1iYW5uZXJcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeW1ib2wtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICBbc3ltYm9sSWRdPVwic3ltYm9sSWRzW3R5cGVdXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dHNcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmICh0aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgQGlmIChidXR0b25MYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICA8YXAtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiaW5mb2JveC1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImJ1dHRvbklkID8/IGRlZmF1bHRCdXR0b25JZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRyYWNrXT1cImJ1dHRvbkRhdGFUcmFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogJ3N0cm9rZWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZ3JleSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tCdXR0b24oKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgYnV0dG9uTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9hcC1idXR0b24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKGNsb3NhYmxlKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjbG9zYWJsZS1idXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsb3NlSW5mb2JveCgpXCI+XG4gICAgICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJjbG9zZS1zbmFja2JhclwiXG4gICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJkZWxldGUtbm8tY2lyY2xlXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIi8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -35,11 +35,11 @@ export class LabelComponent {
|
|
|
35
35
|
this.remove.emit({ content: this.content, $event });
|
|
36
36
|
}
|
|
37
37
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: LabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: LabelComponent, isStandalone: true, selector: "ap-label", inputs: { content: "content", selectorWidth: "selectorWidth", removable: ["removable", "removable", booleanAttribute] }, outputs: { remove: "remove" }, ngImport: i0, template: "<div\n class=\"label\"\n [class.removable]=\"removable\"\n [apTooltip]=\"tooltipEnabled ? content : ''\">\n <span class=\"label-content\">{{ content }}</span>\n @if (removable) {\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onClearLabel($event)\">\n <ap-symbol\n symbolId=\"remove-bold\"\n size=\"
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: LabelComponent, isStandalone: true, selector: "ap-label", inputs: { content: "content", selectorWidth: "selectorWidth", removable: ["removable", "removable", booleanAttribute] }, outputs: { remove: "remove" }, ngImport: i0, template: "<div\n class=\"label\"\n [class.removable]=\"removable\"\n [apTooltip]=\"tooltipEnabled ? content : ''\">\n <span class=\"label-content\">{{ content }}</span>\n @if (removable) {\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onClearLabel($event)\">\n <ap-symbol\n symbolId=\"remove-bold\"\n size=\"xs\" />\n </button>\n }\n</div>\n", styles: ["ap-label{display:flex;--button-size: calc(var(--comp-label-height) - 4px);--max-width: 180px}ap-label .label{padding:0 var(--ref-spacing-xxs);color:var(--comp-label-text-color);align-self:center;background:var(--comp-label-background-color);border-radius:var(--comp-label-border-radius);text-wrap:none;display:flex;align-items:center;border:none;padding:0 var(--comp-label-padding-right) 0 var(--comp-label-padding-left);height:var(--comp-label-height);box-sizing:border-box;text-overflow:ellipsis}ap-label .label.removable{gap:var(--comp-label-closable-spacing);padding:0 var(--comp-label-closable-padding-right) 0 var(--ref-spacing-xxs)}ap-label .label .label-content{max-width:var(--max-width);color:var(--comp-label-text-color);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--comp-label-text-style-font-family);font-size:var(--comp-label-text-style-size);line-height:var(--comp-label-text-style-line-height);font-weight:var(--comp-label-text-style-font-weight)}ap-label .label .delete-button{display:flex;align-items:center;justify-content:center;border:none;background:transparent;align-self:center;cursor:pointer;max-width:var(--button-size);width:var(--button-size);height:var(--button-size);max-height:var(--button-size);border-radius:100%}ap-label .label .delete-button ap-symbol{color:var(--ref-color-grey-80)}ap-label .label .delete-button:hover{background-color:#3445631a}ap-label .label .delete-button:hover ap-symbol{color:var(--ref-color-grey-100)}ap-label .label .delete-button:focus{-webkit-box-shadow:0px 0px 0px 1px var(--ref-color-white),0px 0px 0px 3px var(--ref-color-electric-blue-100);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}ap-label .label .delete-button:active{background-color:#34456333}ap-label .label .delete-button:active ap-symbol{color:var(--ref-color-grey-100)}\n"], dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltipPosition", "apTooltip", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTemplateContext", "apTooltipVirtualScrollElement"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
39
39
|
}
|
|
40
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: LabelComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-label', standalone: true, imports: [NgClass, TooltipDirective, SymbolComponent], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"label\"\n [class.removable]=\"removable\"\n [apTooltip]=\"tooltipEnabled ? content : ''\">\n <span class=\"label-content\">{{ content }}</span>\n @if (removable) {\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onClearLabel($event)\">\n <ap-symbol\n symbolId=\"remove-bold\"\n size=\"
|
|
42
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-label', standalone: true, imports: [NgClass, TooltipDirective, SymbolComponent], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"label\"\n [class.removable]=\"removable\"\n [apTooltip]=\"tooltipEnabled ? content : ''\">\n <span class=\"label-content\">{{ content }}</span>\n @if (removable) {\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onClearLabel($event)\">\n <ap-symbol\n symbolId=\"remove-bold\"\n size=\"xs\" />\n </button>\n }\n</div>\n", styles: ["ap-label{display:flex;--button-size: calc(var(--comp-label-height) - 4px);--max-width: 180px}ap-label .label{padding:0 var(--ref-spacing-xxs);color:var(--comp-label-text-color);align-self:center;background:var(--comp-label-background-color);border-radius:var(--comp-label-border-radius);text-wrap:none;display:flex;align-items:center;border:none;padding:0 var(--comp-label-padding-right) 0 var(--comp-label-padding-left);height:var(--comp-label-height);box-sizing:border-box;text-overflow:ellipsis}ap-label .label.removable{gap:var(--comp-label-closable-spacing);padding:0 var(--comp-label-closable-padding-right) 0 var(--ref-spacing-xxs)}ap-label .label .label-content{max-width:var(--max-width);color:var(--comp-label-text-color);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--comp-label-text-style-font-family);font-size:var(--comp-label-text-style-size);line-height:var(--comp-label-text-style-line-height);font-weight:var(--comp-label-text-style-font-weight)}ap-label .label .delete-button{display:flex;align-items:center;justify-content:center;border:none;background:transparent;align-self:center;cursor:pointer;max-width:var(--button-size);width:var(--button-size);height:var(--button-size);max-height:var(--button-size);border-radius:100%}ap-label .label .delete-button ap-symbol{color:var(--ref-color-grey-80)}ap-label .label .delete-button:hover{background-color:#3445631a}ap-label .label .delete-button:hover ap-symbol{color:var(--ref-color-grey-100)}ap-label .label .delete-button:focus{-webkit-box-shadow:0px 0px 0px 1px var(--ref-color-white),0px 0px 0px 3px var(--ref-color-electric-blue-100);box-shadow:0 0 0 1px var(--ref-color-white),0 0 0 3px var(--ref-color-electric-blue-100)}ap-label .label .delete-button:active{background-color:#34456333}ap-label .label .delete-button:active ap-symbol{color:var(--ref-color-grey-100)}\n"] }]
|
|
43
43
|
}], ctorParameters: () => [], propDecorators: { content: [{
|
|
44
44
|
type: Input,
|
|
45
45
|
args: [{
|
|
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
53
53
|
}], remove: [{
|
|
54
54
|
type: Output
|
|
55
55
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL2xhYmVscy9zcmMvbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL2xhYmVscy9zcmMvbGFiZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7O0FBV3ZCLE1BQU0sT0FBTyxjQUFjO0lBQ2YsVUFBVSxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxjQUFjLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4RCxJQUFJLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBS3RDLE9BQU8sQ0FBVTtJQUNSLGFBQWEsR0FBVyxDQUFDLENBQUMsQ0FBQyw0Q0FBNEM7SUFDeEMsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUV6RCxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQTJDLENBQUM7SUFFdkUsUUFBUSxHQUErQixTQUFTLENBQUM7SUFDekQsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUVoQztRQUNJLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNmLE1BQU0sY0FBYyxHQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ25ILElBQUksY0FBYyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQztnQkFDekUsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFrQjtRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQzt1R0F6Q1EsY0FBYzsyRkFBZCxjQUFjLGdKQVVILGdCQUFnQiw0RENyQ3hDLDJjQWdCQSx5NURET3VCLGdCQUFnQix1UEFBRSxlQUFlOzsyRkFJM0MsY0FBYztrQkFUMUIsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLFVBQVUsY0FDUixJQUFJLFdBRVAsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLGlCQUV0QyxpQkFBaUIsQ0FBQyxJQUFJO3dEQVVyQyxPQUFPO3NCQUhOLEtBQUs7dUJBQUM7d0JBQ0gsUUFBUSxFQUFFLElBQUk7cUJBQ2pCO2dCQUVRLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ2tDLFNBQVM7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTVCLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgYXBSZW1vdmVCb2xkLCBTeW1ib2xDb21wb25lbnQsIFN5bWJvbFJlZ2lzdHJ5IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtbGFiZWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xhYmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgVG9vbHRpcERpcmVjdGl2ZSwgU3ltYm9sQ29tcG9uZW50XSxcbiAgICBzdHlsZVVybHM6IFsnLi9sYWJlbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIExhYmVsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcHJpdmF0ZSBzeW1ib2xSZWdpc3RyeTogU3ltYm9sUmVnaXN0cnkgPSBpbmplY3QoU3ltYm9sUmVnaXN0cnkpO1xuICAgIHByaXZhdGUgem9uZTogTmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICBASW5wdXQoe1xuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KVxuICAgIGNvbnRlbnQhOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2VsZWN0b3JXaWR0aDogbnVtYmVyID0gMDsgLy9XaWR0aCBvZiB0aGUgc2VsZWN0b3IgaW5wdXQsIGlmIGFwcGxpY2FibGVcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVtb3ZhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGNvbnRlbnQ6IHN0cmluZzsgJGV2ZW50OiBNb3VzZUV2ZW50IH0+KCk7XG5cbiAgICBwcml2YXRlIG9ic2VydmVyOiBSZXNpemVPYnNlcnZlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICB0b29sdGlwRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFthcFJlbW92ZUJvbGRdKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZW50cmllcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoID4gMCA/IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIDogdGhpcy5zZWxlY3RvcldpZHRoO1xuICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJXaWR0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b29sdGlwRW5hYmxlZCA9IGVudHJpZXNbMF0udGFyZ2V0LnNjcm9sbFdpZHRoID4gY29udGFpbmVyV2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnbGFiZWwtY29udGVudCcpWzBdKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8udW5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdKTtcbiAgICB9XG5cbiAgICBvbkNsZWFyTGFiZWwoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZSgpO1xuICAgICAgICB0aGlzLnJlbW92ZS5lbWl0KHsgY29udGVudDogdGhpcy5jb250ZW50LCAkZXZlbnQgfSk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwibGFiZWxcIlxuICAgIFtjbGFzcy5yZW1vdmFibGVdPVwicmVtb3ZhYmxlXCJcbiAgICBbYXBUb29sdGlwXT1cInRvb2x0aXBFbmFibGVkID8gY29udGVudCA6ICcnXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbC1jb250ZW50XCI+e3sgY29udGVudCB9fTwvc3Bhbj5cbiAgICBAaWYgKHJlbW92YWJsZSkge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DbGVhckxhYmVsKCRldmVudClcIj5cbiAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICBzeW1ib2xJZD1cInJlbW92ZS1ib2xkXCJcbiAgICAgICAgICAgICAgICBzaXplPVwieHNcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ButtonComponent } from '@agorapulse/ui-components/button';
|
|
2
2
|
import { IconButtonComponent } from '@agorapulse/ui-components/icon-button';
|
|
3
|
-
import { SymbolComponent,
|
|
3
|
+
import { SymbolComponent, apArrowLeft, apArrowRight } from '@agorapulse/ui-symbol';
|
|
4
4
|
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
5
5
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
6
6
|
import { BehaviorSubject, Subject, combineLatest, distinctUntilChanged, takeUntil } from 'rxjs';
|
|
@@ -58,7 +58,7 @@ export class PaginatorComponent {
|
|
|
58
58
|
_currentPageIndex = new BehaviorSubject(this.DEFAULT_CURRENT_PAGE_INDEX);
|
|
59
59
|
constructor(symbolRegistry) {
|
|
60
60
|
this.symbolRegistry = symbolRegistry;
|
|
61
|
-
this.symbolRegistry.registerSymbols([
|
|
61
|
+
this.symbolRegistry.registerSymbols([apArrowLeft, apArrowRight]);
|
|
62
62
|
combineLatest([this._itemCount, this._itemCountPerPage, this._currentPageIndex])
|
|
63
63
|
.pipe(distinctUntilChanged(([previousItemCount, previousItemCountPerPage, previousCurrentPageIndex], [itemCount, itemCountPerPage, currentPageIndex]) => {
|
|
64
64
|
return (previousItemCount === itemCount &&
|
|
@@ -88,11 +88,11 @@ export class PaginatorComponent {
|
|
|
88
88
|
this.currentPageIndexChange.emit(pageIndex);
|
|
89
89
|
}
|
|
90
90
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaginatorComponent, deps: [{ token: i1.SymbolRegistry }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: PaginatorComponent, isStandalone: true, selector: "ap-paginator", inputs: { currentPageIndex: "currentPageIndex", displayGoTo: "displayGoTo", edgeSize: "edgeSize", goToLabel: "goToLabel", itemCount: "itemCount", itemCountPerPage: "itemCountPerPage", middleSize: "middleSize" }, outputs: { currentPageIndexChange: "currentPageIndexChange" }, host: { listeners: { "keydown.enter": "onEnterKeydownPressed()" } }, ngImport: i0, template: "<div class=\"item-index-overview\">\n {{ currentPageIndex * itemCountPerPage + 1 }}\n - {{ lastPageDisplayed ? itemCount : (currentPageIndex + 1) * itemCountPerPage }} of {{ itemCount }}\n</div>\n\n<div class=\"pages\">\n <button\n class=\"navigation-button\"\n ariaLabel=\"Select Previous Page button\"\n [disabled]=\"firstPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex - 1)\">\n <ap-symbol symbolId=\"
|
|
91
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: PaginatorComponent, isStandalone: true, selector: "ap-paginator", inputs: { currentPageIndex: "currentPageIndex", displayGoTo: "displayGoTo", edgeSize: "edgeSize", goToLabel: "goToLabel", itemCount: "itemCount", itemCountPerPage: "itemCountPerPage", middleSize: "middleSize" }, outputs: { currentPageIndexChange: "currentPageIndexChange" }, host: { listeners: { "keydown.enter": "onEnterKeydownPressed()" } }, ngImport: i0, template: "<div class=\"item-index-overview\">\n {{ currentPageIndex * itemCountPerPage + 1 }}\n - {{ lastPageDisplayed ? itemCount : (currentPageIndex + 1) * itemCountPerPage }} of {{ itemCount }}\n</div>\n\n<div class=\"pages\">\n <button\n class=\"navigation-button\"\n ariaLabel=\"Select Previous Page button\"\n [disabled]=\"firstPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex - 1)\">\n <ap-symbol size=\"sm\" symbolId=\"arrow-left\" />\n </button>\n @if (pageCount > edgeSize + 1) {\n @if (currentPageIndex >= edgeSize - 1) {\n @if (currentPageIndex <= pageCount - edgeSize) {\n <ap-paginator-button\n [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n <span class=\"ellipsis\">...</span>\n @for (dummy of [].constructor(middleSize); track dummy; let i = $index) {\n <ap-paginator-button\n [pageIndex]=\"currentPageIndex + i - (middleSize - 1) / 2\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n }\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button\n [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n } @else {\n <ap-paginator-button\n [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n <span class=\"ellipsis\">...</span>\n @for (dummy of [].constructor(edgeSize); track dummy; let i = $index) {\n <ap-paginator-button\n [pageIndex]=\"pageCount - edgeSize + i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n }\n }\n } @else {\n @for (dummy of [].constructor(edgeSize); track dummy; let i = $index) {\n <ap-paginator-button\n [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n }\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button\n [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n }\n } @else {\n @for (dummy of [].constructor(pageCount); track dummy; let i = $index) {\n <ap-paginator-button\n [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n }\n }\n <button\n class=\"navigation-button\"\n ariaLabel=\"Select Next Page button\"\n [disabled]=\"lastPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex + 1)\">\n <ap-symbol size=\"sm\" symbolId=\"arrow-right\" />\n </button>\n</div>\n<div class=\"go-to\">\n @if (displayGoTo) {\n <span>{{ goToLabel }}</span>\n }\n @if (displayGoTo) {\n <input\n type=\"number\"\n [(ngModel)]=\"pageInput\" />\n }\n</div>\n", styles: ["ap-paginator{display:flex;align-items:center;gap:var(--ref-spacing-lg);width:100%;justify-content:space-between;--paginator-button-height: 36px}ap-paginator .item-index-overview{font-weight:var(--ref-font-weight-regular);font-size:var(--ref-font-size-sm);line-height:var(--ref-line-height-sm);color:var(--ref-color-grey-60);white-space:nowrap}ap-paginator .navigation-button{display:grid;place-content:center;height:var(--paginator-button-height);width:var(--paginator-button-height);min-height:var(--paginator-button-height);min-width:var(--paginator-button-height);max-height:var(--paginator-button-height);max-width:var(--paginator-button-height);border-radius:var(--ref-border-radius-sm);background:transparent;border:none}ap-paginator .navigation-button ap-symbol{color:var(--ref-color-electric-blue-100)}ap-paginator .navigation-button:disabled{pointer-events:none}ap-paginator .navigation-button:disabled ap-symbol{color:var(--ref-color-grey-40)}ap-paginator .navigation-button:not(:disabled){cursor:pointer}ap-paginator .navigation-button:hover:not(:disabled){background:var(--ref-color-electric-blue-10)}ap-paginator .navigation-button:active{background:var(--ref-color-electric-blue-20)}@media (hover: hover){ap-paginator .navigation-button:focus:not(.disabled):not(:active){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-paginator .pages{display:flex;justify-self:center;color:var(--ref-color-electric-blue-100);gap:var(--ref-spacing-xxxs)}ap-paginator .pages ap-paginator-button,ap-paginator .pages button.mat-flat-button{vertical-align:middle}ap-paginator .pages button.mat-flat-button:not(.mat-accent):not([disabled]){color:var(--ref-color-electric-blue-100)}ap-paginator .pages button.mat-flat-button:not(.mat-accent):not([disabled]):hover{background-color:var(--ref-color-electric-blue-10)}ap-paginator .pages .ellipsis{display:inline-block;width:var(--paginator-button-height);line-height:var(--paginator-button-height);text-align:center;vertical-align:bottom}ap-paginator .go-to{display:flex;align-items:center;gap:var(--ref-spacing-xs)}ap-paginator .go-to span{font-weight:var(--ref-font-weight-standard);font-size:var(--ref-font-size-sm);line-height:var(--ref-line-height-sm);color:var(--ref-color-grey-60)}ap-paginator .go-to input{box-sizing:border-box;background:var(--ref-color-white);width:48px;height:var(--paginator-button-height);border-radius:var(--ref-border-radius-sm);border:1px solid var(--ref-color-grey-20);padding:var(--ref-spacing-xs) var(--ref-spacing-sm)}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "component", type: PaginatorButtonComponent, selector: "ap-paginator-button", inputs: ["ariaLabel", "disabled", "pageIndex", "selectedPageIndex"], outputs: ["selectPage"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
92
92
|
}
|
|
93
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaginatorComponent, decorators: [{
|
|
94
94
|
type: Component,
|
|
95
|
-
args: [{ selector: 'ap-paginator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SymbolComponent, ButtonComponent, PaginatorButtonComponent, IconButtonComponent, ReactiveFormsModule, FormsModule], standalone: true, encapsulation: ViewEncapsulation.None, template: "<div class=\"item-index-overview\">\n {{ currentPageIndex * itemCountPerPage + 1 }}\n - {{ lastPageDisplayed ? itemCount : (currentPageIndex + 1) * itemCountPerPage }} of {{ itemCount }}\n</div>\n\n<div class=\"pages\">\n <button\n class=\"navigation-button\"\n ariaLabel=\"Select Previous Page button\"\n [disabled]=\"firstPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex - 1)\">\n <ap-symbol symbolId=\"
|
|
95
|
+
args: [{ selector: 'ap-paginator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SymbolComponent, ButtonComponent, PaginatorButtonComponent, IconButtonComponent, ReactiveFormsModule, FormsModule], standalone: true, encapsulation: ViewEncapsulation.None, template: "<div class=\"item-index-overview\">\n {{ currentPageIndex * itemCountPerPage + 1 }}\n - {{ lastPageDisplayed ? itemCount : (currentPageIndex + 1) * itemCountPerPage }} of {{ itemCount }}\n</div>\n\n<div class=\"pages\">\n <button\n class=\"navigation-button\"\n ariaLabel=\"Select Previous Page button\"\n [disabled]=\"firstPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex - 1)\">\n <ap-symbol size=\"sm\" symbolId=\"arrow-left\" />\n </button>\n @if (pageCount > edgeSize + 1) {\n @if (currentPageIndex >= edgeSize - 1) {\n @if (currentPageIndex <= pageCount - edgeSize) {\n <ap-paginator-button\n [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n <span class=\"ellipsis\">...</span>\n @for (dummy of [].constructor(middleSize); track dummy; let i = $index) {\n <ap-paginator-button\n [pageIndex]=\"currentPageIndex + i - (middleSize - 1) / 2\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n }\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button\n [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n } @else {\n <ap-paginator-button\n [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n <span class=\"ellipsis\">...</span>\n @for (dummy of [].constructor(edgeSize); track dummy; let i = $index) {\n <ap-paginator-button\n [pageIndex]=\"pageCount - edgeSize + i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n }\n }\n } @else {\n @for (dummy of [].constructor(edgeSize); track dummy; let i = $index) {\n <ap-paginator-button\n [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n }\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button\n [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n }\n } @else {\n @for (dummy of [].constructor(pageCount); track dummy; let i = $index) {\n <ap-paginator-button\n [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\" />\n }\n }\n <button\n class=\"navigation-button\"\n ariaLabel=\"Select Next Page button\"\n [disabled]=\"lastPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex + 1)\">\n <ap-symbol size=\"sm\" symbolId=\"arrow-right\" />\n </button>\n</div>\n<div class=\"go-to\">\n @if (displayGoTo) {\n <span>{{ goToLabel }}</span>\n }\n @if (displayGoTo) {\n <input\n type=\"number\"\n [(ngModel)]=\"pageInput\" />\n }\n</div>\n", styles: ["ap-paginator{display:flex;align-items:center;gap:var(--ref-spacing-lg);width:100%;justify-content:space-between;--paginator-button-height: 36px}ap-paginator .item-index-overview{font-weight:var(--ref-font-weight-regular);font-size:var(--ref-font-size-sm);line-height:var(--ref-line-height-sm);color:var(--ref-color-grey-60);white-space:nowrap}ap-paginator .navigation-button{display:grid;place-content:center;height:var(--paginator-button-height);width:var(--paginator-button-height);min-height:var(--paginator-button-height);min-width:var(--paginator-button-height);max-height:var(--paginator-button-height);max-width:var(--paginator-button-height);border-radius:var(--ref-border-radius-sm);background:transparent;border:none}ap-paginator .navigation-button ap-symbol{color:var(--ref-color-electric-blue-100)}ap-paginator .navigation-button:disabled{pointer-events:none}ap-paginator .navigation-button:disabled ap-symbol{color:var(--ref-color-grey-40)}ap-paginator .navigation-button:not(:disabled){cursor:pointer}ap-paginator .navigation-button:hover:not(:disabled){background:var(--ref-color-electric-blue-10)}ap-paginator .navigation-button:active{background:var(--ref-color-electric-blue-20)}@media (hover: hover){ap-paginator .navigation-button:focus:not(.disabled):not(:active){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:1px}}ap-paginator .pages{display:flex;justify-self:center;color:var(--ref-color-electric-blue-100);gap:var(--ref-spacing-xxxs)}ap-paginator .pages ap-paginator-button,ap-paginator .pages button.mat-flat-button{vertical-align:middle}ap-paginator .pages button.mat-flat-button:not(.mat-accent):not([disabled]){color:var(--ref-color-electric-blue-100)}ap-paginator .pages button.mat-flat-button:not(.mat-accent):not([disabled]):hover{background-color:var(--ref-color-electric-blue-10)}ap-paginator .pages .ellipsis{display:inline-block;width:var(--paginator-button-height);line-height:var(--paginator-button-height);text-align:center;vertical-align:bottom}ap-paginator .go-to{display:flex;align-items:center;gap:var(--ref-spacing-xs)}ap-paginator .go-to span{font-weight:var(--ref-font-weight-standard);font-size:var(--ref-font-size-sm);line-height:var(--ref-line-height-sm);color:var(--ref-color-grey-60)}ap-paginator .go-to input{box-sizing:border-box;background:var(--ref-color-white);width:48px;height:var(--paginator-button-height);border-radius:var(--ref-border-radius-sm);border:1px solid var(--ref-color-grey-20);padding:var(--ref-spacing-xs) var(--ref-spacing-sm)}\n"] }]
|
|
96
96
|
}], ctorParameters: () => [{ type: i1.SymbolRegistry }], propDecorators: { currentPageIndex: [{
|
|
97
97
|
type: Input
|
|
98
98
|
}], displayGoTo: [{
|
|
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
113
113
|
type: HostListener,
|
|
114
114
|
args: ['keydown.enter']
|
|
115
115
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL3BhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcGFnaW5hdG9yL3NyYy9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQWtCLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7OztBQVd6RixNQUFNLE9BQU8sa0JBQWtCO0lBMERSO0lBekRWLG1CQUFtQixHQUFHLENBQUMsQ0FBQztJQUN4QixrQkFBa0IsR0FBRyxDQUFDLENBQUM7SUFDdkIsMkJBQTJCLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLDBCQUEwQixHQUFHLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFFL0IsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIs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Q0FBQyxDQUFDO0lBQ2hELENBQUM7dUdBcEdRLGtCQUFrQjsyRkFBbEIsa0JBQWtCLGdhQ2xCL0IsbTlHQW9GQSx1aEZEdEVjLGVBQWUsNkZBQW1CLHdCQUF3Qiw2SkFBdUIsbUJBQW1CLHdqQkFBRSxXQUFXOzsyRkFJbEgsa0JBQWtCO2tCQVQ5QixTQUFTOytCQUNJLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxDQUFDLGNBQ2hILElBQUksaUJBQ0QsaUJBQWlCLENBQUMsSUFBSTttRkFTeEIsZ0JBQWdCO3NCQUE1QixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBT08sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQVNPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBWUksc0JBQXNCO3NCQUEvQixNQUFNO2dCQTRDUCxxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEljb25CdXR0b25Db21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2ljb24tYnV0dG9uJztcbmltcG9ydCB7IFN5bWJvbENvbXBvbmVudCwgU3ltYm9sUmVnaXN0cnksIGFwQ2hldnJvbkxlZnQsIGFwQ2hldnJvblJpZ2h0IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sJztcblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQYWdpbmF0b3JCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3BhZ2luYXRvci1idXR0b24vcGFnaW5hdG9yLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLXBhZ2luYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1N5bWJvbENvbXBvbmVudCwgQnV0dG9uQ29tcG9uZW50LCBQYWdpbmF0b3JCdXR0b25Db21wb25lbnQsIEljb25CdXR0b25Db21wb25lbnQsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcmVhZG9ubHkgREVGQVVMVF9NSURETEVfU0laRSA9IDM7XG4gICAgcmVhZG9ubHkgREVGQVVMVF9JVEVNX0NPVU5UID0gMDtcbiAgICByZWFkb25seSBERUZBVUxUX0lURU1fQ09VTlRfUEVSX1BBR0UgPSAxMDtcbiAgICByZWFkb25seSBERUZBVUxUX0NVUlJFTlRfUEFHRV9JTkRFWCA9IDA7XG4gICAgcmVhZG9ubHkgREVGQVVMVF9FREdFX1NJWkUgPSA1O1xuXG4gICAgQElucHV0KCkgc2V0IGN1cnJlbnRQYWdlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9jdXJyZW50UGFnZUluZGV4Lm5leHQodmFsdWUgPz8gdGhpcy5ERUZBVUxUX0NVUlJFTlRfUEFHRV9JTkRFWCk7XG4gICAgfVxuXG4gICAgZ2V0IGN1cnJlbnRQYWdlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRQYWdlSW5kZXguZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBkaXNwbGF5R29UbyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGVkZ2VTaXplOiBudW1iZXIgPSB0aGlzLkRFRkFVTFRfRURHRV9TSVpFO1xuICAgIEBJbnB1dCgpIGdvVG9MYWJlbDogc3RyaW5nID0gJ0dvIHRvJztcbiAgICBASW5wdXQoKSBzZXQgaXRlbUNvdW50KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5faXRlbUNvdW50Lm5leHQodmFsdWUgPz8gdGhpcy5ERUZBVUxUX0lURU1fQ09VTlQpO1xuICAgIH1cblxuICAgIGdldCBpdGVtQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1Db3VudC5nZXRWYWx1ZSgpO1xuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgaXRlbUNvdW50UGVyUGFnZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1Db3VudFBlclBhZ2UubmV4dCh2YWx1ZSA/PyB0aGlzLkRFRkFVTFRfSVRFTV9DT1VOVF9QRVJfUEFHRSk7XG4gICAgfVxuXG4gICAgZ2V0IGl0ZW1Db3VudFBlclBhZ2UoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1Db3VudFBlclBhZ2UuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9taWRkbGVTaXplITogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHNldCBtaWRkbGVTaXplKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgLy8gbWFrZSBzdXJlIG1pZGRsZSBzaXplIGlzIGFuIG9kZCBudW1iZXJcbiAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICUgMiA9PT0gMCkge1xuICAgICAgICAgICAgdmFsdWUrKztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9taWRkbGVTaXplID0gdmFsdWUgPz8gdGhpcy5ERUZBVUxUX01JRERMRV9TSVpFO1xuICAgIH1cblxuICAgIGdldCBtaWRkbGVTaXplKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9taWRkbGVTaXplO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSBjdXJyZW50UGFnZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBwYWdlSW5wdXQ6IHN0cmluZyA9ICcnO1xuICAgIHBhZ2VDb3VudCA9IDA7XG4gICAgZmlyc3RQYWdlRGlzcGxheWVkID0gdHJ1ZTtcbiAgICBsYXN0UGFnZURpc3BsYXllZCA9IHRydWU7XG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIF9pdGVtQ291bnQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHRoaXMuREVGQVVMVF9JVEVNX0NPVU5UKTtcbiAgICBwcml2YXRlIF9pdGVtQ291bnRQZXJQYWdlOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPih0aGlzLkRFRkFVTFRfSVRFTV9DT1VOVF9QRVJfUEFHRSk7XG4gICAgcHJpdmF0ZSBfY3VycmVudFBhZ2VJbmRleDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4odGhpcy5ERUZBVUxUX0NVUlJFTlRfUEFHRV9JTkRFWCk7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgc3ltYm9sUmVnaXN0cnk6IFN5bWJvbFJlZ2lzdHJ5KSB7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFthcENoZXZyb25MZWZ0LCBhcENoZXZyb25SaWdodF0pO1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9pdGVtQ291bnQsIHRoaXMuX2l0ZW1Db3VudFBlclBhZ2UsIHRoaXMuX2N1cnJlbnRQYWdlSW5kZXhdKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwcmV2aW91c0l0ZW1Db3VudCwgcHJldmlvdXNJdGVtQ291bnRQZXJQYWdlLCBwcmV2aW91c0N1cnJlbnRQYWdlSW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1Db3VudCwgaXRlbUNvdW50UGVyUGFnZSwgY3VycmVudFBhZ2VJbmRleF1cbiAgICAgICAgICAgICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzSXRlbUNvdW50ID09PSBpdGVtQ291bnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0l0ZW1Db3VudFBlclBhZ2UgPT09IGl0ZW1Db3VudFBlclBhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0N1cnJlbnRQYWdlSW5kZXggPT09IGN1cnJlbnRQYWdlSW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW2l0ZW1Db3VudCwgaXRlbUNvdW50UGVyUGFnZSwgY3VycmVudFBhZ2VJbmRleF0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VDb3VudCA9IE1hdGguY2VpbChpdGVtQ291bnQgLyBpdGVtQ291bnRQZXJQYWdlKTtcbiAgICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgcGFnZSBpbmRleCBpcyBiZXR3ZWVuIG1pbiBhbmQgbWF4IHBhZ2UgaW5kZXhcbiAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFnZUluZGV4Lm5leHQoTWF0aC5tYXgoMCwgTWF0aC5taW4odGhpcy5wYWdlQ291bnQgLSAxLCBjdXJyZW50UGFnZUluZGV4KSkpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlyc3RQYWdlRGlzcGxheWVkID0gdGhpcy5jdXJyZW50UGFnZUluZGV4ID09PSAwO1xuICAgICAgICAgICAgICAgIHRoaXMubGFzdFBhZ2VEaXNwbGF5ZWQgPSB0aGlzLmN1cnJlbnRQYWdlSW5kZXggPT09IHRoaXMucGFnZUNvdW50IC0gMTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJylcbiAgICBvbkVudGVyS2V5ZG93blByZXNzZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLnBhZ2VJbnB1dCAmJiAhaXNOYU4oK3RoaXMucGFnZUlucHV0KSAmJiArdGhpcy5wYWdlSW5wdXQgPiAwICYmICt0aGlzLnBhZ2VJbnB1dCA8PSB0aGlzLnBhZ2VDb3VudCkge1xuICAgICAgICAgICAgdGhpcy5vblNlbGVjdFBhZ2UoK3RoaXMucGFnZUlucHV0IC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wYWdlSW5wdXQgPSAnJztcbiAgICB9XG5cbiAgICBvblNlbGVjdFBhZ2UocGFnZUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFBhZ2VJbmRleC5uZXh0KHBhZ2VJbmRleCk7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2VJbmRleENoYW5nZS5lbWl0KHBhZ2VJbmRleCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIml0ZW0taW5kZXgtb3ZlcnZpZXdcIj5cbiAgICB7eyBjdXJyZW50UGFnZUluZGV4ICogaXRlbUNvdW50UGVyUGFnZSArIDEgfX1cbiAgICAtIHt7IGxhc3RQYWdlRGlzcGxheWVkID8gaXRlbUNvdW50IDogKGN1cnJlbnRQYWdlSW5kZXggKyAxKSAqIGl0ZW1Db3VudFBlclBhZ2UgfX0gb2Yge3sgaXRlbUNvdW50IH19XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInBhZ2VzXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cIm5hdmlnYXRpb24tYnV0dG9uXCJcbiAgICAgICAgYXJpYUxhYmVsPVwiU2VsZWN0IFByZXZpb3VzIFBhZ2UgYnV0dG9uXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZpcnN0UGFnZURpc3BsYXllZFwiXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdFBhZ2UoY3VycmVudFBhZ2VJbmRleCAtIDEpXCI+XG4gICAgICAgIDxhcC1zeW1ib2wgc3ltYm9sSWQ9XCJjaGV2cm9uLWxlZnRcIiAvPlxuICAgIDwvYnV0dG9uPlxuICAgIEBpZiAocGFnZUNvdW50ID4gZWRnZVNpemUgKyAxKSB7XG4gICAgICAgIEBpZiAoY3VycmVudFBhZ2VJbmRleCA+PSBlZGdlU2l6ZSAtIDEpIHtcbiAgICAgICAgICAgIEBpZiAoY3VycmVudFBhZ2VJbmRleCA8PSBwYWdlQ291bnQgLSBlZGdlU2l6ZSkge1xuICAgICAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFBhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj4uLi48L3NwYW4+XG4gICAgICAgICAgICAgICAgQGZvciAoZHVtbXkgb2YgW10uY29uc3RydWN0b3IobWlkZGxlU2l6ZSk7IHRyYWNrIGR1bW15OyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8YXAtcGFnaW5hdG9yLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4ICsgaSAtIChtaWRkbGVTaXplIC0gMSkgLyAyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFBhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RQYWdlKT1cIm9uU2VsZWN0UGFnZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiPi4uLjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8YXAtcGFnaW5hdG9yLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbcGFnZUluZGV4XT1cInBhZ2VDb3VudCAtIDFcIlxuICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3RQYWdlKT1cIm9uU2VsZWN0UGFnZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFBhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj4uLi48L3NwYW4+XG4gICAgICAgICAgICAgICAgQGZvciAoZHVtbXkgb2YgW10uY29uc3RydWN0b3IoZWRnZVNpemUpOyB0cmFjayBkdW1teTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFwLXBhZ2luYXRvci1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPVwicGFnZUNvdW50IC0gZWRnZVNpemUgKyBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFBhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RQYWdlKT1cIm9uU2VsZWN0UGFnZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGZvciAoZHVtbXkgb2YgW10uY29uc3RydWN0b3IoZWRnZVNpemUpOyB0cmFjayBkdW1teTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8YXAtcGFnaW5hdG9yLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbcGFnZUluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3RQYWdlKT1cIm9uU2VsZWN0UGFnZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj4uLi48L3NwYW4+XG4gICAgICAgICAgICA8YXAtcGFnaW5hdG9yLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPVwicGFnZUNvdW50IC0gMVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkUGFnZUluZGV4XT1cImN1cnJlbnRQYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RQYWdlKT1cIm9uU2VsZWN0UGFnZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZm9yIChkdW1teSBvZiBbXS5jb25zdHJ1Y3RvcihwYWdlQ291bnQpOyB0cmFjayBkdW1teTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uXG4gICAgICAgICAgICAgICAgW3BhZ2VJbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIiAvPlxuICAgICAgICB9XG4gICAgfVxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJuYXZpZ2F0aW9uLWJ1dHRvblwiXG4gICAgICAgIGFyaWFMYWJlbD1cIlNlbGVjdCBOZXh0IFBhZ2UgYnV0dG9uXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImxhc3RQYWdlRGlzcGxheWVkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0UGFnZShjdXJyZW50UGFnZUluZGV4ICsgMSlcIj5cbiAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cImNoZXZyb24tcmlnaHRcIiAvPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZ28tdG9cIj5cbiAgICBAaWYgKGRpc3BsYXlHb1RvKSB7XG4gICAgICAgIDxzcGFuPnt7IGdvVG9MYWJlbCB9fTwvc3Bhbj5cbiAgICB9XG4gICAgQGlmIChkaXNwbGF5R29Ubykge1xuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwYWdlSW5wdXRcIiAvPlxuICAgIH1cbjwvZGl2PlxuIl19
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL3BhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcGFnaW5hdG9yL3NyYy9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQWtCLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7OztBQVd6RixNQUFNLE9BQU8sa0JBQWtCO0lBMERSO0lBekRWLG1CQUFtQixHQUFHLENBQUMsQ0FBQztJQUN4QixrQkFBa0IsR0FBRyxDQUFDLENBQUM7SUFDdkIsMkJBQTJCLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLDBCQUEwQixHQUFHLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFFL0IsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRVEsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNwQixRQUFRLEdBQVcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQzFDLFNBQVMsR0FBVyxPQUFPLENBQUM7SUFDckMsSUFBYSxTQUFTLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU8sV0FBVyxDQUFVO0lBQzdCLElBQWEsVUFBVSxDQUFDLEtBQWE7UUFDakMseUNBQXlDO1FBQ3pDLElBQUksS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0IsS0FBSyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVTLHNCQUFzQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFOUQsU0FBUyxHQUFXLEVBQUUsQ0FBQztJQUN2QixTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2Qsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBQzFCLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNqQixRQUFRLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7SUFFOUMsVUFBVSxHQUE0QixJQUFJLGVBQWUsQ0FBUyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzRixpQkFBaUIsR0FBNEIsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDM0csaUJBQWlCLEdBQTRCLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBRWxILFlBQW1CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQzNFLElBQUksQ0FDRCxvQkFBb0IsQ0FDaEIsQ0FDSSxDQUFDLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixDQUFDLEVBQ3ZFLENBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLEVBQ2pELEVBQUU7WUFDQSxPQUFPLENBQ0gsaUJBQWlCLEtBQUssU0FBUztnQkFDL0Isd0JBQXdCLEtBQUssZ0JBQWdCO2dCQUM3Qyx3QkFBd0IsS0FBSyxnQkFBZ0IsQ0FDaEQsQ0FBQztRQUNOLENBQUMsQ0FDSixFQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQzNCO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxFQUFFO1lBQzNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztZQUN6RCx5REFBeUQ7WUFDekQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBR0QscUJBQXFCO1FBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDeEcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBaUI7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7dUdBcEdRLGtCQUFrQjsyRkFBbEIsa0JBQWtCLGdhQ2xCL0IsdStHQW9GQSx1aEZEdEVjLGVBQWUsNkZBQW1CLHdCQUF3Qiw2SkFBdUIsbUJBQW1CLHdqQkFBRSxXQUFXOzsyRkFJbEgsa0JBQWtCO2tCQVQ5QixTQUFTOytCQUNJLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxDQUFDLGNBQ2hILElBQUksaUJBQ0QsaUJBQWlCLENBQUMsSUFBSTttRkFTeEIsZ0JBQWdCO3NCQUE1QixLQUFLO2dCQVFHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBT08sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQVNPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBWUksc0JBQXNCO3NCQUEvQixNQUFNO2dCQTRDUCxxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLWNvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEljb25CdXR0b25Db21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2ljb24tYnV0dG9uJztcbmltcG9ydCB7IFN5bWJvbENvbXBvbmVudCwgU3ltYm9sUmVnaXN0cnksIGFwQXJyb3dMZWZ0LCBhcEFycm93UmlnaHQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBhZ2luYXRvckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdG9yLWJ1dHRvbi9wYWdpbmF0b3ItYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtcGFnaW5hdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbU3ltYm9sQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnQsIFBhZ2luYXRvckJ1dHRvbkNvbXBvbmVudCwgSWNvbkJ1dHRvbkNvbXBvbmVudCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICByZWFkb25seSBERUZBVUxUX01JRERMRV9TSVpFID0gMztcbiAgICByZWFkb25seSBERUZBVUxUX0lURU1fQ09VTlQgPSAwO1xuICAgIHJlYWRvbmx5IERFRkFVTFRfSVRFTV9DT1VOVF9QRVJfUEFHRSA9IDEwO1xuICAgIHJlYWRvbmx5IERFRkFVTFRfQ1VSUkVOVF9QQUdFX0lOREVYID0gMDtcbiAgICByZWFkb25seSBERUZBVUxUX0VER0VfU0laRSA9IDU7XG5cbiAgICBASW5wdXQoKSBzZXQgY3VycmVudFBhZ2VJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRQYWdlSW5kZXgubmV4dCh2YWx1ZSA/PyB0aGlzLkRFRkFVTFRfQ1VSUkVOVF9QQUdFX0lOREVYKTtcbiAgICB9XG5cbiAgICBnZXQgY3VycmVudFBhZ2VJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3VycmVudFBhZ2VJbmRleC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGRpc3BsYXlHb1RvID0gZmFsc2U7XG4gICAgQElucHV0KCkgZWRnZVNpemU6IG51bWJlciA9IHRoaXMuREVGQVVMVF9FREdFX1NJWkU7XG4gICAgQElucHV0KCkgZ29Ub0xhYmVsOiBzdHJpbmcgPSAnR28gdG8nO1xuICAgIEBJbnB1dCgpIHNldCBpdGVtQ291bnQodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9pdGVtQ291bnQubmV4dCh2YWx1ZSA/PyB0aGlzLkRFRkFVTFRfSVRFTV9DT1VOVCk7XG4gICAgfVxuXG4gICAgZ2V0IGl0ZW1Db3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbUNvdW50LmdldFZhbHVlKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBpdGVtQ291bnRQZXJQYWdlKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5faXRlbUNvdW50UGVyUGFnZS5uZXh0KHZhbHVlID8/IHRoaXMuREVGQVVMVF9JVEVNX0NPVU5UX1BFUl9QQUdFKTtcbiAgICB9XG5cbiAgICBnZXQgaXRlbUNvdW50UGVyUGFnZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbUNvdW50UGVyUGFnZS5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX21pZGRsZVNpemUhOiBudW1iZXI7XG4gICAgQElucHV0KCkgc2V0IG1pZGRsZVNpemUodmFsdWU6IG51bWJlcikge1xuICAgICAgICAvLyBtYWtlIHN1cmUgbWlkZGxlIHNpemUgaXMgYW4gb2RkIG51bWJlclxuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUgJSAyID09PSAwKSB7XG4gICAgICAgICAgICB2YWx1ZSsrO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX21pZGRsZVNpemUgPSB2YWx1ZSA/PyB0aGlzLkRFRkFVTFRfTUlERExFX1NJWkU7XG4gICAgfVxuXG4gICAgZ2V0IG1pZGRsZVNpemUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21pZGRsZVNpemU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIGN1cnJlbnRQYWdlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIHBhZ2VJbnB1dDogc3RyaW5nID0gJyc7XG4gICAgcGFnZUNvdW50ID0gMDtcbiAgICBmaXJzdFBhZ2VEaXNwbGF5ZWQgPSB0cnVlO1xuICAgIGxhc3RQYWdlRGlzcGxheWVkID0gdHJ1ZTtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgX2l0ZW1Db3VudDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4odGhpcy5ERUZBVUxUX0lURU1fQ09VTlQpO1xuICAgIHByaXZhdGUgX2l0ZW1Db3VudFBlclBhZ2U6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHRoaXMuREVGQVVMVF9JVEVNX0NPVU5UX1BFUl9QQUdFKTtcbiAgICBwcml2YXRlIF9jdXJyZW50UGFnZUluZGV4OiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPih0aGlzLkRFRkFVTFRfQ1VSUkVOVF9QQUdFX0lOREVYKTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzeW1ib2xSZWdpc3RyeTogU3ltYm9sUmVnaXN0cnkpIHtcbiAgICAgICAgdGhpcy5zeW1ib2xSZWdpc3RyeS5yZWdpc3RlclN5bWJvbHMoW2FwQXJyb3dMZWZ0LCBhcEFycm93UmlnaHRdKTtcbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5faXRlbUNvdW50LCB0aGlzLl9pdGVtQ291bnRQZXJQYWdlLCB0aGlzLl9jdXJyZW50UGFnZUluZGV4XSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKFxuICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICBbcHJldmlvdXNJdGVtQ291bnQsIHByZXZpb3VzSXRlbUNvdW50UGVyUGFnZSwgcHJldmlvdXNDdXJyZW50UGFnZUluZGV4XSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtQ291bnQsIGl0ZW1Db3VudFBlclBhZ2UsIGN1cnJlbnRQYWdlSW5kZXhdXG4gICAgICAgICAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0l0ZW1Db3VudCA9PT0gaXRlbUNvdW50ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNJdGVtQ291bnRQZXJQYWdlID09PSBpdGVtQ291bnRQZXJQYWdlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNDdXJyZW50UGFnZUluZGV4ID09PSBjdXJyZW50UGFnZUluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtpdGVtQ291bnQsIGl0ZW1Db3VudFBlclBhZ2UsIGN1cnJlbnRQYWdlSW5kZXhdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlQ291bnQgPSBNYXRoLmNlaWwoaXRlbUNvdW50IC8gaXRlbUNvdW50UGVyUGFnZSk7XG4gICAgICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHBhZ2UgaW5kZXggaXMgYmV0d2VlbiBtaW4gYW5kIG1heCBwYWdlIGluZGV4XG4gICAgICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhZ2VJbmRleC5uZXh0KE1hdGgubWF4KDAsIE1hdGgubWluKHRoaXMucGFnZUNvdW50IC0gMSwgY3VycmVudFBhZ2VJbmRleCkpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpcnN0UGFnZURpc3BsYXllZCA9IHRoaXMuY3VycmVudFBhZ2VJbmRleCA9PT0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RQYWdlRGlzcGxheWVkID0gdGhpcy5jdXJyZW50UGFnZUluZGV4ID09PSB0aGlzLnBhZ2VDb3VudCAtIDE7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicpXG4gICAgb25FbnRlcktleWRvd25QcmVzc2VkKCkge1xuICAgICAgICBpZiAodGhpcy5wYWdlSW5wdXQgJiYgIWlzTmFOKCt0aGlzLnBhZ2VJbnB1dCkgJiYgK3RoaXMucGFnZUlucHV0ID4gMCAmJiArdGhpcy5wYWdlSW5wdXQgPD0gdGhpcy5wYWdlQ291bnQpIHtcbiAgICAgICAgICAgIHRoaXMub25TZWxlY3RQYWdlKCt0aGlzLnBhZ2VJbnB1dCAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGFnZUlucHV0ID0gJyc7XG4gICAgfVxuXG4gICAgb25TZWxlY3RQYWdlKHBhZ2VJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRQYWdlSW5kZXgubmV4dChwYWdlSW5kZXgpO1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlSW5kZXhDaGFuZ2UuZW1pdChwYWdlSW5kZXgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpdGVtLWluZGV4LW92ZXJ2aWV3XCI+XG4gICAge3sgY3VycmVudFBhZ2VJbmRleCAqIGl0ZW1Db3VudFBlclBhZ2UgKyAxIH19XG4gICAgLSB7eyBsYXN0UGFnZURpc3BsYXllZCA/IGl0ZW1Db3VudCA6IChjdXJyZW50UGFnZUluZGV4ICsgMSkgKiBpdGVtQ291bnRQZXJQYWdlIH19IG9mIHt7IGl0ZW1Db3VudCB9fVxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJwYWdlc1wiPlxuICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJuYXZpZ2F0aW9uLWJ1dHRvblwiXG4gICAgICAgIGFyaWFMYWJlbD1cIlNlbGVjdCBQcmV2aW91cyBQYWdlIGJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJmaXJzdFBhZ2VEaXNwbGF5ZWRcIlxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RQYWdlKGN1cnJlbnRQYWdlSW5kZXggLSAxKVwiPlxuICAgICAgICA8YXAtc3ltYm9sIHNpemU9XCJzbVwiIHN5bWJvbElkPVwiYXJyb3ctbGVmdFwiIC8+XG4gICAgPC9idXR0b24+XG4gICAgQGlmIChwYWdlQ291bnQgPiBlZGdlU2l6ZSArIDEpIHtcbiAgICAgICAgQGlmIChjdXJyZW50UGFnZUluZGV4ID49IGVkZ2VTaXplIC0gMSkge1xuICAgICAgICAgICAgQGlmIChjdXJyZW50UGFnZUluZGV4IDw9IHBhZ2VDb3VudCAtIGVkZ2VTaXplKSB7XG4gICAgICAgICAgICAgICAgPGFwLXBhZ2luYXRvci1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW3BhZ2VJbmRleF09XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkUGFnZUluZGV4XT1cImN1cnJlbnRQYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0UGFnZSk9XCJvblNlbGVjdFBhZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiPi4uLjwvc3Bhbj5cbiAgICAgICAgICAgICAgICBAZm9yIChkdW1teSBvZiBbXS5jb25zdHJ1Y3RvcihtaWRkbGVTaXplKTsgdHJhY2sgZHVtbXk7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGFnZUluZGV4XT1cImN1cnJlbnRQYWdlSW5kZXggKyBpIC0gKG1pZGRsZVNpemUgLSAxKSAvIDJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkUGFnZUluZGV4XT1cImN1cnJlbnRQYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVsbGlwc2lzXCI+Li4uPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPVwicGFnZUNvdW50IC0gMVwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFBhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGFwLXBhZ2luYXRvci1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW3BhZ2VJbmRleF09XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkUGFnZUluZGV4XT1cImN1cnJlbnRQYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAoc2VsZWN0UGFnZSk9XCJvblNlbGVjdFBhZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiPi4uLjwvc3Bhbj5cbiAgICAgICAgICAgICAgICBAZm9yIChkdW1teSBvZiBbXS5jb25zdHJ1Y3RvcihlZGdlU2l6ZSk7IHRyYWNrIGR1bW15OyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8YXAtcGFnaW5hdG9yLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VJbmRleF09XCJwYWdlQ291bnQgLSBlZGdlU2l6ZSArIGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkUGFnZUluZGV4XT1cImN1cnJlbnRQYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZm9yIChkdW1teSBvZiBbXS5jb25zdHJ1Y3RvcihlZGdlU2l6ZSk7IHRyYWNrIGR1bW15OyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFBhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiPi4uLjwvc3Bhbj5cbiAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uXG4gICAgICAgICAgICAgICAgW3BhZ2VJbmRleF09XCJwYWdlQ291bnQgLSAxXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIiAvPlxuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBmb3IgKGR1bW15IG9mIFtdLmNvbnN0cnVjdG9yKHBhZ2VDb3VudCk7IHRyYWNrIGR1bW15OyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgPGFwLXBhZ2luYXRvci1idXR0b25cbiAgICAgICAgICAgICAgICBbcGFnZUluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZFBhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0UGFnZSk9XCJvblNlbGVjdFBhZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgIH1cbiAgICB9XG4gICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cIm5hdmlnYXRpb24tYnV0dG9uXCJcbiAgICAgICAgYXJpYUxhYmVsPVwiU2VsZWN0IE5leHQgUGFnZSBidXR0b25cIlxuICAgICAgICBbZGlzYWJsZWRdPVwibGFzdFBhZ2VEaXNwbGF5ZWRcIlxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RQYWdlKGN1cnJlbnRQYWdlSW5kZXggKyAxKVwiPlxuICAgICAgICA8YXAtc3ltYm9sIHNpemU9XCJzbVwiIHN5bWJvbElkPVwiYXJyb3ctcmlnaHRcIiAvPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZ28tdG9cIj5cbiAgICBAaWYgKGRpc3BsYXlHb1RvKSB7XG4gICAgICAgIDxzcGFuPnt7IGdvVG9MYWJlbCB9fTwvc3Bhbj5cbiAgICB9XG4gICAgQGlmIChkaXNwbGF5R29Ubykge1xuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwYWdlSW5wdXRcIiAvPlxuICAgIH1cbjwvZGl2PlxuIl19
|