@foblex/flow 17.4.0 → 17.4.2

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 (212) hide show
  1. package/domain/css-cls.d.ts +3 -0
  2. package/domain/f-background/add-background-to-store/add-background-to-store.execution.d.ts +1 -1
  3. package/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.d.ts +3 -6
  4. package/domain/f-background/remove-background-from-store/remove-background-from-store.execution.d.ts +1 -1
  5. package/domain/f-background/set-background-transform/set-background-transform.execution.d.ts +1 -1
  6. package/domain/f-canvas/input-canvas-position/input-canvas-position.execution.d.ts +1 -1
  7. package/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.d.ts +1 -1
  8. package/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.d.ts +5 -5
  9. package/domain/f-connection/redraw-connections/redraw-connections.execution.d.ts +2 -2
  10. package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.d.ts +1 -1
  11. package/domain/f-node/calculate-input-connections/calculate-input-connections-request.d.ts +5 -0
  12. package/domain/f-node/calculate-input-connections/calculate-input-connections.execution.d.ts +12 -0
  13. package/domain/f-node/calculate-input-connections/index.d.ts +2 -0
  14. package/domain/f-node/calculate-output-connections/calculate-output-connections-request.d.ts +5 -0
  15. package/domain/f-node/calculate-output-connections/calculate-output-connections.execution.d.ts +12 -0
  16. package/domain/f-node/calculate-output-connections/index.d.ts +2 -0
  17. package/domain/f-node/index.d.ts +2 -0
  18. package/domain/f-node/providers.d.ts +3 -1
  19. package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.d.ts +1 -1
  20. package/domain/get-normalized-element-rect/get-normalized-element-rect.execution.d.ts +5 -3
  21. package/domain/providers.d.ts +1 -2
  22. package/domain/sort-item-layers/sort-item-layers.execution.d.ts +4 -5
  23. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +6 -9
  24. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.d.ts +12 -14
  25. package/domain/update-item-and-children-layers/update-item-and-children-layers.execution.d.ts +15 -16
  26. package/esm2022/domain/css-cls.mjs +4 -1
  27. package/esm2022/domain/f-background/add-background-to-store/add-background-to-store.execution.mjs +1 -1
  28. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.mjs +15 -19
  29. package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store.execution.mjs +1 -1
  30. package/esm2022/domain/f-background/set-background-transform/set-background-transform.execution.mjs +1 -1
  31. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +2 -1
  32. package/esm2022/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.mjs +2 -2
  33. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +12 -12
  34. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +1 -1
  35. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +2 -2
  36. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +1 -1
  37. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections-request.mjs +7 -0
  38. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.execution.mjs +31 -0
  39. package/esm2022/domain/f-node/calculate-input-connections/index.mjs +3 -0
  40. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections-request.mjs +7 -0
  41. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.execution.mjs +31 -0
  42. package/esm2022/domain/f-node/calculate-output-connections/index.mjs +3 -0
  43. package/esm2022/domain/f-node/index.mjs +3 -1
  44. package/esm2022/domain/f-node/providers.mjs +5 -1
  45. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +1 -1
  46. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +12 -4
  47. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +14 -16
  48. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +21 -27
  49. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +32 -34
  50. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +46 -48
  51. package/esm2022/f-backgroud/f-background.component.mjs +9 -12
  52. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +15 -21
  53. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +18 -28
  54. package/esm2022/f-canvas/f-canvas-base.mjs +1 -1
  55. package/esm2022/f-canvas/f-canvas.component.mjs +29 -35
  56. package/esm2022/f-canvas/providers.mjs +1 -1
  57. package/esm2022/f-connection/common/f-connection-base.mjs +5 -5
  58. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.mjs +37 -0
  59. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.mjs +37 -0
  60. package/esm2022/f-connection/common/f-drag-handle/index.mjs +3 -2
  61. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +2 -2
  62. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +2 -2
  63. package/esm2022/f-connection/f-connection/f-connection.component.mjs +6 -6
  64. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +6 -6
  65. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +6 -6
  66. package/esm2022/f-connection/providers.mjs +4 -3
  67. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +2 -3
  68. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +3 -3
  69. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.mjs +1 -1
  70. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +3 -3
  71. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +3 -3
  72. package/esm2022/f-draggable/f-draggable.directive.mjs +8 -2
  73. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +5 -5
  74. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.mjs +1 -1
  75. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +1 -1
  76. package/esm2022/f-draggable/f-node-move/f-line-alignment.drag-handler.mjs +2 -2
  77. package/esm2022/f-draggable/f-node-move/f-node-move.drag-handler.mjs +1 -1
  78. package/esm2022/f-draggable/f-node-move/f-summary-node-move.drag-handler.mjs +1 -1
  79. package/esm2022/f-draggable/f-node-move/point-bounds-limiter.mjs +1 -1
  80. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +2 -2
  81. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +4 -4
  82. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +1 -1
  83. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +1 -1
  84. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.request.mjs +1 -1
  85. package/esm2022/f-draggable/f-node-resize/f-node-resize.drag-handler.mjs +7 -6
  86. package/esm2022/f-draggable/f-node-rotate/calculate-difference-after-rotation.mjs +19 -0
  87. package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +69 -0
  88. package/esm2022/f-draggable/f-node-rotate/index.mjs +5 -0
  89. package/esm2022/f-draggable/f-node-rotate/providers.mjs +7 -0
  90. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.mjs +31 -0
  91. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.request.mjs +7 -0
  92. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/index.mjs +3 -0
  93. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +86 -0
  94. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.request.mjs +9 -0
  95. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/index.mjs +3 -0
  96. package/esm2022/f-draggable/index.mjs +2 -1
  97. package/esm2022/f-draggable/providers.mjs +3 -1
  98. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.mjs +1 -1
  99. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.execution.mjs +1 -1
  100. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +2 -2
  101. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +1 -1
  102. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +1 -1
  103. package/esm2022/f-external-item/f-external-item-placeholder.directive.mjs +1 -1
  104. package/esm2022/f-external-item/f-external-item-preview.directive.mjs +1 -1
  105. package/esm2022/f-external-item/f-external-item.directive.mjs +1 -1
  106. package/esm2022/f-external-item/index.mjs +2 -1
  107. package/esm2022/f-external-item/providers.mjs +5 -0
  108. package/esm2022/f-flow/f-flow-base.mjs +1 -1
  109. package/esm2022/f-flow/f-flow.component.mjs +12 -21
  110. package/esm2022/f-flow.module.mjs +48 -38
  111. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +1 -1
  112. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +5 -7
  113. package/esm2022/f-node/f-drag-handle.directive.mjs +3 -9
  114. package/esm2022/f-node/f-group.directive.mjs +19 -2
  115. package/esm2022/f-node/f-node-base.mjs +6 -2
  116. package/esm2022/f-node/f-node.directive.mjs +19 -2
  117. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +13 -24
  118. package/esm2022/f-node/f-rotate-handle/f-rotate-handle.directive.mjs +14 -26
  119. package/esm2022/f-node/f-rotate-handle/index.mjs +2 -1
  120. package/esm2022/f-node/f-rotate-handle/is-rotate-handle.mjs +5 -0
  121. package/esm2022/f-node/providers.mjs +3 -1
  122. package/esm2022/f-zoom/index.mjs +2 -1
  123. package/esm2022/f-zoom/providers.mjs +5 -0
  124. package/esm2022/reactivity/index.mjs +2 -1
  125. package/esm2022/reactivity/mediator-effect.mjs +14 -0
  126. package/f-backgroud/f-background.component.d.ts +4 -5
  127. package/f-backgroud/f-circle-pattern/f-circle-pattern.component.d.ts +9 -10
  128. package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +11 -12
  129. package/f-backgroud/providers.d.ts +1 -1
  130. package/f-canvas/f-canvas-base.d.ts +5 -5
  131. package/f-canvas/f-canvas.component.d.ts +13 -10
  132. package/f-connection/common/f-connection-base.d.ts +4 -4
  133. package/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.d.ts +13 -0
  134. package/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.d.ts +13 -0
  135. package/f-connection/common/f-drag-handle/index.d.ts +2 -1
  136. package/f-connection/f-connection/f-connection.component.d.ts +2 -2
  137. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -2
  138. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +2 -2
  139. package/f-connection/providers.d.ts +2 -2
  140. package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.d.ts +1 -1
  141. package/f-draggable/f-connection/providers.d.ts +1 -1
  142. package/f-draggable/f-draggable.directive.d.ts +2 -1
  143. package/f-draggable/f-drop-to-group/providers.d.ts +1 -1
  144. package/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.d.ts +2 -2
  145. package/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.d.ts +1 -1
  146. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +3 -3
  147. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  148. package/f-draggable/f-node-move/f-line-alignment.drag-handler.d.ts +2 -2
  149. package/f-draggable/f-node-move/f-node-move.drag-handler.d.ts +1 -1
  150. package/f-draggable/f-node-move/f-summary-node-move.drag-handler.d.ts +3 -3
  151. package/f-draggable/f-node-move/point-bounds-limiter.d.ts +1 -1
  152. package/f-draggable/f-node-move/providers.d.ts +1 -1
  153. package/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.d.ts +3 -2
  154. package/f-draggable/f-node-resize/f-node-resize.drag-handler.d.ts +3 -3
  155. package/f-draggable/f-node-rotate/calculate-difference-after-rotation.d.ts +20 -0
  156. package/f-draggable/f-node-rotate/f-node-rotate.drag-handler.d.ts +34 -0
  157. package/f-draggable/f-node-rotate/index.d.ts +4 -0
  158. package/f-draggable/f-node-rotate/providers.d.ts +3 -0
  159. package/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.d.ts +10 -0
  160. package/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.request.d.ts +5 -0
  161. package/f-draggable/f-node-rotate/rotate-finalize/index.d.ts +2 -0
  162. package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.d.ts +22 -0
  163. package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.request.d.ts +7 -0
  164. package/f-draggable/f-node-rotate/rotate-preparation/index.d.ts +2 -0
  165. package/f-draggable/index.d.ts +1 -0
  166. package/f-draggable/providers.d.ts +1 -1
  167. package/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.d.ts +2 -2
  168. package/f-external-item/domain/create-preview/f-external-item-create-preview.execution.d.ts +2 -2
  169. package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +5 -5
  170. package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +3 -3
  171. package/f-external-item/f-external-item-placeholder.directive.d.ts +2 -2
  172. package/f-external-item/f-external-item-preview.directive.d.ts +2 -2
  173. package/f-external-item/f-external-item.directive.d.ts +2 -2
  174. package/f-external-item/index.d.ts +1 -0
  175. package/f-external-item/providers.d.ts +2 -0
  176. package/f-flow/f-flow-base.d.ts +3 -3
  177. package/f-flow/f-flow.component.d.ts +8 -10
  178. package/f-flow.module.d.ts +36 -32
  179. package/f-line-alignment/f-line-alignment-base.d.ts +2 -2
  180. package/f-line-alignment/f-line-alignment.component.d.ts +4 -4
  181. package/f-minimap/domain/providers.d.ts +1 -1
  182. package/f-minimap/providers.d.ts +1 -1
  183. package/f-node/f-drag-handle.directive.d.ts +1 -6
  184. package/f-node/f-group.directive.d.ts +6 -3
  185. package/f-node/f-node-base.d.ts +4 -0
  186. package/f-node/f-node.directive.d.ts +6 -3
  187. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +4 -10
  188. package/f-node/f-rotate-handle/f-rotate-handle.directive.d.ts +4 -8
  189. package/f-node/f-rotate-handle/index.d.ts +1 -0
  190. package/f-node/f-rotate-handle/is-rotate-handle.d.ts +1 -0
  191. package/f-node/providers.d.ts +1 -2
  192. package/f-selection-area/domain/providers.d.ts +1 -1
  193. package/f-storage/providers.d.ts +1 -1
  194. package/f-zoom/index.d.ts +1 -0
  195. package/f-zoom/providers.d.ts +2 -0
  196. package/fesm2022/foblex-flow.mjs +676 -409
  197. package/fesm2022/foblex-flow.mjs.map +1 -1
  198. package/package.json +2 -2
  199. package/reactivity/index.d.ts +1 -0
  200. package/reactivity/mediator-effect.d.ts +2 -0
  201. package/errors/conflict-error.d.ts +0 -6
  202. package/errors/create-error-class.d.ts +0 -1
  203. package/errors/errors.d.ts +0 -3
  204. package/errors/index.d.ts +0 -4
  205. package/errors/not-found-error.d.ts +0 -6
  206. package/esm2022/errors/conflict-error.mjs +0 -7
  207. package/esm2022/errors/create-error-class.mjs +0 -10
  208. package/esm2022/errors/errors.mjs +0 -12
  209. package/esm2022/errors/index.mjs +0 -5
  210. package/esm2022/errors/not-found-error.mjs +0 -7
  211. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +0 -41
  212. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +0 -17
@@ -1,55 +1,53 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { SortNodeLayersRequest } from './sort-node-layers.request';
3
- import { Injectable } from '@angular/core';
4
- import { FExecutionRegister } from '@foblex/mediator';
3
+ import { inject, Injectable } from '@angular/core';
4
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
5
+ import { FComponentsStore } from '../../../f-storage';
5
6
  import { GetDeepChildrenNodesAndGroupsRequest } from '../../get-deep-children-nodes-and-groups';
7
+ import { BrowserService } from '@foblex/platform';
6
8
  import * as i0 from "@angular/core";
7
- import * as i1 from "../../../f-storage";
8
- import * as i2 from "@foblex/mediator";
9
- import * as i3 from "@foblex/platform";
10
9
  let SortNodeLayersExecution = class SortNodeLayersExecution {
11
- fComponentsStore;
12
- fMediator;
13
- fBrowser;
14
- get fGroupsContainer() {
15
- return this.fComponentsStore.fCanvas.fGroupsContainer.nativeElement;
10
+ _fMediator = inject(FMediator);
11
+ _fComponentsStore = inject(FComponentsStore);
12
+ _fBrowser = inject(BrowserService);
13
+ get _fCanvas() {
14
+ return this._fComponentsStore.fCanvas;
16
15
  }
17
- get fNodesContainer() {
18
- return this.fComponentsStore.fCanvas.fNodesContainer.nativeElement;
16
+ get _fGroupsContainer() {
17
+ return this._fCanvas.fGroupsContainer().nativeElement;
19
18
  }
20
- get fNodesContainerElements() {
21
- return Array.from(this.fNodesContainer.children);
19
+ get _fNodesContainer() {
20
+ return this._fCanvas.fNodesContainer().nativeElement;
22
21
  }
23
- constructor(fComponentsStore, fMediator, fBrowser) {
24
- this.fComponentsStore = fComponentsStore;
25
- this.fMediator = fMediator;
26
- this.fBrowser = fBrowser;
22
+ get _fNodeElements() {
23
+ return Array.from(this._fNodesContainer.children);
27
24
  }
28
25
  handle(request) {
29
- this.getGroups().forEach((parent) => {
30
- this.moveChildrenNodes(this.getSortedChildrenNodes(parent));
26
+ this._getGroups().forEach((parent) => {
27
+ this._moveChildrenNodes(this._getSortedChildrenNodes(parent));
31
28
  });
32
29
  }
33
- getGroups() {
34
- return this.fComponentsStore.fNodes.filter((x) => this.fGroupsContainer.contains(x.hostElement));
30
+ _getGroups() {
31
+ return this._fComponentsStore.fNodes
32
+ .filter((x) => this._fGroupsContainer.contains(x.hostElement));
35
33
  }
36
- getSortedChildrenNodes(parent) {
37
- const allElements = this.fNodesContainerElements;
38
- return this.getChildrenNodes(parent.fId)
34
+ _getSortedChildrenNodes(parent) {
35
+ const allElements = this._fNodeElements;
36
+ return this._getChildrenNodes(parent.fId)
39
37
  .sort((a, b) => allElements.indexOf(a) - allElements.indexOf(b));
40
38
  }
41
- getChildrenNodes(fId) {
42
- return this.fMediator.execute(new GetDeepChildrenNodesAndGroupsRequest(fId))
43
- .filter((x) => this.fNodesContainer.contains(x.hostElement)).map((x) => x.hostElement);
39
+ _getChildrenNodes(fId) {
40
+ return this._fMediator.execute(new GetDeepChildrenNodesAndGroupsRequest(fId))
41
+ .filter((x) => this._fNodesContainer.contains(x.hostElement)).map((x) => x.hostElement);
44
42
  }
45
- moveChildrenNodes(sortedChildrenGroups) {
46
- const fragment = this.fBrowser.document.createDocumentFragment();
43
+ _moveChildrenNodes(sortedChildrenGroups) {
44
+ const fragment = this._fBrowser.document.createDocumentFragment();
47
45
  sortedChildrenGroups.forEach((childGroup) => {
48
46
  fragment.appendChild(childGroup); // Append automatically removes the element from its current position
49
47
  });
50
- this.fNodesContainer.appendChild(fragment);
48
+ this._fNodesContainer.appendChild(fragment);
51
49
  }
52
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SortNodeLayersExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FMediator }, { token: i3.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SortNodeLayersExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
53
51
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SortNodeLayersExecution });
54
52
  };
55
53
  SortNodeLayersExecution = __decorate([
@@ -58,5 +56,5 @@ SortNodeLayersExecution = __decorate([
58
56
  export { SortNodeLayersExecution };
59
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SortNodeLayersExecution, decorators: [{
60
58
  type: Injectable
61
- }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FMediator }, { type: i3.BrowserService }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1ub2RlLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zb3J0LWl0ZW0tbGF5ZXJzL3NvcnQtbm9kZS1sYXllcnMtYnktZ3JvdXBzL3NvcnQtbm9kZS1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUc3RSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFLekYsSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBdUI7SUFleEI7SUFDQTtJQUNBO0lBZlYsSUFBWSxnQkFBZ0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUN2RSxDQUFDO0lBRUQsSUFBWSxlQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFZLHVCQUF1QjtRQUNqQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQWtCLENBQUM7SUFDcEUsQ0FBQztJQUVELFlBQ1UsZ0JBQWtDLEVBQ2xDLFNBQW9CLEVBQ3BCLFFBQXdCO1FBRnhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtJQUVsQyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQThCO1FBQzFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFpQixFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFNBQVM7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFFTyxzQkFBc0IsQ0FDNUIsTUFBaUI7UUFFakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7YUFDckMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBYyxJQUFJLG9DQUFvQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3RGLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVPLGlCQUFpQixDQUN2QixvQkFBbUM7UUFFbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNqRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUF1QixFQUFFLEVBQUU7WUFDdkQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFFQUFxRTtRQUN6RyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7dUdBcERVLHVCQUF1QjsyR0FBdkIsdUJBQXVCOztBQUF2Qix1QkFBdUI7SUFEbkMsa0JBQWtCLENBQUMscUJBQXFCLENBQUM7R0FDN0IsdUJBQXVCLENBcURuQzs7MkZBckRZLHVCQUF1QjtrQkFGbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvcnROb2RlTGF5ZXJzUmVxdWVzdCB9IGZyb20gJy4vc29ydC1ub2RlLWxheWVycy5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9nZXQtZGVlcC1jaGlsZHJlbi1ub2Rlcy1hbmQtZ3JvdXBzJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoU29ydE5vZGVMYXllcnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNvcnROb2RlTGF5ZXJzRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxTb3J0Tm9kZUxheWVyc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIGdldCBmR3JvdXBzQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLmZHcm91cHNDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZOb2Rlc0NvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS5mTm9kZXNDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZOb2Rlc0NvbnRhaW5lckVsZW1lbnRzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZk5vZGVzQ29udGFpbmVyLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJpdmF0ZSBmQnJvd3NlcjogQnJvd3NlclNlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBTb3J0Tm9kZUxheWVyc1JlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmdldEdyb3VwcygpLmZvckVhY2goKHBhcmVudDogRk5vZGVCYXNlKSA9PiB7XG4gICAgICB0aGlzLm1vdmVDaGlsZHJlbk5vZGVzKHRoaXMuZ2V0U29ydGVkQ2hpbGRyZW5Ob2RlcyhwYXJlbnQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0R3JvdXBzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maWx0ZXIoKHgpID0+IHRoaXMuZkdyb3Vwc0NvbnRhaW5lci5jb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGdldFNvcnRlZENoaWxkcmVuTm9kZXMoXG4gICAgcGFyZW50OiBGTm9kZUJhc2UsXG4gICk6IEhUTUxFbGVtZW50W10ge1xuICAgIGNvbnN0IGFsbEVsZW1lbnRzID0gdGhpcy5mTm9kZXNDb250YWluZXJFbGVtZW50cztcbiAgICByZXR1cm4gdGhpcy5nZXRDaGlsZHJlbk5vZGVzKHBhcmVudC5mSWQpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYWxsRWxlbWVudHMuaW5kZXhPZihhKSAtIGFsbEVsZW1lbnRzLmluZGV4T2YoYikpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZHJlbk5vZGVzKGZJZDogc3RyaW5nKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QoZklkKSlcbiAgICAgIC5maWx0ZXIoKHgpID0+IHRoaXMuZk5vZGVzQ29udGFpbmVyLmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpKS5tYXAoKHgpID0+IHguaG9zdEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlQ2hpbGRyZW5Ob2RlcyhcbiAgICBzb3J0ZWRDaGlsZHJlbkdyb3VwczogSFRNTEVsZW1lbnRbXSxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZnJhZ21lbnQgPSB0aGlzLmZCcm93c2VyLmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICBzb3J0ZWRDaGlsZHJlbkdyb3Vwcy5mb3JFYWNoKChjaGlsZEdyb3VwOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoY2hpbGRHcm91cCk7IC8vIEFwcGVuZCBhdXRvbWF0aWNhbGx5IHJlbW92ZXMgdGhlIGVsZW1lbnQgZnJvbSBpdHMgY3VycmVudCBwb3NpdGlvblxuICAgIH0pO1xuICAgIHRoaXMuZk5vZGVzQ29udGFpbmVyLmFwcGVuZENoaWxkKGZyYWdtZW50KTtcbiAgfVxufVxuIl19
59
+ }] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1ub2RlLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zb3J0LWl0ZW0tbGF5ZXJzL3NvcnQtbm9kZS1sYXllcnMtYnktZ3JvdXBzL3NvcnQtbm9kZS1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUszQyxJQUFNLHVCQUF1QixHQUE3QixNQUFNLHVCQUF1QjtJQUVqQixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLFNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFcEQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQVEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBWSxpQkFBaUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFZLGNBQWM7UUFDeEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQWtCLENBQUM7SUFDckUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUE4QjtRQUMxQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBaUIsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU07YUFDakMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTyx1QkFBdUIsQ0FDN0IsTUFBaUI7UUFFakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ3RDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQWMsSUFBSSxvQ0FBb0MsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2RixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVPLGtCQUFrQixDQUN4QixvQkFBbUM7UUFFbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNsRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUF1QixFQUFFLEVBQUU7WUFDdkQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFFQUFxRTtRQUN6RyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQzt1R0F0RFUsdUJBQXVCOzJHQUF2Qix1QkFBdUI7O0FBQXZCLHVCQUF1QjtJQURuQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQztHQUM3Qix1QkFBdUIsQ0F1RG5DOzsyRkF2RFksdUJBQXVCO2tCQUZuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29ydE5vZGVMYXllcnNSZXF1ZXN0IH0gZnJvbSAnLi9zb3J0LW5vZGUtbGF5ZXJzLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZ2V0LWRlZXAtY2hpbGRyZW4tbm9kZXMtYW5kLWdyb3Vwcyc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRkNhbnZhc0Jhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNhbnZhcyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoU29ydE5vZGVMYXllcnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNvcnROb2RlTGF5ZXJzRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxTb3J0Tm9kZUxheWVyc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkJyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgZ2V0IF9mQ2FudmFzKCk6IEZDYW52YXNCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mR3JvdXBzQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mR3JvdXBzQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mTm9kZXNDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ2FudmFzLmZOb2Rlc0NvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZk5vZGVFbGVtZW50cygpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9mTm9kZXNDb250YWluZXIuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFNvcnROb2RlTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2dldEdyb3VwcygpLmZvckVhY2goKHBhcmVudDogRk5vZGVCYXNlKSA9PiB7XG4gICAgICB0aGlzLl9tb3ZlQ2hpbGRyZW5Ob2Rlcyh0aGlzLl9nZXRTb3J0ZWRDaGlsZHJlbk5vZGVzKHBhcmVudCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0R3JvdXBzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mTm9kZXNcbiAgICAgIC5maWx0ZXIoKHgpID0+IHRoaXMuX2ZHcm91cHNDb250YWluZXIuY29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U29ydGVkQ2hpbGRyZW5Ob2RlcyhcbiAgICBwYXJlbnQ6IEZOb2RlQmFzZSxcbiAgKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgY29uc3QgYWxsRWxlbWVudHMgPSB0aGlzLl9mTm9kZUVsZW1lbnRzO1xuICAgIHJldHVybiB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKHBhcmVudC5mSWQpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYWxsRWxlbWVudHMuaW5kZXhPZihhKSAtIGFsbEVsZW1lbnRzLmluZGV4T2YoYikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Ob2RlcyhmSWQ6IHN0cmluZyk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxGTm9kZUJhc2VbXT4obmV3IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdChmSWQpKVxuICAgICAgLmZpbHRlcigoeCkgPT4gdGhpcy5fZk5vZGVzQ29udGFpbmVyLmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpKS5tYXAoKHgpID0+IHguaG9zdEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbW92ZUNoaWxkcmVuTm9kZXMoXG4gICAgc29ydGVkQ2hpbGRyZW5Hcm91cHM6IEhUTUxFbGVtZW50W10sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGZyYWdtZW50ID0gdGhpcy5fZkJyb3dzZXIuZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgIHNvcnRlZENoaWxkcmVuR3JvdXBzLmZvckVhY2goKGNoaWxkR3JvdXA6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChjaGlsZEdyb3VwKTsgLy8gQXBwZW5kIGF1dG9tYXRpY2FsbHkgcmVtb3ZlcyB0aGUgZWxlbWVudCBmcm9tIGl0cyBjdXJyZW50IHBvc2l0aW9uXG4gICAgfSk7XG4gICAgdGhpcy5fZk5vZGVzQ29udGFpbmVyLmFwcGVuZENoaWxkKGZyYWdtZW50KTtcbiAgfVxufVxuIl19
@@ -1,68 +1,66 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { UpdateItemAndChildrenLayersRequest } from './update-item-and-children-layers.request';
3
- import { Injectable } from '@angular/core';
4
- import { FExecutionRegister } from '@foblex/mediator';
3
+ import { inject, Injectable } from '@angular/core';
4
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
5
+ import { FComponentsStore } from '../../f-storage';
5
6
  import { GetDeepChildrenNodesAndGroupsRequest } from '../get-deep-children-nodes-and-groups';
6
7
  import { MoveFrontElementsBeforeTargetElementRequest } from './move-front-elements-before-target-element';
7
8
  import * as i0 from "@angular/core";
8
- import * as i1 from "../../f-storage";
9
- import * as i2 from "@foblex/mediator";
10
9
  let UpdateItemAndChildrenLayersExecution = class UpdateItemAndChildrenLayersExecution {
11
- fComponentsStore;
12
- fMediator;
13
- get fGroupsContainer() {
14
- return this.fComponentsStore.fCanvas.fGroupsContainer.nativeElement;
10
+ _fMediator = inject(FMediator);
11
+ _fComponentsStore = inject(FComponentsStore);
12
+ get _fCanvas() {
13
+ return this._fComponentsStore.fCanvas;
15
14
  }
16
- get fNodesContainer() {
17
- return this.fComponentsStore.fCanvas.fNodesContainer.nativeElement;
15
+ get _fGroupsContainer() {
16
+ return this._fCanvas.fGroupsContainer().nativeElement;
18
17
  }
19
- get fConnectionsContainer() {
20
- return this.fComponentsStore.fCanvas.fConnectionsContainer.nativeElement;
18
+ get _fNodesContainer() {
19
+ return this._fCanvas.fNodesContainer().nativeElement;
21
20
  }
22
- constructor(fComponentsStore, fMediator) {
23
- this.fComponentsStore = fComponentsStore;
24
- this.fMediator = fMediator;
21
+ get _fConnectionsContainer() {
22
+ return this._fCanvas.fConnectionsContainer().nativeElement;
25
23
  }
26
24
  handle(request) {
27
25
  switch (request.itemContainer) {
28
- case this.fGroupsContainer:
29
- this.handleGroup(request);
26
+ case this._fGroupsContainer:
27
+ this._handleGroup(request);
30
28
  break;
31
- case this.fNodesContainer:
32
- this.handleNode(request);
29
+ case this._fNodesContainer:
30
+ this._handleNode(request);
33
31
  break;
34
- case this.fConnectionsContainer:
35
- this.handleConnection(request);
32
+ case this._fConnectionsContainer:
33
+ this._handleConnection(request);
36
34
  break;
37
35
  default:
38
36
  throw new Error('Unknown container');
39
37
  }
40
38
  }
41
- handleGroup(request) {
42
- const childrenNodesAndGroups = this.getChildrenNodesAndGroups(request.item.fId);
43
- const childrenGroups = this.getChildrenGroups(childrenNodesAndGroups);
44
- this.updateLayers(this.fGroupsContainer, request.item.hostElement, childrenGroups);
45
- const childrenNodes = this.getChildrenNodes(childrenNodesAndGroups);
39
+ _handleGroup(request) {
40
+ const childrenNodesAndGroups = this._getChildrenNodesAndGroups(request.item.fId);
41
+ const childrenGroups = this._getChildrenGroups(childrenNodesAndGroups);
42
+ this._updateLayers(this._fGroupsContainer, request.item.hostElement, childrenGroups);
43
+ const childrenNodes = this._getChildrenNodes(childrenNodesAndGroups);
46
44
  if (childrenNodes.length) {
47
- this.updateLayers(this.fNodesContainer, childrenNodes[0], childrenNodes);
45
+ this._updateLayers(this._fNodesContainer, childrenNodes[0], childrenNodes);
48
46
  }
49
47
  }
50
- handleNode(request) {
51
- const childrenNodesAndGroups = this.getChildrenNodesAndGroups(request.item.fId);
52
- const childrenNodes = this.getChildrenNodes(childrenNodesAndGroups);
53
- this.updateLayers(request.itemContainer, request.item.hostElement, childrenNodes);
48
+ _handleNode(request) {
49
+ const childrenNodesAndGroups = this._getChildrenNodesAndGroups(request.item.fId);
50
+ const childrenNodes = this._getChildrenNodes(childrenNodesAndGroups);
51
+ this._updateLayers(request.itemContainer, request.item.hostElement, childrenNodes);
54
52
  }
55
- handleConnection(request) {
56
- this.updateLayers(request.itemContainer, request.item.hostElement, []);
53
+ _handleConnection(request) {
54
+ this._updateLayers(request.itemContainer, request.item.hostElement, []);
57
55
  }
58
- updateLayers(itemContainer, item, elementsThatShouldBeInFront) {
56
+ _updateLayers(itemContainer, item, elementsThatShouldBeInFront) {
59
57
  const allElements = Array.from(itemContainer.children);
60
58
  const targetIndex = allElements.findIndex((x) => x === item);
61
- if (this.isAnythingNeedToBeMoved(allElements, targetIndex, elementsThatShouldBeInFront)) {
62
- this.fMediator.execute(new MoveFrontElementsBeforeTargetElementRequest(itemContainer, allElements, elementsThatShouldBeInFront, targetIndex));
59
+ if (this._isAnythingNeedToBeMoved(allElements, targetIndex, elementsThatShouldBeInFront)) {
60
+ this._fMediator.execute(new MoveFrontElementsBeforeTargetElementRequest(itemContainer, allElements, elementsThatShouldBeInFront, targetIndex));
63
61
  }
64
62
  }
65
- isAnythingNeedToBeMoved(allElements, targetIndex, elementsThatShouldBeInFront) {
63
+ _isAnythingNeedToBeMoved(allElements, targetIndex, elementsThatShouldBeInFront) {
66
64
  for (let i = targetIndex + 1; i < allElements.length; i++) {
67
65
  if (!elementsThatShouldBeInFront.includes(allElements[i])) {
68
66
  return true;
@@ -70,20 +68,20 @@ let UpdateItemAndChildrenLayersExecution = class UpdateItemAndChildrenLayersExec
70
68
  }
71
69
  return false;
72
70
  }
73
- getChildrenGroups(elements) {
74
- const allElements = Array.from(this.fGroupsContainer.children);
75
- return elements.filter((x) => this.fGroupsContainer.contains(x))
71
+ _getChildrenGroups(elements) {
72
+ const allElements = Array.from(this._fGroupsContainer.children);
73
+ return elements.filter((x) => this._fGroupsContainer.contains(x))
76
74
  .sort((a, b) => allElements.indexOf(a) - allElements.indexOf(b));
77
75
  }
78
- getChildrenNodes(elements) {
79
- const allElements = Array.from(this.fNodesContainer.children);
80
- return elements.filter((x) => this.fNodesContainer.contains(x))
76
+ _getChildrenNodes(elements) {
77
+ const allElements = Array.from(this._fNodesContainer.children);
78
+ return elements.filter((x) => this._fNodesContainer.contains(x))
81
79
  .sort((a, b) => allElements.indexOf(a) - allElements.indexOf(b));
82
80
  }
83
- getChildrenNodesAndGroups(fId) {
84
- return this.fMediator.execute(new GetDeepChildrenNodesAndGroupsRequest(fId)).map((x) => x.hostElement);
81
+ _getChildrenNodesAndGroups(fId) {
82
+ return this._fMediator.execute(new GetDeepChildrenNodesAndGroupsRequest(fId)).map((x) => x.hostElement);
85
83
  }
86
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UpdateItemAndChildrenLayersExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
84
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UpdateItemAndChildrenLayersExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
87
85
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UpdateItemAndChildrenLayersExecution });
88
86
  };
89
87
  UpdateItemAndChildrenLayersExecution = __decorate([
@@ -92,5 +90,5 @@ UpdateItemAndChildrenLayersExecution = __decorate([
92
90
  export { UpdateItemAndChildrenLayersExecution };
93
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UpdateItemAndChildrenLayersExecution, decorators: [{
94
92
  type: Injectable
95
- }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FMediator }] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzL3VwZGF0ZS1pdGVtLWFuZC1jaGlsZHJlbi1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUc3RSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7OztBQUluRyxJQUFNLG9DQUFvQyxHQUExQyxNQUFNLG9DQUFvQztJQWVyQztJQUNBO0lBZFYsSUFBWSxnQkFBZ0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUN2RSxDQUFDO0lBRUQsSUFBWSxlQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFZLHFCQUFxQjtRQUMvQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDO0lBQzVFLENBQUM7SUFFRCxZQUNVLGdCQUFrQyxFQUNsQyxTQUFvQjtRQURwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxP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QUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEgsQ0FBQzt1R0ExRlUsb0NBQW9DOzJHQUFwQyxvQ0FBb0M7O0FBQXBDLG9DQUFvQztJQURoRCxrQkFBa0IsQ0FBQyxrQ0FBa0MsQ0FBQztHQUMxQyxvQ0FBb0MsQ0EyRmhEOzsyRkEzRlksb0NBQW9DO2tCQUZoRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCB9IGZyb20gJy4vdXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycy5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QgfSBmcm9tICcuLi9nZXQtZGVlcC1jaGlsZHJlbi1ub2Rlcy1hbmQtZ3JvdXBzJztcbmltcG9ydCB7IE1vdmVGcm9udEVsZW1lbnRzQmVmb3JlVGFyZ2V0RWxlbWVudFJlcXVlc3QgfSBmcm9tICcuL21vdmUtZnJvbnQtZWxlbWVudHMtYmVmb3JlLXRhcmdldC1lbGVtZW50JztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc0V4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248VXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgZ2V0IGZHcm91cHNDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEuZkdyb3Vwc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZk5vZGVzQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLmZOb2Rlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZkNvbm5lY3Rpb25zQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLmZDb25uZWN0aW9uc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3JcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QpOiB2b2lkIHtcblxuICAgIHN3aXRjaCAocmVxdWVzdC5pdGVtQ29udGFpbmVyKSB7XG4gICAgICBjYXNlIHRoaXMuZkdyb3Vwc0NvbnRhaW5lcjpcbiAgICAgICAgdGhpcy5oYW5kbGVHcm91cChyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuZk5vZGVzQ29udGFpbmVyOlxuICAgICAgICB0aGlzLmhhbmRsZU5vZGUocmVxdWVzdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB0aGlzLmZDb25uZWN0aW9uc0NvbnRhaW5lcjpcbiAgICAgICAgdGhpcy5oYW5kbGVDb25uZWN0aW9uKHJlcXVlc3QpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBjb250YWluZXInKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUdyb3VwKHJlcXVlc3Q6IFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QpOiB2b2lkIHtcbiAgICBjb25zdCBjaGlsZHJlbk5vZGVzQW5kR3JvdXBzID0gdGhpcy5nZXRDaGlsZHJlbk5vZGVzQW5kR3JvdXBzKHJlcXVlc3QuaXRlbS5mSWQpO1xuICAgIGNvbnN0IGNoaWxkcmVuR3JvdXBzID0gdGhpcy5nZXRDaGlsZHJlbkdyb3VwcyhjaGlsZHJlbk5vZGVzQW5kR3JvdXBzKTtcbiAgICB0aGlzLnVwZGF0ZUxheWVycyh0aGlzLmZHcm91cHNDb250YWluZXIsIHJlcXVlc3QuaXRlbS5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCwgY2hpbGRyZW5Hcm91cHMpO1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXMgPSB0aGlzLmdldENoaWxkcmVuTm9kZXMoY2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwcyk7XG4gICAgaWYgKGNoaWxkcmVuTm9kZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnVwZGF0ZUxheWVycyh0aGlzLmZOb2Rlc0NvbnRhaW5lciwgY2hpbGRyZW5Ob2Rlc1sgMCBdLCBjaGlsZHJlbk5vZGVzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU5vZGUocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXNBbmRHcm91cHMgPSB0aGlzLmdldENoaWxkcmVuTm9kZXNBbmRHcm91cHMocmVxdWVzdC5pdGVtLmZJZCk7XG4gICAgY29uc3QgY2hpbGRyZW5Ob2RlcyA9IHRoaXMuZ2V0Q2hpbGRyZW5Ob2RlcyhjaGlsZHJlbk5vZGVzQW5kR3JvdXBzKTtcbiAgICB0aGlzLnVwZGF0ZUxheWVycyhyZXF1ZXN0Lml0ZW1Db250YWluZXIsIHJlcXVlc3QuaXRlbS5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCwgY2hpbGRyZW5Ob2Rlcyk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNvbm5lY3Rpb24ocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTGF5ZXJzKHJlcXVlc3QuaXRlbUNvbnRhaW5lciwgcmVxdWVzdC5pdGVtLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50LCBbXSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUxheWVycyhpdGVtQ29udGFpbmVyOiBIVE1MRWxlbWVudCwgaXRlbTogSFRNTEVsZW1lbnQsIGVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udDogSFRNTEVsZW1lbnRbXSk6IHZvaWQge1xuICAgIGNvbnN0IGFsbEVsZW1lbnRzID0gQXJyYXkuZnJvbShpdGVtQ29udGFpbmVyLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gYWxsRWxlbWVudHMuZmluZEluZGV4KCh4KSA9PiB4ID09PSBpdGVtKTtcbiAgICBpZiAodGhpcy5pc0FueXRoaW5nTmVlZFRvQmVNb3ZlZChhbGxFbGVtZW50cywgdGFyZ2V0SW5kZXgsIGVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udCkpIHtcbiAgICAgIHRoaXMuZk1lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICAgIG5ldyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0KGl0ZW1Db250YWluZXIsIGFsbEVsZW1lbnRzLCBlbGVtZW50c1RoYXRTaG91bGRCZUluRnJvbnQsIHRhcmdldEluZGV4KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzQW55dGhpbmdOZWVkVG9CZU1vdmVkKGFsbEVsZW1lbnRzOiBIVE1MRWxlbWVudFtdLCB0YXJnZXRJbmRleDogbnVtYmVyLCBlbGVtZW50c1RoYXRTaG91bGRCZUluRnJvbnQ6IEhUTUxFbGVtZW50W10pOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gdGFyZ2V0SW5kZXggKyAxOyBpIDwgYWxsRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghZWxlbWVudHNUaGF0U2hvdWxkQmVJbkZyb250LmluY2x1ZGVzKGFsbEVsZW1lbnRzWyBpIF0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGdldENoaWxkcmVuR3JvdXBzKGVsZW1lbnRzOiBIVE1MRWxlbWVudFtdKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgY29uc3QgYWxsRWxlbWVudHMgPSBBcnJheS5mcm9tKHRoaXMuZkdyb3Vwc0NvbnRhaW5lci5jaGlsZHJlbikgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICByZXR1cm4gZWxlbWVudHMuZmlsdGVyKCh4KSA9PiB0aGlzLmZHcm91cHNDb250YWluZXIuY29udGFpbnMoeCkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYWxsRWxlbWVudHMuaW5kZXhPZihhKSAtIGFsbEVsZW1lbnRzLmluZGV4T2YoYikpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZHJlbk5vZGVzKGVsZW1lbnRzOiBIVE1MRWxlbWVudFtdKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgY29uc3QgYWxsRWxlbWVudHMgPSBBcnJheS5mcm9tKHRoaXMuZk5vZGVzQ29udGFpbmVyLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIHJldHVybiBlbGVtZW50cy5maWx0ZXIoKHgpID0+IHRoaXMuZk5vZGVzQ29udGFpbmVyLmNvbnRhaW5zKHgpKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGFsbEVsZW1lbnRzLmluZGV4T2YoYSkgLSBhbGxFbGVtZW50cy5pbmRleE9mKGIpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2hpbGRyZW5Ob2Rlc0FuZEdyb3VwcyhmSWQ6IHN0cmluZyk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpLm1hcCgoeCkgPT4geC5ob3N0RWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
93
+ }] });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzL3VwZGF0ZS1pdGVtLWFuZC1jaGlsZHJlbi1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBS25HLElBQU0sb0NBQW9DLEdBQTFDLE1BQU0sb0NBQW9DO0lBRTlCLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFOUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQVEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBWSxpQkFBaUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFZLHNC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QUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFjLElBQUksb0NBQW9DLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2SCxDQUFDO3VHQTNGVSxvQ0FBb0M7MkdBQXBDLG9DQUFvQzs7QUFBcEMsb0NBQW9DO0lBRGhELGtCQUFrQixDQUFDLGtDQUFrQyxDQUFDO0dBQzFDLG9DQUFvQyxDQTRGaEQ7OzJGQTVGWSxvQ0FBb0M7a0JBRmhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0IH0gZnJvbSAnLi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LWRlZXAtY2hpbGRyZW4tbm9kZXMtYW5kLWdyb3Vwcyc7XG5pbXBvcnQgeyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi9tb3ZlLWZyb250LWVsZW1lbnRzLWJlZm9yZS10YXJnZXQtZWxlbWVudCc7XG5pbXBvcnQgeyBGQ2FudmFzQmFzZSB9IGZyb20gJy4uLy4uL2YtY2FudmFzJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc0V4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248VXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mQ29tcG9uZW50c1N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgZ2V0IF9mQ2FudmFzKCk6IEZDYW52YXNCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mR3JvdXBzQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mR3JvdXBzQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mTm9kZXNDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ2FudmFzLmZOb2Rlc0NvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkNvbm5lY3Rpb25zQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mQ29ubmVjdGlvbnNDb250YWluZXIoKS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0KTogdm9pZCB7XG5cbiAgICBzd2l0Y2ggKHJlcXVlc3QuaXRlbUNvbnRhaW5lcikge1xuICAgICAgY2FzZSB0aGlzLl9mR3JvdXBzQ29udGFpbmVyOlxuICAgICAgICB0aGlzLl9oYW5kbGVHcm91cChyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuX2ZOb2Rlc0NvbnRhaW5lcjpcbiAgICAgICAgdGhpcy5faGFuZGxlTm9kZShyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuX2ZDb25uZWN0aW9uc0NvbnRhaW5lcjpcbiAgICAgICAgdGhpcy5faGFuZGxlQ29ubmVjdGlvbihyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gY29udGFpbmVyJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlR3JvdXAocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXNBbmRHcm91cHMgPSB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzQW5kR3JvdXBzKHJlcXVlc3QuaXRlbS5mSWQpO1xuICAgIGNvbnN0IGNoaWxkcmVuR3JvdXBzID0gdGhpcy5fZ2V0Q2hpbGRyZW5Hcm91cHMoY2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwcyk7XG4gICAgdGhpcy5fdXBkYXRlTGF5ZXJzKHRoaXMuX2ZHcm91cHNDb250YWluZXIsIHJlcXVlc3QuaXRlbS5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCwgY2hpbGRyZW5Hcm91cHMpO1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXMgPSB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKGNoaWxkcmVuTm9kZXNBbmRHcm91cHMpO1xuICAgIGlmIChjaGlsZHJlbk5vZGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5fdXBkYXRlTGF5ZXJzKHRoaXMuX2ZOb2Rlc0NvbnRhaW5lciwgY2hpbGRyZW5Ob2Rlc1sgMCBdLCBjaGlsZHJlbk5vZGVzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVOb2RlKHJlcXVlc3Q6IFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QpOiB2b2lkIHtcbiAgICBjb25zdCBjaGlsZHJlbk5vZGVzQW5kR3JvdXBzID0gdGhpcy5fZ2V0Q2hpbGRyZW5Ob2Rlc0FuZEdyb3VwcyhyZXF1ZXN0Lml0ZW0uZklkKTtcbiAgICBjb25zdCBjaGlsZHJlbk5vZGVzID0gdGhpcy5fZ2V0Q2hpbGRyZW5Ob2RlcyhjaGlsZHJlbk5vZGVzQW5kR3JvdXBzKTtcbiAgICB0aGlzLl91cGRhdGVMYXllcnMocmVxdWVzdC5pdGVtQ29udGFpbmVyLCByZXF1ZXN0Lml0ZW0uaG9zdEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsIGNoaWxkcmVuTm9kZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ29ubmVjdGlvbihyZXF1ZXN0OiBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlTGF5ZXJzKHJlcXVlc3QuaXRlbUNvbnRhaW5lciwgcmVxdWVzdC5pdGVtLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50LCBbXSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVMYXllcnMoaXRlbUNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIGl0ZW06IEhUTUxFbGVtZW50LCBlbGVtZW50c1RoYXRTaG91bGRCZUluRnJvbnQ6IEhUTUxFbGVtZW50W10pOiB2b2lkIHtcbiAgICBjb25zdCBhbGxFbGVtZW50cyA9IEFycmF5LmZyb20oaXRlbUNvbnRhaW5lci5jaGlsZHJlbikgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICBjb25zdCB0YXJnZXRJbmRleCA9IGFsbEVsZW1lbnRzLmZpbmRJbmRleCgoeCkgPT4geCA9PT0gaXRlbSk7XG4gICAgaWYgKHRoaXMuX2lzQW55dGhpbmdOZWVkVG9CZU1vdmVkKGFsbEVsZW1lbnRzLCB0YXJnZXRJbmRleCwgZWxlbWVudHNUaGF0U2hvdWxkQmVJbkZyb250KSkge1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICAgIG5ldyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0KGl0ZW1Db250YWluZXIsIGFsbEVsZW1lbnRzLCBlbGVtZW50c1RoYXRTaG91bGRCZUluRnJvbnQsIHRhcmdldEluZGV4KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0FueXRoaW5nTmVlZFRvQmVNb3ZlZChhbGxFbGVtZW50czogSFRNTEVsZW1lbnRbXSwgdGFyZ2V0SW5kZXg6IG51bWJlciwgZWxlbWVudHNUaGF0U2hvdWxkQmVJbkZyb250OiBIVE1MRWxlbWVudFtdKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaSA9IHRhcmdldEluZGV4ICsgMTsgaSA8IGFsbEVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoIWVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udC5pbmNsdWRlcyhhbGxFbGVtZW50c1sgaSBdKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Hcm91cHMoZWxlbWVudHM6IEhUTUxFbGVtZW50W10pOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCBhbGxFbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy5fZkdyb3Vwc0NvbnRhaW5lci5jaGlsZHJlbikgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICByZXR1cm4gZWxlbWVudHMuZmlsdGVyKCh4KSA9PiB0aGlzLl9mR3JvdXBzQ29udGFpbmVyLmNvbnRhaW5zKHgpKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGFsbEVsZW1lbnRzLmluZGV4T2YoYSkgLSBhbGxFbGVtZW50cy5pbmRleE9mKGIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuTm9kZXMoZWxlbWVudHM6IEhUTUxFbGVtZW50W10pOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCBhbGxFbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy5fZk5vZGVzQ29udGFpbmVyLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIHJldHVybiBlbGVtZW50cy5maWx0ZXIoKHgpID0+IHRoaXMuX2ZOb2Rlc0NvbnRhaW5lci5jb250YWlucyh4KSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhbGxFbGVtZW50cy5pbmRleE9mKGEpIC0gYWxsRWxlbWVudHMuaW5kZXhPZihiKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDaGlsZHJlbk5vZGVzQW5kR3JvdXBzKGZJZDogc3RyaW5nKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpLm1hcCgoeCkgPT4geC5ob3N0RWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,38 +1,35 @@
1
- import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, inject } from "@angular/core";
1
+ import { ChangeDetectionStrategy, Component, contentChild, ElementRef, inject } from "@angular/core";
2
2
  import { F_BACKGROUND, FBackgroundBase } from './f-background-base';
3
3
  import { F_BACKGROUND_PATTERN } from './domain';
4
4
  import { FMediator } from '@foblex/mediator';
5
5
  import { AddBackgroundToStoreRequest, AddPatternToBackgroundRequest, RemoveBackgroundFromStoreRequest } from '../domain';
6
6
  import * as i0 from "@angular/core";
7
7
  export class FBackgroundComponent extends FBackgroundBase {
8
+ _fMediator = inject(FMediator);
8
9
  _elementReference = inject(ElementRef);
9
10
  get hostElement() {
10
11
  return this._elementReference.nativeElement;
11
12
  }
12
- fBackgroundPattern;
13
- _fMediator = inject(FMediator);
13
+ fBackgroundPattern = contentChild(F_BACKGROUND_PATTERN);
14
14
  ngOnInit() {
15
15
  this._fMediator.execute(new AddBackgroundToStoreRequest(this));
16
16
  }
17
17
  ngAfterContentInit() {
18
- this._fMediator.execute(new AddPatternToBackgroundRequest(this.fBackgroundPattern));
18
+ this._fMediator.execute(new AddPatternToBackgroundRequest(this.fBackgroundPattern()));
19
19
  }
20
20
  setTransform(transform) {
21
- this.fBackgroundPattern?.setTransform(transform);
21
+ this.fBackgroundPattern()?.setTransform(transform);
22
22
  }
23
23
  ngOnDestroy() {
24
24
  this._fMediator.execute(new RemoveBackgroundFromStoreRequest(this));
25
25
  }
26
26
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FBackgroundComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
27
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FBackgroundComponent, selector: "f-background", host: { classAttribute: "f-component f-background" }, providers: [{ provide: F_BACKGROUND, useExisting: FBackgroundComponent }], queries: [{ propertyName: "fBackgroundPattern", first: true, predicate: F_BACKGROUND_PATTERN, descendants: true }], usesInheritance: true, ngImport: i0, template: "<svg><ng-content></ng-content></svg>", isInline: true, styles: [":host{position:absolute;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host svg{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.4", type: FBackgroundComponent, isStandalone: true, selector: "f-background", host: { classAttribute: "f-component f-background" }, providers: [{ provide: F_BACKGROUND, useExisting: FBackgroundComponent }], queries: [{ propertyName: "fBackgroundPattern", first: true, predicate: F_BACKGROUND_PATTERN, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<svg><ng-content></ng-content></svg>", isInline: true, styles: [":host{position:absolute;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host svg{width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
28
  }
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FBackgroundComponent, decorators: [{
30
30
  type: Component,
31
- args: [{ selector: "f-background", template: "<svg><ng-content></ng-content></svg>", host: {
31
+ args: [{ selector: "f-background", template: "<svg><ng-content></ng-content></svg>", standalone: true, host: {
32
32
  'class': 'f-component f-background'
33
33
  }, providers: [{ provide: F_BACKGROUND, useExisting: FBackgroundComponent }], changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:absolute;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host svg{width:100%;height:100%}\n"] }]
34
- }], propDecorators: { fBackgroundPattern: [{
35
- type: ContentChild,
36
- args: [F_BACKGROUND_PATTERN, { static: false }]
37
- }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iYWNrZ3JvdW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1iYWNrZ3JvdWQvZi1iYWNrZ3JvdW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLFVBQVUsRUFBRSxNQUFNLEVBRW5CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEUsT0FBTyxFQUFFLG9CQUFvQixFQUF1QixNQUFNLFVBQVUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiw2QkFBNkIsRUFDN0IsZ0NBQWdDLEVBQ2pDLE1BQU0sV0FBVyxDQUFDOztBQVluQixNQUFNLE9BQU8sb0JBQ1gsU0FBUSxlQUFlO0lBRWYsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRS9DLElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFHTSxrQkFBa0IsQ0FBa0M7SUFFbkQsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUVoQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsa0JBQW1CLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBMEI7UUFDNUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQzt1R0E1QlUsb0JBQW9COzJGQUFwQixvQkFBb0IsNkZBSHBCLENBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxDQUFFLDBFQVk3RCxvQkFBb0IsdUVBakJ4QixzQ0FBc0M7OzJGQVFyQyxvQkFBb0I7a0JBVmhDLFNBQVM7K0JBQ0UsY0FBYyxZQUNkLHNDQUFzQyxRQUUxQzt3QkFDSixPQUFPLEVBQUUsMEJBQTBCO3FCQUNwQyxhQUNVLENBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBRSxtQkFDMUQsdUJBQXVCLENBQUMsTUFBTTs4QkFZeEMsa0JBQWtCO3NCQUR4QixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRl9CQUNLR1JPVU5ELCBGQmFja2dyb3VuZEJhc2UgfSBmcm9tICcuL2YtYmFja2dyb3VuZC1iYXNlJztcbmltcG9ydCB7IElUcmFuc2Zvcm1Nb2RlbCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRl9CQUNLR1JPVU5EX1BBVFRFUk4sIElGQmFja2dyb3VuZFBhdHRlcm4gfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIEFkZEJhY2tncm91bmRUb1N0b3JlUmVxdWVzdCxcbiAgQWRkUGF0dGVyblRvQmFja2dyb3VuZFJlcXVlc3QsXG4gIFJlbW92ZUJhY2tncm91bmRGcm9tU3RvcmVSZXF1ZXN0XG59IGZyb20gJy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWJhY2tncm91bmRcIixcbiAgdGVtcGxhdGU6IFwiPHN2Zz48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zdmc+XCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1iYWNrZ3JvdW5kLmNvbXBvbmVudC5zY3NzXCIgXSxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWNvbXBvbmVudCBmLWJhY2tncm91bmQnXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfQkFDS0dST1VORCwgdXNlRXhpc3Rpbmc6IEZCYWNrZ3JvdW5kQ29tcG9uZW50IH0gXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZCYWNrZ3JvdW5kQ29tcG9uZW50XG4gIGV4dGVuZHMgRkJhY2tncm91bmRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoRl9CQUNLR1JPVU5EX1BBVFRFUk4sIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgZkJhY2tncm91bmRQYXR0ZXJuOiBJRkJhY2tncm91bmRQYXR0ZXJuIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgQWRkQmFja2dyb3VuZFRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZFBhdHRlcm5Ub0JhY2tncm91bmRSZXF1ZXN0KHRoaXMuZkJhY2tncm91bmRQYXR0ZXJuISkpO1xuICB9XG5cbiAgcHVibGljIHNldFRyYW5zZm9ybSh0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuZkJhY2tncm91bmRQYXR0ZXJuPy5zZXRUcmFuc2Zvcm0odHJhbnNmb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlQmFja2dyb3VuZEZyb21TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG59XG4iXX0=
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iYWNrZ3JvdW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1iYWNrZ3JvdWQvZi1iYWNrZ3JvdW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLFVBQVUsRUFBRSxNQUFNLEVBRW5CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixnQ0FBZ0MsRUFDakMsTUFBTSxXQUFXLENBQUM7O0FBYW5CLE1BQU0sT0FBTyxvQkFDWCxTQUFRLGVBQWU7SUFFTixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4RCxJQUFvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRVMsa0JBQWtCLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFM0QsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBMEI7UUFDNUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksZ0NBQWdDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO3VHQTFCVSxvQkFBb0I7MkZBQXBCLG9CQUFvQixpSEFIcEIsQ0FBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUUsMEVBYS9CLG9CQUFvQix1RkFuQnRELHNDQUFzQzs7MkZBU3JDLG9CQUFvQjtrQkFYaEMsU0FBUzsrQkFDRSxjQUFjLFlBQ2Qsc0NBQXNDLGNBRXBDLElBQUksUUFDVjt3QkFDSixPQUFPLEVBQUUsMEJBQTBCO3FCQUNwQyxhQUNVLENBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBRSxtQkFDMUQsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIGNvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRl9CQUNLR1JPVU5ELCBGQmFja2dyb3VuZEJhc2UgfSBmcm9tICcuL2YtYmFja2dyb3VuZC1iYXNlJztcbmltcG9ydCB7IElUcmFuc2Zvcm1Nb2RlbCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRl9CQUNLR1JPVU5EX1BBVFRFUk4gfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIEFkZEJhY2tncm91bmRUb1N0b3JlUmVxdWVzdCxcbiAgQWRkUGF0dGVyblRvQmFja2dyb3VuZFJlcXVlc3QsXG4gIFJlbW92ZUJhY2tncm91bmRGcm9tU3RvcmVSZXF1ZXN0XG59IGZyb20gJy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWJhY2tncm91bmRcIixcbiAgdGVtcGxhdGU6IFwiPHN2Zz48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zdmc+XCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1iYWNrZ3JvdW5kLmNvbXBvbmVudC5zY3NzXCIgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWNvbXBvbmVudCBmLWJhY2tncm91bmQnXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfQkFDS0dST1VORCwgdXNlRXhpc3Rpbmc6IEZCYWNrZ3JvdW5kQ29tcG9uZW50IH0gXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZCYWNrZ3JvdW5kQ29tcG9uZW50XG4gIGV4dGVuZHMgRkJhY2tncm91bmRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZkJhY2tncm91bmRQYXR0ZXJuID0gY29udGVudENoaWxkKEZfQkFDS0dST1VORF9QQVRURVJOKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZEJhY2tncm91bmRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBBZGRQYXR0ZXJuVG9CYWNrZ3JvdW5kUmVxdWVzdCh0aGlzLmZCYWNrZ3JvdW5kUGF0dGVybigpKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0VHJhbnNmb3JtKHRyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5mQmFja2dyb3VuZFBhdHRlcm4oKT8uc2V0VHJhbnNmb3JtKHRyYW5zZm9ybSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZUJhY2tncm91bmRGcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIl19
@@ -1,29 +1,28 @@
1
- import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input } from "@angular/core";
1
+ import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, input, numberAttribute } from "@angular/core";
2
2
  import { PointExtensions, TransformModelExtensions } from '@foblex/2d';
3
3
  import { F_BACKGROUND_PATTERN } from '../domain';
4
+ import { BrowserService } from '@foblex/platform';
4
5
  import { createSVGElement } from '../../domain';
5
6
  import { FChannel, FChannelHub, notifyOnStart } from '../../reactivity';
6
7
  import * as i0 from "@angular/core";
7
- import * as i1 from "@foblex/platform";
8
8
  let uniqueId = 0;
9
9
  export class FCirclePatternComponent {
10
- _fBrowser;
11
10
  _destroyRef = inject(DestroyRef);
12
11
  _elementReference = inject(ElementRef);
12
+ _fBrowser = inject(BrowserService);
13
13
  _stateChanges = new FChannel();
14
14
  get hostElement() {
15
15
  return this._elementReference.nativeElement;
16
16
  }
17
- id = `f-pattern-${uniqueId++}`;
18
- color = 'rgba(0,0,0,0.1)';
19
- radius = 20;
17
+ id = input(`f-pattern-${uniqueId++}`);
18
+ color = input('rgba(0,0,0,0.1)');
19
+ radius = input(20, { transform: numberAttribute });
20
20
  _scaledRadius = 20;
21
21
  _transform = TransformModelExtensions.default();
22
22
  _position = PointExtensions.initialize();
23
23
  _pattern;
24
24
  _circle;
25
- constructor(_fBrowser) {
26
- this._fBrowser = _fBrowser;
25
+ constructor() {
27
26
  this._createPattern();
28
27
  }
29
28
  _createPattern() {
@@ -52,7 +51,7 @@ export class FCirclePatternComponent {
52
51
  _calculatePattern() {
53
52
  this._position.x = this._transform.position.x + this._transform.scaledPosition.x;
54
53
  this._position.y = this._transform.position.y + this._transform.scaledPosition.y;
55
- this._scaledRadius = this.radius * this._transform.scale;
54
+ this._scaledRadius = this.radius() * this._transform.scale;
56
55
  }
57
56
  _redrawPattern() {
58
57
  this._pattern.setAttribute('x', `${this._position.x}`);
@@ -61,10 +60,10 @@ export class FCirclePatternComponent {
61
60
  this._pattern.setAttribute('height', `${this._scaledRadius}`);
62
61
  }
63
62
  _redrawElement() {
64
- this._circle.setAttribute('fill', this.color);
63
+ this._circle.setAttribute('fill', this.color());
65
64
  this._circle.setAttribute('cx', `${this._scaledRadius / 2}`);
66
65
  this._circle.setAttribute('cy', `${this._scaledRadius / 2}`);
67
- this._circle.setAttribute('r', `${this._scaledRadius / this.radius}`);
66
+ this._circle.setAttribute('r', `${this._scaledRadius / this.radius()}`);
68
67
  }
69
68
  setTransform(transform) {
70
69
  this._transform = transform;
@@ -73,8 +72,8 @@ export class FCirclePatternComponent {
73
72
  _refresh() {
74
73
  this._stateChanges.notify();
75
74
  }
76
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCirclePatternComponent, deps: [{ token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Component });
77
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FCirclePatternComponent, selector: "f-circle-pattern", inputs: { id: "id", color: "color", radius: "radius" }, host: { properties: { "attr.id": "id" } }, providers: [
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FCirclePatternComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: FCirclePatternComponent, isStandalone: true, selector: "f-circle-pattern", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id" } }, providers: [
78
77
  { provide: F_BACKGROUND_PATTERN, useExisting: FCirclePatternComponent }
79
78
  ], usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
80
79
  }
@@ -83,6 +82,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
83
82
  args: [{
84
83
  selector: "f-circle-pattern",
85
84
  template: ``,
85
+ standalone: true,
86
86
  host: {
87
87
  '[attr.id]': 'id'
88
88
  },
@@ -91,11 +91,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
91
91
  ],
92
92
  changeDetection: ChangeDetectionStrategy.OnPush
93
93
  }]
94
- }], ctorParameters: () => [{ type: i1.BrowserService }], propDecorators: { id: [{
95
- type: Input
96
- }], color: [{
97
- type: Input
98
- }], radius: [{
99
- type: Input
100
- }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtYmFja2dyb3VkL2YtY2lyY2xlLXBhdHRlcm4vZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFFMUIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGVBQWUsRUFDZix3QkFBd0IsRUFDekIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLG9CQUFvQixFQUF1QixNQUFNLFdBQVcsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUV4RSxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFhekIsTUFBTSxPQUFPLHVCQUF1QjtJQStCeEI7SUE3QkYsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVqQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFdkMsYUFBYSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFdkMsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBR00sRUFBRSxHQUFXLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQztJQUd6QyxLQUFLLEdBQVcsaUJBQWlCLENBQUM7SUFHbEMsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUVuQixhQUFhLEdBQVcsRUFBRSxDQUFDO0lBRTNCLFVBQVUsR0FBb0Isd0JBQXdCLENBQUMs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eSxcbiAgQ29tcG9uZW50LCBEZXN0cm95UmVmLFxuICBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSxcbiAgT25Jbml0LCBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBJUG9pbnQsXG4gIElUcmFuc2Zvcm1Nb2RlbCxcbiAgUG9pbnRFeHRlbnNpb25zLFxuICBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnNcbn0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgSUZCYWNrZ3JvdW5kUGF0dGVybiB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgY3JlYXRlU1ZHRWxlbWVudCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ2hhbm5lbCwgRkNoYW5uZWxIdWIsIG5vdGlmeU9uU3RhcnQgfSBmcm9tICcuLi8uLi9yZWFjdGl2aXR5JztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1jaXJjbGUtcGF0dGVyblwiLFxuICB0ZW1wbGF0ZTogYGAsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2lkJ1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfQkFDS0dST1VORF9QQVRURVJOLCB1c2VFeGlzdGluZzogRkNpcmNsZVBhdHRlcm5Db21wb25lbnQgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGQ2lyY2xlUGF0dGVybkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJRkJhY2tncm91bmRQYXR0ZXJuIHtcblxuICBwcml2YXRlIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHByaXZhdGUgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHJpdmF0ZSBfc3RhdGVDaGFuZ2VzID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZDogc3RyaW5nID0gYGYtcGF0dGVybi0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb2xvcjogc3RyaW5nID0gJ3JnYmEoMCwwLDAsMC4xKSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJhZGl1czogbnVtYmVyID0gMjA7XG5cbiAgcHJpdmF0ZSBfc2NhbGVkUmFkaXVzOiBudW1iZXIgPSAyMDtcblxuICBwcml2YXRlIF90cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCA9IFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy5kZWZhdWx0KCk7XG5cbiAgcHJpdmF0ZSBfcG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJpdmF0ZSBfcGF0dGVybiE6IFNWR1BhdHRlcm5FbGVtZW50O1xuICBwcml2YXRlIF9jaXJjbGUhOiBTVkdDaXJjbGVFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2ZCcm93c2VyOiBCcm93c2VyU2VydmljZVxuICApIHtcbiAgICB0aGlzLl9jcmVhdGVQYXR0ZXJuKCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVQYXR0ZXJuKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhdHRlcm4gPSBjcmVhdGVTVkdFbGVtZW50KCdwYXR0ZXJuJywgdGhpcy5fZkJyb3dzZXIpO1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCdwYXR0ZXJuVW5pdHMnLCAndXNlclNwYWNlT25Vc2UnKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3BhdHRlcm4pO1xuXG4gICAgdGhpcy5fY2lyY2xlID0gY3JlYXRlU1ZHRWxlbWVudCgnY2lyY2xlJywgdGhpcy5fZkJyb3dzZXIpO1xuICAgIHRoaXMuX3BhdHRlcm4uYXBwZW5kQ2hpbGQodGhpcy5fY2lyY2xlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9saXN0ZW5TdGF0ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlblN0YXRlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBuZXcgRkNoYW5uZWxIdWIodGhpcy5fc3RhdGVDaGFuZ2VzKS5waXBlKG5vdGlmeU9uU3RhcnQoKSkubGlzdGVuKHRoaXMuX2Rlc3Ryb3lSZWYsICgpID0+IHRoaXMuX3JlZHJhdygpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3JhZGl1cyddIHx8IGNoYW5nZXNbJ2NvbG9yJ10pIHtcbiAgICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5fY2FsY3VsYXRlUGF0dGVybigpO1xuICAgIHRoaXMuX3JlZHJhd1BhdHRlcm4oKTtcbiAgICB0aGlzLl9yZWRyYXdFbGVtZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVQYXR0ZXJuKCk6IHZvaWQge1xuICAgIHRoaXMuX3Bvc2l0aW9uLnggPSB0aGlzLl90cmFuc2Zvcm0ucG9zaXRpb24ueCArIHRoaXMuX3RyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbi54O1xuICAgIHRoaXMuX3Bvc2l0aW9uLnkgPSB0aGlzLl90cmFuc2Zvcm0ucG9zaXRpb24ueSArIHRoaXMuX3RyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbi55O1xuICAgIHRoaXMuX3NjYWxlZFJhZGl1cyA9IHRoaXMucmFkaXVzICogdGhpcy5fdHJhbnNmb3JtLnNjYWxlO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3UGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneCcsIGAkeyB0aGlzLl9wb3NpdGlvbi54IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneScsIGAkeyB0aGlzLl9wb3NpdGlvbi55IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHsgdGhpcy5fc2NhbGVkUmFkaXVzIH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyB9YCk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXdFbGVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCB0aGlzLmNvbG9yKTtcbiAgICB0aGlzLl9jaXJjbGUuc2V0QXR0cmlidXRlKCdjeCcsIGAkeyB0aGlzLl9zY2FsZWRSYWRpdXMgLyAyIH1gKTtcbiAgICB0aGlzLl9jaXJjbGUuc2V0QXR0cmlidXRlKCdjeScsIGAkeyB0aGlzLl9zY2FsZWRSYWRpdXMgLyAyIH1gKTtcbiAgICB0aGlzLl9jaXJjbGUuc2V0QXR0cmlidXRlKCdyJywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyAvIHRoaXMucmFkaXVzIH1gKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUcmFuc2Zvcm0odHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLl90cmFuc2Zvcm0gPSB0cmFuc2Zvcm07XG4gICAgdGhpcy5fcmVmcmVzaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZXMubm90aWZ5KCk7XG4gIH1cbn1cbiJdfQ==
94
+ }], ctorParameters: () => [] });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtYmFja2dyb3VkL2YtY2lyY2xlLXBhdHRlcm4vZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBUyxlQUFlLEVBRWxELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxlQUFlLEVBQ2Ysd0JBQXdCLEVBQ3pCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxvQkFBb0IsRUFBdUIsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFeEUsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBY3pCLE1BQU0sT0FBTyx1QkFBdUI7SUFFakIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuQyxhQUFhLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUVoRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxFQUFFLEdBQUcsS0FBSyxDQUFTLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELEtBQUssR0FBRyxLQUFLLENBQVMsaUJBQWlCLENBQUMsQ0FBQztJQUN6QyxNQUFNLEdBQUcsS0FBSyxDQUFrQixFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQztJQUVsRSxhQUFhLEdBQVcsRUFBRSxDQUFDO0lBRTNCLFVBQVUsR0FBb0Isd0JBQXdCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFakUsU0FBUyxHQUFXLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVqRCxRQUFRLENBQXFCO0lBQzdCLE9BQU8sQ0FBb0I7SUFFbkM7UUFFRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUM3RCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUUsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxHQUFJLElBQUksQ0FBQyxhQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxHQUFJLElBQUksQ0FBQyxhQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBSSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEdBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRyxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sWUFBWSxDQUFDLFNBQTBCO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sUUFBUTtRQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUIsQ0FBQzt1R0F0RlUsdUJBQXVCOzJGQUF2Qix1QkFBdUIsd2RBTHZCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFO1NBQ3hFLCtDQVBTLEVBQUU7OzJGQVVELHVCQUF1QjtrQkFabkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsRUFBRTtvQkFDWixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLFdBQVcsRUFBRSxJQUFJO3FCQUNsQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyx5QkFBeUIsRUFBRTtxQkFDeEU7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSVBvaW50LFxuICBJVHJhbnNmb3JtTW9kZWwsXG4gIFBvaW50RXh0ZW5zaW9ucyxcbiAgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zXG59IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRl9CQUNLR1JPVU5EX1BBVFRFUk4sIElGQmFja2dyb3VuZFBhdHRlcm4gfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IGNyZWF0ZVNWR0VsZW1lbnQgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNoYW5uZWwsIEZDaGFubmVsSHViLCBub3RpZnlPblN0YXJ0IH0gZnJvbSAnLi4vLi4vcmVhY3Rpdml0eSc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtY2lyY2xlLXBhdHRlcm5cIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgdXNlRXhpc3Rpbmc6IEZDaXJjbGVQYXR0ZXJuQ29tcG9uZW50IH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRkNpcmNsZVBhdHRlcm5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgSUZCYWNrZ3JvdW5kUGF0dGVybiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkJyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlcyA9IG5ldyBGQ2hhbm5lbCgpO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaWQgPSBpbnB1dDxzdHJpbmc+KGBmLXBhdHRlcm4tJHsgdW5pcXVlSWQrKyB9YCk7XG4gIHB1YmxpYyBjb2xvciA9IGlucHV0PHN0cmluZz4oJ3JnYmEoMCwwLDAsMC4xKScpO1xuICBwdWJsaWMgcmFkaXVzID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigyMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pO1xuXG4gIHByaXZhdGUgX3NjYWxlZFJhZGl1czogbnVtYmVyID0gMjA7XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwgPSBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMuZGVmYXVsdCgpO1xuXG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgX3BhdHRlcm4hOiBTVkdQYXR0ZXJuRWxlbWVudDtcbiAgcHJpdmF0ZSBfY2lyY2xlITogU1ZHQ2lyY2xlRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7XG4gICAgdGhpcy5fY3JlYXRlUGF0dGVybigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuID0gY3JlYXRlU1ZHRWxlbWVudCgncGF0dGVybicsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgncGF0dGVyblVuaXRzJywgJ3VzZXJTcGFjZU9uVXNlJyk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9wYXR0ZXJuKTtcblxuICAgIHRoaXMuX2NpcmNsZSA9IGNyZWF0ZVNWR0VsZW1lbnQoJ2NpcmNsZScsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLmFwcGVuZENoaWxkKHRoaXMuX2NpcmNsZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbGlzdGVuU3RhdGVDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5TdGF0ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgbmV3IEZDaGFubmVsSHViKHRoaXMuX3N0YXRlQ2hhbmdlcykucGlwZShub3RpZnlPblN0YXJ0KCkpLmxpc3Rlbih0aGlzLl9kZXN0cm95UmVmLCAoKSA9PiB0aGlzLl9yZWRyYXcoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydyYWRpdXMnXSB8fCBjaGFuZ2VzWydjb2xvciddKSB7XG4gICAgICB0aGlzLl9yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX2NhbGN1bGF0ZVBhdHRlcm4oKTtcbiAgICB0aGlzLl9yZWRyYXdQYXR0ZXJuKCk7XG4gICAgdGhpcy5fcmVkcmF3RWxlbWVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wb3NpdGlvbi54ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnggKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueDtcbiAgICB0aGlzLl9wb3NpdGlvbi55ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnkgKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueTtcbiAgICB0aGlzLl9zY2FsZWRSYWRpdXMgPSB0aGlzLnJhZGl1cygpICogdGhpcy5fdHJhbnNmb3JtLnNjYWxlO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3UGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneCcsIGAkeyB0aGlzLl9wb3NpdGlvbi54IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneScsIGAkeyB0aGlzLl9wb3NpdGlvbi55IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHsgdGhpcy5fc2NhbGVkUmFkaXVzIH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyB9YCk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXdFbGVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCB0aGlzLmNvbG9yKCkpO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2N4JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyAvIDIgfWApO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2N5JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyAvIDIgfWApO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ3InLCBgJHsgdGhpcy5fc2NhbGVkUmFkaXVzIC8gdGhpcy5yYWRpdXMoKSB9YCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VHJhbnNmb3JtKHRyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNmb3JtID0gdHJhbnNmb3JtO1xuICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLm5vdGlmeSgpO1xuICB9XG59XG4iXX0=