@foblex/flow 18.2.1 → 18.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/AI.md +69 -0
  2. package/README.md +40 -3
  3. package/STYLING.md +35 -0
  4. package/domain/f-connection/create-connection-markers/create-connection-markers.d.ts +3 -2
  5. package/domain/f-connection/index.d.ts +1 -0
  6. package/domain/f-connection/providers.d.ts +2 -1
  7. package/domain/f-connection/redraw-connections/redraw-connections.d.ts +3 -0
  8. package/domain/f-connection/resolve-connection-endpoint-rotation-context/index.d.ts +2 -0
  9. package/domain/f-connection/resolve-connection-endpoint-rotation-context/resolve-connection-endpoint-rotation-context-request.d.ts +8 -0
  10. package/domain/f-connection/resolve-connection-endpoint-rotation-context/resolve-connection-endpoint-rotation-context.d.ts +10 -0
  11. package/domain/f-draggable/on-pointer-move/on-pointer-move-request.d.ts +1 -1
  12. package/domain/f-draggable/on-pointer-move/on-pointer-move.d.ts +1 -0
  13. package/domain/get-normalized-connector-rect/get-normalized-connector-rect.d.ts +8 -0
  14. package/domain/providers.d.ts +1 -1
  15. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.mjs +33 -6
  16. package/esm2022/domain/f-connection/index.mjs +2 -1
  17. package/esm2022/domain/f-connection/providers.mjs +3 -1
  18. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +51 -4
  19. package/esm2022/domain/f-connection/resolve-connection-endpoint-rotation-context/index.mjs +3 -0
  20. package/esm2022/domain/f-connection/resolve-connection-endpoint-rotation-context/resolve-connection-endpoint-rotation-context-request.mjs +8 -0
  21. package/esm2022/domain/f-connection/resolve-connection-endpoint-rotation-context/resolve-connection-endpoint-rotation-context.mjs +35 -0
  22. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move-request.mjs +1 -1
  23. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.mjs +6 -2
  24. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.mjs +33 -3
  25. package/esm2022/f-auto-pan/f-auto-pan-base.mjs +11 -0
  26. package/esm2022/f-auto-pan/f-auto-pan.mjs +38 -0
  27. package/esm2022/f-auto-pan/index.mjs +4 -0
  28. package/esm2022/f-auto-pan/providers.mjs +3 -0
  29. package/esm2022/f-canvas/f-canvas.component.mjs +2 -2
  30. package/esm2022/f-connection/f-connection/f-connection.component.mjs +6 -6
  31. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +6 -7
  32. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +6 -7
  33. package/esm2022/f-connection/providers.mjs +8 -4
  34. package/esm2022/f-connection-v2/components/connection-content/f-connection-content.mjs +18 -4
  35. package/esm2022/f-connection-v2/components/connection-gradient/components/index.mjs +2 -0
  36. package/esm2022/f-connection-v2/components/connection-gradient/components/render/f-connection-gradient-renderer.mjs +17 -0
  37. package/esm2022/f-connection-v2/components/connection-gradient/components/render/index.mjs +3 -0
  38. package/esm2022/f-connection-v2/components/connection-gradient/components/render/models/f-connection-gradient-renderer-base.mjs +81 -0
  39. package/esm2022/f-connection-v2/components/connection-gradient/components/render/models/index.mjs +2 -0
  40. package/esm2022/f-connection-v2/components/connection-gradient/f-connection-gradient.mjs +14 -46
  41. package/esm2022/f-connection-v2/components/connection-gradient/index.mjs +2 -1
  42. package/esm2022/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.mjs +2 -3
  43. package/esm2022/f-connection-v2/components/connection-path/f-connection-path.mjs +11 -7
  44. package/esm2022/f-connection-v2/components/f-connection-base.mjs +13 -9
  45. package/esm2022/f-connection-v2/models/f-connection-components-parent.mjs +1 -1
  46. package/esm2022/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder-request.mjs +6 -2
  47. package/esm2022/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder.mjs +3 -1
  48. package/esm2022/f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.mjs +1 -1
  49. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/floating-behavior.mjs +8 -8
  50. package/esm2022/f-connection-v2/utils/connection-behaviour/utils/get-rotated-rounded-rect-intersection.mjs +35 -0
  51. package/esm2022/f-connection-v2/utils/create-gradient-dom-identifier.mjs +3 -3
  52. package/esm2022/f-connection-v2/utils/create-gradient-dom-url.mjs +3 -3
  53. package/esm2022/f-connection-worker/features/calculate-connection-worker-payload-item/calculate-connection-worker-payload-item.mjs +13 -1
  54. package/esm2022/f-connection-worker/features/ensure-connection-worker/ensure-connection-worker.mjs +11 -4
  55. package/esm2022/f-connection-worker/features/is-connection-worker-enabled/is-connection-worker-enabled.mjs +3 -2
  56. package/esm2022/f-connection-worker/model/f-connection-worker.mjs +5 -1
  57. package/esm2022/f-connection-worker/model/i-f-connection-worker-rect.mjs +1 -1
  58. package/esm2022/f-connection-worker/model/i-f-connection-worker-request-item.mjs +1 -1
  59. package/esm2022/f-connection-worker/worker/connection-worker-runtime.mjs +247 -0
  60. package/esm2022/f-draggable/auto-pan/auto-pan.utils.mjs +58 -0
  61. package/esm2022/f-draggable/auto-pan/index.mjs +7 -0
  62. package/esm2022/f-draggable/auto-pan/providers.mjs +5 -0
  63. package/esm2022/f-draggable/auto-pan/run-auto-pan-frame/index.mjs +3 -0
  64. package/esm2022/f-draggable/auto-pan/run-auto-pan-frame/run-auto-pan-frame-request.mjs +4 -0
  65. package/esm2022/f-draggable/auto-pan/run-auto-pan-frame/run-auto-pan-frame.mjs +97 -0
  66. package/esm2022/f-draggable/auto-pan/stop-auto-pan/index.mjs +3 -0
  67. package/esm2022/f-draggable/auto-pan/stop-auto-pan/stop-auto-pan-request.mjs +4 -0
  68. package/esm2022/f-draggable/auto-pan/stop-auto-pan/stop-auto-pan.mjs +32 -0
  69. package/esm2022/f-draggable/auto-pan/stored-pointer-event.mjs +25 -0
  70. package/esm2022/f-draggable/auto-pan/sync-auto-pan/index.mjs +3 -0
  71. package/esm2022/f-draggable/auto-pan/sync-auto-pan/sync-auto-pan-request.mjs +4 -0
  72. package/esm2022/f-draggable/auto-pan/sync-auto-pan/sync-auto-pan.mjs +75 -0
  73. package/esm2022/f-draggable/connection/create-connection/create-connection-handler/create-connection-handler.mjs +7 -4
  74. package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-handler/reassign-connection-source-handler.mjs +7 -4
  75. package/esm2022/f-draggable/connection/reassign-connection/reassign-connection-handler/reassign-connection-target-handler.mjs +7 -4
  76. package/esm2022/f-draggable/drag-canvas/drag-canvas-handler/drag-canvas-handler.mjs +6 -3
  77. package/esm2022/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-handler-base.mjs +6 -3
  78. package/esm2022/f-draggable/f-draggable-data-context.mjs +14 -1
  79. package/esm2022/f-draggable/f-draggable.directive.mjs +4 -1
  80. package/esm2022/f-draggable/index.mjs +2 -1
  81. package/esm2022/f-draggable/providers.mjs +3 -1
  82. package/esm2022/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/resize-node-connection-handler-base.mjs +6 -3
  83. package/esm2022/f-flow/f-flow.component.mjs +2 -2
  84. package/esm2022/f-flow.module.mjs +31 -26
  85. package/esm2022/f-storage/f-components-store.mjs +3 -1
  86. package/esm2022/f-zoom/f-zoom.directive.mjs +9 -11
  87. package/esm2022/f-zoom/wheel-zoom.utils.mjs +34 -0
  88. package/esm2022/public-api.mjs +2 -1
  89. package/f-auto-pan/f-auto-pan-base.d.ts +11 -0
  90. package/f-auto-pan/f-auto-pan.d.ts +13 -0
  91. package/f-auto-pan/index.d.ts +3 -0
  92. package/f-auto-pan/providers.d.ts +2 -0
  93. package/f-connection/f-connection/f-connection.component.d.ts +1 -1
  94. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
  95. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +1 -1
  96. package/f-connection/providers.d.ts +3 -3
  97. package/f-connection-v2/components/connection-gradient/components/index.d.ts +1 -0
  98. package/f-connection-v2/components/connection-gradient/components/render/f-connection-gradient-renderer.d.ts +8 -0
  99. package/f-connection-v2/components/connection-gradient/components/render/index.d.ts +2 -0
  100. package/f-connection-v2/components/connection-gradient/components/render/models/f-connection-gradient-renderer-base.d.ts +25 -0
  101. package/f-connection-v2/components/connection-gradient/components/render/models/index.d.ts +1 -0
  102. package/f-connection-v2/components/connection-gradient/f-connection-gradient.d.ts +3 -11
  103. package/f-connection-v2/components/connection-gradient/index.d.ts +1 -0
  104. package/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.d.ts +3 -5
  105. package/f-connection-v2/components/connection-path/f-connection-path.d.ts +3 -2
  106. package/f-connection-v2/components/f-connection-base.d.ts +7 -4
  107. package/f-connection-v2/models/f-connection-components-parent.d.ts +0 -2
  108. package/f-connection-v2/utils/connection-behaviour/connection-behaviour-builder-request.d.ts +4 -1
  109. package/f-connection-v2/utils/connection-behaviour/models/i-calculate-behavior-request.d.ts +7 -1
  110. package/f-connection-v2/utils/connection-behaviour/utils/floating-behavior.d.ts +1 -1
  111. package/f-connection-v2/utils/connection-behaviour/utils/get-rotated-rounded-rect-intersection.d.ts +3 -0
  112. package/f-connection-v2/utils/create-gradient-dom-identifier.d.ts +1 -1
  113. package/f-connection-v2/utils/create-gradient-dom-url.d.ts +1 -1
  114. package/f-connection-worker/features/calculate-connection-worker-payload-item/calculate-connection-worker-payload-item.d.ts +1 -0
  115. package/f-connection-worker/model/f-connection-worker.d.ts +1 -0
  116. package/f-connection-worker/model/i-f-connection-worker-rect.d.ts +4 -0
  117. package/f-connection-worker/model/i-f-connection-worker-request-item.d.ts +2 -0
  118. package/f-connection-worker/worker/connection-worker-runtime.d.ts +11 -0
  119. package/f-draggable/auto-pan/auto-pan.utils.d.ts +6 -0
  120. package/f-draggable/auto-pan/index.d.ts +6 -0
  121. package/f-draggable/auto-pan/providers.d.ts +4 -0
  122. package/f-draggable/auto-pan/run-auto-pan-frame/index.d.ts +2 -0
  123. package/f-draggable/auto-pan/run-auto-pan-frame/run-auto-pan-frame-request.d.ts +3 -0
  124. package/f-draggable/auto-pan/run-auto-pan-frame/run-auto-pan-frame.d.ts +21 -0
  125. package/f-draggable/auto-pan/stop-auto-pan/index.d.ts +2 -0
  126. package/f-draggable/auto-pan/stop-auto-pan/stop-auto-pan-request.d.ts +3 -0
  127. package/f-draggable/auto-pan/stop-auto-pan/stop-auto-pan.d.ts +10 -0
  128. package/f-draggable/auto-pan/stored-pointer-event.d.ts +12 -0
  129. package/f-draggable/auto-pan/sync-auto-pan/index.d.ts +2 -0
  130. package/f-draggable/auto-pan/sync-auto-pan/sync-auto-pan-request.d.ts +3 -0
  131. package/f-draggable/auto-pan/sync-auto-pan/sync-auto-pan.d.ts +19 -0
  132. package/f-draggable/connection/create-connection/create-connection-handler/create-connection-handler.d.ts +1 -0
  133. package/f-draggable/connection/reassign-connection/reassign-connection-handler/reassign-connection-source-handler.d.ts +1 -0
  134. package/f-draggable/connection/reassign-connection/reassign-connection-handler/reassign-connection-target-handler.d.ts +1 -0
  135. package/f-draggable/drag-node/drag-node-dependent-connection-handlers/drag-node-connection-handler-base.d.ts +1 -0
  136. package/f-draggable/f-draggable-data-context.d.ts +7 -1
  137. package/f-draggable/index.d.ts +1 -0
  138. package/f-draggable/providers.d.ts +1 -1
  139. package/f-draggable/resize-node/resize-node-handler/resize-node-dependent-connection-handlers/resize-node-connection-handler-base.d.ts +1 -0
  140. package/f-flow.module.d.ts +29 -27
  141. package/f-storage/f-components-store.d.ts +2 -0
  142. package/f-zoom/f-zoom.directive.d.ts +0 -1
  143. package/f-zoom/wheel-zoom.utils.d.ts +3 -0
  144. package/fesm2022/foblex-flow.mjs +8048 -7134
  145. package/fesm2022/foblex-flow.mjs.map +1 -1
  146. package/package.json +7 -7
  147. package/public-api.d.ts +1 -0
  148. package/schematics/ng-add/index.js +63 -2
  149. package/schematics/ng-add/index.js.map +1 -1
  150. package/schematics/shared/foblex-dependencies.js +1 -1
  151. package/styles/_index.scss +31 -0
  152. package/styles/default.scss +4 -0
  153. package/styles/domains/_connection.scss +175 -0
  154. package/styles/domains/_connector.scss +150 -0
  155. package/styles/domains/_external-item.scss +44 -0
  156. package/styles/domains/_flow-canvas.scss +41 -0
  157. package/styles/domains/_node-group.scss +230 -0
  158. package/styles/domains/_plugins.scss +100 -0
  159. package/styles/tokens/_ff-aliases.scss +117 -0
  160. package/styles/tokens/_primitive.scss +86 -0
  161. package/styles/tokens/_semantic.scss +131 -0
@@ -1,54 +1,22 @@
1
- import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
2
- import { Point } from '@foblex/2d';
1
+ import { Component, input } from '@angular/core';
3
2
  import { F_CONNECTION_GRADIENT, FConnectionGradientBase } from './models';
4
- import { F_CONNECTION_COMPONENTS_PARENT } from '../../models';
5
- import { createGradientDomIdentifier } from '../../utils';
6
3
  import * as i0 from "@angular/core";
7
4
  export class FConnectionGradient extends FConnectionGradientBase {
8
- _connection = inject(F_CONNECTION_COMPONENTS_PARENT);
9
- get gradientId() {
10
- return createGradientDomIdentifier(this._connection.fId(), this._connection.fOutputId(), this._connection.fInputId());
11
- }
12
- get stop1Element() {
13
- return this.hostElement.children.item(0);
14
- }
15
- get stop2Element() {
16
- return this.hostElement.children.item(1);
17
- }
18
- initialize() {
19
- this.stop1Element.setAttribute('offset', '0%');
20
- this.stop2Element.setAttribute('offset', '100%');
21
- }
22
- _updateGradient() {
23
- this._setFromColor(this._connection.fStartColor());
24
- this._setToColor(this._connection.fEndColor());
25
- }
26
- _setFromColor(color) {
27
- this.stop1Element.setAttribute('stop-color', color || 'transparent');
28
- }
29
- _setToColor(color) {
30
- this.stop2Element.setAttribute('stop-color', color || 'transparent');
31
- }
32
- redraw(line) {
33
- const x = line.point2.x - line.point1.x;
34
- const y = line.point2.y - line.point1.y;
35
- const distance = Math.sqrt(x * x + y * y) || 0.01;
36
- const from = new Point(0.5 - (0.5 * x) / distance, 0.5 - (0.5 * y) / distance);
37
- this.hostElement.setAttribute('x1', from.x.toString());
38
- this.hostElement.setAttribute('y1', from.y.toString());
39
- const to = new Point(0.5 + (0.5 * x) / distance, 0.5 + (0.5 * y) / distance);
40
- this.hostElement.setAttribute('x2', to.x.toString());
41
- this.hostElement.setAttribute('y2', to.y.toString());
42
- this._updateGradient();
43
- }
5
+ fStartColor = input.required();
6
+ fEndColor = input.required();
44
7
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradient, deps: null, target: i0.ɵɵFactoryTarget.Component });
45
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FConnectionGradient, selector: "linearGradient[fConnectionGradient]", host: { properties: { "attr.id": "gradientId" }, classAttribute: "f-component f-connection-gradient" }, providers: [{ provide: F_CONNECTION_GRADIENT, useExisting: FConnectionGradient }], usesInheritance: true, ngImport: i0, template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:stop />\n <svg:stop />\n</ng-container>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FConnectionGradient, isStandalone: true, selector: "f-connection-gradient", inputs: { fStartColor: { classPropertyName: "fStartColor", publicName: "fStartColor", isSignal: true, isRequired: true, transformFunction: null }, fEndColor: { classPropertyName: "fEndColor", publicName: "fEndColor", isSignal: true, isRequired: true, transformFunction: null } }, host: { styleAttribute: "display: none;" }, providers: [{ provide: F_CONNECTION_GRADIENT, useExisting: FConnectionGradient }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
46
9
  }
47
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradient, decorators: [{
48
11
  type: Component,
49
- args: [{ selector: 'linearGradient[fConnectionGradient]', changeDetection: ChangeDetectionStrategy.OnPush, host: {
50
- class: 'f-component f-connection-gradient',
51
- '[attr.id]': 'gradientId',
52
- }, providers: [{ provide: F_CONNECTION_GRADIENT, useExisting: FConnectionGradient }], template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:stop />\n <svg:stop />\n</ng-container>\n" }]
12
+ args: [{
13
+ selector: 'f-connection-gradient',
14
+ template: '',
15
+ standalone: true,
16
+ host: {
17
+ style: 'display: none;',
18
+ },
19
+ providers: [{ provide: F_CONNECTION_GRADIENT, useExisting: FConnectionGradient }],
20
+ }]
53
21
  }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWdyYWRpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24tdjIvY29tcG9uZW50cy9jb25uZWN0aW9uLWdyYWRpZW50L2YtY29ubmVjdGlvbi1ncmFkaWVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uLXYyL2NvbXBvbmVudHMvY29ubmVjdGlvbi1ncmFkaWVudC9mLWNvbm5lY3Rpb24tZ3JhZGllbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQVMsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVkxRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsdUJBQXVCO0lBQzdDLFdBQVcsR0FBRyxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUV0RSxJQUFXLFVBQVU7UUFDbkIsT0FBTywyQkFBMkIsQ0FDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsRUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsRUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFtQixDQUFDO0lBQzdELENB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cUIsRUFBRSxXQUFXLHFCQUFxQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMaW5lLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0dSQURJRU5ULCBGQ29ubmVjdGlvbkdyYWRpZW50QmFzZSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTl9DT01QT05FTlRTX1BBUkVOVCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBjcmVhdGVHcmFkaWVudERvbUlkZW50aWZpZXIgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpbmVhckdyYWRpZW50W2ZDb25uZWN0aW9uR3JhZGllbnRdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtY29ubmVjdGlvbi1ncmFkaWVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2YtY29tcG9uZW50IGYtY29ubmVjdGlvbi1ncmFkaWVudCcsXG4gICAgJ1thdHRyLmlkXSc6ICdncmFkaWVudElkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBGX0NPTk5FQ1RJT05fR1JBRElFTlQsIHVzZUV4aXN0aW5nOiBGQ29ubmVjdGlvbkdyYWRpZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkdyYWRpZW50IGV4dGVuZHMgRkNvbm5lY3Rpb25HcmFkaWVudEJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb25uZWN0aW9uID0gaW5qZWN0KEZfQ09OTkVDVElPTl9DT01QT05FTlRTX1BBUkVOVCk7XG5cbiAgcHVibGljIGdldCBncmFkaWVudElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNyZWF0ZUdyYWRpZW50RG9tSWRlbnRpZmllcihcbiAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZklkKCksXG4gICAgICB0aGlzLl9jb25uZWN0aW9uLmZPdXRwdXRJZCgpLFxuICAgICAgdGhpcy5fY29ubmVjdGlvbi5mSW5wdXRJZCgpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0b3AxRWxlbWVudCgpOiBTVkdTdG9wRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQuY2hpbGRyZW4uaXRlbSgwKSBhcyBTVkdTdG9wRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RvcDJFbGVtZW50KCk6IFNWR1N0b3BFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5ob3N0RWxlbWVudC5jaGlsZHJlbi5pdGVtKDEpIGFzIFNWR1N0b3BFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wMUVsZW1lbnQuc2V0QXR0cmlidXRlKCdvZmZzZXQnLCAnMCUnKTtcbiAgICB0aGlzLnN0b3AyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ29mZnNldCcsICcxMDAlJyk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVHcmFkaWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXRGcm9tQ29sb3IodGhpcy5fY29ubmVjdGlvbi5mU3RhcnRDb2xvcigpKTtcbiAgICB0aGlzLl9zZXRUb0NvbG9yKHRoaXMuX2Nvbm5lY3Rpb24uZkVuZENvbG9yKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0RnJvbUNvbG9yKGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AxRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0b3AtY29sb3InLCBjb2xvciB8fCAndHJhbnNwYXJlbnQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFRvQ29sb3IoY29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcDJFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3RvcC1jb2xvcicsIGNvbG9yIHx8ICd0cmFuc3BhcmVudCcpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlZHJhdyhsaW5lOiBJTGluZSk6IHZvaWQge1xuICAgIGNvbnN0IHg6IG51bWJlciA9IGxpbmUucG9pbnQyLnggLSBsaW5lLnBvaW50MS54O1xuICAgIGNvbnN0IHk6IG51bWJlciA9IGxpbmUucG9pbnQyLnkgLSBsaW5lLnBvaW50MS55O1xuICAgIGNvbnN0IGRpc3RhbmNlOiBudW1iZXIgPSBNYXRoLnNxcnQoeCAqIHggKyB5ICogeSkgfHwgMC4wMTtcblxuICAgIGNvbnN0IGZyb20gPSBuZXcgUG9pbnQoMC41IC0gKDAuNSAqIHgpIC8gZGlzdGFuY2UsIDAuNSAtICgwLjUgKiB5KSAvIGRpc3RhbmNlKTtcblxuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd4MScsIGZyb20ueC50b1N0cmluZygpKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgneTEnLCBmcm9tLnkudG9TdHJpbmcoKSk7XG5cbiAgICBjb25zdCB0byA9IG5ldyBQb2ludCgwLjUgKyAoMC41ICogeCkgLyBkaXN0YW5jZSwgMC41ICsgKDAuNSAqIHkpIC8gZGlzdGFuY2UpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd4MicsIHRvLngudG9TdHJpbmcoKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3kyJywgdG8ueS50b1N0cmluZygpKTtcbiAgICB0aGlzLl91cGRhdGVHcmFkaWVudCgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIHhtbG5zOnN2Zz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxzdmc6c3RvcCAvPlxuICA8c3ZnOnN0b3AgLz5cbjwvbmctY29udGFpbmVyPlxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWdyYWRpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24tdjIvY29tcG9uZW50cy9jb25uZWN0aW9uLWdyYWRpZW50L2YtY29ubmVjdGlvbi1ncmFkaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBVzFFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBdUI7SUFDckMsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUN2QyxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO3dHQUZuRCxtQkFBbUI7NEZBQW5CLG1CQUFtQix3WUFGbkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxpREFMdkUsRUFBRTs7NEZBT0QsbUJBQW1CO2tCQVQvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxFQUFFO29CQUNaLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLGdCQUFnQjtxQkFDeEI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxxQkFBcUIsRUFBRSxDQUFDO2lCQUNsRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTl9HUkFESUVOVCwgRkNvbm5lY3Rpb25HcmFkaWVudEJhc2UgfSBmcm9tICcuL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtY29ubmVjdGlvbi1ncmFkaWVudCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIHN0eWxlOiAnZGlzcGxheTogbm9uZTsnLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfQ09OTkVDVElPTl9HUkFESUVOVCwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uR3JhZGllbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uR3JhZGllbnQgZXh0ZW5kcyBGQ29ubmVjdGlvbkdyYWRpZW50QmFzZSB7XG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmU3RhcnRDb2xvciA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZFbmRDb2xvciA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ export * from './components';
1
2
  export * from './models';
2
3
  export * from './f-connection-gradient';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi9jb21wb25lbnRzL2Nvbm5lY3Rpb24tZ3JhZGllbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0aW9uLWdyYWRpZW50JztcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi9jb21wb25lbnRzL2Nvbm5lY3Rpb24tZ3JhZGllbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2YtY29ubmVjdGlvbi1ncmFkaWVudCc7XG4iXX0=
@@ -1,6 +1,5 @@
1
- import { ElementRef, inject, InjectionToken } from '@angular/core';
1
+ import { InjectionToken } from '@angular/core';
2
2
  export const F_CONNECTION_GRADIENT = new InjectionToken('F_CONNECTION_GRADIENT');
3
3
  export class FConnectionGradientBase {
4
- hostElement = inject((ElementRef)).nativeElement;
5
4
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWdyYWRpZW50LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi9jb21wb25lbnRzL2Nvbm5lY3Rpb24tZ3JhZGllbnQvbW9kZWxzL2YtY29ubmVjdGlvbi1ncmFkaWVudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FDckQsdUJBQXVCLENBQ3hCLENBQUM7QUFFRixNQUFNLE9BQWdCLHVCQUF1QjtJQUMzQixXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBb0MsQ0FBQSxDQUFDLENBQUMsYUFBYSxDQUFDO0NBSzFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEZfQ09OTkVDVElPTl9HUkFESUVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGQ29ubmVjdGlvbkdyYWRpZW50QmFzZT4oXG4gICdGX0NPTk5FQ1RJT05fR1JBRElFTlQnLFxuKTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZDb25uZWN0aW9uR3JhZGllbnRCYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWY8U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50PikubmF0aXZlRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgaW5pdGlhbGl6ZSgpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWRyYXcobGluZTogSUxpbmUpOiB2b2lkO1xufVxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWdyYWRpZW50LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi9jb21wb25lbnRzL2Nvbm5lY3Rpb24tZ3JhZGllbnQvbW9kZWxzL2YtY29ubmVjdGlvbi1ncmFkaWVudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFdkQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQ3JELHVCQUF1QixDQUN4QixDQUFDO0FBRUYsTUFBTSxPQUFnQix1QkFBdUI7Q0FHNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBGX0NPTk5FQ1RJT05fR1JBRElFTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48RkNvbm5lY3Rpb25HcmFkaWVudEJhc2U+KFxuICAnRl9DT05ORUNUSU9OX0dSQURJRU5UJyxcbik7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ29ubmVjdGlvbkdyYWRpZW50QmFzZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCBmU3RhcnRDb2xvcjogU2lnbmFsPHN0cmluZz47XG4gIHB1YmxpYyBhYnN0cmFjdCBmRW5kQ29sb3I6IFNpZ25hbDxzdHJpbmc+O1xufVxuIl19
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';
2
2
  import { normalizeDomElementId } from '@foblex/utils';
3
3
  import { F_CONNECTION_PATH, FConnectionPathBase } from './models';
4
4
  import { createConnectionDomIdentifier, createGradientDomUrl } from '../../utils';
@@ -6,12 +6,16 @@ import { F_CONNECTION_COMPONENTS_PARENT } from '../../models';
6
6
  import * as i0 from "@angular/core";
7
7
  export class FConnectionPath extends FConnectionPathBase {
8
8
  _connection = inject(F_CONNECTION_COMPONENTS_PARENT);
9
+ useGradient = input(false);
10
+ linkToGradient = computed(() => {
11
+ if (!this.useGradient()) {
12
+ return null;
13
+ }
14
+ return createGradientDomUrl(this._connection.fId());
15
+ });
9
16
  get fPathId() {
10
17
  return this._connection.fId();
11
18
  }
12
- get linkToGradient() {
13
- return createGradientDomUrl(this._connection.fId(), this._connection.fOutputId(), this._connection.fInputId());
14
- }
15
19
  get attrConnectionId() {
16
20
  return createConnectionDomIdentifier(this._connection.fId(), this._connection.fOutputId(), this._connection.fInputId());
17
21
  }
@@ -30,7 +34,7 @@ export class FConnectionPath extends FConnectionPathBase {
30
34
  this.hostElement.setAttribute('marker-end', `url(#${getMarkerEndId(this._connection.fId())})`);
31
35
  }
32
36
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionPath, deps: null, target: i0.ɵɵFactoryTarget.Component });
33
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FConnectionPath, selector: "path[f-connection-path]", host: { properties: { "attr.id": "attrConnectionId", "attr.data-f-path-id": "fPathId", "attr.stroke": "linkToGradient" }, classAttribute: "f-component f-connection-path" }, providers: [
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FConnectionPath, selector: "path[f-connection-path]", inputs: { useGradient: { classPropertyName: "useGradient", publicName: "useGradient", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "attrConnectionId", "attr.data-f-path-id": "fPathId", "style.stroke": "linkToGradient()" }, classAttribute: "f-component f-connection-path" }, providers: [
34
38
  {
35
39
  provide: F_CONNECTION_PATH,
36
40
  useExisting: FConnectionPath,
@@ -43,7 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
43
47
  class: 'f-component f-connection-path',
44
48
  '[attr.id]': 'attrConnectionId',
45
49
  '[attr.data-f-path-id]': 'fPathId',
46
- '[attr.stroke]': 'linkToGradient',
50
+ '[style.stroke]': 'linkToGradient()',
47
51
  }, providers: [
48
52
  {
49
53
  provide: F_CONNECTION_PATH,
@@ -63,4 +67,4 @@ function getMarkerSelectedStartId(fConnectionId) {
63
67
  function getMarkerSelectedEndId(fConnectionId) {
64
68
  return normalizeDomElementId(`f-connection-selected-marker-end-${fConnectionId}`);
65
69
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXBhdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi9jb21wb25lbnRzL2Nvbm5lY3Rpb24tcGF0aC9mLWNvbm5lY3Rpb24tcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBb0I5RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFDckMsV0FBVyxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBRXRFLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLG9CQUFvQixDQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxFQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxFQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sNkJBQTZCLENBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEVBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEVBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQzVCLENBQUM7SUFDSixDQUFDO0lBRWUsVUFBVTtRQUN4QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVlLE9BQU8sQ0FBQyxJQUFZO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVlLE1BQU07UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQzNCLGNBQWMsRUFDZCxRQUFRLHdCQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUM1RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQzNCLFlBQVksRUFDWixRQUFRLHNCQUFzQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUMxRCxDQUFDO0lBQ0osQ0FBQztJQUVlLFFBQVE7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQzNCLGNBQWMsRUFDZCxRQUFRLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUNwRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVEsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakcsQ0FBQzt3R0FoRFUsZUFBZTs0RkFBZixlQUFlLCtOQVBmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLGVBQWU7YUFDN0I7U0FDRixpREFkUyxFQUFFOzs0RkFnQkQsZUFBZTtrQkFsQjNCLFNBQVM7K0JBQ0UseUJBQXlCLFlBQ3pCLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QyxXQUFXLEVBQUUsa0JBQWtCO3dCQUMvQix1QkFBdUIsRUFBRSxTQUFTO3dCQUNsQyxlQUFlLEVBQUUsZ0JBQWdCO3FCQUNsQyxhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsaUJBQWlCO3lCQUM3QjtxQkFDRjs7QUFxREgsU0FBUyxnQkFBZ0IsQ0FBQyxhQUFxQjtJQUM3QyxPQUFPLHFCQUFxQixDQUFDLDZCQUE2QixhQUFhLEVBQUUsQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxhQUFxQjtJQUMzQyxPQUFPLHFCQUFxQixDQUFDLDJCQUEyQixhQUFhLEVBQUUsQ0FBQyxDQUFDO0FBQzNFLENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUFDLGFBQXFCO0lBQ3JELE9BQU8scUJBQXFCLENBQUMsc0NBQXNDLGFBQWEsRUFBRSxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQUMsYUFBcUI7SUFDbkQsT0FBTyxxQkFBcUIsQ0FBQyxvQ0FBb0MsYUFBYSxFQUFFLENBQUMsQ0FBQztBQUNwRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBub3JtYWxpemVEb21FbGVtZW50SWQgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTl9QQVRILCBGQ29ubmVjdGlvblBhdGhCYXNlIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgY3JlYXRlQ29ubmVjdGlvbkRvbUlkZW50aWZpZXIsIGNyZWF0ZUdyYWRpZW50RG9tVXJsIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0NPTVBPTkVOVFNfUEFSRU5UIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGF0aFtmLWNvbm5lY3Rpb24tcGF0aF0nLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL2YtY29ubmVjdGlvbi1wYXRoLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2YtY29tcG9uZW50IGYtY29ubmVjdGlvbi1wYXRoJyxcbiAgICAnW2F0dHIuaWRdJzogJ2F0dHJDb25uZWN0aW9uSWQnLFxuICAgICdbYXR0ci5kYXRhLWYtcGF0aC1pZF0nOiAnZlBhdGhJZCcsXG4gICAgJ1thdHRyLnN0cm9rZV0nOiAnbGlua1RvR3JhZGllbnQnLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBGX0NPTk5FQ1RJT05fUEFUSCxcbiAgICAgIHVzZUV4aXN0aW5nOiBGQ29ubmVjdGlvblBhdGgsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25QYXRoIGV4dGVuZHMgRkNvbm5lY3Rpb25QYXRoQmFzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3Rpb24gPSBpbmplY3QoRl9DT05ORUNUSU9OX0NPTVBPTkVOVFNfUEFSRU5UKTtcblxuICBwdWJsaWMgZ2V0IGZQYXRoSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29ubmVjdGlvbi5mSWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGlua1RvR3JhZGllbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY3JlYXRlR3JhZGllbnREb21VcmwoXG4gICAgICB0aGlzLl9jb25uZWN0aW9uLmZJZCgpLFxuICAgICAgdGhpcy5fY29ubmVjdGlvbi5mT3V0cHV0SWQoKSxcbiAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZklucHV0SWQoKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBhdHRyQ29ubmVjdGlvbklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNyZWF0ZUNvbm5lY3Rpb25Eb21JZGVudGlmaWVyKFxuICAgICAgdGhpcy5fY29ubmVjdGlvbi5mSWQoKSxcbiAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZk91dHB1dElkKCksXG4gICAgICB0aGlzLl9jb25uZWN0aW9uLmZJbnB1dElkKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuZGVzZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRQYXRoKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkJywgYCR7cGF0aH1gKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAnbWFya2VyLXN0YXJ0JyxcbiAgICAgIGB1cmwoIyR7Z2V0TWFya2VyU2VsZWN0ZWRTdGFydElkKHRoaXMuX2Nvbm5lY3Rpb24uZklkKCkpfSlgLFxuICAgICk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAnbWFya2VyLWVuZCcsXG4gICAgICBgdXJsKCMke2dldE1hcmtlclNlbGVjdGVkRW5kSWQodGhpcy5fY29ubmVjdGlvbi5mSWQoKSl9KWAsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICdtYXJrZXItc3RhcnQnLFxuICAgICAgYHVybCgjJHtnZXRNYXJrZXJTdGFydElkKHRoaXMuX2Nvbm5lY3Rpb24uZklkKCkpfSlgLFxuICAgICk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1lbmQnLCBgdXJsKCMke2dldE1hcmtlckVuZElkKHRoaXMuX2Nvbm5lY3Rpb24uZklkKCkpfSlgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRNYXJrZXJTdGFydElkKGZDb25uZWN0aW9uSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBub3JtYWxpemVEb21FbGVtZW50SWQoYGYtY29ubmVjdGlvbi1tYXJrZXItc3RhcnQtJHtmQ29ubmVjdGlvbklkfWApO1xufVxuXG5mdW5jdGlvbiBnZXRNYXJrZXJFbmRJZChmQ29ubmVjdGlvbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbm9ybWFsaXplRG9tRWxlbWVudElkKGBmLWNvbm5lY3Rpb24tbWFya2VyLWVuZC0ke2ZDb25uZWN0aW9uSWR9YCk7XG59XG5cbmZ1bmN0aW9uIGdldE1hcmtlclNlbGVjdGVkU3RhcnRJZChmQ29ubmVjdGlvbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbm9ybWFsaXplRG9tRWxlbWVudElkKGBmLWNvbm5lY3Rpb24tc2VsZWN0ZWQtbWFya2VyLXN0YXJ0LSR7ZkNvbm5lY3Rpb25JZH1gKTtcbn1cblxuZnVuY3Rpb24gZ2V0TWFya2VyU2VsZWN0ZWRFbmRJZChmQ29ubmVjdGlvbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbm9ybWFsaXplRG9tRWxlbWVudElkKGBmLWNvbm5lY3Rpb24tc2VsZWN0ZWQtbWFya2VyLWVuZC0ke2ZDb25uZWN0aW9uSWR9YCk7XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXBhdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi9jb21wb25lbnRzL2Nvbm5lY3Rpb24tcGF0aC9mLWNvbm5lY3Rpb24tcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFvQjlELE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUNyQyxXQUFXLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFFdEQsV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixjQUFjLEdBQUcsUUFBUSxDQUFnQixHQUFHLEVBQUU7UUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyw2QkFBNkIsQ0FDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsRUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsRUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFZSxVQUFVO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRWUsT0FBTyxDQUFDLElBQVk7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRWUsTUFBTTtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FDM0IsY0FBYyxFQUNkLFFBQVEsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQzVELENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FDM0IsWUFBWSxFQUNaLFFBQVEsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQzFELENBQUM7SUFDSixDQUFDO0lBRWUsUUFBUTtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FDM0IsY0FBYyxFQUNkLFFBQVEsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQ3BELENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUSxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRyxDQUFDO3dHQWpEVSxlQUFlOzRGQUFmLGVBQWUsd1hBUGY7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsZUFBZTthQUM3QjtTQUNGLGlEQWRTLEVBQUU7OzRGQWdCRCxlQUFlO2tCQWxCM0IsU0FBUzsrQkFDRSx5QkFBeUIsWUFDekIsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSwrQkFBK0I7d0JBQ3RDLFdBQVcsRUFBRSxrQkFBa0I7d0JBQy9CLHVCQUF1QixFQUFFLFNBQVM7d0JBQ2xDLGdCQUFnQixFQUFFLGtCQUFrQjtxQkFDckMsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGlCQUFpQjt5QkFDN0I7cUJBQ0Y7O0FBc0RILFNBQVMsZ0JBQWdCLENBQUMsYUFBcUI7SUFDN0MsT0FBTyxxQkFBcUIsQ0FBQyw2QkFBNkIsYUFBYSxFQUFFLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsYUFBcUI7SUFDM0MsT0FBTyxxQkFBcUIsQ0FBQywyQkFBMkIsYUFBYSxFQUFFLENBQUMsQ0FBQztBQUMzRSxDQUFDO0FBRUQsU0FBUyx3QkFBd0IsQ0FBQyxhQUFxQjtJQUNyRCxPQUFPLHFCQUFxQixDQUFDLHNDQUFzQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0FBQ3RGLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLGFBQXFCO0lBQ25ELE9BQU8scUJBQXFCLENBQUMsb0NBQW9DLGFBQWEsRUFBRSxDQUFDLENBQUM7QUFDcEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBub3JtYWxpemVEb21FbGVtZW50SWQgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTl9QQVRILCBGQ29ubmVjdGlvblBhdGhCYXNlIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgY3JlYXRlQ29ubmVjdGlvbkRvbUlkZW50aWZpZXIsIGNyZWF0ZUdyYWRpZW50RG9tVXJsIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX0NPTVBPTkVOVFNfUEFSRU5UIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGF0aFtmLWNvbm5lY3Rpb24tcGF0aF0nLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL2YtY29ubmVjdGlvbi1wYXRoLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2YtY29tcG9uZW50IGYtY29ubmVjdGlvbi1wYXRoJyxcbiAgICAnW2F0dHIuaWRdJzogJ2F0dHJDb25uZWN0aW9uSWQnLFxuICAgICdbYXR0ci5kYXRhLWYtcGF0aC1pZF0nOiAnZlBhdGhJZCcsXG4gICAgJ1tzdHlsZS5zdHJva2VdJzogJ2xpbmtUb0dyYWRpZW50KCknLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBGX0NPTk5FQ1RJT05fUEFUSCxcbiAgICAgIHVzZUV4aXN0aW5nOiBGQ29ubmVjdGlvblBhdGgsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25QYXRoIGV4dGVuZHMgRkNvbm5lY3Rpb25QYXRoQmFzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3Rpb24gPSBpbmplY3QoRl9DT05ORUNUSU9OX0NPTVBPTkVOVFNfUEFSRU5UKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdXNlR3JhZGllbnQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBsaW5rVG9HcmFkaWVudCA9IGNvbXB1dGVkPHN0cmluZyB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAoIXRoaXMudXNlR3JhZGllbnQoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZUdyYWRpZW50RG9tVXJsKHRoaXMuX2Nvbm5lY3Rpb24uZklkKCkpO1xuICB9KTtcblxuICBwdWJsaWMgZ2V0IGZQYXRoSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29ubmVjdGlvbi5mSWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXR0ckNvbm5lY3Rpb25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBjcmVhdGVDb25uZWN0aW9uRG9tSWRlbnRpZmllcihcbiAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZklkKCksXG4gICAgICB0aGlzLl9jb25uZWN0aW9uLmZPdXRwdXRJZCgpLFxuICAgICAgdGhpcy5fY29ubmVjdGlvbi5mSW5wdXRJZCgpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0UGF0aChwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnZCcsIGAke3BhdGh9YCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgJ21hcmtlci1zdGFydCcsXG4gICAgICBgdXJsKCMke2dldE1hcmtlclNlbGVjdGVkU3RhcnRJZCh0aGlzLl9jb25uZWN0aW9uLmZJZCgpKX0pYCxcbiAgICApO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgJ21hcmtlci1lbmQnLFxuICAgICAgYHVybCgjJHtnZXRNYXJrZXJTZWxlY3RlZEVuZElkKHRoaXMuX2Nvbm5lY3Rpb24uZklkKCkpfSlgLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAnbWFya2VyLXN0YXJ0JyxcbiAgICAgIGB1cmwoIyR7Z2V0TWFya2VyU3RhcnRJZCh0aGlzLl9jb25uZWN0aW9uLmZJZCgpKX0pYCxcbiAgICApO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXItZW5kJywgYHVybCgjJHtnZXRNYXJrZXJFbmRJZCh0aGlzLl9jb25uZWN0aW9uLmZJZCgpKX0pYCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TWFya2VyU3RhcnRJZChmQ29ubmVjdGlvbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbm9ybWFsaXplRG9tRWxlbWVudElkKGBmLWNvbm5lY3Rpb24tbWFya2VyLXN0YXJ0LSR7ZkNvbm5lY3Rpb25JZH1gKTtcbn1cblxuZnVuY3Rpb24gZ2V0TWFya2VyRW5kSWQoZkNvbm5lY3Rpb25JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZURvbUVsZW1lbnRJZChgZi1jb25uZWN0aW9uLW1hcmtlci1lbmQtJHtmQ29ubmVjdGlvbklkfWApO1xufVxuXG5mdW5jdGlvbiBnZXRNYXJrZXJTZWxlY3RlZFN0YXJ0SWQoZkNvbm5lY3Rpb25JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZURvbUVsZW1lbnRJZChgZi1jb25uZWN0aW9uLXNlbGVjdGVkLW1hcmtlci1zdGFydC0ke2ZDb25uZWN0aW9uSWR9YCk7XG59XG5cbmZ1bmN0aW9uIGdldE1hcmtlclNlbGVjdGVkRW5kSWQoZkNvbm5lY3Rpb25JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZURvbUVsZW1lbnRJZChgZi1jb25uZWN0aW9uLXNlbGVjdGVkLW1hcmtlci1lbmQtJHtmQ29ubmVjdGlvbklkfWApO1xufVxuIl19
@@ -1,14 +1,14 @@
1
- import { contentChild, contentChildren, Directive, ElementRef, inject, input, signal, viewChild, } from '@angular/core';
1
+ import { contentChild, contentChildren, Directive, ElementRef, inject, signal, viewChild, } from '@angular/core';
2
2
  import { LineExtensions, PointExtensions } from '@foblex/2d';
3
3
  import { mixinChangeSelection, mixinChangeVisibility, } from '../../mixins';
4
4
  import { ConnectionLineBuilder, EFConnectionConnectableSide } from '../utils';
5
5
  import { EFConnectableSide } from '../enums';
6
6
  import { F_CONNECTION_PATH } from './connection-path';
7
- import { F_CONNECTION_GRADIENT } from './connection-gradient';
8
7
  import { F_CONNECTION_DRAG_HANDLE_END, F_CONNECTION_DRAG_HANDLE_START, } from './connection-drag-handles';
9
8
  import { F_CONNECTION_SELECTION } from './connection-selection';
10
9
  import { ConnectionContentLayoutEngine, F_CONNECTION_CONTENT, } from './connection-content';
11
10
  import { F_CONNECTION_WAYPOINTS } from './connection-waypoints';
11
+ import { F_CONNECTION_GRADIENT, FConnectionGradientRenderer } from './connection-gradient';
12
12
  import * as i0 from "@angular/core";
13
13
  const MIXIN_BASE = mixinChangeSelection(mixinChangeVisibility(class {
14
14
  hostElement;
@@ -18,8 +18,6 @@ const MIXIN_BASE = mixinChangeSelection(mixinChangeVisibility(class {
18
18
  }));
19
19
  export class FConnectionBase extends MIXIN_BASE {
20
20
  _fConnectionBuilder = inject(ConnectionLineBuilder);
21
- fStartColor = input('black');
22
- fEndColor = input('black');
23
21
  path = '';
24
22
  line = LineExtensions.initialize();
25
23
  fReassignableStart = signal(false);
@@ -27,13 +25,14 @@ export class FConnectionBase extends MIXIN_BASE {
27
25
  fSelectionDisabled = signal(false);
28
26
  fDefs = viewChild.required('defs');
29
27
  fPath = viewChild.required(F_CONNECTION_PATH);
30
- fGradient = viewChild.required(F_CONNECTION_GRADIENT);
31
28
  fDragHandleStart = viewChild(F_CONNECTION_DRAG_HANDLE_START);
32
29
  fDragHandleEnd = viewChild.required(F_CONNECTION_DRAG_HANDLE_END);
33
30
  fSelection = viewChild.required(F_CONNECTION_SELECTION);
34
31
  fContents = contentChildren(F_CONNECTION_CONTENT, {
35
32
  descendants: true,
36
33
  });
34
+ fGradient = contentChild(F_CONNECTION_GRADIENT);
35
+ _fGradientRenderer = viewChild(FConnectionGradientRenderer);
37
36
  fWaypoints = contentChild(F_CONNECTION_WAYPOINTS);
38
37
  fInputSide = signal(EFConnectionConnectableSide.DEFAULT);
39
38
  _sourceSide = EFConnectableSide.AUTO;
@@ -46,7 +45,6 @@ export class FConnectionBase extends MIXIN_BASE {
46
45
  }
47
46
  initialize() {
48
47
  this.fPath().initialize();
49
- this.fGradient().initialize();
50
48
  this.redraw();
51
49
  }
52
50
  isContains(element) {
@@ -89,9 +87,15 @@ export class FConnectionBase extends MIXIN_BASE {
89
87
  redraw() {
90
88
  this.fPath().setPath(this.path);
91
89
  this.fSelection().setPath(this.path);
92
- this.fGradient().redraw(this.line);
93
90
  this.fDragHandleEnd().redraw(this._penultimatePoint, this.line.point2);
94
91
  this.fDragHandleStart()?.redraw(this._secondPoint, this.line.point1);
92
+ this._fGradientRenderer()?.redraw(this.line);
93
+ }
94
+ getResolvedSides() {
95
+ return {
96
+ sourceSide: this._sourceSide,
97
+ targetSide: this._targetSide,
98
+ };
95
99
  }
96
100
  /**
97
101
  * Applies the resolved sides to the connection. Don't call this method directly; it's used internally.
@@ -104,9 +108,9 @@ export class FConnectionBase extends MIXIN_BASE {
104
108
  this._targetSide = targetSide;
105
109
  }
106
110
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
107
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: FConnectionBase, inputs: { fStartColor: { classPropertyName: "fStartColor", publicName: "fStartColor", isSignal: true, isRequired: false, transformFunction: null }, fEndColor: { classPropertyName: "fEndColor", publicName: "fEndColor", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "fContents", predicate: F_CONNECTION_CONTENT, descendants: true, isSignal: true }, { propertyName: "fWaypoints", first: true, predicate: F_CONNECTION_WAYPOINTS, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, isSignal: true }, { propertyName: "fPath", first: true, predicate: F_CONNECTION_PATH, descendants: true, isSignal: true }, { propertyName: "fGradient", first: true, predicate: F_CONNECTION_GRADIENT, descendants: true, isSignal: true }, { propertyName: "fDragHandleStart", first: true, predicate: F_CONNECTION_DRAG_HANDLE_START, descendants: true, isSignal: true }, { propertyName: "fDragHandleEnd", first: true, predicate: F_CONNECTION_DRAG_HANDLE_END, descendants: true, isSignal: true }, { propertyName: "fSelection", first: true, predicate: F_CONNECTION_SELECTION, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
111
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: FConnectionBase, queries: [{ propertyName: "fContents", predicate: F_CONNECTION_CONTENT, descendants: true, isSignal: true }, { propertyName: "fGradient", first: true, predicate: F_CONNECTION_GRADIENT, descendants: true, isSignal: true }, { propertyName: "fWaypoints", first: true, predicate: F_CONNECTION_WAYPOINTS, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, isSignal: true }, { propertyName: "fPath", first: true, predicate: F_CONNECTION_PATH, descendants: true, isSignal: true }, { propertyName: "fDragHandleStart", first: true, predicate: F_CONNECTION_DRAG_HANDLE_START, descendants: true, isSignal: true }, { propertyName: "fDragHandleEnd", first: true, predicate: F_CONNECTION_DRAG_HANDLE_END, descendants: true, isSignal: true }, { propertyName: "fSelection", first: true, predicate: F_CONNECTION_SELECTION, descendants: true, isSignal: true }, { propertyName: "_fGradientRenderer", first: true, predicate: FConnectionGradientRenderer, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
108
112
  }
109
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, decorators: [{
110
114
  type: Directive
111
115
  }], ctorParameters: () => [] });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi9jb21wb25lbnRzL2YtY29ubmVjdGlvbi1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBaUIsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RSxPQUFPLEVBR0wsb0JBQW9CLEVBQ3BCLHFCQUFxQixHQUN0QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUscUJBQXFCLEVBQXdCLDJCQUEyQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBb0IsTUFBTSxVQUFVLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qiw4QkFBOEIsR0FDL0IsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLG9CQUFvQixHQUVyQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUVoRSxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FDckMscUJBQXFCLENBQ25CO0lBQ3FCO0lBQW5CLFlBQW1CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcs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QUMsTUFBTSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVlLHdCQUF3QjtRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksK0JBQStCLENBQ3BDLFVBQTZCLEVBQzdCLFVBQTZCO1FBRTdCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7d0dBdEptQixlQUFlOzRGQUFmLGVBQWUsOFVBZ0RTLG9CQUFvQiw2RkFJdEIsc0JBQXNCLHVNQWRyQixpQkFBaUIsNEZBRWIscUJBQXFCLG1HQUV2Qiw4QkFBOEIsaUdBRXZCLDRCQUE0Qiw2RkFFaEMsc0JBQXNCOzs0RkE5Q2xELGVBQWU7a0JBRHBDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjb250ZW50Q2hpbGQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIFNpZ25hbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMaW5lLCBJUG9pbnQsIExpbmVFeHRlbnNpb25zLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7XG4gIElDYW5DaGFuZ2VWaXNpYmlsaXR5LFxuICBJU2VsZWN0YWJsZSxcbiAgbWl4aW5DaGFuZ2VTZWxlY3Rpb24sXG4gIG1peGluQ2hhbmdlVmlzaWJpbGl0eSxcbn0gZnJvbSAnLi4vLi4vbWl4aW5zJztcbmltcG9ydCB7IENvbm5lY3Rpb25MaW5lQnVpbGRlciwgRUZDb25uZWN0aW9uQmVoYXZpb3IsIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlLCBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX1BBVEggfSBmcm9tICcuL2Nvbm5lY3Rpb24tcGF0aCc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fR1JBRElFTlQgfSBmcm9tICcuL2Nvbm5lY3Rpb24tZ3JhZGllbnQnO1xuaW1wb3J0IHtcbiAgRl9DT05ORUNUSU9OX0RSQUdfSEFORExFX0VORCxcbiAgRl9DT05ORUNUSU9OX0RSQUdfSEFORExFX1NUQVJULFxufSBmcm9tICcuL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVzJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTl9TRUxFQ1RJT04gfSBmcm9tICcuL2Nvbm5lY3Rpb24tc2VsZWN0aW9uJztcbmltcG9ydCB7XG4gIENvbm5lY3Rpb25Db250ZW50TGF5b3V0RW5naW5lLFxuICBGX0NPTk5FQ1RJT05fQ09OVEVOVCxcbiAgRkNvbm5lY3Rpb25Db250ZW50QmFzZSxcbn0gZnJvbSAnLi9jb25uZWN0aW9uLWNvbnRlbnQnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX1dBWVBPSU5UUyB9IGZyb20gJy4vY29ubmVjdGlvbi13YXlwb2ludHMnO1xuXG5jb25zdCBNSVhJTl9CQVNFID0gbWl4aW5DaGFuZ2VTZWxlY3Rpb24oXG4gIG1peGluQ2hhbmdlVmlzaWJpbGl0eShcbiAgICBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7fVxuICAgIH0sXG4gICksXG4pO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ29ubmVjdGlvbkJhc2VcbiAgZXh0ZW5kcyBNSVhJTl9CQVNFXG4gIGltcGxlbWVudHMgSVNlbGVjdGFibGUsIElDYW5DaGFuZ2VWaXNpYmlsaXR5XG57XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZDb25uZWN0aW9uQnVpbGRlciA9IGluamVjdChDb25uZWN0aW9uTGluZUJ1aWxkZXIpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBvdmVycmlkZSBmSWQ6IFNpZ25hbDxzdHJpbmc+O1xuXG4gIHB1YmxpYyByZWFkb25seSBmU3RhcnRDb2xvciA9IGlucHV0PHN0cmluZz4oJ2JsYWNrJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZFbmRDb2xvciA9IGlucHV0PHN0cmluZz4oJ2JsYWNrJyk7XG5cbiAgcHVibGljIGFic3RyYWN0IGZPdXRwdXRJZDogU2lnbmFsPHN0cmluZz47XG5cbiAgcHVibGljIGFic3RyYWN0IGZJbnB1dElkOiBTaWduYWw8c3RyaW5nPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlJhZGl1czogbnVtYmVyO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmT2Zmc2V0OiBudW1iZXI7XG5cbiAgcHJvdGVjdGVkIHBhdGg6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBsaW5lID0gTGluZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmUmVhc3NpZ25hYmxlU3RhcnQ6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZEcmFnZ2luZ0Rpc2FibGVkOiBTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmU2VsZWN0aW9uRGlzYWJsZWQ6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIGFic3RyYWN0IGJvdW5kaW5nRWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVHlwZTogRUZDb25uZWN0aW9uVHlwZSB8IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgZkRlZnMgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxTVkdEZWZzRWxlbWVudD4+KCdkZWZzJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZQYXRoID0gdmlld0NoaWxkLnJlcXVpcmVkKEZfQ09OTkVDVElPTl9QQVRIKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkdyYWRpZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkKEZfQ09OTkVDVElPTl9HUkFESUVOVCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZEcmFnSGFuZGxlU3RhcnQgPSB2aWV3Q2hpbGQoRl9DT05ORUNUSU9OX0RSQUdfSEFORExFX1NUQVJUKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkRyYWdIYW5kbGVFbmQgPSB2aWV3Q2hpbGQucmVxdWlyZWQoRl9DT05ORUNUSU9OX0RSQUdfSEFORExFX0VORCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZTZWxlY3Rpb24gPSB2aWV3Q2hpbGQucmVxdWlyZWQoRl9DT05ORUNUSU9OX1NFTEVDVElPTik7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZDb250ZW50cyA9IGNvbnRlbnRDaGlsZHJlbihGX0NPTk5FQ1RJT05fQ09OVEVOVCwge1xuICAgIGRlc2NlbmRhbnRzOiB0cnVlLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZldheXBvaW50cyA9IGNvbnRlbnRDaGlsZChGX0NPTk5FQ1RJT05fV0FZUE9JTlRTKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZklucHV0U2lkZTogU2lnbmFsPEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZT4gPSBzaWduYWwoXG4gICAgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkRFRkFVTFQsXG4gICk7XG5cbiAgcHJpdmF0ZSBfc291cmNlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIHJlYWRvbmx5IGZPdXRwdXRTaWRlOiBTaWduYWw8RUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlPiA9IHNpZ25hbChcbiAgICBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuREVGQVVMVCxcbiAgKTtcblxuICBwcml2YXRlIF90YXJnZXRTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTztcblxuICBwcml2YXRlIF9wZW51bHRpbWF0ZVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgcHJpdmF0ZSBfc2Vjb25kUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aCgpLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLmZHcmFkaWVudCgpLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIGlzQ29udGFpbnMoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmhvc3RFbGVtZW50LmZpcnN0Q2hpbGQ/Lmxhc3RDaGlsZCBhcyBIVE1MRWxlbWVudCkuY29udGFpbnMoZWxlbWVudCkgfHxcbiAgICAgIEFycmF5LmZyb20odGhpcy5mQ29udGVudHMoKT8udmFsdWVzKCkgPz8gW10pLnNvbWUoKHgpID0+IHguaG9zdEVsZW1lbnQ/LmNvbnRhaW5zKGVsZW1lbnQpKSB8fFxuICAgICAgdGhpcy5mV2F5cG9pbnRzKCk/Lmhvc3RFbGVtZW50Py5jb250YWlucyhlbGVtZW50KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0TGluZSh7IHBvaW50MSwgcG9pbnQyIH06IElMaW5lKTogdm9pZCB7XG4gICAgdGhpcy5saW5lID0gTGluZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZShwb2ludDEsIHBvaW50Mik7XG5cbiAgICBjb25zdCB7IHBhdGgsIHBvaW50cywgcGVudWx0aW1hdGVQb2ludCwgc2Vjb25kUG9pbnQsIGNhbmRpZGF0ZXMgfSA9IHRoaXMuX2dldFBhdGhSZXN1bHQoXG4gICAgICBwb2ludDEsXG4gICAgICBwb2ludDIsXG4gICAgKTtcblxuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgdGhpcy5fcGVudWx0aW1hdGVQb2ludCA9IHBlbnVsdGltYXRlUG9pbnQgfHwgcG9pbnQxO1xuICAgIHRoaXMuX3NlY29uZFBvaW50ID0gc2Vjb25kUG9pbnQgfHwgcG9pbnQyO1xuICAgIHRoaXMuZldheXBvaW50cygpPy5jYW5kaWRhdGVzLnNldChjYW5kaWRhdGVzIHx8IFtdKTtcblxuICAgIG5ldyBDb25uZWN0aW9uQ29udGVudExheW91dEVuZ2luZSgpLmxheW91dChwb2ludHMgfHwgW10sIHRoaXMuX2NvbnRlbnRzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29udGVudHMoKTogRkNvbm5lY3Rpb25Db250ZW50QmFzZVtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZDb250ZW50cygpPy52YWx1ZXMoKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRQYXRoUmVzdWx0KHNvdXJjZTogSVBvaW50LCB0YXJnZXQ6IElQb2ludCkge1xuICAgIHJldHVybiB0aGlzLl9mQ29ubmVjdGlvbkJ1aWxkZXIuaGFuZGxlKHtcbiAgICAgIHR5cGU6IHRoaXMuZlR5cGUsXG4gICAgICBwYXlsb2FkOiB7XG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgc291cmNlU2lkZTogdGhpcy5fc291cmNlU2lkZSxcbiAgICAgICAgdGFyZ2V0LFxuICAgICAgICB0YXJnZXRTaWRlOiB0aGlzLl90YXJnZXRTaWRlLFxuICAgICAgICByYWRpdXM6IHRoaXMuZlJhZGl1cyxcbiAgICAgICAgb2Zmc2V0OiB0aGlzLmZPZmZzZXQsXG4gICAgICAgIHdheXBvaW50czogdGhpcy5mV2F5cG9pbnRzKCk/LndheXBvaW50cygpIHx8IFtdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBtYXJrQ2hpbGRyZW5Bc1NlbGVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGgoKS5zZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB1bm1hcmtDaGlsZHJlbkFzU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aCgpLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGgoKS5zZXRQYXRoKHRoaXMucGF0aCk7XG4gICAgdGhpcy5mU2VsZWN0aW9uKCkuc2V0UGF0aCh0aGlzLnBhdGgpO1xuICAgIHRoaXMuZkdyYWRpZW50KCkucmVkcmF3KHRoaXMubGluZSk7XG4gICAgdGhpcy5mRHJhZ0hhbmRsZUVuZCgpLnJlZHJhdyh0aGlzLl9wZW51bHRpbWF0ZVBvaW50LCB0aGlzLmxpbmUucG9pbnQyKTtcbiAgICB0aGlzLmZEcmFnSGFuZGxlU3RhcnQoKT8ucmVkcmF3KHRoaXMuX3NlY29uZFBvaW50LCB0aGlzLmxpbmUucG9pbnQxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIHRoZSByZXNvbHZlZCBzaWRlcyB0byB0aGUgY29ubmVjdGlvbi4gRG9uJ3QgY2FsbCB0aGlzIG1ldGhvZCBkaXJlY3RseTsgaXQncyB1c2VkIGludGVybmFsbHkuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2VTaWRlIFRoZSByZXNvbHZlZCBzaWRlIGZvciB0aGUgc291cmNlIGVsZW1lbnQuXG4gICAqIEBwYXJhbSB0YXJnZXRTaWRlIFRoZSByZXNvbHZlZCBzaWRlIGZvciB0aGUgdGFyZ2V0IGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgX2FwcGx5UmVzb2x2ZWRTaWRlc1RvQ29ubmVjdGlvbihcbiAgICBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICB0YXJnZXRTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5fc291cmNlU2lkZSA9IHNvdXJjZVNpZGU7XG4gICAgdGhpcy5fdGFyZ2V0U2lkZSA9IHRhcmdldFNpZGU7XG4gIH1cbn1cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi9jb21wb25lbnRzL2YtY29ubmVjdGlvbi1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFpQixjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVFLE9BQU8sRUFHTCxvQkFBb0IsRUFDcEIscUJBQXFCLEdBQ3RCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxxQkFBcUIsRUFBd0IsMkJBQTJCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFvQixNQUFNLFVBQVUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLDhCQUE4QixHQUMvQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0Isb0JBQW9CLEdBRXJCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNGLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUNyQyxxQkFBcUIsQ0FDbkI7SUFDcUI7SUFBbkIsWUFBbUIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFB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QixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM1QixVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDN0IsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLCtCQUErQixDQUNwQyxVQUE2QixFQUM3QixVQUE2QjtRQUU3QixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUNoQyxDQUFDO3dHQTFKbUIsZUFBZTs0RkFBZixlQUFlLG9EQTBDUyxvQkFBb0IsNEZBSXZCLHFCQUFxQiw2RkFJcEIsc0JBQXNCLHVNQWhCckIsaUJBQWlCLG1HQUVmLDhCQUE4QixpR0FFdkIsNEJBQTRCLDZGQUVoQyxzQkFBc0IscUdBUXRCLDJCQUEyQjs7NEZBaER2RCxlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY29udGVudENoaWxkLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBzaWduYWwsXG4gIFNpZ25hbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMaW5lLCBJUG9pbnQsIExpbmVFeHRlbnNpb25zLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7XG4gIElDYW5DaGFuZ2VWaXNpYmlsaXR5LFxuICBJU2VsZWN0YWJsZSxcbiAgbWl4aW5DaGFuZ2VTZWxlY3Rpb24sXG4gIG1peGluQ2hhbmdlVmlzaWJpbGl0eSxcbn0gZnJvbSAnLi4vLi4vbWl4aW5zJztcbmltcG9ydCB7IENvbm5lY3Rpb25MaW5lQnVpbGRlciwgRUZDb25uZWN0aW9uQmVoYXZpb3IsIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlLCBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX1BBVEggfSBmcm9tICcuL2Nvbm5lY3Rpb24tcGF0aCc7XG5pbXBvcnQge1xuICBGX0NPTk5FQ1RJT05fRFJBR19IQU5ETEVfRU5ELFxuICBGX0NPTk5FQ1RJT05fRFJBR19IQU5ETEVfU1RBUlQsXG59IGZyb20gJy4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXMnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OX1NFTEVDVElPTiB9IGZyb20gJy4vY29ubmVjdGlvbi1zZWxlY3Rpb24nO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbkNvbnRlbnRMYXlvdXRFbmdpbmUsXG4gIEZfQ09OTkVDVElPTl9DT05URU5ULFxuICBGQ29ubmVjdGlvbkNvbnRlbnRCYXNlLFxufSBmcm9tICcuL2Nvbm5lY3Rpb24tY29udGVudCc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fV0FZUE9JTlRTIH0gZnJvbSAnLi9jb25uZWN0aW9uLXdheXBvaW50cyc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fR1JBRElFTlQsIEZDb25uZWN0aW9uR3JhZGllbnRSZW5kZXJlciB9IGZyb20gJy4vY29ubmVjdGlvbi1ncmFkaWVudCc7XG5cbmNvbnN0IE1JWElOX0JBU0UgPSBtaXhpbkNoYW5nZVNlbGVjdGlvbihcbiAgbWl4aW5DaGFuZ2VWaXNpYmlsaXR5KFxuICAgIGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQpIHt9XG4gICAgfSxcbiAgKSxcbik7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZDb25uZWN0aW9uQmFzZVxuICBleHRlbmRzIE1JWElOX0JBU0VcbiAgaW1wbGVtZW50cyBJU2VsZWN0YWJsZSwgSUNhbkNoYW5nZVZpc2liaWxpdHlcbntcbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbm5lY3Rpb25CdWlsZGVyID0gaW5qZWN0KENvbm5lY3Rpb25MaW5lQnVpbGRlcik7XG5cbiAgcHVibGljIGFic3RyYWN0IG92ZXJyaWRlIGZJZDogU2lnbmFsPHN0cmluZz47XG5cbiAgcHVibGljIGFic3RyYWN0IGZPdXRwdXRJZDogU2lnbmFsPHN0cmluZz47XG5cbiAgcHVibGljIGFic3RyYWN0IGZJbnB1dElkOiBTaWduYWw8c3RyaW5nPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlJhZGl1czogbnVtYmVyO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmT2Zmc2V0OiBudW1iZXI7XG5cbiAgcHJvdGVjdGVkIHBhdGg6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBsaW5lID0gTGluZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmUmVhc3NpZ25hYmxlU3RhcnQ6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZEcmFnZ2luZ0Rpc2FibGVkOiBTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmU2VsZWN0aW9uRGlzYWJsZWQ6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIGFic3RyYWN0IGJvdW5kaW5nRWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVHlwZTogRUZDb25uZWN0aW9uVHlwZSB8IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgZkRlZnMgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxTVkdEZWZzRWxlbWVudD4+KCdkZWZzJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZQYXRoID0gdmlld0NoaWxkLnJlcXVpcmVkKEZfQ09OTkVDVElPTl9QQVRIKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkRyYWdIYW5kbGVTdGFydCA9IHZpZXdDaGlsZChGX0NPTk5FQ1RJT05fRFJBR19IQU5ETEVfU1RBUlQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmRHJhZ0hhbmRsZUVuZCA9IHZpZXdDaGlsZC5yZXF1aXJlZChGX0NPTk5FQ1RJT05fRFJBR19IQU5ETEVfRU5EKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZlNlbGVjdGlvbiA9IHZpZXdDaGlsZC5yZXF1aXJlZChGX0NPTk5FQ1RJT05fU0VMRUNUSU9OKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkNvbnRlbnRzID0gY29udGVudENoaWxkcmVuKEZfQ09OTkVDVElPTl9DT05URU5ULCB7XG4gICAgZGVzY2VuZGFudHM6IHRydWUsXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBmR3JhZGllbnQgPSBjb250ZW50Q2hpbGQoRl9DT05ORUNUSU9OX0dSQURJRU5UKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mR3JhZGllbnRSZW5kZXJlciA9IHZpZXdDaGlsZChGQ29ubmVjdGlvbkdyYWRpZW50UmVuZGVyZXIpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmV2F5cG9pbnRzID0gY29udGVudENoaWxkKEZfQ09OTkVDVElPTl9XQVlQT0lOVFMpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmSW5wdXRTaWRlOiBTaWduYWw8RUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlPiA9IHNpZ25hbChcbiAgICBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuREVGQVVMVCxcbiAgKTtcblxuICBwcml2YXRlIF9zb3VyY2VTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTztcblxuICBwdWJsaWMgcmVhZG9ubHkgZk91dHB1dFNpZGU6IFNpZ25hbDxFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGU+ID0gc2lnbmFsKFxuICAgIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5ERUZBVUxULFxuICApO1xuXG4gIHByaXZhdGUgX3RhcmdldFNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPO1xuXG4gIHByaXZhdGUgX3BlbnVsdGltYXRlUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICBwcml2YXRlIF9zZWNvbmRQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50PikubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoKCkuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMuaG9zdEVsZW1lbnQuZmlyc3RDaGlsZD8ubGFzdENoaWxkIGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlbGVtZW50KSB8fFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLmZDb250ZW50cygpPy52YWx1ZXMoKSA/PyBbXSkuc29tZSgoeCkgPT4geC5ob3N0RWxlbWVudD8uY29udGFpbnMoZWxlbWVudCkpIHx8XG4gICAgICB0aGlzLmZXYXlwb2ludHMoKT8uaG9zdEVsZW1lbnQ/LmNvbnRhaW5zKGVsZW1lbnQpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRMaW5lKHsgcG9pbnQxLCBwb2ludDIgfTogSUxpbmUpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmUgPSBMaW5lRXh0ZW5zaW9ucy5pbml0aWFsaXplKHBvaW50MSwgcG9pbnQyKTtcblxuICAgIGNvbnN0IHsgcGF0aCwgcG9pbnRzLCBwZW51bHRpbWF0ZVBvaW50LCBzZWNvbmRQb2ludCwgY2FuZGlkYXRlcyB9ID0gdGhpcy5fZ2V0UGF0aFJlc3VsdChcbiAgICAgIHBvaW50MSxcbiAgICAgIHBvaW50MixcbiAgICApO1xuXG4gICAgdGhpcy5wYXRoID0gcGF0aDtcbiAgICB0aGlzLl9wZW51bHRpbWF0ZVBvaW50ID0gcGVudWx0aW1hdGVQb2ludCB8fCBwb2ludDE7XG4gICAgdGhpcy5fc2Vjb25kUG9pbnQgPSBzZWNvbmRQb2ludCB8fCBwb2ludDI7XG4gICAgdGhpcy5mV2F5cG9pbnRzKCk/LmNhbmRpZGF0ZXMuc2V0KGNhbmRpZGF0ZXMgfHwgW10pO1xuXG4gICAgbmV3IENvbm5lY3Rpb25Db250ZW50TGF5b3V0RW5naW5lKCkubGF5b3V0KHBvaW50cyB8fCBbXSwgdGhpcy5fY29udGVudHMoKSk7XG4gIH1cblxuICBwcml2YXRlIF9jb250ZW50cygpOiBGQ29ubmVjdGlvbkNvbnRlbnRCYXNlW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZkNvbnRlbnRzKCk/LnZhbHVlcygpID8/IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBhdGhSZXN1bHQoc291cmNlOiBJUG9pbnQsIHRhcmdldDogSVBvaW50KSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb25uZWN0aW9uQnVpbGRlci5oYW5kbGUoe1xuICAgICAgdHlwZTogdGhpcy5mVHlwZSxcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgc291cmNlLFxuICAgICAgICBzb3VyY2VTaWRlOiB0aGlzLl9zb3VyY2VTaWRlLFxuICAgICAgICB0YXJnZXQsXG4gICAgICAgIHRhcmdldFNpZGU6IHRoaXMuX3RhcmdldFNpZGUsXG4gICAgICAgIHJhZGl1czogdGhpcy5mUmFkaXVzLFxuICAgICAgICBvZmZzZXQ6IHRoaXMuZk9mZnNldCxcbiAgICAgICAgd2F5cG9pbnRzOiB0aGlzLmZXYXlwb2ludHMoKT8ud2F5cG9pbnRzKCkgfHwgW10sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG1hcmtDaGlsZHJlbkFzU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aCgpLnNlbGVjdCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHVubWFya0NoaWxkcmVuQXNTZWxlY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoKCkuZGVzZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aCgpLnNldFBhdGgodGhpcy5wYXRoKTtcbiAgICB0aGlzLmZTZWxlY3Rpb24oKS5zZXRQYXRoKHRoaXMucGF0aCk7XG4gICAgdGhpcy5mRHJhZ0hhbmRsZUVuZCgpLnJlZHJhdyh0aGlzLl9wZW51bHRpbWF0ZVBvaW50LCB0aGlzLmxpbmUucG9pbnQyKTtcbiAgICB0aGlzLmZEcmFnSGFuZGxlU3RhcnQoKT8ucmVkcmF3KHRoaXMuX3NlY29uZFBvaW50LCB0aGlzLmxpbmUucG9pbnQxKTtcbiAgICB0aGlzLl9mR3JhZGllbnRSZW5kZXJlcigpPy5yZWRyYXcodGhpcy5saW5lKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSZXNvbHZlZFNpZGVzKCk6IHsgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGU7IHRhcmdldFNpZGU6IEVGQ29ubmVjdGFibGVTaWRlIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBzb3VyY2VTaWRlOiB0aGlzLl9zb3VyY2VTaWRlLFxuICAgICAgdGFyZ2V0U2lkZTogdGhpcy5fdGFyZ2V0U2lkZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgdGhlIHJlc29sdmVkIHNpZGVzIHRvIHRoZSBjb25uZWN0aW9uLiBEb24ndCBjYWxsIHRoaXMgbWV0aG9kIGRpcmVjdGx5OyBpdCdzIHVzZWQgaW50ZXJuYWxseS5cbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZVNpZGUgVGhlIHJlc29sdmVkIHNpZGUgZm9yIHRoZSBzb3VyY2UgZWxlbWVudC5cbiAgICogQHBhcmFtIHRhcmdldFNpZGUgVGhlIHJlc29sdmVkIHNpZGUgZm9yIHRoZSB0YXJnZXQgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBfYXBwbHlSZXNvbHZlZFNpZGVzVG9Db25uZWN0aW9uKFxuICAgIHNvdXJjZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLFxuICAgIHRhcmdldFNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLl9zb3VyY2VTaWRlID0gc291cmNlU2lkZTtcbiAgICB0aGlzLl90YXJnZXRTaWRlID0gdGFyZ2V0U2lkZTtcbiAgfVxufVxuIl19
@@ -2,4 +2,4 @@ import { InjectionToken } from '@angular/core';
2
2
  export const F_CONNECTION_COMPONENTS_PARENT = new InjectionToken('F_CONNECTION_COMPONENTS_PARENT');
3
3
  export class FConnectionComponentsParent {
4
4
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWNvbXBvbmVudHMtcGFyZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24tdjIvbW9kZWxzL2YtY29ubmVjdGlvbi1jb21wb25lbnRzLXBhcmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSXZELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUM5RCxnQ0FBZ0MsQ0FDakMsQ0FBQztBQUVGLE1BQU0sT0FBZ0IsMkJBQTJCO0NBcUJoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IsIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IEZfQ09OTkVDVElPTl9DT01QT05FTlRTX1BBUkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGQ29ubmVjdGlvbkNvbXBvbmVudHNQYXJlbnQ+KFxuICAnRl9DT05ORUNUSU9OX0NPTVBPTkVOVFNfUEFSRU5UJyxcbik7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ29ubmVjdGlvbkNvbXBvbmVudHNQYXJlbnQge1xuICBwdWJsaWMgYWJzdHJhY3QgZklkOiBTaWduYWw8c3RyaW5nPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk91dHB1dElkOiBTaWduYWw8c3RyaW5nPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZklucHV0SWQ6IFNpZ25hbDxzdHJpbmc+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU3RhcnRDb2xvcjogU2lnbmFsPHN0cmluZz47XG5cbiAgcHVibGljIGFic3RyYWN0IGZFbmRDb2xvcjogU2lnbmFsPHN0cmluZz47XG5cbiAgcHVibGljIGFic3RyYWN0IGZCZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3I7XG5cbiAgcHVibGljIGFic3RyYWN0IF9hcHBseVJlc29sdmVkU2lkZXNUb0Nvbm5lY3Rpb24oXG4gICAgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsXG4gICAgdGFyZ2V0U2lkZTogRUZDb25uZWN0YWJsZVNpZGUsXG4gICk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZJbnB1dFNpZGU6IFNpZ25hbDxFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGU+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmT3V0cHV0U2lkZTogU2lnbmFsPEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZT47XG59XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWNvbXBvbmVudHMtcGFyZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24tdjIvbW9kZWxzL2YtY29ubmVjdGlvbi1jb21wb25lbnRzLXBhcmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSXZELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUM5RCxnQ0FBZ0MsQ0FDakMsQ0FBQztBQUVGLE1BQU0sT0FBZ0IsMkJBQTJCO0NBaUJoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IsIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IEZfQ09OTkVDVElPTl9DT01QT05FTlRTX1BBUkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGQ29ubmVjdGlvbkNvbXBvbmVudHNQYXJlbnQ+KFxuICAnRl9DT05ORUNUSU9OX0NPTVBPTkVOVFNfUEFSRU5UJyxcbik7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ29ubmVjdGlvbkNvbXBvbmVudHNQYXJlbnQge1xuICBwdWJsaWMgYWJzdHJhY3QgZklkOiBTaWduYWw8c3RyaW5nPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk91dHB1dElkOiBTaWduYWw8c3RyaW5nPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZklucHV0SWQ6IFNpZ25hbDxzdHJpbmc+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBfYXBwbHlSZXNvbHZlZFNpZGVzVG9Db25uZWN0aW9uKFxuICAgIHNvdXJjZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLFxuICAgIHRhcmdldFNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLFxuICApOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmSW5wdXRTaWRlOiBTaWduYWw8RUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk91dHB1dFNpZGU6IFNpZ25hbDxFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGU+O1xufVxuIl19
@@ -4,12 +4,16 @@ export class ConnectionBehaviourBuilderRequest {
4
4
  connection;
5
5
  sourceConnectableSide;
6
6
  targetConnectableSide;
7
- constructor(sourceRect, targetRect, connection, sourceConnectableSide, targetConnectableSide) {
7
+ sourceRotationContext;
8
+ targetRotationContext;
9
+ constructor(sourceRect, targetRect, connection, sourceConnectableSide, targetConnectableSide, sourceRotationContext, targetRotationContext) {
8
10
  this.sourceRect = sourceRect;
9
11
  this.targetRect = targetRect;
10
12
  this.connection = connection;
11
13
  this.sourceConnectableSide = sourceConnectableSide;
12
14
  this.targetConnectableSide = targetConnectableSide;
15
+ this.sourceRotationContext = sourceRotationContext;
16
+ this.targetRotationContext = targetRotationContext;
13
17
  }
14
18
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iZWhhdmlvdXItYnVpbGRlci1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24tdjIvdXRpbHMvY29ubmVjdGlvbi1iZWhhdmlvdXIvY29ubmVjdGlvbi1iZWhhdmlvdXItYnVpbGRlci1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxpQ0FBaUM7SUFFMUI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUxsQixZQUNrQixVQUF3QixFQUN4QixVQUF3QixFQUN4QixVQUF1QyxFQUN2QyxxQkFBd0MsRUFDeEMscUJBQXdDO1FBSnhDLGVBQVUsR0FBVixVQUFVLENBQWM7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUE2QjtRQUN2QywwQkFBcUIsR0FBckIscUJBQXFCLENBQW1CO1FBQ3hDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBbUI7SUFDdkQsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQ29tcG9uZW50c1BhcmVudCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uQmVoYXZpb3VyQnVpbGRlclJlcXVlc3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc291cmNlUmVjdDogSVJvdW5kZWRSZWN0LFxuICAgIHB1YmxpYyByZWFkb25seSB0YXJnZXRSZWN0OiBJUm91bmRlZFJlY3QsXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQ29tcG9uZW50c1BhcmVudCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc291cmNlQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFyZ2V0Q29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKSB7fVxufVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iZWhhdmlvdXItYnVpbGRlci1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24tdjIvdXRpbHMvY29ubmVjdGlvbi1iZWhhdmlvdXIvY29ubmVjdGlvbi1iZWhhdmlvdXItYnVpbGRlci1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBTyxpQ0FBaUM7SUFFMUI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFQbEIsWUFDa0IsVUFBd0IsRUFDeEIsVUFBd0IsRUFDeEIsVUFBdUMsRUFDdkMscUJBQXdDLEVBQ3hDLHFCQUF3QyxFQUN4QyxxQkFBMEQsRUFDMUQscUJBQTBEO1FBTjFELGVBQVUsR0FBVixVQUFVLENBQWM7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUE2QjtRQUN2QywwQkFBcUIsR0FBckIscUJBQXFCLENBQW1CO1FBQ3hDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBbUI7UUFDeEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFxQztRQUMxRCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXFDO0lBQ3pFLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkNvbXBvbmVudHNQYXJlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgSUNvbm5lY3Rpb25FbmRwb2ludFJvdGF0aW9uQ29udGV4dCB9IGZyb20gJy4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25CZWhhdmlvdXJCdWlsZGVyUmVxdWVzdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBzb3VyY2VSZWN0OiBJUm91bmRlZFJlY3QsXG4gICAgcHVibGljIHJlYWRvbmx5IHRhcmdldFJlY3Q6IElSb3VuZGVkUmVjdCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25Db21wb25lbnRzUGFyZW50LFxuICAgIHB1YmxpYyByZWFkb25seSBzb3VyY2VDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLFxuICAgIHB1YmxpYyByZWFkb25seSB0YXJnZXRDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLFxuICAgIHB1YmxpYyByZWFkb25seSBzb3VyY2VSb3RhdGlvbkNvbnRleHQ/OiBJQ29ubmVjdGlvbkVuZHBvaW50Um90YXRpb25Db250ZXh0LFxuICAgIHB1YmxpYyByZWFkb25seSB0YXJnZXRSb3RhdGlvbkNvbnRleHQ/OiBJQ29ubmVjdGlvbkVuZHBvaW50Um90YXRpb25Db250ZXh0LFxuICApIHt9XG59XG4iXX0=
@@ -38,6 +38,8 @@ export class ConnectionBehaviourBuilder {
38
38
  targetRect: request.targetRect,
39
39
  sourceConnectableSide: sourceSide,
40
40
  targetConnectableSide: targetSide,
41
+ sourceRotationContext: request.sourceRotationContext,
42
+ targetRotationContext: request.targetRotationContext,
41
43
  });
42
44
  }
43
45
  /**
@@ -133,4 +135,4 @@ export class ConnectionBehaviourBuilder {
133
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConnectionBehaviourBuilder, decorators: [{
134
136
  type: Injectable
135
137
  }] });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iZWhhdmlvdXItYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uLXYyL3V0aWxzL2Nvbm5lY3Rpb24tYmVoYXZpb3VyL2Nvbm5lY3Rpb24tYmVoYXZpb3VyLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFPcEI7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQixHQUFvQztJQUN6RCxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQjtJQUNqRCxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxFQUFFLG1CQUFtQjtJQUN4RCxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUFFLHFCQUFxQjtDQUNwRCxDQUFDO0FBWUY7Ozs7R0FJRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFDckM7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsT0FBMEM7UUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUMvQyxPQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQ2xDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsRUFDbEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUNsQyxPQUFPLENBQUMsVUFB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O3dHQTlKVSwwQkFBMEI7NEdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3Rpb25CZWhhdmlvdXJCdWlsZGVyUmVxdWVzdCB9IGZyb20gJy4vY29ubmVjdGlvbi1iZWhhdmlvdXItYnVpbGRlci1yZXF1ZXN0JztcbmltcG9ydCB7IElMaW5lIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBmaXhlZENlbnRlckJlaGF2aW9yLCBmaXhlZE91dGJvdW5kQmVoYXZpb3IsIGZsb2F0aW5nQmVoYXZpb3IgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvbkJlaGF2aW9yLCBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUgfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgSUNhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdCB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTbWFsbCBlcHNpbG9uIHRvIHRyZWF0IG5lYXItemVybyBkaWZmZXJlbmNlcyBhcyBuZWdsaWdpYmxlLlxuICovXG5jb25zdCBFUFNJTE9OID0gMC41O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHNpZ25hdHVyZSBmb3IgYmVoYXZpb3Itc3BlY2lmaWMgY29ubmVjdGlvbiBsaW5lIGhhbmRsZXJzLlxuICovXG50eXBlIEJlaGF2aW9ySGFuZGxlciA9IChhcmdzOiBJQ2FsY3VsYXRlQmVoYXZpb3JSZXF1ZXN0KSA9PiBJTGluZTtcblxuLyoqXG4gKiBSZWdpc3RyeSBvZiBhbGwgY29ubmVjdGlvbiBiZWhhdmlvciBoYW5kbGVycy5cbiAqL1xuY29uc3QgQkVIQVZJT1JfSEFORExFUlM6IFJlY29yZDxzdHJpbmcsIEJlaGF2aW9ySGFuZGxlcj4gPSB7XG4gIFtFRkNvbm5lY3Rpb25CZWhhdmlvci5GTE9BVElOR106IGZsb2F0aW5nQmVoYXZpb3IsXG4gIFtFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRF9DRU5URVJdOiBmaXhlZENlbnRlckJlaGF2aW9yLFxuICBbRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRURdOiBmaXhlZE91dGJvdW5kQmVoYXZpb3IsXG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGRpcmVjdGlvbmFsIGRlbHRhcyBiZXR3ZWVuIHR3byByZWN0YW5nbGVzLlxuICovXG5pbnRlcmZhY2UgSURpcmVjdGlvbmFsVmVjdG9ycyB7XG4gIHNvdXJjZVRvVGFyZ2V0WDogbnVtYmVyO1xuICBzb3VyY2VUb1RhcmdldFk6IG51bWJlcjtcbiAgdGFyZ2V0VG9Tb3VyY2VYOiBudW1iZXI7XG4gIHRhcmdldFRvU291cmNlWTogbnVtYmVyO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZXMgY29ubmVjdGlvbiBsaW5lcyBiYXNlZCBvbiBiZWhhdmlvciBydWxlcy5cbiAqIEl0IGRldGVybWluZXMgd2hpY2ggc2lkZXMgb2YgdGhlIHNvdXJjZSBhbmQgdGFyZ2V0IHNob3VsZCBjb25uZWN0LFxuICogdGhlbiBkZWxlZ2F0ZXMgdG8gYSByZWdpc3RlcmVkIGJlaGF2aW9yIGhhbmRsZXIuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uQmVoYXZpb3VyQnVpbGRlciB7XG4gIC8qKlxuICAgKiBNYWluIGV4ZWN1dGlvbiBlbnRyeSBwb2ludC5cbiAgICpcbiAgICogQHBhcmFtIHJlcXVlc3QgVGhlIHJlcXVlc3QgY29udGFpbmluZyBzb3VyY2UsIHRhcmdldCwgYW5kIGNvbm5lY3Rpb24gZGV0YWlscy5cbiAgICogQHJldHVybnMgQSBjYWxjdWxhdGVkIGNvbm5lY3Rpb24gbGluZSAoSUxpbmUpLlxuICAgKi9cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDb25uZWN0aW9uQmVoYXZpb3VyQnVpbGRlclJlcXVlc3QpOiBJTGluZSB7XG4gICAgY29uc3QgdmVjdG9ycyA9IHRoaXMuX2NhbGN1bGF0ZURpcmVjdGlvbmFsVmVjdG9ycyhcbiAgICAgIHJlcXVlc3Quc291cmNlUmVjdC5ncmF2aXR5Q2VudGVyLngsXG4gICAgICByZXF1ZXN0LnNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlci55LFxuICAgICAgcmVxdWVzdC50YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIueCxcbiAgICAgIHJlcXVlc3QudGFyZ2V0UmVjdC5ncmF2aXR5Q2VudGVyLnksXG4gICAgKTtcblxuICAgIGNvbnN0IHNvdXJjZVNpZGUgPSB0aGlzLl9kZXRlcm1pbmVTb3VyY2VTaWRlKHJlcXVlc3QsIHZlY3RvcnMpO1xuICAgIGNvbnN0IHRhcmdldFNpZGUgPSB0aGlzLl9kZXRlcm1pbmVUYXJnZXRTaWRlKHJlcXVlc3QsIHZlY3RvcnMpO1xuXG4gICAgcmVxdWVzdC5jb25uZWN0aW9uLl9hcHBseVJlc29sdmVkU2lkZXNUb0Nvbm5lY3Rpb24oc291cmNlU2lkZSwgdGFyZ2V0U2lkZSk7XG5cbiAgICBjb25zdCBoYW5kbGVyID0gdGhpcy5fZ2V0QmVoYXZpb3JIYW5kbGVyKHJlcXVlc3QuY29ubmVjdGlvbi5mQmVoYXZpb3IpO1xuXG4gICAgcmV0dXJuIGhhbmRsZXIoe1xuICAgICAgc291cmNlUmVjdDogcmVxdWVzdC5zb3VyY2VSZWN0LFxuICAgICAgdGFyZ2V0UmVjdDogcmVxdWVzdC50YXJnZXRSZWN0LFxuICAgICAgc291cmNlQ29ubmVjdGFibGVTaWRlOiBzb3VyY2VTaWRlLFxuICAgICAgdGFyZ2V0Q29ubmVjdGFibGVTaWRlOiB0YXJnZXRTaWRlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIHRoZSBkaXJlY3Rpb25hbCBkZWx0YXMgYmV0d2VlbiB0d28gcmVjdGFuZ2xlcy5cbiAgICovXG4gIHByaXZhdGUgX2NhbGN1bGF0ZURpcmVjdGlvbmFsVmVjdG9ycyhcbiAgICBzb3VyY2VYOiBudW1iZXIsXG4gICAgc291cmNlWTogbnVtYmVyLFxuICAgIHRhcmdldFg6IG51bWJlcixcbiAgICB0YXJnZXRZOiBudW1iZXIsXG4gICk6IElEaXJlY3Rpb25hbFZlY3RvcnMge1xuICAgIGNvbnN0IHNvdXJjZVRvVGFyZ2V0WCA9IHRhcmdldFggLSBzb3VyY2VYO1xuICAgIGNvbnN0IHNvdXJjZVRvVGFyZ2V0WSA9IHRhcmdldFkgLSBzb3VyY2VZO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNvdXJjZVRvVGFyZ2V0WCxcbiAgICAgIHNvdXJjZVRvVGFyZ2V0WSxcbiAgICAgIHRhcmdldFRvU291cmNlWDogLXNvdXJjZVRvVGFyZ2V0WCxcbiAgICAgIHRhcmdldFRvU291cmNlWTogLXNvdXJjZVRvVGFyZ2V0WSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIHNpZGUgZm9yIHRoZSBzb3VyY2UgZWxlbWVudC5cbiAgICovXG4gIHByaXZhdGUgX2RldGVybWluZVNvdXJjZVNpZGUoXG4gICAgcmVxdWVzdDogQ29ubmVjdGlvbkJlaGF2aW91ckJ1aWxkZXJSZXF1ZXN0LFxuICAgIHZlY3RvcnM6IElEaXJlY3Rpb25hbFZlY3RvcnMsXG4gICk6IEVGQ29ubmVjdGFibGVTaWRlIHtcbiAgICByZXR1cm4gdGhpcy5fcmVzb2x2ZUNvbm5lY3RhYmxlU2lkZShcbiAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi5mT3V0cHV0U2lkZSgpLFxuICAgICAgdmVjdG9ycy5zb3VyY2VUb1RhcmdldFgsXG4gICAgICB2ZWN0b3JzLnNvdXJjZVRvVGFyZ2V0WSxcbiAgICAgIHJlcXVlc3Quc291cmNlQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB0aGUgc2lkZSBmb3IgdGhlIHRhcmdldCBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBfZGV0ZXJtaW5lVGFyZ2V0U2lkZShcbiAgICByZXF1ZXN0OiBDb25uZWN0aW9uQmVoYXZpb3VyQnVpbGRlclJlcXVlc3QsXG4gICAgdmVjdG9yczogSURpcmVjdGlvbmFsVmVjdG9ycyxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIHJldHVybiB0aGlzLl9yZXNvbHZlQ29ubmVjdGFibGVTaWRlKFxuICAgICAgcmVxdWVzdC5jb25uZWN0aW9uLmZJbnB1dFNpZGUoKSxcbiAgICAgIHZlY3RvcnMudGFyZ2V0VG9Tb3VyY2VYLFxuICAgICAgdmVjdG9ycy50YXJnZXRUb1NvdXJjZVksXG4gICAgICByZXF1ZXN0LnRhcmdldENvbm5lY3RhYmxlU2lkZSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIHdoaWNoIHNpZGUgb2YgYSBzaGFwZSB0byBjb25uZWN0IHRvIGJhc2VkIG9uIGRpcmVjdGlvbiwgZmFsbGJhY2ssIGFuZCBjb25uZWN0aW9uIG1vZGUuXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0ZWRTaWRlIFRoZSBzaWRlIG1vZGUgKGUuZy4gQ0FMQ1VMQVRFLCBDQUxDVUxBVEVfSE9SSVpPTlRBTCwgRklYRUQsIGV0Yy4pLlxuICAgKiBAcGFyYW0gZGVsdGFYIERpZmZlcmVuY2UgaW4gWCBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gZGVsdGFZIERpZmZlcmVuY2UgaW4gWSBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gZmFsbGJhY2tTaWRlIFRoZSBkZWZhdWx0IGZhbGxiYWNrIHNpZGUgaWYgY2FsY3VsYXRpb24gaXMgYW1iaWd1b3VzLlxuICAgKi9cbiAgcHJpdmF0ZSBfcmVzb2x2ZUNvbm5lY3RhYmxlU2lkZShcbiAgICByZXF1ZXN0ZWRTaWRlOiBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUsXG4gICAgZGVsdGFYOiBudW1iZXIsXG4gICAgZGVsdGFZOiBudW1iZXIsXG4gICAgZmFsbGJhY2tTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIGlmIChyZXF1ZXN0ZWRTaWRlID09PSBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuREVGQVVMVCkge1xuICAgICAgcmV0dXJuIGZhbGxiYWNrU2lkZTtcbiAgICB9XG5cbiAgICBjb25zdCBhYnNvbHV0ZVggPSBNYXRoLmFicyhkZWx0YVgpO1xuICAgIGNvbnN0IGFic29sdXRlWSA9IE1hdGguYWJzKGRlbHRhWSk7XG4gICAgY29uc3QgaXNOZWFyWmVybyA9IGFic29sdXRlWCA8IEVQU0lMT04gJiYgYWJzb2x1dGVZIDwgRVBTSUxPTjtcblxuICAgIGlmIChpc05lYXJaZXJvKSB7XG4gICAgICByZXR1cm4gZmFsbGJhY2tTaWRlO1xuICAgIH1cblxuICAgIGNvbnN0IGlzSG9yaXpvbnRhbERvbWluYW50ID0gYWJzb2x1dGVYID49IGFic29sdXRlWTtcblxuICAgIHN3aXRjaCAocmVxdWVzdGVkU2lkZSkge1xuICAgICAgY2FzZSBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuQ0FMQ1VMQVRFOlxuICAgICAgICByZXR1cm4gaXNIb3Jpem9udGFsRG9taW5hbnRcbiAgICAgICAgICA/IGRlbHRhWCA+PSAwXG4gICAgICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUXG4gICAgICAgICAgICA6IEVGQ29ubmVjdGFibGVTaWRlLkxFRlRcbiAgICAgICAgICA6IGRlbHRhWSA+PSAwXG4gICAgICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTVxuICAgICAgICAgICAgOiBFRkNvbm5lY3RhYmxlU2lkZS5UT1A7XG5cbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkNBTENVTEFURV9IT1JJWk9OVEFMOlxuICAgICAgICBpZiAoYWJzb2x1dGVYIDwgRVBTSUxPTikge1xuICAgICAgICAgIHJldHVybiBmYWxsYmFja1NpZGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGVsdGFYID49IDAgPyBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVCA6IEVGQ29ubmVjdGFibGVTaWRlLkxFRlQ7XG5cbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkNBTENVTEFURV9WRVJUSUNBTDpcbiAgICAgICAgaWYgKGFic29sdXRlWSA8IEVQU0lMT04pIHtcbiAgICAgICAgICByZXR1cm4gZmFsbGJhY2tTaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRlbHRhWSA+PSAwID8gRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NIDogRUZDb25uZWN0YWJsZVNpZGUuVE9QO1xuXG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5UT1A6XG4gICAgICAgIHJldHVybiBFRkNvbm5lY3RhYmxlU2lkZS5UT1A7XG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5CT1RUT006XG4gICAgICAgIHJldHVybiBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT007XG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5MRUZUOlxuICAgICAgICByZXR1cm4gRUZDb25uZWN0YWJsZVNpZGUuTEVGVDtcbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgICByZXR1cm4gRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxsYmFja1NpZGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIGhhbmRsZXIgZm9yIHRoZSBnaXZlbiBjb25uZWN0aW9uIGJlaGF2aW9yLlxuICAgKlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIG5vIGhhbmRsZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhlIGJlaGF2aW9yLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0QmVoYXZpb3JIYW5kbGVyKGJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvcik6IEJlaGF2aW9ySGFuZGxlciB7XG4gICAgY29uc3QgaGFuZGxlciA9IEJFSEFWSU9SX0hBTkRMRVJTW2JlaGF2aW9yXTtcbiAgICBpZiAoIWhhbmRsZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgW0JlaGF2aW9yXSBObyBoYW5kbGVyIGZvciBiZWhhdmlvcjogJHtiZWhhdmlvcn1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlcjtcbiAgfVxufVxuIl19
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iZWhhdmlvdXItYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uLXYyL3V0aWxzL2Nvbm5lY3Rpb24tYmVoYXZpb3VyL2Nvbm5lY3Rpb24tYmVoYXZpb3VyLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFPcEI7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQixHQUFvQztJQUN6RCxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQjtJQUNqRCxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxFQUFFLG1CQUFtQjtJQUN4RCxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUFFLHFCQUFxQjtDQUNwRCxDQUFDO0FBWUY7Ozs7R0FJRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFDckM7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsT0FBMEM7UUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUMvQyxPQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQ2xDLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsRUFDbEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUNsQyxPQUFPLENBQUMsVUFB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Qyx1Q0FBdUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzt3R0FoS1UsMEJBQTBCOzRHQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBRHRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uQmVoYXZpb3VyQnVpbGRlclJlcXVlc3QgfSBmcm9tICcuL2Nvbm5lY3Rpb24tYmVoYXZpb3VyLWJ1aWxkZXItcmVxdWVzdCc7XG5pbXBvcnQgeyBJTGluZSB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgZml4ZWRDZW50ZXJCZWhhdmlvciwgZml4ZWRPdXRib3VuZEJlaGF2aW9yLCBmbG9hdGluZ0JlaGF2aW9yIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciwgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IElDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU21hbGwgZXBzaWxvbiB0byB0cmVhdCBuZWFyLXplcm8gZGlmZmVyZW5jZXMgYXMgbmVnbGlnaWJsZS5cbiAqL1xuY29uc3QgRVBTSUxPTiA9IDAuNTtcblxuLyoqXG4gKiBGdW5jdGlvbiBzaWduYXR1cmUgZm9yIGJlaGF2aW9yLXNwZWNpZmljIGNvbm5lY3Rpb24gbGluZSBoYW5kbGVycy5cbiAqL1xudHlwZSBCZWhhdmlvckhhbmRsZXIgPSAoYXJnczogSUNhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdCkgPT4gSUxpbmU7XG5cbi8qKlxuICogUmVnaXN0cnkgb2YgYWxsIGNvbm5lY3Rpb24gYmVoYXZpb3IgaGFuZGxlcnMuXG4gKi9cbmNvbnN0IEJFSEFWSU9SX0hBTkRMRVJTOiBSZWNvcmQ8c3RyaW5nLCBCZWhhdmlvckhhbmRsZXI+ID0ge1xuICBbRUZDb25uZWN0aW9uQmVoYXZpb3IuRkxPQVRJTkddOiBmbG9hdGluZ0JlaGF2aW9yLFxuICBbRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRURfQ0VOVEVSXTogZml4ZWRDZW50ZXJCZWhhdmlvcixcbiAgW0VGQ29ubmVjdGlvbkJlaGF2aW9yLkZJWEVEXTogZml4ZWRPdXRib3VuZEJlaGF2aW9yLFxufTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBkaXJlY3Rpb25hbCBkZWx0YXMgYmV0d2VlbiB0d28gcmVjdGFuZ2xlcy5cbiAqL1xuaW50ZXJmYWNlIElEaXJlY3Rpb25hbFZlY3RvcnMge1xuICBzb3VyY2VUb1RhcmdldFg6IG51bWJlcjtcbiAgc291cmNlVG9UYXJnZXRZOiBudW1iZXI7XG4gIHRhcmdldFRvU291cmNlWDogbnVtYmVyO1xuICB0YXJnZXRUb1NvdXJjZVk6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGVzIGNvbm5lY3Rpb24gbGluZXMgYmFzZWQgb24gYmVoYXZpb3IgcnVsZXMuXG4gKiBJdCBkZXRlcm1pbmVzIHdoaWNoIHNpZGVzIG9mIHRoZSBzb3VyY2UgYW5kIHRhcmdldCBzaG91bGQgY29ubmVjdCxcbiAqIHRoZW4gZGVsZWdhdGVzIHRvIGEgcmVnaXN0ZXJlZCBiZWhhdmlvciBoYW5kbGVyLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvbkJlaGF2aW91ckJ1aWxkZXIge1xuICAvKipcbiAgICogTWFpbiBleGVjdXRpb24gZW50cnkgcG9pbnQuXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0IFRoZSByZXF1ZXN0IGNvbnRhaW5pbmcgc291cmNlLCB0YXJnZXQsIGFuZCBjb25uZWN0aW9uIGRldGFpbHMuXG4gICAqIEByZXR1cm5zIEEgY2FsY3VsYXRlZCBjb25uZWN0aW9uIGxpbmUgKElMaW5lKS5cbiAgICovXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ29ubmVjdGlvbkJlaGF2aW91ckJ1aWxkZXJSZXF1ZXN0KTogSUxpbmUge1xuICAgIGNvbnN0IHZlY3RvcnMgPSB0aGlzLl9jYWxjdWxhdGVEaXJlY3Rpb25hbFZlY3RvcnMoXG4gICAgICByZXF1ZXN0LnNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlci54LFxuICAgICAgcmVxdWVzdC5zb3VyY2VSZWN0LmdyYXZpdHlDZW50ZXIueSxcbiAgICAgIHJlcXVlc3QudGFyZ2V0UmVjdC5ncmF2aXR5Q2VudGVyLngsXG4gICAgICByZXF1ZXN0LnRhcmdldFJlY3QuZ3Jhdml0eUNlbnRlci55LFxuICAgICk7XG5cbiAgICBjb25zdCBzb3VyY2VTaWRlID0gdGhpcy5fZGV0ZXJtaW5lU291cmNlU2lkZShyZXF1ZXN0LCB2ZWN0b3JzKTtcbiAgICBjb25zdCB0YXJnZXRTaWRlID0gdGhpcy5fZGV0ZXJtaW5lVGFyZ2V0U2lkZShyZXF1ZXN0LCB2ZWN0b3JzKTtcblxuICAgIHJlcXVlc3QuY29ubmVjdGlvbi5fYXBwbHlSZXNvbHZlZFNpZGVzVG9Db25uZWN0aW9uKHNvdXJjZVNpZGUsIHRhcmdldFNpZGUpO1xuXG4gICAgY29uc3QgaGFuZGxlciA9IHRoaXMuX2dldEJlaGF2aW9ySGFuZGxlcihyZXF1ZXN0LmNvbm5lY3Rpb24uZkJlaGF2aW9yKTtcblxuICAgIHJldHVybiBoYW5kbGVyKHtcbiAgICAgIHNvdXJjZVJlY3Q6IHJlcXVlc3Quc291cmNlUmVjdCxcbiAgICAgIHRhcmdldFJlY3Q6IHJlcXVlc3QudGFyZ2V0UmVjdCxcbiAgICAgIHNvdXJjZUNvbm5lY3RhYmxlU2lkZTogc291cmNlU2lkZSxcbiAgICAgIHRhcmdldENvbm5lY3RhYmxlU2lkZTogdGFyZ2V0U2lkZSxcbiAgICAgIHNvdXJjZVJvdGF0aW9uQ29udGV4dDogcmVxdWVzdC5zb3VyY2VSb3RhdGlvbkNvbnRleHQsXG4gICAgICB0YXJnZXRSb3RhdGlvbkNvbnRleHQ6IHJlcXVlc3QudGFyZ2V0Um90YXRpb25Db250ZXh0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIHRoZSBkaXJlY3Rpb25hbCBkZWx0YXMgYmV0d2VlbiB0d28gcmVjdGFuZ2xlcy5cbiAgICovXG4gIHByaXZhdGUgX2NhbGN1bGF0ZURpcmVjdGlvbmFsVmVjdG9ycyhcbiAgICBzb3VyY2VYOiBudW1iZXIsXG4gICAgc291cmNlWTogbnVtYmVyLFxuICAgIHRhcmdldFg6IG51bWJlcixcbiAgICB0YXJnZXRZOiBudW1iZXIsXG4gICk6IElEaXJlY3Rpb25hbFZlY3RvcnMge1xuICAgIGNvbnN0IHNvdXJjZVRvVGFyZ2V0WCA9IHRhcmdldFggLSBzb3VyY2VYO1xuICAgIGNvbnN0IHNvdXJjZVRvVGFyZ2V0WSA9IHRhcmdldFkgLSBzb3VyY2VZO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNvdXJjZVRvVGFyZ2V0WCxcbiAgICAgIHNvdXJjZVRvVGFyZ2V0WSxcbiAgICAgIHRhcmdldFRvU291cmNlWDogLXNvdXJjZVRvVGFyZ2V0WCxcbiAgICAgIHRhcmdldFRvU291cmNlWTogLXNvdXJjZVRvVGFyZ2V0WSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIHNpZGUgZm9yIHRoZSBzb3VyY2UgZWxlbWVudC5cbiAgICovXG4gIHByaXZhdGUgX2RldGVybWluZVNvdXJjZVNpZGUoXG4gICAgcmVxdWVzdDogQ29ubmVjdGlvbkJlaGF2aW91ckJ1aWxkZXJSZXF1ZXN0LFxuICAgIHZlY3RvcnM6IElEaXJlY3Rpb25hbFZlY3RvcnMsXG4gICk6IEVGQ29ubmVjdGFibGVTaWRlIHtcbiAgICByZXR1cm4gdGhpcy5fcmVzb2x2ZUNvbm5lY3RhYmxlU2lkZShcbiAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi5mT3V0cHV0U2lkZSgpLFxuICAgICAgdmVjdG9ycy5zb3VyY2VUb1RhcmdldFgsXG4gICAgICB2ZWN0b3JzLnNvdXJjZVRvVGFyZ2V0WSxcbiAgICAgIHJlcXVlc3Quc291cmNlQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB0aGUgc2lkZSBmb3IgdGhlIHRhcmdldCBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBfZGV0ZXJtaW5lVGFyZ2V0U2lkZShcbiAgICByZXF1ZXN0OiBDb25uZWN0aW9uQmVoYXZpb3VyQnVpbGRlclJlcXVlc3QsXG4gICAgdmVjdG9yczogSURpcmVjdGlvbmFsVmVjdG9ycyxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIHJldHVybiB0aGlzLl9yZXNvbHZlQ29ubmVjdGFibGVTaWRlKFxuICAgICAgcmVxdWVzdC5jb25uZWN0aW9uLmZJbnB1dFNpZGUoKSxcbiAgICAgIHZlY3RvcnMudGFyZ2V0VG9Tb3VyY2VYLFxuICAgICAgdmVjdG9ycy50YXJnZXRUb1NvdXJjZVksXG4gICAgICByZXF1ZXN0LnRhcmdldENvbm5lY3RhYmxlU2lkZSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIHdoaWNoIHNpZGUgb2YgYSBzaGFwZSB0byBjb25uZWN0IHRvIGJhc2VkIG9uIGRpcmVjdGlvbiwgZmFsbGJhY2ssIGFuZCBjb25uZWN0aW9uIG1vZGUuXG4gICAqXG4gICAqIEBwYXJhbSByZXF1ZXN0ZWRTaWRlIFRoZSBzaWRlIG1vZGUgKGUuZy4gQ0FMQ1VMQVRFLCBDQUxDVUxBVEVfSE9SSVpPTlRBTCwgRklYRUQsIGV0Yy4pLlxuICAgKiBAcGFyYW0gZGVsdGFYIERpZmZlcmVuY2UgaW4gWCBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gZGVsdGFZIERpZmZlcmVuY2UgaW4gWSBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0LlxuICAgKiBAcGFyYW0gZmFsbGJhY2tTaWRlIFRoZSBkZWZhdWx0IGZhbGxiYWNrIHNpZGUgaWYgY2FsY3VsYXRpb24gaXMgYW1iaWd1b3VzLlxuICAgKi9cbiAgcHJpdmF0ZSBfcmVzb2x2ZUNvbm5lY3RhYmxlU2lkZShcbiAgICByZXF1ZXN0ZWRTaWRlOiBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUsXG4gICAgZGVsdGFYOiBudW1iZXIsXG4gICAgZGVsdGFZOiBudW1iZXIsXG4gICAgZmFsbGJhY2tTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIGlmIChyZXF1ZXN0ZWRTaWRlID09PSBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuREVGQVVMVCkge1xuICAgICAgcmV0dXJuIGZhbGxiYWNrU2lkZTtcbiAgICB9XG5cbiAgICBjb25zdCBhYnNvbHV0ZVggPSBNYXRoLmFicyhkZWx0YVgpO1xuICAgIGNvbnN0IGFic29sdXRlWSA9IE1hdGguYWJzKGRlbHRhWSk7XG4gICAgY29uc3QgaXNOZWFyWmVybyA9IGFic29sdXRlWCA8IEVQU0lMT04gJiYgYWJzb2x1dGVZIDwgRVBTSUxPTjtcblxuICAgIGlmIChpc05lYXJaZXJvKSB7XG4gICAgICByZXR1cm4gZmFsbGJhY2tTaWRlO1xuICAgIH1cblxuICAgIGNvbnN0IGlzSG9yaXpvbnRhbERvbWluYW50ID0gYWJzb2x1dGVYID49IGFic29sdXRlWTtcblxuICAgIHN3aXRjaCAocmVxdWVzdGVkU2lkZSkge1xuICAgICAgY2FzZSBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUuQ0FMQ1VMQVRFOlxuICAgICAgICByZXR1cm4gaXNIb3Jpem9udGFsRG9taW5hbnRcbiAgICAgICAgICA/IGRlbHRhWCA+PSAwXG4gICAgICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUXG4gICAgICAgICAgICA6IEVGQ29ubmVjdGFibGVTaWRlLkxFRlRcbiAgICAgICAgICA6IGRlbHRhWSA+PSAwXG4gICAgICAgICAgICA/IEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTVxuICAgICAgICAgICAgOiBFRkNvbm5lY3RhYmxlU2lkZS5UT1A7XG5cbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkNBTENVTEFURV9IT1JJWk9OVEFMOlxuICAgICAgICBpZiAoYWJzb2x1dGVYIDwgRVBTSUxPTikge1xuICAgICAgICAgIHJldHVybiBmYWxsYmFja1NpZGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGVsdGFYID49IDAgPyBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVCA6IEVGQ29ubmVjdGFibGVTaWRlLkxFRlQ7XG5cbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkNBTENVTEFURV9WRVJUSUNBTDpcbiAgICAgICAgaWYgKGFic29sdXRlWSA8IEVQU0lMT04pIHtcbiAgICAgICAgICByZXR1cm4gZmFsbGJhY2tTaWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRlbHRhWSA+PSAwID8gRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NIDogRUZDb25uZWN0YWJsZVNpZGUuVE9QO1xuXG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5UT1A6XG4gICAgICAgIHJldHVybiBFRkNvbm5lY3RhYmxlU2lkZS5UT1A7XG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5CT1RUT006XG4gICAgICAgIHJldHVybiBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT007XG4gICAgICBjYXNlIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5MRUZUOlxuICAgICAgICByZXR1cm4gRUZDb25uZWN0YWJsZVNpZGUuTEVGVDtcbiAgICAgIGNhc2UgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgICByZXR1cm4gRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxsYmFja1NpZGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIGhhbmRsZXIgZm9yIHRoZSBnaXZlbiBjb25uZWN0aW9uIGJlaGF2aW9yLlxuICAgKlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIG5vIGhhbmRsZXIgaXMgcmVnaXN0ZXJlZCBmb3IgdGhlIGJlaGF2aW9yLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0QmVoYXZpb3JIYW5kbGVyKGJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvcik6IEJlaGF2aW9ySGFuZGxlciB7XG4gICAgY29uc3QgaGFuZGxlciA9IEJFSEFWSU9SX0hBTkRMRVJTW2JlaGF2aW9yXTtcbiAgICBpZiAoIWhhbmRsZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgW0JlaGF2aW9yXSBObyBoYW5kbGVyIGZvciBiZWhhdmlvcjogJHtiZWhhdmlvcn1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlcjtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1jYWxjdWxhdGUtYmVoYXZpb3ItcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uLXYyL3V0aWxzL2Nvbm5lY3Rpb24tYmVoYXZpb3VyL21vZGVscy9pLWNhbGN1bGF0ZS1iZWhhdmlvci1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3Qge1xuICBzb3VyY2VSZWN0OiBJUm91bmRlZFJlY3Q7XG4gIHRhcmdldFJlY3Q6IElSb3VuZGVkUmVjdDtcbiAgc291cmNlQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZTtcbiAgdGFyZ2V0Q29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1jYWxjdWxhdGUtYmVoYXZpb3ItcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uLXYyL3V0aWxzL2Nvbm5lY3Rpb24tYmVoYXZpb3VyL21vZGVscy9pLWNhbGN1bGF0ZS1iZWhhdmlvci1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIElSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbm5lY3Rpb25FbmRwb2ludFJvdGF0aW9uQ29udGV4dCB7XG4gIHJvdGF0aW9uRGVnOiBudW1iZXI7XG4gIHBpdm90OiBJUG9pbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdCB7XG4gIHNvdXJjZVJlY3Q6IElSb3VuZGVkUmVjdDtcbiAgdGFyZ2V0UmVjdDogSVJvdW5kZWRSZWN0O1xuICBzb3VyY2VDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlO1xuICB0YXJnZXRDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlO1xuICBzb3VyY2VSb3RhdGlvbkNvbnRleHQ/OiBJQ29ubmVjdGlvbkVuZHBvaW50Um90YXRpb25Db250ZXh0O1xuICB0YXJnZXRSb3RhdGlvbkNvbnRleHQ/OiBJQ29ubmVjdGlvbkVuZHBvaW50Um90YXRpb25Db250ZXh0O1xufVxuIl19
@@ -1,17 +1,17 @@
1
- import { GetIntersections } from '@foblex/2d';
1
+ import { getRotatedRoundedRectIntersection } from './get-rotated-rounded-rect-intersection';
2
2
  /**
3
3
  * Floating behavior calculates the connection line
4
4
  * It constructs a line between the intersections of the connectors rectangles and line from the centers of the connector rectangles
5
5
  * @param payload
6
6
  */
7
- export function floatingBehavior({ sourceRect, targetRect }) {
8
- return _getIntersectionsLine(_fromRoundedRectIntersections(sourceRect, targetRect), _toRoundedRectIntersections(sourceRect, targetRect), sourceRect, targetRect);
7
+ export function floatingBehavior({ sourceRect, targetRect, sourceRotationContext, targetRotationContext, }) {
8
+ return _getIntersectionsLine(_fromRoundedRectIntersections(sourceRect, targetRect, sourceRotationContext), _toRoundedRectIntersections(sourceRect, targetRect, targetRotationContext), sourceRect, targetRect);
9
9
  }
10
- function _fromRoundedRectIntersections(sourceRect, targetRect) {
11
- return GetIntersections.getRoundedRectIntersections(sourceRect.gravityCenter, targetRect.gravityCenter, sourceRect)[0];
10
+ function _fromRoundedRectIntersections(sourceRect, targetRect, rotationContext) {
11
+ return getRotatedRoundedRectIntersection(sourceRect.gravityCenter, targetRect.gravityCenter, sourceRect, rotationContext);
12
12
  }
13
- function _toRoundedRectIntersections(sourceRect, targetRect) {
14
- return GetIntersections.getRoundedRectIntersections(targetRect.gravityCenter, sourceRect.gravityCenter, targetRect)[0];
13
+ function _toRoundedRectIntersections(sourceRect, targetRect, rotationContext) {
14
+ return getRotatedRoundedRectIntersection(targetRect.gravityCenter, sourceRect.gravityCenter, targetRect, rotationContext);
15
15
  }
16
16
  function _getIntersectionsLine(from, to, sourceRect, targetRect) {
17
17
  return {
@@ -19,4 +19,4 @@ function _getIntersectionsLine(from, to, sourceRect, targetRect) {
19
19
  point2: to ? to : targetRect.gravityCenter,
20
20
  };
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWJlaGF2aW91ci91dGlscy9mbG9hdGluZy1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQStCLE1BQU0sWUFBWSxDQUFDO0FBRzNFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUE2QjtJQUNwRixPQUFPLHFCQUFxQixDQUMxQiw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQ3JELDJCQUEyQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFDbkQsVUFBVSxFQUNWLFVBQVUsQ0FDWCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsNkJBQTZCLENBQUMsVUFBd0IsRUFBRSxVQUF3QjtJQUN2RixPQUFPLGdCQUFnQixDQUFDLDJCQUEyQixDQUNqRCxVQUFVLENBQUMsYUFBYSxFQUN4QixVQUFVLENBQUMsYUFBYSxFQUN4QixVQUFVLENBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLFVBQXdCLEVBQUUsVUFBd0I7SUFDckYsT0FBTyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FDakQsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUNYLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FDNUIsSUFBWSxFQUNaLEVBQVUsRUFDVixVQUF3QixFQUN4QixVQUF3QjtJQUV4QixPQUFPO1FBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYTtRQUM5QyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhO0tBQzNDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0SW50ZXJzZWN0aW9ucywgSUxpbmUsIElQb2ludCwgSVJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJQ2FsY3VsYXRlQmVoYXZpb3JSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWxzJztcblxuLyoqXG4gKiBGbG9hdGluZyBiZWhhdmlvciBjYWxjdWxhdGVzIHRoZSBjb25uZWN0aW9uIGxpbmVcbiAqIEl0IGNvbnN0cnVjdHMgYSBsaW5lIGJldHdlZW4gdGhlIGludGVyc2VjdGlvbnMgb2YgdGhlIGNvbm5lY3RvcnMgcmVjdGFuZ2xlcyBhbmQgbGluZSBmcm9tIHRoZSBjZW50ZXJzIG9mIHRoZSBjb25uZWN0b3IgcmVjdGFuZ2xlc1xuICogQHBhcmFtIHBheWxvYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsb2F0aW5nQmVoYXZpb3IoeyBzb3VyY2VSZWN0LCB0YXJnZXRSZWN0IH06IElDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QpOiBJTGluZSB7XG4gIHJldHVybiBfZ2V0SW50ZXJzZWN0aW9uc0xpbmUoXG4gICAgX2Zyb21Sb3VuZGVkUmVjdEludGVyc2VjdGlvbnMoc291cmNlUmVjdCwgdGFyZ2V0UmVjdCksXG4gICAgX3RvUm91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKHNvdXJjZVJlY3QsIHRhcmdldFJlY3QpLFxuICAgIHNvdXJjZVJlY3QsXG4gICAgdGFyZ2V0UmVjdCxcbiAgKTtcbn1cblxuZnVuY3Rpb24gX2Zyb21Sb3VuZGVkUmVjdEludGVyc2VjdGlvbnMoc291cmNlUmVjdDogSVJvdW5kZWRSZWN0LCB0YXJnZXRSZWN0OiBJUm91bmRlZFJlY3QpIHtcbiAgcmV0dXJuIEdldEludGVyc2VjdGlvbnMuZ2V0Um91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKFxuICAgIHNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICB0YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgc291cmNlUmVjdCxcbiAgKVswXTtcbn1cblxuZnVuY3Rpb24gX3RvUm91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKHNvdXJjZVJlY3Q6IElSb3VuZGVkUmVjdCwgdGFyZ2V0UmVjdDogSVJvdW5kZWRSZWN0KSB7XG4gIHJldHVybiBHZXRJbnRlcnNlY3Rpb25zLmdldFJvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhcbiAgICB0YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgc291cmNlUmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgIHRhcmdldFJlY3QsXG4gIClbMF07XG59XG5cbmZ1bmN0aW9uIF9nZXRJbnRlcnNlY3Rpb25zTGluZShcbiAgZnJvbTogSVBvaW50LFxuICB0bzogSVBvaW50LFxuICBzb3VyY2VSZWN0OiBJUm91bmRlZFJlY3QsXG4gIHRhcmdldFJlY3Q6IElSb3VuZGVkUmVjdCxcbik6IElMaW5lIHtcbiAgcmV0dXJuIHtcbiAgICBwb2ludDE6IGZyb20gPyBmcm9tIDogc291cmNlUmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgIHBvaW50MjogdG8gPyB0byA6IHRhcmdldFJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgfTtcbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctYmVoYXZpb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jb25uZWN0aW9uLWJlaGF2aW91ci91dGlscy9mbG9hdGluZy1iZWhhdmlvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU1Rjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEVBQy9CLFVBQVUsRUFDVixVQUFVLEVBQ1YscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUNLO0lBQzFCLE9BQU8scUJBQXFCLENBQzFCLDZCQUE2QixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUscUJBQXFCLENBQUMsRUFDNUUsMkJBQTJCLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsQ0FBQyxFQUMxRSxVQUFVLEVBQ1YsVUFBVSxDQUNYLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyw2QkFBNkIsQ0FDcEMsVUFBd0IsRUFDeEIsVUFBd0IsRUFDeEIsZUFBbUU7SUFFbkUsT0FBTyxpQ0FBaUMsQ0FDdEMsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxDQUFDLGFBQWEsRUFDeEIsVUFBVSxFQUNWLGVBQWUsQ0FDaEIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLDJCQUEyQixDQUNsQyxVQUF3QixFQUN4QixVQUF3QixFQUN4QixlQUFtRTtJQUVuRSxPQUFPLGlDQUFpQyxDQUN0QyxVQUFVLENBQUMsYUFBYSxFQUN4QixVQUFVLENBQUMsYUFBYSxFQUN4QixVQUFVLEVBQ1YsZUFBZSxDQUNoQixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQzVCLElBQXdCLEVBQ3hCLEVBQXNCLEVBQ3RCLFVBQXdCLEVBQ3hCLFVBQXdCO0lBRXhCLE9BQU87UUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhO1FBQzlDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGFBQWE7S0FDM0MsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGluZSwgSVBvaW50LCBJUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgZ2V0Um90YXRlZFJvdW5kZWRSZWN0SW50ZXJzZWN0aW9uIH0gZnJvbSAnLi9nZXQtcm90YXRlZC1yb3VuZGVkLXJlY3QtaW50ZXJzZWN0aW9uJztcblxuLyoqXG4gKiBGbG9hdGluZyBiZWhhdmlvciBjYWxjdWxhdGVzIHRoZSBjb25uZWN0aW9uIGxpbmVcbiAqIEl0IGNvbnN0cnVjdHMgYSBsaW5lIGJldHdlZW4gdGhlIGludGVyc2VjdGlvbnMgb2YgdGhlIGNvbm5lY3RvcnMgcmVjdGFuZ2xlcyBhbmQgbGluZSBmcm9tIHRoZSBjZW50ZXJzIG9mIHRoZSBjb25uZWN0b3IgcmVjdGFuZ2xlc1xuICogQHBhcmFtIHBheWxvYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsb2F0aW5nQmVoYXZpb3Ioe1xuICBzb3VyY2VSZWN0LFxuICB0YXJnZXRSZWN0LFxuICBzb3VyY2VSb3RhdGlvbkNvbnRleHQsXG4gIHRhcmdldFJvdGF0aW9uQ29udGV4dCxcbn06IElDYWxjdWxhdGVCZWhhdmlvclJlcXVlc3QpOiBJTGluZSB7XG4gIHJldHVybiBfZ2V0SW50ZXJzZWN0aW9uc0xpbmUoXG4gICAgX2Zyb21Sb3VuZGVkUmVjdEludGVyc2VjdGlvbnMoc291cmNlUmVjdCwgdGFyZ2V0UmVjdCwgc291cmNlUm90YXRpb25Db250ZXh0KSxcbiAgICBfdG9Sb3VuZGVkUmVjdEludGVyc2VjdGlvbnMoc291cmNlUmVjdCwgdGFyZ2V0UmVjdCwgdGFyZ2V0Um90YXRpb25Db250ZXh0KSxcbiAgICBzb3VyY2VSZWN0LFxuICAgIHRhcmdldFJlY3QsXG4gICk7XG59XG5cbmZ1bmN0aW9uIF9mcm9tUm91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKFxuICBzb3VyY2VSZWN0OiBJUm91bmRlZFJlY3QsXG4gIHRhcmdldFJlY3Q6IElSb3VuZGVkUmVjdCxcbiAgcm90YXRpb25Db250ZXh0OiBJQ2FsY3VsYXRlQmVoYXZpb3JSZXF1ZXN0Wydzb3VyY2VSb3RhdGlvbkNvbnRleHQnXSxcbikge1xuICByZXR1cm4gZ2V0Um90YXRlZFJvdW5kZWRSZWN0SW50ZXJzZWN0aW9uKFxuICAgIHNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICB0YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgc291cmNlUmVjdCxcbiAgICByb3RhdGlvbkNvbnRleHQsXG4gICk7XG59XG5cbmZ1bmN0aW9uIF90b1JvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhcbiAgc291cmNlUmVjdDogSVJvdW5kZWRSZWN0LFxuICB0YXJnZXRSZWN0OiBJUm91bmRlZFJlY3QsXG4gIHJvdGF0aW9uQ29udGV4dDogSUNhbGN1bGF0ZUJlaGF2aW9yUmVxdWVzdFsndGFyZ2V0Um90YXRpb25Db250ZXh0J10sXG4pIHtcbiAgcmV0dXJuIGdldFJvdGF0ZWRSb3VuZGVkUmVjdEludGVyc2VjdGlvbihcbiAgICB0YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgc291cmNlUmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgIHRhcmdldFJlY3QsXG4gICAgcm90YXRpb25Db250ZXh0LFxuICApO1xufVxuXG5mdW5jdGlvbiBfZ2V0SW50ZXJzZWN0aW9uc0xpbmUoXG4gIGZyb206IElQb2ludCB8IHVuZGVmaW5lZCxcbiAgdG86IElQb2ludCB8IHVuZGVmaW5lZCxcbiAgc291cmNlUmVjdDogSVJvdW5kZWRSZWN0LFxuICB0YXJnZXRSZWN0OiBJUm91bmRlZFJlY3QsXG4pOiBJTGluZSB7XG4gIHJldHVybiB7XG4gICAgcG9pbnQxOiBmcm9tID8gZnJvbSA6IHNvdXJjZVJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICBwb2ludDI6IHRvID8gdG8gOiB0YXJnZXRSZWN0LmdyYXZpdHlDZW50ZXIsXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { GetIntersections, RoundedRect } from '@foblex/2d';
2
+ export function getRotatedRoundedRectIntersection(from, to, rect, rotationContext) {
3
+ if (!rotationContext || !rotationContext.rotationDeg) {
4
+ return GetIntersections.getRoundedRectIntersections(from, to, rect)[0];
5
+ }
6
+ const localFrom = _rotatePoint(from, -rotationContext.rotationDeg, rotationContext.pivot);
7
+ const localTo = _rotatePoint(to, -rotationContext.rotationDeg, rotationContext.pivot);
8
+ const localRect = _rotateRect(rect, -rotationContext.rotationDeg, rotationContext.pivot);
9
+ const intersection = GetIntersections.getRoundedRectIntersections(localFrom, localTo, localRect)[0];
10
+ return intersection
11
+ ? _rotatePoint(intersection, rotationContext.rotationDeg, rotationContext.pivot)
12
+ : undefined;
13
+ }
14
+ function _rotateRect(rect, rotationDeg, pivot) {
15
+ const center = _rotatePoint(_getRectCenter(rect), rotationDeg, pivot);
16
+ return new RoundedRect(center.x - rect.width / 2, center.y - rect.height / 2, rect.width, rect.height, rect.radius1, rect.radius2, rect.radius3, rect.radius4);
17
+ }
18
+ function _getRectCenter(rect) {
19
+ return {
20
+ x: rect.x + rect.width / 2,
21
+ y: rect.y + rect.height / 2,
22
+ };
23
+ }
24
+ function _rotatePoint(point, rotationDeg, pivot) {
25
+ const translatedX = point.x - pivot.x;
26
+ const translatedY = point.y - pivot.y;
27
+ const theta = (rotationDeg * Math.PI) / 180;
28
+ const cosTheta = Math.cos(theta);
29
+ const sinTheta = Math.sin(theta);
30
+ return {
31
+ x: translatedX * cosTheta - translatedY * sinTheta + pivot.x,
32
+ y: translatedX * sinTheta + translatedY * cosTheta + pivot.y,
33
+ };
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXJvdGF0ZWQtcm91bmRlZC1yZWN0LWludGVyc2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uLXYyL3V0aWxzL2Nvbm5lY3Rpb24tYmVoYXZpb3VyL3V0aWxzL2dldC1yb3RhdGVkLXJvdW5kZWQtcmVjdC1pbnRlcnNlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUF3QixXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHakYsTUFBTSxVQUFVLGlDQUFpQyxDQUMvQyxJQUFZLEVBQ1osRUFBVSxFQUNWLElBQWtCLEVBQ2xCLGVBQW9EO0lBRXBELElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckQsT0FBTyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUYsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RixNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FDL0QsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLENBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVMLE9BQU8sWUFBWTtRQUNqQixDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUM7UUFDaEYsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBa0IsRUFBRSxXQUFtQixFQUFFLEtBQWE7SUFDekUsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFdEUsT0FBTyxJQUFJLFdBQVcsQ0FDcEIsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFDekIsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDMUIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxJQUFrQjtJQUN4QyxPQUFPO1FBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDO1FBQzFCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztLQUM1QixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEtBQWEsRUFBRSxXQUFtQixFQUFFLEtBQWE7SUFDckUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUV0QyxNQUFNLEtBQUssR0FBRyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVqQyxPQUFPO1FBQ0wsQ0FBQyxFQUFFLFdBQVcsR0FBRyxRQUFRLEdBQUcsV0FBVyxHQUFHLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUM1RCxDQUFDLEVBQUUsV0FBVyxHQUFHLFFBQVEsR0FBRyxXQUFXLEdBQUcsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDO0tBQzdELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0SW50ZXJzZWN0aW9ucywgSVBvaW50LCBJUm91bmRlZFJlY3QsIFJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJQ29ubmVjdGlvbkVuZHBvaW50Um90YXRpb25Db250ZXh0IH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvdGF0ZWRSb3VuZGVkUmVjdEludGVyc2VjdGlvbihcbiAgZnJvbTogSVBvaW50LFxuICB0bzogSVBvaW50LFxuICByZWN0OiBJUm91bmRlZFJlY3QsXG4gIHJvdGF0aW9uQ29udGV4dD86IElDb25uZWN0aW9uRW5kcG9pbnRSb3RhdGlvbkNvbnRleHQsXG4pOiBJUG9pbnQgfCB1bmRlZmluZWQge1xuICBpZiAoIXJvdGF0aW9uQ29udGV4dCB8fCAhcm90YXRpb25Db250ZXh0LnJvdGF0aW9uRGVnKSB7XG4gICAgcmV0dXJuIEdldEludGVyc2VjdGlvbnMuZ2V0Um91bmRlZFJlY3RJbnRlcnNlY3Rpb25zKGZyb20sIHRvLCByZWN0KVswXTtcbiAgfVxuXG4gIGNvbnN0IGxvY2FsRnJvbSA9IF9yb3RhdGVQb2ludChmcm9tLCAtcm90YXRpb25Db250ZXh0LnJvdGF0aW9uRGVnLCByb3RhdGlvbkNvbnRleHQucGl2b3QpO1xuICBjb25zdCBsb2NhbFRvID0gX3JvdGF0ZVBvaW50KHRvLCAtcm90YXRpb25Db250ZXh0LnJvdGF0aW9uRGVnLCByb3RhdGlvbkNvbnRleHQucGl2b3QpO1xuICBjb25zdCBsb2NhbFJlY3QgPSBfcm90YXRlUmVjdChyZWN0LCAtcm90YXRpb25Db250ZXh0LnJvdGF0aW9uRGVnLCByb3RhdGlvbkNvbnRleHQucGl2b3QpO1xuICBjb25zdCBpbnRlcnNlY3Rpb24gPSBHZXRJbnRlcnNlY3Rpb25zLmdldFJvdW5kZWRSZWN0SW50ZXJzZWN0aW9ucyhcbiAgICBsb2NhbEZyb20sXG4gICAgbG9jYWxUbyxcbiAgICBsb2NhbFJlY3QsXG4gIClbMF07XG5cbiAgcmV0dXJuIGludGVyc2VjdGlvblxuICAgID8gX3JvdGF0ZVBvaW50KGludGVyc2VjdGlvbiwgcm90YXRpb25Db250ZXh0LnJvdGF0aW9uRGVnLCByb3RhdGlvbkNvbnRleHQucGl2b3QpXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIF9yb3RhdGVSZWN0KHJlY3Q6IElSb3VuZGVkUmVjdCwgcm90YXRpb25EZWc6IG51bWJlciwgcGl2b3Q6IElQb2ludCk6IElSb3VuZGVkUmVjdCB7XG4gIGNvbnN0IGNlbnRlciA9IF9yb3RhdGVQb2ludChfZ2V0UmVjdENlbnRlcihyZWN0KSwgcm90YXRpb25EZWcsIHBpdm90KTtcblxuICByZXR1cm4gbmV3IFJvdW5kZWRSZWN0KFxuICAgIGNlbnRlci54IC0gcmVjdC53aWR0aCAvIDIsXG4gICAgY2VudGVyLnkgLSByZWN0LmhlaWdodCAvIDIsXG4gICAgcmVjdC53aWR0aCxcbiAgICByZWN0LmhlaWdodCxcbiAgICByZWN0LnJhZGl1czEsXG4gICAgcmVjdC5yYWRpdXMyLFxuICAgIHJlY3QucmFkaXVzMyxcbiAgICByZWN0LnJhZGl1czQsXG4gICk7XG59XG5cbmZ1bmN0aW9uIF9nZXRSZWN0Q2VudGVyKHJlY3Q6IElSb3VuZGVkUmVjdCk6IElQb2ludCB7XG4gIHJldHVybiB7XG4gICAgeDogcmVjdC54ICsgcmVjdC53aWR0aCAvIDIsXG4gICAgeTogcmVjdC55ICsgcmVjdC5oZWlnaHQgLyAyLFxuICB9O1xufVxuXG5mdW5jdGlvbiBfcm90YXRlUG9pbnQocG9pbnQ6IElQb2ludCwgcm90YXRpb25EZWc6IG51bWJlciwgcGl2b3Q6IElQb2ludCk6IElQb2ludCB7XG4gIGNvbnN0IHRyYW5zbGF0ZWRYID0gcG9pbnQueCAtIHBpdm90Lng7XG4gIGNvbnN0IHRyYW5zbGF0ZWRZID0gcG9pbnQueSAtIHBpdm90Lnk7XG5cbiAgY29uc3QgdGhldGEgPSAocm90YXRpb25EZWcgKiBNYXRoLlBJKSAvIDE4MDtcbiAgY29uc3QgY29zVGhldGEgPSBNYXRoLmNvcyh0aGV0YSk7XG4gIGNvbnN0IHNpblRoZXRhID0gTWF0aC5zaW4odGhldGEpO1xuXG4gIHJldHVybiB7XG4gICAgeDogdHJhbnNsYXRlZFggKiBjb3NUaGV0YSAtIHRyYW5zbGF0ZWRZICogc2luVGhldGEgKyBwaXZvdC54LFxuICAgIHk6IHRyYW5zbGF0ZWRYICogc2luVGhldGEgKyB0cmFuc2xhdGVkWSAqIGNvc1RoZXRhICsgcGl2b3QueSxcbiAgfTtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { normalizeDomElementId } from '@foblex/utils';
2
- export function createGradientDomIdentifier(componentId, sourceId, targetId) {
3
- return normalizeDomElementId('connection_gradient_' + componentId + sourceId + targetId);
2
+ export function createGradientDomIdentifier(componentId) {
3
+ return normalizeDomElementId('connection_gradient_' + componentId);
4
4
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWdyYWRpZW50LWRvbS1pZGVudGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24tdjIvdXRpbHMvY3JlYXRlLWdyYWRpZW50LWRvbS1pZGVudGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLFdBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLFFBQWdCO0lBRWhCLE9BQU8scUJBQXFCLENBQUMsc0JBQXNCLEdBQUcsV0FBVyxHQUFHLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQztBQUMzRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9ybWFsaXplRG9tRWxlbWVudElkIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHcmFkaWVudERvbUlkZW50aWZpZXIoXG4gIGNvbXBvbmVudElkOiBzdHJpbmcsXG4gIHNvdXJjZUlkOiBzdHJpbmcsXG4gIHRhcmdldElkOiBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICByZXR1cm4gbm9ybWFsaXplRG9tRWxlbWVudElkKCdjb25uZWN0aW9uX2dyYWRpZW50XycgKyBjb21wb25lbnRJZCArIHNvdXJjZUlkICsgdGFyZ2V0SWQpO1xufVxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWdyYWRpZW50LWRvbS1pZGVudGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24tdjIvdXRpbHMvY3JlYXRlLWdyYWRpZW50LWRvbS1pZGVudGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsV0FBbUI7SUFDN0QsT0FBTyxxQkFBcUIsQ0FBQyxzQkFBc0IsR0FBRyxXQUFXLENBQUMsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9ybWFsaXplRG9tRWxlbWVudElkIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHcmFkaWVudERvbUlkZW50aWZpZXIoY29tcG9uZW50SWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBub3JtYWxpemVEb21FbGVtZW50SWQoJ2Nvbm5lY3Rpb25fZ3JhZGllbnRfJyArIGNvbXBvbmVudElkKTtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { createGradientDomIdentifier } from './create-gradient-dom-identifier';
2
- export function createGradientDomUrl(componentId, sourceId, targetId) {
3
- return `url(#${createGradientDomIdentifier(componentId, sourceId, targetId)})`;
2
+ export function createGradientDomUrl(componentId) {
3
+ return `url(#${createGradientDomIdentifier(componentId)})`;
4
4
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWdyYWRpZW50LWRvbS11cmwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jcmVhdGUtZ3JhZGllbnQtZG9tLXVybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUvRSxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLFdBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLFFBQWdCO0lBRWhCLE9BQU8sUUFBUSwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUM7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUdyYWRpZW50RG9tSWRlbnRpZmllciB9IGZyb20gJy4vY3JlYXRlLWdyYWRpZW50LWRvbS1pZGVudGlmaWVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUdyYWRpZW50RG9tVXJsKFxuICBjb21wb25lbnRJZDogc3RyaW5nLFxuICBzb3VyY2VJZDogc3RyaW5nLFxuICB0YXJnZXRJZDogc3RyaW5nLFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIGB1cmwoIyR7Y3JlYXRlR3JhZGllbnREb21JZGVudGlmaWVyKGNvbXBvbmVudElkLCBzb3VyY2VJZCwgdGFyZ2V0SWQpfSlgO1xufVxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWdyYWRpZW50LWRvbS11cmwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi12Mi91dGlscy9jcmVhdGUtZ3JhZGllbnQtZG9tLXVybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUvRSxNQUFNLFVBQVUsb0JBQW9CLENBQUMsV0FBbUI7SUFDdEQsT0FBTyxRQUFRLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUdyYWRpZW50RG9tSWRlbnRpZmllciB9IGZyb20gJy4vY3JlYXRlLWdyYWRpZW50LWRvbS1pZGVudGlmaWVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUdyYWRpZW50RG9tVXJsKGNvbXBvbmVudElkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYHVybCgjJHtjcmVhdGVHcmFkaWVudERvbUlkZW50aWZpZXIoY29tcG9uZW50SWQpfSlgO1xufVxuIl19