@foblex/flow 17.9.81 → 18.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 (742) hide show
  1. package/LICENSE +1 -1
  2. package/domain/css-cls.d.ts +0 -3
  3. package/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.d.ts +3 -3
  4. package/domain/f-connection/add-connection-for-create-to-store/{add-connection-for-create-to-store.execution.d.ts → add-connection-for-create-to-store.d.ts} +4 -4
  5. package/domain/f-connection/add-connection-for-create-to-store/index.d.ts +1 -1
  6. package/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.d.ts +3 -3
  7. package/domain/f-connection/add-connection-marker-to-store/{add-connection-marker-to-store.execution.d.ts → add-connection-marker-to-store.d.ts} +4 -4
  8. package/domain/f-connection/add-connection-marker-to-store/index.d.ts +1 -1
  9. package/domain/f-connection/add-connection-to-store/add-connection-to-store-request.d.ts +3 -3
  10. package/domain/f-connection/add-connection-to-store/{add-connection-to-store.execution.d.ts → add-connection-to-store.d.ts} +4 -4
  11. package/domain/f-connection/add-connection-to-store/index.d.ts +1 -1
  12. package/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.d.ts +3 -3
  13. package/domain/f-connection/add-snap-connection-to-store/{add-snap-connection-to-store.execution.d.ts → add-snap-connection-to-store.d.ts} +4 -4
  14. package/domain/f-connection/add-snap-connection-to-store/index.d.ts +1 -1
  15. package/domain/f-connection/create-connection-markers/create-connection-markers-request.d.ts +3 -3
  16. package/domain/f-connection/create-connection-markers/{create-connection-markers.execution.d.ts → create-connection-markers.d.ts} +7 -8
  17. package/domain/f-connection/create-connection-markers/index.d.ts +1 -1
  18. package/domain/f-connection/index.d.ts +1 -1
  19. package/domain/f-connection/providers.d.ts +11 -11
  20. package/domain/f-connection/redraw-connections/redraw-connections.d.ts +6 -4
  21. package/domain/f-connection/remove-connection-for-create-from-store/index.d.ts +1 -1
  22. package/domain/f-connection/remove-connection-for-create-from-store/{remove-connection-for-create-from-store.execution.d.ts → remove-connection-for-create-from-store.d.ts} +4 -4
  23. package/domain/f-connection/remove-connection-from-store/index.d.ts +1 -1
  24. package/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.d.ts +3 -3
  25. package/domain/f-connection/remove-connection-from-store/{remove-connection-from-store.execution.d.ts → remove-connection-from-store.d.ts} +4 -5
  26. package/domain/f-connection/remove-connection-marker-from-store/index.d.ts +1 -1
  27. package/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.d.ts +3 -3
  28. package/domain/f-connection/remove-connection-marker-from-store/{remove-connection-marker-from-store.execution.d.ts → remove-connection-marker-from-store.d.ts} +4 -4
  29. package/domain/f-connection/remove-connection-waypoint/index.d.ts +2 -0
  30. package/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint-request.d.ts +6 -0
  31. package/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint.d.ts +11 -0
  32. package/domain/f-connection/remove-snap-connection-from-store/index.d.ts +1 -1
  33. package/domain/f-connection/remove-snap-connection-from-store/{remove-snap-connection-from-store.execution.d.ts → remove-snap-connection-from-store.d.ts} +4 -4
  34. package/domain/f-draggable/on-pointer-move/on-pointer-move.execution.d.ts +1 -1
  35. package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.d.ts +1 -1
  36. package/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state-request.d.ts +3 -0
  37. package/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state.d.ts +14 -0
  38. package/domain/f-flow/calculate-flow-state/calculate-connections-state/index.d.ts +2 -0
  39. package/domain/f-flow/calculate-flow-state/calculate-flow-state-request.d.ts +3 -0
  40. package/domain/f-flow/calculate-flow-state/calculate-flow-state.d.ts +17 -0
  41. package/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state-request.d.ts +6 -0
  42. package/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state.d.ts +15 -0
  43. package/domain/f-flow/calculate-flow-state/calculate-nodes-state/index.d.ts +2 -0
  44. package/domain/f-flow/calculate-flow-state/i-f-flow-state-connection.d.ts +13 -0
  45. package/domain/f-flow/{get-flow-state → calculate-flow-state}/i-f-flow-state-connector.d.ts +1 -1
  46. package/domain/f-flow/{get-flow-state → calculate-flow-state}/index.d.ts +4 -4
  47. package/domain/f-flow/calculate-flow-state/providers.d.ts +7 -0
  48. package/domain/f-flow/index.d.ts +1 -1
  49. package/domain/f-flow/providers.d.ts +1 -1
  50. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.d.ts +1 -1
  51. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +1 -1
  52. package/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.d.ts +1 -1
  53. package/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.d.ts +1 -1
  54. package/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.d.ts +1 -1
  55. package/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.d.ts +1 -1
  56. package/domain/f-node/calculate-input-connections/calculate-input-connections.d.ts +1 -1
  57. package/domain/f-node/calculate-output-connections/calculate-output-connections.d.ts +1 -1
  58. package/domain/f-selection/calculate-selectable-items/calculate-selectable-items-request.d.ts +3 -0
  59. package/domain/f-selection/{get-can-be-selected-items/get-can-be-selected-items.execution.d.ts → calculate-selectable-items/calculate-selectable-items.d.ts} +8 -8
  60. package/domain/f-selection/calculate-selectable-items/index.d.ts +3 -0
  61. package/domain/f-selection/index.d.ts +1 -1
  62. package/domain/f-selection/providers.d.ts +2 -2
  63. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.d.ts +2 -2
  64. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.d.ts +12 -0
  65. package/domain/f-zoom/add-zoom-to-store/index.d.ts +1 -1
  66. package/domain/f-zoom/providers.d.ts +5 -5
  67. package/domain/f-zoom/remove-zoom-from-store/index.d.ts +1 -1
  68. package/domain/f-zoom/remove-zoom-from-store/{remove-zoom-from-store.execution.d.ts → remove-zoom-from-store.d.ts} +3 -3
  69. package/domain/f-zoom/reset-zoom/index.d.ts +1 -1
  70. package/domain/f-zoom/reset-zoom/reset-zoom.d.ts +13 -0
  71. package/domain/f-zoom/set-zoom/index.d.ts +1 -1
  72. package/domain/f-zoom/set-zoom/{set-zoom.execution.d.ts → set-zoom.d.ts} +6 -6
  73. package/domain/index.d.ts +0 -1
  74. package/domain/providers.d.ts +1 -1
  75. package/drag-toolkit/pointer-events/i-pointer-event.d.ts +6 -4
  76. package/esm2022/domain/css-cls.mjs +1 -4
  77. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.mjs +4 -4
  78. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.mjs +25 -0
  79. package/esm2022/domain/f-connection/add-connection-for-create-to-store/index.mjs +2 -2
  80. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.mjs +4 -4
  81. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.mjs +25 -0
  82. package/esm2022/domain/f-connection/add-connection-marker-to-store/index.mjs +2 -2
  83. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store-request.mjs +4 -4
  84. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.mjs +26 -0
  85. package/esm2022/domain/f-connection/add-connection-to-store/index.mjs +2 -2
  86. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.mjs +4 -4
  87. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.mjs +25 -0
  88. package/esm2022/domain/f-connection/add-snap-connection-to-store/index.mjs +2 -2
  89. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers-request.mjs +4 -4
  90. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.mjs +64 -0
  91. package/esm2022/domain/f-connection/create-connection-markers/index.mjs +2 -2
  92. package/esm2022/domain/f-connection/index.mjs +2 -2
  93. package/esm2022/domain/f-connection/providers.mjs +21 -21
  94. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +24 -21
  95. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/index.mjs +2 -2
  96. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.mjs +25 -0
  97. package/esm2022/domain/f-connection/remove-connection-from-store/index.mjs +2 -2
  98. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.mjs +4 -4
  99. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.mjs +33 -0
  100. package/esm2022/domain/f-connection/remove-connection-marker-from-store/index.mjs +2 -2
  101. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.mjs +4 -4
  102. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.mjs +25 -0
  103. package/esm2022/domain/f-connection/remove-connection-waypoint/index.mjs +3 -0
  104. package/esm2022/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint-request.mjs +10 -0
  105. package/esm2022/domain/f-connection/remove-connection-waypoint/remove-connection-waypoint.mjs +40 -0
  106. package/esm2022/domain/f-connection/remove-snap-connection-from-store/index.mjs +2 -2
  107. package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.mjs +25 -0
  108. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.mjs +1 -1
  109. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.mjs +1 -1
  110. package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.mjs +1 -1
  111. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +5 -5
  112. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence-request.mjs +1 -1
  113. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +3 -5
  114. package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state-request.mjs +4 -0
  115. package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/calculate-connections-state.mjs +38 -0
  116. package/esm2022/domain/f-flow/calculate-flow-state/calculate-connections-state/index.mjs +3 -0
  117. package/esm2022/domain/f-flow/calculate-flow-state/calculate-flow-state-request.mjs +4 -0
  118. package/esm2022/domain/f-flow/calculate-flow-state/calculate-flow-state.mjs +45 -0
  119. package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state-request.mjs +8 -0
  120. package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/calculate-nodes-state.mjs +58 -0
  121. package/esm2022/domain/f-flow/calculate-flow-state/calculate-nodes-state/index.mjs +3 -0
  122. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-connection.mjs +2 -0
  123. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-connector.mjs +2 -0
  124. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state-node.mjs +2 -0
  125. package/esm2022/domain/f-flow/calculate-flow-state/i-f-flow-state.mjs +2 -0
  126. package/esm2022/domain/f-flow/calculate-flow-state/index.mjs +10 -0
  127. package/esm2022/domain/f-flow/calculate-flow-state/providers.mjs +12 -0
  128. package/esm2022/domain/f-flow/index.mjs +2 -2
  129. package/esm2022/domain/f-flow/providers.mjs +2 -2
  130. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +1 -1
  131. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +2 -2
  132. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.mjs +2 -2
  133. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.mjs +2 -2
  134. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.mjs +1 -1
  135. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.mjs +2 -2
  136. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.mjs +2 -2
  137. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +1 -1
  138. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +1 -1
  139. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +2 -2
  140. package/esm2022/domain/f-selection/calculate-selectable-items/calculate-selectable-items-request.mjs +4 -0
  141. package/esm2022/domain/f-selection/calculate-selectable-items/calculate-selectable-items.mjs +70 -0
  142. package/esm2022/domain/f-selection/calculate-selectable-items/i-can-be-selected-element-and-rect.mjs +2 -0
  143. package/esm2022/domain/f-selection/calculate-selectable-items/index.mjs +4 -0
  144. package/esm2022/domain/f-selection/clear-selection/clear-selection.request.mjs +1 -1
  145. package/esm2022/domain/f-selection/index.mjs +2 -2
  146. package/esm2022/domain/f-selection/providers.mjs +3 -3
  147. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.mjs +4 -4
  148. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.mjs +28 -0
  149. package/esm2022/domain/f-zoom/add-zoom-to-store/index.mjs +2 -2
  150. package/esm2022/domain/f-zoom/providers.mjs +6 -11
  151. package/esm2022/domain/f-zoom/remove-zoom-from-store/index.mjs +2 -2
  152. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.mjs +28 -0
  153. package/esm2022/domain/f-zoom/reset-zoom/index.mjs +2 -2
  154. package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.mjs +30 -0
  155. package/esm2022/domain/f-zoom/set-zoom/index.mjs +2 -2
  156. package/esm2022/domain/f-zoom/set-zoom/set-zoom.mjs +54 -0
  157. package/esm2022/domain/index.mjs +1 -2
  158. package/esm2022/drag-toolkit/pointer-events/i-pointer-event.mjs +15 -10
  159. package/esm2022/f-canvas/domain/{f-canvas-change.event.mjs → f-canvas-change-event.mjs} +1 -1
  160. package/esm2022/f-canvas/domain/index.mjs +2 -2
  161. package/esm2022/f-canvas/f-canvas-base.mjs +7 -5
  162. package/esm2022/f-canvas/f-canvas.component.mjs +26 -36
  163. package/esm2022/f-connection/f-connection/f-connection.component.mjs +10 -24
  164. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +13 -18
  165. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +9 -15
  166. package/esm2022/f-connection/index.mjs +2 -7
  167. package/esm2022/f-connection/providers.mjs +9 -13
  168. package/esm2022/f-connection-v2/components/connection-content/f-connection-content.mjs +76 -0
  169. package/esm2022/f-connection-v2/components/connection-content/index.mjs +4 -0
  170. package/esm2022/f-connection-v2/components/connection-content/models/f-connection-content-base.mjs +10 -0
  171. package/esm2022/f-connection-v2/components/connection-content/models/index.mjs +2 -0
  172. package/esm2022/f-connection-v2/components/connection-content/utils/i-polyline-content.mjs +2 -0
  173. package/esm2022/f-connection-v2/components/connection-content/utils/index.mjs +6 -0
  174. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-content-align.mjs +6 -0
  175. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-content-layout-engine.mjs +25 -0
  176. package/esm2022/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-place.mjs +2 -2
  177. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/i-sampler-result.mjs +2 -0
  178. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/i-tangent.mjs +2 -0
  179. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/index.mjs +5 -0
  180. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/polyline-sampler.mjs +143 -0
  181. package/esm2022/f-connection-v2/components/connection-content/utils/polyline-sampler/polyline.mjs +71 -0
  182. package/esm2022/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end.mjs +35 -0
  183. package/esm2022/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start.mjs +35 -0
  184. package/esm2022/f-connection-v2/components/connection-drag-handles/index.mjs +4 -0
  185. package/esm2022/f-connection-v2/components/connection-drag-handles/models/f-connection-drag-handle-base.mjs +17 -0
  186. package/esm2022/f-connection-v2/components/connection-drag-handles/models/index.mjs +2 -0
  187. package/esm2022/f-connection-v2/components/connection-gradient/f-connection-gradient.mjs +54 -0
  188. package/esm2022/f-connection-v2/components/connection-gradient/index.mjs +3 -0
  189. package/esm2022/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.mjs +6 -0
  190. package/esm2022/f-connection-v2/components/connection-gradient/models/index.mjs +2 -0
  191. package/esm2022/f-connection-v2/components/connection-marker/enums/e-f-marker-type.mjs +8 -0
  192. package/esm2022/f-connection-v2/components/connection-marker/enums/index.mjs +2 -0
  193. package/esm2022/f-connection-v2/components/connection-marker/f-connection-marker.mjs +50 -0
  194. package/esm2022/f-connection-v2/components/connection-marker/index.mjs +4 -0
  195. package/esm2022/f-connection-v2/components/connection-marker/models/f-connection-marker-base.mjs +6 -0
  196. package/esm2022/f-connection-v2/components/connection-marker/models/index.mjs +2 -0
  197. package/esm2022/f-connection-v2/components/connection-path/f-connection-path.mjs +66 -0
  198. package/esm2022/f-connection-v2/components/connection-path/index.mjs +3 -0
  199. package/esm2022/f-connection-v2/components/connection-path/models/f-connection-path-base.mjs +6 -0
  200. package/esm2022/f-connection-v2/components/connection-path/models/index.mjs +2 -0
  201. package/esm2022/f-connection-v2/components/connection-selection/f-connection-selection.mjs +34 -0
  202. package/esm2022/f-connection-v2/components/connection-selection/index.mjs +3 -0
  203. package/esm2022/f-connection-v2/components/connection-selection/models/f-connection-selection-base.mjs +6 -0
  204. package/esm2022/f-connection-v2/components/connection-selection/models/index.mjs +2 -0
  205. package/esm2022/f-connection-v2/components/connection-waypoints/f-connection-waypoints.mjs +50 -0
  206. package/esm2022/f-connection-v2/components/connection-waypoints/index.mjs +4 -0
  207. package/esm2022/f-connection-v2/components/connection-waypoints/models/f-connection-waypoints-base.mjs +27 -0
  208. package/esm2022/f-connection-v2/components/connection-waypoints/models/index.mjs +2 -0
  209. package/esm2022/f-connection-v2/components/connection-waypoints/utils/find-existing-waypoint.mjs +7 -0
  210. package/esm2022/f-connection-v2/components/connection-waypoints/utils/find-waypoint-candidate.mjs +7 -0
  211. package/esm2022/f-connection-v2/components/connection-waypoints/utils/index.mjs +5 -0
  212. package/esm2022/f-connection-v2/components/connection-waypoints/utils/is-pointer-inside-point.mjs +4 -0
  213. package/esm2022/f-connection-v2/components/connection-waypoints/utils/pick-waypoint.mjs +16 -0
  214. package/esm2022/f-connection-v2/components/f-connection-base.mjs +112 -0
  215. package/esm2022/f-connection-v2/components/index.mjs +9 -0
  216. package/esm2022/f-connection-v2/enums/e-f-connectable-side.mjs +12 -0
  217. package/esm2022/f-connection-v2/enums/e-f-connection-type.mjs +8 -0
  218. package/esm2022/f-connection-v2/enums/index.mjs +3 -0
  219. package/esm2022/f-connection-v2/index.mjs +5 -0
  220. package/esm2022/f-connection-v2/models/f-connection-components-parent.mjs +5 -0
  221. package/esm2022/f-connection-v2/models/f-connection-waypoints-changed-event.mjs +9 -0
  222. package/esm2022/f-connection-v2/models/index.mjs +3 -0
  223. package/esm2022/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder-request.mjs +15 -0
  224. package/esm2022/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder.mjs +136 -0
  225. package/esm2022/f-connection-v2/utils/connection-behaviour/enums/e-f-connection-behavior.mjs +7 -0
  226. package/esm2022/f-connection-v2/utils/connection-behaviour/enums/e-f-connection-connectable-side.mjs +12 -0
  227. package/esm2022/f-connection-v2/utils/connection-behaviour/enums/index.mjs +3 -0
  228. package/esm2022/f-connection-v2/utils/connection-behaviour/index.mjs +6 -0
  229. package/esm2022/f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.mjs +2 -0
  230. package/esm2022/f-connection-v2/utils/connection-behaviour/models/index.mjs +2 -0
  231. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/fixed-center-behavior.mjs +12 -0
  232. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/fixed-outbound-behavior.mjs +31 -0
  233. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/floating-behavior.mjs +22 -0
  234. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/index.mjs +4 -0
  235. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/calculate-adaptive-curve-data.mjs +74 -0
  236. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/index.mjs +2 -0
  237. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/calculate-bezier-curve-data.mjs +49 -0
  238. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/index.mjs +2 -0
  239. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/index.mjs +6 -0
  240. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/build-corner-mid-points-and-apply-offsets.mjs +50 -0
  241. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/calculate-segment-line-data.mjs +106 -0
  242. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/create-segment-line-path.mjs +46 -0
  243. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/segment-line/index.mjs +4 -0
  244. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/straight-line/calculate-straight-line-data.mjs +28 -0
  245. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/straight-line/index.mjs +2 -0
  246. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/build-connection-anchors.mjs +4 -0
  247. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-center-between-points.mjs +8 -0
  248. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-curve-candidates.mjs +7 -0
  249. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-polyline-candidates.mjs +39 -0
  250. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/index.mjs +9 -0
  251. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/merge-point-chains.mjs +12 -0
  252. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/multi-cubic.mjs +28 -0
  253. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/normalize-polyline.mjs +30 -0
  254. package/esm2022/f-connection-v2/utils/connection-line-builder/builders/utils/sample-cubic-bezier-uniform.mjs +37 -0
  255. package/esm2022/f-connection-v2/utils/connection-line-builder/connection-line-builder-request.mjs +9 -0
  256. package/esm2022/f-connection-v2/utils/connection-line-builder/connection-line-builder.mjs +50 -0
  257. package/esm2022/f-connection-v2/utils/connection-line-builder/index.mjs +6 -0
  258. package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder-request.mjs +2 -0
  259. package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder-response.mjs +2 -0
  260. package/esm2022/f-connection-v2/utils/connection-line-builder/models/i-f-connection-builder.mjs +2 -0
  261. package/esm2022/f-connection-v2/utils/connection-line-builder/models/index.mjs +4 -0
  262. package/esm2022/f-connection-v2/utils/connection-line-builder/providers/f-connection-builders.mjs +3 -0
  263. package/esm2022/f-connection-v2/utils/connection-line-builder/providers/index.mjs +2 -0
  264. package/esm2022/f-connection-v2/utils/create-connection-dom-identifier.mjs +5 -0
  265. package/esm2022/f-connection-v2/utils/create-connection-selection-dom-identifier.mjs +5 -0
  266. package/esm2022/f-connection-v2/utils/create-gradient-dom-identifier.mjs +5 -0
  267. package/esm2022/f-connection-v2/utils/create-gradient-dom-url.mjs +5 -0
  268. package/esm2022/f-connection-v2/utils/index.mjs +7 -0
  269. package/esm2022/f-connectors/f-connector-base.mjs +2 -2
  270. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +2 -2
  271. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +2 -2
  272. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +2 -2
  273. package/esm2022/f-connectors/f-source-connector-base.mjs +8 -1
  274. package/esm2022/f-connectors/index.mjs +1 -2
  275. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +1 -1
  276. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.mjs +1 -8
  277. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +8 -6
  278. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +6 -3
  279. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +8 -5
  280. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +8 -5
  281. package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.mjs +1 -1
  282. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +22 -27
  283. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +8 -7
  284. package/esm2022/f-draggable/f-connection/index.mjs +2 -1
  285. package/esm2022/f-draggable/f-connection/move-connection-waypoint/index.mjs +4 -0
  286. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/index.mjs +3 -0
  287. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize-request.mjs +8 -0
  288. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize.mjs +32 -0
  289. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-handler.mjs +49 -0
  290. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/index.mjs +3 -0
  291. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation-request.mjs +10 -0
  292. package/esm2022/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation.mjs +65 -0
  293. package/esm2022/f-draggable/f-connection/providers.mjs +5 -2
  294. package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +1 -1
  295. package/esm2022/f-draggable/f-draggable-base.mjs +2 -2
  296. package/esm2022/f-draggable/f-draggable.directive.mjs +20 -9
  297. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +6 -3
  298. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.mjs +1 -1
  299. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.mjs +1 -1
  300. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.mjs +1 -1
  301. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.mjs +1 -1
  302. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.mjs +1 -1
  303. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.mjs +1 -1
  304. package/esm2022/f-draggable/f-node-move/move-drag-handler.mjs +7 -5
  305. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +19 -14
  306. package/esm2022/f-draggable/f-node-move/move-preparation/index.mjs +3 -3
  307. package/esm2022/f-draggable/f-node-move/move-preparation/move-node-preparation-request.mjs +10 -0
  308. package/esm2022/f-draggable/f-node-move/move-preparation/move-node-preparation.mjs +81 -0
  309. package/esm2022/f-draggable/f-node-move/move-summary-drag-handler.mjs +1 -1
  310. package/esm2022/f-draggable/f-node-move/providers.mjs +3 -3
  311. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +1 -1
  312. package/esm2022/f-draggable/index.mjs +3 -2
  313. package/esm2022/f-draggable/pinch-to-zoom/constants/constants.mjs +6 -0
  314. package/esm2022/f-draggable/pinch-to-zoom/constants/index.mjs +2 -0
  315. package/esm2022/f-draggable/pinch-to-zoom/finalize/index.mjs +3 -0
  316. package/esm2022/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize-request.mjs +8 -0
  317. package/esm2022/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize.mjs +31 -0
  318. package/esm2022/f-draggable/pinch-to-zoom/index.mjs +7 -0
  319. package/esm2022/f-draggable/pinch-to-zoom/pinch-to-zoom-handler.mjs +68 -0
  320. package/esm2022/f-draggable/pinch-to-zoom/preparation/index.mjs +3 -0
  321. package/esm2022/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation-request.mjs +8 -0
  322. package/esm2022/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation.mjs +42 -0
  323. package/esm2022/f-draggable/pinch-to-zoom/providers.mjs +4 -0
  324. package/esm2022/f-draggable/pinch-to-zoom/utils/calculate-touch-center.mjs +10 -0
  325. package/esm2022/f-draggable/pinch-to-zoom/utils/calculate-touch-distance.mjs +9 -0
  326. package/esm2022/f-draggable/pinch-to-zoom/utils/index.mjs +3 -0
  327. package/esm2022/f-draggable/providers.mjs +4 -2
  328. package/esm2022/f-draggable/single-select/index.mjs +4 -0
  329. package/esm2022/f-draggable/single-select/providers.mjs +3 -0
  330. package/esm2022/f-draggable/single-select/single-select-request.mjs +10 -0
  331. package/esm2022/f-draggable/single-select/single-select.mjs +139 -0
  332. package/esm2022/f-flow/f-flow.component.mjs +39 -26
  333. package/esm2022/f-flow.module.mjs +38 -37
  334. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +1 -1
  335. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +10 -17
  336. package/esm2022/f-minimap/f-minimap.component.mjs +8 -9
  337. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +21 -19
  338. package/esm2022/f-storage/f-components-store.mjs +1 -1
  339. package/esm2022/f-storage/features/listen-components-data-changed/index.mjs +2 -2
  340. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes-request.mjs +1 -1
  341. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.mjs +23 -0
  342. package/esm2022/f-storage/features/listen-count-changes/index.mjs +2 -2
  343. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes-request.mjs +1 -1
  344. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.mjs +23 -0
  345. package/esm2022/f-storage/features/listen-transform-changes/index.mjs +3 -3
  346. package/esm2022/f-storage/features/listen-transform-changes/{listen-transform-changes.request.mjs → listen-transform-changes-request.mjs} +1 -1
  347. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.mjs +23 -0
  348. package/esm2022/f-storage/features/notify-data-changed/index.mjs +2 -2
  349. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed-request.mjs +1 -1
  350. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.mjs +22 -0
  351. package/esm2022/f-storage/features/notify-transform-changed/index.mjs +3 -3
  352. package/esm2022/f-storage/features/notify-transform-changed/{notify-transform-changed.request.mjs → notify-transform-changed-request.mjs} +1 -1
  353. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.mjs +22 -0
  354. package/esm2022/f-storage/index.mjs +1 -2
  355. package/esm2022/f-storage/providers.mjs +11 -11
  356. package/esm2022/f-zoom/f-zoom.directive.mjs +3 -13
  357. package/esm2022/public-api.mjs +2 -1
  358. package/esm2022/reactivity/debounce-time.mjs +16 -5
  359. package/esm2022/reactivity/f-channel-hub.mjs +33 -9
  360. package/esm2022/reactivity/index.mjs +2 -1
  361. package/esm2022/reactivity/notify-on-start.mjs +12 -4
  362. package/esm2022/reactivity/take-one.mjs +17 -0
  363. package/esm2022/reactivity/types.mjs +1 -1
  364. package/esm2022/utils/calculate-pointer-in-flow.mjs +9 -0
  365. package/esm2022/utils/index.mjs +2 -1
  366. package/f-canvas/domain/index.d.ts +1 -1
  367. package/f-canvas/f-canvas-base.d.ts +2 -2
  368. package/f-canvas/f-canvas.component.d.ts +2 -9
  369. package/f-connection/f-connection/f-connection.component.d.ts +2 -7
  370. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -6
  371. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +2 -6
  372. package/f-connection/index.d.ts +1 -6
  373. package/f-connection/providers.d.ts +3 -4
  374. package/{f-connection/f-connection-content → f-connection-v2/components/connection-content}/f-connection-content.d.ts +3 -30
  375. package/f-connection-v2/components/connection-content/index.d.ts +3 -0
  376. package/f-connection-v2/components/connection-content/models/f-connection-content-base.d.ts +36 -0
  377. package/f-connection-v2/components/connection-content/models/index.d.ts +1 -0
  378. package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-layout-engine.d.ts +1 -9
  379. package/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end.d.ts +8 -0
  380. package/f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start.d.ts +8 -0
  381. package/f-connection-v2/components/connection-drag-handles/index.d.ts +3 -0
  382. package/f-connection-v2/components/connection-drag-handles/models/f-connection-drag-handle-base.d.ts +11 -0
  383. package/f-connection-v2/components/connection-drag-handles/models/index.d.ts +1 -0
  384. package/{f-connection/common/f-gradient/f-connection-gradient.component.d.ts → f-connection-v2/components/connection-gradient/f-connection-gradient.d.ts} +5 -6
  385. package/f-connection-v2/components/connection-gradient/index.d.ts +2 -0
  386. package/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.d.ts +8 -0
  387. package/f-connection-v2/components/connection-gradient/models/index.d.ts +1 -0
  388. package/f-connection-v2/components/connection-marker/enums/index.d.ts +1 -0
  389. package/f-connection-v2/components/connection-marker/f-connection-marker.d.ts +17 -0
  390. package/f-connection-v2/components/connection-marker/index.d.ts +3 -0
  391. package/{f-connection/f-marker/f-marker-base.d.ts → f-connection-v2/components/connection-marker/models/f-connection-marker-base.d.ts} +3 -4
  392. package/f-connection-v2/components/connection-marker/models/index.d.ts +1 -0
  393. package/f-connection-v2/components/connection-path/f-connection-path.d.ts +14 -0
  394. package/f-connection-v2/components/connection-path/index.d.ts +2 -0
  395. package/f-connection-v2/components/connection-path/models/f-connection-path-base.d.ts +9 -0
  396. package/f-connection-v2/components/connection-path/models/index.d.ts +1 -0
  397. package/f-connection-v2/components/connection-selection/f-connection-selection.d.ts +9 -0
  398. package/f-connection-v2/components/connection-selection/index.d.ts +2 -0
  399. package/f-connection-v2/components/connection-selection/models/f-connection-selection-base.d.ts +6 -0
  400. package/f-connection-v2/components/connection-selection/models/index.d.ts +1 -0
  401. package/f-connection-v2/components/connection-waypoints/f-connection-waypoints.d.ts +19 -0
  402. package/f-connection-v2/components/connection-waypoints/index.d.ts +3 -0
  403. package/f-connection-v2/components/connection-waypoints/models/f-connection-waypoints-base.d.ts +16 -0
  404. package/f-connection-v2/components/connection-waypoints/models/index.d.ts +1 -0
  405. package/f-connection-v2/components/connection-waypoints/utils/find-existing-waypoint.d.ts +6 -0
  406. package/f-connection-v2/components/connection-waypoints/utils/find-waypoint-candidate.d.ts +6 -0
  407. package/f-connection-v2/components/connection-waypoints/utils/index.d.ts +4 -0
  408. package/f-connection-v2/components/connection-waypoints/utils/is-pointer-inside-point.d.ts +2 -0
  409. package/f-connection-v2/components/connection-waypoints/utils/pick-waypoint.d.ts +17 -0
  410. package/{f-connection/common → f-connection-v2/components}/f-connection-base.d.ts +14 -31
  411. package/f-connection-v2/components/index.d.ts +8 -0
  412. package/f-connection-v2/enums/index.d.ts +2 -0
  413. package/f-connection-v2/index.d.ts +4 -0
  414. package/f-connection-v2/models/f-connection-components-parent.d.ts +15 -0
  415. package/f-connection-v2/models/f-connection-waypoints-changed-event.d.ts +6 -0
  416. package/f-connection-v2/models/index.d.ts +2 -0
  417. package/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder-request.d.ts +11 -0
  418. package/{domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.d.ts → f-connection-v2/utils/connection-behaviour/connection-behaviour-builder.d.ts} +5 -6
  419. package/f-connection-v2/utils/connection-behaviour/enums/index.d.ts +2 -0
  420. package/f-connection-v2/utils/connection-behaviour/index.d.ts +5 -0
  421. package/{domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.d.ts → f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.d.ts} +2 -2
  422. package/f-connection-v2/utils/connection-behaviour/models/index.d.ts +1 -0
  423. package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/fixed-center-behavior.d.ts +2 -2
  424. package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/fixed-outbound-behavior.d.ts +2 -2
  425. package/{domain/f-connection/calculate-connection-line-by-behavior → f-connection-v2/utils/connection-behaviour}/utils/floating-behavior.d.ts +2 -2
  426. package/f-connection-v2/utils/connection-behaviour/utils/index.d.ts +3 -0
  427. package/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/calculate-adaptive-curve-data.d.ts +8 -0
  428. package/f-connection-v2/utils/connection-line-builder/builders/adaptive-curve/index.d.ts +1 -0
  429. package/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/calculate-bezier-curve-data.d.ts +4 -0
  430. package/f-connection-v2/utils/connection-line-builder/builders/bezier-curve/index.d.ts +1 -0
  431. package/f-connection-v2/utils/connection-line-builder/builders/index.d.ts +5 -0
  432. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/build-corner-mid-points-and-apply-offsets.d.ts +17 -0
  433. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/calculate-segment-line-data.d.ts +6 -0
  434. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/create-segment-line-path.d.ts +2 -0
  435. package/f-connection-v2/utils/connection-line-builder/builders/segment-line/index.d.ts +3 -0
  436. package/{f-connection/common/domain/f-straight.path-builder.d.ts → f-connection-v2/utils/connection-line-builder/builders/straight-line/calculate-straight-line-data.d.ts} +2 -2
  437. package/f-connection-v2/utils/connection-line-builder/builders/straight-line/index.d.ts +1 -0
  438. package/f-connection-v2/utils/connection-line-builder/builders/utils/build-connection-anchors.d.ts +2 -0
  439. package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-center-between-points.d.ts +2 -0
  440. package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-curve-candidates.d.ts +3 -0
  441. package/f-connection-v2/utils/connection-line-builder/builders/utils/calculate-polyline-candidates.d.ts +2 -0
  442. package/f-connection-v2/utils/connection-line-builder/builders/utils/index.d.ts +8 -0
  443. package/f-connection-v2/utils/connection-line-builder/builders/utils/merge-point-chains.d.ts +2 -0
  444. package/f-connection-v2/utils/connection-line-builder/builders/utils/multi-cubic.d.ts +10 -0
  445. package/f-connection-v2/utils/connection-line-builder/builders/utils/normalize-polyline.d.ts +2 -0
  446. package/f-connection-v2/utils/connection-line-builder/builders/utils/sample-cubic-bezier-uniform.d.ts +24 -0
  447. package/f-connection-v2/utils/connection-line-builder/connection-line-builder-request.d.ts +7 -0
  448. package/f-connection-v2/utils/connection-line-builder/connection-line-builder.d.ts +13 -0
  449. package/f-connection-v2/utils/connection-line-builder/index.d.ts +5 -0
  450. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder-request.d.ts +2 -1
  451. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder-response.d.ts +2 -2
  452. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/i-f-connection-builder.d.ts +1 -2
  453. package/{f-connection/f-connection-builder → f-connection-v2/utils/connection-line-builder/models}/index.d.ts +1 -4
  454. package/f-connection-v2/utils/connection-line-builder/providers/f-connection-builders.d.ts +4 -0
  455. package/f-connection-v2/utils/connection-line-builder/providers/index.d.ts +1 -0
  456. package/f-connection-v2/utils/create-connection-dom-identifier.d.ts +1 -0
  457. package/f-connection-v2/utils/create-connection-selection-dom-identifier.d.ts +1 -0
  458. package/f-connection-v2/utils/create-gradient-dom-identifier.d.ts +1 -0
  459. package/f-connection-v2/utils/create-gradient-dom-url.d.ts +1 -0
  460. package/f-connection-v2/utils/index.d.ts +6 -0
  461. package/f-connectors/f-connector-base.d.ts +1 -1
  462. package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -1
  463. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -1
  464. package/f-connectors/f-node-output/f-node-output.directive.d.ts +1 -1
  465. package/f-connectors/f-source-connector-base.d.ts +3 -0
  466. package/f-connectors/index.d.ts +0 -1
  467. package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +1 -0
  468. package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts +2 -1
  469. package/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.d.ts +4 -2
  470. package/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.d.ts +4 -2
  471. package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.d.ts +1 -1
  472. package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +6 -7
  473. package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.d.ts +2 -2
  474. package/f-draggable/f-connection/index.d.ts +1 -0
  475. package/f-draggable/f-connection/move-connection-waypoint/index.d.ts +3 -0
  476. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/index.d.ts +2 -0
  477. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize-request.d.ts +6 -0
  478. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-finalize/move-connection-waypoint-finalize.d.ts +11 -0
  479. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-handler.d.ts +20 -0
  480. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/index.d.ts +2 -0
  481. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation-request.d.ts +8 -0
  482. package/f-draggable/f-connection/move-connection-waypoint/move-connection-waypoint-preparation/move-connection-waypoint-preparation.d.ts +19 -0
  483. package/f-draggable/f-connection/providers.d.ts +3 -2
  484. package/f-draggable/f-drag-handler/i-f-drag-handler.d.ts +2 -1
  485. package/f-draggable/f-draggable-base.d.ts +3 -1
  486. package/f-draggable/f-draggable.directive.d.ts +5 -1
  487. package/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.d.ts +2 -1
  488. package/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.d.ts +1 -1
  489. package/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.d.ts +1 -1
  490. package/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.d.ts +1 -1
  491. package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.d.ts +1 -1
  492. package/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.d.ts +1 -1
  493. package/f-draggable/f-node-move/move-drag-handler.d.ts +2 -2
  494. package/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.d.ts +1 -1
  495. package/f-draggable/f-node-move/move-preparation/index.d.ts +2 -2
  496. package/f-draggable/f-node-move/move-preparation/{f-node-move-preparation.request.d.ts → move-node-preparation-request.d.ts} +3 -3
  497. package/f-draggable/f-node-move/move-preparation/move-node-preparation.d.ts +17 -0
  498. package/f-draggable/f-node-move/move-summary-drag-handler.d.ts +3 -3
  499. package/f-draggable/f-node-move/providers.d.ts +2 -2
  500. package/f-draggable/index.d.ts +2 -1
  501. package/f-draggable/pinch-to-zoom/constants/constants.d.ts +5 -0
  502. package/f-draggable/pinch-to-zoom/constants/index.d.ts +1 -0
  503. package/f-draggable/pinch-to-zoom/finalize/index.d.ts +2 -0
  504. package/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize-request.d.ts +6 -0
  505. package/f-draggable/pinch-to-zoom/finalize/pinch-to-zoom-finalize.d.ts +11 -0
  506. package/f-draggable/pinch-to-zoom/index.d.ts +6 -0
  507. package/f-draggable/pinch-to-zoom/pinch-to-zoom-handler.d.ts +21 -0
  508. package/f-draggable/pinch-to-zoom/preparation/index.d.ts +2 -0
  509. package/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation-request.d.ts +6 -0
  510. package/f-draggable/pinch-to-zoom/preparation/pinch-to-zoom-preparation.d.ts +13 -0
  511. package/f-draggable/pinch-to-zoom/providers.d.ts +3 -0
  512. package/f-draggable/pinch-to-zoom/utils/calculate-touch-center.d.ts +2 -0
  513. package/f-draggable/pinch-to-zoom/utils/calculate-touch-distance.d.ts +1 -0
  514. package/f-draggable/pinch-to-zoom/utils/index.d.ts +2 -0
  515. package/f-draggable/providers.d.ts +1 -1
  516. package/f-draggable/single-select/index.d.ts +3 -0
  517. package/f-draggable/single-select/providers.d.ts +2 -0
  518. package/f-draggable/single-select/single-select-request.d.ts +8 -0
  519. package/f-draggable/{f-single-select/f-single-select.execution.d.ts → single-select/single-select.d.ts} +7 -6
  520. package/f-flow/f-flow.component.d.ts +1 -1
  521. package/f-flow.module.d.ts +36 -37
  522. package/f-line-alignment/f-line-alignment-base.d.ts +3 -4
  523. package/f-line-alignment/f-line-alignment.component.d.ts +3 -4
  524. package/f-minimap/f-minimap.component.d.ts +2 -2
  525. package/f-selection-area/domain/selection-area.drag-handle.d.ts +6 -5
  526. package/f-storage/f-components-store.d.ts +3 -4
  527. package/f-storage/features/listen-components-data-changed/index.d.ts +1 -1
  528. package/f-storage/features/listen-components-data-changed/{listen-data-changes.execution.d.ts → listen-data-changes.d.ts} +3 -3
  529. package/f-storage/features/listen-count-changes/index.d.ts +1 -1
  530. package/f-storage/features/listen-count-changes/{listen-count-changes.execution.d.ts → listen-count-changes.d.ts} +3 -3
  531. package/f-storage/features/listen-transform-changes/index.d.ts +2 -2
  532. package/f-storage/features/listen-transform-changes/{listen-transform-changes.execution.d.ts → listen-transform-changes.d.ts} +4 -4
  533. package/f-storage/features/notify-data-changed/index.d.ts +1 -1
  534. package/f-storage/features/notify-data-changed/{notify-data-changed.execution.d.ts → notify-data-changed.d.ts} +3 -3
  535. package/f-storage/features/notify-transform-changed/index.d.ts +2 -2
  536. package/f-storage/features/notify-transform-changed/{notify-transform-changed.execution.d.ts → notify-transform-changed.d.ts} +4 -4
  537. package/f-storage/index.d.ts +0 -1
  538. package/f-storage/providers.d.ts +6 -6
  539. package/f-zoom/f-zoom.directive.d.ts +0 -4
  540. package/fesm2022/foblex-flow.mjs +4296 -3863
  541. package/fesm2022/foblex-flow.mjs.map +1 -1
  542. package/package.json +1 -1
  543. package/public-api.d.ts +1 -0
  544. package/reactivity/index.d.ts +1 -0
  545. package/reactivity/take-one.d.ts +2 -0
  546. package/reactivity/types.d.ts +6 -1
  547. package/utils/calculate-pointer-in-flow.d.ts +4 -0
  548. package/utils/index.d.ts +1 -0
  549. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.d.ts +0 -12
  550. package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +0 -6
  551. package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.d.ts +0 -3
  552. package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +0 -14
  553. package/domain/f-flow/get-flow-state/get-flow-state-connections/index.d.ts +0 -2
  554. package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.d.ts +0 -6
  555. package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +0 -15
  556. package/domain/f-flow/get-flow-state/get-flow-state-nodes/index.d.ts +0 -2
  557. package/domain/f-flow/get-flow-state/get-flow-state.execution.d.ts +0 -15
  558. package/domain/f-flow/get-flow-state/get-flow-state.request.d.ts +0 -3
  559. package/domain/f-flow/get-flow-state/i-f-flow-state-connection.d.ts +0 -9
  560. package/domain/f-flow/get-flow-state/providers.d.ts +0 -7
  561. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items-request.d.ts +0 -3
  562. package/domain/f-selection/get-can-be-selected-items/index.d.ts +0 -3
  563. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.d.ts +0 -12
  564. package/domain/f-zoom/reset-zoom/reset-zoom.execution.d.ts +0 -13
  565. package/domain/i-map.d.ts +0 -1
  566. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.execution.mjs +0 -25
  567. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.execution.mjs +0 -25
  568. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.mjs +0 -26
  569. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.execution.mjs +0 -25
  570. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.mjs +0 -16
  571. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.mjs +0 -145
  572. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +0 -7
  573. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.mjs +0 -2
  574. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-center-behavior.mjs +0 -12
  575. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-outbound-behavior.mjs +0 -31
  576. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/floating-behavior.mjs +0 -22
  577. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +0 -65
  578. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.execution.mjs +0 -25
  579. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.mjs +0 -33
  580. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.execution.mjs +0 -25
  581. package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.execution.mjs +0 -25
  582. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +0 -4
  583. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +0 -35
  584. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/index.mjs +0 -3
  585. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +0 -8
  586. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +0 -58
  587. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/index.mjs +0 -3
  588. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +0 -39
  589. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.request.mjs +0 -4
  590. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connection.mjs +0 -2
  591. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connector.mjs +0 -2
  592. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-node.mjs +0 -2
  593. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state.mjs +0 -2
  594. package/esm2022/domain/f-flow/get-flow-state/index.mjs +0 -10
  595. package/esm2022/domain/f-flow/get-flow-state/providers.mjs +0 -12
  596. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items-request.mjs +0 -4
  597. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -66
  598. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +0 -2
  599. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +0 -4
  600. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +0 -28
  601. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.mjs +0 -28
  602. package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.execution.mjs +0 -30
  603. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +0 -54
  604. package/esm2022/domain/i-map.mjs +0 -2
  605. package/esm2022/f-connection/common/domain/adaptive-curve-builder.mjs +0 -201
  606. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +0 -10
  607. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs +0 -12
  608. package/esm2022/f-connection/common/domain/calculate-center-between-points/index.mjs +0 -3
  609. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +0 -8
  610. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +0 -35
  611. package/esm2022/f-connection/common/domain/calculate-connection-center/index.mjs +0 -3
  612. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +0 -58
  613. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +0 -161
  614. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +0 -16
  615. package/esm2022/f-connection/common/domain/index.mjs +0 -7
  616. package/esm2022/f-connection/common/e-f-connection-behavior.mjs +0 -7
  617. package/esm2022/f-connection/common/e-f-connection-connectable-side.mjs +0 -12
  618. package/esm2022/f-connection/common/e-f-connection-type.mjs +0 -8
  619. package/esm2022/f-connection/common/f-connection-base.mjs +0 -121
  620. package/esm2022/f-connection/common/f-connection-identifiers.mjs +0 -22
  621. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +0 -65
  622. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +0 -57
  623. package/esm2022/f-connection/common/f-connection-text/i-connection-text.mjs +0 -3
  624. package/esm2022/f-connection/common/f-connection-text/index.mjs +0 -4
  625. package/esm2022/f-connection/common/f-connection.injection-token.mjs +0 -3
  626. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.mjs +0 -37
  627. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.mjs +0 -37
  628. package/esm2022/f-connection/common/f-drag-handle/index.mjs +0 -3
  629. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +0 -55
  630. package/esm2022/f-connection/common/f-gradient/i-connection-gradient.mjs +0 -3
  631. package/esm2022/f-connection/common/f-gradient/index.mjs +0 -3
  632. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +0 -45
  633. package/esm2022/f-connection/common/f-path/get-path-marker-id.mjs +0 -14
  634. package/esm2022/f-connection/common/f-path/i-connection-path.mjs +0 -3
  635. package/esm2022/f-connection/common/f-path/index.mjs +0 -4
  636. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +0 -24
  637. package/esm2022/f-connection/common/f-selection/index.mjs +0 -2
  638. package/esm2022/f-connection/common/i-has-connection-color.mjs +0 -2
  639. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +0 -2
  640. package/esm2022/f-connection/common/i-has-connection-text.mjs +0 -2
  641. package/esm2022/f-connection/common/index.mjs +0 -15
  642. package/esm2022/f-connection/f-connection-builder/f-connection-builders.mjs +0 -3
  643. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +0 -26
  644. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-request.mjs +0 -2
  645. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +0 -2
  646. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder.mjs +0 -2
  647. package/esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs +0 -2
  648. package/esm2022/f-connection/f-connection-builder/index.mjs +0 -7
  649. package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +0 -30
  650. package/esm2022/f-connection/f-connection-center/index.mjs +0 -2
  651. package/esm2022/f-connection/f-connection-content/f-connection-content.mjs +0 -102
  652. package/esm2022/f-connection/f-connection-content/index.mjs +0 -3
  653. package/esm2022/f-connection/f-connection-content/polyline-content-engine/i-polyline-content.mjs +0 -2
  654. package/esm2022/f-connection/f-connection-content/polyline-content-engine/index.mjs +0 -6
  655. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-align.mjs +0 -6
  656. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.mjs +0 -28
  657. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-sampler-result.mjs +0 -2
  658. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-tangent.mjs +0 -2
  659. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/index.mjs +0 -5
  660. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline-sampler.mjs +0 -143
  661. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline.mjs +0 -68
  662. package/esm2022/f-connection/f-marker/e-f-marker-type.mjs +0 -8
  663. package/esm2022/f-connection/f-marker/f-marker-base.mjs +0 -5
  664. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +0 -51
  665. package/esm2022/f-connection/f-marker/index.mjs +0 -4
  666. package/esm2022/f-connectors/e-f-connectable-side.mjs +0 -12
  667. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +0 -82
  668. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +0 -10
  669. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +0 -138
  670. package/esm2022/f-draggable/f-single-select/f-single-select.request.mjs +0 -10
  671. package/esm2022/f-draggable/f-single-select/index.mjs +0 -4
  672. package/esm2022/f-draggable/f-single-select/providers.mjs +0 -5
  673. package/esm2022/f-storage/f-connectors-store.mjs +0 -11
  674. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +0 -23
  675. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +0 -23
  676. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +0 -23
  677. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +0 -22
  678. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +0 -22
  679. package/f-connection/common/domain/adaptive-curve-builder.d.ts +0 -102
  680. package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.d.ts +0 -7
  681. package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.d.ts +0 -6
  682. package/f-connection/common/domain/calculate-center-between-points/index.d.ts +0 -2
  683. package/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.d.ts +0 -6
  684. package/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.d.ts +0 -8
  685. package/f-connection/common/domain/calculate-connection-center/index.d.ts +0 -2
  686. package/f-connection/common/domain/f-bezier.path-builder.d.ts +0 -6
  687. package/f-connection/common/domain/f-segment.path-builder.d.ts +0 -11
  688. package/f-connection/common/domain/index.d.ts +0 -6
  689. package/f-connection/common/f-connection-identifiers.d.ts +0 -8
  690. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +0 -18
  691. package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +0 -16
  692. package/f-connection/common/f-connection-text/i-connection-text.d.ts +0 -7
  693. package/f-connection/common/f-connection-text/index.d.ts +0 -3
  694. package/f-connection/common/f-connection.injection-token.d.ts +0 -2
  695. package/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.d.ts +0 -13
  696. package/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.d.ts +0 -13
  697. package/f-connection/common/f-drag-handle/index.d.ts +0 -2
  698. package/f-connection/common/f-gradient/i-connection-gradient.d.ts +0 -8
  699. package/f-connection/common/f-gradient/index.d.ts +0 -2
  700. package/f-connection/common/f-path/f-connection-path.component.d.ts +0 -15
  701. package/f-connection/common/f-path/get-path-marker-id.d.ts +0 -4
  702. package/f-connection/common/f-path/i-connection-path.d.ts +0 -9
  703. package/f-connection/common/f-path/index.d.ts +0 -3
  704. package/f-connection/common/f-selection/f-connection-selection.component.d.ts +0 -10
  705. package/f-connection/common/f-selection/index.d.ts +0 -1
  706. package/f-connection/common/i-has-connection-color.d.ts +0 -5
  707. package/f-connection/common/i-has-connection-from-to.d.ts +0 -6
  708. package/f-connection/common/i-has-connection-text.d.ts +0 -4
  709. package/f-connection/common/index.d.ts +0 -14
  710. package/f-connection/f-connection-builder/f-connection-builders.d.ts +0 -4
  711. package/f-connection/f-connection-builder/f-connection-factory.d.ts +0 -9
  712. package/f-connection/f-connection-builder/i-f-connection-factory-request.d.ts +0 -6
  713. package/f-connection/f-connection-center/f-connection-center.directive.d.ts +0 -10
  714. package/f-connection/f-connection-center/index.d.ts +0 -1
  715. package/f-connection/f-connection-content/index.d.ts +0 -2
  716. package/f-connection/f-marker/f-marker.directive.d.ts +0 -18
  717. package/f-connection/f-marker/index.d.ts +0 -3
  718. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +0 -20
  719. package/f-draggable/f-single-select/f-single-select.request.d.ts +0 -8
  720. package/f-draggable/f-single-select/index.d.ts +0 -3
  721. package/f-draggable/f-single-select/providers.d.ts +0 -2
  722. package/f-storage/f-connectors-store.d.ts +0 -6
  723. /package/domain/f-flow/{get-flow-state → calculate-flow-state}/i-f-flow-state-node.d.ts +0 -0
  724. /package/domain/f-flow/{get-flow-state → calculate-flow-state}/i-f-flow-state.d.ts +0 -0
  725. /package/domain/f-selection/{get-can-be-selected-items → calculate-selectable-items}/i-can-be-selected-element-and-rect.d.ts +0 -0
  726. /package/f-canvas/domain/{f-canvas-change.event.d.ts → f-canvas-change-event.d.ts} +0 -0
  727. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/i-polyline-content.d.ts +0 -0
  728. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/index.d.ts +0 -0
  729. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-align.d.ts +0 -0
  730. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-content-place.d.ts +0 -0
  731. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/i-sampler-result.d.ts +0 -0
  732. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/i-tangent.d.ts +0 -0
  733. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/index.d.ts +0 -0
  734. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/polyline-sampler.d.ts +0 -0
  735. /package/{f-connection/f-connection-content/polyline-content-engine → f-connection-v2/components/connection-content/utils}/polyline-sampler/polyline.d.ts +0 -0
  736. /package/{f-connection/f-marker → f-connection-v2/components/connection-marker/enums}/e-f-marker-type.d.ts +0 -0
  737. /package/{f-connectors → f-connection-v2/enums}/e-f-connectable-side.d.ts +0 -0
  738. /package/{f-connection/common → f-connection-v2/enums}/e-f-connection-type.d.ts +0 -0
  739. /package/{f-connection/common → f-connection-v2/utils/connection-behaviour/enums}/e-f-connection-behavior.d.ts +0 -0
  740. /package/{f-connection/common → f-connection-v2/utils/connection-behaviour/enums}/e-f-connection-connectable-side.d.ts +0 -0
  741. /package/f-storage/features/listen-transform-changes/{listen-transform-changes.request.d.ts → listen-transform-changes-request.d.ts} +0 -0
  742. /package/f-storage/features/notify-transform-changed/{notify-transform-changed.request.d.ts → notify-transform-changed-request.d.ts} +0 -0
@@ -1,19 +1,24 @@
1
1
  export class IPointerEvent {
2
- event;
3
- target;
2
+ _event;
3
+ _target;
4
4
  get originalEvent() {
5
- return this.event;
5
+ return this._event;
6
6
  }
7
7
  get targetElement() {
8
- return this.target || this.originalEvent.target;
8
+ return this._target || this.originalEvent.target;
9
9
  }
10
- constructor(event, target) {
11
- this.event = event;
12
- this.target = target;
13
- this.event = event;
10
+ get touchEvent() {
11
+ return this._event;
12
+ }
13
+ get touches() {
14
+ return this.touchEvent.touches;
15
+ }
16
+ constructor(_event, _target) {
17
+ this._event = _event;
18
+ this._target = _target;
14
19
  }
15
20
  setTarget(target) {
16
- this.target = target;
21
+ this._target = target;
17
22
  }
18
23
  preventDefault() {
19
24
  this.originalEvent.preventDefault();
@@ -22,4 +27,4 @@ export class IPointerEvent {
22
27
  return this.targetElement.closest('[fLockedContext]') !== null;
23
28
  }
24
29
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1wb2ludGVyLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kcmFnLXRvb2xraXQvcG9pbnRlci1ldmVudHMvaS1wb2ludGVyLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsYUFBYTtJQVVNO0lBQTBDO0lBUmpGLElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFxQixDQUFDO0lBQ2pFLENBQUM7SUFFRCxZQUF1QyxLQUFnQyxFQUFVLE1BQW9CO1FBQTlELFVBQUssR0FBTCxLQUFLLENBQTJCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUNuRyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQW1CO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFNTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUlELElBQVcsc0JBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsS0FBSyxJQUFJLENBQUM7SUFDakUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIElQb2ludGVyRXZlbnQge1xuXG4gIHB1YmxpYyBnZXQgb3JpZ2luYWxFdmVudCgpOiAoTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpIHtcbiAgICByZXR1cm4gdGhpcy5ldmVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFyZ2V0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0IHx8IHRoaXMub3JpZ2luYWxFdmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBldmVudDogKE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSwgcHJpdmF0ZSB0YXJnZXQ/OiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMuZXZlbnQgPSBldmVudDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUYXJnZXQodGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0O1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IGlzTW91c2VMZWZ0QnV0dG9uKCk6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IGlzTW91c2VSaWdodEJ1dHRvbigpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBwcmV2ZW50RGVmYXVsdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRQb3NpdGlvbigpOiB7IHg6IG51bWJlciwgeTogbnVtYmVyIH07XG5cbiAgcHVibGljIGdldCBpc0V2ZW50SW5Mb2NrZWRDb250ZXh0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhcmdldEVsZW1lbnQuY2xvc2VzdCgnW2ZMb2NrZWRDb250ZXh0XScpICE9PSBudWxsO1xuICB9XG59XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1wb2ludGVyLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kcmFnLXRvb2xraXQvcG9pbnRlci1ldmVudHMvaS1wb2ludGVyLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsYUFBYTtJQWtCZDtJQUNUO0lBbEJWLElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLElBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFzQixDQUFDO0lBQ3BFLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQ21CLE1BQStCLEVBQ3hDLE9BQXFCO1FBRFosV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFDeEMsWUFBTyxHQUFQLE9BQU8sQ0FBYztJQUM1QixDQUFDO0lBRUcsU0FBUyxDQUFDLE1BQW1CO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFNTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUlELElBQVcsc0JBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsS0FBSyxJQUFJLENBQUM7SUFDakUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIElQb2ludGVyRXZlbnQge1xuICBwdWJsaWMgZ2V0IG9yaWdpbmFsRXZlbnQoKTogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQge1xuICAgIHJldHVybiB0aGlzLl9ldmVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGFyZ2V0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3RhcmdldCB8fCAodGhpcy5vcmlnaW5hbEV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvdWNoRXZlbnQoKTogVG91Y2hFdmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50IGFzIFRvdWNoRXZlbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvdWNoZXMoKTogVG91Y2hMaXN0IHtcbiAgICByZXR1cm4gdGhpcy50b3VjaEV2ZW50LnRvdWNoZXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50LFxuICAgIHByaXZhdGUgX3RhcmdldD86IEhUTUxFbGVtZW50LFxuICApIHt9XG5cbiAgcHVibGljIHNldFRhcmdldCh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5fdGFyZ2V0ID0gdGFyZ2V0O1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IGlzTW91c2VMZWZ0QnV0dG9uKCk6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IGlzTW91c2VSaWdodEJ1dHRvbigpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBwcmV2ZW50RGVmYXVsdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRQb3NpdGlvbigpOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XG5cbiAgcHVibGljIGdldCBpc0V2ZW50SW5Mb2NrZWRDb250ZXh0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhcmdldEVsZW1lbnQuY2xvc2VzdCgnW2ZMb2NrZWRDb250ZXh0XScpICE9PSBudWxsO1xuICB9XG59XG4iXX0=
@@ -6,4 +6,4 @@ export class FCanvasChangeEvent {
6
6
  this.scale = scale;
7
7
  }
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMtY2hhbmdlLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9kb21haW4vZi1jYW52YXMtY2hhbmdlLmV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxrQkFBa0I7SUFFWDtJQUNBO0lBRmxCLFlBQ2tCLFFBQWdCLEVBQ2hCLEtBQWE7UUFEYixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQVE7SUFFL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBGQ2FudmFzQ2hhbmdlRXZlbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcG9zaXRpb246IElQb2ludCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2NhbGU6IG51bWJlcixcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMtY2hhbmdlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9kb21haW4vZi1jYW52YXMtY2hhbmdlLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxrQkFBa0I7SUFFWDtJQUNBO0lBRmxCLFlBQ2tCLFFBQWdCLEVBQ2hCLEtBQWE7UUFEYixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQVE7SUFDNUIsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBGQ2FudmFzQ2hhbmdlRXZlbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcG9zaXRpb246IElQb2ludCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2NhbGU6IG51bWJlcixcbiAgKSB7fVxufVxuIl19
@@ -1,2 +1,2 @@
1
- export * from './f-canvas-change.event';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLWNhbnZhcy1jaGFuZ2UuZXZlbnQnO1xuIl19
1
+ export * from './f-canvas-change-event';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLWNhbnZhcy1jaGFuZ2UtZXZlbnQnO1xuIl19
@@ -1,13 +1,13 @@
1
1
  import { PointExtensions, TransformModelExtensions } from '@foblex/2d';
2
- import { DestroyRef, Directive, inject, InjectionToken } from '@angular/core';
2
+ import { DestroyRef, Directive, inject, InjectionToken, } from '@angular/core';
3
3
  import { FCanvasChangeEvent } from './domain';
4
- import { debounceTime, FChannel, FChannelHub } from "../reactivity";
4
+ import { debounceTime, FChannel, FChannelHub } from '../reactivity';
5
5
  import * as i0 from "@angular/core";
6
6
  export const F_CANVAS = new InjectionToken('F_CANVAS');
7
7
  export class FCanvasBase {
8
8
  transform = TransformModelExtensions.default();
9
9
  _fCanvasChange = new FChannel();
10
- _destroyRef = inject(DestroyRef);
10
+ destroyRef = inject(DestroyRef);
11
11
  getPosition() {
12
12
  return this.transform.position;
13
13
  }
@@ -18,7 +18,9 @@ export class FCanvasBase {
18
18
  this._fCanvasChange.notify();
19
19
  }
20
20
  subscribeOnCanvasChange() {
21
- new FChannelHub(this._fCanvasChange).pipe(debounceTime(this.debounce())).listen(this._destroyRef, () => {
21
+ new FChannelHub(this._fCanvasChange)
22
+ .pipe(debounceTime(this.debounce()))
23
+ .listen(this.destroyRef, () => {
22
24
  this.fCanvasChange.emit(new FCanvasChangeEvent(PointExtensions.sum(this.transform.position, this.transform.scaledPosition), this.transform.scale));
23
25
  });
24
26
  }
@@ -28,4 +30,4 @@ export class FCanvasBase {
28
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCanvasBase, decorators: [{
29
31
  type: Directive
30
32
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jYW52YXMvZi1jYW52YXMtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFVLE1BQU0sWUFBWSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxjQUFjLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXBFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBYyxVQUFVLENBQUMsQ0FBQztBQUdwRSxNQUFNLE9BQWdCLFdBQVc7SUFZeEIsU0FBUyxHQUFHLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBSXJDLGNBQWMsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFNM0MsV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBZ0I7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFNTSxxQkFBcUI7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLElBQUksV0FBVyxDQUNiLElBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtZQUNsRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FDMUgsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0EvQ21CLFdBQVc7NEZBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFEaEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvaW50RXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLCBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgT3V0cHV0RW1pdHRlclJlZiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ2FudmFzQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBGQ2hhbm5lbCwgRkNoYW5uZWxIdWIgfSBmcm9tIFwiLi4vcmVhY3Rpdml0eVwiO1xuXG5leHBvcnQgY29uc3QgRl9DQU5WQVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48RkNhbnZhc0Jhc2U+KCdGX0NBTlZBUycpO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ2FudmFzQmFzZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGZDYW52YXNDaGFuZ2U6IE91dHB1dEVtaXR0ZXJSZWY8RkNhbnZhc0NoYW5nZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmR3JvdXBzQ29udGFpbmVyOiBTaWduYWw8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmTm9kZXNDb250YWluZXI6IFNpZ25hbDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgcHVibGljIGFic3RyYWN0IGZDb25uZWN0aW9uc0NvbnRhaW5lcjogU2lnbmFsPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICBwdWJsaWMgdHJhbnNmb3JtID0gVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLmRlZmF1bHQoKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZGVib3VuY2U6IFNpZ25hbDxudW1iZXI+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZDYW52YXNDaGFuZ2UgPSBuZXcgRkNoYW5uZWwoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVkcmF3KCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlZHJhd1dpdGhBbmltYXRpb24oKTogdm9pZDtcblxuICBwdWJsaWMgZ2V0UG9zaXRpb24oKTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0ucG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgc2V0UG9zaXRpb24ocG9zaXRpb246IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uID0gcG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3Qgc2V0U2NhbGUoc2NhbGU6IG51bWJlciwgdG9Qb3NpdGlvbjogSVBvaW50KTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVzZXRTY2FsZSgpOiB2b2lkO1xuXG4gIHB1YmxpYyBlbWl0Q2FudmFzQ2hhbmdlRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5fZkNhbnZhc0NoYW5nZS5ub3RpZnkoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdWJzY3JpYmVPbkNhbnZhc0NoYW5nZSgpOiB2b2lkIHtcbiAgICBuZXcgRkNoYW5uZWxIdWIoXG4gICAgICB0aGlzLl9mQ2FudmFzQ2hhbmdlLFxuICAgICkucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZSgpKSkubGlzdGVuKHRoaXMuX2Rlc3Ryb3lSZWYsICgpID0+IHtcbiAgICAgIHRoaXMuZkNhbnZhc0NoYW5nZS5lbWl0KFxuICAgICAgICBuZXcgRkNhbnZhc0NoYW5nZUV2ZW50KFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy50cmFuc2Zvcm0ucG9zaXRpb24sIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKSwgdGhpcy50cmFuc2Zvcm0uc2NhbGUpLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jYW52YXMvZi1jYW52YXMtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFVLE1BQU0sWUFBWSxDQUFDO0FBQy9FLE9BQU8sRUFDTCxVQUFVLEVBQ1YsU0FBUyxFQUVULE1BQU0sRUFDTixjQUFjLEdBR2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFcEUsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUFjLFVBQVUsQ0FBQyxDQUFDO0FBR3BFLE1BQU0sT0FBZ0IsV0FBVztJQVd4QixTQUFTLEdBQUcsd0JBQXdCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFJckMsY0FBYyxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFDOUIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQU01QyxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFnQjtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDckMsQ0FBQztJQU1NLHFCQUFxQjtRQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFUyx1QkFBdUI7UUFDL0IsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQzthQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxrQkFBa0IsQ0FDcEIsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUMzRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FDckIsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQWpEbUIsV0FBVzs0RkFBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQURoQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9pbnRFeHRlbnNpb25zLCBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgRGVzdHJveVJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBPdXRwdXRFbWl0dGVyUmVmLFxuICBTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNhbnZhc0NoYW5nZUV2ZW50IH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnLi4vaS1oYXMtaG9zdC1lbGVtZW50JztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgRkNoYW5uZWwsIEZDaGFubmVsSHViIH0gZnJvbSAnLi4vcmVhY3Rpdml0eSc7XG5cbmV4cG9ydCBjb25zdCBGX0NBTlZBUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGQ2FudmFzQmFzZT4oJ0ZfQ0FOVkFTJyk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZDYW52YXNCYXNlIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50IHtcbiAgcHVibGljIGFic3RyYWN0IGZDYW52YXNDaGFuZ2U6IE91dHB1dEVtaXR0ZXJSZWY8RkNhbnZhc0NoYW5nZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmR3JvdXBzQ29udGFpbmVyOiBTaWduYWw8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmTm9kZXNDb250YWluZXI6IFNpZ25hbDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgcHVibGljIGFic3RyYWN0IGZDb25uZWN0aW9uc0NvbnRhaW5lcjogU2lnbmFsPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICBwdWJsaWMgdHJhbnNmb3JtID0gVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLmRlZmF1bHQoKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZGVib3VuY2U6IFNpZ25hbDxudW1iZXI+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZDYW52YXNDaGFuZ2UgPSBuZXcgRkNoYW5uZWwoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlZHJhdygpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWRyYXdXaXRoQW5pbWF0aW9uKCk6IHZvaWQ7XG5cbiAgcHVibGljIGdldFBvc2l0aW9uKCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uO1xuICB9XG5cbiAgcHVibGljIHNldFBvc2l0aW9uKHBvc2l0aW9uOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zZm9ybS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IHNldFNjYWxlKHNjYWxlOiBudW1iZXIsIHRvUG9zaXRpb246IElQb2ludCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlc2V0U2NhbGUoKTogdm9pZDtcblxuICBwdWJsaWMgZW1pdENhbnZhc0NoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZDYW52YXNDaGFuZ2Uubm90aWZ5KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3Vic2NyaWJlT25DYW52YXNDaGFuZ2UoKTogdm9pZCB7XG4gICAgbmV3IEZDaGFubmVsSHViKHRoaXMuX2ZDYW52YXNDaGFuZ2UpXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZSgpKSlcbiAgICAgIC5saXN0ZW4odGhpcy5kZXN0cm95UmVmLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuZkNhbnZhc0NoYW5nZS5lbWl0KFxuICAgICAgICAgIG5ldyBGQ2FudmFzQ2hhbmdlRXZlbnQoXG4gICAgICAgICAgICBQb2ludEV4dGVuc2lvbnMuc3VtKHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uLCB0aGlzLnRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zZm9ybS5zY2FsZSxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,10 +1,10 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, Injector, input, numberAttribute, output, viewChild, } from "@angular/core";
1
+ import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, Injector, input, numberAttribute, output, viewChild, } from '@angular/core';
3
2
  import { F_CANVAS, FCanvasBase } from './f-canvas-base';
4
3
  import { PointExtensions, TransformModelExtensions } from '@foblex/2d';
5
4
  import { FMediator } from '@foblex/mediator';
6
- import { AddCanvasToStoreRequest, CenterGroupOrNodeRequest, Deprecated, FitToFlowRequest, GetFlowRequest, InputCanvasPositionRequest, InputCanvasScaleRequest, isMobile, RemoveCanvasFromStoreRequest, ResetScaleAndCenterRequest, ResetScaleRequest, SetBackgroundTransformRequest, transitionEnd, UpdateScaleRequest, } from '../domain';
7
- import { NotifyTransformChangedRequest } from '../f-storage';
5
+ import { AddCanvasToStoreRequest, CenterGroupOrNodeRequest, FitToFlowRequest, GetFlowRequest, InputCanvasPositionRequest, InputCanvasScaleRequest, isMobile, RemoveCanvasFromStoreRequest, ResetScaleAndCenterRequest, ResetScaleRequest, SetBackgroundTransformRequest, transitionEnd, UpdateScaleRequest, } from '../domain';
6
+ import { ListenDataChangesRequest, NotifyTransformChangedRequest } from '../f-storage';
7
+ import { takeOne } from '../reactivity';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
10
10
  * Component representing a canvas in the F-Flow framework.
@@ -24,7 +24,7 @@ export class FCanvasComponent extends FCanvasBase {
24
24
  position = input(PointExtensions.initialize(), { transform: PointExtensions.castToPoint });
25
25
  scale = input(1, { transform: numberAttribute });
26
26
  debounceTime = input(0, { transform: numberAttribute });
27
- debounce = computed(() => this.debounceTime() < 0 ? 0 : this.debounceTime());
27
+ debounce = computed(() => (this.debounceTime() < 0 ? 0 : this.debounceTime()));
28
28
  get hostElement() {
29
29
  return this._elementReference.nativeElement;
30
30
  }
@@ -56,7 +56,7 @@ export class FCanvasComponent extends FCanvasBase {
56
56
  */
57
57
  redraw() {
58
58
  this._mediator.execute(new SetBackgroundTransformRequest(this.transform));
59
- this.hostElement.setAttribute("style", `transform: ${TransformModelExtensions.toString(this.transform)}`);
59
+ this.hostElement.setAttribute('style', `transform: ${TransformModelExtensions.toString(this.transform)}`);
60
60
  this._mediator.execute(new NotifyTransformChangedRequest());
61
61
  }
62
62
  /**
@@ -66,7 +66,7 @@ export class FCanvasComponent extends FCanvasBase {
66
66
  */
67
67
  redrawWithAnimation() {
68
68
  this._mediator.execute(new SetBackgroundTransformRequest(this.transform));
69
- this.hostElement.setAttribute("style", `transition: transform ${isMobile() ? 80 : 150}ms ease-in-out; transform: ${TransformModelExtensions.toString(this.transform)}`);
69
+ this.hostElement.setAttribute('style', `transition: transform ${isMobile() ? 80 : 150}ms ease-in-out; transform: ${TransformModelExtensions.toString(this.transform)}`);
70
70
  transitionEnd(this.hostElement, () => this.redraw());
71
71
  }
72
72
  /**
@@ -75,7 +75,9 @@ export class FCanvasComponent extends FCanvasBase {
75
75
  * @param animated - If true, the centering will be animated; otherwise, it will be instantaneous.
76
76
  */
77
77
  centerGroupOrNode(groupOrNodeId, animated = true) {
78
- setTimeout(() => this._mediator.execute(new CenterGroupOrNodeRequest(groupOrNodeId, animated)));
78
+ this._afterRedraw(() => {
79
+ this._mediator.execute(new CenterGroupOrNodeRequest(groupOrNodeId, animated));
80
+ });
79
81
  }
80
82
  /**
81
83
  * Fits the canvas to the screen by adjusting the scale and position.
@@ -83,7 +85,9 @@ export class FCanvasComponent extends FCanvasBase {
83
85
  * @param animated - If true, the fit will be animated; otherwise, it will be instantaneous.
84
86
  */
85
87
  fitToScreen(padding = PointExtensions.initialize(), animated = true) {
86
- setTimeout(() => this._mediator.execute(new FitToFlowRequest(padding, animated)));
88
+ this._afterRedraw(() => {
89
+ this._mediator.execute(new FitToFlowRequest(padding, animated));
90
+ });
87
91
  }
88
92
  /**
89
93
  * Resets the scale and center all nodes and groups on the canvas.
@@ -93,7 +97,9 @@ export class FCanvasComponent extends FCanvasBase {
93
97
  * This is useful for providing a smooth user experience when resetting the view.
94
98
  */
95
99
  resetScaleAndCenter(animated = true) {
96
- setTimeout(() => this._mediator.execute(new ResetScaleAndCenterRequest(animated)));
100
+ this._afterRedraw(() => {
101
+ this._mediator.execute(new ResetScaleAndCenterRequest(animated));
102
+ });
97
103
  }
98
104
  /**
99
105
  * Gets the current scale of the canvas.
@@ -101,12 +107,6 @@ export class FCanvasComponent extends FCanvasBase {
101
107
  getScale() {
102
108
  return this.transform.scale || 1;
103
109
  }
104
- /**
105
- * @deprecated Method "setZoom" is deprecated. Use "setScale" instead. This method will be removed in version 18.0.0.`,
106
- */
107
- setZoom(scale, toPosition = PointExtensions.initialize()) {
108
- this.setScale(scale, toPosition);
109
- }
110
110
  /**
111
111
  * Sets the scale of the canvas to a specified value.
112
112
  * This method is used to zoom in or out of the canvas,
@@ -117,12 +117,6 @@ export class FCanvasComponent extends FCanvasBase {
117
117
  setScale(scale, toPosition = PointExtensions.initialize()) {
118
118
  this._mediator.execute(new UpdateScaleRequest(scale, toPosition));
119
119
  }
120
- /**
121
- * @deprecated Method "resetZoom" is deprecated. Use "resetScale" instead. This method will be removed in version 18.0.0.`,
122
- */
123
- resetZoom() {
124
- this.resetScale();
125
- }
126
120
  /**
127
121
  * Resets the scale of the canvas to its default value.
128
122
  * This method is used to restore the canvas to its original scale.
@@ -133,23 +127,19 @@ export class FCanvasComponent extends FCanvasBase {
133
127
  ngOnDestroy() {
134
128
  this._mediator.execute(new RemoveCanvasFromStoreRequest());
135
129
  }
130
+ _afterRedraw(callback) {
131
+ this._mediator
132
+ .execute(new ListenDataChangesRequest())
133
+ .pipe(takeOne())
134
+ .listen(this.destroyRef, callback);
135
+ }
136
136
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCanvasComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
137
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: FCanvasComponent, isStandalone: true, selector: "f-canvas", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fCanvasChange: "fCanvasChange" }, host: { classAttribute: "f-component f-canvas" }, providers: [
138
- { provide: F_CANVAS, useExisting: FCanvasComponent },
139
- ], viewQueries: [{ propertyName: "fGroupsContainer", first: true, predicate: ["fGroupsContainer"], descendants: true, isSignal: true }, { propertyName: "fNodesContainer", first: true, predicate: ["fNodesContainer"], descendants: true, isSignal: true }, { propertyName: "fConnectionsContainer", first: true, predicate: ["fConnectionsContainer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup], [fGroups]\" />\n </div>\n <div #fConnectionsContainer class=\"f-connections-container\">\n <ng-content select=\"f-snap-connection\" />\n <ng-content select=\"f-connection, [fConnections]\" />\n <ng-content select=\"f-connection-for-create\" />\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode], [fNodes]\" />\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host.canvas-dragging{transform:translateZ(0)}.f-connections-container{position:absolute;z-index:2}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: FCanvasComponent, isStandalone: true, selector: "f-canvas", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fCanvasChange: "fCanvasChange" }, host: { classAttribute: "f-component f-canvas" }, providers: [{ provide: F_CANVAS, useExisting: FCanvasComponent }], viewQueries: [{ propertyName: "fGroupsContainer", first: true, predicate: ["fGroupsContainer"], descendants: true, isSignal: true }, { propertyName: "fNodesContainer", first: true, predicate: ["fNodesContainer"], descendants: true, isSignal: true }, { propertyName: "fConnectionsContainer", first: true, predicate: ["fConnectionsContainer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup], [fGroups]\" />\n </div>\n <div #fConnectionsContainer class=\"f-connections-container\">\n <ng-content select=\"f-snap-connection\" />\n <ng-content select=\"f-connection, [fConnections]\" />\n <ng-content select=\"f-connection-for-create\" />\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode], [fNodes]\" />\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host.canvas-dragging{transform:translateZ(0)}.f-connections-container{position:absolute;z-index:2}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
140
138
  }
141
- __decorate([
142
- Deprecated('setScale')
143
- ], FCanvasComponent.prototype, "setZoom", null);
144
- __decorate([
145
- Deprecated('resetScale')
146
- ], FCanvasComponent.prototype, "resetZoom", null);
147
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCanvasComponent, decorators: [{
148
140
  type: Component,
149
141
  args: [{ selector: 'f-canvas', standalone: true, host: {
150
142
  'class': 'f-component f-canvas',
151
- }, providers: [
152
- { provide: F_CANVAS, useExisting: FCanvasComponent },
153
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup], [fGroups]\" />\n </div>\n <div #fConnectionsContainer class=\"f-connections-container\">\n <ng-content select=\"f-snap-connection\" />\n <ng-content select=\"f-connection, [fConnections]\" />\n <ng-content select=\"f-connection-for-create\" />\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode], [fNodes]\" />\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host.canvas-dragging{transform:translateZ(0)}.f-connections-container{position:absolute;z-index:2}\n"] }]
154
- }], propDecorators: { setZoom: [], resetZoom: [] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxlQUFlLEVBR2YsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBVSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsUUFBUSxFQUNSLDRCQUE0QixFQUM1QiwwQkFBMEIsRUFDMUIsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3QixhQUFhLEVBQ2Isa0JBQWtCLEdBQ25CLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFHN0Q7Ozs7Ozs7O0dBUUc7QUFjSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUU5QixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXRDLE9BQU8sQ0FBcUI7SUFFcEIsYUFBYSxHQUFHLE1BQU0sRUFBc0IsQ0FBQztJQUU3QyxRQUFRLEdBQUcsS0FBSyxDQUFvQyxlQUFlLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUgsS0FBSyxHQUFHLEtBQUssQ0FBa0IsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDbEUsWUFBWSxHQUFHLEtBQUssQ0FBa0IsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDekUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBRTdGLElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFZSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUEwQixrQkFBa0IsQ0FBQyxDQUFDO0lBQ25GLGVBQWUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUEwQixpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pGLHFCQUFxQixHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQTBCLHVCQUF1QixDQUFDLENBQUM7SUFFN0csSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBWSxJQUFJLGNBQWMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVPLGVBQWU7UUFDckIsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFGLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEYsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNhLE1BQU07UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsY0FBYyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLDZCQUE2QixFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNhLG1CQUFtQjtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLDZCQUE2QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSx5QkFBeUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyw4QkFBOEIsd0JBQXdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEssYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxpQkFBaUIsQ0FBQyxhQUFxQixFQUFFLFdBQW9CLElBQUk7UUFDdEUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksd0JBQXdCLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFdBQVcsQ0FBQyxVQUFrQixlQUFlLENBQUMsVUFBVSxFQUFFLEVBQUUsV0FBb0IsSUFBSTtRQUN6RixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUIsQ0FBQyxXQUFvQixJQUFJO1FBQ2pELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBRUksT0FBTyxDQUFDLEtBQWEsRUFBRSxhQUFxQixlQUFlLENBQUMsVUFBVSxFQUFFO1FBQzdFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDYSxRQUFRLENBQUMsS0FBYSxFQUFFLGFBQXFCLGVBQWUsQ0FBQyxVQUFVLEVBQUU7UUFDdkYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFFSSxTQUFTO1FBQ2QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDYSxVQUFVO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7d0dBNUlVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLHdpQkFMaEI7WUFDVCxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFO1NBQ3JELDZhQ3pESCxrY0FjQTs7QUR5SlM7SUFETixVQUFVLENBQUMsVUFBVSxDQUFDOytDQUd0QjtBQWlCTTtJQUROLFVBQVUsQ0FBQyxZQUFZLENBQUM7aURBR3hCOzRGQWhJVSxnQkFBZ0I7a0JBYjVCLFNBQVM7K0JBQ0UsVUFBVSxjQUdSLElBQUksUUFDVjt3QkFDSixPQUFPLEVBQUUsc0JBQXNCO3FCQUNoQyxhQUNVO3dCQUNULEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLGtCQUFrQixFQUFFO3FCQUNyRCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkE2R3hDLE9BQU8sTUFtQlAsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGlucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBvdXRwdXQsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZfQ0FOVkFTLCBGQ2FudmFzQmFzZSB9IGZyb20gJy4vZi1jYW52YXMtYmFzZSc7XG5pbXBvcnQgeyBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ2FudmFzQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIEFkZENhbnZhc1RvU3RvcmVSZXF1ZXN0LFxuICBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QsXG4gIERlcHJlY2F0ZWQsXG4gIEZpdFRvRmxvd1JlcXVlc3QsXG4gIEdldEZsb3dSZXF1ZXN0LFxuICBJbnB1dENhbnZhc1Bvc2l0aW9uUmVxdWVzdCxcbiAgSW5wdXRDYW52YXNTY2FsZVJlcXVlc3QsXG4gIGlzTW9iaWxlLFxuICBSZW1vdmVDYW52YXNGcm9tU3RvcmVSZXF1ZXN0LFxuICBSZXNldFNjYWxlQW5kQ2VudGVyUmVxdWVzdCxcbiAgUmVzZXRTY2FsZVJlcXVlc3QsXG4gIFNldEJhY2tncm91bmRUcmFuc2Zvcm1SZXF1ZXN0LFxuICB0cmFuc2l0aW9uRW5kLFxuICBVcGRhdGVTY2FsZVJlcXVlc3QsXG59IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRmxvd0Jhc2UgfSBmcm9tICcuLi9mLWZsb3cnO1xuXG4vKipcbiAqIENvbXBvbmVudCByZXByZXNlbnRpbmcgYSBjYW52YXMgaW4gdGhlIEYtRmxvdyBmcmFtZXdvcmsuXG4gKiBJdCBoYW5kbGVzIHRoZSByZW5kZXJpbmcgb2Ygbm9kZXMsIGNvbm5lY3Rpb25zLCBhbmQgZ3JvdXBzLFxuICogYXMgd2VsbCBhcyB1c2VyIGludGVyYWN0aW9ucyBzdWNoIGFzIHpvb21pbmcgYW5kIHBhbm5pbmcuXG4gKiBJdCBleHRlbmRzIHRoZSBGQ2FudmFzQmFzZSBjbGFzcyBhbmQgaW1wbGVtZW50cyBPbkluaXQgYW5kIE9uRGVzdHJveSBsaWZlY3ljbGUgaG9va3MuXG4gKiBJdCBwcm92aWRlcyBtZXRob2RzIHRvIG1hbmlwdWxhdGUgdGhlIGNhbnZhcywgc3VjaCBhcyBjZW50ZXJpbmcgbm9kZXMgb3IgZ3JvdXBzLFxuICogZml0dGluZyB0aGUgY2FudmFzIHRvIHRoZSBzY3JlZW4sIGFuZCByZXNldHRpbmcgdGhlIHNjYWxlLlxuICogSXQgYWxzbyBlbWl0cyBldmVudHMgd2hlbiB0aGUgY2FudmFzIGNoYW5nZXMsIGFsbG93aW5nIG90aGVyIGNvbXBvbmVudHMgdG8gcmVhY3QgdG8gdGhlc2UgY2hhbmdlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1jYW52YXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1jYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mLWNhbnZhcy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2YtY29tcG9uZW50IGYtY2FudmFzJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0NBTlZBUywgdXNlRXhpc3Rpbmc6IEZDYW52YXNDb21wb25lbnQgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZDYW52YXNDb21wb25lbnQgZXh0ZW5kcyBGQ2FudmFzQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHJpdmF0ZSBfZmxvd0lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZDYW52YXNDaGFuZ2UgPSBvdXRwdXQ8RkNhbnZhc0NoYW5nZUV2ZW50PigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBwb3NpdGlvbiA9IGlucHV0PElQb2ludCwgSVBvaW50IHwgbnVsbCB8IHVuZGVmaW5lZD4oUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSwgeyB0cmFuc2Zvcm06IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludCB9KTtcbiAgcHVibGljIHJlYWRvbmx5IHNjYWxlID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigxLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVib3VuY2VUaW1lID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigwLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgb3ZlcnJpZGUgZGVib3VuY2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRlYm91bmNlVGltZSgpIDwgMCA/IDAgOiB0aGlzLmRlYm91bmNlVGltZSgpKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZHcm91cHNDb250YWluZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmR3JvdXBzQ29udGFpbmVyJyk7XG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZXNDb250YWluZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmTm9kZXNDb250YWluZXInKTtcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uc0NvbnRhaW5lciA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ2ZDb25uZWN0aW9uc0NvbnRhaW5lcicpO1xuXG4gIHB1YmxpYyBnZXQgZmxvd0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Zsb3dJZCE7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZmxvd0lkID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxGRmxvd0Jhc2U+KG5ldyBHZXRGbG93UmVxdWVzdCgpKS5mSWQoKTtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBBZGRDYW52YXNUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gICAgdGhpcy5fcG9zaXRpb25DaGFuZ2UoKTtcbiAgICB0aGlzLl9zY2FsZUNoYW5nZSgpO1xuICAgIHN1cGVyLnN1YnNjcmliZU9uQ2FudmFzQ2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIF9wb3NpdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMucG9zaXRpb24oKSkpO1xuICAgIH0sIHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2NhbGVDaGFuZ2UoKTogdm9pZCB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IElucHV0Q2FudmFzU2NhbGVSZXF1ZXN0KHRoaXMudHJhbnNmb3JtLCB0aGlzLnNjYWxlKCkpKTtcbiAgICB9LCB7IGluamVjdG9yOiB0aGlzLl9pbmplY3RvciB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgYnkgYXBwbHlpbmcgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFNldEJhY2tncm91bmRUcmFuc2Zvcm1SZXF1ZXN0KHRoaXMudHJhbnNmb3JtKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBgdHJhbnNmb3JtOiAke1RyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy50b1N0cmluZyh0aGlzLnRyYW5zZm9ybSl9YCk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVkcmF3cyB0aGUgY2FudmFzIHdpdGggYW4gYW5pbWF0aW9uIGVmZmVjdC5cbiAgICogVGhpcyBtZXRob2QgYXBwbGllcyBhIENTUyB0cmFuc2l0aW9uIHRvIHRoZSBjYW52YXMgZWxlbWVudCxcbiAgICogYWxsb3dpbmcgZm9yIGEgc21vb3RoIHZpc3VhbCB1cGRhdGUgb2YgdGhlIGNhbnZhcydzIHRyYW5zZm9ybWF0aW9uLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlZHJhd1dpdGhBbmltYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QodGhpcy50cmFuc2Zvcm0pKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHtpc01vYmlsZSgpID8gODAgOiAxNTB9bXMgZWFzZS1pbi1vdXQ7IHRyYW5zZm9ybTogJHtUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pfWApO1xuICAgIHRyYW5zaXRpb25FbmQodGhpcy5ob3N0RWxlbWVudCwgKCkgPT4gdGhpcy5yZWRyYXcoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2VudGVycyB0aGUgc3BlY2lmaWVkIGdyb3VwIG9yIG5vZGUgb24gdGhlIGNhbnZhcy5cbiAgICogQHBhcmFtIGdyb3VwT3JOb2RlSWQgLSBUaGUgSUQgb2YgdGhlIGdyb3VwIG9yIG5vZGUgdG8gY2VudGVyLlxuICAgKiBAcGFyYW0gYW5pbWF0ZWQgLSBJZiB0cnVlLCB0aGUgY2VudGVyaW5nIHdpbGwgYmUgYW5pbWF0ZWQ7IG90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnN0YW50YW5lb3VzLlxuICAgKi9cbiAgcHVibGljIGNlbnRlckdyb3VwT3JOb2RlKGdyb3VwT3JOb2RlSWQ6IHN0cmluZywgYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QoZ3JvdXBPck5vZGVJZCwgYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogRml0cyB0aGUgY2FudmFzIHRvIHRoZSBzY3JlZW4gYnkgYWRqdXN0aW5nIHRoZSBzY2FsZSBhbmQgcG9zaXRpb24uXG4gICAqIEBwYXJhbSBwYWRkaW5nIC0gcGFkZGluZ3MgZnJvbSB0aGUgYm91bmRzIG9mIHRoZSBjYW52YXNcbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIGZpdCB3aWxsIGJlIGFuaW1hdGVkOyBvdGhlcndpc2UsIGl0IHdpbGwgYmUgaW5zdGFudGFuZW91cy5cbiAgICovXG4gIHB1YmxpYyBmaXRUb1NjcmVlbihwYWRkaW5nOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpLCBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEZpdFRvRmxvd1JlcXVlc3QocGFkZGluZywgYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzY2FsZSBhbmQgY2VudGVyIGFsbCBub2RlcyBhbmQgZ3JvdXBzIG9uIHRoZSBjYW52YXMuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gcmVzdG9yZSB0aGUgY2FudmFzIHRvIGl0cyBkZWZhdWx0IHNjYWxlIGFuZCBwb3NpdGlvbixcbiAgICogYWxsb3dpbmcgdXNlcnMgdG8gcXVpY2tseSByZXR1cm4gdG8gYSBzdGFuZGFyZCB2aWV3IG9mIHRoZSBjYW52YXMgY29udGVudC5cbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIHJlc2V0IHdpbGwgYmUgYW5pbWF0ZWQ7IG90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnN0YW50YW5lb3VzLlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJvdmlkaW5nIGEgc21vb3RoIHVzZXIgZXhwZXJpZW5jZSB3aGVuIHJlc2V0dGluZyB0aGUgdmlldy5cbiAgICovXG4gIHB1YmxpYyByZXNldFNjYWxlQW5kQ2VudGVyKGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QoYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogIEdldHMgdGhlIGN1cnJlbnQgc2NhbGUgb2YgdGhlIGNhbnZhcy5cbiAgICovXG4gIHB1YmxpYyBnZXRTY2FsZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybS5zY2FsZSB8fCAxO1xuICB9XG5cbiAgLyoqXG4gICAqICBAZGVwcmVjYXRlZCBNZXRob2QgXCJzZXRab29tXCIgaXMgZGVwcmVjYXRlZC4gVXNlIFwic2V0U2NhbGVcIiBpbnN0ZWFkLiBUaGlzIG1ldGhvZCB3aWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiAxOC4wLjAuYCxcbiAgICovXG4gIEBEZXByZWNhdGVkKCdzZXRTY2FsZScpXG4gIHB1YmxpYyBzZXRab29tKHNjYWxlOiBudW1iZXIsIHRvUG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCkpOiB2b2lkIHtcbiAgICB0aGlzLnNldFNjYWxlKHNjYWxlLCB0b1Bvc2l0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzY2FsZSBvZiB0aGUgY2FudmFzIHRvIGEgc3BlY2lmaWVkIHZhbHVlLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIHpvb20gaW4gb3Igb3V0IG9mIHRoZSBjYW52YXMsXG4gICAqIGFsbG93aW5nIHVzZXJzIHRvIGFkanVzdCB0aGUgdmlldyBvZiB0aGUgY2FudmFzIGNvbnRlbnQuXG4gICAqIEBwYXJhbSBzY2FsZSAtIFRoZSBzY2FsZSBmYWN0b3IgdG8gc2V0IGZvciB0aGUgY2FudmFzLlxuICAgKiBAcGFyYW0gdG9Qb3NpdGlvbiAtIFRoZSBwb3NpdGlvbiB0byB3aGljaCB0aGUgY2FudmFzIHNob3VsZCBiZSBjZW50ZXJlZCBhZnRlciBzY2FsaW5nLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldFNjYWxlKHNjYWxlOiBudW1iZXIsIHRvUG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCkpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBVcGRhdGVTY2FsZVJlcXVlc3Qoc2NhbGUsIHRvUG9zaXRpb24pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGRlcHJlY2F0ZWQgTWV0aG9kIFwicmVzZXRab29tXCIgaXMgZGVwcmVjYXRlZC4gVXNlIFwicmVzZXRTY2FsZVwiIGluc3RlYWQuIFRoaXMgbWV0aG9kIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDE4LjAuMC5gLFxuICAgKi9cbiAgQERlcHJlY2F0ZWQoJ3Jlc2V0U2NhbGUnKVxuICBwdWJsaWMgcmVzZXRab29tKCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRTY2FsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgc2NhbGUgb2YgdGhlIGNhbnZhcyB0byBpdHMgZGVmYXVsdCB2YWx1ZS5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZXN0b3JlIHRoZSBjYW52YXMgdG8gaXRzIG9yaWdpbmFsIHNjYWxlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc2V0U2NhbGUoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlQ2FudmFzRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiAjZkdyb3Vwc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkdyb3VwXSwgW2ZHcm91cHNdXCIgLz5cbiAgPC9kaXY+XG4gIDxkaXYgI2ZDb25uZWN0aW9uc0NvbnRhaW5lciBjbGFzcz1cImYtY29ubmVjdGlvbnMtY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1zbmFwLWNvbm5lY3Rpb25cIiAvPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtY29ubmVjdGlvbiwgW2ZDb25uZWN0aW9uc11cIiAvPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtY29ubmVjdGlvbi1mb3ItY3JlYXRlXCIgLz5cbiAgPC9kaXY+XG5cbiAgPGRpdiAjZk5vZGVzQ29udGFpbmVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmTm9kZV0sIFtmTm9kZXNdXCIgLz5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
143
+ }, providers: [{ provide: F_CANVAS, useExisting: FCanvasComponent }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup], [fGroups]\" />\n </div>\n <div #fConnectionsContainer class=\"f-connections-container\">\n <ng-content select=\"f-snap-connection\" />\n <ng-content select=\"f-connection, [fConnections]\" />\n <ng-content select=\"f-connection-for-create\" />\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode], [fNodes]\" />\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host.canvas-dragging{transform:translateZ(0)}.f-connections-container{position:absolute;z-index:2}\n"] }]
144
+ }] });
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLGVBQWUsRUFHZixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFVLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUiw0QkFBNEIsRUFDNUIsMEJBQTBCLEVBQzFCLGlCQUFpQixFQUNqQiw2QkFBNkIsRUFDN0IsYUFBYSxFQUNiLGtCQUFrQixHQUNuQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkYsT0FBTyxFQUFlLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFckQ7Ozs7Ozs7O0dBUUc7QUFZSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUM5QixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lB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QVEsRUFBRSxXQUFXLGtCQUFrQixFQUFFLENBQUMsbUJBQ2hELHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBpbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgb3V0cHV0LFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9DQU5WQVMsIEZDYW52YXNCYXNlIH0gZnJvbSAnLi9mLWNhbnZhcy1iYXNlJztcbmltcG9ydCB7IElQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDYW52YXNDaGFuZ2VFdmVudCB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkQ2FudmFzVG9TdG9yZVJlcXVlc3QsXG4gIENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdCxcbiAgRml0VG9GbG93UmVxdWVzdCxcbiAgR2V0Rmxvd1JlcXVlc3QsXG4gIElucHV0Q2FudmFzUG9zaXRpb25SZXF1ZXN0LFxuICBJbnB1dENhbnZhc1NjYWxlUmVxdWVzdCxcbiAgaXNNb2JpbGUsXG4gIFJlbW92ZUNhbnZhc0Zyb21TdG9yZVJlcXVlc3QsXG4gIFJlc2V0U2NhbGVBbmRDZW50ZXJSZXF1ZXN0LFxuICBSZXNldFNjYWxlUmVxdWVzdCxcbiAgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QsXG4gIHRyYW5zaXRpb25FbmQsXG4gIFVwZGF0ZVNjYWxlUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IExpc3RlbkRhdGFDaGFuZ2VzUmVxdWVzdCwgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkZsb3dCYXNlIH0gZnJvbSAnLi4vZi1mbG93JztcbmltcG9ydCB7IEZDaGFubmVsSHViLCB0YWtlT25lIH0gZnJvbSAnLi4vcmVhY3Rpdml0eSc7XG5cbi8qKlxuICogQ29tcG9uZW50IHJlcHJlc2VudGluZyBhIGNhbnZhcyBpbiB0aGUgRi1GbG93IGZyYW1ld29yay5cbiAqIEl0IGhhbmRsZXMgdGhlIHJlbmRlcmluZyBvZiBub2RlcywgY29ubmVjdGlvbnMsIGFuZCBncm91cHMsXG4gKiBhcyB3ZWxsIGFzIHVzZXIgaW50ZXJhY3Rpb25zIHN1Y2ggYXMgem9vbWluZyBhbmQgcGFubmluZy5cbiAqIEl0IGV4dGVuZHMgdGhlIEZDYW52YXNCYXNlIGNsYXNzIGFuZCBpbXBsZW1lbnRzIE9uSW5pdCBhbmQgT25EZXN0cm95IGxpZmVjeWNsZSBob29rcy5cbiAqIEl0IHByb3ZpZGVzIG1ldGhvZHMgdG8gbWFuaXB1bGF0ZSB0aGUgY2FudmFzLCBzdWNoIGFzIGNlbnRlcmluZyBub2RlcyBvciBncm91cHMsXG4gKiBmaXR0aW5nIHRoZSBjYW52YXMgdG8gdGhlIHNjcmVlbiwgYW5kIHJlc2V0dGluZyB0aGUgc2NhbGUuXG4gKiBJdCBhbHNvIGVtaXRzIGV2ZW50cyB3aGVuIHRoZSBjYW52YXMgY2hhbmdlcywgYWxsb3dpbmcgb3RoZXIgY29tcG9uZW50cyB0byByZWFjdCB0byB0aGVzZSBjaGFuZ2VzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLWNhbnZhcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWNhbnZhcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2YtY2FudmFzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1jb21wb25lbnQgZi1jYW52YXMnLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfQ0FOVkFTLCB1c2VFeGlzdGluZzogRkNhbnZhc0NvbXBvbmVudCB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZDYW52YXNDb21wb25lbnQgZXh0ZW5kcyBGQ2FudmFzQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByaXZhdGUgX2Zsb3dJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmQ2FudmFzQ2hhbmdlID0gb3V0cHV0PEZDYW52YXNDaGFuZ2VFdmVudD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcG9zaXRpb24gPSBpbnB1dDxJUG9pbnQsIElQb2ludCB8IG51bGwgfCB1bmRlZmluZWQ+KFxuICAgIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksXG4gICAgeyB0cmFuc2Zvcm06IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludCB9LFxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgc2NhbGUgPSBpbnB1dDxudW1iZXIsIHVua25vd24+KDEsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHB1YmxpYyByZWFkb25seSBkZWJvdW5jZVRpbWUgPSBpbnB1dDxudW1iZXIsIHVua25vd24+KDAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHB1YmxpYyBvdmVycmlkZSBkZWJvdW5jZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmRlYm91bmNlVGltZSgpIDwgMCA/IDAgOiB0aGlzLmRlYm91bmNlVGltZSgpKSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JvdXBzQ29udGFpbmVyID1cbiAgICB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmR3JvdXBzQ29udGFpbmVyJyk7XG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZXNDb250YWluZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmTm9kZXNDb250YWluZXInKTtcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uc0NvbnRhaW5lciA9XG4gICAgdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZkNvbm5lY3Rpb25zQ29udGFpbmVyJyk7XG5cbiAgcHVibGljIGdldCBmbG93SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZmxvd0lkITtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mbG93SWQgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPEZGbG93QmFzZT4obmV3IEdldEZsb3dSZXF1ZXN0KCkpLmZJZCgpO1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZENhbnZhc1RvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgICB0aGlzLl9wb3NpdGlvbkNoYW5nZSgpO1xuICAgIHRoaXMuX3NjYWxlQ2hhbmdlKCk7XG4gICAgc3VwZXIuc3Vic2NyaWJlT25DYW52YXNDaGFuZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Bvc2l0aW9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMucG9zaXRpb24oKSkpO1xuICAgICAgfSxcbiAgICAgIHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NjYWxlQ2hhbmdlKCk6IHZvaWQge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNTY2FsZVJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMuc2NhbGUoKSkpO1xuICAgICAgfSxcbiAgICAgIHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgYnkgYXBwbHlpbmcgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFNldEJhY2tncm91bmRUcmFuc2Zvcm1SZXF1ZXN0KHRoaXMudHJhbnNmb3JtKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAnc3R5bGUnLFxuICAgICAgYHRyYW5zZm9ybTogJHtUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pfWAsXG4gICAgKTtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgd2l0aCBhbiBhbmltYXRpb24gZWZmZWN0LlxuICAgKiBUaGlzIG1ldGhvZCBhcHBsaWVzIGEgQ1NTIHRyYW5zaXRpb24gdG8gdGhlIGNhbnZhcyBlbGVtZW50LFxuICAgKiBhbGxvd2luZyBmb3IgYSBzbW9vdGggdmlzdWFsIHVwZGF0ZSBvZiB0aGUgY2FudmFzJ3MgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3V2l0aEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBTZXRCYWNrZ3JvdW5kVHJhbnNmb3JtUmVxdWVzdCh0aGlzLnRyYW5zZm9ybSkpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgJ3N0eWxlJyxcbiAgICAgIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHtpc01vYmlsZSgpID8gODAgOiAxNTB9bXMgZWFzZS1pbi1vdXQ7IHRyYW5zZm9ybTogJHtUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pfWAsXG4gICAgKTtcbiAgICB0cmFuc2l0aW9uRW5kKHRoaXMuaG9zdEVsZW1lbnQsICgpID0+IHRoaXMucmVkcmF3KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENlbnRlcnMgdGhlIHNwZWNpZmllZCBncm91cCBvciBub2RlIG9uIHRoZSBjYW52YXMuXG4gICAqIEBwYXJhbSBncm91cE9yTm9kZUlkIC0gVGhlIElEIG9mIHRoZSBncm91cCBvciBub2RlIHRvIGNlbnRlci5cbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIGNlbnRlcmluZyB3aWxsIGJlIGFuaW1hdGVkOyBvdGhlcndpc2UsIGl0IHdpbGwgYmUgaW5zdGFudGFuZW91cy5cbiAgICovXG4gIHB1YmxpYyBjZW50ZXJHcm91cE9yTm9kZShncm91cE9yTm9kZUlkOiBzdHJpbmcsIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuX2FmdGVyUmVkcmF3KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdChncm91cE9yTm9kZUlkLCBhbmltYXRlZCkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpdHMgdGhlIGNhbnZhcyB0byB0aGUgc2NyZWVuIGJ5IGFkanVzdGluZyB0aGUgc2NhbGUgYW5kIHBvc2l0aW9uLlxuICAgKiBAcGFyYW0gcGFkZGluZyAtIHBhZGRpbmdzIGZyb20gdGhlIGJvdW5kcyBvZiB0aGUgY2FudmFzXG4gICAqIEBwYXJhbSBhbmltYXRlZCAtIElmIHRydWUsIHRoZSBmaXQgd2lsbCBiZSBhbmltYXRlZDsgb3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGluc3RhbnRhbmVvdXMuXG4gICAqL1xuICBwdWJsaWMgZml0VG9TY3JlZW4oXG4gICAgcGFkZGluZzogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSxcbiAgICBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuX2FmdGVyUmVkcmF3KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEZpdFRvRmxvd1JlcXVlc3QocGFkZGluZywgYW5pbWF0ZWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIHNjYWxlIGFuZCBjZW50ZXIgYWxsIG5vZGVzIGFuZCBncm91cHMgb24gdGhlIGNhbnZhcy5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZXN0b3JlIHRoZSBjYW52YXMgdG8gaXRzIGRlZmF1bHQgc2NhbGUgYW5kIHBvc2l0aW9uLFxuICAgKiBhbGxvd2luZyB1c2VycyB0byBxdWlja2x5IHJldHVybiB0byBhIHN0YW5kYXJkIHZpZXcgb2YgdGhlIGNhbnZhcyBjb250ZW50LlxuICAgKiBAcGFyYW0gYW5pbWF0ZWQgLSBJZiB0cnVlLCB0aGUgcmVzZXQgd2lsbCBiZSBhbmltYXRlZDsgb3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGluc3RhbnRhbmVvdXMuXG4gICAqIFRoaXMgaXMgdXNlZnVsIGZvciBwcm92aWRpbmcgYSBzbW9vdGggdXNlciBleHBlcmllbmNlIHdoZW4gcmVzZXR0aW5nIHRoZSB2aWV3LlxuICAgKi9cbiAgcHVibGljIHJlc2V0U2NhbGVBbmRDZW50ZXIoYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5fYWZ0ZXJSZWRyYXcoKCkgPT4ge1xuICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QoYW5pbWF0ZWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgR2V0cyB0aGUgY3VycmVudCBzY2FsZSBvZiB0aGUgY2FudmFzLlxuICAgKi9cbiAgcHVibGljIGdldFNjYWxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtLnNjYWxlIHx8IDE7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2NhbGUgb2YgdGhlIGNhbnZhcyB0byBhIHNwZWNpZmllZCB2YWx1ZS5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byB6b29tIGluIG9yIG91dCBvZiB0aGUgY2FudmFzLFxuICAgKiBhbGxvd2luZyB1c2VycyB0byBhZGp1c3QgdGhlIHZpZXcgb2YgdGhlIGNhbnZhcyBjb250ZW50LlxuICAgKiBAcGFyYW0gc2NhbGUgLSBUaGUgc2NhbGUgZmFjdG9yIHRvIHNldCBmb3IgdGhlIGNhbnZhcy5cbiAgICogQHBhcmFtIHRvUG9zaXRpb24gLSBUaGUgcG9zaXRpb24gdG8gd2hpY2ggdGhlIGNhbnZhcyBzaG91bGQgYmUgY2VudGVyZWQgYWZ0ZXIgc2NhbGluZy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRTY2FsZShzY2FsZTogbnVtYmVyLCB0b1Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgVXBkYXRlU2NhbGVSZXF1ZXN0KHNjYWxlLCB0b1Bvc2l0aW9uKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzY2FsZSBvZiB0aGUgY2FudmFzIHRvIGl0cyBkZWZhdWx0IHZhbHVlLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIHJlc3RvcmUgdGhlIGNhbnZhcyB0byBpdHMgb3JpZ2luYWwgc2NhbGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVzZXRTY2FsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZXNldFNjYWxlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZW1vdmVDYW52YXNGcm9tU3RvcmVSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWZ0ZXJSZWRyYXcoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvclxuICAgICAgLmV4ZWN1dGU8RkNoYW5uZWxIdWI+KG5ldyBMaXN0ZW5EYXRhQ2hhbmdlc1JlcXVlc3QoKSlcbiAgICAgIC5waXBlKHRha2VPbmUoKSlcbiAgICAgIC5saXN0ZW4odGhpcy5kZXN0cm95UmVmLCBjYWxsYmFjayk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gIDxkaXYgI2ZHcm91cHNDb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZHcm91cF0sIFtmR3JvdXBzXVwiIC8+XG4gIDwvZGl2PlxuICA8ZGl2ICNmQ29ubmVjdGlvbnNDb250YWluZXIgY2xhc3M9XCJmLWNvbm5lY3Rpb25zLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtc25hcC1jb25uZWN0aW9uXCIgLz5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb24sIFtmQ29ubmVjdGlvbnNdXCIgLz5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZVwiIC8+XG4gIDwvZGl2PlxuXG4gIDxkaXYgI2ZOb2Rlc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZk5vZGVdLCBbZk5vZGVzXVwiIC8+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,29 +1,19 @@
1
1
  import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, Input, numberAttribute, } from '@angular/core';
2
- import { EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType } from '../common';
3
2
  import { NotifyDataChangedRequest } from '../../f-storage';
4
- import { F_CONNECTION } from '../common/f-connection.injection-token';
5
- //TODO: Need to deal with cyclic dependencies, since in some cases an error occurs when importing them ../common
6
- // TypeError: Class extends value undefined is not a constructor or null
7
- // at f-connection-for-create.component.ts:34:11
8
- import { FConnectionBase } from '../common/f-connection-base';
9
3
  import { castToEnum } from '@foblex/utils';
10
4
  import { FMediator } from '@foblex/mediator';
11
5
  import { AddConnectionToStoreRequest, RemoveConnectionFromStoreRequest } from '../../domain';
12
6
  import { stringAttribute } from '../../utils';
7
+ import { EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType, F_CONNECTION_COMPONENTS_PARENT, FConnectionBase, } from '../../f-connection-v2';
13
8
  import * as i0 from "@angular/core";
14
- import * as i1 from "../common/f-connection-text/f-connection-text.component";
15
- import * as i2 from "../common/f-drag-handle/f-connection-drag-handle-start.component";
16
- import * as i3 from "../common/f-drag-handle/f-connection-drag-handle-end.component";
17
- import * as i4 from "../common/f-gradient/f-connection-gradient.component";
18
- import * as i5 from "../common/f-path/f-connection-path.component";
19
- import * as i6 from "../common/f-selection/f-connection-selection.component";
9
+ import * as i1 from "../../f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start";
10
+ import * as i2 from "../../f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end";
11
+ import * as i3 from "../../f-connection-v2/components/connection-gradient/f-connection-gradient";
12
+ import * as i4 from "../../f-connection-v2/components/connection-path/f-connection-path";
13
+ import * as i5 from "../../f-connection-v2/components/connection-selection/f-connection-selection";
20
14
  let uniqueId = 0;
21
15
  export class FConnectionComponent extends FConnectionBase {
22
16
  fId = input(`f-connection-${uniqueId++}`, { alias: 'fConnectionId' });
23
- /** @deprecated [fText] is deprecated and will be removed in v18.0.0. Use FConnectionContent directive instead. */
24
- fText = '';
25
- /** @deprecated [fTextStartOffset] is deprecated and will be removed in v18.0.0. Use FConnectionContent directive instead. */
26
- fTextStartOffset = '';
27
17
  fOutputId = input('', {
28
18
  transform: (value) => stringAttribute(value) || '',
29
19
  });
@@ -64,7 +54,7 @@ export class FConnectionComponent extends FConnectionBase {
64
54
  this._mediator.execute(new RemoveConnectionFromStoreRequest(this));
65
55
  }
66
56
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
67
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fText: { classPropertyName: "fText", publicName: "fText", isSignal: false, isRequired: false, transformFunction: null }, fTextStartOffset: { classPropertyName: "fTextStartOffset", publicName: "fTextStartOffset", isSignal: false, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal: true, isRequired: false, transformFunction: null }, fInputId: { classPropertyName: "fInputId", publicName: "fInputId", isSignal: true, isRequired: false, transformFunction: null }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fReassignableStart: { classPropertyName: "fReassignableStart", publicName: "fReassignableStart", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fReassignDisabled", isSignal: true, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "fId()", "class.f-connection-selection-disabled": "fSelectionDisabled()", "class.f-connection-reassign-disabled": "fDraggingDisabled()" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n @if (fText) {\n <text f-connection-text></text>\n }\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\" />\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none}:host svg{overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: i1.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i2.FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: i3.FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: i4.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i5.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i6.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal: true, isRequired: false, transformFunction: null }, fInputId: { classPropertyName: "fInputId", publicName: "fInputId", isSignal: true, isRequired: false, transformFunction: null }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fReassignableStart: { classPropertyName: "fReassignableStart", publicName: "fReassignableStart", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fReassignDisabled", isSignal: true, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "fId()", "class.f-connection-selection-disabled": "fSelectionDisabled()", "class.f-connection-reassign-disabled": "fDraggingDisabled()" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionComponent }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n<ng-content select=\"f-connection-waypoints\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none}:host svg{display:block;vertical-align:middle;overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: i1.FConnectionDragHandleStart, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: i2.FConnectionDragHandleEnd, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: i3.FConnectionGradient, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i4.FConnectionPath, selector: "path[f-connection-path]" }, { kind: "component", type: i5.FConnectionSelection, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
68
58
  }
69
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, decorators: [{
70
60
  type: Component,
@@ -73,12 +63,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
73
63
  class: 'f-component f-connection',
74
64
  '[class.f-connection-selection-disabled]': 'fSelectionDisabled()',
75
65
  '[class.f-connection-reassign-disabled]': 'fDraggingDisabled()',
76
- }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n @if (fText) {\n <text f-connection-text></text>\n }\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\" />\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none}:host svg{overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"] }]
77
- }], propDecorators: { fText: [{
78
- type: Input
79
- }], fTextStartOffset: [{
80
- type: Input
81
- }], fRadius: [{
66
+ }, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n<ng-content select=\"f-connection-waypoints\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none}:host svg{display:block;vertical-align:middle;overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"] }]
67
+ }], propDecorators: { fRadius: [{
82
68
  type: Input,
83
69
  args: [{ transform: numberAttribute }]
84
70
  }], fOffset: [{
@@ -90,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
90
76
  }], fType: [{
91
77
  type: Input
92
78
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsZUFBZSxHQUloQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLGdIQUFnSDtBQUNoSCx3RUFBd0U7QUFDeEUsZ0RBQWdEO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7QUFFOUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBZ0JqQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZTtJQUN2QyxHQUFHLEdBQUcsS0FBSyxDQUFT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QUssRUFBRSwwQkFBMEI7d0JBQ2pDLHlDQUF5QyxFQUFFLHNCQUFzQjt3QkFDakUsd0NBQXdDLEVBQUUscUJBQXFCO3FCQUNoRSxhQUNVLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBQzs4QkFPekQsS0FBSztzQkFEcEIsS0FBSztnQkFLVSxnQkFBZ0I7c0JBRC9CLEtBQUs7Z0JBWVUsT0FBTztzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLE9BQU87c0JBRHRCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUlyQixTQUFTO3NCQUR4QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO2dCQUk5RSxLQUFLO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciwgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLCBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IE5vdGlmeURhdGFDaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG4vL1RPRE86IE5lZWQgdG8gZGVhbCB3aXRoIGN5Y2xpYyBkZXBlbmRlbmNpZXMsIHNpbmNlIGluIHNvbWUgY2FzZXMgYW4gZXJyb3Igb2NjdXJzIHdoZW4gaW1wb3J0aW5nIHRoZW0gLi4vY29tbW9uXG4vLyBUeXBlRXJyb3I6IENsYXNzIGV4dGVuZHMgdmFsdWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcbi8vIGF0IGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlLmNvbXBvbmVudC50czozNDoxMVxuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi1iYXNlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQWRkQ29ubmVjdGlvblRvU3RvcmVSZXF1ZXN0LCBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBzdHJpbmdBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtY29ubmVjdGlvbicsXG4gIGV4cG9ydEFzOiAnZkNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZJZCgpJyxcbiAgICBjbGFzczogJ2YtY29tcG9uZW50IGYtY29ubmVjdGlvbicsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQoKScsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tcmVhc3NpZ24tZGlzYWJsZWRdJzogJ2ZEcmFnZ2luZ0Rpc2FibGVkKCknLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfQ09OTkVDVElPTiwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkNvbXBvbmVudCBleHRlbmRzIEZDb25uZWN0aW9uQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgb3ZlcnJpZGUgZklkID0gaW5wdXQ8c3RyaW5nPihgZi1jb25uZWN0aW9uLSR7dW5pcXVlSWQrK31gLCB7IGFsaWFzOiAnZkNvbm5lY3Rpb25JZCcgfSk7XG5cbiAgLyoqIEBkZXByZWNhdGVkIFtmVGV4dF0gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHYxOC4wLjAuIFVzZSBGQ29ubmVjdGlvbkNvbnRlbnQgZGlyZWN0aXZlIGluc3RlYWQuICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEBkZXByZWNhdGVkIFtmVGV4dFN0YXJ0T2Zmc2V0XSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdjE4LjAuMC4gVXNlIEZDb25uZWN0aW9uQ29udGVudCBkaXJlY3RpdmUgaW5zdGVhZC4gKi9cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0U3RhcnRPZmZzZXQ6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0SWQgPSBpbnB1dDxzdHJpbmcsIHVua25vd24+KCcnLCB7XG4gICAgdHJhbnNmb3JtOiAodmFsdWUpID0+IHN0cmluZ0F0dHJpYnV0ZSh2YWx1ZSkgfHwgJycsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRJZCA9IGlucHV0PHN0cmluZywgdW5rbm93bj4oJycsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gc3RyaW5nQXR0cmlidXRlKHZhbHVlKSB8fCAnJyxcbiAgfSk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZSYWRpdXM6IG51bWJlciA9IDg7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZPZmZzZXQ6IG51bWJlciA9IDEyO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nID0gRUZDb25uZWN0aW9uVHlwZS5TVFJBSUdIVDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmUmVhc3NpZ25hYmxlU3RhcnQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnZ2luZ0Rpc2FibGVkID0gaW5wdXQoZmFsc2UsIHtcbiAgICBhbGlhczogJ2ZSZWFzc2lnbkRpc2FibGVkJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRTaWRlID0gaW5wdXQoRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkRFRkFVTFQsIHtcbiAgICB0cmFuc2Zvcm06ICh4KSA9PiB7XG4gICAgICByZXR1cm4gY2FzdFRvRW51bSh4LCAnZklucHV0U2lkZScsIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgfSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZPdXRwdXRTaWRlID0gaW5wdXQoRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkRFRkFVTFQsIHtcbiAgICB0cmFuc2Zvcm06ICh4KSA9PiB7XG4gICAgICByZXR1cm4gY2FzdFRvRW51bSh4LCAnZk91dHB1dFNpZGUnLCBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUpO1xuICAgIH0sXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgYm91bmRpbmdFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZlBhdGgoKS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgc3R5bGU9XCJkaXNwbGF5OiBibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcIj5cbiAgPGRlZnMgI2RlZnM+PC9kZWZzPlxuICA8bmctY29udGVudCAvPlxuICA8ZyBjbGFzcz1cImYtY29ubmVjdGlvbi1ncm91cFwiPlxuICAgIDxsaW5lYXJHcmFkaWVudCBmQ29ubmVjdGlvbkdyYWRpZW50PjwvbGluZWFyR3JhZGllbnQ+XG4gICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgIDxnPlxuICAgICAgPHBhdGggZi1jb25uZWN0aW9uLXBhdGggW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgQGlmIChmUmVhc3NpZ25hYmxlU3RhcnQoKSkge1xuICAgICAgICA8Y2lyY2xlIGYtY29ubmVjdGlvbi1kcmFnLWhhbmRsZS1zdGFydCByPVwiOFwiPjwvY2lyY2xlPlxuICAgICAgfVxuICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUtZW5kIHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgPC9nPlxuICAgIEBpZiAoZlRleHQpIHtcbiAgICAgIDx0ZXh0IGYtY29ubmVjdGlvbi10ZXh0PjwvdGV4dD5cbiAgICB9XG4gIDwvZz5cbjwvc3ZnPlxuQGlmIChmQ29ubmVjdGlvbkNlbnRlcnMoKS5sZW5ndGgpIHtcbiAgPGRpdiAjZkNvbm5lY3Rpb25DZW50ZXIgY2xhc3M9XCJmLWNvbm5lY3Rpb24tY2VudGVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZDb25uZWN0aW9uQ2VudGVyXVwiIC8+XG4gIDwvZGl2PlxufVxuXG5AaWYgKGZDb25uZWN0aW9uQ29udGVudHMoKS5sZW5ndGgpIHtcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZDb25uZWN0aW9uQ29udGVudF1cIiAvPlxufVxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsZUFBZSxHQUloQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixnQkFBZ0IsRUFDaEIsOEJBQThCLEVBQzlCLGVBQWUsR0FDaEIsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUUvQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFnQmpCLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxlQUFlO0lBQ3ZDLEdBQUcsR0FBRyxLQUFLLENBQVMsZ0JBQWdCLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUU5RSxTQUFTLEdBQUcsS0FBSyxDQUFrQixFQUFFLEVB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QUUsZUFBZSxFQUFFO2dCQUlyQixPQUFPO3NCQUR0QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFJckIsU0FBUztzQkFEeEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsb0JBQW9CLENBQUMsRUFBRTtnQkFJOUUsS0FBSztzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQWRkQ29ubmVjdGlvblRvU3RvcmVSZXF1ZXN0LCBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBzdHJpbmdBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQge1xuICBFRkNvbm5lY3Rpb25CZWhhdmlvcixcbiAgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLFxuICBFRkNvbm5lY3Rpb25UeXBlLFxuICBGX0NPTk5FQ1RJT05fQ09NUE9ORU5UU19QQVJFTlQsXG4gIEZDb25uZWN0aW9uQmFzZSxcbn0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uLXYyJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1jb25uZWN0aW9uJyxcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2YtY29ubmVjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnZklkKCknLFxuICAgIGNsYXNzOiAnZi1jb21wb25lbnQgZi1jb25uZWN0aW9uJyxcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1zZWxlY3Rpb24tZGlzYWJsZWRdJzogJ2ZTZWxlY3Rpb25EaXNhYmxlZCgpJyxcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1yZWFzc2lnbi1kaXNhYmxlZF0nOiAnZkRyYWdnaW5nRGlzYWJsZWQoKScsXG4gIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRl9DT05ORUNUSU9OX0NPTVBPTkVOVFNfUEFSRU5ULCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25Db21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBvdmVycmlkZSBmSWQgPSBpbnB1dDxzdHJpbmc+KGBmLWNvbm5lY3Rpb24tJHt1bmlxdWVJZCsrfWAsIHsgYWxpYXM6ICdmQ29ubmVjdGlvbklkJyB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZk91dHB1dElkID0gaW5wdXQ8c3RyaW5nLCB1bmtub3duPignJywge1xuICAgIHRyYW5zZm9ybTogKHZhbHVlKSA9PiBzdHJpbmdBdHRyaWJ1dGUodmFsdWUpIHx8ICcnLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZklucHV0SWQgPSBpbnB1dDxzdHJpbmcsIHVua25vd24+KCcnLCB7XG4gICAgdHJhbnNmb3JtOiAodmFsdWUpID0+IHN0cmluZ0F0dHJpYnV0ZSh2YWx1ZSkgfHwgJycsXG4gIH0pO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmUmFkaXVzOiBudW1iZXIgPSA4O1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmT2Zmc2V0OiBudW1iZXIgPSAxMjtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZCZWhhdmlvcicsIEVGQ29ubmVjdGlvbkJlaGF2aW9yKSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvciA9IEVGQ29ubmVjdGlvbkJlaGF2aW9yLkZJWEVEO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmVHlwZTogRUZDb25uZWN0aW9uVHlwZSB8IHN0cmluZyA9IEVGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFQ7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25EaXNhYmxlZCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlJlYXNzaWduYWJsZVN0YXJ0ID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ2dpbmdEaXNhYmxlZCA9IGlucHV0KGZhbHNlLCB7XG4gICAgYWxpYXM6ICdmUmVhc3NpZ25EaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZklucHV0U2lkZSA9IGlucHV0KEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5ERUZBVUxULCB7XG4gICAgdHJhbnNmb3JtOiAoeCkgPT4ge1xuICAgICAgcmV0dXJuIGNhc3RUb0VudW0oeCwgJ2ZJbnB1dFNpZGUnLCBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUpO1xuICAgIH0sXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0U2lkZSA9IGlucHV0KEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5ERUZBVUxULCB7XG4gICAgdHJhbnNmb3JtOiAoeCkgPT4ge1xuICAgICAgcmV0dXJuIGNhc3RUb0VudW0oeCwgJ2ZPdXRwdXRTaWRlJywgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlKTtcbiAgICB9LFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGJvdW5kaW5nRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZQYXRoKCkuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBBZGRDb25uZWN0aW9uVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IE5vdGlmeURhdGFDaGFuZ2VkUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cbn1cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICA8ZGVmcyAjZGVmcz48L2RlZnM+XG4gIDxuZy1jb250ZW50IC8+XG4gIDxnIGNsYXNzPVwiZi1jb25uZWN0aW9uLWdyb3VwXCI+XG4gICAgPGxpbmVhckdyYWRpZW50IGZDb25uZWN0aW9uR3JhZGllbnQ+PC9saW5lYXJHcmFkaWVudD5cbiAgICA8cGF0aCBmQ29ubmVjdGlvblNlbGVjdGlvbiBbYXR0ci5kXT1cInBhdGhcIj48L3BhdGg+XG4gICAgPGc+XG4gICAgICA8cGF0aCBmLWNvbm5lY3Rpb24tcGF0aCBbYXR0ci5kXT1cInBhdGhcIj48L3BhdGg+XG4gICAgICBAaWYgKGZSZWFzc2lnbmFibGVTdGFydCgpKSB7XG4gICAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlLXN0YXJ0IHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgICB9XG4gICAgICA8Y2lyY2xlIGYtY29ubmVjdGlvbi1kcmFnLWhhbmRsZS1lbmQgcj1cIjhcIj48L2NpcmNsZT5cbiAgICA8L2c+XG4gIDwvZz5cbjwvc3ZnPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uLXdheXBvaW50c1wiIC8+XG5cbkBpZiAoZkNvbnRlbnRzKCkubGVuZ3RoKSB7XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltmQ29ubmVjdGlvbkNvbnRlbnRdXCIgLz5cbn1cbiJdfQ==
@@ -1,27 +1,18 @@
1
1
  import { ChangeDetectionStrategy, Component, inject, input, Input, numberAttribute, signal, } from '@angular/core';
2
- import { EFConnectionBehavior, EFConnectionConnectableSide } from '../common';
3
- import { EFConnectionType } from '../common';
4
2
  import { NotifyDataChangedRequest } from '../../f-storage';
5
- import { F_CONNECTION } from '../common/f-connection.injection-token';
6
- //TODO: Need to deal with cyclic dependencies, since in some cases an error occurs when importing them ../common
7
- // TypeError: Class extends value undefined is not a constructor or null
8
- // at f-connection-for-create.component.ts:34:11
9
- import { FConnectionBase } from '../common/f-connection-base';
10
3
  import { castToEnum } from '@foblex/utils';
11
4
  import { FMediator } from '@foblex/mediator';
12
5
  import { AddConnectionForCreateToStoreRequest, RemoveConnectionForCreateFromStoreRequest, } from '../../domain';
6
+ import { EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType, F_CONNECTION_COMPONENTS_PARENT, FConnectionBase, } from '../../f-connection-v2';
13
7
  import * as i0 from "@angular/core";
14
- import * as i1 from "../common/f-connection-text/f-connection-text.component";
15
- import * as i2 from "../common/f-drag-handle/f-connection-drag-handle-start.component";
16
- import * as i3 from "../common/f-drag-handle/f-connection-drag-handle-end.component";
17
- import * as i4 from "../common/f-gradient/f-connection-gradient.component";
18
- import * as i5 from "../common/f-path/f-connection-path.component";
19
- import * as i6 from "../common/f-selection/f-connection-selection.component";
8
+ import * as i1 from "../../f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-start";
9
+ import * as i2 from "../../f-connection-v2/components/connection-drag-handles/f-connection-drag-handle-end";
10
+ import * as i3 from "../../f-connection-v2/components/connection-gradient/f-connection-gradient";
11
+ import * as i4 from "../../f-connection-v2/components/connection-path/f-connection-path";
12
+ import * as i5 from "../../f-connection-v2/components/connection-selection/f-connection-selection";
20
13
  let uniqueId = 0;
21
14
  export class FConnectionForCreateComponent extends FConnectionBase {
22
15
  fId = signal(`f-connection-for-create-${uniqueId++}`);
23
- fText = '';
24
- fTextStartOffset = '';
25
16
  fOutputId = signal('');
26
17
  fInputId = signal('');
27
18
  fRadius = 8;
@@ -55,13 +46,17 @@ export class FConnectionForCreateComponent extends FConnectionBase {
55
46
  this._mediator.execute(new RemoveConnectionForCreateFromStoreRequest());
56
47
  }
57
48
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionForCreateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
58
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionForCreateComponent, selector: "f-connection-for-create", inputs: { fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "f-component f-connection f-connection-for-create" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionForCreateComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: i1.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i2.FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: i3.FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: i4.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i5.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i6.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionForCreateComponent, selector: "f-connection-for-create", inputs: { fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "f-component f-connection f-connection-for-create" }, providers: [
50
+ { provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionForCreateComponent },
51
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: i1.FConnectionDragHandleStart, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: i2.FConnectionDragHandleEnd, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: i3.FConnectionGradient, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i4.FConnectionPath, selector: "path[f-connection-path]" }, { kind: "component", type: i5.FConnectionSelection, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
52
  }
60
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionForCreateComponent, decorators: [{
61
54
  type: Component,
62
55
  args: [{ selector: 'f-connection-for-create', changeDetection: ChangeDetectionStrategy.OnPush, host: {
63
56
  class: 'f-component f-connection f-connection-for-create',
64
- }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionForCreateComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"] }]
57
+ }, providers: [
58
+ { provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionForCreateComponent },
59
+ ], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"] }]
65
60
  }], propDecorators: { fRadius: [{
66
61
  type: Input,
67
62
  args: [{ transform: numberAttribute }]
@@ -74,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
74
69
  }], fType: [{
75
70
  type: Input
76
71
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsZUFBZSxFQUlmLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RSxnSEFBZ0g7QUFDaEgsd0VBQXdFO0FBQ3hFLGdEQUFnRDtBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLG9DQUFvQyxFQUNwQyx5Q0FBeUMsR0FDMUMsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7O0FBRXRCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQVlqQixNQUFNLE9BQU8sNkJBQ1gsU0FBUSxlQUFlO0lBR1AsR0FBRyxHQUFHLE1BQU0sQ0FBUywyQkFBMkIsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTlELEtBQUssR0FBVyxFQUFFLENBQUM7SUFFbkIsZ0JBQWdCLEdBQVcsRUFBRSxDQUFDO0lBRTlCLFNBQVMsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFdkIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUd0QixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBR3BCLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFHckIsU0FBUyxHQUF5QixvQkFBb0IsQ0FBQyxLQUFLLENBQUM7SUFHN0QsS0FBSyxHQUE4QixnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7SUFFN0QsVUFBVSxHQUFHLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLEVBQUU7UUFDdEUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixPQUFPLFVBQVUsQ0FBQyxDQUFDLEVBQUUsWUFBWSxFQUFFLDJCQUEyQixDQUFDLENBQUM7UUFDbEUsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVhLFdBQVcsR0FBRyxLQUFLLENBQUMsMkJBQTJCLENBQUMsT0FBTyxFQUFFO1FBQ3ZFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsT0FBTyxVQUFVLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO1FBQ25FLENBQUM7S0FDRixDQUFDLENBQUM7SUFFSCxJQUFvQixlQUFlO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRWdCLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEMsUUFBUTtRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksb0NBQW9DLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLHdCQUF3QixFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLHlDQUF5QyxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO3dHQTFEVSw2QkFBNkI7NEZBQTdCLDZCQUE2Qix3S0FjcEIsZUFBZSwySEFHZixlQUFlLGlJQUdmLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyx5ZUF0QmpGLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSw2QkFBNkIsRUFBRSxDQUFDLHNFQ3RDcEYsNHdCQXVCQTs7NEZEaUJhLDZCQUE2QjtrQkFWekMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLGtEQUFrRDtxQkFDMUQsYUFDVSxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLCtCQUErQixFQUFFLENBQUM7OEJBaUJsRSxPQUFPO3NCQUR0QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFJckIsT0FBTztzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLFNBQVM7c0JBRHhCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixDQUFDLEVBQUU7Z0JBSTlFLEtBQUs7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IsIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IE5vdGlmeURhdGFDaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG4vL1RPRE86IE5lZWQgdG8gZGVhbCB3aXRoIGN5Y2xpYyBkZXBlbmRlbmNpZXMsIHNpbmNlIGluIHNvbWUgY2FzZXMgYW4gZXJyb3Igb2NjdXJzIHdoZW4gaW1wb3J0aW5nIHRoZW0gLi4vY29tbW9uXG4vLyBUeXBlRXJyb3I6IENsYXNzIGV4dGVuZHMgdmFsdWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcbi8vIGF0IGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlLmNvbXBvbmVudC50czozNDoxMVxuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi1iYXNlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkQ29ubmVjdGlvbkZvckNyZWF0ZVRvU3RvcmVSZXF1ZXN0LFxuICBSZW1vdmVDb25uZWN0aW9uRm9yQ3JlYXRlRnJvbVN0b3JlUmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1jb25uZWN0aW9uLWZvci1jcmVhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZi1jb21wb25lbnQgZi1jb25uZWN0aW9uIGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBGX0NPTk5FQ1RJT04sIHVzZUV4aXN0aW5nOiBGQ29ubmVjdGlvbkZvckNyZWF0ZUNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnRcbiAgZXh0ZW5kcyBGQ29ubmVjdGlvbkJhc2VcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95XG57XG4gIHB1YmxpYyBvdmVycmlkZSBmSWQgPSBzaWduYWw8c3RyaW5nPihgZi1jb25uZWN0aW9uLWZvci1jcmVhdGUtJHt1bmlxdWVJZCsrfWApO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0U3RhcnRPZmZzZXQ6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0SWQgPSBzaWduYWwoJycpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRJZCA9IHNpZ25hbCgnJyk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZSYWRpdXM6IG51bWJlciA9IDg7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZPZmZzZXQ6IG51bWJlciA9IDEyO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nID0gRUZDb25uZWN0aW9uVHlwZS5TVFJBSUdIVDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZklucHV0U2lkZSA9IGlucHV0KEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5ERUZBVUxULCB7XG4gICAgdHJhbnNmb3JtOiAoeCkgPT4ge1xuICAgICAgcmV0dXJuIGNhc3RUb0VudW0oeCwgJ2ZJbnB1dFNpZGUnLCBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUpO1xuICAgIH0sXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0U2lkZSA9IGlucHV0KEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5ERUZBVUxULCB7XG4gICAgdHJhbnNmb3JtOiAoeCkgPT4ge1xuICAgICAgcmV0dXJuIGNhc3RUb0VudW0oeCwgJ2ZPdXRwdXRTaWRlJywgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlKTtcbiAgICB9LFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGJvdW5kaW5nRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZQYXRoKCkuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBBZGRDb25uZWN0aW9uRm9yQ3JlYXRlVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBOb3RpZnlEYXRhQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlQ29ubmVjdGlvbkZvckNyZWF0ZUZyb21TdG9yZVJlcXVlc3QoKSk7XG4gIH1cbn1cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICA8ZGVmcyAjZGVmcz48L2RlZnM+XG4gIDxnIGNsYXNzPVwiZi1jb25uZWN0aW9uLWdyb3VwXCI+XG4gICAgPGxpbmVhckdyYWRpZW50IGZDb25uZWN0aW9uR3JhZGllbnQ+PC9saW5lYXJHcmFkaWVudD5cbiAgICA8cGF0aCBmQ29ubmVjdGlvblNlbGVjdGlvbiBbYXR0ci5kXT1cInBhdGhcIj48L3BhdGg+XG4gICAgPGc+XG4gICAgICA8cGF0aCBmLWNvbm5lY3Rpb24tcGF0aCBbYXR0ci5kXT1cInBhdGhcIj48L3BhdGg+XG4gICAgICA8Y2lyY2xlIGYtY29ubmVjdGlvbi1kcmFnLWhhbmRsZS1zdGFydCByPVwiOFwiPjwvY2lyY2xlPlxuICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUtZW5kIHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgPC9nPlxuICAgIDx0ZXh0IGYtY29ubmVjdGlvbi10ZXh0PjwvdGV4dD5cbiAgPC9nPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3N2Zz5cbkBpZiAoZkNvbm5lY3Rpb25DZW50ZXJzKCkubGVuZ3RoKSB7XG4gIDxkaXYgI2ZDb25uZWN0aW9uQ2VudGVyIGNsYXNzPVwiZi1jb25uZWN0aW9uLWNlbnRlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmQ29ubmVjdGlvbkNlbnRlcl1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxufVxuXG5AaWYgKGZDb25uZWN0aW9uQ29udGVudHMoKS5sZW5ndGgpIHtcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZDb25uZWN0aW9uQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWZvci1jcmVhdGUvZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsZUFBZSxFQUlmLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsb0NBQW9DLEVBQ3BDLHlDQUF5QyxHQUMxQyxNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixnQkFBZ0IsRUFDaEIsOEJBQThCLEVBQzlCLGVBQWUsR0FDaEIsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUUvQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFjakIsTUFBTSxPQUFPLDZCQUNYLFNBQVEsZUFBZTtJQUdQLEdBQUcsR0FBRyxNQUFNLENBQVMsMkJBQTJCLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU5RCxTQUFTLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXZCLFFBQVEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFHdEIsT0FBTyxHQUFXLENBQUMsQ0FBQztJQUdwQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBR3JCLFNBQVMsR0FBeUIsb0JBQW9CLENBQUMsS0FBSyxDQUFDO0lBRzdELEtBQUssR0FBOEIsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0lBRTdELFVBQVUsR0FBRyxLQUFLLENBQUMsMkJBQTJCLENBQUMsT0FBTyxFQUFFO1FBQ3RFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsT0FBTyxVQUFVLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7S0FDRixDQUFDLENBQUM7SUFFYSxXQUFXLEdBQUcsS0FBSyxDQUFDLDJCQUEyQixDQUFDLE9BQU8sRUFBRTtRQUN2RSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNmLE9BQU8sVUFBVSxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztRQUNuRSxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsSUFBb0IsZUFBZTtRQUNqQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVnQixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXhDLFFBQVE7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLG9DQUFvQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSx5Q0FBeUMsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQzt3R0F0RFUsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsd0tBVXBCLGVBQWUsMkhBR2YsZUFBZSxpSUFHZixDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsb0JBQW9CLENBQUMseWVBcEJqRjtZQUNULEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLFdBQVcsRUFBRSw2QkFBNkIsRUFBRTtTQUN4RixzRUN4Q0gsd2lCQWlCQTs7NEZEeUJhLDZCQUE2QjtrQkFaekMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLGtEQUFrRDtxQkFDMUQsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxXQUFXLCtCQUErQixFQUFFO3FCQUN4Rjs4QkFhZSxPQUFPO3NCQUR0QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFJckIsT0FBTztzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLFNBQVM7c0JBRHhCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixDQUFDLEVBQUU7Z0JBSTlFLEtBQUs7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkQ29ubmVjdGlvbkZvckNyZWF0ZVRvU3RvcmVSZXF1ZXN0LFxuICBSZW1vdmVDb25uZWN0aW9uRm9yQ3JlYXRlRnJvbVN0b3JlUmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEVGQ29ubmVjdGlvbkJlaGF2aW9yLFxuICBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUsXG4gIEVGQ29ubmVjdGlvblR5cGUsXG4gIEZfQ09OTkVDVElPTl9DT01QT05FTlRTX1BBUkVOVCxcbiAgRkNvbm5lY3Rpb25CYXNlLFxufSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24tdjInO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2YtY29ubmVjdGlvbi1mb3ItY3JlYXRlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb24gZi1jb25uZWN0aW9uLWZvci1jcmVhdGUnLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfQ09OTkVDVElPTl9DT01QT05FTlRTX1BBUkVOVCwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50IH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50XG4gIGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICBwdWJsaWMgb3ZlcnJpZGUgZklkID0gc2lnbmFsPHN0cmluZz4oYGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlLSR7dW5pcXVlSWQrK31gKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZk91dHB1dElkID0gc2lnbmFsKCcnKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZklucHV0SWQgPSBzaWduYWwoJycpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmUmFkaXVzOiBudW1iZXIgPSA4O1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmT2Zmc2V0OiBudW1iZXIgPSAxMjtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZCZWhhdmlvcicsIEVGQ29ubmVjdGlvbkJlaGF2aW9yKSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvciA9IEVGQ29ubmVjdGlvbkJlaGF2aW9yLkZJWEVEO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmVHlwZTogRUZDb25uZWN0aW9uVHlwZSB8IHN0cmluZyA9IEVGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFQ7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZJbnB1dFNpZGUgPSBpbnB1dChFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuREVGQVVMVCwge1xuICAgIHRyYW5zZm9ybTogKHgpID0+IHtcbiAgICAgIHJldHVybiBjYXN0VG9FbnVtKHgsICdmSW5wdXRTaWRlJywgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlKTtcbiAgICB9LFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZk91dHB1dFNpZGUgPSBpbnB1dChFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuREVGQVVMVCwge1xuICAgIHRyYW5zZm9ybTogKHgpID0+IHtcbiAgICAgIHJldHVybiBjYXN0VG9FbnVtKHgsICdmT3V0cHV0U2lkZScsIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgfSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBib3VuZGluZ0VsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mUGF0aCgpLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgQWRkQ29ubmVjdGlvbkZvckNyZWF0ZVRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZUNvbm5lY3Rpb25Gb3JDcmVhdGVGcm9tU3RvcmVSZXF1ZXN0KCkpO1xuICB9XG59XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPGRlZnMgI2RlZnM+PC9kZWZzPlxuICA8bmctY29udGVudCAvPlxuICA8ZyBjbGFzcz1cImYtY29ubmVjdGlvbi1ncm91cFwiPlxuICAgIDxsaW5lYXJHcmFkaWVudCBmQ29ubmVjdGlvbkdyYWRpZW50PjwvbGluZWFyR3JhZGllbnQ+XG4gICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgIDxnPlxuICAgICAgPHBhdGggZi1jb25uZWN0aW9uLXBhdGggW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUtc3RhcnQgcj1cIjhcIj48L2NpcmNsZT5cbiAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlLWVuZCByPVwiOFwiPjwvY2lyY2xlPlxuICAgIDwvZz5cbiAgPC9nPlxuPC9zdmc+XG5cbkBpZiAoZkNvbnRlbnRzKCkubGVuZ3RoKSB7XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltmQ29ubmVjdGlvbkNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxufVxuIl19