@fundamental-ngx/platform 0.43.8 → 0.43.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dynamic-page/dynamic-page.component.d.ts +4 -2
  2. package/esm2020/dynamic-page/dynamic-page.component.mjs +9 -6
  3. package/esm2020/search-field/search-field.component.mjs +3 -3
  4. package/esm2020/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +27 -21
  5. package/esm2020/table/components/table-header-row/table-header-row.component.mjs +3 -3
  6. package/esm2020/table-helpers/models/column-freeze-event.model.mjs +1 -1
  7. package/esm2020/table-helpers/table.mjs +1 -1
  8. package/fesm2015/fundamental-ngx-platform-dynamic-page.mjs +9 -6
  9. package/fesm2015/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  10. package/fesm2015/fundamental-ngx-platform-search-field.mjs +2 -2
  11. package/fesm2015/fundamental-ngx-platform-search-field.mjs.map +1 -1
  12. package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  13. package/fesm2015/fundamental-ngx-platform-table.mjs +31 -21
  14. package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
  15. package/fesm2020/fundamental-ngx-platform-dynamic-page.mjs +9 -6
  16. package/fesm2020/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  17. package/fesm2020/fundamental-ngx-platform-search-field.mjs +2 -2
  18. package/fesm2020/fundamental-ngx-platform-search-field.mjs.map +1 -1
  19. package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  20. package/fesm2020/fundamental-ngx-platform-table.mjs +27 -21
  21. package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
  22. package/fundamental-ngx-platform-v0.43.9.tgz +0 -0
  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 +9 -13
  26. package/table-helpers/models/column-freeze-event.model.d.ts +5 -0
  27. package/table-helpers/table.d.ts +1 -1
  28. package/fundamental-ngx-platform-v0.43.8.tgz +0 -0
@@ -1,7 +1,7 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output, QueryList, ViewChild, ViewChildren, ViewEncapsulation } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, inject, Input, QueryList, ViewChild, ViewChildren, ViewEncapsulation } from '@angular/core';
2
2
  import { DestroyedService, TemplateDirective } from '@fundamental-ngx/cdk/utils';
3
3
  import { PopoverComponent } from '@fundamental-ngx/core/popover';
4
- import { FILTER_STRING_STRATEGY, FilterableColumnDataType, SortDirection, TableColumn, TableService } from '@fundamental-ngx/platform/table-helpers';
4
+ import { FILTER_STRING_STRATEGY, FilterableColumnDataType, SortDirection, Table, TableColumn, TableService } from '@fundamental-ngx/platform/table-helpers';
5
5
  import { BehaviorSubject } from 'rxjs';
6
6
  import { startWith, takeUntil } from 'rxjs/operators';
7
7
  import * as i0 from "@angular/core";
@@ -21,18 +21,6 @@ export class TableCellHeaderPopoverComponent {
21
21
  this.columnFrozen = false;
22
22
  /** Whether the filtering from header is disabled. */
23
23
  this.filteringFromHeaderDisabled = false;
24
- /** Column freezing. */
25
- this.freezeToColumn = new EventEmitter();
26
- /** Column unfreezing. */
27
- this.unFreeze = new EventEmitter();
28
- /** @hidden */
29
- this._popoverItems$ = new BehaviorSubject([]);
30
- /** @hidden */
31
- this.SORT_DIRECTION = SortDirection;
32
- /** @hidden */
33
- this._destroy$ = inject(DestroyedService);
34
- /** @hidden */
35
- this._tableService = inject(TableService);
36
24
  /** @hidden */
37
25
  this._headerPopoverTriggers = [
38
26
  {
@@ -54,6 +42,16 @@ export class TableCellHeaderPopoverComponent {
54
42
  stopPropagation: true
55
43
  }
56
44
  ];
45
+ /** @hidden */
46
+ this._popoverItems$ = new BehaviorSubject([]);
47
+ /** @hidden */
48
+ this.SORT_DIRECTION = SortDirection;
49
+ /** @hidden */
50
+ this._destroy$ = inject(DestroyedService);
51
+ /** @hidden */
52
+ this._tableService = inject(TableService);
53
+ /** @hidden */
54
+ this._table = inject(Table);
57
55
  }
58
56
  /** @hidden */
59
57
  ngAfterViewInit() {
@@ -64,6 +62,7 @@ export class TableCellHeaderPopoverComponent {
64
62
  /** @hidden */
65
63
  _setColumnHeaderSortBy(field, direction) {
66
64
  this._tableService.setSort([{ field, direction }]);
65
+ this.popover?.close();
67
66
  }
68
67
  /** @hidden */
69
68
  _setColumnHeaderGroupBy(field) {
@@ -90,13 +89,24 @@ export class TableCellHeaderPopoverComponent {
90
89
  exclude: false
91
90
  };
92
91
  this._tableService.addFilters([collectionFilter]);
92
+ this.popover?.close();
93
+ }
94
+ /** @hidden */
95
+ _freeze() {
96
+ this._table.freezeToColumn(this.column.name, this.column.endFreezable);
97
+ this.popover?.close();
98
+ }
99
+ /** @hidden */
100
+ _unFreeze() {
101
+ this._table.unfreeze(this.column.name, this.column.endFreezable);
102
+ this.popover?.close();
93
103
  }
94
104
  }
95
105
  TableCellHeaderPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellHeaderPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
96
- TableCellHeaderPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableCellHeaderPopoverComponent, selector: "fdp-table-cell-header-popover", inputs: { column: "column", popoverTemplate: "popoverTemplate", disabled: "disabled", columnFrozen: "columnFrozen", filteringFromHeaderDisabled: "filteringFromHeaderDisabled" }, outputs: { freezeToColumn: "freezeToColumn", unFreeze: "unFreeze" }, providers: [DestroyedService], viewQueries: [{ propertyName: "popover", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "_popoverItems", predicate: TemplateDirective, descendants: true }], ngImport: i0, template: "<fd-popover\n [disabled]=\"disabled\"\n [noArrow]=\"true\"\n fd-table-popover\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n *ngIf=\"!popoverTemplate; else projectedPopover\"\n [triggers]=\"_headerPopoverTriggers\"\n>\n <fdp-list [noBorder]=\"true\" [navigated]=\"true\">\n <fdp-free-content-list-item *ngFor=\"let item of _popoverItems$.asObservable() | async\">\n <ng-template [ngTemplateOutlet]=\"item\" [ngTemplateOutletContext]=\"{ popover: popover }\"></ng-template>\n </fdp-free-content-list-item>\n </fdp-list>\n</fd-popover>\n<ng-template #projectedPopover>\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate!\"\n [ngTemplateOutletContext]=\"{ $implicit: _popoverItems$.asObservable() }\"\n ></ng-template>\n</ng-template>\n\n<ng-container *ngIf=\"column?.sortable\">\n <ng-template fdkTemplate=\"sortingAscPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC); popover?.close()\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC); popover?.close()\"\n >\n <span fd-list-icon glyph=\"sort-ascending\"></span>\n <span fd-list-title>{{ 'platformTable.headerMenuSortAsc' | fdTranslate }}</span>\n </a>\n </ng-template>\n <ng-template fdkTemplate=\"sortingDescPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC); popover?.close()\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC); popover?.close()\"\n >\n <span fd-list-icon glyph=\"sort-descending\"></span>\n <span fd-list-title>{{ 'platformTable.headerMenuSortDesc' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.groupable\">\n <ng-template fdkTemplate=\"groupPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderGroupBy(column.key); popover?.close()\"\n (keydown.enter)=\"_setColumnHeaderGroupBy(column.key); popover?.close()\"\n >\n <span fd-list-icon></span>\n <span fd-list-title>{{ 'platformTable.headerMenuGroup' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.freezable || column?.endFreezable\">\n <ng-template fdkTemplate=\"freezePopoverItem\" let-popover=\"popover\">\n <ng-container *ngIf=\"columnFrozen; else unfreezeTpl\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"\n freezeToColumn.emit({ name: column.name, endFreezable: column.endFreezable }); popover?.close()\n \"\n (keyup.enter)=\"\n freezeToColumn.emit({ name: column.name, endFreezable: column.endFreezable }); popover?.close()\n \"\n >\n <span></span>\n <span fd-list-title *ngIf=\"!column.endFreezable\">{{\n 'platformTable.headerMenuFreeze' | fdTranslate\n }}</span>\n <span fd-list-title *ngIf=\"column.endFreezable\">{{\n 'platformTable.headerMenuEndFreeze' | fdTranslate\n }}</span>\n </a>\n </ng-container>\n <ng-template #unfreezeTpl>\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"unFreeze.emit({ name: column.name, endFreezable: column.endFreezable }); popover?.close()\"\n (keyup.enter)=\"\n unFreeze.emit({ name: column.name, endFreezable: column.endFreezable }); popover?.close()\n \"\n >\n <span></span>\n <span fd-list-title>{{ 'platformTable.headerMenuUnfreeze' | fdTranslate }}</span>\n </a>\n </ng-template>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.filterable && !filteringFromHeaderDisabled\">\n <ng-template fdkTemplate=\"filteringPopoverItem\" let-popover=\"popover\">\n <div fd-list-link style=\"cursor: auto\">\n <i fd-list-icon glyph=\"filter\"></i>\n <div fd-form-item [horizontal]=\"true\" (click)=\"$event.stopPropagation()\">\n <label fd-form-label [for]=\"'fdp-table-column-filtering-' + column.name\">{{\n 'platformTable.headerMenuFilter' | fdTranslate\n }}</label>\n <input\n fd-form-control\n [id]=\"'fdp-table-column-filtering-' + column.name\"\n (keydown.enter)=\"_setColumnHeaderFilterBy(column.key, $any($event.target)?.value); popover?.close()\"\n />\n </div>\n </div>\n </ng-template>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.TablePopoverDirective, selector: "[fdTablePopover], [fd-table-popover]" }, { kind: "component", type: i3.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i3.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i3.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i3.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: i4.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i5.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i5.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "class", "role"] }, { kind: "directive", type: i5.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.ListComponent, selector: "fdp-list", inputs: ["selectedItems", "ariaSetsize", "ariaMultiselectable", "loadTitle", "loadingLabel", "delayTime", "itemSize", "loadMore", "loadOnScroll", "role", "listType", "maxHeight", "noBorder", "scrollOffsetPercentage", "selection", "selectionMode", "value", "rowSelection", "dataSource", "navigated", "navigationIndicator", "hasByLine", "hasObject", "unreadIndicator"], outputs: ["selectedItemChange"] }, { kind: "component", type: i7.FreeContentListItemComponent, selector: "fdp-free-content-list-item" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
106
+ TableCellHeaderPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableCellHeaderPopoverComponent, selector: "fdp-table-cell-header-popover", inputs: { column: "column", popoverTemplate: "popoverTemplate", disabled: "disabled", columnFrozen: "columnFrozen", filteringFromHeaderDisabled: "filteringFromHeaderDisabled" }, providers: [DestroyedService], viewQueries: [{ propertyName: "popover", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "_popoverItems", predicate: TemplateDirective, descendants: true }], ngImport: i0, template: "<fd-popover\n [disabled]=\"disabled\"\n [noArrow]=\"true\"\n fd-table-popover\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n *ngIf=\"!popoverTemplate; else projectedPopover\"\n [triggers]=\"_headerPopoverTriggers\"\n>\n <fdp-list [noBorder]=\"true\" [navigated]=\"true\">\n <fdp-free-content-list-item *ngFor=\"let item of _popoverItems$.asObservable() | async\">\n <ng-template [ngTemplateOutlet]=\"item\" [ngTemplateOutletContext]=\"{ popover: popover }\"></ng-template>\n </fdp-free-content-list-item>\n </fdp-list>\n</fd-popover>\n<ng-template #projectedPopover>\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate!\"\n [ngTemplateOutletContext]=\"{ $implicit: _popoverItems$.asObservable() }\"\n ></ng-template>\n</ng-template>\n\n<ng-container *ngIf=\"column?.sortable\">\n <ng-template fdkTemplate=\"sortingAscPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n >\n <span fd-list-icon glyph=\"sort-ascending\"></span>\n <span fd-list-title>{{ 'platformTable.headerMenuSortAsc' | fdTranslate }}</span>\n </a>\n </ng-template>\n <ng-template fdkTemplate=\"sortingDescPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n >\n <span fd-list-icon glyph=\"sort-descending\"></span>\n <span fd-list-title>{{ 'platformTable.headerMenuSortDesc' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.groupable\">\n <ng-template fdkTemplate=\"groupPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderGroupBy(column.key)\"\n (keydown.enter)=\"_setColumnHeaderGroupBy(column.key)\"\n >\n <span fd-list-icon></span>\n <span fd-list-title>{{ 'platformTable.headerMenuGroup' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.freezable || column?.endFreezable\">\n <ng-template fdkTemplate=\"freezePopoverItem\" let-popover=\"popover\">\n <ng-container *ngIf=\"!columnFrozen; else unfreezeTpl\">\n <a fd-list-link [focusable]=\"true\" (click)=\"_freeze()\" (keyup.enter)=\"_freeze()\">\n <span></span>\n <span fd-list-title *ngIf=\"!column.endFreezable\">{{\n 'platformTable.headerMenuFreeze' | fdTranslate\n }}</span>\n <span fd-list-title *ngIf=\"column.endFreezable\">{{\n 'platformTable.headerMenuEndFreeze' | fdTranslate\n }}</span>\n </a>\n </ng-container>\n <ng-template #unfreezeTpl>\n <a fd-list-link [focusable]=\"true\" (click)=\"_unFreeze()\" (keyup.enter)=\"_unFreeze()\">\n <span></span>\n <span fd-list-title>{{ 'platformTable.headerMenuUnfreeze' | fdTranslate }}</span>\n </a>\n </ng-template>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.filterable && !filteringFromHeaderDisabled\">\n <ng-template fdkTemplate=\"filteringPopoverItem\" let-popover=\"popover\">\n <div fd-list-link style=\"cursor: auto\">\n <i fd-list-icon glyph=\"filter\"></i>\n <div fd-form-item [horizontal]=\"true\" (click)=\"$event.stopPropagation()\">\n <label fd-form-label [for]=\"'fdp-table-column-filtering-' + column.name\">{{\n 'platformTable.headerMenuFilter' | fdTranslate\n }}</label>\n <input\n fd-form-control\n [id]=\"'fdp-table-column-filtering-' + column.name\"\n (keydown.enter)=\"_setColumnHeaderFilterBy(column.key, $any($event.target)?.value)\"\n />\n </div>\n </div>\n </ng-template>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.TablePopoverDirective, selector: "[fdTablePopover], [fd-table-popover]" }, { kind: "component", type: i3.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i3.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i3.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i3.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: i4.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i5.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i5.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "class", "role"] }, { kind: "directive", type: i5.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.ListComponent, selector: "fdp-list", inputs: ["selectedItems", "ariaSetsize", "ariaMultiselectable", "loadTitle", "loadingLabel", "delayTime", "itemSize", "loadMore", "loadOnScroll", "role", "listType", "maxHeight", "noBorder", "scrollOffsetPercentage", "selection", "selectionMode", "value", "rowSelection", "dataSource", "navigated", "navigationIndicator", "hasByLine", "hasObject", "unreadIndicator"], outputs: ["selectedItemChange"] }, { kind: "component", type: i7.FreeContentListItemComponent, selector: "fdp-free-content-list-item" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
97
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellHeaderPopoverComponent, decorators: [{
98
108
  type: Component,
99
- args: [{ selector: 'fdp-table-cell-header-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DestroyedService], template: "<fd-popover\n [disabled]=\"disabled\"\n [noArrow]=\"true\"\n fd-table-popover\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n *ngIf=\"!popoverTemplate; else projectedPopover\"\n [triggers]=\"_headerPopoverTriggers\"\n>\n <fdp-list [noBorder]=\"true\" [navigated]=\"true\">\n <fdp-free-content-list-item *ngFor=\"let item of _popoverItems$.asObservable() | async\">\n <ng-template [ngTemplateOutlet]=\"item\" [ngTemplateOutletContext]=\"{ popover: popover }\"></ng-template>\n </fdp-free-content-list-item>\n </fdp-list>\n</fd-popover>\n<ng-template #projectedPopover>\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate!\"\n [ngTemplateOutletContext]=\"{ $implicit: _popoverItems$.asObservable() }\"\n ></ng-template>\n</ng-template>\n\n<ng-container *ngIf=\"column?.sortable\">\n <ng-template fdkTemplate=\"sortingAscPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC); popover?.close()\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC); popover?.close()\"\n >\n <span fd-list-icon glyph=\"sort-ascending\"></span>\n <span fd-list-title>{{ 'platformTable.headerMenuSortAsc' | fdTranslate }}</span>\n </a>\n </ng-template>\n <ng-template fdkTemplate=\"sortingDescPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC); popover?.close()\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC); popover?.close()\"\n >\n <span fd-list-icon glyph=\"sort-descending\"></span>\n <span fd-list-title>{{ 'platformTable.headerMenuSortDesc' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.groupable\">\n <ng-template fdkTemplate=\"groupPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderGroupBy(column.key); popover?.close()\"\n (keydown.enter)=\"_setColumnHeaderGroupBy(column.key); popover?.close()\"\n >\n <span fd-list-icon></span>\n <span fd-list-title>{{ 'platformTable.headerMenuGroup' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.freezable || column?.endFreezable\">\n <ng-template fdkTemplate=\"freezePopoverItem\" let-popover=\"popover\">\n <ng-container *ngIf=\"columnFrozen; else unfreezeTpl\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"\n freezeToColumn.emit({ name: column.name, endFreezable: column.endFreezable }); popover?.close()\n \"\n (keyup.enter)=\"\n freezeToColumn.emit({ name: column.name, endFreezable: column.endFreezable }); popover?.close()\n \"\n >\n <span></span>\n <span fd-list-title *ngIf=\"!column.endFreezable\">{{\n 'platformTable.headerMenuFreeze' | fdTranslate\n }}</span>\n <span fd-list-title *ngIf=\"column.endFreezable\">{{\n 'platformTable.headerMenuEndFreeze' | fdTranslate\n }}</span>\n </a>\n </ng-container>\n <ng-template #unfreezeTpl>\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"unFreeze.emit({ name: column.name, endFreezable: column.endFreezable }); popover?.close()\"\n (keyup.enter)=\"\n unFreeze.emit({ name: column.name, endFreezable: column.endFreezable }); popover?.close()\n \"\n >\n <span></span>\n <span fd-list-title>{{ 'platformTable.headerMenuUnfreeze' | fdTranslate }}</span>\n </a>\n </ng-template>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.filterable && !filteringFromHeaderDisabled\">\n <ng-template fdkTemplate=\"filteringPopoverItem\" let-popover=\"popover\">\n <div fd-list-link style=\"cursor: auto\">\n <i fd-list-icon glyph=\"filter\"></i>\n <div fd-form-item [horizontal]=\"true\" (click)=\"$event.stopPropagation()\">\n <label fd-form-label [for]=\"'fdp-table-column-filtering-' + column.name\">{{\n 'platformTable.headerMenuFilter' | fdTranslate\n }}</label>\n <input\n fd-form-control\n [id]=\"'fdp-table-column-filtering-' + column.name\"\n (keydown.enter)=\"_setColumnHeaderFilterBy(column.key, $any($event.target)?.value); popover?.close()\"\n />\n </div>\n </div>\n </ng-template>\n</ng-container>\n" }]
109
+ args: [{ selector: 'fdp-table-cell-header-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DestroyedService], template: "<fd-popover\n [disabled]=\"disabled\"\n [noArrow]=\"true\"\n fd-table-popover\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n *ngIf=\"!popoverTemplate; else projectedPopover\"\n [triggers]=\"_headerPopoverTriggers\"\n>\n <fdp-list [noBorder]=\"true\" [navigated]=\"true\">\n <fdp-free-content-list-item *ngFor=\"let item of _popoverItems$.asObservable() | async\">\n <ng-template [ngTemplateOutlet]=\"item\" [ngTemplateOutletContext]=\"{ popover: popover }\"></ng-template>\n </fdp-free-content-list-item>\n </fdp-list>\n</fd-popover>\n<ng-template #projectedPopover>\n <ng-template\n [ngTemplateOutlet]=\"popoverTemplate!\"\n [ngTemplateOutletContext]=\"{ $implicit: _popoverItems$.asObservable() }\"\n ></ng-template>\n</ng-template>\n\n<ng-container *ngIf=\"column?.sortable\">\n <ng-template fdkTemplate=\"sortingAscPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.ASC)\"\n >\n <span fd-list-icon glyph=\"sort-ascending\"></span>\n <span fd-list-title>{{ 'platformTable.headerMenuSortAsc' | fdTranslate }}</span>\n </a>\n </ng-template>\n <ng-template fdkTemplate=\"sortingDescPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n (keydown.enter)=\"_setColumnHeaderSortBy(column.key, SORT_DIRECTION.DESC)\"\n >\n <span fd-list-icon glyph=\"sort-descending\"></span>\n <span fd-list-title>{{ 'platformTable.headerMenuSortDesc' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.groupable\">\n <ng-template fdkTemplate=\"groupPopoverItem\" let-popover=\"popover\">\n <a\n fd-list-link\n [focusable]=\"true\"\n (click)=\"_setColumnHeaderGroupBy(column.key)\"\n (keydown.enter)=\"_setColumnHeaderGroupBy(column.key)\"\n >\n <span fd-list-icon></span>\n <span fd-list-title>{{ 'platformTable.headerMenuGroup' | fdTranslate }}</span>\n </a>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.freezable || column?.endFreezable\">\n <ng-template fdkTemplate=\"freezePopoverItem\" let-popover=\"popover\">\n <ng-container *ngIf=\"!columnFrozen; else unfreezeTpl\">\n <a fd-list-link [focusable]=\"true\" (click)=\"_freeze()\" (keyup.enter)=\"_freeze()\">\n <span></span>\n <span fd-list-title *ngIf=\"!column.endFreezable\">{{\n 'platformTable.headerMenuFreeze' | fdTranslate\n }}</span>\n <span fd-list-title *ngIf=\"column.endFreezable\">{{\n 'platformTable.headerMenuEndFreeze' | fdTranslate\n }}</span>\n </a>\n </ng-container>\n <ng-template #unfreezeTpl>\n <a fd-list-link [focusable]=\"true\" (click)=\"_unFreeze()\" (keyup.enter)=\"_unFreeze()\">\n <span></span>\n <span fd-list-title>{{ 'platformTable.headerMenuUnfreeze' | fdTranslate }}</span>\n </a>\n </ng-template>\n </ng-template>\n</ng-container>\n\n<ng-container *ngIf=\"column?.filterable && !filteringFromHeaderDisabled\">\n <ng-template fdkTemplate=\"filteringPopoverItem\" let-popover=\"popover\">\n <div fd-list-link style=\"cursor: auto\">\n <i fd-list-icon glyph=\"filter\"></i>\n <div fd-form-item [horizontal]=\"true\" (click)=\"$event.stopPropagation()\">\n <label fd-form-label [for]=\"'fdp-table-column-filtering-' + column.name\">{{\n 'platformTable.headerMenuFilter' | fdTranslate\n }}</label>\n <input\n fd-form-control\n [id]=\"'fdp-table-column-filtering-' + column.name\"\n (keydown.enter)=\"_setColumnHeaderFilterBy(column.key, $any($event.target)?.value)\"\n />\n </div>\n </div>\n </ng-template>\n</ng-container>\n" }]
100
110
  }], propDecorators: { column: [{
101
111
  type: Input
102
112
  }], popoverTemplate: [{
@@ -107,10 +117,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
107
117
  type: Input
108
118
  }], filteringFromHeaderDisabled: [{
109
119
  type: Input
110
- }], freezeToColumn: [{
111
- type: Output
112
- }], unFreeze: [{
113
- type: Output
114
120
  }], popover: [{
115
121
  type: ViewChild,
116
122
  args: [PopoverComponent, { static: false }]
@@ -118,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
118
124
  type: ViewChildren,
119
125
  args: [TemplateDirective]
120
126
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1jZWxsLWhlYWRlci1wb3BvdmVyL3RhYmxlLWNlbGwtaGVhZGVyLXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlci90YWJsZS1jZWxsLWhlYWRlci1wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFZLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0YsT0FBTyxFQUFFLGdCQUFnQixFQUFpQixNQUFNLCtCQUErQixDQUFDO0FBQ2hGLE9BQU8sRUFFSCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixXQUFXLEVBQ1gsWUFBWSxFQUNmLE1BQU0seUNBQXlDLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBU3RELE1BQU0sT0FBTywrQkFBK0I7SUFQNUM7UUFnQkksdUNBQXVDO1FBRXZDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsb0NBQW9DO1FBRXBDLGlCQUFZLEdBQUcsS0FB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RUFBRSxLQUFLO1NBQ2pCLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs0SEE3R1EsK0JBQStCO2dIQUEvQiwrQkFBK0IsK1NBRjdCLENBQUMsZ0JBQWdCLENBQUMsbUVBZ0NsQixnQkFBZ0IsbUVBSWIsaUJBQWlCLGdEQ3BFbkMsc2hLQW9IQTsyRkRsRmEsK0JBQStCO2tCQVAzQyxTQUFTOytCQUNJLCtCQUErQixpQkFFMUIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGdCQUFnQixDQUFDOzhCQUs3QixNQUFNO3NCQURMLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sMkJBQTJCO3NCQUQxQixLQUFLO2dCQUtOLGNBQWM7c0JBRGIsTUFBTTtnQkFLUCxRQUFRO3NCQURQLE1BQU07Z0JBS1AsT0FBTztzQkFETixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFLOUMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cm95ZWRTZXJ2aWNlLCBOdWxsYWJsZSwgVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBQb3BvdmVyQ29tcG9uZW50LCBUcmlnZ2VyQ29uZmlnIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHtcbiAgICBDb2xsZWN0aW9uU3RyaW5nRmlsdGVyLFxuICAgIEZJTFRFUl9TVFJJTkdfU1RSQVRFR1ksXG4gICAgRmlsdGVyYWJsZUNvbHVtbkRhdGFUeXBlLFxuICAgIFNvcnREaXJlY3Rpb24sXG4gICAgVGFibGVDb2x1bW4sXG4gICAgVGFibGVTZXJ2aWNlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUtaGVscGVycyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC10YWJsZS1jZWxsLWhlYWRlci1wb3BvdmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtEZXN0cm95ZWRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxIZWFkZXJQb3BvdmVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqIENvbHVtbiBkZWZpbml0aW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29sdW1uOiBUYWJsZUNvbHVtbjtcblxuICAgIC8qKiBDdXN0b20gcG9wb3ZlciB0ZW1wbGF0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHBvcG92ZXJUZW1wbGF0ZTogTnVsbGFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBpcyBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgY29sdW1uIGlzIGZyb3plbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbHVtbkZyb3plbiA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGZpbHRlcmluZyBmcm9tIGhlYWRlciBpcyBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbHRlcmluZ0Zyb21IZWFkZXJEaXNhYmxlZDogTnVsbGFibGU8Ym9vbGVhbj4gPSBmYWxzZTtcblxuICAgIC8qKiBDb2x1bW4gZnJlZXppbmcuICovXG4gICAgQE91dHB1dCgpXG4gICAgZnJlZXplVG9Db2x1bW4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgbmFtZTogVGFibGVDb2x1bW5bJ25hbWUnXTsgZW5kRnJlZXphYmxlOiBUYWJsZUNvbHVtblsnZW5kRnJlZXphYmxlJ10gfT4oKTtcblxuICAgIC8qKiBDb2x1bW4gdW5mcmVlemluZy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICB1bkZyZWV6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBuYW1lOiBUYWJsZUNvbHVtblsnbmFtZSddOyBlbmRGcmVlemFibGU6IFRhYmxlQ29sdW1uWydlbmRGcmVlemFibGUnXSB9PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKFBvcG92ZXJDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHBvcG92ZXI6IE51bGxhYmxlPFBvcG92ZXJDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKFRlbXBsYXRlRGlyZWN0aXZlKVxuICAgIF9wb3BvdmVySXRlbXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZURpcmVjdGl2ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9wb3BvdmVySXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUZW1wbGF0ZVJlZjxhbnk+W10+KFtdKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IFNPUlRfRElSRUNUSU9OID0gU29ydERpcmVjdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBpbmplY3QoRGVzdHJveWVkU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlU2VydmljZSA9IGluamVjdChUYWJsZVNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaGVhZGVyUG9wb3ZlclRyaWdnZXJzOiBUcmlnZ2VyQ29uZmlnW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRyaWdnZXI6ICdjbGljaycsXG4gICAgICAgICAgICBvcGVuQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgY2xvc2VBY3Rpb246IHRydWUsXG4gICAgICAgICAgICBzdG9wUHJvcGFnYXRpb246IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdHJpZ2dlcjogJ2tleWRvd24uZW50ZXInLFxuICAgICAgICAgICAgb3BlbkFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIGNsb3NlQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgc3RvcFByb3BhZ2F0aW9uOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRyaWdnZXI6ICdrZXlkb3duLnNwYWNlJyxcbiAgICAgICAgICAgIG9wZW5BY3Rpb246IHRydWUsXG4gICAgICAgICAgICBjbG9zZUFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIHN0b3BQcm9wYWdhdGlvbjogdHJ1ZVxuICAgICAgICB9XG4gICAgXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wb3BvdmVySXRlbXMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aChudWxsKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJJdGVtcyQubmV4dCh0aGlzLl9wb3BvdmVySXRlbXMubWFwKCh0KSA9PiB0LnRlbXBsYXRlUmVmKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldENvbHVtbkhlYWRlclNvcnRCeShmaWVsZDogVGFibGVDb2x1bW5bJ2tleSddLCBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLnNldFNvcnQoW3sgZmllbGQsIGRpcmVjdGlvbiB9XSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0Q29sdW1uSGVhZGVyR3JvdXBCeShmaWVsZDogVGFibGVDb2x1bW5bJ2tleSddKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fdGFibGVTZXJ2aWNlLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgaWYgKHN0YXRlLmdyb3VwQnk/Lmxlbmd0aCA9PT0gMSAmJiBzdGF0ZS5ncm91cEJ5WzBdLmZpZWxkID09PSBmaWVsZCkge1xuICAgICAgICAgICAgLy8gcmVzZXQgZ3JvdXBpbmcsIGlmIGFscmVhZHkgZ3JvdXBlZCBieSB0aGlzIGZpZWxkXG4gICAgICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2Uuc2V0R3JvdXBzKFtdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYmxlU2VydmljZS5zZXRHcm91cHMoW3sgZmllbGQsIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbi5OT05FLCBzaG93QXNDb2x1bW46IHRydWUgfV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0Q29sdW1uSGVhZGVyRmlsdGVyQnkoZmllbGQ6IFRhYmxlQ29sdW1uWydrZXknXSwgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2UucmVtb3ZlRmlsdGVycyhbZmllbGRdKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb2xsZWN0aW9uRmlsdGVyOiBDb2xsZWN0aW9uU3RyaW5nRmlsdGVyID0ge1xuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIHR5cGU6IEZpbHRlcmFibGVDb2x1bW5EYXRhVHlwZS5TVFJJTkcsXG4gICAgICAgICAgICBzdHJhdGVneTogRklMVEVSX1NUUklOR19TVFJBVEVHWS5DT05UQUlOUyxcbiAgICAgICAgICAgIGV4Y2x1ZGU6IGZhbHNlXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLmFkZEZpbHRlcnMoW2NvbGxlY3Rpb25GaWx0ZXJdKTtcbiAgICB9XG59XG4iLCI8ZmQtcG9wb3ZlclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25vQXJyb3ddPVwidHJ1ZVwiXG4gICAgZmQtdGFibGUtcG9wb3ZlclxuICAgIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxuICAgIFtmb2N1c1RyYXBwZWRdPVwidHJ1ZVwiXG4gICAgKm5nSWY9XCIhcG9wb3ZlclRlbXBsYXRlOyBlbHNlIHByb2plY3RlZFBvcG92ZXJcIlxuICAgIFt0cmlnZ2Vyc109XCJfaGVhZGVyUG9wb3ZlclRyaWdnZXJzXCJcbj5cbiAgICA8ZmRwLWxpc3QgW25vQm9yZGVyXT1cInRydWVcIiBbbmF2aWdhdGVkXT1cInRydWVcIj5cbiAgICAgICAgPGZkcC1mcmVlLWNvbnRlbnQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9wb3BvdmVySXRlbXMkLmFzT2JzZXJ2YWJsZSgpIHwgYXN5bmNcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcG9wb3ZlcjogcG9wb3ZlciB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9mZHAtZnJlZS1jb250ZW50LWxpc3QtaXRlbT5cbiAgICA8L2ZkcC1saXN0PlxuPC9mZC1wb3BvdmVyPlxuPG5nLXRlbXBsYXRlICNwcm9qZWN0ZWRQb3BvdmVyPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwb3BvdmVyVGVtcGxhdGUhXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBfcG9wb3Zlckl0ZW1zJC5hc09ic2VydmFibGUoKSB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4/LnNvcnRhYmxlXCI+XG4gICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwic29ydGluZ0FzY1BvcG92ZXJJdGVtXCIgbGV0LXBvcG92ZXI9XCJwb3BvdmVyXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBmZC1saXN0LWxpbmtcbiAgICAgICAgICAgIFtmb2N1c2FibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiX3NldENvbHVtbkhlYWRlclNvcnRCeShjb2x1bW4ua2V5LCBTT1JUX0RJUkVDVElPTi5BU0MpOyBwb3BvdmVyPy5jbG9zZSgpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIl9zZXRDb2x1bW5IZWFkZXJTb3J0QnkoY29sdW1uLmtleSwgU09SVF9ESVJFQ1RJT04uQVNDKTsgcG9wb3Zlcj8uY2xvc2UoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtaWNvbiBnbHlwaD1cInNvcnQtYXNjZW5kaW5nXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51U29ydEFzYycgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwic29ydGluZ0Rlc2NQb3BvdmVySXRlbVwiIGxldC1wb3BvdmVyPVwicG9wb3ZlclwiPlxuICAgICAgICA8YVxuICAgICAgICAgICAgZmQtbGlzdC1saW5rXG4gICAgICAgICAgICBbZm9jdXNhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIl9zZXRDb2x1bW5IZWFkZXJTb3J0QnkoY29sdW1uLmtleSwgU09SVF9ESVJFQ1RJT04uREVTQyk7IHBvcG92ZXI/LmNsb3NlKClcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiX3NldENvbHVtbkhlYWRlclNvcnRCeShjb2x1bW4ua2V5LCBTT1JUX0RJUkVDVElPTi5ERVNDKTsgcG9wb3Zlcj8uY2xvc2UoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtaWNvbiBnbHlwaD1cInNvcnQtZGVzY2VuZGluZ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+e3sgJ3BsYXRmb3JtVGFibGUuaGVhZGVyTWVudVNvcnREZXNjJyB8IGZkVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uPy5ncm91cGFibGVcIj5cbiAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJncm91cFBvcG92ZXJJdGVtXCIgbGV0LXBvcG92ZXI9XCJwb3BvdmVyXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBmZC1saXN0LWxpbmtcbiAgICAgICAgICAgIFtmb2N1c2FibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiX3NldENvbHVtbkhlYWRlckdyb3VwQnkoY29sdW1uLmtleSk7IHBvcG92ZXI/LmNsb3NlKClcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiX3NldENvbHVtbkhlYWRlckdyb3VwQnkoY29sdW1uLmtleSk7IHBvcG92ZXI/LmNsb3NlKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBmZC1saXN0LWljb24+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51R3JvdXAnIHwgZmRUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4/LmZyZWV6YWJsZSB8fCBjb2x1bW4/LmVuZEZyZWV6YWJsZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImZyZWV6ZVBvcG92ZXJJdGVtXCIgbGV0LXBvcG92ZXI9XCJwb3BvdmVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5Gcm96ZW47IGVsc2UgdW5mcmVlemVUcGxcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgZmQtbGlzdC1saW5rXG4gICAgICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgIGZyZWV6ZVRvQ29sdW1uLmVtaXQoeyBuYW1lOiBjb2x1bW4ubmFtZSwgZW5kRnJlZXphYmxlOiBjb2x1bW4uZW5kRnJlZXphYmxlIH0pOyBwb3BvdmVyPy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiXG4gICAgICAgICAgICAgICAgICAgIGZyZWV6ZVRvQ29sdW1uLmVtaXQoeyBuYW1lOiBjb2x1bW4ubmFtZSwgZW5kRnJlZXphYmxlOiBjb2x1bW4uZW5kRnJlZXphYmxlIH0pOyBwb3BvdmVyPy5jbG9zZSgpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZSAqbmdJZj1cIiFjb2x1bW4uZW5kRnJlZXphYmxlXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgJ3BsYXRmb3JtVGFibGUuaGVhZGVyTWVudUZyZWV6ZScgfCBmZFRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGUgKm5nSWY9XCJjb2x1bW4uZW5kRnJlZXphYmxlXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgJ3BsYXRmb3JtVGFibGUuaGVhZGVyTWVudUVuZEZyZWV6ZScgfCBmZFRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN1bmZyZWV6ZVRwbD5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgZmQtbGlzdC1saW5rXG4gICAgICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidW5GcmVlemUuZW1pdCh7IG5hbWU6IGNvbHVtbi5uYW1lLCBlbmRGcmVlemFibGU6IGNvbHVtbi5lbmRGcmVlemFibGUgfSk7IHBvcG92ZXI/LmNsb3NlKClcIlxuICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJcbiAgICAgICAgICAgICAgICAgICAgdW5GcmVlemUuZW1pdCh7IG5hbWU6IGNvbHVtbi5uYW1lLCBlbmRGcmVlemFibGU6IGNvbHVtbi5lbmRGcmVlemFibGUgfSk7IHBvcG92ZXI/LmNsb3NlKClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7ICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVVbmZyZWV6ZScgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4/LmZpbHRlcmFibGUgJiYgIWZpbHRlcmluZ0Zyb21IZWFkZXJEaXNhYmxlZFwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImZpbHRlcmluZ1BvcG92ZXJJdGVtXCIgbGV0LXBvcG92ZXI9XCJwb3BvdmVyXCI+XG4gICAgICAgIDxkaXYgZmQtbGlzdC1saW5rIHN0eWxlPVwiY3Vyc29yOiBhdXRvXCI+XG4gICAgICAgICAgICA8aSBmZC1saXN0LWljb24gZ2x5cGg9XCJmaWx0ZXJcIj48L2k+XG4gICAgICAgICAgICA8ZGl2IGZkLWZvcm0taXRlbSBbaG9yaXpvbnRhbF09XCJ0cnVlXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmZC1mb3JtLWxhYmVsIFtmb3JdPVwiJ2ZkcC10YWJsZS1jb2x1bW4tZmlsdGVyaW5nLScgKyBjb2x1bW4ubmFtZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVGaWx0ZXInIHwgZmRUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIGZkLWZvcm0tY29udHJvbFxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2ZkcC10YWJsZS1jb2x1bW4tZmlsdGVyaW5nLScgKyBjb2x1bW4ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIl9zZXRDb2x1bW5IZWFkZXJGaWx0ZXJCeShjb2x1bW4ua2V5LCAkYW55KCRldmVudC50YXJnZXQpPy52YWx1ZSk7IHBvcG92ZXI/LmNsb3NlKClcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1jZWxsLWhlYWRlci1wb3BvdmVyL3RhYmxlLWNlbGwtaGVhZGVyLXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlci90YWJsZS1jZWxsLWhlYWRlci1wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUVULFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBWSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRixPQUFPLEVBRUgsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN4QixhQUFhLEVBQ2IsS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ2YsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFTdEQsTUFBTSxPQUFPLCtCQUErQjtJQVA1QztRQWdCSSx1Q0FBdUM7UUFFdkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixvQ0FBb0M7UUFFcEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFF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WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UsIE51bGxhYmxlLCBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFBvcG92ZXJDb21wb25lbnQsIFRyaWdnZXJDb25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQge1xuICAgIENvbGxlY3Rpb25TdHJpbmdGaWx0ZXIsXG4gICAgRklMVEVSX1NUUklOR19TVFJBVEVHWSxcbiAgICBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUsXG4gICAgU29ydERpcmVjdGlvbixcbiAgICBUYWJsZSxcbiAgICBUYWJsZUNvbHVtbixcbiAgICBUYWJsZVNlcnZpY2Vcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXRhYmxlLWNlbGwtaGVhZGVyLXBvcG92ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jZWxsLWhlYWRlci1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0Rlc3Ryb3llZFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2VsbEhlYWRlclBvcG92ZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvKiogQ29sdW1uIGRlZmluaXRpb24uICovXG4gICAgQElucHV0KClcbiAgICBjb2x1bW46IFRhYmxlQ29sdW1uO1xuXG4gICAgLyoqIEN1c3RvbSBwb3BvdmVyIHRlbXBsYXRlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcG9wb3ZlclRlbXBsYXRlOiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PjtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGlzIGRpc2FibGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBjb2x1bW4gaXMgZnJvemVuLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29sdW1uRnJvemVuID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgZmlsdGVyaW5nIGZyb20gaGVhZGVyIGlzIGRpc2FibGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlsdGVyaW5nRnJvbUhlYWRlckRpc2FibGVkOiBOdWxsYWJsZTxib29sZWFuPiA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKFBvcG92ZXJDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHBvcG92ZXI6IE51bGxhYmxlPFBvcG92ZXJDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKFRlbXBsYXRlRGlyZWN0aXZlKVxuICAgIF9wb3BvdmVySXRlbXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZURpcmVjdGl2ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9oZWFkZXJQb3BvdmVyVHJpZ2dlcnM6IFRyaWdnZXJDb25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgdHJpZ2dlcjogJ2NsaWNrJyxcbiAgICAgICAgICAgIG9wZW5BY3Rpb246IHRydWUsXG4gICAgICAgICAgICBjbG9zZUFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIHN0b3BQcm9wYWdhdGlvbjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0cmlnZ2VyOiAna2V5ZG93bi5lbnRlcicsXG4gICAgICAgICAgICBvcGVuQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgY2xvc2VBY3Rpb246IHRydWUsXG4gICAgICAgICAgICBzdG9wUHJvcGFnYXRpb246IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdHJpZ2dlcjogJ2tleWRvd24uc3BhY2UnLFxuICAgICAgICAgICAgb3BlbkFjdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgIGNsb3NlQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgc3RvcFByb3BhZ2F0aW9uOiB0cnVlXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcG9wb3Zlckl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGVtcGxhdGVSZWY8YW55PltdPihbXSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBTT1JUX0RJUkVDVElPTiA9IFNvcnREaXJlY3Rpb247XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3llZFNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJsZVNlcnZpY2UgPSBpbmplY3QoVGFibGVTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGUgPSBpbmplY3QoVGFibGUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3BvcG92ZXJJdGVtcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKG51bGwpLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcG9wb3Zlckl0ZW1zJC5uZXh0KHRoaXMuX3BvcG92ZXJJdGVtcy5tYXAoKHQpID0+IHQudGVtcGxhdGVSZWYpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0Q29sdW1uSGVhZGVyU29ydEJ5KGZpZWxkOiBUYWJsZUNvbHVtblsna2V5J10sIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2Uuc2V0U29ydChbeyBmaWVsZCwgZGlyZWN0aW9uIH1dKTtcbiAgICAgICAgdGhpcy5wb3BvdmVyPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldENvbHVtbkhlYWRlckdyb3VwQnkoZmllbGQ6IFRhYmxlQ29sdW1uWydrZXknXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX3RhYmxlU2VydmljZS5nZXRUYWJsZVN0YXRlKCk7XG4gICAgICAgIGlmIChzdGF0ZS5ncm91cEJ5Py5sZW5ndGggPT09IDEgJiYgc3RhdGUuZ3JvdXBCeVswXS5maWVsZCA9PT0gZmllbGQpIHtcbiAgICAgICAgICAgIC8vIHJlc2V0IGdyb3VwaW5nLCBpZiBhbHJlYWR5IGdyb3VwZWQgYnkgdGhpcyBmaWVsZFxuICAgICAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLnNldEdyb3VwcyhbXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2Uuc2V0R3JvdXBzKFt7IGZpZWxkLCBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb24uTk9ORSwgc2hvd0FzQ29sdW1uOiB0cnVlIH1dKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldENvbHVtbkhlYWRlckZpbHRlckJ5KGZpZWxkOiBUYWJsZUNvbHVtblsna2V5J10sIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLnJlbW92ZUZpbHRlcnMoW2ZpZWxkXSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29sbGVjdGlvbkZpbHRlcjogQ29sbGVjdGlvblN0cmluZ0ZpbHRlciA9IHtcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICB0eXBlOiBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgc3RyYXRlZ3k6IEZJTFRFUl9TVFJJTkdfU1RSQVRFR1kuQ09OVEFJTlMsXG4gICAgICAgICAgICBleGNsdWRlOiBmYWxzZVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX3RhYmxlU2VydmljZS5hZGRGaWx0ZXJzKFtjb2xsZWN0aW9uRmlsdGVyXSk7XG4gICAgICAgIHRoaXMucG9wb3Zlcj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9mcmVlemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlLmZyZWV6ZVRvQ29sdW1uKHRoaXMuY29sdW1uLm5hbWUsIHRoaXMuY29sdW1uLmVuZEZyZWV6YWJsZSk7XG4gICAgICAgIHRoaXMucG9wb3Zlcj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF91bkZyZWV6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUudW5mcmVlemUodGhpcy5jb2x1bW4ubmFtZSwgdGhpcy5jb2x1bW4uZW5kRnJlZXphYmxlKTtcbiAgICAgICAgdGhpcy5wb3BvdmVyPy5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxmZC1wb3BvdmVyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbm9BcnJvd109XCJ0cnVlXCJcbiAgICBmZC10YWJsZS1wb3BvdmVyXG4gICAgW2ZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiXG4gICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAqbmdJZj1cIiFwb3BvdmVyVGVtcGxhdGU7IGVsc2UgcHJvamVjdGVkUG9wb3ZlclwiXG4gICAgW3RyaWdnZXJzXT1cIl9oZWFkZXJQb3BvdmVyVHJpZ2dlcnNcIlxuPlxuICAgIDxmZHAtbGlzdCBbbm9Cb3JkZXJdPVwidHJ1ZVwiIFtuYXZpZ2F0ZWRdPVwidHJ1ZVwiPlxuICAgICAgICA8ZmRwLWZyZWUtY29udGVudC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3BvcG92ZXJJdGVtcyQuYXNPYnNlcnZhYmxlKCkgfCBhc3luY1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBwb3BvdmVyOiBwb3BvdmVyIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2ZkcC1mcmVlLWNvbnRlbnQtbGlzdC1pdGVtPlxuICAgIDwvZmRwLWxpc3Q+XG48L2ZkLXBvcG92ZXI+XG48bmctdGVtcGxhdGUgI3Byb2plY3RlZFBvcG92ZXI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBvcG92ZXJUZW1wbGF0ZSFcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IF9wb3BvdmVySXRlbXMkLmFzT2JzZXJ2YWJsZSgpIH1cIlxuICAgID48L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbj8uc29ydGFibGVcIj5cbiAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJzb3J0aW5nQXNjUG9wb3Zlckl0ZW1cIiBsZXQtcG9wb3Zlcj1cInBvcG92ZXJcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGZkLWxpc3QtbGlua1xuICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJfc2V0Q29sdW1uSGVhZGVyU29ydEJ5KGNvbHVtbi5rZXksIFNPUlRfRElSRUNUSU9OLkFTQylcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiX3NldENvbHVtbkhlYWRlclNvcnRCeShjb2x1bW4ua2V5LCBTT1JUX0RJUkVDVElPTi5BU0MpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC1pY29uIGdseXBoPVwic29ydC1hc2NlbmRpbmdcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7ICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVTb3J0QXNjJyB8IGZkVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgZmRrVGVtcGxhdGU9XCJzb3J0aW5nRGVzY1BvcG92ZXJJdGVtXCIgbGV0LXBvcG92ZXI9XCJwb3BvdmVyXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBmZC1saXN0LWxpbmtcbiAgICAgICAgICAgIFtmb2N1c2FibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiX3NldENvbHVtbkhlYWRlclNvcnRCeShjb2x1bW4ua2V5LCBTT1JUX0RJUkVDVElPTi5ERVNDKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJfc2V0Q29sdW1uSGVhZGVyU29ydEJ5KGNvbHVtbi5rZXksIFNPUlRfRElSRUNUSU9OLkRFU0MpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC1pY29uIGdseXBoPVwic29ydC1kZXNjZW5kaW5nXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51U29ydERlc2MnIHwgZmRUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4/Lmdyb3VwYWJsZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImdyb3VwUG9wb3Zlckl0ZW1cIiBsZXQtcG9wb3Zlcj1cInBvcG92ZXJcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGZkLWxpc3QtbGlua1xuICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJfc2V0Q29sdW1uSGVhZGVyR3JvdXBCeShjb2x1bW4ua2V5KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJfc2V0Q29sdW1uSGVhZGVyR3JvdXBCeShjb2x1bW4ua2V5KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtaWNvbj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7ICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVHcm91cCcgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbj8uZnJlZXphYmxlIHx8IGNvbHVtbj8uZW5kRnJlZXphYmxlXCI+XG4gICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwiZnJlZXplUG9wb3Zlckl0ZW1cIiBsZXQtcG9wb3Zlcj1cInBvcG92ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2x1bW5Gcm96ZW47IGVsc2UgdW5mcmVlemVUcGxcIj5cbiAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluayBbZm9jdXNhYmxlXT1cInRydWVcIiAoY2xpY2spPVwiX2ZyZWV6ZSgpXCIgKGtleXVwLmVudGVyKT1cIl9mcmVlemUoKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlICpuZ0lmPVwiIWNvbHVtbi5lbmRGcmVlemFibGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51RnJlZXplJyB8IGZkVHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZSAqbmdJZj1cImNvbHVtbi5lbmRGcmVlemFibGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm1UYWJsZS5oZWFkZXJNZW51RW5kRnJlZXplJyB8IGZkVHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3VuZnJlZXplVHBsPlxuICAgICAgICAgICAgPGEgZmQtbGlzdC1saW5rIFtmb2N1c2FibGVdPVwidHJ1ZVwiIChjbGljayk9XCJfdW5GcmVlemUoKVwiIChrZXl1cC5lbnRlcik9XCJfdW5GcmVlemUoKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPnt7ICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVVbmZyZWV6ZScgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4/LmZpbHRlcmFibGUgJiYgIWZpbHRlcmluZ0Zyb21IZWFkZXJEaXNhYmxlZFwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImZpbHRlcmluZ1BvcG92ZXJJdGVtXCIgbGV0LXBvcG92ZXI9XCJwb3BvdmVyXCI+XG4gICAgICAgIDxkaXYgZmQtbGlzdC1saW5rIHN0eWxlPVwiY3Vyc29yOiBhdXRvXCI+XG4gICAgICAgICAgICA8aSBmZC1saXN0LWljb24gZ2x5cGg9XCJmaWx0ZXJcIj48L2k+XG4gICAgICAgICAgICA8ZGl2IGZkLWZvcm0taXRlbSBbaG9yaXpvbnRhbF09XCJ0cnVlXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmZC1mb3JtLWxhYmVsIFtmb3JdPVwiJ2ZkcC10YWJsZS1jb2x1bW4tZmlsdGVyaW5nLScgKyBjb2x1bW4ubmFtZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVRhYmxlLmhlYWRlck1lbnVGaWx0ZXInIHwgZmRUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIGZkLWZvcm0tY29udHJvbFxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ2ZkcC10YWJsZS1jb2x1bW4tZmlsdGVyaW5nLScgKyBjb2x1bW4ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIl9zZXRDb2x1bW5IZWFkZXJGaWx0ZXJCeShjb2x1bW4ua2V5LCAkYW55KCRldmVudC50YXJnZXQpPy52YWx1ZSlcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -66,7 +66,7 @@ TableHeaderRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
66
66
  useExisting: TableHeaderRowComponent
67
67
  },
68
68
  DestroyedService
69
- ], viewQueries: [{ propertyName: "_focusableCellItems", predicate: FDK_FOCUSABLE_ITEM_DIRECTIVE, descendants: true }], usesInheritance: true, ngImport: i0, template: "<th\n *ngIf=\"_fdpTableService._semanticHighlighting$ | async\"\n [class.fd-table__cell--fixed]=\"fixed\"\n fd-table-cell\n fd-table-status-indicator\n fdkDisabled\n [style.min-width]=\"_fdpTableService._semanticHighlightingColumnWidth$ | async\"\n [style.max-width]=\"_fdpTableService._semanticHighlightingColumnWidth$ | async\"\n></th>\n\n<th\n *ngIf=\"isShownSelectionColumn\"\n fd-table-cell\n [focusable]=\"true\"\n [class.fd-table__cell--fixed]=\"fixed\"\n class=\"fd-table__cell--checkbox\"\n [style]=\"\n _contentDensityObserver\n | async\n | selectionCellStyles : _rtl : (_fdpTableService._semanticHighlightingColumnWidth$ | async)\n \"\n (keydown.enter)=\"_tableRowService.toggleAllSelectableRows(!checkedState)\"\n (keydown.space)=\"_tableRowService.toggleAllSelectableRows(!checkedState)\"\n [attr.aria-description]=\"\n !checkedState\n ? ('platformTable.selectAllCheckboxLabel' | fdTranslate)\n : ('platformTable.deselectAllCheckboxLabel' | fdTranslate)\n \"\n>\n <fd-checkbox\n tabIndexValue=\"-1\"\n *ngIf=\"selectionMode === SELECTION_MODE.MULTIPLE\"\n labelClass=\"fd-table__checkbox-label\"\n [fdkDisabled]=\"_fdpTableService.visibleColumnsLength === 0 || disableSelectionCheckbox\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"checkedState\"\n (ngModelChange)=\"_tableRowService.toggleAllSelectableRows($event)\"\n ></fd-checkbox>\n</th>\n\n<ng-container\n *ngFor=\"\n let column of _fdpTableService.visibleColumns$ | async;\n let colIdx = index;\n trackBy: _columnTrackBy;\n last as isLast\n \"\n>\n <th\n [focusable]=\"true\"\n role=\"columnheader\"\n [fdpTableCellResizable]=\"\n colIdx\n | columnResizableSide\n : _fdpTableService.visibleColumnsLength\n : (_fdpTableService._isShownNavigationColumn$ | async)\n \"\n [columnName]=\"column.name\"\n [id]=\"rowId + '__' + column.name\"\n [attr.aria-colindex]=\"colIdx\"\n [ngClass]=\"[\n 'fdp-table__col--' + column.name,\n column._freezed ? 'fd-table__cell--fixed' : '',\n column.name === freezeColumnsTo ? 'fd-table__cell--fixed-last' : '',\n column._endFreezed ? 'fd-table__cell--fixed-end' : '',\n column.name === freezeEndColumnsTo ? 'fd-table__cell--fixed-end-last' : '',\n isLast && (_fdpTableService._isShownNavigationColumn$ | async) !== true ? 'is-last-child' : '',\n (column | isColumnHasHeaderMenu) ? 'fd-table__item--clickable' : ''\n ]\"\n [ngStyle]=\"\n column\n | tableCellStyles\n : _rtl\n : (_fdpTableService._semanticHighlightingColumnWidth$ | async)\n : selectionColumnWidth\n : column._freezed\n : column._endFreezed\n : _tableColumnResizeService.getPrevColumnsWidth(column.name)\n : _tableColumnResizeService.getColumnWidthStyle(column.name)\n : _tableColumnResizeService.getNextColumnsWidth(column.name)\n \"\n [fdPopoverTrigger]=\"(column | isColumnHasHeaderMenu) ? tablePopover.popover : null\"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n (keydown.arrowLeft)=\"_tableRowService.scrollToOverlappedCell()\"\n (keydown.arrowRight)=\"_tableRowService.scrollToOverlappedCell()\"\n >\n <fdp-table-header-cell-content\n [id]=\"rowId\"\n [column]=\"column\"\n [hasFilter]=\"(_fdpTableService.filterRules$ | async)?.has(column.key) === true\"\n [hasSorting]=\"(_fdpTableService.sortRules$ | async)?.has(column.key) === true\"\n [sorting]=\"(_fdpTableService.sortRules$ | async)?.get(column.key)\"\n [attr.title]=\"column.label\"\n >\n <!-- Header menu -->\n <fdp-table-cell-header-popover\n #tablePopover\n [disabled]=\"!(column | isColumnHasHeaderMenu)\"\n [column]=\"column\"\n [popoverTemplate]=\"(column | isColumnHasHeaderMenu) ? column.headerCellPopoverTemplate : null\"\n [filteringFromHeaderDisabled]=\"_fdpTableService._isFilteringFromHeaderDisabled$ | async\"\n ></fdp-table-cell-header-popover>\n </fdp-table-header-cell-content>\n </th>\n</ng-container>\n\n<th\n *ngIf=\"_fdpTableService._isShownNavigationColumn$ | async\"\n fd-table-cell\n class=\"fdp-table__cell--navigation is-last-child\"\n role=\"columnheader\"\n></th>\n\n<th\n aria-hidden=\"true\"\n class=\"fd-table__cell fd-table__cell--mock\"\n [class.fd-table__cell--mock-borderless]=\"(_tableColumnResizeService.cellMockVisible$ | async) !== true\"\n fdkDisabled\n></th>\n", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgModel; }), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.TableCellDirective; }), selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "key"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.TableStatusIndicatorDirective; }), selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }, { kind: "component", type: i0.forwardRef(function () { return i4.CheckboxComponent; }), selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values", "standalone"], outputs: ["focusChange"] }, { kind: "directive", type: i0.forwardRef(function () { return i5.PopoverTriggerDirective; }), selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "directive", type: i0.forwardRef(function () { return i6.DisabledBehaviorDirective; }), selector: "[fdkDisabled]", inputs: ["fdkDisabled", "addDisabledClass", "disabledClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i7.PlatformTableCellResizableDirective; }), selector: "[fdpTableCellResizable]", inputs: ["fdpTableCellResizable", "columnName"] }, { kind: "component", type: i0.forwardRef(function () { return i8.TableHeaderCellContentComponent; }), selector: "fdp-table-header-cell-content", inputs: ["id", "column", "hasSorting", "hasFilter", "sorting"] }, { kind: "component", type: i0.forwardRef(function () { return i9.TableCellHeaderPopoverComponent; }), selector: "fdp-table-cell-header-popover", inputs: ["column", "popoverTemplate", "disabled", "columnFrozen", "filteringFromHeaderDisabled"], outputs: ["freezeToColumn", "unFreeze"] }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }, { kind: "pipe", type: i0.forwardRef(function () { return i10.FdTranslatePipe; }), name: "fdTranslate" }, { kind: "pipe", type: i0.forwardRef(function () { return i7.SelectionCellStylesPipe; }), name: "selectionCellStyles" }, { kind: "pipe", type: i0.forwardRef(function () { return i7.TableCellStylesPipe; }), name: "tableCellStyles" }, { kind: "pipe", type: i0.forwardRef(function () { return i7.ColumnResizableSidePipe; }), name: "columnResizableSide" }, { kind: "pipe", type: i0.forwardRef(function () { return IsColumnHasHeaderMenuPipe; }), name: "isColumnHasHeaderMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
69
+ ], viewQueries: [{ propertyName: "_focusableCellItems", predicate: FDK_FOCUSABLE_ITEM_DIRECTIVE, descendants: true }], usesInheritance: true, ngImport: i0, template: "<th\n *ngIf=\"_fdpTableService._semanticHighlighting$ | async\"\n [class.fd-table__cell--fixed]=\"fixed\"\n fd-table-cell\n fd-table-status-indicator\n fdkDisabled\n [style.min-width]=\"_fdpTableService._semanticHighlightingColumnWidth$ | async\"\n [style.max-width]=\"_fdpTableService._semanticHighlightingColumnWidth$ | async\"\n></th>\n\n<th\n *ngIf=\"isShownSelectionColumn\"\n fd-table-cell\n [focusable]=\"true\"\n [class.fd-table__cell--fixed]=\"fixed\"\n class=\"fd-table__cell--checkbox\"\n [style]=\"\n _contentDensityObserver\n | async\n | selectionCellStyles : _rtl : (_fdpTableService._semanticHighlightingColumnWidth$ | async)\n \"\n (keydown.enter)=\"_tableRowService.toggleAllSelectableRows(!checkedState)\"\n (keydown.space)=\"_tableRowService.toggleAllSelectableRows(!checkedState)\"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n [attr.aria-description]=\"\n !checkedState\n ? ('platformTable.selectAllCheckboxLabel' | fdTranslate)\n : ('platformTable.deselectAllCheckboxLabel' | fdTranslate)\n \"\n>\n <fd-checkbox\n tabIndexValue=\"-1\"\n *ngIf=\"selectionMode === SELECTION_MODE.MULTIPLE\"\n labelClass=\"fd-table__checkbox-label\"\n [fdkDisabled]=\"_fdpTableService.visibleColumnsLength === 0 || disableSelectionCheckbox\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"checkedState\"\n (ngModelChange)=\"_tableRowService.toggleAllSelectableRows($event)\"\n ></fd-checkbox>\n</th>\n\n<ng-container\n *ngFor=\"\n let column of _fdpTableService.visibleColumns$ | async;\n let colIdx = index;\n trackBy: _columnTrackBy;\n last as isLast\n \"\n>\n <th\n [focusable]=\"true\"\n role=\"columnheader\"\n [fdpTableCellResizable]=\"\n colIdx\n | columnResizableSide\n : _fdpTableService.visibleColumnsLength\n : (_fdpTableService._isShownNavigationColumn$ | async)\n \"\n [columnName]=\"column.name\"\n [id]=\"rowId + '__' + column.name\"\n [attr.aria-colindex]=\"colIdx\"\n [ngClass]=\"[\n 'fdp-table__col--' + column.name,\n column._freezed ? 'fd-table__cell--fixed' : '',\n column.name === freezeColumnsTo ? 'fd-table__cell--fixed-last' : '',\n column._endFreezed ? 'fd-table__cell--fixed-end' : '',\n column.name === freezeEndColumnsTo ? 'fd-table__cell--fixed-end-last' : '',\n isLast && (_fdpTableService._isShownNavigationColumn$ | async) !== true ? 'is-last-child' : '',\n (column | isColumnHasHeaderMenu) ? 'fd-table__item--clickable' : ''\n ]\"\n [ngStyle]=\"\n column\n | tableCellStyles\n : _rtl\n : (_fdpTableService._semanticHighlightingColumnWidth$ | async)\n : selectionColumnWidth\n : column._freezed\n : column._endFreezed\n : _tableColumnResizeService.getPrevColumnsWidth(column.name)\n : _tableColumnResizeService.getColumnWidthStyle(column.name)\n : _tableColumnResizeService.getNextColumnsWidth(column.name)\n \"\n [fdPopoverTrigger]=\"(column | isColumnHasHeaderMenu) ? tablePopover.popover : null\"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n (keydown.arrowLeft)=\"_tableRowService.scrollToOverlappedCell()\"\n (keydown.arrowRight)=\"_tableRowService.scrollToOverlappedCell()\"\n >\n <fdp-table-header-cell-content\n [id]=\"rowId\"\n [column]=\"column\"\n [hasFilter]=\"(_fdpTableService.filterRules$ | async)?.has(column.key) === true\"\n [hasSorting]=\"(_fdpTableService.sortRules$ | async)?.has(column.key) === true\"\n [sorting]=\"(_fdpTableService.sortRules$ | async)?.get(column.key)\"\n [attr.title]=\"column.label\"\n >\n <!-- Header menu -->\n <fdp-table-cell-header-popover\n #tablePopover\n [disabled]=\"!(column | isColumnHasHeaderMenu)\"\n [columnFrozen]=\"column._freezed || column._endFreezed\"\n [column]=\"column\"\n [popoverTemplate]=\"(column | isColumnHasHeaderMenu) ? column.headerCellPopoverTemplate : null\"\n [filteringFromHeaderDisabled]=\"_fdpTableService._isFilteringFromHeaderDisabled$ | async\"\n ></fdp-table-cell-header-popover>\n </fdp-table-header-cell-content>\n </th>\n</ng-container>\n\n<th\n *ngIf=\"_fdpTableService._isShownNavigationColumn$ | async\"\n fd-table-cell\n class=\"fdp-table__cell--navigation is-last-child\"\n role=\"columnheader\"\n></th>\n\n<th\n aria-hidden=\"true\"\n class=\"fd-table__cell fd-table__cell--mock\"\n [class.fd-table__cell--mock-borderless]=\"(_tableColumnResizeService.cellMockVisible$ | async) !== true\"\n fdkDisabled\n></th>\n", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgModel; }), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.TableCellDirective; }), selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "key"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.TableStatusIndicatorDirective; }), selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }, { kind: "component", type: i0.forwardRef(function () { return i4.CheckboxComponent; }), selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values", "standalone"], outputs: ["focusChange"] }, { kind: "directive", type: i0.forwardRef(function () { return i5.PopoverTriggerDirective; }), selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "directive", type: i0.forwardRef(function () { return i6.DisabledBehaviorDirective; }), selector: "[fdkDisabled]", inputs: ["fdkDisabled", "addDisabledClass", "disabledClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i7.PlatformTableCellResizableDirective; }), selector: "[fdpTableCellResizable]", inputs: ["fdpTableCellResizable", "columnName"] }, { kind: "component", type: i0.forwardRef(function () { return i8.TableHeaderCellContentComponent; }), selector: "fdp-table-header-cell-content", inputs: ["id", "column", "hasSorting", "hasFilter", "sorting"] }, { kind: "component", type: i0.forwardRef(function () { return i9.TableCellHeaderPopoverComponent; }), selector: "fdp-table-cell-header-popover", inputs: ["column", "popoverTemplate", "disabled", "columnFrozen", "filteringFromHeaderDisabled"] }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }, { kind: "pipe", type: i0.forwardRef(function () { return i10.FdTranslatePipe; }), name: "fdTranslate" }, { kind: "pipe", type: i0.forwardRef(function () { return i7.SelectionCellStylesPipe; }), name: "selectionCellStyles" }, { kind: "pipe", type: i0.forwardRef(function () { return i7.TableCellStylesPipe; }), name: "tableCellStyles" }, { kind: "pipe", type: i0.forwardRef(function () { return i7.ColumnResizableSidePipe; }), name: "columnResizableSide" }, { kind: "pipe", type: i0.forwardRef(function () { return IsColumnHasHeaderMenuPipe; }), name: "isColumnHasHeaderMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
70
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableHeaderRowComponent, decorators: [{
71
71
  type: Component,
72
72
  args: [{ selector: '[fdp-table-header-row]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -77,7 +77,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
77
77
  DestroyedService
78
78
  ], host: {
79
79
  role: 'row'
80
- }, template: "<th\n *ngIf=\"_fdpTableService._semanticHighlighting$ | async\"\n [class.fd-table__cell--fixed]=\"fixed\"\n fd-table-cell\n fd-table-status-indicator\n fdkDisabled\n [style.min-width]=\"_fdpTableService._semanticHighlightingColumnWidth$ | async\"\n [style.max-width]=\"_fdpTableService._semanticHighlightingColumnWidth$ | async\"\n></th>\n\n<th\n *ngIf=\"isShownSelectionColumn\"\n fd-table-cell\n [focusable]=\"true\"\n [class.fd-table__cell--fixed]=\"fixed\"\n class=\"fd-table__cell--checkbox\"\n [style]=\"\n _contentDensityObserver\n | async\n | selectionCellStyles : _rtl : (_fdpTableService._semanticHighlightingColumnWidth$ | async)\n \"\n (keydown.enter)=\"_tableRowService.toggleAllSelectableRows(!checkedState)\"\n (keydown.space)=\"_tableRowService.toggleAllSelectableRows(!checkedState)\"\n [attr.aria-description]=\"\n !checkedState\n ? ('platformTable.selectAllCheckboxLabel' | fdTranslate)\n : ('platformTable.deselectAllCheckboxLabel' | fdTranslate)\n \"\n>\n <fd-checkbox\n tabIndexValue=\"-1\"\n *ngIf=\"selectionMode === SELECTION_MODE.MULTIPLE\"\n labelClass=\"fd-table__checkbox-label\"\n [fdkDisabled]=\"_fdpTableService.visibleColumnsLength === 0 || disableSelectionCheckbox\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"checkedState\"\n (ngModelChange)=\"_tableRowService.toggleAllSelectableRows($event)\"\n ></fd-checkbox>\n</th>\n\n<ng-container\n *ngFor=\"\n let column of _fdpTableService.visibleColumns$ | async;\n let colIdx = index;\n trackBy: _columnTrackBy;\n last as isLast\n \"\n>\n <th\n [focusable]=\"true\"\n role=\"columnheader\"\n [fdpTableCellResizable]=\"\n colIdx\n | columnResizableSide\n : _fdpTableService.visibleColumnsLength\n : (_fdpTableService._isShownNavigationColumn$ | async)\n \"\n [columnName]=\"column.name\"\n [id]=\"rowId + '__' + column.name\"\n [attr.aria-colindex]=\"colIdx\"\n [ngClass]=\"[\n 'fdp-table__col--' + column.name,\n column._freezed ? 'fd-table__cell--fixed' : '',\n column.name === freezeColumnsTo ? 'fd-table__cell--fixed-last' : '',\n column._endFreezed ? 'fd-table__cell--fixed-end' : '',\n column.name === freezeEndColumnsTo ? 'fd-table__cell--fixed-end-last' : '',\n isLast && (_fdpTableService._isShownNavigationColumn$ | async) !== true ? 'is-last-child' : '',\n (column | isColumnHasHeaderMenu) ? 'fd-table__item--clickable' : ''\n ]\"\n [ngStyle]=\"\n column\n | tableCellStyles\n : _rtl\n : (_fdpTableService._semanticHighlightingColumnWidth$ | async)\n : selectionColumnWidth\n : column._freezed\n : column._endFreezed\n : _tableColumnResizeService.getPrevColumnsWidth(column.name)\n : _tableColumnResizeService.getColumnWidthStyle(column.name)\n : _tableColumnResizeService.getNextColumnsWidth(column.name)\n \"\n [fdPopoverTrigger]=\"(column | isColumnHasHeaderMenu) ? tablePopover.popover : null\"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n (keydown.arrowLeft)=\"_tableRowService.scrollToOverlappedCell()\"\n (keydown.arrowRight)=\"_tableRowService.scrollToOverlappedCell()\"\n >\n <fdp-table-header-cell-content\n [id]=\"rowId\"\n [column]=\"column\"\n [hasFilter]=\"(_fdpTableService.filterRules$ | async)?.has(column.key) === true\"\n [hasSorting]=\"(_fdpTableService.sortRules$ | async)?.has(column.key) === true\"\n [sorting]=\"(_fdpTableService.sortRules$ | async)?.get(column.key)\"\n [attr.title]=\"column.label\"\n >\n <!-- Header menu -->\n <fdp-table-cell-header-popover\n #tablePopover\n [disabled]=\"!(column | isColumnHasHeaderMenu)\"\n [column]=\"column\"\n [popoverTemplate]=\"(column | isColumnHasHeaderMenu) ? column.headerCellPopoverTemplate : null\"\n [filteringFromHeaderDisabled]=\"_fdpTableService._isFilteringFromHeaderDisabled$ | async\"\n ></fdp-table-cell-header-popover>\n </fdp-table-header-cell-content>\n </th>\n</ng-container>\n\n<th\n *ngIf=\"_fdpTableService._isShownNavigationColumn$ | async\"\n fd-table-cell\n class=\"fdp-table__cell--navigation is-last-child\"\n role=\"columnheader\"\n></th>\n\n<th\n aria-hidden=\"true\"\n class=\"fd-table__cell fd-table__cell--mock\"\n [class.fd-table__cell--mock-borderless]=\"(_tableColumnResizeService.cellMockVisible$ | async) !== true\"\n fdkDisabled\n></th>\n" }]
80
+ }, template: "<th\n *ngIf=\"_fdpTableService._semanticHighlighting$ | async\"\n [class.fd-table__cell--fixed]=\"fixed\"\n fd-table-cell\n fd-table-status-indicator\n fdkDisabled\n [style.min-width]=\"_fdpTableService._semanticHighlightingColumnWidth$ | async\"\n [style.max-width]=\"_fdpTableService._semanticHighlightingColumnWidth$ | async\"\n></th>\n\n<th\n *ngIf=\"isShownSelectionColumn\"\n fd-table-cell\n [focusable]=\"true\"\n [class.fd-table__cell--fixed]=\"fixed\"\n class=\"fd-table__cell--checkbox\"\n [style]=\"\n _contentDensityObserver\n | async\n | selectionCellStyles : _rtl : (_fdpTableService._semanticHighlightingColumnWidth$ | async)\n \"\n (keydown.enter)=\"_tableRowService.toggleAllSelectableRows(!checkedState)\"\n (keydown.space)=\"_tableRowService.toggleAllSelectableRows(!checkedState)\"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n [attr.aria-description]=\"\n !checkedState\n ? ('platformTable.selectAllCheckboxLabel' | fdTranslate)\n : ('platformTable.deselectAllCheckboxLabel' | fdTranslate)\n \"\n>\n <fd-checkbox\n tabIndexValue=\"-1\"\n *ngIf=\"selectionMode === SELECTION_MODE.MULTIPLE\"\n labelClass=\"fd-table__checkbox-label\"\n [fdkDisabled]=\"_fdpTableService.visibleColumnsLength === 0 || disableSelectionCheckbox\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"checkedState\"\n (ngModelChange)=\"_tableRowService.toggleAllSelectableRows($event)\"\n ></fd-checkbox>\n</th>\n\n<ng-container\n *ngFor=\"\n let column of _fdpTableService.visibleColumns$ | async;\n let colIdx = index;\n trackBy: _columnTrackBy;\n last as isLast\n \"\n>\n <th\n [focusable]=\"true\"\n role=\"columnheader\"\n [fdpTableCellResizable]=\"\n colIdx\n | columnResizableSide\n : _fdpTableService.visibleColumnsLength\n : (_fdpTableService._isShownNavigationColumn$ | async)\n \"\n [columnName]=\"column.name\"\n [id]=\"rowId + '__' + column.name\"\n [attr.aria-colindex]=\"colIdx\"\n [ngClass]=\"[\n 'fdp-table__col--' + column.name,\n column._freezed ? 'fd-table__cell--fixed' : '',\n column.name === freezeColumnsTo ? 'fd-table__cell--fixed-last' : '',\n column._endFreezed ? 'fd-table__cell--fixed-end' : '',\n column.name === freezeEndColumnsTo ? 'fd-table__cell--fixed-end-last' : '',\n isLast && (_fdpTableService._isShownNavigationColumn$ | async) !== true ? 'is-last-child' : '',\n (column | isColumnHasHeaderMenu) ? 'fd-table__item--clickable' : ''\n ]\"\n [ngStyle]=\"\n column\n | tableCellStyles\n : _rtl\n : (_fdpTableService._semanticHighlightingColumnWidth$ | async)\n : selectionColumnWidth\n : column._freezed\n : column._endFreezed\n : _tableColumnResizeService.getPrevColumnsWidth(column.name)\n : _tableColumnResizeService.getColumnWidthStyle(column.name)\n : _tableColumnResizeService.getNextColumnsWidth(column.name)\n \"\n [fdPopoverTrigger]=\"(column | isColumnHasHeaderMenu) ? tablePopover.popover : null\"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n (keydown.arrowLeft)=\"_tableRowService.scrollToOverlappedCell()\"\n (keydown.arrowRight)=\"_tableRowService.scrollToOverlappedCell()\"\n >\n <fdp-table-header-cell-content\n [id]=\"rowId\"\n [column]=\"column\"\n [hasFilter]=\"(_fdpTableService.filterRules$ | async)?.has(column.key) === true\"\n [hasSorting]=\"(_fdpTableService.sortRules$ | async)?.has(column.key) === true\"\n [sorting]=\"(_fdpTableService.sortRules$ | async)?.get(column.key)\"\n [attr.title]=\"column.label\"\n >\n <!-- Header menu -->\n <fdp-table-cell-header-popover\n #tablePopover\n [disabled]=\"!(column | isColumnHasHeaderMenu)\"\n [columnFrozen]=\"column._freezed || column._endFreezed\"\n [column]=\"column\"\n [popoverTemplate]=\"(column | isColumnHasHeaderMenu) ? column.headerCellPopoverTemplate : null\"\n [filteringFromHeaderDisabled]=\"_fdpTableService._isFilteringFromHeaderDisabled$ | async\"\n ></fdp-table-cell-header-popover>\n </fdp-table-header-cell-content>\n </th>\n</ng-container>\n\n<th\n *ngIf=\"_fdpTableService._isShownNavigationColumn$ | async\"\n fd-table-cell\n class=\"fdp-table__cell--navigation is-last-child\"\n role=\"columnheader\"\n></th>\n\n<th\n aria-hidden=\"true\"\n class=\"fd-table__cell fd-table__cell--mock\"\n [class.fd-table__cell--mock-borderless]=\"(_tableColumnResizeService.cellMockVisible$ | async) !== true\"\n fdkDisabled\n></th>\n" }]
81
81
  }], ctorParameters: function () { return []; }, propDecorators: { rowId: [{
82
82
  type: Input
83
83
  }], fixed: [{
@@ -121,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
121
121
  type: Pipe,
122
122
  args: [{ name: 'isColumnHasHeaderMenu' }]
123
123
  }] });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1oZWFkZXItcm93L3RhYmxlLWhlYWRlci1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLXJvdy90YWJsZS1oZWFkZXItcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUVMLElBQUksRUFFSixTQUFTLEVBQ1QsWUFBWSxFQUNaLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLDRCQUE0QixFQUM1Qiw0QkFBNEIsRUFFNUIsVUFBVSxFQUNiLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUNILGFBQWEsRUFHYix3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLFlBQVksRUFDZixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBbUIzQyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsaUJBQWlCO0lBaUQxRCxjQUFjO0lBQ2QsSUFDWSxtQkFBbUIsQ0FBQyxLQUF3QztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUE0QkQsY0FBYztJQUNkO1FB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QUFZO1lBQ25CLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywrQkFBK0IsQ0FBQyxLQUFLLENBQUMsQ0FDdEYsQ0FBQztJQUNOLENBQUM7O3NIQWJRLHlCQUF5QjtvSEFBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFBpcGUsXG4gICAgUGlwZVRyYW5zZm9ybSxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBEZXN0cm95ZWRTZXJ2aWNlLFxuICAgIEZES19GT0NVU0FCTEVfSVRFTV9ESVJFQ1RJVkUsXG4gICAgRkRLX0ZPQ1VTQUJMRV9MSVNUX0RJUkVDVElWRSxcbiAgICBGb2N1c2FibGVJdGVtRGlyZWN0aXZlLFxuICAgIFJ0bFNlcnZpY2Vcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgVGFibGVSb3dEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdGFibGUnO1xuaW1wb3J0IHtcbiAgICBTZWxlY3Rpb25Nb2RlLFxuICAgIFNlbGVjdGlvbk1vZGVWYWx1ZSxcbiAgICBUYWJsZUNvbHVtbixcbiAgICBUYWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UsXG4gICAgVGFibGVSb3dTZXJ2aWNlLFxuICAgIFRhYmxlU2VydmljZVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkcC10YWJsZS1oZWFkZXItcm93XScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWhlYWRlci1yb3cuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZES19GT0NVU0FCTEVfTElTVF9ESVJFQ1RJVkUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVGFibGVIZWFkZXJSb3dDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAgRGVzdHJveWVkU2VydmljZVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAncm93J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVIZWFkZXJSb3dDb21wb25lbnQgZXh0ZW5kcyBUYWJsZVJvd0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqIFRhYmxlIElELiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcm93SWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZml4IHRoZSB0YWJsZSBoZWFkZXIgYW5kIGZvb3Rlci4gRGVmYXVsdCBpcyB0cnVlLlxuICAgICAqIE5vdGUgdGhhdCBpZiB0aGUgdGFibGUgY29udGFpbnMgZnJlZXphYmxlIGNvbHVtbnMsIHRoZSBoZWFkZXIgYW5kXG4gICAgICogZm9vdGVyIHdpbGwgYmUgZml4ZWQgYXV0b21hdGljYWxseSwgcmVnYXJkbGVzcyBvZiB0aGlzIGlucHV0IHZhbHVlLlxuICAgICAqICovXG4gICAgQElucHV0KClcbiAgICBmaXhlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gc2hvdyBzZWxlY3Rpb24gY29sdW1uLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNTaG93blNlbGVjdGlvbkNvbHVtbjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFJvdyBjaGVja2VkIHN0YXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2hlY2tlZFN0YXRlOiBib29sZWFuIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFNlbGVjdGlvbiBtb2RlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0aW9uTW9kZTogU2VsZWN0aW9uTW9kZVZhbHVlO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0aW9uIGNvbHVtbiB3aWR0aC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNlbGVjdGlvbkNvbHVtbldpZHRoOiBudW1iZXI7XG5cbiAgICAvKiogVGhlIGNvbHVtbiBgbmFtZWAgdG8gZnJlZXplIGNvbHVtbnMgdXAgdG8gYW5kIGluY2x1ZGluZy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZyZWV6ZUNvbHVtbnNUbzogc3RyaW5nO1xuXG4gICAgLyoqIFRoZSBjb2x1bW4gYG5hbWVgIHRvIGZyZWV6ZSBjb2x1bW5zIGFmdGVyIGFuZCBpbmNsdWRpbmcuICovXG4gICAgQElucHV0KClcbiAgICBmcmVlemVFbmRDb2x1bW5zVG86IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlU2VsZWN0aW9uQ2hlY2tib3ggPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZHJlbihGREtfRk9DVVNBQkxFX0lURU1fRElSRUNUSVZFKVxuICAgIHByaXZhdGUgc2V0IF9mb2N1c2FibGVDZWxsSXRlbXMoaXRlbXM6IFF1ZXJ5TGlzdDxGb2N1c2FibGVJdGVtRGlyZWN0aXZlPikge1xuICAgICAgICB0aGlzLnNldEl0ZW1zKGl0ZW1zKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9ydGwgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgU0VMRUNUSU9OX01PREUgPSBTZWxlY3Rpb25Nb2RlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlID0gaW5qZWN0KFRhYmxlQ29sdW1uUmVzaXplU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF9mZHBUYWJsZVNlcnZpY2UgPSBpbmplY3QoVGFibGVTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXIgPSBpbmplY3QoQ29udGVudERlbnNpdHlPYnNlcnZlcik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF90YWJsZVJvd1NlcnZpY2UgPSBpbmplY3QoVGFibGVSb3dTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcnRsU2VydmljZSA9IGluamVjdChSdGxTZXJ2aWNlLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9ydGxTZXJ2aWNlPy5ydGwucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKGlzUnRsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9ydGwgPSBpc1J0bDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5fdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLm1hcmtGb3JDaGVjay5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jb2x1bW5UcmFja0J5KGluZGV4OiBudW1iZXIsIGNvbHVtbjogVGFibGVDb2x1bW4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gY29sdW1uLm5hbWU7XG4gICAgfVxufVxuXG4vKiogQGhpZGRlbiAqL1xuQFBpcGUoeyBuYW1lOiAnaXNDb2x1bW5IYXNIZWFkZXJNZW51JyB9KVxuZXhwb3J0IGNsYXNzIElzQ29sdW1uSGFzSGVhZGVyTWVudVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZkcFRhYmxlU2VydmljZSA9IGluamVjdChUYWJsZVNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0cmFuc2Zvcm0oY29sdW1uOiBUYWJsZUNvbHVtbik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgY29sdW1uLnNvcnRhYmxlIHx8XG4gICAgICAgICAgICBjb2x1bW4uZ3JvdXBhYmxlIHx8XG4gICAgICAgICAgICBjb2x1bW4uZnJlZXphYmxlIHx8XG4gICAgICAgICAgICBjb2x1bW4uZW5kRnJlZXphYmxlIHx8XG4gICAgICAgICAgICAoY29sdW1uLmZpbHRlcmFibGUgJiYgIXRoaXMuX2ZkcFRhYmxlU2VydmljZS5faXNGaWx0ZXJpbmdGcm9tSGVhZGVyRGlzYWJsZWQkLnZhbHVlKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjx0aFxuICAgICpuZ0lmPVwiX2ZkcFRhYmxlU2VydmljZS5fc2VtYW50aWNIaWdobGlnaHRpbmckIHwgYXN5bmNcIlxuICAgIFtjbGFzcy5mZC10YWJsZV9fY2VsbC0tZml4ZWRdPVwiZml4ZWRcIlxuICAgIGZkLXRhYmxlLWNlbGxcbiAgICBmZC10YWJsZS1zdGF0dXMtaW5kaWNhdG9yXG4gICAgZmRrRGlzYWJsZWRcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIl9mZHBUYWJsZVNlcnZpY2UuX3NlbWFudGljSGlnaGxpZ2h0aW5nQ29sdW1uV2lkdGgkIHwgYXN5bmNcIlxuICAgIFtzdHlsZS5tYXgtd2lkdGhdPVwiX2ZkcFRhYmxlU2VydmljZS5fc2VtYW50aWNIaWdobGlnaHRpbmdDb2x1bW5XaWR0aCQgfCBhc3luY1wiXG4+PC90aD5cblxuPHRoXG4gICAgKm5nSWY9XCJpc1Nob3duU2VsZWN0aW9uQ29sdW1uXCJcbiAgICBmZC10YWJsZS1jZWxsXG4gICAgW2ZvY3VzYWJsZV09XCJ0cnVlXCJcbiAgICBbY2xhc3MuZmQtdGFibGVfX2NlbGwtLWZpeGVkXT1cImZpeGVkXCJcbiAgICBjbGFzcz1cImZkLXRhYmxlX19jZWxsLS1jaGVja2JveFwiXG4gICAgW3N0eWxlXT1cIlxuICAgICAgICBfY29udGVudERlbnNpdHlPYnNlcnZlclxuICAgICAgICAgICAgfCBhc3luY1xuICAgICAgICAgICAgfCBzZWxlY3Rpb25DZWxsU3R5bGVzIDogX3J0bCA6IChfZmRwVGFibGVTZXJ2aWNlLl9zZW1hbnRpY0hpZ2hsaWdodGluZ0NvbHVtbldpZHRoJCB8IGFzeW5jKVxuICAgIFwiXG4gICAgKGtleWRvd24uZW50ZXIpPVwiX3RhYmxlUm93U2VydmljZS50b2dnbGVBbGxTZWxlY3RhYmxlUm93cyghY2hlY2tlZFN0YXRlKVwiXG4gICAgKGtleWRvd24uc3BhY2UpPVwiX3RhYmxlUm93U2VydmljZS50b2dnbGVBbGxTZWxlY3RhYmxlUm93cyghY2hlY2tlZFN0YXRlKVwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmlwdGlvbl09XCJcbiAgICAgICAgIWNoZWNrZWRTdGF0ZVxuICAgICAgICAgICAgPyAoJ3BsYXRmb3JtVGFibGUuc2VsZWN0QWxsQ2hlY2tib3hMYWJlbCcgfCBmZFRyYW5zbGF0ZSlcbiAgICAgICAgICAgIDogKCdwbGF0Zm9ybVRhYmxlLmRlc2VsZWN0QWxsQ2hlY2tib3hMYWJlbCcgfCBmZFRyYW5zbGF0ZSlcbiAgICBcIlxuPlxuICAgIDxmZC1jaGVja2JveFxuICAgICAgICB0YWJJbmRleFZhbHVlPVwiLTFcIlxuICAgICAgICAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT09IFNFTEVDVElPTl9NT0RFLk1VTFRJUExFXCJcbiAgICAgICAgbGFiZWxDbGFzcz1cImZkLXRhYmxlX19jaGVja2JveC1sYWJlbFwiXG4gICAgICAgIFtmZGtEaXNhYmxlZF09XCJfZmRwVGFibGVTZXJ2aWNlLnZpc2libGVDb2x1bW5zTGVuZ3RoID09PSAwIHx8IGRpc2FibGVTZWxlY3Rpb25DaGVja2JveFwiXG4gICAgICAgIFt0cmlzdGF0ZV09XCJ0cnVlXCJcbiAgICAgICAgW3RyaXN0YXRlU2VsZWN0YWJsZV09XCJmYWxzZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cImNoZWNrZWRTdGF0ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIl90YWJsZVJvd1NlcnZpY2UudG9nZ2xlQWxsU2VsZWN0YWJsZVJvd3MoJGV2ZW50KVwiXG4gICAgPjwvZmQtY2hlY2tib3g+XG48L3RoPlxuXG48bmctY29udGFpbmVyXG4gICAgKm5nRm9yPVwiXG4gICAgICAgIGxldCBjb2x1bW4gb2YgX2ZkcFRhYmxlU2VydmljZS52aXNpYmxlQ29sdW1ucyQgfCBhc3luYztcbiAgICAgICAgbGV0IGNvbElkeCA9IGluZGV4O1xuICAgICAgICB0cmFja0J5OiBfY29sdW1uVHJhY2tCeTtcbiAgICAgICAgbGFzdCBhcyBpc0xhc3RcbiAgICBcIlxuPlxuICAgIDx0aFxuICAgICAgICBbZm9jdXNhYmxlXT1cInRydWVcIlxuICAgICAgICByb2xlPVwiY29sdW1uaGVhZGVyXCJcbiAgICAgICAgW2ZkcFRhYmxlQ2VsbFJlc2l6YWJsZV09XCJcbiAgICAgICAgICAgIGNvbElkeFxuICAgICAgICAgICAgICAgIHwgY29sdW1uUmVzaXphYmxlU2lkZVxuICAgICAgICAgICAgICAgICAgICA6IF9mZHBUYWJsZVNlcnZpY2UudmlzaWJsZUNvbHVtbnNMZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgOiAoX2ZkcFRhYmxlU2VydmljZS5faXNTaG93bk5hdmlnYXRpb25Db2x1bW4kIHwgYXN5bmMpXG4gICAgICAgIFwiXG4gICAgICAgIFtjb2x1bW5OYW1lXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgW2lkXT1cInJvd0lkICsgJ19fJyArIGNvbHVtbi5uYW1lXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb2xpbmRleF09XCJjb2xJZHhcIlxuICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnZmRwLXRhYmxlX19jb2wtLScgKyBjb2x1bW4ubmFtZSxcbiAgICAgICAgICAgIGNvbHVtbi5fZnJlZXplZCA/ICdmZC10YWJsZV9fY2VsbC0tZml4ZWQnIDogJycsXG4gICAgICAgICAgICBjb2x1bW4ubmFtZSA9PT0gZnJlZXplQ29sdW1uc1RvID8gJ2ZkLXRhYmxlX19jZWxsLS1maXhlZC1sYXN0JyA6ICcnLFxuICAgICAgICAgICAgY29sdW1uLl9lbmRGcmVlemVkID8gJ2ZkLXRhYmxlX19jZWxsLS1maXhlZC1lbmQnIDogJycsXG4gICAgICAgICAgICBjb2x1bW4ubmFtZSA9PT0gZnJlZXplRW5kQ29sdW1uc1RvID8gJ2ZkLXRhYmxlX19jZWxsLS1maXhlZC1lbmQtbGFzdCcgOiAnJyxcbiAgICAgICAgICAgIGlzTGFzdCAmJiAoX2ZkcFRhYmxlU2VydmljZS5faXNTaG93bk5hdmlnYXRpb25Db2x1bW4kIHwgYXN5bmMpICE9PSB0cnVlID8gJ2lzLWxhc3QtY2hpbGQnIDogJycsXG4gICAgICAgICAgICAoY29sdW1uIHwgaXNDb2x1bW5IYXNIZWFkZXJNZW51KSA/ICdmZC10YWJsZV9faXRlbS0tY2xpY2thYmxlJyA6ICcnXG4gICAgICAgIF1cIlxuICAgICAgICBbbmdTdHlsZV09XCJcbiAgICAgICAgICAgIGNvbHVtblxuICAgICAgICAgICAgICAgIHwgdGFibGVDZWxsU3R5bGVzXG4gICAgICAgICAgICAgICAgICAgIDogX3J0bFxuICAgICAgICAgICAgICAgICAgICA6IChfZmRwVGFibGVTZXJ2aWNlLl9zZW1hbnRpY0hpZ2hsaWdodGluZ0NvbHVtbldpZHRoJCB8IGFzeW5jKVxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdGlvbkNvbHVtbldpZHRoXG4gICAgICAgICAgICAgICAgICAgIDogY29sdW1uLl9mcmVlemVkXG4gICAgICAgICAgICAgICAgICAgIDogY29sdW1uLl9lbmRGcmVlemVkXG4gICAgICAgICAgICAgICAgICAgIDogX3RhYmxlQ29sdW1uUmVzaXplU2VydmljZS5nZXRQcmV2Q29sdW1uc1dpZHRoKGNvbHVtbi5uYW1lKVxuICAgICAgICAgICAgICAgICAgICA6IF90YWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UuZ2V0Q29sdW1uV2lkdGhTdHlsZShjb2x1bW4ubmFtZSlcbiAgICAgICAgICAgICAgICAgICAgOiBfdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLmdldE5leHRDb2x1bW5zV2lkdGgoY29sdW1uLm5hbWUpXG4gICAgICAgIFwiXG4gICAgICAgIFtmZFBvcG92ZXJUcmlnZ2VyXT1cIihjb2x1bW4gfCBpc0NvbHVtbkhhc0hlYWRlck1lbnUpID8gdGFibGVQb3BvdmVyLnBvcG92ZXIgOiBudWxsXCJcbiAgICAgICAgKGNlbGxGb2N1c2VkKT1cIl90YWJsZVJvd1NlcnZpY2UuY2VsbEZvY3VzZWQoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmFycm93TGVmdCk9XCJfdGFibGVSb3dTZXJ2aWNlLnNjcm9sbFRvT3ZlcmxhcHBlZENlbGwoKVwiXG4gICAgICAgIChrZXlkb3duLmFycm93UmlnaHQpPVwiX3RhYmxlUm93U2VydmljZS5zY3JvbGxUb092ZXJsYXBwZWRDZWxsKClcIlxuICAgID5cbiAgICAgICAgPGZkcC10YWJsZS1oZWFkZXItY2VsbC1jb250ZW50XG4gICAgICAgICAgICBbaWRdPVwicm93SWRcIlxuICAgICAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgICAgICAgW2hhc0ZpbHRlcl09XCIoX2ZkcFRhYmxlU2VydmljZS5maWx0ZXJSdWxlcyQgfCBhc3luYyk/Lmhhcyhjb2x1bW4ua2V5KSA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICBbaGFzU29ydGluZ109XCIoX2ZkcFRhYmxlU2VydmljZS5zb3J0UnVsZXMkIHwgYXN5bmMpPy5oYXMoY29sdW1uLmtleSkgPT09IHRydWVcIlxuICAgICAgICAgICAgW3NvcnRpbmddPVwiKF9mZHBUYWJsZVNlcnZpY2Uuc29ydFJ1bGVzJCB8IGFzeW5jKT8uZ2V0KGNvbHVtbi5rZXkpXCJcbiAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cImNvbHVtbi5sYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDwhLS0gSGVhZGVyIG1lbnUgLS0+XG4gICAgICAgICAgICA8ZmRwLXRhYmxlLWNlbGwtaGVhZGVyLXBvcG92ZXJcbiAgICAgICAgICAgICAgICAjdGFibGVQb3BvdmVyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEoY29sdW1uIHwgaXNDb2x1bW5IYXNIZWFkZXJNZW51KVwiXG4gICAgICAgICAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgIFtwb3BvdmVyVGVtcGxhdGVdPVwiKGNvbHVtbiB8IGlzQ29sdW1uSGFzSGVhZGVyTWVudSkgPyBjb2x1bW4uaGVhZGVyQ2VsbFBvcG92ZXJUZW1wbGF0ZSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIFtmaWx0ZXJpbmdGcm9tSGVhZGVyRGlzYWJsZWRdPVwiX2ZkcFRhYmxlU2VydmljZS5faXNGaWx0ZXJpbmdGcm9tSGVhZGVyRGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgPjwvZmRwLXRhYmxlLWNlbGwtaGVhZGVyLXBvcG92ZXI+XG4gICAgICAgIDwvZmRwLXRhYmxlLWhlYWRlci1jZWxsLWNvbnRlbnQ+XG4gICAgPC90aD5cbjwvbmctY29udGFpbmVyPlxuXG48dGhcbiAgICAqbmdJZj1cIl9mZHBUYWJsZVNlcnZpY2UuX2lzU2hvd25OYXZpZ2F0aW9uQ29sdW1uJCB8IGFzeW5jXCJcbiAgICBmZC10YWJsZS1jZWxsXG4gICAgY2xhc3M9XCJmZHAtdGFibGVfX2NlbGwtLW5hdmlnYXRpb24gaXMtbGFzdC1jaGlsZFwiXG4gICAgcm9sZT1cImNvbHVtbmhlYWRlclwiXG4+PC90aD5cblxuPHRoXG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICBjbGFzcz1cImZkLXRhYmxlX19jZWxsIGZkLXRhYmxlX19jZWxsLS1tb2NrXCJcbiAgICBbY2xhc3MuZmQtdGFibGVfX2NlbGwtLW1vY2stYm9yZGVybGVzc109XCIoX3RhYmxlQ29sdW1uUmVzaXplU2VydmljZS5jZWxsTW9ja1Zpc2libGUkIHwgYXN5bmMpICE9PSB0cnVlXCJcbiAgICBmZGtEaXNhYmxlZFxuPjwvdGg+XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1oZWFkZXItcm93L3RhYmxlLWhlYWRlci1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLXJvdy90YWJsZS1oZWFkZXItcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUVMLElBQUksRUFFSixTQUFTLEVBQ1QsWUFBWSxFQUNaLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLDRCQUE0QixFQUM1Qiw0QkFBNEIsRUFFNUIsVUFBVSxFQUNiLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUNILGFBQWEsRUFHYix3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLFlBQVksRUFDZixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBbUIzQyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsaUJBQWlCO0lBaUQxRCxjQUFjO0lBQ2QsSUFDWSxtQkFBbUIsQ0FBQyxLQUF3QztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUE0QkQsY0FBYztJQUNkO1FB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QUFZO1lBQ25CLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywrQkFBK0IsQ0FBQyxLQUFLLENBQUMsQ0FDdEYsQ0FBQztJQUNOLENBQUM7O3NIQWJRLHlCQUF5QjtvSEFBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFBpcGUsXG4gICAgUGlwZVRyYW5zZm9ybSxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBEZXN0cm95ZWRTZXJ2aWNlLFxuICAgIEZES19GT0NVU0FCTEVfSVRFTV9ESVJFQ1RJVkUsXG4gICAgRkRLX0ZPQ1VTQUJMRV9MSVNUX0RJUkVDVElWRSxcbiAgICBGb2N1c2FibGVJdGVtRGlyZWN0aXZlLFxuICAgIFJ0bFNlcnZpY2Vcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgVGFibGVSb3dEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdGFibGUnO1xuaW1wb3J0IHtcbiAgICBTZWxlY3Rpb25Nb2RlLFxuICAgIFNlbGVjdGlvbk1vZGVWYWx1ZSxcbiAgICBUYWJsZUNvbHVtbixcbiAgICBUYWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UsXG4gICAgVGFibGVSb3dTZXJ2aWNlLFxuICAgIFRhYmxlU2VydmljZVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkcC10YWJsZS1oZWFkZXItcm93XScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWhlYWRlci1yb3cuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZES19GT0NVU0FCTEVfTElTVF9ESVJFQ1RJVkUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVGFibGVIZWFkZXJSb3dDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAgRGVzdHJveWVkU2VydmljZVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAncm93J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVIZWFkZXJSb3dDb21wb25lbnQgZXh0ZW5kcyBUYWJsZVJvd0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqIFRhYmxlIElELiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcm93SWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZml4IHRoZSB0YWJsZSBoZWFkZXIgYW5kIGZvb3Rlci4gRGVmYXVsdCBpcyB0cnVlLlxuICAgICAqIE5vdGUgdGhhdCBpZiB0aGUgdGFibGUgY29udGFpbnMgZnJlZXphYmxlIGNvbHVtbnMsIHRoZSBoZWFkZXIgYW5kXG4gICAgICogZm9vdGVyIHdpbGwgYmUgZml4ZWQgYXV0b21hdGljYWxseSwgcmVnYXJkbGVzcyBvZiB0aGlzIGlucHV0IHZhbHVlLlxuICAgICAqICovXG4gICAgQElucHV0KClcbiAgICBmaXhlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gc2hvdyBzZWxlY3Rpb24gY29sdW1uLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNTaG93blNlbGVjdGlvbkNvbHVtbjogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFJvdyBjaGVja2VkIHN0YXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2hlY2tlZFN0YXRlOiBib29sZWFuIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFNlbGVjdGlvbiBtb2RlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0aW9uTW9kZTogU2VsZWN0aW9uTW9kZVZhbHVlO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0aW9uIGNvbHVtbiB3aWR0aC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNlbGVjdGlvbkNvbHVtbldpZHRoOiBudW1iZXI7XG5cbiAgICAvKiogVGhlIGNvbHVtbiBgbmFtZWAgdG8gZnJlZXplIGNvbHVtbnMgdXAgdG8gYW5kIGluY2x1ZGluZy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZyZWV6ZUNvbHVtbnNUbzogc3RyaW5nO1xuXG4gICAgLyoqIFRoZSBjb2x1bW4gYG5hbWVgIHRvIGZyZWV6ZSBjb2x1bW5zIGFmdGVyIGFuZCBpbmNsdWRpbmcuICovXG4gICAgQElucHV0KClcbiAgICBmcmVlemVFbmRDb2x1bW5zVG86IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlU2VsZWN0aW9uQ2hlY2tib3ggPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZHJlbihGREtfRk9DVVNBQkxFX0lURU1fRElSRUNUSVZFKVxuICAgIHByaXZhdGUgc2V0IF9mb2N1c2FibGVDZWxsSXRlbXMoaXRlbXM6IFF1ZXJ5TGlzdDxGb2N1c2FibGVJdGVtRGlyZWN0aXZlPikge1xuICAgICAgICB0aGlzLnNldEl0ZW1zKGl0ZW1zKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9ydGwgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgU0VMRUNUSU9OX01PREUgPSBTZWxlY3Rpb25Nb2RlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlID0gaW5qZWN0KFRhYmxlQ29sdW1uUmVzaXplU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF9mZHBUYWJsZVNlcnZpY2UgPSBpbmplY3QoVGFibGVTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXIgPSBpbmplY3QoQ29udGVudERlbnNpdHlPYnNlcnZlcik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF90YWJsZVJvd1NlcnZpY2UgPSBpbmplY3QoVGFibGVSb3dTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcnRsU2VydmljZSA9IGluamVjdChSdGxTZXJ2aWNlLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9ydGxTZXJ2aWNlPy5ydGwucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKGlzUnRsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9ydGwgPSBpc1J0bDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5fdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLm1hcmtGb3JDaGVjay5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jb2x1bW5UcmFja0J5KGluZGV4OiBudW1iZXIsIGNvbHVtbjogVGFibGVDb2x1bW4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gY29sdW1uLm5hbWU7XG4gICAgfVxufVxuXG4vKiogQGhpZGRlbiAqL1xuQFBpcGUoeyBuYW1lOiAnaXNDb2x1bW5IYXNIZWFkZXJNZW51JyB9KVxuZXhwb3J0IGNsYXNzIElzQ29sdW1uSGFzSGVhZGVyTWVudVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZkcFRhYmxlU2VydmljZSA9IGluamVjdChUYWJsZVNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB0cmFuc2Zvcm0oY29sdW1uOiBUYWJsZUNvbHVtbik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgY29sdW1uLnNvcnRhYmxlIHx8XG4gICAgICAgICAgICBjb2x1bW4uZ3JvdXBhYmxlIHx8XG4gICAgICAgICAgICBjb2x1bW4uZnJlZXphYmxlIHx8XG4gICAgICAgICAgICBjb2x1bW4uZW5kRnJlZXphYmxlIHx8XG4gICAgICAgICAgICAoY29sdW1uLmZpbHRlcmFibGUgJiYgIXRoaXMuX2ZkcFRhYmxlU2VydmljZS5faXNGaWx0ZXJpbmdGcm9tSGVhZGVyRGlzYWJsZWQkLnZhbHVlKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjx0aFxuICAgICpuZ0lmPVwiX2ZkcFRhYmxlU2VydmljZS5fc2VtYW50aWNIaWdobGlnaHRpbmckIHwgYXN5bmNcIlxuICAgIFtjbGFzcy5mZC10YWJsZV9fY2VsbC0tZml4ZWRdPVwiZml4ZWRcIlxuICAgIGZkLXRhYmxlLWNlbGxcbiAgICBmZC10YWJsZS1zdGF0dXMtaW5kaWNhdG9yXG4gICAgZmRrRGlzYWJsZWRcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIl9mZHBUYWJsZVNlcnZpY2UuX3NlbWFudGljSGlnaGxpZ2h0aW5nQ29sdW1uV2lkdGgkIHwgYXN5bmNcIlxuICAgIFtzdHlsZS5tYXgtd2lkdGhdPVwiX2ZkcFRhYmxlU2VydmljZS5fc2VtYW50aWNIaWdobGlnaHRpbmdDb2x1bW5XaWR0aCQgfCBhc3luY1wiXG4+PC90aD5cblxuPHRoXG4gICAgKm5nSWY9XCJpc1Nob3duU2VsZWN0aW9uQ29sdW1uXCJcbiAgICBmZC10YWJsZS1jZWxsXG4gICAgW2ZvY3VzYWJsZV09XCJ0cnVlXCJcbiAgICBbY2xhc3MuZmQtdGFibGVfX2NlbGwtLWZpeGVkXT1cImZpeGVkXCJcbiAgICBjbGFzcz1cImZkLXRhYmxlX19jZWxsLS1jaGVja2JveFwiXG4gICAgW3N0eWxlXT1cIlxuICAgICAgICBfY29udGVudERlbnNpdHlPYnNlcnZlclxuICAgICAgICAgICAgfCBhc3luY1xuICAgICAgICAgICAgfCBzZWxlY3Rpb25DZWxsU3R5bGVzIDogX3J0bCA6IChfZmRwVGFibGVTZXJ2aWNlLl9zZW1hbnRpY0hpZ2hsaWdodGluZ0NvbHVtbldpZHRoJCB8IGFzeW5jKVxuICAgIFwiXG4gICAgKGtleWRvd24uZW50ZXIpPVwiX3RhYmxlUm93U2VydmljZS50b2dnbGVBbGxTZWxlY3RhYmxlUm93cyghY2hlY2tlZFN0YXRlKVwiXG4gICAgKGtleWRvd24uc3BhY2UpPVwiX3RhYmxlUm93U2VydmljZS50b2dnbGVBbGxTZWxlY3RhYmxlUm93cyghY2hlY2tlZFN0YXRlKVwiXG4gICAgKGNlbGxGb2N1c2VkKT1cIl90YWJsZVJvd1NlcnZpY2UuY2VsbEZvY3VzZWQoJGV2ZW50KVwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmlwdGlvbl09XCJcbiAgICAgICAgIWNoZWNrZWRTdGF0ZVxuICAgICAgICAgICAgPyAoJ3BsYXRmb3JtVGFibGUuc2VsZWN0QWxsQ2hlY2tib3hMYWJlbCcgfCBmZFRyYW5zbGF0ZSlcbiAgICAgICAgICAgIDogKCdwbGF0Zm9ybVRhYmxlLmRlc2VsZWN0QWxsQ2hlY2tib3hMYWJlbCcgfCBmZFRyYW5zbGF0ZSlcbiAgICBcIlxuPlxuICAgIDxmZC1jaGVja2JveFxuICAgICAgICB0YWJJbmRleFZhbHVlPVwiLTFcIlxuICAgICAgICAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT09IFNFTEVDVElPTl9NT0RFLk1VTFRJUExFXCJcbiAgICAgICAgbGFiZWxDbGFzcz1cImZkLXRhYmxlX19jaGVja2JveC1sYWJlbFwiXG4gICAgICAgIFtmZGtEaXNhYmxlZF09XCJfZmRwVGFibGVTZXJ2aWNlLnZpc2libGVDb2x1bW5zTGVuZ3RoID09PSAwIHx8IGRpc2FibGVTZWxlY3Rpb25DaGVja2JveFwiXG4gICAgICAgIFt0cmlzdGF0ZV09XCJ0cnVlXCJcbiAgICAgICAgW3RyaXN0YXRlU2VsZWN0YWJsZV09XCJmYWxzZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cImNoZWNrZWRTdGF0ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIl90YWJsZVJvd1NlcnZpY2UudG9nZ2xlQWxsU2VsZWN0YWJsZVJvd3MoJGV2ZW50KVwiXG4gICAgPjwvZmQtY2hlY2tib3g+XG48L3RoPlxuXG48bmctY29udGFpbmVyXG4gICAgKm5nRm9yPVwiXG4gICAgICAgIGxldCBjb2x1bW4gb2YgX2ZkcFRhYmxlU2VydmljZS52aXNpYmxlQ29sdW1ucyQgfCBhc3luYztcbiAgICAgICAgbGV0IGNvbElkeCA9IGluZGV4O1xuICAgICAgICB0cmFja0J5OiBfY29sdW1uVHJhY2tCeTtcbiAgICAgICAgbGFzdCBhcyBpc0xhc3RcbiAgICBcIlxuPlxuICAgIDx0aFxuICAgICAgICBbZm9jdXNhYmxlXT1cInRydWVcIlxuICAgICAgICByb2xlPVwiY29sdW1uaGVhZGVyXCJcbiAgICAgICAgW2ZkcFRhYmxlQ2VsbFJlc2l6YWJsZV09XCJcbiAgICAgICAgICAgIGNvbElkeFxuICAgICAgICAgICAgICAgIHwgY29sdW1uUmVzaXphYmxlU2lkZVxuICAgICAgICAgICAgICAgICAgICA6IF9mZHBUYWJsZVNlcnZpY2UudmlzaWJsZUNvbHVtbnNMZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgOiAoX2ZkcFRhYmxlU2VydmljZS5faXNTaG93bk5hdmlnYXRpb25Db2x1bW4kIHwgYXN5bmMpXG4gICAgICAgIFwiXG4gICAgICAgIFtjb2x1bW5OYW1lXT1cImNvbHVtbi5uYW1lXCJcbiAgICAgICAgW2lkXT1cInJvd0lkICsgJ19fJyArIGNvbHVtbi5uYW1lXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb2xpbmRleF09XCJjb2xJZHhcIlxuICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnZmRwLXRhYmxlX19jb2wtLScgKyBjb2x1bW4ubmFtZSxcbiAgICAgICAgICAgIGNvbHVtbi5fZnJlZXplZCA/ICdmZC10YWJsZV9fY2VsbC0tZml4ZWQnIDogJycsXG4gICAgICAgICAgICBjb2x1bW4ubmFtZSA9PT0gZnJlZXplQ29sdW1uc1RvID8gJ2ZkLXRhYmxlX19jZWxsLS1maXhlZC1sYXN0JyA6ICcnLFxuICAgICAgICAgICAgY29sdW1uLl9lbmRGcmVlemVkID8gJ2ZkLXRhYmxlX19jZWxsLS1maXhlZC1lbmQnIDogJycsXG4gICAgICAgICAgICBjb2x1bW4ubmFtZSA9PT0gZnJlZXplRW5kQ29sdW1uc1RvID8gJ2ZkLXRhYmxlX19jZWxsLS1maXhlZC1lbmQtbGFzdCcgOiAnJyxcbiAgICAgICAgICAgIGlzTGFzdCAmJiAoX2ZkcFRhYmxlU2VydmljZS5faXNTaG93bk5hdmlnYXRpb25Db2x1bW4kIHwgYXN5bmMpICE9PSB0cnVlID8gJ2lzLWxhc3QtY2hpbGQnIDogJycsXG4gICAgICAgICAgICAoY29sdW1uIHwgaXNDb2x1bW5IYXNIZWFkZXJNZW51KSA/ICdmZC10YWJsZV9faXRlbS0tY2xpY2thYmxlJyA6ICcnXG4gICAgICAgIF1cIlxuICAgICAgICBbbmdTdHlsZV09XCJcbiAgICAgICAgICAgIGNvbHVtblxuICAgICAgICAgICAgICAgIHwgdGFibGVDZWxsU3R5bGVzXG4gICAgICAgICAgICAgICAgICAgIDogX3J0bFxuICAgICAgICAgICAgICAgICAgICA6IChfZmRwVGFibGVTZXJ2aWNlLl9zZW1hbnRpY0hpZ2hsaWdodGluZ0NvbHVtbldpZHRoJCB8IGFzeW5jKVxuICAgICAgICAgICAgICAgICAgICA6IHNlbGVjdGlvbkNvbHVtbldpZHRoXG4gICAgICAgICAgICAgICAgICAgIDogY29sdW1uLl9mcmVlemVkXG4gICAgICAgICAgICAgICAgICAgIDogY29sdW1uLl9lbmRGcmVlemVkXG4gICAgICAgICAgICAgICAgICAgIDogX3RhYmxlQ29sdW1uUmVzaXplU2VydmljZS5nZXRQcmV2Q29sdW1uc1dpZHRoKGNvbHVtbi5uYW1lKVxuICAgICAgICAgICAgICAgICAgICA6IF90YWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UuZ2V0Q29sdW1uV2lkdGhTdHlsZShjb2x1bW4ubmFtZSlcbiAgICAgICAgICAgICAgICAgICAgOiBfdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLmdldE5leHRDb2x1bW5zV2lkdGgoY29sdW1uLm5hbWUpXG4gICAgICAgIFwiXG4gICAgICAgIFtmZFBvcG92ZXJUcmlnZ2VyXT1cIihjb2x1bW4gfCBpc0NvbHVtbkhhc0hlYWRlck1lbnUpID8gdGFibGVQb3BvdmVyLnBvcG92ZXIgOiBudWxsXCJcbiAgICAgICAgKGNlbGxGb2N1c2VkKT1cIl90YWJsZVJvd1NlcnZpY2UuY2VsbEZvY3VzZWQoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmFycm93TGVmdCk9XCJfdGFibGVSb3dTZXJ2aWNlLnNjcm9sbFRvT3ZlcmxhcHBlZENlbGwoKVwiXG4gICAgICAgIChrZXlkb3duLmFycm93UmlnaHQpPVwiX3RhYmxlUm93U2VydmljZS5zY3JvbGxUb092ZXJsYXBwZWRDZWxsKClcIlxuICAgID5cbiAgICAgICAgPGZkcC10YWJsZS1oZWFkZXItY2VsbC1jb250ZW50XG4gICAgICAgICAgICBbaWRdPVwicm93SWRcIlxuICAgICAgICAgICAgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgICAgICAgW2hhc0ZpbHRlcl09XCIoX2ZkcFRhYmxlU2VydmljZS5maWx0ZXJSdWxlcyQgfCBhc3luYyk/Lmhhcyhjb2x1bW4ua2V5KSA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICBbaGFzU29ydGluZ109XCIoX2ZkcFRhYmxlU2VydmljZS5zb3J0UnVsZXMkIHwgYXN5bmMpPy5oYXMoY29sdW1uLmtleSkgPT09IHRydWVcIlxuICAgICAgICAgICAgW3NvcnRpbmddPVwiKF9mZHBUYWJsZVNlcnZpY2Uuc29ydFJ1bGVzJCB8IGFzeW5jKT8uZ2V0KGNvbHVtbi5rZXkpXCJcbiAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cImNvbHVtbi5sYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDwhLS0gSGVhZGVyIG1lbnUgLS0+XG4gICAgICAgICAgICA8ZmRwLXRhYmxlLWNlbGwtaGVhZGVyLXBvcG92ZXJcbiAgICAgICAgICAgICAgICAjdGFibGVQb3BvdmVyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEoY29sdW1uIHwgaXNDb2x1bW5IYXNIZWFkZXJNZW51KVwiXG4gICAgICAgICAgICAgICAgW2NvbHVtbkZyb3plbl09XCJjb2x1bW4uX2ZyZWV6ZWQgfHwgY29sdW1uLl9lbmRGcmVlemVkXCJcbiAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgW3BvcG92ZXJUZW1wbGF0ZV09XCIoY29sdW1uIHwgaXNDb2x1bW5IYXNIZWFkZXJNZW51KSA/IGNvbHVtbi5oZWFkZXJDZWxsUG9wb3ZlclRlbXBsYXRlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2ZpbHRlcmluZ0Zyb21IZWFkZXJEaXNhYmxlZF09XCJfZmRwVGFibGVTZXJ2aWNlLl9pc0ZpbHRlcmluZ0Zyb21IZWFkZXJEaXNhYmxlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICA+PC9mZHAtdGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlcj5cbiAgICAgICAgPC9mZHAtdGFibGUtaGVhZGVyLWNlbGwtY29udGVudD5cbiAgICA8L3RoPlxuPC9uZy1jb250YWluZXI+XG5cbjx0aFxuICAgICpuZ0lmPVwiX2ZkcFRhYmxlU2VydmljZS5faXNTaG93bk5hdmlnYXRpb25Db2x1bW4kIHwgYXN5bmNcIlxuICAgIGZkLXRhYmxlLWNlbGxcbiAgICBjbGFzcz1cImZkcC10YWJsZV9fY2VsbC0tbmF2aWdhdGlvbiBpcy1sYXN0LWNoaWxkXCJcbiAgICByb2xlPVwiY29sdW1uaGVhZGVyXCJcbj48L3RoPlxuXG48dGhcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGNsYXNzPVwiZmQtdGFibGVfX2NlbGwgZmQtdGFibGVfX2NlbGwtLW1vY2tcIlxuICAgIFtjbGFzcy5mZC10YWJsZV9fY2VsbC0tbW9jay1ib3JkZXJsZXNzXT1cIihfdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLmNlbGxNb2NrVmlzaWJsZSQgfCBhc3luYykgIT09IHRydWVcIlxuICAgIGZka0Rpc2FibGVkXG4+PC90aD5cbiJdfQ==
@@ -11,4 +11,4 @@ export class TableColumnFreezeEvent {
11
11
  this.previous = previous;
12
12
  }
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWZyZWV6ZS1ldmVudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi90YWJsZS1oZWxwZXJzL21vZGVscy9jb2x1bW4tZnJlZXplLWV2ZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxzQkFBc0I7SUFDL0I7Ozs7O09BS0c7SUFDSCxZQUFtQixNQUFhLEVBQVMsT0FBc0IsRUFBUyxRQUF1QjtRQUE1RSxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWU7SUFBRyxDQUFDO0NBQ3RHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuLi90YWJsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJlZXplQ2hhbmdlIHtcbiAgICBjdXJyZW50OiBzdHJpbmcgfCBudWxsO1xuICAgIHByZXZpb3VzOiBzdHJpbmcgfCBudWxsO1xuICAgIGVuZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtbkZyZWV6ZUV2ZW50IHtcbiAgICAvKipcbiAgICAgKiBUYWJsZSBjb2x1bW4gZnJlZXplIGV2ZW50XG4gICAgICogQHBhcmFtIHNvdXJjZSBUYWJsZSBjb21wb25lbnRcbiAgICAgKiBAcGFyYW0gY3VycmVudCBDdXJyZW50IGZyZWV6ZVRvIGNvbHVtblxuICAgICAqIEBwYXJhbSBwcmV2aW91cyBQcmV2aW91cyBmcmVlemVUbyBjb2x1bW5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgc291cmNlOiBUYWJsZSwgcHVibGljIGN1cnJlbnQ6IHN0cmluZyB8IG51bGwsIHB1YmxpYyBwcmV2aW91czogc3RyaW5nIHwgbnVsbCkge31cbn1cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWZyZWV6ZS1ldmVudC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi90YWJsZS1oZWxwZXJzL21vZGVscy9jb2x1bW4tZnJlZXplLWV2ZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLE1BQU0sT0FBTyxzQkFBc0I7SUFDL0I7Ozs7O09BS0c7SUFDSCxZQUFtQixNQUFhLEVBQVMsT0FBc0IsRUFBUyxRQUF1QjtRQUE1RSxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWU7SUFBRyxDQUFDO0NBQ3RHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuLi90YWJsZSc7XG5pbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uL3RhYmxlLWNvbHVtbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb2x1bW5GcmVlemVJbnRlcm5hbEV2ZW50IHtcbiAgICBuYW1lOiBUYWJsZUNvbHVtblsnbmFtZSddO1xuICAgIGVuZEZyZWV6YWJsZTogVGFibGVDb2x1bW5bJ2VuZEZyZWV6YWJsZSddO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZyZWV6ZUNoYW5nZSB7XG4gICAgY3VycmVudDogc3RyaW5nIHwgbnVsbDtcbiAgICBwcmV2aW91czogc3RyaW5nIHwgbnVsbDtcbiAgICBlbmQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW5GcmVlemVFdmVudCB7XG4gICAgLyoqXG4gICAgICogVGFibGUgY29sdW1uIGZyZWV6ZSBldmVudFxuICAgICAqIEBwYXJhbSBzb3VyY2UgVGFibGUgY29tcG9uZW50XG4gICAgICogQHBhcmFtIGN1cnJlbnQgQ3VycmVudCBmcmVlemVUbyBjb2x1bW5cbiAgICAgKiBAcGFyYW0gcHJldmlvdXMgUHJldmlvdXMgZnJlZXplVG8gY29sdW1uXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHNvdXJjZTogVGFibGUsIHB1YmxpYyBjdXJyZW50OiBzdHJpbmcgfCBudWxsLCBwdWJsaWMgcHJldmlvdXM6IHN0cmluZyB8IG51bGwpIHt9XG59XG4iXX0=
@@ -12,4 +12,4 @@ export class Table {
12
12
  this.openTableColumnSettings = new EventEmitter();
13
13
  }
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFjLFlBQVksRUFBWSxNQUFNLGVBQWUsQ0FBQztBQWVuRSxNQUFNLE9BQWdCLEtBQUs7SUFBM0I7UUEwSkksK0NBQStDO1FBQ3RDLDBCQUFxQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTlFLGlEQUFpRDtRQUN4Qyw0QkFBdUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVoRixnREFBZ0Q7UUFDdkMsMkJBQXNCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFL0UsaURBQWlEO1FBQ3hDLDRCQUF1QixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBVXBGLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmcgKi9cbmltcG9ydCB7IEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zZWFyY2gtZmllbGQnO1xuaW1wb3J0IHsgUHJlc2V0TWFuYWdlZENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBUYWJsZURhdGFTb3VyY2UgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRmlsdGVyIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbGxlY3Rpb24tZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uR3JvdXAgfSBmcm9tICcuL2ludGVyZmFjZXMvY29sbGVjdGlvbi1ncm91cC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29sbGVjdGlvblNvcnQgfSBmcm9tICcuL2ludGVyZmFjZXMvY29sbGVjdGlvbi1zb3J0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJsZVN0YXRlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3RhYmxlLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybVRhYmxlTWFuYWdlZFByZXNldCwgU2F2ZVJvd3NFdmVudCwgVGFibGVJbml0aWFsU3RhdGUsIFRhYmxlUm93IH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFibGVTY3JvbGxhYmxlIH0gZnJvbSAnLi9zZXJ2aWNlcy90YWJsZS1zY3JvbGwtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi90YWJsZS1jb2x1bW4nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGFibGU8VCA9IGFueT4gaW1wbGVtZW50cyBQcmVzZXRNYW5hZ2VkQ29tcG9uZW50PFBsYXRmb3JtVGFibGVNYW5hZ2VkUHJlc2V0PiB7XG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAgIGFic3RyYWN0IF9sb2FkUHJldmlvdXNQYWdlczogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IHBhZ2VTY3JvbGxpbmc6IGJvb2xlYW47XG5cbiAgICBhYnN0cmFjdCBsb2FkUGFnZXNCZWZvcmU6IGJvb2xlYW47XG5cbiAgICBhYnN0cmFjdCBwYWdlU2l6ZTogTnVsbGFibGU8bnVtYmVyPjtcblxuICAgIGFic3RyYWN0IGZyZWV6ZUNvbHVtbnNUbzogc3RyaW5nO1xuXG4gICAgYWJzdHJhY3QgZnJlZXplRW5kQ29sdW1uc1RvOiBzdHJpbmc7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGN1cnJlbnQgcHJlc2V0IGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gY2hhbmdlZC4gKi9cbiAgICBhYnN0cmFjdCBwcmVzZXRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8UGxhdGZvcm1UYWJsZU1hbmFnZWRQcmVzZXQ+O1xuXG4gICAgLyoqIFN1bSBvZiB3aWR0aHMgb2YgZml4ZWQgY29sdW1ucyAoc2VtYW50aWMgaGlnaGxpZ2h0aW5nLCBzZWxlY3Rpb24pICovXG4gICAgYWJzdHJhY3QgZ2V0IF9maXhlZENvbHVtbnNQYWRkaW5nKCk6IG51bWJlcjtcblxuICAgIC8qKiBGcmVlemFibGUgY29sdW1uIG5hbWVzIGFuZCB0aGVpciByZXNwZWN0aXZlIGluZGV4ZXMgKi9cbiAgICBhYnN0cmFjdCBnZXQgX2ZyZWV6YWJsZUNvbHVtbnMoKTogUmVhZG9ubHlNYXA8c3RyaW5nLCBudW1iZXI+O1xuXG4gICAgLyoqIFdpZHRoIG9mIHRoZSB0YWJsZSBlbGVtZW50IGluIHB4ICovXG4gICAgYWJzdHJhY3QgZ2V0IF90YWJsZVdpZHRoUHgoKTogbnVtYmVyO1xuXG4gICAgYWJzdHJhY3QgZ2V0IGxvYWRpbmdTdGF0ZSgpOiBib29sZWFuO1xuXG4gICAgYWJzdHJhY3QgaW5pdGlhbFN0YXRlOiBUYWJsZUluaXRpYWxTdGF0ZSB8IG51bGw7XG5cbiAgICAvKiogVGFibGUgY29sdW1ucyBkZWZpbml0aW9uIGxpc3QgKi9cbiAgICBhYnN0cmFjdCByZWFkb25seSB0YWJsZUNvbHVtbnNTdHJlYW06IE9ic2VydmFibGU8VGFibGVDb2x1bW5bXT47XG5cbiAgICBhYnN0cmFjdCByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgICBhYnN0cmFjdCByZWFkb25seSB0YWJsZUNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIGFic3RyYWN0IHJlYWRvbmx5IHRhYmxlU2Nyb2xsYWJsZTogVGFibGVTY3JvbGxhYmxlO1xuXG4gICAgYWJzdHJhY3QgX3RhYmxlUm93c1Zpc2libGU6IFRhYmxlUm93PFQ+W107XG5cbiAgICBhYnN0cmFjdCBfdGFibGVSb3dzOiBUYWJsZVJvdzxUPltdO1xuXG4gICAgYWJzdHJhY3QgX3RhYmxlUm93c0luVmlld1BvcnRQbGFjZWhvbGRlcjogbnVtYmVyW107XG5cbiAgICAvKiogR2V0IHRhYmxlIHN0YXRlICovXG4gICAgYWJzdHJhY3QgZ2V0VGFibGVTdGF0ZSgpOiBUYWJsZVN0YXRlO1xuXG4gICAgLyoqIFNldCB0YWJsZSBzdGF0ZSAqL1xuICAgIGFic3RyYWN0IHNldFRhYmxlU3RhdGUodGFibGVTdGF0ZTogVGFibGVTdGF0ZSk6IHZvaWQ7XG5cbiAgICAvKiogR2V0IHRhYmxlIGNvbHVtbnMgZGVmaW5pdGlvbiBsaXN0ICovXG4gICAgYWJzdHJhY3QgZ2V0VGFibGVDb2x1bW5zKCk6IFRhYmxlQ29sdW1uW107XG5cbiAgICAvKiogR2V0IGEgbGlzdCBvZiB2aXNpYmxlIHRhYmxlIGNvbHVtbnMuICovXG4gICAgYWJzdHJhY3QgZ2V0VmlzaWJsZVRhYmxlQ29sdW1ucygpOiBUYWJsZUNvbHVtbltdO1xuXG4gICAgLyoqIFNldCBTb3J0aW5nIHJ1bGVzICovXG4gICAgYWJzdHJhY3Qgc29ydChzb3J0UnVsZXM6IENvbGxlY3Rpb25Tb3J0W10pOiB2b2lkO1xuXG4gICAgLyoqIEFkZCBTb3J0aW5nIHJ1bGVzIHRvIHRoZSBleGlzdGluZyBvbmVzICovXG4gICAgYWJzdHJhY3QgYWRkU29ydChzb3J0UnVsZXM6IENvbGxlY3Rpb25Tb3J0W10pOiB2b2lkO1xuXG4gICAgLyoqIFNldCBGaWx0ZXJpbmcgcnVsZXMgKi9cbiAgICBhYnN0cmFjdCBmaWx0ZXIoZmlsdGVyUnVsZXM6IENvbGxlY3Rpb25GaWx0ZXJbXSk6IHZvaWQ7XG5cbiAgICAvKiogQWRkIEZpbHRlciBydWxlcyB0byB0aGUgZXhpc3Rpbmcgb25lcyAqL1xuICAgIGFic3RyYWN0IGFkZEZpbHRlcihmaWx0ZXJSdWxlczogQ29sbGVjdGlvbkZpbHRlcltdKTogdm9pZDtcblxuICAgIC8qKiBTZXQgZ3JvdXBpbmcgcnVsZXMgKi9cbiAgICBhYnN0cmFjdCBncm91cChncm91cFJ1bGVzOiBDb2xsZWN0aW9uR3JvdXBbXSk6IHZvaWQ7XG5cbiAgICAvKiogQWRkIEdyb3VwIHJ1bGVzIHRvIHRoZSBleGlzdGluZyBvbmVzICovXG4gICAgYWJzdHJhY3QgYWRkR3JvdXAoZ3JvdXBSdWxlczogQ29sbGVjdGlvbkdyb3VwW10pOiB2b2lkO1xuXG4gICAgLyoqIFNldCB0YWJsZSBjb2x1bW5zICovXG4gICAgYWJzdHJhY3Qgc2V0Q29sdW1ucyhjb2x1bW5zOiBzdHJpbmdbXSk6IHZvaWQ7XG5cbiAgICAvKiogVG9nZ2xlIHJvdyBjaGVja2VkIHN0YXRlLiAqL1xuICAgIGFic3RyYWN0IHRvZ2dsZVNlbGVjdGFibGVSb3cocm93SW5kZXg6IG51bWJlcik6IHZvaWQ7XG5cbiAgICAvKiogRnJlZXplIHRhYmxlIGNvbHVtbnMgdG8gaW5jbHVkaW5nICovXG4gICAgYWJzdHJhY3QgZnJlZXplVG9Db2x1bW4oY29sdW1uS2V5OiBzdHJpbmcsIGVuZD86IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIFVuZnJlZXplIGNvbHVtbiAqL1xuICAgIGFic3RyYWN0IHVuZnJlZXplKGNvbHVtbktleTogc3RyaW5nKTogdm9pZDtcblxuICAgIC8qKiBTZWFyY2ggaW4gYWxsIHRhYmxlIGNvbHVtbnMgKi9cbiAgICBhYnN0cmFjdCBzZWFyY2goc2VhcmNoSW5wdXQ6IFNlYXJjaElucHV0KTogdm9pZDtcblxuICAgIC8qKiBUb29sYmFyIFNvcnQgU2V0dGluZ3MgYnV0dG9uIHZpc2liaWxpdHkgKi9cbiAgICBhYnN0cmFjdCBzaG93U29ydFNldHRpbmdzSW5Ub29sYmFyKHNob3dTb3J0U2V0dGluZ3M6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIFRvb2xiYXIgRmlsdGVyIFNldHRpbmdzIGJ1dHRvbiB2aXNpYmlsaXR5ICovXG4gICAgYWJzdHJhY3Qgc2hvd0ZpbHRlclNldHRpbmdzSW5Ub29sYmFyKHNob3dGaWx0ZXJTZXR0aW5nczogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogVG9vbGJhciBHcm91cCBTZXR0aW5ncyBidXR0b24gdmlzaWJpbGl0eSAqL1xuICAgIGFic3RyYWN0IHNob3dHcm91cFNldHRpbmdzSW5Ub29sYmFyKHNob3dHcm91cFNldHRpbmdzOiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKiBUb29sYmFyIENvbHVtbnMgU2V0dGluZ3MgYnV0dG9uIHZpc2liaWxpdHkgKi9cbiAgICBhYnN0cmFjdCBzaG93Q29sdW1uU2V0dGluZ3NJblRvb2xiYXIoc2hvd0NvbHVtblNldHRpbmdzOiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKiBEaXNhYmxlIGZpbHRlcmluZyBieSBoZWFkZXIgY29sdW1uIG1lbnUgKi9cbiAgICBhYnN0cmFjdCBzZXRIZWFkZXJDb2x1bW5GaWx0ZXJpbmdEaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogU2V0IGN1cnJlbnQgcGFnZSAqL1xuICAgIGFic3RyYWN0IHNldEN1cnJlbnRQYWdlKGN1cnJlbnRQYWdlOiBudW1iZXIpOiB2b2lkO1xuXG4gICAgLyoqIEdldHMgdGhlIG1heCBhbGxvd2VkIHdpZHRoIGZvciBhbGwgZnJlZXphYmxlIGNvbHVtbnMgKi9cbiAgICBhYnN0cmFjdCBnZXRNYXhBbGxvd2VkRnJlZXphYmxlQ29sdW1uc1dpZHRoKCk6IG51bWJlcjtcblxuICAgIC8qKiBHZXQgdGFibGUgZGF0YSBzb3VyY2UgKi9cbiAgICBhYnN0cmFjdCBnZXREYXRhU291cmNlKCk6IFRhYmxlRGF0YVNvdXJjZTxUPjtcblxuICAgIC8qKiBNYW51YWxseSB0cmlnZ2VycyBjb2x1bW5zIHdpZHRoIHJlY2FsY3VsYXRpb24gKi9cbiAgICBhYnN0cmFjdCByZWNhbGN1bGF0ZVRhYmxlQ29sdW1uV2lkdGgoKTogdm9pZDtcblxuICAgIC8qKiBGZXRjaCBkYXRhIHNvdXJjZSBkYXRhLiAqL1xuICAgIGFic3RyYWN0IGZldGNoKCk6IHZvaWQ7XG5cbiAgICAvKiogQWRkcyBlbXB0eSByb3cgZm9yIGVkaXRpbmcgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcm93cyBhcnJheS4gKi9cbiAgICBhYnN0cmFjdCBhZGRSb3coKTogdm9pZDtcblxuICAgIC8qKiBFbWl0cyBzYXZlIGV2ZW50IGFuZCByZXNldHMgZWRpdGFibGUgcm93cyBhcnJheS4gKi9cbiAgICBhYnN0cmFjdCBzYXZlUm93cygpOiB2b2lkO1xuXG4gICAgLyoqIENhbmNlbHMgZWRpdGluZyBhbmQgZGlzY2FyZHMgbmV3bHkgYWRkZWQgcm93cyAqL1xuICAgIGFic3RyYWN0IGNhbmNlbEVkaXRpbmcoKTogdm9pZDtcblxuICAgIC8qKiBFeHBhbmQgYWxsIHRoZSByb3dzIG9mIHRoZSB0YWJsZSAqL1xuICAgIGFic3RyYWN0IGV4cGFuZEFsbCgpOiB2b2lkO1xuXG4gICAgLyoqIENvbGxhcHNlIGFsbCB0aGUgcm93cyBvZiB0aGUgdGFibGUgKi9cbiAgICBhYnN0cmFjdCBjb2xsYXBzZUFsbCgpOiB2b2lkO1xuXG4gICAgLyoqIFNldHMgc2VsZWN0ZWQgcHJlc2V0LiAqL1xuICAgIGFic3RyYWN0IHNldFByZXNldChkYXRhOiBQbGF0Zm9ybVRhYmxlTWFuYWdlZFByZXNldCk6IHZvaWQ7XG5cbiAgICAvKiogUmV0dXJucyBjdXJyZW50IHByZXNldC4gKi9cbiAgICBhYnN0cmFjdCBnZXRDdXJyZW50UHJlc2V0KCk6IFBsYXRmb3JtVGFibGVNYW5hZ2VkUHJlc2V0O1xuXG4gICAgYWJzdHJhY3QgZ2V0Um93c0luVmlld3BvcnQoKTogbnVtYmVyW107XG5cbiAgICBhYnN0cmFjdCBzZXRSb3dzSW5WaWV3cG9ydChzdGFydEluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogdm9pZDtcblxuICAgIGFic3RyYWN0IHRvZ2dsZUV4cGFuZGFibGVUYWJsZVJvdyhyb3c6IFRhYmxlUm93PFQ+LCBmb3JjZUZldGNoPzogYm9vbGVhbik7XG5cbiAgICBhYnN0cmFjdCBvblRhYmxlUm93c0NoYW5nZWQoKTogdm9pZDtcblxuICAgIGFic3RyYWN0IHJlZnJlc2hEbmRMaXN0KCk6IHZvaWQ7XG5cbiAgICAvKiogVG9vbGJhciBTb3J0IFNldHRpbmdzIGJ1dHRvbiBjbGljayBldmVudCAqL1xuICAgIHJlYWRvbmx5IG9wZW5UYWJsZVNvcnRTZXR0aW5nczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIFRvb2xiYXIgRmlsdGVyIFNldHRpbmdzIGJ1dHRvbiBjbGljayBldmVudCAqL1xuICAgIHJlYWRvbmx5IG9wZW5UYWJsZUZpbHRlclNldHRpbmdzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogVG9vbGJhciBHcm91cCBTZXR0aW5ncyBidXR0b24gY2xpY2sgZXZlbnQgKi9cbiAgICByZWFkb25seSBvcGVuVGFibGVHcm91cFNldHRpbmdzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogVG9vbGJhciBDb2x1bW4gU2V0dGluZ3MgYnV0dG9uIGNsaWNrIGV2ZW50ICovXG4gICAgcmVhZG9ubHkgb3BlblRhYmxlQ29sdW1uU2V0dGluZ3M6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBFdmVudCBmaXJlZCB3aGVuIGVtcHR5IHJvdyBhZGRlZC4gKi9cbiAgICByZWFkb25seSBlbXB0eVJvd0FkZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgICAvKiogRXZlbnQgZmlyZWQgd2hlbiBzYXZlIGJ1dHRvbiBwcmVzc2VkLiAqL1xuICAgIHJlYWRvbmx5IHNhdmU6IEV2ZW50RW1pdHRlcjxTYXZlUm93c0V2ZW50PFQ+PjtcblxuICAgIC8qKiBFdmVudCBmaXJlZCB3aGVuIGNhbmNlbCBidXR0b24gcHJlc3NlZC4gKi9cbiAgICByZWFkb25seSBjYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPjtcbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUtaGVscGVycy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFjLFlBQVksRUFBWSxNQUFNLGVBQWUsQ0FBQztBQWVuRSxNQUFNLE9BQWdCLEtBQUs7SUFBM0I7UUEwSkksK0NBQStDO1FBQ3RDLDBCQUFxQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTlFLGlEQUFpRDtRQUN4Qyw0QkFBdUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVoRixnREFBZ0Q7UUFDdkMsMkJBQXNCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFL0UsaURBQWlEO1FBQ3hDLDRCQUF1QixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBVXBGLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmcgKi9cbmltcG9ydCB7IEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zZWFyY2gtZmllbGQnO1xuaW1wb3J0IHsgUHJlc2V0TWFuYWdlZENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBUYWJsZURhdGFTb3VyY2UgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uRmlsdGVyIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbGxlY3Rpb24tZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uR3JvdXAgfSBmcm9tICcuL2ludGVyZmFjZXMvY29sbGVjdGlvbi1ncm91cC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29sbGVjdGlvblNvcnQgfSBmcm9tICcuL2ludGVyZmFjZXMvY29sbGVjdGlvbi1zb3J0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJsZVN0YXRlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3RhYmxlLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybVRhYmxlTWFuYWdlZFByZXNldCwgU2F2ZVJvd3NFdmVudCwgVGFibGVJbml0aWFsU3RhdGUsIFRhYmxlUm93IH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFibGVTY3JvbGxhYmxlIH0gZnJvbSAnLi9zZXJ2aWNlcy90YWJsZS1zY3JvbGwtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi90YWJsZS1jb2x1bW4nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGFibGU8VCA9IGFueT4gaW1wbGVtZW50cyBQcmVzZXRNYW5hZ2VkQ29tcG9uZW50PFBsYXRmb3JtVGFibGVNYW5hZ2VkUHJlc2V0PiB7XG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAgIGFic3RyYWN0IF9sb2FkUHJldmlvdXNQYWdlczogYm9vbGVhbjtcblxuICAgIGFic3RyYWN0IHBhZ2VTY3JvbGxpbmc6IGJvb2xlYW47XG5cbiAgICBhYnN0cmFjdCBsb2FkUGFnZXNCZWZvcmU6IGJvb2xlYW47XG5cbiAgICBhYnN0cmFjdCBwYWdlU2l6ZTogTnVsbGFibGU8bnVtYmVyPjtcblxuICAgIGFic3RyYWN0IGZyZWV6ZUNvbHVtbnNUbzogc3RyaW5nO1xuXG4gICAgYWJzdHJhY3QgZnJlZXplRW5kQ29sdW1uc1RvOiBzdHJpbmc7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGN1cnJlbnQgcHJlc2V0IGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gY2hhbmdlZC4gKi9cbiAgICBhYnN0cmFjdCBwcmVzZXRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8UGxhdGZvcm1UYWJsZU1hbmFnZWRQcmVzZXQ+O1xuXG4gICAgLyoqIFN1bSBvZiB3aWR0aHMgb2YgZml4ZWQgY29sdW1ucyAoc2VtYW50aWMgaGlnaGxpZ2h0aW5nLCBzZWxlY3Rpb24pICovXG4gICAgYWJzdHJhY3QgZ2V0IF9maXhlZENvbHVtbnNQYWRkaW5nKCk6IG51bWJlcjtcblxuICAgIC8qKiBGcmVlemFibGUgY29sdW1uIG5hbWVzIGFuZCB0aGVpciByZXNwZWN0aXZlIGluZGV4ZXMgKi9cbiAgICBhYnN0cmFjdCBnZXQgX2ZyZWV6YWJsZUNvbHVtbnMoKTogUmVhZG9ubHlNYXA8c3RyaW5nLCBudW1iZXI+O1xuXG4gICAgLyoqIFdpZHRoIG9mIHRoZSB0YWJsZSBlbGVtZW50IGluIHB4ICovXG4gICAgYWJzdHJhY3QgZ2V0IF90YWJsZVdpZHRoUHgoKTogbnVtYmVyO1xuXG4gICAgYWJzdHJhY3QgZ2V0IGxvYWRpbmdTdGF0ZSgpOiBib29sZWFuO1xuXG4gICAgYWJzdHJhY3QgaW5pdGlhbFN0YXRlOiBUYWJsZUluaXRpYWxTdGF0ZSB8IG51bGw7XG5cbiAgICAvKiogVGFibGUgY29sdW1ucyBkZWZpbml0aW9uIGxpc3QgKi9cbiAgICBhYnN0cmFjdCByZWFkb25seSB0YWJsZUNvbHVtbnNTdHJlYW06IE9ic2VydmFibGU8VGFibGVDb2x1bW5bXT47XG5cbiAgICBhYnN0cmFjdCByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgICBhYnN0cmFjdCByZWFkb25seSB0YWJsZUNvbnRhaW5lcjogRWxlbWVudFJlZjtcblxuICAgIGFic3RyYWN0IHJlYWRvbmx5IHRhYmxlU2Nyb2xsYWJsZTogVGFibGVTY3JvbGxhYmxlO1xuXG4gICAgYWJzdHJhY3QgX3RhYmxlUm93c1Zpc2libGU6IFRhYmxlUm93PFQ+W107XG5cbiAgICBhYnN0cmFjdCBfdGFibGVSb3dzOiBUYWJsZVJvdzxUPltdO1xuXG4gICAgYWJzdHJhY3QgX3RhYmxlUm93c0luVmlld1BvcnRQbGFjZWhvbGRlcjogbnVtYmVyW107XG5cbiAgICAvKiogR2V0IHRhYmxlIHN0YXRlICovXG4gICAgYWJzdHJhY3QgZ2V0VGFibGVTdGF0ZSgpOiBUYWJsZVN0YXRlO1xuXG4gICAgLyoqIFNldCB0YWJsZSBzdGF0ZSAqL1xuICAgIGFic3RyYWN0IHNldFRhYmxlU3RhdGUodGFibGVTdGF0ZTogVGFibGVTdGF0ZSk6IHZvaWQ7XG5cbiAgICAvKiogR2V0IHRhYmxlIGNvbHVtbnMgZGVmaW5pdGlvbiBsaXN0ICovXG4gICAgYWJzdHJhY3QgZ2V0VGFibGVDb2x1bW5zKCk6IFRhYmxlQ29sdW1uW107XG5cbiAgICAvKiogR2V0IGEgbGlzdCBvZiB2aXNpYmxlIHRhYmxlIGNvbHVtbnMuICovXG4gICAgYWJzdHJhY3QgZ2V0VmlzaWJsZVRhYmxlQ29sdW1ucygpOiBUYWJsZUNvbHVtbltdO1xuXG4gICAgLyoqIFNldCBTb3J0aW5nIHJ1bGVzICovXG4gICAgYWJzdHJhY3Qgc29ydChzb3J0UnVsZXM6IENvbGxlY3Rpb25Tb3J0W10pOiB2b2lkO1xuXG4gICAgLyoqIEFkZCBTb3J0aW5nIHJ1bGVzIHRvIHRoZSBleGlzdGluZyBvbmVzICovXG4gICAgYWJzdHJhY3QgYWRkU29ydChzb3J0UnVsZXM6IENvbGxlY3Rpb25Tb3J0W10pOiB2b2lkO1xuXG4gICAgLyoqIFNldCBGaWx0ZXJpbmcgcnVsZXMgKi9cbiAgICBhYnN0cmFjdCBmaWx0ZXIoZmlsdGVyUnVsZXM6IENvbGxlY3Rpb25GaWx0ZXJbXSk6IHZvaWQ7XG5cbiAgICAvKiogQWRkIEZpbHRlciBydWxlcyB0byB0aGUgZXhpc3Rpbmcgb25lcyAqL1xuICAgIGFic3RyYWN0IGFkZEZpbHRlcihmaWx0ZXJSdWxlczogQ29sbGVjdGlvbkZpbHRlcltdKTogdm9pZDtcblxuICAgIC8qKiBTZXQgZ3JvdXBpbmcgcnVsZXMgKi9cbiAgICBhYnN0cmFjdCBncm91cChncm91cFJ1bGVzOiBDb2xsZWN0aW9uR3JvdXBbXSk6IHZvaWQ7XG5cbiAgICAvKiogQWRkIEdyb3VwIHJ1bGVzIHRvIHRoZSBleGlzdGluZyBvbmVzICovXG4gICAgYWJzdHJhY3QgYWRkR3JvdXAoZ3JvdXBSdWxlczogQ29sbGVjdGlvbkdyb3VwW10pOiB2b2lkO1xuXG4gICAgLyoqIFNldCB0YWJsZSBjb2x1bW5zICovXG4gICAgYWJzdHJhY3Qgc2V0Q29sdW1ucyhjb2x1bW5zOiBzdHJpbmdbXSk6IHZvaWQ7XG5cbiAgICAvKiogVG9nZ2xlIHJvdyBjaGVja2VkIHN0YXRlLiAqL1xuICAgIGFic3RyYWN0IHRvZ2dsZVNlbGVjdGFibGVSb3cocm93SW5kZXg6IG51bWJlcik6IHZvaWQ7XG5cbiAgICAvKiogRnJlZXplIHRhYmxlIGNvbHVtbnMgdG8gaW5jbHVkaW5nICovXG4gICAgYWJzdHJhY3QgZnJlZXplVG9Db2x1bW4oY29sdW1uS2V5OiBzdHJpbmcsIGVuZD86IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIFVuZnJlZXplIGNvbHVtbiAqL1xuICAgIGFic3RyYWN0IHVuZnJlZXplKGNvbHVtbktleTogc3RyaW5nLCBlbmQ/OiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKiBTZWFyY2ggaW4gYWxsIHRhYmxlIGNvbHVtbnMgKi9cbiAgICBhYnN0cmFjdCBzZWFyY2goc2VhcmNoSW5wdXQ6IFNlYXJjaElucHV0KTogdm9pZDtcblxuICAgIC8qKiBUb29sYmFyIFNvcnQgU2V0dGluZ3MgYnV0dG9uIHZpc2liaWxpdHkgKi9cbiAgICBhYnN0cmFjdCBzaG93U29ydFNldHRpbmdzSW5Ub29sYmFyKHNob3dTb3J0U2V0dGluZ3M6IGJvb2xlYW4pOiB2b2lkO1xuXG4gICAgLyoqIFRvb2xiYXIgRmlsdGVyIFNldHRpbmdzIGJ1dHRvbiB2aXNpYmlsaXR5ICovXG4gICAgYWJzdHJhY3Qgc2hvd0ZpbHRlclNldHRpbmdzSW5Ub29sYmFyKHNob3dGaWx0ZXJTZXR0aW5nczogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogVG9vbGJhciBHcm91cCBTZXR0aW5ncyBidXR0b24gdmlzaWJpbGl0eSAqL1xuICAgIGFic3RyYWN0IHNob3dHcm91cFNldHRpbmdzSW5Ub29sYmFyKHNob3dHcm91cFNldHRpbmdzOiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKiBUb29sYmFyIENvbHVtbnMgU2V0dGluZ3MgYnV0dG9uIHZpc2liaWxpdHkgKi9cbiAgICBhYnN0cmFjdCBzaG93Q29sdW1uU2V0dGluZ3NJblRvb2xiYXIoc2hvd0NvbHVtblNldHRpbmdzOiBib29sZWFuKTogdm9pZDtcblxuICAgIC8qKiBEaXNhYmxlIGZpbHRlcmluZyBieSBoZWFkZXIgY29sdW1uIG1lbnUgKi9cbiAgICBhYnN0cmFjdCBzZXRIZWFkZXJDb2x1bW5GaWx0ZXJpbmdEaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKiogU2V0IGN1cnJlbnQgcGFnZSAqL1xuICAgIGFic3RyYWN0IHNldEN1cnJlbnRQYWdlKGN1cnJlbnRQYWdlOiBudW1iZXIpOiB2b2lkO1xuXG4gICAgLyoqIEdldHMgdGhlIG1heCBhbGxvd2VkIHdpZHRoIGZvciBhbGwgZnJlZXphYmxlIGNvbHVtbnMgKi9cbiAgICBhYnN0cmFjdCBnZXRNYXhBbGxvd2VkRnJlZXphYmxlQ29sdW1uc1dpZHRoKCk6IG51bWJlcjtcblxuICAgIC8qKiBHZXQgdGFibGUgZGF0YSBzb3VyY2UgKi9cbiAgICBhYnN0cmFjdCBnZXREYXRhU291cmNlKCk6IFRhYmxlRGF0YVNvdXJjZTxUPjtcblxuICAgIC8qKiBNYW51YWxseSB0cmlnZ2VycyBjb2x1bW5zIHdpZHRoIHJlY2FsY3VsYXRpb24gKi9cbiAgICBhYnN0cmFjdCByZWNhbGN1bGF0ZVRhYmxlQ29sdW1uV2lkdGgoKTogdm9pZDtcblxuICAgIC8qKiBGZXRjaCBkYXRhIHNvdXJjZSBkYXRhLiAqL1xuICAgIGFic3RyYWN0IGZldGNoKCk6IHZvaWQ7XG5cbiAgICAvKiogQWRkcyBlbXB0eSByb3cgZm9yIGVkaXRpbmcgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcm93cyBhcnJheS4gKi9cbiAgICBhYnN0cmFjdCBhZGRSb3coKTogdm9pZDtcblxuICAgIC8qKiBFbWl0cyBzYXZlIGV2ZW50IGFuZCByZXNldHMgZWRpdGFibGUgcm93cyBhcnJheS4gKi9cbiAgICBhYnN0cmFjdCBzYXZlUm93cygpOiB2b2lkO1xuXG4gICAgLyoqIENhbmNlbHMgZWRpdGluZyBhbmQgZGlzY2FyZHMgbmV3bHkgYWRkZWQgcm93cyAqL1xuICAgIGFic3RyYWN0IGNhbmNlbEVkaXRpbmcoKTogdm9pZDtcblxuICAgIC8qKiBFeHBhbmQgYWxsIHRoZSByb3dzIG9mIHRoZSB0YWJsZSAqL1xuICAgIGFic3RyYWN0IGV4cGFuZEFsbCgpOiB2b2lkO1xuXG4gICAgLyoqIENvbGxhcHNlIGFsbCB0aGUgcm93cyBvZiB0aGUgdGFibGUgKi9cbiAgICBhYnN0cmFjdCBjb2xsYXBzZUFsbCgpOiB2b2lkO1xuXG4gICAgLyoqIFNldHMgc2VsZWN0ZWQgcHJlc2V0LiAqL1xuICAgIGFic3RyYWN0IHNldFByZXNldChkYXRhOiBQbGF0Zm9ybVRhYmxlTWFuYWdlZFByZXNldCk6IHZvaWQ7XG5cbiAgICAvKiogUmV0dXJucyBjdXJyZW50IHByZXNldC4gKi9cbiAgICBhYnN0cmFjdCBnZXRDdXJyZW50UHJlc2V0KCk6IFBsYXRmb3JtVGFibGVNYW5hZ2VkUHJlc2V0O1xuXG4gICAgYWJzdHJhY3QgZ2V0Um93c0luVmlld3BvcnQoKTogbnVtYmVyW107XG5cbiAgICBhYnN0cmFjdCBzZXRSb3dzSW5WaWV3cG9ydChzdGFydEluZGV4OiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKTogdm9pZDtcblxuICAgIGFic3RyYWN0IHRvZ2dsZUV4cGFuZGFibGVUYWJsZVJvdyhyb3c6IFRhYmxlUm93PFQ+LCBmb3JjZUZldGNoPzogYm9vbGVhbik7XG5cbiAgICBhYnN0cmFjdCBvblRhYmxlUm93c0NoYW5nZWQoKTogdm9pZDtcblxuICAgIGFic3RyYWN0IHJlZnJlc2hEbmRMaXN0KCk6IHZvaWQ7XG5cbiAgICAvKiogVG9vbGJhciBTb3J0IFNldHRpbmdzIGJ1dHRvbiBjbGljayBldmVudCAqL1xuICAgIHJlYWRvbmx5IG9wZW5UYWJsZVNvcnRTZXR0aW5nczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIFRvb2xiYXIgRmlsdGVyIFNldHRpbmdzIGJ1dHRvbiBjbGljayBldmVudCAqL1xuICAgIHJlYWRvbmx5IG9wZW5UYWJsZUZpbHRlclNldHRpbmdzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogVG9vbGJhciBHcm91cCBTZXR0aW5ncyBidXR0b24gY2xpY2sgZXZlbnQgKi9cbiAgICByZWFkb25seSBvcGVuVGFibGVHcm91cFNldHRpbmdzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogVG9vbGJhciBDb2x1bW4gU2V0dGluZ3MgYnV0dG9uIGNsaWNrIGV2ZW50ICovXG4gICAgcmVhZG9ubHkgb3BlblRhYmxlQ29sdW1uU2V0dGluZ3M6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBFdmVudCBmaXJlZCB3aGVuIGVtcHR5IHJvdyBhZGRlZC4gKi9cbiAgICByZWFkb25seSBlbXB0eVJvd0FkZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgICAvKiogRXZlbnQgZmlyZWQgd2hlbiBzYXZlIGJ1dHRvbiBwcmVzc2VkLiAqL1xuICAgIHJlYWRvbmx5IHNhdmU6IEV2ZW50RW1pdHRlcjxTYXZlUm93c0V2ZW50PFQ+PjtcblxuICAgIC8qKiBFdmVudCBmaXJlZCB3aGVuIGNhbmNlbCBidXR0b24gcHJlc3NlZC4gKi9cbiAgICByZWFkb25seSBjYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPjtcbn1cbiJdfQ==