@fundamental-ngx/platform 0.52.2-rc.2 → 0.52.2-rc.21

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 (25) hide show
  1. package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +9 -3
  2. package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +2 -2
  3. package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +3 -3
  4. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +18 -4
  5. package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +4 -4
  6. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +3 -3
  7. package/esm2022/table/table.component.mjs +5 -6
  8. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +2 -1
  9. package/esm2022/variant-management/variant-management.component.mjs +3 -3
  10. package/fesm2022/fundamental-ngx-platform-form.mjs +8 -3
  11. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  12. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +1 -1
  13. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  14. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +2 -2
  15. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  16. package/fesm2022/fundamental-ngx-platform-table.mjs +25 -11
  17. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  18. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +1 -0
  19. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  20. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +2 -2
  21. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  22. package/form/multi-combobox/commons/base-multi-combobox.d.ts +10 -3
  23. package/package.json +4 -4
  24. package/schematics/ng-add/index.js +1 -1
  25. package/table/components/table-cell-header-popover/table-cell-header-popover.component.d.ts +4 -1
@@ -1,4 +1,4 @@
1
- import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
1
+ import { AsyncPipe, NgStyle, NgTemplateOutlet } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, computed, inject, signal } from '@angular/core';
3
3
  import { IconComponent } from '@fundamental-ngx/core/icon';
4
4
  import { TableIconDirective } from '@fundamental-ngx/core/table';
@@ -36,14 +36,14 @@ export class TableHeaderCellContentComponent {
36
36
  return this._column$();
37
37
  }
38
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TableHeaderCellContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: TableHeaderCellContentComponent, isStandalone: true, selector: "fdp-table-header-cell-content", inputs: { id: "id", column: "column" }, ngImport: i0, template: "<div class=\"fd-table__text--no-wrap\" [class.fd-table__inner]=\"hasSorting$() || hasFilter$()\">\n <ng-template\n [ngTemplateOutlet]=\"tableHeaderCellContentTemplate\"\n [ngTemplateOutletContext]=\"{ column: column }\"\n ></ng-template>\n @if (hasSorting$() || hasFilter$()) {\n <div class=\"fd-table__column-header-icons\">\n @if (hasFilter$()) {\n <fd-icon fd-table-icon glyph=\"filter\"></fd-icon>\n }\n @if (hasSorting$()) {\n <fd-icon\n fd-table-icon\n [ariaHidden]=\"true\"\n [glyph]=\"sorting$()?.direction === SORT_DIRECTION.ASC ? 'sort-ascending' : 'sort-descending'\"\n ></fd-icon>\n }\n </div>\n }\n</div>\n<ng-content></ng-content>\n<ng-template #tableHeaderCellContentTemplate let-column=\"column\">\n @if (column?.headerCellTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"column.headerCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: column }\"\n ></ng-template>\n } @else {\n <span [id]=\"id + '-header-cell-' + column?.name\" class=\"fd-table__cell--truncate-txt\">\n {{ column?.labelValueChanges$ | async }}\n </span>\n }\n</ng-template>\n", styles: ["fdp-table-header-cell-content{display:flex;align-items:center;justify-content:space-between;flex-grow:0}fdp-table-header-cell-content .fd-table__text--no-wrap{width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "directive", type: TableIconDirective, selector: "[fdTableIcon], [fd-table-icon]", inputs: ["class", "glyph", "glyphFont", "navigation"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: TableHeaderCellContentComponent, isStandalone: true, selector: "fdp-table-header-cell-content", inputs: { id: "id", column: "column" }, ngImport: i0, template: "<div\n class=\"fd-table__text--no-wrap\"\n [class]=\"{ 'fd-table__inner': hasSorting$() || hasFilter$() }\"\n [ngStyle]=\"{ 'justify-content': column?.align, gap: column?.align ? '0.5rem' : '' }\"\n>\n <ng-template\n [ngTemplateOutlet]=\"tableHeaderCellContentTemplate\"\n [ngTemplateOutletContext]=\"{ column: column }\"\n ></ng-template>\n @if (hasSorting$() || hasFilter$()) {\n <div class=\"fd-table__column-header-icons\">\n @if (hasFilter$()) {\n <fd-icon fd-table-icon glyph=\"filter\"></fd-icon>\n }\n @if (hasSorting$()) {\n <fd-icon\n fd-table-icon\n [ariaHidden]=\"true\"\n [glyph]=\"sorting$()?.direction === SORT_DIRECTION.ASC ? 'sort-ascending' : 'sort-descending'\"\n ></fd-icon>\n }\n </div>\n }\n</div>\n<ng-content></ng-content>\n<ng-template #tableHeaderCellContentTemplate let-column=\"column\">\n @if (column?.headerCellTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"column.headerCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: column }\"\n ></ng-template>\n } @else {\n <span [id]=\"id + '-header-cell-' + column?.name\" class=\"fd-table__cell--truncate-txt\">\n {{ column?.labelValueChanges$ | async }}\n </span>\n }\n</ng-template>\n", styles: ["fdp-table-header-cell-content{display:flex;align-items:center;justify-content:space-between;flex-grow:0}fdp-table-header-cell-content .fd-table__text--no-wrap{width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "directive", type: TableIconDirective, selector: "[fdTableIcon], [fd-table-icon]", inputs: ["class", "glyph", "glyphFont", "navigation"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
40
  }
41
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TableHeaderCellContentComponent, decorators: [{
42
42
  type: Component,
43
- args: [{ selector: 'fdp-table-header-cell-content', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgTemplateOutlet, IconComponent, TableIconDirective, AsyncPipe], template: "<div class=\"fd-table__text--no-wrap\" [class.fd-table__inner]=\"hasSorting$() || hasFilter$()\">\n <ng-template\n [ngTemplateOutlet]=\"tableHeaderCellContentTemplate\"\n [ngTemplateOutletContext]=\"{ column: column }\"\n ></ng-template>\n @if (hasSorting$() || hasFilter$()) {\n <div class=\"fd-table__column-header-icons\">\n @if (hasFilter$()) {\n <fd-icon fd-table-icon glyph=\"filter\"></fd-icon>\n }\n @if (hasSorting$()) {\n <fd-icon\n fd-table-icon\n [ariaHidden]=\"true\"\n [glyph]=\"sorting$()?.direction === SORT_DIRECTION.ASC ? 'sort-ascending' : 'sort-descending'\"\n ></fd-icon>\n }\n </div>\n }\n</div>\n<ng-content></ng-content>\n<ng-template #tableHeaderCellContentTemplate let-column=\"column\">\n @if (column?.headerCellTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"column.headerCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: column }\"\n ></ng-template>\n } @else {\n <span [id]=\"id + '-header-cell-' + column?.name\" class=\"fd-table__cell--truncate-txt\">\n {{ column?.labelValueChanges$ | async }}\n </span>\n }\n</ng-template>\n", styles: ["fdp-table-header-cell-content{display:flex;align-items:center;justify-content:space-between;flex-grow:0}fdp-table-header-cell-content .fd-table__text--no-wrap{width:100%}\n"] }]
43
+ args: [{ selector: 'fdp-table-header-cell-content', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgTemplateOutlet, IconComponent, TableIconDirective, AsyncPipe, NgStyle], template: "<div\n class=\"fd-table__text--no-wrap\"\n [class]=\"{ 'fd-table__inner': hasSorting$() || hasFilter$() }\"\n [ngStyle]=\"{ 'justify-content': column?.align, gap: column?.align ? '0.5rem' : '' }\"\n>\n <ng-template\n [ngTemplateOutlet]=\"tableHeaderCellContentTemplate\"\n [ngTemplateOutletContext]=\"{ column: column }\"\n ></ng-template>\n @if (hasSorting$() || hasFilter$()) {\n <div class=\"fd-table__column-header-icons\">\n @if (hasFilter$()) {\n <fd-icon fd-table-icon glyph=\"filter\"></fd-icon>\n }\n @if (hasSorting$()) {\n <fd-icon\n fd-table-icon\n [ariaHidden]=\"true\"\n [glyph]=\"sorting$()?.direction === SORT_DIRECTION.ASC ? 'sort-ascending' : 'sort-descending'\"\n ></fd-icon>\n }\n </div>\n }\n</div>\n<ng-content></ng-content>\n<ng-template #tableHeaderCellContentTemplate let-column=\"column\">\n @if (column?.headerCellTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"column.headerCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: column }\"\n ></ng-template>\n } @else {\n <span [id]=\"id + '-header-cell-' + column?.name\" class=\"fd-table__cell--truncate-txt\">\n {{ column?.labelValueChanges$ | async }}\n </span>\n }\n</ng-template>\n", styles: ["fdp-table-header-cell-content{display:flex;align-items:center;justify-content:space-between;flex-grow:0}fdp-table-header-cell-content .fd-table__text--no-wrap{width:100%}\n"] }]
44
44
  }], propDecorators: { id: [{
45
45
  type: Input
46
46
  }], column: [{
47
47
  type: Input
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLWNlbGwtY29udGVudC90YWJsZS1oZWFkZXItY2VsbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vdGFibGUvY29tcG9uZW50cy90YWJsZS1oZWFkZXItY2VsbC1jb250ZW50L3RhYmxlLWhlYWRlci1jZWxsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFlLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQXVCbkcsTUFBTSxPQUFPLCtCQUErQjtJQXJCNUM7UUFvQ0ksMENBQTBDO1FBQ2pDLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0IsT0FBTyxNQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7UUFFSCw0Q0FBNEM7UUFDbkMsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE9BQU8sTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO1FBRUgsdUJBQXVCO1FBQ2QsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE9BQU8sTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO1FBRUgsY0FBYztRQUNMLG1CQUFjLEdBQUcsYUFBYSxDQUFDO1FBRXhDLGNBQWM7UUFDRyxhQUFRLEdBQUcsTUFBTSxDQUF3QixJQUFJLENBQUMsQ0FBQztRQUVoRSxjQUFjO1FBQ0cscUJBQWdCLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQzVEO0lBcENHLHdCQUF3QjtJQUN4QixJQUNJLE1BQU0sQ0FBQyxLQUE0QjtRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0FiUSwrQkFBK0I7a0dBQS9CLCtCQUErQixpSUM1QjVDLDh5Q0FpQ0Esc09EUGMsZ0JBQWdCLG9KQUFFLGFBQWEsMElBQUUsa0JBQWtCLDZIQUFFLFNBQVM7OzJGQUUvRCwrQkFBK0I7a0JBckIzQyxTQUFTOytCQUNJLCtCQUErQixpQkFFMUIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQWNuQyxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxDQUFDOzhCQUt6RSxFQUFFO3NCQURELEtBQUs7Z0JBS0YsTUFBTTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvaWNvbic7XG5pbXBvcnQgeyBUYWJsZUljb25EaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdGFibGUnO1xuaW1wb3J0IHsgU29ydERpcmVjdGlvbiwgVGFibGVDb2x1bW4sIFRhYmxlU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUtaGVscGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXRhYmxlLWhlYWRlci1jZWxsLWNvbnRlbnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1oZWFkZXItY2VsbC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICBmZHAtdGFibGUtaGVhZGVyLWNlbGwtY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmZHAtdGFibGUtaGVhZGVyLWNlbGwtY29udGVudCAuZmQtdGFibGVfX3RleHQtLW5vLXdyYXAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBJY29uQ29tcG9uZW50LCBUYWJsZUljb25EaXJlY3RpdmUsIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVIZWFkZXJDZWxsQ29udGVudENvbXBvbmVudCB7XG4gICAgLyoqIFRhYmxlIElkICovXG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nO1xuXG4gICAgLyoqIENvbHVtbiByZWZlcmVuY2UuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgY29sdW1uKHZhbHVlOiBOdWxsYWJsZTxUYWJsZUNvbHVtbj4pIHtcbiAgICAgICAgdGhpcy5fY29sdW1uJC5zZXQodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBjb2x1bW4oKTogTnVsbGFibGU8VGFibGVDb2x1bW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbiQoKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciBjb2x1bW4gaGFzIGFwcGxpZWQgc29ydGluZy4gKi9cbiAgICByZWFkb25seSBoYXNTb3J0aW5nJCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5fY29sdW1uJCgpO1xuICAgICAgICByZXR1cm4gY29sdW1uICYmIHRoaXMuX2ZkcFRhYmxlU2VydmljZS5zb3J0UnVsZXMkKCkuaGFzKGNvbHVtbi5rZXkpO1xuICAgIH0pO1xuXG4gICAgLyoqIFdoZXRoZXIgY29sdW1uIGhhcyBhcHBsaWVkIGZpbHRlcmluZy4gKi9cbiAgICByZWFkb25seSBoYXNGaWx0ZXIkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLl9jb2x1bW4kKCk7XG4gICAgICAgIHJldHVybiBjb2x1bW4gJiYgdGhpcy5fZmRwVGFibGVTZXJ2aWNlLmZpbHRlclJ1bGVzJCgpLmhhcyhjb2x1bW4ua2V5KTtcbiAgICB9KTtcblxuICAgIC8qKiBBcHBsaWVkIHNvcnRpbmcuICovXG4gICAgcmVhZG9ubHkgc29ydGluZyQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuX2NvbHVtbiQoKTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbiAmJiB0aGlzLl9mZHBUYWJsZVNlcnZpY2Uuc29ydFJ1bGVzJCgpLmdldChjb2x1bW4ua2V5KTtcbiAgICB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgU09SVF9ESVJFQ1RJT04gPSBTb3J0RGlyZWN0aW9uO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb2x1bW4kID0gc2lnbmFsPE51bGxhYmxlPFRhYmxlQ29sdW1uPj4obnVsbCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZkcFRhYmxlU2VydmljZSA9IGluamVjdChUYWJsZVNlcnZpY2UpO1xufVxuIiwiPGRpdiBjbGFzcz1cImZkLXRhYmxlX190ZXh0LS1uby13cmFwXCIgW2NsYXNzLmZkLXRhYmxlX19pbm5lcl09XCJoYXNTb3J0aW5nJCgpIHx8IGhhc0ZpbHRlciQoKVwiPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUhlYWRlckNlbGxDb250ZW50VGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBjb2x1bW46IGNvbHVtbiB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICBAaWYgKGhhc1NvcnRpbmckKCkgfHwgaGFzRmlsdGVyJCgpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC10YWJsZV9fY29sdW1uLWhlYWRlci1pY29uc1wiPlxuICAgICAgICAgICAgQGlmIChoYXNGaWx0ZXIkKCkpIHtcbiAgICAgICAgICAgICAgICA8ZmQtaWNvbiBmZC10YWJsZS1pY29uIGdseXBoPVwiZmlsdGVyXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChoYXNTb3J0aW5nJCgpKSB7XG4gICAgICAgICAgICAgICAgPGZkLWljb25cbiAgICAgICAgICAgICAgICAgICAgZmQtdGFibGUtaWNvblxuICAgICAgICAgICAgICAgICAgICBbYXJpYUhpZGRlbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cInNvcnRpbmckKCk/LmRpcmVjdGlvbiA9PT0gU09SVF9ESVJFQ1RJT04uQVNDID8gJ3NvcnQtYXNjZW5kaW5nJyA6ICdzb3J0LWRlc2NlbmRpbmcnXCJcbiAgICAgICAgICAgICAgICA+PC9mZC1pY29uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxuZy10ZW1wbGF0ZSAjdGFibGVIZWFkZXJDZWxsQ29udGVudFRlbXBsYXRlIGxldC1jb2x1bW49XCJjb2x1bW5cIj5cbiAgICBAaWYgKGNvbHVtbj8uaGVhZGVyQ2VsbFRlbXBsYXRlKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uLmhlYWRlckNlbGxUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbHVtbiB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxzcGFuIFtpZF09XCJpZCArICctaGVhZGVyLWNlbGwtJyArIGNvbHVtbj8ubmFtZVwiIGNsYXNzPVwiZmQtdGFibGVfX2NlbGwtLXRydW5jYXRlLXR4dFwiPlxuICAgICAgICAgICAge3sgY29sdW1uPy5sYWJlbFZhbHVlQ2hhbmdlcyQgfCBhc3luYyB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLWNlbGwtY29udGVudC90YWJsZS1oZWFkZXItY2VsbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vdGFibGUvY29tcG9uZW50cy90YWJsZS1oZWFkZXItY2VsbC1jb250ZW50L3RhYmxlLWhlYWRlci1jZWxsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBZSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUF1Qm5HLE1BQU0sT0FBTywrQkFBK0I7SUFyQjVDO1FBb0NJLDBDQUEwQztRQUNqQyxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE9BQU8sTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO1FBRUgsNENBQTRDO1FBQ25DLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMvQixPQUFPLE1BQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztRQUVILHVCQUF1QjtRQUNkLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMvQixPQUFPLE1BQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUMsQ0FBQztRQUVILGNBQWM7UUFDTCxtQkFBYyxHQUFHLGFBQWEsQ0FBQztRQUV4QyxjQUFjO1FBQ0csYUFBUSxHQUFHLE1BQU0sQ0FBd0IsSUFBSSxDQUFDLENBQUM7UUFFaEUsY0FBYztRQUNHLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUM1RDtJQXBDRyx3QkFBd0I7SUFDeEIsSUFDSSxNQUFNLENBQUMsS0FBNEI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBYlEsK0JBQStCO2tHQUEvQiwrQkFBK0IsaUlDNUI1Qyw2NUNBcUNBLHNPRFhjLGdCQUFnQixvSkFBRSxhQUFhLDBJQUFFLGtCQUFrQiw2SEFBRSxTQUFTLDhDQUFFLE9BQU87OzJGQUV4RSwrQkFBK0I7a0JBckIzQyxTQUFTOytCQUNJLCtCQUErQixpQkFFMUIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxjQWNuQyxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQzs4QkFLbEYsRUFBRTtzQkFERCxLQUFLO2dCQUtGLE1BQU07c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgVGFibGVJY29uRGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3RhYmxlJztcbmltcG9ydCB7IFNvcnREaXJlY3Rpb24sIFRhYmxlQ29sdW1uLCBUYWJsZVNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC10YWJsZS1oZWFkZXItY2VsbC1jb250ZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtaGVhZGVyLWNlbGwtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgZmRwLXRhYmxlLWhlYWRlci1jZWxsLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmRwLXRhYmxlLWhlYWRlci1jZWxsLWNvbnRlbnQgLmZkLXRhYmxlX190ZXh0LS1uby13cmFwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgSWNvbkNvbXBvbmVudCwgVGFibGVJY29uRGlyZWN0aXZlLCBBc3luY1BpcGUsIE5nU3R5bGVdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlSGVhZGVyQ2VsbENvbnRlbnRDb21wb25lbnQge1xuICAgIC8qKiBUYWJsZSBJZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWQ6IHN0cmluZztcblxuICAgIC8qKiBDb2x1bW4gcmVmZXJlbmNlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbHVtbih2YWx1ZTogTnVsbGFibGU8VGFibGVDb2x1bW4+KSB7XG4gICAgICAgIHRoaXMuX2NvbHVtbiQuc2V0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgY29sdW1uKCk6IE51bGxhYmxlPFRhYmxlQ29sdW1uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb2x1bW4kKCk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgY29sdW1uIGhhcyBhcHBsaWVkIHNvcnRpbmcuICovXG4gICAgcmVhZG9ubHkgaGFzU29ydGluZyQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuX2NvbHVtbiQoKTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbiAmJiB0aGlzLl9mZHBUYWJsZVNlcnZpY2Uuc29ydFJ1bGVzJCgpLmhhcyhjb2x1bW4ua2V5KTtcbiAgICB9KTtcblxuICAgIC8qKiBXaGV0aGVyIGNvbHVtbiBoYXMgYXBwbGllZCBmaWx0ZXJpbmcuICovXG4gICAgcmVhZG9ubHkgaGFzRmlsdGVyJCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5fY29sdW1uJCgpO1xuICAgICAgICByZXR1cm4gY29sdW1uICYmIHRoaXMuX2ZkcFRhYmxlU2VydmljZS5maWx0ZXJSdWxlcyQoKS5oYXMoY29sdW1uLmtleSk7XG4gICAgfSk7XG5cbiAgICAvKiogQXBwbGllZCBzb3J0aW5nLiAqL1xuICAgIHJlYWRvbmx5IHNvcnRpbmckID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLl9jb2x1bW4kKCk7XG4gICAgICAgIHJldHVybiBjb2x1bW4gJiYgdGhpcy5fZmRwVGFibGVTZXJ2aWNlLnNvcnRSdWxlcyQoKS5nZXQoY29sdW1uLmtleSk7XG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IFNPUlRfRElSRUNUSU9OID0gU29ydERpcmVjdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29sdW1uJCA9IHNpZ25hbDxOdWxsYWJsZTxUYWJsZUNvbHVtbj4+KG51bGwpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9mZHBUYWJsZVNlcnZpY2UgPSBpbmplY3QoVGFibGVTZXJ2aWNlKTtcbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZkLXRhYmxlX190ZXh0LS1uby13cmFwXCJcbiAgICBbY2xhc3NdPVwieyAnZmQtdGFibGVfX2lubmVyJzogaGFzU29ydGluZyQoKSB8fCBoYXNGaWx0ZXIkKCkgfVwiXG4gICAgW25nU3R5bGVdPVwieyAnanVzdGlmeS1jb250ZW50JzogY29sdW1uPy5hbGlnbiwgZ2FwOiBjb2x1bW4/LmFsaWduID8gJzAuNXJlbScgOiAnJyB9XCJcbj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVIZWFkZXJDZWxsQ29udGVudFRlbXBsYXRlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgY29sdW1uOiBjb2x1bW4gfVwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG4gICAgQGlmIChoYXNTb3J0aW5nJCgpIHx8IGhhc0ZpbHRlciQoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtdGFibGVfX2NvbHVtbi1oZWFkZXItaWNvbnNcIj5cbiAgICAgICAgICAgIEBpZiAoaGFzRmlsdGVyJCgpKSB7XG4gICAgICAgICAgICAgICAgPGZkLWljb24gZmQtdGFibGUtaWNvbiBnbHlwaD1cImZpbHRlclwiPjwvZmQtaWNvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaGFzU29ydGluZyQoKSkge1xuICAgICAgICAgICAgICAgIDxmZC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGZkLXRhYmxlLWljb25cbiAgICAgICAgICAgICAgICAgICAgW2FyaWFIaWRkZW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCJzb3J0aW5nJCgpPy5kaXJlY3Rpb24gPT09IFNPUlRfRElSRUNUSU9OLkFTQyA/ICdzb3J0LWFzY2VuZGluZycgOiAnc29ydC1kZXNjZW5kaW5nJ1wiXG4gICAgICAgICAgICAgICAgPjwvZmQtaWNvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48bmctdGVtcGxhdGUgI3RhYmxlSGVhZGVyQ2VsbENvbnRlbnRUZW1wbGF0ZSBsZXQtY29sdW1uPVwiY29sdW1uXCI+XG4gICAgQGlmIChjb2x1bW4/LmhlYWRlckNlbGxUZW1wbGF0ZSkge1xuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbHVtbi5oZWFkZXJDZWxsVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb2x1bW4gfVwiXG4gICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIH0gQGVsc2Uge1xuICAgICAgICA8c3BhbiBbaWRdPVwiaWQgKyAnLWhlYWRlci1jZWxsLScgKyBjb2x1bW4/Lm5hbWVcIiBjbGFzcz1cImZkLXRhYmxlX19jZWxsLS10cnVuY2F0ZS10eHRcIj5cbiAgICAgICAgICAgIHt7IGNvbHVtbj8ubGFiZWxWYWx1ZUNoYW5nZXMkIHwgYXN5bmMgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -131,7 +131,7 @@ export class TableToolbarComponent {
131
131
  });
132
132
  }
133
133
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TableToolbarComponent, deps: [{ token: i1.Table }], target: i0.ɵɵFactoryTarget.Component }); }
134
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: TableToolbarComponent, isStandalone: true, selector: "fdp-table-toolbar", inputs: { shouldOverflow: "shouldOverflow", title: "title", searchFieldAriaLabel: "searchFieldAriaLabel", hideItemCount: "hideItemCount", hideSearchInput: "hideSearchInput", showExpandCollapseButtons: "showExpandCollapseButtons", searchSuggestions: "searchSuggestions", editMode: "editMode", disableRefresh: "disableRefresh", disableSearch: "disableSearch" }, providers: [{ provide: TABLE_TOOLBAR, useExisting: TableToolbarComponent }], queries: [{ propertyName: "tableToolbarActionsComponent", first: true, predicate: TableToolbarActionsComponent, descendants: true }, { propertyName: "_tableToolbarLeftActionsComponent", first: true, predicate: TableToolbarLeftActionsComponent, descendants: true }], viewQueries: [{ propertyName: "contentTemplateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template\n fdpTableToolbarTemplate\n let-counter=\"counter\"\n let-sortable=\"sortable\"\n let-filterable=\"filterable\"\n let-groupable=\"groupable\"\n let-columns=\"columns\"\n let-hasAnyActions=\"hasAnyActions\"\n>\n <fd-toolbar\n fdType=\"transparent\"\n [clearBorder]=\"true\"\n [titleId]=\"tableToolbarTitleId\"\n [title]=\"title && !hideItemCount ? title + ' (' + counter() + ')' : title\"\n [shouldOverflow]=\"shouldOverflow\"\n >\n @if (_tableToolbarLeftActionsComponent) {\n <span fd-toolbar-item fdOverflowPriority=\"never\">\n @if (!!title || !hideItemCount) {\n <fd-toolbar-separator></fd-toolbar-separator>\n }\n <ng-template [ngTemplateOutlet]=\"_tableToolbarLeftActionsComponent._contentTemplateRef\"></ng-template>\n </span>\n }\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (!hideSearchInput) {\n <fdp-search-field\n fd-toolbar-item\n [style.min-width.rem]=\"15.5\"\n [placeholder]=\"'platformTable.toolbarSearchPlaceholder' | fdTranslate\"\n [inputText]=\"_searchInputText\"\n [disabled]=\"!!(tableLoading$ | async)\"\n [suggestions]=\"searchSuggestions\"\n [disableRefresh]=\"disableRefresh\"\n [disableSearch]=\"disableSearch\"\n [ariaLabel]=\"searchFieldAriaLabel\"\n [ariaLabelledBy]=\"searchFieldAriaLabel ? null : tableToolbarTitleId\"\n (searchSubmit)=\"submitSearch($event)\"\n (cancelSearch)=\"submitSearch($event)\"\n [disableSuggestionsFoundAnnouncer]=\"true\"\n ></fdp-search-field>\n }\n @if (editMode !== 'none') {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCreateButtonLabel' | fdTranslate\"\n (click)=\"_addRow()\"\n ></button>\n @if (_showSaveButton) {\n @if (_showSaveButton) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionSaveButtonLabel' | fdTranslate\"\n (click)=\"_saveRows()\"\n ></button>\n }\n <fd-toolbar-separator></fd-toolbar-separator>\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCancelButtonLabel' | fdTranslate\"\n (click)=\"_cancelEditing()\"\n fdType=\"transparent\"\n ></button>\n }\n @if (tableToolbarActionsComponent || hasAnyActions()) {\n <fd-toolbar-separator fd-toolbar-item fdOverflowPriority=\"never\"></fd-toolbar-separator>\n }\n }\n @if (tableToolbarActionsComponent) {\n <span fd-toolbar-item class=\"fdp-table-toolbar-actions\">\n <ng-template [ngTemplateOutlet]=\"tableToolbarActionsComponent.contentTemplateRef\"></ng-template>\n </span>\n }\n @if (showExpandCollapseButtons || hasAnyActions()) {\n @if (tableToolbarActionsComponent) {\n <fd-toolbar-separator fd-toolbar-item fdOverflowPriority=\"never\"></fd-toolbar-separator>\n }\n @if (showExpandCollapseButtons) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"expand-all\"\n (click)=\"_expandAll()\"\n [title]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n ></button>\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"collapse-all\"\n (click)=\"_collapseAll()\"\n [title]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n ></button>\n }\n @if (sortable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"sort\"\n [title]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openSorting()\"\n ></button>\n }\n @if (filterable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"filter\"\n [title]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openFiltering()\"\n ></button>\n }\n @if (groupable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"group-2\"\n [title]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openGrouping()\"\n ></button>\n }\n @if (columns()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"action-settings\"\n [title]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openColumns()\"\n ></button>\n }\n }\n </fd-toolbar>\n</ng-template>\n", dependencies: [{ kind: "component", type: ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: ToolbarSeparatorComponent, selector: "fd-toolbar-separator" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "directive", type: TableToolbarTemplateDirective, selector: "[fdpTableToolbarTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: TableToolbarComponent, isStandalone: true, selector: "fdp-table-toolbar", inputs: { shouldOverflow: "shouldOverflow", title: "title", searchFieldAriaLabel: "searchFieldAriaLabel", hideItemCount: "hideItemCount", hideSearchInput: "hideSearchInput", showExpandCollapseButtons: "showExpandCollapseButtons", searchSuggestions: "searchSuggestions", editMode: "editMode", disableRefresh: "disableRefresh", disableSearch: "disableSearch" }, providers: [{ provide: TABLE_TOOLBAR, useExisting: TableToolbarComponent }], queries: [{ propertyName: "tableToolbarActionsComponent", first: true, predicate: TableToolbarActionsComponent, descendants: true }, { propertyName: "_tableToolbarLeftActionsComponent", first: true, predicate: TableToolbarLeftActionsComponent, descendants: true }], viewQueries: [{ propertyName: "contentTemplateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template\n fdpTableToolbarTemplate\n let-counter=\"counter\"\n let-sortable=\"sortable\"\n let-filterable=\"filterable\"\n let-groupable=\"groupable\"\n let-columns=\"columns\"\n let-hasAnyActions=\"hasAnyActions\"\n>\n <fd-toolbar\n fdType=\"transparent\"\n [titleId]=\"tableToolbarTitleId\"\n [title]=\"title && !hideItemCount ? title + ' (' + counter() + ')' : title\"\n [shouldOverflow]=\"shouldOverflow\"\n >\n @if (_tableToolbarLeftActionsComponent) {\n <span fd-toolbar-item fdOverflowPriority=\"never\">\n @if (!!title || !hideItemCount) {\n <fd-toolbar-separator></fd-toolbar-separator>\n }\n <ng-template [ngTemplateOutlet]=\"_tableToolbarLeftActionsComponent._contentTemplateRef\"></ng-template>\n </span>\n }\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (!hideSearchInput) {\n <fdp-search-field\n fd-toolbar-item\n [style.min-width.rem]=\"15.5\"\n [placeholder]=\"'platformTable.toolbarSearchPlaceholder' | fdTranslate\"\n [inputText]=\"_searchInputText\"\n [disabled]=\"!!(tableLoading$ | async)\"\n [suggestions]=\"searchSuggestions\"\n [disableRefresh]=\"disableRefresh\"\n [disableSearch]=\"disableSearch\"\n [ariaLabel]=\"searchFieldAriaLabel\"\n [ariaLabelledBy]=\"searchFieldAriaLabel ? null : tableToolbarTitleId\"\n (searchSubmit)=\"submitSearch($event)\"\n (cancelSearch)=\"submitSearch($event)\"\n [disableSuggestionsFoundAnnouncer]=\"true\"\n ></fdp-search-field>\n }\n @if (editMode !== 'none') {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCreateButtonLabel' | fdTranslate\"\n (click)=\"_addRow()\"\n ></button>\n @if (_showSaveButton) {\n @if (_showSaveButton) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionSaveButtonLabel' | fdTranslate\"\n (click)=\"_saveRows()\"\n ></button>\n }\n <fd-toolbar-separator></fd-toolbar-separator>\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCancelButtonLabel' | fdTranslate\"\n (click)=\"_cancelEditing()\"\n fdType=\"transparent\"\n ></button>\n }\n @if (tableToolbarActionsComponent || hasAnyActions()) {\n <fd-toolbar-separator fd-toolbar-item fdOverflowPriority=\"never\"></fd-toolbar-separator>\n }\n }\n @if (tableToolbarActionsComponent) {\n <span fd-toolbar-item class=\"fdp-table-toolbar-actions\">\n <ng-template [ngTemplateOutlet]=\"tableToolbarActionsComponent.contentTemplateRef\"></ng-template>\n </span>\n }\n @if (showExpandCollapseButtons || hasAnyActions()) {\n @if (tableToolbarActionsComponent) {\n <fd-toolbar-separator fd-toolbar-item fdOverflowPriority=\"never\"></fd-toolbar-separator>\n }\n @if (showExpandCollapseButtons) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"expand-all\"\n (click)=\"_expandAll()\"\n [title]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n ></button>\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"collapse-all\"\n (click)=\"_collapseAll()\"\n [title]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n ></button>\n }\n @if (sortable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"sort\"\n [title]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openSorting()\"\n ></button>\n }\n @if (filterable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"filter\"\n [title]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openFiltering()\"\n ></button>\n }\n @if (groupable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"group-2\"\n [title]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openGrouping()\"\n ></button>\n }\n @if (columns()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"action-settings\"\n [title]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openColumns()\"\n ></button>\n }\n }\n </fd-toolbar>\n</ng-template>\n", dependencies: [{ kind: "component", type: ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: ToolbarSeparatorComponent, selector: "fd-toolbar-separator" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "directive", type: TableToolbarTemplateDirective, selector: "[fdpTableToolbarTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
135
135
  }
136
136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: TableToolbarComponent, decorators: [{
137
137
  type: Component,
@@ -146,7 +146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
146
146
  AsyncPipe,
147
147
  FdTranslatePipe,
148
148
  TableToolbarTemplateDirective
149
- ], template: "<ng-template\n fdpTableToolbarTemplate\n let-counter=\"counter\"\n let-sortable=\"sortable\"\n let-filterable=\"filterable\"\n let-groupable=\"groupable\"\n let-columns=\"columns\"\n let-hasAnyActions=\"hasAnyActions\"\n>\n <fd-toolbar\n fdType=\"transparent\"\n [clearBorder]=\"true\"\n [titleId]=\"tableToolbarTitleId\"\n [title]=\"title && !hideItemCount ? title + ' (' + counter() + ')' : title\"\n [shouldOverflow]=\"shouldOverflow\"\n >\n @if (_tableToolbarLeftActionsComponent) {\n <span fd-toolbar-item fdOverflowPriority=\"never\">\n @if (!!title || !hideItemCount) {\n <fd-toolbar-separator></fd-toolbar-separator>\n }\n <ng-template [ngTemplateOutlet]=\"_tableToolbarLeftActionsComponent._contentTemplateRef\"></ng-template>\n </span>\n }\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (!hideSearchInput) {\n <fdp-search-field\n fd-toolbar-item\n [style.min-width.rem]=\"15.5\"\n [placeholder]=\"'platformTable.toolbarSearchPlaceholder' | fdTranslate\"\n [inputText]=\"_searchInputText\"\n [disabled]=\"!!(tableLoading$ | async)\"\n [suggestions]=\"searchSuggestions\"\n [disableRefresh]=\"disableRefresh\"\n [disableSearch]=\"disableSearch\"\n [ariaLabel]=\"searchFieldAriaLabel\"\n [ariaLabelledBy]=\"searchFieldAriaLabel ? null : tableToolbarTitleId\"\n (searchSubmit)=\"submitSearch($event)\"\n (cancelSearch)=\"submitSearch($event)\"\n [disableSuggestionsFoundAnnouncer]=\"true\"\n ></fdp-search-field>\n }\n @if (editMode !== 'none') {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCreateButtonLabel' | fdTranslate\"\n (click)=\"_addRow()\"\n ></button>\n @if (_showSaveButton) {\n @if (_showSaveButton) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionSaveButtonLabel' | fdTranslate\"\n (click)=\"_saveRows()\"\n ></button>\n }\n <fd-toolbar-separator></fd-toolbar-separator>\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCancelButtonLabel' | fdTranslate\"\n (click)=\"_cancelEditing()\"\n fdType=\"transparent\"\n ></button>\n }\n @if (tableToolbarActionsComponent || hasAnyActions()) {\n <fd-toolbar-separator fd-toolbar-item fdOverflowPriority=\"never\"></fd-toolbar-separator>\n }\n }\n @if (tableToolbarActionsComponent) {\n <span fd-toolbar-item class=\"fdp-table-toolbar-actions\">\n <ng-template [ngTemplateOutlet]=\"tableToolbarActionsComponent.contentTemplateRef\"></ng-template>\n </span>\n }\n @if (showExpandCollapseButtons || hasAnyActions()) {\n @if (tableToolbarActionsComponent) {\n <fd-toolbar-separator fd-toolbar-item fdOverflowPriority=\"never\"></fd-toolbar-separator>\n }\n @if (showExpandCollapseButtons) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"expand-all\"\n (click)=\"_expandAll()\"\n [title]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n ></button>\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"collapse-all\"\n (click)=\"_collapseAll()\"\n [title]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n ></button>\n }\n @if (sortable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"sort\"\n [title]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openSorting()\"\n ></button>\n }\n @if (filterable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"filter\"\n [title]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openFiltering()\"\n ></button>\n }\n @if (groupable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"group-2\"\n [title]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openGrouping()\"\n ></button>\n }\n @if (columns()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"action-settings\"\n [title]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openColumns()\"\n ></button>\n }\n }\n </fd-toolbar>\n</ng-template>\n" }]
149
+ ], template: "<ng-template\n fdpTableToolbarTemplate\n let-counter=\"counter\"\n let-sortable=\"sortable\"\n let-filterable=\"filterable\"\n let-groupable=\"groupable\"\n let-columns=\"columns\"\n let-hasAnyActions=\"hasAnyActions\"\n>\n <fd-toolbar\n fdType=\"transparent\"\n [titleId]=\"tableToolbarTitleId\"\n [title]=\"title && !hideItemCount ? title + ' (' + counter() + ')' : title\"\n [shouldOverflow]=\"shouldOverflow\"\n >\n @if (_tableToolbarLeftActionsComponent) {\n <span fd-toolbar-item fdOverflowPriority=\"never\">\n @if (!!title || !hideItemCount) {\n <fd-toolbar-separator></fd-toolbar-separator>\n }\n <ng-template [ngTemplateOutlet]=\"_tableToolbarLeftActionsComponent._contentTemplateRef\"></ng-template>\n </span>\n }\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (!hideSearchInput) {\n <fdp-search-field\n fd-toolbar-item\n [style.min-width.rem]=\"15.5\"\n [placeholder]=\"'platformTable.toolbarSearchPlaceholder' | fdTranslate\"\n [inputText]=\"_searchInputText\"\n [disabled]=\"!!(tableLoading$ | async)\"\n [suggestions]=\"searchSuggestions\"\n [disableRefresh]=\"disableRefresh\"\n [disableSearch]=\"disableSearch\"\n [ariaLabel]=\"searchFieldAriaLabel\"\n [ariaLabelledBy]=\"searchFieldAriaLabel ? null : tableToolbarTitleId\"\n (searchSubmit)=\"submitSearch($event)\"\n (cancelSearch)=\"submitSearch($event)\"\n [disableSuggestionsFoundAnnouncer]=\"true\"\n ></fdp-search-field>\n }\n @if (editMode !== 'none') {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCreateButtonLabel' | fdTranslate\"\n (click)=\"_addRow()\"\n ></button>\n @if (_showSaveButton) {\n @if (_showSaveButton) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionSaveButtonLabel' | fdTranslate\"\n (click)=\"_saveRows()\"\n ></button>\n }\n <fd-toolbar-separator></fd-toolbar-separator>\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n [label]=\"'platformTable.toolbarActionCancelButtonLabel' | fdTranslate\"\n (click)=\"_cancelEditing()\"\n fdType=\"transparent\"\n ></button>\n }\n @if (tableToolbarActionsComponent || hasAnyActions()) {\n <fd-toolbar-separator fd-toolbar-item fdOverflowPriority=\"never\"></fd-toolbar-separator>\n }\n }\n @if (tableToolbarActionsComponent) {\n <span fd-toolbar-item class=\"fdp-table-toolbar-actions\">\n <ng-template [ngTemplateOutlet]=\"tableToolbarActionsComponent.contentTemplateRef\"></ng-template>\n </span>\n }\n @if (showExpandCollapseButtons || hasAnyActions()) {\n @if (tableToolbarActionsComponent) {\n <fd-toolbar-separator fd-toolbar-item fdOverflowPriority=\"never\"></fd-toolbar-separator>\n }\n @if (showExpandCollapseButtons) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"expand-all\"\n (click)=\"_expandAll()\"\n [title]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionExpandAllButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n ></button>\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"collapse-all\"\n (click)=\"_collapseAll()\"\n [title]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionCollapseAllButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n ></button>\n }\n @if (sortable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"sort\"\n [title]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionSortButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openSorting()\"\n ></button>\n }\n @if (filterable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"filter\"\n [title]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionFilterButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openFiltering()\"\n ></button>\n }\n @if (groupable()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"group-2\"\n [title]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionGroupButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openGrouping()\"\n ></button>\n }\n @if (columns()) {\n <button\n fd-button\n fd-toolbar-item\n fdOverflowPriority=\"never\"\n glyph=\"action-settings\"\n [title]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n [ariaLabel]=\"'platformTable.toolbarActionColumnsButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n aria-haspopup=\"modal\"\n (click)=\"openColumns()\"\n ></button>\n }\n }\n </fd-toolbar>\n</ng-template>\n" }]
150
150
  }], ctorParameters: () => [{ type: i1.Table }], propDecorators: { shouldOverflow: [{
151
151
  type: Input
152
152
  }], title: [{
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
177
177
  type: ViewChild,
178
178
  args: [TemplateRef]
179
179
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtdG9vbGJhci90YWJsZS10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vdGFibGUvY29tcG9uZW50cy90YWJsZS10b29sYmFyL3RhYmxlLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsS0FBSyxFQUVMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDekIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUErQixNQUFNLHdDQUF3QyxDQUFDO0FBQzNHLE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBeUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVB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V0FBVyxnRENoSjFCLDZnT0FnS0EsNENEL0VRLGdCQUFnQiwrTUFDaEIsb0JBQW9CLDBKQUNwQix5QkFBeUIsaUVBQ3pCLGdCQUFnQixvSkFDaEIsc0JBQXNCLG1HQUN0QixvQkFBb0Isa2JBQ3BCLGVBQWUsb0lBQ2YsU0FBUyx5Q0FDVCxlQUFlLG9EQXhDViw2QkFBNkI7OzJGQTRDN0IscUJBQXFCO2tCQXBCakMsU0FBUzsrQkFDSSxtQkFBbUIsbUJBRVosdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLHVCQUF1QixFQUFFLENBQUMsY0FDL0QsSUFBSSxXQUNQO3dCQUNMLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsU0FBUzt3QkFDVCxlQUFlO3dCQUNmLDZCQUE2QjtxQkFDaEM7MEVBT0QsY0FBYztzQkFEYixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFLTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixjQUFjO3NCQURiLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLDRCQUE0QjtzQkFEM0IsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBSzFDLGlDQUFpQztzQkFEaEMsWUFBWTt1QkFBQyxnQ0FBZ0M7Z0JBSzlDLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIElucHV0LFxuICAgIFNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBUb29sYmFySXRlbURpcmVjdGl2ZSxcbiAgICBUb29sYmFyU2VwYXJhdG9yQ29tcG9uZW50LFxuICAgIFRvb2xiYXJTcGFjZXJEaXJlY3RpdmVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3Rvb2xiYXInO1xuaW1wb3J0IHsgRmRUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IFNlYXJjaEZpZWxkQ29tcG9uZW50LCBTZWFyY2hJbnB1dCwgU3VnZ2VzdGlvbkl0ZW0gfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NlYXJjaC1maWVsZCc7XG5pbXBvcnQgeyBUYWJsZSwgVGFibGVTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcbmltcG9ydCB7IFRBQkxFX1RPT0xCQVIsIFRhYmxlVG9vbGJhckludGVyZmFjZSB9IGZyb20gJy4vdGFibGUtdG9vbGJhcic7XG5pbXBvcnQgeyBUYWJsZVRvb2xiYXJBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS10b29sYmFyLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlVG9vbGJhckxlZnRBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS10b29sYmFyLWxlZnQtYWN0aW9ucy5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xiYXJDb250ZXh0IHtcbiAgICBjb3VudGVyOiBTaWduYWw8bnVtYmVyPjtcbiAgICBzb3J0YWJsZTogU2lnbmFsPGJvb2xlYW4+O1xuICAgIGZpbHRlcmFibGU6IFNpZ25hbDxib29sZWFuPjtcbiAgICBncm91cGFibGU6IFNpZ25hbDxib29sZWFuPjtcbiAgICBjb2x1bW5zOiBTaWduYWw8Ym9vbGVhbj47XG4gICAgaGFzQW55QWN0aW9uczogU2lnbmFsPGJvb2xlYW4+O1xufVxuXG5leHBvcnQgdHlwZSBFZGl0TW9kZSA9ICdub25lJyB8ICdpbmxpbmUnO1xuXG5sZXQgdGFibGVUb29sYmFyVGl0bGVVbmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkcFRhYmxlVG9vbGJhclRlbXBsYXRlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVRvb2xiYXJUZW1wbGF0ZURpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjxUb29sYmFyQ29udGV4dD4+KFRlbXBsYXRlUmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoXG4gICAgICAgIF9kaXJlY3RpdmU6IFRhYmxlVG9vbGJhclRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBjb250ZXh0OiB1bmtub3duXG4gICAgKTogY29udGV4dCBpcyBUb29sYmFyQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyBhIHRhYmxlIHRvb2xiYXIuXG4gKlxuICogYGBgaHRtbFxuICogPGZkcC10YWJsZS10b29sYmFyXG4gKiAgIHRpdGxlPVwiT3JkZXIgTGluZSBJdGVtc1wiXG4gKiAgIFtoaWRlSXRlbUNvdW50XT1cImZhbHNlXCI+XG4gKiA8L2ZkcC10YWJsZS10b29sYmFyPlxuICogYGBgXG4gKiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC10YWJsZS10b29sYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRBQkxFX1RPT0xCQVIsIHVzZUV4aXN0aW5nOiBUYWJsZVRvb2xiYXJDb21wb25lbnQgfV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgICAgIFRvb2xiYXJJdGVtRGlyZWN0aXZlLFxuICAgICAgICBUb29sYmFyU2VwYXJhdG9yQ29tcG9uZW50LFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUb29sYmFyU3BhY2VyRGlyZWN0aXZlLFxuICAgICAgICBTZWFyY2hGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIEZkVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgVGFibGVUb29sYmFyVGVtcGxhdGVEaXJlY3RpdmVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIFRhYmxlVG9vbGJhckludGVyZmFjZSB7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdG9vbGJhciBzaG91bGQgaGlkZSBlbGVtZW50cyBpbiBwb3BvdmVyIHdoZW4gdGhleSBvdmVyZmxvdy5cbiAgICAgKiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvdWxkT3ZlcmZsb3cgPSBmYWxzZTtcblxuICAgIC8qKiBUYWJsZSB0aXRsZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKiogQXJpYSBsYWJlbCBmb3IgdGhlIHNlYXJjaCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlYXJjaEZpZWxkQXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFRvZ2dsZSB0byBzaG93IHRhYmxlIGl0ZW0gY291bnQuICovXG4gICAgQElucHV0KClcbiAgICBoaWRlSXRlbUNvdW50ID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlIHRvIHNob3cgc2VhcmNoIGlucHV0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlkZVNlYXJjaElucHV0ID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlIHRvIGV4cGFuZCBhbmQgY29sbGFwc2UgYWxsIGZlYXR1cmUgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dFeHBhbmRDb2xsYXBzZUJ1dHRvbnMgPSBmYWxzZTtcbiAgICAvKiogU3VnZ2VzdGlvbnMgZm9yIHNlYXJjaCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlYXJjaFN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uSXRlbVtdID0gW107XG5cbiAgICAvKiogVGFibGUgcm93cyBlZGl0L2FkZCBtb2RlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZWRpdE1vZGU6IEVkaXRNb2RlID0gJ25vbmUnO1xuXG4gICAgLyoqIFdoZXRoZXIgZGlzcGxheSBSZWZyZXNoIGJ1dHRvbiBpbiB0aGUgc2VhcmNoIGZpZWxkICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlUmVmcmVzaCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgZGlzcGxheSBzZWFyY2ggYnV0dG9uIGluIHRoZSBzZWFyY2ggZmllbGQgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVTZWFyY2ggPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUYWJsZVRvb2xiYXJBY3Rpb25zQ29tcG9uZW50KVxuICAgIHRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQ6IFRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoVGFibGVUb29sYmFyTGVmdEFjdGlvbnNDb21wb25lbnQpXG4gICAgX3RhYmxlVG9vbGJhckxlZnRBY3Rpb25zQ29tcG9uZW50OiBUYWJsZVRvb2xiYXJMZWZ0QWN0aW9uc0NvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcbiAgICBjb250ZW50VGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRhYmxlVG9vbGJhclRpdGxlSWQ6IHN0cmluZyA9ICdmZC10YWJsZS10b29sYmFyLXRpdGxlLScgKyB0YWJsZVRvb2xiYXJUaXRsZVVuaXF1ZUlkKys7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zaG93U2F2ZUJ1dHRvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2VhcmNoSW5wdXRUZXh0ID0gJyc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IHRhYmxlTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBpbmplY3QoVGFibGVTZXJ2aWNlKS50YWJsZUxvYWRpbmckO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF90YWJsZTogVGFibGUpIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9UYWJsZUV2ZW50cygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3VibWl0U2VhcmNoKHNlYXJjaDogU2VhcmNoSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUuc2VhcmNoKHNlYXJjaCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcGVuU29ydGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUub3BlblRhYmxlU29ydFNldHRpbmdzLmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9wZW5GaWx0ZXJpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLm9wZW5UYWJsZUZpbHRlclNldHRpbmdzLmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9wZW5Hcm91cGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUub3BlblRhYmxlR3JvdXBTZXR0aW5ncy5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcGVuQ29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUub3BlblRhYmxlQ29sdW1uU2V0dGluZ3MuZW1pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2FkZFJvdygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUuYWRkUm93KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2F2ZVJvd3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLnNhdmVSb3dzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY2FuY2VsRWRpdGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUuY2FuY2VsRWRpdGluZygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2V4cGFuZEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUuZXhwYW5kQWxsKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY29sbGFwc2VBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLmNvbGxhcHNlQWxsKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1RhYmxlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZS5lbXB0eVJvd0FkZGVkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2hvd1NhdmVCdXR0b24gPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90YWJsZS5zYXZlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2hvd1NhdmVCdXR0b24gPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdGFibGUuY2FuY2VsLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2hvd1NhdmVCdXR0b24gPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdGFibGUucHJlc2V0Q2hhbmdlZC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXRUZXh0ID0gc3RhdGUuc2VhcmNoSW5wdXQ/LnRleHQgPz8gJyc7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZVxuICAgIGZkcFRhYmxlVG9vbGJhclRlbXBsYXRlXG4gICAgbGV0LWNvdW50ZXI9XCJjb3VudGVyXCJcbiAgICBsZXQtc29ydGFibGU9XCJzb3J0YWJsZVwiXG4gICAgbGV0LWZpbHRlcmFibGU9XCJmaWx0ZXJhYmxlXCJcbiAgICBsZXQtZ3JvdXBhYmxlPVwiZ3JvdXBhYmxlXCJcbiAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxuICAgIGxldC1oYXNBbnlBY3Rpb25zPVwiaGFzQW55QWN0aW9uc1wiXG4+XG4gICAgPGZkLXRvb2xiYXJcbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBbY2xlYXJCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICAgIFt0aXRsZUlkXT1cInRhYmxlVG9vbGJhclRpdGxlSWRcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGUgJiYgIWhpZGVJdGVtQ291bnQgPyB0aXRsZSArICcgKCcgKyBjb3VudGVyKCkgKyAnKScgOiB0aXRsZVwiXG4gICAgICAgIFtzaG91bGRPdmVyZmxvd109XCJzaG91bGRPdmVyZmxvd1wiXG4gICAgPlxuICAgICAgICBAaWYgKF90YWJsZVRvb2xiYXJMZWZ0QWN0aW9uc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgPHNwYW4gZmQtdG9vbGJhci1pdGVtIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCI+XG4gICAgICAgICAgICAgICAgQGlmICghIXRpdGxlIHx8ICFoaWRlSXRlbUNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgIDxmZC10b29sYmFyLXNlcGFyYXRvcj48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiX3RhYmxlVG9vbGJhckxlZnRBY3Rpb25zQ29tcG9uZW50Ll9jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgICAgIDxmZC10b29sYmFyLXNwYWNlcj48L2ZkLXRvb2xiYXItc3BhY2VyPlxuICAgICAgICBAaWYgKCFoaWRlU2VhcmNoSW5wdXQpIHtcbiAgICAgICAgICAgIDxmZHAtc2VhcmNoLWZpZWxkXG4gICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgW3N0eWxlLm1pbi13aWR0aC5yZW1dPVwiMTUuNVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJTZWFyY2hQbGFjZWhvbGRlcicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2lucHV0VGV4dF09XCJfc2VhcmNoSW5wdXRUZXh0XCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiISEodGFibGVMb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgW3N1Z2dlc3Rpb25zXT1cInNlYXJjaFN1Z2dlc3Rpb25zXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZVJlZnJlc2hdPVwiZGlzYWJsZVJlZnJlc2hcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlU2VhcmNoXT1cImRpc2FibGVTZWFyY2hcIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwic2VhcmNoRmllbGRBcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxsZWRCeV09XCJzZWFyY2hGaWVsZEFyaWFMYWJlbCA/IG51bGwgOiB0YWJsZVRvb2xiYXJUaXRsZUlkXCJcbiAgICAgICAgICAgICAgICAoc2VhcmNoU3VibWl0KT1cInN1Ym1pdFNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY2FuY2VsU2VhcmNoKT1cInN1Ym1pdFNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZVN1Z2dlc3Rpb25zRm91bmRBbm5vdW5jZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC9mZHAtc2VhcmNoLWZpZWxkPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoZWRpdE1vZGUgIT09ICdub25lJykge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkNyZWF0ZUJ1dHRvbkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2FkZFJvdygpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIEBpZiAoX3Nob3dTYXZlQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgQGlmIChfc2hvd1NhdmVCdXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uU2F2ZUJ1dHRvbkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfc2F2ZVJvd3MoKVwiXG4gICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGZkLXRvb2xiYXItc2VwYXJhdG9yPjwvZmQtdG9vbGJhci1zZXBhcmF0b3I+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25DYW5jZWxCdXR0b25MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfY2FuY2VsRWRpdGluZygpXCJcbiAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAodGFibGVUb29sYmFyQWN0aW9uc0NvbXBvbmVudCB8fCBoYXNBbnlBY3Rpb25zKCkpIHtcbiAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhci1zZXBhcmF0b3IgZmQtdG9vbGJhci1pdGVtIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCI+PC9mZC10b29sYmFyLXNlcGFyYXRvcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQpIHtcbiAgICAgICAgICAgIDxzcGFuIGZkLXRvb2xiYXItaXRlbSBjbGFzcz1cImZkcC10YWJsZS10b29sYmFyLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVUb29sYmFyQWN0aW9uc0NvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoc2hvd0V4cGFuZENvbGxhcHNlQnV0dG9ucyB8fCBoYXNBbnlBY3Rpb25zKCkpIHtcbiAgICAgICAgICAgIEBpZiAodGFibGVUb29sYmFyQWN0aW9uc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIDxmZC10b29sYmFyLXNlcGFyYXRvciBmZC10b29sYmFyLWl0ZW0gZmRPdmVyZmxvd1ByaW9yaXR5PVwibmV2ZXJcIj48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChzaG93RXhwYW5kQ29sbGFwc2VCdXR0b25zKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJleHBhbmQtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9leHBhbmRBbGwoKVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uRXhwYW5kQWxsQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25FeHBhbmRBbGxCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJjb2xsYXBzZS1hbGxcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2NvbGxhcHNlQWxsKClcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkNvbGxhcHNlQWxsQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25Db2xsYXBzZUFsbEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc29ydGFibGUoKSkge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgICAgIGdseXBoPVwic29ydFwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uU29ydEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uU29ydEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibW9kYWxcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblNvcnRpbmcoKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChmaWx0ZXJhYmxlKCkpIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgZmRPdmVyZmxvd1ByaW9yaXR5PVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uRmlsdGVyQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25GaWx0ZXJCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cIm1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5GaWx0ZXJpbmcoKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChncm91cGFibGUoKSkge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgICAgIGdseXBoPVwiZ3JvdXAtMlwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uR3JvdXBCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkdyb3VwQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJtb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuR3JvdXBpbmcoKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChjb2x1bW5zKCkpIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgZmRPdmVyZmxvd1ByaW9yaXR5PVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImFjdGlvbi1zZXR0aW5nc1wiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uQ29sdW1uc0J1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uQ29sdW1uc0J1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibW9kYWxcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkNvbHVtbnMoKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgPC9mZC10b29sYmFyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtdG9vbGJhci90YWJsZS10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vdGFibGUvY29tcG9uZW50cy90YWJsZS10b29sYmFyL3RhYmxlLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsS0FBSyxFQUVMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDekIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUErQixNQUFNLHdDQUF3QyxDQUFDO0FBQzNHLE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBeUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVB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V0FBVyxnRENoSjFCLDYrTkErSkEsNENEOUVRLGdCQUFnQiwrTUFDaEIsb0JBQW9CLDBKQUNwQix5QkFBeUIsaUVBQ3pCLGdCQUFnQixvSkFDaEIsc0JBQXNCLG1HQUN0QixvQkFBb0Isa2JBQ3BCLGVBQWUsb0lBQ2YsU0FBUyx5Q0FDVCxlQUFlLG9EQXhDViw2QkFBNkI7OzJGQTRDN0IscUJBQXFCO2tCQXBCakMsU0FBUzsrQkFDSSxtQkFBbUIsbUJBRVosdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLHVCQUF1QixFQUFFLENBQUMsY0FDL0QsSUFBSSxXQUNQO3dCQUNMLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsU0FBUzt3QkFDVCxlQUFlO3dCQUNmLDZCQUE2QjtxQkFDaEM7MEVBT0QsY0FBYztzQkFEYixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFLTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixjQUFjO3NCQURiLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLDRCQUE0QjtzQkFEM0IsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBSzFDLGlDQUFpQztzQkFEaEMsWUFBWTt1QkFBQyxnQ0FBZ0M7Z0JBSzlDLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIElucHV0LFxuICAgIFNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBUb29sYmFySXRlbURpcmVjdGl2ZSxcbiAgICBUb29sYmFyU2VwYXJhdG9yQ29tcG9uZW50LFxuICAgIFRvb2xiYXJTcGFjZXJEaXJlY3RpdmVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3Rvb2xiYXInO1xuaW1wb3J0IHsgRmRUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IFNlYXJjaEZpZWxkQ29tcG9uZW50LCBTZWFyY2hJbnB1dCwgU3VnZ2VzdGlvbkl0ZW0gfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NlYXJjaC1maWVsZCc7XG5pbXBvcnQgeyBUYWJsZSwgVGFibGVTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcbmltcG9ydCB7IFRBQkxFX1RPT0xCQVIsIFRhYmxlVG9vbGJhckludGVyZmFjZSB9IGZyb20gJy4vdGFibGUtdG9vbGJhcic7XG5pbXBvcnQgeyBUYWJsZVRvb2xiYXJBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS10b29sYmFyLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlVG9vbGJhckxlZnRBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS10b29sYmFyLWxlZnQtYWN0aW9ucy5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xiYXJDb250ZXh0IHtcbiAgICBjb3VudGVyOiBTaWduYWw8bnVtYmVyPjtcbiAgICBzb3J0YWJsZTogU2lnbmFsPGJvb2xlYW4+O1xuICAgIGZpbHRlcmFibGU6IFNpZ25hbDxib29sZWFuPjtcbiAgICBncm91cGFibGU6IFNpZ25hbDxib29sZWFuPjtcbiAgICBjb2x1bW5zOiBTaWduYWw8Ym9vbGVhbj47XG4gICAgaGFzQW55QWN0aW9uczogU2lnbmFsPGJvb2xlYW4+O1xufVxuXG5leHBvcnQgdHlwZSBFZGl0TW9kZSA9ICdub25lJyB8ICdpbmxpbmUnO1xuXG5sZXQgdGFibGVUb29sYmFyVGl0bGVVbmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkcFRhYmxlVG9vbGJhclRlbXBsYXRlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVRvb2xiYXJUZW1wbGF0ZURpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjxUb29sYmFyQ29udGV4dD4+KFRlbXBsYXRlUmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG5nVGVtcGxhdGVDb250ZXh0R3VhcmQoXG4gICAgICAgIF9kaXJlY3RpdmU6IFRhYmxlVG9vbGJhclRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBjb250ZXh0OiB1bmtub3duXG4gICAgKTogY29udGV4dCBpcyBUb29sYmFyQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyBhIHRhYmxlIHRvb2xiYXIuXG4gKlxuICogYGBgaHRtbFxuICogPGZkcC10YWJsZS10b29sYmFyXG4gKiAgIHRpdGxlPVwiT3JkZXIgTGluZSBJdGVtc1wiXG4gKiAgIFtoaWRlSXRlbUNvdW50XT1cImZhbHNlXCI+XG4gKiA8L2ZkcC10YWJsZS10b29sYmFyPlxuICogYGBgXG4gKiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC10YWJsZS10b29sYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFRBQkxFX1RPT0xCQVIsIHVzZUV4aXN0aW5nOiBUYWJsZVRvb2xiYXJDb21wb25lbnQgfV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgICAgIFRvb2xiYXJJdGVtRGlyZWN0aXZlLFxuICAgICAgICBUb29sYmFyU2VwYXJhdG9yQ29tcG9uZW50LFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUb29sYmFyU3BhY2VyRGlyZWN0aXZlLFxuICAgICAgICBTZWFyY2hGaWVsZENvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIEZkVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgVGFibGVUb29sYmFyVGVtcGxhdGVEaXJlY3RpdmVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIFRhYmxlVG9vbGJhckludGVyZmFjZSB7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdG9vbGJhciBzaG91bGQgaGlkZSBlbGVtZW50cyBpbiBwb3BvdmVyIHdoZW4gdGhleSBvdmVyZmxvdy5cbiAgICAgKiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvdWxkT3ZlcmZsb3cgPSBmYWxzZTtcblxuICAgIC8qKiBUYWJsZSB0aXRsZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKiogQXJpYSBsYWJlbCBmb3IgdGhlIHNlYXJjaCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlYXJjaEZpZWxkQXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFRvZ2dsZSB0byBzaG93IHRhYmxlIGl0ZW0gY291bnQuICovXG4gICAgQElucHV0KClcbiAgICBoaWRlSXRlbUNvdW50ID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlIHRvIHNob3cgc2VhcmNoIGlucHV0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlkZVNlYXJjaElucHV0ID0gZmFsc2U7XG5cbiAgICAvKiogVG9nZ2xlIHRvIGV4cGFuZCBhbmQgY29sbGFwc2UgYWxsIGZlYXR1cmUgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dFeHBhbmRDb2xsYXBzZUJ1dHRvbnMgPSBmYWxzZTtcbiAgICAvKiogU3VnZ2VzdGlvbnMgZm9yIHNlYXJjaCBmaWVsZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNlYXJjaFN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uSXRlbVtdID0gW107XG5cbiAgICAvKiogVGFibGUgcm93cyBlZGl0L2FkZCBtb2RlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZWRpdE1vZGU6IEVkaXRNb2RlID0gJ25vbmUnO1xuXG4gICAgLyoqIFdoZXRoZXIgZGlzcGxheSBSZWZyZXNoIGJ1dHRvbiBpbiB0aGUgc2VhcmNoIGZpZWxkICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlUmVmcmVzaCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgZGlzcGxheSBzZWFyY2ggYnV0dG9uIGluIHRoZSBzZWFyY2ggZmllbGQgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVTZWFyY2ggPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUYWJsZVRvb2xiYXJBY3Rpb25zQ29tcG9uZW50KVxuICAgIHRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQ6IFRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoVGFibGVUb29sYmFyTGVmdEFjdGlvbnNDb21wb25lbnQpXG4gICAgX3RhYmxlVG9vbGJhckxlZnRBY3Rpb25zQ29tcG9uZW50OiBUYWJsZVRvb2xiYXJMZWZ0QWN0aW9uc0NvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcbiAgICBjb250ZW50VGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRhYmxlVG9vbGJhclRpdGxlSWQ6IHN0cmluZyA9ICdmZC10YWJsZS10b29sYmFyLXRpdGxlLScgKyB0YWJsZVRvb2xiYXJUaXRsZVVuaXF1ZUlkKys7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zaG93U2F2ZUJ1dHRvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2VhcmNoSW5wdXRUZXh0ID0gJyc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IHRhYmxlTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBpbmplY3QoVGFibGVTZXJ2aWNlKS50YWJsZUxvYWRpbmckO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF90YWJsZTogVGFibGUpIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9UYWJsZUV2ZW50cygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3VibWl0U2VhcmNoKHNlYXJjaDogU2VhcmNoSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUuc2VhcmNoKHNlYXJjaCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcGVuU29ydGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUub3BlblRhYmxlU29ydFNldHRpbmdzLmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9wZW5GaWx0ZXJpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLm9wZW5UYWJsZUZpbHRlclNldHRpbmdzLmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9wZW5Hcm91cGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUub3BlblRhYmxlR3JvdXBTZXR0aW5ncy5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcGVuQ29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUub3BlblRhYmxlQ29sdW1uU2V0dGluZ3MuZW1pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2FkZFJvdygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUuYWRkUm93KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2F2ZVJvd3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLnNhdmVSb3dzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY2FuY2VsRWRpdGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUuY2FuY2VsRWRpdGluZygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2V4cGFuZEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUuZXhwYW5kQWxsKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY29sbGFwc2VBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLmNvbGxhcHNlQWxsKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1RhYmxlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZS5lbXB0eVJvd0FkZGVkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2hvd1NhdmVCdXR0b24gPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90YWJsZS5zYXZlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2hvd1NhdmVCdXR0b24gPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdGFibGUuY2FuY2VsLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2hvd1NhdmVCdXR0b24gPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdGFibGUucHJlc2V0Q2hhbmdlZC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXRUZXh0ID0gc3RhdGUuc2VhcmNoSW5wdXQ/LnRleHQgPz8gJyc7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZVxuICAgIGZkcFRhYmxlVG9vbGJhclRlbXBsYXRlXG4gICAgbGV0LWNvdW50ZXI9XCJjb3VudGVyXCJcbiAgICBsZXQtc29ydGFibGU9XCJzb3J0YWJsZVwiXG4gICAgbGV0LWZpbHRlcmFibGU9XCJmaWx0ZXJhYmxlXCJcbiAgICBsZXQtZ3JvdXBhYmxlPVwiZ3JvdXBhYmxlXCJcbiAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxuICAgIGxldC1oYXNBbnlBY3Rpb25zPVwiaGFzQW55QWN0aW9uc1wiXG4+XG4gICAgPGZkLXRvb2xiYXJcbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBbdGl0bGVJZF09XCJ0YWJsZVRvb2xiYXJUaXRsZUlkXCJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlICYmICFoaWRlSXRlbUNvdW50ID8gdGl0bGUgKyAnICgnICsgY291bnRlcigpICsgJyknIDogdGl0bGVcIlxuICAgICAgICBbc2hvdWxkT3ZlcmZsb3ddPVwic2hvdWxkT3ZlcmZsb3dcIlxuICAgID5cbiAgICAgICAgQGlmIChfdGFibGVUb29sYmFyTGVmdEFjdGlvbnNDb21wb25lbnQpIHtcbiAgICAgICAgICAgIDxzcGFuIGZkLXRvb2xiYXItaXRlbSBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiPlxuICAgICAgICAgICAgICAgIEBpZiAoISF0aXRsZSB8fCAhaGlkZUl0ZW1Db3VudCkge1xuICAgICAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhci1zZXBhcmF0b3I+PC9mZC10b29sYmFyLXNlcGFyYXRvcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIl90YWJsZVRvb2xiYXJMZWZ0QWN0aW9uc0NvbXBvbmVudC5fY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICA8ZmQtdG9vbGJhci1zcGFjZXI+PC9mZC10b29sYmFyLXNwYWNlcj5cbiAgICAgICAgQGlmICghaGlkZVNlYXJjaElucHV0KSB7XG4gICAgICAgICAgICA8ZmRwLXNlYXJjaC1maWVsZFxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIFtzdHlsZS5taW4td2lkdGgucmVtXT1cIjE1LjVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyU2VhcmNoUGxhY2Vob2xkZXInIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtpbnB1dFRleHRdPVwiX3NlYXJjaElucHV0VGV4dFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhKHRhYmxlTG9hZGluZyQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgIFtzdWdnZXN0aW9uc109XCJzZWFyY2hTdWdnZXN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVSZWZyZXNoXT1cImRpc2FibGVSZWZyZXNoXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZVNlYXJjaF09XCJkaXNhYmxlU2VhcmNoXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cInNlYXJjaEZpZWxkQXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICBbYXJpYUxhYmVsbGVkQnldPVwic2VhcmNoRmllbGRBcmlhTGFiZWwgPyBudWxsIDogdGFibGVUb29sYmFyVGl0bGVJZFwiXG4gICAgICAgICAgICAgICAgKHNlYXJjaFN1Ym1pdCk9XCJzdWJtaXRTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGNhbmNlbFNlYXJjaCk9XCJzdWJtaXRTZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVTdWdnZXN0aW9uc0ZvdW5kQW5ub3VuY2VyXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvZmRwLXNlYXJjaC1maWVsZD5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGVkaXRNb2RlICE9PSAnbm9uZScpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25DcmVhdGVCdXR0b25MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9hZGRSb3coKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICBAaWYgKF9zaG93U2F2ZUJ1dHRvbikge1xuICAgICAgICAgICAgICAgIEBpZiAoX3Nob3dTYXZlQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvblNhdmVCdXR0b25MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX3NhdmVSb3dzKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxmZC10b29sYmFyLXNlcGFyYXRvcj48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uQ2FuY2VsQnV0dG9uTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2NhbmNlbEVkaXRpbmcoKVwiXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQgfHwgaGFzQW55QWN0aW9ucygpKSB7XG4gICAgICAgICAgICAgICAgPGZkLXRvb2xiYXItc2VwYXJhdG9yIGZkLXRvb2xiYXItaXRlbSBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiPjwvZmQtdG9vbGJhci1zZXBhcmF0b3I+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICh0YWJsZVRvb2xiYXJBY3Rpb25zQ29tcG9uZW50KSB7XG4gICAgICAgICAgICA8c3BhbiBmZC10b29sYmFyLWl0ZW0gY2xhc3M9XCJmZHAtdGFibGUtdG9vbGJhci1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHNob3dFeHBhbmRDb2xsYXBzZUJ1dHRvbnMgfHwgaGFzQW55QWN0aW9ucygpKSB7XG4gICAgICAgICAgICBAaWYgKHRhYmxlVG9vbGJhckFjdGlvbnNDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhci1zZXBhcmF0b3IgZmQtdG9vbGJhci1pdGVtIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCI+PC9mZC10b29sYmFyLXNlcGFyYXRvcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc2hvd0V4cGFuZENvbGxhcHNlQnV0dG9ucykge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgICAgIGdseXBoPVwiZXhwYW5kLWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfZXhwYW5kQWxsKClcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkV4cGFuZEFsbEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uRXhwYW5kQWxsQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgICAgICBmZE92ZXJmbG93UHJpb3JpdHk9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgICAgIGdseXBoPVwiY29sbGFwc2UtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jb2xsYXBzZUFsbCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25Db2xsYXBzZUFsbEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uQ29sbGFwc2VBbGxCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHNvcnRhYmxlKCkpIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgZmRPdmVyZmxvd1ByaW9yaXR5PVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cInNvcnRcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvblNvcnRCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvblNvcnRCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cIm1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Tb3J0aW5nKClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZmlsdGVyYWJsZSgpKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJmaWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkZpbHRlckJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCIncGxhdGZvcm1UYWJsZS50b29sYmFyQWN0aW9uRmlsdGVyQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJtb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRmlsdGVyaW5nKClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZ3JvdXBhYmxlKCkpIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgZmRPdmVyZmxvd1ByaW9yaXR5PVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImdyb3VwLTJcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkdyb3VwQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLnRvb2xiYXJBY3Rpb25Hcm91cEJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibW9kYWxcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbkdyb3VwaW5nKClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoY29sdW1ucygpKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgICAgIGZkT3ZlcmZsb3dQcmlvcml0eT1cIm5ldmVyXCJcbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJhY3Rpb24tc2V0dGluZ3NcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkNvbHVtbnNCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUudG9vbGJhckFjdGlvbkNvbHVtbnNCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cIm1vZGFsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Db2x1bW5zKClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvZmQtdG9vbGJhcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=