@annalib/anna-core 30.7.0 → 31.0.0

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.
@@ -18,11 +18,11 @@ export class AnnaIconColumnComponent {
18
18
  this.PfpIconDisableColor = "rgba(189,189,189,0.5)";
19
19
  this.columnIconClicked = new EventEmitter();
20
20
  }
21
- svgIconClicked(rowData, key) {
22
- this.columnIconClicked.emit({ data: rowData, key });
21
+ svgIconClicked() {
22
+ this.columnIconClicked.emit();
23
23
  }
24
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaIconColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AnnaIconColumnComponent, isStandalone: true, selector: "anna-core-icon-column", inputs: { componentName: "componentName", iconToShow: "iconToShow", dataObject: "dataObject" }, outputs: { columnIconClicked: "columnIconClicked" }, ngImport: i0, template: "<span *ngIf=\"iconToShow === 'PAY_FOR_PERFORMANCE_ACTIVE'\">\r\n <anna-core-pay-for-performance-icon-template\r\n [color]=\"PfpIconActiveColor\"\r\n [width]=\"'12px'\"\r\n [height]=\"'12px'\"\r\n >\r\n </anna-core-pay-for-performance-icon-template>\r\n</span>\r\n\r\n<anna-core-deleted-order-icon-template *ngIf=\"iconToShow === 'DELETED_ORDER'\"> </anna-core-deleted-order-icon-template>\r\n\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_SELLER_CONFIRMATION'\"\r\n></i>\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_BUYER_CONFIRMATION'\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'AUTOMATED'\"\r\n class=\"anna-automation-activated-icon mdi mdi-cog-refresh\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'WARNING_ICON'\"\r\n class=\"mdi mdi-alert\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'INFORMATION_OUTLINE_ICON'\"\r\n class=\"mdi mdi-information-outline\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'CANCEL_ICON'\"\r\n class=\"mdi mdi-cancel\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_B_CIRCLE'\"\r\n class=\"mdi mdi-alpha-b-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_E_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_A_CIRCLE'\"\r\n class=\"mdi mdi-alpha-a-circle\"\r\n></i>\r\n<!-- <i\r\n *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i> -->\r\n\r\n<anna-core-anna-est-icon-template *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"></anna-core-anna-est-icon-template>\r\n", styles: [".cursor-not-allowed{cursor:not-allowed!important}.mdi-alert{color:#f97b07;font-size:.9375rem}:host ::ng-deep anna-core-pay-for-performance-icon-template svg{margin-bottom:6px}.mdi.mdi-alert{font-size:13px;position:relative;color:#f3c639;top:1px}.anna-automation-activated-icon.mdi.mdi-cog-refresh{font-size:13px;position:relative;top:1px}.mdi.mdi-information-outline{color:var(--primary-blue-color);cursor:pointer!important}.mdi.mdi-cancel{color:var(--primary-red-color);cursor:pointer!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AnnaPayForPerformanceIconTemplateComponent, selector: "anna-core-pay-for-performance-icon-template", inputs: ["isTitle", "color", "width", "height"] }, { kind: "component", type: AnnaDeletedOrderIconTemplateComponent, selector: "anna-core-deleted-order-icon-template" }, { kind: "component", type: AnnaEstIconTemplateComponent, selector: "anna-core-anna-est-icon-template" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AnnaIconColumnComponent, isStandalone: true, selector: "anna-core-icon-column", inputs: { componentName: "componentName", iconToShow: "iconToShow", dataObject: "dataObject" }, outputs: { columnIconClicked: "columnIconClicked" }, ngImport: i0, template: "<span *ngIf=\"iconToShow === 'PAY_FOR_PERFORMANCE_ACTIVE'\">\r\n <anna-core-pay-for-performance-icon-template\r\n [color]=\"PfpIconActiveColor\"\r\n [width]=\"'12px'\"\r\n [height]=\"'12px'\"\r\n >\r\n </anna-core-pay-for-performance-icon-template>\r\n</span>\r\n\r\n<anna-core-deleted-order-icon-template *ngIf=\"iconToShow === 'DELETED_ORDER'\"> </anna-core-deleted-order-icon-template>\r\n\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_SELLER_CONFIRMATION'\"\r\n></i>\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_BUYER_CONFIRMATION'\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'AUTOMATED'\"\r\n class=\"anna-automation-activated-icon mdi mdi-cog-refresh\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'WARNING_ICON'\"\r\n class=\"mdi mdi-alert\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'INFORMATION_OUTLINE_ICON'\"\r\n class=\"mdi mdi-information-outline\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALERT_OCTAGON_ICON'\"\r\n class=\"mdi mdi-alert-octagon\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'CANCEL_ICON'\"\r\n class=\"mdi mdi-cancel\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_B_CIRCLE'\"\r\n class=\"mdi mdi-alpha-b-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_E_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_A_CIRCLE'\"\r\n class=\"mdi mdi-alpha-a-circle\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'MESSAGE'\"\r\n class=\"mdi mdi-comment-edit-outline\"\r\n (click)=\"svgIconClicked()\"\r\n></i>\r\n<!-- <i\r\n *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i> -->\r\n\r\n<anna-core-anna-est-icon-template *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"></anna-core-anna-est-icon-template>\r\n", styles: [".cursor-not-allowed{cursor:not-allowed!important}.mdi-alert{color:#f97b07;font-size:.9375rem}:host ::ng-deep anna-core-pay-for-performance-icon-template svg{margin-bottom:6px}.mdi.mdi-alert{font-size:13px;position:relative;color:#f3c639;top:1px}.anna-automation-activated-icon.mdi.mdi-cog-refresh{font-size:13px;position:relative;top:1px}.mdi.mdi-information-outline{color:var(--primary-blue-color);cursor:pointer!important}.mdi.mdi-alert-octagon{color:red;cursor:pointer!important}.mdi.mdi-cancel{color:var(--primary-red-color);cursor:pointer!important}.mdi.mdi-comment-edit-outline{color:var(--primary-blue-color);cursor:pointer!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AnnaPayForPerformanceIconTemplateComponent, selector: "anna-core-pay-for-performance-icon-template", inputs: ["isTitle", "color", "width", "height"] }, { kind: "component", type: AnnaDeletedOrderIconTemplateComponent, selector: "anna-core-deleted-order-icon-template" }, { kind: "component", type: AnnaEstIconTemplateComponent, selector: "anna-core-anna-est-icon-template" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaIconColumnComponent, decorators: [{
28
28
  type: Component,
@@ -35,7 +35,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
35
35
  AnnaBuyerApprovalIconTemplateComponent,
36
36
  AnnaDeletedOrderIconTemplateComponent,
37
37
  AnnaEstIconTemplateComponent,
38
- ], template: "<span *ngIf=\"iconToShow === 'PAY_FOR_PERFORMANCE_ACTIVE'\">\r\n <anna-core-pay-for-performance-icon-template\r\n [color]=\"PfpIconActiveColor\"\r\n [width]=\"'12px'\"\r\n [height]=\"'12px'\"\r\n >\r\n </anna-core-pay-for-performance-icon-template>\r\n</span>\r\n\r\n<anna-core-deleted-order-icon-template *ngIf=\"iconToShow === 'DELETED_ORDER'\"> </anna-core-deleted-order-icon-template>\r\n\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_SELLER_CONFIRMATION'\"\r\n></i>\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_BUYER_CONFIRMATION'\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'AUTOMATED'\"\r\n class=\"anna-automation-activated-icon mdi mdi-cog-refresh\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'WARNING_ICON'\"\r\n class=\"mdi mdi-alert\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'INFORMATION_OUTLINE_ICON'\"\r\n class=\"mdi mdi-information-outline\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'CANCEL_ICON'\"\r\n class=\"mdi mdi-cancel\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_B_CIRCLE'\"\r\n class=\"mdi mdi-alpha-b-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_E_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_A_CIRCLE'\"\r\n class=\"mdi mdi-alpha-a-circle\"\r\n></i>\r\n<!-- <i\r\n *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i> -->\r\n\r\n<anna-core-anna-est-icon-template *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"></anna-core-anna-est-icon-template>\r\n", styles: [".cursor-not-allowed{cursor:not-allowed!important}.mdi-alert{color:#f97b07;font-size:.9375rem}:host ::ng-deep anna-core-pay-for-performance-icon-template svg{margin-bottom:6px}.mdi.mdi-alert{font-size:13px;position:relative;color:#f3c639;top:1px}.anna-automation-activated-icon.mdi.mdi-cog-refresh{font-size:13px;position:relative;top:1px}.mdi.mdi-information-outline{color:var(--primary-blue-color);cursor:pointer!important}.mdi.mdi-cancel{color:var(--primary-red-color);cursor:pointer!important}\n"] }]
38
+ ], template: "<span *ngIf=\"iconToShow === 'PAY_FOR_PERFORMANCE_ACTIVE'\">\r\n <anna-core-pay-for-performance-icon-template\r\n [color]=\"PfpIconActiveColor\"\r\n [width]=\"'12px'\"\r\n [height]=\"'12px'\"\r\n >\r\n </anna-core-pay-for-performance-icon-template>\r\n</span>\r\n\r\n<anna-core-deleted-order-icon-template *ngIf=\"iconToShow === 'DELETED_ORDER'\"> </anna-core-deleted-order-icon-template>\r\n\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_SELLER_CONFIRMATION'\"\r\n></i>\r\n<i\r\n class=\"mdi mdi-alert\"\r\n *ngIf=\"iconToShow === 'NEED_BUYER_CONFIRMATION'\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'AUTOMATED'\"\r\n class=\"anna-automation-activated-icon mdi mdi-cog-refresh\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'WARNING_ICON'\"\r\n class=\"mdi mdi-alert\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'INFORMATION_OUTLINE_ICON'\"\r\n class=\"mdi mdi-information-outline\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALERT_OCTAGON_ICON'\"\r\n class=\"mdi mdi-alert-octagon\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'CANCEL_ICON'\"\r\n class=\"mdi mdi-cancel\"\r\n></i>\r\n\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_B_CIRCLE'\"\r\n class=\"mdi mdi-alpha-b-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_E_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'ALPHA_A_CIRCLE'\"\r\n class=\"mdi mdi-alpha-a-circle\"\r\n></i>\r\n<i\r\n *ngIf=\"iconToShow === 'MESSAGE'\"\r\n class=\"mdi mdi-comment-edit-outline\"\r\n (click)=\"svgIconClicked()\"\r\n></i>\r\n<!-- <i\r\n *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"\r\n class=\"mdi mdi-alpha-r-circle-outline\"\r\n></i> -->\r\n\r\n<anna-core-anna-est-icon-template *ngIf=\"iconToShow === 'ALPHA_R_CIRCLE'\"></anna-core-anna-est-icon-template>\r\n", styles: [".cursor-not-allowed{cursor:not-allowed!important}.mdi-alert{color:#f97b07;font-size:.9375rem}:host ::ng-deep anna-core-pay-for-performance-icon-template svg{margin-bottom:6px}.mdi.mdi-alert{font-size:13px;position:relative;color:#f3c639;top:1px}.anna-automation-activated-icon.mdi.mdi-cog-refresh{font-size:13px;position:relative;top:1px}.mdi.mdi-information-outline{color:var(--primary-blue-color);cursor:pointer!important}.mdi.mdi-alert-octagon{color:red;cursor:pointer!important}.mdi.mdi-cancel{color:var(--primary-red-color);cursor:pointer!important}.mdi.mdi-comment-edit-outline{color:var(--primary-blue-color);cursor:pointer!important}\n"] }]
39
39
  }], propDecorators: { componentName: [{
40
40
  type: Input
41
41
  }], iconToShow: [{
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
45
45
  }], columnIconClicked: [{
46
46
  type: Output
47
47
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtaWNvbi1jb2x1bW4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtaWNvbi1jb2x1bW4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUloRyxtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDMUksbUNBQW1DO0FBQ25DLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ25ILG1DQUFtQztBQUNuQyxPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSw0RkFBNEYsQ0FBQztBQUN4SixtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7O0FBbUJ6SCxNQUFNLE9BQU8sdUJBQXVCO0lBakJwQztRQXNCSSx1QkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDL0Isd0JBQW1CLEdBQUcsdUJBQXVCLENBQUM7UUFDcEMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7S0FLN0U7SUFIRyxjQUFjLENBQUMsT0FBWSxFQUFFLEdBQVc7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQVhRLHVCQUF1QjttR0FBdkIsdUJBQXVCLHNPQ2xDcEMseW5EQTBEQSw0aUJEbENRLElBQUksNkZBQ0osMENBQTBDLHlJQUsxQyxxQ0FBcUMsa0ZBQ3JDLDRCQUE0Qjs7NEZBR3ZCLHVCQUF1QjtrQkFqQm5DLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxJQUFJO3dCQUNKLDBDQUEwQzt3QkFDMUMsNkJBQTZCO3dCQUM3QixpQ0FBaUM7d0JBQ2pDLCtCQUErQjt3QkFDL0Isc0NBQXNDO3dCQUN0QyxxQ0FBcUM7d0JBQ3JDLDRCQUE0QjtxQkFDL0I7OEJBR1EsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0ksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IEd0Q29sdW1uSWNvbkVtaXR0ZWREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9hbm5hLWdlbmVyaWMtZGF0YS10eXBlLm1vZGVsXCI7XHJcbmltcG9ydCB7IEljb25Ub1Nob3cgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVsc1wiO1xyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxyXG5pbXBvcnQgeyBBbm5hQnV5ZXJBcHByb3ZhbEljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuLi9hbm5hLWJ1eWVyLWFwcHJvdmFsLWljb24tdGVtcGxhdGUvYW5uYS1idXllci1hcHByb3ZhbC1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxyXG5pbXBvcnQgeyBBbm5hRGVsZXRlZE9yZGVySWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2FubmEtZGVsZXRlZC1vcmRlci1pY29uLXRlbXBsYXRlL2FubmEtZGVsZXRlZC1vcmRlci1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hRXN0SWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2FubmEtZXN0LWljb24tdGVtcGxhdGUvYW5uYS1lc3QtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYUxpdmVJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi4vYW5uYS1saXZlLWljb24tdGVtcGxhdGUvYW5uYS1saXZlLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi4vYW5uYS1ub3RpZnktaWNvbi10ZW1wbGF0ZS9hbm5hLW5vdGlmeS1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxyXG5pbXBvcnQgeyBBbm5hUGF5Rm9yUGVyZm9ybWFuY2VJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi4vYW5uYS1wYXktZm9yLXBlcmZvcm1hbmNlLWljb24tdGVtcGxhdGUvYW5uYS1wYXktZm9yLXBlcmZvcm1hbmNlLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXHJcbmltcG9ydCB7IEFubmFSZWplY3RlZEljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuLi9hbm5hLXJlamVjdGVkLWljb24tdGVtcGxhdGUvYW5uYS1yZWplY3RlZC1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhbm5hLWNvcmUtaWNvbi1jb2x1bW5cIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL2FubmEtaWNvbi1jb2x1bW4uY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTmdJZixcclxuICAgICAgICBBbm5hUGF5Rm9yUGVyZm9ybWFuY2VJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUxpdmVJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYVJlamVjdGVkSWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFOb3RpZnlJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYUJ1eWVyQXBwcm92YWxJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYURlbGV0ZWRPcmRlckljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hRXN0SWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFJY29uQ29sdW1uQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIGNvbXBvbmVudE5hbWU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGljb25Ub1Nob3c6IEljb25Ub1Nob3c7XHJcbiAgICAvLyBASW5wdXQoKSBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRhdGFPYmplY3Q6IGFueTtcclxuICAgIFBmcEljb25BY3RpdmVDb2xvciA9IFwiIzlCMUI5M1wiO1xyXG4gICAgUGZwSWNvbkRpc2FibGVDb2xvciA9IFwicmdiYSgxODksMTg5LDE4OSwwLjUpXCI7XHJcbiAgICBAT3V0cHV0KCkgY29sdW1uSWNvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEd0Q29sdW1uSWNvbkVtaXR0ZWREYXRhPigpO1xyXG5cclxuICAgIHN2Z0ljb25DbGlja2VkKHJvd0RhdGE6IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmNvbHVtbkljb25DbGlja2VkLmVtaXQoeyBkYXRhOiByb3dEYXRhLCBrZXkgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNwYW4gKm5nSWY9XCJpY29uVG9TaG93ID09PSAnUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkUnXCI+XHJcbiAgICA8YW5uYS1jb3JlLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZVxyXG4gICAgICAgIFtjb2xvcl09XCJQZnBJY29uQWN0aXZlQ29sb3JcIlxyXG4gICAgICAgIFt3aWR0aF09XCInMTJweCdcIlxyXG4gICAgICAgIFtoZWlnaHRdPVwiJzEycHgnXCJcclxuICAgID5cclxuICAgIDwvYW5uYS1jb3JlLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZT5cclxuPC9zcGFuPlxyXG5cclxuPGFubmEtY29yZS1kZWxldGVkLW9yZGVyLWljb24tdGVtcGxhdGUgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnREVMRVRFRF9PUkRFUidcIj4gPC9hbm5hLWNvcmUtZGVsZXRlZC1vcmRlci1pY29uLXRlbXBsYXRlPlxyXG5cclxuPGlcclxuICAgIGNsYXNzPVwibWRpIG1kaS1hbGVydFwiXHJcbiAgICAqbmdJZj1cImljb25Ub1Nob3cgPT09ICdORUVEX1NFTExFUl9DT05GSVJNQVRJT04nXCJcclxuPjwvaT5cclxuPGlcclxuICAgIGNsYXNzPVwibWRpIG1kaS1hbGVydFwiXHJcbiAgICAqbmdJZj1cImljb25Ub1Nob3cgPT09ICdORUVEX0JVWUVSX0NPTkZJUk1BVElPTidcIlxyXG4+PC9pPlxyXG5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0FVVE9NQVRFRCdcIlxyXG4gICAgY2xhc3M9XCJhbm5hLWF1dG9tYXRpb24tYWN0aXZhdGVkLWljb24gbWRpIG1kaS1jb2ctcmVmcmVzaFwiXHJcbj48L2k+XHJcblxyXG48aVxyXG4gICAgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnV0FSTklOR19JQ09OJ1wiXHJcbiAgICBjbGFzcz1cIm1kaSBtZGktYWxlcnRcIlxyXG4+PC9pPlxyXG5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0lORk9STUFUSU9OX09VVExJTkVfSUNPTidcIlxyXG4gICAgY2xhc3M9XCJtZGkgbWRpLWluZm9ybWF0aW9uLW91dGxpbmVcIlxyXG4+PC9pPlxyXG5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0NBTkNFTF9JQ09OJ1wiXHJcbiAgICBjbGFzcz1cIm1kaSBtZGktY2FuY2VsXCJcclxuPjwvaT5cclxuXHJcbjxpXHJcbiAgICAqbmdJZj1cImljb25Ub1Nob3cgPT09ICdBTFBIQV9CX0NJUkNMRSdcIlxyXG4gICAgY2xhc3M9XCJtZGkgbWRpLWFscGhhLWItY2lyY2xlLW91dGxpbmVcIlxyXG4+PC9pPlxyXG48aVxyXG4gICAgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnQUxQSEFfRV9DSVJDTEUnXCJcclxuICAgIGNsYXNzPVwibWRpIG1kaS1hbHBoYS1yLWNpcmNsZS1vdXRsaW5lXCJcclxuPjwvaT5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0FMUEhBX0FfQ0lSQ0xFJ1wiXHJcbiAgICBjbGFzcz1cIm1kaSBtZGktYWxwaGEtYS1jaXJjbGVcIlxyXG4+PC9pPlxyXG48IS0tIDxpXHJcbiAgICAqbmdJZj1cImljb25Ub1Nob3cgPT09ICdBTFBIQV9SX0NJUkNMRSdcIlxyXG4gICAgY2xhc3M9XCJtZGkgbWRpLWFscGhhLXItY2lyY2xlLW91dGxpbmVcIlxyXG4+PC9pPiAtLT5cclxuXHJcbjxhbm5hLWNvcmUtYW5uYS1lc3QtaWNvbi10ZW1wbGF0ZSAqbmdJZj1cImljb25Ub1Nob3cgPT09ICdBTFBIQV9SX0NJUkNMRSdcIj48L2FubmEtY29yZS1hbm5hLWVzdC1pY29uLXRlbXBsYXRlPlxyXG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtaWNvbi1jb2x1bW4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtaWNvbi1jb2x1bW4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUloRyxtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDMUksbUNBQW1DO0FBQ25DLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ25ILG1DQUFtQztBQUNuQyxPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSw0RkFBNEYsQ0FBQztBQUN4SixtQ0FBbUM7QUFDbkMsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7O0FBbUJ6SCxNQUFNLE9BQU8sdUJBQXVCO0lBakJwQztRQXNCSSx1QkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDL0Isd0JBQW1CLEdBQUcsdUJBQXVCLENBQUM7UUFDcEMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7S0FLN0U7SUFIRyxjQUFjO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7K0dBWFEsdUJBQXVCO21HQUF2Qix1QkFBdUIsc09DbENwQyxtM0RBb0VBLDZyQkQ1Q1EsSUFBSSw2RkFDSiwwQ0FBMEMseUlBSzFDLHFDQUFxQyxrRkFDckMsNEJBQTRCOzs0RkFHdkIsdUJBQXVCO2tCQWpCbkMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNMLElBQUk7d0JBQ0osMENBQTBDO3dCQUMxQyw2QkFBNkI7d0JBQzdCLGlDQUFpQzt3QkFDakMsK0JBQStCO3dCQUMvQixzQ0FBc0M7d0JBQ3RDLHFDQUFxQzt3QkFDckMsNEJBQTRCO3FCQUMvQjs4QkFHUSxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFHSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgR3RDb2x1bW5JY29uRW1pdHRlZERhdGEgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2FubmEtZ2VuZXJpYy1kYXRhLXR5cGUubW9kZWxcIjtcclxuaW1wb3J0IHsgSWNvblRvU2hvdyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzXCI7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXHJcbmltcG9ydCB7IEFubmFCdXllckFwcHJvdmFsSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2FubmEtYnV5ZXItYXBwcm92YWwtaWNvbi10ZW1wbGF0ZS9hbm5hLWJ1eWVyLWFwcHJvdmFsLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXHJcbmltcG9ydCB7IEFubmFEZWxldGVkT3JkZXJJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi4vYW5uYS1kZWxldGVkLW9yZGVyLWljb24tdGVtcGxhdGUvYW5uYS1kZWxldGVkLW9yZGVyLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFubmFFc3RJY29uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tIFwiLi4vYW5uYS1lc3QtaWNvbi10ZW1wbGF0ZS9hbm5hLWVzdC1pY29uLXRlbXBsYXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbm5hTGl2ZUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuLi9hbm5hLWxpdmUtaWNvbi10ZW1wbGF0ZS9hbm5hLWxpdmUtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQW5uYU5vdGlmeUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuLi9hbm5hLW5vdGlmeS1pY29uLXRlbXBsYXRlL2FubmEtbm90aWZ5LWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXHJcbmltcG9ydCB7IEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gXCIuLi9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS9hbm5hLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZS5jb21wb25lbnRcIjtcclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuaW1wb3J0IHsgQW5uYVJlamVjdGVkSWNvblRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2FubmEtcmVqZWN0ZWQtaWNvbi10ZW1wbGF0ZS9hbm5hLXJlamVjdGVkLWljb24tdGVtcGxhdGUuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFubmEtY29yZS1pY29uLWNvbHVtblwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hbm5hLWljb24tY29sdW1uLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYW5uYS1pY29uLWNvbHVtbi5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBOZ0lmLFxyXG4gICAgICAgIEFubmFQYXlGb3JQZXJmb3JtYW5jZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hTGl2ZUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hUmVqZWN0ZWRJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgQW5uYU5vdGlmeUljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hQnV5ZXJBcHByb3ZhbEljb25UZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBBbm5hRGVsZXRlZE9yZGVySWNvblRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEFubmFFc3RJY29uVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUljb25Db2x1bW5Db21wb25lbnQge1xyXG4gICAgQElucHV0KCkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgaWNvblRvU2hvdzogSWNvblRvU2hvdztcclxuICAgIC8vIEBJbnB1dCgpIG9iamVjdEtleTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZGF0YU9iamVjdDogYW55O1xyXG4gICAgUGZwSWNvbkFjdGl2ZUNvbG9yID0gXCIjOUIxQjkzXCI7XHJcbiAgICBQZnBJY29uRGlzYWJsZUNvbG9yID0gXCJyZ2JhKDE4OSwxODksMTg5LDAuNSlcIjtcclxuICAgIEBPdXRwdXQoKSBjb2x1bW5JY29uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8R3RDb2x1bW5JY29uRW1pdHRlZERhdGE+KCk7XHJcblxyXG4gICAgc3ZnSWNvbkNsaWNrZWQoKSB7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5JY29uQ2xpY2tlZC5lbWl0KCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNwYW4gKm5nSWY9XCJpY29uVG9TaG93ID09PSAnUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkUnXCI+XHJcbiAgICA8YW5uYS1jb3JlLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZVxyXG4gICAgICAgIFtjb2xvcl09XCJQZnBJY29uQWN0aXZlQ29sb3JcIlxyXG4gICAgICAgIFt3aWR0aF09XCInMTJweCdcIlxyXG4gICAgICAgIFtoZWlnaHRdPVwiJzEycHgnXCJcclxuICAgID5cclxuICAgIDwvYW5uYS1jb3JlLXBheS1mb3ItcGVyZm9ybWFuY2UtaWNvbi10ZW1wbGF0ZT5cclxuPC9zcGFuPlxyXG5cclxuPGFubmEtY29yZS1kZWxldGVkLW9yZGVyLWljb24tdGVtcGxhdGUgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnREVMRVRFRF9PUkRFUidcIj4gPC9hbm5hLWNvcmUtZGVsZXRlZC1vcmRlci1pY29uLXRlbXBsYXRlPlxyXG5cclxuPGlcclxuICAgIGNsYXNzPVwibWRpIG1kaS1hbGVydFwiXHJcbiAgICAqbmdJZj1cImljb25Ub1Nob3cgPT09ICdORUVEX1NFTExFUl9DT05GSVJNQVRJT04nXCJcclxuPjwvaT5cclxuPGlcclxuICAgIGNsYXNzPVwibWRpIG1kaS1hbGVydFwiXHJcbiAgICAqbmdJZj1cImljb25Ub1Nob3cgPT09ICdORUVEX0JVWUVSX0NPTkZJUk1BVElPTidcIlxyXG4+PC9pPlxyXG5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0FVVE9NQVRFRCdcIlxyXG4gICAgY2xhc3M9XCJhbm5hLWF1dG9tYXRpb24tYWN0aXZhdGVkLWljb24gbWRpIG1kaS1jb2ctcmVmcmVzaFwiXHJcbj48L2k+XHJcblxyXG48aVxyXG4gICAgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnV0FSTklOR19JQ09OJ1wiXHJcbiAgICBjbGFzcz1cIm1kaSBtZGktYWxlcnRcIlxyXG4+PC9pPlxyXG5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0lORk9STUFUSU9OX09VVExJTkVfSUNPTidcIlxyXG4gICAgY2xhc3M9XCJtZGkgbWRpLWluZm9ybWF0aW9uLW91dGxpbmVcIlxyXG4+PC9pPlxyXG5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0FMRVJUX09DVEFHT05fSUNPTidcIlxyXG4gICAgY2xhc3M9XCJtZGkgbWRpLWFsZXJ0LW9jdGFnb25cIlxyXG4+PC9pPlxyXG5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0NBTkNFTF9JQ09OJ1wiXHJcbiAgICBjbGFzcz1cIm1kaSBtZGktY2FuY2VsXCJcclxuPjwvaT5cclxuXHJcbjxpXHJcbiAgICAqbmdJZj1cImljb25Ub1Nob3cgPT09ICdBTFBIQV9CX0NJUkNMRSdcIlxyXG4gICAgY2xhc3M9XCJtZGkgbWRpLWFscGhhLWItY2lyY2xlLW91dGxpbmVcIlxyXG4+PC9pPlxyXG48aVxyXG4gICAgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnQUxQSEFfRV9DSVJDTEUnXCJcclxuICAgIGNsYXNzPVwibWRpIG1kaS1hbHBoYS1yLWNpcmNsZS1vdXRsaW5lXCJcclxuPjwvaT5cclxuPGlcclxuICAgICpuZ0lmPVwiaWNvblRvU2hvdyA9PT0gJ0FMUEhBX0FfQ0lSQ0xFJ1wiXHJcbiAgICBjbGFzcz1cIm1kaSBtZGktYWxwaGEtYS1jaXJjbGVcIlxyXG4+PC9pPlxyXG48aVxyXG4gICAgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnTUVTU0FHRSdcIlxyXG4gICAgY2xhc3M9XCJtZGkgbWRpLWNvbW1lbnQtZWRpdC1vdXRsaW5lXCJcclxuICAgIChjbGljayk9XCJzdmdJY29uQ2xpY2tlZCgpXCJcclxuPjwvaT5cclxuPCEtLSA8aVxyXG4gICAgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnQUxQSEFfUl9DSVJDTEUnXCJcclxuICAgIGNsYXNzPVwibWRpIG1kaS1hbHBoYS1yLWNpcmNsZS1vdXRsaW5lXCJcclxuPjwvaT4gLS0+XHJcblxyXG48YW5uYS1jb3JlLWFubmEtZXN0LWljb24tdGVtcGxhdGUgKm5nSWY9XCJpY29uVG9TaG93ID09PSAnQUxQSEFfUl9DSVJDTEUnXCI+PC9hbm5hLWNvcmUtYW5uYS1lc3QtaWNvbi10ZW1wbGF0ZT5cclxuIl19
@@ -11,6 +11,7 @@ export var SvgOrIconNames;
11
11
  SvgOrIconNames["DELETED_ORDER"] = "DELETED_ORDER";
12
12
  SvgOrIconNames["WARNING_ICON"] = "WARNING_ICON";
13
13
  SvgOrIconNames["INFORMATION_OUTLINE_ICON"] = "INFORMATION_OUTLINE_ICON";
14
+ SvgOrIconNames["ALERT_OCTAGON_ICON"] = "ALERT_OCTAGON_ICON";
14
15
  SvgOrIconNames["CANCEL_ICON"] = "CANCEL_ICON";
15
16
  SvgOrIconNames["ALPHA_B_CIRCLE"] = "ALPHA_B_CIRCLE";
16
17
  SvgOrIconNames["ALPHA_R_CIRCLE"] = "ALPHA_R_CIRCLE";
@@ -63,4 +64,4 @@ export class EllipsisWithTableTooltip {
63
64
  this.tooltipClass = tooltipClass;
64
65
  }
65
66
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRUEsTUFBTSxPQUFPLHNCQUFzQjtJQUcvQixZQUFZLElBQXVEO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBRUQsTUFBTSxDQUFOLElBQVksY0FXWDtBQVhELFdBQVksY0FBYztJQUN0QiwyRUFBeUQsQ0FBQTtJQUN6RCx5Q0FBdUIsQ0FBQTtJQUN2QixpREFBK0IsQ0FBQTtJQUMvQiwrQ0FBNkIsQ0FBQTtJQUM3Qix1RUFBcUQsQ0FBQTtJQUNyRCw2Q0FBMkIsQ0FBQTtJQUMzQixtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtBQUNyQyxDQUFDLEVBWFcsY0FBYyxLQUFkLGNBQWMsUUFXekI7QUE0RUQsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFDSSxxQkFBMEIsRUFDMUIsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLFdBQW9CLEVBQ3BCLFdBQTJDO1FBRTNDLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ0ksRUFBTyxFQUNQLFFBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLGFBQXNCLEVBQ3RCLFdBQW9CLEVBQ3BCLFdBQW9CO1FBWnhCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFjckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUE2Q0QsTUFBTSxPQUFPLHNCQUFzQjthQUNmLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7YUFDakMsZ0JBQVcsR0FBRyxlQUFlLENBQUM7YUFDOUIsa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQzthQUNsQyxtQkFBYyxHQUFHLG9CQUFvQixDQUFDO2FBQ3RDLFVBQUssR0FBRyxTQUFTLENBQUM7YUFDbEIsdUJBQWtCLEdBQUcsdUJBQXVCLENBQUM7YUFDN0MsMENBQXFDLEdBQUcsb0NBQW9DLENBQUM7YUFDN0UseUJBQW9CLEdBQUcseUJBQXlCLENBQUM7YUFDakQsMEJBQXFCLEdBQUcseUJBQXlCLENBQUM7YUFDbEQsMEJBQXFCLEdBQUcsMEJBQTBCLENBQUM7YUFDbkQsbUJBQWMsR0FBRyxrQkFBa0IsQ0FBQzthQUVwQyxzQkFBaUIsR0FBRywwQkFBMEIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLHdCQUF3QjtJQVNqQyxZQUNJLE9BQWUsRUFDZixZQUFtQyxFQUNuQyxTQUFnQixFQUNoQixTQUFpQixFQUNqQixXQUFtQixFQUNuQixXQUFvQixFQUNwQixZQUFvQjtRQUVwQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3JDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElXZWVrQ2FsZW5kYXIgfSBmcm9tIFwiLi9hbm5hLWdsb2JhbC1kcm9wZG93bi1jb25maWcubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0VGFibGVIZWFkZXIge1xyXG4gICAgaGVhZGVySW5mbzogSUhlYWRlckluZm9bXTtcclxuICAgIHZpc2libGU6IGJvb2xlYW47XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJJbmZvIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIG9iamVjdEtleTogc3RyaW5nO1xyXG4gICAgYWN0aW9uS2V5Pzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcEtleT86IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWRLZXk/OiBzdHJpbmc7XHJcbiAgICB0eXBlT2ZIZWFkZXJEYXRhOiBEQVRBVFlQRTtcclxuICAgIHR5cGVPZkJvZHlEYXRhOiBEQVRBVFlQRTtcclxuICAgIGZpbHRlcj86IEZJTFRFUlRZUEU7XHJcbiAgICBmaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZ1tdO1xyXG4gICAgaXNTb3J0UmVxdWlyZWQ/OiBib29sZWFuW107XHJcbiAgICBpc0ZpbHRlclJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgc2hvd1Rvb2x0aXBJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZVRvb2x0aXBJY29uPzogYm9vbGVhbjtcclxuICAgIHRvb2x0aXA/OiBJVG9vbHRpcDtcclxuICAgIGpvaW5lZEZpbHRlclNvcnRPYmplY3RLZXlzPzogc3RyaW5nO1xyXG4gICAgc2hvd1NwbGl0ZWRPcHRpb25zSW5GaWx0ZXI/OiBib29sZWFuW107IFxyXG4gICAgICAgIC8vIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgc3BsaXQgb3B0aW9ucyBpbiBhIGNoZWNrYm94IGZpbHRlci4gXHJcbiAgICAgICAgLy8gV2hlbiBzZXQgdG8gdHJ1ZSwgdGhlIHZhbHVlcyBpbiB0aGUgZmlsdGVyIHdpbGwgYmUgc3BsaXQgaW50byBpbmRpdmlkdWFsIG9wdGlvbnMuIFxyXG4gICAgICAgIC8vIEZvciBleGFtcGxlLCBpZiB0aGUgZmlsdGVyIGhhcyB2YWx1ZXMgbGlrZSBcIkExOCssIEEzNStcIiwgaXQgd2lsbCBzcGxpdCB0aGVtIGludG8gdHdvIHNlcGFyYXRlIG9wdGlvbnMgKFwiQTE4K1wiIGFuZCBcIkEzNStcIikgaW4gdGhlIGNoZWNrYm94IGZpbHRlci5cclxuXHJcbiAgICBzcGxpdERlbGltaXRlcj86IHN0cmluZ1tdOyBcclxuICAgICAgICAvLyBEZWZpbmVzIHRoZSBrZXkgb3IgbG9naWMgdXNlZCB0byBzcGxpdCB0aGUgdmFsdWVzIGluIHRoZSBjaGVja2JveCBmaWx0ZXIgd2hlbiBgc2hvd1NwbGl0ZWRPcHRpb25zSW5GaWx0ZXJgIGlzIHRydWUuXHJcbiAgICAgICAgLy8gVGhpcyBrZXkgZGV0ZXJtaW5lcyBob3cgdGhlIHZhbHVlcyBhcmUgc3BsaXQuIEZvciBleGFtcGxlLCBpZiB0aGUgZmlsdGVyIGNvbnRhaW5zIFwiQTE4KywgQTM1K1wiIGFuZCBgc3BsaXREZWxpbWl0ZXJgIGlzIHNldCB0byBhIGNvbW1hIG9yIHBsdXMgc2lnbiAoJysnKSwgXHJcbiAgICAgICAgLy8gdGhlIGZpbHRlciB3aWxsIGdlbmVyYXRlIHNlcGFyYXRlIG9wdGlvbnMgZm9yIFwiQTE4K1wiIGFuZCBcIkEzNStcIiBiYXNlZCBvbiB0aGUgc3BsaXQgZGVsaW1pdGVyLlxyXG59XHJcblxyXG50eXBlIERBVEFUWVBFID1cclxuICAgIHwgXCJDSEVDS0JPWFwiXHJcbiAgICB8IFwiSUNPTlwiXHJcbiAgICB8IFwiU1RSSU5HXCJcclxuICAgIHwgXCJSQURJT1wiXHJcbiAgICB8IFwiXCJcclxuICAgIHwgXCJTVkdfSUNPTlwiXHJcbiAgICB8IFwiVEVYVF9BQ1RJT05TXCJcclxuICAgIHwgXCJDTElDS0FCTEVfREFUQVwiXHJcbiAgICB8IFwiU1RSSU5HX19URVhUX0FDVElPTlwiXHJcbiAgICB8IFwiU1RSSU5HX19JQ09OX0FDVElPTlwiXHJcbiAgICB8IFwiU1RSSU5HX19fSUNPTl9PUl9URVhUX0FDVElPTlwiXHJcbiAgICB8IFwiSFRNTFwiXHJcbiAgICB8IFwiSFRNTF9TVFJJTkdcIlxyXG4gICAgfCBcIklDT05fQ0VMTFwiXHJcbiAgICB8IFwiU1RSSU5HX09SX0lOUFVUXCJcclxuICAgIHwgXCJTSU5HTEVfUkFESU9cIlxyXG4gICAgfCBcIlNUUklOR19XSVRIX1RPT0xUSVBcIlxyXG4gICAgfCBcIlNUUklOR19XSVRIX0VMTElQU0lTX0FORF9SRUFEX01PUkVfVE9PTFRJUFwiXHJcbiAgICB8IFwiU1RSSU5HX0VMTElQU0lTX1dJVEhfVEFCTEVfVE9PTFRJUFwiXHJcbiAgICB8IFwiU1RSSU5HX1dJVEhfVE9PTFRJUF9JTk5FUl9IVE1MXCJcclxuXHJcbnR5cGUgRklMVEVSVFlQRSA9IFwiQ0hFQ0tCT1hcIiB8IFwiU0xJREVSXCIgfCBcIkRBVEVcIiB8IFwiVElNRVwiIHwgXCJXRUVLXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTdmdPckljb25UeXBlSW5HVFRhYmxlIHtcclxuICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW47XHJcbiAgICBzdmdPckljb25OYW1lPzogc3RyaW5nO1xyXG4gICAgc3ZnT3JJY29uVG9vbHRpcE1zZz86IHN0cmluZztcclxuICAgIGFkZGl0aW9uYWxUZXh0Pzogc3RyaW5nO1xyXG4gICAgYWRkaXRpb25hbFRleHRDbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN2Z09ySWNvblR5cGVJbkdUVGFibGUge1xyXG4gICAgc2hvd09iamVjdEtleTogYm9vbGVhbjtcclxuICAgIHN2Z09ySWNvbk5hbWU/OiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiB7IHNob3dPYmplY3RLZXk6IGJvb2xlYW47IHN2Z09ySWNvbk5hbWU6IHN0cmluZyB9KSB7XHJcbiAgICAgICAgdGhpcy5zaG93T2JqZWN0S2V5ID0gZGF0YS5zaG93T2JqZWN0S2V5O1xyXG4gICAgICAgIHRoaXMuc3ZnT3JJY29uTmFtZSA9IGRhdGEuc3ZnT3JJY29uTmFtZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGVudW0gU3ZnT3JJY29uTmFtZXMge1xyXG4gICAgUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkUgPSBcIlBBWV9GT1JfUEVSRk9STUFOQ0VfQUNUSVZFXCIsXHJcbiAgICBBVVRPTUFURUQgPSBcIkFVVE9NQVRFRFwiLFxyXG4gICAgREVMRVRFRF9PUkRFUiA9IFwiREVMRVRFRF9PUkRFUlwiLFxyXG4gICAgV0FSTklOR19JQ09OID0gXCJXQVJOSU5HX0lDT05cIixcclxuICAgIElORk9STUFUSU9OX09VVExJTkVfSUNPTiA9IFwiSU5GT1JNQVRJT05fT1VUTElORV9JQ09OXCIsXHJcbiAgICBDQU5DRUxfSUNPTiA9IFwiQ0FOQ0VMX0lDT05cIixcclxuICAgIEFMUEhBX0JfQ0lSQ0xFID0gXCJBTFBIQV9CX0NJUkNMRVwiLFxyXG4gICAgQUxQSEFfUl9DSVJDTEUgPSBcIkFMUEhBX1JfQ0lSQ0xFXCIsXHJcbiAgICBBTFBIQV9FX0NJUkNMRSA9IFwiQUxQSEFfRV9DSVJDTEVcIixcclxuICAgIEFMUEhBX0FfQ0lSQ0xFID0gXCJBTFBIQV9BX0NJUkNMRVwiLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb3RhbFJvd0luZm8ge1xyXG4gICAgY29sc3BhbjogbnVtYmVyO1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG4gICAgbG93ZXJEYXRhPzogc3RyaW5nO1xyXG4gICAgY29sTmFtZTogc3RyaW5nO1xyXG4gICAgY2xhc3M/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwTWVzc2FnZT86IHN0cmluZztcclxuICAgIGFkZGl0aW9uYWxSZWRUZXh0QWZ0ZXJEYXRhPzogc3RyaW5nO1xyXG4gICAgaXNBY3Rpb25Db2x1bW4/OiBib29sZWFuO1xyXG4gICAgYWN0aW9uRGF0YT86IENsaWNrYWJsZUl0ZW1bXTtcclxuICAgIGlzSWNvbkNvbHVtbj86IGJvb2xlYW47XHJcbiAgICBpY29uRGF0YT86IHsgY2xhc3M6IHN0cmluZzsgZGlzYWJsZWQ/OiBib29sZWFuIH07XHJcbiAgICB0b29sdGlwSWNvbkNsYXNzPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEhlYWRlckNvbmZpZyB7XHJcbiAgICBpY29uQ29sdW1uOiBib29sZWFuO1xyXG4gICAgY2hlY2tib3hDb2x1bW46IGJvb2xlYW47XHJcbiAgICBsYXN0Q29sdW1uS2V5czogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0R2VuZXJhbENvbmZpZyBleHRlbmRzIElTcG90VGFibGVDb25maWcge1xyXG4gICAgY29tcG9uZW50OiBDT01QT05FTlROQU1FO1xyXG4gICAgdG90YWxSb3c6IGJvb2xlYW47XHJcbiAgICBpc0hlYWRlckNoZWNrZWQ/OiBib29sZWFuO1xyXG4gICAgZGlzYWJsZUhlYWRlckNoZWNrYm94PzogYm9vbGVhbjtcclxuICAgIG11bHRpV2Vla1BpY2tlckNvbmZpZz86IElXZWVrQ2FsZW5kYXI7XHJcbiAgICB2ZXJ0aWNhbFNjcm9sbE9mZnNldEZvckZpbHRlclRvb2x0aXA/OiBudW1iZXI7XHJcbiAgICB0YWJsZUNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICB0YWJsZU91dGVyQ29udGFpbmVyTmFtZT86IHN0cmluZztcclxuICAgIHNob3dBbGxDb2x1bW5GaWx0ZXI6IGJvb2xlYW47XHJcbiAgICBidWZmZXJTaXplOiBudW1iZXI7XHJcbiAgICBwYWdlOiBzdHJpbmc7XHJcbn1cclxuXHJcbnR5cGUgQ09NUE9ORU5UTkFNRSA9XHJcbiAgICB8IFwiU1BPVERFVEFJTFNcIlxyXG4gICAgfCBcIkVYQ0xVREVJTlZFTlRPUllQT1BVUFwiXHJcbiAgICB8IFwiRVhDTFVERUlOVkVOVE9SWVwiXHJcbiAgICB8IFwiRFJSTElTVElOR1wiXHJcbiAgICB8IFwiRFJSXCJcclxuICAgIHwgXCJcIlxyXG4gICAgfCBcIlJBVElOR1wiXHJcbiAgICB8IFwiT1JERVJfTElTVElOR19JTkZMSUdIVFwiXHJcbiAgICB8IFwiT1JERVJfTElTVElOR19DT01QTEVURURcIlxyXG4gICAgfCBcIk9SREVSX0xJU1RJTkdfQkxBTktcIlxyXG4gICAgfCBcIkxVUl9WSU9MQVRJT05TXCJcclxuICAgIHwgXCJBQ1RJVklUWUxPR1wiXHJcbiAgICB8IFwiTk9USUZJQ0FUSU9OU1wiXHJcbiAgICB8IFwiRFBfUkVTVFJJQ1RJT05TXCI7XHJcbmludGVyZmFjZSBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGlzR3JvdXBlZDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG9vbHRpcCB7XHJcbiAgICBpY29uUG9zaXRpb246IFwibGVmdFwiIHwgXCJyaWdodFwiIHwgXCJhYm92ZVwiIHwgXCJiZWxvd1wiIHwgXCJiZWZvcmVcIiB8IFwiYWZ0ZXJcIjtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHRvb2x0aXBQb3NpdGlvbjogc3RyaW5nO1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwQ2xhc3M6IHN0cmluZztcclxuICAgIHRvb2x0aXBNZXNzYWdlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEljb25EYXRhIHtcclxuICAgIGRhdGE6IGFueTtcclxuICAgIGljb25DbGFzczogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEFjdGlvbiB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgY2xhc3M6IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlja2FibGVJdGVtIHtcclxuICAgIGlkOiBhbnk7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG4gICAgY2xhc3M6IHN0cmluZztcclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG4gICAgdG9vbHRpcERhdGE6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfTtcclxuICAgIGVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dDogYm9vbGVhbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICB0eXBlT2ZBY3Rpb25MaW5rRm9yR3Q6IGFueSxcclxuICAgICAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgY2xhc3NOYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW4sXHJcbiAgICAgICAgdG9vbHRpcERhdGE6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfSxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuaWQgPSB0eXBlT2ZBY3Rpb25MaW5rRm9yR3Q7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgICAgICB0aGlzLmNsYXNzID0gY2xhc3NOYW1lO1xyXG4gICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAgPSBzaG93VG9vbHRpcDtcclxuICAgICAgICB0aGlzLnRvb2x0aXBEYXRhID0gdG9vbHRpcERhdGE7XHJcbiAgICAgICAgdGhpcy5lbmFibGVUb29sdGlwRm9yQWRkaXRpb25hbFRleHQgPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEljb25DZWxsQWN0aW9uS2V5IHtcclxuICAgIGlkOiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgICBzaG93SWNvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxuICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW47XHJcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcclxuICAgIHRvb2x0aXBEYXRhPzogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGlkOiBhbnksXHJcbiAgICAgICAgc2hvd0ljb246IGJvb2xlYW4sXHJcbiAgICAgICAgaWNvbkNsYXNzOiBzdHJpbmcsXHJcbiAgICAgICAgc2hvd09iamVjdEtleTogYm9vbGVhbixcclxuICAgICAgICBzaG93VG9vbHRpcDogYm9vbGVhbixcclxuICAgICAgICB0b29sdGlwRGF0YT86IHN0cmluZyxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuaWQgPSBpZDtcclxuICAgICAgICB0aGlzLnNob3dJY29uID0gc2hvd0ljb247XHJcbiAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSBpY29uQ2xhc3M7XHJcbiAgICAgICAgdGhpcy5zaG93T2JqZWN0S2V5ID0gc2hvd09iamVjdEtleTtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwRGF0YSA9IHRvb2x0aXBEYXRhO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBY3Rpb25JdGVtVHlwZVdpdGhTdHJpbmdJY29uT3JUZXh0QWN0aW9uIHtcclxuICAgIGlkOiBhbnk7XHJcbiAgICBkYXRhOiBzdHJpbmc7XHJcblxyXG4gICAgdHlwZU9mRGF0YTogXCJTVFJJTkdcIiB8IFwiSUNPTl9URVhUX0FDVElPTlwiO1xyXG4gICAgYWRkaXRpb25hbFRleHRCZWZvcmVMaW5rOiBzdHJpbmc7XHJcblxyXG4gICAgaWNvbkNsYXNzPzogc3RyaW5nO1xyXG4gICAgc2hvd0ljb246IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlZEljb24/OiBib29sZWFuO1xyXG5cclxuICAgIGxpbmtDbGFzcz86IHN0cmluZztcclxuICAgIHNob3dMaW5rPzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVkTGluaz86IGJvb2xlYW47XHJcblxyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcblxyXG4gICAgdG9vbHRpcERhdGE/OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcclxuICAgIHRvb2x0aXBDbGFzcz86IHN0cmluZztcclxuICAgIHRvb2x0aXBQbGFjZW1lbnQ/OiBzdHJpbmc7XHJcblxyXG4gICAgZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0PzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWNvblRvU2hvdyA9XHJcbiAgICB8IFwiTElWRVwiXHJcbiAgICB8IFwiUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkVcIlxyXG4gICAgfCBcIlBBWV9GT1JfUEVSRk9STUFOQ0VcIlxyXG4gICAgfCBcIlJFSkVDVEVEXCJcclxuICAgIHwgXCJOT1RJRllcIlxyXG4gICAgfCBcIkFXQUlUSU5HX0FQUFJPVkFMXCJcclxuICAgIHwgXCJERUxFVEVEX09SREVSXCJcclxuICAgIHwgXCJORUVEX1NFTExFUl9DT05GSVJNQVRJT05cIlxyXG4gICAgfCBcIk5FRURfQlVZRVJfQ09ORklSTUFUSU9OXCJcclxuICAgIHwgXCJBVVRPTUFURURcIlxyXG4gICAgfCBcIldBUk5JTkdfSUNPTlwiXHJcbiAgICB8IFwiSU5GT1JNQVRJT05fT1VUTElORV9JQ09OXCJcclxuICAgIHwgXCJDQU5DRUxfSUNPTlwiXHJcbiAgICB8IFwiQUxQSEFfQl9DSVJDTEVcIlxyXG4gICAgfCBcIkFMUEhBX1JfQ0lSQ0xFXCJcclxuICAgIHwgXCJBTFBIQV9FX0NJUkNMRVwiXHJcbiAgICB8IFwiQUxQSEFfQV9DSVJDTEVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNsYXNzTmFtZUNvbnN0YW50IHtcclxuICAgIHN0YXRpYyByZWFkb25seSBkZWZhdWx0Q2xhc3MgPSBcInRhYmxlLWJvZHktcm93IFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHNlbGVjdGVkUm93ID0gXCJzZWxlY3RlZC1yb3cgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgc2VsZWN0YWJsZVJvdyA9IFwic2VsZWN0YWJsZS1yb3cgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgbGFzdFJvd09mR3JvdXAgPSBcImxhc3Qtcm93LW9mLWdyb3VwIFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IG1nUm93ID0gXCJtZy1yb3cgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcmVkQ29sb3JDZWxsQm9yZGVyID0gXCJyZWRjb2xvci1jZWxsLWJvcmRlciBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSByZWRDb2xvckNlbGxCb3JkZXJGb3JCb29rZWRSdGdJbXBzQ29sID0gXCIgcmVkY29sb3ItY2VsbC1ib3JkZXItcnRnLWltcHMtY29sXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZ3JlZW5Db2xvckNlbGxCb3JkZXIgPSBcImdyZWVuY29sb3ItY2VsbC1ib3JkZXIgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgeWVsbG93Q29sb3JDZWxsQm9yZGVyID0gXCJ5ZWxsb3djb2xvci1jZWxsLWJvcmRlclwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IG9yYW5nZUNvbG9yQ2VsbEJvcmRlciA9IFwib3JhbmdlY29sb3ItY2VsbC1ib3JkZXIgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcmVkQ29sb3JTdGF0dXMgPSBcInJlZGNvbG9yLXN0YXR1cyBcIjtcclxuXHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZ3JvdXBlZFRhYmxlQ2xhc3MgPSBcImdyb3VwZWQtdGFibGUtY29udGFpbmVyIFwiO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNXaXRoVGFibGVUb29sdGlwIHtcclxuICAgIHRvb2x0aXBIZWFkZXI6IHN0cmluZztcclxuICAgIHRhYmxlSGVhZGVyczogSGVhZGVyV2l0aE9iamVjdEtleVtdO1xyXG4gICAgdGFibGVEYXRhOiBhbnlbXTtcclxuICAgIGNlbGxWYWx1ZTogc3RyaW5nO1xyXG4gICAgdG9vbHRpcEhvdmVyVGV4dDogc3RyaW5nO1xyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcbiAgICB0b29sdGlwQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBoZWFkaW5nOiBzdHJpbmcsXHJcbiAgICAgICAgdGFibGVIZWFkZXJzOiBIZWFkZXJXaXRoT2JqZWN0S2V5W10sXHJcbiAgICAgICAgdGFibGVEYXRhOiBhbnlbXSxcclxuICAgICAgICBjZWxsVmFsdWU6IHN0cmluZyxcclxuICAgICAgICB0b29sdGlwVGV4dDogc3RyaW5nLFxyXG4gICAgICAgIHNob3dUb29sdGlwOiBib29sZWFuLFxyXG4gICAgICAgIHRvb2x0aXBDbGFzczogc3RyaW5nLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy50b29sdGlwSGVhZGVyID0gaGVhZGluZztcclxuICAgICAgICB0aGlzLnRhYmxlSGVhZGVycyA9IHRhYmxlSGVhZGVycztcclxuICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRhYmxlRGF0YTtcclxuICAgICAgICB0aGlzLmNlbGxWYWx1ZSA9IGNlbGxWYWx1ZTtcclxuICAgICAgICB0aGlzLnRvb2x0aXBIb3ZlclRleHQgPSB0b29sdGlwVGV4dDtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwQ2xhc3MgPSB0b29sdGlwQ2xhc3M7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2l0aE9iamVjdEtleSB7XHJcbiAgICBoZWFkZXJOYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIHdpZHRoOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5uZXJIVE1MVG9vbHRpcEFjdGlvbiB7XHJcbiAgICBkYXRhVG9EaXNwbGF5Pzogc3RyaW5nOyAvLyBUZXh0IG9yIGRhdGEgdG8gZGlzcGxheSBiZWZvcmUgdGhlIHRvb2x0aXBcclxuICAgIHNob3dUb29sdGlwPzogYm9vbGVhbjsgLy8gV2hldGhlciB0byBzaG93IHRoZSB0b29sdGlwXHJcbiAgICB0b29sdGlwSW5uZXJIdG1sVGVtcGxhdGU/OiBzdHJpbmc7IC8vIFRlbXBsYXRlIG9yIGNvbnRlbnQgZm9yIHRoZSB0b29sdGlwXHJcbiAgICB0b29sdGlwUG9zaXRpb24/OiBzdHJpbmc7IC8vIFRvb2x0aXAgcG9zaXRpb24gKGUuZy4sICd0b3AnLCAnYm90dG9tJylcclxuICAgIHRvb2x0aXBJY29uQ2xhc3M/OiBzdHJpbmc7IC8vIENTUyBjbGFzcyBmb3IgdGhlIHRvb2x0aXAgaWNvblxyXG4gICAgdG9vbHRpcElubmVyQ2xhc3M/OiBzdHJpbmc7IC8vIENTUyBjbGFzcyBmb3IgY3VzdG9taXppbmcgdG9vbHRpcCdzIGlubmVyIGNvbnRlbnRcclxuICAgIGRpc2FibGVUb29sdGlwPzogYm9vbGVhbjsgLy8gV2hldGhlciB0byBkaXNhYmxlIHRoZSB0b29sdGlwXHJcbiAgICB0b29sdGlwTWFya2VyVGV4dD86IHN0cmluZzsgLy8gVGV4dCBmb3IgdGhlIHRvb2x0aXAgaWNvbiBvciBpbmRpY2F0b3JcclxuICAgIGRhdGFUb0Rpc3BsYXlBZnRlclRvb2x0aXA/OiBzdHJpbmc7IC8vIERhdGEgdG8gZGlzcGxheSBhZnRlciB0aGUgdG9vbHRpcFxyXG4gICAgaXNNYW51YWxUcmlnZ2VyPzogYm9vbGVhbjsgLy8gV2hldGhlciB0aGUgdG9vbHRpcCB0cmlnZ2VyIGlzIG1hbnVhbCBvciBhdXRvbWF0aWNcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG9vbHRpcFRhYmxlSGVhZGVyIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxuICAgIGNvbHNwYW4/OiBudW1iZXI7XHJcbiAgICByb3dzcGFuPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb29sdGlwVGFibGVSb3dEYXRhIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTsgLy8gQWxsb3cgZHluYW1pYyBrZXlzIGZvciByb3cgZGF0YVxyXG59Il19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvRUEsTUFBTSxPQUFPLHNCQUFzQjtJQUcvQixZQUFZLElBQXVEO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBRUQsTUFBTSxDQUFOLElBQVksY0FZWDtBQVpELFdBQVksY0FBYztJQUN0QiwyRUFBeUQsQ0FBQTtJQUN6RCx5Q0FBdUIsQ0FBQTtJQUN2QixpREFBK0IsQ0FBQTtJQUMvQiwrQ0FBNkIsQ0FBQTtJQUM3Qix1RUFBcUQsQ0FBQTtJQUNyRCwyREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBMkIsQ0FBQTtJQUMzQixtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtBQUNyQyxDQUFDLEVBWlcsY0FBYyxLQUFkLGNBQWMsUUFZekI7QUE0RUQsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFDSSxxQkFBMEIsRUFDMUIsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLFdBQW9CLEVBQ3BCLFdBQTJDO1FBRTNDLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ0ksRUFBTyxFQUNQLFFBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLGFBQXNCLEVBQ3RCLFdBQW9CLEVBQ3BCLFdBQW9CO1FBWnhCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFjckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUErQ0QsTUFBTSxPQUFPLHNCQUFzQjthQUNmLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7YUFDakMsZ0JBQVcsR0FBRyxlQUFlLENBQUM7YUFDOUIsa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQzthQUNsQyxtQkFBYyxHQUFHLG9CQUFvQixDQUFDO2FBQ3RDLFVBQUssR0FBRyxTQUFTLENBQUM7YUFDbEIsdUJBQWtCLEdBQUcsdUJBQXVCLENBQUM7YUFDN0MsMENBQXFDLEdBQUcsb0NBQW9DLENBQUM7YUFDN0UseUJBQW9CLEdBQUcseUJBQXlCLENBQUM7YUFDakQsMEJBQXFCLEdBQUcseUJBQXlCLENBQUM7YUFDbEQsMEJBQXFCLEdBQUcsMEJBQTBCLENBQUM7YUFDbkQsbUJBQWMsR0FBRyxrQkFBa0IsQ0FBQzthQUVwQyxzQkFBaUIsR0FBRywwQkFBMEIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLHdCQUF3QjtJQVNqQyxZQUNJLE9BQWUsRUFDZixZQUFtQyxFQUNuQyxTQUFnQixFQUNoQixTQUFpQixFQUNqQixXQUFtQixFQUNuQixXQUFvQixFQUNwQixZQUFvQjtRQUVwQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3JDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElXZWVrQ2FsZW5kYXIgfSBmcm9tIFwiLi9hbm5hLWdsb2JhbC1kcm9wZG93bi1jb25maWcubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0VGFibGVIZWFkZXIge1xyXG4gICAgaGVhZGVySW5mbzogSUhlYWRlckluZm9bXTtcclxuICAgIHZpc2libGU6IGJvb2xlYW47XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJJbmZvIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIG9iamVjdEtleTogc3RyaW5nO1xyXG4gICAgYWN0aW9uS2V5Pzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcEtleT86IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWRLZXk/OiBzdHJpbmc7XHJcbiAgICB0eXBlT2ZIZWFkZXJEYXRhOiBEQVRBVFlQRTtcclxuICAgIHR5cGVPZkJvZHlEYXRhOiBEQVRBVFlQRTtcclxuICAgIGZpbHRlcj86IEZJTFRFUlRZUEU7XHJcbiAgICBmaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZ1tdO1xyXG4gICAgaXNTb3J0UmVxdWlyZWQ/OiBib29sZWFuW107XHJcbiAgICBpc0ZpbHRlclJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgc2hvd1Rvb2x0aXBJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZVRvb2x0aXBJY29uPzogYm9vbGVhbjtcclxuICAgIHRvb2x0aXA/OiBJVG9vbHRpcDtcclxuICAgIGpvaW5lZEZpbHRlclNvcnRPYmplY3RLZXlzPzogc3RyaW5nO1xyXG4gICAgc2hvd1NwbGl0ZWRPcHRpb25zSW5GaWx0ZXI/OiBib29sZWFuW107IFxyXG4gICAgICAgIC8vIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgc3BsaXQgb3B0aW9ucyBpbiBhIGNoZWNrYm94IGZpbHRlci4gXHJcbiAgICAgICAgLy8gV2hlbiBzZXQgdG8gdHJ1ZSwgdGhlIHZhbHVlcyBpbiB0aGUgZmlsdGVyIHdpbGwgYmUgc3BsaXQgaW50byBpbmRpdmlkdWFsIG9wdGlvbnMuIFxyXG4gICAgICAgIC8vIEZvciBleGFtcGxlLCBpZiB0aGUgZmlsdGVyIGhhcyB2YWx1ZXMgbGlrZSBcIkExOCssIEEzNStcIiwgaXQgd2lsbCBzcGxpdCB0aGVtIGludG8gdHdvIHNlcGFyYXRlIG9wdGlvbnMgKFwiQTE4K1wiIGFuZCBcIkEzNStcIikgaW4gdGhlIGNoZWNrYm94IGZpbHRlci5cclxuXHJcbiAgICBzcGxpdERlbGltaXRlcj86IHN0cmluZ1tdOyBcclxuICAgICAgICAvLyBEZWZpbmVzIHRoZSBrZXkgb3IgbG9naWMgdXNlZCB0byBzcGxpdCB0aGUgdmFsdWVzIGluIHRoZSBjaGVja2JveCBmaWx0ZXIgd2hlbiBgc2hvd1NwbGl0ZWRPcHRpb25zSW5GaWx0ZXJgIGlzIHRydWUuXHJcbiAgICAgICAgLy8gVGhpcyBrZXkgZGV0ZXJtaW5lcyBob3cgdGhlIHZhbHVlcyBhcmUgc3BsaXQuIEZvciBleGFtcGxlLCBpZiB0aGUgZmlsdGVyIGNvbnRhaW5zIFwiQTE4KywgQTM1K1wiIGFuZCBgc3BsaXREZWxpbWl0ZXJgIGlzIHNldCB0byBhIGNvbW1hIG9yIHBsdXMgc2lnbiAoJysnKSwgXHJcbiAgICAgICAgLy8gdGhlIGZpbHRlciB3aWxsIGdlbmVyYXRlIHNlcGFyYXRlIG9wdGlvbnMgZm9yIFwiQTE4K1wiIGFuZCBcIkEzNStcIiBiYXNlZCBvbiB0aGUgc3BsaXQgZGVsaW1pdGVyLlxyXG59XHJcblxyXG50eXBlIERBVEFUWVBFID1cclxuICAgIHwgXCJDSEVDS0JPWFwiXHJcbiAgICB8IFwiSUNPTlwiXHJcbiAgICB8IFwiU1RSSU5HXCJcclxuICAgIHwgXCJSQURJT1wiXHJcbiAgICB8IFwiXCJcclxuICAgIHwgXCJTVkdfSUNPTlwiXHJcbiAgICB8IFwiVEVYVF9BQ1RJT05TXCJcclxuICAgIHwgXCJDTElDS0FCTEVfREFUQVwiXHJcbiAgICB8IFwiU1RSSU5HX19URVhUX0FDVElPTlwiXHJcbiAgICB8IFwiU1RSSU5HX19JQ09OX0FDVElPTlwiXHJcbiAgICB8IFwiU1RSSU5HX19fSUNPTl9PUl9URVhUX0FDVElPTlwiXHJcbiAgICB8IFwiSFRNTFwiXHJcbiAgICB8IFwiSFRNTF9TVFJJTkdcIlxyXG4gICAgfCBcIklDT05fQ0VMTFwiXHJcbiAgICB8IFwiU1RSSU5HX09SX0lOUFVUXCJcclxuICAgIHwgXCJTSU5HTEVfUkFESU9cIlxyXG4gICAgfCBcIlNUUklOR19XSVRIX1RPT0xUSVBcIlxyXG4gICAgfCBcIlNUUklOR19XSVRIX0VMTElQU0lTX0FORF9SRUFEX01PUkVfVE9PTFRJUFwiXHJcbiAgICB8IFwiU1RSSU5HX0VMTElQU0lTX1dJVEhfVEFCTEVfVE9PTFRJUFwiXHJcbiAgICB8IFwiU1RSSU5HX1dJVEhfVE9PTFRJUF9JTk5FUl9IVE1MXCJcclxuICAgIHwgXCJJQ09OX0NFTExfQU5EX1NUUklOR19XSVRIX0VMTElQU0lTX0FORF9SRUFEX01PUkVfVE9PTFRJUFwiO1xyXG4gICAgXHJcbnR5cGUgRklMVEVSVFlQRSA9IFwiQ0hFQ0tCT1hcIiB8IFwiU0xJREVSXCIgfCBcIkRBVEVcIiB8IFwiVElNRVwiIHwgXCJXRUVLXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTdmdPckljb25UeXBlSW5HVFRhYmxlIHtcclxuICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW47XHJcbiAgICBzdmdPckljb25OYW1lPzogc3RyaW5nO1xyXG4gICAgc3ZnT3JJY29uVG9vbHRpcE1zZz86IHN0cmluZztcclxuICAgIGFkZGl0aW9uYWxUZXh0Pzogc3RyaW5nO1xyXG4gICAgYWRkaXRpb25hbFRleHRDbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN2Z09ySWNvblR5cGVJbkdUVGFibGUge1xyXG4gICAgc2hvd09iamVjdEtleTogYm9vbGVhbjtcclxuICAgIHN2Z09ySWNvbk5hbWU/OiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiB7IHNob3dPYmplY3RLZXk6IGJvb2xlYW47IHN2Z09ySWNvbk5hbWU6IHN0cmluZyB9KSB7XHJcbiAgICAgICAgdGhpcy5zaG93T2JqZWN0S2V5ID0gZGF0YS5zaG93T2JqZWN0S2V5O1xyXG4gICAgICAgIHRoaXMuc3ZnT3JJY29uTmFtZSA9IGRhdGEuc3ZnT3JJY29uTmFtZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGVudW0gU3ZnT3JJY29uTmFtZXMge1xyXG4gICAgUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkUgPSBcIlBBWV9GT1JfUEVSRk9STUFOQ0VfQUNUSVZFXCIsXHJcbiAgICBBVVRPTUFURUQgPSBcIkFVVE9NQVRFRFwiLFxyXG4gICAgREVMRVRFRF9PUkRFUiA9IFwiREVMRVRFRF9PUkRFUlwiLFxyXG4gICAgV0FSTklOR19JQ09OID0gXCJXQVJOSU5HX0lDT05cIixcclxuICAgIElORk9STUFUSU9OX09VVExJTkVfSUNPTiA9IFwiSU5GT1JNQVRJT05fT1VUTElORV9JQ09OXCIsXHJcbiAgICBBTEVSVF9PQ1RBR09OX0lDT04gPSBcIkFMRVJUX09DVEFHT05fSUNPTlwiLFxyXG4gICAgQ0FOQ0VMX0lDT04gPSBcIkNBTkNFTF9JQ09OXCIsXHJcbiAgICBBTFBIQV9CX0NJUkNMRSA9IFwiQUxQSEFfQl9DSVJDTEVcIixcclxuICAgIEFMUEhBX1JfQ0lSQ0xFID0gXCJBTFBIQV9SX0NJUkNMRVwiLFxyXG4gICAgQUxQSEFfRV9DSVJDTEUgPSBcIkFMUEhBX0VfQ0lSQ0xFXCIsXHJcbiAgICBBTFBIQV9BX0NJUkNMRSA9IFwiQUxQSEFfQV9DSVJDTEVcIixcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG90YWxSb3dJbmZvIHtcclxuICAgIGNvbHNwYW46IG51bWJlcjtcclxuICAgIGRhdGE6IHN0cmluZztcclxuICAgIGxvd2VyRGF0YT86IHN0cmluZztcclxuICAgIGNvbE5hbWU6IHN0cmluZztcclxuICAgIGNsYXNzPzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcE1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgICBhZGRpdGlvbmFsUmVkVGV4dEFmdGVyRGF0YT86IHN0cmluZztcclxuICAgIGlzQWN0aW9uQ29sdW1uPzogYm9vbGVhbjtcclxuICAgIGFjdGlvbkRhdGE/OiBDbGlja2FibGVJdGVtW107XHJcbiAgICBpc0ljb25Db2x1bW4/OiBib29sZWFuO1xyXG4gICAgaWNvbkRhdGE/OiB7IGNsYXNzOiBzdHJpbmc7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgdG9vbHRpcEljb25DbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RIZWFkZXJDb25maWcge1xyXG4gICAgaWNvbkNvbHVtbjogYm9vbGVhbjtcclxuICAgIGNoZWNrYm94Q29sdW1uOiBib29sZWFuO1xyXG4gICAgbGFzdENvbHVtbktleXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEdlbmVyYWxDb25maWcgZXh0ZW5kcyBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGNvbXBvbmVudDogQ09NUE9ORU5UTkFNRTtcclxuICAgIHRvdGFsUm93OiBib29sZWFuO1xyXG4gICAgaXNIZWFkZXJDaGVja2VkPzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVIZWFkZXJDaGVja2JveD86IGJvb2xlYW47XHJcbiAgICBtdWx0aVdlZWtQaWNrZXJDb25maWc/OiBJV2Vla0NhbGVuZGFyO1xyXG4gICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwPzogbnVtYmVyO1xyXG4gICAgdGFibGVDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgdGFibGVPdXRlckNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiBib29sZWFuO1xyXG4gICAgYnVmZmVyU2l6ZTogbnVtYmVyO1xyXG4gICAgcGFnZTogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIENPTVBPTkVOVE5BTUUgPVxyXG4gICAgfCBcIlNQT1RERVRBSUxTXCJcclxuICAgIHwgXCJFWENMVURFSU5WRU5UT1JZUE9QVVBcIlxyXG4gICAgfCBcIkVYQ0xVREVJTlZFTlRPUllcIlxyXG4gICAgfCBcIkRSUkxJU1RJTkdcIlxyXG4gICAgfCBcIkRSUlwiXHJcbiAgICB8IFwiXCJcclxuICAgIHwgXCJSQVRJTkdcIlxyXG4gICAgfCBcIk9SREVSX0xJU1RJTkdfSU5GTElHSFRcIlxyXG4gICAgfCBcIk9SREVSX0xJU1RJTkdfQ09NUExFVEVEXCJcclxuICAgIHwgXCJPUkRFUl9MSVNUSU5HX0JMQU5LXCJcclxuICAgIHwgXCJMVVJfVklPTEFUSU9OU1wiXHJcbiAgICB8IFwiQUNUSVZJVFlMT0dcIlxyXG4gICAgfCBcIk5PVElGSUNBVElPTlNcIlxyXG4gICAgfCBcIkRQX1JFU1RSSUNUSU9OU1wiO1xyXG5pbnRlcmZhY2UgSVNwb3RUYWJsZUNvbmZpZyB7XHJcbiAgICBpc0dyb3VwZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2x0aXAge1xyXG4gICAgaWNvblBvc2l0aW9uOiBcImxlZnRcIiB8IFwicmlnaHRcIiB8IFwiYWJvdmVcIiB8IFwiYmVsb3dcIiB8IFwiYmVmb3JlXCIgfCBcImFmdGVyXCI7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwUG9zaXRpb246IHN0cmluZztcclxuICAgIGljb25DbGFzczogc3RyaW5nO1xyXG4gICAgdG9vbHRpcENsYXNzOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwTWVzc2FnZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJY29uRGF0YSB7XHJcbiAgICBkYXRhOiBhbnk7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRBY3Rpb24ge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGNsYXNzOiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpY2thYmxlSXRlbSB7XHJcbiAgICBpZDogYW55O1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgaXNEaXNhYmxlZDogYm9vbGVhbjtcclxuICAgIGNsYXNzOiBzdHJpbmc7XHJcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcclxuICAgIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH07XHJcbiAgICBlbmFibGVUb29sdGlwRm9yQWRkaXRpb25hbFRleHQ6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgdHlwZU9mQWN0aW9uTGlua0Zvckd0OiBhbnksXHJcbiAgICAgICAgbmFtZTogc3RyaW5nLFxyXG4gICAgICAgIGNsYXNzTmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHNob3dUb29sdGlwOiBib29sZWFuLFxyXG4gICAgICAgIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0sXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmlkID0gdHlwZU9mQWN0aW9uTGlua0Zvckd0O1xyXG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICAgICAgdGhpcy5jbGFzcyA9IGNsYXNzTmFtZTtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwRGF0YSA9IHRvb2x0aXBEYXRhO1xyXG4gICAgICAgIHRoaXMuZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0ID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJY29uQ2VsbEFjdGlvbktleSB7XHJcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nO1xyXG4gICAgc2hvd0ljb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICBzaG93T2JqZWN0S2V5OiBib29sZWFuO1xyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcbiAgICB0b29sdGlwRGF0YT86IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpZDogYW55LFxyXG4gICAgICAgIHNob3dJY29uOiBib29sZWFuLFxyXG4gICAgICAgIGljb25DbGFzczogc3RyaW5nLFxyXG4gICAgICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW4sXHJcbiAgICAgICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW4sXHJcbiAgICAgICAgdG9vbHRpcERhdGE/OiBzdHJpbmcsXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmlkID0gaWQ7XHJcbiAgICAgICAgdGhpcy5zaG93SWNvbiA9IHNob3dJY29uO1xyXG4gICAgICAgIHRoaXMuaWNvbkNsYXNzID0gaWNvbkNsYXNzO1xyXG4gICAgICAgIHRoaXMuc2hvd09iamVjdEtleSA9IHNob3dPYmplY3RLZXk7XHJcbiAgICAgICAgdGhpcy5zaG93VG9vbHRpcCA9IHNob3dUb29sdGlwO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcERhdGEgPSB0b29sdGlwRGF0YTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQWN0aW9uSXRlbVR5cGVXaXRoU3RyaW5nSWNvbk9yVGV4dEFjdGlvbiB7XHJcbiAgICBpZDogYW55O1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG5cclxuICAgIHR5cGVPZkRhdGE6IFwiU1RSSU5HXCIgfCBcIklDT05fVEVYVF9BQ1RJT05cIjtcclxuICAgIGFkZGl0aW9uYWxUZXh0QmVmb3JlTGluazogc3RyaW5nO1xyXG5cclxuICAgIGljb25DbGFzcz86IHN0cmluZztcclxuICAgIHNob3dJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWRJY29uPzogYm9vbGVhbjtcclxuXHJcbiAgICBsaW5rQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICBzaG93TGluaz86IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlZExpbms/OiBib29sZWFuO1xyXG5cclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG5cclxuICAgIHRvb2x0aXBEYXRhPzogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W107XHJcbiAgICB0b29sdGlwQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwUGxhY2VtZW50Pzogc3RyaW5nO1xyXG5cclxuICAgIGVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEljb25Ub1Nob3cgPVxyXG4gICAgfCBcIkxJVkVcIlxyXG4gICAgfCBcIlBBWV9GT1JfUEVSRk9STUFOQ0VfQUNUSVZFXCJcclxuICAgIHwgXCJQQVlfRk9SX1BFUkZPUk1BTkNFXCJcclxuICAgIHwgXCJSRUpFQ1RFRFwiXHJcbiAgICB8IFwiTk9USUZZXCJcclxuICAgIHwgXCJBV0FJVElOR19BUFBST1ZBTFwiXHJcbiAgICB8IFwiREVMRVRFRF9PUkRFUlwiXHJcbiAgICB8IFwiTkVFRF9TRUxMRVJfQ09ORklSTUFUSU9OXCJcclxuICAgIHwgXCJORUVEX0JVWUVSX0NPTkZJUk1BVElPTlwiXHJcbiAgICB8IFwiQVVUT01BVEVEXCJcclxuICAgIHwgXCJXQVJOSU5HX0lDT05cIlxyXG4gICAgfCBcIklORk9STUFUSU9OX09VVExJTkVfSUNPTlwiXHJcbiAgICB8IFwiQUxFUlRfT0NUQUdPTl9JQ09OXCJcclxuICAgIHwgXCJDQU5DRUxfSUNPTlwiXHJcbiAgICB8IFwiQUxQSEFfQl9DSVJDTEVcIlxyXG4gICAgfCBcIkFMUEhBX1JfQ0lSQ0xFXCJcclxuICAgIHwgXCJBTFBIQV9FX0NJUkNMRVwiXHJcbiAgICB8IFwiQUxQSEFfQV9DSVJDTEVcIlxyXG4gICAgfCBcIk1FU1NBR0VcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNsYXNzTmFtZUNvbnN0YW50IHtcclxuICAgIHN0YXRpYyByZWFkb25seSBkZWZhdWx0Q2xhc3MgPSBcInRhYmxlLWJvZHktcm93IFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHNlbGVjdGVkUm93ID0gXCJzZWxlY3RlZC1yb3cgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgc2VsZWN0YWJsZVJvdyA9IFwic2VsZWN0YWJsZS1yb3cgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgbGFzdFJvd09mR3JvdXAgPSBcImxhc3Qtcm93LW9mLWdyb3VwIFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IG1nUm93ID0gXCJtZy1yb3cgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcmVkQ29sb3JDZWxsQm9yZGVyID0gXCJyZWRjb2xvci1jZWxsLWJvcmRlciBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSByZWRDb2xvckNlbGxCb3JkZXJGb3JCb29rZWRSdGdJbXBzQ29sID0gXCIgcmVkY29sb3ItY2VsbC1ib3JkZXItcnRnLWltcHMtY29sXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZ3JlZW5Db2xvckNlbGxCb3JkZXIgPSBcImdyZWVuY29sb3ItY2VsbC1ib3JkZXIgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgeWVsbG93Q29sb3JDZWxsQm9yZGVyID0gXCJ5ZWxsb3djb2xvci1jZWxsLWJvcmRlclwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IG9yYW5nZUNvbG9yQ2VsbEJvcmRlciA9IFwib3JhbmdlY29sb3ItY2VsbC1ib3JkZXIgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgcmVkQ29sb3JTdGF0dXMgPSBcInJlZGNvbG9yLXN0YXR1cyBcIjtcclxuXHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZ3JvdXBlZFRhYmxlQ2xhc3MgPSBcImdyb3VwZWQtdGFibGUtY29udGFpbmVyIFwiO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNXaXRoVGFibGVUb29sdGlwIHtcclxuICAgIHRvb2x0aXBIZWFkZXI6IHN0cmluZztcclxuICAgIHRhYmxlSGVhZGVyczogSGVhZGVyV2l0aE9iamVjdEtleVtdO1xyXG4gICAgdGFibGVEYXRhOiBhbnlbXTtcclxuICAgIGNlbGxWYWx1ZTogc3RyaW5nO1xyXG4gICAgdG9vbHRpcEhvdmVyVGV4dDogc3RyaW5nO1xyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcbiAgICB0b29sdGlwQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBoZWFkaW5nOiBzdHJpbmcsXHJcbiAgICAgICAgdGFibGVIZWFkZXJzOiBIZWFkZXJXaXRoT2JqZWN0S2V5W10sXHJcbiAgICAgICAgdGFibGVEYXRhOiBhbnlbXSxcclxuICAgICAgICBjZWxsVmFsdWU6IHN0cmluZyxcclxuICAgICAgICB0b29sdGlwVGV4dDogc3RyaW5nLFxyXG4gICAgICAgIHNob3dUb29sdGlwOiBib29sZWFuLFxyXG4gICAgICAgIHRvb2x0aXBDbGFzczogc3RyaW5nLFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy50b29sdGlwSGVhZGVyID0gaGVhZGluZztcclxuICAgICAgICB0aGlzLnRhYmxlSGVhZGVycyA9IHRhYmxlSGVhZGVycztcclxuICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRhYmxlRGF0YTtcclxuICAgICAgICB0aGlzLmNlbGxWYWx1ZSA9IGNlbGxWYWx1ZTtcclxuICAgICAgICB0aGlzLnRvb2x0aXBIb3ZlclRleHQgPSB0b29sdGlwVGV4dDtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwQ2xhc3MgPSB0b29sdGlwQ2xhc3M7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyV2l0aE9iamVjdEtleSB7XHJcbiAgICBoZWFkZXJOYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIHdpZHRoOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5uZXJIVE1MVG9vbHRpcEFjdGlvbiB7XHJcbiAgICBkYXRhVG9EaXNwbGF5Pzogc3RyaW5nOyAvLyBUZXh0IG9yIGRhdGEgdG8gZGlzcGxheSBiZWZvcmUgdGhlIHRvb2x0aXBcclxuICAgIHNob3dUb29sdGlwPzogYm9vbGVhbjsgLy8gV2hldGhlciB0byBzaG93IHRoZSB0b29sdGlwXHJcbiAgICB0b29sdGlwSW5uZXJIdG1sVGVtcGxhdGU/OiBzdHJpbmc7IC8vIFRlbXBsYXRlIG9yIGNvbnRlbnQgZm9yIHRoZSB0b29sdGlwXHJcbiAgICB0b29sdGlwUG9zaXRpb24/OiBzdHJpbmc7IC8vIFRvb2x0aXAgcG9zaXRpb24gKGUuZy4sICd0b3AnLCAnYm90dG9tJylcclxuICAgIHRvb2x0aXBJY29uQ2xhc3M/OiBzdHJpbmc7IC8vIENTUyBjbGFzcyBmb3IgdGhlIHRvb2x0aXAgaWNvblxyXG4gICAgdG9vbHRpcElubmVyQ2xhc3M/OiBzdHJpbmc7IC8vIENTUyBjbGFzcyBmb3IgY3VzdG9taXppbmcgdG9vbHRpcCdzIGlubmVyIGNvbnRlbnRcclxuICAgIGRpc2FibGVUb29sdGlwPzogYm9vbGVhbjsgLy8gV2hldGhlciB0byBkaXNhYmxlIHRoZSB0b29sdGlwXHJcbiAgICB0b29sdGlwTWFya2VyVGV4dD86IHN0cmluZzsgLy8gVGV4dCBmb3IgdGhlIHRvb2x0aXAgaWNvbiBvciBpbmRpY2F0b3JcclxuICAgIGRhdGFUb0Rpc3BsYXlBZnRlclRvb2x0aXA/OiBzdHJpbmc7IC8vIERhdGEgdG8gZGlzcGxheSBhZnRlciB0aGUgdG9vbHRpcFxyXG4gICAgaXNNYW51YWxUcmlnZ2VyPzogYm9vbGVhbjsgLy8gV2hldGhlciB0aGUgdG9vbHRpcCB0cmlnZ2VyIGlzIG1hbnVhbCBvciBhdXRvbWF0aWNcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG9vbHRpcFRhYmxlSGVhZGVyIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxuICAgIGNvbHNwYW4/OiBudW1iZXI7XHJcbiAgICByb3dzcGFuPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb29sdGlwVGFibGVSb3dEYXRhIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTsgLy8gQWxsb3cgZHluYW1pYyBrZXlzIGZvciByb3cgZGF0YVxyXG59XHJcbiJdfQ==
@@ -5,32 +5,6 @@ export class AnnaGlobalConfigService {
5
5
  Initializing all default settings
6
6
  */
7
7
  constructor() {
8
- this.defaultAngular2MultiSelectSettings = {
9
- text: "Select option",
10
- selectAllText: "Select All",
11
- unSelectAllText: "UnSelect All",
12
- badgeShowLimit: 1,
13
- singleSelection: false,
14
- classes: "filter-dropdowns",
15
- enableSearchFilter: true,
16
- enableCheckAll: true,
17
- autoPosition: false,
18
- disabled: false,
19
- position: "bottom",
20
- lazyLoading: false,
21
- showCheckbox: true,
22
- maxHeight: 300,
23
- enableFilterSelectAll: true,
24
- };
25
- this.defaultNgxAsideSettings = {
26
- title: '"Filters"',
27
- cancelButtonTitle: '"Cancel"',
28
- submitButtonTitle: '"Apply"',
29
- closeOnEscape: false,
30
- showOverlay: false,
31
- showDefaultFooter: false,
32
- showDefaultHeader: false,
33
- };
34
8
  this.defaultNgbDatePickerSettings = {
35
9
  autoClose: false,
36
10
  placeholder: "mm-dd-yyyy",
@@ -43,35 +17,12 @@ export class AnnaGlobalConfigService {
43
17
  allowClear: false,
44
18
  placeholder: "Select",
45
19
  };
46
- this.defaultNgxInfiniteScrollSettings = {
47
- infiniteScrollDistance: 1,
48
- infiniteScrollUpDistance: 2,
49
- infiniteScrollThrottle: 300,
50
- scrollWindow: false,
51
- };
52
20
  this.defaultNgxSkeletonLoaderSettings = {
53
21
  numberOfSkeletonRows: Array(6).fill(0),
54
22
  };
55
- this.defaultRadioButtonsComponentConfig = {
56
- heading: "Select Option",
57
- radioButtons: [
58
- {
59
- value: "Yes",
60
- isDisabled: false,
61
- label: "Yes",
62
- class: "",
63
- },
64
- {
65
- value: "No",
66
- isDisabled: false,
67
- label: "No",
68
- class: "",
69
- },
70
- ],
71
- };
72
23
  this.defaultConfirmationPopupConfig = {
73
24
  showCancelButton: true,
74
- title: "Are you sure ?",
25
+ title: "Are you sure you want to save the changes?",
75
26
  showConfirmButton: true,
76
27
  cancelButtonLabel: "No",
77
28
  confirmButtonLabel: "Yes",
@@ -81,6 +32,18 @@ export class AnnaGlobalConfigService {
81
32
  size: "sm",
82
33
  keyboard: false,
83
34
  };
35
+ this.defaultUnsavedChangesConfirmationPopupConfig = {
36
+ showCancelButton: true,
37
+ title: "You have unsaved changes. All the changes will be lost if you switch. Do you want to continue?",
38
+ showConfirmButton: true,
39
+ cancelButtonLabel: "No",
40
+ confirmButtonLabel: "Yes",
41
+ showCloseIcon: false,
42
+ backdrop: "static",
43
+ windowClass: "",
44
+ size: "sm",
45
+ keyboard: false,
46
+ };
84
47
  this.defaultWeekCalendarConfig = {
85
48
  firstDayOfWeek: 1,
86
49
  showWeekNumbers: true,
@@ -95,11 +58,6 @@ export class AnnaGlobalConfigService {
95
58
  showAsDropdown: true,
96
59
  selectCurrentWeek: true,
97
60
  };
98
- this.defaultGtHeaderConfig = {
99
- iconColumn: false,
100
- checkboxColumn: false,
101
- lastColumnKeys: [],
102
- };
103
61
  this.defaultGtGeneralConfig = {
104
62
  component: "",
105
63
  totalRow: false,
@@ -116,7 +74,8 @@ export class AnnaGlobalConfigService {
116
74
  placeholder: "Select",
117
75
  classes: "",
118
76
  position: "BOTTOM",
119
- maxHeightOfList: 200,
77
+ minHeightOfList: 30,
78
+ maxHeightOfList: 180,
120
79
  };
121
80
  this.defaultMultiSelectConfig = {
122
81
  ...this.defaultSingleSelectConfig,
@@ -132,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
132
91
  providedIn: "root",
133
92
  }]
134
93
  }], ctorParameters: function () { return []; } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdsb2JhbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW9CM0MsTUFBTSxPQUFPLHVCQUF1QjtJQWVoQzs7TUFFRTtJQUNGO1FBQ0ksSUFBSSxDQUFDLGtDQUFrQyxHQUFHO1lBQ3RDLElBQUksRUFBRSxlQUFlO1lBQ3JCLGFBQWEsRUFBRSxZQUFZO1lBQzNCLGVBQWUsRUFBRSxjQUFjO1lBQy9CLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixjQUFjLEVBQUUsSUFBSTtZQUNwQixZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFNBQVMsRUFBRSxHQUFHO1lBQ2QscUJBQXFCLEVBQUUsSUFBSTtTQUM5QixDQUFDO1FBRUYsSUFBSSxDQUFDLHVCQUF1QixHQUFHO1lBQzNCLEtBQUssRUFBRSxXQUFXO1lBQ2xCLGlCQUFpQixFQUFFLFVBQVU7WUFDN0IsaUJBQWlCLEVBQUUsU0FBUztZQUM1QixhQUFhLEVBQUUsS0FBSztZQUNwQixXQUFXLEVBQUUsS0FBSztZQUNsQixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlCQUFpQixFQUFFLEtBQUs7U0FDM0IsQ0FBQztRQUVGLElBQUksQ0FBQyw0QkFBNEIsR0FBRztZQUNoQyxTQUFTLEVBQUUsS0FBSztZQUNoQixXQUFX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QUFFLElBQUksRUFBRTtTQUM3QyxDQUFDO0lBQ04sQ0FBQzsrR0FwSlEsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FGcEIsTUFBTTs7NEZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIElBbmd1bGFyMk11bHRpU2VsZWN0U2V0dGluZ3MsXHJcbiAgICBJQ29uZmlybWF0aW9uUG9wdXBDb25maWcsXHJcbiAgICBJQ3VzdG9tTXVsdGlTZWxlY3QsXHJcbiAgICBJQ3VzdG9tU2luZ2xlU2VsZWN0LFxyXG4gICAgSU5nYkRhdGVQaWNrZXJTZXR0aW5ncyxcclxuICAgIElOZ1NlbGVjdFNldHRpbmdzLFxyXG4gICAgSU5neEFzaWRlU2V0dGluZ3MsXHJcbiAgICBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncyxcclxuICAgIElOZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzLFxyXG4gICAgSVJhZGlvQnV0dG9uQ29tcG9uZW50Q29uZmlnLFxyXG4gICAgSVdlZWtDYWxlbmRhcixcclxufSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBJR3RHZW5lcmFsQ29uZmlnLCBJR3RIZWFkZXJDb25maWcgfSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVsc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSB7XHJcbiAgICByZWFkb25seSBkZWZhdWx0QW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzOiBJQW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5neEFzaWRlU2V0dGluZ3M6IElOZ3hBc2lkZVNldHRpbmdzO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5nczogSU5nYkRhdGVQaWNrZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ1NlbGVjdFNldHRpbmdzOiBJTmdTZWxlY3RTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hJbmZpbml0ZVNjcm9sbFNldHRpbmdzOiBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzOiBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRSYWRpb0J1dHRvbnNDb21wb25lbnRDb25maWc6IElSYWRpb0J1dHRvbkNvbXBvbmVudENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRDb25maXJtYXRpb25Qb3B1cENvbmZpZzogSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFdlZWtDYWxlbmRhckNvbmZpZzogSVdlZWtDYWxlbmRhcjtcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRHdEhlYWRlckNvbmZpZzogSUd0SGVhZGVyQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdEd0R2VuZXJhbENvbmZpZzogSUd0R2VuZXJhbENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWc6IElDdXN0b21TaW5nbGVTZWxlY3Q7XHJcbiAgICByZWFkb25seSBkZWZhdWx0TXVsdGlTZWxlY3RDb25maWc6IElDdXN0b21NdWx0aVNlbGVjdDtcclxuXHJcbiAgICAvKlxyXG4gICAgIEluaXRpYWxpemluZyBhbGwgZGVmYXVsdCBzZXR0aW5nc1xyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdEFuZ3VsYXIyTXVsdGlTZWxlY3RTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgdGV4dDogXCJTZWxlY3Qgb3B0aW9uXCIsXHJcbiAgICAgICAgICAgIHNlbGVjdEFsbFRleHQ6IFwiU2VsZWN0IEFsbFwiLFxyXG4gICAgICAgICAgICB1blNlbGVjdEFsbFRleHQ6IFwiVW5TZWxlY3QgQWxsXCIsXHJcbiAgICAgICAgICAgIGJhZGdlU2hvd0xpbWl0OiAxLFxyXG4gICAgICAgICAgICBzaW5nbGVTZWxlY3Rpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBjbGFzc2VzOiBcImZpbHRlci1kcm9wZG93bnNcIixcclxuICAgICAgICAgICAgZW5hYmxlU2VhcmNoRmlsdGVyOiB0cnVlLFxyXG4gICAgICAgICAgICBlbmFibGVDaGVja0FsbDogdHJ1ZSxcclxuICAgICAgICAgICAgYXV0b1Bvc2l0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogXCJib3R0b21cIixcclxuICAgICAgICAgICAgbGF6eUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93Q2hlY2tib3g6IHRydWUsXHJcbiAgICAgICAgICAgIG1heEhlaWdodDogMzAwLFxyXG4gICAgICAgICAgICBlbmFibGVGaWx0ZXJTZWxlY3RBbGw6IHRydWUsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4QXNpZGVTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgdGl0bGU6ICdcIkZpbHRlcnNcIicsXHJcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRpdGxlOiAnXCJDYW5jZWxcIicsXHJcbiAgICAgICAgICAgIHN1Ym1pdEJ1dHRvblRpdGxlOiAnXCJBcHBseVwiJyxcclxuICAgICAgICAgICAgY2xvc2VPbkVzY2FwZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHNob3dPdmVybGF5OiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd0RlZmF1bHRGb290ZXI6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93RGVmYXVsdEhlYWRlcjogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0TmdiRGF0ZVBpY2tlclNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhdXRvQ2xvc2U6IGZhbHNlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJtbS1kZC15eXl5XCIsXHJcbiAgICAgICAgICAgIGRpc3BsYXlNb250aHM6IDEsXHJcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAxLFxyXG4gICAgICAgICAgICBzaG93V2Vla051bWJlcnM6IGZhbHNlLFxyXG4gICAgICAgICAgICByZWFkb25seTogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ1NlbGVjdFNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiU2VsZWN0XCIsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgaW5maW5pdGVTY3JvbGxEaXN0YW5jZTogMSxcclxuICAgICAgICAgICAgaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlOiAyLFxyXG4gICAgICAgICAgICBpbmZpbml0ZVNjcm9sbFRocm90dGxlOiAzMDAsXHJcbiAgICAgICAgICAgIHNjcm9sbFdpbmRvdzogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgbnVtYmVyT2ZTa2VsZXRvblJvd3M6IEFycmF5KDYpLmZpbGwoMCksXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0UmFkaW9CdXR0b25zQ29tcG9uZW50Q29uZmlnID0ge1xyXG4gICAgICAgICAgICBoZWFkaW5nOiBcIlNlbGVjdCBPcHRpb25cIixcclxuICAgICAgICAgICAgcmFkaW9CdXR0b25zOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiWWVzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiWWVzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M6IFwiXCIsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIk5vXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiTm9cIixcclxuICAgICAgICAgICAgICAgICAgICBjbGFzczogXCJcIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlybWF0aW9uUG9wdXBDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIkFyZSB5b3Ugc3VyZSA/XCIsXHJcbiAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgICBjYW5jZWxCdXR0b25MYWJlbDogXCJOb1wiLFxyXG4gICAgICAgICAgICBjb25maXJtQnV0dG9uTGFiZWw6IFwiWWVzXCIsXHJcbiAgICAgICAgICAgIHNob3dDbG9zZUljb246IHRydWUsXHJcbiAgICAgICAgICAgIGJhY2tkcm9wOiBcInN0YXRpY1wiLFxyXG4gICAgICAgICAgICB3aW5kb3dDbGFzczogXCJcIixcclxuICAgICAgICAgICAgc2l6ZTogXCJzbVwiLFxyXG4gICAgICAgICAgICBrZXlib2FyZDogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0V2Vla0NhbGVuZGFyQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogMSxcclxuICAgICAgICAgICAgc2hvd1dlZWtOdW1iZXJzOiB0cnVlLFxyXG4gICAgICAgICAgICBkYXRlRm9ybWF0VG9EaXNwbGF5OiBcImQgTU1NIHlcIixcclxuICAgICAgICAgICAgZGF0ZUZvcm1hdEZvclJlcXVlc3Q6IFwieS1NTS1kZFwiLFxyXG4gICAgICAgICAgICBtYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudDogMixcclxuICAgICAgICAgICAgbnVtYmVyT2ZNb250aHNUb0VuYWJsZUluUGFzdDogMSxcclxuICAgICAgICAgICAgc2VsZWN0TXVsdGlwbGVXZWVrczogZmFsc2UsXHJcbiAgICAgICAgICAgIGN1c3RvbUNsYXNzOiBcIlwiLFxyXG4gICAgICAgICAgICBlbWl0TXVsdGlwbGVXZWVrT2JqZWN0czogdHJ1ZSxcclxuICAgICAgICAgICAgbWF4V2Vla3NUb1NlbGVjdDogMCxcclxuICAgICAgICAgICAgc2hvd0FzRHJvcGRvd246IHRydWUsXHJcbiAgICAgICAgICAgIHNlbGVjdEN1cnJlbnRXZWVrOiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdEd0SGVhZGVyQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBpY29uQ29sdW1uOiBmYWxzZSxcclxuICAgICAgICAgICAgY2hlY2tib3hDb2x1bW46IGZhbHNlLFxyXG4gICAgICAgICAgICBsYXN0Q29sdW1uS2V5czogW10sXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0R3RHZW5lcmFsQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFwiXCIsXHJcbiAgICAgICAgICAgIHRvdGFsUm93OiBmYWxzZSxcclxuICAgICAgICAgICAgaXNIZWFkZXJDaGVja2VkOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZUhlYWRlckNoZWNrYm94OiBmYWxzZSxcclxuICAgICAgICAgICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwOiAwLFxyXG4gICAgICAgICAgICBpc0dyb3VwZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiB0cnVlLFxyXG4gICAgICAgICAgICBidWZmZXJTaXplOiAyMCxcclxuICAgICAgICAgICAgcGFnZTogXCJcIixcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dTZWFyY2hCYXI6IGZhbHNlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJTZWxlY3RcIixcclxuICAgICAgICAgICAgY2xhc3NlczogXCJcIixcclxuICAgICAgICAgICAgcG9zaXRpb246IFwiQk9UVE9NXCIsXHJcbiAgICAgICAgICAgIG1heEhlaWdodE9mTGlzdDogMjAwLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdE11bHRpU2VsZWN0Q29uZmlnID0ge1xyXG4gICAgICAgICAgICAuLi50aGlzLmRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWcsXHJcbiAgICAgICAgICAgIC4uLnsgc2hvd0Vycm9yV2hlbk5vT3B0aW9uU2VsZWN0ZWQ6IHRydWUgfSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdsb2JhbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWdCM0MsTUFBTSxPQUFPLHVCQUF1QjtJQVdoQzs7TUFFRTtJQUNGO1FBQ0ksSUFBSSxDQUFDLDRCQUE0QixHQUFHO1lBQ2hDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFFRixJQUFJLENBQUMsdUJBQXVCLEdBQUc7WUFDM0IsVUFBVSxFQUFFLEtBQUs7WUFDakIsV0FBVyxFQUFFLFFBQVE7U0FDeEIsQ0FBQztRQUVGLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRztZQUNwQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN6QyxDQUFDO1FBRUYsSUFBSSxDQUFDLDhCQUE4QixHQUFHO1lBQ2xDLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsS0FBSyxFQUFFLDRDQUE0QztZQUNuRCxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixhQUFhLEVBQUUsSUFBSTtZQUNuQixRQUFRLEVBQUUsUUFBUTtZQUNsQixXQUFXLEVBQUUsRUFBRTtZQUNmLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQztRQUVGLElBQUksQ0FBQyw0Q0FBNEMsR0FBRztZQUNoRCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLEtBQUssRUFBRSxnR0FBZ0c7WUFDdkcsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsV0FBVyxFQUFFLEVBQUU7WUFDZixJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxLQUFLO1NBQ2xCLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLEdBQUc7WUFDN0IsY0FBYyxFQUFFLENBQUM7WUFDakIsZUFBZSxFQUFFLElBQUk7WUFDckIsbUJBQW1CLEVBQUUsU0FBUztZQUM5QixvQkFBb0IsRUFBRSxTQUFTO1lBQy9CLGdDQUFnQyxFQUFFLENBQUM7WUFDbkMsNEJBQTRCLEVBQUUsQ0FBQztZQUMvQixtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsdUJBQXVCLEVBQUUsSUFBSTtZQUM3QixnQkFBZ0IsRUFBRSxDQUFDO1lBQ25CLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGlCQUFpQixFQUFFLElBQUk7U0FDMUIsQ0FBQztRQUVGLElBQUksQ0FBQyxzQkFBc0IsR0FBRztZQUMxQixTQUFTLEVBQUUsRUFBRTtZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsZUFBZSxFQUFFLEtBQUs7WUFDdEIscUJBQXFCLEVBQUUsS0FBSztZQUM1QixvQ0FBb0MsRUFBRSxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLG1CQUFtQixFQUFFLElBQUk7WUFDekIsVUFBVSxFQUFFLEVBQUU7WUFDZCxJQUFJLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLEdBQUc7WUFDN0IsYUFBYSxFQUFFLEtBQUs7WUFDcEIsV0FBVyxFQUFFLFFBQVE7WUFDckIsT0FBTyxFQUFFLEVBQUU7WUFDWCxRQUFRLEVBQUUsUUFBUTtZQUNsQixlQUFlLEVBQUUsRUFBRTtZQUNuQixlQUFlLEVBQUUsR0FBRztTQUN2QixDQUFDO1FBRUYsSUFBSSxDQUFDLHdCQUF3QixHQUFHO1lBQzVCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QjtZQUNqQyxHQUFHLEVBQUUsNkJBQTZCLEVBQUUsSUFBSSxFQUFFO1NBQzdDLENBQUM7SUFDTixDQUFDOytHQW5HUSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZwQixNQUFNOzs0RkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnLFxyXG4gICAgSUN1c3RvbU11bHRpU2VsZWN0LFxyXG4gICAgSUN1c3RvbVNpbmdsZVNlbGVjdCxcclxuICAgIElOZ2JEYXRlUGlja2VyU2V0dGluZ3MsXHJcbiAgICBJTmdTZWxlY3RTZXR0aW5ncyxcclxuICAgIElOZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzLFxyXG4gICAgSVdlZWtDYWxlbmRhcixcclxufSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBJR3RHZW5lcmFsQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9hbm5hLW5vbi1lZGl0YWJsZS1ndC1tb2RlbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2Uge1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5nczogSU5nYkRhdGVQaWNrZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ1NlbGVjdFNldHRpbmdzOiBJTmdTZWxlY3RTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzOiBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRDb25maXJtYXRpb25Qb3B1cENvbmZpZzogSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uUG9wdXBDb25maWc6IElDb25maXJtYXRpb25Qb3B1cENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRXZWVrQ2FsZW5kYXJDb25maWc6IElXZWVrQ2FsZW5kYXI7XHJcbiAgICByZWFkb25seSBkZWZhdWx0R3RHZW5lcmFsQ29uZmlnOiBJR3RHZW5lcmFsQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFNpbmdsZVNlbGVjdENvbmZpZzogSUN1c3RvbVNpbmdsZVNlbGVjdDtcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRNdWx0aVNlbGVjdENvbmZpZzogSUN1c3RvbU11bHRpU2VsZWN0O1xyXG5cclxuICAgIC8qXHJcbiAgICAgSW5pdGlhbGl6aW5nIGFsbCBkZWZhdWx0IHNldHRpbmdzXHJcbiAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0TmdiRGF0ZVBpY2tlclNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhdXRvQ2xvc2U6IGZhbHNlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJtbS1kZC15eXl5XCIsXHJcbiAgICAgICAgICAgIGRpc3BsYXlNb250aHM6IDEsXHJcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAxLFxyXG4gICAgICAgICAgICBzaG93V2Vla051bWJlcnM6IGZhbHNlLFxyXG4gICAgICAgICAgICByZWFkb25seTogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ1NlbGVjdFNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiU2VsZWN0XCIsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgbnVtYmVyT2ZTa2VsZXRvblJvd3M6IEFycmF5KDYpLmZpbGwoMCksXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlybWF0aW9uUG9wdXBDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBzYXZlIHRoZSBjaGFuZ2VzP1wiLFxyXG4gICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IFwiTm9cIixcclxuICAgICAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiBcIlllc1wiLFxyXG4gICAgICAgICAgICBzaG93Q2xvc2VJY29uOiB0cnVlLFxyXG4gICAgICAgICAgICBiYWNrZHJvcDogXCJzdGF0aWNcIixcclxuICAgICAgICAgICAgd2luZG93Q2xhc3M6IFwiXCIsXHJcbiAgICAgICAgICAgIHNpemU6IFwic21cIixcclxuICAgICAgICAgICAga2V5Ym9hcmQ6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uUG9wdXBDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcy4gQWxsIHRoZSBjaGFuZ2VzIHdpbGwgYmUgbG9zdCBpZiB5b3Ugc3dpdGNoLiBEbyB5b3Ugd2FudCB0byBjb250aW51ZT9cIixcclxuICAgICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBcIk5vXCIsXHJcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogXCJZZXNcIixcclxuICAgICAgICAgICAgc2hvd0Nsb3NlSWNvbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGJhY2tkcm9wOiBcInN0YXRpY1wiLFxyXG4gICAgICAgICAgICB3aW5kb3dDbGFzczogXCJcIixcclxuICAgICAgICAgICAgc2l6ZTogXCJzbVwiLFxyXG4gICAgICAgICAgICBrZXlib2FyZDogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0V2Vla0NhbGVuZGFyQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogMSxcclxuICAgICAgICAgICAgc2hvd1dlZWtOdW1iZXJzOiB0cnVlLFxyXG4gICAgICAgICAgICBkYXRlRm9ybWF0VG9EaXNwbGF5OiBcImQgTU1NIHlcIixcclxuICAgICAgICAgICAgZGF0ZUZvcm1hdEZvclJlcXVlc3Q6IFwieS1NTS1kZFwiLFxyXG4gICAgICAgICAgICBtYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudDogMixcclxuICAgICAgICAgICAgbnVtYmVyT2ZNb250aHNUb0VuYWJsZUluUGFzdDogMSxcclxuICAgICAgICAgICAgc2VsZWN0TXVsdGlwbGVXZWVrczogZmFsc2UsXHJcbiAgICAgICAgICAgIGN1c3RvbUNsYXNzOiBcIlwiLFxyXG4gICAgICAgICAgICBlbWl0TXVsdGlwbGVXZWVrT2JqZWN0czogdHJ1ZSxcclxuICAgICAgICAgICAgbWF4V2Vla3NUb1NlbGVjdDogMCxcclxuICAgICAgICAgICAgc2hvd0FzRHJvcGRvd246IHRydWUsXHJcbiAgICAgICAgICAgIHNlbGVjdEN1cnJlbnRXZWVrOiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdEd0R2VuZXJhbENvbmZpZyA9IHtcclxuICAgICAgICAgICAgY29tcG9uZW50OiBcIlwiLFxyXG4gICAgICAgICAgICB0b3RhbFJvdzogZmFsc2UsXHJcbiAgICAgICAgICAgIGlzSGVhZGVyQ2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVIZWFkZXJDaGVja2JveDogZmFsc2UsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsT2Zmc2V0Rm9yRmlsdGVyVG9vbHRpcDogMCxcclxuICAgICAgICAgICAgaXNHcm91cGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd0FsbENvbHVtbkZpbHRlcjogdHJ1ZSxcclxuICAgICAgICAgICAgYnVmZmVyU2l6ZTogMjAsXHJcbiAgICAgICAgICAgIHBhZ2U6IFwiXCIsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnID0ge1xyXG4gICAgICAgICAgICBzaG93U2VhcmNoQmFyOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiU2VsZWN0XCIsXHJcbiAgICAgICAgICAgIGNsYXNzZXM6IFwiXCIsXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBcIkJPVFRPTVwiLFxyXG4gICAgICAgICAgICBtaW5IZWlnaHRPZkxpc3Q6IDMwLFxyXG4gICAgICAgICAgICBtYXhIZWlnaHRPZkxpc3Q6IDE4MCxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRNdWx0aVNlbGVjdENvbmZpZyA9IHtcclxuICAgICAgICAgICAgLi4udGhpcy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnLFxyXG4gICAgICAgICAgICAuLi57IHNob3dFcnJvcldoZW5Ob09wdGlvblNlbGVjdGVkOiB0cnVlIH0sXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -16,7 +16,7 @@ import * as i4 from "@angular/forms";
16
16
  export class AnnaWeekCalendarComponent {
17
17
  ngOnChanges(changes) {
18
18
  // if some values are not sent, setting the default values
19
- this.defaultValues = this.globalConfigService.defaultWeekCalendarConfig;
19
+ this.defaultValues = this.annaGlobalConfig.defaultWeekCalendarConfig;
20
20
  this.config = { ...this.defaultValues, ...this.config };
21
21
  if (this.config.selectCurrentWeek) {
22
22
  this.initializeWeekData();
@@ -37,11 +37,11 @@ export class AnnaWeekCalendarComponent {
37
37
  this.disabledFunc = (date, current) => this.checkIfDateIsDisabled(date);
38
38
  }
39
39
  }
40
- constructor(calendar, datePickerConfig, annaDateTimeFormatService, globalConfigService) {
40
+ constructor(calendar, datePickerConfig, annaDateTimeFormatService, annaGlobalConfig) {
41
41
  this.calendar = calendar;
42
42
  this.datePickerConfig = datePickerConfig;
43
43
  this.annaDateTimeFormatService = annaDateTimeFormatService;
44
- this.globalConfigService = globalConfigService;
44
+ this.annaGlobalConfig = annaGlobalConfig;
45
45
  this.hoveredDate = null;
46
46
  this.toDate = null;
47
47
  this.weekNumbers = [];
@@ -356,4 +356,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
356
356
  }], calendarToggled: [{
357
357
  type: Output
358
358
  }] } });
359
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsZ0NBQWdDO0FBQ2hDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsT0FBTyxFQUNQLGFBQWEsRUFDYixtQkFBbUIsRUFFbkIsa0JBQWtCLEdBQ3JCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBSTFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDOzs7Ozs7QUFFNUcsaUNBQWlDO0FBU2pDLE1BQU0sT0FBTyx5QkFBeUI7SUFvQ2xDLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QiwwREFBMEQ7UUFDMUQs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Q0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsZUFBZSxDQUFDLGFBQWtCO1FBQzlCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDOytHQXRaUSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwwWUM3QnRDLGs1S0F1SkEsa2hJRDVIYyxJQUFJLDRGQUFFLFdBQVcsd2RBQUUsa0JBQWtCLHllQUFFLE9BQU8sb0ZBQUUsYUFBYTs7NEZBRTlELHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDSSxvQ0FBb0MsY0FHbEMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDO2tOQXNCL0QsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQVFHLE1BQU07c0JBQWQsS0FBSztnQkFDSSx3QkFBd0I7c0JBQWpDLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7XHJcbiAgICBOZ2JDYWxlbmRhcixcclxuICAgIE5nYkRhdGUsXHJcbiAgICBOZ2JEYXRlcGlja2VyLFxyXG4gICAgTmdiRGF0ZXBpY2tlckNvbmZpZyxcclxuICAgIE5nYkRhdGVTdHJ1Y3QsXHJcbiAgICBOZ2JJbnB1dERhdGVwaWNrZXIsXHJcbn0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuXHJcbmltcG9ydCB7IFdlZWtPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtZ2VuZXJpYy1kYXRhLXR5cGUubW9kZWxcIjtcclxuaW1wb3J0IHsgSVdlZWtDYWxlbmRhciB9IGZyb20gXCIuLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9tb2RlbHMvYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcbmltcG9ydCB7IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2VcIjtcclxuXHJcbi8vIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhbm5hLWNvcmUtd2Vlay1jYWxlbmRhci1maWx0ZXItbGliXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9hbm5hLXdlZWstY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmLCBGb3Jtc01vZHVsZSwgTmdiSW5wdXREYXRlcGlja2VyLCBOZ0NsYXNzLCBOZ2JEYXRlcGlja2VyXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFXZWVrQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBmcm9tRGF0ZTogTmdiRGF0ZSB8IG51bGw7XHJcbiAgICBob3ZlcmVkRGF0ZTogTmdiRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gICAgdG9EYXRlOiBOZ2JEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgICB0b2RheTogTmdiRGF0ZTtcclxuXHJcbiAgICBtb2RlbDogTmdiRGF0ZVN0cnVjdDtcclxuXHJcbiAgICB3ZWVrTnVtYmVyczogc3RyaW5nW10gPSBbXTtcclxuICAgIHBpcGU6IERhdGVQaXBlO1xyXG4gICAgZGF0ZVRvRGlzcGxheTogc3RyaW5nID0gXCJcIjtcclxuICAgIHdlZWtPYmplY3RzOiBXZWVrT2JqZWN0W107XHJcbiAgICBtdWx0aVNlbGVjdERyb3Bkb3duT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZGF0ZXBpY2tlcjogTmdiSW5wdXREYXRlcGlja2VyO1xyXG4gICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IGFueTtcclxuICAgIHB1YmxpYyBmb3JtYXR0ZWRTdGFydERhdGU6IHN0cmluZztcclxuICAgIHB1YmxpYyBmb3JtYXR0ZWRFbmREYXRlOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIGNhbGVuZGFyTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgcHJpdmF0ZSBmbGFnMTogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgZmxhZzI6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZEZyb21EYXRlOiBOZ2JEYXRlU3RydWN0O1xyXG4gICAgQElucHV0KCkgc2VsZWN0ZWRFbmREYXRlOiBOZ2JEYXRlU3RydWN0O1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWREYXRlczogTmdiRGF0ZVtdID0gW107XHJcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBtaW5EYXRlOiBhbnk7XHJcblxyXG4gICAgZGlzYWJsZWRGdW5jOiBhbnk7XHJcbiAgICBzdGF0ZTogYW55O1xyXG5cclxuICAgIC8vIFNldHRpbmcgdGhlIGRlZmF1bHQgdmFsdWVzO1xyXG4gICAgcHJpdmF0ZSBkZWZhdWx0VmFsdWVzOiBJV2Vla0NhbGVuZGFyO1xyXG5cclxuICAgIEBJbnB1dCgpIGNvbmZpZzogSVdlZWtDYWxlbmRhcjtcclxuICAgIEBPdXRwdXQoKSBhcHBseVdlZWtDYWxlbmRhckNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgY2FsZW5kYXJUb2dnbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICAvLyBpZiBzb21lIHZhbHVlcyBhcmUgbm90IHNlbnQsIHNldHRpbmcgdGhlIGRlZmF1bHQgdmFsdWVzXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0VmFsdWVzID0gdGhpcy5nbG9iYWxDb25maWdTZXJ2aWNlLmRlZmF1bHRXZWVrQ2FsZW5kYXJDb25maWc7XHJcbiAgICAgICAgdGhpcy5jb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdFZhbHVlcywgLi4udGhpcy5jb25maWcgfTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLnNlbGVjdEN1cnJlbnRXZWVrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVdlZWtEYXRhKCk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmZyb21EYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFdlZWsodGhpcy5mcm9tRGF0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gdGhpcy5mb3JtYXR0ZWREYXRlcygpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEZyb21EYXRlICYmIHRoaXMuc2VsZWN0ZWRFbmREYXRlICYmIHRoaXMuY29uZmlnKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuc2VsZWN0V2Vlayh0aGlzLmZyb21EYXRlKTtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IE5nYkRhdGUuZnJvbSh0aGlzLnNlbGVjdGVkRnJvbURhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IE5nYkRhdGUuZnJvbSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSk7XHJcbiAgICAgICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlUb1VJKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJNYXAoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkRnVuYyA9IChkYXRlOiBOZ2JEYXRlLCBjdXJyZW50OiB7IG1vbnRoOiBudW1iZXIgfSkgPT4gdGhpcy5jaGVja0lmRGF0ZUlzRGlzYWJsZWQoZGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgY2FsZW5kYXI6IE5nYkNhbGVuZGFyLFxyXG4gICAgICAgIHByaXZhdGUgZGF0ZVBpY2tlckNvbmZpZzogTmdiRGF0ZXBpY2tlckNvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2U6IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBnbG9iYWxDb25maWdTZXJ2aWNlOiBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSxcclxuICAgICkge31cclxuXHJcbiAgICBnZXRXZWVrTnVtYmVyKHdlZWs6IGFueSwgZmlyc3REYXlPZldlZWs6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHdlZWtTdGFydERhdGUgPSBkYXlqcyhjb252ZXJ0TmdiRGF0ZVRvTW9tZW50KHdlZWtbMF0pLCBcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgY29uc3Qgd2Vla1llYXIgPSB3ZWVrU3RhcnREYXRlLnllYXIoKTtcclxuICAgICAgICBjb25zdCB5ZWFyU3RhcnREYXRlID0gZGF5anMoYDAxLzAxLyR7d2Vla1llYXJ9YCwgXCJNTS9ERC9ZWVlZXCIpO1xyXG4gICAgICAgIGNvbnN0IHdlZWtEYXkgPSB5ZWFyU3RhcnREYXRlLmRheSgpO1xyXG5cclxuICAgICAgICBjb25zdCBub09mRGF5cyA9IHdlZWtTdGFydERhdGUuZGlmZih5ZWFyU3RhcnREYXRlLCBcImRcIikgKyAxO1xyXG5cclxuICAgICAgICBmdW5jdGlvbiBjb252ZXJ0TmdiRGF0ZVRvTW9tZW50KG5nYkRhdGU6IE5nYkRhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgICAgICBsZXQgY29udmVydGVkID0gbnVsbDtcclxuICAgICAgICAgICAgaWYgKG5nYkRhdGUgJiYgbmdiRGF0ZS5tb250aCAmJiBuZ2JEYXRlLmRheSAmJiBuZ2JEYXRlLnllYXIpIHtcclxuICAgICAgICAgICAgICAgIGNvbnZlcnRlZCA9IGAke25nYkRhdGUubW9udGh9LyR7bmdiRGF0ZS5kYXl9LyR7bmdiRGF0ZS55ZWFyfWA7XHJcbiAgICAgICAgICAgICAgICBjb252ZXJ0ZWQgPSBkYXlqcyhjb252ZXJ0ZWQpLmZvcm1hdChcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIGNoZWNrSWZZZWFySXNCcm9hZGNhc3RMZWFwWWVhcigpIHtcclxuICAgICAgICAgICAgY29uc3QgaXNMZWFwWWVhciA9ICh3ZWVrWWVhciAlIDQgPT09IDAgJiYgd2Vla1llYXIgJSAxMDAgIT09IDApIHx8IHdlZWtZZWFyICUgNDAwID09PSAwO1xyXG4gICAgICAgICAgICByZXR1cm4gKGlzTGVhcFllYXIgJiYgKHdlZWtEYXkgPT09IDAgfHwgd2Vla0RheSA9PT0gNikpIHx8ICghaXNMZWFwWWVhciAmJiB3ZWVrRGF5ID09PSAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGlzTGVhcFllYXIgPSBjaGVja0lmWWVhcklzQnJvYWRjYXN0TGVhcFllYXIoKTtcclxuICAgICAgICBjb25zdCBkaXZpZGVyID0gaXNMZWFwWWVhciA/IDUzIDogNTI7XHJcbiAgICAgICAgY29uc3QgYWRkZXIgPSBpc0xlYXBZZWFyID8gMiA6IDE7XHJcblxyXG4gICAgICAgIGNvbnN0IGJyb2FkY2FzdE51bWJlck9mRGF5cyA9IHdlZWtEYXkgKyBub09mRGF5cztcclxuICAgICAgICBjb25zdCBicm9hZGNhc3RXZWVrTnVtYmVyID1cclxuICAgICAgICAgICAgYnJvYWRjYXN0TnVtYmVyT2ZEYXlzICUgNyA+IDAgPyBicm9hZGNhc3ROdW1iZXJPZkRheXMgLyA3ICsgYWRkZXIgOiBicm9hZGNhc3ROdW1iZXJPZkRheXMgLyA3O1xyXG5cclxuICAgICAgICBpZiAoTWF0aC5mbG9vcihicm9hZGNhc3RXZWVrTnVtYmVyICUgZGl2aWRlcikgPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRpdmlkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKGJyb2FkY2FzdFdlZWtOdW1iZXIgJSBkaXZpZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gQ0hBTkdFU0BBTk5BTElCIENoYW5nZWQgdGhpcy5cclxuICAgICAgICAvLyB0aGlzLmNhbGVuZGFyW1wiX19wcm90b19fXCJdLmdldFdlZWtOdW1iZXIgPSB0aGlzLmdldFdlZWtOdW1iZXI7XHJcbiAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMuY2FsZW5kYXIsIHsgZ2V0V2Vla051bWJlcjogdGhpcy5nZXRXZWVrTnVtYmVyIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIHRoaXMuc2VsZWN0V2Vlayh0aGlzLmZyb21EYXRlKTtcclxuICAgICAgICB0aGlzLnNldENhbGVuZGFyTWFwKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZVdlZWtEYXRhKCkge1xyXG4gICAgICAgIHRoaXMud2Vla09iamVjdHMgPSBbXTtcclxuXHJcbiAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0VG9kYXkoKTtcclxuICAgICAgICB0aGlzLnRvZGF5ID0gdGhpcy5jYWxlbmRhci5nZXRUb2RheSgpO1xyXG5cclxuICAgICAgICBjb25zdCBiYWNrRGF0ZWRQZXJpb2QgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlckRldGFpbHNcIikgfHwgXCJ7fVwiKS5sb2NraW5nX3BlcmlvZF9kYXlzO1xyXG4gICAgICAgIGlmIChiYWNrRGF0ZWRQZXJpb2QgPCAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGU6IE5nYkRhdGUgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYodGhpcy5jYWxlbmRhci5nZXRUb2RheSgpLCBcImRcIiwgTWF0aC5hYnMoYmFja0RhdGVkUGVyaW9kKSk7XHJcbiAgICAgICAgICAgIHRoaXMudG9kYXkgPSBOZ2JEYXRlLmZyb20oZGF0ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSBOZ2JEYXRlLmZyb20oZGF0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEaXNhYmxlIG1vbnRocyBiZWZvcmUgbnVtYmVyT2ZNb250aHNUb0VuYWJsZVxyXG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlckNvbmZpZy5tYXJrRGlzYWJsZWQgPSAoZGF0ZTogTmdiRGF0ZVN0cnVjdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c01vbnRoID0gdGhpcy5jYWxlbmRhci5nZXRQcmV2KHRoaXMudG9kYXksIFwibVwiLCB0aGlzLmNvbmZpZy5udW1iZXJPZk1vbnRoc1RvRW5hYmxlSW5QYXN0KTtcclxuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNEYXkgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYocHJldmlvdXNNb250aCwgXCJkXCIsIDEpO1xyXG4gICAgICAgICAgICByZXR1cm4gIU5nYkRhdGUuZnJvbShwcmV2aW91c0RheSkuYmVmb3JlKGRhdGUpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5mb3JtYXR0ZXIgPSB0aGlzLmZvcm1hdHRlZERhdGVzKCk7XHJcbiAgICAgICAgdGhpcy5mbGFnMSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZmxhZzIgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RXZWVrKGRhdGU6IE5nYkRhdGUpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkYXRlT2JqZWN0ID0gbmV3IERhdGUoZGF0ZS55ZWFyLCBkYXRlLm1vbnRoIC0gMSwgZGF0ZS5kYXkpO1xyXG4gICAgICAgIGxldCBjb25zdHJ1Y3REYXRlID0gdGhpcy5idWlsZERhdGUoZGF0ZU9iamVjdCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jb25maWcuc2VsZWN0TXVsdGlwbGVXZWVrcykge1xyXG4gICAgICAgICAgICAvLyBTaW5nbGUgd2VlayBzZWxlY3Rpb25cclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY29uc3RydWN0U3RhcnREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVyR2VuZXJhdG9yKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGRhdGUuYmVmb3JlKHRoaXMuZnJvbURhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZyb21EYXRlID0gdGhpcy5jb25zdHJ1Y3RTdGFydERhdGUoZGF0ZU9iamVjdCkoY29uc3RydWN0RGF0ZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mbGFnMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlID0gdGhpcy5jb25zdHJ1Y3RFbmREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5mbGFnMSA9ICF0aGlzLmZsYWcxO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGUuYWZ0ZXIodGhpcy50b0RhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mbGFnMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSB0aGlzLmNvbnN0cnVjdFN0YXJ0RGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuZmxhZzIgPSAhdGhpcy5mbGFnMjtcclxuICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlID0gdGhpcy5jb25zdHJ1Y3RFbmREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY29uc3RydWN0U3RhcnREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b0RhdGUgPSB0aGlzLmNvbnN0cnVjdEVuZERhdGUoZGF0ZU9iamVjdCkoY29uc3RydWN0RGF0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF5anNTdGFydERhdGUgPSBkYXlqcyhcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudCh0aGlzLmZyb21EYXRlKSxcclxuICAgICAgICAgICAgICAgICAgICBcIk1NL0REL1lZWVlcIixcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkYXlqc0VuZERhdGUgPSBkYXlqcyhcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudCh0aGlzLnRvRGF0ZSksXHJcbiAgICAgICAgICAgICAgICAgICAgXCJNTS9ERC9ZWVlZXCIsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgbGV0IG5nYkRhdGU7XHJcbiAgICAgICAgICAgICAgICB3aGlsZSAoIWRheWpzU3RhcnREYXRlLmlzU2FtZShkYXlqc0VuZERhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmdiRGF0ZSA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb252ZXJ0VG9OZ2JEYXRlKGRheWpzU3RhcnREYXRlLCBcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tJZkRhdGVJc0Rpc2FibGVkKG5nYkRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBkYXlqc1N0YXJ0RGF0ZS5hZGQoMSwgXCJkXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RGF0ZU9iamVjdCA9IG5ldyBEYXRlKG5nYkRhdGUueWVhciwgbmdiRGF0ZS5tb250aCAtIDEsIG5nYkRhdGUuZGF5IC0gMSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdHJ1Y3REYXRlID0gdGhpcy5idWlsZERhdGUobmV3RGF0ZU9iamVjdCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShuZXdEYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVyR2VuZXJhdG9yKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLnNob3dBc0Ryb3Bkb3duKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwbHlDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHdlZWtOdW1iZXJHZW5lcmF0b3IoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGF0ZXMgPSBbXTtcclxuICAgICAgICBsZXQgd2VlayA9IFtdO1xyXG5cclxuICAgICAgICBsZXQgc3RhcnREYXRlID0gTmdiRGF0ZS5mcm9tKHRoaXMuZnJvbURhdGUpO1xyXG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSBOZ2JEYXRlLmZyb20odGhpcy50b0RhdGUpO1xyXG5cclxuICAgICAgICB3ZWVrLnB1c2goc3RhcnREYXRlKTtcclxuICAgICAgICB3aGlsZSAoZW5kRGF0ZSAhPSBudWxsICYmICFzdGFydERhdGUuZXF1YWxzKGVuZERhdGUpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmNhbGVuZGFyLmdldE5leHQoc3RhcnREYXRlLCBcImRcIiwgMSk7XHJcbiAgICAgICAgICAgIHN0YXJ0RGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgICAgIHdlZWsucHVzaChkYXRlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIENvbGxlY3QgYWxsIGRheXMgaW4gd2VlayB0byBjYWxjdWxhdGUgdGhlIHdlZWsgbnVtYmVyXHJcbiAgICAgICAgICAgIGlmICh3ZWVrLmxlbmd0aCA9PT0gNykge1xyXG4gICAgICAgICAgICAgICAgZGF0ZXMucHVzaCh3ZWVrKTtcclxuICAgICAgICAgICAgICAgIHdlZWsgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoKHRoaXMuY29uZmlnLm1heFdlZWtzVG9TZWxlY3QgPz8gMCkgPiAwICYmIGRhdGVzLmxlbmd0aCA+ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDApKSB7XHJcbiAgICAgICAgICAgIGRhdGVzLnNwbGljZSh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDAsIGRhdGVzLmxlbmd0aCAtICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDApKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVzKGRhdGVzKTtcclxuXHJcbiAgICAgICAgdGhpcy53ZWVrTnVtYmVycyA9IFtdO1xyXG4gICAgICAgIHRoaXMud2Vla09iamVjdHMgPSBbXTtcclxuXHJcbiAgICAgICAgZGF0ZXMuZm9yRWFjaCgoZGF0ZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLndlZWtOdW1iZXJzLnB1c2goYCBXZWVrICR7dGhpcy5jYWxlbmRhci5nZXRXZWVrTnVtYmVyKGRhdGUsIHRoaXMuY29uZmlnLmZpcnN0RGF5T2ZXZWVrKX1gKTtcclxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZXMgPSB0aGlzLmZvcm1hdHRlcihkYXRlWzBdLCBkYXRlWzZdKTtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZU9iamVjdHMgPSB7XHJcbiAgICAgICAgICAgICAgICBzdGFydERhdGU6IGZvcm1hdHRlZERhdGVzLmZvcm1hdHRlZFN0YXJ0RGF0ZSxcclxuICAgICAgICAgICAgICAgIGVuZERhdGU6IGZvcm1hdHRlZERhdGVzLmZvcm1hdHRlZEVuZERhdGUsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMud2Vla09iamVjdHMucHVzaChkYXRlT2JqZWN0cyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZGlzcGxheVRvVUkoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RlZERhdGVzKGRhdGVzOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmZyb21EYXRlID0gZGF0ZXNbMF1bMF07XHJcbiAgICAgICAgdGhpcy50b0RhdGUgPSBkYXRlc1tkYXRlcy5sZW5ndGggLSAxXVs2XTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtYXR0ZWREYXRlcygpIHtcclxuICAgICAgICBjb25zdCBwaXBlID0gbmV3IERhdGVQaXBlKFwiZW4tVVNcIik7XHJcbiAgICAgICAgcmV0dXJuIChmcm9tRGF0ZTogTmdiRGF0ZSwgdG9EYXRlOiBOZ2JEYXRlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZyb21EYXRlT2JqZWN0ID0gbmV3IERhdGUoZnJvbURhdGUueWVhciwgZnJvbURhdGUubW9udGggLSAxLCBmcm9tRGF0ZS5kYXkpO1xyXG4gICAgICAgICAgICBjb25zdCB0b0RhdGVPYmplY3QgPSBuZXcgRGF0ZSh0b0RhdGUueWVhciwgdG9EYXRlLm1vbnRoIC0gMSwgdG9EYXRlLmRheSk7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybWF0dGVkU3RhcnREYXRlID0gcGlwZS50cmFuc2Zvcm0oZnJvbURhdGVPYmplY3QsIHRoaXMuY29uZmlnLmRhdGVGb3JtYXRGb3JSZXF1ZXN0KTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtYXR0ZWRFbmREYXRlID0gcGlwZS50cmFuc2Zvcm0odG9EYXRlT2JqZWN0LCB0aGlzLmNvbmZpZy5kYXRlRm9ybWF0Rm9yUmVxdWVzdCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUb0Rpc3BsYXkgPSBgJHtwaXBlLnRyYW5zZm9ybShcclxuICAgICAgICAgICAgICAgIGZyb21EYXRlT2JqZWN0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGF0ZUZvcm1hdFRvRGlzcGxheSxcclxuICAgICAgICAgICAgKX0gdG8gJHtwaXBlLnRyYW5zZm9ybSh0b0RhdGVPYmplY3QsIHRoaXMuY29uZmlnLmRhdGVGb3JtYXRUb0Rpc3BsYXkpfWA7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheVRvVUkoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZy5zZWxlY3RNdWx0aXBsZVdlZWtzICYmIHRoaXMuZnJvbURhdGUgJiYgdGhpcy50b0RhdGUpIHtcclxuICAgICAgICAgICAgLy8gRGlzcGxheSBmb3Igb25seSBTaW5nbGUgV2Vla1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1hdHRlcih0aGlzLmZyb21EYXRlLCB0aGlzLnRvRGF0ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLndlZWtOdW1iZXJzLmxlbmd0aCA+ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudCA/PyAwKSkge1xyXG4gICAgICAgICAgICAvLyBEaXNwbGF5IGZvciBNdWx0aXBsZSBXZWVrc1xyXG4gICAgICAgICAgICBjb25zdCB3ZWVrRGlzcGxheSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudCA/PyAwKTsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB3ZWVrRGlzcGxheS5wdXNoKHRoaXMud2Vla051bWJlcnMuc2hpZnQoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgcmVtYWluaW5nV2Vla3MgPSB0aGlzLndlZWtOdW1iZXJzLmxlbmd0aDtcclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVycyA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLndlZWtOdW1iZXJzLnB1c2goYCR7d2Vla0Rpc3BsYXl9ICske3JlbWFpbmluZ1dlZWtzfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RTdGFydERhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IHsgZmlyc3REYXlPZldlZWsgfSA9IHRoaXMuY29uZmlnO1xyXG4gICAgICAgIHJldHVybiAoY29uc3RydWN0RGF0ZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF5ID0gZGF0ZS5nZXREYXkoKSAhPT0gMCA/IChmaXJzdERheU9mV2VlayA/PyAwKSAtIGRhdGUuZ2V0RGF5KCkgOiAtNjtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGUoc3RhcnREYXkpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0RW5kRGF0ZShkYXRlOiBEYXRlKSB7XHJcbiAgICAgICAgY29uc3QgeyBmaXJzdERheU9mV2VlayB9ID0gdGhpcy5jb25maWc7XHJcbiAgICAgICAgcmV0dXJuIChjb25zdHJ1Y3REYXRlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZW5kRGF5ID0gZGF0ZS5nZXREYXkoKSAhPT0gMCA/IChmaXJzdERheU9mV2VlayA/PyAwKSArIDYgLSBkYXRlLmdldERheSgpIDogMDtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGUoZW5kRGF5KTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGJ1aWxkRGF0ZShkYXRlOiBEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIChudW1iZXI6IG51bWJlcik6IE5nYkRhdGUgfCBudWxsID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCkgKyBudW1iZXI7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGVPYmplY3QgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF5KTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG5nYkRhdGVPYmplY3QgPSB7fSBhcyBOZ2JEYXRlO1xyXG4gICAgICAgICAgICBuZ2JEYXRlT2JqZWN0LmRheSA9IGRheTtcclxuXHJcbiAgICAgICAgICAgIGlmIChuZ2JEYXRlT2JqZWN0LmRheSA+IDMxIHx8IG5nYkRhdGVPYmplY3QuZGF5IDwgMSkge1xyXG4gICAgICAgICAgICAgICAgbmdiRGF0ZU9iamVjdC5kYXkgPSBkYXRlT2JqZWN0LmdldERhdGUoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbmdiRGF0ZU9iamVjdC5tb250aCA9IGRhdGVPYmplY3QuZ2V0TW9udGgoKSArIDE7XHJcbiAgICAgICAgICAgIG5nYkRhdGVPYmplY3QueWVhciA9IGRhdGVPYmplY3QuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICAgICAgcmV0dXJuIE5nYkRhdGUuZnJvbShuZ2JEYXRlT2JqZWN0KTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGlzSG92ZXJlZChkYXRlOiBOZ2JEYXRlKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgJiZcclxuICAgICAgICAgICAgIXRoaXMudG9EYXRlICYmXHJcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZERhdGUgJiZcclxuICAgICAgICAgICAgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJlxyXG4gICAgICAgICAgICBkYXRlLmJlZm9yZSh0aGlzLmhvdmVyZWREYXRlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNJbnNpZGUoZGF0ZTogTmdiRGF0ZSk6IGJvb2xlYW4gfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50b0RhdGUgJiYgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJiBkYXRlLmJlZm9yZSh0aGlzLnRvRGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNSYW5nZShkYXRlOiBOZ2JEYXRlKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIGRhdGUuZXF1YWxzKHRoaXMuZnJvbURhdGUpIHx8XHJcbiAgICAgICAgICAgICh0aGlzLnRvRGF0ZSAmJiBkYXRlLmVxdWFscyh0aGlzLnRvRGF0ZSkpIHx8XHJcbiAgICAgICAgICAgIHRoaXMuaXNJbnNpZGUoZGF0ZSkgfHxcclxuICAgICAgICAgICAgdGhpcy5pc0hvdmVyZWQoZGF0ZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByZXZpb3VzV2VlaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0UHJldih0aGlzLmZyb21EYXRlLCBcImRcIiwgMSk7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYodGhpcy5mcm9tRGF0ZSwgXCJkXCIsIHRoaXMuY2FsZW5kYXIuZ2V0RGF5c1BlcldlZWsoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmV4dFdlZWsoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZnJvbURhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0TmV4dCh0aGlzLmZyb21EYXRlLCBcImRcIiwgdGhpcy5jYWxlbmRhci5nZXREYXlzUGVyV2VlaygpKTtcclxuICAgICAgICAgICAgdGhpcy50b0RhdGUgPSB0aGlzLmNhbGVuZGFyLmdldE5leHQodGhpcy5mcm9tRGF0ZSwgXCJkXCIsIHRoaXMuY2FsZW5kYXIuZ2V0RGF5c1BlcldlZWsoKSAtIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLndlZWtOdW1iZXJHZW5lcmF0b3IoKTtcclxuICAgICAgICB0aGlzLmFwcGx5Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldENhbGVuZGFyTWFwKCkge1xyXG4gICAgICAgIGNvbnN0IGRhdGVPYmogPSB7IGZyb21EYXRlOiB0aGlzLmZyb21EYXRlLCB0b0RhdGU6IHRoaXMudG9EYXRlIH07XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhck1hcC5zZXQoXCJvbGREYXRlc1wiLCBkYXRlT2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseUNoYW5nZXMoKSB7XHJcbiAgICAgICAgdGhpcy5tdWx0aVNlbGVjdERyb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgIGlmICghdGhpcy5jb25maWcuZW1pdE11bHRpcGxlV2Vla09iamVjdHMpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZXMgPSB7fSBhcyBXZWVrT2JqZWN0O1xyXG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWREYXRlcyA9IHRoaXMuZm9ybWF0dGVyKHRoaXMuZnJvbURhdGUsIHRoaXMudG9EYXRlKTtcclxuICAgICAgICAgICAgZGF0ZXMuc3RhcnREYXRlID0gZm9ybWF0dGVkRGF0ZXMuZm9ybWF0dGVkU3RhcnREYXRlO1xyXG4gICAgICAgICAgICBkYXRlcy5lbmREYXRlID0gZm9ybWF0dGVkRGF0ZXMuZm9ybWF0dGVkRW5kRGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5hcHBseVdlZWtDYWxlbmRhckNoYW5nZXMuZW1pdChkYXRlcyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hcHBseVdlZWtDYWxlbmRhckNoYW5nZXMuZW1pdCh0aGlzLndlZWtPYmplY3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhck1hcCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRm9jdXNlZCh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhclRvZ2dsZWQuZW1pdCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNEcm9wZG93bk9wZW5lZEZvckNhbGVuZGFyKGRhdGVwaWNrZXI6IE5nYklucHV0RGF0ZXBpY2tlcikge1xyXG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlciA9IGRhdGVwaWNrZXI7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlci5pc09wZW4oKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJldmVydERhdGVzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLm11bHRpU2VsZWN0RHJvcGRvd25PcGVuID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyLm9wZW4oKTtcclxuICAgICAgICAgICAgdGhpcy5tdWx0aVNlbGVjdERyb3Bkb3duT3BlbiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldmVydERhdGVzKCkge1xyXG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3REcm9wZG93bk9wZW4gPSBmYWxzZTtcclxuICAgICAgICBpZiAodGhpcy5jYWxlbmRhck1hcC5nZXQoXCJvbGREYXRlc1wiKSkge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRlT2JqID0gdGhpcy5jYWxlbmRhck1hcC5nZXQoXCJvbGREYXRlc1wiKTtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGVPYmouZnJvbURhdGU7XHJcbiAgICAgICAgICAgIHRoaXMudG9EYXRlID0gZGF0ZU9iai50b0RhdGU7XHJcbiAgICAgICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlUb1VJKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrSWZEYXRlSXNEaXNhYmxlZChkYXRlOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCB2YWxpZGF0b3JGdW5jID0gKG5nYkRhdGU6IE5nYkRhdGUpID0+XHJcbiAgICAgICAgICAgIG5nYkRhdGUueWVhciA9PT0gZGF0ZS55ZWFyICYmIG5nYkRhdGUubW9udGggPT09IGRhdGUubW9udGggJiYgbmdiRGF0ZS5kYXkgPT09IGRhdGUuZGF5O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMuc29tZSh2YWxpZGF0b3JGdW5jKTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9zZURhdGVwaWNrZXIoZGF0ZXBpY2tlclJlZjogYW55KSB7XHJcbiAgICAgICAgZGF0ZXBpY2tlclJlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmb3JtXHJcbiAgICBjbGFzcz1cImZvcm0taW5saW5lXCJcclxuICAgICpuZ0lmPVwiY29uZmlnLnNob3dBc0Ryb3Bkb3duXCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgaGlkZGVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImRhdGVwaWNrZXIgZC1ub25lXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICNkYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICBbYXV0b0Nsb3NlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgIChkYXRlU2VsZWN0KT1cInNlbGVjdFdlZWsoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoY2xvc2VkKT1cImlzRm9jdXNlZChmYWxzZSlcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlNb250aHNdPVwiMVwiXHJcbiAgICAgICAgICAgICAgICBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICAgICAgICAgICAgICBbc3RhcnREYXRlXT1cImZyb21EYXRlIVwiXHJcbiAgICAgICAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwiY29uZmlnLmZpcnN0RGF5T2ZXZWVrXCJcclxuICAgICAgICAgICAgICAgIFtzaG93V2Vla051bWJlcnNdPVwiY29uZmlnLnNob3dXZWVrTnVtYmVyc1wiXHJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tU2luZ2xlIHdlZWsgc2VsZWN0LS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWNvbmZpZy5zZWxlY3RNdWx0aXBsZVdlZWtzXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3ZWVrbnVtYmVycy1sYWJlbFwiPiAmbmJzcDt7eyB3ZWVrTnVtYmVycyB9fSA8L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXdlZWtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBuZXh0LXJvdW5kLWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldmlvdXNXZWVrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0ZV9uZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgI2RwRnJvbURhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBXZWVrc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltjb25maWcuY3VzdG9tQ2xhc3MgPT09ICcnID8gJycgOiBjb25maWcuY3VzdG9tQ2xhc3NdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRwRnJvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZGF0ZVRvRGlzcGxheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzRm9jdXNlZCh0cnVlKTsgaXNEcm9wZG93bk9wZW5lZEZvckNhbGVuZGFyKGRhdGVwaWNrZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1tZW51LWRvd25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRlcGlja2VyLmlzT3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1tZW51LXVwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRlcGlja2VyLmlzT3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzRHJvcGRvd25PcGVuZWRGb3JDYWxlbmRhcihkYXRlcGlja2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgcm91bmQtYnRuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0V2VlaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGVfbmV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tTXVsdGlwbGUgd2VlayBzZWxlY3QtLT5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxyXG4gICAgICAgICpuZ0lmPVwiY29uZmlnLnNlbGVjdE11bHRpcGxlV2Vla3NcIlxyXG4gICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlwbGUtd2Vla3NcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICNkcEZyb21EYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFdlZWtzXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbY29uZmlnLmN1c3RvbUNsYXNzID09PSAnJyA/ICcnIDogY29uZmlnLmN1c3RvbUNsYXNzXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRwRnJvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwid2Vla051bWJlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpc0ZvY3VzZWQodHJ1ZSk7IGlzRHJvcGRvd25PcGVuZWRGb3JDYWxlbmRhcihkYXRlcGlja2VyKVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFtdWx0aVNlbGVjdERyb3Bkb3duT3BlblwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZGkgbWRpLW1lbnUtZG93biBtdWx0aXNlbGVjdC1pbnB1dC1hcnJvd1wiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm11bHRpU2VsZWN0RHJvcGRvd25PcGVuXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktbWVudS11cCBtdWx0aXNlbGVjdC1pbnB1dC1hcnJvd1wiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+XHJcblxyXG48bmdiLWRhdGVwaWNrZXJcclxuICAgICN3ZWVrUGlja2VyXHJcbiAgICAqbmdJZj1cIiFjb25maWcuc2hvd0FzRHJvcGRvd25cIlxyXG4gICAgW2Rpc3BsYXlNb250aHNdPVwiMVwiXHJcbiAgICBbc3RhcnREYXRlXT1cImZyb21EYXRlIVwiXHJcbiAgICBbZmlyc3REYXlPZldlZWtdPVwiY29uZmlnLmZpcnN0RGF5T2ZXZWVrXCJcclxuICAgIFtzaG93V2Vla051bWJlcnNdPVwiY29uZmlnLnNob3dXZWVrTnVtYmVyc1wiXHJcbiAgICBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcclxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxyXG4gICAgKGRhdGVTZWxlY3QpPVwic2VsZWN0V2VlaygkZXZlbnQpXCJcclxuICAgIFttYXJrRGlzYWJsZWRdPVwiZGlzYWJsZWRGdW5jXCJcclxuPlxyXG48L25nYi1kYXRlcGlja2VyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgIDxociBjbGFzcz1cIm15LTBcIiAvPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtLTIgZmxvYXQtcmlnaHQgYXBwbHktYnRuXCJcclxuICAgICAgICAoY2xpY2spPVwiYXBwbHlDaGFuZ2VzKCk7IGNsb3NlRGF0ZXBpY2tlcihkYXRlcGlja2VyKVwiXHJcbiAgICA+XHJcbiAgICAgICAgQXBwbHlcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtLTIgZmxvYXQtcmlnaHQgY2FuY2VsLWJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cInJldmVydERhdGVzKCk7IGNsb3NlRGF0ZXBpY2tlcihkYXRlcGlja2VyKVwiXHJcbiAgICA+XHJcbiAgICAgICAgQ2FuY2VsXHJcbiAgICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gICAgI3RcclxuICAgIGxldC1kYXRlXHJcbiAgICBsZXQtZm9jdXNlZD1cImZvY3VzZWRcIlxyXG4gICAgbGV0LWRpc2FibGVkPVwiZGlzYWJsZWRcIlxyXG4+XHJcbiAgICA8c3BhblxyXG4gICAgICAgIGNsYXNzPVwiY3VzdG9tLWRheVwiXHJcbiAgICAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNlZFwiXHJcbiAgICAgICAgW2NsYXNzLnJhbmdlXT1cImlzUmFuZ2UoZGF0ZSlcIlxyXG4gICAgICAgIFtjbGFzcy5mYWRlZF09XCJpc0hvdmVyZWQoZGF0ZSkgfHwgaXNJbnNpZGUoZGF0ZSlcIlxyXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZERhdGUgPSBkYXRlXCJcclxuICAgICAgICAobW91c2VsZWF2ZSk9XCJob3ZlcmVkRGF0ZSA9IG51bGxcIlxyXG4gICAgPlxyXG4gICAgICAgIHt7IGRhdGUuZGF5IH19XHJcbiAgICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
359
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIvYW5uYS13ZWVrLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsZ0NBQWdDO0FBQ2hDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsT0FBTyxFQUNQLGFBQWEsRUFDYixtQkFBbUIsRUFFbkIsa0JBQWtCLEdBQ3JCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBSTFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDOzs7Ozs7QUFFNUcsaUNBQWlDO0FBU2pDLE1BQU0sT0FBTyx5QkFBeUI7SUFvQ2xDLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QiwwREFBMEQ7UUFDMUQs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Q0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsZUFBZSxDQUFDLGFBQWtCO1FBQzlCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDOytHQXRaUSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwwWUM3QnRDLGs1S0F1SkEsa2hJRDVIYyxJQUFJLDRGQUFFLFdBQVcsd2RBQUUsa0JBQWtCLHllQUFFLE9BQU8sb0ZBQUUsYUFBYTs7NEZBRTlELHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDSSxvQ0FBb0MsY0FHbEMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDO2tOQXNCL0QsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQVFHLE1BQU07c0JBQWQsS0FBSztnQkFDSSx3QkFBd0I7c0JBQWpDLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIE5nQ2xhc3MsIE5nSWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7XHJcbiAgICBOZ2JDYWxlbmRhcixcclxuICAgIE5nYkRhdGUsXHJcbiAgICBOZ2JEYXRlcGlja2VyLFxyXG4gICAgTmdiRGF0ZXBpY2tlckNvbmZpZyxcclxuICAgIE5nYkRhdGVTdHJ1Y3QsXHJcbiAgICBOZ2JJbnB1dERhdGVwaWNrZXIsXHJcbn0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuXHJcbmltcG9ydCB7IFdlZWtPYmplY3QgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtZ2VuZXJpYy1kYXRhLXR5cGUubW9kZWxcIjtcclxuaW1wb3J0IHsgSVdlZWtDYWxlbmRhciB9IGZyb20gXCIuLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9tb2RlbHMvYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcbmltcG9ydCB7IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2VcIjtcclxuXHJcbi8vIFVzZXIgZGVmaW5lZCBpbXBvcnQgc3RhdGVtZW50c1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhbm5hLWNvcmUtd2Vlay1jYWxlbmRhci1maWx0ZXItbGliXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2FubmEtd2Vlay1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9hbm5hLXdlZWstY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmLCBGb3Jtc01vZHVsZSwgTmdiSW5wdXREYXRlcGlja2VyLCBOZ0NsYXNzLCBOZ2JEYXRlcGlja2VyXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFXZWVrQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBmcm9tRGF0ZTogTmdiRGF0ZSB8IG51bGw7XHJcbiAgICBob3ZlcmVkRGF0ZTogTmdiRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gICAgdG9EYXRlOiBOZ2JEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgICB0b2RheTogTmdiRGF0ZTtcclxuXHJcbiAgICBtb2RlbDogTmdiRGF0ZVN0cnVjdDtcclxuXHJcbiAgICB3ZWVrTnVtYmVyczogc3RyaW5nW10gPSBbXTtcclxuICAgIHBpcGU6IERhdGVQaXBlO1xyXG4gICAgZGF0ZVRvRGlzcGxheTogc3RyaW5nID0gXCJcIjtcclxuICAgIHdlZWtPYmplY3RzOiBXZWVrT2JqZWN0W107XHJcbiAgICBtdWx0aVNlbGVjdERyb3Bkb3duT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZGF0ZXBpY2tlcjogTmdiSW5wdXREYXRlcGlja2VyO1xyXG4gICAgcHJpdmF0ZSBmb3JtYXR0ZXI6IGFueTtcclxuICAgIHB1YmxpYyBmb3JtYXR0ZWRTdGFydERhdGU6IHN0cmluZztcclxuICAgIHB1YmxpYyBmb3JtYXR0ZWRFbmREYXRlOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIGNhbGVuZGFyTWFwID0gbmV3IE1hcCgpO1xyXG4gICAgcHJpdmF0ZSBmbGFnMTogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgZmxhZzI6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZEZyb21EYXRlOiBOZ2JEYXRlU3RydWN0O1xyXG4gICAgQElucHV0KCkgc2VsZWN0ZWRFbmREYXRlOiBOZ2JEYXRlU3RydWN0O1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWREYXRlczogTmdiRGF0ZVtdID0gW107XHJcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBtaW5EYXRlOiBhbnk7XHJcblxyXG4gICAgZGlzYWJsZWRGdW5jOiBhbnk7XHJcbiAgICBzdGF0ZTogYW55O1xyXG5cclxuICAgIC8vIFNldHRpbmcgdGhlIGRlZmF1bHQgdmFsdWVzO1xyXG4gICAgcHJpdmF0ZSBkZWZhdWx0VmFsdWVzOiBJV2Vla0NhbGVuZGFyO1xyXG5cclxuICAgIEBJbnB1dCgpIGNvbmZpZzogSVdlZWtDYWxlbmRhcjtcclxuICAgIEBPdXRwdXQoKSBhcHBseVdlZWtDYWxlbmRhckNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgY2FsZW5kYXJUb2dnbGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICAvLyBpZiBzb21lIHZhbHVlcyBhcmUgbm90IHNlbnQsIHNldHRpbmcgdGhlIGRlZmF1bHQgdmFsdWVzXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0VmFsdWVzID0gdGhpcy5hbm5hR2xvYmFsQ29uZmlnLmRlZmF1bHRXZWVrQ2FsZW5kYXJDb25maWc7XHJcbiAgICAgICAgdGhpcy5jb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdFZhbHVlcywgLi4udGhpcy5jb25maWcgfTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLnNlbGVjdEN1cnJlbnRXZWVrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVdlZWtEYXRhKCk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmZyb21EYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdFdlZWsodGhpcy5mcm9tRGF0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZm9ybWF0dGVyID0gdGhpcy5mb3JtYXR0ZWREYXRlcygpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEZyb21EYXRlICYmIHRoaXMuc2VsZWN0ZWRFbmREYXRlICYmIHRoaXMuY29uZmlnKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuc2VsZWN0V2Vlayh0aGlzLmZyb21EYXRlKTtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IE5nYkRhdGUuZnJvbSh0aGlzLnNlbGVjdGVkRnJvbURhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IE5nYkRhdGUuZnJvbSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSk7XHJcbiAgICAgICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlUb1VJKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJNYXAoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkRnVuYyA9IChkYXRlOiBOZ2JEYXRlLCBjdXJyZW50OiB7IG1vbnRoOiBudW1iZXIgfSkgPT4gdGhpcy5jaGVja0lmRGF0ZUlzRGlzYWJsZWQoZGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgY2FsZW5kYXI6IE5nYkNhbGVuZGFyLFxyXG4gICAgICAgIHByaXZhdGUgZGF0ZVBpY2tlckNvbmZpZzogTmdiRGF0ZXBpY2tlckNvbmZpZyxcclxuICAgICAgICBwcml2YXRlIGFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2U6IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBhbm5hR2xvYmFsQ29uZmlnOiBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSxcclxuICAgICkge31cclxuXHJcbiAgICBnZXRXZWVrTnVtYmVyKHdlZWs6IGFueSwgZmlyc3REYXlPZldlZWs6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHdlZWtTdGFydERhdGUgPSBkYXlqcyhjb252ZXJ0TmdiRGF0ZVRvTW9tZW50KHdlZWtbMF0pLCBcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgY29uc3Qgd2Vla1llYXIgPSB3ZWVrU3RhcnREYXRlLnllYXIoKTtcclxuICAgICAgICBjb25zdCB5ZWFyU3RhcnREYXRlID0gZGF5anMoYDAxLzAxLyR7d2Vla1llYXJ9YCwgXCJNTS9ERC9ZWVlZXCIpO1xyXG4gICAgICAgIGNvbnN0IHdlZWtEYXkgPSB5ZWFyU3RhcnREYXRlLmRheSgpO1xyXG5cclxuICAgICAgICBjb25zdCBub09mRGF5cyA9IHdlZWtTdGFydERhdGUuZGlmZih5ZWFyU3RhcnREYXRlLCBcImRcIikgKyAxO1xyXG5cclxuICAgICAgICBmdW5jdGlvbiBjb252ZXJ0TmdiRGF0ZVRvTW9tZW50KG5nYkRhdGU6IE5nYkRhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgICAgICBsZXQgY29udmVydGVkID0gbnVsbDtcclxuICAgICAgICAgICAgaWYgKG5nYkRhdGUgJiYgbmdiRGF0ZS5tb250aCAmJiBuZ2JEYXRlLmRheSAmJiBuZ2JEYXRlLnllYXIpIHtcclxuICAgICAgICAgICAgICAgIGNvbnZlcnRlZCA9IGAke25nYkRhdGUubW9udGh9LyR7bmdiRGF0ZS5kYXl9LyR7bmdiRGF0ZS55ZWFyfWA7XHJcbiAgICAgICAgICAgICAgICBjb252ZXJ0ZWQgPSBkYXlqcyhjb252ZXJ0ZWQpLmZvcm1hdChcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIGNoZWNrSWZZZWFySXNCcm9hZGNhc3RMZWFwWWVhcigpIHtcclxuICAgICAgICAgICAgY29uc3QgaXNMZWFwWWVhciA9ICh3ZWVrWWVhciAlIDQgPT09IDAgJiYgd2Vla1llYXIgJSAxMDAgIT09IDApIHx8IHdlZWtZZWFyICUgNDAwID09PSAwO1xyXG4gICAgICAgICAgICByZXR1cm4gKGlzTGVhcFllYXIgJiYgKHdlZWtEYXkgPT09IDAgfHwgd2Vla0RheSA9PT0gNikpIHx8ICghaXNMZWFwWWVhciAmJiB3ZWVrRGF5ID09PSAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGlzTGVhcFllYXIgPSBjaGVja0lmWWVhcklzQnJvYWRjYXN0TGVhcFllYXIoKTtcclxuICAgICAgICBjb25zdCBkaXZpZGVyID0gaXNMZWFwWWVhciA/IDUzIDogNTI7XHJcbiAgICAgICAgY29uc3QgYWRkZXIgPSBpc0xlYXBZZWFyID8gMiA6IDE7XHJcblxyXG4gICAgICAgIGNvbnN0IGJyb2FkY2FzdE51bWJlck9mRGF5cyA9IHdlZWtEYXkgKyBub09mRGF5cztcclxuICAgICAgICBjb25zdCBicm9hZGNhc3RXZWVrTnVtYmVyID1cclxuICAgICAgICAgICAgYnJvYWRjYXN0TnVtYmVyT2ZEYXlzICUgNyA+IDAgPyBicm9hZGNhc3ROdW1iZXJPZkRheXMgLyA3ICsgYWRkZXIgOiBicm9hZGNhc3ROdW1iZXJPZkRheXMgLyA3O1xyXG5cclxuICAgICAgICBpZiAoTWF0aC5mbG9vcihicm9hZGNhc3RXZWVrTnVtYmVyICUgZGl2aWRlcikgPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRpdmlkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKGJyb2FkY2FzdFdlZWtOdW1iZXIgJSBkaXZpZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gQ0hBTkdFU0BBTk5BTElCIENoYW5nZWQgdGhpcy5cclxuICAgICAgICAvLyB0aGlzLmNhbGVuZGFyW1wiX19wcm90b19fXCJdLmdldFdlZWtOdW1iZXIgPSB0aGlzLmdldFdlZWtOdW1iZXI7XHJcbiAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMuY2FsZW5kYXIsIHsgZ2V0V2Vla051bWJlcjogdGhpcy5nZXRXZWVrTnVtYmVyIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIHRoaXMuc2VsZWN0V2Vlayh0aGlzLmZyb21EYXRlKTtcclxuICAgICAgICB0aGlzLnNldENhbGVuZGFyTWFwKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZVdlZWtEYXRhKCkge1xyXG4gICAgICAgIHRoaXMud2Vla09iamVjdHMgPSBbXTtcclxuXHJcbiAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0VG9kYXkoKTtcclxuICAgICAgICB0aGlzLnRvZGF5ID0gdGhpcy5jYWxlbmRhci5nZXRUb2RheSgpO1xyXG5cclxuICAgICAgICBjb25zdCBiYWNrRGF0ZWRQZXJpb2QgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlckRldGFpbHNcIikgfHwgXCJ7fVwiKS5sb2NraW5nX3BlcmlvZF9kYXlzO1xyXG4gICAgICAgIGlmIChiYWNrRGF0ZWRQZXJpb2QgPCAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGU6IE5nYkRhdGUgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYodGhpcy5jYWxlbmRhci5nZXRUb2RheSgpLCBcImRcIiwgTWF0aC5hYnMoYmFja0RhdGVkUGVyaW9kKSk7XHJcbiAgICAgICAgICAgIHRoaXMudG9kYXkgPSBOZ2JEYXRlLmZyb20oZGF0ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSBOZ2JEYXRlLmZyb20oZGF0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEaXNhYmxlIG1vbnRocyBiZWZvcmUgbnVtYmVyT2ZNb250aHNUb0VuYWJsZVxyXG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlckNvbmZpZy5tYXJrRGlzYWJsZWQgPSAoZGF0ZTogTmdiRGF0ZVN0cnVjdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c01vbnRoID0gdGhpcy5jYWxlbmRhci5nZXRQcmV2KHRoaXMudG9kYXksIFwibVwiLCB0aGlzLmNvbmZpZy5udW1iZXJPZk1vbnRoc1RvRW5hYmxlSW5QYXN0KTtcclxuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNEYXkgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYocHJldmlvdXNNb250aCwgXCJkXCIsIDEpO1xyXG4gICAgICAgICAgICByZXR1cm4gIU5nYkRhdGUuZnJvbShwcmV2aW91c0RheSkuYmVmb3JlKGRhdGUpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5mb3JtYXR0ZXIgPSB0aGlzLmZvcm1hdHRlZERhdGVzKCk7XHJcbiAgICAgICAgdGhpcy5mbGFnMSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZmxhZzIgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RXZWVrKGRhdGU6IE5nYkRhdGUpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkYXRlT2JqZWN0ID0gbmV3IERhdGUoZGF0ZS55ZWFyLCBkYXRlLm1vbnRoIC0gMSwgZGF0ZS5kYXkpO1xyXG4gICAgICAgIGxldCBjb25zdHJ1Y3REYXRlID0gdGhpcy5idWlsZERhdGUoZGF0ZU9iamVjdCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jb25maWcuc2VsZWN0TXVsdGlwbGVXZWVrcykge1xyXG4gICAgICAgICAgICAvLyBTaW5nbGUgd2VlayBzZWxlY3Rpb25cclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY29uc3RydWN0U3RhcnREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVyR2VuZXJhdG9yKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGRhdGUuYmVmb3JlKHRoaXMuZnJvbURhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZyb21EYXRlID0gdGhpcy5jb25zdHJ1Y3RTdGFydERhdGUoZGF0ZU9iamVjdCkoY29uc3RydWN0RGF0ZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mbGFnMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlID0gdGhpcy5jb25zdHJ1Y3RFbmREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5mbGFnMSA9ICF0aGlzLmZsYWcxO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGUuYWZ0ZXIodGhpcy50b0RhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mbGFnMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSB0aGlzLmNvbnN0cnVjdFN0YXJ0RGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShkYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuZmxhZzIgPSAhdGhpcy5mbGFnMjtcclxuICAgICAgICAgICAgICAgIHRoaXMudG9EYXRlID0gdGhpcy5jb25zdHJ1Y3RFbmREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY29uc3RydWN0U3RhcnREYXRlKGRhdGVPYmplY3QpKGNvbnN0cnVjdERhdGUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b0RhdGUgPSB0aGlzLmNvbnN0cnVjdEVuZERhdGUoZGF0ZU9iamVjdCkoY29uc3RydWN0RGF0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGF5anNTdGFydERhdGUgPSBkYXlqcyhcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudCh0aGlzLmZyb21EYXRlKSxcclxuICAgICAgICAgICAgICAgICAgICBcIk1NL0REL1lZWVlcIixcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkYXlqc0VuZERhdGUgPSBkYXlqcyhcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudCh0aGlzLnRvRGF0ZSksXHJcbiAgICAgICAgICAgICAgICAgICAgXCJNTS9ERC9ZWVlZXCIsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgbGV0IG5nYkRhdGU7XHJcbiAgICAgICAgICAgICAgICB3aGlsZSAoIWRheWpzU3RhcnREYXRlLmlzU2FtZShkYXlqc0VuZERhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmdiRGF0ZSA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb252ZXJ0VG9OZ2JEYXRlKGRheWpzU3RhcnREYXRlLCBcIk1NL0REL1lZWVlcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tJZkRhdGVJc0Rpc2FibGVkKG5nYkRhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBkYXlqc1N0YXJ0RGF0ZS5hZGQoMSwgXCJkXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RGF0ZU9iamVjdCA9IG5ldyBEYXRlKG5nYkRhdGUueWVhciwgbmdiRGF0ZS5tb250aCAtIDEsIG5nYkRhdGUuZGF5IC0gMSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdHJ1Y3REYXRlID0gdGhpcy5idWlsZERhdGUobmV3RGF0ZU9iamVjdCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY29uc3RydWN0RW5kRGF0ZShuZXdEYXRlT2JqZWN0KShjb25zdHJ1Y3REYXRlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVyR2VuZXJhdG9yKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLnNob3dBc0Ryb3Bkb3duKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwbHlDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHdlZWtOdW1iZXJHZW5lcmF0b3IoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGF0ZXMgPSBbXTtcclxuICAgICAgICBsZXQgd2VlayA9IFtdO1xyXG5cclxuICAgICAgICBsZXQgc3RhcnREYXRlID0gTmdiRGF0ZS5mcm9tKHRoaXMuZnJvbURhdGUpO1xyXG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSBOZ2JEYXRlLmZyb20odGhpcy50b0RhdGUpO1xyXG5cclxuICAgICAgICB3ZWVrLnB1c2goc3RhcnREYXRlKTtcclxuICAgICAgICB3aGlsZSAoZW5kRGF0ZSAhPSBudWxsICYmICFzdGFydERhdGUuZXF1YWxzKGVuZERhdGUpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmNhbGVuZGFyLmdldE5leHQoc3RhcnREYXRlLCBcImRcIiwgMSk7XHJcbiAgICAgICAgICAgIHN0YXJ0RGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgICAgIHdlZWsucHVzaChkYXRlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIENvbGxlY3QgYWxsIGRheXMgaW4gd2VlayB0byBjYWxjdWxhdGUgdGhlIHdlZWsgbnVtYmVyXHJcbiAgICAgICAgICAgIGlmICh3ZWVrLmxlbmd0aCA9PT0gNykge1xyXG4gICAgICAgICAgICAgICAgZGF0ZXMucHVzaCh3ZWVrKTtcclxuICAgICAgICAgICAgICAgIHdlZWsgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoKHRoaXMuY29uZmlnLm1heFdlZWtzVG9TZWxlY3QgPz8gMCkgPiAwICYmIGRhdGVzLmxlbmd0aCA+ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDApKSB7XHJcbiAgICAgICAgICAgIGRhdGVzLnNwbGljZSh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDAsIGRhdGVzLmxlbmd0aCAtICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2VsZWN0ID8/IDApKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVzKGRhdGVzKTtcclxuXHJcbiAgICAgICAgdGhpcy53ZWVrTnVtYmVycyA9IFtdO1xyXG4gICAgICAgIHRoaXMud2Vla09iamVjdHMgPSBbXTtcclxuXHJcbiAgICAgICAgZGF0ZXMuZm9yRWFjaCgoZGF0ZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLndlZWtOdW1iZXJzLnB1c2goYCBXZWVrICR7dGhpcy5jYWxlbmRhci5nZXRXZWVrTnVtYmVyKGRhdGUsIHRoaXMuY29uZmlnLmZpcnN0RGF5T2ZXZWVrKX1gKTtcclxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZXMgPSB0aGlzLmZvcm1hdHRlcihkYXRlWzBdLCBkYXRlWzZdKTtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZU9iamVjdHMgPSB7XHJcbiAgICAgICAgICAgICAgICBzdGFydERhdGU6IGZvcm1hdHRlZERhdGVzLmZvcm1hdHRlZFN0YXJ0RGF0ZSxcclxuICAgICAgICAgICAgICAgIGVuZERhdGU6IGZvcm1hdHRlZERhdGVzLmZvcm1hdHRlZEVuZERhdGUsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMud2Vla09iamVjdHMucHVzaChkYXRlT2JqZWN0cyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZGlzcGxheVRvVUkoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RlZERhdGVzKGRhdGVzOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmZyb21EYXRlID0gZGF0ZXNbMF1bMF07XHJcbiAgICAgICAgdGhpcy50b0RhdGUgPSBkYXRlc1tkYXRlcy5sZW5ndGggLSAxXVs2XTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtYXR0ZWREYXRlcygpIHtcclxuICAgICAgICBjb25zdCBwaXBlID0gbmV3IERhdGVQaXBlKFwiZW4tVVNcIik7XHJcbiAgICAgICAgcmV0dXJuIChmcm9tRGF0ZTogTmdiRGF0ZSwgdG9EYXRlOiBOZ2JEYXRlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZyb21EYXRlT2JqZWN0ID0gbmV3IERhdGUoZnJvbURhdGUueWVhciwgZnJvbURhdGUubW9udGggLSAxLCBmcm9tRGF0ZS5kYXkpO1xyXG4gICAgICAgICAgICBjb25zdCB0b0RhdGVPYmplY3QgPSBuZXcgRGF0ZSh0b0RhdGUueWVhciwgdG9EYXRlLm1vbnRoIC0gMSwgdG9EYXRlLmRheSk7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybWF0dGVkU3RhcnREYXRlID0gcGlwZS50cmFuc2Zvcm0oZnJvbURhdGVPYmplY3QsIHRoaXMuY29uZmlnLmRhdGVGb3JtYXRGb3JSZXF1ZXN0KTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtYXR0ZWRFbmREYXRlID0gcGlwZS50cmFuc2Zvcm0odG9EYXRlT2JqZWN0LCB0aGlzLmNvbmZpZy5kYXRlRm9ybWF0Rm9yUmVxdWVzdCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUb0Rpc3BsYXkgPSBgJHtwaXBlLnRyYW5zZm9ybShcclxuICAgICAgICAgICAgICAgIGZyb21EYXRlT2JqZWN0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGF0ZUZvcm1hdFRvRGlzcGxheSxcclxuICAgICAgICAgICAgKX0gdG8gJHtwaXBlLnRyYW5zZm9ybSh0b0RhdGVPYmplY3QsIHRoaXMuY29uZmlnLmRhdGVGb3JtYXRUb0Rpc3BsYXkpfWA7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheVRvVUkoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZy5zZWxlY3RNdWx0aXBsZVdlZWtzICYmIHRoaXMuZnJvbURhdGUgJiYgdGhpcy50b0RhdGUpIHtcclxuICAgICAgICAgICAgLy8gRGlzcGxheSBmb3Igb25seSBTaW5nbGUgV2Vla1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1hdHRlcih0aGlzLmZyb21EYXRlLCB0aGlzLnRvRGF0ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLndlZWtOdW1iZXJzLmxlbmd0aCA+ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudCA/PyAwKSkge1xyXG4gICAgICAgICAgICAvLyBEaXNwbGF5IGZvciBNdWx0aXBsZSBXZWVrc1xyXG4gICAgICAgICAgICBjb25zdCB3ZWVrRGlzcGxheSA9IFtdO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8ICh0aGlzLmNvbmZpZy5tYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudCA/PyAwKTsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB3ZWVrRGlzcGxheS5wdXNoKHRoaXMud2Vla051bWJlcnMuc2hpZnQoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgcmVtYWluaW5nV2Vla3MgPSB0aGlzLndlZWtOdW1iZXJzLmxlbmd0aDtcclxuICAgICAgICAgICAgdGhpcy53ZWVrTnVtYmVycyA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLndlZWtOdW1iZXJzLnB1c2goYCR7d2Vla0Rpc3BsYXl9ICske3JlbWFpbmluZ1dlZWtzfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RTdGFydERhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IHsgZmlyc3REYXlPZldlZWsgfSA9IHRoaXMuY29uZmlnO1xyXG4gICAgICAgIHJldHVybiAoY29uc3RydWN0RGF0ZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF5ID0gZGF0ZS5nZXREYXkoKSAhPT0gMCA/IChmaXJzdERheU9mV2VlayA/PyAwKSAtIGRhdGUuZ2V0RGF5KCkgOiAtNjtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGUoc3RhcnREYXkpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0RW5kRGF0ZShkYXRlOiBEYXRlKSB7XHJcbiAgICAgICAgY29uc3QgeyBmaXJzdERheU9mV2VlayB9ID0gdGhpcy5jb25maWc7XHJcbiAgICAgICAgcmV0dXJuIChjb25zdHJ1Y3REYXRlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZW5kRGF5ID0gZGF0ZS5nZXREYXkoKSAhPT0gMCA/IChmaXJzdERheU9mV2VlayA/PyAwKSArIDYgLSBkYXRlLmdldERheSgpIDogMDtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdERhdGUoZW5kRGF5KTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGJ1aWxkRGF0ZShkYXRlOiBEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIChudW1iZXI6IG51bWJlcik6IE5nYkRhdGUgfCBudWxsID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCkgKyBudW1iZXI7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGVPYmplY3QgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF5KTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG5nYkRhdGVPYmplY3QgPSB7fSBhcyBOZ2JEYXRlO1xyXG4gICAgICAgICAgICBuZ2JEYXRlT2JqZWN0LmRheSA9IGRheTtcclxuXHJcbiAgICAgICAgICAgIGlmIChuZ2JEYXRlT2JqZWN0LmRheSA+IDMxIHx8IG5nYkRhdGVPYmplY3QuZGF5IDwgMSkge1xyXG4gICAgICAgICAgICAgICAgbmdiRGF0ZU9iamVjdC5kYXkgPSBkYXRlT2JqZWN0LmdldERhdGUoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbmdiRGF0ZU9iamVjdC5tb250aCA9IGRhdGVPYmplY3QuZ2V0TW9udGgoKSArIDE7XHJcbiAgICAgICAgICAgIG5nYkRhdGVPYmplY3QueWVhciA9IGRhdGVPYmplY3QuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICAgICAgcmV0dXJuIE5nYkRhdGUuZnJvbShuZ2JEYXRlT2JqZWN0KTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGlzSG92ZXJlZChkYXRlOiBOZ2JEYXRlKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgJiZcclxuICAgICAgICAgICAgIXRoaXMudG9EYXRlICYmXHJcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZERhdGUgJiZcclxuICAgICAgICAgICAgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJlxyXG4gICAgICAgICAgICBkYXRlLmJlZm9yZSh0aGlzLmhvdmVyZWREYXRlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNJbnNpZGUoZGF0ZTogTmdiRGF0ZSk6IGJvb2xlYW4gfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50b0RhdGUgJiYgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJiBkYXRlLmJlZm9yZSh0aGlzLnRvRGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNSYW5nZShkYXRlOiBOZ2JEYXRlKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIGRhdGUuZXF1YWxzKHRoaXMuZnJvbURhdGUpIHx8XHJcbiAgICAgICAgICAgICh0aGlzLnRvRGF0ZSAmJiBkYXRlLmVxdWFscyh0aGlzLnRvRGF0ZSkpIHx8XHJcbiAgICAgICAgICAgIHRoaXMuaXNJbnNpZGUoZGF0ZSkgfHxcclxuICAgICAgICAgICAgdGhpcy5pc0hvdmVyZWQoZGF0ZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByZXZpb3VzV2VlaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0UHJldih0aGlzLmZyb21EYXRlLCBcImRcIiwgMSk7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSB0aGlzLmNhbGVuZGFyLmdldFByZXYodGhpcy5mcm9tRGF0ZSwgXCJkXCIsIHRoaXMuY2FsZW5kYXIuZ2V0RGF5c1BlcldlZWsoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmV4dFdlZWsoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZnJvbURhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IHRoaXMuY2FsZW5kYXIuZ2V0TmV4dCh0aGlzLmZyb21EYXRlLCBcImRcIiwgdGhpcy5jYWxlbmRhci5nZXREYXlzUGVyV2VlaygpKTtcclxuICAgICAgICAgICAgdGhpcy50b0RhdGUgPSB0aGlzLmNhbGVuZGFyLmdldE5leHQodGhpcy5mcm9tRGF0ZSwgXCJkXCIsIHRoaXMuY2FsZW5kYXIuZ2V0RGF5c1BlcldlZWsoKSAtIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLndlZWtOdW1iZXJHZW5lcmF0b3IoKTtcclxuICAgICAgICB0aGlzLmFwcGx5Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldENhbGVuZGFyTWFwKCkge1xyXG4gICAgICAgIGNvbnN0IGRhdGVPYmogPSB7IGZyb21EYXRlOiB0aGlzLmZyb21EYXRlLCB0b0RhdGU6IHRoaXMudG9EYXRlIH07XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhck1hcC5zZXQoXCJvbGREYXRlc1wiLCBkYXRlT2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseUNoYW5nZXMoKSB7XHJcbiAgICAgICAgdGhpcy5tdWx0aVNlbGVjdERyb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgIGlmICghdGhpcy5jb25maWcuZW1pdE11bHRpcGxlV2Vla09iamVjdHMpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZXMgPSB7fSBhcyBXZWVrT2JqZWN0O1xyXG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWREYXRlcyA9IHRoaXMuZm9ybWF0dGVyKHRoaXMuZnJvbURhdGUsIHRoaXMudG9EYXRlKTtcclxuICAgICAgICAgICAgZGF0ZXMuc3RhcnREYXRlID0gZm9ybWF0dGVkRGF0ZXMuZm9ybWF0dGVkU3RhcnREYXRlO1xyXG4gICAgICAgICAgICBkYXRlcy5lbmREYXRlID0gZm9ybWF0dGVkRGF0ZXMuZm9ybWF0dGVkRW5kRGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5hcHBseVdlZWtDYWxlbmRhckNoYW5nZXMuZW1pdChkYXRlcyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hcHBseVdlZWtDYWxlbmRhckNoYW5nZXMuZW1pdCh0aGlzLndlZWtPYmplY3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRDYWxlbmRhck1hcCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRm9jdXNlZCh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhclRvZ2dsZWQuZW1pdCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNEcm9wZG93bk9wZW5lZEZvckNhbGVuZGFyKGRhdGVwaWNrZXI6IE5nYklucHV0RGF0ZXBpY2tlcikge1xyXG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlciA9IGRhdGVwaWNrZXI7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlci5pc09wZW4oKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJldmVydERhdGVzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLm11bHRpU2VsZWN0RHJvcGRvd25PcGVuID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyLm9wZW4oKTtcclxuICAgICAgICAgICAgdGhpcy5tdWx0aVNlbGVjdERyb3Bkb3duT3BlbiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldmVydERhdGVzKCkge1xyXG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3REcm9wZG93bk9wZW4gPSBmYWxzZTtcclxuICAgICAgICBpZiAodGhpcy5jYWxlbmRhck1hcC5nZXQoXCJvbGREYXRlc1wiKSkge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRlT2JqID0gdGhpcy5jYWxlbmRhck1hcC5nZXQoXCJvbGREYXRlc1wiKTtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGVPYmouZnJvbURhdGU7XHJcbiAgICAgICAgICAgIHRoaXMudG9EYXRlID0gZGF0ZU9iai50b0RhdGU7XHJcbiAgICAgICAgICAgIHRoaXMud2Vla051bWJlckdlbmVyYXRvcigpO1xyXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlUb1VJKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrSWZEYXRlSXNEaXNhYmxlZChkYXRlOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCB2YWxpZGF0b3JGdW5jID0gKG5nYkRhdGU6IE5nYkRhdGUpID0+XHJcbiAgICAgICAgICAgIG5nYkRhdGUueWVhciA9PT0gZGF0ZS55ZWFyICYmIG5nYkRhdGUubW9udGggPT09IGRhdGUubW9udGggJiYgbmdiRGF0ZS5kYXkgPT09IGRhdGUuZGF5O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMuc29tZSh2YWxpZGF0b3JGdW5jKTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9zZURhdGVwaWNrZXIoZGF0ZXBpY2tlclJlZjogYW55KSB7XHJcbiAgICAgICAgZGF0ZXBpY2tlclJlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmb3JtXHJcbiAgICBjbGFzcz1cImZvcm0taW5saW5lXCJcclxuICAgICpuZ0lmPVwiY29uZmlnLnNob3dBc0Ryb3Bkb3duXCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgaGlkZGVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgbmFtZT1cImRhdGVwaWNrZXIgZC1ub25lXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICNkYXRlcGlja2VyPVwibmdiRGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICBbYXV0b0Nsb3NlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgIChkYXRlU2VsZWN0KT1cInNlbGVjdFdlZWsoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAoY2xvc2VkKT1cImlzRm9jdXNlZChmYWxzZSlcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc3BsYXlNb250aHNdPVwiMVwiXHJcbiAgICAgICAgICAgICAgICBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICAgICAgICAgICAgICBbc3RhcnREYXRlXT1cImZyb21EYXRlIVwiXHJcbiAgICAgICAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwiY29uZmlnLmZpcnN0RGF5T2ZXZWVrXCJcclxuICAgICAgICAgICAgICAgIFtzaG93V2Vla051bWJlcnNdPVwiY29uZmlnLnNob3dXZWVrTnVtYmVyc1wiXHJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tU2luZ2xlIHdlZWsgc2VsZWN0LS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWNvbmZpZy5zZWxlY3RNdWx0aXBsZVdlZWtzXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3ZWVrbnVtYmVycy1sYWJlbFwiPiAmbmJzcDt7eyB3ZWVrTnVtYmVycyB9fSA8L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXdlZWtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBuZXh0LXJvdW5kLWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldmlvdXNXZWVrKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0ZV9uZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgI2RwRnJvbURhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBXZWVrc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltjb25maWcuY3VzdG9tQ2xhc3MgPT09ICcnID8gJycgOiBjb25maWcuY3VzdG9tQ2xhc3NdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRwRnJvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZGF0ZVRvRGlzcGxheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzRm9jdXNlZCh0cnVlKTsgaXNEcm9wZG93bk9wZW5lZEZvckNhbGVuZGFyKGRhdGVwaWNrZXIpXCJcclxuICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1tZW51LWRvd25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFkYXRlcGlja2VyLmlzT3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVwaWNrZXIub3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1tZW51LXVwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRlcGlja2VyLmlzT3BlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImlzRHJvcGRvd25PcGVuZWRGb3JDYWxlbmRhcihkYXRlcGlja2VyKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgcm91bmQtYnRuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0V2VlaygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGVfbmV4dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tTXVsdGlwbGUgd2VlayBzZWxlY3QtLT5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxyXG4gICAgICAgICpuZ0lmPVwiY29uZmlnLnNlbGVjdE11bHRpcGxlV2Vla3NcIlxyXG4gICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlwbGUtd2Vla3NcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICNkcEZyb21EYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFdlZWtzXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbY29uZmlnLmN1c3RvbUNsYXNzID09PSAnJyA/ICcnIDogY29uZmlnLmN1c3RvbUNsYXNzXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRwRnJvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwid2Vla051bWJlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpc0ZvY3VzZWQodHJ1ZSk7IGlzRHJvcGRvd25PcGVuZWRGb3JDYWxlbmRhcihkYXRlcGlja2VyKVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFtdWx0aVNlbGVjdERyb3Bkb3duT3BlblwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZGkgbWRpLW1lbnUtZG93biBtdWx0aXNlbGVjdC1pbnB1dC1hcnJvd1wiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm11bHRpU2VsZWN0RHJvcGRvd25PcGVuXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktbWVudS11cCBtdWx0aXNlbGVjdC1pbnB1dC1hcnJvd1wiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Zvcm0+XHJcblxyXG48bmdiLWRhdGVwaWNrZXJcclxuICAgICN3ZWVrUGlja2VyXHJcbiAgICAqbmdJZj1cIiFjb25maWcuc2hvd0FzRHJvcGRvd25cIlxyXG4gICAgW2Rpc3BsYXlNb250aHNdPVwiMVwiXHJcbiAgICBbc3RhcnREYXRlXT1cImZyb21EYXRlIVwiXHJcbiAgICBbZmlyc3REYXlPZldlZWtdPVwiY29uZmlnLmZpcnN0RGF5T2ZXZWVrXCJcclxuICAgIFtzaG93V2Vla051bWJlcnNdPVwiY29uZmlnLnNob3dXZWVrTnVtYmVyc1wiXHJcbiAgICBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcclxuICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxyXG4gICAgKGRhdGVTZWxlY3QpPVwic2VsZWN0V2VlaygkZXZlbnQpXCJcclxuICAgIFttYXJrRGlzYWJsZWRdPVwiZGlzYWJsZWRGdW5jXCJcclxuPlxyXG48L25nYi1kYXRlcGlja2VyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgIDxociBjbGFzcz1cIm15LTBcIiAvPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtLTIgZmxvYXQtcmlnaHQgYXBwbHktYnRuXCJcclxuICAgICAgICAoY2xpY2spPVwiYXBwbHlDaGFuZ2VzKCk7IGNsb3NlRGF0ZXBpY2tlcihkYXRlcGlja2VyKVwiXHJcbiAgICA+XHJcbiAgICAgICAgQXBwbHlcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBtLTIgZmxvYXQtcmlnaHQgY2FuY2VsLWJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cInJldmVydERhdGVzKCk7IGNsb3NlRGF0ZXBpY2tlcihkYXRlcGlja2VyKVwiXHJcbiAgICA+XHJcbiAgICAgICAgQ2FuY2VsXHJcbiAgICA8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gICAgI3RcclxuICAgIGxldC1kYXRlXHJcbiAgICBsZXQtZm9jdXNlZD1cImZvY3VzZWRcIlxyXG4gICAgbGV0LWRpc2FibGVkPVwiZGlzYWJsZWRcIlxyXG4+XHJcbiAgICA8c3BhblxyXG4gICAgICAgIGNsYXNzPVwiY3VzdG9tLWRheVwiXHJcbiAgICAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNlZFwiXHJcbiAgICAgICAgW2NsYXNzLnJhbmdlXT1cImlzUmFuZ2UoZGF0ZSlcIlxyXG4gICAgICAgIFtjbGFzcy5mYWRlZF09XCJpc0hvdmVyZWQoZGF0ZSkgfHwgaXNJbnNpZGUoZGF0ZSlcIlxyXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZERhdGUgPSBkYXRlXCJcclxuICAgICAgICAobW91c2VsZWF2ZSk9XCJob3ZlcmVkRGF0ZSA9IG51bGxcIlxyXG4gICAgPlxyXG4gICAgICAgIHt7IGRhdGUuZGF5IH19XHJcbiAgICA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==