@sarasanalytics-com/design-system 0.0.143 → 0.0.145
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/dialog/dialog.component.mjs +19 -2
- package/esm2022/lib/form-select/form-select.component.mjs +90 -54
- package/esm2022/lib/message-banner-v2/message-banner-v2.component.mjs +201 -135
- package/esm2022/utils/validators.mjs +51 -2
- package/fesm2022/sarasanalytics-com-design-system.mjs +356 -188
- package/fesm2022/sarasanalytics-com-design-system.mjs.map +1 -1
- package/lib/dialog/dialog.component.d.ts +1 -0
- package/lib/form-select/form-select.component.d.ts +7 -1
- package/lib/message-banner-v2/message-banner-v2.component.d.ts +12 -8
- package/package.json +1 -1
- package/utils/validators.d.ts +1 -0
|
@@ -51,7 +51,16 @@ export class DialogComponent {
|
|
|
51
51
|
case 'form-input-change':
|
|
52
52
|
this.onFormInputChange(event.data);
|
|
53
53
|
break;
|
|
54
|
+
case 'form-model-change':
|
|
55
|
+
// Store the form model for external access
|
|
56
|
+
this.formValues = { ...this.formValues, ...event.data };
|
|
57
|
+
this.dialogButtonClick.emit({ event: event.data, type: 'form-model-change' });
|
|
58
|
+
break;
|
|
54
59
|
case 'custom-button-click':
|
|
60
|
+
// Store form model data if provided
|
|
61
|
+
if (event.data?.formModel) {
|
|
62
|
+
this.formValues = { ...this.formValues, ...event.data.formModel };
|
|
63
|
+
}
|
|
55
64
|
this.onButtonClick(event.data);
|
|
56
65
|
break;
|
|
57
66
|
case 'chip-remove':
|
|
@@ -72,8 +81,16 @@ export class DialogComponent {
|
|
|
72
81
|
onRemoveUser(chip) {
|
|
73
82
|
this.dialogButtonClick.emit({ event: chip, type: 'chip-remove' });
|
|
74
83
|
}
|
|
84
|
+
// Method to reset the form through message-banner-v2 component
|
|
85
|
+
resetForm() {
|
|
86
|
+
// Emit form reset event to message-banner-v2
|
|
87
|
+
this.formValues = {};
|
|
88
|
+
// The message-banner-v2 component will handle the actual form reset
|
|
89
|
+
// when it receives this event
|
|
90
|
+
this.dialogButtonClick.emit({ type: 'form-reset' });
|
|
91
|
+
}
|
|
75
92
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DialogComponent, deps: [{ token: i1.MatDialogRef, optional: true }, { token: MAT_DIALOG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: DialogComponent, isStandalone: true, selector: "sa-dialog", inputs: { dialogData: "dialogData" }, outputs: { dialogButtonClick: "dialogButtonClick" }, ngImport: i0, template: "<div class=\"dialog-container\">\r\n <!-- top banner region -->\r\n <div class=\"top-container\">\r\n @if (!!dialogData?.topMessageBanners) {\r\n <div class=\"top-message-container\">\r\n @for (\r\n messageBanner of dialogData?.topMessageBanners;\r\n track messageBanner.content\r\n ) {\r\n <sa-message-banner\r\n [type]=\"messageBanner?.type\"\r\n [bannerIcon]=\"messageBanner?.bannerIcon\"\r\n [bannerIconSize]=\"messageBanner?.bannerIconSize || '24'\"\r\n [button]=\"messageBanner?.button\"\r\n (actionClick)=\"onButtonClick(messageBanner?.button, $event)\"\r\n [style]=\"messageBanner?.style || 'width:39.438rem'\"\r\n >\r\n <div class=\"{{ messageBanner?.className }} message-content-style\">\r\n {{ messageBanner?.content }}\r\n </div>\r\n </sa-message-banner>\r\n }\r\n </div>\r\n }\r\n @if (!!dialogData?.closeButton || dialogData?.showCloseButton) {\r\n <div class=\"cross-btn\" (click)=\"onCloseButtonClick($event)\">\r\n <sa-icon\r\n [icon]=\"dialogData?.closeButton || 'closeOutlined'\"\r\n class=\"d-flex\"\r\n size=\"20\"\r\n ></sa-icon>\r\n </div>\r\n }\r\n </div>\r\n <!-- middle region -->\r\n @if (!!dialogData?.middleRegion) {\r\n <ng-container *ngIf=\"dialogData?.middleRegion as middleRegion\">\r\n <div class=\"image-description-container {{ middleRegion?.className }}\">\r\n <sa-message-banner-v2\r\n [messageType]=\"middleRegion?.messageType || 'default'\"\r\n [messageIcon]=\"middleRegion?.messageIcon\"\r\n [messageIconSize]=\"middleRegion?.messageIconSize\"\r\n [title]=\"middleRegion?.title\"\r\n [description]=\"middleRegion?.description\"\r\n [buttons]=\"middleRegion?.buttons\"\r\n [formConfig]=\"middleRegion?.content?.formConfig\"\r\n (onFormEvent)=\"onUnifiedFormEvent($event)\"\r\n (buttonClick)=\"middleRegion?.buttons ? onButtonClick($event) : ''\"\r\n >\r\n </sa-message-banner-v2>\r\n </div>\r\n </ng-container>\r\n }\r\n <!-- lower message banner region -->\r\n @if (!!dialogData?.lowerMessageBanners) {\r\n <div class=\"lower-message-container\">\r\n @for (\r\n messageBanner of dialogData?.lowerMessageBanners;\r\n track messageBanner.content\r\n ) {\r\n <sa-message-banner\r\n [type]=\"messageBanner?.type\"\r\n [bannerIcon]=\"messageBanner?.bannerIcon\"\r\n [buttonIcon]=\"messageBanner?.buttonIcon\"\r\n [bannerIconSize]=\"messageBanner?.bannerIconSize || '24'\"\r\n [button]=\"messageBanner?.button\"\r\n [style]=\"messageBanner?.style || 'width:-webkit-fill-available'\"\r\n (actionClick)=\"onButtonClick(messageBanner?.button, $event)\"\r\n >\r\n <div\r\n class=\"{{ messageBanner?.className }} message-content-style\"\r\n ></div>\r\n {{ messageBanner?.content }}\r\n </sa-message-banner>\r\n }\r\n </div>\r\n }\r\n <!-- button region -->\r\n @if (!!dialogData?.buttons) {\r\n <div class=\"button-group-container\">\r\n @for (button of dialogData?.buttons; track button.text) {\r\n <sa-button\r\n [text]=\"button.text\"\r\n [icon]=\"button.icon\"\r\n [size]=\"button.size\"\r\n [type]=\"button.type\"\r\n [state]=\"button.state\"\r\n [iconPosition]=\"button.iconPosition\"\r\n [buttonIconSize]=\"button.buttonIconSize\"\r\n (onClickEvent)=\"onButtonClick(button, $event)\"\r\n role=\"button\"\r\n [attr.aria-label]=\"button.text\"\r\n >\r\n </sa-button>\r\n }\r\n </div>\r\n }\r\n @if (!!dialogData?.buttonsWithType) {\r\n <div class=\"buttonWithType-group-container\">\r\n @for (button of dialogData?.buttonsWithType; track button.text) {\r\n @if (button?.type === \"checkbox\") {\r\n <div class=\"checkbox-container {{ button.className }}\">\r\n <mat-checkbox [id]=\"button.id\" (change)=\"onButtonClick(button)\" class=\"checkbox-style\">{{\r\n button.text\r\n }}</mat-checkbox>\r\n </div>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [".dialog-container{display:flex;flex-direction:column;gap:var(--medium-28px);align-items:center;position:relative;overflow-y:auto;overflow-x:hidden}.top-message-container,.lower-message-container{display:flex;align-items:center;flex-direction:column;gap:var(--medium-28px)}.lower-message-container{width:-webkit-fill-available}::ng-deep .lower-message-container .content{justify-content:center;align-items:center;gap:var(--small-4px)}::ng-deep .image-description-container .image-container{margin-bottom:0}::ng-deep .image-description-container .content-container{gap:var(--medium-28px)}::ng-deep .image-description-container .title-class{font-size:var(--medium-22px);font-weight:500;line-height:var(--medium-28px)}::ng-deep .image-description-container .description{color:var(--text-mediumemphasis, #6D6979);font-size:var(--small-16px);line-height:var(--medium-24px);letter-spacing:.5px}.top-message-container .message-content-style{display:flex;justify-content:center;flex:1;color:var(--text-primary, #825CEE)}.lower-message-container .message-content-style{display:flex;align-items:center}::ng-deep .image-description-container .title-description{display:flex;flex-direction:column;gap:var(--small-8px)}.dialog-container .button-group-container{display:flex;gap:var(--small-12px);justify-content:center}::ng-deep .checkboxButton .mdc-checkbox__background{width:var(--small-16px);height:var(--small-16px);border:1.5px solid currentColor}::ng-deep .checkboxButton .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:#757575}::ng-deep .checkboxButton .mdc-checkbox{padding:calc((var(--mdc-checkbox-state-layer-size) - 21px) / 2)}::ng-deep .checkboxButton .mdc-form-field{display:flex;align-items:center}::ng-deep .checkboxButton .mdc-label{color:var(--text-mediumemphasis, #6D6979);text-align:center;font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px}.dialog-container .cross-btn{position:absolute;top:0;right:0;cursor:pointer}::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background,::ng-deep .checkbox-style.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:hover .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:hover .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control:enabled:focus:checked~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control:enabled:focus:indeterminate~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__ripple,::ng-deep .checkbox-style .mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:hover .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{border-color:var(--primary-500);background-color:var(--primary-500)}.image-description-container{width:100%;display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: MessageBannerComponent, selector: "sa-message-banner", inputs: ["type", "actionText", "content", "bannerIcon", "bannerIconSize", "buttonIcon", "buttonType", "buttonIconPosition", "buttonSize", "buttonIconSize", "button", "onAction"], outputs: ["actionClick"] }, { kind: "component", type: MessageBannerV2Component, selector: "sa-message-banner-v2", inputs: ["messageType", "contactUrl", "spacingBetweenImageAndDescription", "contentGap", "titleClass", "descriptionClass", "banner", "formConfig", "messageIcon", "messageIconSize", "title", "description", "buttons"], outputs: ["onFormEvent", "buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "icon", "iconPosition", "href", "hrefTarget", "width", "isSubmit", "buttonIconSize", "showSpinner"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget", "iconPosition"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: MatDialogModule }] }); }
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: DialogComponent, isStandalone: true, selector: "sa-dialog", inputs: { dialogData: "dialogData" }, outputs: { dialogButtonClick: "dialogButtonClick" }, ngImport: i0, template: "<div class=\"dialog-container\">\r\n <!-- top banner region -->\r\n <div class=\"top-container\">\r\n @if (!!dialogData?.topMessageBanners) {\r\n <div class=\"top-message-container\">\r\n @for (\r\n messageBanner of dialogData?.topMessageBanners;\r\n track messageBanner.content\r\n ) {\r\n <sa-message-banner\r\n [type]=\"messageBanner?.type\"\r\n [bannerIcon]=\"messageBanner?.bannerIcon\"\r\n [bannerIconSize]=\"messageBanner?.bannerIconSize || '24'\"\r\n [button]=\"messageBanner?.button\"\r\n (actionClick)=\"onButtonClick(messageBanner?.button, $event)\"\r\n [style]=\"messageBanner?.style || 'width:39.438rem'\"\r\n >\r\n <div class=\"{{ messageBanner?.className }} message-content-style\">\r\n {{ messageBanner?.content }}\r\n </div>\r\n </sa-message-banner>\r\n }\r\n </div>\r\n }\r\n @if (!!dialogData?.closeButton || dialogData?.showCloseButton) {\r\n <div class=\"cross-btn\" (click)=\"onCloseButtonClick($event)\">\r\n <sa-icon\r\n [icon]=\"dialogData?.closeButton || 'closeOutlined'\"\r\n class=\"d-flex\"\r\n size=\"20\"\r\n ></sa-icon>\r\n </div>\r\n }\r\n </div>\r\n <!-- middle region -->\r\n @if (!!dialogData?.middleRegion) {\r\n <ng-container *ngIf=\"dialogData?.middleRegion as middleRegion\">\r\n <div class=\"image-description-container {{ middleRegion?.className }}\">\r\n <sa-message-banner-v2\r\n [messageType]=\"middleRegion?.messageType || 'default'\"\r\n [messageIcon]=\"middleRegion?.messageIcon\"\r\n [messageIconSize]=\"middleRegion?.messageIconSize\"\r\n [title]=\"middleRegion?.title\"\r\n [description]=\"middleRegion?.description\"\r\n [buttons]=\"middleRegion?.buttons\"\r\n [formConfig]=\"middleRegion?.content?.formConfig\"\r\n (onFormEvent)=\"onUnifiedFormEvent($event)\"\r\n (buttonClick)=\"middleRegion?.buttons ? onButtonClick($event) : ''\"\r\n >\r\n </sa-message-banner-v2>\r\n </div>\r\n </ng-container>\r\n }\r\n <!-- lower message banner region -->\r\n @if (!!dialogData?.lowerMessageBanners) {\r\n <div class=\"lower-message-container\">\r\n @for (\r\n messageBanner of dialogData?.lowerMessageBanners;\r\n track messageBanner.content\r\n ) {\r\n <sa-message-banner\r\n [type]=\"messageBanner?.type\"\r\n [bannerIcon]=\"messageBanner?.bannerIcon\"\r\n [buttonIcon]=\"messageBanner?.buttonIcon\"\r\n [bannerIconSize]=\"messageBanner?.bannerIconSize || '24'\"\r\n [button]=\"messageBanner?.button\"\r\n [style]=\"messageBanner?.style || 'width:-webkit-fill-available'\"\r\n (actionClick)=\"onButtonClick(messageBanner?.button, $event)\"\r\n >\r\n <div\r\n class=\"{{ messageBanner?.className }} message-content-style\"\r\n ></div>\r\n {{ messageBanner?.content }}\r\n </sa-message-banner>\r\n }\r\n </div>\r\n }\r\n <!-- button region -->\r\n @if (!!dialogData?.buttons) {\r\n <div class=\"button-group-container\">\r\n @for (button of dialogData?.buttons; track button.text) {\r\n <sa-button\r\n [text]=\"button.text\"\r\n [icon]=\"button.icon\"\r\n [size]=\"button.size\"\r\n [type]=\"button.type\"\r\n [state]=\"button.state\"\r\n [iconPosition]=\"button.iconPosition\"\r\n [buttonIconSize]=\"button.buttonIconSize\"\r\n (onClickEvent)=\"onButtonClick(button, $event)\"\r\n role=\"button\"\r\n [attr.aria-label]=\"button.text\"\r\n >\r\n </sa-button>\r\n }\r\n </div>\r\n }\r\n @if (!!dialogData?.buttonsWithType) {\r\n <div class=\"buttonWithType-group-container\">\r\n @for (button of dialogData?.buttonsWithType; track button.text) {\r\n @if (button?.type === \"checkbox\") {\r\n <div class=\"checkbox-container {{ button.className }}\">\r\n <mat-checkbox [id]=\"button.id\" (change)=\"onButtonClick(button)\" class=\"checkbox-style\">{{\r\n button.text\r\n }}</mat-checkbox>\r\n </div>\r\n }\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [".dialog-container{display:flex;flex-direction:column;gap:var(--medium-28px);align-items:center;position:relative;overflow-y:auto;overflow-x:hidden}.top-message-container,.lower-message-container{display:flex;align-items:center;flex-direction:column;gap:var(--medium-28px)}.lower-message-container{width:-webkit-fill-available}::ng-deep .lower-message-container .content{justify-content:center;align-items:center;gap:var(--small-4px)}::ng-deep .image-description-container .image-container{margin-bottom:0}::ng-deep .image-description-container .content-container{gap:var(--medium-28px)}::ng-deep .image-description-container .title-class{font-size:var(--medium-22px);font-weight:500;line-height:var(--medium-28px)}::ng-deep .image-description-container .description{color:var(--text-mediumemphasis, #6D6979);font-size:var(--small-16px);line-height:var(--medium-24px);letter-spacing:.5px}.top-message-container .message-content-style{display:flex;justify-content:center;flex:1;color:var(--text-primary, #825CEE)}.lower-message-container .message-content-style{display:flex;align-items:center}::ng-deep .image-description-container .title-description{display:flex;flex-direction:column;gap:var(--small-8px)}.dialog-container .button-group-container{display:flex;gap:var(--small-12px);justify-content:center}::ng-deep .checkboxButton .mdc-checkbox__background{width:var(--small-16px);height:var(--small-16px);border:1.5px solid currentColor}::ng-deep .checkboxButton .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:#757575}::ng-deep .checkboxButton .mdc-checkbox{padding:calc((var(--mdc-checkbox-state-layer-size) - 21px) / 2)}::ng-deep .checkboxButton .mdc-form-field{display:flex;align-items:center}::ng-deep .checkboxButton .mdc-label{color:var(--text-mediumemphasis, #6D6979);text-align:center;font-family:var(--font);font-size:var(--small-14px);font-style:normal;font-weight:400;line-height:var(--medium-20px);letter-spacing:.25px}.dialog-container .cross-btn{position:absolute;top:0;right:0;cursor:pointer}::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background,::ng-deep .checkbox-style.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:hover .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:hover .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control:enabled:focus:checked~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control:enabled:focus:indeterminate~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__ripple,::ng-deep .checkbox-style .mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:hover .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,::ng-deep .checkbox-style .mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{border-color:var(--primary-500);background-color:var(--primary-500)}.image-description-container{width:100%;display:flex;flex-direction:column}\n"], dependencies: [{ kind: "component", type: MessageBannerComponent, selector: "sa-message-banner", inputs: ["type", "actionText", "content", "bannerIcon", "bannerIconSize", "buttonIcon", "buttonType", "buttonIconPosition", "buttonSize", "buttonIconSize", "button", "onAction"], outputs: ["actionClick"] }, { kind: "component", type: MessageBannerV2Component, selector: "sa-message-banner-v2", inputs: ["messageType", "contactUrl", "spacingBetweenImageAndDescription", "contentGap", "titleClass", "descriptionClass", "banner", "formConfig", "prebuiltFormFields", "messageIcon", "messageIconSize", "title", "description", "buttons"], outputs: ["onFormEvent", "buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "icon", "iconPosition", "href", "hrefTarget", "width", "isSubmit", "buttonIconSize", "showSpinner"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget", "iconPosition"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: MatDialogModule }] }); }
|
|
77
94
|
}
|
|
78
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: DialogComponent, decorators: [{
|
|
79
96
|
type: Component,
|
|
@@ -90,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
90
107
|
}], dialogButtonClick: [{
|
|
91
108
|
type: Output
|
|
92
109
|
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRXBGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7O0FBU2pDLE1BQU0sT0FBTyxlQUFlO0lBYzFCLFlBQ3FCLFNBQXdDLEVBQ2YsSUFBUztRQURsQyxjQUFTLEdBQVQsU0FBUyxDQUErQjtRQUNmLFNBQUksR0FBSixJQUFJLENBQUs7UUFmdkQsZUFBVSxHQUEyQixFQUFFLENBQUM7UUFXOUIsc0JBQWlCLEdBQUcsSUFB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QUFDO0lBRUQsWUFBWSxDQUFDLElBQVM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQzs4R0ExRVUsZUFBZSw4REFnQkosZUFBZTtrR0FoQjFCLGVBQWUsZ0tDbkI1QixreklBK0dBLG85SERoR1ksc0JBQXNCLDJRQUFFLHdCQUF3QixrVUFBRSxZQUFZLG1JQUFFLGVBQWUsdVJBQUUsaUJBQWlCLDhXQUFFLGFBQWEsb01BQUUsZUFBZTs7MkZBSWpJLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsV0FBVyxjQUNULElBQUksV0FDUCxDQUFDLHNCQUFzQixFQUFFLHdCQUF3QixFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQzs7MEJBbUI5SixRQUFROzswQkFDUixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7eUNBZDVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBVUksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXNzYWdlQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWVzc2FnZS1iYW5uZXIvbWVzc2FnZS1iYW5uZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uQ2xpY2tFdmVudCwgQnV0dG9uSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9idXR0b24taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJhbm5lclYyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWVzc2FnZS1iYW5uZXItdjIvbWVzc2FnZS1iYW5uZXItdjIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ01vZHVsZSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1pbnB1dC9mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYS1kaWFsb2cnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01lc3NhZ2VCYW5uZXJDb21wb25lbnQsIE1lc3NhZ2VCYW5uZXJWMkNvbXBvbmVudCwgQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnQsIE1hdENoZWNrYm94TW9kdWxlLCBJY29uQ29tcG9uZW50LCBNYXREaWFsb2dNb2R1bGUsIEZvcm1JbnB1dENvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29tcG9uZW50IHtcclxuICBmb3JtVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgQElucHV0KCkgZGlhbG9nRGF0YToge1xyXG4gICAgdG9wTWVzc2FnZUJhbm5lcnM/OiBhbnlbXTtcclxuICAgIG1pZGRsZVJlZ2lvbj86IGFueTtcclxuICAgIGxvd2VyTWVzc2FnZUJhbm5lcnM/OiBhbnlbXTtcclxuICAgIGJ1dHRvbnM/OiBCdXR0b25JbnRlcmZhY2VbXTtcclxuICAgIGJ1dHRvbnNXaXRoVHlwZT86IGFueVtdO1xyXG4gICAgY2xvc2VCdXR0b24/OiBzdHJpbmc7XHJcbiAgICBzaG93Q2xvc2VCdXR0b24/OiBib29sZWFuO1xyXG4gIH07XHJcblxyXG4gIEBPdXRwdXQoKSBkaWFsb2dCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RGlhbG9nQ29tcG9uZW50PixcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55XHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nRGF0YSA9IHRoaXMuZGF0YTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQnV0dG9uQ2xpY2soYnV0dG9uOiBhbnksIGV2ZW50PzogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQ/LmV2dCkge1xyXG4gICAgICBldmVudD8uZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50Py5ldnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpYWxvZ0J1dHRvbkNsaWNrLmVtaXQoe2V2ZW50LCBidXR0b259KTtcclxuICB9XHJcbiAgb25NaWRkbGVSZWdpb25CdXR0b25DbGljayhldmVudDoge2J1dHRvbjogYW55LCBkYXRhPzogYW55fSk6IHZvaWQge1xyXG4gICAgLy8gUGFzcyB0aGUgZXZlbnQgdXAgdG8gdGhlIHBhcmVudCBjb21wb25lbnRcclxuICAgIHRoaXMuZGF0YS5vbk1pZGRsZVJlZ2lvbkJ1dHRvbkNsaWNrPy4oZXZlbnQpO1xyXG4gIH1cclxuICBoYW5kbGVCdXR0b25DbGljayhldmVudDogQnV0dG9uQ2xpY2tFdmVudCkge1xyXG4gICAgdGhpcy5kaWFsb2dCdXR0b25DbGljay5lbWl0KHtldmVudH0pO1xyXG4gIH1cclxuXHJcbiAgb25DbG9zZUJ1dHRvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dEYXRhPy5taWRkbGVSZWdpb24/LmNvbnRlbnQ/LmZvcm1Db25maWc/LmZpZWxkcz8uZm9yRWFjaCgoaW5wdXQ6IGFueSkgPT4ge1xyXG4gICAgICBpbnB1dC52YWx1ZSA9ICcnO1xyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5kaWFsb2dEYXRhPy5taWRkbGVSZWdpb24/LmNvbnRlbnQ/LmZvcm1Db25maWcpIHtcclxuICAgICAgdGhpcy5kaWFsb2dEYXRhLm1pZGRsZVJlZ2lvbi5jb250ZW50LmZvcm1Db25maWcuY2hpcHMgPSBbXTtcclxuICAgIH0gICAgXHJcbiAgICB0aGlzLmRpYWxvZ0J1dHRvbkNsaWNrLmVtaXQoeyBldmVudDogZXZlbnQsIHR5cGU6ICdjbG9zZScgfSk7XHJcbiAgfVxyXG4vLyBhbGwgZm9ybSByZWxhdGVkIGV2ZW50c1xyXG4gIG9uVW5pZmllZEZvcm1FdmVudChldmVudDoge3R5cGU6IHN0cmluZywgZGF0YTogYW55fSk6IHZvaWQge1xyXG4gICAgc3dpdGNoKGV2ZW50LnR5cGUpIHtcclxuICAgICAgY2FzZSAnZm9ybS1pbnB1dC1jaGFuZ2UnOlxyXG4gICAgICAgIHRoaXMub25Gb3JtSW5wdXRDaGFuZ2UoZXZlbnQuZGF0YSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2N1c3RvbS1idXR0b24tY2xpY2snOlxyXG4gICAgICAgIHRoaXMub25CdXR0b25DbGljayhldmVudC5kYXRhKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2hpcC1yZW1vdmUnOlxyXG4gICAgICAgIHRoaXMub25SZW1vdmVVc2VyKGV2ZW50LmRhdGEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGNvbnNvbGUud2FybignVW5rbm93biBmb3JtIGV2ZW50IHR5cGU6JywgZXZlbnQudHlwZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRm9ybUlucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGxldCBwcm9jZXNzZWRWYWx1ZSA9IGV2ZW50LnZhbHVlOyBcclxuICAgIGlmIChpc0FycmF5KGV2ZW50LnZhbHVlKSkge1xyXG4gICAgICBwcm9jZXNzZWRWYWx1ZSA9IGV2ZW50LnZhbHVlLm1hcCgoY2hpcDogYW55KSA9PiBjaGlwLnZhbHVlIHx8IGNoaXAubGFiZWwgfHwgY2hpcCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1WYWx1ZXNbZXZlbnQubGFiZWxdID0gcHJvY2Vzc2VkVmFsdWU7XHJcbiAgICB0aGlzLmRpYWxvZ0J1dHRvbkNsaWNrLmVtaXQoeyBldmVudCwgdHlwZTogJ2Zvcm0taW5wdXQtY2hhbmdlJyB9KTtcclxuICB9XHJcblxyXG4gIG9uUmVtb3ZlVXNlcihjaGlwOiBhbnkpIHtcclxuICAgIHRoaXMuZGlhbG9nQnV0dG9uQ2xpY2suZW1pdCh7IGV2ZW50OiBjaGlwLCB0eXBlOiAnY2hpcC1yZW1vdmUnIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRhaW5lclwiPlxyXG4gIDwhLS0gdG9wIGJhbm5lciByZWdpb24gLS0+XHJcbiAgPGRpdiBjbGFzcz1cInRvcC1jb250YWluZXJcIj5cclxuICAgIEBpZiAoISFkaWFsb2dEYXRhPy50b3BNZXNzYWdlQmFubmVycykge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwidG9wLW1lc3NhZ2UtY29udGFpbmVyXCI+XHJcbiAgICAgICAgQGZvciAoXHJcbiAgICAgICAgICBtZXNzYWdlQmFubmVyIG9mIGRpYWxvZ0RhdGE/LnRvcE1lc3NhZ2VCYW5uZXJzO1xyXG4gICAgICAgICAgdHJhY2sgbWVzc2FnZUJhbm5lci5jb250ZW50XHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICA8c2EtbWVzc2FnZS1iYW5uZXJcclxuICAgICAgICAgICAgW3R5cGVdPVwibWVzc2FnZUJhbm5lcj8udHlwZVwiXHJcbiAgICAgICAgICAgIFtiYW5uZXJJY29uXT1cIm1lc3NhZ2VCYW5uZXI/LmJhbm5lckljb25cIlxyXG4gICAgICAgICAgICBbYmFubmVySWNvblNpemVdPVwibWVzc2FnZUJhbm5lcj8uYmFubmVySWNvblNpemUgfHwgJzI0J1wiXHJcbiAgICAgICAgICAgIFtidXR0b25dPVwibWVzc2FnZUJhbm5lcj8uYnV0dG9uXCJcclxuICAgICAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQnV0dG9uQ2xpY2sobWVzc2FnZUJhbm5lcj8uYnV0dG9uLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3N0eWxlXT1cIm1lc3NhZ2VCYW5uZXI/LnN0eWxlIHx8ICd3aWR0aDozOS40MzhyZW0nXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInt7IG1lc3NhZ2VCYW5uZXI/LmNsYXNzTmFtZSB9fSBtZXNzYWdlLWNvbnRlbnQtc3R5bGVcIj5cclxuICAgICAgICAgICAgICB7eyBtZXNzYWdlQmFubmVyPy5jb250ZW50IH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9zYS1tZXNzYWdlLWJhbm5lcj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgQGlmICghIWRpYWxvZ0RhdGE/LmNsb3NlQnV0dG9uIHx8IGRpYWxvZ0RhdGE/LnNob3dDbG9zZUJ1dHRvbikge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiY3Jvc3MtYnRuXCIgKGNsaWNrKT1cIm9uQ2xvc2VCdXR0b25DbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgPHNhLWljb25cclxuICAgICAgICAgIFtpY29uXT1cImRpYWxvZ0RhdGE/LmNsb3NlQnV0dG9uIHx8ICdjbG9zZU91dGxpbmVkJ1wiXHJcbiAgICAgICAgICBjbGFzcz1cImQtZmxleFwiXHJcbiAgICAgICAgICBzaXplPVwiMjBcIlxyXG4gICAgICAgID48L3NhLWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gbWlkZGxlIHJlZ2lvbiAtLT5cclxuICBAaWYgKCEhZGlhbG9nRGF0YT8ubWlkZGxlUmVnaW9uKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlhbG9nRGF0YT8ubWlkZGxlUmVnaW9uIGFzIG1pZGRsZVJlZ2lvblwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtZGVzY3JpcHRpb24tY29udGFpbmVyIHt7IG1pZGRsZVJlZ2lvbj8uY2xhc3NOYW1lIH19XCI+XHJcbiAgICAgICAgPHNhLW1lc3NhZ2UtYmFubmVyLXYyXHJcbiAgICAgICAgW21lc3NhZ2VUeXBlXT1cIm1pZGRsZVJlZ2lvbj8ubWVzc2FnZVR5cGUgfHwgJ2RlZmF1bHQnXCJcclxuICAgICAgICBbbWVzc2FnZUljb25dPVwibWlkZGxlUmVnaW9uPy5tZXNzYWdlSWNvblwiXHJcbiAgICAgICAgW21lc3NhZ2VJY29uU2l6ZV09XCJtaWRkbGVSZWdpb24/Lm1lc3NhZ2VJY29uU2l6ZVwiXHJcbiAgICAgICAgW3RpdGxlXT1cIm1pZGRsZVJlZ2lvbj8udGl0bGVcIlxyXG4gICAgICAgIFtkZXNjcmlwdGlvbl09XCJtaWRkbGVSZWdpb24/LmRlc2NyaXB0aW9uXCJcclxuICAgICAgICBbYnV0dG9uc109XCJtaWRkbGVSZWdpb24/LmJ1dHRvbnNcIlxyXG4gICAgICAgIFtmb3JtQ29uZmlnXT1cIm1pZGRsZVJlZ2lvbj8uY29udGVudD8uZm9ybUNvbmZpZ1wiXHJcbiAgICAgICAgKG9uRm9ybUV2ZW50KT1cIm9uVW5pZmllZEZvcm1FdmVudCgkZXZlbnQpXCJcclxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwibWlkZGxlUmVnaW9uPy5idXR0b25zID8gb25CdXR0b25DbGljaygkZXZlbnQpIDogJydcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvc2EtbWVzc2FnZS1iYW5uZXItdjI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG4gIDwhLS0gbG93ZXIgbWVzc2FnZSBiYW5uZXIgcmVnaW9uIC0tPlxyXG4gIEBpZiAoISFkaWFsb2dEYXRhPy5sb3dlck1lc3NhZ2VCYW5uZXJzKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibG93ZXItbWVzc2FnZS1jb250YWluZXJcIj5cclxuICAgICAgQGZvciAoXHJcbiAgICAgICAgbWVzc2FnZUJhbm5lciBvZiBkaWFsb2dEYXRhPy5sb3dlck1lc3NhZ2VCYW5uZXJzO1xyXG4gICAgICAgIHRyYWNrIG1lc3NhZ2VCYW5uZXIuY29udGVudFxyXG4gICAgICApIHtcclxuICAgICAgICA8c2EtbWVzc2FnZS1iYW5uZXJcclxuICAgICAgICAgIFt0eXBlXT1cIm1lc3NhZ2VCYW5uZXI/LnR5cGVcIlxyXG4gICAgICAgICAgW2Jhbm5lckljb25dPVwibWVzc2FnZUJhbm5lcj8uYmFubmVySWNvblwiXHJcbiAgICAgICAgICBbYnV0dG9uSWNvbl09XCJtZXNzYWdlQmFubmVyPy5idXR0b25JY29uXCJcclxuICAgICAgICAgIFtiYW5uZXJJY29uU2l6ZV09XCJtZXNzYWdlQmFubmVyPy5iYW5uZXJJY29uU2l6ZSB8fCAnMjQnXCJcclxuICAgICAgICAgIFtidXR0b25dPVwibWVzc2FnZUJhbm5lcj8uYnV0dG9uXCJcclxuICAgICAgICAgIFtzdHlsZV09XCJtZXNzYWdlQmFubmVyPy5zdHlsZSB8fCAnd2lkdGg6LXdlYmtpdC1maWxsLWF2YWlsYWJsZSdcIlxyXG4gICAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQnV0dG9uQ2xpY2sobWVzc2FnZUJhbm5lcj8uYnV0dG9uLCAkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwie3sgbWVzc2FnZUJhbm5lcj8uY2xhc3NOYW1lIH19IG1lc3NhZ2UtY29udGVudC1zdHlsZVwiXHJcbiAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICB7eyBtZXNzYWdlQmFubmVyPy5jb250ZW50IH19XHJcbiAgICAgICAgPC9zYS1tZXNzYWdlLWJhbm5lcj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG4gIDwhLS0gYnV0dG9uIHJlZ2lvbiAtLT5cclxuICBAaWYgKCEhZGlhbG9nRGF0YT8uYnV0dG9ucykge1xyXG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1ncm91cC1jb250YWluZXJcIj5cclxuICAgICAgQGZvciAoYnV0dG9uIG9mIGRpYWxvZ0RhdGE/LmJ1dHRvbnM7IHRyYWNrIGJ1dHRvbi50ZXh0KSB7XHJcbiAgICAgICAgPHNhLWJ1dHRvblxyXG4gICAgICAgICAgW3RleHRdPVwiYnV0dG9uLnRleHRcIlxyXG4gICAgICAgICAgW2ljb25dPVwiYnV0dG9uLmljb25cIlxyXG4gICAgICAgICAgW3NpemVdPVwiYnV0dG9uLnNpemVcIlxyXG4gICAgICAgICAgW3R5cGVdPVwiYnV0dG9uLnR5cGVcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cImJ1dHRvbi5zdGF0ZVwiXHJcbiAgICAgICAgICBbaWNvblBvc2l0aW9uXT1cImJ1dHRvbi5pY29uUG9zaXRpb25cIlxyXG4gICAgICAgICAgW2J1dHRvbkljb25TaXplXT1cImJ1dHRvbi5idXR0b25JY29uU2l6ZVwiXHJcbiAgICAgICAgICAob25DbGlja0V2ZW50KT1cIm9uQnV0dG9uQ2xpY2soYnV0dG9uLCAkZXZlbnQpXCJcclxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24udGV4dFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvc2EtYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmICghIWRpYWxvZ0RhdGE/LmJ1dHRvbnNXaXRoVHlwZSkge1xyXG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbldpdGhUeXBlLWdyb3VwLWNvbnRhaW5lclwiPlxyXG4gICAgICBAZm9yIChidXR0b24gb2YgZGlhbG9nRGF0YT8uYnV0dG9uc1dpdGhUeXBlOyB0cmFjayBidXR0b24udGV4dCkge1xyXG4gICAgICAgIEBpZiAoYnV0dG9uPy50eXBlID09PSBcImNoZWNrYm94XCIpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250YWluZXIge3sgYnV0dG9uLmNsYXNzTmFtZSB9fVwiPlxyXG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94IFtpZF09XCJidXR0b24uaWRcIiAoY2hhbmdlKT1cIm9uQnV0dG9uQ2xpY2soYnV0dG9uKVwiIGNsYXNzPVwiY2hlY2tib3gtc3R5bGVcIj57e1xyXG4gICAgICAgICAgICAgIGJ1dHRvbi50ZXh0XHJcbiAgICAgICAgICAgIH19PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRXBGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7O0FBU2pDLE1BQU0sT0FBTyxlQUFlO0lBYzFCLFlBQ3FCLFNBQXdDLEVBQ2YsSUFBUztRQURsQyxjQUFTLEdBQVQsU0FBUyxDQUErQjtRQUNmLFNBQUksR0FBSixJQUFJLENBQUs7UUFmdkQsZUFBVSxHQUEyQixFQUFFLENBQUM7UUFXOUIsc0JBQWlCLEdBQUcsSUFB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Q1AsQ0FBQyxzQkFBc0IsRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLENBQUM7OzBCQW1COUosUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlO3lDQWQ1QixVQUFVO3NCQUFsQixLQUFLO2dCQVVJLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVzc2FnZUJhbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL21lc3NhZ2UtYmFubmVyL21lc3NhZ2UtYmFubmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkNsaWNrRXZlbnQsIEJ1dHRvbkludGVyZmFjZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYnV0dG9uLWludGVyZmFjZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VCYW5uZXJWMkNvbXBvbmVudCB9IGZyb20gJy4uL21lc3NhZ2UtYmFubmVyLXYyL21lc3NhZ2UtYmFubmVyLXYyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnbG9kYXNoJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2EtZGlhbG9nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtNZXNzYWdlQmFubmVyQ29tcG9uZW50LCBNZXNzYWdlQmFubmVyVjJDb21wb25lbnQsIENvbW1vbk1vZHVsZSwgQnV0dG9uQ29tcG9uZW50LCBNYXRDaGVja2JveE1vZHVsZSwgSWNvbkNvbXBvbmVudCwgTWF0RGlhbG9nTW9kdWxlLCBGb3JtSW5wdXRDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbXBvbmVudCB7XHJcbiAgZm9ybVZhbHVlczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG4gIEBJbnB1dCgpIGRpYWxvZ0RhdGE6IHtcclxuICAgIHRvcE1lc3NhZ2VCYW5uZXJzPzogYW55W107XHJcbiAgICBtaWRkbGVSZWdpb24/OiBhbnk7XHJcbiAgICBsb3dlck1lc3NhZ2VCYW5uZXJzPzogYW55W107XHJcbiAgICBidXR0b25zPzogQnV0dG9uSW50ZXJmYWNlW107XHJcbiAgICBidXR0b25zV2l0aFR5cGU/OiBhbnlbXTtcclxuICAgIGNsb3NlQnV0dG9uPzogc3RyaW5nO1xyXG4gICAgc2hvd0Nsb3NlQnV0dG9uPzogYm9vbGVhbjtcclxuICB9O1xyXG5cclxuICBAT3V0cHV0KCkgZGlhbG9nQnV0dG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueVxyXG4gICkge1xyXG4gICAgaWYgKHRoaXMuZGF0YSkge1xyXG4gICAgICB0aGlzLmRpYWxvZ0RhdGEgPSB0aGlzLmRhdGE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkJ1dHRvbkNsaWNrKGJ1dHRvbjogYW55LCBldmVudD86IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50Py5ldnQpIHtcclxuICAgICAgZXZlbnQ/LmV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudD8uZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaWFsb2dCdXR0b25DbGljay5lbWl0KHtldmVudCwgYnV0dG9ufSk7XHJcbiAgfVxyXG4gIG9uTWlkZGxlUmVnaW9uQnV0dG9uQ2xpY2soZXZlbnQ6IHtidXR0b246IGFueSwgZGF0YT86IGFueX0pOiB2b2lkIHtcclxuICAgIC8vIFBhc3MgdGhlIGV2ZW50IHVwIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50XHJcbiAgICB0aGlzLmRhdGEub25NaWRkbGVSZWdpb25CdXR0b25DbGljaz8uKGV2ZW50KTtcclxuICB9XHJcbiAgaGFuZGxlQnV0dG9uQ2xpY2soZXZlbnQ6IEJ1dHRvbkNsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuZGlhbG9nQnV0dG9uQ2xpY2suZW1pdCh7ZXZlbnR9KTtcclxuICB9XHJcblxyXG4gIG9uQ2xvc2VCdXR0b25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nRGF0YT8ubWlkZGxlUmVnaW9uPy5jb250ZW50Py5mb3JtQ29uZmlnPy5maWVsZHM/LmZvckVhY2goKGlucHV0OiBhbnkpID0+IHtcclxuICAgICAgaW5wdXQudmFsdWUgPSAnJztcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZGlhbG9nRGF0YT8ubWlkZGxlUmVnaW9uPy5jb250ZW50Py5mb3JtQ29uZmlnKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nRGF0YS5taWRkbGVSZWdpb24uY29udGVudC5mb3JtQ29uZmlnLmNoaXBzID0gW107XHJcbiAgICB9ICAgIFxyXG4gICAgdGhpcy5kaWFsb2dCdXR0b25DbGljay5lbWl0KHsgZXZlbnQ6IGV2ZW50LCB0eXBlOiAnY2xvc2UnIH0pO1xyXG4gIH1cclxuLy8gYWxsIGZvcm0gcmVsYXRlZCBldmVudHNcclxuICBvblVuaWZpZWRGb3JtRXZlbnQoZXZlbnQ6IHt0eXBlOiBzdHJpbmcsIGRhdGE6IGFueX0pOiB2b2lkIHtcclxuICAgIHN3aXRjaChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2Zvcm0taW5wdXQtY2hhbmdlJzpcclxuICAgICAgICB0aGlzLm9uRm9ybUlucHV0Q2hhbmdlKGV2ZW50LmRhdGEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdmb3JtLW1vZGVsLWNoYW5nZSc6XHJcbiAgICAgICAgLy8gU3RvcmUgdGhlIGZvcm0gbW9kZWwgZm9yIGV4dGVybmFsIGFjY2Vzc1xyXG4gICAgICAgIHRoaXMuZm9ybVZhbHVlcyA9IHsgLi4udGhpcy5mb3JtVmFsdWVzLCAuLi5ldmVudC5kYXRhIH07XHJcbiAgICAgICAgdGhpcy5kaWFsb2dCdXR0b25DbGljay5lbWl0KHsgZXZlbnQ6IGV2ZW50LmRhdGEsIHR5cGU6ICdmb3JtLW1vZGVsLWNoYW5nZScgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2N1c3RvbS1idXR0b24tY2xpY2snOlxyXG4gICAgICAgIC8vIFN0b3JlIGZvcm0gbW9kZWwgZGF0YSBpZiBwcm92aWRlZFxyXG4gICAgICAgIGlmIChldmVudC5kYXRhPy5mb3JtTW9kZWwpIHtcclxuICAgICAgICAgIHRoaXMuZm9ybVZhbHVlcyA9IHsgLi4udGhpcy5mb3JtVmFsdWVzLCAuLi5ldmVudC5kYXRhLmZvcm1Nb2RlbCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm9uQnV0dG9uQ2xpY2soZXZlbnQuZGF0YSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NoaXAtcmVtb3ZlJzpcclxuICAgICAgICB0aGlzLm9uUmVtb3ZlVXNlcihldmVudC5kYXRhKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBjb25zb2xlLndhcm4oJ1Vua25vd24gZm9ybSBldmVudCB0eXBlOicsIGV2ZW50LnR5cGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkZvcm1JbnB1dENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBsZXQgcHJvY2Vzc2VkVmFsdWUgPSBldmVudC52YWx1ZTsgXHJcbiAgICBpZiAoaXNBcnJheShldmVudC52YWx1ZSkpIHtcclxuICAgICAgcHJvY2Vzc2VkVmFsdWUgPSBldmVudC52YWx1ZS5tYXAoKGNoaXA6IGFueSkgPT4gY2hpcC52YWx1ZSB8fCBjaGlwLmxhYmVsIHx8IGNoaXApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtVmFsdWVzW2V2ZW50LmxhYmVsXSA9IHByb2Nlc3NlZFZhbHVlO1xyXG4gICAgdGhpcy5kaWFsb2dCdXR0b25DbGljay5lbWl0KHsgZXZlbnQsIHR5cGU6ICdmb3JtLWlucHV0LWNoYW5nZScgfSk7XHJcbiAgfVxyXG5cclxuICBvblJlbW92ZVVzZXIoY2hpcDogYW55KSB7XHJcbiAgICB0aGlzLmRpYWxvZ0J1dHRvbkNsaWNrLmVtaXQoeyBldmVudDogY2hpcCwgdHlwZTogJ2NoaXAtcmVtb3ZlJyB9KTtcclxuICB9XHJcblxyXG4gIC8vIE1ldGhvZCB0byByZXNldCB0aGUgZm9ybSB0aHJvdWdoIG1lc3NhZ2UtYmFubmVyLXYyIGNvbXBvbmVudFxyXG4gIHJlc2V0Rm9ybSgpOiB2b2lkIHtcclxuICAgIC8vIEVtaXQgZm9ybSByZXNldCBldmVudCB0byBtZXNzYWdlLWJhbm5lci12MlxyXG4gICAgdGhpcy5mb3JtVmFsdWVzID0ge307XHJcbiAgICAvLyBUaGUgbWVzc2FnZS1iYW5uZXItdjIgY29tcG9uZW50IHdpbGwgaGFuZGxlIHRoZSBhY3R1YWwgZm9ybSByZXNldFxyXG4gICAgLy8gd2hlbiBpdCByZWNlaXZlcyB0aGlzIGV2ZW50XHJcbiAgICB0aGlzLmRpYWxvZ0J1dHRvbkNsaWNrLmVtaXQoeyB0eXBlOiAnZm9ybS1yZXNldCcgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGFpbmVyXCI+XHJcbiAgPCEtLSB0b3AgYmFubmVyIHJlZ2lvbiAtLT5cclxuICA8ZGl2IGNsYXNzPVwidG9wLWNvbnRhaW5lclwiPlxyXG4gICAgQGlmICghIWRpYWxvZ0RhdGE/LnRvcE1lc3NhZ2VCYW5uZXJzKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtbWVzc2FnZS1jb250YWluZXJcIj5cclxuICAgICAgICBAZm9yIChcclxuICAgICAgICAgIG1lc3NhZ2VCYW5uZXIgb2YgZGlhbG9nRGF0YT8udG9wTWVzc2FnZUJhbm5lcnM7XHJcbiAgICAgICAgICB0cmFjayBtZXNzYWdlQmFubmVyLmNvbnRlbnRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIDxzYS1tZXNzYWdlLWJhbm5lclxyXG4gICAgICAgICAgICBbdHlwZV09XCJtZXNzYWdlQmFubmVyPy50eXBlXCJcclxuICAgICAgICAgICAgW2Jhbm5lckljb25dPVwibWVzc2FnZUJhbm5lcj8uYmFubmVySWNvblwiXHJcbiAgICAgICAgICAgIFtiYW5uZXJJY29uU2l6ZV09XCJtZXNzYWdlQmFubmVyPy5iYW5uZXJJY29uU2l6ZSB8fCAnMjQnXCJcclxuICAgICAgICAgICAgW2J1dHRvbl09XCJtZXNzYWdlQmFubmVyPy5idXR0b25cIlxyXG4gICAgICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25CdXR0b25DbGljayhtZXNzYWdlQmFubmVyPy5idXR0b24sICRldmVudClcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwibWVzc2FnZUJhbm5lcj8uc3R5bGUgfHwgJ3dpZHRoOjM5LjQzOHJlbSdcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwie3sgbWVzc2FnZUJhbm5lcj8uY2xhc3NOYW1lIH19IG1lc3NhZ2UtY29udGVudC1zdHlsZVwiPlxyXG4gICAgICAgICAgICAgIHt7IG1lc3NhZ2VCYW5uZXI/LmNvbnRlbnQgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L3NhLW1lc3NhZ2UtYmFubmVyPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICBAaWYgKCEhZGlhbG9nRGF0YT8uY2xvc2VCdXR0b24gfHwgZGlhbG9nRGF0YT8uc2hvd0Nsb3NlQnV0dG9uKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjcm9zcy1idG5cIiAoY2xpY2spPVwib25DbG9zZUJ1dHRvbkNsaWNrKCRldmVudClcIj5cclxuICAgICAgICA8c2EtaWNvblxyXG4gICAgICAgICAgW2ljb25dPVwiZGlhbG9nRGF0YT8uY2xvc2VCdXR0b24gfHwgJ2Nsb3NlT3V0bGluZWQnXCJcclxuICAgICAgICAgIGNsYXNzPVwiZC1mbGV4XCJcclxuICAgICAgICAgIHNpemU9XCIyMFwiXHJcbiAgICAgICAgPjwvc2EtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBtaWRkbGUgcmVnaW9uIC0tPlxyXG4gIEBpZiAoISFkaWFsb2dEYXRhPy5taWRkbGVSZWdpb24pIHtcclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaWFsb2dEYXRhPy5taWRkbGVSZWdpb24gYXMgbWlkZGxlUmVnaW9uXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZS1kZXNjcmlwdGlvbi1jb250YWluZXIge3sgbWlkZGxlUmVnaW9uPy5jbGFzc05hbWUgfX1cIj5cclxuICAgICAgICA8c2EtbWVzc2FnZS1iYW5uZXItdjJcclxuICAgICAgICBbbWVzc2FnZVR5cGVdPVwibWlkZGxlUmVnaW9uPy5tZXNzYWdlVHlwZSB8fCAnZGVmYXVsdCdcIlxyXG4gICAgICAgIFttZXNzYWdlSWNvbl09XCJtaWRkbGVSZWdpb24/Lm1lc3NhZ2VJY29uXCJcclxuICAgICAgICBbbWVzc2FnZUljb25TaXplXT1cIm1pZGRsZVJlZ2lvbj8ubWVzc2FnZUljb25TaXplXCJcclxuICAgICAgICBbdGl0bGVdPVwibWlkZGxlUmVnaW9uPy50aXRsZVwiXHJcbiAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIm1pZGRsZVJlZ2lvbj8uZGVzY3JpcHRpb25cIlxyXG4gICAgICAgIFtidXR0b25zXT1cIm1pZGRsZVJlZ2lvbj8uYnV0dG9uc1wiXHJcbiAgICAgICAgW2Zvcm1Db25maWddPVwibWlkZGxlUmVnaW9uPy5jb250ZW50Py5mb3JtQ29uZmlnXCJcclxuICAgICAgICAob25Gb3JtRXZlbnQpPVwib25VbmlmaWVkRm9ybUV2ZW50KCRldmVudClcIlxyXG4gICAgICAgIChidXR0b25DbGljayk9XCJtaWRkbGVSZWdpb24/LmJ1dHRvbnMgPyBvbkJ1dHRvbkNsaWNrKCRldmVudCkgOiAnJ1wiXHJcbiAgICAgID5cclxuICAgICAgPC9zYS1tZXNzYWdlLWJhbm5lci12Mj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICB9XHJcbiAgPCEtLSBsb3dlciBtZXNzYWdlIGJhbm5lciByZWdpb24gLS0+XHJcbiAgQGlmICghIWRpYWxvZ0RhdGE/Lmxvd2VyTWVzc2FnZUJhbm5lcnMpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJsb3dlci1tZXNzYWdlLWNvbnRhaW5lclwiPlxyXG4gICAgICBAZm9yIChcclxuICAgICAgICBtZXNzYWdlQmFubmVyIG9mIGRpYWxvZ0RhdGE/Lmxvd2VyTWVzc2FnZUJhbm5lcnM7XHJcbiAgICAgICAgdHJhY2sgbWVzc2FnZUJhbm5lci5jb250ZW50XHJcbiAgICAgICkge1xyXG4gICAgICAgIDxzYS1tZXNzYWdlLWJhbm5lclxyXG4gICAgICAgICAgW3R5cGVdPVwibWVzc2FnZUJhbm5lcj8udHlwZVwiXHJcbiAgICAgICAgICBbYmFubmVySWNvbl09XCJtZXNzYWdlQmFubmVyPy5iYW5uZXJJY29uXCJcclxuICAgICAgICAgIFtidXR0b25JY29uXT1cIm1lc3NhZ2VCYW5uZXI/LmJ1dHRvbkljb25cIlxyXG4gICAgICAgICAgW2Jhbm5lckljb25TaXplXT1cIm1lc3NhZ2VCYW5uZXI/LmJhbm5lckljb25TaXplIHx8ICcyNCdcIlxyXG4gICAgICAgICAgW2J1dHRvbl09XCJtZXNzYWdlQmFubmVyPy5idXR0b25cIlxyXG4gICAgICAgICAgW3N0eWxlXT1cIm1lc3NhZ2VCYW5uZXI/LnN0eWxlIHx8ICd3aWR0aDotd2Via2l0LWZpbGwtYXZhaWxhYmxlJ1wiXHJcbiAgICAgICAgICAoYWN0aW9uQ2xpY2spPVwib25CdXR0b25DbGljayhtZXNzYWdlQmFubmVyPy5idXR0b24sICRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBtZXNzYWdlQmFubmVyPy5jbGFzc05hbWUgfX0gbWVzc2FnZS1jb250ZW50LXN0eWxlXCJcclxuICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgIHt7IG1lc3NhZ2VCYW5uZXI/LmNvbnRlbnQgfX1cclxuICAgICAgICA8L3NhLW1lc3NhZ2UtYmFubmVyPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgPCEtLSBidXR0b24gcmVnaW9uIC0tPlxyXG4gIEBpZiAoISFkaWFsb2dEYXRhPy5idXR0b25zKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyb3VwLWNvbnRhaW5lclwiPlxyXG4gICAgICBAZm9yIChidXR0b24gb2YgZGlhbG9nRGF0YT8uYnV0dG9uczsgdHJhY2sgYnV0dG9uLnRleHQpIHtcclxuICAgICAgICA8c2EtYnV0dG9uXHJcbiAgICAgICAgICBbdGV4dF09XCJidXR0b24udGV4dFwiXHJcbiAgICAgICAgICBbaWNvbl09XCJidXR0b24uaWNvblwiXHJcbiAgICAgICAgICBbc2l6ZV09XCJidXR0b24uc2l6ZVwiXHJcbiAgICAgICAgICBbdHlwZV09XCJidXR0b24udHlwZVwiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiYnV0dG9uLnN0YXRlXCJcclxuICAgICAgICAgIFtpY29uUG9zaXRpb25dPVwiYnV0dG9uLmljb25Qb3NpdGlvblwiXHJcbiAgICAgICAgICBbYnV0dG9uSWNvblNpemVdPVwiYnV0dG9uLmJ1dHRvbkljb25TaXplXCJcclxuICAgICAgICAgIChvbkNsaWNrRXZlbnQpPVwib25CdXR0b25DbGljayhidXR0b24sICRldmVudClcIlxyXG4gICAgICAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi50ZXh0XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9zYS1idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuICBAaWYgKCEhZGlhbG9nRGF0YT8uYnV0dG9uc1dpdGhUeXBlKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uV2l0aFR5cGUtZ3JvdXAtY29udGFpbmVyXCI+XHJcbiAgICAgIEBmb3IgKGJ1dHRvbiBvZiBkaWFsb2dEYXRhPy5idXR0b25zV2l0aFR5cGU7IHRyYWNrIGJ1dHRvbi50ZXh0KSB7XHJcbiAgICAgICAgQGlmIChidXR0b24/LnR5cGUgPT09IFwiY2hlY2tib3hcIikge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWNvbnRhaW5lciB7eyBidXR0b24uY2xhc3NOYW1lIH19XCI+XHJcbiAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggW2lkXT1cImJ1dHRvbi5pZFwiIChjaGFuZ2UpPVwib25CdXR0b25DbGljayhidXR0b24pXCIgY2xhc3M9XCJjaGVja2JveC1zdHlsZVwiPnt7XHJcbiAgICAgICAgICAgICAgYnV0dG9uLnRleHRcclxuICAgICAgICAgICAgfX08L21hdC1jaGVja2JveD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
|