@one-paragon/angular-utilities 1.1.4 → 1.1.6

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 (91) hide show
  1. package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +3 -3
  2. package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +4 -4
  3. package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +4 -4
  4. package/esm2022/http-request-state/HttpRequestStateFactory.mjs +3 -3
  5. package/esm2022/http-request-state/HttpRequestStateStore.mjs +3 -3
  6. package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +3 -3
  7. package/esm2022/http-request-state/directives/http-error-state-directive.mjs +3 -3
  8. package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +3 -3
  9. package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +3 -3
  10. package/esm2022/http-request-state/directives/http-success-state-directive.mjs +3 -3
  11. package/esm2022/http-request-state/directives/request-state-directive.mjs +3 -3
  12. package/esm2022/http-request-state/http-state-module.mjs +4 -4
  13. package/esm2022/rxjs/subscriber.directive.mjs +14 -12
  14. package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +19 -28
  15. package/esm2022/table-builder/classes/TableState.mjs +8 -5
  16. package/esm2022/table-builder/classes/table-builder-general-settings.mjs +24 -3
  17. package/esm2022/table-builder/classes/table-builder.mjs +42 -9
  18. package/esm2022/table-builder/classes/table-store.mjs +18 -17
  19. package/esm2022/table-builder/components/array-column.component.mjs +6 -6
  20. package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +3 -3
  21. package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +3 -3
  22. package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +3 -3
  23. package/esm2022/table-builder/components/filter/filter.component.mjs +3 -3
  24. package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +3 -3
  25. package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +4 -4
  26. package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +26 -6
  27. package/esm2022/table-builder/components/generic-table/paginator.component.mjs +39 -25
  28. package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +3 -3
  29. package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +4 -4
  30. package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +3 -3
  31. package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +3 -3
  32. package/esm2022/table-builder/components/link-column.component.mjs +6 -6
  33. package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +3 -3
  34. package/esm2022/table-builder/components/profiles-menu/profiles-menu.component.mjs +66 -0
  35. package/esm2022/table-builder/components/scroll-strategy.mjs +8 -3
  36. package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +6 -5
  37. package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +4 -4
  38. package/esm2022/table-builder/components/table-container/table-container-imports.mjs +5 -5
  39. package/esm2022/table-builder/components/table-container/table-container.mjs +24 -42
  40. package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +68 -52
  41. package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +3 -3
  42. package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +3 -3
  43. package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +3 -3
  44. package/esm2022/table-builder/directives/custom-cell-directive.mjs +3 -3
  45. package/esm2022/table-builder/directives/multi-sort.directive.mjs +3 -3
  46. package/esm2022/table-builder/directives/resize-column.directive.mjs +3 -3
  47. package/esm2022/table-builder/directives/table-wrapper.directive.mjs +3 -3
  48. package/esm2022/table-builder/directives/tb-filter.directive.mjs +30 -30
  49. package/esm2022/table-builder/ngrx/tableBuilderStateStore.mjs +105 -66
  50. package/esm2022/table-builder/pipes/column-total.pipe.mjs +3 -3
  51. package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +3 -3
  52. package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +3 -3
  53. package/esm2022/table-builder/pipes/key-display.mjs +3 -3
  54. package/esm2022/table-builder/services/export-to-csv.service.mjs +3 -3
  55. package/esm2022/table-builder/services/table-template-service.mjs +3 -3
  56. package/esm2022/table-builder/services/transform-creator.mjs +3 -3
  57. package/esm2022/table-builder/table-builder.module.mjs +4 -4
  58. package/esm2022/utilities/directives/auto-focus.directive.mjs +3 -3
  59. package/esm2022/utilities/directives/clickEmitterDirective.mjs +3 -3
  60. package/esm2022/utilities/directives/clickSubject.mjs +3 -3
  61. package/esm2022/utilities/directives/conditional-classes.directive.mjs +3 -3
  62. package/esm2022/utilities/directives/dialog-service.mjs +3 -3
  63. package/esm2022/utilities/directives/dialog.mjs +28 -21
  64. package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +3 -3
  65. package/esm2022/utilities/directives/prevent-enter.directive.mjs +3 -3
  66. package/esm2022/utilities/directives/stop-propagation.directive.mjs +3 -3
  67. package/esm2022/utilities/directives/styler.mjs +3 -3
  68. package/esm2022/utilities/directives/trim-whitespace.directive.mjs +3 -3
  69. package/esm2022/utilities/module.mjs +4 -4
  70. package/esm2022/utilities/pipes/function.pipe.mjs +4 -4
  71. package/esm2022/utilities/pipes/phone.pipe.mjs +3 -3
  72. package/esm2022/utilities/pipes/space-case.pipes.mjs +3 -3
  73. package/fesm2022/one-paragon-angular-utilities.mjs +660 -479
  74. package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -1
  75. package/package.json +4 -4
  76. package/rxjs/subscriber.directive.d.ts +1 -0
  77. package/table-builder/classes/TableBuilderDataSource.d.ts +1 -0
  78. package/table-builder/classes/TableState.d.ts +5 -2
  79. package/table-builder/classes/table-builder-general-settings.d.ts +21 -4
  80. package/table-builder/classes/table-builder.d.ts +8 -2
  81. package/table-builder/classes/table-store.d.ts +3 -0
  82. package/table-builder/components/generic-table/generic-table.component.d.ts +4 -0
  83. package/table-builder/components/generic-table/paginator.component.d.ts +5 -1
  84. package/table-builder/components/profiles-menu/profiles-menu.component.d.ts +32 -0
  85. package/table-builder/components/scroll-strategy.d.ts +3 -1
  86. package/table-builder/components/table-container/table-container-imports.d.ts +3 -3
  87. package/table-builder/components/table-container/table-container.d.ts +6 -9
  88. package/table-builder/components/table-container/virtual-scroll-container.d.ts +8 -4
  89. package/table-builder/ngrx/tableBuilderStateStore.d.ts +42 -34
  90. package/utilities/directives/dialog.d.ts +8 -7
  91. package/utilities/pipes/function.pipe.d.ts +1 -1
@@ -12,10 +12,10 @@ export class ActionStateSpinnerComponent {
12
12
  ngOnInit() {
13
13
  this.serverActionStatus$ = this.status$.pipe(delayOn(a => a.status === serverStatusTypes.inProgress, 500));
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ActionStateSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: ActionStateSpinnerComponent, isStandalone: true, selector: "lib-action-state-spinner", inputs: { status$: "status$" }, ngImport: i0, template: "@if((serverActionStatus$ | async)?.status === serverStatusTypes.inProgress){\r\n <div id=\"blocker\">\r\n <mat-spinner class=\"spinner\" [diameter]=\"200\" />\r\n </div>\r\n}\r\n\r\n", styles: ["#blocker{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0e0d0d69;z-index:999999}.spinner{position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ActionStateSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: ActionStateSpinnerComponent, isStandalone: true, selector: "lib-action-state-spinner", inputs: { status$: "status$" }, ngImport: i0, template: "@if((serverActionStatus$ | async)?.status === serverStatusTypes.inProgress){\r\n <div id=\"blocker\">\r\n <mat-spinner class=\"spinner\" [diameter]=\"200\" />\r\n </div>\r\n}\r\n\r\n", styles: ["#blocker{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0e0d0d69;z-index:999999}.spinner{position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }] }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ActionStateSpinnerComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ActionStateSpinnerComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'lib-action-state-spinner', standalone: true, imports: [AsyncPipe, MatProgressSpinnerModule], template: "@if((serverActionStatus$ | async)?.status === serverStatusTypes.inProgress){\r\n <div id=\"blocker\">\r\n <mat-spinner class=\"spinner\" [diameter]=\"200\" />\r\n </div>\r\n}\r\n\r\n", styles: ["#blocker{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0e0d0d69;z-index:999999}.spinner{position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}\n"] }]
21
21
  }], propDecorators: { status$: [{
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { ActionStateSpinnerComponent } from '../action-state-spinner/action-state-spinner.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ActionStateUiModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ActionStateUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: ActionStateUiModule, imports: [ActionStateSpinnerComponent], exports: [ActionStateSpinnerComponent] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ActionStateUiModule, imports: [ActionStateSpinnerComponent] }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ActionStateUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: ActionStateUiModule, imports: [ActionStateSpinnerComponent], exports: [ActionStateSpinnerComponent] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ActionStateUiModule, imports: [ActionStateSpinnerComponent] }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ActionStateUiModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ActionStateUiModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  imports: [
@@ -5,12 +5,12 @@ import { StoreModule } from '@ngrx/store';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@ngrx/store";
7
7
  export class NgrxExtModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgrxExtModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: NgrxExtModule, imports: [CommonModule, i1.StoreFeatureModule] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgrxExtModule, imports: [CommonModule,
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgrxExtModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: NgrxExtModule, imports: [CommonModule, i1.StoreFeatureModule] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgrxExtModule, imports: [CommonModule,
11
11
  StoreModule.forFeature('ActionStatus', actionStatusReducer)] }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NgrxExtModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgrxExtModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [],
@@ -18,10 +18,10 @@ export class HttpRequestStateFactory {
18
18
  this.requestors.push(requestor);
19
19
  return requestor;
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpRequestStateFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpRequestStateFactory }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpRequestStateFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpRequestStateFactory }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpRequestStateFactory, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpRequestStateFactory, decorators: [{
25
25
  type: Injectable
26
26
  }], ctorParameters: () => [] });
27
27
  export function createRequestor(req, optionsOrProject, options) {
@@ -90,10 +90,10 @@ export class HttpRequestStateStore extends ComponentStore {
90
90
  ngOnDestroy() {
91
91
  super.ngOnDestroy();
92
92
  }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpRequestStateStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
94
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: HttpRequestStateStore, usesInheritance: true, ngImport: i0 }); }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpRequestStateStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
94
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: HttpRequestStateStore, usesInheritance: true, ngImport: i0 }); }
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpRequestStateStore, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpRequestStateStore, decorators: [{
97
97
  type: Directive
98
98
  }], ctorParameters: () => [{ type: undefined }, { type: undefined }, { type: undefined }] });
99
99
  export class CancellationToken {
@@ -25,10 +25,10 @@ export class HttpStateDirectiveBase {
25
25
  }
26
26
  ngOnDestroy() {
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpStateDirectiveBase, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
29
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: HttpStateDirectiveBase, ngImport: i0 }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpStateDirectiveBase, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: HttpStateDirectiveBase, ngImport: i0 }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpStateDirectiveBase, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpStateDirectiveBase, decorators: [{
32
32
  type: Directive
33
33
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFN0YXRlRGlyZWN0aXZlQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUd0RSxNQUFNLE9BQWdCLHNCQUFzQjtJQUV4QyxZQUNZLFFBQWtCLEVBQ2hCLFdBQTZCLEVBQzdCLGFBQStCO1FBRmpDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUo3QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBc0JSLGVBQVUsR0FBRyxDQUFDLEtBQXNCLEVBQVUsRUFBRTtZQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQTtJQXJCRCxDQUFDO0lBRUQsUUFBUTtRQUNKLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDNUQsSUFBRyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO1FBQzlHLENBQUM7UUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXO0lBRVgsQ0FBQzs4R0FyQmlCLHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUQzQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIHtcclxuICAgIGhhc1ZpZXcgPSBmYWxzZTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByb3RlY3RlZCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICBwcm90ZWN0ZWQgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmluamVjdG9yLmdldChIdHRwUmVxdWVzdFN0YXRlRGlyZWN0aXZlKTtcclxuICAgICAgICBpZihwYXJlbnQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW4gb25seSB1c2UgYW4gaHR0cCBzdGF0ZSBkaXJlY3RpdmUgYXMgYSBjaGlsZCBvZiB0aGUgaHR0cFJlcXVlc3RTdGF0ZSBkaXJlY3RpdmUuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhcmVudC5ob29rcy5wdXNoKHRoaXMuYmFzZVJlbmRlcik7XHJcbiAgICAgICAgdGhpcy5iYXNlUmVuZGVyKHBhcmVudC5WaWV3Q29udGV4dC5zdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBiYXNlUmVuZGVyID0gKHN0YXRlOkh0dHBSZXF1ZXN0U3RhdGUgKSA6IHZvaWQgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmhhc1ZpZXcpIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzVmlldyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmhhc1ZpZXcgPSB0aGlzLnJlbmRlcihzdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgcmVuZGVyOiAoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGUpID0+IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -19,10 +19,10 @@ export class HttpErrorStateDirective extends HttpStateDirectiveBase {
19
19
  ngOnDestroy() {
20
20
  super.ngOnDestroy();
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpErrorStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: HttpErrorStateDirective, isStandalone: true, selector: "[httpErrorState]", usesInheritance: true, ngImport: i0 }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpErrorStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: HttpErrorStateDirective, isStandalone: true, selector: "[httpErrorState]", usesInheritance: true, ngImport: i0 }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpErrorStateDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpErrorStateDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{ selector: '[httpErrorState]', standalone: true }]
28
28
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
@@ -19,10 +19,10 @@ export class HttpInProgressStateDirective extends HttpStateDirectiveBase {
19
19
  ngOnDestroy() {
20
20
  super.ngOnDestroy();
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpInProgressStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: HttpInProgressStateDirective, isStandalone: true, selector: "[httpInProgressState]", usesInheritance: true, ngImport: i0 }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpInProgressStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: HttpInProgressStateDirective, isStandalone: true, selector: "[httpInProgressState]", usesInheritance: true, ngImport: i0 }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpInProgressStateDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpInProgressStateDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{ selector: '[httpInProgressState]', standalone: true }]
28
28
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
@@ -19,10 +19,10 @@ export class HttpNotStartedStateDirective extends HttpStateDirectiveBase {
19
19
  ngOnDestroy() {
20
20
  super.ngOnDestroy();
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpNotStartedStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: HttpNotStartedStateDirective, isStandalone: true, selector: "[httpNotStartedState]", usesInheritance: true, ngImport: i0 }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpNotStartedStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: HttpNotStartedStateDirective, isStandalone: true, selector: "[httpNotStartedState]", usesInheritance: true, ngImport: i0 }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpNotStartedStateDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpNotStartedStateDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{ selector: '[httpNotStartedState]', standalone: true }]
28
28
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
@@ -22,10 +22,10 @@ export class HttpSuccessStateDirective extends HttpStateDirectiveBase {
22
22
  static ngTemplateContextGuard(dir, ctx) {
23
23
  return true;
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpSuccessStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
26
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: HttpSuccessStateDirective, isStandalone: true, selector: "[httpSuccessState]", inputs: { httpSuccessStateTypeSafety: "httpSuccessStateTypeSafety" }, usesInheritance: true, ngImport: i0 }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpSuccessStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: HttpSuccessStateDirective, isStandalone: true, selector: "[httpSuccessState]", inputs: { httpSuccessStateTypeSafety: "httpSuccessStateTypeSafety" }, usesInheritance: true, ngImport: i0 }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpSuccessStateDirective, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpSuccessStateDirective, decorators: [{
29
29
  type: Directive,
30
30
  args: [{ selector: '[httpSuccessState]', standalone: true }]
31
31
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { httpSuccessStateTypeSafety: [{
@@ -47,10 +47,10 @@ export class HttpRequestStateDirective {
47
47
  static ngTemplateContextGuard(dir, ctx) {
48
48
  return true;
49
49
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpRequestStateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
51
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: HttpRequestStateDirective, isStandalone: true, selector: "[httpRequestState]", inputs: { stateStore: ["httpRequestState", "stateStore"] }, ngImport: i0 }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpRequestStateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: HttpRequestStateDirective, isStandalone: true, selector: "[httpRequestState]", inputs: { stateStore: ["httpRequestState", "stateStore"] }, ngImport: i0 }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpRequestStateDirective, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpRequestStateDirective, decorators: [{
54
54
  type: Directive,
55
55
  args: [{ selector: '[httpRequestState]', standalone: true }]
56
56
  }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { stateStore: [{
@@ -6,8 +6,8 @@ import { HttpInProgressStateDirective } from './directives/http-inProgress-state
6
6
  import { HttpNotStartedStateDirective } from './directives/http-notStarted-state-directive';
7
7
  import * as i0 from "@angular/core";
8
8
  export class HttpRequestModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpRequestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: HttpRequestModule, imports: [HttpSuccessStateDirective,
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpRequestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: HttpRequestModule, imports: [HttpSuccessStateDirective,
11
11
  HttpRequestStateDirective,
12
12
  HttpErrorStateDirective,
13
13
  HttpInProgressStateDirective,
@@ -16,9 +16,9 @@ export class HttpRequestModule {
16
16
  HttpErrorStateDirective,
17
17
  HttpInProgressStateDirective,
18
18
  HttpNotStartedStateDirective] }); }
19
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpRequestModule }); }
19
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpRequestModule }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: HttpRequestModule, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: HttpRequestModule, decorators: [{
22
22
  type: NgModule,
23
23
  args: [{
24
24
  imports: [
@@ -16,26 +16,28 @@ export class Subscriber {
16
16
  subscription.unsubscribe();
17
17
  });
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: Subscriber, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: Subscriber, ngImport: i0 }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: Subscriber, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: Subscriber, ngImport: i0 }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: Subscriber, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: Subscriber, decorators: [{
23
23
  type: Directive
24
24
  }] });
25
- export function subscriber(obsOrSub, actionOrInjector, injector) {
26
- const destroyRef = getDestroyRef(actionOrInjector, injector);
25
+ export function subscriber(obsOrSubOrInjector, actionOrInjector, injector) {
26
+ const destroyRef = getDestroyRef(obsOrSubOrInjector, actionOrInjector, injector);
27
27
  const subscriber = new Subscriber();
28
- if (obsOrSub instanceof Subscription) {
29
- subscriber.handle(obsOrSub);
28
+ if (obsOrSubOrInjector instanceof Subscription) {
29
+ subscriber.handle(obsOrSubOrInjector);
30
30
  }
31
- else if (obsOrSub instanceof Observable) {
32
- subscriber.handle(obsOrSub.subscribe(actionOrInjector));
31
+ else if (obsOrSubOrInjector instanceof Observable) {
32
+ subscriber.handle(obsOrSubOrInjector.subscribe(actionOrInjector));
33
33
  }
34
34
  destroyRef.onDestroy(() => subscriber?.ngOnDestroy());
35
35
  return subscriber;
36
36
  }
37
- function getDestroyRef(actionOrInjector, injector) {
38
- const providedInjector = actionOrInjector instanceof Injector ? actionOrInjector : injector;
37
+ function getDestroyRef(obsOrSubOrInjector, actionOrInjector, injector) {
38
+ const providedInjector = obsOrSubOrInjector instanceof Injector ? obsOrSubOrInjector
39
+ : actionOrInjector instanceof Injector ? actionOrInjector
40
+ : injector;
39
41
  if (!providedInjector) {
40
42
  try {
41
43
  assertInInjectionContext(subscriber);
@@ -47,4 +49,4 @@ function getDestroyRef(actionOrInjector, injector) {
47
49
  const destroyRef = providedInjector?.get(DestroyRef) || inject(DestroyRef);
48
50
  return destroyRef;
49
51
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvcnhqcy9zdWJzY3JpYmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQWEsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUdoRCxNQUFNLE9BQU8sVUFBVTtJQUR2QjtRQUVFLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUNuQyxXQUFNLEdBQUcsQ0FBQyxZQUEwQixFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFBO1FBQ0QsT0FBRSxHQUFHLENBQVUsR0FBa0IsRUFBRSxNQUFxQixFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFBO0tBT0Y7SUFMQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDeEMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FiVSxVQUFVO2tHQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRHRCLFNBQVM7O0FBbUJWLE1BQU0sVUFBVSxVQUFVLENBQVUsUUFBdUMsRUFBRSxnQkFBNkMsRUFBRSxRQUFtQjtJQUU3SSxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFN0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUVwQyxJQUFHLFFBQVEsWUFBWSxZQUFZLEVBQUMsQ0FBQztRQUNuQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7U0FBTSxJQUFHLFFBQVEsWUFBWSxVQUFVLEVBQUMsQ0FBQztRQUN4QyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsZ0JBQWlDLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBRXRELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxnQkFBc0IsRUFBRSxRQUFtQjtJQUNoRSxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixZQUFZLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUU1RixJQUFHLENBQUMsZ0JBQWdCLEVBQUMsQ0FBQztRQUNwQixJQUFJLENBQUM7WUFDSCx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsNkdBQTZHLENBQUMsQ0FBQztRQUNqSSxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFM0UsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgSW5qZWN0b3IsIE9uRGVzdHJveSwgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTdWJzY3JpYmVyIGltcGxlbWVudHMgT25EZXN0cm95e1xyXG4gIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgaGFuZGxlID0gKHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uKSA9PiB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xyXG4gIH1cclxuICBvbiA9IDxUID0gYW55PihvYnM6IE9ic2VydmFibGU8VD4sIGFjdGlvbjogKHQ6IFQpID0+IGFueSkgPT4ge1xyXG4gICAgdGhpcy5oYW5kbGUob2JzLnN1YnNjcmliZShhY3Rpb24pKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHtcclxuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzdWJzY3JpYmVyKHN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbiwgaW5qZWN0b3I/OiBJbmplY3Rvcik6IFN1YnNjcmliZXJcclxuZXhwb3J0IGZ1bmN0aW9uIHN1YnNjcmliZXI8VCA9IGFueT4ob2JzOiBPYnNlcnZhYmxlPFQ+LCBhY3Rpb246ICh0OiBUKSA9PiBhbnksIGluamVjdG9yPzogSW5qZWN0b3IpOiBTdWJzY3JpYmVyXHJcbmV4cG9ydCBmdW5jdGlvbiBzdWJzY3JpYmVyPFQgPSBhbnk+KG9ic09yU3ViPzogT2JzZXJ2YWJsZTxUPiB8IFN1YnNjcmlwdGlvbiwgYWN0aW9uT3JJbmplY3Rvcj86ICgodDogVCkgPT4gYW55KSB8IEluamVjdG9yLCBpbmplY3Rvcj86IEluamVjdG9yKTogU3Vic2NyaWJlciB7XHJcblxyXG4gIGNvbnN0IGRlc3Ryb3lSZWYgPSBnZXREZXN0cm95UmVmKGFjdGlvbk9ySW5qZWN0b3IsIGluamVjdG9yKTtcclxuXHJcbiAgY29uc3Qgc3Vic2NyaWJlciA9IG5ldyBTdWJzY3JpYmVyKCk7XHJcblxyXG4gIGlmKG9ic09yU3ViIGluc3RhbmNlb2YgU3Vic2NyaXB0aW9uKXtcclxuICAgIHN1YnNjcmliZXIuaGFuZGxlKG9ic09yU3ViKTtcclxuICB9IGVsc2UgaWYob2JzT3JTdWIgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKXtcclxuICAgIHN1YnNjcmliZXIuaGFuZGxlKG9ic09yU3ViLnN1YnNjcmliZShhY3Rpb25PckluamVjdG9yIGFzICh0OiBUKSA9PiBhbnkpKTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHN1YnNjcmliZXI/Lm5nT25EZXN0cm95KCkpO1xyXG5cclxuICByZXR1cm4gc3Vic2NyaWJlcjtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0RGVzdHJveVJlZihhY3Rpb25PckluamVjdG9yPzogYW55LCBpbmplY3Rvcj86IEluamVjdG9yKXtcclxuICBjb25zdCBwcm92aWRlZEluamVjdG9yID0gYWN0aW9uT3JJbmplY3RvciBpbnN0YW5jZW9mIEluamVjdG9yID8gYWN0aW9uT3JJbmplY3RvciA6IGluamVjdG9yO1xyXG5cclxuICBpZighcHJvdmlkZWRJbmplY3Rvcil7XHJcbiAgICB0cnkge1xyXG4gICAgICBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQoc3Vic2NyaWJlcik7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NyZWF0ZVJlcXVlc3RvcigpIG11c3QgYmUgdXNlZCBpbiBhbiBJbmplY3Rpb24gQ29udGV4dCBvciB5b3UgbXVzdCBwcm92aWRlIGFuIGluamVjdG9yIHRvIGNyZWF0ZVJlcXVlc3RvcigpJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBkZXN0cm95UmVmID0gcHJvdmlkZWRJbmplY3Rvcj8uZ2V0KERlc3Ryb3lSZWYpIHx8IGluamVjdChEZXN0cm95UmVmKTtcclxuXHJcbiAgcmV0dXJuIGRlc3Ryb3lSZWY7XHJcbn0iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvcnhqcy9zdWJzY3JpYmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQWEsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUdoRCxNQUFNLE9BQU8sVUFBVTtJQUR2QjtRQUVFLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUNuQyxXQUFNLEdBQUcsQ0FBQyxZQUEwQixFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFBO1FBQ0QsT0FBRSxHQUFHLENBQVUsR0FBa0IsRUFBRSxNQUFxQixFQUFFLEVBQUU7WUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFBO0tBT0Y7SUFMQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDeEMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FiVSxVQUFVO2tHQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRHRCLFNBQVM7O0FBb0JWLE1BQU0sVUFBVSxVQUFVLENBQVUsa0JBQTRELEVBQUUsZ0JBQTZDLEVBQUUsUUFBbUI7SUFFbEssTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRWpGLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7SUFFcEMsSUFBRyxrQkFBa0IsWUFBWSxZQUFZLEVBQUMsQ0FBQztRQUM3QyxVQUFVLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEMsQ0FBQztTQUFNLElBQUcsa0JBQWtCLFlBQVksVUFBVSxFQUFDLENBQUM7UUFDbEQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsZ0JBQWlDLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBRXRELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxrQkFBdUIsRUFBRSxnQkFBc0IsRUFBRSxRQUFtQjtJQUN6RixNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixZQUFZLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCO1FBQ2xGLENBQUMsQ0FBQyxnQkFBZ0IsWUFBWSxRQUFRLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtZQUN6RCxDQUFDLENBQUMsUUFBUSxDQUFDO0lBRWIsSUFBRyxDQUFDLGdCQUFnQixFQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDO1lBQ0gsd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDZHQUE2RyxDQUFDLENBQUM7UUFDakksQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTNFLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEluamVjdG9yLCBPbkRlc3Ryb3ksIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU3Vic2NyaWJlciBpbXBsZW1lbnRzIE9uRGVzdHJveXtcclxuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIGhhbmRsZSA9IChzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbikgPT4ge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcclxuICB9XHJcbiAgb24gPSA8VCA9IGFueT4ob2JzOiBPYnNlcnZhYmxlPFQ+LCBhY3Rpb246ICh0OiBUKSA9PiBhbnkpID0+IHtcclxuICAgIHRoaXMuaGFuZGxlKG9icy5zdWJzY3JpYmUoYWN0aW9uKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiB7XHJcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc3Vic2NyaWJlcihpbmplY3RvcjogSW5qZWN0b3IpOiBTdWJzY3JpYmVyXHJcbmV4cG9ydCBmdW5jdGlvbiBzdWJzY3JpYmVyKHN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbiwgaW5qZWN0b3I/OiBJbmplY3Rvcik6IFN1YnNjcmliZXJcclxuZXhwb3J0IGZ1bmN0aW9uIHN1YnNjcmliZXI8VCA9IGFueT4ob2JzOiBPYnNlcnZhYmxlPFQ+LCBhY3Rpb246ICh0OiBUKSA9PiBhbnksIGluamVjdG9yPzogSW5qZWN0b3IpOiBTdWJzY3JpYmVyXHJcbmV4cG9ydCBmdW5jdGlvbiBzdWJzY3JpYmVyPFQgPSBhbnk+KG9ic09yU3ViT3JJbmplY3Rvcj86IE9ic2VydmFibGU8VD4gfCBTdWJzY3JpcHRpb24gfCBJbmplY3RvciwgYWN0aW9uT3JJbmplY3Rvcj86ICgodDogVCkgPT4gYW55KSB8IEluamVjdG9yLCBpbmplY3Rvcj86IEluamVjdG9yKTogU3Vic2NyaWJlciB7XHJcblxyXG4gIGNvbnN0IGRlc3Ryb3lSZWYgPSBnZXREZXN0cm95UmVmKG9ic09yU3ViT3JJbmplY3RvciwgYWN0aW9uT3JJbmplY3RvciwgaW5qZWN0b3IpO1xyXG5cclxuICBjb25zdCBzdWJzY3JpYmVyID0gbmV3IFN1YnNjcmliZXIoKTtcclxuXHJcbiAgaWYob2JzT3JTdWJPckluamVjdG9yIGluc3RhbmNlb2YgU3Vic2NyaXB0aW9uKXtcclxuICAgIHN1YnNjcmliZXIuaGFuZGxlKG9ic09yU3ViT3JJbmplY3Rvcik7XHJcbiAgfSBlbHNlIGlmKG9ic09yU3ViT3JJbmplY3RvciBpbnN0YW5jZW9mIE9ic2VydmFibGUpe1xyXG4gICAgc3Vic2NyaWJlci5oYW5kbGUob2JzT3JTdWJPckluamVjdG9yLnN1YnNjcmliZShhY3Rpb25PckluamVjdG9yIGFzICh0OiBUKSA9PiBhbnkpKTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHN1YnNjcmliZXI/Lm5nT25EZXN0cm95KCkpO1xyXG5cclxuICByZXR1cm4gc3Vic2NyaWJlcjtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0RGVzdHJveVJlZihvYnNPclN1Yk9ySW5qZWN0b3I6IGFueSwgYWN0aW9uT3JJbmplY3Rvcj86IGFueSwgaW5qZWN0b3I/OiBJbmplY3Rvcil7XHJcbiAgY29uc3QgcHJvdmlkZWRJbmplY3RvciA9IG9ic09yU3ViT3JJbmplY3RvciBpbnN0YW5jZW9mIEluamVjdG9yID8gb2JzT3JTdWJPckluamVjdG9yXHJcbiAgICA6IGFjdGlvbk9ySW5qZWN0b3IgaW5zdGFuY2VvZiBJbmplY3RvciA/IGFjdGlvbk9ySW5qZWN0b3JcclxuICAgIDogaW5qZWN0b3I7XHJcblxyXG4gIGlmKCFwcm92aWRlZEluamVjdG9yKXtcclxuICAgIHRyeSB7XHJcbiAgICAgIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dChzdWJzY3JpYmVyKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignY3JlYXRlUmVxdWVzdG9yKCkgbXVzdCBiZSB1c2VkIGluIGFuIEluamVjdGlvbiBDb250ZXh0IG9yIHlvdSBtdXN0IHByb3ZpZGUgYW4gaW5qZWN0b3IgdG8gY3JlYXRlUmVxdWVzdG9yKCknKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGRlc3Ryb3lSZWYgPSBwcm92aWRlZEluamVjdG9yPy5nZXQoRGVzdHJveVJlZikgfHwgaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG5cclxuICByZXR1cm4gZGVzdHJveVJlZjtcclxufSJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { MatTableDataSource } from '@angular/material/table';
2
- import { Subject, combineLatest, map, mergeAll } from 'rxjs';
2
+ import { Subject, combineLatest, distinctUntilChanged, map, mergeAll, switchMap } from 'rxjs';
3
+ import { defaultShareReplay } from '../../rxjs';
3
4
  export class TableBuilderDataSource extends MatTableDataSource {
4
5
  #viewableData$;
5
6
  constructor(dataSrc, state) {
@@ -8,38 +9,28 @@ export class TableBuilderDataSource extends MatTableDataSource {
8
9
  this.state = state;
9
10
  this.#viewableData$ = new Subject();
10
11
  this.viewableData$ = this.#viewableData$.pipe(mergeAll());
12
+ this.#viewType$ = this.state.state$.pipe(map(state => {
13
+ const showAll = state.showAll;
14
+ const isVirtual = state.notPersistedTableSettings.useVirtualScroll === true || state.notPersistedTableSettings.useVirtualScroll?.virtualAsDefault;
15
+ const usePaginator = state.notPersistedTableSettings.usePaginator;
16
+ return (showAll || (isVirtual && !usePaginator)) ? 'virtual' : usePaginator ? 'paginator' : 'all';
17
+ }), distinctUntilChanged(), defaultShareReplay());
18
+ this.#dataSize$ = this.#viewType$.pipe(switchMap(viewType => this.state.state$.pipe(map(s => viewType === 'all' ? ({ start: 0, end: s.dataLen })
19
+ : viewType === 'paginator' ? ({ start: s.virtualEnds.start, end: s.virtualEnds.start + s.pageSize })
20
+ : ({ ...s.virtualEnds }))))).pipe(distinctUntilChanged((a, b) => a.start === b.start && a.end === b.end), defaultShareReplay());
21
+ this.dataToShow$ = combineLatest([this.dataSrc, this.#dataSize$])
22
+ .pipe(map(([data, size]) => data.slice(size.start, size.end)))
23
+ .pipe(defaultShareReplay());
11
24
  }
25
+ #viewType$;
26
+ #dataSize$;
12
27
  connect() {
13
28
  if (!this.subscription) {
14
- let dataSource$ = this.dataSrc;
15
- if (this.state.tableSettings().usePaginator) {
16
- const currentPage$ = this.state.select(s => s.currentPage);
17
- const pageSize$ = this.state.getPageSize;
18
- dataSource$ = combineLatest([
19
- currentPage$,
20
- pageSize$,
21
- dataSource$
22
- ]).pipe(map(([currentPage, pageSize, d]) => {
23
- const start = currentPage * pageSize;
24
- return d.slice(start, start + pageSize);
25
- }));
26
- }
27
- if (this.state.tableSettings().useVirtualScroll) {
28
- const start$ = this.state.select(s => s.virtualStart);
29
- const end$ = this.state.select(s => s.virtualEnd);
30
- dataSource$ = combineLatest([
31
- start$,
32
- end$,
33
- dataSource$
34
- ]).pipe(map(([start, end, data]) => {
35
- return data.slice(start, end);
36
- }));
37
- }
38
- this.subscription = dataSource$.subscribe((data) => {
29
+ this.subscription = this.dataToShow$.subscribe((data) => {
39
30
  this.data = data;
40
31
  });
41
- this.#viewableData$.next(dataSource$);
42
32
  }
33
+ this.#viewableData$.next(this.dataToShow$);
43
34
  return super.connect();
44
35
  }
45
36
  disconnect() {
@@ -50,4 +41,4 @@ export class TableBuilderDataSource extends MatTableDataSource {
50
41
  super.disconnect();
51
42
  }
52
43
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVCdWlsZGVyRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NsYXNzZXMvVGFibGVCdWlsZGVyRGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQWMsT0FBTyxFQUFnQixhQUFhLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2RixNQUFNLE9BQU8sc0JBQTBCLFNBQVEsa0JBQXFCO0lBRWxFLGNBQWMsQ0FBa0M7SUFFaEQsWUFDUyxPQUF3QixFQUN2QixLQUFpQjtRQUV6QixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFISCxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBSjNCLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7UUFDekMsa0JBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBTTVELENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBRS9CLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDM0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO2dCQUN6QyxXQUFXLEdBQUcsYUFBYSxDQUFDO29CQUMxQixZQUFZO29CQUNaLFNBQVM7b0JBQ1QsV0FBVztpQkFDWixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFDLFFBQVEsRUFBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUN2QyxNQUFNLEtBQUssR0FBRyxXQUFXLEdBQUcsUUFBUSxDQUFDO29CQUNyQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxRQUFRLENBQUUsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNOLENBQUM7WUFFRCxJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3ZELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNuRCxXQUFXLEdBQUcsYUFBYSxDQUFDO29CQUMxQixNQUFNO29CQUNOLElBQUk7b0JBQ0osV0FBVztpQkFDWixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBRSxDQUFDLENBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsRUFBRSxFQUFFO29CQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ04sQ0FBQztZQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNqRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDaEMsQ0FBQztRQUNELEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCwgbWFwLCBtZXJnZUFsbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi90YWJsZS1zdG9yZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVCdWlsZGVyRGF0YVNvdXJjZTxUPiBleHRlbmRzIE1hdFRhYmxlRGF0YVNvdXJjZTxUPiB7XHJcbiAgc3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG4gICN2aWV3YWJsZURhdGEkID0gbmV3IFN1YmplY3Q8T2JzZXJ2YWJsZTxUW10+PigpO1xyXG4gIHB1YmxpYyB2aWV3YWJsZURhdGEkID0gdGhpcy4jdmlld2FibGVEYXRhJC5waXBlKG1lcmdlQWxsKCkpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRhdGFTcmM6IE9ic2VydmFibGU8VFtdPixcclxuICAgIHByaXZhdGUgc3RhdGU6IFRhYmxlU3RvcmUsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihbXSk7XHJcbiAgfVxyXG5cclxuICBjb25uZWN0KCkge1xyXG4gICAgaWYgKCF0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICBsZXQgZGF0YVNvdXJjZSQgPSB0aGlzLmRhdGFTcmM7XHJcblxyXG4gICAgICBpZih0aGlzLnN0YXRlLnRhYmxlU2V0dGluZ3MoKS51c2VQYWdpbmF0b3IpIHtcclxuICAgICAgICBjb25zdCBjdXJyZW50UGFnZSQgPSB0aGlzLnN0YXRlLnNlbGVjdCggcyA9PiBzLmN1cnJlbnRQYWdlKTtcclxuICAgICAgICBjb25zdCBwYWdlU2l6ZSQgPSB0aGlzLnN0YXRlLmdldFBhZ2VTaXplO1xyXG4gICAgICAgIGRhdGFTb3VyY2UkID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgICAgICBjdXJyZW50UGFnZSQsXHJcbiAgICAgICAgICBwYWdlU2l6ZSQsXHJcbiAgICAgICAgICBkYXRhU291cmNlJFxyXG4gICAgICAgIF0pLnBpcGUobWFwKChbY3VycmVudFBhZ2UscGFnZVNpemUsZF0pID0+IHtcclxuICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gY3VycmVudFBhZ2UgKiBwYWdlU2l6ZTtcclxuICAgICAgICAgIHJldHVybiBkLnNsaWNlKHN0YXJ0LCBzdGFydCArIHBhZ2VTaXplICk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZih0aGlzLnN0YXRlLnRhYmxlU2V0dGluZ3MoKS51c2VWaXJ0dWFsU2Nyb2xsKSB7XHJcbiAgICAgICAgY29uc3Qgc3RhcnQkID0gdGhpcy5zdGF0ZS5zZWxlY3QoIHMgPT4gcy52aXJ0dWFsU3RhcnQpO1xyXG4gICAgICAgIGNvbnN0IGVuZCQgPSB0aGlzLnN0YXRlLnNlbGVjdCggcyA9PiBzLnZpcnR1YWxFbmQpO1xyXG4gICAgICAgIGRhdGFTb3VyY2UkID0gY29tYmluZUxhdGVzdChbXHJcbiAgICAgICAgICBzdGFydCQsXHJcbiAgICAgICAgICBlbmQkLFxyXG4gICAgICAgICAgZGF0YVNvdXJjZSRcclxuICAgICAgICBdKS5waXBlKG1hcCggKFtzdGFydCxlbmQsZGF0YV0pID0+IHtcclxuICAgICAgICAgIHJldHVybiBkYXRhLnNsaWNlKHN0YXJ0LGVuZCk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGRhdGFTb3VyY2UkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy4jdmlld2FibGVEYXRhJC5uZXh0KGRhdGFTb3VyY2UkKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdXBlci5jb25uZWN0KCk7XHJcbiAgfVxyXG4gIGRpc2Nvbm5lY3QoKSB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBzdXBlci5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVCdWlsZGVyRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NsYXNzZXMvVGFibGVCdWlsZGVyRGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQWMsT0FBTyxFQUFnQixhQUFhLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQU8sTUFBTSxNQUFNLENBQUM7QUFHN0gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWhELE1BQU0sT0FBTyxzQkFBMEIsU0FBUSxrQkFBcUI7SUFFbEUsY0FBYyxDQUFrQztJQUVoRCxZQUNTLE9BQXdCLEVBQ3ZCLEtBQWlCO1FBRXpCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUhILFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3ZCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFKM0IsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQUN6QyxrQkFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFRNUQsZUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM5QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxJQUFLLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxnQkFBeUMsRUFBRSxnQkFBZ0IsQ0FBQztZQUM1SyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDO1lBQ2xFLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDcEcsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFFbEQsZUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzdCLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkQsQ0FBQyxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUN6QixDQUFDLENBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFFckcsZ0JBQVcsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUM3RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBbkI5QixDQUFDO0lBRUQsVUFBVSxDQUt3QztJQUVsRCxVQUFVLENBTTJGO0lBTXJHLE9BQU87UUFDTCxJQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBtZXJnZUFsbCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4vdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBWaXJ0dWFsU2Nyb2xsT3B0aW9ucyB9IGZyb20gJy4vdGFibGUtYnVpbGRlci1nZW5lcmFsLXNldHRpbmdzJztcclxuaW1wb3J0IHsgZGVmYXVsdFNoYXJlUmVwbGF5IH0gZnJvbSAnLi4vLi4vcnhqcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVCdWlsZGVyRGF0YVNvdXJjZTxUPiBleHRlbmRzIE1hdFRhYmxlRGF0YVNvdXJjZTxUPiB7XHJcbiAgc3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG4gICN2aWV3YWJsZURhdGEkID0gbmV3IFN1YmplY3Q8T2JzZXJ2YWJsZTxUW10+PigpO1xyXG4gIHB1YmxpYyB2aWV3YWJsZURhdGEkID0gdGhpcy4jdmlld2FibGVEYXRhJC5waXBlKG1lcmdlQWxsKCkpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRhdGFTcmM6IE9ic2VydmFibGU8VFtdPixcclxuICAgIHByaXZhdGUgc3RhdGU6IFRhYmxlU3RvcmUsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihbXSk7XHJcbiAgfVxyXG5cclxuICAjdmlld1R5cGUkID0gdGhpcy5zdGF0ZS5zdGF0ZSQucGlwZShtYXAoc3RhdGUgPT4ge1xyXG4gICAgY29uc3Qgc2hvd0FsbCA9IHN0YXRlLnNob3dBbGw7XHJcbiAgICBjb25zdCBpc1ZpcnR1YWwgPSBzdGF0ZS5ub3RQZXJzaXN0ZWRUYWJsZVNldHRpbmdzLnVzZVZpcnR1YWxTY3JvbGwgPT09IHRydWUgfHwgKHN0YXRlLm5vdFBlcnNpc3RlZFRhYmxlU2V0dGluZ3MudXNlVmlydHVhbFNjcm9sbCBhcyBWaXJ0dWFsU2Nyb2xsT3B0aW9ucyk/LnZpcnR1YWxBc0RlZmF1bHQ7XHJcbiAgICBjb25zdCB1c2VQYWdpbmF0b3IgPSBzdGF0ZS5ub3RQZXJzaXN0ZWRUYWJsZVNldHRpbmdzLnVzZVBhZ2luYXRvcjtcclxuICAgIHJldHVybiAoc2hvd0FsbCB8fCAoaXNWaXJ0dWFsICYmICF1c2VQYWdpbmF0b3IpKSA/ICd2aXJ0dWFsJyA6IHVzZVBhZ2luYXRvciA/ICdwYWdpbmF0b3InIDogJ2FsbCc7XHJcbiAgfSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIGRlZmF1bHRTaGFyZVJlcGxheSgpKTtcclxuXHJcbiAgI2RhdGFTaXplJCA9IHRoaXMuI3ZpZXdUeXBlJC5waXBlKHN3aXRjaE1hcCh2aWV3VHlwZSA9PiBcclxuICAgIHRoaXMuc3RhdGUuc3RhdGUkLnBpcGUobWFwKHMgPT4gXHJcbiAgICAgIHZpZXdUeXBlID09PSAnYWxsJyA/ICh7IHN0YXJ0OiAwLCBlbmQ6IHMuZGF0YUxlbiB9KVxyXG4gICAgICA6IHZpZXdUeXBlID09PSAncGFnaW5hdG9yJyA/ICh7IHN0YXJ0OiBzLnZpcnR1YWxFbmRzLnN0YXJ0LCBlbmQ6IHMudmlydHVhbEVuZHMuc3RhcnQgKyBzLnBhZ2VTaXplIH0pXHJcbiAgICAgIDogKHsgLi4ucy52aXJ0dWFsRW5kcyB9KVxyXG4gICAgKSlcclxuICApKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLGIpID0+IGEuc3RhcnQgPT09IGIuc3RhcnQgJiYgYS5lbmQgPT09IGIuZW5kKSwgZGVmYXVsdFNoYXJlUmVwbGF5KCkpO1xyXG4gIFxyXG4gIGRhdGFUb1Nob3ckID0gY29tYmluZUxhdGVzdChbdGhpcy5kYXRhU3JjLCB0aGlzLiNkYXRhU2l6ZSRdKVxyXG4gICAgLnBpcGUobWFwKChbZGF0YSwgc2l6ZV0pID0+IGRhdGEuc2xpY2Uoc2l6ZS5zdGFydCwgc2l6ZS5lbmQpKSlcclxuICAgIC5waXBlKGRlZmF1bHRTaGFyZVJlcGxheSgpKTtcclxuXHJcbiAgY29ubmVjdCgpIHtcclxuICAgIGlmKCF0aGlzLnN1YnNjcmlwdGlvbil7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhVG9TaG93JC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLiN2aWV3YWJsZURhdGEkLm5leHQodGhpcy5kYXRhVG9TaG93JCk7XHJcbiAgICByZXR1cm4gc3VwZXIuY29ubmVjdCgpO1xyXG4gIH1cclxuICBkaXNjb25uZWN0KCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgc3VwZXIuZGlzY29ubmVjdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -9,9 +9,10 @@ class KeysToDelete {
9
9
  this.currentPage = null;
10
10
  this.virtualScrollOffset = null;
11
11
  this.dataLen = null;
12
- this.virtualStart = null;
12
+ this.virtualEnds = null;
13
13
  this.virtualEnd = null;
14
14
  this.props = null;
15
+ this.showAll = null;
15
16
  }
16
17
  }
17
18
  export const keysToDelete = Object.keys(new KeysToDelete());
@@ -37,8 +38,10 @@ export const defaultTableState = {
37
38
  currentPage: 0,
38
39
  virtualScrollOffset: 0,
39
40
  dataLen: 0,
40
- virtualStart: 0,
41
- virtualEnd: 20,
42
- props: {}
41
+ virtualEnds: {
42
+ start: 0, end: 20
43
+ },
44
+ props: {},
45
+ showAll: false,
43
46
  };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVTdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NsYXNzZXMvVGFibGVTdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQXVDckcsTUFBTSxZQUFZO0lBQWxCO1FBQ0Usd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzNCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsOEJBQXlCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQix3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDM0IsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsVUFBSyxHQUFHLElBQUksQ0FBQztJQUNmLENBQUM7Q0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQztBQUU1RCxNQUFNLENBQU4sSUFBWSxtQkFLWDtBQUxELFdBQVksbUJBQW1CO0lBQzdCLG1FQUFPLENBQUE7SUFDUCxpRkFBYyxDQUFBO0lBQ2QsbUZBQWUsQ0FBQTtJQUNmLCtEQUFLLENBQUE7QUFDUCxDQUFDLEVBTFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUs5QjtBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFlO0lBQzNDLG1CQUFtQixFQUFFLG1CQUFtQixDQUFDLE9BQU87SUFDaEQsUUFBUSxFQUFFLEVBQUU7SUFDWixPQUFPLEVBQUUsRUFBRTtJQUNYLFVBQVUsRUFBRSxFQUFFO0lBQ2QsTUFBTSxFQUFFLEVBQUU7SUFDVixXQUFXLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQztJQUMvQyxzQkFBc0IsRUFBRyxJQUFJLHNCQUFzQixFQUFFO0lBQ3JELHlCQUF5QixFQUFHLElBQUkseUJBQXlCLEVBQUU7SUFDM0QsUUFBUSxFQUFFLEVBQUU7SUFDWixRQUFRLEVBQUUsRUFBRTtJQUNaLE9BQU8sRUFBRSxFQUFFO0lBQ1gsV0FBVyxFQUFFLENBQUM7SUFDZCxtQkFBbUIsRUFBRSxDQUFDO0lBQ3RCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsWUFBWSxFQUFFLENBQUM7SUFDZixVQUFVLEVBQUUsRUFBRTtJQUNkLEtBQUssRUFBRSxFQUFnQjtDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tRmlsdGVyLCBGaWx0ZXJJbmZvIH0gZnJvbSAnLi9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RpY3Rpb25hcnknO1xyXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1ldGFEYXRhLCBUYXJnZXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5pbXBvcnQgeyBOb3RQZXJzaXN0ZWRUYWJsZVNldHRpbmdzLCBQZXJzaXN0ZWRUYWJsZVNldHRpbmdzIH0gZnJvbSAnLi90YWJsZS1idWlsZGVyLWdlbmVyYWwtc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBMaW5rSW5mbyB9IGZyb20gJy4uL3NlcnZpY2VzL2xpbmstY3JlYXRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGFibGVQcm9wcyB9IGZyb20gJy4uL2NvbXBvbmVudHMvdGFibGUtY29udGFpbmVyL3RhYmxlUHJvcHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cCB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgZ3JvdXBOYW1lOiBzdHJpbmc7XHJcbiAgY2hpbGRyZW46IGFueVtdO1xyXG4gIGlzR3JvdXBIZWFkZXI6IHRydWU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlZERhdGEge1xyXG4gIGtleTogc3RyaW5nLFxyXG4gIGV4cGFuZGVkSGVhZGVyczogc3RyaW5nW11cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQZXJzaXN0ZWRUYWJsZVN0YXRlIHtcclxuICBoaWRkZW5LZXlzPzogc3RyaW5nIFtdO1xyXG4gIGZpbHRlcnM6IERpY3Rpb25hcnk8RmlsdGVySW5mbyB8IEN1c3RvbUZpbHRlcj47XHJcbiAgc29ydGVkIDogU29ydCBbXTtcclxuICB1c2VyRGVmaW5lZCA6IHsgb3JkZXI6RGljdGlvbmFyeTxudW1iZXI+LCB3aWR0aHM6RGljdGlvbmFyeTxudW1iZXI+LCB0YWJsZTp7IHdpZHRoPzpudW1iZXIgfSwgcGFnZVNpemU/OiBudW1iZXIgfTtcclxuICBwZXJzaXN0ZWRUYWJsZVNldHRpbmdzIDogUGVyc2lzdGVkVGFibGVTZXR0aW5ncztcclxuICBncm91cEJ5OiBHcm91cGVkRGF0YVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlU3RhdGUgZXh0ZW5kcyBSZXF1aXJlZDxQZXJzaXN0ZWRUYWJsZVN0YXRlPiB7XHJcbiAgaW5pdGlhbGl6YXRpb25TdGF0ZTogSW5pdGlhbGl6YXRpb25TdGF0ZTtcclxuICBtZXRhRGF0YTogRGljdGlvbmFyeTxNZXRhRGF0YT47XHJcbiAgbm90UGVyc2lzdGVkVGFibGVTZXR0aW5ncyA6IE5vdFBlcnNpc3RlZFRhYmxlU2V0dGluZ3M7XHJcbiAgcGFnZVNpemU6IG51bWJlcjtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyO1xyXG4gIHZpcnR1YWxTY3JvbGxPZmZzZXQ6IG51bWJlcjtcclxuICB2aXJ0dWFsU3RhcnQ6IG51bWJlcjtcclxuICB2aXJ0dWFsRW5kOiBudW1iZXI7XHJcbiAgZGF0YUxlbjogbnVtYmVyO1xyXG4gIGxpbmtNYXBzOiBEaWN0aW9uYXJ5PExpbmtJbmZvPjtcclxuICBwcm9wczogVGFibGVQcm9wc1xyXG59XHJcbnR5cGUgUmVxdWlyZU51bGw8VD4gPSB7IFtLIGluIGtleW9mIFRdOiBudWxsIH07XHJcbmNsYXNzIEtleXNUb0RlbGV0ZSBpbXBsZW1lbnRzICBSZXF1aXJlTnVsbDxPbWl0PFRhYmxlU3RhdGUsIGtleW9mIFBlcnNpc3RlZFRhYmxlU3RhdGU+PiB7XHJcbiAgaW5pdGlhbGl6YXRpb25TdGF0ZSA9IG51bGw7XHJcbiAgbWV0YURhdGEgPSBudWxsO1xyXG4gIG5vdFBlcnNpc3RlZFRhYmxlU2V0dGluZ3MgPSBudWxsO1xyXG4gIGxpbmtNYXBzID0gbnVsbDtcclxuICBwYWdlU2l6ZSA9IG51bGw7XHJcbiAgY3VycmVudFBhZ2UgPSBudWxsO1xyXG4gIHZpcnR1YWxTY3JvbGxPZmZzZXQgPSBudWxsO1xyXG4gIGRhdGFMZW4gPSBudWxsO1xyXG4gIHZpcnR1YWxTdGFydCA9IG51bGw7XHJcbiAgdmlydHVhbEVuZCA9IG51bGw7XHJcbiAgcHJvcHMgPSBudWxsO1xyXG59XHJcbmV4cG9ydCBjb25zdCBrZXlzVG9EZWxldGUgPSBPYmplY3Qua2V5cyhuZXcgS2V5c1RvRGVsZXRlKCkpO1xyXG5cclxuZXhwb3J0IGVudW0gSW5pdGlhbGl6YXRpb25TdGF0ZSB7XHJcbiAgQ3JlYXRlZCxcclxuICBNZXRhRGF0YUxvYWRlZCxcclxuICBMb2FkZWRGcm9tU3RvcmUsXHJcbiAgUmVhZHksXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBkZWZhdWx0VGFibGVTdGF0ZTogVGFibGVTdGF0ZSA9IHtcclxuICBpbml0aWFsaXphdGlvblN0YXRlOiBJbml0aWFsaXphdGlvblN0YXRlLkNyZWF0ZWQsXHJcbiAgbWV0YURhdGE6IHt9LFxyXG4gIGZpbHRlcnM6IHt9LFxyXG4gIGhpZGRlbktleXM6IFtdLFxyXG4gIHNvcnRlZDogW10sXHJcbiAgdXNlckRlZmluZWQ6eyBvcmRlcjoge30sIHdpZHRoczoge30sIHRhYmxlOiB7fX0sXHJcbiAgcGVyc2lzdGVkVGFibGVTZXR0aW5ncyA6IG5ldyBQZXJzaXN0ZWRUYWJsZVNldHRpbmdzKCksXHJcbiAgbm90UGVyc2lzdGVkVGFibGVTZXR0aW5ncyA6IG5ldyBOb3RQZXJzaXN0ZWRUYWJsZVNldHRpbmdzKCksXHJcbiAgcGFnZVNpemU6IDEwLFxyXG4gIGxpbmtNYXBzOiB7fSxcclxuICBncm91cEJ5OiBbXSxcclxuICBjdXJyZW50UGFnZTogMCxcclxuICB2aXJ0dWFsU2Nyb2xsT2Zmc2V0OiAwLFxyXG4gIGRhdGFMZW46IDAsXHJcbiAgdmlydHVhbFN0YXJ0OiAwLFxyXG4gIHZpcnR1YWxFbmQ6IDIwLFxyXG4gIHByb3BzOiB7fSBhcyBUYWJsZVByb3BzXHJcbn07XHJcbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVTdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NsYXNzZXMvVGFibGVTdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQXVDckcsTUFBTSxZQUFZO0lBQWxCO1FBQ0Usd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzNCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsOEJBQXlCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQix3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDM0IsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUNiLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFDakIsQ0FBQztDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBRTVELE1BQU0sQ0FBTixJQUFZLG1CQUtYO0FBTEQsV0FBWSxtQkFBbUI7SUFDN0IsbUVBQU8sQ0FBQTtJQUNQLGlGQUFjLENBQUE7SUFDZCxtRkFBZSxDQUFBO0lBQ2YsK0RBQUssQ0FBQTtBQUNQLENBQUMsRUFMVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSzlCO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQWU7SUFDM0MsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUMsT0FBTztJQUNoRCxRQUFRLEVBQUUsRUFBRTtJQUNaLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFQUFFLEVBQUU7SUFDZCxNQUFNLEVBQUUsRUFBRTtJQUNWLFdBQVcsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDO0lBQy9DLHNCQUFzQixFQUFHLElBQUksc0JBQXNCLEVBQUU7SUFDckQseUJBQXlCLEVBQUcsSUFBSSx5QkFBeUIsRUFBRTtJQUMzRCxRQUFRLEVBQUUsRUFBRTtJQUNaLFFBQVEsRUFBRSxFQUFFO0lBQ1osT0FBTyxFQUFFLEVBQUU7SUFDWCxXQUFXLEVBQUUsQ0FBQztJQUNkLG1CQUFtQixFQUFFLENBQUM7SUFDdEIsT0FBTyxFQUFFLENBQUM7SUFDVixXQUFXLEVBQUU7UUFDWCxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFO0tBQ2xCO0lBQ0QsS0FBSyxFQUFFLEVBQWdCO0lBQ3ZCLE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbUZpbHRlciwgRmlsdGVySW5mbyB9IGZyb20gJy4vZmlsdGVyLWluZm8nO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kaWN0aW9uYXJ5JztcclxuaW1wb3J0IHsgU29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNZXRhRGF0YSwgVGFyZ2V0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcclxuaW1wb3J0IHsgTm90UGVyc2lzdGVkVGFibGVTZXR0aW5ncywgUGVyc2lzdGVkVGFibGVTZXR0aW5ncyB9IGZyb20gJy4vdGFibGUtYnVpbGRlci1nZW5lcmFsLXNldHRpbmdzJztcclxuaW1wb3J0IHsgTGlua0luZm8gfSBmcm9tICcuLi9zZXJ2aWNlcy9saW5rLWNyZWF0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IFRhYmxlUHJvcHMgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlLWNvbnRhaW5lci90YWJsZVByb3BzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXAge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIGdyb3VwTmFtZTogc3RyaW5nO1xyXG4gIGNoaWxkcmVuOiBhbnlbXTtcclxuICBpc0dyb3VwSGVhZGVyOiB0cnVlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwZWREYXRhIHtcclxuICBrZXk6IHN0cmluZyxcclxuICBleHBhbmRlZEhlYWRlcnM6IHN0cmluZ1tdXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVkVGFibGVTdGF0ZSB7XHJcbiAgaGlkZGVuS2V5cz86IHN0cmluZyBbXTtcclxuICBmaWx0ZXJzOiBEaWN0aW9uYXJ5PEZpbHRlckluZm8gfCBDdXN0b21GaWx0ZXI+O1xyXG4gIHNvcnRlZCA6IFNvcnQgW107XHJcbiAgdXNlckRlZmluZWQgOiB7IG9yZGVyOkRpY3Rpb25hcnk8bnVtYmVyPiwgd2lkdGhzOkRpY3Rpb25hcnk8bnVtYmVyPiwgdGFibGU6eyB3aWR0aD86bnVtYmVyIH0sIHBhZ2VTaXplPzogbnVtYmVyIH07XHJcbiAgcGVyc2lzdGVkVGFibGVTZXR0aW5ncyA6IFBlcnNpc3RlZFRhYmxlU2V0dGluZ3M7XHJcbiAgZ3JvdXBCeTogR3JvdXBlZERhdGFbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVN0YXRlIGV4dGVuZHMgUmVxdWlyZWQ8UGVyc2lzdGVkVGFibGVTdGF0ZT4ge1xyXG4gIGluaXRpYWxpemF0aW9uU3RhdGU6IEluaXRpYWxpemF0aW9uU3RhdGU7XHJcbiAgbWV0YURhdGE6IERpY3Rpb25hcnk8TWV0YURhdGE+O1xyXG4gIG5vdFBlcnNpc3RlZFRhYmxlU2V0dGluZ3MgOiBOb3RQZXJzaXN0ZWRUYWJsZVNldHRpbmdzO1xyXG4gIHBhZ2VTaXplOiBudW1iZXI7XHJcbiAgY3VycmVudFBhZ2U6IG51bWJlcjtcclxuICB2aXJ0dWFsU2Nyb2xsT2Zmc2V0OiBudW1iZXI7XHJcbiAgdmlydHVhbEVuZHM6IHtzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcn07XHJcbiAgZGF0YUxlbjogbnVtYmVyO1xyXG4gIGxpbmtNYXBzOiBEaWN0aW9uYXJ5PExpbmtJbmZvPjtcclxuICBwcm9wczogVGFibGVQcm9wcztcclxuICBzaG93QWxsOiBib29sZWFuO1xyXG59XHJcbnR5cGUgUmVxdWlyZU51bGw8VD4gPSB7IFtLIGluIGtleW9mIFRdOiBudWxsIH07XHJcbmNsYXNzIEtleXNUb0RlbGV0ZSBpbXBsZW1lbnRzICBSZXF1aXJlTnVsbDxPbWl0PFRhYmxlU3RhdGUsIGtleW9mIFBlcnNpc3RlZFRhYmxlU3RhdGU+PiB7XHJcbiAgaW5pdGlhbGl6YXRpb25TdGF0ZSA9IG51bGw7XHJcbiAgbWV0YURhdGEgPSBudWxsO1xyXG4gIG5vdFBlcnNpc3RlZFRhYmxlU2V0dGluZ3MgPSBudWxsO1xyXG4gIGxpbmtNYXBzID0gbnVsbDtcclxuICBwYWdlU2l6ZSA9IG51bGw7XHJcbiAgY3VycmVudFBhZ2UgPSBudWxsO1xyXG4gIHZpcnR1YWxTY3JvbGxPZmZzZXQgPSBudWxsO1xyXG4gIGRhdGFMZW4gPSBudWxsO1xyXG4gIHZpcnR1YWxFbmRzID0gbnVsbDtcclxuICB2aXJ0dWFsRW5kID0gbnVsbDtcclxuICBwcm9wcyA9IG51bGw7XHJcbiAgc2hvd0FsbCA9IG51bGw7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGtleXNUb0RlbGV0ZSA9IE9iamVjdC5rZXlzKG5ldyBLZXlzVG9EZWxldGUoKSk7XHJcblxyXG5leHBvcnQgZW51bSBJbml0aWFsaXphdGlvblN0YXRlIHtcclxuICBDcmVhdGVkLFxyXG4gIE1ldGFEYXRhTG9hZGVkLFxyXG4gIExvYWRlZEZyb21TdG9yZSxcclxuICBSZWFkeSxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRUYWJsZVN0YXRlOiBUYWJsZVN0YXRlID0ge1xyXG4gIGluaXRpYWxpemF0aW9uU3RhdGU6IEluaXRpYWxpemF0aW9uU3RhdGUuQ3JlYXRlZCxcclxuICBtZXRhRGF0YToge30sXHJcbiAgZmlsdGVyczoge30sXHJcbiAgaGlkZGVuS2V5czogW10sXHJcbiAgc29ydGVkOiBbXSxcclxuICB1c2VyRGVmaW5lZDp7IG9yZGVyOiB7fSwgd2lkdGhzOiB7fSwgdGFibGU6IHt9fSxcclxuICBwZXJzaXN0ZWRUYWJsZVNldHRpbmdzIDogbmV3IFBlcnNpc3RlZFRhYmxlU2V0dGluZ3MoKSxcclxuICBub3RQZXJzaXN0ZWRUYWJsZVNldHRpbmdzIDogbmV3IE5vdFBlcnNpc3RlZFRhYmxlU2V0dGluZ3MoKSxcclxuICBwYWdlU2l6ZTogMTAsXHJcbiAgbGlua01hcHM6IHt9LFxyXG4gIGdyb3VwQnk6IFtdLFxyXG4gIGN1cnJlbnRQYWdlOiAwLFxyXG4gIHZpcnR1YWxTY3JvbGxPZmZzZXQ6IDAsXHJcbiAgZGF0YUxlbjogMCxcclxuICB2aXJ0dWFsRW5kczoge1xyXG4gICAgc3RhcnQ6IDAsIGVuZDogMjBcclxuICB9LFxyXG4gIHByb3BzOiB7fSBhcyBUYWJsZVByb3BzLFxyXG4gIHNob3dBbGw6IGZhbHNlLFxyXG59O1xyXG4iXX0=
@@ -10,7 +10,12 @@ export class GeneralTableSettings {
10
10
  merge(this.footerSettings, settings.footerSettings);
11
11
  merge(this.columnHeaderSettings, settings.columnHeaderSettings);
12
12
  merge(this.tableSettings, settings.tableSettings);
13
+ if (settings.tableSettings?.useVirtualScroll) {
14
+ const currVirt = settings.tableSettings.useVirtualScroll === true ? new VirtualScrollOptions() : settings.tableSettings.useVirtualScroll;
15
+ this.tableSettings.useVirtualScroll = { ...new VirtualScrollOptions(), ...currVirt };
16
+ }
13
17
  }
18
+ this.injector = settings?.injector;
14
19
  }
15
20
  }
16
21
  export class TableWrapperHeaderSettings {
@@ -22,6 +27,7 @@ export class TableWrapperHeaderSettings {
22
27
  this.hideSort = false;
23
28
  this.collapse = false;
24
29
  this.showTitleWhenCollapsed = true;
30
+ this.headerHeight = undefined;
25
31
  }
26
32
  }
27
33
  export class TableWrapperFooterSettings {
@@ -39,6 +45,8 @@ export class TableSettings {
39
45
  constructor() {
40
46
  this.usePaginator = true;
41
47
  this.useVirtualScroll = null;
48
+ this.includeAllInPaginatorOptions = false;
49
+ this.rowHeight = undefined;
42
50
  }
43
51
  }
44
52
  export class PersistedTableSettings {
@@ -63,6 +71,8 @@ export class NotPersistedTableSettings {
63
71
  this.hideColumnHeader = true;
64
72
  this.usePaginator = true;
65
73
  this.useVirtualScroll = null;
74
+ this.includeAllInPaginatorOptions = false;
75
+ this.headerHeight = undefined;
66
76
  if (tableSettings) {
67
77
  this.hideExport = tableSettings.headerSettings.hideExport;
68
78
  this.hideColumnSettings = tableSettings.headerSettings.hideColumnSettings;
@@ -74,13 +84,24 @@ export class NotPersistedTableSettings {
74
84
  this.hideColumnHeader = tableSettings.columnHeaderSettings.noHeader;
75
85
  this.usePaginator = tableSettings.tableSettings.usePaginator;
76
86
  this.useVirtualScroll = tableSettings.tableSettings.useVirtualScroll;
87
+ this.includeAllInPaginatorOptions = tableSettings.tableSettings.includeAllInPaginatorOptions;
88
+ this.rowHeight = tableSettings.tableSettings.rowHeight;
89
+ this.headerHeight = tableSettings.headerSettings.headerHeight;
77
90
  }
78
91
  }
79
92
  }
80
93
  export class VirtualScrollOptions {
81
94
  constructor() {
82
- this.itemHeight = 48;
83
- this.headerOffset = 56;
95
+ this.virtualAsDefault = true;
96
+ this.rowHeight = 48;
97
+ this.enforceRowHeight = true;
98
+ this.headerHeight = 56;
99
+ this.enforceHeaderHeight = true;
100
+ this.amountOfVisibleItems = 10;
101
+ /**
102
+ * This will win over `amountOfVisibleItems`
103
+ */
104
+ this.maxViewPortHeight = undefined;
84
105
  }
85
106
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYnVpbGRlci1nZW5lcmFsLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY2xhc3Nlcy90YWJsZS1idWlsZGVyLWdlbmVyYWwtc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUvQixNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQVksUUFBZ0M7UUFRNUMsbUJBQWMsR0FBRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDbEQsbUJBQWMsR0FBRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDbEQseUJBQW9CLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO1FBQ3ZELGtCQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQVZsQyxJQUFHLFFBQVEsRUFBQyxDQUFDO1lBQ1gsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3BELEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNwRCxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2hFLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQztDQUtGO0FBU0QsTUFBTSxPQUFPLDBCQUEwQjtJQUF2QztRQUNFLGVBQVUsR0FBRyxLQUFLLENBQUE7UUFDbEIsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUNsQix1QkFBa0IsR0FBRyxLQUFLLENBQUE7UUFDMUIsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUNsQixhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsMkJBQXNCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTywwQkFBMEI7SUFBdkM7UUFDRSxhQUFRLEdBQUcsS0FBSyxDQUFBO0lBQ2xCLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyx5QkFBeUI7SUFBdEM7UUFDRSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFDbkIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLGFBQWE7SUFBMUI7UUFDRSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixxQkFBZ0IsR0FBdUMsSUFBSSxDQUFDO0lBQzlELENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBWSxhQUE2RDtRQU16RSxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQU5yQixJQUFJLGFBQWEsRUFBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxjQUFjLEdBQUksYUFBc0MsQ0FBQyxjQUFjLEVBQUUsUUFBUSxJQUFLLGFBQXdDLENBQUMsY0FBYyxDQUFDO1lBQ25KLElBQUksQ0FBQyxjQUFjLEdBQUksYUFBc0MsQ0FBQyxjQUFjLEVBQUUsUUFBUSxJQUFLLGFBQXdDLENBQUMsY0FBYyxDQUFDO1FBQ3JKLENBQUM7SUFDSCxDQUFDO0NBR0Y7QUFFRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQVksYUFBb0M7UUFjaEQsZUFBVSxHQUFHLElBQUksQ0FBQTtRQUNqQixlQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLHVCQUFrQixHQUFHLElBQUksQ0FBQTtRQUN6QixhQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ2YsaUNBQTRCLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxJQUFJLENBQUE7UUFDakIsNEJBQXVCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixxQkFBZ0IsR0FBdUMsSUFBSSxDQUFDO1FBdEIxRCxJQUFHLGFBQWEsRUFBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7WUFDMUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUM7WUFDMUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO1lBQ3RELElBQUksQ0FBQyw0QkFBNEIsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDO1lBQ3hGLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7WUFDMUQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUM7WUFDNUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7WUFDcEUsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztZQUM3RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN2RSxDQUFDO0lBQ0gsQ0FBQztDQVdGO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUNFLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsaUJBQVksR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWVyZ2UgfSBmcm9tIFwibG9kYXNoXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgR2VuZXJhbFRhYmxlU2V0dGluZ3Mge1xyXG4gIGNvbnN0cnVjdG9yKHNldHRpbmdzPyA6IFRhYmxlQnVpbGRlclNldHRpbmdzKXtcclxuICAgIGlmKHNldHRpbmdzKXtcclxuICAgICAgbWVyZ2UodGhpcy5oZWFkZXJTZXR0aW5ncywgc2V0dGluZ3MuaGVhZGVyU2V0dGluZ3MpO1xyXG4gICAgICBtZXJnZSh0aGlzLmZvb3RlclNldHRpbmdzLCBzZXR0aW5ncy5mb290ZXJTZXR0aW5ncyk7XHJcbiAgICAgIG1lcmdlKHRoaXMuY29sdW1uSGVhZGVyU2V0dGluZ3MsIHNldHRpbmdzLmNvbHVtbkhlYWRlclNldHRpbmdzKTtcclxuICAgICAgbWVyZ2UodGhpcy50YWJsZVNldHRpbmdzLCBzZXR0aW5ncy50YWJsZVNldHRpbmdzKTtcclxuICAgIH1cclxuICB9XHJcbiAgaGVhZGVyU2V0dGluZ3MgPSBuZXcgVGFibGVXcmFwcGVySGVhZGVyU2V0dGluZ3MoKTtcclxuICBmb290ZXJTZXR0aW5ncyA9IG5ldyBUYWJsZVdyYXBwZXJGb290ZXJTZXR0aW5ncygpO1xyXG4gIGNvbHVtbkhlYWRlclNldHRpbmdzID0gbmV3IFRhYmxlQ29sdW1uSGVhZGVyU2V0dGluZ3MoKTtcclxuICB0YWJsZVNldHRpbmdzID0gbmV3IFRhYmxlU2V0dGluZ3MoKTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUJ1aWxkZXJTZXR0aW5ncyB7XHJcbiAgaGVhZGVyU2V0dGluZ3M/IDogUGFydGlhbDxUYWJsZVdyYXBwZXJIZWFkZXJTZXR0aW5ncz47XHJcbiAgZm9vdGVyU2V0dGluZ3M/IDogUGFydGlhbDxUYWJsZVdyYXBwZXJGb290ZXJTZXR0aW5ncz47XHJcbiAgY29sdW1uSGVhZGVyU2V0dGluZ3M/IDogUGFydGlhbDxUYWJsZUNvbHVtbkhlYWRlclNldHRpbmdzPjtcclxuICB0YWJsZVNldHRpbmdzPyA6IFBhcnRpYWw8VGFibGVTZXR0aW5ncz47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVdyYXBwZXJIZWFkZXJTZXR0aW5ncyB7XHJcbiAgaGlkZUV4cG9ydCA9IGZhbHNlXHJcbiAgaGlkZUZpbHRlciA9IGZhbHNlXHJcbiAgaGlkZUNvbHVtblNldHRpbmdzID0gZmFsc2VcclxuICBoaWRlSGVhZGVyID0gZmFsc2VcclxuICBoaWRlU29ydCA9IGZhbHNlXHJcbiAgY29sbGFwc2UgPSBmYWxzZVxyXG4gIHNob3dUaXRsZVdoZW5Db2xsYXBzZWQgPSB0cnVlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVXcmFwcGVyRm9vdGVyU2V0dGluZ3Mge1xyXG4gIGNvbGxhcHNlID0gZmFsc2VcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uSGVhZGVyU2V0dGluZ3Mge1xyXG4gIG5vRmlsdGVycyA9IGZhbHNlO1xyXG4gIG5vSGVhZGVyID0gZmFsc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVNldHRpbmdzIHtcclxuICB1c2VQYWdpbmF0b3IgPSB0cnVlO1xyXG4gIHVzZVZpcnR1YWxTY3JvbGw6IHRydWUgfCBWaXJ0dWFsU2Nyb2xsT3B0aW9ucyB8IG51bGwgPSBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUGVyc2lzdGVkVGFibGVTZXR0aW5ncyB7XHJcbiAgY29uc3RydWN0b3IodGFibGVTZXR0aW5ncz8gOkdlbmVyYWxUYWJsZVNldHRpbmdzIHwgUGVyc2lzdGVkVGFibGVTZXR0aW5ncyl7XHJcbiAgICBpZiAodGFibGVTZXR0aW5ncyl7XHJcbiAgICAgIHRoaXMuY29sbGFwc2VIZWFkZXIgPSAodGFibGVTZXR0aW5ncyBhcyBHZW5lcmFsVGFibGVTZXR0aW5ncykuaGVhZGVyU2V0dGluZ3M/LmNvbGxhcHNlID8/ICh0YWJsZVNldHRpbmdzIGFzIFBlcnNpc3RlZFRhYmxlU2V0dGluZ3MpLmNvbGxhcHNlSGVhZGVyO1xyXG4gICAgICB0aGlzLmNvbGxhcHNlRm9vdGVyID0gKHRhYmxlU2V0dGluZ3MgYXMgR2VuZXJhbFRhYmxlU2V0dGluZ3MpLmZvb3RlclNldHRpbmdzPy5jb2xsYXBzZSA/PyAodGFibGVTZXR0aW5ncyBhcyBQZXJzaXN0ZWRUYWJsZVNldHRpbmdzKS5jb2xsYXBzZUZvb3RlcjtcclxuICAgIH1cclxuICB9XHJcbiAgY29sbGFwc2VIZWFkZXIgPSBmYWxzZTtcclxuICBjb2xsYXBzZUZvb3RlciA9IGZhbHNlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTm90UGVyc2lzdGVkVGFibGVTZXR0aW5ncyB7XHJcbiAgY29uc3RydWN0b3IodGFibGVTZXR0aW5ncz8gOkdlbmVyYWxUYWJsZVNldHRpbmdzKXtcclxuICAgIGlmKHRhYmxlU2V0dGluZ3Mpe1xyXG4gICAgICB0aGlzLmhpZGVFeHBvcnQgPSB0YWJsZVNldHRpbmdzLmhlYWRlclNldHRpbmdzLmhpZGVFeHBvcnQ7XHJcbiAgICAgIHRoaXMuaGlkZUNvbHVtblNldHRpbmdzID0gdGFibGVTZXR0aW5ncy5oZWFkZXJTZXR0aW5ncy5oaWRlQ29sdW1uU2V0dGluZ3M7XHJcbiAgICAgIHRoaXMuaGlkZUZpbHRlciA9IHRhYmxlU2V0dGluZ3MuaGVhZGVyU2V0dGluZ3MuaGlkZUZpbHRlcjtcclxuICAgICAgdGhpcy5oaWRlU29ydCA9IHRhYmxlU2V0dGluZ3MuaGVhZGVyU2V0dGluZ3MuaGlkZVNvcnQ7XHJcbiAgICAgIHRoaXMuc2hvd1RpdGxlV2hlbkhlYWRlckNvbGxhcHNlZCA9IHRhYmxlU2V0dGluZ3MuaGVhZGVyU2V0dGluZ3Muc2hvd1RpdGxlV2hlbkNvbGxhcHNlZDtcclxuICAgICAgdGhpcy5oaWRlSGVhZGVyID0gdGFibGVTZXR0aW5ncy5oZWFkZXJTZXR0aW5ncy5oaWRlSGVhZGVyO1xyXG4gICAgICB0aGlzLmhpZGVDb2x1bW5IZWFkZXJGaWx0ZXJzID0gdGFibGVTZXR0aW5ncy5jb2x1bW5IZWFkZXJTZXR0aW5ncy5ub0ZpbHRlcnM7XHJcbiAgICAgIHRoaXMuaGlkZUNvbHVtbkhlYWRlciA9IHRhYmxlU2V0dGluZ3MuY29sdW1uSGVhZGVyU2V0dGluZ3Mubm9IZWFkZXI7XHJcbiAgICAgIHRoaXMudXNlUGFnaW5hdG9yID0gdGFibGVTZXR0aW5ncy50YWJsZVNldHRpbmdzLnVzZVBhZ2luYXRvcjtcclxuICAgICAgdGhpcy51c2VWaXJ0dWFsU2Nyb2xsID0gdGFibGVTZXR0aW5ncy50YWJsZVNldHRpbmdzLnVzZVZpcnR1YWxTY3JvbGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGhpZGVFeHBvcnQgPSB0cnVlXHJcbiAgaGlkZUZpbHRlciA9IHRydWVcclxuICBoaWRlQ29sdW1uU2V0dGluZ3MgPSB0cnVlXHJcbiAgaGlkZVNvcnQgPSB0cnVlXHJcbiAgc2hvd1RpdGxlV2hlbkhlYWRlckNvbGxhcHNlZCA9IHRydWU7XHJcbiAgaGlkZUhlYWRlciA9IHRydWVcclxuICBoaWRlQ29sdW1uSGVhZGVyRmlsdGVycyA9IHRydWU7XHJcbiAgaGlkZUNvbHVtbkhlYWRlciA9IHRydWU7XHJcbiAgdXNlUGFnaW5hdG9yID0gdHJ1ZTtcclxuICB1c2VWaXJ0dWFsU2Nyb2xsOiB0cnVlIHwgVmlydHVhbFNjcm9sbE9wdGlvbnMgfCBudWxsID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFZpcnR1YWxTY3JvbGxPcHRpb25zIHtcclxuICBpdGVtSGVpZ2h0ID0gNDg7XHJcbiAgaGVhZGVyT2Zmc2V0ID0gNTY7XHJcbn1cclxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYnVpbGRlci1nZW5lcmFsLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY2xhc3Nlcy90YWJsZS1idWlsZGVyLWdlbmVyYWwtc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUvQixNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQVksUUFBZ0M7UUFhNUMsbUJBQWMsR0FBRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDbEQsbUJBQWMsR0FBRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDbEQseUJBQW9CLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO1FBQ3ZELGtCQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQWZsQyxJQUFHLFFBQVEsRUFBQyxDQUFDO1lBQ1gsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3BELEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNwRCxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2hFLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNsRCxJQUFHLFFBQVEsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQztnQkFDM0MsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDekksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUE7WUFDdEYsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsRUFBRSxRQUFRLENBQUM7SUFDckMsQ0FBQztDQU1GO0FBVUQsTUFBTSxPQUFPLDBCQUEwQjtJQUF2QztRQUNFLGVBQVUsR0FBRyxLQUFLLENBQUE7UUFDbEIsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUNsQix1QkFBa0IsR0FBRyxLQUFLLENBQUE7UUFDMUIsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUNsQixhQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFDaEIsMkJBQXNCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLGlCQUFZLEdBQWdDLFNBQVMsQ0FBQztJQUN4RCxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBQ0UsYUFBUSxHQUFHLEtBQUssQ0FBQTtJQUNsQixDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8seUJBQXlCO0lBQXRDO1FBQ0UsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ25CLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxhQUFhO0lBQTFCO1FBQ0UsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIscUJBQWdCLEdBQWdELElBQUksQ0FBQztRQUNyRSxpQ0FBNEIsR0FBRyxLQUFLLENBQUM7UUFDckMsY0FBUyxHQUFnQyxTQUFTLENBQUM7SUFDckQsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUFZLGFBQTZEO1FBTXpFLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBTnJCLElBQUksYUFBYSxFQUFDLENBQUM7WUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBSSxhQUFzQyxDQUFDLGNBQWMsRUFBRSxRQUFRLElBQUssYUFBd0MsQ0FBQyxjQUFjLENBQUM7WUFDbkosSUFBSSxDQUFDLGNBQWMsR0FBSSxhQUFzQyxDQUFDLGNBQWMsRUFBRSxRQUFRLElBQUssYUFBd0MsQ0FBQyxjQUFjLENBQUM7UUFDckosQ0FBQztJQUNILENBQUM7Q0FHRjtBQUVELE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsWUFBWSxhQUFvQztRQWlCaEQsZUFBVSxHQUFHLElBQUksQ0FBQTtRQUNqQixlQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ2pCLHVCQUFrQixHQUFHLElBQUksQ0FBQTtRQUN6QixhQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ2YsaUNBQTRCLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxJQUFJLENBQUE7UUFDakIsNEJBQXVCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixxQkFBZ0IsR0FBZ0QsSUFBSSxDQUFDO1FBQ3JFLGlDQUE0QixHQUFHLEtBQUssQ0FBQztRQUVyQyxpQkFBWSxHQUFxQixTQUFTLENBQUM7UUE1QnpDLElBQUcsYUFBYSxFQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQztZQUMxRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQztZQUMxRSxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1lBQzFELElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDdEQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUM7WUFDeEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQztZQUMxRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQztZQUM1RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztZQUNwRSxJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQzdELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO1lBQ3JFLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLDRCQUE0QixDQUFDO1lBQzdGLElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDdkQsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztDQWNGO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUNFLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUMzQix5QkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDMUI7O1dBRUc7UUFDSCxzQkFBaUIsR0FBdUIsU0FBUyxDQUFDO0lBQ3BELENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tIFwibG9kYXNoXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgR2VuZXJhbFRhYmxlU2V0dGluZ3Mge1xyXG4gIGNvbnN0cnVjdG9yKHNldHRpbmdzPyA6IFRhYmxlQnVpbGRlclNldHRpbmdzKXtcclxuICAgIGlmKHNldHRpbmdzKXtcclxuICAgICAgbWVyZ2UodGhpcy5oZWFkZXJTZXR0aW5ncywgc2V0dGluZ3MuaGVhZGVyU2V0dGluZ3MpO1xyXG4gICAgICBtZXJnZSh0aGlzLmZvb3RlclNldHRpbmdzLCBzZXR0aW5ncy5mb290ZXJTZXR0aW5ncyk7XHJcbiAgICAgIG1lcmdlKHRoaXMuY29sdW1uSGVhZGVyU2V0dGluZ3MsIHNldHRpbmdzLmNvbHVtbkhlYWRlclNldHRpbmdzKTtcclxuICAgICAgbWVyZ2UodGhpcy50YWJsZVNldHRpbmdzLCBzZXR0aW5ncy50YWJsZVNldHRpbmdzKTtcclxuICAgICAgaWYoc2V0dGluZ3MudGFibGVTZXR0aW5ncz8udXNlVmlydHVhbFNjcm9sbCl7XHJcbiAgICAgICAgY29uc3QgY3VyclZpcnQgPSBzZXR0aW5ncy50YWJsZVNldHRpbmdzLnVzZVZpcnR1YWxTY3JvbGwgPT09IHRydWUgPyBuZXcgVmlydHVhbFNjcm9sbE9wdGlvbnMoKSA6IHNldHRpbmdzLnRhYmxlU2V0dGluZ3MudXNlVmlydHVhbFNjcm9sbDtcclxuICAgICAgICB0aGlzLnRhYmxlU2V0dGluZ3MudXNlVmlydHVhbFNjcm9sbCA9IHsgLi4ubmV3IFZpcnR1YWxTY3JvbGxPcHRpb25zKCksIC4uLmN1cnJWaXJ0IH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5pbmplY3RvciA9IHNldHRpbmdzPy5pbmplY3RvcjtcclxuICB9XHJcbiAgaGVhZGVyU2V0dGluZ3MgPSBuZXcgVGFibGVXcmFwcGVySGVhZGVyU2V0dGluZ3MoKTtcclxuICBmb290ZXJTZXR0aW5ncyA9IG5ldyBUYWJsZVdyYXBwZXJGb290ZXJTZXR0aW5ncygpO1xyXG4gIGNvbHVtbkhlYWRlclNldHRpbmdzID0gbmV3IFRhYmxlQ29sdW1uSGVhZGVyU2V0dGluZ3MoKTtcclxuICB0YWJsZVNldHRpbmdzID0gbmV3IFRhYmxlU2V0dGluZ3MoKTtcclxuICBpbmplY3Rvcj8gOiBJbmplY3RvcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUJ1aWxkZXJTZXR0aW5ncyB7XHJcbiAgaGVhZGVyU2V0dGluZ3M/IDogUGFydGlhbDxUYWJsZVdyYXBwZXJIZWFkZXJTZXR0aW5ncz47XHJcbiAgZm9vdGVyU2V0dGluZ3M/IDogUGFydGlhbDxUYWJsZVdyYXBwZXJGb290ZXJTZXR0aW5ncz47XHJcbiAgY29sdW1uSGVhZGVyU2V0dGluZ3M/IDogUGFydGlhbDxUYWJsZUNvbHVtbkhlYWRlclNldHRpbmdzPjtcclxuICB0YWJsZVNldHRpbmdzPyA6IFBhcnRpYWw8VGFibGVTZXR0aW5ncz47XHJcbiAgaW5qZWN0b3I/IDogSW5qZWN0b3I7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVdyYXBwZXJIZWFkZXJTZXR0aW5ncyB7XHJcbiAgaGlkZUV4cG9ydCA9IGZhbHNlXHJcbiAgaGlkZUZpbHRlciA9IGZhbHNlXHJcbiAgaGlkZUNvbHVtblNldHRpbmdzID0gZmFsc2VcclxuICBoaWRlSGVhZGVyID0gZmFsc2VcclxuICBoaWRlU29ydCA9IGZhbHNlXHJcbiAgY29sbGFwc2UgPSBmYWxzZVxyXG4gIHNob3dUaXRsZVdoZW5Db2xsYXBzZWQgPSB0cnVlO1xyXG4gIGhlYWRlckhlaWdodDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVXcmFwcGVyRm9vdGVyU2V0dGluZ3Mge1xyXG4gIGNvbGxhcHNlID0gZmFsc2VcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uSGVhZGVyU2V0dGluZ3Mge1xyXG4gIG5vRmlsdGVycyA9IGZhbHNlO1xyXG4gIG5vSGVhZGVyID0gZmFsc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVNldHRpbmdzIHtcclxuICB1c2VQYWdpbmF0b3IgPSB0cnVlO1xyXG4gIHVzZVZpcnR1YWxTY3JvbGw6IHRydWUgfCBQYXJ0aWFsPFZpcnR1YWxTY3JvbGxPcHRpb25zPiB8IG51bGwgPSBudWxsO1xyXG4gIGluY2x1ZGVBbGxJblBhZ2luYXRvck9wdGlvbnMgPSBmYWxzZTtcclxuICByb3dIZWlnaHQ6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFBlcnNpc3RlZFRhYmxlU2V0dGluZ3Mge1xyXG4gIGNvbnN0cnVjdG9yKHRhYmxlU2V0dGluZ3M/IDpHZW5lcmFsVGFibGVTZXR0aW5ncyB8IFBlcnNpc3RlZFRhYmxlU2V0dGluZ3Mpe1xyXG4gICAgaWYgKHRhYmxlU2V0dGluZ3Mpe1xyXG4gICAgICB0aGlzLmNvbGxhcHNlSGVhZGVyID0gKHRhYmxlU2V0dGluZ3MgYXMgR2VuZXJhbFRhYmxlU2V0dGluZ3MpLmhlYWRlclNldHRpbmdzPy5jb2xsYXBzZSA/PyAodGFibGVTZXR0aW5ncyBhcyBQZXJzaXN0ZWRUYWJsZVNldHRpbmdzKS5jb2xsYXBzZUhlYWRlcjtcclxuICAgICAgdGhpcy5jb2xsYXBzZUZvb3RlciA9ICh0YWJsZVNldHRpbmdzIGFzIEdlbmVyYWxUYWJsZVNldHRpbmdzKS5mb290ZXJTZXR0aW5ncz8uY29sbGFwc2UgPz8gKHRhYmxlU2V0dGluZ3MgYXMgUGVyc2lzdGVkVGFibGVTZXR0aW5ncykuY29sbGFwc2VGb290ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbGxhcHNlSGVhZGVyID0gZmFsc2U7XHJcbiAgY29sbGFwc2VGb290ZXIgPSBmYWxzZTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE5vdFBlcnNpc3RlZFRhYmxlU2V0dGluZ3Mge1xyXG4gIGNvbnN0cnVjdG9yKHRhYmxlU2V0dGluZ3M/IDpHZW5lcmFsVGFibGVTZXR0aW5ncyl7XHJcbiAgICBpZih0YWJsZVNldHRpbmdzKXtcclxuICAgICAgdGhpcy5oaWRlRXhwb3J0ID0gdGFibGVTZXR0aW5ncy5oZWFkZXJTZXR0aW5ncy5oaWRlRXhwb3J0O1xyXG4gICAgICB0aGlzLmhpZGVDb2x1bW5TZXR0aW5ncyA9IHRhYmxlU2V0dGluZ3MuaGVhZGVyU2V0dGluZ3MuaGlkZUNvbHVtblNldHRpbmdzO1xyXG4gICAgICB0aGlzLmhpZGVGaWx0ZXIgPSB0YWJsZVNldHRpbmdzLmhlYWRlclNldHRpbmdzLmhpZGVGaWx0ZXI7XHJcbiAgICAgIHRoaXMuaGlkZVNvcnQgPSB0YWJsZVNldHRpbmdzLmhlYWRlclNldHRpbmdzLmhpZGVTb3J0O1xyXG4gICAgICB0aGlzLnNob3dUaXRsZVdoZW5IZWFkZXJDb2xsYXBzZWQgPSB0YWJsZVNldHRpbmdzLmhlYWRlclNldHRpbmdzLnNob3dUaXRsZVdoZW5Db2xsYXBzZWQ7XHJcbiAgICAgIHRoaXMuaGlkZUhlYWRlciA9IHRhYmxlU2V0dGluZ3MuaGVhZGVyU2V0dGluZ3MuaGlkZUhlYWRlcjtcclxuICAgICAgdGhpcy5oaWRlQ29sdW1uSGVhZGVyRmlsdGVycyA9IHRhYmxlU2V0dGluZ3MuY29sdW1uSGVhZGVyU2V0dGluZ3Mubm9GaWx0ZXJzO1xyXG4gICAgICB0aGlzLmhpZGVDb2x1bW5IZWFkZXIgPSB0YWJsZVNldHRpbmdzLmNvbHVtbkhlYWRlclNldHRpbmdzLm5vSGVhZGVyO1xyXG4gICAgICB0aGlzLnVzZVBhZ2luYXRvciA9IHRhYmxlU2V0dGluZ3MudGFibGVTZXR0aW5ncy51c2VQYWdpbmF0b3I7XHJcbiAgICAgIHRoaXMudXNlVmlydHVhbFNjcm9sbCA9IHRhYmxlU2V0dGluZ3MudGFibGVTZXR0aW5ncy51c2VWaXJ0dWFsU2Nyb2xsO1xyXG4gICAgICB0aGlzLmluY2x1ZGVBbGxJblBhZ2luYXRvck9wdGlvbnMgPSB0YWJsZVNldHRpbmdzLnRhYmxlU2V0dGluZ3MuaW5jbHVkZUFsbEluUGFnaW5hdG9yT3B0aW9ucztcclxuICAgICAgdGhpcy5yb3dIZWlnaHQgPSB0YWJsZVNldHRpbmdzLnRhYmxlU2V0dGluZ3Mucm93SGVpZ2h0O1xyXG4gICAgICB0aGlzLmhlYWRlckhlaWdodCA9IHRhYmxlU2V0dGluZ3MuaGVhZGVyU2V0dGluZ3MuaGVhZGVySGVpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuICBoaWRlRXhwb3J0ID0gdHJ1ZVxyXG4gIGhpZGVGaWx0ZXIgPSB0cnVlXHJcbiAgaGlkZUNvbHVtblNldHRpbmdzID0gdHJ1ZVxyXG4gIGhpZGVTb3J0ID0gdHJ1ZVxyXG4gIHNob3dUaXRsZVdoZW5IZWFkZXJDb2xsYXBzZWQgPSB0cnVlO1xyXG4gIGhpZGVIZWFkZXIgPSB0cnVlXHJcbiAgaGlkZUNvbHVtbkhlYWRlckZpbHRlcnMgPSB0cnVlO1xyXG4gIGhpZGVDb2x1bW5IZWFkZXIgPSB0cnVlO1xyXG4gIHVzZVBhZ2luYXRvciA9IHRydWU7XHJcbiAgdXNlVmlydHVhbFNjcm9sbDogdHJ1ZSB8IFBhcnRpYWw8VmlydHVhbFNjcm9sbE9wdGlvbnM+IHwgbnVsbCA9IG51bGw7XHJcbiAgaW5jbHVkZUFsbEluUGFnaW5hdG9yT3B0aW9ucyA9IGZhbHNlO1xyXG4gIHJvd0hlaWdodD86IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBoZWFkZXJIZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXIgPSB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBWaXJ0dWFsU2Nyb2xsT3B0aW9ucyB7XHJcbiAgdmlydHVhbEFzRGVmYXVsdCA9IHRydWU7XHJcbiAgcm93SGVpZ2h0ID0gNDg7XHJcbiAgZW5mb3JjZVJvd0hlaWdodCA9IHRydWU7XHJcbiAgaGVhZGVySGVpZ2h0ID0gNTY7XHJcbiAgZW5mb3JjZUhlYWRlckhlaWdodCA9IHRydWU7XHJcbiAgYW1vdW50T2ZWaXNpYmxlSXRlbXMgPSAxMDtcclxuICAvKipcclxuICAgKiBUaGlzIHdpbGwgd2luIG92ZXIgYGFtb3VudE9mVmlzaWJsZUl0ZW1zYFxyXG4gICAqL1xyXG4gIG1heFZpZXdQb3J0SGVpZ2h0OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbn1cclxuIl19