verben-workflow-ui 0.5.46 → 0.5.48
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/src/lib/components/workflow-designer/action-dialog/action-dialog.component.mjs +3 -3
- package/esm2022/src/lib/components/workflow-designer/escalation-dialog/escalation-dialog.component.mjs +11 -8
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs +12 -9
- package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs.map +1 -1
- package/package.json +49 -49
package/esm2022/src/lib/components/workflow-designer/action-dialog/action-dialog.component.mjs
CHANGED
|
@@ -77,14 +77,14 @@ export class ActionDialogComponent {
|
|
|
77
77
|
console.log('Dialog opened, received data:', eventData);
|
|
78
78
|
}
|
|
79
79
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionDialogComponent, deps: [{ token: i1.FormBuilder }, { token: i2.WorkflowDataService }], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ActionDialogComponent, selector: "lib-action-dialog", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, actionData: { classPropertyName: "actionData", publicName: "actionData", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { closed: "closed", saved: "saved" }, ngImport: i0, template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible()\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[#FFE681]\">\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span class=\"block w-2.5 h-2.5 border-t border-l border-[#3E3E3E]/70 transform -rotate-45\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <form [formGroup]=\"actionForm\" class=\"mb-4 space-y-4\">\n <verbena-input name=\"Name\" label=\"Name\" formControlName=\"Name\" placeHolder=\"Enter Name\" />\n\n <div class=\"space-y-1\">\n <label for=\"operation-action\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Operation Action\n </label>\n <verben-drop-down id=\"operation-action\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\"\n placeholder=\"Select Operation Action\" [options]=\"operationActions()\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"OperationAction\" class=\"form-control\"></verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"target-status\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Target Status\n </label>\n <verben-drop-down id=\"target-status\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\"\n placeholder=\"Select Target Status\" [options]=\"flowableStatuses()\" optionLabel=\"
|
|
80
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: ActionDialogComponent, selector: "lib-action-dialog", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, actionData: { classPropertyName: "actionData", publicName: "actionData", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { closed: "closed", saved: "saved" }, ngImport: i0, template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible()\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[#FFE681]\">\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span class=\"block w-2.5 h-2.5 border-t border-l border-[#3E3E3E]/70 transform -rotate-45\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <form [formGroup]=\"actionForm\" class=\"mb-4 space-y-4\">\n <verbena-input name=\"Name\" label=\"Name\" formControlName=\"Name\" placeHolder=\"Enter Name\" />\n\n <div class=\"space-y-1\">\n <label for=\"operation-action\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Operation Action\n </label>\n <verben-drop-down id=\"operation-action\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\"\n placeholder=\"Select Operation Action\" [options]=\"operationActions()\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"OperationAction\" class=\"form-control\"></verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"target-status\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Target Status\n </label>\n <verben-drop-down id=\"target-status\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\"\n placeholder=\"Select Target Status\" [options]=\"flowableStatuses()\" optionLabel=\"Description\" optionValue=\"Name\"\n formControlName=\"TargetStatus\" class=\"form-control\"></verben-drop-down>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div class=\"flex gap-2 items-center justify-end\">\n <verbena-button (click)=\"onDialogClose($event)\" text=\"Cancel\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verbena-button type=\"submit\" text=\"Save\" bgColor=\"#FFE681\" textColor=\"#404040\" borderRadius=\"10px\" pd=\"10px 20px\"\n width=\"114px\" height=\"39px\" (click)=\"saveAction()\" [disable]=\"actionForm.invalid\"></verbena-button>\n </div>\n</ng-template>\n", styles: ["::ng-deep .modal-footer{display:flex;justify-content:space-between!important}::ng-deep button,button{cursor:pointer}\n"], dependencies: [{ kind: "component", type: i3.VerbenDialogueComponent, selector: "verben-dialogue", inputs: ["dialogueWidth", "headerTemplate", "bodyTemplate", "footerTemplate", "showCloseIcon", "dismissOutsideClick", "closeOnEscape", "isVisible", "size", "backdropColor", "customClass", "disableFooter", "margin", "padding", "borderRadius", "dialogueBgColor", "width", "closeIconClass", "boxShadow", "enableTransition", "modalData", "mode", "position", "drawerWidth"], outputs: ["openModal", "closeModal"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i3.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "component", type: i3.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }] });
|
|
81
81
|
}
|
|
82
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionDialogComponent, decorators: [{
|
|
83
83
|
type: Component,
|
|
84
|
-
args: [{ selector: 'lib-action-dialog', template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible()\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[#FFE681]\">\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span class=\"block w-2.5 h-2.5 border-t border-l border-[#3E3E3E]/70 transform -rotate-45\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <form [formGroup]=\"actionForm\" class=\"mb-4 space-y-4\">\n <verbena-input name=\"Name\" label=\"Name\" formControlName=\"Name\" placeHolder=\"Enter Name\" />\n\n <div class=\"space-y-1\">\n <label for=\"operation-action\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Operation Action\n </label>\n <verben-drop-down id=\"operation-action\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\"\n placeholder=\"Select Operation Action\" [options]=\"operationActions()\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"OperationAction\" class=\"form-control\"></verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"target-status\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Target Status\n </label>\n <verben-drop-down id=\"target-status\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\"\n placeholder=\"Select Target Status\" [options]=\"flowableStatuses()\" optionLabel=\"
|
|
84
|
+
args: [{ selector: 'lib-action-dialog', template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible()\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[#FFE681]\">\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span class=\"block w-2.5 h-2.5 border-t border-l border-[#3E3E3E]/70 transform -rotate-45\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <form [formGroup]=\"actionForm\" class=\"mb-4 space-y-4\">\n <verbena-input name=\"Name\" label=\"Name\" formControlName=\"Name\" placeHolder=\"Enter Name\" />\n\n <div class=\"space-y-1\">\n <label for=\"operation-action\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Operation Action\n </label>\n <verben-drop-down id=\"operation-action\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\"\n placeholder=\"Select Operation Action\" [options]=\"operationActions()\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"OperationAction\" class=\"form-control\"></verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"target-status\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Target Status\n </label>\n <verben-drop-down id=\"target-status\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\"\n placeholder=\"Select Target Status\" [options]=\"flowableStatuses()\" optionLabel=\"Description\" optionValue=\"Name\"\n formControlName=\"TargetStatus\" class=\"form-control\"></verben-drop-down>\n </div>\n </form>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div class=\"flex gap-2 items-center justify-end\">\n <verbena-button (click)=\"onDialogClose($event)\" text=\"Cancel\" styleType=\"ylw-outline\"\n class=\"ml-auto\"></verbena-button>\n <verbena-button type=\"submit\" text=\"Save\" bgColor=\"#FFE681\" textColor=\"#404040\" borderRadius=\"10px\" pd=\"10px 20px\"\n width=\"114px\" height=\"39px\" (click)=\"saveAction()\" [disable]=\"actionForm.invalid\"></verbena-button>\n </div>\n</ng-template>\n", styles: ["::ng-deep .modal-footer{display:flex;justify-content:space-between!important}::ng-deep button,button{cursor:pointer}\n"] }]
|
|
85
85
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.WorkflowDataService }], propDecorators: { closed: [{
|
|
86
86
|
type: Output
|
|
87
87
|
}], saved: [{
|
|
88
88
|
type: Output
|
|
89
89
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL2FjdGlvbi1kaWFsb2cvYWN0aW9uLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL2FjdGlvbi1kaWFsb2cvYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFZcEUsTUFBTSxPQUFPLHFCQUFxQjtJQWN0QjtJQUNBO0lBZFYsT0FBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUNoQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQyxDQUFDLDhCQUE4QjtJQUN0RSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM1QixLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUVqRCxVQUFVLENBQVk7SUFFdEIsZ0JBQWdCLEdBQXNDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRSxnQkFBZ0IsR0FBcUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWhFLHdJQUF3STtJQUV4SSxZQUNVLEVBQWUsRUFDZixXQUFnQztRQURoQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQXFC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QThDQTs7NEZEeEJhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7a0hBT25CLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGVmZmVjdCxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIHNpZ25hbCxcbiAgV3JpdGFibGVTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmxvd2FibGVTdGF0dXMsIE9wZXJhdGlvbkFjdGlvbiwgV29ya2Zsb3dBY3Rpb24gfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgV29ya2Zsb3dEYXRhU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LWRhdGEuc2VydmljZSc7XG5pbXBvcnQge1xuICBDb25uZWN0aW9uLFxufSBmcm9tICcuLi93b3JrZmxvdy1kZXNpZ25lci50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hY3Rpb24tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgYWN0aW9uRGF0YSA9IGlucHV0LnJlcXVpcmVkPENvbm5lY3Rpb24gfCBudWxsPigpOyAvLyBGb3IgZWRpdGluZyBleGlzdGluZyBzdGFnZXNcbiAgQE91dHB1dCgpIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxDb25uZWN0aW9uPigpO1xuXG4gIGFjdGlvbkZvcm06IEZvcm1Hcm91cDtcblxuICBvcGVyYXRpb25BY3Rpb25zOiBXcml0YWJsZVNpZ25hbDxPcGVyYXRpb25BY3Rpb25bXT4gPSBzaWduYWwoW10pO1xuICBmbG93YWJsZVN0YXR1c2VzOiBXcml0YWJsZVNpZ25hbDxGbG93YWJsZVN0YXR1c1tdPiA9IHNpZ25hbChbXSk7XG5cbiAgLy8gc2VsZWN0ZWRPcGVyYXRpb25BY3Rpb246IEJlaGF2aW9yU3ViamVjdDxPcGVyYXRpb25BY3Rpb25bXCJDb2RlXCJdIHwgbnVsbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE9wZXJhdGlvbkFjdGlvbltcIkNvZGVcIl0gfCBudWxsPihudWxsKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBXb3JrZmxvd0RhdGFTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYWN0aW9uRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgTmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIE9wZXJhdGlvbkFjdGlvbjogW251bGxdLFxuICAgICAgVGFyZ2V0U3RhdHVzOiBbbnVsbF0sXG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgLy8gSWYgYWN0aW9uRGF0YSBjaGFuZ2VzLCB1cGRhdGUgdGhlIGZvcm1cbiAgICAgIGNvbnN0IGFjdGlvbkRhdGEgPSB0aGlzLmFjdGlvbkRhdGEoKTtcbiAgICAgIGlmIChhY3Rpb25EYXRhKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiQUNUSU9OX0RBVEFcIiwgYWN0aW9uRGF0YSk7XG4gICAgICAgIHRoaXMuYWN0aW9uRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBOYW1lOiBhY3Rpb25EYXRhLmxhYmVsIHx8ICcnLFxuICAgICAgICAgIE9wZXJhdGlvbkFjdGlvbjogYWN0aW9uRGF0YS5hY3Rpb24gfHwgbnVsbCxcbiAgICAgICAgICBUYXJnZXRTdGF0dXM6IGFjdGlvbkRhdGEudGFyZ2V0U3RhdHVzIHx8IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkT3BlcmF0aW9uQWN0aW9ucygpO1xuICAgIHRoaXMubG9hZEZsb3dhYmxlU3RhdHVzZXMoKTtcbiAgfVxuXG4gIHNhdmVBY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aW9uRm9ybS52YWxpZCkge1xuXG4gICAgICBjb25zdCBmb3JtRGF0YSA9IHRoaXMuYWN0aW9uRm9ybS52YWx1ZSBhcyBQaWNrPFdvcmtmbG93QWN0aW9uLCBcIk5hbWVcIiB8IFwiT3BlcmF0aW9uQWN0aW9uXCIgfCBcIlRhcmdldFN0YXR1c1wiPjtcblxuICAgICAgLy8gUmVzZXQgZm9ybSBhZnRlciBzYXZpbmdcbiAgICAgIHRoaXMuYWN0aW9uRm9ybS5yZXNldCgpO1xuXG4gICAgICAvLyBFbWl0IHRoZSBzYXZlZCBkYXRhIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50XG5cbiAgICAgIGNvbnN0IHByZXZEYXRhID0gdGhpcy5hY3Rpb25EYXRhKCk7XG5cbiAgICAgIGNvbnNvbGUubG9nKFwiUFJFVl9EQVRBXCIsIHByZXZEYXRhKTtcbiAgICAgIGNvbnNvbGUubG9nKFwiRk9STV9EQVRBXCIsIGZvcm1EYXRhKTtcblxuICAgICAgaWYgKHByZXZEYXRhKSB7XG4gICAgICAgIHRoaXMuc2F2ZWQuZW1pdCh7XG4gICAgICAgICAgLi4ucHJldkRhdGEsXG4gICAgICAgICAgbGFiZWw6IGZvcm1EYXRhLk5hbWUsXG4gICAgICAgICAgYWN0aW9uOiBmb3JtRGF0YS5PcGVyYXRpb25BY3Rpb24sXG4gICAgICAgICAgdGFyZ2V0U3RhdHVzOiBmb3JtRGF0YS5UYXJnZXRTdGF0dXNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkT3BlcmF0aW9uQWN0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmdldE9wZXJhdGlvbkFjdGlvbnMoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLm9wZXJhdGlvbkFjdGlvbnMuc2V0KGRhdGEuUmVzdWx0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZEZsb3dhYmxlU3RhdHVzZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5nZXRGbG93YWJsZVN0YXR1c2VzKCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5mbG93YWJsZVN0YXR1c2VzLnNldChkYXRhLlJlc3VsdCk7XG4gICAgfSk7XG4gIH1cblxuICBvbkRpYWxvZ0Nsb3NlKGV2ZW50RGF0YTogYW55KSB7XG4gICAgY29uc29sZS5sb2coJ0RpYWxvZyBjbG9zZWQsIHJlY2VpdmVkIGRhdGE6JywgZXZlbnREYXRhKTtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gIH1cblxuICBvbkRpYWxvZ09wZW4oZXZlbnREYXRhOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZygnRGlhbG9nIG9wZW5lZCwgcmVjZWl2ZWQgZGF0YTonLCBldmVudERhdGEpO1xuICB9XG59XG4iLCI8dmVyYmVuLWRpYWxvZ3VlIFtzaG93Q2xvc2VJY29uXT1cInRydWVcIiBbZGlzbWlzc091dHNpZGVDbGlja109XCJ0cnVlXCIgW2Nsb3NlT25Fc2NhcGVdPVwidHJ1ZVwiIFtzaXplXT1cIidtZWRpdW0nXCJcbiAgW21vZGVdPVwiJ2RyYXdlcidcIiBbZGlzYWJsZUZvb3Rlcl09XCJmYWxzZVwiIFtpc1Zpc2libGVdPVwidmlzaWJsZSgpXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCJcbiAgW2JvZHlUZW1wbGF0ZV09XCJib2R5VGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIiAob3Blbk1vZGFsKT1cIm9uRGlhbG9nT3BlbigkZXZlbnQpXCJcbiAgKGNsb3NlTW9kYWwpPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCI+XG48L3ZlcmJlbi1kaWFsb2d1ZT5cblxuPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBwLTMgdGV4dC14cyBib3JkZXItYi00IGJvcmRlci1bI0ZGRTY4MV1cIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwibXItNFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImJsb2NrIHctMi41IGgtMi41IGJvcmRlci10IGJvcmRlci1sIGJvcmRlci1bIzNFM0UzRV0vNzAgdHJhbnNmb3JtIC1yb3RhdGUtNDVcIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNib2R5VGVtcGxhdGU+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiYWN0aW9uRm9ybVwiIGNsYXNzPVwibWItNCBzcGFjZS15LTRcIj5cbiAgICA8dmVyYmVuYS1pbnB1dCBuYW1lPVwiTmFtZVwiIGxhYmVsPVwiTmFtZVwiIGZvcm1Db250cm9sTmFtZT1cIk5hbWVcIiBwbGFjZUhvbGRlcj1cIkVudGVyIE5hbWVcIiAvPlxuXG4gICAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgICAgPGxhYmVsIGZvcj1cIm9wZXJhdGlvbi1hY3Rpb25cIiBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LVsjM0UzRTNFXVwiPlxuICAgICAgICBPcGVyYXRpb24gQWN0aW9uXG4gICAgICA8L2xhYmVsPlxuICAgICAgPHZlcmJlbi1kcm9wLWRvd24gaWQ9XCJvcGVyYXRpb24tYWN0aW9uXCIgc3R5bGVDbGFzcz1cInctZnVsbFwiIHdpZHRoPVwiMTAwJVwiIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IE9wZXJhdGlvbiBBY3Rpb25cIiBbb3B0aW9uc109XCJvcGVyYXRpb25BY3Rpb25zKClcIiBvcHRpb25MYWJlbD1cIk5hbWVcIiBvcHRpb25WYWx1ZT1cIkNvZGVcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJPcGVyYXRpb25BY3Rpb25cIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPjwvdmVyYmVuLWRyb3AtZG93bj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzcGFjZS15LTFcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJ0YXJnZXQtc3RhdHVzXCIgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1bIzNFM0UzRV1cIj5cbiAgICAgICAgVGFyZ2V0IFN0YXR1c1xuICAgICAgPC9sYWJlbD5cbiAgICAgIDx2ZXJiZW4tZHJvcC1kb3duIGlkPVwidGFyZ2V0LXN0YXR1c1wiIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIiB3aWR0aD1cIjEwMCVcIiBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBUYXJnZXQgU3RhdHVzXCIgW29wdGlvbnNdPVwiZmxvd2FibGVTdGF0dXNlcygpXCIgb3B0aW9uTGFiZWw9XCJOYW1lXCIgb3B0aW9uVmFsdWU9XCJDb2RlXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiVGFyZ2V0U3RhdHVzXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj48L3ZlcmJlbi1kcm9wLWRvd24+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWVuZFwiPlxuICAgIDx2ZXJiZW5hLWJ1dHRvbiAoY2xpY2spPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCIgdGV4dD1cIkNhbmNlbFwiIHN0eWxlVHlwZT1cInlsdy1vdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwibWwtYXV0b1wiPjwvdmVyYmVuYS1idXR0b24+XG4gICAgPHZlcmJlbmEtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiB0ZXh0PVwiU2F2ZVwiIGJnQ29sb3I9XCIjRkZFNjgxXCIgdGV4dENvbG9yPVwiIzQwNDA0MFwiIGJvcmRlclJhZGl1cz1cIjEwcHhcIiBwZD1cIjEwcHggMjBweFwiXG4gICAgICB3aWR0aD1cIjExNHB4XCIgaGVpZ2h0PVwiMzlweFwiIChjbGljayk9XCJzYXZlQWN0aW9uKClcIiBbZGlzYWJsZV09XCJhY3Rpb25Gb3JtLmludmFsaWRcIj48L3ZlcmJlbmEtYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL2FjdGlvbi1kaWFsb2cvYWN0aW9uLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL2FjdGlvbi1kaWFsb2cvYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFZcEUsTUFBTSxPQUFPLHFCQUFxQjtJQWN0QjtJQUNBO0lBZFYsT0FBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUNoQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQyxDQUFDLDhCQUE4QjtJQUN0RSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM1QixLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUVqRCxVQUFVLENBQVk7SUFFdEIsZ0JBQWdCLEdBQXNDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRSxnQkFBZ0IsR0FBcUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWhFLHdJQUF3STtJQUV4SSxZQUNVLEVBQWUsRUFDZixXQUFnQztRQURoQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQXFC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QThDQTs7NEZEeEJhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7a0hBT25CLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGVmZmVjdCxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIHNpZ25hbCxcbiAgV3JpdGFibGVTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmxvd2FibGVTdGF0dXMsIE9wZXJhdGlvbkFjdGlvbiwgV29ya2Zsb3dBY3Rpb24gfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgV29ya2Zsb3dEYXRhU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LWRhdGEuc2VydmljZSc7XG5pbXBvcnQge1xuICBDb25uZWN0aW9uLFxufSBmcm9tICcuLi93b3JrZmxvdy1kZXNpZ25lci50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hY3Rpb24tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWN0aW9uLWRpYWxvZy5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgYWN0aW9uRGF0YSA9IGlucHV0LnJlcXVpcmVkPENvbm5lY3Rpb24gfCBudWxsPigpOyAvLyBGb3IgZWRpdGluZyBleGlzdGluZyBzdGFnZXNcbiAgQE91dHB1dCgpIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxDb25uZWN0aW9uPigpO1xuXG4gIGFjdGlvbkZvcm06IEZvcm1Hcm91cDtcblxuICBvcGVyYXRpb25BY3Rpb25zOiBXcml0YWJsZVNpZ25hbDxPcGVyYXRpb25BY3Rpb25bXT4gPSBzaWduYWwoW10pO1xuICBmbG93YWJsZVN0YXR1c2VzOiBXcml0YWJsZVNpZ25hbDxGbG93YWJsZVN0YXR1c1tdPiA9IHNpZ25hbChbXSk7XG5cbiAgLy8gc2VsZWN0ZWRPcGVyYXRpb25BY3Rpb246IEJlaGF2aW9yU3ViamVjdDxPcGVyYXRpb25BY3Rpb25bXCJDb2RlXCJdIHwgbnVsbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE9wZXJhdGlvbkFjdGlvbltcIkNvZGVcIl0gfCBudWxsPihudWxsKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBXb3JrZmxvd0RhdGFTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYWN0aW9uRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgTmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIE9wZXJhdGlvbkFjdGlvbjogW251bGxdLFxuICAgICAgVGFyZ2V0U3RhdHVzOiBbbnVsbF0sXG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgLy8gSWYgYWN0aW9uRGF0YSBjaGFuZ2VzLCB1cGRhdGUgdGhlIGZvcm1cbiAgICAgIGNvbnN0IGFjdGlvbkRhdGEgPSB0aGlzLmFjdGlvbkRhdGEoKTtcbiAgICAgIGlmIChhY3Rpb25EYXRhKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiQUNUSU9OX0RBVEFcIiwgYWN0aW9uRGF0YSk7XG4gICAgICAgIHRoaXMuYWN0aW9uRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBOYW1lOiBhY3Rpb25EYXRhLmxhYmVsIHx8ICcnLFxuICAgICAgICAgIE9wZXJhdGlvbkFjdGlvbjogYWN0aW9uRGF0YS5hY3Rpb24gfHwgbnVsbCxcbiAgICAgICAgICBUYXJnZXRTdGF0dXM6IGFjdGlvbkRhdGEudGFyZ2V0U3RhdHVzIHx8IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkT3BlcmF0aW9uQWN0aW9ucygpO1xuICAgIHRoaXMubG9hZEZsb3dhYmxlU3RhdHVzZXMoKTtcbiAgfVxuXG4gIHNhdmVBY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aW9uRm9ybS52YWxpZCkge1xuXG4gICAgICBjb25zdCBmb3JtRGF0YSA9IHRoaXMuYWN0aW9uRm9ybS52YWx1ZSBhcyBQaWNrPFdvcmtmbG93QWN0aW9uLCBcIk5hbWVcIiB8IFwiT3BlcmF0aW9uQWN0aW9uXCIgfCBcIlRhcmdldFN0YXR1c1wiPjtcblxuICAgICAgLy8gUmVzZXQgZm9ybSBhZnRlciBzYXZpbmdcbiAgICAgIHRoaXMuYWN0aW9uRm9ybS5yZXNldCgpO1xuXG4gICAgICAvLyBFbWl0IHRoZSBzYXZlZCBkYXRhIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50XG5cbiAgICAgIGNvbnN0IHByZXZEYXRhID0gdGhpcy5hY3Rpb25EYXRhKCk7XG5cbiAgICAgIGNvbnNvbGUubG9nKFwiUFJFVl9EQVRBXCIsIHByZXZEYXRhKTtcbiAgICAgIGNvbnNvbGUubG9nKFwiRk9STV9EQVRBXCIsIGZvcm1EYXRhKTtcblxuICAgICAgaWYgKHByZXZEYXRhKSB7XG4gICAgICAgIHRoaXMuc2F2ZWQuZW1pdCh7XG4gICAgICAgICAgLi4ucHJldkRhdGEsXG4gICAgICAgICAgbGFiZWw6IGZvcm1EYXRhLk5hbWUsXG4gICAgICAgICAgYWN0aW9uOiBmb3JtRGF0YS5PcGVyYXRpb25BY3Rpb24sXG4gICAgICAgICAgdGFyZ2V0U3RhdHVzOiBmb3JtRGF0YS5UYXJnZXRTdGF0dXNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkT3BlcmF0aW9uQWN0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLmdldE9wZXJhdGlvbkFjdGlvbnMoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLm9wZXJhdGlvbkFjdGlvbnMuc2V0KGRhdGEuUmVzdWx0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZEZsb3dhYmxlU3RhdHVzZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5nZXRGbG93YWJsZVN0YXR1c2VzKCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5mbG93YWJsZVN0YXR1c2VzLnNldChkYXRhLlJlc3VsdCk7XG4gICAgfSk7XG4gIH1cblxuICBvbkRpYWxvZ0Nsb3NlKGV2ZW50RGF0YTogYW55KSB7XG4gICAgY29uc29sZS5sb2coJ0RpYWxvZyBjbG9zZWQsIHJlY2VpdmVkIGRhdGE6JywgZXZlbnREYXRhKTtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gIH1cblxuICBvbkRpYWxvZ09wZW4oZXZlbnREYXRhOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZygnRGlhbG9nIG9wZW5lZCwgcmVjZWl2ZWQgZGF0YTonLCBldmVudERhdGEpO1xuICB9XG59XG4iLCI8dmVyYmVuLWRpYWxvZ3VlIFtzaG93Q2xvc2VJY29uXT1cInRydWVcIiBbZGlzbWlzc091dHNpZGVDbGlja109XCJ0cnVlXCIgW2Nsb3NlT25Fc2NhcGVdPVwidHJ1ZVwiIFtzaXplXT1cIidtZWRpdW0nXCJcbiAgW21vZGVdPVwiJ2RyYXdlcidcIiBbZGlzYWJsZUZvb3Rlcl09XCJmYWxzZVwiIFtpc1Zpc2libGVdPVwidmlzaWJsZSgpXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCJcbiAgW2JvZHlUZW1wbGF0ZV09XCJib2R5VGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIiAob3Blbk1vZGFsKT1cIm9uRGlhbG9nT3BlbigkZXZlbnQpXCJcbiAgKGNsb3NlTW9kYWwpPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCI+XG48L3ZlcmJlbi1kaWFsb2d1ZT5cblxuPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBwLTMgdGV4dC14cyBib3JkZXItYi00IGJvcmRlci1bI0ZGRTY4MV1cIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwibXItNFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImJsb2NrIHctMi41IGgtMi41IGJvcmRlci10IGJvcmRlci1sIGJvcmRlci1bIzNFM0UzRV0vNzAgdHJhbnNmb3JtIC1yb3RhdGUtNDVcIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNib2R5VGVtcGxhdGU+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiYWN0aW9uRm9ybVwiIGNsYXNzPVwibWItNCBzcGFjZS15LTRcIj5cbiAgICA8dmVyYmVuYS1pbnB1dCBuYW1lPVwiTmFtZVwiIGxhYmVsPVwiTmFtZVwiIGZvcm1Db250cm9sTmFtZT1cIk5hbWVcIiBwbGFjZUhvbGRlcj1cIkVudGVyIE5hbWVcIiAvPlxuXG4gICAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgICAgPGxhYmVsIGZvcj1cIm9wZXJhdGlvbi1hY3Rpb25cIiBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LVsjM0UzRTNFXVwiPlxuICAgICAgICBPcGVyYXRpb24gQWN0aW9uXG4gICAgICA8L2xhYmVsPlxuICAgICAgPHZlcmJlbi1kcm9wLWRvd24gaWQ9XCJvcGVyYXRpb24tYWN0aW9uXCIgc3R5bGVDbGFzcz1cInctZnVsbFwiIHdpZHRoPVwiMTAwJVwiIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IE9wZXJhdGlvbiBBY3Rpb25cIiBbb3B0aW9uc109XCJvcGVyYXRpb25BY3Rpb25zKClcIiBvcHRpb25MYWJlbD1cIk5hbWVcIiBvcHRpb25WYWx1ZT1cIkNvZGVcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJPcGVyYXRpb25BY3Rpb25cIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPjwvdmVyYmVuLWRyb3AtZG93bj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJzcGFjZS15LTFcIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJ0YXJnZXQtc3RhdHVzXCIgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1bIzNFM0UzRV1cIj5cbiAgICAgICAgVGFyZ2V0IFN0YXR1c1xuICAgICAgPC9sYWJlbD5cbiAgICAgIDx2ZXJiZW4tZHJvcC1kb3duIGlkPVwidGFyZ2V0LXN0YXR1c1wiIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIiB3aWR0aD1cIjEwMCVcIiBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBUYXJnZXQgU3RhdHVzXCIgW29wdGlvbnNdPVwiZmxvd2FibGVTdGF0dXNlcygpXCIgb3B0aW9uTGFiZWw9XCJEZXNjcmlwdGlvblwiIG9wdGlvblZhbHVlPVwiTmFtZVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cIlRhcmdldFN0YXR1c1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCI+PC92ZXJiZW4tZHJvcC1kb3duPlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBpdGVtcy1jZW50ZXIganVzdGlmeS1lbmRcIj5cbiAgICA8dmVyYmVuYS1idXR0b24gKGNsaWNrKT1cIm9uRGlhbG9nQ2xvc2UoJGV2ZW50KVwiIHRleHQ9XCJDYW5jZWxcIiBzdHlsZVR5cGU9XCJ5bHctb3V0bGluZVwiXG4gICAgICBjbGFzcz1cIm1sLWF1dG9cIj48L3ZlcmJlbmEtYnV0dG9uPlxuICAgIDx2ZXJiZW5hLWJ1dHRvbiB0eXBlPVwic3VibWl0XCIgdGV4dD1cIlNhdmVcIiBiZ0NvbG9yPVwiI0ZGRTY4MVwiIHRleHRDb2xvcj1cIiM0MDQwNDBcIiBib3JkZXJSYWRpdXM9XCIxMHB4XCIgcGQ9XCIxMHB4IDIwcHhcIlxuICAgICAgd2lkdGg9XCIxMTRweFwiIGhlaWdodD1cIjM5cHhcIiAoY2xpY2spPVwic2F2ZUFjdGlvbigpXCIgW2Rpc2FibGVdPVwiYWN0aW9uRm9ybS5pbnZhbGlkXCI+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -72,9 +72,9 @@ export class EscalationDialogComponent {
|
|
|
72
72
|
const escalation = this.escalation();
|
|
73
73
|
const reportSchedules = this.reportSchedules();
|
|
74
74
|
if (escalation && reportSchedules) {
|
|
75
|
-
this.selectedMessages = escalation.
|
|
76
|
-
const found = reportSchedules.find((rs) => rs.Code ===
|
|
77
|
-
return found ? { ...found, IsTaskDataSource:
|
|
75
|
+
this.selectedMessages = escalation.FullMessages.map(({ Message, IsTaskDataSource }) => {
|
|
76
|
+
const found = reportSchedules.find((rs) => rs.Code === Message);
|
|
77
|
+
return found ? { ...found, IsTaskDataSource: IsTaskDataSource } : null;
|
|
78
78
|
});
|
|
79
79
|
// this.selectedOperationAction.next(escalation.OperationAction ?? null);
|
|
80
80
|
// console.log("SETTING OP", this.selectedOperationAction);
|
|
@@ -159,8 +159,10 @@ export class EscalationDialogComponent {
|
|
|
159
159
|
Messages: taskNotifications.map(({ Code }) => Code),
|
|
160
160
|
FullMessages: taskNotifications,
|
|
161
161
|
};
|
|
162
|
-
console.log(data);
|
|
163
|
-
|
|
162
|
+
console.log("Saving escalation data:", data);
|
|
163
|
+
this.dataService.saveEscalations([data]).then((data) => {
|
|
164
|
+
console.log("Escalation saved:", data);
|
|
165
|
+
});
|
|
164
166
|
// }
|
|
165
167
|
}
|
|
166
168
|
loadEscalation(stageCode) {
|
|
@@ -177,6 +179,7 @@ export class EscalationDialogComponent {
|
|
|
177
179
|
})
|
|
178
180
|
.then((data) => {
|
|
179
181
|
this.escalation.set(data.Result[0] ?? null);
|
|
182
|
+
console.log("Escalation loaded:", this.escalation());
|
|
180
183
|
// this.selectedOperationAction.next(data.Result[0]?.OperationAction ?? null);
|
|
181
184
|
});
|
|
182
185
|
}
|
|
@@ -202,11 +205,11 @@ export class EscalationDialogComponent {
|
|
|
202
205
|
return escalation !== null && escalation.DataState !== 'New';
|
|
203
206
|
}
|
|
204
207
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EscalationDialogComponent, deps: [{ token: i1.FormBuilder }, { token: i2.WorkflowDataService }], target: i0.ɵɵFactoryTarget.Component });
|
|
205
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EscalationDialogComponent, selector: "lib-escalation-dialog", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: false, isRequired: false, transformFunction: null }, workflowCode: { classPropertyName: "workflowCode", publicName: "workflowCode", isSignal: true, isRequired: true, transformFunction: null }, stageCode: { classPropertyName: "stageCode", publicName: "stageCode", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", created: "created" }, ngImport: i0, template: "<verben-dialogue
|
|
208
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EscalationDialogComponent, selector: "lib-escalation-dialog", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: false, isRequired: false, transformFunction: null }, workflowCode: { classPropertyName: "workflowCode", publicName: "workflowCode", isSignal: true, isRequired: true, transformFunction: null }, stageCode: { classPropertyName: "stageCode", publicName: "stageCode", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", created: "created" }, ngImport: i0, template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[#FFE681]\">\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span class=\"block w-2.5 h-2.5 border-t border-l border-[#3E3E3E]/70 transform -rotate-45\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <div>\n <div class=\"mb-4 space-y-4\">\n <!-- <div class=\"space-y-1\">\n <label for=\"operation-action\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Escalation\n </label>\n <verben-drop-down\n id=\"operation-action\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n placeholder=\"Select Operation Action\"\n [options]=\"operationActions()\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [ngModel]=\"selectedOperationAction | async\"\n (ngModelChange)=\"selectedOperationAction.next($event)\"\n class=\"form-control\"\n ></verben-drop-down>\n </div> -->\n\n <div class=\"space-y-4\" *ngFor=\"let message of selectedMessages; let i = index\">\n <div class=\"space-y-1\">\n <label [for]=\"message + '-' + i\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Message {{ i + 1 }}\n </label>\n <verben-drop-down [id]=\"message + '-' + i\" selectKey=\"Code\" styleClass=\"w-full\" width=\"100%\"\n [multiselect]=\"false\" placeholder=\"Select Message\" [options]=\"reportSchedules()\" optionLabel=\"Name\"\n [ngModel]=\"message\" (ngModelChange)=\"onMessageSelected($event, i)\" class=\"form-control\"></verben-drop-down>\n </div>\n\n @if (message) {\n <div class=\"flex items-center gap-4\">\n <label [for]=\"'is-' + message + '-' + i + 'task-data-source'\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Is Task Data Source?\n </label>\n <verbena-switch [id]=\"'is-' + message + '-' + i + 'task-data-source'\" onText=\"Yes\" offText=\"No\"\n [onColor]=\"'#1A237E'\" [(ngModel)]=\"message.IsTaskDataSource\"></verbena-switch>\n </div>\n }\n\n <div class=\"border border-primary -m-2 rounded-lg flex flex-col gap-3\" *ngIf=\"message\">\n <div class=\"space-y-3 border-b border-primary px-2 py-3\">\n <verbena-input name=\"Subject\" [(ngModel)]=\"message.Subject\" [readOnly]=\"true\" />\n <verbena-input name=\"Recipients\" [(ngModel)]=\"message.Recipients\" [readOnly]=\"true\" />\n </div>\n <lib-editor [editorConfig]=\"editorConfig\" [editorMode]=\"editorMode\"\n [(ngModel)]=\"message.PlainMessage\"></lib-editor>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div class=\"flex justify-between items-center gap-8 w-full\">\n <verbena-button style=\"cursor: pointer\" type=\"button\" text=\"Add Message\" bgColor=\"#FFE681\" textColor=\"#404040\"\n borderRadius=\"8px\" pd=\"10px 20px\" height=\"39px\" fontWeight=\"600\" fontSize=\"12px\" svg=\"add\" [svgHeight]=\"14\"\n [svgWidth]=\"14\" [svgSize]=\"'sm'\" (click)=\"addMessage()\"></verbena-button>\n\n <div class=\"flex gap-2 items-center\">\n <verbena-button style=\"cursor: pointer\" type=\"button\" text=\"Delete\" bgColor=\"#FFE681\" textColor=\"#404040\"\n borderRadius=\"8px\" pd=\"10px 20px\" width=\"110px\" height=\"39px\" fontWeight=\"600\" fontSize=\"12px\" svg=\"delete\"\n [svgHeight]=\"14\" [svgWidth]=\"14\" [svgSize]=\"'sm'\" (click)=\"onDialogClose($event)\"></verbena-button>\n\n <verbena-button style=\"cursor: pointer\" type=\"button\" text=\"Send\" bgColor=\"#FFE681\" textColor=\"#404040\"\n borderRadius=\"8px\" pd=\"10px 20px\" width=\"160px\" height=\"39px\" fontWeight=\"600\" fontSize=\"12px\" svg=\"send\"\n [svgHeight]=\"14\" [svgWidth]=\"14\" [svgSize]=\"'sm'\" (click)=\"saveMessages()\"></verbena-button>\n </div>\n </div>\n</ng-template>\n", styles: ["::ng-deep .modal-footer{display:flex;justify-content:space-between!important}::ng-deep button,button{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.VerbenDialogueComponent, selector: "verben-dialogue", inputs: ["dialogueWidth", "headerTemplate", "bodyTemplate", "footerTemplate", "showCloseIcon", "dismissOutsideClick", "closeOnEscape", "isVisible", "size", "backdropColor", "customClass", "disableFooter", "margin", "padding", "borderRadius", "dialogueBgColor", "width", "closeIconClass", "boxShadow", "enableTransition", "modalData", "mode", "position", "drawerWidth"], outputs: ["openModal", "closeModal"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "useIcon", "svgPosition", "iconPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "svgSize", "weight", "variant", "styleType", "svg", "svgWidth", "svgHeight", "iconColor", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "component", type: i4.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }, { kind: "component", type: i5.EditorComponent, selector: "lib-editor", inputs: ["themeColor", "editorMode", "editorConfig", "content"] }, { kind: "component", type: i4.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i4.VerbenaSwitchComponent, selector: "verbena-switch", inputs: ["label", "checked", "disabled", "offColor", "onColor", "onText", "offText", "width", "height", "customStyles"], outputs: ["change"] }] });
|
|
206
209
|
}
|
|
207
210
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EscalationDialogComponent, decorators: [{
|
|
208
211
|
type: Component,
|
|
209
|
-
args: [{ selector: 'lib-escalation-dialog', template: "<verben-dialogue
|
|
212
|
+
args: [{ selector: 'lib-escalation-dialog', template: "<verben-dialogue [showCloseIcon]=\"true\" [dismissOutsideClick]=\"true\" [closeOnEscape]=\"true\" [size]=\"'medium'\"\n [mode]=\"'drawer'\" [disableFooter]=\"false\" [isVisible]=\"visible\" [headerTemplate]=\"headerTemplate\"\n [bodyTemplate]=\"bodyTemplate\" [footerTemplate]=\"footerTemplate\" (openModal)=\"onDialogOpen($event)\"\n (closeModal)=\"onDialogClose($event)\">\n</verben-dialogue>\n\n<ng-template #headerTemplate>\n <div class=\"flex items-center justify-between p-3 text-xs border-b-4 border-[#FFE681]\">\n <button class=\"mr-4\" type=\"button\" (click)=\"onDialogClose($event)\">\n <span class=\"block w-2.5 h-2.5 border-t border-l border-[#3E3E3E]/70 transform -rotate-45\"></span>\n </button>\n </div>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <div>\n <div class=\"mb-4 space-y-4\">\n <!-- <div class=\"space-y-1\">\n <label for=\"operation-action\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Escalation\n </label>\n <verben-drop-down\n id=\"operation-action\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n placeholder=\"Select Operation Action\"\n [options]=\"operationActions()\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n [ngModel]=\"selectedOperationAction | async\"\n (ngModelChange)=\"selectedOperationAction.next($event)\"\n class=\"form-control\"\n ></verben-drop-down>\n </div> -->\n\n <div class=\"space-y-4\" *ngFor=\"let message of selectedMessages; let i = index\">\n <div class=\"space-y-1\">\n <label [for]=\"message + '-' + i\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Message {{ i + 1 }}\n </label>\n <verben-drop-down [id]=\"message + '-' + i\" selectKey=\"Code\" styleClass=\"w-full\" width=\"100%\"\n [multiselect]=\"false\" placeholder=\"Select Message\" [options]=\"reportSchedules()\" optionLabel=\"Name\"\n [ngModel]=\"message\" (ngModelChange)=\"onMessageSelected($event, i)\" class=\"form-control\"></verben-drop-down>\n </div>\n\n @if (message) {\n <div class=\"flex items-center gap-4\">\n <label [for]=\"'is-' + message + '-' + i + 'task-data-source'\" class=\"text-sm font-semibold text-[#3E3E3E]\">\n Is Task Data Source?\n </label>\n <verbena-switch [id]=\"'is-' + message + '-' + i + 'task-data-source'\" onText=\"Yes\" offText=\"No\"\n [onColor]=\"'#1A237E'\" [(ngModel)]=\"message.IsTaskDataSource\"></verbena-switch>\n </div>\n }\n\n <div class=\"border border-primary -m-2 rounded-lg flex flex-col gap-3\" *ngIf=\"message\">\n <div class=\"space-y-3 border-b border-primary px-2 py-3\">\n <verbena-input name=\"Subject\" [(ngModel)]=\"message.Subject\" [readOnly]=\"true\" />\n <verbena-input name=\"Recipients\" [(ngModel)]=\"message.Recipients\" [readOnly]=\"true\" />\n </div>\n <lib-editor [editorConfig]=\"editorConfig\" [editorMode]=\"editorMode\"\n [(ngModel)]=\"message.PlainMessage\"></lib-editor>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #footerTemplate>\n <div class=\"flex justify-between items-center gap-8 w-full\">\n <verbena-button style=\"cursor: pointer\" type=\"button\" text=\"Add Message\" bgColor=\"#FFE681\" textColor=\"#404040\"\n borderRadius=\"8px\" pd=\"10px 20px\" height=\"39px\" fontWeight=\"600\" fontSize=\"12px\" svg=\"add\" [svgHeight]=\"14\"\n [svgWidth]=\"14\" [svgSize]=\"'sm'\" (click)=\"addMessage()\"></verbena-button>\n\n <div class=\"flex gap-2 items-center\">\n <verbena-button style=\"cursor: pointer\" type=\"button\" text=\"Delete\" bgColor=\"#FFE681\" textColor=\"#404040\"\n borderRadius=\"8px\" pd=\"10px 20px\" width=\"110px\" height=\"39px\" fontWeight=\"600\" fontSize=\"12px\" svg=\"delete\"\n [svgHeight]=\"14\" [svgWidth]=\"14\" [svgSize]=\"'sm'\" (click)=\"onDialogClose($event)\"></verbena-button>\n\n <verbena-button style=\"cursor: pointer\" type=\"button\" text=\"Send\" bgColor=\"#FFE681\" textColor=\"#404040\"\n borderRadius=\"8px\" pd=\"10px 20px\" width=\"160px\" height=\"39px\" fontWeight=\"600\" fontSize=\"12px\" svg=\"send\"\n [svgHeight]=\"14\" [svgWidth]=\"14\" [svgSize]=\"'sm'\" (click)=\"saveMessages()\"></verbena-button>\n </div>\n </div>\n</ng-template>\n", styles: ["::ng-deep .modal-footer{display:flex;justify-content:space-between!important}::ng-deep button,button{cursor:pointer}\n"] }]
|
|
210
213
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.WorkflowDataService }], propDecorators: { visible: [{
|
|
211
214
|
type: Input
|
|
212
215
|
}], closed: [{
|
|
@@ -214,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
214
217
|
}], created: [{
|
|
215
218
|
type: Output
|
|
216
219
|
}] } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYWxhdGlvbi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvdy1kZXNpZ25lci9lc2NhbGF0aW9uLWRpYWxvZy9lc2NhbGF0aW9uLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL2VzY2FsYXRpb24tZGlhbG9nL2VzY2FsYXRpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsS0FBSyxFQUVMLE1BQU0sRUFDTixNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFnQixVQUFVLEVBQWUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RSxPQUFPLEVBQThCLFdBQVcsRUFBb0Msb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQVFwSixNQUFNLE9BQU8seUJBQXlCO0lBd0QxQjtJQUNBO0lBeERELE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDbEMsWUFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUN4QyxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO0lBQ3JDLElBQUksR0FBRyxLQUFLLEVBQWtCLENBQUM7SUFFckIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDNUIsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFNLENBQUM7SUFFM0MsVUFBVSxHQUFzQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0Qsa0JBQWtCO0lBQ2xC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S0FxTEE7OzRGRGhLYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCO2tIQUt4QixPQUFPO3NCQUFmLEtBQUs7Z0JBS0ksTUFBTTtzQkFBZixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGVmZmVjdCxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWRpdG9yQ29uZmlnLCBFZGl0b3JNb2RlLCBFZGl0b3JTdGF0ZSB9IGZyb20gJ3ZlcmJlbi1yZXBvcnRpbmctdWknO1xuaW1wb3J0IHsgRXNjYWxhdGlvbiwgRXNjYWxhdGlvblR5cGUsIE9iamVjdFN0YXRlLCBSZXBvcnRTY2hlZHVsZSwgVGFza05vdGlmaWNhdGlvbiwgVGFza05vdGlmaWNhdGlvblR5cGUgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgV29ya2Zsb3dEYXRhU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LWRhdGEuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1lc2NhbGF0aW9uLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9lc2NhbGF0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9lc2NhbGF0aW9uLWRpYWxvZy5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRXNjYWxhdGlvbkRpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgd29ya2Zsb3dDb2RlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICBzdGFnZUNvZGUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gIHR5cGUgPSBpbnB1dDxFc2NhbGF0aW9uVHlwZT4oKTtcblxuICBAT3V0cHV0KCkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8e30+KCk7XG5cbiAgZXNjYWxhdGlvbjogV3JpdGFibGVTaWduYWw8RXNjYWxhdGlvbiB8IG51bGw+ID0gc2lnbmFsKG51bGwpO1xuXG4gIC8vIGVzY2FsYXRpb25Gb3JtO1xuICByZXBvcnRTY2hlZHVsZXM6IFdyaXRhYmxlU2lnbmFsPFJlcG9ydFNjaGVkdWxlW10+ID0gc2lnbmFsKFtdKTtcbiAgLy8gb3BlcmF0aW9uQWN0aW9uczogV3JpdGFibGVTaWduYWw8T3BlcmF0aW9uQWN0aW9uW10+ID0gc2lnbmFsKFtdKTtcblxuICAvLyBzZWxlY3RlZE9wZXJhdGlvbkFjdGlvbjogQmVoYXZpb3JTdWJqZWN0PE9wZXJhdGlvbkFjdGlvbltcIkNvZGVcIl0gfCBudWxsPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3BlcmF0aW9uQWN0aW9uW1wiQ29kZVwiXSB8IG51bGw+KG51bGwpO1xuXG4gIC8vIHNlbGVjdGVkTWVzc2FnZXM6IFdyaXRhYmxlU2lnbmFsPFxuICAvLyAgICgoUmVwb3J0U2NoZWR1bGUgJiB7IElzVGFza0RhdGFTb3VyY2U6IGJvb2xlYW4gfSkgfCBudWxsKVtdXG4gIC8vID4gPSBzaWduYWwoW10pO1xuXG4gIHNlbGVjdGVkTWVzc2FnZXM6ICgoUmVwb3J0U2NoZWR1bGUgJiB7IElzVGFza0RhdGFTb3VyY2U6IGJvb2xlYW4gfSkgfCBudWxsKVtdID0gW107XG5cbiAgZWRpdG9yTW9kZTogRWRpdG9yTW9kZSA9IEVkaXRvck1vZGUuRGVzaWduZXI7XG4gIGVkaXRvckNvbmZpZzogRWRpdG9yQ29uZmlnID0ge1xuICAgIGVkaXRhYmxlOiB0cnVlLFxuICAgIGhlaWdodDogJycsXG4gICAgd2lkdGg6ICcnLFxuICAgIHNob3dUb29sYmFyOiB0cnVlLFxuICAgIG1lbnVJdGVtczogW1xuICAgICAge1xuICAgICAgICBMYWJlbDogJ1RvZ2dsZVZpZXcnLFxuICAgICAgICBJY29uOiAnY29kZS10b2dnbGUnLFxuICAgICAgICBJY29uV2lkdGg6IDIwLFxuICAgICAgICBJY29uSGVpZ2h0OiAyMCxcbiAgICAgICAgSXNTdHJva2U6IGZhbHNlLFxuICAgICAgICBHcm91cEJ5OiAnbG9jYWwnLFxuICAgICAgICBPbkNsaWNrOiAoZXZlbnQ6IEVkaXRvclN0YXRlIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICAgICAgdGhpcy5lZGl0b3JNb2RlID1cbiAgICAgICAgICAgIHRoaXMuZWRpdG9yTW9kZSA9PSBFZGl0b3JNb2RlLkRlc2lnbmVyXG4gICAgICAgICAgICAgID8gRWRpdG9yTW9kZS5Db2RlXG4gICAgICAgICAgICAgIDogRWRpdG9yTW9kZS5EZXNpZ25lcjtcbiAgICAgICAgfSxcbiAgICAgICAgSXNEaXNhYmxlZDogKGV2ZW50OiBFZGl0b3JTdGF0ZSB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgSXNFbmFibGVkOiAoZXZlbnQ6IEVkaXRvclN0YXRlIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yTW9kZSA9PSBFZGl0b3JNb2RlLkNvZGU7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIH07XG5cbiAgLy8gSXNUYXNrRGF0YVNvdXJjZTogV3JpdGFibGVTaWduYWw8Ym9vbGVhbltdPiA9IHNpZ25hbChbXSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBkYXRhU2VydmljZTogV29ya2Zsb3dEYXRhU2VydmljZVxuICApIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3Qgc3RhZ2VDb2RlID0gdGhpcy5zdGFnZUNvZGUoKTtcbiAgICAgIGNvbnN0IHdvcmtmbG93Q29kZSA9IHRoaXMud29ya2Zsb3dDb2RlKCk7XG4gICAgICBjb25zdCB0eXBlID0gdGhpcy50eXBlKCk7XG4gICAgICBjb25zb2xlLmxvZygnU3RhZ2UgY29kZSBjaGFuZ2VkOicsIHN0YWdlQ29kZSk7XG4gICAgICBpZiAod29ya2Zsb3dDb2RlICYmIHN0YWdlQ29kZSAmJiB0eXBlKSB7XG4gICAgICAgIC8vIHRoaXMubG9hZEVzY2FsYXRpb24oc3RhZ2VDb2RlKTtcbiAgICAgICAgdGhpcy5zZWFyY2hFc2NhbGF0aW9uKHdvcmtmbG93Q29kZSwgc3RhZ2VDb2RlLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBlc2NhbGF0aW9uID0gdGhpcy5lc2NhbGF0aW9uKCk7XG4gICAgICBjb25zdCByZXBvcnRTY2hlZHVsZXMgPSB0aGlzLnJlcG9ydFNjaGVkdWxlcygpO1xuXG4gICAgICBpZiAoZXNjYWxhdGlvbiAmJiByZXBvcnRTY2hlZHVsZXMpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1lc3NhZ2VzID0gZXNjYWxhdGlvbi5NZXNzYWdlcy5tYXAoKGNvZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBmb3VuZCA9IHJlcG9ydFNjaGVkdWxlcy5maW5kKChycykgPT4gcnMuQ29kZSA9PT0gY29kZSk7XG4gICAgICAgICAgcmV0dXJuIGZvdW5kID8geyAuLi5mb3VuZCwgSXNUYXNrRGF0YVNvdXJjZTogdHJ1ZSB9IDogbnVsbDtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHRoaXMuc2VsZWN0ZWRPcGVyYXRpb25BY3Rpb24ubmV4dChlc2NhbGF0aW9uLk9wZXJhdGlvbkFjdGlvbiA/PyBudWxsKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJTRVRUSU5HIE9QXCIsIHRoaXMuc2VsZWN0ZWRPcGVyYXRpb25BY3Rpb24pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gdGhpcy5lc2NhbGF0aW9uRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIC8vICAgTWVzc2FnZXM6IHRoaXMuZmIuYXJyYXkoW10pLFxuICAgIC8vIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkUmVwb3J0U2NoZWR1bGVzKCk7XG4gICAgLy8gdGhpcy5sb2FkT3BlcmF0aW9uQWN0aW9ucygpO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuYWRkTWVzc2FnZSgpO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKFxuICAgICAgJ0VzY2FsYXRpb25EaWFsb2dDb21wb25lbnQgaW5pdGlhbGl6ZWQgd2l0aCBzdGFnZUNvZGU6JyxcbiAgICAgIHRoaXMuc3RhZ2VDb2RlXG4gICAgKTtcbiAgICAvLyBjb25zb2xlLmxvZygnRXNjYWxhdGlvbkRpYWxvZ0NvbXBvbmVudCB0eXBlOicsIHRoaXMudHlwZSk7XG4gIH1cblxuICAvLyBnZXQgbWVzc2FnZXMoKSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuZXNjYWxhdGlvbkZvcm0uY29udHJvbHNbJ01lc3NhZ2VzJ10gYXMgRm9ybUFycmF5O1xuICAvLyB9XG5cbiAgYWRkTWVzc2FnZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZXMgPSB0aGlzLnNlbGVjdGVkTWVzc2FnZXMuY29uY2F0KFtudWxsXSk7XG4gIH1cblxuICBkZWxldGVNZXNzYWdlKGxlc3NvbkluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZXMgPSB0aGlzLnNlbGVjdGVkTWVzc2FnZXMuc3BsaWNlKGxlc3NvbkluZGV4LCAxKTtcbiAgfVxuXG4gIG9uTWVzc2FnZVNlbGVjdGVkKHJlcG9ydFNjaGVkdWxlOiBSZXBvcnRTY2hlZHVsZSwgaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnNvbGUubG9nKCdTZWxlY3RlZCBtZXNzYWdlOicsIHJlcG9ydFNjaGVkdWxlLCAnYXQgaW5kZXg6JywgaW5kZXgpO1xuICAgIHRoaXMuc2VsZWN0ZWRNZXNzYWdlcyA9IHRoaXMuc2VsZWN0ZWRNZXNzYWdlcy5tYXAoKG1zZywgaSkgPT4ge1xuICAgICAgaWYgKGkgPT09IGluZGV4KSB7XG4gICAgICAgIHJldHVybiB7IC4uLnJlcG9ydFNjaGVkdWxlLCBJc1Rhc2tEYXRhU291cmNlOiB0cnVlIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbXNnO1xuICAgIH0pO1xuICB9XG5cbiAgaXNWYWxpZFNlbGVjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE1lc3NhZ2VzLmV2ZXJ5KChtc2cpID0+ICEhbXNnKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmVNZXNzYWdlcygpIHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkTWVzc2FnZXMpO1xuICAgIGNvbnN0IHRhc2tOb3RpZmljYXRpb25zOiBUYXNrTm90aWZpY2F0aW9uW10gPSB0aGlzLnNlbGVjdGVkTWVzc2FnZXNcbiAgICAgIC5maWx0ZXIoKG1zZykgPT4gISFtc2cpXG4gICAgICAubWFwKChtc2cpID0+ICh7XG4gICAgICAgIElkOiAnJyxcbiAgICAgICAgQ29kZTogJycsXG4gICAgICAgIFRlbmFudElkOiAnUERMVEM2JyxcbiAgICAgICAgTWVzc2FnZTogbXNnLkNvZGUsXG4gICAgICAgIE5hbWU6IG1zZy5OYW1lLFxuICAgICAgICBTdWJqZWN0OiBtc2cuU3ViamVjdCxcbiAgICAgICAgU2VuZGVyQ29uZmlnOiBtc2cuTWVzc2FnZUNvbmZpZyxcbiAgICAgICAgTWVkaXVtOiBtc2cuTWVkaXVtLFxuICAgICAgICBOb3RpZmljYXRpb25UeXBlOiBUYXNrTm90aWZpY2F0aW9uVHlwZS5Fc2NhbGF0aW9uLFxuICAgICAgICBJc01lc3NhZ2VJZDogZmFsc2UsXG4gICAgICAgIElzVGFza0RhdGFTb3VyY2U6IG1zZy5Jc1Rhc2tEYXRhU291cmNlLFxuICAgICAgICBNZXNzYWdlRGF0YVNvdXJjZTogIW1zZy5Jc1Rhc2tEYXRhU291cmNlID8gbXNnLlJlcG9ydERhdGFTb3VyY2UgOiAnJyxcbiAgICAgICAgRGF0YVN0YXRlOiBPYmplY3RTdGF0ZS5OZXcsXG4gICAgICAgIGlkOiAnJyxcbiAgICAgICAgU2VydmljZU5hbWU6ICcnLFxuICAgICAgICBDcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAgIFVwZGF0ZWRBdDogbmV3IERhdGUoKSxcbiAgICAgIH0pKTtcblxuICAgIC8vIGlmICh0YXNrTm90aWZpY2F0aW9ucy5sZW5ndGgpIHtcbiAgICAvLyB0aGlzLmNyZWF0ZWQuZW1pdCh0YXNrTm90aWZpY2F0aW9ucyk7XG4gICAgY29uc29sZS5sb2codGFza05vdGlmaWNhdGlvbnMpO1xuICAgIHRoaXMub25EaWFsb2dDbG9zZShudWxsKTtcbiAgICBjb25zdCBkYXRhOiBQYXJ0aWFsPEVzY2FsYXRpb24+ID0ge1xuICAgICAgLi4uKHRoaXMuZXNjYWxhdGlvbigpID8/IHtcbiAgICAgICAgSWQ6ICcnLFxuICAgICAgICBDb2RlOiAnJyxcbiAgICAgICAgVGVuYW50SWQ6ICdQRExUQzYnLFxuICAgICAgICBXb3JrZmxvdzogdGhpcy53b3JrZmxvd0NvZGUoKSxcbiAgICAgICAgU3RhZ2U6IHRoaXMuc3RhZ2VDb2RlKCksXG4gICAgICAgIFR5cGU6IHRoaXMudHlwZSgpLFxuICAgICAgICBFeHBpcmF0aW9uV2FybmluZzogMCxcbiAgICAgICAgRHVyYXRpb246IDAsXG4gICAgICAgIE5vdGlmeUFmdGVyOiAwLFxuICAgICAgICBQb3NpdGlvbjogMSxcbiAgICAgICAgRGF0YVN0YXRlOiBPYmplY3RTdGF0ZS5OZXcsXG4gICAgICB9KSxcbiAgICAgIC8vIE9wZXJhdGlvbkFjdGlvbjogdGhpcy5zZWxlY3RlZE9wZXJhdGlvbkFjdGlvbi5nZXRWYWx1ZSgpLFxuICAgICAgTWVzc2FnZXM6IHRhc2tOb3RpZmljYXRpb25zLm1hcCgoeyBDb2RlIH0pID0+IENvZGUpLFxuICAgICAgRnVsbE1lc3NhZ2VzOiB0YXNrTm90aWZpY2F0aW9ucyxcbiAgICB9O1xuICAgIGNvbnNvbGUubG9nKGRhdGEpO1xuICAgIGF3YWl0IHRoaXMuZGF0YVNlcnZpY2Uuc2F2ZUVzY2FsYXRpb25zKFtkYXRhXSk7XG4gICAgLy8gfVxuICB9XG5cbiAgcHJpdmF0ZSBsb2FkRXNjYWxhdGlvbihzdGFnZUNvZGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVNlcnZpY2UuZ2V0RXNjYWxhdGlvbldpdGhQYXJhbShzdGFnZUNvZGUpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuZXNjYWxhdGlvbi5zZXQoZGF0YS5SZXN1bHRbMF0gPz8gbnVsbCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNlYXJjaEVzY2FsYXRpb24oXG4gICAgV29ya2Zsb3c6IHN0cmluZyxcbiAgICBTdGFnZTogc3RyaW5nLFxuICAgIFR5cGU6IEVzY2FsYXRpb25UeXBlXG4gICk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVNlcnZpY2VcbiAgICAgIC5zZWFyY2hFc2NhbGF0aW9uV2l0aFBhcmFtKHtcbiAgICAgICAgV29ya2Zsb3csXG4gICAgICAgIFN0YWdlLFxuICAgICAgICBUeXBlLFxuICAgICAgfSlcbiAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMuZXNjYWxhdGlvbi5zZXQoZGF0YS5SZXN1bHRbMF0gPz8gbnVsbCk7XG4gICAgICAgIC8vIHRoaXMuc2VsZWN0ZWRPcGVyYXRpb25BY3Rpb24ubmV4dChkYXRhLlJlc3VsdFswXT8uT3BlcmF0aW9uQWN0aW9uID8/IG51bGwpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRSZXBvcnRTY2hlZHVsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5nZXRSZXBvcnRTY2hlZHVsZXMoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLnJlcG9ydFNjaGVkdWxlcy5zZXQoZGF0YS5SZXN1bHQpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBsb2FkT3BlcmF0aW9uQWN0aW9ucygpOiB2b2lkIHtcbiAgLy8gICB0aGlzLmRhdGFTZXJ2aWNlLmdldE9wZXJhdGlvbkFjdGlvbnMoKS50aGVuKChkYXRhKSA9PiB7XG4gIC8vICAgICB0aGlzLm9wZXJhdGlvbkFjdGlvbnMuc2V0KGRhdGEuUmVzdWx0KTtcbiAgLy8gICB9KTtcbiAgLy8gfVxuXG4gIG9uRGlhbG9nQ2xvc2UoZXZlbnREYXRhOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZygnRGlhbG9nIGNsb3NlZCwgcmVjZWl2ZWQgZGF0YTonLCBldmVudERhdGEpO1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uRGlhbG9nT3BlbihldmVudERhdGE6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKCdEaWFsb2cgb3BlbmVkLCByZWNlaXZlZCBkYXRhOicsIGV2ZW50RGF0YSk7XG4gIH1cblxuICBpc05vdE5ldygpOiBib29sZWFuIHtcbiAgICBjb25zdCBlc2NhbGF0aW9uID0gdGhpcy5lc2NhbGF0aW9uKCk7XG4gICAgcmV0dXJuIGVzY2FsYXRpb24gIT09IG51bGwgJiYgZXNjYWxhdGlvbi5EYXRhU3RhdGUgIT09ICdOZXcnO1xuICB9XG59XG4iLCI8dmVyYmVuLWRpYWxvZ3VlXG4gIFtzaG93Q2xvc2VJY29uXT1cInRydWVcIlxuICBbZGlzbWlzc091dHNpZGVDbGlja109XCJ0cnVlXCJcbiAgW2Nsb3NlT25Fc2NhcGVdPVwidHJ1ZVwiXG4gIFtzaXplXT1cIidtZWRpdW0nXCJcbiAgW21vZGVdPVwiJ2RyYXdlcidcIlxuICBbZGlzYWJsZUZvb3Rlcl09XCJmYWxzZVwiXG4gIFtpc1Zpc2libGVdPVwidmlzaWJsZVwiXG4gIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiXG4gIFtib2R5VGVtcGxhdGVdPVwiYm9keVRlbXBsYXRlXCJcbiAgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCJcbiAgKG9wZW5Nb2RhbCk9XCJvbkRpYWxvZ09wZW4oJGV2ZW50KVwiXG4gIChjbG9zZU1vZGFsKT1cIm9uRGlhbG9nQ2xvc2UoJGV2ZW50KVwiXG4+XG48L3ZlcmJlbi1kaWFsb2d1ZT5cblxuPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHAtMyB0ZXh0LXhzIGJvcmRlci1iLTQgYm9yZGVyLVsjRkZFNjgxXVwiXG4gID5cbiAgICA8YnV0dG9uIGNsYXNzPVwibXItNFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25EaWFsb2dDbG9zZSgkZXZlbnQpXCI+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImJsb2NrIHctMi41IGgtMi41IGJvcmRlci10IGJvcmRlci1sIGJvcmRlci1bIzNFM0UzRV0vNzAgdHJhbnNmb3JtIC1yb3RhdGUtNDVcIlxuICAgICAgPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2JvZHlUZW1wbGF0ZT5cbiAgPGRpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYi00IHNwYWNlLXktNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBmb3I9XCJvcGVyYXRpb24tYWN0aW9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtWyMzRTNFM0VdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBPcGVyYXRpb24gQWN0aW9uXG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8IS0tIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICAgICAgICBpZD1cIm9wZXJhdGlvbi1hY3Rpb25cIlxuICAgICAgICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cImZhbHNlXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IE9wZXJhdGlvbiBBY3Rpb25cIlxuICAgICAgICAgICAgW29wdGlvbnNdPVwib3BlcmF0aW9uQWN0aW9ucygpXCJcbiAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwiTmFtZVwiXG4gICAgICAgICAgICBvcHRpb25WYWx1ZT1cIkNvZGVcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0ZWRPcGVyYXRpb25BY3Rpb24gfCBhc3luY1wiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RlZE9wZXJhdGlvbkFjdGlvbi5uZXh0KCRldmVudClcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgID48L3ZlcmJlbi1kcm9wLWRvd24+IC0tPlxuICAgICAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2Ygc2VsZWN0ZWRNZXNzYWdlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBbZm9yXT1cIm1lc3NhZ2UgKyAnLScgKyBpXCJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtWyMzRTNFM0VdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBNZXNzYWdlIHt7IGkgKyAxIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICAgICAgW2lkXT1cIm1lc3NhZ2UgKyAnLScgKyBpXCJcbiAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBNZXNzYWdlXCJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cInJlcG9ydFNjaGVkdWxlcygpXCJcbiAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwiTmFtZVwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJtZXNzYWdlXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTWVzc2FnZVNlbGVjdGVkKCRldmVudCwgaSlcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgID48L3ZlcmJlbi1kcm9wLWRvd24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAobWVzc2FnZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cbiAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIFtmb3JdPVwiJ2lzLScgKyBtZXNzYWdlICsgJy0nICsgaSArICd0YXNrLWRhdGEtc291cmNlJ1wiXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LVsjM0UzRTNFXVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgSXMgVGFzayBEYXRhIFNvdXJjZT9cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDx2ZXJiZW5hLXN3aXRjaFxuICAgICAgICAgICAgW2lkXT1cIidpcy0nICsgbWVzc2FnZSArICctJyArIGkgKyAndGFzay1kYXRhLXNvdXJjZSdcIlxuICAgICAgICAgICAgb25UZXh0PVwiWWVzXCJcbiAgICAgICAgICAgIG9mZlRleHQ9XCJOb1wiXG4gICAgICAgICAgICBbb25Db2xvcl09XCInIzFBMjM3RSdcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtZXNzYWdlLklzVGFza0RhdGFTb3VyY2VcIlxuICAgICAgICAgID48L3ZlcmJlbmEtc3dpdGNoPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImJvcmRlciBib3JkZXItcHJpbWFyeSAtbS0yIHJvdW5kZWQtbGcgZmxleCBmbGV4LWNvbCBnYXAtM1wiXG4gICAgICAgICAgKm5nSWY9XCJtZXNzYWdlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGFjZS15LTMgYm9yZGVyLWIgYm9yZGVyLXByaW1hcnkgcHgtMiBweS0zXCI+XG4gICAgICAgICAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgICAgICAgICBuYW1lPVwiU3ViamVjdFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVzc2FnZS5TdWJqZWN0XCJcbiAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cInRydWVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAgICAgICAgIG5hbWU9XCJSZWNpcGllbnRzXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtZXNzYWdlLlJlY2lwaWVudHNcIlxuICAgICAgICAgICAgICBbcmVhZE9ubHldPVwidHJ1ZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxsaWItZWRpdG9yXG4gICAgICAgICAgICBbZWRpdG9yQ29uZmlnXT1cImVkaXRvckNvbmZpZ1wiXG4gICAgICAgICAgICBbZWRpdG9yTW9kZV09XCJlZGl0b3JNb2RlXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVzc2FnZS5QbGFpbk1lc3NhZ2VcIlxuICAgICAgICAgID48L2xpYi1lZGl0b3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBnYXAtOCB3LWZ1bGxcIj5cbiAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgdGV4dD1cIkFkZCBNZXNzYWdlXCJcbiAgICAgIGJnQ29sb3I9XCIjRkZFNjgxXCJcbiAgICAgIHRleHRDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgYm9yZGVyUmFkaXVzPVwiOHB4XCJcbiAgICAgIHBkPVwiMTBweCAyMHB4XCJcbiAgICAgIGhlaWdodD1cIjM5cHhcIlxuICAgICAgZm9udFdlaWdodD1cIjYwMFwiXG4gICAgICBmb250U2l6ZT1cIjEycHhcIlxuICAgICAgc3ZnPVwiYWRkXCJcbiAgICAgIFtzdmdIZWlnaHRdPVwiMTRcIlxuICAgICAgW3N2Z1dpZHRoXT1cIjE0XCJcbiAgICAgIFtzdmdTaXplXT1cIidzbSdcIlxuICAgICAgKGNsaWNrKT1cImFkZE1lc3NhZ2UoKVwiXG4gICAgPjwvdmVyYmVuYS1idXR0b24+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBpdGVtcy1jZW50ZXJcIj5cbiAgICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICB0ZXh0PVwiRGVsZXRlXCJcbiAgICAgICAgYmdDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICB0ZXh0Q29sb3I9XCIjNDA0MDQwXCJcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwiOHB4XCJcbiAgICAgICAgcGQ9XCIxMHB4IDIwcHhcIlxuICAgICAgICB3aWR0aD1cIjExMHB4XCJcbiAgICAgICAgaGVpZ2h0PVwiMzlweFwiXG4gICAgICAgIGZvbnRXZWlnaHQ9XCI2MDBcIlxuICAgICAgICBmb250U2l6ZT1cIjEycHhcIlxuICAgICAgICBzdmc9XCJkZWxldGVcIlxuICAgICAgICBbc3ZnSGVpZ2h0XT1cIjE0XCJcbiAgICAgICAgW3N2Z1dpZHRoXT1cIjE0XCJcbiAgICAgICAgW3N2Z1NpemVdPVwiJ3NtJ1wiXG4gICAgICAgIChjbGljayk9XCJvbkRpYWxvZ0Nsb3NlKCRldmVudClcIlxuICAgICAgPjwvdmVyYmVuYS1idXR0b24+XG5cbiAgICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICB0ZXh0PVwiU2VuZFwiXG4gICAgICAgIGJnQ29sb3I9XCIjRkZFNjgxXCJcbiAgICAgICAgdGV4dENvbG9yPVwiIzQwNDA0MFwiXG4gICAgICAgIGJvcmRlclJhZGl1cz1cIjhweFwiXG4gICAgICAgIHBkPVwiMTBweCAyMHB4XCJcbiAgICAgICAgd2lkdGg9XCIxNjBweFwiXG4gICAgICAgIGhlaWdodD1cIjM5cHhcIlxuICAgICAgICBmb250V2VpZ2h0PVwiNjAwXCJcbiAgICAgICAgZm9udFNpemU9XCIxMnB4XCJcbiAgICAgICAgc3ZnPVwic2VuZFwiXG4gICAgICAgIFtzdmdIZWlnaHRdPVwiMTRcIlxuICAgICAgICBbc3ZnV2lkdGhdPVwiMTRcIlxuICAgICAgICBbc3ZnU2l6ZV09XCInc20nXCJcbiAgICAgICAgKGNsaWNrKT1cInNhdmVNZXNzYWdlcygpXCJcbiAgICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYWxhdGlvbi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvdy1kZXNpZ25lci9lc2NhbGF0aW9uLWRpYWxvZy9lc2NhbGF0aW9uLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWRlc2lnbmVyL2VzY2FsYXRpb24tZGlhbG9nL2VzY2FsYXRpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsS0FBSyxFQUVMLE1BQU0sRUFDTixNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFnQixVQUFVLEVBQWUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RSxPQUFPLEVBQThCLFdBQVcsRUFBb0Msb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7OztBQVFwSixNQUFNLE9BQU8seUJBQXlCO0lBd0QxQjtJQUNBO0lBeERELE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDbEMsWUFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUN4QyxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO0lBQ3JDLElBQUksR0FBRyxLQUFLLEVBQWtCLENBQUM7SUFFckIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDNUIsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFNLENBQUM7SUFFM0MsVUFBVSxHQUFzQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0Qsa0JBQWtCO0lBQ2xC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QUErQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sVUFBVSxLQUFLLElBQUksSUFBSSxVQUFVLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQztJQUMvRCxDQUFDO3dHQXZPVSx5QkFBeUI7NEZBQXpCLHlCQUF5QiwrbkJDckJ0Qyw0OElBc0ZBOzs0RkRqRWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHVCQUF1QjtrSEFLeEIsT0FBTztzQkFBZixLQUFLO2dCQUtJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5wdXQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgc2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVkaXRvckNvbmZpZywgRWRpdG9yTW9kZSwgRWRpdG9yU3RhdGUgfSBmcm9tICd2ZXJiZW4tcmVwb3J0aW5nLXVpJztcbmltcG9ydCB7IEVzY2FsYXRpb24sIEVzY2FsYXRpb25UeXBlLCBPYmplY3RTdGF0ZSwgUmVwb3J0U2NoZWR1bGUsIFRhc2tOb3RpZmljYXRpb24sIFRhc2tOb3RpZmljYXRpb25UeXBlIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFdvcmtmbG93RGF0YVNlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1kYXRhLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZXNjYWxhdGlvbi1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZXNjYWxhdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZXNjYWxhdGlvbi1kaWFsb2cuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEVzY2FsYXRpb25EaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB2aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHdvcmtmbG93Q29kZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgc3RhZ2VDb2RlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICB0eXBlID0gaW5wdXQ8RXNjYWxhdGlvblR5cGU+KCk7XG5cbiAgQE91dHB1dCgpIGNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNyZWF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xuXG4gIGVzY2FsYXRpb246IFdyaXRhYmxlU2lnbmFsPEVzY2FsYXRpb24gfCBudWxsPiA9IHNpZ25hbChudWxsKTtcblxuICAvLyBlc2NhbGF0aW9uRm9ybTtcbiAgcmVwb3J0U2NoZWR1bGVzOiBXcml0YWJsZVNpZ25hbDxSZXBvcnRTY2hlZHVsZVtdPiA9IHNpZ25hbChbXSk7XG4gIC8vIG9wZXJhdGlvbkFjdGlvbnM6IFdyaXRhYmxlU2lnbmFsPE9wZXJhdGlvbkFjdGlvbltdPiA9IHNpZ25hbChbXSk7XG5cbiAgLy8gc2VsZWN0ZWRPcGVyYXRpb25BY3Rpb246IEJlaGF2aW9yU3ViamVjdDxPcGVyYXRpb25BY3Rpb25bXCJDb2RlXCJdIHwgbnVsbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE9wZXJhdGlvbkFjdGlvbltcIkNvZGVcIl0gfCBudWxsPihudWxsKTtcblxuICAvLyBzZWxlY3RlZE1lc3NhZ2VzOiBXcml0YWJsZVNpZ25hbDxcbiAgLy8gICAoKFJlcG9ydFNjaGVkdWxlICYgeyBJc1Rhc2tEYXRhU291cmNlOiBib29sZWFuIH0pIHwgbnVsbClbXVxuICAvLyA+ID0gc2lnbmFsKFtdKTtcblxuICBzZWxlY3RlZE1lc3NhZ2VzOiAoKFJlcG9ydFNjaGVkdWxlICYgeyBJc1Rhc2tEYXRhU291cmNlOiBib29sZWFuIH0pIHwgbnVsbClbXSA9IFtdO1xuXG4gIGVkaXRvck1vZGU6IEVkaXRvck1vZGUgPSBFZGl0b3JNb2RlLkRlc2lnbmVyO1xuICBlZGl0b3JDb25maWc6IEVkaXRvckNvbmZpZyA9IHtcbiAgICBlZGl0YWJsZTogdHJ1ZSxcbiAgICBoZWlnaHQ6ICcnLFxuICAgIHdpZHRoOiAnJyxcbiAgICBzaG93VG9vbGJhcjogdHJ1ZSxcbiAgICBtZW51SXRlbXM6IFtcbiAgICAgIHtcbiAgICAgICAgTGFiZWw6ICdUb2dnbGVWaWV3JyxcbiAgICAgICAgSWNvbjogJ2NvZGUtdG9nZ2xlJyxcbiAgICAgICAgSWNvbldpZHRoOiAyMCxcbiAgICAgICAgSWNvbkhlaWdodDogMjAsXG4gICAgICAgIElzU3Ryb2tlOiBmYWxzZSxcbiAgICAgICAgR3JvdXBCeTogJ2xvY2FsJyxcbiAgICAgICAgT25DbGljazogKGV2ZW50OiBFZGl0b3JTdGF0ZSB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgIHRoaXMuZWRpdG9yTW9kZSA9XG4gICAgICAgICAgICB0aGlzLmVkaXRvck1vZGUgPT0gRWRpdG9yTW9kZS5EZXNpZ25lclxuICAgICAgICAgICAgICA/IEVkaXRvck1vZGUuQ29kZVxuICAgICAgICAgICAgICA6IEVkaXRvck1vZGUuRGVzaWduZXI7XG4gICAgICAgIH0sXG4gICAgICAgIElzRGlzYWJsZWQ6IChldmVudDogRWRpdG9yU3RhdGUgfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIElzRW5hYmxlZDogKGV2ZW50OiBFZGl0b3JTdGF0ZSB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmVkaXRvck1vZGUgPT0gRWRpdG9yTW9kZS5Db2RlO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuXG4gIC8vIElzVGFza0RhdGFTb3VyY2U6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW5bXT4gPSBzaWduYWwoW10pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IFdvcmtmbG93RGF0YVNlcnZpY2VcbiAgKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHN0YWdlQ29kZSA9IHRoaXMuc3RhZ2VDb2RlKCk7XG4gICAgICBjb25zdCB3b3JrZmxvd0NvZGUgPSB0aGlzLndvcmtmbG93Q29kZSgpO1xuICAgICAgY29uc3QgdHlwZSA9IHRoaXMudHlwZSgpO1xuICAgICAgY29uc29sZS5sb2coJ1N0YWdlIGNvZGUgY2hhbmdlZDonLCBzdGFnZUNvZGUpO1xuICAgICAgaWYgKHdvcmtmbG93Q29kZSAmJiBzdGFnZUNvZGUgJiYgdHlwZSkge1xuICAgICAgICAvLyB0aGlzLmxvYWRFc2NhbGF0aW9uKHN0YWdlQ29kZSk7XG4gICAgICAgIHRoaXMuc2VhcmNoRXNjYWxhdGlvbih3b3JrZmxvd0NvZGUsIHN0YWdlQ29kZSwgdHlwZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgZXNjYWxhdGlvbiA9IHRoaXMuZXNjYWxhdGlvbigpO1xuICAgICAgY29uc3QgcmVwb3J0U2NoZWR1bGVzID0gdGhpcy5yZXBvcnRTY2hlZHVsZXMoKTtcblxuICAgICAgaWYgKGVzY2FsYXRpb24gJiYgcmVwb3J0U2NoZWR1bGVzKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNZXNzYWdlcyA9IGVzY2FsYXRpb24uRnVsbE1lc3NhZ2VzLm1hcCgoe01lc3NhZ2UsIElzVGFza0RhdGFTb3VyY2V9KSA9PiB7XG4gICAgICAgICAgY29uc3QgZm91bmQgPSByZXBvcnRTY2hlZHVsZXMuZmluZCgocnMpID0+IHJzLkNvZGUgPT09IE1lc3NhZ2UpO1xuICAgICAgICAgIHJldHVybiBmb3VuZCA/IHsgLi4uZm91bmQsIElzVGFza0RhdGFTb3VyY2U6IElzVGFza0RhdGFTb3VyY2UgfSA6IG51bGw7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0aGlzLnNlbGVjdGVkT3BlcmF0aW9uQWN0aW9uLm5leHQoZXNjYWxhdGlvbi5PcGVyYXRpb25BY3Rpb24gPz8gbnVsbCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiU0VUVElORyBPUFwiLCB0aGlzLnNlbGVjdGVkT3BlcmF0aW9uQWN0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIHRoaXMuZXNjYWxhdGlvbkZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAvLyAgIE1lc3NhZ2VzOiB0aGlzLmZiLmFycmF5KFtdKSxcbiAgICAvLyB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZFJlcG9ydFNjaGVkdWxlcygpO1xuICAgIC8vIHRoaXMubG9hZE9wZXJhdGlvbkFjdGlvbnMoKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkTWVzc2FnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmFkZE1lc3NhZ2UoKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhcbiAgICAgICdFc2NhbGF0aW9uRGlhbG9nQ29tcG9uZW50IGluaXRpYWxpemVkIHdpdGggc3RhZ2VDb2RlOicsXG4gICAgICB0aGlzLnN0YWdlQ29kZVxuICAgICk7XG4gICAgLy8gY29uc29sZS5sb2coJ0VzY2FsYXRpb25EaWFsb2dDb21wb25lbnQgdHlwZTonLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgLy8gZ2V0IG1lc3NhZ2VzKCkge1xuICAvLyAgIHJldHVybiB0aGlzLmVzY2FsYXRpb25Gb3JtLmNvbnRyb2xzWydNZXNzYWdlcyddIGFzIEZvcm1BcnJheTtcbiAgLy8gfVxuXG4gIGFkZE1lc3NhZ2UoKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1lc3NhZ2VzID0gdGhpcy5zZWxlY3RlZE1lc3NhZ2VzLmNvbmNhdChbbnVsbF0pO1xuICB9XG5cbiAgZGVsZXRlTWVzc2FnZShsZXNzb25JbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1lc3NhZ2VzID0gdGhpcy5zZWxlY3RlZE1lc3NhZ2VzLnNwbGljZShsZXNzb25JbmRleCwgMSk7XG4gIH1cblxuICBvbk1lc3NhZ2VTZWxlY3RlZChyZXBvcnRTY2hlZHVsZTogUmVwb3J0U2NoZWR1bGUsIGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgbWVzc2FnZTonLCByZXBvcnRTY2hlZHVsZSwgJ2F0IGluZGV4OicsIGluZGV4KTtcbiAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZXMgPSB0aGlzLnNlbGVjdGVkTWVzc2FnZXMubWFwKChtc2csIGkpID0+IHtcbiAgICAgIGlmIChpID09PSBpbmRleCkge1xuICAgICAgICByZXR1cm4geyAuLi5yZXBvcnRTY2hlZHVsZSwgSXNUYXNrRGF0YVNvdXJjZTogdHJ1ZSB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1zZztcbiAgICB9KTtcbiAgfVxuXG4gIGlzVmFsaWRTZWxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRNZXNzYWdlcy5ldmVyeSgobXNnKSA9PiAhIW1zZyk7XG4gIH1cblxuICBhc3luYyBzYXZlTWVzc2FnZXMoKSB7XG4gICAgY29uc29sZS5sb2codGhpcy5zZWxlY3RlZE1lc3NhZ2VzKTtcbiAgICBjb25zdCB0YXNrTm90aWZpY2F0aW9uczogVGFza05vdGlmaWNhdGlvbltdID0gdGhpcy5zZWxlY3RlZE1lc3NhZ2VzXG4gICAgICAuZmlsdGVyKChtc2cpID0+ICEhbXNnKVxuICAgICAgLm1hcCgobXNnKSA9PiAoe1xuICAgICAgICBJZDogJycsXG4gICAgICAgIENvZGU6ICcnLFxuICAgICAgICBUZW5hbnRJZDogJ1BETFRDNicsXG4gICAgICAgIE1lc3NhZ2U6IG1zZy5Db2RlLFxuICAgICAgICBOYW1lOiBtc2cuTmFtZSxcbiAgICAgICAgU3ViamVjdDogbXNnLlN1YmplY3QsXG4gICAgICAgIFNlbmRlckNvbmZpZzogbXNnLk1lc3NhZ2VDb25maWcsXG4gICAgICAgIE1lZGl1bTogbXNnLk1lZGl1bSxcbiAgICAgICAgTm90aWZpY2F0aW9uVHlwZTogVGFza05vdGlmaWNhdGlvblR5cGUuRXNjYWxhdGlvbixcbiAgICAgICAgSXNNZXNzYWdlSWQ6IGZhbHNlLFxuICAgICAgICBJc1Rhc2tEYXRhU291cmNlOiBtc2cuSXNUYXNrRGF0YVNvdXJjZSxcbiAgICAgICAgTWVzc2FnZURhdGFTb3VyY2U6ICFtc2cuSXNUYXNrRGF0YVNvdXJjZSA/IG1zZy5SZXBvcnREYXRhU291cmNlIDogJycsXG4gICAgICAgIERhdGFTdGF0ZTogT2JqZWN0U3RhdGUuTmV3LFxuICAgICAgICBpZDogJycsXG4gICAgICAgIFNlcnZpY2VOYW1lOiAnJyxcbiAgICAgICAgQ3JlYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgICAgICBVcGRhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICB9KSk7XG5cbiAgICAvLyBpZiAodGFza05vdGlmaWNhdGlvbnMubGVuZ3RoKSB7XG4gICAgLy8gdGhpcy5jcmVhdGVkLmVtaXQodGFza05vdGlmaWNhdGlvbnMpO1xuICAgIGNvbnNvbGUubG9nKHRhc2tOb3RpZmljYXRpb25zKTtcbiAgICB0aGlzLm9uRGlhbG9nQ2xvc2UobnVsbCk7XG4gICAgY29uc3QgZGF0YTogUGFydGlhbDxFc2NhbGF0aW9uPiA9IHtcbiAgICAgIC4uLih0aGlzLmVzY2FsYXRpb24oKSA/PyB7XG4gICAgICAgIElkOiAnJyxcbiAgICAgICAgQ29kZTogJycsXG4gICAgICAgIFRlbmFudElkOiAnUERMVEM2JyxcbiAgICAgICAgV29ya2Zsb3c6IHRoaXMud29ya2Zsb3dDb2RlKCksXG4gICAgICAgIFN0YWdlOiB0aGlzLnN0YWdlQ29kZSgpLFxuICAgICAgICBUeXBlOiB0aGlzLnR5cGUoKSxcbiAgICAgICAgRXhwaXJhdGlvbldhcm5pbmc6IDAsXG4gICAgICAgIER1cmF0aW9uOiAwLFxuICAgICAgICBOb3RpZnlBZnRlcjogMCxcbiAgICAgICAgUG9zaXRpb246IDEsXG4gICAgICAgIERhdGFTdGF0ZTogT2JqZWN0U3RhdGUuTmV3LFxuICAgICAgfSksXG4gICAgICAvLyBPcGVyYXRpb25BY3Rpb246IHRoaXMuc2VsZWN0ZWRPcGVyYXRpb25BY3Rpb24uZ2V0VmFsdWUoKSxcbiAgICAgIE1lc3NhZ2VzOiB0YXNrTm90aWZpY2F0aW9ucy5tYXAoKHsgQ29kZSB9KSA9PiBDb2RlKSxcbiAgICAgIEZ1bGxNZXNzYWdlczogdGFza05vdGlmaWNhdGlvbnMsXG4gICAgfTtcbiAgICBjb25zb2xlLmxvZyhcIlNhdmluZyBlc2NhbGF0aW9uIGRhdGE6XCIsIGRhdGEpO1xuICAgIHRoaXMuZGF0YVNlcnZpY2Uuc2F2ZUVzY2FsYXRpb25zKFtkYXRhXSkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coXCJFc2NhbGF0aW9uIHNhdmVkOlwiLCBkYXRhKTtcbiAgICB9KTtcbiAgICAvLyB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRFc2NhbGF0aW9uKHN0YWdlQ29kZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU2VydmljZS5nZXRFc2NhbGF0aW9uV2l0aFBhcmFtKHN0YWdlQ29kZSkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5lc2NhbGF0aW9uLnNldChkYXRhLlJlc3VsdFswXSA/PyBudWxsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoRXNjYWxhdGlvbihcbiAgICBXb3JrZmxvdzogc3RyaW5nLFxuICAgIFN0YWdlOiBzdHJpbmcsXG4gICAgVHlwZTogRXNjYWxhdGlvblR5cGVcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU2VydmljZVxuICAgICAgLnNlYXJjaEVzY2FsYXRpb25XaXRoUGFyYW0oe1xuICAgICAgICBXb3JrZmxvdyxcbiAgICAgICAgU3RhZ2UsXG4gICAgICAgIFR5cGUsXG4gICAgICB9KVxuICAgICAgLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5lc2NhbGF0aW9uLnNldChkYXRhLlJlc3VsdFswXSA/PyBudWxsKTtcbiAgICAgICAgY29uc29sZS5sb2coXCJFc2NhbGF0aW9uIGxvYWRlZDpcIiwgdGhpcy5lc2NhbGF0aW9uKCkpO1xuICAgICAgICAvLyB0aGlzLnNlbGVjdGVkT3BlcmF0aW9uQWN0aW9uLm5leHQoZGF0YS5SZXN1bHRbMF0/Lk9wZXJhdGlvbkFjdGlvbiA/PyBudWxsKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkUmVwb3J0U2NoZWR1bGVzKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVNlcnZpY2UuZ2V0UmVwb3J0U2NoZWR1bGVzKCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5yZXBvcnRTY2hlZHVsZXMuc2V0KGRhdGEuUmVzdWx0KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIHByaXZhdGUgbG9hZE9wZXJhdGlvbkFjdGlvbnMoKTogdm9pZCB7XG4gIC8vICAgdGhpcy5kYXRhU2VydmljZS5nZXRPcGVyYXRpb25BY3Rpb25zKCkudGhlbigoZGF0YSkgPT4ge1xuICAvLyAgICAgdGhpcy5vcGVyYXRpb25BY3Rpb25zLnNldChkYXRhLlJlc3VsdCk7XG4gIC8vICAgfSk7XG4gIC8vIH1cblxuICBvbkRpYWxvZ0Nsb3NlKGV2ZW50RGF0YTogYW55KSB7XG4gICAgY29uc29sZS5sb2coJ0RpYWxvZyBjbG9zZWQsIHJlY2VpdmVkIGRhdGE6JywgZXZlbnREYXRhKTtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gIH1cblxuICBvbkRpYWxvZ09wZW4oZXZlbnREYXRhOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZygnRGlhbG9nIG9wZW5lZCwgcmVjZWl2ZWQgZGF0YTonLCBldmVudERhdGEpO1xuICB9XG5cbiAgaXNOb3ROZXcoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZXNjYWxhdGlvbiA9IHRoaXMuZXNjYWxhdGlvbigpO1xuICAgIHJldHVybiBlc2NhbGF0aW9uICE9PSBudWxsICYmIGVzY2FsYXRpb24uRGF0YVN0YXRlICE9PSAnTmV3JztcbiAgfVxufVxuIiwiPHZlcmJlbi1kaWFsb2d1ZSBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCIgW2Rpc21pc3NPdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiIFtjbG9zZU9uRXNjYXBlXT1cInRydWVcIiBbc2l6ZV09XCInbWVkaXVtJ1wiXG4gIFttb2RlXT1cIidkcmF3ZXInXCIgW2Rpc2FibGVGb290ZXJdPVwiZmFsc2VcIiBbaXNWaXNpYmxlXT1cInZpc2libGVcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICBbYm9keVRlbXBsYXRlXT1cImJvZHlUZW1wbGF0ZVwiIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiIChvcGVuTW9kYWwpPVwib25EaWFsb2dPcGVuKCRldmVudClcIlxuICAoY2xvc2VNb2RhbCk9XCJvbkRpYWxvZ0Nsb3NlKCRldmVudClcIj5cbjwvdmVyYmVuLWRpYWxvZ3VlPlxuXG48bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHAtMyB0ZXh0LXhzIGJvcmRlci1iLTQgYm9yZGVyLVsjRkZFNjgxXVwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJtci00XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkRpYWxvZ0Nsb3NlKCRldmVudClcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYmxvY2sgdy0yLjUgaC0yLjUgYm9yZGVyLXQgYm9yZGVyLWwgYm9yZGVyLVsjM0UzRTNFXS83MCB0cmFuc2Zvcm0gLXJvdGF0ZS00NVwiPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2JvZHlUZW1wbGF0ZT5cbiAgPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWItNCBzcGFjZS15LTRcIj5cbiAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgICAgICA8bGFiZWwgZm9yPVwib3BlcmF0aW9uLWFjdGlvblwiIGNsYXNzPVwidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtWyMzRTNFM0VdXCI+XG4gICAgICAgICAgRXNjYWxhdGlvblxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICAgICAgaWQ9XCJvcGVyYXRpb24tYWN0aW9uXCJcbiAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBPcGVyYXRpb24gQWN0aW9uXCJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cIm9wZXJhdGlvbkFjdGlvbnMoKVwiXG4gICAgICAgICAgICBvcHRpb25MYWJlbD1cIk5hbWVcIlxuICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJDb2RlXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkT3BlcmF0aW9uQWN0aW9uIHwgYXN5bmNcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0ZWRPcGVyYXRpb25BY3Rpb24ubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICA+PC92ZXJiZW4tZHJvcC1kb3duPlxuICAgICAgPC9kaXY+IC0tPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic3BhY2UteS00XCIgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2Ygc2VsZWN0ZWRNZXNzYWdlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgPGxhYmVsIFtmb3JdPVwibWVzc2FnZSArICctJyArIGlcIiBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LVsjM0UzRTNFXVwiPlxuICAgICAgICAgICAgTWVzc2FnZSB7eyBpICsgMSB9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPHZlcmJlbi1kcm9wLWRvd24gW2lkXT1cIm1lc3NhZ2UgKyAnLScgKyBpXCIgc2VsZWN0S2V5PVwiQ29kZVwiIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIiB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cImZhbHNlXCIgcGxhY2Vob2xkZXI9XCJTZWxlY3QgTWVzc2FnZVwiIFtvcHRpb25zXT1cInJlcG9ydFNjaGVkdWxlcygpXCIgb3B0aW9uTGFiZWw9XCJOYW1lXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1lc3NhZ2VcIiAobmdNb2RlbENoYW5nZSk9XCJvbk1lc3NhZ2VTZWxlY3RlZCgkZXZlbnQsIGkpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj48L3ZlcmJlbi1kcm9wLWRvd24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAobWVzc2FnZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTRcIj5cbiAgICAgICAgICA8bGFiZWwgW2Zvcl09XCInaXMtJyArIG1lc3NhZ2UgKyAnLScgKyBpICsgJ3Rhc2stZGF0YS1zb3VyY2UnXCIgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1bIzNFM0UzRV1cIj5cbiAgICAgICAgICAgIElzIFRhc2sgRGF0YSBTb3VyY2U/XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8dmVyYmVuYS1zd2l0Y2ggW2lkXT1cIidpcy0nICsgbWVzc2FnZSArICctJyArIGkgKyAndGFzay1kYXRhLXNvdXJjZSdcIiBvblRleHQ9XCJZZXNcIiBvZmZUZXh0PVwiTm9cIlxuICAgICAgICAgICAgW29uQ29sb3JdPVwiJyMxQTIzN0UnXCIgWyhuZ01vZGVsKV09XCJtZXNzYWdlLklzVGFza0RhdGFTb3VyY2VcIj48L3ZlcmJlbmEtc3dpdGNoPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLXByaW1hcnkgLW0tMiByb3VuZGVkLWxnIGZsZXggZmxleC1jb2wgZ2FwLTNcIiAqbmdJZj1cIm1lc3NhZ2VcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3BhY2UteS0zIGJvcmRlci1iIGJvcmRlci1wcmltYXJ5IHB4LTIgcHktM1wiPlxuICAgICAgICAgICAgPHZlcmJlbmEtaW5wdXQgbmFtZT1cIlN1YmplY3RcIiBbKG5nTW9kZWwpXT1cIm1lc3NhZ2UuU3ViamVjdFwiIFtyZWFkT25seV09XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgIDx2ZXJiZW5hLWlucHV0IG5hbWU9XCJSZWNpcGllbnRzXCIgWyhuZ01vZGVsKV09XCJtZXNzYWdlLlJlY2lwaWVudHNcIiBbcmVhZE9ubHldPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGxpYi1lZGl0b3IgW2VkaXRvckNvbmZpZ109XCJlZGl0b3JDb25maWdcIiBbZWRpdG9yTW9kZV09XCJlZGl0b3JNb2RlXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWVzc2FnZS5QbGFpbk1lc3NhZ2VcIj48L2xpYi1lZGl0b3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBnYXAtOCB3LWZ1bGxcIj5cbiAgICA8dmVyYmVuYS1idXR0b24gc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIiB0eXBlPVwiYnV0dG9uXCIgdGV4dD1cIkFkZCBNZXNzYWdlXCIgYmdDb2xvcj1cIiNGRkU2ODFcIiB0ZXh0Q29sb3I9XCIjNDA0MDQwXCJcbiAgICAgIGJvcmRlclJhZGl1cz1cIjhweFwiIHBkPVwiMTBweCAyMHB4XCIgaGVpZ2h0PVwiMzlweFwiIGZvbnRXZWlnaHQ9XCI2MDBcIiBmb250U2l6ZT1cIjEycHhcIiBzdmc9XCJhZGRcIiBbc3ZnSGVpZ2h0XT1cIjE0XCJcbiAgICAgIFtzdmdXaWR0aF09XCIxNFwiIFtzdmdTaXplXT1cIidzbSdcIiAoY2xpY2spPVwiYWRkTWVzc2FnZSgpXCI+PC92ZXJiZW5hLWJ1dHRvbj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgPHZlcmJlbmEtYnV0dG9uIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCIgdHlwZT1cImJ1dHRvblwiIHRleHQ9XCJEZWxldGVcIiBiZ0NvbG9yPVwiI0ZGRTY4MVwiIHRleHRDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgICBib3JkZXJSYWRpdXM9XCI4cHhcIiBwZD1cIjEwcHggMjBweFwiIHdpZHRoPVwiMTEwcHhcIiBoZWlnaHQ9XCIzOXB4XCIgZm9udFdlaWdodD1cIjYwMFwiIGZvbnRTaXplPVwiMTJweFwiIHN2Zz1cImRlbGV0ZVwiXG4gICAgICAgIFtzdmdIZWlnaHRdPVwiMTRcIiBbc3ZnV2lkdGhdPVwiMTRcIiBbc3ZnU2l6ZV09XCInc20nXCIgKGNsaWNrKT1cIm9uRGlhbG9nQ2xvc2UoJGV2ZW50KVwiPjwvdmVyYmVuYS1idXR0b24+XG5cbiAgICAgIDx2ZXJiZW5hLWJ1dHRvbiBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiIHR5cGU9XCJidXR0b25cIiB0ZXh0PVwiU2VuZFwiIGJnQ29sb3I9XCIjRkZFNjgxXCIgdGV4dENvbG9yPVwiIzQwNDA0MFwiXG4gICAgICAgIGJvcmRlclJhZGl1cz1cIjhweFwiIHBkPVwiMTBweCAyMHB4XCIgd2lkdGg9XCIxNjBweFwiIGhlaWdodD1cIjM5cHhcIiBmb250V2VpZ2h0PVwiNjAwXCIgZm9udFNpemU9XCIxMnB4XCIgc3ZnPVwic2VuZFwiXG4gICAgICAgIFtzdmdIZWlnaHRdPVwiMTRcIiBbc3ZnV2lkdGhdPVwiMTRcIiBbc3ZnU2l6ZV09XCInc20nXCIgKGNsaWNrKT1cInNhdmVNZXNzYWdlcygpXCI+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|