@foblex/flow 17.4.2 → 17.4.3

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 (74) hide show
  1. package/domain/f-draggable/providers.d.ts +1 -1
  2. package/domain/f-node/providers.d.ts +1 -1
  3. package/domain/f-selection/providers.d.ts +1 -1
  4. package/domain/providers.d.ts +1 -1
  5. package/esm2022/f-draggable/f-canvas/f-canvas.drag-handler.mjs +5 -3
  6. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +4 -3
  7. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +4 -3
  8. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +8 -6
  9. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +8 -6
  10. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +4 -3
  11. package/esm2022/f-draggable/f-draggable.directive.mjs +2 -8
  12. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.mjs +4 -3
  13. package/esm2022/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.mjs +7 -6
  14. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +6 -5
  15. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.mjs +3 -3
  16. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.mjs +3 -3
  17. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.mjs +3 -3
  18. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +4 -3
  19. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +5 -4
  20. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +5 -4
  21. package/esm2022/f-draggable/f-node-move/f-line-alignment.drag-handler.mjs +4 -4
  22. package/esm2022/f-draggable/f-node-move/f-summary-node-move.drag-handler.mjs +5 -5
  23. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.mjs +4 -3
  24. package/esm2022/f-draggable/f-node-move/point-bounds-limiter.mjs +8 -6
  25. package/esm2022/f-draggable/f-node-resize/f-node-resize.drag-handler.mjs +4 -4
  26. package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.mjs +4 -3
  27. package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +8 -6
  28. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +6 -5
  29. package/esm2022/f-draggable/index.mjs +1 -2
  30. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +9 -6
  31. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +4 -3
  32. package/f-backgroud/providers.d.ts +1 -1
  33. package/f-connection/providers.d.ts +1 -1
  34. package/f-draggable/f-canvas/f-canvas.drag-handler.d.ts +3 -1
  35. package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +3 -2
  36. package/f-draggable/f-canvas/providers.d.ts +1 -1
  37. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.d.ts +3 -2
  38. package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +5 -4
  39. package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts +5 -4
  40. package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +4 -3
  41. package/f-draggable/f-connection/providers.d.ts +1 -1
  42. package/f-draggable/f-draggable.directive.d.ts +0 -1
  43. package/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.d.ts +4 -3
  44. package/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.d.ts +4 -3
  45. package/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.d.ts +2 -1
  46. package/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.d.ts +2 -1
  47. package/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.d.ts +2 -1
  48. package/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.d.ts +2 -1
  49. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +1 -0
  50. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +2 -1
  51. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.d.ts +2 -1
  52. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  53. package/f-draggable/f-node-move/f-line-alignment.drag-handler.d.ts +2 -1
  54. package/f-draggable/f-node-move/f-summary-node-move.drag-handler.d.ts +2 -1
  55. package/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.d.ts +5 -4
  56. package/f-draggable/f-node-move/point-bounds-limiter.d.ts +4 -3
  57. package/f-draggable/f-node-move/providers.d.ts +1 -1
  58. package/f-draggable/f-node-resize/f-node-resize.drag-handler.d.ts +2 -1
  59. package/f-draggable/f-node-resize/providers.d.ts +1 -1
  60. package/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.d.ts +4 -3
  61. package/f-draggable/f-node-rotate/f-node-rotate.drag-handler.d.ts +2 -1
  62. package/f-draggable/f-node-rotate/providers.d.ts +1 -1
  63. package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.d.ts +1 -0
  64. package/f-draggable/index.d.ts +0 -1
  65. package/f-draggable/providers.d.ts +1 -1
  66. package/f-external-item/domain/f-external-item.drag-handler.d.ts +5 -4
  67. package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +1 -0
  68. package/f-external-item/domain/providers.d.ts +1 -1
  69. package/f-minimap/providers.d.ts +1 -1
  70. package/fesm2022/foblex-flow.mjs +94 -82
  71. package/fesm2022/foblex-flow.mjs.map +1 -1
  72. package/package.json +1 -1
  73. package/esm2022/f-draggable/f-injector.mjs +0 -19
  74. package/f-draggable/f-injector.d.ts +0 -8
@@ -1,4 +1,4 @@
1
- import { booleanAttribute, ContentChildren, Directive, ElementRef, EventEmitter, inject, Inject, Injector, Input, NgZone, numberAttribute, Optional, Output } from "@angular/core";
1
+ import { booleanAttribute, ContentChildren, Directive, ElementRef, EventEmitter, inject, Inject, Input, NgZone, numberAttribute, Optional, Output } from "@angular/core";
2
2
  import { FDraggableBase } from './f-draggable-base';
3
3
  import { FNodeMoveFinalizeRequest, FNodeMovePreparationRequest } from './f-node-move';
4
4
  import { FCanvasMoveFinalizeRequest, FCanvasMovePreparationRequest } from './f-canvas';
@@ -10,7 +10,6 @@ import { FSingleSelectRequest } from './f-single-select';
10
10
  import { FNodeResizeFinalizeRequest, FNodeResizePreparationRequest } from './f-node-resize';
11
11
  import { F_AFTER_MAIN_PLUGIN, F_BEFORE_MAIN_PLUGIN } from './i-f-drag-and-drop-plugin';
12
12
  import { EOperationSystem, PlatformService } from '@foblex/platform';
13
- import { FInjector } from './f-injector';
14
13
  import { FDragHandlerResult } from './f-drag-handler';
15
14
  import { FNodeDropToGroupFinalizeRequest, FNodeDropToGroupPreparationRequest } from './f-drop-to-group';
16
15
  import { FNodeRotateFinalizeRequest, FNodeRotatePreparationRequest } from './f-node-rotate';
@@ -22,7 +21,6 @@ export class FDraggableDirective extends FDraggableBase {
22
21
  _fResult = inject(FDragHandlerResult);
23
22
  _fMediator = inject(FMediator);
24
23
  _fPlatform = inject(PlatformService);
25
- _injector = inject(Injector);
26
24
  disabled = false;
27
25
  get hostElement() {
28
26
  return this._elementReference.nativeElement;
@@ -62,7 +60,6 @@ export class FDraggableDirective extends FDraggableBase {
62
60
  super.subscribe(this._fBrowser.document);
63
61
  }
64
62
  onPointerDown(event) {
65
- FInjector.set(this._injector);
66
63
  this._fResult.clear();
67
64
  this._fMediator.execute(new InitializeDragSequenceRequest());
68
65
  this._beforePlugins.forEach((p) => p.onPointerDown?.(event));
@@ -105,17 +102,14 @@ export class FDraggableDirective extends FDraggableBase {
105
102
  this._fMediator.execute(new FExternalItemFinalizeRequest(event));
106
103
  this._afterPlugins.forEach((x) => x.onPointerUp?.(event));
107
104
  this._fMediator.execute(new EndDragSequenceRequest());
108
- FInjector.clear();
109
105
  }
110
106
  finalizeDragSequence() {
111
107
  this._fMediator.execute(new EmitSelectionChangeEventRequest());
112
- FInjector.clear();
113
108
  this._fResult.clear();
114
109
  }
115
110
  ngOnDestroy() {
116
111
  this._fMediator.execute(new RemoveDndFromStoreRequest());
117
112
  super.unsubscribe();
118
- FInjector.clear();
119
113
  }
120
114
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, deps: [{ token: NgZone, optional: true }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Directive });
121
115
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled", booleanAttribute], fMultiSelectTrigger: "fMultiSelectTrigger", fReassignConnectionTrigger: "fReassignConnectionTrigger", fCreateConnectionTrigger: "fCreateConnectionTrigger", fNodeResizeTrigger: "fNodeResizeTrigger", fNodeRotateTrigger: "fNodeRotateTrigger", fNodeMoveTrigger: "fNodeMoveTrigger", fCanvasMoveTrigger: "fCanvasMoveTrigger", fExternalItemTrigger: "fExternalItemTrigger", fEmitOnNodeIntersect: ["fEmitOnNodeIntersect", "fEmitOnNodeIntersect", booleanAttribute], vCellSize: ["vCellSize", "vCellSize", numberAttribute], hCellSize: ["hCellSize", "hCellSize", numberAttribute], fCellSizeWhileDragging: ["fCellSizeWhileDragging", "fCellSizeWhileDragging", booleanAttribute] }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup", fDragStarted: "fDragStarted", fDragEnded: "fDragEnded" }, providers: [FDragHandlerResult], queries: [{ propertyName: "_beforePlugins", predicate: F_BEFORE_MAIN_PLUGIN, descendants: true }, { propertyName: "_afterPlugins", predicate: F_AFTER_MAIN_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
@@ -186,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
186
180
  type: ContentChildren,
187
181
  args: [F_AFTER_MAIN_PLUGIN, { descendants: true }]
188
182
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGdCQUFnQixFQUFFLGVBQWUsRUFDaEQsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQ3RDLEtBQUssRUFDTCxNQUFNLEVBQUUsZUFBZSxFQUVmLFFBQVEsRUFBRSxNQUFNLEVBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUM1QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkYsT0FBTyxFQUdMLHFDQUFxQyxFQUNyQyxrQ0FBa0MsRUFDbEMsbUNBQW1DLEVBQ25DLGdDQUFnQyxFQUNqQyxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLCtCQUErQixFQUMvQiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qiw2QkFBNkIsRUFDN0Isb0JBQW9CLEVBQWdDLG1CQUFtQixFQUN4RSxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLCtCQUErQixFQUUvQixtQ0FBbUMsRUFDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsNkJB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QUF3QjtzQkFEOUIsS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsa0JBQWtCO3NCQUR4QixLQUFLO2dCQUlDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsb0JBQW9CO3NCQUQxQixLQUFLO2dCQUlVLGdCQUFnQjtzQkFEL0IsTUFBTTtnQkFJUywrQkFBK0I7c0JBRDlDLE1BQU07Z0JBSVMsb0JBQW9CO3NCQURuQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QixXQUFXO3NCQUQxQixNQUFNO2dCQUlTLG1CQUFtQjtzQkFEbEMsTUFBTTtnQkFJUyxpQkFBaUI7c0JBRGhDLE1BQU07Z0JBSVMsWUFBWTtzQkFEM0IsTUFBTTtnQkFJUyxTQUFTO3NCQUR4QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFJckIsU0FBUztzQkFEeEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLHNCQUFzQjtzQkFEckMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEIsWUFBWTtzQkFEM0IsTUFBTTtnQkFJUyxVQUFVO3NCQUR6QixNQUFNO2dCQUlDLGNBQWM7c0JBRHJCLGVBQWU7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUlwRCxhQUFhO3NCQURwQixlQUFlO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIGJvb2xlYW5BdHRyaWJ1dGUsIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0LCBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nWm9uZSwgbnVtYmVyQXR0cmlidXRlLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgUXVlcnlMaXN0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQge1xuICBGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsXG4gIEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdFxufSBmcm9tICcuL2Ytbm9kZS1tb3ZlJztcbmltcG9ydCB7IEZDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0LCBGQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1jYW52YXMnO1xuaW1wb3J0IHtcbiAgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0LFxuICBGQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgRkNyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3Rcbn0gZnJvbSAnLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBBZGREbmRUb1N0b3JlUmVxdWVzdCxcbiAgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCxcbiAgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIFJlbW92ZURuZEZyb21TdG9yZVJlcXVlc3QsXG4gIEVuZERyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBPblBvaW50ZXJNb3ZlUmVxdWVzdCwgRkV2ZW50VHJpZ2dlciwgRlRyaWdnZXJFdmVudCwgZGVmYXVsdEV2ZW50VHJpZ2dlclxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgRkV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdCxcbiAgRkV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdCxcbiAgRkNyZWF0ZU5vZGVFdmVudCxcbiAgUHJldmVudERlZmF1bHRJc0V4dGVybmFsSXRlbVJlcXVlc3Rcbn0gZnJvbSAnLi4vZi1leHRlcm5hbC1pdGVtJztcbmltcG9ydCB7IEZTaW5nbGVTZWxlY3RSZXF1ZXN0IH0gZnJvbSAnLi9mLXNpbmdsZS1zZWxlY3QnO1xuaW1wb3J0IHsgRk5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QsIEZOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9mLW5vZGUtcmVzaXplJztcbmltcG9ydCB7IEZfQUZURVJfTUFJTl9QTFVHSU4sIEZfQkVGT1JFX01BSU5fUExVR0lOLCBJRkRyYWdBbmREcm9wUGx1Z2luIH0gZnJvbSAnLi9pLWYtZHJhZy1hbmQtZHJvcC1wbHVnaW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UsIEVPcGVyYXRpb25TeXN0ZW0sIFBsYXRmb3JtU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgSUNhblJ1bk91dHNpZGVBbmd1bGFyLCBJUG9pbnRlckV2ZW50IH0gZnJvbSAnQGZvYmxleC9kcmFnLXRvb2xraXQnO1xuaW1wb3J0IHsgRkRyYWdTdGFydGVkRXZlbnQsIEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGSW5qZWN0b3IgfSBmcm9tICcuL2YtaW5qZWN0b3InO1xuaW1wb3J0IHsgRkRyYWdIYW5kbGVyUmVzdWx0IH0gZnJvbSAnLi9mLWRyYWctaGFuZGxlcic7XG5pbXBvcnQge1xuICBGRHJvcFRvR3JvdXBFdmVudCxcbiAgRk5vZGVEcm9wVG9Hcm91cEZpbmFsaXplUmVxdWVzdCxcbiAgRk5vZGVEcm9wVG9Hcm91cFByZXBhcmF0aW9uUmVxdWVzdFxufSBmcm9tICcuL2YtZHJvcC10by1ncm91cCc7XG5pbXBvcnQgeyBGTm9kZVJvdGF0ZUZpbmFsaXplUmVxdWVzdCwgRk5vZGVSb3RhdGVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2Ytbm9kZS1yb3RhdGUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiZi1mbG93W2ZEcmFnZ2FibGVdXCIsXG4gIGV4cG9ydEFzOiAnZkRyYWdnYWJsZScsXG4gIHByb3ZpZGVyczogWyBGRHJhZ0hhbmRsZXJSZXN1bHQgXVxufSlcbmV4cG9ydCBjbGFzcyBGRHJhZ2dhYmxlRGlyZWN0aXZlIGV4dGVuZHMgRkRyYWdnYWJsZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwcml2YXRlIF9mUmVzdWx0ID0gaW5qZWN0KEZEcmFnSGFuZGxlclJlc3VsdCk7XG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIF9mUGxhdGZvcm0gPSBpbmplY3QoUGxhdGZvcm1TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSwgYWxpYXM6ICdmRHJhZ2dhYmxlRGlzYWJsZWQnIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZk11bHRpU2VsZWN0VHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IChldmVudDogRlRyaWdnZXJFdmVudCkgPT4ge1xuICAgIHJldHVybiAodGhpcy5fZlBsYXRmb3JtLmdldE9TKCkgPT09IEVPcGVyYXRpb25TeXN0ZW0uTUFDX09TKSA/IGV2ZW50Lm1ldGFLZXkgOiBldmVudC5jdHJsS2V5O1xuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmUmVhc3NpZ25Db25uZWN0aW9uVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZDcmVhdGVDb25uZWN0aW9uVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZOb2RlUmVzaXplVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZOb2RlUm90YXRlVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZOb2RlTW92ZVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmQ2FudmFzTW92ZVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmRXh0ZXJuYWxJdGVtVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxGTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zPigpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkVtaXRPbk5vZGVJbnRlcnNlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVOb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlTm9kZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlJlYXNzaWduQ29ubmVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVDb25uZWN0aW9uRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJvcFRvR3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPEZEcm9wVG9Hcm91cEV2ZW50PigpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSB2Q2VsbFNpemUgPSAxO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBoQ2VsbFNpemUgPSAxO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNlbGxTaXplV2hpbGVEcmFnZ2luZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdTdGFydGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGRHJhZ1N0YXJ0ZWRFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX0JFRk9SRV9NQUlOX1BMVUdJTiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIF9iZWZvcmVQbHVnaW5zITogUXVlcnlMaXN0PElGRHJhZ0FuZERyb3BQbHVnaW4+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRl9BRlRFUl9NQUlOX1BMVUdJTiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIF9hZnRlclBsdWdpbnMhOiBRdWVyeUxpc3Q8SUZEcmFnQW5kRHJvcFBsdWdpbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChOZ1pvbmUpIEBPcHRpb25hbCgpIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyLFxuICAgIHByaXZhdGUgX2ZCcm93c2VyOiBCcm93c2VyU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIobmdab25lKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQWRkRG5kVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5zdWJzY3JpYmUodGhpcy5fZkJyb3dzZXIuZG9jdW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlckRvd24oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBib29sZWFuIHtcbiAgICBGSW5qZWN0b3Iuc2V0KHRoaXMuX2luamVjdG9yKTtcblxuICAgIHRoaXMuX2ZSZXN1bHQuY2xlYXIoKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBJbml0aWFsaXplRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcblxuICAgIHRoaXMuX2JlZm9yZVBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5vblBvaW50ZXJEb3duPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGU2luZ2xlU2VsZWN0UmVxdWVzdChldmVudCwgdGhpcy5mTXVsdGlTZWxlY3RUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRlJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mUmVhc3NpZ25Db25uZWN0aW9uVHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZDcmVhdGVDb25uZWN0aW9uVHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fYWZ0ZXJQbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICBjb25zdCBpc01vdXNlTGVmdE9yVG91Y2ggPSBldmVudC5pc01vdXNlTGVmdEJ1dHRvbigpO1xuICAgIGlmICghaXNNb3VzZUxlZnRPclRvdWNoKSB7XG4gICAgICB0aGlzLmZpbmFsaXplRHJhZ1NlcXVlbmNlKCk7XG4gICAgfVxuICAgIHJldHVybiBpc01vdXNlTGVmdE9yVG91Y2g7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJlcGFyZURyYWdTZXF1ZW5jZShldmVudDogSVBvaW50ZXJFdmVudCkge1xuXG4gICAgdGhpcy5fYmVmb3JlUGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLnByZXBhcmVEcmFnU2VxdWVuY2U/LihldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZOb2RlUmVzaXplVHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlUm90YXRlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZOb2RlUm90YXRlVHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mTm9kZU1vdmVUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRk5vZGVEcm9wVG9Hcm91cFByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZDYW52YXNNb3ZlVHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZkV4dGVybmFsSXRlbVRyaWdnZXIpKTtcblxuICAgIHRoaXMuX2FmdGVyUGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLnByZXBhcmVEcmFnU2VxdWVuY2U/LihldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFByZXBhcmVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBQcmV2ZW50RGVmYXVsdElzRXh0ZXJuYWxJdGVtUmVxdWVzdChldmVudCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlck1vdmUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgT25Qb2ludGVyTW92ZVJlcXVlc3QoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJVcChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2JlZm9yZVBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJVcD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRlJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRk5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGTm9kZVJvdGF0ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlRHJvcFRvR3JvdXBGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2FmdGVyUGx1Z2lucy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlclVwPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBFbmREcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgRkluamVjdG9yLmNsZWFyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmluYWxpemVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QoKSk7XG5cbiAgICBGSW5qZWN0b3IuY2xlYXIoKTtcblxuICAgIHRoaXMuX2ZSZXN1bHQuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuXG4gICAgRkluamVjdG9yLmNsZWFyKCk7XG4gIH1cbn1cblxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGdCQUFnQixFQUFFLGVBQWUsRUFDaEQsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFDNUIsS0FBSyxFQUNMLE1BQU0sRUFBRSxlQUFlLEVBRWYsUUFBUSxFQUFFLE1BQU0sRUFDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzVCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2RixPQUFPLEVBR0wscUNBQXFDLEVBQ3JDLGtDQUFrQyxFQUNsQyxtQ0FBbUMsRUFDbkMsZ0NBQWdDLEVBQ2pDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsK0JBQStCLEVBQy9CLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFBZ0MsbUJBQW1CLEVBQ3hFLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsK0JBQStCLEVBRS9CLG1DQUFtQyxFQUNwQyxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSw2QkFBNkIsRUFBRSxN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RSxnQkFBZ0IsRUFBRTtnQkFJdEIsV0FBVztzQkFEMUIsTUFBTTtnQkFJUyxtQkFBbUI7c0JBRGxDLE1BQU07Z0JBSVMsaUJBQWlCO3NCQURoQyxNQUFNO2dCQUlTLFlBQVk7c0JBRDNCLE1BQU07Z0JBSVMsU0FBUztzQkFEeEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLFNBQVM7c0JBRHhCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUlyQixzQkFBc0I7c0JBRHJDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRCLFlBQVk7c0JBRDNCLE1BQU07Z0JBSVMsVUFBVTtzQkFEekIsTUFBTTtnQkFJQyxjQUFjO3NCQURyQixlQUFlO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJcEQsYUFBYTtzQkFEcEIsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LCBib29sZWFuQXR0cmlidXRlLCBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLCBpbmplY3QsIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSwgbnVtYmVyQXR0cmlidXRlLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgUXVlcnlMaXN0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQge1xuICBGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsXG4gIEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdFxufSBmcm9tICcuL2Ytbm9kZS1tb3ZlJztcbmltcG9ydCB7IEZDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0LCBGQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1jYW52YXMnO1xuaW1wb3J0IHtcbiAgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0LFxuICBGQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgRkNyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3Rcbn0gZnJvbSAnLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBBZGREbmRUb1N0b3JlUmVxdWVzdCxcbiAgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCxcbiAgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIFJlbW92ZURuZEZyb21TdG9yZVJlcXVlc3QsXG4gIEVuZERyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBPblBvaW50ZXJNb3ZlUmVxdWVzdCwgRkV2ZW50VHJpZ2dlciwgRlRyaWdnZXJFdmVudCwgZGVmYXVsdEV2ZW50VHJpZ2dlclxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgRkV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdCxcbiAgRkV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdCxcbiAgRkNyZWF0ZU5vZGVFdmVudCxcbiAgUHJldmVudERlZmF1bHRJc0V4dGVybmFsSXRlbVJlcXVlc3Rcbn0gZnJvbSAnLi4vZi1leHRlcm5hbC1pdGVtJztcbmltcG9ydCB7IEZTaW5nbGVTZWxlY3RSZXF1ZXN0IH0gZnJvbSAnLi9mLXNpbmdsZS1zZWxlY3QnO1xuaW1wb3J0IHsgRk5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QsIEZOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9mLW5vZGUtcmVzaXplJztcbmltcG9ydCB7IEZfQUZURVJfTUFJTl9QTFVHSU4sIEZfQkVGT1JFX01BSU5fUExVR0lOLCBJRkRyYWdBbmREcm9wUGx1Z2luIH0gZnJvbSAnLi9pLWYtZHJhZy1hbmQtZHJvcC1wbHVnaW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UsIEVPcGVyYXRpb25TeXN0ZW0sIFBsYXRmb3JtU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgSUNhblJ1bk91dHNpZGVBbmd1bGFyLCBJUG9pbnRlckV2ZW50IH0gZnJvbSAnQGZvYmxleC9kcmFnLXRvb2xraXQnO1xuaW1wb3J0IHsgRkRyYWdTdGFydGVkRXZlbnQsIEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGRHJhZ0hhbmRsZXJSZXN1bHQgfSBmcm9tICcuL2YtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7XG4gIEZEcm9wVG9Hcm91cEV2ZW50LFxuICBGTm9kZURyb3BUb0dyb3VwRmluYWxpemVSZXF1ZXN0LFxuICBGTm9kZURyb3BUb0dyb3VwUHJlcGFyYXRpb25SZXF1ZXN0XG59IGZyb20gJy4vZi1kcm9wLXRvLWdyb3VwJztcbmltcG9ydCB7IEZOb2RlUm90YXRlRmluYWxpemVSZXF1ZXN0LCBGTm9kZVJvdGF0ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1ub2RlLXJvdGF0ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJmLWZsb3dbZkRyYWdnYWJsZV1cIixcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJyxcbiAgcHJvdmlkZXJzOiBbIEZEcmFnSGFuZGxlclJlc3VsdCBdXG59KVxuZXhwb3J0IGNsYXNzIEZEcmFnZ2FibGVEaXJlY3RpdmUgZXh0ZW5kcyBGRHJhZ2dhYmxlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHByaXZhdGUgX2ZSZXN1bHQgPSBpbmplY3QoRkRyYWdIYW5kbGVyUmVzdWx0KTtcbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZQbGF0Zm9ybSA9IGluamVjdChQbGF0Zm9ybVNlcnZpY2UpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSwgYWxpYXM6ICdmRHJhZ2dhYmxlRGlzYWJsZWQnIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZk11bHRpU2VsZWN0VHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IChldmVudDogRlRyaWdnZXJFdmVudCkgPT4ge1xuICAgIHJldHVybiAodGhpcy5fZlBsYXRmb3JtLmdldE9TKCkgPT09IEVPcGVyYXRpb25TeXN0ZW0uTUFDX09TKSA/IGV2ZW50Lm1ldGFLZXkgOiBldmVudC5jdHJsS2V5O1xuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmUmVhc3NpZ25Db25uZWN0aW9uVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZDcmVhdGVDb25uZWN0aW9uVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZOb2RlUmVzaXplVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZOb2RlUm90YXRlVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZOb2RlTW92ZVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmQ2FudmFzTW92ZVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmRXh0ZXJuYWxJdGVtVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxGTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zPigpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkVtaXRPbk5vZGVJbnRlcnNlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVOb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlTm9kZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlJlYXNzaWduQ29ubmVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVDb25uZWN0aW9uRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJvcFRvR3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPEZEcm9wVG9Hcm91cEV2ZW50PigpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSB2Q2VsbFNpemUgPSAxO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBoQ2VsbFNpemUgPSAxO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNlbGxTaXplV2hpbGVEcmFnZ2luZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdTdGFydGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGRHJhZ1N0YXJ0ZWRFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX0JFRk9SRV9NQUlOX1BMVUdJTiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIF9iZWZvcmVQbHVnaW5zITogUXVlcnlMaXN0PElGRHJhZ0FuZERyb3BQbHVnaW4+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRl9BRlRFUl9NQUlOX1BMVUdJTiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIF9hZnRlclBsdWdpbnMhOiBRdWVyeUxpc3Q8SUZEcmFnQW5kRHJvcFBsdWdpbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChOZ1pvbmUpIEBPcHRpb25hbCgpIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyLFxuICAgIHByaXZhdGUgX2ZCcm93c2VyOiBCcm93c2VyU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIobmdab25lKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQWRkRG5kVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5zdWJzY3JpYmUodGhpcy5fZkJyb3dzZXIuZG9jdW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlckRvd24oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBib29sZWFuIHtcbiAgICB0aGlzLl9mUmVzdWx0LmNsZWFyKCk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgSW5pdGlhbGl6ZURyYWdTZXF1ZW5jZVJlcXVlc3QoKSk7XG5cbiAgICB0aGlzLl9iZWZvcmVQbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRlNpbmdsZVNlbGVjdFJlcXVlc3QoZXZlbnQsIHRoaXMuZk11bHRpU2VsZWN0VHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZlJlYXNzaWduQ29ubmVjdGlvblRyaWdnZXIpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mQ3JlYXRlQ29ubmVjdGlvblRyaWdnZXIpKTtcblxuICAgIHRoaXMuX2FmdGVyUGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLm9uUG9pbnRlckRvd24/LihldmVudCkpO1xuXG4gICAgY29uc3QgaXNNb3VzZUxlZnRPclRvdWNoID0gZXZlbnQuaXNNb3VzZUxlZnRCdXR0b24oKTtcbiAgICBpZiAoIWlzTW91c2VMZWZ0T3JUb3VjaCkge1xuICAgICAgdGhpcy5maW5hbGl6ZURyYWdTZXF1ZW5jZSgpO1xuICAgIH1cbiAgICByZXR1cm4gaXNNb3VzZUxlZnRPclRvdWNoO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHByZXBhcmVEcmFnU2VxdWVuY2UoZXZlbnQ6IElQb2ludGVyRXZlbnQpIHtcblxuICAgIHRoaXMuX2JlZm9yZVBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mTm9kZVJlc2l6ZVRyaWdnZXIpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGTm9kZVJvdGF0ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mTm9kZVJvdGF0ZVRyaWdnZXIpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZk5vZGVNb3ZlVHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlRHJvcFRvR3JvdXBQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mQ2FudmFzTW92ZVRyaWdnZXIpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZFeHRlcm5hbEl0ZW1UcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9hZnRlclBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBQcmVwYXJlRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvblNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUHJldmVudERlZmF1bHRJc0V4dGVybmFsSXRlbVJlcXVlc3QoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJNb3ZlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE9uUG9pbnRlck1vdmVSZXF1ZXN0KGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9iZWZvcmVQbHVnaW5zLmZvckVhY2goKHgpID0+IHgub25Qb2ludGVyVXA/LihldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRk5vZGVSb3RhdGVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGTm9kZURyb3BUb0dyb3VwRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRkNhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9hZnRlclBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJVcD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRW5kRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaW5hbGl6ZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCgpKTtcblxuICAgIHRoaXMuX2ZSZXN1bHQuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuICB9XG59XG5cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
2
+ import { inject, Injectable, Injector } from '@angular/core';
3
3
  import { FNodeDropToGroupPreparationRequest } from './f-node-drop-to-group-preparation.request';
4
4
  import { FExecutionRegister, FMediator } from '@foblex/mediator';
5
5
  import { FComponentsStore } from '../../../f-storage';
@@ -13,6 +13,7 @@ let FNodeDropToGroupPreparationExecution = class FNodeDropToGroupPreparationExec
13
13
  _fMediator = inject(FMediator);
14
14
  _fDraggableDataContext = inject(FDraggableDataContext);
15
15
  _fComponentsStore = inject(FComponentsStore);
16
+ _injector = inject(Injector);
16
17
  get _fNodes() {
17
18
  return this._fComponentsStore.fNodes;
18
19
  }
@@ -31,7 +32,7 @@ let FNodeDropToGroupPreparationExecution = class FNodeDropToGroupPreparationExec
31
32
  if (!fNode) {
32
33
  throw new Error('Node not found');
33
34
  }
34
- this._fDraggableDataContext.draggableItems.push(new FNodeDropToGroupDragHandler(this._getNotDraggedNodesRects()));
35
+ this._fDraggableDataContext.draggableItems.push(new FNodeDropToGroupDragHandler(this._injector, this._getNotDraggedNodesRects()));
35
36
  }
36
37
  _isValid() {
37
38
  return this._fDraggableDataContext.draggableItems
@@ -71,4 +72,4 @@ export { FNodeDropToGroupPreparationExecution };
71
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeDropToGroupPreparationExecution, decorators: [{
72
73
  type: Injectable
73
74
  }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWRyb3AtdG8tZ3JvdXAtcHJlcGFyYXRpb24uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyb3AtdG8tZ3JvdXAvZHJvcC10by1ncm91cC1wcmVwYXJhdGlvbi9mLW5vZGUtZHJvcC10by1ncm91cC1wcmVwYXJhdGlvbi5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxPQUFPLEVBQWtDLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0YsT0FBTyxFQUFFLCtCQUErQixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBSXpELElBQU0sb0NBQW9DLEdBQTFDLE1BQU0sb0NBQW9DO0lBR3ZDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0Isc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdkQsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFckQsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBWSxVQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3RGLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBMkM7UUFDdkQsSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQjthQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0MsSUFBSSwyQkFBMkIsQ0FDN0IsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQ2hDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxRQUFRO1FBQ2QsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYzthQUM5QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSwyQkFBMkIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFRLElBQUksK0JBQStCLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3ZHLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsSUFBSSxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQzdCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFDaEMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUNwQzthQUNGLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYzthQUM5QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSwyQkFBMkIsQ0FBRTthQUN0RCxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFtQjtRQUN6QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFtQixFQUFFLENBQVksRUFBRSxFQUFFO1lBQ3pELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQWMsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEYsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFlBQXlCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7dUdBeEVVLG9DQUFvQzsyR0FBcEMsb0NBQW9DOztBQUFwQyxvQ0FBb0M7SUFEaEQsa0JBQWtCLENBQUMsa0NBQWtDLENBQUM7R0FDMUMsb0NBQW9DLENBeUVoRDs7MkZBekVZLG9DQUFvQztrQkFGaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRk5vZGVEcm9wVG9Hcm91cFByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1ub2RlLWRyb3AtdG8tZ3JvdXAtcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJTm9kZVdpdGhSZWN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCwgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgRk5vZGVEcm9wVG9Hcm91cERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vZi1ub2RlLWRyb3AtdG8tZ3JvdXAuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uL2Ytbm9kZS1tb3ZlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihGTm9kZURyb3BUb0dyb3VwUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEZOb2RlRHJvcFRvR3JvdXBQcmVwYXJhdGlvbkV4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Rk5vZGVEcm9wVG9Hcm91cFByZXBhcmF0aW9uUmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBfZk5vZGVzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mTm9kZXM7XG4gIH1cblxuICBwcml2YXRlIGdldCBfdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDYW52YXNQb3NpdGlvbigpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludEV4dGVuc2lvbnMuc3VtKHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbiwgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKVxuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBGTm9kZURyb3BUb0dyb3VwUHJlcGFyYXRpb25SZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYoIXRoaXMuX2lzVmFsaWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmTm9kZSA9IHRoaXMuX2ZDb21wb25lbnRzU3RvcmVcbiAgICAgIC5mTm9kZXMuZmluZChuID0+IG4uaXNDb250YWlucyhyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQpKTtcbiAgICBpZiAoIWZOb2RlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vZGUgbm90IGZvdW5kJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnB1c2goXG4gICAgICBuZXcgRk5vZGVEcm9wVG9Hcm91cERyYWdIYW5kbGVyKFxuICAgICAgICB0aGlzLl9nZXROb3REcmFnZ2VkTm9kZXNSZWN0cygpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLnNvbWUoKHgpID0+IHggaW5zdGFuY2VvZiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm90RHJhZ2dlZE5vZGVzUmVjdHMoKTogSU5vZGVXaXRoUmVjdFtdIHtcbiAgICBjb25zdCBkcmFnZ2VkTm9kZXMgPSB0aGlzLl9hZGRQYXJlbnROb2Rlcyh0aGlzLl9nZXROb2Rlc0JlaW5nRHJhZ2dlZCgpKTtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Tm90RHJhZ2dlZE5vZGVzKGRyYWdnZWROb2RlcykubWFwKCh4KSA9PiB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguaG9zdEVsZW1lbnQsIGZhbHNlKSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBub2RlOiB4LFxuICAgICAgICByZWN0OiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgICAgIHJlY3QueCArIHRoaXMuX2ZDYW52YXNQb3NpdGlvbi54LFxuICAgICAgICAgIHJlY3QueSArIHRoaXMuX2ZDYW52YXNQb3NpdGlvbi55LFxuICAgICAgICAgIHJlY3Qud2lkdGggKiB0aGlzLl90cmFuc2Zvcm0uc2NhbGUsXG4gICAgICAgICAgcmVjdC5oZWlnaHQgKiB0aGlzLl90cmFuc2Zvcm0uc2NhbGVcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZXNCZWluZ0RyYWdnZWQoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNcbiAgICAgIC5maW5kKCh4KSA9PiB4IGluc3RhbmNlb2YgRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyKSFcbiAgICAgIC5mSGFuZGxlcnMubWFwKCh4KSA9PiB4LmZOb2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZFBhcmVudE5vZGVzKGZOb2RlczogRk5vZGVCYXNlW10pOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIGZOb2Rlcy5yZWR1Y2UoKHJlc3VsdDogRk5vZGVCYXNlW10sIHg6IEZOb2RlQmFzZSkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2goeCwgLi4udGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QoeCkpKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm90RHJhZ2dlZE5vZGVzKGRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZOb2Rlcy5maWx0ZXIoKHgpID0+ICFkcmFnZ2VkTm9kZXMuaW5jbHVkZXMoeCkpO1xuICB9XG59XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWRyb3AtdG8tZ3JvdXAtcHJlcGFyYXRpb24uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyb3AtdG8tZ3JvdXAvZHJvcC10by1ncm91cC1wcmVwYXJhdGlvbi9mLW5vZGUtZHJvcC10by1ncm91cC1wcmVwYXJhdGlvbi5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFrQyxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUl6RCxJQUFNLG9DQUFvQyxHQUExQyxNQUFNLG9DQUFvQztJQUc5QixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3ZELGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLFNBQVMsR0FBRyxNQUFNLENB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QU8sQ0FBYyxJQUFJLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsWUFBeUI7UUFDbkQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQzt1R0ExRVUsb0NBQW9DOzJHQUFwQyxvQ0FBb0M7O0FBQXBDLG9DQUFvQztJQURoRCxrQkFBa0IsQ0FBQyxrQ0FBa0MsQ0FBQztHQUMxQyxvQ0FBb0MsQ0EyRWhEOzsyRkEzRVksb0NBQW9DO2tCQUZoRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRk5vZGVEcm9wVG9Hcm91cFByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1ub2RlLWRyb3AtdG8tZ3JvdXAtcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJTm9kZVdpdGhSZWN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCwgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgRk5vZGVEcm9wVG9Hcm91cERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vZi1ub2RlLWRyb3AtdG8tZ3JvdXAuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uL2Ytbm9kZS1tb3ZlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihGTm9kZURyb3BUb0dyb3VwUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEZOb2RlRHJvcFRvR3JvdXBQcmVwYXJhdGlvbkV4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Rk5vZGVEcm9wVG9Hcm91cFByZXBhcmF0aW9uUmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByaXZhdGUgZ2V0IF9mTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2RlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF90cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkNhbnZhc1Bvc2l0aW9uKCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLCB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24pXG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEZOb2RlRHJvcFRvR3JvdXBQcmVwYXJhdGlvblJlcXVlc3QpOiB2b2lkIHtcbiAgICBpZighdGhpcy5faXNWYWxpZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZOb2RlID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZVxuICAgICAgLmZOb2Rlcy5maW5kKG4gPT4gbi5pc0NvbnRhaW5zKHJlcXVlc3QuZXZlbnQudGFyZ2V0RWxlbWVudCkpO1xuICAgIGlmICghZk5vZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm9kZSBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMucHVzaChcbiAgICAgIG5ldyBGTm9kZURyb3BUb0dyb3VwRHJhZ0hhbmRsZXIoXG4gICAgICAgIHRoaXMuX2luamVjdG9yLFxuICAgICAgICB0aGlzLl9nZXROb3REcmFnZ2VkTm9kZXNSZWN0cygpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLnNvbWUoKHgpID0+IHggaW5zdGFuY2VvZiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm90RHJhZ2dlZE5vZGVzUmVjdHMoKTogSU5vZGVXaXRoUmVjdFtdIHtcbiAgICBjb25zdCBkcmFnZ2VkTm9kZXMgPSB0aGlzLl9hZGRQYXJlbnROb2Rlcyh0aGlzLl9nZXROb2Rlc0JlaW5nRHJhZ2dlZCgpKTtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Tm90RHJhZ2dlZE5vZGVzKGRyYWdnZWROb2RlcykubWFwKCh4KSA9PiB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguaG9zdEVsZW1lbnQsIGZhbHNlKSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBub2RlOiB4LFxuICAgICAgICByZWN0OiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgICAgIHJlY3QueCArIHRoaXMuX2ZDYW52YXNQb3NpdGlvbi54LFxuICAgICAgICAgIHJlY3QueSArIHRoaXMuX2ZDYW52YXNQb3NpdGlvbi55LFxuICAgICAgICAgIHJlY3Qud2lkdGggKiB0aGlzLl90cmFuc2Zvcm0uc2NhbGUsXG4gICAgICAgICAgcmVjdC5oZWlnaHQgKiB0aGlzLl90cmFuc2Zvcm0uc2NhbGVcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZXNCZWluZ0RyYWdnZWQoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNcbiAgICAgIC5maW5kKCh4KSA9PiB4IGluc3RhbmNlb2YgRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyKSFcbiAgICAgIC5mSGFuZGxlcnMubWFwKCh4KSA9PiB4LmZOb2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZFBhcmVudE5vZGVzKGZOb2RlczogRk5vZGVCYXNlW10pOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIGZOb2Rlcy5yZWR1Y2UoKHJlc3VsdDogRk5vZGVCYXNlW10sIHg6IEZOb2RlQmFzZSkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2goeCwgLi4udGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QoeCkpKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm90RHJhZ2dlZE5vZGVzKGRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZOb2Rlcy5maWx0ZXIoKHgpID0+ICFkcmFnZ2VkTm9kZXMuaW5jbHVkZXMoeCkpO1xuICB9XG59XG4iXX0=
@@ -2,12 +2,11 @@ import { Directive } from '@angular/core';
2
2
  import { Point, PointExtensions, RectExtensions } from '@foblex/2d';
3
3
  import { FComponentsStore } from '../../f-storage';
4
4
  import { FDraggableDataContext } from '../f-draggable-data-context';
5
- import { fInject } from '../f-injector';
6
5
  import * as i0 from "@angular/core";
7
6
  export class FNodeDropToGroupDragHandler {
8
7
  notDraggedNodesRects;
9
- _fComponentsStore = fInject(FComponentsStore);
10
- _fDraggableDataContext = fInject(FDraggableDataContext);
8
+ _fComponentsStore;
9
+ _fDraggableDataContext;
11
10
  fEventType = 'move-node-to-parent';
12
11
  _DEBOUNCE_TIME = 15;
13
12
  get _transform() {
@@ -16,8 +15,10 @@ export class FNodeDropToGroupDragHandler {
16
15
  _onPointerDownPosition = PointExtensions.initialize();
17
16
  _debounceTimer = null;
18
17
  fNodeWithRect = null;
19
- constructor(notDraggedNodesRects) {
18
+ constructor(_injector, notDraggedNodesRects) {
20
19
  this.notDraggedNodesRects = notDraggedNodesRects;
20
+ this._fComponentsStore = _injector.get(FComponentsStore);
21
+ this._fDraggableDataContext = _injector.get(FDraggableDataContext);
21
22
  this._onPointerDownPosition = this._fDraggableDataContext.onPointerDownPosition;
22
23
  }
23
24
  _toggleParentNode(difference) {
@@ -62,5 +63,5 @@ export class FNodeDropToGroupDragHandler {
62
63
  }
63
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeDropToGroupDragHandler, decorators: [{
64
65
  type: Directive
65
- }], ctorParameters: () => [{ type: undefined }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWRyb3AtdG8tZ3JvdXAuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyb3AtdG8tZ3JvdXAvZi1ub2RlLWRyb3AtdG8tZ3JvdXAuZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUEyQixLQUFLLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd4QyxNQUFNLE9BQU8sMkJBQTJCO0lBbUI1QjtJQWpCRixpQkFBaUIsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM5QyxzQkFBc0IsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUV6RCxVQUFVLEdBQUcscUJBQXFCLENBQUM7SUFFbEMsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUU1QixJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sc0JBQXNCLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlELGNBQWMsR0FBUSxJQUFJLENBQUM7SUFFNUIsYUFBYSxHQUF5QixJQUFJLENBQUM7SUFFbEQsWUFDVSxvQkFBcUM7UUFBckMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFpQjtRQUU3QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDO0lBQ2xGLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxVQUFrQjtRQUMxQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxLQUFhO1FBQzVDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxZQUEyQjtRQUNsRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQzt1R0FuRVUsMkJBQTJCOzJGQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRHZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb2ludCwgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUZEcmFnSGFuZGxlciB9IGZyb20gJy4uL2YtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSU5vZGVXaXRoUmVjdCB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgZkluamVjdCB9IGZyb20gJy4uL2YtaW5qZWN0b3InO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBGTm9kZURyb3BUb0dyb3VwRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRkRyYWdIYW5kbGVyIHtcblxuICBwcml2YXRlIF9mQ29tcG9uZW50c1N0b3JlID0gZkluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gZkluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuXG4gIHB1YmxpYyBmRXZlbnRUeXBlID0gJ21vdmUtbm9kZS10by1wYXJlbnQnO1xuXG4gIHByaXZhdGUgX0RFQk9VTkNFX1RJTUUgPSAxNTtcblxuICBwcml2YXRlIGdldCBfdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Qb2ludGVyRG93blBvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICBwcml2YXRlIF9kZWJvdW5jZVRpbWVyOiBhbnkgPSBudWxsO1xuXG4gIHB1YmxpYyBmTm9kZVdpdGhSZWN0OiBJTm9kZVdpdGhSZWN0IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBub3REcmFnZ2VkTm9kZXNSZWN0czogSU5vZGVXaXRoUmVjdFtdLFxuICApIHtcbiAgICB0aGlzLl9vblBvaW50ZXJEb3duUG9zaXRpb24gPSB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBfdG9nZ2xlUGFyZW50Tm9kZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpc0luY2x1ZGUgPSB0aGlzLl9pc05vZGVJbnNpZGVBbm90aGVyTm9kZSh0aGlzLl9nZXROZXdQb3NpdGlvbihkaWZmZXJlbmNlKSk7XG4gICAgaWYgKGlzSW5jbHVkZSkge1xuICAgICAgdGhpcy5fbWFya0luY2x1ZGVOb2RlKGlzSW5jbHVkZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3VubWFya0luY2x1ZGVOb2RlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TmV3UG9zaXRpb24oZGlmZmVyZW5jZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHRoaXMuX29uUG9pbnRlckRvd25Qb3NpdGlvbikuYWRkKGRpZmZlcmVuY2UpLm11bHQodGhpcy5fdHJhbnNmb3JtLnNjYWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTm9kZUluc2lkZUFub3RoZXJOb2RlKHBvaW50OiBJUG9pbnQpOiBJTm9kZVdpdGhSZWN0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ub3REcmFnZ2VkTm9kZXNSZWN0cy5maW5kKCh4KSA9PiBSZWN0RXh0ZW5zaW9ucy5pc0luY2x1ZGVQb2ludCh4LnJlY3QsIHBvaW50KSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZGVib3VuY2VUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2RlYm91bmNlVGltZXIpO1xuICAgIH1cblxuICAgIHRoaXMuX2RlYm91bmNlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3RvZ2dsZVBhcmVudE5vZGUoZGlmZmVyZW5jZSksIHRoaXMuX0RFQk9VTkNFX1RJTUUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWFya0luY2x1ZGVOb2RlKG5vZGVXaXRoUmVjdDogSU5vZGVXaXRoUmVjdCk6IHZvaWQge1xuICAgIHRoaXMuX3VubWFya0luY2x1ZGVOb2RlKCk7XG4gICAgdGhpcy5mTm9kZVdpdGhSZWN0ID0gbm9kZVdpdGhSZWN0O1xuICAgIG5vZGVXaXRoUmVjdC5ub2RlLnNldENsYXNzKCdmLXBhcmVudC1mb3ItZHJvcCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5tYXJrSW5jbHVkZU5vZGUoKTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZVdpdGhSZWN0Py5ub2RlLnJlbW92ZUNsYXNzKCdmLXBhcmVudC1mb3ItZHJvcCcpO1xuICAgIHRoaXMuZk5vZGVXaXRoUmVjdCA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fdW5tYXJrSW5jbHVkZU5vZGUoKTtcblxuICAgIGlmICh0aGlzLl9kZWJvdW5jZVRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fZGVib3VuY2VUaW1lcik7XG4gICAgICB0aGlzLl9kZWJvdW5jZVRpbWVyID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
66
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: undefined }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWRyb3AtdG8tZ3JvdXAuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyb3AtdG8tZ3JvdXAvZi1ub2RlLWRyb3AtdG8tZ3JvdXAuZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUEyQixLQUFLLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHcEUsTUFBTSxPQUFPLDJCQUEyQjtJQW9CNUI7SUFsQk8saUJBQWlCLENBQW1CO0lBQ3BDLHNCQUFzQixDQUF3QjtJQUV4RCxVQUFVLEdBQUcscUJBQXFCLENBQUM7SUFFbEMsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUU1QixJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sc0JBQXNCLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlELGNBQWMsR0FBUSxJQUFJLENBQUM7SUFFNUIsYUFBYSxHQUF5QixJQUFJLENBQUM7SUFFbEQsWUFDRSxTQUFtQixFQUNYLG9CQUFxQztRQUFyQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQWlCO1FBRTdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDO0lBQ2xGLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxVQUFrQjtRQUMxQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxLQUFhO1FBQzVDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxZQUEyQjtRQUNsRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQzt1R0F0RVUsMkJBQTJCOzJGQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRHZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUG9pbnQsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElGRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IElOb2RlV2l0aFJlY3QgfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgRk5vZGVEcm9wVG9Hcm91cERyYWdIYW5kbGVyIGltcGxlbWVudHMgSUZEcmFnSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQ7XG5cbiAgcHVibGljIGZFdmVudFR5cGUgPSAnbW92ZS1ub2RlLXRvLXBhcmVudCc7XG5cbiAgcHJpdmF0ZSBfREVCT1VOQ0VfVElNRSA9IDE1O1xuXG4gIHByaXZhdGUgZ2V0IF90cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIF9vblBvaW50ZXJEb3duUG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gIHByaXZhdGUgX2RlYm91bmNlVGltZXI6IGFueSA9IG51bGw7XG5cbiAgcHVibGljIGZOb2RlV2l0aFJlY3Q6IElOb2RlV2l0aFJlY3QgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgbm90RHJhZ2dlZE5vZGVzUmVjdHM6IElOb2RlV2l0aFJlY3RbXSxcbiAgKSB7XG4gICAgdGhpcy5fZkNvbXBvbmVudHNTdG9yZSA9IF9pbmplY3Rvci5nZXQoRkNvbXBvbmVudHNTdG9yZSk7XG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gX2luamVjdG9yLmdldChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuICAgIHRoaXMuX29uUG9pbnRlckRvd25Qb3NpdGlvbiA9IHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb247XG4gIH1cblxuICBwcml2YXRlIF90b2dnbGVQYXJlbnROb2RlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGlzSW5jbHVkZSA9IHRoaXMuX2lzTm9kZUluc2lkZUFub3RoZXJOb2RlKHRoaXMuX2dldE5ld1Bvc2l0aW9uKGRpZmZlcmVuY2UpKTtcbiAgICBpZiAoaXNJbmNsdWRlKSB7XG4gICAgICB0aGlzLl9tYXJrSW5jbHVkZU5vZGUoaXNJbmNsdWRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdW5tYXJrSW5jbHVkZU5vZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXROZXdQb3NpdGlvbihkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQodGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uKS5hZGQoZGlmZmVyZW5jZSkubXVsdCh0aGlzLl90cmFuc2Zvcm0uc2NhbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNOb2RlSW5zaWRlQW5vdGhlck5vZGUocG9pbnQ6IElQb2ludCk6IElOb2RlV2l0aFJlY3QgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLm5vdERyYWdnZWROb2Rlc1JlY3RzLmZpbmQoKHgpID0+IFJlY3RFeHRlbnNpb25zLmlzSW5jbHVkZVBvaW50KHgucmVjdCwgcG9pbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kZWJvdW5jZVRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fZGVib3VuY2VUaW1lcik7XG4gICAgfVxuXG4gICAgdGhpcy5fZGVib3VuY2VUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fdG9nZ2xlUGFyZW50Tm9kZShkaWZmZXJlbmNlKSwgdGhpcy5fREVCT1VOQ0VfVElNRSk7XG4gIH1cblxuICBwcml2YXRlIF9tYXJrSW5jbHVkZU5vZGUobm9kZVdpdGhSZWN0OiBJTm9kZVdpdGhSZWN0KTogdm9pZCB7XG4gICAgdGhpcy5fdW5tYXJrSW5jbHVkZU5vZGUoKTtcbiAgICB0aGlzLmZOb2RlV2l0aFJlY3QgPSBub2RlV2l0aFJlY3Q7XG4gICAgbm9kZVdpdGhSZWN0Lm5vZGUuc2V0Q2xhc3MoJ2YtcGFyZW50LWZvci1kcm9wJyk7XG4gIH1cblxuICBwcml2YXRlIF91bm1hcmtJbmNsdWRlTm9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZOb2RlV2l0aFJlY3Q/Lm5vZGUucmVtb3ZlQ2xhc3MoJ2YtcGFyZW50LWZvci1kcm9wJyk7XG4gICAgdGhpcy5mTm9kZVdpdGhSZWN0ID0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLl91bm1hcmtJbmNsdWRlTm9kZSgpO1xuXG4gICAgaWYgKHRoaXMuX2RlYm91bmNlVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9kZWJvdW5jZVRpbWVyKTtcbiAgICAgIHRoaXMuX2RlYm91bmNlVGltZXIgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -2,11 +2,10 @@ import { PointExtensions, RoundedRect } from '@foblex/2d';
2
2
  import { FMediator } from '@foblex/mediator';
3
3
  import { CalculateConnectionLineByBehaviorRequest, GetConnectorAndRectRequest } from '../../../domain';
4
4
  import { FComponentsStore } from '../../../f-storage';
5
- import { fInject } from '../../f-injector';
6
5
  export class BaseConnectionDragHandler {
7
6
  fConnection;
8
- _fMediator = fInject(FMediator);
9
- _fComponentsStore = fInject(FComponentsStore);
7
+ _fMediator;
8
+ _fComponentsStore;
10
9
  _fOutputWithRect;
11
10
  _fInputWithRect;
12
11
  get _fOutput() {
@@ -25,8 +24,10 @@ export class BaseConnectionDragHandler {
25
24
  }
26
25
  _sourceDifference = PointExtensions.initialize();
27
26
  _targetDifference = PointExtensions.initialize();
28
- constructor(fConnection) {
27
+ constructor(_injector, fConnection) {
29
28
  this.fConnection = fConnection;
29
+ this._fMediator = _injector.get(FMediator);
30
+ this._fComponentsStore = _injector.get(FComponentsStore);
30
31
  this._initialize();
31
32
  }
32
33
  _initialize() {
@@ -53,4 +54,4 @@ export class BaseConnectionDragHandler {
53
54
  return `ConnectionDragHandler Error: Connection From (fOutput)${this.fConnection.fOutputId} To (fInput)${this.fConnection.fInputId}. ${message}. Please ensure that all f-connections are associated with existing connectors`;
54
55
  }
55
56
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLDBCQUEwQixFQUUzQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUczQyxNQUFNLE9BQU8seUJBQXlCO0lBNEIzQjtJQTFCUSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXZELGdCQUFnQixDQUFxQjtJQUNyQyxlQUFlLENBQXFCO0lBRTVDLElBQVksUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBRSxDQUFDO1FBQ2xHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLG1CQUFvQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVUsWUFBWSxDQUFDLENB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dEV4dGVuc2lvbnMsIFJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gIEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0LFxuICBJQ29ubmVjdG9yQW5kUmVjdFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBmSW5qZWN0IH0gZnJvbSAnLi4vLi4vZi1pbmplY3Rvcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZk1lZGlhdG9yID0gZkluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mQ29tcG9uZW50c1N0b3JlID0gZkluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIF9mT3V0cHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcbiAgcHJpdmF0ZSBfZklucHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcblxuICBwcml2YXRlIGdldCBfZk91dHB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gdGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWQpITtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuX2Nvbm5lY3Rvck5vdEZvdW5kUHJlZml4KGBmT3V0cHV0IHdpdGggaWQgJHsgdGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWQgfSBub3QgZm91bmRgKSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZklucHV0KCk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5mSWQgPT09IHRoaXMuZkNvbm5lY3Rpb24uZklucHV0SWQpITtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuX2Nvbm5lY3Rvck5vdEZvdW5kUHJlZml4KGBmSW5wdXQgd2l0aCBpZCAkeyB0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkIH0gbm90IGZvdW5kYCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfc291cmNlRGlmZmVyZW5jZSA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gIHByaXZhdGUgX3RhcmdldERpZmZlcmVuY2UgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgICB0aGlzLl9pbml0aWFsaXplKCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdCA9IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fZk91dHB1dCkpO1xuICAgIHRoaXMuX2ZJbnB1dFdpdGhSZWN0ID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9mSW5wdXQpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3NvdXJjZURpZmZlcmVuY2UgPSBkaWZmZXJlbmNlO1xuICB9XG5cbiAgcHVibGljIHNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fdGFyZ2V0RGlmZmVyZW5jZSA9IGRpZmZlcmVuY2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZHJhd0Nvbm5lY3Rpb24odGhpcy5fcmVjYWxjdWxhdGVDb25uZWN0aW9uKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVjYWxjdWxhdGVDb25uZWN0aW9uKCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCkuYWRkUG9pbnQodGhpcy5fc291cmNlRGlmZmVyZW5jZSksXG4gICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5fZklucHV0V2l0aFJlY3QuZlJlY3QpLmFkZFBvaW50KHRoaXMuX3RhcmdldERpZmZlcmVuY2UpLFxuICAgICAgdGhpcy5mQ29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgdGhpcy5fZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXdDb25uZWN0aW9uKGxpbmU6IElMaW5lKTogdm9pZCB7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5zZXRMaW5lKFxuICAgICAgbGluZSxcbiAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICB0aGlzLl9mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGVcbiAgICApO1xuICAgIHRoaXMuZkNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIF9jb25uZWN0b3JOb3RGb3VuZFByZWZpeChtZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgQ29ubmVjdGlvbkRyYWdIYW5kbGVyIEVycm9yOiBDb25uZWN0aW9uIEZyb20gKGZPdXRwdXQpJHsgdGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWQgfSBUbyAoZklucHV0KSR7IHRoaXMuZkNvbm5lY3Rpb24uZklucHV0SWQgfS4gJHsgbWVzc2FnZSB9LiBQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIGYtY29ubmVjdGlvbnMgYXJlIGFzc29jaWF0ZWQgd2l0aCBleGlzdGluZyBjb25uZWN0b3JzYDtcbiAgfVxufVxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLDBCQUEwQixFQUUzQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXRELE1BQU0sT0FBTyx5QkFBeUI7SUE2QjNCO0lBM0JRLFVBQVUsQ0FBWTtJQUN0QixpQkFBaUIsQ0FBbUI7SUFFN0MsZ0JBQWdCLENBQXFCO0lBQ3JDLGVBQWUsQ0FBcUI7SUFFNUMsSUFBWSxRQUFRO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFFLENBQUM7UUFDbEcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsbUJBQW9CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBVSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzlHLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBWSxPQUFPO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUsIElQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0LFxuICBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCxcbiAgSUNvbm5lY3RvckFuZFJlY3Rcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mTWVkaWF0b3I6IEZNZWRpYXRvcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZTtcblxuICBwcml2YXRlIF9mT3V0cHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcbiAgcHJpdmF0ZSBfZklucHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcblxuICBwcml2YXRlIGdldCBfZk91dHB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gdGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWQpITtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuX2Nvbm5lY3Rvck5vdEZvdW5kUHJlZml4KGBmT3V0cHV0IHdpdGggaWQgJHsgdGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWQgfSBub3QgZm91bmRgKSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZklucHV0KCk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5mSWQgPT09IHRoaXMuZkNvbm5lY3Rpb24uZklucHV0SWQpITtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuX2Nvbm5lY3Rvck5vdEZvdW5kUHJlZml4KGBmSW5wdXQgd2l0aCBpZCAkeyB0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkIH0gbm90IGZvdW5kYCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfc291cmNlRGlmZmVyZW5jZSA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gIHByaXZhdGUgX3RhcmdldERpZmZlcmVuY2UgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHVibGljIGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICkge1xuICAgIHRoaXMuX2ZNZWRpYXRvciA9IF9pbmplY3Rvci5nZXQoRk1lZGlhdG9yKTtcbiAgICB0aGlzLl9mQ29tcG9uZW50c1N0b3JlID0gX2luamVjdG9yLmdldChGQ29tcG9uZW50c1N0b3JlKTtcbiAgICB0aGlzLl9pbml0aWFsaXplKCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdCA9IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fZk91dHB1dCkpO1xuICAgIHRoaXMuX2ZJbnB1dFdpdGhSZWN0ID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9mSW5wdXQpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3NvdXJjZURpZmZlcmVuY2UgPSBkaWZmZXJlbmNlO1xuICB9XG5cbiAgcHVibGljIHNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fdGFyZ2V0RGlmZmVyZW5jZSA9IGRpZmZlcmVuY2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZHJhd0Nvbm5lY3Rpb24odGhpcy5fcmVjYWxjdWxhdGVDb25uZWN0aW9uKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVjYWxjdWxhdGVDb25uZWN0aW9uKCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCkuYWRkUG9pbnQodGhpcy5fc291cmNlRGlmZmVyZW5jZSksXG4gICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5fZklucHV0V2l0aFJlY3QuZlJlY3QpLmFkZFBvaW50KHRoaXMuX3RhcmdldERpZmZlcmVuY2UpLFxuICAgICAgdGhpcy5mQ29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgdGhpcy5fZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXdDb25uZWN0aW9uKGxpbmU6IElMaW5lKTogdm9pZCB7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5zZXRMaW5lKFxuICAgICAgbGluZSxcbiAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICB0aGlzLl9mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGVcbiAgICApO1xuICAgIHRoaXMuZkNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIF9jb25uZWN0b3JOb3RGb3VuZFByZWZpeChtZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgQ29ubmVjdGlvbkRyYWdIYW5kbGVyIEVycm9yOiBDb25uZWN0aW9uIEZyb20gKGZPdXRwdXQpJHsgdGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWQgfSBUbyAoZklucHV0KSR7IHRoaXMuZkNvbm5lY3Rpb24uZklucHV0SWQgfS4gJHsgbWVzc2FnZSB9LiBQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIGYtY29ubmVjdGlvbnMgYXJlIGFzc29jaWF0ZWQgd2l0aCBleGlzdGluZyBjb25uZWN0b3JzYDtcbiAgfVxufVxuIl19
@@ -1,11 +1,11 @@
1
1
  import { BaseConnectionDragHandler } from './base-connection.drag-handler';
2
2
  export class SourceConnectionDragHandler extends BaseConnectionDragHandler {
3
- constructor(fConnection) {
4
- super(fConnection);
3
+ constructor(injector, fConnection) {
4
+ super(injector, fConnection);
5
5
  }
6
6
  setSourceDifference(difference) {
7
7
  super.setSourceDifference(difference);
8
8
  this.redraw();
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvc291cmNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSTNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFBWSxXQUE0QjtRQUN0QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4vYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBTb3VyY2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgZXh0ZW5kcyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcblxuICBjb25zdHJ1Y3RvcihmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKSB7XG4gICAgc3VwZXIoZkNvbm5lY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldFNvdXJjZURpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KSB7XG4gICAgc3VwZXIuc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlKTtcbiAgICB0aGlzLnJlZHJhdygpO1xuICB9XG59XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvc291cmNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSzNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFBWSxRQUFrQixFQUFFLFdBQTRCO1FBQzFELEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4vYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgU291cmNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIGV4dGVuZHMgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLCBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIGZDb25uZWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCkge1xuICAgIHN1cGVyLnNldFNvdXJjZURpZmZlcmVuY2UoZGlmZmVyZW5jZSk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxufVxuIl19
@@ -1,8 +1,8 @@
1
1
  import { BaseConnectionDragHandler } from './base-connection.drag-handler';
2
2
  export class SourceTargetConnectionDragHandler extends BaseConnectionDragHandler {
3
3
  _callTracker = new Map();
4
- constructor(fConnection) {
5
- super(fConnection);
4
+ constructor(injector, fConnection) {
5
+ super(injector, fConnection);
6
6
  }
7
7
  setSourceDifference(difference) {
8
8
  super.setSourceDifference(difference);
@@ -19,4 +19,4 @@ export class SourceTargetConnectionDragHandler extends BaseConnectionDragHandler
19
19
  }
20
20
  }
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXRhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL3NvdXJjZS10YXJnZXQtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJM0UsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHlCQUF5QjtJQUU3RCxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7SUFFM0QsWUFBWSxXQUE0QjtRQUN0QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRWUsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi9iYXNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcblxuZXhwb3J0IGNsYXNzIFNvdXJjZVRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlciBleHRlbmRzIEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NhbGxUcmFja2VyID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSkge1xuICAgIHN1cGVyKGZDb25uZWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCkge1xuICAgIHN1cGVyLnNldFNvdXJjZURpZmZlcmVuY2UoZGlmZmVyZW5jZSk7XG4gICAgdGhpcy5fY2hlY2tBbmRUcmlnZ2VyQWN0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0VGFyZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpIHtcbiAgICBzdXBlci5zZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2UpO1xuICAgIHRoaXMuX2NoZWNrQW5kVHJpZ2dlckFjdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBbmRUcmlnZ2VyQWN0aW9uKCkge1xuICAgIGlmIChbLi4udGhpcy5fY2FsbFRyYWNrZXIudmFsdWVzKCldLmV2ZXJ5KEJvb2xlYW4pKSB7XG4gICAgICB0aGlzLl9jYWxsVHJhY2tlci5jbGVhcigpO1xuICAgICAgdGhpcy5yZWRyYXcoKTtcbiAgICB9XG4gIH1cbn1cblxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXRhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL3NvdXJjZS10YXJnZXQtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFLM0UsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHlCQUF5QjtJQUU3RCxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7SUFFM0QsWUFBWSxRQUFrQixFQUFFLFdBQTRCO1FBQzFELEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRWUsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi9iYXNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBTb3VyY2VUYXJnZXRDb25uZWN0aW9uRHJhZ0hhbmRsZXIgZXh0ZW5kcyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jYWxsVHJhY2tlciA9IG5ldyBNYXA8c3RyaW5nLCBib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSkge1xuICAgIHN1cGVyKGluamVjdG9yLCBmQ29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpIHtcbiAgICBzdXBlci5zZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2UpO1xuICAgIHRoaXMuX2NoZWNrQW5kVHJpZ2dlckFjdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KSB7XG4gICAgc3VwZXIuc2V0VGFyZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlKTtcbiAgICB0aGlzLl9jaGVja0FuZFRyaWdnZXJBY3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQW5kVHJpZ2dlckFjdGlvbigpIHtcbiAgICBpZiAoWy4uLnRoaXMuX2NhbGxUcmFja2VyLnZhbHVlcygpXS5ldmVyeShCb29sZWFuKSkge1xuICAgICAgdGhpcy5fY2FsbFRyYWNrZXIuY2xlYXIoKTtcbiAgICAgIHRoaXMucmVkcmF3KCk7XG4gICAgfVxuICB9XG59XG5cbiJdfQ==
@@ -1,11 +1,11 @@
1
1
  import { BaseConnectionDragHandler } from './base-connection.drag-handler';
2
2
  export class TargetConnectionDragHandler extends BaseConnectionDragHandler {
3
- constructor(fConnection) {
4
- super(fConnection);
3
+ constructor(injector, fConnection) {
4
+ super(injector, fConnection);
5
5
  }
6
6
  setTargetDifference(difference) {
7
7
  super.setTargetDifference(difference);
8
8
  this.redraw();
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvdGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFBWSxXQUE0QjtRQUN0QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBUYXJnZXRDb25uZWN0aW9uRHJhZ0hhbmRsZXIgZXh0ZW5kcyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcblxuICBjb25zdHJ1Y3RvcihmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKSB7XG4gICAgc3VwZXIoZkNvbm5lY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KSB7XG4gICAgc3VwZXIuc2V0VGFyZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlKTtcbiAgICB0aGlzLnJlZHJhdygpO1xuICB9XG59XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvdGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSTNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFFeEUsWUFBWSxRQUFrQixFQUFFLFdBQTRCO1FBQzFELEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVlLG1CQUFtQixDQUFDLFVBQWtCO1FBQ3BELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyIGV4dGVuZHMgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLCBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIGZDb25uZWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCkge1xuICAgIHN1cGVyLnNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZSk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
2
+ import { inject, Injectable, Injector } from '@angular/core';
3
3
  import { CreateMoveNodesDragModelFromSelectionRequest } from './create-move-nodes-drag-model-from-selection.request';
4
4
  import { FExecutionRegister, FMediator } from '@foblex/mediator';
5
5
  import { FComponentsStore } from '../../../f-storage';
@@ -19,13 +19,14 @@ let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragMo
19
19
  _fMediator = inject(FMediator);
20
20
  _fComponentsStore = inject(FComponentsStore);
21
21
  _fDraggableDataContext = inject(FDraggableDataContext);
22
+ _injector = inject(Injector);
22
23
  handle(request) {
23
24
  const fDraggedNodes = this._getDraggedNodes(request.nodeWithDisabledSelection);
24
25
  const fNodesToDrag = this._getNodesToDragWithCommonLimits(fDraggedNodes);
25
26
  const fDragHandlers = this._mapToNodeDragHandlers(fNodesToDrag);
26
27
  this._setConnectionsHandlersToNodes(fDragHandlers, this._getAllOutputIds(fNodesToDrag), this._getAllInputIds(fNodesToDrag));
27
28
  const commonLimits = this._calculateCommonLimits(this._getNodesMoveLimits(fNodesToDrag, [], fDraggedNodes));
28
- return new FSummaryNodeMoveDragHandler(commonLimits, fDragHandlers, this._getDraggedNodesBoundingRect(fNodesToDrag));
29
+ return new FSummaryNodeMoveDragHandler(this._injector, commonLimits, fDragHandlers, this._getDraggedNodesBoundingRect(fNodesToDrag));
29
30
  }
30
31
  _getDraggedNodes(nodeWithDisabledSelection) {
31
32
  const result = this._getNodesFromSelection();
@@ -106,4 +107,4 @@ export { CreateMoveNodesDragModelFromSelectionExecution };
106
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, decorators: [{
107
108
  type: Injectable
108
109
  }] });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3JILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsK0JBQStCLEVBQy9CLHFCQUFxQixFQUN0QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLG9DQUFvQyxFQUFF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LENBQUM7UUFDdEgsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sNEJBQTRCLENBQUMsTUFBbUI7UUFDdEQsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFRLElBQUksK0JBQStCLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ25HLENBQUMsQ0FBQyxDQUFDLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3JDLENBQUM7dUdBbEhVLDhDQUE4QzsyR0FBOUMsOENBQThDOztBQUE5Qyw4Q0FBOEM7SUFEMUQsa0JBQWtCLENBQUMsNENBQTRDLENBQUM7R0FDcEQsOENBQThDLENBbUgxRDs7MkZBbkhZLDhDQUE4QztrQkFGMUQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgRk5vZGVNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLW5vZGUtbW92ZS5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IENhbGN1bGF0ZU5vZGVNb3ZlTGltaXRzUmVxdWVzdCB9IGZyb20gJy4vZG9tYWluL2NhbGN1bGF0ZS1ub2RlLW1vdmUtbGltaXRzJztcbmltcG9ydCB7IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4vcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcbmltcG9ydCB7XG4gIFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3Rcbn0gZnJvbSAnLi9kb21haW4vcHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHsgSXNBcnJheUhhc1BhcmVudE5vZGVSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdCxcbiAgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCxcbiAgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0XG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBmbGF0TWFwIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5pbXBvcnQgeyBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZUxpbWl0c1JlcXVlc3QgfSBmcm9tICcuL2RvbWFpbi9jYWxjdWxhdGUtY29tbW9uLW5vZGUtbW92ZS1saW1pdHMnO1xuaW1wb3J0IHsgSU1pbk1heFBvaW50LCBJUmVjdCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMnO1xuaW1wb3J0IHsgRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vZi1zdW1tYXJ5LW5vZGUtbW92ZS5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgSU5vZGVNb3ZlTGltaXRzQW5kUG9zaXRpb24gfSBmcm9tICcuL2ktbm9kZS1tb3ZlLWxpbWl0cy1hbmQtcG9zaXRpb24nO1xuaW1wb3J0IHsgSU5vZGVNb3ZlTGltaXRzIH0gZnJvbSAnLi9pLW5vZGUtbW92ZS1saW1pdHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25FeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0LCBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXI+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCk6IEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlciB7XG4gICAgY29uc3QgZkRyYWdnZWROb2RlcyA9IHRoaXMuX2dldERyYWdnZWROb2RlcyhyZXF1ZXN0Lm5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pO1xuXG4gICAgY29uc3QgZk5vZGVzVG9EcmFnID0gdGhpcy5fZ2V0Tm9kZXNUb0RyYWdXaXRoQ29tbW9uTGltaXRzKGZEcmFnZ2VkTm9kZXMpO1xuXG4gICAgY29uc3QgZkRyYWdIYW5kbGVycyA9IHRoaXMuX21hcFRvTm9kZURyYWdIYW5kbGVycyhmTm9kZXNUb0RyYWcpO1xuXG4gICAgdGhpcy5fc2V0Q29ubmVjdGlvbnNIYW5kbGVyc1RvTm9kZXMoZkRyYWdIYW5kbGVycywgdGhpcy5fZ2V0QWxsT3V0cHV0SWRzKGZOb2Rlc1RvRHJhZyksIHRoaXMuX2dldEFsbElucHV0SWRzKGZOb2Rlc1RvRHJhZykpO1xuXG4gICAgY29uc3QgY29tbW9uTGltaXRzID0gdGhpcy5fY2FsY3VsYXRlQ29tbW9uTGltaXRzKFxuICAgICAgdGhpcy5fZ2V0Tm9kZXNNb3ZlTGltaXRzKGZOb2Rlc1RvRHJhZywgW10sIGZEcmFnZ2VkTm9kZXMpXG4gICAgKTtcblxuICAgIHJldHVybiBuZXcgRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyKFxuICAgICAgY29tbW9uTGltaXRzLCBmRHJhZ0hhbmRsZXJzLCB0aGlzLl9nZXREcmFnZ2VkTm9kZXNCb3VuZGluZ1JlY3QoZk5vZGVzVG9EcmFnKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXREcmFnZ2VkTm9kZXMobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbj86IEZOb2RlQmFzZSk6IEZOb2RlQmFzZVtdIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9nZXROb2Rlc0Zyb21TZWxlY3Rpb24oKTtcbiAgICBpZiAobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbikge1xuICAgICAgcmVzdWx0LnB1c2gobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc0Zyb21TZWxlY3Rpb24oKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtc1xuICAgICAgLm1hcCgoeCkgPT4gdGhpcy5fZmluZE5vZGUoeC5ob3N0RWxlbWVudCkpXG4gICAgICAuZmlsdGVyKCh4KTogeCBpcyBGTm9kZUJhc2UgPT4gISF4KTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmROb2RlKGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlc1xuICAgICAgLmZpbmQobiA9PiBuLmlzQ29udGFpbnMoaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVzVG9EcmFnV2l0aENvbW1vbkxpbWl0cyhmRHJhZ2dlZE5vZGVzOiBGTm9kZUJhc2VbXSk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gZkRyYWdnZWROb2Rlcy5yZWR1Y2UoKHJlc3VsdDogRk5vZGVCYXNlW10sIHg6IEZOb2RlQmFzZSkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2goeCk7XG4gICAgICByZXR1cm4gcmVzdWx0LmNvbmNhdCh0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKHguZklkKSk7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZXNNb3ZlTGltaXRzKGZOb2RlczogRk5vZGVCYXNlW10sIGZQYXJlbnROb2RlczogRk5vZGVCYXNlW10sIGZEcmFnZ2VkTm9kZXM6IEZOb2RlQmFzZVtdKTogSU5vZGVNb3ZlTGltaXRzQW5kUG9zaXRpb25bXSB7XG4gICAgcmV0dXJuIGZEcmFnZ2VkTm9kZXMubWFwKCh4KSA9PiB7XG4gICAgICBjb25zdCBmUGFyZW50Tm9kZXMgPSB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxGTm9kZUJhc2VbXT4obmV3IEdldFBhcmVudE5vZGVzUmVxdWVzdCh4KSk7XG4gICAgICByZXR1cm4geyBwb3NpdGlvbjogeC5wb3NpdGlvbiwgLi4udGhpcy5fZ2V0Tm9kZU1vdmVMaW1pdHMoeCwgZlBhcmVudE5vZGVzLCBmRHJhZ2dlZE5vZGVzKSB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZU1vdmVMaW1pdHMoZk5vZGU6IEZOb2RlQmFzZSwgZlBhcmVudE5vZGVzOiBGTm9kZUJhc2VbXSwgZkRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBJTm9kZU1vdmVMaW1pdHMge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJTWluTWF4UG9pbnQ+KFxuICAgICAgbmV3IENhbGN1bGF0ZU5vZGVNb3ZlTGltaXRzUmVxdWVzdChmTm9kZSwgdGhpcy5faXNQYXJlbnROb2RlSW5BcnJheShmUGFyZW50Tm9kZXMsIGZEcmFnZ2VkTm9kZXMpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pc1BhcmVudE5vZGVJbkFycmF5KGZQYXJlbnROb2RlczogRk5vZGVCYXNlW10sIGZEcmFnZ2VkTm9kZXM6IEZOb2RlQmFzZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPGJvb2xlYW4+KG5ldyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QoZlBhcmVudE5vZGVzLCBmRHJhZ2dlZE5vZGVzKSlcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuTm9kZXMoZklkOiBzdHJpbmcpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlQ29tbW9uTGltaXRzKGxpbWl0czogSU5vZGVNb3ZlTGltaXRzQW5kUG9zaXRpb25bXSk6IElNaW5NYXhQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElNaW5NYXhQb2ludD4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29tbW9uTm9kZU1vdmVMaW1pdHNSZXF1ZXN0KGxpbWl0cylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QWxsT3V0cHV0SWRzKGZOb2RlczogRk5vZGVCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAoZk5vZGVzLCAoZk5vZGUpID0+IHRoaXMuX2dldE5vZGVPdXRwdXRJZHMoZk5vZGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVPdXRwdXRJZHMoZk5vZGU6IEZOb2RlQmFzZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maWx0ZXIoKHgpID0+IGZOb2RlLmZJZCA9PT0geC5mTm9kZUlkKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QWxsSW5wdXRJZHMoZk5vZGVzOiBGTm9kZUJhc2VbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZmxhdE1hcChmTm9kZXMsIChmTm9kZSkgPT4gdGhpcy5fZ2V0Tm9kZUlucHV0SWRzKGZOb2RlKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlSW5wdXRJZHMoZk5vZGU6IEZOb2RlQmFzZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbHRlcigoeCkgPT4gZk5vZGUuZklkID09PSB4LmZOb2RlSWQpXG4gICAgICAubWFwKCh4KSA9PiB4LmZJZCk7XG4gIH1cblxuICBwcml2YXRlIF9tYXBUb05vZGVEcmFnSGFuZGxlcnMoaXRlbXM6IEZOb2RlQmFzZVtdKTogRk5vZGVNb3ZlRHJhZ0hhbmRsZXJbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcCgoeCkgPT4gbmV3IEZOb2RlTW92ZURyYWdIYW5kbGVyKHgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldENvbm5lY3Rpb25zSGFuZGxlcnNUb05vZGVzKFxuICAgIGhhbmRsZXJzOiBGTm9kZU1vdmVEcmFnSGFuZGxlcltdLCBvdXRwdXRJZHM6IHN0cmluZ1tdLCBpbnB1dElkczogc3RyaW5nW11cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZkNvbm5lY3Rpb25IYW5kbGVyczogQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlcltdID0gW107XG4gICAgaGFuZGxlcnMuZm9yRWFjaCgoZk5vZGVIYW5kbGVyKSA9PiB7XG4gICAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QoZk5vZGVIYW5kbGVyLCBpbnB1dElkcywgZkNvbm5lY3Rpb25IYW5kbGVycykpO1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QoZk5vZGVIYW5kbGVyLCBvdXRwdXRJZHMsIGZDb25uZWN0aW9uSGFuZGxlcnMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERyYWdnZWROb2Rlc0JvdW5kaW5nUmVjdChmTm9kZXM6IEZOb2RlQmFzZVtdKTogSVJlY3Qge1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy51bmlvbihmTm9kZXMubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguaG9zdEVsZW1lbnQsIGZhbHNlKSk7XG4gICAgfSkpIHx8IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgfVxufVxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNySCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0csT0FBTyxFQUNMLHdDQUF3QyxFQUN6QyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQixxQkFBcUIsRUFDdEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxv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QVUsQ0FBQyxPQUFPLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUN0SCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxNQUFtQjtRQUN0RCxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQVEsSUFBSSwrQkFBK0IsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkcsQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDckMsQ0FBQzt1R0FwSFUsOENBQThDOzJHQUE5Qyw4Q0FBOEM7O0FBQTlDLDhDQUE4QztJQUQxRCxrQkFBa0IsQ0FBQyw0Q0FBNEMsQ0FBQztHQUNwRCw4Q0FBOEMsQ0FxSDFEOzsyRkFySFksOENBQThDO2tCQUYxRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgRk5vZGVNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLW5vZGUtbW92ZS5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IENhbGN1bGF0ZU5vZGVNb3ZlTGltaXRzUmVxdWVzdCB9IGZyb20gJy4vZG9tYWluL2NhbGN1bGF0ZS1ub2RlLW1vdmUtbGltaXRzJztcbmltcG9ydCB7IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4vcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcbmltcG9ydCB7XG4gIFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3Rcbn0gZnJvbSAnLi9kb21haW4vcHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHsgSXNBcnJheUhhc1BhcmVudE5vZGVSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdCxcbiAgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCxcbiAgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0XG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBmbGF0TWFwIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5pbXBvcnQgeyBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZUxpbWl0c1JlcXVlc3QgfSBmcm9tICcuL2RvbWFpbi9jYWxjdWxhdGUtY29tbW9uLW5vZGUtbW92ZS1saW1pdHMnO1xuaW1wb3J0IHsgSU1pbk1heFBvaW50LCBJUmVjdCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMnO1xuaW1wb3J0IHsgRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vZi1zdW1tYXJ5LW5vZGUtbW92ZS5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgSU5vZGVNb3ZlTGltaXRzQW5kUG9zaXRpb24gfSBmcm9tICcuL2ktbm9kZS1tb3ZlLWxpbWl0cy1hbmQtcG9zaXRpb24nO1xuaW1wb3J0IHsgSU5vZGVNb3ZlTGltaXRzIH0gZnJvbSAnLi9pLW5vZGUtbW92ZS1saW1pdHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25FeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0LCBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXI+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0KTogRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyIHtcbiAgICBjb25zdCBmRHJhZ2dlZE5vZGVzID0gdGhpcy5fZ2V0RHJhZ2dlZE5vZGVzKHJlcXVlc3Qubm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbik7XG5cbiAgICBjb25zdCBmTm9kZXNUb0RyYWcgPSB0aGlzLl9nZXROb2Rlc1RvRHJhZ1dpdGhDb21tb25MaW1pdHMoZkRyYWdnZWROb2Rlcyk7XG5cbiAgICBjb25zdCBmRHJhZ0hhbmRsZXJzID0gdGhpcy5fbWFwVG9Ob2RlRHJhZ0hhbmRsZXJzKGZOb2Rlc1RvRHJhZyk7XG5cbiAgICB0aGlzLl9zZXRDb25uZWN0aW9uc0hhbmRsZXJzVG9Ob2RlcyhmRHJhZ0hhbmRsZXJzLCB0aGlzLl9nZXRBbGxPdXRwdXRJZHMoZk5vZGVzVG9EcmFnKSwgdGhpcy5fZ2V0QWxsSW5wdXRJZHMoZk5vZGVzVG9EcmFnKSk7XG5cbiAgICBjb25zdCBjb21tb25MaW1pdHMgPSB0aGlzLl9jYWxjdWxhdGVDb21tb25MaW1pdHMoXG4gICAgICB0aGlzLl9nZXROb2Rlc01vdmVMaW1pdHMoZk5vZGVzVG9EcmFnLCBbXSwgZkRyYWdnZWROb2RlcylcbiAgICApO1xuXG4gICAgcmV0dXJuIG5ldyBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIoXG4gICAgICB0aGlzLl9pbmplY3RvcixcbiAgICAgIGNvbW1vbkxpbWl0cywgZkRyYWdIYW5kbGVycywgdGhpcy5fZ2V0RHJhZ2dlZE5vZGVzQm91bmRpbmdSZWN0KGZOb2Rlc1RvRHJhZylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RHJhZ2dlZE5vZGVzKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBGTm9kZUJhc2VbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZ2V0Tm9kZXNGcm9tU2VsZWN0aW9uKCk7XG4gICAgaWYgKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pIHtcbiAgICAgIHJlc3VsdC5wdXNoKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZXNGcm9tU2VsZWN0aW9uKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXNcbiAgICAgIC5tYXAoKHgpID0+IHRoaXMuX2ZpbmROb2RlKHguaG9zdEVsZW1lbnQpKVxuICAgICAgLmZpbHRlcigoeCk6IHggaXMgRk5vZGVCYXNlID0+ICEheCk7XG4gIH1cblxuICBwcml2YXRlIF9maW5kTm9kZShob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mTm9kZXNcbiAgICAgIC5maW5kKG4gPT4gbi5pc0NvbnRhaW5zKGhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc1RvRHJhZ1dpdGhDb21tb25MaW1pdHMoZkRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIGZEcmFnZ2VkTm9kZXMucmVkdWNlKChyZXN1bHQ6IEZOb2RlQmFzZVtdLCB4OiBGTm9kZUJhc2UpID0+IHtcbiAgICAgIHJlc3VsdC5wdXNoKHgpO1xuICAgICAgcmV0dXJuIHJlc3VsdC5jb25jYXQodGhpcy5fZ2V0Q2hpbGRyZW5Ob2Rlcyh4LmZJZCkpO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVzTW92ZUxpbWl0cyhmTm9kZXM6IEZOb2RlQmFzZVtdLCBmUGFyZW50Tm9kZXM6IEZOb2RlQmFzZVtdLCBmRHJhZ2dlZE5vZGVzOiBGTm9kZUJhc2VbXSk6IElOb2RlTW92ZUxpbWl0c0FuZFBvc2l0aW9uW10ge1xuICAgIHJldHVybiBmRHJhZ2dlZE5vZGVzLm1hcCgoeCkgPT4ge1xuICAgICAgY29uc3QgZlBhcmVudE5vZGVzID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QoeCkpO1xuICAgICAgcmV0dXJuIHsgcG9zaXRpb246IHgucG9zaXRpb24sIC4uLnRoaXMuX2dldE5vZGVNb3ZlTGltaXRzKHgsIGZQYXJlbnROb2RlcywgZkRyYWdnZWROb2RlcykgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVNb3ZlTGltaXRzKGZOb2RlOiBGTm9kZUJhc2UsIGZQYXJlbnROb2RlczogRk5vZGVCYXNlW10sIGZEcmFnZ2VkTm9kZXM6IEZOb2RlQmFzZVtdKTogSU5vZGVNb3ZlTGltaXRzIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SU1pbk1heFBvaW50PihcbiAgICAgIG5ldyBDYWxjdWxhdGVOb2RlTW92ZUxpbWl0c1JlcXVlc3QoZk5vZGUsIHRoaXMuX2lzUGFyZW50Tm9kZUluQXJyYXkoZlBhcmVudE5vZGVzLCBmRHJhZ2dlZE5vZGVzKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNQYXJlbnROb2RlSW5BcnJheShmUGFyZW50Tm9kZXM6IEZOb2RlQmFzZVtdLCBmRHJhZ2dlZE5vZGVzOiBGTm9kZUJhc2VbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxib29sZWFuPihuZXcgSXNBcnJheUhhc1BhcmVudE5vZGVSZXF1ZXN0KGZQYXJlbnROb2RlcywgZkRyYWdnZWROb2RlcykpXG4gIH1cblxuICBwcml2YXRlIF9nZXRDaGlsZHJlbk5vZGVzKGZJZDogc3RyaW5nKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxGTm9kZUJhc2VbXT4obmV3IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdChmSWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUNvbW1vbkxpbWl0cyhsaW1pdHM6IElOb2RlTW92ZUxpbWl0c0FuZFBvc2l0aW9uW10pOiBJTWluTWF4UG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJTWluTWF4UG9pbnQ+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbW1vbk5vZGVNb3ZlTGltaXRzUmVxdWVzdChsaW1pdHMpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEFsbE91dHB1dElkcyhmTm9kZXM6IEZOb2RlQmFzZVtdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmbGF0TWFwKGZOb2RlcywgKGZOb2RlKSA9PiB0aGlzLl9nZXROb2RlT3V0cHV0SWRzKGZOb2RlKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlT3V0cHV0SWRzKGZOb2RlOiBGTm9kZUJhc2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmlsdGVyKCh4KSA9PiBmTm9kZS5mSWQgPT09IHguZk5vZGVJZClcbiAgICAgIC5tYXAoKHgpID0+IHguZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEFsbElucHV0SWRzKGZOb2RlczogRk5vZGVCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAoZk5vZGVzLCAoZk5vZGUpID0+IHRoaXMuX2dldE5vZGVJbnB1dElkcyhmTm9kZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZUlucHV0SWRzKGZOb2RlOiBGTm9kZUJhc2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maWx0ZXIoKHgpID0+IGZOb2RlLmZJZCA9PT0geC5mTm9kZUlkKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWFwVG9Ob2RlRHJhZ0hhbmRsZXJzKGl0ZW1zOiBGTm9kZUJhc2VbXSk6IEZOb2RlTW92ZURyYWdIYW5kbGVyW10ge1xuICAgIHJldHVybiBpdGVtcy5tYXAoKHgpID0+IG5ldyBGTm9kZU1vdmVEcmFnSGFuZGxlcih4KSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRDb25uZWN0aW9uc0hhbmRsZXJzVG9Ob2RlcyhcbiAgICBoYW5kbGVyczogRk5vZGVNb3ZlRHJhZ0hhbmRsZXJbXSwgb3V0cHV0SWRzOiBzdHJpbmdbXSwgaW5wdXRJZHM6IHN0cmluZ1tdXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGZDb25uZWN0aW9uSGFuZGxlcnM6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXSA9IFtdO1xuICAgIGhhbmRsZXJzLmZvckVhY2goKGZOb2RlSGFuZGxlcikgPT4ge1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KGZOb2RlSGFuZGxlciwgaW5wdXRJZHMsIGZDb25uZWN0aW9uSGFuZGxlcnMpKTtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KGZOb2RlSGFuZGxlciwgb3V0cHV0SWRzLCBmQ29ubmVjdGlvbkhhbmRsZXJzKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXREcmFnZ2VkTm9kZXNCb3VuZGluZ1JlY3QoZk5vZGVzOiBGTm9kZUJhc2VbXSk6IElSZWN0IHtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMudW5pb24oZk5vZGVzLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCh4Lmhvc3RFbGVtZW50LCBmYWxzZSkpO1xuICAgIH0pKSB8fCBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { inject, Injectable } from '@angular/core';
2
+ import { inject, Injectable, Injector } from '@angular/core';
3
3
  import { PutInputConnectionHandlersToArrayRequest } from './put-input-connection-handlers-to-array.request';
4
4
  import { FComponentsStore } from '../../../../../f-storage';
5
5
  import { FExecutionRegister } from '@foblex/mediator';
@@ -8,6 +8,7 @@ import { TargetConnectionDragHandler } from '../../../connection-drag-handlers/t
8
8
  import * as i0 from "@angular/core";
9
9
  let PutInputConnectionHandlersToArrayExecution = class PutInputConnectionHandlersToArrayExecution {
10
10
  _fComponentsStore = inject(FComponentsStore);
11
+ _injector = inject(Injector);
11
12
  get _fConnections() {
12
13
  return this._fComponentsStore.fConnections;
13
14
  }
@@ -39,10 +40,10 @@ let PutInputConnectionHandlersToArrayExecution = class PutInputConnectionHandler
39
40
  _createConnectionHandler(outputIds, fConnection) {
40
41
  let result;
41
42
  if (outputIds.includes(fConnection.fOutputId)) {
42
- result = new SourceTargetConnectionDragHandler(fConnection);
43
+ result = new SourceTargetConnectionDragHandler(this._injector, fConnection);
43
44
  }
44
45
  else {
45
- result = new TargetConnectionDragHandler(fConnection);
46
+ result = new TargetConnectionDragHandler(this._injector, fConnection);
46
47
  }
47
48
  return result;
48
49
  }
@@ -56,4 +57,4 @@ export { PutInputConnectionHandlersToArrayExecution };
56
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PutInputConnectionHandlersToArrayExecution, decorators: [{
57
58
  type: Injectable
58
59
  }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBSWxFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzVILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDOztBQUl4RyxJQUFNLDBDQUEwQyxHQUFoRCxNQUFNLDBDQUEwQztJQUc3QyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVyRCxJQUFZLGFBQWE7UUFDdkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBaUQ7UUFDN0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFnQjtRQUMzQyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFnQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPO2FBQ2xDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDOUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVPLG9DQUFvQyxDQUFDLFdBQTRCLEVBQUUsT0FBaUQ7UUFDMUgsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3pFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLDZCQUE2QixDQUFDLFNBQXNDLEVBQUUsV0FBNEI7UUFDeEcsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsS0FBSyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLHdCQUF3QixDQUFDLFNBQW1CLEVBQUUsV0FBNEI7UUFDaEYsSUFBSSxNQUE2QyxDQUFDO1FBQ2xELElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxNQUFNLEdBQUcsSUFBSSxpQ0FBaUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxJQUFJLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO3VHQS9DVSwwQ0FBMEM7MkdBQTFDLDBDQUEwQzs7QUFBMUMsMENBQTBDO0lBRHRELGtCQUFrQixDQUFDLHdDQUF3QyxDQUFDO0dBQ2hELDBDQUEwQyxDQWdEdEQ7OzJGQWhEWSwwQ0FBMEM7a0JBRnRELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QgfSBmcm9tICcuL3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LnJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycy9iYXNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IFNvdXJjZVRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycy9zb3VyY2UtdGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IFRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycy90YXJnZXQtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBfZkNvbm5lY3Rpb25zKCk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLl9nZXRJbnB1dENvbm5lY3Rpb25zKHJlcXVlc3QuZkRyYWdIYW5kbGVyLmZOb2RlKS5mb3JFYWNoKChmQ29ubmVjdGlvbikgPT4ge1xuICAgICAgdGhpcy5fY3JlYXRlQW5kU2V0Q29ubmVjdGlvblRvTm9kZUhhbmRsZXIoZkNvbm5lY3Rpb24sIHJlcXVlc3QpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SW5wdXRDb25uZWN0aW9ucyhmTm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIGNvbnN0IGlkcyA9IG5ldyBTZXQodGhpcy5fZ2V0Tm9kZUlucHV0SWRzKGZOb2RlKSk7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IGlkcy5oYXMoeC5mSW5wdXRJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZUlucHV0SWRzKGZOb2RlOiBGTm9kZUJhc2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZklucHV0c1xuICAgICAgLmZpbHRlcigoeCkgPT4gZk5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSlcbiAgICAgIC5tYXAoKHgpID0+IHguZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUFuZFNldENvbm5lY3Rpb25Ub05vZGVIYW5kbGVyKGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsIHJlcXVlc3Q6IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QpOiB2b2lkIHtcbiAgICBsZXQgZkhhbmRsZXIgPSB0aGlzLl9nZXRFeGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVyKHJlcXVlc3QucmVzdWx0LCBmQ29ubmVjdGlvbik7XG4gICAgaWYgKCFmSGFuZGxlcikge1xuICAgICAgZkhhbmRsZXIgPSB0aGlzLl9jcmVhdGVDb25uZWN0aW9uSGFuZGxlcihyZXF1ZXN0Lm91dHB1dElkcywgZkNvbm5lY3Rpb24pO1xuICAgICAgcmVxdWVzdC5yZXN1bHQucHVzaChmSGFuZGxlcik7XG4gICAgfVxuICAgIHJlcXVlc3QuZkRyYWdIYW5kbGVyLmZUYXJnZXRIYW5kbGVycy5wdXNoKGZIYW5kbGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIoZkhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10sIGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZkhhbmRsZXJzLmZpbmQoKHgpID0+IHguZkNvbm5lY3Rpb24uZklkID09PSBmQ29ubmVjdGlvbi5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ29ubmVjdGlvbkhhbmRsZXIob3V0cHV0SWRzOiBzdHJpbmdbXSwgZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuICAgIGxldCByZXN1bHQ6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfCB1bmRlZmluZWQ7XG4gICAgaWYgKG91dHB1dElkcy5pbmNsdWRlcyhmQ29ubmVjdGlvbi5mT3V0cHV0SWQpKSB7XG4gICAgICByZXN1bHQgPSBuZXcgU291cmNlVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyKGZDb25uZWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gbmV3IFRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlcihmQ29ubmVjdGlvbik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM1RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUlsRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7QUFJeEcsSUFBTSwwQ0FBMEMsR0FBaEQsTUFBTSwwQ0FBMEM7SUFHcEMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDN0MsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU5QyxJQUFZLGFBQWE7UUFDdkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBaUQ7UUFDN0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFnQjtRQUMzQyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFnQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPO2FBQ2xDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDOUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVPLG9DQUFvQyxDQUFDLFdBQTRCLEVBQUUsT0FBaUQ7UUFDMUgsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3pFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLDZCQUE2QixDQUFDLFNBQXNDLEVBQUUsV0FBNEI7UUFDeEcsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsS0FBSyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLHdCQUF3QixDQUFDLFNBQW1CLEVBQUUsV0FBNEI7UUFDaEYsSUFBSSxNQUE2QyxDQUFDO1FBQ2xELElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxNQUFNLEdBQUcsSUFBSSxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxHQUFHLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt1R0FoRFUsMENBQTBDOzJHQUExQywwQ0FBMEM7O0FBQTFDLDBDQUEwQztJQUR0RCxrQkFBa0IsQ0FBQyx3Q0FBd0MsQ0FBQztHQUNoRCwwQ0FBMEMsQ0FpRHREOzsyRkFqRFksMENBQTBDO2tCQUZ0RCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCB9IGZyb20gJy4vcHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkucmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgU291cmNlVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL3NvdXJjZS10YXJnZXQtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL3RhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mQ29tcG9uZW50c1N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDb25uZWN0aW9ucygpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5fZ2V0SW5wdXRDb25uZWN0aW9ucyhyZXF1ZXN0LmZEcmFnSGFuZGxlci5mTm9kZSkuZm9yRWFjaCgoZkNvbm5lY3Rpb24pID0+IHtcbiAgICAgIHRoaXMuX2NyZWF0ZUFuZFNldENvbm5lY3Rpb25Ub05vZGVIYW5kbGVyKGZDb25uZWN0aW9uLCByZXF1ZXN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldElucHV0Q29ubmVjdGlvbnMoZk5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICBjb25zdCBpZHMgPSBuZXcgU2V0KHRoaXMuX2dldE5vZGVJbnB1dElkcyhmTm9kZSkpO1xuICAgIHJldHVybiB0aGlzLl9mQ29ubmVjdGlvbnMuZmlsdGVyKCh4KSA9PiBpZHMuaGFzKHguZklucHV0SWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVJbnB1dElkcyhmTm9kZTogRk5vZGVCYXNlKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHNcbiAgICAgIC5maWx0ZXIoKHgpID0+IGZOb2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpXG4gICAgICAubWFwKCh4KSA9PiB4LmZJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVBbmRTZXRDb25uZWN0aW9uVG9Ob2RlSGFuZGxlcihmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLCByZXF1ZXN0OiBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KTogdm9pZCB7XG4gICAgbGV0IGZIYW5kbGVyID0gdGhpcy5fZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcihyZXF1ZXN0LnJlc3VsdCwgZkNvbm5lY3Rpb24pO1xuICAgIGlmICghZkhhbmRsZXIpIHtcbiAgICAgIGZIYW5kbGVyID0gdGhpcy5fY3JlYXRlQ29ubmVjdGlvbkhhbmRsZXIocmVxdWVzdC5vdXRwdXRJZHMsIGZDb25uZWN0aW9uKTtcbiAgICAgIHJlcXVlc3QucmVzdWx0LnB1c2goZkhhbmRsZXIpO1xuICAgIH1cbiAgICByZXF1ZXN0LmZEcmFnSGFuZGxlci5mVGFyZ2V0SGFuZGxlcnMucHVzaChmSGFuZGxlcik7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFeGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVyKGZIYW5kbGVyczogQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlcltdLCBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKTogQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGZIYW5kbGVycy5maW5kKCh4KSA9PiB4LmZDb25uZWN0aW9uLmZJZCA9PT0gZkNvbm5lY3Rpb24uZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbm5lY3Rpb25IYW5kbGVyKG91dHB1dElkczogc3RyaW5nW10sIGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcbiAgICBsZXQgcmVzdWx0OiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHwgdW5kZWZpbmVkO1xuICAgIGlmIChvdXRwdXRJZHMuaW5jbHVkZXMoZkNvbm5lY3Rpb24uZk91dHB1dElkKSkge1xuICAgICAgcmVzdWx0ID0gbmV3IFNvdXJjZVRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlcih0aGlzLl9pbmplY3RvciwgZkNvbm5lY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBuZXcgVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyKHRoaXMuX2luamVjdG9yLCBmQ29ubmVjdGlvbik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuIl19