@foblex/flow 17.0.0 → 17.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. package/domain/f-background/add-background-to-store/add-background-to-store-request.d.ts +5 -0
  2. package/domain/f-background/add-background-to-store/add-background-to-store.execution.d.ts +9 -0
  3. package/domain/f-background/add-background-to-store/index.d.ts +2 -0
  4. package/domain/f-background/index.d.ts +3 -0
  5. package/domain/f-background/providers.d.ts +4 -1
  6. package/domain/f-background/remove-background-from-store/index.d.ts +2 -0
  7. package/domain/f-background/remove-background-from-store/remove-background-from-store-request.d.ts +5 -0
  8. package/domain/f-background/remove-background-from-store/remove-background-from-store.execution.d.ts +9 -0
  9. package/domain/f-background/set-background-transform/index.d.ts +2 -0
  10. package/domain/f-background/set-background-transform/set-background-transform-request.d.ts +5 -0
  11. package/domain/f-background/set-background-transform/set-background-transform.execution.d.ts +9 -0
  12. package/domain/f-canvas/add-canvas-to-store/add-canvas-to-store-request.d.ts +5 -0
  13. package/domain/f-canvas/add-canvas-to-store/add-canvas-to-store.execution.d.ts +9 -0
  14. package/domain/f-canvas/add-canvas-to-store/index.d.ts +2 -0
  15. package/domain/f-canvas/center-group-or-node/center-group-or-node.execution.d.ts +2 -3
  16. package/domain/f-canvas/fit-to-flow/fit-to-flow.execution.d.ts +3 -5
  17. package/domain/f-canvas/get-canvas/get-canvas-request.d.ts +2 -0
  18. package/domain/f-canvas/get-canvas/get-canvas.execution.d.ts +10 -0
  19. package/domain/f-canvas/get-canvas/index.d.ts +2 -0
  20. package/domain/f-canvas/index.d.ts +4 -0
  21. package/domain/f-canvas/input-canvas-position/input-canvas-position.execution.d.ts +1 -3
  22. package/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.d.ts +1 -3
  23. package/domain/f-canvas/providers.d.ts +5 -1
  24. package/domain/f-canvas/redraw-canvas-with-animation/index.d.ts +2 -0
  25. package/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation-request.d.ts +4 -0
  26. package/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation.execution.d.ts +12 -0
  27. package/domain/f-canvas/remove-canvas-from-store/index.d.ts +2 -0
  28. package/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store-request.d.ts +2 -0
  29. package/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.execution.d.ts +9 -0
  30. package/domain/f-canvas/reset-scale/reset-scale.execution.d.ts +1 -3
  31. package/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.d.ts +3 -5
  32. package/domain/f-canvas/update-scale/update-scale.execution.d.ts +1 -3
  33. package/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.d.ts +5 -0
  34. package/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.execution.d.ts +9 -0
  35. package/domain/f-connection/add-connection-for-create-to-store/index.d.ts +2 -0
  36. package/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.d.ts +5 -0
  37. package/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.execution.d.ts +9 -0
  38. package/domain/f-connection/add-connection-marker-to-store/index.d.ts +2 -0
  39. package/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.d.ts +1 -3
  40. package/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.d.ts +5 -0
  41. package/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.execution.d.ts +9 -0
  42. package/domain/f-connection/add-snap-connection-to-store/index.d.ts +2 -0
  43. package/domain/{create-connection-markers → f-connection/create-connection-markers}/create-connection-markers-request.d.ts +1 -1
  44. package/domain/{create-connection-markers → f-connection/create-connection-markers}/create-connection-markers.execution.d.ts +2 -2
  45. package/domain/f-connection/index.d.ts +8 -0
  46. package/domain/f-connection/providers.d.ts +9 -1
  47. package/domain/{redraw-connections → f-connection/redraw-connections}/redraw-connections.execution.d.ts +1 -1
  48. package/domain/f-connection/remove-connection-for-create-from-store/index.d.ts +2 -0
  49. package/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store-request.d.ts +2 -0
  50. package/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.execution.d.ts +9 -0
  51. package/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.d.ts +2 -3
  52. package/domain/f-connection/remove-connection-marker-from-store/index.d.ts +2 -0
  53. package/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.d.ts +5 -0
  54. package/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.execution.d.ts +9 -0
  55. package/domain/f-connection/remove-snap-connection-from-store/index.d.ts +2 -0
  56. package/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store-request.d.ts +2 -0
  57. package/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.execution.d.ts +9 -0
  58. package/domain/f-connectors/add-input-to-store/add-input-to-store-request.d.ts +5 -0
  59. package/domain/f-connectors/add-input-to-store/add-input-to-store.execution.d.ts +9 -0
  60. package/domain/f-connectors/add-input-to-store/index.d.ts +2 -0
  61. package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.d.ts +5 -0
  62. package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.d.ts +9 -0
  63. package/domain/f-connectors/add-outlet-to-store/index.d.ts +2 -0
  64. package/domain/f-connectors/add-output-to-store/add-output-to-store-request.d.ts +5 -0
  65. package/domain/f-connectors/add-output-to-store/add-output-to-store.execution.d.ts +9 -0
  66. package/domain/f-connectors/add-output-to-store/index.d.ts +2 -0
  67. package/domain/f-connectors/index.d.ts +7 -0
  68. package/domain/f-connectors/providers.d.ts +7 -0
  69. package/domain/f-connectors/remove-input-from-store/index.d.ts +2 -0
  70. package/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.d.ts +5 -0
  71. package/domain/f-connectors/remove-input-from-store/remove-input-from-store.execution.d.ts +9 -0
  72. package/domain/f-connectors/remove-outlet-from-store/index.d.ts +2 -0
  73. package/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store-request.d.ts +5 -0
  74. package/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store.execution.d.ts +9 -0
  75. package/domain/f-connectors/remove-output-from-store/index.d.ts +2 -0
  76. package/domain/f-connectors/remove-output-from-store/remove-output-from-store-request.d.ts +5 -0
  77. package/domain/f-connectors/remove-output-from-store/remove-output-from-store.execution.d.ts +9 -0
  78. package/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.d.ts +5 -0
  79. package/domain/f-draggable/add-dnd-to-store/add-dnd-to-store.execution.d.ts +9 -0
  80. package/domain/f-draggable/add-dnd-to-store/index.d.ts +2 -0
  81. package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event-request.d.ts +2 -0
  82. package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +12 -0
  83. package/domain/f-draggable/emit-selection-change-event/index.d.ts +2 -0
  84. package/domain/f-draggable/end-drag-sequence/end-drag-sequence-request.d.ts +2 -0
  85. package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +11 -0
  86. package/domain/f-draggable/end-drag-sequence/index.d.ts +2 -0
  87. package/domain/f-draggable/index.d.ts +10 -0
  88. package/domain/f-draggable/initialize-drag-sequence/index.d.ts +2 -0
  89. package/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence-request.d.ts +2 -0
  90. package/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.d.ts +9 -0
  91. package/domain/f-draggable/is-drag-started/index.d.ts +2 -0
  92. package/domain/f-draggable/is-drag-started/is-drag-started-request.d.ts +2 -0
  93. package/domain/f-draggable/is-drag-started/is-drag-started.execution.d.ts +9 -0
  94. package/domain/f-draggable/on-pointer-move/index.d.ts +2 -0
  95. package/domain/f-draggable/on-pointer-move/on-pointer-move-request.d.ts +5 -0
  96. package/domain/f-draggable/on-pointer-move/on-pointer-move.execution.d.ts +14 -0
  97. package/domain/f-draggable/prepare-drag-sequence/index.d.ts +2 -0
  98. package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence-request.d.ts +2 -0
  99. package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.d.ts +11 -0
  100. package/domain/f-draggable/providers.d.ts +10 -0
  101. package/domain/f-draggable/remove-dnd-from-store/index.d.ts +2 -0
  102. package/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store-request.d.ts +2 -0
  103. package/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store.execution.d.ts +9 -0
  104. package/domain/f-draggable/start-drag-sequence/index.d.ts +2 -0
  105. package/domain/f-draggable/start-drag-sequence/start-drag-sequence-request.d.ts +2 -0
  106. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +12 -0
  107. package/domain/f-flow/add-flow-to-store/add-flow-to-store-request.d.ts +5 -0
  108. package/domain/f-flow/add-flow-to-store/add-flow-to-store.execution.d.ts +9 -0
  109. package/domain/f-flow/add-flow-to-store/index.d.ts +2 -0
  110. package/domain/f-flow/get-flow/get-flow-request.d.ts +2 -0
  111. package/domain/f-flow/get-flow/get-flow.execution.d.ts +10 -0
  112. package/domain/f-flow/get-flow/index.d.ts +2 -0
  113. package/domain/f-flow/get-flow-host-element/get-flow-host-element.execution.d.ts +9 -0
  114. package/domain/f-flow/get-flow-host-element/get-flow-host-element.request.d.ts +2 -0
  115. package/domain/f-flow/get-flow-host-element/index.d.ts +2 -0
  116. package/domain/f-flow/index.d.ts +5 -0
  117. package/domain/f-flow/providers.d.ts +5 -0
  118. package/domain/f-flow/remove-flow-from-store/index.d.ts +2 -0
  119. package/domain/f-flow/remove-flow-from-store/remove-flow-from-store-request.d.ts +2 -0
  120. package/domain/f-flow/remove-flow-from-store/remove-flow-from-store.execution.d.ts +9 -0
  121. package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.d.ts +5 -0
  122. package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.d.ts +9 -0
  123. package/domain/f-line-alignment/add-line-alignment-to-store/index.d.ts +2 -0
  124. package/domain/f-line-alignment/index.d.ts +3 -0
  125. package/domain/f-line-alignment/providers.d.ts +3 -0
  126. package/domain/f-line-alignment/remove-line-alignment-from-store/index.d.ts +2 -0
  127. package/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store-request.d.ts +2 -0
  128. package/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.d.ts +9 -0
  129. package/domain/f-node/add-node-to-store/add-node-to-store-request.d.ts +5 -0
  130. package/domain/f-node/add-node-to-store/add-node-to-store.execution.d.ts +9 -0
  131. package/domain/f-node/add-node-to-store/index.d.ts +2 -0
  132. package/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.d.ts +12 -0
  133. package/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.request.d.ts +2 -0
  134. package/domain/f-node/calculate-nodes-bounding-box/index.d.ts +2 -0
  135. package/domain/f-node/get-nodes/get-nodes-request.d.ts +2 -0
  136. package/domain/f-node/get-nodes/get-nodes.execution.d.ts +10 -0
  137. package/domain/f-node/get-nodes/index.d.ts +2 -0
  138. package/domain/f-node/index.d.ts +6 -0
  139. package/domain/f-node/providers.d.ts +6 -0
  140. package/domain/f-node/remove-node-from-store/index.d.ts +2 -0
  141. package/domain/f-node/remove-node-from-store/remove-node-from-store-request.d.ts +5 -0
  142. package/domain/f-node/remove-node-from-store/remove-node-from-store.execution.d.ts +9 -0
  143. package/domain/f-node/update-node-when-state-or-size-changed/index.d.ts +2 -0
  144. package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.d.ts +7 -0
  145. package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.d.ts +10 -0
  146. package/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.d.ts +5 -6
  147. package/domain/get-flow-state/i-f-flow-state-connection.d.ts +1 -1
  148. package/domain/index.d.ts +7 -8
  149. package/domain/is-mobile.d.ts +1 -0
  150. package/domain/providers.d.ts +1 -8
  151. package/domain/transition-end.d.ts +1 -0
  152. package/esm2022/domain/f-background/add-background-to-store/add-background-to-store-request.mjs +6 -0
  153. package/esm2022/domain/f-background/add-background-to-store/add-background-to-store.execution.mjs +23 -0
  154. package/esm2022/domain/f-background/add-background-to-store/index.mjs +3 -0
  155. package/esm2022/domain/f-background/index.mjs +4 -1
  156. package/esm2022/domain/f-background/providers.mjs +8 -2
  157. package/esm2022/domain/f-background/remove-background-from-store/index.mjs +3 -0
  158. package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store-request.mjs +6 -0
  159. package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store.execution.mjs +23 -0
  160. package/esm2022/domain/f-background/set-background-transform/index.mjs +3 -0
  161. package/esm2022/domain/f-background/set-background-transform/set-background-transform-request.mjs +6 -0
  162. package/esm2022/domain/f-background/set-background-transform/set-background-transform.execution.mjs +23 -0
  163. package/esm2022/domain/f-canvas/add-canvas-to-store/add-canvas-to-store-request.mjs +6 -0
  164. package/esm2022/domain/f-canvas/add-canvas-to-store/add-canvas-to-store.execution.mjs +23 -0
  165. package/esm2022/domain/f-canvas/add-canvas-to-store/index.mjs +3 -0
  166. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +15 -16
  167. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +15 -18
  168. package/esm2022/domain/f-canvas/get-canvas/get-canvas-request.mjs +3 -0
  169. package/esm2022/domain/f-canvas/get-canvas/get-canvas.execution.mjs +27 -0
  170. package/esm2022/domain/f-canvas/get-canvas/index.mjs +3 -0
  171. package/esm2022/domain/f-canvas/index.mjs +5 -1
  172. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +8 -8
  173. package/esm2022/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.mjs +8 -8
  174. package/esm2022/domain/f-canvas/providers.mjs +9 -1
  175. package/esm2022/domain/f-canvas/redraw-canvas-with-animation/index.mjs +3 -0
  176. package/esm2022/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation-request.mjs +6 -0
  177. package/esm2022/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation.execution.mjs +36 -0
  178. package/esm2022/domain/f-canvas/remove-canvas-from-store/index.mjs +3 -0
  179. package/esm2022/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store-request.mjs +3 -0
  180. package/esm2022/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.execution.mjs +23 -0
  181. package/esm2022/domain/f-canvas/reset-scale/reset-scale.execution.mjs +9 -9
  182. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +15 -18
  183. package/esm2022/domain/f-canvas/update-scale/update-scale.execution.mjs +9 -9
  184. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.mjs +6 -0
  185. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.execution.mjs +23 -0
  186. package/esm2022/domain/f-connection/add-connection-for-create-to-store/index.mjs +3 -0
  187. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.mjs +6 -0
  188. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.execution.mjs +23 -0
  189. package/esm2022/domain/f-connection/add-connection-marker-to-store/index.mjs +3 -0
  190. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.mjs +9 -9
  191. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.mjs +6 -0
  192. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.execution.mjs +23 -0
  193. package/esm2022/domain/f-connection/add-snap-connection-to-store/index.mjs +3 -0
  194. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers-request.mjs +6 -0
  195. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +60 -0
  196. package/esm2022/domain/f-connection/create-connection-markers/index.mjs +3 -0
  197. package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.mjs +3 -3
  198. package/esm2022/domain/f-connection/index.mjs +9 -1
  199. package/esm2022/domain/f-connection/providers.mjs +18 -2
  200. package/esm2022/domain/f-connection/redraw-connections/index.mjs +3 -0
  201. package/esm2022/domain/f-connection/redraw-connections/redraw-connections-request.mjs +3 -0
  202. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +60 -0
  203. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/index.mjs +3 -0
  204. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store-request.mjs +3 -0
  205. package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.execution.mjs +23 -0
  206. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.mjs +14 -11
  207. package/esm2022/domain/f-connection/remove-connection-marker-from-store/index.mjs +3 -0
  208. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.mjs +6 -0
  209. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.execution.mjs +23 -0
  210. package/esm2022/domain/f-connection/remove-snap-connection-from-store/index.mjs +3 -0
  211. package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store-request.mjs +3 -0
  212. package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.execution.mjs +23 -0
  213. package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store-request.mjs +6 -0
  214. package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store.execution.mjs +23 -0
  215. package/esm2022/domain/f-connectors/add-input-to-store/index.mjs +3 -0
  216. package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.mjs +6 -0
  217. package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.mjs +23 -0
  218. package/esm2022/domain/f-connectors/add-outlet-to-store/index.mjs +3 -0
  219. package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store-request.mjs +6 -0
  220. package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.execution.mjs +23 -0
  221. package/esm2022/domain/f-connectors/add-output-to-store/index.mjs +3 -0
  222. package/esm2022/domain/f-connectors/index.mjs +8 -0
  223. package/esm2022/domain/f-connectors/providers.mjs +15 -0
  224. package/esm2022/domain/f-connectors/remove-input-from-store/index.mjs +3 -0
  225. package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.mjs +6 -0
  226. package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store.execution.mjs +23 -0
  227. package/esm2022/domain/f-connectors/remove-outlet-from-store/index.mjs +3 -0
  228. package/esm2022/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store-request.mjs +6 -0
  229. package/esm2022/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store.execution.mjs +23 -0
  230. package/esm2022/domain/f-connectors/remove-output-from-store/index.mjs +3 -0
  231. package/esm2022/domain/f-connectors/remove-output-from-store/remove-output-from-store-request.mjs +6 -0
  232. package/esm2022/domain/f-connectors/remove-output-from-store/remove-output-from-store.execution.mjs +23 -0
  233. package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.mjs +6 -0
  234. package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store.execution.mjs +23 -0
  235. package/esm2022/domain/f-draggable/add-dnd-to-store/index.mjs +3 -0
  236. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event-request.mjs +3 -0
  237. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +36 -0
  238. package/esm2022/domain/f-draggable/emit-selection-change-event/index.mjs +3 -0
  239. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence-request.mjs +3 -0
  240. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +29 -0
  241. package/esm2022/domain/f-draggable/end-drag-sequence/index.mjs +3 -0
  242. package/esm2022/domain/f-draggable/index.mjs +11 -0
  243. package/esm2022/domain/f-draggable/initialize-drag-sequence/index.mjs +3 -0
  244. package/esm2022/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence-request.mjs +3 -0
  245. package/esm2022/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.mjs +23 -0
  246. package/esm2022/domain/f-draggable/is-drag-started/index.mjs +3 -0
  247. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started-request.mjs +3 -0
  248. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.execution.mjs +23 -0
  249. package/esm2022/domain/f-draggable/on-pointer-move/index.mjs +3 -0
  250. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move-request.mjs +6 -0
  251. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +42 -0
  252. package/esm2022/domain/f-draggable/prepare-drag-sequence/index.mjs +3 -0
  253. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence-request.mjs +3 -0
  254. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +31 -0
  255. package/esm2022/domain/f-draggable/providers.mjs +21 -0
  256. package/esm2022/domain/f-draggable/remove-dnd-from-store/index.mjs +3 -0
  257. package/esm2022/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store-request.mjs +3 -0
  258. package/esm2022/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store.execution.mjs +23 -0
  259. package/esm2022/domain/f-draggable/start-drag-sequence/index.mjs +3 -0
  260. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence-request.mjs +3 -0
  261. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +33 -0
  262. package/esm2022/domain/f-flow/add-flow-to-store/add-flow-to-store-request.mjs +6 -0
  263. package/esm2022/domain/f-flow/add-flow-to-store/add-flow-to-store.execution.mjs +23 -0
  264. package/esm2022/domain/f-flow/add-flow-to-store/index.mjs +3 -0
  265. package/esm2022/domain/f-flow/get-flow/get-flow-request.mjs +3 -0
  266. package/esm2022/domain/f-flow/get-flow/get-flow.execution.mjs +27 -0
  267. package/esm2022/domain/f-flow/get-flow/index.mjs +3 -0
  268. package/esm2022/domain/f-flow/get-flow-host-element/get-flow-host-element.execution.mjs +23 -0
  269. package/esm2022/domain/f-flow/get-flow-host-element/get-flow-host-element.request.mjs +3 -0
  270. package/esm2022/domain/f-flow/get-flow-host-element/index.mjs +3 -0
  271. package/esm2022/domain/f-flow/index.mjs +6 -0
  272. package/esm2022/domain/f-flow/providers.mjs +11 -0
  273. package/esm2022/domain/f-flow/remove-flow-from-store/index.mjs +3 -0
  274. package/esm2022/domain/f-flow/remove-flow-from-store/remove-flow-from-store-request.mjs +3 -0
  275. package/esm2022/domain/f-flow/remove-flow-from-store/remove-flow-from-store.execution.mjs +23 -0
  276. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.mjs +6 -0
  277. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +23 -0
  278. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/index.mjs +3 -0
  279. package/esm2022/domain/f-line-alignment/index.mjs +4 -0
  280. package/esm2022/domain/f-line-alignment/providers.mjs +7 -0
  281. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/index.mjs +3 -0
  282. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store-request.mjs +3 -0
  283. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +23 -0
  284. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store-request.mjs +6 -0
  285. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.execution.mjs +23 -0
  286. package/esm2022/domain/f-node/add-node-to-store/index.mjs +3 -0
  287. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.mjs +30 -0
  288. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.request.mjs +3 -0
  289. package/esm2022/domain/f-node/calculate-nodes-bounding-box/index.mjs +3 -0
  290. package/esm2022/domain/f-node/get-nodes/get-nodes-request.mjs +3 -0
  291. package/esm2022/domain/f-node/get-nodes/get-nodes.execution.mjs +23 -0
  292. package/esm2022/domain/f-node/get-nodes/index.mjs +3 -0
  293. package/esm2022/domain/f-node/index.mjs +7 -0
  294. package/esm2022/domain/f-node/providers.mjs +13 -0
  295. package/esm2022/domain/f-node/remove-node-from-store/index.mjs +3 -0
  296. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store-request.mjs +6 -0
  297. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.execution.mjs +23 -0
  298. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/index.mjs +3 -0
  299. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.mjs +7 -0
  300. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +35 -0
  301. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +19 -17
  302. package/esm2022/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +3 -3
  303. package/esm2022/domain/get-flow-state/i-f-flow-state-connection.mjs +1 -1
  304. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +2 -2
  305. package/esm2022/domain/index.mjs +8 -9
  306. package/esm2022/domain/is-mobile.mjs +5 -0
  307. package/esm2022/domain/providers.mjs +11 -15
  308. package/esm2022/domain/transition-end.mjs +10 -0
  309. package/esm2022/f-backgroud/f-background-base.mjs +1 -1
  310. package/esm2022/f-backgroud/f-background.component.mjs +15 -20
  311. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +40 -46
  312. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +42 -56
  313. package/esm2022/f-canvas/f-canvas-base.mjs +1 -1
  314. package/esm2022/f-canvas/f-canvas.component.mjs +30 -40
  315. package/esm2022/f-connection/common/f-connection-base.mjs +1 -3
  316. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +2 -2
  317. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +3 -3
  318. package/esm2022/f-connection/common/f-path/i-connection-path.mjs +1 -1
  319. package/esm2022/f-connection/common/i-has-connection-text.mjs +1 -1
  320. package/esm2022/f-connection/f-connection/f-connection.component.mjs +36 -90
  321. package/esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs +1 -1
  322. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +30 -65
  323. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +10 -9
  324. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +30 -65
  325. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +3 -3
  326. package/esm2022/f-connectors/f-connector-base.mjs +9 -6
  327. package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +1 -5
  328. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +33 -42
  329. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +1 -2
  330. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +21 -33
  331. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +1 -5
  332. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +33 -45
  333. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +2 -2
  334. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +4 -3
  335. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +4 -4
  336. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +5 -5
  337. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +3 -2
  338. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +3 -2
  339. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +3 -2
  340. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +3 -2
  341. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +8 -8
  342. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +3 -3
  343. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +3 -3
  344. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +4 -4
  345. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +6 -6
  346. package/esm2022/f-draggable/domain/index.mjs +2 -1
  347. package/esm2022/f-draggable/domain/is-connection-under-node/f-node-intersected-with-connections.mjs +7 -0
  348. package/esm2022/f-draggable/domain/is-connection-under-node/index.mjs +5 -0
  349. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +75 -0
  350. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +3 -0
  351. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.validator.mjs +24 -0
  352. package/esm2022/f-draggable/domain/providers.mjs +5 -2
  353. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  354. package/esm2022/f-draggable/f-draggable.directive.mjs +49 -98
  355. package/esm2022/f-draggable/i-draggable-item.mjs +1 -1
  356. package/esm2022/f-draggable/index.mjs +2 -1
  357. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +4 -4
  358. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +2 -2
  359. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +2 -2
  360. package/esm2022/f-draggable/node/connection.drag-handler.mjs +2 -2
  361. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +8 -5
  362. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +2 -2
  363. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +2 -2
  364. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +4 -2
  365. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +4 -3
  366. package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +4 -4
  367. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +4 -4
  368. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +2 -2
  369. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +2 -2
  370. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +5 -3
  371. package/esm2022/f-draggable/node/node.drag-handler.mjs +3 -3
  372. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +2 -2
  373. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +3 -2
  374. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +3 -2
  375. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +4 -4
  376. package/esm2022/f-draggable/providers.mjs +2 -2
  377. package/esm2022/f-draggable/single-select/single-select.execution.mjs +5 -2
  378. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
  379. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +1 -1
  380. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +4 -4
  381. package/esm2022/f-external-item/domain/index.mjs +2 -1
  382. package/esm2022/f-external-item/domain/prevent-default-is-external-item/index.mjs +3 -0
  383. package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.execution.mjs +36 -0
  384. package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.request.mjs +6 -0
  385. package/esm2022/f-external-item/domain/providers.mjs +3 -1
  386. package/esm2022/f-flow/f-flow-base.mjs +1 -1
  387. package/esm2022/f-flow/f-flow.component.mjs +46 -49
  388. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +21 -22
  389. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +4 -4
  390. package/esm2022/f-minimap/domain/index.mjs +4 -2
  391. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/i-f-minimap-scale-and-view-box.mjs +2 -0
  392. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/index.mjs +4 -0
  393. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +71 -0
  394. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.request.mjs +7 -0
  395. package/esm2022/f-minimap/domain/minimap-calculate-view-box/index.mjs +3 -0
  396. package/esm2022/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.mjs +39 -0
  397. package/esm2022/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.request.mjs +3 -0
  398. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +2 -2
  399. package/esm2022/f-minimap/domain/minimap-draw-nodes/index.mjs +3 -0
  400. package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.mjs +60 -0
  401. package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.request.mjs +3 -0
  402. package/esm2022/f-minimap/domain/providers.mjs +7 -1
  403. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +17 -51
  404. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +16 -60
  405. package/esm2022/f-minimap/f-minimap-view.directive.mjs +14 -25
  406. package/esm2022/f-minimap/f-minimap.component.mjs +28 -30
  407. package/esm2022/f-node/domain/index.mjs +1 -2
  408. package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +8 -8
  409. package/esm2022/f-node/f-group.directive.mjs +18 -42
  410. package/esm2022/f-node/f-node-base.mjs +15 -3
  411. package/esm2022/f-node/f-node.directive.mjs +18 -42
  412. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +13 -16
  413. package/esm2022/f-node/index.mjs +1 -2
  414. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +2 -2
  415. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +6 -6
  416. package/esm2022/f-selection-area/f-selection-area.component.mjs +13 -13
  417. package/esm2022/f-storage/f-components-store.mjs +15 -20
  418. package/esm2022/f-storage/features/listen-components-data-changed/index.mjs +3 -0
  419. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes-request.mjs +3 -0
  420. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +25 -0
  421. package/esm2022/f-storage/features/listen-count-changes/index.mjs +3 -0
  422. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes-request.mjs +3 -0
  423. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +25 -0
  424. package/esm2022/f-storage/features/listen-transform-changes/index.mjs +3 -0
  425. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +24 -0
  426. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.request.mjs +3 -0
  427. package/esm2022/f-storage/features/notify-data-changed/index.mjs +3 -0
  428. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed-request.mjs +3 -0
  429. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +23 -0
  430. package/esm2022/f-storage/features/notify-transform-changed/index.mjs +3 -0
  431. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +23 -0
  432. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.request.mjs +3 -0
  433. package/esm2022/f-storage/index.mjs +7 -2
  434. package/esm2022/f-storage/providers.mjs +15 -0
  435. package/esm2022/f-zoom/f-zoom-base.mjs +51 -45
  436. package/esm2022/f-zoom/f-zoom.directive.mjs +11 -12
  437. package/esm2022/i-has-host-element.mjs +1 -1
  438. package/esm2022/public-api.mjs +2 -2
  439. package/esm2022/reactivity/debounce-time.mjs +10 -0
  440. package/esm2022/reactivity/f-channel-hub.mjs +23 -0
  441. package/esm2022/reactivity/f-channel.mjs +16 -0
  442. package/esm2022/reactivity/f-resize-channel.mjs +28 -0
  443. package/esm2022/reactivity/index.mjs +7 -0
  444. package/esm2022/reactivity/notify-on-start.mjs +7 -0
  445. package/esm2022/reactivity/types.mjs +2 -0
  446. package/f-backgroud/f-background-base.d.ts +0 -1
  447. package/f-backgroud/f-background.component.d.ts +3 -8
  448. package/f-backgroud/f-circle-pattern/f-circle-pattern.component.d.ts +16 -17
  449. package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +17 -20
  450. package/f-canvas/f-canvas-base.d.ts +0 -2
  451. package/f-canvas/f-canvas.component.d.ts +5 -11
  452. package/f-connection/common/f-connection-base.d.ts +3 -5
  453. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +1 -1
  454. package/f-connection/common/f-path/i-connection-path.d.ts +1 -1
  455. package/f-connection/common/i-has-connection-text.d.ts +1 -0
  456. package/f-connection/f-connection/f-connection.component.d.ts +17 -35
  457. package/f-connection/f-connection-builder/i-f-connection-factory-request.d.ts +1 -1
  458. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +13 -23
  459. package/f-connection/f-marker/f-marker.directive.d.ts +2 -3
  460. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +13 -23
  461. package/f-connection/providers.d.ts +1 -1
  462. package/f-connectors/f-connector-base.d.ts +7 -8
  463. package/f-connectors/f-node-input/f-node-input-base.d.ts +0 -1
  464. package/f-connectors/f-node-input/f-node-input.directive.d.ts +14 -16
  465. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +0 -1
  466. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +9 -11
  467. package/f-connectors/f-node-output/f-node-output-base.d.ts +0 -1
  468. package/f-connectors/f-node-output/f-node-output.directive.d.ts +14 -16
  469. package/f-draggable/canvas/canvas.drag-handler.d.ts +3 -3
  470. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +3 -3
  471. package/f-draggable/connections/providers.d.ts +1 -1
  472. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +3 -3
  473. package/f-draggable/domain/index.d.ts +1 -0
  474. package/f-draggable/domain/is-connection-under-node/f-node-intersected-with-connections.d.ts +5 -0
  475. package/f-draggable/domain/is-connection-under-node/index.d.ts +4 -0
  476. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +19 -0
  477. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.validator.d.ts +9 -0
  478. package/f-draggable/domain/providers.d.ts +2 -1
  479. package/f-draggable/f-draggable-base.d.ts +2 -0
  480. package/f-draggable/f-draggable.directive.d.ts +9 -16
  481. package/f-draggable/i-draggable-item.d.ts +3 -3
  482. package/f-draggable/index.d.ts +1 -0
  483. package/f-draggable/node/connection-base-drag-handler.d.ts +2 -2
  484. package/f-draggable/node/connection-source.drag-handler.d.ts +1 -1
  485. package/f-draggable/node/connection-target.drag-handler.d.ts +1 -1
  486. package/f-draggable/node/connection.drag-handler.d.ts +1 -1
  487. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +1 -0
  488. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  489. package/f-draggable/node/node-drag-to-parent.drag-handler.d.ts +2 -2
  490. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +3 -2
  491. package/f-draggable/node/node.drag-handler.d.ts +2 -2
  492. package/f-draggable/node/providers.d.ts +1 -1
  493. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +3 -3
  494. package/f-draggable/providers.d.ts +1 -1
  495. package/f-draggable/single-select/single-select.execution.d.ts +1 -0
  496. package/f-external-item/domain/external-item.drag-handler.d.ts +3 -3
  497. package/f-external-item/domain/index.d.ts +1 -0
  498. package/f-external-item/domain/prevent-default-is-external-item/index.d.ts +2 -0
  499. package/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.execution.d.ts +10 -0
  500. package/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.request.d.ts +4 -0
  501. package/f-external-item/domain/providers.d.ts +2 -1
  502. package/f-flow/f-flow-base.d.ts +1 -1
  503. package/f-flow/f-flow.component.d.ts +11 -13
  504. package/f-line-alignment/f-line-alignment.component.d.ts +8 -10
  505. package/f-minimap/domain/f-minimap.drag-handler.d.ts +3 -3
  506. package/f-minimap/domain/index.d.ts +3 -1
  507. package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/i-f-minimap-scale-and-view-box.d.ts +5 -0
  508. package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/index.d.ts +3 -0
  509. package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.d.ts +22 -0
  510. package/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.request.d.ts +5 -0
  511. package/f-minimap/domain/minimap-calculate-view-box/index.d.ts +2 -0
  512. package/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.d.ts +14 -0
  513. package/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.request.d.ts +2 -0
  514. package/f-minimap/domain/minimap-draw-nodes/index.d.ts +2 -0
  515. package/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.d.ts +18 -0
  516. package/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.request.d.ts +2 -0
  517. package/f-minimap/domain/providers.d.ts +4 -1
  518. package/f-minimap/f-minimap-canvas.directive.d.ts +3 -15
  519. package/f-minimap/f-minimap-flow.directive.d.ts +4 -20
  520. package/f-minimap/f-minimap-view.directive.d.ts +4 -9
  521. package/f-minimap/f-minimap.component.d.ts +7 -10
  522. package/f-node/domain/index.d.ts +0 -1
  523. package/f-node/f-drag-handle/f-drag-handle.directive.d.ts +2 -3
  524. package/f-node/f-group.directive.d.ts +4 -11
  525. package/f-node/f-node-base.d.ts +6 -7
  526. package/f-node/f-node.directive.d.ts +4 -11
  527. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +4 -6
  528. package/f-node/index.d.ts +0 -1
  529. package/f-selection-area/domain/selection-area.drag-handle.d.ts +3 -3
  530. package/f-selection-area/f-selection-area.component.d.ts +3 -5
  531. package/f-storage/f-components-store.d.ts +7 -9
  532. package/f-storage/features/listen-components-data-changed/index.d.ts +2 -0
  533. package/f-storage/features/listen-components-data-changed/listen-data-changes-request.d.ts +2 -0
  534. package/f-storage/features/listen-components-data-changed/listen-data-changes.execution.d.ts +10 -0
  535. package/f-storage/features/listen-count-changes/index.d.ts +2 -0
  536. package/f-storage/features/listen-count-changes/listen-count-changes-request.d.ts +2 -0
  537. package/f-storage/features/listen-count-changes/listen-count-changes.execution.d.ts +10 -0
  538. package/f-storage/features/listen-transform-changes/index.d.ts +2 -0
  539. package/f-storage/features/listen-transform-changes/listen-transform-changes.execution.d.ts +10 -0
  540. package/f-storage/features/listen-transform-changes/listen-transform-changes.request.d.ts +2 -0
  541. package/f-storage/features/notify-data-changed/index.d.ts +2 -0
  542. package/f-storage/features/notify-data-changed/notify-data-changed-request.d.ts +2 -0
  543. package/f-storage/features/notify-data-changed/notify-data-changed.execution.d.ts +9 -0
  544. package/f-storage/features/notify-transform-changed/index.d.ts +2 -0
  545. package/f-storage/features/notify-transform-changed/notify-transform-changed.execution.d.ts +9 -0
  546. package/f-storage/features/notify-transform-changed/notify-transform-changed.request.d.ts +2 -0
  547. package/f-storage/index.d.ts +6 -1
  548. package/f-storage/providers.d.ts +7 -0
  549. package/f-zoom/f-zoom-base.d.ts +10 -11
  550. package/f-zoom/f-zoom.directive.d.ts +0 -2
  551. package/fesm2022/foblex-flow.mjs +4109 -3168
  552. package/fesm2022/foblex-flow.mjs.map +1 -1
  553. package/i-has-host-element.d.ts +2 -2
  554. package/package.json +5 -6
  555. package/public-api.d.ts +1 -1
  556. package/reactivity/debounce-time.d.ts +2 -0
  557. package/reactivity/f-channel-hub.d.ts +10 -0
  558. package/reactivity/f-channel.d.ts +7 -0
  559. package/reactivity/f-resize-channel.d.ts +11 -0
  560. package/reactivity/index.d.ts +6 -0
  561. package/reactivity/notify-on-start.d.ts +2 -0
  562. package/reactivity/types.d.ts +2 -0
  563. package/domain/constants.d.ts +0 -1
  564. package/domain/emit-transform-changes/emit-transform-changes.execution.d.ts +0 -11
  565. package/domain/emit-transform-changes/emit-transform-changes.request.d.ts +0 -2
  566. package/domain/emit-transform-changes/index.d.ts +0 -2
  567. package/domain/get-nodes-rect/get-nodes-rect.execution.d.ts +0 -14
  568. package/domain/get-nodes-rect/get-nodes-rect.request.d.ts +0 -2
  569. package/domain/get-nodes-rect/index.d.ts +0 -2
  570. package/domain/is-connection-under-node/index.d.ts +0 -1
  571. package/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +0 -20
  572. package/domain/show-connections-after-calculations/index.d.ts +0 -2
  573. package/domain/show-connections-after-calculations/show-connections-after-calculations-request.d.ts +0 -2
  574. package/domain/show-connections-after-calculations/show-connections-after-calculations.execution.d.ts +0 -11
  575. package/domain/subscribe-on-transform-changes/index.d.ts +0 -2
  576. package/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.d.ts +0 -13
  577. package/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.d.ts +0 -2
  578. package/esm2022/domain/constants.mjs +0 -2
  579. package/esm2022/domain/create-connection-markers/create-connection-markers-request.mjs +0 -6
  580. package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +0 -60
  581. package/esm2022/domain/create-connection-markers/index.mjs +0 -3
  582. package/esm2022/domain/emit-transform-changes/emit-transform-changes.execution.mjs +0 -23
  583. package/esm2022/domain/emit-transform-changes/emit-transform-changes.request.mjs +0 -3
  584. package/esm2022/domain/emit-transform-changes/index.mjs +0 -3
  585. package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +0 -30
  586. package/esm2022/domain/get-nodes-rect/get-nodes-rect.request.mjs +0 -3
  587. package/esm2022/domain/get-nodes-rect/index.mjs +0 -3
  588. package/esm2022/domain/is-connection-under-node/index.mjs +0 -2
  589. package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +0 -75
  590. package/esm2022/domain/is-connection-under-node/is-connection-under-node.request.mjs +0 -3
  591. package/esm2022/domain/redraw-connections/index.mjs +0 -3
  592. package/esm2022/domain/redraw-connections/redraw-connections-request.mjs +0 -3
  593. package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +0 -62
  594. package/esm2022/domain/show-connections-after-calculations/index.mjs +0 -3
  595. package/esm2022/domain/show-connections-after-calculations/show-connections-after-calculations-request.mjs +0 -3
  596. package/esm2022/domain/show-connections-after-calculations/show-connections-after-calculations.execution.mjs +0 -25
  597. package/esm2022/domain/subscribe-on-transform-changes/index.mjs +0 -3
  598. package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +0 -25
  599. package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.mjs +0 -3
  600. package/esm2022/f-minimap/domain/check-rect-is-finite.mjs +0 -8
  601. package/esm2022/f-node/domain/is-group.mjs +0 -4
  602. package/esm2022/f-node/f-resize-observer.mjs +0 -16
  603. package/esm2022/f-storage/f-transform-store.mjs +0 -14
  604. package/esm2022/i-has-state-changes.mjs +0 -2
  605. package/f-minimap/domain/check-rect-is-finite.d.ts +0 -2
  606. package/f-node/domain/is-group.d.ts +0 -1
  607. package/f-node/f-resize-observer.d.ts +0 -4
  608. package/f-storage/f-transform-store.d.ts +0 -7
  609. package/i-has-state-changes.d.ts +0 -4
  610. /package/domain/{create-connection-markers → f-connection/create-connection-markers}/index.d.ts +0 -0
  611. /package/domain/{redraw-connections → f-connection/redraw-connections}/index.d.ts +0 -0
  612. /package/domain/{redraw-connections → f-connection/redraw-connections}/redraw-connections-request.d.ts +0 -0
  613. /package/{domain → f-draggable/domain}/is-connection-under-node/is-connection-under-node.request.d.ts +0 -0
@@ -1,138 +1,87 @@
1
- import { ContentChildren, Directive, EventEmitter, Inject, Input, NgZone, Optional, Output } from "@angular/core";
1
+ import { ContentChildren, Directive, ElementRef, EventEmitter, inject, Inject, Input, NgZone, Optional, Output } from "@angular/core";
2
2
  import { FDraggableBase } from './f-draggable-base';
3
- import { Subscription } from 'rxjs';
4
- import { Point } from '@foblex/2d';
5
3
  import { NodeDragToParentFinalizeRequest, NodeDragToParentPreparationRequest, NodeMoveFinalizeRequest, NodeMovePreparationRequest } from './node';
6
4
  import { CanvasMoveFinalizeRequest, CanvasMovePreparationRequest } from './canvas';
7
5
  import { ReassignConnectionPreparationRequest, ReassignConnectionFinalizeRequest, CreateConnectionPreparationRequest, CreateConnectionFinalizeRequest } from './connections';
8
- import { EmitTransformChangesRequest, GetSelectionRequest } from '../domain';
9
- import { ExternalItemFinalizeRequest, ExternalItemPreparationRequest, isExternalItem } from '../f-external-item';
6
+ import { FMediator } from '@foblex/mediator';
7
+ import { AddDndToStoreRequest, EmitSelectionChangeEventRequest, PrepareDragSequenceRequest, RemoveDndFromStoreRequest, EndDragSequenceRequest, InitializeDragSequenceRequest, OnPointerMoveRequest } from '../domain';
8
+ import { ExternalItemFinalizeRequest, ExternalItemPreparationRequest, PreventDefaultIsExternalItemRequest } from '../f-external-item';
10
9
  import { SingleSelectRequest } from './single-select';
11
10
  import { NodeResizeFinalizeRequest, NodeResizePreparationRequest } from './node-resize';
12
11
  import { F_DRAG_AND_DROP_PLUGIN } from './i-f-drag-and-drop-plugin';
13
12
  import * as i0 from "@angular/core";
14
- import * as i1 from "./f-draggable-data-context";
15
- import * as i2 from "../f-storage";
16
- import * as i3 from "@foblex/mediator";
17
- import * as i4 from "@foblex/platform";
13
+ import * as i1 from "@foblex/platform";
18
14
  export class FDraggableDirective extends FDraggableBase {
19
15
  get hostElement() {
20
- return this.elementReference.nativeElement;
16
+ return this._elementReference.nativeElement;
21
17
  }
22
- constructor(elementReference, fDraggableDataContext, ngZone, fComponentsStore, fMediator, fBrowser) {
18
+ constructor(ngZone, _fBrowser) {
23
19
  super(ngZone);
24
- this.elementReference = elementReference;
25
- this.fDraggableDataContext = fDraggableDataContext;
26
- this.fComponentsStore = fComponentsStore;
27
- this.fMediator = fMediator;
28
- this.fBrowser = fBrowser;
29
- this.subscriptions$ = new Subscription();
20
+ this._fBrowser = _fBrowser;
21
+ this._elementReference = inject(ElementRef);
22
+ this._fMediator = inject(FMediator);
30
23
  this.disabled = false;
31
24
  this.fSelectionChange = new EventEmitter();
32
- // @Output()
33
- // public override fConnectionIntersectNode: EventEmitter<ConnectionIntersectNodeEvent> = new EventEmitter<ConnectionIntersectNodeEvent>();
25
+ this.fNodeIntersectedWithConnections = new EventEmitter();
34
26
  this.fCreateNode = new EventEmitter();
35
27
  this.fReassignConnection = new EventEmitter();
36
28
  this.fCreateConnection = new EventEmitter();
37
29
  this.fDropToGroup = new EventEmitter();
38
30
  }
39
31
  ngOnInit() {
40
- this.fComponentsStore.fDraggable = this;
32
+ this._fMediator.send(new AddDndToStoreRequest(this));
41
33
  }
42
34
  ngAfterViewInit() {
43
- super.subscribe(this.fBrowser.document);
35
+ super.subscribe(this._fBrowser.document);
44
36
  }
45
37
  onPointerDown(event) {
46
- this.fDraggableDataContext.reset();
47
- let result = event.isMouseLeftButton();
48
- this.plugins.forEach((p) => {
49
- p.onPointerDown?.(event);
50
- });
51
- this.fMediator.send(new SingleSelectRequest(event));
52
- this.fMediator.send(new ReassignConnectionPreparationRequest(event));
53
- this.fMediator.send(new CreateConnectionPreparationRequest(event));
54
- if (!result) {
38
+ this._fMediator.send(new InitializeDragSequenceRequest());
39
+ this.plugins.forEach((p) => p.onPointerDown?.(event));
40
+ this._fMediator.send(new SingleSelectRequest(event));
41
+ this._fMediator.send(new ReassignConnectionPreparationRequest(event));
42
+ this._fMediator.send(new CreateConnectionPreparationRequest(event));
43
+ const isMouseLeftButton = event.isMouseLeftButton();
44
+ if (!isMouseLeftButton) {
55
45
  this.finalizeDragSequence();
56
46
  }
57
- return result;
47
+ return isMouseLeftButton;
58
48
  }
59
49
  prepareDragSequence(event) {
60
- this.plugins.forEach((p) => {
61
- p.prepareDragSequence?.(event);
62
- });
63
- this.fMediator.send(new NodeResizePreparationRequest(event));
64
- this.fMediator.send(new NodeMovePreparationRequest(event));
65
- this.fMediator.send(new NodeDragToParentPreparationRequest(event));
66
- this.fMediator.send(new CanvasMovePreparationRequest(event));
67
- this.fMediator.send(new ExternalItemPreparationRequest(event));
68
- this.fDraggableDataContext.draggableItems.forEach((item) => {
69
- item.initialize?.();
70
- });
71
- if (this.fDraggableDataContext.draggableItems.length > 0) {
72
- this.hostElement.classList.add('f-dragging');
73
- this.emitSelectionChangeEvent();
74
- }
50
+ this.plugins.forEach((p) => p.prepareDragSequence?.(event));
51
+ this._fMediator.send(new NodeResizePreparationRequest(event));
52
+ this._fMediator.send(new NodeMovePreparationRequest(event));
53
+ this._fMediator.send(new NodeDragToParentPreparationRequest(event));
54
+ this._fMediator.send(new CanvasMovePreparationRequest(event));
55
+ this._fMediator.send(new ExternalItemPreparationRequest(event));
56
+ this._fMediator.send(new PrepareDragSequenceRequest());
75
57
  }
76
58
  onSelect(event) {
77
- this.plugins.forEach((p) => {
78
- p.onSelect?.(event);
79
- });
80
- if (this.isTargetItemExternal(event)) {
81
- event.preventDefault();
82
- }
83
- }
84
- isTargetItemExternal(event) {
85
- let isTargetItemExternal = this.isExternalItem(event.target);
86
- let isTargetParentItemExternal = this.isExternalItem(event.target.parentNode);
87
- return isTargetItemExternal || isTargetParentItemExternal;
88
- }
89
- isExternalItem(target) {
90
- let result = false;
91
- try {
92
- result = isExternalItem(target);
93
- }
94
- catch (e) {
95
- }
96
- return result;
59
+ this.plugins.forEach((x) => x.onSelect?.(event));
60
+ this._fMediator.send(new PreventDefaultIsExternalItemRequest(event));
97
61
  }
98
62
  onPointerMove(event) {
99
- const pointerPositionInCanvas = Point.fromPoint(event.getPosition()).elementTransform(this.hostElement);
100
- const difference = pointerPositionInCanvas.div(this.fDraggableDataContext.onPointerDownScale).sub(this.fDraggableDataContext.onPointerDownPosition);
101
- this.fDraggableDataContext.draggableItems.forEach((item) => {
102
- item.move({ ...difference });
103
- });
63
+ this._fMediator.send(new OnPointerMoveRequest(event));
104
64
  }
105
65
  onPointerUp(event) {
106
- this.plugins.forEach((p) => {
107
- p.onPointerUp?.(event);
108
- });
109
- this.fMediator.send(new ReassignConnectionFinalizeRequest(event));
110
- this.fMediator.send(new CreateConnectionFinalizeRequest(event));
111
- this.fMediator.send(new NodeResizeFinalizeRequest(event));
112
- this.fMediator.send(new NodeMoveFinalizeRequest(event));
113
- this.fMediator.send(new NodeDragToParentFinalizeRequest(event));
114
- this.fMediator.send(new CanvasMoveFinalizeRequest(event));
115
- this.fMediator.send(new ExternalItemFinalizeRequest(event));
116
- this.hostElement.classList.remove('f-dragging');
117
- this.fDraggableDataContext.reset();
66
+ this.plugins.forEach((x) => x.onPointerUp?.(event));
67
+ this._fMediator.send(new ReassignConnectionFinalizeRequest(event));
68
+ this._fMediator.send(new CreateConnectionFinalizeRequest(event));
69
+ this._fMediator.send(new NodeResizeFinalizeRequest(event));
70
+ this._fMediator.send(new NodeMoveFinalizeRequest(event));
71
+ this._fMediator.send(new NodeDragToParentFinalizeRequest(event));
72
+ this._fMediator.send(new CanvasMoveFinalizeRequest(event));
73
+ this._fMediator.send(new ExternalItemFinalizeRequest(event));
74
+ this._fMediator.send(new EndDragSequenceRequest());
118
75
  }
119
76
  finalizeDragSequence() {
120
- this.emitSelectionChangeEvent();
121
- }
122
- emitSelectionChangeEvent() {
123
- if (!this.fDraggableDataContext.isSelectedChanged) {
124
- return;
125
- }
126
- this.fSelectionChange.emit(this.fMediator.send(new GetSelectionRequest()));
127
- this.fDraggableDataContext.isSelectedChanged = false;
128
- this.fMediator.send(new EmitTransformChangesRequest());
77
+ this._fMediator.send(new EmitSelectionChangeEventRequest());
129
78
  }
130
79
  ngOnDestroy() {
80
+ this._fMediator.send(new RemoveDndFromStoreRequest());
131
81
  super.unsubscribe();
132
- this.subscriptions$.unsubscribe();
133
82
  }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDraggableDirective, deps: [{ token: i0.ElementRef }, { token: i1.FDraggableDataContext }, { token: NgZone, optional: true }, { token: i2.FComponentsStore }, { token: i3.FMediator }, { token: i4.BrowserService }], target: i0.ɵɵFactoryTarget.Directive }); }
135
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"] }, outputs: { fSelectionChange: "fSelectionChange", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDraggableDirective, deps: [{ token: NgZone, optional: true }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Directive }); }
84
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"] }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 }); }
136
85
  }
137
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDraggableDirective, decorators: [{
138
87
  type: Directive,
@@ -140,16 +89,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
140
89
  selector: "f-flow[fDraggable]",
141
90
  exportAs: 'fDraggable'
142
91
  }]
143
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FDraggableDataContext }, { type: undefined, decorators: [{
92
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
144
93
  type: Inject,
145
94
  args: [NgZone]
146
95
  }, {
147
96
  type: Optional
148
- }] }, { type: i2.FComponentsStore }, { type: i3.FMediator }, { type: i4.BrowserService }]; }, propDecorators: { disabled: [{
97
+ }] }, { type: i1.BrowserService }]; }, propDecorators: { disabled: [{
149
98
  type: Input,
150
99
  args: ['fDraggableDisabled']
151
100
  }], fSelectionChange: [{
152
101
  type: Output
102
+ }], fNodeIntersectedWithConnections: [{
103
+ type: Output
153
104
  }], fCreateNode: [{
154
105
  type: Output
155
106
  }], fReassignConnection: [{
@@ -162,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
162
113
  type: ContentChildren,
163
114
  args: [F_DRAG_AND_DROP_PLUGIN, { descendants: true }]
164
115
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGVBQWUsRUFDOUIsU0FBUyxFQUVULFlBQVksRUFBRSxNQUFNLEVBQ3BCLEtBQUssRUFDTCxNQUFNLEVBRUUsUUFBUSxFQUFFLE1BQU0sRUFDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQ2MsK0JBQStCLEVBQ2xELGtDQUFrQyxFQUNsQyx1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQzNCLE1BQU0sUUFBUSxDQUFDO0FBQ2hCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuRixPQUFPLEVBR0wsb0NBQW9DLEVBQ3BDLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsK0JBQStCLEVBQ2hDLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3RSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUU5QixjQUFjLEVBQ2YsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUF1QixNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFRekYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQWM7SUFPckQsSUFBb0IsV0FBVztRQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQXVCRCxZQUNVLGdCQUF5QyxFQUN6QyxxQkFBNEMsRUFDeEIsTUFBNkIsRUFDakQsZ0JBQWtDLEVBQ2xDLFNBQW9CLEVBQ3BCLFFBQXdCO1FBRWhDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQVBOLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUU1QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFwQzFCLG1CQUFjLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHMUMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQU8xQixxQkFBZ0IsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFFbEgsWUFBWTtRQUNaLDJJQUEySTtRQUczSCxnQkFBVyxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUduRix3QkFBbUIsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFHM0csc0JBQWlCLEdBQXlDLElBQUksWUFBWSxFQUEwQixDQUFDO1FBR3JHLGlCQUFZLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO0lBY3RHLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDMUMsQ0FBQztJQUVNLGVBQWU7UUFDcEIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFZSxhQUFhLENBQUMsS0FBb0I7UUFDaEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25DLElBQUksTUFBTSxHQUFZLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRWhELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekIsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQU8sSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFPLElBQUksb0NBQW9DLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBTyxJQUFJLGtDQUFrQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFekUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVrQixtQkFBbUIsQ0FBQyxLQUFvQjtRQUV6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3pCLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQU8sSUFBSSw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRW5FLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFPLElBQUksMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVqRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBTyxJQUFJLGtDQUFrQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFekUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQU8sSUFBSSw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRW5FLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFPLElBQUksOEJBQThCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVyRSxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3pELElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQztJQUVrQixRQUFRLENBQUMsS0FBWTtRQUV0QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3pCLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFZO1FBQ3ZDLElBQUksb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBcUIsQ0FBQyxDQUFDO1FBQzVFLElBQUksMEJBQTBCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBRSxLQUFLLENBQUMsTUFBZSxDQUFDLFVBQXlCLENBQUMsQ0FBQztRQUN2RyxPQUFPLG9CQUFvQixJQUFJLDBCQUEwQixDQUFDO0lBQzVELENBQUM7SUFFTyxjQUFjLENBQUMsTUFBbUI7UUFDeEMsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUk7WUFDRixNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO1FBQUMsT0FBTyxDQUFDLEVBQUU7U0FDWDtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFZSxhQUFhLENBQUMsS0FBb0I7UUFDaEQsTUFBTSx1QkFBdUIsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RyxNQUFNLFVBQVUsR0FBVyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzVKLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFZSxXQUFXLENBQUMsS0FBb0I7UUFFOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QixDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBTyxJQUFJLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFeEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQU8sSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFPLElBQUkseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBTyxJQUFJLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQU8sSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFPLElBQUkseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBTyxJQUFJLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRWtCLG9CQUFvQjtRQUNyQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLElBQ0UsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEVBQzdDO1lBQ0EsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFPLElBQUksMkJBQTJCLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxXQUFXO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7K0dBOUtVLG1CQUFtQixpRkFtQ3BCLE1BQU07bUdBbkNMLG1CQUFtQiw2VUE2QmIsc0JBQXNCOzs0RkE3QjVCLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsWUFBWTtpQkFDdkI7OzBCQW9DSSxNQUFNOzJCQUFDLE1BQU07OzBCQUFHLFFBQVE7Z0lBOUJYLFFBQVE7c0JBRHZCLEtBQUs7dUJBQUMsb0JBQW9CO2dCQVFYLGdCQUFnQjtzQkFEL0IsTUFBTTtnQkFPUyxXQUFXO3NCQUQxQixNQUFNO2dCQUlTLG1CQUFtQjtzQkFEbEMsTUFBTTtnQkFJUyxpQkFBaUI7c0JBRGhDLE1BQU07Z0JBSVMsWUFBWTtzQkFEM0IsTUFBTTtnQkFJQyxPQUFPO3NCQURkLGVBQWU7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCwgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlciwgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgUXVlcnlMaXN0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVBvaW50LCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgRkRyb3BUb0dyb3VwRXZlbnQsIE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QsXG4gIE5vZGVEcmFnVG9QYXJlbnRQcmVwYXJhdGlvblJlcXVlc3QsXG4gIE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0LFxuICBOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdFxufSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdCwgQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vY2FudmFzJztcbmltcG9ydCB7XG4gIEZDcmVhdGVDb25uZWN0aW9uRXZlbnQsXG4gIEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudCxcbiAgUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QsXG4gIENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG4gIENyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3Rcbn0gZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCwgR2V0U2VsZWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QsXG4gIEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdCxcbiAgRkNyZWF0ZU5vZGVFdmVudCxcbiAgaXNFeHRlcm5hbEl0ZW1cbn0gZnJvbSAnLi4vZi1leHRlcm5hbC1pdGVtJztcbmltcG9ydCB7IFNpbmdsZVNlbGVjdFJlcXVlc3QgfSBmcm9tICcuL3NpbmdsZS1zZWxlY3QnO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdCwgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1yZXNpemUnO1xuaW1wb3J0IHsgRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgSUZEcmFnQW5kRHJvcFBsdWdpbiB9IGZyb20gJy4vaS1mLWRyYWctYW5kLWRyb3AtcGx1Z2luJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIsIElQb2ludGVyRXZlbnQgfSBmcm9tICdAZm9ibGV4L2RyYWctdG9vbGtpdCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJmLWZsb3dbZkRyYWdnYWJsZV1cIixcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJ1xufSlcbmV4cG9ydCBjbGFzcyBGRHJhZ2dhYmxlRGlyZWN0aXZlIGV4dGVuZHMgRkRyYWdnYWJsZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIEBJbnB1dCgnZkRyYWdnYWJsZURpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PigpO1xuXG4gIC8vIEBPdXRwdXQoKVxuICAvLyBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25JbnRlcnNlY3ROb2RlOiBFdmVudEVtaXR0ZXI8Q29ubmVjdGlvbkludGVyc2VjdE5vZGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvbm5lY3Rpb25JbnRlcnNlY3ROb2RlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlTm9kZTogRXZlbnRFbWl0dGVyPEZDcmVhdGVOb2RlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlTm9kZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlJlYXNzaWduQ29ubmVjdGlvbjogRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVDb25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZUNvbm5lY3Rpb25FdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVDb25uZWN0aW9uRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJvcFRvR3JvdXA6IEV2ZW50RW1pdHRlcjxGRHJvcFRvR3JvdXBFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZEcm9wVG9Hcm91cEV2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIHBsdWdpbnMhOiBRdWVyeUxpc3Q8SUZEcmFnQW5kRHJvcFBsdWdpbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgIEBJbmplY3QoTmdab25lKSBAT3B0aW9uYWwoKSBuZ1pvbmU6IElDYW5SdW5PdXRzaWRlQW5ndWxhcixcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBwcml2YXRlIGZCcm93c2VyOiBCcm93c2VyU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIobmdab25lKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZSA9IHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLnN1YnNjcmliZSh0aGlzLmZCcm93c2VyLmRvY3VtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQucmVzZXQoKTtcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZXZlbnQuaXNNb3VzZUxlZnRCdXR0b24oKTtcblxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiB7XG4gICAgICBwLm9uUG9pbnRlckRvd24/LihldmVudCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBTaW5nbGVTZWxlY3RSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aGlzLmZpbmFsaXplRHJhZ1NlcXVlbmNlKCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJlcGFyZURyYWdTZXF1ZW5jZShldmVudDogSVBvaW50ZXJFdmVudCkge1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHtcbiAgICAgIHAucHJlcGFyZURyYWdTZXF1ZW5jZT8uKGV2ZW50KTtcbiAgICB9KTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVSZXNpemVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uaW5pdGlhbGl6ZT8uKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmLWRyYWdnaW5nJyk7XG4gICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvblNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkIHtcblxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiB7XG4gICAgICBwLm9uU2VsZWN0Py4oZXZlbnQpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuaXNUYXJnZXRJdGVtRXh0ZXJuYWwoZXZlbnQpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNUYXJnZXRJdGVtRXh0ZXJuYWwoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgbGV0IGlzVGFyZ2V0SXRlbUV4dGVybmFsID0gdGhpcy5pc0V4dGVybmFsSXRlbShldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIGxldCBpc1RhcmdldFBhcmVudEl0ZW1FeHRlcm5hbCA9IHRoaXMuaXNFeHRlcm5hbEl0ZW0oKGV2ZW50LnRhcmdldCBhcyBOb2RlKS5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50KTtcbiAgICByZXR1cm4gaXNUYXJnZXRJdGVtRXh0ZXJuYWwgfHwgaXNUYXJnZXRQYXJlbnRJdGVtRXh0ZXJuYWw7XG4gIH1cblxuICBwcml2YXRlIGlzRXh0ZXJuYWxJdGVtKHRhcmdldDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3VsdCA9IGlzRXh0ZXJuYWxJdGVtKHRhcmdldCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlck1vdmUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwb2ludGVyUG9zaXRpb25JbkNhbnZhcyA9IFBvaW50LmZyb21Qb2ludChldmVudC5nZXRQb3NpdGlvbigpKS5lbGVtZW50VHJhbnNmb3JtKHRoaXMuaG9zdEVsZW1lbnQpO1xuICAgIGNvbnN0IGRpZmZlcmVuY2U6IElQb2ludCA9IHBvaW50ZXJQb3NpdGlvbkluQ2FudmFzLmRpdih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUpLnN1Yih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24pO1xuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0ubW92ZSh7IC4uLmRpZmZlcmVuY2UgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcblxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiB7XG4gICAgICBwLm9uUG9pbnRlclVwPy4oZXZlbnQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZURyYWdUb1BhcmVudEZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2YtZHJhZ2dpbmcnKTtcblxuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnJlc2V0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmluYWxpemVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5pc1NlbGVjdGVkQ2hhbmdlZFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmZTZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmZNZWRpYXRvci5zZW5kPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4obmV3IEdldFNlbGVjdGlvblJlcXVlc3QoKSkpO1xuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gZmFsc2U7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG5cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGVBQWUsRUFDOUIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFDNUIsS0FBSyxFQUNMLE1BQU0sRUFFRSxRQUFRLEVBQUUsTUFBTSxFQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUNjLCtCQUErQixFQUNsRCxrQ0FBa0MsRUFDbEMsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMzQixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkYsT0FBTyxFQUdMLG9DQUFvQyxFQUNwQyxpQ0FBaUMsRUFDakMsa0NBQWtDLEVBQ2xDLCtCQUErQixFQUNoQyxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwrQkFBK0IsRUFDL0IsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUNyQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUU5QixtQ0FBbUMsRUFDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxlQUFlLENB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aWV3SW5pdCwgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3Rcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZEcmFnZ2FibGVCYXNlIH0gZnJvbSAnLi9mLWRyYWdnYWJsZS1iYXNlJztcbmltcG9ydCB7XG4gIEZEcm9wVG9Hcm91cEV2ZW50LCBOb2RlRHJhZ1RvUGFyZW50RmluYWxpemVSZXF1ZXN0LFxuICBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0LFxuICBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCxcbiAgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3Rcbn0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QsIENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2NhbnZhcyc7XG5pbXBvcnQge1xuICBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQsXG4gIFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0XG59IGZyb20gJy4vY29ubmVjdGlvbnMnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBBZGREbmRUb1N0b3JlUmVxdWVzdCxcbiAgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCxcbiAgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIFJlbW92ZURuZEZyb21TdG9yZVJlcXVlc3QsXG4gIEVuZERyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBPblBvaW50ZXJNb3ZlUmVxdWVzdFxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0LFxuICBFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QsXG4gIEZDcmVhdGVOb2RlRXZlbnQsXG4gIFByZXZlbnREZWZhdWx0SXNFeHRlcm5hbEl0ZW1SZXF1ZXN0XG59IGZyb20gJy4uL2YtZXh0ZXJuYWwtaXRlbSc7XG5pbXBvcnQgeyBTaW5nbGVTZWxlY3RSZXF1ZXN0IH0gZnJvbSAnLi9zaW5nbGUtc2VsZWN0JztcbmltcG9ydCB7IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QsIE5vZGVSZXNpemVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL25vZGUtcmVzaXplJztcbmltcG9ydCB7IEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIElGRHJhZ0FuZERyb3BQbHVnaW4gfSBmcm9tICcuL2ktZi1kcmFnLWFuZC1kcm9wLXBsdWdpbic7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgSUNhblJ1bk91dHNpZGVBbmd1bGFyLCBJUG9pbnRlckV2ZW50IH0gZnJvbSAnQGZvYmxleC9kcmFnLXRvb2xraXQnO1xuaW1wb3J0IHsgRk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyB9IGZyb20gJy4vZG9tYWluJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcImYtZmxvd1tmRHJhZ2dhYmxlXVwiLFxuICBleHBvcnRBczogJ2ZEcmFnZ2FibGUnXG59KVxuZXhwb3J0IGNsYXNzIEZEcmFnZ2FibGVEaXJlY3RpdmUgZXh0ZW5kcyBGRHJhZ2dhYmxlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIEBJbnB1dCgnZkRyYWdnYWJsZURpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnM6IEV2ZW50RW1pdHRlcjxGTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zPiA9IG5ldyBFdmVudEVtaXR0ZXI8Rk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucz4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVOb2RlOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVOb2RlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmUmVhc3NpZ25Db25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZUNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcm9wVG9Hcm91cDogRXZlbnRFbWl0dGVyPEZEcm9wVG9Hcm91cEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RkRyb3BUb0dyb3VwRXZlbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX0RSQUdfQU5EX0RST1BfUExVR0lOLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcGx1Z2lucyE6IFF1ZXJ5TGlzdDxJRkRyYWdBbmREcm9wUGx1Z2luPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE5nWm9uZSkgQE9wdGlvbmFsKCkgbmdab25lOiBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIsXG4gICAgcHJpdmF0ZSBfZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihuZ1pvbmUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBBZGREbmRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLnN1YnNjcmliZSh0aGlzLl9mQnJvd3Nlci5kb2N1bWVudCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IGJvb2xlYW4ge1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgU2luZ2xlU2VsZWN0UmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIGNvbnN0IGlzTW91c2VMZWZ0QnV0dG9uID0gZXZlbnQuaXNNb3VzZUxlZnRCdXR0b24oKTtcbiAgICBpZiAoIWlzTW91c2VMZWZ0QnV0dG9uKSB7XG4gICAgICB0aGlzLmZpbmFsaXplRHJhZ1NlcXVlbmNlKCk7XG4gICAgfVxuICAgIHJldHVybiBpc01vdXNlTGVmdEJ1dHRvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25TZWxlY3QoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHgpID0+IHgub25TZWxlY3Q/LihldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFByZXZlbnREZWZhdWx0SXNFeHRlcm5hbEl0ZW1SZXF1ZXN0KGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyTW92ZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBPblBvaW50ZXJNb3ZlUmVxdWVzdChldmVudCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJVcD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgRW5kRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaW5hbGl6ZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuICB9XG59XG5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1kcmFnZ2FibGUtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvaS1kcmFnZ2FibGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIGluaXRpYWxpemU/KCk6IHZvaWQ7XG5cbiAgbW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkO1xuXG4gIGNvbXBsZXRlPygpOiB2b2lkO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1kcmFnZ2FibGUtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvaS1kcmFnZ2FibGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHByZXBhcmVEcmFnU2VxdWVuY2U/KCk6IHZvaWQ7XG5cbiAgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkO1xuXG4gIG9uUG9pbnRlclVwPygpOiB2b2lkO1xufVxuIl19
@@ -1,6 +1,7 @@
1
1
  export * from './canvas';
2
2
  export * from './connections';
3
3
  export * from './domain';
4
+ export * from '../domain/f-draggable/is-drag-started';
4
5
  export * from './node';
5
6
  export * from './node-resize';
6
7
  export * from './single-select';
@@ -11,4 +12,4 @@ export * from './f-selection-change-event';
11
12
  export * from './i-f-drag-and-drop-plugin';
12
13
  export * from './i-draggable-item';
13
14
  export * from './providers';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsUUFBUSxDQUFDO0FBRXZCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbnZhcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2RvbWFpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1yZXNpemUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NpbmdsZS1zZWxlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZHJhZ2dhYmxlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktZi1kcmFnLWFuZC1kcm9wLXBsdWdpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1kcmFnZ2FibGUtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuXG5cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxRQUFRLENBQUM7QUFFdkIsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZG9tYWluJztcblxuZXhwb3J0ICogZnJvbSAnLi4vZG9tYWluL2YtZHJhZ2dhYmxlL2lzLWRyYWctc3RhcnRlZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1yZXNpemUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NpbmdsZS1zZWxlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZHJhZ2dhYmxlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktZi1kcmFnLWFuZC1kcm9wLXBsdWdpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1kcmFnZ2FibGUtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuXG5cbiJdfQ==
@@ -10,19 +10,19 @@ export class ConnectionBaseDragHandler {
10
10
  this.fComponentsStore = fComponentsStore;
11
11
  this.connection = connection;
12
12
  }
13
- initialize() {
13
+ prepareDragSequence() {
14
14
  this.fOutputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.getOutput()));
15
15
  this.fInputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.getInput()));
16
16
  }
17
17
  getOutput() {
18
- const result = this.fComponentsStore.fOutputs.find((x) => x.id === this.connection.fOutputId);
18
+ const result = this.fComponentsStore.fOutputs.find((x) => x.fId === this.connection.fOutputId);
19
19
  if (!result) {
20
20
  throw new Error(this.connectorNotFoundPrefix(`fOutput with id ${this.connection.fOutputId} not found`));
21
21
  }
22
22
  return result;
23
23
  }
24
24
  getInput() {
25
- const result = this.fComponentsStore.fInputs.find((x) => x.id === this.connection.fInputId);
25
+ const result = this.fComponentsStore.fInputs.find((x) => x.fId === this.connection.fInputId);
26
26
  if (!result) {
27
27
  throw new Error(this.connectorNotFoundPrefix(`fInput with id ${this.connection.fInputId} not found`));
28
28
  }
@@ -47,4 +47,4 @@ export class ConnectionBaseDragHandler {
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConnectionBaseDragHandler, decorators: [{
48
48
  type: Directive
49
49
  }], ctorParameters: function () { return [{ type: i1.FMediator }, { type: i2.FComponentsStore }, { type: i3.FConnectionBase }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFzQixNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFHL0UsTUFBTSxPQUFnQix5QkFBeUI7SUFLN0MsWUFDWSxTQUFvQixFQUNwQixnQkFBa0MsRUFDckMsVUFBMkI7UUFGeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQWlCO0lBRXBDLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBcUIsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQXFCLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsSCxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFFLENBQUM7UUFDL0YsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLG1CQUFvQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVUsWUFBWSxDQUFDLENBQUMsQ0FBQztTQUMzRztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxRQUFRO1FBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUUsQ0FBQztRQUM3RixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQW1CLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUyxZQUFZLENBQUMsQ0FBQyxDQUFDO1NBQ3pHO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLHVCQUF1QixDQUFDLE9BQWU7UUFDN0MsT0FBTyx5REFBMEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFVLGVBQWdCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUyxLQUFNLE9BQVEsZ0ZBQWdGLENBQUM7SUFDck8sQ0FBQztJQUlTLGFBQWEsQ0FBQyxVQUFrQixFQUFFLFlBQW1DO1FBQzdFLE9BQU87WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM1RSxDQUFBO0lBQ0gsQ0FBQztJQUVTLGdCQUFnQixDQUFDLElBQVc7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckosSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQWpEbUIseUJBQXlCO21HQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBRDlDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTm9kZU1vdmVSZXN0cmljdGlvbnMgfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgSUxpbmUsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QsIElDb25uZWN0b3JXaXRoUmVjdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJvdGVjdGVkIGZPdXRwdXRXaXRoUmVjdCE6IElDb25uZWN0b3JXaXRoUmVjdDtcbiAgcHJvdGVjdGVkIGZJbnB1dFdpdGhSZWN0ITogSUNvbm5lY3RvcldpdGhSZWN0O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJvdGVjdGVkIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHVibGljIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUNvbm5lY3RvcldpdGhSZWN0PihuZXcgR2V0Q29ubmVjdG9yV2l0aFJlY3RSZXF1ZXN0KHRoaXMuZ2V0T3V0cHV0KCkpKTtcbiAgICB0aGlzLmZJbnB1dFdpdGhSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yV2l0aFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QodGhpcy5nZXRJbnB1dCgpKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE91dHB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IHRoaXMuY29ubmVjdGlvbi5mT3V0cHV0SWQpITtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuY29ubmVjdG9yTm90Rm91bmRQcmVmaXgoYGZPdXRwdXQgd2l0aCBpZCAkeyB0aGlzLmNvbm5lY3Rpb24uZk91dHB1dElkIH0gbm90IGZvdW5kYCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5pZCA9PT0gdGhpcy5jb25uZWN0aW9uLmZJbnB1dElkKSE7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmNvbm5lY3Rvck5vdEZvdW5kUHJlZml4KGBmSW5wdXQgd2l0aCBpZCAkeyB0aGlzLmNvbm5lY3Rpb24uZklucHV0SWQgfSBub3QgZm91bmRgKSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGNvbm5lY3Rvck5vdEZvdW5kUHJlZml4KG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBDb25uZWN0aW9uRHJhZ0hhbmRsZXIgRXJyb3I6IENvbm5lY3Rpb24gRnJvbSAoZk91dHB1dCkkeyB0aGlzLmNvbm5lY3Rpb24uZk91dHB1dElkIH0gVG8gKGZJbnB1dCkkeyB0aGlzLmNvbm5lY3Rpb24uZklucHV0SWQgfS4gJHsgbWVzc2FnZSB9LiBQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIGYtY29ubmVjdGlvbnMgYXJlIGFzc29jaWF0ZWQgd2l0aCBleGlzdGluZyBjb25uZWN0b3JzYDtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGdldERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50LCByZXN0cmljdGlvbnM6IElOb2RlTW92ZVJlc3RyaWN0aW9ucyk6IElQb2ludCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IE1hdGgubWluKE1hdGgubWF4KGRpZmZlcmVuY2UueCwgcmVzdHJpY3Rpb25zLm1pbi54KSwgcmVzdHJpY3Rpb25zLm1heC54KSxcbiAgICAgIHk6IE1hdGgubWluKE1hdGgubWF4KGRpZmZlcmVuY2UueSwgcmVzdHJpY3Rpb25zLm1pbi55KSwgcmVzdHJpY3Rpb25zLm1heC55KVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCByZWRyYXdDb25uZWN0aW9uKGxpbmU6IElMaW5lKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0aW9uLnNldExpbmUobGluZS5wb2ludDEsIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSwgbGluZS5wb2ludDIsIHRoaXMuZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICB0aGlzLmNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFzQixNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFHL0UsTUFBTSxPQUFnQix5QkFBeUI7SUFLN0MsWUFDWSxTQUFvQixFQUNwQixnQkFBa0MsRUFDckMsVUFBMkI7UUFGeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQWlCO0lBRXBDLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBcUIsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQXFCLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsSCxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFFLENBQUM7UUFDaEcsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLG1CQUFvQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVUsWUFBWSxDQUFDLENBQUMsQ0FBQztTQUMzRztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxRQUFRO1FBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUUsQ0FBQztRQUM5RixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQW1CLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUyxZQUFZLENBQUMsQ0FBQyxDQUFDO1NBQ3pHO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLHVCQUF1QixDQUFDLE9BQWU7UUFDN0MsT0FBTyx5REFBMEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFVLGVBQWdCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUyxLQUFNLE9BQVEsZ0ZBQWdGLENBQUM7SUFDck8sQ0FBQztJQUlTLGFBQWEsQ0FBQyxVQUFrQixFQUFFLFlBQW1DO1FBQzdFLE9BQU87WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM1RSxDQUFBO0lBQ0gsQ0FBQztJQUVTLGdCQUFnQixDQUFDLElBQVc7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckosSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQWpEbUIseUJBQXlCO21HQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBRDlDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTm9kZU1vdmVSZXN0cmljdGlvbnMgfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgSUxpbmUsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QsIElDb25uZWN0b3JXaXRoUmVjdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJvdGVjdGVkIGZPdXRwdXRXaXRoUmVjdCE6IElDb25uZWN0b3JXaXRoUmVjdDtcbiAgcHJvdGVjdGVkIGZJbnB1dFdpdGhSZWN0ITogSUNvbm5lY3RvcldpdGhSZWN0O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJvdGVjdGVkIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHVibGljIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUNvbm5lY3RvcldpdGhSZWN0PihuZXcgR2V0Q29ubmVjdG9yV2l0aFJlY3RSZXF1ZXN0KHRoaXMuZ2V0T3V0cHV0KCkpKTtcbiAgICB0aGlzLmZJbnB1dFdpdGhSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yV2l0aFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QodGhpcy5nZXRJbnB1dCgpKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE91dHB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguZklkID09PSB0aGlzLmNvbm5lY3Rpb24uZk91dHB1dElkKSE7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmNvbm5lY3Rvck5vdEZvdW5kUHJlZml4KGBmT3V0cHV0IHdpdGggaWQgJHsgdGhpcy5jb25uZWN0aW9uLmZPdXRwdXRJZCB9IG5vdCBmb3VuZGApKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXQoKTogRkNvbm5lY3RvckJhc2Uge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbmQoKHgpID0+IHguZklkID09PSB0aGlzLmNvbm5lY3Rpb24uZklucHV0SWQpITtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuY29ubmVjdG9yTm90Rm91bmRQcmVmaXgoYGZJbnB1dCB3aXRoIGlkICR7IHRoaXMuY29ubmVjdGlvbi5mSW5wdXRJZCB9IG5vdCBmb3VuZGApKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgY29ubmVjdG9yTm90Rm91bmRQcmVmaXgobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYENvbm5lY3Rpb25EcmFnSGFuZGxlciBFcnJvcjogQ29ubmVjdGlvbiBGcm9tIChmT3V0cHV0KSR7IHRoaXMuY29ubmVjdGlvbi5mT3V0cHV0SWQgfSBUbyAoZklucHV0KSR7IHRoaXMuY29ubmVjdGlvbi5mSW5wdXRJZCB9LiAkeyBtZXNzYWdlIH0uIFBsZWFzZSBlbnN1cmUgdGhhdCBhbGwgZi1jb25uZWN0aW9ucyBhcmUgYXNzb2NpYXRlZCB3aXRoIGV4aXN0aW5nIGNvbm5lY3RvcnNgO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZDtcblxuICBwcm90ZWN0ZWQgZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQsIHJlc3RyaWN0aW9uczogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zKTogSVBvaW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogTWF0aC5taW4oTWF0aC5tYXgoZGlmZmVyZW5jZS54LCByZXN0cmljdGlvbnMubWluLngpLCByZXN0cmljdGlvbnMubWF4LngpLFxuICAgICAgeTogTWF0aC5taW4oTWF0aC5tYXgoZGlmZmVyZW5jZS55LCByZXN0cmljdGlvbnMubWluLnkpLCByZXN0cmljdGlvbnMubWF4LnkpXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlZHJhd0Nvbm5lY3Rpb24obGluZTogSUxpbmUpOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3Rpb24uc2V0TGluZShsaW5lLnBvaW50MSwgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBsaW5lLnBvaW50MiwgdGhpcy5mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxufVxuIl19
@@ -7,11 +7,11 @@ export class ConnectionSourceDragHandler extends ConnectionBaseDragHandler {
7
7
  this.minDistance = minDistance;
8
8
  this.maxDistance = maxDistance;
9
9
  }
10
- move(difference) {
10
+ onPointerMove(difference) {
11
11
  this.redrawConnection(this.getNewLineValue(difference));
12
12
  }
13
13
  getNewLineValue(difference) {
14
14
  return this.fMediator.send(new GetConnectionLineRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
15
15
  }
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFDRSxTQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsVUFBMkIsRUFDcEIsV0FBbUIsRUFDbkIsV0FBbUI7UUFFMUIsS0FBSyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUh4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUc1QixDQUFDO0lBRWUsSUFBSSxDQUFDLFVBQWtCO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksd0JBQXdCLENBQzVELFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFDekosV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQ2hELElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUNoRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGluZSwgSVBvaW50LCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0XG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBDb25uZWN0aW9uQmFzZURyYWdIYW5kbGVyIH0gZnJvbSAnLi9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvblNvdXJjZURyYWdIYW5kbGVyIGV4dGVuZHMgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICAgcHVibGljIG1pbkRpc3RhbmNlOiBJUG9pbnQsXG4gICAgcHVibGljIG1heERpc3RhbmNlOiBJUG9pbnRcbiAgKSB7XG4gICAgc3VwZXIoZk1lZGlhdG9yLCBmQ29tcG9uZW50c1N0b3JlLCBjb25uZWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMucmVkcmF3Q29ubmVjdGlvbih0aGlzLmdldE5ld0xpbmVWYWx1ZShkaWZmZXJlbmNlKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE5ld0xpbmVWYWx1ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUxpbmU+KG5ldyBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QoXG4gICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5mT3V0cHV0V2l0aFJlY3QuZlJlY3QpLmFkZFBvaW50KHRoaXMuZ2V0RGlmZmVyZW5jZSh7IC4uLmRpZmZlcmVuY2UgfSwgeyBtaW46IHRoaXMubWluRGlzdGFuY2UsIG1heDogdGhpcy5tYXhEaXN0YW5jZSB9KSksXG4gICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5mSW5wdXRXaXRoUmVjdC5mUmVjdCksXG4gICAgICB0aGlzLmNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgdGhpcy5mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGVcbiAgICApKTtcbiAgfVxufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFDRSxTQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsVUFBMkIsRUFDcEIsV0FBbUIsRUFDbkIsV0FBbUI7UUFFMUIsS0FBSyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUh4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUc1QixDQUFDO0lBRWUsYUFBYSxDQUFDLFVBQWtCO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksd0JBQXdCLENBQzVELFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFDekosV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQ2hELElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUNoRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGluZSwgSVBvaW50LCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0XG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBDb25uZWN0aW9uQmFzZURyYWdIYW5kbGVyIH0gZnJvbSAnLi9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvblNvdXJjZURyYWdIYW5kbGVyIGV4dGVuZHMgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICAgcHVibGljIG1pbkRpc3RhbmNlOiBJUG9pbnQsXG4gICAgcHVibGljIG1heERpc3RhbmNlOiBJUG9pbnRcbiAgKSB7XG4gICAgc3VwZXIoZk1lZGlhdG9yLCBmQ29tcG9uZW50c1N0b3JlLCBjb25uZWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMucmVkcmF3Q29ubmVjdGlvbih0aGlzLmdldE5ld0xpbmVWYWx1ZShkaWZmZXJlbmNlKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE5ld0xpbmVWYWx1ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUxpbmU+KG5ldyBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QoXG4gICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5mT3V0cHV0V2l0aFJlY3QuZlJlY3QpLmFkZFBvaW50KHRoaXMuZ2V0RGlmZmVyZW5jZSh7IC4uLmRpZmZlcmVuY2UgfSwgeyBtaW46IHRoaXMubWluRGlzdGFuY2UsIG1heDogdGhpcy5tYXhEaXN0YW5jZSB9KSksXG4gICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5mSW5wdXRXaXRoUmVjdC5mUmVjdCksXG4gICAgICB0aGlzLmNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgdGhpcy5mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGVcbiAgICApKTtcbiAgfVxufVxuIl19
@@ -7,11 +7,11 @@ export class ConnectionTargetDragHandler extends ConnectionBaseDragHandler {
7
7
  this.minDistance = minDistance;
8
8
  this.maxDistance = maxDistance;
9
9
  }
10
- move(difference) {
10
+ onPointerMove(difference) {
11
11
  this.redrawConnection(this.getNewLineValue(difference));
12
12
  }
13
13
  getNewLineValue(difference) {
14
14
  return this.fMediator.send(new GetConnectionLineRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
15
15
  }
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi10YXJnZXQuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tdGFyZ2V0LmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4RCxPQUFPLEVBQ0wsd0JBQXdCLEdBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFDRSxTQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsVUFBMkIsRUFDcEIsV0FBbUIsRUFDbkIsV0FBbUI7UUFFMUIsS0FBSyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUh4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUc1QixDQUFDO0lBRWUsSUFBSSxDQUFDLFVBQWtCO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksd0JBQXdCLENBQzVELFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFDdkQsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUN4SixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQ2hELElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUNoRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGluZSwgSVBvaW50LCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciB9IGZyb20gJy4vY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25UYXJnZXREcmFnSGFuZGxlciBleHRlbmRzIENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHB1YmxpYyBtaW5EaXN0YW5jZTogSVBvaW50LFxuICAgIHB1YmxpYyBtYXhEaXN0YW5jZTogSVBvaW50XG4gICkge1xuICAgIHN1cGVyKGZNZWRpYXRvciwgZkNvbXBvbmVudHNTdG9yZSwgY29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgbW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlZHJhd0Nvbm5lY3Rpb24odGhpcy5nZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElMaW5lPihuZXcgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0KFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuZk91dHB1dFdpdGhSZWN0LmZSZWN0KSxcbiAgICAgIFJvdW5kZWRSZWN0LmZyb21Sb3VuZGVkUmVjdCh0aGlzLmZJbnB1dFdpdGhSZWN0LmZSZWN0KS5hZGRQb2ludCh0aGlzLmdldERpZmZlcmVuY2UoeyAuLi5kaWZmZXJlbmNlIH0sIHsgbWluOiB0aGlzLm1pbkRpc3RhbmNlLCBtYXg6IHRoaXMubWF4RGlzdGFuY2UgfSkpLFxuICAgICAgdGhpcy5jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgIHRoaXMuZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKSk7XG4gIH1cbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi10YXJnZXQuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tdGFyZ2V0LmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN4RCxPQUFPLEVBQ0wsd0JBQXdCLEdBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFDRSxTQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsVUFBMkIsRUFDcEIsV0FBbUIsRUFDbkIsV0FBbUI7UUFFMUIsS0FBSyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUh4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUc1QixDQUFDO0lBRWUsYUFBYSxDQUFDLFVBQWtCO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksd0JBQXdCLENBQzVELFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFDdkQsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUN4SixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQ2hELElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUNoRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGluZSwgSVBvaW50LCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciB9IGZyb20gJy4vY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25UYXJnZXREcmFnSGFuZGxlciBleHRlbmRzIENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHB1YmxpYyBtaW5EaXN0YW5jZTogSVBvaW50LFxuICAgIHB1YmxpYyBtYXhEaXN0YW5jZTogSVBvaW50XG4gICkge1xuICAgIHN1cGVyKGZNZWRpYXRvciwgZkNvbXBvbmVudHNTdG9yZSwgY29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlZHJhd0Nvbm5lY3Rpb24odGhpcy5nZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElMaW5lPihuZXcgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0KFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuZk91dHB1dFdpdGhSZWN0LmZSZWN0KSxcbiAgICAgIFJvdW5kZWRSZWN0LmZyb21Sb3VuZGVkUmVjdCh0aGlzLmZJbnB1dFdpdGhSZWN0LmZSZWN0KS5hZGRQb2ludCh0aGlzLmdldERpZmZlcmVuY2UoeyAuLi5kaWZmZXJlbmNlIH0sIHsgbWluOiB0aGlzLm1pbkRpc3RhbmNlLCBtYXg6IHRoaXMubWF4RGlzdGFuY2UgfSkpLFxuICAgICAgdGhpcy5jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgIHRoaXMuZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKSk7XG4gIH1cbn1cbiJdfQ==
@@ -11,11 +11,11 @@ export class ConnectionDragHandler extends ConnectionBaseDragHandler {
11
11
  setInputRestrictions(min, max) {
12
12
  this.targetRestrictions = { min, max };
13
13
  }
14
- move(difference) {
14
+ onPointerMove(difference) {
15
15
  this.redrawConnection(this.getNewLineValue(difference));
16
16
  }
17
17
  getNewLineValue(difference) {
18
18
  return this.fMediator.send(new GetConnectionLineRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getDifference({ ...difference }, this.sourceRestrictions)), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getDifference({ ...difference }, this.targetRestrictions)), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
19
19
  }
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHeEQsT0FBTyxFQUNMLHdCQUF3QixHQUN6QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUkzRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEseUJBQXlCO0lBS2xFLFlBQ0UsU0FBb0IsRUFDcEIsZ0JBQWtDLEVBQ2xDLFVBQTJCO1FBRTNCLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ25ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFZSxJQUFJLENBQUMsVUFBa0I7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQWtCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVEsSUFBSSx3QkFBd0IsQ0FDNUQsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUNoSSxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQy9ILElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDaEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQ2hELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lLCBJUG9pbnQsIFJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QsXG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDb25uZWN0aW9uQmFzZURyYWdIYW5kbGVyIH0gZnJvbSAnLi9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IElOb2RlTW92ZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25EcmFnSGFuZGxlciBleHRlbmRzIENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIge1xuXG4gIHByaXZhdGUgc291cmNlUmVzdHJpY3Rpb25zITogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zO1xuICBwcml2YXRlIHRhcmdldFJlc3RyaWN0aW9ucyE6IElOb2RlTW92ZVJlc3RyaWN0aW9ucztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgKSB7XG4gICAgc3VwZXIoZk1lZGlhdG9yLCBmQ29tcG9uZW50c1N0b3JlLCBjb25uZWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRPdXRwdXRSZXN0cmljdGlvbnMobWluOiBJUG9pbnQsIG1heDogSVBvaW50KSB7XG4gICAgdGhpcy5zb3VyY2VSZXN0cmljdGlvbnMgPSB7IG1pbiwgbWF4IH07XG4gIH1cblxuICBwdWJsaWMgc2V0SW5wdXRSZXN0cmljdGlvbnMobWluOiBJUG9pbnQsIG1heDogSVBvaW50KSB7XG4gICAgdGhpcy50YXJnZXRSZXN0cmljdGlvbnMgPSB7IG1pbiwgbWF4IH07XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgbW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlZHJhd0Nvbm5lY3Rpb24odGhpcy5nZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElMaW5lPihuZXcgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0KFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuZk91dHB1dFdpdGhSZWN0LmZSZWN0KS5hZGRQb2ludCh0aGlzLmdldERpZmZlcmVuY2UoeyAuLi5kaWZmZXJlbmNlIH0sIHRoaXMuc291cmNlUmVzdHJpY3Rpb25zKSksXG4gICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5mSW5wdXRXaXRoUmVjdC5mUmVjdCkuYWRkUG9pbnQodGhpcy5nZXREaWZmZXJlbmNlKHsgLi4uZGlmZmVyZW5jZSB9LCB0aGlzLnRhcmdldFJlc3RyaWN0aW9ucykpLFxuICAgICAgdGhpcy5jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgIHRoaXMuZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKSk7XG4gIH1cbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHeEQsT0FBTyxFQUNMLHdCQUF3QixHQUN6QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUkzRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEseUJBQXlCO0lBS2xFLFlBQ0UsU0FBb0IsRUFDcEIsZ0JBQWtDLEVBQ2xDLFVBQTJCO1FBRTNCLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQ25ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFZSxhQUFhLENBQUMsVUFBa0I7UUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQWtCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVEsSUFBSSx3QkFBd0IsQ0FDNUQsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUNoSSxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQy9ILElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDaEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQ2hELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lLCBJUG9pbnQsIFJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QsXG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDb25uZWN0aW9uQmFzZURyYWdIYW5kbGVyIH0gZnJvbSAnLi9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IElOb2RlTW92ZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25EcmFnSGFuZGxlciBleHRlbmRzIENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIge1xuXG4gIHByaXZhdGUgc291cmNlUmVzdHJpY3Rpb25zITogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zO1xuICBwcml2YXRlIHRhcmdldFJlc3RyaWN0aW9ucyE6IElOb2RlTW92ZVJlc3RyaWN0aW9ucztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgKSB7XG4gICAgc3VwZXIoZk1lZGlhdG9yLCBmQ29tcG9uZW50c1N0b3JlLCBjb25uZWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRPdXRwdXRSZXN0cmljdGlvbnMobWluOiBJUG9pbnQsIG1heDogSVBvaW50KSB7XG4gICAgdGhpcy5zb3VyY2VSZXN0cmljdGlvbnMgPSB7IG1pbiwgbWF4IH07XG4gIH1cblxuICBwdWJsaWMgc2V0SW5wdXRSZXN0cmljdGlvbnMobWluOiBJUG9pbnQsIG1heDogSVBvaW50KSB7XG4gICAgdGhpcy50YXJnZXRSZXN0cmljdGlvbnMgPSB7IG1pbiwgbWF4IH07XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlZHJhd0Nvbm5lY3Rpb24odGhpcy5nZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElMaW5lPihuZXcgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0KFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuZk91dHB1dFdpdGhSZWN0LmZSZWN0KS5hZGRQb2ludCh0aGlzLmdldERpZmZlcmVuY2UoeyAuLi5kaWZmZXJlbmNlIH0sIHRoaXMuc291cmNlUmVzdHJpY3Rpb25zKSksXG4gICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5mSW5wdXRXaXRoUmVjdC5mUmVjdCkuYWRkUG9pbnQodGhpcy5nZXREaWZmZXJlbmNlKHsgLi4uZGlmZmVyZW5jZSB9LCB0aGlzLnRhcmdldFJlc3RyaWN0aW9ucykpLFxuICAgICAgdGhpcy5jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgIHRoaXMuZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKSk7XG4gIH1cbn1cbiJdfQ==
@@ -26,13 +26,16 @@ export let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNode
26
26
  }
27
27
  getSelectedNodes(nodeWithDisabledSelection) {
28
28
  const result = this.fDraggableDataContext.selectedItems
29
- .map((x) => this.fComponentsStore.findNode(x.hostElement))
29
+ .map((x) => this._findNode(x.hostElement))
30
30
  .filter((x) => !!x);
31
31
  if (nodeWithDisabledSelection) {
32
32
  result.push(nodeWithDisabledSelection);
33
33
  }
34
34
  return result;
35
35
  }
36
+ _findNode(hostElement) {
37
+ return this.fComponentsStore.fNodes.find(n => n.isContains(hostElement));
38
+ }
36
39
  getNodesWithRestrictions(selectedNodes) {
37
40
  const result = [];
38
41
  selectedNodes.forEach((x) => {
@@ -50,13 +53,13 @@ export let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNode
50
53
  return this.fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
51
54
  }
52
55
  getAllOutputIds(items) {
53
- return flatMap(items, (item) => this.getOutputsForNode(item.node).map((x) => x.id));
56
+ return flatMap(items, (item) => this.getOutputsForNode(item.node).map((x) => x.fId));
54
57
  }
55
58
  getOutputsForNode(node) {
56
59
  return this.fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
57
60
  }
58
61
  getAllInputIds(items) {
59
- return flatMap(items, (item) => this.getInputsForNode(item.node).map((x) => x.id));
62
+ return flatMap(items, (item) => this.getInputsForNode(item.node).map((x) => x.fId));
60
63
  }
61
64
  getInputsForNode(node) {
62
65
  return this.fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
@@ -64,7 +67,7 @@ export let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNode
64
67
  getDragHandlersFromNodes(items) {
65
68
  let result = [];
66
69
  items.forEach((node) => {
67
- result.push(new NodeDragHandler(this.fDraggableDataContext, node.node, node.min, node.max), ...(node.parentNodes || []).map((parent) => new NodeResizeByChildDragHandler(this.fDraggableDataContext)));
70
+ result.push(new NodeDragHandler(this.fDraggableDataContext, node.node, node.min, node.max), ...(node.parentNodes || []).map(() => new NodeResizeByChildDragHandler(this.fDraggableDataContext)));
68
71
  });
69
72
  return result;
70
73
  }
@@ -85,4 +88,4 @@ CreateMoveNodesDragModelFromSelectionExecution = __decorate([
85
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, decorators: [{
86
89
  type: Injectable
87
90
  }], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FMediator }]; } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNySCxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFJN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXZELE9BQU8sRUFBRSw4QkFBOEIsRUFBeUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBSWpDLFdBQU0sOENBQThDLEdBQXBELE1BQU0sOENBQThDO0lBR3pELFlBQ1UsZ0JBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1QyxTQUFvQjtRQUZwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtC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QUFDO0lBQ2hCLENBQUM7SUFFTyw4QkFBOEIsQ0FDcEMsUUFBMEIsRUFBRSxTQUFtQixFQUFFLFFBQWtCO1FBRW5FLElBQUksTUFBTSxHQUFxQixRQUFRLENBQUM7UUFDeEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzNFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUkseUNBQXlDLENBQUMsV0FBOEIsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNySCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLHdDQUF3QyxDQUFDLFdBQThCLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdkgsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOytHQXZGVSw4Q0FBOEM7bUhBQTlDLDhDQUE4Qzs7QUFBOUMsOENBQThDO0lBRDFELGtCQUFrQixDQUFDLDRDQUE0QyxDQUFDO0dBQ3BELDhDQUE4QyxDQXdGMUQ7NEZBeEZZLDhDQUE4QztrQkFGMUQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9ub2RlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnMgfSBmcm9tICcuL2ktbm9kZS13aXRoLWRpc3RhbmNlLXJlc3RyaWN0aW9ucyc7XG5pbXBvcnQgeyBHZXROb2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QsIElOb2RlTW92ZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vZG9tYWluL2dldC1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4vcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcbmltcG9ydCB7XG4gIFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3Rcbn0gZnJvbSAnLi9kb21haW4vcHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZUJ5Q2hpbGREcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUtcmVzaXplLWJ5LWNoaWxkLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QsIElzQXJyYXlIYXNQYXJlbnROb2RlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgZmxhdE1hcCB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25FeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0LCBJRHJhZ2dhYmxlSXRlbVtdPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBjb25zdCBpdGVtc1RvRHJhZyA9IHRoaXMuZ2V0Tm9kZXNXaXRoUmVzdHJpY3Rpb25zKHRoaXMuZ2V0U2VsZWN0ZWROb2RlcyhyZXF1ZXN0Lm5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pKTtcbiAgICByZXR1cm4gdGhpcy5nZXREcmFnSGFuZGxlcnNXaXRoQ29ubmVjdGlvbnMoXG4gICAgICB0aGlzLmdldERyYWdIYW5kbGVyc0Zyb21Ob2RlcyhpdGVtc1RvRHJhZyksXG4gICAgICB0aGlzLmdldEFsbE91dHB1dElkcyhpdGVtc1RvRHJhZyksXG4gICAgICB0aGlzLmdldEFsbElucHV0SWRzKGl0ZW1zVG9EcmFnKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFNlbGVjdGVkTm9kZXMobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbj86IEZOb2RlQmFzZSk6IEZOb2RlQmFzZVtdIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zXG4gICAgICAubWFwKCh4KSA9PiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZmluZE5vZGUoeC5ob3N0RWxlbWVudCkpXG4gICAgICAuZmlsdGVyKCh4KTogeCBpcyBGTm9kZUJhc2UgPT4gISF4KTtcbiAgICBpZihub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uKSB7XG4gICAgICByZXN1bHQucHVzaChub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZXNXaXRoUmVzdHJpY3Rpb25zKHNlbGVjdGVkTm9kZXM6IEZOb2RlQmFzZVtdKTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSB7XG4gICAgY29uc3QgcmVzdWx0OiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdID0gW107XG5cbiAgICBzZWxlY3RlZE5vZGVzLmZvckVhY2goKHgpID0+IHtcbiAgICAgIGNvbnN0IGhhc1BhcmVudE5vZGVJblNlbGVjdGVkID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxib29sZWFuPihuZXcgSXNBcnJheUhhc1BhcmVudE5vZGVSZXF1ZXN0KHgsIHNlbGVjdGVkTm9kZXMpKTtcbiAgICAgIGNvbnN0IHJlc3RyaWN0aW9ucyA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SU5vZGVNb3ZlUmVzdHJpY3Rpb25zPihuZXcgR2V0Tm9kZU1vdmVSZXN0cmljdGlvbnNSZXF1ZXN0KHgsIGhhc1BhcmVudE5vZGVJblNlbGVjdGVkKSk7XG4gICAgICBjb25zdCBwYXJlbnROb2RlcyA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8Rk5vZGVCYXNlW10+KG5ldyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QoeCkpO1xuICAgICAgcmVzdWx0LnB1c2goeyBub2RlOiB4LCBwYXJlbnROb2RlcywgLi4ucmVzdHJpY3Rpb25zIH0sIC4uLnRoaXMuZ2V0Q2hpbGRyZW5JdGVtc1RvRHJhZyh4LCByZXN0cmljdGlvbnMpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldENoaWxkcmVuSXRlbXNUb0RyYWcobm9kZTogRk5vZGVCYXNlLCByZXN0cmljdGlvbnM6IElOb2RlTW92ZVJlc3RyaWN0aW9ucyk6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10ge1xuICAgIHJldHVybiB0aGlzLmdldENoaWxkcmVuTm9kZXMobm9kZS5mSWQpLm1hcCgoeCkgPT4gKHsgbm9kZTogeCwgLi4ucmVzdHJpY3Rpb25zIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2hpbGRyZW5Ob2RlcyhmSWQ6IHN0cmluZyk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZDxGTm9kZUJhc2VbXT4obmV3IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdChmSWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsT3V0cHV0SWRzKGl0ZW1zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmbGF0TWFwKGl0ZW1zLCAoaXRlbTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnMpID0+IHRoaXMuZ2V0T3V0cHV0c0Zvck5vZGUoaXRlbS5ub2RlKS5tYXAoKHgpID0+IHguaWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0c0Zvck5vZGUobm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maWx0ZXIoKHgpID0+IG5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbElucHV0SWRzKGl0ZW1zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmbGF0TWFwKGl0ZW1zLCAoaXRlbTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnMpID0+IHRoaXMuZ2V0SW5wdXRzRm9yTm9kZShpdGVtLm5vZGUpLm1hcCgoeCkgPT4geC5pZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnB1dHNGb3JOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maWx0ZXIoKHgpID0+IG5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGdldERyYWdIYW5kbGVyc0Zyb21Ob2RlcyhpdGVtczogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSk6IElEcmFnZ2FibGVJdGVtW10ge1xuICAgIGxldCByZXN1bHQ6IElEcmFnZ2FibGVJdGVtW10gPSBbXTtcblxuICAgIGl0ZW1zLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgIHJlc3VsdC5wdXNoKFxuICAgICAgICBuZXcgTm9kZURyYWdIYW5kbGVyKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LCBub2RlLm5vZGUsIG5vZGUubWluLCBub2RlLm1heCksXG4gICAgICAgIC4uLihub2RlLnBhcmVudE5vZGVzIHx8IFtdKS5tYXAoKHBhcmVudCkgPT4gbmV3IE5vZGVSZXNpemVCeUNoaWxkRHJhZ0hhbmRsZXIodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQpKVxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcmFnSGFuZGxlcnNXaXRoQ29ubmVjdGlvbnMoXG4gICAgaGFuZGxlcnM6IElEcmFnZ2FibGVJdGVtW10sIG91dHB1dElkczogc3RyaW5nW10sIGlucHV0SWRzOiBzdHJpbmdbXVxuICApOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBsZXQgcmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdID0gaGFuZGxlcnM7XG4gICAgaGFuZGxlcnMuZmlsdGVyKCh4KSA9PiB4IGluc3RhbmNlb2YgTm9kZURyYWdIYW5kbGVyKS5mb3JFYWNoKChkcmFnSGFuZGxlcikgPT4ge1xuICAgICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QoZHJhZ0hhbmRsZXIgYXMgTm9kZURyYWdIYW5kbGVyLCBpbnB1dElkcywgcmVzdWx0KSk7XG4gICAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KGRyYWdIYW5kbGVyIGFzIE5vZGVEcmFnSGFuZGxlciwgb3V0cHV0SWRzLCByZXN1bHQpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNySCxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFJN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXZELE9BQU8sRUFBRSw4QkFBOEIsRUFBeUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBSWpDLFdBQU0sOENBQThDLEdBQXBELE1BQU0sOENBQThDO0lBR3pELFlBQ1UsZ0JBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1QyxTQUFvQjtRQUZwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtC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QyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQ3BHLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyw4QkFBOEIsQ0FDcEMsUUFBMEIsRUFBRSxTQUFtQixFQUFFLFFBQWtCO1FBRW5FLElBQUksTUFBTSxHQUFxQixRQUFRLENBQUM7UUFDeEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzNFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUkseUNBQXlDLENBQUMsV0FBOEIsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNySCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLHdDQUF3QyxDQUFDLFdBQThCLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdkgsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOytHQTNGVSw4Q0FBOEM7bUhBQTlDLDhDQUE4Qzs7QUFBOUMsOENBQThDO0lBRDFELGtCQUFrQixDQUFDLDRDQUE0QyxDQUFDO0dBQ3BELDhDQUE4QyxDQTRGMUQ7NEZBNUZZLDhDQUE4QztrQkFGMUQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9ub2RlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnMgfSBmcm9tICcuL2ktbm9kZS13aXRoLWRpc3RhbmNlLXJlc3RyaWN0aW9ucyc7XG5pbXBvcnQgeyBHZXROb2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QsIElOb2RlTW92ZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vZG9tYWluL2dldC1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4vcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcbmltcG9ydCB7XG4gIFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3Rcbn0gZnJvbSAnLi9kb21haW4vcHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZUJ5Q2hpbGREcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUtcmVzaXplLWJ5LWNoaWxkLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QsIElzQXJyYXlIYXNQYXJlbnROb2RlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgZmxhdE1hcCB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25FeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0LCBJRHJhZ2dhYmxlSXRlbVtdPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBjb25zdCBpdGVtc1RvRHJhZyA9IHRoaXMuZ2V0Tm9kZXNXaXRoUmVzdHJpY3Rpb25zKHRoaXMuZ2V0U2VsZWN0ZWROb2RlcyhyZXF1ZXN0Lm5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pKTtcbiAgICByZXR1cm4gdGhpcy5nZXREcmFnSGFuZGxlcnNXaXRoQ29ubmVjdGlvbnMoXG4gICAgICB0aGlzLmdldERyYWdIYW5kbGVyc0Zyb21Ob2RlcyhpdGVtc1RvRHJhZyksXG4gICAgICB0aGlzLmdldEFsbE91dHB1dElkcyhpdGVtc1RvRHJhZyksXG4gICAgICB0aGlzLmdldEFsbElucHV0SWRzKGl0ZW1zVG9EcmFnKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFNlbGVjdGVkTm9kZXMobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbj86IEZOb2RlQmFzZSk6IEZOb2RlQmFzZVtdIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zXG4gICAgICAubWFwKCh4KSA9PiB0aGlzLl9maW5kTm9kZSh4Lmhvc3RFbGVtZW50KSlcbiAgICAgIC5maWx0ZXIoKHgpOiB4IGlzIEZOb2RlQmFzZSA9PiAhIXgpO1xuICAgIGlmKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pIHtcbiAgICAgIHJlc3VsdC5wdXNoKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZmluZE5vZGUoaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXMuZmluZChuID0+IG4uaXNDb250YWlucyhob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb2Rlc1dpdGhSZXN0cmljdGlvbnMoc2VsZWN0ZWROb2RlczogRk5vZGVCYXNlW10pOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10gPSBbXTtcblxuICAgIHNlbGVjdGVkTm9kZXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgY29uc3QgaGFzUGFyZW50Tm9kZUluU2VsZWN0ZWQgPSB0aGlzLmZNZWRpYXRvci5zZW5kPGJvb2xlYW4+KG5ldyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QoeCwgc2VsZWN0ZWROb2RlcykpO1xuICAgICAgY29uc3QgcmVzdHJpY3Rpb25zID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJTm9kZU1vdmVSZXN0cmljdGlvbnM+KG5ldyBHZXROb2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QoeCwgaGFzUGFyZW50Tm9kZUluU2VsZWN0ZWQpKTtcbiAgICAgIGNvbnN0IHBhcmVudE5vZGVzID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxGTm9kZUJhc2VbXT4obmV3IEdldFBhcmVudE5vZGVzUmVxdWVzdCh4KSk7XG4gICAgICByZXN1bHQucHVzaCh7IG5vZGU6IHgsIHBhcmVudE5vZGVzLCAuLi5yZXN0cmljdGlvbnMgfSwgLi4udGhpcy5nZXRDaGlsZHJlbkl0ZW1zVG9EcmFnKHgsIHJlc3RyaWN0aW9ucykpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2hpbGRyZW5JdGVtc1RvRHJhZyhub2RlOiBGTm9kZUJhc2UsIHJlc3RyaWN0aW9uczogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zKTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2hpbGRyZW5Ob2Rlcyhub2RlLmZJZCkubWFwKCh4KSA9PiAoeyBub2RlOiB4LCAuLi5yZXN0cmljdGlvbnMgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZHJlbk5vZGVzKGZJZDogc3RyaW5nKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxPdXRwdXRJZHMoaXRlbXM6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAoaXRlbXMsIChpdGVtOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucykgPT4gdGhpcy5nZXRPdXRwdXRzRm9yTm9kZShpdGVtLm5vZGUpLm1hcCgoeCkgPT4geC5mSWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0c0Zvck5vZGUobm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maWx0ZXIoKHgpID0+IG5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbElucHV0SWRzKGl0ZW1zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmbGF0TWFwKGl0ZW1zLCAoaXRlbTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnMpID0+IHRoaXMuZ2V0SW5wdXRzRm9yTm9kZShpdGVtLm5vZGUpLm1hcCgoeCkgPT4geC5mSWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXRzRm9yTm9kZShub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcmFnSGFuZGxlcnNGcm9tTm9kZXMoaXRlbXM6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10pOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBsZXQgcmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdID0gW107XG5cbiAgICBpdGVtcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICByZXN1bHQucHVzaChcbiAgICAgICAgbmV3IE5vZGVEcmFnSGFuZGxlcih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dCwgbm9kZS5ub2RlLCBub2RlLm1pbiwgbm9kZS5tYXgpLFxuICAgICAgICAuLi4obm9kZS5wYXJlbnROb2RlcyB8fCBbXSkubWFwKCgpID0+IG5ldyBOb2RlUmVzaXplQnlDaGlsZERyYWdIYW5kbGVyKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0KSlcbiAgICAgICk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZ0hhbmRsZXJzV2l0aENvbm5lY3Rpb25zKFxuICAgIGhhbmRsZXJzOiBJRHJhZ2dhYmxlSXRlbVtdLCBvdXRwdXRJZHM6IHN0cmluZ1tdLCBpbnB1dElkczogc3RyaW5nW11cbiAgKTogSURyYWdnYWJsZUl0ZW1bXSB7XG4gICAgbGV0IHJlc3VsdDogSURyYWdnYWJsZUl0ZW1bXSA9IGhhbmRsZXJzO1xuICAgIGhhbmRsZXJzLmZpbHRlcigoeCkgPT4geCBpbnN0YW5jZW9mIE5vZGVEcmFnSGFuZGxlcikuZm9yRWFjaCgoZHJhZ0hhbmRsZXIpID0+IHtcbiAgICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KGRyYWdIYW5kbGVyIGFzIE5vZGVEcmFnSGFuZGxlciwgaW5wdXRJZHMsIHJlc3VsdCkpO1xuICAgICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdChkcmFnSGFuZGxlciBhcyBOb2RlRHJhZ0hhbmRsZXIsIG91dHB1dElkcywgcmVzdWx0KSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19