@kando-env/kando-ui 1.2.303-alpha.3 → 1.2.304

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/lib/Widgets/Map/Map.js +4 -10
  2. package/lib/Widgets/Map/Map.scss +0 -12
  3. package/lib/Widgets/Map/MapUtils.js +2 -2
  4. package/lib/Widgets/Map/areas/AreaPolygon.js +22 -13
  5. package/lib/Widgets/Map/areas/AreaPolygons.js +3 -8
  6. package/lib/Widgets/Map/areas/AreaUtils.js +31 -56
  7. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +14 -11
  8. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +2 -2
  9. package/lib/hooks/useMap.js +2 -2
  10. package/lib/i18n/en.json +1 -1
  11. package/lib/i18n/he.json +2 -1
  12. package/lib/index.js +1 -1
  13. package/lib/macros/getVersion.js +2 -2
  14. package/lib/pages/AssessmentPage/AssessmentPage.js +2 -2
  15. package/lib/pages/DashboardMap/AreaCard.js +24 -31
  16. package/lib/pages/DashboardMap/FactoryCard.js +12 -32
  17. package/lib/pages/DashboardMap/List.js +2 -2
  18. package/lib/pages/DashboardMap/WWTPMap.js +5 -6
  19. package/lib/pages/DashboardMap/Widget.js +24 -12
  20. package/lib/pages/EventsPage/DragAndDropArea/DragAndDrop.module.scss +0 -1
  21. package/lib/pages/WbeDashboard/WbeDashboardPage.js +4 -7
  22. package/lib/pages/WwtpPage/DischargePatternCard.js +1 -1
  23. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +2 -3
  24. package/lib/store/events/models/IEvent.js +1 -1
  25. package/lib/store/points/models/IPoint.js +1 -1
  26. package/lib/styles/theme/theme.js +2 -4
  27. package/lib/utilities/scoreToData.js +4 -4
  28. package/package.json +5 -6
  29. package/lib/Widgets/Map/areas/Patterns.js +0 -28
  30. package/lib/pages/DashboardMap/SeverityBadge.js +0 -43
  31. package/lib/pages/DashboardMap/svgs/icon_assessment.svg +0 -22
  32. package/lib/pages/DashboardMap/svgs/icon_monitored.svg +0 -4
  33. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +0 -27
@@ -9,7 +9,6 @@ exports.Map = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
10
  var L = _interopRequireWildcard(require("leaflet"));
11
11
  require("leaflet.markercluster");
12
- require("leaflet.pattern");
13
12
  var _react = _interopRequireWildcard(require("react"));
14
13
  var _reactRedux = require("react-redux");
15
14
  var _actions = require("store/global/actions");
@@ -95,10 +94,6 @@ var Map = function Map(_ref) {
95
94
  _useState8 = (0, _slicedToArray2.default)(_useState7, 1),
96
95
  collectorsLayerGroup = _useState8[0];
97
96
  //const [factoriesLayerGroup] = useState(L.layerGroup());
98
- var _useState9 = (0, _react.useState)(new L.FeatureGroup()),
99
- _useState10 = (0, _slicedToArray2.default)(_useState9, 1),
100
- areasLayerGroup = _useState10[0];
101
- var pattern = ''; // = new L.StripePattern({});
102
97
 
103
98
  var memoizedPoints = (0, _react.useMemo)(function () {
104
99
  return !eventsData.isFetching && mapRef.current !== null && /*#__PURE__*/_react.default.createElement(_PointMarkers.PointMarkers, {
@@ -174,7 +169,7 @@ var Map = function Map(_ref) {
174
169
  };
175
170
  }, [focusedEvent, hoveredEvent, global_data.eventFilterParam]);
176
171
  (0, _react.useEffect)(function () {
177
- (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard, pattern);
172
+ (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard);
178
173
  return function cleanup() {
179
174
  var _mapRef$current2, _mapRef$current3, _mapRef$current4;
180
175
  factoriesClusterGroup.clearLayers();
@@ -190,7 +185,7 @@ var Map = function Map(_ref) {
190
185
  }, [global_data.waterAuthorityId]);
191
186
  (0, _react.useEffect)(function () {
192
187
  if (!mapRef.current) {
193
- (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard, pattern);
188
+ (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard);
194
189
  } else {
195
190
  (0, _MapUtils.areaFocusLogic)(mapRef, _MapUtils.isValidArea, areaToCenterBy ? areaToCenterBy : areas[0]);
196
191
  }
@@ -224,9 +219,8 @@ var Map = function Map(_ref) {
224
219
  areaToCenterBy: areaToCenterBy,
225
220
  mapZoom: mapZoomLevel,
226
221
  rerender: _MapUtils.zoomLevels[mapZoomLevel],
227
- global_data: global_data,
228
- featureGroup: areasLayerGroup
222
+ global_data: global_data
229
223
  }), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, memoizedZoomControl, children))));
230
224
  };
231
225
  exports.Map = Map;
232
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfYWN0aW9ucyIsIl9FcnJvckJvdW5kYXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BcmVhUG9seWdvbnMiLCJfRWRnZXMiLCJfUG9pbnRNYXJrZXJzIiwiX0V2ZW50IiwiX01hcFV0aWxzIiwiX3RoZW1lIiwiX2kxOG4iLCJfTGlzdENvbnRleHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk1hcCIsIl9yZWYiLCJhcmVhcyIsImVkZ2VzIiwicG9pbnRzIiwiZ2xvYmFsX2RhdGEiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsIl9yZWYkaGlkZUVkZ2VzIiwiaGlkZUVkZ2VzIiwiX3JlZiRtYXBCb3hTdHlsZSIsIm1hcEJveFN0eWxlIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJjaGlsZHJlbiIsIl9yZWYkaW5jbHVkZVVubW9uaXRvciIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsIl9yZWYkaW5jbHVkZVVubW9uaXRvcjIiLCJpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzIiwiX3JlZiRmb3JFdmVudHNWaWV3IiwiZm9yRXZlbnRzVmlldyIsIl9yZWYkc3R5bGUiLCJzdHlsZSIsIl9yZWYkZm9yV1dUUERhc2hib2FyZCIsImZvcldXVFBEYXNoYm9hcmQiLCJtYXAiLCJtYXBSZWYiLCJ1c2VSZWYiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsInNlbGVjdGVkSXRlbSIsImV2ZW50c0RhdGEiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidXNlTWVtbyIsInVuZGVmaW5lZCIsImZvY3VzZWRFdmVudFByZXNlbnQiLCJfdXNlU3RhdGUzIiwid2luZG93IiwiY3VzdG9tTGVhZmxldCIsIm1hcmtlckNsdXN0ZXJHcm91cCIsInNwaWRlcmZ5T25NYXhab29tIiwic2hvd0NvdmVyYWdlT25Ib3ZlciIsInpvb21Ub0JvdW5kc09uQ2xpY2siLCJhbmltYXRlIiwiZGlzYWJsZUNsdXN0ZXJpbmdBdFpvb20iLCJyZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kcyIsImNodW5rZWRMb2FkaW5nIiwiaWNvbkNyZWF0ZUZ1bmN0aW9uIiwiY2x1c3RlciIsIkRpdkljb24iLCJodG1sIiwiY29uY2F0IiwiX2NoaWxkQ291bnQiLCJpMThuIiwidCIsImNsYXNzTmFtZSIsImljb25TaXplIiwiUG9pbnQiLCJfdXNlU3RhdGU0IiwiZmFjdG9yaWVzQ2x1c3Rlckdyb3VwIiwiX3VzZVN0YXRlNSIsImxheWVyR3JvdXAiLCJfdXNlU3RhdGU2Iiwid3d0cHNMYXllckdyb3VwIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJjb2xsZWN0b3JzTGF5ZXJHcm91cCIsIl91c2VTdGF0ZTkiLCJGZWF0dXJlR3JvdXAiLCJfdXNlU3RhdGUxMCIsImFyZWFzTGF5ZXJHcm91cCIsInBhdHRlcm4iLCJtZW1vaXplZFBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsIlBvaW50TWFya2VycyIsInJlcmVuZGVyIiwiem9vbUxldmVscyIsImZhY3Rvcmllc0dyb3VwIiwid3d0cHNHcm91cCIsImNvbGxlY3RvcnNHcm91cCIsInpvb21SdWxlc0ZvckV2ZW50c1ZpZXciLCJwYXlsb2FkIiwiRnJhZ21lbnQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJ6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcyIsIm1lbW9pemVkWm9vbUNvbnRyb2wiLCJtZW1vaXplZEV2ZW50IiwiZm9jdXNlZCIsImhvdmVyZWQiLCJFdmVudCIsImV2ZW50IiwiaW5jbHVkZU5ldHdvcmsiLCJldmVudEZpbHRlclBhcmFtIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwicmVtb3ZlTGF5ZXIiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJfbWFwUmVmJGN1cnJlbnQyIiwiX21hcFJlZiRjdXJyZW50MyIsIl9tYXBSZWYkY3VycmVudDQiLCJyZW1vdmUiLCJzdG9yZU1hcCIsIndhdGVyQXV0aG9yaXR5SWQiLCJhcmVhRm9jdXNMb2dpYyIsIl9tYXBSZWYkY3VycmVudDUiLCJjbGlja2VkIiwiZWFjaExheWVyIiwibGF5ZXIiLCJrYW5kb19vYmplY3RfaWQiLCJpc1BvcHVwT3BlbiIsIk1hcmtlciIsImZpcmUiLCJQb2x5Z29uIiwic2lkZW5hdkV4cGFuZGVkIiwiaWQiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsIkFyZWFQb2x5Z29ucyIsIm1hcFpvb20iLCJmZWF0dXJlR3JvdXAiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCAqIGFzIEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ2xlYWZsZXQubWFya2VyY2x1c3Rlcic7XG5pbXBvcnQgJ2xlYWZsZXQucGF0dGVybic7XG5pbXBvcnQgUmVhY3QsIHtcbiAgQ1NTUHJvcGVydGllcyxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzdG9yZU1hcCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBBcmVhUG9seWdvbnMgfSBmcm9tICcuL2FyZWFzL0FyZWFQb2x5Z29ucyc7XG5pbXBvcnQgRWRnZXMgZnJvbSAnLi9lZGdlcy9FZGdlcyc7XG5pbXBvcnQgJy4vTWFwLnNjc3MnO1xuaW1wb3J0ICcuL3BvaW50cy9Qb2ludEljb24uc2Nzcyc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi9ldmVudHMvRXZlbnQnO1xuaW1wb3J0IHtcbiAgYXJlYUZvY3VzTG9naWMsXG4gIGluaXRpYWxpemVNYXAsXG4gIGlzVmFsaWRBcmVhLFxuICBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzLFxuICBzaG91bGRMb2FkTWFwT2JqZWN0cyxcbiAgem9vbUxldmVscyxcbn0gZnJvbSAnLi9NYXBVdGlscyc7XG5pbXBvcnQgeyBsZWFmbGV0TWFwIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHVzZVNlbGVjdGVkSXRlbSB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdENvbnRleHQnO1xucmVxdWlyZSgnbGVhZmxldC5tYXJrZXJjbHVzdGVyJyk7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBlZGdlcz86IElFZGdlW107XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogYW55O1xuICBzdHlsZT86IENTU1Byb3BlcnRpZXM7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xuICBmb3JFdmVudHNWaWV3OiBib29sZWFuO1xuICBmb3JXV1RQRGFzaGJvYXJkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE1hcDogUmVhY3QuRkM8TWFwUHJvcHM+ID0gKHtcbiAgYXJlYXMsXG4gIGVkZ2VzLFxuICBwb2ludHMsXG4gIGdsb2JhbF9kYXRhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgZm9jdXNlZEV2ZW50LFxuICBob3ZlcmVkRXZlbnQsXG4gIGhpZGVFZGdlcyA9IGZhbHNlLFxuICBtYXBCb3hTdHlsZSA9IGxlYWZsZXRNYXAubWFwRGVmYXVsdCxcbiAgY2hpbGRyZW4sXG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA9IHRydWUsXG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMgPSBmYWxzZSxcbiAgZm9yRXZlbnRzVmlldyA9IGZhbHNlLFxuICBzdHlsZSA9IHt9LFxuICBmb3JXV1RQRGFzaGJvYXJkID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIGNvbnN0IFtmYWN0b3JpZXNDbHVzdGVyR3JvdXBdID0gdXNlU3RhdGUoXG4gICAgd2luZG93LmN1c3RvbUxlYWZsZXQubWFya2VyQ2x1c3Rlckdyb3VwKHtcbiAgICAgIHNwaWRlcmZ5T25NYXhab29tOiBmYWxzZSxcbiAgICAgIHNob3dDb3ZlcmFnZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgem9vbVRvQm91bmRzT25DbGljazogdHJ1ZSxcbiAgICAgIGFuaW1hdGU6IHRydWUsXG4gICAgICBkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbTogMTUsXG4gICAgICByZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kczogZmFsc2UsXG4gICAgICBjaHVua2VkTG9hZGluZzogdHJ1ZSxcbiAgICAgIGljb25DcmVhdGVGdW5jdGlvbjogZnVuY3Rpb24gKGNsdXN0ZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMLkRpdkljb24oe1xuICAgICAgICAgIGh0bWw6IGA8ZGl2PjxzcGFuPiR7XG4gICAgICAgICAgICBjbHVzdGVyLl9jaGlsZENvdW50XG4gICAgICAgICAgfTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSdtYXJrZXItY2x1c3Rlci1uYW1lJz4ke2kxOG4udChcbiAgICAgICAgICAgICdpbmR1c3RyaWVzJyxcbiAgICAgICAgICApfTwvZGl2PmAsXG4gICAgICAgICAgY2xhc3NOYW1lOiAnbWFya2VyLWNsdXN0ZXInLFxuICAgICAgICAgIGljb25TaXplOiBuZXcgTC5Qb2ludCg0MCwgNDApLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSksXG4gICk7XG5cbiAgY29uc3QgW3d3dHBzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFtjb2xsZWN0b3JzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIC8vY29uc3QgW2ZhY3Rvcmllc0xheWVyR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbYXJlYXNMYXllckdyb3VwXSA9IHVzZVN0YXRlKG5ldyBMLkZlYXR1cmVHcm91cCgpKTtcbiAgY29uc3QgcGF0dGVybiA9ICcnOyAvLyA9IG5ldyBMLlN0cmlwZVBhdHRlcm4oe30pO1xuXG4gIGNvbnN0IG1lbW9pemVkUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICFldmVudHNEYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIChcbiAgICAgICAgPFBvaW50TWFya2Vyc1xuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtpbmNsdWRlVW5tb25pdG9yZWRQb2ludHN9XG4gICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICBmYWN0b3JpZXNHcm91cD17ZmFjdG9yaWVzQ2x1c3Rlckdyb3VwfVxuICAgICAgICAgIHd3dHBzR3JvdXA9e3d3dHBzTGF5ZXJHcm91cH1cbiAgICAgICAgICBjb2xsZWN0b3JzR3JvdXA9e2NvbGxlY3RvcnNMYXllckdyb3VwfVxuICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgICk7XG4gIH0sIFtcbiAgICBldmVudHNEYXRhLmlzRmV0Y2hpbmcsXG4gICAgbWFwUmVmLmN1cnJlbnQsXG4gICAgcG9pbnRzLFxuICAgIGZvY3VzZWRFdmVudFByZXNlbnQsXG4gICAgbWFwWm9vbUxldmVsLFxuICAgIGZhY3Rvcmllc0NsdXN0ZXJHcm91cCxcbiAgICB3d3Rwc0xheWVyR3JvdXAsXG4gICAgY29sbGVjdG9yc0xheWVyR3JvdXAsXG4gIF0pO1xuXG4gIC8vIGNvbnN0IGFjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAvLyAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIGljb25ab29tQ29udHJvbChtYXBSZWYuY3VycmVudCk7XG4gIC8vIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRXZlbnRzVmlldyA9ICgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gKFxuICAgICAgPD5cbiAgICAgICAgPEVkZ2VzXG4gICAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz17aW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlc31cbiAgICAgICAgLz5cbiAgICAgICAge21lbW9pemVkUG9pbnRzfVxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IHpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzID0gKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gPD48Lz47XG4gICAgc3dpdGNoICh6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0pIHtcbiAgICAgIGNhc2UgJ1NtYWxsJzpcbiAgICAgIGNhc2UgJ01lZGl1bSc6XG4gICAgICAgIHBheWxvYWQgPSB6b29tUnVsZXNGb3JFdmVudHNWaWV3KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTUxhcmdlJzpcbiAgICAgIGNhc2UgJ0xhcmdlJzpcbiAgICAgIGNhc2UgJ1hMYXJnZSc6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBwYXlsb2FkID0gPD57bWVtb2l6ZWRQb2ludHN9PC8+O1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCBtZW1vaXplZFpvb21Db250cm9sID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGZvckV2ZW50c1ZpZXdcbiAgICAgID8gem9vbVJ1bGVzRm9yRXZlbnRzVmlldygpXG4gICAgICA6IHpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzKCk7XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfSwgW21hcFpvb21MZXZlbCwgZXZlbnRzRGF0YS5pc0ZldGNoaW5nLCBmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCwgcG9pbnRzXSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRFdmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChmb2N1c2VkRXZlbnRQcmVzZW50KSB7XG4gICAgICBmb2N1c2VkRXZlbnQhLmZvY3VzZWQgPSBmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgICAgZm9jdXNlZEV2ZW50IS5ob3ZlcmVkID0gIWZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGhvdmVyZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGhvdmVyZWRFdmVudCEuaG92ZXJlZCA9IGhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgICBob3ZlcmVkRXZlbnQhLmZvY3VzZWQgPSAhaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoIWhvdmVyZWRFdmVudFByZXNlbnQgJiYgIWZvY3VzZWRFdmVudFByZXNlbnQpIHJldHVybiA8PjwvPjtcbiAgICByZXR1cm4gKFxuICAgICAgPEV2ZW50XG4gICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnQhIHx8IGhvdmVyZWRFdmVudCF9XG4gICAgICAgIG1hcD17bWFwfVxuICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgIGluY2x1ZGVOZXR3b3JrPXshaG92ZXJlZEV2ZW50UHJlc2VudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAgIH07XG4gIH0sIFtmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZU1hcChcbiAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgbGVhZmxldE1hcC5zYXRlbGxpdGUsXG4gICAgICBtYXBSZWYsXG4gICAgICBkaXNwYXRjaCxcbiAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICBmb3JXV1RQRGFzaGJvYXJkLFxuICAgICAgcGF0dGVybixcbiAgICApO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBmYWN0b3JpZXNDbHVzdGVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIHd3dHBzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgY29sbGVjdG9yc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihmYWN0b3JpZXNDbHVzdGVyR3JvdXApO1xuICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKHd3dHBzTGF5ZXJHcm91cCk7XG4gICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlKCk7XG4gICAgICBkaXNwYXRjaChzdG9yZU1hcCh1bmRlZmluZWQpKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgaW5pdGlhbGl6ZU1hcChcbiAgICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgICBtYXBCb3hTdHlsZSxcbiAgICAgICAgbGVhZmxldE1hcC5zYXRlbGxpdGUsXG4gICAgICAgIG1hcFJlZixcbiAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgICAgc2V0TWFwWm9vbUxldmVsLFxuICAgICAgICBmb3JXV1RQRGFzaGJvYXJkLFxuICAgICAgICBwYXR0ZXJuLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXJlYUZvY3VzTG9naWMoXG4gICAgICAgIG1hcFJlZixcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5ID8gYXJlYVRvQ2VudGVyQnkgOiBhcmVhc1swXSxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbYXJlYVRvQ2VudGVyQnksIGFyZWFzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY2xpY2tlZCA9IGZhbHNlO1xuXG4gICAgbWFwUmVmLmN1cnJlbnQ/LmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgIGlmIChjbGlja2VkKSByZXR1cm47XG5cbiAgICAgIGlmIChcbiAgICAgICAgbGF5ZXI/LmthbmRvX29iamVjdF9pZCA9PT0gc2VsZWN0ZWRJdGVtICYmXG4gICAgICAgIGxheWVyLmlzUG9wdXBPcGVuKCkgPT09IGZhbHNlXG4gICAgICApIHtcbiAgICAgICAgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5NYXJrZXIpIHtcbiAgICAgICAgICBsYXllci5maXJlKCdjbGljaycpO1xuICAgICAgICB9IGVsc2UgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5Qb2x5Z29uKSB7XG4gICAgICAgICAgbGF5ZXIuZmlyZSgnY2xpY2stZXZlbnQnKTtcbiAgICAgICAgfVxuICAgICAgICBjbGlja2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW3NlbGVjdGVkSXRlbV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJrZC1tYXAtY29udGFpbmVyXCIgc3R5bGU9e3N0eWxlfT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtgIG1hcC1jb250YWluZXIgJHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS5zaWRlbmF2RXhwYW5kZWQgPyAnJyA6ICdtYXAtY29udGFpbmVyLS1zaWRlbmF2LWNvbGxhcHNlZCdcbiAgICAgICAgfWB9XG4gICAgICA+XG4gICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgIDxkaXYgaWQ9XCJtYXBcIj48L2Rpdj5cbiAgICAgICAgICB7c2hvdWxkTG9hZE1hcE9iamVjdHMoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgZWRnZXMsIHBvaW50cykgJiYgKFxuICAgICAgICAgICAgPEFyZWFQb2x5Z29uc1xuICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhVG9DZW50ZXJCeX1cbiAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICByZXJlbmRlcj17em9vbUxldmVsc1ttYXBab29tTGV2ZWxdfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGZlYXR1cmVHcm91cD17YXJlYXNMYXllckdyb3VwfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKFxuICAgICAgICAgICAgZWRnZXMsXG4gICAgICAgICAgICBhcmVhcyxcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLFxuICAgICAgICAgICAgbWFwUmVmLFxuICAgICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgICkgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge21lbW9pemVkRXZlbnR9XG4gICAgICAgICAgICAgIHttZW1vaXplZFpvb21Db250cm9sfVxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLElBQUFBLENBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFPQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFJQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFHQSxJQUFBSSxjQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBTSxhQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxNQUFBLEdBQUFGLHNCQUFBLENBQUFMLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQVEsYUFBQSxHQUFBUixPQUFBO0FBRUEsSUFBQVMsTUFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsU0FBQSxHQUFBVixPQUFBO0FBUUEsSUFBQVcsTUFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksS0FBQSxHQUFBUCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQWEsWUFBQSxHQUFBYixPQUFBO0FBQXFFLFNBQUFjLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlC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
226
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfYWN0aW9ucyIsIl9FcnJvckJvdW5kYXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BcmVhUG9seWdvbnMiLCJfRWRnZXMiLCJfUG9pbnRNYXJrZXJzIiwiX0V2ZW50IiwiX01hcFV0aWxzIiwiX3RoZW1lIiwiX2kxOG4iLCJfTGlzdENvbnRleHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk1hcCIsIl9yZWYiLCJhcmVhcyIsImVkZ2VzIiwicG9pbnRzIiwiZ2xvYmFsX2RhdGEiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsIl9yZWYkaGlkZUVkZ2VzIiwiaGlkZUVkZ2VzIiwiX3JlZiRtYXBCb3hTdHlsZSIsIm1hcEJveFN0eWxlIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJjaGlsZHJlbiIsIl9yZWYkaW5jbHVkZVVubW9uaXRvciIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsIl9yZWYkaW5jbHVkZVVubW9uaXRvcjIiLCJpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzIiwiX3JlZiRmb3JFdmVudHNWaWV3IiwiZm9yRXZlbnRzVmlldyIsIl9yZWYkc3R5bGUiLCJzdHlsZSIsIl9yZWYkZm9yV1dUUERhc2hib2FyZCIsImZvcldXVFBEYXNoYm9hcmQiLCJtYXAiLCJtYXBSZWYiLCJ1c2VSZWYiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsInNlbGVjdGVkSXRlbSIsImV2ZW50c0RhdGEiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidXNlTWVtbyIsInVuZGVmaW5lZCIsImZvY3VzZWRFdmVudFByZXNlbnQiLCJfdXNlU3RhdGUzIiwid2luZG93IiwiY3VzdG9tTGVhZmxldCIsIm1hcmtlckNsdXN0ZXJHcm91cCIsInNwaWRlcmZ5T25NYXhab29tIiwic2hvd0NvdmVyYWdlT25Ib3ZlciIsInpvb21Ub0JvdW5kc09uQ2xpY2siLCJhbmltYXRlIiwiZGlzYWJsZUNsdXN0ZXJpbmdBdFpvb20iLCJyZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kcyIsImNodW5rZWRMb2FkaW5nIiwiaWNvbkNyZWF0ZUZ1bmN0aW9uIiwiY2x1c3RlciIsIkRpdkljb24iLCJodG1sIiwiY29uY2F0IiwiX2NoaWxkQ291bnQiLCJpMThuIiwidCIsImNsYXNzTmFtZSIsImljb25TaXplIiwiUG9pbnQiLCJfdXNlU3RhdGU0IiwiZmFjdG9yaWVzQ2x1c3Rlckdyb3VwIiwiX3VzZVN0YXRlNSIsImxheWVyR3JvdXAiLCJfdXNlU3RhdGU2Iiwid3d0cHNMYXllckdyb3VwIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJjb2xsZWN0b3JzTGF5ZXJHcm91cCIsIm1lbW9pemVkUG9pbnRzIiwiaXNGZXRjaGluZyIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwiUG9pbnRNYXJrZXJzIiwicmVyZW5kZXIiLCJ6b29tTGV2ZWxzIiwiZmFjdG9yaWVzR3JvdXAiLCJ3d3Rwc0dyb3VwIiwiY29sbGVjdG9yc0dyb3VwIiwiem9vbVJ1bGVzRm9yRXZlbnRzVmlldyIsInBheWxvYWQiLCJGcmFnbWVudCIsImFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyIsInpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzIiwibWVtb2l6ZWRab29tQ29udHJvbCIsIm1lbW9pemVkRXZlbnQiLCJmb2N1c2VkIiwiaG92ZXJlZCIsIkV2ZW50IiwiZXZlbnQiLCJpbmNsdWRlTmV0d29yayIsImV2ZW50RmlsdGVyUGFyYW0iLCJ1c2VFZmZlY3QiLCJjbGVhbnVwIiwiX21hcFJlZiRjdXJyZW50IiwiY2xlYXJMYXllcnMiLCJyZW1vdmVMYXllciIsImluaXRpYWxpemVNYXAiLCJzYXRlbGxpdGUiLCJpc1ZhbGlkQXJlYSIsIl9tYXBSZWYkY3VycmVudDIiLCJfbWFwUmVmJGN1cnJlbnQzIiwiX21hcFJlZiRjdXJyZW50NCIsInJlbW92ZSIsInN0b3JlTWFwIiwid2F0ZXJBdXRob3JpdHlJZCIsImFyZWFGb2N1c0xvZ2ljIiwiX21hcFJlZiRjdXJyZW50NSIsImNsaWNrZWQiLCJlYWNoTGF5ZXIiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImlzUG9wdXBPcGVuIiwiTWFya2VyIiwiZmlyZSIsIlBvbHlnb24iLCJzaWRlbmF2RXhwYW5kZWQiLCJpZCIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiQXJlYVBvbHlnb25zIiwibWFwWm9vbSIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL01hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnbGVhZmxldC5tYXJrZXJjbHVzdGVyJztcbmltcG9ydCBSZWFjdCwge1xuICBDU1NQcm9wZXJ0aWVzLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHN0b3JlTWFwIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IEFyZWFQb2x5Z29ucyB9IGZyb20gJy4vYXJlYXMvQXJlYVBvbHlnb25zJztcbmltcG9ydCBFZGdlcyBmcm9tICcuL2VkZ2VzL0VkZ2VzJztcbmltcG9ydCAnLi9NYXAuc2Nzcyc7XG5pbXBvcnQgJy4vcG9pbnRzL1BvaW50SWNvbi5zY3NzJztcbmltcG9ydCB7IFBvaW50TWFya2VycyB9IGZyb20gJy4vcG9pbnRzL1BvaW50TWFya2Vycyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnQgfSBmcm9tICcuL2V2ZW50cy9FdmVudCc7XG5pbXBvcnQge1xuICBhcmVhRm9jdXNMb2dpYyxcbiAgaW5pdGlhbGl6ZU1hcCxcbiAgaXNWYWxpZEFyZWEsXG4gIHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxuICB6b29tTGV2ZWxzLFxufSBmcm9tICcuL01hcFV0aWxzJztcbmltcG9ydCB7IGxlYWZsZXRNYXAgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0Q29udGV4dCc7XG5yZXF1aXJlKCdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInKTtcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzPzogSUVkZ2VbXTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHN0eWxlPzogQ1NTUHJvcGVydGllcztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG4gIGZvckV2ZW50c1ZpZXc6IGJvb2xlYW47XG4gIGZvcldXVFBEYXNoYm9hcmQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwOiBSZWFjdC5GQzxNYXBQcm9wcz4gPSAoe1xuICBhcmVhcyxcbiAgZWRnZXMsXG4gIHBvaW50cyxcbiAgZ2xvYmFsX2RhdGEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGhvdmVyZWRFdmVudCxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIG1hcEJveFN0eWxlID0gbGVhZmxldE1hcC5tYXBEZWZhdWx0LFxuICBjaGlsZHJlbixcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzID0gdHJ1ZSxcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyA9IGZhbHNlLFxuICBmb3JFdmVudHNWaWV3ID0gZmFsc2UsXG4gIHN0eWxlID0ge30sXG4gIGZvcldXVFBEYXNoYm9hcmQgPSBmYWxzZSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8TC5NYXAgfCBudWxsPihudWxsKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbWFwWm9vbUxldmVsLCBzZXRNYXBab29tTGV2ZWxdID0gdXNlU3RhdGUoMik7XG4gIGNvbnN0IHsgc2VsZWN0ZWRJdGVtIH0gPSB1c2VTZWxlY3RlZEl0ZW0oKTtcbiAgY29uc3QgZXZlbnRzRGF0YSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLmV2ZW50c19kYXRhLFxuICApO1xuICBjb25zdCBob3ZlcmVkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGhvdmVyZWRFdmVudCAhPT0gbnVsbCAmJiBob3ZlcmVkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2hvdmVyZWRFdmVudF0pO1xuXG4gIGNvbnN0IGZvY3VzZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmIGZvY3VzZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbZm9jdXNlZEV2ZW50XSk7XG5cbiAgY29uc3QgW2ZhY3Rvcmllc0NsdXN0ZXJHcm91cF0gPSB1c2VTdGF0ZShcbiAgICB3aW5kb3cuY3VzdG9tTGVhZmxldC5tYXJrZXJDbHVzdGVyR3JvdXAoe1xuICAgICAgc3BpZGVyZnlPbk1heFpvb206IGZhbHNlLFxuICAgICAgc2hvd0NvdmVyYWdlT25Ib3ZlcjogZmFsc2UsXG4gICAgICB6b29tVG9Cb3VuZHNPbkNsaWNrOiB0cnVlLFxuICAgICAgYW5pbWF0ZTogdHJ1ZSxcbiAgICAgIGRpc2FibGVDbHVzdGVyaW5nQXRab29tOiAxNSxcbiAgICAgIHJlbW92ZU91dHNpZGVWaXNpYmxlQm91bmRzOiBmYWxzZSxcbiAgICAgIGNodW5rZWRMb2FkaW5nOiB0cnVlLFxuICAgICAgaWNvbkNyZWF0ZUZ1bmN0aW9uOiBmdW5jdGlvbiAoY2x1c3Rlcikge1xuICAgICAgICByZXR1cm4gbmV3IEwuRGl2SWNvbih7XG4gICAgICAgICAgaHRtbDogYDxkaXY+PHNwYW4+JHtcbiAgICAgICAgICAgIGNsdXN0ZXIuX2NoaWxkQ291bnRcbiAgICAgICAgICB9PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9J21hcmtlci1jbHVzdGVyLW5hbWUnPiR7aTE4bi50KFxuICAgICAgICAgICAgJ2luZHVzdHJpZXMnLFxuICAgICAgICAgICl9PC9kaXY+YCxcbiAgICAgICAgICBjbGFzc05hbWU6ICdtYXJrZXItY2x1c3RlcicsXG4gICAgICAgICAgaWNvblNpemU6IG5ldyBMLlBvaW50KDQwLCA0MCksXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9KSxcbiAgKTtcblxuICBjb25zdCBbd3d0cHNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2NvbGxlY3RvcnNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgLy9jb25zdCBbZmFjdG9yaWVzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgIWV2ZW50c0RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgKFxuICAgICAgICA8UG9pbnRNYXJrZXJzXG4gICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e2luY2x1ZGVVbm1vbml0b3JlZFBvaW50c31cbiAgICAgICAgICByZXJlbmRlcj17em9vbUxldmVsc1ttYXBab29tTGV2ZWxdfVxuICAgICAgICAgIGZhY3Rvcmllc0dyb3VwPXtmYWN0b3JpZXNDbHVzdGVyR3JvdXB9XG4gICAgICAgICAgd3d0cHNHcm91cD17d3d0cHNMYXllckdyb3VwfVxuICAgICAgICAgIGNvbGxlY3RvcnNHcm91cD17Y29sbGVjdG9yc0xheWVyR3JvdXB9XG4gICAgICAgICAgZm9yRXZlbnRzVmlldz17ZmFsc2V9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgKTtcbiAgfSwgW1xuICAgIGV2ZW50c0RhdGEuaXNGZXRjaGluZyxcbiAgICBtYXBSZWYuY3VycmVudCxcbiAgICBwb2ludHMsXG4gICAgZm9jdXNlZEV2ZW50UHJlc2VudCxcbiAgICBtYXBab29tTGV2ZWwsXG4gICAgZmFjdG9yaWVzQ2x1c3Rlckdyb3VwLFxuICAgIHd3dHBzTGF5ZXJHcm91cCxcbiAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cCxcbiAgXSk7XG5cbiAgLy8gY29uc3QgYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zID0gdXNlTWVtbygoKSA9PiB7XG4gIC8vICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgaWNvblpvb21Db250cm9sKG1hcFJlZi5jdXJyZW50KTtcbiAgLy8gfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnRdKTtcblxuICBjb25zdCB6b29tUnVsZXNGb3JFdmVudHNWaWV3ID0gKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAoXG4gICAgICA8PlxuICAgICAgICA8RWRnZXNcbiAgICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgTD17TH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgICAgaGlkZUVkZ2VzPXtoaWRlRWRnZXN9XG4gICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzfVxuICAgICAgICAvPlxuICAgICAgICB7bWVtb2l6ZWRQb2ludHN9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMgPSAoKSA9PiB7XG4gICAgbGV0IHBheWxvYWQgPSA8PjwvPjtcbiAgICBzd2l0Y2ggKHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSkge1xuICAgICAgY2FzZSAnU21hbGwnOlxuICAgICAgY2FzZSAnTWVkaXVtJzpcbiAgICAgICAgcGF5bG9hZCA9IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdNTGFyZ2UnOlxuICAgICAgY2FzZSAnTGFyZ2UnOlxuICAgICAgY2FzZSAnWExhcmdlJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHBheWxvYWQgPSA8PnttZW1vaXplZFBvaW50c308Lz47XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkWm9vbUNvbnRyb2wgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gZm9yRXZlbnRzVmlld1xuICAgICAgPyB6b29tUnVsZXNGb3JFdmVudHNWaWV3KClcbiAgICAgIDogem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMoKTtcblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9LCBbbWFwWm9vbUxldmVsLCBldmVudHNEYXRhLmlzRmV0Y2hpbmcsIGZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBwb2ludHNdKTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgaW5jbHVkZU5ldHdvcms9eyFob3ZlcmVkRXZlbnRQcmVzZW50fVxuICAgICAgLz5cbiAgICApO1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgY29sbGVjdG9yc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihjb2xsZWN0b3JzTGF5ZXJHcm91cCk7XG4gICAgfTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgIG1hcFJlZixcbiAgICAgIGRpc3BhdGNoLFxuICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgIGZvcldXVFBEYXNoYm9hcmQsXG4gICAgKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgZmFjdG9yaWVzQ2x1c3Rlckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICB3d3Rwc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoZmFjdG9yaWVzQ2x1c3Rlckdyb3VwKTtcbiAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcih3d3Rwc0xheWVyR3JvdXApO1xuICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGNvbGxlY3RvcnNMYXllckdyb3VwKTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZSgpO1xuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAodW5kZWZpbmVkKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICAgZm9yV1dUUERhc2hib2FyZCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFyZWFGb2N1c0xvZ2ljKFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgICBhcmVhVG9DZW50ZXJCeSA/IGFyZWFUb0NlbnRlckJ5IDogYXJlYXNbMF0sXG4gICAgICApO1xuICAgIH1cbiAgfSwgW2FyZWFUb0NlbnRlckJ5LCBhcmVhc10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNsaWNrZWQgPSBmYWxzZTtcblxuICAgIG1hcFJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICBpZiAoY2xpY2tlZCkgcmV0dXJuO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGxheWVyPy5rYW5kb19vYmplY3RfaWQgPT09IHNlbGVjdGVkSXRlbSAmJlxuICAgICAgICBsYXllci5pc1BvcHVwT3BlbigpID09PSBmYWxzZVxuICAgICAgKSB7XG4gICAgICAgIGlmIChsYXllciBpbnN0YW5jZW9mIEwuTWFya2VyKSB7XG4gICAgICAgICAgbGF5ZXIuZmlyZSgnY2xpY2snKTtcbiAgICAgICAgfSBlbHNlIGlmIChsYXllciBpbnN0YW5jZW9mIEwuUG9seWdvbikge1xuICAgICAgICAgIGxheWVyLmZpcmUoJ2NsaWNrLWV2ZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY2xpY2tlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiIHN0eWxlPXtzdHlsZX0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+PC9kaXY+XG4gICAgICAgICAge3Nob3VsZExvYWRNYXBPYmplY3RzKGdsb2JhbF9kYXRhLCBtYXBSZWYsIGVkZ2VzLCBwb2ludHMpICYmIChcbiAgICAgICAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgIG1hcFpvb209e21hcFpvb21MZXZlbH1cbiAgICAgICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKFxuICAgICAgICAgICAgZWRnZXMsXG4gICAgICAgICAgICBhcmVhcyxcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLFxuICAgICAgICAgICAgbWFwUmVmLFxuICAgICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgICkgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge21lbW9pemVkRXZlbnR9XG4gICAgICAgICAgICAgIHttZW1vaXplZFpvb21Db250cm9sfVxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLElBQUFBLENBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBT0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBSUEsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBR0EsSUFBQUksY0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQU0sYUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBRixzQkFBQSxDQUFBTCxPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFRLGFBQUEsR0FBQVIsT0FBQTtBQUVBLElBQUFTLE1BQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFNBQUEsR0FBQVYsT0FBQTtBQVFBLElBQUFXLE1BQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLEtBQUEsR0FBQVAsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFhLFlBQUEsR0FBQWIsT0FBQTtBQUFxRSxTQUFBYyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQWhCLHdCQUFBb0IsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFB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
@@ -53,12 +53,6 @@
53
53
  }
54
54
 
55
55
  #map {
56
- *,
57
- *:focus,
58
- *:hover {
59
- outline: none;
60
- }
61
-
62
56
  .leaflet-control-container {
63
57
  .leaflet-left {
64
58
  bottom: 2.2em;
@@ -127,12 +121,6 @@
127
121
  #map {
128
122
  height: calc(100% - 45px);
129
123
 
130
- *,
131
- *:focus,
132
- *:hover {
133
- outline: none;
134
- }
135
-
136
124
  .leaflet-control-container {
137
125
  .leaflet-left {
138
126
  bottom: 2.2em;
@@ -201,7 +201,7 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSate
201
201
  zoomSnap: 1,
202
202
  zoom: mapZoomLevel,
203
203
  attributionControl: false,
204
- preferCanvas: false
204
+ preferCanvas: true
205
205
  });
206
206
  mapRef.current.whenReady(function () {
207
207
  var map = mapRef.current;
@@ -269,4 +269,4 @@ var zoomLevels = {
269
269
  18: 'Small'
270
270
  };
271
271
  exports.zoomLevels = zoomLevels;
272
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImV4cG9ydHMiLCJhcmVhIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJnbG9iYWxfZGF0YSIsInBvaW50cyIsImVkZ2VzIiwibWFwIiwidW5kZWZpbmVkIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImFyZWFzIiwiZ2xvYmFsIiwiZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCIsImxheWVyc1RvRmluZCIsImN1cnJlbnRMYXllciIsImluY2x1ZGVzIiwia2FuZG9fcG9pbnRfdHlwZSIsImV2ZW50c0NvdW50ZXJJY29ucyIsImxheWVyIiwiem9vbUxldmVsIiwiaWNvbiIsIm9wdGlvbnMiLCJpY29uU2l6ZSIsImV2ZW50c0NvdW50SWNvbiIsImljb25BbmNob3IiLCJzZXRJY29uIiwic2V0T3BhY2l0eSIsIm11bHRpcGxlTGF5ZXJlZEljb25zIiwiaXNBRmV3TGF5ZXJJY29uIiwia2FuZG9fZmV3X2xheWVyX2ljb24iLCJtaW5pSWNvbiIsInByZXNlbnQiLCJrYW5kb19zZWNvbmRhcnkiLCJrYW5kb190aGlyZCIsInNlY29uZGFyeSIsInRoaXJkIiwia2FuZG9faW5kZXhfb2JqZWN0IiwiYnViYmxlSWNvbk9wdGlvbnMiLCJvbmVMYXllckljb25PcHRpb25zIiwibWlkZGxlSWNvbk9wdGlvbnMiLCJ0b3BJY29uT3B0aW9ucyIsImljb25ab29tQ29udHJvbCIsImxheWVycyIsIl96b29tIiwibWFwU3R5bGUiLCJtYXBCb3hTdHlsZSIsInRpbGVMYXllciIsImNvbmNhdCIsImF0dHJpYnV0aW9uIiwibWF4Wm9vbSIsIm1pblpvb20iLCJpZCIsInRpbGVTaXplIiwiem9vbU9mZnNldCIsInVwZGF0ZVdoZW5ab29taW5nIiwidXBkYXRlV2hlbklkbGUiLCJiYXNlTWFwcyIsIm1hcEJveFNhdGVsbGl0ZVN0eWxlIiwiX3JlZiIsImRlZmF1bHRNYXAiLCJpMThuIiwidCIsInNhdGVsbGl0ZSIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiaW5pdGlhbGl6ZU1hcCIsIm1hcFpvb21MZXZlbCIsImRpc3BhdGNoIiwic2V0TWFwWm9vbUxldmVsIiwiZm9yV1dUUERhc2hib2FyZCIsIk1hcCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsInByZWZlckNhbnZhcyIsIndoZW5SZWFkeSIsIm1hcFR5cGVzIiwiY29udHJvbCIsInBvc2l0aW9uIiwiYWRkVG8iLCJ2YWx1ZXMiLCJzZXRUaW1lb3V0IiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwic3RvcmVNYXAiLCJzZXRNYXAiLCJzaWRlTmF2RXhwYW5kZWQiLCJvbiIsImV2ZW50Iiwib3JpZ2luYWxFdmVudCIsImtleSIsImNsb3NlUG9wdXAiLCJkb2N1bWVudCIsImJvZHkiLCJmb2N1cyIsImUiLCJnZXRab29tIiwiem9vbUxldmVscyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHNldE1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgZ3JvdXAucHVzaChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKE9iamVjdC5rZXlzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSkubGVuZ3RoICE9PSAwKSB7XG4gICAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpLCB7XG4gICAgICAgIHBhZGRpbmc6IFsxMDAsIDEwMF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbWFwSW5zdGFuY2UuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNWYWxpZEFyZWEgPSAoYXJlYSkgPT4ge1xuICByZXR1cm4gYXJlYSAmJiBhcmVhLmxlbmd0aCA+IDAgJiYgT2JqZWN0LmtleXMoYXJlYVswXSkubGVuZ3RoID4gMDtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91bGRMb2FkTWFwT2JqZWN0cyA9IChnbG9iYWxfZGF0YSwgbWFwUmVmLCBwb2ludHMsIGVkZ2VzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzICE9PSB1bmRlZmluZWQgJiZcbiAgICBwb2ludHMgIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMgPSAoXG4gIGVkZ2VzLFxuICBhcmVhcyxcbiAgZ2xvYmFsLFxuICBtYXBSZWYsXG4gIHBvaW50cyxcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbC5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMubGVuZ3RoICE9PSAwICYmXG4gICAgYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgcG9pbnRzLmxlbmd0aCAhPT0gMFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAgPSAoXG4gIGxheWVyc1RvRmluZDogc3RyaW5nW10sXG4gIGN1cnJlbnRMYXllcixcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIGxheWVyc1RvRmluZC5pbmNsdWRlcyhjdXJyZW50TGF5ZXIua2FuZG9fb2JqZWN0KSAmJlxuICAgIGN1cnJlbnRMYXllci5rYW5kb19wb2ludF90eXBlICE9PSAnTWFuaG9sZSdcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudGVySWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgaWNvbi5vcHRpb25zLmljb25TaXplID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvblNpemU7XG4gIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbiAgbGF5ZXIuc2V0T3BhY2l0eSgxKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtdWx0aXBsZUxheWVyZWRJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBsZXQgaXNBRmV3TGF5ZXJJY29uID0gbGF5ZXIua2FuZG9fZmV3X2xheWVyX2ljb247XG4gIGxldCBtaW5pSWNvbiA9IHtcbiAgICBwcmVzZW50OiBsYXllci5rYW5kb19zZWNvbmRhcnkgfHwgbGF5ZXIua2FuZG9fdGhpcmQsXG4gICAgc2Vjb25kYXJ5OiBsYXllci5rYW5kb19zZWNvbmRhcnksXG4gICAgdGhpcmQ6IGxheWVyLmthbmRvX3RoaXJkLFxuICB9O1xuXG4gIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDApIHtcbiAgICBpZiAoaXNBRmV3TGF5ZXJJY29uKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBidWJibGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gYnViYmxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDEpIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG1pZGRsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBtaWRkbGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25BbmNob3I7XG4gICAgfVxuICB9XG5cbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbn07XG5cbmNvbnN0IG9uZUxheWVySWNvbk9wdGlvbnMgPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjMsIHpvb21MZXZlbCAqIDMuM10gYXMgUG9pbnRUdXBsZSxcbiAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS43LCB6b29tTGV2ZWwgKiAzLjddIGFzIFBvaW50VHVwbGUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRJY29uID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdIGFzIFBvaW50VHVwbGUsXG4gICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogMl0gYXMgUG9pbnRUdXBsZSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOTgsIHpvb21MZXZlbCAqIDQuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtaWRkbGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMy41XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDEuNV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS4yOTUsIHpvb21MZXZlbCAqIDMuMzVdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b3BJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAwLjksIHpvb21MZXZlbCAqIDEuOF0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC41LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjYsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC4yLCB6b29tTGV2ZWwgKiAyLjFdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGljb25ab29tQ29udHJvbCA9IChtYXApID0+IHtcbiAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICBsZXQgem9vbUxldmVsID0gbWFwLl96b29tO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydJY29uTnVtYmVyJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBldmVudHNDb3VudGVySWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1BvaW50JywgJ0ljb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1NhbXBsaW5nJywgJ09ic2VydmF0aW9uJ10sIGxheWVyc1twcm9wZXJ0eV0pXG4gICAgKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cbiAgfVxufTtcblxuY29uc3QgbWFwU3R5bGUgPSAobWFwQm94U3R5bGUpID0+IHtcbiAgcmV0dXJuIEwudGlsZUxheWVyKFxuICAgIGBodHRwczovL2FwaS5tYXBib3guY29tL3N0eWxlcy92MS9uYWRhdi1rYW5kby8ke21hcEJveFN0eWxlfS90aWxlcy8yNTYve3p9L3t4fS97eX1AMng/YWNjZXNzX3Rva2VuPXBrLmV5SjFJam9pYm1Ga1lYWXRhMkZ1Wkc4aUxDSmhJam9pWTJwdmVIcHJkR1J4TUhsbWRETjRiRGcwZHpKeE9YYzRkU0o5LkotMm9ocTdqNHlLTmJtNE5fLVA2cXdgLFxuICAgIHtcbiAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAnTWFwIGRhdGEgJmNvcHk7IDxhIGhyZWY9XCJodHRwczovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9cIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMsIDxhIGhyZWY9XCJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMi4wL1wiPkNDLUJZLVNBPC9hPiwgSW1hZ2VyeSDCqSA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9cIj5NYXBib3g8L2E+JyxcbiAgICAgIG1heFpvb206IDE4LFxuICAgICAgbWluWm9vbTogMixcbiAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICB6b29tT2Zmc2V0OiAtMSxcbiAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICB9LFxuICApO1xufTtcbmNvbnN0IGJhc2VNYXBzID0gKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSkgPT4ge1xuICBsZXQgZGVmYXVsdE1hcCA9IGkxOG4udCgnbWFwLmxheWVycy5kZWZhdWx0Jyk7XG4gIGxldCBzYXRlbGxpdGUgPSBpMThuLnQoJ21hcC5sYXllcnMuc2F0ZWxsaXRlJyk7XG4gIHJldHVybiB7XG4gICAgW2RlZmF1bHRNYXBdOiBtYXBTdHlsZShtYXBCb3hTdHlsZSksXG4gICAgW3NhdGVsbGl0ZV06IG1hcFN0eWxlKG1hcEJveFNhdGVsbGl0ZVN0eWxlKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplTWFwID0gKFxuICBtYXBab29tTGV2ZWwsXG4gIG1hcEJveFN0eWxlLFxuICBtYXBCb3hTYXRlbGxpdGVTdHlsZSxcbiAgbWFwUmVmLFxuICBkaXNwYXRjaCxcbiAgaXNWYWxpZEFyZWEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBzZXRNYXBab29tTGV2ZWwsXG4gIGZvcldXVFBEYXNoYm9hcmQsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IG5ldyBMLk1hcCgnbWFwJywge1xuICAgIGNlbnRlcjogWzAsIDBdLFxuICAgIHpvb21TbmFwOiAxLFxuICAgIHpvb206IG1hcFpvb21MZXZlbCxcbiAgICBhdHRyaWJ1dGlvbkNvbnRyb2w6IGZhbHNlLFxuICAgIHByZWZlckNhbnZhczogZmFsc2UsXG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50LndoZW5SZWFkeSgoKSA9PiB7XG4gICAgbGV0IG1hcCA9IG1hcFJlZi5jdXJyZW50O1xuICAgIGNvbnN0IG1hcFR5cGVzID0gYmFzZU1hcHMobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKTtcblxuICAgIEwuY29udHJvbC5sYXllcnMobWFwVHlwZXMsIHt9LCB7IHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnIH0pLmFkZFRvKG1hcCk7XG5cbiAgICAvLyBUaGUgbmFtZSBvZiB0aGUgbGF5ZXIgY2hhbmdlcyBiZXR3ZWVuIGxhbmd1YWdlcyBzbyB0aGVyZSB3YXMgYSBuZWVkIHRvIGdldCB0byB0aGUgZmlyc3QgbGF5ZXJcbiAgICBPYmplY3QudmFsdWVzKG1hcFR5cGVzKVswXS5hZGRUbyhtYXApO1xuXG4gICAgLy8gbWFwLm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKCkge1xuICAgIC8vICAgLy8gaWNvblpvb21Db250cm9sKG1hcCk7XG4gICAgLy8gfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyJywgZXJyKTtcbiAgICAgIH1cblxuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAobWFwUmVmLmN1cnJlbnQpKTtcbiAgICAgIGlmIChmb3JXV1RQRGFzaGJvYXJkKSBkaXNwYXRjaChzZXRNYXAobWFwUmVmLmN1cnJlbnQpKTtcbiAgICAgIGRpc3BhdGNoKHNpZGVOYXZFeHBhbmRlZCh0cnVlKSk7XG5cbiAgICAgIG1hcC5vbigna2V5ZG93bicsIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQub3JpZ2luYWxFdmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21MZXZlbHMgPSB7XG4gIDE6ICdYTGFyZ2UnLFxuICAyOiAnWExhcmdlJyxcbiAgMzogJ1hMYXJnZScsXG4gIDQ6ICdYTGFyZ2UnLFxuICA1OiAnWExhcmdlJyxcbiAgNjogJ1hMYXJnZScsXG4gIDc6ICdMYXJnZScsXG4gIDg6ICdMYXJnZScsXG4gIDk6ICdMYXJnZScsXG4gIDEwOiAnTGFyZ2UnLFxuICAxMTogJ01MYXJnZScsXG4gIDEyOiAnTUxhcmdlJyxcbiAgMTM6ICdNTGFyZ2UnLFxuICAxNDogJ01MYXJnZScsXG4gIDE1OiAnTWVkaXVtJyxcbiAgMTY6ICdNZWRpdW0nLFxuICAxNzogJ1NtYWxsJyxcbiAgMTg6ICdTbWFsbCcsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUgs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
272
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsIl9XV1RQRGFzaGJvYXJkU2xpY2UiLCJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImV4cG9ydHMiLCJhcmVhIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJnbG9iYWxfZGF0YSIsInBvaW50cyIsImVkZ2VzIiwibWFwIiwidW5kZWZpbmVkIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImFyZWFzIiwiZ2xvYmFsIiwiZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCIsImxheWVyc1RvRmluZCIsImN1cnJlbnRMYXllciIsImluY2x1ZGVzIiwia2FuZG9fcG9pbnRfdHlwZSIsImV2ZW50c0NvdW50ZXJJY29ucyIsImxheWVyIiwiem9vbUxldmVsIiwiaWNvbiIsIm9wdGlvbnMiLCJpY29uU2l6ZSIsImV2ZW50c0NvdW50SWNvbiIsImljb25BbmNob3IiLCJzZXRJY29uIiwic2V0T3BhY2l0eSIsIm11bHRpcGxlTGF5ZXJlZEljb25zIiwiaXNBRmV3TGF5ZXJJY29uIiwia2FuZG9fZmV3X2xheWVyX2ljb24iLCJtaW5pSWNvbiIsInByZXNlbnQiLCJrYW5kb19zZWNvbmRhcnkiLCJrYW5kb190aGlyZCIsInNlY29uZGFyeSIsInRoaXJkIiwia2FuZG9faW5kZXhfb2JqZWN0IiwiYnViYmxlSWNvbk9wdGlvbnMiLCJvbmVMYXllckljb25PcHRpb25zIiwibWlkZGxlSWNvbk9wdGlvbnMiLCJ0b3BJY29uT3B0aW9ucyIsImljb25ab29tQ29udHJvbCIsImxheWVycyIsIl96b29tIiwibWFwU3R5bGUiLCJtYXBCb3hTdHlsZSIsInRpbGVMYXllciIsImNvbmNhdCIsImF0dHJpYnV0aW9uIiwibWF4Wm9vbSIsIm1pblpvb20iLCJpZCIsInRpbGVTaXplIiwiem9vbU9mZnNldCIsInVwZGF0ZVdoZW5ab29taW5nIiwidXBkYXRlV2hlbklkbGUiLCJiYXNlTWFwcyIsIm1hcEJveFNhdGVsbGl0ZVN0eWxlIiwiX3JlZiIsImRlZmF1bHRNYXAiLCJpMThuIiwidCIsInNhdGVsbGl0ZSIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiaW5pdGlhbGl6ZU1hcCIsIm1hcFpvb21MZXZlbCIsImRpc3BhdGNoIiwic2V0TWFwWm9vbUxldmVsIiwiZm9yV1dUUERhc2hib2FyZCIsIk1hcCIsImNlbnRlciIsInpvb21TbmFwIiwiem9vbSIsImF0dHJpYnV0aW9uQ29udHJvbCIsInByZWZlckNhbnZhcyIsIndoZW5SZWFkeSIsIm1hcFR5cGVzIiwiY29udHJvbCIsInBvc2l0aW9uIiwiYWRkVG8iLCJ2YWx1ZXMiLCJzZXRUaW1lb3V0IiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwic3RvcmVNYXAiLCJzZXRNYXAiLCJzaWRlTmF2RXhwYW5kZWQiLCJvbiIsImV2ZW50Iiwib3JpZ2luYWxFdmVudCIsImtleSIsImNsb3NlUG9wdXAiLCJkb2N1bWVudCIsImJvZHkiLCJmb2N1cyIsImUiLCJnZXRab29tIiwiem9vbUxldmVscyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHNldE1hcCB9IGZyb20gJy4uLy4uL3N0b3JlL1dXVFBEYXNoYm9hcmQvV1dUUERhc2hib2FyZFNsaWNlJztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgZ3JvdXAucHVzaChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKE9iamVjdC5rZXlzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSkubGVuZ3RoICE9PSAwKSB7XG4gICAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpLCB7XG4gICAgICAgIHBhZGRpbmc6IFsxMDAsIDEwMF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbWFwSW5zdGFuY2UuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNWYWxpZEFyZWEgPSAoYXJlYSkgPT4ge1xuICByZXR1cm4gYXJlYSAmJiBhcmVhLmxlbmd0aCA+IDAgJiYgT2JqZWN0LmtleXMoYXJlYVswXSkubGVuZ3RoID4gMDtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91bGRMb2FkTWFwT2JqZWN0cyA9IChnbG9iYWxfZGF0YSwgbWFwUmVmLCBwb2ludHMsIGVkZ2VzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzICE9PSB1bmRlZmluZWQgJiZcbiAgICBwb2ludHMgIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMgPSAoXG4gIGVkZ2VzLFxuICBhcmVhcyxcbiAgZ2xvYmFsLFxuICBtYXBSZWYsXG4gIHBvaW50cyxcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbC5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMubGVuZ3RoICE9PSAwICYmXG4gICAgYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgcG9pbnRzLmxlbmd0aCAhPT0gMFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAgPSAoXG4gIGxheWVyc1RvRmluZDogc3RyaW5nW10sXG4gIGN1cnJlbnRMYXllcixcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIGxheWVyc1RvRmluZC5pbmNsdWRlcyhjdXJyZW50TGF5ZXIua2FuZG9fb2JqZWN0KSAmJlxuICAgIGN1cnJlbnRMYXllci5rYW5kb19wb2ludF90eXBlICE9PSAnTWFuaG9sZSdcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBldmVudHNDb3VudGVySWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgaWNvbi5vcHRpb25zLmljb25TaXplID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvblNpemU7XG4gIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gZXZlbnRzQ291bnRJY29uKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbiAgbGF5ZXIuc2V0T3BhY2l0eSgxKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtdWx0aXBsZUxheWVyZWRJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBsZXQgaXNBRmV3TGF5ZXJJY29uID0gbGF5ZXIua2FuZG9fZmV3X2xheWVyX2ljb247XG4gIGxldCBtaW5pSWNvbiA9IHtcbiAgICBwcmVzZW50OiBsYXllci5rYW5kb19zZWNvbmRhcnkgfHwgbGF5ZXIua2FuZG9fdGhpcmQsXG4gICAgc2Vjb25kYXJ5OiBsYXllci5rYW5kb19zZWNvbmRhcnksXG4gICAgdGhpcmQ6IGxheWVyLmthbmRvX3RoaXJkLFxuICB9O1xuXG4gIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDApIHtcbiAgICBpZiAoaXNBRmV3TGF5ZXJJY29uKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBidWJibGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gYnViYmxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChsYXllci5rYW5kb19pbmRleF9vYmplY3QgPT09IDEpIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IG1pZGRsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBtaWRkbGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25BbmNob3I7XG4gICAgfVxuICB9XG5cbiAgbGF5ZXIuc2V0SWNvbihpY29uKTtcbn07XG5cbmNvbnN0IG9uZUxheWVySWNvbk9wdGlvbnMgPSAoem9vbUxldmVsKSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjMsIHpvb21MZXZlbCAqIDMuM10gYXMgUG9pbnRUdXBsZSxcbiAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS43LCB6b29tTGV2ZWwgKiAzLjddIGFzIFBvaW50VHVwbGUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRJY29uID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiBbem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdIGFzIFBvaW50VHVwbGUsXG4gICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdIGFzIFBvaW50VHVwbGUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0gYXMgUG9pbnRUdXBsZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSBhcyBQb2ludFR1cGxlLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMCwgem9vbUxldmVsICogMl0gYXMgUG9pbnRUdXBsZSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDMuOTgsIHpvb21MZXZlbCAqIDQuM10gYXMgUG9pbnRUdXBsZSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAyLCB6b29tTGV2ZWwgKiA0XSBhcyBQb2ludFR1cGxlLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtaWRkbGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMy41XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDEuNV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS4yOTUsIHpvb21MZXZlbCAqIDMuMzVdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b3BJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAwLjksIHpvb21MZXZlbCAqIDEuOF0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC41LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjYsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC4yLCB6b29tTGV2ZWwgKiAyLjFdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGljb25ab29tQ29udHJvbCA9IChtYXApID0+IHtcbiAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICBsZXQgem9vbUxldmVsID0gbWFwLl96b29tO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydJY29uTnVtYmVyJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBldmVudHNDb3VudGVySWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1BvaW50JywgJ0ljb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1NhbXBsaW5nJywgJ09ic2VydmF0aW9uJ10sIGxheWVyc1twcm9wZXJ0eV0pXG4gICAgKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cbiAgfVxufTtcblxuY29uc3QgbWFwU3R5bGUgPSAobWFwQm94U3R5bGUpID0+IHtcbiAgcmV0dXJuIEwudGlsZUxheWVyKFxuICAgIGBodHRwczovL2FwaS5tYXBib3guY29tL3N0eWxlcy92MS9uYWRhdi1rYW5kby8ke21hcEJveFN0eWxlfS90aWxlcy8yNTYve3p9L3t4fS97eX1AMng/YWNjZXNzX3Rva2VuPXBrLmV5SjFJam9pYm1Ga1lYWXRhMkZ1Wkc4aUxDSmhJam9pWTJwdmVIcHJkR1J4TUhsbWRETjRiRGcwZHpKeE9YYzRkU0o5LkotMm9ocTdqNHlLTmJtNE5fLVA2cXdgLFxuICAgIHtcbiAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAnTWFwIGRhdGEgJmNvcHk7IDxhIGhyZWY9XCJodHRwczovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9cIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMsIDxhIGhyZWY9XCJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMi4wL1wiPkNDLUJZLVNBPC9hPiwgSW1hZ2VyeSDCqSA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9cIj5NYXBib3g8L2E+JyxcbiAgICAgIG1heFpvb206IDE4LFxuICAgICAgbWluWm9vbTogMixcbiAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICB6b29tT2Zmc2V0OiAtMSxcbiAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICB9LFxuICApO1xufTtcbmNvbnN0IGJhc2VNYXBzID0gKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSkgPT4ge1xuICBsZXQgZGVmYXVsdE1hcCA9IGkxOG4udCgnbWFwLmxheWVycy5kZWZhdWx0Jyk7XG4gIGxldCBzYXRlbGxpdGUgPSBpMThuLnQoJ21hcC5sYXllcnMuc2F0ZWxsaXRlJyk7XG4gIHJldHVybiB7XG4gICAgW2RlZmF1bHRNYXBdOiBtYXBTdHlsZShtYXBCb3hTdHlsZSksXG4gICAgW3NhdGVsbGl0ZV06IG1hcFN0eWxlKG1hcEJveFNhdGVsbGl0ZVN0eWxlKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplTWFwID0gKFxuICBtYXBab29tTGV2ZWwsXG4gIG1hcEJveFN0eWxlLFxuICBtYXBCb3hTYXRlbGxpdGVTdHlsZSxcbiAgbWFwUmVmLFxuICBkaXNwYXRjaCxcbiAgaXNWYWxpZEFyZWEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBzZXRNYXBab29tTGV2ZWwsXG4gIGZvcldXVFBEYXNoYm9hcmQsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IG5ldyBMLk1hcCgnbWFwJywge1xuICAgIGNlbnRlcjogWzAsIDBdLFxuICAgIHpvb21TbmFwOiAxLFxuICAgIHpvb206IG1hcFpvb21MZXZlbCxcbiAgICBhdHRyaWJ1dGlvbkNvbnRyb2w6IGZhbHNlLFxuICAgIHByZWZlckNhbnZhczogdHJ1ZSxcbiAgfSk7XG5cbiAgbWFwUmVmLmN1cnJlbnQud2hlblJlYWR5KCgpID0+IHtcbiAgICBsZXQgbWFwID0gbWFwUmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgbWFwVHlwZXMgPSBiYXNlTWFwcyhtYXBCb3hTdHlsZSwgbWFwQm94U2F0ZWxsaXRlU3R5bGUpO1xuXG4gICAgTC5jb250cm9sLmxheWVycyhtYXBUeXBlcywge30sIHsgcG9zaXRpb246ICdib3R0b21yaWdodCcgfSkuYWRkVG8obWFwKTtcblxuICAgIC8vIFRoZSBuYW1lIG9mIHRoZSBsYXllciBjaGFuZ2VzIGJldHdlZW4gbGFuZ3VhZ2VzIHNvIHRoZXJlIHdhcyBhIG5lZWQgdG8gZ2V0IHRvIHRoZSBmaXJzdCBsYXllclxuICAgIE9iamVjdC52YWx1ZXMobWFwVHlwZXMpWzBdLmFkZFRvKG1hcCk7XG5cbiAgICAvLyBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gICAvLyBpY29uWm9vbUNvbnRyb2wobWFwKTtcbiAgICAvLyB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBtYXBSZWYuY3VycmVudC5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdlcnInLCBlcnIpO1xuICAgICAgfVxuXG4gICAgICBkaXNwYXRjaChzdG9yZU1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgaWYgKGZvcldXVFBEYXNoYm9hcmQpIGRpc3BhdGNoKHNldE1hcChtYXBSZWYuY3VycmVudCkpO1xuICAgICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKHRydWUpKTtcblxuICAgICAgbWFwLm9uKCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5vcmlnaW5hbEV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSwgMCk7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICYmIGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgICAgbWFwUmVmLmN1cnJlbnQuZml0Qm91bmRzKGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0pO1xuXG4gIG1hcFJlZi5jdXJyZW50Lm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCB6b29tID0gbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpO1xuICAgIHNldE1hcFpvb21MZXZlbCh6b29tKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUxldmVscyA9IHtcbiAgMTogJ1hMYXJnZScsXG4gIDI6ICdYTGFyZ2UnLFxuICAzOiAnWExhcmdlJyxcbiAgNDogJ1hMYXJnZScsXG4gIDU6ICdYTGFyZ2UnLFxuICA2OiAnWExhcmdlJyxcbiAgNzogJ0xhcmdlJyxcbiAgODogJ0xhcmdlJyxcbiAgOTogJ0xhcmdlJyxcbiAgMTA6ICdMYXJnZScsXG4gIDExOiAnTUxhcmdlJyxcbiAgMTI6ICdNTGFyZ2UnLFxuICAxMzogJ01MYXJnZScsXG4gIDE0OiAnTUxhcmdlJyxcbiAgMTU6ICdNZWRpdW0nLFxuICAxNjogJ01lZGl1bScsXG4gIDE3OiAnU21hbGwnLFxuICAxODogJ1NtYWxsJyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBSCxz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
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
11
12
  var _react = _interopRequireWildcard(require("react"));
12
13
  var _reactRedux = require("react-redux");
13
14
  var _AreaUtils = require("./AreaUtils");
@@ -18,11 +19,11 @@ var _ListContext = require("pages/DashboardMap/ListContext");
18
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
21
  var AreaPolygon = function AreaPolygon(props) {
21
- var map = props.map,
22
+ var L = props.L,
23
+ map = props.map,
22
24
  area = props.area,
23
25
  mapZoom = props.mapZoom,
24
- global_data = props.global_data,
25
- featureGroup = props.featureGroup;
26
+ global_data = props.global_data;
26
27
  var points = (0, _reactRedux.useSelector)(function (state) {
27
28
  return state.points_data.items;
28
29
  });
@@ -33,7 +34,9 @@ var AreaPolygon = function AreaPolygon(props) {
33
34
  return state.wwtp_dashboard.map !== null;
34
35
  });
35
36
  // useRemoveExistingLayers(map, area, 'Area', mapZoom);
36
- //const [LayerGroup] = useState<any>(L.layerGroup([]));
37
+ var _useState = (0, _react.useState)(L.layerGroup([])),
38
+ _useState2 = (0, _slicedToArray2.default)(_useState, 1),
39
+ LayerGroup = _useState2[0];
37
40
  var dispatch = (0, _reactRedux.useDispatch)();
38
41
  var _useSelectedItem = (0, _ListContext.useSelectedItem)(),
39
42
  handleSelectItem = _useSelectedItem.handleSelectItem;
@@ -42,6 +45,9 @@ var AreaPolygon = function AreaPolygon(props) {
42
45
  });
43
46
  var WWTPMapLogic = function WWTPMapLogic(polygon, area) {
44
47
  if (!WWTPMode) return;
48
+
49
+ //polygon.addTo(map);
50
+
45
51
  var fetchDataAndShowPopup = /*#__PURE__*/function () {
46
52
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
47
53
  var widgetContainer, data, areaType, response;
@@ -95,17 +101,20 @@ var AreaPolygon = function AreaPolygon(props) {
95
101
  }();
96
102
  polygon.on('click-event', function () {
97
103
  polygon.isPopupOpen() ? polygon.closePopup() : fetchDataAndShowPopup();
98
- polygon.openTooltip();
99
104
  });
100
105
  };
101
106
  (0, _react.useEffect)(function () {
102
- var polygon = (0, _AreaUtils.createPolygon)(area, mapZoom, featureGroup, map, WWTPMapLogic, WWTPMode ? handleSelectItem : null);
103
- if (polygon) {
104
- var subAreas = area.sub_areas.map(function (subArea) {
105
- return subArea.area_id;
106
- });
107
- if (subAreas.length > 0) {
108
- polygon['sub_areas'] = subAreas;
107
+ if (LayerGroup.getLayers().length > 0) {
108
+ // bindPopupBasedOnZoomLevel(LayerGroup, mapZoom, area);
109
+ } else {
110
+ var polygon = (0, _AreaUtils.createPolygon)(area, mapZoom, LayerGroup, map, WWTPMapLogic, WWTPMode ? handleSelectItem : null);
111
+ if (polygon) {
112
+ var subAreas = area.sub_areas.map(function (subArea) {
113
+ return subArea.area_id;
114
+ });
115
+ if (subAreas.length > 0) {
116
+ polygon['sub_areas'] = subAreas;
117
+ }
109
118
  }
110
119
  }
111
120
  }, []);
@@ -114,4 +123,4 @@ var AreaPolygon = function AreaPolygon(props) {
114
123
  var connector = (0, _reactRedux.connect)(null);
115
124
  var _default = connector(AreaPolygon);
116
125
  exports.default = _default;
117
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9BcmVhVXRpbHMiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1dpZGdldCIsIl91dGlscyIsIl9MaXN0Q29udGV4dCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiQXJlYVBvbHlnb24iLCJwcm9wcyIsIm1hcCIsImFyZWEiLCJtYXBab29tIiwiZ2xvYmFsX2RhdGEiLCJmZWF0dXJlR3JvdXAiLCJwb2ludHMiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwicG9pbnRzX2RhdGEiLCJpdGVtcyIsImFyZWFzIiwiYXJlYXNfZGF0YSIsIldXVFBNb2RlIiwid3d0cF9kYXNoYm9hcmQiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsImhhbmRsZVNlbGVjdEl0ZW0iLCJsb2NhbGUiLCJuYXZfY29udGV4dF9kYXRhIiwibmF2Q29udGV4dCIsIldXVFBNYXBMb2dpYyIsInBvbHlnb24iLCJmZXRjaERhdGFBbmRTaG93UG9wdXAiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3aWRnZXRDb250YWluZXIiLCJkYXRhIiwiYXJlYVR5cGUiLCJyZXNwb25zZSIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsInJlbmRlcmVkRWxlbWVudCIsIm1hcmtlciIsImlzX3ZpcnR1YWwiLCJmZXRjaCIsImNvbmNhdCIsImFyZWFfaWQiLCJ3YXRlckF1dGhvcml0eUlkIiwic2VudCIsIm9rIiwianNvbiIsIlJlYWN0RE9NIiwicmVuZGVyIiwiV2lkZ2V0Iiwib2JqZWN0IiwibGlzdERhdGEiLCJpc1BvcHVwT3BlbiIsIm9wZW5Qb3B1cCIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsIm9uIiwiY2xvc2VQb3B1cCIsIm9wZW5Ub29sdGlwIiwidXNlRWZmZWN0IiwiY3JlYXRlUG9seWdvbiIsInN1YkFyZWFzIiwic3ViX2FyZWFzIiwic3ViQXJlYSIsImxlbmd0aCIsIkZyYWdtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhUG9seWdvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBjcmVhdGVQb2x5Z29uIH0gZnJvbSAnLi9BcmVhVXRpbHMnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBXaWRnZXQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldCc7XG5pbXBvcnQgeyBjcmVhdGVQb3B1cEZvck9iamVjdCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0Q29udGV4dCc7XG5pbXBvcnQgeyBGZWF0dXJlR3JvdXAgfSBmcm9tICdsZWFmbGV0JztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIEw6IGFueTtcbiAgYXJlYTogSUFyZWEgJiB7IGNvbG9yPzogc3RyaW5nOyBzaG93Q29sb3JPbmx5SW5Cb3JkZXJzPzogYm9vbGVhbiB9O1xuICBtYXBab29tOiBudW1iZXI7XG4gIGdsb2JhbF9kYXRhOiBhbnk7XG4gIGJpbmRQb3B1cD86IGJvb2xlYW47XG4gIGZlYXR1cmVHcm91cDogRmVhdHVyZUdyb3VwO1xufTtcblxuY29uc3QgQXJlYVBvbHlnb246IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG1hcCwgYXJlYSwgbWFwWm9vbSwgZ2xvYmFsX2RhdGEsIGZlYXR1cmVHcm91cCB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvaW50cyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucG9pbnRzX2RhdGEuaXRlbXMpO1xuICBjb25zdCBhcmVhcyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUuYXJlYXNfZGF0YS5pdGVtcyk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuICAvLyB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIGFyZWEsICdBcmVhJywgbWFwWm9vbSk7XG4gIC8vY29uc3QgW0xheWVyR3JvdXBdID0gdXNlU3RhdGU8YW55PihMLmxheWVyR3JvdXAoW10pKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IGhhbmRsZVNlbGVjdEl0ZW0gfSA9IHVzZVNlbGVjdGVkSXRlbSgpO1xuXG4gIGNvbnN0IGxvY2FsZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZSxcbiAgKTtcblxuICBjb25zdCBXV1RQTWFwTG9naWMgPSAocG9seWdvbiwgYXJlYSkgPT4ge1xuICAgIGlmICghV1dUUE1vZGUpIHJldHVybjtcblxuICAgIGNvbnN0IGZldGNoRGF0YUFuZFNob3dQb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgIGxldCBkYXRhO1xuXG4gICAgICBjcmVhdGVQb3B1cEZvck9iamVjdCh7XG4gICAgICAgIHJlbmRlcmVkRWxlbWVudDogd2lkZ2V0Q29udGFpbmVyLFxuICAgICAgICBtYXJrZXI6IHBvbHlnb24sXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYXJlYVR5cGUgPSBhcmVhPy5pc192aXJ0dWFsID09PSB0cnVlID8gJ3ZhcmVhJyA6ICdhcmVhJztcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgICAgIGAvYXBpX3VpL3d3dHBfcGFnZS8ke2FyZWFUeXBlfS8ke2FyZWEuYXJlYV9pZH0vY2FwYWNpdHk/bG9jYWxlPSR7bG9jYWxlfSZ3YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfWAsXG4gICAgICApO1xuXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICB9XG5cbiAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgPFdpZGdldFxuICAgICAgICAgIG9iamVjdD17YXJlYX1cbiAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICBsaXN0RGF0YT17ZGF0YX1cbiAgICAgICAgLz4sXG4gICAgICAgIHdpZGdldENvbnRhaW5lcixcbiAgICAgICk7XG4gICAgICBpZiAoIXBvbHlnb24uaXNQb3B1cE9wZW4oKSkge1xuICAgICAgICBwb2x5Z29uLm9wZW5Qb3B1cCgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBwb2x5Z29uLm9uKCdjbGljay1ldmVudCcsICgpID0+IHtcbiAgICAgIHBvbHlnb24uaXNQb3B1cE9wZW4oKSA/IHBvbHlnb24uY2xvc2VQb3B1cCgpIDogZmV0Y2hEYXRhQW5kU2hvd1BvcHVwKCk7XG4gICAgICBwb2x5Z29uLm9wZW5Ub29sdGlwKCk7XG4gICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBwb2x5Z29uID0gY3JlYXRlUG9seWdvbihcbiAgICAgIGFyZWEsXG4gICAgICBtYXBab29tLFxuICAgICAgZmVhdHVyZUdyb3VwLFxuICAgICAgbWFwLFxuICAgICAgV1dUUE1hcExvZ2ljLFxuICAgICAgV1dUUE1vZGUgPyBoYW5kbGVTZWxlY3RJdGVtIDogbnVsbCxcbiAgICApO1xuICAgIGlmIChwb2x5Z29uKSB7XG4gICAgICBsZXQgc3ViQXJlYXMgPSBhcmVhLnN1Yl9hcmVhcy5tYXAoKHN1YkFyZWEpID0+IHN1YkFyZWEuYXJlYV9pZCk7XG4gICAgICBpZiAoc3ViQXJlYXMubGVuZ3RoID4gMCkge1xuICAgICAgICBwb2x5Z29uWydzdWJfYXJlYXMnXSA9IHN1YkFyZWFzO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW10pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobnVsbCk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoQXJlYVBvbHlnb24pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEs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
126
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9BcmVhVXRpbHMiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1dpZGdldCIsIl91dGlscyIsIl9MaXN0Q29udGV4dCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiQXJlYVBvbHlnb24iLCJwcm9wcyIsIkwiLCJtYXAiLCJhcmVhIiwibWFwWm9vbSIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsInBvaW50c19kYXRhIiwiaXRlbXMiLCJhcmVhcyIsImFyZWFzX2RhdGEiLCJXV1RQTW9kZSIsInd3dHBfZGFzaGJvYXJkIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIkxheWVyR3JvdXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsImhhbmRsZVNlbGVjdEl0ZW0iLCJsb2NhbGUiLCJuYXZfY29udGV4dF9kYXRhIiwibmF2Q29udGV4dCIsIldXVFBNYXBMb2dpYyIsInBvbHlnb24iLCJmZXRjaERhdGFBbmRTaG93UG9wdXAiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3aWRnZXRDb250YWluZXIiLCJkYXRhIiwiYXJlYVR5cGUiLCJyZXNwb25zZSIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsInJlbmRlcmVkRWxlbWVudCIsIm1hcmtlciIsImlzX3ZpcnR1YWwiLCJmZXRjaCIsImNvbmNhdCIsImFyZWFfaWQiLCJ3YXRlckF1dGhvcml0eUlkIiwic2VudCIsIm9rIiwianNvbiIsIlJlYWN0RE9NIiwicmVuZGVyIiwiV2lkZ2V0Iiwib2JqZWN0IiwibGlzdERhdGEiLCJpc1BvcHVwT3BlbiIsIm9wZW5Qb3B1cCIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsIm9uIiwiY2xvc2VQb3B1cCIsInVzZUVmZmVjdCIsImdldExheWVycyIsImxlbmd0aCIsImNyZWF0ZVBvbHlnb24iLCJzdWJBcmVhcyIsInN1Yl9hcmVhcyIsInN1YkFyZWEiLCJGcmFnbWVudCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVBvbHlnb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGNyZWF0ZVBvbHlnb24gfSBmcm9tICcuL0FyZWFVdGlscyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFdpZGdldCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0JztcbmltcG9ydCB7IGNyZWF0ZVBvcHVwRm9yT2JqZWN0IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0JztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIEw6IGFueTtcbiAgYXJlYTogSUFyZWEgJiB7IGNvbG9yPzogc3RyaW5nOyBzaG93Q29sb3JPbmx5SW5Cb3JkZXJzPzogYm9vbGVhbiB9O1xuICBtYXBab29tOiBudW1iZXI7XG4gIGdsb2JhbF9kYXRhOiBhbnk7XG4gIGJpbmRQb3B1cD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBBcmVhUG9seWdvbjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgTCwgbWFwLCBhcmVhLCBtYXBab29tLCBnbG9iYWxfZGF0YSB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvaW50cyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucG9pbnRzX2RhdGEuaXRlbXMpO1xuICBjb25zdCBhcmVhcyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUuYXJlYXNfZGF0YS5pdGVtcyk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuICAvLyB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIGFyZWEsICdBcmVhJywgbWFwWm9vbSk7XG4gIGNvbnN0IFtMYXllckdyb3VwXSA9IHVzZVN0YXRlPGFueT4oTC5sYXllckdyb3VwKFtdKSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBoYW5kbGVTZWxlY3RJdGVtIH0gPSB1c2VTZWxlY3RlZEl0ZW0oKTtcblxuICBjb25zdCBsb2NhbGUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLm5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGUsXG4gICk7XG5cbiAgY29uc3QgV1dUUE1hcExvZ2ljID0gKHBvbHlnb24sIGFyZWEpID0+IHtcbiAgICBpZiAoIVdXVFBNb2RlKSByZXR1cm47XG5cbiAgICAvL3BvbHlnb24uYWRkVG8obWFwKTtcblxuICAgIGNvbnN0IGZldGNoRGF0YUFuZFNob3dQb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgIGxldCBkYXRhO1xuXG4gICAgICBjcmVhdGVQb3B1cEZvck9iamVjdCh7XG4gICAgICAgIHJlbmRlcmVkRWxlbWVudDogd2lkZ2V0Q29udGFpbmVyLFxuICAgICAgICBtYXJrZXI6IHBvbHlnb24sXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYXJlYVR5cGUgPSBhcmVhPy5pc192aXJ0dWFsID09PSB0cnVlID8gJ3ZhcmVhJyA6ICdhcmVhJztcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgICAgIGAvYXBpX3VpL3d3dHBfcGFnZS8ke2FyZWFUeXBlfS8ke2FyZWEuYXJlYV9pZH0vY2FwYWNpdHk/bG9jYWxlPSR7bG9jYWxlfSZ3YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfWAsXG4gICAgICApO1xuXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICB9XG5cbiAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgPFdpZGdldFxuICAgICAgICAgIG9iamVjdD17YXJlYX1cbiAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICBsaXN0RGF0YT17ZGF0YX1cbiAgICAgICAgLz4sXG4gICAgICAgIHdpZGdldENvbnRhaW5lcixcbiAgICAgICk7XG4gICAgICBpZiAoIXBvbHlnb24uaXNQb3B1cE9wZW4oKSkge1xuICAgICAgICBwb2x5Z29uLm9wZW5Qb3B1cCgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBwb2x5Z29uLm9uKCdjbGljay1ldmVudCcsICgpID0+IHtcbiAgICAgIHBvbHlnb24uaXNQb3B1cE9wZW4oKSA/IHBvbHlnb24uY2xvc2VQb3B1cCgpIDogZmV0Y2hEYXRhQW5kU2hvd1BvcHVwKCk7XG4gICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoTGF5ZXJHcm91cC5nZXRMYXllcnMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKExheWVyR3JvdXAsIG1hcFpvb20sIGFyZWEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwb2x5Z29uID0gY3JlYXRlUG9seWdvbihcbiAgICAgICAgYXJlYSxcbiAgICAgICAgbWFwWm9vbSxcbiAgICAgICAgTGF5ZXJHcm91cCxcbiAgICAgICAgbWFwLFxuICAgICAgICBXV1RQTWFwTG9naWMsXG4gICAgICAgIFdXVFBNb2RlID8gaGFuZGxlU2VsZWN0SXRlbSA6IG51bGwsXG4gICAgICApO1xuICAgICAgaWYgKHBvbHlnb24pIHtcbiAgICAgICAgbGV0IHN1YkFyZWFzID0gYXJlYS5zdWJfYXJlYXMubWFwKChzdWJBcmVhKSA9PiBzdWJBcmVhLmFyZWFfaWQpO1xuICAgICAgICBpZiAoc3ViQXJlYXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHBvbHlnb25bJ3N1Yl9hcmVhcyddID0gc3ViQXJlYXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKTtcblxuICByZXR1cm4gPD48Lz47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG51bGwpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEFyZWFQb2x5Z29uKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxVQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFQLE9BQUE7QUFBcUUsU0FBQVEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFWLHdCQUFBYyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFB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
@@ -17,8 +17,7 @@ var AreaPolygons = function AreaPolygons(props) {
17
17
  map = props.map,
18
18
  mapZoom = props.mapZoom,
19
19
  areaToCenterBy = props.areaToCenterBy,
20
- global_data = props.global_data,
21
- featureGroup = props.featureGroup;
20
+ global_data = props.global_data;
22
21
  var group = [];
23
22
  var _useState = (0, _react.useState)(true),
24
23
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -40,9 +39,6 @@ var AreaPolygons = function AreaPolygons(props) {
40
39
  map.invalidateSize(true);
41
40
  }
42
41
  }, [areas]);
43
- (0, _react.useEffect)(function () {
44
- featureGroup.addTo(map);
45
- }, []);
46
42
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, areas.length !== 0 && areas.map(function (area) {
47
43
  return /*#__PURE__*/_react.default.createElement(_AreaPolygon.default, {
48
44
  area: area,
@@ -51,10 +47,9 @@ var AreaPolygons = function AreaPolygons(props) {
51
47
  key: area.area_id,
52
48
  mapZoom: mapZoom,
53
49
  global_data: global_data,
54
- bindPopup: true,
55
- featureGroup: featureGroup
50
+ bindPopup: true
56
51
  });
57
52
  }));
58
53
  };
59
54
  exports.AreaPolygons = AreaPolygons;
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhUG9seWdvbnMiLCJwcm9wcyIsIkwiLCJhcmVhcyIsIm1hcCIsIm1hcFpvb20iLCJhcmVhVG9DZW50ZXJCeSIsImdsb2JhbF9kYXRhIiwiZmVhdHVyZUdyb3VwIiwiZ3JvdXAiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaG91bGRGbHkiLCJzZXRTaG91bGRGbHkiLCJ1c2VFZmZlY3QiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwibGVuZ3RoIiwiZml0Qm91bmRzIiwiZ2V0Qm91bmRzIiwicGFkZGluZyIsImludmFsaWRhdGVTaXplIiwiYWRkVG8iLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJhcmVhIiwiYXJlYV9pZCIsImJpbmRQb3B1cCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVBvbHlnb25zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgQXJlYVBvbHlnb24gZnJvbSAnLi9BcmVhUG9seWdvbic7XG5pbXBvcnQgeyBGZWF0dXJlR3JvdXAgfSBmcm9tICdsZWFmbGV0JztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIEw6IGFueTtcbiAgYXJlYXM6IElBcmVhW107XG4gIG1hcFpvb206IG51bWJlcjtcbiAgYXJlYVRvQ2VudGVyQnk/OiBhbnk7XG4gIGdsb2JhbF9kYXRhOiBhbnk7XG4gIGZlYXR1cmVHcm91cDogRmVhdHVyZUdyb3VwO1xufTtcblxuZXhwb3J0IGNvbnN0IEFyZWFQb2x5Z29uczogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgTCwgYXJlYXMsIG1hcCwgbWFwWm9vbSwgYXJlYVRvQ2VudGVyQnksIGdsb2JhbF9kYXRhLCBmZWF0dXJlR3JvdXAgfSA9XG4gICAgcHJvcHM7XG4gIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuICBjb25zdCBbc2hvdWxkRmx5LCBzZXRTaG91bGRGbHldID0gdXNlU3RhdGUodHJ1ZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2hvdWxkRmx5KSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcC5fbGF5ZXJzKSB7XG4gICAgICAgIGlmIChtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgICBncm91cC5wdXNoKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGdyb3VwLmxlbmd0aCAhPT0gMCAmJiAhYXJlYVRvQ2VudGVyQnkpIHtcbiAgICAgICAgbWFwLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgICBwYWRkaW5nOiBbNDIwLCA0MjBdLFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0U2hvdWxkRmx5KGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgbWFwLmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgIH1cbiAgfSwgW2FyZWFzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmZWF0dXJlR3JvdXAuYWRkVG8obWFwKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHthcmVhcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgYXJlYXMubWFwKChhcmVhOiBJQXJlYSkgPT4gKFxuICAgICAgICAgIDxBcmVhUG9seWdvblxuICAgICAgICAgICAgYXJlYT17YXJlYX1cbiAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgIGtleT17YXJlYS5hcmVhX2lkfVxuICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbX1cbiAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgIGJpbmRQb3B1cD17dHJ1ZX1cbiAgICAgICAgICAgIGZlYXR1cmVHcm91cD17ZmVhdHVyZUdyb3VwfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgIDwvPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsWUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQXdDLFNBQUFHLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTCx3QkFBQVMsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJ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
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhUG9seWdvbnMiLCJwcm9wcyIsIkwiLCJhcmVhcyIsIm1hcCIsIm1hcFpvb20iLCJhcmVhVG9DZW50ZXJCeSIsImdsb2JhbF9kYXRhIiwiZ3JvdXAiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaG91bGRGbHkiLCJzZXRTaG91bGRGbHkiLCJ1c2VFZmZlY3QiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwibGVuZ3RoIiwiZml0Qm91bmRzIiwiZmVhdHVyZUdyb3VwIiwiZ2V0Qm91bmRzIiwicGFkZGluZyIsImludmFsaWRhdGVTaXplIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiYXJlYSIsImFyZWFfaWQiLCJiaW5kUG9wdXAiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2FyZWFzL0FyZWFQb2x5Z29ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IEFyZWFQb2x5Z29uIGZyb20gJy4vQXJlYVBvbHlnb24nO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBhcmVhczogSUFyZWFbXTtcbiAgbWFwWm9vbTogbnVtYmVyO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZ2xvYmFsX2RhdGE6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBBcmVhUG9seWdvbnM6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IEwsIGFyZWFzLCBtYXAsIG1hcFpvb20sIGFyZWFUb0NlbnRlckJ5LCBnbG9iYWxfZGF0YSB9ID0gcHJvcHM7XG4gIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuICBjb25zdCBbc2hvdWxkRmx5LCBzZXRTaG91bGRGbHldID0gdXNlU3RhdGUodHJ1ZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2hvdWxkRmx5KSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcC5fbGF5ZXJzKSB7XG4gICAgICAgIGlmIChtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgICBncm91cC5wdXNoKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGdyb3VwLmxlbmd0aCAhPT0gMCAmJiAhYXJlYVRvQ2VudGVyQnkpIHtcbiAgICAgICAgbWFwLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgICBwYWRkaW5nOiBbNDIwLCA0MjBdLFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0U2hvdWxkRmx5KGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgbWFwLmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgIH1cbiAgfSwgW2FyZWFzXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICBhcmVhcy5tYXAoKGFyZWE6IElBcmVhKSA9PiAoXG4gICAgICAgICAgPEFyZWFQb2x5Z29uXG4gICAgICAgICAgICBhcmVhPXthcmVhfVxuICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAga2V5PXthcmVhLmFyZWFfaWR9XG4gICAgICAgICAgICBtYXBab29tPXttYXBab29tfVxuICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgYmluZFBvcHVwPXt0cnVlfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgIDwvPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsWUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQXdDLFNBQUFHLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTCx3QkFBQVMsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQVdqQyxJQUFNVyxZQUE2QixHQUFHLFNBQWhDQSxZQUE2QkEsQ0FBSUMsS0FBSyxFQUFLO0VBQ3RELElBQVFDLENBQUMsR0FBdURELEtBQUssQ0FBN0RDLENBQUM7SUFBRUMsS0FBSyxHQUFnREYsS0FBSyxDQUExREUsS0FBSztJQUFFQyxHQUFHLEdBQTJDSCxLQUFLLENBQW5ERyxHQUFHO0lBQUVDLE9BQU8sR0FBa0NKLEtBQUssQ0FBOUNJLE9BQU87SUFBRUMsY0FBYyxHQUFrQkwsS0FBSyxDQUFyQ0ssY0FBYztJQUFFQyxXQUFXLEdBQUtOLEtBQUssQ0FBckJNLFdBQVc7RUFDM0QsSUFBTUMsS0FBWSxHQUFHLEVBQUU7RUFDdkIsSUFBQUMsU0FBQSxHQUFrQyxJQUFBQyxlQUFRLEVBQUMsSUFBSSxDQUFDO0lBQUFDLFVBQUEsT0FBQUMsZUFBQSxDQUFBM0IsT0FBQSxFQUFBd0IsU0FBQTtJQUF6Q0ksU0FBUyxHQUFBRixVQUFBO0lBQUVHLFlBQVksR0FBQUgsVUFBQTtFQUU5QixJQUFBSSxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFJRixTQUFTLEVBQUU7TUFDYixLQUFLLElBQU1HLFFBQVEsSUFBSVosR0FBRyxDQUFDYSxPQUFPLEVBQUU7UUFDbEMsSUFBSWIsR0FBRyxDQUFDYSxPQUFPLENBQUNELFFBQVEsQ0FBQyxDQUFDRSxZQUFZLEtBQUssTUFBTSxFQUFFO1VBQ2pEVixLQUFLLENBQUNXLElBQUksQ0FBQ2YsR0FBRyxDQUFDYSxPQUFPLENBQUNELFFBQVEsQ0FBQyxDQUFDO1FBQ25DO01BQ0Y7TUFFQSxJQUFJUixLQUFLLENBQUNZLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQ2QsY0FBYyxFQUFFO1FBQ3pDRixHQUFHLENBQUNpQixTQUFTLENBQUNuQixDQUFDLENBQUNvQixZQUFZLENBQUNkLEtBQUssQ0FBQyxDQUFDZSxTQUFTLENBQUMsQ0FBQyxFQUFFO1VBQy9DQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRztRQUNwQixDQUFDLENBQUM7UUFDRlYsWUFBWSxDQUFDLEtBQUssQ0FBQztNQUNyQjtNQUVBVixHQUFHLENBQUNxQixjQUFjLENBQUMsSUFBSSxDQUFDO0lBQzFCO0VBQ0YsQ0FBQyxFQUFFLENBQUN0QixLQUFLLENBQUMsQ0FBQztFQUVYLG9CQUNFL0IsTUFBQSxDQUFBYSxPQUFBLENBQUF5QyxhQUFBLENBQUF0RCxNQUFBLENBQUFhLE9BQUEsQ0FBQTBDLFFBQUEsUUFDR3hCLEtBQUssQ0FBQ2lCLE1BQU0sS0FBSyxDQUFDLElBQ2pCakIsS0FBSyxDQUFDQyxHQUFHLENBQUMsVUFBQ3dCLElBQVc7SUFBQSxvQkFDcEJ4RCxNQUFBLENBQUFhLE9BQUEsQ0FBQXlDLGFBQUEsQ0FBQ25ELFlBQUEsQ0FBQVUsT0FBVztNQUNWMkMsSUFBSSxFQUFFQSxJQUFLO01BQ1h4QixHQUFHLEVBQUVBLEdBQUk7TUFDVEYsQ0FBQyxFQUFFQSxDQUFFO01BQ0xSLEdBQUcsRUFBRWtDLElBQUksQ0FBQ0MsT0FBUTtNQUNsQnhCLE9BQU8sRUFBRUEsT0FBUTtNQUNqQkUsV0FBVyxFQUFFQSxXQUFZO01BQ3pCdUIsU0FBUyxFQUFFO0lBQUssQ0FDakIsQ0FBQztFQUFBLENBQ0gsQ0FDSCxDQUFDO0FBRVAsQ0FBQztBQUFDQyxPQUFBLENBQUEvQixZQUFBLEdBQUFBLFlBQUEifQ==