ngx-register-base 1.3.3 → 2.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 (160) hide show
  1. package/README.md +10 -0
  2. package/esm2022/lib/components/checkbox-selector/checkbox-selector.component.mjs +3 -3
  3. package/esm2022/lib/components/column-settings/column-settings.component.mjs +30 -25
  4. package/esm2022/lib/components/column-settings/components/column-settings-template/column-settings-template.component.mjs +4 -12
  5. package/esm2022/lib/components/column-settings/components/reset-settings-form/reset-settings-form.component.mjs +13 -0
  6. package/esm2022/lib/components/column-settings/consts/column-settings.consts.mjs +9 -9
  7. package/esm2022/lib/components/filter-button/filter-button.component.mjs +4 -5
  8. package/esm2022/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.mjs +22 -22
  9. package/esm2022/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.mjs +9 -6
  10. package/esm2022/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.mjs +13 -8
  11. package/esm2022/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.mjs +4 -4
  12. package/esm2022/lib/components/filters/components/filter-list/filter-list.service.mjs +16 -13
  13. package/esm2022/lib/components/filters/components/filter-list/filters-section/filters-section.component.mjs +4 -4
  14. package/esm2022/lib/components/filters/components/filter-list.module.mjs +33 -7
  15. package/esm2022/lib/components/filters/register-table-filter.component.mjs +5 -4
  16. package/esm2022/lib/components/filters/register-table-filter.module.mjs +5 -5
  17. package/esm2022/lib/components/index.mjs +2 -2
  18. package/esm2022/lib/components/inputs/index.mjs +4 -4
  19. package/esm2022/lib/components/inputs/param-calendar-year/param-calendar-year.component.mjs +37 -30
  20. package/esm2022/lib/components/inputs/param-custom/param-custom.component.mjs +3 -3
  21. package/esm2022/lib/components/inputs/param-date/param-date.component.mjs +27 -15
  22. package/esm2022/lib/components/inputs/param-date-range/index.mjs +2 -0
  23. package/esm2022/lib/components/inputs/param-date-range/param-date-range.component.mjs +80 -18
  24. package/esm2022/lib/components/inputs/param-date-time/param-date-time.component.mjs +65 -30
  25. package/esm2022/lib/components/inputs/param-date-time-range/date-time-range/date-time-range.component.mjs +406 -0
  26. package/esm2022/lib/components/inputs/param-date-time-range/date-time-range/date-time-range.consts.mjs +13 -0
  27. package/esm2022/lib/components/inputs/param-date-time-range/param-date-time-range.component.mjs +31 -34
  28. package/esm2022/lib/components/inputs/param-dropbox/param-dropbox.component.mjs +126 -0
  29. package/esm2022/lib/components/inputs/param-month/param-month.component.mjs +40 -9
  30. package/esm2022/lib/components/inputs/param-month-range/param-month-range.component.mjs +29 -8
  31. package/esm2022/lib/components/inputs/param-multi-select/param-multi-select.component.mjs +97 -113
  32. package/esm2022/lib/components/inputs/param-select/param-select.component.mjs +41 -45
  33. package/esm2022/lib/components/inputs/param-switcher/index.mjs +2 -0
  34. package/esm2022/lib/components/inputs/param-switcher/param-switcher.component.mjs +61 -11
  35. package/esm2022/lib/components/inputs/param-switcher/param-switcher.types.mjs +2 -0
  36. package/esm2022/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.mjs +7 -25
  37. package/esm2022/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.mjs +21 -20
  38. package/esm2022/lib/components/inputs/param-text/param-text.component.mjs +11 -6
  39. package/esm2022/lib/components/inputs/param-textarea/param-textarea.component.mjs +5 -3
  40. package/esm2022/lib/components/inputs/param-toggle/param-toggle.component.mjs +24 -7
  41. package/esm2022/lib/components/inputs/param-tree/param-tree.component.mjs +3 -3
  42. package/esm2022/lib/components/inputs/param-tree/services/param-tree.service.mjs +9 -2
  43. package/esm2022/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.mjs +13 -6
  44. package/esm2022/lib/components/inputs/param-tree-select/param-tree-select.component.mjs +9 -4
  45. package/esm2022/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.mjs +9 -5
  46. package/esm2022/lib/components/inputs/sub-components/param-label-hint-icon/param-label-hint-icon.component.mjs +12 -0
  47. package/esm2022/lib/components/paginator/paginator.component.mjs +10 -12
  48. package/esm2022/lib/components/register-table/register-table.component.mjs +31 -12
  49. package/esm2022/lib/components/search-input/search-input.component.mjs +5 -7
  50. package/esm2022/lib/components/sliding-panel/sliding-panel.component.mjs +23 -35
  51. package/esm2022/lib/components/template-modal/index.mjs +3 -0
  52. package/esm2022/lib/components/template-modal/template-modal.base.mjs +16 -0
  53. package/esm2022/lib/components/template-modal/template-modal.component.mjs +16 -0
  54. package/esm2022/lib/core/param/index.mjs +1 -1
  55. package/esm2022/lib/core/param/param-base.mjs +28 -3
  56. package/esm2022/lib/core/param/param-date-base.mjs +20 -11
  57. package/esm2022/lib/core/param/param-select-base.mjs +14 -6
  58. package/esm2022/lib/core/register-base/register-base.store.mjs +1 -1
  59. package/esm2022/lib/directives/date/date-time.types.mjs +1 -1
  60. package/esm2022/lib/providers/index.mjs +2 -0
  61. package/esm2022/lib/providers/provide-icons.mjs +23 -0
  62. package/esm2022/lib/services/date-time.service.mjs +1 -38
  63. package/esm2022/lib/services/dialog/dialog.service.mjs +1 -13
  64. package/esm2022/lib/services/dialog/dialog.types.mjs +2 -2
  65. package/esm2022/lib/services/message.service.mjs +48 -0
  66. package/esm2022/lib/services/validation-message.service.mjs +52 -0
  67. package/esm2022/lib/store/fast-query-store.service.mjs +16 -1
  68. package/esm2022/lib/utils/index.mjs +2 -1
  69. package/esm2022/lib/utils/utils.mjs +17 -0
  70. package/esm2022/public-api.mjs +2 -1
  71. package/fesm2022/ngx-register-base.mjs +1464 -1026
  72. package/fesm2022/ngx-register-base.mjs.map +1 -1
  73. package/icons/arrow-turn-up-left.svg +3 -0
  74. package/icons/check.svg +3 -0
  75. package/icons/floppy.svg +3 -0
  76. package/icons/star-empty.svg +10 -0
  77. package/icons/star-fill.svg +3 -0
  78. package/icons/trash.svg +3 -0
  79. package/icons/xmark.svg +3 -0
  80. package/lib/components/column-settings/column-settings.component.d.ts +9 -9
  81. package/lib/components/column-settings/components/column-settings-template/column-settings-template.component.d.ts +5 -5
  82. package/lib/components/{reset-settings-form → column-settings/components/reset-settings-form}/reset-settings-form.component.d.ts +2 -5
  83. package/lib/components/column-settings/consts/column-settings.consts.d.ts +8 -8
  84. package/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.d.ts +5 -8
  85. package/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.d.ts +2 -1
  86. package/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.d.ts +2 -1
  87. package/lib/components/filters/components/filter-list/filter-list.service.d.ts +2 -3
  88. package/lib/components/filters/components/filter-list.module.d.ts +7 -7
  89. package/lib/components/filters/register-table-filter.component.d.ts +2 -1
  90. package/lib/components/filters/register-table-filter.module.d.ts +2 -2
  91. package/lib/components/index.d.ts +1 -1
  92. package/lib/components/inputs/index.d.ts +3 -4
  93. package/lib/components/inputs/param-calendar-year/param-calendar-year.component.d.ts +2 -8
  94. package/lib/components/inputs/param-custom/param-custom.component.d.ts +1 -1
  95. package/lib/components/inputs/param-date/param-date.component.d.ts +7 -10
  96. package/lib/components/inputs/param-date-range/index.d.ts +1 -0
  97. package/lib/components/inputs/param-date-range/param-date-range.component.d.ts +13 -16
  98. package/lib/components/inputs/param-date-time/param-date-time.component.d.ts +8 -13
  99. package/lib/components/inputs/param-date-time-range/date-time-range/date-time-range.component.d.ts +96 -0
  100. package/lib/components/inputs/param-date-time-range/date-time-range/date-time-range.consts.d.ts +12 -0
  101. package/lib/components/inputs/param-date-time-range/param-date-time-range.component.d.ts +17 -16
  102. package/lib/components/inputs/param-dropbox/param-dropbox.component.d.ts +31 -0
  103. package/lib/components/inputs/param-month/param-month.component.d.ts +10 -8
  104. package/lib/components/inputs/param-month-range/param-month-range.component.d.ts +10 -8
  105. package/lib/components/inputs/param-multi-select/param-multi-select.component.d.ts +9 -11
  106. package/lib/components/inputs/param-select/param-select.component.d.ts +9 -12
  107. package/lib/components/inputs/param-switcher/index.d.ts +2 -0
  108. package/lib/components/inputs/param-switcher/param-switcher.component.d.ts +21 -5
  109. package/lib/components/inputs/param-switcher/param-switcher.types.d.ts +7 -0
  110. package/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.d.ts +3 -2
  111. package/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.d.ts +5 -4
  112. package/lib/components/inputs/param-text/param-text.component.d.ts +6 -4
  113. package/lib/components/inputs/param-textarea/param-textarea.component.d.ts +2 -1
  114. package/lib/components/inputs/param-toggle/param-toggle.component.d.ts +3 -2
  115. package/lib/components/inputs/param-tree/services/param-tree.service.d.ts +1 -1
  116. package/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.d.ts +2 -1
  117. package/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.d.ts +2 -1
  118. package/lib/components/inputs/sub-components/param-label-hint-icon/param-label-hint-icon.component.d.ts +5 -0
  119. package/lib/components/paginator/paginator.component.d.ts +3 -4
  120. package/lib/components/register-table/register-table.component.d.ts +5 -3
  121. package/lib/components/sliding-panel/sliding-panel.component.d.ts +8 -8
  122. package/lib/components/template-modal/index.d.ts +2 -0
  123. package/lib/components/template-modal/template-modal.base.d.ts +9 -0
  124. package/lib/components/template-modal/template-modal.component.d.ts +6 -0
  125. package/lib/core/param/index.d.ts +1 -0
  126. package/lib/core/param/param-base.d.ts +18 -2
  127. package/lib/core/param/param-date-base.d.ts +15 -9
  128. package/lib/core/param/param-select-base.d.ts +12 -7
  129. package/lib/core/register-base/register-base.store.d.ts +2 -3
  130. package/lib/directives/date/date-time.types.d.ts +0 -2
  131. package/lib/providers/index.d.ts +1 -0
  132. package/lib/providers/provide-icons.d.ts +3 -0
  133. package/lib/services/date-time.service.d.ts +0 -13
  134. package/lib/services/dialog/dialog.service.d.ts +1 -3
  135. package/lib/services/dialog/dialog.types.d.ts +0 -3
  136. package/lib/services/message.service.d.ts +20 -0
  137. package/lib/services/validation-message.service.d.ts +14 -0
  138. package/lib/store/fast-query-store.service.d.ts +1 -0
  139. package/lib/utils/index.d.ts +1 -0
  140. package/lib/utils/utils.d.ts +3 -0
  141. package/package.json +5 -12
  142. package/public-api.d.ts +1 -0
  143. package/styles/common-param.less +15 -0
  144. package/styles/flex.less +5 -1
  145. package/styles/icons.less +8 -0
  146. package/styles/modals.less +54 -0
  147. package/styles/overrides/tui/tui-input.less +94 -121
  148. package/styles/styles.less +2 -0
  149. package/esm2022/lib/components/inputs/inputs.module.mjs +0 -166
  150. package/esm2022/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.mjs +0 -15
  151. package/esm2022/lib/components/reset-settings-form/reset-settings-form.component.mjs +0 -18
  152. package/esm2022/lib/components/sliding-panel/sliding-panel.module.mjs +0 -19
  153. package/esm2022/lib/utils/prizm.shared.module.mjs +0 -284
  154. package/icons/calendar-blank.svg +0 -10
  155. package/lib/components/inputs/inputs.module.d.ts +0 -31
  156. package/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.d.ts +0 -6
  157. package/lib/components/sliding-panel/sliding-panel.module.d.ts +0 -9
  158. package/lib/utils/prizm.shared.module.d.ts +0 -14
  159. /package/icons/{calendar-icon.svg → calendar-date-time.svg} +0 -0
  160. /package/icons/{calendar-custom.svg → calendar-date.svg} +0 -0
@@ -1,4 +1,4 @@
1
- import { Directive, Input, output } from '@angular/core';
1
+ import { Directive, input, Input, output } from '@angular/core';
2
2
  import { ParamBase } from './param-base';
3
3
  import { BehaviorSubject } from 'rxjs';
4
4
  import { FastQueryStore } from '../../store/fast-query-store.service';
@@ -18,13 +18,17 @@ export class ParamSelectBase extends ParamBase {
18
18
  this._selectInjector = _selectInjector;
19
19
  this.items = [];
20
20
  this.searchable = false;
21
- this.maxDropdownHeight = 342;
21
+ this.minDropdownHeight = input(0);
22
+ this.maxDropdownHeight = input(342);
23
+ this.dropdownLimitWidth = input('fixed');
22
24
  this.nullContent = 'Не выбрано';
23
25
  /** Массив полей по которым будет производиться фильтрация _or */
24
26
  this.searchSubfields = [];
25
27
  /** Флаг строгого поиска: строгий - _eq, не строгий - _ilike */
26
28
  this.strictSearch = false;
27
29
  this.limit = 50;
30
+ /** Автозаполнение при автозапросе получения значений в поле */
31
+ this.autoFill = false;
28
32
  /** форматтер для задания кастомного отображения значения в поле */
29
33
  this.formatShowedValue = (value, field) => value[field];
30
34
  this.itemsChange = output();
@@ -46,6 +50,10 @@ export class ParamSelectBase extends ParamBase {
46
50
  ilikeConditions.push(this.buildNestedCondition(valueField, searchValue, this.strictSearch));
47
51
  }
48
52
  }
53
+ // Если параметр where задан в виде строки, возвращаем его
54
+ if (paramWhere && typeof paramWhere === 'string') {
55
+ return paramWhere;
56
+ }
49
57
  // Если параметр where не задан, но есть значение для поиска и поле valueField, возвращаем только условия _ilike
50
58
  if (!paramWhere && ilikeConditions.length > 0) {
51
59
  return { _or: ilikeConditions };
@@ -82,7 +90,7 @@ export class ParamSelectBase extends ParamBase {
82
90
  };
83
91
  }
84
92
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ParamSelectBase, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
85
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: ParamSelectBase, inputs: { items: "items", searchable: "searchable", maxDropdownHeight: "maxDropdownHeight", valueTemplate: "valueTemplate", listItemTemplate: "listItemTemplate", nullContent: "nullContent", searchSubfields: "searchSubfields", strictSearch: "strictSearch", selectClasses: "selectClasses", limit: "limit", formatShowedValue: "formatShowedValue", meta: "meta" }, outputs: { itemsChange: "itemsChange" }, usesInheritance: true, ngImport: i0 }); }
93
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: ParamSelectBase, inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: false, isRequired: false, transformFunction: null }, minDropdownHeight: { classPropertyName: "minDropdownHeight", publicName: "minDropdownHeight", isSignal: true, isRequired: false, transformFunction: null }, maxDropdownHeight: { classPropertyName: "maxDropdownHeight", publicName: "maxDropdownHeight", isSignal: true, isRequired: false, transformFunction: null }, dropdownLimitWidth: { classPropertyName: "dropdownLimitWidth", publicName: "dropdownLimitWidth", isSignal: true, isRequired: false, transformFunction: null }, valueTemplate: { classPropertyName: "valueTemplate", publicName: "valueTemplate", isSignal: false, isRequired: false, transformFunction: null }, listItemTemplate: { classPropertyName: "listItemTemplate", publicName: "listItemTemplate", isSignal: false, isRequired: false, transformFunction: null }, nullContent: { classPropertyName: "nullContent", publicName: "nullContent", isSignal: false, isRequired: false, transformFunction: null }, searchSubfields: { classPropertyName: "searchSubfields", publicName: "searchSubfields", isSignal: false, isRequired: false, transformFunction: null }, strictSearch: { classPropertyName: "strictSearch", publicName: "strictSearch", isSignal: false, isRequired: false, transformFunction: null }, selectClasses: { classPropertyName: "selectClasses", publicName: "selectClasses", isSignal: false, isRequired: false, transformFunction: null }, limit: { classPropertyName: "limit", publicName: "limit", isSignal: false, isRequired: false, transformFunction: null }, autoFill: { classPropertyName: "autoFill", publicName: "autoFill", isSignal: false, isRequired: false, transformFunction: null }, formatShowedValue: { classPropertyName: "formatShowedValue", publicName: "formatShowedValue", isSignal: false, isRequired: false, transformFunction: null }, meta: { classPropertyName: "meta", publicName: "meta", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { itemsChange: "itemsChange" }, usesInheritance: true, ngImport: i0 }); }
86
94
  }
87
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ParamSelectBase, decorators: [{
88
96
  type: Directive
@@ -90,8 +98,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
90
98
  type: Input
91
99
  }], searchable: [{
92
100
  type: Input
93
- }], maxDropdownHeight: [{
94
- type: Input
95
101
  }], valueTemplate: [{
96
102
  type: Input
97
103
  }], listItemTemplate: [{
@@ -106,9 +112,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
106
112
  type: Input
107
113
  }], limit: [{
108
114
  type: Input
115
+ }], autoFill: [{
116
+ type: Input
109
117
  }], formatShowedValue: [{
110
118
  type: Input
111
119
  }], meta: [{
112
120
  type: Input
113
121
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0tc2VsZWN0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvcmUvcGFyYW0vcGFyYW0tc2VsZWN0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBWSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBR3RFLE1BQU0sT0FBZ0IsZUFHcEIsU0FBUSxTQUFvQztJQWdCNUMsNERBQTREO0lBQzVELElBQWEsSUFBSSxDQUFDLElBQXNCO1FBQ3RDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFZRCxZQUFvQixlQUF5QjtRQUMzQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFETCxvQkFBZSxHQUFmLGVBQWUsQ0FBVTtRQW5DcEMsVUFBSyxHQUE2QyxFQUFFLENBQUM7UUFDckQsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixzQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFHeEIsZ0JBQVcsR0FBcUMsWUFBWSxDQUFDO1FBQ3RFLGlFQUFpRTtRQUN4RCxvQkFBZSxHQUFhLEVBQUUs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QUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBRXBFLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFjLFVBQVU7UUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUVyRSxPQUFPO1lBQ0wsT0FBTztZQUNQLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQzsrR0ExR21CLGVBQWU7bUdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEcEMsU0FBUzs2RUFLQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdPLElBQUk7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbUJhc2UgfSBmcm9tICcuL3BhcmFtLWJhc2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQb2x5bW9ycGhDb250ZW50IH0gZnJvbSAnQHByaXptLXVpL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgSW5wdXRDb250cm9sU2F2ZVZhbHVlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgSW5mZXJBcnJheVR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy9zdWItdHlwZXMnO1xuaW1wb3J0IHsgTWV0YVF1ZXJ5IH0gZnJvbSAnLi4vLi4vdHlwZXMvcGFyYW1zLnR5cGVzJztcbmltcG9ydCB7IEZhc3RRdWVyeVN0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUvZmFzdC1xdWVyeS1zdG9yZS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFyYW1TZWxlY3RCYXNlPFxuICBWYWx1ZVR5cGUsXG4gIFNhdmVkVmFsdWVUeXBlIGV4dGVuZHMgSW5wdXRDb250cm9sU2F2ZVZhbHVlLFxuPiBleHRlbmRzIFBhcmFtQmFzZTxWYWx1ZVR5cGUsIFNhdmVkVmFsdWVUeXBlPiB7XG4gIEBJbnB1dCgpIGl0ZW1zOiBOb25OdWxsYWJsZTxJbmZlckFycmF5VHlwZTxWYWx1ZVR5cGU+PltdID0gW107XG4gIEBJbnB1dCgpIHNlYXJjaGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4RHJvcGRvd25IZWlnaHQgPSAzNDI7XG4gIEBJbnB1dCgpIHZhbHVlVGVtcGxhdGU/OiBQb2x5bW9ycGhDb250ZW50O1xuICBASW5wdXQoKSBsaXN0SXRlbVRlbXBsYXRlPzogUG9seW1vcnBoQ29udGVudDtcbiAgQElucHV0KCkgbnVsbENvbnRlbnQ6IFBvbHltb3JwaENvbnRlbnQgfCBzdHJpbmcgfCBudWxsID0gJ9Cd0LUg0LLRi9Cx0YDQsNC90L4nO1xuICAvKiog0JzQsNGB0YHQuNCyINC/0L7Qu9C10Lkg0L/QviDQutC+0YLQvtGA0YvQvCDQsdGD0LTQtdGCINC/0YDQvtC40LfQstC+0LTQuNGC0YzRgdGPINGE0LjQu9GM0YLRgNCw0YbQuNGPIF9vciAqL1xuICBASW5wdXQoKSBzZWFyY2hTdWJmaWVsZHM6IHN0cmluZ1tdID0gW107XG4gIC8qKiDQpNC70LDQsyDRgdGC0YDQvtCz0L7Qs9C+INC/0L7QuNGB0LrQsDog0YHRgtGA0L7Qs9C40LkgLSBfZXEsINC90LUg0YHRgtGA0L7Qs9C40LkgLSBfaWxpa2UgKi9cbiAgQElucHV0KCkgc3RyaWN0U2VhcmNoID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNlbGVjdENsYXNzZXM/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxpbWl0ID0gNTA7XG4gIC8qKiDRhNC+0YDQvNCw0YLRgtC10YAg0LTQu9GPINC30LDQtNCw0L3QuNGPINC60LDRgdGC0L7QvNC90L7Qs9C+INC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LfQvdCw0YfQtdC90LjRjyDQsiDQv9C+0LvQtSAqL1xuICBASW5wdXQoKSBmb3JtYXRTaG93ZWRWYWx1ZTogKHZhbHVlOiBhbnksIGZpZWxkOiBzdHJpbmcpID0+IHN0cmluZyA9ICh2YWx1ZSwgZmllbGQpID0+XG4gICAgdmFsdWVbZmllbGRdO1xuICAvKiog0LzQtdGC0LAg0LTQu9GPINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0Lkg0L/QvtC00YDQs9GD0LfQutC4INC30L3QsNGH0LXQvdC40Lkg0LjQtyDRgtCw0LHQu9C40YbRiyAqL1xuICBASW5wdXQoKSBzZXQgbWV0YShtZXRhOiBNZXRhUXVlcnkgfCBudWxsKSB7XG4gICAgaWYgKEpTT04uc3RyaW5naWZ5KG1ldGEpICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLm1ldGEpKSB7XG4gICAgICB0aGlzLl9tZXRhJC5uZXh0KG1ldGEpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IG1ldGEoKTogTWV0YVF1ZXJ5IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX21ldGEkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgaXRlbXNDaGFuZ2UgPSBvdXRwdXQ8Tm9uTnVsbGFibGU8SW5mZXJBcnJheVR5cGU8VmFsdWVUeXBlPj5bXT4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWV0YVF1ZXJ5IHwgbnVsbD4obnVsbCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1ldGEkID0gdGhpcy5fbWV0YSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gdGhpcy5fc2VsZWN0SW5qZWN0b3IuZ2V0KEZhc3RRdWVyeVN0b3JlKTtcblxuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlbGVjdEluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKF9zZWxlY3RJbmplY3Rvcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRXaGVyZShzZWFyY2hWYWx1ZT86IHN0cmluZyk6IG9iamVjdCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcGFyYW1XaGVyZSA9IHRoaXMubWV0YT8ud2hlcmU7XG4gICAgY29uc3QgeyB2YWx1ZUZpZWxkIH0gPSB0aGlzLm1ldGFGaWVsZHM7XG5cbiAgICAvLyDQodC+0LfQtNCw0LXQvCDQvNCw0YHRgdC40LIg0YPRgdC70L7QstC40LkgX2lsaWtlINC00LvRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9GFINC/0L7Qu9C10LlcbiAgICBjb25zdCBpbGlrZUNvbmRpdGlvbnMgPSBbXTtcblxuICAgIGlmIChzZWFyY2hWYWx1ZSkge1xuICAgICAgaWYgKHRoaXMuc2VhcmNoU3ViZmllbGRzKSB7XG4gICAgICAgIGlsaWtlQ29uZGl0aW9ucy5wdXNoKFxuICAgICAgICAgIC4uLnRoaXMuc2VhcmNoU3ViZmllbGRzLm1hcCgoZmllbGQpID0+XG4gICAgICAgICAgICB0aGlzLmJ1aWxkTmVzdGVkQ29uZGl0aW9uKGZpZWxkLCBzZWFyY2hWYWx1ZSwgZmFsc2UpXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWVGaWVsZCkge1xuICAgICAgICBpbGlrZUNvbmRpdGlvbnMucHVzaCh0aGlzLmJ1aWxkTmVzdGVkQ29uZGl0aW9uKHZhbHVlRmllbGQsIHNlYXJjaFZhbHVlLCB0aGlzLnN0cmljdFNlYXJjaCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vINCV0YHQu9C4INC/0LDRgNCw0LzQtdGC0YAgd2hlcmUg0L3QtSDQt9Cw0LTQsNC9LCDQvdC+INC10YHRgtGMINC30L3QsNGH0LXQvdC40LUg0LTQu9GPINC/0L7QuNGB0LrQsCDQuCDQv9C+0LvQtSB2YWx1ZUZpZWxkLCDQstC+0LfQstGA0LDRidCw0LXQvCDRgtC+0LvRjNC60L4g0YPRgdC70L7QstC40Y8gX2lsaWtlXG4gICAgaWYgKCFwYXJhbVdoZXJlICYmIGlsaWtlQ29uZGl0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4geyBfb3I6IGlsaWtlQ29uZGl0aW9ucyB9O1xuICAgIH1cblxuICAgIC8vINCV0YHQu9C4INC/0LDRgNCw0LzQtdGC0YAgd2hlcmUg0LfQsNC00LDQvSwg0LTQvtCx0LDQstC70Y/QtdC8INGD0YHQu9C+0LLQuNGPIF9pbGlrZSDQuiDRgdGD0YnQtdGB0YLQstGD0Y7RidC40Lwg0YPRgdC70L7QstC40Y/QvFxuICAgIGlmIChwYXJhbVdoZXJlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi4ocGFyYW1XaGVyZSBhcyBvYmplY3QpLFxuICAgICAgICBfb3I6IGlsaWtlQ29uZGl0aW9ucy5sZW5ndGggPT09IDAgPyB1bmRlZmluZWQgOiBpbGlrZUNvbmRpdGlvbnMsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vINCV0YHQu9C4INC90LjRh9C10LPQviDQvdC1INC30LDQtNCw0L3Qviwg0LLQvtC30LLRgNCw0YnQsNC10LwgdW5kZWZpbmVkXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkTmVzdGVkQ29uZGl0aW9uKGZpZWxkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIHN0cmljdDogYm9vbGVhbik6IG9iamVjdCB7XG4gICAgY29uc3QgcGFydHMgPSBmaWVsZC5zcGxpdCgnLicpO1xuICAgIGNvbnN0IGN1cnJlbnQgPSB7fTtcbiAgICBsZXQgdGVtcDogYW55ID0gY3VycmVudDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBjb25zdCBwYXJ0ID0gcGFydHNbaV07XG4gICAgICB0ZW1wW3BhcnRdID0ge307XG4gICAgICB0ZW1wID0gdGVtcFtwYXJ0XTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0UGFydCA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdO1xuICAgIHRlbXBbbGFzdFBhcnRdID0gc3RyaWN0ID8geyBfZXE6IHZhbHVlIH0gOiB7IF9pbGlrZTogYCUke3ZhbHVlfSVgIH07XG5cbiAgICByZXR1cm4gY3VycmVudDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgbWV0YUZpZWxkcygpOiB7IGlkRmllbGQ6IHN0cmluZyB8IG51bGw7IHZhbHVlRmllbGQ6IHN0cmluZyB8IG51bGwgfSB7XG4gICAgY29uc3QgaWRGaWVsZCA9IHRoaXMubWV0YT8udGFibGUuaWRGaWVsZCA/PyBudWxsO1xuICAgIGNvbnN0IHZhbHVlRmllbGQgPSB0aGlzLm1ldGE/LnRhYmxlLnZhbHVlRmllbGQuc3BsaXQoJyAnKVswXSA/PyBudWxsO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlkRmllbGQsXG4gICAgICB2YWx1ZUZpZWxkLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0tc2VsZWN0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvcmUvcGFyYW0vcGFyYW0tc2VsZWN0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBWSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUt0RSxNQUFNLE9BQWdCLGVBR3BCLFNBQVEsU0FBb0M7SUFvQjVDLDREQUE0RDtJQUM1RCxJQUFhLElBQUksQ0FBQyxJQUFzQjtRQUN0QyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBWUQsWUFBb0IsZUFBeUI7UUFDM0MsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBREwsb0JBQWUsR0FBZixlQUFlLENBQVU7UUF2Q3BDLFVBQUssR0FBNkMsRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDckIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLHNCQUFpQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMs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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgaW5wdXQsIElucHV0LCBvdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbUJhc2UgfSBmcm9tICcuL3BhcmFtLWJhc2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbnB1dENvbnRyb2xTYXZlVmFsdWUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBJbmZlckFycmF5VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzL3N1Yi10eXBlcyc7XG5pbXBvcnQgeyBNZXRhUXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9wYXJhbXMudHlwZXMnO1xuaW1wb3J0IHsgRmFzdFF1ZXJ5U3RvcmUgfSBmcm9tICcuLi8uLi9zdG9yZS9mYXN0LXF1ZXJ5LXN0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHVpRHJvcGRvd25XaWR0aCB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFBvbHltb3JwaGV1c0NvbnRlbnQgfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFyYW1TZWxlY3RCYXNlPFxuICBWYWx1ZVR5cGUsXG4gIFNhdmVkVmFsdWVUeXBlIGV4dGVuZHMgSW5wdXRDb250cm9sU2F2ZVZhbHVlLFxuPiBleHRlbmRzIFBhcmFtQmFzZTxWYWx1ZVR5cGUsIFNhdmVkVmFsdWVUeXBlPiB7XG4gIEBJbnB1dCgpIGl0ZW1zOiBOb25OdWxsYWJsZTxJbmZlckFycmF5VHlwZTxWYWx1ZVR5cGU+PltdID0gW107XG4gIEBJbnB1dCgpIHNlYXJjaGFibGUgPSBmYWxzZTtcbiAgcHVibGljIG1pbkRyb3Bkb3duSGVpZ2h0ID0gaW5wdXQoMCk7XG4gIHB1YmxpYyBtYXhEcm9wZG93bkhlaWdodCA9IGlucHV0KDM0Mik7XG4gIHB1YmxpYyBkcm9wZG93bkxpbWl0V2lkdGggPSBpbnB1dDxUdWlEcm9wZG93bldpZHRoPignZml4ZWQnKTtcbiAgQElucHV0KCkgdmFsdWVUZW1wbGF0ZT86IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG4gIEBJbnB1dCgpIGxpc3RJdGVtVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBudWxsQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCB8IG51bGwgPSAn0J3QtSDQstGL0LHRgNCw0L3Qvic7XG4gIC8qKiDQnNCw0YHRgdC40LIg0L/QvtC70LXQuSDQv9C+INC60L7RgtC+0YDRi9C8INCx0YPQtNC10YIg0L/RgNC+0LjQt9Cy0L7QtNC40YLRjNGB0Y8g0YTQuNC70YzRgtGA0LDRhtC40Y8gX29yICovXG4gIEBJbnB1dCgpIHNlYXJjaFN1YmZpZWxkczogc3RyaW5nW10gPSBbXTtcbiAgLyoqINCk0LvQsNCzINGB0YLRgNC+0LPQvtCz0L4g0L/QvtC40YHQutCwOiDRgdGC0YDQvtCz0LjQuSAtIF9lcSwg0L3QtSDRgdGC0YDQvtCz0LjQuSAtIF9pbGlrZSAqL1xuICBASW5wdXQoKSBzdHJpY3RTZWFyY2ggPSBmYWxzZTtcbiAgQElucHV0KCkgc2VsZWN0Q2xhc3Nlcz86IHN0cmluZztcbiAgQElucHV0KCkgbGltaXQgPSA1MDtcbiAgLyoqINCQ0LLRgtC+0LfQsNC/0L7Qu9C90LXQvdC40LUg0L/RgNC4INCw0LLRgtC+0LfQsNC/0YDQvtGB0LUg0L/QvtC70YPRh9C10L3QuNGPINC30L3QsNGH0LXQvdC40Lkg0LIg0L/QvtC70LUgKi9cbiAgQElucHV0KCkgYXV0b0ZpbGwgPSBmYWxzZTtcbiAgLyoqINGE0L7RgNC80LDRgtGC0LXRgCDQtNC70Y8g0LfQsNC00LDQvdC40Y8g0LrQsNGB0YLQvtC80L3QvtCz0L4g0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQt9C90LDRh9C10L3QuNGPINCyINC/0L7Qu9C1ICovXG4gIEBJbnB1dCgpIGZvcm1hdFNob3dlZFZhbHVlOiAodmFsdWU6IGFueSwgZmllbGQ6IHN0cmluZykgPT4gc3RyaW5nID0gKHZhbHVlLCBmaWVsZCkgPT5cbiAgICB2YWx1ZVtmaWVsZF07XG4gIC8qKiDQvNC10YLQsCDQtNC70Y8g0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7QuSDQv9C+0LTRgNCz0YPQt9C60Lgg0LfQvdCw0YfQtdC90LjQuSDQuNC3INGC0LDQsdC70LjRhtGLICovXG4gIEBJbnB1dCgpIHNldCBtZXRhKG1ldGE6IE1ldGFRdWVyeSB8IG51bGwpIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkobWV0YSkgIT09IEpTT04uc3RyaW5naWZ5KHRoaXMubWV0YSkpIHtcbiAgICAgIHRoaXMuX21ldGEkLm5leHQobWV0YSk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgbWV0YSgpOiBNZXRhUXVlcnkgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbWV0YSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpdGVtc0NoYW5nZSA9IG91dHB1dDxOb25OdWxsYWJsZTxJbmZlckFycmF5VHlwZTxWYWx1ZVR5cGU+PltdPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21ldGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZXRhUXVlcnkgfCBudWxsPihudWxsKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWV0YSQgPSB0aGlzLl9tZXRhJC5hc09ic2VydmFibGUoKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmUgPSB0aGlzLl9zZWxlY3RJbmplY3Rvci5nZXQoRmFzdFF1ZXJ5U3RvcmUpO1xuXG4gIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2VsZWN0SW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoX3NlbGVjdEluamVjdG9yKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZFdoZXJlKHNlYXJjaFZhbHVlPzogc3RyaW5nKTogb2JqZWN0IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBwYXJhbVdoZXJlID0gdGhpcy5tZXRhPy53aGVyZTtcbiAgICBjb25zdCB7IHZhbHVlRmllbGQgfSA9IHRoaXMubWV0YUZpZWxkcztcblxuICAgIC8vINCh0L7Qt9C00LDQtdC8INC80LDRgdGB0LjQsiDRg9GB0LvQvtCy0LjQuSBfaWxpa2Ug0LTQu9GPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0YUg0L/QvtC70LXQuVxuICAgIGNvbnN0IGlsaWtlQ29uZGl0aW9ucyA9IFtdO1xuXG4gICAgaWYgKHNlYXJjaFZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5zZWFyY2hTdWJmaWVsZHMpIHtcbiAgICAgICAgaWxpa2VDb25kaXRpb25zLnB1c2goXG4gICAgICAgICAgLi4udGhpcy5zZWFyY2hTdWJmaWVsZHMubWFwKChmaWVsZCkgPT5cbiAgICAgICAgICAgIHRoaXMuYnVpbGROZXN0ZWRDb25kaXRpb24oZmllbGQsIHNlYXJjaFZhbHVlLCBmYWxzZSlcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZUZpZWxkKSB7XG4gICAgICAgIGlsaWtlQ29uZGl0aW9ucy5wdXNoKHRoaXMuYnVpbGROZXN0ZWRDb25kaXRpb24odmFsdWVGaWVsZCwgc2VhcmNoVmFsdWUsIHRoaXMuc3RyaWN0U2VhcmNoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8g0JXRgdC70Lgg0L/QsNGA0LDQvNC10YLRgCB3aGVyZSDQt9Cw0LTQsNC9INCyINCy0LjQtNC1INGB0YLRgNC+0LrQuCwg0LLQvtC30LLRgNCw0YnQsNC10Lwg0LXQs9C+XG4gICAgaWYgKHBhcmFtV2hlcmUgJiYgdHlwZW9mIHBhcmFtV2hlcmUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gcGFyYW1XaGVyZTtcbiAgICB9XG5cbiAgICAvLyDQldGB0LvQuCDQv9Cw0YDQsNC80LXRgtGAIHdoZXJlINC90LUg0LfQsNC00LDQvSwg0L3QviDQtdGB0YLRjCDQt9C90LDRh9C10L3QuNC1INC00LvRjyDQv9C+0LjRgdC60LAg0Lgg0L/QvtC70LUgdmFsdWVGaWVsZCwg0LLQvtC30LLRgNCw0YnQsNC10Lwg0YLQvtC70YzQutC+INGD0YHQu9C+0LLQuNGPIF9pbGlrZVxuICAgIGlmICghcGFyYW1XaGVyZSAmJiBpbGlrZUNvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHsgX29yOiBpbGlrZUNvbmRpdGlvbnMgfTtcbiAgICB9XG5cbiAgICAvLyDQldGB0LvQuCDQv9Cw0YDQsNC80LXRgtGAIHdoZXJlINC30LDQtNCw0L0sINC00L7QsdCw0LLQu9GP0LXQvCDRg9GB0LvQvtCy0LjRjyBfaWxpa2Ug0Log0YHRg9GJ0LXRgdGC0LLRg9GO0YnQuNC8INGD0YHQu9C+0LLQuNGP0LxcbiAgICBpZiAocGFyYW1XaGVyZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uKHBhcmFtV2hlcmUgYXMgb2JqZWN0KSxcbiAgICAgICAgX29yOiBpbGlrZUNvbmRpdGlvbnMubGVuZ3RoID09PSAwID8gdW5kZWZpbmVkIDogaWxpa2VDb25kaXRpb25zLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyDQldGB0LvQuCDQvdC40YfQtdCz0L4g0L3QtSDQt9Cw0LTQsNC90L4sINCy0L7Qt9Cy0YDQsNGJ0LDQtdC8IHVuZGVmaW5lZFxuICAgIHJldHVybjtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZE5lc3RlZENvbmRpdGlvbihmaWVsZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBzdHJpY3Q6IGJvb2xlYW4pOiBvYmplY3Qge1xuICAgIGNvbnN0IHBhcnRzID0gZmllbGQuc3BsaXQoJy4nKTtcbiAgICBjb25zdCBjdXJyZW50ID0ge307XG4gICAgbGV0IHRlbXA6IGFueSA9IGN1cnJlbnQ7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgcGFydCA9IHBhcnRzW2ldO1xuICAgICAgdGVtcFtwYXJ0XSA9IHt9O1xuICAgICAgdGVtcCA9IHRlbXBbcGFydF07XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdFBhcnQgPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXTtcbiAgICB0ZW1wW2xhc3RQYXJ0XSA9IHN0cmljdCA/IHsgX2VxOiB2YWx1ZSB9IDogeyBfaWxpa2U6IGAlJHt2YWx1ZX0lYCB9O1xuXG4gICAgcmV0dXJuIGN1cnJlbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IG1ldGFGaWVsZHMoKTogeyBpZEZpZWxkOiBzdHJpbmcgfCBudWxsOyB2YWx1ZUZpZWxkOiBzdHJpbmcgfCBudWxsIH0ge1xuICAgIGNvbnN0IGlkRmllbGQgPSB0aGlzLm1ldGE/LnRhYmxlLmlkRmllbGQgPz8gbnVsbDtcbiAgICBjb25zdCB2YWx1ZUZpZWxkID0gdGhpcy5tZXRhPy50YWJsZS52YWx1ZUZpZWxkLnNwbGl0KCcgJylbMF0gPz8gbnVsbDtcblxuICAgIHJldHVybiB7XG4gICAgICBpZEZpZWxkLFxuICAgICAgdmFsdWVGaWVsZCxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -40,4 +40,4 @@ export class RegisterBaseStore extends ComponentStore {
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegisterBaseStore, decorators: [{
41
41
  type: Injectable
42
42
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItYmFzZS5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29yZS9yZWdpc3Rlci1iYXNlL3JlZ2lzdGVyLWJhc2Uuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQWtCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFjLGFBQWEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7O0FBTy9ELE1BQU0sT0FBZ0IsaUJBSXBCLFNBQVEsY0FBcUI7SUFML0I7O1FBUVksV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QixVQUFLLEdBQUcsQ0FBQyxDQUFjLEVBQVEsRUFBRTtZQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDO1FBTU8sdUJBQWtCLEdBQUcsSUFBSSxhQUFhLEVBQVcsQ0FBQztRQUNsRCxhQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELFdBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsV0FBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QyxhQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELGVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUNoQyxDQUFDLEtBQUssRUFBRSxPQUFlLEVBQVMsRUFBRSxDQUFDLENBQUM7WUFDbEMsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPO1NBQ1IsQ0FBQyxDQUNILENBQUM7UUFFTyxlQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFnQixFQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLGFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUM5QixDQUFDLEtBQUssRUFBRSxLQUFhLEVBQVMsRUFBRSxDQUFDLENBQUM7WUFDaEMsR0FBRyxLQUFLO1lBQ1IsS0FBSztTQUNOLENBQUMsQ0FDSCxDQUFDO1FBRU8sYUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQzlCLENBQUMsS0FBSyxFQUFFLEtBQWEsRUFBUyxFQUFFLENBQUMsQ0FBQztZQUNoQyxHQUFHLEtBQUs7WUFDUixLQUFLO1NBQ04sQ0FBQyxDQUNILENBQUM7S0EyQkg7SUExRFEsYUFBYSxDQUFDLE1BQVk7UUFDL0IsT0FBTyxFQUF5QixDQUFDO0lBQ25DLENBQUM7K0dBaEJtQixpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgUHJpem1UYWJsZUNlbGxTb3J0ZXIgfSBmcm9tICdAcHJpem0tdWkvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBcG9sbG8sIE11dGF0aW9uUmVzdWx0IH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJSGFzdXJhUXVlcnlGaWx0ZXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3JlZ2lzdGVyLXRhYmxlL21vZGVsL3NjaGVtYSc7XG5pbXBvcnQgeyBHcWxGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBlcy9pbnB1dHMudHlwZXMnO1xuaW1wb3J0IHsgSUJhc2VSZWdpc3RlclN0b3JlLCBJQmFzZVJlZ2lzdGVyU3RvcmVTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzL3JlZ2lzdGVyLWJhc2UudHlwZXMnO1xuaW1wb3J0IHsgSGFzdXJhRXJyb3IgfSBmcm9tICcuLi8uLi90eXBlcy9oYXN1cmEudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVnaXN0ZXJCYXNlU3RvcmU8XG4gICAgVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgU3RhdGUgZXh0ZW5kcyBJQmFzZVJlZ2lzdGVyU3RvcmVTdGF0ZTxUeXBlPiA9IElCYXNlUmVnaXN0ZXJTdG9yZVN0YXRlPFR5cGU+LFxuICA+XG4gIGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8U3RhdGU+XG4gIGltcGxlbWVudHMgSUJhc2VSZWdpc3RlclN0b3JlPFR5cGU+XG57XG4gIHByb3RlY3RlZCBhcG9sbG8gPSBpbmplY3QoQXBvbGxvKTtcblxuICByZWFkb25seSBlcnJvciA9IChlOiBIYXN1cmFFcnJvcik6IHZvaWQgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgdGhpcy5zZXRMb2FkaW5nKGZhbHNlKTtcbiAgfTtcblxuICBwdWJsaWMgZ2V0QmFzZUZpbHRlcihwYXJhbXM/OiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge30gYXMgUmVjb3JkPHN0cmluZywgYW55PjtcbiAgfVxuXG4gIHJlYWRvbmx5IG11dGF0aW9uQ29tcGxldGVkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGxvYWRpbmckID0gdGhpcy5zZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5sb2FkaW5nKTtcbiAgcmVhZG9ubHkgY291bnQkID0gdGhpcy5zZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5jb3VudCk7XG4gIHJlYWRvbmx5IHRvdGFsJCA9IHRoaXMuc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUudG90YWwpO1xuXG4gIHJlYWRvbmx5IG9iamVjdHMkID0gdGhpcy5zZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5vYmplY3RzKTtcbiAgcmVhZG9ubHkgc2V0T2JqZWN0cyA9IHRoaXMudXBkYXRlcihcbiAgICAoc3RvcmUsIG9iamVjdHM6IFR5cGVbXSk6IFN0YXRlID0+ICh7XG4gICAgICAuLi5zdG9yZSxcbiAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgb2JqZWN0cyxcbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IHNldExvYWRpbmcgPSB0aGlzLnVwZGF0ZXIoKHN0b3JlLCBsb2FkaW5nOiBib29sZWFuKTogU3RhdGUgPT4gKHsgLi4uc3RvcmUsIGxvYWRpbmcgfSkpO1xuICByZWFkb25seSBzZXRDb3VudCA9IHRoaXMudXBkYXRlcihcbiAgICAoc3RvcmUsIGNvdW50OiBudW1iZXIpOiBTdGF0ZSA9PiAoe1xuICAgICAgLi4uc3RvcmUsXG4gICAgICBjb3VudCxcbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IHNldFRvdGFsID0gdGhpcy51cGRhdGVyKFxuICAgIChzdGF0ZSwgdG90YWw6IG51bWJlcik6IFN0YXRlID0+ICh7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHRvdGFsLFxuICAgIH0pXG4gICk7XG5cbiAgYWJzdHJhY3QgcmVhZG9ubHkgZGVsZXRlQnlJZHM6IChcbiAgICBpZHM6IHN0cmluZ1tdLFxuICAgIC4uLmFyZ3M6IHVua25vd25bXVxuICApID0+IE9ic2VydmFibGU8TXV0YXRpb25SZXN1bHQ8VHlwZVtdPiB8IG51bGw+O1xuICBhYnN0cmFjdCByZWFkb25seSBmZXRjaFRvdGFsOiAoXG4gICAgb2JzZXJ2YWJsZU9yVmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIGFueT4+XG4gICkgPT4gU3Vic2NyaXB0aW9uO1xuICBhYnN0cmFjdCByZWFkb25seSBmZXRjaE9iamVjdHM6IChcbiAgICBvYnNlcnZhYmxlT3JWYWx1ZTpcbiAgICAgIHwge1xuICAgICAgICAgIGZpbHRlcjogSUhhc3VyYVF1ZXJ5RmlsdGVyPFR5cGU+O1xuICAgICAgICAgIGNhbGxiYWNrPzogKGRhdGE6IFR5cGVbXSkgPT4gdm9pZDtcbiAgICAgICAgfVxuICAgICAgfCBPYnNlcnZhYmxlPHtcbiAgICAgICAgICBmaWx0ZXI6IElIYXN1cmFRdWVyeUZpbHRlcjxUeXBlPjtcbiAgICAgICAgICBjYWxsYmFjaz86IChkYXRhOiBUeXBlW10pID0+IHZvaWQ7XG4gICAgICAgIH0+XG4gICkgPT4gU3Vic2NyaXB0aW9uO1xuXG4gIGFic3RyYWN0IGJ1aWxkRmlsdGVyKFxuICAgIGxpbWl0OiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgb2Zmc2V0OiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgZ3FsRmlsdGVyOiBHcWxGaWVsZHMgfCB1bmRlZmluZWQsXG4gICAgc29ydGVyPzogUHJpem1UYWJsZUNlbGxTb3J0ZXI8VHlwZT5bXVxuICApOiBJSGFzdXJhUXVlcnlGaWx0ZXI8VHlwZT47XG59XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItYmFzZS5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29yZS9yZWdpc3Rlci1iYXNlL3JlZ2lzdGVyLWJhc2Uuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQWtCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFjLGFBQWEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7O0FBVS9ELE1BQU0sT0FBZ0IsaUJBSXBCLFNBQVEsY0FBcUI7SUFML0I7O1FBUVksV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QixVQUFLLEdBQUcsQ0FBQyxDQUFjLEVBQVEsRUFBRTtZQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDO1FBTU8sdUJBQWtCLEdBQUcsSUFBSSxhQUFhLEVBQVcsQ0FBQztRQUNsRCxhQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELFdBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsV0FBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QyxhQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELGVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUNoQyxDQUFDLEtBQUssRUFBRSxPQUFlLEVBQVMsRUFBRSxDQUFDLENBQUM7WUFDbEMsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPO1NBQ1IsQ0FBQyxDQUNILENBQUM7UUFFTyxlQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFnQixFQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLGFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUM5QixDQUFDLEtBQUssRUFBRSxLQUFhLEVBQVMsRUFBRSxDQUFDLENBQUM7WUFDaEMsR0FBRyxLQUFLO1lBQ1IsS0FBSztTQUNOLENBQUMsQ0FDSCxDQUFDO1FBRU8sYUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQzlCLENBQUMsS0FBSyxFQUFFLEtBQWEsRUFBUyxFQUFFLENBQUMsQ0FBQztZQUNoQyxHQUFHLEtBQUs7WUFDUixLQUFLO1NBQ04sQ0FBQyxDQUNILENBQUM7S0EyQkg7SUExRFEsYUFBYSxDQUFDLE1BQVk7UUFDL0IsT0FBTyxFQUF5QixDQUFDO0lBQ25DLENBQUM7K0dBaEJtQixpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgQXBvbGxvLCBNdXRhdGlvblJlc3VsdCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgSUhhc3VyYVF1ZXJ5RmlsdGVyLFxuICBSZWdpc3RlclRhYmxlQ2VsbFNvcnRlcixcbn0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9yZWdpc3Rlci10YWJsZS9tb2RlbC9zY2hlbWEnO1xuaW1wb3J0IHsgR3FsRmllbGRzIH0gZnJvbSAnLi4vLi4vdHlwZXMvaW5wdXRzLnR5cGVzJztcbmltcG9ydCB7IElCYXNlUmVnaXN0ZXJTdG9yZSwgSUJhc2VSZWdpc3RlclN0b3JlU3RhdGUgfSBmcm9tICcuLi8uLi90eXBlcy9yZWdpc3Rlci1iYXNlLnR5cGVzJztcbmltcG9ydCB7IEhhc3VyYUVycm9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvaGFzdXJhLnR5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlZ2lzdGVyQmFzZVN0b3JlPFxuICAgIFR5cGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIFN0YXRlIGV4dGVuZHMgSUJhc2VSZWdpc3RlclN0b3JlU3RhdGU8VHlwZT4gPSBJQmFzZVJlZ2lzdGVyU3RvcmVTdGF0ZTxUeXBlPixcbiAgPlxuICBleHRlbmRzIENvbXBvbmVudFN0b3JlPFN0YXRlPlxuICBpbXBsZW1lbnRzIElCYXNlUmVnaXN0ZXJTdG9yZTxUeXBlPlxue1xuICBwcm90ZWN0ZWQgYXBvbGxvID0gaW5qZWN0KEFwb2xsbyk7XG5cbiAgcmVhZG9ubHkgZXJyb3IgPSAoZTogSGFzdXJhRXJyb3IpOiB2b2lkID0+IHtcbiAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgIHRoaXMuc2V0TG9hZGluZyhmYWxzZSk7XG4gIH07XG5cbiAgcHVibGljIGdldEJhc2VGaWx0ZXIocGFyYW1zPzogYW55KTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHt9IGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gIH1cblxuICByZWFkb25seSBtdXRhdGlvbkNvbXBsZXRlZCQgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigpO1xuICByZWFkb25seSBsb2FkaW5nJCA9IHRoaXMuc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUubG9hZGluZyk7XG4gIHJlYWRvbmx5IGNvdW50JCA9IHRoaXMuc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUuY291bnQpO1xuICByZWFkb25seSB0b3RhbCQgPSB0aGlzLnNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLnRvdGFsKTtcblxuICByZWFkb25seSBvYmplY3RzJCA9IHRoaXMuc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUub2JqZWN0cyk7XG4gIHJlYWRvbmx5IHNldE9iamVjdHMgPSB0aGlzLnVwZGF0ZXIoXG4gICAgKHN0b3JlLCBvYmplY3RzOiBUeXBlW10pOiBTdGF0ZSA9PiAoe1xuICAgICAgLi4uc3RvcmUsXG4gICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgIG9iamVjdHMsXG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBzZXRMb2FkaW5nID0gdGhpcy51cGRhdGVyKChzdG9yZSwgbG9hZGluZzogYm9vbGVhbik6IFN0YXRlID0+ICh7IC4uLnN0b3JlLCBsb2FkaW5nIH0pKTtcbiAgcmVhZG9ubHkgc2V0Q291bnQgPSB0aGlzLnVwZGF0ZXIoXG4gICAgKHN0b3JlLCBjb3VudDogbnVtYmVyKTogU3RhdGUgPT4gKHtcbiAgICAgIC4uLnN0b3JlLFxuICAgICAgY291bnQsXG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBzZXRUb3RhbCA9IHRoaXMudXBkYXRlcihcbiAgICAoc3RhdGUsIHRvdGFsOiBudW1iZXIpOiBTdGF0ZSA9PiAoe1xuICAgICAgLi4uc3RhdGUsXG4gICAgICB0b3RhbCxcbiAgICB9KVxuICApO1xuXG4gIGFic3RyYWN0IHJlYWRvbmx5IGRlbGV0ZUJ5SWRzOiAoXG4gICAgaWRzOiBzdHJpbmdbXSxcbiAgICAuLi5hcmdzOiB1bmtub3duW11cbiAgKSA9PiBPYnNlcnZhYmxlPE11dGF0aW9uUmVzdWx0PFR5cGVbXT4gfCBudWxsPjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgZmV0Y2hUb3RhbDogKFxuICAgIG9ic2VydmFibGVPclZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PlxuICApID0+IFN1YnNjcmlwdGlvbjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgZmV0Y2hPYmplY3RzOiAoXG4gICAgb2JzZXJ2YWJsZU9yVmFsdWU6XG4gICAgICB8IHtcbiAgICAgICAgICBmaWx0ZXI6IElIYXN1cmFRdWVyeUZpbHRlcjxUeXBlPjtcbiAgICAgICAgICBjYWxsYmFjaz86IChkYXRhOiBUeXBlW10pID0+IHZvaWQ7XG4gICAgICAgIH1cbiAgICAgIHwgT2JzZXJ2YWJsZTx7XG4gICAgICAgICAgZmlsdGVyOiBJSGFzdXJhUXVlcnlGaWx0ZXI8VHlwZT47XG4gICAgICAgICAgY2FsbGJhY2s/OiAoZGF0YTogVHlwZVtdKSA9PiB2b2lkO1xuICAgICAgICB9PlxuICApID0+IFN1YnNjcmlwdGlvbjtcblxuICBhYnN0cmFjdCBidWlsZEZpbHRlcihcbiAgICBsaW1pdDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIG9mZnNldDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIGdxbEZpbHRlcjogR3FsRmllbGRzIHwgdW5kZWZpbmVkLFxuICAgIHNvcnRlcj86IFJlZ2lzdGVyVGFibGVDZWxsU29ydGVyPFR5cGU+W11cbiAgKTogSUhhc3VyYVF1ZXJ5RmlsdGVyPFR5cGU+O1xufVxuIl19
@@ -31,4 +31,4 @@ export var ETimezone;
31
31
  ETimezone["IRK"] = "+08:00";
32
32
  ETimezone["YAK"] = "+09:00";
33
33
  })(ETimezone || (ETimezone = {}));
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9kaXJlY3RpdmVzL2RhdGUvZGF0ZS10aW1lLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLFlBaUJYO0FBakJELFdBQVksWUFBWTtJQUN0QixzQ0FBc0IsQ0FBQTtJQUN0QixtQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBNEIsQ0FBQTtJQUM1Qiw4REFBOEMsQ0FBQTtJQUM5QyxpREFBaUMsQ0FBQTtJQUNqQyw2Q0FBNkIsQ0FBQTtJQUM3Qix5Q0FBeUIsQ0FBQTtJQUN6Qix1RUFBdUQsQ0FBQTtJQUN2RCx5Q0FBeUIsQ0FBQTtJQUN6Qix1Q0FBdUIsQ0FBQTtJQUN2Qiw2REFBNkMsQ0FBQTtJQUM3Qyw2REFBNkMsQ0FBQTtJQUM3Qyx3RUFBd0QsQ0FBQTtJQUN4RCwrQkFBZSxDQUFBO0lBQ2YseUJBQVMsQ0FBQTtJQUNULHFDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFqQlcsWUFBWSxLQUFaLFlBQVksUUFpQnZCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4QiwyQ0FBeUIsQ0FBQTtJQUN6Qix5Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQU9YO0FBUEQsV0FBWSxTQUFTO0lBQ25CLDJCQUFjLENBQUE7SUFDZCwyQkFBYyxDQUFBO0lBQ2QsMkJBQWMsQ0FBQTtJQUNkLDJCQUFjLENBQUE7SUFDZCwyQkFBYyxDQUFBO0lBQ2QsMkJBQWMsQ0FBQTtBQUNoQixDQUFDLEVBUFcsU0FBUyxLQUFULFNBQVMsUUFPcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcml6bURheSwgUHJpem1UaW1lIH0gZnJvbSAnQHByaXptLXVpL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgZW51bSBFRGF0ZVBhdHRlcm4ge1xuICBNT05USF9ZRUFSID0gJ01NLnl5eXknLFxuICBEQVRFID0gJ2RkLk1NLnl5eXknLFxuICBTSE9SVF9ZRUFSX0RBVEUgPSAnZGQuTU0ueXknLFxuICBEQVRFX1RJTUVfV0lUSE9VVF9TRUNPTkRTID0gJ2RkLk1NLnl5eXkgSEg6bW0nLFxuICBEQVRFX1RJTUUgPSAnZGQuTU0ueXl5eSBISDptbTpzcycsXG4gIFlFQVJfTU9OVEhfREFZID0gJ3l5eXktTU0tZGQnLFxuICBERF9NTV9ZWVlZID0gJ2RkLU1NLXl5eXknLFxuICBEQVRFX1RJTUVfSVNPX01BUktFRF9USU1FWk9ORSA9IGB5eXl5LU1NLWRkJ1QnSEg6bW06c3NgLFxuICBZWVlZX01NX0REID0gJ3l5eXkvTU0vZGQnLFxuICBNTU1NX1lZWVkgPSAnTU1NTSBZWVlZJyxcbiAgREFURV9USU1FX0lTT19QQVRURVJOID0gJ1lZWVktTU0tRERUSEg6bW06c3MnLFxuICBEQVRFX1RJTUVfRk9SX1RSQUNLRVIgPSAnWVlZWS1NTS1ERCBISDptbTpzcycsXG4gIERBVEVfVElNRV9GT1JfVFJBQ0tFUl9OT1RfU0lNUExFID0gJ3l5eXktTU0tZGQgSEg6bW06c3MnLFxuICBUVUlfWU1EID0gJ1lNRCcsXG4gIERBWSA9ICdkJyxcbiAgSE9VUl9NSU5VVEUgPSAnSEg6bW0nLFxufVxuXG5leHBvcnQgZW51bSBFTW9tZW50UGF0dGVybiB7XG4gIFlZWVlfTU1fREQgPSAnWVlZWS1NTS1ERCcsXG4gIFlZWVlNTUREID0gJ3l5eXkvTU0vREQnLFxufVxuXG5leHBvcnQgZW51bSBFVGltZXpvbmUge1xuICBVVEMgPSAnKzAwOjAwJyxcbiAgTVNLID0gJyswMzowMCcsXG4gIEFRVCA9ICcrMDU6MDAnLFxuICBOVlMgPSAnKzA3OjAwJyxcbiAgSVJLID0gJyswODowMCcsXG4gIFlBSyA9ICcrMDk6MDAnLFxufVxuXG5leHBvcnQgdHlwZSBTbWFQcml6bURhdGVUaW1lID0gW1ByaXptRGF5LCBQcml6bVRpbWUgfCB1bmRlZmluZWRdO1xuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9kaXJlY3RpdmVzL2RhdGUvZGF0ZS10aW1lLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFlBaUJYO0FBakJELFdBQVksWUFBWTtJQUN0QixzQ0FBc0IsQ0FBQTtJQUN0QixtQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBNEIsQ0FBQTtJQUM1Qiw4REFBOEMsQ0FBQTtJQUM5QyxpREFBaUMsQ0FBQTtJQUNqQyw2Q0FBNkIsQ0FBQTtJQUM3Qix5Q0FBeUIsQ0FBQTtJQUN6Qix1RUFBdUQsQ0FBQTtJQUN2RCx5Q0FBeUIsQ0FBQTtJQUN6Qix1Q0FBdUIsQ0FBQTtJQUN2Qiw2REFBNkMsQ0FBQTtJQUM3Qyw2REFBNkMsQ0FBQTtJQUM3Qyx3RUFBd0QsQ0FBQTtJQUN4RCwrQkFBZSxDQUFBO0lBQ2YseUJBQVMsQ0FBQTtJQUNULHFDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFqQlcsWUFBWSxLQUFaLFlBQVksUUFpQnZCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4QiwyQ0FBeUIsQ0FBQTtJQUN6Qix5Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQU9YO0FBUEQsV0FBWSxTQUFTO0lBQ25CLDJCQUFjLENBQUE7SUFDZCwyQkFBYyxDQUFBO0lBQ2QsMkJBQWMsQ0FBQTtJQUNkLDJCQUFjLENBQUE7SUFDZCwyQkFBYyxDQUFBO0lBQ2QsMkJBQWMsQ0FBQTtBQUNoQixDQUFDLEVBUFcsU0FBUyxLQUFULFNBQVMsUUFPcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFRGF0ZVBhdHRlcm4ge1xuICBNT05USF9ZRUFSID0gJ01NLnl5eXknLFxuICBEQVRFID0gJ2RkLk1NLnl5eXknLFxuICBTSE9SVF9ZRUFSX0RBVEUgPSAnZGQuTU0ueXknLFxuICBEQVRFX1RJTUVfV0lUSE9VVF9TRUNPTkRTID0gJ2RkLk1NLnl5eXkgSEg6bW0nLFxuICBEQVRFX1RJTUUgPSAnZGQuTU0ueXl5eSBISDptbTpzcycsXG4gIFlFQVJfTU9OVEhfREFZID0gJ3l5eXktTU0tZGQnLFxuICBERF9NTV9ZWVlZID0gJ2RkLU1NLXl5eXknLFxuICBEQVRFX1RJTUVfSVNPX01BUktFRF9USU1FWk9ORSA9IGB5eXl5LU1NLWRkJ1QnSEg6bW06c3NgLFxuICBZWVlZX01NX0REID0gJ3l5eXkvTU0vZGQnLFxuICBNTU1NX1lZWVkgPSAnTU1NTSBZWVlZJyxcbiAgREFURV9USU1FX0lTT19QQVRURVJOID0gJ1lZWVktTU0tRERUSEg6bW06c3MnLFxuICBEQVRFX1RJTUVfRk9SX1RSQUNLRVIgPSAnWVlZWS1NTS1ERCBISDptbTpzcycsXG4gIERBVEVfVElNRV9GT1JfVFJBQ0tFUl9OT1RfU0lNUExFID0gJ3l5eXktTU0tZGQgSEg6bW06c3MnLFxuICBUVUlfWU1EID0gJ1lNRCcsXG4gIERBWSA9ICdkJyxcbiAgSE9VUl9NSU5VVEUgPSAnSEg6bW0nLFxufVxuXG5leHBvcnQgZW51bSBFTW9tZW50UGF0dGVybiB7XG4gIFlZWVlfTU1fREQgPSAnWVlZWS1NTS1ERCcsXG4gIFlZWVlNTUREID0gJ3l5eXkvTU0vREQnLFxufVxuXG5leHBvcnQgZW51bSBFVGltZXpvbmUge1xuICBVVEMgPSAnKzAwOjAwJyxcbiAgTVNLID0gJyswMzowMCcsXG4gIEFRVCA9ICcrMDU6MDAnLFxuICBOVlMgPSAnKzA3OjAwJyxcbiAgSVJLID0gJyswODowMCcsXG4gIFlBSyA9ICcrMDk6MDAnLFxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export { provideSprocIcons } from './provide-icons';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL3Byb3ZpZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IHByb3ZpZGVTcHJvY0ljb25zIH0gZnJvbSAnLi9wcm92aWRlLWljb25zJztcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { TUI_ICON_RESOLVER } from '@taiga-ui/core';
2
+ import { SkipSelf } from '@angular/core';
3
+ /** Провайдер для регистрации иконок библиотеки */
4
+ export function provideSprocIcons() {
5
+ return {
6
+ provide: TUI_ICON_RESOLVER,
7
+ useFactory: (defaultResolver) => {
8
+ const sprocPrefix = '@sproc.';
9
+ return (icon) => {
10
+ if (icon.startsWith(sprocPrefix)) {
11
+ const iconName = icon.replace(sprocPrefix, '');
12
+ return `/assets/ngx-register-base/icons/${iconName}.svg`;
13
+ }
14
+ if (defaultResolver) {
15
+ return defaultResolver(icon);
16
+ }
17
+ return icon;
18
+ };
19
+ },
20
+ deps: [[new SkipSelf(), TUI_ICON_RESOLVER]],
21
+ };
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1pY29ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvcHJvdmlkZXJzL3Byb3ZpZGUtaWNvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFZLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxrREFBa0Q7QUFDbEQsTUFBTSxVQUFVLGlCQUFpQjtJQUMvQixPQUFPO1FBQ0wsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixVQUFVLEVBQUUsQ0FBQyxlQUFnRCxFQUFFLEVBQUU7WUFDL0QsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO1lBRTlCLE9BQU8sQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQ2pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMvQyxPQUFPLG1DQUFtQyxRQUFRLE1BQU0sQ0FBQztnQkFDM0QsQ0FBQztnQkFFRCxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNwQixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsQ0FBQztnQkFFRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztLQUM1QyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRVSV9JQ09OX1JFU09MVkVSIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgUHJvdmlkZXIsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUdWlTdHJpbmdIYW5kbGVyIH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKiDQn9GA0L7QstCw0LnQtNC10YAg0LTQu9GPINGA0LXQs9C40YHRgtGA0LDRhtC40Lgg0LjQutC+0L3QvtC6INCx0LjQsdC70LjQvtGC0LXQutC4ICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVNwcm9jSWNvbnMoKTogUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IFRVSV9JQ09OX1JFU09MVkVSLFxuICAgIHVzZUZhY3Rvcnk6IChkZWZhdWx0UmVzb2x2ZXI6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPiB8IG51bGwpID0+IHtcbiAgICAgIGNvbnN0IHNwcm9jUHJlZml4ID0gJ0BzcHJvYy4nO1xuXG4gICAgICByZXR1cm4gKGljb246IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoaWNvbi5zdGFydHNXaXRoKHNwcm9jUHJlZml4KSkge1xuICAgICAgICAgIGNvbnN0IGljb25OYW1lID0gaWNvbi5yZXBsYWNlKHNwcm9jUHJlZml4LCAnJyk7XG4gICAgICAgICAgcmV0dXJuIGAvYXNzZXRzL25neC1yZWdpc3Rlci1iYXNlL2ljb25zLyR7aWNvbk5hbWV9LnN2Z2A7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGVmYXVsdFJlc29sdmVyKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmF1bHRSZXNvbHZlcihpY29uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpY29uO1xuICAgICAgfTtcbiAgICB9LFxuICAgIGRlcHM6IFtbbmV3IFNraXBTZWxmKCksIFRVSV9JQ09OX1JFU09MVkVSXV0sXG4gIH07XG59XG4iXX0=
@@ -4,8 +4,6 @@ import moment from 'moment-timezone';
4
4
  import { BehaviorSubject } from 'rxjs';
5
5
  import { STORED_TIMEZONE } from '../consts/date-time.consts';
6
6
  import { EDatePattern, ETimezone } from '../directives/date/date-time.types';
7
- import { PrizmDateTimeRange, PrizmDay, PrizmDayRange, PrizmTime, PrizmTimeRange, } from '@prizm-ui/components';
8
- import { TuiDay } from '@taiga-ui/cdk';
9
7
  import * as i0 from "@angular/core";
10
8
  // Не менять формат, названия и ' ' оставлять всегда
11
9
  // 'UTC ' - оставлять
@@ -267,41 +265,6 @@ export class DateTimeService {
267
265
  currentDate.setMonth(currentDate.getMonth() - monthBackNumber);
268
266
  return currentDate;
269
267
  }
270
- prizmDateTimeRangeToNativeDates(range) {
271
- const { dayRange, timeRange } = range;
272
- const from = this.prizmDateTimeToNativeDate([dayRange.from, timeRange?.from]);
273
- const to = this.prizmDateTimeToNativeDate([dayRange.to, timeRange?.to]);
274
- return { from, to };
275
- }
276
- prizmDateTimeRangeFromNativeDates(from, to) {
277
- return new PrizmDateTimeRange(PrizmDayRange.fromLocalNativeDate(from, to), new PrizmTimeRange(PrizmTime.fromLocalNativeDate(from), PrizmTime.fromLocalNativeDate(to)));
278
- }
279
- prizmDateTimeToNativeDate(prizmDateTime) {
280
- const [day, time] = prizmDateTime;
281
- const date = new Date(day.toLocalNativeDate());
282
- if (time) {
283
- date.setHours(time.hours, time.minutes, time.seconds, time.ms);
284
- }
285
- return date;
286
- }
287
- getTuiDayFromString(date) {
288
- const localDate = this.isoToLocalDate(date);
289
- return new TuiDay(localDate.getFullYear(), localDate.getMonth(), localDate.getDate());
290
- }
291
- getTuiDayFromDate(date) {
292
- return new TuiDay(date.getFullYear(), date.getMonth(), date.getDate());
293
- }
294
- transferTuiDayToString(date, pattern) {
295
- return date ? format(date.toLocalNativeDate(), pattern ?? EDatePattern.YEAR_MONTH_DAY) : null;
296
- }
297
- toSmaPrizmDateTime(dateString) {
298
- const date = new Date(dateString);
299
- const hours = date.getHours();
300
- const min = date.getMinutes();
301
- const day = PrizmDay.fromLocalNativeDate(date);
302
- const time = new PrizmTime(hours, min);
303
- return [day, time];
304
- }
305
268
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateTimeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
306
269
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateTimeService, providedIn: 'root' }); }
307
270
  }
@@ -311,4 +274,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
311
274
  providedIn: 'root',
312
275
  }]
313
276
  }], ctorParameters: () => [] });
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL3NlcnZpY2VzL2RhdGUtdGltZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLE1BQWtCLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQW9CLE1BQU0sb0NBQW9DLENBQUM7QUFDL0YsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixRQUFRLEVBQ1IsYUFBYSxFQUNiLFNBQVMsRUFDVCxjQUFjLEdBQ2YsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWF2QyxvREFBb0Q7QUFDcEQscUJBQXFCO0FBQ3JCLG9DQUFvQztBQUNwQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxZQUFZO0lBQ1osc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixxQkFBcUI7SUFDckIscUJBQXFCO0NBQ3RCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWdCO0lBQ3JDO1FBQ0UsS0FBSyxFQUFFLFNBQVM7UUFDaEIsTUFBTSxFQUFFLFlBQVk7UUFDcEIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsZUFBZTtRQUN0QixNQUFNLEVBQUUsZUFB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QUksQ0FBQyxDQUFDO1FBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2QyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7K0dBeFRVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IG1vbWVudCwgeyBNb21lbnQgfSBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTVE9SRURfVElNRVpPTkUgfSBmcm9tICcuLi9jb25zdHMvZGF0ZS10aW1lLmNvbnN0cyc7XG5pbXBvcnQgeyBFRGF0ZVBhdHRlcm4sIEVUaW1lem9uZSwgU21hUHJpem1EYXRlVGltZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZGF0ZS9kYXRlLXRpbWUudHlwZXMnO1xuaW1wb3J0IHtcbiAgUHJpem1EYXRlVGltZVJhbmdlLFxuICBQcml6bURheSxcbiAgUHJpem1EYXlSYW5nZSxcbiAgUHJpem1UaW1lLFxuICBQcml6bVRpbWVSYW5nZSxcbn0gZnJvbSAnQHByaXptLXVpL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgVHVpRGF5IH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVab25lIHtcbiAgdGltZV9kaWZmOiBzdHJpbmc7XG4gIHN0cmluZzogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDdXJyZW50VGltZV9UWiB7XG4gIGN1cnJlbnRfdGltZTogc3RyaW5nO1xuICBwaWNrZWRfdGltZV96b25lOiBJVGltZVpvbmU7XG59XG5cbi8vINCd0LUg0LzQtdC90Y/RgtGMINGE0L7RgNC80LDRgiwg0L3QsNC30LLQsNC90LjRjyDQuCAnICcg0L7RgdGC0LDQstC70Y/RgtGMINCy0YHQtdCz0LTQsFxuLy8gJ1VUQyAnIC0g0L7RgdGC0LDQstC70Y/RgtGMXG4vLyBF0YHQu9C4INC80LXQvdGP0YLRjCzQuNC30LzQtdC90LjRgtGMINGE0LjQu9GM0YLRgNGLINCyINCU0J5cbmV4cG9ydCBjb25zdCB0aW1lem9uZVNlbGVjdEl0ZW1zID0gW1xuICAnVVRDICswMDowMCcsXG4gICdFdXJvcGUvTW9zY293ICswMzowMCcsXG4gICdBc2lhL0FxdGF1ICswNTowMCcsXG4gICdBc2lhL1lla2F0ZXJpbmJ1cmcgKzA1OjAwJyxcbiAgJ0FzaWEvTm92b3NpYmlyc2sgKzA3OjAwJyxcbiAgJ0FzaWEvS3Jhc25veWFyc2sgKzA3OjAwJyxcbiAgJ0FzaWEvSXJrdXRzayArMDg6MDAnLFxuICAnQXNpYS9ZYWt1dHNrICswOTowMCcsXG5dO1xuZXhwb3J0IGNvbnN0IFRJTUVfWk9ORVM6IElUaW1lWm9uZVtdID0gW1xuICB7XG4gICAgdmFsdWU6ICdFdGMvR01UJyxcbiAgICBzdHJpbmc6ICcrMDA6MDAgVVRDJyxcbiAgICB0aW1lX2RpZmY6IEVUaW1lem9uZS5VVEMsXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJ0V1cm9wZS9Nb3Njb3cnLFxuICAgIHN0cmluZzogJyswMzowMCDQnNC+0YHQutCy0LAnLFxuICAgIHRpbWVfZGlmZjogRVRpbWV6b25lLk1TSyxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnQXNpYS9BcXRhdScsXG4gICAgc3RyaW5nOiAnKzA1OjAwINCi0Y7QvNC10L3RjCcsXG4gICAgdGltZV9kaWZmOiBFVGltZXpvbmUuQVFULFxuICB9LFxuICB7XG4gICAgdmFsdWU6ICdBc2lhL05vdm9zaWJpcnNrJyxcbiAgICBzdHJpbmc6ICcrMDc6MDAg0KLQvtC80YHQuicsXG4gICAgdGltZV9kaWZmOiBFVGltZXpvbmUuTlZTLFxuICB9LFxuICB7XG4gICAgdmFsdWU6ICdBc2lhL0lya3V0c2snLFxuICAgIHN0cmluZzogJyswODowMCDQmNGA0LrRg9GC0YHQuicsXG4gICAgdGltZV9kaWZmOiBFVGltZXpvbmUuSVJLLFxuICB9LFxuICB7XG4gICAgdmFsdWU6ICdBc2lhL1lha3V0c2snLFxuICAgIHN0cmluZzogJyswOTowMCDQr9C60YPRgtGB0LonLFxuICAgIHRpbWVfZGlmZjogRVRpbWV6b25lLllBSyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBUSU1FX1pPTkVfSElOVFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICcrMDA6MDAnOiAnKzAwOjAwIFVUQycsXG4gICcrMDM6MDAnOiAn0JPQn9CdLdCR0KEsINCT0J/QnS3Qk9CV0J4sINCT0J/QnS3QndChLCDQk9Cf0J0t0KLQnywg0JPQn9CdLdCpLCDQnNCd0JPQnywg0J3QotCmLCDQn9Cw0YDQsNC00L3QsNGPLCDQodCf0JQnLFxuICAnKzA1OjAwJzpcbiAgICAn0JPQn9CdLdCQLCDQk9Cf0J0t0JHQk9CfLCDQk9Cf0J0t0JcsINCT0J/QnS3QmNCi0J4sINCT0J/QnS3QnCwg0JPQn9CdLdCdLCDQk9Cf0J0t0J4sINCT0J/QnS3QoCwg0JPQn9CdLdChLCDQk9Cf0J0t0KUsINCT0J/QnS3Qrywg0JzQoNCiLCDQnNGB0J3Qkywg0JzQrdCdLCDQndCd0JPQk9CkLCDQndCi0J0sINCd0K3QnSwg0KHQnS3QnNCd0JMnLFxuICAnKzA3OjAwJzogJ9CT0J/QnS3Qkiwg0JzQndCTLdCTLCDQmNCdLdCS0J3QmicsXG4gICcrMDg6MDAnOiAn0JjQs9C90Y/Qu9C40L3RgdC60L7QtSDQvC/RgCcsXG4gICcrMDk6MDAnOiAn0KfQsNGP0L3QtNC40L3RgdC60L7QtSDQvC/RgCwg0KLRi9C80L/Rg9GH0LjQutCw0L3RgdC60L7QtSDQvC/RgCwg0JLQsNC60YPQvdCw0LnRgdC60L7QtSDQvC/RgCwg0KLQsNGBLdCu0YDRj9GF0YHQutC+0LUg0Lwv0YAnLFxufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50VGltZVRaOiBJQ3VycmVudFRpbWVfVFogPSB7XG4gICAgcGlja2VkX3RpbWVfem9uZTogVElNRV9aT05FU1sxXSxcbiAgICBjdXJyZW50X3RpbWU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pc1RpbWVab25lQ2hhbmdlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVRpbWVab25lPihcbiAgICB0aGlzLmN1cnJlbnRUaW1lVFoucGlja2VkX3RpbWVfem9uZVxuICApO1xuICBwdWJsaWMgaXNUaW1lWm9uZUNoYW5nZWQkID0gdGhpcy5faXNUaW1lWm9uZUNoYW5nZWQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IHN0b3JlZFRpbWVab25lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oU1RPUkVEX1RJTUVaT05FKTtcblxuICAgIGlmIChzdG9yZWRUaW1lWm9uZSkge1xuICAgICAgdGhpcy5jdXJyZW50VGltZVRaLnBpY2tlZF90aW1lX3pvbmUgPSBKU09OLnBhcnNlKHN0b3JlZFRpbWVab25lKSBhcyBJVGltZVpvbmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudFRpbWVUWi5jdXJyZW50X3RpbWUgPSB0aGlzLmdldEN1cnJlbnRUaW1lKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZVRpbWV6b25lKHRpbWVfem9uZTogSVRpbWVab25lKTogdm9pZCB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oU1RPUkVEX1RJTUVaT05FLCBKU09OLnN0cmluZ2lmeSh0aW1lX3pvbmUpKTtcblxuICAgIHRoaXMuY3VycmVudFRpbWVUWi5waWNrZWRfdGltZV96b25lID0gdGltZV96b25lO1xuICAgIHRoaXMuY3VycmVudFRpbWVUWi5jdXJyZW50X3RpbWUgPSB0aGlzLmdldEN1cnJlbnRUaW1lKCk7XG4gICAgdGhpcy5faXNUaW1lWm9uZUNoYW5nZWQubmV4dCh0aGlzLmN1cnJlbnRUaW1lVFoucGlja2VkX3RpbWVfem9uZSk7XG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaERhdGVQaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5faXNUaW1lWm9uZUNoYW5nZWQubmV4dCh0aGlzLmN1cnJlbnRUaW1lVFoucGlja2VkX3RpbWVfem9uZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudFRpbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgIHRpbWVab25lOiB0aGlzLmN1cnJlbnRUaW1lVFoucGlja2VkX3RpbWVfem9uZS52YWx1ZSxcbiAgICAgIGhvdXIxMjogZmFsc2UsXG4gICAgICBob3VyOiAnMi1kaWdpdCcsXG4gICAgICBtaW51dGU6ICcyLWRpZ2l0JyxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvTG9jYWxlU3RyaW5nKCdlbi1HQicsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIHRyaWdnZXJUaW1lVXBkYXRlKHRpbWVab25lOiBJVGltZVpvbmUpOiB2b2lkIHtcbiAgICB0aGlzLl9pc1RpbWVab25lQ2hhbmdlZC5uZXh0KHRpbWVab25lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gdXRjINCy0YDQtdC80Y8g0LIgVVRDXG4gICAqIEBwYXJhbSBwYXR0ZXJuXG4gICAqINCh0YLRgNC+0LrQsCDRgdC+0YHRgtC+0Y/RidCw0Y8g0LjQtzpcbiAgICpkZCAtINC00LXQvdGMLFxuICAgKk1NIC0g0LzQtdGB0Y/RhixcbiAgICp5eXl5IC0g0LPQvtC0LFxuICAgKkhIIC0g0YfQsNGB0Ysg0LIgMjTRhy3RhNC+0YDQvNCw0YLQtSxcbiAgICpoaCAtINGH0LDRgdGLINCyIDEy0Yct0YTQvtGA0LzQsNGC0LUsXG4gICAqbW0gLSDQvNC40L3Rg9GC0YssXG4gICAqc3MgLSDRgdC10LrRg9C90LTRiyxcbiAgICpzc3MgLSDQvNC40LvQu9C40YHQtdC60YPQvdC00YssXG4gICAqL1xuICBwdWJsaWMgcGFyc2VEYXRlKHV0Yzogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGU6IERhdGUgPSB0aGlzLmlzb1RvTG9jYWxEYXRlKHV0Yyk7XG5cbiAgICByZXR1cm4gZm9ybWF0KGRhdGUsIHBhdHRlcm4pO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIHVzZSBwYXJzZURhdGUoaXNvOiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZyk6IHN0cmluZyBtZXRob2QgKi9cbiAgcHVibGljIHBhcnNlRGF0ZVRvTU1ZWVlZKGlzbzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBvcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgIGhvdXIxMjogZmFsc2UsXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICBtb250aDogJzItZGlnaXQnLFxuICAgICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgfTtcblxuICAgIGNvbnN0IGRhdGUgPSB0aGlzLmlzb1RvTG9jYWxEYXRlKGlzbykudG9Mb2NhbGVTdHJpbmcoJ2VuLUdCJywgb3B0aW9ucyk7XG4gICAgY29uc3QgW18sIG1vbnRoLCB5ZWFyXSA9IGRhdGUuc3BsaXQoJy8nKTtcblxuICAgIHJldHVybiBgJHttb250aH0uJHt5ZWFyfWA7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgdXNlIHBhcnNlRGF0ZShpc286IHN0cmluZywgcGF0dGVybjogc3RyaW5nKTogc3RyaW5nIG1ldGhvZCAqL1xuICBwdWJsaWMgcGFyc2VEYXRlVG9ERE1NWVlZWShpc286IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgb3B0aW9uczogSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7XG4gICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICAgIGRheTogJzItZGlnaXQnLFxuICAgIH07XG5cbiAgICBjb25zdCBkYXRlID0gdGhpcy5pc29Ub0xvY2FsRGF0ZShpc28pLnRvTG9jYWxlU3RyaW5nKCdlbi1HQicsIG9wdGlvbnMpO1xuICAgIGNvbnN0IFtkYXksIG1vbnRoLCB5ZWFyXSA9IGRhdGUuc3BsaXQoJy8nKTtcblxuICAgIHJldHVybiBgJHtkYXl9LiR7bW9udGh9LiR7eWVhcn1gO1xuICB9XG5cbiAgcHVibGljIGlzb1RvTG9jYWxEYXRlKGlzbzogc3RyaW5nLCB0ekRpZmY/OiBzdHJpbmcpOiBEYXRlIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5pc29Ub1VUQ0RhdGUoaXNvKTtcbiAgICBsZXQgZGlmZlRaID0gdHpEaWZmO1xuICAgIGlmICghdHpEaWZmKSB7XG4gICAgICBkaWZmVFogPSB0aGlzLmN1cnJlbnRUaW1lVFoucGlja2VkX3RpbWVfem9uZS50aW1lX2RpZmY7XG4gICAgfVxuXG4gICAgY29uc3QgaG91cnMgPSBOdW1iZXIucGFyc2VJbnQoZGlmZlRaISwgMTApO1xuICAgIGRhdGUuc2V0SG91cnMoZGF0ZS5nZXRIb3VycygpICsgaG91cnMpO1xuXG4gICAgcmV0dXJuIGRhdGU7XG4gIH1cblxuICBwdWJsaWMgaXNvVG9VVENEYXRlKGlzbzogc3RyaW5nKTogRGF0ZSB7XG4gICAgbGV0IGRhdGVTdHJpbmcgPSBpc287XG5cbiAgICAvLyDQn9C10YDQtdCy0L7QtCDQuNC3INGC0LDQudC80LfQvtC90Ysg0YHQtdGA0LLQtdGA0LAg0LogVVRDXG4gICAgaWYgKHRoaXMuX2hhc1RpbWVab25lKGlzbykpIHtcbiAgICAgIGRhdGVTdHJpbmcgPSBuZXcgRGF0ZShpc28pLnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGVTdHJpbmcuaW5jbHVkZXMoJ1onKSkge1xuICAgICAgZGF0ZVN0cmluZyA9IGRhdGVTdHJpbmcuc2xpY2UoMCwgZGF0ZVN0cmluZy5sYXN0SW5kZXhPZignWicpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZVN0cmluZyk7XG4gIH1cblxuICBwcml2YXRlIF9oYXNUaW1lWm9uZShpc286IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRpbWVab25lUmVnZXggPSAvWystXVxcZHsyfSg6XFxkezJ9KT8kLztcblxuICAgIHJldHVybiB0aW1lWm9uZVJlZ2V4LnRlc3QoaXNvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQtNCw0YLRgyDQutC+0L3QstC10YDRgtC40YDQvtCy0LDQvdC90YPRjiDQsiBJU08g0YTQvtGA0LzQsNGCINCx0LXQtyDRg9GH0LXRgtCwINGC0LDQudC80LfQvtC90YtcbiAgICogKi9cbiAgcHVibGljIGRhdGVUb0lzb1dpdGhvdXRUaW1lWm9uZShkYXRlOiBEYXRlKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgbGV0IHJlc3VsdCA9IG51bGw7XG5cbiAgICBpZiAoZGF0ZSkge1xuICAgICAgY29uc3QgdGltZXN0YW1wID0gZGF0ZS5nZXRUaW1lKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MF8wMDA7XG4gICAgICBjb25zdCBjb3JyZWN0RGF0ZSA9IG5ldyBEYXRlKHRpbWVzdGFtcCk7XG5cbiAgICAgIHJlc3VsdCA9IGNvcnJlY3REYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtYXREYXRlU2F2ZShkYXRlPzogc3RyaW5nIHwgbnVsbCwgb3B0aW9uPzogJ1lNRCcpOiBzdHJpbmcge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgcmVzdWx0ID0gb3B0aW9uID8gZm9ybWF0KGRhdGUsICd5eXl5LU1NLWRkJykgOiBmb3JtYXQoZGF0ZSwgRURhdGVQYXR0ZXJuLkRBVEUpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGZvcm1hdFRpbWVTYXZlKGRhdGU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGVUaW1lOiBEYXRlID0gbmV3IERhdGUoZGF0ZSEpO1xuICAgIGNvbnN0IHJlc3VsdCA9IFtkYXRlVGltZS5nZXRIb3VycygpLCBkYXRlVGltZS5nZXRNaW51dGVzKCksIGRhdGVUaW1lLmdldFNlY29uZHMoKV1cbiAgICAgIC5tYXAoKHRpbWUpID0+ICh0aW1lIDwgMTAgPyBgMCR7dGltZX1gIDogdGltZSkpXG4gICAgICAuam9pbignOicpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgdG9JU09TdHJpbmcoZGF0ZTogRGF0ZSwgdHpEaWZmPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgZGlmZlRaID0gdHpEaWZmO1xuICAgIGlmICghdHpEaWZmKSB7XG4gICAgICBkaWZmVFogPSB0aGlzLmN1cnJlbnRUaW1lVFoucGlja2VkX3RpbWVfem9uZS50aW1lX2RpZmY7XG4gICAgfVxuXG4gICAgY29uc3QgbSA9IHRoaXMuX21vbWVudFdpdGhUWihkYXRlLCBkaWZmVFohKTtcblxuICAgIHJldHVybiBtLnRvSVNPU3RyaW5nKCk7XG4gIH1cblxuICBwdWJsaWMgX21vbWVudFdpdGhUWihkYXRlOiBEYXRlLCB0aW1lem9uZTogc3RyaW5nKTogTW9tZW50IHtcbiAgICBjb25zdCBpc28gPSB0aGlzLl9kYXRlVG9JU09TbGljZVooZGF0ZSk7XG4gICAgbGV0IHR6ID0gdGltZXpvbmU7XG4gICAgaWYgKHRpbWV6b25lID09PSBFVGltZXpvbmUuVVRDKSB7XG4gICAgICB0eiA9ICdaJztcbiAgICB9XG5cbiAgICByZXR1cm4gbW9tZW50LnBhcnNlWm9uZShgJHtpc299JHt0en1gKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RhdGVUb0lTT1NsaWNlWihkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCBpc28gPSB0aGlzLmRhdGVUb0lzb1dpdGhvdXRUaW1lWm9uZShkYXRlKSE7XG5cbiAgICByZXR1cm4gaXNvLmluY2x1ZGVzKCdaJykgPyBpc28uc2xpY2UoMCwgaXNvLmxhc3RJbmRleE9mKCdaJykpIDogaXNvO1xuICB9XG5cbiAgcHVibGljIGNvbnZlcnREYXRlVG9JU09XaXRoVFooZGF0ZTogRGF0ZSwgdHo6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFkID0gKHN0cjogbnVtYmVyKSA9PiBzdHIudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IGRhdGVQYXJ0ID0gYCR7ZGF0ZS5nZXRGdWxsWWVhcigpfS0ke3BhZChkYXRlLmdldE1vbnRoKCkgKyAxKX0tJHtwYWQoZGF0ZS5nZXREYXRlKCkpfWA7XG4gICAgY29uc3QgdGltZVBhcnQgPSBgJHtwYWQoZGF0ZS5nZXRIb3VycygpKX06JHtwYWQoZGF0ZS5nZXRNaW51dGVzKCkpfToke3BhZChkYXRlLmdldFNlY29uZHMoKSl9YDtcblxuICAgIHJldHVybiBgJHtkYXRlUGFydH1UJHt0aW1lUGFydH0ke3R6fWA7XG4gIH1cblxuICBwdWJsaWMgbm93KCk6IERhdGUge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IFtob3VyLCBtaW51dGVzXSA9IHRoaXMuY3VycmVudFRpbWVUWi5jdXJyZW50X3RpbWVcbiAgICAgIC5zcGxpdCgnOicpXG4gICAgICAubWFwKCh2YWx1ZSkgPT4gTnVtYmVyLnBhcnNlSW50KHZhbHVlLCAxMCkpO1xuICAgIGRhdGUuc2V0SG91cnMoaG91cik7XG4gICAgZGF0ZS5zZXRNaW51dGVzKG1pbnV0ZXMpO1xuXG4gICAgcmV0dXJuIGRhdGU7XG4gIH1cblxuICAvKipcbiAgICogcmV0dXJuINC+0LHRitC10LrRgiDRgtC40L/QsCBtb21lbnQg0YEg0YLQsNC50LzQt9C+0L3QvtC5INCy0YvQsdGA0LDQvdC90L7QuSDQsiDQv9GA0LjQu9C+0LbQtdC90LjQuFxuICAgKiAqL1xuICBwdWJsaWMgbW9tZW50Tm93V2l0aExvY2FsVGltZXpvbmUoKTogTW9tZW50IHtcbiAgICByZXR1cm4gbW9tZW50LnR6KHRoaXMuY3VycmVudFRpbWVUWi5waWNrZWRfdGltZV96b25lLnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBub3dVVEMoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKG1vbWVudC51dGMoKS5mb3JtYXQoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0V29ya2luZ0RhdGVzQ291bnQoc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICBjb25zdCBzdW5kYXkgPSAwO1xuICAgIGNvbnN0IHNhdHVyZGF5ID0gNjtcblxuICAgIGxldCBjb3VudCA9IDA7XG4gICAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZShzdGFydERhdGUpO1xuXG4gICAgd2hpbGUgKGN1cnJlbnREYXRlIDw9IGVuZERhdGUpIHtcbiAgICAgIGNvbnN0IGRheU9mV2VlayA9IGN1cnJlbnREYXRlLmdldERheSgpO1xuXG4gICAgICBpZiAoZGF5T2ZXZWVrICE9PSBzdW5kYXkgJiYgZGF5T2ZXZWVrICE9PSBzYXR1cmRheSkge1xuICAgICAgICBjb3VudCArPSAxO1xuICAgICAgfVxuXG4gICAgICBjdXJyZW50RGF0ZS5zZXREYXRlKGN1cnJlbnREYXRlLmdldERhdGUoKSArIDEpO1xuICAgIH1cblxuICAgIHJldHVybiBjb3VudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50RGF0ZVdpdGhvdXRUaW1lKCk6IERhdGUge1xuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcblxuICAgIGN1cnJlbnREYXRlLnNldEhvdXJzKDApO1xuICAgIGN1cnJlbnREYXRlLnNldE1pbnV0ZXMoMCk7XG4gICAgY3VycmVudERhdGUuc2V0U2Vjb25kcygwKTtcbiAgICBjdXJyZW50RGF0ZS5zZXRNaWxsaXNlY29uZHMoMCk7XG5cbiAgICByZXR1cm4gY3VycmVudERhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGF0ZVdpdGhvdXRUaW1lKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgICBkYXRlLnNldEhvdXJzKDApO1xuICAgIGRhdGUuc2V0TWludXRlcygwKTtcbiAgICBkYXRlLnNldFNlY29uZHMoMCk7XG4gICAgZGF0ZS5zZXRNaWxsaXNlY29uZHMoMCk7XG5cbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRYTW9udGhCYWNrRGF0ZShtb250aEJhY2tOdW1iZXI6IG51bWJlcik6IERhdGUge1xuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcbiAgICBjdXJyZW50RGF0ZS5zZXRNb250aChjdXJyZW50RGF0ZS5nZXRNb250aCgpIC0gbW9udGhCYWNrTnVtYmVyKTtcbiAgICByZXR1cm4gY3VycmVudERhdGU7XG4gIH1cblxuICBwdWJsaWMgcHJpem1EYXRlVGltZVJhbmdlVG9OYXRpdmVEYXRlcyhyYW5nZTogUHJpem1EYXRlVGltZVJhbmdlKTogeyBmcm9tOiBEYXRlOyB0bzogRGF0ZSB9IHtcbiAgICBjb25zdCB7IGRheVJhbmdlLCB0aW1lUmFuZ2UgfSA9IHJhbmdlO1xuXG4gICAgY29uc3QgZnJvbSA9IHRoaXMucHJpem1EYXRlVGltZVRvTmF0aXZlRGF0ZShbZGF5UmFuZ2UuZnJvbSwgdGltZVJhbmdlPy5mcm9tXSk7XG4gICAgY29uc3QgdG8gPSB0aGlzLnByaXptRGF0ZVRpbWVUb05hdGl2ZURhdGUoW2RheVJhbmdlLnRvLCB0aW1lUmFuZ2U/LnRvXSk7XG5cbiAgICByZXR1cm4geyBmcm9tLCB0byB9O1xuICB9XG5cbiAgcHVibGljIHByaXptRGF0ZVRpbWVSYW5nZUZyb21OYXRpdmVEYXRlcyhmcm9tOiBEYXRlLCB0bzogRGF0ZSk6IFByaXptRGF0ZVRpbWVSYW5nZSB7XG4gICAgcmV0dXJuIG5ldyBQcml6bURhdGVUaW1lUmFuZ2UoXG4gICAgICBQcml6bURheVJhbmdlLmZyb21Mb2NhbE5hdGl2ZURhdGUoZnJvbSwgdG8pLFxuICAgICAgbmV3IFByaXptVGltZVJhbmdlKFByaXptVGltZS5mcm9tTG9jYWxOYXRpdmVEYXRlKGZyb20pLCBQcml6bVRpbWUuZnJvbUxvY2FsTmF0aXZlRGF0ZSh0bykpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwcml6bURhdGVUaW1lVG9OYXRpdmVEYXRlKHByaXptRGF0ZVRpbWU6IFNtYVByaXptRGF0ZVRpbWUpOiBEYXRlIHtcbiAgICBjb25zdCBbZGF5LCB0aW1lXSA9IHByaXptRGF0ZVRpbWU7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGRheS50b0xvY2FsTmF0aXZlRGF0ZSgpKTtcblxuICAgIGlmICh0aW1lKSB7XG4gICAgICBkYXRlLnNldEhvdXJzKHRpbWUuaG91cnMsIHRpbWUubWludXRlcywgdGltZS5zZWNvbmRzLCB0aW1lLm1zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUdWlEYXlGcm9tU3RyaW5nKGRhdGU6IHN0cmluZyk6IFR1aURheSB7XG4gICAgY29uc3QgbG9jYWxEYXRlID0gdGhpcy5pc29Ub0xvY2FsRGF0ZShkYXRlKTtcbiAgICByZXR1cm4gbmV3IFR1aURheShsb2NhbERhdGUuZ2V0RnVsbFllYXIoKSwgbG9jYWxEYXRlLmdldE1vbnRoKCksIGxvY2FsRGF0ZS5nZXREYXRlKCkpO1xuICB9XG5cbiAgcHVibGljIGdldFR1aURheUZyb21EYXRlKGRhdGU6IERhdGUpOiBUdWlEYXkge1xuICAgIHJldHVybiBuZXcgVHVpRGF5KGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSk7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmZXJUdWlEYXlUb1N0cmluZyhkYXRlOiBUdWlEYXkgfCBudWxsLCBwYXR0ZXJuPzogRURhdGVQYXR0ZXJuKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIGRhdGUgPyBmb3JtYXQoZGF0ZS50b0xvY2FsTmF0aXZlRGF0ZSgpLCBwYXR0ZXJuID8/IEVEYXRlUGF0dGVybi5ZRUFSX01PTlRIX0RBWSkgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIHRvU21hUHJpem1EYXRlVGltZShkYXRlU3RyaW5nOiBzdHJpbmcpOiBTbWFQcml6bURhdGVUaW1lIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoZGF0ZVN0cmluZyk7XG4gICAgY29uc3QgaG91cnMgPSBkYXRlLmdldEhvdXJzKCk7XG4gICAgY29uc3QgbWluID0gZGF0ZS5nZXRNaW51dGVzKCk7XG4gICAgY29uc3QgZGF5ID0gUHJpem1EYXkuZnJvbUxvY2FsTmF0aXZlRGF0ZShkYXRlKTtcbiAgICBjb25zdCB0aW1lID0gbmV3IFByaXptVGltZShob3VycywgbWluKTtcbiAgICByZXR1cm4gW2RheSwgdGltZV07XG4gIH1cbn1cbiJdfQ==
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL3NlcnZpY2VzL2RhdGUtdGltZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLE1BQWtCLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFhN0Usb0RBQW9EO0FBQ3BELHFCQUFxQjtBQUNyQixvQ0FBb0M7QUFDcEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDakMsWUFBWTtJQUNaLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6Qix5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLHFCQUFxQjtDQUN0QixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFnQjtJQUNyQztRQUNFLEtBQUssRUFBRSxTQUFTO1FBQ2hCLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztLQUN6QjtJQUNEO1FBQ0UsS0FBSyxFQUFFLGVBQWU7UUFDdEIsTUFBTSxFQUFFLGVBQWU7UUFDdkIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO0tBQ3pCO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsWUFBWTtRQUNuQixNQUFNLEVBQUUsZUFBZTtRQUN2QixTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7S0FDekI7SUFDRDtR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O1FBQy9CLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxHQUFHLGVBQWUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7K0dBdlFVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IG1vbWVudCwgeyBNb21lbnQgfSBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTVE9SRURfVElNRVpPTkUgfSBmcm9tICcuLi9jb25zdHMvZGF0ZS10aW1lLmNvbnN0cyc7XG5pbXBvcnQgeyBFRGF0ZVBhdHRlcm4sIEVUaW1lem9uZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZGF0ZS9kYXRlLXRpbWUudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUaW1lWm9uZSB7XG4gIHRpbWVfZGlmZjogc3RyaW5nO1xuICBzdHJpbmc6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3VycmVudFRpbWVfVFoge1xuICBjdXJyZW50X3RpbWU6IHN0cmluZztcbiAgcGlja2VkX3RpbWVfem9uZTogSVRpbWVab25lO1xufVxuXG4vLyDQndC1INC80LXQvdGP0YLRjCDRhNC+0YDQvNCw0YIsINC90LDQt9Cy0LDQvdC40Y8g0LggJyAnINC+0YHRgtCw0LLQu9GP0YLRjCDQstGB0LXQs9C00LBcbi8vICdVVEMgJyAtINC+0YHRgtCw0LLQu9GP0YLRjFxuLy8gRdGB0LvQuCDQvNC10L3Rj9GC0Yws0LjQt9C80LXQvdC40YLRjCDRhNC40LvRjNGC0YDRiyDQsiDQlNCeXG5leHBvcnQgY29uc3QgdGltZXpvbmVTZWxlY3RJdGVtcyA9IFtcbiAgJ1VUQyArMDA6MDAnLFxuICAnRXVyb3BlL01vc2NvdyArMDM6MDAnLFxuICAnQXNpYS9BcXRhdSArMDU6MDAnLFxuICAnQXNpYS9ZZWthdGVyaW5idXJnICswNTowMCcsXG4gICdBc2lhL05vdm9zaWJpcnNrICswNzowMCcsXG4gICdBc2lhL0tyYXNub3lhcnNrICswNzowMCcsXG4gICdBc2lhL0lya3V0c2sgKzA4OjAwJyxcbiAgJ0FzaWEvWWFrdXRzayArMDk6MDAnLFxuXTtcbmV4cG9ydCBjb25zdCBUSU1FX1pPTkVTOiBJVGltZVpvbmVbXSA9IFtcbiAge1xuICAgIHZhbHVlOiAnRXRjL0dNVCcsXG4gICAgc3RyaW5nOiAnKzAwOjAwIFVUQycsXG4gICAgdGltZV9kaWZmOiBFVGltZXpvbmUuVVRDLFxuICB9LFxuICB7XG4gICAgdmFsdWU6ICdFdXJvcGUvTW9zY293JyxcbiAgICBzdHJpbmc6ICcrMDM6MDAg0JzQvtGB0LrQstCwJyxcbiAgICB0aW1lX2RpZmY6IEVUaW1lem9uZS5NU0ssXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogJ0FzaWEvQXF0YXUnLFxuICAgIHN0cmluZzogJyswNTowMCDQotGO0LzQtdC90YwnLFxuICAgIHRpbWVfZGlmZjogRVRpbWV6b25lLkFRVCxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnQXNpYS9Ob3Zvc2liaXJzaycsXG4gICAgc3RyaW5nOiAnKzA3OjAwINCi0L7QvNGB0LonLFxuICAgIHRpbWVfZGlmZjogRVRpbWV6b25lLk5WUyxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnQXNpYS9Jcmt1dHNrJyxcbiAgICBzdHJpbmc6ICcrMDg6MDAg0JjRgNC60YPRgtGB0LonLFxuICAgIHRpbWVfZGlmZjogRVRpbWV6b25lLklSSyxcbiAgfSxcbiAge1xuICAgIHZhbHVlOiAnQXNpYS9ZYWt1dHNrJyxcbiAgICBzdHJpbmc6ICcrMDk6MDAg0K/QutGD0YLRgdC6JyxcbiAgICB0aW1lX2RpZmY6IEVUaW1lem9uZS5ZQUssXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgVElNRV9aT05FX0hJTlRTOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAnKzAwOjAwJzogJyswMDowMCBVVEMnLFxuICAnKzAzOjAwJzogJ9CT0J/QnS3QkdChLCDQk9Cf0J0t0JPQldCeLCDQk9Cf0J0t0J3QoSwg0JPQn9CdLdCi0J8sINCT0J/QnS3QqSwg0JzQndCT0J8sINCd0KLQpiwg0J/QsNGA0LDQtNC90LDRjywg0KHQn9CUJyxcbiAgJyswNTowMCc6XG4gICAgJ9CT0J/QnS3QkCwg0JPQn9CdLdCR0JPQnywg0JPQn9CdLdCXLCDQk9Cf0J0t0JjQotCeLCDQk9Cf0J0t0JwsINCT0J/QnS3QnSwg0JPQn9CdLdCeLCDQk9Cf0J0t0KAsINCT0J/QnS3QoSwg0JPQn9CdLdClLCDQk9Cf0J0t0K8sINCc0KDQoiwg0JzRgdCd0JMsINCc0K3QnSwg0J3QndCT0JPQpCwg0J3QotCdLCDQndCt0J0sINCh0J0t0JzQndCTJyxcbiAgJyswNzowMCc6ICfQk9Cf0J0t0JIsINCc0J3Qky3Qkywg0JjQnS3QktCd0JonLFxuICAnKzA4OjAwJzogJ9CY0LPQvdGP0LvQuNC90YHQutC+0LUg0Lwv0YAnLFxuICAnKzA5OjAwJzogJ9Cn0LDRj9C90LTQuNC90YHQutC+0LUg0Lwv0YAsINCi0YvQvNC/0YPRh9C40LrQsNC90YHQutC+0LUg0Lwv0YAsINCS0LDQutGD0L3QsNC50YHQutC+0LUg0Lwv0YAsINCi0LDRgS3QrtGA0Y/RhdGB0LrQvtC1INC8L9GAJyxcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVNlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudFRpbWVUWjogSUN1cnJlbnRUaW1lX1RaID0ge1xuICAgIHBpY2tlZF90aW1lX3pvbmU6IFRJTUVfWk9ORVNbMV0sXG4gICAgY3VycmVudF90aW1lOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaXNUaW1lWm9uZUNoYW5nZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElUaW1lWm9uZT4oXG4gICAgdGhpcy5jdXJyZW50VGltZVRaLnBpY2tlZF90aW1lX3pvbmVcbiAgKTtcbiAgcHVibGljIGlzVGltZVpvbmVDaGFuZ2VkJCA9IHRoaXMuX2lzVGltZVpvbmVDaGFuZ2VkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBzdG9yZWRUaW1lWm9uZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUT1JFRF9USU1FWk9ORSk7XG5cbiAgICBpZiAoc3RvcmVkVGltZVpvbmUpIHtcbiAgICAgIHRoaXMuY3VycmVudFRpbWVUWi5waWNrZWRfdGltZV96b25lID0gSlNPTi5wYXJzZShzdG9yZWRUaW1lWm9uZSkgYXMgSVRpbWVab25lO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRUaW1lVFouY3VycmVudF90aW1lID0gdGhpcy5nZXRDdXJyZW50VGltZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVUaW1lem9uZSh0aW1lX3pvbmU6IElUaW1lWm9uZSk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFNUT1JFRF9USU1FWk9ORSwgSlNPTi5zdHJpbmdpZnkodGltZV96b25lKSk7XG5cbiAgICB0aGlzLmN1cnJlbnRUaW1lVFoucGlja2VkX3RpbWVfem9uZSA9IHRpbWVfem9uZTtcbiAgICB0aGlzLmN1cnJlbnRUaW1lVFouY3VycmVudF90aW1lID0gdGhpcy5nZXRDdXJyZW50VGltZSgpO1xuICAgIHRoaXMuX2lzVGltZVpvbmVDaGFuZ2VkLm5leHQodGhpcy5jdXJyZW50VGltZVRaLnBpY2tlZF90aW1lX3pvbmUpO1xuICB9XG5cbiAgcHVibGljIHJlZnJlc2hEYXRlUGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX2lzVGltZVpvbmVDaGFuZ2VkLm5leHQodGhpcy5jdXJyZW50VGltZVRaLnBpY2tlZF90aW1lX3pvbmUpO1xuICB9XG5cbiAgcHVibGljIGdldEN1cnJlbnRUaW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgb3B0aW9uczogSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7XG4gICAgICB0aW1lWm9uZTogdGhpcy5jdXJyZW50VGltZVRaLnBpY2tlZF90aW1lX3pvbmUudmFsdWUsXG4gICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgaG91cjogJzItZGlnaXQnLFxuICAgICAgbWludXRlOiAnMi1kaWdpdCcsXG4gICAgfTtcbiAgICByZXR1cm4gbmV3IERhdGUoKS50b0xvY2FsZVN0cmluZygnZW4tR0InLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyVGltZVVwZGF0ZSh0aW1lWm9uZTogSVRpbWVab25lKTogdm9pZCB7XG4gICAgdGhpcy5faXNUaW1lWm9uZUNoYW5nZWQubmV4dCh0aW1lWm9uZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHV0YyDQstGA0LXQvNGPINCyIFVUQ1xuICAgKiBAcGFyYW0gcGF0dGVyblxuICAgKiDQodGC0YDQvtC60LAg0YHQvtGB0YLQvtGP0YnQsNGPINC40Lc6XG4gICAqZGQgLSDQtNC10L3RjCxcbiAgICpNTSAtINC80LXRgdGP0YYsXG4gICAqeXl5eSAtINCz0L7QtCxcbiAgICpISCAtINGH0LDRgdGLINCyIDI00Yct0YTQvtGA0LzQsNGC0LUsXG4gICAqaGggLSDRh9Cw0YHRiyDQsiAxMtGHLdGE0L7RgNC80LDRgtC1LFxuICAgKm1tIC0g0LzQuNC90YPRgtGLLFxuICAgKnNzIC0g0YHQtdC60YPQvdC00YssXG4gICAqc3NzIC0g0LzQuNC70LvQuNGB0LXQutGD0L3QtNGLLFxuICAgKi9cbiAgcHVibGljIHBhcnNlRGF0ZSh1dGM6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlOiBEYXRlID0gdGhpcy5pc29Ub0xvY2FsRGF0ZSh1dGMpO1xuXG4gICAgcmV0dXJuIGZvcm1hdChkYXRlLCBwYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCB1c2UgcGFyc2VEYXRlKGlzbzogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmcgbWV0aG9kICovXG4gIHB1YmxpYyBwYXJzZURhdGVUb01NWVlZWShpc286IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgb3B0aW9uczogSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7XG4gICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICAgIGRheTogJzItZGlnaXQnLFxuICAgIH07XG5cbiAgICBjb25zdCBkYXRlID0gdGhpcy5pc29Ub0xvY2FsRGF0ZShpc28pLnRvTG9jYWxlU3RyaW5nKCdlbi1HQicsIG9wdGlvbnMpO1xuICAgIGNvbnN0IFtfLCBtb250aCwgeWVhcl0gPSBkYXRlLnNwbGl0KCcvJyk7XG5cbiAgICByZXR1cm4gYCR7bW9udGh9LiR7eWVhcn1gO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIHVzZSBwYXJzZURhdGUoaXNvOiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZyk6IHN0cmluZyBtZXRob2QgKi9cbiAgcHVibGljIHBhcnNlRGF0ZVRvRERNTVlZWVkoaXNvOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IG9wdGlvbnM6IEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge1xuICAgICAgaG91cjEyOiBmYWxzZSxcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICB9O1xuXG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuaXNvVG9Mb2NhbERhdGUoaXNvKS50b0xvY2FsZVN0cmluZygnZW4tR0InLCBvcHRpb25zKTtcbiAgICBjb25zdCBbZGF5LCBtb250aCwgeWVhcl0gPSBkYXRlLnNwbGl0KCcvJyk7XG5cbiAgICByZXR1cm4gYCR7ZGF5fS4ke21vbnRofS4ke3llYXJ9YDtcbiAgfVxuXG4gIHB1YmxpYyBpc29Ub0xvY2FsRGF0ZShpc286IHN0cmluZywgdHpEaWZmPzogc3RyaW5nKTogRGF0ZSB7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuaXNvVG9VVENEYXRlKGlzbyk7XG4gICAgbGV0IGRpZmZUWiA9IHR6RGlmZjtcbiAgICBpZiAoIXR6RGlmZikge1xuICAgICAgZGlmZlRaID0gdGhpcy5jdXJyZW50VGltZVRaLnBpY2tlZF90aW1lX3pvbmUudGltZV9kaWZmO1xuICAgIH1cblxuICAgIGNvbnN0IGhvdXJzID0gTnVtYmVyLnBhcnNlSW50KGRpZmZUWiEsIDEwKTtcbiAgICBkYXRlLnNldEhvdXJzKGRhdGUuZ2V0SG91cnMoKSArIGhvdXJzKTtcblxuICAgIHJldHVybiBkYXRlO1xuICB9XG5cbiAgcHVibGljIGlzb1RvVVRDRGF0ZShpc286IHN0cmluZyk6IERhdGUge1xuICAgIGxldCBkYXRlU3RyaW5nID0gaXNvO1xuXG4gICAgLy8g0J/QtdGA0LXQstC+0LQg0LjQtyDRgtCw0LnQvNC30L7QvdGLINGB0LXRgNCy0LXRgNCwINC6IFVUQ1xuICAgIGlmICh0aGlzLl9oYXNUaW1lWm9uZShpc28pKSB7XG4gICAgICBkYXRlU3RyaW5nID0gbmV3IERhdGUoaXNvKS50b0lTT1N0cmluZygpO1xuICAgIH1cblxuICAgIGlmIChkYXRlU3RyaW5nLmluY2x1ZGVzKCdaJykpIHtcbiAgICAgIGRhdGVTdHJpbmcgPSBkYXRlU3RyaW5nLnNsaWNlKDAsIGRhdGVTdHJpbmcubGFzdEluZGV4T2YoJ1onKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGVTdHJpbmcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFzVGltZVpvbmUoaXNvOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCB0aW1lWm9uZVJlZ2V4ID0gL1srLV1cXGR7Mn0oOlxcZHsyfSk/JC87XG5cbiAgICByZXR1cm4gdGltZVpvbmVSZWdleC50ZXN0KGlzbyk7XG4gIH1cblxuICAvKipcbiAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LTQsNGC0YMg0LrQvtC90LLQtdGA0YLQuNGA0L7QstCw0L3QvdGD0Y4g0LIgSVNPINGE0L7RgNC80LDRgiDQsdC10Lcg0YPRh9C10YLQsCDRgtCw0LnQvNC30L7QvdGLXG4gICAqICovXG4gIHB1YmxpYyBkYXRlVG9Jc29XaXRob3V0VGltZVpvbmUoZGF0ZTogRGF0ZSk6IHN0cmluZyB8IG51bGwge1xuICAgIGxldCByZXN1bHQgPSBudWxsO1xuXG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IGRhdGUuZ2V0VGltZSgpIC0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogNjBfMDAwO1xuICAgICAgY29uc3QgY29ycmVjdERhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApO1xuXG4gICAgICByZXN1bHQgPSBjb3JyZWN0RGF0ZS50b0lTT1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgZm9ybWF0RGF0ZVNhdmUoZGF0ZT86IHN0cmluZyB8IG51bGwsIG9wdGlvbj86ICdZTUQnKTogc3RyaW5nIHtcbiAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgaWYgKGRhdGUpIHtcbiAgICAgIHJlc3VsdCA9IG9wdGlvbiA/IGZvcm1hdChkYXRlLCAneXl5eS1NTS1kZCcpIDogZm9ybWF0KGRhdGUsIEVEYXRlUGF0dGVybi5EQVRFKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtYXRUaW1lU2F2ZShkYXRlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlVGltZTogRGF0ZSA9IG5ldyBEYXRlKGRhdGUhKTtcbiAgICBjb25zdCByZXN1bHQgPSBbZGF0ZVRpbWUuZ2V0SG91cnMoKSwgZGF0ZVRpbWUuZ2V0TWludXRlcygpLCBkYXRlVGltZS5nZXRTZWNvbmRzKCldXG4gICAgICAubWFwKCh0aW1lKSA9PiAodGltZSA8IDEwID8gYDAke3RpbWV9YCA6IHRpbWUpKVxuICAgICAgLmpvaW4oJzonKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHRvSVNPU3RyaW5nKGRhdGU6IERhdGUsIHR6RGlmZj86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IGRpZmZUWiA9IHR6RGlmZjtcbiAgICBpZiAoIXR6RGlmZikge1xuICAgICAgZGlmZlRaID0gdGhpcy5jdXJyZW50VGltZVRaLnBpY2tlZF90aW1lX3pvbmUudGltZV9kaWZmO1xuICAgIH1cblxuICAgIGNvbnN0IG0gPSB0aGlzLl9tb21lbnRXaXRoVFooZGF0ZSwgZGlmZlRaISk7XG5cbiAgICByZXR1cm4gbS50b0lTT1N0cmluZygpO1xuICB9XG5cbiAgcHVibGljIF9tb21lbnRXaXRoVFooZGF0ZTogRGF0ZSwgdGltZXpvbmU6IHN0cmluZyk6IE1vbWVudCB7XG4gICAgY29uc3QgaXNvID0gdGhpcy5fZGF0ZVRvSVNPU2xpY2VaKGRhdGUpO1xuICAgIGxldCB0eiA9IHRpbWV6b25lO1xuICAgIGlmICh0aW1lem9uZSA9PT0gRVRpbWV6b25lLlVUQykge1xuICAgICAgdHogPSAnWic7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vbWVudC5wYXJzZVpvbmUoYCR7aXNvfSR7dHp9YCk7XG4gIH1cblxuICBwcml2YXRlIF9kYXRlVG9JU09TbGljZVooZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgaXNvID0gdGhpcy5kYXRlVG9Jc29XaXRob3V0VGltZVpvbmUoZGF0ZSkhO1xuXG4gICAgcmV0dXJuIGlzby5pbmNsdWRlcygnWicpID8gaXNvLnNsaWNlKDAsIGlzby5sYXN0SW5kZXhPZignWicpKSA6IGlzbztcbiAgfVxuXG4gIHB1YmxpYyBjb252ZXJ0RGF0ZVRvSVNPV2l0aFRaKGRhdGU6IERhdGUsIHR6OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhZCA9IChzdHI6IG51bWJlcikgPT4gc3RyLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCBkYXRlUGFydCA9IGAke2RhdGUuZ2V0RnVsbFllYXIoKX0tJHtwYWQoZGF0ZS5nZXRNb250aCgpICsgMSl9LSR7cGFkKGRhdGUuZ2V0RGF0ZSgpKX1gO1xuICAgIGNvbnN0IHRpbWVQYXJ0ID0gYCR7cGFkKGRhdGUuZ2V0SG91cnMoKSl9OiR7cGFkKGRhdGUuZ2V0TWludXRlcygpKX06JHtwYWQoZGF0ZS5nZXRTZWNvbmRzKCkpfWA7XG5cbiAgICByZXR1cm4gYCR7ZGF0ZVBhcnR9VCR7dGltZVBhcnR9JHt0en1gO1xuICB9XG5cbiAgcHVibGljIG5vdygpOiBEYXRlIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBbaG91ciwgbWludXRlc10gPSB0aGlzLmN1cnJlbnRUaW1lVFouY3VycmVudF90aW1lXG4gICAgICAuc3BsaXQoJzonKVxuICAgICAgLm1hcCgodmFsdWUpID0+IE51bWJlci5wYXJzZUludCh2YWx1ZSwgMTApKTtcbiAgICBkYXRlLnNldEhvdXJzKGhvdXIpO1xuICAgIGRhdGUuc2V0TWludXRlcyhtaW51dGVzKTtcblxuICAgIHJldHVybiBkYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiDQvtCx0YrQtdC60YIg0YLQuNC/0LAgbW9tZW50INGBINGC0LDQudC80LfQvtC90L7QuSDQstGL0LHRgNCw0L3QvdC+0Lkg0LIg0L/RgNC40LvQvtC20LXQvdC40LhcbiAgICogKi9cbiAgcHVibGljIG1vbWVudE5vd1dpdGhMb2NhbFRpbWV6b25lKCk6IE1vbWVudCB7XG4gICAgcmV0dXJuIG1vbWVudC50eih0aGlzLmN1cnJlbnRUaW1lVFoucGlja2VkX3RpbWVfem9uZS52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgbm93VVRDKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShtb21lbnQudXRjKCkuZm9ybWF0KCkpO1xuICB9XG5cbiAgcHVibGljIGdldFdvcmtpbmdEYXRlc0NvdW50KHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgY29uc3Qgc3VuZGF5ID0gMDtcbiAgICBjb25zdCBzYXR1cmRheSA9IDY7XG5cbiAgICBsZXQgY291bnQgPSAwO1xuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoc3RhcnREYXRlKTtcblxuICAgIHdoaWxlIChjdXJyZW50RGF0ZSA8PSBlbmREYXRlKSB7XG4gICAgICBjb25zdCBkYXlPZldlZWsgPSBjdXJyZW50RGF0ZS5nZXREYXkoKTtcblxuICAgICAgaWYgKGRheU9mV2VlayAhPT0gc3VuZGF5ICYmIGRheU9mV2VlayAhPT0gc2F0dXJkYXkpIHtcbiAgICAgICAgY291bnQgKz0gMTtcbiAgICAgIH1cblxuICAgICAgY3VycmVudERhdGUuc2V0RGF0ZShjdXJyZW50RGF0ZS5nZXREYXRlKCkgKyAxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY291bnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudERhdGVXaXRob3V0VGltZSgpOiBEYXRlIHtcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICBjdXJyZW50RGF0ZS5zZXRIb3VycygwKTtcbiAgICBjdXJyZW50RGF0ZS5zZXRNaW51dGVzKDApO1xuICAgIGN1cnJlbnREYXRlLnNldFNlY29uZHMoMCk7XG4gICAgY3VycmVudERhdGUuc2V0TWlsbGlzZWNvbmRzKDApO1xuXG4gICAgcmV0dXJuIGN1cnJlbnREYXRlO1xuICB9XG5cbiAgcHVibGljIGdldERhdGVXaXRob3V0VGltZShkYXRlOiBEYXRlKTogRGF0ZSB7XG4gICAgZGF0ZS5zZXRIb3VycygwKTtcbiAgICBkYXRlLnNldE1pbnV0ZXMoMCk7XG4gICAgZGF0ZS5zZXRTZWNvbmRzKDApO1xuICAgIGRhdGUuc2V0TWlsbGlzZWNvbmRzKDApO1xuXG4gICAgcmV0dXJuIGRhdGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0WE1vbnRoQmFja0RhdGUobW9udGhCYWNrTnVtYmVyOiBudW1iZXIpOiBEYXRlIHtcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgY3VycmVudERhdGUuc2V0TW9udGgoY3VycmVudERhdGUuZ2V0TW9udGgoKSAtIG1vbnRoQmFja051bWJlcik7XG4gICAgcmV0dXJuIGN1cnJlbnREYXRlO1xuICB9XG59XG4iXX0=
@@ -1,22 +1,10 @@
1
1
  import { inject, Injectable } from '@angular/core';
2
- import { PrizmDialogService } from '@prizm-ui/components';
3
- import { DialogOverlayInsidePlacement } from './dialog.types';
4
2
  import { tuiDialog, TuiDialogService } from '@taiga-ui/core';
5
3
  import * as i0 from "@angular/core";
6
4
  export class DialogService {
7
5
  constructor() {
8
- this._dialogService = inject(PrizmDialogService);
9
6
  this._tuiDialogService = inject(TuiDialogService);
10
7
  }
11
- openModal(template, config) {
12
- return this._dialogService.open(template, {
13
- closeable: false,
14
- width: 440,
15
- position: DialogOverlayInsidePlacement.CENTER,
16
- backdrop: true,
17
- ...config,
18
- });
19
- }
20
8
  openModalTaiga(component, context, injector) {
21
9
  const dialog = tuiDialog(component, {
22
10
  injector,
@@ -50,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
50
38
  providedIn: 'root',
51
39
  }]
52
40
  }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL3NlcnZpY2VzL2RpYWxvZy9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEVBQWdDLDRCQUE0QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFNBQVMsRUFBb0IsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFNL0UsTUFBTSxPQUFPLGFBQWE7SUFIMUI7UUFJbUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM1QyxzQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQWlEL0Q7SUEvQ1EsU0FBUyxDQUNkLFFBQWlCLEVBQ2pCLE1BQWdEO1FBRWhELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3hDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLEtBQUssRUFBRSxHQUFHO1lBQ1YsUUFBUSxFQUFFLDRCQUE0QixDQUFDLE1BQU07WUFDN0MsUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLE1BQU07U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYyxDQUNuQixTQUEwQyxFQUMxQyxPQUFnQixFQUNoQixRQUFtQjtRQUVuQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQ2xDLFFBQVE7WUFDUixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsSUFBSSxLQUFLO1lBQ3JDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUk7WUFDeEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksTUFBTTtTQUM3QixDQUFzQyxDQUFDO1FBRXhDLE9BQU8sTUFBTSxDQUFDO1lBQ1osR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHlCQUF5QixDQUM5QixPQUFpRCxFQUNqRCxPQUFzQyxFQUN0QyxPQUFzQztRQUV0QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUksT0FBTyxFQUFFO1lBQzdDLEdBQUcsT0FBTztZQUNWLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBbERVLGFBQWE7bUhBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJpem1EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQHByaXptLXVpL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGlhbG9nQ29udGV4dCwgRGlhbG9nT3B0aW9ucywgRGlhbG9nT3ZlcmxheUluc2lkZVBsYWNlbWVudCB9IGZyb20gJy4vZGlhbG9nLnR5cGVzJztcbmltcG9ydCB7IHR1aURpYWxvZywgVHVpRGlhbG9nT3B0aW9ucywgVHVpRGlhbG9nU2VydmljZSB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFBvbHltb3JwaGV1c0NvbnRlbnQgfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaWFsb2dTZXJ2aWNlID0gaW5qZWN0KFByaXptRGlhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3R1aURpYWxvZ1NlcnZpY2UgPSBpbmplY3QoVHVpRGlhbG9nU2VydmljZSk7XG5cbiAgcHVibGljIG9wZW5Nb2RhbChcbiAgICB0ZW1wbGF0ZTogdW5rbm93bixcbiAgICBjb25maWc6IFBhcnRpYWw8RGlhbG9nT3B0aW9uczx1bmtub3duLCB1bmtub3duPj5cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKHRlbXBsYXRlLCB7XG4gICAgICBjbG9zZWFibGU6IGZhbHNlLFxuICAgICAgd2lkdGg6IDQ0MCxcbiAgICAgIHBvc2l0aW9uOiBEaWFsb2dPdmVybGF5SW5zaWRlUGxhY2VtZW50LkNFTlRFUixcbiAgICAgIGJhY2tkcm9wOiB0cnVlLFxuICAgICAgLi4uY29uZmlnLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9wZW5Nb2RhbFRhaWdhPENvbnRleHQgZXh0ZW5kcyBEaWFsb2dDb250ZXh0LCBSZXN1bHQgPSBhbnk+KFxuICAgIGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gdW5rbm93bixcbiAgICBjb250ZXh0OiBDb250ZXh0LFxuICAgIGluamVjdG9yPzogSW5qZWN0b3JcbiAgKTogT2JzZXJ2YWJsZTxSZXN1bHQ+IHtcbiAgICBjb25zdCBkaWFsb2cgPSB0dWlEaWFsb2coY29tcG9uZW50LCB7XG4gICAgICBpbmplY3RvcixcbiAgICAgIGNsb3NlYWJsZTogY29udGV4dC5jbG9zZWFibGUgPz8gZmFsc2UsXG4gICAgICBkaXNtaXNzaWJsZTogY29udGV4dC5kaXNtaXNzaWJsZSA/PyB0cnVlLFxuICAgICAgc2l6ZTogY29udGV4dC5zaXplID8/ICdhdXRvJyxcbiAgICB9KSBhcyAoZGF0YTogYW55KSA9PiBPYnNlcnZhYmxlPFJlc3VsdD47XG5cbiAgICByZXR1cm4gZGlhbG9nKHtcbiAgICAgIC4uLmNvbnRleHQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICog0KPQvdC40LLQtdGA0YHQsNC70YzQvdCw0Y8g0YTRg9C90LrRhtC40Y8g0L7RgtC60YDRi9GC0LjRjyDQtNC40LDQu9C+0LPQsFxuICAgKlxuICAgKiBAcGFyYW0gY29udGVudCAtINC60L7QvdGC0LXQvdGCICjQutC+0LzQv9C+0L3QtdC90YIsIG5nLXRlbXBsYXRlINC40LvQuCDRhNGD0L3QutGG0LjRjylcbiAgICogQHBhcmFtIGNvbnRleHQgLSDQtNCw0L3QvdGL0LUg0LTQu9GPINC/0LXRgNC10LTQsNGH0Lgg0LIg0LrQvtC90YLQtdC90YJcbiAgICogQHBhcmFtIG9wdGlvbnMgLSDQtNC+0L8uINC90LDRgdGC0YDQvtC50LrQuCDQtNC40LDQu9C+0LPQsCAo0YjQuNGA0LjQvdCwLCDQt9Cw0LPQvtC70L7QstC+0Log0Lgg0YIu0LQuKVxuICAgKi9cbiAgcHVibGljIG9wZW5UdWlEaWFsb2dXaXRoVGVtcGxhdGU8VCA9IHZvaWQ+KFxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpRGlhbG9nT3B0aW9uczxUPj4sXG4gICAgY29udGV4dD86IFBhcnRpYWw8VHVpRGlhbG9nT3B0aW9uczxUPj4sXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8VHVpRGlhbG9nT3B0aW9uczxUPj5cbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX3R1aURpYWxvZ1NlcnZpY2Uub3BlbjxUPihjb250ZW50LCB7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL3NlcnZpY2VzL2RpYWxvZy9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsU0FBUyxFQUFvQixnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU0vRSxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUltQixzQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQW9DL0Q7SUFsQ1EsY0FBYyxDQUNuQixTQUEwQyxFQUMxQyxPQUFnQixFQUNoQixRQUFtQjtRQUVuQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQ2xDLFFBQVE7WUFDUixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsSUFBSSxLQUFLO1lBQ3JDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUk7WUFDeEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksTUFBTTtTQUM3QixDQUFzQyxDQUFDO1FBRXhDLE9BQU8sTUFBTSxDQUFDO1lBQ1osR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHlCQUF5QixDQUM5QixPQUFpRCxFQUNqRCxPQUFzQyxFQUN0QyxPQUFzQztRQUV0QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUksT0FBTyxFQUFFO1lBQzdDLEdBQUcsT0FBTztZQUNWLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBcENVLGFBQWE7bUhBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGlhbG9nQ29udGV4dCB9IGZyb20gJy4vZGlhbG9nLnR5cGVzJztcbmltcG9ydCB7IHR1aURpYWxvZywgVHVpRGlhbG9nT3B0aW9ucywgVHVpRGlhbG9nU2VydmljZSB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFBvbHltb3JwaGV1c0NvbnRlbnQgfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF90dWlEaWFsb2dTZXJ2aWNlID0gaW5qZWN0KFR1aURpYWxvZ1NlcnZpY2UpO1xuXG4gIHB1YmxpYyBvcGVuTW9kYWxUYWlnYTxDb250ZXh0IGV4dGVuZHMgRGlhbG9nQ29udGV4dCwgUmVzdWx0ID0gYW55PihcbiAgICBjb21wb25lbnQ6IG5ldyAoLi4uYXJnczogYW55W10pID0+IHVua25vd24sXG4gICAgY29udGV4dDogQ29udGV4dCxcbiAgICBpbmplY3Rvcj86IEluamVjdG9yXG4gICk6IE9ic2VydmFibGU8UmVzdWx0PiB7XG4gICAgY29uc3QgZGlhbG9nID0gdHVpRGlhbG9nKGNvbXBvbmVudCwge1xuICAgICAgaW5qZWN0b3IsXG4gICAgICBjbG9zZWFibGU6IGNvbnRleHQuY2xvc2VhYmxlID8/IGZhbHNlLFxuICAgICAgZGlzbWlzc2libGU6IGNvbnRleHQuZGlzbWlzc2libGUgPz8gdHJ1ZSxcbiAgICAgIHNpemU6IGNvbnRleHQuc2l6ZSA/PyAnYXV0bycsXG4gICAgfSkgYXMgKGRhdGE6IGFueSkgPT4gT2JzZXJ2YWJsZTxSZXN1bHQ+O1xuXG4gICAgcmV0dXJuIGRpYWxvZyh7XG4gICAgICAuLi5jb250ZXh0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqINCj0L3QuNCy0LXRgNGB0LDQu9GM0L3QsNGPINGE0YPQvdC60YbQuNGPINC+0YLQutGA0YvRgtC40Y8g0LTQuNCw0LvQvtCz0LBcbiAgICpcbiAgICogQHBhcmFtIGNvbnRlbnQgLSDQutC+0L3RgtC10L3RgiAo0LrQvtC80L/QvtC90LXQvdGCLCBuZy10ZW1wbGF0ZSDQuNC70Lgg0YTRg9C90LrRhtC40Y8pXG4gICAqIEBwYXJhbSBjb250ZXh0IC0g0LTQsNC90L3Ri9C1INC00LvRjyDQv9C10YDQtdC00LDRh9C4INCyINC60L7QvdGC0LXQvdGCXG4gICAqIEBwYXJhbSBvcHRpb25zIC0g0LTQvtC/LiDQvdCw0YHRgtGA0L7QudC60Lgg0LTQuNCw0LvQvtCz0LAgKNGI0LjRgNC40L3QsCwg0LfQsNCz0L7Qu9C+0LLQvtC6INC4INGCLtC0LilcbiAgICovXG4gIHB1YmxpYyBvcGVuVHVpRGlhbG9nV2l0aFRlbXBsYXRlPFQgPSB2b2lkPihcbiAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aURpYWxvZ09wdGlvbnM8VD4+LFxuICAgIGNvbnRleHQ/OiBQYXJ0aWFsPFR1aURpYWxvZ09wdGlvbnM8VD4+LFxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPFR1aURpYWxvZ09wdGlvbnM8VD4+XG4gICk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLl90dWlEaWFsb2dTZXJ2aWNlLm9wZW48VD4oY29udGVudCwge1xuICAgICAgLi4uY29udGV4dCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export { PrizmOverlayInsidePlacement as DialogOverlayInsidePlacement } from '@prizm-ui/components';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9zZXJ2aWNlcy9kaWFsb2cvZGlhbG9nLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSwyQkFBMkIsSUFBSSw0QkFBNEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJpem1EaWFsb2dPcHRpb25zIH0gZnJvbSAnQHByaXptLXVpL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgVHVpRGlhbG9nU2l6ZSB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuZXhwb3J0IHsgUHJpem1PdmVybGF5SW5zaWRlUGxhY2VtZW50IGFzIERpYWxvZ092ZXJsYXlJbnNpZGVQbGFjZW1lbnQgfSBmcm9tICdAcHJpem0tdWkvY29tcG9uZW50cyc7XG5cbmV4cG9ydCB0eXBlIERpYWxvZ09wdGlvbnM8TywgREFUQT4gPSBQcml6bURpYWxvZ09wdGlvbnM8TywgREFUQT47XG5cbmV4cG9ydCB0eXBlIERpYWxvZ1NpemUgPSBUdWlEaWFsb2dTaXplO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0NvbnRleHQge1xuICBjbG9zZWFibGU/OiBib29sZWFuO1xuICBkaXNtaXNzaWJsZT86IGJvb2xlYW47XG4gIHdpZHRoPzogbnVtYmVyO1xuICBzaXplPzogRGlhbG9nU2l6ZTtcbn1cbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9zZXJ2aWNlcy9kaWFsb2cvZGlhbG9nLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUdWlEaWFsb2dTaXplIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBEaWFsb2dTaXplID0gVHVpRGlhbG9nU2l6ZTtcblxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dDb250ZXh0IHtcbiAgY2xvc2VhYmxlPzogYm9vbGVhbjtcbiAgZGlzbWlzc2libGU/OiBib29sZWFuO1xuICB3aWR0aD86IG51bWJlcjtcbiAgc2l6ZT86IERpYWxvZ1NpemU7XG59XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { inject, Injectable, signal } from '@angular/core';
2
+ import { TuiAlertService } from '@taiga-ui/core';
3
+ import { finalize, Subject, takeUntil } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export const AlertType = {
6
+ INFO: 'info',
7
+ POSITIVE: 'positive',
8
+ NEGATIVE: 'negative',
9
+ WARNING: 'warning',
10
+ NEUTRAL: 'neutral',
11
+ };
12
+ export class MessageService {
13
+ constructor() {
14
+ this._alerts = inject(TuiAlertService);
15
+ this.alertsCount = signal(0);
16
+ this.refs = new Map();
17
+ }
18
+ showAlert(content, options) {
19
+ const id = crypto.randomUUID();
20
+ const close$ = new Subject();
21
+ this.refs.set(id, close$);
22
+ this.alertsCount.set(this.refs.size);
23
+ this._alerts
24
+ .open(content, options)
25
+ .pipe(takeUntil(close$), finalize(() => {
26
+ this.refs.delete(id);
27
+ this.alertsCount.set(this.refs.size);
28
+ }))
29
+ .subscribe();
30
+ }
31
+ closeAll() {
32
+ for (const close$ of this.refs.values()) {
33
+ close$.next();
34
+ close$.complete();
35
+ }
36
+ this.refs.clear();
37
+ this.alertsCount.set(0);
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessageService, providedIn: 'root' }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessageService, decorators: [{
43
+ type: Injectable,
44
+ args: [{
45
+ providedIn: 'root',
46
+ }]
47
+ }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUlwRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDdkIsSUFBSSxFQUFFLE1BQU07SUFDWixRQUFRLEVBQUUsVUFBVTtJQUNwQixRQUFRLEVBQUUsVUFBVTtJQUNwQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztDQUNWLENBQUM7QUFLWCxNQUFNLE9BQU8sY0FBYztJQUgzQjtRQUltQixZQUFPLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTVDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZCLFNBQUksR0FBRyxJQUFJLEdBQUcsRUFBNkIsQ0FBQztLQWlDckQ7SUEvQlEsU0FBUyxDQUNkLE9BQWdFLEVBQ2hFLE9BQXlCO1FBRXpCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQWdCLENBQUM7UUFDN0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVuQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsT0FBTzthQUNULElBQUksQ0FBUyxPQUFPLEVBQUUsT0FBTyxDQUFDO2FBQzlCLElBQUksQ0FDSCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQ2pCLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLFFBQVE7UUFDYixLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEIsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQzsrR0FyQ1UsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHVpQWxlcnRPcHRpb25zLCBUdWlBbGVydFNlcnZpY2UgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFBvbHltb3JwaGV1c0NvbnRlbnQgfSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7IGZpbmFsaXplLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNjYWxhclVVSUQgfSBmcm9tICdoYXN1cmEnO1xuaW1wb3J0IHsgVHVpUG9wb3ZlckNvbnRleHQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuZXhwb3J0IGNvbnN0IEFsZXJ0VHlwZSA9IHtcbiAgSU5GTzogJ2luZm8nLFxuICBQT1NJVElWRTogJ3Bvc2l0aXZlJyxcbiAgTkVHQVRJVkU6ICduZWdhdGl2ZScsXG4gIFdBUk5JTkc6ICd3YXJuaW5nJyxcbiAgTkVVVFJBTDogJ25ldXRyYWwnLFxufSBhcyBjb25zdDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWxlcnRzID0gaW5qZWN0KFR1aUFsZXJ0U2VydmljZSk7XG5cbiAgcHVibGljIGFsZXJ0c0NvdW50ID0gc2lnbmFsKDApO1xuXG4gIHByaXZhdGUgcmVmcyA9IG5ldyBNYXA8U2NhbGFyVVVJRCwgU3ViamVjdDx2b2lkPj4oKTtcblxuICBwdWJsaWMgc2hvd0FsZXJ0PE9wdGlvbiBleHRlbmRzIFR1aUFsZXJ0T3B0aW9uczxhbnk+ID0gVHVpQWxlcnRPcHRpb25zPGFueT4sIFJlc3VsdCA9IHZvaWQ+KFxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8T3B0aW9uICYgVHVpUG9wb3ZlckNvbnRleHQ8UmVzdWx0Pj4sXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8T3B0aW9uPlxuICApOiB2b2lkIHtcbiAgICBjb25zdCBpZCA9IGNyeXB0by5yYW5kb21VVUlEKCkgYXMgU2NhbGFyVVVJRDtcbiAgICBjb25zdCBjbG9zZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgdGhpcy5yZWZzLnNldChpZCwgY2xvc2UkKTtcbiAgICB0aGlzLmFsZXJ0c0NvdW50LnNldCh0aGlzLnJlZnMuc2l6ZSk7XG5cbiAgICB0aGlzLl9hbGVydHNcbiAgICAgIC5vcGVuPFJlc3VsdD4oY29udGVudCwgb3B0aW9ucylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwoY2xvc2UkKSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcy5kZWxldGUoaWQpO1xuICAgICAgICAgIHRoaXMuYWxlcnRzQ291bnQuc2V0KHRoaXMucmVmcy5zaXplKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGNsb3NlJCBvZiB0aGlzLnJlZnMudmFsdWVzKCkpIHtcbiAgICAgIGNsb3NlJC5uZXh0KCk7XG4gICAgICBjbG9zZSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlZnMuY2xlYXIoKTtcbiAgICB0aGlzLmFsZXJ0c0NvdW50LnNldCgwKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,52 @@
1
+ import { inject, Injectable, InjectionToken } from '@angular/core';
2
+ import { StatusChangeEvent, TouchedChangeEvent } from '@angular/forms';
3
+ import { filter, map, startWith } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export const VALIDATION_MESSAGES_TOKEN = new InjectionToken('VALIDATION_MESSAGES_TOKEN', {
6
+ factory: () => new Map(),
7
+ });
8
+ export class ValidationMessageService {
9
+ constructor() {
10
+ this._messagesMap = inject(VALIDATION_MESSAGES_TOKEN, { optional: true }) || new Map();
11
+ this.defaultValidationMessages = new Map([
12
+ ['required', 'Поле обязательно для заполнения'],
13
+ ['requiredTrue', 'Необходимо отметить это поле'],
14
+ ['minlength', 'Минимальная длина — {requiredLength} символов'],
15
+ ['maxlength', 'Максимальная длина — {requiredLength} символов'],
16
+ ['min', 'Минимально допустимое значение — {min}'],
17
+ ['max', 'Максимально допустимое значение — {max}'],
18
+ ['email', 'Некорректный формат email адреса'],
19
+ ['pattern', 'Значение не соответствует заданному формату'],
20
+ ]);
21
+ }
22
+ /** Возвращает Observable с текстом ошибки для контрола */
23
+ observeControlErrors(control) {
24
+ return control.events.pipe(filter((event) => event instanceof StatusChangeEvent || event instanceof TouchedChangeEvent), startWith(null), map(() => this._getErrorMessage(control, this._messagesMap)));
25
+ }
26
+ _getErrorMessage(control, messagesMap) {
27
+ const { invalid, touched, dirty, errors } = control;
28
+ if (invalid && (touched || dirty) && errors) {
29
+ const errorKeys = Object.keys(errors);
30
+ const messages = errorKeys.map((key) => {
31
+ const customMessage = messagesMap.get(key);
32
+ const defaultMessage = this.defaultValidationMessages.get(key);
33
+ let finalMessage = customMessage || defaultMessage || `Ошибка валидации: ${key}`;
34
+ const errorPayload = errors[key];
35
+ if (typeof errorPayload === 'object' && errorPayload !== null) {
36
+ for (const prop of Object.keys(errorPayload)) {
37
+ finalMessage = finalMessage.replace(`{${prop}}`, errorPayload[prop]);
38
+ }
39
+ }
40
+ return finalMessage;
41
+ });
42
+ return messages.join('\n');
43
+ }
44
+ return null;
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ValidationMessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
47
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ValidationMessageService }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ValidationMessageService, decorators: [{
50
+ type: Injectable
51
+ }] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL3NlcnZpY2VzL3ZhbGlkYXRpb24tbWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUUxRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FDekQsMkJBQTJCLEVBQzNCO0lBQ0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksR0FBRyxFQUFrQjtDQUN6QyxDQUNGLENBQUM7QUFHRixNQUFNLE9BQU8sd0JBQXdCO0lBRHJDO1FBRW1CLGlCQUFZLEdBQzNCLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFFN0QsOEJBQXlCLEdBQUcsSUFBSSxHQUFHLENBQWlCO1lBQzFELENBQUMsVUFBVSxFQUFFLGlDQUFpQyxDQUFDO1lBQy9DLENBQUMsY0FBYyxFQUFFLDhCQUE4QixDQUFDO1lBQ2hELENBQUMsV0FBVyxFQUFFLCtDQUErQyxDQUFDO1lBQzlELENBQUMsV0FBVyxFQUFFLGdEQUFnRCxDQUFDO1lBQy9ELENBQUMsS0FBSyxFQUFFLHdDQUF3QyxDQUFDO1lBQ2pELENBQUMsS0FBSyxFQUFFLHlDQUF5QyxDQUFDO1lBQ2xELENBQUMsT0FBTyxFQUFFLGtDQUFrQyxDQUFDO1lBQzdDLENBQUMsU0FBUyxFQUFFLDZDQUE2QyxDQUFDO1NBQzNELENBQUMsQ0FBQztLQXlDSjtJQXZDQywwREFBMEQ7SUFDbkQsb0JBQW9CLENBQUMsT0FBd0I7UUFDbEQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDeEIsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksaUJBQWlCLElBQUksS0FBSyxZQUFZLGtCQUFrQixDQUFDLEVBQzVGLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDN0QsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FDdEIsT0FBd0IsRUFDeEIsV0FBZ0M7UUFFaEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVwRCxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUM1QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXRDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0QsSUFBSSxZQUFZLEdBQUcsYUFBYSxJQUFJLGNBQWMsSUFBSSxxQkFBcUIsR0FBRyxFQUFFLENBQUM7Z0JBRWpGLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFakMsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLElBQUksWUFBWSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUM5RCxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQzt3QkFDN0MsWUFBWSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDdkUsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE9BQU8sWUFBWSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBckRVLHdCQUF3QjttSEFBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBTdGF0dXNDaGFuZ2VFdmVudCwgVG91Y2hlZENoYW5nZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgVkFMSURBVElPTl9NRVNTQUdFU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNYXA8c3RyaW5nLCBzdHJpbmc+PihcbiAgJ1ZBTElEQVRJT05fTUVTU0FHRVNfVE9LRU4nLFxuICB7XG4gICAgZmFjdG9yeTogKCkgPT4gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKSxcbiAgfVxuKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25NZXNzYWdlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lc3NhZ2VzTWFwID1cbiAgICBpbmplY3QoVkFMSURBVElPTl9NRVNTQUdFU19UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBuZXcgTWFwKCk7XG5cbiAgcHJpdmF0ZSBkZWZhdWx0VmFsaWRhdGlvbk1lc3NhZ2VzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xuICAgIFsncmVxdWlyZWQnLCAn0J/QvtC70LUg0L7QsdGP0LfQsNGC0LXQu9GM0L3QviDQtNC70Y8g0LfQsNC/0L7Qu9C90LXQvdC40Y8nXSxcbiAgICBbJ3JlcXVpcmVkVHJ1ZScsICfQndC10L7QsdGF0L7QtNC40LzQviDQvtGC0LzQtdGC0LjRgtGMINGN0YLQviDQv9C+0LvQtSddLFxuICAgIFsnbWlubGVuZ3RoJywgJ9Cc0LjQvdC40LzQsNC70YzQvdCw0Y8g0LTQu9C40L3QsCDigJQge3JlcXVpcmVkTGVuZ3RofSDRgdC40LzQstC+0LvQvtCyJ10sXG4gICAgWydtYXhsZW5ndGgnLCAn0JzQsNC60YHQuNC80LDQu9GM0L3QsNGPINC00LvQuNC90LAg4oCUIHtyZXF1aXJlZExlbmd0aH0g0YHQuNC80LLQvtC70L7QsiddLFxuICAgIFsnbWluJywgJ9Cc0LjQvdC40LzQsNC70YzQvdC+INC00L7Qv9GD0YHRgtC40LzQvtC1INC30L3QsNGH0LXQvdC40LUg4oCUIHttaW59J10sXG4gICAgWydtYXgnLCAn0JzQsNC60YHQuNC80LDQu9GM0L3QviDQtNC+0L/Rg9GB0YLQuNC80L7QtSDQt9C90LDRh9C10L3QuNC1IOKAlCB7bWF4fSddLFxuICAgIFsnZW1haWwnLCAn0J3QtdC60L7RgNGA0LXQutGC0L3Ri9C5INGE0L7RgNC80LDRgiBlbWFpbCDQsNC00YDQtdGB0LAnXSxcbiAgICBbJ3BhdHRlcm4nLCAn0JfQvdCw0YfQtdC90LjQtSDQvdC1INGB0L7QvtGC0LLQtdGC0YHRgtCy0YPQtdGCINC30LDQtNCw0L3QvdC+0LzRgyDRhNC+0YDQvNCw0YLRgyddLFxuICBdKTtcblxuICAvKiog0JLQvtC30LLRgNCw0YnQsNC10YIgT2JzZXJ2YWJsZSDRgSDRgtC10LrRgdGC0L7QvCDQvtGI0LjQsdC60Lgg0LTQu9GPINC60L7QvdGC0YDQvtC70LAgKi9cbiAgcHVibGljIG9ic2VydmVDb250cm9sRXJyb3JzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBjb250cm9sLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBTdGF0dXNDaGFuZ2VFdmVudCB8fCBldmVudCBpbnN0YW5jZW9mIFRvdWNoZWRDaGFuZ2VFdmVudCksXG4gICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5fZ2V0RXJyb3JNZXNzYWdlKGNvbnRyb2wsIHRoaXMuX21lc3NhZ2VzTWFwKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RXJyb3JNZXNzYWdlKFxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbiAgICBtZXNzYWdlc01hcDogTWFwPHN0cmluZywgc3RyaW5nPlxuICApOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCB7IGludmFsaWQsIHRvdWNoZWQsIGRpcnR5LCBlcnJvcnMgfSA9IGNvbnRyb2w7XG5cbiAgICBpZiAoaW52YWxpZCAmJiAodG91Y2hlZCB8fCBkaXJ0eSkgJiYgZXJyb3JzKSB7XG4gICAgICBjb25zdCBlcnJvcktleXMgPSBPYmplY3Qua2V5cyhlcnJvcnMpO1xuXG4gICAgICBjb25zdCBtZXNzYWdlcyA9IGVycm9yS2V5cy5tYXAoKGtleSkgPT4ge1xuICAgICAgICBjb25zdCBjdXN0b21NZXNzYWdlID0gbWVzc2FnZXNNYXAuZ2V0KGtleSk7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRNZXNzYWdlID0gdGhpcy5kZWZhdWx0VmFsaWRhdGlvbk1lc3NhZ2VzLmdldChrZXkpO1xuICAgICAgICBsZXQgZmluYWxNZXNzYWdlID0gY3VzdG9tTWVzc2FnZSB8fCBkZWZhdWx0TWVzc2FnZSB8fCBg0J7RiNC40LHQutCwINCy0LDQu9C40LTQsNGG0LjQuDogJHtrZXl9YDtcblxuICAgICAgICBjb25zdCBlcnJvclBheWxvYWQgPSBlcnJvcnNba2V5XTtcblxuICAgICAgICBpZiAodHlwZW9mIGVycm9yUGF5bG9hZCA9PT0gJ29iamVjdCcgJiYgZXJyb3JQYXlsb2FkICE9PSBudWxsKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBwcm9wIG9mIE9iamVjdC5rZXlzKGVycm9yUGF5bG9hZCkpIHtcbiAgICAgICAgICAgIGZpbmFsTWVzc2FnZSA9IGZpbmFsTWVzc2FnZS5yZXBsYWNlKGB7JHtwcm9wfX1gLCBlcnJvclBheWxvYWRbcHJvcF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaW5hbE1lc3NhZ2U7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG1lc3NhZ2VzLmpvaW4oJ1xcbicpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=