@kando-env/kando-ui 1.2.268 → 1.2.270
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/areas/AreaUtils.js +4 -4
- package/lib/Widgets/Map/points/PointUtils.js +4 -2
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +3 -3
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +6 -6
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +3 -3
- package/lib/assets/icons/copy.svg +8 -0
- package/lib/assets/icons/index.js +43 -1
- package/lib/assets/icons/info-dot.svg +4 -0
- package/lib/assets/icons/map.svg +24 -0
- package/lib/assets/icons/question-info.svg +3 -0
- package/lib/assets/icons/sampling.svg +9 -0
- package/lib/assets/icons/score-info.svg +9 -0
- package/lib/components/Sector/svgs/AreaMissing.svg +10 -0
- package/lib/components/Sector/svgs/Brewing.svg +99 -92
- package/lib/components/Sector/svgs/Cowshed.svg +27 -22
- package/lib/components/Sector/svgs/Garage.svg +26 -23
- package/lib/components/Sector/svgs/Missing.svg +36 -35
- package/lib/components/Sector/svgs/Motor Vehicle.svg +21 -0
- package/lib/components/Sector/svgs/Polymer.svg +42 -0
- package/lib/components/Sector/svgs/Pulp and Paper.svg +26 -0
- package/lib/components/Sector/svgs/Seafood.svg +26 -0
- package/lib/components/Sector/svgs/barrel.svg +99 -92
- package/lib/components/Sector/svgs/beer.svg +16 -12
- package/lib/components/Sector/svgs/beverage.svg +17 -12
- package/lib/components/Sector/svgs/car-repair.svg +26 -23
- package/lib/components/Sector/svgs/car-wash.svg +35 -35
- package/lib/components/Sector/svgs/chemistry.svg +17 -29
- package/lib/components/Sector/svgs/conductor-manufacturer.svg +20 -16
- package/lib/components/Sector/svgs/cosmetic-manufacturer.svg +25 -22
- package/lib/components/Sector/svgs/cow.svg +27 -22
- package/lib/components/Sector/svgs/cpu.svg +20 -16
- package/lib/components/Sector/svgs/dairy.svg +16 -17
- package/lib/components/Sector/svgs/dippel-oil.svg +21 -16
- package/lib/components/Sector/svgs/food-donation.svg +33 -28
- package/lib/components/Sector/svgs/food-factory.svg +20 -16
- package/lib/components/Sector/svgs/garbage-truck-1.svg +31 -33
- package/lib/components/Sector/svgs/gas-station.svg +22 -25
- package/lib/components/Sector/svgs/glass-manufacturer.svg +22 -20
- package/lib/components/Sector/svgs/glass.svg +22 -20
- package/lib/components/Sector/svgs/hand-washing.svg +19 -16
- package/lib/components/Sector/svgs/hospital.svg +31 -27
- package/lib/components/Sector/svgs/hotel.svg +24 -23
- package/lib/components/Sector/svgs/laundromat.svg +26 -25
- package/lib/components/Sector/svgs/leather-factory.svg +15 -22
- package/lib/components/Sector/svgs/leather.svg +15 -22
- package/lib/components/Sector/svgs/lipstick.svg +25 -22
- package/lib/components/Sector/svgs/meat.svg +27 -23
- package/lib/components/Sector/svgs/metal-coating-plant.svg +21 -20
- package/lib/components/Sector/svgs/metal-facbrication.svg +30 -19
- package/lib/components/Sector/svgs/milk.svg +16 -17
- package/lib/components/Sector/svgs/oil-rig.svg +15 -16
- package/lib/components/Sector/svgs/petrochemical.svg +21 -12
- package/lib/components/Sector/svgs/pie.svg +20 -16
- package/lib/components/Sector/svgs/pills.svg +21 -21
- package/lib/components/Sector/svgs/plant-unkown-3.svg +36 -35
- package/lib/components/Sector/svgs/plastic-rubber.svg +34 -42
- package/lib/components/Sector/svgs/printer.svg +16 -16
- package/lib/components/Sector/svgs/recycling.svg +15 -16
- package/lib/components/Sector/svgs/refinery.svg +16 -17
- package/lib/components/Sector/svgs/repair.svg +14 -12
- package/lib/components/Sector/svgs/sewing-machine.svg +22 -21
- package/lib/components/Sector/svgs/shop.svg +26 -23
- package/lib/components/Sector/svgs/soda.svg +15 -12
- package/lib/components/Sector/svgs/spray-gun.svg +21 -20
- package/lib/components/Sector/svgs/washing-machine.svg +26 -25
- package/lib/components/Sector/svgs/waste.svg +34 -42
- package/lib/components/Sector/svgs/welder-a.svg +30 -19
- package/lib/components/Sector/svgs/wine-glass.svg +10 -14
- package/lib/components/SevereEvent/SevereEvent.js +18 -9
- package/lib/hooks/useUserTimeZone.js +36 -2
- package/lib/hooks/useUserTimeZone.test.js +15 -1
- package/lib/i18n/en.json +54 -2
- package/lib/i18n/he.json +25 -2
- package/lib/macros/getVersion.js +1 -1
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +4 -2
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +2 -2
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +49 -19
- package/lib/pages/EventsPage/events/event_info/EventInfoStyle.scss +16 -4
- package/lib/pages/EventsPage/events/event_info/EventSection.js +47 -0
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +59 -0
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +31 -0
- package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +86 -0
- package/lib/pages/EventsPage/events/event_info/Header/index.js +11 -0
- package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +35 -0
- package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +54 -0
- package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +11 -0
- package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +37 -0
- package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreGauge.js +155 -0
- package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +63 -0
- package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +11 -0
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +38 -0
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +26 -0
- package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +58 -0
- package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +42 -0
- package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +36 -0
- package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +41 -0
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +44 -0
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +20 -0
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +70 -0
- package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterConsumptionPerDay.js +28 -0
- package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +33 -0
- package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +56 -0
- package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +29 -0
- package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +30 -0
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +70 -0
- package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +40 -0
- package/lib/pages/EventsPage/events/event_info/Timelines/index.js +11 -0
- package/lib/pages/EventsPage/events/event_info/Timelines/style.js +20 -0
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +46 -0
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +38 -0
- package/lib/pages/EventsPage/events/event_info/styles.js +32 -0
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/events/models/ISource.js +1 -1
- package/lib/styles/theme/theme.js +12 -1
- package/lib/styles.scss +8 -0
- package/lib/ui-kit/siteName/SiteName.js +31 -0
- package/lib/utilities/scoreToData.js +44 -0
- package/lib/utilities/scoreToData.test.js +16 -0
- package/package.json +2 -2
- package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +0 -46
- package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +0 -38
- package/lib/utilities/scoreToColor.js +0 -24
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.zoomControlForArea = exports.getAreaName = exports.genericPolygon = exports.createPolygon = exports.calculatePolygonArea = exports.bindPopupBasedOnZoomLevel = void 0;
|
|
8
|
-
var
|
|
8
|
+
var _scoreToData = require("../../../utilities/scoreToData");
|
|
9
9
|
var _theme = require("../../../styles/theme/theme");
|
|
10
10
|
var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
11
11
|
var getAreaName = function getAreaName(area) {
|
|
@@ -19,7 +19,7 @@ var genericPolygon = function genericPolygon(area, mapZoom) {
|
|
|
19
19
|
return [location['lat'], location['lng']];
|
|
20
20
|
});
|
|
21
21
|
if (latlngs.length < 1) return;
|
|
22
|
-
var color = area.color ? area.color : (0,
|
|
22
|
+
var color = area.color ? area.color : (0, _scoreToData.scoreToColor)(area.area_score);
|
|
23
23
|
var title = polygonTitle(area, mapZoom);
|
|
24
24
|
areaPolygon = _leaflet.default.polygon(latlngs, {
|
|
25
25
|
color: color,
|
|
@@ -76,7 +76,7 @@ var drillDownBasedOnZoomLevel = function drillDownBasedOnZoomLevel(areaPolygon,
|
|
|
76
76
|
if (drillDownCondition()) {
|
|
77
77
|
areaPolygon.setStyle({
|
|
78
78
|
stroke: true,
|
|
79
|
-
color: (0,
|
|
79
|
+
color: (0, _scoreToData.scoreToColor)(area.area_score),
|
|
80
80
|
weight: 2,
|
|
81
81
|
fillOpacity: 0.0,
|
|
82
82
|
opacity: 1
|
|
@@ -152,4 +152,4 @@ var createPolygon = function createPolygon(area, mapZoom, LayerGroup, map) {
|
|
|
152
152
|
}
|
|
153
153
|
};
|
|
154
154
|
exports.createPolygon = createPolygon;
|
|
155
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2NvcmVUb0NvbG9yIiwicmVxdWlyZSIsIl90aGVtZSIsIl9sZWFmbGV0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImdldEFyZWFOYW1lIiwiYXJlYSIsIm5hbWUiLCJhcmVhX25hbWUiLCJleHBvcnRzIiwiZ2VuZXJpY1BvbHlnb24iLCJtYXBab29tIiwiYXJlYVBvbHlnb24iLCJsYXRsbmdzIiwic2hhcGVfZGF0YSIsIm1hcCIsImxvY2F0aW9uIiwibGVuZ3RoIiwiY29sb3IiLCJzY29yZVRvQ29sb3IiLCJhcmVhX3Njb3JlIiwidGl0bGUiLCJwb2x5Z29uVGl0bGUiLCJMIiwicG9seWdvbiIsImZpbGxPcGFjaXR5Iiwic2hvd0NvbG9yT25seUluQm9yZGVycyIsIndlaWdodCIsImJpbmRUb29sdGlwIiwiY2xhc3NOYW1lIiwicGVybWFuZW50IiwiZGlyZWN0aW9uIiwiY2FsY3VsYXRlUG9seWdvbkFyZWEiLCJjb29yZGluYXRlcyIsIm51bVBvaW50cyIsImkiLCJ4MSIsInkxIiwieDIiLCJ5MiIsIk1hdGgiLCJhYnMiLCJjb25jYXQiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwicHJpbWFyeSIsInBzMSIsImJpbmRUb29sVGlwIiwibGF5ZXIiLCJ1bmJpbmRUb29sdGlwIiwidW5kZWZpbmVkIiwiYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbCIsIkxheWVyR3JvdXAiLCJhcmd1bWVudHMiLCJnZXRMYXllcnMiLCJmb3JFYWNoIiwiZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCIsInBlcmNlbnRhZ2UiLCJ6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duIiwiaXNQYXJ0aWFsUG9seWdvblZpc2libGUiLCJkcmlsbERvd25Db25kaXRpb24iLCJzdWJfYXJlYXMiLCJfbWFwIiwic2V0U3R5bGUiLCJzdHJva2UiLCJvcGFjaXR5IiwiZ2V0Wm9vbSIsInN1YkFyZWEiLCJyZWRyYXciLCJ6b29tQ29udHJvbEZvckFyZWEiLCJvbiIsImdldE1hcEJvdW5kcyIsImdldEJvdW5kcyIsInBvbHlnb25Cb3VuZHMiLCJpbnRlcnNlY3RzIiwibWFwQm91bmRzUG9seWdvbiIsImdldFNvdXRoV2VzdCIsImdldE5vcnRoV2VzdCIsImdldE5vcnRoRWFzdCIsImdldFNvdXRoRWFzdCIsIm1hcEJvdW5kcyIsInRvR2VvSlNPTiIsImdlb21ldHJ5IiwiYXJlYVN1cmZhY2UiLCJjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24iLCJhcmVhX2lkIiwiY2FsY3VsYXRlZF9zdXJmYWNlIiwiY3JlYXRlUG9seWdvbiIsImNyZWF0ZUFzU3ViQXJlYSIsIl9hcmVhJHN1Yl9hcmVhcyIsInN1YkFyZWFzQ3JlYXRlZCIsImxheWVyR3JvdXAiLCJoYXNfcGFyZW50IiwiaGFzTGF5ZXIiLCJhZGRMYXllciIsImFkZFRvIiwiYnJpbmdUb0JhY2siXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjb3JlVG9Db2xvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9zY29yZVRvQ29sb3InO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgUG9seWdvbiB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IEwgZnJvbSAnbGVhZmxldCc7XG5cbmV4cG9ydCBjb25zdCBnZXRBcmVhTmFtZSA9IChhcmVhKSA9PiB7XG4gIGxldCBuYW1lID0gYXJlYS5hcmVhX25hbWUgfHwgYXJlYS5uYW1lO1xuXG4gIHJldHVybiBuYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyaWNQb2x5Z29uID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgbGV0IGFyZWFQb2x5Z29uOiBQb2x5Z29uO1xuICBsZXQgbGF0bG5ncyA9IGFyZWEuc2hhcGVfZGF0YS5tYXAoKGxvY2F0aW9uOiBhbnkpID0+IHtcbiAgICByZXR1cm4gW2xvY2F0aW9uWydsYXQnXSwgbG9jYXRpb25bJ2xuZyddXTtcbiAgfSk7XG5cbiAgaWYgKGxhdGxuZ3MubGVuZ3RoIDwgMSkgcmV0dXJuO1xuXG4gIGxldCBjb2xvciA9IGFyZWEuY29sb3IgPyBhcmVhLmNvbG9yIDogc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSk7XG5cbiAgY29uc3QgdGl0bGUgPSBwb2x5Z29uVGl0bGUoYXJlYSwgbWFwWm9vbSk7XG5cbiAgYXJlYVBvbHlnb24gPSBMLnBvbHlnb24obGF0bG5ncywge1xuICAgIGNvbG9yLFxuICAgIGZpbGxPcGFjaXR5OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAwLjMgOiAwLjQsXG4gICAgd2VpZ2h0OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAyIDogMCxcbiAgfSkuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICBjbGFzc05hbWU6ICdhcmVhLXRvb2x0aXAnLFxuICAgIHBlcm1hbmVudDogbWFwWm9vbSA+IDEyLFxuICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gIH0pO1xuXG4gIHJldHVybiBhcmVhUG9seWdvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVQb2x5Z29uQXJlYSA9IChjb29yZGluYXRlcykgPT4ge1xuICBsZXQgYXJlYSA9IDA7XG4gIGxldCBudW1Qb2ludHMgPSBjb29yZGluYXRlcy5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1Qb2ludHM7IGkrKykge1xuICAgIGxldCB4MSA9IGNvb3JkaW5hdGVzW2ldWzBdO1xuICAgIGxldCB5MSA9IGNvb3JkaW5hdGVzW2ldWzFdO1xuICAgIGxldCB4MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzBdO1xuICAgIGxldCB5MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzFdO1xuXG4gICAgYXJlYSArPSB4MSAqIHkyIC0geDIgKiB5MTtcbiAgfVxuXG4gIHJldHVybiBNYXRoLmFicyhhcmVhIC8gMik7XG59O1xuXG5jb25zdCBwb2x5Z29uVGl0bGUgPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJhcmVhLXRvb2x0aXBcIiBzdHlsZT1cImNvbG9yOiR7XG4gICAgdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wczFcbiAgfTtmb250LXdlaWdodDo3MDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXNpemU6ICR7XG4gICAgbWFwWm9vbSAqIDEuNVxuICB9cHg7LXdlYmtpdC10ZXh0LXN0cm9rZTogMC44cHggI2ZmZmZmZjtcIj4gJHtnZXRBcmVhTmFtZShhcmVhKX0gXG4gICAgICAgIDwvZGl2PmA7XG59O1xuXG5jb25zdCBiaW5kVG9vbFRpcCA9IChsYXllciwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSkgPT4ge1xuICBsYXllci51bmJpbmRUb29sdGlwKCk7XG4gIGxheWVyLmJpbmRUb29sdGlwKHRpdGxlLCB7XG4gICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICBwZXJtYW5lbnQ6IHBlcm1hbmVudCAhPT0gdW5kZWZpbmVkID8gcGVybWFuZW50IDogbWFwWm9vbSA+IDExLFxuICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwgPSAoXG4gIExheWVyR3JvdXAsXG4gIG1hcFpvb20sXG4gIGFyZWEsXG4gIHBlcm1hbmVudCA9IHVuZGVmaW5lZCxcbikgPT4ge1xuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcblxuICBpZiAoTGF5ZXJHcm91cFsnYXJlYV9uYW1lJ10gPT09IHVuZGVmaW5lZCkge1xuICAgIExheWVyR3JvdXAuZ2V0TGF5ZXJzKCkuZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgICAgIGJpbmRUb29sVGlwKGxheWVyLCB0aXRsZSwgcGVybWFuZW50LCBtYXBab29tKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBiaW5kVG9vbFRpcChMYXllckdyb3VwLCB0aXRsZSwgcGVybWFuZW50LCBtYXBab29tKTtcbiAgfVxufTtcblxuY29uc3QgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCA9IChcbiAgYXJlYVBvbHlnb24sXG4gIGFyZWEsXG4gIHBlcmNlbnRhZ2UsXG4gIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuKSA9PiB7XG4gIGNvbnN0IGRyaWxsRG93bkNvbmRpdGlvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcGVyY2VudGFnZSA+PSB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duICYmXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSAmJlxuICAgICAgYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBhcmVhUG9seWdvbi5fbWFwICE9PSBudWxsXG4gICAgKTtcbiAgfTtcblxuICBpZiAoZHJpbGxEb3duQ29uZGl0aW9uKCkpIHtcbiAgICBhcmVhUG9seWdvbi5zZXRTdHlsZSh7XG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgICBjb2xvcjogc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSksXG4gICAgICB3ZWlnaHQ6IDIsXG4gICAgICBmaWxsT3BhY2l0eTogMC4wLFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KTtcbiAgICBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKFxuICAgICAgYXJlYVBvbHlnb24sXG4gICAgICBhcmVhUG9seWdvbi5fbWFwLmdldFpvb20oKSxcbiAgICAgIGFyZWEsXG4gICAgICBmYWxzZSxcbiAgICApO1xuXG4gICAgaWYgKGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10uZ2V0TGF5ZXJzKCkuZm9yRWFjaCgoc3ViQXJlYSkgPT4ge1xuICAgICAgICBpZiAoc3ViQXJlYS5zdWJfYXJlYXMgJiYgc3ViQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbChcbiAgICAgICAgICAgIHN1YkFyZWEsXG4gICAgICAgICAgICBzdWJBcmVhLl9tYXAuZ2V0Wm9vbSgpLFxuICAgICAgICAgICAgc3ViQXJlYSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBzdWJBcmVhLnNldFN0eWxlKHsgZmlsbE9wYWNpdHk6IDAuNCB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGFyZWFQb2x5Z29uLnNldFN0eWxlKHsgZmlsbE9wYWNpdHk6IDAuNCwgc3Ryb2tlOiBmYWxzZSB9KTtcbiAgICBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKFxuICAgICAgYXJlYVBvbHlnb24sXG4gICAgICBhcmVhUG9seWdvbi5fbWFwLmdldFpvb20oKSxcbiAgICAgIGFyZWEsXG4gICAgICB0cnVlLFxuICAgICk7XG5cbiAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddLmdldExheWVycygpLmZvckVhY2goKHN1YkFyZWEpID0+IHtcbiAgICAgICAgc3ViQXJlYS5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjAgfSk7XG4gICAgICAgIGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwoXG4gICAgICAgICAgc3ViQXJlYSxcbiAgICAgICAgICBzdWJBcmVhLl9tYXAuZ2V0Wm9vbSgpLFxuICAgICAgICAgIHN1YkFyZWEsXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFyZWFQb2x5Z29uLnJlZHJhdygpO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21Db250cm9sRm9yQXJlYSA9IChhcmVhUG9seWdvbiwgYXJlYSwgbWFwKSA9PiB7XG4gIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgZ2V0TWFwQm91bmRzID0gbWFwLmdldEJvdW5kcygpO1xuICAgIGxldCBwb2x5Z29uQm91bmRzID0gYXJlYVBvbHlnb24uZ2V0Qm91bmRzKCk7XG4gICAgbGV0IGlzUGFydGlhbFBvbHlnb25WaXNpYmxlID0gZ2V0TWFwQm91bmRzLmludGVyc2VjdHMocG9seWdvbkJvdW5kcyk7XG4gICAgbGV0IG1hcEJvdW5kc1BvbHlnb24gPSBMLnBvbHlnb24oW1xuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoRWFzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoRWFzdCgpLFxuICAgIF0pO1xuXG4gICAgbGV0IG1hcEJvdW5kcyA9IGNhbGN1bGF0ZVBvbHlnb25BcmVhKFxuICAgICAgbWFwQm91bmRzUG9seWdvbi50b0dlb0pTT04oKS5nZW9tZXRyeS5jb29yZGluYXRlc1swXSxcbiAgICApO1xuXG4gICAgbGV0IGFyZWFTdXJmYWNlID0gYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddO1xuICAgIGNvbnN0IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gPSAxNS4wO1xuICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSAoYXJlYVN1cmZhY2UgLyBtYXBCb3VuZHMpICogMTAwO1xuXG4gICAgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYSxcbiAgICAgIHBlcmNlbnRhZ2UsXG4gICAgICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gICAgKTtcbiAgfSk7XG59O1xuXG5jb25zdCBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24gPSAoYXJlYVBvbHlnb24sIGFyZWEpID0+IHtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdF9pZCddID0gYXJlYS5hcmVhX2lkO1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0J10gPSAnQXJlYSc7XG4gIGFyZWFQb2x5Z29uWydhcmVhX25hbWUnXSA9IGFyZWEuYXJlYV9uYW1lO1xuICBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ10gPSBhcmVhLmNhbGN1bGF0ZWRfc3VyZmFjZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb2x5Z29uID0gKFxuICBhcmVhLFxuICBtYXBab29tLFxuICBMYXllckdyb3VwLFxuICBtYXAsXG4gIGNyZWF0ZUFzU3ViQXJlYTogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIGlmIChcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwXG4gICkge1xuICAgIGxldCBzdWJBcmVhc0NyZWF0ZWQgPSBMLmxheWVyR3JvdXAoW10pO1xuICAgIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICAgIGlmIChjcmVhdGVBc1N1YkFyZWEgfHwgIWFyZWEuaGFzX3BhcmVudCkge1xuICAgICAgcG9seWdvbiA9IGdlbmVyaWNQb2x5Z29uKGFyZWEsIG1hcFpvb20pO1xuICAgIH1cblxuICAgIGFyZWEuc3ViX2FyZWFzPy5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICBjcmVhdGVQb2x5Z29uKHN1YkFyZWEsIG1hcFpvb20sIHN1YkFyZWFzQ3JlYXRlZCwgbWFwLCB0cnVlKTtcbiAgICB9KTtcblxuICAgIGlmIChjcmVhdGVBc1N1YkFyZWEgfHwgIWFyZWEuaGFzX3BhcmVudCkge1xuICAgICAgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uKHBvbHlnb24sIGFyZWEpO1xuICAgICAgIUxheWVyR3JvdXAuaGFzTGF5ZXIocG9seWdvbikgJiYgTGF5ZXJHcm91cC5hZGRMYXllcihwb2x5Z29uKS5hZGRUbyhtYXApO1xuICAgICAgcG9seWdvbi5icmluZ1RvQmFjaygpO1xuICAgICAgaWYgKHN1YkFyZWFzQ3JlYXRlZC5nZXRMYXllcnMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHN1YkFyZWFzQ3JlYXRlZC5hZGRUbyhtYXApO1xuICAgICAgICBwb2x5Z29uWydzdWJfYXJlYXMnXSA9IHN1YkFyZWFzQ3JlYXRlZDtcbiAgICAgIH1cblxuICAgICAgem9vbUNvbnRyb2xGb3JBcmVhKHBvbHlnb24sIGFyZWEsIG1hcCk7XG4gICAgfVxuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsYUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsUUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBRU8sSUFBTUksV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLElBQUksRUFBSztFQUNuQyxJQUFJQyxJQUFJLEdBQUdELElBQUksQ0FBQ0UsU0FBUyxJQUFJRixJQUFJLENBQUNDLElBQUk7RUFFdEMsT0FBT0EsSUFBSTtBQUNiLENBQUM7QUFBQ0UsT0FBQSxDQUFBSixXQUFBLEdBQUFBLFdBQUE7QUFFSyxJQUFNSyxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUlKLElBQUksRUFBRUssT0FBTyxFQUFLO0VBQy9DLElBQUlDLFdBQW9CO0VBQ3hCLElBQUlDLE9BQU8sR0FBR1AsSUFBSSxDQUFDUSxVQUFVLENBQUNDLEdBQUcsQ0FBQyxVQUFDQyxRQUFhLEVBQUs7SUFDbkQsT0FBTyxDQUFDQSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUVBLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztFQUMzQyxDQUFDLENBQUM7RUFFRixJQUFJSCxPQUFPLENBQUNJLE1BQU0sR0FBRyxDQUFDLEVBQUU7RUFFeEIsSUFBSUMsS0FBSyxHQUFHWixJQUFJLENBQUNZLEtBQUssR0FBR1osSUFBSSxDQUFDWSxLQUFLLEdB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
|
|
155
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2NvcmVUb0RhdGEiLCJyZXF1aXJlIiwiX3RoZW1lIiwiX2xlYWZsZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImV4cG9ydHMiLCJnZW5lcmljUG9seWdvbiIsIm1hcFpvb20iLCJhcmVhUG9seWdvbiIsImxhdGxuZ3MiLCJzaGFwZV9kYXRhIiwibWFwIiwibG9jYXRpb24iLCJsZW5ndGgiLCJjb2xvciIsInNjb3JlVG9Db2xvciIsImFyZWFfc2NvcmUiLCJ0aXRsZSIsInBvbHlnb25UaXRsZSIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiYmluZFRvb2x0aXAiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJjYWxjdWxhdGVQb2x5Z29uQXJlYSIsImNvb3JkaW5hdGVzIiwibnVtUG9pbnRzIiwiaSIsIngxIiwieTEiLCJ4MiIsInkyIiwiTWF0aCIsImFicyIsImNvbmNhdCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicHMxIiwiYmluZFRvb2xUaXAiLCJsYXllciIsInVuYmluZFRvb2x0aXAiLCJ1bmRlZmluZWQiLCJiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsIiwiTGF5ZXJHcm91cCIsImFyZ3VtZW50cyIsImdldExheWVycyIsImZvckVhY2giLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImRyaWxsRG93bkNvbmRpdGlvbiIsInN1Yl9hcmVhcyIsIl9tYXAiLCJzZXRTdHlsZSIsInN0cm9rZSIsIm9wYWNpdHkiLCJnZXRab29tIiwic3ViQXJlYSIsInJlZHJhdyIsInpvb21Db250cm9sRm9yQXJlYSIsIm9uIiwiZ2V0TWFwQm91bmRzIiwiZ2V0Qm91bmRzIiwicG9seWdvbkJvdW5kcyIsImludGVyc2VjdHMiLCJtYXBCb3VuZHNQb2x5Z29uIiwiZ2V0U291dGhXZXN0IiwiZ2V0Tm9ydGhXZXN0IiwiZ2V0Tm9ydGhFYXN0IiwiZ2V0U291dGhFYXN0IiwibWFwQm91bmRzIiwidG9HZW9KU09OIiwiZ2VvbWV0cnkiLCJhcmVhU3VyZmFjZSIsImN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiIsImFyZWFfaWQiLCJjYWxjdWxhdGVkX3N1cmZhY2UiLCJjcmVhdGVQb2x5Z29uIiwiY3JlYXRlQXNTdWJBcmVhIiwiX2FyZWEkc3ViX2FyZWFzIiwic3ViQXJlYXNDcmVhdGVkIiwibGF5ZXJHcm91cCIsImhhc19wYXJlbnQiLCJoYXNMYXllciIsImFkZExheWVyIiwiYWRkVG8iLCJicmluZ1RvQmFjayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhVXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IFBvbHlnb24gfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuXG5leHBvcnQgY29uc3QgZ2V0QXJlYU5hbWUgPSAoYXJlYSkgPT4ge1xuICBsZXQgbmFtZSA9IGFyZWEuYXJlYV9uYW1lIHx8IGFyZWEubmFtZTtcblxuICByZXR1cm4gbmFtZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmljUG9seWdvbiA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIGxldCBhcmVhUG9seWdvbjogUG9seWdvbjtcbiAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gIH0pO1xuXG4gIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHJldHVybjtcblxuICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuXG4gIGNvbnN0IHRpdGxlID0gcG9seWdvblRpdGxlKGFyZWEsIG1hcFpvb20pO1xuXG4gIGFyZWFQb2x5Z29uID0gTC5wb2x5Z29uKGxhdGxuZ3MsIHtcbiAgICBjb2xvcixcbiAgICBmaWxsT3BhY2l0eTogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMC4zIDogMC40LFxuICAgIHdlaWdodDogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMiA6IDAsXG4gIH0pLmJpbmRUb29sdGlwKHRpdGxlLCB7XG4gICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICBwZXJtYW5lbnQ6IG1hcFpvb20gPiAxMixcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcblxuICByZXR1cm4gYXJlYVBvbHlnb247XG59O1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlUG9seWdvbkFyZWEgPSAoY29vcmRpbmF0ZXMpID0+IHtcbiAgbGV0IGFyZWEgPSAwO1xuICBsZXQgbnVtUG9pbnRzID0gY29vcmRpbmF0ZXMubGVuZ3RoO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtUG9pbnRzOyBpKyspIHtcbiAgICBsZXQgeDEgPSBjb29yZGluYXRlc1tpXVswXTtcbiAgICBsZXQgeTEgPSBjb29yZGluYXRlc1tpXVsxXTtcbiAgICBsZXQgeDIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVswXTtcbiAgICBsZXQgeTIgPSBjb29yZGluYXRlc1soaSArIDEpICUgbnVtUG9pbnRzXVsxXTtcblxuICAgIGFyZWEgKz0geDEgKiB5MiAtIHgyICogeTE7XG4gIH1cblxuICByZXR1cm4gTWF0aC5hYnMoYXJlYSAvIDIpO1xufTtcblxuY29uc3QgcG9seWdvblRpdGxlID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiYXJlYS10b29sdGlwXCIgc3R5bGU9XCJjb2xvcjoke1xuICAgIHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucHMxXG4gIH07Zm9udC13ZWlnaHQ6NzAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOiAke1xuICAgIG1hcFpvb20gKiAxLjVcbiAgfXB4Oy13ZWJraXQtdGV4dC1zdHJva2U6IDAuOHB4ICNmZmZmZmY7XCI+ICR7Z2V0QXJlYU5hbWUoYXJlYSl9IFxuICAgICAgICA8L2Rpdj5gO1xufTtcblxuY29uc3QgYmluZFRvb2xUaXAgPSAobGF5ZXIsIHRpdGxlLCBwZXJtYW5lbnQsIG1hcFpvb20pID0+IHtcbiAgbGF5ZXIudW5iaW5kVG9vbHRpcCgpO1xuICBsYXllci5iaW5kVG9vbHRpcCh0aXRsZSwge1xuICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgcGVybWFuZW50OiBwZXJtYW5lbnQgIT09IHVuZGVmaW5lZCA/IHBlcm1hbmVudCA6IG1hcFpvb20gPiAxMSxcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsID0gKFxuICBMYXllckdyb3VwLFxuICBtYXBab29tLFxuICBhcmVhLFxuICBwZXJtYW5lbnQgPSB1bmRlZmluZWQsXG4pID0+IHtcbiAgY29uc3QgdGl0bGUgPSBwb2x5Z29uVGl0bGUoYXJlYSwgbWFwWm9vbSk7XG5cbiAgaWYgKExheWVyR3JvdXBbJ2FyZWFfbmFtZSddID09PSB1bmRlZmluZWQpIHtcbiAgICBMYXllckdyb3VwLmdldExheWVycygpLmZvckVhY2goKGxheWVyKSA9PiB7XG4gICAgICBiaW5kVG9vbFRpcChsYXllciwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgYmluZFRvb2xUaXAoTGF5ZXJHcm91cCwgdGl0bGUsIHBlcm1hbmVudCwgbWFwWm9vbSk7XG4gIH1cbn07XG5cbmNvbnN0IGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwgPSAoXG4gIGFyZWFQb2x5Z29uLFxuICBhcmVhLFxuICBwZXJjZW50YWdlLFxuICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSxcbikgPT4ge1xuICBjb25zdCBkcmlsbERvd25Db25kaXRpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBlcmNlbnRhZ2UgPj0gem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biAmJlxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgJiZcbiAgICAgIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgYXJlYVBvbHlnb24uX21hcCAhPT0gbnVsbFxuICAgICk7XG4gIH07XG5cbiAgaWYgKGRyaWxsRG93bkNvbmRpdGlvbigpKSB7XG4gICAgYXJlYVBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgY29sb3I6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpLFxuICAgICAgd2VpZ2h0OiAyLFxuICAgICAgZmlsbE9wYWNpdHk6IDAuMCxcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSk7XG4gICAgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYVBvbHlnb24uX21hcC5nZXRab29tKCksXG4gICAgICBhcmVhLFxuICAgICAgZmFsc2UsXG4gICAgKTtcblxuICAgIGlmIChhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10gIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddLmdldExheWVycygpLmZvckVhY2goKHN1YkFyZWEpID0+IHtcbiAgICAgICAgaWYgKHN1YkFyZWEuc3ViX2FyZWFzICYmIHN1YkFyZWEuc3ViX2FyZWFzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIGJpbmRQb3B1cEJhc2VkT25ab29tTGV2ZWwoXG4gICAgICAgICAgICBzdWJBcmVhLFxuICAgICAgICAgICAgc3ViQXJlYS5fbWFwLmdldFpvb20oKSxcbiAgICAgICAgICAgIHN1YkFyZWEsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICk7XG4gICAgICAgICAgc3ViQXJlYS5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjQgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBhcmVhUG9seWdvbi5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjQsIHN0cm9rZTogZmFsc2UgfSk7XG4gICAgYmluZFBvcHVwQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYVBvbHlnb24uX21hcC5nZXRab29tKCksXG4gICAgICBhcmVhLFxuICAgICAgdHJ1ZSxcbiAgICApO1xuXG4gICAgYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5nZXRMYXllcnMoKS5mb3JFYWNoKChzdWJBcmVhKSA9PiB7XG4gICAgICAgIHN1YkFyZWEuc2V0U3R5bGUoeyBmaWxsT3BhY2l0eTogMC4wIH0pO1xuICAgICAgICBiaW5kUG9wdXBCYXNlZE9uWm9vbUxldmVsKFxuICAgICAgICAgIHN1YkFyZWEsXG4gICAgICAgICAgc3ViQXJlYS5fbWFwLmdldFpvb20oKSxcbiAgICAgICAgICBzdWJBcmVhLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cblxuICBhcmVhUG9seWdvbi5yZWRyYXcoKTtcbn07XG5cbmV4cG9ydCBjb25zdCB6b29tQ29udHJvbEZvckFyZWEgPSAoYXJlYVBvbHlnb24sIGFyZWEsIG1hcCkgPT4ge1xuICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGdldE1hcEJvdW5kcyA9IG1hcC5nZXRCb3VuZHMoKTtcbiAgICBsZXQgcG9seWdvbkJvdW5kcyA9IGFyZWFQb2x5Z29uLmdldEJvdW5kcygpO1xuICAgIGxldCBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSA9IGdldE1hcEJvdW5kcy5pbnRlcnNlY3RzKHBvbHlnb25Cb3VuZHMpO1xuICAgIGxldCBtYXBCb3VuZHNQb2x5Z29uID0gTC5wb2x5Z29uKFtcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aEVhc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aEVhc3QoKSxcbiAgICBdKTtcblxuICAgIGxldCBtYXBCb3VuZHMgPSBjYWxjdWxhdGVQb2x5Z29uQXJlYShcbiAgICAgIG1hcEJvdW5kc1BvbHlnb24udG9HZW9KU09OKCkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgKTtcblxuICAgIGxldCBhcmVhU3VyZmFjZSA9IGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXTtcbiAgICBjb25zdCB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duID0gMTUuMDtcbiAgICBjb25zdCBwZXJjZW50YWdlID0gKGFyZWFTdXJmYWNlIC8gbWFwQm91bmRzKSAqIDEwMDtcblxuICAgIGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWEsXG4gICAgICBwZXJjZW50YWdlLFxuICAgICAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgICAgIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICAgICk7XG4gIH0pO1xufTtcblxuY29uc3QgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uID0gKGFyZWFQb2x5Z29uLCBhcmVhKSA9PiB7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3RfaWQnXSA9IGFyZWEuYXJlYV9pZDtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdCddID0gJ0FyZWEnO1xuICBhcmVhUG9seWdvblsnYXJlYV9uYW1lJ10gPSBhcmVhLmFyZWFfbmFtZTtcbiAgYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddID0gYXJlYS5jYWxjdWxhdGVkX3N1cmZhY2U7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9seWdvbiA9IChcbiAgYXJlYSxcbiAgbWFwWm9vbSxcbiAgTGF5ZXJHcm91cCxcbiAgbWFwLFxuICBjcmVhdGVBc1N1YkFyZWE6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBpZiAoXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICApIHtcbiAgICBsZXQgc3ViQXJlYXNDcmVhdGVkID0gTC5sYXllckdyb3VwKFtdKTtcbiAgICBsZXQgcG9seWdvbjogUG9seWdvbjtcbiAgICBpZiAoY3JlYXRlQXNTdWJBcmVhIHx8ICFhcmVhLmhhc19wYXJlbnQpIHtcbiAgICAgIHBvbHlnb24gPSBnZW5lcmljUG9seWdvbihhcmVhLCBtYXBab29tKTtcbiAgICB9XG5cbiAgICBhcmVhLnN1Yl9hcmVhcz8uZm9yRWFjaCgoc3ViQXJlYSkgPT4ge1xuICAgICAgY3JlYXRlUG9seWdvbihzdWJBcmVhLCBtYXBab29tLCBzdWJBcmVhc0NyZWF0ZWQsIG1hcCwgdHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpZiAoY3JlYXRlQXNTdWJBcmVhIHx8ICFhcmVhLmhhc19wYXJlbnQpIHtcbiAgICAgIGN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbihwb2x5Z29uLCBhcmVhKTtcbiAgICAgICFMYXllckdyb3VwLmhhc0xheWVyKHBvbHlnb24pICYmIExheWVyR3JvdXAuYWRkTGF5ZXIocG9seWdvbikuYWRkVG8obWFwKTtcbiAgICAgIHBvbHlnb24uYnJpbmdUb0JhY2soKTtcbiAgICAgIGlmIChzdWJBcmVhc0NyZWF0ZWQuZ2V0TGF5ZXJzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICBzdWJBcmVhc0NyZWF0ZWQuYWRkVG8obWFwKTtcbiAgICAgICAgcG9seWdvblsnc3ViX2FyZWFzJ10gPSBzdWJBcmVhc0NyZWF0ZWQ7XG4gICAgICB9XG5cbiAgICAgIHpvb21Db250cm9sRm9yQXJlYShwb2x5Z29uLCBhcmVhLCBtYXApO1xuICAgIH1cbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUVPLElBQU1JLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJQyxJQUFJLEVBQUs7RUFDbkMsSUFBSUMsSUFBSSxHQUFHRCxJQUFJLENBQUNFLFNBQVMsSUFBSUYsSUFBSSxDQUFDQyxJQUFJO0VBRXRDLE9BQU9BLElBQUk7QUFDYixDQUFDO0FBQUNFLE9BQUEsQ0FBQUosV0FBQSxHQUFBQSxXQUFBO0FBRUssSUFBTUssY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJSixJQUFJLEVBQUVLLE9BQU8sRUFBSztFQUMvQyxJQUFJQyxXQUFvQjtFQUN4QixJQUFJQyxPQUFPLEdBQUdQLElBQUksQ0FBQ1EsVUFBVSxDQUFDQyxHQUFHLENBQUMsVUFBQ0MsUUFBYSxFQUFLO0lBQ25ELE9BQU8sQ0FBQ0EsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFQSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7RUFDM0MsQ0FBQyxDQUFDO0VBRUYsSUFBSUgsT0FBTyxDQUFDSSxNQUFNLEdBQUcsQ0FBQyxFQUFFO0VBRXhCLElBQUlDLEtBQUssR0FBR1osSUFBSSxDQUFDWSxLQUFLLEdBQUdaLElBQUksQ0FBQ1ksS0FBSyxHQUFH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
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.standardBackground = exports.selectedBackground = exports.removeLayerGroup = exports.popupContent = exports.matchIconToPoint = exports.markerBelongsToSource = exports.markerBelongsToSelectedSource = exports.isCollectorFocused = exports.handleMarkerClick = exports.createSamplingIcons = exports.createSamplingIconPoint = exports.createObservationIconPoint = exports.createManholePoint = exports.createBubblePoint = exports.combinedWWTPIcon = exports.combinedPumpStationIcon = exports.combinedFactoryIcon = exports.combinedCollectorsIcon = exports.bindPopupToMarker = exports.belongsToSourceBackground = exports.addLayerGroup = void 0;
|
|
7
|
+
exports.translateFlowRate = exports.standardBackground = exports.selectedBackground = exports.removeLayerGroup = exports.popupContent = exports.matchIconToPoint = exports.markerBelongsToSource = exports.markerBelongsToSelectedSource = exports.isCollectorFocused = exports.handleMarkerClick = exports.createSamplingIcons = exports.createSamplingIconPoint = exports.createObservationIconPoint = exports.createManholePoint = exports.createBubblePoint = exports.combinedWWTPIcon = exports.combinedPumpStationIcon = exports.combinedFactoryIcon = exports.combinedCollectorsIcon = exports.calculateWaterConsumption = exports.bindPopupToMarker = exports.belongsToSourceBackground = exports.addLayerGroup = void 0;
|
|
8
8
|
var _lineChart = _interopRequireDefault(require("../../../assets/line-chart.svg"));
|
|
9
9
|
var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
10
10
|
var _i18n = _interopRequireDefault(require("../../../utilities/i18n"));
|
|
@@ -343,9 +343,11 @@ var setIcon = function setIcon(element, clicked, point) {
|
|
|
343
343
|
var calculateWaterConsumption = function calculateWaterConsumption(flow_rate_unit, waterConsumption) {
|
|
344
344
|
return flow_rate_unit === 'm3d' ? waterConsumption.toFixed(0) : waterConsumption > 0 ? (waterConsumption / 3785.4118).toFixed(3) : 0;
|
|
345
345
|
};
|
|
346
|
+
exports.calculateWaterConsumption = calculateWaterConsumption;
|
|
346
347
|
var translateFlowRate = function translateFlowRate(flow_rate_unit) {
|
|
347
348
|
return _i18n.default.t("dashboard_v2.profile.flow_rate_unit_options.".concat(flow_rate_unit));
|
|
348
349
|
};
|
|
350
|
+
exports.translateFlowRate = translateFlowRate;
|
|
349
351
|
var handleMarkerClick = function handleMarkerClick(map, point, pointCustomIcon) {
|
|
350
352
|
map.on('zoomstart', function () {
|
|
351
353
|
map.closePopup();
|
|
@@ -383,4 +385,4 @@ var addLayerGroup = function addLayerGroup(map, layerGroup) {
|
|
|
383
385
|
}
|
|
384
386
|
};
|
|
385
387
|
exports.addLayerGroup = addLayerGroup;
|
|
386
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJ0eXBlIiwic2VjdG9yX25hbWUiLCJ3YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5IiwiY3JlYXRlQnViYmxlUG9pbnQiLCJtYXJrZXJMb2NhdGlvbiIsIm1hcCIsImhvdmVyZWQiLCJsYXllckdyb3VwIiwiZmxvd19yYXRlX3VuaXQiLCJzdWJ0aXRsZSIsInBvaW50Q3VzdG9tSWNvbiIsIkwiLCJtYXJrZXIiLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwicmlzZU9uSG92ZXIiLCJhZGRMYXllciIsImJpbmRQb3B1cFRvTWFya2VyIiwiaGFuZGxlTWFya2VyQ2xpY2siLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJpY29uQW5jaG9yIiwiZXZlbnRzQ291bnRJY29uIiwiX3pvb20iLCJvcGFjaXR5IiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiSWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJtYW5ob2xlSWNvbiIsIk1hcmtlciIsImJpbmRUb29sdGlwIiwibWF0Y2hJY29uVG9Qb2ludCIsImNvbWJpbmVkRmFjdG9yeUljb24iLCJtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSIsInVuc2hpZnQiLCJzZWxlY3RlZEJhY2tncm91bmQiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwic3RhbmRhcmRCYWNrZ3JvdW5kIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJjb21iaW5lZFdXVFBJY29uIiwicmVkUGluUmVkU2hhZG93Iiwid2F0ZXJJY29uTm9CYWNrZ3JvdW5kIiwicG9wdXBBbmNob3IiLCJjb21iaW5lZENvbGxlY3RvcnNJY29uIiwic2Vjb25kYXJ5IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwidGhpcmQiLCJ3aGl0ZVBpbkJsYWNrU2hhZG93IiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiZ3JlZW5DaXJjbGVVUkwiLCJwdW1wU3RhdGlvbkljb25VUkwiLCJjb2xsZWN0b3JJY29uIiwiYnJpZ2h0Qmx1ZUNpcmNsZVVSTCIsIldXVFBJY29uVVJMIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzb3VyY2UiLCJzb3VyY2VzIiwiZmlsdGVyIiwic2VsZWN0ZWRfc291cmNlIiwiY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQiLCJzZWNvbmRhcnlJY29uIiwic2FtcGxpbmdJY29uIiwiYmx1ZUNpcmNsZVVSTCIsInNhbXBsaW5nSWNvblVSTCIsInRoaXJkSWNvbiIsImZvckVhY2giLCJpbmRleCIsImNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50Iiwib2JzZXJ2YXRpb25JY29uIiwicGlua0NpcmNsZVVSTCIsIm9ic2VydmF0aW9uSWNvblVSTCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwiaW5jbHVkZXMiLCJwb3B1cENvbnRlbnQiLCJvYnMiLCJHcmFwaEljb24iLCJpMThuIiwidCIsInNldmVyaXR5Iiwic2V0SWNvbiIsImVsZW1lbnQiLCJjbGlja2VkIiwiY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiIsIndhdGVyQ29uc3VtcHRpb24iLCJ0b0ZpeGVkIiwidHJhbnNsYXRlRmxvd1JhdGUiLCJvbiIsImNsb3NlUG9wdXAiLCJjb250ZW50Iiwid2F0ZXJSZXVzZUljb24iLCJiaW5kUG9wdXAiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwiY2xvc2VCdXR0b24iLCJyZW1vdmVMYXllckdyb3VwIiwiaGFzTGF5ZXIiLCJyZW1vdmVMYXllciIsImFkZExheWVyR3JvdXAiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50VXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEdyYXBoSWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbGluZS1jaGFydC5zdmcnO1xuaW1wb3J0IEwsIHsgTGF0TG5nVHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBibHVlQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHNhbXBsaW5nSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvc2FtcGxpbmctaWNvbi5zdmcnO1xuaW1wb3J0IHBpbmtDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3BpbmstY2lyY2xlLnN2Zyc7XG5pbXBvcnQgb2JzZXJ2YXRpb25JY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9vYnNlcnZhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgcmVkUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9yZWQtcGluLXJlZC1zaGFkb3cucG5nJztcbmltcG9ydCB3aGl0ZVBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLXJlZC1zaGFkb3cucG5nJztcbmltcG9ydCB3aGl0ZVBpbkJsYWNrU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tYmxhY2stc2hhZG93LnBuZyc7XG5pbXBvcnQgeWVsbG93Q2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy95ZWxsb3ctY2lyY2xlLnN2Zyc7XG5pbXBvcnQgcGxhbnRJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9mYWN0b3J5LWljb24uc3ZnJztcbmltcG9ydCBncmVlbkNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZ3JlZW4tY2lyY2xlLnN2Zyc7XG5pbXBvcnQgcHVtcFN0YXRpb25JY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9wdW1wLXN0YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IGNvbGxlY3Rvckljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL21hcC9waW4td2F0ZXIuc3ZnJztcbmltcG9ydCBicmlnaHRCbHVlQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9icmlnaHQtYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBXV1RQSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvV1dUUC1pY29uLnN2Zyc7XG5pbXBvcnQgd2F0ZXJJY29uTm9CYWNrZ3JvdW5kIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93YXRlci1uby1iYWNrZ3JvdW5kLnN2Zyc7XG5pbXBvcnQgd2hpdGVQb2ludCBmcm9tICcuLi8uLi8uLi9hc3NldHMvd2hpdGUtcG9pbnQucG5nJztcbmltcG9ydCB7IGV2ZW50c0NvdW50SWNvbiB9IGZyb20gJy4uL01hcFV0aWxzJztcbmltcG9ydCB7IGdldFBvaW50SWNvbkJ5VHlwZSB9IGZyb20gJy4vUG9pbnRJY29uJztcbmltcG9ydCB3YXRlclJldXNlSWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvaWNvbnMvd2F0ZXJfcmV1c2Uuc3ZnJztcblxuZXhwb3J0IGNvbnN0IGlzQ29sbGVjdG9yRm9jdXNlZCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHJldHVybiAoXG4gICAgZXZlbnQ/Lm9ic2VydmF0aW9ucz8ubGVuZ3RoID09PSAxICYmXG4gICAgcG9pbnQuaWQgPT09IGV2ZW50Lm9ic2VydmF0aW9uc1swXS5wb2ludF9pZFxuICApO1xufTtcblxuY29uc3QgYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzdHJpbmcgPSBgJHtwb2ludC5ncm91cC5uYW1lfSBgO1xuXG4gIGlmIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jykge1xuICAgIHN0cmluZyArPSBgPGJyLz5TZWN0b3I6ICR7cG9pbnQuZ3JvdXAuc2VjdG9yX25hbWV9YDtcbiAgICBzdHJpbmcgKz0gYDxici8+V2F0ZXIgQ29uc3VtcHRpb246ICR7cG9pbnQuZ3JvdXAud2F0ZXJfY29uc3VtcHRpb25fcGVyX2RheX1gO1xuICB9IGVsc2Uge1xuICAgIHN0cmluZyA9IGAke3BvaW50Lm5hbWV9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59O1xuXG4vLyBAdHMtaWdub3JlXG4vLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuLy8gSWNvbkFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuZXhwb3J0IGNvbnN0IGNyZWF0ZUJ1YmJsZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuICBmbG93X3JhdGVfdW5pdD8sXG4pID0+IHtcbiAgY29uc3Qgc3VidGl0bGUgPVxuICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknID8gcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWUgOiAnJztcblxuICBsZXQgcG9pbnRDdXN0b21JY29uOiBMLk1hcmtlciA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBzdWJ0aXRsZSxcbiAgICAgIGZhbHNlLFxuICAgICAgZmFsc2UsXG4gICAgKSxcbiAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gIH0pO1xuICAvLyBAdHMtaWdub3JlXG4gIC8vIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcblxuICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIGlmIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jykge1xuICAgIGJpbmRQb3B1cFRvTWFya2VyKHBvaW50LCBwb2ludEN1c3RvbUljb24sIGZsb3dfcmF0ZV91bml0KTtcblxuICAgIC8vVGhlIGZvbGxvd2luZyBpcyBiZWluZyBjYWxsZWQgZm9yIGV2ZXJ5IHBvaW50LCB3ZSBzaG91bGQgZG8gdGhhdCBvbiB0aGUgbGF5ZXJHcm91cCBsZXZlbCB3aGljaCB3aWxsIGhhcHBlbiBvbmNlXG4gICAgLy9JdCBpcyBub3RpY2VkIHdoZW4gdGhlcmUgYXJlIHRob3VzYW5kcyBvZiBwb2ludHNcbiAgICBoYW5kbGVNYXJrZXJDbGljayhtYXAsIHBvaW50LCBwb2ludEN1c3RvbUljb24pO1xuICB9XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/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+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5sZXQgc2V0SWNvbiA9IChlbGVtZW50LCBjbGlja2VkLCBwb2ludCkgPT4ge1xuICBlbGVtZW50LnNldEljb24oXG4gICAgZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSxcbiAgICAgIGNsaWNrZWQsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICApO1xufTtcblxuY29uc3QgY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiA9IChmbG93X3JhdGVfdW5pdCwgd2F0ZXJDb25zdW1wdGlvbikgPT4ge1xuICByZXR1cm4gZmxvd19yYXRlX3VuaXQgPT09ICdtM2QnXG4gICAgPyB3YXRlckNvbnN1bXB0aW9uLnRvRml4ZWQoMClcbiAgICA6IHdhdGVyQ29uc3VtcHRpb24gPiAwXG4gICAgPyAod2F0ZXJDb25zdW1wdGlvbiAvIDM3ODUuNDExOCkudG9GaXhlZCgzKVxuICAgIDogMDtcbn07XG5cbmNvbnN0IHRyYW5zbGF0ZUZsb3dSYXRlID0gKGZsb3dfcmF0ZV91bml0KSA9PiB7XG4gIHJldHVybiBpMThuLnQoXG4gICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmZsb3dfcmF0ZV91bml0X29wdGlvbnMuJHtmbG93X3JhdGVfdW5pdH1gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU1hcmtlckNsaWNrID0gKG1hcCwgcG9pbnQsIHBvaW50Q3VzdG9tSWNvbikgPT4ge1xuICBtYXAub24oJ3pvb21zdGFydCcsIGZ1bmN0aW9uICgpIHtcbiAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwY2xvc2UnLCAoKSA9PiB7XG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIGZhbHNlLCBwb2ludCk7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBvcGVuJywgKCkgPT4ge1xuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCB0cnVlLCBwb2ludCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cFRvTWFya2VyID0gKHBvaW50LCBsYXllckdyb3VwLCBmbG93X3JhdGVfdW5pdCkgPT4ge1xuICBsZXQgY29udGVudCA9IGBcbiAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnQnPlxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcic+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3RpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQubmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX19zdWJ0aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHknPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX2ljb24nPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0nJHt3YXRlclJldXNlSWNvbn0nIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXMnPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3RpdGxlJz4ke2NhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24oXG4gICAgICAgICAgICAgICAgICAgIGZsb3dfcmF0ZV91bml0LFxuICAgICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC53YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5LFxuICAgICAgICAgICAgICAgICAgKX0gJHt0cmFuc2xhdGVGbG93UmF0ZShmbG93X3JhdGVfdW5pdCl9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fc3VidGl0bGUnPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAnd2F0ZXJfZGlzY2hhcmdlJyxcbiAgICAgICAgICAgICAgICAgICl9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgYDtcblxuICBsYXllckdyb3VwLmJpbmRQb3B1cChjb250ZW50LCB7XG4gICAgY2xhc3NOYW1lOiAncG9pbnQtbWFya2VyLXBvcHVwJyxcbiAgICBtaW5XaWR0aDogJzIxNHB4JyxcbiAgICBtYXhXaWR0aDogJzIxNHB4JyxcbiAgICBjbG9zZUJ1dHRvbjogZmFsc2UsXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUxheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmIChtYXAuaGFzTGF5ZXIobGF5ZXJHcm91cCkpIHtcbiAgICBtYXAucmVtb3ZlTGF5ZXIobGF5ZXJHcm91cCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBhZGRMYXllckdyb3VwID0gKG1hcCwgbGF5ZXJHcm91cCkgPT4ge1xuICBpZiAoIW1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5hZGRMYXllcihsYXllckdyb3VwKTtcbiAgfSBlbHNlIHtcbiAgICByZW1vdmVMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gICAgYWRkTGF5ZXJHcm91cChtYXAsIGxheWVyR3JvdXApO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUEyQyxJQUFBRSxXQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBRyxhQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBSSxXQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBSyxnQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBTzNDLElBQUFNLGdCQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxrQkFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsb0JBQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUF5RixJQUFBUyxhQUFBLEdBQUFWLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBVSxZQUFBLEdBQUFYLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBVyxZQUFBLEdBQUFaLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBWSxnQkFBQSxHQUFBYixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQWEsU0FBQSxHQUFBZCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQWMsaUJBQUEsR0FBQWYsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFlLFNBQUEsR0FBQWhCLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBZ0Isa0JBQUEsR0FBQWpCLHNCQUFBLENBQUFDLE9BQUE7QUFTekYsSUFBQWlCLFdBQUEsR0FBQWxC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
|
|
388
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJ0eXBlIiwic2VjdG9yX25hbWUiLCJ3YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5IiwiY3JlYXRlQnViYmxlUG9pbnQiLCJtYXJrZXJMb2NhdGlvbiIsIm1hcCIsImhvdmVyZWQiLCJsYXllckdyb3VwIiwiZmxvd19yYXRlX3VuaXQiLCJzdWJ0aXRsZSIsInBvaW50Q3VzdG9tSWNvbiIsIkwiLCJtYXJrZXIiLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwicmlzZU9uSG92ZXIiLCJhZGRMYXllciIsImJpbmRQb3B1cFRvTWFya2VyIiwiaGFuZGxlTWFya2VyQ2xpY2siLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJpY29uQW5jaG9yIiwiZXZlbnRzQ291bnRJY29uIiwiX3pvb20iLCJvcGFjaXR5IiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiSWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJtYW5ob2xlSWNvbiIsIk1hcmtlciIsImJpbmRUb29sdGlwIiwibWF0Y2hJY29uVG9Qb2ludCIsImNvbWJpbmVkRmFjdG9yeUljb24iLCJtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSIsInVuc2hpZnQiLCJzZWxlY3RlZEJhY2tncm91bmQiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwic3RhbmRhcmRCYWNrZ3JvdW5kIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJjb21iaW5lZFdXVFBJY29uIiwicmVkUGluUmVkU2hhZG93Iiwid2F0ZXJJY29uTm9CYWNrZ3JvdW5kIiwicG9wdXBBbmNob3IiLCJjb21iaW5lZENvbGxlY3RvcnNJY29uIiwic2Vjb25kYXJ5IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwidGhpcmQiLCJ3aGl0ZVBpbkJsYWNrU2hhZG93IiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiZ3JlZW5DaXJjbGVVUkwiLCJwdW1wU3RhdGlvbkljb25VUkwiLCJjb2xsZWN0b3JJY29uIiwiYnJpZ2h0Qmx1ZUNpcmNsZVVSTCIsIldXVFBJY29uVVJMIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzb3VyY2UiLCJzb3VyY2VzIiwiZmlsdGVyIiwic2VsZWN0ZWRfc291cmNlIiwiY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQiLCJzZWNvbmRhcnlJY29uIiwic2FtcGxpbmdJY29uIiwiYmx1ZUNpcmNsZVVSTCIsInNhbXBsaW5nSWNvblVSTCIsInRoaXJkSWNvbiIsImZvckVhY2giLCJpbmRleCIsImNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50Iiwib2JzZXJ2YXRpb25JY29uIiwicGlua0NpcmNsZVVSTCIsIm9ic2VydmF0aW9uSWNvblVSTCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwiaW5jbHVkZXMiLCJwb3B1cENvbnRlbnQiLCJvYnMiLCJHcmFwaEljb24iLCJpMThuIiwidCIsInNldmVyaXR5Iiwic2V0SWNvbiIsImVsZW1lbnQiLCJjbGlja2VkIiwiY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiIsIndhdGVyQ29uc3VtcHRpb24iLCJ0b0ZpeGVkIiwidHJhbnNsYXRlRmxvd1JhdGUiLCJvbiIsImNsb3NlUG9wdXAiLCJjb250ZW50Iiwid2F0ZXJSZXVzZUljb24iLCJiaW5kUG9wdXAiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwiY2xvc2VCdXR0b24iLCJyZW1vdmVMYXllckdyb3VwIiwiaGFzTGF5ZXIiLCJyZW1vdmVMYXllciIsImFkZExheWVyR3JvdXAiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50VXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEdyYXBoSWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbGluZS1jaGFydC5zdmcnO1xuaW1wb3J0IEwsIHsgTGF0TG5nVHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBibHVlQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHNhbXBsaW5nSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvc2FtcGxpbmctaWNvbi5zdmcnO1xuaW1wb3J0IHBpbmtDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3BpbmstY2lyY2xlLnN2Zyc7XG5pbXBvcnQgb2JzZXJ2YXRpb25JY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9vYnNlcnZhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgcmVkUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9yZWQtcGluLXJlZC1zaGFkb3cucG5nJztcbmltcG9ydCB3aGl0ZVBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLXJlZC1zaGFkb3cucG5nJztcbmltcG9ydCB3aGl0ZVBpbkJsYWNrU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tYmxhY2stc2hhZG93LnBuZyc7XG5pbXBvcnQgeWVsbG93Q2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy95ZWxsb3ctY2lyY2xlLnN2Zyc7XG5pbXBvcnQgcGxhbnRJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9mYWN0b3J5LWljb24uc3ZnJztcbmltcG9ydCBncmVlbkNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZ3JlZW4tY2lyY2xlLnN2Zyc7XG5pbXBvcnQgcHVtcFN0YXRpb25JY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9wdW1wLXN0YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IGNvbGxlY3Rvckljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL21hcC9waW4td2F0ZXIuc3ZnJztcbmltcG9ydCBicmlnaHRCbHVlQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9icmlnaHQtYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBXV1RQSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvV1dUUC1pY29uLnN2Zyc7XG5pbXBvcnQgd2F0ZXJJY29uTm9CYWNrZ3JvdW5kIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93YXRlci1uby1iYWNrZ3JvdW5kLnN2Zyc7XG5pbXBvcnQgd2hpdGVQb2ludCBmcm9tICcuLi8uLi8uLi9hc3NldHMvd2hpdGUtcG9pbnQucG5nJztcbmltcG9ydCB7IGV2ZW50c0NvdW50SWNvbiB9IGZyb20gJy4uL01hcFV0aWxzJztcbmltcG9ydCB7IGdldFBvaW50SWNvbkJ5VHlwZSB9IGZyb20gJy4vUG9pbnRJY29uJztcbmltcG9ydCB3YXRlclJldXNlSWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvaWNvbnMvd2F0ZXJfcmV1c2Uuc3ZnJztcblxuZXhwb3J0IGNvbnN0IGlzQ29sbGVjdG9yRm9jdXNlZCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHJldHVybiAoXG4gICAgZXZlbnQ/Lm9ic2VydmF0aW9ucz8ubGVuZ3RoID09PSAxICYmXG4gICAgcG9pbnQuaWQgPT09IGV2ZW50Lm9ic2VydmF0aW9uc1swXS5wb2ludF9pZFxuICApO1xufTtcblxuY29uc3QgYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzdHJpbmcgPSBgJHtwb2ludC5ncm91cC5uYW1lfSBgO1xuXG4gIGlmIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jykge1xuICAgIHN0cmluZyArPSBgPGJyLz5TZWN0b3I6ICR7cG9pbnQuZ3JvdXAuc2VjdG9yX25hbWV9YDtcbiAgICBzdHJpbmcgKz0gYDxici8+V2F0ZXIgQ29uc3VtcHRpb246ICR7cG9pbnQuZ3JvdXAud2F0ZXJfY29uc3VtcHRpb25fcGVyX2RheX1gO1xuICB9IGVsc2Uge1xuICAgIHN0cmluZyA9IGAke3BvaW50Lm5hbWV9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59O1xuXG4vLyBAdHMtaWdub3JlXG4vLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuLy8gSWNvbkFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuZXhwb3J0IGNvbnN0IGNyZWF0ZUJ1YmJsZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuICBmbG93X3JhdGVfdW5pdD8sXG4pID0+IHtcbiAgY29uc3Qgc3VidGl0bGUgPVxuICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknID8gcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWUgOiAnJztcblxuICBsZXQgcG9pbnRDdXN0b21JY29uOiBMLk1hcmtlciA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBzdWJ0aXRsZSxcbiAgICAgIGZhbHNlLFxuICAgICAgZmFsc2UsXG4gICAgKSxcbiAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gIH0pO1xuICAvLyBAdHMtaWdub3JlXG4gIC8vIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcblxuICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIGlmIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jykge1xuICAgIGJpbmRQb3B1cFRvTWFya2VyKHBvaW50LCBwb2ludEN1c3RvbUljb24sIGZsb3dfcmF0ZV91bml0KTtcblxuICAgIC8vVGhlIGZvbGxvd2luZyBpcyBiZWluZyBjYWxsZWQgZm9yIGV2ZXJ5IHBvaW50LCB3ZSBzaG91bGQgZG8gdGhhdCBvbiB0aGUgbGF5ZXJHcm91cCBsZXZlbCB3aGljaCB3aWxsIGhhcHBlbiBvbmNlXG4gICAgLy9JdCBpcyBub3RpY2VkIHdoZW4gdGhlcmUgYXJlIHRob3VzYW5kcyBvZiBwb2ludHNcbiAgICBoYW5kbGVNYXJrZXJDbGljayhtYXAsIHBvaW50LCBwb2ludEN1c3RvbUljb24pO1xuICB9XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/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+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5sZXQgc2V0SWNvbiA9IChlbGVtZW50LCBjbGlja2VkLCBwb2ludCkgPT4ge1xuICBlbGVtZW50LnNldEljb24oXG4gICAgZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSxcbiAgICAgIGNsaWNrZWQsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24gPSAoZmxvd19yYXRlX3VuaXQsIHdhdGVyQ29uc3VtcHRpb24pID0+IHtcbiAgcmV0dXJuIGZsb3dfcmF0ZV91bml0ID09PSAnbTNkJ1xuICAgID8gd2F0ZXJDb25zdW1wdGlvbi50b0ZpeGVkKDApXG4gICAgOiB3YXRlckNvbnN1bXB0aW9uID4gMFxuICAgID8gKHdhdGVyQ29uc3VtcHRpb24gLyAzNzg1LjQxMTgpLnRvRml4ZWQoMylcbiAgICA6IDA7XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlRmxvd1JhdGUgPSAoZmxvd19yYXRlX3VuaXQpID0+IHtcbiAgcmV0dXJuIGkxOG4udChcbiAgICBgZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy4ke2Zsb3dfcmF0ZV91bml0fWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTWFya2VyQ2xpY2sgPSAobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uKSA9PiB7XG4gIG1hcC5vbignem9vbXN0YXJ0JywgZnVuY3Rpb24gKCkge1xuICAgIG1hcC5jbG9zZVBvcHVwKCk7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBjbG9zZScsICgpID0+IHtcbiAgICBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgZmFsc2UsIHBvaW50KTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdwb3B1cG9wZW4nLCAoKSA9PiB7XG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIHRydWUsIHBvaW50KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYmluZFBvcHVwVG9NYXJrZXIgPSAocG9pbnQsIGxheWVyR3JvdXAsIGZsb3dfcmF0ZV91bml0KSA9PiB7XG4gIGxldCBjb250ZW50ID0gYFxuICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudCc+XG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyJz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc19fdGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICBwb2ludC5uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3N1YnRpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWVcbiAgICAgICAgICAgICAgICB9PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgXG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keSc+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW0nPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9faWNvbic+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPScke3dhdGVyUmV1c2VJY29ufScgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlcyc+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fdGl0bGUnPiR7Y2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbihcbiAgICAgICAgICAgICAgICAgICAgZmxvd19yYXRlX3VuaXQsXG4gICAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLndhdGVyX2NvbnN1bXB0aW9uX3Blcl9kYXksXG4gICAgICAgICAgICAgICAgICApfSAke3RyYW5zbGF0ZUZsb3dSYXRlKGZsb3dfcmF0ZV91bml0KX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzX19zdWJ0aXRsZSc+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICd3YXRlcl9kaXNjaGFyZ2UnLFxuICAgICAgICAgICAgICAgICAgKX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBgO1xuXG4gIGxheWVyR3JvdXAuYmluZFBvcHVwKGNvbnRlbnQsIHtcbiAgICBjbGFzc05hbWU6ICdwb2ludC1tYXJrZXItcG9wdXAnLFxuICAgIG1pbldpZHRoOiAnMjE0cHgnLFxuICAgIG1heFdpZHRoOiAnMjE0cHgnLFxuICAgIGNsb3NlQnV0dG9uOiBmYWxzZSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKG1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5yZW1vdmVMYXllcihsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZExheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmICghbWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLmFkZExheWVyKGxheWVyR3JvdXApO1xuICB9IGVsc2Uge1xuICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgICBhZGRMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQTJDLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFHLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFJLFdBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFLLGdCQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFPM0MsSUFBQU0sZ0JBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxvQkFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQXlGLElBQUFTLGFBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFVLFlBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFXLFlBQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFZLGdCQUFBLEdBQUFiLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBYSxTQUFBLEdBQUFkLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBYyxpQkFBQSxHQUFBZixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQWUsU0FBQSxHQUFBaEIsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFnQixrQkFBQSxHQUFBakIsc0JBQUEsQ0FBQUMsT0FBQTtBQVN6RixJQUFB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
|
|
@@ -12,7 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _reactRedux = require("react-redux");
|
|
13
13
|
var _StyledLink = require("components/Links/StyledLink/StyledLink");
|
|
14
14
|
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
15
|
-
var
|
|
15
|
+
var _scoreToData = require("utilities/scoreToData");
|
|
16
16
|
var _Truncate = _interopRequireDefault(require("utilities/Truncate"));
|
|
17
17
|
var _Analytics = require("utilities/Analytics");
|
|
18
18
|
var _PollutionScorePercent = require("../../components/PollutionScorePercent");
|
|
@@ -50,7 +50,7 @@ var AreaBox = function AreaBox(_ref) {
|
|
|
50
50
|
var up = area.pollution.polluted_percent_change >= 0;
|
|
51
51
|
var scoreText = _i18n.default.t('dashboard_v2.utility_dashboard.topbar.quality-summary.low');
|
|
52
52
|
var areaScore = parseFloat(area.area_score);
|
|
53
|
-
var mapColor = (0,
|
|
53
|
+
var mapColor = (0, _scoreToData.scoreToColor)(areaScore);
|
|
54
54
|
var show_use_cases = ((_area$use_cases = area.use_cases) === null || _area$use_cases === void 0 ? void 0 : _area$use_cases.length) > 0;
|
|
55
55
|
var location = (0, _reactRouterDom.useLocation)();
|
|
56
56
|
var tooltipData = _i18n.default.t('helpers.info_tooltip.pollution_score.main') + _i18n.default.t('helpers.info_tooltip.pollution_score.sub') + _i18n.default.t('helpers.info_tooltip.pollution_score.sub1');
|
|
@@ -161,4 +161,4 @@ var AlignCenter = _styledComponents.default.div.withConfig({
|
|
|
161
161
|
displayName: "AreaBox__AlignCenter",
|
|
162
162
|
componentId: "sc-teh2e3-0"
|
|
163
163
|
})(["display:flex;flex-direction:column;align-items:space-between;justify-content:space-between;font-size:14px;"]);
|
|
164
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9TdHlsZWRMaW5rIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3Njb3JlVG9Db2xvciIsIl9UcnVuY2F0ZSIsIl9BbmFseXRpY3MiLCJfUG9sbHV0aW9uU2NvcmVQZXJjZW50IiwiX1BvdGVudGlhbEltcGFjdCIsIl9NYXAiLCJfUGllQ2hhcnQiLCJfc3R5bGVzIiwiX0luZm9Ub29sdGlwIiwiX3JlYWN0Um91dGVyRG9tIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhQm94IiwiX3JlZiIsIl9hcmVhJHVzZV9jYXNlcyIsImFyZWEiLCJzaG93SW5mb1Rvb2x0aXAiLCJ0aXRsZVJlZiIsInVzZVJlZiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNob3dQaWVDaGFydCIsInNldFNob3dQaWVDaGFydCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZW5hYmxlVG9vbFRpcCIsInNldEVuYWJsZVRvb2x0aXAiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNob3dBbGwiLCJzZXRTaG93QWxsIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwicGVybWlzc2lvbnMiLCJ1dGlsaXRpZXNfZGFzaGJvYXJkIiwiZW5hYmxlX2FyZWFfbGlua3MiLCJ1cCIsInBvbGx1dGlvbiIsInBvbGx1dGVkX3BlcmNlbnRfY2hhbmdlIiwic2NvcmVUZXh0IiwiaTE4biIsInQiLCJhcmVhU2NvcmUiLCJwYXJzZUZsb2F0IiwiYXJlYV9zY29yZSIsIm1hcENvbG9yIiwic2NvcmVUb0NvbG9yIiwic2hvd191c2VfY2FzZXMiLCJ1c2VfY2FzZXMiLCJsZW5ndGgiLCJsb2NhdGlvbiIsInVzZUxvY2F0aW9uIiwidG9vbHRpcERhdGEiLCJ0b2dnbGVQb3RlbnRpYWxJbXBhY3RTdGF0ZXMiLCJldmVudCIsImFuYWx5dGljc1RyYWNrIiwic2VsZWN0aW9uIiwicGFnZV9uYW1lIiwicGF0aG5hbWUiLCJ1dGlsaXR5X25hbWUiLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsImlzX3N1Yl9hcmVhIiwibWFpbl9jb2xsZWN0b3JzIiwidXNlRWZmZWN0IiwiY3VycmVudCIsIm9mZnNldFdpZHRoIiwic2Nyb2xsV2lkdGgiLCJjcmVhdGVFbGVtZW50IiwiU3R5bGVkTGluayIsImNsYXNzTmFtZSIsInRvIiwiZGFzaGJvYXJkX3VybCIsIm9uQ2xpY2siLCJhcmVhX25hbWUiLCJCb3giLCJhcmVhX2lkIiwiY29uY2F0IiwicmVmIiwiY2hhcmFjdGVycyIsImluaGVyaXRUZXh0QWxpZ24iLCJ0b3RhbF9mYWN0b3JpZXMiLCJJbmZvVG9vbHRpcCIsInRpdGxlIiwiZGF0YSIsIkZyYWdtZW50IiwiUG9sbHV0aW9uU2NvcmVQZXJjZW50IiwiY2hhbmdlIiwiYXJlYUxlbmd0aCIsIlBvdGVudGlhbEltcGFjdCIsInNob3dfc3RhdGUiLCJ0b2dnbGVTaG93Iiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwiUGllQ2hhcnQiLCJxdWFsaXR5IiwidHlwZV9kaXN0cmlidXRpb24iLCJNYXAiLCJjb2xvciIsInBvaW50cyIsInNoYXBlX2RhdGEiLCJtYXJrZXJzIiwiZXhwb3J0cyIsIkFsaWduQ2VudGVyIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9Nb3N0UG9sbHV0aW5nL0FyZWFzL0FyZWFCb3gvQXJlYUJveC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgU3R5bGVkTGluayB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0xpbmtzL1N0eWxlZExpbmsvU3R5bGVkTGluayc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9zY29yZVRvQ29sb3InO1xuaW1wb3J0IFRydW5jYXRlIGZyb20gJ3NyYy91dGlsaXRpZXMvVHJ1bmNhdGUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJ3NyYy91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IFBvbGx1dGlvblNjb3JlUGVyY2VudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvUG9sbHV0aW9uU2NvcmVQZXJjZW50JztcbmltcG9ydCB7IFBvdGVudGlhbEltcGFjdCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvUG90ZW50aWFsSW1wYWN0JztcbmltcG9ydCB7IEFyZWEgfSBmcm9tICcuLi9hcmVhc1Jlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICcuL01hcC9NYXAnO1xuaW1wb3J0IHsgUGllQ2hhcnQgfSBmcm9tICcuL1BpZUNoYXJ0L1BpZUNoYXJ0JztcbmltcG9ydCB7IEJveCB9IGZyb20gJy4vc3R5bGVzJztcbmltcG9ydCB7IEluZm9Ub29sdGlwIH0gZnJvbSAnc3JjL3VpLWtpdC9JbmZvVG9vbHRpcC9JbmZvVG9vbHRpcCc7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5pbnRlcmZhY2UgQXJlYUJveFByb3BzIHtcbiAgYXJlYTogQXJlYTtcbiAgc2hvd0luZm9Ub29sdGlwOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgQXJlYUJveDogUmVhY3QuRkM8QXJlYUJveFByb3BzPiA9ICh7IGFyZWEsIHNob3dJbmZvVG9vbHRpcCB9KSA9PiB7XG4gIGNvbnN0IHRpdGxlUmVmOiBhbnkgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IFtzaG93UGllQ2hhcnQsIHNldFNob3dQaWVDaGFydF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtlbmFibGVUb29sVGlwLCBzZXRFbmFibGVUb29sdGlwXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dBbGwsIHNldFNob3dBbGxdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcbiAgY29uc3QgcGVybWlzc2lvbnMgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLnBlcm1pc3Npb25zLnV0aWxpdGllc19kYXNoYm9hcmQuZW5hYmxlX2FyZWFfbGlua3MsXG4gICk7XG5cbiAgY29uc3QgdXAgPSBhcmVhLnBvbGx1dGlvbi5wb2xsdXRlZF9wZXJjZW50X2NoYW5nZSA+PSAwO1xuICBsZXQgc2NvcmVUZXh0ID0gaTE4bi50KFxuICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS5sb3cnLFxuICApO1xuICBjb25zdCBhcmVhU2NvcmUgPSBwYXJzZUZsb2F0KGFyZWEuYXJlYV9zY29yZSk7XG4gIGxldCBtYXBDb2xvciA9IHNjb3JlVG9Db2xvcihhcmVhU2NvcmUpO1xuICBjb25zdCBzaG93X3VzZV9jYXNlcyA9IGFyZWEudXNlX2Nhc2VzPy5sZW5ndGggPiAwO1xuXG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICBjb25zdCB0b29sdGlwRGF0YSA9XG4gICAgaTE4bi50KCdoZWxwZXJzLmluZm9fdG9vbHRpcC5wb2xsdXRpb25fc2NvcmUubWFpbicpICtcbiAgICBpMThuLnQoJ2hlbHBlcnMuaW5mb190b29sdGlwLnBvbGx1dGlvbl9zY29yZS5zdWInKSArXG4gICAgaTE4bi50KCdoZWxwZXJzLmluZm9fdG9vbHRpcC5wb2xsdXRpb25fc2NvcmUuc3ViMScpO1xuXG4gIGNvbnN0IHRvZ2dsZVBvdGVudGlhbEltcGFjdFN0YXRlcyA9IChldmVudCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdQb3RlbnRpYWwgSW1wYWN0IENsaWNrZWQnLCB7XG4gICAgICBzZWxlY3Rpb246IHNob3dBbGwgPyAnU2hvdyBMZXNzJyA6ICdTaG93IEFsbCcsXG4gICAgICBwYWdlX25hbWU6IGxvY2F0aW9uLnBhdGhuYW1lLFxuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgc2V0U2hvd0FsbCghc2hvd0FsbCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfTtcblxuICBpZiAoYXJlYVNjb3JlICYmIGFyZWFTY29yZSA+PSAzMCkge1xuICAgIGlmIChhcmVhU2NvcmUgPCA1MCkge1xuICAgICAgc2NvcmVUZXh0ID0gaTE4bi50KFxuICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci5xdWFsaXR5LXN1bW1hcnkubWVkaXVtJyxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChhcmVhU2NvcmUgPCA3MCkge1xuICAgICAgc2NvcmVUZXh0ID0gaTE4bi50KFxuICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci5xdWFsaXR5LXN1bW1hcnkuaGlnaCcsXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoYXJlYVNjb3JlID49IDcwKSB7XG4gICAgICBzY29yZVRleHQgPSBpMThuLnQoXG4gICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS5leHRyZW1lJyxcbiAgICAgICk7XG4gICAgfVxuICB9IGVsc2UgaWYgKFxuICAgIGFyZWFTY29yZSA9PT0gLTEgfHxcbiAgICAoYXJlYS5pc19zdWJfYXJlYSAmJiBhcmVhLm1haW5fY29sbGVjdG9ycy5sZW5ndGggPT09IDApXG4gICkge1xuICAgIHNjb3JlVGV4dCA9IGkxOG4udChcbiAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS51bmRlZmluZWQnLFxuICAgICk7XG4gIH1cblxuICBpZiAoYXJlYS5pc19zdWJfYXJlYSAmJiBhcmVhLm1haW5fY29sbGVjdG9ycy5sZW5ndGggPT09IDApIHtcbiAgICBtYXBDb2xvciA9ICcjN2Y3ZjdmJztcbiAgfVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aXRsZVJlZikge1xuICAgICAgLy9jaGVjayBpZiB3ZSB3YW50IHRvIGVuYWJsZSB0b29sdGlwXG4gICAgICBzZXRFbmFibGVUb29sdGlwKFxuICAgICAgICB0aXRsZVJlZi5jdXJyZW50Lm9mZnNldFdpZHRoIDwgdGl0bGVSZWYuY3VycmVudC5zY3JvbGxXaWR0aCxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbdGl0bGVSZWZdKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRMaW5rXG4gICAgICBjbGFzc05hbWU9eyFwZXJtaXNzaW9ucyAmJiAnZGlzYWJsZWQtbGluayd9XG4gICAgICB0bz17YXJlYS5kYXNoYm9hcmRfdXJsfVxuICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICBhbmFseXRpY3NUcmFjaygnQXJlYSBjYXJkIGNsaWNrZWQnLCB7XG4gICAgICAgICAgYXJlYV9uYW1lOiBhcmVhLmFyZWFfbmFtZSxcbiAgICAgICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICAgICAgfSk7XG4gICAgICB9fVxuICAgID5cbiAgICAgIDxCb3ggdXA9e3VwfSBkYXRhLWFyZWEtaWQ9e2FyZWEuYXJlYV9pZH0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2BrZC10b3AgJHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgICAgICAgICAgIGZhbHNlICYmIGVuYWJsZVRvb2xUaXAgPyAnIGtkLXRvb2x0aXAnIDogJydcbiAgICAgICAgICB9YH1cbiAgICAgICAgICBkYXRhLXRleHQ9e2FyZWEuYXJlYV9uYW1lfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC1ib3gtbWFpbi10aXRsZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC10aXRsZVwiIHJlZj17dGl0bGVSZWZ9PlxuICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17MH0gaW5oZXJpdFRleHRBbGlnbj17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2FyZWEuYXJlYV9uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9UcnVuY2F0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtZmFjdG9yaWVzXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubW9zdC1wb2xsdXRpbmcuZmFjdG9yaWVzJyl9XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmYWN0b3JpZXMtbnVtXCI+XG4gICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgIHthcmVhLnRvdGFsX2ZhY3Rvcmllc31cbiAgICAgICAgICAgICAgeycnfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC1jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC1wZXJjZW50XCI+XG4gICAgICAgICAgICB7IXNob3dBbGwgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNjb3JlLWhvbGRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS5wb2xsdXRpb24tc2NvcmUnLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIHtzaG93SW5mb1Rvb2x0aXAgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC50b3BiYXIucXVhbGl0eS1zdW1tYXJ5LnBvbGx1dGlvbi1zY29yZScsXG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICBkYXRhPXt0b29sdGlwRGF0YX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDw+PC8+XG4gICAgICAgICAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicG9sbHV0aW9uLWhvbGRlclwiPlxuICAgICAgICAgICAgICAgICAgPFBvbGx1dGlvblNjb3JlUGVyY2VudFxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2U9e2FyZWEucG9sbHV0aW9uLnBvbGx1dGVkX3BlcmNlbnRfY2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICBhcmVhTGVuZ3RoPXtcbiAgICAgICAgICAgICAgICAgICAgICBhcmVhLmlzX3N1Yl9hcmVhID8gYXJlYS5tYWluX2NvbGxlY3RvcnMubGVuZ3RoIDogMVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNjb3JlVGV4dD17c2NvcmVUZXh0fVxuICAgICAgICAgICAgICAgICAgICBhcmVhU2NvcmU9e2FyZWFTY29yZX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHtzaG93X3VzZV9jYXNlcyAmJiAoXG4gICAgICAgICAgICAgICAgPFBvdGVudGlhbEltcGFjdFxuICAgICAgICAgICAgICAgICAgdXNlX2Nhc2VzPXthcmVhLnVzZV9jYXNlc31cbiAgICAgICAgICAgICAgICAgIHNob3dfc3RhdGU9e3Nob3dBbGx9XG4gICAgICAgICAgICAgICAgICB0b2dnbGVTaG93PXt0b2dnbGVQb3RlbnRpYWxJbXBhY3RTdGF0ZXN9XG4gICAgICAgICAgICAgICAgPjwvUG90ZW50aWFsSW1wYWN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibWFwLWhvbGRlclwiXG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHNldFNob3dQaWVDaGFydCh0cnVlKX1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gc2V0U2hvd1BpZUNoYXJ0KGZhbHNlKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7c2hvd1BpZUNoYXJ0ID8gKFxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJiYWNrXCI+XG4gICAgICAgICAgICAgICAgPFBpZUNoYXJ0IHF1YWxpdHk9e2FyZWEucG9sbHV0aW9uLnR5cGVfZGlzdHJpYnV0aW9ufSAvPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImtkLWZyb250XCI+XG4gICAgICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICAgICAgY29sb3I9e21hcENvbG9yfVxuICAgICAgICAgICAgICAgICAgcG9pbnRzPXthcmVhLnNoYXBlX2RhdGF9XG4gICAgICAgICAgICAgICAgICBtYXJrZXJzPXthcmVhLm1haW5fY29sbGVjdG9yc31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Cb3g+XG4gICAgPC9TdHlsZWRMaW5rPlxuICApO1xufTtcbi8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG5jb25zdCBBbGlnbkNlbnRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzcGFjZS1iZXR3ZWVuO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFD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
|
|
164
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9TdHlsZWRMaW5rIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3Njb3JlVG9EYXRhIiwiX1RydW5jYXRlIiwiX0FuYWx5dGljcyIsIl9Qb2xsdXRpb25TY29yZVBlcmNlbnQiLCJfUG90ZW50aWFsSW1wYWN0IiwiX01hcCIsIl9QaWVDaGFydCIsIl9zdHlsZXMiLCJfSW5mb1Rvb2x0aXAiLCJfcmVhY3RSb3V0ZXJEb20iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkFyZWFCb3giLCJfcmVmIiwiX2FyZWEkdXNlX2Nhc2VzIiwiYXJlYSIsInNob3dJbmZvVG9vbHRpcCIsInRpdGxlUmVmIiwidXNlUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2hvd1BpZUNoYXJ0Iiwic2V0U2hvd1BpZUNoYXJ0IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJlbmFibGVUb29sVGlwIiwic2V0RW5hYmxlVG9vbHRpcCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2hvd0FsbCIsInNldFNob3dBbGwiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJwZXJtaXNzaW9ucyIsInV0aWxpdGllc19kYXNoYm9hcmQiLCJlbmFibGVfYXJlYV9saW5rcyIsInVwIiwicG9sbHV0aW9uIiwicG9sbHV0ZWRfcGVyY2VudF9jaGFuZ2UiLCJzY29yZVRleHQiLCJpMThuIiwidCIsImFyZWFTY29yZSIsInBhcnNlRmxvYXQiLCJhcmVhX3Njb3JlIiwibWFwQ29sb3IiLCJzY29yZVRvQ29sb3IiLCJzaG93X3VzZV9jYXNlcyIsInVzZV9jYXNlcyIsImxlbmd0aCIsImxvY2F0aW9uIiwidXNlTG9jYXRpb24iLCJ0b29sdGlwRGF0YSIsInRvZ2dsZVBvdGVudGlhbEltcGFjdFN0YXRlcyIsImV2ZW50IiwiYW5hbHl0aWNzVHJhY2siLCJzZWxlY3Rpb24iLCJwYWdlX25hbWUiLCJwYXRobmFtZSIsInV0aWxpdHlfbmFtZSIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiaXNfc3ViX2FyZWEiLCJtYWluX2NvbGxlY3RvcnMiLCJ1c2VFZmZlY3QiLCJjdXJyZW50Iiwib2Zmc2V0V2lkdGgiLCJzY3JvbGxXaWR0aCIsImNyZWF0ZUVsZW1lbnQiLCJTdHlsZWRMaW5rIiwiY2xhc3NOYW1lIiwidG8iLCJkYXNoYm9hcmRfdXJsIiwib25DbGljayIsImFyZWFfbmFtZSIsIkJveCIsImFyZWFfaWQiLCJjb25jYXQiLCJyZWYiLCJjaGFyYWN0ZXJzIiwiaW5oZXJpdFRleHRBbGlnbiIsInRvdGFsX2ZhY3RvcmllcyIsIkluZm9Ub29sdGlwIiwidGl0bGUiLCJkYXRhIiwiRnJhZ21lbnQiLCJQb2xsdXRpb25TY29yZVBlcmNlbnQiLCJjaGFuZ2UiLCJhcmVhTGVuZ3RoIiwiUG90ZW50aWFsSW1wYWN0Iiwic2hvd19zdGF0ZSIsInRvZ2dsZVNob3ciLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJQaWVDaGFydCIsInF1YWxpdHkiLCJ0eXBlX2Rpc3RyaWJ1dGlvbiIsIk1hcCIsImNvbG9yIiwicG9pbnRzIiwic2hhcGVfZGF0YSIsIm1hcmtlcnMiLCJleHBvcnRzIiwiQWxpZ25DZW50ZXIiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01vc3RQb2xsdXRpbmcvQXJlYXMvQXJlYUJveC9BcmVhQm94LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBTdHlsZWRMaW5rIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvTGlua3MvU3R5bGVkTGluay9TdHlsZWRMaW5rJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBzY29yZVRvQ29sb3IgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCBUcnVuY2F0ZSBmcm9tICdzcmMvdXRpbGl0aWVzL1RydW5jYXRlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyBQb2xsdXRpb25TY29yZVBlcmNlbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1BvbGx1dGlvblNjb3JlUGVyY2VudCc7XG5pbXBvcnQgeyBQb3RlbnRpYWxJbXBhY3QgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1BvdGVudGlhbEltcGFjdCc7XG5pbXBvcnQgeyBBcmVhIH0gZnJvbSAnLi4vYXJlYXNSZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnLi9NYXAvTWFwJztcbmltcG9ydCB7IFBpZUNoYXJ0IH0gZnJvbSAnLi9QaWVDaGFydC9QaWVDaGFydCc7XG5pbXBvcnQgeyBCb3ggfSBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQgeyBJbmZvVG9vbHRpcCB9IGZyb20gJ3NyYy91aS1raXQvSW5mb1Rvb2x0aXAvSW5mb1Rvb2x0aXAnO1xuaW1wb3J0IHsgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuaW50ZXJmYWNlIEFyZWFCb3hQcm9wcyB7XG4gIGFyZWE6IEFyZWE7XG4gIHNob3dJbmZvVG9vbHRpcDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IEFyZWFCb3g6IFJlYWN0LkZDPEFyZWFCb3hQcm9wcz4gPSAoeyBhcmVhLCBzaG93SW5mb1Rvb2x0aXAgfSkgPT4ge1xuICBjb25zdCB0aXRsZVJlZjogYW55ID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBbc2hvd1BpZUNoYXJ0LCBzZXRTaG93UGllQ2hhcnRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbZW5hYmxlVG9vbFRpcCwgc2V0RW5hYmxlVG9vbHRpcF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93QWxsLCBzZXRTaG93QWxsXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlOYW1lID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICk7XG4gIGNvbnN0IHBlcm1pc3Npb25zID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy51dGlsaXRpZXNfZGFzaGJvYXJkLmVuYWJsZV9hcmVhX2xpbmtzLFxuICApO1xuXG4gIGNvbnN0IHVwID0gYXJlYS5wb2xsdXRpb24ucG9sbHV0ZWRfcGVyY2VudF9jaGFuZ2UgPj0gMDtcbiAgbGV0IHNjb3JlVGV4dCA9IGkxOG4udChcbiAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci5xdWFsaXR5LXN1bW1hcnkubG93JyxcbiAgKTtcbiAgY29uc3QgYXJlYVNjb3JlID0gcGFyc2VGbG9hdChhcmVhLmFyZWFfc2NvcmUpO1xuICBsZXQgbWFwQ29sb3IgPSBzY29yZVRvQ29sb3IoYXJlYVNjb3JlKTtcbiAgY29uc3Qgc2hvd191c2VfY2FzZXMgPSBhcmVhLnVzZV9jYXNlcz8ubGVuZ3RoID4gMDtcblxuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgY29uc3QgdG9vbHRpcERhdGEgPVxuICAgIGkxOG4udCgnaGVscGVycy5pbmZvX3Rvb2x0aXAucG9sbHV0aW9uX3Njb3JlLm1haW4nKSArXG4gICAgaTE4bi50KCdoZWxwZXJzLmluZm9fdG9vbHRpcC5wb2xsdXRpb25fc2NvcmUuc3ViJykgK1xuICAgIGkxOG4udCgnaGVscGVycy5pbmZvX3Rvb2x0aXAucG9sbHV0aW9uX3Njb3JlLnN1YjEnKTtcblxuICBjb25zdCB0b2dnbGVQb3RlbnRpYWxJbXBhY3RTdGF0ZXMgPSAoZXZlbnQpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnUG90ZW50aWFsIEltcGFjdCBDbGlja2VkJywge1xuICAgICAgc2VsZWN0aW9uOiBzaG93QWxsID8gJ1Nob3cgTGVzcycgOiAnU2hvdyBBbGwnLFxuICAgICAgcGFnZV9uYW1lOiBsb2NhdGlvbi5wYXRobmFtZSxcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIHNldFNob3dBbGwoIXNob3dBbGwpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH07XG5cbiAgaWYgKGFyZWFTY29yZSAmJiBhcmVhU2NvcmUgPj0gMzApIHtcbiAgICBpZiAoYXJlYVNjb3JlIDwgNTApIHtcbiAgICAgIHNjb3JlVGV4dCA9IGkxOG4udChcbiAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC50b3BiYXIucXVhbGl0eS1zdW1tYXJ5Lm1lZGl1bScsXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoYXJlYVNjb3JlIDwgNzApIHtcbiAgICAgIHNjb3JlVGV4dCA9IGkxOG4udChcbiAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC50b3BiYXIucXVhbGl0eS1zdW1tYXJ5LmhpZ2gnLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGFyZWFTY29yZSA+PSA3MCkge1xuICAgICAgc2NvcmVUZXh0ID0gaTE4bi50KFxuICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci5xdWFsaXR5LXN1bW1hcnkuZXh0cmVtZScsXG4gICAgICApO1xuICAgIH1cbiAgfSBlbHNlIGlmIChcbiAgICBhcmVhU2NvcmUgPT09IC0xIHx8XG4gICAgKGFyZWEuaXNfc3ViX2FyZWEgJiYgYXJlYS5tYWluX2NvbGxlY3RvcnMubGVuZ3RoID09PSAwKVxuICApIHtcbiAgICBzY29yZVRleHQgPSBpMThuLnQoXG4gICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci5xdWFsaXR5LXN1bW1hcnkudW5kZWZpbmVkJyxcbiAgICApO1xuICB9XG5cbiAgaWYgKGFyZWEuaXNfc3ViX2FyZWEgJiYgYXJlYS5tYWluX2NvbGxlY3RvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgbWFwQ29sb3IgPSAnIzdmN2Y3Zic7XG4gIH1cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGl0bGVSZWYpIHtcbiAgICAgIC8vY2hlY2sgaWYgd2Ugd2FudCB0byBlbmFibGUgdG9vbHRpcFxuICAgICAgc2V0RW5hYmxlVG9vbHRpcChcbiAgICAgICAgdGl0bGVSZWYuY3VycmVudC5vZmZzZXRXaWR0aCA8IHRpdGxlUmVmLmN1cnJlbnQuc2Nyb2xsV2lkdGgsXG4gICAgICApO1xuICAgIH1cbiAgfSwgW3RpdGxlUmVmXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkTGlua1xuICAgICAgY2xhc3NOYW1lPXshcGVybWlzc2lvbnMgJiYgJ2Rpc2FibGVkLWxpbmsnfVxuICAgICAgdG89e2FyZWEuZGFzaGJvYXJkX3VybH1cbiAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgYW5hbHl0aWNzVHJhY2soJ0FyZWEgY2FyZCBjbGlja2VkJywge1xuICAgICAgICAgIGFyZWFfbmFtZTogYXJlYS5hcmVhX25hbWUsXG4gICAgICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgfX1cbiAgICA+XG4gICAgICA8Qm94IHVwPXt1cH0gZGF0YS1hcmVhLWlkPXthcmVhLmFyZWFfaWR9PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPXtga2QtdG9wICR7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc3RhbnQtY29uZGl0aW9uXG4gICAgICAgICAgICBmYWxzZSAmJiBlbmFibGVUb29sVGlwID8gJyBrZC10b29sdGlwJyA6ICcnXG4gICAgICAgICAgfWB9XG4gICAgICAgICAgZGF0YS10ZXh0PXthcmVhLmFyZWFfbmFtZX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtYm94LW1haW4tdGl0bGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtdGl0bGVcIiByZWY9e3RpdGxlUmVmfT5cbiAgICAgICAgICAgICAgPFRydW5jYXRlIGNoYXJhY3RlcnM9ezB9IGluaGVyaXRUZXh0QWxpZ249e3RydWV9PlxuICAgICAgICAgICAgICAgIDxzcGFuPnthcmVhLmFyZWFfbmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvVHJ1bmNhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImtkLWZhY3Rvcmllc1wiPlxuICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLm1vc3QtcG9sbHV0aW5nLmZhY3RvcmllcycpfVxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZmFjdG9yaWVzLW51bVwiPlxuICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICB7YXJlYS50b3RhbF9mYWN0b3JpZXN9XG4gICAgICAgICAgICAgIHsnJ31cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtY29udGVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtcGVyY2VudFwiPlxuICAgICAgICAgICAgeyFzaG93QWxsICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzY29yZS1ob2xkZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICB7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci5xdWFsaXR5LXN1bW1hcnkucG9sbHV0aW9uLXNjb3JlJyxcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICB7c2hvd0luZm9Ub29sdGlwICYmIChcbiAgICAgICAgICAgICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU9e2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS5wb2xsdXRpb24tc2NvcmUnLFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YT17dG9vbHRpcERhdGF9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8PjwvPlxuICAgICAgICAgICAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBvbGx1dGlvbi1ob2xkZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxQb2xsdXRpb25TY29yZVBlcmNlbnRcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlPXthcmVhLnBvbGx1dGlvbi5wb2xsdXRlZF9wZXJjZW50X2NoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgYXJlYUxlbmd0aD17XG4gICAgICAgICAgICAgICAgICAgICAgYXJlYS5pc19zdWJfYXJlYSA/IGFyZWEubWFpbl9jb2xsZWN0b3JzLmxlbmd0aCA6IDFcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzY29yZVRleHQ9e3Njb3JlVGV4dH1cbiAgICAgICAgICAgICAgICAgICAgYXJlYVNjb3JlPXthcmVhU2NvcmV9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7c2hvd191c2VfY2FzZXMgJiYgKFxuICAgICAgICAgICAgICAgIDxQb3RlbnRpYWxJbXBhY3RcbiAgICAgICAgICAgICAgICAgIHVzZV9jYXNlcz17YXJlYS51c2VfY2FzZXN9XG4gICAgICAgICAgICAgICAgICBzaG93X3N0YXRlPXtzaG93QWxsfVxuICAgICAgICAgICAgICAgICAgdG9nZ2xlU2hvdz17dG9nZ2xlUG90ZW50aWFsSW1wYWN0U3RhdGVzfVxuICAgICAgICAgICAgICAgID48L1BvdGVudGlhbEltcGFjdD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1hcC1ob2xkZXJcIlxuICAgICAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiBzZXRTaG93UGllQ2hhcnQodHJ1ZSl9XG4gICAgICAgICAgICBvbk1vdXNlTGVhdmU9eygpID0+IHNldFNob3dQaWVDaGFydChmYWxzZSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3Nob3dQaWVDaGFydCA/IChcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYmFja1wiPlxuICAgICAgICAgICAgICAgIDxQaWVDaGFydCBxdWFsaXR5PXthcmVhLnBvbGx1dGlvbi50eXBlX2Rpc3RyaWJ1dGlvbn0gLz5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC1mcm9udFwiPlxuICAgICAgICAgICAgICAgIDxNYXBcbiAgICAgICAgICAgICAgICAgIGNvbG9yPXttYXBDb2xvcn1cbiAgICAgICAgICAgICAgICAgIHBvaW50cz17YXJlYS5zaGFwZV9kYXRhfVxuICAgICAgICAgICAgICAgICAgbWFya2Vycz17YXJlYS5tYWluX2NvbGxlY3RvcnN9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvQm94PlxuICAgIDwvU3R5bGVkTGluaz5cbiAgKTtcbn07XG4vL2VzbGludC1kaXNhYmxlLW5leHQtbGluZVxuY29uc3QgQWxpZ25DZW50ZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogc3BhY2UtYmV0d2VlbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1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
|
|
@@ -8,7 +8,7 @@ exports.PollutionScorePercent = void 0;
|
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
11
|
-
var
|
|
11
|
+
var _scoreToData = require("utilities/scoreToData");
|
|
12
12
|
var _polished = require("polished");
|
|
13
13
|
var PollutionScorePercent = function PollutionScorePercent(_ref) {
|
|
14
14
|
var change = _ref.change,
|
|
@@ -82,18 +82,18 @@ var Wrapper = _styledComponents.default.div.withConfig({
|
|
|
82
82
|
componentId: "sc-v1071d-1"
|
|
83
83
|
})(["color:", ";.score-level{background-color:", ";border:1px solid ", ";}.score-level-divider{border-left:1px solid ", ";}.scoreArrow{color:", ";}"], function (_ref2) {
|
|
84
84
|
var areaScore = _ref2.areaScore;
|
|
85
|
-
return (0,
|
|
85
|
+
return (0, _scoreToData.scoreToColor)(areaScore);
|
|
86
86
|
}, function (_ref3) {
|
|
87
87
|
var areaScore = _ref3.areaScore;
|
|
88
|
-
return (0, _polished.mix)(0.9, '#FFFFFF', (0,
|
|
88
|
+
return (0, _polished.mix)(0.9, '#FFFFFF', (0, _scoreToData.scoreToColor)(areaScore));
|
|
89
89
|
}, function (_ref4) {
|
|
90
90
|
var areaScore = _ref4.areaScore;
|
|
91
|
-
return (0,
|
|
91
|
+
return (0, _scoreToData.scoreToColor)(areaScore);
|
|
92
92
|
}, function (_ref5) {
|
|
93
93
|
var areaScore = _ref5.areaScore;
|
|
94
|
-
return (0,
|
|
94
|
+
return (0, _scoreToData.scoreToColor)(areaScore);
|
|
95
95
|
}, function (_ref6) {
|
|
96
96
|
var up = _ref6.up;
|
|
97
97
|
return up ? '#1db232' : '#f6004f';
|
|
98
98
|
});
|
|
99
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pMThuIiwiX3Njb3JlVG9EYXRhIiwiX3BvbGlzaGVkIiwiUG9sbHV0aW9uU2NvcmVQZXJjZW50IiwiX3JlZiIsImNoYW5nZSIsImFyZWFMZW5ndGgiLCJzY29yZVRleHQiLCJhcmVhU2NvcmUiLCJ1cCIsInJlbmRlcl9zY29yZV91bmRlZmluZWQiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImkxOG4iLCJ0IiwicmVuZGVyVmFsdWUiLCJzY29yZSIsInJlbmRlcl9zY29yZV92YWx1ZSIsInJlbmRlcl9ub19jaGFuZ2UiLCJyZW5kZXJfY2hhbmdlX3VuZGVmaW5lZCIsInJlbmRlcl9jaGFuZ2VfdmFsdWUiLCJGcmFnbWVudCIsIk1hdGgiLCJhYnMiLCJyZW5kZXJDaGFuZ2UiLCJzZXRfdmFsdWUiLCJjb25jYXQiLCJyb3VuZCIsIldyYXBwZXIiLCJQZXJjZW50QW5kSWNvbnMiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmMiIsInNjb3JlVG9Db2xvciIsIl9yZWYzIiwibWl4IiwiX3JlZjQiLCJfcmVmNSIsIl9yZWY2Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTW9zdFBvbGx1dGluZy9jb21wb25lbnRzL1BvbGx1dGlvblNjb3JlUGVyY2VudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHNjb3JlVG9Db2xvciB9IGZyb20gJ3NyYy91dGlsaXRpZXMvc2NvcmVUb0RhdGEnO1xuaW1wb3J0IHsgbWl4IH0gZnJvbSAncG9saXNoZWQnO1xuXG5pbnRlcmZhY2UgUG9sbHV0aW9uU2NvcmVQZXJjZW50UHJvcHMge1xuICBhcmVhTGVuZ3RoOiBudW1iZXI7XG4gIGFyZWFTY29yZTogbnVtYmVyO1xuICBjaGFuZ2U6IG51bWJlcjtcbiAgc2NvcmVUZXh0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBQb2xsdXRpb25TY29yZVBlcmNlbnQ6IFJlYWN0LkZDPFBvbGx1dGlvblNjb3JlUGVyY2VudFByb3BzPiA9ICh7XG4gIGNoYW5nZSxcbiAgYXJlYUxlbmd0aCxcbiAgc2NvcmVUZXh0LFxuICBhcmVhU2NvcmUsXG59KSA9PiB7XG4gIGNvbnN0IHVwID0gY2hhbmdlID49IDA7XG5cbiAgY29uc3QgcmVuZGVyX3Njb3JlX3VuZGVmaW5lZCA9IChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBwLWhvbGRlclwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzY29yZS1sZXZlbFwiPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzY29yZS1pdGVtXCI+XG4gICAgICAgICAge2kxOG4udChcbiAgICAgICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS51bmRlZmluZWQnLFxuICAgICAgICAgICl9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xuXG4gIGNvbnN0IHJlbmRlclZhbHVlID0gKHNjb3JlKSA9PiB7XG4gICAgc3dpdGNoIChzY29yZSkge1xuICAgICAgY2FzZSAtMTpcbiAgICAgIGNhc2UgMDpcbiAgICAgICAgcmV0dXJuIHJlbmRlcl9zY29yZV91bmRlZmluZWQ7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gcmVuZGVyX3Njb3JlX3ZhbHVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCByZW5kZXJfbm9fY2hhbmdlID0gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibm8tY2hhbmdlXCI+XG4gICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubm9fY2hhbmdlJyl9XG4gICAgPC9kaXY+XG4gICk7XG5cbiAgY29uc3QgcmVuZGVyX2NoYW5nZV91bmRlZmluZWQgPSAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJuby1jaGFuZ2VcIj5cbiAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5uYScpfVxuICAgIDwvZGl2PlxuICApO1xuXG4gIGNvbnN0IHJlbmRlcl9jaGFuZ2VfdmFsdWUgPSAoY2hhbmdlKSA9PiAoXG4gICAgPD5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInBvbGx1dGlvblBlcmNlbnRcIj57TWF0aC5hYnMoY2hhbmdlKX0lPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic2NvcmVBcnJvd1wiPnt1cCA/ICdcXHUyMTkzJyA6ICdcXHUyMTkxJ308L3NwYW4+XG4gICAgPC8+XG4gICk7XG5cbiAgY29uc3QgcmVuZGVyQ2hhbmdlID0gKGNoYW5nZSkgPT4ge1xuICAgIHN3aXRjaCAoY2hhbmdlKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIHJldHVybiByZW5kZXJfbm9fY2hhbmdlO1xuICAgICAgY2FzZSAtOTk5OlxuICAgICAgICByZXR1cm4gcmVuZGVyX2NoYW5nZV91bmRlZmluZWQ7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gcmVuZGVyX2NoYW5nZV92YWx1ZShjaGFuZ2UpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBzZXRfdmFsdWUgPSByZW5kZXJDaGFuZ2UoY2hhbmdlKTtcblxuICBjb25zdCByZW5kZXJfc2NvcmVfdmFsdWUgPSAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwcC1ob2xkZXJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2NvcmUtbGV2ZWxcIj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic2NvcmUtaXRlbVwiPntzY29yZVRleHR9PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzY29yZS1sZXZlbC1kaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzY29yZS1pdGVtXCI+XG4gICAgICAgICAge2FyZWFTY29yZSA+IC0xICYmIGFyZWFMZW5ndGggIT09IDAgJiYgYCR7TWF0aC5yb3VuZChhcmVhU2NvcmUpfWB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAge3NldF92YWx1ZX1cbiAgICA8L2Rpdj5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxXcmFwcGVyIGFyZWFTY29yZT17YXJlYVNjb3JlfSB1cD17dXB9PlxuICAgICAgPFBlcmNlbnRBbmRJY29ucz57cmVuZGVyVmFsdWUoYXJlYVNjb3JlKX08L1BlcmNlbnRBbmRJY29ucz5cbiAgICA8L1dyYXBwZXI+XG4gICk7XG59O1xuXG5jb25zdCBQZXJjZW50QW5kSWNvbnMgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogZml0LWNvbnRlbnQ7XG5gO1xuXG5jb25zdCBXcmFwcGVyID0gc3R5bGVkLmRpdjx7IGFyZWFTY29yZTogbnVtYmVyOyB1cDogYm9vbGVhbiB9PmBcbiAgY29sb3I6ICR7KHsgYXJlYVNjb3JlIH0pID0+IHNjb3JlVG9Db2xvcihhcmVhU2NvcmUpfTtcblxuICAuc2NvcmUtbGV2ZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgYXJlYVNjb3JlIH0pID0+XG4gICAgICBtaXgoMC45LCAnI0ZGRkZGRicsIHNjb3JlVG9Db2xvcihhcmVhU2NvcmUpKX07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyBhcmVhU2NvcmUgfSkgPT4gc2NvcmVUb0NvbG9yKGFyZWFTY29yZSl9O1xuICB9XG4gIC5zY29yZS1sZXZlbC1kaXZpZGVyIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7KHsgYXJlYVNjb3JlIH0pID0+IHNjb3JlVG9Db2xvcihhcmVhU2NvcmUpfTtcbiAgfVxuICAuc2NvcmVBcnJvdyB7XG4gICAgY29sb3I6ICR7KHsg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
|