@kando-env/kando-ui 1.2.356 → 1.2.357-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -99,6 +99,10 @@ var Map = function Map(_ref) {
99
99
  var _useState9 = (0, _react.useState)(new L.FeatureGroup()),
100
100
  _useState10 = (0, _slicedToArray2.default)(_useState9, 1),
101
101
  areasLayerGroup = _useState10[0];
102
+ var _useState11 = (0, _react.useState)(false),
103
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
104
+ edgesCheckbox = _useState12[0],
105
+ setEdgesCheckbox = _useState12[1];
102
106
  var memoizedPoints = (0, _react.useMemo)(function () {
103
107
  return mapRef.current !== null && points && /*#__PURE__*/_react.default.createElement(_PointMarkers.PointMarkers, {
104
108
  map: mapRef.current,
@@ -116,13 +120,20 @@ var Map = function Map(_ref) {
116
120
  // mapRef.current !== null && iconZoomControl(mapRef.current);
117
121
  // }, [mapRef.current, points, focusedEventPresent]);
118
122
 
123
+ var trackLayerbox = function trackLayerbox() {
124
+ var checkbox = document.querySelector('#edges-checkbox');
125
+ checkbox.addEventListener('change', function () {
126
+ setEdgesCheckbox(checkbox.checked);
127
+ });
128
+ };
119
129
  var zoomRulesForEventsView = function zoomRulesForEventsView() {
120
- var payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Edges.default, {
130
+ var payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, edgesCheckbox && /*#__PURE__*/_react.default.createElement(_Edges.default, {
121
131
  edges: edges,
122
132
  map: mapRef.current,
123
133
  L: L,
124
134
  points: points,
125
135
  hideEdges: hideEdges,
136
+ hideArrows: true,
126
137
  allowUnmonitoredDescendants: includeUnmonitoredDescendantsForEdges
127
138
  }), memoizedPoints);
128
139
  return payload;
@@ -147,7 +158,7 @@ var Map = function Map(_ref) {
147
158
  var memoizedZoomControl = (0, _react.useMemo)(function () {
148
159
  var payload = forEventsView ? zoomRulesForEventsView() : zoomRulesForDashaboardMaps();
149
160
  return payload;
150
- }, [mapZoomLevel, eventsData.isFetching, focusedEvent, hoveredEvent, points, mapRef.current]);
161
+ }, [mapZoomLevel, eventsData.isFetching, focusedEvent, hoveredEvent, points, mapRef.current, edgesCheckbox]);
151
162
  var memoizedEvent = (0, _react.useMemo)(function () {
152
163
  if (focusedEventPresent) {
153
164
  focusedEvent.focused = focusedEventPresent;
@@ -174,7 +185,7 @@ var Map = function Map(_ref) {
174
185
  };
175
186
  }, [focusedEvent, hoveredEvent, global_data.eventFilterParam]);
176
187
  (0, _react.useEffect)(function () {
177
- (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard);
188
+ (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard, forEventsView);
178
189
  return function cleanup() {
179
190
  // factoriesClusterGroup.clearLayers();
180
191
  // wwtpsLayerGroup.clearLayers();
@@ -200,6 +211,7 @@ var Map = function Map(_ref) {
200
211
  }).flat();
201
212
  }
202
213
  (0, _MapUtils.areaFocusLogic)(mapRef, _MapUtils.isValidArea, areaToCenterBy);
214
+ trackLayerbox();
203
215
  }
204
216
  }, [mapRef.current, areaToCenterBy]);
205
217
  (0, _react.useEffect)(function () {
@@ -236,4 +248,4 @@ var Map = function Map(_ref) {
236
248
  }), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, memoizedZoomControl, children))));
237
249
  };
238
250
  exports.Map = Map;
239
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9pMThuIiwiX0xpc3RDb250ZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJfcmVmJGhpZGVFZGdlcyIsImhpZGVFZGdlcyIsIl9yZWYkbWFwQm94U3R5bGUiLCJtYXBCb3hTdHlsZSIsImxlYWZsZXRNYXAiLCJtYXBEZWZhdWx0IiwiY2hpbGRyZW4iLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IyIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIl9yZWYkZm9yRXZlbnRzVmlldyIsImZvckV2ZW50c1ZpZXciLCJfcmVmJHN0eWxlIiwic3R5bGUiLCJfcmVmJGZvcldXVFBEYXNoYm9hcmQiLCJmb3JXV1RQRGFzaGJvYXJkIiwibWFwIiwibWFwUmVmIiwidXNlUmVmIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJldmVudHNEYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiaG92ZXJlZEV2ZW50UHJlc2VudCIsInVzZU1lbW8iLCJ1bmRlZmluZWQiLCJmb2N1c2VkRXZlbnRQcmVzZW50IiwiX3VzZVN0YXRlMyIsIndpbmRvdyIsImN1c3RvbUxlYWZsZXQiLCJtYXJrZXJDbHVzdGVyR3JvdXAiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsImNvbmNhdCIsIl9jaGlsZENvdW50IiwiaTE4biIsInQiLCJjbGFzc05hbWUiLCJpY29uU2l6ZSIsIlBvaW50IiwiX3VzZVN0YXRlNCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsIl91c2VTdGF0ZTUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlNiIsInd3dHBzTGF5ZXJHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJfdXNlU3RhdGU5IiwiRmVhdHVyZUdyb3VwIiwiX3VzZVN0YXRlMTAiLCJhcmVhc0xheWVyR3JvdXAiLCJtZW1vaXplZFBvaW50cyIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwiUG9pbnRNYXJrZXJzIiwicmVyZW5kZXIiLCJ6b29tTGV2ZWxzIiwiZmFjdG9yaWVzR3JvdXAiLCJ3d3Rwc0dyb3VwIiwiY29sbGVjdG9yc0dyb3VwIiwiem9vbVJ1bGVzRm9yRXZlbnRzVmlldyIsInBheWxvYWQiLCJGcmFnbWVudCIsImFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyIsInpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzIiwibWVtb2l6ZWRab29tQ29udHJvbCIsImlzRmV0Y2hpbmciLCJtZW1vaXplZEV2ZW50IiwiZm9jdXNlZCIsImhvdmVyZWQiLCJFdmVudCIsImV2ZW50IiwiaW5jbHVkZU5ldHdvcmsiLCJldmVudEZpbHRlclBhcmFtIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwicmVtb3ZlTGF5ZXIiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJyZW1vdmUiLCJ3YXRlckF1dGhvcml0eUlkIiwiZ2V0Wm9vbSIsImFyZWEiLCJzaGFwZV9kYXRhIiwiZmxhdCIsImFyZWFGb2N1c0xvZ2ljIiwiX21hcFJlZiRjdXJyZW50MiIsImNsaWNrZWQiLCJlYWNoTGF5ZXIiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImlzUG9wdXBPcGVuIiwiTWFya2VyIiwiZmlyZSIsIlBvbHlnb24iLCJzaWRlbmF2RXhwYW5kZWQiLCJpZCIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiQXJlYVBvbHlnb25zIiwibWFwWm9vbSIsImZlYXR1cmVHcm91cCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL01hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnbGVhZmxldC5tYXJrZXJjbHVzdGVyJztcbmltcG9ydCAnbGVhZmxldC5wYXR0ZXJuJztcbmltcG9ydCBSZWFjdCwge1xuICBDU1NQcm9wZXJ0aWVzLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50Jztcbi8vIGltcG9ydCB7IHN0b3JlTWFwIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IEFyZWFQb2x5Z29ucyB9IGZyb20gJy4vYXJlYXMvQXJlYVBvbHlnb25zJztcbmltcG9ydCBFZGdlcyBmcm9tICcuL2VkZ2VzL0VkZ2VzJztcbmltcG9ydCAnLi9NYXAuc2Nzcyc7XG5pbXBvcnQgJy4vcG9pbnRzL1BvaW50SWNvbi5zY3NzJztcbmltcG9ydCB7IFBvaW50TWFya2VycyB9IGZyb20gJy4vcG9pbnRzL1BvaW50TWFya2Vycyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnQgfSBmcm9tICcuL2V2ZW50cy9FdmVudCc7XG5pbXBvcnQge1xuICBhcmVhRm9jdXNMb2dpYyxcbiAgaW5pdGlhbGl6ZU1hcCxcbiAgaXNWYWxpZEFyZWEsXG4gIHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxuICB6b29tTGV2ZWxzLFxufSBmcm9tICcuL01hcFV0aWxzJztcbmltcG9ydCB7IGxlYWZsZXRNYXAgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0Q29udGV4dCc7XG5yZXF1aXJlKCdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInKTtcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzPzogSUVkZ2VbXTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHN0eWxlPzogQ1NTUHJvcGVydGllcztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG4gIGZvckV2ZW50c1ZpZXc6IGJvb2xlYW47XG4gIGZvcldXVFBEYXNoYm9hcmQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwOiBSZWFjdC5GQzxNYXBQcm9wcz4gPSAoe1xuICBhcmVhcyxcbiAgZWRnZXMsXG4gIHBvaW50cyxcbiAgZ2xvYmFsX2RhdGEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGhvdmVyZWRFdmVudCxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIG1hcEJveFN0eWxlID0gbGVhZmxldE1hcC5tYXBEZWZhdWx0LFxuICBjaGlsZHJlbixcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzID0gdHJ1ZSxcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyA9IGZhbHNlLFxuICBmb3JFdmVudHNWaWV3ID0gZmFsc2UsXG4gIHN0eWxlID0ge30sXG4gIGZvcldXVFBEYXNoYm9hcmQgPSBmYWxzZSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8TC5NYXAgfCBudWxsPihudWxsKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbWFwWm9vbUxldmVsLCBzZXRNYXBab29tTGV2ZWxdID0gdXNlU3RhdGUoMik7XG4gIGNvbnN0IHsgc2VsZWN0ZWRJdGVtIH0gPSB1c2VTZWxlY3RlZEl0ZW0oKTtcbiAgY29uc3QgZXZlbnRzRGF0YSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLmV2ZW50c19kYXRhLFxuICApO1xuICBjb25zdCBob3ZlcmVkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGhvdmVyZWRFdmVudCAhPT0gbnVsbCAmJiBob3ZlcmVkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2hvdmVyZWRFdmVudF0pO1xuXG4gIGNvbnN0IGZvY3VzZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmIGZvY3VzZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbZm9jdXNlZEV2ZW50XSk7XG5cbiAgY29uc3QgW2ZhY3Rvcmllc0NsdXN0ZXJHcm91cF0gPSB1c2VTdGF0ZShcbiAgICB3aW5kb3cuY3VzdG9tTGVhZmxldC5tYXJrZXJDbHVzdGVyR3JvdXAoe1xuICAgICAgc3BpZGVyZnlPbk1heFpvb206IGZhbHNlLFxuICAgICAgc2hvd0NvdmVyYWdlT25Ib3ZlcjogZmFsc2UsXG4gICAgICB6b29tVG9Cb3VuZHNPbkNsaWNrOiB0cnVlLFxuICAgICAgYW5pbWF0ZTogdHJ1ZSxcbiAgICAgIGRpc2FibGVDbHVzdGVyaW5nQXRab29tOiAxNSxcbiAgICAgIHJlbW92ZU91dHNpZGVWaXNpYmxlQm91bmRzOiBmYWxzZSxcbiAgICAgIGNodW5rZWRMb2FkaW5nOiB0cnVlLFxuICAgICAgaWNvbkNyZWF0ZUZ1bmN0aW9uOiBmdW5jdGlvbiAoY2x1c3Rlcikge1xuICAgICAgICByZXR1cm4gbmV3IEwuRGl2SWNvbih7XG4gICAgICAgICAgaHRtbDogYDxkaXY+PHNwYW4+JHtcbiAgICAgICAgICAgIGNsdXN0ZXIuX2NoaWxkQ291bnRcbiAgICAgICAgICB9PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9J21hcmtlci1jbHVzdGVyLW5hbWUnPiR7aTE4bi50KFxuICAgICAgICAgICAgJ2luZHVzdHJpZXMnLFxuICAgICAgICAgICl9PC9kaXY+YCxcbiAgICAgICAgICBjbGFzc05hbWU6ICdtYXJrZXItY2x1c3RlcicsXG4gICAgICAgICAgaWNvblNpemU6IG5ldyBMLlBvaW50KDQwLCA0MCksXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KSxcbiAgKTtcblxuICBjb25zdCBbd3d0cHNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2NvbGxlY3RvcnNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgLy9jb25zdCBbZmFjdG9yaWVzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFthcmVhc0xheWVyR3JvdXBdID0gdXNlU3RhdGUobmV3IEwuRmVhdHVyZUdyb3VwKCkpO1xuXG4gIGNvbnN0IG1lbW9pemVkUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgICBwb2ludHMgJiYgKFxuICAgICAgICA8UG9pbnRNYXJrZXJzXG4gICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e2luY2x1ZGVVbm1vbml0b3JlZFBvaW50c31cbiAgICAgICAgICByZXJlbmRlcj17em9vbUxldmVsc1ttYXBab29tTGV2ZWxdfVxuICAgICAgICAgIGZhY3Rvcmllc0dyb3VwPXtmYWN0b3JpZXNDbHVzdGVyR3JvdXB9XG4gICAgICAgICAgd3d0cHNHcm91cD17d3d0cHNMYXllckdyb3VwfVxuICAgICAgICAgIGNvbGxlY3RvcnNHcm91cD17Y29sbGVjdG9yc0xheWVyR3JvdXB9XG4gICAgICAgICAgZm9yRXZlbnRzVmlldz17ZmFsc2V9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgKTtcbiAgfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnQsIG1hcFpvb21MZXZlbF0pO1xuXG4gIC8vIGNvbnN0IGFjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAvLyAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIGljb25ab29tQ29udHJvbChtYXBSZWYuY3VycmVudCk7XG4gIC8vIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRXZlbnRzVmlldyA9ICgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gKFxuICAgICAgPD5cbiAgICAgICAgPEVkZ2VzXG4gICAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz17aW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlc31cbiAgICAgICAgLz5cbiAgICAgICAge21lbW9pemVkUG9pbnRzfVxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IHpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzID0gKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gPD57bWVtb2l6ZWRQb2ludHN9PC8+O1xuICAgIHN3aXRjaCAoem9vbUxldmVsc1ttYXBab29tTGV2ZWxdKSB7XG4gICAgICBjYXNlICdTbWFsbCc6XG4gICAgICBjYXNlICdNZWRpdW0nOlxuICAgICAgICBwYXlsb2FkID0gem9vbVJ1bGVzRm9yRXZlbnRzVmlldygpO1xuICAgICAgICBicmVhaztcbiAgICAgIC8vIGNhc2UgJ01MYXJnZSc6XG4gICAgICAvLyBjYXNlICdMYXJnZSc6XG4gICAgICAvLyBjYXNlICdYTGFyZ2UnOlxuICAgICAgLy8gZGVmYXVsdDpcbiAgICAgIC8vICAgcGF5bG9hZCA9IDw+e21lbW9pemVkUG9pbnRzfTwvPjtcbiAgICAgIC8vICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3QgbWVtb2l6ZWRab29tQ29udHJvbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSBmb3JFdmVudHNWaWV3XG4gICAgICA/IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcoKVxuICAgICAgOiB6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcygpO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH0sIFtcbiAgICBtYXBab29tTGV2ZWwsXG4gICAgZXZlbnRzRGF0YS5pc0ZldGNoaW5nLFxuICAgIGZvY3VzZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnQsXG4gICAgcG9pbnRzLFxuICAgIG1hcFJlZi5jdXJyZW50LFxuICBdKTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgaW5jbHVkZU5ldHdvcms9eyFob3ZlcmVkRXZlbnRQcmVzZW50fVxuICAgICAgLz5cbiAgICApO1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgY29sbGVjdG9yc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihjb2xsZWN0b3JzTGF5ZXJHcm91cCk7XG4gICAgfTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgIG1hcFJlZixcbiAgICAgIGRpc3BhdGNoLFxuICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgIGZvcldXVFBEYXNoYm9hcmQsXG4gICAgKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgLy8gZmFjdG9yaWVzQ2x1c3Rlckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAvLyB3d3Rwc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIC8vIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAvLyBhcmVhc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIC8vIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihmYWN0b3JpZXNDbHVzdGVyR3JvdXApO1xuICAgICAgLy8gbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKHd3dHBzTGF5ZXJHcm91cCk7XG4gICAgICAvLyBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAgICAgLy8gbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGFyZWFzTGF5ZXJHcm91cCk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmUoKTtcbiAgICAgIC8vIGRpc3BhdGNoKHN0b3JlTWFwKHVuZGVmaW5lZCkpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsaXplTWFwKFxuICAgICAgICBtYXBab29tTGV2ZWwsXG4gICAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICAgIGZvcldXVFBEYXNoYm9hcmQsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRNYXBab29tTGV2ZWwobWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpKTtcbiAgICAgIGlmICghYXJlYVRvQ2VudGVyQnkpIHtcbiAgICAgICAgYXJlYVRvQ2VudGVyQnkgPSBhcmVhcy5tYXAoKGFyZWEpID0+IGFyZWEuc2hhcGVfZGF0YSkuZmxhdCgpO1xuICAgICAgfVxuXG4gICAgICBhcmVhRm9jdXNMb2dpYyhtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9LCBbbWFwUmVmLmN1cnJlbnQsIGFyZWFUb0NlbnRlckJ5XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY2xpY2tlZCA9IGZhbHNlO1xuXG4gICAgbWFwUmVmLmN1cnJlbnQ/LmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgIGlmIChjbGlja2VkKSByZXR1cm47XG5cbiAgICAgIGlmIChcbiAgICAgICAgbGF5ZXI/LmthbmRvX29iamVjdF9pZCA9PT0gc2VsZWN0ZWRJdGVtICYmXG4gICAgICAgIGxheWVyLmlzUG9wdXBPcGVuKCkgPT09IGZhbHNlXG4gICAgICApIHtcbiAgICAgICAgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5NYXJrZXIpIHtcbiAgICAgICAgICBsYXllci5maXJlKCdjbGljaycpO1xuICAgICAgICB9IGVsc2UgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5Qb2x5Z29uKSB7XG4gICAgICAgICAgbGF5ZXIuZmlyZSgnY2xpY2stZXZlbnQnKTtcbiAgICAgICAgfVxuICAgICAgICBjbGlja2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW3NlbGVjdGVkSXRlbV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJrZC1tYXAtY29udGFpbmVyXCIgc3R5bGU9e3N0eWxlfT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtgIG1hcC1jb250YWluZXIgJHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS5zaWRlbmF2RXhwYW5kZWQgPyAnJyA6ICdtYXAtY29udGFpbmVyLS1zaWRlbmF2LWNvbGxhcHNlZCdcbiAgICAgICAgfWB9XG4gICAgICA+XG4gICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgIDxkaXYgaWQ9XCJtYXBcIj48L2Rpdj5cbiAgICAgICAgICB7c2hvdWxkTG9hZE1hcE9iamVjdHMoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgZWRnZXMsIHBvaW50cykgJiYgKFxuICAgICAgICAgICAgPEFyZWFQb2x5Z29uc1xuICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhVG9DZW50ZXJCeX1cbiAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICByZXJlbmRlcj17em9vbUxldmVsc1ttYXBab29tTGV2ZWxdfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGZlYXR1cmVHcm91cD17YXJlYXNMYXllckdyb3VwfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKFxuICAgICAgICAgICAgZWRnZXMsXG4gICAgICAgICAgICBhcmVhcyxcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLFxuICAgICAgICAgICAgbWFwUmVmLFxuICAgICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgICkgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge21lbW9pemVkRXZlbnR9XG4gICAgICAgICAgICAgIHttZW1vaXplZFpvb21Db250cm9sfVxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLElBQUFBLENBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFPQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFPQSxJQUFBRyxjQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFGLHNCQUFBLENBQUFKLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUCxPQUFBO0FBRUEsSUFBQVEsTUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsU0FBQSxHQUFBVCxPQUFBO0FBUUEsSUFBQVUsTUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsS0FBQSxHQUFBUCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVksWUFBQSxHQUFBWixPQUFBO0FBQXFFLFNBQUFhLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlC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
251
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9pMThuIiwiX0xpc3RDb250ZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJfcmVmJGhpZGVFZGdlcyIsImhpZGVFZGdlcyIsIl9yZWYkbWFwQm94U3R5bGUiLCJtYXBCb3hTdHlsZSIsImxlYWZsZXRNYXAiLCJtYXBEZWZhdWx0IiwiY2hpbGRyZW4iLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IyIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIl9yZWYkZm9yRXZlbnRzVmlldyIsImZvckV2ZW50c1ZpZXciLCJfcmVmJHN0eWxlIiwic3R5bGUiLCJfcmVmJGZvcldXVFBEYXNoYm9hcmQiLCJmb3JXV1RQRGFzaGJvYXJkIiwibWFwIiwibWFwUmVmIiwidXNlUmVmIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJldmVudHNEYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiaG92ZXJlZEV2ZW50UHJlc2VudCIsInVzZU1lbW8iLCJ1bmRlZmluZWQiLCJmb2N1c2VkRXZlbnRQcmVzZW50IiwiX3VzZVN0YXRlMyIsIndpbmRvdyIsImN1c3RvbUxlYWZsZXQiLCJtYXJrZXJDbHVzdGVyR3JvdXAiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsImNvbmNhdCIsIl9jaGlsZENvdW50IiwiaTE4biIsInQiLCJjbGFzc05hbWUiLCJpY29uU2l6ZSIsIlBvaW50IiwiX3VzZVN0YXRlNCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsIl91c2VTdGF0ZTUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlNiIsInd3dHBzTGF5ZXJHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJfdXNlU3RhdGU5IiwiRmVhdHVyZUdyb3VwIiwiX3VzZVN0YXRlMTAiLCJhcmVhc0xheWVyR3JvdXAiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwiZWRnZXNDaGVja2JveCIsInNldEVkZ2VzQ2hlY2tib3giLCJtZW1vaXplZFBvaW50cyIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwiUG9pbnRNYXJrZXJzIiwicmVyZW5kZXIiLCJ6b29tTGV2ZWxzIiwiZmFjdG9yaWVzR3JvdXAiLCJ3d3Rwc0dyb3VwIiwiY29sbGVjdG9yc0dyb3VwIiwidHJhY2tMYXllcmJveCIsImNoZWNrYm94IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNoZWNrZWQiLCJ6b29tUnVsZXNGb3JFdmVudHNWaWV3IiwicGF5bG9hZCIsIkZyYWdtZW50IiwiaGlkZUFycm93cyIsImFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyIsInpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzIiwibWVtb2l6ZWRab29tQ29udHJvbCIsImlzRmV0Y2hpbmciLCJtZW1vaXplZEV2ZW50IiwiZm9jdXNlZCIsImhvdmVyZWQiLCJFdmVudCIsImV2ZW50IiwiaW5jbHVkZU5ldHdvcmsiLCJldmVudEZpbHRlclBhcmFtIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwicmVtb3ZlTGF5ZXIiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJyZW1vdmUiLCJ3YXRlckF1dGhvcml0eUlkIiwiZ2V0Wm9vbSIsImFyZWEiLCJzaGFwZV9kYXRhIiwiZmxhdCIsImFyZWFGb2N1c0xvZ2ljIiwiX21hcFJlZiRjdXJyZW50MiIsImNsaWNrZWQiLCJlYWNoTGF5ZXIiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImlzUG9wdXBPcGVuIiwiTWFya2VyIiwiZmlyZSIsIlBvbHlnb24iLCJzaWRlbmF2RXhwYW5kZWQiLCJpZCIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiQXJlYVBvbHlnb25zIiwibWFwWm9vbSIsImZlYXR1cmVHcm91cCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL01hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnbGVhZmxldC5tYXJrZXJjbHVzdGVyJztcbmltcG9ydCAnbGVhZmxldC5wYXR0ZXJuJztcbmltcG9ydCBSZWFjdCwge1xuICBDU1NQcm9wZXJ0aWVzLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50Jztcbi8vIGltcG9ydCB7IHN0b3JlTWFwIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IEFyZWFQb2x5Z29ucyB9IGZyb20gJy4vYXJlYXMvQXJlYVBvbHlnb25zJztcbmltcG9ydCBFZGdlcyBmcm9tICcuL2VkZ2VzL0VkZ2VzJztcbmltcG9ydCAnLi9NYXAuc2Nzcyc7XG5pbXBvcnQgJy4vcG9pbnRzL1BvaW50SWNvbi5zY3NzJztcbmltcG9ydCB7IFBvaW50TWFya2VycyB9IGZyb20gJy4vcG9pbnRzL1BvaW50TWFya2Vycyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnQgfSBmcm9tICcuL2V2ZW50cy9FdmVudCc7XG5pbXBvcnQge1xuICBhcmVhRm9jdXNMb2dpYyxcbiAgaW5pdGlhbGl6ZU1hcCxcbiAgaXNWYWxpZEFyZWEsXG4gIHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxuICB6b29tTGV2ZWxzLFxufSBmcm9tICcuL01hcFV0aWxzJztcbmltcG9ydCB7IGxlYWZsZXRNYXAgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0Q29udGV4dCc7XG5yZXF1aXJlKCdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInKTtcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzPzogSUVkZ2VbXTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHN0eWxlPzogQ1NTUHJvcGVydGllcztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG4gIGZvckV2ZW50c1ZpZXc6IGJvb2xlYW47XG4gIGZvcldXVFBEYXNoYm9hcmQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwOiBSZWFjdC5GQzxNYXBQcm9wcz4gPSAoe1xuICBhcmVhcyxcbiAgZWRnZXMsXG4gIHBvaW50cyxcbiAgZ2xvYmFsX2RhdGEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGhvdmVyZWRFdmVudCxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIG1hcEJveFN0eWxlID0gbGVhZmxldE1hcC5tYXBEZWZhdWx0LFxuICBjaGlsZHJlbixcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzID0gdHJ1ZSxcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyA9IGZhbHNlLFxuICBmb3JFdmVudHNWaWV3ID0gZmFsc2UsXG4gIHN0eWxlID0ge30sXG4gIGZvcldXVFBEYXNoYm9hcmQgPSBmYWxzZSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8TC5NYXAgfCBudWxsPihudWxsKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbWFwWm9vbUxldmVsLCBzZXRNYXBab29tTGV2ZWxdID0gdXNlU3RhdGUoMik7XG4gIGNvbnN0IHsgc2VsZWN0ZWRJdGVtIH0gPSB1c2VTZWxlY3RlZEl0ZW0oKTtcbiAgY29uc3QgZXZlbnRzRGF0YSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLmV2ZW50c19kYXRhLFxuICApO1xuICBjb25zdCBob3ZlcmVkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGhvdmVyZWRFdmVudCAhPT0gbnVsbCAmJiBob3ZlcmVkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2hvdmVyZWRFdmVudF0pO1xuXG4gIGNvbnN0IGZvY3VzZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmIGZvY3VzZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbZm9jdXNlZEV2ZW50XSk7XG5cbiAgY29uc3QgW2ZhY3Rvcmllc0NsdXN0ZXJHcm91cF0gPSB1c2VTdGF0ZShcbiAgICB3aW5kb3cuY3VzdG9tTGVhZmxldC5tYXJrZXJDbHVzdGVyR3JvdXAoe1xuICAgICAgc3BpZGVyZnlPbk1heFpvb206IGZhbHNlLFxuICAgICAgc2hvd0NvdmVyYWdlT25Ib3ZlcjogZmFsc2UsXG4gICAgICB6b29tVG9Cb3VuZHNPbkNsaWNrOiB0cnVlLFxuICAgICAgYW5pbWF0ZTogdHJ1ZSxcbiAgICAgIGRpc2FibGVDbHVzdGVyaW5nQXRab29tOiAxNSxcbiAgICAgIHJlbW92ZU91dHNpZGVWaXNpYmxlQm91bmRzOiBmYWxzZSxcbiAgICAgIGNodW5rZWRMb2FkaW5nOiB0cnVlLFxuICAgICAgaWNvbkNyZWF0ZUZ1bmN0aW9uOiBmdW5jdGlvbiAoY2x1c3Rlcikge1xuICAgICAgICByZXR1cm4gbmV3IEwuRGl2SWNvbih7XG4gICAgICAgICAgaHRtbDogYDxkaXY+PHNwYW4+JHtcbiAgICAgICAgICAgIGNsdXN0ZXIuX2NoaWxkQ291bnRcbiAgICAgICAgICB9PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9J21hcmtlci1jbHVzdGVyLW5hbWUnPiR7aTE4bi50KFxuICAgICAgICAgICAgJ2luZHVzdHJpZXMnLFxuICAgICAgICAgICl9PC9kaXY+YCxcbiAgICAgICAgICBjbGFzc05hbWU6ICdtYXJrZXItY2x1c3RlcicsXG4gICAgICAgICAgaWNvblNpemU6IG5ldyBMLlBvaW50KDQwLCA0MCksXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KSxcbiAgKTtcblxuICBjb25zdCBbd3d0cHNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2NvbGxlY3RvcnNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgLy9jb25zdCBbZmFjdG9yaWVzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFthcmVhc0xheWVyR3JvdXBdID0gdXNlU3RhdGUobmV3IEwuRmVhdHVyZUdyb3VwKCkpO1xuICBjb25zdCBbZWRnZXNDaGVja2JveCwgc2V0RWRnZXNDaGVja2JveF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICAgIHBvaW50cyAmJiAoXG4gICAgICAgIDxQb2ludE1hcmtlcnNcbiAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17aW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzfVxuICAgICAgICAgIHJlcmVuZGVyPXt6b29tTGV2ZWxzW21hcFpvb21MZXZlbF19XG4gICAgICAgICAgZmFjdG9yaWVzR3JvdXA9e2ZhY3Rvcmllc0NsdXN0ZXJHcm91cH1cbiAgICAgICAgICB3d3Rwc0dyb3VwPXt3d3Rwc0xheWVyR3JvdXB9XG4gICAgICAgICAgY29sbGVjdG9yc0dyb3VwPXtjb2xsZWN0b3JzTGF5ZXJHcm91cH1cbiAgICAgICAgICBmb3JFdmVudHNWaWV3PXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICApO1xuICB9LCBbbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgZm9jdXNlZEV2ZW50UHJlc2VudCwgbWFwWm9vbUxldmVsXSk7XG5cbiAgLy8gY29uc3QgYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zID0gdXNlTWVtbygoKSA9PiB7XG4gIC8vICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgaWNvblpvb21Db250cm9sKG1hcFJlZi5jdXJyZW50KTtcbiAgLy8gfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnRdKTtcblxuICBjb25zdCB0cmFja0xheWVyYm94ID0gKCkgPT4ge1xuICAgIGxldCBjaGVja2JveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNlZGdlcy1jaGVja2JveCcpO1xuICAgIGNoZWNrYm94LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHtcbiAgICAgIHNldEVkZ2VzQ2hlY2tib3goY2hlY2tib3guY2hlY2tlZCk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRXZlbnRzVmlldyA9ICgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gKFxuICAgICAgPD5cbiAgICAgICAge2VkZ2VzQ2hlY2tib3ggJiYgKFxuICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICAgICAgaGlkZUVkZ2VzPXtoaWRlRWRnZXN9XG4gICAgICAgICAgICBoaWRlQXJyb3dzPXt0cnVlfVxuICAgICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHttZW1vaXplZFBvaW50c31cbiAgICAgIDwvPlxuICAgICk7XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCB6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcyA9ICgpID0+IHtcbiAgICBsZXQgcGF5bG9hZCA9IDw+e21lbW9pemVkUG9pbnRzfTwvPjtcbiAgICBzd2l0Y2ggKHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSkge1xuICAgICAgY2FzZSAnU21hbGwnOlxuICAgICAgY2FzZSAnTWVkaXVtJzpcbiAgICAgICAgcGF5bG9hZCA9IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICAvLyBjYXNlICdNTGFyZ2UnOlxuICAgICAgLy8gY2FzZSAnTGFyZ2UnOlxuICAgICAgLy8gY2FzZSAnWExhcmdlJzpcbiAgICAgIC8vIGRlZmF1bHQ6XG4gICAgICAvLyAgIHBheWxvYWQgPSA8PnttZW1vaXplZFBvaW50c308Lz47XG4gICAgICAvLyAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkWm9vbUNvbnRyb2wgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gZm9yRXZlbnRzVmlld1xuICAgICAgPyB6b29tUnVsZXNGb3JFdmVudHNWaWV3KClcbiAgICAgIDogem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMoKTtcblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9LCBbXG4gICAgbWFwWm9vbUxldmVsLFxuICAgIGV2ZW50c0RhdGEuaXNGZXRjaGluZyxcbiAgICBmb2N1c2VkRXZlbnQsXG4gICAgaG92ZXJlZEV2ZW50LFxuICAgIHBvaW50cyxcbiAgICBtYXBSZWYuY3VycmVudCxcbiAgICBlZGdlc0NoZWNrYm94LFxuICBdKTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgaW5jbHVkZU5ldHdvcms9eyFob3ZlcmVkRXZlbnRQcmVzZW50fVxuICAgICAgLz5cbiAgICApO1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgY29sbGVjdG9yc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihjb2xsZWN0b3JzTGF5ZXJHcm91cCk7XG4gICAgfTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgIG1hcFJlZixcbiAgICAgIGRpc3BhdGNoLFxuICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgIGZvcldXVFBEYXNoYm9hcmQsXG4gICAgICBmb3JFdmVudHNWaWV3LFxuICAgICk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIC8vIGZhY3Rvcmllc0NsdXN0ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgLy8gd3d0cHNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAvLyBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgLy8gYXJlYXNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAvLyBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoZmFjdG9yaWVzQ2x1c3Rlckdyb3VwKTtcbiAgICAgIC8vIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcih3d3Rwc0xheWVyR3JvdXApO1xuICAgICAgLy8gbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGNvbGxlY3RvcnNMYXllckdyb3VwKTtcbiAgICAgIC8vIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihhcmVhc0xheWVyR3JvdXApO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlKCk7XG4gICAgICAvLyBkaXNwYXRjaChzdG9yZU1hcCh1bmRlZmluZWQpKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgaW5pdGlhbGl6ZU1hcChcbiAgICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgICBtYXBCb3hTdHlsZSxcbiAgICAgICAgbGVhZmxldE1hcC5zYXRlbGxpdGUsXG4gICAgICAgIG1hcFJlZixcbiAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgICAgc2V0TWFwWm9vbUxldmVsLFxuICAgICAgICBmb3JXV1RQRGFzaGJvYXJkLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0TWFwWm9vbUxldmVsKG1hcFJlZi5jdXJyZW50LmdldFpvb20oKSk7XG4gICAgICBpZiAoIWFyZWFUb0NlbnRlckJ5KSB7XG4gICAgICAgIGFyZWFUb0NlbnRlckJ5ID0gYXJlYXMubWFwKChhcmVhKSA9PiBhcmVhLnNoYXBlX2RhdGEpLmZsYXQoKTtcbiAgICAgIH1cblxuICAgICAgYXJlYUZvY3VzTG9naWMobWFwUmVmLCBpc1ZhbGlkQXJlYSwgYXJlYVRvQ2VudGVyQnkpO1xuICAgICAgdHJhY2tMYXllcmJveCgpO1xuICAgIH1cbiAgfSwgW21hcFJlZi5jdXJyZW50LCBhcmVhVG9DZW50ZXJCeV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNsaWNrZWQgPSBmYWxzZTtcblxuICAgIG1hcFJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICBpZiAoY2xpY2tlZCkgcmV0dXJuO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGxheWVyPy5rYW5kb19vYmplY3RfaWQgPT09IHNlbGVjdGVkSXRlbSAmJlxuICAgICAgICBsYXllci5pc1BvcHVwT3BlbigpID09PSBmYWxzZVxuICAgICAgKSB7XG4gICAgICAgIGlmIChsYXllciBpbnN0YW5jZW9mIEwuTWFya2VyKSB7XG4gICAgICAgICAgbGF5ZXIuZmlyZSgnY2xpY2snKTtcbiAgICAgICAgfSBlbHNlIGlmIChsYXllciBpbnN0YW5jZW9mIEwuUG9seWdvbikge1xuICAgICAgICAgIGxheWVyLmZpcmUoJ2NsaWNrLWV2ZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY2xpY2tlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiIHN0eWxlPXtzdHlsZX0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+PC9kaXY+XG4gICAgICAgICAge3Nob3VsZExvYWRNYXBPYmplY3RzKGdsb2JhbF9kYXRhLCBtYXBSZWYsIGVkZ2VzLCBwb2ludHMpICYmIChcbiAgICAgICAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgIG1hcFpvb209e21hcFpvb21MZXZlbH1cbiAgICAgICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgICBmZWF0dXJlR3JvdXA9e2FyZWFzTGF5ZXJHcm91cH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyhcbiAgICAgICAgICAgIGVkZ2VzLFxuICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICBnbG9iYWxfZGF0YSxcbiAgICAgICAgICAgIG1hcFJlZixcbiAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICApICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHttZW1vaXplZEV2ZW50fVxuICAgICAgICAgICAgICB7bWVtb2l6ZWRab29tQ29udHJvbH1cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxDQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBT0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBT0EsSUFBQUcsY0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssYUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBRixzQkFBQSxDQUFBSixPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQVAsT0FBQTtBQUVBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFNBQUEsR0FBQVQsT0FBQTtBQVFBLElBQUFVLE1BQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLEtBQUEsR0FBQVAsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFZLFlBQUEsR0FBQVosT0FBQTtBQUFxRSxTQUFBYSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQWYsd0JBQUFtQixHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFB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
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.zoomLevels = exports.topIconOptions = exports.shouldLoadMapObjects = exports.shoudLoadDependentMapObjects = exports.multipleLayeredIcons = exports.middleIconOptions = exports.isValidArea = exports.initializeMap = exports.iconZoomControl = exports.findSpecificLayersFromMap = exports.eventsCounterIcons = exports.eventsCountIcon = exports.bubbleIconOptions = exports.areaFocusLogic = void 0;
7
+ exports.zoomLevels = exports.topIconOptions = exports.toggleEdgesVisibility = exports.shouldLoadMapObjects = exports.shoudLoadDependentMapObjects = exports.multipleLayeredIcons = exports.middleIconOptions = exports.isValidArea = exports.initializeMap = exports.iconZoomControl = exports.findSpecificLayersFromMap = exports.eventsCounterIcons = exports.eventsCountIcon = exports.edgesSpecificLogic = exports.customFunctionalityForMapLayers = exports.bubbleIconOptions = exports.areaFocusLogic = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
9
9
  var _leaflet = _interopRequireDefault(require("leaflet"));
10
10
  var _actions = require("../../store/global/actions");
@@ -197,7 +197,74 @@ var baseMaps = function baseMaps(mapBoxStyle, mapBoxSatelliteStyle) {
197
197
  var satellite = _i18n.default.t('map.layers.satellite');
198
198
  return _ref = {}, (0, _defineProperty2.default)(_ref, defaultMap, mapStyle(mapBoxStyle)), (0, _defineProperty2.default)(_ref, satellite, mapStyle(mapBoxSatelliteStyle)), _ref;
199
199
  };
200
- var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSatelliteStyle, mapRef, dispatch, isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard) {
200
+ var toggleEdgesVisibility = function toggleEdgesVisibility(visible, map) {
201
+ map.eachLayer(function (layer) {
202
+ if (layer instanceof _leaflet.default.Polyline && layer.kando_object !== 'Area' || layer instanceof _leaflet.default.Symbol.arrowHead) {
203
+ layer.setStyle({
204
+ opacity: visible ? 1 : 0
205
+ });
206
+ }
207
+ });
208
+ };
209
+ exports.toggleEdgesVisibility = toggleEdgesVisibility;
210
+ var edgesSpecificLogic = function edgesSpecificLogic(defaultOn, map) {
211
+ var checkbox = document.querySelector('#edges-checkbox');
212
+ checkbox.checked = defaultOn;
213
+ checkbox.checked = defaultOn;
214
+ };
215
+ exports.edgesSpecificLogic = edgesSpecificLogic;
216
+ var customControls = function customControls(map) {
217
+ return [{
218
+ label: _i18n.default.t('map.layers.network_lines'),
219
+ id: 'edges-checkbox',
220
+ inputType: 'checkbox',
221
+ onChange: function onChange(isChecked) {
222
+ return toggleEdgesVisibility(isChecked, map);
223
+ }
224
+ }
225
+
226
+ // {
227
+ // label: 'Another custom feature',
228
+ // id: 'custom-feature-checkbox',
229
+ // inputType: 'checkbox',
230
+ // onChange: (isChecked) => console.log(`Another feature is now ${isChecked ? 'enabled' : 'disabled'}`),
231
+ // },
232
+ ];
233
+ };
234
+
235
+ var appendCustomCheckboxToLeafletsLayerBox = function appendCustomCheckboxToLeafletsLayerBox(leafletsContainer, customContainer) {
236
+ _leaflet.default.DomEvent.on(leafletsContainer, 'mouseover', function () {
237
+ customContainer.style.display = 'block';
238
+ });
239
+ _leaflet.default.DomEvent.on(leafletsContainer, 'mouseout', function () {
240
+ customContainer.style.display = 'none';
241
+ });
242
+ };
243
+ var createCustomControl = function createCustomControl(control, container) {
244
+ var controlContainer = document.createElement('div');
245
+ controlContainer.className = 'leaflet-control-layers-overlays';
246
+ controlContainer.innerHTML = "\n <label>\n <input type=\"".concat(control.inputType, "\" id=\"").concat(control.id, "\" /> ").concat(control.label, "\n </label>\n ");
247
+ controlContainer.querySelector("#".concat(control.id)).addEventListener('change', function (e) {
248
+ var isChecked = e.target.checked;
249
+ control.onChange(isChecked);
250
+ });
251
+ controlContainer.style.display = 'none';
252
+ container === null || container === void 0 ? void 0 : container.appendChild(controlContainer);
253
+ appendCustomCheckboxToLeafletsLayerBox(container, controlContainer);
254
+ };
255
+ var customFunctionalityForMapLayers = function customFunctionalityForMapLayers(map, mapTypes) {
256
+ var defaultOn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
257
+ var controller = _leaflet.default.control.layers(mapTypes, {}, {
258
+ position: 'bottomright'
259
+ }).addTo(map);
260
+ var container = controller.getContainer();
261
+ customControls(map).forEach(function (control) {
262
+ createCustomControl(control, container);
263
+ edgesSpecificLogic(defaultOn, map);
264
+ });
265
+ };
266
+ exports.customFunctionalityForMapLayers = customFunctionalityForMapLayers;
267
+ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSatelliteStyle, mapRef, dispatch, isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard, showEdgesByDefault) {
201
268
  // @ts-ignore
202
269
  mapRef.current = new _leaflet.default.Map('map', {
203
270
  center: [0, 0],
@@ -210,9 +277,7 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSate
210
277
  mapRef.current.whenReady(function () {
211
278
  var map = mapRef.current;
212
279
  var mapTypes = baseMaps(mapBoxStyle, mapBoxSatelliteStyle);
213
- _leaflet.default.control.layers(mapTypes, {}, {
214
- position: 'bottomright'
215
- }).addTo(map);
280
+ customFunctionalityForMapLayers(map, mapTypes, showEdgesByDefault);
216
281
 
217
282
  // The name of the layer changes between languages so there was a need to get to the first layer
218
283
  Object.values(mapTypes)[0].addTo(map);
@@ -268,4 +333,4 @@ var zoomLevels = {
268
333
  18: 'Small'
269
334
  };
270
335
  exports.zoomLevels = zoomLevels;
271
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJleHBvcnRzIiwiYXJlYSIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHMiLCJlZGdlcyIsIm1hcCIsInVuZGVmaW5lZCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJhcmVhcyIsImdsb2JhbCIsImZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAiLCJsYXllcnNUb0ZpbmQiLCJjdXJyZW50TGF5ZXIiLCJpbmNsdWRlcyIsImthbmRvX3BvaW50X3R5cGUiLCJldmVudHNDb3VudGVySWNvbnMiLCJsYXllciIsInpvb21MZXZlbCIsImljb24iLCJvcHRpb25zIiwiaWNvblNpemUiLCJldmVudHNDb3VudEljb24iLCJpY29uQW5jaG9yIiwic2V0SWNvbiIsInNldE9wYWNpdHkiLCJtdWx0aXBsZUxheWVyZWRJY29ucyIsImlzQUZld0xheWVySWNvbiIsImthbmRvX2Zld19sYXllcl9pY29uIiwibWluaUljb24iLCJwcmVzZW50Iiwia2FuZG9fc2Vjb25kYXJ5Iiwia2FuZG9fdGhpcmQiLCJzZWNvbmRhcnkiLCJ0aGlyZCIsImthbmRvX2luZGV4X29iamVjdCIsImJ1YmJsZUljb25PcHRpb25zIiwib25lTGF5ZXJJY29uT3B0aW9ucyIsIm1pZGRsZUljb25PcHRpb25zIiwidG9wSWNvbk9wdGlvbnMiLCJpY29uWm9vbUNvbnRyb2wiLCJsYXllcnMiLCJfem9vbSIsIm1hcFN0eWxlIiwibWFwQm94U3R5bGUiLCJ0aWxlTGF5ZXIiLCJjb25jYXQiLCJhdHRyaWJ1dGlvbiIsIm1heFpvb20iLCJtaW5ab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsIl9yZWYiLCJkZWZhdWx0TWFwIiwiaTE4biIsInQiLCJzYXRlbGxpdGUiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsImluaXRpYWxpemVNYXAiLCJtYXBab29tTGV2ZWwiLCJkaXNwYXRjaCIsInNldE1hcFpvb21MZXZlbCIsImZvcldXVFBEYXNoYm9hcmQiLCJNYXAiLCJjZW50ZXIiLCJ6b29tU25hcCIsInpvb20iLCJhdHRyaWJ1dGlvbkNvbnRyb2wiLCJwcmVmZXJDYW52YXMiLCJzZXRNYXAiLCJ3aGVuUmVhZHkiLCJtYXBUeXBlcyIsImNvbnRyb2wiLCJwb3NpdGlvbiIsImFkZFRvIiwidmFsdWVzIiwic2V0VGltZW91dCIsImludmFsaWRhdGVTaXplIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwic3RvcmVNYXAiLCJzaWRlTmF2RXhwYW5kZWQiLCJvbiIsImV2ZW50Iiwib3JpZ2luYWxFdmVudCIsImtleSIsImNsb3NlUG9wdXAiLCJkb2N1bWVudCIsImJvZHkiLCJmb2N1cyIsImUiLCJnZXRab29tIiwiem9vbUxldmVscyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHNldE1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0FyZWEnIHx8XG4gICAgICAgIG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ1BvaW50J1xuICAgICAgKSB7XG4gICAgICAgIGdyb3VwLnB1c2gobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCkpLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICBwYWRkaW5nOiBbMTAwLCAxMDBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8vIG1hcEluc3RhbmNlLmludmFsaWRhdGVTaXplKHRydWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRBcmVhID0gKGFyZWEpID0+IHtcbiAgcmV0dXJuIGFyZWEgJiYgYXJlYS5sZW5ndGggPiAwICYmIE9iamVjdC5rZXlzKGFyZWFbMF0pLmxlbmd0aCA+IDA7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTG9hZE1hcE9iamVjdHMgPSAoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgcG9pbnRzLCBlZGdlcykgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbF9kYXRhLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgcG9pbnRzICE9PSB1bmRlZmluZWRcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzID0gKFxuICBlZGdlcyxcbiAgYXJlYXMsXG4gIGdsb2JhbCxcbiAgbWFwUmVmLFxuICBwb2ludHMsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWwubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIC8vIGVkZ2VzLmxlbmd0aCAhPT0gMCAmJlxuICAgIC8vIGFyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHBvaW50cy5sZW5ndGggIT09IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuNywgem9vbUxldmVsICogMy43XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50SWNvbiA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSBhcyBQb2ludFR1cGxlLFxuICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDJdIGFzIFBvaW50VHVwbGUsXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjk4LCB6b29tTGV2ZWwgKiA0LjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgbWlkZGxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDMuNV0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAxLjVdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDEuMjk1LCB6b29tTGV2ZWwgKiAzLjM1XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9wSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMC45LCB6b29tTGV2ZWwgKiAxLjhdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS42LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuMiwgem9vbUxldmVsICogMi4xXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOSwgem9vbUxldmVsICogMy44XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpY29uWm9vbUNvbnRyb2wgPSAobWFwKSA9PiB7XG4gIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgbGV0IHpvb21MZXZlbCA9IG1hcC5fem9vbTtcblxuICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnSWNvbk51bWJlciddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgZXZlbnRzQ291bnRlckljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydQb2ludCcsICdJY29uJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydTYW1wbGluZycsICdPYnNlcnZhdGlvbiddLCBsYXllcnNbcHJvcGVydHldKVxuICAgICkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IG1hcFN0eWxlID0gKG1hcEJveFN0eWxlKSA9PiB7XG4gIHJldHVybiBMLnRpbGVMYXllcihcbiAgICBgaHR0cHM6Ly9hcGkubWFwYm94LmNvbS9zdHlsZXMvdjEvbmFkYXYta2FuZG8vJHttYXBCb3hTdHlsZX0vdGlsZXMvMjU2L3t6fS97eH0ve3l9QDJ4P2FjY2Vzc190b2tlbj1way5leUoxSWpvaWJtRmtZWFl0YTJGdVpHOGlMQ0poSWpvaVkycHZlSHByZEdSeE1IbG1kRE40YkRnMGR6SnhPWGM0ZFNKOS5KLTJvaHE3ajR5S05ibTROXy1QNnF3YCxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGlvbjpcbiAgICAgICAgJ01hcCBkYXRhICZjb3B5OyA8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvXCI+T3BlblN0cmVldE1hcDwvYT4gY29udHJpYnV0b3JzLCA8YSBocmVmPVwiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzIuMC9cIj5DQy1CWS1TQTwvYT4sIEltYWdlcnkgwqkgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm1hcGJveC5jb20vXCI+TWFwYm94PC9hPicsXG4gICAgICBtYXhab29tOiAxOCxcbiAgICAgIG1pblpvb206IDIsXG4gICAgICBpZDogJ21hcGJveC9zdHJlZXRzLXYxMScsXG4gICAgICB0aWxlU2l6ZTogNTEyLFxuICAgICAgem9vbU9mZnNldDogLTEsXG4gICAgICB1cGRhdGVXaGVuWm9vbWluZzogZmFsc2UsXG4gICAgICB1cGRhdGVXaGVuSWRsZTogZmFsc2UsXG4gICAgfSxcbiAgKTtcbn07XG5jb25zdCBiYXNlTWFwcyA9IChtYXBCb3hTdHlsZSwgbWFwQm94U2F0ZWxsaXRlU3R5bGUpID0+IHtcbiAgbGV0IGRlZmF1bHRNYXAgPSBpMThuLnQoJ21hcC5sYXllcnMuZGVmYXVsdCcpO1xuICBsZXQgc2F0ZWxsaXRlID0gaTE4bi50KCdtYXAubGF5ZXJzLnNhdGVsbGl0ZScpO1xuICByZXR1cm4ge1xuICAgIFtkZWZhdWx0TWFwXTogbWFwU3R5bGUobWFwQm94U3R5bGUpLFxuICAgIFtzYXRlbGxpdGVdOiBtYXBTdHlsZShtYXBCb3hTYXRlbGxpdGVTdHlsZSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZU1hcCA9IChcbiAgbWFwWm9vbUxldmVsLFxuICBtYXBCb3hTdHlsZSxcbiAgbWFwQm94U2F0ZWxsaXRlU3R5bGUsXG4gIG1hcFJlZixcbiAgZGlzcGF0Y2gsXG4gIGlzVmFsaWRBcmVhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgc2V0TWFwWm9vbUxldmVsLFxuICBmb3JXV1RQRGFzaGJvYXJkLFxuKSA9PiB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgbWFwUmVmLmN1cnJlbnQgPSBuZXcgTC5NYXAoJ21hcCcsIHtcbiAgICBjZW50ZXI6IFswLCAwXSxcbiAgICB6b29tU25hcDogMSxcbiAgICB6b29tOiBtYXBab29tTGV2ZWwsXG4gICAgYXR0cmlidXRpb25Db250cm9sOiBmYWxzZSxcbiAgICBwcmVmZXJDYW52YXM6IGZhbHNlLFxuICB9KTtcblxuICBpZiAoZm9yV1dUUERhc2hib2FyZCkgZGlzcGF0Y2goc2V0TWFwKG1hcFJlZi5jdXJyZW50KSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQud2hlblJlYWR5KCgpID0+IHtcbiAgICBsZXQgbWFwID0gbWFwUmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgbWFwVHlwZXMgPSBiYXNlTWFwcyhtYXBCb3hTdHlsZSwgbWFwQm94U2F0ZWxsaXRlU3R5bGUpO1xuXG4gICAgTC5jb250cm9sLmxheWVycyhtYXBUeXBlcywge30sIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSkuYWRkVG8obWFwKTtcblxuICAgIC8vIFRoZSBuYW1lIG9mIHRoZSBsYXllciBjaGFuZ2VzIGJldHdlZW4gbGFuZ3VhZ2VzIHNvIHRoZXJlIHdhcyBhIG5lZWQgdG8gZ2V0IHRvIHRoZSBmaXJzdCBsYXllclxuICAgIE9iamVjdC52YWx1ZXMobWFwVHlwZXMpWzBdLmFkZFRvKG1hcCk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBtYXBSZWYuY3VycmVudC5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdlcnInLCBlcnIpO1xuICAgICAgfVxuXG4gICAgICBkaXNwYXRjaChzdG9yZU1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKHRydWUpKTtcblxuICAgICAgbWFwLm9uKCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5vcmlnaW5hbEV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSwgMCk7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgbWFwUmVmLmN1cnJlbnQuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50Lm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCB6b29tID0gbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpO1xuICAgIHNldE1hcFpvb21MZXZlbCh6b29tKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUxldmVscyA9IHtcbiAgMTogJ1hMYXJnZScsXG4gIDI6ICdYTGFyZ2UnLFxuICAzOiAnWExhcmdlJyxcbiAgNDogJ1hMYXJnZScsXG4gIDU6ICdYTGFyZ2UnLFxuICA2OiAnWExhcmdlJyxcbiAgNzogJ0xhcmdlJyxcbiAgODogJ0xhcmdlJyxcbiAgOTogJ0xhcmdlJyxcbiAgMTA6ICdMYXJnZScsXG4gIDExOiAnTUxhcmdlJyxcbiAgMTI6ICdNTGFyZ2UnLFxuICAxMzogJ01MYXJnZScsXG4gIDE0OiAnTUxhcmdlJyxcbiAgMTU6ICdNZWRpdW0nLFxuICAxNjogJ01lZGl1bScsXG4gIDE3OiAnU21hbGwnLFxuICAxODogJ1NtYWxsJyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxH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
336
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJleHBvcnRzIiwiYXJlYSIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHMiLCJlZGdlcyIsIm1hcCIsInVuZGVmaW5lZCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJhcmVhcyIsImdsb2JhbCIsImZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAiLCJsYXllcnNUb0ZpbmQiLCJjdXJyZW50TGF5ZXIiLCJpbmNsdWRlcyIsImthbmRvX3BvaW50X3R5cGUiLCJldmVudHNDb3VudGVySWNvbnMiLCJsYXllciIsInpvb21MZXZlbCIsImljb24iLCJvcHRpb25zIiwiaWNvblNpemUiLCJldmVudHNDb3VudEljb24iLCJpY29uQW5jaG9yIiwic2V0SWNvbiIsInNldE9wYWNpdHkiLCJtdWx0aXBsZUxheWVyZWRJY29ucyIsImlzQUZld0xheWVySWNvbiIsImthbmRvX2Zld19sYXllcl9pY29uIiwibWluaUljb24iLCJwcmVzZW50Iiwia2FuZG9fc2Vjb25kYXJ5Iiwia2FuZG9fdGhpcmQiLCJzZWNvbmRhcnkiLCJ0aGlyZCIsImthbmRvX2luZGV4X29iamVjdCIsImJ1YmJsZUljb25PcHRpb25zIiwib25lTGF5ZXJJY29uT3B0aW9ucyIsIm1pZGRsZUljb25PcHRpb25zIiwidG9wSWNvbk9wdGlvbnMiLCJpY29uWm9vbUNvbnRyb2wiLCJsYXllcnMiLCJfem9vbSIsIm1hcFN0eWxlIiwibWFwQm94U3R5bGUiLCJ0aWxlTGF5ZXIiLCJjb25jYXQiLCJhdHRyaWJ1dGlvbiIsIm1heFpvb20iLCJtaW5ab29tIiwiaWQiLCJ0aWxlU2l6ZSIsInpvb21PZmZzZXQiLCJ1cGRhdGVXaGVuWm9vbWluZyIsInVwZGF0ZVdoZW5JZGxlIiwiYmFzZU1hcHMiLCJtYXBCb3hTYXRlbGxpdGVTdHlsZSIsIl9yZWYiLCJkZWZhdWx0TWFwIiwiaTE4biIsInQiLCJzYXRlbGxpdGUiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSIsInZpc2libGUiLCJlYWNoTGF5ZXIiLCJQb2x5bGluZSIsIlN5bWJvbCIsImFycm93SGVhZCIsInNldFN0eWxlIiwib3BhY2l0eSIsImVkZ2VzU3BlY2lmaWNMb2dpYyIsImRlZmF1bHRPbiIsImNoZWNrYm94IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY2hlY2tlZCIsImN1c3RvbUNvbnRyb2xzIiwibGFiZWwiLCJpbnB1dFR5cGUiLCJvbkNoYW5nZSIsImlzQ2hlY2tlZCIsImFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94IiwibGVhZmxldHNDb250YWluZXIiLCJjdXN0b21Db250YWluZXIiLCJEb21FdmVudCIsIm9uIiwic3R5bGUiLCJkaXNwbGF5IiwiY3JlYXRlQ3VzdG9tQ29udHJvbCIsImNvbnRyb2wiLCJjb250YWluZXIiLCJjb250cm9sQ29udGFpbmVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImlubmVySFRNTCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwidGFyZ2V0IiwiYXBwZW5kQ2hpbGQiLCJjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzIiwibWFwVHlwZXMiLCJhcmd1bWVudHMiLCJjb250cm9sbGVyIiwicG9zaXRpb24iLCJhZGRUbyIsImdldENvbnRhaW5lciIsImZvckVhY2giLCJpbml0aWFsaXplTWFwIiwibWFwWm9vbUxldmVsIiwiZGlzcGF0Y2giLCJzZXRNYXBab29tTGV2ZWwiLCJmb3JXV1RQRGFzaGJvYXJkIiwic2hvd0VkZ2VzQnlEZWZhdWx0IiwiTWFwIiwiY2VudGVyIiwiem9vbVNuYXAiLCJ6b29tIiwiYXR0cmlidXRpb25Db250cm9sIiwicHJlZmVyQ2FudmFzIiwic2V0TWFwIiwid2hlblJlYWR5IiwidmFsdWVzIiwic2V0VGltZW91dCIsImludmFsaWRhdGVTaXplIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwic3RvcmVNYXAiLCJzaWRlTmF2RXhwYW5kZWQiLCJldmVudCIsIm9yaWdpbmFsRXZlbnQiLCJrZXkiLCJjbG9zZVBvcHVwIiwiYm9keSIsImZvY3VzIiwiZ2V0Wm9vbSIsInpvb21MZXZlbHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvTWFwVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEwsIHsgUG9pbnRUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgc2lkZU5hdkV4cGFuZGVkLCBzdG9yZU1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBzZXRNYXAgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5cbmV4cG9ydCBjb25zdCBhcmVhRm9jdXNMb2dpYyA9IChtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSkgPT4ge1xuICBsZXQgbWFwSW5zdGFuY2U6IGFueSA9IG1hcFJlZi5jdXJyZW50O1xuICBpZiAoaXNWYWxpZEFyZWEoYXJlYVRvQ2VudGVyQnkpKSB7XG4gICAgbWFwSW5zdGFuY2UuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5LCB7IHBhZGRpbmc6IFswLCAwXSB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBncm91cDogYW55W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwSW5zdGFuY2UuX2xheWVycykge1xuICAgICAgaWYgKFxuICAgICAgICBtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJyB8fFxuICAgICAgICBtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdQb2ludCdcbiAgICAgICkge1xuICAgICAgICBncm91cC5wdXNoKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpKS5sZW5ndGggIT09IDApIHtcbiAgICAgIG1hcEluc3RhbmNlLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgcGFkZGluZzogWzEwMCwgMTAwXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICAvLyBtYXBJbnN0YW5jZS5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkQXJlYSA9IChhcmVhKSA9PiB7XG4gIHJldHVybiBhcmVhICYmIGFyZWEubGVuZ3RoID4gMCAmJiBPYmplY3Qua2V5cyhhcmVhWzBdKS5sZW5ndGggPiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VsZExvYWRNYXBPYmplY3RzID0gKGdsb2JhbF9kYXRhLCBtYXBSZWYsIHBvaW50cywgZWRnZXMpID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWxfZGF0YS5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgIHBvaW50cyAhPT0gdW5kZWZpbmVkXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyA9IChcbiAgZWRnZXMsXG4gIGFyZWFzLFxuICBnbG9iYWwsXG4gIG1hcFJlZixcbiAgcG9pbnRzLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICAvLyBlZGdlcy5sZW5ndGggIT09IDAgJiZcbiAgICAvLyBhcmVhcy5sZW5ndGggIT09IDAgJiZcbiAgICBwb2ludHMubGVuZ3RoICE9PSAwXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCA9IChcbiAgbGF5ZXJzVG9GaW5kOiBzdHJpbmdbXSxcbiAgY3VycmVudExheWVyLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgbGF5ZXJzVG9GaW5kLmluY2x1ZGVzKGN1cnJlbnRMYXllci5rYW5kb19vYmplY3QpICYmXG4gICAgY3VycmVudExheWVyLmthbmRvX3BvaW50X3R5cGUgIT09ICdNYW5ob2xlJ1xuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50ZXJJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICBsYXllci5zZXRJY29uKGljb24pO1xuICBsYXllci5zZXRPcGFjaXR5KDEpO1xufTtcblxuZXhwb3J0IGNvbnN0IG11bHRpcGxlTGF5ZXJlZEljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGxldCBpc0FGZXdMYXllckljb24gPSBsYXllci5rYW5kb19mZXdfbGF5ZXJfaWNvbjtcbiAgbGV0IG1pbmlJY29uID0ge1xuICAgIHByZXNlbnQ6IGxheWVyLmthbmRvX3NlY29uZGFyeSB8fCBsYXllci5rYW5kb190aGlyZCxcbiAgICBzZWNvbmRhcnk6IGxheWVyLmthbmRvX3NlY29uZGFyeSxcbiAgICB0aGlyZDogbGF5ZXIua2FuZG9fdGhpcmQsXG4gIH07XG5cbiAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMCkge1xuICAgIGlmIChpc0FGZXdMYXllckljb24pIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGJ1YmJsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBidWJibGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMSkge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gbWlkZGxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG1pZGRsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH1cblxuICBsYXllci5zZXRJY29uKGljb24pO1xufTtcblxuY29uc3Qgb25lTGF5ZXJJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuMywgem9vbUxldmVsICogMy4zXSBhcyBQb2ludFR1cGxlLFxuICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjcsIHpvb21MZXZlbCAqIDMuN10gYXMgUG9pbnRUdXBsZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudEljb24gPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0gYXMgUG9pbnRUdXBsZSxcbiAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdIGFzIFBvaW50VHVwbGUsXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiAyXSBhcyBQb2ludFR1cGxlLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45OCwgem9vbUxldmVsICogNC4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1pZGRsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAzLjVdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMS41XSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjI5NSwgem9vbUxldmVsICogMy4zNV0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRvcEljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDAuOSwgem9vbUxldmVsICogMS44XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjUsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuNiwgem9vbUxldmVsICogMi41XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjIsIHpvb21MZXZlbCAqIDIuMV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjksIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogMy44XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaWNvblpvb21Db250cm9sID0gKG1hcCkgPT4ge1xuICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gIGxldCB6b29tTGV2ZWwgPSBtYXAuX3pvb207XG5cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ0ljb25OdW1iZXInXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIGV2ZW50c0NvdW50ZXJJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnUG9pbnQnLCAnSWNvbiddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnU2FtcGxpbmcnLCAnT2JzZXJ2YXRpb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSlcbiAgICApIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBtYXBTdHlsZSA9IChtYXBCb3hTdHlsZSkgPT4ge1xuICByZXR1cm4gTC50aWxlTGF5ZXIoXG4gICAgYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL25hZGF2LWthbmRvLyR7bWFwQm94U3R5bGV9L3RpbGVzLzI1Ni97en0ve3h9L3t5fUAyeD9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2libUZrWVhZdGEyRnVaRzhpTENKaElqb2lZMnB2ZUhwcmRHUnhNSGxtZERONGJEZzBkekp4T1hjNGRTSjkuSi0yb2hxN2o0eUtOYm00Tl8tUDZxd2AsXG4gICAge1xuICAgICAgYXR0cmlidXRpb246XG4gICAgICAgICdNYXAgZGF0YSAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL1wiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgPGEgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8yLjAvXCI+Q0MtQlktU0E8L2E+LCBJbWFnZXJ5IMKpIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiPk1hcGJveDwvYT4nLFxuICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICBtaW5ab29tOiAyLFxuICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgdGlsZVNpemU6IDUxMixcbiAgICAgIHpvb21PZmZzZXQ6IC0xLFxuICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgdXBkYXRlV2hlbklkbGU6IGZhbHNlLFxuICAgIH0sXG4gICk7XG59O1xuY29uc3QgYmFzZU1hcHMgPSAobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSA9PiB7XG4gIGxldCBkZWZhdWx0TWFwID0gaTE4bi50KCdtYXAubGF5ZXJzLmRlZmF1bHQnKTtcbiAgbGV0IHNhdGVsbGl0ZSA9IGkxOG4udCgnbWFwLmxheWVycy5zYXRlbGxpdGUnKTtcbiAgcmV0dXJuIHtcbiAgICBbZGVmYXVsdE1hcF06IG1hcFN0eWxlKG1hcEJveFN0eWxlKSxcbiAgICBbc2F0ZWxsaXRlXTogbWFwU3R5bGUobWFwQm94U2F0ZWxsaXRlU3R5bGUpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHRvZ2dsZUVkZ2VzVmlzaWJpbGl0eSA9ICh2aXNpYmxlLCBtYXApID0+IHtcbiAgbWFwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICBpZiAoXG4gICAgICAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlsaW5lICYmIGxheWVyLmthbmRvX29iamVjdCAhPT0gJ0FyZWEnKSB8fFxuICAgICAgbGF5ZXIgaW5zdGFuY2VvZiBMLlN5bWJvbC5hcnJvd0hlYWRcbiAgICApIHtcbiAgICAgIGxheWVyLnNldFN0eWxlKHsgb3BhY2l0eTogdmlzaWJsZSA/IDEgOiAwIH0pO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZWRnZXNTcGVjaWZpY0xvZ2ljID0gKGRlZmF1bHRPbiwgbWFwKSA9PiB7XG4gIGxldCBjaGVja2JveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNlZGdlcy1jaGVja2JveCcpO1xuICBjaGVja2JveC5jaGVja2VkID0gZGVmYXVsdE9uO1xuICBjaGVja2JveC5jaGVja2VkID0gZGVmYXVsdE9uO1xufTtcblxuY29uc3QgY3VzdG9tQ29udHJvbHMgPSAobWFwKSA9PiB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgbGFiZWw6IGkxOG4udCgnbWFwLmxheWVycy5uZXR3b3JrX2xpbmVzJyksXG4gICAgICBpZDogJ2VkZ2VzLWNoZWNrYm94JyxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIG9uQ2hhbmdlOiAoaXNDaGVja2VkKSA9PiB0b2dnbGVFZGdlc1Zpc2liaWxpdHkoaXNDaGVja2VkLCBtYXApLFxuICAgIH0sXG5cbiAgICAvLyB7XG4gICAgLy8gICBsYWJlbDogJ0Fub3RoZXIgY3VzdG9tIGZlYXR1cmUnLFxuICAgIC8vICAgaWQ6ICdjdXN0b20tZmVhdHVyZS1jaGVja2JveCcsXG4gICAgLy8gICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgLy8gICBvbkNoYW5nZTogKGlzQ2hlY2tlZCkgPT4gY29uc29sZS5sb2coYEFub3RoZXIgZmVhdHVyZSBpcyBub3cgJHtpc0NoZWNrZWQgPyAnZW5hYmxlZCcgOiAnZGlzYWJsZWQnfWApLFxuICAgIC8vIH0sXG4gIF07XG59O1xuXG5jb25zdCBhcHBlbmRDdXN0b21DaGVja2JveFRvTGVhZmxldHNMYXllckJveCA9IChcbiAgbGVhZmxldHNDb250YWluZXIsXG4gIGN1c3RvbUNvbnRhaW5lcixcbikgPT4ge1xuICBMLkRvbUV2ZW50Lm9uKGxlYWZsZXRzQ29udGFpbmVyLCAnbW91c2VvdmVyJywgZnVuY3Rpb24gKCkge1xuICAgIGN1c3RvbUNvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgfSk7XG5cbiAgTC5Eb21FdmVudC5vbihsZWFmbGV0c0NvbnRhaW5lciwgJ21vdXNlb3V0JywgZnVuY3Rpb24gKCkge1xuICAgIGN1c3RvbUNvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9KTtcbn07XG5cbmNvbnN0IGNyZWF0ZUN1c3RvbUNvbnRyb2wgPSAoY29udHJvbCwgY29udGFpbmVyKSA9PiB7XG4gIGxldCBjb250cm9sQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGNvbnRyb2xDb250YWluZXIuY2xhc3NOYW1lID0gJ2xlYWZsZXQtY29udHJvbC1sYXllcnMtb3ZlcmxheXMnO1xuICBjb250cm9sQ29udGFpbmVyLmlubmVySFRNTCA9IGBcbiAgICAgIDxsYWJlbD5cbiAgICAgICAgPGlucHV0IHR5cGU9XCIke2NvbnRyb2wuaW5wdXRUeXBlfVwiIGlkPVwiJHtjb250cm9sLmlkfVwiIC8+ICR7Y29udHJvbC5sYWJlbH1cbiAgICAgIDwvbGFiZWw+XG4gICAgYDtcblxuICBjb250cm9sQ29udGFpbmVyXG4gICAgLnF1ZXJ5U2VsZWN0b3IoYCMke2NvbnRyb2wuaWR9YClcbiAgICAuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgIGNvbnN0IGlzQ2hlY2tlZCA9IGUudGFyZ2V0LmNoZWNrZWQ7XG4gICAgICBjb250cm9sLm9uQ2hhbmdlKGlzQ2hlY2tlZCk7XG4gICAgfSk7XG5cbiAgY29udHJvbENvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICBjb250YWluZXI/LmFwcGVuZENoaWxkKGNvbnRyb2xDb250YWluZXIpO1xuXG4gIGFwcGVuZEN1c3RvbUNoZWNrYm94VG9MZWFmbGV0c0xheWVyQm94KGNvbnRhaW5lciwgY29udHJvbENvbnRhaW5lcik7XG59O1xuXG5leHBvcnQgY29uc3QgY3VzdG9tRnVuY3Rpb25hbGl0eUZvck1hcExheWVycyA9IChcbiAgbWFwLFxuICBtYXBUeXBlcyxcbiAgZGVmYXVsdE9uID0gZmFsc2UsXG4pID0+IHtcbiAgbGV0IGNvbnRyb2xsZXIgPSBMLmNvbnRyb2xcbiAgICAubGF5ZXJzKG1hcFR5cGVzLCB7fSwgeyBwb3NpdGlvbjogJ2JvdHRvbXJpZ2h0JyB9KVxuICAgIC5hZGRUbyhtYXApO1xuICBsZXQgY29udGFpbmVyID0gY29udHJvbGxlci5nZXRDb250YWluZXIoKTtcblxuICBjdXN0b21Db250cm9scyhtYXApLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICBjcmVhdGVDdXN0b21Db250cm9sKGNvbnRyb2wsIGNvbnRhaW5lcik7XG4gICAgZWRnZXNTcGVjaWZpY0xvZ2ljKGRlZmF1bHRPbiwgbWFwKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZU1hcCA9IChcbiAgbWFwWm9vbUxldmVsLFxuICBtYXBCb3hTdHlsZSxcbiAgbWFwQm94U2F0ZWxsaXRlU3R5bGUsXG4gIG1hcFJlZixcbiAgZGlzcGF0Y2gsXG4gIGlzVmFsaWRBcmVhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgc2V0TWFwWm9vbUxldmVsLFxuICBmb3JXV1RQRGFzaGJvYXJkLFxuICBzaG93RWRnZXNCeURlZmF1bHQsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IG5ldyBMLk1hcCgnbWFwJywge1xuICAgIGNlbnRlcjogWzAsIDBdLFxuICAgIHpvb21TbmFwOiAxLFxuICAgIHpvb206IG1hcFpvb21MZXZlbCxcbiAgICBhdHRyaWJ1dGlvbkNvbnRyb2w6IGZhbHNlLFxuICAgIHByZWZlckNhbnZhczogZmFsc2UsXG4gIH0pO1xuXG4gIGlmIChmb3JXV1RQRGFzaGJvYXJkKSBkaXNwYXRjaChzZXRNYXAobWFwUmVmLmN1cnJlbnQpKTtcblxuICBtYXBSZWYuY3VycmVudC53aGVuUmVhZHkoKCkgPT4ge1xuICAgIGxldCBtYXAgPSBtYXBSZWYuY3VycmVudDtcbiAgICBjb25zdCBtYXBUeXBlcyA9IGJhc2VNYXBzKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSk7XG5cbiAgICBjdXN0b21GdW5jdGlvbmFsaXR5Rm9yTWFwTGF5ZXJzKG1hcCwgbWFwVHlwZXMsIHNob3dFZGdlc0J5RGVmYXVsdCk7XG5cbiAgICAvLyBUaGUgbmFtZSBvZiB0aGUgbGF5ZXIgY2hhbmdlcyBiZXR3ZWVuIGxhbmd1YWdlcyBzbyB0aGVyZSB3YXMgYSBuZWVkIHRvIGdldCB0byB0aGUgZmlyc3QgbGF5ZXJcbiAgICBPYmplY3QudmFsdWVzKG1hcFR5cGVzKVswXS5hZGRUbyhtYXApO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyJywgZXJyKTtcbiAgICAgIH1cblxuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAobWFwUmVmLmN1cnJlbnQpKTtcbiAgICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZCh0cnVlKSk7XG5cbiAgICAgIG1hcC5vbigna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQub3JpZ2luYWxFdmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21MZXZlbHMgPSB7XG4gIDE6ICdYTGFyZ2UnLFxuICAyOiAnWExhcmdlJyxcbiAgMzogJ1hMYXJnZScsXG4gIDQ6ICdYTGFyZ2UnLFxuICA1OiAnWExhcmdlJyxcbiAgNjogJ1hMYXJnZScsXG4gIDc6ICdMYXJnZScsXG4gIDg6ICdMYXJnZScsXG4gIDk6ICdMYXJnZScsXG4gIDEwOiAnTGFyZ2UnLFxuICAxMTogJ01MYXJnZScsXG4gIDEyOiAnTUxhcmdlJyxcbiAgMTM6ICdNTGFyZ2UnLFxuICAxNDogJ01MYXJnZScsXG4gIDE1OiAnTWVkaXVtJyxcbiAgMTY6ICdNZWRpdW0nLFxuICAxNzogJ1NtYWxsJyxcbiAgMTg6ICdTbWFsbCcsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLG1CQUFBLEdBQUFILE9BQUE7QUFFTyxJQUFNSSxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUlDLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxjQUFjLEVBQUs7RUFDckUsSUFBSUMsV0FBZ0IsR0FBR0gsTUFBTSxDQUFDSSxPQUFPO0VBQ3JDLElBQUlILFdBQVcsQ0FBQ0MsY0FBYyxDQUFDLEVBQUU7SUFDL0JDLFdBQVcsQ0FBQ0UsU0FBUyxDQUFDSCxjQUFjLEVBQUU7TUFBRUksT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFBRSxDQUFDLENBQUM7RUFDNUQsQ0FBQyxNQUFNO0lBQ0wsSUFBTUMsS0FBWSxHQUFHLEVBQUU7SUFFdkIsS0FBSyxJQUFNQyxRQUFRLElBQUlMLFdBQVcsQ0FBQ00sT0FBTyxFQUFFO01BQzFDLElBQ0VOLFdBQVcsQ0FBQ00sT0FBTyxDQUFDRCxRQUFRLENBQUMsQ0FBQ0UsWUFBWSxLQUFLLE1BQU0sSUFDckRQLFdBQVcsQ0FBQ00sT0FBTyxDQUFDRCxRQUFRLENBQUMsQ0FBQ0UsWUFBWSxLQUFLLE9BQU8sRUFDdEQ7UUFDQUgsS0FBSyxDQUFDSSxJQUFJLENBQUNSLFdBQVcsQ0FBQ00sT0FBTyxDQUFDRCxRQUFRLENB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
@@ -154,7 +154,7 @@ var createPolygon = function createPolygon(area, mapZoom, featureGroup, map, pop
154
154
  pattern === null || pattern === void 0 ? void 0 : pattern.addTo(map);
155
155
  polygon.setStyle({
156
156
  fillPattern: pattern,
157
- color: (0, _scoreToData.areaScoreToColor)(area)
157
+ color: (0, _scoreToData.scoreToColor)(area.area_score)
158
158
  });
159
159
  }
160
160
  polygon.addTo(featureGroup);
@@ -170,7 +170,7 @@ var getPattern = function getPattern(area) {
170
170
  if (!area.is_assessment) {
171
171
  return null;
172
172
  }
173
- var color = (0, _scoreToData.areaScoreToColor)(area);
173
+ var color = (0, _scoreToData.scoreToColor)(area.area_score);
174
174
  return (0, _Patterns.assesmentPattern)(color);
175
175
  };
176
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiX3RoZW1lIiwiX1BhdHRlcm5zIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImdldEFyZWFJZCIsImlkIiwiYXJlYV9pZCIsInRvU3RyaW5nIiwiZXhwb3J0cyIsImdlbmVyaWNQb2x5Z29uIiwibWFwWm9vbSIsIl9hcmVhJHN1Yl9hcmVhcyIsImFyZWFQb2x5Z29uIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJtYXAiLCJsb2NhdGlvbiIsImxlbmd0aCIsImNvbG9yIiwiYXJlYVNjb3JlVG9Db2xvciIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiZmlsbCIsInN1Yl9hcmVhcyIsImNhbGN1bGF0ZVBvbHlnb25BcmVhIiwiY29vcmRpbmF0ZXMiLCJudW1Qb2ludHMiLCJpIiwieDEiLCJ5MSIsIngyIiwieTIiLCJNYXRoIiwiYWJzIiwicG9seWdvblRpdGxlIiwiY29uY2F0IiwidGhlbWUiLCJjb2xvclNjaGVtZSIsInByaW1hcnkiLCJwczEiLCJiaW5kVG9vbHRpcCIsImxheWVyIiwidGl0bGUiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsIiwidG9vbHRpcCIsImdldFRvb2x0aXAiLCJzZXRDb250ZW50Iiwib3BlblRvb2x0aXAiLCJjbG9zZVRvb2x0aXAiLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImZlYXR1cmVHcm91cCIsImRyaWxsRG93bkNvbmRpdGlvbiIsIl9tYXAiLCJoaWRlUG9seWdvbiIsImJyaW5nVG9CYWNrIiwic2V0U3R5bGUiLCJzdHJva2UiLCJzaG93UG9seWdvbiIsImJyaW5nVG9Gcm9udCIsIm9wYWNpdHkiLCJoYW5kbGVTdWJBcmVhcyIsInNob3ciLCJ1bmRlZmluZWQiLCJmb3JFYWNoIiwic3ViQXJlYUlkIiwiZWFjaExheWVyIiwiZ2V0Wm9vbSIsInpvb21Db250cm9sRm9yQXJlYSIsIm9uIiwiZ2V0TWFwQm91bmRzIiwiZ2V0Qm91bmRzIiwicG9seWdvbkJvdW5kcyIsImludGVyc2VjdHMiLCJtYXBCb3VuZHNQb2x5Z29uIiwiZ2V0U291dGhXZXN0IiwiZ2V0Tm9ydGhXZXN0IiwiZ2V0Tm9ydGhFYXN0IiwiZ2V0U291dGhFYXN0IiwibWFwQm91bmRzIiwidG9HZW9KU09OIiwiZ2VvbWV0cnkiLCJhcmVhU3VyZmFjZSIsImN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiIsImNhbGN1bGF0ZWRfc3VyZmFjZSIsImNyZWF0ZVBvbHlnb24iLCJwb3B1cENyZWF0b3IiLCJwYXR0ZXJuIiwiZ2V0UGF0dGVybiIsImFkZFRvIiwiZmlsbFBhdHRlcm4iLCJpc19hc3Nlc3NtZW50IiwiYXNzZXNtZW50UGF0dGVybiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEwsIHsgRmVhdHVyZUdyb3VwLCBQb2x5Z29uIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ2xlYWZsZXQucGF0dGVybic7XG5pbXBvcnQgeyBhcmVhU2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IGFzc2VzbWVudFBhdHRlcm4gfSBmcm9tICcuL1BhdHRlcm5zJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5cbmNvbnN0IGdldEFyZWFOYW1lID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXJlYUlkID0gKGFyZWEpID0+IHtcbiAgY29uc3QgaWQgPSBhcmVhLmFyZWFfaWQgfHwgYXJlYS5pZDtcblxuICByZXR1cm4gaWQudG9TdHJpbmcoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmljUG9seWdvbiA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIGxldCBhcmVhUG9seWdvbjogUG9seWdvbjtcbiAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gIH0pO1xuXG4gIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHJldHVybjtcblxuICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IGFyZWFTY29yZVRvQ29sb3IoYXJlYSk7XG5cbiAgYXJlYVBvbHlnb24gPSBMLnBvbHlnb24obGF0bG5ncywge1xuICAgIGNvbG9yLFxuICAgIGZpbGxPcGFjaXR5OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAwLjMgOiAwLjQsXG4gICAgd2VpZ2h0OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAyIDogMCxcbiAgICBmaWxsOiBhcmVhPy5zdWJfYXJlYXM/Lmxlbmd0aCA+IDAgPyBmYWxzZSA6IHRydWUsXG4gIH0pO1xuXG4gIHJldHVybiBhcmVhUG9seWdvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVQb2x5Z29uQXJlYSA9IChjb29yZGluYXRlcykgPT4ge1xuICBsZXQgYXJlYSA9IDA7XG4gIGxldCBudW1Qb2ludHMgPSBjb29yZGluYXRlcy5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1Qb2ludHM7IGkrKykge1xuICAgIGxldCB4MSA9IGNvb3JkaW5hdGVzW2ldWzBdO1xuICAgIGxldCB5MSA9IGNvb3JkaW5hdGVzW2ldWzFdO1xuICAgIGxldCB4MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzBdO1xuICAgIGxldCB5MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzFdO1xuXG4gICAgYXJlYSArPSB4MSAqIHkyIC0geDIgKiB5MTtcbiAgfVxuXG4gIHJldHVybiBNYXRoLmFicyhhcmVhIC8gMik7XG59O1xuXG5jb25zdCBwb2x5Z29uVGl0bGUgPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJhcmVhLXRvb2x0aXBcIiBzdHlsZT1cImNvbG9yOiR7XG4gICAgdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wczFcbiAgfTtmb250LXdlaWdodDo3MDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXNpemU6ICR7XG4gICAgbWFwWm9vbSAqIDEuNVxuICB9cHg7LXdlYmtpdC10ZXh0LXN0cm9rZTogMC44cHggI2ZmZmZmZjtcIj4gJHtnZXRBcmVhTmFtZShhcmVhKX0gXG4gICAgICAgIDwvZGl2PmA7XG59O1xuXG5jb25zdCBiaW5kVG9vbHRpcCA9IChsYXllciwgYXJlYSwgbWFwWm9vbSkgPT4ge1xuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcbiAgbGF5ZXIuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICBjbGFzc05hbWU6ICdhcmVhLXRvb2x0aXAnLFxuICAgIHBlcm1hbmVudDogdHJ1ZSxcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcbiAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChsYXllciwgbWFwWm9vbSk7XG59O1xuXG4vLyBUaGUgdG9vbHRpcCBpcyBzaG93aW5nIHRoZSBhcmVhIG5hbWVcbmV4cG9ydCBjb25zdCBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsID0gKHBvbHlnb24sIG1hcFpvb20pID0+IHtcbiAgaWYgKG1hcFpvb20gPiAxMSkge1xuICAgIGNvbnN0IHRvb2x0aXAgPSBwb2x5Z29uLmdldFRvb2x0aXAoKTtcbiAgICB0b29sdGlwLnNldENvbnRlbnQocG9seWdvblRpdGxlKHBvbHlnb24sIG1hcFpvb20pKTtcbiAgICBwb2x5Z29uLm9wZW5Ub29sdGlwKCk7XG4gIH0gZWxzZSB7XG4gICAgcG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgfVxufTtcblxuY29uc3QgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCA9IChcbiAgYXJlYVBvbHlnb24sXG4gIGFyZWEsXG4gIHBlcmNlbnRhZ2UsXG4gIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICBtYXAsXG4gIGZlYXR1cmVHcm91cCxcbikgPT4ge1xuICBjb25zdCBkcmlsbERvd25Db25kaXRpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBlcmNlbnRhZ2UgPj0gem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biAmJlxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgJiZcbiAgICAgIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgYXJlYVBvbHlnb24uX21hcCAhPT0gbnVsbFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgaGlkZVBvbHlnb24gPSAocG9seWdvbjogUG9seWdvbikgPT4ge1xuICAgIHBvbHlnb24uYnJpbmdUb0JhY2soKTtcbiAgICBwb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICAgIHBvbHlnb25bJ2hpZGRlbiddID0gdHJ1ZTtcbiAgICBwb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgIHN0cm9rZTogZmFsc2UsXG4gICAgICBmaWxsOiBmYWxzZSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBzaG93UG9seWdvbiA9IChwb2x5Z29uOiBQb2x5Z29uLCBmaWxsOiBib29sZWFuKSA9PiB7XG4gICAgcG9seWdvbi5icmluZ1RvRnJvbnQoKTtcbiAgICBwb2x5Z29uWydoaWRkZW4nXSA9IGZhbHNlO1xuICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgLy9zdHJva2U6IGZpbGwgPyBmYWxzZSA6IHRydWUsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgICBvcGFjaXR5OiAwLjQsXG4gICAgICB3ZWlnaHQ6IDIsXG4gICAgICBmaWxsOiBmaWxsLFxuICAgICAgZmlsbE9wYWNpdHk6IDAuNCxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJBcmVhcyA9IChzaG93OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10uZm9yRWFjaCgoc3ViQXJlYUlkKSA9PiB7XG4gICAgICAgIGZlYXR1cmVHcm91cC5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGxheWVyWydrYW5kb19vYmplY3RfaWQnXSA9PT0gc3ViQXJlYUlkKSB7XG4gICAgICAgICAgICBzaG93ID8gc2hvd1BvbHlnb24obGF5ZXIsIHRydWUpIDogaGlkZVBvbHlnb24obGF5ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgLy8gU2hvdyB0aGUgYXJlYSB3aXRoIGJvcmRlciBvbmx5XG4gIC8vIE9yIGJhY2tncm91bmQgY29sb3JcbiAgaWYgKGRyaWxsRG93bkNvbmRpdGlvbigpKSB7XG4gICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIGZhbHNlKTtcbiAgICBhcmVhUG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgICBoYW5kbGVTdWJBcmVhcyh0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBoYW5kbGVTdWJBcmVhcyhmYWxzZSk7XG5cbiAgICBpZiAoIWFyZWFQb2x5Z29uWydoaWRkZW4nXSkge1xuICAgICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIHRydWUpO1xuICAgICAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChhcmVhUG9seWdvbiwgbWFwLmdldFpvb20oKSk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUNvbnRyb2xGb3JBcmVhID0gKGFyZWFQb2x5Z29uLCBhcmVhLCBtYXAsIGZlYXR1cmVHcm91cCkgPT4ge1xuICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGdldE1hcEJvdW5kcyA9IG1hcC5nZXRCb3VuZHMoKTtcbiAgICBsZXQgcG9seWdvbkJvdW5kcyA9IGFyZWFQb2x5Z29uLmdldEJvdW5kcygpO1xuICAgIGxldCBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSA9IGdldE1hcEJvdW5kcy5pbnRlcnNlY3RzKHBvbHlnb25Cb3VuZHMpO1xuICAgIGxldCBtYXBCb3VuZHNQb2x5Z29uID0gTC5wb2x5Z29uKFtcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aEVhc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aEVhc3QoKSxcbiAgICBdKTtcblxuICAgIGxldCBtYXBCb3VuZHMgPSBjYWxjdWxhdGVQb2x5Z29uQXJlYShcbiAgICAgIG1hcEJvdW5kc1BvbHlnb24udG9HZW9KU09OKCkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgKTtcblxuICAgIGxldCBhcmVhU3VyZmFjZSA9IGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXTtcbiAgICBjb25zdCB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duID0gMTUuMDtcbiAgICBjb25zdCBwZXJjZW50YWdlID0gKGFyZWFTdXJmYWNlIC8gbWFwQm91bmRzKSAqIDEwMDtcblxuICAgIGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWEsXG4gICAgICBwZXJjZW50YWdlLFxuICAgICAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgICAgIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICAgICAgbWFwLFxuICAgICAgZmVhdHVyZUdyb3VwLFxuICAgICk7XG4gIH0pO1xufTtcblxuY29uc3QgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uID0gKGFyZWFQb2x5Z29uLCBhcmVhKSA9PiB7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3RfaWQnXSA9IGdldEFyZWFJZChhcmVhKTtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdCddID0gJ0FyZWEnO1xuICBhcmVhUG9seWdvblsnYXJlYV9uYW1lJ10gPSBnZXRBcmVhTmFtZShhcmVhKTtcbiAgYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddID0gYXJlYS5jYWxjdWxhdGVkX3N1cmZhY2U7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9seWdvbiA9IChcbiAgYXJlYSxcbiAgbWFwWm9vbSxcbiAgZmVhdHVyZUdyb3VwOiBGZWF0dXJlR3JvdXAsXG4gIG1hcCxcbiAgcG9wdXBDcmVhdG9yPzogKHBvbHlnb246IFBvbHlnb24sIGFyZWE6IElBcmVhKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICBpZiAoXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICApIHtcbiAgICBwb2x5Z29uID0gZ2VuZXJpY1BvbHlnb24oYXJlYSwgbWFwWm9vbSk7XG5cbiAgICBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24ocG9seWdvbiwgYXJlYSk7XG4gICAgY29uc3QgcGF0dGVybiA9IGdldFBhdHRlcm4oYXJlYSk7XG5cbiAgICBpZiAocGF0dGVybikge1xuICAgICAgcGF0dGVybj8uYWRkVG8obWFwKTtcbiAgICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgICBmaWxsUGF0dGVybjogcGF0dGVybixcbiAgICAgICAgY29sb3I6IGFyZWFTY29yZVRvQ29sb3IoYXJlYSksXG4gICAgICB9KTtcbiAgICB9XG4gICAgcG9seWdvbi5hZGRUbyhmZWF0dXJlR3JvdXApO1xuICAgIHBvcHVwQ3JlYXRvciAmJiBwb3B1cENyZWF0b3IocG9seWdvbiwgYXJlYSk7XG4gICAgYmluZFRvb2x0aXAocG9seWdvbiwgYXJlYSwgbWFwWm9vbSk7XG4gICAgem9vbUNvbnRyb2xGb3JBcmVhKHBvbHlnb24sIGFyZWEsIG1hcCwgZmVhdHVyZUdyb3VwKTtcbiAgICByZXR1cm4gcG9seWdvbjtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn07XG5cbmNvbnN0IGdldFBhdHRlcm4gPSAoYXJlYSkgPT4ge1xuICBpZiAoIWFyZWEuaXNfYXNzZXNzbWVudCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGNvbG9yID0gYXJlYVNjb3JlVG9Db2xvcihhcmVhKTtcbiAgcmV0dXJuIGFzc2VzbWVudFBhdHRlcm4oY29sb3IpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBR0EsSUFBTUksV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLElBQUksRUFBSztFQUM1QixJQUFJQyxJQUFJLEdBQUdELElBQUksQ0FBQ0UsU0FBUyxJQUFJRixJQUFJLENBQUNDLElBQUk7RUFFdEMsT0FBT0EsSUFBSTtBQUNiLENBQUM7QUFFTSxJQUFNRSxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBSUgsSUFBSSxFQUFLO0VBQ2pD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
176
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiX3RoZW1lIiwiX1BhdHRlcm5zIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImdldEFyZWFJZCIsImlkIiwiYXJlYV9pZCIsInRvU3RyaW5nIiwiZXhwb3J0cyIsImdlbmVyaWNQb2x5Z29uIiwibWFwWm9vbSIsIl9hcmVhJHN1Yl9hcmVhcyIsImFyZWFQb2x5Z29uIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJtYXAiLCJsb2NhdGlvbiIsImxlbmd0aCIsImNvbG9yIiwiYXJlYVNjb3JlVG9Db2xvciIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiZmlsbCIsInN1Yl9hcmVhcyIsImNhbGN1bGF0ZVBvbHlnb25BcmVhIiwiY29vcmRpbmF0ZXMiLCJudW1Qb2ludHMiLCJpIiwieDEiLCJ5MSIsIngyIiwieTIiLCJNYXRoIiwiYWJzIiwicG9seWdvblRpdGxlIiwiY29uY2F0IiwidGhlbWUiLCJjb2xvclNjaGVtZSIsInByaW1hcnkiLCJwczEiLCJiaW5kVG9vbHRpcCIsImxheWVyIiwidGl0bGUiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsIiwidG9vbHRpcCIsImdldFRvb2x0aXAiLCJzZXRDb250ZW50Iiwib3BlblRvb2x0aXAiLCJjbG9zZVRvb2x0aXAiLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImZlYXR1cmVHcm91cCIsImRyaWxsRG93bkNvbmRpdGlvbiIsIl9tYXAiLCJoaWRlUG9seWdvbiIsImJyaW5nVG9CYWNrIiwic2V0U3R5bGUiLCJzdHJva2UiLCJzaG93UG9seWdvbiIsImJyaW5nVG9Gcm9udCIsIm9wYWNpdHkiLCJoYW5kbGVTdWJBcmVhcyIsInNob3ciLCJ1bmRlZmluZWQiLCJmb3JFYWNoIiwic3ViQXJlYUlkIiwiZWFjaExheWVyIiwiZ2V0Wm9vbSIsInpvb21Db250cm9sRm9yQXJlYSIsIm9uIiwiZ2V0TWFwQm91bmRzIiwiZ2V0Qm91bmRzIiwicG9seWdvbkJvdW5kcyIsImludGVyc2VjdHMiLCJtYXBCb3VuZHNQb2x5Z29uIiwiZ2V0U291dGhXZXN0IiwiZ2V0Tm9ydGhXZXN0IiwiZ2V0Tm9ydGhFYXN0IiwiZ2V0U291dGhFYXN0IiwibWFwQm91bmRzIiwidG9HZW9KU09OIiwiZ2VvbWV0cnkiLCJhcmVhU3VyZmFjZSIsImN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiIsImNhbGN1bGF0ZWRfc3VyZmFjZSIsImNyZWF0ZVBvbHlnb24iLCJwb3B1cENyZWF0b3IiLCJwYXR0ZXJuIiwiZ2V0UGF0dGVybiIsImFkZFRvIiwiZmlsbFBhdHRlcm4iLCJzY29yZVRvQ29sb3IiLCJhcmVhX3Njb3JlIiwiaXNfYXNzZXNzbWVudCIsImFzc2VzbWVudFBhdHRlcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IEZlYXR1cmVHcm91cCwgUG9seWdvbiB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yLCBhcmVhU2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IGFzc2VzbWVudFBhdHRlcm4gfSBmcm9tICcuL1BhdHRlcm5zJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5cbmNvbnN0IGdldEFyZWFOYW1lID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXJlYUlkID0gKGFyZWEpID0+IHtcbiAgY29uc3QgaWQgPSBhcmVhLmFyZWFfaWQgfHwgYXJlYS5pZDtcblxuICByZXR1cm4gaWQudG9TdHJpbmcoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmljUG9seWdvbiA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIGxldCBhcmVhUG9seWdvbjogUG9seWdvbjtcbiAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gIH0pO1xuXG4gIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHJldHVybjtcblxuICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IGFyZWFTY29yZVRvQ29sb3IoYXJlYSk7XG5cbiAgYXJlYVBvbHlnb24gPSBMLnBvbHlnb24obGF0bG5ncywge1xuICAgIGNvbG9yLFxuICAgIGZpbGxPcGFjaXR5OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAwLjMgOiAwLjQsXG4gICAgd2VpZ2h0OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAyIDogMCxcbiAgICBmaWxsOiBhcmVhPy5zdWJfYXJlYXM/Lmxlbmd0aCA+IDAgPyBmYWxzZSA6IHRydWUsXG4gIH0pO1xuXG4gIHJldHVybiBhcmVhUG9seWdvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVQb2x5Z29uQXJlYSA9IChjb29yZGluYXRlcykgPT4ge1xuICBsZXQgYXJlYSA9IDA7XG4gIGxldCBudW1Qb2ludHMgPSBjb29yZGluYXRlcy5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1Qb2ludHM7IGkrKykge1xuICAgIGxldCB4MSA9IGNvb3JkaW5hdGVzW2ldWzBdO1xuICAgIGxldCB5MSA9IGNvb3JkaW5hdGVzW2ldWzFdO1xuICAgIGxldCB4MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzBdO1xuICAgIGxldCB5MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzFdO1xuXG4gICAgYXJlYSArPSB4MSAqIHkyIC0geDIgKiB5MTtcbiAgfVxuXG4gIHJldHVybiBNYXRoLmFicyhhcmVhIC8gMik7XG59O1xuXG5jb25zdCBwb2x5Z29uVGl0bGUgPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJhcmVhLXRvb2x0aXBcIiBzdHlsZT1cImNvbG9yOiR7XG4gICAgdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wczFcbiAgfTtmb250LXdlaWdodDo3MDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXNpemU6ICR7XG4gICAgbWFwWm9vbSAqIDEuNVxuICB9cHg7LXdlYmtpdC10ZXh0LXN0cm9rZTogMC44cHggI2ZmZmZmZjtcIj4gJHtnZXRBcmVhTmFtZShhcmVhKX0gXG4gICAgICAgIDwvZGl2PmA7XG59O1xuXG5jb25zdCBiaW5kVG9vbHRpcCA9IChsYXllciwgYXJlYSwgbWFwWm9vbSkgPT4ge1xuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcbiAgbGF5ZXIuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICBjbGFzc05hbWU6ICdhcmVhLXRvb2x0aXAnLFxuICAgIHBlcm1hbmVudDogdHJ1ZSxcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcbiAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChsYXllciwgbWFwWm9vbSk7XG59O1xuXG4vLyBUaGUgdG9vbHRpcCBpcyBzaG93aW5nIHRoZSBhcmVhIG5hbWVcbmV4cG9ydCBjb25zdCBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsID0gKHBvbHlnb24sIG1hcFpvb20pID0+IHtcbiAgaWYgKG1hcFpvb20gPiAxMSkge1xuICAgIGNvbnN0IHRvb2x0aXAgPSBwb2x5Z29uLmdldFRvb2x0aXAoKTtcbiAgICB0b29sdGlwLnNldENvbnRlbnQocG9seWdvblRpdGxlKHBvbHlnb24sIG1hcFpvb20pKTtcbiAgICBwb2x5Z29uLm9wZW5Ub29sdGlwKCk7XG4gIH0gZWxzZSB7XG4gICAgcG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgfVxufTtcblxuY29uc3QgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCA9IChcbiAgYXJlYVBvbHlnb24sXG4gIGFyZWEsXG4gIHBlcmNlbnRhZ2UsXG4gIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICBtYXAsXG4gIGZlYXR1cmVHcm91cCxcbikgPT4ge1xuICBjb25zdCBkcmlsbERvd25Db25kaXRpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBlcmNlbnRhZ2UgPj0gem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biAmJlxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgJiZcbiAgICAgIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgYXJlYVBvbHlnb24uX21hcCAhPT0gbnVsbFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgaGlkZVBvbHlnb24gPSAocG9seWdvbjogUG9seWdvbikgPT4ge1xuICAgIHBvbHlnb24uYnJpbmdUb0JhY2soKTtcbiAgICBwb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICAgIHBvbHlnb25bJ2hpZGRlbiddID0gdHJ1ZTtcbiAgICBwb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgIHN0cm9rZTogZmFsc2UsXG4gICAgICBmaWxsOiBmYWxzZSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBzaG93UG9seWdvbiA9IChwb2x5Z29uOiBQb2x5Z29uLCBmaWxsOiBib29sZWFuKSA9PiB7XG4gICAgcG9seWdvbi5icmluZ1RvRnJvbnQoKTtcbiAgICBwb2x5Z29uWydoaWRkZW4nXSA9IGZhbHNlO1xuICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgLy9zdHJva2U6IGZpbGwgPyBmYWxzZSA6IHRydWUsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgICBvcGFjaXR5OiAwLjQsXG4gICAgICB3ZWlnaHQ6IDIsXG4gICAgICBmaWxsOiBmaWxsLFxuICAgICAgZmlsbE9wYWNpdHk6IDAuNCxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJBcmVhcyA9IChzaG93OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10uZm9yRWFjaCgoc3ViQXJlYUlkKSA9PiB7XG4gICAgICAgIGZlYXR1cmVHcm91cC5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGxheWVyWydrYW5kb19vYmplY3RfaWQnXSA9PT0gc3ViQXJlYUlkKSB7XG4gICAgICAgICAgICBzaG93ID8gc2hvd1BvbHlnb24obGF5ZXIsIHRydWUpIDogaGlkZVBvbHlnb24obGF5ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgLy8gU2hvdyB0aGUgYXJlYSB3aXRoIGJvcmRlciBvbmx5XG4gIC8vIE9yIGJhY2tncm91bmQgY29sb3JcbiAgaWYgKGRyaWxsRG93bkNvbmRpdGlvbigpKSB7XG4gICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIGZhbHNlKTtcbiAgICBhcmVhUG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgICBoYW5kbGVTdWJBcmVhcyh0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBoYW5kbGVTdWJBcmVhcyhmYWxzZSk7XG5cbiAgICBpZiAoIWFyZWFQb2x5Z29uWydoaWRkZW4nXSkge1xuICAgICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIHRydWUpO1xuICAgICAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChhcmVhUG9seWdvbiwgbWFwLmdldFpvb20oKSk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUNvbnRyb2xGb3JBcmVhID0gKGFyZWFQb2x5Z29uLCBhcmVhLCBtYXAsIGZlYXR1cmVHcm91cCkgPT4ge1xuICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGdldE1hcEJvdW5kcyA9IG1hcC5nZXRCb3VuZHMoKTtcbiAgICBsZXQgcG9seWdvbkJvdW5kcyA9IGFyZWFQb2x5Z29uLmdldEJvdW5kcygpO1xuICAgIGxldCBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSA9IGdldE1hcEJvdW5kcy5pbnRlcnNlY3RzKHBvbHlnb25Cb3VuZHMpO1xuICAgIGxldCBtYXBCb3VuZHNQb2x5Z29uID0gTC5wb2x5Z29uKFtcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aEVhc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aEVhc3QoKSxcbiAgICBdKTtcblxuICAgIGxldCBtYXBCb3VuZHMgPSBjYWxjdWxhdGVQb2x5Z29uQXJlYShcbiAgICAgIG1hcEJvdW5kc1BvbHlnb24udG9HZW9KU09OKCkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgKTtcblxuICAgIGxldCBhcmVhU3VyZmFjZSA9IGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXTtcbiAgICBjb25zdCB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duID0gMTUuMDtcbiAgICBjb25zdCBwZXJjZW50YWdlID0gKGFyZWFTdXJmYWNlIC8gbWFwQm91bmRzKSAqIDEwMDtcblxuICAgIGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWEsXG4gICAgICBwZXJjZW50YWdlLFxuICAgICAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgICAgIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICAgICAgbWFwLFxuICAgICAgZmVhdHVyZUdyb3VwLFxuICAgICk7XG4gIH0pO1xufTtcblxuY29uc3QgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uID0gKGFyZWFQb2x5Z29uLCBhcmVhKSA9PiB7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3RfaWQnXSA9IGdldEFyZWFJZChhcmVhKTtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdCddID0gJ0FyZWEnO1xuICBhcmVhUG9seWdvblsnYXJlYV9uYW1lJ10gPSBnZXRBcmVhTmFtZShhcmVhKTtcbiAgYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddID0gYXJlYS5jYWxjdWxhdGVkX3N1cmZhY2U7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9seWdvbiA9IChcbiAgYXJlYSxcbiAgbWFwWm9vbSxcbiAgZmVhdHVyZUdyb3VwOiBGZWF0dXJlR3JvdXAsXG4gIG1hcCxcbiAgcG9wdXBDcmVhdG9yPzogKHBvbHlnb246IFBvbHlnb24sIGFyZWE6IElBcmVhKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICBpZiAoXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICApIHtcbiAgICBwb2x5Z29uID0gZ2VuZXJpY1BvbHlnb24oYXJlYSwgbWFwWm9vbSk7XG5cbiAgICBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24ocG9seWdvbiwgYXJlYSk7XG4gICAgY29uc3QgcGF0dGVybiA9IGdldFBhdHRlcm4oYXJlYSk7XG5cbiAgICBpZiAocGF0dGVybikge1xuICAgICAgcGF0dGVybj8uYWRkVG8obWFwKTtcbiAgICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgICBmaWxsUGF0dGVybjogcGF0dGVybixcbiAgICAgICAgY29sb3I6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHBvbHlnb24uYWRkVG8oZmVhdHVyZUdyb3VwKTtcbiAgICBwb3B1cENyZWF0b3IgJiYgcG9wdXBDcmVhdG9yKHBvbHlnb24sIGFyZWEpO1xuICAgIGJpbmRUb29sdGlwKHBvbHlnb24sIGFyZWEsIG1hcFpvb20pO1xuICAgIHpvb21Db250cm9sRm9yQXJlYShwb2x5Z29uLCBhcmVhLCBtYXAsIGZlYXR1cmVHcm91cCk7XG4gICAgcmV0dXJuIHBvbHlnb247XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5jb25zdCBnZXRQYXR0ZXJuID0gKGFyZWEpID0+IHtcbiAgaWYgKCFhcmVhLmlzX2Fzc2Vzc21lbnQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBjb2xvciA9IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuICByZXR1cm4gYXNzZXNtZW50UGF0dGVybihjb2xvcik7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFHQSxJQUFNSSxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsSUFBSSxFQUFLO0VBQzVCLElBQUlDLElBQUksR0FBR0QsSUFBSSxDQUFDRSxTQUFTLElBQUlGLElBQUksQ0FBQ0MsSUFBSTtFQUV0QyxPQUFPQSxJQUFJO0FBQ2IsQ0FB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
@@ -44,7 +44,7 @@ var Edge = function Edge(_ref) {
44
44
  if (sourcePoint[0] === undefined || targetPoint[0] === undefined) return;
45
45
  var polylineBack = L.polyline(latlngs, {
46
46
  color: 'rgb(227,227,227)',
47
- weight: 6,
47
+ weight: hideEdges ? 0 : 6,
48
48
  opacity: hideEdges ? 0 : 1
49
49
  }).addTo(map);
50
50
  polylineBack.bindPopup("Edge ID: ".concat(edge.id, ",<br>\n Source point: ").concat(sourcePoint[0].group.name, ",<br>\n Target point: ").concat(targetPoint[0].group.name, ",\n Distance: ").concat(edge.distance));
@@ -52,13 +52,32 @@ var Edge = function Edge(_ref) {
52
52
  polylineBack['kando_object'] = 'Edge';
53
53
  polylineBack.bringToFront();
54
54
  var polylineFront = L.polyline(latlngs, {
55
- color: 'rgb(29,29,29)',
55
+ color: 'rgb(157,157,157)',
56
56
  weight: hideEdges ? 0 : 1,
57
57
  opacity: hideEdges ? 0 : 1
58
58
  }).addTo(map);
59
59
  polylineFront['kando_object_id'] = edge.id;
60
60
  polylineFront['kando_object'] = 'EdgeFront';
61
61
  polylineFront.bringToFront();
62
+ var tailDash = L.polylineDecorator(polylineBack._latlngs, {
63
+ patterns: [
64
+ // defines a pattern of 10px-wide dashes, repeated every 20px on the line
65
+ {
66
+ offset: 15,
67
+ repeat: 25,
68
+ symbol: L.Symbol.arrowHead({
69
+ pixelSize: 3,
70
+ polygon: false,
71
+ pathOptions: {
72
+ stroke: true,
73
+ color: 'rgb(148,148,148)',
74
+ weight: hideEdges ? 0 : 1,
75
+ opacity: hideEdges ? 0 : 1
76
+ }
77
+ })
78
+ }]
79
+ }).addTo(map);
80
+ tailDash['kando_object'] = 'Arrow';
62
81
  if (specificEvent !== undefined) {
63
82
  dispatch((0, _actions.setHoveredEdgePaths)([polylineBack, polylineFront]));
64
83
  }
@@ -69,4 +88,4 @@ var Edge = function Edge(_ref) {
69
88
  var connector = (0, _reactRedux.connect)(null);
70
89
  var _default = connector(Edge);
71
90
  exports.default = _default;
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlIiwiX3JlZiIsIkwiLCJtYXAiLCJlZGdlIiwicG9pbnRzIiwiX3JlZiRoaWRlRWRnZXMiLCJoaWRlRWRnZXMiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInNoYXBlRGF0YUV4aXN0Iiwia2V5cyIsInNoYXBlX2RhdGEiLCJsZW5ndGgiLCJmaW5kIiwiZGF0YSIsImxhdCIsImxuZyIsInVuZGVmaW5lZCIsInVzZUVmZmVjdCIsImxhdGxuZ3MiLCJmb3JFYWNoIiwicHVzaCIsInNvdXJjZVBvaW50IiwiZmlsdGVyIiwicG9pbnQiLCJpZCIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJhZGRUbyIsImJpbmRQb3B1cCIsImNvbmNhdCIsImdyb3VwIiwibmFtZSIsImRpc3RhbmNlIiwiYnJpbmdUb0Zyb250IiwicG9seWxpbmVGcm9udCIsInNldEhvdmVyZWRFZGdlUGF0aHMiLCJjcmVhdGVFbGVtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9lZGdlcy9FZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0ICcuL0VkZ2Uuc2Nzcyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xudHlwZSBQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBlZGdlOiBJRWRnZTtcbiAgcG9pbnRzOiBhbnk7XG4gIGhpZGVFZGdlcz86IGJvb2xlYW47XG4gIHNwZWNpZmljRXZlbnQ/OiBJRXZlbnQ7XG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz86IGJvb2xlYW47XG59O1xuXG5jb25zdCBFZGdlOiBSZWFjdC5GQzxQcm9wcz4gPSAoe1xuICBMLFxuICBtYXAsXG4gIGVkZ2UsXG4gIHBvaW50cyxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyA9IGZhbHNlLFxuICBzcGVjaWZpY0V2ZW50LFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHNoYXBlRGF0YUV4aXN0ID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBPYmplY3Qua2V5cyhlZGdlLnNoYXBlX2RhdGEpLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgZWRnZS5zaGFwZV9kYXRhLmZpbmQoXG4gICAgICAgIChkYXRhOiBhbnkpID0+IGRhdGEubGF0ID09PSBudWxsIHx8IGRhdGEubG5nID09PSBudWxsLFxuICAgICAgKSA9PT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzaGFwZURhdGFFeGlzdCgpKSB7XG4gICAgICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChbZGF0YS5sYXQsIGRhdGEubG5nXSk7XG4gICAgICB9KTtcblxuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG4gICAgICBsZXQgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICAgIGlmIChzb3VyY2VQb2ludFswXSA9PT0gdW5kZWZpbmVkIHx8IHRhcmdldFBvaW50WzBdID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAncmdiKDIyNywyMjcsMjI3KScsXG4gICAgICAgIHdlaWdodDogNixcbiAgICAgICAgb3BhY2l0eTogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnRbMF0uZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBwb2ludDogJHt0YXJnZXRQb2ludFswXS5ncm91cC5uYW1lfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuXG4gICAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRWRnZSc7XG5cbiAgICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcblxuICAgICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgICBjb2xvcjogJ3JnYigyOSwyOSwyOSknLFxuICAgICAgICB3ZWlnaHQ6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgICBvcGFjaXR5OiBoaWRlRWRnZXMgPyAwIDogMSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0VkZ2VGcm9udCc7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnQuYnJpbmdUb0Zyb250KCk7XG4gICAgICBpZiAoc3BlY2lmaWNFdmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGdlLCBzcGVjaWZpY0V2ZW50XSk7XG5cbiAgcmV0dXJuIDxkaXY+PC9kaXY+O1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChudWxsKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFZGdlKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBQSxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBR0FBLE9BQUE7QUFFQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFBb0UsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFKLHdCQUFBUSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxT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
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlIiwiX3JlZiIsIkwiLCJtYXAiLCJlZGdlIiwicG9pbnRzIiwiX3JlZiRoaWRlRWRnZXMiLCJoaWRlRWRnZXMiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInNoYXBlRGF0YUV4aXN0Iiwia2V5cyIsInNoYXBlX2RhdGEiLCJsZW5ndGgiLCJmaW5kIiwiZGF0YSIsImxhdCIsImxuZyIsInVuZGVmaW5lZCIsInVzZUVmZmVjdCIsImxhdGxuZ3MiLCJmb3JFYWNoIiwicHVzaCIsInNvdXJjZVBvaW50IiwiZmlsdGVyIiwicG9pbnQiLCJpZCIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJhZGRUbyIsImJpbmRQb3B1cCIsImNvbmNhdCIsImdyb3VwIiwibmFtZSIsImRpc3RhbmNlIiwiYnJpbmdUb0Zyb250IiwicG9seWxpbmVGcm9udCIsInRhaWxEYXNoIiwicG9seWxpbmVEZWNvcmF0b3IiLCJfbGF0bG5ncyIsInBhdHRlcm5zIiwib2Zmc2V0IiwicmVwZWF0Iiwic3ltYm9sIiwiU3ltYm9sIiwiYXJyb3dIZWFkIiwicGl4ZWxTaXplIiwicG9seWdvbiIsInBhdGhPcHRpb25zIiwic3Ryb2tlIiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsImNyZWF0ZUVsZW1lbnQiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2VkZ2VzL0VkZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgJy4vRWRnZS5zY3NzJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG50eXBlIFByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIG1hcDogYW55O1xuICBMOiBhbnk7XG4gIGVkZ2U6IElFZGdlO1xuICBwb2ludHM6IGFueTtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgc3BlY2lmaWNFdmVudD86IElFdmVudDtcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEVkZ2U6IFJlYWN0LkZDPFByb3BzPiA9ICh7XG4gIEwsXG4gIG1hcCxcbiAgZWRnZSxcbiAgcG9pbnRzLFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzID0gZmFsc2UsXG4gIHNwZWNpZmljRXZlbnQsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3Qgc2hhcGVEYXRhRXhpc3QgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIE9iamVjdC5rZXlzKGVkZ2Uuc2hhcGVfZGF0YSkubGVuZ3RoICE9PSAwICYmXG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZmluZChcbiAgICAgICAgKGRhdGE6IGFueSkgPT4gZGF0YS5sYXQgPT09IG51bGwgfHwgZGF0YS5sbmcgPT09IG51bGwsXG4gICAgICApID09PSB1bmRlZmluZWRcbiAgICApO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNoYXBlRGF0YUV4aXN0KCkpIHtcbiAgICAgIGxldCBsYXRsbmdzOiBhbnkgPSBbXTtcbiAgICAgIGVkZ2Uuc2hhcGVfZGF0YS5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgbGF0bG5ncy5wdXNoKFtkYXRhLmxhdCwgZGF0YS5sbmddKTtcbiAgICAgIH0pO1xuXG4gICAgICBsZXQgc291cmNlUG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2Uuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcbiAgICAgIGxldCB0YXJnZXRQb2ludCA9IHBvaW50cy5maWx0ZXIoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAocG9pbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgICAgaWYgKHNvdXJjZVBvaW50WzBdID09PSB1bmRlZmluZWQgfHwgdGFyZ2V0UG9pbnRbMF0gPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuXG4gICAgICBsZXQgcG9seWxpbmVCYWNrOiBhbnkgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgICAgY29sb3I6ICdyZ2IoMjI3LDIyNywyMjcpJyxcbiAgICAgICAgd2VpZ2h0OiBoaWRlRWRnZXMgPyAwIDogNixcbiAgICAgICAgb3BhY2l0eTogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnRbMF0uZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBwb2ludDogJHt0YXJnZXRQb2ludFswXS5ncm91cC5uYW1lfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuXG4gICAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRWRnZSc7XG5cbiAgICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcblxuICAgICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgICBjb2xvcjogJ3JnYigxNTcsMTU3LDE1NyknLFxuICAgICAgICB3ZWlnaHQ6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgICBvcGFjaXR5OiBoaWRlRWRnZXMgPyAwIDogMSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0VkZ2VGcm9udCc7XG4gICAgICBwb2x5bGluZUZyb250LmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgICBsZXQgdGFpbERhc2ggPSBMLnBvbHlsaW5lRGVjb3JhdG9yKHBvbHlsaW5lQmFjay5fbGF0bG5ncywge1xuICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgIC8vIGRlZmluZXMgYSBwYXR0ZXJuIG9mIDEwcHgtd2lkZSBkYXNoZXMsIHJlcGVhdGVkIGV2ZXJ5IDIwcHggb24gdGhlIGxpbmVcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvZmZzZXQ6IDE1LFxuICAgICAgICAgICAgcmVwZWF0OiAyNSxcbiAgICAgICAgICAgIHN5bWJvbDogTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdyZ2IoMTQ4LDE0OCwxNDgpJyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnQXJyb3cnO1xuXG4gICAgICBpZiAoc3BlY2lmaWNFdmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGdlLCBzcGVjaWZpY0V2ZW50XSk7XG5cbiAgcmV0dXJuIDxkaXY+PC9kaXY+O1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChudWxsKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFZGdlKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBQSxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBR0FBLE9BQUE7QUFFQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFBb0UsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFKLHdCQUFBUSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFB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
package/lib/i18n/en.json CHANGED
@@ -1261,7 +1261,8 @@
1261
1261
  "statistics": "Statistics",
1262
1262
  "layers": {
1263
1263
  "default": "Map",
1264
- "satellite": "Satellite"
1264
+ "satellite": "Satellite",
1265
+ "network_lines": "Show Network Lines"
1265
1266
  }
1266
1267
  },
1267
1268
  "control_room": {
package/lib/i18n/he.json CHANGED
@@ -2874,7 +2874,8 @@
2874
2874
  "map": {
2875
2875
  "layers": {
2876
2876
  "default": "מפה",
2877
- "satellite": "לווין"
2877
+ "satellite": "לווין",
2878
+ "network_lines": "הצג קווי רשת"
2878
2879
  }
2879
2880
  },
2880
2881
  "events_overview": {
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var packageJsonVersion = "1.2.356";
3
+ var packageJsonVersion = "1.2.357-alpha.0";
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));
7
7
  } else {
8
8
  console.error('getVersion.js got bad version from package.json, expected string.');
9
9
  }
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYWNrYWdlSnNvblZlcnNpb24iLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFjcm9zL2dldFZlcnNpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHByZXZhbCBmcm9tICdwcmV2YWwubWFjcm8nO1xuXG5jb25zdCBwYWNrYWdlSnNvblZlcnNpb24gPSBwcmV2YWxgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9iaW4vZ2V0VmVyc2lvbkZyb21QYWNrYWdlSnNvbi5qcycpYDtcbmlmICh0eXBlb2YgcGFja2FnZUpzb25WZXJzaW9uID09PSAnc3RyaW5nJykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhcbiAgICBgJWMgS2FuZG8gVUkgJWMgdiR7cGFja2FnZUpzb25WZXJzaW9ufSBgLFxuICAgICdmb250LXNpemU6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGNvbG9yOiAjZTIwZjUzOycsXG4gICAgJ2ZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICNlMjBmNTM7IGNvbG9yOiAjZmZmOycsXG4gICAgYHdpdGggTk9ERV9FTlY9JHtwcm9jZXNzLmVudi5OT0RFX0VOVn1gLFxuICApO1xufSBlbHNlIHtcbiAgY29uc29sZS5lcnJvcihcbiAgICAnZ2V0VmVyc2lvbi5qcyBnb3QgYmFkIHZlcnNpb24gZnJvbSBwYWNrYWdlLmpzb24sIGV4cGVjdGVkIHN0cmluZy4nLFxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUVBLElBQU1BLGtCQUFrQixZQUE2RTtBQUNyRyxJQUFJLE9BQU9BLGtCQUFrQixLQUFLLFFBQVEsRUFBRTtFQUMxQztFQUNBQyxPQUFPLENBQUNDLEdBQUcsb0JBQUFDLE1BQUEsQ0FDVUgsa0JBQWtCLFFBQ3JDLDBEQUEwRCxFQUMxRCw2RUFBNkUsbUJBQUFHLE1BQUEsQ0FDNURDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLENBQ3ZDLENBQUM7QUFDSCxDQUFDLE1BQU07RUFDTEwsT0FBTyxDQUFDTSxLQUFLLENBQ1gsbUVBQ0YsQ0FBQztBQUNIIn0=
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYWNrYWdlSnNvblZlcnNpb24iLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFjcm9zL2dldFZlcnNpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHByZXZhbCBmcm9tICdwcmV2YWwubWFjcm8nO1xuXG5jb25zdCBwYWNrYWdlSnNvblZlcnNpb24gPSBwcmV2YWxgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9iaW4vZ2V0VmVyc2lvbkZyb21QYWNrYWdlSnNvbi5qcycpYDtcbmlmICh0eXBlb2YgcGFja2FnZUpzb25WZXJzaW9uID09PSAnc3RyaW5nJykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhcbiAgICBgJWMgS2FuZG8gVUkgJWMgdiR7cGFja2FnZUpzb25WZXJzaW9ufSBgLFxuICAgICdmb250LXNpemU6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGNvbG9yOiAjZTIwZjUzOycsXG4gICAgJ2ZvbnQtd2VpZ2h0OiBib2xkOyBmb250LXNpemU6IDE1cHg7IGJhY2tncm91bmQtY29sb3I6ICNlMjBmNTM7IGNvbG9yOiAjZmZmOycsXG4gICAgYHdpdGggTk9ERV9FTlY9JHtwcm9jZXNzLmVudi5OT0RFX0VOVn1gLFxuICApO1xufSBlbHNlIHtcbiAgY29uc29sZS5lcnJvcihcbiAgICAnZ2V0VmVyc2lvbi5qcyBnb3QgYmFkIHZlcnNpb24gZnJvbSBwYWNrYWdlLmpzb24sIGV4cGVjdGVkIHN0cmluZy4nLFxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUVBLElBQU1BLGtCQUFrQixvQkFBNkU7QUFDckcsSUFBSSxPQUFPQSxrQkFBa0IsS0FBSyxRQUFRLEVBQUU7RUFDMUM7RUFDQUMsT0FBTyxDQUFDQyxHQUFHLG9CQUFBQyxNQUFBLENBQ1VILGtCQUFrQixRQUNyQywwREFBMEQsRUFDMUQsNkVBQTZFLG1CQUFBRyxNQUFBLENBQzVEQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxDQUN2QyxDQUFDO0FBQ0gsQ0FBQyxNQUFNO0VBQ0xMLE9BQU8sQ0FBQ00sS0FBSyxDQUNYLG1FQUNGLENBQUM7QUFDSCJ9
@@ -200,4 +200,4 @@ var ErrorMessage = _styledComponents.default.div.withConfig({
200
200
  displayName: "List__ErrorMessage",
201
201
  componentId: "sc-1f5wz2c-4"
202
202
  })(["display:flex;height:100%;font-size:20px;justify-content:center;box-shadow:-0.9px -0.5px 5px 0 rgba(0,0,0,0.06);border:solid 1px #ebebeb;padding:20px;"]);
203
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdGhlbWUiLCJfcmVhY3RSZWR1eCIsIl91dGlscyIsIl9BcmVhQ2FyZCIsIl9GYWN0b3J5Q2FyZCIsIl9PcmdhbmljQ2FyZCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsU2F2aW5nIiwiX0xpc3RDb250ZXh0IiwiX2kxOG4iLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9RdWFsaXR5U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiTGlzdCIsInByb3BzIiwiX1dXVFBJbmZvJHBvaW50IiwiX1dXVFBJbmZvJHBvaW50MiIsIlJlZHV4U3RhdGUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiYXJlYXNfZGF0YSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU2VsZWN0ZWRJdGVtIiwidXNlU2VsZWN0ZWRJdGVtIiwic2VsZWN0ZWRJdGVtIiwiaGFuZGxlU2VsZWN0SXRlbSIsIldXVFBJbmZvIiwiX3VzZVNlbGVjdG9yIiwid3d0cF9kYXNoYm9hcmQiLCJmb2N1c2VkQXJlYSIsIm1hcCIsInNlbGVjdGVkUmVmIiwidXNlUmVmIiwic2l0ZUlEIiwicG9pbnQiLCJpZCIsImhhbmRsZUl0ZW1DbGljayIsIml0ZW0iLCJub0RhdGFNZXNzYWdlIiwiaTE4biIsInQiLCJsaXN0RGV0YWlscyIsInVzZU1lbW8iLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEyIiwiaXNfbm9fYXJlYXMiLCJmb3JXV1RQTWFwIiwidW5kZWZpbmVkIiwic3ViX2FyZWFzIiwibGVuZ3RoIiwiaGFzX2RldmljZSIsImNyZWF0ZUVsZW1lbnQiLCJMaXN0Q29udGFpbmVyIiwiRXJyb3JNZXNzYWdlIiwiU3VtbWFyeUNvbXBvbmVudCIsImVuZHBvaW50IiwiY29uY2F0IiwiY2xhc3NOYW1lIiwiTGluZUNoYXJ0Q29tcG9uZW50IiwidGl0bGUiLCJEaXNjaGFyZ2VQYXR0ZXJuIiwiTnVtYmVyIiwic29ydEFyZWFzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImFyZWEiLCJBcmVhQ2FyZCIsImFyZWFfaWQiLCJvYmplY3QiLCJtYXBSZWYiLCJvbkNsaWNrIiwic2VsZWN0ZWQiLCJpdGVtUmVmIiwiZmFjdG9yaWVzIiwiZmFjdG9yeSIsIkZhY3RvcnlDYXJkIiwidXNlRWZmZWN0IiwibmV3QXJlYXMiLCJpc1N1YkFyZWFzRXF1YWwiLCJjb21wYXJlQXJyYXlzQnlJZEFuZFNjb3JlIiwiZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzIiwiX29iamVjdFNwcmVhZDIiLCJzZXRGb2N1c2VkQXJlYSIsImFycjEiLCJhcnIyIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiX3N0ZXAiLCJfbG9vcCIsIml0ZW0xIiwidmFsdWUiLCJtYXRjaGluZ0l0ZW0iLCJmaW5kIiwiaXRlbTIiLCJ2IiwiYXJlYV9zY29yZSIsInMiLCJuIiwiZG9uZSIsIl9yZXQiLCJfdHlwZW9mMiIsImVyciIsImUiLCJmIiwiX3NlbGVjdGVkUmVmJGN1cnJlbnQiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImJsb2NrIiwiaW5saW5lIiwiZ3JvdXAiLCJ0eXBlIiwiY2xpY2tlZCIsIldXVFBEZXRhaWxzIiwic3R5bGUiLCJvdmVyZmxvdyIsIm5hbWUiLCJhcmVhX25hbWUiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJ0aGVtZSIsIldXVFBNYXAiLCJiZyIsIlF1YWxpdHlTdW1tYXJ5IiwiTGluZUNoYXJ0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnc3JjL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgc29ydEFyZWFzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBBcmVhQ2FyZCB9IGZyb20gJy4vQXJlYUNhcmQnO1xuaW1wb3J0IHsgRmFjdG9yeUNhcmQgfSBmcm9tICcuL0ZhY3RvcnlDYXJkJztcbmltcG9ydCBPcmdhbmljQ2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9PcmdhbmljQ2FyZCc7XG5pbXBvcnQgSW1wYWN0Q2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9Qb3RlbnRpYWxTYXZpbmcnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnLi9MaXN0Q29udGV4dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgRGlzY2hhcmdlUGF0dGVybiB9IGZyb20gJy4uL1NpdGVQYWdlL0Rpc2NoYXJnZVBhdHRlcm4vRGlzY2hhcmdlUGF0dGVybic7XG5pbXBvcnQgeyBRdWFsaXR5U3VtbWFyeSB9IGZyb20gJ3NyYy9XaWRnZXRzL1F1YWxpdHlTdW1tYXJ5L1F1YWxpdHlTdW1tYXJ5JztcbmltcG9ydCB7IExpbmVDaGFydCB9IGZyb20gJ3NyYy9wYWdlcy9BcmVhUGFnZS9EYXNoYm9hcmQvTGluZUNoYXJ0L0xpbmVDaGFydCc7XG5pbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBnbG9iYWxfZGF0YTogYW55O1xuICBXV1RQSW5mbzogYW55O1xuICBkaXNwYXRjaDogYW55O1xufTtcblxuZXhwb3J0IGNvbnN0IExpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEgfSA9IFJlZHV4U3RhdGU7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBzZWxlY3RlZEl0ZW0sIGhhbmRsZVNlbGVjdEl0ZW0gfSA9IHVzZVNlbGVjdGVkSXRlbSgpO1xuICBjb25zdCB7IFdXVFBJbmZvIH0gPSBwcm9wcztcbiAgY29uc3QgeyBmb2N1c2VkQXJlYSwgbWFwIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZCxcbiAgKTtcbiAgY29uc3Qgc2VsZWN0ZWRSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHNpdGVJRCA9IFdXVFBJbmZvLnBvaW50Py5pZDtcblxuICBjb25zdCBoYW5kbGVJdGVtQ2xpY2sgPSAoaXRlbSkgPT4ge1xuICAgIGhhbmRsZVNlbGVjdEl0ZW0oaXRlbSk7XG4gIH07XG5cbiAgY29uc3Qgbm9EYXRhTWVzc2FnZSA9IGkxOG4udCgnd3d0cFBhZ2Uubm9fZGF0YV9mb3Jfc2l0ZScpO1xuXG4gIGxldCBsaXN0RGV0YWlscyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghc2l0ZUlEICYmICFmb2N1c2VkQXJlYSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzX25vX2FyZWFzID1cbiAgICAgIGZvY3VzZWRBcmVhICYmXG4gICAgICBmb2N1c2VkQXJlYT8uZm9yV1dUUE1hcCA9PT0gdHJ1ZSAmJlxuICAgICAgc2l0ZUlEICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcz8ubGVuZ3RoID09PSAwO1xuXG4gICAgaWYgKGlzX25vX2FyZWFzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIC8vIGZvY3VzZWRBcmVhPy5jbGlja2VkID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgZm9jdXNlZEFyZWE/Lmhhc19kZXZpY2UgPT09IGZhbHNlIHx8XG4gICAgICAgICFzaXRlSURcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxMaXN0Q29udGFpbmVyPlxuICAgICAgICAgICAgPEVycm9yTWVzc2FnZT57bm9EYXRhTWVzc2FnZX08L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICA8L0xpc3RDb250YWluZXI+XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxMaXN0Q29udGFpbmVyPlxuICAgICAgICAgICAgPFN1bW1hcnlDb21wb25lbnRcbiAgICAgICAgICAgICAgZW5kcG9pbnQ9e2AvZGF0YS9ldmVudHMtY29tcG9uZW50LWRhdGEvJHtzaXRlSUR9YH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic3VtbWFyeS1jb21wb25lbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxMaW5lQ2hhcnRDb21wb25lbnRcbiAgICAgICAgICAgICAgdGl0bGU9e2kxOG4udCgnYXJlYV9kYXNoYm9hcmQudHJlbmQnKX1cbiAgICAgICAgICAgICAgZW5kcG9pbnQ9e2AvcG9pbnRzLyR7c2l0ZUlEfS90cmVuZC1ncmFwaGB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPERpc2NoYXJnZVBhdHRlcm4gc2l0ZUlEPXtOdW1iZXIoc2l0ZUlEKX0gLz5cbiAgICAgICAgICA8L0xpc3RDb250YWluZXI+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZvY3VzZWRBcmVhICYmIGZvY3VzZWRBcmVhPy5zdWJfYXJlYXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyAmJlxuICAgICAgICBzb3J0QXJlYXMoZm9jdXNlZEFyZWEuc3ViX2FyZWFzKVxuICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAubWFwKChhcmVhOiBJQXJlYSkgPT4gKFxuICAgICAgICAgICAgPEFyZWFDYXJkXG4gICAgICAgICAgICAgIGtleT17YXJlYS5hcmVhX2lkfVxuICAgICAgICAgICAgICBvYmplY3Q9e2FyZWF9XG4gICAgICAgICAgICAgIG1hcFJlZj17bWFwfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVJdGVtQ2xpY2soYXJlYS5hcmVhX2lkKX1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkSXRlbSA9PT0gYXJlYS5hcmVhX2lkfVxuICAgICAgICAgICAgICBpdGVtUmVmPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZCA/IHNlbGVjdGVkUmVmIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChmb2N1c2VkQXJlYT8uZmFjdG9yaWVzKSB7XG4gICAgICAgIHJldHVybiBmb2N1c2VkQXJlYS5mYWN0b3JpZXNcbiAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgLm1hcCgoZmFjdG9yeSkgPT4gKFxuICAgICAgICAgICAgPEZhY3RvcnlDYXJkXG4gICAgICAgICAgICAgIGtleT17ZmFjdG9yeS5pZH1cbiAgICAgICAgICAgICAgb2JqZWN0PXtmYWN0b3J5fVxuICAgICAgICAgICAgICBtYXBSZWY9e21hcH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlSXRlbUNsaWNrKGZhY3RvcnkuaWQpfVxuICAgICAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWRJdGVtID09PSBmYWN0b3J5LmlkfVxuICAgICAgICAgICAgICBpdGVtUmVmPXtzZWxlY3RlZEl0ZW0gPT09IGZhY3RvcnkuaWQgPyBzZWxlY3RlZFJlZiA6IG51bGx9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW3NlbGVjdGVkSXRlbSwgc2l0ZUlELCBmb2N1c2VkQXJlYV0pO1xuXG4gIC8vIFVwZGF0ZSB0aGUgbGlzdCBvbmx5IGlmIHRoZSBzY29yZSBvZiBhdCBsZWFzdCBvbmUgb2YgdGhlIHN1Yi1hcmVhcyBoYXMgY2hhbmdlZFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGZvY3VzZWRBcmVhICYmXG4gICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMgJiZcbiAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPiAwICYmXG4gICAgICBhcmVhc19kYXRhICYmXG4gICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aFxuICAgICkge1xuICAgICAgY29uc3QgaXNTdWJBcmVhc0VxdWFsID0gY29tcGFyZUFycmF5c0J5SWRBbmRTY29yZShcbiAgICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcyxcbiAgICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLFxuICAgICAgKTtcbiAgICAgIGlmIChpc1N1YkFyZWFzRXF1YWwpIHJldHVybjtcblxuICAgICAgY29uc3QgZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzID0ge1xuICAgICAgICAuLi5mb2N1c2VkQXJlYSxcbiAgICAgICAgc3ViX2FyZWFzOiBhcmVhc19kYXRhLm5ld0FyZWFzLFxuICAgICAgfTtcbiAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGZvY3VzZWRBcmVhV2l0aFVwZGF0ZWRTdWJBcmVhcykpO1xuICAgIH1cbiAgfSwgW2FyZWFzX2RhdGFdKTtcblxuICBmdW5jdGlvbiBjb21wYXJlQXJyYXlzQnlJZEFuZFNjb3JlKGFycjEsIGFycjIpIHtcbiAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBvYmplY3QgaW4gdGhlIGZpcnN0IGFycmF5XG4gICAgZm9yIChsZXQgaXRlbTEgb2YgYXJyMSkge1xuICAgICAgLy8gRmluZCB0aGUgb2JqZWN0IHdpdGggdGhlIHNhbWUgaWQgaW4gdGhlIHNlY29uZCBhcnJheVxuICAgICAgbGV0IG1hdGNoaW5nSXRlbSA9IGFycjIuZmluZCgoaXRlbTIpID0+IGl0ZW0yLmFyZWFfaWQgPT09IGl0ZW0xLmFyZWFfaWQpO1xuXG4gICAgICAvLyBJZiBubyBtYXRjaGluZyBpdGVtIGlzIGZvdW5kIGluIHRoZSBzZWNvbmQgYXJyYXksIHJldHVybiBmYWxzZVxuICAgICAgaWYgKCFtYXRjaGluZ0l0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgc2NvcmVzIGRvbid0IG1hdGNoLCByZXR1cm4gZmFsc2VcbiAgICAgIGlmIChpdGVtMS5hcmVhX3Njb3JlICE9PSBtYXRjaGluZ0l0ZW0uYXJlYV9zY29yZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgYWxsIGl0ZW1zIG1hdGNoZWQgYW5kIGhhZCB0aGUgc2FtZSBzY29yZSwgcmV0dXJuIHRydWVcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2VsZWN0ZWRSZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgYmxvY2s6ICdjZW50ZXInLFxuICAgICAgaW5saW5lOiAnY2VudGVyJyxcbiAgICB9KTtcbiAgfSwgW3NlbGVjdGVkSXRlbV0pO1xuXG4gIGlmIChcbiAgICBmb2N1c2VkQXJlYT8uZ3JvdXAgJiZcbiAgICBmb2N1c2VkQXJlYS5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnICYmXG4gICAgZm9jdXNlZEFyZWE/LmNsaWNrZWQgPT09IHVuZGVmaW5lZFxuICApXG4gICAgcmV0dXJuIChcbiAgICAgIDxXV1RQRGV0YWlscyBjbGFzc05hbWU9XCJwLTNcIiBzdHlsZT17eyBvdmVyZmxvdzogJ3Njcm9sbCcgfX0+XG4gICAgICAgIDxoMz57V1dUUEluZm8ucG9pbnQ/Lm5hbWV9PC9oMz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoLWF1dG8gbXktNCd9PlxuICAgICAgICAgIDxPcmdhbmljQ2FyZCAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoLWF1dG8gbXQtMid9PlxuICAgICAgICAgIDxJbXBhY3RDYXJkIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9XV1RQRGV0YWlscz5cbiAgICApO1xuXG4gIHJldHVybiAoXG4gICAgPFdXVFBEZXRhaWxzIGNsYXNzTmFtZT1cInAtM1wiIHN0eWxlPXt7IG92ZXJmbG93OiAnc2Nyb2xsJyB9fT5cbiAgICAgIDxoMz57Zm9jdXNlZEFyZWE/LmFyZWFfbmFtZSB8fCBmb2N1c2VkQXJlYT8ubmFtZX08L2gzPlxuICAgICAgPHVsIGNsYXNzTmFtZT17J214LW4zJ30+e2xpc3REZXRhaWxzfTwvdWw+XG4gICAgPC9XV1RQRGV0YWlscz5cbiAgKTtcbn07XG5cbmNvbnN0IFdXVFBEZXRhaWxzID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDEzNHB4KTtcbiAgYmFja2dyb3VuZDogJHt0aGVtZS5XV1RQTWFwLmJnfTtcbmA7XG5cbmNvbnN0IFN1bW1hcnlDb21wb25lbnQgPSBzdHlsZWQoUXVhbGl0eVN1bW1hcnkpYFxuICBncmlkLWFyZWE6IHN1bW1hcnk7XG5cbiAgc3VtbWFyeS1jb21wb25lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gIH1cbmA7XG5cbmNvbnN0IExpbmVDaGFydENvbXBvbmVudCA9IHN0eWxlZChMaW5lQ2hhcnQpYFxuICBncmlkLWFyZWE6IGdyYXBoO1xuYDtcblxuY29uc3QgTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4O1xuICBnYXA6IDMwcHg7XG5gO1xuXG5jb25zdCBFcnJvck1lc3NhZ2UgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IC0wLjlweCAtMC41cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2ViZWJlYjtcbiAgcGFkZGluZzogMjBweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtB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
203
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdGhlbWUiLCJfcmVhY3RSZWR1eCIsIl91dGlscyIsIl9BcmVhQ2FyZCIsIl9GYWN0b3J5Q2FyZCIsIl9PcmdhbmljQ2FyZCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsU2F2aW5nIiwiX0xpc3RDb250ZXh0IiwiX2kxOG4iLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9RdWFsaXR5U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiTGlzdCIsInByb3BzIiwiX1dXVFBJbmZvJHBvaW50IiwiX1dXVFBJbmZvJHBvaW50MiIsIlJlZHV4U3RhdGUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiYXJlYXNfZGF0YSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU2VsZWN0ZWRJdGVtIiwidXNlU2VsZWN0ZWRJdGVtIiwic2VsZWN0ZWRJdGVtIiwiaGFuZGxlU2VsZWN0SXRlbSIsIldXVFBJbmZvIiwiX3VzZVNlbGVjdG9yIiwid3d0cF9kYXNoYm9hcmQiLCJmb2N1c2VkQXJlYSIsIm1hcCIsInNlbGVjdGVkUmVmIiwidXNlUmVmIiwic2l0ZUlEIiwicG9pbnQiLCJpZCIsImhhbmRsZUl0ZW1DbGljayIsIml0ZW0iLCJub0RhdGFNZXNzYWdlIiwiaTE4biIsInQiLCJsaXN0RGV0YWlscyIsInVzZU1lbW8iLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEiLCJfZm9jdXNlZEFyZWEkc3ViX2FyZWEyIiwiaXNfbm9fYXJlYXMiLCJmb3JXV1RQTWFwIiwidW5kZWZpbmVkIiwic3ViX2FyZWFzIiwibGVuZ3RoIiwiaGFzX2RldmljZSIsImNyZWF0ZUVsZW1lbnQiLCJMaXN0Q29udGFpbmVyIiwiRXJyb3JNZXNzYWdlIiwiU3VtbWFyeUNvbXBvbmVudCIsImVuZHBvaW50IiwiY29uY2F0IiwiY2xhc3NOYW1lIiwiTGluZUNoYXJ0Q29tcG9uZW50IiwidGl0bGUiLCJEaXNjaGFyZ2VQYXR0ZXJuIiwiTnVtYmVyIiwic29ydEFyZWFzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImFyZWEiLCJBcmVhQ2FyZCIsImFyZWFfaWQiLCJvYmplY3QiLCJtYXBSZWYiLCJvbkNsaWNrIiwic2VsZWN0ZWQiLCJpdGVtUmVmIiwiZmFjdG9yaWVzIiwiZmFjdG9yeSIsIkZhY3RvcnlDYXJkIiwidXNlRWZmZWN0IiwibmV3QXJlYXMiLCJpc1N1YkFyZWFzRXF1YWwiLCJjb21wYXJlQXJyYXlzQnlJZEFuZFNjb3JlIiwiZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzIiwiX29iamVjdFNwcmVhZDIiLCJzZXRGb2N1c2VkQXJlYSIsImFycjEiLCJhcnIyIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyIiwiX3N0ZXAiLCJfbG9vcCIsIml0ZW0xIiwidmFsdWUiLCJtYXRjaGluZ0l0ZW0iLCJmaW5kIiwiaXRlbTIiLCJ2IiwiYXJlYV9zY29yZSIsInMiLCJuIiwiZG9uZSIsIl9yZXQiLCJfdHlwZW9mMiIsImVyciIsImUiLCJmIiwiX3NlbGVjdGVkUmVmJGN1cnJlbnQiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImJsb2NrIiwiaW5saW5lIiwiZ3JvdXAiLCJ0eXBlIiwiY2xpY2tlZCIsIldXVFBEZXRhaWxzIiwic3R5bGUiLCJvdmVyZmxvdyIsIm5hbWUiLCJhcmVhX25hbWUiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJ0aGVtZSIsIldXVFBNYXAiLCJiZyIsIlF1YWxpdHlTdW1tYXJ5IiwiTGluZUNoYXJ0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnc3JjL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgc29ydEFyZWFzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBBcmVhQ2FyZCB9IGZyb20gJy4vQXJlYUNhcmQnO1xuaW1wb3J0IHsgRmFjdG9yeUNhcmQgfSBmcm9tICcuL0ZhY3RvcnlDYXJkJztcbmltcG9ydCBPcmdhbmljQ2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9PcmdhbmljQ2FyZCc7XG5pbXBvcnQgSW1wYWN0Q2FyZCBmcm9tICcuLi9Xd3RwUGFnZS9Qb3RlbnRpYWxTYXZpbmcnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnLi9MaXN0Q29udGV4dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgRGlzY2hhcmdlUGF0dGVybiB9IGZyb20gJy4uL1NpdGVQYWdlL0Rpc2NoYXJnZVBhdHRlcm4vRGlzY2hhcmdlUGF0dGVybic7XG5pbXBvcnQgeyBRdWFsaXR5U3VtbWFyeSB9IGZyb20gJ3NyYy9XaWRnZXRzL1F1YWxpdHlTdW1tYXJ5L1F1YWxpdHlTdW1tYXJ5JztcbmltcG9ydCB7IExpbmVDaGFydCB9IGZyb20gJ3NyYy9wYWdlcy9BcmVhUGFnZS9EYXNoYm9hcmQvTGluZUNoYXJ0L0xpbmVDaGFydCc7XG5pbXBvcnQgeyBzZXRGb2N1c2VkQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBnbG9iYWxfZGF0YTogYW55O1xuICBXV1RQSW5mbzogYW55O1xufTtcblxuZXhwb3J0IGNvbnN0IExpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEgfSA9IFJlZHV4U3RhdGU7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBzZWxlY3RlZEl0ZW0sIGhhbmRsZVNlbGVjdEl0ZW0gfSA9IHVzZVNlbGVjdGVkSXRlbSgpO1xuICBjb25zdCB7IFdXVFBJbmZvIH0gPSBwcm9wcztcbiAgY29uc3QgeyBmb2N1c2VkQXJlYSwgbWFwIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZCxcbiAgKTtcbiAgY29uc3Qgc2VsZWN0ZWRSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHNpdGVJRCA9IFdXVFBJbmZvLnBvaW50Py5pZDtcblxuICBjb25zdCBoYW5kbGVJdGVtQ2xpY2sgPSAoaXRlbSkgPT4ge1xuICAgIGhhbmRsZVNlbGVjdEl0ZW0oaXRlbSk7XG4gIH07XG5cbiAgY29uc3Qgbm9EYXRhTWVzc2FnZSA9IGkxOG4udCgnd3d0cFBhZ2Uubm9fZGF0YV9mb3Jfc2l0ZScpO1xuXG4gIGxldCBsaXN0RGV0YWlscyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghc2l0ZUlEICYmICFmb2N1c2VkQXJlYSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzX25vX2FyZWFzID1cbiAgICAgIGZvY3VzZWRBcmVhICYmXG4gICAgICBmb2N1c2VkQXJlYT8uZm9yV1dUUE1hcCA9PT0gdHJ1ZSAmJlxuICAgICAgc2l0ZUlEICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcz8ubGVuZ3RoID09PSAwO1xuXG4gICAgaWYgKGlzX25vX2FyZWFzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIC8vIGZvY3VzZWRBcmVhPy5jbGlja2VkID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgZm9jdXNlZEFyZWE/Lmhhc19kZXZpY2UgPT09IGZhbHNlIHx8XG4gICAgICAgICFzaXRlSURcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxMaXN0Q29udGFpbmVyPlxuICAgICAgICAgICAgPEVycm9yTWVzc2FnZT57bm9EYXRhTWVzc2FnZX08L0Vycm9yTWVzc2FnZT5cbiAgICAgICAgICA8L0xpc3RDb250YWluZXI+XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxMaXN0Q29udGFpbmVyPlxuICAgICAgICAgICAgPFN1bW1hcnlDb21wb25lbnRcbiAgICAgICAgICAgICAgZW5kcG9pbnQ9e2AvZGF0YS9ldmVudHMtY29tcG9uZW50LWRhdGEvJHtzaXRlSUR9YH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic3VtbWFyeS1jb21wb25lbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxMaW5lQ2hhcnRDb21wb25lbnRcbiAgICAgICAgICAgICAgdGl0bGU9e2kxOG4udCgnYXJlYV9kYXNoYm9hcmQudHJlbmQnKX1cbiAgICAgICAgICAgICAgZW5kcG9pbnQ9e2AvcG9pbnRzLyR7c2l0ZUlEfS90cmVuZC1ncmFwaGB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPERpc2NoYXJnZVBhdHRlcm4gc2l0ZUlEPXtOdW1iZXIoc2l0ZUlEKX0gLz5cbiAgICAgICAgICA8L0xpc3RDb250YWluZXI+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZvY3VzZWRBcmVhICYmIGZvY3VzZWRBcmVhPy5zdWJfYXJlYXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcyAmJlxuICAgICAgICBzb3J0QXJlYXMoZm9jdXNlZEFyZWEuc3ViX2FyZWFzKVxuICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAubWFwKChhcmVhOiBJQXJlYSkgPT4gKFxuICAgICAgICAgICAgPEFyZWFDYXJkXG4gICAgICAgICAgICAgIGtleT17YXJlYS5hcmVhX2lkfVxuICAgICAgICAgICAgICBvYmplY3Q9e2FyZWF9XG4gICAgICAgICAgICAgIG1hcFJlZj17bWFwfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVJdGVtQ2xpY2soYXJlYS5hcmVhX2lkKX1cbiAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkSXRlbSA9PT0gYXJlYS5hcmVhX2lkfVxuICAgICAgICAgICAgICBpdGVtUmVmPXtzZWxlY3RlZEl0ZW0gPT09IGFyZWEuYXJlYV9pZCA/IHNlbGVjdGVkUmVmIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChmb2N1c2VkQXJlYT8uZmFjdG9yaWVzKSB7XG4gICAgICAgIHJldHVybiBmb2N1c2VkQXJlYS5mYWN0b3JpZXNcbiAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgLm1hcCgoZmFjdG9yeSkgPT4gKFxuICAgICAgICAgICAgPEZhY3RvcnlDYXJkXG4gICAgICAgICAgICAgIGtleT17ZmFjdG9yeS5pZH1cbiAgICAgICAgICAgICAgb2JqZWN0PXtmYWN0b3J5fVxuICAgICAgICAgICAgICBtYXBSZWY9e21hcH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlSXRlbUNsaWNrKGZhY3RvcnkuaWQpfVxuICAgICAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWRJdGVtID09PSBmYWN0b3J5LmlkfVxuICAgICAgICAgICAgICBpdGVtUmVmPXtzZWxlY3RlZEl0ZW0gPT09IGZhY3RvcnkuaWQgPyBzZWxlY3RlZFJlZiA6IG51bGx9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW3NlbGVjdGVkSXRlbSwgc2l0ZUlELCBmb2N1c2VkQXJlYV0pO1xuXG4gIC8vIFVwZGF0ZSB0aGUgbGlzdCBvbmx5IGlmIHRoZSBzY29yZSBvZiBhdCBsZWFzdCBvbmUgb2YgdGhlIHN1Yi1hcmVhcyBoYXMgY2hhbmdlZFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGZvY3VzZWRBcmVhICYmXG4gICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMgJiZcbiAgICAgIGZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPiAwICYmXG4gICAgICBhcmVhc19kYXRhICYmXG4gICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aFxuICAgICkge1xuICAgICAgY29uc3QgaXNTdWJBcmVhc0VxdWFsID0gY29tcGFyZUFycmF5c0J5SWRBbmRTY29yZShcbiAgICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcyxcbiAgICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLFxuICAgICAgKTtcbiAgICAgIGlmIChpc1N1YkFyZWFzRXF1YWwpIHJldHVybjtcblxuICAgICAgY29uc3QgZm9jdXNlZEFyZWFXaXRoVXBkYXRlZFN1YkFyZWFzID0ge1xuICAgICAgICAuLi5mb2N1c2VkQXJlYSxcbiAgICAgICAgc3ViX2FyZWFzOiBhcmVhc19kYXRhLm5ld0FyZWFzLFxuICAgICAgfTtcbiAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGZvY3VzZWRBcmVhV2l0aFVwZGF0ZWRTdWJBcmVhcykpO1xuICAgIH1cbiAgfSwgW2FyZWFzX2RhdGFdKTtcblxuICBmdW5jdGlvbiBjb21wYXJlQXJyYXlzQnlJZEFuZFNjb3JlKGFycjEsIGFycjIpIHtcbiAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBvYmplY3QgaW4gdGhlIGZpcnN0IGFycmF5XG4gICAgZm9yIChsZXQgaXRlbTEgb2YgYXJyMSkge1xuICAgICAgLy8gRmluZCB0aGUgb2JqZWN0IHdpdGggdGhlIHNhbWUgaWQgaW4gdGhlIHNlY29uZCBhcnJheVxuICAgICAgbGV0IG1hdGNoaW5nSXRlbSA9IGFycjIuZmluZCgoaXRlbTIpID0+IGl0ZW0yLmFyZWFfaWQgPT09IGl0ZW0xLmFyZWFfaWQpO1xuXG4gICAgICAvLyBJZiBubyBtYXRjaGluZyBpdGVtIGlzIGZvdW5kIGluIHRoZSBzZWNvbmQgYXJyYXksIHJldHVybiBmYWxzZVxuICAgICAgaWYgKCFtYXRjaGluZ0l0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgc2NvcmVzIGRvbid0IG1hdGNoLCByZXR1cm4gZmFsc2VcbiAgICAgIGlmIChpdGVtMS5hcmVhX3Njb3JlICE9PSBtYXRjaGluZ0l0ZW0uYXJlYV9zY29yZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgYWxsIGl0ZW1zIG1hdGNoZWQgYW5kIGhhZCB0aGUgc2FtZSBzY29yZSwgcmV0dXJuIHRydWVcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2VsZWN0ZWRSZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgYmxvY2s6ICdjZW50ZXInLFxuICAgICAgaW5saW5lOiAnY2VudGVyJyxcbiAgICB9KTtcbiAgfSwgW3NlbGVjdGVkSXRlbV0pO1xuXG4gIGlmIChcbiAgICBmb2N1c2VkQXJlYT8uZ3JvdXAgJiZcbiAgICBmb2N1c2VkQXJlYS5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnICYmXG4gICAgZm9jdXNlZEFyZWE/LmNsaWNrZWQgPT09IHVuZGVmaW5lZFxuICApXG4gICAgcmV0dXJuIChcbiAgICAgIDxXV1RQRGV0YWlscyBjbGFzc05hbWU9XCJwLTNcIiBzdHlsZT17eyBvdmVyZmxvdzogJ3Njcm9sbCcgfX0+XG4gICAgICAgIDxoMz57V1dUUEluZm8ucG9pbnQ/Lm5hbWV9PC9oMz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoLWF1dG8gbXktNCd9PlxuICAgICAgICAgIDxPcmdhbmljQ2FyZCAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoLWF1dG8gbXQtMid9PlxuICAgICAgICAgIDxJbXBhY3RDYXJkIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9XV1RQRGV0YWlscz5cbiAgICApO1xuXG4gIHJldHVybiAoXG4gICAgPFdXVFBEZXRhaWxzIGNsYXNzTmFtZT1cInAtM1wiIHN0eWxlPXt7IG92ZXJmbG93OiAnc2Nyb2xsJyB9fT5cbiAgICAgIDxoMz57Zm9jdXNlZEFyZWE/LmFyZWFfbmFtZSB8fCBmb2N1c2VkQXJlYT8ubmFtZX08L2gzPlxuICAgICAgPHVsIGNsYXNzTmFtZT17J214LW4zJ30+e2xpc3REZXRhaWxzfTwvdWw+XG4gICAgPC9XV1RQRGV0YWlscz5cbiAgKTtcbn07XG5cbmNvbnN0IFdXVFBEZXRhaWxzID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDEzNHB4KTtcbiAgYmFja2dyb3VuZDogJHt0aGVtZS5XV1RQTWFwLmJnfTtcbmA7XG5cbmNvbnN0IFN1bW1hcnlDb21wb25lbnQgPSBzdHlsZWQoUXVhbGl0eVN1bW1hcnkpYFxuICBncmlkLWFyZWE6IHN1bW1hcnk7XG5cbiAgc3VtbWFyeS1jb21wb25lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XG4gIH1cbmA7XG5cbmNvbnN0IExpbmVDaGFydENvbXBvbmVudCA9IHN0eWxlZChMaW5lQ2hhcnQpYFxuICBncmlkLWFyZWE6IGdyYXBoO1xuYDtcblxuY29uc3QgTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4O1xuICBnYXA6IDMwcHg7XG5gO1xuXG5jb25zdCBFcnJvck1lc3NhZ2UgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IC0wLjlweCAtMC41cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2ViZWJlYjtcbiAgcGFkZGluZzogMjBweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFlBQUEsR0FB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
@@ -128,9 +128,6 @@ var WWTPMap = function WWTPMap(props) {
128
128
  // useEffect(() => {
129
129
  // if (!ReduxState.wwtp_dashboard.focusedArea || !wwtp_dashboard.map) return;
130
130
 
131
- // //focusMap(ReduxState.wwtp_dashboard.focusedArea, wwtp_dashboard.map);
132
- // }, [ReduxState.wwtp_dashboard.focusedArea]);
133
-
134
131
  if (!isMapTab) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
135
132
  if (!dataExists() || !points || !areas) return /*#__PURE__*/_react.default.createElement(_Loader.Loader, null);
136
133
  return /*#__PURE__*/_react.default.createElement(_ListContext.SelectedItemProvider, null, /*#__PURE__*/_react.default.createElement(Container, props, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Row, {
@@ -164,4 +161,4 @@ var Container = _styledComponents.default.div.withConfig({
164
161
  })(["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;}}}"]);
165
162
  var _default = WWTPMap;
166
163
  exports.default = _default;
167
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gyIiwic2VhcmNoUXVlcnkiLCJ1c2VRdWVyeVVSTCIsImlzTWFwVGFiIiwiX3VzZVBhcmFtcyIsInVzZVBhcmFtcyIsImlkIiwiYXJlYUlEIiwic2l0ZUlEIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiYXJlYXNfZGF0YSIsImdsb2JhbF9kYXRhIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwid3d0cF9kYXNoYm9hcmQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwb2ludHMiLCJzZXRQb2ludHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImFyZWFzIiwic2V0QXJlYXMiLCJfdXNlU3RhdGU1IiwicG9pbnQiLCJhcmVhIiwiX3VzZVN0YXRlNiIsIldXVFBJbmZvIiwic2V0V1dUUEluZm8iLCJkYXRhRXhpc3RzIiwibmV3QXJlYXMiLCJsZW5ndGgiLCJpdGVtcyIsInVzZUVmZmVjdCIsIndhdGVyQXV0aG9yaXR5SWQiLCJmZXRjaFBvaW50cyIsImZldGNoRWRnZXMiLCJmZXRjaEFyZWFzIiwiZGFzaGJvYXJkIiwicGVyaW9kIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwiY2FsY3VsYXRlV1dUUEluZm8iLCJjbGVhbnVwIiwib2JqZWN0IiwiX1JlZHV4U3RhdGUkd3d0cF9kYXNoIiwidHlwZSIsImlzX3ZpcnR1YWwiLCJ2YWxpZE9iamVjdCIsInRvU3RyaW5nIiwiYXJlYV9pZCIsInBhcnNlSW50Iiwic2hvd0V4dHJhIiwiZm9jdXNlZEFyZWEiLCJmZXRjaENhcGFjaXR5IiwidGhlbiIsInJlc3BvbnNlIiwic2V0Rm9jdXNlZEl0ZW0iLCJkYXRhIiwic2V0Rm9jdXNlZEFyZWEiLCJ1dGlsaXR5RGlyZWN0cyIsInNvcnRBcmVhcyIsInVuZGVmaW5lZCIsIm1hcCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIkxvYWRlciIsIlNlbGVjdGVkSXRlbVByb3ZpZGVyIiwiQ29udGFpbmVyIiwiUm93IiwiY2xhc3NOYW1lIiwiQ29sIiwieHMiLCJzbSIsIkxpc3QiLCJNYXAiLCJlZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwiYXJlYVRvQ2VudGVyQnkiLCJzaGFwZV9kYXRhIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dXVFBNYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgTGlzdCB9IGZyb20gJy4vTGlzdCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBjYWxjdWxhdGVXV1RQSW5mbywgaW5pdGlhbGl6ZVdXVFBEYXRhLCBzb3J0QXJlYXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4vTG9hZGVyJztcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgU2VsZWN0ZWRJdGVtUHJvdmlkZXIgfSBmcm9tICcuL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IFJvdywgQ29sIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGZldGNoQ2FwYWNpdHksIHNldEZvY3VzZWRJdGVtIH0gZnJvbSAnLi9DYXBhY2l0eSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwYWNpdHlNYXBDb250YWluZXJQcm9wcyB7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xufVxuY29uc3QgV1dUUE1hcDogUmVhY3QuRkM8Q2FwYWNpdHlNYXBDb250YWluZXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBpc01hcFRhYiA9IHNlYXJjaFF1ZXJ5LmdldCgndmlldycpID09PSAnbWFwJztcbiAgbGV0IHsgaWQsIGFyZWFJRCwgc2l0ZUlEIH0gPSB1c2VQYXJhbXMoKTtcbiAgaWQgPSBpZCB8fCBhcmVhSUQgfHwgc2l0ZUlEO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBhcmVhc19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIGVkZ2VzX2RhdGEsIHd3dHBfZGFzaGJvYXJkIH0gPVxuICAgIFJlZHV4U3RhdGU7XG4gIGNvbnN0IFtwb2ludHMsIHNldFBvaW50c10gPSB1c2VTdGF0ZTxJUG9pbnRbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYXJlYXMsIHNldEFyZWFzXSA9IHVzZVN0YXRlPElBcmVhW10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW1dXVFBJbmZvLCBzZXRXV1RQSW5mb10gPSB1c2VTdGF0ZTx7XG4gICAgcG9pbnQ6IElQb2ludCB8IG51bGw7XG4gICAgYXJlYTogSUFyZWEgfCBudWxsO1xuICB9Pih7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICBsZXQgZGF0YUV4aXN0cyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgZWRnZXNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDBcbiAgICApO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goXG4gICAgICAgIGZldGNoQXJlYXMoXG4gICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICAgICBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2QsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplV1dUUERhdGEoe1xuICAgICAgYXJlYXNfZGF0YSxcbiAgICAgIHBvaW50c19kYXRhLFxuICAgICAgc2V0UG9pbnRzLFxuICAgICAgc2V0QXJlYXMsXG4gICAgICBzZXRXV1RQSW5mbyxcbiAgICAgIGRhdGFFeGlzdHMsXG4gICAgICBpZCxcbiAgICB9KTtcbiAgfSwgW2FyZWFzX2RhdGFdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFdXVFBJbmZvKGNhbGN1bGF0ZVdXVFBJbmZvKHsgaWQsIHBvaW50c19kYXRhLCBhcmVhc19kYXRhIH0pKTtcbiAgfSwgW2lkXSk7XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBmb2N1c01hcChXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50LCB3d3RwX2Rhc2hib2FyZC5tYXApO1xuICAvLyB9LCBbV1dUUEluZm9dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hQb2ludHMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZWRnZXNfZGF0YS5pdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBhcmVhc19kYXRhLml0ZW1zLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICBmZXRjaEFyZWFzKFxuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZCxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIHNldFBvaW50cyhudWxsKTtcbiAgICAgIHNldEFyZWFzKG51bGwpO1xuICAgICAgc2V0V1dUUEluZm8oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb2JqZWN0ID0gV1dUUEluZm8uYXJlYSB8fCBXV1RQSW5mby5wb2ludDtcblxuICAgIGlmIChpc01hcFRhYiAmJiBvYmplY3QpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBXV1RQSW5mby5hcmVhXG4gICAgICAgID8gb2JqZWN0LmlzX3ZpcnR1YWwgPT09IHRydWVcbiAgICAgICAgICA/ICd2YXJlYSdcbiAgICAgICAgICA6ICdhcmVhJ1xuICAgICAgICA6ICdzaXRlJztcblxuICAgICAgY29uc3QgdmFsaWRPYmplY3QgPVxuICAgICAgICB0eXBlID09PSAnc2l0ZSdcbiAgICAgICAgICA/IG9iamVjdC5pZC50b1N0cmluZygpID09PSBpZFxuICAgICAgICAgIDogb2JqZWN0LmFyZWFfaWQgPT09IHBhcnNlSW50KGlkKTtcblxuICAgICAgY29uc3Qgc2hvd0V4dHJhID0gb2JqZWN0LmlkID09PSBSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhPy5pZDtcblxuICAgICAgaWYgKHZhbGlkT2JqZWN0KSB7XG4gICAgICAgIGZldGNoQ2FwYWNpdHkodHlwZSwgaWQsIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpLnRoZW4oXG4gICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgICAgICAgb2JqZWN0LFxuICAgICAgICAgICAgICByZXNwb25zZS5kYXRhLFxuICAgICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgICAgIGFyZWFzLFxuICAgICAgICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgICAgICAgIHNob3dFeHRyYSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdXRpbGl0eURpcmVjdHMgPSBzb3J0QXJlYXMoYXJlYXMpO1xuXG4gICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBudWxsLFxuICAgICAgICBwb2ludHMsXG4gICAgICAgIHV0aWxpdHlEaXJlY3RzLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgIHRydWUsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBmb2N1c01hcChvYmplY3QsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIH0sIFt3d3RwX2Rhc2hib2FyZC5tYXBdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGlmICghUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSB8fCAhd3d0cF9kYXNoYm9hcmQubWFwKSByZXR1cm47XG5cbiAgLy8gICAvL2ZvY3VzTWFwKFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWEsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIC8vIH0sIFtSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhXSk7XG5cbiAgaWYgKCFpc01hcFRhYikgcmV0dXJuIDw+PC8+O1xuICBpZiAoIWRhdGFFeGlzdHMoKSB8fCAhcG9pbnRzIHx8ICFhcmVhcykgcmV0dXJuIDxMb2FkZXIgLz47XG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0ZWRJdGVtUHJvdmlkZXI+XG4gICAgICA8Q29udGFpbmVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxSb3cgY2xhc3NOYW1lPVwibm8tZ3V0dGVyc1wiPlxuICAgICAgICAgIDxDb2wgeHM9XCJhdXRvXCIgc209ezR9IGNsYXNzTmFtZT1cImQtbm9uZSBkLXNtLWZsZXhcIj5cbiAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgV1dUUEluZm89e1dXVFBJbmZvfVxuICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgY2xhc3NOYW1lPVwibWFwLWNvbHVtblwiIHhzPXsxMn0gc209ezh9PlxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAgICAgICBmb3JXV1RQRGFzaGJvYXJkPXt0cnVlfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17UmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDB2dztcblxuICAubWFwLWNvbHVtbiB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjVweCk7XG4gICAgfVxuXG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgKixcbiAgICAgICo6Zm9jdXMsXG4gICAgICAqOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiB4LWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFB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
164
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gyIiwic2VhcmNoUXVlcnkiLCJ1c2VRdWVyeVVSTCIsImlzTWFwVGFiIiwiX3VzZVBhcmFtcyIsInVzZVBhcmFtcyIsImlkIiwiYXJlYUlEIiwic2l0ZUlEIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiYXJlYXNfZGF0YSIsImdsb2JhbF9kYXRhIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwid3d0cF9kYXNoYm9hcmQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwb2ludHMiLCJzZXRQb2ludHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImFyZWFzIiwic2V0QXJlYXMiLCJfdXNlU3RhdGU1IiwicG9pbnQiLCJhcmVhIiwiX3VzZVN0YXRlNiIsIldXVFBJbmZvIiwic2V0V1dUUEluZm8iLCJkYXRhRXhpc3RzIiwibmV3QXJlYXMiLCJsZW5ndGgiLCJpdGVtcyIsInVzZUVmZmVjdCIsIndhdGVyQXV0aG9yaXR5SWQiLCJmZXRjaFBvaW50cyIsImZldGNoRWRnZXMiLCJmZXRjaEFyZWFzIiwiZGFzaGJvYXJkIiwicGVyaW9kIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwiY2FsY3VsYXRlV1dUUEluZm8iLCJjbGVhbnVwIiwib2JqZWN0IiwiX1JlZHV4U3RhdGUkd3d0cF9kYXNoIiwidHlwZSIsImlzX3ZpcnR1YWwiLCJ2YWxpZE9iamVjdCIsInRvU3RyaW5nIiwiYXJlYV9pZCIsInBhcnNlSW50Iiwic2hvd0V4dHJhIiwiZm9jdXNlZEFyZWEiLCJmZXRjaENhcGFjaXR5IiwidGhlbiIsInJlc3BvbnNlIiwic2V0Rm9jdXNlZEl0ZW0iLCJkYXRhIiwic2V0Rm9jdXNlZEFyZWEiLCJ1dGlsaXR5RGlyZWN0cyIsInNvcnRBcmVhcyIsInVuZGVmaW5lZCIsIm1hcCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIkxvYWRlciIsIlNlbGVjdGVkSXRlbVByb3ZpZGVyIiwiQ29udGFpbmVyIiwiUm93IiwiY2xhc3NOYW1lIiwiQ29sIiwieHMiLCJzbSIsIkxpc3QiLCJNYXAiLCJlZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwiYXJlYVRvQ2VudGVyQnkiLCJzaGFwZV9kYXRhIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dXVFBNYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgTGlzdCB9IGZyb20gJy4vTGlzdCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBjYWxjdWxhdGVXV1RQSW5mbywgaW5pdGlhbGl6ZVdXVFBEYXRhLCBzb3J0QXJlYXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4vTG9hZGVyJztcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IHNldEZvY3VzZWRBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvV1dUUERhc2hib2FyZC9XV1RQRGFzaGJvYXJkU2xpY2UnO1xuaW1wb3J0IHsgU2VsZWN0ZWRJdGVtUHJvdmlkZXIgfSBmcm9tICcuL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IFJvdywgQ29sIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGZldGNoQ2FwYWNpdHksIHNldEZvY3VzZWRJdGVtIH0gZnJvbSAnLi9DYXBhY2l0eSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwYWNpdHlNYXBDb250YWluZXJQcm9wcyB7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xufVxuY29uc3QgV1dUUE1hcDogUmVhY3QuRkM8Q2FwYWNpdHlNYXBDb250YWluZXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qgc2VhcmNoUXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBpc01hcFRhYiA9IHNlYXJjaFF1ZXJ5LmdldCgndmlldycpID09PSAnbWFwJztcbiAgbGV0IHsgaWQsIGFyZWFJRCwgc2l0ZUlEIH0gPSB1c2VQYXJhbXMoKTtcbiAgaWQgPSBpZCB8fCBhcmVhSUQgfHwgc2l0ZUlEO1xuICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBhcmVhc19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIGVkZ2VzX2RhdGEsIHd3dHBfZGFzaGJvYXJkIH0gPVxuICAgIFJlZHV4U3RhdGU7XG4gIGNvbnN0IFtwb2ludHMsIHNldFBvaW50c10gPSB1c2VTdGF0ZTxJUG9pbnRbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYXJlYXMsIHNldEFyZWFzXSA9IHVzZVN0YXRlPElBcmVhW10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW1dXVFBJbmZvLCBzZXRXV1RQSW5mb10gPSB1c2VTdGF0ZTx7XG4gICAgcG9pbnQ6IElQb2ludCB8IG51bGw7XG4gICAgYXJlYTogSUFyZWEgfCBudWxsO1xuICB9Pih7IHBvaW50OiBudWxsLCBhcmVhOiBudWxsIH0pO1xuICBsZXQgZGF0YUV4aXN0cyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgYXJlYXNfZGF0YS5uZXdBcmVhcy5sZW5ndGggIT09IDAgfHxcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgZWRnZXNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDBcbiAgICApO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goXG4gICAgICAgIGZldGNoQXJlYXMoXG4gICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICAgICBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2QsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplV1dUUERhdGEoe1xuICAgICAgYXJlYXNfZGF0YSxcbiAgICAgIHBvaW50c19kYXRhLFxuICAgICAgc2V0UG9pbnRzLFxuICAgICAgc2V0QXJlYXMsXG4gICAgICBzZXRXV1RQSW5mbyxcbiAgICAgIGRhdGFFeGlzdHMsXG4gICAgICBpZCxcbiAgICB9KTtcbiAgfSwgW2FyZWFzX2RhdGFdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFdXVFBJbmZvKGNhbGN1bGF0ZVdXVFBJbmZvKHsgaWQsIHBvaW50c19kYXRhLCBhcmVhc19kYXRhIH0pKTtcbiAgfSwgW2lkXSk7XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBmb2N1c01hcChXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50LCB3d3RwX2Rhc2hib2FyZC5tYXApO1xuICAvLyB9LCBbV1dUUEluZm9dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hQb2ludHMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZWRnZXNfZGF0YS5pdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBhcmVhc19kYXRhLml0ZW1zLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICBmZXRjaEFyZWFzKFxuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZCxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIHNldFBvaW50cyhudWxsKTtcbiAgICAgIHNldEFyZWFzKG51bGwpO1xuICAgICAgc2V0V1dUUEluZm8oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb2JqZWN0ID0gV1dUUEluZm8uYXJlYSB8fCBXV1RQSW5mby5wb2ludDtcblxuICAgIGlmIChpc01hcFRhYiAmJiBvYmplY3QpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBXV1RQSW5mby5hcmVhXG4gICAgICAgID8gb2JqZWN0LmlzX3ZpcnR1YWwgPT09IHRydWVcbiAgICAgICAgICA/ICd2YXJlYSdcbiAgICAgICAgICA6ICdhcmVhJ1xuICAgICAgICA6ICdzaXRlJztcblxuICAgICAgY29uc3QgdmFsaWRPYmplY3QgPVxuICAgICAgICB0eXBlID09PSAnc2l0ZSdcbiAgICAgICAgICA/IG9iamVjdC5pZC50b1N0cmluZygpID09PSBpZFxuICAgICAgICAgIDogb2JqZWN0LmFyZWFfaWQgPT09IHBhcnNlSW50KGlkKTtcblxuICAgICAgY29uc3Qgc2hvd0V4dHJhID0gb2JqZWN0LmlkID09PSBSZWR1eFN0YXRlLnd3dHBfZGFzaGJvYXJkLmZvY3VzZWRBcmVhPy5pZDtcblxuICAgICAgaWYgKHZhbGlkT2JqZWN0KSB7XG4gICAgICAgIGZldGNoQ2FwYWNpdHkodHlwZSwgaWQsIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpLnRoZW4oXG4gICAgICAgICAgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgICAgICAgb2JqZWN0LFxuICAgICAgICAgICAgICByZXNwb25zZS5kYXRhLFxuICAgICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgICAgIGFyZWFzLFxuICAgICAgICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgICAgICAgIHNob3dFeHRyYSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdXRpbGl0eURpcmVjdHMgPSBzb3J0QXJlYXMoYXJlYXMpO1xuXG4gICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBudWxsLFxuICAgICAgICBwb2ludHMsXG4gICAgICAgIHV0aWxpdHlEaXJlY3RzLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgIHRydWUsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBmb2N1c01hcChvYmplY3QsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIH0sIFt3d3RwX2Rhc2hib2FyZC5tYXBdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGlmICghUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSB8fCAhd3d0cF9kYXNoYm9hcmQubWFwKSByZXR1cm47XG5cbiAgaWYgKCFpc01hcFRhYikgcmV0dXJuIDw+PC8+O1xuICBpZiAoIWRhdGFFeGlzdHMoKSB8fCAhcG9pbnRzIHx8ICFhcmVhcykgcmV0dXJuIDxMb2FkZXIgLz47XG5cbiAgcmV0dXJuIChcbiAgICA8U2VsZWN0ZWRJdGVtUHJvdmlkZXI+XG4gICAgICA8Q29udGFpbmVyIHsuLi5wcm9wc30+XG4gICAgICAgIDxSb3cgY2xhc3NOYW1lPVwibm8tZ3V0dGVyc1wiPlxuICAgICAgICAgIDxDb2wgeHM9XCJhdXRvXCIgc209ezR9IGNsYXNzTmFtZT1cImQtbm9uZSBkLXNtLWZsZXhcIj5cbiAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgV1dUUEluZm89e1dXVFBJbmZvfVxuICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgY2xhc3NOYW1lPVwibWFwLWNvbHVtblwiIHhzPXsxMn0gc209ezh9PlxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAgICAgICBmb3JXV1RQRGFzaGJvYXJkPXt0cnVlfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17UmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDB2dztcblxuICAubWFwLWNvbHVtbiB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjVweCk7XG4gICAgfVxuXG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgKixcbiAgICAgICo6Zm9jdXMsXG4gICAgICAqOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiB4LWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEs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
@@ -77,7 +77,7 @@ var EventsMapContainer = function EventsMapContainer(props) {
77
77
  var mappedPoints = (0, _react.useMemo)(function () {
78
78
  return points_data.items.map(function (point) {
79
79
  var newPoint = (0, _objectSpread2.default)({}, point);
80
- if (!EventsPerSite[point.id] || (0, _EventUtils.isCollectorUnmonitored)(point)) {
80
+ if (EventsPerSite === undefined || !EventsPerSite[point.id] || (0, _EventUtils.isCollectorUnmonitored)(point)) {
81
81
  newPoint.hide = true;
82
82
  }
83
83
  if (events_data.focusedEvent) {
@@ -93,7 +93,7 @@ var EventsMapContainer = function EventsMapContainer(props) {
93
93
  newPoint.hide = false;
94
94
  }
95
95
  }
96
- newPoint.relatedEventsAmount = EventsPerSite[point.id] || 0;
96
+ newPoint.relatedEventsAmount = EventsPerSite ? EventsPerSite[point.id] : 0;
97
97
  newPoint.eventsViewHovered = true;
98
98
  return newPoint;
99
99
  });
@@ -147,4 +147,4 @@ var EventsMapContainer = function EventsMapContainer(props) {
147
147
  }));
148
148
  };
149
149
  exports.EventsMapContainer = EventsMapContainer;
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzIiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfYWN0aW9uczMiLCJfTWFwIiwiX0Zsb2F0aW5nR3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0dyYXBoVXRpbHMiLCJfYWN0aW9uczQiLCJfRHJhZ0FuZERyb3BBcmVhIiwiX0V2ZW50VXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkV2ZW50c01hcENvbnRhaW5lciIsInByb3BzIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nMiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZXZlbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQiLCJ1c2VNZW1vIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlciIsImZpbHRlcl9pdGVtcyIsImxlbmd0aCIsImluZGV4IiwidHlwZSIsIm1hcHBlZEFyZWFzIiwiYXJlYXNNYXBwZXIiLCJnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpMiIsIml0ZW1zIiwiYWN0aXZlVGltZUZpbHRlciIsInNlbGVjdGVkX29wdGlvbnMiLCJFdmVudHNQZXJTaXRlIiwiQ291bnRFdmVudHNQZXJTaXRlSUQiLCJNdXN0U2VlblNpdGVzIiwiZm9jdXNlZEV2ZW50IiwiZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyIsImhvdmVyZWRFdmVudCIsIm1hcHBlZFBvaW50cyIsIm1hcCIsInBvaW50IiwibmV3UG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsImlkIiwiaXNDb2xsZWN0b3JVbm1vbml0b3JlZCIsImhpZGUiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZXZlbnRzVmlld0hvdmVyZWQiLCJtYXBwZWRFZGdlcyIsImZpbHRlciIsImVkZ2UiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyIsImFyZWFUb0NlbnRlckJ5IiwiZ2V0QXJlYXNUb0NlbnRlckJ5IiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJjcmVhdGVFbGVtZW50IiwiTWFwIiwiYXNzaWduIiwiYXJlYXMiLCJwb2ludHMiLCJlZGdlcyIsImV2ZW50cyIsImhpZGVFZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMiLCJmb3JFdmVudHNWaWV3IiwiZm9jdXNlZEV2ZW50UGF0aCIsImZvY3VzZWRFdmVudFBhdGhzIiwiZmxvYXRpbmdHcmFwaCIsImlzT3BlbiIsIm9wZW4iLCJjdXN0b21IaWdoQ2hhcnRPcHRpb25zIiwiZG5kR3JhcGhJbml0T3B0aW9ucyIsImNsb3NlR3JhcGhIYW5kbGVyIiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwiZ2xvYmFsRGF0YUZsb2F0aW5nR3JhcGgiLCJldmVudF9kYXRhIiwiZ3JhcGhJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNNYXBDb250YWluZXIvRXZlbnRzTWFwQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgYXJlYXNNYXBwZXIsXG4gIENvdW50RXZlbnRzUGVyU2l0ZUlELFxuICBnZXRBcmVhc1RvQ2VudGVyQnksXG4gIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMsXG59IGZyb20gJ3NyYy9wYWdlcy9FdmVudHNQYWdlL0V2ZW50c01hcENvbnRhaW5lci9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgRmxvYXRpbmdHcmFwaCBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9GbG9hdGluZ0dyYXBoL0Zsb2F0aW5nR3JhcGgnO1xuaW1wb3J0IHsgZG5kR3JhcGhJbml0T3B0aW9ucyB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9HcmFwaFV0aWxzJztcbmltcG9ydCB7IGNsb3NlRmxvYXRpbmdHcmFwaCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgRHJhZ0FuZERyb3BBcmVhIGZyb20gJy4uL0RyYWdBbmREcm9wQXJlYSc7XG5pbXBvcnQgeyBpc0NvbGxlY3RvclVubW9uaXRvcmVkIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFV0aWxzJztcbmludGVyZmFjZSBFdmVudHNNYXBDb250YWluZXJQcm9wcyB7XG4gIHNob3dTZWNvbmRNYXA6IGJvb2xlYW47XG59XG5leHBvcnQgY29uc3QgRXZlbnRzTWFwQ29udGFpbmVyOiBSZWFjdC5GQzxFdmVudHNNYXBDb250YWluZXJQcm9wcz4gPSAoXG4gIHByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZXZlbnRzX2RhdGEsIGVkZ2VzX2RhdGEgfSA9XG4gICAgUmVkdXhTdGF0ZTtcblxuICBjb25zdCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG5cbiAgICBpZiAoIWZpbHRlcnMgfHwgZmlsdGVycy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmlsdGVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChmaWx0ZXJzW2luZGV4XS50eXBlID09PSAnVGltZUZpbHRlckl0ZW0nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSwgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXJdKTtcblxuICBjb25zdCBtYXBwZWRBcmVhcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlYXNNYXBwZXIoYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQpLFxuICAgIFthcmVhc19kYXRhLCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCA9ICgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IGdsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXI/LmZpbHRlcl9pdGVtcztcbiAgICBsZXQgYWN0aXZlVGltZUZpbHRlciA9ICcxbSc7XG5cbiAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBhY3RpdmVUaW1lRmlsdGVyO1xuICAgIH1cblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChpdGVtc1tpbmRleF0udHlwZSA9PT0gJ1RpbWVGaWx0ZXJJdGVtJykge1xuICAgICAgICBhY3RpdmVUaW1lRmlsdGVyID0gaXRlbXNbaW5kZXhdLnNlbGVjdGVkX29wdGlvbnNbMF07XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWN0aXZlVGltZUZpbHRlcjtcbiAgfTtcblxuICBjb25zdCBFdmVudHNQZXJTaXRlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBDb3VudEV2ZW50c1BlclNpdGVJRChldmVudHNfZGF0YS5pdGVtcyksXG4gICAgW2V2ZW50c19kYXRhLml0ZW1zXSxcbiAgKTtcblxuICBjb25zdCBNdXN0U2VlblNpdGVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCkge1xuICAgICAgcmV0dXJuIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMoZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCkge1xuICAgICAgcmV0dXJuIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMoZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9LCBbRXZlbnRzUGVyU2l0ZSwgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LCBldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBtYXBwZWRQb2ludHMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5tYXAoKHBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1BvaW50ID0geyAuLi5wb2ludCB9O1xuXG4gICAgICAgIGlmICghRXZlbnRzUGVyU2l0ZVtwb2ludC5pZF0gfHwgaXNDb2xsZWN0b3JVbm1vbml0b3JlZChwb2ludCkpIHtcbiAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQpIHtcbiAgICAgICAgICBpZiAoIU11c3RTZWVuU2l0ZXNbcG9pbnQuaWRdKSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnQpIHtcbiAgICAgICAgICBpZiAoIU11c3RTZWVuU2l0ZXNbcG9pbnQuaWRdICYmIGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpKSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5ld1BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQgPSBFdmVudHNQZXJTaXRlW3BvaW50LmlkXSB8fCAwO1xuICAgICAgICBuZXdQb2ludC5ldmVudHNWaWV3SG92ZXJlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBuZXdQb2ludDtcbiAgICAgIH0pLFxuICAgIFtcbiAgICAgIHBvaW50c19kYXRhLFxuICAgICAgRXZlbnRzUGVyU2l0ZSxcbiAgICAgIGV2ZW50c19kYXRhLml0ZW1zLFxuICAgICAgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LFxuICAgICAgZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50LFxuICAgIF0sXG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGNvbnN0IG1hcHBlZEVkZ2VzID0gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+XG4gICAgICAvLyAoTnVtYmVyKEV2ZW50c1BlclNpdGVbZWRnZS5zb3VyY2VfcG9pbnRfaWRdKSA+IDAgfHxcbiAgICAgIC8vIE51bWJlcihFdmVudHNQZXJTaXRlW2VkZ2UudGFyZ2V0X3BvaW50X2lkXSkgPiAwKVxuICAgICAgLy8gICYmXG4gICAgICBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UgPT09IHRydWUgfHxcbiAgICAgIGVkZ2UuZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyA9PT0gdHJ1ZSxcbiAgKTtcblxuICBjb25zdCBhcmVhVG9DZW50ZXJCeSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZ2V0QXJlYXNUb0NlbnRlckJ5KGdsb2JhbF9kYXRhLCBtYXBwZWRBcmVhcyksXG4gICAgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXIsIG1hcHBlZEFyZWFzXSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKFxuICAgICAgICBmZXRjaEFyZWFzKFxuICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICAgICAgICAgZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCgpLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPE1hcFxuICAgICAgey4uLlJlZHV4U3RhdGV9XG4gICAgICBhcmVhcz17bWFwcGVkQXJlYXN9XG4gICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICBwb2ludHM9e21hcHBlZFBvaW50c31cbiAgICAgIGVkZ2VzPXttYXBwZWRFZGdlc31cbiAgICAgIGV2ZW50cz17ZXZlbnRzX2RhdGEuaXRlbXN9XG4gICAgICBmb2N1c2VkRXZlbnQ9e2V2ZW50c19kYXRhLmZvY3VzZWRFdmVudH1cbiAgICAgIGhvdmVyZWRFdmVudD17ZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50fVxuICAgICAgYXJlYVRvQ2VudGVyQnk9e2FyZWFUb0NlbnRlckJ5fVxuICAgICAgaGlkZUVkZ2VzPXt0cnVlfVxuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtmYWxzZX1cbiAgICAgIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM9e3RydWV9XG4gICAgICBmb3JFdmVudHNWaWV3PXt0cnVlfVxuICAgICAgey4uLnByb3BzfVxuICAgID5cbiAgICAgIHtcbiAgICAgICAgPERyYWdBbmREcm9wQXJlYSBmb2N1c2VkRXZlbnRQYXRoPXtldmVudHNfZGF0YT8uZm9jdXNlZEV2ZW50UGF0aHN9PlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICBmbG9hdGluZ0dyYXBoOiAoXG4gICAgICAgICAgICAgIDxGbG9hdGluZ0dyYXBoXG4gICAgICAgICAgICAgICAgaXNPcGVuPXtnbG9iYWxfZGF0YT8uZmxvYXRpbmdHcmFwaC5vcGVufVxuICAgICAgICAgICAgICAgIGN1c3RvbUhpZ2hDaGFydE9wdGlvbnM9e2RuZEdyYXBoSW5pdE9wdGlvbnN9XG4gICAgICAgICAgICAgICAgY2xvc2VHcmFwaEhhbmRsZXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKGNsb3NlRmxvYXRpbmdHcmFwaCgpKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGdsb2JhbERhdGFGbG9hdGluZ0dyYXBoPXtnbG9iYWxfZGF0YS5mbG9hdGluZ0dyYXBofVxuICAgICAgICAgICAgICAgIGV2ZW50X2RhdGE9e2V2ZW50c19kYXRhPy5mb2N1c2VkRXZlbnR9XG4gICAgICAgICAgICAgICAgZ3JhcGhJZD17Z2xvYmFsX2RhdGE/LmZsb2F0aW5nR3JhcGg/LnBvaW50Py5pZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9EcmFnQW5kRHJvcEFyZWE+XG4gICAgICB9XG4gICAgPC9NYXA+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSwwQkFBQSxHQUFBRixPQUFBO0FBTUEsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sSUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sY0FBQSxHQUFBQyxzQkFBQSxDQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsU0FBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsZ0JBQUEsR0FBQUgsc0JBQUEsQ0FBQVIsT0FBQTtBQUNBLElBQUFZLFdBQUEsR0FBQVosT0FBQTtBQUEyRSxTQUFBYSx5QkFBQUMsV0FBQSxlQUFBQyxP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
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzIiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfYWN0aW9uczMiLCJfTWFwIiwiX0Zsb2F0aW5nR3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0dyYXBoVXRpbHMiLCJfYWN0aW9uczQiLCJfRHJhZ0FuZERyb3BBcmVhIiwiX0V2ZW50VXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkV2ZW50c01hcENvbnRhaW5lciIsInByb3BzIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nMiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZXZlbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQiLCJ1c2VNZW1vIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlciIsImZpbHRlcl9pdGVtcyIsImxlbmd0aCIsImluZGV4IiwidHlwZSIsIm1hcHBlZEFyZWFzIiwiYXJlYXNNYXBwZXIiLCJnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpMiIsIml0ZW1zIiwiYWN0aXZlVGltZUZpbHRlciIsInNlbGVjdGVkX29wdGlvbnMiLCJFdmVudHNQZXJTaXRlIiwiQ291bnRFdmVudHNQZXJTaXRlSUQiLCJNdXN0U2VlblNpdGVzIiwiZm9jdXNlZEV2ZW50IiwiZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyIsImhvdmVyZWRFdmVudCIsIm1hcHBlZFBvaW50cyIsIm1hcCIsInBvaW50IiwibmV3UG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsInVuZGVmaW5lZCIsImlkIiwiaXNDb2xsZWN0b3JVbm1vbml0b3JlZCIsImhpZGUiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZXZlbnRzVmlld0hvdmVyZWQiLCJtYXBwZWRFZGdlcyIsImZpbHRlciIsImVkZ2UiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyIsImFyZWFUb0NlbnRlckJ5IiwiZ2V0QXJlYXNUb0NlbnRlckJ5IiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJjcmVhdGVFbGVtZW50IiwiTWFwIiwiYXNzaWduIiwiYXJlYXMiLCJwb2ludHMiLCJlZGdlcyIsImV2ZW50cyIsImhpZGVFZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMiLCJmb3JFdmVudHNWaWV3IiwiZm9jdXNlZEV2ZW50UGF0aCIsImZvY3VzZWRFdmVudFBhdGhzIiwiZmxvYXRpbmdHcmFwaCIsImlzT3BlbiIsIm9wZW4iLCJjdXN0b21IaWdoQ2hhcnRPcHRpb25zIiwiZG5kR3JhcGhJbml0T3B0aW9ucyIsImNsb3NlR3JhcGhIYW5kbGVyIiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwiZ2xvYmFsRGF0YUZsb2F0aW5nR3JhcGgiLCJldmVudF9kYXRhIiwiZ3JhcGhJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNNYXBDb250YWluZXIvRXZlbnRzTWFwQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgYXJlYXNNYXBwZXIsXG4gIENvdW50RXZlbnRzUGVyU2l0ZUlELFxuICBnZXRBcmVhc1RvQ2VudGVyQnksXG4gIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMsXG59IGZyb20gJ3NyYy9wYWdlcy9FdmVudHNQYWdlL0V2ZW50c01hcENvbnRhaW5lci9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgRmxvYXRpbmdHcmFwaCBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9GbG9hdGluZ0dyYXBoL0Zsb2F0aW5nR3JhcGgnO1xuaW1wb3J0IHsgZG5kR3JhcGhJbml0T3B0aW9ucyB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9HcmFwaFV0aWxzJztcbmltcG9ydCB7IGNsb3NlRmxvYXRpbmdHcmFwaCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgRHJhZ0FuZERyb3BBcmVhIGZyb20gJy4uL0RyYWdBbmREcm9wQXJlYSc7XG5pbXBvcnQgeyBpc0NvbGxlY3RvclVubW9uaXRvcmVkIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFV0aWxzJztcbmludGVyZmFjZSBFdmVudHNNYXBDb250YWluZXJQcm9wcyB7XG4gIHNob3dTZWNvbmRNYXA6IGJvb2xlYW47XG59XG5leHBvcnQgY29uc3QgRXZlbnRzTWFwQ29udGFpbmVyOiBSZWFjdC5GQzxFdmVudHNNYXBDb250YWluZXJQcm9wcz4gPSAoXG4gIHByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZXZlbnRzX2RhdGEsIGVkZ2VzX2RhdGEgfSA9XG4gICAgUmVkdXhTdGF0ZTtcblxuICBjb25zdCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG5cbiAgICBpZiAoIWZpbHRlcnMgfHwgZmlsdGVycy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmlsdGVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChmaWx0ZXJzW2luZGV4XS50eXBlID09PSAnVGltZUZpbHRlckl0ZW0nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSwgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXJdKTtcblxuICBjb25zdCBtYXBwZWRBcmVhcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlYXNNYXBwZXIoYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQpLFxuICAgIFthcmVhc19kYXRhLCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCA9ICgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IGdsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXI/LmZpbHRlcl9pdGVtcztcbiAgICBsZXQgYWN0aXZlVGltZUZpbHRlciA9ICcxbSc7XG5cbiAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBhY3RpdmVUaW1lRmlsdGVyO1xuICAgIH1cblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChpdGVtc1tpbmRleF0udHlwZSA9PT0gJ1RpbWVGaWx0ZXJJdGVtJykge1xuICAgICAgICBhY3RpdmVUaW1lRmlsdGVyID0gaXRlbXNbaW5kZXhdLnNlbGVjdGVkX29wdGlvbnNbMF07XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWN0aXZlVGltZUZpbHRlcjtcbiAgfTtcblxuICBjb25zdCBFdmVudHNQZXJTaXRlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBDb3VudEV2ZW50c1BlclNpdGVJRChldmVudHNfZGF0YS5pdGVtcyksXG4gICAgW2V2ZW50c19kYXRhLml0ZW1zXSxcbiAgKTtcblxuICBjb25zdCBNdXN0U2VlblNpdGVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCkge1xuICAgICAgcmV0dXJuIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMoZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCkge1xuICAgICAgcmV0dXJuIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMoZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9LCBbRXZlbnRzUGVyU2l0ZSwgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LCBldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBtYXBwZWRQb2ludHMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5tYXAoKHBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1BvaW50ID0geyAuLi5wb2ludCB9O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBFdmVudHNQZXJTaXRlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAhRXZlbnRzUGVyU2l0ZVtwb2ludC5pZF0gfHxcbiAgICAgICAgICBpc0NvbGxlY3RvclVubW9uaXRvcmVkKHBvaW50KVxuICAgICAgICApIHtcbiAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQpIHtcbiAgICAgICAgICBpZiAoIU11c3RTZWVuU2l0ZXNbcG9pbnQuaWRdKSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnQpIHtcbiAgICAgICAgICBpZiAoIU11c3RTZWVuU2l0ZXNbcG9pbnQuaWRdICYmIGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpKSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5ld1BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQgPSBFdmVudHNQZXJTaXRlXG4gICAgICAgICAgPyBFdmVudHNQZXJTaXRlW3BvaW50LmlkXVxuICAgICAgICAgIDogMDtcbiAgICAgICAgbmV3UG9pbnQuZXZlbnRzVmlld0hvdmVyZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbmV3UG9pbnQ7XG4gICAgICB9KSxcbiAgICBbXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIEV2ZW50c1BlclNpdGUsXG4gICAgICBldmVudHNfZGF0YS5pdGVtcyxcbiAgICAgIGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCxcbiAgICAgIGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCxcbiAgICBdLFxuICApO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBjb25zdCBtYXBwZWRFZGdlcyA9IGVkZ2VzX2RhdGEuaXRlbXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PlxuICAgICAgLy8gKE51bWJlcihFdmVudHNQZXJTaXRlW2VkZ2Uuc291cmNlX3BvaW50X2lkXSkgPiAwIHx8XG4gICAgICAvLyBOdW1iZXIoRXZlbnRzUGVyU2l0ZVtlZGdlLnRhcmdldF9wb2ludF9pZF0pID4gMClcbiAgICAgIC8vICAmJlxuICAgICAgZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlID09PSB0cnVlIHx8XG4gICAgICBlZGdlLmRlc2NlbmRhbnRzX2hhc19ub25lX2NvbGxlY3RvcnMgPT09IHRydWUsXG4gICk7XG5cbiAgY29uc3QgYXJlYVRvQ2VudGVyQnkgPSB1c2VNZW1vKFxuICAgICgpID0+IGdldEFyZWFzVG9DZW50ZXJCeShnbG9iYWxfZGF0YSwgbWFwcGVkQXJlYXMpLFxuICAgIFtnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyLCBtYXBwZWRBcmVhc10sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAgICAgZGlzcGF0Y2goZmV0Y2hQb2ludHMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gICAgICBkaXNwYXRjaChcbiAgICAgICAgZmV0Y2hBcmVhcyhcbiAgICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICAgICAgICAgIGdldEFjdGl2ZVRpbWVGaWx0ZXJQZXJpb2QoKSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxNYXBcbiAgICAgIHsuLi5SZWR1eFN0YXRlfVxuICAgICAgYXJlYXM9e21hcHBlZEFyZWFzfVxuICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgcG9pbnRzPXttYXBwZWRQb2ludHN9XG4gICAgICBlZGdlcz17bWFwcGVkRWRnZXN9XG4gICAgICBldmVudHM9e2V2ZW50c19kYXRhLml0ZW1zfVxuICAgICAgZm9jdXNlZEV2ZW50PXtldmVudHNfZGF0YS5mb2N1c2VkRXZlbnR9XG4gICAgICBob3ZlcmVkRXZlbnQ9e2V2ZW50c19kYXRhLmhvdmVyZWRFdmVudH1cbiAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhVG9DZW50ZXJCeX1cbiAgICAgIGhpZGVFZGdlcz17dHJ1ZX1cbiAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17ZmFsc2V9XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzPXt0cnVlfVxuICAgICAgZm9yRXZlbnRzVmlldz17dHJ1ZX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7XG4gICAgICAgIDxEcmFnQW5kRHJvcEFyZWEgZm9jdXNlZEV2ZW50UGF0aD17ZXZlbnRzX2RhdGE/LmZvY3VzZWRFdmVudFBhdGhzfT5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgZmxvYXRpbmdHcmFwaDogKFxuICAgICAgICAgICAgICA8RmxvYXRpbmdHcmFwaFxuICAgICAgICAgICAgICAgIGlzT3Blbj17Z2xvYmFsX2RhdGE/LmZsb2F0aW5nR3JhcGgub3Blbn1cbiAgICAgICAgICAgICAgICBjdXN0b21IaWdoQ2hhcnRPcHRpb25zPXtkbmRHcmFwaEluaXRPcHRpb25zfVxuICAgICAgICAgICAgICAgIGNsb3NlR3JhcGhIYW5kbGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBnbG9iYWxEYXRhRmxvYXRpbmdHcmFwaD17Z2xvYmFsX2RhdGEuZmxvYXRpbmdHcmFwaH1cbiAgICAgICAgICAgICAgICBldmVudF9kYXRhPXtldmVudHNfZGF0YT8uZm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgICAgIGdyYXBoSWQ9e2dsb2JhbF9kYXRhPy5mbG9hdGluZ0dyYXBoPy5wb2ludD8uaWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgIH19XG4gICAgICAgIDwvRHJhZ0FuZERyb3BBcmVhPlxuICAgICAgfVxuICAgIDwvTWFwPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsMEJBQUEsR0FBQUYsT0FBQTtBQU1BLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLElBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQVIsT0FBQTtBQUNBLElBQUFTLFdBQUEsR0FBQVQsT0FBQTtB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kando-env/kando-ui",
3
- "version": "1.2.356",
3
+ "version": "1.2.357-alpha.0",
4
4
  "main": "lib/index.js",
5
5
  "author": "Nadav(Private) <nadavk72@gmail.com>",
6
6
  "scripts": {