@kando-env/kando-ui 1.2.292 → 1.2.293
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Widgets/Map/Map.js +20 -2
- package/lib/Widgets/Map/Map.scss +15 -0
- package/lib/Widgets/Map/MapUtils.js +12 -12
- package/lib/Widgets/Map/areas/AreaPolygon.js +82 -14
- package/lib/Widgets/Map/areas/AreaPolygons.js +6 -3
- package/lib/Widgets/Map/areas/AreaUtils.js +24 -45
- package/lib/Widgets/Map/points/PointMarker.js +82 -24
- package/lib/Widgets/Map/points/PointUtils.js +17 -8
- package/lib/i18n/en.json +2 -5
- package/lib/i18n/he.json +14 -16
- package/lib/macros/getVersion.js +1 -1
- package/lib/pages/DashboardMap/AreaCard.js +44 -7
- package/lib/pages/DashboardMap/FactoryCard.js +50 -11
- package/lib/pages/DashboardMap/List.js +35 -5
- package/lib/pages/DashboardMap/ListContext.js +41 -0
- package/lib/pages/DashboardMap/WWTPMap.js +23 -6
- package/lib/pages/DashboardMap/Widget.js +24 -10
- package/lib/pages/DashboardMap/utils.js +5 -4
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/styles/theme/theme.js +2 -2
- package/package.json +1 -1
|
@@ -4,11 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.zoomControlForArea = exports.
|
|
7
|
+
exports.zoomControlForArea = exports.getAreaName = exports.genericPolygon = exports.createPolygon = exports.calculatePolygonArea = exports.bindPopupBasedOnZoomLevel = void 0;
|
|
8
8
|
var _scoreToData = require("../../../utilities/scoreToData");
|
|
9
9
|
var _theme = require("../../../styles/theme/theme");
|
|
10
10
|
var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
11
|
-
var
|
|
11
|
+
var _utils = require("pages/DashboardMap/utils");
|
|
12
12
|
var getAreaName = function getAreaName(area) {
|
|
13
13
|
var name = area.area_name || area.name;
|
|
14
14
|
return name;
|
|
@@ -129,51 +129,30 @@ var customAttributesForAreaPolygon = function customAttributesForAreaPolygon(are
|
|
|
129
129
|
areaPolygon['area_name'] = area.area_name;
|
|
130
130
|
areaPolygon['calculated_surface'] = area.calculated_surface;
|
|
131
131
|
};
|
|
132
|
-
var createPolygon = function createPolygon(area, mapZoom, LayerGroup, map) {
|
|
133
|
-
var
|
|
134
|
-
var popupCreator = arguments.length > 5 ? arguments[5] : undefined;
|
|
132
|
+
var createPolygon = function createPolygon(area, mapZoom, LayerGroup, map, popupCreator, handleClick) {
|
|
133
|
+
var polygon;
|
|
135
134
|
if (area.shape_data !== null && area.shape_data !== undefined && area.shape_data.length > 0) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
_polygon.bringToBack();
|
|
150
|
-
if (subAreasCreated.getLayers().length > 0) {
|
|
151
|
-
subAreasCreated.addTo(map);
|
|
152
|
-
_polygon['sub_areas'] = subAreasCreated;
|
|
153
|
-
}
|
|
154
|
-
zoomControlForArea(_polygon, area, map);
|
|
135
|
+
polygon = genericPolygon(area, mapZoom);
|
|
136
|
+
if (handleClick !== undefined && handleClick !== null) {
|
|
137
|
+
var onClick = function onClick() {
|
|
138
|
+
polygon.on('click', function () {
|
|
139
|
+
handleClick(polygon.kando_object_id);
|
|
140
|
+
var subject = 'Map View - Area clicked';
|
|
141
|
+
(0, _utils.sendAnalyticsEvent)(subject, 'map', {
|
|
142
|
+
area_id: area.area_id,
|
|
143
|
+
area_name: area.area_name
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
onClick();
|
|
155
148
|
}
|
|
156
|
-
|
|
149
|
+
customAttributesForAreaPolygon(polygon, area);
|
|
150
|
+
!LayerGroup.hasLayer(polygon) && LayerGroup.addLayer(polygon).addTo(map);
|
|
151
|
+
popupCreator(polygon, area);
|
|
152
|
+
zoomControlForArea(polygon, area, map);
|
|
153
|
+
return polygon;
|
|
157
154
|
}
|
|
155
|
+
return null;
|
|
158
156
|
};
|
|
159
157
|
exports.createPolygon = createPolygon;
|
|
160
|
-
var listItemFocusOnClick = function listItemFocusOnClick(polygon) {
|
|
161
|
-
polygon.on('click', function (e) {
|
|
162
|
-
setTimeout(function () {
|
|
163
|
-
var elementExistsInList = document.getElementById(polygon.kando_object_id);
|
|
164
|
-
if (!elementExistsInList) return;
|
|
165
|
-
(0, _jquery.default)('.activeCard').removeClass('activeCard');
|
|
166
|
-
(0, _jquery.default)('.noneActiveCard').removeClass('noneActiveCard');
|
|
167
|
-
elementExistsInList.classList.add('activeCard');
|
|
168
|
-
var listItemCards = document.querySelectorAll('.listItemCard');
|
|
169
|
-
var noneActive = Array.from(listItemCards).filter(function (element) {
|
|
170
|
-
return !element.classList.contains('activeCard');
|
|
171
|
-
});
|
|
172
|
-
noneActive.forEach(function (element) {
|
|
173
|
-
element.classList.add('noneActiveCard');
|
|
174
|
-
});
|
|
175
|
-
}, 150);
|
|
176
|
-
});
|
|
177
|
-
};
|
|
178
|
-
exports.listItemFocusOnClick = listItemFocusOnClick;
|
|
179
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2NvcmVUb0RhdGEiLCJyZXF1aXJlIiwiX3RoZW1lIiwiX2xlYWZsZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2pxdWVyeSIsImdldEFyZWFOYW1lIiwiYXJlYSIsIm5hbWUiLCJhcmVhX25hbWUiLCJleHBvcnRzIiwiZ2VuZXJpY1BvbHlnb24iLCJtYXBab29tIiwiYXJlYVBvbHlnb24iLCJsYXRsbmdzIiwic2hhcGVfZGF0YSIsIm1hcCIsImxvY2F0aW9uIiwibGVuZ3RoIiwiY29sb3IiLCJzY29yZVRvQ29sb3IiLCJhcmVhX3Njb3JlIiwidGl0bGUiLCJwb2x5Z29uVGl0bGUiLCJMIiwicG9seWdvbiIsImZpbGxPcGFjaXR5Iiwic2hvd0NvbG9yT25seUluQm9yZGVycyIsIndlaWdodCIsImJpbmRUb29sdGlwIiwiY2xhc3NOYW1lIiwicGVybWFuZW50IiwiZGlyZWN0aW9uIiwiY2FsY3VsYXRlUG9seWdvbkFyZWEiLCJjb29yZGluYXRlcyIsIm51bVBvaW50cyIsImkiLCJ4MSIsInkxIiwieDIiLCJ5MiIsIk1hdGgiLCJhYnMiLCJjb25jYXQiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwicHJpbWFyeSIsInBzMSIsImJpbmRUb29sVGlwIiwibGF5ZXIiLCJ1bmJpbmRUb29sdGlwIiwidW5kZWZpbmVkIiwiYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbCIsIkxheWVyR3JvdXAiLCJhcmd1bWVudHMiLCJnZXRMYXllcnMiLCJmb3JFYWNoIiwiZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCIsInBlcmNlbnRhZ2UiLCJ6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duIiwiaXNQYXJ0aWFsUG9seWdvblZpc2libGUiLCJkcmlsbERvd25Db25kaXRpb24iLCJzdWJfYXJlYXMiLCJfbWFwIiwicG9seWdvbkxheWVyIiwibGF5ZXJHcm91cCIsInNldFN0eWxlIiwic3Ryb2tlIiwib3BhY2l0eSIsImdldFpvb20iLCJzdWJBcmVhIiwiYWRkTGF5ZXIiLCJyZW1vdmVMYXllciIsInJlZHJhdyIsInpvb21Db250cm9sRm9yQXJlYSIsIm9uIiwiZ2V0TWFwQm91bmRzIiwiZ2V0Qm91bmRzIiwicG9seWdvbkJvdW5kcyIsImludGVyc2VjdHMiLCJtYXBCb3VuZHNQb2x5Z29uIiwiZ2V0U291dGhXZXN0IiwiZ2V0Tm9ydGhXZXN0IiwiZ2V0Tm9ydGhFYXN0IiwiZ2V0U291dGhFYXN0IiwibWFwQm91bmRzIiwidG9HZW9KU09OIiwiZ2VvbWV0cnkiLCJhcmVhU3VyZmFjZSIsImN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiIsImFyZWFfaWQiLCJjYWxjdWxhdGVkX3N1cmZhY2UiLCJjcmVhdGVQb2x5Z29uIiwiY3JlYXRlQXNTdWJBcmVhIiwicG9wdXBDcmVhdG9yIiwiX2FyZWEkc3ViX2FyZWFzIiwic3ViQXJlYXNDcmVhdGVkIiwiaGFzX3BhcmVudCIsImxpc3RJdGVtRm9jdXNPbkNsaWNrIiwiaGFzTGF5ZXIiLCJhZGRUbyIsImJyaW5nVG9CYWNrIiwidG90YWxfZmFjdG9yaWVzIiwiZSIsInNldFRpbWVvdXQiLCJlbGVtZW50RXhpc3RzSW5MaXN0IiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImthbmRvX29iamVjdF9pZCIsIiQiLCJyZW1vdmVDbGFzcyIsImNsYXNzTGlzdCIsImFkZCIsImxpc3RJdGVtQ2FyZHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwibm9uZUFjdGl2ZSIsIkFycmF5IiwiZnJvbSIsImZpbHRlciIsImVsZW1lbnQiLCJjb250YWlucyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IFBvbHlnb24gfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcblxuZXhwb3J0IGNvbnN0IGdldEFyZWFOYW1lID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1BvbHlnb24gPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICBsZXQgYXJlYVBvbHlnb246IFBvbHlnb247XG4gIGxldCBsYXRsbmdzID0gYXJlYS5zaGFwZV9kYXRhLm1hcCgobG9jYXRpb246IGFueSkgPT4ge1xuICAgIHJldHVybiBbbG9jYXRpb25bJ2xhdCddLCBsb2NhdGlvblsnbG5nJ11dO1xuICB9KTtcblxuICBpZiAobGF0bG5ncy5sZW5ndGggPCAxKSByZXR1cm47XG5cbiAgbGV0IGNvbG9yID0gYXJlYS5jb2xvciA/IGFyZWEuY29sb3IgOiBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKTtcblxuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcblxuICBhcmVhUG9seWdvbiA9IEwucG9seWdvbihsYXRsbmdzLCB7XG4gICAgY29sb3IsXG4gICAgZmlsbE9wYWNpdHk6IGFyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA/IDAuMyA6IDAuNCxcbiAgICB3ZWlnaHQ6IGFyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA/IDIgOiAwLFxuICB9KS5iaW5kVG9vbHRpcCh0aXRsZSwge1xuICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgcGVybWFuZW50OiBtYXBab29tID4gMTIsXG4gICAgZGlyZWN0aW9uOiAnY2VudGVyJyxcbiAgfSk7XG5cbiAgcmV0dXJuIGFyZWFQb2x5Z29uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVBvbHlnb25BcmVhID0gKGNvb3JkaW5hdGVzKSA9PiB7XG4gIGxldCBhcmVhID0gMDtcbiAgbGV0IG51bVBvaW50cyA9IGNvb3JkaW5hdGVzLmxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBvaW50czsgaSsrKSB7XG4gICAgbGV0IHgxID0gY29vcmRpbmF0ZXNbaV1bMF07XG4gICAgbGV0IHkxID0gY29vcmRpbmF0ZXNbaV1bMV07XG4gICAgbGV0IHgyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMF07XG4gICAgbGV0IHkyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMV07XG5cbiAgICBhcmVhICs9IHgxICogeTIgLSB4MiAqIHkxO1xuICB9XG5cbiAgcmV0dXJuIE1hdGguYWJzKGFyZWEgLyAyKTtcbn07XG5cbmNvbnN0IHBvbHlnb25UaXRsZSA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIHJldHVybiBgPGRpdiBjbGFzcz1cImFyZWEtdG9vbHRpcFwiIHN0eWxlPVwiY29sb3I6JHtcbiAgICB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnBzMVxuICB9O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZTogJHtcbiAgICBtYXBab29tICogMS41XG4gIH1weDstd2Via2l0LXRleHQtc3Ryb2tlOiAwLjhweCAjZmZmZmZmO1wiPiAke2dldEFyZWFOYW1lKGFyZWEpfSBcbiAgICAgICAgPC9kaXY+YDtcbn07XG5cbmNvbnN0IGJpbmRUb29sVGlwID0gKGxheWVyLCB0aXRsZSwgcGVybWFuZW50LCBtYXBab29tKSA9PiB7XG4gIGxheWVyLnVuYmluZFRvb2x0aXAoKTtcbiAgbGF5ZXIuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICBjbGFzc05hbWU6ICdhcmVhLXRvb2x0aXAnLFxuICAgIHBlcm1hbmVudDogcGVybWFuZW50ICE9PSB1bmRlZmluZWQgPyBwZXJtYW5lbnQgOiBtYXBab29tID4gMTEsXG4gICAgZGlyZWN0aW9uOiAnY2VudGVyJyxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbCA9IChcbiAgTGF5ZXJHcm91cCxcbiAgbWFwWm9vbSxcbiAgYXJlYSxcbiAgcGVybWFuZW50ID0gdW5kZWZpbmVkLFxuKSA9PiB7XG4gIGNvbnN0IHRpdGxlID0gcG9seWdvblRpdGxlKGFyZWEsIG1hcFpvb20pO1xuXG4gIGlmIChMYXllckdyb3VwWydrYW5kb19vYmplY3QnXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgTGF5ZXJHcm91cC5nZXRMYXllcnMoKS5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgYmluZFRvb2xUaXAobGF5ZXIsIHRpdGxlLCBwZXJtYW5lbnQsIG1hcFpvb20pO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGJpbmRUb29sVGlwKExheWVyR3JvdXAsIHRpdGxlLCBwZXJtYW5lbnQsIG1hcFpvb20pO1xuICB9XG59O1xuXG5jb25zdCBkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsID0gKFxuICBhcmVhUG9seWdvbixcbiAgYXJlYSxcbiAgcGVyY2VudGFnZSxcbiAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gIG1hcCxcbikgPT4ge1xuICBjb25zdCBkcmlsbERvd25Db25kaXRpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBlcmNlbnRhZ2UgPj0gem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biAmJlxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgJiZcbiAgICAgIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgYXJlYVBvbHlnb24uX21hcCAhPT0gbnVsbFxuICAgICk7XG4gIH07XG5cbiAgbGV0IHBvbHlnb25MYXllciA9IEwubGF5ZXJHcm91cCgpO1xuICBpZiAoZHJpbGxEb3duQ29uZGl0aW9uKCkpIHtcbiAgICBhcmVhUG9seWdvbi5zZXRTdHlsZSh7XG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgICBjb2xvcjogc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSksXG4gICAgICB3ZWlnaHQ6IDIsXG4gICAgICBmaWxsT3BhY2l0eTogMC4wLFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KTtcbiAgICBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKFxuICAgICAgYXJlYVBvbHlnb24sXG4gICAgICBhcmVhUG9seWdvbi5fbWFwLmdldFpvb20oKSxcbiAgICAgIGFyZWEsXG4gICAgICBmYWxzZSxcbiAgICApO1xuXG4gICAgaWYgKGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10uZ2V0TGF5ZXJzKCkuZm9yRWFjaCgoc3ViQXJlYSkgPT4ge1xuICAgICAgICBpZiAoc3ViQXJlYS5zdWJfYXJlYXMgJiYgc3ViQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgbWFwLmFkZExheWVyKHBvbHlnb25MYXllcik7XG4gICAgICAgICAgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbChcbiAgICAgICAgICAgIHN1YkFyZWEsXG4gICAgICAgICAgICBzdWJBcmVhLl9tYXAuZ2V0Wm9vbSgpLFxuICAgICAgICAgICAgc3ViQXJlYSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBzdWJBcmVhLnNldFN0eWxlKHsgZmlsbE9wYWNpdHk6IDAuNCB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG1hcC5hZGRMYXllcihhcmVhUG9seWdvbik7XG4gICAgYXJlYVBvbHlnb24uc2V0U3R5bGUoeyBmaWxsT3BhY2l0eTogMC40LCBzdHJva2U6IGZhbHNlIH0pO1xuICAgIGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWFQb2x5Z29uLl9tYXAuZ2V0Wm9vbSgpLFxuICAgICAgYXJlYSxcbiAgICAgIHRydWUsXG4gICAgKTtcblxuICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10uZ2V0TGF5ZXJzKCkuZm9yRWFjaCgoc3ViQXJlYSkgPT4ge1xuICAgICAgICBwb2x5Z29uTGF5ZXIuYWRkTGF5ZXIoc3ViQXJlYSk7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihzdWJBcmVhKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgYXJlYVBvbHlnb24ucmVkcmF3KCk7XG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUNvbnRyb2xGb3JBcmVhID0gKGFyZWFQb2x5Z29uLCBhcmVhLCBtYXApID0+IHtcbiAgbWFwLm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKCkge1xuICAgIGxldCBnZXRNYXBCb3VuZHMgPSBtYXAuZ2V0Qm91bmRzKCk7XG4gICAgbGV0IHBvbHlnb25Cb3VuZHMgPSBhcmVhUG9seWdvbi5nZXRCb3VuZHMoKTtcbiAgICBsZXQgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgPSBnZXRNYXBCb3VuZHMuaW50ZXJzZWN0cyhwb2x5Z29uQm91bmRzKTtcbiAgICBsZXQgbWFwQm91bmRzUG9seWdvbiA9IEwucG9seWdvbihbXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0U291dGhXZXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0Tm9ydGhXZXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0Tm9ydGhFYXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0U291dGhFYXN0KCksXG4gICAgXSk7XG5cbiAgICBsZXQgbWFwQm91bmRzID0gY2FsY3VsYXRlUG9seWdvbkFyZWEoXG4gICAgICBtYXBCb3VuZHNQb2x5Z29uLnRvR2VvSlNPTigpLmdlb21ldHJ5LmNvb3JkaW5hdGVzWzBdLFxuICAgICk7XG5cbiAgICBsZXQgYXJlYVN1cmZhY2UgPSBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ107XG4gICAgY29uc3Qgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biA9IDE1LjA7XG4gICAgY29uc3QgcGVyY2VudGFnZSA9IChhcmVhU3VyZmFjZSAvIG1hcEJvdW5kcykgKiAxMDA7XG5cbiAgICBkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsKFxuICAgICAgYXJlYVBvbHlnb24sXG4gICAgICBhcmVhLFxuICAgICAgcGVyY2VudGFnZSxcbiAgICAgIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSxcbiAgICAgIG1hcCxcbiAgICApO1xuICB9KTtcbn07XG5cbmNvbnN0IGN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiA9IChhcmVhUG9seWdvbiwgYXJlYSkgPT4ge1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBhcmVhLmFyZWFfaWQ7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3QnXSA9ICdBcmVhJztcbiAgYXJlYVBvbHlnb25bJ2FyZWFfbmFtZSddID0gYXJlYS5hcmVhX25hbWU7XG4gIGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXSA9IGFyZWEuY2FsY3VsYXRlZF9zdXJmYWNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVBvbHlnb24gPSAoXG4gIGFyZWEsXG4gIG1hcFpvb20sXG4gIExheWVyR3JvdXAsXG4gIG1hcCxcbiAgY3JlYXRlQXNTdWJBcmVhOiBib29sZWFuID0gZmFsc2UsXG4gIHBvcHVwQ3JlYXRvcj86IChwb2x5Z29uLCBhcmVhKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGlmIChcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwXG4gICkge1xuICAgIGxldCBzdWJBcmVhc0NyZWF0ZWQgPSBMLmxheWVyR3JvdXAoW10pO1xuICAgIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICAgIGlmIChjcmVhdGVBc1N1YkFyZWEgfHwgIWFyZWEuaGFzX3BhcmVudCkge1xuICAgICAgcG9seWdvbiA9IGdlbmVyaWNQb2x5Z29uKGFyZWEsIG1hcFpvb20pO1xuICAgIH1cblxuICAgIGFyZWEuc3ViX2FyZWFzPy5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICBjcmVhdGVQb2x5Z29uKHN1YkFyZWEsIG1hcFpvb20sIHN1YkFyZWFzQ3JlYXRlZCwgbWFwLCB0cnVlLCBwb3B1cENyZWF0b3IpO1xuICAgIH0pO1xuXG4gICAgbGlzdEl0ZW1Gb2N1c09uQ2xpY2socG9seWdvbik7XG4gICAgaWYgKGNyZWF0ZUFzU3ViQXJlYSB8fCAhYXJlYS5oYXNfcGFyZW50KSB7XG4gICAgICBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24ocG9seWdvbiwgYXJlYSk7XG4gICAgICAhTGF5ZXJHcm91cC5oYXNMYXllcihwb2x5Z29uKSAmJiBMYXllckdyb3VwLmFkZExheWVyKHBvbHlnb24pLmFkZFRvKG1hcCk7XG4gICAgICBwb2x5Z29uLmJyaW5nVG9CYWNrKCk7XG4gICAgICBpZiAoc3ViQXJlYXNDcmVhdGVkLmdldExheWVycygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgc3ViQXJlYXNDcmVhdGVkLmFkZFRvKG1hcCk7XG4gICAgICAgIHBvbHlnb25bJ3N1Yl9hcmVhcyddID0gc3ViQXJlYXNDcmVhdGVkO1xuICAgICAgfVxuXG4gICAgICB6b29tQ29udHJvbEZvckFyZWEocG9seWdvbiwgYXJlYSwgbWFwKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwb3B1cENyZWF0b3IgJiZcbiAgICAgIChhcmVhLnN1Yl9hcmVhcy5sZW5ndGggIT09IDAgfHwgYXJlYS50b3RhbF9mYWN0b3JpZXMgPiAwKVxuICAgIClcbiAgICAgIHBvcHVwQ3JlYXRvcihwb2x5Z29uLCBhcmVhKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGxpc3RJdGVtRm9jdXNPbkNsaWNrID0gKHBvbHlnb24pID0+IHtcbiAgcG9seWdvbi5vbignY2xpY2snLCBmdW5jdGlvbiAoZSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgbGV0IGVsZW1lbnRFeGlzdHNJbkxpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICAgICAgcG9seWdvbi5rYW5kb19vYmplY3RfaWQsXG4gICAgICApO1xuICAgICAgaWYgKCFlbGVtZW50RXhpc3RzSW5MaXN0KSByZXR1cm47XG5cbiAgICAgICQoJy5hY3RpdmVDYXJkJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZUNhcmQnKTtcbiAgICAgICQoJy5ub25lQWN0aXZlQ2FyZCcpLnJlbW92ZUNsYXNzKCdub25lQWN0aXZlQ2FyZCcpO1xuICAgICAgZWxlbWVudEV4aXN0c0luTGlzdC5jbGFzc0xpc3QuYWRkKCdhY3RpdmVDYXJkJyk7XG5cbiAgICAgIGNvbnN0IGxpc3RJdGVtQ2FyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubGlzdEl0ZW1DYXJkJyk7XG4gICAgICBjb25zdCBub25lQWN0aXZlID0gQXJyYXkuZnJvbShsaXN0SXRlbUNhcmRzKS5maWx0ZXIoXG4gICAgICAgIChlbGVtZW50KSA9PiAhZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2FjdGl2ZUNhcmQnKSxcbiAgICAgICk7XG4gICAgICBub25lQWN0aXZlLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdub25lQWN0aXZlQ2FyZCcpO1xuICAgICAgfSk7XG4gICAgfSwgMTUwKTtcbiAgfSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsWUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBRU8sSUFBTUssV0FBVyxHQUFH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
|
|
158
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2NvcmVUb0RhdGEiLCJyZXF1aXJlIiwiX3RoZW1lIiwiX2xlYWZsZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImV4cG9ydHMiLCJnZW5lcmljUG9seWdvbiIsIm1hcFpvb20iLCJhcmVhUG9seWdvbiIsImxhdGxuZ3MiLCJzaGFwZV9kYXRhIiwibWFwIiwibG9jYXRpb24iLCJsZW5ndGgiLCJjb2xvciIsInNjb3JlVG9Db2xvciIsImFyZWFfc2NvcmUiLCJ0aXRsZSIsInBvbHlnb25UaXRsZSIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiYmluZFRvb2x0aXAiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJjYWxjdWxhdGVQb2x5Z29uQXJlYSIsImNvb3JkaW5hdGVzIiwibnVtUG9pbnRzIiwiaSIsIngxIiwieTEiLCJ4MiIsInkyIiwiTWF0aCIsImFicyIsImNvbmNhdCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicHMxIiwiYmluZFRvb2xUaXAiLCJsYXllciIsInVuYmluZFRvb2x0aXAiLCJ1bmRlZmluZWQiLCJiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsIiwiTGF5ZXJHcm91cCIsImFyZ3VtZW50cyIsImdldExheWVycyIsImZvckVhY2giLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImRyaWxsRG93bkNvbmRpdGlvbiIsInN1Yl9hcmVhcyIsIl9tYXAiLCJwb2x5Z29uTGF5ZXIiLCJsYXllckdyb3VwIiwic2V0U3R5bGUiLCJzdHJva2UiLCJvcGFjaXR5IiwiZ2V0Wm9vbSIsInN1YkFyZWEiLCJhZGRMYXllciIsInJlbW92ZUxheWVyIiwicmVkcmF3Iiwiem9vbUNvbnRyb2xGb3JBcmVhIiwib24iLCJnZXRNYXBCb3VuZHMiLCJnZXRCb3VuZHMiLCJwb2x5Z29uQm91bmRzIiwiaW50ZXJzZWN0cyIsIm1hcEJvdW5kc1BvbHlnb24iLCJnZXRTb3V0aFdlc3QiLCJnZXROb3J0aFdlc3QiLCJnZXROb3J0aEVhc3QiLCJnZXRTb3V0aEVhc3QiLCJtYXBCb3VuZHMiLCJ0b0dlb0pTT04iLCJnZW9tZXRyeSIsImFyZWFTdXJmYWNlIiwiY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uIiwiYXJlYV9pZCIsImNhbGN1bGF0ZWRfc3VyZmFjZSIsImNyZWF0ZVBvbHlnb24iLCJwb3B1cENyZWF0b3IiLCJoYW5kbGVDbGljayIsIm9uQ2xpY2siLCJrYW5kb19vYmplY3RfaWQiLCJzdWJqZWN0Iiwic2VuZEFuYWx5dGljc0V2ZW50IiwiaGFzTGF5ZXIiLCJhZGRUbyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCBMLCB7IFBvbHlnb24gfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNlbmRBbmFseXRpY3NFdmVudCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgZ2V0QXJlYU5hbWUgPSAoYXJlYSkgPT4ge1xuICBsZXQgbmFtZSA9IGFyZWEuYXJlYV9uYW1lIHx8IGFyZWEubmFtZTtcblxuICByZXR1cm4gbmFtZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmljUG9seWdvbiA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIGxldCBhcmVhUG9seWdvbjogUG9seWdvbjtcbiAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gIH0pO1xuXG4gIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHJldHVybjtcblxuICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuXG4gIGNvbnN0IHRpdGxlID0gcG9seWdvblRpdGxlKGFyZWEsIG1hcFpvb20pO1xuXG4gIGFyZWFQb2x5Z29uID0gTC5wb2x5Z29uKGxhdGxuZ3MsIHtcbiAgICBjb2xvcixcbiAgICBmaWxsT3BhY2l0eTogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMC4zIDogMC40LFxuICAgIHdlaWdodDogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMiA6IDAsXG4gIH0pLmJpbmRUb29sdGlwKHRpdGxlLCB7XG4gICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICBwZXJtYW5lbnQ6IG1hcFpvb20gPiAxMixcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcblxuICByZXR1cm4gYXJlYVBvbHlnb247XG59O1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlUG9seWdvbkFyZWEgPSAoY29vcmRpbmF0ZXMpID0+IHtcbiAgbGV0IGFyZWEgPSAwO1xuICBsZXQgbnVtUG9pbnRzID0gY29vcmRpbmF0ZXMubGVuZ3RoO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtUG9pbnRzOyBpKyspIHtcbiAgICBsZXQgeDEgPSBjb29yZGluYXRlc1tpXVswXTtcbiAgICBsZXQgeTEgPSBjb29yZGluYXRlc1tpXVsxXTtcbiAgICBsZXQgeDIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVswXTtcbiAgICBsZXQgeTIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVsxXTtcblxuICAgIGFyZWEgKz0geDEgKiB5MiAtIHgyICogeTE7XG4gIH1cblxuICByZXR1cm4gTWF0aC5hYnMoYXJlYSAvIDIpO1xufTtcblxuY29uc3QgcG9seWdvblRpdGxlID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiYXJlYS10b29sdGlwXCIgc3R5bGU9XCJjb2xvcjoke1xuICAgIHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucHMxXG4gIH07Zm9udC13ZWlnaHQ6NzAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOiAke1xuICAgIG1hcFpvb20gKiAxLjVcbiAgfXB4Oy13ZWJraXQtdGV4dC1zdHJva2U6IDAuOHB4ICNmZmZmZmY7XCI+ICR7Z2V0QXJlYU5hbWUoYXJlYSl9IFxuICAgICAgICA8L2Rpdj5gO1xufTtcblxuY29uc3QgYmluZFRvb2xUaXAgPSAobGF5ZXIsIHRpdGxlLCBwZXJtYW5lbnQsIG1hcFpvb20pID0+IHtcbiAgbGF5ZXIudW5iaW5kVG9vbHRpcCgpO1xuICBsYXllci5iaW5kVG9vbHRpcCh0aXRsZSwge1xuICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgcGVybWFuZW50OiBwZXJtYW5lbnQgIT09IHVuZGVmaW5lZCA/IHBlcm1hbmVudCA6IG1hcFpvb20gPiAxMSxcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsID0gKFxuICBMYXllckdyb3VwLFxuICBtYXBab29tLFxuICBhcmVhLFxuICBwZXJtYW5lbnQgPSB1bmRlZmluZWQsXG4pID0+IHtcbiAgY29uc3QgdGl0bGUgPSBwb2x5Z29uVGl0bGUoYXJlYSwgbWFwWm9vbSk7XG5cbiAgaWYgKExheWVyR3JvdXBbJ2thbmRvX29iamVjdCddID09PSB1bmRlZmluZWQpIHtcbiAgICBMYXllckdyb3VwLmdldExheWVycygpLmZvckVhY2goKGxheWVyKSA9PiB7XG4gICAgICBiaW5kVG9vbFRpcChsYXllciwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgYmluZFRvb2xUaXAoTGF5ZXJHcm91cCwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSk7XG4gIH1cbn07XG5cbmNvbnN0IGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwgPSAoXG4gIGFyZWFQb2x5Z29uLFxuICBhcmVhLFxuICBwZXJjZW50YWdlLFxuICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSxcbiAgbWFwLFxuKSA9PiB7XG4gIGNvbnN0IGRyaWxsRG93bkNvbmRpdGlvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcGVyY2VudGFnZSA+PSB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duICYmXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSAmJlxuICAgICAgYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBhcmVhUG9seWdvbi5fbWFwICE9PSBudWxsXG4gICAgKTtcbiAgfTtcblxuICBsZXQgcG9seWdvbkxheWVyID0gTC5sYXllckdyb3VwKCk7XG4gIGlmIChkcmlsbERvd25Db25kaXRpb24oKSkge1xuICAgIGFyZWFQb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgIGNvbG9yOiBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKSxcbiAgICAgIHdlaWdodDogMixcbiAgICAgIGZpbGxPcGFjaXR5OiAwLjAsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pO1xuICAgIGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWFQb2x5Z29uLl9tYXAuZ2V0Wm9vbSgpLFxuICAgICAgYXJlYSxcbiAgICAgIGZhbHNlLFxuICAgICk7XG5cbiAgICBpZiAoYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5nZXRMYXllcnMoKS5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIGlmIChzdWJBcmVhLnN1Yl9hcmVhcyAmJiBzdWJBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBtYXAuYWRkTGF5ZXIocG9seWdvbkxheWVyKTtcbiAgICAgICAgICBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKFxuICAgICAgICAgICAgc3ViQXJlYSxcbiAgICAgICAgICAgIHN1YkFyZWEuX21hcC5nZXRab29tKCksXG4gICAgICAgICAgICBzdWJBcmVhLFxuICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHN1YkFyZWEuc2V0U3R5bGUoeyBmaWxsT3BhY2l0eTogMC40IH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbWFwLmFkZExheWVyKGFyZWFQb2x5Z29uKTtcbiAgICBhcmVhUG9seWdvbi5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjQsIHN0cm9rZTogZmFsc2UgfSk7XG4gICAgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYVBvbHlnb24uX21hcC5nZXRab29tKCksXG4gICAgICBhcmVhLFxuICAgICAgdHJ1ZSxcbiAgICApO1xuXG4gICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5nZXRMYXllcnMoKS5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIHBvbHlnb25MYXllci5hZGRMYXllcihzdWJBcmVhKTtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHN1YkFyZWEpO1xuICAgICAgfSk7XG4gIH1cblxuICBhcmVhUG9seWdvbi5yZWRyYXcoKTtcbn07XG5cbmV4cG9ydCBjb25zdCB6b29tQ29udHJvbEZvckFyZWEgPSAoYXJlYVBvbHlnb24sIGFyZWEsIG1hcCkgPT4ge1xuICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGdldE1hcEJvdW5kcyA9IG1hcC5nZXRCb3VuZHMoKTtcbiAgICBsZXQgcG9seWdvbkJvdW5kcyA9IGFyZWFQb2x5Z29uLmdldEJvdW5kcygpO1xuICAgIGxldCBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSA9IGdldE1hcEJvdW5kcy5pbnRlcnNlY3RzKHBvbHlnb25Cb3VuZHMpO1xuICAgIGxldCBtYXBCb3VuZHNQb2x5Z29uID0gTC5wb2x5Z29uKFtcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aEVhc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aEVhc3QoKSxcbiAgICBdKTtcblxuICAgIGxldCBtYXBCb3VuZHMgPSBjYWxjdWxhdGVQb2x5Z29uQXJlYShcbiAgICAgIG1hcEJvdW5kc1BvbHlnb24udG9HZW9KU09OKCkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgKTtcblxuICAgIGxldCBhcmVhU3VyZmFjZSA9IGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXTtcbiAgICBjb25zdCB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duID0gMTUuMDtcbiAgICBjb25zdCBwZXJjZW50YWdlID0gKGFyZWFTdXJmYWNlIC8gbWFwQm91bmRzKSAqIDEwMDtcblxuICAgIGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWEsXG4gICAgICBwZXJjZW50YWdlLFxuICAgICAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgICAgIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICAgICAgbWFwLFxuICAgICk7XG4gIH0pO1xufTtcblxuY29uc3QgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uID0gKGFyZWFQb2x5Z29uLCBhcmVhKSA9PiB7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3RfaWQnXSA9IGFyZWEuYXJlYV9pZDtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdCddID0gJ0FyZWEnO1xuICBhcmVhUG9seWdvblsnYXJlYV9uYW1lJ10gPSBhcmVhLmFyZWFfbmFtZTtcbiAgYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddID0gYXJlYS5jYWxjdWxhdGVkX3N1cmZhY2U7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9seWdvbiA9IChcbiAgYXJlYSxcbiAgbWFwWm9vbSxcbiAgTGF5ZXJHcm91cCxcbiAgbWFwLFxuICBwb3B1cENyZWF0b3I/OiAocG9seWdvbiwgYXJlYSkgPT4gdm9pZCxcbiAgaGFuZGxlQ2xpY2s/LFxuKSA9PiB7XG4gIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICBpZiAoXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICApIHtcbiAgICBwb2x5Z29uID0gZ2VuZXJpY1BvbHlnb24oYXJlYSwgbWFwWm9vbSk7XG5cbiAgICBpZiAoaGFuZGxlQ2xpY2sgIT09IHVuZGVmaW5lZCAmJiBoYW5kbGVDbGljayAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgb25DbGljayA9ICgpID0+IHtcbiAgICAgICAgcG9seWdvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlQ2xpY2socG9seWdvbi5rYW5kb19vYmplY3RfaWQpO1xuXG4gICAgICAgICAgY29uc3Qgc3ViamVjdCA9ICdNYXAgVmlldyAtIEFyZWEgY2xpY2tlZCc7XG4gICAgICAgICAgc2VuZEFuYWx5dGljc0V2ZW50KHN1YmplY3QsICdtYXAnLCB7XG4gICAgICAgICAgICBhcmVhX2lkOiBhcmVhLmFyZWFfaWQsXG4gICAgICAgICAgICBhcmVhX25hbWU6IGFyZWEuYXJlYV9uYW1lLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBvbkNsaWNrKCk7XG4gICAgfVxuICAgIGN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbihwb2x5Z29uLCBhcmVhKTtcbiAgICAhTGF5ZXJHcm91cC5oYXNMYXllcihwb2x5Z29uKSAmJiBMYXllckdyb3VwLmFkZExheWVyKHBvbHlnb24pLmFkZFRvKG1hcCk7XG4gICAgcG9wdXBDcmVhdG9yKHBvbHlnb24sIGFyZWEpO1xuICAgIHpvb21Db250cm9sRm9yQXJlYShwb2x5Z29uLCBhcmVhLCBtYXApO1xuICAgIHJldHVybiBwb2x5Z29uO1xuICB9XG4gIHJldHVybiBudWxsO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUVPLElBQU1LLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJQyxJQUFJLEVBQUs7RUFDbkMsSUFBSUMsSUFBSSxHQUFHRCxJQUFJLENBQUNFLFNBQVMsSUFBSUYsSUFBSSxDQUFDQyxJQUFJO0VBRXRDLE9BQU9BLElBQUk7QUFDYixDQUFDO0FBQUNFLE9BQUEsQ0FBQUosV0FBQSxHQUFBQSxXQUFBO0FBRUssSUFBTUssY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJSixJQUFJLEVBQUVLLE9BQU8sRUFBSztFQUMvQyxJQUFJQyxXQUFvQjtFQUN4QixJQUFJQyxPQUFPLEdBQUdQLElBQUksQ0FBQ1EsVUFBVSxDQUFDQyxHQUFHLENBQUMsVUFBQ0MsUUFBYSxFQUFLO0lBQ25ELE9B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
|
|
@@ -6,22 +6,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
9
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
12
|
var _reactRedux = require("react-redux");
|
|
11
13
|
var _PointUtils = require("./PointUtils");
|
|
12
14
|
var _Widget = require("pages/DashboardMap/Widget");
|
|
13
15
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
14
16
|
var _utils = require("pages/DashboardMap/utils");
|
|
17
|
+
var _ListContext = require("pages/DashboardMap/ListContext");
|
|
15
18
|
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); }
|
|
16
19
|
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; }
|
|
17
20
|
function mapStateToProps(state) {
|
|
18
21
|
var events_data = state.events_data,
|
|
19
22
|
areas_data = state.areas_data,
|
|
20
|
-
points_data = state.points_data
|
|
23
|
+
points_data = state.points_data,
|
|
24
|
+
global_data = state.global_data;
|
|
21
25
|
return {
|
|
22
26
|
events_data: events_data,
|
|
23
27
|
areas_data: areas_data,
|
|
24
|
-
points_data: points_data
|
|
28
|
+
points_data: points_data,
|
|
29
|
+
global_data: global_data
|
|
25
30
|
};
|
|
26
31
|
}
|
|
27
32
|
var PointMarker = function PointMarker(props) {
|
|
@@ -30,35 +35,91 @@ var PointMarker = function PointMarker(props) {
|
|
|
30
35
|
rerender = props.rerender,
|
|
31
36
|
layerGroup = props.layerGroup,
|
|
32
37
|
flowRateUnit = props.flowRateUnit,
|
|
33
|
-
|
|
34
|
-
|
|
38
|
+
points_data = props.points_data,
|
|
39
|
+
global_data = props.global_data;
|
|
35
40
|
var dispatch = (0, _reactRedux.useDispatch)();
|
|
41
|
+
var _useSelectedItem = (0, _ListContext.useSelectedItem)(),
|
|
42
|
+
handleSelectItem = _useSelectedItem.handleSelectItem;
|
|
43
|
+
var WWTPMode = (0, _reactRedux.useSelector)(function (state) {
|
|
44
|
+
return state.wwtp_dashboard.map !== null;
|
|
45
|
+
});
|
|
46
|
+
var locale = (0, _reactRedux.useSelector)(function (state) {
|
|
47
|
+
return state.nav_context_data.navContext.locale;
|
|
48
|
+
});
|
|
36
49
|
var WWTPMapLogic = function WWTPMapLogic(markerLocation) {
|
|
37
50
|
var args = {
|
|
38
51
|
markerLocation: markerLocation,
|
|
39
52
|
point: point
|
|
40
53
|
};
|
|
41
54
|
var wwtp = (0, _PointUtils.bubbleForWWTP)(args);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
55
|
+
wwtp.addTo(map);
|
|
56
|
+
var fetchDataAndShowPopup = /*#__PURE__*/function () {
|
|
57
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
58
|
+
var widgetContainer, data, response;
|
|
59
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
60
|
+
while (1) {
|
|
61
|
+
switch (_context.prev = _context.next) {
|
|
62
|
+
case 0:
|
|
63
|
+
widgetContainer = document.createElement('span');
|
|
64
|
+
(0, _utils.createPopupForObject)({
|
|
65
|
+
renderedElement: widgetContainer,
|
|
66
|
+
marker: wwtp
|
|
67
|
+
});
|
|
68
|
+
_context.next = 4;
|
|
69
|
+
return fetch("/api_ui/wwtp_page/site/".concat(point.id, "/capacity?locale=").concat(locale, "&water_authority_id=").concat(global_data.waterAuthorityId));
|
|
70
|
+
case 4:
|
|
71
|
+
response = _context.sent;
|
|
72
|
+
if (!response.ok) {
|
|
73
|
+
_context.next = 11;
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
_context.next = 8;
|
|
77
|
+
return response.json();
|
|
78
|
+
case 8:
|
|
79
|
+
data = _context.sent;
|
|
80
|
+
_context.next = 12;
|
|
81
|
+
break;
|
|
82
|
+
case 11:
|
|
83
|
+
console.warn("HTTP error! for point: ".concat(point, ", status: "), response.status);
|
|
84
|
+
case 12:
|
|
85
|
+
_reactDom.default.render( /*#__PURE__*/_react.default.createElement(_Widget.Widget, {
|
|
86
|
+
object: point,
|
|
87
|
+
dispatch: dispatch,
|
|
88
|
+
points: points_data.items,
|
|
89
|
+
map: map,
|
|
90
|
+
global_data: global_data,
|
|
91
|
+
listData: data
|
|
92
|
+
}), widgetContainer);
|
|
93
|
+
if (!wwtp.isPopupOpen()) {
|
|
94
|
+
wwtp.openPopup();
|
|
95
|
+
}
|
|
96
|
+
case 14:
|
|
97
|
+
case "end":
|
|
98
|
+
return _context.stop();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}, _callee);
|
|
102
|
+
}));
|
|
103
|
+
return function fetchDataAndShowPopup() {
|
|
104
|
+
return _ref.apply(this, arguments);
|
|
105
|
+
};
|
|
106
|
+
}();
|
|
107
|
+
wwtp.on('click', function () {
|
|
108
|
+
wwtp.isPopupOpen() ? wwtp.closePopup() : fetchDataAndShowPopup();
|
|
109
|
+
(0, _utils.sendAnalyticsEvent)('Map View - WWTP clicked', 'map', {
|
|
110
|
+
point_id: point.id,
|
|
111
|
+
point_name: point.name
|
|
112
|
+
});
|
|
53
113
|
});
|
|
54
114
|
};
|
|
55
115
|
var renderLogic = function renderLogic() {
|
|
56
116
|
var markerLocation = [point['latitude'], point['longitude']];
|
|
57
117
|
if (markerLocation[0] === null) return;
|
|
58
|
-
if (point.
|
|
118
|
+
if (point.group.type === 'Groups::WastewaterTreatmentPlant' && WWTPMode === true) {
|
|
119
|
+
point.forWWTPMap = true;
|
|
59
120
|
WWTPMapLogic(markerLocation);
|
|
60
121
|
} else {
|
|
61
|
-
(0, _PointUtils.createBubblePoint)(markerLocation, point, map, null, layerGroup, flowRateUnit);
|
|
122
|
+
(0, _PointUtils.createBubblePoint)(markerLocation, point, map, null, layerGroup, flowRateUnit, WWTPMode ? handleSelectItem : null);
|
|
62
123
|
}
|
|
63
124
|
};
|
|
64
125
|
(0, _react.useEffect)(function () {
|
|
@@ -66,12 +127,9 @@ var PointMarker = function PointMarker(props) {
|
|
|
66
127
|
}, [rerender]);
|
|
67
128
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
68
129
|
};
|
|
69
|
-
var
|
|
70
|
-
var _default =
|
|
71
|
-
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
return true;
|
|
130
|
+
var connectedMarker = (0, _reactRedux.connect)(mapStateToProps);
|
|
131
|
+
var _default = connectedMarker( /*#__PURE__*/_react.default.memo(PointMarker, function (prevProps, nextProps) {
|
|
132
|
+
return prevProps.events_data.focusedEvent === nextProps.events_data.focusedEvent;
|
|
75
133
|
}));
|
|
76
134
|
exports.default = _default;
|
|
77
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9Qb2ludFV0aWxzIiwiX1dpZGdldCIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwicG9pbnRzX2RhdGEiLCJQb2ludE1hcmtlciIsInByb3BzIiwibWFwIiwicG9pbnQiLCJyZXJlbmRlciIsImxheWVyR3JvdXAiLCJmbG93UmF0ZVVuaXQiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiV1dUUE1hcExvZ2ljIiwibWFya2VyTG9jYXRpb24iLCJhcmdzIiwid3d0cCIsImJ1YmJsZUZvcldXVFAiLCJ3aWRnZXRDb250YWluZXIiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJSZWFjdERPTSIsInJlbmRlciIsIldpZGdldCIsIm9iamVjdCIsImFyZWFzIiwibmV3QXJlYXMiLCJwb2ludHMiLCJpdGVtcyIsImNyZWF0ZVBvcHVwRm9yT2JqZWN0IiwicmVuZGVyZWRFbGVtZW50IiwibWFya2VyIiwicmVuZGVyTG9naWMiLCJmb3JXV1RQTWFwIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJ1c2VFZmZlY3QiLCJGcmFnbWVudCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsIlJlYWN0IiwibWVtbyIsInByZXZQcm9wcyIsIm5leHRQcm9wcyIsImZvY3VzZWRFdmVudCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50TWFya2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IGJ1YmJsZUZvcldXVFAsIGNyZWF0ZUJ1YmJsZVBvaW50IH0gZnJvbSAnLi9Qb2ludFV0aWxzJztcbmltcG9ydCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBXaWRnZXQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgY3JlYXRlUG9wdXBGb3JPYmplY3QgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzJztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBldmVudHNfZGF0YSwgYXJlYXNfZGF0YSwgcG9pbnRzX2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBtYXA6IGFueTtcbiAgcG9pbnQ6IElQb2ludDtcbiAgcmVyZW5kZXI6IHN0cmluZztcbiAgbGF5ZXJHcm91cDogYW55O1xuICBmbG93UmF0ZVVuaXQ6IHN0cmluZztcbn07XG5cbmNvbnN0IFBvaW50TWFya2VyOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIG1hcCxcbiAgICBwb2ludCxcbiAgICByZXJlbmRlcixcbiAgICBsYXllckdyb3VwLFxuICAgIGZsb3dSYXRlVW5pdCxcbiAgICBhcmVhc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgV1dUUE1hcExvZ2ljID0gKG1hcmtlckxvY2F0aW9uKSA9PiB7XG4gICAgbGV0IGFyZ3MgPSB7IG1hcmtlckxvY2F0aW9uLCBwb2ludCB9O1xuICAgIGxldCB3d3RwOiBMLk1hcmtlciA9IGJ1YmJsZUZvcldXVFAoYXJncyk7XG5cbiAgICBjb25zdCB3aWRnZXRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICA8V2lkZ2V0XG4gICAgICAgIG9iamVjdD17cG9pbnR9XG4gICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgYXJlYXM9e2FyZWFzX2RhdGEubmV3QXJlYXN9XG4gICAgICAgIHBvaW50cz17cG9pbnRzX2RhdGEuaXRlbXN9XG4gICAgICAvPixcbiAgICAgIHdpZGdldENvbnRhaW5lcixcbiAgICApO1xuICAgIGNyZWF0ZVBvcHVwRm9yT2JqZWN0KHtcbiAgICAgIHJlbmRlcmVkRWxlbWVudDogd2lkZ2V0Q29udGFpbmVyLFxuICAgICAgbWFya2VyOiB3d3RwLFxuICAgICAgbWFwLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckxvZ2ljID0gKCkgPT4ge1xuICAgIGxldCBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUgPSBbcG9pbnRbJ2xhdGl0dWRlJ10sIHBvaW50Wydsb25naXR1ZGUnXV07XG4gICAgaWYgKG1hcmtlckxvY2F0aW9uWzBdID09PSBudWxsKSByZXR1cm47XG4gICAgaWYgKHBvaW50LmZvcldXVFBNYXApIHtcbiAgICAgIFdXVFBNYXBMb2dpYyhtYXJrZXJMb2NhdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgICAgcG9pbnQsXG4gICAgICAgIG1hcCxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgbGF5ZXJHcm91cCxcbiAgICAgICAgZmxvd1JhdGVVbml0LFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZW5kZXJMb2dpYygpO1xuICB9LCBbcmVyZW5kZXJdKTtcblxuICByZXR1cm4gPD48Lz47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoXG4gIFJlYWN0Lm1lbW8oUG9pbnRNYXJrZXIsIChwcmV2UHJvcHMsIG5leHRQcm9wcykgPT4ge1xuICAgIGlmIChcbiAgICAgIHByZXZQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQgIT09IG5leHRQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnRcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSksXG4pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLE9BQUEsR0FBQUgsT0FB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
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9Qb2ludFV0aWxzIiwiX1dpZGdldCIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfTGlzdENvbnRleHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwicG9pbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsIlBvaW50TWFya2VyIiwicHJvcHMiLCJtYXAiLCJwb2ludCIsInJlcmVuZGVyIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU2VsZWN0ZWRJdGVtIiwidXNlU2VsZWN0ZWRJdGVtIiwiaGFuZGxlU2VsZWN0SXRlbSIsIldXVFBNb2RlIiwidXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsImxvY2FsZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJuYXZDb250ZXh0IiwiV1dUUE1hcExvZ2ljIiwibWFya2VyTG9jYXRpb24iLCJhcmdzIiwid3d0cCIsImJ1YmJsZUZvcldXVFAiLCJhZGRUbyIsImZldGNoRGF0YUFuZFNob3dQb3B1cCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIndpZGdldENvbnRhaW5lciIsImRhdGEiLCJyZXNwb25zZSIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsInJlbmRlcmVkRWxlbWVudCIsIm1hcmtlciIsImZldGNoIiwiY29uY2F0IiwiaWQiLCJ3YXRlckF1dGhvcml0eUlkIiwic2VudCIsIm9rIiwianNvbiIsImNvbnNvbGUiLCJ3YXJuIiwic3RhdHVzIiwiUmVhY3RET00iLCJyZW5kZXIiLCJXaWRnZXQiLCJvYmplY3QiLCJwb2ludHMiLCJpdGVtcyIsImxpc3REYXRhIiwiaXNQb3B1cE9wZW4iLCJvcGVuUG9wdXAiLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJvbiIsImNsb3NlUG9wdXAiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJwb2ludF9pZCIsInBvaW50X25hbWUiLCJuYW1lIiwicmVuZGVyTG9naWMiLCJncm91cCIsInR5cGUiLCJmb3JXV1RQTWFwIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJ1c2VFZmZlY3QiLCJGcmFnbWVudCIsImNvbm5lY3RlZE1hcmtlciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsIlJlYWN0IiwibWVtbyIsInByZXZQcm9wcyIsIm5leHRQcm9wcyIsImZvY3VzZWRFdmVudCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50TWFya2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBidWJibGVGb3JXV1RQLCBjcmVhdGVCdWJibGVQb2ludCB9IGZyb20gJy4vUG9pbnRVdGlscyc7XG5pbXBvcnQgeyBXaWRnZXQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBMLCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQge1xuICBjcmVhdGVQb3B1cEZvck9iamVjdCxcbiAgc2VuZEFuYWx5dGljc0V2ZW50LFxufSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdGVkSXRlbSB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdENvbnRleHQnO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGV2ZW50c19kYXRhLCBhcmVhc19kYXRhLCBwb2ludHNfZGF0YSwgZ2xvYmFsX2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0ZWRNYXJrZXI+ICYge1xuICBtYXA6IGFueTtcbiAgcG9pbnQ6IElQb2ludDtcbiAgcmVyZW5kZXI6IHN0cmluZztcbiAgbGF5ZXJHcm91cDogYW55O1xuICBmbG93UmF0ZVVuaXQ6IHN0cmluZztcbn07XG5cbmNvbnN0IFBvaW50TWFya2VyOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIG1hcCxcbiAgICBwb2ludCxcbiAgICByZXJlbmRlcixcbiAgICBsYXllckdyb3VwLFxuICAgIGZsb3dSYXRlVW5pdCxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuXG4gIGNvbnN0IGxvY2FsZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZSxcbiAgKTtcblxuICBjb25zdCBXV1RQTWFwTG9naWMgPSAobWFya2VyTG9jYXRpb24pID0+IHtcbiAgICBsZXQgYXJncyA9IHsgbWFya2VyTG9jYXRpb24sIHBvaW50IH07XG4gICAgbGV0IHd3dHA6IEwuTWFya2VyID0gYnViYmxlRm9yV1dUUChhcmdzKTtcblxuICAgIHd3dHAuYWRkVG8obWFwKTtcblxuICAgIGNvbnN0IGZldGNoRGF0YUFuZFNob3dQb3B1cCA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgIGxldCBkYXRhO1xuXG4gICAgICBjcmVhdGVQb3B1cEZvck9iamVjdCh7XG4gICAgICAgIHJlbmRlcmVkRWxlbWVudDogd2lkZ2V0Q29udGFpbmVyLFxuICAgICAgICBtYXJrZXI6IHd3dHAsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcbiAgICAgICAgYC9hcGlfdWkvd3d0cF9wYWdlL3NpdGUvJHtwb2ludC5pZH0vY2FwYWNpdHk/bG9jYWxlPSR7bG9jYWxlfSZ3YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfWAsXG4gICAgICApO1xuXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgSFRUUCBlcnJvciEgZm9yIHBvaW50OiAke3BvaW50fSwgc3RhdHVzOiBgLFxuICAgICAgICAgIHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICA8V2lkZ2V0XG4gICAgICAgICAgb2JqZWN0PXtwb2ludH1cbiAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHNfZGF0YS5pdGVtc31cbiAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgbGlzdERhdGE9e2RhdGF9XG4gICAgICAgIC8+LFxuICAgICAgICB3aWRnZXRDb250YWluZXIsXG4gICAgICApO1xuICAgICAgaWYgKCF3d3RwLmlzUG9wdXBPcGVuKCkpIHtcbiAgICAgICAgd3d0cC5vcGVuUG9wdXAoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd3d0cC5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICB3d3RwLmlzUG9wdXBPcGVuKCkgPyB3d3RwLmNsb3NlUG9wdXAoKSA6IGZldGNoRGF0YUFuZFNob3dQb3B1cCgpO1xuICAgICAgc2VuZEFuYWx5dGljc0V2ZW50KCdNYXAgVmlldyAtIFdXVFAgY2xpY2tlZCcsICdtYXAnLCB7XG4gICAgICAgIHBvaW50X2lkOiBwb2ludC5pZCxcbiAgICAgICAgcG9pbnRfbmFtZTogcG9pbnQubmFtZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckxvZ2ljID0gKCkgPT4ge1xuICAgIGxldCBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUgPSBbcG9pbnRbJ2xhdGl0dWRlJ10sIHBvaW50Wydsb25naXR1ZGUnXV07XG4gICAgaWYgKG1hcmtlckxvY2F0aW9uWzBdID09PSBudWxsKSByZXR1cm47XG4gICAgaWYgKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JyAmJlxuICAgICAgV1dUUE1vZGUgPT09IHRydWVcbiAgICApIHtcbiAgICAgIHBvaW50LmZvcldXVFBNYXAgPSB0cnVlO1xuICAgICAgV1dUUE1hcExvZ2ljKG1hcmtlckxvY2F0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgICBwb2ludCxcbiAgICAgICAgbWFwLFxuICAgICAgICBudWxsLFxuICAgICAgICBsYXllckdyb3VwLFxuICAgICAgICBmbG93UmF0ZVVuaXQsXG4gICAgICAgIFdXVFBNb2RlID8gaGFuZGxlU2VsZWN0SXRlbSA6IG51bGwsXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlckxvZ2ljKCk7XG4gIH0sIFtyZXJlbmRlcl0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RlZE1hcmtlciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RlZE1hcmtlcihcbiAgUmVhY3QubWVtbyhQb2ludE1hcmtlciwgKHByZXZQcm9wcywgbmV4dFByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHByZXZQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQgPT09IG5leHRQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnRcbiAgICApO1xuICB9KSxcbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVC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
|