@fundamental-ngx/platform 0.46.0-rc.27 → 0.46.0-rc.29

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.
@@ -37,7 +37,7 @@ export class TableGroupRowComponent extends TableRowDirective {
37
37
  provide: FDK_FOCUSABLE_LIST_DIRECTIVE,
38
38
  useExisting: TableGroupRowComponent
39
39
  }
40
- ], viewQueries: [{ propertyName: "_focusableViewCellItems", predicate: FDK_FOCUSABLE_ITEM_DIRECTIVE, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<td\n fd-table-cell\n class=\"fd-table__cell--group fd-table__cell--expand\"\n tabindex=\"0\"\n role=\"gridcell\"\n [focusable]=\"true\"\n [attr.colspan]=\"tableColumnsLength\"\n [attr.aria-expanded]=\"row.expanded\"\n [attr.data-nesting-level]=\"row.level + 1\"\n (fdkClicked)=\"toggleGroupRow.emit(row)\"\n>\n <ng-container *ngTemplateOutlet=\"tableCellExpandTemplate\"></ng-container>\n</td>\n\n<!-- Table Cell Expand Template -->\n<ng-template #tableCellExpandTemplate>\n <div class=\"fd-table__expand-wrapper\">\n <span class=\"fd-table__expand\" [class.fd-table__expand--open]=\"row.expanded\" aria-hidden=\"true\"></span>\n\n <ng-container *ngIf=\"_groupRulesMap | async as groupRules\">\n <!-- Group row template when no nested groups -->\n <ng-container *ngIf=\"groupRules.size === 1\">\n <div class=\"fd-table__text fd-table__text--no-wrap\">\n {{ row.value?.['value'] }} - {{ row.value?.['count'] }}\n </div>\n </ng-container>\n\n <!-- Group row template when there are nested groups -->\n <ng-container *ngIf=\"groupRules.size !== 1\">\n <div class=\"fd-table__text fd-table__text--no-wrap\">\n <ng-container *ngTemplateOutlet=\"tableHeaderCellContentTemplate\"></ng-container>:\n {{ row.value?.['value'] }}\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<!-- Column Header Cell Content Template -->\n<ng-template #tableHeaderCellContentTemplate>\n <ng-container *ngIf=\"_column\">\n <ng-container *ngIf=\"_column.headerCellTemplate; else defaultHeaderCellTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"_column.headerCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: _column }\"\n ></ng-template>\n </ng-container>\n\n <ng-template #defaultHeaderCellTemplate>\n <span\n [id]=\"rowId + '-header-cell-' + _column.name\"\n [attr.title]=\"_column.headerOverflows ? _column.label : null\"\n class=\"fd-table__cell--truncate-txt\"\n >{{ _column.label }}</span\n >\n </ng-template>\n </ng-container>\n</ng-template>\n", dependencies: [{ 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.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "key"] }, { kind: "directive", type: i3.ClickedDirective, selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
+ ], viewQueries: [{ propertyName: "_focusableViewCellItems", predicate: FDK_FOCUSABLE_ITEM_DIRECTIVE, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<td\n fd-table-cell\n class=\"fd-table__cell--group fd-table__cell--expand\"\n tabindex=\"0\"\n role=\"gridcell\"\n [focusable]=\"true\"\n [attr.colspan]=\"tableColumnsLength\"\n [attr.aria-expanded]=\"row.expanded\"\n [attr.data-nesting-level]=\"row.level + 1\"\n (fdkClicked)=\"toggleGroupRow.emit(row)\"\n>\n <ng-container *ngTemplateOutlet=\"tableCellExpandTemplate\"></ng-container>\n</td>\n\n<!-- Table Cell Expand Template -->\n<ng-template #tableCellExpandTemplate>\n <div class=\"fd-table__expand-wrapper\">\n <span class=\"fd-table__expand\" [class.fd-table__expand--open]=\"row.expanded\" aria-hidden=\"true\"></span>\n\n <ng-container *ngIf=\"_groupRulesMap | async as groupRules\">\n <!-- Group row template when no nested groups -->\n <ng-container *ngIf=\"groupRules.size === 1\">\n <div class=\"fd-table__text fd-table__text--no-wrap\">\n {{ row.value?.['value'] }} - {{ row.value?.['count'] }}\n </div>\n </ng-container>\n\n <!-- Group row template when there are nested groups -->\n <ng-container *ngIf=\"groupRules.size !== 1\">\n <div class=\"fd-table__text fd-table__text--no-wrap\">\n <ng-container *ngTemplateOutlet=\"tableHeaderCellContentTemplate\"></ng-container>:\n {{ row.value?.['value'] }}\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<!-- Column Header Cell Content Template -->\n<ng-template #tableHeaderCellContentTemplate>\n <ng-container *ngIf=\"_column\">\n <ng-container *ngIf=\"_column.headerCellTemplate; else defaultHeaderCellTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"_column.headerCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: _column }\"\n ></ng-template>\n </ng-container>\n\n <ng-template #defaultHeaderCellTemplate>\n <span\n [id]=\"rowId + '-header-cell-' + _column.name\"\n [attr.title]=\"_column.label\"\n class=\"fd-table__cell--truncate-txt\"\n >{{ _column.label }}</span\n >\n </ng-template>\n </ng-container>\n</ng-template>\n", dependencies: [{ 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.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "key"] }, { kind: "directive", type: i3.ClickedDirective, selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
41
41
  }
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TableGroupRowComponent, decorators: [{
43
43
  type: Component,
@@ -46,7 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
46
46
  provide: FDK_FOCUSABLE_LIST_DIRECTIVE,
47
47
  useExisting: TableGroupRowComponent
48
48
  }
49
- ], template: "<td\n fd-table-cell\n class=\"fd-table__cell--group fd-table__cell--expand\"\n tabindex=\"0\"\n role=\"gridcell\"\n [focusable]=\"true\"\n [attr.colspan]=\"tableColumnsLength\"\n [attr.aria-expanded]=\"row.expanded\"\n [attr.data-nesting-level]=\"row.level + 1\"\n (fdkClicked)=\"toggleGroupRow.emit(row)\"\n>\n <ng-container *ngTemplateOutlet=\"tableCellExpandTemplate\"></ng-container>\n</td>\n\n<!-- Table Cell Expand Template -->\n<ng-template #tableCellExpandTemplate>\n <div class=\"fd-table__expand-wrapper\">\n <span class=\"fd-table__expand\" [class.fd-table__expand--open]=\"row.expanded\" aria-hidden=\"true\"></span>\n\n <ng-container *ngIf=\"_groupRulesMap | async as groupRules\">\n <!-- Group row template when no nested groups -->\n <ng-container *ngIf=\"groupRules.size === 1\">\n <div class=\"fd-table__text fd-table__text--no-wrap\">\n {{ row.value?.['value'] }} - {{ row.value?.['count'] }}\n </div>\n </ng-container>\n\n <!-- Group row template when there are nested groups -->\n <ng-container *ngIf=\"groupRules.size !== 1\">\n <div class=\"fd-table__text fd-table__text--no-wrap\">\n <ng-container *ngTemplateOutlet=\"tableHeaderCellContentTemplate\"></ng-container>:\n {{ row.value?.['value'] }}\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<!-- Column Header Cell Content Template -->\n<ng-template #tableHeaderCellContentTemplate>\n <ng-container *ngIf=\"_column\">\n <ng-container *ngIf=\"_column.headerCellTemplate; else defaultHeaderCellTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"_column.headerCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: _column }\"\n ></ng-template>\n </ng-container>\n\n <ng-template #defaultHeaderCellTemplate>\n <span\n [id]=\"rowId + '-header-cell-' + _column.name\"\n [attr.title]=\"_column.headerOverflows ? _column.label : null\"\n class=\"fd-table__cell--truncate-txt\"\n >{{ _column.label }}</span\n >\n </ng-template>\n </ng-container>\n</ng-template>\n" }]
49
+ ], template: "<td\n fd-table-cell\n class=\"fd-table__cell--group fd-table__cell--expand\"\n tabindex=\"0\"\n role=\"gridcell\"\n [focusable]=\"true\"\n [attr.colspan]=\"tableColumnsLength\"\n [attr.aria-expanded]=\"row.expanded\"\n [attr.data-nesting-level]=\"row.level + 1\"\n (fdkClicked)=\"toggleGroupRow.emit(row)\"\n>\n <ng-container *ngTemplateOutlet=\"tableCellExpandTemplate\"></ng-container>\n</td>\n\n<!-- Table Cell Expand Template -->\n<ng-template #tableCellExpandTemplate>\n <div class=\"fd-table__expand-wrapper\">\n <span class=\"fd-table__expand\" [class.fd-table__expand--open]=\"row.expanded\" aria-hidden=\"true\"></span>\n\n <ng-container *ngIf=\"_groupRulesMap | async as groupRules\">\n <!-- Group row template when no nested groups -->\n <ng-container *ngIf=\"groupRules.size === 1\">\n <div class=\"fd-table__text fd-table__text--no-wrap\">\n {{ row.value?.['value'] }} - {{ row.value?.['count'] }}\n </div>\n </ng-container>\n\n <!-- Group row template when there are nested groups -->\n <ng-container *ngIf=\"groupRules.size !== 1\">\n <div class=\"fd-table__text fd-table__text--no-wrap\">\n <ng-container *ngTemplateOutlet=\"tableHeaderCellContentTemplate\"></ng-container>:\n {{ row.value?.['value'] }}\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<!-- Column Header Cell Content Template -->\n<ng-template #tableHeaderCellContentTemplate>\n <ng-container *ngIf=\"_column\">\n <ng-container *ngIf=\"_column.headerCellTemplate; else defaultHeaderCellTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"_column.headerCellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: _column }\"\n ></ng-template>\n </ng-container>\n\n <ng-template #defaultHeaderCellTemplate>\n <span\n [id]=\"rowId + '-header-cell-' + _column.name\"\n [attr.title]=\"_column.label\"\n class=\"fd-table__cell--truncate-txt\"\n >{{ _column.label }}</span\n >\n </ng-template>\n </ng-container>\n</ng-template>\n" }]
50
50
  }], propDecorators: { rowId: [{
51
51
  type: Input
52
52
  }], index: [{
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
76
76
  type: ViewChildren,
77
77
  args: [FDK_FOCUSABLE_ITEM_DIRECTIVE]
78
78
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZ3JvdXAtcm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi90YWJsZS9jb21wb25lbnRzL3RhYmxlLWdyb3VwLXJvdy90YWJsZS1ncm91cC1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtZ3JvdXAtcm93L3RhYmxlLWdyb3VwLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFFVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBRy9CLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUEwQyxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7QUFnQi9HLE1BQU0sT0FBTyxzQkFBMEIsU0FBUSxpQkFBaUI7SUFiaEU7O1FBMkJJLG9DQUFvQztRQUdwQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBY2xCLHdFQUF3RTtRQUV4RSxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFXakQsY0FBYztRQUNHLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQWU1RDtJQXRCRyxjQUFjO0lBQ2QsSUFDWSx1QkFBdUIsQ0FBQyxLQUF3QztRQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFLRCxjQUFjO0lBQ2QsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0IsSUFBSSxLQUFLLElBQUksT0FBTyxJQUFJLGdCQUFnQixJQUFJLE9BQU8sRUFBRTtZQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNyRTtJQUNMLENBQUM7OEdBM0RRLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGlhQVBwQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFdBQVcsRUFBRSxzQkFBc0I7YUFDdEM7U0FDSixzRUF5Q2EsNEJBQTRCLDRGQzVFOUMsazBFQTBEQTs7MkZEckJhLHNCQUFzQjtrQkFibEMsU0FBUzsrQkFFSSx1QkFBdUIsaUJBRWxCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVyx3QkFBd0I7eUJBQ3RDO3FCQUNKOzhCQUtELEtBQUs7c0JBREosS0FBSztnQkFLTixLQUFLO3NCQUZKLFdBQVc7dUJBQUMsb0JBQW9COztzQkFDaEMsS0FBSztnQkFNTixNQUFNO3NCQUZMLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFDN0IsS0FBSztnQkFNTixTQUFTO3NCQUZSLFdBQVc7dUJBQUMsZ0NBQWdDOztzQkFDNUMsS0FBSztnQkFLTixHQUFHO3NCQURGLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQUtOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFLTixjQUFjO3NCQURiLE1BQU07Z0JBUUssdUJBQXVCO3NCQURsQyxZQUFZO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEZES19GT0NVU0FCTEVfSVRFTV9ESVJFQ1RJVkUsXG4gICAgRkRLX0ZPQ1VTQUJMRV9MSVNUX0RJUkVDVElWRSxcbiAgICBGb2N1c2FibGVJdGVtRGlyZWN0aXZlLFxuICAgIE51bGxhYmxlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFRhYmxlUm93RGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3RhYmxlJztcbmltcG9ydCB7IENvbGxlY3Rpb25Hcm91cCwgVGFibGVDb2x1bW4sIFRhYmxlUm93LCBUYWJsZVNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkcC10YWJsZS1ncm91cC1yb3ddJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtZ3JvdXAtcm93LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGREtfRk9DVVNBQkxFX0xJU1RfRElSRUNUSVZFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFRhYmxlR3JvdXBSb3dDb21wb25lbnRcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVHcm91cFJvd0NvbXBvbmVudDxUPiBleHRlbmRzIFRhYmxlUm93RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvKiogVGFibGUgSUQuICovXG4gICAgQElucHV0KClcbiAgICByb3dJZDogc3RyaW5nO1xuICAgIC8qKiBSb3cgaW5kZXguICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtcm93aW5kZXgnKVxuICAgIEBJbnB1dCgpXG4gICAgaW5kZXg6IG51bWJlcjtcblxuICAgIC8qKiBSb3cgaGVpZ2h0LiAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JylcbiAgICBASW5wdXQoKVxuICAgIGhlaWdodDogbnVtYmVyO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHJvdyBpcyBkcmFnZ2FibGUuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC10YWJsZV9fcm93LS1kcmFnZ2FibGUnKVxuICAgIEBJbnB1dCgpXG4gICAgZHJhZ2dhYmxlID0gZmFsc2U7XG5cbiAgICAvKiogVGFibGUgUm93LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcm93OiBUYWJsZVJvdzxUPjtcblxuICAgIC8qKiBLZXkgdG8gY29sdW1uIG1hcHBpbmcuICovXG4gICAgQElucHV0KClcbiAgICBrZXlUb0NvbHVtbk1hcDogTWFwPHN0cmluZywgVGFibGVDb2x1bW4+O1xuXG4gICAgLyoqIFRhYmxlIGNvbHVtbnMgbGVuZ3RoLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGFibGVDb2x1bW5zTGVuZ3RoOiBudW1iZXI7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGdyb3VwIHJvdyBleHBhbnNpb24gc3RhdGUgbmVlZHMgdG8gYmUgdG9nZ2xlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICB0b2dnbGVHcm91cFJvdyA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVSb3c8VD4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jb2x1bW46IE51bGxhYmxlPFRhYmxlQ29sdW1uPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZHJlbihGREtfRk9DVVNBQkxFX0lURU1fRElSRUNUSVZFKVxuICAgIHByaXZhdGUgc2V0IF9mb2N1c2FibGVWaWV3Q2VsbEl0ZW1zKGl0ZW1zOiBRdWVyeUxpc3Q8Rm9jdXNhYmxlSXRlbURpcmVjdGl2ZT4pIHtcbiAgICAgICAgdGhpcy5zZXRJdGVtcyhpdGVtcyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9mZHBUYWJsZVNlcnZpY2UgPSBpbmplY3QoVGFibGVTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9ncm91cFJ1bGVzTWFwKCk6IE9ic2VydmFibGU8TWFwPHN0cmluZywgQ29sbGVjdGlvbkdyb3VwPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmRwVGFibGVTZXJ2aWNlLmdyb3VwUnVsZXMkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcblxuICAgICAgICBpZiAoJ3JvdycgaW4gY2hhbmdlcyB8fCAna2V5VG9Db2x1bW5NYXAnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbHVtbiA9IHRoaXMua2V5VG9Db2x1bW5NYXAuZ2V0KHRoaXMucm93LnZhbHVlPy5bJ2ZpZWxkJ10pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHRkXG4gICAgZmQtdGFibGUtY2VsbFxuICAgIGNsYXNzPVwiZmQtdGFibGVfX2NlbGwtLWdyb3VwIGZkLXRhYmxlX19jZWxsLS1leHBhbmRcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgcm9sZT1cImdyaWRjZWxsXCJcbiAgICBbZm9jdXNhYmxlXT1cInRydWVcIlxuICAgIFthdHRyLmNvbHNwYW5dPVwidGFibGVDb2x1bW5zTGVuZ3RoXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInJvdy5leHBhbmRlZFwiXG4gICAgW2F0dHIuZGF0YS1uZXN0aW5nLWxldmVsXT1cInJvdy5sZXZlbCArIDFcIlxuICAgIChmZGtDbGlja2VkKT1cInRvZ2dsZUdyb3VwUm93LmVtaXQocm93KVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlQ2VsbEV4cGFuZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L3RkPlxuXG48IS0tIFRhYmxlIENlbGwgRXhwYW5kIFRlbXBsYXRlIC0tPlxuPG5nLXRlbXBsYXRlICN0YWJsZUNlbGxFeHBhbmRUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtdGFibGVfX2V4cGFuZC13cmFwcGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtdGFibGVfX2V4cGFuZFwiIFtjbGFzcy5mZC10YWJsZV9fZXhwYW5kLS1vcGVuXT1cInJvdy5leHBhbmRlZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2dyb3VwUnVsZXNNYXAgfCBhc3luYyBhcyBncm91cFJ1bGVzXCI+XG4gICAgICAgICAgICA8IS0tIEdyb3VwIHJvdyB0ZW1wbGF0ZSB3aGVuIG5vIG5lc3RlZCBncm91cHMgLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBSdWxlcy5zaXplID09PSAxXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRhYmxlX190ZXh0IGZkLXRhYmxlX190ZXh0LS1uby13cmFwXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHJvdy52YWx1ZT8uWyd2YWx1ZSddIH19IC0ge3sgcm93LnZhbHVlPy5bJ2NvdW50J10gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8IS0tIEdyb3VwIHJvdyB0ZW1wbGF0ZSB3aGVuIHRoZXJlIGFyZSBuZXN0ZWQgZ3JvdXBzIC0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwUnVsZXMuc2l6ZSAhPT0gMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC10YWJsZV9fdGV4dCBmZC10YWJsZV9fdGV4dC0tbm8td3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVIZWFkZXJDZWxsQ29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+OlxuICAgICAgICAgICAgICAgICAgICB7eyByb3cudmFsdWU/LlsndmFsdWUnXSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBDb2x1bW4gSGVhZGVyIENlbGwgQ29udGVudCBUZW1wbGF0ZSAgLS0+XG48bmctdGVtcGxhdGUgI3RhYmxlSGVhZGVyQ2VsbENvbnRlbnRUZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2NvbHVtblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2NvbHVtbi5oZWFkZXJDZWxsVGVtcGxhdGU7IGVsc2UgZGVmYXVsdEhlYWRlckNlbGxUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiX2NvbHVtbi5oZWFkZXJDZWxsVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogX2NvbHVtbiB9XCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRIZWFkZXJDZWxsVGVtcGxhdGU+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtpZF09XCJyb3dJZCArICctaGVhZGVyLWNlbGwtJyArIF9jb2x1bW4ubmFtZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiX2NvbHVtbi5oZWFkZXJPdmVyZmxvd3MgPyBfY29sdW1uLmxhYmVsIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC10YWJsZV9fY2VsbC0tdHJ1bmNhdGUtdHh0XCJcbiAgICAgICAgICAgICAgICA+e3sgX2NvbHVtbi5sYWJlbCB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZ3JvdXAtcm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi90YWJsZS9jb21wb25lbnRzL3RhYmxlLWdyb3VwLXJvdy90YWJsZS1ncm91cC1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtZ3JvdXAtcm93L3RhYmxlLWdyb3VwLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFFVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBRy9CLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUEwQyxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7QUFnQi9HLE1BQU0sT0FBTyxzQkFBMEIsU0FBUSxpQkFBaUI7SUFiaEU7O1FBMkJJLG9DQUFvQztRQUdwQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBY2xCLHdFQUF3RTtRQUV4RSxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFXakQsY0FBYztRQUNHLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQWU1RDtJQXRCRyxjQUFjO0lBQ2QsSUFDWSx1QkFBdUIsQ0FBQyxLQUF3QztRQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFLRCxjQUFjO0lBQ2QsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0IsSUFBSSxLQUFLLElBQUksT0FBTyxJQUFJLGdCQUFnQixJQUFJLE9BQU8sRUFBRTtZQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNyRTtJQUNMLENBQUM7OEdBM0RRLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGlhQVBwQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFdBQVcsRUFBRSxzQkFBc0I7YUFDdEM7U0FDSixzRUF5Q2EsNEJBQTRCLDRGQzVFOUMsaXlFQTBEQTs7MkZEckJhLHNCQUFzQjtrQkFibEMsU0FBUzsrQkFFSSx1QkFBdUIsaUJBRWxCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVyx3QkFBd0I7eUJBQ3RDO3FCQUNKOzhCQUtELEtBQUs7c0JBREosS0FBSztnQkFLTixLQUFLO3NCQUZKLFdBQVc7dUJBQUMsb0JBQW9COztzQkFDaEMsS0FBSztnQkFNTixNQUFNO3NCQUZMLFdBQVc7dUJBQUMsaUJBQWlCOztzQkFDN0IsS0FBSztnQkFNTixTQUFTO3NCQUZSLFdBQVc7dUJBQUMsZ0NBQWdDOztzQkFDNUMsS0FBSztnQkFLTixHQUFHO3NCQURGLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQUtOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFLTixjQUFjO3NCQURiLE1BQU07Z0JBUUssdUJBQXVCO3NCQURsQyxZQUFZO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEZES19GT0NVU0FCTEVfSVRFTV9ESVJFQ1RJVkUsXG4gICAgRkRLX0ZPQ1VTQUJMRV9MSVNUX0RJUkVDVElWRSxcbiAgICBGb2N1c2FibGVJdGVtRGlyZWN0aXZlLFxuICAgIE51bGxhYmxlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFRhYmxlUm93RGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3RhYmxlJztcbmltcG9ydCB7IENvbGxlY3Rpb25Hcm91cCwgVGFibGVDb2x1bW4sIFRhYmxlUm93LCBUYWJsZVNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkcC10YWJsZS1ncm91cC1yb3ddJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtZ3JvdXAtcm93LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGREtfRk9DVVNBQkxFX0xJU1RfRElSRUNUSVZFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFRhYmxlR3JvdXBSb3dDb21wb25lbnRcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVHcm91cFJvd0NvbXBvbmVudDxUPiBleHRlbmRzIFRhYmxlUm93RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvKiogVGFibGUgSUQuICovXG4gICAgQElucHV0KClcbiAgICByb3dJZDogc3RyaW5nO1xuICAgIC8qKiBSb3cgaW5kZXguICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtcm93aW5kZXgnKVxuICAgIEBJbnB1dCgpXG4gICAgaW5kZXg6IG51bWJlcjtcblxuICAgIC8qKiBSb3cgaGVpZ2h0LiAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JylcbiAgICBASW5wdXQoKVxuICAgIGhlaWdodDogbnVtYmVyO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHJvdyBpcyBkcmFnZ2FibGUuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC10YWJsZV9fcm93LS1kcmFnZ2FibGUnKVxuICAgIEBJbnB1dCgpXG4gICAgZHJhZ2dhYmxlID0gZmFsc2U7XG5cbiAgICAvKiogVGFibGUgUm93LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcm93OiBUYWJsZVJvdzxUPjtcblxuICAgIC8qKiBLZXkgdG8gY29sdW1uIG1hcHBpbmcuICovXG4gICAgQElucHV0KClcbiAgICBrZXlUb0NvbHVtbk1hcDogTWFwPHN0cmluZywgVGFibGVDb2x1bW4+O1xuXG4gICAgLyoqIFRhYmxlIGNvbHVtbnMgbGVuZ3RoLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGFibGVDb2x1bW5zTGVuZ3RoOiBudW1iZXI7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGdyb3VwIHJvdyBleHBhbnNpb24gc3RhdGUgbmVlZHMgdG8gYmUgdG9nZ2xlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICB0b2dnbGVHcm91cFJvdyA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVSb3c8VD4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jb2x1bW46IE51bGxhYmxlPFRhYmxlQ29sdW1uPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZHJlbihGREtfRk9DVVNBQkxFX0lURU1fRElSRUNUSVZFKVxuICAgIHByaXZhdGUgc2V0IF9mb2N1c2FibGVWaWV3Q2VsbEl0ZW1zKGl0ZW1zOiBRdWVyeUxpc3Q8Rm9jdXNhYmxlSXRlbURpcmVjdGl2ZT4pIHtcbiAgICAgICAgdGhpcy5zZXRJdGVtcyhpdGVtcyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9mZHBUYWJsZVNlcnZpY2UgPSBpbmplY3QoVGFibGVTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9ncm91cFJ1bGVzTWFwKCk6IE9ic2VydmFibGU8TWFwPHN0cmluZywgQ29sbGVjdGlvbkdyb3VwPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmRwVGFibGVTZXJ2aWNlLmdyb3VwUnVsZXMkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcblxuICAgICAgICBpZiAoJ3JvdycgaW4gY2hhbmdlcyB8fCAna2V5VG9Db2x1bW5NYXAnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbHVtbiA9IHRoaXMua2V5VG9Db2x1bW5NYXAuZ2V0KHRoaXMucm93LnZhbHVlPy5bJ2ZpZWxkJ10pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHRkXG4gICAgZmQtdGFibGUtY2VsbFxuICAgIGNsYXNzPVwiZmQtdGFibGVfX2NlbGwtLWdyb3VwIGZkLXRhYmxlX19jZWxsLS1leHBhbmRcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgcm9sZT1cImdyaWRjZWxsXCJcbiAgICBbZm9jdXNhYmxlXT1cInRydWVcIlxuICAgIFthdHRyLmNvbHNwYW5dPVwidGFibGVDb2x1bW5zTGVuZ3RoXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInJvdy5leHBhbmRlZFwiXG4gICAgW2F0dHIuZGF0YS1uZXN0aW5nLWxldmVsXT1cInJvdy5sZXZlbCArIDFcIlxuICAgIChmZGtDbGlja2VkKT1cInRvZ2dsZUdyb3VwUm93LmVtaXQocm93KVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlQ2VsbEV4cGFuZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L3RkPlxuXG48IS0tIFRhYmxlIENlbGwgRXhwYW5kIFRlbXBsYXRlIC0tPlxuPG5nLXRlbXBsYXRlICN0YWJsZUNlbGxFeHBhbmRUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtdGFibGVfX2V4cGFuZC13cmFwcGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtdGFibGVfX2V4cGFuZFwiIFtjbGFzcy5mZC10YWJsZV9fZXhwYW5kLS1vcGVuXT1cInJvdy5leHBhbmRlZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2dyb3VwUnVsZXNNYXAgfCBhc3luYyBhcyBncm91cFJ1bGVzXCI+XG4gICAgICAgICAgICA8IS0tIEdyb3VwIHJvdyB0ZW1wbGF0ZSB3aGVuIG5vIG5lc3RlZCBncm91cHMgLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBSdWxlcy5zaXplID09PSAxXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRhYmxlX190ZXh0IGZkLXRhYmxlX190ZXh0LS1uby13cmFwXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHJvdy52YWx1ZT8uWyd2YWx1ZSddIH19IC0ge3sgcm93LnZhbHVlPy5bJ2NvdW50J10gfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8IS0tIEdyb3VwIHJvdyB0ZW1wbGF0ZSB3aGVuIHRoZXJlIGFyZSBuZXN0ZWQgZ3JvdXBzIC0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwUnVsZXMuc2l6ZSAhPT0gMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC10YWJsZV9fdGV4dCBmZC10YWJsZV9fdGV4dC0tbm8td3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVIZWFkZXJDZWxsQ29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+OlxuICAgICAgICAgICAgICAgICAgICB7eyByb3cudmFsdWU/LlsndmFsdWUnXSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBDb2x1bW4gSGVhZGVyIENlbGwgQ29udGVudCBUZW1wbGF0ZSAgLS0+XG48bmctdGVtcGxhdGUgI3RhYmxlSGVhZGVyQ2VsbENvbnRlbnRUZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2NvbHVtblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2NvbHVtbi5oZWFkZXJDZWxsVGVtcGxhdGU7IGVsc2UgZGVmYXVsdEhlYWRlckNlbGxUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiX2NvbHVtbi5oZWFkZXJDZWxsVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogX2NvbHVtbiB9XCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRIZWFkZXJDZWxsVGVtcGxhdGU+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIFtpZF09XCJyb3dJZCArICctaGVhZGVyLWNlbGwtJyArIF9jb2x1bW4ubmFtZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiX2NvbHVtbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC10YWJsZV9fY2VsbC0tdHJ1bmNhdGUtdHh0XCJcbiAgICAgICAgICAgICAgICA+e3sgX2NvbHVtbi5sYWJlbCB9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -64,7 +64,7 @@ export class TableHeaderRowComponent extends TableRowDirective {
64
64
  provide: FDK_FOCUSABLE_LIST_DIRECTIVE,
65
65
  useExisting: TableHeaderRowComponent
66
66
  }
67
- ], 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?.headerOverflows ? column.label : null\"\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: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "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 }); }
67
+ ], 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: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "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 }); }
68
68
  }
69
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TableHeaderRowComponent, decorators: [{
70
70
  type: Component,
@@ -73,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
73
73
  provide: FDK_FOCUSABLE_LIST_DIRECTIVE,
74
74
  useExisting: TableHeaderRowComponent
75
75
  }
76
- ], 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?.headerOverflows ? column.label : null\"\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" }]
76
+ ], 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" }]
77
77
  }], ctorParameters: function () { return []; }, propDecorators: { rowId: [{
78
78
  type: Input
79
79
  }], fixed: [{
@@ -117,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
117
117
  type: Pipe,
118
118
  args: [{ name: 'isColumnHasHeaderMenu' }]
119
119
  }] });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1oZWFkZXItcm93L3RhYmxlLWhlYWRlci1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLXJvdy90YWJsZS1oZWFkZXItcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBRUwsSUFBSSxFQUVKLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0gsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUU1QixVQUFVLEVBQ2IsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQ0gsYUFBYSxFQUdiLHdCQUF3QixFQUN4QixlQUFlLEVBQ2YsWUFBWSxFQUNmLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7OztBQWVqRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsaUJBQWlCO0lBaUQxRCxjQUFjO0lBQ2QsSUFDWSxtQkFBbUIsQ0FBQyxLQUF3QztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUE0QkQsY0FBYztJQUNkO1FBQ0ksS0FBSyxFQUFF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Q3RGLENBQUM7SUFDTixDQUFDOzhHQWJRLHlCQUF5Qjs0R0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFBpcGUsXG4gICAgUGlwZVRyYW5zZm9ybSxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gICAgRkRLX0ZPQ1VTQUJMRV9JVEVNX0RJUkVDVElWRSxcbiAgICBGREtfRk9DVVNBQkxFX0xJU1RfRElSRUNUSVZFLFxuICAgIEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgUnRsU2VydmljZVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBUYWJsZVJvd0RpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90YWJsZSc7XG5pbXBvcnQge1xuICAgIFNlbGVjdGlvbk1vZGUsXG4gICAgU2VsZWN0aW9uTW9kZVZhbHVlLFxuICAgIFRhYmxlQ29sdW1uLFxuICAgIFRhYmxlQ29sdW1uUmVzaXplU2VydmljZSxcbiAgICBUYWJsZVJvd1NlcnZpY2UsXG4gICAgVGFibGVTZXJ2aWNlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUtaGVscGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmRwLXRhYmxlLWhlYWRlci1yb3ddJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtaGVhZGVyLXJvdy5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRLX0ZPQ1VTQUJMRV9MSVNUX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUYWJsZUhlYWRlclJvd0NvbXBvbmVudFxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUhlYWRlclJvd0NvbXBvbmVudCBleHRlbmRzIFRhYmxlUm93RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogVGFibGUgSUQuICovXG4gICAgQElucHV0KClcbiAgICByb3dJZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBmaXggdGhlIHRhYmxlIGhlYWRlciBhbmQgZm9vdGVyLiBEZWZhdWx0IGlzIHRydWUuXG4gICAgICogTm90ZSB0aGF0IGlmIHRoZSB0YWJsZSBjb250YWlucyBmcmVlemFibGUgY29sdW1ucywgdGhlIGhlYWRlciBhbmRcbiAgICAgKiBmb290ZXIgd2lsbCBiZSBmaXhlZCBhdXRvbWF0aWNhbGx5LCByZWdhcmRsZXNzIG9mIHRoaXMgaW5wdXQgdmFsdWUuXG4gICAgICogKi9cbiAgICBASW5wdXQoKVxuICAgIGZpeGVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBzaG93IHNlbGVjdGlvbiBjb2x1bW4uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc1Nob3duU2VsZWN0aW9uQ29sdW1uOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogUm93IGNoZWNrZWQgc3RhdGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjaGVja2VkU3RhdGU6IGJvb2xlYW4gfCBudWxsO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0aW9uIG1vZGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZWxlY3Rpb25Nb2RlOiBTZWxlY3Rpb25Nb2RlVmFsdWU7XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3Rpb24gY29sdW1uIHdpZHRoLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0aW9uQ29sdW1uV2lkdGg6IG51bWJlcjtcblxuICAgIC8qKiBUaGUgY29sdW1uIGBuYW1lYCB0byBmcmVlemUgY29sdW1ucyB1cCB0byBhbmQgaW5jbHVkaW5nLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZnJlZXplQ29sdW1uc1RvOiBzdHJpbmc7XG5cbiAgICAvKiogVGhlIGNvbHVtbiBgbmFtZWAgdG8gZnJlZXplIGNvbHVtbnMgYWZ0ZXIgYW5kIGluY2x1ZGluZy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZyZWV6ZUVuZENvbHVtbnNUbzogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVTZWxlY3Rpb25DaGVja2JveCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKEZES19GT0NVU0FCTEVfSVRFTV9ESVJFQ1RJVkUpXG4gICAgcHJpdmF0ZSBzZXQgX2ZvY3VzYWJsZUNlbGxJdGVtcyhpdGVtczogUXVlcnlMaXN0PEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmU+KSB7XG4gICAgICAgIHRoaXMuc2V0SXRlbXMoaXRlbXMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3J0bCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBTRUxFQ1RJT05fTU9ERSA9IFNlbGVjdGlvbk1vZGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF90YWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UgPSBpbmplY3QoVGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX2ZkcFRhYmxlU2VydmljZSA9IGluamVjdChUYWJsZVNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfY29udGVudERlbnNpdHlPYnNlcnZlciA9IGluamVjdChDb250ZW50RGVuc2l0eU9ic2VydmVyKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3RhYmxlUm93U2VydmljZSA9IGluamVjdChUYWJsZVJvd1NlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ydGxTZXJ2aWNlID0gaW5qZWN0KFJ0bFNlcnZpY2UsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGlzUnRsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9ydGwgPSBpc1J0bDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5fdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLm1hcmtGb3JDaGVjay5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NvbHVtblRyYWNrQnkoaW5kZXg6IG51bWJlciwgY29sdW1uOiBUYWJsZUNvbHVtbik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBjb2x1bW4ubmFtZTtcbiAgICB9XG59XG5cbi8qKiBAaGlkZGVuICovXG5AUGlwZSh7IG5hbWU6ICdpc0NvbHVtbkhhc0hlYWRlck1lbnUnIH0pXG5leHBvcnQgY2xhc3MgSXNDb2x1bW5IYXNIZWFkZXJNZW51UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmRwVGFibGVTZXJ2aWNlID0gaW5qZWN0KFRhYmxlU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRyYW5zZm9ybShjb2x1bW46IFRhYmxlQ29sdW1uKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBjb2x1bW4uc29ydGFibGUgfHxcbiAgICAgICAgICAgIGNvbHVtbi5ncm91cGFibGUgfHxcbiAgICAgICAgICAgIGNvbHVtbi5mcmVlemFibGUgfHxcbiAgICAgICAgICAgIGNvbHVtbi5lbmRGcmVlemFibGUgfHxcbiAgICAgICAgICAgIChjb2x1bW4uZmlsdGVyYWJsZSAmJiAhdGhpcy5fZmRwVGFibGVTZXJ2aWNlLl9pc0ZpbHRlcmluZ0Zyb21IZWFkZXJEaXNhYmxlZCQudmFsdWUpXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPHRoXG4gICAgKm5nSWY9XCJfZmRwVGFibGVTZXJ2aWNlLl9zZW1hbnRpY0hpZ2hsaWdodGluZyQgfCBhc3luY1wiXG4gICAgW2NsYXNzLmZkLXRhYmxlX19jZWxsLS1maXhlZF09XCJmaXhlZFwiXG4gICAgZmQtdGFibGUtY2VsbFxuICAgIGZkLXRhYmxlLXN0YXR1cy1pbmRpY2F0b3JcbiAgICBmZGtEaXNhYmxlZFxuICAgIFtzdHlsZS5taW4td2lkdGhdPVwiX2ZkcFRhYmxlU2VydmljZS5fc2VtYW50aWNIaWdobGlnaHRpbmdDb2x1bW5XaWR0aCQgfCBhc3luY1wiXG4gICAgW3N0eWxlLm1heC13aWR0aF09XCJfZmRwVGFibGVTZXJ2aWNlLl9zZW1hbnRpY0hpZ2hsaWdodGluZ0NvbHVtbldpZHRoJCB8IGFzeW5jXCJcbj48L3RoPlxuXG48dGhcbiAgICAqbmdJZj1cImlzU2hvd25TZWxlY3Rpb25Db2x1bW5cIlxuICAgIGZkLXRhYmxlLWNlbGxcbiAgICBbZm9jdXNhYmxlXT1cInRydWVcIlxuICAgIFtjbGFzcy5mZC10YWJsZV9fY2VsbC0tZml4ZWRdPVwiZml4ZWRcIlxuICAgIGNsYXNzPVwiZmQtdGFibGVfX2NlbGwtLWNoZWNrYm94XCJcbiAgICBbc3R5bGVdPVwiXG4gICAgICAgIF9jb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgICAgICAgICB8IGFzeW5jXG4gICAgICAgICAgICB8IHNlbGVjdGlvbkNlbGxTdHlsZXMgOiBfcnRsIDogKF9mZHBUYWJsZVNlcnZpY2UuX3NlbWFudGljSGlnaGxpZ2h0aW5nQ29sdW1uV2lkdGgkIHwgYXN5bmMpXG4gICAgXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJfdGFibGVSb3dTZXJ2aWNlLnRvZ2dsZUFsbFNlbGVjdGFibGVSb3dzKCFjaGVja2VkU3RhdGUpXCJcbiAgICAoa2V5ZG93bi5zcGFjZSk9XCJfdGFibGVSb3dTZXJ2aWNlLnRvZ2dsZUFsbFNlbGVjdGFibGVSb3dzKCFjaGVja2VkU3RhdGUpXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaXB0aW9uXT1cIlxuICAgICAgICAhY2hlY2tlZFN0YXRlXG4gICAgICAgICAgICA/ICgncGxhdGZvcm1UYWJsZS5zZWxlY3RBbGxDaGVja2JveExhYmVsJyB8IGZkVHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoJ3BsYXRmb3JtVGFibGUuZGVzZWxlY3RBbGxDaGVja2JveExhYmVsJyB8IGZkVHJhbnNsYXRlKVxuICAgIFwiXG4+XG4gICAgPGZkLWNoZWNrYm94XG4gICAgICAgIHRhYkluZGV4VmFsdWU9XCItMVwiXG4gICAgICAgICpuZ0lmPVwic2VsZWN0aW9uTW9kZSA9PT0gU0VMRUNUSU9OX01PREUuTVVMVElQTEVcIlxuICAgICAgICBsYWJlbENsYXNzPVwiZmQtdGFibGVfX2NoZWNrYm94LWxhYmVsXCJcbiAgICAgICAgW2Zka0Rpc2FibGVkXT1cIl9mZHBUYWJsZVNlcnZpY2UudmlzaWJsZUNvbHVtbnNMZW5ndGggPT09IDAgfHwgZGlzYWJsZVNlbGVjdGlvbkNoZWNrYm94XCJcbiAgICAgICAgW3RyaXN0YXRlXT1cInRydWVcIlxuICAgICAgICBbdHJpc3RhdGVTZWxlY3RhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW25nTW9kZWxdPVwiY2hlY2tlZFN0YXRlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiX3RhYmxlUm93U2VydmljZS50b2dnbGVBbGxTZWxlY3RhYmxlUm93cygkZXZlbnQpXCJcbiAgICA+PC9mZC1jaGVja2JveD5cbjwvdGg+XG5cbjxuZy1jb250YWluZXJcbiAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IGNvbHVtbiBvZiBfZmRwVGFibGVTZXJ2aWNlLnZpc2libGVDb2x1bW5zJCB8IGFzeW5jO1xuICAgICAgICBsZXQgY29sSWR4ID0gaW5kZXg7XG4gICAgICAgIHRyYWNrQnk6IF9jb2x1bW5UcmFja0J5O1xuICAgICAgICBsYXN0IGFzIGlzTGFzdFxuICAgIFwiXG4+XG4gICAgPHRoXG4gICAgICAgIFtmb2N1c2FibGVdPVwidHJ1ZVwiXG4gICAgICAgIHJvbGU9XCJjb2x1bW5oZWFkZXJcIlxuICAgICAgICBbZmRwVGFibGVDZWxsUmVzaXphYmxlXT1cIlxuICAgICAgICAgICAgY29sSWR4XG4gICAgICAgICAgICAgICAgfCBjb2x1bW5SZXNpemFibGVTaWRlXG4gICAgICAgICAgICAgICAgICAgIDogX2ZkcFRhYmxlU2VydmljZS52aXNpYmxlQ29sdW1uc0xlbmd0aFxuICAgICAgICAgICAgICAgICAgICA6IChfZmRwVGFibGVTZXJ2aWNlLl9pc1Nob3duTmF2aWdhdGlvbkNvbHVtbiQgfCBhc3luYylcbiAgICAgICAgXCJcbiAgICAgICAgW2NvbHVtbk5hbWVdPVwiY29sdW1uLm5hbWVcIlxuICAgICAgICBbaWRdPVwicm93SWQgKyAnX18nICsgY29sdW1uLm5hbWVcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbGluZGV4XT1cImNvbElkeFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICdmZHAtdGFibGVfX2NvbC0tJyArIGNvbHVtbi5uYW1lLFxuICAgICAgICAgICAgY29sdW1uLl9mcmVlemVkID8gJ2ZkLXRhYmxlX19jZWxsLS1maXhlZCcgOiAnJyxcbiAgICAgICAgICAgIGNvbHVtbi5uYW1lID09PSBmcmVlemVDb2x1bW5zVG8gPyAnZmQtdGFibGVfX2NlbGwtLWZpeGVkLWxhc3QnIDogJycsXG4gICAgICAgICAgICBjb2x1bW4uX2VuZEZyZWV6ZWQgPyAnZmQtdGFibGVfX2NlbGwtLWZpeGVkLWVuZCcgOiAnJyxcbiAgICAgICAgICAgIGNvbHVtbi5uYW1lID09PSBmcmVlemVFbmRDb2x1bW5zVG8gPyAnZmQtdGFibGVfX2NlbGwtLWZpeGVkLWVuZC1sYXN0JyA6ICcnLFxuICAgICAgICAgICAgaXNMYXN0ICYmIChfZmRwVGFibGVTZXJ2aWNlLl9pc1Nob3duTmF2aWdhdGlvbkNvbHVtbiQgfCBhc3luYykgIT09IHRydWUgPyAnaXMtbGFzdC1jaGlsZCcgOiAnJyxcbiAgICAgICAgICAgIChjb2x1bW4gfCBpc0NvbHVtbkhhc0hlYWRlck1lbnUpID8gJ2ZkLXRhYmxlX19pdGVtLS1jbGlja2FibGUnIDogJydcbiAgICAgICAgXVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIlxuICAgICAgICAgICAgY29sdW1uXG4gICAgICAgICAgICAgICAgfCB0YWJsZUNlbGxTdHlsZXNcbiAgICAgICAgICAgICAgICAgICAgOiBfcnRsXG4gICAgICAgICAgICAgICAgICAgIDogKF9mZHBUYWJsZVNlcnZpY2UuX3NlbWFudGljSGlnaGxpZ2h0aW5nQ29sdW1uV2lkdGgkIHwgYXN5bmMpXG4gICAgICAgICAgICAgICAgICAgIDogc2VsZWN0aW9uQ29sdW1uV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgOiBjb2x1bW4uX2ZyZWV6ZWRcbiAgICAgICAgICAgICAgICAgICAgOiBjb2x1bW4uX2VuZEZyZWV6ZWRcbiAgICAgICAgICAgICAgICAgICAgOiBfdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLmdldFByZXZDb2x1bW5zV2lkdGgoY29sdW1uLm5hbWUpXG4gICAgICAgICAgICAgICAgICAgIDogX3RhYmxlQ29sdW1uUmVzaXplU2VydmljZS5nZXRDb2x1bW5XaWR0aFN0eWxlKGNvbHVtbi5uYW1lKVxuICAgICAgICAgICAgICAgICAgICA6IF90YWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UuZ2V0TmV4dENvbHVtbnNXaWR0aChjb2x1bW4ubmFtZSlcbiAgICAgICAgXCJcbiAgICAgICAgW2ZkUG9wb3ZlclRyaWdnZXJdPVwiKGNvbHVtbiB8IGlzQ29sdW1uSGFzSGVhZGVyTWVudSkgPyB0YWJsZVBvcG92ZXIucG9wb3ZlciA6IG51bGxcIlxuICAgICAgICAoY2VsbEZvY3VzZWQpPVwiX3RhYmxlUm93U2VydmljZS5jZWxsRm9jdXNlZCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0KT1cIl90YWJsZVJvd1NlcnZpY2Uuc2Nyb2xsVG9PdmVybGFwcGVkQ2VsbCgpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dSaWdodCk9XCJfdGFibGVSb3dTZXJ2aWNlLnNjcm9sbFRvT3ZlcmxhcHBlZENlbGwoKVwiXG4gICAgPlxuICAgICAgICA8ZmRwLXRhYmxlLWhlYWRlci1jZWxsLWNvbnRlbnRcbiAgICAgICAgICAgIFtpZF09XCJyb3dJZFwiXG4gICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICBbaGFzRmlsdGVyXT1cIihfZmRwVGFibGVTZXJ2aWNlLmZpbHRlclJ1bGVzJCB8IGFzeW5jKT8uaGFzKGNvbHVtbi5rZXkpID09PSB0cnVlXCJcbiAgICAgICAgICAgIFtoYXNTb3J0aW5nXT1cIihfZmRwVGFibGVTZXJ2aWNlLnNvcnRSdWxlcyQgfCBhc3luYyk/Lmhhcyhjb2x1bW4ua2V5KSA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICBbc29ydGluZ109XCIoX2ZkcFRhYmxlU2VydmljZS5zb3J0UnVsZXMkIHwgYXN5bmMpPy5nZXQoY29sdW1uLmtleSlcIlxuICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiY29sdW1uPy5oZWFkZXJPdmVyZmxvd3MgPyBjb2x1bW4ubGFiZWwgOiBudWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSBIZWFkZXIgbWVudSAtLT5cbiAgICAgICAgICAgIDxmZHAtdGFibGUtY2VsbC1oZWFkZXItcG9wb3ZlclxuICAgICAgICAgICAgICAgICN0YWJsZVBvcG92ZXJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIShjb2x1bW4gfCBpc0NvbHVtbkhhc0hlYWRlck1lbnUpXCJcbiAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgW3BvcG92ZXJUZW1wbGF0ZV09XCIoY29sdW1uIHwgaXNDb2x1bW5IYXNIZWFkZXJNZW51KSA/IGNvbHVtbi5oZWFkZXJDZWxsUG9wb3ZlclRlbXBsYXRlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2ZpbHRlcmluZ0Zyb21IZWFkZXJEaXNhYmxlZF09XCJfZmRwVGFibGVTZXJ2aWNlLl9pc0ZpbHRlcmluZ0Zyb21IZWFkZXJEaXNhYmxlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICA+PC9mZHAtdGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlcj5cbiAgICAgICAgPC9mZHAtdGFibGUtaGVhZGVyLWNlbGwtY29udGVudD5cbiAgICA8L3RoPlxuPC9uZy1jb250YWluZXI+XG5cbjx0aFxuICAgICpuZ0lmPVwiX2ZkcFRhYmxlU2VydmljZS5faXNTaG93bk5hdmlnYXRpb25Db2x1bW4kIHwgYXN5bmNcIlxuICAgIGZkLXRhYmxlLWNlbGxcbiAgICBjbGFzcz1cImZkcC10YWJsZV9fY2VsbC0tbmF2aWdhdGlvbiBpcy1sYXN0LWNoaWxkXCJcbiAgICByb2xlPVwiY29sdW1uaGVhZGVyXCJcbj48L3RoPlxuXG48dGhcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGNsYXNzPVwiZmQtdGFibGVfX2NlbGwgZmQtdGFibGVfX2NlbGwtLW1vY2tcIlxuICAgIFtjbGFzcy5mZC10YWJsZV9fY2VsbC0tbW9jay1ib3JkZXJsZXNzXT1cIihfdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLmNlbGxNb2NrVmlzaWJsZSQgfCBhc3luYykgIT09IHRydWVcIlxuICAgIGZka0Rpc2FibGVkXG4+PC90aD5cbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1oZWFkZXItcm93L3RhYmxlLWhlYWRlci1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtaGVhZGVyLXJvdy90YWJsZS1oZWFkZXItcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBRUwsSUFBSSxFQUVKLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQ0gsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUU1QixVQUFVLEVBQ2IsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQ0gsYUFBYSxFQUdiLHdCQUF3QixFQUN4QixlQUFlLEVBQ2YsWUFBWSxFQUNmLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7OztBQWVqRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsaUJBQWlCO0lBaUQxRCxjQUFjO0lBQ2QsSUFDWSxtQkFBbUIsQ0FBQyxLQUF3QztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUE0QkQsY0FBYztJQUNkO1FBQ0ksS0FBSyxFQUFF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Q3RGLENBQUM7SUFDTixDQUFDOzhHQWJRLHlCQUF5Qjs0R0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFBpcGUsXG4gICAgUGlwZVRyYW5zZm9ybSxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gICAgRkRLX0ZPQ1VTQUJMRV9JVEVNX0RJUkVDVElWRSxcbiAgICBGREtfRk9DVVNBQkxFX0xJU1RfRElSRUNUSVZFLFxuICAgIEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgUnRsU2VydmljZVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBUYWJsZVJvd0RpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90YWJsZSc7XG5pbXBvcnQge1xuICAgIFNlbGVjdGlvbk1vZGUsXG4gICAgU2VsZWN0aW9uTW9kZVZhbHVlLFxuICAgIFRhYmxlQ29sdW1uLFxuICAgIFRhYmxlQ29sdW1uUmVzaXplU2VydmljZSxcbiAgICBUYWJsZVJvd1NlcnZpY2UsXG4gICAgVGFibGVTZXJ2aWNlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUtaGVscGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmRwLXRhYmxlLWhlYWRlci1yb3ddJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtaGVhZGVyLXJvdy5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRLX0ZPQ1VTQUJMRV9MSVNUX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUYWJsZUhlYWRlclJvd0NvbXBvbmVudFxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUhlYWRlclJvd0NvbXBvbmVudCBleHRlbmRzIFRhYmxlUm93RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogVGFibGUgSUQuICovXG4gICAgQElucHV0KClcbiAgICByb3dJZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBmaXggdGhlIHRhYmxlIGhlYWRlciBhbmQgZm9vdGVyLiBEZWZhdWx0IGlzIHRydWUuXG4gICAgICogTm90ZSB0aGF0IGlmIHRoZSB0YWJsZSBjb250YWlucyBmcmVlemFibGUgY29sdW1ucywgdGhlIGhlYWRlciBhbmRcbiAgICAgKiBmb290ZXIgd2lsbCBiZSBmaXhlZCBhdXRvbWF0aWNhbGx5LCByZWdhcmRsZXNzIG9mIHRoaXMgaW5wdXQgdmFsdWUuXG4gICAgICogKi9cbiAgICBASW5wdXQoKVxuICAgIGZpeGVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBzaG93IHNlbGVjdGlvbiBjb2x1bW4uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc1Nob3duU2VsZWN0aW9uQ29sdW1uOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogUm93IGNoZWNrZWQgc3RhdGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjaGVja2VkU3RhdGU6IGJvb2xlYW4gfCBudWxsO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0aW9uIG1vZGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZWxlY3Rpb25Nb2RlOiBTZWxlY3Rpb25Nb2RlVmFsdWU7XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3Rpb24gY29sdW1uIHdpZHRoLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0aW9uQ29sdW1uV2lkdGg6IG51bWJlcjtcblxuICAgIC8qKiBUaGUgY29sdW1uIGBuYW1lYCB0byBmcmVlemUgY29sdW1ucyB1cCB0byBhbmQgaW5jbHVkaW5nLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZnJlZXplQ29sdW1uc1RvOiBzdHJpbmc7XG5cbiAgICAvKiogVGhlIGNvbHVtbiBgbmFtZWAgdG8gZnJlZXplIGNvbHVtbnMgYWZ0ZXIgYW5kIGluY2x1ZGluZy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZyZWV6ZUVuZENvbHVtbnNUbzogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVTZWxlY3Rpb25DaGVja2JveCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKEZES19GT0NVU0FCTEVfSVRFTV9ESVJFQ1RJVkUpXG4gICAgcHJpdmF0ZSBzZXQgX2ZvY3VzYWJsZUNlbGxJdGVtcyhpdGVtczogUXVlcnlMaXN0PEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmU+KSB7XG4gICAgICAgIHRoaXMuc2V0SXRlbXMoaXRlbXMpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3J0bCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBTRUxFQ1RJT05fTU9ERSA9IFNlbGVjdGlvbk1vZGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF90YWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UgPSBpbmplY3QoVGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX2ZkcFRhYmxlU2VydmljZSA9IGluamVjdChUYWJsZVNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfY29udGVudERlbnNpdHlPYnNlcnZlciA9IGluamVjdChDb250ZW50RGVuc2l0eU9ic2VydmVyKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3RhYmxlUm93U2VydmljZSA9IGluamVjdChUYWJsZVJvd1NlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ydGxTZXJ2aWNlID0gaW5qZWN0KFJ0bFNlcnZpY2UsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKGlzUnRsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9ydGwgPSBpc1J0bDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5fdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLm1hcmtGb3JDaGVjay5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NvbHVtblRyYWNrQnkoaW5kZXg6IG51bWJlciwgY29sdW1uOiBUYWJsZUNvbHVtbik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBjb2x1bW4ubmFtZTtcbiAgICB9XG59XG5cbi8qKiBAaGlkZGVuICovXG5AUGlwZSh7IG5hbWU6ICdpc0NvbHVtbkhhc0hlYWRlck1lbnUnIH0pXG5leHBvcnQgY2xhc3MgSXNDb2x1bW5IYXNIZWFkZXJNZW51UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmRwVGFibGVTZXJ2aWNlID0gaW5qZWN0KFRhYmxlU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHRyYW5zZm9ybShjb2x1bW46IFRhYmxlQ29sdW1uKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBjb2x1bW4uc29ydGFibGUgfHxcbiAgICAgICAgICAgIGNvbHVtbi5ncm91cGFibGUgfHxcbiAgICAgICAgICAgIGNvbHVtbi5mcmVlemFibGUgfHxcbiAgICAgICAgICAgIGNvbHVtbi5lbmRGcmVlemFibGUgfHxcbiAgICAgICAgICAgIChjb2x1bW4uZmlsdGVyYWJsZSAmJiAhdGhpcy5fZmRwVGFibGVTZXJ2aWNlLl9pc0ZpbHRlcmluZ0Zyb21IZWFkZXJEaXNhYmxlZCQudmFsdWUpXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPHRoXG4gICAgKm5nSWY9XCJfZmRwVGFibGVTZXJ2aWNlLl9zZW1hbnRpY0hpZ2hsaWdodGluZyQgfCBhc3luY1wiXG4gICAgW2NsYXNzLmZkLXRhYmxlX19jZWxsLS1maXhlZF09XCJmaXhlZFwiXG4gICAgZmQtdGFibGUtY2VsbFxuICAgIGZkLXRhYmxlLXN0YXR1cy1pbmRpY2F0b3JcbiAgICBmZGtEaXNhYmxlZFxuICAgIFtzdHlsZS5taW4td2lkdGhdPVwiX2ZkcFRhYmxlU2VydmljZS5fc2VtYW50aWNIaWdobGlnaHRpbmdDb2x1bW5XaWR0aCQgfCBhc3luY1wiXG4gICAgW3N0eWxlLm1heC13aWR0aF09XCJfZmRwVGFibGVTZXJ2aWNlLl9zZW1hbnRpY0hpZ2hsaWdodGluZ0NvbHVtbldpZHRoJCB8IGFzeW5jXCJcbj48L3RoPlxuXG48dGhcbiAgICAqbmdJZj1cImlzU2hvd25TZWxlY3Rpb25Db2x1bW5cIlxuICAgIGZkLXRhYmxlLWNlbGxcbiAgICBbZm9jdXNhYmxlXT1cInRydWVcIlxuICAgIFtjbGFzcy5mZC10YWJsZV9fY2VsbC0tZml4ZWRdPVwiZml4ZWRcIlxuICAgIGNsYXNzPVwiZmQtdGFibGVfX2NlbGwtLWNoZWNrYm94XCJcbiAgICBbc3R5bGVdPVwiXG4gICAgICAgIF9jb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgICAgICAgICB8IGFzeW5jXG4gICAgICAgICAgICB8IHNlbGVjdGlvbkNlbGxTdHlsZXMgOiBfcnRsIDogKF9mZHBUYWJsZVNlcnZpY2UuX3NlbWFudGljSGlnaGxpZ2h0aW5nQ29sdW1uV2lkdGgkIHwgYXN5bmMpXG4gICAgXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJfdGFibGVSb3dTZXJ2aWNlLnRvZ2dsZUFsbFNlbGVjdGFibGVSb3dzKCFjaGVja2VkU3RhdGUpXCJcbiAgICAoa2V5ZG93bi5zcGFjZSk9XCJfdGFibGVSb3dTZXJ2aWNlLnRvZ2dsZUFsbFNlbGVjdGFibGVSb3dzKCFjaGVja2VkU3RhdGUpXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaXB0aW9uXT1cIlxuICAgICAgICAhY2hlY2tlZFN0YXRlXG4gICAgICAgICAgICA/ICgncGxhdGZvcm1UYWJsZS5zZWxlY3RBbGxDaGVja2JveExhYmVsJyB8IGZkVHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoJ3BsYXRmb3JtVGFibGUuZGVzZWxlY3RBbGxDaGVja2JveExhYmVsJyB8IGZkVHJhbnNsYXRlKVxuICAgIFwiXG4+XG4gICAgPGZkLWNoZWNrYm94XG4gICAgICAgIHRhYkluZGV4VmFsdWU9XCItMVwiXG4gICAgICAgICpuZ0lmPVwic2VsZWN0aW9uTW9kZSA9PT0gU0VMRUNUSU9OX01PREUuTVVMVElQTEVcIlxuICAgICAgICBsYWJlbENsYXNzPVwiZmQtdGFibGVfX2NoZWNrYm94LWxhYmVsXCJcbiAgICAgICAgW2Zka0Rpc2FibGVkXT1cIl9mZHBUYWJsZVNlcnZpY2UudmlzaWJsZUNvbHVtbnNMZW5ndGggPT09IDAgfHwgZGlzYWJsZVNlbGVjdGlvbkNoZWNrYm94XCJcbiAgICAgICAgW3RyaXN0YXRlXT1cInRydWVcIlxuICAgICAgICBbdHJpc3RhdGVTZWxlY3RhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW25nTW9kZWxdPVwiY2hlY2tlZFN0YXRlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiX3RhYmxlUm93U2VydmljZS50b2dnbGVBbGxTZWxlY3RhYmxlUm93cygkZXZlbnQpXCJcbiAgICA+PC9mZC1jaGVja2JveD5cbjwvdGg+XG5cbjxuZy1jb250YWluZXJcbiAgICAqbmdGb3I9XCJcbiAgICAgICAgbGV0IGNvbHVtbiBvZiBfZmRwVGFibGVTZXJ2aWNlLnZpc2libGVDb2x1bW5zJCB8IGFzeW5jO1xuICAgICAgICBsZXQgY29sSWR4ID0gaW5kZXg7XG4gICAgICAgIHRyYWNrQnk6IF9jb2x1bW5UcmFja0J5O1xuICAgICAgICBsYXN0IGFzIGlzTGFzdFxuICAgIFwiXG4+XG4gICAgPHRoXG4gICAgICAgIFtmb2N1c2FibGVdPVwidHJ1ZVwiXG4gICAgICAgIHJvbGU9XCJjb2x1bW5oZWFkZXJcIlxuICAgICAgICBbZmRwVGFibGVDZWxsUmVzaXphYmxlXT1cIlxuICAgICAgICAgICAgY29sSWR4XG4gICAgICAgICAgICAgICAgfCBjb2x1bW5SZXNpemFibGVTaWRlXG4gICAgICAgICAgICAgICAgICAgIDogX2ZkcFRhYmxlU2VydmljZS52aXNpYmxlQ29sdW1uc0xlbmd0aFxuICAgICAgICAgICAgICAgICAgICA6IChfZmRwVGFibGVTZXJ2aWNlLl9pc1Nob3duTmF2aWdhdGlvbkNvbHVtbiQgfCBhc3luYylcbiAgICAgICAgXCJcbiAgICAgICAgW2NvbHVtbk5hbWVdPVwiY29sdW1uLm5hbWVcIlxuICAgICAgICBbaWRdPVwicm93SWQgKyAnX18nICsgY29sdW1uLm5hbWVcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbGluZGV4XT1cImNvbElkeFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICdmZHAtdGFibGVfX2NvbC0tJyArIGNvbHVtbi5uYW1lLFxuICAgICAgICAgICAgY29sdW1uLl9mcmVlemVkID8gJ2ZkLXRhYmxlX19jZWxsLS1maXhlZCcgOiAnJyxcbiAgICAgICAgICAgIGNvbHVtbi5uYW1lID09PSBmcmVlemVDb2x1bW5zVG8gPyAnZmQtdGFibGVfX2NlbGwtLWZpeGVkLWxhc3QnIDogJycsXG4gICAgICAgICAgICBjb2x1bW4uX2VuZEZyZWV6ZWQgPyAnZmQtdGFibGVfX2NlbGwtLWZpeGVkLWVuZCcgOiAnJyxcbiAgICAgICAgICAgIGNvbHVtbi5uYW1lID09PSBmcmVlemVFbmRDb2x1bW5zVG8gPyAnZmQtdGFibGVfX2NlbGwtLWZpeGVkLWVuZC1sYXN0JyA6ICcnLFxuICAgICAgICAgICAgaXNMYXN0ICYmIChfZmRwVGFibGVTZXJ2aWNlLl9pc1Nob3duTmF2aWdhdGlvbkNvbHVtbiQgfCBhc3luYykgIT09IHRydWUgPyAnaXMtbGFzdC1jaGlsZCcgOiAnJyxcbiAgICAgICAgICAgIChjb2x1bW4gfCBpc0NvbHVtbkhhc0hlYWRlck1lbnUpID8gJ2ZkLXRhYmxlX19pdGVtLS1jbGlja2FibGUnIDogJydcbiAgICAgICAgXVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIlxuICAgICAgICAgICAgY29sdW1uXG4gICAgICAgICAgICAgICAgfCB0YWJsZUNlbGxTdHlsZXNcbiAgICAgICAgICAgICAgICAgICAgOiBfcnRsXG4gICAgICAgICAgICAgICAgICAgIDogKF9mZHBUYWJsZVNlcnZpY2UuX3NlbWFudGljSGlnaGxpZ2h0aW5nQ29sdW1uV2lkdGgkIHwgYXN5bmMpXG4gICAgICAgICAgICAgICAgICAgIDogc2VsZWN0aW9uQ29sdW1uV2lkdGhcbiAgICAgICAgICAgICAgICAgICAgOiBjb2x1bW4uX2ZyZWV6ZWRcbiAgICAgICAgICAgICAgICAgICAgOiBjb2x1bW4uX2VuZEZyZWV6ZWRcbiAgICAgICAgICAgICAgICAgICAgOiBfdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLmdldFByZXZDb2x1bW5zV2lkdGgoY29sdW1uLm5hbWUpXG4gICAgICAgICAgICAgICAgICAgIDogX3RhYmxlQ29sdW1uUmVzaXplU2VydmljZS5nZXRDb2x1bW5XaWR0aFN0eWxlKGNvbHVtbi5uYW1lKVxuICAgICAgICAgICAgICAgICAgICA6IF90YWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UuZ2V0TmV4dENvbHVtbnNXaWR0aChjb2x1bW4ubmFtZSlcbiAgICAgICAgXCJcbiAgICAgICAgW2ZkUG9wb3ZlclRyaWdnZXJdPVwiKGNvbHVtbiB8IGlzQ29sdW1uSGFzSGVhZGVyTWVudSkgPyB0YWJsZVBvcG92ZXIucG9wb3ZlciA6IG51bGxcIlxuICAgICAgICAoY2VsbEZvY3VzZWQpPVwiX3RhYmxlUm93U2VydmljZS5jZWxsRm9jdXNlZCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0KT1cIl90YWJsZVJvd1NlcnZpY2Uuc2Nyb2xsVG9PdmVybGFwcGVkQ2VsbCgpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dSaWdodCk9XCJfdGFibGVSb3dTZXJ2aWNlLnNjcm9sbFRvT3ZlcmxhcHBlZENlbGwoKVwiXG4gICAgPlxuICAgICAgICA8ZmRwLXRhYmxlLWhlYWRlci1jZWxsLWNvbnRlbnRcbiAgICAgICAgICAgIFtpZF09XCJyb3dJZFwiXG4gICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICBbaGFzRmlsdGVyXT1cIihfZmRwVGFibGVTZXJ2aWNlLmZpbHRlclJ1bGVzJCB8IGFzeW5jKT8uaGFzKGNvbHVtbi5rZXkpID09PSB0cnVlXCJcbiAgICAgICAgICAgIFtoYXNTb3J0aW5nXT1cIihfZmRwVGFibGVTZXJ2aWNlLnNvcnRSdWxlcyQgfCBhc3luYyk/Lmhhcyhjb2x1bW4ua2V5KSA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICBbc29ydGluZ109XCIoX2ZkcFRhYmxlU2VydmljZS5zb3J0UnVsZXMkIHwgYXN5bmMpPy5nZXQoY29sdW1uLmtleSlcIlxuICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiY29sdW1uLmxhYmVsXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSBIZWFkZXIgbWVudSAtLT5cbiAgICAgICAgICAgIDxmZHAtdGFibGUtY2VsbC1oZWFkZXItcG9wb3ZlclxuICAgICAgICAgICAgICAgICN0YWJsZVBvcG92ZXJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIShjb2x1bW4gfCBpc0NvbHVtbkhhc0hlYWRlck1lbnUpXCJcbiAgICAgICAgICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgW3BvcG92ZXJUZW1wbGF0ZV09XCIoY29sdW1uIHwgaXNDb2x1bW5IYXNIZWFkZXJNZW51KSA/IGNvbHVtbi5oZWFkZXJDZWxsUG9wb3ZlclRlbXBsYXRlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2ZpbHRlcmluZ0Zyb21IZWFkZXJEaXNhYmxlZF09XCJfZmRwVGFibGVTZXJ2aWNlLl9pc0ZpbHRlcmluZ0Zyb21IZWFkZXJEaXNhYmxlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICA+PC9mZHAtdGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlcj5cbiAgICAgICAgPC9mZHAtdGFibGUtaGVhZGVyLWNlbGwtY29udGVudD5cbiAgICA8L3RoPlxuPC9uZy1jb250YWluZXI+XG5cbjx0aFxuICAgICpuZ0lmPVwiX2ZkcFRhYmxlU2VydmljZS5faXNTaG93bk5hdmlnYXRpb25Db2x1bW4kIHwgYXN5bmNcIlxuICAgIGZkLXRhYmxlLWNlbGxcbiAgICBjbGFzcz1cImZkcC10YWJsZV9fY2VsbC0tbmF2aWdhdGlvbiBpcy1sYXN0LWNoaWxkXCJcbiAgICByb2xlPVwiY29sdW1uaGVhZGVyXCJcbj48L3RoPlxuXG48dGhcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGNsYXNzPVwiZmQtdGFibGVfX2NlbGwgZmQtdGFibGVfX2NlbGwtLW1vY2tcIlxuICAgIFtjbGFzcy5mZC10YWJsZV9fY2VsbC0tbW9jay1ib3JkZXJsZXNzXT1cIihfdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLmNlbGxNb2NrVmlzaWJsZSQgfCBhc3luYykgIT09IHRydWVcIlxuICAgIGZka0Rpc2FibGVkXG4+PC90aD5cbiJdfQ==
@@ -93,7 +93,7 @@ export class FilterRule {
93
93
  }
94
94
  /** @hidden */
95
95
  valueExists(value) {
96
- return !!value || value === 0;
96
+ return !!value || value === 0 || typeof value === 'boolean';
97
97
  }
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyaW5nLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtcDEzLWRpYWxvZy9maWx0ZXJpbmcvZmlsdGVyaW5nLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJSCxrQ0FBa0MsRUFFckMsTUFBTSx5Q0FBeUMsQ0FBQztBQWtCakQ7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxVQUFVO0lBVW5CLDRDQUE0QztJQUM1QyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFDYSxPQUF3QztJQUNqRCxxQ0FBcUM7SUFDOUIsU0FBa0I7SUFDekIsZ0JBQWdCO0lBQ1QsUUFBeUI7SUFDaEMsd0JBQXdCO0lBQ2pCLEtBQWdCO0lBQ3ZCLDhCQUE4QjtJQUN2QixNQUFpQjtRQVJmLFlBQU8sR0FBUCxPQUFPLENBQWlDO1FBRTFDLGNBQVMsR0FBVCxTQUFTLENBQVM7UUFFbEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFFekIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUVoQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBeEI1QixxQkFBcUI7UUFDckIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixtQ0FBbUM7UUFDbkMsZUFBVSxHQUFrQyxFQUFFLENBQUM7UUFzQjNDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDakQ7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVEsQ0FBQyxPQUFnQjtRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVEsQ0FBQyxLQUFlO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxjQUFjO0lBQ2QsU0FBUyxDQUFDLEtBQWU7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXLENBQUMsUUFBd0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELGNBQWM7SUFDZCx3QkFBd0IsQ0FBQyxTQUFrQjtRQUN2QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsRUFBRSxRQUFRLENBQUM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNYLE9BQU87U0FDVjtRQUVELE1BQU0sVUFBVSxHQUFHLGtDQUFrQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhFLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7WUFDaEMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFTLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25DO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxZQUFZLENBQUMsU0FBaUI7UUFDMUIsSUFBSSxTQUFTLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM5QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUUzQixlQUFlO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJCLG1CQUFtQjtRQUNuQixJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkMsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsY0FBYztJQUNkLHNCQUFzQixDQUFDLFNBQWtCO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztRQUVuRixJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzVCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO0lBQ04sV0FBVyxDQUFDLEtBQVU7UUFDMUIsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb2xsZWN0aW9uRmlsdGVyLFxuICAgIEZpbHRlcmFibGVDb2x1bW5EYXRhVHlwZSxcbiAgICBGaWx0ZXJTdHJhdGVneSxcbiAgICBnZXRGaWx0ZXJTdHJhdGVnaWVzQmFzZWRPbkRhdGFUeXBlLFxuICAgIFRhYmxlRGlhbG9nQ29tbW9uRGF0YVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlcmFibGVDb2x1bW4ge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgZGF0YVR5cGU6IEZpbHRlcmFibGVDb2x1bW5EYXRhVHlwZTtcbiAgICBmaWx0ZXJhYmxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJEaWFsb2dEYXRhIGV4dGVuZHMgVGFibGVEaWFsb2dDb21tb25EYXRhIHtcbiAgICBjb2xsZWN0aW9uRmlsdGVyOiBDb2xsZWN0aW9uRmlsdGVyW107XG4gICAgY29sdW1uczogRmlsdGVyYWJsZUNvbHVtbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckRpYWxvZ1Jlc3VsdERhdGEge1xuICAgIGNvbGxlY3Rpb25GaWx0ZXI6IENvbGxlY3Rpb25GaWx0ZXJbXTtcbn1cblxuLyoqXG4gKiBGaWx0ZXIgUnVsZVxuICpcbiAqIHJlcHJlc2VudHMgb25lIHJ1bGUgcGVyIHJvd1xuICovXG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJSdWxlPFQgPSBhbnk+IHtcbiAgICAvKiogVmFsaWRhdGlvbiBmbGcgKi9cbiAgICBpc1ZhbGlkID0gZmFsc2U7XG5cbiAgICAvKiogQXZhaWxhYmxlIHN0cmF0ZWdpZXMgb3B0aW9ucyAqL1xuICAgIHN0cmF0ZWdpZXM6IFJlYWRvbmx5QXJyYXk8RmlsdGVyU3RyYXRlZ3k+ID0gW107XG5cbiAgICAvKiogRGF0YSB0eXBlICovXG4gICAgZGF0YVR5cGU/OiBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGU7XG5cbiAgICAvKiogcmV0dXJucyB3aGV0aGVyIGZpbHRlciBydWxlIGhhcyB2YWx1ZSAqL1xuICAgIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVFeGlzdHModGhpcy52YWx1ZSkgfHwgdGhpcy52YWx1ZUV4aXN0cyh0aGlzLnZhbHVlMik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgY29sdW1uczogUmVhZG9ubHlBcnJheTxGaWx0ZXJhYmxlQ29sdW1uPixcbiAgICAgICAgLyoqIENvbHVtbiBrZXkgdGhlIHJ1bGUgYmVsb25ncyB0byAqL1xuICAgICAgICBwdWJsaWMgY29sdW1uS2V5Pzogc3RyaW5nLFxuICAgICAgICAvKiogRGF0YSB0eXBlICovXG4gICAgICAgIHB1YmxpYyBzdHJhdGVneT86IEZpbHRlclN0cmF0ZWd5LFxuICAgICAgICAvKiogTWFpbiBmaWx0ZXIgdmFsdWUgKi9cbiAgICAgICAgcHVibGljIHZhbHVlPzogVCB8IG51bGwsXG4gICAgICAgIC8qKiBBZGRpdGlvbmFsIGZpbHRlciB2YWx1ZSAqL1xuICAgICAgICBwdWJsaWMgdmFsdWUyPzogVCB8IG51bGxcbiAgICApIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbHVtbktleSkge1xuICAgICAgICAgICAgdGhpcy5zZXRDb2x1bW5LZXkoY29sdW1uc1swXT8ua2V5KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuZGF0YVR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YVR5cGVCeUNvbHVtbktleSh0aGlzLmNvbHVtbktleSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc3RyYXRlZ2llcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RyYXRlZ2llc0J5Q29sdW1uS2V5KHRoaXMuY29sdW1uS2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0VmFsaWQoaXNWYWxpZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmlzVmFsaWQgPSBpc1ZhbGlkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0VmFsdWUodmFsdWU6IFQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFZhbHVlMih2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZTIgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFN0cmF0ZWd5KHN0cmF0ZWd5OiBGaWx0ZXJTdHJhdGVneSk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0cmF0ZWd5ID0gc3RyYXRlZ3k7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXRTdHJhdGVnaWVzQnlDb2x1bW5LZXkoY29sdW1uS2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRhdGFUeXBlID0gdGhpcy5jb2x1bW5zLmZpbmQoKGNvbHVtbikgPT4gY29sdW1uLmtleSA9PT0gY29sdW1uS2V5KT8uZGF0YVR5cGU7XG4gICAgICAgIGlmICghZGF0YVR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0cmF0ZWdpZXMgPSBnZXRGaWx0ZXJTdHJhdGVnaWVzQmFzZWRPbkRhdGFUeXBlKGRhdGFUeXBlKTtcblxuICAgICAgICBpZiAodGhpcy5zdHJhdGVnaWVzID09PSBzdHJhdGVnaWVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0cmF0ZWdpZXMgPSBzdHJhdGVnaWVzO1xuXG4gICAgICAgIGlmICghdGhpcy5zdHJhdGVnaWVzLmluY2x1ZGVzKHRoaXMuc3RyYXRlZ3khKSkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdHJhdGVneShzdHJhdGVnaWVzWzBdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0Q29sdW1uS2V5KGNvbHVtbktleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChjb2x1bW5LZXkgPT09IHRoaXMuY29sdW1uS2V5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb2x1bW5LZXkgPSBjb2x1bW5LZXk7XG5cbiAgICAgICAgLy8gcmVzZXQgdmFsdWVzXG4gICAgICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUyKG51bGwpO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBkYXRhIHR5cGVcbiAgICAgICAgdGhpcy5zZXREYXRhVHlwZUJ5Q29sdW1uS2V5KGNvbHVtbktleSk7XG5cbiAgICAgICAgLy8gdXBkYXRlIGF2YWlsYWJsZSBzdHJhdGVnaWVzIGxpc3RcbiAgICAgICAgdGhpcy5zZXRTdHJhdGVnaWVzQnlDb2x1bW5LZXkoY29sdW1uS2V5KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldERhdGFUeXBlQnlDb2x1bW5LZXkoY29sdW1uS2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRhdGFUeXBlID0gdGhpcy5jb2x1bW5zLmZpbmQoKGNvbHVtbikgPT4gY29sdW1uLmtleSA9PT0gY29sdW1uS2V5KT8uZGF0YVR5cGU7XG5cbiAgICAgICAgaWYgKGRhdGFUeXBlID09PSB0aGlzLmRhdGFUeXBlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRhdGFUeXBlID0gZGF0YVR5cGU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHZhbHVlRXhpc3RzKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdmFsdWUgfHwgdmFsdWUgPT09IDA7XG4gICAgfVxufVxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyaW5nLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtcDEzLWRpYWxvZy9maWx0ZXJpbmcvZmlsdGVyaW5nLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJSCxrQ0FBa0MsRUFFckMsTUFBTSx5Q0FBeUMsQ0FBQztBQWtCakQ7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxVQUFVO0lBVW5CLDRDQUE0QztJQUM1QyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFDYSxPQUF3QztJQUNqRCxxQ0FBcUM7SUFDOUIsU0FBa0I7SUFDekIsZ0JBQWdCO0lBQ1QsUUFBeUI7SUFDaEMsd0JBQXdCO0lBQ2pCLEtBQWdCO0lBQ3ZCLDhCQUE4QjtJQUN2QixNQUFpQjtRQVJmLFlBQU8sR0FBUCxPQUFPLENBQWlDO1FBRTFDLGNBQVMsR0FBVCxTQUFTLENBQVM7UUFFbEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFFekIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUVoQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBeEI1QixxQkFBcUI7UUFDckIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixtQ0FBbUM7UUFDbkMsZUFBVSxHQUFrQyxFQUFFLENBQUM7UUFzQjNDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDakQ7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVEsQ0FBQyxPQUFnQjtRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVEsQ0FBQyxLQUFlO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxjQUFjO0lBQ2QsU0FBUyxDQUFDLEtBQWU7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXLENBQUMsUUFBd0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELGNBQWM7SUFDZCx3QkFBd0IsQ0FBQyxTQUFrQjtRQUN2QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsRUFBRSxRQUFRLENBQUM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNYLE9BQU87U0FDVjtRQUVELE1BQU0sVUFBVSxHQUFHLGtDQUFrQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhFLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7WUFDaEMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFTLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25DO0lBQ0wsQ0FBQztJQUVELGNBQWM7SUFDZCxZQUFZLENBQUMsU0FBaUI7UUFDMUIsSUFBSSxTQUFTLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM5QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUUzQixlQUFlO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJCLG1CQUFtQjtRQUNuQixJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkMsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsY0FBYztJQUNkLHNCQUFzQixDQUFDLFNBQWtCO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztRQUVuRixJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzVCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO0lBQ04sV0FBVyxDQUFDLEtBQVU7UUFDMUIsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDO0lBQ2hFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29sbGVjdGlvbkZpbHRlcixcbiAgICBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUsXG4gICAgRmlsdGVyU3RyYXRlZ3ksXG4gICAgZ2V0RmlsdGVyU3RyYXRlZ2llc0Jhc2VkT25EYXRhVHlwZSxcbiAgICBUYWJsZURpYWxvZ0NvbW1vbkRhdGFcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJhYmxlQ29sdW1uIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGRhdGFUeXBlOiBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGU7XG4gICAgZmlsdGVyYWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyRGlhbG9nRGF0YSBleHRlbmRzIFRhYmxlRGlhbG9nQ29tbW9uRGF0YSB7XG4gICAgY29sbGVjdGlvbkZpbHRlcjogQ29sbGVjdGlvbkZpbHRlcltdO1xuICAgIGNvbHVtbnM6IEZpbHRlcmFibGVDb2x1bW5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJEaWFsb2dSZXN1bHREYXRhIHtcbiAgICBjb2xsZWN0aW9uRmlsdGVyOiBDb2xsZWN0aW9uRmlsdGVyW107XG59XG5cbi8qKlxuICogRmlsdGVyIFJ1bGVcbiAqXG4gKiByZXByZXNlbnRzIG9uZSBydWxlIHBlciByb3dcbiAqL1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyUnVsZTxUID0gYW55PiB7XG4gICAgLyoqIFZhbGlkYXRpb24gZmxnICovXG4gICAgaXNWYWxpZCA9IGZhbHNlO1xuXG4gICAgLyoqIEF2YWlsYWJsZSBzdHJhdGVnaWVzIG9wdGlvbnMgKi9cbiAgICBzdHJhdGVnaWVzOiBSZWFkb25seUFycmF5PEZpbHRlclN0cmF0ZWd5PiA9IFtdO1xuXG4gICAgLyoqIERhdGEgdHlwZSAqL1xuICAgIGRhdGFUeXBlPzogRmlsdGVyYWJsZUNvbHVtbkRhdGFUeXBlO1xuXG4gICAgLyoqIHJldHVybnMgd2hldGhlciBmaWx0ZXIgcnVsZSBoYXMgdmFsdWUgKi9cbiAgICBnZXQgaGFzVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlRXhpc3RzKHRoaXMudmFsdWUpIHx8IHRoaXMudmFsdWVFeGlzdHModGhpcy52YWx1ZTIpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGNvbHVtbnM6IFJlYWRvbmx5QXJyYXk8RmlsdGVyYWJsZUNvbHVtbj4sXG4gICAgICAgIC8qKiBDb2x1bW4ga2V5IHRoZSBydWxlIGJlbG9uZ3MgdG8gKi9cbiAgICAgICAgcHVibGljIGNvbHVtbktleT86IHN0cmluZyxcbiAgICAgICAgLyoqIERhdGEgdHlwZSAqL1xuICAgICAgICBwdWJsaWMgc3RyYXRlZ3k/OiBGaWx0ZXJTdHJhdGVneSxcbiAgICAgICAgLyoqIE1haW4gZmlsdGVyIHZhbHVlICovXG4gICAgICAgIHB1YmxpYyB2YWx1ZT86IFQgfCBudWxsLFxuICAgICAgICAvKiogQWRkaXRpb25hbCBmaWx0ZXIgdmFsdWUgKi9cbiAgICAgICAgcHVibGljIHZhbHVlMj86IFQgfCBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmICghdGhpcy5jb2x1bW5LZXkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q29sdW1uS2V5KGNvbHVtbnNbMF0/LmtleSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmRhdGFUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLnNldERhdGFUeXBlQnlDb2x1bW5LZXkodGhpcy5jb2x1bW5LZXkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnN0cmF0ZWdpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0cmF0ZWdpZXNCeUNvbHVtbktleSh0aGlzLmNvbHVtbktleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFZhbGlkKGlzVmFsaWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1ZhbGlkID0gaXNWYWxpZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFZhbHVlKHZhbHVlOiBUIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXRWYWx1ZTIodmFsdWU6IFQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUyID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXRTdHJhdGVneShzdHJhdGVneTogRmlsdGVyU3RyYXRlZ3kpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdHJhdGVneSA9IHN0cmF0ZWd5O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0U3RyYXRlZ2llc0J5Q29sdW1uS2V5KGNvbHVtbktleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRhVHlwZSA9IHRoaXMuY29sdW1ucy5maW5kKChjb2x1bW4pID0+IGNvbHVtbi5rZXkgPT09IGNvbHVtbktleSk/LmRhdGFUeXBlO1xuICAgICAgICBpZiAoIWRhdGFUeXBlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdHJhdGVnaWVzID0gZ2V0RmlsdGVyU3RyYXRlZ2llc0Jhc2VkT25EYXRhVHlwZShkYXRhVHlwZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuc3RyYXRlZ2llcyA9PT0gc3RyYXRlZ2llcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdHJhdGVnaWVzID0gc3RyYXRlZ2llcztcblxuICAgICAgICBpZiAoIXRoaXMuc3RyYXRlZ2llcy5pbmNsdWRlcyh0aGlzLnN0cmF0ZWd5ISkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RyYXRlZ3koc3RyYXRlZ2llc1swXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldENvbHVtbktleShjb2x1bW5LZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoY29sdW1uS2V5ID09PSB0aGlzLmNvbHVtbktleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29sdW1uS2V5ID0gY29sdW1uS2V5O1xuXG4gICAgICAgIC8vIHJlc2V0IHZhbHVlc1xuICAgICAgICB0aGlzLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLnNldFZhbHVlMihudWxsKTtcblxuICAgICAgICAvLyB1cGRhdGUgZGF0YSB0eXBlXG4gICAgICAgIHRoaXMuc2V0RGF0YVR5cGVCeUNvbHVtbktleShjb2x1bW5LZXkpO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBhdmFpbGFibGUgc3RyYXRlZ2llcyBsaXN0XG4gICAgICAgIHRoaXMuc2V0U3RyYXRlZ2llc0J5Q29sdW1uS2V5KGNvbHVtbktleSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXREYXRhVHlwZUJ5Q29sdW1uS2V5KGNvbHVtbktleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRhVHlwZSA9IHRoaXMuY29sdW1ucy5maW5kKChjb2x1bW4pID0+IGNvbHVtbi5rZXkgPT09IGNvbHVtbktleSk/LmRhdGFUeXBlO1xuXG4gICAgICAgIGlmIChkYXRhVHlwZSA9PT0gdGhpcy5kYXRhVHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kYXRhVHlwZSA9IGRhdGFUeXBlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSB2YWx1ZUV4aXN0cyh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXZhbHVlIHx8IHZhbHVlID09PSAwIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xuICAgIH1cbn1cbiJdfQ==