@kando-env/kando-ui 1.2.135-alpha.10 → 1.2.135-alpha.12
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/Router.js +17 -3
- package/lib/Widgets/Map/Map.js +6 -4
- package/lib/Widgets/Map/Map.scss +17 -0
- package/lib/Widgets/Map/MapUtils.js +37 -13
- package/lib/Widgets/Map/events/EventUtils.js +2 -2
- package/lib/Widgets/Map/points/PointMarkers.js +4 -4
- package/lib/components/Header/Slideshow/Slideshow.js +234 -0
- package/lib/components/Header/Slideshow/index.js +14 -0
- package/lib/components/Header/Slideshow/styles.scss +70 -0
- package/lib/components/Header/Toolbar/Toolbar.js +4 -2
- package/lib/i18n/en.json +23 -3
- package/lib/i18n/en_uk.json +15 -3
- package/lib/i18n/fr.json +1 -1
- package/lib/i18n/he.json +21 -1
- package/lib/i18n/it.json +1 -1
- package/lib/macros/getVersion.js +1 -1
- package/lib/pages/AssessmentPage/AssessmentPage.js +136 -0
- package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +2 -1
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +4 -2
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +25 -26
- package/lib/pages/NotificationsPageV2/notificationUtils.js +24 -11
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +2 -2
- package/lib/providers/Slideshow/SlideshowContext.js +27 -0
- package/lib/providers/Slideshow/SlideshowProvider.js +68 -0
- package/lib/providers/Slideshow/SlideshowRunner.js +50 -0
- package/package.json +1 -1
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _reactRedux = require("react-redux");
|
|
19
|
+
|
|
20
|
+
var _actions = require("store/context/actions");
|
|
21
|
+
|
|
22
|
+
var _Analytics = require("../../utilities/Analytics");
|
|
23
|
+
|
|
24
|
+
var _Map = require("../../Widgets/Map/Map");
|
|
25
|
+
|
|
26
|
+
var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
|
|
27
|
+
|
|
28
|
+
var _theme = require("../../styles/theme/theme");
|
|
29
|
+
|
|
30
|
+
var _useNavContext2 = require("../../hooks/useNavContext");
|
|
31
|
+
|
|
32
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
+
|
|
34
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
+
|
|
36
|
+
var AssessmentPage = function AssessmentPage() {
|
|
37
|
+
var waterAuthorityName = (0, _reactRedux.useSelector)(function (state) {
|
|
38
|
+
return state.global_data.waterAuthorityName;
|
|
39
|
+
});
|
|
40
|
+
var waterAuthorityId = (0, _reactRedux.useSelector)(function (state) {
|
|
41
|
+
return state.global_data.waterAuthorityId;
|
|
42
|
+
});
|
|
43
|
+
var global_data = (0, _reactRedux.useSelector)(function (state) {
|
|
44
|
+
return state.global_data;
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
var _useState = (0, _react.useState)([]),
|
|
48
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
49
|
+
data = _useState2[0],
|
|
50
|
+
setData = _useState2[1];
|
|
51
|
+
|
|
52
|
+
var _useNavContext = (0, _useNavContext2.useNavContext)(),
|
|
53
|
+
isRtl = _useNavContext.isRtl;
|
|
54
|
+
|
|
55
|
+
var dispatch = (0, _reactRedux.useDispatch)();
|
|
56
|
+
|
|
57
|
+
var fetchData = function fetchData(url, setData) {
|
|
58
|
+
fetch(url).then(function (response) {
|
|
59
|
+
return response.json();
|
|
60
|
+
}).then(function (result) {
|
|
61
|
+
return setData(result);
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
var initialize = function initialize() {
|
|
66
|
+
fetchData("/assessment_page/areas_data?water_authority_id=".concat(waterAuthorityId), setData);
|
|
67
|
+
(0, _Analytics.analyticsTrack)('Viewed Assessment Page', {
|
|
68
|
+
utility_name: waterAuthorityName
|
|
69
|
+
});
|
|
70
|
+
dispatch((0, _actions.updateNavContext)({
|
|
71
|
+
name: 'assessment_page'
|
|
72
|
+
}));
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
var shouldInitialize = function shouldInitialize() {
|
|
76
|
+
return waterAuthorityId !== undefined && data.length === 0;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
var shouldLoadMap = function shouldLoadMap() {
|
|
80
|
+
return data.length !== 0;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
(0, _react.useEffect)(function () {
|
|
84
|
+
shouldInitialize() && initialize();
|
|
85
|
+
}, [waterAuthorityId, data]);
|
|
86
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
87
|
+
className: "app-wrapper assessment-page"
|
|
88
|
+
}, shouldLoadMap() && /*#__PURE__*/_react.default.createElement(MapTableContainer, {
|
|
89
|
+
isRtl: isRtl
|
|
90
|
+
}, /*#__PURE__*/_react.default.createElement(_Map.Map, {
|
|
91
|
+
areas: data,
|
|
92
|
+
global_data: global_data,
|
|
93
|
+
edges: [],
|
|
94
|
+
points: []
|
|
95
|
+
}), /*#__PURE__*/_react.default.createElement(LegendContainer, {
|
|
96
|
+
isRtl: isRtl
|
|
97
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
98
|
+
className: 'legend'
|
|
99
|
+
}, /*#__PURE__*/_react.default.createElement("p", {
|
|
100
|
+
className: 'header'
|
|
101
|
+
}, _i18n.default.t('assessment_page.legend.header')), /*#__PURE__*/_react.default.createElement("ul", {
|
|
102
|
+
className: 'severities-list'
|
|
103
|
+
}, ['extreme', 'high', 'medium', 'clear'].map(function (severity) {
|
|
104
|
+
return /*#__PURE__*/_react.default.createElement("li", {
|
|
105
|
+
className: 'legend-severity'
|
|
106
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
107
|
+
className: "legend-severity__color legend-severity__color--".concat(severity)
|
|
108
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, _i18n.default.t("assessment_page.legend.severities.".concat(severity))));
|
|
109
|
+
})))))));
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
var _default = AssessmentPage;
|
|
113
|
+
exports.default = _default;
|
|
114
|
+
|
|
115
|
+
var MapTableContainer = _styledComponents.default.div.withConfig({
|
|
116
|
+
displayName: "AssessmentPage__MapTableContainer",
|
|
117
|
+
componentId: "sc-hmx0in-0"
|
|
118
|
+
})([".kd-map-container{position:fixed;top:65px;height:calc(100vh - 20px);width:100vw;#map{height:100%;width:100%;}}.leaflet-bottom{bottom:4.2em;left:", ";display:", ";flex-direction:column;align-items:flex-start;}"], function (_ref) {
|
|
119
|
+
var isRtl = _ref.isRtl;
|
|
120
|
+
return isRtl ? 'unset' : '10px';
|
|
121
|
+
}, function (_ref2) {
|
|
122
|
+
var isRtl = _ref2.isRtl;
|
|
123
|
+
return isRtl ? 'unset' : 'flex';
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
var LegendContainer = _styledComponents.default.div.withConfig({
|
|
127
|
+
displayName: "AssessmentPage__LegendContainer",
|
|
128
|
+
componentId: "sc-hmx0in-1"
|
|
129
|
+
})([".legend{position:fixed;bottom:0;right:", ";left:", ";width:400px;height:100px;background:white;z-index:999;border-radius:21px;margin:21px;padding:18px;box-shadow:0px 2px 6px rgb(0 0 0 / 30%);display:flex;flex-direction:column;align-items:flex-start;.header{font-weight:bold;margin:0;font-size:18px;}.severities-list{display:flex;flex-direction:row;width:100%;justify-content:space-between;.legend-severity{margin:10px;margin-inline-start:0px;display:flex;justify-content:center;align-items:center;&__color{width:12px;height:12px;border-radius:50%;margin:0 6px 0 6px;margin-inline-start:0px;&--extreme{background:", ";}&--high{background:", ";}&--medium{background:", ";}&--clear{background:", ";}}}}}"], function (_ref3) {
|
|
130
|
+
var isRtl = _ref3.isRtl;
|
|
131
|
+
return isRtl ? 'unset' : '0';
|
|
132
|
+
}, function (_ref4) {
|
|
133
|
+
var isRtl = _ref4.isRtl;
|
|
134
|
+
return isRtl ? '0' : 'unset';
|
|
135
|
+
}, _theme.theme.colorScheme.data.R100, _theme.theme.colorScheme.data.O100, _theme.theme.colorScheme.data.W100, _theme.theme.colorScheme.data.G100);
|
|
136
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Bc3Nlc3NtZW50UGFnZS9Bc3Nlc3NtZW50UGFnZS50c3giXSwibmFtZXMiOlsiQXNzZXNzbWVudFBhZ2UiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsImRhdGEiLCJzZXREYXRhIiwiaXNSdGwiLCJkaXNwYXRjaCIsImZldGNoRGF0YSIsInVybCIsImZldGNoIiwidGhlbiIsInJlc3BvbnNlIiwianNvbiIsInJlc3VsdCIsImluaXRpYWxpemUiLCJ1dGlsaXR5X25hbWUiLCJuYW1lIiwic2hvdWxkSW5pdGlhbGl6ZSIsInVuZGVmaW5lZCIsImxlbmd0aCIsInNob3VsZExvYWRNYXAiLCJpMThuIiwidCIsIm1hcCIsInNldmVyaXR5IiwiTWFwVGFibGVDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJMZWdlbmRDb250YWluZXIiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwiUjEwMCIsIk8xMDAiLCJXMTAwIiwiRzEwMCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLGNBQXdCLEdBQUcsU0FBM0JBLGNBQTJCLEdBQU07QUFDckMsTUFBTUMsa0JBQWtCLEdBQUcsNkJBQ3pCLFVBQUNDLEtBQUQ7QUFBQSxXQUFXQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JGLGtCQUE3QjtBQUFBLEdBRHlCLENBQTNCO0FBR0EsTUFBTUcsZ0JBQWdCLEdBQUcsNkJBQ3ZCLFVBQUNGLEtBQUQ7QUFBQSxXQUFXQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JDLGdCQUE3QjtBQUFBLEdBRHVCLENBQXpCO0FBR0EsTUFBTUQsV0FBVyxHQUFHLDZCQUFZLFVBQUNELEtBQUQ7QUFBQSxXQUFXQSxLQUFLLENBQUNDLFdBQWpCO0FBQUEsR0FBWixDQUFwQjs7QUFDQSxrQkFBd0Is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QUFhLE1BQWxDO0FBQUEsQ0FqQlEsQ0FBdkI7O0FBdUJBLElBQU11QixlQUFlLEdBQUdGLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHFzQkFJUjtBQUFBLE1BQUd0QixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFnQkEsS0FBSyxHQUFHLE9BQUgsR0FBYSxHQUFsQztBQUFBLENBSlEsRUFLVDtBQUFBLE1BQUdBLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWdCQSxLQUFLLEdBQUcsR0FBSCxHQUFTLE9BQTlCO0FBQUEsQ0FMUyxFQTZDS3dCLGFBQU1DLFdBQU4sQ0FBa0IzQixJQUFsQixDQUF1QjRCLElBN0M1QixFQWdES0YsYUFBTUMsV0FBTixDQUFrQjNCLElBQWxCLENBQXVCNkIsSUFoRDVCLEVBbURLSCxhQUFNQyxXQUFOLENBQWtCM0IsSUFBbEIsQ0FBdUI4QixJQW5ENUIsRUFzREtKLGFBQU1DLFdBQU4sQ0FBa0IzQixJQUFsQixDQUF1QitCLElBdEQ1QixDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXBkYXRlTmF2Q29udGV4dCB9IGZyb20gJ3NyYy9zdG9yZS9jb250ZXh0L2FjdGlvbnMnO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJy4uLy4uL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IHVzZU5hdkNvbnRleHQgfSBmcm9tICcuLi8uLi9ob29rcy91c2VOYXZDb250ZXh0JztcblxuY29uc3QgQXNzZXNzbWVudFBhZ2U6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgKTtcbiAgY29uc3QgZ2xvYmFsX2RhdGEgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhKTtcbiAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCB7IGlzUnRsIH0gPSB1c2VOYXZDb250ZXh0KCk7XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBmZXRjaERhdGEgPSAodXJsOiBzdHJpbmcsIHNldERhdGE6IEZ1bmN0aW9uKSA9PiB7XG4gICAgZmV0Y2godXJsKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAudGhlbigocmVzdWx0KSA9PiBzZXREYXRhKHJlc3VsdCkpO1xuICB9O1xuICBjb25zdCBpbml0aWFsaXplID0gKCkgPT4ge1xuICAgIGZldGNoRGF0YShcbiAgICAgIGAvYXNzZXNzbWVudF9wYWdlL2FyZWFzX2RhdGE/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2F0ZXJBdXRob3JpdHlJZH1gLFxuICAgICAgc2V0RGF0YSxcbiAgICApO1xuICAgIGFuYWx5dGljc1RyYWNrKCdWaWV3ZWQgQXNzZXNzbWVudCBQYWdlJywge1xuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgZGlzcGF0Y2godXBkYXRlTmF2Q29udGV4dCh7IG5hbWU6ICdhc3Nlc3NtZW50X3BhZ2UnIH0pKTtcbiAgfTtcblxuICBjb25zdCBzaG91bGRJbml0aWFsaXplID0gKCkgPT4ge1xuICAgIHJldHVybiB3YXRlckF1dGhvcml0eUlkICE9PSB1bmRlZmluZWQgJiYgZGF0YS5sZW5ndGggPT09IDA7XG4gIH07XG5cbiAgY29uc3Qgc2hvdWxkTG9hZE1hcCA9ICgpID0+IHtcbiAgICByZXR1cm4gZGF0YS5sZW5ndGggIT09IDA7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzaG91bGRJbml0aWFsaXplKCkgJiYgaW5pdGlhbGl6ZSgpO1xuICB9LCBbd2F0ZXJBdXRob3JpdHlJZCwgZGF0YV0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYXBwLXdyYXBwZXIgYXNzZXNzbWVudC1wYWdlXCI+XG4gICAgICAgIHtzaG91bGRMb2FkTWFwKCkgJiYgKFxuICAgICAgICAgIDxNYXBUYWJsZUNvbnRhaW5lciBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBhcmVhcz17ZGF0YX1cbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgICBlZGdlcz17W119XG4gICAgICAgICAgICAgIHBvaW50cz17W119XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPExlZ2VuZENvbnRhaW5lciBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2xlZ2VuZCd9PlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2hlYWRlcid9PlxuICAgICAgICAgICAgICAgICAge2kxOG4udCgnYXNzZXNzbWVudF9wYWdlLmxlZ2VuZC5oZWFkZXInKX1cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT17J3NldmVyaXRpZXMtbGlzdCd9PlxuICAgICAgICAgICAgICAgICAge1snZXh0cmVtZScsICdoaWdoJywgJ21lZGl1bScsICdjbGVhciddLm1hcCgoc2V2ZXJpdHkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPXsnbGVnZW5kLXNldmVyaXR5J30+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGxlZ2VuZC1zZXZlcml0eV9fY29sb3IgbGVnZW5kLXNldmVyaXR5X19jb2xvci0tJHtzZXZlcml0eX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYGFzc2Vzc21lbnRfcGFnZS5sZWdlbmQuc2V2ZXJpdGllcy4ke3NldmVyaXR5fWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9MZWdlbmRDb250YWluZXI+XG4gICAgICAgICAgPC9NYXBUYWJsZUNvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQXNzZXNzbWVudFBhZ2U7XG5cbmNvbnN0IE1hcFRhYmxlQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICAua2QtbWFwLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNjVweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMHB4KTtcbiAgICB3aWR0aDogMTAwdnc7XG5cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5sZWFmbGV0LWJvdHRvbSB7XG4gICAgYm90dG9tOiA0LjJlbTtcblxuICAgIGxlZnQ6ICR7KHsgaXNSdGwgfSkgPT4gKGlzUnRsID8gJ3Vuc2V0JyA6ICcxMHB4Jyl9O1xuICAgIGRpc3BsYXk6ICR7KHsgaXNSdGwgfSkgPT4gKGlzUnRsID8gJ3Vuc2V0JyA6ICdmbGV4Jyl9O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbmA7XG5cbmNvbnN0IExlZ2VuZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgLmxlZ2VuZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogJHsoeyBpc1J0bCB9KSA9PiAoaXNSdGwgPyAndW5zZXQnIDogJzAnKX07XG4gICAgbGVmdDogJHsoeyBpc1J0bCB9KSA9PiAoaXNSdGwgPyAnMCcgOiAndW5zZXQnKX07XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgei1pbmRleDogOTk5O1xuICAgIGJvcmRlci1yYWRpdXM6IDIxcHg7XG4gICAgbWFyZ2luOiAyMXB4O1xuICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA2cHggcmdiKDAgMCAwIC8gMzAlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAuaGVhZGVyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cblxuICAgIC5zZXZlcml0aWVzLWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgLmxlZ2VuZC1zZXZlcml0eSB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmX19jb2xvciB7XG4gICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBtYXJnaW46IDAgNnB4IDAgNnB4O1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDBweDtcblxuICAgICAgICAgICYtLWV4dHJlbWUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvclNjaGVtZS5kYXRhLlIxMDB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1oaWdoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JTY2hlbWUuZGF0YS5PMTAwfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tbWVkaXVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JTY2hlbWUuZGF0YS5XMTAwfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tY2xlYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvclNjaGVtZS5kYXRhLkcxMDB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcbiJdfQ==
|
|
@@ -19,6 +19,7 @@ var Sampling = function Sampling(props) {
|
|
|
19
19
|
var point = props.point,
|
|
20
20
|
sampling = props.sampling,
|
|
21
21
|
timezone = props.timezone;
|
|
22
|
+
if (point === undefined) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
22
23
|
return /*#__PURE__*/_react.default.createElement(SamplingDiv, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
23
24
|
className: "icon"
|
|
24
25
|
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
@@ -42,4 +43,4 @@ var SamplingDiv = _styledComponents.default.div.withConfig({
|
|
|
42
43
|
|
|
43
44
|
var _default = Sampling;
|
|
44
45
|
exports.default = _default;
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL3NhbXBsaW5ncy9TYW1wbGluZy50c3giXSwibmFtZXMiOlsiU2FtcGxpbmciLCJwcm9wcyIsInBvaW50Iiwic2FtcGxpbmciLCJ0aW1lem9uZSIsInVuZGVmaW5lZCIsIlNhbXBsaW5nSWNvbiIsIm5hbWUiLCJtb21lbnQiLCJ1bml4Iiwic2FtcGxpbmdfdGltZSIsInR6IiwiZm9ybWF0IiwiU2FtcGxpbmdEaXYiLCJzdHlsZWQiLCJkaXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7Ozs7QUFFQTs7QUFVQSxJQUFNQSxRQUEwQixHQUFHLFNBQTdCQSxRQUE2QixDQUFDQyxLQUFELEVBQVc7QUFDNUMsTUFBUUMsS0FBUixHQUFzQ0QsS0FBdEMsQ0FBUUMsS0FBUjtBQUFBLE1BQWVDLFFBQWYsR0FBc0NGLEtBQXRDLENBQWVFLFFBQWY7QUFBQSxNQUF5QkMsUUFBekIsR0FBc0NILEtBQXRDLENBQXlCRyxRQUF6QjtBQUVBLE1BQUlGLEtBQUssS0FBS0csU0FBZCxFQUF5QixvQkFBTywyREFBUDtBQUN6QixzQkFDRSw2QkFBQyxXQUFELHFCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUFLLElBQUEsR0FBRyxFQUFFQyxrQkFBVjtBQUF3QixJQUFBLE1BQU0sRUFBQyxNQUEvQjtBQUFzQyxJQUFBLEtBQUssRUFBQyxNQUE1QztBQUFtRCxJQUFBLEdBQUcsRUFBQztBQUF2RCxJQURGLENBREYsZUFJRTtBQUFLLElBQUEsU0FBUyxFQUFFO0FBQWhCLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUF1QkosS0FBSyxDQUFDSyxJQUE3QixDQURGLGVBRUU7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ0dDLHdCQUFPQyxJQUFQLENBQVlOLFFBQVEsQ0FBQ08sYUFBckIsRUFBb0NDLEVBQXBDLENBQXVDUCxRQUF2QyxFQUFpRFEsTUFBakQsQ0FBd0QsUUFBeEQsQ0FESCxDQUZGLENBSkYsQ0FERjtBQWFELENBakJEOztBQW1CQSxJQUFNQyxXQUFXLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLDZTQUFqQjs7ZUE4QmVmLFEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFNhbXBsaW5nSWNvbiBmcm9tICdzcmMvYXNzZXRzL2ZsYXNrLWJsdWUuc3ZnJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIHNhbXBsaW5nOiBhbnk7XG4gIHBvaW50OiBJUG9pbnQ7XG4gIHRpbWV6b25lOiBzdHJpbmc7XG59O1xuXG5jb25zdCBTYW1wbGluZzogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHBvaW50LCBzYW1wbGluZywgdGltZXpvbmUgfSA9IHByb3BzO1xuXG4gIGlmIChwb2ludCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gPD48Lz47XG4gIHJldHVybiAoXG4gICAgPFNhbXBsaW5nRGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJpY29uXCI+XG4gICAgICAgIDxpbWcgc3JjPXtTYW1wbGluZ0ljb259IGhlaWdodD1cIjE0cHhcIiB3aWR0aD1cIjE0cHhcIiBhbHQ9XCJzYW1wbGluZ0ljb25cIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17J3NhbXBsaW5nLWRldGFpbCd9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm5hbWVcIj57cG9pbnQubmFtZX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lXCI+XG4gICAgICAgICAge21vbWVudC51bml4KHNhbXBsaW5nLnNhbXBsaW5nX3RpbWUpLnR6KHRpbWV6b25lKS5mb3JtYXQoJ2g6bW0gYScpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvU2FtcGxpbmdEaXY+XG4gICk7XG59O1xuXG5jb25zdCBTYW1wbGluZ0RpdiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICB9XG4gIC5zYW1wbGluZy1kZXRhaWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLm5hbWUsXG4gICAgLnRpbWUge1xuICAgICAgZmxleDogMTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgLmljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBTYW1wbGluZztcbiJdfQ==
|
package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js
CHANGED
|
@@ -94,7 +94,9 @@ var NotificationsFormContent = function NotificationsFormContent(_ref) {
|
|
|
94
94
|
} : {
|
|
95
95
|
value: 'PollutionAlertConfig',
|
|
96
96
|
label: _i18n.default.t("notifications_page.PollutionAlertConfig")
|
|
97
|
-
}
|
|
97
|
+
},
|
|
98
|
+
isDisabled: notification.id ? true : false,
|
|
99
|
+
isSearchable: false
|
|
98
100
|
})), notification.type === 'PollutionAlertConfig' && allowedNotifications.includes(notification.type) && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
|
|
99
101
|
controlId: "notification-severity"
|
|
100
102
|
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, _i18n.default.t('notifications_page.edit_severity')), /*#__PURE__*/_react.default.createElement(NotificationsCheckboxesStyle, {
|
|
@@ -346,4 +348,4 @@ var NotificationsCheckboxesStyle = _styledComponents.default.div.withConfig({
|
|
|
346
348
|
var gap = _ref14.gap;
|
|
347
349
|
return gap + 'px';
|
|
348
350
|
});
|
|
349
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc0Zvcm0vTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50LnRzeCJdLCJuYW1lcyI6WyJOb3RpZmljYXRpb25zRm9ybUNvbnRlbnQiLCJub3RpZmljYXRpb24iLCJwb2ludHMiLCJ0YWdzIiwic2Vuc29ycyIsIndhdGVyQXV0aG9yaXRpZXMiLCJhbGxvd2VkTm90aWZpY2F0aW9ucyIsInNldE5ld05vdGlmaWNhdGlvbiIsImhhc1Bob25lIiwiaGFzVGVsZWdyYW0iLCJvcGVuIiwiaW5zdGFuY2UiLCJtb2RhbERldGFpbHMiLCJzZXRNb2RhbERldGFpbHMiLCJkZWZhdWx0V2F0ZXJBdXRob3JpdHlJZlNpbmdsZSIsImxlbmd0aCIsInZhbHVlIiwibGFiZWwiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsIndhdGVyX2F1dGhvcml0eSIsImlkIiwiaTE4biIsInQiLCJvcHRpb24iLCJtYXAiLCJ0eXBlIiwiaW5jbHVkZXMiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwiZXZlbnQiLCJzZXZlcml0eSIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJ3YXRlcl9hdXRob3JpdGllcyIsIndhIiwidGV4dCIsInNvdXJjZXNSYWRpb0J1dHRvbnMiLCJwIiwicG9pbnQiLCJ0YWciLCJzZW5zb3IiLCJzZW5kVmlhQ2hlY2tCb3hlcyIsImFjdGlvbnMiLCJ0ZWxlZ3JhbSIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjYwIiwic21zIiwiZSIsInB1bXBfb25seSIsIkFsZXJ0Q29udGVudCIsInN0eWxlZCIsImRpdiIsIk1vZGFsQWN0aW9uc0J1dHRvbiIsImNvbG9yIiwiTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUiLCJuMzAiLCJmb250U2l6ZSIsIm1kIiwiZm9udFdlaWdodCIsInc2MDAiLCJuODAiLCJwcmltYXJ5IiwicDEiLCJkYXRhIiwiTzEwMCIsIlcxMDAiLCJOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIiwiZ2FwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFVQTs7QUFFQTs7Ozs7O0FBY0EsSUFBTUEsd0JBQWdFLEdBQUcsU0FBbkVBLHdCQUFtRSxPQVVuRTtBQUFBLE1BVEpDLFlBU0ksUUFUSkEsWUFTSTtBQUFBLE1BUkpDLE1BUUksUUFSSkEsTUFRSTtBQUFBLE1BUEpDLElBT0ksUUFQSkEsSUFPSTtBQUFBLE1BTkpDLE9BTUksUUFOSkEsT0FNSTtBQUFBLE1BTEpDLGdCQUtJLFFBTEpBLGdCQUtJO0FBQUEsTUFKSkMsb0JBSUksUUFKSkEsb0JBSUk7QUFBQSxNQUhKQyxrQkFHSSxRQUhKQSxrQkFHSTtBQUFBLE1BRkpDLFFBRUksUUFGSkEsUUFFSTtBQUFBLE1BREpDLFdBQ0ksUUFESkEsV0FDSTs7QUFDSixrQkFBd0MscUJBQXVCO0FBQzdEQyxJQUFBQSxJQUFJLEVBQUUsS0FEdUQ7QUFFN0RDLElBQUFBLFFBQVEsRUFBRTtBQUZtRCxHQUF2QixDQUF4QztBQUFBO0FBQUEsTUFBT0MsWUFBUDtBQUFBLE1BQXFCQyxlQUFyQjs7QUFLQSxNQUFNQyw2QkFBNkIsR0FBRyxTQUFoQ0EsNkJBQWdDLEdBQU07QUFDMUMsUUFBSVQsZ0JBQWdCLENBQUNVLE1BQWpCLEtBQTRCLENBQWhDLEVBQW1DO0FBQ2pDLHNEQUNFO0FBQUVDLFFBQUFBLEtBQUssRUFBRSxzQkFBVDtBQUFpQ0MsUUFBQUEsS0FBSyxFQUFFO0FBQXhDLE9BREYsRUFFRWhCLFlBRkYsRUFHRU0sa0JBSEY7QUFLQSxzREFDRVcsU0FERixFQUVFO0FBQ0VDLFFBQUFBLGNBQWMsRUFBRSxTQURsQjtBQUVFQyxRQUFBQSxHQUFHLEVBQUUsQ0FDSDtBQUNFSixVQUFBQSxLQUFLLEVBQUVYLGdCQUFnQixDQUFDLENBQUQsQ0FBaEIsQ0FBb0JnQixlQUFwQixDQUFvQ0MsRUFEN0M7QUFFRUwsVUFBQUEsS0FBSyxFQUFFWixnQkFBZ0IsQ0FBQyxDQUFELENBQWhCLENBQW9CZ0IsZUFBcEIsQ0FBb0NKO0FBRjdDLFNBREc7QUFGUCxPQUZGLEVBV0VoQixZQVhGLEVBWUVNLGtCQVpGO0FBY0Q7QUFDRixHQXRCRDs7QUF3QkEsd0JBQVUsWUFBTTtBQUNkTyxJQUFBQSw2QkFBNkI7QUFDOUIsR0FGRCxFQUVHLEVBRkg7QUFJQSxzQkFDRSw2QkFBQyxnQ0FBRCxxQkFDRSw2QkFBQyxvQkFBRCxDQUFNLEtBQU47QUFBWSxJQUFBLFNBQVMsRUFBQztBQUF0QixrQkFDRSw2QkFBQyxvQkFBRCxDQUFNLEtBQU4sUUFBYVMsY0FBS0MsQ0FBTCxDQUFPLDhCQUFQLENBQWIsQ0FERixlQUVFLDZCQUFDLG9CQUFEO0FBQ0UsSUFBQSxRQUFRLEVBQUUsa0JBQUNDLE1BQUQ7QUFBQSxhQUNSLGdEQUF1QkEsTUFBdkIsRUFBK0J4QixZQUEvQixFQUE2Q00sa0JBQTdDLENBRFE7QUFBQSxLQURaO0FBSUUsSUFBQSxJQUFJLEVBQUUsTUFKUjtBQUtFLElBQUEsT0FBTyxFQUFFRCxvQkFBb0IsQ0FBRW9CLEdBQXRCLENBQTBCLFVBQUNDLElBQUQ7QUFBQSxhQUFnQjtBQUNqRFgsUUFBQUEsS0FBSyxFQUFFVyxJQUQwQztBQUVqRFYsUUFBQUEsS0FBSyxFQUFFTSxjQUFLQyxDQUFMLDhCQUE2QkcsSUFBN0I7QUFGMEMsT0FBaEI7QUFBQSxLQUExQixDQUxYO0FBU0UsSUFBQSxZQUFZLEVBQ1YxQixZQUFZLENBQUMwQixJQUFiLEtBQXNCLEVBQXRCLEdBQ0k7QUFDRVgsTUFBQUEsS0FBSyxFQUFFZixZQUFZLENBQUMwQixJQUR0QjtBQUVFVixNQUFBQSxLQUFLLEVBQUVNLGNBQUtDLENBQUwsOEJBQTZCdkIsWUFBWSxDQUFDMEIsSUFBMUM7QUFGVCxLQURKLEdBS0k7QUFDRVgsTUFBQUEsS0FBSyxFQUFFLHNCQURUO0FBRUVDLE1BQUFBLEtBQUssRUFBRU0sY0FBS0MsQ0FBTDtBQUZUO0FBZlIsSUFGRixDQURGLEVBeUJHdkIsWUFBWSxDQUFDMEIsSUFBYixLQUFzQixzQkFBdEIsSUFDQ3JCLG9CQUFvQixDQUFDc0IsUUFBckIsQ0FBOEIzQixZQUFZLENBQUMwQixJQUEzQyxDQURELGlCQUVHLDZCQUFDLG9CQUFELENBQU0sS0FBTjtBQUFZLElBQUEsU0FBUyxFQUFDO0FBQXRCLGtCQUNFLDZCQUFDLG9CQUFELENBQU0sS0FBTixRQUNHSixjQUFLQyxDQUFMLENBQU8sa0NBQVAsQ0FESCxDQURGLGVBSUUsNkJBQUMsNEJBQUQ7QUFBOEIsSUFBQSxHQUFHLEVBQUM7QUFBbEMsa0JBQ0UsNkJBQUMseUJBQUQ7QUFDRSxJQUFBLE9BQU8sRUFBRUsseUNBRFg7QUFFRSxJQUFBLFlBQVksRUFBRSxzQkFBQ0MsS0FBRDtBQUFBLGFBQ1osMENBQWlCQSxLQUFqQixFQUF3QnZCLGtCQUF4QixDQURZO0FBQUEsS0FGaEI7QUFLRSxJQUFBLFNBQVMsRUFBRU4sWUFBWSxDQUFDOEIsUUFMMUI7QUFNRSxJQUFBLE9BQU8sRUFBRTlCLFlBQVksQ0FBQzhCLFFBTnhCO0FBT0UsSUFBQSxJQUFJLEVBQUM7QUFQUCxJQURGLENBSkYsQ0EzQk4sRUE0Q0cxQixnQkFBZ0IsQ0FBQ1UsTUFBakIsR0FBMEIsQ0FBMUIsaUJBQ0MsNkJBQUMsb0JBQUQsQ0FBTSxLQUFOO0FBQVksSUFBQSxTQUFTLEVBQUM7QUFBdEIsa0JBQ0UsNkJBQUMsb0JBQUQsQ0FBTSxLQUFOLFFBQ0dRLGNBQUtDLENBQUwsQ0FBTyxzQ0FBUCxDQURILENBREYsZUFJRSw2QkFBQyw0QkFBRDtBQUE4QixJQUFBLEdBQUcsRUFBQztBQUFsQyxrQkFDRSw2QkFBQyx5QkFBRDtBQUNFLElBQUEsT0FBTyxFQUFFUSwrQ0FEWDtBQUVFLElBQUEsWUFBWSxFQUFFLHNCQUFDRixLQUFEO0FBQUEsYUFDWixnREFDRUEsS0FERixFQUVFLEVBRkYsRUFHRTdCLFlBSEYsRUFJRU0sa0JBSkYsQ0FEWTtBQUFBLEtBRmhCO0FBVUUsSUFBQSxTQUFTLEVBQUVOLFlBQVksQ0FBQ2dDLGlCQUFiLENBQStCZCxjQVY1QztBQVdFLElBQUEsT0FBTyxFQUFFbEIsWUFBWSxDQUFDZ0MsaUJBQWIsQ0FBK0JkLGNBWDFDO0FBWUUsSUFBQSxJQUFJLEVBQUM7QUFaUCxJQURGLENBSkYsRUFvQkdsQixZQUFZLENBQUNnQyxpQkFBYixDQUErQmQsY0FBL0IsS0FBa0QsS0FBbEQsSUFDQ2Isb0JBQW9CLENBQUNzQixRQUFyQixDQUE4QjNCLFlBQVksQ0FBQzBCLElBQTNDLENBREQsaUJBRUcsNkJBQUMsb0JBQUQ7QUFDRSxJQUFBLElBQUksRUFBRSxpQkFEUjtBQUVFLElBQUEsUUFBUSxFQUFFLGtCQUFDRixNQUFELEVBQWlCO0FBQ3pCLHNEQUNFUCxTQURGLEVBRUU7QUFDRUMsUUFBQUEsY0FBYyxFQUNabEIsWUFBWSxDQUFDZ0MsaUJBQWIsQ0FBK0JkLGNBRm5DO0FBR0VDLFFBQUFBLEdBQUcsRUFBRUs7QUFIUCxPQUZGLEVBT0V4QixZQVBGLEVBUUVNLGtCQVJGO0FBVUQsS0FiSDtBQWNFLElBQUEsWUFBWSxFQUFFLElBZGhCO0FBZUUsSUFBQSxPQUFPLEVBQUUsSUFmWDtBQWdCRSxJQUFBLGVBQWUsRUFBRSxpQkFoQm5CO0FBaUJFLElBQUEsT0FBTyxFQUFFRixnQkFBRixhQUFFQSxnQkFBRix1QkFBRUEsZ0JBQWdCLENBQUVxQixHQUFsQixDQUFzQixVQUFDUSxFQUFEO0FBQUEsYUFBYztBQUMzQ2xCLFFBQUFBLEtBQUssRUFBRWtCLEVBQUUsQ0FBQ2IsZUFBSCxDQUFtQkMsRUFEaUI7QUFFM0NMLFFBQUFBLEtBQUssRUFBRWlCLEVBQUUsQ0FBQ2IsZUFBSCxDQUFtQko7QUFGaUIsT0FBZDtBQUFBLEtBQXRCLENBakJYO0FBcUJFLElBQUEsWUFBWSxFQUNWaEIsWUFBWSxDQUFDZ0MsaUJBQWIsQ0FBK0JiLEdBQS9CLEtBQXVDLElBQXZDLEdBQ0luQixZQUFZLENBQUNnQyxpQkFBYixDQUErQmIsR0FBL0IsQ0FBbUNNLEdBQW5DLENBQXVDLFVBQUNRLEVBQUQ7QUFBQSxhQUFjO0FBQ25EbEIsUUFBQUEsS0FBSyxFQUFFa0IsRUFBRSxDQUFDWixFQUR5QztBQUVuREwsUUFBQUEsS0FBSyxFQUFFaUIsRUFBRSxDQUFDQztBQUZ5QyxPQUFkO0FBQUEsS0FBdkMsQ0FESixHQUtJO0FBM0JSLElBdEJOLENBN0NKLEVBb0dHbEMsWUFBWSxDQUFDMEIsSUFBYixLQUFzQiw0QkFBdEIsSUFDQzFCLFlBQVksQ0FBQzBCLElBQWIsS0FBc0IsZ0NBRHZCLElBRUNyQixvQkFBb0IsQ0FBQ3NCLFFBQXJCLENBQThCM0IsWUFBWSxDQUFDMEIsSUFBM0MsQ0FGRCxpQkFHRyw2QkFBQyxvQkFBRCxDQUFNLEtBQU47QUFBWSxJQUFBLFNBQVMsRUFBQztBQUF0QixrQkFDRSw2QkFBQyxvQkFBRCxDQUFNLEtBQU4sUUFBYUosY0FBS0MsQ0FBTCxDQUFPLDRCQUFQLENBQWIsQ0FERixlQUVFLDZCQUFDLDRCQUFEO0FBQThCLElBQUEsR0FBRyxFQUFDO0FBQWxDLGtCQUNFLDZCQUFDLHlCQUFEO0FBQ0UsSUFBQSxPQUFPLEVBQUVZLHNDQURYO0FBRUUsSUFBQSxZQUFZLEVBQUUsc0JBQUNOLEtBQUQ7QUFBQSxhQUNaLHVDQUFjQSxLQUFkLEVBQXFCLEVBQXJCLEVBQXlCN0IsWUFBekIsRUFBdUNNLGtCQUF2QyxDQURZO0FBQUEsS0FGaEI7QUFLRSxJQUFBLFNBQVMsRUFBRU4sWUFBWSxDQUFDQyxNQUFiLENBQW9CaUIsY0FMakM7QUFNRSxJQUFBLE9BQU8sRUFBRWxCLFlBQVksQ0FBQ0MsTUFBYixDQUFvQmlCLGNBTi9CO0FBT0UsSUFBQSxJQUFJLEVBQUM7QUFQUCxJQURGLENBRkYsRUFhR2xCLFlBQVksQ0FBQ0MsTUFBYixDQUFvQmlCLGNBQXBCLEtBQXVDLEtBQXZDLGlCQUNDLDZCQUFDLG9CQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUUsT0FEUjtBQUVFLElBQUEsUUFBUSxFQUFFLGtCQUFDTSxNQUFELEVBQWlCO0FBQ3pCLDZDQUNFUCxTQURGLEVBRUU7QUFDRUMsUUFBQUEsY0FBYyxFQUFFbEIsWUFBWSxDQUFDQyxNQUFiLENBQW9CaUIsY0FEdEM7QUFFRUMsUUFBQUEsR0FBRyxFQUFFSztBQUZQLE9BRkYsRUFNRXhCLFlBTkYsRUFPRU0sa0JBUEY7QUFTRCxLQVpIO0FBYUUsSUFBQSxZQUFZLEVBQUUsSUFiaEI7QUFjRSxJQUFBLE9BQU8sRUFBRSxJQWRYO0FBZUUsSUFBQSxlQUFlLEVBQUUsT0FmbkI7QUFnQkUsSUFBQSxPQUFPLEVBQUVMLE1BQUYsYUFBRUEsTUFBRix1QkFBRUEsTUFBTSxDQUFFd0IsR0FBUixDQUFZLFVBQUNXLENBQUQ7QUFBQSxhQUFhO0FBQ2hDckIsUUFBQUEsS0FBSyxFQUFFcUIsQ0FBQyxDQUFDQyxLQUFGLENBQVFoQixFQURpQjtBQUVoQ0wsUUFBQUEsS0FBSyxFQUFFb0IsQ0FBQyxDQUFDQyxLQUFGLENBQVFyQjtBQUZpQixPQUFiO0FBQUEsS0FBWixDQWhCWDtBQW9CRSxJQUFBLFlBQVksRUFDVmhCLFlBQVksQ0FBQ0MsTUFBYixDQUFvQmtCLEdBQXBCLEtBQTRCLElBQTVCLEdBQ0luQixZQUFZLENBQUNDLE1BQWIsQ0FBb0JrQixHQUFwQixDQUF3Qk0sR0FBeEIsQ0FBNEIsVUFBQ1csQ0FBRDtBQUFBLGFBQWE7QUFDdkNyQixRQUFBQSxLQUFLLEVBQUVxQixDQUFDLENBQUNmLEVBRDhCO0FBRXZDTCxRQUFBQSxLQUFLLEVBQUVvQixDQUFDLENBQUNGO0FBRjhCLE9BQWI7QUFBQSxLQUE1QixDQURKLEdBS0k7QUExQlIsSUFkSixDQXZHTixFQXNKR2xDLFlBQVksQ0FBQzBCLElBQWIsS0FBc0IsNEJBQXRCLElBQ0MxQixZQUFZLENBQUNFLElBQWIsS0FBc0JlLFNBRHZCLElBRUNaLG9CQUFvQixDQUFDc0IsUUFBckIsQ0FBOEIzQixZQUFZLENBQUMwQixJQUEzQyxDQUZELGlCQUdHLDZCQUFDLG9CQUFELENBQU0sS0FBTjtBQUFZLElBQUEsU0FBUyxFQUFDO0FBQXRCLGtCQUNFLDZCQUFDLG9CQUFELENBQU0sS0FBTixRQUFhSixjQUFLQyxDQUFMLENBQU8seUJBQVAsQ0FBYixDQURGLGVBRUUsNkJBQUMsNEJBQUQ7QUFBOEIsSUFBQSxHQUFHLEVBQUM7QUFBbEMsa0JBQ0UsNkJBQUMseUJBQUQ7QUFDRSxJQUFBLE9BQU8sRUFBRVksc0NBRFg7QUFFRSxJQUFBLFlBQVksRUFBRSxzQkFBQ04sS0FBRDtBQUFBLGFBQ1osb0NBQVdBLEtBQVgsRUFBa0IsRUFBbEIsRUFBc0I3QixZQUF0QixFQUFvQ00sa0JBQXBDLENBRFk7QUFBQSxLQUZoQjtBQUtFLElBQUEsU0FBUyxFQUFFTixZQUFZLENBQUNFLElBQWIsQ0FBa0JnQixjQUwvQjtBQU1FLElBQUEsT0FBTyxFQUFFbEIsWUFBWSxDQUFDRSxJQUFiLENBQWtCZ0IsY0FON0I7QUFPRSxJQUFBLElBQUksRUFBQztBQVBQLElBREYsQ0FGRixFQWFHbEIsWUFBWSxDQUFDRSxJQUFiLENBQWtCZ0IsY0FBbEIsS0FBcUMsS0FBckMsSUFDQ2Isb0JBQW9CLENBQUNzQixRQUFyQixDQUE4QjNCLFlBQVksQ0FBQzBCLElBQTNDLENBREQsaUJBRUcsNkJBQUMsb0JBQUQ7QUFDRSxJQUFBLElBQUksRUFBRSxPQURSO0FBRUUsSUFBQSxRQUFRLEVBQUUsa0JBQUNGLE1BQUQsRUFBaUI7QUFDekIsMENBQ0VQLFNBREYsRUFFRTtBQUNFQyxRQUFBQSxjQUFjLEVBQ1psQixZQUFZLENBQUNFLElBQWIsS0FBc0JlLFNBQXRCLEdBQ0lqQixZQUFZLENBQUNFLElBQWIsQ0FBa0JnQixjQUR0QixHQUVJLEVBSlI7QUFLRUMsUUFBQUEsR0FBRyxFQUFFSztBQUxQLE9BRkYsRUFTRXhCLFlBVEYsRUFVRU0sa0JBVkY7QUFZRCxLQWZIO0FBZ0JFLElBQUEsWUFBWSxFQUFFLElBaEJoQjtBQWlCRSxJQUFBLE9BQU8sRUFBRSxJQWpCWDtBQWtCRSxJQUFBLGVBQWUsRUFBRSxPQWxCbkI7QUFtQkUsSUFBQSxPQUFPLEVBQUVKLElBQUYsYUFBRUEsSUFBRix1QkFBRUEsSUFBSSxDQUFFdUIsR0FBTixDQUFVLFVBQUNXLENBQUQ7QUFBQSxhQUFhO0FBQzlCckIsUUFBQUEsS0FBSyxFQUFFcUIsQ0FBQyxDQUFDRSxHQUFGLENBQU1qQixFQURpQjtBQUU5QkwsUUFBQUEsS0FBSyxFQUFFb0IsQ0FBQyxDQUFDRSxHQUFGLENBQU10QjtBQUZpQixPQUFiO0FBQUEsS0FBVixDQW5CWDtBQXVCRSxJQUFBLFlBQVksRUFDVmhCLFlBQVksQ0FBQ0UsSUFBYixDQUFrQmlCLEdBQWxCLEtBQTBCLElBQTFCLEdBQ0luQixZQUFZLENBQUNFLElBQWIsQ0FBa0JpQixHQUFsQixDQUFzQk0sR0FBdEIsQ0FBMEIsVUFBQ1csQ0FBRDtBQUFBLGFBQWE7QUFDckNyQixRQUFBQSxLQUFLLEVBQUVxQixDQUFDLENBQUNmLEVBRDRCO0FBRXJDTCxRQUFBQSxLQUFLLEVBQUVvQixDQUFDLENBQUNGO0FBRjRCLE9BQWI7QUFBQSxLQUExQixDQURKLEdBS0k7QUE3QlIsSUFmTixDQXpKTixFQTRNR2xDLFlBQVksQ0FBQzBCLElBQWIsS0FBc0IsZ0NBQXRCLElBQ0NyQixvQkFBb0IsQ0FBQ3NCLFFBQXJCLENBQThCM0IsWUFBWSxDQUFDMEIsSUFBM0MsQ0FERCxJQUVDMUIsWUFBWSxDQUFDRyxPQUFiLEtBQXlCYyxTQUYxQixpQkFHRyw2QkFBQyxvQkFBRCxDQUFNLEtBQU47QUFBWSxJQUFBLFNBQVMsRUFBQztBQUF0QixrQkFDRSw2QkFBQyxvQkFBRCxDQUFNLEtBQU4sUUFBYUssY0FBS0MsQ0FBTCxDQUFPLDRCQUFQLENBQWIsQ0FERixlQUVFLDZCQUFDLDRCQUFEO0FBQThCLElBQUEsR0FBRyxFQUFDO0FBQWxDLGtCQUNFLDZCQUFDLHlCQUFEO0FBQ0UsSUFBQSxPQUFPLEVBQUVZLHNDQURYO0FBRUUsSUFBQSxZQUFZLEVBQUUsc0JBQUNOLEtBQUQ7QUFBQSxhQUNaLHVDQUFjQSxLQUFkLEVBQXFCLEVBQXJCLEVBQXlCN0IsWUFBekIsRUFBdUNNLGtCQUF2QyxDQURZO0FBQUEsS0FGaEI7QUFLRSxJQUFBLFNBQVMsRUFBRU4sWUFBWSxDQUFDRyxPQUFiLENBQXFCZSxjQUxsQztBQU1FLElBQUEsT0FBTyxFQUFFbEIsWUFBWSxDQUFDRyxPQUFiLENBQXFCZSxjQU5oQztBQU9FLElBQUEsSUFBSSxFQUFDO0FBUFAsSUFERixDQUZGLEVBYUdsQixZQUFZLENBQUNHLE9BQWIsQ0FBcUJlLGNBQXJCLEtBQXdDLEtBQXhDLGlCQUNDLDZCQUFDLG9CQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUUsT0FEUjtBQUVFLElBQUEsUUFBUSxFQUFFLGtCQUFDTSxNQUFELEVBQWlCO0FBQ3pCLDZDQUNFUCxTQURGLEVBRUU7QUFDRUMsUUFBQUEsY0FBYyxFQUNabEIsWUFBWSxDQUFDRyxPQUFiLEtBQXlCYyxTQUF6QixHQUNJakIsWUFBWSxDQUFDRyxPQUFiLENBQXFCZSxjQUR6QixHQUVJLEVBSlI7QUFLRUMsUUFBQUEsR0FBRyxFQUFFSztBQUxQLE9BRkYsRUFTRXhCLFlBVEYsRUFVRU0sa0JBVkY7QUFZRCxLQWZIO0FBZ0JFLElBQUEsWUFBWSxFQUFFLElBaEJoQjtBQWlCRSxJQUFBLE9BQU8sRUFBRSxJQWpCWDtBQWtCRSxJQUFBLGVBQWUsRUFBRSxPQWxCbkI7QUFtQkUsSUFBQSxPQUFPLEVBQUVILE9BQUYsYUFBRUEsT0FBRix1QkFBRUEsT0FBTyxDQUFFc0IsR0FBVCxDQUFhLFVBQUNXLENBQUQ7QUFBQSxhQUFhO0FBQ2pDckIsUUFBQUEsS0FBSyxFQUFFcUIsQ0FBQyxDQUFDRyxNQUFGLENBQVNsQixFQURpQjtBQUVqQ0wsUUFBQUEsS0FBSyxFQUFFb0IsQ0FBQyxDQUFDRyxNQUFGLENBQVN2QjtBQUZpQixPQUFiO0FBQUEsS0FBYixDQW5CWDtBQXVCRSxJQUFBLFlBQVksRUFDVmhCLFlBQVksQ0FBQ0csT0FBYixDQUFxQmdCLEdBQXJCLEtBQTZCLElBQTdCLEdBQ0luQixZQUFZLENBQUNHLE9BQWIsQ0FBcUJnQixHQUFyQixDQUF5Qk0sR0FBekIsQ0FBNkIsVUFBQ1csQ0FBRDtBQUFBLGFBQWE7QUFDeENyQixRQUFBQSxLQUFLLEVBQUVxQixDQUFDLENBQUNmLEVBRCtCO0FBRXhDTCxRQUFBQSxLQUFLLEVBQUVvQixDQUFDLENBQUNGO0FBRitCLE9BQWI7QUFBQSxLQUE3QixDQURKLEdBS0k7QUE3QlIsSUFkSixDQS9NTixlQWlRRSw2QkFBQyxvQkFBRCxDQUFNLEtBQU47QUFBWSxJQUFBLFNBQVMsRUFBQztBQUF0QixrQkFDRSw2QkFBQyxvQkFBRCxDQUFNLEtBQU4sUUFBYVosY0FBS0MsQ0FBTCxDQUFPLGtDQUFQLENBQWIsQ0FERixlQUVFLDZCQUFDLDRCQUFEO0FBQThCLElBQUEsR0FBRyxFQUFDO0FBQWxDLEtBQ0dpQixxQ0FBa0JmLEdBQWxCLENBQXNCLFVBQUNWLEtBQUQsRUFBVztBQUNoQyx3QkFDRSw2QkFBQyxpQkFBRDtBQUNFLE1BQUEsR0FBRyxFQUFFQSxLQUFLLENBQUNDLEtBRGI7QUFFRSxNQUFBLE1BQU0sRUFBRUQsS0FGVjtBQUdFLE1BQUEsWUFBWSxFQUFFLHNCQUFDYyxLQUFEO0FBQUEsZUFDWix1Q0FDRUEsS0FERixFQUVFN0IsWUFGRixFQUdFTSxrQkFIRixFQUlFTSxlQUpGLENBRFk7QUFBQSxPQUhoQjtBQVdFLE1BQUEsU0FBUyxFQUFFWixZQUFZLENBQUN5QyxPQVgxQjtBQVlFLE1BQUEsT0FBTyxFQUFFekMsWUFBWSxDQUFDeUMsT0FaeEI7QUFhRSxNQUFBLElBQUksRUFBQztBQWJQLE1BREY7QUFpQkQsR0FsQkEsQ0FESCxFQW9CR3pDLFlBQVksQ0FBQ3lDLE9BQWIsQ0FBcUJDLFFBQXJCLElBQ0MsQ0FBQ2xDLFdBREYsSUFFQ0csWUFBWSxDQUFDRixJQUZkLElBR0NFLFlBQVksQ0FBQ0QsUUFBYixLQUEwQixVQUgzQixpQkFJRyw2QkFBQyxjQUFEO0FBQ0UsSUFBQSxlQUFlLEVBQUVFLGVBRG5CO0FBRUUsSUFBQSxRQUFRLGVBQ04sNkJBQUMsWUFBRCxxQkFDRSx3Q0FDR1UsY0FBS0MsQ0FBTCxDQUFPLDhDQUFQLENBREgsQ0FERixlQUlFLDZCQUFDLGtCQUFEO0FBQW9CLE1BQUEsS0FBSyxFQUFFb0IsYUFBTUMsV0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDO0FBQXJELE9BQ0d4QixjQUFLQyxDQUFMLENBQU8sdUJBQVAsQ0FESCxDQUpGO0FBSEosSUF4Qk4sRUF1Q0d2QixZQUFZLENBQUN5QyxPQUFiLENBQXFCTSxHQUFyQixJQUNDLENBQUN4QyxRQURGLElBRUNJLFlBQVksQ0FBQ0YsSUFGZCxJQUdDRSxZQUFZLENBQUNELFFBQWIsS0FBMEIsS0FIM0IsaUJBSUcsNkJBQUMsY0FBRDtBQUNFLElBQUEsZUFBZSxFQUFFRSxlQURuQjtBQUVFLElBQUEsUUFBUSxlQUNOLDZCQUFDLFlBQUQscUJBQ0Usd0NBQUlVLGNBQUtDLENBQUwsQ0FBTywyQ0FBUCxDQUFKLENBREYsZUFFRSw2QkFBQyxrQkFBRDtBQUFvQixNQUFBLEtBQUssRUFBRW9CLGFBQU1DLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQztBQUFyRCxPQUNHeEIsY0FBS0MsQ0FBTCxDQUFPLHVCQUFQLENBREgsQ0FGRjtBQUhKLElBM0NOLENBRkYsQ0FqUUYsRUE0VEd2QixZQUFZLENBQUMwQixJQUFiLEtBQXNCLHNCQUF0QixJQUNDckIsb0JBQW9CLENBQUNzQixRQUFyQixDQUE4QjNCLFlBQVksQ0FBQzBCLElBQTNDLENBREQsaUJBRUcsNkJBQUMsb0JBQUQsQ0FBTSxLQUFOLHFCQUNFLDZCQUFDLG9CQUFELENBQU0sS0FBTjtBQUNFLElBQUEsTUFBTSxNQURSO0FBRUUsSUFBQSxLQUFLLEVBQUVKLGNBQUtDLENBQUwsQ0FBTyx3Q0FBUCxDQUZUO0FBR0UsSUFBQSxJQUFJLEVBQUMsV0FIUDtBQUlFLElBQUEsSUFBSSxFQUFDLFVBSlA7QUFLRSxJQUFBLEVBQUUsRUFBQyxXQUxMO0FBTUUsSUFBQSxRQUFRLEVBQUUsa0JBQUN5QixDQUFEO0FBQUEsYUFBTyxrREFBeUJBLENBQXpCLEVBQTRCMUMsa0JBQTVCLENBQVA7QUFBQSxLQU5aO0FBT0UsSUFBQSxPQUFPLEVBQUVOLFlBQVksQ0FBQ2lELFNBQWIsS0FBMkI7QUFQdEMsSUFERixDQTlUTixDQURGO0FBNlVELENBelhEOztlQTJYZWxELHdCOzs7QUFFZixJQUFNbUQsWUFBWSxHQUFHQywwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSx3SkFBbEI7O0FBYUEsSUFBTUMsa0JBQWtCLEdBQUdGLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHFKQVFiO0FBQUEsTUFBR0UsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBZjtBQUFBLENBUmEsQ0FBeEI7O0FBV0EsSUFBTUMsZ0NBQWdDLEdBQUdKLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLDZmQUdOO0FBQUEsTUFBR1QsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCQyxPQUFsQixDQUEwQlcsR0FBekM7QUFBQSxDQUhNLEVBU3JCO0FBQUEsTUFBR2IsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDYyxRQUFOLENBQWVDLEVBQTlCO0FBQUEsQ0FUcUIsRUFVbkI7QUFBQSxNQUFHZixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNnQixVQUFOLENBQWlCQyxJQUFoQztBQUFBLENBVm1CLEVBMEJkO0FBQUEsTUFBR2pCLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJnQixHQUF6QztBQUFBLENBMUJjLEVBMkJ6QjtBQUFBLE1BQUdsQixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCZ0IsR0FBekM7QUFBQSxDQTNCeUIsRUE4QmQ7QUFBQSxNQUFHbEIsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCa0IsT0FBbEIsQ0FBMEJDLEVBQXpDO0FBQUEsQ0E5QmMsRUErQnpCO0FBQUEsTUFBR3BCLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmtCLE9BQWxCLENBQTBCQyxFQUF6QztBQUFBLENBL0J5QixFQWtDZDtBQUFBLE1BQUdwQixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkMsSUFBdEM7QUFBQSxDQWxDYyxFQW1DekI7QUFBQSxNQUFHdEIsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCb0IsSUFBbEIsQ0FBdUJDLElBQXRDO0FBQUEsQ0FuQ3lCLEVBc0NkO0FBQUEsTUFBR3RCLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQm9CLElBQWxCLENBQXVCRSxJQUF0QztBQUFBLENBdENjLEVBdUN6QjtBQUFBLE1BQUd2QixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkUsSUFBdEM7QUFBQSxDQXZDeUIsQ0FBdEM7O0FBbURBLElBQU1DLDRCQUE0QixHQUFHaEIsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsaURBRXpCO0FBQUEsTUFBR2dCLEdBQUgsVUFBR0EsR0FBSDtBQUFBLFNBQWFBLEdBQUcsR0FBRyxJQUFuQjtBQUFBLENBRnlCLENBQWxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7XG4gIE5vdGlmaWNhdGlvbixcbiAgc2V2ZXJpdGllc1JhZGlvQnV0dG9ucyxcbiAgd2F0ZXJBdXRob3JpdGllc1JhZGlvQnV0dG9ucyxcbiAgc291cmNlc1JhZGlvQnV0dG9ucyxcbiAgc2VuZFZpYUNoZWNrQm94ZXMsXG4gIEFkdmFuY2VkU2VsZWN0aW9uLFxufSBmcm9tICdzcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscyc7XG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnc3JjL3VpLWtpdC9DaGVja2JveC9DaGVja2JveCc7XG5pbXBvcnQgUmFkaW9CdXR0b25Hcm91cCBmcm9tICdzcmMvdWkta2l0L1JhZGlvQnV0dG9ucy9SYWRpb0J1dHRvbkdyb3VwJztcbmltcG9ydCBTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB7XG4gIGhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSxcbiAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSxcbiAgaGFuZGxlU2VuZFZpYSxcbiAgaGFuZGxlU2Vuc29ycyxcbiAgaGFuZGxlU2V2ZXJpdGllcyxcbiAgaGFuZGxlU291cmNlcyxcbiAgaGFuZGxlVGFncyxcbiAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyxcbn0gZnJvbSAnLi4vTm90aWZpY2F0aW9uc1V0aWxzJztcbmltcG9ydCBBbGVydCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvQWxlcnQnO1xuaW1wb3J0IHsgQWxlcnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi8uLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuXG5pbnRlcmZhY2Ugbm90aWZpY2F0aW9uRm9ybUNvbnRlbnRQcm9wcyB7XG4gIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uO1xuICBwb2ludHM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHNlbnNvcnM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHdhdGVyQXV0aG9yaXRpZXM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIGFsbG93ZWROb3RpZmljYXRpb25zOiBzdHJpbmdbXTtcbiAgc2V0TmV3Tm90aWZpY2F0aW9uOiBhbnk7XG4gIGhhc1Bob25lOiBib29sZWFuO1xuICBoYXNUZWxlZ3JhbTogYm9vbGVhbjtcbn1cblxuY29uc3QgTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50OiBSZWFjdC5GQzxub3RpZmljYXRpb25Gb3JtQ29udGVudFByb3BzPiA9ICh7XG4gIG5vdGlmaWNhdGlvbixcbiAgcG9pbnRzLFxuICB0YWdzLFxuICBzZW5zb3JzLFxuICB3YXRlckF1dGhvcml0aWVzLFxuICBhbGxvd2VkTm90aWZpY2F0aW9ucyxcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICBoYXNQaG9uZSxcbiAgaGFzVGVsZWdyYW0sXG59KSA9PiB7XG4gIGNvbnN0IFttb2RhbERldGFpbHMsIHNldE1vZGFsRGV0YWlsc10gPSB1c2VTdGF0ZTxBbGVydERldGFpbHM+KHtcbiAgICBvcGVuOiBmYWxzZSxcbiAgICBpbnN0YW5jZTogJycsXG4gIH0pO1xuXG4gIGNvbnN0IGRlZmF1bHRXYXRlckF1dGhvcml0eUlmU2luZ2xlID0gKCkgPT4ge1xuICAgIGlmICh3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShcbiAgICAgICAgeyB2YWx1ZTogJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJywgbGFiZWw6ICdQb2xsdXRpb24gRXZlbnQnIH0sXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgKTtcbiAgICAgIGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMoXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAge1xuICAgICAgICAgIHNlbGVjdGlvbl90eXBlOiAnaW5jbHVkZScsXG4gICAgICAgICAgc2V0OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhbHVlOiB3YXRlckF1dGhvcml0aWVzWzBdLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgbGFiZWw6IHdhdGVyQXV0aG9yaXRpZXNbMF0ud2F0ZXJfYXV0aG9yaXR5LmxhYmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGVmYXVsdFdhdGVyQXV0aG9yaXR5SWZTaW5nbGUoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vdGlmaWNhdGlvblNpZGViYXJGb3JtQXJlYVN0eWxlPlxuICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXR5cGVcIj5cbiAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdHlwZScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPFNlbGVjdFxuICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uKSA9PlxuICAgICAgICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShvcHRpb24sIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgICBuYW1lPXsndHlwZSd9XG4gICAgICAgICAgb3B0aW9ucz17YWxsb3dlZE5vdGlmaWNhdGlvbnMhLm1hcCgodHlwZTogYW55KSA9PiAoe1xuICAgICAgICAgICAgdmFsdWU6IHR5cGUsXG4gICAgICAgICAgICBsYWJlbDogaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuJHt0eXBlfWApLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICcnXG4gICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG5vdGlmaWNhdGlvbi50eXBlLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7bm90aWZpY2F0aW9uLnR5cGV9YCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUG9sbHV0aW9uQWxlcnRDb25maWcnLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLlBvbGx1dGlvbkFsZXJ0Q29uZmlnYCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgIHtub3RpZmljYXRpb24udHlwZSA9PT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi1zZXZlcml0eVwiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NldmVyaXR5Jyl9XG4gICAgICAgICAgICA8L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIxMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NldmVyaXRpZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTZXZlcml0aWVzKGV2ZW50LCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnNldmVyaXR5fVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi5zZXZlcml0eX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICAgKX1cbiAgICAgIHt3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24td2F0ZXItYXV0aG9yaXRpZXNcIj5cbiAgICAgICAgICA8Rm9ybS5MYWJlbD5cbiAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS53YXRlcl9hdXRob3JpdGllcycpfVxuICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICBvcHRpb25zPXt3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICBoYW5kbGVXYXRlckF1dGhvcml0aWVzKFxuICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGV9XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIHtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcHRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyhcbiAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17d2F0ZXJBdXRob3JpdGllcz8ubWFwKCh3YTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IHdhLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiB3YS53YXRlcl9hdXRob3JpdHkubGFiZWwsXG4gICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17XG4gICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gbm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzLnNldC5tYXAoKHdhOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogd2EuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogd2EudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICl9XG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgIT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXNvdXJjZXNcIj5cbiAgICAgICAgICAgIDxGb3JtLkxhYmVsPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zb3VyY2VzJyl9PC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NvdXJjZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKGV2ZW50LCAnJywgbm90aWZpY2F0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24ucG9pbnRzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KG9wdGlvbjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKFxuICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25fdHlwZTogbm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXQ6IG9wdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaXNTZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzTXVsdGk9e3RydWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3BvaW50cz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogcC5wb2ludC5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnBvaW50LmxhYmVsLFxuICAgICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnBvaW50cy5zZXQgIT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24ucG9pbnRzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi10YWdzXCI+XG4gICAgICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UudGFncycpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgIDxOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIGdhcD1cIjBcIj5cbiAgICAgICAgICAgICAgPFJhZGlvQnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzb3VyY2VzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhldmVudCwgJycsIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnRhZ3Muc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhcbiAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi50YWdzICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldDogb3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBpc1NlYXJjaGFibGU9e3RydWV9XG4gICAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGFncz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnRhZy5pZCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGFnLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3Muc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24udGFncy5zZXQubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogcC50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJlxuICAgICAgICBub3RpZmljYXRpb24uc2Vuc29ycyAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2Vuc29yc1wiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNlbnNvcnMnKX08L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICAgIDxSYWRpb0J1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgb3B0aW9ucz17c291cmNlc1JhZGlvQnV0dG9uc31cbiAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoZXZlbnQsICcnLCBub3RpZmljYXRpb24sIHNldE5ld05vdGlmaWNhdGlvbilcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgICAge25vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlICE9PSAnYWxsJyAmJiAoXG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBuYW1lPXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbl90eXBlOlxuICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNlbnNvcnMgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzZW5zb3JzPy5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnNlbnNvci5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnNlbnNvci5sYWJlbCxcbiAgICAgICAgICAgICAgICB9KSl9XG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldCAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2VuZFwiPlxuICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMTBcIj5cbiAgICAgICAgICB7c2VuZFZpYUNoZWNrQm94ZXMubWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAga2V5PXt2YWx1ZS5sYWJlbH1cbiAgICAgICAgICAgICAgICBvcHRpb249e3ZhbHVlfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlU2VuZFZpYShcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHMsXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnRlbGVncmFtICYmXG4gICAgICAgICAgICAhaGFzVGVsZWdyYW0gJiZcbiAgICAgICAgICAgIG1vZGFsRGV0YWlscy5vcGVuICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMuaW5zdGFuY2UgPT09ICd0ZWxlZ3JhbScgJiYgKFxuICAgICAgICAgICAgICA8QWxlcnRcbiAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHM9e3NldE1vZGFsRGV0YWlsc31cbiAgICAgICAgICAgICAgICBjaGlsZHJlbj17XG4gICAgICAgICAgICAgICAgICA8QWxlcnRDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYV9ub190ZWxlZ3JhbScpfVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxNb2RhbEFjdGlvbnNCdXR0b24gY29sb3I9e3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfT5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uub2snKX1cbiAgICAgICAgICAgICAgICAgICAgPC9Nb2RhbEFjdGlvbnNCdXR0b24+XG4gICAgICAgICAgICAgICAgICA8L0FsZXJ0Q29udGVudD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnNtcyAmJlxuICAgICAgICAgICAgIWhhc1Bob25lICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMub3BlbiAmJlxuICAgICAgICAgICAgbW9kYWxEZXRhaWxzLmluc3RhbmNlID09PSAnc21zJyAmJiAoXG4gICAgICAgICAgICAgIDxBbGVydFxuICAgICAgICAgICAgICAgIHNldE1vZGFsRGV0YWlscz17c2V0TW9kYWxEZXRhaWxzfVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuPXtcbiAgICAgICAgICAgICAgICAgIDxBbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NlbmRfdmlhX25vX3Bob25lJyl9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8TW9kYWxBY3Rpb25zQnV0dG9uIGNvbG9yPXt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH0+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLm9rJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvTW9kYWxBY3Rpb25zQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9BbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAge25vdGlmaWNhdGlvbi50eXBlID09PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXA+XG4gICAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgICBpbmxpbmVcbiAgICAgICAgICAgICAgbGFiZWw9e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc2FtcGxlcl9hY3RpdmUnKX1cbiAgICAgICAgICAgICAgbmFtZT1cInB1bXBfb25seVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIGlkPVwicHVtcF9vbmx5XCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUoZSwgc2V0TmV3Tm90aWZpY2F0aW9uKX1cbiAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLnB1bXBfb25seSA9PT0gJzEnfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgICl9XG4gICAgPC9Ob3RpZmljYXRpb25TaWRlYmFyRm9ybUFyZWFTdHlsZT5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vdGlmaWNhdGlvbnNGb3JtQ29udGVudDtcblxuY29uc3QgQWxlcnRDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcCB7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IE1vZGFsQWN0aW9uc0J1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYThhOGFhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7KHsgY29sb3IgfSkgPT4gY29sb3J9O1xuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNzJ2aDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggMXB4ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMzB9O1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICAgIGZvbnQtd2VpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRXZWlnaHQudzYwMH07XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC5hbGwsXG4gIC5pbmNsdWRlLFxuICAuZXhjbHVkZSxcbiAgLnRlbGVncmFtLFxuICAuZW1haWwsXG4gIC5zbXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uODB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjgwfTtcbiAgfVxuICAuZXh0cmVtZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuICAuaGlnaCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLk8xMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuTzEwMH07XG4gIH1cbiAgLm1lZGl1bSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLlcxMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuVzEwMH07XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0ICFpbXBvcnRhbnQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiA3cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgPSBzdHlsZWQuZGl2PHsgZ2FwOiBzdHJpbmcgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogJHsoeyBnYXAgfSkgPT4gZ2FwICsgJ3B4J307XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG4iXX0=
|
|
351
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc0Zvcm0vTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50LnRzeCJdLCJuYW1lcyI6WyJOb3RpZmljYXRpb25zRm9ybUNvbnRlbnQiLCJub3RpZmljYXRpb24iLCJwb2ludHMiLCJ0YWdzIiwic2Vuc29ycyIsIndhdGVyQXV0aG9yaXRpZXMiLCJhbGxvd2VkTm90aWZpY2F0aW9ucyIsInNldE5ld05vdGlmaWNhdGlvbiIsImhhc1Bob25lIiwiaGFzVGVsZWdyYW0iLCJvcGVuIiwiaW5zdGFuY2UiLCJtb2RhbERldGFpbHMiLCJzZXRNb2RhbERldGFpbHMiLCJkZWZhdWx0V2F0ZXJBdXRob3JpdHlJZlNpbmdsZSIsImxlbmd0aCIsInZhbHVlIiwibGFiZWwiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsIndhdGVyX2F1dGhvcml0eSIsImlkIiwiaTE4biIsInQiLCJvcHRpb24iLCJtYXAiLCJ0eXBlIiwiaW5jbHVkZXMiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwiZXZlbnQiLCJzZXZlcml0eSIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJ3YXRlcl9hdXRob3JpdGllcyIsIndhIiwidGV4dCIsInNvdXJjZXNSYWRpb0J1dHRvbnMiLCJwIiwicG9pbnQiLCJ0YWciLCJzZW5zb3IiLCJzZW5kVmlhQ2hlY2tCb3hlcyIsImFjdGlvbnMiLCJ0ZWxlZ3JhbSIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjYwIiwic21zIiwiZSIsInB1bXBfb25seSIsIkFsZXJ0Q29udGVudCIsInN0eWxlZCIsImRpdiIsIk1vZGFsQWN0aW9uc0J1dHRvbiIsImNvbG9yIiwiTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUiLCJuMzAiLCJmb250U2l6ZSIsIm1kIiwiZm9udFdlaWdodCIsInc2MDAiLCJuODAiLCJwcmltYXJ5IiwicDEiLCJkYXRhIiwiTzEwMCIsIlcxMDAiLCJOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIiwiZ2FwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFVQTs7QUFFQTs7Ozs7O0FBY0EsSUFBTUEsd0JBQWdFLEdBQUcsU0FBbkVBLHdCQUFtRSxPQVVuRTtBQUFBLE1BVEpDLFlBU0ksUUFUSkEsWUFTSTtBQUFBLE1BUkpDLE1BUUksUUFSSkEsTUFRSTtBQUFBLE1BUEpDLElBT0ksUUFQSkEsSUFPSTtBQUFBLE1BTkpDLE9BTUksUUFOSkEsT0FNSTtBQUFBLE1BTEpDLGdCQUtJLFFBTEpBLGdCQUtJO0FBQUEsTUFKSkMsb0JBSUksUUFKSkEsb0JBSUk7QUFBQSxNQUhKQyxrQkFHSSxRQUhKQSxrQkFHSTtBQUFBLE1BRkpDLFFBRUksUUFGSkEsUUFFSTtBQUFBLE1BREpDLFdBQ0ksUUFESkEsV0FDSTs7QUFDSixrQkFBd0MscUJBQXVCO0FBQzdEQyxJQUFBQSxJQUFJLEVBQUUsS0FEdUQ7QUFFN0RDLElBQUFBLFFBQVEsRUFBRTtBQUZtRCxHQUF2QixDQUF4QztBQUFBO0FBQUEsTUFBT0MsWUFBUDtBQUFBLE1BQXFCQyxlQUFyQjs7QUFLQSxNQUFNQyw2QkFBNkIsR0FBRyxTQUFoQ0EsNkJBQWdDLEdBQU07QUFDMUMsUUFBSVQsZ0JBQWdCLENBQUNVLE1BQWpCLEtBQTRCLENBQWhDLEVBQW1DO0FBQ2pDLHNEQUNFO0FBQUVDLFFBQUFBLEtBQUssRUFBRSxzQkFBVDtBQUFpQ0MsUUFBQUEsS0FBSyxFQUFFO0FBQXhDLE9BREYsRUFFRWhCLFlBRkYsRUFHRU0sa0JBSEY7QUFLQSxzREFDRVcsU0FERixFQUVFO0FBQ0VDLFFBQUFBLGNBQWMsRUFBRSxTQURsQjtBQUVFQyxRQUFBQSxHQUFHLEVBQUUsQ0FDSDtBQUNFSixVQUFBQSxLQUFLLEVBQUVYLGdCQUFnQixDQUFDLENBQUQsQ0FB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QnpCO0FBQUEsTUFBR3BCLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmtCLE9BQWxCLENBQTBCQyxFQUF6QztBQUFBLENBL0J5QixFQWtDZDtBQUFBLE1BQUdwQixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkMsSUFBdEM7QUFBQSxDQWxDYyxFQW1DekI7QUFBQSxNQUFHdEIsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCb0IsSUFBbEIsQ0FBdUJDLElBQXRDO0FBQUEsQ0FuQ3lCLEVBc0NkO0FBQUEsTUFBR3RCLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQm9CLElBQWxCLENBQXVCRSxJQUF0QztBQUFBLENBdENjLEVBdUN6QjtBQUFBLE1BQUd2QixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JvQixJQUFsQixDQUF1QkUsSUFBdEM7QUFBQSxDQXZDeUIsQ0FBdEM7O0FBbURBLElBQU1DLDRCQUE0QixHQUFHaEIsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsaURBRXpCO0FBQUEsTUFBR2dCLEdBQUgsVUFBR0EsR0FBSDtBQUFBLFNBQWFBLEdBQUcsR0FBRyxJQUFuQjtBQUFBLENBRnlCLENBQWxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7XG4gIE5vdGlmaWNhdGlvbixcbiAgc2V2ZXJpdGllc1JhZGlvQnV0dG9ucyxcbiAgd2F0ZXJBdXRob3JpdGllc1JhZGlvQnV0dG9ucyxcbiAgc291cmNlc1JhZGlvQnV0dG9ucyxcbiAgc2VuZFZpYUNoZWNrQm94ZXMsXG4gIEFkdmFuY2VkU2VsZWN0aW9uLFxufSBmcm9tICdzcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscyc7XG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnc3JjL3VpLWtpdC9DaGVja2JveC9DaGVja2JveCc7XG5pbXBvcnQgUmFkaW9CdXR0b25Hcm91cCBmcm9tICdzcmMvdWkta2l0L1JhZGlvQnV0dG9ucy9SYWRpb0J1dHRvbkdyb3VwJztcbmltcG9ydCBTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB7XG4gIGhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSxcbiAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSxcbiAgaGFuZGxlU2VuZFZpYSxcbiAgaGFuZGxlU2Vuc29ycyxcbiAgaGFuZGxlU2V2ZXJpdGllcyxcbiAgaGFuZGxlU291cmNlcyxcbiAgaGFuZGxlVGFncyxcbiAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyxcbn0gZnJvbSAnLi4vTm90aWZpY2F0aW9uc1V0aWxzJztcbmltcG9ydCBBbGVydCBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvQWxlcnQnO1xuaW1wb3J0IHsgQWxlcnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi8uLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuXG5pbnRlcmZhY2Ugbm90aWZpY2F0aW9uRm9ybUNvbnRlbnRQcm9wcyB7XG4gIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uO1xuICBwb2ludHM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHNlbnNvcnM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIHdhdGVyQXV0aG9yaXRpZXM6IEFkdmFuY2VkU2VsZWN0aW9uW107XG4gIGFsbG93ZWROb3RpZmljYXRpb25zOiBzdHJpbmdbXTtcbiAgc2V0TmV3Tm90aWZpY2F0aW9uOiBhbnk7XG4gIGhhc1Bob25lOiBib29sZWFuO1xuICBoYXNUZWxlZ3JhbTogYm9vbGVhbjtcbn1cblxuY29uc3QgTm90aWZpY2F0aW9uc0Zvcm1Db250ZW50OiBSZWFjdC5GQzxub3RpZmljYXRpb25Gb3JtQ29udGVudFByb3BzPiA9ICh7XG4gIG5vdGlmaWNhdGlvbixcbiAgcG9pbnRzLFxuICB0YWdzLFxuICBzZW5zb3JzLFxuICB3YXRlckF1dGhvcml0aWVzLFxuICBhbGxvd2VkTm90aWZpY2F0aW9ucyxcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICBoYXNQaG9uZSxcbiAgaGFzVGVsZWdyYW0sXG59KSA9PiB7XG4gIGNvbnN0IFttb2RhbERldGFpbHMsIHNldE1vZGFsRGV0YWlsc10gPSB1c2VTdGF0ZTxBbGVydERldGFpbHM+KHtcbiAgICBvcGVuOiBmYWxzZSxcbiAgICBpbnN0YW5jZTogJycsXG4gIH0pO1xuXG4gIGNvbnN0IGRlZmF1bHRXYXRlckF1dGhvcml0eUlmU2luZ2xlID0gKCkgPT4ge1xuICAgIGlmICh3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShcbiAgICAgICAgeyB2YWx1ZTogJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJywgbGFiZWw6ICdQb2xsdXRpb24gRXZlbnQnIH0sXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgKTtcbiAgICAgIGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMoXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAge1xuICAgICAgICAgIHNlbGVjdGlvbl90eXBlOiAnaW5jbHVkZScsXG4gICAgICAgICAgc2V0OiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHZhbHVlOiB3YXRlckF1dGhvcml0aWVzWzBdLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgbGFiZWw6IHdhdGVyQXV0aG9yaXRpZXNbMF0ud2F0ZXJfYXV0aG9yaXR5LmxhYmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGVmYXVsdFdhdGVyQXV0aG9yaXR5SWZTaW5nbGUoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vdGlmaWNhdGlvblNpZGViYXJGb3JtQXJlYVN0eWxlPlxuICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXR5cGVcIj5cbiAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdHlwZScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPFNlbGVjdFxuICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uKSA9PlxuICAgICAgICAgICAgaGFuZGxlTm90aWZpY2F0aW9uVHlwZShvcHRpb24sIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgICBuYW1lPXsndHlwZSd9XG4gICAgICAgICAgb3B0aW9ucz17YWxsb3dlZE5vdGlmaWNhdGlvbnMhLm1hcCgodHlwZTogYW55KSA9PiAoe1xuICAgICAgICAgICAgdmFsdWU6IHR5cGUsXG4gICAgICAgICAgICBsYWJlbDogaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuJHt0eXBlfWApLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICcnXG4gICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG5vdGlmaWNhdGlvbi50eXBlLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7bm90aWZpY2F0aW9uLnR5cGV9YCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUG9sbHV0aW9uQWxlcnRDb25maWcnLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLlBvbGx1dGlvbkFsZXJ0Q29uZmlnYCksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpc0Rpc2FibGVkPXtub3RpZmljYXRpb24uaWQgPyB0cnVlIDogZmFsc2V9XG4gICAgICAgICAgaXNTZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgIHtub3RpZmljYXRpb24udHlwZSA9PT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi1zZXZlcml0eVwiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NldmVyaXR5Jyl9XG4gICAgICAgICAgICA8L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIxMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NldmVyaXRpZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTZXZlcml0aWVzKGV2ZW50LCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnNldmVyaXR5fVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi5zZXZlcml0eX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICAgKX1cbiAgICAgIHt3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24td2F0ZXItYXV0aG9yaXRpZXNcIj5cbiAgICAgICAgICA8Rm9ybS5MYWJlbD5cbiAgICAgICAgICAgIHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS53YXRlcl9hdXRob3JpdGllcycpfVxuICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICBvcHRpb25zPXt3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICBoYW5kbGVXYXRlckF1dGhvcml0aWVzKFxuICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGV9XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgIHtub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcHRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlV2F0ZXJBdXRob3JpdGllcyhcbiAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2VsZWN0aW9uX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3dhdGVyX2F1dGhvcml0eSd9XG4gICAgICAgICAgICAgICAgb3B0aW9ucz17d2F0ZXJBdXRob3JpdGllcz8ubWFwKCh3YTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IHdhLndhdGVyX2F1dGhvcml0eS5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiB3YS53YXRlcl9hdXRob3JpdHkubGFiZWwsXG4gICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17XG4gICAgICAgICAgICAgICAgICBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXMuc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gbm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzLnNldC5tYXAoKHdhOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogd2EuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogd2EudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICl9XG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgIT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXAgY29udHJvbElkPVwibm90aWZpY2F0aW9uLXNvdXJjZXNcIj5cbiAgICAgICAgICAgIDxGb3JtLkxhYmVsPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zb3VyY2VzJyl9PC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMFwiPlxuICAgICAgICAgICAgICA8UmFkaW9CdXR0b25Hcm91cFxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3NvdXJjZXNSYWRpb0J1dHRvbnN9XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXsoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKGV2ZW50LCAnJywgbm90aWZpY2F0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24ucG9pbnRzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcgJiYgKFxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KG9wdGlvbjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICBoYW5kbGVTb3VyY2VzKFxuICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25fdHlwZTogbm90aWZpY2F0aW9uLnBvaW50cy5zZWxlY3Rpb25fdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICBzZXQ6IG9wdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaXNTZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzTXVsdGk9e3RydWV9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9wdGlvbnM9e3BvaW50cz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICB2YWx1ZTogcC5wb2ludC5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnBvaW50LmxhYmVsLFxuICAgICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnBvaW50cy5zZXQgIT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24ucG9pbnRzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycgJiZcbiAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3MgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBhbGxvd2VkTm90aWZpY2F0aW9ucy5pbmNsdWRlcyhub3RpZmljYXRpb24udHlwZSkgJiYgKFxuICAgICAgICAgIDxGb3JtLkdyb3VwIGNvbnRyb2xJZD1cIm5vdGlmaWNhdGlvbi10YWdzXCI+XG4gICAgICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UudGFncycpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgIDxOb3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlIGdhcD1cIjBcIj5cbiAgICAgICAgICAgICAgPFJhZGlvQnV0dG9uR3JvdXBcbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzb3VyY2VzUmFkaW9CdXR0b25zfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhldmVudCwgJycsIG5vdGlmaWNhdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e25vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L05vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGU+XG4gICAgICAgICAgICB7bm90aWZpY2F0aW9uLnRhZ3Muc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnICYmXG4gICAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgbmFtZT17J3BvaW50J31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlVGFncyhcbiAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uX3R5cGU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi50YWdzICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi50YWdzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldDogb3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBpc1NlYXJjaGFibGU9e3RydWV9XG4gICAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsncG9pbnQnfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGFncz8ubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnRhZy5pZCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGFnLmxhYmVsLFxuICAgICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnRhZ3Muc2V0ICE9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgPyBub3RpZmljYXRpb24udGFncy5zZXQubWFwKChwOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogcC50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICB7bm90aWZpY2F0aW9uLnR5cGUgPT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJlxuICAgICAgICBub3RpZmljYXRpb24uc2Vuc29ycyAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2Vuc29yc1wiPlxuICAgICAgICAgICAgPEZvcm0uTGFiZWw+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNlbnNvcnMnKX08L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NoZWNrYm94ZXNTdHlsZSBnYXA9XCIwXCI+XG4gICAgICAgICAgICAgIDxSYWRpb0J1dHRvbkdyb3VwXG4gICAgICAgICAgICAgICAgb3B0aW9ucz17c291cmNlc1JhZGlvQnV0dG9uc31cbiAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyhldmVudCkgPT5cbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoZXZlbnQsICcnLCBub3RpZmljYXRpb24sIHNldE5ld05vdGlmaWNhdGlvbilcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtub3RpZmljYXRpb24uc2Vuc29ycy5zZWxlY3Rpb25fdHlwZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgICAgICAge25vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlICE9PSAnYWxsJyAmJiAoXG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBuYW1lPXsncG9pbnQnfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbnNvcnMoXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbl90eXBlOlxuICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNlbnNvcnMgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNlbGVjdGlvbl90eXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgc2V0OiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc011bHRpPXt0cnVlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J3BvaW50J31cbiAgICAgICAgICAgICAgICBvcHRpb25zPXtzZW5zb3JzPy5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLnNlbnNvci5pZCxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBwLnNlbnNvci5sYWJlbCxcbiAgICAgICAgICAgICAgICB9KSl9XG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtcbiAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldCAhPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICA/IG5vdGlmaWNhdGlvbi5zZW5zb3JzLnNldC5tYXAoKHA6IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHAudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICApfVxuXG4gICAgICA8Rm9ybS5Hcm91cCBjb250cm9sSWQ9XCJub3RpZmljYXRpb24tc2VuZFwiPlxuICAgICAgICA8Rm9ybS5MYWJlbD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYScpfTwvRm9ybS5MYWJlbD5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgZ2FwPVwiMTBcIj5cbiAgICAgICAgICB7c2VuZFZpYUNoZWNrQm94ZXMubWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAga2V5PXt2YWx1ZS5sYWJlbH1cbiAgICAgICAgICAgICAgICBvcHRpb249e3ZhbHVlfVxuICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgaGFuZGxlU2VuZFZpYShcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHMsXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLmFjdGlvbnN9XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnRlbGVncmFtICYmXG4gICAgICAgICAgICAhaGFzVGVsZWdyYW0gJiZcbiAgICAgICAgICAgIG1vZGFsRGV0YWlscy5vcGVuICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMuaW5zdGFuY2UgPT09ICd0ZWxlZ3JhbScgJiYgKFxuICAgICAgICAgICAgICA8QWxlcnRcbiAgICAgICAgICAgICAgICBzZXRNb2RhbERldGFpbHM9e3NldE1vZGFsRGV0YWlsc31cbiAgICAgICAgICAgICAgICBjaGlsZHJlbj17XG4gICAgICAgICAgICAgICAgICA8QWxlcnRDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zZW5kX3ZpYV9ub190ZWxlZ3JhbScpfVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxNb2RhbEFjdGlvbnNCdXR0b24gY29sb3I9e3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfT5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uub2snKX1cbiAgICAgICAgICAgICAgICAgICAgPC9Nb2RhbEFjdGlvbnNCdXR0b24+XG4gICAgICAgICAgICAgICAgICA8L0FsZXJ0Q29udGVudD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuXG4gICAgICAgICAge25vdGlmaWNhdGlvbi5hY3Rpb25zLnNtcyAmJlxuICAgICAgICAgICAgIWhhc1Bob25lICYmXG4gICAgICAgICAgICBtb2RhbERldGFpbHMub3BlbiAmJlxuICAgICAgICAgICAgbW9kYWxEZXRhaWxzLmluc3RhbmNlID09PSAnc21zJyAmJiAoXG4gICAgICAgICAgICAgIDxBbGVydFxuICAgICAgICAgICAgICAgIHNldE1vZGFsRGV0YWlscz17c2V0TW9kYWxEZXRhaWxzfVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuPXtcbiAgICAgICAgICAgICAgICAgIDxBbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NlbmRfdmlhX25vX3Bob25lJyl9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8TW9kYWxBY3Rpb25zQnV0dG9uIGNvbG9yPXt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH0+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLm9rJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvTW9kYWxBY3Rpb25zQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9BbGVydENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9Ob3RpZmljYXRpb25zQ2hlY2tib3hlc1N0eWxlPlxuICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAge25vdGlmaWNhdGlvbi50eXBlID09PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnICYmXG4gICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi50eXBlKSAmJiAoXG4gICAgICAgICAgPEZvcm0uR3JvdXA+XG4gICAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgICBpbmxpbmVcbiAgICAgICAgICAgICAgbGFiZWw9e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc2FtcGxlcl9hY3RpdmUnKX1cbiAgICAgICAgICAgICAgbmFtZT1cInB1bXBfb25seVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIGlkPVwicHVtcF9vbmx5XCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUoZSwgc2V0TmV3Tm90aWZpY2F0aW9uKX1cbiAgICAgICAgICAgICAgY2hlY2tlZD17bm90aWZpY2F0aW9uLnB1bXBfb25seSA9PT0gJzEnfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgICl9XG4gICAgPC9Ob3RpZmljYXRpb25TaWRlYmFyRm9ybUFyZWFTdHlsZT5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vdGlmaWNhdGlvbnNGb3JtQ29udGVudDtcblxuY29uc3QgQWxlcnRDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcCB7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDAgMzBweDtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IE1vZGFsQWN0aW9uc0J1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYThhOGFhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICR7KHsgY29sb3IgfSkgPT4gY29sb3J9O1xuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uU2lkZWJhckZvcm1BcmVhU3R5bGUgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNzJ2aDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggMXB4ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMzB9O1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUubWR9O1xuICAgIGZvbnQtd2VpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRXZWlnaHQudzYwMH07XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC5hbGwsXG4gIC5pbmNsdWRlLFxuICAuZXhjbHVkZSxcbiAgLnRlbGVncmFtLFxuICAuZW1haWwsXG4gIC5zbXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uODB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjgwfTtcbiAgfVxuICAuZXh0cmVtZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuICAuaGlnaCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLk8xMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuTzEwMH07XG4gIH1cbiAgLm1lZGl1bSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLlcxMDB9O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuVzEwMH07XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0ICFpbXBvcnRhbnQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiA3cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNDaGVja2JveGVzU3R5bGUgPSBzdHlsZWQuZGl2PHsgZ2FwOiBzdHJpbmcgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogJHsoeyBnYXAgfSkgPT4gZ2FwICsgJ3B4J307XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG4iXX0=
|
|
@@ -11,14 +11,14 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof
|
|
|
11
11
|
|
|
12
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
15
15
|
|
|
16
16
|
var handleNotificationType = function handleNotificationType(option, notification, setNewNotification) {
|
|
17
17
|
var value = notification.available_types.find(function (type) {
|
|
18
18
|
return type === option.value;
|
|
19
19
|
});
|
|
20
20
|
if (value) setNewNotification(function (prevState) {
|
|
21
|
-
return (0,
|
|
21
|
+
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
|
|
22
22
|
type: value
|
|
23
23
|
});
|
|
24
24
|
});
|
|
@@ -29,7 +29,7 @@ exports.handleNotificationType = handleNotificationType;
|
|
|
29
29
|
var handleSeverities = function handleSeverities(e, setNewNotification) {
|
|
30
30
|
var value = e.target.value;
|
|
31
31
|
setNewNotification(function (prevState) {
|
|
32
|
-
return (0,
|
|
32
|
+
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
|
|
33
33
|
severity: value
|
|
34
34
|
});
|
|
35
35
|
});
|
|
@@ -41,7 +41,7 @@ var handleWaterAuthorities = function handleWaterAuthorities(e) {
|
|
|
41
41
|
var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
42
42
|
var newNotification = arguments.length > 2 ? arguments[2] : undefined;
|
|
43
43
|
var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
|
|
44
|
-
var value = (0,
|
|
44
|
+
var value = (0, _objectSpread3.default)({}, newNotification.water_authorities);
|
|
45
45
|
handleSelectionAndSet(value, 'water_authorities', e, option, setNewNotification);
|
|
46
46
|
};
|
|
47
47
|
|
|
@@ -51,7 +51,7 @@ var handleSources = function handleSources(e) {
|
|
|
51
51
|
var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
52
52
|
var newNotification = arguments.length > 2 ? arguments[2] : undefined;
|
|
53
53
|
var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
|
|
54
|
-
var value = (0,
|
|
54
|
+
var value = (0, _objectSpread3.default)({}, newNotification.points);
|
|
55
55
|
handleSelectionAndSet(value, 'points', e, option, setNewNotification);
|
|
56
56
|
};
|
|
57
57
|
|
|
@@ -61,7 +61,7 @@ var handleTags = function handleTags(e) {
|
|
|
61
61
|
var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
62
62
|
var newNotification = arguments.length > 2 ? arguments[2] : undefined;
|
|
63
63
|
var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
|
|
64
|
-
var value = (0,
|
|
64
|
+
var value = (0, _objectSpread3.default)({}, newNotification.tags);
|
|
65
65
|
handleSelectionAndSet(value, 'tags', e, option, setNewNotification);
|
|
66
66
|
};
|
|
67
67
|
|
|
@@ -71,7 +71,7 @@ var handleSensors = function handleSensors(e) {
|
|
|
71
71
|
var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
72
72
|
var newNotification = arguments.length > 2 ? arguments[2] : undefined;
|
|
73
73
|
var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
|
|
74
|
-
var value = (0,
|
|
74
|
+
var value = (0, _objectSpread3.default)({}, newNotification.sensors);
|
|
75
75
|
handleSelectionAndSet(value, 'sensors', e, option, setNewNotification);
|
|
76
76
|
};
|
|
77
77
|
|
|
@@ -83,32 +83,31 @@ var handleSelectionAndSet = function handleSelectionAndSet(value, field, e) {
|
|
|
83
83
|
|
|
84
84
|
if (e !== undefined && e.target !== undefined) {
|
|
85
85
|
value.selection_type = e.target.value;
|
|
86
|
-
setNewNotification(function (prevState) {
|
|
87
|
-
return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, prevState), {}, (0, _defineProperty2.default)({}, field, value));
|
|
88
|
-
});
|
|
89
86
|
} else {
|
|
90
|
-
var set = [];
|
|
91
|
-
option.set.forEach(function (option) {
|
|
92
|
-
set.push(JSON.stringify(option.value));
|
|
93
|
-
});
|
|
94
87
|
value.selection_type = option.selection_type;
|
|
88
|
+
}
|
|
95
89
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
90
|
+
if (value.selection_type === 'all') {
|
|
91
|
+
value.set = new Array();
|
|
92
|
+
} else {
|
|
93
|
+
var _option$set;
|
|
101
94
|
|
|
102
|
-
|
|
103
|
-
|
|
95
|
+
var set = [];
|
|
96
|
+
(_option$set = option.set) === null || _option$set === void 0 ? void 0 : _option$set.forEach(function (option) {
|
|
97
|
+
set.push(JSON.stringify(option.value));
|
|
104
98
|
});
|
|
99
|
+
value.set = set;
|
|
105
100
|
}
|
|
101
|
+
|
|
102
|
+
setNewNotification(function (prevState) {
|
|
103
|
+
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, (0, _defineProperty2.default)({}, field, value));
|
|
104
|
+
});
|
|
106
105
|
};
|
|
107
106
|
|
|
108
107
|
exports.handleSelectionAndSet = handleSelectionAndSet;
|
|
109
108
|
|
|
110
109
|
var handleSendVia = function handleSendVia(e, newNotification, setNewNotification, setModalDetails) {
|
|
111
|
-
var value = (0,
|
|
110
|
+
var value = (0, _objectSpread3.default)({}, newNotification.actions);
|
|
112
111
|
var field = e.target.value;
|
|
113
112
|
value[field] = !value[field];
|
|
114
113
|
|
|
@@ -120,7 +119,7 @@ var handleSendVia = function handleSendVia(e, newNotification, setNewNotificatio
|
|
|
120
119
|
}
|
|
121
120
|
|
|
122
121
|
setNewNotification(function (prevState) {
|
|
123
|
-
return (0,
|
|
122
|
+
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
|
|
124
123
|
actions: value
|
|
125
124
|
});
|
|
126
125
|
});
|
|
@@ -132,7 +131,7 @@ var handleNotificationSample = function handleNotificationSample(e, setNewNotifi
|
|
|
132
131
|
var value = e.target.checked;
|
|
133
132
|
var parsedValue = value ? '1' : '0';
|
|
134
133
|
setNewNotification(function (prevState) {
|
|
135
|
-
return (0,
|
|
134
|
+
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
|
|
136
135
|
pump_only: parsedValue
|
|
137
136
|
});
|
|
138
137
|
});
|
|
@@ -227,7 +226,7 @@ var formatNotification = function formatNotification(newNotification) {
|
|
|
227
226
|
notificationCopy = parseSeverities(notificationCopy);
|
|
228
227
|
var notificationToSave = {
|
|
229
228
|
user: {
|
|
230
|
-
alert_configs_attributes: (0,
|
|
229
|
+
alert_configs_attributes: (0, _objectSpread3.default)({}, notificationCopy)
|
|
231
230
|
}
|
|
232
231
|
};
|
|
233
232
|
var notificationWithTimeStamp = {
|
|
@@ -241,4 +240,4 @@ var formatNotification = function formatNotification(newNotification) {
|
|
|
241
240
|
};
|
|
242
241
|
|
|
243
242
|
exports.formatNotification = formatNotification;
|
|
244
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc1V0aWxzLnRzIl0sIm5hbWVzIjpbImhhbmRsZU5vdGlmaWNhdGlvblR5cGUiLCJvcHRpb24iLCJub3RpZmljYXRpb24iLCJzZXROZXdOb3RpZmljYXRpb24iLCJ2YWx1ZSIsImF2YWlsYWJsZV90eXBlcyIsImZpbmQiLCJ0eXBlIiwicHJldlN0YXRlIiwiaGFuZGxlU2V2ZXJpdGllcyIsImUiLCJ0YXJnZXQiLCJzZXZlcml0eSIsImhhbmRsZVdhdGVyQXV0aG9yaXRpZXMiLCJuZXdOb3RpZmljYXRpb24iLCJ3YXRlcl9hdXRob3JpdGllcyIsImhhbmRsZVNlbGVjdGlvbkFuZFNldCIsImhhbmRsZVNvdXJjZXMiLCJwb2ludHMiLCJoYW5kbGVUYWdzIiwidGFncyIsImhhbmRsZVNlbnNvcnMiLCJzZW5zb3JzIiwiZmllbGQiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsImZvckVhY2giLCJwdXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsImhhbmRsZVNlbmRWaWEiLCJzZXRNb2RhbERldGFpbHMiLCJhY3Rpb25zIiwib3BlbiIsImluc3RhbmNlIiwiaGFuZGxlTm90aWZpY2F0aW9uU2FtcGxlIiwiY2hlY2tlZCIsInBhcnNlZFZhbHVlIiwicHVtcF9vbmx5IiwidmFsaWRhdGVWYWx1ZUlzTm90QW5PYmplY3QiLCJBcnJheSIsImlzQXJyYXkiLCJwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uIiwid2F0ZXJBdXRob3JpdGllcyIsImFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zIiwic2VsZWN0aW9uIiwicG9pbnQiLCJpZCIsImRlbGV0ZUF0dHJpYnV0ZXMiLCJmb3JtYXRTZW5kVmlhIiwiZm9ybWF0dGVkVmFsdWUiLCJmbGF0IiwicGFyc2VTZXZlcml0aWVzIiwiZm9ybWF0Tm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uQ29weSIsInBhcnNlIiwibm90aWZpY2F0aW9uVG9TYXZlIiwidXNlciIsImFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlcyIsIm5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAiLCJub3ciLCJEYXRlIiwiZ2V0VGltZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRU8sSUFBTUEsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUF5QixDQUNwQ0MsTUFEb0MsRUFFcENDLFlBRm9DLEVBR3BDQyxrQkFIb0MsRUFJakM7QUFDSCxNQUFNQyxLQUFLLEdBQUdGLFlBQVksQ0FBQ0csZUFBYixDQUE4QkMsSUFBOUIsQ0FDWixVQUFDQyxJQUFEO0FBQUEsV0FBVUEsSUFBSSxLQUFLTixNQUFNLENBQUNHLEtBQTFCO0FBQUEsR0FEWSxDQUFkO0FBR0EsTUFBSUEsS0FBSixFQUNFRCxrQkFBa0IsQ0FBQyxVQUFDSyxTQUFEO0FBQUEsdUVBQ2RBLFNBRGM7QUFFakJELE1BQUFBLElBQUksRUFBRUg7QUFGVztBQUFBLEdBQUQsQ0FBbEI7QUFJSCxDQWJNOzs7O0FBZUEsSUFBTUssZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUM5QkMsQ0FEOEIsRUFFOUJQLGtCQUY4QixFQUczQjtBQUNILE1BQU1DLEtBQUssR0FBR00sQ0FBQyxDQUFDQyxNQUFGLENBQVNQLEtBQXZCO0FBRUFELEVBQUFBLGtCQUFrQixDQUFDLFVBQUNLLFNBQUQ7QUFBQSx1RUFDZEEsU0FEYztBQUVqQkksTUFBQUEsUUFBUSxFQUFFUjtBQUZPO0FBQUEsR0FBRCxDQUFsQjtBQUlELENBVk07Ozs7QUFXQSxJQUFNUyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCLENBQ3BDSCxDQURvQyxFQUtqQztBQUFBLE1BSEhULE1BR0csdUVBSFcsRUFHWDtBQUFBLE1BRkhhLGVBRUc7QUFBQSxNQURIWCxrQkFDRztBQUNILE1BQU1DLEtBQUssbUNBQVFVLGVBQWUsQ0FBQ0MsaUJBQXhCLENBQVg7QUFDQUMsRUFBQUEscUJBQXFCLENBQ25CWixLQURtQixF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QUFHO0FBQ3ZCQyxJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsd0JBQXdCLGtDQUNuQkosZ0JBRG1CO0FBRHBCO0FBRGlCLEdBQXpCO0FBUUEsTUFBTUsseUJBQXlCLEdBQUc7QUFDaENGLElBQUFBLElBQUksRUFBRTtBQUNKQyxNQUFBQSx3QkFBd0IsRUFBRTtBQUR0QjtBQUQwQixHQUFsQztBQU1BLE1BQU1FLEdBQUcsR0FBRyxJQUFJQyxJQUFKLEVBQVo7QUFDQUYsRUFBQUEseUJBQXlCLENBQUNGLElBQTFCLENBQStCQyx3QkFBL0IsV0FBMkRFLEdBQUcsQ0FBQ0UsT0FBSixFQUEzRCxLQUNFTixrQkFBa0IsQ0FBQ0MsSUFBbkIsQ0FBd0JDLHdCQUQxQjtBQUdBLFNBQU9DLHlCQUFQO0FBQ0QsQ0ExQk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSA9IChcbiAgb3B0aW9uLFxuICBub3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IG5vdGlmaWNhdGlvbi5hdmFpbGFibGVfdHlwZXMhLmZpbmQoXG4gICAgKHR5cGUpID0+IHR5cGUgPT09IG9wdGlvbi52YWx1ZSxcbiAgKTtcbiAgaWYgKHZhbHVlKVxuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgdHlwZTogdmFsdWUsXG4gICAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNldmVyaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgc2V2ZXJpdHk6IHZhbHVlLFxuICB9KSk7XG59O1xuZXhwb3J0IGNvbnN0IGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldChcbiAgICB2YWx1ZSxcbiAgICAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIGUsXG4gICAgb3B0aW9uLFxuICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTb3VyY2VzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5wb2ludHMgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAncG9pbnRzJywgZSwgb3B0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVRhZ3MgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLnRhZ3MgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAndGFncycsIGUsIG9wdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZW5zb3JzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5zZW5zb3JzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3NlbnNvcnMnLCBlLCBvcHRpb24sIHNldE5ld05vdGlmaWNhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2VsZWN0aW9uQW5kU2V0ID0gKFxuICB2YWx1ZSxcbiAgZmllbGQ6IHN0cmluZyxcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBpZiAoZSAhPT0gdW5kZWZpbmVkICYmIGUudGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgW2ZpZWxkXTogdmFsdWUsXG4gICAgfSkpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNldDogc3RyaW5nW10gPSBbXTtcbiAgICBvcHRpb24uc2V0LmZvckVhY2goKG9wdGlvbikgPT4ge1xuICAgICAgc2V0LnB1c2goSlNPTi5zdHJpbmdpZnkob3B0aW9uLnZhbHVlKSk7XG4gICAgfSk7XG5cbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IG9wdGlvbi5zZWxlY3Rpb25fdHlwZTtcbiAgICBpZiAodmFsdWUuc2V0ID09PSBudWxsKSB7XG4gICAgICB2YWx1ZS5zZXQgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUuc2V0ID0gc2V0O1xuICAgIH1cblxuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgW2ZpZWxkXTogdmFsdWUsXG4gICAgfSkpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2VuZFZpYSA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuICBzZXRNb2RhbERldGFpbHMsXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5hY3Rpb25zIH07XG4gIGNvbnN0IGZpZWxkID0gZS50YXJnZXQudmFsdWU7XG4gIHZhbHVlW2ZpZWxkXSA9ICF2YWx1ZVtmaWVsZF07XG5cbiAgaWYgKGZpZWxkID09PSAnc21zJyB8fCBmaWVsZCA9PT0gJ3RlbGVncmFtJykge1xuICAgIHNldE1vZGFsRGV0YWlscyh7IG9wZW46IHRydWUsIGluc3RhbmNlOiBmaWVsZCB9KTtcbiAgfVxuXG4gIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgIC4uLnByZXZTdGF0ZSxcbiAgICBhY3Rpb25zOiB2YWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LmNoZWNrZWQ7XG4gIGxldCBwYXJzZWRWYWx1ZSA9IHZhbHVlID8gJzEnIDogJzAnO1xuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgcHVtcF9vbmx5OiBwYXJzZWRWYWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlVmFsdWVJc05vdEFuT2JqZWN0ID0gKHZhbHVlKSA9PiB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICFBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgdmFsdWUgIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlTm90aWZpY2F0aW9uQWR2YW5jZWRTZWxlY3Rpb24gPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gIC8vIElmIHRoZXJlJ2xsIGJlIGEgZnV0dXJlIHJlcXVpcmVtZW50IHRvIGFkZCBhbm90aGVyIEFkdmFuY2VkU2VsZWN0aW9uIGZpZWxkcywgcGxlYXNlIGFkZCB0aGVtIHJpZ2h0IGJlbG93XG5cbiAgbGV0IHBvaW50cyA9IG5vdGlmaWNhdGlvbi5wb2ludHM7XG4gIGxldCB3YXRlckF1dGhvcml0aWVzID0gbm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzO1xuICBsZXQgdGFncyA9IG5vdGlmaWNhdGlvbi50YWdzO1xuICBsZXQgc2Vuc29ycyA9IG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuXG4gIGNvbnN0IGFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zID0gW3BvaW50cywgd2F0ZXJBdXRob3JpdGllcywgdGFncywgc2Vuc29yc107XG5cbiAgYWxsX2FkdmFuY2VkX3NlbGVjdGlvbnMuZm9yRWFjaCgoc2VsZWN0aW9uKSA9PiB7XG4gICAgaWYgKFxuICAgICAgdmFsaWRhdGVWYWx1ZUlzTm90QW5PYmplY3QoXG4gICAgICAgIHNlbGVjdGlvbiAhPT0gdW5kZWZpbmVkICYmIHNlbGVjdGlvbi5zZXQgIT09IG51bGwgJiYgc2VsZWN0aW9uLnNldFswXSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IHNldDogc3RyaW5nW10gPSBbXTtcbiAgICAgIHNlbGVjdGlvbi5zZXQuZm9yRWFjaCgocG9pbnQpID0+IHtcbiAgICAgICAgc2V0LnB1c2goSlNPTi5zdHJpbmdpZnkocG9pbnQuaWQpKTtcbiAgICAgIH0pO1xuXG4gICAgICBzZWxlY3Rpb24uc2V0ID0gc2V0O1xuICAgIH1cblxuICAgIGlmIChzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLnNldCAhPT0gdW5kZWZpbmVkICYmIHNlbGVjdGlvbi5zZXQgPT09IG51bGwpIHtcbiAgICAgIHNlbGVjdGlvbi5zZXQgPSBbXTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlQXR0cmlidXRlcyA9IChub3RpZmljYXRpb24sIG5ld05vdGlmaWNhdGlvbikgPT4ge1xuICAvLyBNYWtlIHN1cmUgdG8gcmVtb3ZlIHVubmVjZXNzYXJ5IGF0dHJpYnV0ZXMgZm9yIHNvbWUgQWxlcnRDb25maWdzXG5cbiAgZGVsZXRlIG5vdGlmaWNhdGlvbi5hdmFpbGFibGVfdHlwZXM7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnNldmVyaXR5O1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdQb2xsdXRpb25BbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5wdW1wX29ubHk7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSA9PT0gJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnBvaW50cztcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24udGFncztcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnRGF0YWxvZ2dlclRocmVzaG9sZEFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgbm90aWZpY2F0aW9uWydhbGVydF90eXBlJ10gPSBub3RpZmljYXRpb24udHlwZTtcbiAgbm90aWZpY2F0aW9uWydfZGVzdHJveSddID0gMDtcblxuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFNlbmRWaWEgPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gIGxldCBmb3JtYXR0ZWRWYWx1ZTogYW55ID0gW107XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1sndGVsZWdyYW0nXSlcbiAgICBmb3JtYXR0ZWRWYWx1ZS5wdXNoKFsnU2VuZFRlbGVncmFtQWN0aW9uJywgJzAnXSk7XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1snZW1haWwnXSlcbiAgICBmb3JtYXR0ZWRWYWx1ZS5wdXNoKFsnU2VuZEVtYWlsQWN0aW9uJywgJzAnXSk7XG4gIGlmIChub3RpZmljYXRpb24uYWN0aW9uc1snc21zJ10pIGZvcm1hdHRlZFZhbHVlLnB1c2goWydTZW5kU21zQWN0aW9uJywgJzAnXSk7XG4gIG5vdGlmaWNhdGlvbi5hY3Rpb25zID0gZm9ybWF0dGVkVmFsdWUuZmxhdCgpO1xuXG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VTZXZlcml0aWVzID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICBsZXQgdmFsdWU7XG4gIHN3aXRjaCAobm90aWZpY2F0aW9uLnNldmVyaXR5KSB7XG4gICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgIHZhbHVlID0gJzAnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnaGlnaCc6XG4gICAgICB2YWx1ZSA9ICcxJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2V4dHJlbWUnOlxuICAgICAgdmFsdWUgPSAnMic7XG4gIH1cbiAgbm90aWZpY2F0aW9uLnNldmVyaXR5ID0gdmFsdWU7XG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0Tm90aWZpY2F0aW9uID0gKG5ld05vdGlmaWNhdGlvbikgPT4ge1xuICBsZXQgbm90aWZpY2F0aW9uQ29weSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobmV3Tm90aWZpY2F0aW9uKSk7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uKG5vdGlmaWNhdGlvbkNvcHkpO1xuICBub3RpZmljYXRpb25Db3B5ID0gZm9ybWF0U2VuZFZpYShub3RpZmljYXRpb25Db3B5KTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IGRlbGV0ZUF0dHJpYnV0ZXMobm90aWZpY2F0aW9uQ29weSwgbmV3Tm90aWZpY2F0aW9uKTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IHBhcnNlU2V2ZXJpdGllcyhub3RpZmljYXRpb25Db3B5KTtcblxuICBsZXQgbm90aWZpY2F0aW9uVG9TYXZlID0ge1xuICAgIHVzZXI6IHtcbiAgICAgIGFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlczoge1xuICAgICAgICAuLi5ub3RpZmljYXRpb25Db3B5LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IG5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAgPSB7XG4gICAgdXNlcjoge1xuICAgICAgYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzOiB7fSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gIG5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAudXNlci5hbGVydF9jb25maWdzX2F0dHJpYnV0ZXNbYCR7bm93LmdldFRpbWUoKX1gXSA9XG4gICAgbm90aWZpY2F0aW9uVG9TYXZlLnVzZXIuYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzO1xuXG4gIHJldHVybiBub3RpZmljYXRpb25XaXRoVGltZVN0YW1wO1xufTtcbiJdfQ==
|
|
243
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc1V0aWxzLnRzIl0sIm5hbWVzIjpbImhhbmRsZU5vdGlmaWNhdGlvblR5cGUiLCJvcHRpb24iLCJub3RpZmljYXRpb24iLCJzZXROZXdOb3RpZmljYXRpb24iLCJ2YWx1ZSIsImF2YWlsYWJsZV90eXBlcyIsImZpbmQiLCJ0eXBlIiwicHJldlN0YXRlIiwiaGFuZGxlU2V2ZXJpdGllcyIsImUiLCJ0YXJnZXQiLCJzZXZlcml0eSIsImhhbmRsZVdhdGVyQXV0aG9yaXRpZXMiLCJuZXdOb3RpZmljYXRpb24iLCJ3YXRlcl9hdXRob3JpdGllcyIsImhhbmRsZVNlbGVjdGlvbkFuZFNldCIsImhhbmRsZVNvdXJjZXMiLCJwb2ludHMiLCJoYW5kbGVUYWdzIiwidGFncyIsImhhbmRsZVNlbnNvcnMiLCJzZW5zb3JzIiwiZmllbGQiLCJ1bmRlZmluZWQiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsIkFycmF5IiwiZm9yRWFjaCIsInB1c2giLCJKU09OIiwic3RyaW5naWZ5IiwiaGFuZGxlU2VuZFZpYSIsInNldE1vZGFsRGV0YWlscyIsImFjdGlvbnMiLCJvcGVuIiwiaW5zdGFuY2UiLCJoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUiLCJjaGVja2VkIiwicGFyc2VkVmFsdWUiLCJwdW1wX29ubHkiLCJ2YWxpZGF0ZVZhbHVlSXNOb3RBbk9iamVjdCIsImlzQXJyYXkiLCJwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uIiwid2F0ZXJBdXRob3JpdGllcyIsImFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zIiwic2VsZWN0aW9uIiwicG9pbnQiLCJpZCIsImRlbGV0ZUF0dHJpYnV0ZXMiLCJmb3JtYXRTZW5kVmlhIiwiZm9ybWF0dGVkVmFsdWUiLCJmbGF0IiwicGFyc2VTZXZlcml0aWVzIiwiZm9ybWF0Tm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uQ29weSIsInBhcnNlIiwibm90aWZpY2F0aW9uVG9TYXZlIiwidXNlciIsImFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlcyIsIm5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXAiLCJub3ciLCJEYXRlIiwiZ2V0VGltZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRU8sSUFBTUEsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUF5QixDQUNwQ0MsTUFEb0MsRUFFcENDLFlBRm9DLEVBR3BDQyxrQkFIb0MsRUFJakM7QUFDSCxNQUFNQyxLQUFLLEdBQUdGLFlBQVksQ0FBQ0csZUFBYixDQUE4QkMsSUFBOUIsQ0FDWixVQUFDQyxJQUFEO0FBQUEsV0FBVUEsSUFBSSxLQUFLTixNQUFNLENBQUNHLEtBQTFCO0FBQUEsR0FEWSxDQUFkO0FBR0EsTUFBSUEsS0FBSixFQUNFRCxrQkFBa0IsQ0FBQyxVQUFDSyxTQUFEO0FBQUEsdUVBQ2RBLFNBRGM7QUFFakJELE1BQUFBLElBQUksRUFBRUg7QUFGVztBQUFBLEdBQUQsQ0FBbEI7QUFJSCxDQWJNOzs7O0FBZUEsSUFBTUssZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUM5QkMsQ0FEOEIsRUFFOUJQLGtCQUY4QixFQUczQjtBQUNILE1BQU1DLEtBQUssR0FBR00sQ0FBQyxDQUFDQyxNQUFGLENBQVNQLEtBQXZCO0FBRUFELEVBQUFBLGtCQUFrQixDQUFDLFVBQUNLLFNBQUQ7QUFBQSx1RUFDZEEsU0FEYztBQUVqQkksTUFBQUEsUUFBUSxFQUFFUjtBQUZPO0FBQUEsR0FBRCxDQUFsQjtBQUlELENBVk07Ozs7QUFXQSxJQUFNUyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCLENBQ3BDSCxDQURvQyxFQUtqQztBQUFBLE1BSEhULE1BR0csdUVBSFcsRUFHWDtBQUFBLE1BRkhhLGVBRUc7QUFBQSxNQURIWCxrQkFDRztBQUNILE1BQU1DLEtBQUssbUNBQVFVLGVBQWUsQ0FBQ0MsaUJBQXhCLENBQVg7QUFDQUMsRUFBQUEscUJBQXFCLENBQ25CWixLQURtQixF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QjtBQVFBLE1BQU1LLHlCQUF5QixHQUFHO0FBQ2hDRixJQUFBQSxJQUFJLEVBQUU7QUFDSkMsTUFBQUEsd0JBQXdCLEVBQUU7QUFEdEI7QUFEMEIsR0FBbEM7QUFNQSxNQUFNRSxHQUFHLEdBQUcsSUFBSUMsSUFBSixFQUFaO0FBQ0FGLEVBQUFBLHlCQUF5QixDQUFDRixJQUExQixDQUErQkMsd0JBQS9CLFdBQTJERSxHQUFHLENBQUNFLE9BQUosRUFBM0QsS0FDRU4sa0JBQWtCLENBQUNDLElBQW5CLENBQXdCQyx3QkFEMUI7QUFHQSxTQUFPQyx5QkFBUDtBQUNELENBMUJNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU5vdGlmaWNhdGlvblR5cGUgPSAoXG4gIG9wdGlvbixcbiAgbm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBub3RpZmljYXRpb24uYXZhaWxhYmxlX3R5cGVzIS5maW5kKFxuICAgICh0eXBlKSA9PiB0eXBlID09PSBvcHRpb24udmFsdWUsXG4gICk7XG4gIGlmICh2YWx1ZSlcbiAgICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgIHR5cGU6IHZhbHVlLFxuICAgIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZXZlcml0aWVzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XG5cbiAgc2V0TmV3Tm90aWZpY2F0aW9uKChwcmV2U3RhdGUpID0+ICh7XG4gICAgLi4ucHJldlN0YXRlLFxuICAgIHNldmVyaXR5OiB2YWx1ZSxcbiAgfSkpO1xufTtcbmV4cG9ydCBjb25zdCBoYW5kbGVXYXRlckF1dGhvcml0aWVzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcyB9O1xuICBoYW5kbGVTZWxlY3Rpb25BbmRTZXQoXG4gICAgdmFsdWUsXG4gICAgJ3dhdGVyX2F1dGhvcml0aWVzJyxcbiAgICBlLFxuICAgIG9wdGlvbixcbiAgICBzZXROZXdOb3RpZmljYXRpb24sXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU291cmNlcyA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0geyAuLi5uZXdOb3RpZmljYXRpb24ucG9pbnRzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3BvaW50cycsIGUsIG9wdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVUYWdzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi50YWdzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3RhZ3MnLCBlLCBvcHRpb24sIHNldE5ld05vdGlmaWNhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2Vuc29ycyA9IChcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIG5ld05vdGlmaWNhdGlvbixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0geyAuLi5uZXdOb3RpZmljYXRpb24uc2Vuc29ycyB9O1xuICBoYW5kbGVTZWxlY3Rpb25BbmRTZXQodmFsdWUsICdzZW5zb3JzJywgZSwgb3B0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNlbGVjdGlvbkFuZFNldCA9IChcbiAgdmFsdWUsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgaWYgKGUgIT09IHVuZGVmaW5lZCAmJiBlLnRhcmdldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdmFsdWUuc2VsZWN0aW9uX3R5cGUgPSBlLnRhcmdldC52YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IG9wdGlvbi5zZWxlY3Rpb25fdHlwZTtcbiAgfVxuXG4gIGlmICh2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9PT0gJ2FsbCcpIHtcbiAgICB2YWx1ZS5zZXQgPSBuZXcgQXJyYXkoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBzZXQ6IHN0cmluZ1tdID0gW107XG4gICAgb3B0aW9uLnNldD8uZm9yRWFjaCgob3B0aW9uKSA9PiB7XG4gICAgICBzZXQucHVzaChKU09OLnN0cmluZ2lmeShvcHRpb24udmFsdWUpKTtcbiAgICB9KTtcbiAgICB2YWx1ZS5zZXQgPSBzZXQ7XG4gIH1cblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgW2ZpZWxkXTogdmFsdWUsXG4gIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZW5kVmlhID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PixcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4gIHNldE1vZGFsRGV0YWlscyxcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLmFjdGlvbnMgfTtcbiAgY29uc3QgZmllbGQgPSBlLnRhcmdldC52YWx1ZTtcbiAgdmFsdWVbZmllbGRdID0gIXZhbHVlW2ZpZWxkXTtcblxuICBpZiAoZmllbGQgPT09ICdzbXMnIHx8IGZpZWxkID09PSAndGVsZWdyYW0nKSB7XG4gICAgc2V0TW9kYWxEZXRhaWxzKHsgb3BlbjogdHJ1ZSwgaW5zdGFuY2U6IGZpZWxkIH0pO1xuICB9XG5cbiAgc2V0TmV3Tm90aWZpY2F0aW9uKChwcmV2U3RhdGUpID0+ICh7XG4gICAgLi4ucHJldlN0YXRlLFxuICAgIGFjdGlvbnM6IHZhbHVlLFxuICB9KSk7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTm90aWZpY2F0aW9uU2FtcGxlID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PixcbiAgc2V0TmV3Tm90aWZpY2F0aW9uLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0gZS50YXJnZXQuY2hlY2tlZDtcbiAgbGV0IHBhcnNlZFZhbHVlID0gdmFsdWUgPyAnMScgOiAnMCc7XG4gIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgIC4uLnByZXZTdGF0ZSxcbiAgICBwdW1wX29ubHk6IHBhcnNlZFZhbHVlLFxuICB9KSk7XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVWYWx1ZUlzTm90QW5PYmplY3QgPSAodmFsdWUpID0+IHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgIUFycmF5LmlzQXJyYXkodmFsdWUpICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICB2YWx1ZSAhPT0gdW5kZWZpbmVkXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VOb3RpZmljYXRpb25BZHZhbmNlZFNlbGVjdGlvbiA9IChub3RpZmljYXRpb24pID0+IHtcbiAgLy8gSWYgdGhlcmUnbGwgYmUgYSBmdXR1cmUgcmVxdWlyZW1lbnQgdG8gYWRkIGFub3RoZXIgQWR2YW5jZWRTZWxlY3Rpb24gZmllbGRzLCBwbGVhc2UgYWRkIHRoZW0gcmlnaHQgYmVsb3dcblxuICBsZXQgcG9pbnRzID0gbm90aWZpY2F0aW9uLnBvaW50cztcbiAgbGV0IHdhdGVyQXV0aG9yaXRpZXMgPSBub3RpZmljYXRpb24ud2F0ZXJfYXV0aG9yaXRpZXM7XG4gIGxldCB0YWdzID0gbm90aWZpY2F0aW9uLnRhZ3M7XG4gIGxldCBzZW5zb3JzID0gbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgY29uc3QgYWxsX2FkdmFuY2VkX3NlbGVjdGlvbnMgPSBbcG9pbnRzLCB3YXRlckF1dGhvcml0aWVzLCB0YWdzLCBzZW5zb3JzXTtcblxuICBhbGxfYWR2YW5jZWRfc2VsZWN0aW9ucy5mb3JFYWNoKChzZWxlY3Rpb24pID0+IHtcbiAgICBpZiAoXG4gICAgICB2YWxpZGF0ZVZhbHVlSXNOb3RBbk9iamVjdChcbiAgICAgICAgc2VsZWN0aW9uICE9PSB1bmRlZmluZWQgJiYgc2VsZWN0aW9uLnNldCAhPT0gbnVsbCAmJiBzZWxlY3Rpb24uc2V0WzBdLFxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc3Qgc2V0OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgc2VsZWN0aW9uLnNldC5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICBzZXQucHVzaChKU09OLnN0cmluZ2lmeShwb2ludC5pZCkpO1xuICAgICAgfSk7XG5cbiAgICAgIHNlbGVjdGlvbi5zZXQgPSBzZXQ7XG4gICAgfVxuXG4gICAgaWYgKHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24uc2V0ICE9PSB1bmRlZmluZWQgJiYgc2VsZWN0aW9uLnNldCA9PT0gbnVsbCkge1xuICAgICAgc2VsZWN0aW9uLnNldCA9IFtdO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVBdHRyaWJ1dGVzID0gKG5vdGlmaWNhdGlvbiwgbmV3Tm90aWZpY2F0aW9uKSA9PiB7XG4gIC8vIE1ha2Ugc3VyZSB0byByZW1vdmUgdW5uZWNlc3NhcnkgYXR0cmlidXRlcyBmb3Igc29tZSBBbGVydENvbmZpZ3NcblxuICBkZWxldGUgbm90aWZpY2F0aW9uLmF2YWlsYWJsZV90eXBlcztcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24uc2V2ZXJpdHk7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnB1bXBfb25seTtcbiAgaWYgKG5ld05vdGlmaWNhdGlvbi50eXBlID09PSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24ucG9pbnRzO1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi50YWdzO1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24uc2Vuc29ycztcblxuICBub3RpZmljYXRpb25bJ2FsZXJ0X3R5cGUnXSA9IG5vdGlmaWNhdGlvbi50eXBlO1xuICBub3RpZmljYXRpb25bJ19kZXN0cm95J10gPSAwO1xuXG4gIHJldHVybiBub3RpZmljYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0U2VuZFZpYSA9IChub3RpZmljYXRpb24pID0+IHtcbiAgbGV0IGZvcm1hdHRlZFZhbHVlOiBhbnkgPSBbXTtcbiAgaWYgKG5vdGlmaWNhdGlvbi5hY3Rpb25zWyd0ZWxlZ3JhbSddKVxuICAgIGZvcm1hdHRlZFZhbHVlLnB1c2goWydTZW5kVGVsZWdyYW1BY3Rpb24nLCAnMCddKTtcbiAgaWYgKG5vdGlmaWNhdGlvbi5hY3Rpb25zWydlbWFpbCddKVxuICAgIGZvcm1hdHRlZFZhbHVlLnB1c2goWydTZW5kRW1haWxBY3Rpb24nLCAnMCddKTtcbiAgaWYgKG5vdGlmaWNhdGlvbi5hY3Rpb25zWydzbXMnXSkgZm9ybWF0dGVkVmFsdWUucHVzaChbJ1NlbmRTbXNBY3Rpb24nLCAnMCddKTtcbiAgbm90aWZpY2F0aW9uLmFjdGlvbnMgPSBmb3JtYXR0ZWRWYWx1ZS5mbGF0KCk7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVNldmVyaXRpZXMgPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gIGxldCB2YWx1ZTtcbiAgc3dpdGNoIChub3RpZmljYXRpb24uc2V2ZXJpdHkpIHtcbiAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgdmFsdWUgPSAnMCc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdoaWdoJzpcbiAgICAgIHZhbHVlID0gJzEnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnZXh0cmVtZSc6XG4gICAgICB2YWx1ZSA9ICcyJztcbiAgfVxuICBub3RpZmljYXRpb24uc2V2ZXJpdHkgPSB2YWx1ZTtcbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXROb3RpZmljYXRpb24gPSAobmV3Tm90aWZpY2F0aW9uKSA9PiB7XG4gIGxldCBub3RpZmljYXRpb25Db3B5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShuZXdOb3RpZmljYXRpb24pKTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IHBhcnNlTm90aWZpY2F0aW9uQWR2YW5jZWRTZWxlY3Rpb24obm90aWZpY2F0aW9uQ29weSk7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBmb3JtYXRTZW5kVmlhKG5vdGlmaWNhdGlvbkNvcHkpO1xuICBub3RpZmljYXRpb25Db3B5ID0gZGVsZXRlQXR0cmlidXRlcyhub3RpZmljYXRpb25Db3B5LCBuZXdOb3RpZmljYXRpb24pO1xuICBub3RpZmljYXRpb25Db3B5ID0gcGFyc2VTZXZlcml0aWVzKG5vdGlmaWNhdGlvbkNvcHkpO1xuXG4gIGxldCBub3RpZmljYXRpb25Ub1NhdmUgPSB7XG4gICAgdXNlcjoge1xuICAgICAgYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzOiB7XG4gICAgICAgIC4uLm5vdGlmaWNhdGlvbkNvcHksXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3Qgbm90aWZpY2F0aW9uV2l0aFRpbWVTdGFtcCA9IHtcbiAgICB1c2VyOiB7XG4gICAgICBhbGVydF9jb25maWdzX2F0dHJpYnV0ZXM6IHt9LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgbm90aWZpY2F0aW9uV2l0aFRpbWVTdGFtcC51c2VyLmFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlc1tgJHtub3cuZ2V0VGltZSgpfWBdID1cbiAgICBub3RpZmljYXRpb25Ub1NhdmUudXNlci5hbGVydF9jb25maWdzX2F0dHJpYnV0ZXM7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbldpdGhUaW1lU3RhbXA7XG59O1xuIl19
|