@kando-env/kando-ui 1.2.318-alpha.49 → 1.2.318-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Widgets/Map/Map.js +14 -14
- package/lib/Widgets/Map/MapUtils.js +2 -2
- package/lib/Widgets/Map/areas/AreaPolygon.js +34 -25
- package/lib/Widgets/Map/areas/AreaPolygons.js +15 -13
- package/lib/Widgets/Map/areas/AreaUtils.js +2 -2
- package/lib/Widgets/Map/points/PointMarker.js +44 -22
- package/lib/Widgets/Map/points/PointUtils.js +5 -8
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +20 -20
- package/lib/Widgets/QualitySummary/styles.js +2 -2
- package/lib/Widgets/UtilityInformation/styles.js +2 -2
- package/lib/components/Header/InfoBar/InfoBar.js +2 -7
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +2 -3
- package/lib/components/Header/Toolbar/Toolbar.js +2 -3
- package/lib/i18n/en.json +1 -2
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +2 -2
- package/lib/pages/DashboardMap/AreaCard.js +14 -49
- package/lib/pages/DashboardMap/FactoryCard.js +7 -25
- package/lib/pages/DashboardMap/List.js +9 -46
- package/lib/pages/DashboardMap/WWTPMap.js +45 -49
- package/lib/pages/DashboardMap/WaterDischarge.js +5 -5
- package/lib/pages/DashboardMap/Widget.js +26 -9
- package/lib/pages/DashboardMap/utils.js +44 -84
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +2 -2
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +7 -4
- package/lib/store/global/actions.js +3 -5
- package/lib/store/global/reducer.js +2 -3
- package/package.json +1 -1
- package/lib/assets/icons/zoom-in.svg +0 -4
- package/lib/pages/DashboardMap/Capacity.js +0 -129
|
@@ -157,7 +157,7 @@ var createPolygon = function createPolygon(area, mapZoom, featureGroup, map, pop
|
|
|
157
157
|
});
|
|
158
158
|
}
|
|
159
159
|
polygon.addTo(featureGroup);
|
|
160
|
-
popupCreator && popupCreator(polygon
|
|
160
|
+
popupCreator && popupCreator(polygon);
|
|
161
161
|
bindTooltip(polygon, area);
|
|
162
162
|
zoomControlForArea(polygon, area, map, featureGroup);
|
|
163
163
|
return polygon;
|
|
@@ -172,4 +172,4 @@ var getPattern = function getPattern(area) {
|
|
|
172
172
|
var color = (0, _scoreToData.scoreToColor)(area.area_score);
|
|
173
173
|
return (0, _Patterns.assesmentPattern)(color);
|
|
174
174
|
};
|
|
175
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiX3RoZW1lIiwiX1BhdHRlcm5zIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImdldEFyZWFJZCIsImFyZWFfaWQiLCJpZCIsImdlbmVyaWNQb2x5Z29uIiwibWFwWm9vbSIsImFyZWFQb2x5Z29uIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJtYXAiLCJsb2NhdGlvbiIsImxlbmd0aCIsImNvbG9yIiwic2NvcmVUb0NvbG9yIiwiYXJlYV9zY29yZSIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiZmlsbCIsImV4cG9ydHMiLCJjYWxjdWxhdGVQb2x5Z29uQXJlYSIsImNvb3JkaW5hdGVzIiwibnVtUG9pbnRzIiwiaSIsIngxIiwieTEiLCJ4MiIsInkyIiwiTWF0aCIsImFicyIsInBvbHlnb25UaXRsZSIsImNvbmNhdCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicHMxIiwiYmluZFRvb2x0aXAiLCJsYXllciIsIl9tYXAiLCJ1bmRlZmluZWQiLCJnZXRab29tIiwidGl0bGUiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsIiwidG9vbHRpcCIsImdldFRvb2x0aXAiLCJzZXRDb250ZW50Iiwib3BlblRvb2x0aXAiLCJjbG9zZVRvb2x0aXAiLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImZlYXR1cmVHcm91cCIsImRyaWxsRG93bkNvbmRpdGlvbiIsInN1Yl9hcmVhcyIsImhpZGVQb2x5Z29uIiwiYnJpbmdUb0JhY2siLCJzZXRTdHlsZSIsInN0cm9rZSIsInNob3dQb2x5Z29uIiwiYnJpbmdUb0Zyb250Iiwib3BhY2l0eSIsImhhbmRsZVN1YkFyZWFzIiwic2hvdyIsImZvckVhY2giLCJzdWJBcmVhSWQiLCJlYWNoTGF5ZXIiLCJ6b29tQ29udHJvbEZvckFyZWEiLCJvbiIsImdldE1hcEJvdW5kcyIsImdldEJvdW5kcyIsInBvbHlnb25Cb3VuZHMiLCJpbnRlcnNlY3RzIiwibWFwQm91bmRzUG9seWdvbiIsImdldFNvdXRoV2VzdCIsImdldE5vcnRoV2VzdCIsImdldE5vcnRoRWFzdCIsImdldFNvdXRoRWFzdCIsIm1hcEJvdW5kcyIsInRvR2VvSlNPTiIsImdlb21ldHJ5IiwiYXJlYVN1cmZhY2UiLCJjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24iLCJjYWxjdWxhdGVkX3N1cmZhY2UiLCJjcmVhdGVQb2x5Z29uIiwicG9wdXBDcmVhdG9yIiwicGF0dGVybiIsImdldFBhdHRlcm4iLCJhZGRUbyIsImZpbGxQYXR0ZXJuIiwiaXNfYXNzZXNzbWVudCIsImFzc2VzbWVudFBhdHRlcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IEZlYXR1cmVHcm91cCwgUG9seWdvbiB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IGFzc2VzbWVudFBhdHRlcm4gfSBmcm9tICcuL1BhdHRlcm5zJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5cbmNvbnN0IGdldEFyZWFOYW1lID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5jb25zdCBnZXRBcmVhSWQgPSAoYXJlYSkgPT4ge1xuICBsZXQgbmFtZSA9IGFyZWEuYXJlYV9pZCB8fCBhcmVhLmlkO1xuXG4gIHJldHVybiBuYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyaWNQb2x5Z29uID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgbGV0IGFyZWFQb2x5Z29uOiBQb2x5Z29uO1xuICBsZXQgbGF0bG5ncyA9IGFyZWEuc2hhcGVfZGF0YS5tYXAoKGxvY2F0aW9uOiBhbnkpID0+IHtcbiAgICByZXR1cm4gW2xvY2F0aW9uWydsYXQnXSwgbG9jYXRpb25bJ2xuZyddXTtcbiAgfSk7XG5cbiAgaWYgKGxhdGxuZ3MubGVuZ3RoIDwgMSkgcmV0dXJuO1xuXG4gIGxldCBjb2xvciA9IGFyZWEuY29sb3IgPyBhcmVhLmNvbG9yIDogc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSk7XG5cbiAgYXJlYVBvbHlnb24gPSBMLnBvbHlnb24obGF0bG5ncywge1xuICAgIGNvbG9yLFxuICAgIGZpbGxPcGFjaXR5OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAwLjMgOiAwLjQsXG4gICAgd2VpZ2h0OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAyIDogMCxcbiAgICBmaWxsOiBmYWxzZSxcbiAgfSk7XG5cbiAgcmV0dXJuIGFyZWFQb2x5Z29uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVBvbHlnb25BcmVhID0gKGNvb3JkaW5hdGVzKSA9PiB7XG4gIGxldCBhcmVhID0gMDtcbiAgbGV0IG51bVBvaW50cyA9IGNvb3JkaW5hdGVzLmxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBvaW50czsgaSsrKSB7XG4gICAgbGV0IHgxID0gY29vcmRpbmF0ZXNbaV1bMF07XG4gICAgbGV0IHkxID0gY29vcmRpbmF0ZXNbaV1bMV07XG4gICAgbGV0IHgyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMF07XG4gICAgbGV0IHkyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMV07XG5cbiAgICBhcmVhICs9IHgxICogeTIgLSB4MiAqIHkxO1xuICB9XG5cbiAgcmV0dXJuIE1hdGguYWJzKGFyZWEgLyAyKTtcbn07XG5cbmNvbnN0IHBvbHlnb25UaXRsZSA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIHJldHVybiBgPGRpdiBjbGFzcz1cImFyZWEtdG9vbHRpcFwiIHN0eWxlPVwiY29sb3I6JHtcbiAgICB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnBzMVxuICB9O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZTogJHtcbiAgICBtYXBab29tICogMS41XG4gIH1weDstd2Via2l0LXRleHQtc3Ryb2tlOiAwLjhweCAjZmZmZmZmO1wiPiAke2dldEFyZWFOYW1lKGFyZWEpfSBcbiAgICAgICAgPC9kaXY+YDtcbn07XG5cbmNvbnN0IGJpbmRUb29sdGlwID0gKGxheWVyLCBhcmVhKSA9PiB7XG4gIGNvbnN0IG1hcFpvb20gPSBsYXllci5fbWFwICE9PSB1bmRlZmluZWQgPyBsYXllci5fbWFwLmdldFpvb20oKSA6IDA7XG4gIGNvbnN0IHRpdGxlID0gcG9seWdvblRpdGxlKGFyZWEsIG1hcFpvb20pO1xuICBsYXllci5iaW5kVG9vbHRpcCh0aXRsZSwge1xuICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgcGVybWFuZW50OiB0cnVlLFxuICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gIH0pO1xuICBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsKGxheWVyLCBtYXBab29tKTtcbn07XG5cbi8vIFRoZSB0b29sdGlwIGlzIHNob3dpbmcgdGhlIGFyZWEgbmFtZVxuZXhwb3J0IGNvbnN0IGhhbmRsZVRvbHRpcEJhc2VkT25ab29tTGV2ZWwgPSAocG9seWdvbiwgbWFwWm9vbSkgPT4ge1xuICBpZiAobWFwWm9vbSA+IDExKSB7XG4gICAgY29uc3QgdG9vbHRpcCA9IHBvbHlnb24uZ2V0VG9vbHRpcCgpO1xuICAgIHRvb2x0aXAuc2V0Q29udGVudChwb2x5Z29uVGl0bGUocG9seWdvbiwgbWFwWm9vbSkpO1xuICAgIHBvbHlnb24ub3BlblRvb2x0aXAoKTtcbiAgfSBlbHNlIHtcbiAgICBwb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICB9XG59O1xuXG5jb25zdCBkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsID0gKFxuICBhcmVhUG9seWdvbixcbiAgYXJlYSxcbiAgcGVyY2VudGFnZSxcbiAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gIG1hcCxcbiAgZmVhdHVyZUdyb3VwLFxuKSA9PiB7XG4gIGNvbnN0IGRyaWxsRG93bkNvbmRpdGlvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcGVyY2VudGFnZSA+PSB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duICYmXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSAmJlxuICAgICAgYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBhcmVhUG9seWdvbi5fbWFwICE9PSBudWxsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBoaWRlUG9seWdvbiA9IChwb2x5Z29uOiBQb2x5Z29uKSA9PiB7XG4gICAgcG9seWdvbi5icmluZ1RvQmFjaygpO1xuICAgIHBvbHlnb24uY2xvc2VUb29sdGlwKCk7XG4gICAgcG9seWdvblsnaGlkZGVuJ10gPSB0cnVlO1xuICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgc3Ryb2tlOiBmYWxzZSxcbiAgICAgIGZpbGw6IGZhbHNlLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHNob3dQb2x5Z29uID0gKHBvbHlnb246IFBvbHlnb24sIGZpbGw6IGJvb2xlYW4pID0+IHtcbiAgICBwb2x5Z29uLmJyaW5nVG9Gcm9udCgpO1xuICAgIHBvbHlnb25bJ2hpZGRlbiddID0gZmFsc2U7XG4gICAgcG9seWdvbi5zZXRTdHlsZSh7XG4gICAgICAvL3N0cm9rZTogZmlsbCA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgIG9wYWNpdHk6IDAuNCxcbiAgICAgIHdlaWdodDogMixcbiAgICAgIGZpbGw6IGZpbGwsXG4gICAgICBmaWxsT3BhY2l0eTogMC40LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1YkFyZWFzID0gKHNob3c6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAoYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5mb3JFYWNoKChzdWJBcmVhSWQpID0+IHtcbiAgICAgICAgZmVhdHVyZUdyb3VwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgICAgICBpZiAobGF5ZXJbJ2thbmRvX29iamVjdF9pZCddID09PSBzdWJBcmVhSWQpIHtcbiAgICAgICAgICAgIHNob3cgPyBzaG93UG9seWdvbihsYXllciwgdHJ1ZSkgOiBoaWRlUG9seWdvbihsYXllcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICAvLyBTaG93IHRoZSBhcmVhIHdpdGggYm9yZGVyIG9ubHlcbiAgLy8gT3IgYmFja2dyb3VuZCBjb2xvclxuICBpZiAoZHJpbGxEb3duQ29uZGl0aW9uKCkpIHtcbiAgICBzaG93UG9seWdvbihhcmVhUG9seWdvbiwgZmFsc2UpO1xuICAgIGFyZWFQb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICAgIGhhbmRsZVN1YkFyZWFzKHRydWUpO1xuICB9IGVsc2Uge1xuICAgIGhhbmRsZVN1YkFyZWFzKGZhbHNlKTtcblxuICAgIGlmICghYXJlYVBvbHlnb25bJ2hpZGRlbiddKSB7XG4gICAgICBzaG93UG9seWdvbihhcmVhUG9seWdvbiwgdHJ1ZSk7XG4gICAgICBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsKGFyZWFQb2x5Z29uLCBtYXAuZ2V0Wm9vbSgpKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB6b29tQ29udHJvbEZvckFyZWEgPSAoYXJlYVBvbHlnb24sIGFyZWEsIG1hcCwgZmVhdHVyZUdyb3VwKSA9PiB7XG4gIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgZ2V0TWFwQm91bmRzID0gbWFwLmdldEJvdW5kcygpO1xuICAgIGxldCBwb2x5Z29uQm91bmRzID0gYXJlYVBvbHlnb24uZ2V0Qm91bmRzKCk7XG4gICAgbGV0IGlzUGFydGlhbFBvbHlnb25WaXNpYmxlID0gZ2V0TWFwQm91bmRzLmludGVyc2VjdHMocG9seWdvbkJvdW5kcyk7XG4gICAgbGV0IG1hcEJvdW5kc1BvbHlnb24gPSBMLnBvbHlnb24oW1xuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoRWFzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoRWFzdCgpLFxuICAgIF0pO1xuXG4gICAgbGV0IG1hcEJvdW5kcyA9IGNhbGN1bGF0ZVBvbHlnb25BcmVhKFxuICAgICAgbWFwQm91bmRzUG9seWdvbi50b0dlb0pTT04oKS5nZW9tZXRyeS5jb29yZGluYXRlc1swXSxcbiAgICApO1xuXG4gICAgbGV0IGFyZWFTdXJmYWNlID0gYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddO1xuICAgIGNvbnN0IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gPSAxNS4wO1xuICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSAoYXJlYVN1cmZhY2UgLyBtYXBCb3VuZHMpICogMTAwO1xuXG4gICAgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYSxcbiAgICAgIHBlcmNlbnRhZ2UsXG4gICAgICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gICAgICBtYXAsXG4gICAgICBmZWF0dXJlR3JvdXAsXG4gICAgKTtcbiAgfSk7XG59O1xuXG5jb25zdCBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24gPSAoYXJlYVBvbHlnb24sIGFyZWEpID0+IHtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdF9pZCddID0gZ2V0QXJlYUlkKGFyZWEpO1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0J10gPSAnQXJlYSc7XG4gIGFyZWFQb2x5Z29uWydhcmVhX25hbWUnXSA9IGdldEFyZWFOYW1lKGFyZWEpO1xuICBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ10gPSBhcmVhLmNhbGN1bGF0ZWRfc3VyZmFjZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb2x5Z29uID0gKFxuICBhcmVhLFxuICBtYXBab29tLFxuICBmZWF0dXJlR3JvdXA6IEZlYXR1cmVHcm91cCxcbiAgbWFwLFxuICBwb3B1cENyZWF0b3I/OiAocG9seWdvbjogUG9seWdvbiwgYXJlYTogSUFyZWEpID0+IHZvaWQsXG4pID0+IHtcbiAgbGV0IHBvbHlnb246IFBvbHlnb247XG4gIGlmIChcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwXG4gICkge1xuICAgIHBvbHlnb24gPSBnZW5lcmljUG9seWdvbihhcmVhLCBtYXBab29tKTtcblxuICAgIGN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbihwb2x5Z29uLCBhcmVhKTtcbiAgICBjb25zdCBwYXR0ZXJuID0gZ2V0UGF0dGVybihhcmVhKTtcbiAgICBpZiAocGF0dGVybikge1xuICAgICAgcGF0dGVybj8uYWRkVG8obWFwKTtcbiAgICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgICBmaWxsUGF0dGVybjogcGF0dGVybixcbiAgICAgICAgY29sb3I6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHBvbHlnb24uYWRkVG8oZmVhdHVyZUdyb3VwKTtcbiAgICBwb3B1cENyZWF0b3IgJiYgcG9wdXBDcmVhdG9yKHBvbHlnb24sIGFyZWEpO1xuICAgIGJpbmRUb29sdGlwKHBvbHlnb24sIGFyZWEpO1xuICAgIHpvb21Db250cm9sRm9yQXJlYShwb2x5Z29uLCBhcmVhLCBtYXAsIGZlYXR1cmVHcm91cCk7XG4gICAgcmV0dXJuIHBvbHlnb247XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5jb25zdCBnZXRQYXR0ZXJuID0gKGFyZWEpID0+IHtcbiAgaWYgKGFyZWEuaXNfYXNzZXNzbWVudCA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBjb2xvciA9IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuICByZXR1cm4gYXNzZXNtZW50UGF0dGVybihjb2xvcik7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFHQSxJQUFNSSxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsSUFBSSxFQUFLO0VBQzVCLElBQUlDLElBQUksR0FBR0QsSUFBSSxDQUFDRSxTQUFTLElBQUlGLElBQUksQ0FBQ0MsSUFBSTtFQUV0QyxPQUFPQSxJQUFJO0FBQ2IsQ0FBQztBQUVELElBQU1FLFNBQVMsR0FBRyxTQUFaQSxTQUFTQSxDQUFJSCxJQUFJLEVBQUs7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
|
|
175
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiX3RoZW1lIiwiX1BhdHRlcm5zIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImdldEFyZWFJZCIsImFyZWFfaWQiLCJpZCIsImdlbmVyaWNQb2x5Z29uIiwibWFwWm9vbSIsImFyZWFQb2x5Z29uIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJtYXAiLCJsb2NhdGlvbiIsImxlbmd0aCIsImNvbG9yIiwic2NvcmVUb0NvbG9yIiwiYXJlYV9zY29yZSIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiZmlsbCIsImV4cG9ydHMiLCJjYWxjdWxhdGVQb2x5Z29uQXJlYSIsImNvb3JkaW5hdGVzIiwibnVtUG9pbnRzIiwiaSIsIngxIiwieTEiLCJ4MiIsInkyIiwiTWF0aCIsImFicyIsInBvbHlnb25UaXRsZSIsImNvbmNhdCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicHMxIiwiYmluZFRvb2x0aXAiLCJsYXllciIsIl9tYXAiLCJ1bmRlZmluZWQiLCJnZXRab29tIiwidGl0bGUiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsIiwidG9vbHRpcCIsImdldFRvb2x0aXAiLCJzZXRDb250ZW50Iiwib3BlblRvb2x0aXAiLCJjbG9zZVRvb2x0aXAiLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImZlYXR1cmVHcm91cCIsImRyaWxsRG93bkNvbmRpdGlvbiIsInN1Yl9hcmVhcyIsImhpZGVQb2x5Z29uIiwiYnJpbmdUb0JhY2siLCJzZXRTdHlsZSIsInN0cm9rZSIsInNob3dQb2x5Z29uIiwiYnJpbmdUb0Zyb250Iiwib3BhY2l0eSIsImhhbmRsZVN1YkFyZWFzIiwic2hvdyIsImZvckVhY2giLCJzdWJBcmVhSWQiLCJlYWNoTGF5ZXIiLCJ6b29tQ29udHJvbEZvckFyZWEiLCJvbiIsImdldE1hcEJvdW5kcyIsImdldEJvdW5kcyIsInBvbHlnb25Cb3VuZHMiLCJpbnRlcnNlY3RzIiwibWFwQm91bmRzUG9seWdvbiIsImdldFNvdXRoV2VzdCIsImdldE5vcnRoV2VzdCIsImdldE5vcnRoRWFzdCIsImdldFNvdXRoRWFzdCIsIm1hcEJvdW5kcyIsInRvR2VvSlNPTiIsImdlb21ldHJ5IiwiYXJlYVN1cmZhY2UiLCJjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24iLCJjYWxjdWxhdGVkX3N1cmZhY2UiLCJjcmVhdGVQb2x5Z29uIiwicG9wdXBDcmVhdG9yIiwicGF0dGVybiIsImdldFBhdHRlcm4iLCJhZGRUbyIsImZpbGxQYXR0ZXJuIiwiaXNfYXNzZXNzbWVudCIsImFzc2VzbWVudFBhdHRlcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IEZlYXR1cmVHcm91cCwgUG9seWdvbiB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IGFzc2VzbWVudFBhdHRlcm4gfSBmcm9tICcuL1BhdHRlcm5zJztcblxuY29uc3QgZ2V0QXJlYU5hbWUgPSAoYXJlYSkgPT4ge1xuICBsZXQgbmFtZSA9IGFyZWEuYXJlYV9uYW1lIHx8IGFyZWEubmFtZTtcblxuICByZXR1cm4gbmFtZTtcbn07XG5cbmNvbnN0IGdldEFyZWFJZCA9IChhcmVhKSA9PiB7XG4gIGxldCBuYW1lID0gYXJlYS5hcmVhX2lkIHx8IGFyZWEuaWQ7XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJpY1BvbHlnb24gPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICBsZXQgYXJlYVBvbHlnb246IFBvbHlnb247XG4gIGxldCBsYXRsbmdzID0gYXJlYS5zaGFwZV9kYXRhLm1hcCgobG9jYXRpb246IGFueSkgPT4ge1xuICAgIHJldHVybiBbbG9jYXRpb25bJ2xhdCddLCBsb2NhdGlvblsnbG5nJ11dO1xuICB9KTtcblxuICBpZiAobGF0bG5ncy5sZW5ndGggPCAxKSByZXR1cm47XG5cbiAgbGV0IGNvbG9yID0gYXJlYS5jb2xvciA/IGFyZWEuY29sb3IgOiBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKTtcblxuICBhcmVhUG9seWdvbiA9IEwucG9seWdvbihsYXRsbmdzLCB7XG4gICAgY29sb3IsXG4gICAgZmlsbE9wYWNpdHk6IGFyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA/IDAuMyA6IDAuNCxcbiAgICB3ZWlnaHQ6IGFyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA/IDIgOiAwLFxuICAgIGZpbGw6IGZhbHNlLFxuICB9KTtcblxuICByZXR1cm4gYXJlYVBvbHlnb247XG59O1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlUG9seWdvbkFyZWEgPSAoY29vcmRpbmF0ZXMpID0+IHtcbiAgbGV0IGFyZWEgPSAwO1xuICBsZXQgbnVtUG9pbnRzID0gY29vcmRpbmF0ZXMubGVuZ3RoO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtUG9pbnRzOyBpKyspIHtcbiAgICBsZXQgeDEgPSBjb29yZGluYXRlc1tpXVswXTtcbiAgICBsZXQgeTEgPSBjb29yZGluYXRlc1tpXVsxXTtcbiAgICBsZXQgeDIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVswXTtcbiAgICBsZXQgeTIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVsxXTtcblxuICAgIGFyZWEgKz0geDEgKiB5MiAtIHgyICogeTE7XG4gIH1cblxuICByZXR1cm4gTWF0aC5hYnMoYXJlYSAvIDIpO1xufTtcblxuY29uc3QgcG9seWdvblRpdGxlID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiYXJlYS10b29sdGlwXCIgc3R5bGU9XCJjb2xvcjoke1xuICAgIHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucHMxXG4gIH07Zm9udC13ZWlnaHQ6NzAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOiAke1xuICAgIG1hcFpvb20gKiAxLjVcbiAgfXB4Oy13ZWJraXQtdGV4dC1zdHJva2U6IDAuOHB4ICNmZmZmZmY7XCI+ICR7Z2V0QXJlYU5hbWUoYXJlYSl9IFxuICAgICAgICA8L2Rpdj5gO1xufTtcblxuY29uc3QgYmluZFRvb2x0aXAgPSAobGF5ZXIsIGFyZWEpID0+IHtcbiAgY29uc3QgbWFwWm9vbSA9IGxheWVyLl9tYXAgIT09IHVuZGVmaW5lZCA/IGxheWVyLl9tYXAuZ2V0Wm9vbSgpIDogMDtcbiAgY29uc3QgdGl0bGUgPSBwb2x5Z29uVGl0bGUoYXJlYSwgbWFwWm9vbSk7XG4gIGxheWVyLmJpbmRUb29sdGlwKHRpdGxlLCB7XG4gICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICBwZXJtYW5lbnQ6IHRydWUsXG4gICAgZGlyZWN0aW9uOiAnY2VudGVyJyxcbiAgfSk7XG4gIGhhbmRsZVRvbHRpcEJhc2VkT25ab29tTGV2ZWwobGF5ZXIsIG1hcFpvb20pO1xufTtcblxuLy8gVGhlIHRvb2x0aXAgaXMgc2hvd2luZyB0aGUgYXJlYSBuYW1lXG5leHBvcnQgY29uc3QgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbCA9IChwb2x5Z29uLCBtYXBab29tKSA9PiB7XG4gIGlmIChtYXBab29tID4gMTEpIHtcbiAgICBjb25zdCB0b29sdGlwID0gcG9seWdvbi5nZXRUb29sdGlwKCk7XG4gICAgdG9vbHRpcC5zZXRDb250ZW50KHBvbHlnb25UaXRsZShwb2x5Z29uLCBtYXBab29tKSk7XG4gICAgcG9seWdvbi5vcGVuVG9vbHRpcCgpO1xuICB9IGVsc2Uge1xuICAgIHBvbHlnb24uY2xvc2VUb29sdGlwKCk7XG4gIH1cbn07XG5cbmNvbnN0IGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwgPSAoXG4gIGFyZWFQb2x5Z29uLFxuICBhcmVhLFxuICBwZXJjZW50YWdlLFxuICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSxcbiAgbWFwLFxuICBmZWF0dXJlR3JvdXAsXG4pID0+IHtcbiAgY29uc3QgZHJpbGxEb3duQ29uZGl0aW9uID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBwZXJjZW50YWdlID49IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gJiZcbiAgICAgIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlICYmXG4gICAgICBhcmVhLnN1Yl9hcmVhcy5sZW5ndGggIT09IDAgJiZcbiAgICAgIGFyZWFQb2x5Z29uLl9tYXAgIT09IG51bGxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGhpZGVQb2x5Z29uID0gKHBvbHlnb246IFBvbHlnb24pID0+IHtcbiAgICBwb2x5Z29uLmJyaW5nVG9CYWNrKCk7XG4gICAgcG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgICBwb2x5Z29uWydoaWRkZW4nXSA9IHRydWU7XG4gICAgcG9seWdvbi5zZXRTdHlsZSh7XG4gICAgICBzdHJva2U6IGZhbHNlLFxuICAgICAgZmlsbDogZmFsc2UsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3Qgc2hvd1BvbHlnb24gPSAocG9seWdvbjogUG9seWdvbiwgZmlsbDogYm9vbGVhbikgPT4ge1xuICAgIHBvbHlnb24uYnJpbmdUb0Zyb250KCk7XG4gICAgcG9seWdvblsnaGlkZGVuJ10gPSBmYWxzZTtcbiAgICBwb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgIC8vc3Ryb2tlOiBmaWxsID8gZmFsc2UgOiB0cnVlLFxuICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgb3BhY2l0eTogMC40LFxuICAgICAgd2VpZ2h0OiAyLFxuICAgICAgZmlsbDogZmlsbCxcbiAgICAgIGZpbGxPcGFjaXR5OiAwLjQsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3ViQXJlYXMgPSAoc2hvdzogYm9vbGVhbikgPT4ge1xuICAgIGlmIChhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10gIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddLmZvckVhY2goKHN1YkFyZWFJZCkgPT4ge1xuICAgICAgICBmZWF0dXJlR3JvdXAuZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgICAgICAgIGlmIChsYXllclsna2FuZG9fb2JqZWN0X2lkJ10gPT09IHN1YkFyZWFJZCkge1xuICAgICAgICAgICAgc2hvdyA/IHNob3dQb2x5Z29uKGxheWVyLCB0cnVlKSA6IGhpZGVQb2x5Z29uKGxheWVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIC8vIFNob3cgdGhlIGFyZWEgd2l0aCBib3JkZXIgb25seVxuICAvLyBPciBiYWNrZ3JvdW5kIGNvbG9yXG4gIGlmIChkcmlsbERvd25Db25kaXRpb24oKSkge1xuICAgIHNob3dQb2x5Z29uKGFyZWFQb2x5Z29uLCBmYWxzZSk7XG4gICAgYXJlYVBvbHlnb24uY2xvc2VUb29sdGlwKCk7XG4gICAgaGFuZGxlU3ViQXJlYXModHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgaGFuZGxlU3ViQXJlYXMoZmFsc2UpO1xuXG4gICAgaWYgKCFhcmVhUG9seWdvblsnaGlkZGVuJ10pIHtcbiAgICAgIHNob3dQb2x5Z29uKGFyZWFQb2x5Z29uLCB0cnVlKTtcbiAgICAgIGhhbmRsZVRvbHRpcEJhc2VkT25ab29tTGV2ZWwoYXJlYVBvbHlnb24sIG1hcC5nZXRab29tKCkpO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHpvb21Db250cm9sRm9yQXJlYSA9IChhcmVhUG9seWdvbiwgYXJlYSwgbWFwLCBmZWF0dXJlR3JvdXApID0+IHtcbiAgbWFwLm9uKCd6b29tZW5kJywgZnVuY3Rpb24gKCkge1xuICAgIGxldCBnZXRNYXBCb3VuZHMgPSBtYXAuZ2V0Qm91bmRzKCk7XG4gICAgbGV0IHBvbHlnb25Cb3VuZHMgPSBhcmVhUG9seWdvbi5nZXRCb3VuZHMoKTtcbiAgICBsZXQgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgPSBnZXRNYXBCb3VuZHMuaW50ZXJzZWN0cyhwb2x5Z29uQm91bmRzKTtcbiAgICBsZXQgbWFwQm91bmRzUG9seWdvbiA9IEwucG9seWdvbihbXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0U291dGhXZXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0Tm9ydGhXZXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0Tm9ydGhFYXN0KCksXG4gICAgICBnZXRNYXBCb3VuZHMuZ2V0U291dGhFYXN0KCksXG4gICAgXSk7XG5cbiAgICBsZXQgbWFwQm91bmRzID0gY2FsY3VsYXRlUG9seWdvbkFyZWEoXG4gICAgICBtYXBCb3VuZHNQb2x5Z29uLnRvR2VvSlNPTigpLmdlb21ldHJ5LmNvb3JkaW5hdGVzWzBdLFxuICAgICk7XG5cbiAgICBsZXQgYXJlYVN1cmZhY2UgPSBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ107XG4gICAgY29uc3Qgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biA9IDE1LjA7XG4gICAgY29uc3QgcGVyY2VudGFnZSA9IChhcmVhU3VyZmFjZSAvIG1hcEJvdW5kcykgKiAxMDA7XG5cbiAgICBkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsKFxuICAgICAgYXJlYVBvbHlnb24sXG4gICAgICBhcmVhLFxuICAgICAgcGVyY2VudGFnZSxcbiAgICAgIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSxcbiAgICAgIG1hcCxcbiAgICAgIGZlYXR1cmVHcm91cCxcbiAgICApO1xuICB9KTtcbn07XG5cbmNvbnN0IGN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiA9IChhcmVhUG9seWdvbiwgYXJlYSkgPT4ge1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBnZXRBcmVhSWQoYXJlYSk7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3QnXSA9ICdBcmVhJztcbiAgYXJlYVBvbHlnb25bJ2FyZWFfbmFtZSddID0gZ2V0QXJlYU5hbWUoYXJlYSk7XG4gIGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXSA9IGFyZWEuY2FsY3VsYXRlZF9zdXJmYWNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVBvbHlnb24gPSAoXG4gIGFyZWEsXG4gIG1hcFpvb20sXG4gIGZlYXR1cmVHcm91cDogRmVhdHVyZUdyb3VwLFxuICBtYXAsXG4gIHBvcHVwQ3JlYXRvcj86IChwb2x5Z29uOiBQb2x5Z29uKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICBpZiAoXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICApIHtcbiAgICBwb2x5Z29uID0gZ2VuZXJpY1BvbHlnb24oYXJlYSwgbWFwWm9vbSk7XG5cbiAgICBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24ocG9seWdvbiwgYXJlYSk7XG4gICAgY29uc3QgcGF0dGVybiA9IGdldFBhdHRlcm4oYXJlYSk7XG4gICAgaWYgKHBhdHRlcm4pIHtcbiAgICAgIHBhdHRlcm4/LmFkZFRvKG1hcCk7XG4gICAgICBwb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgICAgZmlsbFBhdHRlcm46IHBhdHRlcm4sXG4gICAgICAgIGNvbG9yOiBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBwb2x5Z29uLmFkZFRvKGZlYXR1cmVHcm91cCk7XG4gICAgcG9wdXBDcmVhdG9yICYmIHBvcHVwQ3JlYXRvcihwb2x5Z29uKTtcbiAgICBiaW5kVG9vbHRpcChwb2x5Z29uLCBhcmVhKTtcbiAgICB6b29tQ29udHJvbEZvckFyZWEocG9seWdvbiwgYXJlYSwgbWFwLCBmZWF0dXJlR3JvdXApO1xuICAgIHJldHVybiBwb2x5Z29uO1xuICB9XG4gIHJldHVybiBudWxsO1xufTtcblxuY29uc3QgZ2V0UGF0dGVybiA9IChhcmVhKSA9PiB7XG4gIGlmIChhcmVhLmlzX2Fzc2Vzc21lbnQgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgY29sb3IgPSBzY29yZVRvQ29sb3IoYXJlYS5hcmVhX3Njb3JlKTtcbiAgcmV0dXJuIGFzc2VzbWVudFBhdHRlcm4oY29sb3IpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBRUEsSUFBTUksV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLElBQUksRUFBSztFQUM1QixJQUFJQyxJQUFJLEdBQUdELElBQUksQ0FBQ0UsU0FBUyxJQUFJRixJQUFJLENBQUNDLElBQUk7RUFFdEMsT0FBT0EsSUFBSTtBQUNiLENBQUM7QUFFRCxJQUFNRSxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBSUgsSUFBSSxFQUFLO0VBQzFCLElBQUlDLElBQUksR0FBR0QsSUFBSSxDQUFDSSxPQUFPLElBQUlKLElBQUksQ0FBQ0ssRUFBRTtFQUVsQyxPQUFPSixJ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
|
|
@@ -16,8 +16,6 @@ var _Widget = require("pages/DashboardMap/Widget");
|
|
|
16
16
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
17
17
|
var _utils = require("pages/DashboardMap/utils");
|
|
18
18
|
var _ListContext = require("pages/DashboardMap/ListContext");
|
|
19
|
-
var _Capacity = require("pages/DashboardMap/Capacity");
|
|
20
|
-
var _reactRouterDom = require("react-router-dom");
|
|
21
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
22
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
21
|
function mapStateToProps(state) {
|
|
@@ -44,10 +42,11 @@ var PointMarker = function PointMarker(props) {
|
|
|
44
42
|
var dispatch = (0, _reactRedux.useDispatch)();
|
|
45
43
|
var _useSelectedItem = (0, _ListContext.useSelectedItem)(),
|
|
46
44
|
handleSelectItem = _useSelectedItem.handleSelectItem;
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
// const WWTPMode = useSelector((state) => state.wwtp_dashboard.map !== null);
|
|
46
|
+
|
|
47
|
+
var locale = (0, _reactRedux.useSelector)(function (state) {
|
|
48
|
+
return state.nav_context_data.navContext.locale;
|
|
49
49
|
});
|
|
50
|
-
var history = (0, _reactRouterDom.useHistory)();
|
|
51
50
|
var WWTPMapLogic = function WWTPMapLogic(markerLocation) {
|
|
52
51
|
var wwtpPoint = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, point), {}, {
|
|
53
52
|
forWWTPMap: true
|
|
@@ -60,7 +59,7 @@ var PointMarker = function PointMarker(props) {
|
|
|
60
59
|
wwtp.addTo(map);
|
|
61
60
|
var fetchDataAndShowPopup = /*#__PURE__*/function () {
|
|
62
61
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
63
|
-
var widgetContainer;
|
|
62
|
+
var widgetContainer, data, response;
|
|
64
63
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
65
64
|
while (1) {
|
|
66
65
|
switch (_context.prev = _context.next) {
|
|
@@ -70,22 +69,36 @@ var PointMarker = function PointMarker(props) {
|
|
|
70
69
|
renderedElement: widgetContainer,
|
|
71
70
|
marker: wwtp
|
|
72
71
|
});
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
72
|
+
_context.next = 4;
|
|
73
|
+
return fetch("/api_ui/wwtp_page/site/".concat(point.id, "/capacity?locale=").concat(locale, "&water_authority_id=").concat(global_data.waterAuthorityId));
|
|
74
|
+
case 4:
|
|
75
|
+
response = _context.sent;
|
|
76
|
+
if (!response.ok) {
|
|
77
|
+
_context.next = 11;
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
_context.next = 8;
|
|
81
|
+
return response.json();
|
|
82
|
+
case 8:
|
|
83
|
+
data = _context.sent;
|
|
84
|
+
_context.next = 12;
|
|
85
|
+
break;
|
|
86
|
+
case 11:
|
|
87
|
+
console.warn("HTTP error! for point: ".concat(point, ", status: "), response.status);
|
|
88
|
+
case 12:
|
|
89
|
+
_reactDom.default.render( /*#__PURE__*/_react.default.createElement(_Widget.Widget, {
|
|
90
|
+
object: wwtpPoint,
|
|
91
|
+
dispatch: dispatch,
|
|
92
|
+
points: points_data.items,
|
|
93
|
+
areas: areas_data.newAreas,
|
|
94
|
+
map: map,
|
|
95
|
+
global_data: global_data,
|
|
96
|
+
listData: data
|
|
97
|
+
}), widgetContainer);
|
|
85
98
|
if (!wwtp.isPopupOpen()) {
|
|
86
99
|
wwtp.openPopup();
|
|
87
100
|
}
|
|
88
|
-
case
|
|
101
|
+
case 14:
|
|
89
102
|
case "end":
|
|
90
103
|
return _context.stop();
|
|
91
104
|
}
|
|
@@ -107,10 +120,19 @@ var PointMarker = function PointMarker(props) {
|
|
|
107
120
|
var renderLogic = function renderLogic() {
|
|
108
121
|
var markerLocation = [point['latitude'], point['longitude']];
|
|
109
122
|
if (markerLocation[0] === null) return;
|
|
110
|
-
|
|
123
|
+
var newPoint = point;
|
|
124
|
+
if (point.group.type === 'Groups::WastewaterTreatmentPlant'
|
|
125
|
+
// &&
|
|
126
|
+
// WWTPMode === true
|
|
127
|
+
) {
|
|
128
|
+
// newPoint = {
|
|
129
|
+
// ...point,
|
|
130
|
+
// forWWTPMap: true,
|
|
131
|
+
// };
|
|
132
|
+
|
|
111
133
|
WWTPMapLogic(markerLocation);
|
|
112
134
|
} else {
|
|
113
|
-
(0, _PointUtils.createBubblePoint)(markerLocation,
|
|
135
|
+
(0, _PointUtils.createBubblePoint)(markerLocation, newPoint, map, null, layerGroup, flowRateUnit, handleSelectItem);
|
|
114
136
|
}
|
|
115
137
|
};
|
|
116
138
|
(0, _react.useEffect)(function () {
|
|
@@ -123,4 +145,4 @@ var _default = connectedMarker( /*#__PURE__*/_react.default.memo(PointMarker, fu
|
|
|
123
145
|
return prevProps.events_data.focusedEvent === nextProps.events_data.focusedEvent;
|
|
124
146
|
}));
|
|
125
147
|
exports.default = _default;
|
|
126
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9Qb2ludFV0aWxzIiwiX1dpZGdldCIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfTGlzdENvbnRleHQiLCJfQ2FwYWNpdHkiLCJfcmVhY3RSb3V0ZXJEb20iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwicG9pbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsIlBvaW50TWFya2VyIiwicHJvcHMiLCJtYXAiLCJwb2ludCIsInJlcmVuZGVyIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU2VsZWN0ZWRJdGVtIiwidXNlU2VsZWN0ZWRJdGVtIiwiaGFuZGxlU2VsZWN0SXRlbSIsIldXVFBNb2RlIiwidXNlU2VsZWN0b3IiLCJ3d3RwX2Rhc2hib2FyZCIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwiV1dUUE1hcExvZ2ljIiwibWFya2VyTG9jYXRpb24iLCJ3d3RwUG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsImZvcldXVFBNYXAiLCJhcmdzIiwid3d0cCIsImJ1YmJsZUZvcldXVFAiLCJhZGRUbyIsImZldGNoRGF0YUFuZFNob3dQb3B1cCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIndpZGdldENvbnRhaW5lciIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVQb3B1cEZvck9iamVjdCIsInJlbmRlcmVkRWxlbWVudCIsIm1hcmtlciIsImZldGNoQ2FwYWNpdHkiLCJpZCIsIndhdGVyQXV0aG9yaXR5SWQiLCJ0aGVuIiwibGlzdERhdGEiLCJSZWFjdERPTSIsInJlbmRlciIsIldpZGdldCIsIm9iamVjdCIsInBvaW50cyIsIml0ZW1zIiwiYXJlYXMiLCJuZXdBcmVhcyIsImlzUG9wdXBPcGVuIiwib3BlblBvcHVwIiwic3RvcCIsImFwcGx5IiwiYXJndW1lbnRzIiwib24iLCJjbG9zZVBvcHVwIiwic2VuZEFuYWx5dGljc0V2ZW50IiwicG9pbnRfaWQiLCJwb2ludF9uYW1lIiwibmFtZSIsInJlbmRlckxvZ2ljIiwiZ3JvdXAiLCJ0eXBlIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJ1c2VFZmZlY3QiLCJGcmFnbWVudCIsImNvbm5lY3RlZE1hcmtlciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsIlJlYWN0IiwibWVtbyIsInByZXZQcm9wcyIsIm5leHRQcm9wcyIsImZvY3VzZWRFdmVudCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50TWFya2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgeyBidWJibGVGb3JXV1RQLCBjcmVhdGVCdWJibGVQb2ludCB9IGZyb20gJy4vUG9pbnRVdGlscyc7XG5pbXBvcnQgeyBXaWRnZXQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBMLCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQge1xuICBjcmVhdGVQb3B1cEZvck9iamVjdCxcbiAgc2VuZEFuYWx5dGljc0V2ZW50LFxufSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdGVkSXRlbSB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdENvbnRleHQnO1xuaW1wb3J0IHsgZmV0Y2hDYXBhY2l0eSB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvQ2FwYWNpdHknO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGV2ZW50c19kYXRhLCBhcmVhc19kYXRhLCBwb2ludHNfZGF0YSwgZ2xvYmFsX2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0ZWRNYXJrZXI+ICYge1xuICBtYXA6IGFueTtcbiAgcG9pbnQ6IElQb2ludDtcbiAgcmVyZW5kZXI6IHN0cmluZztcbiAgbGF5ZXJHcm91cDogYW55O1xuICBmbG93UmF0ZVVuaXQ6IHN0cmluZztcbn07XG5cbmNvbnN0IFBvaW50TWFya2VyOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIG1hcCxcbiAgICBwb2ludCxcbiAgICByZXJlbmRlcixcbiAgICBsYXllckdyb3VwLFxuICAgIGZsb3dSYXRlVW5pdCxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBoYW5kbGVTZWxlY3RJdGVtIH0gPSB1c2VTZWxlY3RlZEl0ZW0oKTtcbiAgY29uc3QgV1dUUE1vZGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLnd3dHBfZGFzaGJvYXJkLm1hcCAhPT0gbnVsbCk7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG5cbiAgY29uc3QgV1dUUE1hcExvZ2ljID0gKG1hcmtlckxvY2F0aW9uKSA9PiB7XG4gICAgY29uc3Qgd3d0cFBvaW50ID0ge1xuICAgICAgLi4ucG9pbnQsXG4gICAgICBmb3JXV1RQTWFwOiB0cnVlLFxuICAgIH07XG4gICAgbGV0IGFyZ3MgPSB7IG1hcmtlckxvY2F0aW9uLCB3d3RwUG9pbnQgfTtcbiAgICBsZXQgd3d0cDogTC5NYXJrZXIgPSBidWJibGVGb3JXV1RQKGFyZ3MpO1xuXG4gICAgd3d0cC5hZGRUbyhtYXApO1xuXG4gICAgY29uc3QgZmV0Y2hEYXRhQW5kU2hvd1BvcHVwID0gYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qgd2lkZ2V0Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuXG4gICAgICBjcmVhdGVQb3B1cEZvck9iamVjdCh7XG4gICAgICAgIHJlbmRlcmVkRWxlbWVudDogd2lkZ2V0Q29udGFpbmVyLFxuICAgICAgICBtYXJrZXI6IHd3dHAsXG4gICAgICB9KTtcblxuICAgICAgZmV0Y2hDYXBhY2l0eSgnc2l0ZScsIHBvaW50LmlkLCBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKS50aGVuKFxuICAgICAgICAobGlzdERhdGEpID0+IHtcbiAgICAgICAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICAgICAgICA8V2lkZ2V0XG4gICAgICAgICAgICAgIG9iamVjdD17d3d0cFBvaW50fVxuICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgICAgIHBvaW50cz17cG9pbnRzX2RhdGEuaXRlbXN9XG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc19kYXRhLm5ld0FyZWFzfVxuICAgICAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgICBsaXN0RGF0YT17bGlzdERhdGF9XG4gICAgICAgICAgICAgIGhpc3Rvcnk9e2hpc3Rvcnl9XG4gICAgICAgICAgICAvPixcbiAgICAgICAgICAgIHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgaWYgKCF3d3RwLmlzUG9wdXBPcGVuKCkpIHtcbiAgICAgICAgd3d0cC5vcGVuUG9wdXAoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd3d0cC5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICB3d3RwLmlzUG9wdXBPcGVuKCkgPyB3d3RwLmNsb3NlUG9wdXAoKSA6IGZldGNoRGF0YUFuZFNob3dQb3B1cCgpO1xuICAgICAgc2VuZEFuYWx5dGljc0V2ZW50KCdNYXAgVmlldyAtIFdXVFAgY2xpY2tlZCcsICdtYXAnLCB7XG4gICAgICAgIHBvaW50X2lkOiBwb2ludC5pZCxcbiAgICAgICAgcG9pbnRfbmFtZTogcG9pbnQubmFtZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckxvZ2ljID0gKCkgPT4ge1xuICAgIGxldCBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUgPSBbcG9pbnRbJ2xhdGl0dWRlJ10sIHBvaW50Wydsb25naXR1ZGUnXV07XG4gICAgaWYgKG1hcmtlckxvY2F0aW9uWzBdID09PSBudWxsKSByZXR1cm47XG5cbiAgICBpZiAoXG4gICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnICYmXG4gICAgICBXV1RQTW9kZSA9PT0gdHJ1ZVxuICAgICkge1xuICAgICAgV1dUUE1hcExvZ2ljKG1hcmtlckxvY2F0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3JlYXRlQnViYmxlUG9pbnQoXG4gICAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgICBwb2ludCxcbiAgICAgICAgbWFwLFxuICAgICAgICBudWxsLFxuICAgICAgICBsYXllckdyb3VwLFxuICAgICAgICBmbG93UmF0ZVVuaXQsXG4gICAgICAgIGhhbmRsZVNlbGVjdEl0ZW0sXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlckxvZ2ljKCk7XG4gIH0sIFtyZXJlbmRlcl0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RlZE1hcmtlciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RlZE1hcmtlcihcbiAgUmVhY3QubWVtbyhQb2ludE1hcmtlciwgKHByZXZQcm9wcywgbmV4dFByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHByZXZQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQgPT09IG5leHRQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnRcbiAgICApO1xuICB9KSxcbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBR0Es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
|
|
148
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9Qb2ludFV0aWxzIiwiX1dpZGdldCIsIl9yZWFjdERvbSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfTGlzdENvbnRleHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwicG9pbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsIlBvaW50TWFya2VyIiwicHJvcHMiLCJtYXAiLCJwb2ludCIsInJlcmVuZGVyIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU2VsZWN0ZWRJdGVtIiwidXNlU2VsZWN0ZWRJdGVtIiwiaGFuZGxlU2VsZWN0SXRlbSIsImxvY2FsZSIsInVzZVNlbGVjdG9yIiwibmF2X2NvbnRleHRfZGF0YSIsIm5hdkNvbnRleHQiLCJXV1RQTWFwTG9naWMiLCJtYXJrZXJMb2NhdGlvbiIsInd3dHBQb2ludCIsIl9vYmplY3RTcHJlYWQyIiwiZm9yV1dUUE1hcCIsImFyZ3MiLCJ3d3RwIiwiYnViYmxlRm9yV1dUUCIsImFkZFRvIiwiZmV0Y2hEYXRhQW5kU2hvd1BvcHVwIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwid2lkZ2V0Q29udGFpbmVyIiwiZGF0YSIsInJlc3BvbnNlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImNyZWF0ZVBvcHVwRm9yT2JqZWN0IiwicmVuZGVyZWRFbGVtZW50IiwibWFya2VyIiwiZmV0Y2giLCJjb25jYXQiLCJpZCIsIndhdGVyQXV0aG9yaXR5SWQiLCJzZW50Iiwib2siLCJqc29uIiwiY29uc29sZSIsIndhcm4iLCJzdGF0dXMiLCJSZWFjdERPTSIsInJlbmRlciIsIldpZGdldCIsIm9iamVjdCIsInBvaW50cyIsIml0ZW1zIiwiYXJlYXMiLCJuZXdBcmVhcyIsImxpc3REYXRhIiwiaXNQb3B1cE9wZW4iLCJvcGVuUG9wdXAiLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJvbiIsImNsb3NlUG9wdXAiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJwb2ludF9pZCIsInBvaW50X25hbWUiLCJuYW1lIiwicmVuZGVyTG9naWMiLCJuZXdQb2ludCIsImdyb3VwIiwidHlwZSIsImNyZWF0ZUJ1YmJsZVBvaW50IiwidXNlRWZmZWN0IiwiRnJhZ21lbnQiLCJjb25uZWN0ZWRNYXJrZXIiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJSZWFjdCIsIm1lbW8iLCJwcmV2UHJvcHMiLCJuZXh0UHJvcHMiLCJmb2N1c2VkRXZlbnQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludE1hcmtlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgYnViYmxlRm9yV1dUUCwgY3JlYXRlQnViYmxlUG9pbnQgfSBmcm9tICcuL1BvaW50VXRpbHMnO1xuaW1wb3J0IHsgV2lkZ2V0IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XaWRnZXQnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHtcbiAgY3JlYXRlUG9wdXBGb3JPYmplY3QsXG4gIHNlbmRBbmFseXRpY3NFdmVudCxcbn0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0JztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBldmVudHNfZGF0YSwgYXJlYXNfZGF0YSwgcG9pbnRzX2RhdGEsIGdsb2JhbF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdGVkTWFya2VyPiAmIHtcbiAgbWFwOiBhbnk7XG4gIHBvaW50OiBJUG9pbnQ7XG4gIHJlcmVuZGVyOiBzdHJpbmc7XG4gIGxheWVyR3JvdXA6IGFueTtcbiAgZmxvd1JhdGVVbml0OiBzdHJpbmc7XG59O1xuXG5jb25zdCBQb2ludE1hcmtlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBtYXAsXG4gICAgcG9pbnQsXG4gICAgcmVyZW5kZXIsXG4gICAgbGF5ZXJHcm91cCxcbiAgICBmbG93UmF0ZVVuaXQsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHsgaGFuZGxlU2VsZWN0SXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIC8vIGNvbnN0IFdXVFBNb2RlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS53d3RwX2Rhc2hib2FyZC5tYXAgIT09IG51bGwpO1xuXG4gIGNvbnN0IGxvY2FsZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZSxcbiAgKTtcblxuICBjb25zdCBXV1RQTWFwTG9naWMgPSAobWFya2VyTG9jYXRpb24pID0+IHtcbiAgICBjb25zdCB3d3RwUG9pbnQgPSB7XG4gICAgICAuLi5wb2ludCxcbiAgICAgIGZvcldXVFBNYXA6IHRydWUsXG4gICAgfTtcbiAgICBsZXQgYXJncyA9IHsgbWFya2VyTG9jYXRpb24sIHd3dHBQb2ludCB9O1xuICAgIGxldCB3d3RwOiBMLk1hcmtlciA9IGJ1YmJsZUZvcldXVFAoYXJncyk7XG5cbiAgICB3d3RwLmFkZFRvKG1hcCk7XG5cbiAgICBjb25zdCBmZXRjaERhdGFBbmRTaG93UG9wdXAgPSBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB3aWRnZXRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICBsZXQgZGF0YTtcblxuICAgICAgY3JlYXRlUG9wdXBGb3JPYmplY3Qoe1xuICAgICAgICByZW5kZXJlZEVsZW1lbnQ6IHdpZGdldENvbnRhaW5lcixcbiAgICAgICAgbWFya2VyOiB3d3RwLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgICAgIGAvYXBpX3VpL3d3dHBfcGFnZS9zaXRlLyR7cG9pbnQuaWR9L2NhcGFjaXR5P2xvY2FsZT0ke2xvY2FsZX0md2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH1gLFxuICAgICAgKTtcblxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgIGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYEhUVFAgZXJyb3IhIGZvciBwb2ludDogJHtwb2ludH0sIHN0YXR1czogYCxcbiAgICAgICAgICByZXNwb25zZS5zdGF0dXMsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICAgIDxXaWRnZXRcbiAgICAgICAgICBvYmplY3Q9e3d3dHBQb2ludH1cbiAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHNfZGF0YS5pdGVtc31cbiAgICAgICAgICBhcmVhcz17YXJlYXNfZGF0YS5uZXdBcmVhc31cbiAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgbGlzdERhdGE9e2RhdGF9XG4gICAgICAgIC8+LFxuICAgICAgICB3aWRnZXRDb250YWluZXIsXG4gICAgICApO1xuICAgICAgaWYgKCF3d3RwLmlzUG9wdXBPcGVuKCkpIHtcbiAgICAgICAgd3d0cC5vcGVuUG9wdXAoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgd3d0cC5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICB3d3RwLmlzUG9wdXBPcGVuKCkgPyB3d3RwLmNsb3NlUG9wdXAoKSA6IGZldGNoRGF0YUFuZFNob3dQb3B1cCgpO1xuICAgICAgc2VuZEFuYWx5dGljc0V2ZW50KCdNYXAgVmlldyAtIFdXVFAgY2xpY2tlZCcsICdtYXAnLCB7XG4gICAgICAgIHBvaW50X2lkOiBwb2ludC5pZCxcbiAgICAgICAgcG9pbnRfbmFtZTogcG9pbnQubmFtZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckxvZ2ljID0gKCkgPT4ge1xuICAgIGxldCBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUgPSBbcG9pbnRbJ2xhdGl0dWRlJ10sIHBvaW50Wydsb25naXR1ZGUnXV07XG4gICAgaWYgKG1hcmtlckxvY2F0aW9uWzBdID09PSBudWxsKSByZXR1cm47XG4gICAgbGV0IG5ld1BvaW50ID0gcG9pbnQ7XG5cbiAgICBpZiAoXG4gICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnXG4gICAgICAvLyAmJlxuICAgICAgLy8gV1dUUE1vZGUgPT09IHRydWVcbiAgICApIHtcbiAgICAgIC8vIG5ld1BvaW50ID0ge1xuICAgICAgLy8gICAuLi5wb2ludCxcbiAgICAgIC8vICAgZm9yV1dUUE1hcDogdHJ1ZSxcbiAgICAgIC8vIH07XG5cbiAgICAgIFdXVFBNYXBMb2dpYyhtYXJrZXJMb2NhdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgICAgbmV3UG9pbnQsXG4gICAgICAgIG1hcCxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgbGF5ZXJHcm91cCxcbiAgICAgICAgZmxvd1JhdGVVbml0LFxuICAgICAgICBoYW5kbGVTZWxlY3RJdGVtLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZW5kZXJMb2dpYygpO1xuICB9LCBbcmVyZW5kZXJdKTtcblxuICByZXR1cm4gPD48Lz47XG59O1xuXG5jb25zdCBjb25uZWN0ZWRNYXJrZXIgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0ZWRNYXJrZXIoXG4gIFJlYWN0Lm1lbW8oUG9pbnRNYXJrZXIsIChwcmV2UHJvcHMsIG5leHRQcm9wcykgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBwcmV2UHJvcHMuZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50ID09PSBuZXh0UHJvcHMuZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50XG4gICAgKTtcbiAgfSksXG4pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUVBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUlBLElBQUFPLFlBQUEsR0FBQVAsT0FBQTtBQUFxRSxTQUFBUSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVYsd0JBQUFjLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFD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
|
|
@@ -344,11 +344,8 @@ exports.popupContent = popupContent;
|
|
|
344
344
|
var setIcon = function setIcon(element, clicked, point) {
|
|
345
345
|
element.setIcon((0, _PointIcon.getPointIconByType)(point.group.type, point.name, point.group.sector_name, clicked, false));
|
|
346
346
|
};
|
|
347
|
-
|
|
348
|
-
// round to nearest thousand is used when you want to round the water consumption to the nearest thousand
|
|
349
|
-
// for example: 234,567 -> 235,000
|
|
350
347
|
var calculateWaterConsumption = function calculateWaterConsumption(flow_rate_unit, waterConsumption) {
|
|
351
|
-
var round_to_nearest_k = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] :
|
|
348
|
+
var round_to_nearest_k = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
352
349
|
var calculated = '0';
|
|
353
350
|
if (waterConsumption > 0) {
|
|
354
351
|
switch (flow_rate_unit) {
|
|
@@ -366,7 +363,7 @@ var calculateWaterConsumption = function calculateWaterConsumption(flow_rate_uni
|
|
|
366
363
|
if (round_to_nearest_k) {
|
|
367
364
|
return roundToNearestThousand(parseFloat(calculated)).toLocaleString();
|
|
368
365
|
} else {
|
|
369
|
-
|
|
366
|
+
Math.round(parseFloat(calculated)).toLocaleString();
|
|
370
367
|
}
|
|
371
368
|
};
|
|
372
369
|
exports.calculateWaterConsumption = calculateWaterConsumption;
|
|
@@ -415,7 +412,7 @@ var handleMarkerClick = function handleMarkerClick(map, point, pointCustomIcon,
|
|
|
415
412
|
};
|
|
416
413
|
exports.handleMarkerClick = handleMarkerClick;
|
|
417
414
|
var bindPopupToMarker = function bindPopupToMarker(point, layerGroup, flow_rate_unit) {
|
|
418
|
-
var content = "\n <div class='main-content'>\n <div class='main-content__header'>\n <div class=\"main-content__header__titles\">\n <div class='main-content__header__titles__title'>".concat(point.name, "</div>\n <div class='main-content__header__titles__subtitle'>").concat(point.group.sector_name, "</div>\n </div>\n </div>\n \n <div class='main-content__body'>\n <div class='main-content__body__item'>\n <div class='main-content__body__item__icon'>\n <img src='").concat(_water_reuse.default, "' />\n </div>\n <div class='main-content__body__item__titles'>\n <div class='main-content__body__item__titles__title'>\n ").concat(getFlowRate(point.group.water_discharge, flow_rate_unit), "\n </div>\n <div class='main-content__body__item__titles__subtitle'>").concat(_i18n.default.t('water_discharge'), "</div>\n </div>\n </div>\n </div>\n </div>\n ");
|
|
415
|
+
var content = "\n <div class='main-content'>\n <div class='main-content__header'>\n <div class=\"main-content__header__titles\">\n <div class='main-content__header__titles__title'>".concat(point.name, "</div>\n <div class='main-content__header__titles__subtitle'>").concat(point.group.sector_name, "</div>\n </div>\n </div>\n \n <div class='main-content__body'>\n <div class='main-content__body__item'>\n <div class='main-content__body__item__icon'>\n <img src='").concat(_water_reuse.default, "' />\n </div>\n <div class='main-content__body__item__titles'>\n <div class='main-content__body__item__titles__title'>\n ").concat(getFlowRate(point.group.water_discharge, flow_rate_unit, point.is_assessment), "\n </div>\n <div class='main-content__body__item__titles__subtitle'>").concat(_i18n.default.t('water_discharge'), "</div>\n </div>\n </div>\n </div>\n </div>\n ");
|
|
419
416
|
layerGroup.bindPopup(content, {
|
|
420
417
|
className: 'point-marker-popup',
|
|
421
418
|
minWidth: '214px',
|
|
@@ -425,7 +422,7 @@ var bindPopupToMarker = function bindPopupToMarker(point, layerGroup, flow_rate_
|
|
|
425
422
|
};
|
|
426
423
|
exports.bindPopupToMarker = bindPopupToMarker;
|
|
427
424
|
var getFlowRate = function getFlowRate(waterConsumption, flowRateUnit) {
|
|
428
|
-
var isRound = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] :
|
|
425
|
+
var isRound = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
429
426
|
if (waterConsumption > 0) {
|
|
430
427
|
return calculateWaterConsumption(flowRateUnit, waterConsumption, isRound) + ' ' + translateFlowRate(flowRateUnit);
|
|
431
428
|
}
|
|
@@ -446,4 +443,4 @@ var addLayerGroup = function addLayerGroup(map, layerGroup) {
|
|
|
446
443
|
}
|
|
447
444
|
};
|
|
448
445
|
exports.addLayerGroup = addLayerGroup;
|
|
449
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJ0eXBlIiwic2VjdG9yX25hbWUiLCJ3YXRlcl9kaXNjaGFyZ2UiLCJidWJibGVGb3JXV1RQIiwiYXJncyIsInBvaW50Q3VzdG9tSWNvbiIsIkwiLCJtYXJrZXIiLCJtYXJrZXJMb2NhdGlvbiIsImljb24iLCJnZXRQb2ludEljb25CeVR5cGUiLCJ3d3RwUG9pbnQiLCJyaXNlT25Ib3ZlciIsImNyZWF0ZUJ1YmJsZVBvaW50IiwibWFwIiwiaG92ZXJlZCIsImxheWVyR3JvdXAiLCJmbG93X3JhdGVfdW5pdCIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsImhhbmRsZUNsaWNrIiwic3VidGl0bGUiLCJhZGRMYXllciIsImJpbmRQb3B1cFRvTWFya2VyIiwiaGFuZGxlTWFya2VyQ2xpY2siLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJpY29uQW5jaG9yIiwiZXZlbnRzQ291bnRJY29uIiwiX3pvb20iLCJvcGFjaXR5IiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiSWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJtYW5ob2xlSWNvbiIsIk1hcmtlciIsImJpbmRUb29sdGlwIiwibWF0Y2hJY29uVG9Qb2ludCIsImNvbWJpbmVkRmFjdG9yeUljb24iLCJtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSIsInVuc2hpZnQiLCJzZWxlY3RlZEJhY2tncm91bmQiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwic3RhbmRhcmRCYWNrZ3JvdW5kIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJjb21iaW5lZFdXVFBJY29uIiwicmVkUGluUmVkU2hhZG93Iiwid2F0ZXJJY29uTm9CYWNrZ3JvdW5kIiwicG9wdXBBbmNob3IiLCJjb21iaW5lZENvbGxlY3RvcnNJY29uIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJ3aGl0ZVBpbkJsYWNrU2hhZG93IiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiZ3JlZW5DaXJjbGVVUkwiLCJwdW1wU3RhdGlvbkljb25VUkwiLCJjb2xsZWN0b3JJY29uIiwiYnJpZ2h0Qmx1ZUNpcmNsZVVSTCIsIldXVFBJY29uVVJMIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzb3VyY2UiLCJzb3VyY2VzIiwiZmlsdGVyIiwic2VsZWN0ZWRfc291cmNlIiwiY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQiLCJzZWNvbmRhcnlJY29uIiwic2FtcGxpbmdJY29uIiwiYmx1ZUNpcmNsZVVSTCIsInNhbXBsaW5nSWNvblVSTCIsInRoaXJkSWNvbiIsImZvckVhY2giLCJpbmRleCIsImNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50Iiwib2JzZXJ2YXRpb25JY29uIiwicGlua0NpcmNsZVVSTCIsIm9ic2VydmF0aW9uSWNvblVSTCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwiaW5jbHVkZXMiLCJwb3B1cENvbnRlbnQiLCJvYnMiLCJHcmFwaEljb24iLCJpMThuIiwidCIsInNldmVyaXR5Iiwic2V0SWNvbiIsImVsZW1lbnQiLCJjbGlja2VkIiwiY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiIsIndhdGVyQ29uc3VtcHRpb24iLCJyb3VuZF90b19uZWFyZXN0X2siLCJjYWxjdWxhdGVkIiwidG9GaXhlZCIsInJvdW5kVG9OZWFyZXN0VGhvdXNhbmQiLCJwYXJzZUZsb2F0IiwidG9Mb2NhbGVTdHJpbmciLCJNYXRoIiwicm91bmQiLCJudW1iZXIiLCJyb3VuZGVkVGhvdXNhbmRzIiwicm91bmRlZFZhbHVlIiwidHJhbnNsYXRlRmxvd1JhdGUiLCJvbiIsImNsb3NlUG9wdXAiLCJrYW5kb19vYmplY3RfaWQiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJwb2ludF9uYW1lIiwiY29udGVudCIsIndhdGVyUmV1c2VJY29uIiwiZ2V0Rmxvd1JhdGUiLCJiaW5kUG9wdXAiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwiY2xvc2VCdXR0b24iLCJmbG93UmF0ZVVuaXQiLCJpc1JvdW5kIiwicmVtb3ZlTGF5ZXJHcm91cCIsImhhc0xheWVyIiwicmVtb3ZlTGF5ZXIiLCJhZGRMYXllckdyb3VwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHcmFwaEljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2xpbmUtY2hhcnQuc3ZnJztcbmltcG9ydCBMLCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgYmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBzYW1wbGluZ0ljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3NhbXBsaW5nLWljb24uc3ZnJztcbmltcG9ydCBwaW5rQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9waW5rLWNpcmNsZS5zdmcnO1xuaW1wb3J0IG9ic2VydmF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvb2JzZXJ2YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHJlZFBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcmVkLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5CbGFja1NoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLWJsYWNrLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHllbGxvd0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMveWVsbG93LWNpcmNsZS5zdmcnO1xuaW1wb3J0IHBsYW50SWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZmFjdG9yeS1pY29uLnN2Zyc7XG5pbXBvcnQgZ3JlZW5DaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2dyZWVuLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHB1bXBTdGF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcHVtcC1zdGF0aW9uLWljb24uc3ZnJztcbmltcG9ydCBjb2xsZWN0b3JJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9tYXAvcGluLXdhdGVyLnN2Zyc7XG5pbXBvcnQgYnJpZ2h0Qmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYnJpZ2h0LWJsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgV1dUUEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL1dXVFAtaWNvbi5zdmcnO1xuaW1wb3J0IHdhdGVySWNvbk5vQmFja2dyb3VuZCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2F0ZXItbm8tYmFja2dyb3VuZC5zdmcnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBldmVudHNDb3VudEljb24gfSBmcm9tICcuLi9NYXBVdGlscyc7XG5pbXBvcnQgeyBnZXRQb2ludEljb25CeVR5cGUgfSBmcm9tICcuL1BvaW50SWNvbic7XG5pbXBvcnQgd2F0ZXJSZXVzZUljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2ljb25zL3dhdGVyX3JldXNlLnN2Zyc7XG5pbXBvcnQgeyBzZW5kQW5hbHl0aWNzRXZlbnQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGlzQ29sbGVjdG9yRm9jdXNlZCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHJldHVybiAoXG4gICAgZXZlbnQ/Lm9ic2VydmF0aW9ucz8ubGVuZ3RoID09PSAxICYmXG4gICAgcG9pbnQuaWQgPT09IGV2ZW50Lm9ic2VydmF0aW9uc1swXS5wb2ludF9pZFxuICApO1xufTtcblxuY29uc3QgYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzdHJpbmcgPSBgJHtwb2ludC5ncm91cC5uYW1lfSBgO1xuXG4gIGlmIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jykge1xuICAgIHN0cmluZyArPSBgPGJyLz5TZWN0b3I6ICR7cG9pbnQuZ3JvdXAuc2VjdG9yX25hbWV9YDtcbiAgICBzdHJpbmcgKz0gYDxici8+V2F0ZXIgQ29uc3VtcHRpb246ICR7cG9pbnQuZ3JvdXAud2F0ZXJfZGlzY2hhcmdlfWA7XG4gIH0gZWxzZSB7XG4gICAgc3RyaW5nID0gYCR7cG9pbnQubmFtZX1gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVGb3JXV1RQID0gKGFyZ3MpID0+IHtcbiAgbGV0IHBvaW50Q3VzdG9tSWNvbjogTC5NYXJrZXIgPSBMLm1hcmtlcihhcmdzLm1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgYXJncy53d3RwUG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIGFyZ3Mud3d0cFBvaW50Lm5hbWUsXG4gICAgICAnJyxcbiAgICAgIGZhbHNlLFxuICAgICAgZmFsc2UsXG4gICAgKSxcbiAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gIH0pO1xuXG4gIHJldHVybiBwb2ludEN1c3RvbUljb247XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQnViYmxlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4gIGZsb3dfcmF0ZV91bml0ID0gJ2dkX3VzJyxcbiAgaGFuZGxlQ2xpY2s/LFxuKSA9PiB7XG4gIGNvbnN0IHN1YnRpdGxlID1cbiAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5JyA/IHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lIDogJyc7XG4gIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBwb2ludC5ncm91cC50eXBlLFxuICAgICAgcG9pbnQubmFtZSxcbiAgICAgIHN1YnRpdGxlLFxuICAgICAgZmFsc2UsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgfSk7XG4gIC8vIEB0cy1pZ25vcmVcbiAgLy8gcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuXG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgaWYgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknKSB7XG4gICAgYmluZFBvcHVwVG9NYXJrZXIocG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgZmxvd19yYXRlX3VuaXQpO1xuICB9XG5cbiAgaGFuZGxlTWFya2VyQ2xpY2sobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uLCBoYW5kbGVDbGljayk7XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/ICdjaXJjbGUtZXZlbnRzLWFtb3VudCBjaXJjbGUtZXZlbnRzLWFtb3VudC0tdHJpZGlnaXQnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZS1ldmVudHMtYW1vdW50J1xuICAgICAgICAgIH0gXG4gICAgICAgICAgJHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID4gMiA/ICdhbGVydC1jb2xvcicgOiAnJ31cbiAgICAgICAgICAgIGAsXG4gICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgIGljb25BbmNob3I6IGV2ZW50c0NvdW50SWNvbihtYXAuX3pvb20pLmljb25BbmNob3IsXG4gICAgICB9KSxcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIG9wYWNpdHk6IGhvdmVyZWQgPyAxIDogMCxcbiAgICB9KTtcblxuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXInO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXJIb3ZlcmVkJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gbmV3IEwuSWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IG5ldyBMLk1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19wb2ludF90eXBlJ10gPSAnTWFuaG9sZSc7XG4gIGlmIChob3ZlcmVkKSBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcbiAgbGF5ZXJHcm91cC5hZGRMYXllcihtYW5ob2xlSWNvbik7XG59O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hJY29uVG9Qb2ludCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHN3aXRjaCAocG9pbnQuZ3JvdXAudHlwZSkge1xuICAgIGNhc2UgJ0dyb3Vwczo6RmFjdG9yeSc6XG4gICAgICBpZiAoY29tYmluZWRGYWN0b3J5SWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRGYWN0b3J5SWNvbjtcbiAgICBjYXNlICdHcm91cHM6OlB1bXBTdGF0aW9uJzpcbiAgICAgIGlmIChjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRQdW1wU3RhdGlvbkljb247XG4gICAgY2FzZSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnOlxuICAgICAgaWYgKGNvbWJpbmVkV1dUUEljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkV1dUUEljb247XG5cbiAgICBjYXNlICdHcm91cHM6OkNvbGxlY3RvcnMnOlxuICAgICAgaWYgKGlzQ29sbGVjdG9yRm9jdXNlZChwb2ludCwgZXZlbnQpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMzAsIDUyXSxcbiAgICAgICAgICB9KSxcblxuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiB3YXRlckljb25Ob0JhY2tncm91bmQsXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMjIsIDQ0XSxcbiAgICAgICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkQ29sbGVjdG9yc0ljb247XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzdGFuZGFyZEJhY2tncm91bmQgPSAoXG4gIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlLFxuICB0aGlyZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluQmxhY2tTaGFkb3csXG4gICAgaWNvblNpemU6IHNlY29uZGFyeSA/IFswLCAwXSA6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnkgJiYgdGhpcmQgPyBbLTIsIDE5XSA6IHNlY29uZGFyeSA/IFstMiwgNDRdIDogWzIwLCA0Ml0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZEZhY3RvcnlJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHllbGxvd0NpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHBsYW50SWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs1LCAzMF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBncmVlbkNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHB1bXBTdGF0aW9uSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs3LCAzMl0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZENvbGxlY3RvcnNJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGNvbGxlY3Rvckljb24sXG4gICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgIGljb25BbmNob3I6IFsyNSwgNTBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRXV1RQSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBicmlnaHRCbHVlQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogV1dUUEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbOCwgMzFdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0ZWRCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzb3VyY2U7XG5cbiAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzb3VyY2UgPSBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgfVxuXG4gIHJldHVybiBldmVudCAhPT0gbnVsbCAmJiBzb3VyY2UgJiYgZXZlbnQuc2VsZWN0ZWRfc291cmNlID09PSBzb3VyY2UucG9pbnRfaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKGV2ZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IHNhbXBsaW5nSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogYmx1ZUNpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgMTVdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBzYW1wbGluZ0ljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDEzXSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgbGV0IHRoaXJkSWNvbiA9IGZhbHNlO1xuICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcmRJY29uID0gdHJ1ZTtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbiwgdGhpcmRJY29uKSk7XG4gIH1cblxuICBzYW1wbGluZ0ljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSB0aGlyZEljb24gPyBmYWxzZSA6IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gdGhpcmRJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZ0hvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IG9ic2VydmF0aW9uSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogcGlua0NpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgNDBdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBvYnNlcnZhdGlvbkljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDM4XSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uKSk7XG4gIH1cblxuICBvYnNlcnZhdGlvbkljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IGZhbHNlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbkhvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBzYW1wbGVkUG9pbnRJZHMgPSBldmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgaWYgKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc2FtcGxpbmdzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgKSB7XG4gICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQoXG4gICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbCxcbiAgICAgIG1hcCxcbiAgICAgIHBvaW50LFxuICAgICAgZXZlbnQsXG4gICAgICBob3ZlcmVkLFxuICAgICAgbGF5ZXJHcm91cCxcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdXBDb250ZW50ID0gKG9iczogYW55LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChvYnMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke3BvaW50LmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke3BvaW50Lmdyb3VwLm5hbWV9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2VjdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtvYnMuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAubmFtZVxuICAgICAgICAgICAgICAgICAgICB9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwb3B1cC1jb250ZW50X19zZXZlcml0eS0tJyArIG9icy5zZXZlcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuJHtvYnMuc2V2ZXJpdHl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwicG9wdXAtY29udGVudF9faHJcIiAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19kaXNjaGFyZ2UtdGltZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwiZmlyc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3Lmxhc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwibGFzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5sZXQgc2V0SWNvbiA9IChlbGVtZW50LCBjbGlja2VkLCBwb2ludCkgPT4ge1xuICBlbGVtZW50LnNldEljb24oXG4gICAgZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSxcbiAgICAgIGNsaWNrZWQsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICApO1xufTtcblxuLy8gcm91bmQgdG8gbmVhcmVzdCB0aG91c2FuZCBpcyB1c2VkIHdoZW4geW91IHdhbnQgdG8gcm91bmQgdGhlIHdhdGVyIGNvbnN1bXB0aW9uIHRvIHRoZSBuZWFyZXN0IHRob3VzYW5kXG4vLyBmb3IgZXhhbXBsZTogMjM0LDU2NyAtPiAyMzUsMDAwXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiA9IChcbiAgZmxvd19yYXRlX3VuaXQ6IHN0cmluZyxcbiAgd2F0ZXJDb25zdW1wdGlvbjogbnVtYmVyLFxuICByb3VuZF90b19uZWFyZXN0X2s6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBsZXQgY2FsY3VsYXRlZCA9ICcwJztcblxuICBpZiAod2F0ZXJDb25zdW1wdGlvbiA+IDApIHtcbiAgICBzd2l0Y2ggKGZsb3dfcmF0ZV91bml0KSB7XG4gICAgICBjYXNlICdtM2QnOlxuICAgICAgICBjYWxjdWxhdGVkID0gd2F0ZXJDb25zdW1wdGlvbi50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2dkX3VzJzpcbiAgICAgICAgY2FsY3VsYXRlZCA9ICh3YXRlckNvbnN1bXB0aW9uICogMjY0LjE3MikudG9GaXhlZCgyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdnZF91ayc6XG4gICAgICAgIGNhbGN1bGF0ZWQgPSAod2F0ZXJDb25zdW1wdGlvbiAqIDIxOS45NjkpLnRvRml4ZWQoMik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBpZiAocm91bmRfdG9fbmVhcmVzdF9rKSB7XG4gICAgcmV0dXJuIHJvdW5kVG9OZWFyZXN0VGhvdXNhbmQocGFyc2VGbG9hdChjYWxjdWxhdGVkKSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGNhbGN1bGF0ZWQpKS50b0xvY2FsZVN0cmluZygpO1xuICB9XG59O1xuXG5jb25zdCByb3VuZFRvTmVhcmVzdFRob3VzYW5kID0gKG51bWJlcikgPT4ge1xuICAvLyBpZihpc0FscmVhZHlSb3VuZGVkKG51bWJlcikpIHtcbiAgLy8gICByZXR1cm4gbnVtYmVyO1xuICAvLyB9XG5cbiAgaWYgKG51bWJlciA8IDEwMDApIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChudW1iZXIpO1xuICB9XG5cbiAgY29uc3Qgcm91bmRlZFRob3VzYW5kcyA9IE1hdGgucm91bmQobnVtYmVyIC8gMTAwMCk7XG4gIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHJvdW5kZWRUaG91c2FuZHMgKiAxMDAwO1xuXG4gIHJldHVybiByb3VuZGVkVmFsdWU7XG59O1xuXG4vLyBjb25zdCBpc0FscmVhZHlSb3VuZGVkID0gKG51bWJlcikgPT4ge1xuLy8gICByZXR1cm4gbnVtYmVyID09PSBNYXRoLnJvdW5kKG51bWJlcik7XG4vLyB9XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVGbG93UmF0ZSA9IChmbG93X3JhdGVfdW5pdCkgPT4ge1xuICByZXR1cm4gaTE4bi50KFxuICAgIGBkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdF9vcHRpb25zLiR7XG4gICAgICBmbG93X3JhdGVfdW5pdC5pbmNsdWRlcygnZ2QnKSA/ICdnZCcgOiBmbG93X3JhdGVfdW5pdFxuICAgIH1gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU1hcmtlckNsaWNrID0gKG1hcCwgcG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgaGFuZGxlQ2xpY2spID0+IHtcbiAgbWFwLm9uKCd6b29tc3RhcnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdwb3B1cGNsb3NlJywgKCkgPT4ge1xuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCBmYWxzZSwgcG9pbnQpO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwb3BlbicsICgpID0+IHtcbiAgICBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgdHJ1ZSwgcG9pbnQpO1xuICB9KTtcbiAgaWYgKHR5cGVvZiBoYW5kbGVDbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHBvaW50Q3VzdG9tSWNvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICBoYW5kbGVDbGljayhwb2ludEN1c3RvbUljb24ua2FuZG9fb2JqZWN0X2lkKTtcblxuICAgICAgaWYgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknKSB7XG4gICAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBGYWN0b3J5IGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICAgIHBvaW50X2lkOiBwb2ludC5pZCxcbiAgICAgICAgICBwb2ludF9uYW1lOiBwb2ludC5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cFRvTWFya2VyID0gKHBvaW50LCBsYXllckdyb3VwLCBmbG93X3JhdGVfdW5pdCkgPT4ge1xuICBsZXQgY29udGVudCA9IGBcbiAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnQnPlxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcic+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3RpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQubmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX19zdWJ0aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHknPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX2ljb24nPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0nJHt3YXRlclJldXNlSWNvbn0nIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXMnPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3RpdGxlJz5cbiAgICAgICAgICAgICAgICAgICAgJHtnZXRGbG93UmF0ZShwb2ludC5ncm91cC53YXRlcl9kaXNjaGFyZ2UsIGZsb3dfcmF0ZV91bml0KX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3N1YnRpdGxlJz4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgJ3dhdGVyX2Rpc2NoYXJnZScsXG4gICAgICAgICAgICAgICAgICApfTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGA7XG5cbiAgbGF5ZXJHcm91cC5iaW5kUG9wdXAoY29udGVudCwge1xuICAgIGNsYXNzTmFtZTogJ3BvaW50LW1hcmtlci1wb3B1cCcsXG4gICAgbWluV2lkdGg6ICcyMTRweCcsXG4gICAgbWF4V2lkdGg6ICcyMTRweCcsXG4gICAgY2xvc2VCdXR0b246IHRydWUsXG4gIH0pO1xufTtcblxuY29uc3QgZ2V0Rmxvd1JhdGUgPSAoXG4gIHdhdGVyQ29uc3VtcHRpb246IG51bWJlcixcbiAgZmxvd1JhdGVVbml0OiBzdHJpbmcsXG4gIGlzUm91bmQ6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBpZiAod2F0ZXJDb25zdW1wdGlvbiA+IDApIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbihmbG93UmF0ZVVuaXQsIHdhdGVyQ29uc3VtcHRpb24sIGlzUm91bmQpICtcbiAgICAgICcgJyArXG4gICAgICB0cmFuc2xhdGVGbG93UmF0ZShmbG93UmF0ZVVuaXQpXG4gICAgKTtcbiAgfVxuICByZXR1cm4gaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy51bmtub3duJyk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKG1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5yZW1vdmVMYXllcihsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZExheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmICghbWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLmFkZExheWVyKGxheWVyR3JvdXApO1xuICB9IGVsc2Uge1xuICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgICBhZGRMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQTJDLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFHLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFJLFdBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFLLGdCQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFPM0MsSUFBQU0sZ0JBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7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
|
|
446
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJ0eXBlIiwic2VjdG9yX25hbWUiLCJ3YXRlcl9kaXNjaGFyZ2UiLCJidWJibGVGb3JXV1RQIiwiYXJncyIsInBvaW50Q3VzdG9tSWNvbiIsIkwiLCJtYXJrZXIiLCJtYXJrZXJMb2NhdGlvbiIsImljb24iLCJnZXRQb2ludEljb25CeVR5cGUiLCJ3d3RwUG9pbnQiLCJyaXNlT25Ib3ZlciIsImNyZWF0ZUJ1YmJsZVBvaW50IiwibWFwIiwiaG92ZXJlZCIsImxheWVyR3JvdXAiLCJmbG93X3JhdGVfdW5pdCIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsImhhbmRsZUNsaWNrIiwic3VidGl0bGUiLCJhZGRMYXllciIsImJpbmRQb3B1cFRvTWFya2VyIiwiaGFuZGxlTWFya2VyQ2xpY2siLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJpY29uQW5jaG9yIiwiZXZlbnRzQ291bnRJY29uIiwiX3pvb20iLCJvcGFjaXR5IiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiSWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJtYW5ob2xlSWNvbiIsIk1hcmtlciIsImJpbmRUb29sdGlwIiwibWF0Y2hJY29uVG9Qb2ludCIsImNvbWJpbmVkRmFjdG9yeUljb24iLCJtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSIsInVuc2hpZnQiLCJzZWxlY3RlZEJhY2tncm91bmQiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwic3RhbmRhcmRCYWNrZ3JvdW5kIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJjb21iaW5lZFdXVFBJY29uIiwicmVkUGluUmVkU2hhZG93Iiwid2F0ZXJJY29uTm9CYWNrZ3JvdW5kIiwicG9wdXBBbmNob3IiLCJjb21iaW5lZENvbGxlY3RvcnNJY29uIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJ3aGl0ZVBpbkJsYWNrU2hhZG93IiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiZ3JlZW5DaXJjbGVVUkwiLCJwdW1wU3RhdGlvbkljb25VUkwiLCJjb2xsZWN0b3JJY29uIiwiYnJpZ2h0Qmx1ZUNpcmNsZVVSTCIsIldXVFBJY29uVVJMIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzb3VyY2UiLCJzb3VyY2VzIiwiZmlsdGVyIiwic2VsZWN0ZWRfc291cmNlIiwiY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQiLCJzZWNvbmRhcnlJY29uIiwic2FtcGxpbmdJY29uIiwiYmx1ZUNpcmNsZVVSTCIsInNhbXBsaW5nSWNvblVSTCIsInRoaXJkSWNvbiIsImZvckVhY2giLCJpbmRleCIsImNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50Iiwib2JzZXJ2YXRpb25JY29uIiwicGlua0NpcmNsZVVSTCIsIm9ic2VydmF0aW9uSWNvblVSTCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwiaW5jbHVkZXMiLCJwb3B1cENvbnRlbnQiLCJvYnMiLCJHcmFwaEljb24iLCJpMThuIiwidCIsInNldmVyaXR5Iiwic2V0SWNvbiIsImVsZW1lbnQiLCJjbGlja2VkIiwiY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiIsIndhdGVyQ29uc3VtcHRpb24iLCJyb3VuZF90b19uZWFyZXN0X2siLCJjYWxjdWxhdGVkIiwidG9GaXhlZCIsInJvdW5kVG9OZWFyZXN0VGhvdXNhbmQiLCJwYXJzZUZsb2F0IiwidG9Mb2NhbGVTdHJpbmciLCJNYXRoIiwicm91bmQiLCJudW1iZXIiLCJyb3VuZGVkVGhvdXNhbmRzIiwicm91bmRlZFZhbHVlIiwidHJhbnNsYXRlRmxvd1JhdGUiLCJvbiIsImNsb3NlUG9wdXAiLCJrYW5kb19vYmplY3RfaWQiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJwb2ludF9uYW1lIiwiY29udGVudCIsIndhdGVyUmV1c2VJY29uIiwiZ2V0Rmxvd1JhdGUiLCJpc19hc3Nlc3NtZW50IiwiYmluZFBvcHVwIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsImNsb3NlQnV0dG9uIiwiZmxvd1JhdGVVbml0IiwiaXNSb3VuZCIsInJlbW92ZUxheWVyR3JvdXAiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiYWRkTGF5ZXJHcm91cCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3JhcGhJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9saW5lLWNoYXJ0LnN2Zyc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgc2FtcGxpbmdJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9zYW1wbGluZy1pY29uLnN2Zyc7XG5pbXBvcnQgcGlua0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcGluay1jaXJjbGUuc3ZnJztcbmltcG9ydCBvYnNlcnZhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL29ic2VydmF0aW9uLWljb24uc3ZnJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCByZWRQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3JlZC1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluQmxhY2tTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1ibGFjay1zaGFkb3cucG5nJztcbmltcG9ydCB5ZWxsb3dDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3llbGxvdy1jaXJjbGUuc3ZnJztcbmltcG9ydCBwbGFudEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2ZhY3RvcnktaWNvbi5zdmcnO1xuaW1wb3J0IGdyZWVuQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ncmVlbi1jaXJjbGUuc3ZnJztcbmltcG9ydCBwdW1wU3RhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3B1bXAtc3RhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgY29sbGVjdG9ySWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbWFwL3Bpbi13YXRlci5zdmcnO1xuaW1wb3J0IGJyaWdodEJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JyaWdodC1ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IFdXVFBJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9XV1RQLWljb24uc3ZnJztcbmltcG9ydCB3YXRlckljb25Ob0JhY2tncm91bmQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3dhdGVyLW5vLWJhY2tncm91bmQuc3ZnJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgZXZlbnRzQ291bnRJY29uIH0gZnJvbSAnLi4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnLi9Qb2ludEljb24nO1xuaW1wb3J0IHdhdGVyUmV1c2VJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9pY29ucy93YXRlcl9yZXVzZS5zdmcnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbmNvbnN0IGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc3RyaW5nID0gYCR7cG9pbnQuZ3JvdXAubmFtZX0gYDtcblxuICBpZiAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeScpIHtcbiAgICBzdHJpbmcgKz0gYDxici8+U2VjdG9yOiAke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfWA7XG4gICAgc3RyaW5nICs9IGA8YnIvPldhdGVyIENvbnN1bXB0aW9uOiAke3BvaW50Lmdyb3VwLndhdGVyX2Rpc2NoYXJnZX1gO1xuICB9IGVsc2Uge1xuICAgIHN0cmluZyA9IGAke3BvaW50Lm5hbWV9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlRm9yV1dUUCA9IChhcmdzKSA9PiB7XG4gIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIoYXJncy5tYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgIGFyZ3Mud3d0cFBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICBhcmdzLnd3dHBQb2ludC5uYW1lLFxuICAgICAgJycsXG4gICAgICBmYWxzZSxcbiAgICAgIGZhbHNlLFxuICAgICksXG4gICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICB9KTtcblxuICByZXR1cm4gcG9pbnRDdXN0b21JY29uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUJ1YmJsZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuICBmbG93X3JhdGVfdW5pdCA9ICdnZF91cycsXG4gIGhhbmRsZUNsaWNrPyxcbikgPT4ge1xuICBjb25zdCBzdWJ0aXRsZSA9XG4gICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeScgPyBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSA6ICcnO1xuICBsZXQgcG9pbnRDdXN0b21JY29uOiBMLk1hcmtlciA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBzdWJ0aXRsZSxcbiAgICAgIGZhbHNlLFxuICAgICAgZmFsc2UsXG4gICAgKSxcbiAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gIH0pO1xuICAvLyBAdHMtaWdub3JlXG4gIC8vIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcblxuICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIGlmIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jykge1xuICAgIGJpbmRQb3B1cFRvTWFya2VyKHBvaW50LCBwb2ludEN1c3RvbUljb24sIGZsb3dfcmF0ZV91bml0KTtcbiAgfVxuXG4gIGhhbmRsZU1hcmtlckNsaWNrKG1hcCwgcG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgaGFuZGxlQ2xpY2spO1xuXG4gIGlmIChwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50KSB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbiA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBMLmRpdkljb24oe1xuICAgICAgICBjbGFzc05hbWU6IGBcbiAgICAgICAgICAke1xuICAgICAgICAgICAgcG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA+PSAxMDBcbiAgICAgICAgICAgICAgPyAnY2lyY2xlLWV2ZW50cy1hbW91bnQgY2lyY2xlLWV2ZW50cy1hbW91bnQtLXRyaWRpZ2l0J1xuICAgICAgICAgICAgICA6ICdjaXJjbGUtZXZlbnRzLWFtb3VudCdcbiAgICAgICAgICB9IFxuICAgICAgICAgICR7cG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA+IDIgPyAnYWxlcnQtY29sb3InIDogJyd9XG4gICAgICAgICAgICBgLFxuICAgICAgICBodG1sOiBgPHA+JHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50fTwvcD5gLFxuICAgICAgICBpY29uQW5jaG9yOiBldmVudHNDb3VudEljb24obWFwLl96b29tKS5pY29uQW5jaG9yLFxuICAgICAgfSksXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgICBvcGFjaXR5OiBob3ZlcmVkID8gMSA6IDAsXG4gICAgfSk7XG5cbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdJY29uTnVtYmVyJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdJY29uTnVtYmVySG92ZXJlZCc7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNYW5ob2xlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgbGV0IHBvaW50SWNvbiA9IG5ldyBMLkljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUG9pbnQsXG4gICAgaWNvblNpemU6IFs5LCA5XSxcbiAgICBpY29uQW5jaG9yOiBbNC41LCA0LjVdLFxuICB9KTtcbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBuZXcgTC5NYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBwb2ludEljb24sXG4gICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gIH0pO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb29sdGlwU3RyaW5nKHBvaW50KSk7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBtYW5ob2xlSWNvblsna2FuZG9fcG9pbnRfdHlwZSddID0gJ01hbmhvbGUnO1xuICBpZiAoaG92ZXJlZCkgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIobWFuaG9sZUljb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoSWNvblRvUG9pbnQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBzd2l0Y2ggKHBvaW50Lmdyb3VwLnR5cGUpIHtcbiAgICBjYXNlICdHcm91cHM6OkZhY3RvcnknOlxuICAgICAgaWYgKGNvbWJpbmVkRmFjdG9yeUljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkRmFjdG9yeUljb247XG4gICAgY2FzZSAnR3JvdXBzOjpQdW1wU3RhdGlvbic6XG4gICAgICBpZiAoY29tYmluZWRQdW1wU3RhdGlvbkljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uO1xuICAgIGNhc2UgJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JzpcbiAgICAgIGlmIChjb21iaW5lZFdXVFBJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZFdXVFBJY29uO1xuXG4gICAgY2FzZSAnR3JvdXBzOjpDb2xsZWN0b3JzJzpcbiAgICAgIGlmIChpc0NvbGxlY3RvckZvY3VzZWQocG9pbnQsIGV2ZW50KSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgICAgICAgICAgaWNvbkFuY2hvcjogWzMwLCA1Ml0sXG4gICAgICAgICAgfSksXG5cbiAgICAgICAgICBMLmljb24oe1xuICAgICAgICAgICAgaWNvblVybDogd2F0ZXJJY29uTm9CYWNrZ3JvdW5kLFxuICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgICAgICAgICAgaWNvbkFuY2hvcjogWzIyLCA0NF0sXG4gICAgICAgICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZENvbGxlY3RvcnNJY29uO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc3RhbmRhcmRCYWNrZ3JvdW5kID0gKFxuICBzZWNvbmRhcnk6IGJvb2xlYW4gPSBmYWxzZSxcbiAgdGhpcmQ6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBpbkJsYWNrU2hhZG93LFxuICAgIGljb25TaXplOiBzZWNvbmRhcnkgPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5ICYmIHRoaXJkID8gWy0yLCAxOV0gOiBzZWNvbmRhcnkgPyBbLTIsIDQ0XSA6IFsyMCwgNDJdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRGYWN0b3J5SWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiB5ZWxsb3dDaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBwbGFudEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbNSwgMzBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRQdW1wU3RhdGlvbkljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogZ3JlZW5DaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBwdW1wU3RhdGlvbkljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbNywgMzJdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRDb2xsZWN0b3JzSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBjb2xsZWN0b3JJY29uLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG5cbiAgICBpY29uQW5jaG9yOiBbMjUsIDUwXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkV1dUUEljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogYnJpZ2h0Qmx1ZUNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IFdXVFBJY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzgsIDMxXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdGVkQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBpblJlZFNoYWRvdyxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UgPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc291cmNlO1xuXG4gIGlmIChldmVudCAhPT0gbnVsbCAmJiBldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgc291cmNlID0gZXZlbnQuc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLnBvaW50X2lkID09PSBwb2ludC5pZClbMF07XG4gIH1cblxuICByZXR1cm4gZXZlbnQgIT09IG51bGwgJiYgc291cmNlICYmIGV2ZW50LnNlbGVjdGVkX3NvdXJjZSA9PT0gc291cmNlLnBvaW50X2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChldmVudCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiAoXG4gICAgZXZlbnQgIT09IG51bGwgJiZcbiAgICBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXVxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNhbXBsaW5nSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBzYW1wbGluZ0ljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IGJsdWVDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDE1XSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogc2FtcGxpbmdJY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAxM10gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGxldCB0aGlyZEljb24gPSBmYWxzZTtcbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIHRoaXJkSWNvbiA9IHRydWU7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKHNlY29uZGFyeUljb24sIHRoaXJkSWNvbikpO1xuICB9XG5cbiAgc2FtcGxpbmdJY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gdGhpcmRJY29uID8gZmFsc2UgOiBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IHRoaXJkSWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZyc7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnU2FtcGxpbmdIb3ZlcmVkJztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBvYnNlcnZhdGlvbkljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHBpbmtDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDQwXSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogb2JzZXJ2YXRpb25JY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAzOF0gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbikpO1xuICB9XG5cbiAgb2JzZXJ2YXRpb25JY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gc2Vjb25kYXJ5SWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3RoaXJkJ10gPSBmYWxzZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbic7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnT2JzZXJ2YXRpb25Ib3ZlcmVkJztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNhbXBsaW5nSWNvbnMgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkLFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgc2FtcGxlZFBvaW50SWRzID0gZXZlbnQuc2FtcGxpbmdzLm1hcCgocykgPT4gcy5wb2ludF9pZCk7XG4gIGlmIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNhbXBsaW5ncy5sZW5ndGggIT09IDAgJiZcbiAgICBzYW1wbGVkUG9pbnRJZHMuaW5jbHVkZXMocG9pbnQuaWQpXG4gICkge1xuICAgIGNyZWF0ZVNhbXBsaW5nSWNvblBvaW50KFxuICAgICAgbWFya2VyTG9jYXRpb24sXG4gICAgICBtYXRjaEljb25Ub1BvaW50KHBvaW50LCBldmVudCkgIT09IG51bGwsXG4gICAgICBtYXAsXG4gICAgICBwb2ludCxcbiAgICAgIGV2ZW50LFxuICAgICAgaG92ZXJlZCxcbiAgICAgIGxheWVyR3JvdXAsXG4gICAgKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBvcHVwQ29udGVudCA9IChvYnM6IGFueSwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBpZiAob2JzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtwb2ludC5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtwb2ludC5ncm91cC5uYW1lfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInNlY3RvclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtcG9wdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZ3JhcGgtaWNvbiBwb3B1cC1ncmFwaC1pY29uLSR7b2JzLmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke1xuICAgICAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXR5YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAncG9wdXAtY29udGVudF9fc2V2ZXJpdHktLScgKyBvYnMuc2V2ZXJpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLiR7b2JzLnNldmVyaXR5fWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX2hyXCIgLz5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fZGlzY2hhcmdlLXRpbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LmZpcnN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImZpcnN0LXNlZW4tcG9wdXBcIj48L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5sYXN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImxhc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgYDtcbiAgfVxufTtcblxubGV0IHNldEljb24gPSAoZWxlbWVudCwgY2xpY2tlZCwgcG9pbnQpID0+IHtcbiAgZWxlbWVudC5zZXRJY29uKFxuICAgIGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICBwb2ludC5uYW1lLFxuICAgICAgcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWUsXG4gICAgICBjbGlja2VkLFxuICAgICAgZmFsc2UsXG4gICAgKSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uID0gKFxuICBmbG93X3JhdGVfdW5pdDogc3RyaW5nLFxuICB3YXRlckNvbnN1bXB0aW9uOiBudW1iZXIsXG4gIHJvdW5kX3RvX25lYXJlc3RfazogYm9vbGVhbiA9IHRydWUsXG4pID0+IHtcbiAgbGV0IGNhbGN1bGF0ZWQgPSAnMCc7XG5cbiAgaWYgKHdhdGVyQ29uc3VtcHRpb24gPiAwKSB7XG4gICAgc3dpdGNoIChmbG93X3JhdGVfdW5pdCkge1xuICAgICAgY2FzZSAnbTNkJzpcbiAgICAgICAgY2FsY3VsYXRlZCA9IHdhdGVyQ29uc3VtcHRpb24udG9GaXhlZCgyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdnZF91cyc6XG4gICAgICAgIGNhbGN1bGF0ZWQgPSAod2F0ZXJDb25zdW1wdGlvbiAqIDI2NC4xNzIpLnRvRml4ZWQoMik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZ2RfdWsnOlxuICAgICAgICBjYWxjdWxhdGVkID0gKHdhdGVyQ29uc3VtcHRpb24gKiAyMTkuOTY5KS50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKHJvdW5kX3RvX25lYXJlc3Rfaykge1xuICAgIHJldHVybiByb3VuZFRvTmVhcmVzdFRob3VzYW5kKHBhcnNlRmxvYXQoY2FsY3VsYXRlZCkpLnRvTG9jYWxlU3RyaW5nKCk7XG4gIH0gZWxzZSB7XG4gICAgTWF0aC5yb3VuZChwYXJzZUZsb2F0KGNhbGN1bGF0ZWQpKS50b0xvY2FsZVN0cmluZygpO1xuICB9XG59O1xuXG5jb25zdCByb3VuZFRvTmVhcmVzdFRob3VzYW5kID0gKG51bWJlcikgPT4ge1xuICAvLyBpZihpc0FscmVhZHlSb3VuZGVkKG51bWJlcikpIHtcbiAgLy8gICByZXR1cm4gbnVtYmVyO1xuICAvLyB9XG5cbiAgaWYgKG51bWJlciA8IDEwMDApIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChudW1iZXIpO1xuICB9XG5cbiAgY29uc3Qgcm91bmRlZFRob3VzYW5kcyA9IE1hdGgucm91bmQobnVtYmVyIC8gMTAwMCk7XG4gIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHJvdW5kZWRUaG91c2FuZHMgKiAxMDAwO1xuXG4gIHJldHVybiByb3VuZGVkVmFsdWU7XG59O1xuXG4vLyBjb25zdCBpc0FscmVhZHlSb3VuZGVkID0gKG51bWJlcikgPT4ge1xuLy8gICByZXR1cm4gbnVtYmVyID09PSBNYXRoLnJvdW5kKG51bWJlcik7XG4vLyB9XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVGbG93UmF0ZSA9IChmbG93X3JhdGVfdW5pdCkgPT4ge1xuICByZXR1cm4gaTE4bi50KFxuICAgIGBkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdF9vcHRpb25zLiR7XG4gICAgICBmbG93X3JhdGVfdW5pdC5pbmNsdWRlcygnZ2QnKSA/ICdnZCcgOiBmbG93X3JhdGVfdW5pdFxuICAgIH1gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU1hcmtlckNsaWNrID0gKG1hcCwgcG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgaGFuZGxlQ2xpY2spID0+IHtcbiAgbWFwLm9uKCd6b29tc3RhcnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdwb3B1cGNsb3NlJywgKCkgPT4ge1xuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCBmYWxzZSwgcG9pbnQpO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwb3BlbicsICgpID0+IHtcbiAgICBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgdHJ1ZSwgcG9pbnQpO1xuICB9KTtcbiAgaWYgKHR5cGVvZiBoYW5kbGVDbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHBvaW50Q3VzdG9tSWNvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICBoYW5kbGVDbGljayhwb2ludEN1c3RvbUljb24ua2FuZG9fb2JqZWN0X2lkKTtcblxuICAgICAgaWYgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknKSB7XG4gICAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBGYWN0b3J5IGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICAgIHBvaW50X2lkOiBwb2ludC5pZCxcbiAgICAgICAgICBwb2ludF9uYW1lOiBwb2ludC5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cFRvTWFya2VyID0gKHBvaW50LCBsYXllckdyb3VwLCBmbG93X3JhdGVfdW5pdCkgPT4ge1xuICBsZXQgY29udGVudCA9IGBcbiAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnQnPlxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcic+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3RpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQubmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX19zdWJ0aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHknPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX2ljb24nPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0nJHt3YXRlclJldXNlSWNvbn0nIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXMnPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3RpdGxlJz5cbiAgICAgICAgICAgICAgICAgICAgJHtnZXRGbG93UmF0ZShcbiAgICAgICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC53YXRlcl9kaXNjaGFyZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgZmxvd19yYXRlX3VuaXQsXG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuaXNfYXNzZXNzbWVudCxcbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3N1YnRpdGxlJz4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgJ3dhdGVyX2Rpc2NoYXJnZScsXG4gICAgICAgICAgICAgICAgICApfTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGA7XG5cbiAgbGF5ZXJHcm91cC5iaW5kUG9wdXAoY29udGVudCwge1xuICAgIGNsYXNzTmFtZTogJ3BvaW50LW1hcmtlci1wb3B1cCcsXG4gICAgbWluV2lkdGg6ICcyMTRweCcsXG4gICAgbWF4V2lkdGg6ICcyMTRweCcsXG4gICAgY2xvc2VCdXR0b246IHRydWUsXG4gIH0pO1xufTtcblxuY29uc3QgZ2V0Rmxvd1JhdGUgPSAoXG4gIHdhdGVyQ29uc3VtcHRpb246IG51bWJlcixcbiAgZmxvd1JhdGVVbml0OiBzdHJpbmcsXG4gIGlzUm91bmQ6IGJvb2xlYW4gPSB0cnVlLFxuKSA9PiB7XG4gIGlmICh3YXRlckNvbnN1bXB0aW9uID4gMCkge1xuICAgIHJldHVybiAoXG4gICAgICBjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uKGZsb3dSYXRlVW5pdCwgd2F0ZXJDb25zdW1wdGlvbiwgaXNSb3VuZCkgK1xuICAgICAgJyAnICtcbiAgICAgIHRyYW5zbGF0ZUZsb3dSYXRlKGZsb3dSYXRlVW5pdClcbiAgICApO1xuICB9XG4gIHJldHVybiBpMThuLnQoJ2V2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLnVua25vd24nKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVMYXllckdyb3VwID0gKG1hcCwgbGF5ZXJHcm91cCkgPT4ge1xuICBpZiAobWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLnJlbW92ZUxheWVyKGxheWVyR3JvdXApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYWRkTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKCFtYXAuaGFzTGF5ZXIobGF5ZXJHcm91cCkpIHtcbiAgICBtYXAuYWRkTGF5ZXIobGF5ZXJHcm91cCk7XG4gIH0gZWxzZSB7XG4gICAgcmVtb3ZlTGF5ZXJHcm91cChtYXAsIGxheWVyR3JvdXApO1xuICAgIGFkZExheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFBMkMsSUFBQUUsV0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUcsYUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUksV0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUssZ0JBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQU8zQyxJQUFBTSxnQkFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sa0JBQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLG9CQUFBLEdBQUFU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
|