ca-components 1.0.71 → 1.0.73

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.
Files changed (28) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/components/ca-chart-manager/ca-chart-manager.component.mjs +3 -3
  3. package/esm2022/lib/components/ca-custom-scrollbar/ca-custom-scrollbar.component.mjs +205 -0
  4. package/esm2022/lib/components/ca-dropdown-menu/ca-dropdown-menu.component.mjs +2 -1
  5. package/esm2022/lib/components/ca-dropdown-menu/models/dropdown-menu-option-emit.model.mjs +2 -0
  6. package/esm2022/lib/components/ca-dropdown-menu/models/index.mjs +2 -2
  7. package/esm2022/lib/components/ca-modal/ca-modal.component.mjs +9 -3
  8. package/esm2022/lib/components/ca-modal-button/ca-modal-button.component.mjs +5 -5
  9. package/esm2022/lib/components/ca-modal-button/enums/modal-button-size.enum.mjs +1 -1
  10. package/esm2022/lib/components/ca-modal-button/enums/modal-button-type.enum.mjs +1 -4
  11. package/esm2022/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.mjs +1 -1
  12. package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-single/ca-load-single.component.mjs +1 -1
  13. package/esm2022/lib/utils/helpers/dropdown-menu-content-conditional-items.helper.mjs +1 -1
  14. package/esm2022/lib/utils/helpers/dropdown-menu-content.helper.mjs +3 -1
  15. package/esm2022/public-api.mjs +2 -1
  16. package/fesm2022/ca-components.mjs +215 -12
  17. package/fesm2022/ca-components.mjs.map +1 -1
  18. package/lib/components/ca-custom-scrollbar/ca-custom-scrollbar.component.d.ts +44 -0
  19. package/lib/components/ca-dropdown-menu/ca-dropdown-menu.component.d.ts +2 -2
  20. package/lib/components/ca-dropdown-menu/models/{dropdown-option-emit.model.d.ts → dropdown-menu-option-emit.model.d.ts} +1 -1
  21. package/lib/components/ca-dropdown-menu/models/index.d.ts +1 -1
  22. package/lib/components/ca-modal-button/ca-modal-button.component.d.ts +2 -2
  23. package/lib/components/ca-modal-button/enums/modal-button-type.enum.d.ts +0 -3
  24. package/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.d.ts +3 -3
  25. package/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-single/ca-load-single.component.d.ts +2 -2
  26. package/package.json +1 -1
  27. package/public-api.d.ts +1 -0
  28. package/esm2022/lib/components/ca-dropdown-menu/models/dropdown-option-emit.model.mjs +0 -2
package/README.md CHANGED
@@ -21,4 +21,4 @@ Run `ng test ca-components` to execute the unit tests via [Karma](https://karma-
21
21
 
22
22
  ## Further help
23
23
 
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -80,7 +80,7 @@ export class CaChartManagerComponent {
80
80
  };
81
81
  }
82
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaChartManagerComponent, deps: [{ token: i1.ChartManagerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CaChartManagerComponent, isStandalone: true, selector: "app-ca-chart-manager", inputs: { chartConfigs: "chartConfigs", tooltipLables: "tooltipLables", chartDatasetHover: "chartDatasetHover" }, providers: [ChartManagerService], viewQueries: [{ propertyName: "chartManagerContainer", first: true, predicate: ["chartManagerContainer"], descendants: true }, { propertyName: "tooltipContainer", first: true, predicate: ["tooltipContainer"], descendants: true }], ngImport: i0, template: "<div\n #chartManagerContainer\n class=\"chart-manager-container\"\n (mousemove)=\"onMouseMove($event)\"\n>\n @for (chartConfig of chartConfigs; let i = $index; track trackByIndex) {\n <app-ca-chart\n [chartConfig]=\"chartConfig\"\n [chartId]=\"'chart-' + i\"\n [chartDatasetHover]=\"\n chartConfig?.isDatasetHoverEnabled ? chartDatasetHover : null\n \"\n >\n </app-ca-chart>\n }\n\n @if (hoveredIndex) {\n <div\n #tooltipContainer\n class=\"tooltip-container\"\n [style.top.px]=\"tooltipPosition.y\"\n [style.left.px]=\"tooltipPosition.x\"\n >\n <app-ca-tooltip-list [tooltipList]=\"tooltipList\">\n </app-ca-tooltip-list>\n </div>\n }\n</div>\n", styles: ["::ng-deep app-ca-chart-manager .chart-manager-container{position:relative;overflow:hidden}::ng-deep app-ca-chart-manager .tooltip-container{position:absolute;pointer-events:none;z-index:1000;transform:translateY(-50%);white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type:
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CaChartManagerComponent, isStandalone: true, selector: "app-ca-chart-manager", inputs: { chartConfigs: "chartConfigs", tooltipLables: "tooltipLables", chartDatasetHover: "chartDatasetHover" }, providers: [ChartManagerService], viewQueries: [{ propertyName: "chartManagerContainer", first: true, predicate: ["chartManagerContainer"], descendants: true }, { propertyName: "tooltipContainer", first: true, predicate: ["tooltipContainer"], descendants: true }], ngImport: i0, template: "<div\n #chartManagerContainer\n class=\"chart-manager-container\"\n (mousemove)=\"onMouseMove($event)\"\n>\n @for (chartConfig of chartConfigs; let i = $index; track trackByIndex) {\n <app-ca-chart\n [chartConfig]=\"chartConfig\"\n [chartId]=\"'chart-' + i\"\n [chartDatasetHover]=\"\n chartConfig?.isDatasetHoverEnabled ? chartDatasetHover : null\n \"\n >\n </app-ca-chart>\n }\n\n @if (hoveredIndex !== null) {\n <div\n #tooltipContainer\n class=\"tooltip-container\"\n [style.top.px]=\"tooltipPosition.y\"\n [style.left.px]=\"tooltipPosition.x\"\n >\n <app-ca-tooltip-list [tooltipList]=\"tooltipList\">\n </app-ca-tooltip-list>\n </div>\n }\n</div>\n", styles: ["::ng-deep app-ca-chart-manager .chart-manager-container{position:relative;overflow:hidden}::ng-deep app-ca-chart-manager .tooltip-container{position:absolute;pointer-events:none;z-index:1000;transform:translateY(-50%);white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type:
84
84
  //Components
85
85
  CaChartComponent, selector: "app-ca-chart", inputs: ["chartId", "chartDatasetHover", "chartConfig"], outputs: ["hoveredIndex"] }, { kind: "component", type: CaTooltipListComponent, selector: "app-ca-tooltip-list", inputs: ["tooltipList"] }] }); }
86
86
  }
@@ -91,7 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
91
91
  //Components
92
92
  CaChartComponent,
93
93
  CaTooltipListComponent,
94
- ], providers: [ChartManagerService], template: "<div\n #chartManagerContainer\n class=\"chart-manager-container\"\n (mousemove)=\"onMouseMove($event)\"\n>\n @for (chartConfig of chartConfigs; let i = $index; track trackByIndex) {\n <app-ca-chart\n [chartConfig]=\"chartConfig\"\n [chartId]=\"'chart-' + i\"\n [chartDatasetHover]=\"\n chartConfig?.isDatasetHoverEnabled ? chartDatasetHover : null\n \"\n >\n </app-ca-chart>\n }\n\n @if (hoveredIndex) {\n <div\n #tooltipContainer\n class=\"tooltip-container\"\n [style.top.px]=\"tooltipPosition.y\"\n [style.left.px]=\"tooltipPosition.x\"\n >\n <app-ca-tooltip-list [tooltipList]=\"tooltipList\">\n </app-ca-tooltip-list>\n </div>\n }\n</div>\n", styles: ["::ng-deep app-ca-chart-manager .chart-manager-container{position:relative;overflow:hidden}::ng-deep app-ca-chart-manager .tooltip-container{position:absolute;pointer-events:none;z-index:1000;transform:translateY(-50%);white-space:nowrap}\n"] }]
94
+ ], providers: [ChartManagerService], template: "<div\n #chartManagerContainer\n class=\"chart-manager-container\"\n (mousemove)=\"onMouseMove($event)\"\n>\n @for (chartConfig of chartConfigs; let i = $index; track trackByIndex) {\n <app-ca-chart\n [chartConfig]=\"chartConfig\"\n [chartId]=\"'chart-' + i\"\n [chartDatasetHover]=\"\n chartConfig?.isDatasetHoverEnabled ? chartDatasetHover : null\n \"\n >\n </app-ca-chart>\n }\n\n @if (hoveredIndex !== null) {\n <div\n #tooltipContainer\n class=\"tooltip-container\"\n [style.top.px]=\"tooltipPosition.y\"\n [style.left.px]=\"tooltipPosition.x\"\n >\n <app-ca-tooltip-list [tooltipList]=\"tooltipList\">\n </app-ca-tooltip-list>\n </div>\n }\n</div>\n", styles: ["::ng-deep app-ca-chart-manager .chart-manager-container{position:relative;overflow:hidden}::ng-deep app-ca-chart-manager .tooltip-container{position:absolute;pointer-events:none;z-index:1000;transform:translateY(-50%);white-space:nowrap}\n"] }]
95
95
  }], ctorParameters: () => [{ type: i1.ChartManagerService }, { type: i0.ChangeDetectorRef }], propDecorators: { chartConfigs: [{
96
96
  type: Input
97
97
  }], tooltipLables: [{
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
105
105
  type: ViewChild,
106
106
  args: ['tooltipContainer']
107
107
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtY2hhcnQtbWFuYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC1tYW5hZ2VyL2NhLWNoYXJ0LW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQtbWFuYWdlci9jYS1jaGFydC1tYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsVUFBVTtBQUNWLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBU3ZFLFlBQVk7QUFDWixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBZXRGLE1BQU0sT0FBTyx1QkFBdUI7SUFhbEMsWUFDVSxtQkFBd0MsRUFDeEMsR0FBc0I7UUFEdEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWR2QixpQkFBWSxHQUEwQixFQUFFLENBQUM7UUFDekMsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0Isc0JBQWlCLEdBQThCLElBQUksQ0FBQztRQUt0RCxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsbUJBQWMsR0FBa0IsSUFBSSxDQUFDO1FBQ3JDLGdCQUFXLEdBQXdCLElBQUksQ0FBQztRQUN4QyxvQkFBZSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMs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QXVCO2dCQUNILGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8vU2VydmljZXNcbmltcG9ydCB7IENoYXJ0TWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NoYXJ0LW1hbmFnZXIuc2VydmljZSc7XG5cbi8vTW9kZWxzXG5pbXBvcnQgeyBJQ2hhcnRDb25maWd1cmF0aW9uLCBJQ2hhcnREYXRhc2V0SG92ZXIgfSBmcm9tICcuLi9jYS1jaGFydC9tb2RlbHMnO1xuaW1wb3J0IHsgSVRvb2x0aXBMaXN0LCBJVG9vbHRpcExpc3RJdGVtIH0gZnJvbSAnLi4vY2EtdG9vbHRpcC1saXN0L21vZGVscyc7XG5cbi8vRW51bXNcbmltcG9ydCB7IENoYXJ0Q29sb3JzU3RyaW5nRW51bSB9IGZyb20gJy4uL2NhLWNoYXJ0L2VudW1zJztcblxuLy9Db21wb25lbnRzXG5pbXBvcnQgeyBDYUNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vY2EtY2hhcnQvY2EtY2hhcnQuY29tcG9uZW50JztcbmltcG9ydCB7IENhVG9vbHRpcExpc3RDb21wb25lbnQgfSBmcm9tICcuLi9jYS10b29sdGlwLWxpc3QvY2EtdG9vbHRpcC1saXN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYS1jaGFydC1tYW5hZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhLWNoYXJ0LW1hbmFnZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS1jaGFydC1tYW5hZ2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgLy9Db21wb25lbnRzXG4gICAgQ2FDaGFydENvbXBvbmVudCxcbiAgICBDYVRvb2x0aXBMaXN0Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtDaGFydE1hbmFnZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FDaGFydE1hbmFnZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBjaGFydENvbmZpZ3M6IElDaGFydENvbmZpZ3VyYXRpb25bXSA9IFtdO1xuICBASW5wdXQoKSB0b29sdGlwTGFibGVzOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBjaGFydERhdGFzZXRIb3ZlcjogSUNoYXJ0RGF0YXNldEhvdmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQFZpZXdDaGlsZCgnY2hhcnRNYW5hZ2VyQ29udGFpbmVyJykgY2hhcnRNYW5hZ2VyQ29udGFpbmVyITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgndG9vbHRpcENvbnRhaW5lcicpIHRvb2x0aXBDb250YWluZXIhOiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyBob3ZlcmVkSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgaG92ZXJlZENoYXJ0SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgdG9vbHRpcExpc3Q6IElUb29sdGlwTGlzdCB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgdG9vbHRpcFBvc2l0aW9uID0geyB4OiAwLCB5OiAwIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFydE1hbmFnZXJTZXJ2aWNlOiBDaGFydE1hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLmNoYXJ0TWFuYWdlclNlcnZpY2UuaG92ZXJTdGF0ZSQuc3Vic2NyaWJlKCh7IGluZGV4LCBjaGFydElkIH0pID0+IHtcbiAgICAgIHRoaXMuaG92ZXJlZEluZGV4ID0gaW5kZXg7XG4gICAgICB0aGlzLmhvdmVyZWRDaGFydElkID0gY2hhcnRJZDtcbiAgICAgIHRoaXMudXBkYXRlVG9vbHRpcExpc3QodGhpcy5ob3ZlcmVkSW5kZXgpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeUluZGV4KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPVxuICAgICAgdGhpcy5jaGFydE1hbmFnZXJDb250YWluZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBwYWRkaW5nID0gMTAwO1xuXG4gICAgbGV0IHggPSBldmVudC5jbGllbnRYIC0gY29udGFpbmVyUmVjdC5sZWZ0ICsgcGFkZGluZztcbiAgICBsZXQgeSA9IGV2ZW50LmNsaWVudFkgLSBjb250YWluZXJSZWN0LnRvcCArIHBhZGRpbmc7XG5cbiAgICBpZiAodGhpcy50b29sdGlwQ29udGFpbmVyKSB7XG4gICAgICBjb25zdCB0b29sdGlwV2lkdGggPSB0aGlzLnRvb2x0aXBDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIGNvbnN0IHRvb2x0aXBIZWlnaHQgPSB0aGlzLnRvb2x0aXBDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICAgIC8vIEFkanVzdCBZIHBvc2l0aW9uIGlmIHRoZSB0b29sdGlwIGdvZXMgYWJvdmUgdGhlIHRvcCBvZiBjb250YWluZXJcbiAgICAgIGlmICh5IDwgdG9vbHRpcEhlaWdodCAvIDIpXG4gICAgICAgIHkgPSB0b29sdGlwSGVpZ2h0IC8gMiArIHBhZGRpbmc7XG5cblxuICAgICAgLy8gQWRqdXN0IFkgcG9zaXRpb24gaWYgdGhlIHRvb2x0aXAgZ29lcyBiZWxvdyB0aGUgY29udGFpbmVyXG4gICAgICBpZiAoeSArIHRvb2x0aXBIZWlnaHQgLyAyID4gY29udGFpbmVyUmVjdC5oZWlnaHQpXG4gICAgICAgIHkgPSBjb250YWluZXJSZWN0LmhlaWdodCAtIHRvb2x0aXBIZWlnaHQgLyAyIC0gcGFkZGluZztcblxuXG4gICAgICAvLyBBZGp1c3QgWCBwb3NpdGlvbiBpZiBpdCBvdmVyZmxvd3MgdGhlIHJpZ2h0IGVkZ2VcbiAgICAgIGlmICh4ICsgdG9vbHRpcFdpZHRoID4gY29udGFpbmVyUmVjdC53aWR0aClcbiAgICAgICAgeCA9IGV2ZW50LmNsaWVudFggLSBjb250YWluZXJSZWN0LmxlZnQgLSB0b29sdGlwV2lkdGggLSBwYWRkaW5nOyAvLyBNb3ZlIHRvb2x0aXAgdG8gdGhlIGxlZnRcblxuICAgIH1cblxuICAgIHRoaXMudG9vbHRpcFBvc2l0aW9uID0geyB4LCB5IH07XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRvb2x0aXBMaXN0KGluZGV4OiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGluZGV4ID09PSBudWxsIHx8ICF0aGlzLmNoYXJ0Q29uZmlncy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudG9vbHRpcExpc3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXM6IElUb29sdGlwTGlzdEl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IG90aGVySXRlbXM6IElUb29sdGlwTGlzdEl0ZW1bXSA9IFtdO1xuXG4gICAgdGhpcy5jaGFydENvbmZpZ3MuZm9yRWFjaCgoY29uZmlnKSA9PiB7XG4gICAgICBjb25zdCB2aXNpYmxlRGF0YXNldHMgPSBjb25maWcuY2hhcnREYXRhLmRhdGFzZXRzLmZpbHRlcihcbiAgICAgICAgKGRhdGFzZXQpID0+ICFkYXRhc2V0LmhpZGRlblxuICAgICAgKTtcblxuICAgICAgdmlzaWJsZURhdGFzZXRzLmZvckVhY2goKGRhdGFzZXQpID0+IHtcbiAgICAgICAgY29uc3QgcmF3RGF0YSA9IGRhdGFzZXQuZGF0YVtpbmRleF07XG4gICAgICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheShyYXdEYXRhKSA/IHJhd0RhdGFbMF0gOiByYXdEYXRhO1xuXG4gICAgICAgIGNvbnN0IHRvb2x0aXBJdGVtOiBJVG9vbHRpcExpc3RJdGVtID0ge1xuICAgICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxuICAgICAgICAgIHZhbHVlOiB2YWx1ZSB8fCAwLFxuICAgICAgICAgIGlzQ3VycmVuY3k6IGRhdGFzZXQuaXNDdXJyZW5jeSB8fCBmYWxzZSxcbiAgICAgICAgICBjb2xvcjogZGF0YXNldC5ib3JkZXJDb2xvciB8fCBDaGFydENvbG9yc1N0cmluZ0VudW0uV0hJVEUsXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGNvbmZpZy5pc1Rvb2x0aXBJdGVtSW5TZWxlY3RlZEl0ZW1zKVxuICAgICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaCh0b29sdGlwSXRlbSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICBvdGhlckl0ZW1zLnB1c2godG9vbHRpcEl0ZW0pO1xuXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMudG9vbHRpcExpc3QgPSB7XG4gICAgICBkYXRlOiB0aGlzLnRvb2x0aXBMYWJsZXNbaW5kZXhdLFxuICAgICAgc2VsZWN0ZWRJdGVtczogc2VsZWN0ZWRJdGVtcyxcbiAgICAgIG90aGVySXRlbXM6IG90aGVySXRlbXMsXG4gICAgICBzaG93UGVyY2VudGFnZTogZmFsc2UsXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdlxuICAgICNjaGFydE1hbmFnZXJDb250YWluZXJcbiAgICBjbGFzcz1cImNoYXJ0LW1hbmFnZXItY29udGFpbmVyXCJcbiAgICAobW91c2Vtb3ZlKT1cIm9uTW91c2VNb3ZlKCRldmVudClcIlxuPlxuICAgIEBmb3IgKGNoYXJ0Q29uZmlnIG9mIGNoYXJ0Q29uZmlnczsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIHRyYWNrQnlJbmRleCkge1xuICAgICAgICA8YXBwLWNhLWNoYXJ0XG4gICAgICAgICAgICBbY2hhcnRDb25maWddPVwiY2hhcnRDb25maWdcIlxuICAgICAgICAgICAgW2NoYXJ0SWRdPVwiJ2NoYXJ0LScgKyBpXCJcbiAgICAgICAgICAgIFtjaGFydERhdGFzZXRIb3Zlcl09XCJcbiAgICAgICAgICAgICAgICBjaGFydENvbmZpZz8uaXNEYXRhc2V0SG92ZXJFbmFibGVkID8gY2hhcnREYXRhc2V0SG92ZXIgOiBudWxsXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWNoYXJ0PlxuICAgIH1cblxuICAgIEBpZiAoaG92ZXJlZEluZGV4KSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICN0b29sdGlwQ29udGFpbmVyXG4gICAgICAgICAgICBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCJcbiAgICAgICAgICAgIFtzdHlsZS50b3AucHhdPVwidG9vbHRpcFBvc2l0aW9uLnlcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwidG9vbHRpcFBvc2l0aW9uLnhcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YXBwLWNhLXRvb2x0aXAtbGlzdCBbdG9vbHRpcExpc3RdPVwidG9vbHRpcExpc3RcIj5cbiAgICAgICAgICAgIDwvYXBwLWNhLXRvb2x0aXAtbGlzdD5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtY2hhcnQtbWFuYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jaGFydC1tYW5hZ2VyL2NhLWNoYXJ0LW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY2hhcnQtbWFuYWdlci9jYS1jaGFydC1tYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsVUFBVTtBQUNWLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBU3ZFLFlBQVk7QUFDWixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBZXRGLE1BQU0sT0FBTyx1QkFBdUI7SUFhbEMsWUFDVSxtQkFBd0MsRUFDeEMsR0FBc0I7UUFEdEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWR2QixpQkFBWSxHQUEwQixFQUFFLENBQUM7UUFDekMsa0JBQWEsR0FBYSxFQUFFLENBQUM7UUFDN0Isc0JBQWlCLEdBQThCLElBQUksQ0FBQztRQUt0RCxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsbUJBQWMsR0FBa0IsSUFBSSxDQUFDO1FBQ3JDLGdCQUFXLEdBQXdCLElBQUksQ0FBQztRQUN4QyxvQkFBZSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFNdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO1lBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBYTtRQUMvQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBaUI7UUFDbEMsTUFBTSxhQUFhLEdBQ2pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNuRSxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFFcEIsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNyRCxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7WUFDckUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFFdkUsbUVBQW1FO1lBQ25FLElBQUksQ0FBQyxHQUFHLGFBQWEsR0FBRyxDQUFDO2dCQUN2QixDQUFDLEdBQUcsYUFBYSxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7WUFHbEMsNERBQTREO1lBQzVELElBQUksQ0FBQyxHQUFHLGFBQWEsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU07Z0JBQzlDLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO1lBR3pELG1EQUFtRDtZQUNuRCxJQUFJLENBQUMsR0FBRyxZQUFZLEdBQUcsYUFBYSxDQUFDLEtBQUs7Z0JBQ3hDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxJQUFJLEdBQUcsWUFBWSxHQUFHLE9BQU8sQ0FBQyxDQUFDLDJCQUEyQjtRQUVoRyxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBb0I7UUFDNUMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUF1QixFQUFFLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQXVCLEVBQUUsQ0FBQztRQUUxQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ25DLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FDdEQsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDN0IsQ0FBQztZQUVGLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbEMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBRTVELE1BQU0sV0FBVyxHQUFxQjtvQkFDcEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO29CQUNwQixLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUM7b0JBQ2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLEtBQUs7b0JBQ3ZDLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVywrQ0FBK0I7aUJBQzFELENBQUM7Z0JBRUYsSUFBSSxNQUFNLENBQUMsNEJBQTRCO29CQUNyQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDOztvQkFFaEMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUVqQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFDL0IsYUFBYSxFQUFFLGFBQWE7WUFDNUIsVUFBVSxFQUFFLFVBQVU7WUFDdEIsY0FBYyxFQUFFLEtBQUs7U0FDdEIsQ0FBQztJQUNKLENBQUM7K0dBbkdVLHVCQUF1QjttR0FBdkIsdUJBQXVCLHFMQUZ2QixDQUFDLG1CQUFtQixDQUFDLGlRQ2xDbEMsNDBCQTRCQSx3U0RDSSxZQUFZO2dCQUNaLFlBQVk7Z0JBQ1osZ0JBQWdCLDZJQUNoQixzQkFBc0I7OzRGQUliLHVCQUF1QjtrQkFibkMsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjtxQkFDdkIsYUFDVSxDQUFDLG1CQUFtQixDQUFDO3dIQUd2QixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUU4QixxQkFBcUI7c0JBQXhELFNBQVM7dUJBQUMsdUJBQXVCO2dCQUNILGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8vU2VydmljZXNcbmltcG9ydCB7IENoYXJ0TWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NoYXJ0LW1hbmFnZXIuc2VydmljZSc7XG5cbi8vTW9kZWxzXG5pbXBvcnQgeyBJQ2hhcnRDb25maWd1cmF0aW9uLCBJQ2hhcnREYXRhc2V0SG92ZXIgfSBmcm9tICcuLi9jYS1jaGFydC9tb2RlbHMnO1xuaW1wb3J0IHsgSVRvb2x0aXBMaXN0LCBJVG9vbHRpcExpc3RJdGVtIH0gZnJvbSAnLi4vY2EtdG9vbHRpcC1saXN0L21vZGVscyc7XG5cbi8vRW51bXNcbmltcG9ydCB7IENoYXJ0Q29sb3JzU3RyaW5nRW51bSB9IGZyb20gJy4uL2NhLWNoYXJ0L2VudW1zJztcblxuLy9Db21wb25lbnRzXG5pbXBvcnQgeyBDYUNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vY2EtY2hhcnQvY2EtY2hhcnQuY29tcG9uZW50JztcbmltcG9ydCB7IENhVG9vbHRpcExpc3RDb21wb25lbnQgfSBmcm9tICcuLi9jYS10b29sdGlwLWxpc3QvY2EtdG9vbHRpcC1saXN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYS1jaGFydC1tYW5hZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhLWNoYXJ0LW1hbmFnZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS1jaGFydC1tYW5hZ2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgLy9Db21wb25lbnRzXG4gICAgQ2FDaGFydENvbXBvbmVudCxcbiAgICBDYVRvb2x0aXBMaXN0Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtDaGFydE1hbmFnZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FDaGFydE1hbmFnZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBjaGFydENvbmZpZ3M6IElDaGFydENvbmZpZ3VyYXRpb25bXSA9IFtdO1xuICBASW5wdXQoKSB0b29sdGlwTGFibGVzOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBjaGFydERhdGFzZXRIb3ZlcjogSUNoYXJ0RGF0YXNldEhvdmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQFZpZXdDaGlsZCgnY2hhcnRNYW5hZ2VyQ29udGFpbmVyJykgY2hhcnRNYW5hZ2VyQ29udGFpbmVyITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgndG9vbHRpcENvbnRhaW5lcicpIHRvb2x0aXBDb250YWluZXIhOiBFbGVtZW50UmVmO1xuXG4gIHB1YmxpYyBob3ZlcmVkSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgaG92ZXJlZENoYXJ0SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgdG9vbHRpcExpc3Q6IElUb29sdGlwTGlzdCB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgdG9vbHRpcFBvc2l0aW9uID0geyB4OiAwLCB5OiAwIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFydE1hbmFnZXJTZXJ2aWNlOiBDaGFydE1hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLmNoYXJ0TWFuYWdlclNlcnZpY2UuaG92ZXJTdGF0ZSQuc3Vic2NyaWJlKCh7IGluZGV4LCBjaGFydElkIH0pID0+IHtcbiAgICAgIHRoaXMuaG92ZXJlZEluZGV4ID0gaW5kZXg7XG4gICAgICB0aGlzLmhvdmVyZWRDaGFydElkID0gY2hhcnRJZDtcbiAgICAgIHRoaXMudXBkYXRlVG9vbHRpcExpc3QodGhpcy5ob3ZlcmVkSW5kZXgpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeUluZGV4KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPVxuICAgICAgdGhpcy5jaGFydE1hbmFnZXJDb250YWluZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBwYWRkaW5nID0gMTAwO1xuXG4gICAgbGV0IHggPSBldmVudC5jbGllbnRYIC0gY29udGFpbmVyUmVjdC5sZWZ0ICsgcGFkZGluZztcbiAgICBsZXQgeSA9IGV2ZW50LmNsaWVudFkgLSBjb250YWluZXJSZWN0LnRvcCArIHBhZGRpbmc7XG5cbiAgICBpZiAodGhpcy50b29sdGlwQ29udGFpbmVyKSB7XG4gICAgICBjb25zdCB0b29sdGlwV2lkdGggPSB0aGlzLnRvb2x0aXBDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIGNvbnN0IHRvb2x0aXBIZWlnaHQgPSB0aGlzLnRvb2x0aXBDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICAgIC8vIEFkanVzdCBZIHBvc2l0aW9uIGlmIHRoZSB0b29sdGlwIGdvZXMgYWJvdmUgdGhlIHRvcCBvZiBjb250YWluZXJcbiAgICAgIGlmICh5IDwgdG9vbHRpcEhlaWdodCAvIDIpXG4gICAgICAgIHkgPSB0b29sdGlwSGVpZ2h0IC8gMiArIHBhZGRpbmc7XG5cblxuICAgICAgLy8gQWRqdXN0IFkgcG9zaXRpb24gaWYgdGhlIHRvb2x0aXAgZ29lcyBiZWxvdyB0aGUgY29udGFpbmVyXG4gICAgICBpZiAoeSArIHRvb2x0aXBIZWlnaHQgLyAyID4gY29udGFpbmVyUmVjdC5oZWlnaHQpXG4gICAgICAgIHkgPSBjb250YWluZXJSZWN0LmhlaWdodCAtIHRvb2x0aXBIZWlnaHQgLyAyIC0gcGFkZGluZztcblxuXG4gICAgICAvLyBBZGp1c3QgWCBwb3NpdGlvbiBpZiBpdCBvdmVyZmxvd3MgdGhlIHJpZ2h0IGVkZ2VcbiAgICAgIGlmICh4ICsgdG9vbHRpcFdpZHRoID4gY29udGFpbmVyUmVjdC53aWR0aClcbiAgICAgICAgeCA9IGV2ZW50LmNsaWVudFggLSBjb250YWluZXJSZWN0LmxlZnQgLSB0b29sdGlwV2lkdGggLSBwYWRkaW5nOyAvLyBNb3ZlIHRvb2x0aXAgdG8gdGhlIGxlZnRcblxuICAgIH1cblxuICAgIHRoaXMudG9vbHRpcFBvc2l0aW9uID0geyB4LCB5IH07XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRvb2x0aXBMaXN0KGluZGV4OiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGluZGV4ID09PSBudWxsIHx8ICF0aGlzLmNoYXJ0Q29uZmlncy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudG9vbHRpcExpc3QgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXM6IElUb29sdGlwTGlzdEl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IG90aGVySXRlbXM6IElUb29sdGlwTGlzdEl0ZW1bXSA9IFtdO1xuXG4gICAgdGhpcy5jaGFydENvbmZpZ3MuZm9yRWFjaCgoY29uZmlnKSA9PiB7XG4gICAgICBjb25zdCB2aXNpYmxlRGF0YXNldHMgPSBjb25maWcuY2hhcnREYXRhLmRhdGFzZXRzLmZpbHRlcihcbiAgICAgICAgKGRhdGFzZXQpID0+ICFkYXRhc2V0LmhpZGRlblxuICAgICAgKTtcblxuICAgICAgdmlzaWJsZURhdGFzZXRzLmZvckVhY2goKGRhdGFzZXQpID0+IHtcbiAgICAgICAgY29uc3QgcmF3RGF0YSA9IGRhdGFzZXQuZGF0YVtpbmRleF07XG4gICAgICAgIGNvbnN0IHZhbHVlID0gQXJyYXkuaXNBcnJheShyYXdEYXRhKSA/IHJhd0RhdGFbMF0gOiByYXdEYXRhO1xuXG4gICAgICAgIGNvbnN0IHRvb2x0aXBJdGVtOiBJVG9vbHRpcExpc3RJdGVtID0ge1xuICAgICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxuICAgICAgICAgIHZhbHVlOiB2YWx1ZSB8fCAwLFxuICAgICAgICAgIGlzQ3VycmVuY3k6IGRhdGFzZXQuaXNDdXJyZW5jeSB8fCBmYWxzZSxcbiAgICAgICAgICBjb2xvcjogZGF0YXNldC5ib3JkZXJDb2xvciB8fCBDaGFydENvbG9yc1N0cmluZ0VudW0uV0hJVEUsXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGNvbmZpZy5pc1Rvb2x0aXBJdGVtSW5TZWxlY3RlZEl0ZW1zKVxuICAgICAgICAgIHNlbGVjdGVkSXRlbXMucHVzaCh0b29sdGlwSXRlbSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICBvdGhlckl0ZW1zLnB1c2godG9vbHRpcEl0ZW0pO1xuXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMudG9vbHRpcExpc3QgPSB7XG4gICAgICBkYXRlOiB0aGlzLnRvb2x0aXBMYWJsZXNbaW5kZXhdLFxuICAgICAgc2VsZWN0ZWRJdGVtczogc2VsZWN0ZWRJdGVtcyxcbiAgICAgIG90aGVySXRlbXM6IG90aGVySXRlbXMsXG4gICAgICBzaG93UGVyY2VudGFnZTogZmFsc2UsXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdlxuICAgICNjaGFydE1hbmFnZXJDb250YWluZXJcbiAgICBjbGFzcz1cImNoYXJ0LW1hbmFnZXItY29udGFpbmVyXCJcbiAgICAobW91c2Vtb3ZlKT1cIm9uTW91c2VNb3ZlKCRldmVudClcIlxuPlxuICAgIEBmb3IgKGNoYXJ0Q29uZmlnIG9mIGNoYXJ0Q29uZmlnczsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrIHRyYWNrQnlJbmRleCkge1xuICAgICAgICA8YXBwLWNhLWNoYXJ0XG4gICAgICAgICAgICBbY2hhcnRDb25maWddPVwiY2hhcnRDb25maWdcIlxuICAgICAgICAgICAgW2NoYXJ0SWRdPVwiJ2NoYXJ0LScgKyBpXCJcbiAgICAgICAgICAgIFtjaGFydERhdGFzZXRIb3Zlcl09XCJcbiAgICAgICAgICAgICAgICBjaGFydENvbmZpZz8uaXNEYXRhc2V0SG92ZXJFbmFibGVkID8gY2hhcnREYXRhc2V0SG92ZXIgOiBudWxsXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWNoYXJ0PlxuICAgIH1cblxuICAgIEBpZiAoaG92ZXJlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICN0b29sdGlwQ29udGFpbmVyXG4gICAgICAgICAgICBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCJcbiAgICAgICAgICAgIFtzdHlsZS50b3AucHhdPVwidG9vbHRpcFBvc2l0aW9uLnlcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwidG9vbHRpcFBvc2l0aW9uLnhcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YXBwLWNhLXRvb2x0aXAtbGlzdCBbdG9vbHRpcExpc3RdPVwidG9vbHRpcExpc3RcIj5cbiAgICAgICAgICAgIDwvYXBwLWNhLXRvb2x0aXAtbGlzdD5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,205 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { CommonModule } from '@angular/common';
4
+ import { ObserversModule } from '@angular/cdk/observers';
5
+ import { Subject } from 'rxjs';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/cdk/observers";
9
+ export class CaCustomScrollbarComponent {
10
+ constructor(ngZone, elRef, chng) {
11
+ this.ngZone = ngZone;
12
+ this.elRef = elRef;
13
+ this.chng = chng;
14
+ this.scrollEvent = new EventEmitter();
15
+ this.scrollTop = 5;
16
+ this.showScrollbar = false;
17
+ this.scrollHeight = 0;
18
+ this.scrollRatio = 0;
19
+ this.scrollRatioFull = 0;
20
+ this.isMouseDown = false;
21
+ this.barClickPosition = 0;
22
+ this.barClickRestHeight = 0;
23
+ this.destroy$ = new Subject();
24
+ this.tableBarClickPosition = 0;
25
+ this.tableBarClickRestWidth = 0;
26
+ this.tableScrollRatio = 0;
27
+ this.tableScrollRatioFull = 0;
28
+ this.tableScrollWidth = 0;
29
+ this.setScrollEvent = (e) => {
30
+ if (!this.isMouseDown) {
31
+ this.calculateBarSizeAndPosition(this.elRef.nativeElement.children[0]);
32
+ }
33
+ };
34
+ this.onMouseUpHandler = () => {
35
+ this.isMouseDown = false;
36
+ };
37
+ this.onResizeHandler = () => {
38
+ if (!this.isMouseDown) {
39
+ clearTimeout(this.resizeHandlerCount);
40
+ this.resizeHandlerCount = setTimeout(() => {
41
+ this.calculateBarSizeAndPosition(this.elRef.nativeElement.children[0]);
42
+ }, 150);
43
+ }
44
+ };
45
+ this.onMouseMoveHandler = (e) => {
46
+ if (this.isMouseDown) {
47
+ // Regular Scroll
48
+ if (this.scrollBarOptions.showVerticalScrollBar) {
49
+ const offsetBar = e.clientY - this.barClickPosition;
50
+ if (offsetBar > -1 &&
51
+ e.clientY + this.barClickRestHeight < window.innerHeight) {
52
+ this.bar.nativeElement.style.transform = `translateY(${offsetBar}px)`;
53
+ }
54
+ this.elRef.nativeElement.children[0].scrollTop =
55
+ (e.clientY - this.barClickPosition) * this.scrollRatioFull;
56
+ }
57
+ // Table Scroll
58
+ else {
59
+ let offsetBar = e.clientX - this.tableBarClickPosition;
60
+ const maxWidth = this.tableNotPinedBoundingRect.width;
61
+ offsetBar = offsetBar < 0 ? 0 : offsetBar;
62
+ offsetBar =
63
+ e.clientX + this.tableBarClickRestWidth > maxWidth
64
+ ? maxWidth - this.tableScrollWidth
65
+ : offsetBar;
66
+ this.bar.nativeElement.style.transform = `translateX(${offsetBar}px)`;
67
+ this.scrollEvent.emit({
68
+ eventAction: 'scrolling',
69
+ scrollPosition: offsetBar * this.tableScrollRatioFull,
70
+ });
71
+ }
72
+ }
73
+ };
74
+ }
75
+ ngOnInit() {
76
+ this.ngZone.runOutsideAngular(() => {
77
+ document.addEventListener('mouseup', this.onMouseUpHandler);
78
+ document.addEventListener('mousemove', this.onMouseMoveHandler);
79
+ this.elRef.nativeElement.children[0].addEventListener('scroll', this.setScrollEvent);
80
+ window.addEventListener('resize', this.onResizeHandler);
81
+ this.calculateBarSizeAndPosition(this.elRef.nativeElement.children[0]);
82
+ });
83
+ }
84
+ ngOnChanges(changes) {
85
+ if (!changes?.['horizontalScrollHeight']?.firstChange &&
86
+ changes?.['horizontalScrollHeight']) {
87
+ this.horizontalScrollHeight =
88
+ changes['horizontalScrollHeight'].currentValue;
89
+ }
90
+ if (!changes?.['scrollBarOptions']?.firstChange &&
91
+ changes?.['scrollBarOptions']) {
92
+ this.scrollBarOptions = changes['scrollBarOptions'].currentValue;
93
+ }
94
+ }
95
+ ngAfterViewInit() {
96
+ // Table Scroll
97
+ if (this.scrollBarOptions.showHorizontalScrollBar) {
98
+ setTimeout(() => {
99
+ this.tableNotPinedContainer =
100
+ document.querySelector('.not-pined-columns');
101
+ this.tableNotPinedBoundingRect =
102
+ this.tableNotPinedContainer?.getBoundingClientRect()
103
+ ? this.tableNotPinedContainer.getBoundingClientRect()
104
+ : null;
105
+ }, 100);
106
+ }
107
+ }
108
+ setDraggingStart(e) {
109
+ const style = window.getComputedStyle(this.bar.nativeElement);
110
+ const matrix = new DOMMatrixReadOnly(style.transform);
111
+ this.barClickPosition = e.clientY - matrix.m42;
112
+ this.barClickRestHeight = this.scrollHeight - this.barClickPosition;
113
+ this.isMouseDown = true;
114
+ // Table Scroll
115
+ this.tableBarClickPosition = e.clientX - matrix.m41;
116
+ this.tableBarClickRestWidth =
117
+ this.tableScrollWidth - this.tableBarClickPosition;
118
+ }
119
+ calculateBarSizeAndPosition(elem, pageHeight) {
120
+ setTimeout(() => {
121
+ // Table Scroll
122
+ if (this.scrollBarOptions.showHorizontalScrollBar) {
123
+ const scrollWrapper = document.querySelector('.not-pined-columns');
124
+ this.tableNotPinedBoundingRect =
125
+ scrollWrapper?.getBoundingClientRect()
126
+ ? scrollWrapper.getBoundingClientRect()
127
+ : null;
128
+ const tableFullWidth = scrollWrapper?.scrollWidth
129
+ ? scrollWrapper.scrollWidth
130
+ : 0;
131
+ const tableVisibleWidth = scrollWrapper?.getBoundingClientRect()
132
+ .width
133
+ ? Math.ceil(scrollWrapper.getBoundingClientRect().width)
134
+ : 0;
135
+ this.tableScrollRatio = tableVisibleWidth / tableFullWidth;
136
+ this.tableScrollRatioFull = tableFullWidth / tableVisibleWidth;
137
+ this.tableScrollWidth =
138
+ this.tableScrollRatio * tableVisibleWidth;
139
+ if (tableFullWidth <= tableVisibleWidth) {
140
+ this.showScrollbar = false;
141
+ this.chng.detectChanges();
142
+ }
143
+ else {
144
+ this.showScrollbar = true;
145
+ this.chng.detectChanges();
146
+ }
147
+ this.scrollEvent.emit({
148
+ eventAction: 'isScrollShowing',
149
+ isScrollBarShowing: this.showScrollbar,
150
+ });
151
+ }
152
+ // Regular Scroll
153
+ else {
154
+ const content_height = this.elRef.nativeElement.children[0].scrollHeight - 1;
155
+ const visible_height = window.innerHeight;
156
+ if (content_height <= visible_height) {
157
+ this.showScrollbar = false;
158
+ this.chng.detectChanges();
159
+ return;
160
+ }
161
+ else {
162
+ this.showScrollbar = true;
163
+ this.chng.detectChanges();
164
+ }
165
+ this.scrollRatio = visible_height / content_height;
166
+ this.scrollRatioFull = content_height / visible_height;
167
+ this.scrollTop = elem.scrollTop * this.scrollRatio;
168
+ if (this.bar) {
169
+ this.bar.nativeElement.style.transform = `translateY(${this.scrollTop}px)`;
170
+ }
171
+ this.scrollHeight = this.scrollRatio * visible_height;
172
+ }
173
+ this.chng.detectChanges();
174
+ }, 100);
175
+ }
176
+ ngOnDestroy() {
177
+ document.removeEventListener('mouseup', this.onMouseUpHandler);
178
+ document.removeEventListener('mousemove', this.onMouseMoveHandler);
179
+ window.removeEventListener('resize', this.onResizeHandler);
180
+ this.destroy$.next();
181
+ this.destroy$.complete();
182
+ }
183
+ projectContentChanged(e) {
184
+ clearTimeout(this.calculateSizeHeightTimer);
185
+ this.calculateSizeHeightTimer = setTimeout(() => {
186
+ this.calculateBarSizeAndPosition(this.elRef.nativeElement.children[0]);
187
+ }, 100);
188
+ }
189
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaCustomScrollbarComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
190
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CaCustomScrollbarComponent, isStandalone: true, selector: "app-ca-custom-scrollbar", inputs: { scrollBarOptions: "scrollBarOptions", horizontalScrollHeight: "horizontalScrollHeight" }, outputs: { scrollEvent: "scrollEvent" }, viewQueries: [{ propertyName: "bar", first: true, predicate: ["bar"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"custom-scrollbar-holder\"\n #contentHolder\n (cdkObserveContent)=\"projectContentChanged($event)\"\n [class.activeToolbar]=\"showScrollbar\"\n [ngStyle]=\"{\n height: scrollBarOptions.showHorizontalScrollBar\n ? horizontalScrollHeight + 'px'\n : 100 + 'vh',\n 'overflow-y': scrollBarOptions.showHorizontalScrollBar\n ? 'visible'\n : 'auto',\n }\"\n>\n <ng-content></ng-content>\n <!-- Vertical Scroll Bar -->\n <div\n class=\"right-bar-scroll\"\n *ngIf=\"showScrollbar && scrollBarOptions.showVerticalScrollBar\"\n >\n <div\n class=\"right-bar\"\n #bar\n [ngStyle]=\"{ height: scrollHeight + 'px' }\"\n (mousedown)=\"setDraggingStart($event)\"\n (mouseup)=\"isMouseDown = false\"\n ></div>\n </div>\n\n <!-- Horizontal Scroll Bar -->\n <div\n class=\"horizontal-scroll-bar\"\n [ngStyle]=\"{\n 'left.px':\n scrollBarOptions?.modalStyle?.horizontalScrollBarLeft === 0 ||\n scrollBarOptions?.modalStyle?.horizontalScrollBarLeft\n ? scrollBarOptions.modalStyle.horizontalScrollBarLeft\n : tableNotPinedBoundingRect?.left - 74,\n 'width.px': scrollBarOptions?.modalStyle?.horizontalScrollBarWidth\n ? scrollBarOptions.modalStyle.horizontalScrollBarWidth\n : tableNotPinedBoundingRect?.width,\n 'margin-top.px': scrollBarOptions?.modalStyle\n ?.horizontalScrollBarMarginTop\n ? scrollBarOptions.modalStyle.horizontalScrollBarMarginTop\n : -15,\n }\"\n [ngClass]=\"{\n 'modal-horizontal-scroll-bar':\n scrollBarOptions?.modalStyle?.modalScrollClassActive,\n }\"\n *ngIf=\"showScrollbar && scrollBarOptions.showHorizontalScrollBar\"\n >\n <div\n class=\"horizontal-bar\"\n #bar\n [ngStyle]=\"{\n 'width.px': scrollBarOptions?.modalStyle?.additionalWidth\n ? tableScrollWidth +\n scrollBarOptions.modalStyle.additionalWidth\n : tableScrollWidth,\n }\"\n [ngClass]=\"{\n 'horizontal-bar-sticky': scrollBarOptions.dataLength >= 23,\n }\"\n (mousedown)=\"setDraggingStart($event)\"\n (mouseup)=\"isMouseDown = false\"\n ></div>\n </div>\n</div>\n", styles: [".custom-scrollbar-holder{position:relative;transition:height .25s ease-in-out;scrollbar-width:none!important;-ms-overflow-style:none!important}.custom-scrollbar-holder::-webkit-scrollbar{display:none!important}.custom-scrollbar-holder ::-webkit-scrollbar-thumb,.custom-scrollbar-holder ::-webkit-scrollbar{width:1px!important;display:none!important}.custom-scrollbar-holder .overflow-unset{overflow-y:unset!important;overflow-x:unset!important}.custom-scrollbar-holder .right-bar-scroll{height:100%;position:fixed;right:0;top:0;-webkit-user-select:none;user-select:none}.custom-scrollbar-holder .right-bar-scroll .right-bar{position:absolute;right:3px;width:6px;min-height:30px;border-radius:1px;background-color:#aaa}.custom-scrollbar-holder .right-bar-scroll .right-bar:hover{background:#0000008c}.custom-scrollbar-holder .modal-horizontal-scroll-bar{height:6px;background:#eee;border-radius:2px}.custom-scrollbar-holder .horizontal-scroll-bar{width:100%;position:absolute;left:0;-webkit-user-select:none;user-select:none}.custom-scrollbar-holder .horizontal-scroll-bar .horizontal-bar{width:6px;position:relative!important;height:6px;min-width:30px;border-radius:1px;background-color:#aaa}.custom-scrollbar-holder .horizontal-scroll-bar .horizontal-bar:hover{background:#0000008c}.custom-scrollbar-holder .horizontal-scroll-bar .horizontal-bar-sticky{position:fixed;bottom:calc(0% + 14px)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: ObserversModule }, { kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }] }); }
191
+ }
192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaCustomScrollbarComponent, decorators: [{
193
+ type: Component,
194
+ args: [{ selector: 'app-ca-custom-scrollbar', standalone: true, imports: [FormsModule, CommonModule, ObserversModule], template: "<div\n class=\"custom-scrollbar-holder\"\n #contentHolder\n (cdkObserveContent)=\"projectContentChanged($event)\"\n [class.activeToolbar]=\"showScrollbar\"\n [ngStyle]=\"{\n height: scrollBarOptions.showHorizontalScrollBar\n ? horizontalScrollHeight + 'px'\n : 100 + 'vh',\n 'overflow-y': scrollBarOptions.showHorizontalScrollBar\n ? 'visible'\n : 'auto',\n }\"\n>\n <ng-content></ng-content>\n <!-- Vertical Scroll Bar -->\n <div\n class=\"right-bar-scroll\"\n *ngIf=\"showScrollbar && scrollBarOptions.showVerticalScrollBar\"\n >\n <div\n class=\"right-bar\"\n #bar\n [ngStyle]=\"{ height: scrollHeight + 'px' }\"\n (mousedown)=\"setDraggingStart($event)\"\n (mouseup)=\"isMouseDown = false\"\n ></div>\n </div>\n\n <!-- Horizontal Scroll Bar -->\n <div\n class=\"horizontal-scroll-bar\"\n [ngStyle]=\"{\n 'left.px':\n scrollBarOptions?.modalStyle?.horizontalScrollBarLeft === 0 ||\n scrollBarOptions?.modalStyle?.horizontalScrollBarLeft\n ? scrollBarOptions.modalStyle.horizontalScrollBarLeft\n : tableNotPinedBoundingRect?.left - 74,\n 'width.px': scrollBarOptions?.modalStyle?.horizontalScrollBarWidth\n ? scrollBarOptions.modalStyle.horizontalScrollBarWidth\n : tableNotPinedBoundingRect?.width,\n 'margin-top.px': scrollBarOptions?.modalStyle\n ?.horizontalScrollBarMarginTop\n ? scrollBarOptions.modalStyle.horizontalScrollBarMarginTop\n : -15,\n }\"\n [ngClass]=\"{\n 'modal-horizontal-scroll-bar':\n scrollBarOptions?.modalStyle?.modalScrollClassActive,\n }\"\n *ngIf=\"showScrollbar && scrollBarOptions.showHorizontalScrollBar\"\n >\n <div\n class=\"horizontal-bar\"\n #bar\n [ngStyle]=\"{\n 'width.px': scrollBarOptions?.modalStyle?.additionalWidth\n ? tableScrollWidth +\n scrollBarOptions.modalStyle.additionalWidth\n : tableScrollWidth,\n }\"\n [ngClass]=\"{\n 'horizontal-bar-sticky': scrollBarOptions.dataLength >= 23,\n }\"\n (mousedown)=\"setDraggingStart($event)\"\n (mouseup)=\"isMouseDown = false\"\n ></div>\n </div>\n</div>\n", styles: [".custom-scrollbar-holder{position:relative;transition:height .25s ease-in-out;scrollbar-width:none!important;-ms-overflow-style:none!important}.custom-scrollbar-holder::-webkit-scrollbar{display:none!important}.custom-scrollbar-holder ::-webkit-scrollbar-thumb,.custom-scrollbar-holder ::-webkit-scrollbar{width:1px!important;display:none!important}.custom-scrollbar-holder .overflow-unset{overflow-y:unset!important;overflow-x:unset!important}.custom-scrollbar-holder .right-bar-scroll{height:100%;position:fixed;right:0;top:0;-webkit-user-select:none;user-select:none}.custom-scrollbar-holder .right-bar-scroll .right-bar{position:absolute;right:3px;width:6px;min-height:30px;border-radius:1px;background-color:#aaa}.custom-scrollbar-holder .right-bar-scroll .right-bar:hover{background:#0000008c}.custom-scrollbar-holder .modal-horizontal-scroll-bar{height:6px;background:#eee;border-radius:2px}.custom-scrollbar-holder .horizontal-scroll-bar{width:100%;position:absolute;left:0;-webkit-user-select:none;user-select:none}.custom-scrollbar-holder .horizontal-scroll-bar .horizontal-bar{width:6px;position:relative!important;height:6px;min-width:30px;border-radius:1px;background-color:#aaa}.custom-scrollbar-holder .horizontal-scroll-bar .horizontal-bar:hover{background:#0000008c}.custom-scrollbar-holder .horizontal-scroll-bar .horizontal-bar-sticky{position:fixed;bottom:calc(0% + 14px)}\n"] }]
195
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { bar: [{
196
+ type: ViewChild,
197
+ args: ['bar', { static: false }]
198
+ }], scrollEvent: [{
199
+ type: Output
200
+ }], scrollBarOptions: [{
201
+ type: Input
202
+ }], horizontalScrollHeight: [{
203
+ type: Input
204
+ }] } });
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtY3VzdG9tLXNjcm9sbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1jdXN0b20tc2Nyb2xsYmFyL2NhLWN1c3RvbS1zY3JvbGxiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtY3VzdG9tLXNjcm9sbGJhci9jYS1jdXN0b20tc2Nyb2xsYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFTL0IsTUFBTSxPQUFPLDBCQUEwQjtJQTZCbkMsWUFDWSxNQUFjLEVBQ2QsS0FBaUIsRUFDakIsSUFBdUI7UUFGdkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUE1QnpCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJOUQsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQUN4QixvQkFBZSxHQUFXLENBQUMs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RUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDO29JQU9SLEdBQUc7c0JBQS9DLFNBQVM7dUJBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDekIsV0FBVztzQkFBcEIsTUFBTTtnQkFDRSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2ZXJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtY2EtY3VzdG9tLXNjcm9sbGJhcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSwgT2JzZXJ2ZXJzTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2EtY3VzdG9tLXNjcm9sbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2NhLWN1c3RvbS1zY3JvbGxiYXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBDYUN1c3RvbVNjcm9sbGJhckNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAgIEBWaWV3Q2hpbGQoJ2JhcicsIHsgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIGJhciE6IEVsZW1lbnRSZWY7XG4gICAgQE91dHB1dCgpIHNjcm9sbEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBASW5wdXQoKSBzY3JvbGxCYXJPcHRpb25zOiBhbnk7XG4gICAgQElucHV0KCkgaG9yaXpvbnRhbFNjcm9sbEhlaWdodCE6IG51bWJlcjtcblxuICAgIHNjcm9sbFRvcDogbnVtYmVyID0gNTtcbiAgICBzaG93U2Nyb2xsYmFyOiBib29sZWFuID0gZmFsc2U7XG4gICAgc2Nyb2xsSGVpZ2h0OiBudW1iZXIgPSAwO1xuICAgIHNjcm9sbFJhdGlvOiBudW1iZXIgPSAwO1xuICAgIHNjcm9sbFJhdGlvRnVsbDogbnVtYmVyID0gMDtcblxuICAgIGlzTW91c2VEb3duOiBib29sZWFuID0gZmFsc2U7XG4gICAgYmFyQ2xpY2tQb3NpdGlvbjogbnVtYmVyID0gMDtcbiAgICBiYXJDbGlja1Jlc3RIZWlnaHQ6IG51bWJlciA9IDA7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgY2FsY3VsYXRlU2l6ZUhlaWdodFRpbWVyOiBhbnk7XG5cbiAgICAvLyBUYWJsZSBIb3Jpem9udGFsIFNjcm9sbFxuICAgIHRhYmxlTm90UGluZWRDb250YWluZXI6IGFueTtcbiAgICB0YWJsZU5vdFBpbmVkQm91bmRpbmdSZWN0OiBhbnk7XG4gICAgdGFibGVCYXJDbGlja1Bvc2l0aW9uOiBudW1iZXIgPSAwO1xuICAgIHRhYmxlQmFyQ2xpY2tSZXN0V2lkdGg6IG51bWJlciA9IDA7XG4gICAgdGFibGVTY3JvbGxSYXRpbzogbnVtYmVyID0gMDtcbiAgICB0YWJsZVNjcm9sbFJhdGlvRnVsbDogbnVtYmVyID0gMDtcbiAgICB0YWJsZVNjcm9sbFdpZHRoOiBudW1iZXIgPSAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgY2huZzogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMub25Nb3VzZVVwSGFuZGxlcik7XG5cbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25Nb3VzZU1vdmVIYW5kbGVyKTtcblxuICAgICAgICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICAgICAgJ3Njcm9sbCcsXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTY3JvbGxFdmVudFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMub25SZXNpemVIYW5kbGVyKTtcblxuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVCYXJTaXplQW5kUG9zaXRpb24oXG4gICAgICAgICAgICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFjaGFuZ2VzPy5bJ2hvcml6b250YWxTY3JvbGxIZWlnaHQnXT8uZmlyc3RDaGFuZ2UgJiZcbiAgICAgICAgICAgIGNoYW5nZXM/LlsnaG9yaXpvbnRhbFNjcm9sbEhlaWdodCddXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsSGVpZ2h0ID1cbiAgICAgICAgICAgICAgICBjaGFuZ2VzWydob3Jpem9udGFsU2Nyb2xsSGVpZ2h0J10uY3VycmVudFZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWNoYW5nZXM/Llsnc2Nyb2xsQmFyT3B0aW9ucyddPy5maXJzdENoYW5nZSAmJlxuICAgICAgICAgICAgY2hhbmdlcz8uWydzY3JvbGxCYXJPcHRpb25zJ11cbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEJhck9wdGlvbnMgPSBjaGFuZ2VzWydzY3JvbGxCYXJPcHRpb25zJ10uY3VycmVudFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBUYWJsZSBTY3JvbGxcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsQmFyT3B0aW9ucy5zaG93SG9yaXpvbnRhbFNjcm9sbEJhcikge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZU5vdFBpbmVkQ29udGFpbmVyID1cbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm5vdC1waW5lZC1jb2x1bW5zJyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlTm90UGluZWRCb3VuZGluZ1JlY3QgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlTm90UGluZWRDb250YWluZXI/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMudGFibGVOb3RQaW5lZENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRTY3JvbGxFdmVudCA9IChlOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTW91c2VEb3duKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUJhclNpemVBbmRQb3NpdGlvbihcbiAgICAgICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgc2V0RHJhZ2dpbmdTdGFydChlOiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5iYXIubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIGNvbnN0IG1hdHJpeCA9IG5ldyBET01NYXRyaXhSZWFkT25seShzdHlsZS50cmFuc2Zvcm0pO1xuXG4gICAgICAgIHRoaXMuYmFyQ2xpY2tQb3NpdGlvbiA9IGUuY2xpZW50WSAtIG1hdHJpeC5tNDI7XG4gICAgICAgIHRoaXMuYmFyQ2xpY2tSZXN0SGVpZ2h0ID0gdGhpcy5zY3JvbGxIZWlnaHQgLSB0aGlzLmJhckNsaWNrUG9zaXRpb247XG4gICAgICAgIHRoaXMuaXNNb3VzZURvd24gPSB0cnVlO1xuXG4gICAgICAgIC8vIFRhYmxlIFNjcm9sbFxuICAgICAgICB0aGlzLnRhYmxlQmFyQ2xpY2tQb3NpdGlvbiA9IGUuY2xpZW50WCAtIG1hdHJpeC5tNDE7XG4gICAgICAgIHRoaXMudGFibGVCYXJDbGlja1Jlc3RXaWR0aCA9XG4gICAgICAgICAgICB0aGlzLnRhYmxlU2Nyb2xsV2lkdGggLSB0aGlzLnRhYmxlQmFyQ2xpY2tQb3NpdGlvbjtcbiAgICB9XG5cbiAgICBjYWxjdWxhdGVCYXJTaXplQW5kUG9zaXRpb24oZWxlbTogYW55LCBwYWdlSGVpZ2h0PzogbnVtYmVyKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgLy8gVGFibGUgU2Nyb2xsXG4gICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxCYXJPcHRpb25zLnNob3dIb3Jpem9udGFsU2Nyb2xsQmFyKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsV3JhcHBlciA9XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ub3QtcGluZWQtY29sdW1ucycpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZU5vdFBpbmVkQm91bmRpbmdSZWN0ID1cbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsV3JhcHBlcj8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgICAgICAgICAgICAgICAgID8gc2Nyb2xsV3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdGFibGVGdWxsV2lkdGggPSBzY3JvbGxXcmFwcGVyPy5zY3JvbGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICA/IHNjcm9sbFdyYXBwZXIuc2Nyb2xsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgOiAwO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdGFibGVWaXNpYmxlV2lkdGggPSBzY3JvbGxXcmFwcGVyPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICAgICAgICAgICAgICAud2lkdGhcbiAgICAgICAgICAgICAgICAgICAgPyBNYXRoLmNlaWwoc2Nyb2xsV3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aClcbiAgICAgICAgICAgICAgICAgICAgOiAwO1xuXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVNjcm9sbFJhdGlvID0gdGFibGVWaXNpYmxlV2lkdGggLyB0YWJsZUZ1bGxXaWR0aDtcblxuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTY3JvbGxSYXRpb0Z1bGwgPSB0YWJsZUZ1bGxXaWR0aCAvIHRhYmxlVmlzaWJsZVdpZHRoO1xuXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVNjcm9sbFdpZHRoID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZVNjcm9sbFJhdGlvICogdGFibGVWaXNpYmxlV2lkdGg7XG5cbiAgICAgICAgICAgICAgICBpZiAodGFibGVGdWxsV2lkdGggPD0gdGFibGVWaXNpYmxlV2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93U2Nyb2xsYmFyID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaG5nLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTY3JvbGxiYXIgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNobmcuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50QWN0aW9uOiAnaXNTY3JvbGxTaG93aW5nJyxcbiAgICAgICAgICAgICAgICAgICAgaXNTY3JvbGxCYXJTaG93aW5nOiB0aGlzLnNob3dTY3JvbGxiYXIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBSZWd1bGFyIFNjcm9sbFxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudF9oZWlnaHQgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0uc2Nyb2xsSGVpZ2h0IC0gMTtcbiAgICAgICAgICAgICAgICBjb25zdCB2aXNpYmxlX2hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcblxuICAgICAgICAgICAgICAgIGlmIChjb250ZW50X2hlaWdodCA8PSB2aXNpYmxlX2hlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTY3JvbGxiYXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaG5nLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1Njcm9sbGJhciA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2huZy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxSYXRpbyA9IHZpc2libGVfaGVpZ2h0IC8gY29udGVudF9oZWlnaHQ7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxSYXRpb0Z1bGwgPSBjb250ZW50X2hlaWdodCAvIHZpc2libGVfaGVpZ2h0O1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9wID0gZWxlbS5zY3JvbGxUb3AgKiB0aGlzLnNjcm9sbFJhdGlvO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYmFyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFyLm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVkoJHt0aGlzLnNjcm9sbFRvcH1weClgO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGVpZ2h0ID0gdGhpcy5zY3JvbGxSYXRpbyAqIHZpc2libGVfaGVpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNobmcuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LCAxMDApO1xuICAgIH1cblxuICAgIG9uTW91c2VVcEhhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNNb3VzZURvd24gPSBmYWxzZTtcbiAgICB9O1xuXG4gICAgcmVzaXplSGFuZGxlckNvdW50OiBhbnk7XG4gICAgb25SZXNpemVIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNNb3VzZURvd24pIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZUhhbmRsZXJDb3VudCk7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZUhhbmRsZXJDb3VudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQmFyU2l6ZUFuZFBvc2l0aW9uKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSwgMTUwKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBvbk1vdXNlTW92ZUhhbmRsZXIgPSAoZTogYW55KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzTW91c2VEb3duKSB7XG4gICAgICAgICAgICAvLyBSZWd1bGFyIFNjcm9sbFxuICAgICAgICAgICAgaWYgKHRoaXMuc2Nyb2xsQmFyT3B0aW9ucy5zaG93VmVydGljYWxTY3JvbGxCYXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXRCYXIgPSBlLmNsaWVudFkgLSB0aGlzLmJhckNsaWNrUG9zaXRpb247XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXRCYXIgPiAtMSAmJlxuICAgICAgICAgICAgICAgICAgICBlLmNsaWVudFkgKyB0aGlzLmJhckNsaWNrUmVzdEhlaWdodCA8IHdpbmRvdy5pbm5lckhlaWdodFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhci5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7b2Zmc2V0QmFyfXB4KWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXS5zY3JvbGxUb3AgPVxuICAgICAgICAgICAgICAgICAgICAoZS5jbGllbnRZIC0gdGhpcy5iYXJDbGlja1Bvc2l0aW9uKSAqIHRoaXMuc2Nyb2xsUmF0aW9GdWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVGFibGUgU2Nyb2xsXG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgb2Zmc2V0QmFyID0gZS5jbGllbnRYIC0gdGhpcy50YWJsZUJhckNsaWNrUG9zaXRpb247XG4gICAgICAgICAgICAgICAgY29uc3QgbWF4V2lkdGggPSB0aGlzLnRhYmxlTm90UGluZWRCb3VuZGluZ1JlY3Qud2lkdGg7XG5cbiAgICAgICAgICAgICAgICBvZmZzZXRCYXIgPSBvZmZzZXRCYXIgPCAwID8gMCA6IG9mZnNldEJhcjtcbiAgICAgICAgICAgICAgICBvZmZzZXRCYXIgPVxuICAgICAgICAgICAgICAgICAgICBlLmNsaWVudFggKyB0aGlzLnRhYmxlQmFyQ2xpY2tSZXN0V2lkdGggPiBtYXhXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBtYXhXaWR0aCAtIHRoaXMudGFibGVTY3JvbGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBvZmZzZXRCYXI7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmJhci5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVYKCR7b2Zmc2V0QmFyfXB4KWA7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbEV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICBldmVudEFjdGlvbjogJ3Njcm9sbGluZycsXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbFBvc2l0aW9uOiBvZmZzZXRCYXIgKiB0aGlzLnRhYmxlU2Nyb2xsUmF0aW9GdWxsLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5vbk1vdXNlVXBIYW5kbGVyKTtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZUhhbmRsZXIpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vblJlc2l6ZUhhbmRsZXIpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByb2plY3RDb250ZW50Q2hhbmdlZChlOiBhbnkpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2FsY3VsYXRlU2l6ZUhlaWdodFRpbWVyKTtcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVTaXplSGVpZ2h0VGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQmFyU2l6ZUFuZFBvc2l0aW9uKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSwgMTAwKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJjdXN0b20tc2Nyb2xsYmFyLWhvbGRlclwiXG4gICAgI2NvbnRlbnRIb2xkZXJcbiAgICAoY2RrT2JzZXJ2ZUNvbnRlbnQpPVwicHJvamVjdENvbnRlbnRDaGFuZ2VkKCRldmVudClcIlxuICAgIFtjbGFzcy5hY3RpdmVUb29sYmFyXT1cInNob3dTY3JvbGxiYXJcIlxuICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgaGVpZ2h0OiBzY3JvbGxCYXJPcHRpb25zLnNob3dIb3Jpem9udGFsU2Nyb2xsQmFyXG4gICAgICAgICAgICA/IGhvcml6b250YWxTY3JvbGxIZWlnaHQgKyAncHgnXG4gICAgICAgICAgICA6IDEwMCArICd2aCcsXG4gICAgICAgICdvdmVyZmxvdy15Jzogc2Nyb2xsQmFyT3B0aW9ucy5zaG93SG9yaXpvbnRhbFNjcm9sbEJhclxuICAgICAgICAgICAgPyAndmlzaWJsZSdcbiAgICAgICAgICAgIDogJ2F1dG8nLFxuICAgIH1cIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8IS0tIFZlcnRpY2FsIFNjcm9sbCBCYXIgLS0+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cInJpZ2h0LWJhci1zY3JvbGxcIlxuICAgICAgICAqbmdJZj1cInNob3dTY3JvbGxiYXIgJiYgc2Nyb2xsQmFyT3B0aW9ucy5zaG93VmVydGljYWxTY3JvbGxCYXJcIlxuICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJyaWdodC1iYXJcIlxuICAgICAgICAgICAgI2JhclxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyBoZWlnaHQ6IHNjcm9sbEhlaWdodCArICdweCcgfVwiXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInNldERyYWdnaW5nU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAobW91c2V1cCk9XCJpc01vdXNlRG93biA9IGZhbHNlXCJcbiAgICAgICAgPjwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBIb3Jpem9udGFsIFNjcm9sbCBCYXIgLS0+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImhvcml6b250YWwtc2Nyb2xsLWJhclwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICdsZWZ0LnB4JzpcbiAgICAgICAgICAgICAgICBzY3JvbGxCYXJPcHRpb25zPy5tb2RhbFN0eWxlPy5ob3Jpem9udGFsU2Nyb2xsQmFyTGVmdCA9PT0gMCB8fFxuICAgICAgICAgICAgICAgIHNjcm9sbEJhck9wdGlvbnM/Lm1vZGFsU3R5bGU/Lmhvcml6b250YWxTY3JvbGxCYXJMZWZ0XG4gICAgICAgICAgICAgICAgICAgID8gc2Nyb2xsQmFyT3B0aW9ucy5tb2RhbFN0eWxlLmhvcml6b250YWxTY3JvbGxCYXJMZWZ0XG4gICAgICAgICAgICAgICAgICAgIDogdGFibGVOb3RQaW5lZEJvdW5kaW5nUmVjdD8ubGVmdCAtIDc0LFxuICAgICAgICAgICAgJ3dpZHRoLnB4Jzogc2Nyb2xsQmFyT3B0aW9ucz8ubW9kYWxTdHlsZT8uaG9yaXpvbnRhbFNjcm9sbEJhcldpZHRoXG4gICAgICAgICAgICAgICAgPyBzY3JvbGxCYXJPcHRpb25zLm1vZGFsU3R5bGUuaG9yaXpvbnRhbFNjcm9sbEJhcldpZHRoXG4gICAgICAgICAgICAgICAgOiB0YWJsZU5vdFBpbmVkQm91bmRpbmdSZWN0Py53aWR0aCxcbiAgICAgICAgICAgICdtYXJnaW4tdG9wLnB4Jzogc2Nyb2xsQmFyT3B0aW9ucz8ubW9kYWxTdHlsZVxuICAgICAgICAgICAgICAgID8uaG9yaXpvbnRhbFNjcm9sbEJhck1hcmdpblRvcFxuICAgICAgICAgICAgICAgID8gc2Nyb2xsQmFyT3B0aW9ucy5tb2RhbFN0eWxlLmhvcml6b250YWxTY3JvbGxCYXJNYXJnaW5Ub3BcbiAgICAgICAgICAgICAgICA6IC0xNSxcbiAgICAgICAgfVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdtb2RhbC1ob3Jpem9udGFsLXNjcm9sbC1iYXInOlxuICAgICAgICAgICAgICAgIHNjcm9sbEJhck9wdGlvbnM/Lm1vZGFsU3R5bGU/Lm1vZGFsU2Nyb2xsQ2xhc3NBY3RpdmUsXG4gICAgICAgIH1cIlxuICAgICAgICAqbmdJZj1cInNob3dTY3JvbGxiYXIgJiYgc2Nyb2xsQmFyT3B0aW9ucy5zaG93SG9yaXpvbnRhbFNjcm9sbEJhclwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImhvcml6b250YWwtYmFyXCJcbiAgICAgICAgICAgICNiYXJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAnd2lkdGgucHgnOiBzY3JvbGxCYXJPcHRpb25zPy5tb2RhbFN0eWxlPy5hZGRpdGlvbmFsV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgPyB0YWJsZVNjcm9sbFdpZHRoICtcbiAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxCYXJPcHRpb25zLm1vZGFsU3R5bGUuYWRkaXRpb25hbFdpZHRoXG4gICAgICAgICAgICAgICAgICAgIDogdGFibGVTY3JvbGxXaWR0aCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICdob3Jpem9udGFsLWJhci1zdGlja3knOiBzY3JvbGxCYXJPcHRpb25zLmRhdGFMZW5ndGggPj0gMjMsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic2V0RHJhZ2dpbmdTdGFydCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChtb3VzZXVwKT1cImlzTW91c2VEb3duID0gZmFsc2VcIlxuICAgICAgICA+PC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -63,6 +63,7 @@ export class CaDropdownMenuComponent {
63
63
  }
64
64
  }
65
65
  handleDropdownOpenCloseClick(dropdownPopover) {
66
+ this.activeInnerDropdownOptionIndex = -1;
66
67
  if (dropdownPopover.isOpen()) {
67
68
  dropdownPopover.close();
68
69
  this.dropdownPopover = null;
@@ -115,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
115
116
  }], dropdownOptionEmitter: [{
116
117
  type: Output
117
118
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1kcm9wZG93bi1tZW51L2NhLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZHJvcGRvd24tbWVudS9jYS1kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRTNGLFFBQVE7QUFDUixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFakQsYUFBYTtBQUNiLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNELFFBQVE7QUFDUixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7QUEwQnpGLE1BQU0sT0FBTyx1QkFBdUI7SUFtQmhDO1FBbEJTLFNBQUksR0FBcUIsc0JBQXNCLENBQUMsY0FBYyxDQUFDO1FBQy9ELFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBQ2pDLGNBQVMsR0FBVyxzQkFBc0IsQ0FBQyxTQUFTLENBQUM7UUFDckQscUJB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O2dCQUNiLHVCQUF1QjtnQkFFdkIsUUFBUTtnQkFDUiw4QkFBOEI7OzRGQUd6Qix1QkFBdUI7a0JBbEJuQyxTQUFTOytCQUNJLGtCQUFrQixjQUdoQixJQUFJLFdBQ1A7d0JBQ0wsVUFBVTt3QkFDVixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsU0FBUzt3QkFFVCxhQUFhO3dCQUNiLHVCQUF1Qjt3QkFFdkIsUUFBUTt3QkFDUiw4QkFBOEI7cUJBQ2pDO3dEQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFFSSxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLy8gbW9kdWxlc1xuaW1wb3J0IHsgTmdiTW9kdWxlLCBOZ2JQb3BvdmVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHsgRHJvcGRvd25NZW51U3RyaW5nRW51bSB9IGZyb20gJy4vZW51bXMnO1xuXG4vLyBzdmcgcm91dGVzXG5pbXBvcnQgeyBEcm9wZG93bk1lbnVTdmdSb3V0ZXMgfSBmcm9tICcuL3V0aWxzL3N2Zy1yb3V0ZXMnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgRHJvcGRvd25NZW51UGxhY2VtZW50Q2xhc3NQaXBlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jYS1kcm9wZG93bi1tZW51L3BpcGVzJztcblxuLy8gdHlwZXNcbmltcG9ydCB7IERyb3Bkb3duTWVudVR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBEcm9wZG93bk1lbnVJdGVtLCBEcm9wZG93bk9wdGlvbkVtaXQgfSBmcm9tICcuL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2EtZHJvcGRvd24tbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgLy8gbW9kdWxlc1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBOZ2JNb2R1bGUsXG5cbiAgICAgICAgLy8gY29tcG9uZW50c1xuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcblxuICAgICAgICAvLyBwaXBlc1xuICAgICAgICBEcm9wZG93bk1lbnVQbGFjZW1lbnRDbGFzc1BpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FEcm9wZG93bk1lbnVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHR5cGU6IERyb3Bkb3duTWVudVR5cGUgPSBEcm9wZG93bk1lbnVTdHJpbmdFbnVtLkRPVFNfTUVOVV9UWVBFO1xuICAgIEBJbnB1dCgpIG9wdGlvbnM6IERyb3Bkb3duTWVudUl0ZW1bXSA9IFtdO1xuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogc3RyaW5nID0gRHJvcGRvd25NZW51U3RyaW5nRW51bS5SSUdIVF9UT1A7XG4gICAgQElucHV0KCkgaXNEYXJrQmFja2dyb3VuZD86IGJvb2xlYW4gPSBmYWxzZTsgLy8gZHJvcGRvd24gbWVudSBvbiBkYXJrIGJhY2tncm91bmRcbiAgICBASW5wdXQoKSBpc0xlZnRTaWRlSWNvblBvc2l0aW9uPzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGlzUG9zaXRpb25UcmFuc2xhdGVVbnNldD86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBkcm9wZG93bk9wdGlvbkVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxEcm9wZG93bk9wdGlvbkVtaXQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxEcm9wZG93bk9wdGlvbkVtaXQ+KCk7XG5cbiAgICBwdWJsaWMgZHJvcGRvd25NZW51U3ZnUm91dGVzID0gRHJvcGRvd25NZW51U3ZnUm91dGVzO1xuICAgIHB1YmxpYyBkcm9wZG93bk1lbnVTdHJpbmdFbnVtID0gRHJvcGRvd25NZW51U3RyaW5nRW51bTtcblxuICAgIHB1YmxpYyBkcm9wZG93blBvcG92ZXI6IE5nYlBvcG92ZXIgfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBhY3RpdmVJbm5lckRyb3Bkb3duT3B0aW9uSW5kZXg6IG51bWJlciA9IC0xO1xuICAgIHB1YmxpYyBpc1NlbGVjdE1lbnVUeXBlQWN0aW9uSXRlbVNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBwdWJsaWMgZ2V0IGlzRHJvcGRvd25NZW51QWN0aXZlKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93blBvcG92ZXI/LmlzT3BlbigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVEcm9wZG93bk9wdGlvbkNsaWNrKFxuICAgICAgICBvcHRpb246IERyb3Bkb3duTWVudUl0ZW0sXG4gICAgICAgIG9wdGlvbkluZGV4OiBudW1iZXIgPSAtMVxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGlkLCB0eXBlLCBpbm5lckRyb3Bkb3duQ29udGVudCwgaXNTZWxlY3RNZW51VHlwZUFjdGlvbkl0ZW0gfSA9XG4gICAgICAgICAgICBvcHRpb247XG5cbiAgICAgICAgLy8gaW5uZXIgZHJvcGRvd24gb3B0aW9uIGNsaWNrXG4gICAgICAgIGlmICghIWlubmVyRHJvcGRvd25Db250ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUlubmVyRHJvcGRvd25PcHRpb25JbmRleCA9XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVJbm5lckRyb3Bkb3duT3B0aW9uSW5kZXggPT09IG9wdGlvbkluZGV4XG4gICAgICAgICAgICAgICAgICAgID8gLTFcbiAgICAgICAgICAgICAgICAgICAgOiBvcHRpb25JbmRleDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2VsZWN0IGRyb3Bkb3duIGFjdGlvbiBvcHRpb24gY2xpY2tcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy50eXBlID09PSBEcm9wZG93bk1lbnVTdHJpbmdFbnVtLlNFTEVDVF9NRU5VX1RZUEUgJiZcbiAgICAgICAgICAgIGlzU2VsZWN0TWVudVR5cGVBY3Rpb25JdGVtXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5pc1NlbGVjdE1lbnVUeXBlQWN0aW9uSXRlbVNlbGVjdGVkID1cbiAgICAgICAgICAgICAgICAhdGhpcy5pc1NlbGVjdE1lbnVUeXBlQWN0aW9uSXRlbVNlbGVjdGVkO1xuXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duT3B0aW9uRW1pdHRlci5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgIGlzQWN0aXZlOiB0aGlzLmlzU2VsZWN0TWVudVR5cGVBY3Rpb25JdGVtU2VsZWN0ZWQsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gcmVndWxhciBkcm9wZG93biBvcHRpb24gY2xpY2sgLSBlbWl0IGlkIGlmIHR5cGUgaXMgbm90IHByZXNlbnQgKHNlbGVjdCBtZW51IHNpbXBsZSBpdGVtcylcbiAgICAgICAgdGhpcy5kcm9wZG93bk9wdGlvbkVtaXR0ZXIuZW1pdCh0eXBlID8geyB0eXBlIH0gOiB7IGlkIH0pO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMudHlwZSAhPT0gRHJvcGRvd25NZW51U3RyaW5nRW51bS5TRUxFQ1RfTUVOVV9UWVBFIHx8XG4gICAgICAgICAgICAhaXNTZWxlY3RNZW51VHlwZUFjdGlvbkl0ZW1cbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUlubmVyRHJvcGRvd25PcHRpb25JbmRleCA9IC0xO1xuXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3Zlcj8uY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVEcm9wZG93bk9wZW5DbG9zZUNsaWNrKGRyb3Bkb3duUG9wb3ZlcjogTmdiUG9wb3Zlcik6IHZvaWQge1xuICAgICAgICBpZiAoZHJvcGRvd25Qb3BvdmVyLmlzT3BlbigpKSB7XG4gICAgICAgICAgICBkcm9wZG93blBvcG92ZXIuY2xvc2UoKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXIgPSBudWxsO1xuXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duT3B0aW9uRW1pdHRlci5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiBEcm9wZG93bk1lbnVTdHJpbmdFbnVtLkNMT1NFLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3Zlcj8uY2xvc2UoKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXIgPSBkcm9wZG93blBvcG92ZXI7XG5cbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Qb3BvdmVyLm9wZW4oKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bk9wdGlvbkVtaXR0ZXIuZW1pdCh7XG4gICAgICAgICAgICAgICAgdHlwZTogRHJvcGRvd25NZW51U3RyaW5nRW51bS5PUEVOLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJkLWlubGluZS1ibG9jayBkcm9wZG93bi1tZW51LWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIHR5cGUgfCBkcm9wZG93bk1lbnVQbGFjZW1lbnRDbGFzczogaXNQb3NpdGlvblRyYW5zbGF0ZVVuc2V0ISA6IHBsYWNlbWVudFxuICAgIFwiXG4+XG4gICAgPCEtLSBJY29uIC0tPlxuXG4gICAgPGRpdlxuICAgICAgICBuZ2JUb29sdGlwXG4gICAgICAgIFttYWluQ2FUb29sdGlwXT1cIidNb3JlJ1wiXG4gICAgICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgW3Bvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGRyb3Bkb3duLWljb24tY29udGFpbmVyXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGRyb3Bkb3duUG9wb3Zlci5pc09wZW4oKSxcbiAgICAgICAgICAgICAgICAnZGFyay1iYWNrZ3JvdW5kJzogaXNEYXJrQmFja2dyb3VuZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgI2Ryb3Bkb3duUG9wb3Zlcj1cIm5nYlBvcG92ZXJcIlxuICAgICAgICAgICAgdHJpZ2dlcnM9XCInbWFudWFsJ1wiXG4gICAgICAgICAgICBbbmdiUG9wb3Zlcl09XCJkcm9wZG93bk9wdGlvbnNcIlxuICAgICAgICAgICAgW2F1dG9DbG9zZV09XCInb3V0c2lkZSdcIlxuICAgICAgICAgICAgW3BsYWNlbWVudF09XCJwbGFjZW1lbnRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZURyb3Bkb3duT3BlbkNsb3NlQ2xpY2soZHJvcGRvd25Qb3BvdmVyKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9PT0gZHJvcGRvd25NZW51U3RyaW5nRW51bS5ET1RTX01FTlVfVFlQRVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuZG90c0Ryb3Bkb3duSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgOiBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuaGFtYnVyZ2VyRHJvcGRvd25JY29uXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbc3ZnU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAnd2lkdGgucHgnOiAxOCxcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodC5weCc6IDE4LFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBEcm9wZG93biAtLT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25PcHRpb25zPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGRyb3Bkb3duLWNvbnRhaW5lclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBvcHRpb25zO1xuICAgICAgICAgICAgICAgIGxldCBvcHRpb25JbmRleCA9ICRpbmRleCxcbiAgICAgICAgICAgICAgICBsYXN0ID0gJGxhc3Q7XG4gICAgICAgICAgICAgICAgdHJhY2sgb3B0aW9uSW5kZXhcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZHJvcGRvd24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdoYXMtYm9yZGVyJzogb3B0aW9uPy5oYXNCb3JkZXIgJiYgIWxhc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogb3B0aW9uPy5pc0Rpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tbGVmdCc6IGlzTGVmdFNpZGVJY29uUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbm5lci1kcm9wZG93bi1pdGVtJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISFvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSW5kZXggPT09IGFjdGl2ZUlubmVyRHJvcGRvd25PcHRpb25JbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uPy5oYXNCb3JkZXIgfHwgbGFzdCA/IDAgOiAnNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHctMTAwIGRyb3Bkb3duLWl0ZW0tb3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNMZWZ0U2lkZUljb25Qb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duT3B0aW9uQ2xpY2sob3B0aW9uLCBvcHRpb25JbmRleClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS0wIHRleHQtc2l6ZS0xNCB0ZXh0LWNvbG9yLXdoaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhLWZvbnQtYm9sZCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSW5kZXggPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSW5uZXJEcm9wZG93bk9wdGlvbkluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwib3B0aW9uPy50aXRsZU9wdGlvbmFsQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uPy50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbj8uc3ZnVXJsIHx8IG9wdGlvbj8uaW5uZXJEcm9wZG93bkNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0tb3B0aW9uLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwib3B0aW9uPy5zdmdDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbj8uc3ZnVXJsIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbj8uaW5uZXJEcm9wZG93bkNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuc2hvd01vcmVJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N2Z1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgucHgnOiAxOCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0LnB4JzogMTgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSW5uZXIgRHJvcGRvd24gLS0+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoISFvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBpbm5lci1kcm9wZG93bi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uZXJEcm9wZG93bk9wdGlvbiBvZiBvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlubmVyRHJvcGRvd25PcHRpb25JbmRleCA9ICRpbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrIGlubmVyRHJvcGRvd25PcHRpb25JbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDAgZHJvcGRvd24taXRlbS1vcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25PcHRpb25DbGljayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubmVyRHJvcGRvd25PcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLTAgdGV4dC1zaXplLTE0IHRleHQtY29sb3Itd2hpdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5uZXJEcm9wZG93bk9wdGlvbi50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1kcm9wZG93bi1tZW51L2NhLWRyb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtZHJvcGRvd24tbWVudS9jYS1kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRTNGLFFBQVE7QUFDUixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFakQsYUFBYTtBQUNiLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNELFFBQVE7QUFDUixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7QUEwQnpGLE1BQU0sT0FBTyx1QkFBdUI7SUFtQmhDO1FBbEJTLFNBQUksR0FBcUIsc0JBQXNCLENBQUMsY0FBYyxDQUFDO1FBQy9ELFlBQU8sR0FBdUIsRUFBRSxDQUFDO1FBQ2pDLGNBQVMsR0FBVyxzQkFBc0IsQ0FBQyxTQUFTLENBQUM7UUFDckQscUJB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Q1YsWUFBWSxpTkFDWixvQkFBb0IsZ09BQ3BCLFNBQVM7Z0JBRVQsYUFBYTtnQkFDYix1QkFBdUI7Z0JBRXZCLFFBQVE7Z0JBQ1IsOEJBQThCOzs0RkFHekIsdUJBQXVCO2tCQWxCbkMsU0FBUzsrQkFDSSxrQkFBa0IsY0FHaEIsSUFBSSxXQUNQO3dCQUNMLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLFNBQVM7d0JBRVQsYUFBYTt3QkFDYix1QkFBdUI7d0JBRXZCLFFBQVE7d0JBQ1IsOEJBQThCO3FCQUNqQzt3REFHUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBRUkscUJBQXFCO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8vIG1vZHVsZXNcbmltcG9ydCB7IE5nYk1vZHVsZSwgTmdiUG9wb3ZlciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcblxuLy8gZW51bXNcbmltcG9ydCB7IERyb3Bkb3duTWVudVN0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zJztcblxuLy8gc3ZnIHJvdXRlc1xuaW1wb3J0IHsgRHJvcGRvd25NZW51U3ZnUm91dGVzIH0gZnJvbSAnLi91dGlscy9zdmctcm91dGVzJztcblxuLy8gcGlwZXNcbmltcG9ydCB7IERyb3Bkb3duTWVudVBsYWNlbWVudENsYXNzUGlwZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY2EtZHJvcGRvd24tbWVudS9waXBlcyc7XG5cbi8vIHR5cGVzXG5pbXBvcnQgeyBEcm9wZG93bk1lbnVUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgRHJvcGRvd25NZW51SXRlbSwgRHJvcGRvd25NZW51T3B0aW9uRW1pdCB9IGZyb20gJy4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYS1kcm9wZG93bi1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2EtZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2EtZHJvcGRvd24tbWVudS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBtb2R1bGVzXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgICAgIE5nYk1vZHVsZSxcblxuICAgICAgICAvLyBjb21wb25lbnRzXG4gICAgICAgIENhQXBwVG9vbHRpcFYyQ29tcG9uZW50LFxuXG4gICAgICAgIC8vIHBpcGVzXG4gICAgICAgIERyb3Bkb3duTWVudVBsYWNlbWVudENsYXNzUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYURyb3Bkb3duTWVudUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdHlwZTogRHJvcGRvd25NZW51VHlwZSA9IERyb3Bkb3duTWVudVN0cmluZ0VudW0uRE9UU19NRU5VX1RZUEU7XG4gICAgQElucHV0KCkgb3B0aW9uczogRHJvcGRvd25NZW51SXRlbVtdID0gW107XG4gICAgQElucHV0KCkgcGxhY2VtZW50OiBzdHJpbmcgPSBEcm9wZG93bk1lbnVTdHJpbmdFbnVtLlJJR0hUX1RPUDtcbiAgICBASW5wdXQoKSBpc0RhcmtCYWNrZ3JvdW5kPzogYm9vbGVhbiA9IGZhbHNlOyAvLyBkcm9wZG93biBtZW51IG9uIGRhcmsgYmFja2dyb3VuZFxuICAgIEBJbnB1dCgpIGlzTGVmdFNpZGVJY29uUG9zaXRpb24/OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgaXNQb3NpdGlvblRyYW5zbGF0ZVVuc2V0PzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIGRyb3Bkb3duT3B0aW9uRW1pdHRlcjogRXZlbnRFbWl0dGVyPERyb3Bkb3duTWVudU9wdGlvbkVtaXQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxEcm9wZG93bk1lbnVPcHRpb25FbWl0PigpO1xuXG4gICAgcHVibGljIGRyb3Bkb3duTWVudVN2Z1JvdXRlcyA9IERyb3Bkb3duTWVudVN2Z1JvdXRlcztcbiAgICBwdWJsaWMgZHJvcGRvd25NZW51U3RyaW5nRW51bSA9IERyb3Bkb3duTWVudVN0cmluZ0VudW07XG5cbiAgICBwdWJsaWMgZHJvcGRvd25Qb3BvdmVyOiBOZ2JQb3BvdmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgYWN0aXZlSW5uZXJEcm9wZG93bk9wdGlvbkluZGV4OiBudW1iZXIgPSAtMTtcbiAgICBwdWJsaWMgaXNTZWxlY3RNZW51VHlwZUFjdGlvbkl0ZW1TZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgcHVibGljIGdldCBpc0Ryb3Bkb3duTWVudUFjdGl2ZSgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25Qb3BvdmVyPy5pc09wZW4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlRHJvcGRvd25PcHRpb25DbGljayhcbiAgICAgICAgb3B0aW9uOiBEcm9wZG93bk1lbnVJdGVtLFxuICAgICAgICBvcHRpb25JbmRleDogbnVtYmVyID0gLTFcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBpZCwgdHlwZSwgaW5uZXJEcm9wZG93bkNvbnRlbnQsIGlzU2VsZWN0TWVudVR5cGVBY3Rpb25JdGVtIH0gPVxuICAgICAgICAgICAgb3B0aW9uO1xuXG4gICAgICAgIC8vIGlubmVyIGRyb3Bkb3duIG9wdGlvbiBjbGlja1xuICAgICAgICBpZiAoISFpbm5lckRyb3Bkb3duQ29udGVudCkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVJbm5lckRyb3Bkb3duT3B0aW9uSW5kZXggPVxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSW5uZXJEcm9wZG93bk9wdGlvbkluZGV4ID09PSBvcHRpb25JbmRleFxuICAgICAgICAgICAgICAgICAgICA/IC0xXG4gICAgICAgICAgICAgICAgICAgIDogb3B0aW9uSW5kZXg7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNlbGVjdCBkcm9wZG93biBhY3Rpb24gb3B0aW9uIGNsaWNrXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gRHJvcGRvd25NZW51U3RyaW5nRW51bS5TRUxFQ1RfTUVOVV9UWVBFICYmXG4gICAgICAgICAgICBpc1NlbGVjdE1lbnVUeXBlQWN0aW9uSXRlbVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RNZW51VHlwZUFjdGlvbkl0ZW1TZWxlY3RlZCA9XG4gICAgICAgICAgICAgICAgIXRoaXMuaXNTZWxlY3RNZW51VHlwZUFjdGlvbkl0ZW1TZWxlY3RlZDtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bk9wdGlvbkVtaXR0ZXIuZW1pdCh7XG4gICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICBpc0FjdGl2ZTogdGhpcy5pc1NlbGVjdE1lbnVUeXBlQWN0aW9uSXRlbVNlbGVjdGVkLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHJlZ3VsYXIgZHJvcGRvd24gb3B0aW9uIGNsaWNrIC0gZW1pdCBpZCBpZiB0eXBlIGlzIG5vdCBwcmVzZW50IChzZWxlY3QgbWVudSBzaW1wbGUgaXRlbXMpXG4gICAgICAgIHRoaXMuZHJvcGRvd25PcHRpb25FbWl0dGVyLmVtaXQodHlwZSA/IHsgdHlwZSB9IDogeyBpZCB9KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnR5cGUgIT09IERyb3Bkb3duTWVudVN0cmluZ0VudW0uU0VMRUNUX01FTlVfVFlQRSB8fFxuICAgICAgICAgICAgIWlzU2VsZWN0TWVudVR5cGVBY3Rpb25JdGVtXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVJbm5lckRyb3Bkb3duT3B0aW9uSW5kZXggPSAtMTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXI/LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlRHJvcGRvd25PcGVuQ2xvc2VDbGljayhkcm9wZG93blBvcG92ZXI6IE5nYlBvcG92ZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJbm5lckRyb3Bkb3duT3B0aW9uSW5kZXggPSAtMTtcblxuICAgICAgICBpZiAoZHJvcGRvd25Qb3BvdmVyLmlzT3BlbigpKSB7XG4gICAgICAgICAgICBkcm9wZG93blBvcG92ZXIuY2xvc2UoKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXIgPSBudWxsO1xuXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duT3B0aW9uRW1pdHRlci5lbWl0KHtcbiAgICAgICAgICAgICAgICB0eXBlOiBEcm9wZG93bk1lbnVTdHJpbmdFbnVtLkNMT1NFLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3Zlcj8uY2xvc2UoKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXIgPSBkcm9wZG93blBvcG92ZXI7XG5cbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Qb3BvdmVyLm9wZW4oKTtcblxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bk9wdGlvbkVtaXR0ZXIuZW1pdCh7XG4gICAgICAgICAgICAgICAgdHlwZTogRHJvcGRvd25NZW51U3RyaW5nRW51bS5PUEVOLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJkLWlubGluZS1ibG9jayBkcm9wZG93bi1tZW51LWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIHR5cGUgfCBkcm9wZG93bk1lbnVQbGFjZW1lbnRDbGFzczogaXNQb3NpdGlvblRyYW5zbGF0ZVVuc2V0ISA6IHBsYWNlbWVudFxuICAgIFwiXG4+XG4gICAgPCEtLSBJY29uIC0tPlxuXG4gICAgPGRpdlxuICAgICAgICBuZ2JUb29sdGlwXG4gICAgICAgIFttYWluQ2FUb29sdGlwXT1cIidNb3JlJ1wiXG4gICAgICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCIndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgW3Bvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGRyb3Bkb3duLWljb24tY29udGFpbmVyXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGRyb3Bkb3duUG9wb3Zlci5pc09wZW4oKSxcbiAgICAgICAgICAgICAgICAnZGFyay1iYWNrZ3JvdW5kJzogaXNEYXJrQmFja2dyb3VuZCxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgI2Ryb3Bkb3duUG9wb3Zlcj1cIm5nYlBvcG92ZXJcIlxuICAgICAgICAgICAgdHJpZ2dlcnM9XCInbWFudWFsJ1wiXG4gICAgICAgICAgICBbbmdiUG9wb3Zlcl09XCJkcm9wZG93bk9wdGlvbnNcIlxuICAgICAgICAgICAgW2F1dG9DbG9zZV09XCInb3V0c2lkZSdcIlxuICAgICAgICAgICAgW3BsYWNlbWVudF09XCJwbGFjZW1lbnRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZURyb3Bkb3duT3BlbkNsb3NlQ2xpY2soZHJvcGRvd25Qb3BvdmVyKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9PT0gZHJvcGRvd25NZW51U3RyaW5nRW51bS5ET1RTX01FTlVfVFlQRVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuZG90c0Ryb3Bkb3duSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgOiBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuaGFtYnVyZ2VyRHJvcGRvd25JY29uXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbc3ZnU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAnd2lkdGgucHgnOiAxOCxcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodC5weCc6IDE4LFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBEcm9wZG93biAtLT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25PcHRpb25zPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGRyb3Bkb3duLWNvbnRhaW5lclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBvcHRpb25zO1xuICAgICAgICAgICAgICAgIGxldCBvcHRpb25JbmRleCA9ICRpbmRleCxcbiAgICAgICAgICAgICAgICBsYXN0ID0gJGxhc3Q7XG4gICAgICAgICAgICAgICAgdHJhY2sgb3B0aW9uSW5kZXhcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZHJvcGRvd24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdoYXMtYm9yZGVyJzogb3B0aW9uPy5oYXNCb3JkZXIgJiYgIWxhc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogb3B0aW9uPy5pc0Rpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tbGVmdCc6IGlzTGVmdFNpZGVJY29uUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbm5lci1kcm9wZG93bi1pdGVtJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISFvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSW5kZXggPT09IGFjdGl2ZUlubmVyRHJvcGRvd25PcHRpb25JbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXJnaW4tYm90dG9tJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uPy5oYXNCb3JkZXIgfHwgbGFzdCA/IDAgOiAnNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHctMTAwIGRyb3Bkb3duLWl0ZW0tb3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaXNMZWZ0U2lkZUljb25Qb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURyb3Bkb3duT3B0aW9uQ2xpY2sob3B0aW9uLCBvcHRpb25JbmRleClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS0wIHRleHQtc2l6ZS0xNCB0ZXh0LWNvbG9yLXdoaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhLWZvbnQtYm9sZCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSW5kZXggPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSW5uZXJEcm9wZG93bk9wdGlvbkluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwib3B0aW9uPy50aXRsZU9wdGlvbmFsQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uPy50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbj8uc3ZnVXJsIHx8IG9wdGlvbj8uaW5uZXJEcm9wZG93bkNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0tb3B0aW9uLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwib3B0aW9uPy5zdmdDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbj8uc3ZnVXJsIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbj8uaW5uZXJEcm9wZG93bkNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBkcm9wZG93bk1lbnVTdmdSb3V0ZXMuc2hvd01vcmVJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N2Z1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgucHgnOiAxOCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0LnB4JzogMTgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSW5uZXIgRHJvcGRvd24gLS0+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoISFvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBpbm5lci1kcm9wZG93bi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uZXJEcm9wZG93bk9wdGlvbiBvZiBvcHRpb24/LmlubmVyRHJvcGRvd25Db250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGlubmVyRHJvcGRvd25PcHRpb25JbmRleCA9ICRpbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrIGlubmVyRHJvcGRvd25PcHRpb25JbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDAgZHJvcGRvd24taXRlbS1vcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRHJvcGRvd25PcHRpb25DbGljayhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubmVyRHJvcGRvd25PcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLTAgdGV4dC1zaXplLTE0IHRleHQtY29sb3Itd2hpdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5uZXJEcm9wZG93bk9wdGlvbi50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1vcHRpb24tZW1pdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWRyb3Bkb3duLW1lbnUvbW9kZWxzL2Ryb3Bkb3duLW1lbnUtb3B0aW9uLWVtaXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25NZW51T3B0aW9uRW1pdCB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgdHlwZT86IHN0cmluZztcbiAgICBpc0FjdGl2ZT86IGJvb2xlYW47XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export * from './dropdown-menu-item.model';
2
- export * from './dropdown-option-emit.model';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1kcm9wZG93bi1tZW51L21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW1lbnUtaXRlbS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbi1lbWl0Lm1vZGVsJztcbiJdfQ==
2
+ export * from './dropdown-menu-option-emit.model';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1kcm9wZG93bi1tZW51L21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW1lbnUtaXRlbS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW1lbnUtb3B0aW9uLWVtaXQubW9kZWwnO1xuIl19