@ecodev/natural 58.0.7 → 60.0.0

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 (106) hide show
  1. package/esm2022/lib/classes/abstract-controller.mjs +6 -5
  2. package/esm2022/lib/classes/abstract-detail.mjs +7 -6
  3. package/esm2022/lib/classes/abstract-editable-list.mjs +6 -5
  4. package/esm2022/lib/classes/abstract-list.mjs +6 -5
  5. package/esm2022/lib/classes/abstract-navigable-list.mjs +6 -5
  6. package/esm2022/lib/classes/cumulative-changes.mjs +4 -4
  7. package/esm2022/lib/classes/signing.mjs +2 -2
  8. package/esm2022/lib/classes/tld.mjs +1 -1
  9. package/esm2022/lib/classes/utility.mjs +2 -2
  10. package/esm2022/lib/directives/http-prefix.directive.mjs +3 -3
  11. package/esm2022/lib/modules/alert/alert.service.mjs +3 -3
  12. package/esm2022/lib/modules/alert/confirm.component.mjs +3 -3
  13. package/esm2022/lib/modules/avatar/component/avatar.component.mjs +4 -4
  14. package/esm2022/lib/modules/avatar/service/avatar.service.mjs +3 -3
  15. package/esm2022/lib/modules/avatar/sources/gravatar.mjs +2 -2
  16. package/esm2022/lib/modules/columns-picker/columns-picker.component.mjs +4 -4
  17. package/esm2022/lib/modules/common/directives/linkable-tab.directive.mjs +3 -3
  18. package/esm2022/lib/modules/common/directives/src-density.directive.mjs +5 -5
  19. package/esm2022/lib/modules/common/pipes/capitalize.pipe.mjs +3 -3
  20. package/esm2022/lib/modules/common/pipes/ellipsis.pipe.mjs +3 -3
  21. package/esm2022/lib/modules/common/pipes/enum.pipe.mjs +3 -3
  22. package/esm2022/lib/modules/common/pipes/time-ago.pipe.mjs +3 -3
  23. package/esm2022/lib/modules/common/public-api.mjs +1 -2
  24. package/esm2022/lib/modules/common/services/memory-storage.mjs +3 -3
  25. package/esm2022/lib/modules/common/services/seo.service.mjs +4 -4
  26. package/esm2022/lib/modules/detail-header/detail-header.component.mjs +3 -3
  27. package/esm2022/lib/modules/dialog-trigger/dialog-trigger.component.mjs +3 -3
  28. package/esm2022/lib/modules/dropdown-components/abstract-association-select-component.directive.mjs +8 -7
  29. package/esm2022/lib/modules/dropdown-components/type-boolean/type-boolean.component.mjs +3 -3
  30. package/esm2022/lib/modules/dropdown-components/type-date/type-date.component.mjs +3 -3
  31. package/esm2022/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +5 -5
  32. package/esm2022/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +3 -3
  33. package/esm2022/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +3 -3
  34. package/esm2022/lib/modules/dropdown-components/type-number/type-number.component.mjs +5 -5
  35. package/esm2022/lib/modules/dropdown-components/type-options/type-options.component.mjs +3 -3
  36. package/esm2022/lib/modules/dropdown-components/type-select/type-select.component.mjs +7 -7
  37. package/esm2022/lib/modules/dropdown-components/type-text/type-text.component.mjs +3 -3
  38. package/esm2022/lib/modules/dropdown-components/types.mjs +1 -1
  39. package/esm2022/lib/modules/file/abstract-file.mjs +6 -5
  40. package/esm2022/lib/modules/file/component/file.component.mjs +9 -7
  41. package/esm2022/lib/modules/file/file-drop.directive.mjs +3 -3
  42. package/esm2022/lib/modules/file/file-select.directive.mjs +3 -3
  43. package/esm2022/lib/modules/file/file.service.mjs +3 -3
  44. package/esm2022/lib/modules/fixed-button/fixed-button.component.mjs +3 -3
  45. package/esm2022/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +3 -3
  46. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +3 -3
  47. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.service.mjs +3 -3
  48. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +3 -3
  49. package/esm2022/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +3 -3
  50. package/esm2022/lib/modules/icon/icon.directive.mjs +3 -3
  51. package/esm2022/lib/modules/logger/error-handler.mjs +3 -3
  52. package/esm2022/lib/modules/matomo/matomo.service.mjs +6 -8
  53. package/esm2022/lib/modules/panels/abstract-panel.mjs +6 -5
  54. package/esm2022/lib/modules/panels/panels.component.mjs +3 -3
  55. package/esm2022/lib/modules/panels/panels.service.mjs +3 -3
  56. package/esm2022/lib/modules/relations/relations.component.mjs +5 -5
  57. package/esm2022/lib/modules/search/classes/transformers.mjs +4 -4
  58. package/esm2022/lib/modules/search/dropdown-container/dropdown-container.component.mjs +3 -3
  59. package/esm2022/lib/modules/search/dropdown-container/dropdown.service.mjs +3 -3
  60. package/esm2022/lib/modules/search/facet-selector/facet-selector.component.mjs +3 -3
  61. package/esm2022/lib/modules/search/group/group.component.mjs +3 -3
  62. package/esm2022/lib/modules/search/input/input.component.mjs +3 -3
  63. package/esm2022/lib/modules/search/search/search.component.mjs +3 -3
  64. package/esm2022/lib/modules/select/abstract-select.component.mjs +6 -5
  65. package/esm2022/lib/modules/select/select/select.component.mjs +3 -3
  66. package/esm2022/lib/modules/select/select-enum/select-enum.component.mjs +3 -3
  67. package/esm2022/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +5 -5
  68. package/esm2022/lib/modules/sidenav/sidenav/sidenav.component.mjs +3 -3
  69. package/esm2022/lib/modules/sidenav/sidenav-container/sidenav-container.component.mjs +3 -3
  70. package/esm2022/lib/modules/sidenav/sidenav-content/sidenav-content.component.mjs +3 -3
  71. package/esm2022/lib/modules/sidenav/sidenav-stack.service.mjs +3 -3
  72. package/esm2022/lib/modules/sidenav/sidenav.service.mjs +3 -3
  73. package/esm2022/lib/modules/stamp/stamp.component.mjs +6 -6
  74. package/esm2022/lib/modules/table-button/table-button.component.mjs +6 -6
  75. package/esm2022/lib/services/debounce.service.mjs +3 -3
  76. package/esm2022/lib/services/enum.service.mjs +3 -3
  77. package/esm2022/lib/services/link-mutation.service.mjs +5 -5
  78. package/esm2022/lib/services/persistence.service.mjs +3 -3
  79. package/esm2022/lib/services/swiss-parsing-date-adapter.service.mjs +3 -3
  80. package/fesm2022/ecodev-natural.mjs +263 -272
  81. package/fesm2022/ecodev-natural.mjs.map +1 -1
  82. package/lib/classes/abstract-controller.d.ts +1 -1
  83. package/lib/classes/abstract-detail.d.ts +1 -1
  84. package/lib/classes/abstract-editable-list.d.ts +1 -1
  85. package/lib/classes/abstract-list.d.ts +1 -1
  86. package/lib/classes/abstract-navigable-list.d.ts +1 -1
  87. package/lib/classes/cumulative-changes.d.ts +2 -3
  88. package/lib/classes/tld.d.ts +1 -1
  89. package/lib/modules/columns-picker/columns-picker.component.d.ts +2 -2
  90. package/lib/modules/common/public-api.d.ts +0 -1
  91. package/lib/modules/common/services/seo.service.d.ts +1 -1
  92. package/lib/modules/dropdown-components/abstract-association-select-component.directive.d.ts +1 -1
  93. package/lib/modules/dropdown-components/types.d.ts +2 -2
  94. package/lib/modules/file/abstract-file.d.ts +1 -1
  95. package/lib/modules/matomo/matomo.service.d.ts +2 -2
  96. package/lib/modules/panels/abstract-panel.d.ts +1 -1
  97. package/lib/modules/search/classes/transformers.d.ts +3 -3
  98. package/lib/modules/select/abstract-select.component.d.ts +1 -1
  99. package/package.json +10 -10
  100. package/src/lib/_natural.theme.scss +9 -9
  101. package/src/lib/modules/alert/_alert.theme.scss +2 -2
  102. package/src/lib/modules/file/component/_file.theme.scss +5 -5
  103. package/src/lib/modules/search/dropdown-container/_dropdown-container.theme.scss +1 -1
  104. package/src/lib/styles/_table.scss +2 -2
  105. package/esm2022/lib/modules/common/pipes/swiss-date.pipe.mjs +0 -21
  106. package/lib/modules/common/pipes/swiss-date.pipe.d.ts +0 -12
@@ -190,10 +190,10 @@ export class NaturalSidenavService extends NaturalAbstractController {
190
190
  this.sessionStorage.setItem(this.openedStorageKeyWithName, this.opened ? 'true' : 'false');
191
191
  }
192
192
  }
193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSidenavService, deps: [{ token: i1.BreakpointObserver }, { token: i2.Router }, { token: SESSION_STORAGE }, { token: i3.NaturalSidenavStackService }], target: i0.ɵɵFactoryTarget.Injectable }); }
194
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSidenavService, providedIn: 'root' }); }
193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalSidenavService, deps: [{ token: i1.BreakpointObserver }, { token: i2.Router }, { token: SESSION_STORAGE }, { token: i3.NaturalSidenavStackService }], target: i0.ɵɵFactoryTarget.Injectable }); }
194
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalSidenavService, providedIn: 'root' }); }
195
195
  }
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSidenavService, decorators: [{
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalSidenavService, decorators: [{
197
197
  type: Injectable,
198
198
  args: [{ providedIn: 'root' }]
199
199
  }], ctorParameters: () => [{ type: i1.BreakpointObserver }, { type: i2.Router }, { type: undefined, decorators: [{
@@ -1,6 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { NaturalTimeAgoPipe } from '../common/pipes/time-ago.pipe';
3
- import { NaturalSwissDatePipe } from '../common/pipes/swiss-date.pipe';
3
+ import { DatePipe } from '@angular/common';
4
4
  import * as i0 from "@angular/core";
5
5
  export class NaturalStampComponent {
6
6
  showUpdate() {
@@ -9,14 +9,14 @@ export class NaturalStampComponent {
9
9
  this.item.updateDate === this.item.creationDate;
10
10
  return !same && (!!this.item.updateDate || !!this.item.updater);
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalStampComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NaturalStampComponent, isStandalone: true, selector: "natural-stamp", inputs: { item: "item" }, ngImport: i0, template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | swissDate }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | swissDate }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n", dependencies: [{ kind: "pipe", type: NaturalSwissDatePipe, name: "swissDate" }, { kind: "pipe", type: NaturalTimeAgoPipe, name: "timeAgo" }] }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalStampComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NaturalStampComponent, isStandalone: true, selector: "natural-stamp", inputs: { item: "item" }, ngImport: i0, template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | date }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | date }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n", dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: NaturalTimeAgoPipe, name: "timeAgo" }] }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalStampComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalStampComponent, decorators: [{
16
16
  type: Component,
17
- args: [{ selector: 'natural-stamp', standalone: true, imports: [NaturalSwissDatePipe, NaturalTimeAgoPipe], template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | swissDate }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | swissDate }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n" }]
17
+ args: [{ selector: 'natural-stamp', standalone: true, imports: [DatePipe, NaturalTimeAgoPipe], template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | date }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | date }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n" }]
18
18
  }], propDecorators: { item: [{
19
19
  type: Input,
20
20
  args: [{ required: true }]
21
21
  }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc3RhbXAvc3RhbXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc3RhbXAvc3RhbXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0saUNBQWlDLENBQUM7O0FBZXJFLE1BQU0sT0FBTyxxQkFBcUI7SUFHdkIsVUFBVTtRQUNiLE1BQU0sSUFBSSxHQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUVwRCxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OEdBVlEscUJBQXFCO2tHQUFyQixxQkFBcUIsbUdDbEJsQyx5bENBZ0NBLHVDRGhCYyxvQkFBb0IsNkNBQUUsa0JBQWtCOzsyRkFFekMscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLGVBQWUsY0FFYixJQUFJLFdBQ1AsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQzs4QkFHbkIsSUFBSTtzQkFBbkMsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYW1lT3JGdWxsTmFtZX0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHtOYXR1cmFsVGltZUFnb1BpcGV9IGZyb20gJy4uL2NvbW1vbi9waXBlcy90aW1lLWFnby5waXBlJztcbmltcG9ydCB7TmF0dXJhbFN3aXNzRGF0ZVBpcGV9IGZyb20gJy4uL2NvbW1vbi9waXBlcy9zd2lzcy1kYXRlLnBpcGUnO1xuXG50eXBlIFN0YW1wZWQgPSB7XG4gICAgY3JlYXRvcjogTmFtZU9yRnVsbE5hbWUgfCBudWxsO1xuICAgIHVwZGF0ZXI6IE5hbWVPckZ1bGxOYW1lIHwgbnVsbDtcbiAgICBjcmVhdGlvbkRhdGU6IHN0cmluZyB8IG51bGw7XG4gICAgdXBkYXRlRGF0ZTogc3RyaW5nIHwgbnVsbDtcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1zdGFtcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0YW1wLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOYXR1cmFsU3dpc3NEYXRlUGlwZSwgTmF0dXJhbFRpbWVBZ29QaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFN0YW1wQ29tcG9uZW50IHtcbiAgICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgcHVibGljIGl0ZW0hOiBTdGFtcGVkO1xuXG4gICAgcHVibGljIHNob3dVcGRhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHNhbWUgPVxuICAgICAgICAgICAgdGhpcy5pdGVtLnVwZGF0ZXI/LmlkID09PSB0aGlzLml0ZW0uY3JlYXRvcj8uaWQgJiZcbiAgICAgICAgICAgIHRoaXMuaXRlbS51cGRhdGVEYXRlICYmXG4gICAgICAgICAgICB0aGlzLml0ZW0udXBkYXRlRGF0ZSA9PT0gdGhpcy5pdGVtLmNyZWF0aW9uRGF0ZTtcblxuICAgICAgICByZXR1cm4gIXNhbWUgJiYgKCEhdGhpcy5pdGVtLnVwZGF0ZURhdGUgfHwgISF0aGlzLml0ZW0udXBkYXRlcik7XG4gICAgfVxufVxuIiwiQGlmIChpdGVtKSB7XG4gICAgQGlmIChpdGVtLmNyZWF0aW9uRGF0ZSB8fCBpdGVtLmNyZWF0b3IpIHtcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LXN1YnRpdGxlLTJcIiBpMThuPkNyw6lhdGlvbjwvc3Bhbj5cbiAgICAgICAgICAgIDpcbiAgICAgICAgICAgIEBpZiAoaXRlbS5jcmVhdG9yKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5jcmVhdG9yLmZ1bGxOYW1lIHx8IGl0ZW0uY3JlYXRvci5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtLmNyZWF0b3IgJiYgaXRlbS5jcmVhdGlvbkRhdGUpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj4sJm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtLmNyZWF0aW9uRGF0ZSkge1xuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0uY3JlYXRpb25EYXRlIHwgc3dpc3NEYXRlIH19ICh7eyBpdGVtLmNyZWF0aW9uRGF0ZSB8IHRpbWVBZ28gfX0pPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChzaG93VXBkYXRlKCkpIHtcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LXN1YnRpdGxlLTJcIiBpMThuPk1vZGlmaWNhdGlvbjwvc3Bhbj5cbiAgICAgICAgICAgIDpcbiAgICAgICAgICAgIEBpZiAoaXRlbS51cGRhdGVyKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS51cGRhdGVyLmZ1bGxOYW1lIHx8IGl0ZW0udXBkYXRlci5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtLnVwZGF0ZXIgJiYgaXRlbS51cGRhdGVEYXRlKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+LCZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXRlbS51cGRhdGVEYXRlKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS51cGRhdGVEYXRlIHwgc3dpc3NEYXRlIH19ICh7eyBpdGVtLnVwZGF0ZURhdGUgfCB0aW1lQWdvIH19KTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxufVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc3RhbXAvc3RhbXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc3RhbXAvc3RhbXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQWV6QyxNQUFNLE9BQU8scUJBQXFCO0lBR3ZCLFVBQVU7UUFDYixNQUFNLElBQUksR0FDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFcEQsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRSxDQUFDOzhHQVZRLHFCQUFxQjtrR0FBckIscUJBQXFCLG1HQ2xCbEMsK2tDQWdDQSx1Q0RoQmMsUUFBUSx3Q0FBRSxrQkFBa0I7OzJGQUU3QixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksZUFBZSxjQUViLElBQUksV0FDUCxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQzs4QkFHUCxJQUFJO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05hbWVPckZ1bGxOYW1lfSBmcm9tICcuLi8uLi90eXBlcy90eXBlcyc7XG5pbXBvcnQge05hdHVyYWxUaW1lQWdvUGlwZX0gZnJvbSAnLi4vY29tbW9uL3BpcGVzL3RpbWUtYWdvLnBpcGUnO1xuaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxudHlwZSBTdGFtcGVkID0ge1xuICAgIGNyZWF0b3I6IE5hbWVPckZ1bGxOYW1lIHwgbnVsbDtcbiAgICB1cGRhdGVyOiBOYW1lT3JGdWxsTmFtZSB8IG51bGw7XG4gICAgY3JlYXRpb25EYXRlOiBzdHJpbmcgfCBudWxsO1xuICAgIHVwZGF0ZURhdGU6IHN0cmluZyB8IG51bGw7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtc3RhbXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdGFtcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRGF0ZVBpcGUsIE5hdHVyYWxUaW1lQWdvUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxTdGFtcENvbXBvbmVudCB7XG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pIHB1YmxpYyBpdGVtITogU3RhbXBlZDtcblxuICAgIHB1YmxpYyBzaG93VXBkYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzYW1lID1cbiAgICAgICAgICAgIHRoaXMuaXRlbS51cGRhdGVyPy5pZCA9PT0gdGhpcy5pdGVtLmNyZWF0b3I/LmlkICYmXG4gICAgICAgICAgICB0aGlzLml0ZW0udXBkYXRlRGF0ZSAmJlxuICAgICAgICAgICAgdGhpcy5pdGVtLnVwZGF0ZURhdGUgPT09IHRoaXMuaXRlbS5jcmVhdGlvbkRhdGU7XG5cbiAgICAgICAgcmV0dXJuICFzYW1lICYmICghIXRoaXMuaXRlbS51cGRhdGVEYXRlIHx8ICEhdGhpcy5pdGVtLnVwZGF0ZXIpO1xuICAgIH1cbn1cbiIsIkBpZiAoaXRlbSkge1xuICAgIEBpZiAoaXRlbS5jcmVhdGlvbkRhdGUgfHwgaXRlbS5jcmVhdG9yKSB7XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1zdWJ0aXRsZS0yXCIgaTE4bj5DcsOpYXRpb248L3NwYW4+XG4gICAgICAgICAgICA6XG4gICAgICAgICAgICBAaWYgKGl0ZW0uY3JlYXRvcikge1xuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0uY3JlYXRvci5mdWxsTmFtZSB8fCBpdGVtLmNyZWF0b3IubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXRlbS5jcmVhdG9yICYmIGl0ZW0uY3JlYXRpb25EYXRlKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+LCZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXRlbS5jcmVhdGlvbkRhdGUpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmNyZWF0aW9uRGF0ZSB8IGRhdGUgfX0gKHt7IGl0ZW0uY3JlYXRpb25EYXRlIHwgdGltZUFnbyB9fSk8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAaWYgKHNob3dVcGRhdGUoKSkge1xuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtc3VidGl0bGUtMlwiIGkxOG4+TW9kaWZpY2F0aW9uPC9zcGFuPlxuICAgICAgICAgICAgOlxuICAgICAgICAgICAgQGlmIChpdGVtLnVwZGF0ZXIpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnVwZGF0ZXIuZnVsbE5hbWUgfHwgaXRlbS51cGRhdGVyLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGl0ZW0udXBkYXRlciAmJiBpdGVtLnVwZGF0ZURhdGUpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj4sJm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtLnVwZGF0ZURhdGUpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnVwZGF0ZURhdGUgfCBkYXRlIH19ICh7eyBpdGVtLnVwZGF0ZURhdGUgfCB0aW1lQWdvIH19KTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
- import { RouterLink } from '@angular/router';
2
+ import { RouterLink, UrlTree } from '@angular/router';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { NaturalIconDirective } from '../icon/icon.directive';
5
5
  import { MatIconModule } from '@angular/material/icon';
@@ -28,7 +28,7 @@ export class NaturalTableButtonComponent {
28
28
  this.type = 'none';
29
29
  }
30
30
  ngOnChanges() {
31
- if (this.navigate?.length || Object.keys(this.queryParams).length) {
31
+ if (this.navigate instanceof UrlTree || this.navigate?.length || Object.keys(this.queryParams).length) {
32
32
  this.type = 'routerLink';
33
33
  }
34
34
  else if (this.href) {
@@ -41,10 +41,10 @@ export class NaturalTableButtonComponent {
41
41
  this.type = 'none';
42
42
  }
43
43
  }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalTableButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NaturalTableButtonComponent, isStandalone: true, selector: "natural-table-button", inputs: { queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", label: "label", icon: "icon", href: "href", navigate: "navigate", fragment: "fragment", preserveFragment: "preserveFragment", disabled: "disabled", raised: "raised", color: "color" }, outputs: { buttonClick: "buttonClick" }, usesOnChanges: true, ngImport: i0, template: "<!-- Because directives can't be applied conditionally (routerLink, mat-button and mat-icon-button), we have to use different elements -->\n\n<!-- Edge case of a button without any kind of link at all -->\n@if (type === 'none') {\n <span>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n @if (label) {\n <span>{{ label }}</span>\n }\n </span>\n}\n\n@if (!raised) {\n <!-- App routed link with label... -->\n @if (type === 'routerLink' && label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'routerLink' && !label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-icon-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- Click with label... -->\n @if (type === 'click' && label) {\n <a [color]=\"color\" (click)=\"buttonClick.emit($event)\" [disabled]=\"disabled\" mat-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'click' && !label) {\n <a (click)=\"buttonClick.emit($event)\" [disabled]=\"disabled\" mat-icon-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- External link with label... -->\n @if (type === 'href' && label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'href' && !label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-icon-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n}\n\n@if (raised) {\n <!-- App routed link with label... -->\n @if (type === 'routerLink' && label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-raised-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'routerLink' && !label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- Click with label... -->\n @if (type === 'click' && label) {\n <a [color]=\"color\" [disabled]=\"disabled\" (click)=\"buttonClick.emit($event)\" mat-raised-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'click' && !label) {\n <a\n [color]=\"color\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- External link with label... -->\n @if (type === 'href' && label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-raised-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'href' && !label) {\n <a\n [attr.href]=\"href\"\n [color]=\"color\"\n [disabled]=\"disabled\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n target=\"_blank\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n}\n", styles: ["natural-table-button{display:flex;flex:1;flex-direction:row;justify-content:flex-start;align-items:center}natural-table-button mat-icon:not(:last-child){margin-right:5px}natural-table-button a.mat-mdc-button{display:flex;flex:1;flex-direction:row;justify-content:flex-start;align-items:center}natural-table-button a.mat-mdc-button .mdc-button__label{display:flex;flex-direction:row;align-items:center}natural-table-button>span{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:0 8px}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalTableButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NaturalTableButtonComponent, isStandalone: true, selector: "natural-table-button", inputs: { queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", label: "label", icon: "icon", href: "href", navigate: "navigate", fragment: "fragment", preserveFragment: "preserveFragment", disabled: "disabled", raised: "raised", color: "color" }, outputs: { buttonClick: "buttonClick" }, usesOnChanges: true, ngImport: i0, template: "<!-- Because directives can't be applied conditionally (routerLink, mat-button and mat-icon-button), we have to use different elements -->\n\n<!-- Edge case of a button without any kind of link at all -->\n@if (type === 'none') {\n <span>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n @if (label) {\n <span>{{ label }}</span>\n }\n </span>\n}\n\n@if (!raised) {\n <!-- App routed link with label... -->\n @if (type === 'routerLink' && label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'routerLink' && !label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-icon-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- Click with label... -->\n @if (type === 'click' && label) {\n <a [color]=\"color\" (click)=\"buttonClick.emit($event)\" [disabled]=\"disabled\" mat-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'click' && !label) {\n <a (click)=\"buttonClick.emit($event)\" [disabled]=\"disabled\" mat-icon-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- External link with label... -->\n @if (type === 'href' && label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'href' && !label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-icon-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n}\n\n@if (raised) {\n <!-- App routed link with label... -->\n @if (type === 'routerLink' && label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-raised-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'routerLink' && !label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- Click with label... -->\n @if (type === 'click' && label) {\n <a [color]=\"color\" [disabled]=\"disabled\" (click)=\"buttonClick.emit($event)\" mat-raised-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'click' && !label) {\n <a\n [color]=\"color\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- External link with label... -->\n @if (type === 'href' && label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-raised-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'href' && !label) {\n <a\n [attr.href]=\"href\"\n [color]=\"color\"\n [disabled]=\"disabled\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n target=\"_blank\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n}\n", styles: ["natural-table-button{display:flex;flex:1;flex-direction:row;justify-content:flex-start;align-items:center}natural-table-button mat-icon:not(:last-child){margin-right:5px}natural-table-button a.mat-mdc-button{display:flex;flex:1;flex-direction:row;justify-content:flex-start;align-items:center}natural-table-button a.mat-mdc-button .mdc-button__label{display:flex;flex-direction:row;align-items:center}natural-table-button>span{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:0 8px}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalTableButtonComponent, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalTableButtonComponent, decorators: [{
48
48
  type: Component,
49
49
  args: [{ selector: 'natural-table-button', encapsulation: ViewEncapsulation.None, standalone: true, imports: [MatIconModule, NaturalIconDirective, MatButtonModule, RouterLink], template: "<!-- Because directives can't be applied conditionally (routerLink, mat-button and mat-icon-button), we have to use different elements -->\n\n<!-- Edge case of a button without any kind of link at all -->\n@if (type === 'none') {\n <span>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n @if (label) {\n <span>{{ label }}</span>\n }\n </span>\n}\n\n@if (!raised) {\n <!-- App routed link with label... -->\n @if (type === 'routerLink' && label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'routerLink' && !label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-icon-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- Click with label... -->\n @if (type === 'click' && label) {\n <a [color]=\"color\" (click)=\"buttonClick.emit($event)\" [disabled]=\"disabled\" mat-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'click' && !label) {\n <a (click)=\"buttonClick.emit($event)\" [disabled]=\"disabled\" mat-icon-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- External link with label... -->\n @if (type === 'href' && label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'href' && !label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-icon-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n}\n\n@if (raised) {\n <!-- App routed link with label... -->\n @if (type === 'routerLink' && label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-raised-button\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'routerLink' && !label) {\n <a\n [color]=\"color\"\n [queryParams]=\"queryParams\"\n [queryParamsHandling]=\"queryParamsHandling\"\n [routerLink]=\"navigate\"\n [fragment]=\"fragment\"\n [preserveFragment]=\"preserveFragment\"\n [disabled]=\"disabled\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- Click with label... -->\n @if (type === 'click' && label) {\n <a [color]=\"color\" [disabled]=\"disabled\" (click)=\"buttonClick.emit($event)\" mat-raised-button>\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'click' && !label) {\n <a\n [color]=\"color\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n <!-- External link with label... -->\n @if (type === 'href' && label) {\n <a [attr.href]=\"href\" [color]=\"color\" [disabled]=\"disabled\" mat-raised-button target=\"_blank\">\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n <span>{{ label }}</span>\n </a>\n }\n <!-- ... and without label -->\n @if (type === 'href' && !label) {\n <a\n [attr.href]=\"href\"\n [color]=\"color\"\n [disabled]=\"disabled\"\n mat-icon-button\n class=\"mat-elevation-z4\"\n target=\"_blank\"\n >\n @if (icon) {\n <mat-icon [naturalIcon]=\"icon\" />\n }\n </a>\n }\n}\n", styles: ["natural-table-button{display:flex;flex:1;flex-direction:row;justify-content:flex-start;align-items:center}natural-table-button mat-icon:not(:last-child){margin-right:5px}natural-table-button a.mat-mdc-button{display:flex;flex:1;flex-direction:row;justify-content:flex-start;align-items:center}natural-table-button a.mat-mdc-button .mdc-button__label{display:flex;flex-direction:row;align-items:center}natural-table-button>span{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:0 8px}\n"] }]
50
50
  }], propDecorators: { queryParams: [{
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
72
72
  }], buttonClick: [{
73
73
  type: Output
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3RhYmxlLWJ1dHRvbi90YWJsZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvdGFibGUtYnV0dG9uL3RhYmxlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBOEIsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFeEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUVyRDs7Ozs7Ozs7O0dBU0c7QUFVSCxNQUFNLE9BQU8sMkJBQTJCO0lBVHhDO1FBVW9CLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLHdCQUFtQixHQUF3QixFQUFFLENBQUM7UUFJOUMsYUFBUSxHQUE2QixFQUFFLENBQUM7UUFFeEMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVMLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUNoRSxTQUFJLEdBQTZDLE1BQU0sQ0FBQztLQWFsRTtJQVhVLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO1FBQzdCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUN2QixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7OEdBekJRLDJCQUEyQjtrR0FBM0IsMkJBQTJCLHdaQzFCeEMsODRLQTJLQSxra0JEbkpjLGFBQWEsb0xBQUUsb0JBQW9CLGtHQUFFLGVBQWUsaVVBQUUsVUFBVTs7MkZBRWpFLDJCQUEyQjtrQkFUdkMsU0FBUzsrQkFDSSxzQkFBc0IsaUJBSWpCLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUM7OEJBRzNELFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ29CLFdBQVc7c0JBQXBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGFyYW1zLCBRdWVyeVBhcmFtc0hhbmRsaW5nLCBSb3V0ZXJMaW5rfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge05hdHVyYWxJY29uRGlyZWN0aXZlfSBmcm9tICcuLi9pY29uL2ljb24uZGlyZWN0aXZlJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbi8qKlxuICogQnV0dG9uIHRoYXQgZml0cyB3ZWxsIGluIGEgYDxtYXQtdGFibGU+YCBhbmQgc3VwcG9ydCBlaXRoZXJcbiAqIHJvdXRlIG5hdmlnYXRpb24gdmlhIGBuYXZpZ2F0ZWAsIG9yIGV4dGVybmFsIFVSTCB2aWEgYGhyZWZgLFxuICogb3IgY2FsbGJhY2sgdmlhIGBidXR0b25DbGlja2AuXG4gKlxuICogSWYgbmVpdGhlciBgbmF2aWdhdGVgIG5vciBgaHJlZmAgbm9yIGBidXR0b25DbGlja2AgaGF2ZSBhIG1lYW5pbmdmdWwgdmFsdWUsIHRoZW5cbiAqIGl0IHdpbGwgc2hvdyB0aGUgaWNvbiBhbmQvb3IgbGFiZWwgaW4gYSBgPHNwYW4+YCBpbnN0ZWFkIG9mIGEgYnV0dG9uLlxuICpcbiAqIEV4dGVybmFsIFVSTCB3aWxsIGFsd2F5cyBiZSBvcGVuZWQgaW4gbmV3IHRhYi5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYXR1cmFsLXRhYmxlLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3RhYmxlLWJ1dHRvbi5jb21wb25lbnQuc2NzcycsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtY29tcG9uZW50LXZpZXctZW5jYXBzdWxhdGlvblxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTWF0SWNvbk1vZHVsZSwgTmF0dXJhbEljb25EaXJlY3RpdmUsIE1hdEJ1dHRvbk1vZHVsZSwgUm91dGVyTGlua10sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxUYWJsZUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcHVibGljIHF1ZXJ5UGFyYW1zOiBQYXJhbXMgPSB7fTtcbiAgICBASW5wdXQoKSBwdWJsaWMgcXVlcnlQYXJhbXNIYW5kbGluZzogUXVlcnlQYXJhbXNIYW5kbGluZyA9ICcnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYWJlbD86IHN0cmluZyB8IG51bGw7XG4gICAgQElucHV0KCkgcHVibGljIGljb24/OiBzdHJpbmcgfCBudWxsO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBocmVmPzogc3RyaW5nIHwgbnVsbDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbmF2aWdhdGU6IFJvdXRlckxpbmtbJ3JvdXRlckxpbmsnXSA9IFtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmcmFnbWVudD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcHJlc2VydmVGcmFnbWVudCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByYWlzZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29sb3I6IFRoZW1lUGFsZXR0ZTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICAgIHB1YmxpYyB0eXBlOiAncm91dGVyTGluaycgfCAnaHJlZicgfCAnY2xpY2snIHwgJ25vbmUnID0gJ25vbmUnO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXZpZ2F0ZT8ubGVuZ3RoIHx8IE9iamVjdC5rZXlzKHRoaXMucXVlcnlQYXJhbXMpLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ3JvdXRlckxpbmsnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaHJlZikge1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ2hyZWYnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYnV0dG9uQ2xpY2sub2JzZXJ2ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9ICdjbGljayc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSAnbm9uZSc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8IS0tIEJlY2F1c2UgZGlyZWN0aXZlcyBjYW4ndCBiZSBhcHBsaWVkIGNvbmRpdGlvbmFsbHkgKHJvdXRlckxpbmssIG1hdC1idXR0b24gYW5kIG1hdC1pY29uLWJ1dHRvbiksIHdlIGhhdmUgdG8gdXNlIGRpZmZlcmVudCBlbGVtZW50cyAtLT5cblxuPCEtLSBFZGdlIGNhc2Ugb2YgYSBidXR0b24gd2l0aG91dCBhbnkga2luZCBvZiBsaW5rIGF0IGFsbCAtLT5cbkBpZiAodHlwZSA9PT0gJ25vbmUnKSB7XG4gICAgPHNwYW4+XG4gICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgICAgPG1hdC1pY29uIFtuYXR1cmFsSWNvbl09XCJpY29uXCIgLz5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGxhYmVsKSB7XG4gICAgICAgICAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgIDwvc3Bhbj5cbn1cblxuQGlmICghcmFpc2VkKSB7XG4gICAgPCEtLSBBcHAgcm91dGVkIGxpbmsgd2l0aCBsYWJlbC4uLiAtLT5cbiAgICBAaWYgKHR5cGUgPT09ICdyb3V0ZXJMaW5rJyAmJiBsYWJlbCkge1xuICAgICAgICA8YVxuICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc1wiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIm5hdmlnYXRlXCJcbiAgICAgICAgICAgIFtmcmFnbWVudF09XCJmcmFnbWVudFwiXG4gICAgICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCJwcmVzZXJ2ZUZyYWdtZW50XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbbmF0dXJhbEljb25dPVwiaWNvblwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIH1cbiAgICA8IS0tIC4uLiBhbmQgd2l0aG91dCBsYWJlbCAtLT5cbiAgICBAaWYgKHR5cGUgPT09ICdyb3V0ZXJMaW5rJyAmJiAhbGFiZWwpIHtcbiAgICAgICAgPGFcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIlxuICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwicXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJuYXZpZ2F0ZVwiXG4gICAgICAgICAgICBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIlxuICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwicHJlc2VydmVGcmFnbWVudFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbbmF0dXJhbEljb25dPVwiaWNvblwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYT5cbiAgICB9XG4gICAgPCEtLSBDbGljayB3aXRoIGxhYmVsLi4uIC0tPlxuICAgIEBpZiAodHlwZSA9PT0gJ2NsaWNrJyAmJiBsYWJlbCkge1xuICAgICAgICA8YSBbY29sb3JdPVwiY29sb3JcIiAoY2xpY2spPVwiYnV0dG9uQ2xpY2suZW1pdCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgbWF0LWJ1dHRvbj5cbiAgICAgICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbbmF0dXJhbEljb25dPVwiaWNvblwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIH1cbiAgICA8IS0tIC4uLiBhbmQgd2l0aG91dCBsYWJlbCAtLT5cbiAgICBAaWYgKHR5cGUgPT09ICdjbGljaycgJiYgIWxhYmVsKSB7XG4gICAgICAgIDxhIChjbGljayk9XCJidXR0b25DbGljay5lbWl0KCRldmVudClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBtYXQtaWNvbi1idXR0b24+XG4gICAgICAgICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImljb25cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2E+XG4gICAgfVxuICAgIDwhLS0gRXh0ZXJuYWwgbGluayB3aXRoIGxhYmVsLi4uIC0tPlxuICAgIEBpZiAodHlwZSA9PT0gJ2hyZWYnICYmIGxhYmVsKSB7XG4gICAgICAgIDxhIFthdHRyLmhyZWZdPVwiaHJlZlwiIFtjb2xvcl09XCJjb2xvclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIG1hdC1idXR0b24gdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImljb25cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICB9XG4gICAgPCEtLSAuLi4gYW5kIHdpdGhvdXQgbGFiZWwgLS0+XG4gICAgQGlmICh0eXBlID09PSAnaHJlZicgJiYgIWxhYmVsKSB7XG4gICAgICAgIDxhIFthdHRyLmhyZWZdPVwiaHJlZlwiIFtjb2xvcl09XCJjb2xvclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIG1hdC1pY29uLWJ1dHRvbiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbbmF0dXJhbEljb25dPVwiaWNvblwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYT5cbiAgICB9XG59XG5cbkBpZiAocmFpc2VkKSB7XG4gICAgPCEtLSBBcHAgcm91dGVkIGxpbmsgd2l0aCBsYWJlbC4uLiAtLT5cbiAgICBAaWYgKHR5cGUgPT09ICdyb3V0ZXJMaW5rJyAmJiBsYWJlbCkge1xuICAgICAgICA8YVxuICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc1wiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIm5hdmlnYXRlXCJcbiAgICAgICAgICAgIFtmcmFnbWVudF09XCJmcmFnbWVudFwiXG4gICAgICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCJwcmVzZXJ2ZUZyYWdtZW50XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImljb25cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICB9XG4gICAgPCEtLSAuLi4gYW5kIHdpdGhvdXQgbGFiZWwgLS0+XG4gICAgQGlmICh0eXBlID09PSAncm91dGVyTGluaycgJiYgIWxhYmVsKSB7XG4gICAgICAgIDxhXG4gICAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwibmF2aWdhdGVcIlxuICAgICAgICAgICAgW2ZyYWdtZW50XT1cImZyYWdtZW50XCJcbiAgICAgICAgICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cInByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo0XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChpY29uKSB7XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuYXR1cmFsSWNvbl09XCJpY29uXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9hPlxuICAgIH1cbiAgICA8IS0tIENsaWNrIHdpdGggbGFiZWwuLi4gLS0+XG4gICAgQGlmICh0eXBlID09PSAnY2xpY2snICYmIGxhYmVsKSB7XG4gICAgICAgIDxhIFtjb2xvcl09XCJjb2xvclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIChjbGljayk9XCJidXR0b25DbGljay5lbWl0KCRldmVudClcIiBtYXQtcmFpc2VkLWJ1dHRvbj5cbiAgICAgICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbbmF0dXJhbEljb25dPVwiaWNvblwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIH1cbiAgICA8IS0tIC4uLiBhbmQgd2l0aG91dCBsYWJlbCAtLT5cbiAgICBAaWYgKHR5cGUgPT09ICdjbGljaycgJiYgIWxhYmVsKSB7XG4gICAgICAgIDxhXG4gICAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJidXR0b25DbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejRcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImljb25cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2E+XG4gICAgfVxuICAgIDwhLS0gRXh0ZXJuYWwgbGluayB3aXRoIGxhYmVsLi4uIC0tPlxuICAgIEBpZiAodHlwZSA9PT0gJ2hyZWYnICYmIGxhYmVsKSB7XG4gICAgICAgIDxhIFthdHRyLmhyZWZdPVwiaHJlZlwiIFtjb2xvcl09XCJjb2xvclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIG1hdC1yYWlzZWQtYnV0dG9uIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgICAgQGlmIChpY29uKSB7XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuYXR1cmFsSWNvbl09XCJpY29uXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgfVxuICAgIDwhLS0gLi4uIGFuZCB3aXRob3V0IGxhYmVsIC0tPlxuICAgIEBpZiAodHlwZSA9PT0gJ2hyZWYnICYmICFsYWJlbCkge1xuICAgICAgICA8YVxuICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJocmVmXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejRcIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChpY29uKSB7XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuYXR1cmFsSWNvbl09XCJpY29uXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9hPlxuICAgIH1cbn1cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3RhYmxlLWJ1dHRvbi90YWJsZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvdGFibGUtYnV0dG9uL3RhYmxlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBOEIsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRWpGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFFckQ7Ozs7Ozs7OztHQVNHO0FBVUgsTUFBTSxPQUFPLDJCQUEyQjtJQVR4QztRQVVvQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6Qix3QkFBbUIsR0FBd0IsRUFBRSxDQUFDO1FBSTlDLGFBQVEsR0FBNkIsRUFBRSxDQUFDO1FBRXhDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFTCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFDaEUsU0FBSSxHQUE2QyxNQUFNLENBQUM7S0FhbEU7SUFYVSxXQUFXO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxZQUFZLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwRyxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQztRQUM3QixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7UUFDdkIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUN4QixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDOzhHQXpCUSwyQkFBMkI7a0dBQTNCLDJCQUEyQix3WkMxQnhDLDg0S0EyS0Esa2tCRG5KYyxhQUFhLG9MQUFFLG9CQUFvQixrR0FBRSxlQUFlLGlVQUFFLFVBQVU7OzJGQUVqRSwyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0ksc0JBQXNCLGlCQUlqQixpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDOzhCQUczRCxXQUFXO3NCQUExQixLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNvQixXQUFXO3NCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BhcmFtcywgUXVlcnlQYXJhbXNIYW5kbGluZywgUm91dGVyTGluaywgVXJsVHJlZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtOYXR1cmFsSWNvbkRpcmVjdGl2ZX0gZnJvbSAnLi4vaWNvbi9pY29uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG4vKipcbiAqIEJ1dHRvbiB0aGF0IGZpdHMgd2VsbCBpbiBhIGA8bWF0LXRhYmxlPmAgYW5kIHN1cHBvcnQgZWl0aGVyXG4gKiByb3V0ZSBuYXZpZ2F0aW9uIHZpYSBgbmF2aWdhdGVgLCBvciBleHRlcm5hbCBVUkwgdmlhIGBocmVmYCxcbiAqIG9yIGNhbGxiYWNrIHZpYSBgYnV0dG9uQ2xpY2tgLlxuICpcbiAqIElmIG5laXRoZXIgYG5hdmlnYXRlYCBub3IgYGhyZWZgIG5vciBgYnV0dG9uQ2xpY2tgIGhhdmUgYSBtZWFuaW5nZnVsIHZhbHVlLCB0aGVuXG4gKiBpdCB3aWxsIHNob3cgdGhlIGljb24gYW5kL29yIGxhYmVsIGluIGEgYDxzcGFuPmAgaW5zdGVhZCBvZiBhIGJ1dHRvbi5cbiAqXG4gKiBFeHRlcm5hbCBVUkwgd2lsbCBhbHdheXMgYmUgb3BlbmVkIGluIG5ldyB0YWIuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC10YWJsZS1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi90YWJsZS1idXR0b24uY29tcG9uZW50LnNjc3MnLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLWNvbXBvbmVudC12aWV3LWVuY2Fwc3VsYXRpb25cbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW01hdEljb25Nb2R1bGUsIE5hdHVyYWxJY29uRGlyZWN0aXZlLCBNYXRCdXR0b25Nb2R1bGUsIFJvdXRlckxpbmtdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsVGFibGVCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIHB1YmxpYyBxdWVyeVBhcmFtczogUGFyYW1zID0ge307XG4gICAgQElucHV0KCkgcHVibGljIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgPSAnJztcbiAgICBASW5wdXQoKSBwdWJsaWMgbGFiZWw/OiBzdHJpbmcgfCBudWxsO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpY29uPzogc3RyaW5nIHwgbnVsbDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaHJlZj86IHN0cmluZyB8IG51bGw7XG4gICAgQElucHV0KCkgcHVibGljIG5hdmlnYXRlOiBSb3V0ZXJMaW5rWydyb3V0ZXJMaW5rJ10gPSBbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgZnJhZ21lbnQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHByZXNlcnZlRnJhZ21lbnQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgcmFpc2VkID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGU7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBidXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgICBwdWJsaWMgdHlwZTogJ3JvdXRlckxpbmsnIHwgJ2hyZWYnIHwgJ2NsaWNrJyB8ICdub25lJyA9ICdub25lJztcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGUgaW5zdGFuY2VvZiBVcmxUcmVlIHx8IHRoaXMubmF2aWdhdGU/Lmxlbmd0aCB8fCBPYmplY3Qua2V5cyh0aGlzLnF1ZXJ5UGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9ICdyb3V0ZXJMaW5rJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmhyZWYpIHtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9ICdocmVmJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJ1dHRvbkNsaWNrLm9ic2VydmVkKSB7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSAnY2xpY2snO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ25vbmUnO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPCEtLSBCZWNhdXNlIGRpcmVjdGl2ZXMgY2FuJ3QgYmUgYXBwbGllZCBjb25kaXRpb25hbGx5IChyb3V0ZXJMaW5rLCBtYXQtYnV0dG9uIGFuZCBtYXQtaWNvbi1idXR0b24pLCB3ZSBoYXZlIHRvIHVzZSBkaWZmZXJlbnQgZWxlbWVudHMgLS0+XG5cbjwhLS0gRWRnZSBjYXNlIG9mIGEgYnV0dG9uIHdpdGhvdXQgYW55IGtpbmQgb2YgbGluayBhdCBhbGwgLS0+XG5AaWYgKHR5cGUgPT09ICdub25lJykge1xuICAgIDxzcGFuPlxuICAgICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgICAgIDxtYXQtaWNvbiBbbmF0dXJhbEljb25dPVwiaWNvblwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChsYWJlbCkge1xuICAgICAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICA8L3NwYW4+XG59XG5cbkBpZiAoIXJhaXNlZCkge1xuICAgIDwhLS0gQXBwIHJvdXRlZCBsaW5rIHdpdGggbGFiZWwuLi4gLS0+XG4gICAgQGlmICh0eXBlID09PSAncm91dGVyTGluaycgJiYgbGFiZWwpIHtcbiAgICAgICAgPGFcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIlxuICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwicXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJuYXZpZ2F0ZVwiXG4gICAgICAgICAgICBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIlxuICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwicHJlc2VydmVGcmFnbWVudFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImljb25cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICB9XG4gICAgPCEtLSAuLi4gYW5kIHdpdGhvdXQgbGFiZWwgLS0+XG4gICAgQGlmICh0eXBlID09PSAncm91dGVyTGluaycgJiYgIWxhYmVsKSB7XG4gICAgICAgIDxhXG4gICAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc0hhbmRsaW5nXT1cInF1ZXJ5UGFyYW1zSGFuZGxpbmdcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwibmF2aWdhdGVcIlxuICAgICAgICAgICAgW2ZyYWdtZW50XT1cImZyYWdtZW50XCJcbiAgICAgICAgICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cInByZXNlcnZlRnJhZ21lbnRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImljb25cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2E+XG4gICAgfVxuICAgIDwhLS0gQ2xpY2sgd2l0aCBsYWJlbC4uLiAtLT5cbiAgICBAaWYgKHR5cGUgPT09ICdjbGljaycgJiYgbGFiZWwpIHtcbiAgICAgICAgPGEgW2NvbG9yXT1cImNvbG9yXCIgKGNsaWNrKT1cImJ1dHRvbkNsaWNrLmVtaXQoJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIG1hdC1idXR0b24+XG4gICAgICAgICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImljb25cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICB9XG4gICAgPCEtLSAuLi4gYW5kIHdpdGhvdXQgbGFiZWwgLS0+XG4gICAgQGlmICh0eXBlID09PSAnY2xpY2snICYmICFsYWJlbCkge1xuICAgICAgICA8YSAoY2xpY2spPVwiYnV0dG9uQ2xpY2suZW1pdCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgbWF0LWljb24tYnV0dG9uPlxuICAgICAgICAgICAgQGlmIChpY29uKSB7XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuYXR1cmFsSWNvbl09XCJpY29uXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9hPlxuICAgIH1cbiAgICA8IS0tIEV4dGVybmFsIGxpbmsgd2l0aCBsYWJlbC4uLiAtLT5cbiAgICBAaWYgKHR5cGUgPT09ICdocmVmJyAmJiBsYWJlbCkge1xuICAgICAgICA8YSBbYXR0ci5ocmVmXT1cImhyZWZcIiBbY29sb3JdPVwiY29sb3JcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBtYXQtYnV0dG9uIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgICAgQGlmIChpY29uKSB7XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuYXR1cmFsSWNvbl09XCJpY29uXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgfVxuICAgIDwhLS0gLi4uIGFuZCB3aXRob3V0IGxhYmVsIC0tPlxuICAgIEBpZiAodHlwZSA9PT0gJ2hyZWYnICYmICFsYWJlbCkge1xuICAgICAgICA8YSBbYXR0ci5ocmVmXT1cImhyZWZcIiBbY29sb3JdPVwiY29sb3JcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBtYXQtaWNvbi1idXR0b24gdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImljb25cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2E+XG4gICAgfVxufVxuXG5AaWYgKHJhaXNlZCkge1xuICAgIDwhLS0gQXBwIHJvdXRlZCBsaW5rIHdpdGggbGFiZWwuLi4gLS0+XG4gICAgQGlmICh0eXBlID09PSAncm91dGVyTGluaycgJiYgbGFiZWwpIHtcbiAgICAgICAgPGFcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIlxuICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zSGFuZGxpbmddPVwicXVlcnlQYXJhbXNIYW5kbGluZ1wiXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJuYXZpZ2F0ZVwiXG4gICAgICAgICAgICBbZnJhZ21lbnRdPVwiZnJhZ21lbnRcIlxuICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwicHJlc2VydmVGcmFnbWVudFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChpY29uKSB7XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuYXR1cmFsSWNvbl09XCJpY29uXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgfVxuICAgIDwhLS0gLi4uIGFuZCB3aXRob3V0IGxhYmVsIC0tPlxuICAgIEBpZiAodHlwZSA9PT0gJ3JvdXRlckxpbmsnICYmICFsYWJlbCkge1xuICAgICAgICA8YVxuICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc1wiXG4gICAgICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJxdWVyeVBhcmFtc0hhbmRsaW5nXCJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIm5hdmlnYXRlXCJcbiAgICAgICAgICAgIFtmcmFnbWVudF09XCJmcmFnbWVudFwiXG4gICAgICAgICAgICBbcHJlc2VydmVGcmFnbWVudF09XCJwcmVzZXJ2ZUZyYWdtZW50XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16NFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbbmF0dXJhbEljb25dPVwiaWNvblwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYT5cbiAgICB9XG4gICAgPCEtLSBDbGljayB3aXRoIGxhYmVsLi4uIC0tPlxuICAgIEBpZiAodHlwZSA9PT0gJ2NsaWNrJyAmJiBsYWJlbCkge1xuICAgICAgICA8YSBbY29sb3JdPVwiY29sb3JcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoY2xpY2spPVwiYnV0dG9uQ2xpY2suZW1pdCgkZXZlbnQpXCIgbWF0LXJhaXNlZC1idXR0b24+XG4gICAgICAgICAgICBAaWYgKGljb24pIHtcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gW25hdHVyYWxJY29uXT1cImljb25cIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICB9XG4gICAgPCEtLSAuLi4gYW5kIHdpdGhvdXQgbGFiZWwgLS0+XG4gICAgQGlmICh0eXBlID09PSAnY2xpY2snICYmICFsYWJlbCkge1xuICAgICAgICA8YVxuICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiYnV0dG9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo0XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChpY29uKSB7XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIFtuYXR1cmFsSWNvbl09XCJpY29uXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9hPlxuICAgIH1cbiAgICA8IS0tIEV4dGVybmFsIGxpbmsgd2l0aCBsYWJlbC4uLiAtLT5cbiAgICBAaWYgKHR5cGUgPT09ICdocmVmJyAmJiBsYWJlbCkge1xuICAgICAgICA8YSBbYXR0ci5ocmVmXT1cImhyZWZcIiBbY29sb3JdPVwiY29sb3JcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBtYXQtcmFpc2VkLWJ1dHRvbiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbbmF0dXJhbEljb25dPVwiaWNvblwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIH1cbiAgICA8IS0tIC4uLiBhbmQgd2l0aG91dCBsYWJlbCAtLT5cbiAgICBAaWYgKHR5cGUgPT09ICdocmVmJyAmJiAhbGFiZWwpIHtcbiAgICAgICAgPGFcbiAgICAgICAgICAgIFthdHRyLmhyZWZdPVwiaHJlZlwiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo0XCJcbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBpZiAoaWNvbikge1xuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbbmF0dXJhbEljb25dPVwiaWNvblwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYT5cbiAgICB9XG59XG4iXX0=
@@ -139,10 +139,10 @@ export class NaturalDebounceService {
139
139
  this.allDebouncedUpdateCache.delete(modelService);
140
140
  }
141
141
  }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalDebounceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
143
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalDebounceService, providedIn: 'root' }); }
142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalDebounceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
143
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalDebounceService, providedIn: 'root' }); }
144
144
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalDebounceService, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalDebounceService, decorators: [{
146
146
  type: Injectable,
147
147
  args: [{
148
148
  providedIn: 'root',
@@ -55,10 +55,10 @@ export class NaturalEnumService {
55
55
  return '';
56
56
  }));
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalEnumService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
59
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalEnumService, providedIn: 'root' }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalEnumService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
59
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalEnumService, providedIn: 'root' }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalEnumService, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalEnumService, decorators: [{
62
62
  type: Injectable,
63
63
  args: [{
64
64
  providedIn: 'root',
@@ -71,7 +71,7 @@ export class NaturalLinkMutationService {
71
71
  .pipe(map(({ data }) => {
72
72
  if (data.__type?.fields) {
73
73
  this.allMutations = data.__type.fields
74
- .filter(v => v.name.match(/^(link|unlink)/))
74
+ .filter(v => /^(link|unlink)/.exec(v.name))
75
75
  .map(v => {
76
76
  return {
77
77
  name: v.name,
@@ -141,13 +141,13 @@ export class NaturalLinkMutationService {
141
141
  }
142
142
  }`;
143
143
  }
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalLinkMutationService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
145
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalLinkMutationService, providedIn: 'root' }); }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalLinkMutationService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
145
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalLinkMutationService, providedIn: 'root' }); }
146
146
  }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalLinkMutationService, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalLinkMutationService, decorators: [{
148
148
  type: Injectable,
149
149
  args: [{
150
150
  providedIn: 'root',
151
151
  }]
152
152
  }], ctorParameters: () => [{ type: i1.Apollo }] });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1tdXRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL3NlcnZpY2VzL2xpbmstbXV0YXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxRQUFRLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7OztBQUV4RDs7R0FFRztBQUNILE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCdkIsQ0FBQztBQXlDRixNQUFNLE9BQU8sMEJBQTBCO0lBTW5DLFlBQW9DLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV0RDs7T0FFRztJQUNJLElBQUksQ0FDUCxJQUFvQixFQUNwQixJQUFvQixFQUNwQixZQUEyQixJQUFJLEVBQy9CLFlBQXFCLEVBQUU7UUFFdkIsa0RBQWtEO1FBQ2xELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FDeEUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUNoRCxD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QUksS0FBSyxDQUFDO1FBQ1YsSUFBSSxLQUFLLENBQUM7UUFDVixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0IsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ0osS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzNCLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMvQixDQUFDO1FBQ0QsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDM0IsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFM0IsSUFBSSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDN0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsbUJBQW1CLElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUM3RSxDQUFDO1FBRUQsT0FBTztjQUNELFFBQVEsQ0FBQyxJQUFJLElBQUksbUJBQW1COzs7VUFHeEMsQ0FBQztJQUNQLENBQUM7OEdBcktRLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07OzJGQUVULDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fwb2xsbywgZ3FsfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQge0ZldGNoUmVzdWx0fSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Nsb25lfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMaXRlcmFsfSBmcm9tICcuLi90eXBlcy90eXBlcyc7XG5pbXBvcnQge3VwcGVyQ2FzZUZpcnN0TGV0dGVyfSBmcm9tICcuLi9jbGFzc2VzL3V0aWxpdHknO1xuXG4vKipcbiAqIFF1ZXJ5IHRvIGdldCBsaXN0IG9mIG11dGF0aW9uc1xuICovXG5jb25zdCBxdWVyaWVzUXVlcnkgPSBncWxgXG4gICAgcXVlcnkgTXV0YXRpb25zIHtcbiAgICAgICAgX190eXBlKG5hbWU6IFwiTXV0YXRpb25cIikge1xuICAgICAgICAgICAgZmllbGRzIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgYXJncyB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvZlR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbnR5cGUgSW50cm9zcGVjdGVkQXJnID0ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiB7XG4gICAgICAgIG9mVHlwZTogbnVsbCB8IHtcbiAgICAgICAgICAgIG5hbWU6IG51bGwgfCBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgfTtcbn07XG5cbnR5cGUgSW50cm9zcGVjdGVkTXV0YXRpb25zID0ge1xuICAgIF9fdHlwZTogbnVsbCB8IHtcbiAgICAgICAgZmllbGRzOlxuICAgICAgICAgICAgfCBudWxsXG4gICAgICAgICAgICB8IHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICAgIGFyZ3M6IEludHJvc3BlY3RlZEFyZ1tdO1xuICAgICAgICAgICAgICB9W107XG4gICAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIExpbmthYmxlT2JqZWN0ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgX190eXBlbmFtZTogc3RyaW5nO1xufTtcblxudHlwZSBNdXRhdGlvbkFyZyA9IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xufTtcblxudHlwZSBNdXRhdGlvbiA9IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYXJnMTogTXV0YXRpb25Bcmc7XG4gICAgYXJnMjogTXV0YXRpb25Bcmc7XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsTGlua011dGF0aW9uU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogUmVjZWl2ZXMgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIG11dGF0aW9uc1xuICAgICAqL1xuICAgIHByaXZhdGUgYWxsTXV0YXRpb25zPzogTXV0YXRpb25bXTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFwb2xsbzogQXBvbGxvKSB7fVxuXG4gICAgLyoqXG4gICAgICogTGluayB0d28gb2JqZWN0cyB0b2dldGhlclxuICAgICAqL1xuICAgIHB1YmxpYyBsaW5rKFxuICAgICAgICBvYmoxOiBMaW5rYWJsZU9iamVjdCxcbiAgICAgICAgb2JqMjogTGlua2FibGVPYmplY3QsXG4gICAgICAgIG90aGVyTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsXG4gICAgICAgIHZhcmlhYmxlczogTGl0ZXJhbCA9IHt9LFxuICAgICk6IE9ic2VydmFibGU8RmV0Y2hSZXN1bHQ8e2lkOiBzdHJpbmd9Pj4ge1xuICAgICAgICAvLyBjbG9uZSBwcmV2ZW50cyB0byBhZmZlY3QgdGhlIG9yaWdpbmFsIHJlZmVyZW5jZVxuICAgICAgICBjb25zdCBjbG9uZWRWYXJpYWJsZXMgPSBjbG9uZSh2YXJpYWJsZXMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldE11dGF0aW9uKCdsaW5rJywgb2JqMSwgb2JqMiwgb3RoZXJOYW1lLCBjbG9uZWRWYXJpYWJsZXMpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAobXV0YXRpb24gPT4gdGhpcy5leGVjdXRlKG11dGF0aW9uKSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTGluayBtYW55IG9iamVjdHNcbiAgICAgKi9cbiAgICBwdWJsaWMgbGlua01hbnkoXG4gICAgICAgIG9iajE6IExpbmthYmxlT2JqZWN0LFxuICAgICAgICBvYmplY3RzOiBMaW5rYWJsZU9iamVjdFtdLFxuICAgICAgICBvdGhlck5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgICAgICB2YXJpYWJsZXM6IExpdGVyYWwgPSB7fSxcbiAgICApOiBPYnNlcnZhYmxlPEZldGNoUmVzdWx0PHtpZDogc3RyaW5nfT5bXT4ge1xuICAgICAgICByZXR1cm4gZm9ya0pvaW4ob2JqZWN0cy5tYXAob2JqMiA9PiB0aGlzLmxpbmsob2JqMSwgb2JqMiwgb3RoZXJOYW1lLCB2YXJpYWJsZXMpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVW5saW5rIHR3byBvYmplY3RzXG4gICAgICovXG4gICAgcHVibGljIHVubGluayhcbiAgICAgICAgb2JqMTogTGlua2FibGVPYmplY3QsXG4gICAgICAgIG9iajI6IExpbmthYmxlT2JqZWN0LFxuICAgICAgICBvdGhlck5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgICk6IE9ic2VydmFibGU8RmV0Y2hSZXN1bHQ8e2lkOiBzdHJpbmd9Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRNdXRhdGlvbigndW5saW5rJywgb2JqMSwgb2JqMiwgb3RoZXJOYW1lKS5waXBlKHN3aXRjaE1hcChtdXRhdGlvbiA9PiB0aGlzLmV4ZWN1dGUobXV0YXRpb24pKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgbXV0YXRpb24gbmFtZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEFsbE11dGF0aW9uTmFtZXMoKTogT2JzZXJ2YWJsZTxNdXRhdGlvbltdPiB7XG4gICAgICAgIGlmICh0aGlzLmFsbE11dGF0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuYWxsTXV0YXRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hcEFyZyA9IChhcmc6IEludHJvc3BlY3RlZEFyZyk6IE11dGF0aW9uQXJnID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbmFtZTogYXJnLm5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogYXJnLnR5cGU/Lm9mVHlwZT8ubmFtZT8ucmVwbGFjZSgvSUQkLywgJycpIHx8ICdzaG91bGQtbmV2ZXItaGFwcGVuJyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBvbGxvXG4gICAgICAgICAgICAucXVlcnk8SW50cm9zcGVjdGVkTXV0YXRpb25zPih7XG4gICAgICAgICAgICAgICAgcXVlcnk6IHF1ZXJpZXNRdWVyeSxcbiAgICAgICAgICAgICAgICBmZXRjaFBvbGljeTogJ2NhY2hlLWZpcnN0JyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHtkYXRhfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5fX3R5cGU/LmZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxNdXRhdGlvbnMgPSBkYXRhLl9fdHlwZS5maWVsZHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHYgPT4gdi5uYW1lLm1hdGNoKC9eKGxpbmt8dW5saW5rKS8pKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAodiA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB2Lm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcxOiBtYXBBcmcodi5hcmdzWzBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZzI6IG1hcEFyZyh2LmFyZ3NbMV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxNdXRhdGlvbnMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFsbE11dGF0aW9ucztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGUgbXV0YXRpb24gdXNpbmcgcGF0dGVybnMgYW5kIHJlcGxhY2luZyB2YXJpYWJsZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldE11dGF0aW9uKFxuICAgICAgICBhY3Rpb246IHN0cmluZyxcbiAgICAgICAgb2JqMTogTGlua2FibGVPYmplY3QsXG4gICAgICAgIG9iajI6IExpbmthYmxlT2JqZWN0LFxuICAgICAgICBvdGhlck5hbWU6IHN0cmluZyB8IG51bGwsXG4gICAgICAgIHZhcmlhYmxlczogTGl0ZXJhbCA9IHt9LFxuICAgICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIG90aGVyTmFtZSA9IG90aGVyTmFtZSA/IHVwcGVyQ2FzZUZpcnN0TGV0dGVyKG90aGVyTmFtZSkgOiBvdGhlck5hbWU7XG4gICAgICAgIGNvbnN0IG11dGF0aW9uTmFtZSA9IGFjdGlvbiArIG9iajEuX190eXBlbmFtZSArIChvdGhlck5hbWUgfHwgb2JqMi5fX3R5cGVuYW1lKTtcbiAgICAgICAgY29uc3QgcmV2ZXJzZWRNdXRhdGlvbk5hbWUgPSBhY3Rpb24gKyBvYmoyLl9fdHlwZW5hbWUgKyAob3RoZXJOYW1lIHx8IG9iajEuX190eXBlbmFtZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsTXV0YXRpb25OYW1lcygpLnBpcGUoXG4gICAgICAgICAgICBtYXAoYWxsTXV0YXRpb25OYW1lcyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbXV0YXRpb24gPVxuICAgICAgICAgICAgICAgICAgICBhbGxNdXRhdGlvbk5hbWVzLmZpbmQobXV0ID0+IG11dC5uYW1lID09PSBtdXRhdGlvbk5hbWUpIHx8XG4gICAgICAgICAgICAgICAgICAgIGFsbE11dGF0aW9uTmFtZXMuZmluZChtdXQgPT4gbXV0Lm5hbWUgPT09IHJldmVyc2VkTXV0YXRpb25OYW1lKTtcblxuICAgICAgICAgICAgICAgIGlmIChtdXRhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5idWlsZFRlbXBsYXRlKG11dGF0aW9uLCBvYmoxLCBvYmoyLCB2YXJpYWJsZXMpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRocm93IFR5cGVFcnJvcignQVBJIGRvZXMgbm90IGFsbG93IHRvICcgKyBhY3Rpb24gKyAnICcgKyBvYmoxLl9fdHlwZW5hbWUgKyAnIGFuZCAnICsgb2JqMi5fX3R5cGVuYW1lKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGUgbXV0YXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIGV4ZWN1dGUobXV0YXRpb246IHN0cmluZyk6IE9ic2VydmFibGU8RmV0Y2hSZXN1bHQ8e2lkOiBzdHJpbmd9Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcG9sbG9cbiAgICAgICAgICAgIC5tdXRhdGU8e2lkOiBzdHJpbmd9Pih7XG4gICAgICAgICAgICAgICAgbXV0YXRpb246IGdxbChtdXRhdGlvbiksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHIgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwb2xsby5jbGllbnQucmVGZXRjaE9ic2VydmFibGVRdWVyaWVzKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBCdWlsZCB0aGUgYWN0dWFsIG11dGF0aW9uIHN0cmluZ1xuICAgICAqL1xuICAgIHByaXZhdGUgYnVpbGRUZW1wbGF0ZShcbiAgICAgICAgbXV0YXRpb246IE11dGF0aW9uLFxuICAgICAgICBvYmoxOiBMaW5rYWJsZU9iamVjdCxcbiAgICAgICAgb2JqMjogTGlua2FibGVPYmplY3QsXG4gICAgICAgIHZhcmlhYmxlczogTGl0ZXJhbCA9IHt9LFxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGxldCBuYW1lMTtcbiAgICAgICAgbGV0IG5hbWUyO1xuICAgICAgICBpZiAob2JqMS5fX3R5cGVuYW1lID09PSBtdXRhdGlvbi5hcmcxLnR5cGUpIHtcbiAgICAgICAgICAgIG5hbWUxID0gbXV0YXRpb24uYXJnMS5uYW1lO1xuICAgICAgICAgICAgbmFtZTIgPSBtdXRhdGlvbi5hcmcyLm5hbWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuYW1lMSA9IG11dGF0aW9uLmFyZzIubmFtZTtcbiAgICAgICAgICAgIG5hbWUyID0gbXV0YXRpb24uYXJnMS5uYW1lO1xuICAgICAgICB9XG4gICAgICAgIHZhcmlhYmxlc1tuYW1lMV0gPSBvYmoxLmlkO1xuICAgICAgICB2YXJpYWJsZXNbbmFtZTJdID0gb2JqMi5pZDtcblxuICAgICAgICBsZXQgc2VyaWFsaXplZFZhcmlhYmxlcyA9ICcnO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh2YXJpYWJsZXMpKSB7XG4gICAgICAgICAgICBzZXJpYWxpemVkVmFyaWFibGVzICs9IGtleSArICc6ICcgKyBKU09OLnN0cmluZ2lmeSh2YXJpYWJsZXNba2V5XSkgKyAnICc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYG11dGF0aW9uIGxpbmtBbmRVbmxpbmsge1xuICAgICAgICAgICAgJHttdXRhdGlvbi5uYW1lfSgke3NlcmlhbGl6ZWRWYXJpYWJsZXN9KSB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfWA7XG4gICAgfVxufVxuIl19
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1tdXRhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL3NlcnZpY2VzL2xpbmstbXV0YXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxRQUFRLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7OztBQUV4RDs7R0FFRztBQUNILE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCdkIsQ0FBQztBQXlDRixNQUFNLE9BQU8sMEJBQTBCO0lBTW5DLFlBQW9DLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV0RDs7T0FFRztJQUNJLElBQUksQ0FDUCxJQUFvQixFQUNwQixJQUFvQixFQUNwQixZQUEyQixJQUFJLEVBQy9CLFlBQXFCLEVBQUU7UUFFdkIsa0RBQWtEO1FBQ2xELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FDeEUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUNoRCxD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QUksS0FBSyxDQUFDO1FBQ1YsSUFBSSxLQUFLLENBQUM7UUFDVixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0IsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ0osS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzNCLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMvQixDQUFDO1FBQ0QsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDM0IsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFM0IsSUFBSSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDN0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsbUJBQW1CLElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUM3RSxDQUFDO1FBRUQsT0FBTztjQUNELFFBQVEsQ0FBQyxJQUFJLElBQUksbUJBQW1COzs7VUFHeEMsQ0FBQztJQUNQLENBQUM7OEdBcktRLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07OzJGQUVULDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fwb2xsbywgZ3FsfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQge0ZldGNoUmVzdWx0fSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Nsb25lfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMaXRlcmFsfSBmcm9tICcuLi90eXBlcy90eXBlcyc7XG5pbXBvcnQge3VwcGVyQ2FzZUZpcnN0TGV0dGVyfSBmcm9tICcuLi9jbGFzc2VzL3V0aWxpdHknO1xuXG4vKipcbiAqIFF1ZXJ5IHRvIGdldCBsaXN0IG9mIG11dGF0aW9uc1xuICovXG5jb25zdCBxdWVyaWVzUXVlcnkgPSBncWxgXG4gICAgcXVlcnkgTXV0YXRpb25zIHtcbiAgICAgICAgX190eXBlKG5hbWU6IFwiTXV0YXRpb25cIikge1xuICAgICAgICAgICAgZmllbGRzIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgYXJncyB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvZlR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbnR5cGUgSW50cm9zcGVjdGVkQXJnID0ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiB7XG4gICAgICAgIG9mVHlwZTogbnVsbCB8IHtcbiAgICAgICAgICAgIG5hbWU6IG51bGwgfCBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgfTtcbn07XG5cbnR5cGUgSW50cm9zcGVjdGVkTXV0YXRpb25zID0ge1xuICAgIF9fdHlwZTogbnVsbCB8IHtcbiAgICAgICAgZmllbGRzOlxuICAgICAgICAgICAgfCBudWxsXG4gICAgICAgICAgICB8IHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgICAgICAgICAgIGFyZ3M6IEludHJvc3BlY3RlZEFyZ1tdO1xuICAgICAgICAgICAgICB9W107XG4gICAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIExpbmthYmxlT2JqZWN0ID0ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgX190eXBlbmFtZTogc3RyaW5nO1xufTtcblxudHlwZSBNdXRhdGlvbkFyZyA9IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xufTtcblxudHlwZSBNdXRhdGlvbiA9IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYXJnMTogTXV0YXRpb25Bcmc7XG4gICAgYXJnMjogTXV0YXRpb25Bcmc7XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsTGlua011dGF0aW9uU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogUmVjZWl2ZXMgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIG11dGF0aW9uc1xuICAgICAqL1xuICAgIHByaXZhdGUgYWxsTXV0YXRpb25zPzogTXV0YXRpb25bXTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFwb2xsbzogQXBvbGxvKSB7fVxuXG4gICAgLyoqXG4gICAgICogTGluayB0d28gb2JqZWN0cyB0b2dldGhlclxuICAgICAqL1xuICAgIHB1YmxpYyBsaW5rKFxuICAgICAgICBvYmoxOiBMaW5rYWJsZU9iamVjdCxcbiAgICAgICAgb2JqMjogTGlua2FibGVPYmplY3QsXG4gICAgICAgIG90aGVyTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsXG4gICAgICAgIHZhcmlhYmxlczogTGl0ZXJhbCA9IHt9LFxuICAgICk6IE9ic2VydmFibGU8RmV0Y2hSZXN1bHQ8e2lkOiBzdHJpbmd9Pj4ge1xuICAgICAgICAvLyBjbG9uZSBwcmV2ZW50cyB0byBhZmZlY3QgdGhlIG9yaWdpbmFsIHJlZmVyZW5jZVxuICAgICAgICBjb25zdCBjbG9uZWRWYXJpYWJsZXMgPSBjbG9uZSh2YXJpYWJsZXMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmdldE11dGF0aW9uKCdsaW5rJywgb2JqMSwgb2JqMiwgb3RoZXJOYW1lLCBjbG9uZWRWYXJpYWJsZXMpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAobXV0YXRpb24gPT4gdGhpcy5leGVjdXRlKG11dGF0aW9uKSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTGluayBtYW55IG9iamVjdHNcbiAgICAgKi9cbiAgICBwdWJsaWMgbGlua01hbnkoXG4gICAgICAgIG9iajE6IExpbmthYmxlT2JqZWN0LFxuICAgICAgICBvYmplY3RzOiBMaW5rYWJsZU9iamVjdFtdLFxuICAgICAgICBvdGhlck5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgICAgICB2YXJpYWJsZXM6IExpdGVyYWwgPSB7fSxcbiAgICApOiBPYnNlcnZhYmxlPEZldGNoUmVzdWx0PHtpZDogc3RyaW5nfT5bXT4ge1xuICAgICAgICByZXR1cm4gZm9ya0pvaW4ob2JqZWN0cy5tYXAob2JqMiA9PiB0aGlzLmxpbmsob2JqMSwgb2JqMiwgb3RoZXJOYW1lLCB2YXJpYWJsZXMpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVW5saW5rIHR3byBvYmplY3RzXG4gICAgICovXG4gICAgcHVibGljIHVubGluayhcbiAgICAgICAgb2JqMTogTGlua2FibGVPYmplY3QsXG4gICAgICAgIG9iajI6IExpbmthYmxlT2JqZWN0LFxuICAgICAgICBvdGhlck5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgICk6IE9ic2VydmFibGU8RmV0Y2hSZXN1bHQ8e2lkOiBzdHJpbmd9Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRNdXRhdGlvbigndW5saW5rJywgb2JqMSwgb2JqMiwgb3RoZXJOYW1lKS5waXBlKHN3aXRjaE1hcChtdXRhdGlvbiA9PiB0aGlzLmV4ZWN1dGUobXV0YXRpb24pKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgbXV0YXRpb24gbmFtZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEFsbE11dGF0aW9uTmFtZXMoKTogT2JzZXJ2YWJsZTxNdXRhdGlvbltdPiB7XG4gICAgICAgIGlmICh0aGlzLmFsbE11dGF0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuYWxsTXV0YXRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hcEFyZyA9IChhcmc6IEludHJvc3BlY3RlZEFyZyk6IE11dGF0aW9uQXJnID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbmFtZTogYXJnLm5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogYXJnLnR5cGU/Lm9mVHlwZT8ubmFtZT8ucmVwbGFjZSgvSUQkLywgJycpIHx8ICdzaG91bGQtbmV2ZXItaGFwcGVuJyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBvbGxvXG4gICAgICAgICAgICAucXVlcnk8SW50cm9zcGVjdGVkTXV0YXRpb25zPih7XG4gICAgICAgICAgICAgICAgcXVlcnk6IHF1ZXJpZXNRdWVyeSxcbiAgICAgICAgICAgICAgICBmZXRjaFBvbGljeTogJ2NhY2hlLWZpcnN0JyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHtkYXRhfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5fX3R5cGU/LmZpZWxkcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxNdXRhdGlvbnMgPSBkYXRhLl9fdHlwZS5maWVsZHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHYgPT4gL14obGlua3x1bmxpbmspLy5leGVjKHYubmFtZSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCh2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHYubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZzE6IG1hcEFyZyh2LmFyZ3NbMF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnMjogbWFwQXJnKHYuYXJnc1sxXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbE11dGF0aW9ucyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWxsTXV0YXRpb25zO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZSBtdXRhdGlvbiB1c2luZyBwYXR0ZXJucyBhbmQgcmVwbGFjaW5nIHZhcmlhYmxlc1xuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0TXV0YXRpb24oXG4gICAgICAgIGFjdGlvbjogc3RyaW5nLFxuICAgICAgICBvYmoxOiBMaW5rYWJsZU9iamVjdCxcbiAgICAgICAgb2JqMjogTGlua2FibGVPYmplY3QsXG4gICAgICAgIG90aGVyTmFtZTogc3RyaW5nIHwgbnVsbCxcbiAgICAgICAgdmFyaWFibGVzOiBMaXRlcmFsID0ge30sXG4gICAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgb3RoZXJOYW1lID0gb3RoZXJOYW1lID8gdXBwZXJDYXNlRmlyc3RMZXR0ZXIob3RoZXJOYW1lKSA6IG90aGVyTmFtZTtcbiAgICAgICAgY29uc3QgbXV0YXRpb25OYW1lID0gYWN0aW9uICsgb2JqMS5fX3R5cGVuYW1lICsgKG90aGVyTmFtZSB8fCBvYmoyLl9fdHlwZW5hbWUpO1xuICAgICAgICBjb25zdCByZXZlcnNlZE11dGF0aW9uTmFtZSA9IGFjdGlvbiArIG9iajIuX190eXBlbmFtZSArIChvdGhlck5hbWUgfHwgb2JqMS5fX3R5cGVuYW1lKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxNdXRhdGlvbk5hbWVzKCkucGlwZShcbiAgICAgICAgICAgIG1hcChhbGxNdXRhdGlvbk5hbWVzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtdXRhdGlvbiA9XG4gICAgICAgICAgICAgICAgICAgIGFsbE11dGF0aW9uTmFtZXMuZmluZChtdXQgPT4gbXV0Lm5hbWUgPT09IG11dGF0aW9uTmFtZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgYWxsTXV0YXRpb25OYW1lcy5maW5kKG11dCA9PiBtdXQubmFtZSA9PT0gcmV2ZXJzZWRNdXRhdGlvbk5hbWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG11dGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmJ1aWxkVGVtcGxhdGUobXV0YXRpb24sIG9iajEsIG9iajIsIHZhcmlhYmxlcyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhyb3cgVHlwZUVycm9yKCdBUEkgZG9lcyBub3QgYWxsb3cgdG8gJyArIGFjdGlvbiArICcgJyArIG9iajEuX190eXBlbmFtZSArICcgYW5kICcgKyBvYmoyLl9fdHlwZW5hbWUpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZSBtdXRhdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgZXhlY3V0ZShtdXRhdGlvbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxGZXRjaFJlc3VsdDx7aWQ6IHN0cmluZ30+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwb2xsb1xuICAgICAgICAgICAgLm11dGF0ZTx7aWQ6IHN0cmluZ30+KHtcbiAgICAgICAgICAgICAgICBtdXRhdGlvbjogZ3FsKG11dGF0aW9uKSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAociA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBvbGxvLmNsaWVudC5yZUZldGNoT2JzZXJ2YWJsZVF1ZXJpZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEJ1aWxkIHRoZSBhY3R1YWwgbXV0YXRpb24gc3RyaW5nXG4gICAgICovXG4gICAgcHJpdmF0ZSBidWlsZFRlbXBsYXRlKFxuICAgICAgICBtdXRhdGlvbjogTXV0YXRpb24sXG4gICAgICAgIG9iajE6IExpbmthYmxlT2JqZWN0LFxuICAgICAgICBvYmoyOiBMaW5rYWJsZU9iamVjdCxcbiAgICAgICAgdmFyaWFibGVzOiBMaXRlcmFsID0ge30sXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG5hbWUxO1xuICAgICAgICBsZXQgbmFtZTI7XG4gICAgICAgIGlmIChvYmoxLl9fdHlwZW5hbWUgPT09IG11dGF0aW9uLmFyZzEudHlwZSkge1xuICAgICAgICAgICAgbmFtZTEgPSBtdXRhdGlvbi5hcmcxLm5hbWU7XG4gICAgICAgICAgICBuYW1lMiA9IG11dGF0aW9uLmFyZzIubmFtZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5hbWUxID0gbXV0YXRpb24uYXJnMi5uYW1lO1xuICAgICAgICAgICAgbmFtZTIgPSBtdXRhdGlvbi5hcmcxLm5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgdmFyaWFibGVzW25hbWUxXSA9IG9iajEuaWQ7XG4gICAgICAgIHZhcmlhYmxlc1tuYW1lMl0gPSBvYmoyLmlkO1xuXG4gICAgICAgIGxldCBzZXJpYWxpemVkVmFyaWFibGVzID0gJyc7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHZhcmlhYmxlcykpIHtcbiAgICAgICAgICAgIHNlcmlhbGl6ZWRWYXJpYWJsZXMgKz0ga2V5ICsgJzogJyArIEpTT04uc3RyaW5naWZ5KHZhcmlhYmxlc1trZXldKSArICcgJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgbXV0YXRpb24gbGlua0FuZFVubGluayB7XG4gICAgICAgICAgICAke211dGF0aW9uLm5hbWV9KCR7c2VyaWFsaXplZFZhcmlhYmxlc30pIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgfVxuICAgICAgICB9YDtcbiAgICB9XG59XG4iXX0=
@@ -107,10 +107,10 @@ export class NaturalPersistenceService {
107
107
  }
108
108
  return this.isValid(key, storageKey, result) ? result : null;
109
109
  }
110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalPersistenceService, deps: [{ token: i1.Router }, { token: SESSION_STORAGE }, { token: NATURAL_PERSISTENCE_VALIDATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
111
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalPersistenceService, providedIn: 'root' }); }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalPersistenceService, deps: [{ token: i1.Router }, { token: SESSION_STORAGE }, { token: NATURAL_PERSISTENCE_VALIDATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
111
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalPersistenceService, providedIn: 'root' }); }
112
112
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalPersistenceService, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalPersistenceService, decorators: [{
114
114
  type: Injectable,
115
115
  args: [{
116
116
  providedIn: 'root',
@@ -51,10 +51,10 @@ export class NaturalSwissParsingDateAdapter extends NativeDateAdapter {
51
51
  // Also see https://github.com/tc39/ecma402/issues/6
52
52
  return 1;
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSwissParsingDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
55
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSwissParsingDateAdapter, providedIn: 'root' }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalSwissParsingDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
55
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalSwissParsingDateAdapter, providedIn: 'root' }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSwissParsingDateAdapter, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NaturalSwissParsingDateAdapter, decorators: [{
58
58
  type: Injectable,
59
59
  args: [{
60
60
  providedIn: 'root',