@pie-lib/graphing 3.2.0-next.0 → 3.2.0-next.2

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 (113) hide show
  1. package/lib/__tests__/bg.test.js +282 -0
  2. package/lib/__tests__/coordinates-label.test.js +276 -0
  3. package/lib/__tests__/graph-with-controls.test.js +275 -0
  4. package/lib/__tests__/graph.test.js +927 -0
  5. package/lib/__tests__/grid-setup.test.js +729 -0
  6. package/lib/__tests__/grid.test.js +29 -0
  7. package/lib/__tests__/key-legend.test.js +321 -0
  8. package/lib/__tests__/label-svg-icon.test.js +373 -0
  9. package/lib/__tests__/labels.test.js +61 -0
  10. package/lib/__tests__/mark-label.test.js +133 -0
  11. package/lib/__tests__/toggle-bar.test.js +197 -0
  12. package/lib/__tests__/tool-menu.test.js +151 -0
  13. package/lib/__tests__/undo-redo.test.js +31 -0
  14. package/lib/__tests__/use-debounce.test.js +24 -0
  15. package/lib/__tests__/utils.js +70 -0
  16. package/lib/__tests__/utils.test.js +123 -0
  17. package/lib/axis/__tests__/arrow.test.js +60 -0
  18. package/lib/axis/__tests__/axes.test.js +195 -0
  19. package/lib/axis/arrow.js +1 -1
  20. package/lib/axis/axes.js +1 -1
  21. package/lib/axis/index.js +1 -1
  22. package/lib/bg.js +1 -1
  23. package/lib/container/__tests__/actions.test.js +108 -0
  24. package/lib/container/__tests__/index.test.js +503 -0
  25. package/lib/container/__tests__/marks.test.js +259 -0
  26. package/lib/container/__tests__/middleware.test.js +244 -0
  27. package/lib/container/__tests__/reducer.test.js +450 -0
  28. package/lib/container/actions.js +1 -1
  29. package/lib/container/index.js +1 -1
  30. package/lib/container/marks.js +1 -1
  31. package/lib/container/middleware.js +1 -1
  32. package/lib/container/reducer.js +1 -1
  33. package/lib/coordinates-label.js +1 -1
  34. package/lib/graph-with-controls.js +1 -1
  35. package/lib/graph.js +1 -1
  36. package/lib/grid-setup.js +1 -1
  37. package/lib/grid.js +1 -1
  38. package/lib/index.js +1 -1
  39. package/lib/key-legend.js +1 -1
  40. package/lib/label-svg-icon.js +1 -1
  41. package/lib/labels.js +1 -1
  42. package/lib/mark-label.js +1 -1
  43. package/lib/toggle-bar.js +1 -1
  44. package/lib/tool-menu.js +1 -1
  45. package/lib/tools/absolute/__tests__/component.test.js +65 -0
  46. package/lib/tools/absolute/component.js +1 -1
  47. package/lib/tools/absolute/index.js +1 -1
  48. package/lib/tools/circle/__tests__/bg-circle.test.js +33 -0
  49. package/lib/tools/circle/__tests__/component.test.js +615 -0
  50. package/lib/tools/circle/__tests__/index.test.js +576 -0
  51. package/lib/tools/circle/bg-circle.js +1 -1
  52. package/lib/tools/circle/component.js +1 -1
  53. package/lib/tools/circle/index.js +1 -1
  54. package/lib/tools/exponential/__tests__/component.test.js +64 -0
  55. package/lib/tools/exponential/__tests__/index.test.js +828 -0
  56. package/lib/tools/exponential/component.js +1 -1
  57. package/lib/tools/exponential/index.js +1 -1
  58. package/lib/tools/index.js +1 -1
  59. package/lib/tools/line/__tests__/component.test.js +45 -0
  60. package/lib/tools/line/component.js +1 -1
  61. package/lib/tools/line/index.js +1 -1
  62. package/lib/tools/parabola/__tests__/component.test.js +64 -0
  63. package/lib/tools/parabola/__tests__/index.test.js +564 -0
  64. package/lib/tools/parabola/component.js +1 -1
  65. package/lib/tools/parabola/index.js +1 -1
  66. package/lib/tools/point/__tests__/component.test.js +434 -0
  67. package/lib/tools/point/__tests__/index.test.js +262 -0
  68. package/lib/tools/point/component.js +1 -1
  69. package/lib/tools/point/index.js +1 -1
  70. package/lib/tools/polygon/__tests__/component.test.js +485 -0
  71. package/lib/tools/polygon/__tests__/index.test.js +303 -0
  72. package/lib/tools/polygon/__tests__/line.test.js +50 -0
  73. package/lib/tools/polygon/__tests__/polygon.test.js +85 -0
  74. package/lib/tools/polygon/component.js +1 -1
  75. package/lib/tools/polygon/index.js +1 -1
  76. package/lib/tools/polygon/line.js +1 -1
  77. package/lib/tools/polygon/polygon.js +1 -1
  78. package/lib/tools/ray/__tests__/component.test.js +35 -0
  79. package/lib/tools/ray/component.js +1 -1
  80. package/lib/tools/ray/index.js +1 -1
  81. package/lib/tools/segment/__tests__/component.test.js +35 -0
  82. package/lib/tools/segment/component.js +1 -1
  83. package/lib/tools/segment/index.js +1 -1
  84. package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
  85. package/lib/tools/shared/arrow-head.js +1 -1
  86. package/lib/tools/shared/icons/CorrectSVG.js +1 -1
  87. package/lib/tools/shared/icons/IncorrectSVG.js +1 -1
  88. package/lib/tools/shared/icons/MissingSVG.js +1 -1
  89. package/lib/tools/shared/line/__tests__/index.test.js +124 -0
  90. package/lib/tools/shared/line/__tests__/line-path.test.js +62 -0
  91. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +90 -0
  92. package/lib/tools/shared/line/index.js +1 -1
  93. package/lib/tools/shared/line/line-path.js +1 -1
  94. package/lib/tools/shared/line/with-root-edge.js +1 -1
  95. package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
  96. package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
  97. package/lib/tools/shared/point/arrow-point.js +1 -1
  98. package/lib/tools/shared/point/arrow.js +1 -1
  99. package/lib/tools/shared/point/base-point.js +1 -1
  100. package/lib/tools/shared/point/index.js +1 -1
  101. package/lib/tools/shared/styles.js +1 -1
  102. package/lib/tools/shared/types.js +1 -1
  103. package/lib/tools/sine/__tests__/component.test.js +72 -0
  104. package/lib/tools/sine/component.js +1 -1
  105. package/lib/tools/sine/index.js +1 -1
  106. package/lib/tools/vector/__tests__/component.test.js +32 -0
  107. package/lib/tools/vector/component.js +1 -1
  108. package/lib/tools/vector/index.js +1 -1
  109. package/lib/undo-redo.js +1 -1
  110. package/lib/use-debounce.js +1 -1
  111. package/lib/utils.js +1 -1
  112. package/package.json +9 -12
  113. package/LICENSE.md +0 -5
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _index = require("../index");
5
+ var _component = _interopRequireDefault(require("../component"));
6
+ describe('point tool', function () {
7
+ var pointTool;
8
+ beforeEach(function () {
9
+ pointTool = (0, _index.tool)();
10
+ });
11
+ describe('tool structure', function () {
12
+ it('returns an object with required properties', function () {
13
+ expect(pointTool).toHaveProperty('label', 'Point');
14
+ expect(pointTool).toHaveProperty('type', 'point');
15
+ expect(pointTool).toHaveProperty('Component', _component["default"]);
16
+ expect(pointTool).toHaveProperty('addPoint');
17
+ });
18
+ it('has correct label', function () {
19
+ expect(pointTool.label).toBe('Point');
20
+ });
21
+ it('has correct type', function () {
22
+ expect(pointTool.type).toBe('point');
23
+ });
24
+ it('uses Point component', function () {
25
+ expect(pointTool.Component).toBe(_component["default"]);
26
+ });
27
+ it('does not have complete method', function () {
28
+ expect(pointTool.complete).toBeUndefined();
29
+ });
30
+ });
31
+ describe('addPoint', function () {
32
+ it('creates a point mark from coordinates', function () {
33
+ var point = {
34
+ x: 1,
35
+ y: 2
36
+ };
37
+ var result = pointTool.addPoint(point);
38
+ expect(result).toEqual({
39
+ type: 'point',
40
+ x: 1,
41
+ y: 2
42
+ });
43
+ });
44
+ it('creates point with integer coordinates', function () {
45
+ var point = {
46
+ x: 5,
47
+ y: 10
48
+ };
49
+ var result = pointTool.addPoint(point);
50
+ expect(result).toEqual({
51
+ type: 'point',
52
+ x: 5,
53
+ y: 10
54
+ });
55
+ });
56
+ it('creates point with decimal coordinates', function () {
57
+ var point = {
58
+ x: 1.5,
59
+ y: 2.75
60
+ };
61
+ var result = pointTool.addPoint(point);
62
+ expect(result).toEqual({
63
+ type: 'point',
64
+ x: 1.5,
65
+ y: 2.75
66
+ });
67
+ });
68
+ it('creates point with negative coordinates', function () {
69
+ var point = {
70
+ x: -3,
71
+ y: -7
72
+ };
73
+ var result = pointTool.addPoint(point);
74
+ expect(result).toEqual({
75
+ type: 'point',
76
+ x: -3,
77
+ y: -7
78
+ });
79
+ });
80
+ it('creates point with zero coordinates', function () {
81
+ var point = {
82
+ x: 0,
83
+ y: 0
84
+ };
85
+ var result = pointTool.addPoint(point);
86
+ expect(result).toEqual({
87
+ type: 'point',
88
+ x: 0,
89
+ y: 0
90
+ });
91
+ });
92
+ it('creates point at origin', function () {
93
+ var result = pointTool.addPoint({
94
+ x: 0,
95
+ y: 0
96
+ });
97
+ expect(result.x).toBe(0);
98
+ expect(result.y).toBe(0);
99
+ });
100
+ it('spreads all point properties', function () {
101
+ var point = {
102
+ x: 1,
103
+ y: 2,
104
+ label: 'A',
105
+ color: 'red'
106
+ };
107
+ var result = pointTool.addPoint(point);
108
+ expect(result).toEqual({
109
+ type: 'point',
110
+ x: 1,
111
+ y: 2,
112
+ label: 'A',
113
+ color: 'red'
114
+ });
115
+ });
116
+ it('preserves additional properties from point object', function () {
117
+ var point = {
118
+ x: 3,
119
+ y: 4,
120
+ id: 'point-1',
121
+ fill: 'blue',
122
+ stroke: 'black'
123
+ };
124
+ var result = pointTool.addPoint(point);
125
+ expect(result.type).toBe('point');
126
+ expect(result.x).toBe(3);
127
+ expect(result.y).toBe(4);
128
+ expect(result.id).toBe('point-1');
129
+ expect(result.fill).toBe('blue');
130
+ expect(result.stroke).toBe('black');
131
+ });
132
+ it('ignores existing mark parameter', function () {
133
+ var point = {
134
+ x: 1,
135
+ y: 2
136
+ };
137
+ var existingMark = {
138
+ type: 'point',
139
+ x: 5,
140
+ y: 5
141
+ };
142
+ var result = pointTool.addPoint(point, existingMark);
143
+
144
+ // Point tool always creates new mark, ignoring existing
145
+ expect(result).toEqual({
146
+ type: 'point',
147
+ x: 1,
148
+ y: 2
149
+ });
150
+ });
151
+ it('creates new point even with same coordinates', function () {
152
+ var point = {
153
+ x: 1,
154
+ y: 2
155
+ };
156
+ var result1 = pointTool.addPoint(point);
157
+ var result2 = pointTool.addPoint(point);
158
+ expect(result1).toEqual(result2);
159
+ expect(result1).not.toBe(result2); // Different object references
160
+ });
161
+ it('handles very large coordinates', function () {
162
+ var point = {
163
+ x: 1000000,
164
+ y: -1000000
165
+ };
166
+ var result = pointTool.addPoint(point);
167
+ expect(result.x).toBe(1000000);
168
+ expect(result.y).toBe(-1000000);
169
+ });
170
+ it('handles very small coordinates', function () {
171
+ var point = {
172
+ x: 0.0001,
173
+ y: 0.0002
174
+ };
175
+ var result = pointTool.addPoint(point);
176
+ expect(result.x).toBe(0.0001);
177
+ expect(result.y).toBe(0.0002);
178
+ });
179
+ });
180
+ describe('edge cases', function () {
181
+ it('handles point with only x coordinate', function () {
182
+ var point = {
183
+ x: 5
184
+ };
185
+ var result = pointTool.addPoint(point);
186
+ expect(result.type).toBe('point');
187
+ expect(result.x).toBe(5);
188
+ expect(result.y).toBeUndefined();
189
+ });
190
+ it('handles point with only y coordinate', function () {
191
+ var point = {
192
+ y: 5
193
+ };
194
+ var result = pointTool.addPoint(point);
195
+ expect(result.type).toBe('point');
196
+ expect(result.x).toBeUndefined();
197
+ expect(result.y).toBe(5);
198
+ });
199
+ it('handles empty point object', function () {
200
+ var point = {};
201
+ var result = pointTool.addPoint(point);
202
+ expect(result).toEqual({
203
+ type: 'point'
204
+ });
205
+ });
206
+ it('handles NaN coordinates', function () {
207
+ var point = {
208
+ x: NaN,
209
+ y: NaN
210
+ };
211
+ var result = pointTool.addPoint(point);
212
+ expect(result.type).toBe('point');
213
+ expect(Number.isNaN(result.x)).toBe(true);
214
+ expect(Number.isNaN(result.y)).toBe(true);
215
+ });
216
+ it('handles Infinity coordinates', function () {
217
+ var point = {
218
+ x: Infinity,
219
+ y: -Infinity
220
+ };
221
+ var result = pointTool.addPoint(point);
222
+ expect(result.x).toBe(Infinity);
223
+ expect(result.y).toBe(-Infinity);
224
+ });
225
+ });
226
+ describe('multiple points', function () {
227
+ it('creates multiple distinct points', function () {
228
+ var points = [{
229
+ x: 1,
230
+ y: 1
231
+ }, {
232
+ x: 2,
233
+ y: 2
234
+ }, {
235
+ x: 3,
236
+ y: 3
237
+ }];
238
+ var results = points.map(function (p) {
239
+ return pointTool.addPoint(p);
240
+ });
241
+ expect(results).toHaveLength(3);
242
+ results.forEach(function (result, i) {
243
+ expect(result.type).toBe('point');
244
+ expect(result.x).toBe(points[i].x);
245
+ expect(result.y).toBe(points[i].y);
246
+ });
247
+ });
248
+ it('each point is independent', function () {
249
+ var point1 = pointTool.addPoint({
250
+ x: 1,
251
+ y: 1
252
+ });
253
+ var point2 = pointTool.addPoint({
254
+ x: 2,
255
+ y: 2
256
+ });
257
+ point1.label = 'A';
258
+ expect(point2.label).toBeUndefined();
259
+ });
260
+ });
261
+ });
262
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5kZXgiLCJyZXF1aXJlIiwiX2NvbXBvbmVudCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJkZXNjcmliZSIsInBvaW50VG9vbCIsImJlZm9yZUVhY2giLCJ0b29sIiwiaXQiLCJleHBlY3QiLCJ0b0hhdmVQcm9wZXJ0eSIsIlBvaW50IiwibGFiZWwiLCJ0b0JlIiwidHlwZSIsIkNvbXBvbmVudCIsImNvbXBsZXRlIiwidG9CZVVuZGVmaW5lZCIsInBvaW50IiwieCIsInkiLCJyZXN1bHQiLCJhZGRQb2ludCIsInRvRXF1YWwiLCJjb2xvciIsImlkIiwiZmlsbCIsInN0cm9rZSIsImV4aXN0aW5nTWFyayIsInJlc3VsdDEiLCJyZXN1bHQyIiwibm90IiwiTmFOIiwiTnVtYmVyIiwiaXNOYU4iLCJJbmZpbml0eSIsInBvaW50cyIsInJlc3VsdHMiLCJtYXAiLCJwIiwidG9IYXZlTGVuZ3RoIiwiZm9yRWFjaCIsImkiLCJwb2ludDEiLCJwb2ludDIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdG9vbHMvcG9pbnQvX190ZXN0c19fL2luZGV4LnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9vbCB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCBQb2ludCBmcm9tICcuLi9jb21wb25lbnQnO1xuXG5kZXNjcmliZSgncG9pbnQgdG9vbCcsICgpID0+IHtcbiAgbGV0IHBvaW50VG9vbDtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBwb2ludFRvb2wgPSB0b29sKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCd0b29sIHN0cnVjdHVyZScsICgpID0+IHtcbiAgICBpdCgncmV0dXJucyBhbiBvYmplY3Qgd2l0aCByZXF1aXJlZCBwcm9wZXJ0aWVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHBvaW50VG9vbCkudG9IYXZlUHJvcGVydHkoJ2xhYmVsJywgJ1BvaW50Jyk7XG4gICAgICBleHBlY3QocG9pbnRUb29sKS50b0hhdmVQcm9wZXJ0eSgndHlwZScsICdwb2ludCcpO1xuICAgICAgZXhwZWN0KHBvaW50VG9vbCkudG9IYXZlUHJvcGVydHkoJ0NvbXBvbmVudCcsIFBvaW50KTtcbiAgICAgIGV4cGVjdChwb2ludFRvb2wpLnRvSGF2ZVByb3BlcnR5KCdhZGRQb2ludCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhcyBjb3JyZWN0IGxhYmVsJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHBvaW50VG9vbC5sYWJlbCkudG9CZSgnUG9pbnQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdoYXMgY29ycmVjdCB0eXBlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHBvaW50VG9vbC50eXBlKS50b0JlKCdwb2ludCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3VzZXMgUG9pbnQgY29tcG9uZW50JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHBvaW50VG9vbC5Db21wb25lbnQpLnRvQmUoUG9pbnQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RvZXMgbm90IGhhdmUgY29tcGxldGUgbWV0aG9kJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHBvaW50VG9vbC5jb21wbGV0ZSkudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkUG9pbnQnLCAoKSA9PiB7XG4gICAgaXQoJ2NyZWF0ZXMgYSBwb2ludCBtYXJrIGZyb20gY29vcmRpbmF0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2ludCA9IHsgeDogMSwgeTogMiB9O1xuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnRUb29sLmFkZFBvaW50KHBvaW50KTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIHR5cGU6ICdwb2ludCcsXG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDIsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdjcmVhdGVzIHBvaW50IHdpdGggaW50ZWdlciBjb29yZGluYXRlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHBvaW50ID0geyB4OiA1LCB5OiAxMCB9O1xuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnRUb29sLmFkZFBvaW50KHBvaW50KTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIHR5cGU6ICdwb2ludCcsXG4gICAgICAgIHg6IDUsXG4gICAgICAgIHk6IDEwLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY3JlYXRlcyBwb2ludCB3aXRoIGRlY2ltYWwgY29vcmRpbmF0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2ludCA9IHsgeDogMS41LCB5OiAyLjc1IH07XG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludFRvb2wuYWRkUG9pbnQocG9pbnQpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgICAgdHlwZTogJ3BvaW50JyxcbiAgICAgICAgeDogMS41LFxuICAgICAgICB5OiAyLjc1LFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY3JlYXRlcyBwb2ludCB3aXRoIG5lZ2F0aXZlIGNvb3JkaW5hdGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgcG9pbnQgPSB7IHg6IC0zLCB5OiAtNyB9O1xuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnRUb29sLmFkZFBvaW50KHBvaW50KTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIHR5cGU6ICdwb2ludCcsXG4gICAgICAgIHg6IC0zLFxuICAgICAgICB5OiAtNyxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NyZWF0ZXMgcG9pbnQgd2l0aCB6ZXJvIGNvb3JkaW5hdGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgcG9pbnQgPSB7IHg6IDAsIHk6IDAgfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50VG9vbC5hZGRQb2ludChwb2ludCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICB0eXBlOiAncG9pbnQnLFxuICAgICAgICB4OiAwLFxuICAgICAgICB5OiAwLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY3JlYXRlcyBwb2ludCBhdCBvcmlnaW4nLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludFRvb2wuYWRkUG9pbnQoeyB4OiAwLCB5OiAwIH0pO1xuXG4gICAgICBleHBlY3QocmVzdWx0LngpLnRvQmUoMCk7XG4gICAgICBleHBlY3QocmVzdWx0LnkpLnRvQmUoMCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc3ByZWFkcyBhbGwgcG9pbnQgcHJvcGVydGllcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHBvaW50ID0geyB4OiAxLCB5OiAyLCBsYWJlbDogJ0EnLCBjb2xvcjogJ3JlZCcgfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50VG9vbC5hZGRQb2ludChwb2ludCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICB0eXBlOiAncG9pbnQnLFxuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAyLFxuICAgICAgICBsYWJlbDogJ0EnLFxuICAgICAgICBjb2xvcjogJ3JlZCcsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdwcmVzZXJ2ZXMgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZyb20gcG9pbnQgb2JqZWN0JywgKCkgPT4ge1xuICAgICAgY29uc3QgcG9pbnQgPSB7XG4gICAgICAgIHg6IDMsXG4gICAgICAgIHk6IDQsXG4gICAgICAgIGlkOiAncG9pbnQtMScsXG4gICAgICAgIGZpbGw6ICdibHVlJyxcbiAgICAgICAgc3Ryb2tlOiAnYmxhY2snLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50VG9vbC5hZGRQb2ludChwb2ludCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQudHlwZSkudG9CZSgncG9pbnQnKTtcbiAgICAgIGV4cGVjdChyZXN1bHQueCkudG9CZSgzKTtcbiAgICAgIGV4cGVjdChyZXN1bHQueSkudG9CZSg0KTtcbiAgICAgIGV4cGVjdChyZXN1bHQuaWQpLnRvQmUoJ3BvaW50LTEnKTtcbiAgICAgIGV4cGVjdChyZXN1bHQuZmlsbCkudG9CZSgnYmx1ZScpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5zdHJva2UpLnRvQmUoJ2JsYWNrJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaWdub3JlcyBleGlzdGluZyBtYXJrIHBhcmFtZXRlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IHBvaW50ID0geyB4OiAxLCB5OiAyIH07XG4gICAgICBjb25zdCBleGlzdGluZ01hcmsgPSB7IHR5cGU6ICdwb2ludCcsIHg6IDUsIHk6IDUgfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50VG9vbC5hZGRQb2ludChwb2ludCwgZXhpc3RpbmdNYXJrKTtcblxuICAgICAgLy8gUG9pbnQgdG9vbCBhbHdheXMgY3JlYXRlcyBuZXcgbWFyaywgaWdub3JpbmcgZXhpc3RpbmdcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICB0eXBlOiAncG9pbnQnLFxuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAyLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY3JlYXRlcyBuZXcgcG9pbnQgZXZlbiB3aXRoIHNhbWUgY29vcmRpbmF0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2ludCA9IHsgeDogMSwgeTogMiB9O1xuICAgICAgY29uc3QgcmVzdWx0MSA9IHBvaW50VG9vbC5hZGRQb2ludChwb2ludCk7XG4gICAgICBjb25zdCByZXN1bHQyID0gcG9pbnRUb29sLmFkZFBvaW50KHBvaW50KTtcblxuICAgICAgZXhwZWN0KHJlc3VsdDEpLnRvRXF1YWwocmVzdWx0Mik7XG4gICAgICBleHBlY3QocmVzdWx0MSkubm90LnRvQmUocmVzdWx0Mik7IC8vIERpZmZlcmVudCBvYmplY3QgcmVmZXJlbmNlc1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgdmVyeSBsYXJnZSBjb29yZGluYXRlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHBvaW50ID0geyB4OiAxMDAwMDAwLCB5OiAtMTAwMDAwMCB9O1xuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnRUb29sLmFkZFBvaW50KHBvaW50KTtcblxuICAgICAgZXhwZWN0KHJlc3VsdC54KS50b0JlKDEwMDAwMDApO1xuICAgICAgZXhwZWN0KHJlc3VsdC55KS50b0JlKC0xMDAwMDAwKTtcbiAgICB9KTtcblxuICAgIGl0KCdoYW5kbGVzIHZlcnkgc21hbGwgY29vcmRpbmF0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2ludCA9IHsgeDogMC4wMDAxLCB5OiAwLjAwMDIgfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50VG9vbC5hZGRQb2ludChwb2ludCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQueCkudG9CZSgwLjAwMDEpO1xuICAgICAgZXhwZWN0KHJlc3VsdC55KS50b0JlKDAuMDAwMik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdlZGdlIGNhc2VzJywgKCkgPT4ge1xuICAgIGl0KCdoYW5kbGVzIHBvaW50IHdpdGggb25seSB4IGNvb3JkaW5hdGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2ludCA9IHsgeDogNSB9O1xuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnRUb29sLmFkZFBvaW50KHBvaW50KTtcblxuICAgICAgZXhwZWN0KHJlc3VsdC50eXBlKS50b0JlKCdwb2ludCcpO1xuICAgICAgZXhwZWN0KHJlc3VsdC54KS50b0JlKDUpO1xuICAgICAgZXhwZWN0KHJlc3VsdC55KS50b0JlVW5kZWZpbmVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnaGFuZGxlcyBwb2ludCB3aXRoIG9ubHkgeSBjb29yZGluYXRlJywgKCkgPT4ge1xuICAgICAgY29uc3QgcG9pbnQgPSB7IHk6IDUgfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50VG9vbC5hZGRQb2ludChwb2ludCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQudHlwZSkudG9CZSgncG9pbnQnKTtcbiAgICAgIGV4cGVjdChyZXN1bHQueCkudG9CZVVuZGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KHJlc3VsdC55KS50b0JlKDUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgZW1wdHkgcG9pbnQgb2JqZWN0JywgKCkgPT4ge1xuICAgICAgY29uc3QgcG9pbnQgPSB7fTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50VG9vbC5hZGRQb2ludChwb2ludCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICB0eXBlOiAncG9pbnQnLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnaGFuZGxlcyBOYU4gY29vcmRpbmF0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBwb2ludCA9IHsgeDogTmFOLCB5OiBOYU4gfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50VG9vbC5hZGRQb2ludChwb2ludCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQudHlwZSkudG9CZSgncG9pbnQnKTtcbiAgICAgIGV4cGVjdChOdW1iZXIuaXNOYU4ocmVzdWx0LngpKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KE51bWJlci5pc05hTihyZXN1bHQueSkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnaGFuZGxlcyBJbmZpbml0eSBjb29yZGluYXRlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHBvaW50ID0geyB4OiBJbmZpbml0eSwgeTogLUluZmluaXR5IH07XG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludFRvb2wuYWRkUG9pbnQocG9pbnQpO1xuXG4gICAgICBleHBlY3QocmVzdWx0LngpLnRvQmUoSW5maW5pdHkpO1xuICAgICAgZXhwZWN0KHJlc3VsdC55KS50b0JlKC1JbmZpbml0eSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdtdWx0aXBsZSBwb2ludHMnLCAoKSA9PiB7XG4gICAgaXQoJ2NyZWF0ZXMgbXVsdGlwbGUgZGlzdGluY3QgcG9pbnRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgcG9pbnRzID0gW1xuICAgICAgICB7IHg6IDEsIHk6IDEgfSxcbiAgICAgICAgeyB4OiAyLCB5OiAyIH0sXG4gICAgICAgIHsgeDogMywgeTogMyB9LFxuICAgICAgXTtcblxuICAgICAgY29uc3QgcmVzdWx0cyA9IHBvaW50cy5tYXAoKHApID0+IHBvaW50VG9vbC5hZGRQb2ludChwKSk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHRzKS50b0hhdmVMZW5ndGgoMyk7XG4gICAgICByZXN1bHRzLmZvckVhY2goKHJlc3VsdCwgaSkgPT4ge1xuICAgICAgICBleHBlY3QocmVzdWx0LnR5cGUpLnRvQmUoJ3BvaW50Jyk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQueCkudG9CZShwb2ludHNbaV0ueCk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQueSkudG9CZShwb2ludHNbaV0ueSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdlYWNoIHBvaW50IGlzIGluZGVwZW5kZW50JywgKCkgPT4ge1xuICAgICAgY29uc3QgcG9pbnQxID0gcG9pbnRUb29sLmFkZFBvaW50KHsgeDogMSwgeTogMSB9KTtcbiAgICAgIGNvbnN0IHBvaW50MiA9IHBvaW50VG9vbC5hZGRQb2ludCh7IHg6IDIsIHk6IDIgfSk7XG5cbiAgICAgIHBvaW50MS5sYWJlbCA9ICdBJztcbiAgICAgIGV4cGVjdChwb2ludDIubGFiZWwpLnRvQmVVbmRlZmluZWQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsWUFBTTtFQUMzQixJQUFJQyxTQUFTO0VBRWJDLFVBQVUsQ0FBQyxZQUFNO0lBQ2ZELFNBQVMsR0FBRyxJQUFB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
@@ -135,4 +135,4 @@ var Point = exports.Point = /*#__PURE__*/function (_React$Component) {
135
135
  }, _types.ToolPropTypeFields));
136
136
  (0, _defineProperty2["default"])(Point, "defaultProps", {});
137
137
  var _default = exports["default"] = Point;
138
- //# sourceMappingURL=component.js.map
138
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wb2ludCIsIl90eXBlcyIsIl9wbG90IiwiX3JlYWN0RG9tIiwiX21hcmtMYWJlbCIsIl9sb2Rhc2hFcyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiUG9pbnQiLCJleHBvcnRzIiwiX1JlYWN0JENvbXBvbmVudCIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwicCIsIm1hcmsiLCJzdGF0ZSIsInNldFN0YXRlIiwidXBkYXRlIiwibGFiZWwiLCJvbkNoYW5nZSIsInVuZGVmaW5lZCIsImlzRXF1YWwiLCJpc0VtcHR5IiwiX3RoaXMkcHJvcHMiLCJsYWJlbE1vZGVFbmFibGVkIiwib25DbGljayIsImRpc2FibGVkIiwiaW5wdXQiLCJmb2N1cyIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRwcm9wczIiLCJjb29yZGluYXRlc09uSG92ZXIiLCJncmFwaFByb3BzIiwibGFiZWxOb2RlIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiQmFzZVBvaW50IiwiX2V4dGVuZHMyIiwib25EcmFnIiwibW92ZSIsIm9uRHJhZ1N0YXJ0Iiwic3RhcnREcmFnIiwib25EcmFnU3RvcCIsInN0b3BEcmFnIiwiY2xpY2tQb2ludCIsIm9uVG91Y2hTdGFydCIsInN0b3BQcm9wYWdhdGlvbiIsIm9uVG91Y2hFbmQiLCJoYXNPd25Qcm9wZXJ0eSIsIlJlYWN0RE9NIiwiY3JlYXRlUG9ydGFsIiwiaW5wdXRSZWYiLCJsYWJlbENoYW5nZSIsIlJlYWN0IiwiQ29tcG9uZW50IiwidHlwZXMiLCJHcmFwaFByb3BzVHlwZSIsImlzUmVxdWlyZWQiLCJUb29sUHJvcFR5cGVGaWVsZHMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9wb2ludC9jb21wb25lbnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCYXNlUG9pbnQgfSBmcm9tICcuLi9zaGFyZWQvcG9pbnQnO1xuaW1wb3J0IHsgVG9vbFByb3BUeXBlRmllbGRzIH0gZnJvbSAnLi4vc2hhcmVkL3R5cGVzJztcbmltcG9ydCB7IHR5cGVzIH0gZnJvbSAnQHBpZS1saWIvcGxvdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBNYXJrTGFiZWwgZnJvbSAnLi4vLi4vbWFyay1sYWJlbCc7XG5pbXBvcnQgeyBpc0VtcHR5LCBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGNsYXNzIFBvaW50IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBncmFwaFByb3BzOiB0eXBlcy5HcmFwaFByb3BzVHlwZS5pc1JlcXVpcmVkLFxuICAgIC4uLlRvb2xQcm9wVHlwZUZpZWxkcyxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge307XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHt9O1xuICB9XG5cbiAgbW92ZSA9IChwKSA9PiB7XG4gICAgY29uc3QgbWFyayA9IHsgLi4udGhpcy5zdGF0ZS5tYXJrLCAuLi5wIH07XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1hcmsgfSk7XG4gIH07XG5cbiAgc3RhcnREcmFnID0gKCkgPT4ge1xuICAgIGNvbnN0IHVwZGF0ZSA9IHsgLi4udGhpcy5wcm9wcy5tYXJrIH07XG5cbiAgICBpZiAodXBkYXRlLmxhYmVsID09PSAnJykge1xuICAgICAgZGVsZXRlIHVwZGF0ZS5sYWJlbDtcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1hcms6IHVwZGF0ZSB9KTtcbiAgfTtcblxuICBzdG9wRHJhZyA9ICgpID0+IHtcbiAgICBjb25zdCB7IG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IG1hcmsgPSB7IC4uLnRoaXMuc3RhdGUubWFyayB9O1xuICAgIHRoaXMuc2V0U3RhdGUoeyBtYXJrOiB1bmRlZmluZWQgfSwgKCkgPT4ge1xuICAgICAgaWYgKCFpc0VxdWFsKHRoaXMucHJvcHMubWFyaywgbWFyaykpIHtcbiAgICAgICAgb25DaGFuZ2UodGhpcy5wcm9wcy5tYXJrLCBtYXJrKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBsYWJlbENoYW5nZSA9IChsYWJlbCkgPT4ge1xuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdXBkYXRlID0geyAuLi50aGlzLnByb3BzLm1hcmssIGxhYmVsIH07XG5cbiAgICBpZiAoIWxhYmVsIHx8IGlzRW1wdHkobGFiZWwpKSB7XG4gICAgICBkZWxldGUgdXBkYXRlLmxhYmVsO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBtYXJrOiB1cGRhdGUgfSwgKCkgPT4ge1xuICAgICAgb25DaGFuZ2UodGhpcy5wcm9wcy5tYXJrLCB1cGRhdGUpO1xuICAgIH0pO1xuICB9O1xuXG4gIGNsaWNrUG9pbnQgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBsYWJlbE1vZGVFbmFibGVkLCBvbkNoYW5nZSwgb25DbGljaywgbWFyayB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICghbGFiZWxNb2RlRW5hYmxlZCkge1xuICAgICAgb25DbGljayhtYXJrKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobWFyay5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG9uQ2hhbmdlKG1hcmssIHsgbGFiZWw6ICcnLCAuLi5tYXJrIH0pO1xuXG4gICAgaWYgKHRoaXMuaW5wdXQpIHtcbiAgICAgIHRoaXMuaW5wdXQuZm9jdXMoKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY29vcmRpbmF0ZXNPbkhvdmVyLCBncmFwaFByb3BzLCBsYWJlbE5vZGUsIGxhYmVsTW9kZUVuYWJsZWQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgbWFyayA9IHRoaXMuc3RhdGUubWFyayA/IHRoaXMuc3RhdGUubWFyayA6IHRoaXMucHJvcHMubWFyaztcblxuICAgIHJldHVybiAoXG4gICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgIDxCYXNlUG9pbnRcbiAgICAgICAgICB7Li4ubWFya31cbiAgICAgICAgICBjb29yZGluYXRlc09uSG92ZXI9e2Nvb3JkaW5hdGVzT25Ib3Zlcn1cbiAgICAgICAgICBncmFwaFByb3BzPXtncmFwaFByb3BzfVxuICAgICAgICAgIGxhYmVsTm9kZT17bGFiZWxOb2RlfVxuICAgICAgICAgIG9uRHJhZz17dGhpcy5tb3ZlfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXt0aGlzLnN0YXJ0RHJhZ31cbiAgICAgICAgICBvbkRyYWdTdG9wPXt0aGlzLnN0b3BEcmFnfVxuICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuY2xpY2tQb2ludH1cbiAgICAgICAgICBvblRvdWNoU3RhcnQ9eyhlKSA9PiB7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5jbGlja1BvaW50KCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgICBvblRvdWNoRW5kPXsoZSkgPT4ge1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tQb2ludCgpO1xuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIHtsYWJlbE5vZGUgJiZcbiAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobWFyaywgJ2xhYmVsJykgJiZcbiAgICAgICAgICBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICA8TWFya0xhYmVsXG4gICAgICAgICAgICAgIGlucHV0UmVmPXsocikgPT4gKHRoaXMuaW5wdXQgPSByKX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFsYWJlbE1vZGVFbmFibGVkfVxuICAgICAgICAgICAgICBtYXJrPXttYXJrfVxuICAgICAgICAgICAgICBncmFwaFByb3BzPXtncmFwaFByb3BzfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5sYWJlbENoYW5nZX1cbiAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgbGFiZWxOb2RlLFxuICAgICAgICAgICl9XG4gICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUG9pbnQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sU0FBQSxHQUFBTixPQUFBO0FBQTZDLFNBQUFPLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1BQUEsRUFBQWIsQ0FBQSxVQUFBQyxDQUFBLFdBQUFXLFNBQUEsQ0FBQVosQ0FBQSxJQUFBWSxTQUFBLENBQUFaLENBQUEsUUFBQUEsQ0FBQSxPQUFBRixPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxPQUFBYSxPQUFBLFdBQUFkLENBQUEsUUFBQWUsZ0JBQUEsYUFBQWhCLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLENBQUFELENBQUEsU0FBQUUsTUFBQSxDQUFBYyx5QkFBQSxHQUFBZCxNQUFBLENBQUFlLGdCQUFBLENBQUFsQixDQUFBLEVBQUFHLE1BQUEsQ0FBQWMseUJBQUEsQ0FBQWYsQ0FBQSxLQUFBSCxPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxHQUFBYSxPQUFBLFdBQUFkLENBQUEsSUFBQUUsTUFBQSxDQUFBZ0IsY0FBQSxDQUFBbkIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQU4sQ0FBQSxFQUFBRCxDQUFBLGlCQUFBRCxDQUFBO0FBQUEsU0FBQW9CLFdBQUFsQixDQUFBLEVBQUFJLENBQUEsRUFBQU4sQ0FBQSxXQUFBTSxDQUFBLE9BQUFlLGdCQUFBLGFBQUFmLENBQUEsT0FBQWdCLDJCQUFBLGFBQUFwQixDQUFBLEVBQUFxQix5QkFBQSxLQUFBQyxPQUFBLENBQUFDLFNBQUEsQ0FBQW5CLENBQUEsRUFBQU4sQ0FBQSxZQUFBcUIsZ0JBQUEsYUFBQW5CLENBQUEsRUFBQXdCLFdBQUEsSUFBQXBCLENBQUEsQ0FBQUssS0FBQSxDQUFBVCxDQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBdUIsMEJBQUEsY0FBQXJCLENBQUEsSUFBQXlCLE9BQUEsQ0FBQUMsU0FBQSxDQUFBQyxPQUFBLENBQUFDLElBQUEsQ0FBQU4sT0FBQSxDQUFBQyxTQUFBLENBQUFFLE9BQUEsaUNBQUF6QixDQUFBLGFBQUFxQix5QkFBQSxZQUFBQSwwQkFBQSxhQUFBckIsQ0FBQTtBQUFBLElBRWhDNkIsS0FBSyxHQUFBQyxPQUFBLENBQUFELEtBQUEsMEJBQUFFLGdCQUFBO0VBUWhCLFNBQUFGLE1BQVlHLEtBQUssRUFBRTtJQUFBLElBQUFDLEtBQUE7SUFBQSxJQUFBQyxnQkFBQSxtQkFBQUwsS0FBQTtJQUNqQkksS0FBQSxHQUFBZixVQUFBLE9BQUFXLEtBQUEsR0FBTUcsS0FBSztJQUFFLElBQUFsQixnQkFBQSxhQUFBbUIsS0FBQSxVQUlSLFVBQUNFLENBQUMsRUFBSztNQUNaLElBQU1DLElBQUksR0FBQTFCLGFBQUEsQ0FBQUEsYUFBQSxLQUFRdUIsS0FBQSxDQUFLSSxLQUFLLENBQUNELElBQUksR0FBS0QsQ0FBQyxDQUFFO01BQ3pDRixLQUFBLENBQUtLLFFBQVEsQ0FBQztRQUFFRixJQUFJLEVBQUpBO01BQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFBQSxJQUFBdEIsZ0JBQUEsYUFBQW1CLEtBQUEsZUFFVyxZQUFNO01BQ2hCLElBQU1NLE1BQU0sR0FBQTdCLGFBQUEsS0FBUXVCLEtBQUEsQ0FBS0QsS0FBSyxDQUFDSSxJQUFJLENBQUU7TUFFckMsSUFBSUcsTUFBTSxDQUFDQyxLQUFLLEtBQUssRUFBRSxFQUFFO1FBQ3ZCLE9BQU9ELE1BQU0sQ0FBQ0MsS0FBSztNQUNyQjtNQUNBUCxLQUFBLENBQUtLLFFBQVEsQ0FBQztRQUFFRixJQUFJLEVBQUVHO01BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFBQSxJQUFBekIsZ0JBQUEsYUFBQW1CLEtBQUEsY0FFVSxZQUFNO01BQ2YsSUFBUVEsUUFBUSxHQUFLUixLQUFBLENBQUtELEtBQUssQ0FBdkJTLFFBQVE7TUFDaEIsSUFBTUwsSUFBSSxHQUFBMUIsYUFBQSxLQUFRdUIsS0FBQSxDQUFLSSxLQUFLLENBQUNELElBQUksQ0FBRTtNQUNuQ0gsS0FBQSxDQUFLSyxRQUFRLENBQUM7UUFBRUYsSUFBSSxFQUFFTTtNQUFVLENBQUMsRUFBRSxZQUFNO1FBQ3ZDLElBQUksQ0FBQyxJQUFBQyxpQkFBTyxFQUFDVixLQUFBLENBQUtELEtBQUssQ0FBQ0ksSUFBSSxFQUFFQSxJQUFJLENBQUMsRUFBRTtVQUNuQ0ssUUFBUSxDQUFDUixLQUFBLENBQUtELEtBQUssQ0FBQ0ksSUFBSSxFQUFFQSxJQUFJLENBQUM7UUFDakM7TUFDRixDQUFDLENBQUM7SUFDSixDQUFDO0lBQUEsSUFBQXRCLGdCQUFBLGFBQUFtQixLQUFBLGlCQUVhLFVBQUNPLEtBQUssRUFBSztNQUN2QixJQUFRQyxRQUFRLEdBQUtSLEtBQUEsQ0FBS0QsS0FBSyxDQUF2QlMsUUFBUTtNQUNoQixJQUFNRixNQUFNLEdBQUE3QixhQUFBLENBQUFBLGFBQUEsS0FBUXVCLEtBQUEsQ0FBS0QsS0FBSyxDQUFDSSxJQUFJO1FBQUVJLEtBQUssRUFBTEE7TUFBSyxFQUFFO01BRTVDLElBQUksQ0FBQ0EsS0FBSyxJQUFJLElBQUFJLGlCQUFPLEVBQUNKLEtBQUssQ0FBQyxFQUFFO1FBQzVCLE9BQU9ELE1BQU0sQ0FBQ0MsS0FBSztNQUNyQjtNQUVBUCxLQUFBLENBQUtLLFFBQVEsQ0FBQztRQUFFRixJQUFJLEVBQUVHO01BQU8sQ0FBQyxFQUFFLFlBQU07UUFDcENFLFFBQVEsQ0FBQ1IsS0FBQSxDQUFLRCxLQUFLLENBQUNJLElBQUksRUFBRUcsTUFBTSxDQUFDO01BQ25DLENBQUMsQ0FBQztJQUNKLENBQUM7SUFBQSxJQUFBekIsZ0JBQUEsYUFBQW1CLEtBQUEsZ0JBRVksWUFBTTtNQUNqQixJQUFBWSxXQUFBLEdBQXNEWixLQUFBLENBQUtELEtBQUs7UUFBeERjLGdCQUFnQixHQUFBRCxXQUFBLENBQWhCQyxnQkFBZ0I7UUFBRUwsUUFBUSxHQUFBSSxXQUFBLENBQVJKLFFBQVE7UUFBRU0sT0FBTyxHQUFBRixXQUFBLENBQVBFLE9BQU87UUFBRVgsSUFBSSxHQUFBUyxXQUFBLENBQUpULElBQUk7TUFFakQsSUFBSSxDQUFDVSxnQkFBZ0IsRUFBRTtRQUNyQkMsT0FBTyxDQUFDWCxJQUFJLENBQUM7UUFDYjtNQUNGO01BRUEsSUFBSUEsSUFBSSxDQUFDWSxRQUFRLEVBQUU7UUFDakI7TUFDRjtNQUVBUCxRQUFRLENBQUNMLElBQUksRUFBQTFCLGFBQUE7UUFBSThCLEtBQUssRUFBRTtNQUFFLEdBQUtKLElBQUksQ0FBRSxDQUFDO01BRXRDLElBQUlILEtBQUEsQ0FBS2dCLEtBQUssRUFBRTtRQUNkaEIsS0FBQSxDQUFLZ0IsS0FBSyxDQUFDQyxLQUFLLENBQUMsQ0FBQztNQUNwQjtJQUNGLENBQUM7SUF6RENqQixLQUFBLENBQUtJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFBQyxPQUFBSixLQUFBO0VBQ2xCO0VBQUMsSUFBQWtCLFVBQUEsYUFBQXRCLEtBQUEsRUFBQUUsZ0JBQUE7RUFBQSxXQUFBcUIsYUFBQSxhQUFBdkIsS0FBQTtJQUFBd0IsR0FBQTtJQUFBQyxLQUFBLEVBMERELFNBQUFDLE1BQU1BLENBQUEsRUFBRztNQUFBLElBQUFDLE1BQUE7TUFDUCxJQUFBQyxZQUFBLEdBQXdFLElBQUksQ0FBQ3pCLEtBQUs7UUFBMUUwQixrQkFBa0IsR0FBQUQsWUFBQSxDQUFsQkMsa0JBQWtCO1FBQUVDLFVBQVUsR0FBQUYsWUFBQSxDQUFWRSxVQUFVO1FBQUVDLFNBQVMsR0FBQUgsWUFBQSxDQUFURyxTQUFTO1FBQUVkLGdCQUFnQixHQUFBVyxZQUFBLENBQWhCWCxnQkFBZ0I7TUFDbkUsSUFBTVYsSUFBSSxHQUFHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDQyxLQUFLLENBQUNELElBQUksR0FBRyxJQUFJLENBQUNKLEtBQUssQ0FBQ0ksSUFBSTtNQUVoRSxvQkFDRWhELE1BQUEsWUFBQXlFLGFBQUEsQ0FBQ3pFLE1BQUEsV0FBSyxDQUFDMEUsUUFBUSxxQkFDYjFFLE1BQUEsWUFBQXlFLGFBQUEsQ0FBQ3RFLE1BQUEsQ0FBQXdFLFNBQVMsTUFBQUMsU0FBQSxpQkFDSjVCLElBQUk7UUFDUnNCLGtCQUFrQixFQUFFQSxrQkFBbUI7UUFDdkNDLFVBQVUsRUFBRUEsVUFBVztRQUN2QkMsU0FBUyxFQUFFQSxTQUFVO1FBQ3JCSyxNQUFNLEVBQUUsSUFBSSxDQUFDQyxJQUFLO1FBQ2xCQyxXQUFXLEVBQUUsSUFBSSxDQUFDQyxTQUFVO1FBQzVCQyxVQUFVLEVBQUUsSUFBSSxDQUFDQyxRQUFTO1FBQzFCdkIsT0FBTyxFQUFFLElBQUksQ0FBQ3dCLFVBQVc7UUFDekJDLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFHMUUsQ0FBQyxFQUFLO1VBQ25CQSxDQUFDLENBQUMyRSxlQUFlLENBQUMsQ0FBQztVQUNuQmpCLE1BQUksQ0FBQ2UsVUFBVSxDQUFDLENBQUM7UUFDbkIsQ0FBRTtRQUNGRyxVQUFVLEVBQUUsU0FBWkEsVUFBVUEsQ0FBRzVFLENBQUMsRUFBSztVQUNqQkEsQ0FBQyxDQUFDMkUsZUFBZSxDQUFDLENBQUM7VUFDbkJqQixNQUFJLENBQUNlLFVBQVUsQ0FBQyxDQUFDO1FBQ25CO01BQUUsRUFDSCxDQUFDLEVBQ0RYLFNBQVMsSUFDUjNELE1BQU0sQ0FBQ3lCLFNBQVMsQ0FBQ2lELGNBQWMsQ0FBQy9DLElBQUksQ0FBQ1EsSUFBSSxFQUFFLE9BQU8sQ0FBQyxpQkFDbkR3QyxvQkFBUSxDQUFDQyxZQUFZLGNBQ25CekYsTUFBQSxZQUFBeUUsYUFBQSxDQUFDbEUsVUFBQSxXQUFTO1FBQ1JtRixRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBRy9FLENBQUM7VUFBQSxPQUFNeUQsTUFBSSxDQUFDUCxLQUFLLEdBQUdsRCxDQUFDO1FBQUEsQ0FBRTtRQUNsQ2lELFFBQVEsRUFBRSxDQUFDRixnQkFBaUI7UUFDNUJWLElBQUksRUFBRUEsSUFBSztRQUNYdUIsVUFBVSxFQUFFQSxVQUFXO1FBQ3ZCbEIsUUFBUSxFQUFFLElBQUksQ0FBQ3NDO01BQVksQ0FDNUIsQ0FBQyxFQUNGbkIsU0FDRixDQUNZLENBQUM7SUFFckI7RUFBQztBQUFBLEVBM0d3Qm9CLGlCQUFLLENBQUNDLFNBQVM7QUFBQSxJQUFBbkUsZ0JBQUEsYUFBN0JlLEtBQUssZUFBQW5CLGFBQUE7RUFFZGlELFVBQVUsRUFBRXVCLFdBQUssQ0FBQ0MsY0FBYyxDQUFDQztBQUFVLEdBQ3hDQyx5QkFBa0I7QUFBQSxJQUFBdkUsZ0JBQUEsYUFIWmUsS0FBSyxrQkFNTSxDQUFDLENBQUM7QUFBQSxJQUFBeUQsUUFBQSxHQUFBeEQsT0FBQSxjQXdHWEQsS0FBSyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -21,4 +21,4 @@ var tool = exports.tool = function tool() {
21
21
  }
22
22
  };
23
23
  };
24
- //# sourceMappingURL=index.js.map
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29tcG9uZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInRvb2wiLCJleHBvcnRzIiwibGFiZWwiLCJ0eXBlIiwiQ29tcG9uZW50IiwiUG9pbnQiLCJhZGRQb2ludCIsInBvaW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rvb2xzL3BvaW50L2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQb2ludCBmcm9tICcuL2NvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCB0b29sID0gKCkgPT4gKHtcbiAgbGFiZWw6ICdQb2ludCcsXG4gIHR5cGU6ICdwb2ludCcsXG4gIENvbXBvbmVudDogUG9pbnQsXG4gIGFkZFBvaW50OiAocG9pbnQpID0+ICh7XG4gICAgdHlwZTogJ3BvaW50JyxcbiAgICAuLi5wb2ludCxcbiAgfSksXG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBZ0MsU0FBQUMsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9BQUEsV0FBQWQsQ0FBQSxRQUFBZSxnQkFBQSxhQUFBaEIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBRSxNQUFBLENBQUFjLHlCQUFBLEdBQUFkLE1BQUEsQ0FBQWUsZ0JBQUEsQ0FBQWxCLENBQUEsRUFBQUcsTUFBQSxDQUFBYyx5QkFBQSxDQUFBZixDQUFBLEtBQUFILE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLEdBQUFhLE9BQUEsV0FBQWQsQ0FBQSxJQUFBRSxNQUFBLENBQUFnQixjQUFBLENBQUFuQixDQUFBLEVBQUFDLENBQUEsRUFBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBTixDQUFBLEVBQUFELENBQUEsaUJBQUFELENBQUE7QUFFekIsSUFBTW9CLElBQUksR0FBQUMsT0FBQSxDQUFBRCxJQUFBLEdBQUcsU0FBUEEsSUFBSUEsQ0FBQTtFQUFBLE9BQVU7SUFDekJFLEtBQUssRUFBRSxPQUFPO0lBQ2RDLElBQUksRUFBRSxPQUFPO0lBQ2JDLFNBQVMsRUFBRUMscUJBQUs7SUFDaEJDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHQyxLQUFLO01BQUEsT0FBQWYsYUFBQTtRQUNkVyxJQUFJLEVBQUU7TUFBTyxHQUNWSSxLQUFLO0lBQUE7RUFFWixDQUFDO0FBQUEsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==