@one-paragon/angular-utilities 1.2.9 → 1.2.10-beta-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/action-state/ngrx.d.ts +1 -1
  2. package/esm2022/http-request-state/HttpRequestStateStore.mjs +19 -3
  3. package/esm2022/http-request-state/types.mjs +1 -1
  4. package/esm2022/public-api.mjs +2 -1
  5. package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +18 -12
  6. package/esm2022/table-builder/classes/TableState.mjs +5 -3
  7. package/esm2022/table-builder/classes/data-store.mjs +15 -0
  8. package/esm2022/table-builder/classes/table-builder-general-settings.mjs +14 -1
  9. package/esm2022/table-builder/classes/table-builder.mjs +3 -3
  10. package/esm2022/table-builder/classes/table-store.mjs +71 -46
  11. package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +2 -2
  12. package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +100 -55
  13. package/esm2022/table-builder/components/generic-table/paginator.component.mjs +6 -4
  14. package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +4 -2
  15. package/esm2022/table-builder/components/table-container/table-container.mjs +90 -65
  16. package/esm2022/table-builder/components/table-container/tableProps.mjs +2 -1
  17. package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +36 -10
  18. package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +5 -6
  19. package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +9 -11
  20. package/esm2022/table-builder/directives/custom-cell-directive.mjs +12 -13
  21. package/esm2022/table-builder/directives/table-wrapper.directive.mjs +4 -4
  22. package/esm2022/table-builder/interfaces/ColumnInfo.mjs +1 -1
  23. package/esm2022/table-builder/services/export-to-csv.service.mjs +3 -3
  24. package/fesm2022/one-paragon-angular-utilities.mjs +537 -374
  25. package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -1
  26. package/http-request-state/HttpRequestStateStore.d.ts +5 -0
  27. package/http-request-state/types.d.ts +1 -1
  28. package/package.json +1 -1
  29. package/public-api.d.ts +1 -2
  30. package/table-builder/classes/TableBuilderDataSource.d.ts +2 -3
  31. package/table-builder/classes/TableState.d.ts +14 -4
  32. package/table-builder/classes/data-store.d.ts +8 -0
  33. package/table-builder/classes/table-builder-general-settings.d.ts +6 -0
  34. package/table-builder/classes/table-store.d.ts +16 -28
  35. package/table-builder/components/generic-table/generic-table.component.d.ts +20 -10
  36. package/table-builder/components/generic-table/paginator.component.d.ts +1 -0
  37. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +1 -0
  38. package/table-builder/components/table-container/table-container-imports.d.ts +1 -1
  39. package/table-builder/components/table-container/table-container.d.ts +15 -8
  40. package/table-builder/components/table-container/tableProps.d.ts +1 -0
  41. package/table-builder/components/table-container/virtual-scroll-container.d.ts +9 -3
  42. package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +2 -3
  43. package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +1 -3
  44. package/table-builder/directives/custom-cell-directive.d.ts +6 -4
  45. package/table-builder/directives/table-wrapper.directive.d.ts +1 -1
  46. package/table-builder/interfaces/ColumnInfo.d.ts +1 -1
@@ -5,11 +5,13 @@ import { delay, distinctUntilChanged, distinctUntilKeyChanged, map } from 'rxjs/
5
5
  import { TableStore } from '../../classes/table-store';
6
6
  import { AsyncPipe, NgClass } from '@angular/common';
7
7
  import { MatButtonModule } from '@angular/material/button';
8
+ import { DataStore } from '../../classes/data-store';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/material/paginator";
10
11
  import * as i2 from "@angular/material/button";
11
12
  export class PaginatorComponent {
12
13
  state = inject(TableStore);
14
+ data = inject(DataStore);
13
15
  paginator;
14
16
  currentPageData$;
15
17
  $collapseFooter = computed(() => this.state.selectSignal(state => state.persistedTableSettings.collapseFooter)() || this.$showAll());
@@ -22,7 +24,7 @@ export class PaginatorComponent {
22
24
  this.state.updateState({ currentPage: pageEvent.pageIndex });
23
25
  });
24
26
  this.state.setPageSize(onPaginatorPageSizeChange(this.paginator));
25
- this.state.on(this.state.select(s => s.dataLen), (len) => this.paginator.length = len);
27
+ this.state.on(this.data.select(s => s.dataLen), (len) => this.paginator.length = len);
26
28
  }
27
29
  ngAfterViewInit() {
28
30
  this.currentPageData$ = merge(this.paginator.page.pipe(map(mapPaginationEventToCurrentPageDetails)), this.data$.pipe(distinctUntilKeyChanged("length"), delayToAllowForProperUpdate, map(updateCurrentPageDetailsOnDataLengthChange(this.paginator))));
@@ -55,7 +57,7 @@ export class PaginatorComponent {
55
57
  </mat-paginator>
56
58
  @if ($showAllOption()) {<button mat-button (click)="updatePaginator()"><span [style.text-decoration]="$showAll() ? 'line-through' : ''" >All</span></button>}
57
59
  </div>
58
- `, isInline: true, styles: [":host{--mat-paginator-container-size: initial}.select-column{min-width:var(--tb-min-select-column-width, 42px)}.index-column{min-width:var(--tb-min-index-column-width, 42px)}.mat-mdc-row:nth-child(odd){background-color:var(--tb-odd-row-background-color, #cdeefe)}.page-amounts{color:#0000008a;font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;margin-right:.2rem}:host::ng-deep .table-drag-list.cdk-drop-list-dragging .drag-header:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}:host::ng-deep .mdc-data-table__cell,:host::ng-deep .mdc-data-table__header-cell{padding:var(--tb-cell-padding, 0 0 0 .2rem);line-height:var(--tb-cell-line-height, normal)}::ng-deep .op-date-time-input{line-height:3rem;font-size:.9rem;font-family:Roboto,Helvetica Neue,sans-serif;padding-left:.2rem;width:12rem}.small-footer mat-footer-row{min-height:1rem;height:1rem}.no-footer mat-footer-row{display:none}\n", ".collapse-icon{font-size:16px;height:16px;color:#3f51b5;align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}.paginator-row{display:flex;align-items:center}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
+ `, isInline: true, styles: [":host{--mat-paginator-container-size: initial}.select-column{min-width:var(--tb-min-select-column-width, 42px)}.index-column{min-width:var(--tb-min-index-column-width, 42px)}.mat-mdc-row:nth-child(odd){background-color:var(--tb-odd-row-background-color, #cdeefe)}.page-amounts{color:#0000008a;font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;margin-right:.2rem}:host::ng-deep .table-drag-list.cdk-drop-list-dragging .drag-header:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}:host::ng-deep .mdc-data-table__cell,:host::ng-deep .mdc-data-table__header-cell{padding:var(--tb-cell-padding, 0 0 0 .2rem);line-height:var(--tb-cell-line-height, normal)}::ng-deep .op-date-time-input{line-height:3rem;font-size:.9rem;font-family:Roboto,Helvetica Neue,sans-serif;padding-left:.2rem;width:12rem}.small-footer mat-footer-row{min-height:1rem;height:1rem}\n", ".collapse-icon{font-size:16px;height:16px;color:#3f51b5;align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}.paginator-row{display:flex;align-items:center}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
61
  }
60
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PaginatorComponent, decorators: [{
61
63
  type: Component,
@@ -71,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
71
73
  </mat-paginator>
72
74
  @if ($showAllOption()) {<button mat-button (click)="updatePaginator()"><span [style.text-decoration]="$showAll() ? 'line-through' : ''" >All</span></button>}
73
75
  </div>
74
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--mat-paginator-container-size: initial}.select-column{min-width:var(--tb-min-select-column-width, 42px)}.index-column{min-width:var(--tb-min-index-column-width, 42px)}.mat-mdc-row:nth-child(odd){background-color:var(--tb-odd-row-background-color, #cdeefe)}.page-amounts{color:#0000008a;font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;margin-right:.2rem}:host::ng-deep .table-drag-list.cdk-drop-list-dragging .drag-header:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}:host::ng-deep .mdc-data-table__cell,:host::ng-deep .mdc-data-table__header-cell{padding:var(--tb-cell-padding, 0 0 0 .2rem);line-height:var(--tb-cell-line-height, normal)}::ng-deep .op-date-time-input{line-height:3rem;font-size:.9rem;font-family:Roboto,Helvetica Neue,sans-serif;padding-left:.2rem;width:12rem}.small-footer mat-footer-row{min-height:1rem;height:1rem}.no-footer mat-footer-row{display:none}\n", ".collapse-icon{font-size:16px;height:16px;color:#3f51b5;align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}.paginator-row{display:flex;align-items:center}\n"] }]
76
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--mat-paginator-container-size: initial}.select-column{min-width:var(--tb-min-select-column-width, 42px)}.index-column{min-width:var(--tb-min-index-column-width, 42px)}.mat-mdc-row:nth-child(odd){background-color:var(--tb-odd-row-background-color, #cdeefe)}.page-amounts{color:#0000008a;font-family:Roboto,Helvetica Neue,sans-serif;font-size:12px;margin-right:.2rem}:host::ng-deep .table-drag-list.cdk-drop-list-dragging .drag-header:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}:host::ng-deep .mdc-data-table__cell,:host::ng-deep .mdc-data-table__header-cell{padding:var(--tb-cell-padding, 0 0 0 .2rem);line-height:var(--tb-cell-line-height, normal)}::ng-deep .op-date-time-input{line-height:3rem;font-size:.9rem;font-family:Roboto,Helvetica Neue,sans-serif;padding-left:.2rem;width:12rem}.small-footer mat-footer-row{min-height:1rem;height:1rem}\n", ".collapse-icon{font-size:16px;height:16px;color:#3f51b5;align-self:flex-start}.collapse-icon:hover{cursor:pointer}.hide{display:none}.paginator-row{display:flex;align-items:center}\n"] }]
75
77
  }], propDecorators: { paginator: [{
76
78
  type: ViewChild,
77
79
  args: [MatPaginator, { static: true }]
@@ -93,4 +95,4 @@ const delayToAllowForProperUpdate = delay(0, asyncScheduler);
93
95
  const metaDataPageSizeChange = (state) => state.state$.pipe(map(state => state.userDefined.pageSize || state.pageSize), distinctUntilChanged());
94
96
  const setPaginatorPageSize = (paginator) => (pageSize) => paginator._changePageSize(pageSize);
95
97
  const onPaginatorPageSizeChange = (paginator) => paginator.page.pipe(map(e => e.pageSize), distinctUntilChanged());
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvZ2VuZXJpYy10YWJsZS9wYWdpbmF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSSxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFzQjNELE1BQU0sT0FBTyxrQkFBa0I7SUFDckIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVRLFNBQVMsQ0FBZ0I7SUFDcEUsZ0JBQWdCLENBQWtDO0lBQ2xELGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1SCxLQUFLLENBQXFCO0lBQ1IsVUFBVSxDQUFjO0lBQ25ELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFDLENBQUUsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBRWpFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxFQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsRUFDakMsMkJBQTJCLEVBQzNCLEdBQUcsQ0FBQywwQ0FBMEMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixJQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFDO1lBQ3JCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBQ0QsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUVyQixjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztJQUN6RyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkYsT0FBTztRQUNMLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO3VHQTNDVSxrQkFBa0I7MkZBQWxCLGtCQUFrQix5S0FHbEIsWUFBWSw4REFuQmI7Ozs7Ozs7Ozs7OztHQVlULDRwQ0FiUyxTQUFTLDZDQUFFLGtCQUFrQixtU0FBVyxlQUFlOzsyRkFpQnRELGtCQUFrQjtrQkFwQjlCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsZUFBZSxDQUFDLFlBQ3hEOzs7Ozs7Ozs7Ozs7R0FZVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFLSixTQUFTO3NCQUFuRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR2hDLEtBQUs7c0JBQWIsS0FBSztnQkFDcUIsVUFBVTtzQkFBcEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7O0FBdUMzQixNQUFNLHNDQUFzQyxHQUFHLENBQUMsUUFBbUIsRUFBcUIsRUFBRSxDQUFDLENBQUM7SUFDMUYsWUFBWSxFQUFHLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzRCxVQUFVLEVBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RixLQUFLLEVBQUcsUUFBUSxDQUFDLE1BQU07Q0FDeEIsQ0FBQyxDQUFDO0FBRUgsTUFBTSwwQ0FBMEMsR0FBRyxDQUFDLFNBQXNCLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBQyxZQUFZLEVBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQ2hKLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pGLEtBQUssRUFBQyxTQUFTLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQTtBQUUxQixNQUFNLDJCQUEyQixHQUFHLEtBQUssQ0FBUSxDQUFDLEVBQUMsY0FBYyxDQUFDLENBQUM7QUFRbkUsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7QUFFM0osTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFNBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQzVFLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFdEMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLFNBQXVCLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3Q2hpbGQsIElucHV0LCBBZnRlclZpZXdJbml0LCBPbkluaXQsIEVsZW1lbnRSZWYsIGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvciwgTWF0UGFnaW5hdG9yTW9kdWxlLCBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIG1lcmdlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGRpc3RpbmN0VW50aWxLZXlDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90YWJsZS1zdG9yZSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGItcGFnaW5hdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FzeW5jUGlwZSwgTWF0UGFnaW5hdG9yTW9kdWxlLCBOZ0NsYXNzLCBNYXRCdXR0b25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwicGFnaW5hdG9yLXJvd1wiPlxuICAgIEBpZihjdXJyZW50UGFnZURhdGEkIHwgYXN5bmM7IGFzIHBhZ2VEYXRhKXtcbiAgICAgIDxkaXYgW2NsYXNzXT1cInsgJ2hpZGUnIDogISAkY29sbGFwc2VGb290ZXIoKSwgJ3BhZ2UtYW1vdW50cyc6dHJ1ZX1cIj5cbiAgICAgICAgQGlmKCEkc2hvd0FsbCgpKXt7e3BhZ2VEYXRhLmN1cnJlbnRTdGFydH19IC0ge3twYWdlRGF0YS5jdXJyZW50RW5kfX0gb2YgfXt7cGFnZURhdGEudG90YWx9fVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxtYXQtcGFnaW5hdG9yIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyMCwgNTAsIDEwMCwgNTAwXVwiIHNob3dGaXJzdExhc3RCdXR0b25zIChwYWdlKT1cInBhZ2luYXRvckNoYW5nZSgpXCJcbiAgICAgIFtjbGFzc109XCJ7ICdoaWRlJyA6ICRjb2xsYXBzZUZvb3RlcigpIH1cIj5cbiAgICA8L21hdC1wYWdpbmF0b3I+XG4gICAgQGlmICgkc2hvd0FsbE9wdGlvbigpKSB7PGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJ1cGRhdGVQYWdpbmF0b3IoKVwiPjxzcGFuIFtzdHlsZS50ZXh0LWRlY29yYXRpb25dPVwiJHNob3dBbGwoKSA/ICdsaW5lLXRocm91Z2gnIDogJydcIiA+QWxsPC9zcGFuPjwvYnV0dG9uPn1cbiAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2dlbmVyaWMtdGFibGUuY29tcG9uZW50LnNjc3MnLCcuLi8uLi9zdHlsZXMvY29sbGFwc2VyLnN0eWxlcy5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXR7XG4gIHByaXZhdGUgc3RhdGUgPSBpbmplY3QoVGFibGVTdG9yZSk7XG5cbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRvciE6IE1hdFBhZ2luYXRvcjtcbiAgY3VycmVudFBhZ2VEYXRhJCE6IE9ic2VydmFibGU8Q3VycmVudFBhZ2VEZXRhaWxzPjtcbiAgJGNvbGxhcHNlRm9vdGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdGF0ZS5zZWxlY3RTaWduYWwoc3RhdGUgPT4gc3RhdGUucGVyc2lzdGVkVGFibGVTZXR0aW5ncy5jb2xsYXBzZUZvb3RlcikoKSB8fCB0aGlzLiRzaG93QWxsKCkpO1xuICBASW5wdXQoKSBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0YWJsZUVsUmVmISA6IEVsZW1lbnRSZWZcbiAgbmdPbkluaXQoKXtcbiAgICB0aGlzLm91clBhZ2VFdmVudCA9IHRydWU7XG4gICAgdGhpcy5zdGF0ZS5vbihtZXRhRGF0YVBhZ2VTaXplQ2hhbmdlKHRoaXMuc3RhdGUpLCBzZXRQYWdpbmF0b3JQYWdlU2l6ZSh0aGlzLnBhZ2luYXRvcikpO1xuICAgIHRoaXMuc3RhdGUub24odGhpcy5wYWdpbmF0b3IucGFnZSwgKHBhZ2VFdmVudCkgPT4ge1xuICAgICAgdGhpcy5zdGF0ZS51cGRhdGVTdGF0ZSh7Y3VycmVudFBhZ2U6IHBhZ2VFdmVudC5wYWdlSW5kZXh9ICk7XG4gICAgfSk7XG4gICAgdGhpcy5zdGF0ZS5zZXRQYWdlU2l6ZShvblBhZ2luYXRvclBhZ2VTaXplQ2hhbmdlKHRoaXMucGFnaW5hdG9yKSlcblxuICAgIHRoaXMuc3RhdGUub24oIHRoaXMuc3RhdGUuc2VsZWN0KCBzID0+IHMuZGF0YUxlbiksIChsZW4pID0+IHRoaXMucGFnaW5hdG9yLmxlbmd0aCA9IGxlbik7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jdXJyZW50UGFnZURhdGEkID0gbWVyZ2UoXG4gICAgICB0aGlzLnBhZ2luYXRvci5wYWdlLnBpcGUobWFwKG1hcFBhZ2luYXRpb25FdmVudFRvQ3VycmVudFBhZ2VEZXRhaWxzKSksXG4gICAgICB0aGlzLmRhdGEkLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxLZXlDaGFuZ2VkKFwibGVuZ3RoXCIpLFxuICAgICAgICBkZWxheVRvQWxsb3dGb3JQcm9wZXJVcGRhdGUsXG4gICAgICAgIG1hcCh1cGRhdGVDdXJyZW50UGFnZURldGFpbHNPbkRhdGFMZW5ndGhDaGFuZ2UodGhpcy5wYWdpbmF0b3IpKSksXG4gICAgKTtcbiAgfVxuXG4gIHBhZ2luYXRvckNoYW5nZSgpIDogdm9pZCB7XG4gICAgaWYoIXRoaXMub3VyUGFnZUV2ZW50KXtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50YWJsZUVsUmVmPy5uYXRpdmVFbGVtZW50Py5zY3JvbGxJbnRvVmlldygpLCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdXJQYWdlRXZlbnQgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgb3VyUGFnZUV2ZW50ID0gZmFsc2U7XG5cbiAgJHNob3dBbGxPcHRpb24gPSB0aGlzLnN0YXRlLnNlbGVjdFNpZ25hbChzID0+IHMubm90UGVyc2lzdGVkVGFibGVTZXR0aW5ncz8uaW5jbHVkZUFsbEluUGFnaW5hdG9yT3B0aW9ucyk7XG4gICRzaG93QWxsID0gdGhpcy5zdGF0ZS5zZWxlY3RTaWduYWwocyA9PiBzLnNob3dBbGwpO1xuICB1cGRhdGVQYWdpbmF0b3IgPSB0aGlzLnN0YXRlLnVwZGF0ZXIoc3RhdGUgPT4gKHsgLi4uc3RhdGUsIHNob3dBbGw6ICFzdGF0ZS5zaG93QWxsIH0pKTtcbiAgc2hvd0FsbCgpe1xuICAgIHRoaXMudXBkYXRlUGFnaW5hdG9yKCk7XG4gIH1cbn1cblxuY29uc3QgbWFwUGFnaW5hdGlvbkV2ZW50VG9DdXJyZW50UGFnZURldGFpbHMgPSAocGFnZURhdGE6IFBhZ2VFdmVudCk6Q3VycmVudFBhZ2VEZXRhaWxzID0+ICh7XG4gIGN1cnJlbnRTdGFydCA6IChwYWdlRGF0YS5wYWdlSW5kZXggKiBwYWdlRGF0YS5wYWdlU2l6ZSkgKyAxLFxuICBjdXJyZW50RW5kIDogTWF0aC5taW4ocGFnZURhdGEubGVuZ3RoICwgKChwYWdlRGF0YS5wYWdlSW5kZXggKyAxKSAqIHBhZ2VEYXRhLnBhZ2VTaXplKSksXG4gIHRvdGFsIDogcGFnZURhdGEubGVuZ3RoXG59KTtcblxuY29uc3QgdXBkYXRlQ3VycmVudFBhZ2VEZXRhaWxzT25EYXRhTGVuZ3RoQ2hhbmdlID0gKHBhZ2luYXRvcjpNYXRQYWdpbmF0b3IpID0+ICgpID0+ICh7Y3VycmVudFN0YXJ0OihwYWdpbmF0b3IucGFnZUluZGV4ICogcGFnaW5hdG9yLnBhZ2VTaXplKSArIDEsXG4gIGN1cnJlbnRFbmQ6IE1hdGgubWluKHBhZ2luYXRvci5sZW5ndGggLCAoKHBhZ2luYXRvci5wYWdlSW5kZXggKyAxKSAqIHBhZ2luYXRvci5wYWdlU2l6ZSkpLFxuICB0b3RhbDpwYWdpbmF0b3IubGVuZ3RofSlcblxuY29uc3QgZGVsYXlUb0FsbG93Rm9yUHJvcGVyVXBkYXRlID0gZGVsYXk8YW55W10+KDAsYXN5bmNTY2hlZHVsZXIpO1xuXG5pbnRlcmZhY2UgQ3VycmVudFBhZ2VEZXRhaWxzIHtcbiAgY3VycmVudFN0YXJ0Om51bWJlcixcbiAgY3VycmVudEVuZDpudW1iZXIsXG4gIHRvdGFsOm51bWJlclxufVxuXG5jb25zdCBtZXRhRGF0YVBhZ2VTaXplQ2hhbmdlID0gKHN0YXRlOlRhYmxlU3RvcmUpID0+IHN0YXRlLnN0YXRlJC5waXBlKG1hcChzdGF0ZSA9PiBzdGF0ZS51c2VyRGVmaW5lZC5wYWdlU2l6ZSB8fCBzdGF0ZS5wYWdlU2l6ZSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG5jb25zdCBzZXRQYWdpbmF0b3JQYWdlU2l6ZSA9IChwYWdpbmF0b3I6TWF0UGFnaW5hdG9yKSA9PiAocGFnZVNpemU6IG51bWJlcikgPT5cbiAgcGFnaW5hdG9yLl9jaGFuZ2VQYWdlU2l6ZShwYWdlU2l6ZSk7XG5cbmNvbnN0IG9uUGFnaW5hdG9yUGFnZVNpemVDaGFuZ2UgPSAocGFnaW5hdG9yOiBNYXRQYWdpbmF0b3IpID0+IHBhZ2luYXRvci5wYWdlLnBpcGUobWFwKCBlID0+IGUucGFnZVNpemUgKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7Il19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvZ2VuZXJpYy10YWJsZS9wYWdpbmF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSSxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBc0JyRCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3JCLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0IsSUFBSSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNVLFNBQVMsQ0FBZ0I7SUFDcEUsZ0JBQWdCLENBQWtDO0lBQ2xELGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FB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RyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7QUFFM0osTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFNBQXNCLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQzVFLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFdEMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLFNBQXVCLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3Q2hpbGQsIElucHV0LCBBZnRlclZpZXdJbml0LCBPbkluaXQsIEVsZW1lbnRSZWYsIGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvciwgTWF0UGFnaW5hdG9yTW9kdWxlLCBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIG1lcmdlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGRpc3RpbmN0VW50aWxLZXlDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90YWJsZS1zdG9yZSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IERhdGFTdG9yZSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZGF0YS1zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RiLXBhZ2luYXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBc3luY1BpcGUsIE1hdFBhZ2luYXRvck1vZHVsZSwgTmdDbGFzcywgTWF0QnV0dG9uTW9kdWxlXSxcbiAgdGVtcGxhdGU6IGBcbiAgPGRpdiBjbGFzcz1cInBhZ2luYXRvci1yb3dcIj5cbiAgICBAaWYoY3VycmVudFBhZ2VEYXRhJCB8IGFzeW5jOyBhcyBwYWdlRGF0YSl7XG4gICAgICA8ZGl2IFtjbGFzc109XCJ7ICdoaWRlJyA6ICEgJGNvbGxhcHNlRm9vdGVyKCksICdwYWdlLWFtb3VudHMnOnRydWV9XCI+XG4gICAgICAgIEBpZighJHNob3dBbGwoKSl7e3twYWdlRGF0YS5jdXJyZW50U3RhcnR9fSAtIHt7cGFnZURhdGEuY3VycmVudEVuZH19IG9mIH17e3BhZ2VEYXRhLnRvdGFsfX1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8bWF0LXBhZ2luYXRvciBbcGFnZVNpemVPcHRpb25zXT1cIls1LCAxMCwgMjAsIDUwLCAxMDAsIDUwMF1cIiBzaG93Rmlyc3RMYXN0QnV0dG9ucyAocGFnZSk9XCJwYWdpbmF0b3JDaGFuZ2UoKVwiXG4gICAgICBbY2xhc3NdPVwieyAnaGlkZScgOiAkY29sbGFwc2VGb290ZXIoKSB9XCI+XG4gICAgPC9tYXQtcGFnaW5hdG9yPlxuICAgIEBpZiAoJHNob3dBbGxPcHRpb24oKSkgezxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwidXBkYXRlUGFnaW5hdG9yKClcIj48c3BhbiBbc3R5bGUudGV4dC1kZWNvcmF0aW9uXT1cIiRzaG93QWxsKCkgPyAnbGluZS10aHJvdWdoJyA6ICcnXCIgPkFsbDwvc3Bhbj48L2J1dHRvbj59XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9nZW5lcmljLXRhYmxlLmNvbXBvbmVudC5zY3NzJywnLi4vLi4vc3R5bGVzL2NvbGxhcHNlci5zdHlsZXMuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0e1xuICBwcml2YXRlIHN0YXRlID0gaW5qZWN0KFRhYmxlU3RvcmUpO1xuICBwcml2YXRlIGRhdGEgPSBpbmplY3QoRGF0YVN0b3JlKTtcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRvciE6IE1hdFBhZ2luYXRvcjtcbiAgY3VycmVudFBhZ2VEYXRhJCE6IE9ic2VydmFibGU8Q3VycmVudFBhZ2VEZXRhaWxzPjtcbiAgJGNvbGxhcHNlRm9vdGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdGF0ZS5zZWxlY3RTaWduYWwoc3RhdGUgPT4gc3RhdGUucGVyc2lzdGVkVGFibGVTZXR0aW5ncy5jb2xsYXBzZUZvb3RlcikoKSB8fCB0aGlzLiRzaG93QWxsKCkpO1xuICBASW5wdXQoKSBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+O1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB0YWJsZUVsUmVmISA6IEVsZW1lbnRSZWZcbiAgbmdPbkluaXQoKXtcbiAgICB0aGlzLm91clBhZ2VFdmVudCA9IHRydWU7XG4gICAgdGhpcy5zdGF0ZS5vbihtZXRhRGF0YVBhZ2VTaXplQ2hhbmdlKHRoaXMuc3RhdGUpLCBzZXRQYWdpbmF0b3JQYWdlU2l6ZSh0aGlzLnBhZ2luYXRvcikpO1xuICAgIHRoaXMuc3RhdGUub24odGhpcy5wYWdpbmF0b3IucGFnZSwgKHBhZ2VFdmVudCkgPT4ge1xuICAgICAgdGhpcy5zdGF0ZS51cGRhdGVTdGF0ZSh7Y3VycmVudFBhZ2U6IHBhZ2VFdmVudC5wYWdlSW5kZXh9ICk7XG4gICAgfSk7XG4gICAgdGhpcy5zdGF0ZS5zZXRQYWdlU2l6ZShvblBhZ2luYXRvclBhZ2VTaXplQ2hhbmdlKHRoaXMucGFnaW5hdG9yKSlcblxuICAgIHRoaXMuc3RhdGUub24oIHRoaXMuZGF0YS5zZWxlY3QoIHMgPT4gcy5kYXRhTGVuKSwgKGxlbikgPT4gdGhpcy5wYWdpbmF0b3IubGVuZ3RoID0gbGVuKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlRGF0YSQgPSBtZXJnZShcbiAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2UucGlwZShtYXAobWFwUGFnaW5hdGlvbkV2ZW50VG9DdXJyZW50UGFnZURldGFpbHMpKSxcbiAgICAgIHRoaXMuZGF0YSQucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbEtleUNoYW5nZWQoXCJsZW5ndGhcIiksXG4gICAgICAgIGRlbGF5VG9BbGxvd0ZvclByb3BlclVwZGF0ZSxcbiAgICAgICAgbWFwKHVwZGF0ZUN1cnJlbnRQYWdlRGV0YWlsc09uRGF0YUxlbmd0aENoYW5nZSh0aGlzLnBhZ2luYXRvcikpKSxcbiAgICApO1xuICB9XG5cbiAgcGFnaW5hdG9yQ2hhbmdlKCkgOiB2b2lkIHtcbiAgICBpZighdGhpcy5vdXJQYWdlRXZlbnQpe1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnRhYmxlRWxSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnNjcm9sbEludG9WaWV3KCksIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm91clBhZ2VFdmVudCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICBvdXJQYWdlRXZlbnQgPSBmYWxzZTtcblxuICAkc2hvd0FsbE9wdGlvbiA9IHRoaXMuc3RhdGUuc2VsZWN0U2lnbmFsKHMgPT4gcy5ub3RQZXJzaXN0ZWRUYWJsZVNldHRpbmdzPy5pbmNsdWRlQWxsSW5QYWdpbmF0b3JPcHRpb25zKTtcbiAgJHNob3dBbGwgPSB0aGlzLnN0YXRlLnNlbGVjdFNpZ25hbChzID0+IHMuc2hvd0FsbCk7XG4gIHVwZGF0ZVBhZ2luYXRvciA9IHRoaXMuc3RhdGUudXBkYXRlcihzdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgc2hvd0FsbDogIXN0YXRlLnNob3dBbGwgfSkpO1xuICBzaG93QWxsKCl7XG4gICAgdGhpcy51cGRhdGVQYWdpbmF0b3IoKTtcbiAgfVxufVxuXG5jb25zdCBtYXBQYWdpbmF0aW9uRXZlbnRUb0N1cnJlbnRQYWdlRGV0YWlscyA9IChwYWdlRGF0YTogUGFnZUV2ZW50KTpDdXJyZW50UGFnZURldGFpbHMgPT4gKHtcbiAgY3VycmVudFN0YXJ0IDogKHBhZ2VEYXRhLnBhZ2VJbmRleCAqIHBhZ2VEYXRhLnBhZ2VTaXplKSArIDEsXG4gIGN1cnJlbnRFbmQgOiBNYXRoLm1pbihwYWdlRGF0YS5sZW5ndGggLCAoKHBhZ2VEYXRhLnBhZ2VJbmRleCArIDEpICogcGFnZURhdGEucGFnZVNpemUpKSxcbiAgdG90YWwgOiBwYWdlRGF0YS5sZW5ndGhcbn0pO1xuXG5jb25zdCB1cGRhdGVDdXJyZW50UGFnZURldGFpbHNPbkRhdGFMZW5ndGhDaGFuZ2UgPSAocGFnaW5hdG9yOk1hdFBhZ2luYXRvcikgPT4gKCkgPT4gKHtjdXJyZW50U3RhcnQ6KHBhZ2luYXRvci5wYWdlSW5kZXggKiBwYWdpbmF0b3IucGFnZVNpemUpICsgMSxcbiAgY3VycmVudEVuZDogTWF0aC5taW4ocGFnaW5hdG9yLmxlbmd0aCAsICgocGFnaW5hdG9yLnBhZ2VJbmRleCArIDEpICogcGFnaW5hdG9yLnBhZ2VTaXplKSksXG4gIHRvdGFsOnBhZ2luYXRvci5sZW5ndGh9KVxuXG5jb25zdCBkZWxheVRvQWxsb3dGb3JQcm9wZXJVcGRhdGUgPSBkZWxheTxhbnlbXT4oMCxhc3luY1NjaGVkdWxlcik7XG5cbmludGVyZmFjZSBDdXJyZW50UGFnZURldGFpbHMge1xuICBjdXJyZW50U3RhcnQ6bnVtYmVyLFxuICBjdXJyZW50RW5kOm51bWJlcixcbiAgdG90YWw6bnVtYmVyXG59XG5cbmNvbnN0IG1ldGFEYXRhUGFnZVNpemVDaGFuZ2UgPSAoc3RhdGU6VGFibGVTdG9yZSkgPT4gc3RhdGUuc3RhdGUkLnBpcGUobWFwKHN0YXRlID0+IHN0YXRlLnVzZXJEZWZpbmVkLnBhZ2VTaXplIHx8IHN0YXRlLnBhZ2VTaXplKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbmNvbnN0IHNldFBhZ2luYXRvclBhZ2VTaXplID0gKHBhZ2luYXRvcjpNYXRQYWdpbmF0b3IpID0+IChwYWdlU2l6ZTogbnVtYmVyKSA9PlxuICBwYWdpbmF0b3IuX2NoYW5nZVBhZ2VTaXplKHBhZ2VTaXplKTtcblxuY29uc3Qgb25QYWdpbmF0b3JQYWdlU2l6ZUNoYW5nZSA9IChwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcikgPT4gcGFnaW5hdG9yLnBhZ2UucGlwZShtYXAoIGUgPT4gZS5wYWdlU2l6ZSApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTsiXX0=
@@ -5,6 +5,7 @@ import { distinctUntilChanged, map, mergeMap } from 'rxjs/operators';
5
5
  import { TableStore } from '../../classes/table-store';
6
6
  import { notNull } from '../../../rxjs/rxjs-operators';
7
7
  import { FieldType } from '../../interfaces/report-def';
8
+ import { toObservable } from '@angular/core/rxjs-interop';
8
9
  import * as i0 from "@angular/core";
9
10
  export class SortMenuComponentStore extends ComponentStore {
10
11
  tableState = inject(TableStore);
@@ -22,11 +23,12 @@ export class SortMenuComponentStore extends ComponentStore {
22
23
  sorted.splice(index, 1, sort);
23
24
  return ({ ...state, sorted });
24
25
  });
26
+ metaDataArr$ = toObservable(this.tableState.$metaDataArray);
25
27
  reset = () => {
26
28
  const sorted = this.tableState.sort$.pipe(mergeMap(sort => this.tableState.metaData$.pipe(notNull(), map(meta => sort.map(s => {
27
29
  return { ...s, displayName: meta[s.active]?.displayName };
28
30
  })))));
29
- const notSorted = this.tableState.metaDataArray$.pipe(mergeMap(metas => this.tableState.sort$.pipe(map(s => metas
31
+ const notSorted = this.metaDataArr$.pipe(mergeMap(metas => this.tableState.sort$.pipe(map(s => metas
30
32
  .filter(meta => !s.some(s => s.active === meta.key) && meta.fieldType !== FieldType.NotMapped && !meta.noSort)
31
33
  .map(meta => ({ active: meta.key, displayName: meta.displayName }))))));
32
34
  this.set(combineLatest([
@@ -41,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
41
43
  }], ctorParameters: () => [] });
42
44
  const equalSortArray = (arr1, arr2) => arr1.length === arr2.length && arr2.every(s1 => arr1.some(s2 => s1.active === s2.active));
43
45
  const distinctSortArray = distinctUntilChanged(equalSortArray);
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1tZW51LmNvbXBvbmVudC1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvc29ydC1tZW51L3NvcnQtbWVudS5jb21wb25lbnQtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHeEQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGNBQW1DO0lBQ3JFLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFeEM7UUFDRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFDTyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUF5QixFQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFFN0UsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBc0IsRUFBQyxFQUFFLENBQUEsQ0FBQyxFQUFD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QUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFBO3VHQXhDVSxzQkFBc0I7MkdBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVTs7QUFxRFgsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFtQixFQUFDLElBQW1CLEVBQUUsRUFBRSxDQUNqRSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzVGLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQWlCLGNBQWMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcbmltcG9ydCB7IG5vdE51bGwgfSBmcm9tICcuLi8uLi8uLi9yeGpzL3J4anMtb3BlcmF0b3JzJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTb3J0TWVudUNvbXBvbmVudFN0b3JlIGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8Q29tcG9uZW50U3RvcmVTdGF0ZT4ge1xuICBwcml2YXRlIHRhYmxlU3RhdGUgPSBpbmplY3QoVGFibGVTdG9yZSk7XG5cbiAgY29uc3RydWN0b3IoKXtcbiAgICBzdXBlcih7IG5vdFNvcnRlZDpbXSwgc29ydGVkOiBbXX0pXG4gIH1cbiAgcHJpdmF0ZSBzZXQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBkYXRhOiBDb21wb25lbnRTdG9yZVN0YXRlKT0+ICh7Li4uZGF0YX0pKTtcblxuICBzZXRTb3J0ZWQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBzb3J0ZWQ6IFNvcnRXaXRoTmFtZVtdKT0+KHsuLi5zdGF0ZSwgc29ydGVkfSkpO1xuXG4gIHNldE5vdFNvcnRlZCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIG5vdFNvcnRlZDogU29ydFdpdGhOYW1lW10pPT4oey4uLnN0YXRlLCBub3RTb3J0ZWR9KSk7XG4gIHNvcnRlZCQgPSB0aGlzLnNlbGVjdChzdGF0ZT0+c3RhdGUuc29ydGVkKTtcbiAgbm90U29ydGVkJCA9IHRoaXMuc2VsZWN0KHN0YXRlPT5zdGF0ZS5ub3RTb3J0ZWQpO1xuXG4gIHNldERpcmVjdGlvbiA9IHRoaXMudXBkYXRlcigoc3RhdGUsc29ydDpTb3J0V2l0aE5hbWUpPT57XG4gICAgY29uc3QgaW5kZXggPSBzdGF0ZS5zb3J0ZWQuZmluZEluZGV4KHMgPT4gcy5hY3RpdmUgPT09IHNvcnQuYWN0aXZlKTtcbiAgICBjb25zdCBzb3J0ZWQgPSBbLi4uc3RhdGUuc29ydGVkXTtcbiAgICBzb3J0ZWQuc3BsaWNlKGluZGV4LDEsc29ydCk7XG4gICAgcmV0dXJuICh7Li4uc3RhdGUsc29ydGVkfSk7XG4gIH0pXG5cbiAgcmVzZXQgPSAoKSA9PiB7XG4gICAgY29uc3Qgc29ydGVkID0gdGhpcy50YWJsZVN0YXRlLnNvcnQkLnBpcGUoXG4gICAgICBtZXJnZU1hcChzb3J0ID0+IHRoaXMudGFibGVTdGF0ZS5tZXRhRGF0YSQucGlwZShcbiAgICAgICAgbm90TnVsbCgpLFxuICAgICAgICBtYXAoXG4gICAgICAgIG1ldGEgPT4gc29ydC5tYXAocyA9PiB7XG4gICAgICAgICAgcmV0dXJuICh7Li4ucywgZGlzcGxheU5hbWU6IG1ldGFbcy5hY3RpdmVdPy5kaXNwbGF5TmFtZX0gYXMgU29ydFdpdGhOYW1lKX0pXG4gICAgICApKSlcbiAgICApO1xuICAgIGNvbnN0IG5vdFNvcnRlZCA9IHRoaXMudGFibGVTdGF0ZS5tZXRhRGF0YUFycmF5JC5waXBlKG1lcmdlTWFwKFxuICAgICAgbWV0YXMgPT4gdGhpcy50YWJsZVN0YXRlLnNvcnQkLnBpcGUoXG4gICAgICAgIG1hcChzID0+IG1ldGFzXG4gICAgICAgICAgLmZpbHRlcihtZXRhID0+ICFzLnNvbWUocz0+cy5hY3RpdmU9PT0gbWV0YS5rZXkpICYmIG1ldGEuZmllbGRUeXBlICE9PSBGaWVsZFR5cGUuTm90TWFwcGVkICYmICFtZXRhLm5vU29ydClcbiAgICAgICAgICAubWFwKG1ldGE9Pih7YWN0aXZlOm1ldGEua2V5LGRpc3BsYXlOYW1lIDogbWV0YS5kaXNwbGF5TmFtZX0gYXMgU29ydFdpdGhOYW1lKSkpXG4gICAgICApXG4gICAgKSk7XG4gICAgdGhpcy5zZXQoY29tYmluZUxhdGVzdChbXG4gICAgICBzb3J0ZWQucGlwZShkaXN0aW5jdFNvcnRBcnJheSksbm90U29ydGVkLnBpcGUoZGlzdGluY3RTb3J0QXJyYXkpXG4gICAgXSkucGlwZShtYXAoKFtzb3J0ZWQsbm90U29ydGVkXSk9Pih7c29ydGVkLG5vdFNvcnRlZH0pKSkpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50U3RvcmVTdGF0ZSB7XG4gIHNvcnRlZCA6IFNvcnRXaXRoTmFtZVtdO1xuICBub3RTb3J0ZWQ6IFNvcnRXaXRoTmFtZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRXaXRoTmFtZSBleHRlbmRzIFNvcnR7XG4gIGRpc3BsYXlOYW1lIDogc3RyaW5nO1xufVxuXG5jb25zdCBlcXVhbFNvcnRBcnJheSA9IChhcnIxOlNvcnRXaXRoTmFtZVtdLGFycjI6U29ydFdpdGhOYW1lW10pID0+XG4gIGFycjEubGVuZ3RoID09PSBhcnIyLmxlbmd0aCAmJiBhcnIyLmV2ZXJ5KHMxID0+IGFycjEuc29tZShzMiA9PiBzMS5hY3RpdmUgPT09IHMyLmFjdGl2ZSkpO1xuY29uc3QgZGlzdGluY3RTb3J0QXJyYXkgPSBkaXN0aW5jdFVudGlsQ2hhbmdlZDxTb3J0V2l0aE5hbWVbXT4oZXF1YWxTb3J0QXJyYXkpO1xuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1tZW51LmNvbXBvbmVudC1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvc29ydC1tZW51L3NvcnQtbWVudS5jb21wb25lbnQtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRzFELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxjQUFtQztJQUNyRSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXhDO1FBQ0UsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBQ08sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBeUIsRUFBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTdFLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENB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QyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxTQUFTLENBQUMsRUFBQyxFQUFFLENBQUEsQ0FBQyxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQTt1R0F4Q1Usc0JBQXNCOzJHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7O0FBcURYLE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBbUIsRUFBQyxJQUFtQixFQUFFLEVBQUUsQ0FDakUsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM1RixNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFpQixjQUFjLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90YWJsZS1zdG9yZSc7XG5pbXBvcnQgeyBub3ROdWxsIH0gZnJvbSAnLi4vLi4vLi4vcnhqcy9yeGpzLW9wZXJhdG9ycyc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU29ydE1lbnVDb21wb25lbnRTdG9yZSBleHRlbmRzIENvbXBvbmVudFN0b3JlPENvbXBvbmVudFN0b3JlU3RhdGU+IHtcbiAgcHJpdmF0ZSB0YWJsZVN0YXRlID0gaW5qZWN0KFRhYmxlU3RvcmUpO1xuXG4gIGNvbnN0cnVjdG9yKCl7XG4gICAgc3VwZXIoeyBub3RTb3J0ZWQ6W10sIHNvcnRlZDogW119KVxuICB9XG4gIHByaXZhdGUgc2V0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZGF0YTogQ29tcG9uZW50U3RvcmVTdGF0ZSk9PiAoey4uLmRhdGF9KSk7XG5cbiAgc2V0U29ydGVkID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgc29ydGVkOiBTb3J0V2l0aE5hbWVbXSk9Pih7Li4uc3RhdGUsIHNvcnRlZH0pKTtcblxuICBzZXROb3RTb3J0ZWQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBub3RTb3J0ZWQ6IFNvcnRXaXRoTmFtZVtdKT0+KHsuLi5zdGF0ZSwgbm90U29ydGVkfSkpO1xuICBzb3J0ZWQkID0gdGhpcy5zZWxlY3Qoc3RhdGU9PnN0YXRlLnNvcnRlZCk7XG4gIG5vdFNvcnRlZCQgPSB0aGlzLnNlbGVjdChzdGF0ZT0+c3RhdGUubm90U29ydGVkKTtcblxuICBzZXREaXJlY3Rpb24gPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLHNvcnQ6U29ydFdpdGhOYW1lKT0+e1xuICAgIGNvbnN0IGluZGV4ID0gc3RhdGUuc29ydGVkLmZpbmRJbmRleChzID0+IHMuYWN0aXZlID09PSBzb3J0LmFjdGl2ZSk7XG4gICAgY29uc3Qgc29ydGVkID0gWy4uLnN0YXRlLnNvcnRlZF07XG4gICAgc29ydGVkLnNwbGljZShpbmRleCwxLHNvcnQpO1xuICAgIHJldHVybiAoey4uLnN0YXRlLHNvcnRlZH0pO1xuICB9KVxuICBtZXRhRGF0YUFyciQgPSB0b09ic2VydmFibGUodGhpcy50YWJsZVN0YXRlLiRtZXRhRGF0YUFycmF5KTtcbiAgcmVzZXQgPSAoKSA9PiB7XG4gICAgY29uc3Qgc29ydGVkID0gdGhpcy50YWJsZVN0YXRlLnNvcnQkLnBpcGUoXG4gICAgICBtZXJnZU1hcChzb3J0ID0+IHRoaXMudGFibGVTdGF0ZS5tZXRhRGF0YSQucGlwZShcbiAgICAgICAgbm90TnVsbCgpLFxuICAgICAgICBtYXAoXG4gICAgICAgIG1ldGEgPT4gc29ydC5tYXAocyA9PiB7XG4gICAgICAgICAgcmV0dXJuICh7Li4ucywgZGlzcGxheU5hbWU6IG1ldGFbcy5hY3RpdmVdPy5kaXNwbGF5TmFtZX0gYXMgU29ydFdpdGhOYW1lKX0pXG4gICAgICApKSlcbiAgICApO1xuICAgIGNvbnN0IG5vdFNvcnRlZCA9IHRoaXMubWV0YURhdGFBcnIkLnBpcGUobWVyZ2VNYXAoXG4gICAgICBtZXRhcyA9PiB0aGlzLnRhYmxlU3RhdGUuc29ydCQucGlwZShcbiAgICAgICAgbWFwKHMgPT4gbWV0YXNcbiAgICAgICAgICAuZmlsdGVyKG1ldGEgPT4gIXMuc29tZShzPT5zLmFjdGl2ZT09PSBtZXRhLmtleSkgJiYgbWV0YS5maWVsZFR5cGUgIT09IEZpZWxkVHlwZS5Ob3RNYXBwZWQgJiYgIW1ldGEubm9Tb3J0KVxuICAgICAgICAgIC5tYXAobWV0YT0+KHthY3RpdmU6bWV0YS5rZXksZGlzcGxheU5hbWUgOiBtZXRhLmRpc3BsYXlOYW1lfSBhcyBTb3J0V2l0aE5hbWUpKSlcbiAgICAgIClcbiAgICApKTtcbiAgICB0aGlzLnNldChjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHNvcnRlZC5waXBlKGRpc3RpbmN0U29ydEFycmF5KSxub3RTb3J0ZWQucGlwZShkaXN0aW5jdFNvcnRBcnJheSlcbiAgICBdKS5waXBlKG1hcCgoW3NvcnRlZCxub3RTb3J0ZWRdKT0+KHtzb3J0ZWQsbm90U29ydGVkfSkpKSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRTdG9yZVN0YXRlIHtcbiAgc29ydGVkIDogU29ydFdpdGhOYW1lW107XG4gIG5vdFNvcnRlZDogU29ydFdpdGhOYW1lW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydFdpdGhOYW1lIGV4dGVuZHMgU29ydHtcbiAgZGlzcGxheU5hbWUgOiBzdHJpbmc7XG59XG5cbmNvbnN0IGVxdWFsU29ydEFycmF5ID0gKGFycjE6U29ydFdpdGhOYW1lW10sYXJyMjpTb3J0V2l0aE5hbWVbXSkgPT5cbiAgYXJyMS5sZW5ndGggPT09IGFycjIubGVuZ3RoICYmIGFycjIuZXZlcnkoczEgPT4gYXJyMS5zb21lKHMyID0+IHMxLmFjdGl2ZSA9PT0gczIuYWN0aXZlKSk7XG5jb25zdCBkaXN0aW5jdFNvcnRBcnJheSA9IGRpc3RpbmN0VW50aWxDaGFuZ2VkPFNvcnRXaXRoTmFtZVtdPihlcXVhbFNvcnRBcnJheSk7XG4iXX0=