@kando-env/kando-ui 1.2.437-alpha.1 → 1.2.437-alpha.11

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.
@@ -1,42 +1,55 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
8
  var _leaflet = _interopRequireDefault(require("leaflet"));
10
- var _react = _interopRequireWildcard(require("react"));
9
+ var _react = require("react");
11
10
  var _reactRedux = require("react-redux");
12
11
  var _actions = require("store/events/actions");
13
- 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); }
14
- 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; }
15
12
  // @ts-ignore
16
13
 
17
14
  var EventPath = function EventPath(_ref) {
18
15
  var event = _ref.event,
19
16
  global_data = _ref.global_data,
20
17
  _ref$eventPaths = _ref.eventPaths,
21
- eventPaths = _ref$eventPaths === void 0 ? [] : _ref$eventPaths;
18
+ eventPaths = _ref$eventPaths === void 0 ? [] : _ref$eventPaths,
19
+ _ref$points_data = _ref.points_data,
20
+ points_data = _ref$points_data === void 0 ? [] : _ref$points_data;
22
21
  var map = global_data.map;
23
22
  var dispatch = (0, _reactRedux.useDispatch)();
23
+ var groupRef = (0, _react.useRef)(null);
24
+
25
+ // Initialize the group once
26
+ (0, _react.useEffect)(function () {
27
+ if (map && !groupRef.current) {
28
+ groupRef.current = _leaflet.default.featureGroup().addTo(map);
29
+ }
30
+ return function () {
31
+ if (groupRef.current) {
32
+ groupRef.current.clearLayers();
33
+ map.removeLayer(groupRef.current);
34
+ groupRef.current = null;
35
+ }
36
+ };
37
+ }, [map]);
24
38
  var drawPolyline = function drawPolyline(event, layerLatlngs, eventPathsAsMapObjects) {
39
+ if (!groupRef.current) return;
25
40
  var eventPath = _leaflet.default.polyline(layerLatlngs, {
26
41
  color: 'rgb(236,119,156)',
27
42
  weight: 10,
28
43
  className: 'event-path',
29
44
  stroke: true
30
- }).addTo(map);
45
+ }).addTo(groupRef.current);
31
46
  eventPathsAsMapObjects.push(eventPath);
32
47
  eventPath['kando_object_id'] = event.id;
33
48
  eventPath['kando_object'] = 'EventPath';
34
49
  var tailDash;
35
50
  if (window.L.Symbol !== undefined) {
36
51
  tailDash = window.L.polylineDecorator(eventPath._latlngs, {
37
- patterns: [
38
- // defines a pattern of 10px-wide dashes, repeated every 20px on the line
39
- {
52
+ patterns: [{
40
53
  offset: 20,
41
54
  repeat: 60,
42
55
  symbol: window.L.Symbol.arrowHead({
@@ -50,43 +63,79 @@ var EventPath = function EventPath(_ref) {
50
63
  }
51
64
  })
52
65
  }]
53
- }).addTo(map);
66
+ }).addTo(groupRef.current);
54
67
  tailDash['kando_object'] = 'Arrow';
68
+ if (tailDash) eventPathsAsMapObjects.push(tailDash);
69
+ // if (tailDash.bringToFront) tailDash.bringToFront();
55
70
  }
56
- eventPathsAsMapObjects.push(tailDash);
71
+
72
+ // if (eventPath.bringToFront) eventPath.bringToFront();
73
+
57
74
  if (event.hovered) {
58
75
  dispatch((0, _actions.setHoveredEventPaths)(eventPathsAsMapObjects));
59
76
  } else {
60
77
  dispatch((0, _actions.setFocusedEventPaths)(eventPathsAsMapObjects));
61
78
  }
62
79
  };
80
+ var buildLayerLookup = function buildLayerLookup(layers) {
81
+ var lookup = {};
82
+ for (var property in layers) {
83
+ var layer = layers[property];
84
+ if (layer.kando_object_id !== undefined && layer.kando_object === 'Edge') {
85
+ lookup[layer.kando_object_id] = layer;
86
+ }
87
+ }
88
+ return lookup;
89
+ };
90
+
91
+ // Memoize the layer lookup so it only recalculates when map._layers changes
92
+ var layerLookup = (0, _react.useMemo)(function () {
93
+ if (!map) return {};
94
+ return buildLayerLookup(map._layers);
95
+ }, [map, map === null || map === void 0 ? void 0 : map._layers]);
63
96
  var renderEventPath = function renderEventPath(event, isHover) {
64
- if (map !== undefined) {
97
+ if (map !== undefined && groupRef.current) {
98
+ groupRef.current.clearLayers();
65
99
  var eventPathsAsMapObjects = [];
66
- var layers = map._layers;
100
+ // const layers = map._layers;
101
+ // const layerLookup = buildLayerLookup(layers);
102
+
67
103
  event.path.forEach(function (path) {
68
- for (var property in layers) {
69
- if (layers[property].kando_object_id !== undefined && layers[property].kando_object_id === path.edge_id && layers[property].kando_object === 'Edge') {
70
- var layerLatlngs = layers[property].getLatLngs();
71
- drawPolyline(event, layerLatlngs, eventPathsAsMapObjects);
72
- }
104
+ var layer = layerLookup[path.edge_id];
105
+ if (layer) {
106
+ var layerLatlngs = layer.getLatLngs();
107
+ drawPolyline(event, layerLatlngs, eventPathsAsMapObjects);
73
108
  }
74
109
  });
75
- if (!isHover && eventPathsAsMapObjects.length !== 0) {
76
- map.fitBounds(_leaflet.default.featureGroup(eventPathsAsMapObjects).getBounds().pad(0.1));
110
+ if (!isHover) {
111
+ var validLayers = eventPathsAsMapObjects.filter(Boolean);
112
+ if (validLayers.length !== 0) {
113
+ if (validLayers.length >= 2) {
114
+ map.fitBounds(_leaflet.default.featureGroup([validLayers[0], validLayers[validLayers.length - 1]]).getBounds().pad(0.1));
115
+ }
116
+ } else {
117
+ if (points_data.length === 0) return;
118
+ var point = points_data.find(function (point) {
119
+ return point.id === event.last_observation_from_hierarchy.point_id;
120
+ });
121
+ if (point && point.latitude && point.longitude) {
122
+ map.setView([point.latitude, point.longitude], 14);
123
+ }
124
+ }
77
125
  }
78
126
  }
79
127
  };
80
128
  (0, _react.useEffect)(function () {
81
129
  if (eventPaths) {
82
- eventPaths.forEach(function (path) {
83
- map.removeLayer(path);
84
- });
130
+ // eventPaths.forEach((path) => {
131
+ // map.removeLayer(path);
132
+ // });
133
+
85
134
  renderEventPath(event, event.hovered);
86
135
  }
87
136
  }, [event, event.hovered]);
88
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
137
+ return null;
89
138
  };
90
139
  var _default = EventPath;
91
140
  exports.default = _default;
92
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFdmVudFBhdGgiLCJfcmVmIiwiZXZlbnQiLCJnbG9iYWxfZGF0YSIsIl9yZWYkZXZlbnRQYXRocyIsImV2ZW50UGF0aHMiLCJtYXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiZHJhd1BvbHlsaW5lIiwibGF5ZXJMYXRsbmdzIiwiZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyIsImV2ZW50UGF0aCIsIkwiLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0IiwiY2xhc3NOYW1lIiwic3Ryb2tlIiwiYWRkVG8iLCJwdXNoIiwiaWQiLCJ0YWlsRGFzaCIsIndpbmRvdyIsIlN5bWJvbCIsInVuZGVmaW5lZCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsIm9wYWNpdHkiLCJob3ZlcmVkIiwic2V0SG92ZXJlZEV2ZW50UGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsInJlbmRlckV2ZW50UGF0aCIsImlzSG92ZXIiLCJsYXllcnMiLCJfbGF5ZXJzIiwicGF0aCIsImZvckVhY2giLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdF9pZCIsImVkZ2VfaWQiLCJrYW5kb19vYmplY3QiLCJnZXRMYXRMbmdzIiwibGVuZ3RoIiwiZml0Qm91bmRzIiwiZmVhdHVyZUdyb3VwIiwiZ2V0Qm91bmRzIiwicGFkIiwidXNlRWZmZWN0IiwicmVtb3ZlTGF5ZXIiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL0V2ZW50UGF0aC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQge1xuICBzZXRGb2N1c2VkRXZlbnRQYXRocyxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGV2ZW50OiBJRXZlbnQ7XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGV2ZW50UGF0aHM/OiBhbnlbXTtcbn07XG5cbmNvbnN0IEV2ZW50UGF0aDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGV2ZW50LFxuICBnbG9iYWxfZGF0YSxcbiAgZXZlbnRQYXRocyA9IFtdLFxufSkgPT4ge1xuICBjb25zdCB7IG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcblxuICBjb25zdCBkcmF3UG9seWxpbmUgPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICBsYXllckxhdGxuZ3M6IGFueSxcbiAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzOiBhbnksXG4gICkgPT4ge1xuICAgIGxldCBldmVudFBhdGggPSBMLnBvbHlsaW5lKGxheWVyTGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjM2LDExOSwxNTYpJyxcbiAgICAgIHdlaWdodDogMTAsXG4gICAgICBjbGFzc05hbWU6ICdldmVudC1wYXRoJyxcbiAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cy5wdXNoKGV2ZW50UGF0aCk7XG4gICAgZXZlbnRQYXRoWydrYW5kb19vYmplY3RfaWQnXSA9IGV2ZW50LmlkO1xuICAgIGV2ZW50UGF0aFsna2FuZG9fb2JqZWN0J10gPSAnRXZlbnRQYXRoJztcblxuICAgIGxldCB0YWlsRGFzaDogYW55O1xuICAgIGlmICh3aW5kb3cuTC5TeW1ib2wgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGFpbERhc2ggPSB3aW5kb3cuTC5wb2x5bGluZURlY29yYXRvcihldmVudFBhdGguX2xhdGxuZ3MsIHtcbiAgICAgICAgcGF0dGVybnM6IFtcbiAgICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgICAge1xuICAgICAgICAgICAgb2Zmc2V0OiAyMCxcbiAgICAgICAgICAgIHJlcGVhdDogNjAsXG4gICAgICAgICAgICBzeW1ib2w6IHdpbmRvdy5MLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgICBwaXhlbFNpemU6IDMsXG4gICAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYigyNTUsMjU1LDI1NSknLFxuICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnQXJyb3cnO1xuICAgIH1cblxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHMucHVzaCh0YWlsRGFzaCk7XG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50UGF0aHMoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCByZW5kZXJFdmVudFBhdGggPSAoZXZlbnQ6IElFdmVudCwgaXNIb3ZlcjogYm9vbGVhbikgPT4ge1xuICAgIGlmIChtYXAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IGV2ZW50UGF0aHNBc01hcE9iamVjdHM6IGFueVtdID0gW107XG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0X2lkICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0X2lkID09PSBwYXRoLmVkZ2VfaWQgJiZcbiAgICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRWRnZSdcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGxldCBsYXllckxhdGxuZ3MgPSBsYXllcnNbcHJvcGVydHldLmdldExhdExuZ3MoKTtcbiAgICAgICAgICAgIGRyYXdQb2x5bGluZShldmVudCwgbGF5ZXJMYXRsbmdzLCBldmVudFBhdGhzQXNNYXBPYmplY3RzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIWlzSG92ZXIgJiYgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgbWFwLmZpdEJvdW5kcyhcbiAgICAgICAgICBMLmZlYXR1cmVHcm91cChldmVudFBhdGhzQXNNYXBPYmplY3RzKS5nZXRCb3VuZHMoKS5wYWQoMC4xKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZXZlbnRQYXRocykge1xuICAgICAgZXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgIH0pO1xuXG4gICAgICByZW5kZXJFdmVudFBhdGgoZXZlbnQsIGV2ZW50LmhvdmVyZWQpO1xuICAgIH1cbiAgfSwgW2V2ZW50LCBldmVudC5ob3ZlcmVkXSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRXZlbnRQYXRoO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUdrQyxTQUFBSyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFB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
141
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfYWN0aW9ucyIsIkV2ZW50UGF0aCIsIl9yZWYiLCJldmVudCIsImdsb2JhbF9kYXRhIiwiX3JlZiRldmVudFBhdGhzIiwiZXZlbnRQYXRocyIsIl9yZWYkcG9pbnRzX2RhdGEiLCJwb2ludHNfZGF0YSIsIm1hcCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJncm91cFJlZiIsInVzZVJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJMIiwiZmVhdHVyZUdyb3VwIiwiYWRkVG8iLCJjbGVhckxheWVycyIsInJlbW92ZUxheWVyIiwiZHJhd1BvbHlsaW5lIiwibGF5ZXJMYXRsbmdzIiwiZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyIsImV2ZW50UGF0aCIsInBvbHlsaW5lIiwiY29sb3IiLCJ3ZWlnaHQiLCJjbGFzc05hbWUiLCJzdHJva2UiLCJwdXNoIiwiaWQiLCJ0YWlsRGFzaCIsIndpbmRvdyIsIlN5bWJvbCIsInVuZGVmaW5lZCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsIm9wYWNpdHkiLCJob3ZlcmVkIiwic2V0SG92ZXJlZEV2ZW50UGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsImJ1aWxkTGF5ZXJMb29rdXAiLCJsYXllcnMiLCJsb29rdXAiLCJwcm9wZXJ0eSIsImxheWVyIiwia2FuZG9fb2JqZWN0X2lkIiwia2FuZG9fb2JqZWN0IiwibGF5ZXJMb29rdXAiLCJ1c2VNZW1vIiwiX2xheWVycyIsInJlbmRlckV2ZW50UGF0aCIsImlzSG92ZXIiLCJwYXRoIiwiZm9yRWFjaCIsImVkZ2VfaWQiLCJnZXRMYXRMbmdzIiwidmFsaWRMYXllcnMiLCJmaWx0ZXIiLCJCb29sZWFuIiwibGVuZ3RoIiwiZml0Qm91bmRzIiwiZ2V0Qm91bmRzIiwicGFkIiwicG9pbnQiLCJmaW5kIiwibGFzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeSIsInBvaW50X2lkIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJzZXRWaWV3IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRQYXRoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgc2V0Rm9jdXNlZEV2ZW50UGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudFBhdGhzLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBldmVudDogSUV2ZW50O1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBldmVudFBhdGhzPzogYW55W107XG4gIHBvaW50c19kYXRhPzogYW55W107XG59O1xuXG5jb25zdCBFdmVudFBhdGg6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBldmVudCxcbiAgZ2xvYmFsX2RhdGEsXG4gIGV2ZW50UGF0aHMgPSBbXSxcbiAgcG9pbnRzX2RhdGEgPSBbXSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IGdyb3VwUmVmID0gdXNlUmVmPEwuRmVhdHVyZUdyb3VwIHwgbnVsbD4obnVsbCk7XG5cbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ3JvdXAgb25jZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChtYXAgJiYgIWdyb3VwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGdyb3VwUmVmLmN1cnJlbnQgPSBMLmZlYXR1cmVHcm91cCgpLmFkZFRvKG1hcCk7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoZ3JvdXBSZWYuY3VycmVudCkge1xuICAgICAgICBncm91cFJlZi5jdXJyZW50LmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihncm91cFJlZi5jdXJyZW50KTtcbiAgICAgICAgZ3JvdXBSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW21hcF0pO1xuXG4gIGNvbnN0IGRyYXdQb2x5bGluZSA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIGxheWVyTGF0bG5nczogYW55LFxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHM6IGFueSxcbiAgKSA9PiB7XG4gICAgaWYgKCFncm91cFJlZi5jdXJyZW50KSByZXR1cm47XG5cbiAgICBsZXQgZXZlbnRQYXRoID0gTC5wb2x5bGluZShsYXllckxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDIzNiwxMTksMTU2KScsXG4gICAgICB3ZWlnaHQ6IDEwLFxuICAgICAgY2xhc3NOYW1lOiAnZXZlbnQtcGF0aCcsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgfSkuYWRkVG8oZ3JvdXBSZWYuY3VycmVudCk7XG5cbiAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzLnB1c2goZXZlbnRQYXRoKTtcbiAgICBldmVudFBhdGhbJ2thbmRvX29iamVjdF9pZCddID0gZXZlbnQuaWQ7XG4gICAgZXZlbnRQYXRoWydrYW5kb19vYmplY3QnXSA9ICdFdmVudFBhdGgnO1xuXG4gICAgbGV0IHRhaWxEYXNoOiBhbnk7XG4gICAgaWYgKHdpbmRvdy5MLlN5bWJvbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0YWlsRGFzaCA9IHdpbmRvdy5MLnBvbHlsaW5lRGVjb3JhdG9yKGV2ZW50UGF0aC5fbGF0bG5ncywge1xuICAgICAgICBwYXR0ZXJuczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9mZnNldDogMjAsXG4gICAgICAgICAgICByZXBlYXQ6IDYwLFxuICAgICAgICAgICAgc3ltYm9sOiB3aW5kb3cuTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgICBwb2x5Z29uOiBmYWxzZSxcbiAgICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdyZ2IoMjU1LDI1NSwyNTUpJyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KS5hZGRUbyhncm91cFJlZi5jdXJyZW50KTtcbiAgICAgIHRhaWxEYXNoWydrYW5kb19vYmplY3QnXSA9ICdBcnJvdyc7XG4gICAgICBpZiAodGFpbERhc2gpIGV2ZW50UGF0aHNBc01hcE9iamVjdHMucHVzaCh0YWlsRGFzaCk7XG4gICAgICAvLyBpZiAodGFpbERhc2guYnJpbmdUb0Zyb250KSB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcbiAgICB9XG5cbiAgICAvLyBpZiAoZXZlbnRQYXRoLmJyaW5nVG9Gcm9udCkgZXZlbnRQYXRoLmJyaW5nVG9Gcm9udCgpO1xuXG4gICAgaWYgKGV2ZW50LmhvdmVyZWQpIHtcbiAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50UGF0aHMoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBidWlsZExheWVyTG9va3VwID0gKGxheWVycykgPT4ge1xuICAgIGNvbnN0IGxvb2t1cCA9IHt9O1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBjb25zdCBsYXllciA9IGxheWVyc1twcm9wZXJ0eV07XG4gICAgICBpZiAoXG4gICAgICAgIGxheWVyLmthbmRvX29iamVjdF9pZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGxheWVyLmthbmRvX29iamVjdCA9PT0gJ0VkZ2UnXG4gICAgICApIHtcbiAgICAgICAgbG9va3VwW2xheWVyLmthbmRvX29iamVjdF9pZF0gPSBsYXllcjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxvb2t1cDtcbiAgfTtcblxuICAvLyBNZW1vaXplIHRoZSBsYXllciBsb29rdXAgc28gaXQgb25seSByZWNhbGN1bGF0ZXMgd2hlbiBtYXAuX2xheWVycyBjaGFuZ2VzXG4gIGNvbnN0IGxheWVyTG9va3VwID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFtYXApIHJldHVybiB7fTtcbiAgICByZXR1cm4gYnVpbGRMYXllckxvb2t1cChtYXAuX2xheWVycyk7XG4gIH0sIFttYXAsIG1hcD8uX2xheWVyc10pO1xuXG4gIGNvbnN0IHJlbmRlckV2ZW50UGF0aCA9IChldmVudDogSUV2ZW50LCBpc0hvdmVyOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKG1hcCAhPT0gdW5kZWZpbmVkICYmIGdyb3VwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGdyb3VwUmVmLmN1cnJlbnQuY2xlYXJMYXllcnMoKTtcbiAgICAgIGxldCBldmVudFBhdGhzQXNNYXBPYmplY3RzOiBhbnlbXSA9IFtdO1xuICAgICAgLy8gY29uc3QgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICAvLyBjb25zdCBsYXllckxvb2t1cCA9IGJ1aWxkTGF5ZXJMb29rdXAobGF5ZXJzKTtcblxuICAgICAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXRoOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgbGF5ZXIgPSBsYXllckxvb2t1cFtwYXRoLmVkZ2VfaWRdO1xuICAgICAgICBpZiAobGF5ZXIpIHtcbiAgICAgICAgICBsZXQgbGF5ZXJMYXRsbmdzID0gbGF5ZXIuZ2V0TGF0TG5ncygpO1xuICAgICAgICAgIGRyYXdQb2x5bGluZShldmVudCwgbGF5ZXJMYXRsbmdzLCBldmVudFBhdGhzQXNNYXBPYmplY3RzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmICghaXNIb3Zlcikge1xuICAgICAgICBjb25zdCB2YWxpZExheWVycyA9IGV2ZW50UGF0aHNBc01hcE9iamVjdHMuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICBpZiAodmFsaWRMYXllcnMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgaWYgKHZhbGlkTGF5ZXJzLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgICAgICBtYXAuZml0Qm91bmRzKFxuICAgICAgICAgICAgICBMLmZlYXR1cmVHcm91cChbXG4gICAgICAgICAgICAgICAgdmFsaWRMYXllcnNbMF0sXG4gICAgICAgICAgICAgICAgdmFsaWRMYXllcnNbdmFsaWRMYXllcnMubGVuZ3RoIC0gMV0sXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgLmdldEJvdW5kcygpXG4gICAgICAgICAgICAgICAgLnBhZCgwLjEpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHBvaW50c19kYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG4gICAgICAgICAgY29uc3QgcG9pbnQgPSBwb2ludHNfZGF0YS5maW5kKFxuICAgICAgICAgICAgKHBvaW50KSA9PlxuICAgICAgICAgICAgICBwb2ludC5pZCA9PT0gZXZlbnQubGFzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeS5wb2ludF9pZCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChwb2ludCAmJiBwb2ludC5sYXRpdHVkZSAmJiBwb2ludC5sb25naXR1ZGUpIHtcbiAgICAgICAgICAgIG1hcC5zZXRWaWV3KFtwb2ludC5sYXRpdHVkZSwgcG9pbnQubG9uZ2l0dWRlXSwgMTQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChldmVudFBhdGhzKSB7XG4gICAgICAvLyBldmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgIC8vICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgLy8gfSk7XG5cbiAgICAgIHJlbmRlckV2ZW50UGF0aChldmVudCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgfVxuICB9LCBbZXZlbnQsIGV2ZW50LmhvdmVyZWRdKTtcblxuICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50UGF0aDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUpBOztBQWtCQSxJQUFNSSxTQUEyQixHQUFHLFNBQTlCQSxTQUEyQkEsQ0FBQUMsSUFBQSxFQUszQjtFQUFBLElBSkpDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0lBQ0xDLFdBQVcsR0FBQUYsSUFBQSxDQUFYRSxXQUFXO0lBQUFDLGVBQUEsR0FBQUgsSUFBQSxDQUNYSSxVQUFVO0lBQVZBLFVBQVUsR0FBQUQsZUFBQSxjQUFHLEVBQUUsR0FBQUEsZUFBQTtJQUFBRSxn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
@@ -60,6 +60,7 @@ var PointOfEvent = function PointOfEvent(_ref) {
60
60
  (0, _jquery.default)('#sector').empty().append(sector);
61
61
  }, 200);
62
62
  var attachClickEvent = function attachClickEvent(selector, observation) {
63
+ (0, _jquery.default)(document.body).off('click', selector); // Remove previous handlers
63
64
  (0, _jquery.default)(document.body).on('click', selector, function () {
64
65
  dispatch((0, _actions.closeFloatingGraph)());
65
66
  dispatch((0, _actions.openFloatingGraph)(true, observation, point));
@@ -154,4 +155,4 @@ var PointOfEvent = function PointOfEvent(_ref) {
154
155
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
155
156
  };
156
157
  exports.PointOfEvent = PointOfEvent;
157
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9pbnRVdGlscyIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfVGltZUZvcm1hdCIsIl9TZWN0b3IiLCJfanF1ZXJ5IiwiX2FjdGlvbnMiLCJfcmVhY3RSZWR1eCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlBvaW50T2ZFdmVudCIsIl9yZWYiLCJtYXAiLCJwb2ludCIsImV2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImJpbmRQb3B1cFRvUG9pbnQiLCJvYnMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJsYXllcnMiLCJfbGF5ZXJzIiwiX2xvb3AiLCJwcm9wZXJ0eSIsImluY2x1ZGVzIiwia2FuZG9fb2JqZWN0Iiwia2FuZG9fb2JqZWN0X2lkIiwiaWQiLCJiaW5kUG9wdXAiLCJwb3B1cENvbnRlbnQiLCJtaW5XaWR0aCIsIm9uIiwiZSIsImZpcnN0U2VlbiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImxhc3RTZWVuIiwic2VjdG9yIiwiUmVhY3RET00iLCJyZW5kZXIiLCJ0aW1lc3RhbXAiLCJzdGFydF90aW1lIiwidGltZV96b25lIiwibGFzdF9zZWVuX3RpbWUiLCJzZWN0b3JOYW1lIiwiZ3JvdXAiLCJzZWN0b3JfbmFtZSIsInNlY3Rvckljb25OYW1lIiwic2VjdG9yX2ljb25fbmFtZSIsIndpZHRoIiwic2V0VGltZW91dCIsIiQiLCJlbXB0eSIsImFwcGVuZCIsImF0dGFjaENsaWNrRXZlbnQiLCJzZWxlY3RvciIsIm9ic2VydmF0aW9uIiwiYm9keSIsImNsb3NlRmxvYXRpbmdHcmFwaCIsIm9wZW5GbG9hdGluZ0dyYXBoIiwib3BlblBvcHVwIiwidiIsIl9yZXQiLCJfdHlwZW9mMiIsInVzZUVmZmVjdCIsImRldmljZV9zdGF0dXMiLCJmb2N1c2VkIiwib2JzZXJ2YXRpb25zIiwiZmlsdGVyIiwicG9pbnRfaWQiLCJGcmFnbWVudCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL1BvaW50T2ZFdmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHBvcHVwQ29udGVudCB9IGZyb20gJy4uL3BvaW50cy9Qb2ludFV0aWxzJztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IFRpbWVGb3JtYXQgZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL1RpbWVGb3JtYXQnO1xuaW1wb3J0IFNlY3RvciBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1NlY3Rvcic7XG5pbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IHtcbiAgY2xvc2VGbG9hdGluZ0dyYXBoLFxuICBvcGVuRmxvYXRpbmdHcmFwaCxcbn0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgcG9pbnQ6IElQb2ludDtcbiAgZXZlbnQ6IElFdmVudDtcbn07XG5cbmV4cG9ydCBjb25zdCBQb2ludE9mRXZlbnQ6IFJlYWN0LkZDPElQcm9wcz4gPSAoeyBtYXAsIHBvaW50LCBldmVudCB9KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgLy8gY29uc3QgeyBmbG93X3JhdGVfdW5pdDogZmxvd1JhdGVVbml0IH0gPSB1c2VTZWxlY3RvcihcbiAgLy8gICAoc3RhdGU6IGFueSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvLFxuICAvLyApO1xuXG4gIGNvbnN0IGJpbmRQb3B1cFRvUG9pbnQgPSAob2JzOiBhbnkgPSBudWxsKSA9PiB7XG4gICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIFsnUG9pbnQnLCAnT2JzZXJ2YXRpb24nXS5pbmNsdWRlcyhsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCkgJiZcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgPT09IHBvaW50LmlkXG4gICAgICApIHtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5iaW5kUG9wdXAocG9wdXBDb250ZW50KG9icywgcG9pbnQpLCB7XG4gICAgICAgICAgbWluV2lkdGg6IDIwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub24oJ3BvcHVwb3BlbicsIGZ1bmN0aW9uIChlOiBhbnkpIHtcbiAgICAgICAgICBsZXQgZmlyc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IGxhc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IHNlY3RvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgICAgaWYgKG9icyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17b2JzLnN0YXJ0X3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnMudGltZV96b25lfVxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgZmlyc3RTZWVuLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e29icy5sYXN0X3NlZW5fdGltZX1cbiAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e29icy50aW1lX3pvbmV9XG4gICAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgICBsYXN0U2VlbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFNlY3RvclxuICAgICAgICAgICAgICAgIHNlY3Rvck5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfVxuICAgICAgICAgICAgICAgIHNlY3Rvckljb25OYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfaWNvbl9uYW1lfVxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMzdcIlxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgc2VjdG9yLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICQoJyNmaXJzdC1zZWVuLXBvcHVwJykuZW1wdHkoKS5hcHBlbmQoZmlyc3RTZWVuKTtcbiAgICAgICAgICAgICQoJyNsYXN0LXNlZW4tcG9wdXAnKS5lbXB0eSgpLmFwcGVuZChsYXN0U2Vlbik7XG4gICAgICAgICAgICAkKCcjc2VjdG9yJykuZW1wdHkoKS5hcHBlbmQoc2VjdG9yKTtcbiAgICAgICAgICB9LCAyMDApO1xuXG4gICAgICAgICAgbGV0IGF0dGFjaENsaWNrRXZlbnQgPSAoc2VsZWN0b3I6IHN0cmluZywgb2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgJChkb2N1bWVudC5ib2R5KS5vbignY2xpY2snLCBzZWxlY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgICAgICAgICAgIGRpc3BhdGNoKG9wZW5GbG9hdGluZ0dyYXBoKHRydWUsIG9ic2VydmF0aW9uLCBwb2ludCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmIChvYnMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBvYnMuaWQsIG9icyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBwb2ludC5pZCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vcGVuUG9wdXAoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcCB8fCAhcG9pbnQgfHwgIWV2ZW50KSByZXR1cm47XG5cbiAgICAvLyBpZiAoaXNDb2xsZWN0b3JVbm1vbml0b3JlZChwb2ludCkpIHJldHVybjtcblxuICAgIC8vIGxldCBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUgPSBbcG9pbnRbJ2xhdGl0dWRlJ10sIHBvaW50Wydsb25naXR1ZGUnXV07XG4gICAgLy8gbGV0IGxheWVyR3JvdXAgPSBMLmxheWVyR3JvdXAoKTtcblxuICAgIC8vIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgIC8vICAgbWFya2VyTG9jYXRpb24sXG4gICAgLy8gICBwb2ludCxcbiAgICAvLyAgIG1hcCxcbiAgICAvLyAgIGV2ZW50LmhvdmVyZWQsXG4gICAgLy8gICBsYXllckdyb3VwLFxuICAgIC8vICAgZmxvd1JhdGVVbml0LFxuICAgIC8vICk7XG5cbiAgICBpZiAocG9pbnQuZGV2aWNlX3N0YXR1cyAhPT0gJ3JlZ3VsYXInICYmIGV2ZW50LmZvY3VzZWQpIHtcbiAgICAgIGxldCBvYnMgPSBldmVudC5vYnNlcnZhdGlvbnMuZmlsdGVyKFxuICAgICAgICAob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHBvaW50LmlkLFxuICAgICAgKVswXTtcblxuICAgICAgYmluZFBvcHVwVG9Qb2ludChvYnMpO1xuICAgIH1cblxuICAgIC8vIGlmIChldmVudC5mb2N1c2VkKVxuICAgIC8vICAgY3JlYXRlU2FtcGxpbmdJY29ucyhcbiAgICAvLyAgICAgbWFya2VyTG9jYXRpb24sXG4gICAgLy8gICAgIGV2ZW50LFxuICAgIC8vICAgICBwb2ludCxcbiAgICAvLyAgICAgbWFwLFxuICAgIC8vICAgICBldmVudC5ob3ZlcmVkLFxuICAgIC8vICAgICBsYXllckdyb3VwLFxuICAgIC8vICAgKTtcbiAgICAvLyBsZXQgaGFzUHJpbWFyeUljb24gPSBtYXRjaEljb25Ub1BvaW50KHBvaW50LCBldmVudCkgIT09IG51bGw7XG5cbiAgICAvLyBpZiAocG9pbnRJc09ic2VydmF0aW9uKGV2ZW50LCBwb2ludCkgJiYgZXZlbnQuZm9jdXNlZCkge1xuICAgIC8vICAgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQoXG4gICAgLy8gICAgIG1hcmtlckxvY2F0aW9uLFxuICAgIC8vICAgICBoYXNQcmltYXJ5SWNvbixcbiAgICAvLyAgICAgbWFwLFxuICAgIC8vICAgICBwb2ludCxcbiAgICAvLyAgICAgZXZlbnQsXG4gICAgLy8gICAgIGV2ZW50LmhvdmVyZWQsXG4gICAgLy8gICAgIGxheWVyR3JvdXAsXG4gICAgLy8gICApO1xuICAgIC8vIH1cbiAgICAvLyBsYXllckdyb3VwLmFkZFRvKG1hcCk7XG5cbiAgICAvLyBpY29uWm9vbUNvbnRyb2wobWFwKTtcbiAgICAvLyBpZiAoZXZlbnQuaG92ZXJlZCkge1xuICAgIC8vICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgLy8gICAgIC8vIFVOQklORCBQT1BVUFxuICAgIC8vICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdPYnNlcnZhdGlvbkhvdmVyZWQnKTtcbiAgICAvLyAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnUG9pbnRIb3ZlcmVkJyk7XG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ1NhbXBsaW5nSG92ZXJlZCcpO1xuICAgIC8vICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdJY29uTnVtYmVySG92ZXJlZCcpO1xuICAgIC8vICAgfTtcbiAgICAvLyB9IGVsc2Uge1xuICAgIC8vICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgLy8gICAgIC8vIFVOQklORCBQT1BVUFxuICAgIC8vICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdPYnNlcnZhdGlvbicpO1xuICAgIC8vICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdQb2ludCcpO1xuICAgIC8vICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdTYW1wbGluZycpO1xuICAgIC8vICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdJY29uTnVtYmVyJyk7XG4gICAgLy8gICB9O1xuICAgIC8vIH1cbiAgfSwgW2V2ZW50LmZvY3VzZWRdKTtcblxuICByZXR1cm4gPD48Lz47XG59O1xuIl0sIm1hcHBpbmdzIjoi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
158
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9pbnRVdGlscyIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfVGltZUZvcm1hdCIsIl9TZWN0b3IiLCJfanF1ZXJ5IiwiX2FjdGlvbnMiLCJfcmVhY3RSZWR1eCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlBvaW50T2ZFdmVudCIsIl9yZWYiLCJtYXAiLCJwb2ludCIsImV2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImJpbmRQb3B1cFRvUG9pbnQiLCJvYnMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJsYXllcnMiLCJfbGF5ZXJzIiwiX2xvb3AiLCJwcm9wZXJ0eSIsImluY2x1ZGVzIiwia2FuZG9fb2JqZWN0Iiwia2FuZG9fb2JqZWN0X2lkIiwiaWQiLCJiaW5kUG9wdXAiLCJwb3B1cENvbnRlbnQiLCJtaW5XaWR0aCIsIm9uIiwiZSIsImZpcnN0U2VlbiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImxhc3RTZWVuIiwic2VjdG9yIiwiUmVhY3RET00iLCJyZW5kZXIiLCJ0aW1lc3RhbXAiLCJzdGFydF90aW1lIiwidGltZV96b25lIiwibGFzdF9zZWVuX3RpbWUiLCJzZWN0b3JOYW1lIiwiZ3JvdXAiLCJzZWN0b3JfbmFtZSIsInNlY3Rvckljb25OYW1lIiwic2VjdG9yX2ljb25fbmFtZSIsIndpZHRoIiwic2V0VGltZW91dCIsIiQiLCJlbXB0eSIsImFwcGVuZCIsImF0dGFjaENsaWNrRXZlbnQiLCJzZWxlY3RvciIsIm9ic2VydmF0aW9uIiwiYm9keSIsIm9mZiIsImNsb3NlRmxvYXRpbmdHcmFwaCIsIm9wZW5GbG9hdGluZ0dyYXBoIiwib3BlblBvcHVwIiwidiIsIl9yZXQiLCJfdHlwZW9mMiIsInVzZUVmZmVjdCIsImRldmljZV9zdGF0dXMiLCJmb2N1c2VkIiwib2JzZXJ2YXRpb25zIiwiZmlsdGVyIiwicG9pbnRfaWQiLCJGcmFnbWVudCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL1BvaW50T2ZFdmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHBvcHVwQ29udGVudCB9IGZyb20gJy4uL3BvaW50cy9Qb2ludFV0aWxzJztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IFRpbWVGb3JtYXQgZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL1RpbWVGb3JtYXQnO1xuaW1wb3J0IFNlY3RvciBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1NlY3Rvcic7XG5pbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IHtcbiAgY2xvc2VGbG9hdGluZ0dyYXBoLFxuICBvcGVuRmxvYXRpbmdHcmFwaCxcbn0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgcG9pbnQ6IElQb2ludDtcbiAgZXZlbnQ6IElFdmVudDtcbn07XG5cbmV4cG9ydCBjb25zdCBQb2ludE9mRXZlbnQ6IFJlYWN0LkZDPElQcm9wcz4gPSAoeyBtYXAsIHBvaW50LCBldmVudCB9KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgLy8gY29uc3QgeyBmbG93X3JhdGVfdW5pdDogZmxvd1JhdGVVbml0IH0gPSB1c2VTZWxlY3RvcihcbiAgLy8gICAoc3RhdGU6IGFueSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvLFxuICAvLyApO1xuXG4gIGNvbnN0IGJpbmRQb3B1cFRvUG9pbnQgPSAob2JzOiBhbnkgPSBudWxsKSA9PiB7XG4gICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIFsnUG9pbnQnLCAnT2JzZXJ2YXRpb24nXS5pbmNsdWRlcyhsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCkgJiZcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgPT09IHBvaW50LmlkXG4gICAgICApIHtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5iaW5kUG9wdXAocG9wdXBDb250ZW50KG9icywgcG9pbnQpLCB7XG4gICAgICAgICAgbWluV2lkdGg6IDIwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub24oJ3BvcHVwb3BlbicsIGZ1bmN0aW9uIChlOiBhbnkpIHtcbiAgICAgICAgICBsZXQgZmlyc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IGxhc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgbGV0IHNlY3RvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgICAgaWYgKG9icyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17b2JzLnN0YXJ0X3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnMudGltZV96b25lfVxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgZmlyc3RTZWVuLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e29icy5sYXN0X3NlZW5fdGltZX1cbiAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e29icy50aW1lX3pvbmV9XG4gICAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgICBsYXN0U2VlbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgPFNlY3RvclxuICAgICAgICAgICAgICAgIHNlY3Rvck5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfVxuICAgICAgICAgICAgICAgIHNlY3Rvckljb25OYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfaWNvbl9uYW1lfVxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMzdcIlxuICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgc2VjdG9yLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICQoJyNmaXJzdC1zZWVuLXBvcHVwJykuZW1wdHkoKS5hcHBlbmQoZmlyc3RTZWVuKTtcbiAgICAgICAgICAgICQoJyNsYXN0LXNlZW4tcG9wdXAnKS5lbXB0eSgpLmFwcGVuZChsYXN0U2Vlbik7XG4gICAgICAgICAgICAkKCcjc2VjdG9yJykuZW1wdHkoKS5hcHBlbmQoc2VjdG9yKTtcbiAgICAgICAgICB9LCAyMDApO1xuXG4gICAgICAgICAgbGV0IGF0dGFjaENsaWNrRXZlbnQgPSAoc2VsZWN0b3I6IHN0cmluZywgb2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgJChkb2N1bWVudC5ib2R5KS5vZmYoJ2NsaWNrJywgc2VsZWN0b3IpOyAvLyBSZW1vdmUgcHJldmlvdXMgaGFuZGxlcnNcbiAgICAgICAgICAgICQoZG9jdW1lbnQuYm9keSkub24oJ2NsaWNrJywgc2VsZWN0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgZGlzcGF0Y2goY2xvc2VGbG9hdGluZ0dyYXBoKCkpO1xuICAgICAgICAgICAgICBkaXNwYXRjaChvcGVuRmxvYXRpbmdHcmFwaCh0cnVlLCBvYnNlcnZhdGlvbiwgcG9pbnQpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAob2JzICE9PSBudWxsKSB7XG4gICAgICAgICAgICBhdHRhY2hDbGlja0V2ZW50KCcucG9wdXAtZ3JhcGgtaWNvbi0nICsgb2JzLmlkLCBvYnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhdHRhY2hDbGlja0V2ZW50KCcucG9wdXAtZ3JhcGgtaWNvbi0nICsgcG9pbnQuaWQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub3BlblBvcHVwKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXAgfHwgIXBvaW50IHx8ICFldmVudCkgcmV0dXJuO1xuXG4gICAgLy8gaWYgKGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpKSByZXR1cm47XG5cbiAgICAvLyBsZXQgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlID0gW3BvaW50WydsYXRpdHVkZSddLCBwb2ludFsnbG9uZ2l0dWRlJ11dO1xuICAgIC8vIGxldCBsYXllckdyb3VwID0gTC5sYXllckdyb3VwKCk7XG5cbiAgICAvLyBjcmVhdGVCdWJibGVQb2ludChcbiAgICAvLyAgIG1hcmtlckxvY2F0aW9uLFxuICAgIC8vICAgcG9pbnQsXG4gICAgLy8gICBtYXAsXG4gICAgLy8gICBldmVudC5ob3ZlcmVkLFxuICAgIC8vICAgbGF5ZXJHcm91cCxcbiAgICAvLyAgIGZsb3dSYXRlVW5pdCxcbiAgICAvLyApO1xuXG4gICAgaWYgKHBvaW50LmRldmljZV9zdGF0dXMgIT09ICdyZWd1bGFyJyAmJiBldmVudC5mb2N1c2VkKSB7XG4gICAgICBsZXQgb2JzID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbHRlcihcbiAgICAgICAgKG9icykgPT4gb2JzLnBvaW50X2lkID09PSBwb2ludC5pZCxcbiAgICAgIClbMF07XG5cbiAgICAgIGJpbmRQb3B1cFRvUG9pbnQob2JzKTtcbiAgICB9XG5cbiAgICAvLyBpZiAoZXZlbnQuZm9jdXNlZClcbiAgICAvLyAgIGNyZWF0ZVNhbXBsaW5nSWNvbnMoXG4gICAgLy8gICAgIG1hcmtlckxvY2F0aW9uLFxuICAgIC8vICAgICBldmVudCxcbiAgICAvLyAgICAgcG9pbnQsXG4gICAgLy8gICAgIG1hcCxcbiAgICAvLyAgICAgZXZlbnQuaG92ZXJlZCxcbiAgICAvLyAgICAgbGF5ZXJHcm91cCxcbiAgICAvLyAgICk7XG4gICAgLy8gbGV0IGhhc1ByaW1hcnlJY29uID0gbWF0Y2hJY29uVG9Qb2ludChwb2ludCwgZXZlbnQpICE9PSBudWxsO1xuXG4gICAgLy8gaWYgKHBvaW50SXNPYnNlcnZhdGlvbihldmVudCwgcG9pbnQpICYmIGV2ZW50LmZvY3VzZWQpIHtcbiAgICAvLyAgIGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50KFxuICAgIC8vICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAvLyAgICAgaGFzUHJpbWFyeUljb24sXG4gICAgLy8gICAgIG1hcCxcbiAgICAvLyAgICAgcG9pbnQsXG4gICAgLy8gICAgIGV2ZW50LFxuICAgIC8vICAgICBldmVudC5ob3ZlcmVkLFxuICAgIC8vICAgICBsYXllckdyb3VwLFxuICAgIC8vICAgKTtcbiAgICAvLyB9XG4gICAgLy8gbGF5ZXJHcm91cC5hZGRUbyhtYXApO1xuXG4gICAgLy8gaWNvblpvb21Db250cm9sKG1hcCk7XG4gICAgLy8gaWYgKGV2ZW50LmhvdmVyZWQpIHtcbiAgICAvLyAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgIC8vICAgICAvLyBVTkJJTkQgUE9QVVBcbiAgICAvLyAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnT2JzZXJ2YXRpb25Ib3ZlcmVkJyk7XG4gICAgLy8gICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ1BvaW50SG92ZXJlZCcpO1xuICAgIC8vICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdTYW1wbGluZ0hvdmVyZWQnKTtcbiAgICAvLyAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnSWNvbk51bWJlckhvdmVyZWQnKTtcbiAgICAvLyAgIH07XG4gICAgLy8gfSBlbHNlIHtcbiAgICAvLyAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgIC8vICAgICAvLyBVTkJJTkQgUE9QVVBcbiAgICAvLyAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnT2JzZXJ2YXRpb24nKTtcbiAgICAvLyAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnUG9pbnQnKTtcbiAgICAvLyAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnU2FtcGxpbmcnKTtcbiAgICAvLyAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnSWNvbk51bWJlcicpO1xuICAgIC8vICAgfTtcbiAgICAvLyB9XG4gIH0sIFtldmVudC5mb2N1c2VkXSk7XG5cbiAgcmV0dXJuIDw+PC8+O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsU0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBSCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU8sUUFBQSxHQUFBUCxPQUFBO0FBTUEsSUFBQVEsV0FBQSxHQUFBUixPQUFBO0FBQTBDLFNBQUFTLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBWCx3QkFBQWUsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLFFBQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEs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
@@ -1,19 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.Snail = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
10
9
  var _EventPath = _interopRequireDefault(require("./EventPath"));
11
- var _EventIndicator = _interopRequireDefault(require("./EventIndicator"));
12
10
  var _reactRedux = require("react-redux");
13
- 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); }
14
- 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; }
15
11
  // @ts-ignore
16
12
 
13
+ // import EventIndicator from './EventIndicator';
14
+
17
15
  var Snail = function Snail(_ref) {
18
16
  var event = _ref.event;
19
17
  var state = (0, _reactRedux.useSelector)(function (state) {
@@ -23,26 +21,25 @@ var Snail = function Snail(_ref) {
23
21
  return state;
24
22
  }),
25
23
  global_data = _useSelector.global_data;
26
- var _state$events_data = state.events_data,
27
- hoveredEventPaths = _state$events_data.hoveredEventPaths,
28
- focusedEventPaths = _state$events_data.focusedEventPaths;
29
- var map = global_data.map;
30
- var memoizedIndicator = function memoizedIndicator() {
31
- var paths = focusedEventPaths.length !== 0 ? focusedEventPaths : hoveredEventPaths;
32
- return /*#__PURE__*/_react.default.createElement(_EventIndicator.default, {
33
- map: map,
34
- paths: paths,
35
- event: event
36
- });
37
- };
38
- (0, _react.useEffect)(function () {
39
- memoizedIndicator();
40
- }, [hoveredEventPaths, focusedEventPaths]);
24
+ // const { hoveredEventPaths, focusedEventPaths } = state.events_data;
25
+ // const map = global_data.map;
26
+
27
+ // const memoizedIndicator = () => {
28
+ // let paths =
29
+ // focusedEventPaths.length !== 0 ? focusedEventPaths : hoveredEventPaths;
30
+ // return <EventIndicator map={map} paths={paths} event={event} />;
31
+ // };
32
+
33
+ // useEffect(() => {
34
+ // memoizedIndicator();
35
+ // }, [hoveredEventPaths, focusedEventPaths]);
36
+
41
37
  return /*#__PURE__*/_react.default.createElement(_EventPath.default, {
42
38
  event: event,
43
39
  global_data: global_data,
44
- eventPaths: event.path
40
+ eventPaths: event.path,
41
+ points_data: state.points_data.items
45
42
  });
46
43
  };
47
44
  exports.Snail = Snail;
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRXZlbnRQYXRoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9FdmVudEluZGljYXRvciIsIl9yZWFjdFJlZHV4IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTbmFpbCIsIl9yZWYiLCJldmVudCIsInN0YXRlIiwidXNlU2VsZWN0b3IiLCJfdXNlU2VsZWN0b3IiLCJnbG9iYWxfZGF0YSIsIl9zdGF0ZSRldmVudHNfZGF0YSIsImV2ZW50c19kYXRhIiwiaG92ZXJlZEV2ZW50UGF0aHMiLCJmb2N1c2VkRXZlbnRQYXRocyIsIm1hcCIsIm1lbW9pemVkSW5kaWNhdG9yIiwicGF0aHMiLCJsZW5ndGgiLCJjcmVhdGVFbGVtZW50IiwidXNlRWZmZWN0IiwiZXZlbnRQYXRocyIsInBhdGgiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9TbmFpbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBFdmVudFBhdGggZnJvbSAnLi9FdmVudFBhdGgnO1xuaW1wb3J0IEV2ZW50SW5kaWNhdG9yIGZyb20gJy4vRXZlbnRJbmRpY2F0b3InO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvSUFwcFN0YXRlJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGV2ZW50OiBJRXZlbnQ7XG59O1xuXG5leHBvcnQgY29uc3QgU25haWw6IFJlYWN0LkZDPElQcm9wcz4gPSAoeyBldmVudCB9KSA9PiB7XG4gIGNvbnN0IHN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBJQXBwU3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBJQXBwU3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgeyBob3ZlcmVkRXZlbnRQYXRocywgZm9jdXNlZEV2ZW50UGF0aHMgfSA9IHN0YXRlLmV2ZW50c19kYXRhO1xuICBjb25zdCBtYXAgPSBnbG9iYWxfZGF0YS5tYXA7XG5cbiAgY29uc3QgbWVtb2l6ZWRJbmRpY2F0b3IgPSAoKSA9PiB7XG4gICAgbGV0IHBhdGhzID1cbiAgICAgIGZvY3VzZWRFdmVudFBhdGhzLmxlbmd0aCAhPT0gMCA/IGZvY3VzZWRFdmVudFBhdGhzIDogaG92ZXJlZEV2ZW50UGF0aHM7XG4gICAgcmV0dXJuIDxFdmVudEluZGljYXRvciBtYXA9e21hcH0gcGF0aHM9e3BhdGhzfSBldmVudD17ZXZlbnR9IC8+O1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbWVtb2l6ZWRJbmRpY2F0b3IoKTtcbiAgfSwgW2hvdmVyZWRFdmVudFBhdGhzLCBmb2N1c2VkRXZlbnRQYXRoc10pO1xuXG4gIHJldHVybiAoXG4gICAgPEV2ZW50UGF0aFxuICAgICAgZXZlbnQ9e2V2ZW50fVxuICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgZXZlbnRQYXRo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
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9FdmVudFBhdGgiLCJfcmVhY3RSZWR1eCIsIlNuYWlsIiwiX3JlZiIsImV2ZW50Iiwic3RhdGUiLCJ1c2VTZWxlY3RvciIsIl91c2VTZWxlY3RvciIsImdsb2JhbF9kYXRhIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJldmVudFBhdGhzIiwicGF0aCIsInBvaW50c19kYXRhIiwiaXRlbXMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9TbmFpbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBFdmVudFBhdGggZnJvbSAnLi9FdmVudFBhdGgnO1xuLy8gaW1wb3J0IEV2ZW50SW5kaWNhdG9yIGZyb20gJy4vRXZlbnRJbmRpY2F0b3InO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvSUFwcFN0YXRlJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGV2ZW50OiBJRXZlbnQ7XG59O1xuXG5leHBvcnQgY29uc3QgU25haWw6IFJlYWN0LkZDPElQcm9wcz4gPSAoeyBldmVudCB9KSA9PiB7XG4gIGNvbnN0IHN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBJQXBwU3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBJQXBwU3RhdGUpID0+IHN0YXRlKTtcbiAgLy8gY29uc3QgeyBob3ZlcmVkRXZlbnRQYXRocywgZm9jdXNlZEV2ZW50UGF0aHMgfSA9IHN0YXRlLmV2ZW50c19kYXRhO1xuICAvLyBjb25zdCBtYXAgPSBnbG9iYWxfZGF0YS5tYXA7XG5cbiAgLy8gY29uc3QgbWVtb2l6ZWRJbmRpY2F0b3IgPSAoKSA9PiB7XG4gIC8vICAgbGV0IHBhdGhzID1cbiAgLy8gICAgIGZvY3VzZWRFdmVudFBhdGhzLmxlbmd0aCAhPT0gMCA/IGZvY3VzZWRFdmVudFBhdGhzIDogaG92ZXJlZEV2ZW50UGF0aHM7XG4gIC8vICAgcmV0dXJuIDxFdmVudEluZGljYXRvciBtYXA9e21hcH0gcGF0aHM9e3BhdGhzfSBldmVudD17ZXZlbnR9IC8+O1xuICAvLyB9O1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgbWVtb2l6ZWRJbmRpY2F0b3IoKTtcbiAgLy8gfSwgW2hvdmVyZWRFdmVudFBhdGhzLCBmb2N1c2VkRXZlbnRQYXRoc10pO1xuXG4gIHJldHVybiAoXG4gICAgPEV2ZW50UGF0aFxuICAgICAgZXZlbnQ9e2V2ZW50fVxuICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgZXZlbnRQYXRocz17ZXZlbnQucGF0aH1cbiAgICAgIHBvaW50c19kYXRhPXtzdGF0ZS5wb2ludHNfZGF0YS5pdGVtc31cbiAgICAvPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUdBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUxBOztBQUdBOztBQVNPLElBQU1HLEtBQXVCLEdBQUcsU0FBMUJBLEtBQXVCQSxDQUFBQyxJQUFBLEVBQWtCO0VBQUEsSUFBWkMsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7RUFDN0MsSUFBTUMsS0FBSyxHQUFHLElBQUFDLHVCQUFXLEVBQUMsVUFBQ0QsS0FBZ0I7SUFBQSxPQUFLQSxLQUFLO0VBQUEsRUFBQztFQUN0RCxJQUFBRSxZQUFBLEdBQXdCLElBQUFELHVCQUFXLEVBQUMsVUFBQ0QsS0FBZ0I7TUFBQSxPQUFLQSxLQUFLO0lBQUEsRUFBQztJQUF4REcsV0FBVyxHQUFBRCxZQUFBLENBQVhDLFdBQVc7RUFDbkI7RUFDQTs7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztFQUVBO0VBQ0E7RUFDQTs7RUFFQSxvQkFDRVgsTUFBQSxDQUFBWSxPQUFBLENBQUFDLGFBQUEsQ0FBQ1YsVUFBQSxDQUFBUyxPQUFTO0lBQ1JMLEtBQUssRUFBRUEsS0FBTTtJQUNiSSxXQUFXLEVBQUVBLFdBQVk7SUFDekJHLFVBQVUsRUFBRVAsS0FBSyxDQUFDUSxJQUFLO0lBQ3ZCQyxXQUFXLEVBQUVSLEtBQUssQ0FBQ1EsV0FBVyxDQUFDQztFQUFNLENBQ3RDLENBQUM7QUFFTixDQUFDO0FBQUNDLE9BQUEsQ0FBQWIsS0FBQSxHQUFBQSxLQUFBIn0=
@@ -21,12 +21,11 @@ var _reactRouterDom = require("react-router-dom");
21
21
  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); }
22
22
  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; }
23
23
  function mapStateToProps(state) {
24
- var events_data = state.events_data,
25
- areas_data = state.areas_data,
24
+ var areas_data = state.areas_data,
26
25
  points_data = state.points_data,
27
26
  global_data = state.global_data;
28
27
  return {
29
- events_data: events_data,
28
+ // events_data,
30
29
  areas_data: areas_data,
31
30
  points_data: points_data,
32
31
  global_data: global_data
@@ -143,8 +142,12 @@ var PointMarker = function PointMarker(props) {
143
142
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
144
143
  };
145
144
  var connectedMarker = (0, _reactRedux.connect)(mapStateToProps);
146
- var _default = connectedMarker( /*#__PURE__*/_react.default.memo(PointMarker, function (prevProps, nextProps) {
147
- return prevProps.events_data.focusedEvent === nextProps.events_data.focusedEvent;
148
- }));
145
+ var _default = connectedMarker( /*#__PURE__*/_react.default.memo(PointMarker)
146
+ // React.memo(PointMarker, (prevProps, nextProps) => {
147
+ // return (
148
+ // prevProps.events_data.focusedEvent === nextProps.events_data.focusedEvent
149
+ // );
150
+ // }),
151
+ );
149
152
  exports.default = _default;
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9Qb2ludFV0aWxzIiwiX1dpZGdldCIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfTGlzdENvbnRleHQiLCJfQ2FwYWNpdHkiLCJfcmVhY3RSb3V0ZXJEb20iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwicG9pbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsIlBvaW50TWFya2VyIiwicHJvcHMiLCJtYXAiLCJwb2ludCIsInJlcmVuZGVyIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU2VsZWN0ZWRJdGVtIiwidXNlU2VsZWN0ZWRJdGVtIiwiaGFuZGxlU2VsZWN0SXRlbSIsIldXVFBNb2RlIiwidXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwiV1dUUE1hcExvZ2ljIiwibWFya2VyTG9jYXRpb24iLCJ3d3RwUG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsImZvcldXVFBNYXAiLCJtYXJrZXJPbk1hcCIsImdldExheWVycyIsImZpbmQiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImlkIiwiYXJncyIsInd3dHAiLCJidWJibGVGb3JXV1RQIiwidG9vbHRpcFZpc2libGUiLCJhZGRUbyIsImZldGNoRGF0YUFuZFNob3dQb3B1cCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIndpZGdldENvbnRhaW5lciIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsInJlbmRlcmVkRWxlbWVudCIsIm1hcmtlciIsImZldGNoQ2FwYWNpdHkiLCJ3YXRlckF1dGhvcml0eUlkIiwidGhlbiIsImxpc3REYXRhIiwiUmVhY3RET00iLCJyZW5kZXIiLCJXaWRnZXQiLCJvYmplY3QiLCJwb2ludHMiLCJpdGVtcyIsImFyZWFzIiwibmV3QXJlYXMiLCJpc1BvcHVwT3BlbiIsIm9wZW5Qb3B1cCIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsIm9uIiwiY2xvc2VQb3B1cCIsInNlbmRBbmFseXRpY3NFdmVudCIsInBvaW50X2lkIiwicG9pbnRfbmFtZSIsIm5hbWUiLCJzZXRJY29uIiwicmVuZGVyTG9naWMiLCJwb2ludElzV1dUUCIsImNyZWF0ZUJ1YmJsZVBvaW50IiwidXNlRWZmZWN0IiwiRnJhZ21lbnQiLCJjb25uZWN0ZWRNYXJrZXIiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJSZWFjdCIsIm1lbW8iLCJwcmV2UHJvcHMiLCJuZXh0UHJvcHMiLCJmb2N1c2VkRXZlbnQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludE1hcmtlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHtcbiAgYnViYmxlRm9yV1dUUCxcbiAgY3JlYXRlQnViYmxlUG9pbnQsXG4gIHBvaW50SXNXV1RQLFxuICBzZXRJY29uLFxufSBmcm9tICcuL1BvaW50VXRpbHMnO1xuaW1wb3J0IHsgV2lkZ2V0IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XaWRnZXQnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHtcbiAgY3JlYXRlUG9wdXBGb3JPYmplY3QsXG4gIHNlbmRBbmFseXRpY3NFdmVudCxcbn0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IGZldGNoQ2FwYWNpdHkgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0NhcGFjaXR5JztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBldmVudHNfZGF0YSwgYXJlYXNfZGF0YSwgcG9pbnRzX2RhdGEsIGdsb2JhbF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdGVkTWFya2VyPiAmIHtcbiAgbWFwOiBhbnk7XG4gIHBvaW50OiBJUG9pbnQ7XG4gIHJlcmVuZGVyOiBzdHJpbmc7XG4gIGxheWVyR3JvdXA6IGFueTtcbiAgZmxvd1JhdGVVbml0OiBzdHJpbmc7XG59O1xuXG5jb25zdCBQb2ludE1hcmtlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBtYXAsXG4gICAgcG9pbnQsXG4gICAgcmVyZW5kZXIsXG4gICAgbGF5ZXJHcm91cCxcbiAgICBmbG93UmF0ZVVuaXQsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuXG4gIGNvbnN0IFdXVFBNYXBMb2dpYyA9IChtYXJrZXJMb2NhdGlvbikgPT4ge1xuICAgIGNvbnN0IHd3dHBQb2ludCA9IHtcbiAgICAgIC4uLnBvaW50LFxuICAgICAgZm9yV1dUUE1hcDogdHJ1ZSxcbiAgICB9O1xuICAgIGNvbnN0IG1hcmtlck9uTWFwID0gbGF5ZXJHcm91cFxuICAgICAgLmdldExheWVycygpXG4gICAgICAuZmluZCgobGF5ZXIpID0+IGxheWVyLmthbmRvX29iamVjdF9pZCA9PT0gcG9pbnQuaWQpO1xuICAgIGxldCBhcmdzID0geyBtYXJrZXJMb2NhdGlvbiwgd3d0cFBvaW50IH07XG4gICAgbGV0IHd3dHA6IEwuTWFya2VyID0gbWFya2VyT25NYXAgPyBtYXJrZXJPbk1hcCA6IGJ1YmJsZUZvcldXVFAoYXJncyk7XG4gICAgbGV0IHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBpZiAoIW1hcmtlck9uTWFwKSB7XG4gICAgICB3d3RwLmFkZFRvKGxheWVyR3JvdXApO1xuICAgIH1cblxuICAgIGNvbnN0IGZldGNoRGF0YUFuZFNob3dQb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgY3JlYXRlUG9wdXBGb3JPYmplY3Qoe1xuICAgICAgICByZW5kZXJlZEVsZW1lbnQ6IHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgbWFya2VyOiB3d3RwLFxuICAgICAgfSk7XG5cbiAgICAgIGZldGNoQ2FwYWNpdHkoJ3NpdGUnLCBwb2ludC5pZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgKGxpc3REYXRhKSA9PiB7XG4gICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBvYmplY3Q9e3d3dHBQb2ludH1cbiAgICAgICAgICAgICAgZGlzcGF0Y2g9e2Rpc3BhdGNofVxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBhcmVhcz17YXJlYXNfZGF0YS5uZXdBcmVhc31cbiAgICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgbGlzdERhdGE9e2xpc3REYXRhfVxuICAgICAgICAgICAgICBoaXN0b3J5PXtoaXN0b3J5fVxuICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICB3aWRnZXRDb250YWluZXIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIGlmICghd3d0cC5pc1BvcHVwT3BlbigpKSB7XG4gICAgICAgIHd3dHAub3BlblBvcHVwKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHd3dHAub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgd3d0cC5pc1BvcHVwT3BlbigpID8gd3d0cC5jbG9zZVBvcHVwKCkgOiBmZXRjaERhdGFBbmRTaG93UG9wdXAoKTtcbiAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBXV1RQIGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICBwb2ludF9pZDogcG9pbnQuaWQsXG4gICAgICAgIHBvaW50X25hbWU6IHBvaW50Lm5hbWUsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHd3dHAub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICAgIGlmICh0b29sdGlwVmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgICBzZXRJY29uKHd3dHAsIHRydWUsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHd3dHAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgaWYgKHd3dHAuaXNQb3B1cE9wZW4oKSkgcmV0dXJuO1xuXG4gICAgICBzZXRJY29uKHd3dHAsIGZhbHNlLCBwb2ludCk7XG4gICAgICB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgd3d0cC5vbigncG9wdXBjbG9zZScsICgpID0+IHtcbiAgICAgIHNldEljb24od3d0cCwgZmFsc2UsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICB3d3RwLm9uKCdwb3B1cG9wZW4nLCAoKSA9PiB7XG4gICAgICBzZXRJY29uKHd3dHAsIHRydWUsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJMb2dpYyA9ICgpID0+IHtcbiAgICBsZXQgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlID0gW3BvaW50WydsYXRpdHVkZSddLCBwb2ludFsnbG9uZ2l0dWRlJ11dO1xuICAgIGlmIChtYXJrZXJMb2NhdGlvblswXSA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgaWYgKHBvaW50SXNXV1RQKHBvaW50KSAmJiBXV1RQTW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgV1dUUE1hcExvZ2ljKG1hcmtlckxvY2F0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgICBwb2ludCxcbiAgICAgICAgbWFwLFxuICAgICAgICBudWxsLFxuICAgICAgICBsYXllckdyb3VwLFxuICAgICAgICBmbG93UmF0ZVVuaXQsXG4gICAgICAgIGhhbmRsZVNlbGVjdEl0ZW0sXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlckxvZ2ljKCk7XG4gIH0sIFtyZXJlbmRlcl0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RlZE1hcmtlciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RlZE1hcmtlcihcbiAgUmVhY3QubWVtbyhQb2ludE1hcmtlciwgKHByZXZQcm9wcywgbmV4dFByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHByZXZQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQgPT09IG5leHRQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnRcbiAgICApO1xuICB9KSxcbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBTUEsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBRUEsSUFB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
153
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9Qb2ludFV0aWxzIiwiX1dpZGdldCIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfTGlzdENvbnRleHQiLCJfQ2FwYWNpdHkiLCJfcmVhY3RSb3V0ZXJEb20iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiYXJlYXNfZGF0YSIsInBvaW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJQb2ludE1hcmtlciIsInByb3BzIiwibWFwIiwicG9pbnQiLCJyZXJlbmRlciIsImxheWVyR3JvdXAiLCJmbG93UmF0ZVVuaXQiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsImhhbmRsZVNlbGVjdEl0ZW0iLCJXV1RQTW9kZSIsInVzZVNlbGVjdG9yIiwid3d0cF9kYXNoYm9hcmQiLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsIldXVFBNYXBMb2dpYyIsIm1hcmtlckxvY2F0aW9uIiwid3d0cFBvaW50IiwiX29iamVjdFNwcmVhZDIiLCJmb3JXV1RQTWFwIiwibWFya2VyT25NYXAiLCJnZXRMYXllcnMiLCJmaW5kIiwibGF5ZXIiLCJrYW5kb19vYmplY3RfaWQiLCJpZCIsImFyZ3MiLCJ3d3RwIiwiYnViYmxlRm9yV1dUUCIsInRvb2x0aXBWaXNpYmxlIiwiYWRkVG8iLCJmZXRjaERhdGFBbmRTaG93UG9wdXAiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3aWRnZXRDb250YWluZXIiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY3JlYXRlUG9wdXBGb3JPYmplY3QiLCJyZW5kZXJlZEVsZW1lbnQiLCJtYXJrZXIiLCJmZXRjaENhcGFjaXR5Iiwid2F0ZXJBdXRob3JpdHlJZCIsInRoZW4iLCJsaXN0RGF0YSIsIlJlYWN0RE9NIiwicmVuZGVyIiwiV2lkZ2V0Iiwib2JqZWN0IiwicG9pbnRzIiwiaXRlbXMiLCJhcmVhcyIsIm5ld0FyZWFzIiwiaXNQb3B1cE9wZW4iLCJvcGVuUG9wdXAiLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJvbiIsImNsb3NlUG9wdXAiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJwb2ludF9pZCIsInBvaW50X25hbWUiLCJuYW1lIiwic2V0SWNvbiIsInJlbmRlckxvZ2ljIiwicG9pbnRJc1dXVFAiLCJjcmVhdGVCdWJibGVQb2ludCIsInVzZUVmZmVjdCIsIkZyYWdtZW50IiwiY29ubmVjdGVkTWFya2VyIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiUmVhY3QiLCJtZW1vIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7XG4gIGJ1YmJsZUZvcldXVFAsXG4gIGNyZWF0ZUJ1YmJsZVBvaW50LFxuICBwb2ludElzV1dUUCxcbiAgc2V0SWNvbixcbn0gZnJvbSAnLi9Qb2ludFV0aWxzJztcbmltcG9ydCB7IFdpZGdldCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IEwsIHsgTGF0TG5nVHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7XG4gIGNyZWF0ZVBvcHVwRm9yT2JqZWN0LFxuICBzZW5kQW5hbHl0aWNzRXZlbnQsXG59IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0Q29udGV4dCc7XG5pbXBvcnQgeyBmZXRjaENhcGFjaXR5IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9DYXBhY2l0eSc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgYXJlYXNfZGF0YSwgcG9pbnRzX2RhdGEsIGdsb2JhbF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIC8vIGV2ZW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdGVkTWFya2VyPiAmIHtcbiAgbWFwOiBhbnk7XG4gIHBvaW50OiBJUG9pbnQ7XG4gIHJlcmVuZGVyOiBzdHJpbmc7XG4gIGxheWVyR3JvdXA6IGFueTtcbiAgZmxvd1JhdGVVbml0OiBzdHJpbmc7XG59O1xuXG5jb25zdCBQb2ludE1hcmtlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBtYXAsXG4gICAgcG9pbnQsXG4gICAgcmVyZW5kZXIsXG4gICAgbGF5ZXJHcm91cCxcbiAgICBmbG93UmF0ZVVuaXQsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuXG4gIGNvbnN0IFdXVFBNYXBMb2dpYyA9IChtYXJrZXJMb2NhdGlvbikgPT4ge1xuICAgIGNvbnN0IHd3dHBQb2ludCA9IHtcbiAgICAgIC4uLnBvaW50LFxuICAgICAgZm9yV1dUUE1hcDogdHJ1ZSxcbiAgICB9O1xuICAgIGNvbnN0IG1hcmtlck9uTWFwID0gbGF5ZXJHcm91cFxuICAgICAgLmdldExheWVycygpXG4gICAgICAuZmluZCgobGF5ZXIpID0+IGxheWVyLmthbmRvX29iamVjdF9pZCA9PT0gcG9pbnQuaWQpO1xuICAgIGxldCBhcmdzID0geyBtYXJrZXJMb2NhdGlvbiwgd3d0cFBvaW50IH07XG4gICAgbGV0IHd3dHA6IEwuTWFya2VyID0gbWFya2VyT25NYXAgPyBtYXJrZXJPbk1hcCA6IGJ1YmJsZUZvcldXVFAoYXJncyk7XG4gICAgbGV0IHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBpZiAoIW1hcmtlck9uTWFwKSB7XG4gICAgICB3d3RwLmFkZFRvKGxheWVyR3JvdXApO1xuICAgIH1cblxuICAgIGNvbnN0IGZldGNoRGF0YUFuZFNob3dQb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgY3JlYXRlUG9wdXBGb3JPYmplY3Qoe1xuICAgICAgICByZW5kZXJlZEVsZW1lbnQ6IHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgbWFya2VyOiB3d3RwLFxuICAgICAgfSk7XG5cbiAgICAgIGZldGNoQ2FwYWNpdHkoJ3NpdGUnLCBwb2ludC5pZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgKGxpc3REYXRhKSA9PiB7XG4gICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBvYmplY3Q9e3d3dHBQb2ludH1cbiAgICAgICAgICAgICAgZGlzcGF0Y2g9e2Rpc3BhdGNofVxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBhcmVhcz17YXJlYXNfZGF0YS5uZXdBcmVhc31cbiAgICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgbGlzdERhdGE9e2xpc3REYXRhfVxuICAgICAgICAgICAgICBoaXN0b3J5PXtoaXN0b3J5fVxuICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICB3aWRnZXRDb250YWluZXIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIGlmICghd3d0cC5pc1BvcHVwT3BlbigpKSB7XG4gICAgICAgIHd3dHAub3BlblBvcHVwKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHd3dHAub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgd3d0cC5pc1BvcHVwT3BlbigpID8gd3d0cC5jbG9zZVBvcHVwKCkgOiBmZXRjaERhdGFBbmRTaG93UG9wdXAoKTtcbiAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBXV1RQIGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICBwb2ludF9pZDogcG9pbnQuaWQsXG4gICAgICAgIHBvaW50X25hbWU6IHBvaW50Lm5hbWUsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHd3dHAub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICAgIGlmICh0b29sdGlwVmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgICBzZXRJY29uKHd3dHAsIHRydWUsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHd3dHAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgaWYgKHd3dHAuaXNQb3B1cE9wZW4oKSkgcmV0dXJuO1xuXG4gICAgICBzZXRJY29uKHd3dHAsIGZhbHNlLCBwb2ludCk7XG4gICAgICB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuICAgIH0pO1xuXG4gICAgd3d0cC5vbigncG9wdXBjbG9zZScsICgpID0+IHtcbiAgICAgIHNldEljb24od3d0cCwgZmFsc2UsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICB3d3RwLm9uKCdwb3B1cG9wZW4nLCAoKSA9PiB7XG4gICAgICBzZXRJY29uKHd3dHAsIHRydWUsIHBvaW50KTtcbiAgICAgIHRvb2x0aXBWaXNpYmxlID0gdHJ1ZTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJMb2dpYyA9ICgpID0+IHtcbiAgICBsZXQgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlID0gW3BvaW50WydsYXRpdHVkZSddLCBwb2ludFsnbG9uZ2l0dWRlJ11dO1xuICAgIGlmIChtYXJrZXJMb2NhdGlvblswXSA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgaWYgKHBvaW50SXNXV1RQKHBvaW50KSAmJiBXV1RQTW9kZSA9PT0gdHJ1ZSkge1xuICAgICAgV1dUUE1hcExvZ2ljKG1hcmtlckxvY2F0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgICBwb2ludCxcbiAgICAgICAgbWFwLFxuICAgICAgICBudWxsLFxuICAgICAgICBsYXllckdyb3VwLFxuICAgICAgICBmbG93UmF0ZVVuaXQsXG4gICAgICAgIGhhbmRsZVNlbGVjdEl0ZW0sXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlckxvZ2ljKCk7XG4gIH0sIFtyZXJlbmRlcl0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RlZE1hcmtlciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RlZE1hcmtlcihcbiAgUmVhY3QubWVtbyhQb2ludE1hcmtlciksXG4gIC8vIFJlYWN0Lm1lbW8oUG9pbnRNYXJrZXIsIChwcmV2UHJvcHMsIG5leHRQcm9wcykgPT4ge1xuICAvLyAgIHJldHVybiAoXG4gIC8vICAgICBwcmV2UHJvcHMuZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50ID09PSBuZXh0UHJvcHMuZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50XG4gIC8vICAgKTtcbiAgLy8gfSksXG4pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQU1BLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUVBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtB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
@@ -24,29 +24,23 @@ var PointMarkers = function PointMarkers(props) {
24
24
  var isPointBelongToGroupTypes = function isPointBelongToGroupTypes(point) {
25
25
  return (0, _PointUtils.pointIsWWTP)(point) || (0, _PointUtils.pointIsFactory)(point) || point.group.type === 'Groups::Collectors' && point.has_device || point.group.type === 'Groups::PumpStation';
26
26
  };
27
-
28
- // const pointHasCoordinates = (point: IPoint) => {
29
- // const lat = point.latitude;
30
- // const lng = point.longitude;
31
- // const isValid =
32
- // typeof lat === 'number' &&
33
- // typeof lng === 'number' &&
34
- // !isNaN(lat) &&
35
- // !isNaN(lng);
36
- // if (!isValid) {
37
- // console.warn(`Point ${point.id} has invalid coordinates: ${lat}, ${lng}`);
38
- // }
39
- // return isValid;
40
- // };
41
-
27
+ var pointHasCoordinates = function pointHasCoordinates(point) {
28
+ var lat = point.latitude;
29
+ var lng = point.longitude;
30
+ var isValid = typeof lat === 'number' && typeof lng === 'number' && !isNaN(lat) && !isNaN(lng);
31
+ if (!isValid) {
32
+ console.warn("Point ".concat(point.id, " has invalid coordinates: ").concat(lat, ", ").concat(lng));
33
+ }
34
+ return isValid;
35
+ };
42
36
  var filterStatement = function filterStatement(point) {
43
- return isPointBelongToGroupTypes(point);
37
+ return isPointBelongToGroupTypes(point) && pointHasCoordinates(point);
44
38
  };
45
- var filteredPoints = function filteredPoints() {
39
+ var filteredPoints = (0, _react.useMemo)(function () {
46
40
  return points.filter(function (point) {
47
41
  return filterStatement(point);
48
42
  });
49
- };
43
+ }, [points]);
50
44
 
51
45
  // const globalData = useSelector(
52
46
  // (state: ReturnType<typeof appReducer>) => state.global_data,
@@ -161,7 +155,7 @@ var PointMarkers = function PointMarkers(props) {
161
155
  // }
162
156
  }
163
157
  }, [rerender, points]);
164
- return /*#__PURE__*/_react.default.createElement("div", null, points.length !== 0 && filteredPoints().map(function (point) {
158
+ return /*#__PURE__*/_react.default.createElement("div", null, points.length !== 0 && filteredPoints.map(function (point) {
165
159
  return /*#__PURE__*/_react.default.createElement(_PointMarker.default, {
166
160
  map: map,
167
161
  point: point,
@@ -173,4 +167,4 @@ var PointMarkers = function PointMarkers(props) {
173
167
  }));
174
168
  };
175
169
  exports.PointMarkers = PointMarkers;
176
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9pbnRNYXJrZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1BvaW50VXRpbHMiLCJfcmVhY3RSZWR1eCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiUG9pbnRNYXJrZXJzIiwicHJvcHMiLCJwb2ludHMiLCJtYXAiLCJmYWN0b3JpZXNHcm91cCIsInd3dHBzR3JvdXAiLCJjb2xsZWN0b3JzR3JvdXAiLCJyZXJlbmRlciIsImlzUG9pbnRCZWxvbmdUb0dyb3VwVHlwZXMiLCJwb2ludCIsInBvaW50SXNXV1RQIiwicG9pbnRJc0ZhY3RvcnkiLCJncm91cCIsInR5cGUiLCJoYXNfZGV2aWNlIiwiZmlsdGVyU3RhdGVtZW50IiwiZmlsdGVyZWRQb2ludHMiLCJmaWx0ZXIiLCJ1c2VySW5mbyIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZXJfaW5mbyIsInVzZUVmZmVjdCIsImFkZExheWVyR3JvdXAiLCJyZW1vdmVMYXllckdyb3VwIiwiY3JlYXRlRWxlbWVudCIsImxlbmd0aCIsImlkIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImZsb3dfcmF0ZV91bml0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXJzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBQb2ludE1hcmtlciBmcm9tICcuL1BvaW50TWFya2VyJztcbmltcG9ydCB7XG4gIGFkZExheWVyR3JvdXAsXG4gIHJlbW92ZUxheWVyR3JvdXAsXG4gIHBvaW50SXNGYWN0b3J5LFxuICBwb2ludElzV1dUUCxcbn0gZnJvbSAnLi9Qb2ludFV0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgcG9pbnRzOiBhbnk7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50czogYm9vbGVhbjtcbiAgcmVyZW5kZXI6IHN0cmluZztcbiAgZmFjdG9yaWVzR3JvdXA6IGFueTtcbiAgd3d0cHNHcm91cDogYW55O1xuICBjb2xsZWN0b3JzR3JvdXA6IGFueTtcbiAgZm9yRXZlbnRzVmlldz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgUG9pbnRNYXJrZXJzOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBwb2ludHMsIG1hcCwgZmFjdG9yaWVzR3JvdXAsIHd3dHBzR3JvdXAsIGNvbGxlY3RvcnNHcm91cCwgcmVyZW5kZXIgfSA9XG4gICAgcHJvcHM7XG5cbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGRldGVybWluZSBpZiBhIHBvaW50IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgbWFwLlxuICBjb25zdCBpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcG9pbnRJc1dXVFAocG9pbnQpIHx8XG4gICAgICBwb2ludElzRmFjdG9yeShwb2ludCkgfHxcbiAgICAgIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpDb2xsZWN0b3JzJyAmJiBwb2ludC5oYXNfZGV2aWNlKSB8fFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6UHVtcFN0YXRpb24nXG4gICAgKTtcbiAgfTtcblxuICAvLyBjb25zdCBwb2ludEhhc0Nvb3JkaW5hdGVzID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgLy8gICBjb25zdCBsYXQgPSBwb2ludC5sYXRpdHVkZTtcbiAgLy8gICBjb25zdCBsbmcgPSBwb2ludC5sb25naXR1ZGU7XG4gIC8vICAgY29uc3QgaXNWYWxpZCA9XG4gIC8vICAgICB0eXBlb2YgbGF0ID09PSAnbnVtYmVyJyAmJlxuICAvLyAgICAgdHlwZW9mIGxuZyA9PT0gJ251bWJlcicgJiZcbiAgLy8gICAgICFpc05hTihsYXQpICYmXG4gIC8vICAgICAhaXNOYU4obG5nKTtcbiAgLy8gICBpZiAoIWlzVmFsaWQpIHtcbiAgLy8gICAgIGNvbnNvbGUud2FybihgUG9pbnQgJHtwb2ludC5pZH0gaGFzIGludmFsaWQgY29vcmRpbmF0ZXM6ICR7bGF0fSwgJHtsbmd9YCk7XG4gIC8vICAgfVxuICAvLyAgIHJldHVybiBpc1ZhbGlkO1xuICAvLyB9O1xuXG4gIGNvbnN0IGZpbHRlclN0YXRlbWVudCA9IChwb2ludCkgPT4ge1xuICAgIHJldHVybiBpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzKHBvaW50KTtcbiAgfTtcblxuICBjb25zdCBmaWx0ZXJlZFBvaW50cyA9ICgpID0+IHtcbiAgICByZXR1cm4gcG9pbnRzLmZpbHRlcigocG9pbnQ6IElQb2ludCkgPT4gZmlsdGVyU3RhdGVtZW50KHBvaW50KSk7XG4gIH07XG5cbiAgLy8gY29uc3QgZ2xvYmFsRGF0YSA9IHVzZVNlbGVjdG9yKFxuICAvLyAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLmdsb2JhbF9kYXRhLFxuICAvLyApO1xuXG4gIGNvbnN0IHVzZXJJbmZvID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy51c2VyX2luZm8pO1xuXG4gIC8vIGNvbnN0IFtsYXllcnNUb1JlbW92ZSwgc2V0TGF5ZXJzVG9SZW1vdmVdID0gdXNlU3RhdGU8YW55W10+KFtdKTtcblxuICAvLyBjb25zdCByZW1vdmVFdmVudFBvaW50c0Zyb21DbHVzdGVyID0gKHVuaXFlSWRzLCBsb2NhbExheWVyc1RvUmVtb3ZlKSA9PiB7XG4gIC8vICAgaWYgKCFmYWN0b3JpZXNHcm91cCB8fCAhbWFwKSB7XG4gIC8vICAgICBjb25zb2xlLndhcm4oJ0VpdGhlciBmYWN0b3JpZXNHcm91cCBvciBtYXAgaXMgdW5kZWZpbmVkLicpO1xuICAvLyAgICAgcmV0dXJuO1xuICAvLyAgIH1cblxuICAvLyAgIC8vIFJlZnJlc2ggY2x1c3RlcnMgdG8gdXBkYXRlIGludGVybmFsIHN0cnVjdHVyZXMuXG4gIC8vICAgZmFjdG9yaWVzR3JvdXAucmVmcmVzaENsdXN0ZXJzKCk7XG5cbiAgLy8gICB1bmlxZUlkcy5mb3JFYWNoKChpZCkgPT4ge1xuICAvLyAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXAuX2xheWVycykge1xuICAvLyAgICAgICBjb25zdCBsYXllciA9IG1hcC5fbGF5ZXJzW3Byb3BlcnR5XTtcbiAgLy8gICAgICAgLy8gQ2hlY2sgdGhhdCB0aGUgbGF5ZXIgZXhpc3RzLCBpcyBvZiB0eXBlICdQb2ludCcsIGhhcyB0aGUgZXhwZWN0ZWQgaWQsXG4gIC8vICAgICAgIC8vIGFuZCB0aGF0IGl0IGltcGxlbWVudHMgZ2V0TGF0TG5nLlxuICAvLyAgICAgICBpZiAoXG4gIC8vICAgICAgICAgbGF5ZXIgJiZcbiAgLy8gICAgICAgICBsYXllci5rYW5kb19vYmplY3QgPT09ICdQb2ludCcgJiZcbiAgLy8gICAgICAgICBsYXllci5rYW5kb19vYmplY3RfaWQgPT09IGlkICYmXG4gIC8vICAgICAgICAgdHlwZW9mIGxheWVyLmdldExhdExuZyA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAvLyAgICAgICAgIHR5cGVvZiBsYXllci5fem9vbSA9PT0gJ251bWJlcidcbiAgLy8gICAgICAgKSB7XG4gIC8vICAgICAgICAgbG9jYWxMYXllcnNUb1JlbW92ZS5wdXNoKGxheWVyKTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH0pO1xuXG4gIC8vICAgLy8gRmlsdGVyIG91dCBkdXBsaWNhdGVzIGFuZCBhbnkgdW5kZWZpbmVkIGxheWVycy5cbiAgLy8gICBjb25zdCB1bmlxdWVMYXllcnMgPSBsb2NhbExheWVyc1RvUmVtb3ZlLmZpbHRlcihcbiAgLy8gICAgIChsYXllciwgaW5kZXgsIHNlbGYpID0+XG4gIC8vICAgICAgIGxheWVyICYmXG4gIC8vICAgICAgIHR5cGVvZiBsYXllci5nZXRMYXRMbmcgPT09ICdmdW5jdGlvbicgJiZcbiAgLy8gICAgICAgaW5kZXggPT09XG4gIC8vICAgICAgICAgc2VsZi5maW5kSW5kZXgoKGwpID0+IGwua2FuZG9fb2JqZWN0X2lkID09PSBsYXllci5rYW5kb19vYmplY3RfaWQpLFxuICAvLyAgICk7XG5cbiAgLy8gICBzZXRMYXllcnNUb1JlbW92ZSh1bmlxdWVMYXllcnMpO1xuICAvLyAgIGZhY3Rvcmllc0dyb3VwLnJlbW92ZUxheWVycyh1bmlxdWVMYXllcnMpO1xuICAvLyB9O1xuXG4gIC8vIGNvbnN0IGFkZEV2ZW50UG9pbnRzVG9DbHVzdGVyID0gKCkgPT4ge1xuICAvLyAgIGxldCBsYXllcnNUb0RyYXcgPSBbXTtcbiAgLy8gICBsZXQgbGF5ZXJzSWRzID0gbGF5ZXJzVG9SZW1vdmUubWFwKChsYXllcikgPT4gbGF5ZXIua2FuZG9fb2JqZWN0X2lkKTtcbiAgLy8gICBsZXQgdW5pcWVJZHMgPSBbLi4ubmV3IFNldChsYXllcnNJZHMpXTtcbiAgLy8gICB1bmlxZUlkcy5mb3JFYWNoKChpZCkgPT4ge1xuICAvLyAgICAgbGF5ZXJzVG9EcmF3LnB1c2goXG4gIC8vICAgICAgIGxheWVyc1RvUmVtb3ZlLmZpbmQoKGxheWVyKSA9PiBsYXllci5rYW5kb19vYmplY3RfaWQgPT09IGlkKSxcbiAgLy8gICAgICk7XG4gIC8vICAgfSk7XG5cbiAgLy8gICBsYXllcnNUb0RyYXcuZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgLy8gICAgIGxldCBwb2ludCA9IHBvaW50cy5maW5kKChwb2ludCkgPT4gcG9pbnQuaWQgPT09IGxheWVyLmthbmRvX29iamVjdF9pZCk7XG4gIC8vICAgICBwb2ludCAmJiBiaW5kUG9wdXBUb01hcmtlcihwb2ludCwgbGF5ZXIsIHVzZXJJbmZvLmZsb3dfcmF0ZV91bml0KTtcbiAgLy8gICB9KTtcbiAgLy8gICBmYWN0b3JpZXNHcm91cC5hZGRMYXllcnMobGF5ZXJzVG9EcmF3KTtcbiAgLy8gfTtcblxuICAvLyBjb25zdCBtYWtlU3VyZVRoZXJlQXJlTm9EdXBsaWNhdGVzID0gKCkgPT4ge1xuICAvLyAgIGxldCBsb2NhbExheWVyc1RvUmVtb3ZlID0gW107XG5cbiAgLy8gICBpZiAoZXZlbnRzRGF0YS5mb2N1c2VkRXZlbnQpIHtcbiAgLy8gICAgIGxldCBvYnNJZHMgPSBldmVudHNEYXRhLmZvY3VzZWRFdmVudC5vYnNlcnZhdGlvbnMubWFwKFxuICAvLyAgICAgICAob2JzKSA9PiBvYnMucG9pbnRfaWQsXG4gIC8vICAgICApO1xuICAvLyAgICAgbGV0IHVuaXFlSWRzID0gWy4uLm5ldyBTZXQob2JzSWRzKV07XG4gIC8vICAgICByZW1vdmVFdmVudFBvaW50c0Zyb21DbHVzdGVyKHVuaXFlSWRzLCBsb2NhbExheWVyc1RvUmVtb3ZlKTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgYWRkRXZlbnRQb2ludHNUb0NsdXN0ZXIoKTtcbiAgLy8gICB9XG4gIC8vIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobWFwKSB7XG4gICAgICAvLyBpZiAoZm9yRXZlbnRzVmlldykge1xuICAgICAgLy8gICAvLyBJbiBldmVudHMgdmlldywgYWx3YXlzIHNob3cgYWxsIGxheWVyc1xuICAgICAgLy8gICBhZGRMYXllckdyb3VwKG1hcCwgZmFjdG9yaWVzR3JvdXApO1xuICAgICAgLy8gICBhZGRMYXllckdyb3VwKG1hcCwgd3d0cHNHcm91cCk7XG4gICAgICAvLyAgIGFkZExheWVyR3JvdXAobWFwLCBjb2xsZWN0b3JzR3JvdXApO1xuICAgICAgLy8gfSBlbHNlIHtcbiAgICAgIHN3aXRjaCAocmVyZW5kZXIpIHtcbiAgICAgICAgY2FzZSAnWExhcmdlJzpcbiAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgd3d0cHNHcm91cCk7XG4gICAgICAgICAgLy8gZmFjdG9yaWVzIGdyb3VwIGhhcyBhIHBhcmVudCBsYXllciBpbiBtYXAudHN4XG4gICAgICAgICAgLy8gc28gd2UgZG9uJ3QgbmVlZCB0byByZW1vdmUgaXQgaGVyZVxuICAgICAgICAgIC8vIHJlbW92ZUxheWVyR3JvdXAobWFwLCBmYWN0b3JpZXNHcm91cCk7XG4gICAgICAgICAgcmVtb3ZlTGF5ZXJHcm91cChtYXAsIGNvbGxlY3RvcnNHcm91cCk7XG4gICAgICAgICAgcmVtb3ZlTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnTGFyZ2UnOlxuICAgICAgICBjYXNlICdNTGFyZ2UnOlxuICAgICAgICBjYXNlICdNZWRpdW0nOlxuICAgICAgICBjYXNlICdTbWFsbCc6XG4gICAgICAgICAgLy8gd2UgYXJlIGhhbmRsaW5nIGZhY3Rvcmllc1BhcmVudEdyb3VwIGluIG1hcC50c3hcbiAgICAgICAgICAvLyBhZGRMYXllckdyb3VwKG1hcCwgZmFjdG9yaWVzR3JvdXApO1xuICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCB3d3Rwc0dyb3VwKTtcbiAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgY29sbGVjdG9yc0dyb3VwKTtcbiAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgZmFjdG9yaWVzR3JvdXApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgLy8gfVxuICAgIH1cbiAgfSwgW3JlcmVuZGVyLCBwb2ludHNdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICB7cG9pbnRzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICBmaWx0ZXJlZFBvaW50cygpLm1hcCgocG9pbnQ6IElQb2ludCkgPT4gKFxuICAgICAgICAgIDxQb2ludE1hcmtlclxuICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICBwb2ludD17cG9pbnR9XG4gICAgICAgICAgICBrZXk9e3BvaW50LmlkfVxuICAgICAgICAgICAgcmVyZW5kZXI9e3JlcmVuZGVyfVxuICAgICAgICAgICAgbGF5ZXJHcm91cD17XG4gICAgICAgICAgICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknXG4gICAgICAgICAgICAgICAgPyBmYWN0b3JpZXNHcm91cFxuICAgICAgICAgICAgICAgIDogcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50J1xuICAgICAgICAgICAgICAgID8gd3d0cHNHcm91cFxuICAgICAgICAgICAgICAgIDogY29sbGVjdG9yc0dyb3VwXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmbG93UmF0ZVVuaXQ9e3VzZXJJbmZvLmZsb3dfcmF0ZV91bml0fVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFNQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFBMEMsU0FBQUsseUJBQUFDLFdBQUEs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
170
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9pbnRNYXJrZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1BvaW50VXRpbHMiLCJfcmVhY3RSZWR1eCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiUG9pbnRNYXJrZXJzIiwicHJvcHMiLCJwb2ludHMiLCJtYXAiLCJmYWN0b3JpZXNHcm91cCIsInd3dHBzR3JvdXAiLCJjb2xsZWN0b3JzR3JvdXAiLCJyZXJlbmRlciIsImlzUG9pbnRCZWxvbmdUb0dyb3VwVHlwZXMiLCJwb2ludCIsInBvaW50SXNXV1RQIiwicG9pbnRJc0ZhY3RvcnkiLCJncm91cCIsInR5cGUiLCJoYXNfZGV2aWNlIiwicG9pbnRIYXNDb29yZGluYXRlcyIsImxhdCIsImxhdGl0dWRlIiwibG5nIiwibG9uZ2l0dWRlIiwiaXNWYWxpZCIsImlzTmFOIiwiY29uc29sZSIsIndhcm4iLCJjb25jYXQiLCJpZCIsImZpbHRlclN0YXRlbWVudCIsImZpbHRlcmVkUG9pbnRzIiwidXNlTWVtbyIsImZpbHRlciIsInVzZXJJbmZvIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsInBlcm1pc3Npb25zIiwidXNlcl9pbmZvIiwidXNlRWZmZWN0IiwiYWRkTGF5ZXJHcm91cCIsInJlbW92ZUxheWVyR3JvdXAiLCJjcmVhdGVFbGVtZW50IiwibGVuZ3RoIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImZsb3dfcmF0ZV91bml0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXJzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBQb2ludE1hcmtlciBmcm9tICcuL1BvaW50TWFya2VyJztcbmltcG9ydCB7XG4gIGFkZExheWVyR3JvdXAsXG4gIHJlbW92ZUxheWVyR3JvdXAsXG4gIHBvaW50SXNGYWN0b3J5LFxuICBwb2ludElzV1dUUCxcbn0gZnJvbSAnLi9Qb2ludFV0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgcG9pbnRzOiBhbnk7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50czogYm9vbGVhbjtcbiAgcmVyZW5kZXI6IHN0cmluZztcbiAgZmFjdG9yaWVzR3JvdXA6IGFueTtcbiAgd3d0cHNHcm91cDogYW55O1xuICBjb2xsZWN0b3JzR3JvdXA6IGFueTtcbiAgZm9yRXZlbnRzVmlldz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgUG9pbnRNYXJrZXJzOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBwb2ludHMsIG1hcCwgZmFjdG9yaWVzR3JvdXAsIHd3dHBzR3JvdXAsIGNvbGxlY3RvcnNHcm91cCwgcmVyZW5kZXIgfSA9XG4gICAgcHJvcHM7XG5cbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGRldGVybWluZSBpZiBhIHBvaW50IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgbWFwLlxuICBjb25zdCBpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcG9pbnRJc1dXVFAocG9pbnQpIHx8XG4gICAgICBwb2ludElzRmFjdG9yeShwb2ludCkgfHxcbiAgICAgIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpDb2xsZWN0b3JzJyAmJiBwb2ludC5oYXNfZGV2aWNlKSB8fFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6UHVtcFN0YXRpb24nXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBwb2ludEhhc0Nvb3JkaW5hdGVzID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICBjb25zdCBsYXQgPSBwb2ludC5sYXRpdHVkZTtcbiAgICBjb25zdCBsbmcgPSBwb2ludC5sb25naXR1ZGU7XG4gICAgY29uc3QgaXNWYWxpZCA9XG4gICAgICB0eXBlb2YgbGF0ID09PSAnbnVtYmVyJyAmJlxuICAgICAgdHlwZW9mIGxuZyA9PT0gJ251bWJlcicgJiZcbiAgICAgICFpc05hTihsYXQpICYmXG4gICAgICAhaXNOYU4obG5nKTtcbiAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgIGNvbnNvbGUud2FybihgUG9pbnQgJHtwb2ludC5pZH0gaGFzIGludmFsaWQgY29vcmRpbmF0ZXM6ICR7bGF0fSwgJHtsbmd9YCk7XG4gICAgfVxuICAgIHJldHVybiBpc1ZhbGlkO1xuICB9O1xuXG4gIGNvbnN0IGZpbHRlclN0YXRlbWVudCA9IChwb2ludCkgPT4ge1xuICAgIHJldHVybiBpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzKHBvaW50KSAmJiBwb2ludEhhc0Nvb3JkaW5hdGVzKHBvaW50KTtcbiAgfTtcblxuICBjb25zdCBmaWx0ZXJlZFBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBwb2ludHMuZmlsdGVyKChwb2ludDogSVBvaW50KSA9PiBmaWx0ZXJTdGF0ZW1lbnQocG9pbnQpKTtcbiAgfSwgW3BvaW50c10pO1xuXG4gIC8vIGNvbnN0IGdsb2JhbERhdGEgPSB1c2VTZWxlY3RvcihcbiAgLy8gICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5nbG9iYWxfZGF0YSxcbiAgLy8gKTtcblxuICBjb25zdCB1c2VySW5mbyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvKTtcblxuICAvLyBjb25zdCBbbGF5ZXJzVG9SZW1vdmUsIHNldExheWVyc1RvUmVtb3ZlXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG5cbiAgLy8gY29uc3QgcmVtb3ZlRXZlbnRQb2ludHNGcm9tQ2x1c3RlciA9ICh1bmlxZUlkcywgbG9jYWxMYXllcnNUb1JlbW92ZSkgPT4ge1xuICAvLyAgIGlmICghZmFjdG9yaWVzR3JvdXAgfHwgIW1hcCkge1xuICAvLyAgICAgY29uc29sZS53YXJuKCdFaXRoZXIgZmFjdG9yaWVzR3JvdXAgb3IgbWFwIGlzIHVuZGVmaW5lZC4nKTtcbiAgLy8gICAgIHJldHVybjtcbiAgLy8gICB9XG5cbiAgLy8gICAvLyBSZWZyZXNoIGNsdXN0ZXJzIHRvIHVwZGF0ZSBpbnRlcm5hbCBzdHJ1Y3R1cmVzLlxuICAvLyAgIGZhY3Rvcmllc0dyb3VwLnJlZnJlc2hDbHVzdGVycygpO1xuXG4gIC8vICAgdW5pcWVJZHMuZm9yRWFjaCgoaWQpID0+IHtcbiAgLy8gICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwLl9sYXllcnMpIHtcbiAgLy8gICAgICAgY29uc3QgbGF5ZXIgPSBtYXAuX2xheWVyc1twcm9wZXJ0eV07XG4gIC8vICAgICAgIC8vIENoZWNrIHRoYXQgdGhlIGxheWVyIGV4aXN0cywgaXMgb2YgdHlwZSAnUG9pbnQnLCBoYXMgdGhlIGV4cGVjdGVkIGlkLFxuICAvLyAgICAgICAvLyBhbmQgdGhhdCBpdCBpbXBsZW1lbnRzIGdldExhdExuZy5cbiAgLy8gICAgICAgaWYgKFxuICAvLyAgICAgICAgIGxheWVyICYmXG4gIC8vICAgICAgICAgbGF5ZXIua2FuZG9fb2JqZWN0ID09PSAnUG9pbnQnICYmXG4gIC8vICAgICAgICAgbGF5ZXIua2FuZG9fb2JqZWN0X2lkID09PSBpZCAmJlxuICAvLyAgICAgICAgIHR5cGVvZiBsYXllci5nZXRMYXRMbmcgPT09ICdmdW5jdGlvbicgJiZcbiAgLy8gICAgICAgICB0eXBlb2YgbGF5ZXIuX3pvb20gPT09ICdudW1iZXInXG4gIC8vICAgICAgICkge1xuICAvLyAgICAgICAgIGxvY2FsTGF5ZXJzVG9SZW1vdmUucHVzaChsYXllcik7XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIH1cbiAgLy8gICB9KTtcblxuICAvLyAgIC8vIEZpbHRlciBvdXQgZHVwbGljYXRlcyBhbmQgYW55IHVuZGVmaW5lZCBsYXllcnMuXG4gIC8vICAgY29uc3QgdW5pcXVlTGF5ZXJzID0gbG9jYWxMYXllcnNUb1JlbW92ZS5maWx0ZXIoXG4gIC8vICAgICAobGF5ZXIsIGluZGV4LCBzZWxmKSA9PlxuICAvLyAgICAgICBsYXllciAmJlxuICAvLyAgICAgICB0eXBlb2YgbGF5ZXIuZ2V0TGF0TG5nID09PSAnZnVuY3Rpb24nICYmXG4gIC8vICAgICAgIGluZGV4ID09PVxuICAvLyAgICAgICAgIHNlbGYuZmluZEluZGV4KChsKSA9PiBsLmthbmRvX29iamVjdF9pZCA9PT0gbGF5ZXIua2FuZG9fb2JqZWN0X2lkKSxcbiAgLy8gICApO1xuXG4gIC8vICAgc2V0TGF5ZXJzVG9SZW1vdmUodW5pcXVlTGF5ZXJzKTtcbiAgLy8gICBmYWN0b3JpZXNHcm91cC5yZW1vdmVMYXllcnModW5pcXVlTGF5ZXJzKTtcbiAgLy8gfTtcblxuICAvLyBjb25zdCBhZGRFdmVudFBvaW50c1RvQ2x1c3RlciA9ICgpID0+IHtcbiAgLy8gICBsZXQgbGF5ZXJzVG9EcmF3ID0gW107XG4gIC8vICAgbGV0IGxheWVyc0lkcyA9IGxheWVyc1RvUmVtb3ZlLm1hcCgobGF5ZXIpID0+IGxheWVyLmthbmRvX29iamVjdF9pZCk7XG4gIC8vICAgbGV0IHVuaXFlSWRzID0gWy4uLm5ldyBTZXQobGF5ZXJzSWRzKV07XG4gIC8vICAgdW5pcWVJZHMuZm9yRWFjaCgoaWQpID0+IHtcbiAgLy8gICAgIGxheWVyc1RvRHJhdy5wdXNoKFxuICAvLyAgICAgICBsYXllcnNUb1JlbW92ZS5maW5kKChsYXllcikgPT4gbGF5ZXIua2FuZG9fb2JqZWN0X2lkID09PSBpZCksXG4gIC8vICAgICApO1xuICAvLyAgIH0pO1xuXG4gIC8vICAgbGF5ZXJzVG9EcmF3LmZvckVhY2goKGxheWVyKSA9PiB7XG4gIC8vICAgICBsZXQgcG9pbnQgPSBwb2ludHMuZmluZCgocG9pbnQpID0+IHBvaW50LmlkID09PSBsYXllci5rYW5kb19vYmplY3RfaWQpO1xuICAvLyAgICAgcG9pbnQgJiYgYmluZFBvcHVwVG9NYXJrZXIocG9pbnQsIGxheWVyLCB1c2VySW5mby5mbG93X3JhdGVfdW5pdCk7XG4gIC8vICAgfSk7XG4gIC8vICAgZmFjdG9yaWVzR3JvdXAuYWRkTGF5ZXJzKGxheWVyc1RvRHJhdyk7XG4gIC8vIH07XG5cbiAgLy8gY29uc3QgbWFrZVN1cmVUaGVyZUFyZU5vRHVwbGljYXRlcyA9ICgpID0+IHtcbiAgLy8gICBsZXQgbG9jYWxMYXllcnNUb1JlbW92ZSA9IFtdO1xuXG4gIC8vICAgaWYgKGV2ZW50c0RhdGEuZm9jdXNlZEV2ZW50KSB7XG4gIC8vICAgICBsZXQgb2JzSWRzID0gZXZlbnRzRGF0YS5mb2N1c2VkRXZlbnQub2JzZXJ2YXRpb25zLm1hcChcbiAgLy8gICAgICAgKG9icykgPT4gb2JzLnBvaW50X2lkLFxuICAvLyAgICAgKTtcbiAgLy8gICAgIGxldCB1bmlxZUlkcyA9IFsuLi5uZXcgU2V0KG9ic0lkcyldO1xuICAvLyAgICAgcmVtb3ZlRXZlbnRQb2ludHNGcm9tQ2x1c3Rlcih1bmlxZUlkcywgbG9jYWxMYXllcnNUb1JlbW92ZSk7XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIGFkZEV2ZW50UG9pbnRzVG9DbHVzdGVyKCk7XG4gIC8vICAgfVxuICAvLyB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG1hcCkge1xuICAgICAgLy8gaWYgKGZvckV2ZW50c1ZpZXcpIHtcbiAgICAgIC8vICAgLy8gSW4gZXZlbnRzIHZpZXcsIGFsd2F5cyBzaG93IGFsbCBsYXllcnNcbiAgICAgIC8vICAgYWRkTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgIC8vICAgYWRkTGF5ZXJHcm91cChtYXAsIHd3dHBzR3JvdXApO1xuICAgICAgLy8gICBhZGRMYXllckdyb3VwKG1hcCwgY29sbGVjdG9yc0dyb3VwKTtcbiAgICAgIC8vIH0gZWxzZSB7XG4gICAgICBzd2l0Y2ggKHJlcmVuZGVyKSB7XG4gICAgICAgIGNhc2UgJ1hMYXJnZSc6XG4gICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIHd3dHBzR3JvdXApO1xuICAgICAgICAgIC8vIGZhY3RvcmllcyBncm91cCBoYXMgYSBwYXJlbnQgbGF5ZXIgaW4gbWFwLnRzeFxuICAgICAgICAgIC8vIHNvIHdlIGRvbid0IG5lZWQgdG8gcmVtb3ZlIGl0IGhlcmVcbiAgICAgICAgICAvLyByZW1vdmVMYXllckdyb3VwKG1hcCwgZmFjdG9yaWVzR3JvdXApO1xuICAgICAgICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBjb2xsZWN0b3JzR3JvdXApO1xuICAgICAgICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBmYWN0b3JpZXNHcm91cCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0xhcmdlJzpcbiAgICAgICAgY2FzZSAnTUxhcmdlJzpcbiAgICAgICAgY2FzZSAnTWVkaXVtJzpcbiAgICAgICAgY2FzZSAnU21hbGwnOlxuICAgICAgICAgIC8vIHdlIGFyZSBoYW5kbGluZyBmYWN0b3JpZXNQYXJlbnRHcm91cCBpbiBtYXAudHN4XG4gICAgICAgICAgLy8gYWRkTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgd3d0cHNHcm91cCk7XG4gICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIGNvbGxlY3RvcnNHcm91cCk7XG4gICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIC8vIH1cbiAgICB9XG4gIH0sIFtyZXJlbmRlciwgcG9pbnRzXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAge3BvaW50cy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgZmlsdGVyZWRQb2ludHMubWFwKChwb2ludDogSVBvaW50KSA9PiAoXG4gICAgICAgICAgPFBvaW50TWFya2VyXG4gICAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICAgIHBvaW50PXtwb2ludH1cbiAgICAgICAgICAgIGtleT17cG9pbnQuaWR9XG4gICAgICAgICAgICByZXJlbmRlcj17cmVyZW5kZXJ9XG4gICAgICAgICAgICBsYXllckdyb3VwPXtcbiAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeSdcbiAgICAgICAgICAgICAgICA/IGZhY3Rvcmllc0dyb3VwXG4gICAgICAgICAgICAgICAgOiBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnXG4gICAgICAgICAgICAgICAgPyB3d3Rwc0dyb3VwXG4gICAgICAgICAgICAgICAgOiBjb2xsZWN0b3JzR3JvdXBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZsb3dSYXRlVW5pdD17dXNlckluZm8uZmxvd19yYXRlX3VuaXR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEs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