@plait/mind 0.2.0-next.2 → 0.2.0-next.4

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 (98) hide show
  1. package/constants/node.d.ts +2 -2
  2. package/draw/abstract.d.ts +7 -1
  3. package/draw/indented-link.d.ts +3 -3
  4. package/draw/link/abstract-link.d.ts +2 -2
  5. package/draw/link/logic-link.d.ts +3 -3
  6. package/draw/link.d.ts +3 -3
  7. package/draw/richtext.d.ts +4 -4
  8. package/draw/shape.d.ts +2 -2
  9. package/esm2020/constants/node.mjs +7 -7
  10. package/esm2020/draw/abstract.mjs +38 -13
  11. package/esm2020/draw/indented-link.mjs +14 -13
  12. package/esm2020/draw/link/abstract-link.mjs +1 -1
  13. package/esm2020/draw/link/logic-link.mjs +10 -9
  14. package/esm2020/draw/link.mjs +19 -18
  15. package/esm2020/draw/richtext.mjs +6 -4
  16. package/esm2020/draw/shape.mjs +3 -3
  17. package/esm2020/drawer/quick-insert.drawer.mjs +31 -29
  18. package/esm2020/interfaces/abstract.mjs +7 -1
  19. package/esm2020/interfaces/element.mjs +16 -5
  20. package/esm2020/interfaces/layout.mjs +10 -10
  21. package/esm2020/interfaces/node.mjs +2 -2
  22. package/esm2020/layout-option.mjs +3 -3
  23. package/esm2020/mind.component.mjs +8 -8
  24. package/esm2020/node.component.mjs +23 -28
  25. package/esm2020/plugins/emoji/emoji-base.component.mjs +4 -2
  26. package/esm2020/plugins/emoji/emoji.drawer.mjs +2 -1
  27. package/esm2020/plugins/emoji/with-mind-emoji.mjs +1 -1
  28. package/esm2020/plugins/with-abstract.mjs +21 -8
  29. package/esm2020/plugins/with-dnd.mjs +12 -13
  30. package/esm2020/plugins/with-mind.mjs +19 -16
  31. package/esm2020/queries/get-available-sublayouts-by-element.mjs +10 -11
  32. package/esm2020/queries/get-branch-layouts.mjs +18 -0
  33. package/esm2020/queries/get-correct-layout-by-element.mjs +15 -14
  34. package/esm2020/queries/get-layout-by-element.mjs +1 -1
  35. package/esm2020/queries/get-layout-parent-by-element.mjs +4 -4
  36. package/esm2020/queries/index.mjs +4 -4
  37. package/esm2020/transforms/index.mjs +4 -3
  38. package/esm2020/transforms/layout.mjs +8 -2
  39. package/esm2020/transforms/node.mjs +18 -3
  40. package/esm2020/utils/abstract/common.mjs +52 -18
  41. package/esm2020/utils/abstract/resize.mjs +31 -8
  42. package/esm2020/utils/clipboard.mjs +12 -7
  43. package/esm2020/utils/direction-corrector.mjs +9 -9
  44. package/esm2020/utils/direction-detector.mjs +1 -1
  45. package/esm2020/utils/draw-placeholder.mjs +35 -36
  46. package/esm2020/utils/drop-target-corrector.mjs +11 -11
  47. package/esm2020/utils/graph.mjs +2 -2
  48. package/esm2020/utils/index.mjs +3 -3
  49. package/esm2020/utils/layout.mjs +30 -30
  50. package/esm2020/utils/mind.mjs +292 -0
  51. package/esm2020/utils/node-style/branch.mjs +28 -0
  52. package/esm2020/utils/node-style/index.mjs +3 -0
  53. package/esm2020/utils/node-style/node.mjs +22 -0
  54. package/esm2020/utils/path.mjs +3 -3
  55. package/esm2020/utils/point-placement.mjs +1 -1
  56. package/esm2020/utils/shape.mjs +4 -4
  57. package/esm2020/utils/weak-maps.mjs +1 -2
  58. package/fesm2015/plait-mind.mjs +1572 -1424
  59. package/fesm2015/plait-mind.mjs.map +1 -1
  60. package/fesm2020/plait-mind.mjs +1604 -1455
  61. package/fesm2020/plait-mind.mjs.map +1 -1
  62. package/interfaces/abstract.d.ts +9 -0
  63. package/interfaces/element.d.ts +9 -8
  64. package/interfaces/node.d.ts +8 -8
  65. package/mind.component.d.ts +4 -4
  66. package/node.component.d.ts +5 -5
  67. package/package.json +1 -1
  68. package/plugins/emoji/emoji-base.component.d.ts +3 -1
  69. package/queries/get-available-sublayouts-by-element.d.ts +3 -3
  70. package/queries/get-branch-layouts.d.ts +3 -0
  71. package/queries/get-correct-layout-by-element.d.ts +2 -2
  72. package/queries/get-layout-by-element.d.ts +2 -2
  73. package/queries/get-layout-parent-by-element.d.ts +3 -3
  74. package/queries/index.d.ts +6 -6
  75. package/styles/styles.scss +50 -37
  76. package/transforms/index.d.ts +2 -1
  77. package/transforms/layout.d.ts +2 -2
  78. package/transforms/node.d.ts +1 -0
  79. package/utils/abstract/common.d.ts +6 -1
  80. package/utils/abstract/resize.d.ts +4 -3
  81. package/utils/direction-corrector.d.ts +2 -2
  82. package/utils/direction-detector.d.ts +2 -2
  83. package/utils/draw-placeholder.d.ts +14 -14
  84. package/utils/graph.d.ts +3 -3
  85. package/utils/index.d.ts +2 -2
  86. package/utils/layout.d.ts +10 -10
  87. package/utils/{mindmap.d.ts → mind.d.ts} +11 -10
  88. package/utils/node-style/branch.d.ts +7 -0
  89. package/utils/node-style/index.d.ts +2 -0
  90. package/utils/node-style/node.d.ts +3 -0
  91. package/utils/point-placement.d.ts +2 -2
  92. package/utils/shape.d.ts +2 -2
  93. package/utils/weak-maps.d.ts +2 -4
  94. package/esm2020/queries/get-branch-mindmap-layouts-by-element.mjs +0 -18
  95. package/esm2020/utils/colors.mjs +0 -41
  96. package/esm2020/utils/mindmap.mjs +0 -284
  97. package/queries/get-branch-mindmap-layouts-by-element.d.ts +0 -3
  98. package/utils/colors.d.ts +0 -4
@@ -6,12 +6,12 @@ export declare const ROOT_NODE_STROKE = "#F5F5F5";
6
6
  export declare const ROOT_TOPIC_FONT_SIZE = 18;
7
7
  export declare const NODE_MIN_WIDTH = 18;
8
8
  export declare const COLORS: string[];
9
- export declare enum MindmapNodeShape {
9
+ export declare enum MindNodeShape {
10
10
  roundRectangle = "round-rectangle",
11
11
  underline = "underline"
12
12
  }
13
13
  export declare const ABSTRACT_HANDLE_COLOR = "#6698FF80";
14
14
  export declare const ABSTRACT_INCLUDED_OUTLINE_OFFSET = 3.5;
15
- export declare const ABSTRACT_HANDLE_LENGTH = 12;
15
+ export declare const ABSTRACT_HANDLE_LENGTH = 10;
16
16
  export declare const TOPIC_DEFAULT_MAX_WORD_COUNT = 34;
17
17
  export declare const ABSTRACT_HANDLE_MASK_WIDTH = 8;
@@ -1,4 +1,10 @@
1
1
  import { PlaitBoard } from '@plait/core';
2
2
  import { RoughSVG } from 'roughjs/bin/svg';
3
3
  import { AbstractHandlePosition, MindElement } from '../interfaces';
4
- export declare function drawAbstractIncludedOutline(board: PlaitBoard, roughSVG: RoughSVG, element: MindElement, handlePosition?: AbstractHandlePosition, resizingLocation?: number): SVGGElement;
4
+ export declare function drawAbstractIncludedOutline(board: PlaitBoard, roughSVG: RoughSVG, element: MindElement, activeHandlePosition?: AbstractHandlePosition, resizingLocation?: number): SVGGElement;
5
+ export declare function getHandleOption(isHover: boolean): {
6
+ stroke: string;
7
+ strokeWidth: number;
8
+ fillStyle: string;
9
+ };
10
+ export declare function changeBoardClass(board: PlaitBoard, activeHandlePosition: AbstractHandlePosition | undefined, isHorizontal: boolean): void;
@@ -1,3 +1,3 @@
1
- import { RoughSVG } from 'roughjs/bin/svg';
2
- import { MindmapNode } from '../interfaces/node';
3
- export declare function drawIndentedLink(roughSVG: RoughSVG, node: MindmapNode, child: MindmapNode, defaultStroke?: string | null, needDrawUnderline?: boolean): SVGGElement;
1
+ import { MindNode } from '../interfaces/node';
2
+ import { PlaitBoard } from '@plait/core';
3
+ export declare function drawIndentedLink(board: PlaitBoard, node: MindNode, child: MindNode, defaultStroke?: string | null, needDrawUnderline?: boolean): SVGGElement;
@@ -1,3 +1,3 @@
1
1
  import { PlaitBoard } from '@plait/core';
2
- import { MindmapNode } from '../../interfaces/node';
3
- export declare function drawAbstractLink(board: PlaitBoard, node: MindmapNode, isHorizontal: boolean): SVGGElement;
2
+ import { MindNode } from '../../interfaces/node';
3
+ export declare function drawAbstractLink(board: PlaitBoard, node: MindNode, isHorizontal: boolean): SVGGElement;
@@ -1,3 +1,3 @@
1
- import { RoughSVG } from 'roughjs/bin/svg';
2
- import { MindmapNode } from '../../interfaces/node';
3
- export declare function drawLogicLink(roughSVG: RoughSVG, node: MindmapNode, parent: MindmapNode, isHorizontal: boolean): SVGGElement;
1
+ import { MindNode } from '../../interfaces/node';
2
+ import { PlaitBoard } from '@plait/core';
3
+ export declare function drawLogicLink(board: PlaitBoard, node: MindNode, parent: MindNode, isHorizontal: boolean): SVGGElement;
package/draw/link.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { RoughSVG } from 'roughjs/bin/svg';
2
- import { MindmapNode } from '../interfaces/node';
3
- export declare function drawLink(roughSVG: RoughSVG, node: MindmapNode, child: MindmapNode, defaultStroke?: string | null, isHorizontal?: boolean, needDrawUnderline?: boolean): SVGGElement;
1
+ import { MindNode } from '../interfaces/node';
2
+ import { PlaitBoard } from '@plait/core';
3
+ export declare function drawLink(board: PlaitBoard, node: MindNode, child: MindNode, defaultStroke?: string | null, isHorizontal?: boolean, needDrawUnderline?: boolean): SVGGElement;
@@ -1,12 +1,12 @@
1
1
  import { ViewContainerRef } from '@angular/core';
2
- import { MindmapNode } from '../interfaces/node';
3
- export declare function drawMindmapNodeRichtext(node: MindmapNode, viewContainerRef: ViewContainerRef): {
2
+ import { MindNode } from '../interfaces/node';
3
+ export declare function drawMindNodeRichtext(node: MindNode, viewContainerRef: ViewContainerRef): {
4
4
  richtextComponentRef: import("@angular/core").ComponentRef<import("@plait/richtext").PlaitRichtextComponent>;
5
5
  richtextG: SVGGElement;
6
6
  foreignObject: SVGForeignObjectElement;
7
7
  };
8
- export declare function updateMindNodeTopicSize(node: MindmapNode, g: SVGGElement, isEditable: boolean): void;
9
- export declare function getRichtextRectangleByNode(node: MindmapNode): {
8
+ export declare function updateMindNodeTopicSize(node: MindNode, g: SVGGElement, isEditable: boolean): void;
9
+ export declare function getRichtextRectangleByNode(node: MindNode): {
10
10
  width: number;
11
11
  height: number;
12
12
  x: number;
package/draw/shape.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { MindmapNode } from '../interfaces/node';
1
+ import { MindNode } from '../interfaces/node';
2
2
  import { PlaitBoard } from '@plait/core';
3
- export declare function drawRectangleNode(board: PlaitBoard, node: MindmapNode): SVGGElement;
3
+ export declare function drawRectangleNode(board: PlaitBoard, node: MindNode): SVGGElement;
@@ -6,14 +6,14 @@ export const ROOT_NODE_STROKE = '#F5F5F5';
6
6
  export const ROOT_TOPIC_FONT_SIZE = 18;
7
7
  export const NODE_MIN_WIDTH = 18;
8
8
  export const COLORS = ['#A287E1', '#6F81DB', '#6EC4C4', '#DFB85D', '#B1C774', '#77C386', '#C28976', '#E48484', '#E482D4', '#69B1E4'];
9
- export var MindmapNodeShape;
10
- (function (MindmapNodeShape) {
11
- MindmapNodeShape["roundRectangle"] = "round-rectangle";
12
- MindmapNodeShape["underline"] = "underline";
13
- })(MindmapNodeShape || (MindmapNodeShape = {}));
9
+ export var MindNodeShape;
10
+ (function (MindNodeShape) {
11
+ MindNodeShape["roundRectangle"] = "round-rectangle";
12
+ MindNodeShape["underline"] = "underline";
13
+ })(MindNodeShape || (MindNodeShape = {}));
14
14
  export const ABSTRACT_HANDLE_COLOR = '#6698FF80'; //PRIMARY_COLOR 50% 透明度
15
15
  export const ABSTRACT_INCLUDED_OUTLINE_OFFSET = 3.5;
16
- export const ABSTRACT_HANDLE_LENGTH = 12;
16
+ export const ABSTRACT_HANDLE_LENGTH = 10;
17
17
  export const TOPIC_DEFAULT_MAX_WORD_COUNT = 34;
18
18
  export const ABSTRACT_HANDLE_MASK_WIDTH = 8;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2NvbnN0YW50cy9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztBQUNsQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRXJJLE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDeEIsc0RBQWtDLENBQUE7SUFDbEMsMkNBQXVCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxXQUFXLENBQUMsQ0FBQyx1QkFBdUI7QUFDekUsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxDQUFDO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxFQUFFLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRPUElDX0NPTE9SID0gJyMzMzMnO1xuZXhwb3J0IGNvbnN0IFRPUElDX0ZPTlRfU0laRSA9IDE0O1xuZXhwb3J0IGNvbnN0IE5PREVfRklMTCA9ICcjRkZGRkZGJztcbmV4cG9ydCBjb25zdCBST09UX05PREVfRklMTCA9ICcjRjVGNUY1JztcbmV4cG9ydCBjb25zdCBST09UX05PREVfU1RST0tFID0gJyNGNUY1RjUnO1xuZXhwb3J0IGNvbnN0IFJPT1RfVE9QSUNfRk9OVF9TSVpFID0gMTg7XG5leHBvcnQgY29uc3QgTk9ERV9NSU5fV0lEVEggPSAxODtcblxuZXhwb3J0IGNvbnN0IENPTE9SUyA9IFsnI0EyODdFMScsICcjNkY4MURCJywgJyM2RUM0QzQnLCAnI0RGQjg1RCcsICcjQjFDNzc0JywgJyM3N0MzODYnLCAnI0MyODk3NicsICcjRTQ4NDg0JywgJyNFNDgyRDQnLCAnIzY5QjFFNCddO1xuXG5leHBvcnQgZW51bSBNaW5kbWFwTm9kZVNoYXBlIHtcbiAgICByb3VuZFJlY3RhbmdsZSA9ICdyb3VuZC1yZWN0YW5nbGUnLFxuICAgIHVuZGVybGluZSA9ICd1bmRlcmxpbmUnXG59XG5cbmV4cG9ydCBjb25zdCBBQlNUUkFDVF9IQU5ETEVfQ09MT1IgPSAnIzY2OThGRjgwJzsgLy9QUklNQVJZX0NPTE9SIDUwJSDpgI/mmI7luqZcbmV4cG9ydCBjb25zdCBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVCA9IDMuNTtcbmV4cG9ydCBjb25zdCBBQlNUUkFDVF9IQU5ETEVfTEVOR1RIID0gMTI7XG5cbmV4cG9ydCBjb25zdCBUT1BJQ19ERUZBVUxUX01BWF9XT1JEX0NPVU5UID0gMzQ7XG5leHBvcnQgY29uc3QgQUJTVFJBQ1RfSEFORExFX01BU0tfV0lEVEggPSA4O1xuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2NvbnN0YW50cy9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztBQUNsQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRXJJLE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDckIsbURBQWtDLENBQUE7SUFDbEMsd0NBQXVCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCO0FBRUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsV0FBVyxDQUFDLENBQUMsdUJBQXVCO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsRUFBRSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUT1BJQ19DT0xPUiA9ICcjMzMzJztcbmV4cG9ydCBjb25zdCBUT1BJQ19GT05UX1NJWkUgPSAxNDtcbmV4cG9ydCBjb25zdCBOT0RFX0ZJTEwgPSAnI0ZGRkZGRic7XG5leHBvcnQgY29uc3QgUk9PVF9OT0RFX0ZJTEwgPSAnI0Y1RjVGNSc7XG5leHBvcnQgY29uc3QgUk9PVF9OT0RFX1NUUk9LRSA9ICcjRjVGNUY1JztcbmV4cG9ydCBjb25zdCBST09UX1RPUElDX0ZPTlRfU0laRSA9IDE4O1xuZXhwb3J0IGNvbnN0IE5PREVfTUlOX1dJRFRIID0gMTg7XG5cbmV4cG9ydCBjb25zdCBDT0xPUlMgPSBbJyNBMjg3RTEnLCAnIzZGODFEQicsICcjNkVDNEM0JywgJyNERkI4NUQnLCAnI0IxQzc3NCcsICcjNzdDMzg2JywgJyNDMjg5NzYnLCAnI0U0ODQ4NCcsICcjRTQ4MkQ0JywgJyM2OUIxRTQnXTtcblxuZXhwb3J0IGVudW0gTWluZE5vZGVTaGFwZSB7XG4gICAgcm91bmRSZWN0YW5nbGUgPSAncm91bmQtcmVjdGFuZ2xlJyxcbiAgICB1bmRlcmxpbmUgPSAndW5kZXJsaW5lJ1xufVxuXG5leHBvcnQgY29uc3QgQUJTVFJBQ1RfSEFORExFX0NPTE9SID0gJyM2Njk4RkY4MCc7IC8vUFJJTUFSWV9DT0xPUiA1MCUg6YCP5piO5bqmXG5leHBvcnQgY29uc3QgQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVQgPSAzLjU7XG5leHBvcnQgY29uc3QgQUJTVFJBQ1RfSEFORExFX0xFTkdUSCA9IDEwO1xuXG5leHBvcnQgY29uc3QgVE9QSUNfREVGQVVMVF9NQVhfV09SRF9DT1VOVCA9IDM0O1xuZXhwb3J0IGNvbnN0IEFCU1RSQUNUX0hBTkRMRV9NQVNLX1dJRFRIID0gODtcbiJdfQ==
@@ -1,32 +1,27 @@
1
- import { drawAbstractRoundRectangle, createG, getRectangleByElements, RectangleClient } from '@plait/core';
1
+ import { drawAbstractRoundRectangle, createG, getRectangleByElements, PlaitBoard, RectangleClient } from '@plait/core';
2
2
  import { ABSTRACT_HANDLE_COLOR, ABSTRACT_HANDLE_LENGTH, ABSTRACT_INCLUDED_OUTLINE_OFFSET, PRIMARY_COLOR } from '../constants';
3
3
  import { AbstractHandlePosition, MindElement } from '../interfaces';
4
4
  import { isHorizontalLayout } from '@plait/layouts';
5
- import { MindmapQueries } from '../queries';
5
+ import { MindQueries } from '../queries';
6
6
  import { getLayoutDirection, getPointByPlacement, movePoint, transformPlacement } from '../utils/point-placement';
7
7
  import { HorizontalPlacement, VerticalPlacement } from '../interfaces/types';
8
8
  import { getRectangleByResizingLocation } from '../utils/abstract/resize';
9
- export function drawAbstractIncludedOutline(board, roughSVG, element, handlePosition = AbstractHandlePosition.start, resizingLocation) {
9
+ export function drawAbstractIncludedOutline(board, roughSVG, element, activeHandlePosition, resizingLocation) {
10
10
  const abstractIncludedG = createG();
11
11
  const parentElement = MindElement.getParent(element);
12
- const nodeLayout = MindmapQueries.getCorrectLayoutByElement(element);
12
+ const nodeLayout = MindQueries.getCorrectLayoutByElement(element);
13
13
  const isHorizontal = isHorizontalLayout(nodeLayout);
14
14
  const includedElements = parentElement.children.slice(element.start, element.end + 1);
15
15
  let abstractRectangle = getRectangleByElements(board, includedElements, true);
16
16
  abstractRectangle = RectangleClient.getOutlineRectangle(abstractRectangle, -ABSTRACT_INCLUDED_OUTLINE_OFFSET);
17
17
  if (resizingLocation) {
18
- abstractRectangle = getRectangleByResizingLocation(abstractRectangle, resizingLocation, handlePosition, isHorizontal);
18
+ abstractRectangle = getRectangleByResizingLocation(abstractRectangle, resizingLocation, activeHandlePosition, isHorizontal);
19
19
  }
20
20
  const rectangle = drawAbstractRoundRectangle(roughSVG, abstractRectangle.x, abstractRectangle.y, abstractRectangle.x + abstractRectangle.width, abstractRectangle.y + abstractRectangle.height, isHorizontal, {
21
21
  stroke: PRIMARY_COLOR,
22
22
  strokeWidth: 1,
23
23
  fillStyle: 'solid'
24
24
  });
25
- const handleOptions = {
26
- stroke: ABSTRACT_HANDLE_COLOR,
27
- strokeWidth: 3,
28
- fillStyle: 'solid'
29
- };
30
25
  const startPlacement = [HorizontalPlacement.center, VerticalPlacement.top];
31
26
  const endPlacement = [HorizontalPlacement.center, VerticalPlacement.bottom];
32
27
  const linkDirection = getLayoutDirection(MindElement.getNode(element), isHorizontal);
@@ -38,11 +33,41 @@ export function drawAbstractIncludedOutline(board, roughSVG, element, handlePosi
38
33
  const startPoint2 = movePoint(startCenterPoint, ABSTRACT_HANDLE_LENGTH / 2, linkDirection);
39
34
  const endPoint1 = movePoint(endCenterPoint, -ABSTRACT_HANDLE_LENGTH / 2, linkDirection);
40
35
  const endPoint2 = movePoint(endCenterPoint, ABSTRACT_HANDLE_LENGTH / 2, linkDirection);
41
- const startHandle = roughSVG.line(startPoint1[0], startPoint1[1], startPoint2[0], startPoint2[1], handleOptions);
42
- const endHandle = roughSVG.line(endPoint1[0], endPoint1[1], endPoint2[0], endPoint2[1], handleOptions);
36
+ const startHandle = roughSVG.line(startPoint1[0], startPoint1[1], startPoint2[0], startPoint2[1], getHandleOption(activeHandlePosition === AbstractHandlePosition.start));
37
+ const endHandle = roughSVG.line(endPoint1[0], endPoint1[1], endPoint2[0], endPoint2[1], getHandleOption(activeHandlePosition === AbstractHandlePosition.end));
38
+ changeBoardClass(board, activeHandlePosition, isHorizontal);
39
+ startHandle.setAttribute('stroke-linecap', 'round');
40
+ endHandle.setAttribute('stroke-linecap', 'round');
43
41
  abstractIncludedG.append(startHandle);
44
42
  abstractIncludedG.append(endHandle);
45
43
  abstractIncludedG.append(rectangle);
46
44
  return abstractIncludedG;
47
45
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9kcmF3L2Fic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQWMsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxnQ0FBZ0MsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQXFCLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEgsT0FBTyxFQUFFLG1CQUFtQixFQUFrQixpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFFLE1BQU0sVUFBVSwyQkFBMkIsQ0FDdkMsS0FBaUIsRUFDakIsUUFBa0IsRUFDbEIsT0FBb0IsRUFDcEIsaUJBQXlDLHNCQUFzQixDQUFDLEtBQUssRUFDckUsZ0JBQXlCO0lBRXpCLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFFcEMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFzQixDQUFDO0lBQzFGLE1BQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDLFVBQVUs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QWEsQ0FBQyxDQUFDO0lBRXZHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0QyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXBDLE9BQU8saUJBQWlCLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRyYXdBYnN0cmFjdFJvdW5kUmVjdGFuZ2xlLCBjcmVhdGVHLCBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzLCBQbGFpdEJvYXJkLCBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBQlNUUkFDVF9IQU5ETEVfQ09MT1IsIEFCU1RSQUNUX0hBTkRMRV9MRU5HVEgsIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VULCBQUklNQVJZX0NPTE9SIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFJvdWdoU1ZHIH0gZnJvbSAncm91Z2hqcy9iaW4vc3ZnJztcbmltcG9ydCB7IEFic3RyYWN0SGFuZGxlUG9zaXRpb24sIE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNaW5kbWFwTGF5b3V0VHlwZSwgaXNIb3Jpem9udGFsTGF5b3V0IH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgTWluZG1hcFF1ZXJpZXMgfSBmcm9tICcuLi9xdWVyaWVzJztcbmltcG9ydCB7IGdldExheW91dERpcmVjdGlvbiwgZ2V0UG9pbnRCeVBsYWNlbWVudCwgbW92ZVBvaW50LCB0cmFuc2Zvcm1QbGFjZW1lbnQgfSBmcm9tICcuLi91dGlscy9wb2ludC1wbGFjZW1lbnQnO1xuaW1wb3J0IHsgSG9yaXpvbnRhbFBsYWNlbWVudCwgUG9pbnRQbGFjZW1lbnQsIFZlcnRpY2FsUGxhY2VtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeVJlc2l6aW5nTG9jYXRpb24gfSBmcm9tICcuLi91dGlscy9hYnN0cmFjdC9yZXNpemUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0Fic3RyYWN0SW5jbHVkZWRPdXRsaW5lKFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIHJvdWdoU1ZHOiBSb3VnaFNWRyxcbiAgICBlbGVtZW50OiBNaW5kRWxlbWVudCxcbiAgICBoYW5kbGVQb3NpdGlvbjogQWJzdHJhY3RIYW5kbGVQb3NpdGlvbiA9IEFic3RyYWN0SGFuZGxlUG9zaXRpb24uc3RhcnQsXG4gICAgcmVzaXppbmdMb2NhdGlvbj86IG51bWJlclxuKSB7XG4gICAgY29uc3QgYWJzdHJhY3RJbmNsdWRlZEcgPSBjcmVhdGVHKCk7XG5cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gTWluZEVsZW1lbnQuZ2V0UGFyZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IG5vZGVMYXlvdXQgPSBNaW5kbWFwUXVlcmllcy5nZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KGVsZW1lbnQpIGFzIE1pbmRtYXBMYXlvdXRUeXBlO1xuICAgIGNvbnN0IGlzSG9yaXpvbnRhbCA9IGlzSG9yaXpvbnRhbExheW91dChub2RlTGF5b3V0KTtcblxuICAgIGNvbnN0IGluY2x1ZGVkRWxlbWVudHMgPSBwYXJlbnRFbGVtZW50LmNoaWxkcmVuLnNsaWNlKGVsZW1lbnQuc3RhcnQhLCBlbGVtZW50LmVuZCEgKyAxKTtcbiAgICBsZXQgYWJzdHJhY3RSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBpbmNsdWRlZEVsZW1lbnRzLCB0cnVlKTtcbiAgICBhYnN0cmFjdFJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRPdXRsaW5lUmVjdGFuZ2xlKGFic3RyYWN0UmVjdGFuZ2xlLCAtQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVQpO1xuXG4gICAgaWYgKHJlc2l6aW5nTG9jYXRpb24pIHtcbiAgICAgICAgYWJzdHJhY3RSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeVJlc2l6aW5nTG9jYXRpb24oYWJzdHJhY3RSZWN0YW5nbGUsIHJlc2l6aW5nTG9jYXRpb24sIGhhbmRsZVBvc2l0aW9uLCBpc0hvcml6b250YWwpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlY3RhbmdsZSA9IGRyYXdBYnN0cmFjdFJvdW5kUmVjdGFuZ2xlKFxuICAgICAgICByb3VnaFNWRyxcbiAgICAgICAgYWJzdHJhY3RSZWN0YW5nbGUueCxcbiAgICAgICAgYWJzdHJhY3RSZWN0YW5nbGUueSxcbiAgICAgICAgYWJzdHJhY3RSZWN0YW5nbGUueCArIGFic3RyYWN0UmVjdGFuZ2xlLndpZHRoLFxuICAgICAgICBhYnN0cmFjdFJlY3RhbmdsZS55ICsgYWJzdHJhY3RSZWN0YW5nbGUuaGVpZ2h0LFxuICAgICAgICBpc0hvcml6b250YWwsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHN0cm9rZTogUFJJTUFSWV9DT0xPUixcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3QgaGFuZGxlT3B0aW9ucyA9IHtcbiAgICAgICAgc3Ryb2tlOiBBQlNUUkFDVF9IQU5ETEVfQ09MT1IsXG4gICAgICAgIHN0cm9rZVdpZHRoOiAzLFxuICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICB9O1xuXG4gICAgY29uc3Qgc3RhcnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5jZW50ZXIsIFZlcnRpY2FsUGxhY2VtZW50LnRvcF0gYXMgUG9pbnRQbGFjZW1lbnQ7XG4gICAgY29uc3QgZW5kUGxhY2VtZW50ID0gW0hvcml6b250YWxQbGFjZW1lbnQuY2VudGVyLCBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b21dIGFzIFBvaW50UGxhY2VtZW50O1xuXG4gICAgY29uc3QgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpLCBpc0hvcml6b250YWwpO1xuXG4gICAgdHJhbnNmb3JtUGxhY2VtZW50KHN0YXJ0UGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcbiAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoZW5kUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcblxuICAgIGxldCBzdGFydENlbnRlclBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChhYnN0cmFjdFJlY3RhbmdsZSwgc3RhcnRQbGFjZW1lbnQpO1xuICAgIGxldCBlbmRDZW50ZXJQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQoYWJzdHJhY3RSZWN0YW5nbGUsIGVuZFBsYWNlbWVudCk7XG5cbiAgICBjb25zdCBzdGFydFBvaW50MSA9IG1vdmVQb2ludChzdGFydENlbnRlclBvaW50LCAtQUJTVFJBQ1RfSEFORExFX0xFTkdUSCAvIDIsIGxpbmtEaXJlY3Rpb24pO1xuICAgIGNvbnN0IHN0YXJ0UG9pbnQyID0gbW92ZVBvaW50KHN0YXJ0Q2VudGVyUG9pbnQsIEFCU1RSQUNUX0hBTkRMRV9MRU5HVEggLyAyLCBsaW5rRGlyZWN0aW9uKTtcblxuICAgIGNvbnN0IGVuZFBvaW50MSA9IG1vdmVQb2ludChlbmRDZW50ZXJQb2ludCwgLUFCU1RSQUNUX0hBTkRMRV9MRU5HVEggLyAyLCBsaW5rRGlyZWN0aW9uKTtcbiAgICBjb25zdCBlbmRQb2ludDIgPSBtb3ZlUG9pbnQoZW5kQ2VudGVyUG9pbnQsIEFCU1RSQUNUX0hBTkRMRV9MRU5HVEggLyAyLCBsaW5rRGlyZWN0aW9uKTtcblxuICAgIGNvbnN0IHN0YXJ0SGFuZGxlID0gcm91Z2hTVkcubGluZShzdGFydFBvaW50MVswXSwgc3RhcnRQb2ludDFbMV0sIHN0YXJ0UG9pbnQyWzBdLCBzdGFydFBvaW50MlsxXSwgaGFuZGxlT3B0aW9ucyk7XG4gICAgY29uc3QgZW5kSGFuZGxlID0gcm91Z2hTVkcubGluZShlbmRQb2ludDFbMF0sIGVuZFBvaW50MVsxXSwgZW5kUG9pbnQyWzBdLCBlbmRQb2ludDJbMV0sIGhhbmRsZU9wdGlvbnMpO1xuXG4gICAgYWJzdHJhY3RJbmNsdWRlZEcuYXBwZW5kKHN0YXJ0SGFuZGxlKTtcbiAgICBhYnN0cmFjdEluY2x1ZGVkRy5hcHBlbmQoZW5kSGFuZGxlKTtcbiAgICBhYnN0cmFjdEluY2x1ZGVkRy5hcHBlbmQocmVjdGFuZ2xlKTtcblxuICAgIHJldHVybiBhYnN0cmFjdEluY2x1ZGVkRztcbn1cbiJdfQ==
46
+ export function getHandleOption(isHover) {
47
+ return isHover
48
+ ? {
49
+ stroke: PRIMARY_COLOR,
50
+ strokeWidth: 4,
51
+ fillStyle: 'solid'
52
+ }
53
+ : {
54
+ stroke: ABSTRACT_HANDLE_COLOR,
55
+ strokeWidth: 3,
56
+ fillStyle: 'solid'
57
+ };
58
+ }
59
+ export function changeBoardClass(board, activeHandlePosition, isHorizontal) {
60
+ if (activeHandlePosition) {
61
+ if (isHorizontal) {
62
+ PlaitBoard.getBoardNativeElement(board).classList.add('abstract-resizing-horizontal');
63
+ }
64
+ else {
65
+ PlaitBoard.getBoardNativeElement(board).classList.add('abstract-resizing-vertical');
66
+ }
67
+ }
68
+ else {
69
+ PlaitBoard.getBoardNativeElement(board).classList.remove('abstract-resizing-horizontal');
70
+ PlaitBoard.getBoardNativeElement(board).classList.remove('abstract-resizing-vertical');
71
+ }
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9kcmF3L2Fic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsZ0NBQWdDLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFrQixrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRSxNQUFNLFVBQVUsMkJBQTJCLENBQ3ZDLEtBQWlCLEVBQ2pCLFFBQWtCLEVBQ2xCLE9BQW9CLEVBQ3BCLG9CQUE2QyxFQUM3QyxnQkFBeUI7SUFFekIsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUVwQyxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQW1CLENBQUM7SUFDcEYsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENB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QUFDLENBQUM7UUFDekYsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztLQUMxRjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkcmF3QWJzdHJhY3RSb3VuZFJlY3RhbmdsZSwgY3JlYXRlRywgZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cywgUGxhaXRCb2FyZCwgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgQUJTVFJBQ1RfSEFORExFX0NPTE9SLCBBQlNUUkFDVF9IQU5ETEVfTEVOR1RILCBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVCwgUFJJTUFSWV9DT0xPUiB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSb3VnaFNWRyB9IGZyb20gJ3JvdWdoanMvYmluL3N2Zyc7XG5pbXBvcnQgeyBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLCBNaW5kRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWluZExheW91dFR5cGUsIGlzSG9yaXpvbnRhbExheW91dCB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IE1pbmRRdWVyaWVzIH0gZnJvbSAnLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBnZXRMYXlvdXREaXJlY3Rpb24sIGdldFBvaW50QnlQbGFjZW1lbnQsIG1vdmVQb2ludCwgdHJhbnNmb3JtUGxhY2VtZW50IH0gZnJvbSAnLi4vdXRpbHMvcG9pbnQtcGxhY2VtZW50JztcbmltcG9ydCB7IEhvcml6b250YWxQbGFjZW1lbnQsIFBvaW50UGxhY2VtZW50LCBWZXJ0aWNhbFBsYWNlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlSZXNpemluZ0xvY2F0aW9uIH0gZnJvbSAnLi4vdXRpbHMvYWJzdHJhY3QvcmVzaXplJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdBYnN0cmFjdEluY2x1ZGVkT3V0bGluZShcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICByb3VnaFNWRzogUm91Z2hTVkcsXG4gICAgZWxlbWVudDogTWluZEVsZW1lbnQsXG4gICAgYWN0aXZlSGFuZGxlUG9zaXRpb24/OiBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLFxuICAgIHJlc2l6aW5nTG9jYXRpb24/OiBudW1iZXJcbikge1xuICAgIGNvbnN0IGFic3RyYWN0SW5jbHVkZWRHID0gY3JlYXRlRygpO1xuXG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IE1pbmRFbGVtZW50LmdldFBhcmVudChlbGVtZW50KTtcbiAgICBjb25zdCBub2RlTGF5b3V0ID0gTWluZFF1ZXJpZXMuZ2V0Q29ycmVjdExheW91dEJ5RWxlbWVudChlbGVtZW50KSBhcyBNaW5kTGF5b3V0VHlwZTtcbiAgICBjb25zdCBpc0hvcml6b250YWwgPSBpc0hvcml6b250YWxMYXlvdXQobm9kZUxheW91dCk7XG5cbiAgICBjb25zdCBpbmNsdWRlZEVsZW1lbnRzID0gcGFyZW50RWxlbWVudC5jaGlsZHJlbi5zbGljZShlbGVtZW50LnN0YXJ0ISwgZWxlbWVudC5lbmQhICsgMSk7XG4gICAgbGV0IGFic3RyYWN0UmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgaW5jbHVkZWRFbGVtZW50cywgdHJ1ZSk7XG4gICAgYWJzdHJhY3RSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0T3V0bGluZVJlY3RhbmdsZShhYnN0cmFjdFJlY3RhbmdsZSwgLUFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VUKTtcblxuICAgIGlmIChyZXNpemluZ0xvY2F0aW9uKSB7XG4gICAgICAgIGFic3RyYWN0UmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlSZXNpemluZ0xvY2F0aW9uKGFic3RyYWN0UmVjdGFuZ2xlLCByZXNpemluZ0xvY2F0aW9uLCBhY3RpdmVIYW5kbGVQb3NpdGlvbiEsIGlzSG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVjdGFuZ2xlID0gZHJhd0Fic3RyYWN0Um91bmRSZWN0YW5nbGUoXG4gICAgICAgIHJvdWdoU1ZHLFxuICAgICAgICBhYnN0cmFjdFJlY3RhbmdsZS54LFxuICAgICAgICBhYnN0cmFjdFJlY3RhbmdsZS55LFxuICAgICAgICBhYnN0cmFjdFJlY3RhbmdsZS54ICsgYWJzdHJhY3RSZWN0YW5nbGUud2lkdGgsXG4gICAgICAgIGFic3RyYWN0UmVjdGFuZ2xlLnkgKyBhYnN0cmFjdFJlY3RhbmdsZS5oZWlnaHQsXG4gICAgICAgIGlzSG9yaXpvbnRhbCxcbiAgICAgICAge1xuICAgICAgICAgICAgc3Ryb2tlOiBQUklNQVJZX0NPTE9SLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBzdGFydFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LmNlbnRlciwgVmVydGljYWxQbGFjZW1lbnQudG9wXSBhcyBQb2ludFBsYWNlbWVudDtcbiAgICBjb25zdCBlbmRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5jZW50ZXIsIFZlcnRpY2FsUGxhY2VtZW50LmJvdHRvbV0gYXMgUG9pbnRQbGFjZW1lbnQ7XG5cbiAgICBjb25zdCBsaW5rRGlyZWN0aW9uID0gZ2V0TGF5b3V0RGlyZWN0aW9uKE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCksIGlzSG9yaXpvbnRhbCk7XG5cbiAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoc3RhcnRQbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuICAgIHRyYW5zZm9ybVBsYWNlbWVudChlbmRQbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuXG4gICAgbGV0IHN0YXJ0Q2VudGVyUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KGFic3RyYWN0UmVjdGFuZ2xlLCBzdGFydFBsYWNlbWVudCk7XG4gICAgbGV0IGVuZENlbnRlclBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChhYnN0cmFjdFJlY3RhbmdsZSwgZW5kUGxhY2VtZW50KTtcblxuICAgIGNvbnN0IHN0YXJ0UG9pbnQxID0gbW92ZVBvaW50KHN0YXJ0Q2VudGVyUG9pbnQsIC1BQlNUUkFDVF9IQU5ETEVfTEVOR1RIIC8gMiwgbGlua0RpcmVjdGlvbik7XG4gICAgY29uc3Qgc3RhcnRQb2ludDIgPSBtb3ZlUG9pbnQoc3RhcnRDZW50ZXJQb2ludCwgQUJTVFJBQ1RfSEFORExFX0xFTkdUSCAvIDIsIGxpbmtEaXJlY3Rpb24pO1xuXG4gICAgY29uc3QgZW5kUG9pbnQxID0gbW92ZVBvaW50KGVuZENlbnRlclBvaW50LCAtQUJTVFJBQ1RfSEFORExFX0xFTkdUSCAvIDIsIGxpbmtEaXJlY3Rpb24pO1xuICAgIGNvbnN0IGVuZFBvaW50MiA9IG1vdmVQb2ludChlbmRDZW50ZXJQb2ludCwgQUJTVFJBQ1RfSEFORExFX0xFTkdUSCAvIDIsIGxpbmtEaXJlY3Rpb24pO1xuXG4gICAgY29uc3Qgc3RhcnRIYW5kbGUgPSByb3VnaFNWRy5saW5lKFxuICAgICAgICBzdGFydFBvaW50MVswXSxcbiAgICAgICAgc3RhcnRQb2ludDFbMV0sXG4gICAgICAgIHN0YXJ0UG9pbnQyWzBdLFxuICAgICAgICBzdGFydFBvaW50MlsxXSxcbiAgICAgICAgZ2V0SGFuZGxlT3B0aW9uKGFjdGl2ZUhhbmRsZVBvc2l0aW9uID09PSBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0KVxuICAgICk7XG5cbiAgICBjb25zdCBlbmRIYW5kbGUgPSByb3VnaFNWRy5saW5lKFxuICAgICAgICBlbmRQb2ludDFbMF0sXG4gICAgICAgIGVuZFBvaW50MVsxXSxcbiAgICAgICAgZW5kUG9pbnQyWzBdLFxuICAgICAgICBlbmRQb2ludDJbMV0sXG4gICAgICAgIGdldEhhbmRsZU9wdGlvbihhY3RpdmVIYW5kbGVQb3NpdGlvbiA9PT0gQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5lbmQpXG4gICAgKTtcblxuICAgIGNoYW5nZUJvYXJkQ2xhc3MoYm9hcmQsIGFjdGl2ZUhhbmRsZVBvc2l0aW9uLCBpc0hvcml6b250YWwpO1xuXG4gICAgc3RhcnRIYW5kbGUuc2V0QXR0cmlidXRlKCdzdHJva2UtbGluZWNhcCcsICdyb3VuZCcpO1xuICAgIGVuZEhhbmRsZS5zZXRBdHRyaWJ1dGUoJ3N0cm9rZS1saW5lY2FwJywgJ3JvdW5kJyk7XG5cbiAgICBhYnN0cmFjdEluY2x1ZGVkRy5hcHBlbmQoc3RhcnRIYW5kbGUpO1xuICAgIGFic3RyYWN0SW5jbHVkZWRHLmFwcGVuZChlbmRIYW5kbGUpO1xuICAgIGFic3RyYWN0SW5jbHVkZWRHLmFwcGVuZChyZWN0YW5nbGUpO1xuXG4gICAgcmV0dXJuIGFic3RyYWN0SW5jbHVkZWRHO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGFuZGxlT3B0aW9uKGlzSG92ZXI6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gaXNIb3ZlclxuICAgICAgICA/IHtcbiAgICAgICAgICAgICAgc3Ryb2tlOiBQUklNQVJZX0NPTE9SLFxuICAgICAgICAgICAgICBzdHJva2VXaWR0aDogNCxcbiAgICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgICAgc3Ryb2tlOiBBQlNUUkFDVF9IQU5ETEVfQ09MT1IsXG4gICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAzLFxuICAgICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlQm9hcmRDbGFzcyhib2FyZDogUGxhaXRCb2FyZCwgYWN0aXZlSGFuZGxlUG9zaXRpb246IEFic3RyYWN0SGFuZGxlUG9zaXRpb24gfCB1bmRlZmluZWQsIGlzSG9yaXpvbnRhbDogYm9vbGVhbikge1xuICAgIGlmIChhY3RpdmVIYW5kbGVQb3NpdGlvbikge1xuICAgICAgICBpZiAoaXNIb3Jpem9udGFsKSB7XG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkTmF0aXZlRWxlbWVudChib2FyZCkuY2xhc3NMaXN0LmFkZCgnYWJzdHJhY3QtcmVzaXppbmctaG9yaXpvbnRhbCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRCb2FyZE5hdGl2ZUVsZW1lbnQoYm9hcmQpLmNsYXNzTGlzdC5hZGQoJ2Fic3RyYWN0LXJlc2l6aW5nLXZlcnRpY2FsJyk7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkTmF0aXZlRWxlbWVudChib2FyZCkuY2xhc3NMaXN0LnJlbW92ZSgnYWJzdHJhY3QtcmVzaXppbmctaG9yaXpvbnRhbCcpO1xuICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkTmF0aXZlRWxlbWVudChib2FyZCkuY2xhc3NMaXN0LnJlbW92ZSgnYWJzdHJhY3QtcmVzaXppbmctdmVydGljYWwnKTtcbiAgICB9XG59XG4iXX0=
@@ -1,11 +1,12 @@
1
1
  import { pointsOnBezierCurves } from 'points-on-curve';
2
- import { MindmapNodeShape, STROKE_WIDTH } from '../constants';
3
- import { getLinkLineColorByMindmapElement } from '../utils/colors';
2
+ import { MindNodeShape, STROKE_WIDTH } from '../constants';
3
+ import { PlaitBoard } from '@plait/core';
4
4
  import { getNodeShapeByElement, getRectangleByNode, isChildUp } from '../utils';
5
- import { MindmapLayoutType } from '@plait/layouts';
6
- import { MindmapQueries } from '../queries';
7
- export function drawIndentedLink(roughSVG, node, child, defaultStroke = null, needDrawUnderline = true) {
8
- const isUnderlineShap = getNodeShapeByElement(child.origin) === MindmapNodeShape.underline;
5
+ import { MindLayoutType } from '@plait/layouts';
6
+ import { MindQueries } from '../queries';
7
+ import { getBranchColorByMindElement } from '../utils/node-style/branch';
8
+ export function drawIndentedLink(board, node, child, defaultStroke = null, needDrawUnderline = true) {
9
+ const isUnderlineShap = getNodeShapeByElement(child.origin) === MindNodeShape.underline;
9
10
  let beginX, beginY, endX, endY, beginNode = node, endNode = child;
10
11
  const beginRectangle = getRectangleByNode(beginNode);
11
12
  const endRectangle = getRectangleByNode(endNode);
@@ -15,13 +16,13 @@ export function drawIndentedLink(roughSVG, node, child, defaultStroke = null, ne
15
16
  endY = isUnderlineShap ? endNode.y + endNode.height - endNode.vGap : endNode.y + endNode.height / 2;
16
17
  //根据位置,设置正负参数
17
18
  let plusMinus = isChildUp(node, child) ? (node.left ? [-1, -1] : [1, -1]) : node.left ? [-1, 1] : [1, 1];
18
- const layout = MindmapQueries.getCorrectLayoutByElement(node.origin);
19
- const strokeWidth = child.origin.linkLineWidth ? child.origin.linkLineWidth : STROKE_WIDTH;
19
+ const layout = MindQueries.getCorrectLayoutByElement(node.origin);
20
+ const strokeWidth = child.origin.branchWidth ? child.origin.branchWidth : STROKE_WIDTH;
20
21
  if (beginNode.origin.isRoot) {
21
- if (layout === MindmapLayoutType.leftBottomIndented || layout === MindmapLayoutType.rightBottomIndented) {
22
+ if (layout === MindLayoutType.leftBottomIndented || layout === MindLayoutType.rightBottomIndented) {
22
23
  beginY += strokeWidth;
23
24
  }
24
- if (layout === MindmapLayoutType.leftTopIndented || layout === MindmapLayoutType.rightTopIndented) {
25
+ if (layout === MindLayoutType.leftTopIndented || layout === MindLayoutType.rightTopIndented) {
25
26
  beginY -= strokeWidth;
26
27
  }
27
28
  }
@@ -37,8 +38,8 @@ export function drawIndentedLink(roughSVG, node, child, defaultStroke = null, ne
37
38
  isUnderlineShap && needDrawUnderline ? [endX + (endNode.width - endNode.hGap * 2) * plusMinus[0], endY] : [endX, endY],
38
39
  isUnderlineShap && needDrawUnderline ? [endX + (endNode.width - endNode.hGap * 2) * plusMinus[0], endY] : [endX, endY]
39
40
  ];
40
- const stroke = defaultStroke || getLinkLineColorByMindmapElement(child.origin);
41
+ const stroke = defaultStroke || getBranchColorByMindElement(board, child.origin);
41
42
  const points = pointsOnBezierCurves(curve);
42
- return roughSVG.curve(points, { stroke, strokeWidth });
43
+ return PlaitBoard.getRoughSVG(board).curve(points, { stroke, strokeWidth });
43
44
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZW50ZWQtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvaW5kZW50ZWQtbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1QyxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLFFBQWtCLEVBQ2xCLElBQWlCLEVBQ2pCLEtBQWtCLEVBQ2xCLGdCQUErQixJQUFJLEVBQ25DLGlCQUFpQixHQUFHLElBQUk7SUFFeEIsTUFBTSxlQUFlLEdBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBc0IsS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7SUFDakgsSUFBSSxNQUFNLEVBQ04sTUFBTSxFQUNOLElBQUksRUFDSixJQUFJLEVBQ0osU0FBUyxHQUFHLElBQUksRUFDaEIsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNwQixNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyRCxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVqRCxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUMzQyxNQUFNLEdBQUcsU0FBUyxDQUFDLElB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R0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztRQUN0SCxlQUFlLElBQUksaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3RILGVBQWUsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7S0FDekgsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUFHLGFBQWEsSUFBSSxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFL0UsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQ2xFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwb2ludHNPbkJlemllckN1cnZlcyB9IGZyb20gJ3BvaW50cy1vbi1jdXJ2ZSc7XG5pbXBvcnQgeyBSb3VnaFNWRyB9IGZyb20gJ3JvdWdoanMvYmluL3N2Zyc7XG5pbXBvcnQgeyBNaW5kbWFwTm9kZVNoYXBlLCBTVFJPS0VfV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTWluZG1hcE5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vZGUnO1xuaW1wb3J0IHsgZ2V0TGlua0xpbmVDb2xvckJ5TWluZG1hcEVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9jb2xvcnMnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXROb2RlU2hhcGVCeUVsZW1lbnQsIGdldFJlY3RhbmdsZUJ5Tm9kZSwgaXNDaGlsZFVwIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWluZG1hcExheW91dFR5cGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBNaW5kbWFwUXVlcmllcyB9IGZyb20gJy4uL3F1ZXJpZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0luZGVudGVkTGluayhcbiAgICByb3VnaFNWRzogUm91Z2hTVkcsXG4gICAgbm9kZTogTWluZG1hcE5vZGUsXG4gICAgY2hpbGQ6IE1pbmRtYXBOb2RlLFxuICAgIGRlZmF1bHRTdHJva2U6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgIG5lZWREcmF3VW5kZXJsaW5lID0gdHJ1ZVxuKSB7XG4gICAgY29uc3QgaXNVbmRlcmxpbmVTaGFwID0gKGdldE5vZGVTaGFwZUJ5RWxlbWVudChjaGlsZC5vcmlnaW4pIGFzIE1pbmRtYXBOb2RlU2hhcGUpID09PSBNaW5kbWFwTm9kZVNoYXBlLnVuZGVybGluZTtcbiAgICBsZXQgYmVnaW5YLFxuICAgICAgICBiZWdpblksXG4gICAgICAgIGVuZFgsXG4gICAgICAgIGVuZFksXG4gICAgICAgIGJlZ2luTm9kZSA9IG5vZGUsXG4gICAgICAgIGVuZE5vZGUgPSBjaGlsZDtcbiAgICBjb25zdCBiZWdpblJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5Tm9kZShiZWdpbk5vZGUpO1xuICAgIGNvbnN0IGVuZFJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5Tm9kZShlbmROb2RlKTtcblxuICAgIGJlZ2luWCA9IGJlZ2luTm9kZS54ICsgYmVnaW5Ob2RlLndpZHRoIC8gMjtcbiAgICBiZWdpblkgPSBpc0NoaWxkVXAobm9kZSwgY2hpbGQpID8gYmVnaW5SZWN0YW5nbGUueSA6IGJlZ2luUmVjdGFuZ2xlLnkgKyBiZWdpblJlY3RhbmdsZS5oZWlnaHQ7XG4gICAgZW5kWCA9IG5vZGUubGVmdCA/IGVuZE5vZGUueCArIGVuZE5vZGUuaEdhcCArIGVuZFJlY3RhbmdsZS53aWR0aCA6IGVuZE5vZGUueCArIGVuZE5vZGUuaEdhcDtcbiAgICBlbmRZID0gaXNVbmRlcmxpbmVTaGFwID8gZW5kTm9kZS55ICsgZW5kTm9kZS5oZWlnaHQgLSBlbmROb2RlLnZHYXAgOiBlbmROb2RlLnkgKyBlbmROb2RlLmhlaWdodCAvIDI7XG4gICAgLy/moLnmja7kvY3nva7vvIzorr7nva7mraPotJ/lj4LmlbBcbiAgICBsZXQgcGx1c01pbnVzID0gaXNDaGlsZFVwKG5vZGUsIGNoaWxkKSA/IChub2RlLmxlZnQgPyBbLTEsIC0xXSA6IFsxLCAtMV0pIDogbm9kZS5sZWZ0ID8gWy0xLCAxXSA6IFsxLCAxXTtcbiAgICBjb25zdCBsYXlvdXQgPSBNaW5kbWFwUXVlcmllcy5nZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KG5vZGUub3JpZ2luKTtcbiAgICBjb25zdCBzdHJva2VXaWR0aCA9IGNoaWxkLm9yaWdpbi5saW5rTGluZVdpZHRoID8gY2hpbGQub3JpZ2luLmxpbmtMaW5lV2lkdGggOiBTVFJPS0VfV0lEVEg7XG4gICAgaWYgKGJlZ2luTm9kZS5vcmlnaW4uaXNSb290KSB7XG4gICAgICAgIGlmIChsYXlvdXQgPT09IE1pbmRtYXBMYXlvdXRUeXBlLmxlZnRCb3R0b21JbmRlbnRlZCB8fCBsYXlvdXQgPT09IE1pbmRtYXBMYXlvdXRUeXBlLnJpZ2h0Qm90dG9tSW5kZW50ZWQpIHtcbiAgICAgICAgICAgIGJlZ2luWSArPSBzdHJva2VXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGF5b3V0ID09PSBNaW5kbWFwTGF5b3V0VHlwZS5sZWZ0VG9wSW5kZW50ZWQgfHwgbGF5b3V0ID09PSBNaW5kbWFwTGF5b3V0VHlwZS5yaWdodFRvcEluZGVudGVkKSB7XG4gICAgICAgICAgICBiZWdpblkgLT0gc3Ryb2tlV2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGV0IGN1cnZlOiBQb2ludFtdID0gW1xuICAgICAgICBbYmVnaW5YLCBiZWdpblldLFxuICAgICAgICBbYmVnaW5YLCBiZWdpblldLFxuICAgICAgICBbYmVnaW5YLCBiZWdpblldLFxuICAgICAgICBbYmVnaW5YLCBlbmRZIC0gKGVuZE5vZGUuaEdhcCAqIDMgKiBwbHVzTWludXNbMV0pIC8gNV0sXG4gICAgICAgIFtiZWdpblgsIGVuZFkgLSAoZW5kTm9kZS5oR2FwICogcGx1c01pbnVzWzFdKSAvIDVdLFxuICAgICAgICBbYmVnaW5YICsgKGVuZE5vZGUuaEdhcCAqIHBsdXNNaW51c1swXSkgLyA0LCBlbmRZXSxcbiAgICAgICAgW2JlZ2luWCArIChlbmROb2RlLmhHYXAgKiBwbHVzTWludXNbMF0gKiAzKSAvIDUsIGVuZFldLFxuICAgICAgICBpc1VuZGVybGluZVNoYXAgJiYgbmVlZERyYXdVbmRlcmxpbmUgPyBbZW5kWCArIChlbmROb2RlLndpZHRoIC0gZW5kTm9kZS5oR2FwICogMikgKiBwbHVzTWludXNbMF0sIGVuZFldIDogW2VuZFgsIGVuZFldLFxuICAgICAgICBpc1VuZGVybGluZVNoYXAgJiYgbmVlZERyYXdVbmRlcmxpbmUgPyBbZW5kWCArIChlbmROb2RlLndpZHRoIC0gZW5kTm9kZS5oR2FwICogMikgKiBwbHVzTWludXNbMF0sIGVuZFldIDogW2VuZFgsIGVuZFldLFxuICAgICAgICBpc1VuZGVybGluZVNoYXAgJiYgbmVlZERyYXdVbmRlcmxpbmUgPyBbZW5kWCArIChlbmROb2RlLndpZHRoIC0gZW5kTm9kZS5oR2FwICogMikgKiBwbHVzTWludXNbMF0sIGVuZFldIDogW2VuZFgsIGVuZFldXG4gICAgXTtcblxuICAgIGNvbnN0IHN0cm9rZSA9IGRlZmF1bHRTdHJva2UgfHwgZ2V0TGlua0xpbmVDb2xvckJ5TWluZG1hcEVsZW1lbnQoY2hpbGQub3JpZ2luKTtcblxuICAgIGNvbnN0IHBvaW50cyA9IHBvaW50c09uQmV6aWVyQ3VydmVzKGN1cnZlKTtcbiAgICByZXR1cm4gcm91Z2hTVkcuY3VydmUocG9pbnRzIGFzIGFueSwgeyBzdHJva2UsIHN0cm9rZVdpZHRoIH0pO1xufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZW50ZWQtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvaW5kZW50ZWQtbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzRCxPQUFPLEVBQUUsVUFBVSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFekUsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixLQUFpQixFQUNqQixJQUFjLEVBQ2QsS0FBZSxFQUNmLGdCQUErQixJQUFJLEVBQ25DLGlCQUFpQixHQUFHLElBQUk7SUFFeEIsTUFBTSxlQUFlLEdBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBbUIsS0FBSyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQzNHLElBQUksTUFBTSxFQUNOLE1BQU0sRUFDTixJQUFJLEVBQ0osSUFBSSxFQUNKLFNBQVMsR0FBRyxJQUFJLEVBQ2hCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDcEIsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckQsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFakQsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENB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QUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3RILGVBQWUsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDdEgsZUFBZSxJQUFJLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztLQUN6SCxDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsYUFBYSxJQUFJLDJCQUEyQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFakYsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUN2RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcG9pbnRzT25CZXppZXJDdXJ2ZXMgfSBmcm9tICdwb2ludHMtb24tY3VydmUnO1xuaW1wb3J0IHsgTWluZE5vZGVTaGFwZSwgU1RST0tFX1dJRFRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE1pbmROb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgZ2V0Tm9kZVNoYXBlQnlFbGVtZW50LCBnZXRSZWN0YW5nbGVCeU5vZGUsIGlzQ2hpbGRVcCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IE1pbmRMYXlvdXRUeXBlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgTWluZFF1ZXJpZXMgfSBmcm9tICcuLi9xdWVyaWVzJztcbmltcG9ydCB7IGdldEJyYW5jaENvbG9yQnlNaW5kRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL25vZGUtc3R5bGUvYnJhbmNoJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdJbmRlbnRlZExpbmsoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgbm9kZTogTWluZE5vZGUsXG4gICAgY2hpbGQ6IE1pbmROb2RlLFxuICAgIGRlZmF1bHRTdHJva2U6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgIG5lZWREcmF3VW5kZXJsaW5lID0gdHJ1ZVxuKSB7XG4gICAgY29uc3QgaXNVbmRlcmxpbmVTaGFwID0gKGdldE5vZGVTaGFwZUJ5RWxlbWVudChjaGlsZC5vcmlnaW4pIGFzIE1pbmROb2RlU2hhcGUpID09PSBNaW5kTm9kZVNoYXBlLnVuZGVybGluZTtcbiAgICBsZXQgYmVnaW5YLFxuICAgICAgICBiZWdpblksXG4gICAgICAgIGVuZFgsXG4gICAgICAgIGVuZFksXG4gICAgICAgIGJlZ2luTm9kZSA9IG5vZGUsXG4gICAgICAgIGVuZE5vZGUgPSBjaGlsZDtcbiAgICBjb25zdCBiZWdpblJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5Tm9kZShiZWdpbk5vZGUpO1xuICAgIGNvbnN0IGVuZFJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5Tm9kZShlbmROb2RlKTtcblxuICAgIGJlZ2luWCA9IGJlZ2luTm9kZS54ICsgYmVnaW5Ob2RlLndpZHRoIC8gMjtcbiAgICBiZWdpblkgPSBpc0NoaWxkVXAobm9kZSwgY2hpbGQpID8gYmVnaW5SZWN0YW5nbGUueSA6IGJlZ2luUmVjdGFuZ2xlLnkgKyBiZWdpblJlY3RhbmdsZS5oZWlnaHQ7XG4gICAgZW5kWCA9IG5vZGUubGVmdCA/IGVuZE5vZGUueCArIGVuZE5vZGUuaEdhcCArIGVuZFJlY3RhbmdsZS53aWR0aCA6IGVuZE5vZGUueCArIGVuZE5vZGUuaEdhcDtcbiAgICBlbmRZID0gaXNVbmRlcmxpbmVTaGFwID8gZW5kTm9kZS55ICsgZW5kTm9kZS5oZWlnaHQgLSBlbmROb2RlLnZHYXAgOiBlbmROb2RlLnkgKyBlbmROb2RlLmhlaWdodCAvIDI7XG4gICAgLy/moLnmja7kvY3nva7vvIzorr7nva7mraPotJ/lj4LmlbBcbiAgICBsZXQgcGx1c01pbnVzID0gaXNDaGlsZFVwKG5vZGUsIGNoaWxkKSA/IChub2RlLmxlZnQgPyBbLTEsIC0xXSA6IFsxLCAtMV0pIDogbm9kZS5sZWZ0ID8gWy0xLCAxXSA6IFsxLCAxXTtcbiAgICBjb25zdCBsYXlvdXQgPSBNaW5kUXVlcmllcy5nZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KG5vZGUub3JpZ2luKTtcbiAgICBjb25zdCBzdHJva2VXaWR0aCA9IGNoaWxkLm9yaWdpbi5icmFuY2hXaWR0aCA/IGNoaWxkLm9yaWdpbi5icmFuY2hXaWR0aCA6IFNUUk9LRV9XSURUSDtcbiAgICBpZiAoYmVnaW5Ob2RlLm9yaWdpbi5pc1Jvb3QpIHtcbiAgICAgICAgaWYgKGxheW91dCA9PT0gTWluZExheW91dFR5cGUubGVmdEJvdHRvbUluZGVudGVkIHx8IGxheW91dCA9PT0gTWluZExheW91dFR5cGUucmlnaHRCb3R0b21JbmRlbnRlZCkge1xuICAgICAgICAgICAgYmVnaW5ZICs9IHN0cm9rZVdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLmxlZnRUb3BJbmRlbnRlZCB8fCBsYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLnJpZ2h0VG9wSW5kZW50ZWQpIHtcbiAgICAgICAgICAgIGJlZ2luWSAtPSBzdHJva2VXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsZXQgY3VydmU6IFBvaW50W10gPSBbXG4gICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgIFtiZWdpblgsIGVuZFkgLSAoZW5kTm9kZS5oR2FwICogMyAqIHBsdXNNaW51c1sxXSkgLyA1XSxcbiAgICAgICAgW2JlZ2luWCwgZW5kWSAtIChlbmROb2RlLmhHYXAgKiBwbHVzTWludXNbMV0pIC8gNV0sXG4gICAgICAgIFtiZWdpblggKyAoZW5kTm9kZS5oR2FwICogcGx1c01pbnVzWzBdKSAvIDQsIGVuZFldLFxuICAgICAgICBbYmVnaW5YICsgKGVuZE5vZGUuaEdhcCAqIHBsdXNNaW51c1swXSAqIDMpIC8gNSwgZW5kWV0sXG4gICAgICAgIGlzVW5kZXJsaW5lU2hhcCAmJiBuZWVkRHJhd1VuZGVybGluZSA/IFtlbmRYICsgKGVuZE5vZGUud2lkdGggLSBlbmROb2RlLmhHYXAgKiAyKSAqIHBsdXNNaW51c1swXSwgZW5kWV0gOiBbZW5kWCwgZW5kWV0sXG4gICAgICAgIGlzVW5kZXJsaW5lU2hhcCAmJiBuZWVkRHJhd1VuZGVybGluZSA/IFtlbmRYICsgKGVuZE5vZGUud2lkdGggLSBlbmROb2RlLmhHYXAgKiAyKSAqIHBsdXNNaW51c1swXSwgZW5kWV0gOiBbZW5kWCwgZW5kWV0sXG4gICAgICAgIGlzVW5kZXJsaW5lU2hhcCAmJiBuZWVkRHJhd1VuZGVybGluZSA/IFtlbmRYICsgKGVuZE5vZGUud2lkdGggLSBlbmROb2RlLmhHYXAgKiAyKSAqIHBsdXNNaW51c1swXSwgZW5kWV0gOiBbZW5kWCwgZW5kWV1cbiAgICBdO1xuXG4gICAgY29uc3Qgc3Ryb2tlID0gZGVmYXVsdFN0cm9rZSB8fCBnZXRCcmFuY2hDb2xvckJ5TWluZEVsZW1lbnQoYm9hcmQsIGNoaWxkLm9yaWdpbik7XG5cbiAgICBjb25zdCBwb2ludHMgPSBwb2ludHNPbkJlemllckN1cnZlcyhjdXJ2ZSk7XG4gICAgcmV0dXJuIFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpLmN1cnZlKHBvaW50cyBhcyBhbnksIHsgc3Ryb2tlLCBzdHJva2VXaWR0aCB9KTtcbn1cbiJdfQ==
@@ -39,4 +39,4 @@ export function drawAbstractLink(board, node, isHorizontal) {
39
39
  });
40
40
  return link;
41
41
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvbGluay9hYnN0cmFjdC1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFckgsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWlCLEVBQUUsSUFBaUIsRUFBRSxZQUFxQjtJQUN4RixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUMzQixNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELElBQUksZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzdGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDLENBQUMsQ0FBQztJQUNILE1BQU0seUJBQXlCLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBRXhGLE1BQU0sYUFBYSxH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cmQsIGdldFJlY3RhbmdsZUJ5RWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kbWFwTm9kZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuLi8uLi91dGlscy9ncmFwaCc7XG5pbXBvcnQgeyBHUkFZX0NPTE9SIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2RlZmF1bHQnO1xuaW1wb3J0IHsgSG9yaXpvbnRhbFBsYWNlbWVudCwgUG9pbnRQbGFjZW1lbnQsIFZlcnRpY2FsUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBnZXRMYXlvdXREaXJlY3Rpb24sIGdldFBvaW50QnlQbGFjZW1lbnQsIG1vdmVQb2ludCwgdHJhbnNmb3JtUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvcG9pbnQtcGxhY2VtZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdBYnN0cmFjdExpbmsoYm9hcmQ6IFBsYWl0Qm9hcmQsIG5vZGU6IE1pbmRtYXBOb2RlLCBpc0hvcml6b250YWw6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBsaW5rUGFkZGluZyA9IDE1O1xuICAgIGNvbnN0IHBhcmVudCA9IG5vZGUucGFyZW50O1xuICAgIGNvbnN0IGFic3RyYWN0UmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKG5vZGUpO1xuICAgIGxldCBpbmNsdWRlZEVsZW1lbnRzID0gcGFyZW50LmNoaWxkcmVuLnNsaWNlKG5vZGUub3JpZ2luLnN0YXJ0LCBub2RlLm9yaWdpbi5lbmQhICsgMSkubWFwKG5vZGUgPT4ge1xuICAgICAgICByZXR1cm4gbm9kZS5vcmlnaW47XG4gICAgfSk7XG4gICAgY29uc3QgaW5jbHVkZWRFbGVtZW50c1JlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGluY2x1ZGVkRWxlbWVudHMsIHRydWUpO1xuXG4gICAgY29uc3QgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihub2RlLCBpc0hvcml6b250YWwpO1xuICAgIGNvbnN0IGJlemllckJlZ2luUGxhY2VtZW50ID0gW0hvcml6b250YWxQbGFjZW1lbnQucmlnaHQsIFZlcnRpY2FsUGxhY2VtZW50LnRvcF0gYXMgUG9pbnRQbGFjZW1lbnQ7XG4gICAgY29uc3QgYmV6aWVyRW5kUGxhY2VtZW50ID0gW0hvcml6b250YWxQbGFjZW1lbnQucmlnaHQsIFZlcnRpY2FsUGxhY2VtZW50LmJvdHRvbV0gYXMgUG9pbnRQbGFjZW1lbnQ7XG4gICAgY29uc3QgYWJzdHJhY3RDb25uZWN0b3JQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5sZWZ0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdIGFzIFBvaW50UGxhY2VtZW50O1xuXG4gICAgdHJhbnNmb3JtUGxhY2VtZW50KGJlemllckJlZ2luUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcbiAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoYmV6aWVyRW5kUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcbiAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoYWJzdHJhY3RDb25uZWN0b3JQbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuXG4gICAgbGV0IGJlemllckJlZ2luUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KGluY2x1ZGVkRWxlbWVudHNSZWN0YW5nbGUsIGJlemllckJlZ2luUGxhY2VtZW50KTtcbiAgICBsZXQgYmV6aWVyRW5kUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KGluY2x1ZGVkRWxlbWVudHNSZWN0YW5nbGUsIGJlemllckVuZFBsYWNlbWVudCk7XG4gICAgbGV0IGFic3RyYWN0Q29ubmVjdG9yUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KGFic3RyYWN0UmVjdGFuZ2xlLCBhYnN0cmFjdENvbm5lY3RvclBsYWNlbWVudCk7XG5cbiAgICBsZXQgY3VydmVEaXN0YW5jZSA9IDA7XG4gICAgaWYgKGlzSG9yaXpvbnRhbCkge1xuICAgICAgICBjdXJ2ZURpc3RhbmNlID0gTWF0aC5hYnMoYWJzdHJhY3RDb25uZWN0b3JQb2ludFswXSAtIGJlemllckJlZ2luUG9pbnRbMF0pIC0gbGlua1BhZGRpbmcgKiAyO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnZlRGlzdGFuY2UgPSBNYXRoLmFicyhhYnN0cmFjdENvbm5lY3RvclBvaW50WzFdIC0gYmV6aWVyQmVnaW5Qb2ludFsxXSkgLSBsaW5rUGFkZGluZyAqIDI7XG4gICAgfVxuXG4gICAgYmV6aWVyQmVnaW5Qb2ludCA9IG1vdmVQb2ludChiZXppZXJCZWdpblBvaW50LCBsaW5rUGFkZGluZywgbGlua0RpcmVjdGlvbik7XG4gICAgbGV0IGMxID0gbW92ZVBvaW50KGJlemllckJlZ2luUG9pbnQsIGN1cnZlRGlzdGFuY2UsIGxpbmtEaXJlY3Rpb24pO1xuICAgIGJlemllckVuZFBvaW50ID0gbW92ZVBvaW50KGJlemllckVuZFBvaW50LCBsaW5rUGFkZGluZywgbGlua0RpcmVjdGlvbik7XG4gICAgbGV0IGMyID0gbW92ZVBvaW50KGJlemllckVuZFBvaW50LCBjdXJ2ZURpc3RhbmNlLCBsaW5rRGlyZWN0aW9uKTtcbiAgICBsZXQgYmV6aWVyQ29ubmVjdG9yUG9pbnQgPSBtb3ZlUG9pbnQoYWJzdHJhY3RDb25uZWN0b3JQb2ludCwgLWxpbmtQYWRkaW5nLCBsaW5rRGlyZWN0aW9uKTtcblxuICAgIGNvbnN0IGxpbmsgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKS5wYXRoKFxuICAgICAgICBgTSR7YmV6aWVyQmVnaW5Qb2ludFswXX0sJHtiZXppZXJCZWdpblBvaW50WzFdfSBRJHtjMVswXX0sJHtjMVsxXX0gJHtiZXppZXJDb25uZWN0b3JQb2ludFswXX0sJHtiZXppZXJDb25uZWN0b3JQb2ludFsxXX0gUSR7YzJbMF19LCR7YzJbMV19ICR7YmV6aWVyRW5kUG9pbnRbMF19LCR7YmV6aWVyRW5kUG9pbnRbMV19IE0ke2Fic3RyYWN0Q29ubmVjdG9yUG9pbnRbMF19LCR7YWJzdHJhY3RDb25uZWN0b3JQb2ludFsxXX0gTCR7YmV6aWVyQ29ubmVjdG9yUG9pbnRbMF19LCR7YmV6aWVyQ29ubmVjdG9yUG9pbnRbMV19YCxcbiAgICAgICAge1xuICAgICAgICAgICAgc3Ryb2tlOiBHUkFZX0NPTE9SLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDJcbiAgICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIGxpbms7XG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvbGluay9hYnN0cmFjdC1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFckgsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWlCLEVBQUUsSUFBYyxFQUFFLFlBQXFCO0lBQ3JGLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN2QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzNCLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsSUFBSSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDN0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSx5QkFBeUIsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFeEYsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzdELE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxDQUFtQixDQUFDO0lBQ2xHLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFtQixDQUFDO0lBQ25HLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFtQixDQUFDO0lBRTFHLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3hELGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELGtCQUFrQixDQUFDLDBCQUEwQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRTlELElBQUksZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMseUJBQXlCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUM1RixJQUFJLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyx5QkFBeUIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3hGLElBQUksc0JBQXNCLEdBQUcsbUJBQW1CLENBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztJQUVoRyxJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFDdEIsSUFBSSxZQUFZLEVBQUU7UUFDZCxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUM7S0FDL0Y7U0FBTTtRQUNILGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQztLQUMvRjtJQUVELGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDM0UsSUFBSSxFQUFFLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNuRSxjQUFjLEdBQUcsU0FBUyxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkUsSUFBSSxFQUFFLEdBQUcsU0FBUyxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDakUsSUFBSSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFFMUYsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzNDLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEtBQUssb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDeFM7UUFDSSxNQUFNLEVBQUUsVUFBVTtRQUNsQixXQUFXLEVBQUUsQ0FBQztLQUNqQixDQUNKLENBQUM7SUFDRixPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmROb2RlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4uLy4uL3V0aWxzL2dyYXBoJztcbmltcG9ydCB7IEdSQVlfQ09MT1IgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZGVmYXVsdCc7XG5pbXBvcnQgeyBIb3Jpem9udGFsUGxhY2VtZW50LCBQb2ludFBsYWNlbWVudCwgVmVydGljYWxQbGFjZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3R5cGVzJztcbmltcG9ydCB7IGdldExheW91dERpcmVjdGlvbiwgZ2V0UG9pbnRCeVBsYWNlbWVudCwgbW92ZVBvaW50LCB0cmFuc2Zvcm1QbGFjZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscy9wb2ludC1wbGFjZW1lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0Fic3RyYWN0TGluayhib2FyZDogUGxhaXRCb2FyZCwgbm9kZTogTWluZE5vZGUsIGlzSG9yaXpvbnRhbDogYm9vbGVhbikge1xuICAgIGNvbnN0IGxpbmtQYWRkaW5nID0gMTU7XG4gICAgY29uc3QgcGFyZW50ID0gbm9kZS5wYXJlbnQ7XG4gICAgY29uc3QgYWJzdHJhY3RSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG4gICAgbGV0IGluY2x1ZGVkRWxlbWVudHMgPSBwYXJlbnQuY2hpbGRyZW4uc2xpY2Uobm9kZS5vcmlnaW4uc3RhcnQsIG5vZGUub3JpZ2luLmVuZCEgKyAxKS5tYXAobm9kZSA9PiB7XG4gICAgICAgIHJldHVybiBub2RlLm9yaWdpbjtcbiAgICB9KTtcbiAgICBjb25zdCBpbmNsdWRlZEVsZW1lbnRzUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgaW5jbHVkZWRFbGVtZW50cywgdHJ1ZSk7XG5cbiAgICBjb25zdCBsaW5rRGlyZWN0aW9uID0gZ2V0TGF5b3V0RGlyZWN0aW9uKG5vZGUsIGlzSG9yaXpvbnRhbCk7XG4gICAgY29uc3QgYmV6aWVyQmVnaW5QbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5yaWdodCwgVmVydGljYWxQbGFjZW1lbnQudG9wXSBhcyBQb2ludFBsYWNlbWVudDtcbiAgICBjb25zdCBiZXppZXJFbmRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5yaWdodCwgVmVydGljYWxQbGFjZW1lbnQuYm90dG9tXSBhcyBQb2ludFBsYWNlbWVudDtcbiAgICBjb25zdCBhYnN0cmFjdENvbm5lY3RvclBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LmxlZnQsIFZlcnRpY2FsUGxhY2VtZW50Lm1pZGRsZV0gYXMgUG9pbnRQbGFjZW1lbnQ7XG5cbiAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoYmV6aWVyQmVnaW5QbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuICAgIHRyYW5zZm9ybVBsYWNlbWVudChiZXppZXJFbmRQbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuICAgIHRyYW5zZm9ybVBsYWNlbWVudChhYnN0cmFjdENvbm5lY3RvclBsYWNlbWVudCwgbGlua0RpcmVjdGlvbik7XG5cbiAgICBsZXQgYmV6aWVyQmVnaW5Qb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQoaW5jbHVkZWRFbGVtZW50c1JlY3RhbmdsZSwgYmV6aWVyQmVnaW5QbGFjZW1lbnQpO1xuICAgIGxldCBiZXppZXJFbmRQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQoaW5jbHVkZWRFbGVtZW50c1JlY3RhbmdsZSwgYmV6aWVyRW5kUGxhY2VtZW50KTtcbiAgICBsZXQgYWJzdHJhY3RDb25uZWN0b3JQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQoYWJzdHJhY3RSZWN0YW5nbGUsIGFic3RyYWN0Q29ubmVjdG9yUGxhY2VtZW50KTtcblxuICAgIGxldCBjdXJ2ZURpc3RhbmNlID0gMDtcbiAgICBpZiAoaXNIb3Jpem9udGFsKSB7XG4gICAgICAgIGN1cnZlRGlzdGFuY2UgPSBNYXRoLmFicyhhYnN0cmFjdENvbm5lY3RvclBvaW50WzBdIC0gYmV6aWVyQmVnaW5Qb2ludFswXSkgLSBsaW5rUGFkZGluZyAqIDI7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY3VydmVEaXN0YW5jZSA9IE1hdGguYWJzKGFic3RyYWN0Q29ubmVjdG9yUG9pbnRbMV0gLSBiZXppZXJCZWdpblBvaW50WzFdKSAtIGxpbmtQYWRkaW5nICogMjtcbiAgICB9XG5cbiAgICBiZXppZXJCZWdpblBvaW50ID0gbW92ZVBvaW50KGJlemllckJlZ2luUG9pbnQsIGxpbmtQYWRkaW5nLCBsaW5rRGlyZWN0aW9uKTtcbiAgICBsZXQgYzEgPSBtb3ZlUG9pbnQoYmV6aWVyQmVnaW5Qb2ludCwgY3VydmVEaXN0YW5jZSwgbGlua0RpcmVjdGlvbik7XG4gICAgYmV6aWVyRW5kUG9pbnQgPSBtb3ZlUG9pbnQoYmV6aWVyRW5kUG9pbnQsIGxpbmtQYWRkaW5nLCBsaW5rRGlyZWN0aW9uKTtcbiAgICBsZXQgYzIgPSBtb3ZlUG9pbnQoYmV6aWVyRW5kUG9pbnQsIGN1cnZlRGlzdGFuY2UsIGxpbmtEaXJlY3Rpb24pO1xuICAgIGxldCBiZXppZXJDb25uZWN0b3JQb2ludCA9IG1vdmVQb2ludChhYnN0cmFjdENvbm5lY3RvclBvaW50LCAtbGlua1BhZGRpbmcsIGxpbmtEaXJlY3Rpb24pO1xuXG4gICAgY29uc3QgbGluayA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpLnBhdGgoXG4gICAgICAgIGBNJHtiZXppZXJCZWdpblBvaW50WzBdfSwke2JlemllckJlZ2luUG9pbnRbMV19IFEke2MxWzBdfSwke2MxWzFdfSAke2JlemllckNvbm5lY3RvclBvaW50WzBdfSwke2JlemllckNvbm5lY3RvclBvaW50WzFdfSBRJHtjMlswXX0sJHtjMlsxXX0gJHtiZXppZXJFbmRQb2ludFswXX0sJHtiZXppZXJFbmRQb2ludFsxXX0gTSR7YWJzdHJhY3RDb25uZWN0b3JQb2ludFswXX0sJHthYnN0cmFjdENvbm5lY3RvclBvaW50WzFdfSBMJHtiZXppZXJDb25uZWN0b3JQb2ludFswXX0sJHtiZXppZXJDb25uZWN0b3JQb2ludFsxXX1gLFxuICAgICAgICB7XG4gICAgICAgICAgICBzdHJva2U6IEdSQVlfQ09MT1IsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMlxuICAgICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gbGluaztcbn1cbiJdfQ==
@@ -1,15 +1,16 @@
1
1
  import { pointsOnBezierCurves } from 'points-on-curve';
2
- import { MindmapNodeShape, STROKE_WIDTH } from '../../constants';
3
- import { getLinkLineColorByMindmapElement } from '../../utils/colors';
2
+ import { MindNodeShape, STROKE_WIDTH } from '../../constants';
3
+ import { PlaitBoard } from '@plait/core';
4
4
  import { getRectangleByNode } from '../../utils';
5
5
  import { getLayoutDirection, getPointByPlacement, movePoint, transformPlacement } from '../../utils/point-placement';
6
6
  import { HorizontalPlacement, VerticalPlacement } from '../../interfaces/types';
7
- export function drawLogicLink(roughSVG, node, parent, isHorizontal) {
8
- const stroke = getLinkLineColorByMindmapElement(node.origin);
9
- const strokeWidth = node.origin.linkLineWidth ? node.origin.linkLineWidth : STROKE_WIDTH;
7
+ import { getBranchColorByMindElement } from '../../utils/node-style/branch';
8
+ export function drawLogicLink(board, node, parent, isHorizontal) {
9
+ const branchColor = getBranchColorByMindElement(board, node.origin);
10
+ const strokeWidth = node.origin.branchWidth ? node.origin.branchWidth : STROKE_WIDTH;
10
11
  const hasStraightLine = !parent.origin.isRoot;
11
- const hasUnderlineShape = node.origin.shape === MindmapNodeShape.underline;
12
- const hasUnderlineShapeOfParent = parent.origin.shape === MindmapNodeShape.underline;
12
+ const hasUnderlineShape = node.origin.shape === MindNodeShape.underline;
13
+ const hasUnderlineShapeOfParent = parent.origin.shape === MindNodeShape.underline;
13
14
  const nodeClient = getRectangleByNode(node);
14
15
  const parentClient = getRectangleByNode(parent);
15
16
  const linkDirection = getLayoutDirection(node, isHorizontal);
@@ -46,6 +47,6 @@ export function drawLogicLink(roughSVG, node, parent, isHorizontal) {
46
47
  const underlineEnd = movePoint(endPoint, nodeClient.width, linkDirection);
47
48
  const underline = hasUnderlineShape && isHorizontal ? [underlineEnd, underlineEnd, underlineEnd] : [];
48
49
  const points = pointsOnBezierCurves([...straightLine, ...curve, ...underline]);
49
- return roughSVG.curve(points, { stroke, strokeWidth });
50
+ return PlaitBoard.getRoughSVG(board).curve(points, { stroke: branchColor, strokeWidth });
50
51
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWMtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvbGluay9sb2dpYy1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JILE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRyxNQUFNLFVBQVUsYUFBYSxDQUFDLFFBQWtCLEVBQUUsSUFBaUIsRUFBRSxNQUFtQixFQUFFLFlBQXFCO0lBQzNHLE1BQU0sTUFBTSxHQUFHLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUN6RixNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0lBQzNFLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUMs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cyB9IGZyb20gJ3BvaW50cy1vbi1jdXJ2ZSc7XG5pbXBvcnQgeyBSb3VnaFNWRyB9IGZyb20gJ3JvdWdoanMvYmluL3N2Zyc7XG5pbXBvcnQgeyBNaW5kbWFwTm9kZVNoYXBlLCBTVFJPS0VfV0lEVEggfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTWluZG1hcE5vZGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL25vZGUnO1xuaW1wb3J0IHsgZ2V0TGlua0xpbmVDb2xvckJ5TWluZG1hcEVsZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscy9jb2xvcnMnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBnZXRMYXlvdXREaXJlY3Rpb24sIGdldFBvaW50QnlQbGFjZW1lbnQsIG1vdmVQb2ludCwgdHJhbnNmb3JtUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvcG9pbnQtcGxhY2VtZW50JztcbmltcG9ydCB7IEhvcml6b250YWxQbGFjZW1lbnQsIFBvaW50UGxhY2VtZW50LCBWZXJ0aWNhbFBsYWNlbWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0xvZ2ljTGluayhyb3VnaFNWRzogUm91Z2hTVkcsIG5vZGU6IE1pbmRtYXBOb2RlLCBwYXJlbnQ6IE1pbmRtYXBOb2RlLCBpc0hvcml6b250YWw6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBzdHJva2UgPSBnZXRMaW5rTGluZUNvbG9yQnlNaW5kbWFwRWxlbWVudChub2RlLm9yaWdpbik7XG4gICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBub2RlLm9yaWdpbi5saW5rTGluZVdpZHRoID8gbm9kZS5vcmlnaW4ubGlua0xpbmVXaWR0aCA6IFNUUk9LRV9XSURUSDtcbiAgICBjb25zdCBoYXNTdHJhaWdodExpbmUgPSAhcGFyZW50Lm9yaWdpbi5pc1Jvb3Q7XG4gICAgY29uc3QgaGFzVW5kZXJsaW5lU2hhcGUgPSBub2RlLm9yaWdpbi5zaGFwZSA9PT0gTWluZG1hcE5vZGVTaGFwZS51bmRlcmxpbmU7XG4gICAgY29uc3QgaGFzVW5kZXJsaW5lU2hhcGVPZlBhcmVudCA9IHBhcmVudC5vcmlnaW4uc2hhcGUgPT09IE1pbmRtYXBOb2RlU2hhcGUudW5kZXJsaW5lO1xuICAgIGNvbnN0IG5vZGVDbGllbnQgPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG4gICAgY29uc3QgcGFyZW50Q2xpZW50ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKHBhcmVudCk7XG4gICAgY29uc3QgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihub2RlLCBpc0hvcml6b250YWwpO1xuXG4gICAgLy8g4pGgIGVuc3VyZSBiZWdpbiBwbGFjZW1lbnQgYW5kIGVuZCBwbGFjZW1lbnRcbiAgICAvLyBiZWdpbiBwbGFjZW1lbnQgcmVwcmVzZW50IHBhcmVudCBjb25uZWN0b3IgcG9zaXRpb24gYW5kIGVuZCBwbGFjZW1lbnQgcmVwcmVzZW50IGNoaWxkIGNvbm5lY3RvclxuICAgIGNvbnN0IGJlZ2luUGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LnJpZ2h0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuICAgIGNvbnN0IGVuZFBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5sZWZ0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuXG4gICAgdHJhbnNmb3JtUGxhY2VtZW50KGJlZ2luUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcbiAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoZW5kUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcblxuICAgIC8vIHVuZGVybGluZSBzaGFwZSBhbmQgaG9yaXpvbnRhbFxuICAgIGlmIChpc0hvcml6b250YWwgJiYgaGFzVW5kZXJsaW5lU2hhcGVPZlBhcmVudCAmJiAhcGFyZW50Lm9yaWdpbi5pc1Jvb3QpIHtcbiAgICAgICAgYmVnaW5QbGFjZW1lbnRbMV0gPSBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b207XG4gICAgfVxuICAgIGlmIChpc0hvcml6b250YWwgJiYgaGFzVW5kZXJsaW5lU2hhcGUpIHtcbiAgICAgICAgZW5kUGxhY2VtZW50WzFdID0gVmVydGljYWxQbGFjZW1lbnQuYm90dG9tO1xuICAgIH1cblxuICAgIGxldCBiZWdpblBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChwYXJlbnRDbGllbnQsIGJlZ2luUGxhY2VtZW50KTtcbiAgICBsZXQgZW5kUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KG5vZGVDbGllbnQsIGVuZFBsYWNlbWVudCk7XG5cbiAgICAvLyDikaEg56Gu5a6a5Ye45Ye655u057q/77yM5LuO6LW35aeL54K55byA5aeL55S75LiA5p2h55u057q/77yM5LuO55u057q/55qE57uT5p2f5L2N572u57uY5Yi25puy57q/77yM5L+d6K+B5pS26LW35Zu+5qCH5Y+v5Lul5a6M576O6KaG55uW6LW35aeL6L+e57q/77yM5qC56IqC54K55LiN6ZyA6KaB6L+Z5p2h55u057q/XG4gICAgLy8g57uY5Yi26LSd5aGe5bCU5puy57q/6KaB5rGC77yM6ZyA6KaB5aKe5Yqg5LiJ5Liq54K577yM5q2j5bi45Lik5Liq54K55bCx5Y+v5Lul56Gu5a6a6L+Z5p2h55u057q/XG4gICAgY29uc3Qgc3RyYWlnaHRMaW5lRGlzdGFuY2UgPSA4O1xuICAgIGNvbnN0IGJlZ2luUG9pbnQyID0gaGFzU3RyYWlnaHRMaW5lID8gbW92ZVBvaW50KGJlZ2luUG9pbnQsIHN0cmFpZ2h0TGluZURpc3RhbmNlLCBsaW5rRGlyZWN0aW9uKSA6IGJlZ2luUG9pbnQ7XG4gICAgbGV0IHN0cmFpZ2h0TGluZTogUG9pbnRbXSA9IGhhc1N0cmFpZ2h0TGluZSA/IFtiZWdpblBvaW50LCBiZWdpblBvaW50MiwgYmVnaW5Qb2ludDJdIDogW107XG5cbiAgICAvLyDikaIg56Gu5a6a5puy57q/XG4gICAgY29uc3QgYmVnaW5CdWZmZXJEaXN0YW5jZSA9IChwYXJlbnQuaEdhcCArIG5vZGUuaEdhcCkgLyAzO1xuICAgIGNvbnN0IGVuZEJ1ZmZlckRpc3RhbmNlID0gLShwYXJlbnQuaEdhcCArIG5vZGUuaEdhcCkgLyAyLjQ7XG4gICAgbGV0IGN1cnZlOiBQb2ludFtdID0gW1xuICAgICAgICBiZWdpblBvaW50MixcbiAgICAgICAgbW92ZVBvaW50KGJlZ2luUG9pbnQyLCBiZWdpbkJ1ZmZlckRpc3RhbmNlLCBsaW5rRGlyZWN0aW9uKSxcbiAgICAgICAgbW92ZVBvaW50KGVuZFBvaW50LCBlbmRCdWZmZXJEaXN0YW5jZSwgbGlua0RpcmVjdGlvbiksXG4gICAgICAgIGVuZFBvaW50XG4gICAgXTtcblxuICAgIC8vIOKRoyDkuIvliJLnur/nu5jliLbvvIx1bmRlcmxpbmUgc2hhcGUgYW5kIGhvcml6b250YWxcbiAgICBjb25zdCB1bmRlcmxpbmVFbmQgPSBtb3ZlUG9pbnQoZW5kUG9pbnQsIG5vZGVDbGllbnQud2lkdGgsIGxpbmtEaXJlY3Rpb24pO1xuICAgIGNvbnN0IHVuZGVybGluZTogUG9pbnRbXSA9IGhhc1VuZGVybGluZVNoYXBlICYmIGlzSG9yaXpvbnRhbCA/IFt1bmRlcmxpbmVFbmQsIHVuZGVybGluZUVuZCwgdW5kZXJsaW5lRW5kXSA6IFtdO1xuXG4gICAgY29uc3QgcG9pbnRzID0gcG9pbnRzT25CZXppZXJDdXJ2ZXMoWy4uLnN0cmFpZ2h0TGluZSwgLi4uY3VydmUsIC4uLnVuZGVybGluZV0pO1xuICAgIHJldHVybiByb3VnaFNWRy5jdXJ2ZShwb2ludHMgYXMgYW55LCB7IHN0cm9rZSwgc3Ryb2tlV2lkdGggfSk7XG59XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWMtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvbGluay9sb2dpYy1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFVBQVUsRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JILE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RSxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQWlCLEVBQUUsSUFBYyxFQUFFLE1BQWdCLEVBQUUsWUFBcUI7SUFDcEcsTUFBTSxXQUFXLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNyRixNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUN4RSxNQUFNLHlCQUF5QixH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V0FBVyxFQUFFLENBQUMsQ0FBQztBQUNwRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcG9pbnRzT25CZXppZXJDdXJ2ZXMgfSBmcm9tICdwb2ludHMtb24tY3VydmUnO1xuaW1wb3J0IHsgTWluZE5vZGVTaGFwZSwgU1RST0tFX1dJRFRIIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE1pbmROb2RlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TGF5b3V0RGlyZWN0aW9uLCBnZXRQb2ludEJ5UGxhY2VtZW50LCBtb3ZlUG9pbnQsIHRyYW5zZm9ybVBsYWNlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvaW50LXBsYWNlbWVudCc7XG5pbXBvcnQgeyBIb3Jpem9udGFsUGxhY2VtZW50LCBQb2ludFBsYWNlbWVudCwgVmVydGljYWxQbGFjZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3R5cGVzJztcbmltcG9ydCB7IGdldEJyYW5jaENvbG9yQnlNaW5kRWxlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL25vZGUtc3R5bGUvYnJhbmNoJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdMb2dpY0xpbmsoYm9hcmQ6IFBsYWl0Qm9hcmQsIG5vZGU6IE1pbmROb2RlLCBwYXJlbnQ6IE1pbmROb2RlLCBpc0hvcml6b250YWw6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBicmFuY2hDb2xvciA9IGdldEJyYW5jaENvbG9yQnlNaW5kRWxlbWVudChib2FyZCwgbm9kZS5vcmlnaW4pO1xuICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gbm9kZS5vcmlnaW4uYnJhbmNoV2lkdGggPyBub2RlLm9yaWdpbi5icmFuY2hXaWR0aCA6IFNUUk9LRV9XSURUSDtcbiAgICBjb25zdCBoYXNTdHJhaWdodExpbmUgPSAhcGFyZW50Lm9yaWdpbi5pc1Jvb3Q7XG4gICAgY29uc3QgaGFzVW5kZXJsaW5lU2hhcGUgPSBub2RlLm9yaWdpbi5zaGFwZSA9PT0gTWluZE5vZGVTaGFwZS51bmRlcmxpbmU7XG4gICAgY29uc3QgaGFzVW5kZXJsaW5lU2hhcGVPZlBhcmVudCA9IHBhcmVudC5vcmlnaW4uc2hhcGUgPT09IE1pbmROb2RlU2hhcGUudW5kZXJsaW5lO1xuICAgIGNvbnN0IG5vZGVDbGllbnQgPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG4gICAgY29uc3QgcGFyZW50Q2xpZW50ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKHBhcmVudCk7XG4gICAgY29uc3QgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihub2RlLCBpc0hvcml6b250YWwpO1xuXG4gICAgLy8g4pGgIGVuc3VyZSBiZWdpbiBwbGFjZW1lbnQgYW5kIGVuZCBwbGFjZW1lbnRcbiAgICAvLyBiZWdpbiBwbGFjZW1lbnQgcmVwcmVzZW50IHBhcmVudCBjb25uZWN0b3IgcG9zaXRpb24gYW5kIGVuZCBwbGFjZW1lbnQgcmVwcmVzZW50IGNoaWxkIGNvbm5lY3RvclxuICAgIGNvbnN0IGJlZ2luUGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LnJpZ2h0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuICAgIGNvbnN0IGVuZFBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5sZWZ0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuXG4gICAgdHJhbnNmb3JtUGxhY2VtZW50KGJlZ2luUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcbiAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoZW5kUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcblxuICAgIC8vIHVuZGVybGluZSBzaGFwZSBhbmQgaG9yaXpvbnRhbFxuICAgIGlmIChpc0hvcml6b250YWwgJiYgaGFzVW5kZXJsaW5lU2hhcGVPZlBhcmVudCAmJiAhcGFyZW50Lm9yaWdpbi5pc1Jvb3QpIHtcbiAgICAgICAgYmVnaW5QbGFjZW1lbnRbMV0gPSBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b207XG4gICAgfVxuICAgIGlmIChpc0hvcml6b250YWwgJiYgaGFzVW5kZXJsaW5lU2hhcGUpIHtcbiAgICAgICAgZW5kUGxhY2VtZW50WzFdID0gVmVydGljYWxQbGFjZW1lbnQuYm90dG9tO1xuICAgIH1cblxuICAgIGxldCBiZWdpblBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChwYXJlbnRDbGllbnQsIGJlZ2luUGxhY2VtZW50KTtcbiAgICBsZXQgZW5kUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KG5vZGVDbGllbnQsIGVuZFBsYWNlbWVudCk7XG5cbiAgICAvLyDikaEg56Gu5a6a5Ye45Ye655u057q/77yM5LuO6LW35aeL54K55byA5aeL55S75LiA5p2h55u057q/77yM5LuO55u057q/55qE57uT5p2f5L2N572u57uY5Yi25puy57q/77yM5L+d6K+B5pS26LW35Zu+5qCH5Y+v5Lul5a6M576O6KaG55uW6LW35aeL6L+e57q/77yM5qC56IqC54K55LiN6ZyA6KaB6L+Z5p2h55u057q/XG4gICAgLy8g57uY5Yi26LSd5aGe5bCU5puy57q/6KaB5rGC77yM6ZyA6KaB5aKe5Yqg5LiJ5Liq54K577yM5q2j5bi45Lik5Liq54K55bCx5Y+v5Lul56Gu5a6a6L+Z5p2h55u057q/XG4gICAgY29uc3Qgc3RyYWlnaHRMaW5lRGlzdGFuY2UgPSA4O1xuICAgIGNvbnN0IGJlZ2luUG9pbnQyID0gaGFzU3RyYWlnaHRMaW5lID8gbW92ZVBvaW50KGJlZ2luUG9pbnQsIHN0cmFpZ2h0TGluZURpc3RhbmNlLCBsaW5rRGlyZWN0aW9uKSA6IGJlZ2luUG9pbnQ7XG4gICAgbGV0IHN0cmFpZ2h0TGluZTogUG9pbnRbXSA9IGhhc1N0cmFpZ2h0TGluZSA/IFtiZWdpblBvaW50LCBiZWdpblBvaW50MiwgYmVnaW5Qb2ludDJdIDogW107XG5cbiAgICAvLyDikaIg56Gu5a6a5puy57q/XG4gICAgY29uc3QgYmVnaW5CdWZmZXJEaXN0YW5jZSA9IChwYXJlbnQuaEdhcCArIG5vZGUuaEdhcCkgLyAzO1xuICAgIGNvbnN0IGVuZEJ1ZmZlckRpc3RhbmNlID0gLShwYXJlbnQuaEdhcCArIG5vZGUuaEdhcCkgLyAyLjQ7XG4gICAgbGV0IGN1cnZlOiBQb2ludFtdID0gW1xuICAgICAgICBiZWdpblBvaW50MixcbiAgICAgICAgbW92ZVBvaW50KGJlZ2luUG9pbnQyLCBiZWdpbkJ1ZmZlckRpc3RhbmNlLCBsaW5rRGlyZWN0aW9uKSxcbiAgICAgICAgbW92ZVBvaW50KGVuZFBvaW50LCBlbmRCdWZmZXJEaXN0YW5jZSwgbGlua0RpcmVjdGlvbiksXG4gICAgICAgIGVuZFBvaW50XG4gICAgXTtcblxuICAgIC8vIOKRoyDkuIvliJLnur/nu5jliLbvvIx1bmRlcmxpbmUgc2hhcGUgYW5kIGhvcml6b250YWxcbiAgICBjb25zdCB1bmRlcmxpbmVFbmQgPSBtb3ZlUG9pbnQoZW5kUG9pbnQsIG5vZGVDbGllbnQud2lkdGgsIGxpbmtEaXJlY3Rpb24pO1xuICAgIGNvbnN0IHVuZGVybGluZTogUG9pbnRbXSA9IGhhc1VuZGVybGluZVNoYXBlICYmIGlzSG9yaXpvbnRhbCA/IFt1bmRlcmxpbmVFbmQsIHVuZGVybGluZUVuZCwgdW5kZXJsaW5lRW5kXSA6IFtdO1xuXG4gICAgY29uc3QgcG9pbnRzID0gcG9pbnRzT25CZXppZXJDdXJ2ZXMoWy4uLnN0cmFpZ2h0TGluZSwgLi4uY3VydmUsIC4uLnVuZGVybGluZV0pO1xuICAgIHJldHVybiBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKS5jdXJ2ZShwb2ludHMgYXMgYW55LCB7IHN0cm9rZTogYnJhbmNoQ29sb3IsIHN0cm9rZVdpZHRoIH0pO1xufVxuIl19