@plait/draw 0.60.0 → 0.62.0-next.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 (92) hide show
  1. package/constants/geometry.d.ts +41 -13
  2. package/constants/index.d.ts +2 -1
  3. package/constants/line.d.ts +1 -0
  4. package/constants/pointer.d.ts +2 -2
  5. package/constants/swimlane.d.ts +21 -0
  6. package/constants/text.d.ts +1 -0
  7. package/engines/uml/assembly.d.ts +2 -0
  8. package/engines/uml/component-box.d.ts +2 -0
  9. package/engines/uml/component.d.ts +2 -0
  10. package/engines/uml/provided-interface.d.ts +2 -0
  11. package/engines/uml/required-interface.d.ts +2 -0
  12. package/engines/uml/template.d.ts +2 -0
  13. package/esm2022/constants/geometry.mjs +30 -17
  14. package/esm2022/constants/index.mjs +3 -2
  15. package/esm2022/constants/line.mjs +2 -1
  16. package/esm2022/constants/pointer.mjs +3 -3
  17. package/esm2022/constants/swimlane.mjs +25 -0
  18. package/esm2022/constants/text.mjs +2 -0
  19. package/esm2022/engines/index.mjs +14 -2
  20. package/esm2022/engines/table/table.mjs +9 -3
  21. package/esm2022/engines/uml/assembly.mjs +56 -0
  22. package/esm2022/engines/uml/component-box.mjs +61 -0
  23. package/esm2022/engines/uml/component.mjs +72 -0
  24. package/esm2022/engines/uml/provided-interface.mjs +47 -0
  25. package/esm2022/engines/uml/required-interface.mjs +36 -0
  26. package/esm2022/engines/uml/template.mjs +47 -0
  27. package/esm2022/generators/single-text.generator.mjs +3 -3
  28. package/esm2022/generators/table.generator.mjs +1 -1
  29. package/esm2022/generators/text.generator.mjs +10 -13
  30. package/esm2022/geometry.component.mjs +12 -14
  31. package/esm2022/image.component.mjs +6 -8
  32. package/esm2022/interfaces/geometry.mjs +7 -10
  33. package/esm2022/interfaces/index.mjs +18 -8
  34. package/esm2022/interfaces/swimlane.mjs +13 -0
  35. package/esm2022/interfaces/table.mjs +5 -1
  36. package/esm2022/line.component.mjs +12 -13
  37. package/esm2022/plugins/with-draw-fragment.mjs +5 -2
  38. package/esm2022/plugins/with-draw.mjs +1 -1
  39. package/esm2022/plugins/with-geometry-create.mjs +4 -10
  40. package/esm2022/plugins/with-line-text.mjs +7 -8
  41. package/esm2022/plugins/with-swimlane-create.mjs +4 -4
  42. package/esm2022/plugins/with-swimlane.mjs +21 -2
  43. package/esm2022/plugins/with-table-resize.mjs +6 -5
  44. package/esm2022/plugins/with-table.mjs +28 -10
  45. package/esm2022/table.component.mjs +31 -12
  46. package/esm2022/transforms/geometry-text.mjs +8 -6
  47. package/esm2022/transforms/image.mjs +3 -3
  48. package/esm2022/transforms/index.mjs +5 -3
  49. package/esm2022/transforms/line.mjs +1 -1
  50. package/esm2022/transforms/multi-text-geometry-text.mjs +1 -1
  51. package/esm2022/transforms/swimlane.mjs +129 -37
  52. package/esm2022/utils/clipboard.mjs +27 -21
  53. package/esm2022/utils/common.mjs +6 -7
  54. package/esm2022/utils/geometry.mjs +4 -4
  55. package/esm2022/utils/hit.mjs +2 -2
  56. package/esm2022/utils/index.mjs +4 -1
  57. package/esm2022/utils/multi-text-geometry.mjs +2 -2
  58. package/esm2022/utils/selected.mjs +3 -8
  59. package/esm2022/utils/swimlane.mjs +66 -77
  60. package/esm2022/utils/table-selected.mjs +26 -0
  61. package/esm2022/utils/table.mjs +26 -1
  62. package/esm2022/utils/uml.mjs +2 -2
  63. package/fesm2022/plait-draw.mjs +848 -309
  64. package/fesm2022/plait-draw.mjs.map +1 -1
  65. package/generators/single-text.generator.d.ts +3 -4
  66. package/generators/table.generator.d.ts +2 -2
  67. package/generators/text.generator.d.ts +3 -6
  68. package/image.component.d.ts +0 -1
  69. package/interfaces/geometry.d.ts +15 -24
  70. package/interfaces/index.d.ts +11 -6
  71. package/interfaces/swimlane.d.ts +22 -0
  72. package/interfaces/table.d.ts +13 -4
  73. package/line.component.d.ts +1 -2
  74. package/package.json +1 -3
  75. package/plugins/with-geometry-create.d.ts +1 -1
  76. package/plugins/with-swimlane-create.d.ts +1 -1
  77. package/plugins/with-swimlane.d.ts +3 -2
  78. package/plugins/with-table-resize.d.ts +1 -1
  79. package/plugins/with-table.d.ts +1 -4
  80. package/transforms/index.d.ts +7 -5
  81. package/transforms/swimlane.d.ts +8 -5
  82. package/utils/clipboard.d.ts +4 -3
  83. package/utils/common.d.ts +5 -5
  84. package/utils/geometry.d.ts +16 -1
  85. package/utils/index.d.ts +3 -0
  86. package/utils/selected.d.ts +2 -4
  87. package/utils/shape.d.ts +1 -1
  88. package/utils/swimlane.d.ts +11 -26
  89. package/utils/table-selected.d.ts +9 -0
  90. package/utils/table.d.ts +10 -9
  91. package/constants/draw.d.ts +0 -1
  92. package/esm2022/constants/draw.mjs +0 -2
@@ -1,11 +1,12 @@
1
1
  import { idCreator, RectangleClient } from '@plait/core';
2
- import { DEFAULT_TEXT_HEIGHT, DefaultSwimlanePropertyMap } from '../constants';
3
- import { PlaitDrawElement, SwimlaneSymbols } from '../interfaces';
2
+ import { DefaultSwimlanePropertyMap, SWIMLANE_HEADER_SIZE } from '../constants';
3
+ import { PlaitDrawElement, SwimlaneDrawSymbols, SwimlaneSymbols } from '../interfaces';
4
+ import { createCell } from './table';
4
5
  export function buildSwimlaneTable(element) {
5
6
  const swimlaneElement = { ...element };
6
7
  if (PlaitDrawElement.isHorizontalSwimlane(element)) {
7
8
  swimlaneElement.cells = element.cells.map((item, index) => {
8
- if (index === 0) {
9
+ if (index === 0 && element.header) {
9
10
  item = {
10
11
  ...element.cells[0],
11
12
  rowspan: element.rows.length
@@ -24,54 +25,50 @@ export function buildSwimlaneTable(element) {
24
25
  });
25
26
  return swimlaneElement;
26
27
  }
27
- swimlaneElement.cells = [
28
- {
29
- ...element.cells[0],
30
- colspan: element.columns.length
31
- },
32
- ...element.cells.slice(1, element.cells.length)
33
- ];
28
+ if (element.header) {
29
+ swimlaneElement.cells = [
30
+ {
31
+ ...element.cells[0],
32
+ colspan: element.columns.length
33
+ },
34
+ ...element.cells.slice(1, element.cells.length)
35
+ ];
36
+ }
34
37
  return swimlaneElement;
35
38
  }
36
- export const getDefaultSWimlanePoints = (pointer, centerPoint) => {
39
+ export const getDefaultSwimlanePoints = (pointer, centerPoint) => {
37
40
  const property = DefaultSwimlanePropertyMap[pointer];
38
41
  return RectangleClient.getPoints(RectangleClient.getRectangleByCenterPoint(centerPoint, property.width, property.height));
39
42
  };
40
43
  export const createDefaultSwimlane = (shape, points) => {
41
- const rows = createDefaultRowsOrColumns(shape, 'row');
42
- const columns = createDefaultRowsOrColumns(shape, 'column');
44
+ const header = isSwimlaneWithHeader(shape);
45
+ const dataShape = adjustSwimlaneShape(shape);
46
+ const rows = createDefaultRowsOrColumns(dataShape, 'row', header);
47
+ const columns = createDefaultRowsOrColumns(dataShape, 'column', header);
43
48
  const swimlane = {
44
49
  id: idCreator(),
45
- type: 'table',
46
- shape,
50
+ type: 'swimlane',
51
+ shape: dataShape,
47
52
  points,
48
53
  rows,
49
54
  columns,
50
- cells: createDefaultCells(shape, rows, columns)
55
+ header,
56
+ cells: createDefaultCells(dataShape, rows, columns, header)
51
57
  };
52
- return buildSwimlaneTable(swimlane);
58
+ return swimlane;
53
59
  };
54
- export const createDefaultRowsOrColumns = (shape, type) => {
55
- let data = new Array(3).fill('').map(item => {
56
- return { id: idCreator() };
57
- });
58
- if (type === 'row' && shape === SwimlaneSymbols.swimlaneVertical) {
59
- data = data.map((item, index) => {
60
- if (index === 0 || index === 1) {
61
- return {
62
- ...item,
63
- height: 30
64
- };
65
- }
66
- return item;
67
- });
68
- }
69
- if (type === 'column' && shape === SwimlaneSymbols.swimlaneHorizontal) {
60
+ export const createDefaultRowsOrColumns = (shape, type, header) => {
61
+ const createItems = (count) => new Array(count).fill('').map(() => ({ id: idCreator() }));
62
+ let data = createItems(3);
63
+ if ((type === 'row' && shape === SwimlaneSymbols.swimlaneVertical) ||
64
+ (type === 'column' && shape === SwimlaneSymbols.swimlaneHorizontal)) {
65
+ data = header ? data : createItems(2);
66
+ const dimension = type === 'row' ? 'height' : 'width';
70
67
  data = data.map((item, index) => {
71
- if (index === 0 || index === 1) {
68
+ if (index === 0 || (index === 1 && header)) {
72
69
  return {
73
70
  ...item,
74
- width: 30
71
+ [dimension]: SWIMLANE_HEADER_SIZE
75
72
  };
76
73
  }
77
74
  return item;
@@ -79,48 +76,40 @@ export const createDefaultRowsOrColumns = (shape, type) => {
79
76
  }
80
77
  return data;
81
78
  };
82
- export const createDefaultCells = (shape, rows, columns) => {
83
- return new Array(7).fill('').map((item, index) => {
84
- if (index === 0) {
85
- item = {
86
- id: idCreator(),
87
- rowId: rows[0].id,
88
- columnId: columns[0].id,
89
- textHeight: DEFAULT_TEXT_HEIGHT,
90
- text: {
91
- children: [
92
- {
93
- text: 'New Swimlane'
94
- }
95
- ],
96
- align: 'center'
97
- }
98
- };
99
- }
100
- if ([1, 2, 3].includes(index)) {
101
- item = {
102
- id: idCreator(),
103
- rowId: shape === SwimlaneSymbols.swimlaneVertical ? rows[1].id : rows[index - 1].id,
104
- columnId: shape === SwimlaneSymbols.swimlaneVertical ? columns[index - 1].id : columns[1].id,
105
- textHeight: DEFAULT_TEXT_HEIGHT,
106
- text: {
107
- children: [
108
- {
109
- text: 'Lane'
110
- }
111
- ],
112
- align: 'center'
113
- }
114
- };
115
- }
116
- if ([4, 5, 6].includes(index)) {
117
- item = {
118
- id: idCreator(),
119
- rowId: shape === SwimlaneSymbols.swimlaneVertical ? rows[2].id : rows[index - 4].id,
120
- columnId: shape === SwimlaneSymbols.swimlaneVertical ? columns[index - 4].id : columns[2].id
121
- };
79
+ export const createDefaultCells = (shape, rows, columns, header) => {
80
+ let headerCell = [];
81
+ let startIndex = 0;
82
+ if (header) {
83
+ headerCell = [createCell(rows[0].id, columns[0].id, 'New Swimlane')];
84
+ startIndex = 1;
85
+ }
86
+ const cells = new Array(6).fill('').map((_, index) => {
87
+ if (index < 3) {
88
+ const rowId = shape === SwimlaneSymbols.swimlaneVertical ? rows[startIndex].id : rows[index].id;
89
+ const columnId = shape === SwimlaneSymbols.swimlaneVertical ? columns[index].id : columns[startIndex].id;
90
+ return createCell(rowId, columnId, 'Lane');
122
91
  }
123
- return item;
92
+ const rowId = shape === SwimlaneSymbols.swimlaneVertical ? rows[startIndex + 1].id : rows[index - 3].id;
93
+ const columnId = shape === SwimlaneSymbols.swimlaneVertical ? columns[index - 3].id : columns[startIndex + 1].id;
94
+ return createCell(rowId, columnId);
124
95
  });
96
+ return [...headerCell, ...cells];
97
+ };
98
+ export const getSwimlaneCount = (swimlane) => {
99
+ if (PlaitDrawElement.isHorizontalSwimlane(swimlane)) {
100
+ return swimlane.rows.length;
101
+ }
102
+ if (PlaitDrawElement.isVerticalSwimlane(swimlane)) {
103
+ return swimlane.columns.length;
104
+ }
105
+ return 0;
106
+ };
107
+ export const isSwimlaneWithHeader = (shape) => {
108
+ return [SwimlaneDrawSymbols.swimlaneHorizontalWithHeader, SwimlaneDrawSymbols.swimlaneVerticalWithHeader].includes(shape);
109
+ };
110
+ export const adjustSwimlaneShape = (shape) => {
111
+ return [SwimlaneDrawSymbols.swimlaneHorizontalWithHeader, SwimlaneDrawSymbols.swimlaneHorizontal].includes(shape)
112
+ ? SwimlaneSymbols.swimlaneHorizontal
113
+ : SwimlaneSymbols.swimlaneVertical;
125
114
  };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpbWxhbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9zd2ltbGFuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQW1CLDBCQUEwQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpGLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUFzQjtJQUNyRCxNQUFNLGVBQWUsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDdkMsSUFBSSxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2pELGVBQWUsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxHQUFHO29CQUNILEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQ25CLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07aUJBQy9CLENBQUM7WUFDTixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN2RCxJQUFJLEdBQUc7b0JBQ0gsR0FBRyxJQUFJO29CQUNQLElBQUksRUFBRTt3QkFDRixHQUFHLElBQUksQ0FBQyxJQUFJO3dCQUNaLFNBQVMsRUFBRSxVQUFVO3FCQUN4QjtpQkFDSixDQUFDO1lBQ04sQ0FBQztZQUNELE9BQU8sSUFB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QUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDNUYsVUFBVSxFQUFFLG1CQUFtQjtnQkFDL0IsSUFBSSxFQUFFO29CQUNGLFFBQVEsRUFBRTt3QkFDTjs0QkFDSSxJQUFJLEVBQUUsTUFBTTt5QkFDZjtxQkFDSjtvQkFDRCxLQUFLLEVBQUUsUUFBUTtpQkFDbEI7YUFDSixDQUFDO1FBQ04sQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksR0FBRztnQkFDSCxFQUFFLEVBQUUsU0FBUyxFQUFFO2dCQUNmLEtBQUssRUFBRSxLQUFLLEtBQUssZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25GLFFBQVEsRUFBRSxLQUFLLEtBQUssZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDL0YsQ0FBQztRQUNOLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlkQ3JlYXRvciwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IERFRkFVTFRfVEVYVF9IRUlHSFQsIERyYXdQb2ludGVyVHlwZSwgRGVmYXVsdFN3aW1sYW5lUHJvcGVydHlNYXAgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRTd2ltbGFuZSwgU3dpbWxhbmVTeW1ib2xzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFN3aW1sYW5lVGFibGUoZWxlbWVudDogUGxhaXRTd2ltbGFuZSkge1xuICAgIGNvbnN0IHN3aW1sYW5lRWxlbWVudCA9IHsgLi4uZWxlbWVudCB9O1xuICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzSG9yaXpvbnRhbFN3aW1sYW5lKGVsZW1lbnQpKSB7XG4gICAgICAgIHN3aW1sYW5lRWxlbWVudC5jZWxscyA9IGVsZW1lbnQuY2VsbHMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZWxlbWVudC5jZWxsc1swXSxcbiAgICAgICAgICAgICAgICAgICAgcm93c3BhbjogZWxlbWVudC5yb3dzLmxlbmd0aFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbS50ZXh0ICYmIGl0ZW0udGV4dEhlaWdodCAmJiAhaXRlbS50ZXh0LmRpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgIGl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0udGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogJ3ZlcnRpY2FsJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHN3aW1sYW5lRWxlbWVudDtcbiAgICB9XG4gICAgc3dpbWxhbmVFbGVtZW50LmNlbGxzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICAuLi5lbGVtZW50LmNlbGxzWzBdLFxuICAgICAgICAgICAgY29sc3BhbjogZWxlbWVudC5jb2x1bW5zLmxlbmd0aFxuICAgICAgICB9LFxuICAgICAgICAuLi5lbGVtZW50LmNlbGxzLnNsaWNlKDEsIGVsZW1lbnQuY2VsbHMubGVuZ3RoKVxuICAgIF07XG4gICAgcmV0dXJuIHN3aW1sYW5lRWxlbWVudDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldERlZmF1bHRTV2ltbGFuZVBvaW50cyA9IChwb2ludGVyOiBEcmF3UG9pbnRlclR5cGUsIGNlbnRlclBvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gRGVmYXVsdFN3aW1sYW5lUHJvcGVydHlNYXBbcG9pbnRlcl07XG4gICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRQb2ludHMoUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5Q2VudGVyUG9pbnQoY2VudGVyUG9pbnQsIHByb3BlcnR5LndpZHRoLCBwcm9wZXJ0eS5oZWlnaHQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0U3dpbWxhbmUgPSAoc2hhcGU6IFN3aW1sYW5lU3ltYm9scywgcG9pbnRzOiBbUG9pbnQsIFBvaW50XSkgPT4ge1xuICAgIGNvbnN0IHJvd3MgPSBjcmVhdGVEZWZhdWx0Um93c09yQ29sdW1ucyhzaGFwZSwgJ3JvdycpO1xuICAgIGNvbnN0IGNvbHVtbnMgPSBjcmVhdGVEZWZhdWx0Um93c09yQ29sdW1ucyhzaGFwZSwgJ2NvbHVtbicpO1xuICAgIGNvbnN0IHN3aW1sYW5lID0ge1xuICAgICAgICBpZDogaWRDcmVhdG9yKCksXG4gICAgICAgIHR5cGU6ICd0YWJsZScsXG4gICAgICAgIHNoYXBlLFxuICAgICAgICBwb2ludHMsXG4gICAgICAgIHJvd3MsXG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGNlbGxzOiBjcmVhdGVEZWZhdWx0Q2VsbHMoc2hhcGUsIHJvd3MsIGNvbHVtbnMpXG4gICAgfSBhcyBQbGFpdFN3aW1sYW5lO1xuICAgIHJldHVybiBidWlsZFN3aW1sYW5lVGFibGUoc3dpbWxhbmUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlZmF1bHRSb3dzT3JDb2x1bW5zID0gKHNoYXBlOiBTd2ltbGFuZVN5bWJvbHMsIHR5cGU6ICdyb3cnIHwgJ2NvbHVtbicpID0+IHtcbiAgICBsZXQgZGF0YSA9IG5ldyBBcnJheSgzKS5maWxsKCcnKS5tYXAoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiB7IGlkOiBpZENyZWF0b3IoKSB9O1xuICAgIH0pO1xuICAgIGlmICh0eXBlID09PSAncm93JyAmJiBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwpIHtcbiAgICAgICAgZGF0YSA9IGRhdGEubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwIHx8IGluZGV4ID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0eXBlID09PSAnY29sdW1uJyAmJiBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lSG9yaXpvbnRhbCkge1xuICAgICAgICBkYXRhID0gZGF0YS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IDAgfHwgaW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0Q2VsbHMgPSAoXG4gICAgc2hhcGU6IFN3aW1sYW5lU3ltYm9scyxcbiAgICByb3dzOiB7IGlkOiBzdHJpbmc7IGhlaWdodD86IG51bWJlciB9W10sXG4gICAgY29sdW1uczogeyBpZDogc3RyaW5nOyB3aWR0aD86IG51bWJlciB9W11cbikgPT4ge1xuICAgIHJldHVybiBuZXcgQXJyYXkoNykuZmlsbCgnJykubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIGl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICAgICAgICAgIHJvd0lkOiByb3dzWzBdLmlkLFxuICAgICAgICAgICAgICAgIGNvbHVtbklkOiBjb2x1bW5zWzBdLmlkLFxuICAgICAgICAgICAgICAgIHRleHRIZWlnaHQ6IERFRkFVTFRfVEVYVF9IRUlHSFQsXG4gICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdOZXcgU3dpbWxhbmUnXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGFsaWduOiAnY2VudGVyJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFsxLCAyLCAzXS5pbmNsdWRlcyhpbmRleCkpIHtcbiAgICAgICAgICAgIGl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICAgICAgICAgIHJvd0lkOiBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyByb3dzWzFdLmlkIDogcm93c1tpbmRleCAtIDFdLmlkLFxuICAgICAgICAgICAgICAgIGNvbHVtbklkOiBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyBjb2x1bW5zW2luZGV4IC0gMV0uaWQgOiBjb2x1bW5zWzFdLmlkLFxuICAgICAgICAgICAgICAgIHRleHRIZWlnaHQ6IERFRkFVTFRfVEVYVF9IRUlHSFQsXG4gICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdMYW5lJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBhbGlnbjogJ2NlbnRlcidcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChbNCwgNSwgNl0uaW5jbHVkZXMoaW5kZXgpKSB7XG4gICAgICAgICAgICBpdGVtID0ge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgICAgICAgICByb3dJZDogc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsID8gcm93c1syXS5pZCA6IHJvd3NbaW5kZXggLSA0XS5pZCxcbiAgICAgICAgICAgICAgICBjb2x1bW5JZDogc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsID8gY29sdW1uc1tpbmRleCAtIDRdLmlkIDogY29sdW1uc1syXS5pZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9KTtcbn07XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpbWxhbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9zd2ltbGFuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFpQyxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVyQyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBc0I7SUFDckQsTUFBTSxlQUFlLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQ3ZDLElBQUksZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNqRCxlQUFlLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RELElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hDLElBQUksR0FBRztvQkFDSCxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUNuQixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNO2lCQUMvQixDQUFDO1lBQ04sQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdkQsSUFBSSxHQUFHO29CQUNILEdBQUcsSUFBSTtvQkFDUCxJQUFJLEVBQUU7d0JBQ0YsR0FBRyxJQUFJ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LFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDaEQsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQTBCLEVBQUUsRUFBRTtJQUMvRCxPQUFPLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLEVBQUUsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUgsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUEwQixFQUFtQixFQUFFO0lBQy9FLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyw0QkFBNEIsRUFBRSxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDN0csQ0FBQyxDQUFDLGVBQWUsQ0FBQyxrQkFBa0I7UUFDcEMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztBQUMzQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpZENyZWF0b3IsIFBvaW50LCBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBEZWZhdWx0U3dpbWxhbmVQcm9wZXJ0eU1hcCwgU1dJTUxBTkVfSEVBREVSX1NJWkUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRTd2ltbGFuZSwgUGxhaXRUYWJsZUNlbGwsIFN3aW1sYW5lRHJhd1N5bWJvbHMsIFN3aW1sYW5lU3ltYm9scyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ2VsbCB9IGZyb20gJy4vdGFibGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTd2ltbGFuZVRhYmxlKGVsZW1lbnQ6IFBsYWl0U3dpbWxhbmUpIHtcbiAgICBjb25zdCBzd2ltbGFuZUVsZW1lbnQgPSB7IC4uLmVsZW1lbnQgfTtcbiAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0hvcml6b250YWxTd2ltbGFuZShlbGVtZW50KSkge1xuICAgICAgICBzd2ltbGFuZUVsZW1lbnQuY2VsbHMgPSBlbGVtZW50LmNlbGxzLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gMCAmJiBlbGVtZW50LmhlYWRlcikge1xuICAgICAgICAgICAgICAgIGl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVsZW1lbnQuY2VsbHNbMF0sXG4gICAgICAgICAgICAgICAgICAgIHJvd3NwYW46IGVsZW1lbnQucm93cy5sZW5ndGhcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0udGV4dCAmJiBpdGVtLnRleHRIZWlnaHQgJiYgIWl0ZW0udGV4dC5kaXJlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpdGVtID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHN3aW1sYW5lRWxlbWVudDtcbiAgICB9XG4gICAgaWYgKGVsZW1lbnQuaGVhZGVyKSB7XG4gICAgICAgIHN3aW1sYW5lRWxlbWVudC5jZWxscyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi5lbGVtZW50LmNlbGxzWzBdLFxuICAgICAgICAgICAgICAgIGNvbHNwYW46IGVsZW1lbnQuY29sdW1ucy5sZW5ndGhcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi5lbGVtZW50LmNlbGxzLnNsaWNlKDEsIGVsZW1lbnQuY2VsbHMubGVuZ3RoKVxuICAgICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gc3dpbWxhbmVFbGVtZW50O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdFN3aW1sYW5lUG9pbnRzID0gKHBvaW50ZXI6IFN3aW1sYW5lRHJhd1N5bWJvbHMsIGNlbnRlclBvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gRGVmYXVsdFN3aW1sYW5lUHJvcGVydHlNYXBbcG9pbnRlcl07XG4gICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRQb2ludHMoUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5Q2VudGVyUG9pbnQoY2VudGVyUG9pbnQsIHByb3BlcnR5LndpZHRoLCBwcm9wZXJ0eS5oZWlnaHQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0U3dpbWxhbmUgPSAoc2hhcGU6IFN3aW1sYW5lRHJhd1N5bWJvbHMsIHBvaW50czogW1BvaW50LCBQb2ludF0pID0+IHtcbiAgICBjb25zdCBoZWFkZXIgPSBpc1N3aW1sYW5lV2l0aEhlYWRlcihzaGFwZSk7XG4gICAgY29uc3QgZGF0YVNoYXBlID0gYWRqdXN0U3dpbWxhbmVTaGFwZShzaGFwZSk7XG4gICAgY29uc3Qgcm93cyA9IGNyZWF0ZURlZmF1bHRSb3dzT3JDb2x1bW5zKGRhdGFTaGFwZSwgJ3JvdycsIGhlYWRlcik7XG4gICAgY29uc3QgY29sdW1ucyA9IGNyZWF0ZURlZmF1bHRSb3dzT3JDb2x1bW5zKGRhdGFTaGFwZSwgJ2NvbHVtbicsIGhlYWRlcik7XG4gICAgY29uc3Qgc3dpbWxhbmUgPSB7XG4gICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgdHlwZTogJ3N3aW1sYW5lJyxcbiAgICAgICAgc2hhcGU6IGRhdGFTaGFwZSxcbiAgICAgICAgcG9pbnRzLFxuICAgICAgICByb3dzLFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBoZWFkZXIsXG4gICAgICAgIGNlbGxzOiBjcmVhdGVEZWZhdWx0Q2VsbHMoZGF0YVNoYXBlLCByb3dzLCBjb2x1bW5zLCBoZWFkZXIpXG4gICAgfSBhcyBQbGFpdFN3aW1sYW5lO1xuICAgIHJldHVybiBzd2ltbGFuZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0Um93c09yQ29sdW1ucyA9IChzaGFwZTogU3dpbWxhbmVTeW1ib2xzLCB0eXBlOiAncm93JyB8ICdjb2x1bW4nLCBoZWFkZXI6IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCBjcmVhdGVJdGVtcyA9IChjb3VudDogbnVtYmVyKSA9PiBuZXcgQXJyYXkoY291bnQpLmZpbGwoJycpLm1hcCgoKSA9PiAoeyBpZDogaWRDcmVhdG9yKCkgfSkpO1xuICAgIGxldCBkYXRhID0gY3JlYXRlSXRlbXMoMyk7XG4gICAgaWYgKFxuICAgICAgICAodHlwZSA9PT0gJ3JvdycgJiYgc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsKSB8fFxuICAgICAgICAodHlwZSA9PT0gJ2NvbHVtbicgJiYgc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZUhvcml6b250YWwpXG4gICAgKSB7XG4gICAgICAgIGRhdGEgPSBoZWFkZXIgPyBkYXRhIDogY3JlYXRlSXRlbXMoMik7XG4gICAgICAgIGNvbnN0IGRpbWVuc2lvbiA9IHR5cGUgPT09ICdyb3cnID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuICAgICAgICBkYXRhID0gZGF0YS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IDAgfHwgKGluZGV4ID09PSAxICYmIGhlYWRlcikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICBbZGltZW5zaW9uXTogU1dJTUxBTkVfSEVBREVSX1NJWkVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlZmF1bHRDZWxscyA9IChcbiAgICBzaGFwZTogU3dpbWxhbmVTeW1ib2xzLFxuICAgIHJvd3M6IHsgaWQ6IHN0cmluZzsgaGVpZ2h0PzogbnVtYmVyIH1bXSxcbiAgICBjb2x1bW5zOiB7IGlkOiBzdHJpbmc7IHdpZHRoPzogbnVtYmVyIH1bXSxcbiAgICBoZWFkZXI6IGJvb2xlYW5cbikgPT4ge1xuICAgIGxldCBoZWFkZXJDZWxsOiBQbGFpdFRhYmxlQ2VsbFtdID0gW107XG4gICAgbGV0IHN0YXJ0SW5kZXggPSAwO1xuICAgIGlmIChoZWFkZXIpIHtcbiAgICAgICAgaGVhZGVyQ2VsbCA9IFtjcmVhdGVDZWxsKHJvd3NbMF0uaWQsIGNvbHVtbnNbMF0uaWQsICdOZXcgU3dpbWxhbmUnKV07XG4gICAgICAgIHN0YXJ0SW5kZXggPSAxO1xuICAgIH1cbiAgICBjb25zdCBjZWxscyA9IG5ldyBBcnJheSg2KS5maWxsKCcnKS5tYXAoKF8sIGluZGV4KSA9PiB7XG4gICAgICAgIGlmIChpbmRleCA8IDMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvd0lkID0gc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsID8gcm93c1tzdGFydEluZGV4XS5pZCA6IHJvd3NbaW5kZXhdLmlkO1xuICAgICAgICAgICAgY29uc3QgY29sdW1uSWQgPSBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyBjb2x1bW5zW2luZGV4XS5pZCA6IGNvbHVtbnNbc3RhcnRJbmRleF0uaWQ7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlQ2VsbChyb3dJZCwgY29sdW1uSWQsICdMYW5lJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm93SWQgPSBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyByb3dzW3N0YXJ0SW5kZXggKyAxXS5pZCA6IHJvd3NbaW5kZXggLSAzXS5pZDtcbiAgICAgICAgY29uc3QgY29sdW1uSWQgPSBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyBjb2x1bW5zW2luZGV4IC0gM10uaWQgOiBjb2x1bW5zW3N0YXJ0SW5kZXggKyAxXS5pZDtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUNlbGwocm93SWQsIGNvbHVtbklkKTtcbiAgICB9KTtcbiAgICByZXR1cm4gWy4uLmhlYWRlckNlbGwsIC4uLmNlbGxzXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTd2ltbGFuZUNvdW50ID0gKHN3aW1sYW5lOiBQbGFpdFN3aW1sYW5lKSA9PiB7XG4gICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNIb3Jpem9udGFsU3dpbWxhbmUoc3dpbWxhbmUpKSB7XG4gICAgICAgIHJldHVybiBzd2ltbGFuZS5yb3dzLmxlbmd0aDtcbiAgICB9XG4gICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNWZXJ0aWNhbFN3aW1sYW5lKHN3aW1sYW5lKSkge1xuICAgICAgICByZXR1cm4gc3dpbWxhbmUuY29sdW1ucy5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU3dpbWxhbmVXaXRoSGVhZGVyID0gKHNoYXBlOiBTd2ltbGFuZURyYXdTeW1ib2xzKSA9PiB7XG4gICAgcmV0dXJuIFtTd2ltbGFuZURyYXdTeW1ib2xzLnN3aW1sYW5lSG9yaXpvbnRhbFdpdGhIZWFkZXIsIFN3aW1sYW5lRHJhd1N5bWJvbHMuc3dpbWxhbmVWZXJ0aWNhbFdpdGhIZWFkZXJdLmluY2x1ZGVzKHNoYXBlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGp1c3RTd2ltbGFuZVNoYXBlID0gKHNoYXBlOiBTd2ltbGFuZURyYXdTeW1ib2xzKTogU3dpbWxhbmVTeW1ib2xzID0+IHtcbiAgICByZXR1cm4gW1N3aW1sYW5lRHJhd1N5bWJvbHMuc3dpbWxhbmVIb3Jpem9udGFsV2l0aEhlYWRlciwgU3dpbWxhbmVEcmF3U3ltYm9scy5zd2ltbGFuZUhvcml6b250YWxdLmluY2x1ZGVzKHNoYXBlKVxuICAgICAgICA/IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZUhvcml6b250YWxcbiAgICAgICAgOiBTd2ltbGFuZVN5bWJvbHMuc3dpbWxhbmVWZXJ0aWNhbDtcbn07XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { getSelectedElements } from '@plait/core';
2
+ import { PlaitTableElement } from '../interfaces/table';
3
+ import { PlaitDrawElement } from '../interfaces';
4
+ export const isSingleSelectTable = (board) => {
5
+ const selectedElements = getSelectedElements(board);
6
+ return selectedElements && selectedElements.length === 1 && PlaitTableElement.isTable(selectedElements[0]);
7
+ };
8
+ export const isSingleSelectElementByTable = (board) => {
9
+ const selectedElements = getSelectedElements(board);
10
+ return selectedElements && selectedElements.length === 1 && PlaitDrawElement.isElementByTable(selectedElements[0]);
11
+ };
12
+ export const getSelectedTableElements = (board, elements) => {
13
+ const selectedElements = elements?.length ? elements : getSelectedElements(board);
14
+ return selectedElements.filter(value => PlaitTableElement.isTable(value));
15
+ };
16
+ export const SELECTED_CELLS = new WeakMap();
17
+ export function getSelectedCells(element) {
18
+ return SELECTED_CELLS.get(element);
19
+ }
20
+ export function setSelectedCells(element, cells) {
21
+ return SELECTED_CELLS.set(element, cells);
22
+ }
23
+ export function clearSelectedCells(element) {
24
+ return SELECTED_CELLS.delete(element);
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2VsZWN0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy90YWJsZS1zZWxlY3RlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsbUJBQW1CLEVBQWdCLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBOEMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDckQsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxPQUFPLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0csQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDOUQsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxPQUFPLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2SCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsUUFBeUIsRUFBRSxFQUFFO0lBQ3JGLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRixPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBaUIsQ0FBQztBQUM5RixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQW9DLENBQUM7QUFFOUUsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQXVCO0lBQ3BELE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQXVCLEVBQUUsS0FBdUI7SUFDN0UsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQXVCO0lBQ3RELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgZ2V0U2VsZWN0ZWRFbGVtZW50cywgUGxhaXRFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRUYWJsZUVsZW1lbnQsIFBsYWl0VGFibGVDZWxsLCBQbGFpdEJhc2VUYWJsZSwgUGxhaXRUYWJsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvdGFibGUnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgaXNTaW5nbGVTZWxlY3RUYWJsZSA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRFbGVtZW50cyAmJiBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiBQbGFpdFRhYmxlRWxlbWVudC5pc1RhYmxlKHNlbGVjdGVkRWxlbWVudHNbMF0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU2luZ2xlU2VsZWN0RWxlbWVudEJ5VGFibGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgcmV0dXJuIHNlbGVjdGVkRWxlbWVudHMgJiYgc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgUGxhaXREcmF3RWxlbWVudC5pc0VsZW1lbnRCeVRhYmxlKHNlbGVjdGVkRWxlbWVudHNbMF0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkVGFibGVFbGVtZW50cyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM/OiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRFbGVtZW50cy5maWx0ZXIodmFsdWUgPT4gUGxhaXRUYWJsZUVsZW1lbnQuaXNUYWJsZSh2YWx1ZSkpIGFzIFBsYWl0VGFibGVbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RFRF9DRUxMUyA9IG5ldyBXZWFrTWFwPFBsYWl0QmFzZVRhYmxlLCBQbGFpdFRhYmxlQ2VsbFtdPigpO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VsZWN0ZWRDZWxscyhlbGVtZW50OiBQbGFpdEJhc2VUYWJsZSkge1xuICAgIHJldHVybiBTRUxFQ1RFRF9DRUxMUy5nZXQoZWxlbWVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRTZWxlY3RlZENlbGxzKGVsZW1lbnQ6IFBsYWl0QmFzZVRhYmxlLCBjZWxsczogUGxhaXRUYWJsZUNlbGxbXSkge1xuICAgIHJldHVybiBTRUxFQ1RFRF9DRUxMUy5zZXQoZWxlbWVudCwgY2VsbHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJTZWxlY3RlZENlbGxzKGVsZW1lbnQ6IFBsYWl0QmFzZVRhYmxlKSB7XG4gICAgcmV0dXJuIFNFTEVDVEVEX0NFTExTLmRlbGV0ZShlbGVtZW50KTtcbn1cbiJdfQ==
@@ -1,5 +1,7 @@
1
1
  import { idCreator, RectangleClient } from '@plait/core';
2
2
  import { getTextManage } from '../generators/text.generator';
3
+ import { Alignment } from '@plait/common';
4
+ import { TEXT_DEFAULT_HEIGHT } from '@plait/text-plugins';
3
5
  export function getCellsWithPoints(board, element) {
4
6
  const table = board.buildTable(element);
5
7
  const rectangle = RectangleClient.getRectangleByPoints(table.points);
@@ -121,4 +123,27 @@ export function updateCellIds(cells) {
121
123
  export function isCellIncludeText(cell) {
122
124
  return cell.text && cell.textHeight;
123
125
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRzdELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFpQixFQUFFLE9BQW1CO0lBQ3JFLE1BQU0sS0FBSyxHQUFJLEtBQXlCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDMUMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEMsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRixNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZGLE1BQU0sS0FBSyxHQUErQixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM3RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sU0FBUyxHQUFHLEtBQUss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QUNQLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsT0FBbUIsRUFBRSxJQUFzQjtJQUM1RSxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMvQixNQUFNLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUMxQiwwQkFBMEIsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBdUI7SUFDakQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLEtBQUssR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBb0I7SUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlkQ3JlYXRvciwgUGxhaXRCb2FyZCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0VGFibGUsIFBsYWl0VGFibGVDZWxsLCBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3RhYmxlJztcbmltcG9ydCB7IGdldFRleHRNYW5hZ2UgfSBmcm9tICcuLi9nZW5lcmF0b3JzL3RleHQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IFBsYWl0VGFibGVCb2FyZCB9IGZyb20gJy4uL3BsdWdpbnMvd2l0aC10YWJsZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZWxsc1dpdGhQb2ludHMoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0VGFibGUpOiBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHNbXSB7XG4gICAgY29uc3QgdGFibGUgPSAoYm9hcmQgYXMgUGxhaXRUYWJsZUJvYXJkKS5idWlsZFRhYmxlKGVsZW1lbnQpO1xuICAgIGNvbnN0IHJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyh0YWJsZS5wb2ludHMpO1xuICAgIGNvbnN0IGNvbHVtbnNDb3VudCA9IHRhYmxlLmNvbHVtbnMubGVuZ3RoO1xuICAgIGNvbnN0IHJvd3NDb3VudCA9IHRhYmxlLnJvd3MubGVuZ3RoO1xuICAgIGNvbnN0IGNlbGxXaWR0aHMgPSBjYWxjdWxhdGVDZWxsc1NpemUodGFibGUuY29sdW1ucywgcmVjdGFuZ2xlLndpZHRoLCBjb2x1bW5zQ291bnQsIHRydWUpO1xuICAgIGNvbnN0IGNlbGxIZWlnaHRzID0gY2FsY3VsYXRlQ2VsbHNTaXplKHRhYmxlLnJvd3MsIHJlY3RhbmdsZS5oZWlnaHQsIHJvd3NDb3VudCwgZmFsc2UpO1xuICAgIGNvbnN0IGNlbGxzOiBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHNbXSA9IHRhYmxlLmNlbGxzLm1hcChjZWxsID0+IHtcbiAgICAgICAgY29uc3Qgcm93SWR4ID0gdGFibGUucm93cy5maW5kSW5kZXgocm93ID0+IHJvdy5pZCA9PT0gY2VsbC5yb3dJZCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbklkeCA9IHRhYmxlLmNvbHVtbnMuZmluZEluZGV4KGNvbHVtbiA9PiBjb2x1bW4uaWQgPT09IGNlbGwuY29sdW1uSWQpO1xuXG4gICAgICAgIGxldCBjZWxsVG9wTGVmdFggPSByZWN0YW5nbGUueDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bW5JZHg7IGkrKykge1xuICAgICAgICAgICAgY2VsbFRvcExlZnRYICs9IGNlbGxXaWR0aHNbaV07XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY2VsbFRvcExlZnRZID0gcmVjdGFuZ2xlLnk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93SWR4OyBpKyspIHtcbiAgICAgICAgICAgIGNlbGxUb3BMZWZ0WSArPSBjZWxsSGVpZ2h0c1tpXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNlbGxXaWR0aCA9IGNhbGN1bGF0ZUNlbGxTaXplKGNlbGwsIGNlbGxXaWR0aHMsIGNvbHVtbklkeCwgdHJ1ZSk7XG4gICAgICAgIGNvbnN0IGNlbGxCb3R0b21SaWdodFggPSBjZWxsVG9wTGVmdFggKyBjZWxsV2lkdGg7XG5cbiAgICAgICAgY29uc3QgY2VsbEhlaWdodCA9IGNhbGN1bGF0ZUNlbGxTaXplKGNlbGwsIGNlbGxIZWlnaHRzLCByb3dJZHgsIGZhbHNlKTtcbiAgICAgICAgY29uc3QgY2VsbEJvdHRvbVJpZ2h0WSA9IGNlbGxUb3BMZWZ0WSArIGNlbGxIZWlnaHQ7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNlbGwsXG4gICAgICAgICAgICBwb2ludHM6IFtcbiAgICAgICAgICAgICAgICBbY2VsbFRvcExlZnRYLCBjZWxsVG9wTGVmdFldLFxuICAgICAgICAgICAgICAgIFtjZWxsQm90dG9tUmlnaHRYLCBjZWxsQm90dG9tUmlnaHRZXVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNlbGxzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2VsbFdpdGhQb2ludHMoYm9hcmQ6IFBsYWl0Qm9hcmQsIHRhYmxlOiBQbGFpdFRhYmxlLCBjZWxsSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNlbGxzID0gZ2V0Q2VsbHNXaXRoUG9pbnRzKGJvYXJkIGFzIFBsYWl0VGFibGVCb2FyZCwgdGFibGUpO1xuICAgIGNvbnN0IGNlbGxJbmRleCA9IHRhYmxlLmNlbGxzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGNlbGxJZCk7XG4gICAgcmV0dXJuIGNlbGxzW2NlbGxJbmRleF07XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNlbGxzU2l6ZShpdGVtczogeyBpZDogc3RyaW5nOyBba2V5OiBzdHJpbmddOiBhbnkgfVtdLCB0YWJsZVNpemU6IG51bWJlciwgY291bnQ6IG51bWJlciwgaXNXaWR0aDogYm9vbGVhbikge1xuICAgIGNvbnN0IGNlbGxTaXplczogbnVtYmVyW10gPSBbXTtcbiAgICBjb25zdCBzaXplVHlwZSA9IGlzV2lkdGggPyAnd2lkdGgnIDogJ2hlaWdodCc7XG5cbiAgICAvLyBUaGUgcmVtYWluaW5nIHNpemUgb2YgdGhlIHRhYmxlIGV4Y2x1ZGluZyBjZWxscyB3aXRoIGFscmVhZHkgc2V0IHNpemVzLlxuICAgIGxldCB0b3RhbFNpemVSZW1haW5pbmcgPSB0YWJsZVNpemU7XG5cbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaXRlbVtzaXplVHlwZV0pIHtcbiAgICAgICAgICAgIGNlbGxTaXplc1tpbmRleF0gPSBpdGVtW3NpemVUeXBlXTtcbiAgICAgICAgICAgIHRvdGFsU2l6ZVJlbWFpbmluZyAtPSBpdGVtW3NpemVUeXBlXTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gRGl2aWRlIHRoZSByZW1haW5pbmcgc2l6ZSBlcXVhbGx5LlxuICAgIGNvbnN0IHJlbWFpbmluZ0l0ZW1Db3VudCA9IGNvdW50IC0gY2VsbFNpemVzLmZpbHRlcihpdGVtID0+ICEhaXRlbSkubGVuZ3RoO1xuICAgIGNvbnN0IHJlbWFpbmluZ0NlbGxTaXplID0gcmVtYWluaW5nSXRlbUNvdW50ID4gMCA/IHRvdGFsU2l6ZVJlbWFpbmluZyAvIHJlbWFpbmluZ0l0ZW1Db3VudCA6IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgICAgIGlmICghY2VsbFNpemVzW2ldKSB7XG4gICAgICAgICAgICBjZWxsU2l6ZXNbaV0gPSByZW1haW5pbmdDZWxsU2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2VsbFNpemVzO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVDZWxsU2l6ZShjZWxsOiBQbGFpdFRhYmxlQ2VsbCwgc2l6ZXM6IG51bWJlcltdLCBpbmRleDogbnVtYmVyLCBpc1dpZHRoOiBib29sZWFuKSB7XG4gICAgY29uc3Qgc3BhbiA9IGlzV2lkdGggPyBjZWxsLmNvbHNwYW4gfHwgMSA6IGNlbGwucm93c3BhbiB8fCAxO1xuICAgIGxldCBzaXplID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNwYW47IGkrKykge1xuICAgICAgICBjb25zdCBjZWxsSW5kZXggPSBpbmRleCArIGk7XG4gICAgICAgIHNpemUgKz0gc2l6ZXNbY2VsbEluZGV4XTtcbiAgICB9XG4gICAgcmV0dXJuIHNpemU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIaXRDZWxsKGJvYXJkOiBQbGFpdFRhYmxlQm9hcmQsIGVsZW1lbnQ6IFBsYWl0VGFibGUsIHBvaW50OiBQb2ludCkge1xuICAgIGNvbnN0IHRhYmxlID0gYm9hcmQuYnVpbGRUYWJsZShlbGVtZW50KTtcbiAgICBjb25zdCBjZWxscyA9IGdldENlbGxzV2l0aFBvaW50cyhib2FyZCwgdGFibGUpO1xuICAgIGNvbnN0IHJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhbcG9pbnQsIHBvaW50XSk7XG4gICAgY29uc3QgY2VsbCA9IGNlbGxzLmZpbmQoaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IGNlbGxSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoaXRlbS5wb2ludHMpO1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHJlY3RhbmdsZSwgY2VsbFJlY3RhbmdsZSk7XG4gICAgfSk7XG4gICAgaWYgKGNlbGwpIHtcbiAgICAgICAgcmV0dXJuIHRhYmxlLmNlbGxzLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBjZWxsLmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlZGl0Q2VsbChjZWxsOiBQbGFpdFRhYmxlQ2VsbCkge1xuICAgIGNvbnN0IHRleHRNYW5hZ2UgPSBnZXRUZXh0TWFuYWdlQnlDZWxsKGNlbGwpO1xuICAgIHRleHRNYW5hZ2UgJiYgdGV4dE1hbmFnZS5lZGl0KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXh0TWFuYWdlQnlDZWxsKGNlbGw6IFBsYWl0VGFibGVDZWxsKSB7XG4gICAgcmV0dXJuIGdldFRleHRNYW5hZ2UoY2VsbC5pZCk7XG59XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVDb2x1bW5zID0gKHRhYmxlOiBQbGFpdFRhYmxlLCBjb2x1bW5JZDogc3RyaW5nLCB3aWR0aDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGNvbHVtbnMgPSB0YWJsZS5jb2x1bW5zLm1hcChpdGVtID0+IChpdGVtLmlkID09PSBjb2x1bW5JZCA/IHsgLi4uaXRlbSwgd2lkdGggfSA6IGl0ZW0pKTtcbiAgICBjb25zdCBwb2ludHMgPSBbdGFibGUucG9pbnRzWzBdLCBbdGFibGUucG9pbnRzWzFdWzBdICsgb2Zmc2V0LCB0YWJsZS5wb2ludHNbMV1bMV1dXSBhcyBQb2ludFtdO1xuICAgIHJldHVybiB7IGNvbHVtbnMsIHBvaW50cyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVJvd3MgPSAodGFibGU6IFBsYWl0VGFibGUsIHJvd0lkOiBzdHJpbmcsIGhlaWdodDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHJvd3MgPSB0YWJsZS5yb3dzLm1hcChpdGVtID0+IChpdGVtLmlkID09PSByb3dJZCA/IHsgLi4uaXRlbSwgaGVpZ2h0IH0gOiBpdGVtKSk7XG4gICAgY29uc3QgcG9pbnRzID0gW3RhYmxlLnBvaW50c1swXSwgW3RhYmxlLnBvaW50c1sxXVswXSwgdGFibGUucG9pbnRzWzFdWzFdICsgb2Zmc2V0XV0gYXMgUG9pbnRbXTtcbiAgICByZXR1cm4geyByb3dzLCBwb2ludHMgfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVDZWxsSWRzQnlSb3dPckNvbHVtbihjZWxsczogUGxhaXRUYWJsZUNlbGxbXSwgb2xkSWQ6IHN0cmluZywgbmV3SWQ6IHN0cmluZywgdHlwZTogJ3JvdycgfCAnY29sdW1uJykge1xuICAgIGNvbnN0IGlkOiAncm93SWQnIHwgJ2NvbHVtbklkJyA9IGAke3R5cGV9SWRgO1xuICAgIGNlbGxzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGlmIChpdGVtW2lkXSA9PT0gb2xkSWQpIHtcbiAgICAgICAgICAgIGl0ZW1baWRdID0gbmV3SWQ7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVJvd09yQ29sdW1uSWRzKGVsZW1lbnQ6IFBsYWl0VGFibGUsIHR5cGU6ICdyb3cnIHwgJ2NvbHVtbicpIHtcbiAgICBlbGVtZW50W2Ake3R5cGV9c2BdLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0lkID0gaWRDcmVhdG9yKCk7XG4gICAgICAgIHVwZGF0ZUNlbGxJZHNCeVJvd09yQ29sdW1uKGVsZW1lbnQuY2VsbHMsIGl0ZW0uaWQsIG5ld0lkLCB0eXBlKTtcbiAgICAgICAgaXRlbS5pZCA9IG5ld0lkO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQ2VsbElkcyhjZWxsczogUGxhaXRUYWJsZUNlbGxbXSkge1xuICAgIGNlbGxzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0lkID0gaWRDcmVhdG9yKCk7XG4gICAgICAgIGl0ZW0uaWQgPSBuZXdJZDtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2VsbEluY2x1ZGVUZXh0KGNlbGw6IFBsYWl0VGFibGVDZWxsKSB7XG4gICAgcmV0dXJuIGNlbGwudGV4dCAmJiBjZWxsLnRleHRIZWlnaHQ7XG59XG4iXX0=
126
+ export function getCellsRectangle(board, element, cells) {
127
+ const cellsWithPoints = getCellsWithPoints(board, element);
128
+ const points = cells.map(cell => {
129
+ const cellWithPoints = cellsWithPoints.find(item => item.id === cell.id);
130
+ return cellWithPoints.points;
131
+ });
132
+ return RectangleClient.getRectangleByPoints(points);
133
+ }
134
+ export const createCell = (rowId, columnId, text = null) => {
135
+ const cell = {
136
+ id: idCreator(),
137
+ rowId,
138
+ columnId
139
+ };
140
+ if (text !== null) {
141
+ cell['textHeight'] = TEXT_DEFAULT_HEIGHT;
142
+ cell['text'] = {
143
+ children: [{ text }],
144
+ align: Alignment.center
145
+ };
146
+ }
147
+ return cell;
148
+ };
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQWlCLEVBQUUsT0FBdUI7SUFDekUsTUFBTSxLQUFLLEdBQUksS0FBeUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0QsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRSxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUMxQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNwQyxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFGLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkYsTUFBTSxLQUFLLEdBQStCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzdELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVqRixJQUFJLFlBQVksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQy9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNqQyxZQUFZLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxJQUFJLFlBQVksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQy9CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM5QixZQUFZLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RSxNQUFNLGdCQUFnQixHQUFHLFlBQVksR0FBRyxTQUFTLENBQUM7UUFFbEQsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkUsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsVUFBVSxDQUFDO1FBRW5ELE9BQU87WUFDSCxHQUFHLElBQUk7WUFDUCxNQUFNLEVBQUU7Z0JBQ0osQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO2dCQUM1QixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO2FBQ3ZDO1NBQ0osQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFpQixFQUFFLEtBQXFCLEVBQUUsTUFBYztJQUN0RixNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQztJQUNwRSxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxLQUEyQyxFQUFFLFNBQWlCLEVBQUUsS0FBYSxFQUFFLE9BQWdCO0lBQ3ZILE1BQU0sU0FBUyxHQUFhLEVBQUUsQ0FBQztJQUMvQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBRTlDLDBFQUEwRTtJQUMxRSxJQUFJLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztJQUVuQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDakIsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgscUNBQXFDO0lBQ3JDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNFLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9GLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDaEIsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsSUFBb0IsRUFBRSxLQUFlLEVBQUUsS0FBYSxFQUFFLE9BQWdCO0lBQzdGLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO0lBQzdELElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM1QixNQUFNLFNBQVMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQXNCLEVBQUUsT0FBdUIsRUFBRSxLQUFZO0lBQ3BGLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9DLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDM0IsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4RSxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzNELENBQUMsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBb0I7SUFDekMsTUFBTSxVQUFVLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsVUFBVSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQW9CO0lBQ3BELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBcUIsRUFBRSxRQUFnQixFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUNwRyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUYsTUFBTSxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFZLENBQUM7SUFDL0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsTUFBYyxFQUFFLEVBQUU7SUFDL0YsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBWSxDQUFDO0lBQy9GLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFDNUIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEtBQXVCLEVBQUUsS0FBYSxFQUFFLEtBQWEsRUFBRSxJQUFzQjtJQUNwSCxNQUFNLEVBQUUsR0FBeUIsR0FBRyxJQUFJLElBQUksQ0FBQztJQUM3QyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUFtQixFQUFFLElBQXNCO0lBQzVFLE9BQU8sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQy9CLE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQzFCLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUF1QjtJQUNqRCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFvQjtJQUNsRCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQXNCLEVBQUUsT0FBbUIsRUFBRSxLQUF1QjtJQUNsRyxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxLQUF3QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlFLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDNUIsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sY0FBZSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sZUFBZSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFhLEVBQUUsUUFBZ0IsRUFBRSxPQUFzQixJQUFJLEVBQUUsRUFBRTtJQUN0RixNQUFNLElBQUksR0FBbUI7UUFDekIsRUFBRSxFQUFFLFNBQVMsRUFBRTtRQUNmLEtBQUs7UUFDTCxRQUFRO0tBQ1gsQ0FBQztJQUNGLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxtQkFBbUIsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUc7WUFDWCxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3BCLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTTtTQUMxQixDQUFDO0lBQ04sQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlkQ3JlYXRvciwgUGxhaXRCb2FyZCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0QmFzZVRhYmxlLCBQbGFpdFRhYmxlLCBQbGFpdFRhYmxlQm9hcmQsIFBsYWl0VGFibGVDZWxsLCBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3RhYmxlJztcbmltcG9ydCB7IGdldFRleHRNYW5hZ2UgfSBmcm9tICcuLi9nZW5lcmF0b3JzL3RleHQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IEFsaWdubWVudCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgVEVYVF9ERUZBVUxUX0hFSUdIVCB9IGZyb20gJ0BwbGFpdC90ZXh0LXBsdWdpbnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2VsbHNXaXRoUG9pbnRzKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdEJhc2VUYWJsZSk6IFBsYWl0VGFibGVDZWxsV2l0aFBvaW50c1tdIHtcbiAgICBjb25zdCB0YWJsZSA9IChib2FyZCBhcyBQbGFpdFRhYmxlQm9hcmQpLmJ1aWxkVGFibGUoZWxlbWVudCk7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKHRhYmxlLnBvaW50cyk7XG4gICAgY29uc3QgY29sdW1uc0NvdW50ID0gdGFibGUuY29sdW1ucy5sZW5ndGg7XG4gICAgY29uc3Qgcm93c0NvdW50ID0gdGFibGUucm93cy5sZW5ndGg7XG4gICAgY29uc3QgY2VsbFdpZHRocyA9IGNhbGN1bGF0ZUNlbGxzU2l6ZSh0YWJsZS5jb2x1bW5zLCByZWN0YW5nbGUud2lkdGgsIGNvbHVtbnNDb3VudCwgdHJ1ZSk7XG4gICAgY29uc3QgY2VsbEhlaWdodHMgPSBjYWxjdWxhdGVDZWxsc1NpemUodGFibGUucm93cywgcmVjdGFuZ2xlLmhlaWdodCwgcm93c0NvdW50LCBmYWxzZSk7XG4gICAgY29uc3QgY2VsbHM6IFBsYWl0VGFibGVDZWxsV2l0aFBvaW50c1tdID0gdGFibGUuY2VsbHMubWFwKGNlbGwgPT4ge1xuICAgICAgICBjb25zdCByb3dJZHggPSB0YWJsZS5yb3dzLmZpbmRJbmRleChyb3cgPT4gcm93LmlkID09PSBjZWxsLnJvd0lkKTtcbiAgICAgICAgY29uc3QgY29sdW1uSWR4ID0gdGFibGUuY29sdW1ucy5maW5kSW5kZXgoY29sdW1uID0+IGNvbHVtbi5pZCA9PT0gY2VsbC5jb2x1bW5JZCk7XG5cbiAgICAgICAgbGV0IGNlbGxUb3BMZWZ0WCA9IHJlY3RhbmdsZS54O1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtbklkeDsgaSsrKSB7XG4gICAgICAgICAgICBjZWxsVG9wTGVmdFggKz0gY2VsbFdpZHRoc1tpXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjZWxsVG9wTGVmdFkgPSByZWN0YW5nbGUueTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dJZHg7IGkrKykge1xuICAgICAgICAgICAgY2VsbFRvcExlZnRZICs9IGNlbGxIZWlnaHRzW2ldO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2VsbFdpZHRoID0gY2FsY3VsYXRlQ2VsbFNpemUoY2VsbCwgY2VsbFdpZHRocywgY29sdW1uSWR4LCB0cnVlKTtcbiAgICAgICAgY29uc3QgY2VsbEJvdHRvbVJpZ2h0WCA9IGNlbGxUb3BMZWZ0WCArIGNlbGxXaWR0aDtcblxuICAgICAgICBjb25zdCBjZWxsSGVpZ2h0ID0gY2FsY3VsYXRlQ2VsbFNpemUoY2VsbCwgY2VsbEhlaWdodHMsIHJvd0lkeCwgZmFsc2UpO1xuICAgICAgICBjb25zdCBjZWxsQm90dG9tUmlnaHRZID0gY2VsbFRvcExlZnRZICsgY2VsbEhlaWdodDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY2VsbCxcbiAgICAgICAgICAgIHBvaW50czogW1xuICAgICAgICAgICAgICAgIFtjZWxsVG9wTGVmdFgsIGNlbGxUb3BMZWZ0WV0sXG4gICAgICAgICAgICAgICAgW2NlbGxCb3R0b21SaWdodFgsIGNlbGxCb3R0b21SaWdodFldXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY2VsbHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZWxsV2l0aFBvaW50cyhib2FyZDogUGxhaXRCb2FyZCwgdGFibGU6IFBsYWl0QmFzZVRhYmxlLCBjZWxsSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNlbGxzID0gZ2V0Q2VsbHNXaXRoUG9pbnRzKGJvYXJkIGFzIFBsYWl0VGFibGVCb2FyZCwgdGFibGUpO1xuICAgIGNvbnN0IGNlbGxJbmRleCA9IHRhYmxlLmNlbGxzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGNlbGxJZCk7XG4gICAgcmV0dXJuIGNlbGxzW2NlbGxJbmRleF07XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNlbGxzU2l6ZShpdGVtczogeyBpZDogc3RyaW5nOyBba2V5OiBzdHJpbmddOiBhbnkgfVtdLCB0YWJsZVNpemU6IG51bWJlciwgY291bnQ6IG51bWJlciwgaXNXaWR0aDogYm9vbGVhbikge1xuICAgIGNvbnN0IGNlbGxTaXplczogbnVtYmVyW10gPSBbXTtcbiAgICBjb25zdCBzaXplVHlwZSA9IGlzV2lkdGggPyAnd2lkdGgnIDogJ2hlaWdodCc7XG5cbiAgICAvLyBUaGUgcmVtYWluaW5nIHNpemUgb2YgdGhlIHRhYmxlIGV4Y2x1ZGluZyBjZWxscyB3aXRoIGFscmVhZHkgc2V0IHNpemVzLlxuICAgIGxldCB0b3RhbFNpemVSZW1haW5pbmcgPSB0YWJsZVNpemU7XG5cbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaXRlbVtzaXplVHlwZV0pIHtcbiAgICAgICAgICAgIGNlbGxTaXplc1tpbmRleF0gPSBpdGVtW3NpemVUeXBlXTtcbiAgICAgICAgICAgIHRvdGFsU2l6ZVJlbWFpbmluZyAtPSBpdGVtW3NpemVUeXBlXTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gRGl2aWRlIHRoZSByZW1haW5pbmcgc2l6ZSBlcXVhbGx5LlxuICAgIGNvbnN0IHJlbWFpbmluZ0l0ZW1Db3VudCA9IGNvdW50IC0gY2VsbFNpemVzLmZpbHRlcihpdGVtID0+ICEhaXRlbSkubGVuZ3RoO1xuICAgIGNvbnN0IHJlbWFpbmluZ0NlbGxTaXplID0gcmVtYWluaW5nSXRlbUNvdW50ID4gMCA/IHRvdGFsU2l6ZVJlbWFpbmluZyAvIHJlbWFpbmluZ0l0ZW1Db3VudCA6IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgICAgIGlmICghY2VsbFNpemVzW2ldKSB7XG4gICAgICAgICAgICBjZWxsU2l6ZXNbaV0gPSByZW1haW5pbmdDZWxsU2l6ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2VsbFNpemVzO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVDZWxsU2l6ZShjZWxsOiBQbGFpdFRhYmxlQ2VsbCwgc2l6ZXM6IG51bWJlcltdLCBpbmRleDogbnVtYmVyLCBpc1dpZHRoOiBib29sZWFuKSB7XG4gICAgY29uc3Qgc3BhbiA9IGlzV2lkdGggPyBjZWxsLmNvbHNwYW4gfHwgMSA6IGNlbGwucm93c3BhbiB8fCAxO1xuICAgIGxldCBzaXplID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNwYW47IGkrKykge1xuICAgICAgICBjb25zdCBjZWxsSW5kZXggPSBpbmRleCArIGk7XG4gICAgICAgIHNpemUgKz0gc2l6ZXNbY2VsbEluZGV4XTtcbiAgICB9XG4gICAgcmV0dXJuIHNpemU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIaXRDZWxsKGJvYXJkOiBQbGFpdFRhYmxlQm9hcmQsIGVsZW1lbnQ6IFBsYWl0QmFzZVRhYmxlLCBwb2ludDogUG9pbnQpIHtcbiAgICBjb25zdCB0YWJsZSA9IGJvYXJkLmJ1aWxkVGFibGUoZWxlbWVudCk7XG4gICAgY29uc3QgY2VsbHMgPSBnZXRDZWxsc1dpdGhQb2ludHMoYm9hcmQsIHRhYmxlKTtcbiAgICBjb25zdCByZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoW3BvaW50LCBwb2ludF0pO1xuICAgIGNvbnN0IGNlbGwgPSBjZWxscy5maW5kKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBjZWxsUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGl0ZW0ucG9pbnRzKTtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5pc0hpdChyZWN0YW5nbGUsIGNlbGxSZWN0YW5nbGUpO1xuICAgIH0pO1xuICAgIGlmIChjZWxsKSB7XG4gICAgICAgIHJldHVybiB0YWJsZS5jZWxscy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gY2VsbC5pZCk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZWRpdENlbGwoY2VsbDogUGxhaXRUYWJsZUNlbGwpIHtcbiAgICBjb25zdCB0ZXh0TWFuYWdlID0gZ2V0VGV4dE1hbmFnZUJ5Q2VsbChjZWxsKTtcbiAgICB0ZXh0TWFuYWdlICYmIHRleHRNYW5hZ2UuZWRpdCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGV4dE1hbmFnZUJ5Q2VsbChjZWxsOiBQbGFpdFRhYmxlQ2VsbCkge1xuICAgIHJldHVybiBnZXRUZXh0TWFuYWdlKGNlbGwuaWQpO1xufVxuXG5leHBvcnQgY29uc3QgdXBkYXRlQ29sdW1ucyA9ICh0YWJsZTogUGxhaXRCYXNlVGFibGUsIGNvbHVtbklkOiBzdHJpbmcsIHdpZHRoOiBudW1iZXIsIG9mZnNldDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgY29sdW1ucyA9IHRhYmxlLmNvbHVtbnMubWFwKGl0ZW0gPT4gKGl0ZW0uaWQgPT09IGNvbHVtbklkID8geyAuLi5pdGVtLCB3aWR0aCB9IDogaXRlbSkpO1xuICAgIGNvbnN0IHBvaW50cyA9IFt0YWJsZS5wb2ludHNbMF0sIFt0YWJsZS5wb2ludHNbMV1bMF0gKyBvZmZzZXQsIHRhYmxlLnBvaW50c1sxXVsxXV1dIGFzIFBvaW50W107XG4gICAgcmV0dXJuIHsgY29sdW1ucywgcG9pbnRzIH07XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlUm93cyA9ICh0YWJsZTogUGxhaXRCYXNlVGFibGUsIHJvd0lkOiBzdHJpbmcsIGhlaWdodDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHJvd3MgPSB0YWJsZS5yb3dzLm1hcChpdGVtID0+IChpdGVtLmlkID09PSByb3dJZCA/IHsgLi4uaXRlbSwgaGVpZ2h0IH0gOiBpdGVtKSk7XG4gICAgY29uc3QgcG9pbnRzID0gW3RhYmxlLnBvaW50c1swXSwgW3RhYmxlLnBvaW50c1sxXVswXSwgdGFibGUucG9pbnRzWzFdWzFdICsgb2Zmc2V0XV0gYXMgUG9pbnRbXTtcbiAgICByZXR1cm4geyByb3dzLCBwb2ludHMgfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVDZWxsSWRzQnlSb3dPckNvbHVtbihjZWxsczogUGxhaXRUYWJsZUNlbGxbXSwgb2xkSWQ6IHN0cmluZywgbmV3SWQ6IHN0cmluZywgdHlwZTogJ3JvdycgfCAnY29sdW1uJykge1xuICAgIGNvbnN0IGlkOiAncm93SWQnIHwgJ2NvbHVtbklkJyA9IGAke3R5cGV9SWRgO1xuICAgIGNlbGxzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGlmIChpdGVtW2lkXSA9PT0gb2xkSWQpIHtcbiAgICAgICAgICAgIGl0ZW1baWRdID0gbmV3SWQ7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVJvd09yQ29sdW1uSWRzKGVsZW1lbnQ6IFBsYWl0VGFibGUsIHR5cGU6ICdyb3cnIHwgJ2NvbHVtbicpIHtcbiAgICBlbGVtZW50W2Ake3R5cGV9c2BdLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0lkID0gaWRDcmVhdG9yKCk7XG4gICAgICAgIHVwZGF0ZUNlbGxJZHNCeVJvd09yQ29sdW1uKGVsZW1lbnQuY2VsbHMsIGl0ZW0uaWQsIG5ld0lkLCB0eXBlKTtcbiAgICAgICAgaXRlbS5pZCA9IG5ld0lkO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQ2VsbElkcyhjZWxsczogUGxhaXRUYWJsZUNlbGxbXSkge1xuICAgIGNlbGxzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0lkID0gaWRDcmVhdG9yKCk7XG4gICAgICAgIGl0ZW0uaWQgPSBuZXdJZDtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2VsbEluY2x1ZGVUZXh0KGNlbGw6IFBsYWl0VGFibGVDZWxsKSB7XG4gICAgcmV0dXJuIGNlbGwudGV4dCAmJiBjZWxsLnRleHRIZWlnaHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZWxsc1JlY3RhbmdsZShib2FyZDogUGxhaXRUYWJsZUJvYXJkLCBlbGVtZW50OiBQbGFpdFRhYmxlLCBjZWxsczogUGxhaXRUYWJsZUNlbGxbXSkge1xuICAgIGNvbnN0IGNlbGxzV2l0aFBvaW50cyA9IGdldENlbGxzV2l0aFBvaW50cyhib2FyZCBhcyBQbGFpdFRhYmxlQm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IHBvaW50cyA9IGNlbGxzLm1hcChjZWxsID0+IHtcbiAgICAgICAgY29uc3QgY2VsbFdpdGhQb2ludHMgPSBjZWxsc1dpdGhQb2ludHMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGNlbGwuaWQpO1xuICAgICAgICByZXR1cm4gY2VsbFdpdGhQb2ludHMhLnBvaW50cztcbiAgICB9KTtcbiAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKHBvaW50cyk7XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDZWxsID0gKHJvd0lkOiBzdHJpbmcsIGNvbHVtbklkOiBzdHJpbmcsIHRleHQ6IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XG4gICAgY29uc3QgY2VsbDogUGxhaXRUYWJsZUNlbGwgPSB7XG4gICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgcm93SWQsXG4gICAgICAgIGNvbHVtbklkXG4gICAgfTtcbiAgICBpZiAodGV4dCAhPT0gbnVsbCkge1xuICAgICAgICBjZWxsWyd0ZXh0SGVpZ2h0J10gPSBURVhUX0RFRkFVTFRfSEVJR0hUO1xuICAgICAgICBjZWxsWyd0ZXh0J10gPSB7XG4gICAgICAgICAgICBjaGlsZHJlbjogW3sgdGV4dCB9XSxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQuY2VudGVyXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBjZWxsO1xufTtcbiJdfQ==
@@ -7,7 +7,7 @@ export const createUMLClassOrInterfaceGeometryElement = (board, shape, points) =
7
7
  const memorizedLatest = getMemorizedLatestByPointer(shape);
8
8
  const element = {
9
9
  id: idCreator(),
10
- type: 'table',
10
+ type: 'geometry',
11
11
  angle: 0,
12
12
  opacity: 1,
13
13
  points,
@@ -85,4 +85,4 @@ const buildTableCellsForGeometry = (board, rows, columns, shape) => {
85
85
  };
86
86
  });
87
87
  };
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW1sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvdXRpbHMvdW1sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQWtCLFVBQVUsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBd0IsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHcEcsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEtBQXFCLEVBQUUsTUFBc0IsRUFBRSxFQUFFO0lBQ3pILE1BQU0sZUFBZSxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sT0FBTyxHQUFHO1FBQ1osRUFBRSxFQUFFLFNBQVMsRUFBRTtRQUNmLElBQUksRUFBRSxPQUFPO1FBQ2IsS0FBSyxFQUFFLENBQUM7UUFDUixPQUFPLEVBQUUsQ0FBQztRQUNWLE1BQU07UUFDTixXQUFXLEVBQUUseUJBQXlCLENBQUMsV0FBVztRQUNsRCxHQUFJLGVBQWUsQ0FBQyxrQkFBMkM7S0FDbEUsQ0FBQztJQUNGLElBQUksSUFBdUMsQ0FBQztJQUM1QyxJQUFJLE9BQTBDLENBQUM7SUFDL0MsSUFBSSxLQUFLLEtBQUssVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLElBQUksR0FBRztZQUNIO2dCQUNJLEVBQUUsRUFBRSxTQUFTLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLEVBQUU7YUFDYjtZQUNEO2dCQUNJLEVBQUUsRUFBRSxTQUFTLEVBQUU7YUFDbEI7WUFDRDtnQkFDSSxFQUFFLEVBQUUsU0FBUyxFQUFFO2FBQ2xCO1NBQ0osQ0FBQztRQUNGLE9BQU8sR0FBRztZQUNOO2dCQUNJLEVBQUUsRUFBRSxTQUFTLEVBQUU7YUFDbEI7U0FDSixDQUFDO0lBQ04sQ0FBQztTQUFNLENBQUM7UUFDSixJQUFJLEdBQUc7WUFDSDtnQkFDSSxFQUFFLEVBQUUsU0FBUyxFQUFFO2dCQUNmLE1BQU0sRUFBRSxFQUFFO2FBQ2I7WUFDRDtnQkFDSSxFQUFFLEVBQUUsU0FBUyxFQUFFO2FBQ2xCO1NBQ0osQ0FBQztRQUNGLE9BQU8sR0FBRztZQUNOO2dCQUNJLEVBQUUsRUFBRSxTQUFTLEVBQUU7YUFDbEI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUNELE9BQVE7UUFDSixHQUFHLE9BQU87UUFDVixLQUFLO1FBQ0wsSUFBSTtRQUNKLE9BQU87UUFDUCxLQUFLLEVBQUUsMEJBQTBCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDO0tBQzlCLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBRUYsTUFBTSwwQkFBMEIsR0FBRyxDQUMvQixLQUFpQixFQUNqQixJQUdHLEVBQ0gsT0FHRyxFQUNILEtBQXFCLEVBQ0wsRUFBRTtJQUNsQixNQUFNLGVBQWUsR0FBRywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDL0MsTUFBTSxZQUFZLEdBQUksMEJBQTBCLENBQUMsS0FBSyxDQUFTLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM3RSxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBMEIsRUFBRSxFQUFFO1FBQ2hFLE9BQU8sb0JBQW9CLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksbUJBQW1CLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdEksQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELE1BQU0sV0FBVyxHQUFHLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzNDLE9BQU87WUFDSCxFQUFFLEVBQUUsU0FBUyxFQUFFO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLFFBQVEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRTtZQUNqQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM5QixJQUFJLEVBQUU7Z0JBQ0YsUUFBUSxFQUFFO29CQUNOO3dCQUNJLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSTtxQkFDakM7aUJBQ0o7Z0JBQ0QsS0FBSyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLO2FBQ25DO1NBQ0osQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIGlkQ3JlYXRvciB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IERlZmF1bHRUZXh0UHJvcGVydHksIERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHkgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgR2VvbWV0cnlTaGFwZXMsIFVNTFN5bWJvbHMsIFBsYWl0Q29tbW9uR2VvbWV0cnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldE1lbW9yaXplZExhdGVzdEJ5UG9pbnRlciB9IGZyb20gJy4vbWVtb3JpemUnO1xuaW1wb3J0IHsgR2VvbWV0cnlTdHlsZU9wdGlvbnMsIGdldERlZmF1bHRHZW9tZXRyeVByb3BlcnR5LCBnZXRUZXh0U2hhcGVQcm9wZXJ0eSB9IGZyb20gJy4vZ2VvbWV0cnknO1xuaW1wb3J0IHsgUGxhaXRUYWJsZUNlbGwgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3RhYmxlJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVVNTENsYXNzT3JJbnRlcmZhY2VHZW9tZXRyeUVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHNoYXBlOiBHZW9tZXRyeVNoYXBlcywgcG9pbnRzOiBbUG9pbnQsIFBvaW50XSkgPT4ge1xuICAgIGNvbnN0IG1lbW9yaXplZExhdGVzdCA9IGdldE1lbW9yaXplZExhdGVzdEJ5UG9pbnRlcihzaGFwZSk7XG4gICAgY29uc3QgZWxlbWVudCA9IHtcbiAgICAgICAgaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICB0eXBlOiAndGFibGUnLFxuICAgICAgICBhbmdsZTogMCxcbiAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgcG9pbnRzLFxuICAgICAgICBzdHJva2VXaWR0aDogRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eS5zdHJva2VXaWR0aCxcbiAgICAgICAgLi4uKG1lbW9yaXplZExhdGVzdC5nZW9tZXRyeVByb3BlcnRpZXMgYXMgR2VvbWV0cnlTdHlsZU9wdGlvbnMpXG4gICAgfTtcbiAgICBsZXQgcm93czogeyBpZDogc3RyaW5nOyBoZWlnaHQ/OiBudW1iZXIgfVtdO1xuICAgIGxldCBjb2x1bW5zOiB7IGlkOiBzdHJpbmc7IGhlaWdodD86IG51bWJlciB9W107XG4gICAgaWYgKHNoYXBlID09PSBVTUxTeW1ib2xzLmNsYXNzKSB7XG4gICAgICAgIHJvd3MgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICAgICAgICAgIGhlaWdodDogMzBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IGlkQ3JlYXRvcigpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgICAgICBjb2x1bW5zID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJvd3MgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICAgICAgICAgIGhlaWdodDogNTBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IGlkQ3JlYXRvcigpXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgICAgIGNvbHVtbnMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IGlkQ3JlYXRvcigpXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuICAgIHJldHVybiAoe1xuICAgICAgICAuLi5lbGVtZW50LFxuICAgICAgICBzaGFwZSxcbiAgICAgICAgcm93cyxcbiAgICAgICAgY29sdW1ucyxcbiAgICAgICAgY2VsbHM6IGJ1aWxkVGFibGVDZWxsc0Zvckdlb21ldHJ5KGJvYXJkLCByb3dzLCBjb2x1bW5zLCBzaGFwZSlcbiAgICB9IGFzIHVua25vd24pIGFzIFBsYWl0Q29tbW9uR2VvbWV0cnk7XG59O1xuXG5jb25zdCBidWlsZFRhYmxlQ2VsbHNGb3JHZW9tZXRyeSA9IChcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICByb3dzOiB7XG4gICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgIGhlaWdodD86IG51bWJlcjtcbiAgICB9W10sXG4gICAgY29sdW1uczoge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgfVtdLFxuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlc1xuKTogUGxhaXRUYWJsZUNlbGxbXSA9PiB7XG4gICAgY29uc3QgbWVtb3JpemVkTGF0ZXN0ID0gZ2V0TWVtb3JpemVkTGF0ZXN0QnlQb2ludGVyKHNoYXBlKTtcbiAgICBjb25zdCBjZWxsQ291bnQgPSByb3dzLmxlbmd0aCAqIGNvbHVtbnMubGVuZ3RoO1xuICAgIGNvbnN0IGRlZmF1bHRUZXh0cyA9IChnZXREZWZhdWx0R2VvbWV0cnlQcm9wZXJ0eShzaGFwZSkgYXMgYW55KT8udGV4dHMgfHwgW107XG4gICAgY29uc3QgdGVzdEhlaWdodHMgPSBkZWZhdWx0VGV4dHMubWFwKCh0ZXh0SXRlbTogeyB0ZXh0OiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICByZXR1cm4gZ2V0VGV4dFNoYXBlUHJvcGVydHkoYm9hcmQsIHRleHRJdGVtLnRleHQgfHwgRGVmYXVsdFRleHRQcm9wZXJ0eS50ZXh0LCBtZW1vcml6ZWRMYXRlc3QudGV4dFByb3BlcnRpZXNbJ2ZvbnQtc2l6ZSddKS5oZWlnaHQ7XG4gICAgfSk7XG4gICAgcmV0dXJuIG5ldyBBcnJheShjZWxsQ291bnQpLmZpbGwoJycpLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3Qgcm93SW5kZXggPSBNYXRoLmZsb29yKGluZGV4IC8gY29sdW1ucy5sZW5ndGgpO1xuICAgICAgICBjb25zdCBjb2x1bW5JbmRleCA9IGluZGV4ICUgY29sdW1ucy5sZW5ndGg7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogaWRDcmVhdG9yKCksXG4gICAgICAgICAgICByb3dJZDogcm93c1tyb3dJbmRleF0uaWQsXG4gICAgICAgICAgICBjb2x1bW5JZDogY29sdW1uc1tjb2x1bW5JbmRleF0uaWQsXG4gICAgICAgICAgICB0ZXh0SGVpZ2h0OiB0ZXN0SGVpZ2h0c1tpbmRleF0sXG4gICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogZGVmYXVsdFRleHRzW2luZGV4XS50ZXh0XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGFsaWduOiBkZWZhdWx0VGV4dHNbaW5kZXhdLmFsaWduXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSk7XG59O1xuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW1sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvdXRpbHMvdW1sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQWtCLFVBQVUsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBd0IsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHcEcsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEtBQXFCLEVBQUUsTUFBc0IsRUFBRSxFQUFFO0lBQ3pILE1BQU0sZUFBZSxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sT0FBTyxHQUFHO1FBQ1osRUFBRSxFQUFFLFNBQVMsRUFBRTtRQUNmLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxDQUFDO1FBQ1IsT0FBTyxFQUFFLENBQUM7UUFDVixNQUFNO1FBQ04sV0FBVyxFQUFFLHlCQUF5QixDQUFDLFdBQVc7UUFDbEQsR0FBSSxlQUFlLENBQUMsa0JBQTJDO0tBQ2xFLENBQUM7SUFDRixJQUFJLElBQXVDLENBQUM7SUFDNUMsSUFBSSxPQUEwQyxDQUFDO0lBQy9DLElBQUksS0FBSyxLQUFLLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixJQUFJLEdBQUc7WUFDSDtnQkFDSSxFQUFFLEVBQUUsU0FBUyxFQUFFO2dCQUNmLE1BQU0sRUFBRSxFQUFFO2FBQ2I7WUFDRDtnQkFDSSxFQUFFLEVBQUUsU0FBUyxFQUFFO2FBQ2xCO1lBQ0Q7Z0JBQ0ksRUFBRSxFQUFFLFNBQVMsRUFBRTthQUNsQjtTQUNKLENBQUM7UUFDRixPQUFPLEdBQUc7WUFDTjtnQkFDSSxFQUFFLEVBQUUsU0FBUyxFQUFFO2FBQ2xCO1NBQ0osQ0FBQztJQUNOLENBQUM7U0FBTSxDQUFDO1FBQ0osSUFBSSxHQUFHO1lBQ0g7Z0JBQ0ksRUFBRSxFQUFFLFNBQVMsRUFBRTtnQkFDZixNQUFNLEVBQUUsRUFBRTthQUNiO1lBQ0Q7Z0JBQ0ksRUFBRSxFQUFFLFNBQVMsRUFBRTthQUNsQjtTQUNKLENBQUM7UUFDRixPQUFPLEdBQUc7WUFDTjtnQkFDSSxFQUFFLEVBQUUsU0FBUyxFQUFFO2FBQ2xCO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFDRCxPQUFRO1FBQ0osR0FBRyxPQUFPO1FBQ1YsS0FBSztRQUNMLElBQUk7UUFDSixPQUFPO1FBQ1AsS0FBSyxFQUFFLDBCQUEwQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztLQUM5QixDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQUVGLE1BQU0sMEJBQTBCLEdBQUcsQ0FDL0IsS0FBaUIsRUFDakIsSUFHRyxFQUNILE9BR0csRUFDSCxLQUFxQixFQUNMLEVBQUU7SUFDbEIsTUFBTSxlQUFlLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQy9DLE1BQU0sWUFBWSxHQUFJLDBCQUEwQixDQUFDLEtBQUssQ0FBUyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDN0UsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQTBCLEVBQUUsRUFBRTtRQUNoRSxPQUFPLG9CQUFvQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLG1CQUFtQixDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3RJLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLFdBQVcsR0FBRyxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUMzQyxPQUFPO1lBQ0gsRUFBRSxFQUFFLFNBQVMsRUFBRTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRTtZQUN4QixRQUFRLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUU7WUFDakMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDOUIsSUFBSSxFQUFFO2dCQUNGLFFBQVEsRUFBRTtvQkFDTjt3QkFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUk7cUJBQ2pDO2lCQUNKO2dCQUNELEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSzthQUNuQztTQUNKLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBvaW50LCBpZENyZWF0b3IgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBEZWZhdWx0VGV4dFByb3BlcnR5LCBEZWZhdWx0QmFzaWNTaGFwZVByb3BlcnR5IH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEdlb21ldHJ5U2hhcGVzLCBVTUxTeW1ib2xzLCBQbGFpdENvbW1vbkdlb21ldHJ5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRNZW1vcml6ZWRMYXRlc3RCeVBvaW50ZXIgfSBmcm9tICcuL21lbW9yaXplJztcbmltcG9ydCB7IEdlb21ldHJ5U3R5bGVPcHRpb25zLCBnZXREZWZhdWx0R2VvbWV0cnlQcm9wZXJ0eSwgZ2V0VGV4dFNoYXBlUHJvcGVydHkgfSBmcm9tICcuL2dlb21ldHJ5JztcbmltcG9ydCB7IFBsYWl0VGFibGVDZWxsIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90YWJsZSc7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVVTUxDbGFzc09ySW50ZXJmYWNlR2VvbWV0cnlFbGVtZW50ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBzaGFwZTogR2VvbWV0cnlTaGFwZXMsIHBvaW50czogW1BvaW50LCBQb2ludF0pID0+IHtcbiAgICBjb25zdCBtZW1vcml6ZWRMYXRlc3QgPSBnZXRNZW1vcml6ZWRMYXRlc3RCeVBvaW50ZXIoc2hhcGUpO1xuICAgIGNvbnN0IGVsZW1lbnQgPSB7XG4gICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICAgICAgYW5nbGU6IDAsXG4gICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgIHBvaW50cyxcbiAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHkuc3Ryb2tlV2lkdGgsXG4gICAgICAgIC4uLihtZW1vcml6ZWRMYXRlc3QuZ2VvbWV0cnlQcm9wZXJ0aWVzIGFzIEdlb21ldHJ5U3R5bGVPcHRpb25zKVxuICAgIH07XG4gICAgbGV0IHJvd3M6IHsgaWQ6IHN0cmluZzsgaGVpZ2h0PzogbnVtYmVyIH1bXTtcbiAgICBsZXQgY29sdW1uczogeyBpZDogc3RyaW5nOyBoZWlnaHQ/OiBudW1iZXIgfVtdO1xuICAgIGlmIChzaGFwZSA9PT0gVU1MU3ltYm9scy5jbGFzcykge1xuICAgICAgICByb3dzID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogaWRDcmVhdG9yKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICAgICAgY29sdW1ucyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogaWRDcmVhdG9yKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByb3dzID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgICAgICBjb2x1bW5zID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBpZENyZWF0b3IoKVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gKHtcbiAgICAgICAgLi4uZWxlbWVudCxcbiAgICAgICAgc2hhcGUsXG4gICAgICAgIHJvd3MsXG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGNlbGxzOiBidWlsZFRhYmxlQ2VsbHNGb3JHZW9tZXRyeShib2FyZCwgcm93cywgY29sdW1ucywgc2hhcGUpXG4gICAgfSBhcyB1bmtub3duKSBhcyBQbGFpdENvbW1vbkdlb21ldHJ5O1xufTtcblxuY29uc3QgYnVpbGRUYWJsZUNlbGxzRm9yR2VvbWV0cnkgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgcm93czoge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgfVtdLFxuICAgIGNvbHVtbnM6IHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIH1bXSxcbiAgICBzaGFwZTogR2VvbWV0cnlTaGFwZXNcbik6IFBsYWl0VGFibGVDZWxsW10gPT4ge1xuICAgIGNvbnN0IG1lbW9yaXplZExhdGVzdCA9IGdldE1lbW9yaXplZExhdGVzdEJ5UG9pbnRlcihzaGFwZSk7XG4gICAgY29uc3QgY2VsbENvdW50ID0gcm93cy5sZW5ndGggKiBjb2x1bW5zLmxlbmd0aDtcbiAgICBjb25zdCBkZWZhdWx0VGV4dHMgPSAoZ2V0RGVmYXVsdEdlb21ldHJ5UHJvcGVydHkoc2hhcGUpIGFzIGFueSk/LnRleHRzIHx8IFtdO1xuICAgIGNvbnN0IHRlc3RIZWlnaHRzID0gZGVmYXVsdFRleHRzLm1hcCgodGV4dEl0ZW06IHsgdGV4dDogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGdldFRleHRTaGFwZVByb3BlcnR5KGJvYXJkLCB0ZXh0SXRlbS50ZXh0IHx8IERlZmF1bHRUZXh0UHJvcGVydHkudGV4dCwgbWVtb3JpemVkTGF0ZXN0LnRleHRQcm9wZXJ0aWVzWydmb250LXNpemUnXSkuaGVpZ2h0O1xuICAgIH0pO1xuICAgIHJldHVybiBuZXcgQXJyYXkoY2VsbENvdW50KS5maWxsKCcnKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHJvd0luZGV4ID0gTWF0aC5mbG9vcihpbmRleCAvIGNvbHVtbnMubGVuZ3RoKTtcbiAgICAgICAgY29uc3QgY29sdW1uSW5kZXggPSBpbmRleCAlIGNvbHVtbnMubGVuZ3RoO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICAgICAgcm93SWQ6IHJvd3Nbcm93SW5kZXhdLmlkLFxuICAgICAgICAgICAgY29sdW1uSWQ6IGNvbHVtbnNbY29sdW1uSW5kZXhdLmlkLFxuICAgICAgICAgICAgdGV4dEhlaWdodDogdGVzdEhlaWdodHNbaW5kZXhdLFxuICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGRlZmF1bHRUZXh0c1tpbmRleF0udGV4dFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBhbGlnbjogZGVmYXVsdFRleHRzW2luZGV4XS5hbGlnblxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0pO1xufTtcbiJdfQ==