@kando-env/kando-ui 1.2.414-alpha.3 → 1.2.414-alpha.5
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.
package/lib/Widgets/Map/Map.js
CHANGED
|
@@ -67,6 +67,15 @@ var Map = function Map(_ref) {
|
|
|
67
67
|
setMapZoomLevel = _useState2[1];
|
|
68
68
|
var _useSelectedItem = (0, _ListContext.useSelectedItem)(),
|
|
69
69
|
selectedItem = _useSelectedItem.selectedItem;
|
|
70
|
+
var _useState3 = (0, _react.useState)(true),
|
|
71
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
72
|
+
edgesCheckbox = _useState4[0],
|
|
73
|
+
setEdgesCheckbox = _useState4[1];
|
|
74
|
+
var _useState5 = (0, _react.useState)(false),
|
|
75
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
76
|
+
onlyMonitoredPoints = _useState6[0],
|
|
77
|
+
setOnlyMonitoredPoints = _useState6[1];
|
|
78
|
+
var edgesCheckboxRef = (0, _react.useRef)(edgesCheckbox);
|
|
70
79
|
var hoveredEventPresent = (0, _react.useMemo)(function () {
|
|
71
80
|
return hoveredEvent !== null && hoveredEvent !== undefined;
|
|
72
81
|
}, [hoveredEvent]);
|
|
@@ -75,34 +84,30 @@ var Map = function Map(_ref) {
|
|
|
75
84
|
}, [focusedEvent]);
|
|
76
85
|
|
|
77
86
|
// Add parent layer group for all factories
|
|
78
|
-
var _useState3 = (0, _react.useState)(L.layerGroup()),
|
|
79
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 1),
|
|
80
|
-
factoriesParentGroup = _useState4[0];
|
|
81
|
-
var _useState5 = (0, _react.useState)(L.layerGroup()),
|
|
82
|
-
_useState6 = (0, _slicedToArray2.default)(_useState5, 1),
|
|
83
|
-
unmonitoredFactoriesGroup = _useState6[0];
|
|
84
87
|
var _useState7 = (0, _react.useState)(L.layerGroup()),
|
|
85
88
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 1),
|
|
86
|
-
|
|
89
|
+
factoriesParentGroup = _useState8[0];
|
|
87
90
|
var _useState9 = (0, _react.useState)(L.layerGroup()),
|
|
88
91
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 1),
|
|
89
|
-
|
|
92
|
+
unmonitoredFactoriesGroup = _useState10[0];
|
|
90
93
|
var _useState11 = (0, _react.useState)(L.layerGroup()),
|
|
91
94
|
_useState12 = (0, _slicedToArray2.default)(_useState11, 1),
|
|
92
|
-
|
|
95
|
+
monitoredFactoriesGroup = _useState12[0];
|
|
93
96
|
var _useState13 = (0, _react.useState)(L.layerGroup()),
|
|
94
97
|
_useState14 = (0, _slicedToArray2.default)(_useState13, 1),
|
|
95
|
-
|
|
98
|
+
unmonitoredEdgesGroup = _useState14[0];
|
|
96
99
|
var _useState15 = (0, _react.useState)(L.layerGroup()),
|
|
97
100
|
_useState16 = (0, _slicedToArray2.default)(_useState15, 1),
|
|
98
|
-
|
|
99
|
-
var _useState17 = (0, _react.useState)(
|
|
101
|
+
monitoredEdgesGroup = _useState16[0];
|
|
102
|
+
var _useState17 = (0, _react.useState)(L.layerGroup()),
|
|
100
103
|
_useState18 = (0, _slicedToArray2.default)(_useState17, 1),
|
|
101
|
-
|
|
102
|
-
var _useState19 = (0, _react.useState)(
|
|
103
|
-
_useState20 = (0, _slicedToArray2.default)(_useState19,
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
wwtpsLayerGroup = _useState18[0];
|
|
105
|
+
var _useState19 = (0, _react.useState)(L.layerGroup()),
|
|
106
|
+
_useState20 = (0, _slicedToArray2.default)(_useState19, 1),
|
|
107
|
+
collectorsLayerGroup = _useState20[0];
|
|
108
|
+
var _useState21 = (0, _react.useState)(new L.FeatureGroup()),
|
|
109
|
+
_useState22 = (0, _slicedToArray2.default)(_useState21, 1),
|
|
110
|
+
areasLayerGroup = _useState22[0];
|
|
106
111
|
var renderPointMarkers = function renderPointMarkers(filteredPoints, mapRef, props) {
|
|
107
112
|
return mapRef.current !== null && points && /*#__PURE__*/_react.default.createElement(_PointMarkers.PointMarkers, Object.assign({
|
|
108
113
|
map: mapRef.current,
|
|
@@ -142,24 +147,24 @@ var Map = function Map(_ref) {
|
|
|
142
147
|
return renderEdges(monitoredEdges, mapRef, edgesCheckbox, {
|
|
143
148
|
L: L,
|
|
144
149
|
points: points,
|
|
145
|
-
hideEdges:
|
|
150
|
+
hideEdges: false,
|
|
146
151
|
hideArrows: true,
|
|
147
152
|
allowUnmonitoredDescendants: includeUnmonitoredDescendantsForEdges,
|
|
148
153
|
group: monitoredEdgesGroup
|
|
149
154
|
});
|
|
150
|
-
}, [
|
|
155
|
+
}, [points, edgesCheckbox]);
|
|
151
156
|
var memoizedUnmonitoredEdges = (0, _react.useMemo)(function () {
|
|
157
|
+
if (onlyMonitoredPoints) return null;
|
|
152
158
|
var unmonitoredEdges = (0, _MapUtils.filterEdges)(edges, points, false);
|
|
153
159
|
return renderEdges(unmonitoredEdges, mapRef, edgesCheckbox, {
|
|
154
160
|
L: L,
|
|
155
161
|
points: points,
|
|
156
|
-
hideEdges:
|
|
162
|
+
hideEdges: false,
|
|
157
163
|
hideArrows: true,
|
|
158
164
|
allowUnmonitoredDescendants: includeUnmonitoredDescendantsForEdges,
|
|
159
|
-
group: unmonitoredEdgesGroup
|
|
160
|
-
shouldntDraw: unmonitoredEdgesGroup.getLayers().length !== 0
|
|
165
|
+
group: unmonitoredEdgesGroup
|
|
161
166
|
});
|
|
162
|
-
}, [
|
|
167
|
+
}, [points, edgesCheckbox]);
|
|
163
168
|
var handleEdgesCheckboxChange = function handleEdgesCheckboxChange(isChecked) {
|
|
164
169
|
setEdgesCheckbox(isChecked);
|
|
165
170
|
};
|
|
@@ -168,6 +173,7 @@ var Map = function Map(_ref) {
|
|
|
168
173
|
// It is used in two places in the code, so it is better to store it in one place
|
|
169
174
|
var edgesZoomLevels = ['Small', 'Medium', 'MLarge', 'Large'];
|
|
170
175
|
var handlePointsCheckboxChange = function handlePointsCheckboxChange(isChecked) {
|
|
176
|
+
setOnlyMonitoredPoints(isChecked);
|
|
171
177
|
if (mapRef.current !== null) {
|
|
172
178
|
var zoom = _MapUtils.zoomLevels[mapRef.current.getZoom()];
|
|
173
179
|
if (isChecked) {
|
|
@@ -179,7 +185,7 @@ var Map = function Map(_ref) {
|
|
|
179
185
|
factoriesParentGroup.addLayer(unmonitoredFactoriesGroup);
|
|
180
186
|
|
|
181
187
|
// Show unmonitored edges if at appropriate zoom level
|
|
182
|
-
if (edgesZoomLevels.includes(zoom)) {
|
|
188
|
+
if (edgesCheckboxRef.current && edgesZoomLevels.includes(zoom)) {
|
|
183
189
|
unmonitoredEdgesGroup.addTo(mapRef.current);
|
|
184
190
|
}
|
|
185
191
|
}
|
|
@@ -202,10 +208,6 @@ var Map = function Map(_ref) {
|
|
|
202
208
|
};
|
|
203
209
|
var memoizedZoomControl = function memoizedZoomControl() {
|
|
204
210
|
var payload = forEventsView ? zoomRulesForEventsView() : zoomRulesForDashaboardMaps();
|
|
205
|
-
var checkbox = document.querySelector('#monitored-points-checkbox');
|
|
206
|
-
if (checkbox) {
|
|
207
|
-
handlePointsCheckboxChange(checkbox.checked);
|
|
208
|
-
}
|
|
209
211
|
return payload;
|
|
210
212
|
};
|
|
211
213
|
var memoizedEvent = function memoizedEvent() {
|
|
@@ -226,6 +228,9 @@ var Map = function Map(_ref) {
|
|
|
226
228
|
includeNetwork: !hoveredEventPresent
|
|
227
229
|
});
|
|
228
230
|
};
|
|
231
|
+
(0, _react.useEffect)(function () {
|
|
232
|
+
edgesCheckboxRef.current = edgesCheckbox;
|
|
233
|
+
}, [edgesCheckbox]);
|
|
229
234
|
(0, _react.useEffect)(function () {
|
|
230
235
|
return function cleanup() {
|
|
231
236
|
var _mapRef$current;
|
|
@@ -235,26 +240,28 @@ var Map = function Map(_ref) {
|
|
|
235
240
|
}, [focusedEvent, hoveredEvent, global_data.eventFilterParam]);
|
|
236
241
|
(0, _react.useEffect)(function () {
|
|
237
242
|
return function cleanup() {
|
|
238
|
-
if (forEventsView) {
|
|
239
|
-
var _mapRef$current2, _mapRef$current3, _mapRef$current4, _mapRef$current5, _mapRef$current6, _mapRef$current7, _mapRef$current8;
|
|
240
|
-
dispatch((0, _actions.clearAreas)());
|
|
243
|
+
if (forEventsView && mapRef.current) {
|
|
241
244
|
dispatch((0, _actions2.clearPoints)());
|
|
245
|
+
dispatch((0, _actions.clearAreas)());
|
|
242
246
|
wwtpsLayerGroup.clearLayers();
|
|
243
|
-
collectorsLayerGroup.clearLayers();
|
|
244
247
|
areasLayerGroup.clearLayers();
|
|
245
|
-
factoriesParentGroup.clearLayers();
|
|
246
248
|
monitoredEdgesGroup.clearLayers();
|
|
249
|
+
collectorsLayerGroup.clearLayers();
|
|
247
250
|
unmonitoredEdgesGroup.clearLayers();
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
251
|
+
monitoredFactoriesGroup.clearLayers();
|
|
252
|
+
unmonitoredFactoriesGroup.clearLayers();
|
|
253
|
+
factoriesParentGroup.clearLayers();
|
|
254
|
+
mapRef.current.removeLayer(unmonitoredEdgesGroup);
|
|
255
|
+
mapRef.current.removeLayer(monitoredEdgesGroup);
|
|
256
|
+
mapRef.current.removeLayer(wwtpsLayerGroup);
|
|
257
|
+
mapRef.current.removeLayer(collectorsLayerGroup);
|
|
258
|
+
mapRef.current.removeLayer(areasLayerGroup);
|
|
259
|
+
mapRef.current.removeLayer(factoriesParentGroup);
|
|
260
|
+
mapRef.current.eachLayer(function (layer) {
|
|
261
|
+
if (layer instanceof L.TileLayer) {
|
|
262
|
+
return;
|
|
257
263
|
}
|
|
264
|
+
mapRef.current.removeLayer(layer);
|
|
258
265
|
});
|
|
259
266
|
}
|
|
260
267
|
};
|
|
@@ -269,6 +276,7 @@ var Map = function Map(_ref) {
|
|
|
269
276
|
factoriesParentGroup.addLayer(monitoredFactoriesGroup);
|
|
270
277
|
factoriesParentGroup.addLayer(unmonitoredFactoriesGroup);
|
|
271
278
|
}
|
|
279
|
+
trackLayerbox();
|
|
272
280
|
} else {
|
|
273
281
|
setMapZoomLevel(mapRef.current.getZoom());
|
|
274
282
|
if (!areaToCenterBy) {
|
|
@@ -279,13 +287,12 @@ var Map = function Map(_ref) {
|
|
|
279
287
|
if (!forEventsView || !focusedEvent) {
|
|
280
288
|
(0, _MapUtils.areaFocusLogic)(mapRef, _MapUtils.isValidArea, areaToCenterBy);
|
|
281
289
|
}
|
|
282
|
-
trackLayerbox();
|
|
283
290
|
}
|
|
284
|
-
}, [
|
|
291
|
+
}, [areaToCenterBy]);
|
|
285
292
|
(0, _react.useEffect)(function () {
|
|
286
|
-
var _mapRef$
|
|
293
|
+
var _mapRef$current2;
|
|
287
294
|
var clicked = false;
|
|
288
|
-
(_mapRef$
|
|
295
|
+
(_mapRef$current2 = mapRef.current) === null || _mapRef$current2 === void 0 ? void 0 : _mapRef$current2.eachLayer(function (layer) {
|
|
289
296
|
if (clicked) return;
|
|
290
297
|
if ((layer === null || layer === void 0 ? void 0 : layer.kando_object_id) === selectedItem && layer.isPopupOpen() === false) {
|
|
291
298
|
if (layer instanceof L.Marker) {
|
|
@@ -321,4 +328,4 @@ var Map = function Map(_ref) {
|
|
|
321
328
|
}, renderAreas(), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent(), memoizedZoomControl(), children)))));
|
|
322
329
|
};
|
|
323
330
|
exports.Map = Map;
|
|
324
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9MaXN0Q29udGV4dCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJfcmVmJGhpZGVFZGdlcyIsImhpZGVFZGdlcyIsIl9yZWYkbWFwQm94U3R5bGUiLCJtYXBCb3hTdHlsZSIsImxlYWZsZXRNYXAiLCJtYXBEZWZhdWx0IiwiY2hpbGRyZW4iLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IyIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIl9yZWYkZm9yRXZlbnRzVmlldyIsImZvckV2ZW50c1ZpZXciLCJfcmVmJHN0eWxlIiwic3R5bGUiLCJfcmVmJGZvcldXVFBEYXNoYm9hcmQiLCJmb3JXV1RQRGFzaGJvYXJkIiwibWFwIiwibWFwUmVmIiwidXNlUmVmIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidXNlTWVtbyIsInVuZGVmaW5lZCIsImZvY3VzZWRFdmVudFByZXNlbnQiLCJfdXNlU3RhdGUzIiwibGF5ZXJHcm91cCIsIl91c2VTdGF0ZTQiLCJmYWN0b3JpZXNQYXJlbnRHcm91cCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwidW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwibW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJ1bm1vbml0b3JlZEVkZ2VzR3JvdXAiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwibW9uaXRvcmVkRWRnZXNHcm91cCIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJ3d3Rwc0xheWVyR3JvdXAiLCJfdXNlU3RhdGUxNSIsIl91c2VTdGF0ZTE2IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJfdXNlU3RhdGUxNyIsIkZlYXR1cmVHcm91cCIsIl91c2VTdGF0ZTE4IiwiYXJlYXNMYXllckdyb3VwIiwiX3VzZVN0YXRlMTkiLCJfdXNlU3RhdGUyMCIsImVkZ2VzQ2hlY2tib3giLCJzZXRFZGdlc0NoZWNrYm94IiwicmVuZGVyUG9pbnRNYXJrZXJzIiwiZmlsdGVyZWRQb2ludHMiLCJwcm9wcyIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwiUG9pbnRNYXJrZXJzIiwiYXNzaWduIiwibWVtb2l6ZWRNb25pdG9yZWRQb2ludHMiLCJtb25pdG9yZWRQb2ludHMiLCJmaWx0ZXJQb2ludHMiLCJyZXJlbmRlciIsInpvb21MZXZlbHMiLCJmYWN0b3JpZXNHcm91cCIsInd3dHBzR3JvdXAiLCJjb2xsZWN0b3JzR3JvdXAiLCJtZW1vaXplZFVubW9uaXRvcmVkUG9pbnRzIiwidW5tb25pdG9yZWRQb2ludHMiLCJyZW5kZXJFZGdlcyIsImZpbHRlcmVkRWRnZXMiLCJtZW1vaXplZEVkZ2VzIiwibW9uaXRvcmVkRWRnZXMiLCJmaWx0ZXJFZGdlcyIsImhpZGVBcnJvd3MiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJncm91cCIsIm1lbW9pemVkVW5tb25pdG9yZWRFZGdlcyIsInVubW9uaXRvcmVkRWRnZXMiLCJzaG91bGRudERyYXciLCJnZXRMYXllcnMiLCJsZW5ndGgiLCJoYW5kbGVFZGdlc0NoZWNrYm94Q2hhbmdlIiwiaXNDaGVja2VkIiwiZWRnZXNab29tTGV2ZWxzIiwiaGFuZGxlUG9pbnRzQ2hlY2tib3hDaGFuZ2UiLCJ6b29tIiwiZ2V0Wm9vbSIsInJlbW92ZUxheWVyIiwicmVtb3ZlRnJvbSIsImFkZExheWVyIiwiaW5jbHVkZXMiLCJhZGRUbyIsInRyYWNrTGF5ZXJib3giLCJzZXR1cENoZWNrYm94TGlzdGVuZXIiLCJ6b29tUnVsZXNGb3JFdmVudHNWaWV3IiwicGF5bG9hZCIsIkZyYWdtZW50Iiwiem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMiLCJtZW1vaXplZFpvb21Db250cm9sIiwiY2hlY2tib3giLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJjaGVja2VkIiwibWVtb2l6ZWRFdmVudCIsImZvY3VzZWQiLCJob3ZlcmVkIiwiRXZlbnQiLCJldmVudCIsImluY2x1ZGVOZXR3b3JrIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwiZXZlbnRGaWx0ZXJQYXJhbSIsIl9tYXBSZWYkY3VycmVudDIiLCJfbWFwUmVmJGN1cnJlbnQzIiwiX21hcFJlZiRjdXJyZW50NCIsIl9tYXBSZWYkY3VycmVudDUiLCJfbWFwUmVmJGN1cnJlbnQ2IiwiX21hcFJlZiRjdXJyZW50NyIsIl9tYXBSZWYkY3VycmVudDgiLCJjbGVhckFyZWFzIiwiY2xlYXJQb2ludHMiLCJlYWNoTGF5ZXIiLCJsYXllciIsImthbmRvX29iamVjdCIsIndhdGVyQXV0aG9yaXR5SWQiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJhcmVhIiwic2hhcGVfZGF0YSIsImZsYXQiLCJhcmVhRm9jdXNMb2dpYyIsIl9tYXBSZWYkY3VycmVudDkiLCJjbGlja2VkIiwia2FuZG9fb2JqZWN0X2lkIiwiaXNQb3B1cE9wZW4iLCJNYXJrZXIiLCJmaXJlIiwiUG9seWdvbiIsInJlbmRlckFyZWFzIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJBcmVhUG9seWdvbnMiLCJtYXBab29tIiwiZmVhdHVyZUdyb3VwIiwiY2xhc3NOYW1lIiwiY29uY2F0Iiwic2lkZW5hdkV4cGFuZGVkIiwiaWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCAqIGFzIEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0ICdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0ICdsZWFmbGV0LmhlYXQnO1xuaW1wb3J0IFJlYWN0LCB7XG4gIENTU1Byb3BlcnRpZXMsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG4vLyBpbXBvcnQgeyBzdG9yZU1hcCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBBcmVhUG9seWdvbnMgfSBmcm9tICcuL2FyZWFzL0FyZWFQb2x5Z29ucyc7XG5pbXBvcnQgRWRnZXMgZnJvbSAnLi9lZGdlcy9FZGdlcyc7XG5pbXBvcnQgJy4vTWFwLnNjc3MnO1xuaW1wb3J0ICcuL3BvaW50cy9Qb2ludEljb24uc2Nzcyc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuLy8gaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi9ldmVudHMvRXZlbnQnO1xuaW1wb3J0IHtcbiAgYXJlYUZvY3VzTG9naWMsXG4gIGZpbHRlckVkZ2VzLFxuICBmaWx0ZXJQb2ludHMsXG4gIGluaXRpYWxpemVNYXAsXG4gIGlzVmFsaWRBcmVhLFxuICBzZXR1cENoZWNrYm94TGlzdGVuZXIsXG4gIHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxuICB6b29tTGV2ZWxzLFxufSBmcm9tICcuL01hcFV0aWxzJztcbmltcG9ydCB7IGxlYWZsZXRNYXAgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0Q29udGV4dCc7XG5pbXBvcnQgeyBjbGVhckFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY2xlYXJQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xucmVxdWlyZSgnbGVhZmxldC5tYXJrZXJjbHVzdGVyJyk7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBlZGdlcz86IElFZGdlW107XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogYW55O1xuICBzdHlsZT86IENTU1Byb3BlcnRpZXM7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xuICBmb3JFdmVudHNWaWV3OiBib29sZWFuO1xuICBmb3JXV1RQRGFzaGJvYXJkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE1hcDogUmVhY3QuRkM8TWFwUHJvcHM+ID0gKHtcbiAgYXJlYXMsXG4gIGVkZ2VzLFxuICBwb2ludHMsXG4gIGdsb2JhbF9kYXRhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgZm9jdXNlZEV2ZW50LFxuICBob3ZlcmVkRXZlbnQsXG4gIGhpZGVFZGdlcyA9IGZhbHNlLFxuICBtYXBCb3hTdHlsZSA9IGxlYWZsZXRNYXAubWFwRGVmYXVsdCxcbiAgY2hpbGRyZW4sXG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA9IHRydWUsXG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMgPSBmYWxzZSxcbiAgZm9yRXZlbnRzVmlldyA9IGZhbHNlLFxuICBzdHlsZSA9IHt9LFxuICBmb3JXV1RQRGFzaGJvYXJkID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IGhvdmVyZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gaG92ZXJlZEV2ZW50ICE9PSBudWxsICYmIGhvdmVyZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgZm9jdXNlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgZm9jdXNlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtmb2N1c2VkRXZlbnRdKTtcblxuICAvLyBBZGQgcGFyZW50IGxheWVyIGdyb3VwIGZvciBhbGwgZmFjdG9yaWVzXG4gIGNvbnN0IFtmYWN0b3JpZXNQYXJlbnRHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFt1bm1vbml0b3JlZEZhY3Rvcmllc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW21vbml0b3JlZEZhY3Rvcmllc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW3VubW9uaXRvcmVkRWRnZXNHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFttb25pdG9yZWRFZGdlc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW3d3dHBzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFtjb2xsZWN0b3JzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFthcmVhc0xheWVyR3JvdXBdID0gdXNlU3RhdGUobmV3IEwuRmVhdHVyZUdyb3VwKCkpO1xuICBjb25zdCBbZWRnZXNDaGVja2JveCwgc2V0RWRnZXNDaGVja2JveF0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgcmVuZGVyUG9pbnRNYXJrZXJzID0gKGZpbHRlcmVkUG9pbnRzLCBtYXBSZWYsIHByb3BzKSA9PlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgcG9pbnRzICYmIChcbiAgICAgIDxQb2ludE1hcmtlcnMgbWFwPXttYXBSZWYuY3VycmVudH0gcG9pbnRzPXtmaWx0ZXJlZFBvaW50c30gey4uLnByb3BzfSAvPlxuICAgICk7XG5cbiAgY29uc3QgbWVtb2l6ZWRNb25pdG9yZWRQb2ludHMgPSAoKSA9PiB7XG4gICAgY29uc3QgbW9uaXRvcmVkUG9pbnRzID0gZmlsdGVyUG9pbnRzKHBvaW50cywgdHJ1ZSk7XG4gICAgcmV0dXJuIHJlbmRlclBvaW50TWFya2Vycyhtb25pdG9yZWRQb2ludHMsIG1hcFJlZiwge1xuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzOiB0cnVlLFxuICAgICAgcmVyZW5kZXI6IHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSxcbiAgICAgIGZhY3Rvcmllc0dyb3VwOiBtb25pdG9yZWRGYWN0b3JpZXNHcm91cCxcbiAgICAgIHd3dHBzR3JvdXA6IHd3dHBzTGF5ZXJHcm91cCxcbiAgICAgIGNvbGxlY3RvcnNHcm91cDogY29sbGVjdG9yc0xheWVyR3JvdXAsXG4gICAgICBmb3JFdmVudHNWaWV3OiBmb3JFdmVudHNWaWV3LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkVW5tb25pdG9yZWRQb2ludHMgPSAoKSA9PiB7XG4gICAgY29uc3QgdW5tb25pdG9yZWRQb2ludHMgPSBmaWx0ZXJQb2ludHMocG9pbnRzLCBmYWxzZSk7XG4gICAgcmV0dXJuIHJlbmRlclBvaW50TWFya2Vycyh1bm1vbml0b3JlZFBvaW50cywgbWFwUmVmLCB7XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM6IHRydWUsXG4gICAgICByZXJlbmRlcjogem9vbUxldmVsc1ttYXBab29tTGV2ZWxdLFxuICAgICAgZmFjdG9yaWVzR3JvdXA6IHVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAsXG4gICAgICB3d3Rwc0dyb3VwOiB3d3Rwc0xheWVyR3JvdXAsXG4gICAgICBjb2xsZWN0b3JzR3JvdXA6IGNvbGxlY3RvcnNMYXllckdyb3VwLFxuICAgICAgZm9yRXZlbnRzVmlldzogZm9yRXZlbnRzVmlldyxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJFZGdlcyA9IChmaWx0ZXJlZEVkZ2VzLCBtYXBSZWYsIGVkZ2VzQ2hlY2tib3gsIHByb3BzKSA9PlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXNDaGVja2JveCAmJiAoXG4gICAgICA8RWRnZXMgZWRnZXM9e2ZpbHRlcmVkRWRnZXN9IG1hcD17bWFwUmVmLmN1cnJlbnR9IHsuLi5wcm9wc30gLz5cbiAgICApO1xuXG4gIGNvbnN0IG1lbW9pemVkRWRnZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBtb25pdG9yZWRFZGdlcyA9IGZpbHRlckVkZ2VzKGVkZ2VzLCBwb2ludHMsIHRydWUpO1xuICAgIHJldHVybiByZW5kZXJFZGdlcyhtb25pdG9yZWRFZGdlcywgbWFwUmVmLCBlZGdlc0NoZWNrYm94LCB7XG4gICAgICBMLFxuICAgICAgcG9pbnRzLFxuICAgICAgaGlkZUVkZ2VzLFxuICAgICAgaGlkZUFycm93czogdHJ1ZSxcbiAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50czogaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyxcbiAgICAgIGdyb3VwOiBtb25pdG9yZWRFZGdlc0dyb3VwLFxuICAgIH0pO1xuICB9LCBbbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgZm9jdXNlZEV2ZW50UHJlc2VudCwgbWFwWm9vbUxldmVsXSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRVbm1vbml0b3JlZEVkZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgdW5tb25pdG9yZWRFZGdlcyA9IGZpbHRlckVkZ2VzKGVkZ2VzLCBwb2ludHMsIGZhbHNlKTtcbiAgICByZXR1cm4gcmVuZGVyRWRnZXModW5tb25pdG9yZWRFZGdlcywgbWFwUmVmLCBlZGdlc0NoZWNrYm94LCB7XG4gICAgICBMLFxuICAgICAgcG9pbnRzLFxuICAgICAgaGlkZUVkZ2VzLFxuICAgICAgaGlkZUFycm93czogdHJ1ZSxcbiAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50czogaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyxcbiAgICAgIGdyb3VwOiB1bm1vbml0b3JlZEVkZ2VzR3JvdXAsXG4gICAgICBzaG91bGRudERyYXc6IHVubW9uaXRvcmVkRWRnZXNHcm91cC5nZXRMYXllcnMoKS5sZW5ndGggIT09IDAsXG4gICAgfSk7XG4gIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50LCBtYXBab29tTGV2ZWxdKTtcblxuICBjb25zdCBoYW5kbGVFZGdlc0NoZWNrYm94Q2hhbmdlID0gKGlzQ2hlY2tlZCkgPT4ge1xuICAgIHNldEVkZ2VzQ2hlY2tib3goaXNDaGVja2VkKTtcbiAgfTtcblxuICAvLyBUaGlzIHZhcmlhYmxlIHN0b3JlcyB0aGUgem9vbSBsZXZlbHMgdGhlIGVkZ2VzIGFyZSBkaXNwbGF5ZWRcbiAgLy8gSXQgaXMgdXNlZCBpbiB0d28gcGxhY2VzIGluIHRoZSBjb2RlLCBzbyBpdCBpcyBiZXR0ZXIgdG8gc3RvcmUgaXQgaW4gb25lIHBsYWNlXG4gIGNvbnN0IGVkZ2VzWm9vbUxldmVscyA9IFsnU21hbGwnLCAnTWVkaXVtJywgJ01MYXJnZScsICdMYXJnZSddO1xuXG4gIGNvbnN0IGhhbmRsZVBvaW50c0NoZWNrYm94Q2hhbmdlID0gKGlzQ2hlY2tlZCkgPT4ge1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgbGV0IHpvb20gPSB6b29tTGV2ZWxzW21hcFJlZi5jdXJyZW50LmdldFpvb20oKV07XG5cbiAgICAgIGlmIChpc0NoZWNrZWQpIHtcbiAgICAgICAgLy8gSGlkZSB1bm1vbml0b3JlZCBwb2ludHMgd2hlbiBcInNob3cgb25seSBtb25pdG9yZWRcIiBpcyBjaGVja2VkXG4gICAgICAgIGZhY3Rvcmllc1BhcmVudEdyb3VwLnJlbW92ZUxheWVyKHVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXApO1xuICAgICAgICB1bm1vbml0b3JlZEVkZ2VzR3JvdXAucmVtb3ZlRnJvbShtYXBSZWYuY3VycmVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTaG93IGFsbCBwb2ludHMgd2hlbiBcInNob3cgb25seSBtb25pdG9yZWRcIiBpcyB1bmNoZWNrZWRcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuYWRkTGF5ZXIodW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCk7XG5cbiAgICAgICAgLy8gU2hvdyB1bm1vbml0b3JlZCBlZGdlcyBpZiBhdCBhcHByb3ByaWF0ZSB6b29tIGxldmVsXG4gICAgICAgIGlmIChlZGdlc1pvb21MZXZlbHMuaW5jbHVkZXMoem9vbSkpIHtcbiAgICAgICAgICB1bm1vbml0b3JlZEVkZ2VzR3JvdXAuYWRkVG8obWFwUmVmLmN1cnJlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHRyYWNrTGF5ZXJib3ggPSAoKSA9PiB7XG4gICAgc2V0dXBDaGVja2JveExpc3RlbmVyKCcjZWRnZXMtY2hlY2tib3gnLCBoYW5kbGVFZGdlc0NoZWNrYm94Q2hhbmdlKTtcbiAgICBzZXR1cENoZWNrYm94TGlzdGVuZXIoXG4gICAgICAnI21vbml0b3JlZC1wb2ludHMtY2hlY2tib3gnLFxuICAgICAgaGFuZGxlUG9pbnRzQ2hlY2tib3hDaGFuZ2UsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB6b29tUnVsZXNGb3JFdmVudHNWaWV3ID0gKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAoXG4gICAgICA8PlxuICAgICAgICB7bWVtb2l6ZWRFZGdlc31cbiAgICAgICAge21lbW9pemVkVW5tb25pdG9yZWRFZGdlc31cbiAgICAgICAge21lbW9pemVkVW5tb25pdG9yZWRQb2ludHMoKX1cbiAgICAgICAge21lbW9pemVkTW9uaXRvcmVkUG9pbnRzKCl9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMgPSAoKSA9PiB7XG4gICAgbGV0IHBheWxvYWQgPSAoXG4gICAgICA8PlxuICAgICAgICB7bWVtb2l6ZWRVbm1vbml0b3JlZFBvaW50cygpfVxuICAgICAgICB7bWVtb2l6ZWRNb25pdG9yZWRQb2ludHMoKX1cbiAgICAgIDwvPlxuICAgICk7XG5cbiAgICBpZiAoZWRnZXNab29tTGV2ZWxzLmluY2x1ZGVzKHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSkpIHtcbiAgICAgIHBheWxvYWQgPSB6b29tUnVsZXNGb3JFdmVudHNWaWV3KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3QgbWVtb2l6ZWRab29tQ29udHJvbCA9ICgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gZm9yRXZlbnRzVmlld1xuICAgICAgPyB6b29tUnVsZXNGb3JFdmVudHNWaWV3KClcbiAgICAgIDogem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMoKTtcblxuICAgIGNvbnN0IGNoZWNrYm94ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcjbW9uaXRvcmVkLXBvaW50cy1jaGVja2JveCcsXG4gICAgKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmIChjaGVja2JveCkge1xuICAgICAgaGFuZGxlUG9pbnRzQ2hlY2tib3hDaGFuZ2UoY2hlY2tib3guY2hlY2tlZCk7XG4gICAgfVxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkRXZlbnQgPSAoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgaW5jbHVkZU5ldHdvcms9eyFob3ZlcmVkRXZlbnRQcmVzZW50fVxuICAgICAgLz5cbiAgICApO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGNvbGxlY3RvcnNMYXllckdyb3VwKTtcbiAgICB9O1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgaWYgKGZvckV2ZW50c1ZpZXcpIHtcbiAgICAgICAgZGlzcGF0Y2goY2xlYXJBcmVhcygpKTtcbiAgICAgICAgZGlzcGF0Y2goY2xlYXJQb2ludHMoKSk7XG4gICAgICAgIHd3dHBzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBhcmVhc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgbW9uaXRvcmVkRWRnZXNHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICB1bm1vbml0b3JlZEVkZ2VzR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKHVubW9uaXRvcmVkRWRnZXNHcm91cCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihtb25pdG9yZWRFZGdlc0dyb3VwKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKHd3dHBzTGF5ZXJHcm91cCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihjb2xsZWN0b3JzTGF5ZXJHcm91cCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihhcmVhc0xheWVyR3JvdXApO1xuICAgICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoZmFjdG9yaWVzUGFyZW50R3JvdXApO1xuXG4gICAgICAgIG1hcFJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGxheWVyLmthbmRvX29iamVjdCkge1xuICAgICAgICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlTGF5ZXIobGF5ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICAgZm9yV1dUUERhc2hib2FyZCxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICk7XG5cbiAgICAgIC8vIEluaXRpYWxpemUgcGFyZW50IGZhY3RvcnkgZ3JvdXBcbiAgICAgIGlmIChtYXBSZWYuY3VycmVudCkge1xuICAgICAgICBmYWN0b3JpZXNQYXJlbnRHcm91cC5hZGRUbyhtYXBSZWYuY3VycmVudCk7XG4gICAgICAgIGZhY3Rvcmllc1BhcmVudEdyb3VwLmFkZExheWVyKG1vbml0b3JlZEZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuYWRkTGF5ZXIodW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldE1hcFpvb21MZXZlbChtYXBSZWYuY3VycmVudC5nZXRab29tKCkpO1xuICAgICAgaWYgKCFhcmVhVG9DZW50ZXJCeSkge1xuICAgICAgICBhcmVhVG9DZW50ZXJCeSA9IGFyZWFzLm1hcCgoYXJlYSkgPT4gYXJlYS5zaGFwZV9kYXRhKS5mbGF0KCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZm9yRXZlbnRzVmlldyB8fCAhZm9jdXNlZEV2ZW50KSB7XG4gICAgICAgIGFyZWFGb2N1c0xvZ2ljKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KTtcbiAgICAgIH1cblxuICAgICAgdHJhY2tMYXllcmJveCgpO1xuICAgIH1cbiAgfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHNdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBjbGlja2VkID0gZmFsc2U7XG5cbiAgICBtYXBSZWYuY3VycmVudD8uZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgICAgaWYgKGNsaWNrZWQpIHJldHVybjtcblxuICAgICAgaWYgKFxuICAgICAgICBsYXllcj8ua2FuZG9fb2JqZWN0X2lkID09PSBzZWxlY3RlZEl0ZW0gJiZcbiAgICAgICAgbGF5ZXIuaXNQb3B1cE9wZW4oKSA9PT0gZmFsc2VcbiAgICAgICkge1xuICAgICAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgICAgIGxheWVyLmZpcmUoJ2NsaWNrJyk7XG4gICAgICAgIH0gZWxzZSBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlnb24pIHtcbiAgICAgICAgICBsYXllci5maXJlKCdjbGljay1ldmVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNsaWNrZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRJdGVtXSk7XG5cbiAgY29uc3QgcmVuZGVyQXJlYXMgPSAoKSA9PiB7XG4gICAgaWYgKCFzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmLCBlZGdlcywgcG9pbnRzKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICBMPXtMfVxuICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgIG1hcFpvb209e21hcFpvb21MZXZlbH1cbiAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICBmZWF0dXJlR3JvdXA9e2FyZWFzTGF5ZXJHcm91cH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiIHN0eWxlPXtzdHlsZX0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+XG4gICAgICAgICAgICB7cmVuZGVyQXJlYXMoKX1cbiAgICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKFxuICAgICAgICAgICAgICBlZGdlcyxcbiAgICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhLFxuICAgICAgICAgICAgICBtYXBSZWYsXG4gICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICkgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHttZW1vaXplZEV2ZW50KCl9XG4gICAgICAgICAgICAgICAge21lbW9pemVkWm9vbUNvbnRyb2woKX1cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxDQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQU9BLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQU9BLElBQUFHLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLGFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBTyxhQUFBLEdBQUFQLE9BQUE7QUFFQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxTQUFBLEdBQUFULE9BQUE7QUFXQSxJQUFBVSxNQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxZQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxRQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxTQUFBLEdBQUFiLE9BQUE7QUFBdUQsU0FBQWMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtB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
|
|
331
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9MaXN0Q29udGV4dCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJfcmVmJGhpZGVFZGdlcyIsImhpZGVFZGdlcyIsIl9yZWYkbWFwQm94U3R5bGUiLCJtYXBCb3hTdHlsZSIsImxlYWZsZXRNYXAiLCJtYXBEZWZhdWx0IiwiY2hpbGRyZW4iLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IyIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIl9yZWYkZm9yRXZlbnRzVmlldyIsImZvckV2ZW50c1ZpZXciLCJfcmVmJHN0eWxlIiwic3R5bGUiLCJfcmVmJGZvcldXVFBEYXNoYm9hcmQiLCJmb3JXV1RQRGFzaGJvYXJkIiwibWFwIiwibWFwUmVmIiwidXNlUmVmIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImVkZ2VzQ2hlY2tib3giLCJzZXRFZGdlc0NoZWNrYm94IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJvbmx5TW9uaXRvcmVkUG9pbnRzIiwic2V0T25seU1vbml0b3JlZFBvaW50cyIsImVkZ2VzQ2hlY2tib3hSZWYiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidXNlTWVtbyIsInVuZGVmaW5lZCIsImZvY3VzZWRFdmVudFByZXNlbnQiLCJfdXNlU3RhdGU3IiwibGF5ZXJHcm91cCIsIl91c2VTdGF0ZTgiLCJmYWN0b3JpZXNQYXJlbnRHcm91cCIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsInVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwibW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwidW5tb25pdG9yZWRFZGdlc0dyb3VwIiwiX3VzZVN0YXRlMTUiLCJfdXNlU3RhdGUxNiIsIm1vbml0b3JlZEVkZ2VzR3JvdXAiLCJfdXNlU3RhdGUxNyIsIl91c2VTdGF0ZTE4Iiwid3d0cHNMYXllckdyb3VwIiwiX3VzZVN0YXRlMTkiLCJfdXNlU3RhdGUyMCIsImNvbGxlY3RvcnNMYXllckdyb3VwIiwiX3VzZVN0YXRlMjEiLCJGZWF0dXJlR3JvdXAiLCJfdXNlU3RhdGUyMiIsImFyZWFzTGF5ZXJHcm91cCIsInJlbmRlclBvaW50TWFya2VycyIsImZpbHRlcmVkUG9pbnRzIiwicHJvcHMiLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsIlBvaW50TWFya2VycyIsImFzc2lnbiIsIm1lbW9pemVkTW9uaXRvcmVkUG9pbnRzIiwibW9uaXRvcmVkUG9pbnRzIiwiZmlsdGVyUG9pbnRzIiwicmVyZW5kZXIiLCJ6b29tTGV2ZWxzIiwiZmFjdG9yaWVzR3JvdXAiLCJ3d3Rwc0dyb3VwIiwiY29sbGVjdG9yc0dyb3VwIiwibWVtb2l6ZWRVbm1vbml0b3JlZFBvaW50cyIsInVubW9uaXRvcmVkUG9pbnRzIiwicmVuZGVyRWRnZXMiLCJmaWx0ZXJlZEVkZ2VzIiwibWVtb2l6ZWRFZGdlcyIsIm1vbml0b3JlZEVkZ2VzIiwiZmlsdGVyRWRnZXMiLCJoaWRlQXJyb3dzIiwiYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzIiwiZ3JvdXAiLCJtZW1vaXplZFVubW9uaXRvcmVkRWRnZXMiLCJ1bm1vbml0b3JlZEVkZ2VzIiwiaGFuZGxlRWRnZXNDaGVja2JveENoYW5nZSIsImlzQ2hlY2tlZCIsImVkZ2VzWm9vbUxldmVscyIsImhhbmRsZVBvaW50c0NoZWNrYm94Q2hhbmdlIiwiem9vbSIsImdldFpvb20iLCJyZW1vdmVMYXllciIsInJlbW92ZUZyb20iLCJhZGRMYXllciIsImluY2x1ZGVzIiwiYWRkVG8iLCJ0cmFja0xheWVyYm94Iiwic2V0dXBDaGVja2JveExpc3RlbmVyIiwiem9vbVJ1bGVzRm9yRXZlbnRzVmlldyIsInBheWxvYWQiLCJGcmFnbWVudCIsInpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzIiwibWVtb2l6ZWRab29tQ29udHJvbCIsIm1lbW9pemVkRXZlbnQiLCJmb2N1c2VkIiwiaG92ZXJlZCIsIkV2ZW50IiwiZXZlbnQiLCJpbmNsdWRlTmV0d29yayIsInVzZUVmZmVjdCIsImNsZWFudXAiLCJfbWFwUmVmJGN1cnJlbnQiLCJjbGVhckxheWVycyIsImV2ZW50RmlsdGVyUGFyYW0iLCJjbGVhclBvaW50cyIsImNsZWFyQXJlYXMiLCJlYWNoTGF5ZXIiLCJsYXllciIsIlRpbGVMYXllciIsIndhdGVyQXV0aG9yaXR5SWQiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJhcmVhIiwic2hhcGVfZGF0YSIsImZsYXQiLCJhcmVhRm9jdXNMb2dpYyIsIl9tYXBSZWYkY3VycmVudDIiLCJjbGlja2VkIiwia2FuZG9fb2JqZWN0X2lkIiwiaXNQb3B1cE9wZW4iLCJNYXJrZXIiLCJmaXJlIiwiUG9seWdvbiIsInJlbmRlckFyZWFzIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJBcmVhUG9seWdvbnMiLCJtYXBab29tIiwiZmVhdHVyZUdyb3VwIiwiY2xhc3NOYW1lIiwiY29uY2F0Iiwic2lkZW5hdkV4cGFuZGVkIiwiaWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCAqIGFzIEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0ICdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0ICdsZWFmbGV0LmhlYXQnO1xuaW1wb3J0IFJlYWN0LCB7XG4gIENTU1Byb3BlcnRpZXMsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG4vLyBpbXBvcnQgeyBzdG9yZU1hcCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBBcmVhUG9seWdvbnMgfSBmcm9tICcuL2FyZWFzL0FyZWFQb2x5Z29ucyc7XG5pbXBvcnQgRWRnZXMgZnJvbSAnLi9lZGdlcy9FZGdlcyc7XG5pbXBvcnQgJy4vTWFwLnNjc3MnO1xuaW1wb3J0ICcuL3BvaW50cy9Qb2ludEljb24uc2Nzcyc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuLy8gaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi9ldmVudHMvRXZlbnQnO1xuaW1wb3J0IHtcbiAgYXJlYUZvY3VzTG9naWMsXG4gIGZpbHRlckVkZ2VzLFxuICBmaWx0ZXJQb2ludHMsXG4gIGluaXRpYWxpemVNYXAsXG4gIGlzVmFsaWRBcmVhLFxuICBzZXR1cENoZWNrYm94TGlzdGVuZXIsXG4gIHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxuICB6b29tTGV2ZWxzLFxufSBmcm9tICcuL01hcFV0aWxzJztcbmltcG9ydCB7IGxlYWZsZXRNYXAgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0Q29udGV4dCc7XG5pbXBvcnQgeyBjbGVhckFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY2xlYXJQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xucmVxdWlyZSgnbGVhZmxldC5tYXJrZXJjbHVzdGVyJyk7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBlZGdlcz86IElFZGdlW107XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogYW55O1xuICBzdHlsZT86IENTU1Byb3BlcnRpZXM7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xuICBmb3JFdmVudHNWaWV3OiBib29sZWFuO1xuICBmb3JXV1RQRGFzaGJvYXJkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE1hcDogUmVhY3QuRkM8TWFwUHJvcHM+ID0gKHtcbiAgYXJlYXMsXG4gIGVkZ2VzLFxuICBwb2ludHMsXG4gIGdsb2JhbF9kYXRhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgZm9jdXNlZEV2ZW50LFxuICBob3ZlcmVkRXZlbnQsXG4gIGhpZGVFZGdlcyA9IGZhbHNlLFxuICBtYXBCb3hTdHlsZSA9IGxlYWZsZXRNYXAubWFwRGVmYXVsdCxcbiAgY2hpbGRyZW4sXG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA9IHRydWUsXG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMgPSBmYWxzZSxcbiAgZm9yRXZlbnRzVmlldyA9IGZhbHNlLFxuICBzdHlsZSA9IHt9LFxuICBmb3JXV1RQRGFzaGJvYXJkID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IFtlZGdlc0NoZWNrYm94LCBzZXRFZGdlc0NoZWNrYm94XSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbb25seU1vbml0b3JlZFBvaW50cywgc2V0T25seU1vbml0b3JlZFBvaW50c10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGVkZ2VzQ2hlY2tib3hSZWYgPSB1c2VSZWYoZWRnZXNDaGVja2JveCk7XG5cbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIC8vIEFkZCBwYXJlbnQgbGF5ZXIgZ3JvdXAgZm9yIGFsbCBmYWN0b3JpZXNcbiAgY29uc3QgW2ZhY3Rvcmllc1BhcmVudEdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW3VubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbbW9uaXRvcmVkRmFjdG9yaWVzR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbdW5tb25pdG9yZWRFZGdlc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW21vbml0b3JlZEVkZ2VzR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbd3d0cHNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2NvbGxlY3RvcnNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2FyZWFzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShuZXcgTC5GZWF0dXJlR3JvdXAoKSk7XG5cbiAgY29uc3QgcmVuZGVyUG9pbnRNYXJrZXJzID0gKGZpbHRlcmVkUG9pbnRzLCBtYXBSZWYsIHByb3BzKSA9PlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgcG9pbnRzICYmIChcbiAgICAgIDxQb2ludE1hcmtlcnMgbWFwPXttYXBSZWYuY3VycmVudH0gcG9pbnRzPXtmaWx0ZXJlZFBvaW50c30gey4uLnByb3BzfSAvPlxuICAgICk7XG5cbiAgY29uc3QgbWVtb2l6ZWRNb25pdG9yZWRQb2ludHMgPSAoKSA9PiB7XG4gICAgY29uc3QgbW9uaXRvcmVkUG9pbnRzID0gZmlsdGVyUG9pbnRzKHBvaW50cywgdHJ1ZSk7XG4gICAgcmV0dXJuIHJlbmRlclBvaW50TWFya2Vycyhtb25pdG9yZWRQb2ludHMsIG1hcFJlZiwge1xuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzOiB0cnVlLFxuICAgICAgcmVyZW5kZXI6IHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSxcbiAgICAgIGZhY3Rvcmllc0dyb3VwOiBtb25pdG9yZWRGYWN0b3JpZXNHcm91cCxcbiAgICAgIHd3dHBzR3JvdXA6IHd3dHBzTGF5ZXJHcm91cCxcbiAgICAgIGNvbGxlY3RvcnNHcm91cDogY29sbGVjdG9yc0xheWVyR3JvdXAsXG4gICAgICBmb3JFdmVudHNWaWV3OiBmb3JFdmVudHNWaWV3LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkVW5tb25pdG9yZWRQb2ludHMgPSAoKSA9PiB7XG4gICAgY29uc3QgdW5tb25pdG9yZWRQb2ludHMgPSBmaWx0ZXJQb2ludHMocG9pbnRzLCBmYWxzZSk7XG4gICAgcmV0dXJuIHJlbmRlclBvaW50TWFya2Vycyh1bm1vbml0b3JlZFBvaW50cywgbWFwUmVmLCB7XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM6IHRydWUsXG4gICAgICByZXJlbmRlcjogem9vbUxldmVsc1ttYXBab29tTGV2ZWxdLFxuICAgICAgZmFjdG9yaWVzR3JvdXA6IHVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAsXG4gICAgICB3d3Rwc0dyb3VwOiB3d3Rwc0xheWVyR3JvdXAsXG4gICAgICBjb2xsZWN0b3JzR3JvdXA6IGNvbGxlY3RvcnNMYXllckdyb3VwLFxuICAgICAgZm9yRXZlbnRzVmlldzogZm9yRXZlbnRzVmlldyxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJFZGdlcyA9IChmaWx0ZXJlZEVkZ2VzLCBtYXBSZWYsIGVkZ2VzQ2hlY2tib3gsIHByb3BzKSA9PlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXNDaGVja2JveCAmJiAoXG4gICAgICA8RWRnZXMgZWRnZXM9e2ZpbHRlcmVkRWRnZXN9IG1hcD17bWFwUmVmLmN1cnJlbnR9IHsuLi5wcm9wc30gLz5cbiAgICApO1xuXG4gIGNvbnN0IG1lbW9pemVkRWRnZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBtb25pdG9yZWRFZGdlcyA9IGZpbHRlckVkZ2VzKGVkZ2VzLCBwb2ludHMsIHRydWUpO1xuICAgIHJldHVybiByZW5kZXJFZGdlcyhtb25pdG9yZWRFZGdlcywgbWFwUmVmLCBlZGdlc0NoZWNrYm94LCB7XG4gICAgICBMLFxuICAgICAgcG9pbnRzLFxuICAgICAgaGlkZUVkZ2VzOiBmYWxzZSxcbiAgICAgIGhpZGVBcnJvd3M6IHRydWUsXG4gICAgICBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHM6IGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMsXG4gICAgICBncm91cDogbW9uaXRvcmVkRWRnZXNHcm91cCxcbiAgICB9KTtcbiAgfSwgW3BvaW50cywgZWRnZXNDaGVja2JveF0pO1xuXG4gIGNvbnN0IG1lbW9pemVkVW5tb25pdG9yZWRFZGdlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChvbmx5TW9uaXRvcmVkUG9pbnRzKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IHVubW9uaXRvcmVkRWRnZXMgPSBmaWx0ZXJFZGdlcyhlZGdlcywgcG9pbnRzLCBmYWxzZSk7XG4gICAgcmV0dXJuIHJlbmRlckVkZ2VzKHVubW9uaXRvcmVkRWRnZXMsIG1hcFJlZiwgZWRnZXNDaGVja2JveCwge1xuICAgICAgTCxcbiAgICAgIHBvaW50cyxcbiAgICAgIGhpZGVFZGdlczogZmFsc2UsXG4gICAgICBoaWRlQXJyb3dzOiB0cnVlLFxuICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzOiBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzLFxuICAgICAgZ3JvdXA6IHVubW9uaXRvcmVkRWRnZXNHcm91cCxcbiAgICB9KTtcbiAgfSwgW3BvaW50cywgZWRnZXNDaGVja2JveF0pO1xuXG4gIGNvbnN0IGhhbmRsZUVkZ2VzQ2hlY2tib3hDaGFuZ2UgPSAoaXNDaGVja2VkKSA9PiB7XG4gICAgc2V0RWRnZXNDaGVja2JveChpc0NoZWNrZWQpO1xuICB9O1xuXG4gIC8vIFRoaXMgdmFyaWFibGUgc3RvcmVzIHRoZSB6b29tIGxldmVscyB0aGUgZWRnZXMgYXJlIGRpc3BsYXllZFxuICAvLyBJdCBpcyB1c2VkIGluIHR3byBwbGFjZXMgaW4gdGhlIGNvZGUsIHNvIGl0IGlzIGJldHRlciB0byBzdG9yZSBpdCBpbiBvbmUgcGxhY2VcbiAgY29uc3QgZWRnZXNab29tTGV2ZWxzID0gWydTbWFsbCcsICdNZWRpdW0nLCAnTUxhcmdlJywgJ0xhcmdlJ107XG5cbiAgY29uc3QgaGFuZGxlUG9pbnRzQ2hlY2tib3hDaGFuZ2UgPSAoaXNDaGVja2VkKSA9PiB7XG4gICAgc2V0T25seU1vbml0b3JlZFBvaW50cyhpc0NoZWNrZWQpO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgbGV0IHpvb20gPSB6b29tTGV2ZWxzW21hcFJlZi5jdXJyZW50LmdldFpvb20oKV07XG5cbiAgICAgIGlmIChpc0NoZWNrZWQpIHtcbiAgICAgICAgLy8gSGlkZSB1bm1vbml0b3JlZCBwb2ludHMgd2hlbiBcInNob3cgb25seSBtb25pdG9yZWRcIiBpcyBjaGVja2VkXG4gICAgICAgIGZhY3Rvcmllc1BhcmVudEdyb3VwLnJlbW92ZUxheWVyKHVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXApO1xuICAgICAgICB1bm1vbml0b3JlZEVkZ2VzR3JvdXAucmVtb3ZlRnJvbShtYXBSZWYuY3VycmVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTaG93IGFsbCBwb2ludHMgd2hlbiBcInNob3cgb25seSBtb25pdG9yZWRcIiBpcyB1bmNoZWNrZWRcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuYWRkTGF5ZXIodW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCk7XG5cbiAgICAgICAgLy8gU2hvdyB1bm1vbml0b3JlZCBlZGdlcyBpZiBhdCBhcHByb3ByaWF0ZSB6b29tIGxldmVsXG4gICAgICAgIGlmIChlZGdlc0NoZWNrYm94UmVmLmN1cnJlbnQgJiYgZWRnZXNab29tTGV2ZWxzLmluY2x1ZGVzKHpvb20pKSB7XG4gICAgICAgICAgdW5tb25pdG9yZWRFZGdlc0dyb3VwLmFkZFRvKG1hcFJlZi5jdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCB0cmFja0xheWVyYm94ID0gKCkgPT4ge1xuICAgIHNldHVwQ2hlY2tib3hMaXN0ZW5lcignI2VkZ2VzLWNoZWNrYm94JywgaGFuZGxlRWRnZXNDaGVja2JveENoYW5nZSk7XG4gICAgc2V0dXBDaGVja2JveExpc3RlbmVyKFxuICAgICAgJyNtb25pdG9yZWQtcG9pbnRzLWNoZWNrYm94JyxcbiAgICAgIGhhbmRsZVBvaW50c0NoZWNrYm94Q2hhbmdlLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRXZlbnRzVmlldyA9ICgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gKFxuICAgICAgPD5cbiAgICAgICAge21lbW9pemVkRWRnZXN9XG4gICAgICAgIHttZW1vaXplZFVubW9uaXRvcmVkRWRnZXN9XG4gICAgICAgIHttZW1vaXplZFVubW9uaXRvcmVkUG9pbnRzKCl9XG4gICAgICAgIHttZW1vaXplZE1vbml0b3JlZFBvaW50cygpfVxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IHpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzID0gKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gKFxuICAgICAgPD5cbiAgICAgICAge21lbW9pemVkVW5tb25pdG9yZWRQb2ludHMoKX1cbiAgICAgICAge21lbW9pemVkTW9uaXRvcmVkUG9pbnRzKCl9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgaWYgKGVkZ2VzWm9vbUxldmVscy5pbmNsdWRlcyh6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0pKSB7XG4gICAgICBwYXlsb2FkID0gem9vbVJ1bGVzRm9yRXZlbnRzVmlldygpO1xuICAgIH1cblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkWm9vbUNvbnRyb2wgPSAoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGZvckV2ZW50c1ZpZXdcbiAgICAgID8gem9vbVJ1bGVzRm9yRXZlbnRzVmlldygpXG4gICAgICA6IHpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzKCk7XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3QgbWVtb2l6ZWRFdmVudCA9ICgpID0+IHtcbiAgICBpZiAoZm9jdXNlZEV2ZW50UHJlc2VudCkge1xuICAgICAgZm9jdXNlZEV2ZW50IS5mb2N1c2VkID0gZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICAgIGZvY3VzZWRFdmVudCEuaG92ZXJlZCA9ICFmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmIChob3ZlcmVkRXZlbnRQcmVzZW50KSB7XG4gICAgICBob3ZlcmVkRXZlbnQhLmhvdmVyZWQgPSBob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgICAgaG92ZXJlZEV2ZW50IS5mb2N1c2VkID0gIWhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKCFob3ZlcmVkRXZlbnRQcmVzZW50ICYmICFmb2N1c2VkRXZlbnRQcmVzZW50KSByZXR1cm4gPD48Lz47XG4gICAgcmV0dXJuIChcbiAgICAgIDxFdmVudFxuICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50ISB8fCBob3ZlcmVkRXZlbnQhfVxuICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICBpbmNsdWRlTmV0d29yaz17IWhvdmVyZWRFdmVudFByZXNlbnR9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBlZGdlc0NoZWNrYm94UmVmLmN1cnJlbnQgPSBlZGdlc0NoZWNrYm94O1xuICB9LCBbZWRnZXNDaGVja2JveF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGNvbGxlY3RvcnNMYXllckdyb3VwKTtcbiAgICB9O1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgaWYgKGZvckV2ZW50c1ZpZXcgJiYgbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgZGlzcGF0Y2goY2xlYXJQb2ludHMoKSk7XG4gICAgICAgIGRpc3BhdGNoKGNsZWFyQXJlYXMoKSk7XG4gICAgICAgIHd3dHBzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBhcmVhc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgbW9uaXRvcmVkRWRnZXNHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICB1bm1vbml0b3JlZEVkZ2VzR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgbW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgdW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBmYWN0b3JpZXNQYXJlbnRHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmVMYXllcih1bm1vbml0b3JlZEVkZ2VzR3JvdXApO1xuICAgICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmVMYXllcihtb25pdG9yZWRFZGdlc0dyb3VwKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlTGF5ZXIod3d0cHNMYXllckdyb3VwKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAgICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmVMYXllcihhcmVhc0xheWVyR3JvdXApO1xuICAgICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmVMYXllcihmYWN0b3JpZXNQYXJlbnRHcm91cCk7XG5cbiAgICAgICAgbWFwUmVmLmN1cnJlbnQuZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgICAgICAgIGlmIChsYXllciBpbnN0YW5jZW9mIEwuVGlsZUxheWVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZUxheWVyKGxheWVyKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICAgZm9yV1dUUERhc2hib2FyZCxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICk7XG5cbiAgICAgIC8vIEluaXRpYWxpemUgcGFyZW50IGZhY3RvcnkgZ3JvdXBcbiAgICAgIGlmIChtYXBSZWYuY3VycmVudCkge1xuICAgICAgICBmYWN0b3JpZXNQYXJlbnRHcm91cC5hZGRUbyhtYXBSZWYuY3VycmVudCk7XG4gICAgICAgIGZhY3Rvcmllc1BhcmVudEdyb3VwLmFkZExheWVyKG1vbml0b3JlZEZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuYWRkTGF5ZXIodW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCk7XG4gICAgICB9XG5cbiAgICAgIHRyYWNrTGF5ZXJib3goKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0TWFwWm9vbUxldmVsKG1hcFJlZi5jdXJyZW50LmdldFpvb20oKSk7XG4gICAgICBpZiAoIWFyZWFUb0NlbnRlckJ5KSB7XG4gICAgICAgIGFyZWFUb0NlbnRlckJ5ID0gYXJlYXMubWFwKChhcmVhKSA9PiBhcmVhLnNoYXBlX2RhdGEpLmZsYXQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFmb3JFdmVudHNWaWV3IHx8ICFmb2N1c2VkRXZlbnQpIHtcbiAgICAgICAgYXJlYUZvY3VzTG9naWMobWFwUmVmLCBpc1ZhbGlkQXJlYSwgYXJlYVRvQ2VudGVyQnkpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2FyZWFUb0NlbnRlckJ5XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY2xpY2tlZCA9IGZhbHNlO1xuXG4gICAgbWFwUmVmLmN1cnJlbnQ/LmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgIGlmIChjbGlja2VkKSByZXR1cm47XG5cbiAgICAgIGlmIChcbiAgICAgICAgbGF5ZXI/LmthbmRvX29iamVjdF9pZCA9PT0gc2VsZWN0ZWRJdGVtICYmXG4gICAgICAgIGxheWVyLmlzUG9wdXBPcGVuKCkgPT09IGZhbHNlXG4gICAgICApIHtcbiAgICAgICAgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5NYXJrZXIpIHtcbiAgICAgICAgICBsYXllci5maXJlKCdjbGljaycpO1xuICAgICAgICB9IGVsc2UgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5Qb2x5Z29uKSB7XG4gICAgICAgICAgbGF5ZXIuZmlyZSgnY2xpY2stZXZlbnQnKTtcbiAgICAgICAgfVxuICAgICAgICBjbGlja2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW3NlbGVjdGVkSXRlbV0pO1xuXG4gIGNvbnN0IHJlbmRlckFyZWFzID0gKCkgPT4ge1xuICAgIGlmICghc2hvdWxkTG9hZE1hcE9iamVjdHMoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgZWRnZXMsIHBvaW50cykpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8QXJlYVBvbHlnb25zXG4gICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgTD17TH1cbiAgICAgICAgYXJlYVRvQ2VudGVyQnk9e2FyZWFUb0NlbnRlckJ5fVxuICAgICAgICBtYXBab29tPXttYXBab29tTGV2ZWx9XG4gICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgZmVhdHVyZUdyb3VwPXthcmVhc0xheWVyR3JvdXB9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImtkLW1hcC1jb250YWluZXJcIiBzdHlsZT17c3R5bGV9PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2AgbWFwLWNvbnRhaW5lciAke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ21hcC1jb250YWluZXItLXNpZGVuYXYtY29sbGFwc2VkJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPGRpdiBpZD1cIm1hcFwiPlxuICAgICAgICAgICAge3JlbmRlckFyZWFzKCl9XG4gICAgICAgICAgICB7c2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyhcbiAgICAgICAgICAgICAgZWRnZXMsXG4gICAgICAgICAgICAgIGFyZWFzLFxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YSxcbiAgICAgICAgICAgICAgbWFwUmVmLFxuICAgICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgICApICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICB7bWVtb2l6ZWRFdmVudCgpfVxuICAgICAgICAgICAgICAgIHttZW1vaXplZFpvb21Db250cm9sKCl9XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsQ0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFPQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFPQSxJQUFBRyxjQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFGLHNCQUFBLENBQUFKLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUCxPQUFBO0FBRUEsSUFBQVEsTUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsU0FBQSxHQUFBVCxPQUFBO0FBV0EsSUFBQVUsTUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsWUFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksUUFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsU0FBQSxHQUFBYixPQUFBO0FBQXVELFNBQUFjLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFE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
|
|
@@ -137,8 +137,6 @@ var PointMarker = function PointMarker(props) {
|
|
|
137
137
|
(0, _PointUtils.createBubblePoint)(markerLocation, point, map, null, layerGroup, flowRateUnit, handleSelectItem);
|
|
138
138
|
}
|
|
139
139
|
};
|
|
140
|
-
|
|
141
|
-
// blobal_data is used here to force markers re-render when in events view, going back from a focused event
|
|
142
140
|
(0, _react.useEffect)(function () {
|
|
143
141
|
renderLogic();
|
|
144
142
|
}, [rerender]);
|
|
@@ -149,4 +147,4 @@ var _default = connectedMarker( /*#__PURE__*/_react.default.memo(PointMarker, fu
|
|
|
149
147
|
return prevProps.events_data.focusedEvent === nextProps.events_data.focusedEvent;
|
|
150
148
|
}));
|
|
151
149
|
exports.default = _default;
|
|
152
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9Qb2ludFV0aWxzIiwiX1dpZGdldCIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfTGlzdENvbnRleHQiLCJfQ2FwYWNpdHkiLCJfcmVhY3RSb3V0ZXJEb20iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwicG9pbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsIlBvaW50TWFya2VyIiwicHJvcHMiLCJtYXAiLCJwb2ludCIsInJlcmVuZGVyIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU2VsZWN0ZWRJdGVtIiwidXNlU2VsZWN0ZWRJdGVtIiwiaGFuZGxlU2VsZWN0SXRlbSIsIldXVFBNb2RlIiwidXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwiV1dUUE1hcExvZ2ljIiwibWFya2VyTG9jYXRpb24iLCJ3d3RwUG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsImZvcldXVFBNYXAiLCJtYXJrZXJPbk1hcCIsImdldExheWVycyIsImZpbmQiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImlkIiwiYXJncyIsInd3dHAiLCJidWJibGVGb3JXV1RQIiwidG9vbHRpcFZpc2libGUiLCJhZGRUbyIsImZldGNoRGF0YUFuZFNob3dQb3B1cCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIndpZGdldENvbnRhaW5lciIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsInJlbmRlcmVkRWxlbWVudCIsIm1hcmtlciIsImZldGNoQ2FwYWNpdHkiLCJ3YXRlckF1dGhvcml0eUlkIiwidGhlbiIsImxpc3REYXRhIiwiUmVhY3RET00iLCJyZW5kZXIiLCJXaWRnZXQiLCJvYmplY3QiLCJwb2ludHMiLCJpdGVtcyIsImFyZWFzIiwibmV3QXJlYXMiLCJpc1BvcHVwT3BlbiIsIm9wZW5Qb3B1cCIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsIm9uIiwiY2xvc2VQb3B1cCIsInNlbmRBbmFseXRpY3NFdmVudCIsInBvaW50X2lkIiwicG9pbnRfbmFtZSIsIm5hbWUiLCJzZXRJY29uIiwicmVuZGVyTG9naWMiLCJwb2ludElzV1dUUCIsImNyZWF0ZUJ1YmJsZVBvaW50IiwidXNlRWZmZWN0IiwiRnJhZ21lbnQiLCJjb25uZWN0ZWRNYXJrZXIiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJSZWFjdCIsIm1lbW8iLCJwcmV2UHJvcHMiLCJuZXh0UHJvcHMiLCJmb2N1c2VkRXZlbnQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludE1hcmtlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHtcbiAgYnViYmxlRm9yV1dUUCxcbiAgY3JlYXRlQnViYmxlUG9pbnQsXG4gIHBvaW50SXNXV1RQLFxuICBzZXRJY29uLFxufSBmcm9tICcuL1BvaW50VXRpbHMnO1xuaW1wb3J0IHsgV2lkZ2V0IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XaWRnZXQnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHtcbiAgY3JlYXRlUG9wdXBGb3JPYmplY3QsXG4gIHNlbmRBbmFseXRpY3NFdmVudCxcbn0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IGZldGNoQ2FwYWNpdHkgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0NhcGFjaXR5JztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBldmVudHNfZGF0YSwgYXJlYXNfZGF0YSwgcG9pbnRzX2RhdGEsIGdsb2JhbF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdGVkTWFya2VyPiAmIHtcbiAgbWFwOiBhbnk7XG4gIHBvaW50OiBJUG9pbnQ7XG4gIHJlcmVuZGVyOiBzdHJpbmc7XG4gIGxheWVyR3JvdXA6IGFueTtcbiAgZmxvd1JhdGVVbml0OiBzdHJpbmc7XG59O1xuXG5jb25zdCBQb2ludE1hcmtlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBtYXAsXG4gICAgcG9pbnQsXG4gICAgcmVyZW5kZXIsXG4gICAgbGF5ZXJHcm91cCxcbiAgICBmbG93UmF0ZVVuaXQsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuXG4gIGNvbnN0IFdXVFBNYXBMb2dpYyA9IChtYXJrZXJMb2NhdGlvbikgPT4ge1xuICAgIGNvbnN0IHd3dHBQb2ludCA9IHtcbiAgICAgIC4uLnBvaW50LFxuICAgICAgZm9yV1dUUE1hcDogdHJ1ZSxcbiAgICB9O1xuICAgIGNvbnN0IG1hcmtlck9uTWFwID0gbGF5ZXJHcm91cFxuICAgICAgLmdldExheWVycygpXG4gICAgICAuZmluZCgobGF5ZXIpID0+IGxheWVyLmthbmRvX29iamVjdF9pZCA9PT0gcG9pbnQuaWQpO1xuICAgIGxldCBhcmdzID0geyBtYXJrZXJMb2NhdGlvbiwgd3d0cFBvaW50IH07XG4gICAgbGV0IHd3dHA6IEwuTWFya2VyID0gbWFya2VyT25NYXAgPyBtYXJrZXJPbk1hcCA6IGJ1YmJsZUZvcldXVFAoYXJncyk7XG4gICAgbGV0IHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBpZiAoIW1hcmtlck9uTWFwKSB7XG4gICAgICB3d3RwLmFkZFRvKGxheWVyR3JvdXApO1xuICAgIH1cblxuICAgIGNvbnN0IGZldGNoRGF0YUFuZFNob3dQb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgY3JlYXRlUG9wdXBGb3JPYmplY3Qoe1xuICAgICAgICByZW5kZXJlZEVsZW1lbnQ6IHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgbWFya2VyOiB3d3RwLFxuICAgICAgfSk7XG5cbiAgICAgIGZldGNoQ2FwYWNpdHkoJ3NpdGUnLCBwb2ludC5pZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgKGxpc3REYXRhKSA9PiB7XG4gICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBvYmplY3Q9e3d3dHBQb2ludH1cbiAgICAgICAgICAgICAgZGlzcGF0Y2g9e2Rpc3BhdGNofVxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBhcmVhcz17YXJlYXNfZGF0YS5uZXdBcmVhc31cbiAgICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgbGlzdERhdGE9e2xpc3REYXRhfVxuICAgICAgICAgICAgICBoaXN0b3J5PXtoaXN0b3J5fVxuICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICB3aWRnZXRDb250YWluZXIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIGlmICghd3d0cC5pc1BvcHVwT3BlbigpKSB7XG4gICAgICAgIHd3dHAub3BlblBvcHVwKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHd3dHAub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgd3d0cC5pc1BvcHVwT3BlbigpID8gd3d0cC5jbG9zZVBvcHVwKCkgOiBmZXRjaERhdGFBbmRTaG93UG9wdXAoKTtcbiAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBXV1RQIGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICBwb2ludF9pZDogcG9pbnQuaWQsXG4gICAgICAgIHBvaW50X25hbWU6IHBvaW50Lm5hbWUsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHd3dHAub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICAgIGlmICh0b29sdGlwVmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgICBzZXRJY29uKHd3dHAsIHRydWUsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHd3dHAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgaWYgKHd3dHAuaXNQb3B1cE9wZW4oKSkgcmV0dXJuO1xuXG4gICAgICBzZXRJY29uKHd3dHAsIGZhbHNlLCBwb2ludCk7XG4gICAgICB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgd3d0cC5vbigncG9wdXBjbG9zZScsICgpID0+IHtcbiAgICAgIHNldEljb24od3d0cCwgZmFsc2UsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICB3d3RwLm9uKCdwb3B1cG9wZW4nLCAoKSA9PiB7XG4gICAgICBzZXRJY29uKHd3dHAsIHRydWUsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJMb2dpYyA9ICgpID0+IHtcbiAgICBsZXQgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlID0gW3BvaW50WydsYXRpdHVkZSddLCBwb2ludFsnbG9uZ2l0dWRlJ11dO1xuICAgIGlmIChtYXJrZXJMb2NhdGlvblswXSA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgaWYgKHBvaW50SXNXV1RQKHBvaW50KSAmJiBXV1RQTW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgV1dUUE1hcExvZ2ljKG1hcmtlckxvY2F0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgICBwb2ludCxcbiAgICAgICAgbWFwLFxuICAgICAgICBudWxsLFxuICAgICAgICBsYXllckdyb3VwLFxuICAgICAgICBmbG93UmF0ZVVuaXQsXG4gICAgICAgIGhhbmRsZVNlbGVjdEl0ZW0sXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICAvLyBibG9iYWxfZGF0YSBpcyB1c2VkIGhlcmUgdG8gZm9yY2UgbWFya2VycyByZS1yZW5kZXIgd2hlbiBpbiBldmVudHMgdmlldywgZ29pbmcgYmFjayBmcm9tIGEgZm9jdXNlZCBldmVudFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlckxvZ2ljKCk7XG4gIH0sIFtyZXJlbmRlcl0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RlZE1hcmtlciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RlZE1hcmtlcihcbiAgUmVhY3QubWVtbyhQb2ludE1hcmtlciwgKHByZXZQcm9wcywgbmV4dFByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHByZXZQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQgPT09IG5leHRQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnRcbiAgICApO1xuICB9KSxcbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxH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
|
|
150
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9Qb2ludFV0aWxzIiwiX1dpZGdldCIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfTGlzdENvbnRleHQiLCJfQ2FwYWNpdHkiLCJfcmVhY3RSb3V0ZXJEb20iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwicG9pbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsIlBvaW50TWFya2VyIiwicHJvcHMiLCJtYXAiLCJwb2ludCIsInJlcmVuZGVyIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU2VsZWN0ZWRJdGVtIiwidXNlU2VsZWN0ZWRJdGVtIiwiaGFuZGxlU2VsZWN0SXRlbSIsIldXVFBNb2RlIiwidXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwiV1dUUE1hcExvZ2ljIiwibWFya2VyTG9jYXRpb24iLCJ3d3RwUG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsImZvcldXVFBNYXAiLCJtYXJrZXJPbk1hcCIsImdldExheWVycyIsImZpbmQiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImlkIiwiYXJncyIsInd3dHAiLCJidWJibGVGb3JXV1RQIiwidG9vbHRpcFZpc2libGUiLCJhZGRUbyIsImZldGNoRGF0YUFuZFNob3dQb3B1cCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIndpZGdldENvbnRhaW5lciIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsInJlbmRlcmVkRWxlbWVudCIsIm1hcmtlciIsImZldGNoQ2FwYWNpdHkiLCJ3YXRlckF1dGhvcml0eUlkIiwidGhlbiIsImxpc3REYXRhIiwiUmVhY3RET00iLCJyZW5kZXIiLCJXaWRnZXQiLCJvYmplY3QiLCJwb2ludHMiLCJpdGVtcyIsImFyZWFzIiwibmV3QXJlYXMiLCJpc1BvcHVwT3BlbiIsIm9wZW5Qb3B1cCIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsIm9uIiwiY2xvc2VQb3B1cCIsInNlbmRBbmFseXRpY3NFdmVudCIsInBvaW50X2lkIiwicG9pbnRfbmFtZSIsIm5hbWUiLCJzZXRJY29uIiwicmVuZGVyTG9naWMiLCJwb2ludElzV1dUUCIsImNyZWF0ZUJ1YmJsZVBvaW50IiwidXNlRWZmZWN0IiwiRnJhZ21lbnQiLCJjb25uZWN0ZWRNYXJrZXIiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJSZWFjdCIsIm1lbW8iLCJwcmV2UHJvcHMiLCJuZXh0UHJvcHMiLCJmb2N1c2VkRXZlbnQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludE1hcmtlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHtcbiAgYnViYmxlRm9yV1dUUCxcbiAgY3JlYXRlQnViYmxlUG9pbnQsXG4gIHBvaW50SXNXV1RQLFxuICBzZXRJY29uLFxufSBmcm9tICcuL1BvaW50VXRpbHMnO1xuaW1wb3J0IHsgV2lkZ2V0IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XaWRnZXQnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHtcbiAgY3JlYXRlUG9wdXBGb3JPYmplY3QsXG4gIHNlbmRBbmFseXRpY3NFdmVudCxcbn0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IGZldGNoQ2FwYWNpdHkgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0NhcGFjaXR5JztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBldmVudHNfZGF0YSwgYXJlYXNfZGF0YSwgcG9pbnRzX2RhdGEsIGdsb2JhbF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdGVkTWFya2VyPiAmIHtcbiAgbWFwOiBhbnk7XG4gIHBvaW50OiBJUG9pbnQ7XG4gIHJlcmVuZGVyOiBzdHJpbmc7XG4gIGxheWVyR3JvdXA6IGFueTtcbiAgZmxvd1JhdGVVbml0OiBzdHJpbmc7XG59O1xuXG5jb25zdCBQb2ludE1hcmtlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBtYXAsXG4gICAgcG9pbnQsXG4gICAgcmVyZW5kZXIsXG4gICAgbGF5ZXJHcm91cCxcbiAgICBmbG93UmF0ZVVuaXQsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuXG4gIGNvbnN0IFdXVFBNYXBMb2dpYyA9IChtYXJrZXJMb2NhdGlvbikgPT4ge1xuICAgIGNvbnN0IHd3dHBQb2ludCA9IHtcbiAgICAgIC4uLnBvaW50LFxuICAgICAgZm9yV1dUUE1hcDogdHJ1ZSxcbiAgICB9O1xuICAgIGNvbnN0IG1hcmtlck9uTWFwID0gbGF5ZXJHcm91cFxuICAgICAgLmdldExheWVycygpXG4gICAgICAuZmluZCgobGF5ZXIpID0+IGxheWVyLmthbmRvX29iamVjdF9pZCA9PT0gcG9pbnQuaWQpO1xuICAgIGxldCBhcmdzID0geyBtYXJrZXJMb2NhdGlvbiwgd3d0cFBvaW50IH07XG4gICAgbGV0IHd3dHA6IEwuTWFya2VyID0gbWFya2VyT25NYXAgPyBtYXJrZXJPbk1hcCA6IGJ1YmJsZUZvcldXVFAoYXJncyk7XG4gICAgbGV0IHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBpZiAoIW1hcmtlck9uTWFwKSB7XG4gICAgICB3d3RwLmFkZFRvKGxheWVyR3JvdXApO1xuICAgIH1cblxuICAgIGNvbnN0IGZldGNoRGF0YUFuZFNob3dQb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgY3JlYXRlUG9wdXBGb3JPYmplY3Qoe1xuICAgICAgICByZW5kZXJlZEVsZW1lbnQ6IHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgbWFya2VyOiB3d3RwLFxuICAgICAgfSk7XG5cbiAgICAgIGZldGNoQ2FwYWNpdHkoJ3NpdGUnLCBwb2ludC5pZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgKGxpc3REYXRhKSA9PiB7XG4gICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBvYmplY3Q9e3d3dHBQb2ludH1cbiAgICAgICAgICAgICAgZGlzcGF0Y2g9e2Rpc3BhdGNofVxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBhcmVhcz17YXJlYXNfZGF0YS5uZXdBcmVhc31cbiAgICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgbGlzdERhdGE9e2xpc3REYXRhfVxuICAgICAgICAgICAgICBoaXN0b3J5PXtoaXN0b3J5fVxuICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICB3aWRnZXRDb250YWluZXIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIGlmICghd3d0cC5pc1BvcHVwT3BlbigpKSB7XG4gICAgICAgIHd3dHAub3BlblBvcHVwKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHd3dHAub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgd3d0cC5pc1BvcHVwT3BlbigpID8gd3d0cC5jbG9zZVBvcHVwKCkgOiBmZXRjaERhdGFBbmRTaG93UG9wdXAoKTtcbiAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBXV1RQIGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICBwb2ludF9pZDogcG9pbnQuaWQsXG4gICAgICAgIHBvaW50X25hbWU6IHBvaW50Lm5hbWUsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHd3dHAub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICAgIGlmICh0b29sdGlwVmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgICBzZXRJY29uKHd3dHAsIHRydWUsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHd3dHAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgaWYgKHd3dHAuaXNQb3B1cE9wZW4oKSkgcmV0dXJuO1xuXG4gICAgICBzZXRJY29uKHd3dHAsIGZhbHNlLCBwb2ludCk7XG4gICAgICB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgd3d0cC5vbigncG9wdXBjbG9zZScsICgpID0+IHtcbiAgICAgIHNldEljb24od3d0cCwgZmFsc2UsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICB3d3RwLm9uKCdwb3B1cG9wZW4nLCAoKSA9PiB7XG4gICAgICBzZXRJY29uKHd3dHAsIHRydWUsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJMb2dpYyA9ICgpID0+IHtcbiAgICBsZXQgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlID0gW3BvaW50WydsYXRpdHVkZSddLCBwb2ludFsnbG9uZ2l0dWRlJ11dO1xuICAgIGlmIChtYXJrZXJMb2NhdGlvblswXSA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgaWYgKHBvaW50SXNXV1RQKHBvaW50KSAmJiBXV1RQTW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgV1dUUE1hcExvZ2ljKG1hcmtlckxvY2F0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgICBwb2ludCxcbiAgICAgICAgbWFwLFxuICAgICAgICBudWxsLFxuICAgICAgICBsYXllckdyb3VwLFxuICAgICAgICBmbG93UmF0ZVVuaXQsXG4gICAgICAgIGhhbmRsZVNlbGVjdEl0ZW0sXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlckxvZ2ljKCk7XG4gIH0sIFtyZXJlbmRlcl0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RlZE1hcmtlciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RlZE1hcmtlcihcbiAgUmVhY3QubWVtbyhQb2ludE1hcmtlciwgKHByZXZQcm9wcywgbmV4dFByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHByZXZQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQgPT09IG5leHRQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnRcbiAgICApO1xuICB9KSxcbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBTUEsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBRUEsSUFB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
|
package/lib/macros/getVersion.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var packageJsonVersion = "1.2.414-alpha.
|
|
3
|
+
var packageJsonVersion = "1.2.414-alpha.5";
|
|
4
4
|
if (typeof packageJsonVersion === 'string') {
|
|
5
5
|
// eslint-disable-next-line no-console
|
|
6
6
|
console.log("%c Kando UI %c v".concat(packageJsonVersion, " "), 'font-size: 15px; background-color: #fff; color: #e20f53;', 'font-weight: bold; font-size: 15px; background-color: #e20f53; color: #fff;', "with NODE_ENV=".concat(process.env.NODE_ENV));
|
|
@@ -137,7 +137,7 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
137
137
|
}
|
|
138
138
|
};
|
|
139
139
|
var showList = (0, _react.useMemo)(function () {
|
|
140
|
-
if (areas_data.isFetching || points_data.isFetching) return null;
|
|
140
|
+
if (areas_data.isFetching || points_data.isFetching) return /*#__PURE__*/_react.default.createElement(_Loader.Loader, null);
|
|
141
141
|
return /*#__PURE__*/_react.default.createElement(_List.List, {
|
|
142
142
|
global_data: global_data,
|
|
143
143
|
WWTPInfo: WWTPInfo,
|
|
@@ -173,4 +173,4 @@ var Container = _styledComponents.default.div.withConfig({
|
|
|
173
173
|
})(["width:100vw;.map-column{z-index:0;}.kd-map-container{height:calc(100vh - 134px);width:100%;@media (max-width:1250px){height:calc(100vh - 125px);}#map{height:100%;width:100%;*,*:focus,*:hover{outline:none;}.leaflet-popup-close-button{font-size:x-large;}}}"]);
|
|
174
174
|
var _default = WWTPMap;
|
|
175
175
|
exports.default = _default;
|
|
176
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwiaWQiLCJhcmVhSUQiLCJzaXRlSUQiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3d3RwX2Rhc2hib2FyZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvaW50cyIsInNldFBvaW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXJlYXMiLCJzZXRBcmVhcyIsIl91c2VTdGF0ZTUiLCJwb2ludCIsImFyZWEiLCJfdXNlU3RhdGU2IiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImRhc2hib2FyZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJvYmplY3QiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2giLCJ0eXBlIiwiaXNfdmlydHVhbCIsInZhbGlkT2JqZWN0IiwidG9TdHJpbmciLCJhcmVhX2lkIiwicGFyc2VJbnQiLCJzaG93RXh0cmEiLCJmb2N1c2VkQXJlYSIsImZldGNoQ2FwYWNpdHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJzZXRGb2N1c2VkSXRlbSIsImRhdGEiLCJzZXRGb2N1c2VkQXJlYSIsInV0aWxpdHlEaXJlY3RzIiwic29ydEFyZWFzIiwic2V0VGltZW91dCIsInVuZGVmaW5lZCIsIm1hcCIsImZvY3VzTWFwIiwiZ2V0QXJlYVRvQ2VudGVyQnkiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gyIiwic2hhcGVfZGF0YSIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaDMiLCJzaG93TGlzdCIsInVzZU1lbW8iLCJpc0ZldGNoaW5nIiwiY3JlYXRlRWxlbWVudCIsIkxpc3QiLCJMb2FkZXIiLCJTZWxlY3RlZEl0ZW1Qcm92aWRlciIsIkNvbnRhaW5lciIsIlJvdyIsImNsYXNzTmFtZSIsIkNvbCIsInhzIiwic20iLCJNYXAiLCJlZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwiYXJlYVRvQ2VudGVyQnkiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV1dUUE1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi9MaXN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGZvY3VzTWFwLCBpbml0aWFsaXplV1dUUERhdGEsIHNvcnRBcmVhcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi9Mb2FkZXInO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBTZWxlY3RlZEl0ZW1Qcm92aWRlciB9IGZyb20gJy4vTGlzdENvbnRleHQnO1xuaW1wb3J0IHsgUm93LCBDb2wgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmV0Y2hDYXBhY2l0eSwgc2V0Rm9jdXNlZEl0ZW0gfSBmcm9tICcuL0NhcGFjaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59XG5jb25zdCBXV1RQTWFwOiBSZWFjdC5GQzxDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCBzZWFyY2hRdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGlzTWFwVGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdtYXAnO1xuICBsZXQgeyBpZCwgYXJlYUlELCBzaXRlSUQgfSA9IHVzZVBhcmFtcygpO1xuICBpZCA9IGlkIHx8IGFyZWFJRCB8fCBzaXRlSUQ7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZWRnZXNfZGF0YSwgd3d0cF9kYXNoYm9hcmQgfSA9XG4gICAgUmVkdXhTdGF0ZTtcbiAgY29uc3QgW3BvaW50cywgc2V0UG9pbnRzXSA9IHVzZVN0YXRlPElQb2ludFtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFthcmVhcywgc2V0QXJlYXNdID0gdXNlU3RhdGU8SUFyZWFbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbV1dUUEluZm8sIHNldFdXVFBJbmZvXSA9IHVzZVN0YXRlPHtcbiAgICBwb2ludDogSVBvaW50IHwgbnVsbDtcbiAgICBhcmVhOiBJQXJlYSB8IG51bGw7XG4gIH0+KHsgcG9pbnQ6IG51bGwsIGFyZWE6IG51bGwgfSk7XG4gIGxldCBkYXRhRXhpc3RzID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBlZGdlc19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMFxuICAgICk7XG4gIH07XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAvLyAgICAgY29uc3QgcGVyaW9kID1cbiAgLy8gICAgICAgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kWydyYW5nZSddIHx8IFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZDtcbiAgLy8gICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCkpO1xuICAvLyAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gIC8vICAgICBkaXNwYXRjaChmZXRjaEFyZWFzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCwgdHJ1ZSkpO1xuICAvLyAgIH1cbiAgLy8gfSwgW1JlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZVdXVFBEYXRhKHtcbiAgICAgIGFyZWFzX2RhdGEsXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIHNldFBvaW50cyxcbiAgICAgIHNldEFyZWFzLFxuICAgICAgc2V0V1dUUEluZm8sXG4gICAgICBkYXRhRXhpc3RzLFxuICAgICAgaWQsXG4gICAgfSk7XG4gIH0sIFthcmVhc19kYXRhLCBwb2ludHNfZGF0YV0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgc2V0V1dUUEluZm8oY2FsY3VsYXRlV1dUUEluZm8oeyBpZCwgcG9pbnRzX2RhdGEsIGFyZWFzX2RhdGEgfSkpO1xuICAvLyB9LCBbaWRdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGZvY3VzTWFwKFdXVFBJbmZvLmFyZWEgfHwgV1dUUEluZm8ucG9pbnQsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIC8vIH0sIFtXV1RQSW5mb10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGNvbnN0IHBlcmlvZCA9XG4gICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICB9XG5cbiAgICAvLyByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAvLyAgIHNldFBvaW50cyhudWxsKTtcbiAgICAvLyAgIHNldEFyZWFzKG51bGwpO1xuICAgIC8vICAgc2V0V1dUUEluZm8oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgICAvLyB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvYmplY3QgPSBXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50O1xuXG4gICAgaWYgKGlzTWFwVGFiICYmIG9iamVjdCkge1xuICAgICAgY29uc3QgdHlwZSA9IFdXVFBJbmZvLmFyZWFcbiAgICAgICAgPyBvYmplY3QuaXNfdmlydHVhbCA9PT0gdHJ1ZVxuICAgICAgICAgID8gJ3ZhcmVhJ1xuICAgICAgICAgIDogJ2FyZWEnXG4gICAgICAgIDogJ3NpdGUnO1xuXG4gICAgICBjb25zdCB2YWxpZE9iamVjdCA9XG4gICAgICAgIHR5cGUgPT09ICdzaXRlJ1xuICAgICAgICAgID8gb2JqZWN0LmlkLnRvU3RyaW5nKCkgPT09IGlkXG4gICAgICAgICAgOiBvYmplY3QuYXJlYV9pZCA9PT0gcGFyc2VJbnQoaWQpO1xuXG4gICAgICBjb25zdCBzaG93RXh0cmEgPSBvYmplY3QuaWQgPT09IFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LmlkO1xuXG4gICAgICBpZiAodmFsaWRPYmplY3QpIHtcbiAgICAgICAgZmV0Y2hDYXBhY2l0eSh0eXBlLCBpZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgICAgICAgICBvYmplY3QsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICAgIGRpc3BhdGNoLFxuICAgICAgICAgICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgICAgICAgICAgc2hvd0V4dHJhLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB1dGlsaXR5RGlyZWN0cyA9IHNvcnRBcmVhcyhhcmVhcyk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgdXRpbGl0eURpcmVjdHMsXG4gICAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgICAvLyBmb2N1c01hcChvYmplY3QsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIH0sIFt3d3RwX2Rhc2hib2FyZC5tYXAsIFdXVFBJbmZvXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIVJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWEgfHwgIXd3dHBfZGFzaGJvYXJkLm1hcCkgcmV0dXJuO1xuXG4gICAgZm9jdXNNYXAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgfSwgW1JlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWFdKTtcblxuICBjb25zdCBnZXRBcmVhVG9DZW50ZXJCeSA9ICgpID0+IHtcbiAgICBpZiAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YSkge1xuICAgICAgcmV0dXJuIFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LnNoYXBlX2RhdGE7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHNob3dMaXN0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGFyZWFzX2RhdGEuaXNGZXRjaGluZyB8fCBwb2ludHNfZGF0YS5pc0ZldGNoaW5nKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiAoXG4gICAgICA8TGlzdCBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9IFdXVFBJbmZvPXtXV1RQSW5mb30gZGlzcGF0Y2g9e2Rpc3BhdGNofSAvPlxuICAgICk7XG4gIH0sIFthcmVhc19kYXRhLCBwb2ludHNfZGF0YSwgV1dUUEluZm9dKTtcblxuICBpZiAoIWlzTWFwVGFiKSByZXR1cm4gbnVsbDtcbiAgaWYgKCFkYXRhRXhpc3RzKCkgfHwgIXBvaW50cyB8fCAhYXJlYXMpIHJldHVybiA8TG9hZGVyIC8+O1xuICByZXR1cm4gKFxuICAgIDxTZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgICAgIDxDb250YWluZXIgey4uLnByb3BzfT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJuby1ndXR0ZXJzXCI+XG4gICAgICAgICAgPENvbCB4cz1cImF1dG9cIiBzbT17NH0gY2xhc3NOYW1lPVwiZC1ub25lIGQtc20tZmxleFwiPlxuICAgICAgICAgICAge3Nob3dMaXN0fVxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgY2xhc3NOYW1lPVwibWFwLWNvbHVtblwiIHhzPXsxMn0gc209ezh9PlxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAgICAgICBmb3JXV1RQRGFzaGJvYXJkPXt0cnVlfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17Z2V0QXJlYVRvQ2VudGVyQnkoKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDB2dztcblxuICAubWFwLWNvbHVtbiB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjVweCk7XG4gICAgfVxuXG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgKixcbiAgICAgICo6Zm9jdXMsXG4gICAgICAqOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiB4LWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLEtBQUEsR0FBQVAsT0FBQTtBQUdBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE9BQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGVBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQVosT0FBQTtBQUNBLElBQUFhLG1CQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxZQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxlQUFBLEdBQUFmLE9BQUE7QUFDQSxJQUFBZ0IsU0FBQSxHQUFBaEIsT0FBQTtBQUEyRCxTQUFBaUIseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxP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
|
|
176
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwiaWQiLCJhcmVhSUQiLCJzaXRlSUQiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3d3RwX2Rhc2hib2FyZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvaW50cyIsInNldFBvaW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXJlYXMiLCJzZXRBcmVhcyIsIl91c2VTdGF0ZTUiLCJwb2ludCIsImFyZWEiLCJfdXNlU3RhdGU2IiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImRhc2hib2FyZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJvYmplY3QiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2giLCJ0eXBlIiwiaXNfdmlydHVhbCIsInZhbGlkT2JqZWN0IiwidG9TdHJpbmciLCJhcmVhX2lkIiwicGFyc2VJbnQiLCJzaG93RXh0cmEiLCJmb2N1c2VkQXJlYSIsImZldGNoQ2FwYWNpdHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJzZXRGb2N1c2VkSXRlbSIsImRhdGEiLCJzZXRGb2N1c2VkQXJlYSIsInV0aWxpdHlEaXJlY3RzIiwic29ydEFyZWFzIiwic2V0VGltZW91dCIsInVuZGVmaW5lZCIsIm1hcCIsImZvY3VzTWFwIiwiZ2V0QXJlYVRvQ2VudGVyQnkiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gyIiwic2hhcGVfZGF0YSIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaDMiLCJzaG93TGlzdCIsInVzZU1lbW8iLCJpc0ZldGNoaW5nIiwiY3JlYXRlRWxlbWVudCIsIkxvYWRlciIsIkxpc3QiLCJTZWxlY3RlZEl0ZW1Qcm92aWRlciIsIkNvbnRhaW5lciIsIlJvdyIsImNsYXNzTmFtZSIsIkNvbCIsInhzIiwic20iLCJNYXAiLCJlZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwiYXJlYVRvQ2VudGVyQnkiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV1dUUE1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi9MaXN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGZvY3VzTWFwLCBpbml0aWFsaXplV1dUUERhdGEsIHNvcnRBcmVhcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi9Mb2FkZXInO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBTZWxlY3RlZEl0ZW1Qcm92aWRlciB9IGZyb20gJy4vTGlzdENvbnRleHQnO1xuaW1wb3J0IHsgUm93LCBDb2wgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmV0Y2hDYXBhY2l0eSwgc2V0Rm9jdXNlZEl0ZW0gfSBmcm9tICcuL0NhcGFjaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59XG5jb25zdCBXV1RQTWFwOiBSZWFjdC5GQzxDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCBzZWFyY2hRdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGlzTWFwVGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdtYXAnO1xuICBsZXQgeyBpZCwgYXJlYUlELCBzaXRlSUQgfSA9IHVzZVBhcmFtcygpO1xuICBpZCA9IGlkIHx8IGFyZWFJRCB8fCBzaXRlSUQ7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZWRnZXNfZGF0YSwgd3d0cF9kYXNoYm9hcmQgfSA9XG4gICAgUmVkdXhTdGF0ZTtcbiAgY29uc3QgW3BvaW50cywgc2V0UG9pbnRzXSA9IHVzZVN0YXRlPElQb2ludFtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFthcmVhcywgc2V0QXJlYXNdID0gdXNlU3RhdGU8SUFyZWFbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbV1dUUEluZm8sIHNldFdXVFBJbmZvXSA9IHVzZVN0YXRlPHtcbiAgICBwb2ludDogSVBvaW50IHwgbnVsbDtcbiAgICBhcmVhOiBJQXJlYSB8IG51bGw7XG4gIH0+KHsgcG9pbnQ6IG51bGwsIGFyZWE6IG51bGwgfSk7XG4gIGxldCBkYXRhRXhpc3RzID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBlZGdlc19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMFxuICAgICk7XG4gIH07XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAvLyAgICAgY29uc3QgcGVyaW9kID1cbiAgLy8gICAgICAgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kWydyYW5nZSddIHx8IFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZDtcbiAgLy8gICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCkpO1xuICAvLyAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gIC8vICAgICBkaXNwYXRjaChmZXRjaEFyZWFzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCwgdHJ1ZSkpO1xuICAvLyAgIH1cbiAgLy8gfSwgW1JlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZVdXVFBEYXRhKHtcbiAgICAgIGFyZWFzX2RhdGEsXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIHNldFBvaW50cyxcbiAgICAgIHNldEFyZWFzLFxuICAgICAgc2V0V1dUUEluZm8sXG4gICAgICBkYXRhRXhpc3RzLFxuICAgICAgaWQsXG4gICAgfSk7XG4gIH0sIFthcmVhc19kYXRhLCBwb2ludHNfZGF0YV0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgc2V0V1dUUEluZm8oY2FsY3VsYXRlV1dUUEluZm8oeyBpZCwgcG9pbnRzX2RhdGEsIGFyZWFzX2RhdGEgfSkpO1xuICAvLyB9LCBbaWRdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGZvY3VzTWFwKFdXVFBJbmZvLmFyZWEgfHwgV1dUUEluZm8ucG9pbnQsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIC8vIH0sIFtXV1RQSW5mb10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGNvbnN0IHBlcmlvZCA9XG4gICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICB9XG5cbiAgICAvLyByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAvLyAgIHNldFBvaW50cyhudWxsKTtcbiAgICAvLyAgIHNldEFyZWFzKG51bGwpO1xuICAgIC8vICAgc2V0V1dUUEluZm8oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgICAvLyB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvYmplY3QgPSBXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50O1xuXG4gICAgaWYgKGlzTWFwVGFiICYmIG9iamVjdCkge1xuICAgICAgY29uc3QgdHlwZSA9IFdXVFBJbmZvLmFyZWFcbiAgICAgICAgPyBvYmplY3QuaXNfdmlydHVhbCA9PT0gdHJ1ZVxuICAgICAgICAgID8gJ3ZhcmVhJ1xuICAgICAgICAgIDogJ2FyZWEnXG4gICAgICAgIDogJ3NpdGUnO1xuXG4gICAgICBjb25zdCB2YWxpZE9iamVjdCA9XG4gICAgICAgIHR5cGUgPT09ICdzaXRlJ1xuICAgICAgICAgID8gb2JqZWN0LmlkLnRvU3RyaW5nKCkgPT09IGlkXG4gICAgICAgICAgOiBvYmplY3QuYXJlYV9pZCA9PT0gcGFyc2VJbnQoaWQpO1xuXG4gICAgICBjb25zdCBzaG93RXh0cmEgPSBvYmplY3QuaWQgPT09IFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LmlkO1xuXG4gICAgICBpZiAodmFsaWRPYmplY3QpIHtcbiAgICAgICAgZmV0Y2hDYXBhY2l0eSh0eXBlLCBpZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgICAgICAgICBvYmplY3QsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICAgIGRpc3BhdGNoLFxuICAgICAgICAgICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgICAgICAgICAgc2hvd0V4dHJhLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB1dGlsaXR5RGlyZWN0cyA9IHNvcnRBcmVhcyhhcmVhcyk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgdXRpbGl0eURpcmVjdHMsXG4gICAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgICAvLyBmb2N1c01hcChvYmplY3QsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIH0sIFt3d3RwX2Rhc2hib2FyZC5tYXAsIFdXVFBJbmZvXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIVJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWEgfHwgIXd3dHBfZGFzaGJvYXJkLm1hcCkgcmV0dXJuO1xuXG4gICAgZm9jdXNNYXAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgfSwgW1JlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWFdKTtcblxuICBjb25zdCBnZXRBcmVhVG9DZW50ZXJCeSA9ICgpID0+IHtcbiAgICBpZiAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YSkge1xuICAgICAgcmV0dXJuIFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LnNoYXBlX2RhdGE7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHNob3dMaXN0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGFyZWFzX2RhdGEuaXNGZXRjaGluZyB8fCBwb2ludHNfZGF0YS5pc0ZldGNoaW5nKSByZXR1cm4gPExvYWRlciAvPjtcblxuICAgIHJldHVybiAoXG4gICAgICA8TGlzdCBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9IFdXVFBJbmZvPXtXV1RQSW5mb30gZGlzcGF0Y2g9e2Rpc3BhdGNofSAvPlxuICAgICk7XG4gIH0sIFthcmVhc19kYXRhLCBwb2ludHNfZGF0YSwgV1dUUEluZm9dKTtcblxuICBpZiAoIWlzTWFwVGFiKSByZXR1cm4gbnVsbDtcbiAgaWYgKCFkYXRhRXhpc3RzKCkgfHwgIXBvaW50cyB8fCAhYXJlYXMpIHJldHVybiA8TG9hZGVyIC8+O1xuICByZXR1cm4gKFxuICAgIDxTZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgICAgIDxDb250YWluZXIgey4uLnByb3BzfT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJuby1ndXR0ZXJzXCI+XG4gICAgICAgICAgPENvbCB4cz1cImF1dG9cIiBzbT17NH0gY2xhc3NOYW1lPVwiZC1ub25lIGQtc20tZmxleFwiPlxuICAgICAgICAgICAge3Nob3dMaXN0fVxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgY2xhc3NOYW1lPVwibWFwLWNvbHVtblwiIHhzPXsxMn0gc209ezh9PlxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAgICAgICBmb3JXV1RQRGFzaGJvYXJkPXt0cnVlfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17Z2V0QXJlYVRvQ2VudGVyQnkoKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDB2dztcblxuICAubWFwLWNvbHVtbiB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjVweCk7XG4gICAgfVxuXG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgKixcbiAgICAgICo6Zm9jdXMsXG4gICAgICAqOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiB4LWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLEtBQUEsR0FBQVAsT0FBQTtBQUdBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE9BQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGVBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQVosT0FBQTtBQUNBLElBQUFhLG1CQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxZQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxlQUFBLEdBQUFmLE9BQUE7QUFDQSxJQUFBZ0IsU0FBQSxHQUFBaEIsT0FBQTtBQUEyRCxTQUFBaUIseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxn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
|
|
@@ -118,8 +118,10 @@ var EventsMapContainer = function EventsMapContainer(props) {
|
|
|
118
118
|
dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId, period));
|
|
119
119
|
dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
|
|
120
120
|
dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, period, true));
|
|
121
|
-
dispatch((0, _actions4.closeFloatingGraph)());
|
|
122
121
|
}
|
|
122
|
+
return function cleanup() {
|
|
123
|
+
dispatch((0, _actions4.closeFloatingGraph)());
|
|
124
|
+
};
|
|
123
125
|
}, [global_data.waterAuthorityId, global_data.activeFilter]);
|
|
124
126
|
return /*#__PURE__*/_react.default.createElement(_Map.Map, Object.assign({}, ReduxState, {
|
|
125
127
|
areas: mappedAreas,
|
|
@@ -149,4 +151,4 @@ var EventsMapContainer = function EventsMapContainer(props) {
|
|
|
149
151
|
}));
|
|
150
152
|
};
|
|
151
153
|
exports.EventsMapContainer = EventsMapContainer;
|
|
152
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzIiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfYWN0aW9uczMiLCJfTWFwIiwiX0Zsb2F0aW5nR3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0dyYXBoVXRpbHMiLCJfYWN0aW9uczQiLCJfRHJhZ0FuZERyb3BBcmVhIiwiX0V2ZW50VXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkV2ZW50c01hcENvbnRhaW5lciIsInByb3BzIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nMiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZXZlbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQiLCJ1c2VNZW1vIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlciIsImZpbHRlcl9pdGVtcyIsImxlbmd0aCIsImluZGV4IiwidHlwZSIsIm1hcHBlZEFyZWFzIiwiYXJlYXNNYXBwZXIiLCJnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpMiIsIml0ZW1zIiwiYWN0aXZlVGltZUZpbHRlciIsInNlbGVjdGVkX29wdGlvbnMiLCJKU09OIiwicGFyc2UiLCJFdmVudHNQZXJTaXRlIiwiQ291bnRFdmVudHNQZXJTaXRlSUQiLCJNdXN0U2VlblNpdGVzIiwiZm9jdXNlZEV2ZW50IiwiZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyIsImhvdmVyZWRFdmVudCIsIm1hcHBlZFBvaW50cyIsIm1hcCIsInBvaW50IiwibmV3UG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsInVuZGVmaW5lZCIsImlkIiwiaXNDb2xsZWN0b3JVbm1vbml0b3JlZCIsImhpZGUiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZXZlbnRzVmlld0hvdmVyZWQiLCJtYXBwZWRFZGdlcyIsImZpbHRlciIsImVkZ2UiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyIsImFyZWFUb0NlbnRlckJ5IiwiZ2V0QXJlYXNUb0NlbnRlckJ5IiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJjbG9zZUZsb2F0aW5nR3JhcGgiLCJjcmVhdGVFbGVtZW50IiwiTWFwIiwiYXNzaWduIiwiYXJlYXMiLCJwb2ludHMiLCJlZGdlcyIsImhpZGVFZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMiLCJmb3JFdmVudHNWaWV3IiwiZm9jdXNlZEV2ZW50UGF0aCIsImZvY3VzZWRFdmVudFBhdGhzIiwiZmxvYXRpbmdHcmFwaCIsImlzT3BlbiIsIm9wZW4iLCJjdXN0b21IaWdoQ2hhcnRPcHRpb25zIiwiZG5kR3JhcGhJbml0T3B0aW9ucyIsImNsb3NlR3JhcGhIYW5kbGVyIiwiZ2xvYmFsRGF0YUZsb2F0aW5nR3JhcGgiLCJldmVudF9kYXRhIiwiZ3JhcGhJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNNYXBDb250YWluZXIvRXZlbnRzTWFwQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgYXJlYXNNYXBwZXIsXG4gIENvdW50RXZlbnRzUGVyU2l0ZUlELFxuICBnZXRBcmVhc1RvQ2VudGVyQnksXG4gIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMsXG59IGZyb20gJ3NyYy9wYWdlcy9FdmVudHNQYWdlL0V2ZW50c01hcENvbnRhaW5lci9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgRmxvYXRpbmdHcmFwaCBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9GbG9hdGluZ0dyYXBoL0Zsb2F0aW5nR3JhcGgnO1xuaW1wb3J0IHsgZG5kR3JhcGhJbml0T3B0aW9ucyB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9HcmFwaFV0aWxzJztcbmltcG9ydCB7IGNsb3NlRmxvYXRpbmdHcmFwaCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgRHJhZ0FuZERyb3BBcmVhIGZyb20gJy4uL0RyYWdBbmREcm9wQXJlYSc7XG5pbXBvcnQgeyBpc0NvbGxlY3RvclVubW9uaXRvcmVkIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFV0aWxzJztcbmludGVyZmFjZSBFdmVudHNNYXBDb250YWluZXJQcm9wcyB7XG4gIHNob3dTZWNvbmRNYXA6IGJvb2xlYW47XG59XG5leHBvcnQgY29uc3QgRXZlbnRzTWFwQ29udGFpbmVyOiBSZWFjdC5GQzxFdmVudHNNYXBDb250YWluZXJQcm9wcz4gPSAoXG4gIHByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZXZlbnRzX2RhdGEsIGVkZ2VzX2RhdGEgfSA9XG4gICAgUmVkdXhTdGF0ZTtcblxuICBjb25zdCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG5cbiAgICBpZiAoIWZpbHRlcnMgfHwgZmlsdGVycy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmlsdGVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChmaWx0ZXJzW2luZGV4XS50eXBlID09PSAnVGltZUZpbHRlckl0ZW0nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSwgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXJdKTtcblxuICBjb25zdCBtYXBwZWRBcmVhcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlYXNNYXBwZXIoYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQpLFxuICAgIFthcmVhc19kYXRhLCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCA9ICgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IGdsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXI/LmZpbHRlcl9pdGVtcztcbiAgICBsZXQgYWN0aXZlVGltZUZpbHRlciA9ICcxbSc7XG5cbiAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBhY3RpdmVUaW1lRmlsdGVyO1xuICAgIH1cblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChpdGVtc1tpbmRleF0udHlwZSA9PT0gJ1RpbWVGaWx0ZXJJdGVtJykge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW1zW2luZGV4XS5zZWxlY3RlZF9vcHRpb25zID09PSAnc3RyaW5nJylcbiAgICAgICAgICBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9ucyA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9ucyxcbiAgICAgICAgICApO1xuXG4gICAgICAgIGFjdGl2ZVRpbWVGaWx0ZXIgPSBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9uc1swXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhY3RpdmVUaW1lRmlsdGVyO1xuICB9O1xuXG4gIGNvbnN0IEV2ZW50c1BlclNpdGUgPSB1c2VNZW1vKFxuICAgICgpID0+IENvdW50RXZlbnRzUGVyU2l0ZUlEKGV2ZW50c19kYXRhLml0ZW1zKSxcbiAgICBbZXZlbnRzX2RhdGEuaXRlbXNdLFxuICApO1xuXG4gIGNvbnN0IE11c3RTZWVuU2l0ZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50KSB7XG4gICAgICByZXR1cm4gZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyhldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50KSB7XG4gICAgICByZXR1cm4gZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyhldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnQpO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH0sIFtFdmVudHNQZXJTaXRlLCBldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQsIGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudF0pO1xuXG4gIGNvbnN0IG1hcHBlZFBvaW50cyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLm1hcCgocG9pbnQpID0+IHtcbiAgICAgICAgY29uc3QgbmV3UG9pbnQgPSB7IC4uLnBvaW50IH07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIEV2ZW50c1BlclNpdGUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICFFdmVudHNQZXJTaXRlW3BvaW50LmlkXSB8fFxuICAgICAgICAgIGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpXG4gICAgICAgICkge1xuICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCkge1xuICAgICAgICAgIGlmICghTXVzdFNlZW5TaXRlc1twb2ludC5pZF0pIHtcbiAgICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCkge1xuICAgICAgICAgIGlmICghTXVzdFNlZW5TaXRlc1twb2ludC5pZF0gJiYgaXNDb2xsZWN0b3JVbm1vbml0b3JlZChwb2ludCkpIHtcbiAgICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbmV3UG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA9IEV2ZW50c1BlclNpdGVcbiAgICAgICAgICA/IEV2ZW50c1BlclNpdGVbcG9pbnQuaWRdXG4gICAgICAgICAgOiAwO1xuICAgICAgICBuZXdQb2ludC5ldmVudHNWaWV3SG92ZXJlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBuZXdQb2ludDtcbiAgICAgIH0pLFxuICAgIFtcbiAgICAgIHBvaW50c19kYXRhLFxuICAgICAgRXZlbnRzUGVyU2l0ZSxcbiAgICAgIGV2ZW50c19kYXRhLml0ZW1zLFxuICAgICAgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LFxuICAgICAgZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50LFxuICAgIF0sXG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGNvbnN0IG1hcHBlZEVkZ2VzID0gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+XG4gICAgICAvLyAoTnVtYmVyKEV2ZW50c1BlclNpdGVbZWRnZS5zb3VyY2VfcG9pbnRfaWRdKSA+IDAgfHxcbiAgICAgIC8vIE51bWJlcihFdmVudHNQZXJTaXRlW2VkZ2UudGFyZ2V0X3BvaW50X2lkXSkgPiAwKVxuICAgICAgLy8gICYmXG4gICAgICBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UgPT09IHRydWUgfHxcbiAgICAgIGVkZ2UuZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyA9PT0gdHJ1ZSxcbiAgKTtcblxuICBjb25zdCBhcmVhVG9DZW50ZXJCeSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZ2V0QXJlYXNUb0NlbnRlckJ5KGdsb2JhbF9kYXRhLCBtYXBwZWRBcmVhcyksXG4gICAgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXIsIG1hcHBlZEFyZWFzXSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBjb25zdCBwZXJpb2QgPSBnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kKCk7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICAgIGRpc3BhdGNoKGNsb3NlRmxvYXRpbmdHcmFwaCgpKTtcbiAgICB9XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxNYXBcbiAgICAgIHsuLi5SZWR1eFN0YXRlfVxuICAgICAgYXJlYXM9e21hcHBlZEFyZWFzfVxuICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgcG9pbnRzPXttYXBwZWRQb2ludHN9XG4gICAgICBlZGdlcz17bWFwcGVkRWRnZXN9XG4gICAgICBmb2N1c2VkRXZlbnQ9e2V2ZW50c19kYXRhLmZvY3VzZWRFdmVudH1cbiAgICAgIGhvdmVyZWRFdmVudD17ZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50fVxuICAgICAgYXJlYVRvQ2VudGVyQnk9e2FyZWFUb0NlbnRlckJ5fVxuICAgICAgaGlkZUVkZ2VzPXt0cnVlfVxuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXt0cnVlfVxuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz17dHJ1ZX1cbiAgICAgIGZvckV2ZW50c1ZpZXc9e3RydWV9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgPlxuICAgICAge1xuICAgICAgICA8RHJhZ0FuZERyb3BBcmVhIGZvY3VzZWRFdmVudFBhdGg9e2V2ZW50c19kYXRhPy5mb2N1c2VkRXZlbnRQYXRoc30+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgIGZsb2F0aW5nR3JhcGg6IChcbiAgICAgICAgICAgICAgPEZsb2F0aW5nR3JhcGhcbiAgICAgICAgICAgICAgICBpc09wZW49e2dsb2JhbF9kYXRhPy5mbG9hdGluZ0dyYXBoLm9wZW59XG4gICAgICAgICAgICAgICAgY3VzdG9tSGlnaENoYXJ0T3B0aW9ucz17ZG5kR3JhcGhJbml0T3B0aW9uc31cbiAgICAgICAgICAgICAgICBjbG9zZUdyYXBoSGFuZGxlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgZGlzcGF0Y2goY2xvc2VGbG9hdGluZ0dyYXBoKCkpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgZ2xvYmFsRGF0YUZsb2F0aW5nR3JhcGg9e2dsb2JhbF9kYXRhLmZsb2F0aW5nR3JhcGh9XG4gICAgICAgICAgICAgICAgZXZlbnRfZGF0YT17ZXZlbnRzX2RhdGE/LmZvY3VzZWRFdmVudH1cbiAgICAgICAgICAgICAgICBncmFwaElkPXtnbG9iYWxfZGF0YT8uZmxvYXRpbmdHcmFwaD8ucG9pbnQ/LmlkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9fVxuICAgICAgICA8L0RyYWdBbmREcm9wQXJlYT5cbiAgICAgIH1cbiAgICA8L01hcD5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLDBCQUFBLEdBQUFGLE9BQUE7QUFN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
|
|
154
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzIiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfYWN0aW9uczMiLCJfTWFwIiwiX0Zsb2F0aW5nR3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0dyYXBoVXRpbHMiLCJfYWN0aW9uczQiLCJfRHJhZ0FuZERyb3BBcmVhIiwiX0V2ZW50VXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkV2ZW50c01hcENvbnRhaW5lciIsInByb3BzIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nMiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZXZlbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQiLCJ1c2VNZW1vIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlciIsImZpbHRlcl9pdGVtcyIsImxlbmd0aCIsImluZGV4IiwidHlwZSIsIm1hcHBlZEFyZWFzIiwiYXJlYXNNYXBwZXIiLCJnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpMiIsIml0ZW1zIiwiYWN0aXZlVGltZUZpbHRlciIsInNlbGVjdGVkX29wdGlvbnMiLCJKU09OIiwicGFyc2UiLCJFdmVudHNQZXJTaXRlIiwiQ291bnRFdmVudHNQZXJTaXRlSUQiLCJNdXN0U2VlblNpdGVzIiwiZm9jdXNlZEV2ZW50IiwiZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyIsImhvdmVyZWRFdmVudCIsIm1hcHBlZFBvaW50cyIsIm1hcCIsInBvaW50IiwibmV3UG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsInVuZGVmaW5lZCIsImlkIiwiaXNDb2xsZWN0b3JVbm1vbml0b3JlZCIsImhpZGUiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZXZlbnRzVmlld0hvdmVyZWQiLCJtYXBwZWRFZGdlcyIsImZpbHRlciIsImVkZ2UiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyIsImFyZWFUb0NlbnRlckJ5IiwiZ2V0QXJlYXNUb0NlbnRlckJ5IiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJjbGVhbnVwIiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwiY3JlYXRlRWxlbWVudCIsIk1hcCIsImFzc2lnbiIsImFyZWFzIiwicG9pbnRzIiwiZWRnZXMiLCJoaWRlRWRnZXMiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzIiwiZm9yRXZlbnRzVmlldyIsImZvY3VzZWRFdmVudFBhdGgiLCJmb2N1c2VkRXZlbnRQYXRocyIsImZsb2F0aW5nR3JhcGgiLCJpc09wZW4iLCJvcGVuIiwiY3VzdG9tSGlnaENoYXJ0T3B0aW9ucyIsImRuZEdyYXBoSW5pdE9wdGlvbnMiLCJjbG9zZUdyYXBoSGFuZGxlciIsImdsb2JhbERhdGFGbG9hdGluZ0dyYXBoIiwiZXZlbnRfZGF0YSIsImdyYXBoSWQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvRXZlbnRzTWFwQ29udGFpbmVyL0V2ZW50c01hcENvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7XG4gIGFyZWFzTWFwcGVyLFxuICBDb3VudEV2ZW50c1BlclNpdGVJRCxcbiAgZ2V0QXJlYXNUb0NlbnRlckJ5LFxuICBnZXRGb2N1c2VkRXZlbnRNdXN0U2VlblNpdGVzLFxufSBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNNYXBDb250YWluZXIvRXZlbnRzTWFwQ29udGFpbmVySGVscGVycyc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXAnO1xuaW1wb3J0IEZsb2F0aW5nR3JhcGggZnJvbSAnc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvRmxvYXRpbmdHcmFwaC9GbG9hdGluZ0dyYXBoJztcbmltcG9ydCB7IGRuZEdyYXBoSW5pdE9wdGlvbnMgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvR3JhcGhVdGlscyc7XG5pbXBvcnQgeyBjbG9zZUZsb2F0aW5nR3JhcGggfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IERyYWdBbmREcm9wQXJlYSBmcm9tICcuLi9EcmFnQW5kRHJvcEFyZWEnO1xuaW1wb3J0IHsgaXNDb2xsZWN0b3JVbm1vbml0b3JlZCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRVdGlscyc7XG5pbnRlcmZhY2UgRXZlbnRzTWFwQ29udGFpbmVyUHJvcHMge1xuICBzaG93U2Vjb25kTWFwOiBib29sZWFuO1xufVxuZXhwb3J0IGNvbnN0IEV2ZW50c01hcENvbnRhaW5lcjogUmVhY3QuRkM8RXZlbnRzTWFwQ29udGFpbmVyUHJvcHM+ID0gKFxuICBwcm9wcyxcbikgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgeyBhcmVhc19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIGV2ZW50c19kYXRhLCBlZGdlc19kYXRhIH0gPVxuICAgIFJlZHV4U3RhdGU7XG5cbiAgY29uc3QgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBmaWx0ZXJzID0gZ2xvYmFsX2RhdGE/LmFjdGl2ZUZpbHRlcj8uZmlsdGVyX2l0ZW1zO1xuXG4gICAgaWYgKCFmaWx0ZXJzIHx8IGZpbHRlcnMubGVuZ3RoIDwgMSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGZpbHRlcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoZmlsdGVyc1tpbmRleF0udHlwZSA9PT0gJ1RpbWVGaWx0ZXJJdGVtJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0sIFtnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyXSk7XG5cbiAgY29uc3QgbWFwcGVkQXJlYXMgPSB1c2VNZW1vKFxuICAgICgpID0+IGFyZWFzTWFwcGVyKGFyZWFzX2RhdGEsIGlzVGltZUZpbHRlck5vdFNlbGVjdGVkKSxcbiAgICBbYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWRdLFxuICApO1xuXG4gIGNvbnN0IGdldEFjdGl2ZVRpbWVGaWx0ZXJQZXJpb2QgPSAoKSA9PiB7XG4gICAgY29uc3QgaXRlbXMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG4gICAgbGV0IGFjdGl2ZVRpbWVGaWx0ZXIgPSAnMW0nO1xuXG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gYWN0aXZlVGltZUZpbHRlcjtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgaXRlbXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoaXRlbXNbaW5kZXhdLnR5cGUgPT09ICdUaW1lRmlsdGVySXRlbScpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9ucyA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgaXRlbXNbaW5kZXhdLnNlbGVjdGVkX29wdGlvbnMgPSBKU09OLnBhcnNlKFxuICAgICAgICAgICAgaXRlbXNbaW5kZXhdLnNlbGVjdGVkX29wdGlvbnMsXG4gICAgICAgICAgKTtcblxuICAgICAgICBhY3RpdmVUaW1lRmlsdGVyID0gaXRlbXNbaW5kZXhdLnNlbGVjdGVkX29wdGlvbnNbMF07XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWN0aXZlVGltZUZpbHRlcjtcbiAgfTtcblxuICBjb25zdCBFdmVudHNQZXJTaXRlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBDb3VudEV2ZW50c1BlclNpdGVJRChldmVudHNfZGF0YS5pdGVtcyksXG4gICAgW2V2ZW50c19kYXRhLml0ZW1zXSxcbiAgKTtcblxuICBjb25zdCBNdXN0U2VlblNpdGVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCkge1xuICAgICAgcmV0dXJuIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMoZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCkge1xuICAgICAgcmV0dXJuIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMoZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9LCBbRXZlbnRzUGVyU2l0ZSwgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LCBldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBtYXBwZWRQb2ludHMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5tYXAoKHBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1BvaW50ID0geyAuLi5wb2ludCB9O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBFdmVudHNQZXJTaXRlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAhRXZlbnRzUGVyU2l0ZVtwb2ludC5pZF0gfHxcbiAgICAgICAgICBpc0NvbGxlY3RvclVubW9uaXRvcmVkKHBvaW50KVxuICAgICAgICApIHtcbiAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQpIHtcbiAgICAgICAgICBpZiAoIU11c3RTZWVuU2l0ZXNbcG9pbnQuaWRdKSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnQpIHtcbiAgICAgICAgICBpZiAoIU11c3RTZWVuU2l0ZXNbcG9pbnQuaWRdICYmIGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpKSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5ld1BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQgPSBFdmVudHNQZXJTaXRlXG4gICAgICAgICAgPyBFdmVudHNQZXJTaXRlW3BvaW50LmlkXVxuICAgICAgICAgIDogMDtcbiAgICAgICAgbmV3UG9pbnQuZXZlbnRzVmlld0hvdmVyZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbmV3UG9pbnQ7XG4gICAgICB9KSxcbiAgICBbXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIEV2ZW50c1BlclNpdGUsXG4gICAgICBldmVudHNfZGF0YS5pdGVtcyxcbiAgICAgIGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCxcbiAgICAgIGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCxcbiAgICBdLFxuICApO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBjb25zdCBtYXBwZWRFZGdlcyA9IGVkZ2VzX2RhdGEuaXRlbXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PlxuICAgICAgLy8gKE51bWJlcihFdmVudHNQZXJTaXRlW2VkZ2Uuc291cmNlX3BvaW50X2lkXSkgPiAwIHx8XG4gICAgICAvLyBOdW1iZXIoRXZlbnRzUGVyU2l0ZVtlZGdlLnRhcmdldF9wb2ludF9pZF0pID4gMClcbiAgICAgIC8vICAmJlxuICAgICAgZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlID09PSB0cnVlIHx8XG4gICAgICBlZGdlLmRlc2NlbmRhbnRzX2hhc19ub25lX2NvbGxlY3RvcnMgPT09IHRydWUsXG4gICk7XG5cbiAgY29uc3QgYXJlYVRvQ2VudGVyQnkgPSB1c2VNZW1vKFxuICAgICgpID0+IGdldEFyZWFzVG9DZW50ZXJCeShnbG9iYWxfZGF0YSwgbWFwcGVkQXJlYXMpLFxuICAgIFtnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyLCBtYXBwZWRBcmVhc10sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAgICAgY29uc3QgcGVyaW9kID0gZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCgpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hQb2ludHMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kLCB0cnVlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPE1hcFxuICAgICAgey4uLlJlZHV4U3RhdGV9XG4gICAgICBhcmVhcz17bWFwcGVkQXJlYXN9XG4gICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICBwb2ludHM9e21hcHBlZFBvaW50c31cbiAgICAgIGVkZ2VzPXttYXBwZWRFZGdlc31cbiAgICAgIGZvY3VzZWRFdmVudD17ZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50fVxuICAgICAgaG92ZXJlZEV2ZW50PXtldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnR9XG4gICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICBoaWRlRWRnZXM9e3RydWV9XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzPXt0cnVlfVxuICAgICAgZm9yRXZlbnRzVmlldz17dHJ1ZX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7XG4gICAgICAgIDxEcmFnQW5kRHJvcEFyZWEgZm9jdXNlZEV2ZW50UGF0aD17ZXZlbnRzX2RhdGE/LmZvY3VzZWRFdmVudFBhdGhzfT5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgZmxvYXRpbmdHcmFwaDogKFxuICAgICAgICAgICAgICA8RmxvYXRpbmdHcmFwaFxuICAgICAgICAgICAgICAgIGlzT3Blbj17Z2xvYmFsX2RhdGE/LmZsb2F0aW5nR3JhcGgub3Blbn1cbiAgICAgICAgICAgICAgICBjdXN0b21IaWdoQ2hhcnRPcHRpb25zPXtkbmRHcmFwaEluaXRPcHRpb25zfVxuICAgICAgICAgICAgICAgIGNsb3NlR3JhcGhIYW5kbGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBnbG9iYWxEYXRhRmxvYXRpbmdHcmFwaD17Z2xvYmFsX2RhdGEuZmxvYXRpbmdHcmFwaH1cbiAgICAgICAgICAgICAgICBldmVudF9kYXRhPXtldmVudHNfZGF0YT8uZm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgICAgIGdyYXBoSWQ9e2dsb2JhbF9kYXRhPy5mbG9hdGluZ0dyYXBoPy5wb2ludD8uaWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgIH19XG4gICAgICAgIDwvRHJhZ0FuZERyb3BBcmVhPlxuICAgICAgfVxuICAgIDwvTWFwPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0Es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
|