@kepler.gl/components 3.3.0-alpha.1 → 3.3.0-alpha.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 (126) hide show
  1. package/dist/common/action-panel.js +1 -1
  2. package/dist/common/color-legend.d.ts +1 -1
  3. package/dist/common/data-table/canvas.d.ts +1 -1
  4. package/dist/common/data-table/index.d.ts +1 -1
  5. package/dist/common/dnd-layer-items.d.ts +4 -0
  6. package/dist/common/dnd-layer-items.js +6 -2
  7. package/dist/common/error-boundary.d.ts +1 -1
  8. package/dist/common/file-uploader/file-upload.d.ts +1 -1
  9. package/dist/common/flex-container.d.ts +15 -7
  10. package/dist/common/icon-button.d.ts +53 -6
  11. package/dist/common/icons/arrow-down-full.d.ts +2 -1
  12. package/dist/common/icons/arrow-down-full.js +1 -1
  13. package/dist/common/icons/folder.d.ts +10 -0
  14. package/dist/common/icons/folder.js +51 -0
  15. package/dist/common/icons/index.d.ts +1 -0
  16. package/dist/common/icons/index.js +8 -1
  17. package/dist/common/icons/timeline-marker.d.ts +2 -1
  18. package/dist/common/icons/timeline-marker.js +1 -1
  19. package/dist/common/item-selector/dropdown-list.d.ts +1 -1
  20. package/dist/common/item-selector/dropdown-list.js +1 -1
  21. package/dist/common/item-selector/dropdown-select.d.ts +13 -7
  22. package/dist/common/item-selector/item-selector.d.ts +1 -1
  23. package/dist/common/item-selector/item-selector.js +1 -1
  24. package/dist/common/item-selector/typeahead.d.ts +4 -4
  25. package/dist/common/item-selector/typeahead.js +1 -3
  26. package/dist/common/layout-splitter.d.ts +45 -0
  27. package/dist/common/layout-splitter.js +231 -0
  28. package/dist/common/line-chart.d.ts +7 -3
  29. package/dist/common/line-chart.js +179 -59
  30. package/dist/common/modal.d.ts +11 -5
  31. package/dist/common/modal.js +1 -1
  32. package/dist/common/portaled.d.ts +17 -17
  33. package/dist/common/range-slider.js +1 -3
  34. package/dist/common/slider/mouse-event.d.ts +1 -1
  35. package/dist/common/slider/mouse-event.js +1 -2
  36. package/dist/common/slider/slider-bar-handle.d.ts +1 -1
  37. package/dist/common/slider/slider-bar-handle.js +1 -1
  38. package/dist/common/slider/slider-handle.d.ts +3 -3
  39. package/dist/common/slider/slider-handle.js +1 -1
  40. package/dist/common/slider/slider.d.ts +4 -4
  41. package/dist/common/slider/slider.js +1 -1
  42. package/dist/common/styled-components.d.ts +627 -177
  43. package/dist/common/vertical-toolbar.d.ts +12 -2
  44. package/dist/container.d.ts +3 -2
  45. package/dist/container.js +2 -2
  46. package/dist/context.d.ts +1 -1
  47. package/dist/context.js +1 -1
  48. package/dist/dnd-context.d.ts +4 -3
  49. package/dist/dnd-context.js +64 -9
  50. package/dist/effects/compact-color-picker.d.ts +1 -1
  51. package/dist/effects/effect-configurator.d.ts +2 -4
  52. package/dist/effects/effect-time-configurator.js +1 -1
  53. package/dist/effects/effect-type-list-item.d.ts +1 -1
  54. package/dist/filters/components.d.ts +7 -5
  55. package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +6 -2
  56. package/dist/geocoder-panel.d.ts +2 -2
  57. package/dist/geocoder-panel.js +6 -7
  58. package/dist/hooks/use-dnd-layers.d.ts +4 -3
  59. package/dist/hooks/use-dnd-layers.js +103 -42
  60. package/dist/index.d.ts +3 -2
  61. package/dist/index.js +38 -9
  62. package/dist/injector.d.ts +1 -1
  63. package/dist/kepler-gl.d.ts +167 -27
  64. package/dist/kepler-gl.js +3 -2
  65. package/dist/loading-indicator.d.ts +1 -1
  66. package/dist/map/layer-hover-info.d.ts +7 -3
  67. package/dist/map/layer-hover-info.js +58 -22
  68. package/dist/map/map-control-panel.js +3 -2
  69. package/dist/map/map-control-toolbar.d.ts +29 -4
  70. package/dist/map/map-control.d.ts +11 -4
  71. package/dist/map/map-control.js +7 -6
  72. package/dist/map/map-legend-panel.d.ts +11 -2
  73. package/dist/map/map-legend-panel.js +19 -2
  74. package/dist/map/map-legend.d.ts +19 -2
  75. package/dist/map/map-legend.js +141 -27
  76. package/dist/map/split-map-button.d.ts +6 -1
  77. package/dist/map/split-map-button.js +113 -19
  78. package/dist/map-container.js +20 -3
  79. package/dist/maps-layout.d.ts +3 -0
  80. package/dist/maps-layout.js +86 -26
  81. package/dist/modal-container.d.ts +1 -1
  82. package/dist/modals/cloud-tile.d.ts +1 -2
  83. package/dist/modals/export-map-modal/components.d.ts +9 -5
  84. package/dist/modals/export-video-modal.d.ts +3 -0
  85. package/dist/modals/export-video-modal.js +79 -46
  86. package/dist/modals/export-video-modal.spec.js +2 -2
  87. package/dist/modals/hubble-utils.d.ts +16 -0
  88. package/dist/modals/hubble-utils.js +98 -1
  89. package/dist/modals/modal-dialog.d.ts +1 -1
  90. package/dist/modals/share-map-modal.d.ts +2 -4
  91. package/dist/modals/swipe-composite-utils.d.ts +10 -0
  92. package/dist/modals/swipe-composite-utils.js +108 -0
  93. package/dist/modals/swipe-export-settings.d.ts +24 -0
  94. package/dist/modals/swipe-export-settings.js +370 -0
  95. package/dist/modals/swipe-export-video-container.d.ts +122 -0
  96. package/dist/modals/swipe-export-video-container.js +630 -0
  97. package/dist/modals/swipe-export-video-preview.d.ts +68 -0
  98. package/dist/modals/swipe-export-video-preview.js +339 -0
  99. package/dist/modals/tilesets-modals/tileset-raster-form.js +1 -5
  100. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +7 -3
  101. package/dist/side-panel/layer-manager.d.ts +5 -4
  102. package/dist/side-panel/layer-manager.js +16 -4
  103. package/dist/side-panel/layer-panel/color-selector.d.ts +6 -4
  104. package/dist/side-panel/layer-panel/custom-palette.d.ts +3 -5
  105. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +2 -1
  106. package/dist/side-panel/layer-panel/dataset-layer-group.js +1 -1
  107. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +2 -1
  108. package/dist/side-panel/layer-panel/dataset-layer-section.js +1 -1
  109. package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -11
  110. package/dist/side-panel/layer-panel/layer-configurator.js +130 -82
  111. package/dist/side-panel/layer-panel/layer-group-header.d.ts +15 -0
  112. package/dist/side-panel/layer-panel/layer-group-header.js +179 -0
  113. package/dist/side-panel/layer-panel/layer-list.d.ts +9 -4
  114. package/dist/side-panel/layer-panel/layer-list.js +197 -40
  115. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +2 -10
  116. package/dist/side-panel/panel-tab.d.ts +1 -3
  117. package/dist/side-panel/panel-view-list-toggle.d.ts +4 -4
  118. package/dist/side-panel/side-bar.d.ts +1 -6
  119. package/dist/side-panel.d.ts +1 -1
  120. package/dist/types.d.ts +2 -2
  121. package/dist/types.js +1 -1
  122. package/package.json +29 -35
  123. package/dist/map/layer-selector-panel.d.ts +0 -21
  124. package/dist/map/layer-selector-panel.js +0 -85
  125. package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +0 -11
  126. package/dist/side-panel/layer-panel/radius-by-zoom-input.js +0 -220
@@ -10,8 +10,9 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
- var _reactVis = require("react-vis");
14
- var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+ var _d3Scale = require("d3-scale");
14
+ var _d3Array = require("d3-array");
15
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
15
16
  var _utils = require("@kepler.gl/utils");
16
17
  var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT
17
18
  // Copyright contributors to the kepler.gl project
@@ -22,12 +23,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
22
23
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
23
24
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
24
25
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25
- var LineChartWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .rv-xy-plot {\n /* important for rendering hint */\n position: relative;\n }\n .rv-xy-plot__inner {\n /* important to show axis */\n overflow: visible;\n clip-path: inset(-2px -10px -2px -50px);\n }\n\n .rv-xy-plot__grid-lines__line {\n stroke: ", ";\n stroke-dasharray: 1px 4px;\n }\n\n .rv-xy-plot__axis__tick__text {\n font-size: 9px;\n fill: ", ";\n }\n"])), function (props) {
26
+ var LineChartWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n\n .line-chart__grid-line {\n stroke: ", ";\n stroke-dasharray: 1px 4px;\n }\n\n .line-chart__axis-tick {\n font-size: 9px;\n fill: ", ";\n }\n"])), function (props) {
26
27
  return props.theme.histogramFillOutRange;
27
28
  }, function (props) {
28
29
  return props.theme.textColor;
29
30
  });
30
- var StyledHint = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: #d3d8e0;\n border-radius: 2px;\n color: ", ";\n font-size: 9px;\n margin: 4px;\n padding: 3px 6px;\n pointer-events: none;\n user-select: none;\n"])), function (props) {
31
+ var StyledHint = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: #d3d8e0;\n border-radius: 2px;\n color: ", ";\n font-size: 9px;\n margin: 4px;\n padding: 3px 6px;\n pointer-events: none;\n user-select: none;\n position: absolute;\n white-space: nowrap;\n"])), function (props) {
31
32
  return props.theme.textColorLT;
32
33
  });
33
34
  var HintContent = function HintContent(_ref) {
@@ -40,12 +41,6 @@ var HintContent = function HintContent(_ref) {
40
41
  className: "row"
41
42
  }, y));
42
43
  };
43
- var MARGIN = {
44
- top: 0,
45
- bottom: 0,
46
- left: 0,
47
- right: 0
48
- };
49
44
  function LineChartFactory() {
50
45
  var LineChartComponent = function LineChartComponent(_ref2) {
51
46
  var brushComponent = _ref2.brushComponent,
@@ -63,17 +58,18 @@ function LineChartFactory() {
63
58
  timezone = _ref2.timezone,
64
59
  timeFormat = _ref2.timeFormat,
65
60
  range = _ref2.range,
66
- yAxisAutoRange = _ref2.yAxisAutoRange;
61
+ yAxisAutoRange = _ref2.yAxisAutoRange,
62
+ theme = _ref2.theme;
63
+ var svgRef = (0, _react.useRef)(null);
67
64
  var _ref3 = lineChart || {},
68
65
  yDomain = _ref3.yDomain,
69
66
  xDomain = _ref3.xDomain;
70
67
  // @ts-expect-error seems lineChart.series has ambiguous types. Requires refactoring.
71
68
  var series = lineChart === null || lineChart === void 0 ? void 0 : lineChart.series;
72
- var effectiveXDomain = (0, _react.useMemo)(function () {
73
- return range && range.length === 2 ? range : xDomain;
74
- }, [range, xDomain]);
75
- var filteredYDomain = (0, _react.useMemo)(function () {
76
- if (!yAxisAutoRange || !(series !== null && series !== void 0 && series.lines) || !value || value.length < 2) return yDomain;
69
+ var lineColor = color || theme && theme.activeColor || '#3A414C';
70
+ var computedYDomain = (0, _react.useMemo)(function () {
71
+ if (yDomain && yDomain[0] != null && yDomain[1] != null) return yDomain;
72
+ if (!(series !== null && series !== void 0 && series.lines)) return undefined;
77
73
  var min;
78
74
  var max;
79
75
  var _iterator = _createForOfIteratorHelper(series.lines),
@@ -81,6 +77,41 @@ function LineChartFactory() {
81
77
  try {
82
78
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
83
79
  var line = _step.value;
80
+ var _iterator2 = _createForOfIteratorHelper(line),
81
+ _step2;
82
+ try {
83
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
84
+ var point = _step2.value;
85
+ if (point.y != null) {
86
+ if (min === undefined || point.y < min) min = point.y;
87
+ if (max === undefined || point.y > max) max = point.y;
88
+ }
89
+ }
90
+ } catch (err) {
91
+ _iterator2.e(err);
92
+ } finally {
93
+ _iterator2.f();
94
+ }
95
+ }
96
+ } catch (err) {
97
+ _iterator.e(err);
98
+ } finally {
99
+ _iterator.f();
100
+ }
101
+ return min !== undefined && max !== undefined ? [min, max] : undefined;
102
+ }, [yDomain, series]);
103
+ var effectiveXDomain = (0, _react.useMemo)(function () {
104
+ return range && range.length === 2 ? range : xDomain;
105
+ }, [range, xDomain]);
106
+ var filteredYDomain = (0, _react.useMemo)(function () {
107
+ if (!yAxisAutoRange || !(series !== null && series !== void 0 && series.lines) || !value || value.length < 2) return computedYDomain;
108
+ var min;
109
+ var max;
110
+ var _iterator3 = _createForOfIteratorHelper(series.lines),
111
+ _step3;
112
+ try {
113
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
114
+ var line = _step3.value;
84
115
  for (var i = 0; i < line.length; i++) {
85
116
  var point = line[i];
86
117
  var inRange = point.x >= value[0] && point.x <= value[1];
@@ -92,26 +123,25 @@ function LineChartFactory() {
92
123
  }
93
124
  }
94
125
  } catch (err) {
95
- _iterator.e(err);
126
+ _iterator3.e(err);
96
127
  } finally {
97
- _iterator.f();
128
+ _iterator3.f();
98
129
  }
99
- return min !== undefined && max !== undefined ? [min, max] : yDomain;
100
- }, [series, value, yDomain, yAxisAutoRange]);
130
+ return min !== undefined && max !== undefined ? [min, max] : computedYDomain;
131
+ }, [series, value, computedYDomain, yAxisAutoRange]);
101
132
  var paddedYDomain = (0, _react.useMemo)(function () {
102
133
  if (!filteredYDomain || filteredYDomain[0] == null || filteredYDomain[1] == null) return [];
103
134
  var padding = (filteredYDomain[1] - filteredYDomain[0]) * 0.1;
104
135
  return [filteredYDomain[0] - padding, filteredYDomain[1] + padding];
105
136
  }, [filteredYDomain]);
106
- var brushData = (0, _react.useMemo)(function () {
107
- return effectiveXDomain && paddedYDomain ? [{
108
- x: effectiveXDomain[0],
109
- y: paddedYDomain[1],
110
- customComponent: function customComponent() {
111
- return brushComponent;
112
- }
113
- }] : [];
114
- }, [effectiveXDomain, paddedYDomain, brushComponent]);
137
+ var xScale = (0, _react.useMemo)(function () {
138
+ if (!effectiveXDomain || effectiveXDomain.length < 2) return null;
139
+ return (0, _d3Scale.scaleTime)().domain([new Date(effectiveXDomain[0]), new Date(effectiveXDomain[1])]).range([0, width]);
140
+ }, [effectiveXDomain, width]);
141
+ var yScale = (0, _react.useMemo)(function () {
142
+ if (!paddedYDomain || paddedYDomain.length < 2) return null;
143
+ return (0, _d3Scale.scaleLinear)().domain(paddedYDomain).range([height, 0]);
144
+ }, [paddedYDomain, height]);
115
145
  var hintFormatter = (0, _react.useMemo)(function () {
116
146
  return (0, _utils.datetimeFormatter)(timezone)(timeFormat);
117
147
  }, [timezone, timeFormat]);
@@ -122,46 +152,136 @@ function LineChartFactory() {
122
152
  y: Math.max(paddedYDomain[0], Math.min(paddedYDomain[1], hoveredDP.y))
123
153
  });
124
154
  }, [hoveredDP, paddedYDomain]);
155
+ var gridLines = (0, _react.useMemo)(function () {
156
+ if (!yScale) return [];
157
+ return yScale.ticks(3);
158
+ }, [yScale]);
159
+ var yAxisTicks = (0, _react.useMemo)(function () {
160
+ if (!yScale) return [];
161
+ return yScale.ticks(3);
162
+ }, [yScale]);
163
+ var linePaths = (0, _react.useMemo)(function () {
164
+ if (!xScale || !yScale || !(series !== null && series !== void 0 && series.lines)) return [];
165
+ return series.lines.map(function (lineData) {
166
+ var points = lineData.filter(function (p) {
167
+ return p.x != null && p.y != null;
168
+ }).map(function (p) {
169
+ return "".concat(xScale(new Date(p.x)), ",").concat(yScale(p.y));
170
+ });
171
+ return points.length > 1 ? "M".concat(points.join('L')) : '';
172
+ });
173
+ }, [xScale, yScale, series]);
174
+ var bisectX = (0, _react.useMemo)(function () {
175
+ return (0, _d3Array.bisector)(function (d) {
176
+ return d.x;
177
+ }).left;
178
+ }, []);
179
+ var findNearestPoint = (0, _react.useCallback)(function (mouseX) {
180
+ if (!xScale || !(series !== null && series !== void 0 && series.lines)) return null;
181
+ var xValue = xScale.invert(mouseX).getTime();
182
+ var nearest = null;
183
+ var minDist = Infinity;
184
+ var _iterator4 = _createForOfIteratorHelper(series.lines),
185
+ _step4;
186
+ try {
187
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
188
+ var line = _step4.value;
189
+ if (line.length === 0) continue;
190
+ var idx = bisectX(line, xValue);
191
+ // Check the two candidates around the bisection point
192
+ for (var _i = 0, _arr = [idx - 1, idx]; _i < _arr.length; _i++) {
193
+ var i = _arr[_i];
194
+ if (i >= 0 && i < line.length) {
195
+ var dist = Math.abs(line[i].x - xValue);
196
+ if (dist < minDist) {
197
+ minDist = dist;
198
+ nearest = line[i];
199
+ }
200
+ }
201
+ }
202
+ }
203
+ } catch (err) {
204
+ _iterator4.e(err);
205
+ } finally {
206
+ _iterator4.f();
207
+ }
208
+ return nearest;
209
+ }, [xScale, series, bisectX]);
210
+ var handleMouseMove = (0, _react.useCallback)(function (e) {
211
+ var _series$markers;
212
+ if (!enableChartHover || series !== null && series !== void 0 && (_series$markers = series.markers) !== null && _series$markers !== void 0 && _series$markers.length) return;
213
+ var svg = svgRef.current;
214
+ if (!svg) return;
215
+ var rect = svg.getBoundingClientRect();
216
+ var mouseX = e.clientX - rect.left;
217
+ var nearest = findNearestPoint(mouseX);
218
+ onMouseMove(nearest);
219
+ }, [enableChartHover, series, findNearestPoint, onMouseMove]);
220
+ var handleMouseLeave = (0, _react.useCallback)(function () {
221
+ onMouseMove(null);
222
+ }, [onMouseMove]);
223
+ var hintPosition = (0, _react.useMemo)(function () {
224
+ if (!clampedHoveredDP || !xScale || !yScale) return null;
225
+ return {
226
+ left: xScale(new Date(clampedHoveredDP.x)),
227
+ top: yScale(clampedHoveredDP.y)
228
+ };
229
+ }, [clampedHoveredDP, xScale, yScale]);
125
230
  return /*#__PURE__*/_react["default"].createElement(LineChartWrapper, {
126
231
  style: {
127
232
  marginTop: "".concat(margin.top, "px")
128
233
  }
129
- }, /*#__PURE__*/_react["default"].createElement(_reactVis.XYPlot, {
130
- xType: "time",
234
+ }, /*#__PURE__*/_react["default"].createElement("svg", {
235
+ ref: svgRef,
131
236
  width: width,
132
237
  height: height,
133
- margin: MARGIN,
134
- onMouseLeave: function onMouseLeave() {
135
- onMouseMove(null);
136
- },
137
- yDomain: paddedYDomain,
138
- xDomain: effectiveXDomain
139
- }, /*#__PURE__*/_react["default"].createElement(_reactVis.HorizontalGridLines, {
140
- tickTotal: 3
141
- }), series.lines.map(function (d, i) {
142
- return /*#__PURE__*/_react["default"].createElement(_reactVis.LineSeries, {
238
+ onMouseMove: handleMouseMove,
239
+ onMouseLeave: handleMouseLeave,
240
+ style: {
241
+ overflow: 'visible'
242
+ }
243
+ }, gridLines.map(function (tick, i) {
244
+ return /*#__PURE__*/_react["default"].createElement("line", {
143
245
  key: i,
144
- style: {
145
- fill: 'none'
146
- },
147
- color: color,
148
- data: d,
149
- onNearestX: series.markers.length || !enableChartHover ? undefined : onMouseMove
246
+ className: "line-chart__grid-line",
247
+ x1: 0,
248
+ x2: width,
249
+ y1: yScale(tick),
250
+ y2: yScale(tick)
150
251
  });
151
- }), /*#__PURE__*/_react["default"].createElement(_reactVis.MarkSeries, {
152
- data: isHoveredDPVisible && hoveredDP ? [hoveredDP] : [],
153
- color: color
154
- }), /*#__PURE__*/_react["default"].createElement(_reactVis.CustomSVGSeries, {
155
- data: brushData
156
- }), isEnlarged && /*#__PURE__*/_react["default"].createElement(_reactVis.YAxis, {
157
- tickTotal: 3
158
- }), clampedHoveredDP && enableChartHover && !brushing ? /*#__PURE__*/_react["default"].createElement(_reactVis.Hint, {
159
- value: clampedHoveredDP
252
+ }), linePaths.map(function (d, i) {
253
+ return /*#__PURE__*/_react["default"].createElement("path", {
254
+ key: i,
255
+ d: d,
256
+ fill: "none",
257
+ stroke: lineColor,
258
+ strokeWidth: 1
259
+ });
260
+ }), isHoveredDPVisible && hoveredDP && xScale && yScale && /*#__PURE__*/_react["default"].createElement("circle", {
261
+ cx: xScale(new Date(hoveredDP.x)),
262
+ cy: yScale(hoveredDP.y),
263
+ r: 4,
264
+ fill: lineColor
265
+ }), isEnlarged && yAxisTicks.map(function (tick, i) {
266
+ return /*#__PURE__*/_react["default"].createElement("text", {
267
+ key: i,
268
+ className: "line-chart__axis-tick",
269
+ x: -4,
270
+ y: yScale(tick),
271
+ textAnchor: "end",
272
+ dominantBaseline: "middle"
273
+ }, tick);
274
+ }), brushComponent), clampedHoveredDP && enableChartHover && !brushing && hintPosition ? /*#__PURE__*/_react["default"].createElement("div", {
275
+ style: {
276
+ position: 'absolute',
277
+ left: hintPosition.left,
278
+ top: hintPosition.top
279
+ }
160
280
  }, /*#__PURE__*/_react["default"].createElement(HintContent, (0, _extends2["default"])({}, hoveredDP, {
161
281
  format: hintFormatter
162
- }))) : null));
282
+ }))) : null);
163
283
  };
164
- return LineChartComponent;
284
+ return (0, _styledComponents.withTheme)(LineChartComponent);
165
285
  }
166
286
  var _default = exports["default"] = LineChartFactory;
167
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RWaXMiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9uIiwiRiIsInMiLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiTGluZUNoYXJ0V3JhcHBlciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImhpc3RvZ3JhbUZpbGxPdXRSYW5nZSIsInRleHRDb2xvciIsIlN0eWxlZEhpbnQiLCJ0ZXh0Q29sb3JMVCIsIkhpbnRDb250ZW50IiwiX3JlZiIsIngiLCJ5IiwiZm9ybWF0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIk1BUkdJTiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsIkxpbmVDaGFydEZhY3RvcnkiLCJMaW5lQ2hhcnRDb21wb25lbnQiLCJfcmVmMiIsImJydXNoQ29tcG9uZW50IiwiYnJ1c2hpbmciLCJjb2xvciIsImVuYWJsZUNoYXJ0SG92ZXIiLCJoZWlnaHQiLCJob3ZlcmVkRFAiLCJpc0VubGFyZ2VkIiwibGluZUNoYXJ0IiwibWFyZ2luIiwib25Nb3VzZU1vdmUiLCJ3aWR0aCIsInRpbWV6b25lIiwidGltZUZvcm1hdCIsInJhbmdlIiwieUF4aXNBdXRvUmFuZ2UiLCJfcmVmMyIsInlEb21haW4iLCJ4RG9tYWluIiwic2VyaWVzIiwiZWZmZWN0aXZlWERvbWFpbiIsInVzZU1lbW8iLCJmaWx0ZXJlZFlEb21haW4iLCJsaW5lcyIsIm1pbiIsIm1heCIsIl9pdGVyYXRvciIsIl9zdGVwIiwibGluZSIsInBvaW50IiwiaW5SYW5nZSIsImlzQWRqYWNlbnRUb1JhbmdlIiwidW5kZWZpbmVkIiwiZXJyIiwicGFkZGVkWURvbWFpbiIsInBhZGRpbmciLCJicnVzaERhdGEiLCJjdXN0b21Db21wb25lbnQiLCJoaW50Rm9ybWF0dGVyIiwiZGF0ZXRpbWVGb3JtYXR0ZXIiLCJpc0hvdmVyZWREUFZpc2libGUiLCJjbGFtcGVkSG92ZXJlZERQIiwiTWF0aCIsInN0eWxlIiwibWFyZ2luVG9wIiwiY29uY2F0IiwiWFlQbG90IiwieFR5cGUiLCJvbk1vdXNlTGVhdmUiLCJIb3Jpem9udGFsR3JpZExpbmVzIiwidGlja1RvdGFsIiwibWFwIiwiZCIsIkxpbmVTZXJpZXMiLCJrZXkiLCJmaWxsIiwiZGF0YSIsIm9uTmVhcmVzdFgiLCJtYXJrZXJzIiwiTWFya1NlcmllcyIsIkN1c3RvbVNWR1NlcmllcyIsIllBeGlzIiwiSGludCIsIl9leHRlbmRzMiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vbGluZS1jaGFydC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgSG9yaXpvbnRhbEdyaWRMaW5lcyxcbiAgTGluZVNlcmllcyxcbiAgWFlQbG90LFxuICBDdXN0b21TVkdTZXJpZXMsXG4gIEhpbnQsXG4gIFlBeGlzLFxuICBNYXJrU2VyaWVzLFxuICBMaW5lU2VyaWVzUG9pbnQsXG4gIFJWTmVhcmVzdFhEYXRhXG59IGZyb20gJ3JlYWN0LXZpcyc7XG5pbXBvcnQge0xpbmVDaGFydH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7ZGF0ZXRpbWVGb3JtYXR0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5jb25zdCBMaW5lQ2hhcnRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgLnJ2LXh5LXBsb3Qge1xuICAgIC8qIGltcG9ydGFudCBmb3IgcmVuZGVyaW5nIGhpbnQgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnJ2LXh5LXBsb3RfX2lubmVyIHtcbiAgICAvKiBpbXBvcnRhbnQgdG8gc2hvdyBheGlzICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcC1wYXRoOiBpbnNldCgtMnB4IC0xMHB4IC0ycHggLTUwcHgpO1xuICB9XG5cbiAgLnJ2LXh5LXBsb3RfX2dyaWQtbGluZXNfX2xpbmUge1xuICAgIHN0cm9rZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oaXN0b2dyYW1GaWxsT3V0UmFuZ2V9O1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDFweCA0cHg7XG4gIH1cblxuICAucnYteHktcGxvdF9fYXhpc19fdGlja19fdGV4dCB7XG4gICAgZm9udC1zaXplOiA5cHg7XG4gICAgZmlsbDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRIaW50ID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDhlMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBtYXJnaW46IDRweDtcbiAgcGFkZGluZzogM3B4IDZweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuYDtcblxuaW50ZXJmYWNlIEhpbnRDb250ZW50UHJvcHMge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgZm9ybWF0OiAodHM6IG51bWJlcikgPT4gc3RyaW5nO1xufVxuXG5jb25zdCBIaW50Q29udGVudCA9ICh7eCwgeSwgZm9ybWF0fTogSGludENvbnRlbnRQcm9wcykgPT4gKFxuICA8U3R5bGVkSGludD5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cImhpbnQtLXhcIj57Zm9ybWF0KHgpfTwvZGl2PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+e3l9PC9kaXY+XG4gIDwvU3R5bGVkSGludD5cbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG92ZXJEUCB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICBjb2xvcj86IHN0cmluZyB8IG51bWJlcjtcbiAgb3BhY2l0eT86IHN0cmluZyB8IG51bWJlcjtcbiAgc3Ryb2tlPzogc3RyaW5nIHwgbnVtYmVyO1xuICBmaWxsPzogc3RyaW5nIHwgbnVtYmVyO1xuICBzaXplPzogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgTGluZUNoYXJ0UHJvcHMge1xuICBicnVzaENvbXBvbmVudD86IGFueTtcbiAgYnJ1c2hpbmc/OiBib29sZWFuO1xuICBjb2xvcj86IHN0cmluZztcbiAgZW5hYmxlQ2hhcnRIb3Zlcj86IGJvb2xlYW47XG4gIGhlaWdodDogbnVtYmVyO1xuICBob3ZlcmVkRFA/OiBIb3ZlckRQIHwgbnVsbDtcbiAgaXNFbmxhcmdlZD86IGJvb2xlYW47XG4gIGxpbmVDaGFydD86IExpbmVDaGFydDtcbiAgbWFyZ2luOiB7dG9wPzogbnVtYmVyOyBib3R0b20/OiBudW1iZXI7IGxlZnQ/OiBudW1iZXI7IHJpZ2h0PzogbnVtYmVyfTtcbiAgb25Nb3VzZU1vdmU6IChkYXRhcG9pbnQ6IExpbmVTZXJpZXNQb2ludCB8IG51bGwsIGRhdGE/OiBSVk5lYXJlc3RYRGF0YTxMaW5lU2VyaWVzUG9pbnQ+KSA9PiB2b2lkO1xuICB2YWx1ZT86IG51bWJlcltdO1xuICB3aWR0aDogbnVtYmVyO1xuICB0aW1lem9uZT86IHN0cmluZyB8IG51bGw7XG4gIHRpbWVGb3JtYXQ/OiBzdHJpbmc7XG4gIHJhbmdlPzogbnVtYmVyW107XG4gIHlBeGlzQXV0b1JhbmdlPzogYm9vbGVhbjtcbn1cblxuY29uc3QgTUFSR0lOID0ge3RvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMH07XG5cbmZ1bmN0aW9uIExpbmVDaGFydEZhY3RvcnkoKSB7XG4gIGNvbnN0IExpbmVDaGFydENvbXBvbmVudCA9ICh7XG4gICAgYnJ1c2hDb21wb25lbnQsXG4gICAgYnJ1c2hpbmcsXG4gICAgY29sb3IsXG4gICAgZW5hYmxlQ2hhcnRIb3ZlcixcbiAgICBoZWlnaHQsXG4gICAgaG92ZXJlZERQLFxuICAgIGlzRW5sYXJnZWQsXG4gICAgbGluZUNoYXJ0LFxuICAgIG1hcmdpbixcbiAgICBvbk1vdXNlTW92ZSxcbiAgICB2YWx1ZSxcbiAgICB3aWR0aCxcbiAgICB0aW1lem9uZSxcbiAgICB0aW1lRm9ybWF0LFxuICAgIHJhbmdlLFxuICAgIHlBeGlzQXV0b1JhbmdlXG4gIH06IExpbmVDaGFydFByb3BzKSA9PiB7XG4gICAgY29uc3Qge3lEb21haW4sIHhEb21haW59ID0gbGluZUNoYXJ0IHx8IHt9O1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3Igc2VlbXMgbGluZUNoYXJ0LnNlcmllcyBoYXMgYW1iaWd1b3VzIHR5cGVzLiBSZXF1aXJlcyByZWZhY3RvcmluZy5cbiAgICBjb25zdCBzZXJpZXM6IHtsaW5lczogYW55W107IG1hcmtlcnM6IGFueVtdfSA9IGxpbmVDaGFydD8uc2VyaWVzO1xuXG4gICAgY29uc3QgZWZmZWN0aXZlWERvbWFpbiA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAocmFuZ2UgJiYgcmFuZ2UubGVuZ3RoID09PSAyID8gcmFuZ2UgOiB4RG9tYWluKSxcbiAgICAgIFtyYW5nZSwgeERvbWFpbl1cbiAgICApO1xuXG4gICAgY29uc3QgZmlsdGVyZWRZRG9tYWluID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoIXlBeGlzQXV0b1JhbmdlIHx8ICFzZXJpZXM/LmxpbmVzIHx8ICF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPCAyKSByZXR1cm4geURvbWFpbjtcbiAgICAgIGxldCBtaW46IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgIGxldCBtYXg6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgIGZvciAoY29uc3QgbGluZSBvZiBzZXJpZXMubGluZXMpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgcG9pbnQgPSBsaW5lW2ldO1xuICAgICAgICAgIGNvbnN0IGluUmFuZ2UgPSBwb2ludC54ID49IHZhbHVlWzBdICYmIHBvaW50LnggPD0gdmFsdWVbMV07XG4gICAgICAgICAgY29uc3QgaXNBZGphY2VudFRvUmFuZ2UgPVxuICAgICAgICAgICAgKCFpblJhbmdlICYmIGxpbmVbaSArIDFdICYmIGxpbmVbaSArIDFdLnggPj0gdmFsdWVbMF0gJiYgbGluZVtpICsgMV0ueCA8PSB2YWx1ZVsxXSkgfHxcbiAgICAgICAgICAgICghaW5SYW5nZSAmJiBsaW5lW2kgLSAxXSAmJiBsaW5lW2kgLSAxXS54ID49IHZhbHVlWzBdICYmIGxpbmVbaSAtIDFdLnggPD0gdmFsdWVbMV0pO1xuICAgICAgICAgIGlmICgoaW5SYW5nZSB8fCBpc0FkamFjZW50VG9SYW5nZSkgJiYgcG9pbnQueSAhPSBudWxsKSB7XG4gICAgICAgICAgICBpZiAobWluID09PSB1bmRlZmluZWQgfHwgcG9pbnQueSA8IG1pbikgbWluID0gcG9pbnQueTtcbiAgICAgICAgICAgIGlmIChtYXggPT09IHVuZGVmaW5lZCB8fCBwb2ludC55ID4gbWF4KSBtYXggPSBwb2ludC55O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG1pbiAhPT0gdW5kZWZpbmVkICYmIG1heCAhPT0gdW5kZWZpbmVkID8gW21pbiwgbWF4XSA6IHlEb21haW47XG4gICAgfSwgW3NlcmllcywgdmFsdWUsIHlEb21haW4sIHlBeGlzQXV0b1JhbmdlXSk7XG5cbiAgICBjb25zdCBwYWRkZWRZRG9tYWluID0gdXNlTWVtbyhcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKCFmaWx0ZXJlZFlEb21haW4gfHwgZmlsdGVyZWRZRG9tYWluWzBdID09IG51bGwgfHwgZmlsdGVyZWRZRG9tYWluWzFdID09IG51bGwpIHJldHVybiBbXTtcbiAgICAgICAgY29uc3QgcGFkZGluZyA9IChmaWx0ZXJlZFlEb21haW5bMV0gLSBmaWx0ZXJlZFlEb21haW5bMF0pICogMC4xO1xuICAgICAgICByZXR1cm4gW2ZpbHRlcmVkWURvbWFpblswXSAtIHBhZGRpbmcsIGZpbHRlcmVkWURvbWFpblsxXSArIHBhZGRpbmddO1xuICAgICAgfSxcbiAgICAgIFtmaWx0ZXJlZFlEb21haW5dXG4gICAgKTtcbiAgICBjb25zdCBicnVzaERhdGEgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBlZmZlY3RpdmVYRG9tYWluICYmIHBhZGRlZFlEb21haW5cbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHg6IGVmZmVjdGl2ZVhEb21haW5bMF0sXG4gICAgICAgICAgICAgIHk6IHBhZGRlZFlEb21haW5bMV0sXG4gICAgICAgICAgICAgIGN1c3RvbUNvbXBvbmVudDogKCkgPT4gYnJ1c2hDb21wb25lbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIDogW107XG4gICAgfSwgW2VmZmVjdGl2ZVhEb21haW4sIHBhZGRlZFlEb21haW4sIGJydXNoQ29tcG9uZW50XSk7XG5cbiAgICBjb25zdCBoaW50Rm9ybWF0dGVyID0gdXNlTWVtbyhcbiAgICAgICgpID0+IGRhdGV0aW1lRm9ybWF0dGVyKHRpbWV6b25lKSh0aW1lRm9ybWF0KSxcbiAgICAgIFt0aW1lem9uZSwgdGltZUZvcm1hdF1cbiAgICApO1xuXG4gICAgY29uc3QgaXNIb3ZlcmVkRFBWaXNpYmxlID0gaG92ZXJlZERQXG4gICAgICA/ICF5QXhpc0F1dG9SYW5nZSB8fFxuICAgICAgICAhcGFkZGVkWURvbWFpbiB8fFxuICAgICAgICBwYWRkZWRZRG9tYWluLmxlbmd0aCA8IDIgfHxcbiAgICAgICAgKGhvdmVyZWREUC55ID49IHBhZGRlZFlEb21haW5bMF0gJiYgaG92ZXJlZERQLnkgPD0gcGFkZGVkWURvbWFpblsxXSlcbiAgICAgIDogZmFsc2U7XG5cbiAgICBjb25zdCBjbGFtcGVkSG92ZXJlZERQID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoIWhvdmVyZWREUCB8fCAhcGFkZGVkWURvbWFpbiB8fCBwYWRkZWRZRG9tYWluLmxlbmd0aCA8IDIpIHJldHVybiBob3ZlcmVkRFA7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5ob3ZlcmVkRFAsXG4gICAgICAgIHk6IE1hdGgubWF4KHBhZGRlZFlEb21haW5bMF0sIE1hdGgubWluKHBhZGRlZFlEb21haW5bMV0sIGhvdmVyZWREUC55KSlcbiAgICAgIH07XG4gICAgfSwgW2hvdmVyZWREUCwgcGFkZGVkWURvbWFpbl0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxMaW5lQ2hhcnRXcmFwcGVyIHN0eWxlPXt7bWFyZ2luVG9wOiBgJHttYXJnaW4udG9wfXB4YH19PlxuICAgICAgICA8WFlQbG90XG4gICAgICAgICAgeFR5cGU9XCJ0aW1lXCJcbiAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgbWFyZ2luPXtNQVJHSU59XG4gICAgICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiB7XG4gICAgICAgICAgICBvbk1vdXNlTW92ZShudWxsKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIHlEb21haW49e3BhZGRlZFlEb21haW59XG4gICAgICAgICAgeERvbWFpbj17ZWZmZWN0aXZlWERvbWFpbn1cbiAgICAgICAgPlxuICAgICAgICAgIDxIb3Jpem9udGFsR3JpZExpbmVzIHRpY2tUb3RhbD17M30gLz5cbiAgICAgICAgICB7c2VyaWVzLmxpbmVzLm1hcCgoZCwgaSkgPT4gKFxuICAgICAgICAgICAgPExpbmVTZXJpZXNcbiAgICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgICBzdHlsZT17e2ZpbGw6ICdub25lJ319XG4gICAgICAgICAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgICAgICAgICAgZGF0YT17ZH1cbiAgICAgICAgICAgICAgb25OZWFyZXN0WD17c2VyaWVzLm1hcmtlcnMubGVuZ3RoIHx8ICFlbmFibGVDaGFydEhvdmVyID8gdW5kZWZpbmVkIDogb25Nb3VzZU1vdmV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICAgIDxNYXJrU2VyaWVzIGRhdGE9e2lzSG92ZXJlZERQVmlzaWJsZSAmJiBob3ZlcmVkRFAgPyBbaG92ZXJlZERQXSA6IFtdfSBjb2xvcj17Y29sb3J9IC8+XG4gICAgICAgICAgPEN1c3RvbVNWR1NlcmllcyBkYXRhPXticnVzaERhdGF9IC8+XG4gICAgICAgICAge2lzRW5sYXJnZWQgJiYgPFlBeGlzIHRpY2tUb3RhbD17M30gLz59XG4gICAgICAgICAge2NsYW1wZWRIb3ZlcmVkRFAgJiYgZW5hYmxlQ2hhcnRIb3ZlciAmJiAhYnJ1c2hpbmcgPyAoXG4gICAgICAgICAgICA8SGludCB2YWx1ZT17Y2xhbXBlZEhvdmVyZWREUH0+XG4gICAgICAgICAgICAgIDxIaW50Q29udGVudCB7Li4uaG92ZXJlZERQIX0gZm9ybWF0PXtoaW50Rm9ybWF0dGVyfSAvPlxuICAgICAgICAgICAgPC9IaW50PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1hZUGxvdD5cbiAgICAgIDwvTGluZUNoYXJ0V3JhcHBlcj5cbiAgICApO1xuICB9O1xuICByZXR1cm4gTGluZUNoYXJ0Q29tcG9uZW50O1xufVxuXG5leHBvcnQgZGVmYXVsdCBMaW5lQ2hhcnRGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUQsT0FBQTtBQVlBLElBQUFFLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFBbUQsSUFBQUssZUFBQSxFQUFBQyxnQkFBQSxFQWpCbkQ7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBVCx3QkFBQVMsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFB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RUFBRUU7SUFBaUIsZ0JBRTFCN0csTUFBQSxZQUFBZ0YsYUFBQSxDQUFDN0UsU0FBQSxDQUFBdUksbUJBQW1CO01BQUNDLFNBQVMsRUFBRTtJQUFFLENBQUUsQ0FBQyxFQUNwQy9CLE1BQU0sQ0FBQ0ksS0FBSyxDQUFDNEIsR0FBRyxDQUFDLFVBQUNDLENBQUMsRUFBRWxILENBQUM7TUFBQSxvQkFDckIzQixNQUFBLFlBQUFnRixhQUFBLENBQUM3RSxTQUFBLENBQUEySSxVQUFVO1FBQ1RDLEdBQUcsRUFBRXBILENBQUU7UUFDUHlHLEtBQUssRUFBRTtVQUFDWSxJQUFJLEVBQUU7UUFBTSxDQUFFO1FBQ3RCcEQsS0FBSyxFQUFFQSxLQUFNO1FBQ2JxRCxJQUFJLEVBQUVKLENBQUU7UUFDUkssVUFBVSxFQUFFdEMsTUFBTSxDQUFDdUMsT0FBTyxDQUFDNUcsTUFBTSxJQUFJLENBQUNzRCxnQkFBZ0IsR0FBRzRCLFNBQVMsR0FBR3RCO01BQVksQ0FDbEYsQ0FBQztJQUFBLENBQ0gsQ0FBQyxlQUNGbkcsTUFBQSxZQUFBZ0YsYUFBQSxDQUFDN0UsU0FBQSxDQUFBaUosVUFBVTtNQUFDSCxJQUFJLEVBQUVoQixrQkFBa0IsSUFBSWxDLFNBQVMsR0FBRyxDQUFDQSxTQUFTLENBQUMsR0FBRyxFQUFHO01BQUNILEtBQUssRUFBRUE7SUFBTSxDQUFFLENBQUMsZUFDdEY1RixNQUFBLFlBQUFnRixhQUFBLENBQUM3RSxTQUFBLENBQUFrSixlQUFlO01BQUNKLElBQUksRUFBRXBCO0lBQVUsQ0FBRSxDQUFDLEVBQ25DN0IsVUFBVSxpQkFBSWhHLE1BQUEsWUFBQWdGLGFBQUEsQ0FBQzdFLFNBQUEsQ0FBQW1KLEtBQUs7TUFBQ1gsU0FBUyxFQUFFO0lBQUUsQ0FBRSxDQUFDLEVBQ3JDVCxnQkFBZ0IsSUFBSXJDLGdCQUFnQixJQUFJLENBQUNGLFFBQVEsZ0JBQ2hEM0YsTUFBQSxZQUFBZ0YsYUFBQSxDQUFDN0UsU0FBQSxDQUFBb0osSUFBSTtNQUFDakcsS0FBSyxFQUFFNEU7SUFBaUIsZ0JBQzVCbEksTUFBQSxZQUFBZ0YsYUFBQSxDQUFDTCxXQUFXLE1BQUE2RSxTQUFBLGlCQUFLekQsU0FBUztNQUFHaEIsTUFBTSxFQUFFZ0Q7SUFBYyxFQUFFLENBQ2pELENBQUMsR0FDTCxJQUNFLENBQ1EsQ0FBQztFQUV2QixDQUFDO0VBQ0QsT0FBT3ZDLGtCQUFrQjtBQUMzQjtBQUFDLElBQUFpRSxRQUFBLEdBQUFDLE9BQUEsY0FFY25FLGdCQUFnQiIsImlnbm9yZUxpc3QiOltdfQ==
287
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZDNTY2FsZSIsIl9kM0FycmF5IiwiX3N0eWxlZENvbXBvbmVudHMiLCJfdXRpbHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9uIiwiRiIsInMiLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiTGluZUNoYXJ0V3JhcHBlciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImhpc3RvZ3JhbUZpbGxPdXRSYW5nZSIsInRleHRDb2xvciIsIlN0eWxlZEhpbnQiLCJ0ZXh0Q29sb3JMVCIsIkhpbnRDb250ZW50IiwiX3JlZiIsIngiLCJ5IiwiZm9ybWF0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIkxpbmVDaGFydEZhY3RvcnkiLCJMaW5lQ2hhcnRDb21wb25lbnQiLCJfcmVmMiIsImJydXNoQ29tcG9uZW50IiwiYnJ1c2hpbmciLCJjb2xvciIsImVuYWJsZUNoYXJ0SG92ZXIiLCJoZWlnaHQiLCJob3ZlcmVkRFAiLCJpc0VubGFyZ2VkIiwibGluZUNoYXJ0IiwibWFyZ2luIiwib25Nb3VzZU1vdmUiLCJ3aWR0aCIsInRpbWV6b25lIiwidGltZUZvcm1hdCIsInJhbmdlIiwieUF4aXNBdXRvUmFuZ2UiLCJzdmdSZWYiLCJ1c2VSZWYiLCJfcmVmMyIsInlEb21haW4iLCJ4RG9tYWluIiwic2VyaWVzIiwibGluZUNvbG9yIiwiYWN0aXZlQ29sb3IiLCJjb21wdXRlZFlEb21haW4iLCJ1c2VNZW1vIiwibGluZXMiLCJ1bmRlZmluZWQiLCJtaW4iLCJtYXgiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImxpbmUiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwicG9pbnQiLCJlcnIiLCJlZmZlY3RpdmVYRG9tYWluIiwiZmlsdGVyZWRZRG9tYWluIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsImluUmFuZ2UiLCJpc0FkamFjZW50VG9SYW5nZSIsInBhZGRlZFlEb21haW4iLCJwYWRkaW5nIiwieFNjYWxlIiwic2NhbGVUaW1lIiwiZG9tYWluIiwiRGF0ZSIsInlTY2FsZSIsInNjYWxlTGluZWFyIiwiaGludEZvcm1hdHRlciIsImRhdGV0aW1lRm9ybWF0dGVyIiwiaXNIb3ZlcmVkRFBWaXNpYmxlIiwiY2xhbXBlZEhvdmVyZWREUCIsIk1hdGgiLCJncmlkTGluZXMiLCJ0aWNrcyIsInlBeGlzVGlja3MiLCJsaW5lUGF0aHMiLCJtYXAiLCJsaW5lRGF0YSIsInBvaW50cyIsInAiLCJjb25jYXQiLCJqb2luIiwiYmlzZWN0WCIsImJpc2VjdG9yIiwiZCIsImxlZnQiLCJmaW5kTmVhcmVzdFBvaW50IiwidXNlQ2FsbGJhY2siLCJtb3VzZVgiLCJ4VmFsdWUiLCJpbnZlcnQiLCJnZXRUaW1lIiwibmVhcmVzdCIsIm1pbkRpc3QiLCJJbmZpbml0eSIsIl9pdGVyYXRvcjQiLCJfc3RlcDQiLCJpZHgiLCJfaSIsIl9hcnIiLCJkaXN0IiwiYWJzIiwiaGFuZGxlTW91c2VNb3ZlIiwiX3NlcmllcyRtYXJrZXJzIiwibWFya2VycyIsInN2ZyIsImN1cnJlbnQiLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY2xpZW50WCIsImhhbmRsZU1vdXNlTGVhdmUiLCJoaW50UG9zaXRpb24iLCJ0b3AiLCJzdHlsZSIsIm1hcmdpblRvcCIsInJlZiIsIm9uTW91c2VMZWF2ZSIsIm92ZXJmbG93IiwidGljayIsImtleSIsIngxIiwieDIiLCJ5MSIsInkyIiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwiY3giLCJjeSIsInRleHRBbmNob3IiLCJkb21pbmFudEJhc2VsaW5lIiwicG9zaXRpb24iLCJfZXh0ZW5kczIiLCJ3aXRoVGhlbWUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL2xpbmUtY2hhcnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vLCB1c2VSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7c2NhbGVUaW1lLCBzY2FsZUxpbmVhcn0gZnJvbSAnZDMtc2NhbGUnO1xuaW1wb3J0IHtiaXNlY3Rvcn0gZnJvbSAnZDMtYXJyYXknO1xuaW1wb3J0IHtMaW5lQ2hhcnR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCwge3dpdGhUaGVtZX0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtkYXRldGltZUZvcm1hdHRlcn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZVNlcmllc1BvaW50IHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG59XG5cbmNvbnN0IExpbmVDaGFydFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmxpbmUtY2hhcnRfX2dyaWQtbGluZSB7XG4gICAgc3Ryb2tlOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmhpc3RvZ3JhbUZpbGxPdXRSYW5nZX07XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMXB4IDRweDtcbiAgfVxuXG4gIC5saW5lLWNoYXJ0X19heGlzLXRpY2sge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIGZpbGw6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkSGludCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICNkM2Q4ZTA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBmb250LXNpemU6IDlweDtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDNweCA2cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuYDtcblxuaW50ZXJmYWNlIEhpbnRDb250ZW50UHJvcHMge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgZm9ybWF0OiAodHM6IG51bWJlcikgPT4gc3RyaW5nO1xufVxuXG5jb25zdCBIaW50Q29udGVudCA9ICh7eCwgeSwgZm9ybWF0fTogSGludENvbnRlbnRQcm9wcykgPT4gKFxuICA8U3R5bGVkSGludD5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cImhpbnQtLXhcIj57Zm9ybWF0KHgpfTwvZGl2PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+e3l9PC9kaXY+XG4gIDwvU3R5bGVkSGludD5cbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG92ZXJEUCB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICBjb2xvcj86IHN0cmluZyB8IG51bWJlcjtcbiAgb3BhY2l0eT86IHN0cmluZyB8IG51bWJlcjtcbiAgc3Ryb2tlPzogc3RyaW5nIHwgbnVtYmVyO1xuICBmaWxsPzogc3RyaW5nIHwgbnVtYmVyO1xuICBzaXplPzogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgTGluZUNoYXJ0UHJvcHMge1xuICBicnVzaENvbXBvbmVudD86IGFueTtcbiAgYnJ1c2hpbmc/OiBib29sZWFuO1xuICBjb2xvcj86IHN0cmluZztcbiAgZW5hYmxlQ2hhcnRIb3Zlcj86IGJvb2xlYW47XG4gIGhlaWdodDogbnVtYmVyO1xuICBob3ZlcmVkRFA/OiBIb3ZlckRQIHwgbnVsbDtcbiAgaXNFbmxhcmdlZD86IGJvb2xlYW47XG4gIGxpbmVDaGFydD86IExpbmVDaGFydDtcbiAgbWFyZ2luOiB7dG9wPzogbnVtYmVyOyBib3R0b20/OiBudW1iZXI7IGxlZnQ/OiBudW1iZXI7IHJpZ2h0PzogbnVtYmVyfTtcbiAgb25Nb3VzZU1vdmU6IChkYXRhcG9pbnQ6IExpbmVTZXJpZXNQb2ludCB8IG51bGwpID0+IHZvaWQ7XG4gIHZhbHVlPzogbnVtYmVyW107XG4gIHdpZHRoOiBudW1iZXI7XG4gIHRpbWV6b25lPzogc3RyaW5nIHwgbnVsbDtcbiAgdGltZUZvcm1hdD86IHN0cmluZztcbiAgcmFuZ2U/OiBudW1iZXJbXTtcbiAgeUF4aXNBdXRvUmFuZ2U/OiBib29sZWFuO1xuICB0aGVtZT86IGFueTtcbn1cblxuZnVuY3Rpb24gTGluZUNoYXJ0RmFjdG9yeSgpIHtcbiAgY29uc3QgTGluZUNoYXJ0Q29tcG9uZW50ID0gKHtcbiAgICBicnVzaENvbXBvbmVudCxcbiAgICBicnVzaGluZyxcbiAgICBjb2xvcixcbiAgICBlbmFibGVDaGFydEhvdmVyLFxuICAgIGhlaWdodCxcbiAgICBob3ZlcmVkRFAsXG4gICAgaXNFbmxhcmdlZCxcbiAgICBsaW5lQ2hhcnQsXG4gICAgbWFyZ2luLFxuICAgIG9uTW91c2VNb3ZlLFxuICAgIHZhbHVlLFxuICAgIHdpZHRoLFxuICAgIHRpbWV6b25lLFxuICAgIHRpbWVGb3JtYXQsXG4gICAgcmFuZ2UsXG4gICAgeUF4aXNBdXRvUmFuZ2UsXG4gICAgdGhlbWVcbiAgfTogTGluZUNoYXJ0UHJvcHMpID0+IHtcbiAgICBjb25zdCBzdmdSZWYgPSB1c2VSZWY8U1ZHU1ZHRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3Qge3lEb21haW4sIHhEb21haW59ID0gbGluZUNoYXJ0IHx8IHt9O1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3Igc2VlbXMgbGluZUNoYXJ0LnNlcmllcyBoYXMgYW1iaWd1b3VzIHR5cGVzLiBSZXF1aXJlcyByZWZhY3RvcmluZy5cbiAgICBjb25zdCBzZXJpZXM6IHtsaW5lczogYW55W107IG1hcmtlcnM6IGFueVtdfSA9IGxpbmVDaGFydD8uc2VyaWVzO1xuXG4gICAgY29uc3QgbGluZUNvbG9yID0gY29sb3IgfHwgKHRoZW1lICYmIHRoZW1lLmFjdGl2ZUNvbG9yKSB8fCAnIzNBNDE0Qyc7XG5cbiAgICBjb25zdCBjb21wdXRlZFlEb21haW4gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICh5RG9tYWluICYmIHlEb21haW5bMF0gIT0gbnVsbCAmJiB5RG9tYWluWzFdICE9IG51bGwpIHJldHVybiB5RG9tYWluO1xuICAgICAgaWYgKCFzZXJpZXM/LmxpbmVzKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgbGV0IG1pbjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgbGV0IG1heDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgZm9yIChjb25zdCBsaW5lIG9mIHNlcmllcy5saW5lcykge1xuICAgICAgICBmb3IgKGNvbnN0IHBvaW50IG9mIGxpbmUpIHtcbiAgICAgICAgICBpZiAocG9pbnQueSAhPSBudWxsKSB7XG4gICAgICAgICAgICBpZiAobWluID09PSB1bmRlZmluZWQgfHwgcG9pbnQueSA8IG1pbikgbWluID0gcG9pbnQueTtcbiAgICAgICAgICAgIGlmIChtYXggPT09IHVuZGVmaW5lZCB8fCBwb2ludC55ID4gbWF4KSBtYXggPSBwb2ludC55O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG1pbiAhPT0gdW5kZWZpbmVkICYmIG1heCAhPT0gdW5kZWZpbmVkID8gW21pbiwgbWF4XSA6IHVuZGVmaW5lZDtcbiAgICB9LCBbeURvbWFpbiwgc2VyaWVzXSk7XG5cbiAgICBjb25zdCBlZmZlY3RpdmVYRG9tYWluID0gdXNlTWVtbyhcbiAgICAgICgpID0+IChyYW5nZSAmJiByYW5nZS5sZW5ndGggPT09IDIgPyByYW5nZSA6IHhEb21haW4pLFxuICAgICAgW3JhbmdlLCB4RG9tYWluXVxuICAgICk7XG5cbiAgICBjb25zdCBmaWx0ZXJlZFlEb21haW4gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICgheUF4aXNBdXRvUmFuZ2UgfHwgIXNlcmllcz8ubGluZXMgfHwgIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA8IDIpIHJldHVybiBjb21wdXRlZFlEb21haW47XG4gICAgICBsZXQgbWluOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICBsZXQgbWF4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICBmb3IgKGNvbnN0IGxpbmUgb2Ygc2VyaWVzLmxpbmVzKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGluZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNvbnN0IHBvaW50ID0gbGluZVtpXTtcbiAgICAgICAgICBjb25zdCBpblJhbmdlID0gcG9pbnQueCA+PSB2YWx1ZVswXSAmJiBwb2ludC54IDw9IHZhbHVlWzFdO1xuICAgICAgICAgIGNvbnN0IGlzQWRqYWNlbnRUb1JhbmdlID1cbiAgICAgICAgICAgICghaW5SYW5nZSAmJiBsaW5lW2kgKyAxXSAmJiBsaW5lW2kgKyAxXS54ID49IHZhbHVlWzBdICYmIGxpbmVbaSArIDFdLnggPD0gdmFsdWVbMV0pIHx8XG4gICAgICAgICAgICAoIWluUmFuZ2UgJiYgbGluZVtpIC0gMV0gJiYgbGluZVtpIC0gMV0ueCA+PSB2YWx1ZVswXSAmJiBsaW5lW2kgLSAxXS54IDw9IHZhbHVlWzFdKTtcbiAgICAgICAgICBpZiAoKGluUmFuZ2UgfHwgaXNBZGphY2VudFRvUmFuZ2UpICYmIHBvaW50LnkgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKG1pbiA9PT0gdW5kZWZpbmVkIHx8IHBvaW50LnkgPCBtaW4pIG1pbiA9IHBvaW50Lnk7XG4gICAgICAgICAgICBpZiAobWF4ID09PSB1bmRlZmluZWQgfHwgcG9pbnQueSA+IG1heCkgbWF4ID0gcG9pbnQueTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBtaW4gIT09IHVuZGVmaW5lZCAmJiBtYXggIT09IHVuZGVmaW5lZCA/IFttaW4sIG1heF0gOiBjb21wdXRlZFlEb21haW47XG4gICAgfSwgW3NlcmllcywgdmFsdWUsIGNvbXB1dGVkWURvbWFpbiwgeUF4aXNBdXRvUmFuZ2VdKTtcblxuICAgIGNvbnN0IHBhZGRlZFlEb21haW4gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICghZmlsdGVyZWRZRG9tYWluIHx8IGZpbHRlcmVkWURvbWFpblswXSA9PSBudWxsIHx8IGZpbHRlcmVkWURvbWFpblsxXSA9PSBudWxsKSByZXR1cm4gW107XG4gICAgICBjb25zdCBwYWRkaW5nID0gKGZpbHRlcmVkWURvbWFpblsxXSAtIGZpbHRlcmVkWURvbWFpblswXSkgKiAwLjE7XG4gICAgICByZXR1cm4gW2ZpbHRlcmVkWURvbWFpblswXSAtIHBhZGRpbmcsIGZpbHRlcmVkWURvbWFpblsxXSArIHBhZGRpbmddO1xuICAgIH0sIFtmaWx0ZXJlZFlEb21haW5dKTtcblxuICAgIGNvbnN0IHhTY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKCFlZmZlY3RpdmVYRG9tYWluIHx8IGVmZmVjdGl2ZVhEb21haW4ubGVuZ3RoIDwgMikgcmV0dXJuIG51bGw7XG4gICAgICByZXR1cm4gc2NhbGVUaW1lKClcbiAgICAgICAgLmRvbWFpbihbbmV3IERhdGUoZWZmZWN0aXZlWERvbWFpblswXSksIG5ldyBEYXRlKGVmZmVjdGl2ZVhEb21haW5bMV0pXSlcbiAgICAgICAgLnJhbmdlKFswLCB3aWR0aF0pO1xuICAgIH0sIFtlZmZlY3RpdmVYRG9tYWluLCB3aWR0aF0pO1xuXG4gICAgY29uc3QgeVNjYWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoIXBhZGRlZFlEb21haW4gfHwgcGFkZGVkWURvbWFpbi5sZW5ndGggPCAyKSByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiBzY2FsZUxpbmVhcigpLmRvbWFpbihwYWRkZWRZRG9tYWluKS5yYW5nZShbaGVpZ2h0LCAwXSk7XG4gICAgfSwgW3BhZGRlZFlEb21haW4sIGhlaWdodF0pO1xuXG4gICAgY29uc3QgaGludEZvcm1hdHRlciA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiBkYXRldGltZUZvcm1hdHRlcih0aW1lem9uZSkodGltZUZvcm1hdCksXG4gICAgICBbdGltZXpvbmUsIHRpbWVGb3JtYXRdXG4gICAgKTtcblxuICAgIGNvbnN0IGlzSG92ZXJlZERQVmlzaWJsZSA9IGhvdmVyZWREUFxuICAgICAgPyAheUF4aXNBdXRvUmFuZ2UgfHxcbiAgICAgICAgIXBhZGRlZFlEb21haW4gfHxcbiAgICAgICAgcGFkZGVkWURvbWFpbi5sZW5ndGggPCAyIHx8XG4gICAgICAgIChob3ZlcmVkRFAueSA+PSBwYWRkZWRZRG9tYWluWzBdICYmIGhvdmVyZWREUC55IDw9IHBhZGRlZFlEb21haW5bMV0pXG4gICAgICA6IGZhbHNlO1xuXG4gICAgY29uc3QgY2xhbXBlZEhvdmVyZWREUCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKCFob3ZlcmVkRFAgfHwgIXBhZGRlZFlEb21haW4gfHwgcGFkZGVkWURvbWFpbi5sZW5ndGggPCAyKSByZXR1cm4gaG92ZXJlZERQO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaG92ZXJlZERQLFxuICAgICAgICB5OiBNYXRoLm1heChwYWRkZWRZRG9tYWluWzBdLCBNYXRoLm1pbihwYWRkZWRZRG9tYWluWzFdLCBob3ZlcmVkRFAueSkpXG4gICAgICB9O1xuICAgIH0sIFtob3ZlcmVkRFAsIHBhZGRlZFlEb21haW5dKTtcblxuICAgIGNvbnN0IGdyaWRMaW5lcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKCF5U2NhbGUpIHJldHVybiBbXTtcbiAgICAgIHJldHVybiB5U2NhbGUudGlja3MoMyk7XG4gICAgfSwgW3lTY2FsZV0pO1xuXG4gICAgY29uc3QgeUF4aXNUaWNrcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKCF5U2NhbGUpIHJldHVybiBbXTtcbiAgICAgIHJldHVybiB5U2NhbGUudGlja3MoMyk7XG4gICAgfSwgW3lTY2FsZV0pO1xuXG4gICAgY29uc3QgbGluZVBhdGhzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAoIXhTY2FsZSB8fCAheVNjYWxlIHx8ICFzZXJpZXM/LmxpbmVzKSByZXR1cm4gW107XG4gICAgICByZXR1cm4gc2VyaWVzLmxpbmVzLm1hcChsaW5lRGF0YSA9PiB7XG4gICAgICAgIGNvbnN0IHBvaW50cyA9IGxpbmVEYXRhXG4gICAgICAgICAgLmZpbHRlcihwID0+IHAueCAhPSBudWxsICYmIHAueSAhPSBudWxsKVxuICAgICAgICAgIC5tYXAocCA9PiBgJHt4U2NhbGUobmV3IERhdGUocC54KSl9LCR7eVNjYWxlKHAueSl9YCk7XG4gICAgICAgIHJldHVybiBwb2ludHMubGVuZ3RoID4gMSA/IGBNJHtwb2ludHMuam9pbignTCcpfWAgOiAnJztcbiAgICAgIH0pO1xuICAgIH0sIFt4U2NhbGUsIHlTY2FsZSwgc2VyaWVzXSk7XG5cbiAgICBjb25zdCBiaXNlY3RYID0gdXNlTWVtbygoKSA9PiBiaXNlY3RvcjxMaW5lU2VyaWVzUG9pbnQsIG51bWJlcj4oZCA9PiBkLngpLmxlZnQsIFtdKTtcblxuICAgIGNvbnN0IGZpbmROZWFyZXN0UG9pbnQgPSB1c2VDYWxsYmFjayhcbiAgICAgIChtb3VzZVg6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoIXhTY2FsZSB8fCAhc2VyaWVzPy5saW5lcykgcmV0dXJuIG51bGw7XG4gICAgICAgIGNvbnN0IHhWYWx1ZSA9IHhTY2FsZS5pbnZlcnQobW91c2VYKS5nZXRUaW1lKCk7XG4gICAgICAgIGxldCBuZWFyZXN0OiBMaW5lU2VyaWVzUG9pbnQgfCBudWxsID0gbnVsbDtcbiAgICAgICAgbGV0IG1pbkRpc3QgPSBJbmZpbml0eTtcbiAgICAgICAgZm9yIChjb25zdCBsaW5lIG9mIHNlcmllcy5saW5lcykge1xuICAgICAgICAgIGlmIChsaW5lLmxlbmd0aCA9PT0gMCkgY29udGludWU7XG4gICAgICAgICAgY29uc3QgaWR4ID0gYmlzZWN0WChsaW5lLCB4VmFsdWUpO1xuICAgICAgICAgIC8vIENoZWNrIHRoZSB0d28gY2FuZGlkYXRlcyBhcm91bmQgdGhlIGJpc2VjdGlvbiBwb2ludFxuICAgICAgICAgIGZvciAoY29uc3QgaSBvZiBbaWR4IC0gMSwgaWR4XSkge1xuICAgICAgICAgICAgaWYgKGkgPj0gMCAmJiBpIDwgbGluZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgY29uc3QgZGlzdCA9IE1hdGguYWJzKGxpbmVbaV0ueCAtIHhWYWx1ZSk7XG4gICAgICAgICAgICAgIGlmIChkaXN0IDwgbWluRGlzdCkge1xuICAgICAgICAgICAgICAgIG1pbkRpc3QgPSBkaXN0O1xuICAgICAgICAgICAgICAgIG5lYXJlc3QgPSBsaW5lW2ldO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZWFyZXN0O1xuICAgICAgfSxcbiAgICAgIFt4U2NhbGUsIHNlcmllcywgYmlzZWN0WF1cbiAgICApO1xuXG4gICAgY29uc3QgaGFuZGxlTW91c2VNb3ZlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZTogUmVhY3QuTW91c2VFdmVudDxTVkdTVkdFbGVtZW50PikgPT4ge1xuICAgICAgICBpZiAoIWVuYWJsZUNoYXJ0SG92ZXIgfHwgc2VyaWVzPy5tYXJrZXJzPy5sZW5ndGgpIHJldHVybjtcbiAgICAgICAgY29uc3Qgc3ZnID0gc3ZnUmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmICghc3ZnKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHJlY3QgPSBzdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IG1vdXNlWCA9IGUuY2xpZW50WCAtIHJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgbmVhcmVzdCA9IGZpbmROZWFyZXN0UG9pbnQobW91c2VYKTtcbiAgICAgICAgb25Nb3VzZU1vdmUobmVhcmVzdCk7XG4gICAgICB9LFxuICAgICAgW2VuYWJsZUNoYXJ0SG92ZXIsIHNlcmllcywgZmluZE5lYXJlc3RQb2ludCwgb25Nb3VzZU1vdmVdXG4gICAgKTtcblxuICAgIGNvbnN0IGhhbmRsZU1vdXNlTGVhdmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBvbk1vdXNlTW92ZShudWxsKTtcbiAgICB9LCBbb25Nb3VzZU1vdmVdKTtcblxuICAgIGNvbnN0IGhpbnRQb3NpdGlvbiA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKCFjbGFtcGVkSG92ZXJlZERQIHx8ICF4U2NhbGUgfHwgIXlTY2FsZSkgcmV0dXJuIG51bGw7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBsZWZ0OiB4U2NhbGUobmV3IERhdGUoY2xhbXBlZEhvdmVyZWREUC54KSksXG4gICAgICAgIHRvcDogeVNjYWxlKGNsYW1wZWRIb3ZlcmVkRFAueSlcbiAgICAgIH07XG4gICAgfSwgW2NsYW1wZWRIb3ZlcmVkRFAsIHhTY2FsZSwgeVNjYWxlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPExpbmVDaGFydFdyYXBwZXIgc3R5bGU9e3ttYXJnaW5Ub3A6IGAke21hcmdpbi50b3B9cHhgfX0+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICByZWY9e3N2Z1JlZn1cbiAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgb25Nb3VzZU1vdmU9e2hhbmRsZU1vdXNlTW92ZX1cbiAgICAgICAgICBvbk1vdXNlTGVhdmU9e2hhbmRsZU1vdXNlTGVhdmV9XG4gICAgICAgICAgc3R5bGU9e3tvdmVyZmxvdzogJ3Zpc2libGUnfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtncmlkTGluZXMubWFwKCh0aWNrLCBpKSA9PiAoXG4gICAgICAgICAgICA8bGluZVxuICAgICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxpbmUtY2hhcnRfX2dyaWQtbGluZVwiXG4gICAgICAgICAgICAgIHgxPXswfVxuICAgICAgICAgICAgICB4Mj17d2lkdGh9XG4gICAgICAgICAgICAgIHkxPXt5U2NhbGUhKHRpY2spfVxuICAgICAgICAgICAgICB5Mj17eVNjYWxlISh0aWNrKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAge2xpbmVQYXRocy5tYXAoKGQsIGkpID0+IChcbiAgICAgICAgICAgIDxwYXRoIGtleT17aX0gZD17ZH0gZmlsbD1cIm5vbmVcIiBzdHJva2U9e2xpbmVDb2xvcn0gc3Ryb2tlV2lkdGg9ezF9IC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAge2lzSG92ZXJlZERQVmlzaWJsZSAmJiBob3ZlcmVkRFAgJiYgeFNjYWxlICYmIHlTY2FsZSAmJiAoXG4gICAgICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgICAgIGN4PXt4U2NhbGUobmV3IERhdGUoaG92ZXJlZERQLngpKX1cbiAgICAgICAgICAgICAgY3k9e3lTY2FsZShob3ZlcmVkRFAueSl9XG4gICAgICAgICAgICAgIHI9ezR9XG4gICAgICAgICAgICAgIGZpbGw9e2xpbmVDb2xvcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7aXNFbmxhcmdlZCAmJlxuICAgICAgICAgICAgeUF4aXNUaWNrcy5tYXAoKHRpY2ssIGkpID0+IChcbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGluZS1jaGFydF9fYXhpcy10aWNrXCJcbiAgICAgICAgICAgICAgICB4PXstNH1cbiAgICAgICAgICAgICAgICB5PXt5U2NhbGUhKHRpY2spfVxuICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJlbmRcIlxuICAgICAgICAgICAgICAgIGRvbWluYW50QmFzZWxpbmU9XCJtaWRkbGVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RpY2t9XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIHticnVzaENvbXBvbmVudH1cbiAgICAgICAgPC9zdmc+XG4gICAgICAgIHtjbGFtcGVkSG92ZXJlZERQICYmIGVuYWJsZUNoYXJ0SG92ZXIgJiYgIWJydXNoaW5nICYmIGhpbnRQb3NpdGlvbiA/IChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7cG9zaXRpb246ICdhYnNvbHV0ZScsIGxlZnQ6IGhpbnRQb3NpdGlvbi5sZWZ0LCB0b3A6IGhpbnRQb3NpdGlvbi50b3B9fT5cbiAgICAgICAgICAgIDxIaW50Q29udGVudCB7Li4uaG92ZXJlZERQIX0gZm9ybWF0PXtoaW50Rm9ybWF0dGVyfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvTGluZUNoYXJ0V3JhcHBlcj5cbiAgICApO1xuICB9O1xuICByZXR1cm4gd2l0aFRoZW1lKExpbmVDaGFydENvbXBvbmVudCkgYXMgUmVhY3QuRkM8T21pdDxMaW5lQ2hhcnRQcm9wcywgJ3RoZW1lJz4+O1xufVxuXG5leHBvcnQgZGVmYXVsdCBMaW5lQ2hhcnRGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLGlCQUFBLEdBQUFKLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFBbUQsSUFBQUssZUFBQSxFQUFBQyxnQkFBQSxFQVJuRDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFULHdCQUFBUyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVB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
@@ -1,12 +1,18 @@
1
- import React, { Component, ReactNode, PropsWithChildren } from 'react';
1
+ import React, { Component, ReactNode } from 'react';
2
2
  import { css } from 'styled-components';
3
3
  import Modal from 'react-modal';
4
4
  type CssStyleType = ReturnType<typeof css>;
5
- type ModalTitleProps = PropsWithChildren<{
5
+ export declare const ModalTitle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "className" | "style" | "children"> & {
6
6
  style?: React.CSSProperties;
7
7
  className?: string;
8
- }>;
9
- export declare const ModalTitle: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ModalTitleProps>>;
8
+ } & {
9
+ children?: ReactNode | undefined;
10
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "className" | "style" | "children"> & {
11
+ style?: React.CSSProperties;
12
+ className?: string;
13
+ } & {
14
+ children?: ReactNode | undefined;
15
+ }, never>>> & string;
10
16
  type ModalButtonProps = {
11
17
  style?: React.CSSProperties;
12
18
  large?: boolean;
@@ -60,5 +66,5 @@ export declare class ModalDialog extends Component<ModalDialogProps> {
60
66
  };
61
67
  render(): React.JSX.Element;
62
68
  }
63
- declare const StyledModal: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<ModalDialogOwnProps & Omit<Modal.Props, "className" | "style" | "ariaHideApp"> & React.RefAttributes<ModalDialog>, never>> & Omit<typeof ModalDialog, keyof React.Component<any, {}, any>>;
69
+ declare const StyledModal: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<ModalDialogOwnProps & Omit<Modal.Props, "className" | "style" | "ariaHideApp"> & React.RefAttributes<ModalDialog>, never> & Partial<Pick<ModalDialogOwnProps & Omit<Modal.Props, "className" | "style" | "ariaHideApp"> & React.RefAttributes<ModalDialog>, never>>> & string & Omit<typeof ModalDialog, keyof React.Component<any, {}, any>>;
64
70
  export default StyledModal;
@@ -168,4 +168,4 @@ var StyledModal = (0, _styledComponents["default"])(ModalDialog)(_templateObject
168
168
  return props.theme.transition;
169
169
  }, _styles.media.portable(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n padding-left: 24px;\n padding-right: 24px;\n "]))), _styles.media.palm(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n padding-left: 0;\n padding-right: 0;\n "]))));
170
170
  var _default = exports["default"] = StyledModal;
171
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbG9jYWxpemF0aW9uIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0TW9kYWwiLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfc3R5bGVzIiwiX2V4Y2x1ZGVkIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QxMCIsIl90ZW1wbGF0ZU9iamVjdDExIiwiX3RlbXBsYXRlT2JqZWN0MTIiLCJfdGVtcGxhdGVPYmplY3QxMyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9jYWxsU3VwZXIiLCJvIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiTW9kYWxDb250ZW50V3JhcHBlciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsInRyYW5zaXRpb24iLCJsYWJlbENvbG9yTFQiLCJtZWRpYSIsInBvcnRhYmxlIiwicGFsbSIsImNzc1N0eWxlIiwiTW9kYWxDb250ZW50IiwibW9kYWxDb250ZW50WiIsIk1vZGFsVGl0bGUiLCJleHBvcnRzIiwibW9kYWxUaXRsZUZvbnRTaXplIiwibW9kYWxUaXRsZUNvbG9yIiwibW9kYWxUaXRsZVoiLCJTdHlsZWRNb2RhbEZvb3RlciIsIm1vZGFsRm9vdGVyWiIsIkNsb3NlQnV0dG9uIiwidGl0bGVDb2xvckxUIiwibW9kYWxCdXR0b25aIiwiRm9vdGVyQWN0aW9uV3JhcHBlciIsImRlZmF1bHRDYW5jZWxCdXR0b24iLCJsaW5rIiwibGFyZ2UiLCJjaGlsZHJlbiIsImRlZmF1bHRDb25maXJtQnV0dG9uIiwiY3RhIiwid2lkdGgiLCJwcm9jZXNzRGlzYWJsZWRQcm9wZXJ0eSIsImRpc2FibGVkIiwibmV3UHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiTW9kYWxGb290ZXIiLCJfcmVmIiwiX2NhbmNlbEJ1dHRvblByb3BzJGNoIiwiX2NvbmZpcm1CdXR0b25Qcm9wcyRjIiwiY2FuY2VsIiwiY29uZmlybSIsImNhbmNlbEJ1dHRvbiIsImNvbmZpcm1CdXR0b24iLCJjYW5jZWxCdXR0b25Qcm9wcyIsImNvbmZpcm1CdXR0b25Qcm9wcyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJCdXR0b24iLCJfZXh0ZW5kczIiLCJvbkNsaWNrIiwiRm9ybWF0dGVkTWVzc2FnZSIsImlkIiwiTW9kYWxEaWFsb2ciLCJfQ29tcG9uZW50IiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJyZW5kZXIiLCJ0ZXN0SWQiLCJhcmlhSGlkZUFwcCIsInN0eWxlIiwib3ZlcmxheSIsImJhY2tncm91bmRDb2xvciIsIm1vZGFsT3ZlcmxheUJnZCIsInpJbmRleCIsIm1vZGFsT3ZlckxheVoiLCJjbG9zZSIsIm9uQ2FuY2VsIiwiRGVsZXRlIiwiaGVpZ2h0IiwidGl0bGUiLCJmb290ZXIiLCJvbkNvbmZpcm0iLCJDb21wb25lbnQiLCJTdHlsZWRNb2RhbCIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9tb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBSZWFjdE5vZGUsIFByb3BzV2l0aENoaWxkcmVufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcblxuaW1wb3J0IHN0eWxlZCwge2Nzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IE1vZGFsIGZyb20gJ3JlYWN0LW1vZGFsJztcbmltcG9ydCB7RGVsZXRlfSBmcm9tICcuL2ljb25zJztcbmltcG9ydCB7QnV0dG9ufSBmcm9tICcuL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcblxudHlwZSBDc3NTdHlsZVR5cGUgPSBSZXR1cm5UeXBlPHR5cGVvZiBjc3M+O1xuXG5pbnRlcmZhY2UgTW9kYWxDb250ZW50V3JhcHBlclByb3BzIHtcbiAgY3NzU3R5bGU/OiBDc3NTdHlsZVR5cGUgfCBzdHJpbmc7XG59XG5cbmNvbnN0IE1vZGFsQ29udGVudFdyYXBwZXIgPSBzdHlsZWQuZGl2PE1vZGFsQ29udGVudFdyYXBwZXJQcm9wcz5gXG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC13aWR0aDogNzB2dztcbiAgbWF4LWhlaWdodDogODV2aDtcbiAgcGFkZGluZzogMjRweCA3MnB4IDQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA5MnB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yTFR9O1xuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgcGFkZGluZzogMTJweCAzNnB4IDI0cHg7XG4gICAgbWF4LXdpZHRoOiA4MHZ3O1xuICBgfVxuXG4gICR7bWVkaWEucGFsbWBcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBgfVxuXG4gICR7cHJvcHMgPT4gcHJvcHMuY3NzU3R5bGUgfHwgJyd9O1xuYDtcblxuY29uc3QgTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsQ29udGVudFp9O1xuYDtcblxudHlwZSBNb2RhbFRpdGxlUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIHN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufT47XG5cbmV4cG9ydCBjb25zdCBNb2RhbFRpdGxlID0gc3R5bGVkLmRpdjxNb2RhbFRpdGxlUHJvcHM+YFxuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxUaXRsZUZvbnRTaXplfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxUaXRsZUNvbG9yfTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsVGl0bGVafTtcbmA7XG5cbmNvbnN0IFN0eWxlZE1vZGFsRm9vdGVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgcGFkZGluZy10b3A6IDI0cHg7XG4gIGB9O1xuXG4gICR7bWVkaWEucGFsbWBcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgYH07XG4gIHotaW5kZXg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxGb290ZXJafTtcbmA7XG5cbmNvbnN0IENsb3NlQnV0dG9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGl0bGVDb2xvckxUfTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgei1pbmRleDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbEJ1dHRvblp9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjRweDtcbiAgcmlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5jb25zdCBGb290ZXJBY3Rpb25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IGRlZmF1bHRDYW5jZWxCdXR0b24gPSB7XG4gIGxpbms6IHRydWUsXG4gIGxhcmdlOiB0cnVlLFxuICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5kZWZhdWx0Q2FuY2VsJ1xufTtcblxuY29uc3QgZGVmYXVsdENvbmZpcm1CdXR0b24gPSB7XG4gIGN0YTogdHJ1ZSxcbiAgbGFyZ2U6IHRydWUsXG4gIHdpZHRoOiAnMTYwcHgnLFxuICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5kZWZhdWx0Q29uZmlybSdcbn07XG5cbnR5cGUgTW9kYWxCdXR0b25Qcm9wcyA9IHtcbiAgc3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xuICBsYXJnZT86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgbmVnYXRpdmU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IHN0cmluZztcbn07XG5cbnR5cGUgTW9kYWxGb290ZXJQcm9wcyA9IHtcbiAgY2FuY2VsOiAoKSA9PiB2b2lkO1xuICBjb25maXJtOiAoZGF0YT86IGFueSkgPT4gdm9pZDtcbiAgY2FuY2VsQnV0dG9uPzogTW9kYWxCdXR0b25Qcm9wcztcbiAgY29uZmlybUJ1dHRvbj86IE1vZGFsQnV0dG9uUHJvcHM7XG59O1xuXG4vKipcbiAqIHRoaXMgbWV0aG9kIHJlbW92ZXMgdGhlIGBkaXNhYmxlZGAgcHJvcGVydHkgZnJvbSBidXR0b24gcHJvcHMgd2hlbiBkaXNhYmxlZCBpcyBzZXQgdG8gZmFsc2VcbiAqIHRvIGF2b2lkIGlzc3VlIHdpdGggdGhlIGRpc2FibGVkIHRhZ1xuICpcbiAqIEBwYXJhbSBwcm9wc1xuICovXG5jb25zdCBwcm9jZXNzRGlzYWJsZWRQcm9wZXJ0eSA9IChwcm9wczogTW9kYWxCdXR0b25Qcm9wcyk6IE1vZGFsQnV0dG9uUHJvcHMgPT4ge1xuICBpZiAoIXByb3BzLmRpc2FibGVkKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IHtkaXNhYmxlZCwgLi4ubmV3UHJvcHN9ID0gcHJvcHM7XG4gICAgcmV0dXJuIG5ld1Byb3BzO1xuICB9XG4gIHJldHVybiBwcm9wcztcbn07XG5cbmV4cG9ydCBjb25zdCBNb2RhbEZvb3RlcjogUmVhY3QuRkM8TW9kYWxGb290ZXJQcm9wcz4gPSAoe1xuICBjYW5jZWwsXG4gIGNvbmZpcm0sXG4gIGNhbmNlbEJ1dHRvbixcbiAgY29uZmlybUJ1dHRvblxufSkgPT4ge1xuICBjb25zdCBjYW5jZWxCdXR0b25Qcm9wcyA9IHByb2Nlc3NEaXNhYmxlZFByb3BlcnR5KHtcbiAgICAuLi5kZWZhdWx0Q2FuY2VsQnV0dG9uLFxuICAgIC4uLmNhbmNlbEJ1dHRvblxuICB9KTtcbiAgY29uc3QgY29uZmlybUJ1dHRvblByb3BzID0gcHJvY2Vzc0Rpc2FibGVkUHJvcGVydHkoey4uLmRlZmF1bHRDb25maXJtQnV0dG9uLCAuLi5jb25maXJtQnV0dG9ufSk7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZE1vZGFsRm9vdGVyIGNsYXNzTmFtZT1cIm1vZGFsLS1mb290ZXJcIj5cbiAgICAgIDxGb290ZXJBY3Rpb25XcmFwcGVyPlxuICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cIm1vZGFsLS1mb290ZXItLWNhbmNlbC1idXR0b25cIiB7Li4uY2FuY2VsQnV0dG9uUHJvcHN9IG9uQ2xpY2s9e2NhbmNlbH0+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2NhbmNlbEJ1dHRvblByb3BzLmNoaWxkcmVuID8/ICcnfSAvPlxuICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJtb2RhbC0tZm9vdGVyLS1jb25maXJtLWJ1dHRvblwiIHsuLi5jb25maXJtQnV0dG9uUHJvcHN9IG9uQ2xpY2s9e2NvbmZpcm19PlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtjb25maXJtQnV0dG9uUHJvcHMuY2hpbGRyZW4gPz8gJyd9IC8+XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgPC9Gb290ZXJBY3Rpb25XcmFwcGVyPlxuICAgIDwvU3R5bGVkTW9kYWxGb290ZXI+XG4gICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsRGlhbG9nT3duUHJvcHMge1xuICBmb290ZXI6IGJvb2xlYW47XG4gIGNsb3NlOiBib29sZWFuO1xuICBpc09wZW46IGJvb2xlYW47XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIG9uQ29uZmlybTogKC4uLmFyZ3M6IGFueSkgPT4gdm9pZDtcbiAgb25DYW5jZWw6ICguLi5hcmdzOiBhbnkpID0+IHZvaWQ7XG4gIGNvbmZpcm1CdXR0b24/OiBNb2RhbEJ1dHRvblByb3BzO1xuICBjb25maXJtQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIGNhbmNlbEJ1dHRvbj86IE1vZGFsQnV0dG9uUHJvcHM7XG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICBjc3NTdHlsZT86IENzc1N0eWxlVHlwZSB8IHN0cmluZztcbiAgc3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xuICB0aGVtZTogYW55O1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IHR5cGUgTW9kYWxEaWFsb2dQcm9wcyA9IE1vZGFsRGlhbG9nT3duUHJvcHMgJlxuICBPbWl0PFJlYWN0TW9kYWwuUHJvcHMsICdzdHlsZScgfCAnYXJpYUhpZGVBcHAnIHwgJ2NsYXNzTmFtZSc+O1xuXG5leHBvcnQgY2xhc3MgTW9kYWxEaWFsb2cgZXh0ZW5kcyBDb21wb25lbnQ8TW9kYWxEaWFsb2dQcm9wcz4ge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGZvb3RlcjogZmFsc2UsXG4gICAgY2xvc2U6IHRydWUsXG4gICAgb25Db25maXJtOiAoKSA9PiB7XG4gICAgICByZXR1cm47XG4gICAgfSxcbiAgICBvbkNhbmNlbDogKCkgPT4ge1xuICAgICAgcmV0dXJuO1xuICAgIH0sXG4gICAgY2FuY2VsQnV0dG9uOiBkZWZhdWx0Q2FuY2VsQnV0dG9uLFxuICAgIGNvbmZpcm1CdXR0b246IGRlZmF1bHRDb25maXJtQnV0dG9uLFxuICAgIGNzc1N0eWxlOiBbXVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7cHJvcHN9ID0gdGhpcztcbiAgICByZXR1cm4gKFxuICAgICAgPE1vZGFsXG4gICAgICAgIGNsYXNzTmFtZT17cHJvcHMuY2xhc3NOYW1lfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHRlc3RJZD17cHJvcHNbJ2RhdGEtdGVzdGlkJ119XG4gICAgICAgIGFyaWFIaWRlQXBwPXtmYWxzZX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBvdmVybGF5OiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IChwcm9wcy50aGVtZSAmJiBwcm9wcy50aGVtZS5tb2RhbE92ZXJsYXlCZ2QpIHx8ICdyZ2JhKDAsIDAsIDAsIDAuNSknLFxuICAgICAgICAgICAgekluZGV4OiAocHJvcHMudGhlbWUgJiYgcHJvcHMudGhlbWUubW9kYWxPdmVyTGF5WikgfHwgMTAwMCxcbiAgICAgICAgICAgIC8vIGluIGNhc2Ugd2Ugd2FudCB0byBvdmVycmlkZSB0aGUgbW9kYWwgZGlhbG9nIHN0eWxlXG4gICAgICAgICAgICAuLi5wcm9wcy5zdHlsZVxuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPE1vZGFsQ29udGVudFdyYXBwZXIgY2xhc3NOYW1lPVwibW9kYWwtLXdyYXBwZXJcIiBjc3NTdHlsZT17cHJvcHMuY3NzU3R5bGV9PlxuICAgICAgICAgIHtwcm9wcy5jbG9zZSAmJiAoXG4gICAgICAgICAgICA8Q2xvc2VCdXR0b24gY2xhc3NOYW1lPVwibW9kYWwtLWNsb3NlXCIgb25DbGljaz17cHJvcHMub25DYW5jZWx9PlxuICAgICAgICAgICAgICA8RGVsZXRlIGhlaWdodD1cIjE4cHhcIiAvPlxuICAgICAgICAgICAgPC9DbG9zZUJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7cHJvcHMudGl0bGUgJiYgKFxuICAgICAgICAgICAgICA8TW9kYWxUaXRsZSBjbGFzc05hbWU9XCJtb2RhbC0tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17cHJvcHMudGl0bGV9IC8+XG4gICAgICAgICAgICAgIDwvTW9kYWxUaXRsZT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8TW9kYWxDb250ZW50IGNsYXNzTmFtZT1cIm1vZGFsLS1ib2R5XCI+e3Byb3BzLmNoaWxkcmVufTwvTW9kYWxDb250ZW50PlxuICAgICAgICAgICAge3Byb3BzLmZvb3RlciAmJiAoXG4gICAgICAgICAgICAgIDxNb2RhbEZvb3RlclxuICAgICAgICAgICAgICAgIGNhbmNlbD17cHJvcHMub25DYW5jZWx9XG4gICAgICAgICAgICAgICAgY29uZmlybT17cHJvcHMub25Db25maXJtfVxuICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvbj17cHJvcHMuY2FuY2VsQnV0dG9ufVxuICAgICAgICAgICAgICAgIGNvbmZpcm1CdXR0b249e3Byb3BzLmNvbmZpcm1CdXR0b259XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L01vZGFsQ29udGVudFdyYXBwZXI+XG4gICAgICA8L01vZGFsPlxuICAgICk7XG4gIH1cbn1cblxuY29uc3QgU3R5bGVkTW9kYWwgPSBzdHlsZWQoTW9kYWxEaWFsb2cpYFxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgb3V0bGluZTogbm9uZTtcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBgfTtcblxuICAke21lZGlhLnBhbG1gXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGB9O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IFN0eWxlZE1vZGFsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGFBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxrQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQXdDLElBQUFRLFNBQUE7QUFBQSxJQUFBQyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBVnhDO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQXhCLHdCQUFBd0IsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxH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
171
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbG9jYWxpemF0aW9uIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0TW9kYWwiLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfc3R5bGVzIiwiX2V4Y2x1ZGVkIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QxMCIsIl90ZW1wbGF0ZU9iamVjdDExIiwiX3RlbXBsYXRlT2JqZWN0MTIiLCJfdGVtcGxhdGVPYmplY3QxMyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9jYWxsU3VwZXIiLCJvIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiTW9kYWxDb250ZW50V3JhcHBlciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsInRyYW5zaXRpb24iLCJsYWJlbENvbG9yTFQiLCJtZWRpYSIsInBvcnRhYmxlIiwicGFsbSIsImNzc1N0eWxlIiwiTW9kYWxDb250ZW50IiwibW9kYWxDb250ZW50WiIsIk1vZGFsVGl0bGUiLCJleHBvcnRzIiwibW9kYWxUaXRsZUZvbnRTaXplIiwibW9kYWxUaXRsZUNvbG9yIiwibW9kYWxUaXRsZVoiLCJTdHlsZWRNb2RhbEZvb3RlciIsIm1vZGFsRm9vdGVyWiIsIkNsb3NlQnV0dG9uIiwidGl0bGVDb2xvckxUIiwibW9kYWxCdXR0b25aIiwiRm9vdGVyQWN0aW9uV3JhcHBlciIsImRlZmF1bHRDYW5jZWxCdXR0b24iLCJsaW5rIiwibGFyZ2UiLCJjaGlsZHJlbiIsImRlZmF1bHRDb25maXJtQnV0dG9uIiwiY3RhIiwid2lkdGgiLCJwcm9jZXNzRGlzYWJsZWRQcm9wZXJ0eSIsImRpc2FibGVkIiwibmV3UHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiTW9kYWxGb290ZXIiLCJfcmVmIiwiX2NhbmNlbEJ1dHRvblByb3BzJGNoIiwiX2NvbmZpcm1CdXR0b25Qcm9wcyRjIiwiY2FuY2VsIiwiY29uZmlybSIsImNhbmNlbEJ1dHRvbiIsImNvbmZpcm1CdXR0b24iLCJjYW5jZWxCdXR0b25Qcm9wcyIsImNvbmZpcm1CdXR0b25Qcm9wcyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJCdXR0b24iLCJfZXh0ZW5kczIiLCJvbkNsaWNrIiwiRm9ybWF0dGVkTWVzc2FnZSIsImlkIiwiTW9kYWxEaWFsb2ciLCJfQ29tcG9uZW50IiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJyZW5kZXIiLCJ0ZXN0SWQiLCJhcmlhSGlkZUFwcCIsInN0eWxlIiwib3ZlcmxheSIsImJhY2tncm91bmRDb2xvciIsIm1vZGFsT3ZlcmxheUJnZCIsInpJbmRleCIsIm1vZGFsT3ZlckxheVoiLCJjbG9zZSIsIm9uQ2FuY2VsIiwiRGVsZXRlIiwiaGVpZ2h0IiwidGl0bGUiLCJmb290ZXIiLCJvbkNvbmZpcm0iLCJDb21wb25lbnQiLCJTdHlsZWRNb2RhbCIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9tb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBSZWFjdE5vZGUsIFByb3BzV2l0aENoaWxkcmVufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcblxuaW1wb3J0IHN0eWxlZCwge2Nzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IE1vZGFsIGZyb20gJ3JlYWN0LW1vZGFsJztcbmltcG9ydCB7RGVsZXRlfSBmcm9tICcuL2ljb25zJztcbmltcG9ydCB7QnV0dG9ufSBmcm9tICcuL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcblxudHlwZSBDc3NTdHlsZVR5cGUgPSBSZXR1cm5UeXBlPHR5cGVvZiBjc3M+O1xuXG5pbnRlcmZhY2UgTW9kYWxDb250ZW50V3JhcHBlclByb3BzIHtcbiAgY3NzU3R5bGU/OiBDc3NTdHlsZVR5cGUgfCBzdHJpbmc7XG59XG5cbmNvbnN0IE1vZGFsQ29udGVudFdyYXBwZXIgPSBzdHlsZWQuZGl2PE1vZGFsQ29udGVudFdyYXBwZXJQcm9wcz5gXG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC13aWR0aDogNzB2dztcbiAgbWF4LWhlaWdodDogODV2aDtcbiAgcGFkZGluZzogMjRweCA3MnB4IDQwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA5MnB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yTFR9O1xuXG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgcGFkZGluZzogMTJweCAzNnB4IDI0cHg7XG4gICAgbWF4LXdpZHRoOiA4MHZ3O1xuICBgfVxuXG4gICR7bWVkaWEucGFsbWBcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBgfVxuXG4gICR7cHJvcHMgPT4gcHJvcHMuY3NzU3R5bGUgfHwgJyd9O1xuYDtcblxuY29uc3QgTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsQ29udGVudFp9O1xuYDtcblxudHlwZSBNb2RhbFRpdGxlUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIHN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufT47XG5cbmV4cG9ydCBjb25zdCBNb2RhbFRpdGxlID0gc3R5bGVkLmRpdjxNb2RhbFRpdGxlUHJvcHM+YFxuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxUaXRsZUZvbnRTaXplfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxUaXRsZUNvbG9yfTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsVGl0bGVafTtcbmA7XG5cbmNvbnN0IFN0eWxlZE1vZGFsRm9vdGVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgcGFkZGluZy10b3A6IDI0cHg7XG4gIGB9O1xuXG4gICR7bWVkaWEucGFsbWBcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgYH07XG4gIHotaW5kZXg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxGb290ZXJafTtcbmA7XG5cbmNvbnN0IENsb3NlQnV0dG9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGl0bGVDb2xvckxUfTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgei1pbmRleDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbEJ1dHRvblp9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjRweDtcbiAgcmlnaHQ6IDI0cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5jb25zdCBGb290ZXJBY3Rpb25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbmA7XG5cbmNvbnN0IGRlZmF1bHRDYW5jZWxCdXR0b24gPSB7XG4gIGxpbms6IHRydWUsXG4gIGxhcmdlOiB0cnVlLFxuICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5kZWZhdWx0Q2FuY2VsJ1xufTtcblxuY29uc3QgZGVmYXVsdENvbmZpcm1CdXR0b24gPSB7XG4gIGN0YTogdHJ1ZSxcbiAgbGFyZ2U6IHRydWUsXG4gIHdpZHRoOiAnMTYwcHgnLFxuICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5kZWZhdWx0Q29uZmlybSdcbn07XG5cbnR5cGUgTW9kYWxCdXR0b25Qcm9wcyA9IHtcbiAgc3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xuICBsYXJnZT86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgbmVnYXRpdmU/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IHN0cmluZztcbn07XG5cbnR5cGUgTW9kYWxGb290ZXJQcm9wcyA9IHtcbiAgY2FuY2VsOiAoKSA9PiB2b2lkO1xuICBjb25maXJtOiAoZGF0YT86IGFueSkgPT4gdm9pZDtcbiAgY2FuY2VsQnV0dG9uPzogTW9kYWxCdXR0b25Qcm9wcztcbiAgY29uZmlybUJ1dHRvbj86IE1vZGFsQnV0dG9uUHJvcHM7XG59O1xuXG4vKipcbiAqIHRoaXMgbWV0aG9kIHJlbW92ZXMgdGhlIGBkaXNhYmxlZGAgcHJvcGVydHkgZnJvbSBidXR0b24gcHJvcHMgd2hlbiBkaXNhYmxlZCBpcyBzZXQgdG8gZmFsc2VcbiAqIHRvIGF2b2lkIGlzc3VlIHdpdGggdGhlIGRpc2FibGVkIHRhZ1xuICpcbiAqIEBwYXJhbSBwcm9wc1xuICovXG5jb25zdCBwcm9jZXNzRGlzYWJsZWRQcm9wZXJ0eSA9IChwcm9wczogTW9kYWxCdXR0b25Qcm9wcyk6IE1vZGFsQnV0dG9uUHJvcHMgPT4ge1xuICBpZiAoIXByb3BzLmRpc2FibGVkKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IHtkaXNhYmxlZCwgLi4ubmV3UHJvcHN9ID0gcHJvcHM7XG4gICAgcmV0dXJuIG5ld1Byb3BzO1xuICB9XG4gIHJldHVybiBwcm9wcztcbn07XG5cbmV4cG9ydCBjb25zdCBNb2RhbEZvb3RlcjogUmVhY3QuRkM8TW9kYWxGb290ZXJQcm9wcz4gPSAoe1xuICBjYW5jZWwsXG4gIGNvbmZpcm0sXG4gIGNhbmNlbEJ1dHRvbixcbiAgY29uZmlybUJ1dHRvblxufSkgPT4ge1xuICBjb25zdCBjYW5jZWxCdXR0b25Qcm9wcyA9IHByb2Nlc3NEaXNhYmxlZFByb3BlcnR5KHtcbiAgICAuLi5kZWZhdWx0Q2FuY2VsQnV0dG9uLFxuICAgIC4uLmNhbmNlbEJ1dHRvblxuICB9KTtcbiAgY29uc3QgY29uZmlybUJ1dHRvblByb3BzID0gcHJvY2Vzc0Rpc2FibGVkUHJvcGVydHkoey4uLmRlZmF1bHRDb25maXJtQnV0dG9uLCAuLi5jb25maXJtQnV0dG9ufSk7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZE1vZGFsRm9vdGVyIGNsYXNzTmFtZT1cIm1vZGFsLS1mb290ZXJcIj5cbiAgICAgIDxGb290ZXJBY3Rpb25XcmFwcGVyPlxuICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cIm1vZGFsLS1mb290ZXItLWNhbmNlbC1idXR0b25cIiB7Li4uY2FuY2VsQnV0dG9uUHJvcHN9IG9uQ2xpY2s9e2NhbmNlbH0+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2NhbmNlbEJ1dHRvblByb3BzLmNoaWxkcmVuID8/ICcnfSAvPlxuICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJtb2RhbC0tZm9vdGVyLS1jb25maXJtLWJ1dHRvblwiIHsuLi5jb25maXJtQnV0dG9uUHJvcHN9IG9uQ2xpY2s9e2NvbmZpcm19PlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtjb25maXJtQnV0dG9uUHJvcHMuY2hpbGRyZW4gPz8gJyd9IC8+XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgPC9Gb290ZXJBY3Rpb25XcmFwcGVyPlxuICAgIDwvU3R5bGVkTW9kYWxGb290ZXI+XG4gICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsRGlhbG9nT3duUHJvcHMge1xuICBmb290ZXI6IGJvb2xlYW47XG4gIGNsb3NlOiBib29sZWFuO1xuICBpc09wZW46IGJvb2xlYW47XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIG9uQ29uZmlybTogKC4uLmFyZ3M6IGFueSkgPT4gdm9pZDtcbiAgb25DYW5jZWw6ICguLi5hcmdzOiBhbnkpID0+IHZvaWQ7XG4gIGNvbmZpcm1CdXR0b24/OiBNb2RhbEJ1dHRvblByb3BzO1xuICBjb25maXJtQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIGNhbmNlbEJ1dHRvbj86IE1vZGFsQnV0dG9uUHJvcHM7XG4gIGNhbmNlbEJ1dHRvbkxhYmVsPzogc3RyaW5nO1xuICBjc3NTdHlsZT86IENzc1N0eWxlVHlwZSB8IHN0cmluZztcbiAgc3R5bGU/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzO1xuICB0aGVtZTogYW55O1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IHR5cGUgTW9kYWxEaWFsb2dQcm9wcyA9IE1vZGFsRGlhbG9nT3duUHJvcHMgJlxuICBPbWl0PFJlYWN0TW9kYWwuUHJvcHMsICdzdHlsZScgfCAnYXJpYUhpZGVBcHAnIHwgJ2NsYXNzTmFtZSc+O1xuXG5leHBvcnQgY2xhc3MgTW9kYWxEaWFsb2cgZXh0ZW5kcyBDb21wb25lbnQ8TW9kYWxEaWFsb2dQcm9wcz4ge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGZvb3RlcjogZmFsc2UsXG4gICAgY2xvc2U6IHRydWUsXG4gICAgb25Db25maXJtOiAoKSA9PiB7XG4gICAgICByZXR1cm47XG4gICAgfSxcbiAgICBvbkNhbmNlbDogKCkgPT4ge1xuICAgICAgcmV0dXJuO1xuICAgIH0sXG4gICAgY2FuY2VsQnV0dG9uOiBkZWZhdWx0Q2FuY2VsQnV0dG9uLFxuICAgIGNvbmZpcm1CdXR0b246IGRlZmF1bHRDb25maXJtQnV0dG9uLFxuICAgIGNzc1N0eWxlOiBbXVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7cHJvcHN9ID0gdGhpcztcbiAgICByZXR1cm4gKFxuICAgICAgPE1vZGFsXG4gICAgICAgIGNsYXNzTmFtZT17cHJvcHMuY2xhc3NOYW1lfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHRlc3RJZD17cHJvcHNbJ2RhdGEtdGVzdGlkJ119XG4gICAgICAgIGFyaWFIaWRlQXBwPXtmYWxzZX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBvdmVybGF5OiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IChwcm9wcy50aGVtZSAmJiBwcm9wcy50aGVtZS5tb2RhbE92ZXJsYXlCZ2QpIHx8ICdyZ2JhKDAsIDAsIDAsIDAuNSknLFxuICAgICAgICAgICAgekluZGV4OiAocHJvcHMudGhlbWUgJiYgcHJvcHMudGhlbWUubW9kYWxPdmVyTGF5WikgfHwgMTAwMCxcbiAgICAgICAgICAgIC4uLnByb3BzLnN0eWxlXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgIH0gYXMgYW55XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxNb2RhbENvbnRlbnRXcmFwcGVyIGNsYXNzTmFtZT1cIm1vZGFsLS13cmFwcGVyXCIgY3NzU3R5bGU9e3Byb3BzLmNzc1N0eWxlfT5cbiAgICAgICAgICB7cHJvcHMuY2xvc2UgJiYgKFxuICAgICAgICAgICAgPENsb3NlQnV0dG9uIGNsYXNzTmFtZT1cIm1vZGFsLS1jbG9zZVwiIG9uQ2xpY2s9e3Byb3BzLm9uQ2FuY2VsfT5cbiAgICAgICAgICAgICAgPERlbGV0ZSBoZWlnaHQ9XCIxOHB4XCIgLz5cbiAgICAgICAgICAgIDwvQ2xvc2VCdXR0b24+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAge3Byb3BzLnRpdGxlICYmIChcbiAgICAgICAgICAgICAgPE1vZGFsVGl0bGUgY2xhc3NOYW1lPVwibW9kYWwtLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e3Byb3BzLnRpdGxlfSAvPlxuICAgICAgICAgICAgICA8L01vZGFsVGl0bGU+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPE1vZGFsQ29udGVudCBjbGFzc05hbWU9XCJtb2RhbC0tYm9keVwiPntwcm9wcy5jaGlsZHJlbn08L01vZGFsQ29udGVudD5cbiAgICAgICAgICAgIHtwcm9wcy5mb290ZXIgJiYgKFxuICAgICAgICAgICAgICA8TW9kYWxGb290ZXJcbiAgICAgICAgICAgICAgICBjYW5jZWw9e3Byb3BzLm9uQ2FuY2VsfVxuICAgICAgICAgICAgICAgIGNvbmZpcm09e3Byb3BzLm9uQ29uZmlybX1cbiAgICAgICAgICAgICAgICBjYW5jZWxCdXR0b249e3Byb3BzLmNhbmNlbEJ1dHRvbn1cbiAgICAgICAgICAgICAgICBjb25maXJtQnV0dG9uPXtwcm9wcy5jb25maXJtQnV0dG9ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Nb2RhbENvbnRlbnRXcmFwcGVyPlxuICAgICAgPC9Nb2RhbD5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IFN0eWxlZE1vZGFsID0gc3R5bGVkKE1vZGFsRGlhbG9nKWBcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgYH07XG5cbiAgJHttZWRpYS5wYWxtYFxuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBgfTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBTdHlsZWRNb2RhbDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sa0JBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUF3QyxJQUFBUSxTQUFBO0FBQUEsSUFBQUMsZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQVZ4QztBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUF4Qix3QkFBQXdCLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxD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