@kando-env/kando-ui 1.2.467-alpha.3 → 1.2.467-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Router.js +6 -1
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/i18n/en.json +4 -1
- package/lib/macros/getVersion.js +1 -1
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +2 -2
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +2 -1
- package/lib/pages/NetworkPage/NetworkPage.js +48 -0
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +4 -2
- package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +27 -10
- package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +18 -9
- package/lib/ui-kit/HierarchyGraph/NetworkNode.js +37 -0
- package/lib/ui-kit/HierarchyGraph/style.scss +4 -0
- package/package.json +1 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _reactRedux = require("react-redux");
|
|
11
|
+
var _actions = require("store/edges/actions");
|
|
12
|
+
var _actions2 = require("store/points/actions");
|
|
13
|
+
var _HierarchyGraph = _interopRequireDefault(require("ui-kit/HierarchyGraph"));
|
|
14
|
+
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); }
|
|
15
|
+
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; }
|
|
16
|
+
var NetworkPage = function NetworkPage() {
|
|
17
|
+
var _points_data$items, _edges_data$items;
|
|
18
|
+
var dispatch = (0, _reactRedux.useDispatch)();
|
|
19
|
+
var _useSelector = (0, _reactRedux.useSelector)(function (state) {
|
|
20
|
+
return state;
|
|
21
|
+
}),
|
|
22
|
+
points_data = _useSelector.points_data,
|
|
23
|
+
edges_data = _useSelector.edges_data,
|
|
24
|
+
global_data = _useSelector.global_data;
|
|
25
|
+
var pointsCount = (points_data === null || points_data === void 0 ? void 0 : (_points_data$items = points_data.items) === null || _points_data$items === void 0 ? void 0 : _points_data$items.length) || 0;
|
|
26
|
+
var edgesCount = (edges_data === null || edges_data === void 0 ? void 0 : (_edges_data$items = edges_data.items) === null || _edges_data$items === void 0 ? void 0 : _edges_data$items.length) || 0;
|
|
27
|
+
var isFetchingPoints = points_data === null || points_data === void 0 ? void 0 : points_data.isFetching;
|
|
28
|
+
var isFetchingEdges = edges_data === null || edges_data === void 0 ? void 0 : edges_data.isFetching;
|
|
29
|
+
var waterAuthorityId = global_data === null || global_data === void 0 ? void 0 : global_data.waterAuthorityId;
|
|
30
|
+
(0, _react.useEffect)(function () {
|
|
31
|
+
if (!waterAuthorityId) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (!isFetchingPoints && pointsCount === 0) {
|
|
35
|
+
dispatch((0, _actions2.fetchPoints)(waterAuthorityId, '1m'));
|
|
36
|
+
}
|
|
37
|
+
if (!isFetchingEdges && edgesCount === 0) {
|
|
38
|
+
dispatch((0, _actions.fetchEdges)(waterAuthorityId, true));
|
|
39
|
+
}
|
|
40
|
+
}, [dispatch, waterAuthorityId, isFetchingPoints, pointsCount, isFetchingEdges, edgesCount]);
|
|
41
|
+
return /*#__PURE__*/_react.default.createElement(_HierarchyGraph.default, {
|
|
42
|
+
show: true,
|
|
43
|
+
filterType: 'NetworkFilter'
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
var _default = NetworkPage;
|
|
47
|
+
exports.default = _default;
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX0hpZXJhcmNoeUdyYXBoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiTmV0d29ya1BhZ2UiLCJfcG9pbnRzX2RhdGEkaXRlbXMiLCJfZWRnZXNfZGF0YSRpdGVtcyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU2VsZWN0b3IiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwicG9pbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNDb3VudCIsIml0ZW1zIiwibGVuZ3RoIiwiZWRnZXNDb3VudCIsImlzRmV0Y2hpbmdQb2ludHMiLCJpc0ZldGNoaW5nIiwiaXNGZXRjaGluZ0VkZ2VzIiwid2F0ZXJBdXRob3JpdHlJZCIsInVzZUVmZmVjdCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImNyZWF0ZUVsZW1lbnQiLCJzaG93IiwiZmlsdGVyVHlwZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9OZXR3b3JrUGFnZS9OZXR3b3JrUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCBIaWVyYXJjaHlHcmFwaCBmcm9tICdzcmMvdWkta2l0L0hpZXJhcmNoeUdyYXBoJztcblxuY29uc3QgTmV0d29ya1BhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBwb2ludHNfZGF0YSwgZWRnZXNfZGF0YSwgZ2xvYmFsX2RhdGEgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUsXG4gICk7XG4gIGNvbnN0IHBvaW50c0NvdW50ID0gcG9pbnRzX2RhdGE/Lml0ZW1zPy5sZW5ndGggfHwgMDtcbiAgY29uc3QgZWRnZXNDb3VudCA9IGVkZ2VzX2RhdGE/Lml0ZW1zPy5sZW5ndGggfHwgMDtcbiAgY29uc3QgaXNGZXRjaGluZ1BvaW50cyA9IHBvaW50c19kYXRhPy5pc0ZldGNoaW5nO1xuICBjb25zdCBpc0ZldGNoaW5nRWRnZXMgPSBlZGdlc19kYXRhPy5pc0ZldGNoaW5nO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkID0gZ2xvYmFsX2RhdGE/LndhdGVyQXV0aG9yaXR5SWQ7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXdhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWlzRmV0Y2hpbmdQb2ludHMgJiYgcG9pbnRzQ291bnQgPT09IDApIHtcbiAgICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKHdhdGVyQXV0aG9yaXR5SWQsICcxbScpKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzRmV0Y2hpbmdFZGdlcyAmJiBlZGdlc0NvdW50ID09PSAwKSB7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKHdhdGVyQXV0aG9yaXR5SWQsIHRydWUpKTtcbiAgICB9XG4gIH0sIFtcbiAgICBkaXNwYXRjaCxcbiAgICB3YXRlckF1dGhvcml0eUlkLFxuICAgIGlzRmV0Y2hpbmdQb2ludHMsXG4gICAgcG9pbnRzQ291bnQsXG4gICAgaXNGZXRjaGluZ0VkZ2VzLFxuICAgIGVkZ2VzQ291bnQsXG4gIF0pO1xuXG4gIHJldHVybiA8SGllcmFyY2h5R3JhcGggc2hvdz17dHJ1ZX0gZmlsdGVyVHlwZT17J05ldHdvcmtGaWx0ZXInfSAvPjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5ldHdvcmtQYWdlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGVBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUF1RCxTQUFBTSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVIsd0JBQUFZLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUws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
|
|
@@ -179,7 +179,9 @@ var SamplingProperties = function SamplingProperties() {
|
|
|
179
179
|
var handleSubmit = function handleSubmit(values) {
|
|
180
180
|
setSavingMsg(_i18n.default.t('buttons.saving'));
|
|
181
181
|
values.pictures_attributes = photos;
|
|
182
|
-
|
|
182
|
+
// debugger;
|
|
183
|
+
// if (values.canceled_by_id?.id > 0 && isCancelledLayout(samplingProperties))
|
|
184
|
+
values.canceled_by_id = values.canceled_by_id.id;
|
|
183
185
|
var time_zone = (samplingPlan === null || samplingPlan === void 0 ? void 0 : samplingPlan.time_zone) || 'UTC';
|
|
184
186
|
values.collection_time = (0, _samplingPropertiesUtils.collectionTimeInTimeZone)(values.collection_time, time_zone);
|
|
185
187
|
var saveFormData = formDataBuilder(values);
|
|
@@ -354,4 +356,4 @@ var SamplingProperties = function SamplingProperties() {
|
|
|
354
356
|
}))));
|
|
355
357
|
};
|
|
356
358
|
exports.SamplingProperties = SamplingProperties;
|
|
357
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0RGV2aWNlRGV0ZWN0IiwiX2Zvcm1payIsIl9yZWFjdFJvdXRlckRvbSIsIl9yZWFjdFJlZHV4IiwiX0xheW91dCIsIl9pMThuIiwiX3VzZVF1ZXJ5VVJMIiwiX1NwaW5uZXIiLCJfdXJscyIsIl9zdHlsZXMiLCJfc2FtcGxpbmdzUGFnZVV0aWxzIiwiX1NhbXBsaW5nUHJvcGVydGllc0Zvcm0iLCJfU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZCIsIl9TYW1wbGluZ1Byb3BlcnRpZXNIZWFkTW9iaWxlIiwiX3NhbXBsaW5nUHJvcGVydGllc1V0aWxzIiwiX1NhbXBsZXJJblByb2Nlc3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsImlzUHJvcGVydGllc1BhZ2UiLCJwYWdlVHlwZSIsIlNhbXBsaW5nUHJvcGVydGllcyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiRGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJjb2xsZWN0aW9uVGltZSIsInNldENvbGxlY3Rpb25UaW1lIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJwaG90b3MiLCJzZXRQaG90b3MiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInBob3Rvc1RvRGVsZXRlIiwic2V0UGhvdG9zVG9EZWxldGUiLCJfdXNlU3RhdGU3IiwiaTE4biIsInQiLCJfdXNlU3RhdGU4Iiwic2F2aW5nTXNnIiwic2V0U2F2aW5nTXNnIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwic2FtcGxpbmdVcGRhdGVkIiwic2V0U2FtcGxpbmdVcGRhdGVkIiwiX3VzZVN0YXRlMTEiLCJ1bmRlZmluZWQiLCJfdXNlU3RhdGUxMiIsInNhbXBsaW5nUGxhbiIsInNldFNhbXBsaW5nUGxhbiIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwibG9jYXRpb24iLCJ1c2VMb2NhdGlvbiIsInF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJ1c2VySW5mbyIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZXJfaW5mbyIsImRhdGVGb3JtYXQiLCJkYXRlX3RpbWVfZm9ybWF0IiwidXNlUmVmIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInNhbXBsaW5nUHJvcGVydGllcyIsInNldFNhbXBsaW5nUHJvcGVydGllcyIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJzYW1wbGVJZCIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsImxvY2FsZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJuYXZDb250ZXh0IiwiaW5pdEZvcm1pa1ZhbHVlcyIsImlzQ2FuY2VsZWQiLCJ0aW1lWm9uZSIsInBhZ2VDb2xsZWN0aW9uVGltZSIsImlzQ29sbGVjdExheW91dCIsImN1cnJlbnQiLCJjb2xsZWN0aW9uVGltZUZvcm1hdCIsInNhbXBsaW5nIiwiY29sbGVjdGlvbl90aW1lIiwic2FtIiwiZm9ybWlrVmFsdWVzIiwibGFiX2lkIiwicHVtcF9zYW1wbGluZ192b2x1bWUiLCJwdW1wX2JhdHRlcnlfbGV2ZWwiLCJkZXNjcmlwdGlvbiIsImthbmRvX3JlcCIsInNhbXBsaW5nX3BsYW5faWQiLCJjYW5jZWxsYXRpb25fcmVhc29uIiwiaXNfY2FuY2VsZWQiLCJpc0NhbmNlbGxlZExheW91dCIsImNhbmNlbGVkX2J5X2lkIiwibmFtZSIsImNhbmNlbGVkX2J5X25hbWUiLCJpZCIsImZvcm1payIsInNldFZhbHVlcyIsInBhZ2VUeXBlMmlzQ2FuY2VsbGVkIiwiY2FuY2VsIiwiY29sbGVjdCIsInJldmVydF9jYW5jZWwiLCJmZXRjaFNhbXBsaW5nUHJvcGVydGllcyIsInVzZUNhbGxiYWNrIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJzYW1wbGluZ0lkIiwib3AiLCJyZXNwb25zZSIsIl9hcmdzIiwiYXJndW1lbnRzIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImxlbmd0aCIsImF4aW9zIiwidXJscyIsImZldGNoU2FtcGxpbmciLCJ1cmwiLCJzZW50IiwiZGF0YSIsInNhbXBsaW5nX3Byb3BlcnRpZXMiLCJkZXRlY3RQYWdlVHlwZSIsImRldGVybWluZUNvbGxlY3Rpb25UaW1lIiwic2FtcGxpbmdfcGxhbiIsInRpbWVfem9uZSIsInN0b3AiLCJ1c2VFZmZlY3QiLCJnZXRVcmxRdWVyeU9wIiwidmFsaWRhdGlvblNjaGVtYSIsInByb3BlcnRpZXNWYWxpZGF0aW9uU2NoZW1hIiwiY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYSIsInVzZUZvcm1payIsImVuYWJsZVJlaW5pdGlhbGl6ZSIsImluaXRpYWxWYWx1ZXMiLCJzYW1wbGluZ1Byb3BlcnR5IiwidmFsaWRhdGVPbkNoYW5nZSIsInZhbGlkYXRlT25CbHVyIiwib25TdWJtaXQiLCJ2YWx1ZXMiLCJoYW5kbGVTdWJtaXQiLCJoYW5kbGVDbG9zZSIsImdvQmFjayIsInB1c2giLCJzYW1wbGluZ3NQYWdlIiwic2FtcGxpbmdzTGlzdFJvdXRlIiwicGljdHVyZXNfYXR0cmlidXRlcyIsImNvbGxlY3Rpb25UaW1lSW5UaW1lWm9uZSIsInNhdmVGb3JtRGF0YSIsImZvcm1EYXRhQnVpbGRlciIsInVwZGF0ZU9yQ3JlYXRlIiwic2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0Iiwic2V0VGltZW91dCIsImZvcm1EYXRhIiwiRm9ybURhdGEiLCJ2YWx1ZSIsImFwcGVuZCIsImNvbmNhdCIsInVuaXF1ZVBob3Rvc1RvRGVsZXRlIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIlNldCIsImZvckVhY2giLCJpbmRleCIsIkpTT04iLCJzdHJpbmdpZnkiLCJfcmVmMiIsIl9jYWxsZWUyIiwiX3NhbXBsaW5nUHJvcGVydGllcyRzIiwidXBkYXRlT3JDcmVhdGVTdWNjZXNzIiwic2FtcGxpbmdJRCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsIm1zZyIsInBvc3QiLCJjcmVhdGVTYW1wbGluZyIsInQwIiwicHV0IiwidXBkYXRlU2FtcGxpbmciLCJ0MSIsIl94IiwiYXBwbHkiLCJpc1NhbXBsaW5nQ2FuY2VsbGVkIiwiZWRpdFBhZ2VWYWx1ZSIsIkNPTExFQ1RfU0FNUExJTkdfT1AiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwic2VydmVyQ29sbGVjdGlvblRpbWUiLCJjdXJyZW50VGltZSIsInNlcnZlclRpbWUiLCJpbmNsdWRlcyIsImNyZWF0ZUVsZW1lbnQiLCJTcGlubmVyIiwiaXNfcHVtcF9pbl9wcm9ncmVzcyIsIlNhbXBsaW5nUHJvcGVydGllc1N0eWxlIiwiaXNNb2JpbGUiLCJTYW1wbGluZ1Byb3BlcnRpZXNIZWFkIiwiaXNEYXRlUGlja2VyRGlzYWJsZWQiLCJTYW1wbGluZ1Byb3BlcnRpZXNIZWFkTW9iaWxlIiwiU2FtcGxpbmdQcm9wZXJ0aWVzRm9ybSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvU2FtcGxpbmdQcm9wZXJ0aWVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHJvcGVydGllcyBhbmQgQ2FuY2VsbGluZyBmb3Jtcy5cbiAqKi9cbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBGb3JtaWtDb25maWcgfSBmcm9tICdmb3JtaWsvZGlzdC90eXBlcyc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJ3JlYWN0LWRldmljZS1kZXRlY3QnO1xuaW1wb3J0IHsgdXNlRm9ybWlrIH0gZnJvbSAnZm9ybWlrJztcbmltcG9ydCB7IHVzZUhpc3RvcnksIHVzZVBhcmFtcywgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgTGF5b3V0IGZyb20gJ3NyYy91aS1raXQvTGF5b3V0L0xheW91dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJ3NyYy9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgU2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGUgfSBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQge1xuICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gIFNhbXBsaW5nRmV0Y2hEYXRhLFxufSBmcm9tICcuLi9zYW1wbGluZ3NQYWdlVXRpbHMnO1xuaW1wb3J0IHsgU2FtcGxpbmdQcm9wZXJ0aWVzRm9ybSB9IGZyb20gJy4vU2FtcGxpbmdQcm9wZXJ0aWVzRm9ybSc7XG5pbXBvcnQgeyBTYW1wbGluZ1Byb3BlcnRpZXNIZWFkIH0gZnJvbSAnLi9TYW1wbGluZ1Byb3BlcnRpZXNIZWFkJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllc0hlYWRNb2JpbGUgfSBmcm9tICcuL1NhbXBsaW5nUHJvcGVydGllc0hlYWRNb2JpbGUnO1xuaW1wb3J0IHtcbiAgRm9ybVR5cGUsXG4gIFRTYW1wbGluZ1Byb3BlcnRpZXMsXG4gIGNhbmNlbGxhdGlvblZhbGlkYXRpb25TY2hlbWEsXG4gIGlzQ29sbGVjdExheW91dCxcbiAgcHJvcGVydGllc1ZhbGlkYXRpb25TY2hlbWEsXG4gIHNhbXBsaW5nUHJvcGVydHksXG4gIGNvbGxlY3Rpb25UaW1lRm9ybWF0LFxuICBjb2xsZWN0aW9uVGltZUluVGltZVpvbmUsXG59IGZyb20gJy4vc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuaW1wb3J0IFNhbXBsZXJJblByb2Nlc3MgZnJvbSAnLi9TYW1wbGVySW5Qcm9jZXNzJztcblxuY29uc3QgaXNQcm9wZXJ0aWVzUGFnZSA9IChwYWdlVHlwZSkgPT4gcGFnZVR5cGUgPT09ICdlZGl0JztcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nUHJvcGVydGllczogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IFtjb2xsZWN0aW9uVGltZSwgc2V0Q29sbGVjdGlvblRpbWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgRGF0ZSB8IG51bGw+KFxuICAgIG5ldyBEYXRlKCksXG4gICk7XG4gIGNvbnN0IFtwaG90b3MsIHNldFBob3Rvc10gPSB1c2VTdGF0ZTxzdHJpbmcgfCBCbG9iIHwgYW55PihbXSk7XG4gIGNvbnN0IFtwaG90b3NUb0RlbGV0ZSwgc2V0UGhvdG9zVG9EZWxldGVdID0gdXNlU3RhdGU8bnVtYmVyW10+KFtdKTtcbiAgY29uc3QgW3NhdmluZ01zZywgc2V0U2F2aW5nTXNnXSA9IHVzZVN0YXRlPHN0cmluZz4oaTE4bi50KCdidXR0b25zLnNhdmUnKSk7XG4gIGNvbnN0IFtzYW1wbGluZ1VwZGF0ZWQsIHNldFNhbXBsaW5nVXBkYXRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzYW1wbGluZ1BsYW4sIHNldFNhbXBsaW5nUGxhbl0gPSB1c2VTdGF0ZTxcbiAgICBTYW1wbGluZ0ZldGNoRGF0YSB8IHVuZGVmaW5lZFxuICA+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCB1c2VySW5mbyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvKTtcbiAgY29uc3QgZGF0ZUZvcm1hdCA9XG4gICAgdXNlckluZm8uZGF0ZV90aW1lX2Zvcm1hdCA9PT0gJ3VzJ1xuICAgICAgPyAnTU1NIGQsIHl5eXkgaGg6bW0gYWEnXG4gICAgICA6ICdkL01NL3l5eXkgSEg6bW0nO1xuICBjb25zdCBwYWdlVHlwZSA9IHVzZVJlZjxzdHJpbmc+KCcnKTtcbiAgY29uc3QgW3NhbXBsaW5nUHJvcGVydGllcywgc2V0U2FtcGxpbmdQcm9wZXJ0aWVzXSA9XG4gICAgdXNlU3RhdGU8VFNhbXBsaW5nUHJvcGVydGllcz4oKTtcbiAgY29uc3QgeyBzYW1wbGVJZCB9ID0gdXNlUGFyYW1zKCk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG4gIGNvbnN0IGxvY2FsZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZSxcbiAgKTtcblxuICBjb25zdCBpbml0Rm9ybWlrVmFsdWVzID0gKFxuICAgIHNhbXBsaW5nUHJvcGVydGllcyxcbiAgICBpc0NhbmNlbGVkLFxuICAgIHRpbWVab25lLFxuICAgIHVzZXJJbmZvLFxuICApID0+IHtcbiAgICBjb25zdCBwYWdlQ29sbGVjdGlvblRpbWUgPSBpc0NvbGxlY3RMYXlvdXQocGFnZVR5cGUuY3VycmVudClcbiAgICAgID8gY29sbGVjdGlvblRpbWVcbiAgICAgIDogY29sbGVjdGlvblRpbWVGb3JtYXQoXG4gICAgICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLmNvbGxlY3Rpb25fdGltZSxcbiAgICAgICAgICB0aW1lWm9uZSxcbiAgICAgICAgKTtcbiAgICBjb25zdCBzYW0gPSBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmc7XG4gICAgbGV0IGZvcm1pa1ZhbHVlczogRm9ybVR5cGUgPSB7XG4gICAgICBsYWJfaWQ6IHNhbS5sYWJfaWQsXG4gICAgICBjb2xsZWN0aW9uX3RpbWU6IHBhZ2VDb2xsZWN0aW9uVGltZSxcbiAgICAgIHB1bXBfc2FtcGxpbmdfdm9sdW1lOiBzYW0ucHVtcF9zYW1wbGluZ192b2x1bWUsXG4gICAgICBwdW1wX2JhdHRlcnlfbGV2ZWw6IHNhbS5wdW1wX2JhdHRlcnlfbGV2ZWwsXG4gICAgICBkZXNjcmlwdGlvbjogc2FtLmRlc2NyaXB0aW9uLFxuICAgICAga2FuZG9fcmVwOiBzYW0ua2FuZG9fcmVwLFxuICAgICAgc2FtcGxpbmdfcGxhbl9pZDogc2FtLnNhbXBsaW5nX3BsYW5faWQsXG4gICAgICBjYW5jZWxsYXRpb25fcmVhc29uOiBzYW0uY2FuY2VsbGF0aW9uX3JlYXNvbiB8fCAnJyxcbiAgICAgIGlzX2NhbmNlbGVkOiBpc0NhbmNlbGVkLFxuICAgIH07XG5cbiAgICBpZiAoaXNDYW5jZWxsZWRMYXlvdXQoc2FtcGxpbmdQcm9wZXJ0aWVzKSlcbiAgICAgIGZvcm1pa1ZhbHVlcy5jYW5jZWxlZF9ieV9pZCA9IHtcbiAgICAgICAgbmFtZTogc2FtcGxpbmdQcm9wZXJ0aWVzLmNhbmNlbGVkX2J5X25hbWUsXG4gICAgICAgIC8vICB8fFxuICAgICAgICAvLyB1c2VySW5mby5maXJzdF9uYW1lICsgJyAnICsgdXNlckluZm8ubGFzdF9uYW1lLFxuICAgICAgICBpZDogc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLmlzX2NhbmNlbGVkXG4gICAgICAgICAgPyBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuY2FuY2VsZWRfYnlfaWRcbiAgICAgICAgICA6IHVzZXJJbmZvLmlkLFxuICAgICAgfTtcbiAgICBmb3JtaWtWYWx1ZXMua2FuZG9fcmVwID0gc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLmthbmRvX3JlcDtcbiAgICBmb3JtaWsuc2V0VmFsdWVzKGZvcm1pa1ZhbHVlcyk7XG4gIH07XG5cbiAgY29uc3QgaXNDYW5jZWxsZWRMYXlvdXQgPSAoc2FtcGxpbmdQcm9wZXJ0aWVzKSA9PiB7XG4gICAgY29uc3QgcGFnZVR5cGUyaXNDYW5jZWxsZWQgPSB7XG4gICAgICBjYW5jZWw6IHRydWUsXG4gICAgICBjb2xsZWN0OiBmYWxzZSxcbiAgICAgIHJldmVydF9jYW5jZWw6IGZhbHNlLFxuICAgIH07XG4gICAgbGV0IGlzQ2FuY2VsZWQgPSBwYWdlVHlwZTJpc0NhbmNlbGxlZFtwYWdlVHlwZS5jdXJyZW50XTtcbiAgICBpZiAoaXNDYW5jZWxlZCA9PT0gbnVsbCkge1xuICAgICAgaXNDYW5jZWxlZCA9IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5pc19jYW5jZWxlZCB8fCBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQ2FuY2VsZWQ7XG4gIH07XG5cbiAgY29uc3QgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoc2FtcGxpbmdJZCA9IHNhbXBsZUlkLCBvcCkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQoXG4gICAgICAgIHVybHMoeyBzYW1wbGluZ0lkOiBzYW1wbGluZ0lkIH0pLnNhbXBsaW5nUHJvcGVydGllcy5mZXRjaFNhbXBsaW5nLnVybCxcbiAgICAgICk7XG4gICAgICBjb25zdCBzYW1wbGluZyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICBjb25zdCBzYW1wbGluZ1Byb3BlcnRpZXMgPSBzYW1wbGluZy5zYW1wbGluZ19wcm9wZXJ0aWVzO1xuICAgICAgcGFnZVR5cGUuY3VycmVudCA9IGRldGVjdFBhZ2VUeXBlKFxuICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuaXNfY2FuY2VsZWQsXG4gICAgICAgIG9wLFxuICAgICAgKTtcbiAgICAgIHNldENvbGxlY3Rpb25UaW1lKFxuICAgICAgICBkZXRlcm1pbmVDb2xsZWN0aW9uVGltZShcbiAgICAgICAgICBjb2xsZWN0aW9uVGltZUZvcm1hdChcbiAgICAgICAgICAgIHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5jb2xsZWN0aW9uX3RpbWUsXG4gICAgICAgICAgICBzYW1wbGluZy5zYW1wbGluZ19wbGFuLnRpbWVfem9uZSxcbiAgICAgICAgICApLFxuICAgICAgICAgIG9wLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGxldCBpc0NhbmNlbGVkID0gaXNDYW5jZWxsZWRMYXlvdXQoXG4gICAgICAgIHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5pc19jYW5jZWxlZCxcbiAgICAgICk7XG4gICAgICBpbml0Rm9ybWlrVmFsdWVzKFxuICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMsXG4gICAgICAgIGlzQ2FuY2VsZWQsXG4gICAgICAgIHNhbXBsaW5nLnNhbXBsaW5nX3BsYW4udGltZV96b25lLFxuICAgICAgICB1c2VySW5mbyxcbiAgICAgICk7XG4gICAgICBzZXRTYW1wbGluZ1Byb3BlcnRpZXMoc2FtcGxpbmdQcm9wZXJ0aWVzKTtcbiAgICAgIHNldFNhbXBsaW5nUGxhbihzYW1wbGluZy5zYW1wbGluZ19wbGFuKTtcbiAgICB9LFxuICAgIFtdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMoc2FtcGxlSWQsIGdldFVybFF1ZXJ5T3AoKSk7XG4gIH0sIFtzYW1wbGluZ1VwZGF0ZWRdKTtcblxuICBjb25zdCB2YWxpZGF0aW9uU2NoZW1hID0gaXNDb2xsZWN0TGF5b3V0KHBhZ2VUeXBlLmN1cnJlbnQpXG4gICAgPyBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYVxuICAgIDogY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYTtcbiAgY29uc3QgZm9ybWlrID0gdXNlRm9ybWlrPEZvcm1pa0NvbmZpZzxGb3JtVHlwZT4+KHtcbiAgICBlbmFibGVSZWluaXRpYWxpemU6IHRydWUsXG4gICAgaW5pdGlhbFZhbHVlczogc2FtcGxpbmdQcm9wZXJ0eSxcbiAgICB2YWxpZGF0aW9uU2NoZW1hOiB2YWxpZGF0aW9uU2NoZW1hLFxuICAgIHZhbGlkYXRlT25DaGFuZ2U6IGZhbHNlLFxuICAgIHZhbGlkYXRlT25CbHVyOiB0cnVlLFxuICAgIG9uU3VibWl0OiAodmFsdWVzKSA9PiB7XG4gICAgICBoYW5kbGVTdWJtaXQodmFsdWVzKTtcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBpZiAobG9jYXRpb24ua2V5KSB7XG4gICAgICBoaXN0b3J5LmdvQmFjaygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoaXN0b3J5LnB1c2goXG4gICAgICAgIHVybHMoeyBsb2NhbGUsIHdhdGVyQXV0aG9yaXR5SWQgfSkuc2FtcGxpbmdzUGFnZS5zYW1wbGluZ3NMaXN0Um91dGUudXJsLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKHZhbHVlcykgPT4ge1xuICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuc2F2aW5nJykpO1xuICAgIHZhbHVlcy5waWN0dXJlc19hdHRyaWJ1dGVzID0gcGhvdG9zO1xuICAgIGlmICh2YWx1ZXMuY2FuY2VsZWRfYnlfaWQgJiYgaXNDYW5jZWxsZWRMYXlvdXQoc2FtcGxpbmdQcm9wZXJ0aWVzKSlcbiAgICAgIHZhbHVlcy5jYW5jZWxlZF9ieV9pZCA9IHVzZXJJbmZvLmlkO1xuICAgIGNvbnN0IHRpbWVfem9uZSA9IHNhbXBsaW5nUGxhbj8udGltZV96b25lIHx8ICdVVEMnO1xuICAgIHZhbHVlcy5jb2xsZWN0aW9uX3RpbWUgPSBjb2xsZWN0aW9uVGltZUluVGltZVpvbmUoXG4gICAgICB2YWx1ZXMuY29sbGVjdGlvbl90aW1lLFxuICAgICAgdGltZV96b25lLFxuICAgICk7XG4gICAgY29uc3Qgc2F2ZUZvcm1EYXRhID0gZm9ybURhdGFCdWlsZGVyKHZhbHVlcyk7XG4gICAgdXBkYXRlT3JDcmVhdGUoc2F2ZUZvcm1EYXRhKTtcbiAgfTtcblxuICBjb25zdCBzZXRPcmlnaW5hbFNhdmVNZXNzYWdlV2l0aFRpbWVvdXQgPSAoKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLnNhdmUnKSk7XG4gICAgfSwgMzAwMCk7XG4gIH07XG5cbiAgY29uc3QgZm9ybURhdGFCdWlsZGVyID0gKHZhbHVlcykgPT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdmFsdWVzKSB7XG4gICAgICBpZiAoa2V5ICE9PSAncGljdHVyZXNfYXR0cmlidXRlcycpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNba2V5XSA9PT0gbnVsbCA/ICcnIDogdmFsdWVzW2tleV07XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChgc2FtcGxpbmdbJHtrZXl9XWAsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHVuaXF1ZVBob3Rvc1RvRGVsZXRlID0gWy4uLm5ldyBTZXQocGhvdG9zVG9EZWxldGUpXTtcbiAgICB1bmlxdWVQaG90b3NUb0RlbGV0ZS5sZW5ndGggIT09IDAgJiZcbiAgICAgIHVuaXF1ZVBob3Rvc1RvRGVsZXRlLmZvckVhY2goKGlkLCBpbmRleCkgPT4ge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoXG4gICAgICAgICAgYHNhbXBsaW5nW3BpY3R1cmVzX2F0dHJpYnV0ZXNdWyR7aW5kZXh9XVtpZF1gLFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGlkKSxcbiAgICAgICAgKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgIGBzYW1wbGluZ1twaWN0dXJlc19hdHRyaWJ1dGVzXVske2luZGV4fV1bX2Rlc3Ryb3ldYCxcbiAgICAgICAgICAndHJ1ZScsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICByZXR1cm4gZm9ybURhdGE7XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlT3JDcmVhdGUgPSBhc3luYyAoZm9ybURhdGEpID0+IHtcbiAgICBjb25zdCB1cGRhdGVPckNyZWF0ZVN1Y2Nlc3MgPSAobXNnKSA9PiB7XG4gICAgICBzZXRTYXZpbmdNc2coaTE4bi50KG1zZykpO1xuICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkKHRydWUpO1xuICAgICAgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0KCk7XG4gICAgICBoYW5kbGVDbG9zZSgpO1xuICAgIH07XG5cbiAgICBjb25zdCBzYW1wbGluZ0lEID0gc2FtcGxpbmdQcm9wZXJ0aWVzPy5zYW1wbGluZz8uaWQ7XG4gICAgaWYgKHNhbXBsaW5nSUQgPT09IG51bGwpIHtcbiAgICAgIC8vIGNyZWF0ZVxuICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICBgc2FtcGxpbmdbZGF0ZV1gLFxuICAgICAgICBmb3JtRGF0YS5nZXQoJ3NhbXBsaW5nW2NvbGxlY3Rpb25fdGltZV0nKSxcbiAgICAgICk7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBheGlvcy5wb3N0KFxuICAgICAgICAgIHVybHMoe1xuICAgICAgICAgICAgd2F0ZXJBdXRob3JpdHlJZDogd2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICAgICB9KS5zYW1wbGluZ1Byb3BlcnRpZXMuY3JlYXRlU2FtcGxpbmcudXJsLFxuICAgICAgICAgIGZvcm1EYXRhLFxuICAgICAgICApO1xuICAgICAgICB1cGRhdGVPckNyZWF0ZVN1Y2Nlc3MoJ2J1dHRvbnMuY3JlYXRlZCcpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLmVycm9yJykpO1xuICAgICAgICBzZXRPcmlnaW5hbFNhdmVNZXNzYWdlV2l0aFRpbWVvdXQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHBhZ2VUeXBlLmN1cnJlbnQgPT09ICdyZXZlcnRfY2FuY2VsJykge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoYHNhbXBsaW5nW2NvbGxlY3Rpb25fdGltZV1gLCBjb2xsZWN0aW9uVGltZSk7XG4gICAgICB9XG4gICAgICAvLyB1cGRhdGVcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGF4aW9zLnB1dChcbiAgICAgICAgICB1cmxzKHsgc2FtcGxpbmdJZDogc2FtcGxpbmdJRCwgd2F0ZXJBdXRob3JpdHlJZDogd2F0ZXJBdXRob3JpdHlJZCB9KVxuICAgICAgICAgICAgLnNhbXBsaW5nUHJvcGVydGllcy51cGRhdGVTYW1wbGluZy51cmwsXG4gICAgICAgICAgZm9ybURhdGEsXG4gICAgICAgICk7XG4gICAgICAgIHVwZGF0ZU9yQ3JlYXRlU3VjY2VzcygnYnV0dG9ucy51cGRhdGVkJyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuZXJyb3InKSk7XG4gICAgICAgIHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBkZXRlY3RQYWdlVHlwZSA9IChpc1NhbXBsaW5nQ2FuY2VsbGVkLCBvcCkgPT4ge1xuICAgIGNvbnN0IGVkaXRQYWdlVmFsdWUgPSBpc1NhbXBsaW5nQ2FuY2VsbGVkID8gJ2NhbmNlbCcgOiAnY29sbGVjdCc7XG4gICAgaWYgKG9wID09PSAnZWRpdCcpIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IENPTExFQ1RfU0FNUExJTkdfT1ApIHtcbiAgICAgIHJldHVybiAnY29sbGVjdCc7XG4gICAgfSBlbHNlIGlmIChvcCA9PT0gQ0FOQ0VMX1NBTVBMSU5HX09QKSB7XG4gICAgICByZXR1cm4gJ2NhbmNlbCc7XG4gICAgfSBlbHNlIGlmIChvcCA9PT0gUkVWRVJUX0NBTkNFTExBVElPTikge1xuICAgICAgcmV0dXJuICdyZXZlcnRfY2FuY2VsJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVkaXRQYWdlVmFsdWU7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRldGVybWluZUNvbGxlY3Rpb25UaW1lID0gKHNlcnZlckNvbGxlY3Rpb25UaW1lLCBvcCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBzZXJ2ZXJUaW1lID0gc2VydmVyQ29sbGVjdGlvblRpbWVcbiAgICAgID8gbmV3IERhdGUoc2VydmVyQ29sbGVjdGlvblRpbWUpXG4gICAgICA6IGN1cnJlbnRUaW1lO1xuICAgIGNvbnN0IGVkaXRQYWdlVmFsdWUgPSBzZXJ2ZXJDb2xsZWN0aW9uVGltZSA/IHNlcnZlclRpbWUgOiBjdXJyZW50VGltZTtcbiAgICBpZiAob3AgPT09ICdlZGl0Jykge1xuICAgICAgcmV0dXJuIGVkaXRQYWdlVmFsdWU7XG4gICAgfSBlbHNlIGlmIChvcCA9PT0gQ09MTEVDVF9TQU1QTElOR19PUCkge1xuICAgICAgcmV0dXJuIGN1cnJlbnRUaW1lO1xuICAgIH0gZWxzZSBpZiAoW0NBTkNFTF9TQU1QTElOR19PUCwgUkVWRVJUX0NBTkNFTExBVElPTl0uaW5jbHVkZXMob3ApKSB7XG4gICAgICByZXR1cm4gc2VydmVyVGltZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVkaXRQYWdlVmFsdWU7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldFVybFF1ZXJ5T3AgPSAoKSA9PiB7XG4gICAgbGV0IG9wID0gcXVlcnkuZ2V0KCdvcCcpO1xuICAgIC8vIGlmIG5vdCBwcmVzZW50IHRoZW4gZGVmYXVsdCBvcCBpcyAnY29sbGVjdGluZydcbiAgICBpZiAoW3VuZGVmaW5lZCwgbnVsbCwgJyddLmluY2x1ZGVzKG9wKSkge1xuICAgICAgcmV0dXJuIENPTExFQ1RfU0FNUExJTkdfT1A7XG4gICAgfVxuICAgIHJldHVybiBvcDtcbiAgfTtcblxuICBpZiAoIXNhbXBsaW5nUGxhbiB8fCAhc2FtcGxpbmdQcm9wZXJ0aWVzKSB7XG4gICAgcmV0dXJuIDxTcGlubmVyIC8+O1xuICB9XG5cbiAgaWYgKHNhbXBsaW5nUHJvcGVydGllcy5pc19wdW1wX2luX3Byb2dyZXNzKSB7XG4gICAgcmV0dXJuIDxTYW1wbGVySW5Qcm9jZXNzIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZX0gLz47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxmb3JtIG9uU3VibWl0PXtmb3JtaWsuaGFuZGxlU3VibWl0fT5cbiAgICAgIDxMYXlvdXQ+XG4gICAgICAgIDxTYW1wbGluZ1Byb3BlcnRpZXNTdHlsZT5cbiAgICAgICAgICB7IWlzTW9iaWxlICYmIChcbiAgICAgICAgICAgIDxTYW1wbGluZ1Byb3BlcnRpZXNIZWFkXG4gICAgICAgICAgICAgIHNhbXBsaW5nUHJvcGVydGllcz17c2FtcGxpbmdQcm9wZXJ0aWVzfVxuICAgICAgICAgICAgICBzYW1wbGluZz17c2FtcGxpbmdQbGFufVxuICAgICAgICAgICAgICBmb3JtaWs9e2Zvcm1pa31cbiAgICAgICAgICAgICAgcGFnZVR5cGU9e3BhZ2VUeXBlLmN1cnJlbnR9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25UaW1lPXtjb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0Q29sbGVjdGlvblRpbWU9e3NldENvbGxlY3Rpb25UaW1lfVxuICAgICAgICAgICAgICBzZXRTYW1wbGluZ1VwZGF0ZWQ9e3NldFNhbXBsaW5nVXBkYXRlZH1cbiAgICAgICAgICAgICAgaXNEYXRlUGlja2VyRGlzYWJsZWQ9e2lzUHJvcGVydGllc1BhZ2UocGFnZVR5cGUpfVxuICAgICAgICAgICAgICBkYXRlRm9ybWF0PXtkYXRlRm9ybWF0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2lzTW9iaWxlICYmIChcbiAgICAgICAgICAgIDxTYW1wbGluZ1Byb3BlcnRpZXNIZWFkTW9iaWxlXG4gICAgICAgICAgICAgIHNhbXBsaW5nUHJvcGVydGllcz17c2FtcGxpbmdQcm9wZXJ0aWVzfVxuICAgICAgICAgICAgICBzYW1wbGluZz17c2FtcGxpbmdQbGFufVxuICAgICAgICAgICAgICBmb3JtaWs9e2Zvcm1pa31cbiAgICAgICAgICAgICAgcGFnZVR5cGU9e3BhZ2VUeXBlLmN1cnJlbnR9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25UaW1lPXtjb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0Q29sbGVjdGlvblRpbWU9e3NldENvbGxlY3Rpb25UaW1lfVxuICAgICAgICAgICAgICBzZXRTYW1wbGluZ1VwZGF0ZWQ9e3NldFNhbXBsaW5nVXBkYXRlZH1cbiAgICAgICAgICAgICAgaXNEYXRlUGlja2VyRGlzYWJsZWQ9e2lzUHJvcGVydGllc1BhZ2UocGFnZVR5cGUpfVxuICAgICAgICAgICAgICBkYXRlRm9ybWF0PXtkYXRlRm9ybWF0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge3NhbXBsaW5nUHJvcGVydGllcyAmJiBwYWdlVHlwZSAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzRm9ybVxuICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUGxhbn1cbiAgICAgICAgICAgICAgcGFnZVR5cGU9e3BhZ2VUeXBlLmN1cnJlbnR9XG4gICAgICAgICAgICAgIHNldFNhbXBsaW5nVXBkYXRlZD17c2V0U2FtcGxpbmdVcGRhdGVkfVxuICAgICAgICAgICAgICBzYXZpbmdNc2c9e3NhdmluZ01zZ31cbiAgICAgICAgICAgICAgaGFuZGxlQ2xvc2U9e2hhbmRsZUNsb3NlfVxuICAgICAgICAgICAgICBzZXRQaG90b3NUb0RlbGV0ZT17c2V0UGhvdG9zVG9EZWxldGV9XG4gICAgICAgICAgICAgIHNldFBob3Rvcz17c2V0UGhvdG9zfVxuICAgICAgICAgICAgICBwaG90b3M9e3Bob3Rvc31cbiAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGU+XG4gICAgICA8L0xheW91dD5cbiAgICA8L2Zvcm0+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxrQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssZUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBRUEsSUFBQU8sT0FBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVEsS0FBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVMsWUFBQSxHQUFBUCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVUsUUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsS0FBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksT0FBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsbUJBQUEsR0FBQWIsT0FBQTtBQU1BLElBQUFjLHVCQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSx1QkFBQSxHQUFBZixPQUFBO0FBQ0EsSUFBQWdCLDZCQUFBLEdBQUFoQixPQUFBO0FBQ0EsSUFBQWlCLHdCQUFBLEdBQUFqQixPQUFBO0FBVUEsSUFBQWtCLGlCQUFBLEdBQUFoQixzQkFBQSxDQUFBRixPQUFB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
|
|
359
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0RGV2aWNlRGV0ZWN0IiwiX2Zvcm1payIsIl9yZWFjdFJvdXRlckRvbSIsIl9yZWFjdFJlZHV4IiwiX0xheW91dCIsIl9pMThuIiwiX3VzZVF1ZXJ5VVJMIiwiX1NwaW5uZXIiLCJfdXJscyIsIl9zdHlsZXMiLCJfc2FtcGxpbmdzUGFnZVV0aWxzIiwiX1NhbXBsaW5nUHJvcGVydGllc0Zvcm0iLCJfU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZCIsIl9TYW1wbGluZ1Byb3BlcnRpZXNIZWFkTW9iaWxlIiwiX3NhbXBsaW5nUHJvcGVydGllc1V0aWxzIiwiX1NhbXBsZXJJblByb2Nlc3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsImlzUHJvcGVydGllc1BhZ2UiLCJwYWdlVHlwZSIsIlNhbXBsaW5nUHJvcGVydGllcyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiRGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJjb2xsZWN0aW9uVGltZSIsInNldENvbGxlY3Rpb25UaW1lIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJwaG90b3MiLCJzZXRQaG90b3MiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInBob3Rvc1RvRGVsZXRlIiwic2V0UGhvdG9zVG9EZWxldGUiLCJfdXNlU3RhdGU3IiwiaTE4biIsInQiLCJfdXNlU3RhdGU4Iiwic2F2aW5nTXNnIiwic2V0U2F2aW5nTXNnIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwic2FtcGxpbmdVcGRhdGVkIiwic2V0U2FtcGxpbmdVcGRhdGVkIiwiX3VzZVN0YXRlMTEiLCJ1bmRlZmluZWQiLCJfdXNlU3RhdGUxMiIsInNhbXBsaW5nUGxhbiIsInNldFNhbXBsaW5nUGxhbiIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwibG9jYXRpb24iLCJ1c2VMb2NhdGlvbiIsInF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJ1c2VySW5mbyIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZXJfaW5mbyIsImRhdGVGb3JtYXQiLCJkYXRlX3RpbWVfZm9ybWF0IiwidXNlUmVmIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInNhbXBsaW5nUHJvcGVydGllcyIsInNldFNhbXBsaW5nUHJvcGVydGllcyIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJzYW1wbGVJZCIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsImxvY2FsZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJuYXZDb250ZXh0IiwiaW5pdEZvcm1pa1ZhbHVlcyIsImlzQ2FuY2VsZWQiLCJ0aW1lWm9uZSIsInBhZ2VDb2xsZWN0aW9uVGltZSIsImlzQ29sbGVjdExheW91dCIsImN1cnJlbnQiLCJjb2xsZWN0aW9uVGltZUZvcm1hdCIsInNhbXBsaW5nIiwiY29sbGVjdGlvbl90aW1lIiwic2FtIiwiZm9ybWlrVmFsdWVzIiwibGFiX2lkIiwicHVtcF9zYW1wbGluZ192b2x1bWUiLCJwdW1wX2JhdHRlcnlfbGV2ZWwiLCJkZXNjcmlwdGlvbiIsImthbmRvX3JlcCIsInNhbXBsaW5nX3BsYW5faWQiLCJjYW5jZWxsYXRpb25fcmVhc29uIiwiaXNfY2FuY2VsZWQiLCJpc0NhbmNlbGxlZExheW91dCIsImNhbmNlbGVkX2J5X2lkIiwibmFtZSIsImNhbmNlbGVkX2J5X25hbWUiLCJpZCIsImZvcm1payIsInNldFZhbHVlcyIsInBhZ2VUeXBlMmlzQ2FuY2VsbGVkIiwiY2FuY2VsIiwiY29sbGVjdCIsInJldmVydF9jYW5jZWwiLCJmZXRjaFNhbXBsaW5nUHJvcGVydGllcyIsInVzZUNhbGxiYWNrIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJzYW1wbGluZ0lkIiwib3AiLCJyZXNwb25zZSIsIl9hcmdzIiwiYXJndW1lbnRzIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImxlbmd0aCIsImF4aW9zIiwidXJscyIsImZldGNoU2FtcGxpbmciLCJ1cmwiLCJzZW50IiwiZGF0YSIsInNhbXBsaW5nX3Byb3BlcnRpZXMiLCJkZXRlY3RQYWdlVHlwZSIsImRldGVybWluZUNvbGxlY3Rpb25UaW1lIiwic2FtcGxpbmdfcGxhbiIsInRpbWVfem9uZSIsInN0b3AiLCJ1c2VFZmZlY3QiLCJnZXRVcmxRdWVyeU9wIiwidmFsaWRhdGlvblNjaGVtYSIsInByb3BlcnRpZXNWYWxpZGF0aW9uU2NoZW1hIiwiY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYSIsInVzZUZvcm1payIsImVuYWJsZVJlaW5pdGlhbGl6ZSIsImluaXRpYWxWYWx1ZXMiLCJzYW1wbGluZ1Byb3BlcnR5IiwidmFsaWRhdGVPbkNoYW5nZSIsInZhbGlkYXRlT25CbHVyIiwib25TdWJtaXQiLCJ2YWx1ZXMiLCJoYW5kbGVTdWJtaXQiLCJoYW5kbGVDbG9zZSIsImdvQmFjayIsInB1c2giLCJzYW1wbGluZ3NQYWdlIiwic2FtcGxpbmdzTGlzdFJvdXRlIiwicGljdHVyZXNfYXR0cmlidXRlcyIsImNvbGxlY3Rpb25UaW1lSW5UaW1lWm9uZSIsInNhdmVGb3JtRGF0YSIsImZvcm1EYXRhQnVpbGRlciIsInVwZGF0ZU9yQ3JlYXRlIiwic2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0Iiwic2V0VGltZW91dCIsImZvcm1EYXRhIiwiRm9ybURhdGEiLCJ2YWx1ZSIsImFwcGVuZCIsImNvbmNhdCIsInVuaXF1ZVBob3Rvc1RvRGVsZXRlIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIlNldCIsImZvckVhY2giLCJpbmRleCIsIkpTT04iLCJzdHJpbmdpZnkiLCJfcmVmMiIsIl9jYWxsZWUyIiwiX3NhbXBsaW5nUHJvcGVydGllcyRzIiwidXBkYXRlT3JDcmVhdGVTdWNjZXNzIiwic2FtcGxpbmdJRCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsIm1zZyIsInBvc3QiLCJjcmVhdGVTYW1wbGluZyIsInQwIiwicHV0IiwidXBkYXRlU2FtcGxpbmciLCJ0MSIsIl94IiwiYXBwbHkiLCJpc1NhbXBsaW5nQ2FuY2VsbGVkIiwiZWRpdFBhZ2VWYWx1ZSIsIkNPTExFQ1RfU0FNUExJTkdfT1AiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwic2VydmVyQ29sbGVjdGlvblRpbWUiLCJjdXJyZW50VGltZSIsInNlcnZlclRpbWUiLCJpbmNsdWRlcyIsImNyZWF0ZUVsZW1lbnQiLCJTcGlubmVyIiwiaXNfcHVtcF9pbl9wcm9ncmVzcyIsIlNhbXBsaW5nUHJvcGVydGllc1N0eWxlIiwiaXNNb2JpbGUiLCJTYW1wbGluZ1Byb3BlcnRpZXNIZWFkIiwiaXNEYXRlUGlja2VyRGlzYWJsZWQiLCJTYW1wbGluZ1Byb3BlcnRpZXNIZWFkTW9iaWxlIiwiU2FtcGxpbmdQcm9wZXJ0aWVzRm9ybSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvU2FtcGxpbmdQcm9wZXJ0aWVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHJvcGVydGllcyBhbmQgQ2FuY2VsbGluZyBmb3Jtcy5cbiAqKi9cbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBGb3JtaWtDb25maWcgfSBmcm9tICdmb3JtaWsvZGlzdC90eXBlcyc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJ3JlYWN0LWRldmljZS1kZXRlY3QnO1xuaW1wb3J0IHsgdXNlRm9ybWlrIH0gZnJvbSAnZm9ybWlrJztcbmltcG9ydCB7IHVzZUhpc3RvcnksIHVzZVBhcmFtcywgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgTGF5b3V0IGZyb20gJ3NyYy91aS1raXQvTGF5b3V0L0xheW91dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJ3NyYy9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgU2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGUgfSBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQge1xuICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gIFNhbXBsaW5nRmV0Y2hEYXRhLFxufSBmcm9tICcuLi9zYW1wbGluZ3NQYWdlVXRpbHMnO1xuaW1wb3J0IHsgU2FtcGxpbmdQcm9wZXJ0aWVzRm9ybSB9IGZyb20gJy4vU2FtcGxpbmdQcm9wZXJ0aWVzRm9ybSc7XG5pbXBvcnQgeyBTYW1wbGluZ1Byb3BlcnRpZXNIZWFkIH0gZnJvbSAnLi9TYW1wbGluZ1Byb3BlcnRpZXNIZWFkJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllc0hlYWRNb2JpbGUgfSBmcm9tICcuL1NhbXBsaW5nUHJvcGVydGllc0hlYWRNb2JpbGUnO1xuaW1wb3J0IHtcbiAgRm9ybVR5cGUsXG4gIFRTYW1wbGluZ1Byb3BlcnRpZXMsXG4gIGNhbmNlbGxhdGlvblZhbGlkYXRpb25TY2hlbWEsXG4gIGlzQ29sbGVjdExheW91dCxcbiAgcHJvcGVydGllc1ZhbGlkYXRpb25TY2hlbWEsXG4gIHNhbXBsaW5nUHJvcGVydHksXG4gIGNvbGxlY3Rpb25UaW1lRm9ybWF0LFxuICBjb2xsZWN0aW9uVGltZUluVGltZVpvbmUsXG59IGZyb20gJy4vc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuaW1wb3J0IFNhbXBsZXJJblByb2Nlc3MgZnJvbSAnLi9TYW1wbGVySW5Qcm9jZXNzJztcblxuY29uc3QgaXNQcm9wZXJ0aWVzUGFnZSA9IChwYWdlVHlwZSkgPT4gcGFnZVR5cGUgPT09ICdlZGl0JztcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nUHJvcGVydGllczogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IFtjb2xsZWN0aW9uVGltZSwgc2V0Q29sbGVjdGlvblRpbWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgRGF0ZSB8IG51bGw+KFxuICAgIG5ldyBEYXRlKCksXG4gICk7XG4gIGNvbnN0IFtwaG90b3MsIHNldFBob3Rvc10gPSB1c2VTdGF0ZTxzdHJpbmcgfCBCbG9iIHwgYW55PihbXSk7XG4gIGNvbnN0IFtwaG90b3NUb0RlbGV0ZSwgc2V0UGhvdG9zVG9EZWxldGVdID0gdXNlU3RhdGU8bnVtYmVyW10+KFtdKTtcbiAgY29uc3QgW3NhdmluZ01zZywgc2V0U2F2aW5nTXNnXSA9IHVzZVN0YXRlPHN0cmluZz4oaTE4bi50KCdidXR0b25zLnNhdmUnKSk7XG4gIGNvbnN0IFtzYW1wbGluZ1VwZGF0ZWQsIHNldFNhbXBsaW5nVXBkYXRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzYW1wbGluZ1BsYW4sIHNldFNhbXBsaW5nUGxhbl0gPSB1c2VTdGF0ZTxcbiAgICBTYW1wbGluZ0ZldGNoRGF0YSB8IHVuZGVmaW5lZFxuICA+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCB1c2VySW5mbyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvKTtcbiAgY29uc3QgZGF0ZUZvcm1hdCA9XG4gICAgdXNlckluZm8uZGF0ZV90aW1lX2Zvcm1hdCA9PT0gJ3VzJ1xuICAgICAgPyAnTU1NIGQsIHl5eXkgaGg6bW0gYWEnXG4gICAgICA6ICdkL01NL3l5eXkgSEg6bW0nO1xuICBjb25zdCBwYWdlVHlwZSA9IHVzZVJlZjxzdHJpbmc+KCcnKTtcbiAgY29uc3QgW3NhbXBsaW5nUHJvcGVydGllcywgc2V0U2FtcGxpbmdQcm9wZXJ0aWVzXSA9XG4gICAgdXNlU3RhdGU8VFNhbXBsaW5nUHJvcGVydGllcz4oKTtcbiAgY29uc3QgeyBzYW1wbGVJZCB9ID0gdXNlUGFyYW1zKCk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG4gIGNvbnN0IGxvY2FsZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZSxcbiAgKTtcblxuICBjb25zdCBpbml0Rm9ybWlrVmFsdWVzID0gKFxuICAgIHNhbXBsaW5nUHJvcGVydGllcyxcbiAgICBpc0NhbmNlbGVkLFxuICAgIHRpbWVab25lLFxuICAgIHVzZXJJbmZvLFxuICApID0+IHtcbiAgICBjb25zdCBwYWdlQ29sbGVjdGlvblRpbWUgPSBpc0NvbGxlY3RMYXlvdXQocGFnZVR5cGUuY3VycmVudClcbiAgICAgID8gY29sbGVjdGlvblRpbWVcbiAgICAgIDogY29sbGVjdGlvblRpbWVGb3JtYXQoXG4gICAgICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLmNvbGxlY3Rpb25fdGltZSxcbiAgICAgICAgICB0aW1lWm9uZSxcbiAgICAgICAgKTtcbiAgICBjb25zdCBzYW0gPSBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmc7XG4gICAgbGV0IGZvcm1pa1ZhbHVlczogRm9ybVR5cGUgPSB7XG4gICAgICBsYWJfaWQ6IHNhbS5sYWJfaWQsXG4gICAgICBjb2xsZWN0aW9uX3RpbWU6IHBhZ2VDb2xsZWN0aW9uVGltZSxcbiAgICAgIHB1bXBfc2FtcGxpbmdfdm9sdW1lOiBzYW0ucHVtcF9zYW1wbGluZ192b2x1bWUsXG4gICAgICBwdW1wX2JhdHRlcnlfbGV2ZWw6IHNhbS5wdW1wX2JhdHRlcnlfbGV2ZWwsXG4gICAgICBkZXNjcmlwdGlvbjogc2FtLmRlc2NyaXB0aW9uLFxuICAgICAga2FuZG9fcmVwOiBzYW0ua2FuZG9fcmVwLFxuICAgICAgc2FtcGxpbmdfcGxhbl9pZDogc2FtLnNhbXBsaW5nX3BsYW5faWQsXG4gICAgICBjYW5jZWxsYXRpb25fcmVhc29uOiBzYW0uY2FuY2VsbGF0aW9uX3JlYXNvbiB8fCAnJyxcbiAgICAgIGlzX2NhbmNlbGVkOiBpc0NhbmNlbGVkLFxuICAgIH07XG5cbiAgICBpZiAoaXNDYW5jZWxsZWRMYXlvdXQoc2FtcGxpbmdQcm9wZXJ0aWVzKSlcbiAgICAgIGZvcm1pa1ZhbHVlcy5jYW5jZWxlZF9ieV9pZCA9IHtcbiAgICAgICAgbmFtZTogc2FtcGxpbmdQcm9wZXJ0aWVzLmNhbmNlbGVkX2J5X25hbWUsXG4gICAgICAgIC8vICB8fFxuICAgICAgICAvLyB1c2VySW5mby5maXJzdF9uYW1lICsgJyAnICsgdXNlckluZm8ubGFzdF9uYW1lLFxuICAgICAgICBpZDogc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLmlzX2NhbmNlbGVkXG4gICAgICAgICAgPyBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuY2FuY2VsZWRfYnlfaWRcbiAgICAgICAgICA6IHVzZXJJbmZvLmlkLFxuICAgICAgfTtcbiAgICBmb3JtaWtWYWx1ZXMua2FuZG9fcmVwID0gc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLmthbmRvX3JlcDtcbiAgICBmb3JtaWsuc2V0VmFsdWVzKGZvcm1pa1ZhbHVlcyk7XG4gIH07XG5cbiAgY29uc3QgaXNDYW5jZWxsZWRMYXlvdXQgPSAoc2FtcGxpbmdQcm9wZXJ0aWVzKSA9PiB7XG4gICAgY29uc3QgcGFnZVR5cGUyaXNDYW5jZWxsZWQgPSB7XG4gICAgICBjYW5jZWw6IHRydWUsXG4gICAgICBjb2xsZWN0OiBmYWxzZSxcbiAgICAgIHJldmVydF9jYW5jZWw6IGZhbHNlLFxuICAgIH07XG4gICAgbGV0IGlzQ2FuY2VsZWQgPSBwYWdlVHlwZTJpc0NhbmNlbGxlZFtwYWdlVHlwZS5jdXJyZW50XTtcbiAgICBpZiAoaXNDYW5jZWxlZCA9PT0gbnVsbCkge1xuICAgICAgaXNDYW5jZWxlZCA9IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5pc19jYW5jZWxlZCB8fCBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQ2FuY2VsZWQ7XG4gIH07XG5cbiAgY29uc3QgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoc2FtcGxpbmdJZCA9IHNhbXBsZUlkLCBvcCkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQoXG4gICAgICAgIHVybHMoeyBzYW1wbGluZ0lkOiBzYW1wbGluZ0lkIH0pLnNhbXBsaW5nUHJvcGVydGllcy5mZXRjaFNhbXBsaW5nLnVybCxcbiAgICAgICk7XG4gICAgICBjb25zdCBzYW1wbGluZyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICBjb25zdCBzYW1wbGluZ1Byb3BlcnRpZXMgPSBzYW1wbGluZy5zYW1wbGluZ19wcm9wZXJ0aWVzO1xuICAgICAgcGFnZVR5cGUuY3VycmVudCA9IGRldGVjdFBhZ2VUeXBlKFxuICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuaXNfY2FuY2VsZWQsXG4gICAgICAgIG9wLFxuICAgICAgKTtcbiAgICAgIHNldENvbGxlY3Rpb25UaW1lKFxuICAgICAgICBkZXRlcm1pbmVDb2xsZWN0aW9uVGltZShcbiAgICAgICAgICBjb2xsZWN0aW9uVGltZUZvcm1hdChcbiAgICAgICAgICAgIHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5jb2xsZWN0aW9uX3RpbWUsXG4gICAgICAgICAgICBzYW1wbGluZy5zYW1wbGluZ19wbGFuLnRpbWVfem9uZSxcbiAgICAgICAgICApLFxuICAgICAgICAgIG9wLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGxldCBpc0NhbmNlbGVkID0gaXNDYW5jZWxsZWRMYXlvdXQoXG4gICAgICAgIHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5pc19jYW5jZWxlZCxcbiAgICAgICk7XG4gICAgICBpbml0Rm9ybWlrVmFsdWVzKFxuICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMsXG4gICAgICAgIGlzQ2FuY2VsZWQsXG4gICAgICAgIHNhbXBsaW5nLnNhbXBsaW5nX3BsYW4udGltZV96b25lLFxuICAgICAgICB1c2VySW5mbyxcbiAgICAgICk7XG4gICAgICBzZXRTYW1wbGluZ1Byb3BlcnRpZXMoc2FtcGxpbmdQcm9wZXJ0aWVzKTtcbiAgICAgIHNldFNhbXBsaW5nUGxhbihzYW1wbGluZy5zYW1wbGluZ19wbGFuKTtcbiAgICB9LFxuICAgIFtdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMoc2FtcGxlSWQsIGdldFVybFF1ZXJ5T3AoKSk7XG4gIH0sIFtzYW1wbGluZ1VwZGF0ZWRdKTtcblxuICBjb25zdCB2YWxpZGF0aW9uU2NoZW1hID0gaXNDb2xsZWN0TGF5b3V0KHBhZ2VUeXBlLmN1cnJlbnQpXG4gICAgPyBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYVxuICAgIDogY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYTtcbiAgY29uc3QgZm9ybWlrID0gdXNlRm9ybWlrPEZvcm1pa0NvbmZpZzxGb3JtVHlwZT4+KHtcbiAgICBlbmFibGVSZWluaXRpYWxpemU6IHRydWUsXG4gICAgaW5pdGlhbFZhbHVlczogc2FtcGxpbmdQcm9wZXJ0eSxcbiAgICB2YWxpZGF0aW9uU2NoZW1hOiB2YWxpZGF0aW9uU2NoZW1hLFxuICAgIHZhbGlkYXRlT25DaGFuZ2U6IGZhbHNlLFxuICAgIHZhbGlkYXRlT25CbHVyOiB0cnVlLFxuICAgIG9uU3VibWl0OiAodmFsdWVzKSA9PiB7XG4gICAgICBoYW5kbGVTdWJtaXQodmFsdWVzKTtcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBpZiAobG9jYXRpb24ua2V5KSB7XG4gICAgICBoaXN0b3J5LmdvQmFjaygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoaXN0b3J5LnB1c2goXG4gICAgICAgIHVybHMoeyBsb2NhbGUsIHdhdGVyQXV0aG9yaXR5SWQgfSkuc2FtcGxpbmdzUGFnZS5zYW1wbGluZ3NMaXN0Um91dGUudXJsLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKHZhbHVlcykgPT4ge1xuICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuc2F2aW5nJykpO1xuICAgIHZhbHVlcy5waWN0dXJlc19hdHRyaWJ1dGVzID0gcGhvdG9zO1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIC8vIGlmICh2YWx1ZXMuY2FuY2VsZWRfYnlfaWQ/LmlkID4gMCAmJiBpc0NhbmNlbGxlZExheW91dChzYW1wbGluZ1Byb3BlcnRpZXMpKVxuICAgIHZhbHVlcy5jYW5jZWxlZF9ieV9pZCA9IHZhbHVlcy5jYW5jZWxlZF9ieV9pZC5pZDtcbiAgICBjb25zdCB0aW1lX3pvbmUgPSBzYW1wbGluZ1BsYW4/LnRpbWVfem9uZSB8fCAnVVRDJztcbiAgICB2YWx1ZXMuY29sbGVjdGlvbl90aW1lID0gY29sbGVjdGlvblRpbWVJblRpbWVab25lKFxuICAgICAgdmFsdWVzLmNvbGxlY3Rpb25fdGltZSxcbiAgICAgIHRpbWVfem9uZSxcbiAgICApO1xuICAgIGNvbnN0IHNhdmVGb3JtRGF0YSA9IGZvcm1EYXRhQnVpbGRlcih2YWx1ZXMpO1xuICAgIHVwZGF0ZU9yQ3JlYXRlKHNhdmVGb3JtRGF0YSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0ID0gKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0U2F2aW5nTXNnKGkxOG4udCgnYnV0dG9ucy5zYXZlJykpO1xuICAgIH0sIDMwMDApO1xuICB9O1xuXG4gIGNvbnN0IGZvcm1EYXRhQnVpbGRlciA9ICh2YWx1ZXMpID0+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvciAoY29uc3Qga2V5IGluIHZhbHVlcykge1xuICAgICAgaWYgKGtleSAhPT0gJ3BpY3R1cmVzX2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVzW2tleV0gPT09IG51bGwgPyAnJyA6IHZhbHVlc1trZXldO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoYHNhbXBsaW5nWyR7a2V5fV1gLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGxldCB1bmlxdWVQaG90b3NUb0RlbGV0ZSA9IFsuLi5uZXcgU2V0KHBob3Rvc1RvRGVsZXRlKV07XG4gICAgdW5pcXVlUGhvdG9zVG9EZWxldGUubGVuZ3RoICE9PSAwICYmXG4gICAgICB1bmlxdWVQaG90b3NUb0RlbGV0ZS5mb3JFYWNoKChpZCwgaW5kZXgpID0+IHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgIGBzYW1wbGluZ1twaWN0dXJlc19hdHRyaWJ1dGVzXVske2luZGV4fV1baWRdYCxcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShpZCksXG4gICAgICAgICk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgICBgc2FtcGxpbmdbcGljdHVyZXNfYXR0cmlidXRlc11bJHtpbmRleH1dW19kZXN0cm95XWAsXG4gICAgICAgICAgJ3RydWUnLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgcmV0dXJuIGZvcm1EYXRhO1xuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZU9yQ3JlYXRlID0gYXN5bmMgKGZvcm1EYXRhKSA9PiB7XG4gICAgY29uc3QgdXBkYXRlT3JDcmVhdGVTdWNjZXNzID0gKG1zZykgPT4ge1xuICAgICAgc2V0U2F2aW5nTXNnKGkxOG4udChtc2cpKTtcbiAgICAgIHNldFNhbXBsaW5nVXBkYXRlZCh0cnVlKTtcbiAgICAgIHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCgpO1xuICAgICAgaGFuZGxlQ2xvc2UoKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2FtcGxpbmdJRCA9IHNhbXBsaW5nUHJvcGVydGllcz8uc2FtcGxpbmc/LmlkO1xuICAgIGlmIChzYW1wbGluZ0lEID09PSBudWxsKSB7XG4gICAgICAvLyBjcmVhdGVcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgYHNhbXBsaW5nW2RhdGVdYCxcbiAgICAgICAgZm9ybURhdGEuZ2V0KCdzYW1wbGluZ1tjb2xsZWN0aW9uX3RpbWVdJyksXG4gICAgICApO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYXhpb3MucG9zdChcbiAgICAgICAgICB1cmxzKHtcbiAgICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgICAgICAgfSkuc2FtcGxpbmdQcm9wZXJ0aWVzLmNyZWF0ZVNhbXBsaW5nLnVybCxcbiAgICAgICAgICBmb3JtRGF0YSxcbiAgICAgICAgKTtcbiAgICAgICAgdXBkYXRlT3JDcmVhdGVTdWNjZXNzKCdidXR0b25zLmNyZWF0ZWQnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc2V0U2F2aW5nTXNnKGkxOG4udCgnYnV0dG9ucy5lcnJvcicpKTtcbiAgICAgICAgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0KCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwYWdlVHlwZS5jdXJyZW50ID09PSAncmV2ZXJ0X2NhbmNlbCcpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGBzYW1wbGluZ1tjb2xsZWN0aW9uX3RpbWVdYCwgY29sbGVjdGlvblRpbWUpO1xuICAgICAgfVxuICAgICAgLy8gdXBkYXRlXG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBheGlvcy5wdXQoXG4gICAgICAgICAgdXJscyh7IHNhbXBsaW5nSWQ6IHNhbXBsaW5nSUQsIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQgfSlcbiAgICAgICAgICAgIC5zYW1wbGluZ1Byb3BlcnRpZXMudXBkYXRlU2FtcGxpbmcudXJsLFxuICAgICAgICAgIGZvcm1EYXRhLFxuICAgICAgICApO1xuICAgICAgICB1cGRhdGVPckNyZWF0ZVN1Y2Nlc3MoJ2J1dHRvbnMudXBkYXRlZCcpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLmVycm9yJykpO1xuICAgICAgICBzZXRPcmlnaW5hbFNhdmVNZXNzYWdlV2l0aFRpbWVvdXQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGV0ZWN0UGFnZVR5cGUgPSAoaXNTYW1wbGluZ0NhbmNlbGxlZCwgb3ApID0+IHtcbiAgICBjb25zdCBlZGl0UGFnZVZhbHVlID0gaXNTYW1wbGluZ0NhbmNlbGxlZCA/ICdjYW5jZWwnIDogJ2NvbGxlY3QnO1xuICAgIGlmIChvcCA9PT0gJ2VkaXQnKSB7XG4gICAgICByZXR1cm4gZWRpdFBhZ2VWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKG9wID09PSBDT0xMRUNUX1NBTVBMSU5HX09QKSB7XG4gICAgICByZXR1cm4gJ2NvbGxlY3QnO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IENBTkNFTF9TQU1QTElOR19PUCkge1xuICAgICAgcmV0dXJuICdjYW5jZWwnO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IFJFVkVSVF9DQU5DRUxMQVRJT04pIHtcbiAgICAgIHJldHVybiAncmV2ZXJ0X2NhbmNlbCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBkZXRlcm1pbmVDb2xsZWN0aW9uVGltZSA9IChzZXJ2ZXJDb2xsZWN0aW9uVGltZSwgb3ApID0+IHtcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3Qgc2VydmVyVGltZSA9IHNlcnZlckNvbGxlY3Rpb25UaW1lXG4gICAgICA/IG5ldyBEYXRlKHNlcnZlckNvbGxlY3Rpb25UaW1lKVxuICAgICAgOiBjdXJyZW50VGltZTtcbiAgICBjb25zdCBlZGl0UGFnZVZhbHVlID0gc2VydmVyQ29sbGVjdGlvblRpbWUgPyBzZXJ2ZXJUaW1lIDogY3VycmVudFRpbWU7XG4gICAgaWYgKG9wID09PSAnZWRpdCcpIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IENPTExFQ1RfU0FNUExJTkdfT1ApIHtcbiAgICAgIHJldHVybiBjdXJyZW50VGltZTtcbiAgICB9IGVsc2UgaWYgKFtDQU5DRUxfU0FNUExJTkdfT1AsIFJFVkVSVF9DQU5DRUxMQVRJT05dLmluY2x1ZGVzKG9wKSkge1xuICAgICAgcmV0dXJuIHNlcnZlclRpbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRVcmxRdWVyeU9wID0gKCkgPT4ge1xuICAgIGxldCBvcCA9IHF1ZXJ5LmdldCgnb3AnKTtcbiAgICAvLyBpZiBub3QgcHJlc2VudCB0aGVuIGRlZmF1bHQgb3AgaXMgJ2NvbGxlY3RpbmcnXG4gICAgaWYgKFt1bmRlZmluZWQsIG51bGwsICcnXS5pbmNsdWRlcyhvcCkpIHtcbiAgICAgIHJldHVybiBDT0xMRUNUX1NBTVBMSU5HX09QO1xuICAgIH1cbiAgICByZXR1cm4gb3A7XG4gIH07XG5cbiAgaWYgKCFzYW1wbGluZ1BsYW4gfHwgIXNhbXBsaW5nUHJvcGVydGllcykge1xuICAgIHJldHVybiA8U3Bpbm5lciAvPjtcbiAgfVxuXG4gIGlmIChzYW1wbGluZ1Byb3BlcnRpZXMuaXNfcHVtcF9pbl9wcm9ncmVzcykge1xuICAgIHJldHVybiA8U2FtcGxlckluUHJvY2VzcyBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9IC8+O1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Zm9ybSBvblN1Ym1pdD17Zm9ybWlrLmhhbmRsZVN1Ym1pdH0+XG4gICAgICA8TGF5b3V0PlxuICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGU+XG4gICAgICAgICAgeyFpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzSGVhZFxuICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUGxhbn1cbiAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBjb2xsZWN0aW9uVGltZT17Y29sbGVjdGlvblRpbWV9XG4gICAgICAgICAgICAgIHNldENvbGxlY3Rpb25UaW1lPXtzZXRDb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkPXtzZXRTYW1wbGluZ1VwZGF0ZWR9XG4gICAgICAgICAgICAgIGlzRGF0ZVBpY2tlckRpc2FibGVkPXtpc1Byb3BlcnRpZXNQYWdlKHBhZ2VUeXBlKX1cbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzSGVhZE1vYmlsZVxuICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUGxhbn1cbiAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBjb2xsZWN0aW9uVGltZT17Y29sbGVjdGlvblRpbWV9XG4gICAgICAgICAgICAgIHNldENvbGxlY3Rpb25UaW1lPXtzZXRDb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkPXtzZXRTYW1wbGluZ1VwZGF0ZWR9XG4gICAgICAgICAgICAgIGlzRGF0ZVBpY2tlckRpc2FibGVkPXtpc1Byb3BlcnRpZXNQYWdlKHBhZ2VUeXBlKX1cbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtzYW1wbGluZ1Byb3BlcnRpZXMgJiYgcGFnZVR5cGUgJiYgKFxuICAgICAgICAgICAgPFNhbXBsaW5nUHJvcGVydGllc0Zvcm1cbiAgICAgICAgICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzPXtzYW1wbGluZ1Byb3BlcnRpZXN9XG4gICAgICAgICAgICAgIHNhbXBsaW5nPXtzYW1wbGluZ1BsYW59XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBzZXRTYW1wbGluZ1VwZGF0ZWQ9e3NldFNhbXBsaW5nVXBkYXRlZH1cbiAgICAgICAgICAgICAgc2F2aW5nTXNnPXtzYXZpbmdNc2d9XG4gICAgICAgICAgICAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgICAgICAgc2V0UGhvdG9zVG9EZWxldGU9e3NldFBob3Rvc1RvRGVsZXRlfVxuICAgICAgICAgICAgICBzZXRQaG90b3M9e3NldFBob3Rvc31cbiAgICAgICAgICAgICAgcGhvdG9zPXtwaG90b3N9XG4gICAgICAgICAgICAgIGZvcm1paz17Zm9ybWlrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NhbXBsaW5nUHJvcGVydGllc1N0eWxlPlxuICAgICAgPC9MYXlvdXQ+XG4gICAgPC9mb3JtPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsa0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLE9BQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLEtBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLFFBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLEtBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLE9BQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLG1CQUFBLEdBQUFiLE9BQUE7QUFNQSxJQUFBYyx1QkFBQSxHQUFBZCxPQUFBO0FBQ0EsSUFBQWUsdUJBQUEsR0FBQWYsT0FBQTtBQUNBLElBQUFnQiw2QkFBQSxHQUFBaEIsT0FBQTtBQUNBLElBQUFpQix3QkFBQSxHQUFBakIsT0FBQTtB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
|
|
@@ -12,6 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _reactD3Tree = _interopRequireDefault(require("react-d3-tree"));
|
|
13
13
|
var _ScoreNode = _interopRequireDefault(require("./ScoreNode"));
|
|
14
14
|
var _PollutionContributorNode = _interopRequireDefault(require("./PollutionContributorNode"));
|
|
15
|
+
var _NetworkNode = _interopRequireDefault(require("./NetworkNode"));
|
|
15
16
|
var _utils = require("./utils");
|
|
16
17
|
var _reactRedux = require("react-redux");
|
|
17
18
|
var _reactRouterDom = require("react-router-dom");
|
|
@@ -124,19 +125,35 @@ function AutoFitTree(_ref) {
|
|
|
124
125
|
siteID = _useParams.siteID,
|
|
125
126
|
areaID = _useParams.areaID;
|
|
126
127
|
var renderCustomNodeElement = function renderCustomNodeElement(rd3tProps) {
|
|
127
|
-
var _selectedFilters$Samp, _selectedFilters$Insi, _rd3tProps$nodeDatum$, _rd3tProps$nodeDatum$2, _rd3tProps$nodeDatum$3, _rd3tProps$nodeDatum$4, _rd3tProps$nodeDatum$5;
|
|
128
|
+
var _selectedFilters$Samp, _selectedFilters$Netw, _selectedFilters$Insi, _rd3tProps$nodeDatum$, _rd3tProps$nodeDatum$2, _rd3tProps$nodeDatum$3, _rd3tProps$nodeDatum$4, _rd3tProps$nodeDatum$5;
|
|
128
129
|
var isRoot = rd3tProps.nodeDatum.__rd3t.depth === 0;
|
|
129
130
|
var showSamplers = (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Samp = selectedFilters.SamplerFilterItem) === null || _selectedFilters$Samp === void 0 ? void 0 : _selectedFilters$Samp.toString()) === 'with' || false;
|
|
130
|
-
var insightData = (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Insi = selectedFilters.InsightDataFilterItem) === null || _selectedFilters$Insi === void 0 ? void 0 : _selectedFilters$Insi.toString()) || 'score';
|
|
131
|
+
var insightData = (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Netw = selectedFilters.NetworkInsightDataFilterItem) === null || _selectedFilters$Netw === void 0 ? void 0 : _selectedFilters$Netw.toString()) || (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Insi = selectedFilters.InsightDataFilterItem) === null || _selectedFilters$Insi === void 0 ? void 0 : _selectedFilters$Insi.toString()) || 'score';
|
|
131
132
|
var isHighlight = siteID && siteID === ((_rd3tProps$nodeDatum$ = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$ === void 0 ? void 0 : (_rd3tProps$nodeDatum$2 = _rd3tProps$nodeDatum$.point_id) === null || _rd3tProps$nodeDatum$2 === void 0 ? void 0 : _rd3tProps$nodeDatum$2.toString()) || areaID && areaID === ((_rd3tProps$nodeDatum$3 = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$3 === void 0 ? void 0 : (_rd3tProps$nodeDatum$4 = _rd3tProps$nodeDatum$3.area_id) === null || _rd3tProps$nodeDatum$4 === void 0 ? void 0 : _rd3tProps$nodeDatum$4.toString());
|
|
132
133
|
var isExceeded = exceededSiteIds.includes((_rd3tProps$nodeDatum$5 = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$5 === void 0 ? void 0 : _rd3tProps$nodeDatum$5.point_id);
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
134
|
+
if (!isRoot && (0, _utils.shouldFilterOut)(rd3tProps, selectedFilters)) {
|
|
135
|
+
return /*#__PURE__*/_react.default.createElement("div", null);
|
|
136
|
+
}
|
|
137
|
+
if (insightData === 'score') {
|
|
138
|
+
return /*#__PURE__*/_react.default.createElement(_ScoreNode.default, Object.assign({}, rd3tProps, {
|
|
139
|
+
isHighlight: isHighlight,
|
|
140
|
+
isExceeded: isExceeded,
|
|
141
|
+
onNodeClick: rest.onNodeClick,
|
|
142
|
+
earlyAdopter: early_adopter,
|
|
143
|
+
showSamplers: showSamplers
|
|
144
|
+
}));
|
|
145
|
+
}
|
|
146
|
+
if (insightData === 'pollution_contributor') {
|
|
147
|
+
return /*#__PURE__*/_react.default.createElement(_PollutionContributorNode.default, Object.assign({}, rd3tProps, {
|
|
148
|
+
isExceeded: isExceeded,
|
|
149
|
+
isHighlight: isHighlight,
|
|
150
|
+
onNodeClick: rest.onNodeClick,
|
|
151
|
+
earlyAdopter: early_adopter,
|
|
152
|
+
showSamplers: showSamplers
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
return /*#__PURE__*/_react.default.createElement(_NetworkNode.default, Object.assign({}, rd3tProps, {
|
|
156
|
+
insightType: insightData,
|
|
140
157
|
isExceeded: isExceeded,
|
|
141
158
|
isHighlight: isHighlight,
|
|
142
159
|
onNodeClick: rest.onNodeClick,
|
|
@@ -170,4 +187,4 @@ function AutoFitTree(_ref) {
|
|
|
170
187
|
initialDepth: initialDepth
|
|
171
188
|
}, rest)));
|
|
172
189
|
}
|
|
173
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REM1RyZWUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Njb3JlTm9kZSIsIl9Qb2xsdXRpb25Db250cmlidXRvck5vZGUiLCJfdXRpbHMiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9leGNsdWRlZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiY291bnREZXB0aEFuZEJyZWFkdGgiLCJyb290IiwibWF4RGVwdGgiLCJicmVhZHRoQnlEZXB0aCIsImRmcyIsIm4iLCJfbiRjaGlsZHJlbiIsImQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJNYXRoIiwibWF4IiwiY2hpbGRyZW4iLCJmb3JFYWNoIiwiYyIsIm1heEJyZWFkdGgiLCJhcHBseSIsIkF1dG9GaXRUcmVlIiwiX3JlZiIsImRhdGEiLCJfcmVmJG9yaWVudGF0aW9uIiwib3JpZW50YXRpb24iLCJpbml0aWFsRGVwdGgiLCJ0cmVlS2V5IiwiX3JlZiRzZWxlY3RlZEZpbHRlcnMiLCJzZWxlY3RlZEZpbHRlcnMiLCJfcmVmJGV4Y2VlZGVkU2l0ZUlkcyIsImV4Y2VlZGVkU2l0ZUlkcyIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiUEFERElORyIsIndyYXBwZXJSZWYiLCJ1c2VSZWYiLCJub2RlU2l6ZSIsIngiLCJ5Iiwic2VwYXJhdGlvbiIsInNpYmxpbmdzIiwibm9uU2libGluZ3MiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRpbXMiLCJzZXREaW1zIiwiZWFybHlfYWRvcHRlciIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJybyIsIlJlc2l6ZU9ic2VydmVyIiwiciIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwiX3VzZU1lbW8iLCJ1c2VNZW1vIiwiX2NvdW50RGVwdGhBbmRCcmVhZHRoIiwicmVxVyIsInJlcUgiLCJhdmFpbFciLCJhdmFpbEgiLCJmaXRab29tIiwibWluIiwieiIsImlzRmluaXRlIiwiem9vbSIsInRyYW5zbGF0ZSIsInNldENvbGxhcHNlZEJ5RGVwdGgiLCJub2RlIiwiX25vZGUkY2hpbGRyZW4iLCJjb2xsYXBzZWQiLCJ2aWV3RGF0YSIsImNsb25lIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiX3VzZVBhcmFtcyIsInVzZVBhcmFtcyIsInNpdGVJRCIsImFyZWFJRCIsInJlbmRlckN1c3RvbU5vZGVFbGVtZW50IiwicmQzdFByb3BzIiwiX3NlbGVjdGVkRmlsdGVycyRTYW1wIiwiX3NlbGVjdGVkRmlsdGVycyRJbnNpIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kMiIsIl9yZDN0UHJvcHMkbm9kZURhdHVtJDMiLCJfcmQzdFByb3BzJG5vZGVEYXR1bSQ0IiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kNSIsImlzUm9vdCIsIm5vZGVEYXR1bSIsIl9fcmQzdCIsImRlcHRoIiwic2hvd1NhbXBsZXJzIiwiU2FtcGxlckZpbHRlckl0ZW0iLCJ0b1N0cmluZyIsImluc2lnaHREYXRhIiwiSW5zaWdodERhdGFGaWx0ZXJJdGVtIiwiaXNIaWdobGlnaHQiLCJhdHRyaWJ1dGVzIiwicG9pbnRfaWQiLCJhcmVhX2lkIiwiaXNFeGNlZWRlZCIsImluY2x1ZGVzIiwic2hvdWxkRmlsdGVyT3V0IiwiY3JlYXRlRWxlbWVudCIsImFzc2lnbiIsIm9uTm9kZUNsaWNrIiwiZWFybHlBZG9wdGVyIiwicmVmIiwic3R5bGUiLCJvdmVyZmxvdyIsInBhdGhGdW5jIiwiem9vbWFibGUiLCJzY2FsZUV4dGVudCIsImNvbGxhcHNpYmxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9BdXRvRml0VHJlZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUcmVlLCB7IFJhd05vZGVEYXR1bSB9IGZyb20gJ3JlYWN0LWQzLXRyZWUnO1xuaW1wb3J0IFNjb3JlTm9kZSBmcm9tICcuL1Njb3JlTm9kZSc7XG5pbXBvcnQgUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlIGZyb20gJy4vUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlJztcbmltcG9ydCB7IEluc2lnaHREYXRhLCBzaG91bGRGaWx0ZXJPdXQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbnR5cGUgU2VwID0geyBzaWJsaW5nczogbnVtYmVyOyBub25TaWJsaW5nczogbnVtYmVyIH07XG5cbmZ1bmN0aW9uIGNvdW50RGVwdGhBbmRCcmVhZHRoKHJvb3Q6IFJhd05vZGVEYXR1bSkge1xuICBsZXQgbWF4RGVwdGggPSAwO1xuICBjb25zdCBicmVhZHRoQnlEZXB0aDogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgZGZzID0gKG46IFJhd05vZGVEYXR1bSwgZCA9IDApID0+IHtcbiAgICBtYXhEZXB0aCA9IE1hdGgubWF4KG1heERlcHRoLCBkKTtcbiAgICBicmVhZHRoQnlEZXB0aFtkXSA9IChicmVhZHRoQnlEZXB0aFtkXSB8fCAwKSArIDE7XG4gICAgbi5jaGlsZHJlbj8uZm9yRWFjaCgoYykgPT4gZGZzKGMsIGQgKyAxKSk7XG4gIH07XG4gIGRmcyhyb290KTtcbiAgY29uc3QgbWF4QnJlYWR0aCA9IE1hdGgubWF4KC4uLmJyZWFkdGhCeURlcHRoKTtcbiAgcmV0dXJuIHsgbWF4RGVwdGgsIG1heEJyZWFkdGggfTtcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEF1dG9GaXRUcmVlKHtcbiAgZGF0YSxcbiAgb3JpZW50YXRpb24gPSAndmVydGljYWwnLFxuICBpbml0aWFsRGVwdGgsXG4gIHRyZWVLZXksXG4gIHNlbGVjdGVkRmlsdGVycyA9IHt9LFxuICBleGNlZWRlZFNpdGVJZHMgPSBbXSxcbiAgLi4ucmVzdFxufToge1xuICBkYXRhOiBhbnk7XG4gIG9yaWVudGF0aW9uPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJztcbiAgaW5pdGlhbERlcHRoOiBudW1iZXI7XG4gIG9uTm9kZUNsaWNrPzogKG5vZGVEYXRhOiBhbnkpID0+IHZvaWQ7XG4gIHRyZWVLZXk6IG51bWJlcjtcbiAgc2VsZWN0ZWRGaWx0ZXJzPzogYW55O1xuICBleGNlZWRlZFNpdGVJZHM/OiBudW1iZXJbXTtcbn0pIHtcbiAgY29uc3QgUEFERElORyA9IDQyOyAvLyBzY3JlZW4gcGFkZGluZyBpbiBweFxuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3Qgbm9kZVNpemUgPSB7IHg6IDI3MCwgeTogMjcwIH07IC8vIGhvdyBtdWNoIHNwYWNlIGVhY2ggbm9kZSBvY2N1cGllc1xuICBjb25zdCBzZXBhcmF0aW9uOiBTZXAgPSB7IHNpYmxpbmdzOiAwLjgsIG5vblNpYmxpbmdzOiAwLjkgfTsgLy8gbm9kZSBzcGFjaW5nXG4gIGNvbnN0IFtkaW1zLCBzZXREaW1zXSA9IHVzZVN0YXRlKHsgd2lkdGg6IDUwMCwgaGVpZ2h0OiAxMDAgfSk7XG4gIGNvbnN0IGVhcmx5X2Fkb3B0ZXIgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IGFueSkgPT4gc3RhdGUucGVybWlzc2lvbnMuZWFybHlfYWRvcHRlcixcbiAgKTtcblxuICAvLyBrZWVwIHdyYXBwZXIgc2l6ZWQgdG8gdGhlIHZpZXdwb3J0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF3cmFwcGVyUmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBjb25zdCBybyA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICBjb25zdCByID0gd3JhcHBlclJlZi5jdXJyZW50IS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHNldERpbXMoeyB3aWR0aDogci53aWR0aCwgaGVpZ2h0OiByLmhlaWdodCB9KTtcbiAgICB9KTtcbiAgICByby5vYnNlcnZlKHdyYXBwZXJSZWYuY3VycmVudCk7XG4gICAgcmV0dXJuICgpID0+IHJvLmRpc2Nvbm5lY3QoKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHsgdHJhbnNsYXRlLCB6b29tIH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB7IG1heERlcHRoLCBtYXhCcmVhZHRoIH0gPSBjb3VudERlcHRoQW5kQnJlYWR0aChkYXRhKTtcblxuICAgIC8vIGFwcHJveGltYXRlIHJlcXVpcmVkIHBpeGVsIHNpemUgb2YgdGhlIGxhaWQtb3V0IHRyZWVcbiAgICBjb25zdCByZXFXID0gbWF4QnJlYWR0aCAqIG5vZGVTaXplLnggKiBzZXBhcmF0aW9uLnNpYmxpbmdzO1xuICAgIGNvbnN0IHJlcUggPSAobWF4RGVwdGggKyAxKSAqIG5vZGVTaXplLnk7XG5cbiAgICBjb25zdCBhdmFpbFcgPSBNYXRoLm1heCgxLCBkaW1zLndpZHRoIC0gUEFERElORyAqIDIpO1xuICAgIGNvbnN0IGF2YWlsSCA9IE1hdGgubWF4KDEsIGRpbXMuaGVpZ2h0IC0gUEFERElORyAqIDIpO1xuXG4gICAgY29uc3QgZml0Wm9vbSA9IDAuNyAqIE1hdGgubWluKGF2YWlsVyAvIHJlcVcsIGF2YWlsSCAvIHJlcUgpO1xuICAgIGNvbnN0IHogPSBpc0Zpbml0ZShmaXRab29tKSAmJiBmaXRab29tID4gMCA/IGZpdFpvb20gOiAxLjI7XG5cbiAgICByZXR1cm4geyB6b29tOiB6LCB0cmFuc2xhdGU6IHsgeDogZGltcy53aWR0aCAvIDIsIHk6IFBBRERJTkcgfSB9O1xuICB9LCBbXG4gICAgZGF0YSxcbiAgICBub2RlU2l6ZS54LFxuICAgIG5vZGVTaXplLnksXG4gICAgc2VwYXJhdGlvbi5zaWJsaW5ncyxcbiAgICBkaW1zLndpZHRoLFxuICAgIGRpbXMuaGVpZ2h0LFxuICBdKTtcblxuICBmdW5jdGlvbiBzZXRDb2xsYXBzZWRCeURlcHRoKG5vZGU6IGFueSwgbWF4RGVwdGg6IG51bWJlciwgZCA9IDApIHtcbiAgICBub2RlLmNvbGxhcHNlZCA9IGQgPj0gbWF4RGVwdGg7XG4gICAgbm9kZS5jaGlsZHJlbj8uZm9yRWFjaCgoYykgPT4gc2V0Q29sbGFwc2VkQnlEZXB0aChjLCBtYXhEZXB0aCwgZCArIDEpKTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGNvbnN0IHZpZXdEYXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFkYXRhKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBjbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHJldHVybiBzZXRDb2xsYXBzZWRCeURlcHRoKGNsb25lLCBpbml0aWFsRGVwdGgpO1xuICB9LCBbZGF0YSwgaW5pdGlhbERlcHRoXSk7XG5cbiAgY29uc3QgeyBzaXRlSUQsIGFyZWFJRCB9ID0gdXNlUGFyYW1zKCk7XG5cbiAgY29uc3QgcmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnQgPSAocmQzdFByb3BzKSA9PiB7XG4gICAgY29uc3QgaXNSb290ID0gcmQzdFByb3BzLm5vZGVEYXR1bS5fX3JkM3QuZGVwdGggPT09IDA7XG4gICAgY29uc3Qgc2hvd1NhbXBsZXJzID1cbiAgICAgIHNlbGVjdGVkRmlsdGVycz8uU2FtcGxlckZpbHRlckl0ZW0/LnRvU3RyaW5nKCkgPT09ICd3aXRoJyB8fCBmYWxzZTtcbiAgICBjb25zdCBpbnNpZ2h0RGF0YSA9XG4gICAgICAoc2VsZWN0ZWRGaWx0ZXJzPy5JbnNpZ2h0RGF0YUZpbHRlckl0ZW0/LnRvU3RyaW5nKCkgYXMgSW5zaWdodERhdGEpIHx8XG4gICAgICAnc2NvcmUnO1xuICAgIGNvbnN0IGlzSGlnaGxpZ2h0ID1cbiAgICAgIChzaXRlSUQgJiZcbiAgICAgICAgc2l0ZUlEID09PSByZDN0UHJvcHMubm9kZURhdHVtLmF0dHJpYnV0ZXM/LnBvaW50X2lkPy50b1N0cmluZygpKSB8fFxuICAgICAgKGFyZWFJRCAmJlxuICAgICAgICBhcmVhSUQgPT09IHJkM3RQcm9wcy5ub2RlRGF0dW0uYXR0cmlidXRlcz8uYXJlYV9pZD8udG9TdHJpbmcoKSk7XG4gICAgY29uc3QgaXNFeGNlZWRlZCA9IGV4Y2VlZGVkU2l0ZUlkcy5pbmNsdWRlcyhcbiAgICAgIHJkM3RQcm9wcy5ub2RlRGF0dW0uYXR0cmlidXRlcz8ucG9pbnRfaWQsXG4gICAgKTtcbiAgICByZXR1cm4gIWlzUm9vdCAmJiBzaG91bGRGaWx0ZXJPdXQocmQzdFByb3BzLCBzZWxlY3RlZEZpbHRlcnMpID8gKFxuICAgICAgPGRpdj48L2Rpdj5cbiAgICApIDogaW5zaWdodERhdGEgPT09ICdzY29yZScgPyAoXG4gICAgICA8U2NvcmVOb2RlXG4gICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgIGlzSGlnaGxpZ2h0PXtpc0hpZ2hsaWdodH1cbiAgICAgICAgaXNFeGNlZWRlZD17aXNFeGNlZWRlZH1cbiAgICAgICAgb25Ob2RlQ2xpY2s9e3Jlc3Qub25Ob2RlQ2xpY2t9XG4gICAgICAgIGVhcmx5QWRvcHRlcj17ZWFybHlfYWRvcHRlcn1cbiAgICAgICAgc2hvd1NhbXBsZXJzPXtzaG93U2FtcGxlcnN9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICA8UG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlXG4gICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgIGlzRXhjZWVkZWQ9e2lzRXhjZWVkZWR9XG4gICAgICAgIGlzSGlnaGxpZ2h0PXtpc0hpZ2hsaWdodH1cbiAgICAgICAgb25Ob2RlQ2xpY2s9e3Jlc3Qub25Ob2RlQ2xpY2t9XG4gICAgICAgIGVhcmx5QWRvcHRlcj17ZWFybHlfYWRvcHRlcn1cbiAgICAgICAgc2hvd1NhbXBsZXJzPXtzaG93U2FtcGxlcnN9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e3dyYXBwZXJSZWZ9XG4gICAgICBzdHlsZT17eyB3aWR0aDogJzEwMHZ3JywgaGVpZ2h0OiAnMTAwdmgnLCBvdmVyZmxvdzogJ2hpZGRlbicgfX1cbiAgICA+XG4gICAgICA8VHJlZVxuICAgICAgICBrZXk9e3RyZWVLZXl9XG4gICAgICAgIGRhdGE9e3ZpZXdEYXRhfVxuICAgICAgICBvcmllbnRhdGlvbj17b3JpZW50YXRpb259XG4gICAgICAgIHBhdGhGdW5jPVwic3RlcFwiXG4gICAgICAgIG5vZGVTaXplPXtub2RlU2l6ZX1cbiAgICAgICAgc2VwYXJhdGlvbj17c2VwYXJhdGlvbn1cbiAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgIHpvb209e3pvb219XG4gICAgICAgIHpvb21hYmxlXG4gICAgICAgIHNjYWxlRXh0ZW50PXt7IG1pbjogMC4xLCBtYXg6IDIgfX1cbiAgICAgICAgcmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnQ9e3JlbmRlckN1c3RvbU5vZGVFbGVtZW50fVxuICAgICAgICBjb2xsYXBzaWJsZVxuICAgICAgICBpbml0aWFsRGVwdGg9e2luaXRpYWxEZXB0aH1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoi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
|
|
190
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REM1RyZWUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Njb3JlTm9kZSIsIl9Qb2xsdXRpb25Db250cmlidXRvck5vZGUiLCJfTmV0d29ya05vZGUiLCJfdXRpbHMiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9leGNsdWRlZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiY291bnREZXB0aEFuZEJyZWFkdGgiLCJyb290IiwibWF4RGVwdGgiLCJicmVhZHRoQnlEZXB0aCIsImRmcyIsIm4iLCJfbiRjaGlsZHJlbiIsImQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJNYXRoIiwibWF4IiwiY2hpbGRyZW4iLCJmb3JFYWNoIiwiYyIsIm1heEJyZWFkdGgiLCJhcHBseSIsIkF1dG9GaXRUcmVlIiwiX3JlZiIsImRhdGEiLCJfcmVmJG9yaWVudGF0aW9uIiwib3JpZW50YXRpb24iLCJpbml0aWFsRGVwdGgiLCJ0cmVlS2V5IiwiX3JlZiRzZWxlY3RlZEZpbHRlcnMiLCJzZWxlY3RlZEZpbHRlcnMiLCJfcmVmJGV4Y2VlZGVkU2l0ZUlkcyIsImV4Y2VlZGVkU2l0ZUlkcyIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiUEFERElORyIsIndyYXBwZXJSZWYiLCJ1c2VSZWYiLCJub2RlU2l6ZSIsIngiLCJ5Iiwic2VwYXJhdGlvbiIsInNpYmxpbmdzIiwibm9uU2libGluZ3MiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRpbXMiLCJzZXREaW1zIiwiZWFybHlfYWRvcHRlciIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJybyIsIlJlc2l6ZU9ic2VydmVyIiwiciIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwiX3VzZU1lbW8iLCJ1c2VNZW1vIiwiX2NvdW50RGVwdGhBbmRCcmVhZHRoIiwicmVxVyIsInJlcUgiLCJhdmFpbFciLCJhdmFpbEgiLCJmaXRab29tIiwibWluIiwieiIsImlzRmluaXRlIiwiem9vbSIsInRyYW5zbGF0ZSIsInNldENvbGxhcHNlZEJ5RGVwdGgiLCJub2RlIiwiX25vZGUkY2hpbGRyZW4iLCJjb2xsYXBzZWQiLCJ2aWV3RGF0YSIsImNsb25lIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiX3VzZVBhcmFtcyIsInVzZVBhcmFtcyIsInNpdGVJRCIsImFyZWFJRCIsInJlbmRlckN1c3RvbU5vZGVFbGVtZW50IiwicmQzdFByb3BzIiwiX3NlbGVjdGVkRmlsdGVycyRTYW1wIiwiX3NlbGVjdGVkRmlsdGVycyROZXR3IiwiX3NlbGVjdGVkRmlsdGVycyRJbnNpIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kMiIsIl9yZDN0UHJvcHMkbm9kZURhdHVtJDMiLCJfcmQzdFByb3BzJG5vZGVEYXR1bSQ0IiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kNSIsImlzUm9vdCIsIm5vZGVEYXR1bSIsIl9fcmQzdCIsImRlcHRoIiwic2hvd1NhbXBsZXJzIiwiU2FtcGxlckZpbHRlckl0ZW0iLCJ0b1N0cmluZyIsImluc2lnaHREYXRhIiwiTmV0d29ya0luc2lnaHREYXRhRmlsdGVySXRlbSIsIkluc2lnaHREYXRhRmlsdGVySXRlbSIsImlzSGlnaGxpZ2h0IiwiYXR0cmlidXRlcyIsInBvaW50X2lkIiwiYXJlYV9pZCIsImlzRXhjZWVkZWQiLCJpbmNsdWRlcyIsInNob3VsZEZpbHRlck91dCIsImNyZWF0ZUVsZW1lbnQiLCJhc3NpZ24iLCJvbk5vZGVDbGljayIsImVhcmx5QWRvcHRlciIsImluc2lnaHRUeXBlIiwicmVmIiwic3R5bGUiLCJvdmVyZmxvdyIsInBhdGhGdW5jIiwiem9vbWFibGUiLCJzY2FsZUV4dGVudCIsImNvbGxhcHNpYmxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9BdXRvRml0VHJlZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUcmVlLCB7IFJhd05vZGVEYXR1bSB9IGZyb20gJ3JlYWN0LWQzLXRyZWUnO1xuaW1wb3J0IFNjb3JlTm9kZSBmcm9tICcuL1Njb3JlTm9kZSc7XG5pbXBvcnQgUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlIGZyb20gJy4vUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlJztcbmltcG9ydCBOZXR3b3JrTm9kZSBmcm9tICcuL05ldHdvcmtOb2RlJztcbmltcG9ydCB7IHNob3VsZEZpbHRlck91dCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxudHlwZSBTZXAgPSB7IHNpYmxpbmdzOiBudW1iZXI7IG5vblNpYmxpbmdzOiBudW1iZXIgfTtcblxuZnVuY3Rpb24gY291bnREZXB0aEFuZEJyZWFkdGgocm9vdDogUmF3Tm9kZURhdHVtKSB7XG4gIGxldCBtYXhEZXB0aCA9IDA7XG4gIGNvbnN0IGJyZWFkdGhCeURlcHRoOiBudW1iZXJbXSA9IFtdO1xuICBjb25zdCBkZnMgPSAobjogUmF3Tm9kZURhdHVtLCBkID0gMCkgPT4ge1xuICAgIG1heERlcHRoID0gTWF0aC5tYXgobWF4RGVwdGgsIGQpO1xuICAgIGJyZWFkdGhCeURlcHRoW2RdID0gKGJyZWFkdGhCeURlcHRoW2RdIHx8IDApICsgMTtcbiAgICBuLmNoaWxkcmVuPy5mb3JFYWNoKChjKSA9PiBkZnMoYywgZCArIDEpKTtcbiAgfTtcbiAgZGZzKHJvb3QpO1xuICBjb25zdCBtYXhCcmVhZHRoID0gTWF0aC5tYXgoLi4uYnJlYWR0aEJ5RGVwdGgpO1xuICByZXR1cm4geyBtYXhEZXB0aCwgbWF4QnJlYWR0aCB9O1xufVxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQXV0b0ZpdFRyZWUoe1xuICBkYXRhLFxuICBvcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCcsXG4gIGluaXRpYWxEZXB0aCxcbiAgdHJlZUtleSxcbiAgc2VsZWN0ZWRGaWx0ZXJzID0ge30sXG4gIGV4Y2VlZGVkU2l0ZUlkcyA9IFtdLFxuICAuLi5yZXN0XG59OiB7XG4gIGRhdGE6IGFueTtcbiAgb3JpZW50YXRpb24/OiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xuICBpbml0aWFsRGVwdGg6IG51bWJlcjtcbiAgb25Ob2RlQ2xpY2s/OiAobm9kZURhdGE6IGFueSkgPT4gdm9pZDtcbiAgdHJlZUtleTogbnVtYmVyO1xuICBzZWxlY3RlZEZpbHRlcnM/OiBhbnk7XG4gIGV4Y2VlZGVkU2l0ZUlkcz86IG51bWJlcltdO1xufSkge1xuICBjb25zdCBQQURESU5HID0gNDI7IC8vIHNjcmVlbiBwYWRkaW5nIGluIHB4XG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBub2RlU2l6ZSA9IHsgeDogMjcwLCB5OiAyNzAgfTsgLy8gaG93IG11Y2ggc3BhY2UgZWFjaCBub2RlIG9jY3VwaWVzXG4gIGNvbnN0IHNlcGFyYXRpb246IFNlcCA9IHsgc2libGluZ3M6IDAuOCwgbm9uU2libGluZ3M6IDAuOSB9OyAvLyBub2RlIHNwYWNpbmdcbiAgY29uc3QgW2RpbXMsIHNldERpbXNdID0gdXNlU3RhdGUoeyB3aWR0aDogNTAwLCBoZWlnaHQ6IDEwMCB9KTtcbiAgY29uc3QgZWFybHlfYWRvcHRlciA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogYW55KSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy5lYXJseV9hZG9wdGVyLFxuICApO1xuXG4gIC8vIGtlZXAgd3JhcHBlciBzaXplZCB0byB0aGUgdmlld3BvcnRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXdyYXBwZXJSZWYuY3VycmVudCkgcmV0dXJuO1xuICAgIGNvbnN0IHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgIGNvbnN0IHIgPSB3cmFwcGVyUmVmLmN1cnJlbnQhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgc2V0RGltcyh7IHdpZHRoOiByLndpZHRoLCBoZWlnaHQ6IHIuaGVpZ2h0IH0pO1xuICAgIH0pO1xuICAgIHJvLm9ic2VydmUod3JhcHBlclJlZi5jdXJyZW50KTtcbiAgICByZXR1cm4gKCkgPT4gcm8uZGlzY29ubmVjdCgpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgeyB0cmFuc2xhdGUsIHpvb20gfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHsgbWF4RGVwdGgsIG1heEJyZWFkdGggfSA9IGNvdW50RGVwdGhBbmRCcmVhZHRoKGRhdGEpO1xuXG4gICAgLy8gYXBwcm94aW1hdGUgcmVxdWlyZWQgcGl4ZWwgc2l6ZSBvZiB0aGUgbGFpZC1vdXQgdHJlZVxuICAgIGNvbnN0IHJlcVcgPSBtYXhCcmVhZHRoICogbm9kZVNpemUueCAqIHNlcGFyYXRpb24uc2libGluZ3M7XG4gICAgY29uc3QgcmVxSCA9IChtYXhEZXB0aCArIDEpICogbm9kZVNpemUueTtcblxuICAgIGNvbnN0IGF2YWlsVyA9IE1hdGgubWF4KDEsIGRpbXMud2lkdGggLSBQQURESU5HICogMik7XG4gICAgY29uc3QgYXZhaWxIID0gTWF0aC5tYXgoMSwgZGltcy5oZWlnaHQgLSBQQURESU5HICogMik7XG5cbiAgICBjb25zdCBmaXRab29tID0gMC43ICogTWF0aC5taW4oYXZhaWxXIC8gcmVxVywgYXZhaWxIIC8gcmVxSCk7XG4gICAgY29uc3QgeiA9IGlzRmluaXRlKGZpdFpvb20pICYmIGZpdFpvb20gPiAwID8gZml0Wm9vbSA6IDEuMjtcblxuICAgIHJldHVybiB7IHpvb206IHosIHRyYW5zbGF0ZTogeyB4OiBkaW1zLndpZHRoIC8gMiwgeTogUEFERElORyB9IH07XG4gIH0sIFtcbiAgICBkYXRhLFxuICAgIG5vZGVTaXplLngsXG4gICAgbm9kZVNpemUueSxcbiAgICBzZXBhcmF0aW9uLnNpYmxpbmdzLFxuICAgIGRpbXMud2lkdGgsXG4gICAgZGltcy5oZWlnaHQsXG4gIF0pO1xuXG4gIGZ1bmN0aW9uIHNldENvbGxhcHNlZEJ5RGVwdGgobm9kZTogYW55LCBtYXhEZXB0aDogbnVtYmVyLCBkID0gMCkge1xuICAgIG5vZGUuY29sbGFwc2VkID0gZCA+PSBtYXhEZXB0aDtcbiAgICBub2RlLmNoaWxkcmVuPy5mb3JFYWNoKChjKSA9PiBzZXRDb2xsYXBzZWRCeURlcHRoKGMsIG1heERlcHRoLCBkICsgMSkpO1xuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgY29uc3Qgdmlld0RhdGEgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWRhdGEpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGNsb25lID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgcmV0dXJuIHNldENvbGxhcHNlZEJ5RGVwdGgoY2xvbmUsIGluaXRpYWxEZXB0aCk7XG4gIH0sIFtkYXRhLCBpbml0aWFsRGVwdGhdKTtcblxuICBjb25zdCB7IHNpdGVJRCwgYXJlYUlEIH0gPSB1c2VQYXJhbXMoKTtcblxuICBjb25zdCByZW5kZXJDdXN0b21Ob2RlRWxlbWVudCA9IChyZDN0UHJvcHMpID0+IHtcbiAgICBjb25zdCBpc1Jvb3QgPSByZDN0UHJvcHMubm9kZURhdHVtLl9fcmQzdC5kZXB0aCA9PT0gMDtcbiAgICBjb25zdCBzaG93U2FtcGxlcnMgPVxuICAgICAgc2VsZWN0ZWRGaWx0ZXJzPy5TYW1wbGVyRmlsdGVySXRlbT8udG9TdHJpbmcoKSA9PT0gJ3dpdGgnIHx8IGZhbHNlO1xuICAgIGNvbnN0IGluc2lnaHREYXRhID1cbiAgICAgIHNlbGVjdGVkRmlsdGVycz8uTmV0d29ya0luc2lnaHREYXRhRmlsdGVySXRlbT8udG9TdHJpbmcoKSB8fFxuICAgICAgc2VsZWN0ZWRGaWx0ZXJzPy5JbnNpZ2h0RGF0YUZpbHRlckl0ZW0/LnRvU3RyaW5nKCkgfHxcbiAgICAgICdzY29yZSc7XG4gICAgY29uc3QgaXNIaWdobGlnaHQgPVxuICAgICAgKHNpdGVJRCAmJlxuICAgICAgICBzaXRlSUQgPT09IHJkM3RQcm9wcy5ub2RlRGF0dW0uYXR0cmlidXRlcz8ucG9pbnRfaWQ/LnRvU3RyaW5nKCkpIHx8XG4gICAgICAoYXJlYUlEICYmXG4gICAgICAgIGFyZWFJRCA9PT0gcmQzdFByb3BzLm5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5hcmVhX2lkPy50b1N0cmluZygpKTtcbiAgICBjb25zdCBpc0V4Y2VlZGVkID0gZXhjZWVkZWRTaXRlSWRzLmluY2x1ZGVzKFxuICAgICAgcmQzdFByb3BzLm5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5wb2ludF9pZCxcbiAgICApO1xuICAgIGlmICghaXNSb290ICYmIHNob3VsZEZpbHRlck91dChyZDN0UHJvcHMsIHNlbGVjdGVkRmlsdGVycykpIHtcbiAgICAgIHJldHVybiA8ZGl2PjwvZGl2PjtcbiAgICB9XG5cbiAgICBpZiAoaW5zaWdodERhdGEgPT09ICdzY29yZScpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTY29yZU5vZGVcbiAgICAgICAgICB7Li4ucmQzdFByb3BzfVxuICAgICAgICAgIGlzSGlnaGxpZ2h0PXtpc0hpZ2hsaWdodH1cbiAgICAgICAgICBpc0V4Y2VlZGVkPXtpc0V4Y2VlZGVkfVxuICAgICAgICAgIG9uTm9kZUNsaWNrPXtyZXN0Lm9uTm9kZUNsaWNrfVxuICAgICAgICAgIGVhcmx5QWRvcHRlcj17ZWFybHlfYWRvcHRlcn1cbiAgICAgICAgICBzaG93U2FtcGxlcnM9e3Nob3dTYW1wbGVyc31cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGluc2lnaHREYXRhID09PSAncG9sbHV0aW9uX2NvbnRyaWJ1dG9yJykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFBvbGx1dGlvbkNvbnRyaWJ1dG9yTm9kZVxuICAgICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgICAgaXNFeGNlZWRlZD17aXNFeGNlZWRlZH1cbiAgICAgICAgICBpc0hpZ2hsaWdodD17aXNIaWdobGlnaHR9XG4gICAgICAgICAgb25Ob2RlQ2xpY2s9e3Jlc3Qub25Ob2RlQ2xpY2t9XG4gICAgICAgICAgZWFybHlBZG9wdGVyPXtlYXJseV9hZG9wdGVyfVxuICAgICAgICAgIHNob3dTYW1wbGVycz17c2hvd1NhbXBsZXJzfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE5ldHdvcmtOb2RlXG4gICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgIGluc2lnaHRUeXBlPXtpbnNpZ2h0RGF0YX1cbiAgICAgICAgaXNFeGNlZWRlZD17aXNFeGNlZWRlZH1cbiAgICAgICAgaXNIaWdobGlnaHQ9e2lzSGlnaGxpZ2h0fVxuICAgICAgICBvbk5vZGVDbGljaz17cmVzdC5vbk5vZGVDbGlja31cbiAgICAgICAgZWFybHlBZG9wdGVyPXtlYXJseV9hZG9wdGVyfVxuICAgICAgICBzaG93U2FtcGxlcnM9e3Nob3dTYW1wbGVyc31cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHJlZj17d3JhcHBlclJlZn1cbiAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwdncnLCBoZWlnaHQ6ICcxMDB2aCcsIG92ZXJmbG93OiAnaGlkZGVuJyB9fVxuICAgID5cbiAgICAgIDxUcmVlXG4gICAgICAgIGtleT17dHJlZUtleX1cbiAgICAgICAgZGF0YT17dmlld0RhdGF9XG4gICAgICAgIG9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn1cbiAgICAgICAgcGF0aEZ1bmM9XCJzdGVwXCJcbiAgICAgICAgbm9kZVNpemU9e25vZGVTaXplfVxuICAgICAgICBzZXBhcmF0aW9uPXtzZXBhcmF0aW9ufVxuICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgem9vbT17em9vbX1cbiAgICAgICAgem9vbWFibGVcbiAgICAgICAgc2NhbGVFeHRlbnQ9e3sgbWluOiAwLjEsIG1heDogMiB9fVxuICAgICAgICByZW5kZXJDdXN0b21Ob2RlRWxlbWVudD17cmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnR9XG4gICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgIGluaXRpYWxEZXB0aD17aW5pdGlhbERlcHRofVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSx5QkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsZUFBQSxHQUFBUixPQUFBO0FBQTZDLElB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
|