@foblex/flow 17.0.8 → 17.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/domain/f-background/providers.d.ts +1 -1
  2. package/domain/f-canvas/providers.d.ts +1 -1
  3. package/domain/f-draggable/providers.d.ts +1 -1
  4. package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +2 -3
  5. package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +2 -2
  6. package/domain/f-flow/get-flow-state/get-flow-state.execution.d.ts +4 -6
  7. package/domain/f-flow/get-flow-state/providers.d.ts +1 -1
  8. package/domain/f-flow/providers.d.ts +1 -1
  9. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.d.ts +3 -0
  10. package/domain/f-node/providers.d.ts +1 -1
  11. package/domain/index.d.ts +1 -0
  12. package/domain/log-execution-time.d.ts +1 -0
  13. package/domain/providers.d.ts +1 -1
  14. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +2 -2
  15. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +17 -19
  16. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +5 -5
  17. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +14 -19
  18. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +2 -2
  19. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +2 -2
  20. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +4 -4
  21. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.mjs +5 -1
  22. package/esm2022/domain/index.mjs +2 -1
  23. package/esm2022/domain/log-execution-time.mjs +16 -0
  24. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +6 -4
  25. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +25 -19
  26. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +1 -2
  27. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +3 -3
  28. package/esm2022/f-draggable/connections/providers.mjs +3 -5
  29. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +33 -33
  30. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs +1 -2
  31. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +46 -42
  32. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +9 -3
  33. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +8 -17
  34. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +6 -6
  35. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +26 -22
  36. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  37. package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -2
  38. package/esm2022/f-draggable/f-draggable.directive.mjs +11 -7
  39. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +1 -1
  40. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +5 -7
  41. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +5 -7
  42. package/esm2022/f-draggable/node/connection.drag-handler.mjs +5 -5
  43. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +37 -22
  44. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.mjs +40 -0
  45. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.mjs +7 -0
  46. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +3 -0
  47. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.mjs +42 -0
  48. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.request.mjs +9 -0
  49. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +3 -0
  50. 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 +16 -21
  51. 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 +4 -4
  52. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +1 -1
  53. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +3 -2
  54. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -3
  55. package/esm2022/f-draggable/node/index.mjs +3 -1
  56. package/esm2022/f-draggable/node/line-alignment-preparation/index.mjs +3 -0
  57. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +67 -0
  58. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +3 -0
  59. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +61 -0
  60. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +8 -6
  61. package/esm2022/f-draggable/node/node-move-preparation/index.mjs +1 -2
  62. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +26 -21
  63. package/esm2022/f-draggable/node/node-move-preparation/providers.mjs +1 -3
  64. package/esm2022/f-draggable/node/node.drag-handler.mjs +13 -19
  65. package/esm2022/f-draggable/node/providers.mjs +3 -1
  66. package/esm2022/f-draggable/single-select/index.mjs +1 -2
  67. package/esm2022/f-draggable/single-select/providers.mjs +1 -3
  68. package/esm2022/f-draggable/single-select/single-select.execution.mjs +8 -1
  69. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +1 -1
  70. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +12 -78
  71. package/esm2022/f-storage/f-components-store.mjs +2 -1
  72. package/f-backgroud/providers.d.ts +1 -1
  73. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +2 -0
  74. package/f-connection/providers.d.ts +1 -1
  75. package/f-connectors/providers.d.ts +1 -1
  76. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +6 -6
  77. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +0 -1
  78. package/f-draggable/connections/providers.d.ts +3 -3
  79. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +12 -13
  80. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.d.ts +0 -1
  81. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.d.ts +14 -16
  82. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -0
  83. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.d.ts +3 -6
  84. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.d.ts +3 -3
  85. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +3 -2
  86. package/f-draggable/f-draggable-base.d.ts +1 -0
  87. package/f-draggable/f-draggable-data-context.d.ts +1 -2
  88. package/f-draggable/f-draggable.directive.d.ts +3 -1
  89. package/f-draggable/node/connection-base-drag-handler.d.ts +2 -3
  90. package/f-draggable/node/connection-source.drag-handler.d.ts +3 -4
  91. package/f-draggable/node/connection-target.drag-handler.d.ts +3 -4
  92. package/f-draggable/node/connection.drag-handler.d.ts +3 -3
  93. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +6 -3
  94. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.d.ts +13 -0
  95. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.d.ts +5 -0
  96. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +2 -0
  97. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.d.ts +12 -0
  98. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/{get-node-move-restrictions/get-node-move-restrictions.request.d.ts → calculate-node-move-restrictions/calculate-node-move-restrictions.request.d.ts} +1 -1
  99. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +2 -0
  100. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +4 -6
  101. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +4 -4
  102. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +2 -1
  103. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -2
  104. package/f-draggable/node/index.d.ts +2 -0
  105. package/f-draggable/node/line-alignment-preparation/index.d.ts +2 -0
  106. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +21 -0
  107. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +2 -0
  108. package/f-draggable/node/line-alignment.drag-handler.d.ts +20 -0
  109. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +1 -1
  110. package/f-draggable/node/node-move-preparation/index.d.ts +0 -1
  111. package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +4 -3
  112. package/f-draggable/node/node-move-preparation/providers.d.ts +1 -2
  113. package/f-draggable/node/node.drag-handler.d.ts +4 -7
  114. package/f-draggable/node/providers.d.ts +2 -1
  115. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +1 -1
  116. package/f-draggable/node-resize/providers.d.ts +1 -1
  117. package/f-draggable/providers.d.ts +1 -1
  118. package/f-draggable/single-select/index.d.ts +0 -1
  119. package/f-draggable/single-select/providers.d.ts +1 -2
  120. package/f-draggable/single-select/single-select.execution.d.ts +1 -0
  121. package/f-line-alignment/f-line-alignment-base.d.ts +2 -8
  122. package/f-line-alignment/f-line-alignment.component.d.ts +6 -25
  123. package/f-minimap/domain/providers.d.ts +1 -1
  124. package/f-node/providers.d.ts +1 -1
  125. package/f-storage/f-components-store.d.ts +2 -0
  126. package/f-storage/providers.d.ts +1 -1
  127. package/fesm2022/foblex-flow.mjs +654 -624
  128. package/fesm2022/foblex-flow.mjs.map +1 -1
  129. package/package.json +2 -2
  130. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +0 -35
  131. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +0 -47
  132. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +0 -42
  133. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs +0 -9
  134. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs +0 -2
  135. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs +0 -4
  136. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +0 -39
  137. package/esm2022/f-draggable/single-select/single-select.validator.mjs +0 -29
  138. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.d.ts +0 -15
  139. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.d.ts +0 -20
  140. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +0 -12
  141. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.d.ts +0 -5
  142. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.d.ts +0 -3
  143. package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +0 -14
  144. package/f-draggable/single-select/single-select.validator.d.ts +0 -13
@@ -5,23 +5,24 @@ import { FExecutionRegister, FMediator } from '@foblex/mediator';
5
5
  import { FComponentsStore } from '../../../f-storage';
6
6
  import { FDraggableDataContext } from '../../f-draggable-data-context';
7
7
  import { NodeDragHandler } from '../node.drag-handler';
8
- import { GetNodeMoveRestrictionsRequest } from './domain/get-node-move-restrictions';
8
+ import { CalculateNodeMoveRestrictionsRequest } from './domain/calculate-node-move-restrictions';
9
9
  import { PutOutputConnectionHandlersToArrayRequest } from './domain/put-output-connection-handlers-to-array';
10
10
  import { PutInputConnectionHandlersToArrayRequest } from './domain/put-input-connection-handlers-to-array';
11
11
  import { NodeResizeByChildDragHandler } from '../node-resize-by-child.drag-handler';
12
12
  import { IsArrayHasParentNodeRequest } from '../../domain';
13
13
  import { GetDeepChildrenNodesAndGroupsRequest, GetParentNodesRequest } from '../../../domain';
14
14
  import { flatMap } from '@foblex/utils';
15
+ import { CalculateCommonNodeMoveRestrictionsRequest } from './domain/calculate-common-node-move-restrictions';
15
16
  import * as i0 from "@angular/core";
16
17
  let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragModelFromSelectionExecution {
17
18
  _fMediator = inject(FMediator);
18
19
  _fComponentsStore = inject(FComponentsStore);
19
20
  _fDraggableDataContext = inject(FDraggableDataContext);
20
21
  handle(request) {
21
- const itemsToDrag = this._getNodesWithRestrictions(this._getSelectedNodes(request.nodeWithDisabledSelection));
22
- return this.getDragHandlersWithConnections(this.getDragHandlersFromNodes(itemsToDrag), this.getAllOutputIds(itemsToDrag), this.getAllInputIds(itemsToDrag));
22
+ const fItemsToDrag = this._getNodesWithRestrictions(this._getDraggedNodes(request.nodeWithDisabledSelection));
23
+ return this.getDragHandlersWithConnections(this.getDragHandlersFromNodes(fItemsToDrag), this.getAllOutputIds(fItemsToDrag), this.getAllInputIds(fItemsToDrag));
23
24
  }
24
- _getSelectedNodes(nodeWithDisabledSelection) {
25
+ _getDraggedNodes(nodeWithDisabledSelection) {
25
26
  const result = this._getNodesFromSelection();
26
27
  if (nodeWithDisabledSelection) {
27
28
  result.push(nodeWithDisabledSelection);
@@ -34,32 +35,46 @@ let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragMo
34
35
  .filter((x) => !!x);
35
36
  }
36
37
  _findNode(hostElement) {
37
- return this._fComponentsStore.fNodes.find(n => n.isContains(hostElement));
38
+ return this._fComponentsStore.fNodes
39
+ .find(n => n.isContains(hostElement));
38
40
  }
39
- _getNodesWithRestrictions(nodesToDrag) {
41
+ _getNodesWithRestrictions(fDraggedNodes) {
40
42
  const result = [];
41
- nodesToDrag.forEach((x) => {
42
- const hasParentNodeInSelected = this._fMediator.send(new IsArrayHasParentNodeRequest(x, nodesToDrag));
43
- const restrictions = this._fMediator.send(new GetNodeMoveRestrictionsRequest(x, hasParentNodeInSelected));
44
- const parentNodes = this._fMediator.send(new GetParentNodesRequest(x));
45
- result.push({ node: x, parentNodes, ...restrictions }, ...this.getChildrenItemsToDrag(x, restrictions));
43
+ fDraggedNodes.forEach((x) => {
44
+ const fParentNodes = this._fMediator.execute(new GetParentNodesRequest(x));
45
+ const restrictions = this._getNodeMoveRestrictions(x, fParentNodes, fDraggedNodes);
46
+ result.push({ fDraggedNode: x, fParentNodes, ...restrictions }, ...this._getChildrenItemsToDrag(x, restrictions));
46
47
  });
48
+ this._applyCommonRestrictions(result);
47
49
  return result;
48
50
  }
49
- getChildrenItemsToDrag(node, restrictions) {
50
- return this.getChildrenNodes(node.fId).map((x) => ({ node: x, ...restrictions }));
51
+ _getNodeMoveRestrictions(fNode, fParentNodes, fDraggedNodes) {
52
+ return this._fMediator.execute(new CalculateNodeMoveRestrictionsRequest(fNode, this._isParentNodeInArray(fParentNodes, fDraggedNodes)));
51
53
  }
52
- getChildrenNodes(fId) {
53
- return this._fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
54
+ _isParentNodeInArray(fParentNodes, fDraggedNodes) {
55
+ return this._fMediator.execute(new IsArrayHasParentNodeRequest(fParentNodes, fDraggedNodes));
56
+ }
57
+ _getChildrenItemsToDrag(node, restrictions) {
58
+ return this._getChildrenNodes(node.fId).map((x) => ({ fDraggedNode: x, ...restrictions }));
59
+ }
60
+ _getChildrenNodes(fId) {
61
+ return this._fMediator.execute(new GetDeepChildrenNodesAndGroupsRequest(fId));
62
+ }
63
+ _applyCommonRestrictions(restrictions) {
64
+ const commonRestrictions = this._fMediator.execute(new CalculateCommonNodeMoveRestrictionsRequest(restrictions));
65
+ restrictions.forEach((x) => {
66
+ x.min = commonRestrictions.min;
67
+ x.max = commonRestrictions.max;
68
+ });
54
69
  }
55
70
  getAllOutputIds(items) {
56
- return flatMap(items, (item) => this.getOutputsForNode(item.node).map((x) => x.fId));
71
+ return flatMap(items, (item) => this.getOutputsForNode(item.fDraggedNode).map((x) => x.fId));
57
72
  }
58
73
  getOutputsForNode(node) {
59
74
  return this._fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
60
75
  }
61
76
  getAllInputIds(items) {
62
- return flatMap(items, (item) => this.getInputsForNode(item.node).map((x) => x.fId));
77
+ return flatMap(items, (item) => this.getInputsForNode(item.fDraggedNode).map((x) => x.fId));
63
78
  }
64
79
  getInputsForNode(node) {
65
80
  return this._fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
@@ -67,15 +82,15 @@ let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragMo
67
82
  getDragHandlersFromNodes(items) {
68
83
  let result = [];
69
84
  items.forEach((node) => {
70
- result.push(new NodeDragHandler(this._fDraggableDataContext, this._fComponentsStore, node.node, node.min, node.max), ...(node.parentNodes || []).map(() => new NodeResizeByChildDragHandler(this._fDraggableDataContext)));
85
+ result.push(new NodeDragHandler(this._fComponentsStore, node.fDraggedNode, { min: node.min, max: node.max }), ...(node.fParentNodes || []).map(() => new NodeResizeByChildDragHandler(this._fDraggableDataContext)));
71
86
  });
72
87
  return result;
73
88
  }
74
89
  getDragHandlersWithConnections(handlers, outputIds, inputIds) {
75
90
  let result = handlers;
76
- handlers.filter((x) => x instanceof NodeDragHandler).forEach((dragHandler) => {
77
- this._fMediator.send(new PutOutputConnectionHandlersToArrayRequest(dragHandler, inputIds, result));
78
- this._fMediator.send(new PutInputConnectionHandlersToArrayRequest(dragHandler, outputIds, result));
91
+ handlers.filter((x) => x instanceof NodeDragHandler).forEach((x) => {
92
+ this._fMediator.execute(new PutOutputConnectionHandlersToArrayRequest(x, inputIds, result));
93
+ this._fMediator.execute(new PutInputConnectionHandlersToArrayRequest(x, outputIds, result));
79
94
  });
80
95
  return result;
81
96
  }
@@ -89,4 +104,4 @@ export { CreateMoveNodesDragModelFromSelectionExecution };
89
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, decorators: [{
90
105
  type: Injectable
91
106
  }] });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDckgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUl2RCxPQUFPLEVBQUUsOEJBQThCLEVBQXlCLE1BQU0scUNBQXFDLENBQUM7QUFDNUcsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0csT0FBTyxFQUNMLHdDQUF3QyxFQUN6QyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUlq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amVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IE5vZGVEcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCwgSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIH0gZnJvbSAnLi9kb21haW4vZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMnO1xuaW1wb3J0IHsgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QgfSBmcm9tICcuL2RvbWFpbi9wdXQtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHtcbiAgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdFxufSBmcm9tICcuL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheSc7XG5pbXBvcnQgeyBOb2RlUmVzaXplQnlDaGlsZERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS1yZXNpemUtYnktY2hpbGQuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IElzQXJyYXlIYXNQYXJlbnROb2RlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QsIEdldFBhcmVudE5vZGVzUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBmbGF0TWFwIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvbkV4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Q3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QsIElEcmFnZ2FibGVJdGVtW10+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCk6IElEcmFnZ2FibGVJdGVtW10ge1xuICAgIGNvbnN0IGl0ZW1zVG9EcmFnID0gdGhpcy5fZ2V0Tm9kZXNXaXRoUmVzdHJpY3Rpb25zKFxuICAgICAgdGhpcy5fZ2V0U2VsZWN0ZWROb2RlcyhyZXF1ZXN0Lm5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5nZXREcmFnSGFuZGxlcnNXaXRoQ29ubmVjdGlvbnMoXG4gICAgICB0aGlzLmdldERyYWdIYW5kbGVyc0Zyb21Ob2RlcyhpdGVtc1RvRHJhZyksXG4gICAgICB0aGlzLmdldEFsbE91dHB1dElkcyhpdGVtc1RvRHJhZyksXG4gICAgICB0aGlzLmdldEFsbElucHV0SWRzKGl0ZW1zVG9EcmFnKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTZWxlY3RlZE5vZGVzKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBGTm9kZUJhc2VbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZ2V0Tm9kZXNGcm9tU2VsZWN0aW9uKCk7XG4gICAgaWYobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbikge1xuICAgICAgcmVzdWx0LnB1c2gobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc0Zyb21TZWxlY3Rpb24oKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtc1xuICAgICAgLm1hcCgoeCkgPT4gdGhpcy5fZmluZE5vZGUoeC5ob3N0RWxlbWVudCkpXG4gICAgICAuZmlsdGVyKCh4KTogeCBpcyBGTm9kZUJhc2UgPT4gISF4KTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmROb2RlKGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKG4gPT4gbi5pc0NvbnRhaW5zKGhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc1dpdGhSZXN0cmljdGlvbnMobm9kZXNUb0RyYWc6IEZOb2RlQmFzZVtdKTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSB7XG4gICAgY29uc3QgcmVzdWx0OiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdID0gW107XG5cbiAgICBub2Rlc1RvRHJhZy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICBjb25zdCBoYXNQYXJlbnROb2RlSW5TZWxlY3RlZCA9IHRoaXMuX2ZNZWRpYXRvci5zZW5kPGJvb2xlYW4+KG5ldyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QoeCwgbm9kZXNUb0RyYWcpKTtcbiAgICAgIGNvbnN0IHJlc3RyaWN0aW9ucyA9IHRoaXMuX2ZNZWRpYXRvci5zZW5kPElOb2RlTW92ZVJlc3RyaWN0aW9ucz4obmV3IEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCh4LCBoYXNQYXJlbnROb2RlSW5TZWxlY3RlZCkpO1xuICAgICAgY29uc3QgcGFyZW50Tm9kZXMgPSB0aGlzLl9mTWVkaWF0b3Iuc2VuZDxGTm9kZUJhc2VbXT4obmV3IEdldFBhcmVudE5vZGVzUmVxdWVzdCh4KSk7XG4gICAgICByZXN1bHQucHVzaCh7IG5vZGU6IHgsIHBhcmVudE5vZGVzLCAuLi5yZXN0cmljdGlvbnMgfSwgLi4udGhpcy5nZXRDaGlsZHJlbkl0ZW1zVG9EcmFnKHgsIHJlc3RyaWN0aW9ucykpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2hpbGRyZW5JdGVtc1RvRHJhZyhub2RlOiBGTm9kZUJhc2UsIHJlc3RyaWN0aW9uczogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zKTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2hpbGRyZW5Ob2Rlcyhub2RlLmZJZCkubWFwKCh4KSA9PiAoeyBub2RlOiB4LCAuLi5yZXN0cmljdGlvbnMgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZHJlbk5vZGVzKGZJZDogc3RyaW5nKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3Iuc2VuZDxGTm9kZUJhc2VbXT4obmV3IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdChmSWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsT3V0cHV0SWRzKGl0ZW1zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmbGF0TWFwKGl0ZW1zLCAoaXRlbTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnMpID0+IHRoaXMuZ2V0T3V0cHV0c0Zvck5vZGUoaXRlbS5ub2RlKS5tYXAoKHgpID0+IHguZklkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE91dHB1dHNGb3JOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbHRlcigoeCkgPT4gbm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsSW5wdXRJZHMoaXRlbXM6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAoaXRlbXMsIChpdGVtOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucykgPT4gdGhpcy5nZXRJbnB1dHNGb3JOb2RlKGl0ZW0ubm9kZSkubWFwKCh4KSA9PiB4LmZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnB1dHNGb3JOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcmFnSGFuZGxlcnNGcm9tTm9kZXMoaXRlbXM6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10pOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBsZXQgcmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdID0gW107XG5cbiAgICBpdGVtcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICByZXN1bHQucHVzaChcbiAgICAgICAgbmV3IE5vZGVEcmFnSGFuZGxlcih0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQsIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUsIG5vZGUubm9kZSwgbm9kZS5taW4sIG5vZGUubWF4KSxcbiAgICAgICAgLi4uKG5vZGUucGFyZW50Tm9kZXMgfHwgW10pLm1hcCgoKSA9PiBuZXcgTm9kZVJlc2l6ZUJ5Q2hpbGREcmFnSGFuZGxlcih0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQpKVxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcmFnSGFuZGxlcnNXaXRoQ29ubmVjdGlvbnMoXG4gICAgaGFuZGxlcnM6IElEcmFnZ2FibGVJdGVtW10sIG91dHB1dElkczogc3RyaW5nW10sIGlucHV0SWRzOiBzdHJpbmdbXVxuICApOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBsZXQgcmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdID0gaGFuZGxlcnM7XG4gICAgaGFuZGxlcnMuZmlsdGVyKCh4KSA9PiB4IGluc3RhbmNlb2YgTm9kZURyYWdIYW5kbGVyKS5mb3JFYWNoKChkcmFnSGFuZGxlcikgPT4ge1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KGRyYWdIYW5kbGVyIGFzIE5vZGVEcmFnSGFuZGxlciwgaW5wdXRJZHMsIHJlc3VsdCkpO1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QoZHJhZ0hhbmRsZXIgYXMgTm9kZURyYWdIYW5kbGVyLCBvdXRwdXRJZHMsIHJlc3VsdCkpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDckgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUl2RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMs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O0lBRU8sOEJBQThCLENBQ3BDLFFBQTBCLEVBQUUsU0FBbUIsRUFBRSxRQUFrQjtRQUVuRSxJQUFJLE1BQU0sR0FBcUIsUUFBUSxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLHlDQUF5QyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM1RixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLHdDQUF3QyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM5RixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7dUdBbkhVLDhDQUE4QzsyR0FBOUMsOENBQThDOztBQUE5Qyw4Q0FBOEM7SUFEMUQsa0JBQWtCLENBQUMsNENBQTRDLENBQUM7R0FDcEQsOENBQThDLENBb0gxRDs7MkZBcEhZLDhDQUE4QztrQkFGMUQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IE5vZGVEcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IENhbGN1bGF0ZU5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCB9IGZyb20gJy4vZG9tYWluL2NhbGN1bGF0ZS1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4vcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcbmltcG9ydCB7XG4gIFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3Rcbn0gZnJvbSAnLi9kb21haW4vcHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZUJ5Q2hpbGREcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUtcmVzaXplLWJ5LWNoaWxkLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0LCBHZXRQYXJlbnROb2Rlc1JlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgZmxhdE1hcCB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29tbW9uTm9kZU1vdmVSZXN0cmljdGlvbnNSZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IElNaW5NYXhQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25FeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0LCBJRHJhZ2dhYmxlSXRlbVtdPiB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBjb25zdCBmSXRlbXNUb0RyYWcgPSB0aGlzLl9nZXROb2Rlc1dpdGhSZXN0cmljdGlvbnMoXG4gICAgICB0aGlzLl9nZXREcmFnZ2VkTm9kZXMocmVxdWVzdC5ub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RHJhZ0hhbmRsZXJzV2l0aENvbm5lY3Rpb25zKFxuICAgICAgdGhpcy5nZXREcmFnSGFuZGxlcnNGcm9tTm9kZXMoZkl0ZW1zVG9EcmFnKSxcbiAgICAgIHRoaXMuZ2V0QWxsT3V0cHV0SWRzKGZJdGVtc1RvRHJhZyksXG4gICAgICB0aGlzLmdldEFsbElucHV0SWRzKGZJdGVtc1RvRHJhZylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RHJhZ2dlZE5vZGVzKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBGTm9kZUJhc2VbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZ2V0Tm9kZXNGcm9tU2VsZWN0aW9uKCk7XG4gICAgaWYgKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pIHtcbiAgICAgIHJlc3VsdC5wdXNoKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZXNGcm9tU2VsZWN0aW9uKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXNcbiAgICAgIC5tYXAoKHgpID0+IHRoaXMuX2ZpbmROb2RlKHguaG9zdEVsZW1lbnQpKVxuICAgICAgLmZpbHRlcigoeCk6IHggaXMgRk5vZGVCYXNlID0+ICEheCk7XG4gIH1cblxuICBwcml2YXRlIF9maW5kTm9kZShob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mTm9kZXNcbiAgICAgIC5maW5kKG4gPT4gbi5pc0NvbnRhaW5zKGhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc1dpdGhSZXN0cmljdGlvbnMoZkRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10gPSBbXTtcblxuICAgIGZEcmFnZ2VkTm9kZXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgY29uc3QgZlBhcmVudE5vZGVzID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QoeCkpO1xuICAgICAgY29uc3QgcmVzdHJpY3Rpb25zID0gdGhpcy5fZ2V0Tm9kZU1vdmVSZXN0cmljdGlvbnMoeCwgZlBhcmVudE5vZGVzLCBmRHJhZ2dlZE5vZGVzKTtcbiAgICAgIHJlc3VsdC5wdXNoKHsgZkRyYWdnZWROb2RlOiB4LCBmUGFyZW50Tm9kZXMsIC4uLnJlc3RyaWN0aW9ucyB9LCAuLi50aGlzLl9nZXRDaGlsZHJlbkl0ZW1zVG9EcmFnKHgsIHJlc3RyaWN0aW9ucykpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fYXBwbHlDb21tb25SZXN0cmljdGlvbnMocmVzdWx0KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZU1vdmVSZXN0cmljdGlvbnMoZk5vZGU6IEZOb2RlQmFzZSwgZlBhcmVudE5vZGVzOiBGTm9kZUJhc2VbXSwgZkRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBJTWluTWF4UG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJTWluTWF4UG9pbnQ+KFxuICAgICAgbmV3IENhbGN1bGF0ZU5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdChmTm9kZSwgdGhpcy5faXNQYXJlbnROb2RlSW5BcnJheShmUGFyZW50Tm9kZXMsIGZEcmFnZ2VkTm9kZXMpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pc1BhcmVudE5vZGVJbkFycmF5KGZQYXJlbnROb2RlczogRk5vZGVCYXNlW10sIGZEcmFnZ2VkTm9kZXM6IEZOb2RlQmFzZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPGJvb2xlYW4+KG5ldyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QoZlBhcmVudE5vZGVzLCBmRHJhZ2dlZE5vZGVzKSlcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuSXRlbXNUb0RyYWcobm9kZTogRk5vZGVCYXNlLCByZXN0cmljdGlvbnM6IElNaW5NYXhQb2ludCk6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10ge1xuICAgIHJldHVybiB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKG5vZGUuZklkKS5tYXAoKHgpID0+ICh7IGZEcmFnZ2VkTm9kZTogeCwgLi4ucmVzdHJpY3Rpb25zIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuTm9kZXMoZklkOiBzdHJpbmcpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlDb21tb25SZXN0cmljdGlvbnMocmVzdHJpY3Rpb25zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogdm9pZCB7XG4gICAgY29uc3QgY29tbW9uUmVzdHJpY3Rpb25zID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SU1pbk1heFBvaW50PihcbiAgICAgIG5ldyBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QocmVzdHJpY3Rpb25zKVxuICAgICk7XG4gICAgcmVzdHJpY3Rpb25zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHgubWluID0gY29tbW9uUmVzdHJpY3Rpb25zLm1pbjtcbiAgICAgIHgubWF4ID0gY29tbW9uUmVzdHJpY3Rpb25zLm1heDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsT3V0cHV0SWRzKGl0ZW1zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmbGF0TWFwKGl0ZW1zLCAoaXRlbTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnMpID0+IHRoaXMuZ2V0T3V0cHV0c0Zvck5vZGUoaXRlbS5mRHJhZ2dlZE5vZGUpLm1hcCgoeCkgPT4geC5mSWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0c0Zvck5vZGUobm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxJbnB1dElkcyhpdGVtczogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZmxhdE1hcChpdGVtcywgKGl0ZW06IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zKSA9PiB0aGlzLmdldElucHV0c0Zvck5vZGUoaXRlbS5mRHJhZ2dlZE5vZGUpLm1hcCgoeCkgPT4geC5mSWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXRzRm9yTm9kZShub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbHRlcigoeCkgPT4gbm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZ0hhbmRsZXJzRnJvbU5vZGVzKGl0ZW1zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogSURyYWdnYWJsZUl0ZW1bXSB7XG4gICAgbGV0IHJlc3VsdDogSURyYWdnYWJsZUl0ZW1bXSA9IFtdO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgIG5ldyBOb2RlRHJhZ0hhbmRsZXIodGhpcy5fZkNvbXBvbmVudHNTdG9yZSwgbm9kZS5mRHJhZ2dlZE5vZGUsIHsgbWluOiBub2RlLm1pbiwgbWF4OiBub2RlLm1heCB9KSxcbiAgICAgICAgLi4uKG5vZGUuZlBhcmVudE5vZGVzIHx8IFtdKS5tYXAoKCkgPT4gbmV3IE5vZGVSZXNpemVCeUNoaWxkRHJhZ0hhbmRsZXIodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0KSlcbiAgICAgICk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZ0hhbmRsZXJzV2l0aENvbm5lY3Rpb25zKFxuICAgIGhhbmRsZXJzOiBJRHJhZ2dhYmxlSXRlbVtdLCBvdXRwdXRJZHM6IHN0cmluZ1tdLCBpbnB1dElkczogc3RyaW5nW11cbiAgKTogSURyYWdnYWJsZUl0ZW1bXSB7XG4gICAgbGV0IHJlc3VsdDogSURyYWdnYWJsZUl0ZW1bXSA9IGhhbmRsZXJzO1xuICAgIGhhbmRsZXJzLmZpbHRlcigoeCkgPT4geCBpbnN0YW5jZW9mIE5vZGVEcmFnSGFuZGxlcikuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KHgsIGlucHV0SWRzLCByZXN1bHQpKTtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KHgsIG91dHB1dElkcywgcmVzdWx0KSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
@@ -0,0 +1,40 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { CalculateCommonNodeMoveRestrictionsRequest } from './calculate-common-node-move-restrictions.request';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import * as i0 from "@angular/core";
6
+ let CalculateCommonNodeMoveRestrictionsExecution = class CalculateCommonNodeMoveRestrictionsExecution {
7
+ handle(request) {
8
+ return this._calculateCommonRestrictions(request.restrictions);
9
+ }
10
+ _calculateCommonRestrictions(restrictions) {
11
+ return restrictions.reduce((result, x) => this._clampRestrictions(result, x), restrictions[0]);
12
+ }
13
+ _clampRestrictions(common, x) {
14
+ common.min = this._clampMinRestrictions(common.min, x.min);
15
+ common.max = this._clampMaxRestrictions(common.max, x.max);
16
+ return common;
17
+ }
18
+ _clampMinRestrictions(common, node) {
19
+ return {
20
+ x: Math.max(common.x, node.x),
21
+ y: Math.max(common.y, node.y),
22
+ };
23
+ }
24
+ _clampMaxRestrictions(common, node) {
25
+ return {
26
+ x: Math.min(common.x, node.x),
27
+ y: Math.min(common.y, node.y),
28
+ };
29
+ }
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateCommonNodeMoveRestrictionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateCommonNodeMoveRestrictionsExecution });
32
+ };
33
+ CalculateCommonNodeMoveRestrictionsExecution = __decorate([
34
+ FExecutionRegister(CalculateCommonNodeMoveRestrictionsRequest)
35
+ ], CalculateCommonNodeMoveRestrictionsExecution);
36
+ export { CalculateCommonNodeMoveRestrictionsExecution };
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateCommonNodeMoveRestrictionsExecution, decorators: [{
38
+ type: Injectable
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9jYWxjdWxhdGUtY29tbW9uLW5vZGUtbW92ZS1yZXN0cmljdGlvbnMvY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUUvRyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLM0QsSUFBTSw0Q0FBNEMsR0FBbEQsTUFBTSw0Q0FBNEM7SUFHaEQsTUFBTSxDQUFDLE9BQW1EO1FBQy9ELE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sNEJBQTRCLENBQUMsWUFBNkM7UUFDaEYsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBb0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNyRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FDcEQsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxNQUFvQixFQUFFLENBQWdDO1FBQy9FLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNELE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxNQUFjLEVBQUUsSUFBWTtRQUN4RCxPQUFPO1lBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzdCLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUM5QixDQUFBO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQWMsRUFBRSxJQUFZO1FBQ3hELE9BQU87WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzlCLENBQUE7SUFDSCxDQUFDO3VHQS9CVSw0Q0FBNEM7MkdBQTVDLDRDQUE0Qzs7QUFBNUMsNENBQTRDO0lBRHhELGtCQUFrQixDQUFDLDBDQUEwQyxDQUFDO0dBQ2xELDRDQUE0QyxDQWdDeEQ7OzJGQWhDWSw0Q0FBNEM7a0JBRnhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1jb21tb24tbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucy5yZXF1ZXN0JztcbmltcG9ydCB7IElNaW5NYXhQb2ludCwgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zIH0gZnJvbSAnLi4vLi4vaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYWxjdWxhdGVDb21tb25Ob2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29tbW9uTm9kZU1vdmVSZXN0cmljdGlvbnNFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENhbGN1bGF0ZUNvbW1vbk5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCwgSU1pbk1heFBvaW50PiB7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QpOiBJTWluTWF4UG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9jYWxjdWxhdGVDb21tb25SZXN0cmljdGlvbnMocmVxdWVzdC5yZXN0cmljdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlQ29tbW9uUmVzdHJpY3Rpb25zKHJlc3RyaWN0aW9uczogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSk6IElNaW5NYXhQb2ludCB7XG4gICAgcmV0dXJuIHJlc3RyaWN0aW9ucy5yZWR1Y2UoKHJlc3VsdDogSU1pbk1heFBvaW50LCB4KSA9PlxuICAgICAgdGhpcy5fY2xhbXBSZXN0cmljdGlvbnMocmVzdWx0LCB4KSwgcmVzdHJpY3Rpb25zWzBdXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NsYW1wUmVzdHJpY3Rpb25zKGNvbW1vbjogSU1pbk1heFBvaW50LCB4OiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucyk6IElNaW5NYXhQb2ludCB7XG4gICAgY29tbW9uLm1pbiA9IHRoaXMuX2NsYW1wTWluUmVzdHJpY3Rpb25zKGNvbW1vbi5taW4sIHgubWluKTtcbiAgICBjb21tb24ubWF4ID0gdGhpcy5fY2xhbXBNYXhSZXN0cmljdGlvbnMoY29tbW9uLm1heCwgeC5tYXgpO1xuICAgIHJldHVybiBjb21tb247XG4gIH1cblxuICBwcml2YXRlIF9jbGFtcE1pblJlc3RyaWN0aW9ucyhjb21tb246IElQb2ludCwgbm9kZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogTWF0aC5tYXgoY29tbW9uLngsIG5vZGUueCksXG4gICAgICB5OiBNYXRoLm1heChjb21tb24ueSwgbm9kZS55KSxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jbGFtcE1heFJlc3RyaWN0aW9ucyhjb21tb246IElQb2ludCwgbm9kZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogTWF0aC5taW4oY29tbW9uLngsIG5vZGUueCksXG4gICAgICB5OiBNYXRoLm1pbihjb21tb24ueSwgbm9kZS55KSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export class CalculateCommonNodeMoveRestrictionsRequest {
2
+ restrictions;
3
+ constructor(restrictions) {
4
+ this.restrictions = restrictions;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9kb21haW4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zL2NhbGN1bGF0ZS1jb21tb24tbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucy5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywwQ0FBMEM7SUFHNUM7SUFEVCxZQUNTLFlBQTZDO1FBQTdDLGlCQUFZLEdBQVosWUFBWSxDQUFpQztJQUV0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4uLy4uL2ktbm9kZS13aXRoLWRpc3RhbmNlLXJlc3RyaWN0aW9ucyc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZXN0cmljdGlvbnM6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW11cbiAgKSB7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './calculate-common-node-move-restrictions.execution';
2
+ export * from './calculate-common-node-move-restrictions.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9kb21haW4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscURBQXFELENBQUM7QUFFcEUsY0FBYyxtREFBbUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLnJlcXVlc3QnO1xuIl19
@@ -0,0 +1,42 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { CalculateNodeMoveRestrictionsRequest } from './calculate-node-move-restrictions.request';
4
+ import { PointExtensions } from '@foblex/2d';
5
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
+ import { GetNormalizedParentNodeRectRequest } from '../../../../domain';
7
+ import { GetNormalizedElementRectRequest } from '../../../../../domain';
8
+ import * as i0 from "@angular/core";
9
+ let CalculateNodeMoveRestrictionsExecution = class CalculateNodeMoveRestrictionsExecution {
10
+ _fMediator = inject(FMediator);
11
+ handle(request) {
12
+ if (!request.fNode.fParentId || request.hasParentNodeInSelected) {
13
+ return { ...DEFAULT_RESTRICTIONS };
14
+ }
15
+ const fParentNodeRect = this._getParentNodeRect(request.fNode);
16
+ const fCurrentNodeRect = this._getNodeRect(request.fNode);
17
+ return {
18
+ min: PointExtensions.initialize(fParentNodeRect.x - fCurrentNodeRect.x, fParentNodeRect.y - fCurrentNodeRect.y),
19
+ max: PointExtensions.initialize((fParentNodeRect.x + fParentNodeRect.width) - (fCurrentNodeRect.x + fCurrentNodeRect.width), (fParentNodeRect.y + fParentNodeRect.height) - (fCurrentNodeRect.y + fCurrentNodeRect.height))
20
+ };
21
+ }
22
+ _getNodeRect(fNode) {
23
+ return this._fMediator.execute(new GetNormalizedElementRectRequest(fNode.hostElement, false));
24
+ }
25
+ _getParentNodeRect(fNode) {
26
+ return this._fMediator.execute(new GetNormalizedParentNodeRectRequest(fNode));
27
+ }
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateNodeMoveRestrictionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateNodeMoveRestrictionsExecution });
30
+ };
31
+ CalculateNodeMoveRestrictionsExecution = __decorate([
32
+ FExecutionRegister(CalculateNodeMoveRestrictionsRequest)
33
+ ], CalculateNodeMoveRestrictionsExecution);
34
+ export { CalculateNodeMoveRestrictionsExecution };
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateNodeMoveRestrictionsExecution, decorators: [{
36
+ type: Injectable
37
+ }] });
38
+ const DEFAULT_RESTRICTIONS = {
39
+ min: PointExtensions.initialize(-Infinity, -Infinity),
40
+ max: PointExtensions.initialize(Infinity, Infinity)
41
+ };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLW5vZGUtbW92ZS1yZXN0cmljdGlvbnMuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZG9tYWluL2NhbGN1bGF0ZS1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zL2NhbGN1bGF0ZS1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEcsT0FBTyxFQUF1QixlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUlqRSxJQUFNLHNDQUFzQyxHQUE1QyxNQUFNLHNDQUFzQztJQUd6QyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRWhDLE1BQU0sQ0FBQyxPQUE2QztRQUN6RCxJQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDL0QsT0FBTyxFQUFFLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztRQUNyQyxDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFELE9BQU87WUFDTCxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUMvRyxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FDN0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFDM0YsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FDOUY7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFnQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFRLElBQUksK0JBQStCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFnQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFRLElBQUksa0NBQWtDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO3VHQTVCVSxzQ0FBc0M7MkdBQXRDLHNDQUFzQzs7QUFBdEMsc0NBQXNDO0lBRGxELGtCQUFrQixDQUFDLG9DQUFvQyxDQUFDO0dBQzVDLHNDQUFzQyxDQTZCbEQ7OzJGQTdCWSxzQ0FBc0M7a0JBRmxELFVBQVU7O0FBaUNYLE1BQU0sb0JBQW9CLEdBQWlCO0lBQ3pDLEdBQUcsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3JELEdBQUcsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7Q0FDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlTm9kZU1vdmVSZXN0cmljdGlvbnNSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucy5yZXF1ZXN0JztcbmltcG9ydCB7IElNaW5NYXhQb2ludCwgSVJlY3QsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENhbGN1bGF0ZU5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVOb2RlTW92ZVJlc3RyaWN0aW9uc0V4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Q2FsY3VsYXRlTm9kZU1vdmVSZXN0cmljdGlvbnNSZXF1ZXN0LCBJTWluTWF4UG9pbnQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENhbGN1bGF0ZU5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCk6IElNaW5NYXhQb2ludCB7XG4gICAgaWYoIXJlcXVlc3QuZk5vZGUuZlBhcmVudElkIHx8IHJlcXVlc3QuaGFzUGFyZW50Tm9kZUluU2VsZWN0ZWQpIHtcbiAgICAgIHJldHVybiB7IC4uLkRFRkFVTFRfUkVTVFJJQ1RJT05TIH07XG4gICAgfVxuXG4gICAgY29uc3QgZlBhcmVudE5vZGVSZWN0ID0gdGhpcy5fZ2V0UGFyZW50Tm9kZVJlY3QocmVxdWVzdC5mTm9kZSk7XG4gICAgY29uc3QgZkN1cnJlbnROb2RlUmVjdCA9IHRoaXMuX2dldE5vZGVSZWN0KHJlcXVlc3QuZk5vZGUpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1pbjogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoZlBhcmVudE5vZGVSZWN0LnggLSBmQ3VycmVudE5vZGVSZWN0LngsIGZQYXJlbnROb2RlUmVjdC55IC0gZkN1cnJlbnROb2RlUmVjdC55KSxcbiAgICAgIG1heDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICAgIChmUGFyZW50Tm9kZVJlY3QueCArIGZQYXJlbnROb2RlUmVjdC53aWR0aCkgLSAoZkN1cnJlbnROb2RlUmVjdC54ICsgZkN1cnJlbnROb2RlUmVjdC53aWR0aCksXG4gICAgICAgIChmUGFyZW50Tm9kZVJlY3QueSArIGZQYXJlbnROb2RlUmVjdC5oZWlnaHQpIC0gKGZDdXJyZW50Tm9kZVJlY3QueSArIGZDdXJyZW50Tm9kZVJlY3QuaGVpZ2h0KSxcbiAgICAgIClcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZVJlY3QoZk5vZGU6IEZOb2RlQmFzZSk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KGZOb2RlLmhvc3RFbGVtZW50LCBmYWxzZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UGFyZW50Tm9kZVJlY3QoZk5vZGU6IEZOb2RlQmFzZSk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RSZXF1ZXN0KGZOb2RlKSk7XG4gIH1cbn1cblxuY29uc3QgREVGQVVMVF9SRVNUUklDVElPTlM6IElNaW5NYXhQb2ludCA9IHtcbiAgbWluOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgtSW5maW5pdHksIC1JbmZpbml0eSksXG4gIG1heDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoSW5maW5pdHksIEluZmluaXR5KVxufTtcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export class CalculateNodeMoveRestrictionsRequest {
2
+ fNode;
3
+ hasParentNodeInSelected;
4
+ constructor(fNode, hasParentNodeInSelected) {
5
+ this.fNode = fNode;
6
+ this.hasParentNodeInSelected = hasParentNodeInSelected;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLW5vZGUtbW92ZS1yZXN0cmljdGlvbnMucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9jYWxjdWxhdGUtbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucy9jYWxjdWxhdGUtbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucy5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxvQ0FBb0M7SUFHdEM7SUFDQTtJQUZULFlBQ1MsS0FBZ0IsRUFDaEIsdUJBQWdDO1FBRGhDLFVBQUssR0FBTCxLQUFLLENBQVc7UUFDaEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFTO0lBRXpDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVOb2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmTm9kZTogRk5vZGVCYXNlLFxuICAgIHB1YmxpYyBoYXNQYXJlbnROb2RlSW5TZWxlY3RlZDogYm9vbGVhblxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './calculate-node-move-restrictions.execution';
2
+ export * from './calculate-node-move-restrictions.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9kb21haW4vY2FsY3VsYXRlLW5vZGUtbW92ZS1yZXN0cmljdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCxjQUFjLDRDQUE0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucy5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLnJlcXVlc3QnO1xuIl19
@@ -1,21 +1,16 @@
1
1
  import { __decorate } from "tslib";
2
- import { Injectable } from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
3
  import { PutInputConnectionHandlersToArrayRequest } from './put-input-connection-handlers-to-array.request';
4
- import { FExecutionRegister } from '@foblex/mediator';
4
+ import { FComponentsStore } from '../../../../../f-storage';
5
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
5
6
  import { ConnectionDragHandler } from '../../../connection.drag-handler';
6
7
  import { ConnectionTargetDragHandler } from '../../../connection-target.drag-handler';
7
8
  import * as i0 from "@angular/core";
8
- import * as i1 from "../../../../../f-storage";
9
- import * as i2 from "@foblex/mediator";
10
9
  let PutInputConnectionHandlersToArrayExecution = class PutInputConnectionHandlersToArrayExecution {
11
- fComponentsStore;
12
- fMediator;
13
- get fConnections() {
14
- return this.fComponentsStore.fConnections;
15
- }
16
- constructor(fComponentsStore, fMediator) {
17
- this.fComponentsStore = fComponentsStore;
18
- this.fMediator = fMediator;
10
+ _fMediator = inject(FMediator);
11
+ _fComponentsStore = inject(FComponentsStore);
12
+ get _fConnections() {
13
+ return this._fComponentsStore.fConnections;
19
14
  }
20
15
  handle(request) {
21
16
  this.getInputConnections(request.nodeDragHandler.fNode).forEach((connection) => {
@@ -30,10 +25,10 @@ let PutInputConnectionHandlersToArrayExecution = class PutInputConnectionHandler
30
25
  }
31
26
  getInputConnections(node) {
32
27
  const inputIds = new Set(this.getInputsForNode(node).map((x) => x.fId));
33
- return this.fConnections.filter((x) => inputIds.has(x.fInputId));
28
+ return this._fConnections.filter((x) => inputIds.has(x.fInputId));
34
29
  }
35
30
  getInputsForNode(node) {
36
- return this.fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
31
+ return this._fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
37
32
  }
38
33
  getExistingConnectionHandlerIndex(result, connection) {
39
34
  return result.findIndex((x) => x instanceof ConnectionDragHandler && x.connection.fId === connection.fId);
@@ -49,17 +44,17 @@ let PutInputConnectionHandlersToArrayExecution = class PutInputConnectionHandler
49
44
  return result;
50
45
  }
51
46
  getNewConnectionHandler(connection, nodeDragHandler) {
52
- const handler = new ConnectionDragHandler(this.fMediator, this.fComponentsStore, connection);
53
- handler.setInputRestrictions(nodeDragHandler.minDistance, nodeDragHandler.maxDistance);
47
+ const handler = new ConnectionDragHandler(this._fMediator, this._fComponentsStore, connection);
48
+ handler.setInputRestrictions(nodeDragHandler.restrictions);
54
49
  return handler;
55
50
  }
56
51
  updateExistingConnectionHandler(result, index, nodeDragHandler) {
57
- result[index].setInputRestrictions(nodeDragHandler.minDistance, nodeDragHandler.maxDistance);
52
+ result[index].setInputRestrictions(nodeDragHandler.restrictions);
58
53
  }
59
54
  getNewSourceConnectionHandler(connection, nodeDragHandler) {
60
- return new ConnectionTargetDragHandler(this.fMediator, this.fComponentsStore, connection, nodeDragHandler.minDistance, nodeDragHandler.maxDistance);
55
+ return new ConnectionTargetDragHandler(this._fMediator, this._fComponentsStore, connection, nodeDragHandler.restrictions);
61
56
  }
62
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PutInputConnectionHandlersToArrayExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
57
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PutInputConnectionHandlersToArrayExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
63
58
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PutInputConnectionHandlersToArrayExecution });
64
59
  };
65
60
  PutInputConnectionHandlersToArrayExecution = __decorate([
@@ -68,5 +63,5 @@ PutInputConnectionHandlersToArrayExecution = __decorate([
68
63
  export { PutInputConnectionHandlersToArrayExecution };
69
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PutInputConnectionHandlersToArrayExecution, decorators: [{
70
65
  type: Injectable
71
- }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FMediator }] });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZG9tYWluL3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5L3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU1RyxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFJN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHekUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFJL0UsSUFBTSwwQ0FBMEMsR0FBaEQsTUFBTSwwQ0FBMEM7SUFRM0M7SUFDQTtJQU5WLElBQVksWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7SUFDNUMsQ0FBQztJQUVELFlBQ1UsZ0JBQWtDLEVBQ2xDLFNBQW9CO1FBRHBCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUU5QixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlEO1FBQzdELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQzdFLE1BQU0sS0FBSyxH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RSxlQUFlLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0SixDQUFDO3VHQTdEVSwwQ0FBMEM7MkdBQTFDLDBDQUEwQzs7QUFBMUMsMENBQTBDO0lBRHRELGtCQUFrQixDQUFDLHdDQUF3QyxDQUFDO0dBQ2hELDBDQUEwQyxDQThEdEQ7OzJGQTlEWSwwQ0FBMEM7a0JBRnRELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0IH0gZnJvbSAnLi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS5yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9ub2RlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IENvbm5lY3Rpb25UYXJnZXREcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL2Nvbm5lY3Rpb24tdGFyZ2V0LmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIGdldCBmQ29ubmVjdGlvbnMoKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3JcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmdldElucHV0Q29ubmVjdGlvbnMocmVxdWVzdC5ub2RlRHJhZ0hhbmRsZXIuZk5vZGUpLmZvckVhY2goKGNvbm5lY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRFeGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVySW5kZXgocmVxdWVzdC5yZXN1bHQsIGNvbm5lY3Rpb24pO1xuICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIocmVxdWVzdC5yZXN1bHQsIGluZGV4LCByZXF1ZXN0Lm5vZGVEcmFnSGFuZGxlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXF1ZXN0LnJlc3VsdC5wdXNoKHRoaXMuY3JlYXRlTmV3Q29ubmVjdGlvbkhhbmRsZXIocmVxdWVzdC5ub2RlRHJhZ0hhbmRsZXIsIHJlcXVlc3Qub3V0cHV0SWRzLCBjb25uZWN0aW9uKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5wdXRDb25uZWN0aW9ucyhub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgY29uc3QgaW5wdXRJZHMgPSBuZXcgU2V0KHRoaXMuZ2V0SW5wdXRzRm9yTm9kZShub2RlKS5tYXAoKHgpID0+IHguZklkKSk7XG4gICAgcmV0dXJuIHRoaXMuZkNvbm5lY3Rpb25zLmZpbHRlcigoeCkgPT4gaW5wdXRJZHMuaGFzKHguZklucHV0SWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXRzRm9yTm9kZShub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFeGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVySW5kZXgocmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBudW1iZXIge1xuICAgIHJldHVybiByZXN1bHQuZmluZEluZGV4KFxuICAgICAgKHgpID0+IHggaW5zdGFuY2VvZiBDb25uZWN0aW9uRHJhZ0hhbmRsZXIgJiYgeC5jb25uZWN0aW9uLmZJZCA9PT0gY29ubmVjdGlvbi5mSWRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVOZXdDb25uZWN0aW9uSGFuZGxlcihub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlciwgb3V0cHV0SWRzOiBzdHJpbmdbXSwgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKTogSURyYWdnYWJsZUl0ZW0ge1xuICAgIGxldCByZXN1bHQ6IElEcmFnZ2FibGVJdGVtO1xuICAgIGlmIChvdXRwdXRJZHMuaW5jbHVkZXMoY29ubmVjdGlvbi5mT3V0cHV0SWQpKSB7XG4gICAgICByZXN1bHQgPSB0aGlzLmdldE5ld0Nvbm5lY3Rpb25IYW5kbGVyKGNvbm5lY3Rpb24sIG5vZGVEcmFnSGFuZGxlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuZ2V0TmV3U291cmNlQ29ubmVjdGlvbkhhbmRsZXIoY29ubmVjdGlvbiwgbm9kZURyYWdIYW5kbGVyKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV3Q29ubmVjdGlvbkhhbmRsZXIoY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLCBub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlcik6IENvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG4gICAgY29uc3QgaGFuZGxlciA9IG5ldyBDb25uZWN0aW9uRHJhZ0hhbmRsZXIodGhpcy5mTWVkaWF0b3IsIHRoaXMuZkNvbXBvbmVudHNTdG9yZSwgY29ubmVjdGlvbik7XG4gICAgaGFuZGxlci5zZXRJbnB1dFJlc3RyaWN0aW9ucyhub2RlRHJhZ0hhbmRsZXIubWluRGlzdGFuY2UsIG5vZGVEcmFnSGFuZGxlci5tYXhEaXN0YW5jZSk7XG4gICAgcmV0dXJuIGhhbmRsZXI7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIocmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdLCBpbmRleDogbnVtYmVyLCBub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlcik6IHZvaWQge1xuICAgIChyZXN1bHRbIGluZGV4IF0gYXMgQ29ubmVjdGlvbkRyYWdIYW5kbGVyKS5zZXRJbnB1dFJlc3RyaWN0aW9ucyhub2RlRHJhZ0hhbmRsZXIubWluRGlzdGFuY2UsIG5vZGVEcmFnSGFuZGxlci5tYXhEaXN0YW5jZSk7XG4gIH1cblxuICBwcml2YXRlIGdldE5ld1NvdXJjZUNvbm5lY3Rpb25IYW5kbGVyKGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSwgbm9kZURyYWdIYW5kbGVyOiBOb2RlRHJhZ0hhbmRsZXIpOiBDb25uZWN0aW9uVGFyZ2V0RHJhZ0hhbmRsZXIge1xuICAgIHJldHVybiBuZXcgQ29ubmVjdGlvblRhcmdldERyYWdIYW5kbGVyKHRoaXMuZk1lZGlhdG9yLCB0aGlzLmZDb21wb25lbnRzU3RvcmUsIGNvbm5lY3Rpb24sIG5vZGVEcmFnSGFuZGxlci5taW5EaXN0YW5jZSwgbm9kZURyYWdIYW5kbGVyLm1heERpc3RhbmNlKTtcbiAgfVxufVxuXG4iXX0=
66
+ }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZG9tYWluL3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5L3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBSTdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQUkvRSxJQUFNLDBDQUEwQyxHQUFoRCxNQUFNLDBDQUEwQztJQUc3QyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXJELElBQVksYUFBYTtRQUN2QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7SUFDN0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFpRDtRQUM3RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENB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RSxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUgsQ0FBQzt1R0ExRFUsMENBQTBDOzJHQUExQywwQ0FBMEM7O0FBQTFDLDBDQUEwQztJQUR0RCxrQkFBa0IsQ0FBQyx3Q0FBd0MsQ0FBQztHQUNoRCwwQ0FBMEMsQ0EyRHREOzsyRkEzRFksMENBQTBDO2tCQUZ0RCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0IH0gZnJvbSAnLi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS5yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9ub2RlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IENvbm5lY3Rpb25UYXJnZXREcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL2Nvbm5lY3Rpb24tdGFyZ2V0LmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBfZkNvbm5lY3Rpb25zKCk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmdldElucHV0Q29ubmVjdGlvbnMocmVxdWVzdC5ub2RlRHJhZ0hhbmRsZXIuZk5vZGUpLmZvckVhY2goKGNvbm5lY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRFeGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVySW5kZXgocmVxdWVzdC5yZXN1bHQsIGNvbm5lY3Rpb24pO1xuICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIocmVxdWVzdC5yZXN1bHQsIGluZGV4LCByZXF1ZXN0Lm5vZGVEcmFnSGFuZGxlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXF1ZXN0LnJlc3VsdC5wdXNoKHRoaXMuY3JlYXRlTmV3Q29ubmVjdGlvbkhhbmRsZXIocmVxdWVzdC5ub2RlRHJhZ0hhbmRsZXIsIHJlcXVlc3Qub3V0cHV0SWRzLCBjb25uZWN0aW9uKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5wdXRDb25uZWN0aW9ucyhub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgY29uc3QgaW5wdXRJZHMgPSBuZXcgU2V0KHRoaXMuZ2V0SW5wdXRzRm9yTm9kZShub2RlKS5tYXAoKHgpID0+IHguZklkKSk7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IGlucHV0SWRzLmhhcyh4LmZJbnB1dElkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldElucHV0c0Zvck5vZGUobm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maWx0ZXIoKHgpID0+IG5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGdldEV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXJJbmRleChyZXN1bHQ6IElEcmFnZ2FibGVJdGVtW10sIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHJlc3VsdC5maW5kSW5kZXgoXG4gICAgICAoeCkgPT4geCBpbnN0YW5jZW9mIENvbm5lY3Rpb25EcmFnSGFuZGxlciAmJiB4LmNvbm5lY3Rpb24uZklkID09PSBjb25uZWN0aW9uLmZJZFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU5ld0Nvbm5lY3Rpb25IYW5kbGVyKG5vZGVEcmFnSGFuZGxlcjogTm9kZURyYWdIYW5kbGVyLCBvdXRwdXRJZHM6IHN0cmluZ1tdLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBJRHJhZ2dhYmxlSXRlbSB7XG4gICAgbGV0IHJlc3VsdDogSURyYWdnYWJsZUl0ZW0gfCB1bmRlZmluZWQ7XG4gICAgaWYgKG91dHB1dElkcy5pbmNsdWRlcyhjb25uZWN0aW9uLmZPdXRwdXRJZCkpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuZ2V0TmV3Q29ubmVjdGlvbkhhbmRsZXIoY29ubmVjdGlvbiwgbm9kZURyYWdIYW5kbGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gdGhpcy5nZXROZXdTb3VyY2VDb25uZWN0aW9uSGFuZGxlcihjb25uZWN0aW9uLCBub2RlRHJhZ0hhbmRsZXIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXdDb25uZWN0aW9uSGFuZGxlcihjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsIG5vZGVEcmFnSGFuZGxlcjogTm9kZURyYWdIYW5kbGVyKTogQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcbiAgICBjb25zdCBoYW5kbGVyID0gbmV3IENvbm5lY3Rpb25EcmFnSGFuZGxlcih0aGlzLl9mTWVkaWF0b3IsIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUsIGNvbm5lY3Rpb24pO1xuICAgIGhhbmRsZXIuc2V0SW5wdXRSZXN0cmljdGlvbnMobm9kZURyYWdIYW5kbGVyLnJlc3RyaWN0aW9ucyk7XG4gICAgcmV0dXJuIGhhbmRsZXI7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIocmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdLCBpbmRleDogbnVtYmVyLCBub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlcik6IHZvaWQge1xuICAgIChyZXN1bHRbIGluZGV4IF0gYXMgQ29ubmVjdGlvbkRyYWdIYW5kbGVyKS5zZXRJbnB1dFJlc3RyaWN0aW9ucyhub2RlRHJhZ0hhbmRsZXIucmVzdHJpY3Rpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV3U291cmNlQ29ubmVjdGlvbkhhbmRsZXIoY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLCBub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlcik6IENvbm5lY3Rpb25UYXJnZXREcmFnSGFuZGxlciB7XG4gICAgcmV0dXJuIG5ldyBDb25uZWN0aW9uVGFyZ2V0RHJhZ0hhbmRsZXIodGhpcy5fZk1lZGlhdG9yLCB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLCBjb25uZWN0aW9uLCBub2RlRHJhZ0hhbmRsZXIucmVzdHJpY3Rpb25zKTtcbiAgfVxufVxuXG4iXX0=
@@ -50,14 +50,14 @@ let PutOutputConnectionHandlersToArrayExecution = class PutOutputConnectionHandl
50
50
  }
51
51
  getNewConnectionHandler(connection, nodeDragHandler) {
52
52
  const handler = new ConnectionDragHandler(this.fMediator, this.fComponentsStore, connection);
53
- handler.setOutputRestrictions(nodeDragHandler.minDistance, nodeDragHandler.maxDistance);
53
+ handler.setOutputRestrictions(nodeDragHandler.restrictions);
54
54
  return handler;
55
55
  }
56
56
  updateExistingConnectionHandler(result, index, nodeDragHandler) {
57
- result[index].setOutputRestrictions(nodeDragHandler.minDistance, nodeDragHandler.maxDistance);
57
+ result[index].setOutputRestrictions(nodeDragHandler.restrictions);
58
58
  }
59
59
  getNewSourceConnectionHandler(connection, nodeDragHandler) {
60
- return new ConnectionSourceDragHandler(this.fMediator, this.fComponentsStore, connection, nodeDragHandler.minDistance, nodeDragHandler.maxDistance);
60
+ return new ConnectionSourceDragHandler(this.fMediator, this.fComponentsStore, connection, nodeDragHandler.restrictions);
61
61
  }
62
62
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PutOutputConnectionHandlersToArrayExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
63
63
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PutOutputConnectionHandlersToArrayExecution });
@@ -69,4 +69,4 @@ export { PutOutputConnectionHandlersToArrayExecution };
69
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PutOutputConnectionHandlersToArrayExecution, decorators: [{
70
70
  type: Injectable
71
71
  }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FMediator }] });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9wdXQtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkvcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUU5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFJN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFNL0UsSUFBTSwyQ0FBMkMsR0FBakQsTUFBTSwyQ0FBMkM7SUFRNUM7SUFDQTtJQU5WLElBQVksWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7SUFDNUMsQ0FBQztJQUVELFlBQ1UsZ0JBQWtDLEVBQ2xDLFNBQW9CO1FBRHBCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUU5QixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWtEO1FBQzlELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQzlFLE1BQU0sS0FB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RUFBRSxlQUFlLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0SixDQUFDO3VHQTdEVSwyQ0FBMkM7MkdBQTNDLDJDQUEyQzs7QUFBM0MsMkNBQTJDO0lBRHZELGtCQUFrQixDQUFDLHlDQUF5QyxDQUFDO0dBQ2pELDJDQUEyQyxDQThEdkQ7OzJGQTlEWSwyQ0FBMkM7a0JBRnZELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCB9IGZyb20gJy4vcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LnJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IE5vZGVEcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL25vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBDb25uZWN0aW9uU291cmNlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9jb25uZWN0aW9uLXNvdXJjZS5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgZ2V0IGZDb25uZWN0aW9ucygpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmdldE91dHB1dENvbm5lY3Rpb25zKHJlcXVlc3Qubm9kZURyYWdIYW5kbGVyLmZOb2RlKS5mb3JFYWNoKChjb25uZWN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlckluZGV4KHJlcXVlc3QucmVzdWx0LCBjb25uZWN0aW9uKTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy51cGRhdGVFeGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVyKHJlcXVlc3QucmVzdWx0LCBpbmRleCwgcmVxdWVzdC5ub2RlRHJhZ0hhbmRsZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVxdWVzdC5yZXN1bHQucHVzaCh0aGlzLmNyZWF0ZU5ld0Nvbm5lY3Rpb25IYW5kbGVyKHJlcXVlc3Qubm9kZURyYWdIYW5kbGVyLCByZXF1ZXN0LmlucHV0SWRzLCBjb25uZWN0aW9uKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3V0cHV0Q29ubmVjdGlvbnMobm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIGNvbnN0IG91dHB1dHNJZHMgPSBuZXcgU2V0KHRoaXMuZ2V0T3V0cHV0c0Zvck5vZGUobm9kZSkubWFwKCh4KSA9PiB4LmZJZCkpO1xuICAgIHJldHVybiB0aGlzLmZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IG91dHB1dHNJZHMuaGFzKHguZk91dHB1dElkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE91dHB1dHNGb3JOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFeGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVySW5kZXgocmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBudW1iZXIge1xuICAgIHJldHVybiByZXN1bHQuZmluZEluZGV4KFxuICAgICAgKHgpID0+IHggaW5zdGFuY2VvZiBDb25uZWN0aW9uRHJhZ0hhbmRsZXIgJiYgeC5jb25uZWN0aW9uLmZJZCA9PT0gY29ubmVjdGlvbi5mSWRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVOZXdDb25uZWN0aW9uSGFuZGxlcihub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlciwgaW5wdXRJZHM6IHN0cmluZ1tdLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBJRHJhZ2dhYmxlSXRlbSB7XG4gICAgbGV0IHJlc3VsdDogSURyYWdnYWJsZUl0ZW07XG4gICAgaWYgKGlucHV0SWRzLmluY2x1ZGVzKGNvbm5lY3Rpb24uZklucHV0SWQpKSB7XG4gICAgICByZXN1bHQgPSB0aGlzLmdldE5ld0Nvbm5lY3Rpb25IYW5kbGVyKGNvbm5lY3Rpb24sIG5vZGVEcmFnSGFuZGxlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuZ2V0TmV3U291cmNlQ29ubmVjdGlvbkhhbmRsZXIoY29ubmVjdGlvbiwgbm9kZURyYWdIYW5kbGVyKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV3Q29ubmVjdGlvbkhhbmRsZXIoY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLCBub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlcik6IENvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG4gICAgY29uc3QgaGFuZGxlciA9IG5ldyBDb25uZWN0aW9uRHJhZ0hhbmRsZXIodGhpcy5mTWVkaWF0b3IsIHRoaXMuZkNvbXBvbmVudHNTdG9yZSwgY29ubmVjdGlvbik7XG4gICAgaGFuZGxlci5zZXRPdXRwdXRSZXN0cmljdGlvbnMobm9kZURyYWdIYW5kbGVyLm1pbkRpc3RhbmNlLCBub2RlRHJhZ0hhbmRsZXIubWF4RGlzdGFuY2UpO1xuICAgIHJldHVybiBoYW5kbGVyO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVFeGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVyKHJlc3VsdDogSURyYWdnYWJsZUl0ZW1bXSwgaW5kZXg6IG51bWJlciwgbm9kZURyYWdIYW5kbGVyOiBOb2RlRHJhZ0hhbmRsZXIpOiB2b2lkIHtcbiAgICAocmVzdWx0WyBpbmRleCBdIGFzIENvbm5lY3Rpb25EcmFnSGFuZGxlcikuc2V0T3V0cHV0UmVzdHJpY3Rpb25zKG5vZGVEcmFnSGFuZGxlci5taW5EaXN0YW5jZSwgbm9kZURyYWdIYW5kbGVyLm1heERpc3RhbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV3U291cmNlQ29ubmVjdGlvbkhhbmRsZXIoY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLCBub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlcik6IENvbm5lY3Rpb25Tb3VyY2VEcmFnSGFuZGxlciB7XG4gICAgcmV0dXJuIG5ldyBDb25uZWN0aW9uU291cmNlRHJhZ0hhbmRsZXIodGhpcy5mTWVkaWF0b3IsIHRoaXMuZkNvbXBvbmVudHNTdG9yZSwgY29ubmVjdGlvbiwgbm9kZURyYWdIYW5kbGVyLm1pbkRpc3RhbmNlLCBub2RlRHJhZ0hhbmRsZXIubWF4RGlzdGFuY2UpO1xuICB9XG59XG5cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9wdXQtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkvcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUU5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFJN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFNL0UsSUFBTSwyQ0FBMkMsR0FBakQsTUFBTSwyQ0FBMkM7SUFRNUM7SUFDQTtJQU5WLElBQVksWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7SUFDNUMsQ0FBQztJQUVELFlBQ1UsZ0JBQWtDLEVBQ2xDLFNBQW9CO1FBRHBCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUU5QixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWtEO1FBQzlELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQzlFLE1BQU0sS0FB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O3VHQTdEVSwyQ0FBMkM7MkdBQTNDLDJDQUEyQzs7QUFBM0MsMkNBQTJDO0lBRHZELGtCQUFrQixDQUFDLHlDQUF5QyxDQUFDO0dBQ2pELDJDQUEyQyxDQThEdkQ7OzJGQTlEWSwyQ0FBMkM7a0JBRnZELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCB9IGZyb20gJy4vcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LnJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IE5vZGVEcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL25vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBDb25uZWN0aW9uU291cmNlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9jb25uZWN0aW9uLXNvdXJjZS5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgZ2V0IGZDb25uZWN0aW9ucygpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmdldE91dHB1dENvbm5lY3Rpb25zKHJlcXVlc3Qubm9kZURyYWdIYW5kbGVyLmZOb2RlKS5mb3JFYWNoKChjb25uZWN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlckluZGV4KHJlcXVlc3QucmVzdWx0LCBjb25uZWN0aW9uKTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy51cGRhdGVFeGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVyKHJlcXVlc3QucmVzdWx0LCBpbmRleCwgcmVxdWVzdC5ub2RlRHJhZ0hhbmRsZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVxdWVzdC5yZXN1bHQucHVzaCh0aGlzLmNyZWF0ZU5ld0Nvbm5lY3Rpb25IYW5kbGVyKHJlcXVlc3Qubm9kZURyYWdIYW5kbGVyLCByZXF1ZXN0LmlucHV0SWRzLCBjb25uZWN0aW9uKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3V0cHV0Q29ubmVjdGlvbnMobm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIGNvbnN0IG91dHB1dHNJZHMgPSBuZXcgU2V0KHRoaXMuZ2V0T3V0cHV0c0Zvck5vZGUobm9kZSkubWFwKCh4KSA9PiB4LmZJZCkpO1xuICAgIHJldHVybiB0aGlzLmZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IG91dHB1dHNJZHMuaGFzKHguZk91dHB1dElkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE91dHB1dHNGb3JOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFeGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVySW5kZXgocmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBudW1iZXIge1xuICAgIHJldHVybiByZXN1bHQuZmluZEluZGV4KFxuICAgICAgKHgpID0+IHggaW5zdGFuY2VvZiBDb25uZWN0aW9uRHJhZ0hhbmRsZXIgJiYgeC5jb25uZWN0aW9uLmZJZCA9PT0gY29ubmVjdGlvbi5mSWRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVOZXdDb25uZWN0aW9uSGFuZGxlcihub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlciwgaW5wdXRJZHM6IHN0cmluZ1tdLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBJRHJhZ2dhYmxlSXRlbSB7XG4gICAgbGV0IHJlc3VsdDogSURyYWdnYWJsZUl0ZW07XG4gICAgaWYgKGlucHV0SWRzLmluY2x1ZGVzKGNvbm5lY3Rpb24uZklucHV0SWQpKSB7XG4gICAgICByZXN1bHQgPSB0aGlzLmdldE5ld0Nvbm5lY3Rpb25IYW5kbGVyKGNvbm5lY3Rpb24sIG5vZGVEcmFnSGFuZGxlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuZ2V0TmV3U291cmNlQ29ubmVjdGlvbkhhbmRsZXIoY29ubmVjdGlvbiwgbm9kZURyYWdIYW5kbGVyKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV3Q29ubmVjdGlvbkhhbmRsZXIoY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLCBub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlcik6IENvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG4gICAgY29uc3QgaGFuZGxlciA9IG5ldyBDb25uZWN0aW9uRHJhZ0hhbmRsZXIodGhpcy5mTWVkaWF0b3IsIHRoaXMuZkNvbXBvbmVudHNTdG9yZSwgY29ubmVjdGlvbik7XG4gICAgaGFuZGxlci5zZXRPdXRwdXRSZXN0cmljdGlvbnMobm9kZURyYWdIYW5kbGVyLnJlc3RyaWN0aW9ucyk7XG4gICAgcmV0dXJuIGhhbmRsZXI7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIocmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdLCBpbmRleDogbnVtYmVyLCBub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlcik6IHZvaWQge1xuICAgIChyZXN1bHRbIGluZGV4IF0gYXMgQ29ubmVjdGlvbkRyYWdIYW5kbGVyKS5zZXRPdXRwdXRSZXN0cmljdGlvbnMobm9kZURyYWdIYW5kbGVyLnJlc3RyaWN0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGdldE5ld1NvdXJjZUNvbm5lY3Rpb25IYW5kbGVyKGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSwgbm9kZURyYWdIYW5kbGVyOiBOb2RlRHJhZ0hhbmRsZXIpOiBDb25uZWN0aW9uU291cmNlRHJhZ0hhbmRsZXIge1xuICAgIHJldHVybiBuZXcgQ29ubmVjdGlvblNvdXJjZURyYWdIYW5kbGVyKHRoaXMuZk1lZGlhdG9yLCB0aGlzLmZDb21wb25lbnRzU3RvcmUsIGNvbm5lY3Rpb24sIG5vZGVEcmFnSGFuZGxlci5yZXN0cmljdGlvbnMpO1xuICB9XG59XG5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIH0gZnJvbSAnLi9kb21haW4vZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zIGV4dGVuZHMgSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIHtcblxuICBub2RlOiBGTm9kZUJhc2U7XG5cbiAgcGFyZW50Tm9kZXM/OiBGTm9kZUJhc2VbXTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgSU1pbk1heFBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnMgZXh0ZW5kcyBJTWluTWF4UG9pbnQge1xuXG4gIGZEcmFnZ2VkTm9kZTogRk5vZGVCYXNlO1xuXG4gIGZQYXJlbnROb2Rlcz86IEZOb2RlQmFzZVtdO1xufVxuIl19
@@ -1,8 +1,9 @@
1
+ export * from './domain/calculate-common-node-move-restrictions';
1
2
  export * from './domain/put-input-connection-handlers-to-array';
2
3
  export * from './domain/put-output-connection-handlers-to-array';
3
- export * from './domain/get-node-move-restrictions';
4
+ export * from './domain/calculate-node-move-restrictions';
4
5
  export * from './providers';
5
6
  export * from './create-move-nodes-drag-model-from-selection.execution';
6
7
  export * from './create-move-nodes-drag-model-from-selection.request';
7
8
  export * from './i-node-with-distance-restrictions';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlEQUFpRCxDQUFDO0FBRWhFLGNBQWMsa0RBQWtELENBQUM7QUFFakUsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLHlEQUF5RCxDQUFDO0FBRXhFLGNBQWMsdURBQXVELENBQUM7QUFFdEUsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG9tYWluL3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcblxuZXhwb3J0ICogZnJvbSAnLi9kb21haW4vcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcblxuZXhwb3J0ICogZnJvbSAnLi9kb21haW4vZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24ucmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zJztcbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLGNBQWMsaURBQWlELENBQUM7QUFFaEUsY0FBYyxrREFBa0QsQ0FBQztBQUVqRSxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMseURBQXlELENBQUM7QUFFeEUsY0FBYyx1REFBdUQsQ0FBQztBQUV0RSxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kb21haW4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9kb21haW4vcHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuXG5leHBvcnQgKiBmcm9tICcuL2RvbWFpbi9wdXQtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuXG5leHBvcnQgKiBmcm9tICcuL2RvbWFpbi9jYWxjdWxhdGUtbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9pLW5vZGUtd2l0aC1kaXN0YW5jZS1yZXN0cmljdGlvbnMnO1xuIl19
@@ -1,11 +1,13 @@
1
1
  import { CreateMoveNodesDragModelFromSelectionExecution } from './create-move-nodes-drag-model-from-selection.execution';
2
- import { GetNodeMoveRestrictionsExecution } from './domain/get-node-move-restrictions';
2
+ import { CalculateNodeMoveRestrictionsExecution } from './domain/calculate-node-move-restrictions';
3
3
  import { PutInputConnectionHandlersToArrayExecution } from './domain/put-input-connection-handlers-to-array';
4
4
  import { PutOutputConnectionHandlersToArrayExecution } from './domain/put-output-connection-handlers-to-array';
5
+ import { CalculateCommonNodeMoveRestrictionsExecution } from './domain/calculate-common-node-move-restrictions';
5
6
  export const CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS = [
6
- GetNodeMoveRestrictionsExecution,
7
+ CalculateCommonNodeMoveRestrictionsExecution,
8
+ CalculateNodeMoveRestrictionsExecution,
7
9
  PutInputConnectionHandlersToArrayExecution,
8
10
  PutOutputConnectionHandlersToArrayExecution,
9
11
  CreateMoveNodesDragModelFromSelectionExecution,
10
12
  ];
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw4Q0FBOEMsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3pILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRS9HLE1BQU0sQ0FBQyxNQUFNLG9EQUFvRCxHQUFHO0lBRWxFLGdDQUFnQztJQUVoQywwQ0FBMEM7SUFFMUMsMkNBQTJDO0lBRTNDLDhDQUE4QztDQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24nO1xuaW1wb3J0IHsgR2V0Tm9kZU1vdmVSZXN0cmljdGlvbnNFeGVjdXRpb24gfSBmcm9tICcuL2RvbWFpbi9nZXQtbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucyc7XG5pbXBvcnQgeyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlFeGVjdXRpb24gfSBmcm9tICcuL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheSc7XG5pbXBvcnQgeyBQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5RXhlY3V0aW9uIH0gZnJvbSAnLi9kb21haW4vcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcblxuZXhwb3J0IGNvbnN0IENSRUFURV9NT1ZFX05PREVfRFJBR19NT0RFTF9GUk9NX1NFTEVDVElPTl9QUk9WSURFUlMgPSBbXG5cbiAgR2V0Tm9kZU1vdmVSZXN0cmljdGlvbnNFeGVjdXRpb24sXG5cbiAgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5RXhlY3V0aW9uLFxuXG4gIFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlFeGVjdXRpb24sXG5cbiAgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvbkV4ZWN1dGlvbixcbl07XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw4Q0FBOEMsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3pILE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRWhILE1BQU0sQ0FBQyxNQUFNLG9EQUFvRCxHQUFHO0lBRWxFLDRDQUE0QztJQUU1QyxzQ0FBc0M7SUFFdEMsMENBQTBDO0lBRTFDLDJDQUEyQztJQUUzQyw4Q0FBOEM7Q0FDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25FeGVjdXRpb24gfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24uZXhlY3V0aW9uJztcbmltcG9ydCB7IENhbGN1bGF0ZU5vZGVNb3ZlUmVzdHJpY3Rpb25zRXhlY3V0aW9uIH0gZnJvbSAnLi9kb21haW4vY2FsY3VsYXRlLW5vZGUtbW92ZS1yZXN0cmljdGlvbnMnO1xuaW1wb3J0IHsgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5RXhlY3V0aW9uIH0gZnJvbSAnLi9kb21haW4vcHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHsgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheUV4ZWN1dGlvbiB9IGZyb20gJy4vZG9tYWluL3B1dC1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheSc7XG5pbXBvcnQgeyBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZVJlc3RyaWN0aW9uc0V4ZWN1dGlvbiB9IGZyb20gJy4vZG9tYWluL2NhbGN1bGF0ZS1jb21tb24tbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVfTU9WRV9OT0RFX0RSQUdfTU9ERUxfRlJPTV9TRUxFQ1RJT05fUFJPVklERVJTID0gW1xuXG4gIENhbGN1bGF0ZUNvbW1vbk5vZGVNb3ZlUmVzdHJpY3Rpb25zRXhlY3V0aW9uLFxuXG4gIENhbGN1bGF0ZU5vZGVNb3ZlUmVzdHJpY3Rpb25zRXhlY3V0aW9uLFxuXG4gIFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheUV4ZWN1dGlvbixcblxuICBQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5RXhlY3V0aW9uLFxuXG4gIENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25FeGVjdXRpb24sXG5dO1xuIl19
@@ -1,4 +1,5 @@
1
1
  export * from './create-move-nodes-drag-model-from-selection';
2
+ export * from './line-alignment-preparation';
2
3
  export * from './node-drag-to-parent-finalize';
3
4
  export * from './node-drag-to-parent-preparation';
4
5
  export * from './node-move-preparation';
@@ -8,8 +9,9 @@ export * from './connection-base-drag-handler';
8
9
  export * from './connection-source.drag-handler';
9
10
  export * from './connection-target.drag-handler';
10
11
  export * from './f-drop-to-group.event';
12
+ export * from './line-alignment.drag-handler';
11
13
  export * from './node.drag-handler';
12
14
  export * from './node-drag-to-parent.drag-handler';
13
15
  export * from './node-resize-by-child.drag-handler';
14
16
  export * from './providers';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1kcmFnLXRvLXBhcmVudC1maW5hbGl6ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1tb3ZlLXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLW1vdmUtZmluYWxpemUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Nvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9uLXNvdXJjZS5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2Nvbm5lY3Rpb24tdGFyZ2V0LmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcm9wLXRvLWdyb3VwLmV2ZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1kcmFnLXRvLXBhcmVudC5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL25vZGUtcmVzaXplLWJ5LWNoaWxkLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsa0NBQWtDLENBQUM7QUFFakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpbmUtYWxpZ25tZW50LXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWRyYWctdG8tcGFyZW50LWZpbmFsaXplJztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWRyYWctdG8tcGFyZW50LXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLW1vdmUtcHJlcGFyYXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL25vZGUtbW92ZS1maW5hbGl6ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2Nvbm5lY3Rpb24tYmFzZS1kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2Nvbm5lY3Rpb24tc291cmNlLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdGlvbi10YXJnZXQuZHJhZy1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyb3AtdG8tZ3JvdXAuZXZlbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpbmUtYWxpZ25tZW50LmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL25vZGUtZHJhZy10by1wYXJlbnQuZHJhZy1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLXJlc2l6ZS1ieS1jaGlsZC5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './line-alignment-preparation.execution';
2
+ export * from './line-alignment-preparation.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbi5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpbmUtYWxpZ25tZW50LXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuIl19