@kando-env/kando-ui 1.2.467-alpha.9 → 1.2.468
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 +5 -12
- package/lib/Widgets/Map/Map.js +3 -3
- package/lib/Widgets/Map/MapUtils.js +1 -2
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
- package/lib/components/Header/Toolbar/Toolbar.js +6 -3
- package/lib/components/KandoModal/KandoModal.js +4 -27
- package/lib/components/KandoModal/styles.scss +0 -4
- package/lib/i18n/en.json +2 -19
- package/lib/i18n/fr.json +0 -13
- package/lib/i18n/he.json +0 -13
- package/lib/i18n/it.json +0 -13
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/EventsPage/events/EventsStyle.scss +1 -1
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +22 -21
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +1 -1
- package/lib/pages/EventsPage/events/event_info/Header/index.js +1 -1
- package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +1 -1
- package/lib/pages/EventsPage/events/event_info/Timelines/index.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 +1 -2
- package/lib/test/mocks/browser.js +1 -1
- package/lib/test/test-utils.js +1 -1
- package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +10 -27
- package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +10 -20
- package/lib/ui-kit/HierarchyGraph/style.scss +0 -4
- package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -1
- package/lib/utilities/scoreToData.test.js +1 -1
- package/package.json +1 -1
- package/lib/assets/streami-logo.svg +0 -26
- package/lib/components/SeasonalInsights/SeasonalInsights.js +0 -230
- package/lib/components/TopBanner/TopBanner.js +0 -227
- package/lib/components/TopBanner/insightsDismissalStorage.js +0 -36
- package/lib/pages/NetworkPage/NetworkPage.js +0 -48
- package/lib/ui-kit/HierarchyGraph/NetworkNode.js +0 -37
package/lib/Router.js
CHANGED
|
@@ -45,14 +45,13 @@ var _Spinner = require("./components/Spinner/Spinner");
|
|
|
45
45
|
var _Toolbar = require("./components/Header/Toolbar/Toolbar");
|
|
46
46
|
var _UploadLabResult = _interopRequireDefault(require("./pages/UploadLabResult"));
|
|
47
47
|
var _SlideshowRunner = _interopRequireDefault(require("./providers/Slideshow/SlideshowRunner"));
|
|
48
|
+
var _SlideshowProvider = _interopRequireDefault(require("./providers/Slideshow/SlideshowProvider"));
|
|
48
49
|
var _AssessmentPage = _interopRequireDefault(require("./pages/AssessmentPage/AssessmentPage"));
|
|
49
50
|
var _PollutionRiskAssessment = _interopRequireDefault(require("./pages/PollutionRiskAssessment"));
|
|
50
51
|
var _VirtualAreaDashboardPage = require("./pages/UtilityDashboardPage/VirtualAreaDashboardPage");
|
|
51
52
|
var _WWTPMap = _interopRequireDefault(require("./pages/DashboardMap/WWTPMap"));
|
|
52
53
|
var _OperationsPage = require("./pages/OperationsPage");
|
|
53
54
|
var _ImportSiteProcess = _interopRequireDefault(require("./pages/ImportSiteProcess"));
|
|
54
|
-
var _NetworkPage = _interopRequireDefault(require("./pages/NetworkPage/NetworkPage"));
|
|
55
|
-
var _TopBanner = _interopRequireDefault(require("./components/TopBanner/TopBanner"));
|
|
56
55
|
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); }
|
|
57
56
|
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; }
|
|
58
57
|
var queryClient = new _reactQuery.QueryClient();
|
|
@@ -135,12 +134,10 @@ var Router = function Router() {
|
|
|
135
134
|
}
|
|
136
135
|
return /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, {
|
|
137
136
|
client: queryClient
|
|
138
|
-
}, /*#__PURE__*/_react.default.createElement(_UrlHistoryProvider.default, null, /*#__PURE__*/_react.default.createElement(_StylesLayout.default, null, /*#__PURE__*/_react.default.createElement(_GetDir.default, {
|
|
137
|
+
}, /*#__PURE__*/_react.default.createElement(_UrlHistoryProvider.default, null, /*#__PURE__*/_react.default.createElement(_SlideshowProvider.default, null, /*#__PURE__*/_react.default.createElement(_StylesLayout.default, null, /*#__PURE__*/_react.default.createElement(_GetDir.default, {
|
|
139
138
|
locale: localePrefix,
|
|
140
139
|
className: localePrefix
|
|
141
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
142
|
-
apiEndpoint: "/data/seasonal_insight/".concat(waterAuthorityIdFromUrl, "?locale=").concat(localePrefix)
|
|
143
|
-
}), /*#__PURE__*/_react.default.createElement(_Toolbar.Toolbar, {
|
|
140
|
+
}, /*#__PURE__*/_react.default.createElement(_Toolbar.Toolbar, {
|
|
144
141
|
hasSearch: true
|
|
145
142
|
}), /*#__PURE__*/_react.default.createElement(_reactToastify.ToastContainer, null), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Switch, null, /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
|
|
146
143
|
path: "/dashboard_v2/index",
|
|
@@ -200,10 +197,6 @@ var Router = function Router() {
|
|
|
200
197
|
path: "/samplings-list/index",
|
|
201
198
|
component: _SamplingsPage.default,
|
|
202
199
|
exact: true
|
|
203
|
-
}), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
|
|
204
|
-
path: "/network",
|
|
205
|
-
component: _NetworkPage.default,
|
|
206
|
-
exact: true
|
|
207
200
|
}), /*#__PURE__*/_react.default.createElement(_reactRouterDom.Route, {
|
|
208
201
|
path: "/sampling-properties/:sampleId",
|
|
209
202
|
component: _SamplingProperties.SamplingProperties,
|
|
@@ -232,7 +225,7 @@ var Router = function Router() {
|
|
|
232
225
|
path: "/import_sites/:fileId",
|
|
233
226
|
component: _OperationsPage.OperationsFilePage,
|
|
234
227
|
exact: true
|
|
235
|
-
}))))));
|
|
228
|
+
})))))));
|
|
236
229
|
};
|
|
237
230
|
var _default = Router;
|
|
238
231
|
exports.default = _default;
|
|
@@ -244,4 +237,4 @@ var AppSpinner = (0, _styledComponents.default)(_Spinner.Spinner).withConfig({
|
|
|
244
237
|
displayName: "Router__AppSpinner",
|
|
245
238
|
componentId: "sc-6ilswc-1"
|
|
246
239
|
})(["height:100vh;"]);
|
|
247
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0UXVlcnkiLCJfcmVhY3RSb3V0ZXJEb20iLCJfcmVhY3RUb2FzdGlmeSIsIl9yZWFjdFJlZHV4IiwiX05vdGlmaWNhdGlvbnNQYWdlIiwiX1NhbXBsaW5nc1BhZ2UiLCJfU3R5bGVzTGF5b3V0IiwiX1VybEhpc3RvcnlQcm92aWRlciIsIl91c2VRdWVyeVVSTCIsIl9wZXJtaXNzaW9uc1NsaWNlIiwiX1NhbXBsaW5nUHJvcGVydGllcyIsIl9JbXBvcnRHaXNDb250YWluZXIiLCJfSW1wb3J0R2lzUHJvY2VzcyIsIl9FdmVudHNQYWdlIiwiX0ZlZWRiYWNrIiwiX0FyZWFQYWdlIiwiX1d3dHBQYWdlIiwiX1Byb2ZpbGVQYWdlIiwiX1NpdGVQYWdlIiwiX1V0aWxpdHlEYXNoYm9hcmRQYWdlIiwiX1diZURhc2hib2FyZFBhZ2UiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9HZXREaXIiLCJfaTE4biIsIl9TcGlubmVyIiwiX1Rvb2xiYXIiLCJfVXBsb2FkTGFiUmVzdWx0IiwiX1NsaWRlc2hvd1J1bm5lciIsIl9Bc3Nlc3NtZW50UGFnZSIsIl9Qb2xsdXRpb25SaXNrQXNzZXNzbWVudCIsIl9WaXJ0dWFsQXJlYURhc2hib2FyZFBhZ2UiLCJfV1dUUE1hcCIsIl9PcGVyYXRpb25zUGFnZSIsIl9JbXBvcnRTaXRlUHJvY2VzcyIsIl9OZXR3b3JrUGFnZSIsIl9Ub3BCYW5uZXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsInF1ZXJ5Q2xpZW50IiwiUXVlcnlDbGllbnQiLCJSb3V0ZXIiLCJxdWVyeVVybCIsInVzZVF1ZXJ5VVJMIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImxvY2FsZVByZWZpeCIsInNldExvY2FsZVByZWZpeCIsInF1ZXJ5Iiwid2F0ZXJBdXRob3JpdHlJZEZyb21VcmwiLCJwYXJzZUludCIsInVzZUVmZmVjdCIsIkZldGNoUGVybWlzc2lvbnMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJfcmVzJGRhdGEiLCJyZXMiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYXhpb3MiLCJwYXJhbXMiLCJ3YXRlcl9hdXRob3JpdHlfaWQiLCJzZW50IiwiZGF0YSIsInNldFdhdGVyQXV0aG9yaXR5IiwiaWQiLCJuYW1lIiwid2F0ZXJfYXV0aG9yaXR5X25hbWUiLCJpc19jYXBhY2l0eSIsIndhdGVyX2F1dGhvcml0eV9pc19jYXBhY2l0eSIsIlBlcm1pc3Npb25zU2xpY2UiLCJhY3Rpb25zIiwic2V0RGFzaGJvYXJkUGVybWlzc2lvbiIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsInVwZGF0ZUxhbmd1YWdlIiwibG9jYWxlIiwiX2NhbGxlZTIiLCJwcmVmaXgiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJpMThuIiwiY2hhbmdlTGFuZ3VhZ2UiLCJjcmVhdGVFbGVtZW50IiwiQXBwTG9hZGVyIiwiQXBwU3Bpbm5lciIsImxlbmd0aCIsIlF1ZXJ5Q2xpZW50UHJvdmlkZXIiLCJjbGllbnQiLCJjbGFzc05hbWUiLCJhcGlFbmRwb2ludCIsImNvbmNhdCIsIlRvb2xiYXIiLCJoYXNTZWFyY2giLCJUb2FzdENvbnRhaW5lciIsIlN3aXRjaCIsIlJvdXRlIiwicGF0aCIsImNvbXBvbmVudCIsIlV0aWxpdHlEYXNoYm9hcmRQYWdlIiwiV3d0cFBhZ2UiLCJleGFjdCIsIlZpcnR1YWxBcmVhRGFzaGJvYXJkUGFnZSIsIkFyZWFQYWdlIiwiV1dUUE1hcCIsIlNpdGVQYWdlIiwiUHJvZmlsZVBhZ2UiLCJGZWVkYmFjayIsIkV2ZW50c1BhZ2UiLCJJbXBvcnRQbGFubmluZ3MiLCJVcGxvYWRMYWJSZXN1bHQiLCJJbXBvcnRHaXNQcm9jZXNzIiwiSW1wb3J0U2l0ZVByb2Nlc3MiLCJXYmVEYXNoYm9hcmRQYWdlIiwiU2FtcGxpbmdzUGFnZSIsIk5ldHdvcmtQYWdlIiwiU2FtcGxpbmdQcm9wZXJ0aWVzIiwiTm90aWZpY2F0aW9uc1BhZ2UiLCJBc3Nlc3NtZW50UGFnZSIsIlNsaWRlc2hvd1J1bm5lciIsIlBvbGx1dGlvblJpc2tBc3Nlc3NtZW50IiwiT3BlcmF0aW9uc1V0aWxpdHlQYWdlIiwiT3BlcmF0aW9uc0ZpbGVQYWdlIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTcGlubmVyIl0sInNvdXJjZXMiOlsiLi4vc3JjL1JvdXRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdsZWFmbGV0L2Rpc3QvbGVhZmxldC5jc3MnO1xuaW1wb3J0ICdyZWFjdC10b2FzdGlmeS9kaXN0L1JlYWN0VG9hc3RpZnkuY3NzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgUXVlcnlDbGllbnQsIFF1ZXJ5Q2xpZW50UHJvdmlkZXIgfSBmcm9tICdyZWFjdC1xdWVyeSc7XG5pbXBvcnQgeyBSb3V0ZSwgU3dpdGNoIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBUb2FzdENvbnRhaW5lciB9IGZyb20gJ3JlYWN0LXRvYXN0aWZ5JztcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgTm90aWZpY2F0aW9uc1BhZ2UgZnJvbSAnc3JjL3BhZ2VzL05vdGlmaWNhdGlvbnNQYWdlVjIvTm90aWZpY2F0aW9uc1BhZ2UnO1xuaW1wb3J0IFNhbXBsaW5nc1BhZ2UgZnJvbSAnc3JjL3BhZ2VzL1NhbXBsaW5nc1BhZ2UnO1xuaW1wb3J0IFN0eWxlc0xheW91dCBmcm9tICdzcmMvc3R5bGVzL1N0eWxlc0xheW91dCc7XG5pbXBvcnQgVXJsSGlzdG9yeVByb3ZpZGVyIGZyb20gJ3NyYy9wcm92aWRlcnMvVXJsSGlzdG9yeS9VcmxIaXN0b3J5UHJvdmlkZXInO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJ3NyYy9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NsaWNlIH0gZnJvbSAnc3JjL3N0b3JlL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zU2xpY2UnO1xuaW1wb3J0IHsgU2FtcGxpbmdQcm9wZXJ0aWVzIH0gZnJvbSAnc3JjL3BhZ2VzL1NhbXBsaW5nc1BhZ2UvU2FtcGxpbmdQcm9wZXJ0aWVzL1NhbXBsaW5nUHJvcGVydGllcyc7XG5cbmltcG9ydCBJbXBvcnRQbGFubmluZ3MgZnJvbSAnLi9wYWdlcy9JbXBvcnRHaXNQYWdlL0ltcG9ydEdpc0NvbnRhaW5lcic7XG5pbXBvcnQgSW1wb3J0R2lzUHJvY2VzcyBmcm9tICcuL3BhZ2VzL0ltcG9ydEdpc1Byb2Nlc3MnO1xuaW1wb3J0IEV2ZW50c1BhZ2UgZnJvbSAnLi9wYWdlcy9FdmVudHNQYWdlL0V2ZW50c1BhZ2UnO1xuaW1wb3J0IEZlZWRiYWNrIGZyb20gJy4vcGFnZXMvQ2FubnlXaWRnZXQvRmVlZGJhY2snO1xuaW1wb3J0IHsgQXJlYVBhZ2UgfSBmcm9tICcuL3BhZ2VzL0FyZWFQYWdlL0FyZWFQYWdlJztcbmltcG9ydCBXd3RwUGFnZSBmcm9tICcuL3BhZ2VzL1d3dHBQYWdlJztcbmltcG9ydCB7IFByb2ZpbGVQYWdlIH0gZnJvbSAnLi9wYWdlcy9Qcm9maWxlUGFnZS9Qcm9maWxlUGFnZSc7XG5pbXBvcnQgeyBTaXRlUGFnZSB9IGZyb20gJy4vcGFnZXMvU2l0ZVBhZ2UvU2l0ZVBhZ2UnO1xuaW1wb3J0IHsgVXRpbGl0eURhc2hib2FyZFBhZ2UgfSBmcm9tICcuL3BhZ2VzL1V0aWxpdHlEYXNoYm9hcmRQYWdlL1V0aWxpdHlEYXNoYm9hcmRQYWdlJztcbmltcG9ydCB7IFdiZURhc2hib2FyZFBhZ2UgfSBmcm9tICcuL3BhZ2VzL1diZURhc2hib2FyZC9XYmVEYXNoYm9hcmRQYWdlJztcblxuaW1wb3J0IHsgc2V0V2F0ZXJBdXRob3JpdHkgfSBmcm9tICcuL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IHVwZGF0ZUxhbmd1YWdlIH0gZnJvbSAnLi9zdG9yZS9jb250ZXh0L2FjdGlvbnMnO1xuXG5pbXBvcnQgR2V0RGlyIGZyb20gJy4vdXRpbGl0aWVzL0dldERpcic7XG5pbXBvcnQgaTE4biBmcm9tICcuL3V0aWxpdGllcy9pMThuJztcblxuaW1wb3J0ICcuL21hY3Jvcy9nZXRWZXJzaW9uJztcbmltcG9ydCAnLi9zdHlsZXMuc2Nzcyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi9jb21wb25lbnRzL1NwaW5uZXIvU3Bpbm5lcic7XG5pbXBvcnQgeyBUb29sYmFyIH0gZnJvbSAnLi9jb21wb25lbnRzL0hlYWRlci9Ub29sYmFyL1Rvb2xiYXInO1xuaW1wb3J0IFVwbG9hZExhYlJlc3VsdCBmcm9tICcuL3BhZ2VzL1VwbG9hZExhYlJlc3VsdCc7XG5pbXBvcnQgU2xpZGVzaG93UnVubmVyIGZyb20gJy4vcHJvdmlkZXJzL1NsaWRlc2hvdy9TbGlkZXNob3dSdW5uZXInO1xuaW1wb3J0IEFzc2Vzc21lbnRQYWdlIGZyb20gJy4vcGFnZXMvQXNzZXNzbWVudFBhZ2UvQXNzZXNzbWVudFBhZ2UnO1xuaW1wb3J0IFBvbGx1dGlvblJpc2tBc3Nlc3NtZW50IGZyb20gJy4vcGFnZXMvUG9sbHV0aW9uUmlza0Fzc2Vzc21lbnQnO1xuaW1wb3J0IHsgVmlydHVhbEFyZWFEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9WaXJ0dWFsQXJlYURhc2hib2FyZFBhZ2UnO1xuaW1wb3J0IFdXVFBNYXAgZnJvbSAnLi9wYWdlcy9EYXNoYm9hcmRNYXAvV1dUUE1hcCc7XG5pbXBvcnQge1xuICBPcGVyYXRpb25zVXRpbGl0eVBhZ2UsXG4gIE9wZXJhdGlvbnNGaWxlUGFnZSxcbn0gZnJvbSAnLi9wYWdlcy9PcGVyYXRpb25zUGFnZSc7XG5pbXBvcnQgSW1wb3J0U2l0ZVByb2Nlc3MgZnJvbSAnLi9wYWdlcy9JbXBvcnRTaXRlUHJvY2Vzcyc7XG5pbXBvcnQgTmV0d29ya1BhZ2UgZnJvbSAnLi9wYWdlcy9OZXR3b3JrUGFnZS9OZXR3b3JrUGFnZSc7XG5pbXBvcnQgVG9wQmFubmVyIGZyb20gJy4vY29tcG9uZW50cy9Ub3BCYW5uZXIvVG9wQmFubmVyJztcblxuY29uc3QgcXVlcnlDbGllbnQgPSBuZXcgUXVlcnlDbGllbnQoKTtcblxuY29uc3QgUm91dGVyID0gKCkgPT4ge1xuICBjb25zdCBxdWVyeVVybCA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW2xvY2FsZVByZWZpeCwgc2V0TG9jYWxlUHJlZml4XSA9IHVzZVN0YXRlPHN0cmluZz4oKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkRnJvbVVybCA9IHBhcnNlSW50KFxuICAgIHF1ZXJ5LmdldCgnd2F0ZXJfYXV0aG9yaXR5X2lkJykgfHwgJzAnLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgRmV0Y2hQZXJtaXNzaW9ucyA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGF4aW9zLmdldCgnL3Blcm1pc3Npb25zJywge1xuICAgICAgICBwYXJhbXM6IHsgd2F0ZXJfYXV0aG9yaXR5X2lkOiB3YXRlckF1dGhvcml0eUlkRnJvbVVybCB9LFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChyZXM/LmRhdGE/LmRhdGEpIHtcbiAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgc2V0V2F0ZXJBdXRob3JpdHkoe1xuICAgICAgICAgICAgaWQ6IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsLFxuICAgICAgICAgICAgbmFtZTogcmVzLmRhdGEuZGF0YS53YXRlcl9hdXRob3JpdHlfbmFtZSxcbiAgICAgICAgICAgIGlzX2NhcGFjaXR5OiByZXMuZGF0YS5kYXRhLndhdGVyX2F1dGhvcml0eV9pc19jYXBhY2l0eSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICBQZXJtaXNzaW9uc1NsaWNlLmFjdGlvbnMuc2V0RGFzaGJvYXJkUGVybWlzc2lvbihyZXMuZGF0YS5kYXRhKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsKSB7XG4gICAgICBGZXRjaFBlcm1pc3Npb25zKCk7XG4gICAgfVxuICB9LCBbd2F0ZXJBdXRob3JpdHlJZEZyb21VcmxdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHVwZGF0ZUxhbmd1YWdlKHsgbG9jYWxlOiBsb2NhbGVQcmVmaXggfSkpO1xuICB9LCBbZGlzcGF0Y2gsIGxvY2FsZVByZWZpeF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IHF1ZXJ5VXJsLmhhcygnbG9jYWxlJylcbiAgICAgICAgPyAocXVlcnlVcmwuZ2V0KCdsb2NhbGUnKSBhcyBzdHJpbmcpXG4gICAgICAgIDogJ2VuJztcblxuICAgICAgaTE4bi5jaGFuZ2VMYW5ndWFnZShwcmVmaXgpO1xuICAgICAgc2V0TG9jYWxlUHJlZml4KHByZWZpeCk7XG4gICAgfSkoKTtcbiAgfSwgW3F1ZXJ5VXJsXSk7XG5cbiAgaWYgKCFsb2NhbGVQcmVmaXgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEFwcExvYWRlcj5cbiAgICAgICAgPEFwcFNwaW5uZXIgbGVuZ3RoPVwiODBweFwiIC8+XG4gICAgICA8L0FwcExvYWRlcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8UXVlcnlDbGllbnRQcm92aWRlciBjbGllbnQ9e3F1ZXJ5Q2xpZW50fT5cbiAgICAgIDxVcmxIaXN0b3J5UHJvdmlkZXI+XG4gICAgICAgIDxTdHlsZXNMYXlvdXQ+XG4gICAgICAgICAgPEdldERpciBsb2NhbGU9e2xvY2FsZVByZWZpeH0gY2xhc3NOYW1lPXtsb2NhbGVQcmVmaXh9PlxuICAgICAgICAgICAgPFRvcEJhbm5lclxuICAgICAgICAgICAgICBhcGlFbmRwb2ludD17YC9kYXRhL3NlYXNvbmFsX2luc2lnaHQvJHt3YXRlckF1dGhvcml0eUlkRnJvbVVybH0/bG9jYWxlPSR7bG9jYWxlUHJlZml4fWB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFRvb2xiYXIgaGFzU2VhcmNoPXt0cnVlfSAvPlxuICAgICAgICAgICAgPFRvYXN0Q29udGFpbmVyIC8+XG4gICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICBwYXRoPVwiL2Rhc2hib2FyZF92Mi9pbmRleFwiXG4gICAgICAgICAgICAgICAgY29tcG9uZW50PXtVdGlsaXR5RGFzaGJvYXJkUGFnZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvZGFzaGJvYXJkX3YyL3d3dHAvOmlkXCIgY29tcG9uZW50PXtXd3RwUGFnZX0gZXhhY3QgLz5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD17Jy9kYXNoYm9hcmRfdjIvdmFyZWEvOmFyZWFJRCd9XG4gICAgICAgICAgICAgICAgY29tcG9uZW50PXtWaXJ0dWFsQXJlYURhc2hib2FyZFBhZ2V9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgIHBhdGg9XCIvZGFzaGJvYXJkX3YyL2FyZWEvOmFyZWFJRFwiXG4gICAgICAgICAgICAgICAgY29tcG9uZW50PXtBcmVhUGFnZX1cbiAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9jYXBhY2l0eU1hcC9pbmRleFwiIGNvbXBvbmVudD17V1dUUE1hcH0gLz5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD1cIi9kYXNoYm9hcmRfdjIvc2l0ZS86c2l0ZUlEXCJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1NpdGVQYWdlfVxuICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvcHJvZmlsZXMvaW5kZXhcIiBjb21wb25lbnQ9e1Byb2ZpbGVQYWdlfSBleGFjdCAvPlxuXG4gICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2ZlZWRiYWNrXCI+XG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIqXCIgY29tcG9uZW50PXtGZWVkYmFja30gLz5cbiAgICAgICAgICAgICAgPC9Sb3V0ZT5cblxuICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9ldmVudHNfdmlldy9pbmRleFwiIGNvbXBvbmVudD17RXZlbnRzUGFnZX0gZXhhY3QgLz5cblxuICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICBwYXRoPVwiL2ltcG9ydF9wbGFubmluZ3MvaW5kZXhcIlxuICAgICAgICAgICAgICAgIGNvbXBvbmVudD17SW1wb3J0UGxhbm5pbmdzfVxuICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD1cIi9zYW1wbGluZ3MtbGlzdC91cGxvYWRfbGFiX3Jlc3VsdFwiXG4gICAgICAgICAgICAgICAgY29tcG9uZW50PXtVcGxvYWRMYWJSZXN1bHR9XG4gICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICBwYXRoPVwiL2ltcG9ydF9naXNfcHJvY2Vzcy9pbmRleFwiXG4gICAgICAgICAgICAgICAgY29tcG9uZW50PXtJbXBvcnRHaXNQcm9jZXNzfVxuICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD1cIi9pbXBvcnRfc2l0ZV9wcm9jZXNzL2luZGV4XCJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0ltcG9ydFNpdGVQcm9jZXNzfVxuICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD1cIi93YmVfZGFzaGJvYXJkL2luZGV4XCJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1diZURhc2hib2FyZFBhZ2V9XG4gICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICBwYXRoPVwiL3NhbXBsaW5ncy1saXN0L2luZGV4XCJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1NhbXBsaW5nc1BhZ2V9XG4gICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9uZXR3b3JrXCIgY29tcG9uZW50PXtOZXR3b3JrUGFnZX0gZXhhY3QgLz5cblxuICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICBwYXRoPVwiL3NhbXBsaW5nLXByb3BlcnRpZXMvOnNhbXBsZUlkXCJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgIHBhdGg9XCIvbm90aWZpY2F0aW9ucy9pbmRleFwiXG4gICAgICAgICAgICAgICAgY29tcG9uZW50PXtOb3RpZmljYXRpb25zUGFnZX1cbiAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL21hcC9pbmRleFwiIGNvbXBvbmVudD17QXNzZXNzbWVudFBhZ2V9IGV4YWN0IC8+XG5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD1cIi9zdGFydC9zbGlkZXNob3dcIlxuICAgICAgICAgICAgICAgIGNvbXBvbmVudD17U2xpZGVzaG93UnVubmVyfVxuICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD1cIi9wb2xsdXRpb24tcmlzay1hc3Nlc3NtZW50L2luZGV4XCJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1BvbGx1dGlvblJpc2tBc3Nlc3NtZW50fVxuICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgcGF0aD1cIi9vcGVyYXRpb25zL2luZGV4XCJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ9e09wZXJhdGlvbnNVdGlsaXR5UGFnZX1cbiAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICBwYXRoPVwiL2ltcG9ydF9zaXRlcy86ZmlsZUlkXCJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ9e09wZXJhdGlvbnNGaWxlUGFnZX1cbiAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgPC9HZXREaXI+XG4gICAgICAgIDwvU3R5bGVzTGF5b3V0PlxuICAgICAgPC9VcmxIaXN0b3J5UHJvdmlkZXI+XG4gICAgPC9RdWVyeUNsaWVudFByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUm91dGVyO1xuXG5jb25zdCBBcHBMb2FkZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG5gO1xuXG5jb25zdCBBcHBTcGlubmVyID0gc3R5bGVkKFNwaW5uZXIpYFxuICBoZWlnaHQ6IDEwMHZoO1xuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUFBLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQVIsT0FBQTtBQUVBLElBQUFTLGtCQUFBLEdBQUFMLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBVSxjQUFBLEdBQUFOLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBVyxhQUFBLEdBQUFQLHNCQUFBLENBQUFKLE9B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
|
|
240
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0UXVlcnkiLCJfcmVhY3RSb3V0ZXJEb20iLCJfcmVhY3RUb2FzdGlmeSIsIl9yZWFjdFJlZHV4IiwiX05vdGlmaWNhdGlvbnNQYWdlIiwiX1NhbXBsaW5nc1BhZ2UiLCJfU3R5bGVzTGF5b3V0IiwiX1VybEhpc3RvcnlQcm92aWRlciIsIl91c2VRdWVyeVVSTCIsIl9wZXJtaXNzaW9uc1NsaWNlIiwiX1NhbXBsaW5nUHJvcGVydGllcyIsIl9JbXBvcnRHaXNDb250YWluZXIiLCJfSW1wb3J0R2lzUHJvY2VzcyIsIl9FdmVudHNQYWdlIiwiX0ZlZWRiYWNrIiwiX0FyZWFQYWdlIiwiX1d3dHBQYWdlIiwiX1Byb2ZpbGVQYWdlIiwiX1NpdGVQYWdlIiwiX1V0aWxpdHlEYXNoYm9hcmRQYWdlIiwiX1diZURhc2hib2FyZFBhZ2UiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9HZXREaXIiLCJfaTE4biIsIl9TcGlubmVyIiwiX1Rvb2xiYXIiLCJfVXBsb2FkTGFiUmVzdWx0IiwiX1NsaWRlc2hvd1J1bm5lciIsIl9TbGlkZXNob3dQcm92aWRlciIsIl9Bc3Nlc3NtZW50UGFnZSIsIl9Qb2xsdXRpb25SaXNrQXNzZXNzbWVudCIsIl9WaXJ0dWFsQXJlYURhc2hib2FyZFBhZ2UiLCJfV1dUUE1hcCIsIl9PcGVyYXRpb25zUGFnZSIsIl9JbXBvcnRTaXRlUHJvY2VzcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwicXVlcnlDbGllbnQiLCJRdWVyeUNsaWVudCIsIlJvdXRlciIsInF1ZXJ5VXJsIiwidXNlUXVlcnlVUkwiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibG9jYWxlUHJlZml4Iiwic2V0TG9jYWxlUHJlZml4IiwicXVlcnkiLCJ3YXRlckF1dGhvcml0eUlkRnJvbVVybCIsInBhcnNlSW50IiwidXNlRWZmZWN0IiwiRmV0Y2hQZXJtaXNzaW9ucyIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIl9yZXMkZGF0YSIsInJlcyIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJheGlvcyIsInBhcmFtcyIsIndhdGVyX2F1dGhvcml0eV9pZCIsInNlbnQiLCJkYXRhIiwic2V0V2F0ZXJBdXRob3JpdHkiLCJpZCIsIm5hbWUiLCJ3YXRlcl9hdXRob3JpdHlfbmFtZSIsImlzX2NhcGFjaXR5Iiwid2F0ZXJfYXV0aG9yaXR5X2lzX2NhcGFjaXR5IiwiUGVybWlzc2lvbnNTbGljZSIsImFjdGlvbnMiLCJzZXREYXNoYm9hcmRQZXJtaXNzaW9uIiwic3RvcCIsImFwcGx5IiwiYXJndW1lbnRzIiwidXBkYXRlTGFuZ3VhZ2UiLCJsb2NhbGUiLCJfY2FsbGVlMiIsInByZWZpeCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImkxOG4iLCJjaGFuZ2VMYW5ndWFnZSIsImNyZWF0ZUVsZW1lbnQiLCJBcHBMb2FkZXIiLCJBcHBTcGlubmVyIiwibGVuZ3RoIiwiUXVlcnlDbGllbnRQcm92aWRlciIsImNsaWVudCIsImNsYXNzTmFtZSIsIlRvb2xiYXIiLCJoYXNTZWFyY2giLCJUb2FzdENvbnRhaW5lciIsIlN3aXRjaCIsIlJvdXRlIiwicGF0aCIsImNvbXBvbmVudCIsIlV0aWxpdHlEYXNoYm9hcmRQYWdlIiwiV3d0cFBhZ2UiLCJleGFjdCIsIlZpcnR1YWxBcmVhRGFzaGJvYXJkUGFnZSIsIkFyZWFQYWdlIiwiV1dUUE1hcCIsIlNpdGVQYWdlIiwiUHJvZmlsZVBhZ2UiLCJGZWVkYmFjayIsIkV2ZW50c1BhZ2UiLCJJbXBvcnRQbGFubmluZ3MiLCJVcGxvYWRMYWJSZXN1bHQiLCJJbXBvcnRHaXNQcm9jZXNzIiwiSW1wb3J0U2l0ZVByb2Nlc3MiLCJXYmVEYXNoYm9hcmRQYWdlIiwiU2FtcGxpbmdzUGFnZSIsIlNhbXBsaW5nUHJvcGVydGllcyIsIk5vdGlmaWNhdGlvbnNQYWdlIiwiQXNzZXNzbWVudFBhZ2UiLCJTbGlkZXNob3dSdW5uZXIiLCJQb2xsdXRpb25SaXNrQXNzZXNzbWVudCIsIk9wZXJhdGlvbnNVdGlsaXR5UGFnZSIsIk9wZXJhdGlvbnNGaWxlUGFnZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU3Bpbm5lciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9Sb3V0ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnbGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzJztcbmltcG9ydCAncmVhY3QtdG9hc3RpZnkvZGlzdC9SZWFjdFRvYXN0aWZ5LmNzcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50LCBRdWVyeUNsaWVudFByb3ZpZGVyIH0gZnJvbSAncmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgUm91dGUsIFN3aXRjaCB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgVG9hc3RDb250YWluZXIgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuaW1wb3J0IE5vdGlmaWNhdGlvbnNQYWdlIGZyb20gJ3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL05vdGlmaWNhdGlvbnNQYWdlJztcbmltcG9ydCBTYW1wbGluZ3NQYWdlIGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlJztcbmltcG9ydCBTdHlsZXNMYXlvdXQgZnJvbSAnc3JjL3N0eWxlcy9TdHlsZXNMYXlvdXQnO1xuaW1wb3J0IFVybEhpc3RvcnlQcm92aWRlciBmcm9tICdzcmMvcHJvdmlkZXJzL1VybEhpc3RvcnkvVXJsSGlzdG9yeVByb3ZpZGVyJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICdzcmMvaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNTbGljZSB9IGZyb20gJ3NyYy9zdG9yZS9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc1NsaWNlJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllcyB9IGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXMnO1xuXG5pbXBvcnQgSW1wb3J0UGxhbm5pbmdzIGZyb20gJy4vcGFnZXMvSW1wb3J0R2lzUGFnZS9JbXBvcnRHaXNDb250YWluZXInO1xuaW1wb3J0IEltcG9ydEdpc1Byb2Nlc3MgZnJvbSAnLi9wYWdlcy9JbXBvcnRHaXNQcm9jZXNzJztcbmltcG9ydCBFdmVudHNQYWdlIGZyb20gJy4vcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNQYWdlJztcbmltcG9ydCBGZWVkYmFjayBmcm9tICcuL3BhZ2VzL0Nhbm55V2lkZ2V0L0ZlZWRiYWNrJztcbmltcG9ydCB7IEFyZWFQYWdlIH0gZnJvbSAnLi9wYWdlcy9BcmVhUGFnZS9BcmVhUGFnZSc7XG5pbXBvcnQgV3d0cFBhZ2UgZnJvbSAnLi9wYWdlcy9Xd3RwUGFnZSc7XG5pbXBvcnQgeyBQcm9maWxlUGFnZSB9IGZyb20gJy4vcGFnZXMvUHJvZmlsZVBhZ2UvUHJvZmlsZVBhZ2UnO1xuaW1wb3J0IHsgU2l0ZVBhZ2UgfSBmcm9tICcuL3BhZ2VzL1NpdGVQYWdlL1NpdGVQYWdlJztcbmltcG9ydCB7IFV0aWxpdHlEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9VdGlsaXR5RGFzaGJvYXJkUGFnZSc7XG5pbXBvcnQgeyBXYmVEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlRGFzaGJvYXJkUGFnZSc7XG5cbmltcG9ydCB7IHNldFdhdGVyQXV0aG9yaXR5IH0gZnJvbSAnLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyB1cGRhdGVMYW5ndWFnZSB9IGZyb20gJy4vc3RvcmUvY29udGV4dC9hY3Rpb25zJztcblxuaW1wb3J0IEdldERpciBmcm9tICcuL3V0aWxpdGllcy9HZXREaXInO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi91dGlsaXRpZXMvaTE4bic7XG5cbmltcG9ydCAnLi9tYWNyb3MvZ2V0VmVyc2lvbic7XG5pbXBvcnQgJy4vc3R5bGVzLnNjc3MnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4vY29tcG9uZW50cy9TcGlubmVyL1NwaW5uZXInO1xuaW1wb3J0IHsgVG9vbGJhciB9IGZyb20gJy4vY29tcG9uZW50cy9IZWFkZXIvVG9vbGJhci9Ub29sYmFyJztcbmltcG9ydCBVcGxvYWRMYWJSZXN1bHQgZnJvbSAnLi9wYWdlcy9VcGxvYWRMYWJSZXN1bHQnO1xuaW1wb3J0IFNsaWRlc2hvd1J1bm5lciBmcm9tICcuL3Byb3ZpZGVycy9TbGlkZXNob3cvU2xpZGVzaG93UnVubmVyJztcbmltcG9ydCBTbGlkZXNob3dQcm92aWRlciBmcm9tICcuL3Byb3ZpZGVycy9TbGlkZXNob3cvU2xpZGVzaG93UHJvdmlkZXInO1xuaW1wb3J0IEFzc2Vzc21lbnRQYWdlIGZyb20gJy4vcGFnZXMvQXNzZXNzbWVudFBhZ2UvQXNzZXNzbWVudFBhZ2UnO1xuaW1wb3J0IFBvbGx1dGlvblJpc2tBc3Nlc3NtZW50IGZyb20gJy4vcGFnZXMvUG9sbHV0aW9uUmlza0Fzc2Vzc21lbnQnO1xuaW1wb3J0IHsgVmlydHVhbEFyZWFEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9WaXJ0dWFsQXJlYURhc2hib2FyZFBhZ2UnO1xuaW1wb3J0IFdXVFBNYXAgZnJvbSAnLi9wYWdlcy9EYXNoYm9hcmRNYXAvV1dUUE1hcCc7XG5pbXBvcnQge1xuICBPcGVyYXRpb25zVXRpbGl0eVBhZ2UsXG4gIE9wZXJhdGlvbnNGaWxlUGFnZSxcbn0gZnJvbSAnLi9wYWdlcy9PcGVyYXRpb25zUGFnZSc7XG5pbXBvcnQgSW1wb3J0U2l0ZVByb2Nlc3MgZnJvbSAnLi9wYWdlcy9JbXBvcnRTaXRlUHJvY2Vzcyc7XG5cbmNvbnN0IHF1ZXJ5Q2xpZW50ID0gbmV3IFF1ZXJ5Q2xpZW50KCk7XG5cbmNvbnN0IFJvdXRlciA9ICgpID0+IHtcbiAgY29uc3QgcXVlcnlVcmwgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFtsb2NhbGVQcmVmaXgsIHNldExvY2FsZVByZWZpeF0gPSB1c2VTdGF0ZTxzdHJpbmc+KCk7XG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZEZyb21VcmwgPSBwYXJzZUludChcbiAgICBxdWVyeS5nZXQoJ3dhdGVyX2F1dGhvcml0eV9pZCcpIHx8ICcwJyxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IEZldGNoUGVybWlzc2lvbnMgPSBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBheGlvcy5nZXQoJy9wZXJtaXNzaW9ucycsIHtcbiAgICAgICAgcGFyYW1zOiB7IHdhdGVyX2F1dGhvcml0eV9pZDogd2F0ZXJBdXRob3JpdHlJZEZyb21VcmwgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAocmVzPy5kYXRhPy5kYXRhKSB7XG4gICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgIHNldFdhdGVyQXV0aG9yaXR5KHtcbiAgICAgICAgICAgIGlkOiB3YXRlckF1dGhvcml0eUlkRnJvbVVybCxcbiAgICAgICAgICAgIG5hbWU6IHJlcy5kYXRhLmRhdGEud2F0ZXJfYXV0aG9yaXR5X25hbWUsXG4gICAgICAgICAgICBpc19jYXBhY2l0eTogcmVzLmRhdGEuZGF0YS53YXRlcl9hdXRob3JpdHlfaXNfY2FwYWNpdHksXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgUGVybWlzc2lvbnNTbGljZS5hY3Rpb25zLnNldERhc2hib2FyZFBlcm1pc3Npb24ocmVzLmRhdGEuZGF0YSksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmICh3YXRlckF1dGhvcml0eUlkRnJvbVVybCkge1xuICAgICAgRmV0Y2hQZXJtaXNzaW9ucygpO1xuICAgIH1cbiAgfSwgW3dhdGVyQXV0aG9yaXR5SWRGcm9tVXJsXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaCh1cGRhdGVMYW5ndWFnZSh7IGxvY2FsZTogbG9jYWxlUHJlZml4IH0pKTtcbiAgfSwgW2Rpc3BhdGNoLCBsb2NhbGVQcmVmaXhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIChhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBwcmVmaXggPSBxdWVyeVVybC5oYXMoJ2xvY2FsZScpXG4gICAgICAgID8gKHF1ZXJ5VXJsLmdldCgnbG9jYWxlJykgYXMgc3RyaW5nKVxuICAgICAgICA6ICdlbic7XG5cbiAgICAgIGkxOG4uY2hhbmdlTGFuZ3VhZ2UocHJlZml4KTtcbiAgICAgIHNldExvY2FsZVByZWZpeChwcmVmaXgpO1xuICAgIH0pKCk7XG4gIH0sIFtxdWVyeVVybF0pO1xuXG4gIGlmICghbG9jYWxlUHJlZml4KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxBcHBMb2FkZXI+XG4gICAgICAgIDxBcHBTcGlubmVyIGxlbmd0aD1cIjgwcHhcIiAvPlxuICAgICAgPC9BcHBMb2FkZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFF1ZXJ5Q2xpZW50UHJvdmlkZXIgY2xpZW50PXtxdWVyeUNsaWVudH0+XG4gICAgICA8VXJsSGlzdG9yeVByb3ZpZGVyPlxuICAgICAgICA8U2xpZGVzaG93UHJvdmlkZXI+XG4gICAgICAgICAgPFN0eWxlc0xheW91dD5cbiAgICAgICAgICAgIDxHZXREaXIgbG9jYWxlPXtsb2NhbGVQcmVmaXh9IGNsYXNzTmFtZT17bG9jYWxlUHJlZml4fT5cbiAgICAgICAgICAgICAgPFRvb2xiYXIgaGFzU2VhcmNoPXt0cnVlfSAvPlxuICAgICAgICAgICAgICA8VG9hc3RDb250YWluZXIgLz5cbiAgICAgICAgICAgICAgPFN3aXRjaD5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvZGFzaGJvYXJkX3YyL2luZGV4XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17VXRpbGl0eURhc2hib2FyZFBhZ2V9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvZGFzaGJvYXJkX3YyL3d3dHAvOmlkXCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17V3d0cFBhZ2V9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPXsnL2Rhc2hib2FyZF92Mi92YXJlYS86YXJlYUlEJ31cbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17VmlydHVhbEFyZWFEYXNoYm9hcmRQYWdlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2Rhc2hib2FyZF92Mi9hcmVhLzphcmVhSURcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtBcmVhUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9jYXBhY2l0eU1hcC9pbmRleFwiIGNvbXBvbmVudD17V1dUUE1hcH0gLz5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvZGFzaGJvYXJkX3YyL3NpdGUvOnNpdGVJRFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1NpdGVQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvcHJvZmlsZXMvaW5kZXhcIiBjb21wb25lbnQ9e1Byb2ZpbGVQYWdlfSBleGFjdCAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvZmVlZGJhY2tcIj5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiKlwiIGNvbXBvbmVudD17RmVlZGJhY2t9IC8+XG4gICAgICAgICAgICAgICAgPC9Sb3V0ZT5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2V2ZW50c192aWV3L2luZGV4XCIgY29tcG9uZW50PXtFdmVudHNQYWdlfSBleGFjdCAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2ltcG9ydF9wbGFubmluZ3MvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtJbXBvcnRQbGFubmluZ3N9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvc2FtcGxpbmdzLWxpc3QvdXBsb2FkX2xhYl9yZXN1bHRcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtVcGxvYWRMYWJSZXN1bHR9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvaW1wb3J0X2dpc19wcm9jZXNzL2luZGV4XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17SW1wb3J0R2lzUHJvY2Vzc31cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9pbXBvcnRfc2l0ZV9wcm9jZXNzL2luZGV4XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17SW1wb3J0U2l0ZVByb2Nlc3N9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvd2JlX2Rhc2hib2FyZC9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1diZURhc2hib2FyZFBhZ2V9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvc2FtcGxpbmdzLWxpc3QvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtTYW1wbGluZ3NQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL3NhbXBsaW5nLXByb3BlcnRpZXMvOnNhbXBsZUlkXCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17U2FtcGxpbmdQcm9wZXJ0aWVzfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL25vdGlmaWNhdGlvbnMvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtOb3RpZmljYXRpb25zUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL21hcC9pbmRleFwiIGNvbXBvbmVudD17QXNzZXNzbWVudFBhZ2V9IGV4YWN0IC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvc3RhcnQvc2xpZGVzaG93XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17U2xpZGVzaG93UnVubmVyfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL3BvbGx1dGlvbi1yaXNrLWFzc2Vzc21lbnQvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtQb2xsdXRpb25SaXNrQXNzZXNzbWVudH1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9vcGVyYXRpb25zL2luZGV4XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17T3BlcmF0aW9uc1V0aWxpdHlQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9pbXBvcnRfc2l0ZXMvOmZpbGVJZFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e09wZXJhdGlvbnNGaWxlUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICA8L0dldERpcj5cbiAgICAgICAgICA8L1N0eWxlc0xheW91dD5cbiAgICAgICAgPC9TbGlkZXNob3dQcm92aWRlcj5cbiAgICAgIDwvVXJsSGlzdG9yeVByb3ZpZGVyPlxuICAgIDwvUXVlcnlDbGllbnRQcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJvdXRlcjtcblxuY29uc3QgQXBwTG9hZGVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuYDtcblxuY29uc3QgQXBwU3Bpbm5lciA9IHN0eWxlZChTcGlubmVyKWBcbiAgaGVpZ2h0OiAxMDB2aDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFFQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxlQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxjQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFFQSxJQUFBUyxrQkFBQSxHQUFBTCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVUsY0FBQSxHQUFBTixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVcsYUFBQSxHQUFBUCxz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
|
package/lib/Widgets/Map/Map.js
CHANGED
|
@@ -127,7 +127,8 @@ var Map = function Map(_ref) {
|
|
|
127
127
|
factoriesGroup: monitoredFactoriesGroup,
|
|
128
128
|
wwtpsGroup: wwtpsLayerGroup,
|
|
129
129
|
collectorsGroup: collectorsLayerGroup,
|
|
130
|
-
forEventsView: forEventsView
|
|
130
|
+
forEventsView: forEventsView,
|
|
131
|
+
showSampler: false
|
|
131
132
|
});
|
|
132
133
|
return result;
|
|
133
134
|
}, [mapRef.current, points, mapZoomLevel]);
|
|
@@ -164,7 +165,6 @@ var Map = function Map(_ref) {
|
|
|
164
165
|
});
|
|
165
166
|
}, [points, edgesCheckbox, mapZoomLevel]);
|
|
166
167
|
var memoizedUnmonitoredEdges = (0, _react.useMemo)(function () {
|
|
167
|
-
if (onlyMonitoredPoints) return null;
|
|
168
168
|
var unmonitoredEdges = (0, _MapUtils.filterEdges)(edges, points, false);
|
|
169
169
|
return renderEdges(unmonitoredEdges, mapRef, edgesCheckbox, {
|
|
170
170
|
L: L,
|
|
@@ -365,4 +365,4 @@ var Map = function Map(_ref) {
|
|
|
365
365
|
}), renderAreas(), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, memoizedZoomControl(), children))));
|
|
366
366
|
};
|
|
367
367
|
exports.Map = Map;
|
|
368
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9MaXN0Q29udGV4dCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX1BvaW50SWNvbjIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk1hcCIsIl9yZWYiLCJhcmVhcyIsImVkZ2VzIiwicG9pbnRzIiwiZ2xvYmFsX2RhdGEiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsIl9yZWYkaGlkZUVkZ2VzIiwiaGlkZUVkZ2VzIiwiX3JlZiRtYXBCb3hTdHlsZSIsIm1hcEJveFN0eWxlIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJjaGlsZHJlbiIsIl9yZWYkaW5jbHVkZVVubW9uaXRvciIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsIl9yZWYkaW5jbHVkZVVubW9uaXRvcjIiLCJpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzIiwiX3JlZiRmb3JFdmVudHNWaWV3IiwiZm9yRXZlbnRzVmlldyIsIl9yZWYkc3R5bGUiLCJzdHlsZSIsIl9yZWYkZm9yV1dUUERhc2hib2FyZCIsImZvcldXVFBEYXNoYm9hcmQiLCJtYXAiLCJtYXBSZWYiLCJ1c2VSZWYiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsInNlbGVjdGVkSXRlbSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZWRnZXNDaGVja2JveCIsInNldEVkZ2VzQ2hlY2tib3giLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIm9ubHlNb25pdG9yZWRQb2ludHMiLCJzZXRPbmx5TW9uaXRvcmVkUG9pbnRzIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzaG93U2FtcGxlckljb24iLCJzZXRTaG93U2FtcGxlckljb24iLCJlZGdlc0NoZWNrYm94UmVmIiwiaG92ZXJlZEV2ZW50UHJlc2VudCIsInVzZU1lbW8iLCJ1bmRlZmluZWQiLCJmb2N1c2VkRXZlbnRQcmVzZW50IiwiX3VzZVN0YXRlOSIsImxheWVyR3JvdXAiLCJfdXNlU3RhdGUxMCIsImZhY3Rvcmllc1BhcmVudEdyb3VwIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwibW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAiLCJfdXNlU3RhdGUxNSIsIl91c2VTdGF0ZTE2IiwidW5tb25pdG9yZWRFZGdlc0dyb3VwIiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsIm1vbml0b3JlZEVkZ2VzR3JvdXAiLCJfdXNlU3RhdGUxOSIsIl91c2VTdGF0ZTIwIiwid3d0cHNMYXllckdyb3VwIiwiX3VzZVN0YXRlMjEiLCJfdXNlU3RhdGUyMiIsImNvbGxlY3RvcnNMYXllckdyb3VwIiwiX3VzZVN0YXRlMjMiLCJGZWF0dXJlR3JvdXAiLCJfdXNlU3RhdGUyNCIsImFyZWFzTGF5ZXJHcm91cCIsInJlbmRlclBvaW50TWFya2VycyIsImZpbHRlcmVkUG9pbnRzIiwicHJvcHMiLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsIlBvaW50TWFya2VycyIsImFzc2lnbiIsIm1lbW9pemVkTW9uaXRvcmVkUG9pbnRzIiwibGVuZ3RoIiwibW9uaXRvcmVkUG9pbnRzIiwiZmlsdGVyUG9pbnRzIiwib25seU1vbml0b3JlZCIsInJlc3VsdCIsInJlcmVuZGVyIiwiem9vbUxldmVscyIsImZhY3Rvcmllc0dyb3VwIiwid3d0cHNHcm91cCIsImNvbGxlY3RvcnNHcm91cCIsIm1lbW9pemVkVW5tb25pdG9yZWRQb2ludHMiLCJ1bm1vbml0b3JlZFBvaW50cyIsInJlbmRlckVkZ2VzIiwiZmlsdGVyZWRFZGdlcyIsIm1lbW9pemVkRWRnZXMiLCJtb25pdG9yZWRFZGdlcyIsImZpbHRlckVkZ2VzIiwiaGlkZUFycm93cyIsImFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyIsImdyb3VwIiwibWVtb2l6ZWRVbm1vbml0b3JlZEVkZ2VzIiwidW5tb25pdG9yZWRFZGdlcyIsImhhbmRsZUVkZ2VzQ2hlY2tib3hDaGFuZ2UiLCJpc0NoZWNrZWQiLCJlZGdlc1pvb21MZXZlbHMiLCJoYW5kbGVQb2ludHNDaGVja2JveENoYW5nZSIsInpvb20iLCJnZXRab29tIiwicmVtb3ZlTGF5ZXIiLCJyZW1vdmVGcm9tIiwiYWRkTGF5ZXIiLCJpbmNsdWRlcyIsImFkZFRvIiwiaGFuZGxlUG9pbnRzV2l0aFNhbXBsZXJDaGVja2JveENoYW5nZSIsInRyYWNrTGF5ZXJib3giLCJzZXR1cENoZWNrYm94TGlzdGVuZXIiLCJ6b29tUnVsZXNGb3JFdmVudHNWaWV3IiwicGF5bG9hZCIsIkZyYWdtZW50IiwibWVtb2l6ZWRab29tQ29udHJvbCIsIm1lbW9pemVkRXZlbnQiLCJmb2N1c2VkIiwiaG92ZXJlZCIsIkV2ZW50IiwiZXZlbnQiLCJpbmNsdWRlTmV0d29yayIsInVzZUVmZmVjdCIsImFsbEdyb3VwcyIsIm1hdGNoaW5nTWFya2VycyIsImZvckVhY2giLCJnZXRMYXllcnMiLCJsYXllciIsIk1hcmtlciIsInB1c2giLCJtYXJrZXIiLCJtYXJrZXJJY29uRGF0YSIsIm1hcmtlckNsaWNrZWQiLCJpc1BvcHVwT3BlbiIsImhpZGVUZXh0IiwiaWNvbiIsImdldFBvaW50SWNvbkJ5VHlwZSIsInR5cGUiLCJ0aXRsZSIsInN1YnRpdGxlIiwiaGFzSXNzdWVzIiwic2hvdWxkSW5zdGFsbCIsInNldEljb24iLCJjbGVhbnVwIiwiY2xlYXJQb2ludHMiLCJjbGVhckFyZWFzIiwiY2xlYXJMYXllcnMiLCJlYWNoTGF5ZXIiLCJUaWxlTGF5ZXIiLCJ3YXRlckF1dGhvcml0eUlkIiwiaW5pdGlhbGl6ZU1hcCIsInNhdGVsbGl0ZSIsImlzVmFsaWRBcmVhIiwiYXJlYSIsInNoYXBlX2RhdGEiLCJmbGF0IiwiYXJlYUZvY3VzTG9naWMiLCJfbWFwUmVmJGN1cnJlbnQiLCJjbGlja2VkIiwia2FuZG9fb2JqZWN0X2lkIiwiZmlyZSIsIlBvbHlnb24iLCJyZW5kZXJBcmVhcyIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiQXJlYVBvbHlnb25zIiwibWFwWm9vbSIsImZlYXR1cmVHcm91cCIsImNsYXNzTmFtZSIsImNvbmNhdCIsInNpZGVuYXZFeHBhbmRlZCIsImlkIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgKiBhcyBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdzcmMvdXRpbGl0aWVzL3BvbHlsaW5lZGVjb3JhdG9yJztcbmltcG9ydCAnbGVhZmxldC5tYXJrZXJjbHVzdGVyJztcbmltcG9ydCAnbGVhZmxldC5wYXR0ZXJuJztcbmltcG9ydCAnbGVhZmxldC5oZWF0JztcbmltcG9ydCBSZWFjdCwge1xuICBDU1NQcm9wZXJ0aWVzLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgQXJlYVBvbHlnb25zIH0gZnJvbSAnLi9hcmVhcy9BcmVhUG9seWdvbnMnO1xuaW1wb3J0IEVkZ2VzIGZyb20gJy4vZWRnZXMvRWRnZXMnO1xuaW1wb3J0ICcuL01hcC5zY3NzJztcbmltcG9ydCAnLi9wb2ludHMvUG9pbnRJY29uLnNjc3MnO1xuaW1wb3J0IHsgUG9pbnRNYXJrZXJzIH0gZnJvbSAnLi9wb2ludHMvUG9pbnRNYXJrZXJzJztcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi9ldmVudHMvRXZlbnQnO1xuaW1wb3J0IHtcbiAgYXJlYUZvY3VzTG9naWMsXG4gIGZpbHRlckVkZ2VzLFxuICBmaWx0ZXJQb2ludHMsXG4gIGluaXRpYWxpemVNYXAsXG4gIGlzVmFsaWRBcmVhLFxuICBzZXR1cENoZWNrYm94TGlzdGVuZXIsXG4gIHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxuICB6b29tTGV2ZWxzLFxufSBmcm9tICcuL01hcFV0aWxzJztcbmltcG9ydCB7IGxlYWZsZXRNYXAgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0Q29udGV4dCc7XG5pbXBvcnQgeyBjbGVhckFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY2xlYXJQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnLi9wb2ludHMvUG9pbnRJY29uJztcbnJlcXVpcmUoJ2xlYWZsZXQubWFya2VyY2x1c3RlcicpO1xuXG5pbnRlcmZhY2UgTWFwUHJvcHMge1xuICBhcmVhczogSUFyZWFbXTtcbiAgZWRnZXM/OiBJRWRnZVtdO1xuICBwb2ludHM/OiBJUG9pbnRbXTtcbiAgZ2xvYmFsX2RhdGE6IElHbG9iYWxTdGF0ZTtcbiAgYXJlYVRvQ2VudGVyQnk/OiBhbnk7XG4gIGZvY3VzZWRFdmVudD86IElFdmVudCB8IG51bGw7XG4gIGhvdmVyZWRFdmVudD86IElFdmVudCB8IG51bGw7XG4gIGhpZGVFZGdlcz86IGJvb2xlYW47XG4gIG1hcEJveFN0eWxlPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IGFueTtcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM/OiBib29sZWFuO1xuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzPzogYm9vbGVhbjtcbiAgZm9yRXZlbnRzVmlldzogYm9vbGVhbjtcbiAgZm9yV1dUUERhc2hib2FyZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIGFyZWFzLFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBnbG9iYWxfZGF0YSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIGZvY3VzZWRFdmVudCxcbiAgaG92ZXJlZEV2ZW50LFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgbWFwQm94U3R5bGUgPSBsZWFmbGV0TWFwLm1hcERlZmF1bHQsXG4gIGNoaWxkcmVuLFxuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSB0cnVlLFxuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzID0gZmFsc2UsXG4gIGZvckV2ZW50c1ZpZXcgPSBmYWxzZSxcbiAgc3R5bGUgPSB7fSxcbiAgZm9yV1dUUERhc2hib2FyZCA9IGZhbHNlLFxufSkgPT4ge1xuICBjb25zdCB7IG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IG1hcFJlZiA9IHVzZVJlZjxMLk1hcCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFttYXBab29tTGV2ZWwsIHNldE1hcFpvb21MZXZlbF0gPSB1c2VTdGF0ZSgyKTtcbiAgY29uc3QgeyBzZWxlY3RlZEl0ZW0gfSA9IHVzZVNlbGVjdGVkSXRlbSgpO1xuICBjb25zdCBbZWRnZXNDaGVja2JveCwgc2V0RWRnZXNDaGVja2JveF0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW29ubHlNb25pdG9yZWRQb2ludHMsIHNldE9ubHlNb25pdG9yZWRQb2ludHNdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2hvd1NhbXBsZXJJY29uLCBzZXRTaG93U2FtcGxlckljb25dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBlZGdlc0NoZWNrYm94UmVmID0gdXNlUmVmKGVkZ2VzQ2hlY2tib3gpO1xuXG4gIGNvbnN0IGhvdmVyZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gaG92ZXJlZEV2ZW50ICE9PSBudWxsICYmIGhvdmVyZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgZm9jdXNlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgZm9jdXNlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtmb2N1c2VkRXZlbnRdKTtcblxuICAvLyBBZGQgcGFyZW50IGxheWVyIGdyb3VwIGZvciBhbGwgZmFjdG9yaWVzXG4gIGNvbnN0IFtmYWN0b3JpZXNQYXJlbnRHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFt1bm1vbml0b3JlZEZhY3Rvcmllc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW21vbml0b3JlZEZhY3Rvcmllc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW3VubW9uaXRvcmVkRWRnZXNHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFttb25pdG9yZWRFZGdlc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW3d3dHBzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFtjb2xsZWN0b3JzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFthcmVhc0xheWVyR3JvdXBdID0gdXNlU3RhdGUobmV3IEwuRmVhdHVyZUdyb3VwKCkpO1xuXG4gIGNvbnN0IHJlbmRlclBvaW50TWFya2VycyA9IChmaWx0ZXJlZFBvaW50cywgbWFwUmVmLCBwcm9wcykgPT5cbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIHBvaW50cyAmJiAoXG4gICAgICA8UG9pbnRNYXJrZXJzXG4gICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgIHBvaW50cz17ZmlsdGVyZWRQb2ludHN9XG4gICAgICAgIHNob3dTYW1wbGVySWNvbj17c2hvd1NhbXBsZXJJY29ufVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAvPlxuICAgICk7XG5cbiAgY29uc3QgbWVtb2l6ZWRNb25pdG9yZWRQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWVkZ2VzQ2hlY2tib3ggfHwgIW1hcFJlZi5jdXJyZW50IHx8ICFwb2ludHMgfHwgcG9pbnRzLmxlbmd0aCA9PT0gMClcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgbW9uaXRvcmVkUG9pbnRzID0gZmlsdGVyUG9pbnRzKHBvaW50cywgeyBvbmx5TW9uaXRvcmVkOiB0cnVlIH0pO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gcmVuZGVyUG9pbnRNYXJrZXJzKG1vbml0b3JlZFBvaW50cywgbWFwUmVmLCB7XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM6IHRydWUsXG4gICAgICByZXJlbmRlcjogem9vbUxldmVsc1ttYXBab29tTGV2ZWxdLFxuICAgICAgZmFjdG9yaWVzR3JvdXA6IG1vbml0b3JlZEZhY3Rvcmllc0dyb3VwLFxuICAgICAgd3d0cHNHcm91cDogd3d0cHNMYXllckdyb3VwLFxuICAgICAgY29sbGVjdG9yc0dyb3VwOiBjb2xsZWN0b3JzTGF5ZXJHcm91cCxcbiAgICAgIGZvckV2ZW50c1ZpZXcsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LCBbbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgbWFwWm9vbUxldmVsXSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRVbm1vbml0b3JlZFBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghZWRnZXNDaGVja2JveCB8fCAhbWFwUmVmLmN1cnJlbnQgfHwgIXBvaW50cyB8fCBwb2ludHMubGVuZ3RoID09PSAwKVxuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCB1bm1vbml0b3JlZFBvaW50cyA9IGZpbHRlclBvaW50cyhwb2ludHMsIHsgb25seU1vbml0b3JlZDogZmFsc2UgfSk7XG5cbiAgICBjb25zdCByZXN1bHQgPSByZW5kZXJQb2ludE1hcmtlcnModW5tb25pdG9yZWRQb2ludHMsIG1hcFJlZiwge1xuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzOiB0cnVlLFxuICAgICAgcmVyZW5kZXI6IHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSxcbiAgICAgIGZhY3Rvcmllc0dyb3VwOiB1bm1vbml0b3JlZEZhY3Rvcmllc0dyb3VwLFxuICAgICAgd3d0cHNHcm91cDogd3d0cHNMYXllckdyb3VwLFxuICAgICAgY29sbGVjdG9yc0dyb3VwOiBjb2xsZWN0b3JzTGF5ZXJHcm91cCxcbiAgICAgIGZvckV2ZW50c1ZpZXcsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LCBbbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgbWFwWm9vbUxldmVsXSk7XG5cbiAgY29uc3QgcmVuZGVyRWRnZXMgPSAoZmlsdGVyZWRFZGdlcywgbWFwUmVmLCBlZGdlc0NoZWNrYm94LCBwcm9wcykgPT5cbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzQ2hlY2tib3ggJiYgKFxuICAgICAgPEVkZ2VzIGVkZ2VzPXtmaWx0ZXJlZEVkZ2VzfSBtYXA9e21hcFJlZi5jdXJyZW50fSB7Li4ucHJvcHN9IC8+XG4gICAgKTtcblxuICBjb25zdCBtZW1vaXplZEVkZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgbW9uaXRvcmVkRWRnZXMgPSBmaWx0ZXJFZGdlcyhlZGdlcywgcG9pbnRzLCB0cnVlKTtcblxuICAgIHJldHVybiByZW5kZXJFZGdlcyhtb25pdG9yZWRFZGdlcywgbWFwUmVmLCBlZGdlc0NoZWNrYm94LCB7XG4gICAgICBMLFxuICAgICAgcG9pbnRzLFxuICAgICAgaGlkZUVkZ2VzOiBmYWxzZSxcbiAgICAgIGhpZGVBcnJvd3M6IHRydWUsXG4gICAgICBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHM6IGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMsXG4gICAgICBncm91cDogbW9uaXRvcmVkRWRnZXNHcm91cCxcbiAgICB9KTtcbiAgfSwgW3BvaW50cywgZWRnZXNDaGVja2JveCwgbWFwWm9vbUxldmVsXSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRVbm1vbml0b3JlZEVkZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKG9ubHlNb25pdG9yZWRQb2ludHMpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgdW5tb25pdG9yZWRFZGdlcyA9IGZpbHRlckVkZ2VzKGVkZ2VzLCBwb2ludHMsIGZhbHNlKTtcblxuICAgIHJldHVybiByZW5kZXJFZGdlcyh1bm1vbml0b3JlZEVkZ2VzLCBtYXBSZWYsIGVkZ2VzQ2hlY2tib3gsIHtcbiAgICAgIEwsXG4gICAgICBwb2ludHMsXG4gICAgICBoaWRlRWRnZXM6IGZhbHNlLFxuICAgICAgaGlkZUFycm93czogdHJ1ZSxcbiAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50czogaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyxcbiAgICAgIGdyb3VwOiB1bm1vbml0b3JlZEVkZ2VzR3JvdXAsXG4gICAgfSk7XG4gIH0sIFtwb2ludHMsIGVkZ2VzQ2hlY2tib3gsIG1hcFpvb21MZXZlbF0pO1xuXG4gIGNvbnN0IGhhbmRsZUVkZ2VzQ2hlY2tib3hDaGFuZ2UgPSAoaXNDaGVja2VkKSA9PiB7XG4gICAgc2V0RWRnZXNDaGVja2JveChpc0NoZWNrZWQpO1xuICB9O1xuXG4gIC8vIFRoaXMgdmFyaWFibGUgc3RvcmVzIHRoZSB6b29tIGxldmVscyB0aGUgZWRnZXMgYXJlIGRpc3BsYXllZFxuICAvLyBJdCBpcyB1c2VkIGluIHR3byBwbGFjZXMgaW4gdGhlIGNvZGUsIHNvIGl0IGlzIGJldHRlciB0byBzdG9yZSBpdCBpbiBvbmUgcGxhY2VcbiAgY29uc3QgZWRnZXNab29tTGV2ZWxzID0gWydTbWFsbCcsICdNZWRpdW0nLCAnTUxhcmdlJywgJ0xhcmdlJ107XG5cbiAgY29uc3QgaGFuZGxlUG9pbnRzQ2hlY2tib3hDaGFuZ2UgPSAoaXNDaGVja2VkKSA9PiB7XG4gICAgc2V0T25seU1vbml0b3JlZFBvaW50cyhpc0NoZWNrZWQpO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgc2V0T25seU1vbml0b3JlZFBvaW50cyhpc0NoZWNrZWQpO1xuICAgICAgbGV0IHpvb20gPSB6b29tTGV2ZWxzW21hcFJlZi5jdXJyZW50LmdldFpvb20oKV07XG5cbiAgICAgIGlmIChpc0NoZWNrZWQpIHtcbiAgICAgICAgLy8gSGlkZSB1bm1vbml0b3JlZCBwb2ludHMgd2hlbiBcInNob3cgb25seSBtb25pdG9yZWRcIiBpcyBjaGVja2VkXG4gICAgICAgIGZhY3Rvcmllc1BhcmVudEdyb3VwLnJlbW92ZUxheWVyKHVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXApO1xuICAgICAgICB1bm1vbml0b3JlZEVkZ2VzR3JvdXAucmVtb3ZlRnJvbShtYXBSZWYuY3VycmVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTaG93IGFsbCBwb2ludHMgd2hlbiBcInNob3cgb25seSBtb25pdG9yZWRcIiBpcyB1bmNoZWNrZWRcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuYWRkTGF5ZXIodW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCk7XG5cbiAgICAgICAgLy8gU2hvdyB1bm1vbml0b3JlZCBlZGdlcyBpZiBhdCBhcHByb3ByaWF0ZSB6b29tIGxldmVsXG4gICAgICAgIGlmIChlZGdlc0NoZWNrYm94UmVmLmN1cnJlbnQgJiYgZWRnZXNab29tTGV2ZWxzLmluY2x1ZGVzKHpvb20pKSB7XG4gICAgICAgICAgdW5tb25pdG9yZWRFZGdlc0dyb3VwLmFkZFRvKG1hcFJlZi5jdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVQb2ludHNXaXRoU2FtcGxlckNoZWNrYm94Q2hhbmdlID0gKGlzQ2hlY2tlZCkgPT4ge1xuICAgIHNldFNob3dTYW1wbGVySWNvbihpc0NoZWNrZWQpO1xuICB9O1xuXG4gIGNvbnN0IHRyYWNrTGF5ZXJib3ggPSAoKSA9PiB7XG4gICAgc2V0dXBDaGVja2JveExpc3RlbmVyKCcjZWRnZXMtY2hlY2tib3gnLCBoYW5kbGVFZGdlc0NoZWNrYm94Q2hhbmdlKTtcbiAgICBzZXR1cENoZWNrYm94TGlzdGVuZXIoXG4gICAgICAnI21vbml0b3JlZC1wb2ludHMtY2hlY2tib3gnLFxuICAgICAgaGFuZGxlUG9pbnRzQ2hlY2tib3hDaGFuZ2UsXG4gICAgKTtcbiAgICBzZXR1cENoZWNrYm94TGlzdGVuZXIoXG4gICAgICAnI21vbml0b3JlZC1wb2ludHMtd2l0aC1zYW1wbGVyLWNoZWNrYm94JyxcbiAgICAgIGhhbmRsZVBvaW50c1dpdGhTYW1wbGVyQ2hlY2tib3hDaGFuZ2UsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB6b29tUnVsZXNGb3JFdmVudHNWaWV3ID0gKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAoXG4gICAgICA8PlxuICAgICAgICB7ZWRnZXNDaGVja2JveCAmJiBtZW1vaXplZEVkZ2VzfVxuICAgICAgICB7ZWRnZXNDaGVja2JveCAmJiAhb25seU1vbml0b3JlZFBvaW50cyAmJiBtZW1vaXplZFVubW9uaXRvcmVkRWRnZXN9XG4gICAgICAgIHshb25seU1vbml0b3JlZFBvaW50cyAmJiBtZW1vaXplZFVubW9uaXRvcmVkUG9pbnRzfVxuICAgICAgICB7bWVtb2l6ZWRNb25pdG9yZWRQb2ludHN9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3QgbWVtb2l6ZWRab29tQ29udHJvbCA9ICgpID0+IHtcbiAgICBsZXQgcGF5bG9hZCA9IDw+PC8+O1xuICAgIGlmIChlZGdlc1pvb21MZXZlbHMuaW5jbHVkZXMoem9vbUxldmVsc1ttYXBab29tTGV2ZWxdKSkge1xuICAgICAgcGF5bG9hZCA9IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGF5bG9hZCA9IChcbiAgICAgICAgPD5cbiAgICAgICAgICB7IW9ubHlNb25pdG9yZWRQb2ludHMgJiYgbWVtb2l6ZWRVbm1vbml0b3JlZFBvaW50c31cbiAgICAgICAgICB7bWVtb2l6ZWRNb25pdG9yZWRQb2ludHN9XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxFdmVudFxuICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50ISB8fCBob3ZlcmVkRXZlbnQhfVxuICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICBpbmNsdWRlTmV0d29yaz17IWhvdmVyZWRFdmVudFByZXNlbnR9XG4gICAgICAvPlxuICAgICk7XG4gIH0sIFtmb2N1c2VkRXZlbnRQcmVzZW50LCBob3ZlcmVkRXZlbnRQcmVzZW50LCBlZGdlcywgcG9pbnRzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBlZGdlc0NoZWNrYm94UmVmLmN1cnJlbnQgPSBlZGdlc0NoZWNrYm94O1xuICB9LCBbZWRnZXNDaGVja2JveF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50KSB7XG4gICAgICBjb25zdCBhbGxHcm91cHMgPSBbXG4gICAgICAgIG1vbml0b3JlZEZhY3Rvcmllc0dyb3VwLFxuICAgICAgICB1bm1vbml0b3JlZEZhY3Rvcmllc0dyb3VwLFxuICAgICAgICB3d3Rwc0xheWVyR3JvdXAsXG4gICAgICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLFxuICAgICAgXTtcblxuICAgICAgbGV0IG1hdGNoaW5nTWFya2VycyA9IFtdO1xuXG4gICAgICBhbGxHcm91cHMuZm9yRWFjaCgoZ3JvdXApID0+IHtcbiAgICAgICAgZ3JvdXAuZ2V0TGF5ZXJzKCkuZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBsYXllciBpbnN0YW5jZW9mIEwuTWFya2VyICYmXG4gICAgICAgICAgICBsYXllclsna2FuZG9faGFzX3NhbXBsZXInXSA9PT0gdHJ1ZVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgbWF0Y2hpbmdNYXJrZXJzLnB1c2gobGF5ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgbWF0Y2hpbmdNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xuICAgICAgICBtYXJrZXJbJ2thbmRvX3Nob3dfc2FtcGxlciddID0gc2hvd1NhbXBsZXJJY29uO1xuXG4gICAgICAgIGNvbnN0IG1hcmtlckljb25EYXRhID0gbWFya2VyWydrYW5kb19pY29uX2RhdGEnXTtcbiAgICAgICAgY29uc3QgbWFya2VyQ2xpY2tlZCA9IG1hcmtlci5pc1BvcHVwT3BlbigpIHx8IGZhbHNlO1xuICAgICAgICBjb25zdCBoaWRlVGV4dCA9IG1hcmtlckNsaWNrZWQgPT09IGZhbHNlO1xuXG4gICAgICAgIGlmIChtYXJrZXJJY29uRGF0YSkge1xuICAgICAgICAgIGNvbnN0IGljb24gPSBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICAgICAgICBtYXJrZXJJY29uRGF0YT8udHlwZSB8fCAnJyxcbiAgICAgICAgICAgIG1hcmtlckljb25EYXRhPy50aXRsZSB8fCAnJyxcbiAgICAgICAgICAgIG1hcmtlckljb25EYXRhPy5zdWJ0aXRsZSB8fCAnJyxcbiAgICAgICAgICAgIG1hcmtlckNsaWNrZWQsXG4gICAgICAgICAgICBoaWRlVGV4dCxcbiAgICAgICAgICAgIG1hcmtlckljb25EYXRhPy5oYXNJc3N1ZXMgfHwgZmFsc2UsXG4gICAgICAgICAgICBzaG93U2FtcGxlckljb24sXG4gICAgICAgICAgICBtYXJrZXJJY29uRGF0YT8uc2hvdWxkSW5zdGFsbCB8fCBmYWxzZSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgbWFya2VyLnNldEljb24oaWNvbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW3Nob3dTYW1wbGVySWNvbl0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gIC8vICAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAvLyAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGNvbGxlY3RvcnNMYXllckdyb3VwKTtcbiAgLy8gICB9O1xuICAvLyB9LCBbZm9jdXNlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIGlmIChmb3JFdmVudHNWaWV3ICYmIG1hcFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGRpc3BhdGNoKGNsZWFyUG9pbnRzKCkpO1xuICAgICAgICBkaXNwYXRjaChjbGVhckFyZWFzKCkpO1xuICAgICAgICB3d3Rwc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgYXJlYXNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIHVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgbW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgbW9uaXRvcmVkRWRnZXNHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICB1bm1vbml0b3JlZEVkZ2VzR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlTGF5ZXIodW5tb25pdG9yZWRFZGdlc0dyb3VwKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlTGF5ZXIobW9uaXRvcmVkRWRnZXNHcm91cCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZUxheWVyKHd3dHBzTGF5ZXJHcm91cCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZUxheWVyKGNvbGxlY3RvcnNMYXllckdyb3VwKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlTGF5ZXIoYXJlYXNMYXllckdyb3VwKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlTGF5ZXIoZmFjdG9yaWVzUGFyZW50R3JvdXApO1xuXG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgICAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLlRpbGVMYXllcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmVMYXllcihsYXllcik7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsaXplTWFwKFxuICAgICAgICBtYXBab29tTGV2ZWwsXG4gICAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICAgIGZvcldXVFBEYXNoYm9hcmQsXG4gICAgICAgIHRydWUsXG4gICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICAgICApO1xuXG4gICAgICAvLyBJbml0aWFsaXplIHBhcmVudCBmYWN0b3J5IGdyb3VwXG4gICAgICBpZiAobWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuYWRkVG8obWFwUmVmLmN1cnJlbnQpO1xuICAgICAgICBmYWN0b3JpZXNQYXJlbnRHcm91cC5hZGRMYXllcihtb25pdG9yZWRGYWN0b3JpZXNHcm91cCk7XG4gICAgICAgIGZhY3Rvcmllc1BhcmVudEdyb3VwLmFkZExheWVyKHVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXApO1xuICAgICAgfVxuXG4gICAgICB0cmFja0xheWVyYm94KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldE1hcFpvb21MZXZlbChtYXBSZWYuY3VycmVudC5nZXRab29tKCkpO1xuICAgICAgaWYgKCFhcmVhVG9DZW50ZXJCeSkge1xuICAgICAgICBhcmVhVG9DZW50ZXJCeSA9IGFyZWFzLm1hcCgoYXJlYSkgPT4gYXJlYS5zaGFwZV9kYXRhKS5mbGF0KCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZm9jdXNlZEV2ZW50KSB7XG4gICAgICAgIGFyZWFGb2N1c0xvZ2ljKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFttYXBSZWYuY3VycmVudCwgYXJlYVRvQ2VudGVyQnldKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBjbGlja2VkID0gZmFsc2U7XG5cbiAgICBtYXBSZWYuY3VycmVudD8uZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgICAgaWYgKGNsaWNrZWQpIHJldHVybjtcblxuICAgICAgaWYgKFxuICAgICAgICBsYXllcj8ua2FuZG9fb2JqZWN0X2lkID09PSBzZWxlY3RlZEl0ZW0gJiZcbiAgICAgICAgbGF5ZXIuaXNQb3B1cE9wZW4oKSA9PT0gZmFsc2VcbiAgICAgICkge1xuICAgICAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgICAgIGxheWVyLmZpcmUoJ2NsaWNrJyk7XG4gICAgICAgIH0gZWxzZSBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlnb24pIHtcbiAgICAgICAgICBsYXllci5maXJlKCdjbGljay1ldmVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNsaWNrZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRJdGVtXSk7XG5cbiAgY29uc3QgcmVuZGVyQXJlYXMgPSAoKSA9PiB7XG4gICAgaWYgKCFzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmLCBlZGdlcywgcG9pbnRzKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICBMPXtMfVxuICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgIG1hcFpvb209e21hcFpvb21MZXZlbH1cbiAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICBmZWF0dXJlR3JvdXA9e2FyZWFzTGF5ZXJHcm91cH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiIHN0eWxlPXtzdHlsZX0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+PC9kaXY+XG4gICAgICAgICAge3JlbmRlckFyZWFzKCl9XG4gICAgICAgICAge3Nob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMoXG4gICAgICAgICAgICBlZGdlcyxcbiAgICAgICAgICAgIGFyZWFzLFxuICAgICAgICAgICAgZ2xvYmFsX2RhdGEsXG4gICAgICAgICAgICBtYXBSZWYsXG4gICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7bWVtb2l6ZWRFdmVudH1cbiAgICAgICAgICAgICAge21lbW9pemVkWm9vbUNvbnRyb2woKX1cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxDQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFD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
|
|
368
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9MaXN0Q29udGV4dCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX1BvaW50SWNvbjIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk1hcCIsIl9yZWYiLCJhcmVhcyIsImVkZ2VzIiwicG9pbnRzIiwiZ2xvYmFsX2RhdGEiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsIl9yZWYkaGlkZUVkZ2VzIiwiaGlkZUVkZ2VzIiwiX3JlZiRtYXBCb3hTdHlsZSIsIm1hcEJveFN0eWxlIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJjaGlsZHJlbiIsIl9yZWYkaW5jbHVkZVVubW9uaXRvciIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsIl9yZWYkaW5jbHVkZVVubW9uaXRvcjIiLCJpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzIiwiX3JlZiRmb3JFdmVudHNWaWV3IiwiZm9yRXZlbnRzVmlldyIsIl9yZWYkc3R5bGUiLCJzdHlsZSIsIl9yZWYkZm9yV1dUUERhc2hib2FyZCIsImZvcldXVFBEYXNoYm9hcmQiLCJtYXAiLCJtYXBSZWYiLCJ1c2VSZWYiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiX3VzZVNlbGVjdGVkSXRlbSIsInVzZVNlbGVjdGVkSXRlbSIsInNlbGVjdGVkSXRlbSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZWRnZXNDaGVja2JveCIsInNldEVkZ2VzQ2hlY2tib3giLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIm9ubHlNb25pdG9yZWRQb2ludHMiLCJzZXRPbmx5TW9uaXRvcmVkUG9pbnRzIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzaG93U2FtcGxlckljb24iLCJzZXRTaG93U2FtcGxlckljb24iLCJlZGdlc0NoZWNrYm94UmVmIiwiaG92ZXJlZEV2ZW50UHJlc2VudCIsInVzZU1lbW8iLCJ1bmRlZmluZWQiLCJmb2N1c2VkRXZlbnRQcmVzZW50IiwiX3VzZVN0YXRlOSIsImxheWVyR3JvdXAiLCJfdXNlU3RhdGUxMCIsImZhY3Rvcmllc1BhcmVudEdyb3VwIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0IiwibW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAiLCJfdXNlU3RhdGUxNSIsIl91c2VTdGF0ZTE2IiwidW5tb25pdG9yZWRFZGdlc0dyb3VwIiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsIm1vbml0b3JlZEVkZ2VzR3JvdXAiLCJfdXNlU3RhdGUxOSIsIl91c2VTdGF0ZTIwIiwid3d0cHNMYXllckdyb3VwIiwiX3VzZVN0YXRlMjEiLCJfdXNlU3RhdGUyMiIsImNvbGxlY3RvcnNMYXllckdyb3VwIiwiX3VzZVN0YXRlMjMiLCJGZWF0dXJlR3JvdXAiLCJfdXNlU3RhdGUyNCIsImFyZWFzTGF5ZXJHcm91cCIsInJlbmRlclBvaW50TWFya2VycyIsImZpbHRlcmVkUG9pbnRzIiwicHJvcHMiLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsIlBvaW50TWFya2VycyIsImFzc2lnbiIsIm1lbW9pemVkTW9uaXRvcmVkUG9pbnRzIiwibGVuZ3RoIiwibW9uaXRvcmVkUG9pbnRzIiwiZmlsdGVyUG9pbnRzIiwib25seU1vbml0b3JlZCIsInJlc3VsdCIsInJlcmVuZGVyIiwiem9vbUxldmVscyIsImZhY3Rvcmllc0dyb3VwIiwid3d0cHNHcm91cCIsImNvbGxlY3RvcnNHcm91cCIsInNob3dTYW1wbGVyIiwibWVtb2l6ZWRVbm1vbml0b3JlZFBvaW50cyIsInVubW9uaXRvcmVkUG9pbnRzIiwicmVuZGVyRWRnZXMiLCJmaWx0ZXJlZEVkZ2VzIiwibWVtb2l6ZWRFZGdlcyIsIm1vbml0b3JlZEVkZ2VzIiwiZmlsdGVyRWRnZXMiLCJoaWRlQXJyb3dzIiwiYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzIiwiZ3JvdXAiLCJtZW1vaXplZFVubW9uaXRvcmVkRWRnZXMiLCJ1bm1vbml0b3JlZEVkZ2VzIiwiaGFuZGxlRWRnZXNDaGVja2JveENoYW5nZSIsImlzQ2hlY2tlZCIsImVkZ2VzWm9vbUxldmVscyIsImhhbmRsZVBvaW50c0NoZWNrYm94Q2hhbmdlIiwiem9vbSIsImdldFpvb20iLCJyZW1vdmVMYXllciIsInJlbW92ZUZyb20iLCJhZGRMYXllciIsImluY2x1ZGVzIiwiYWRkVG8iLCJoYW5kbGVQb2ludHNXaXRoU2FtcGxlckNoZWNrYm94Q2hhbmdlIiwidHJhY2tMYXllcmJveCIsInNldHVwQ2hlY2tib3hMaXN0ZW5lciIsInpvb21SdWxlc0ZvckV2ZW50c1ZpZXciLCJwYXlsb2FkIiwiRnJhZ21lbnQiLCJtZW1vaXplZFpvb21Db250cm9sIiwibWVtb2l6ZWRFdmVudCIsImZvY3VzZWQiLCJob3ZlcmVkIiwiRXZlbnQiLCJldmVudCIsImluY2x1ZGVOZXR3b3JrIiwidXNlRWZmZWN0IiwiYWxsR3JvdXBzIiwibWF0Y2hpbmdNYXJrZXJzIiwiZm9yRWFjaCIsImdldExheWVycyIsImxheWVyIiwiTWFya2VyIiwicHVzaCIsIm1hcmtlciIsIm1hcmtlckljb25EYXRhIiwibWFya2VyQ2xpY2tlZCIsImlzUG9wdXBPcGVuIiwiaGlkZVRleHQiLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwidHlwZSIsInRpdGxlIiwic3VidGl0bGUiLCJoYXNJc3N1ZXMiLCJzaG91bGRJbnN0YWxsIiwic2V0SWNvbiIsImNsZWFudXAiLCJjbGVhclBvaW50cyIsImNsZWFyQXJlYXMiLCJjbGVhckxheWVycyIsImVhY2hMYXllciIsIlRpbGVMYXllciIsIndhdGVyQXV0aG9yaXR5SWQiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJhcmVhIiwic2hhcGVfZGF0YSIsImZsYXQiLCJhcmVhRm9jdXNMb2dpYyIsIl9tYXBSZWYkY3VycmVudCIsImNsaWNrZWQiLCJrYW5kb19vYmplY3RfaWQiLCJmaXJlIiwiUG9seWdvbiIsInJlbmRlckFyZWFzIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJBcmVhUG9seWdvbnMiLCJtYXBab29tIiwiZmVhdHVyZUdyb3VwIiwiY2xhc3NOYW1lIiwiY29uY2F0Iiwic2lkZW5hdkV4cGFuZGVkIiwiaWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCAqIGFzIEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0ICdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0ICdsZWFmbGV0LmhlYXQnO1xuaW1wb3J0IFJlYWN0LCB7XG4gIENTU1Byb3BlcnRpZXMsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBBcmVhUG9seWdvbnMgfSBmcm9tICcuL2FyZWFzL0FyZWFQb2x5Z29ucyc7XG5pbXBvcnQgRWRnZXMgZnJvbSAnLi9lZGdlcy9FZGdlcyc7XG5pbXBvcnQgJy4vTWFwLnNjc3MnO1xuaW1wb3J0ICcuL3BvaW50cy9Qb2ludEljb24uc2Nzcyc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuaW1wb3J0IHsgRXZlbnQgfSBmcm9tICcuL2V2ZW50cy9FdmVudCc7XG5pbXBvcnQge1xuICBhcmVhRm9jdXNMb2dpYyxcbiAgZmlsdGVyRWRnZXMsXG4gIGZpbHRlclBvaW50cyxcbiAgaW5pdGlhbGl6ZU1hcCxcbiAgaXNWYWxpZEFyZWEsXG4gIHNldHVwQ2hlY2tib3hMaXN0ZW5lcixcbiAgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyxcbiAgc2hvdWxkTG9hZE1hcE9iamVjdHMsXG4gIHpvb21MZXZlbHMsXG59IGZyb20gJy4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IGNsZWFyQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBjbGVhclBvaW50cyB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBnZXRQb2ludEljb25CeVR5cGUgfSBmcm9tICcuL3BvaW50cy9Qb2ludEljb24nO1xucmVxdWlyZSgnbGVhZmxldC5tYXJrZXJjbHVzdGVyJyk7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBlZGdlcz86IElFZGdlW107XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogYW55O1xuICBzdHlsZT86IENTU1Byb3BlcnRpZXM7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xuICBmb3JFdmVudHNWaWV3OiBib29sZWFuO1xuICBmb3JXV1RQRGFzaGJvYXJkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE1hcDogUmVhY3QuRkM8TWFwUHJvcHM+ID0gKHtcbiAgYXJlYXMsXG4gIGVkZ2VzLFxuICBwb2ludHMsXG4gIGdsb2JhbF9kYXRhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgZm9jdXNlZEV2ZW50LFxuICBob3ZlcmVkRXZlbnQsXG4gIGhpZGVFZGdlcyA9IGZhbHNlLFxuICBtYXBCb3hTdHlsZSA9IGxlYWZsZXRNYXAubWFwRGVmYXVsdCxcbiAgY2hpbGRyZW4sXG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA9IHRydWUsXG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMgPSBmYWxzZSxcbiAgZm9yRXZlbnRzVmlldyA9IGZhbHNlLFxuICBzdHlsZSA9IHt9LFxuICBmb3JXV1RQRGFzaGJvYXJkID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IFtlZGdlc0NoZWNrYm94LCBzZXRFZGdlc0NoZWNrYm94XSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbb25seU1vbml0b3JlZFBvaW50cywgc2V0T25seU1vbml0b3JlZFBvaW50c10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzaG93U2FtcGxlckljb24sIHNldFNob3dTYW1wbGVySWNvbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGVkZ2VzQ2hlY2tib3hSZWYgPSB1c2VSZWYoZWRnZXNDaGVja2JveCk7XG5cbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIC8vIEFkZCBwYXJlbnQgbGF5ZXIgZ3JvdXAgZm9yIGFsbCBmYWN0b3JpZXNcbiAgY29uc3QgW2ZhY3Rvcmllc1BhcmVudEdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW3VubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbbW9uaXRvcmVkRmFjdG9yaWVzR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbdW5tb25pdG9yZWRFZGdlc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW21vbml0b3JlZEVkZ2VzR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbd3d0cHNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2NvbGxlY3RvcnNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2FyZWFzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShuZXcgTC5GZWF0dXJlR3JvdXAoKSk7XG5cbiAgY29uc3QgcmVuZGVyUG9pbnRNYXJrZXJzID0gKGZpbHRlcmVkUG9pbnRzLCBtYXBSZWYsIHByb3BzKSA9PlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgcG9pbnRzICYmIChcbiAgICAgIDxQb2ludE1hcmtlcnNcbiAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgcG9pbnRzPXtmaWx0ZXJlZFBvaW50c31cbiAgICAgICAgc2hvd1NhbXBsZXJJY29uPXtzaG93U2FtcGxlckljb259XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgIC8+XG4gICAgKTtcblxuICBjb25zdCBtZW1vaXplZE1vbml0b3JlZFBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghZWRnZXNDaGVja2JveCB8fCAhbWFwUmVmLmN1cnJlbnQgfHwgIXBvaW50cyB8fCBwb2ludHMubGVuZ3RoID09PSAwKVxuICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBtb25pdG9yZWRQb2ludHMgPSBmaWx0ZXJQb2ludHMocG9pbnRzLCB7IG9ubHlNb25pdG9yZWQ6IHRydWUgfSk7XG5cbiAgICBjb25zdCByZXN1bHQgPSByZW5kZXJQb2ludE1hcmtlcnMobW9uaXRvcmVkUG9pbnRzLCBtYXBSZWYsIHtcbiAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50czogdHJ1ZSxcbiAgICAgIHJlcmVuZGVyOiB6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0sXG4gICAgICBmYWN0b3JpZXNHcm91cDogbW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAsXG4gICAgICB3d3Rwc0dyb3VwOiB3d3Rwc0xheWVyR3JvdXAsXG4gICAgICBjb2xsZWN0b3JzR3JvdXA6IGNvbGxlY3RvcnNMYXllckdyb3VwLFxuICAgICAgZm9yRXZlbnRzVmlldyxcbiAgICAgIHNob3dTYW1wbGVyOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBtYXBab29tTGV2ZWxdKTtcblxuICBjb25zdCBtZW1vaXplZFVubW9uaXRvcmVkUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFlZGdlc0NoZWNrYm94IHx8ICFtYXBSZWYuY3VycmVudCB8fCAhcG9pbnRzIHx8IHBvaW50cy5sZW5ndGggPT09IDApXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IHVubW9uaXRvcmVkUG9pbnRzID0gZmlsdGVyUG9pbnRzKHBvaW50cywgeyBvbmx5TW9uaXRvcmVkOiBmYWxzZSB9KTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IHJlbmRlclBvaW50TWFya2Vycyh1bm1vbml0b3JlZFBvaW50cywgbWFwUmVmLCB7XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM6IHRydWUsXG4gICAgICByZXJlbmRlcjogem9vbUxldmVsc1ttYXBab29tTGV2ZWxdLFxuICAgICAgZmFjdG9yaWVzR3JvdXA6IHVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAsXG4gICAgICB3d3Rwc0dyb3VwOiB3d3Rwc0xheWVyR3JvdXAsXG4gICAgICBjb2xsZWN0b3JzR3JvdXA6IGNvbGxlY3RvcnNMYXllckdyb3VwLFxuICAgICAgZm9yRXZlbnRzVmlldyxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBtYXBab29tTGV2ZWxdKTtcblxuICBjb25zdCByZW5kZXJFZGdlcyA9IChmaWx0ZXJlZEVkZ2VzLCBtYXBSZWYsIGVkZ2VzQ2hlY2tib3gsIHByb3BzKSA9PlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXNDaGVja2JveCAmJiAoXG4gICAgICA8RWRnZXMgZWRnZXM9e2ZpbHRlcmVkRWRnZXN9IG1hcD17bWFwUmVmLmN1cnJlbnR9IHsuLi5wcm9wc30gLz5cbiAgICApO1xuXG4gIGNvbnN0IG1lbW9pemVkRWRnZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBtb25pdG9yZWRFZGdlcyA9IGZpbHRlckVkZ2VzKGVkZ2VzLCBwb2ludHMsIHRydWUpO1xuXG4gICAgcmV0dXJuIHJlbmRlckVkZ2VzKG1vbml0b3JlZEVkZ2VzLCBtYXBSZWYsIGVkZ2VzQ2hlY2tib3gsIHtcbiAgICAgIEwsXG4gICAgICBwb2ludHMsXG4gICAgICBoaWRlRWRnZXM6IGZhbHNlLFxuICAgICAgaGlkZUFycm93czogdHJ1ZSxcbiAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50czogaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyxcbiAgICAgIGdyb3VwOiBtb25pdG9yZWRFZGdlc0dyb3VwLFxuICAgIH0pO1xuICB9LCBbcG9pbnRzLCBlZGdlc0NoZWNrYm94LCBtYXBab29tTGV2ZWxdKTtcblxuICBjb25zdCBtZW1vaXplZFVubW9uaXRvcmVkRWRnZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB1bm1vbml0b3JlZEVkZ2VzID0gZmlsdGVyRWRnZXMoZWRnZXMsIHBvaW50cywgZmFsc2UpO1xuXG4gICAgcmV0dXJuIHJlbmRlckVkZ2VzKHVubW9uaXRvcmVkRWRnZXMsIG1hcFJlZiwgZWRnZXNDaGVja2JveCwge1xuICAgICAgTCxcbiAgICAgIHBvaW50cyxcbiAgICAgIGhpZGVFZGdlczogZmFsc2UsXG4gICAgICBoaWRlQXJyb3dzOiB0cnVlLFxuICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzOiBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzLFxuICAgICAgZ3JvdXA6IHVubW9uaXRvcmVkRWRnZXNHcm91cCxcbiAgICB9KTtcbiAgfSwgW3BvaW50cywgZWRnZXNDaGVja2JveCwgbWFwWm9vbUxldmVsXSk7XG5cbiAgY29uc3QgaGFuZGxlRWRnZXNDaGVja2JveENoYW5nZSA9IChpc0NoZWNrZWQpID0+IHtcbiAgICBzZXRFZGdlc0NoZWNrYm94KGlzQ2hlY2tlZCk7XG4gIH07XG5cbiAgLy8gVGhpcyB2YXJpYWJsZSBzdG9yZXMgdGhlIHpvb20gbGV2ZWxzIHRoZSBlZGdlcyBhcmUgZGlzcGxheWVkXG4gIC8vIEl0IGlzIHVzZWQgaW4gdHdvIHBsYWNlcyBpbiB0aGUgY29kZSwgc28gaXQgaXMgYmV0dGVyIHRvIHN0b3JlIGl0IGluIG9uZSBwbGFjZVxuICBjb25zdCBlZGdlc1pvb21MZXZlbHMgPSBbJ1NtYWxsJywgJ01lZGl1bScsICdNTGFyZ2UnLCAnTGFyZ2UnXTtcblxuICBjb25zdCBoYW5kbGVQb2ludHNDaGVja2JveENoYW5nZSA9IChpc0NoZWNrZWQpID0+IHtcbiAgICBzZXRPbmx5TW9uaXRvcmVkUG9pbnRzKGlzQ2hlY2tlZCk7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICBzZXRPbmx5TW9uaXRvcmVkUG9pbnRzKGlzQ2hlY2tlZCk7XG4gICAgICBsZXQgem9vbSA9IHpvb21MZXZlbHNbbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpXTtcblxuICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAvLyBIaWRlIHVubW9uaXRvcmVkIHBvaW50cyB3aGVuIFwic2hvdyBvbmx5IG1vbml0b3JlZFwiIGlzIGNoZWNrZWRcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAucmVtb3ZlTGF5ZXIodW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCk7XG4gICAgICAgIHVubW9uaXRvcmVkRWRnZXNHcm91cC5yZW1vdmVGcm9tKG1hcFJlZi5jdXJyZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNob3cgYWxsIHBvaW50cyB3aGVuIFwic2hvdyBvbmx5IG1vbml0b3JlZFwiIGlzIHVuY2hlY2tlZFxuICAgICAgICBmYWN0b3JpZXNQYXJlbnRHcm91cC5hZGRMYXllcih1bm1vbml0b3JlZEZhY3Rvcmllc0dyb3VwKTtcblxuICAgICAgICAvLyBTaG93IHVubW9uaXRvcmVkIGVkZ2VzIGlmIGF0IGFwcHJvcHJpYXRlIHpvb20gbGV2ZWxcbiAgICAgICAgaWYgKGVkZ2VzQ2hlY2tib3hSZWYuY3VycmVudCAmJiBlZGdlc1pvb21MZXZlbHMuaW5jbHVkZXMoem9vbSkpIHtcbiAgICAgICAgICB1bm1vbml0b3JlZEVkZ2VzR3JvdXAuYWRkVG8obWFwUmVmLmN1cnJlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVBvaW50c1dpdGhTYW1wbGVyQ2hlY2tib3hDaGFuZ2UgPSAoaXNDaGVja2VkKSA9PiB7XG4gICAgc2V0U2hvd1NhbXBsZXJJY29uKGlzQ2hlY2tlZCk7XG4gIH07XG5cbiAgY29uc3QgdHJhY2tMYXllcmJveCA9ICgpID0+IHtcbiAgICBzZXR1cENoZWNrYm94TGlzdGVuZXIoJyNlZGdlcy1jaGVja2JveCcsIGhhbmRsZUVkZ2VzQ2hlY2tib3hDaGFuZ2UpO1xuICAgIHNldHVwQ2hlY2tib3hMaXN0ZW5lcihcbiAgICAgICcjbW9uaXRvcmVkLXBvaW50cy1jaGVja2JveCcsXG4gICAgICBoYW5kbGVQb2ludHNDaGVja2JveENoYW5nZSxcbiAgICApO1xuICAgIHNldHVwQ2hlY2tib3hMaXN0ZW5lcihcbiAgICAgICcjbW9uaXRvcmVkLXBvaW50cy13aXRoLXNhbXBsZXItY2hlY2tib3gnLFxuICAgICAgaGFuZGxlUG9pbnRzV2l0aFNhbXBsZXJDaGVja2JveENoYW5nZSxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcgPSAoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IChcbiAgICAgIDw+XG4gICAgICAgIHtlZGdlc0NoZWNrYm94ICYmIG1lbW9pemVkRWRnZXN9XG4gICAgICAgIHtlZGdlc0NoZWNrYm94ICYmICFvbmx5TW9uaXRvcmVkUG9pbnRzICYmIG1lbW9pemVkVW5tb25pdG9yZWRFZGdlc31cbiAgICAgICAgeyFvbmx5TW9uaXRvcmVkUG9pbnRzICYmIG1lbW9pemVkVW5tb25pdG9yZWRQb2ludHN9XG4gICAgICAgIHttZW1vaXplZE1vbml0b3JlZFBvaW50c31cbiAgICAgIDwvPlxuICAgICk7XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCBtZW1vaXplZFpvb21Db250cm9sID0gKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gPD48Lz47XG4gICAgaWYgKGVkZ2VzWm9vbUxldmVscy5pbmNsdWRlcyh6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0pKSB7XG4gICAgICBwYXlsb2FkID0gem9vbVJ1bGVzRm9yRXZlbnRzVmlldygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXlsb2FkID0gKFxuICAgICAgICA8PlxuICAgICAgICAgIHshb25seU1vbml0b3JlZFBvaW50cyAmJiBtZW1vaXplZFVubW9uaXRvcmVkUG9pbnRzfVxuICAgICAgICAgIHttZW1vaXplZE1vbml0b3JlZFBvaW50c31cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkRXZlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZm9jdXNlZEV2ZW50UHJlc2VudCkge1xuICAgICAgZm9jdXNlZEV2ZW50IS5mb2N1c2VkID0gZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICAgIGZvY3VzZWRFdmVudCEuaG92ZXJlZCA9ICFmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmIChob3ZlcmVkRXZlbnRQcmVzZW50KSB7XG4gICAgICBob3ZlcmVkRXZlbnQhLmhvdmVyZWQgPSBob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgICAgaG92ZXJlZEV2ZW50IS5mb2N1c2VkID0gIWhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKCFob3ZlcmVkRXZlbnRQcmVzZW50ICYmICFmb2N1c2VkRXZlbnRQcmVzZW50KSByZXR1cm4gPD48Lz47XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEV2ZW50XG4gICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnQhIHx8IGhvdmVyZWRFdmVudCF9XG4gICAgICAgIG1hcD17bWFwfVxuICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgIGluY2x1ZGVOZXR3b3JrPXshaG92ZXJlZEV2ZW50UHJlc2VudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW2ZvY3VzZWRFdmVudFByZXNlbnQsIGhvdmVyZWRFdmVudFByZXNlbnQsIGVkZ2VzLCBwb2ludHNdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGVkZ2VzQ2hlY2tib3hSZWYuY3VycmVudCA9IGVkZ2VzQ2hlY2tib3g7XG4gIH0sIFtlZGdlc0NoZWNrYm94XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IGFsbEdyb3VwcyA9IFtcbiAgICAgICAgbW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAsXG4gICAgICAgIHVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAsXG4gICAgICAgIHd3dHBzTGF5ZXJHcm91cCxcbiAgICAgICAgY29sbGVjdG9yc0xheWVyR3JvdXAsXG4gICAgICBdO1xuXG4gICAgICBsZXQgbWF0Y2hpbmdNYXJrZXJzID0gW107XG5cbiAgICAgIGFsbEdyb3Vwcy5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgICBncm91cC5nZXRMYXllcnMoKS5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGxheWVyIGluc3RhbmNlb2YgTC5NYXJrZXIgJiZcbiAgICAgICAgICAgIGxheWVyWydrYW5kb19oYXNfc2FtcGxlciddID09PSB0cnVlXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBtYXRjaGluZ01hcmtlcnMucHVzaChsYXllcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBtYXRjaGluZ01hcmtlcnMuZm9yRWFjaCgobWFya2VyKSA9PiB7XG4gICAgICAgIG1hcmtlclsna2FuZG9fc2hvd19zYW1wbGVyJ10gPSBzaG93U2FtcGxlckljb247XG5cbiAgICAgICAgY29uc3QgbWFya2VySWNvbkRhdGEgPSBtYXJrZXJbJ2thbmRvX2ljb25fZGF0YSddO1xuICAgICAgICBjb25zdCBtYXJrZXJDbGlja2VkID0gbWFya2VyLmlzUG9wdXBPcGVuKCkgfHwgZmFsc2U7XG4gICAgICAgIGNvbnN0IGhpZGVUZXh0ID0gbWFya2VyQ2xpY2tlZCA9PT0gZmFsc2U7XG5cbiAgICAgICAgaWYgKG1hcmtlckljb25EYXRhKSB7XG4gICAgICAgICAgY29uc3QgaWNvbiA9IGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgICAgICAgIG1hcmtlckljb25EYXRhPy50eXBlIHx8ICcnLFxuICAgICAgICAgICAgbWFya2VySWNvbkRhdGE/LnRpdGxlIHx8ICcnLFxuICAgICAgICAgICAgbWFya2VySWNvbkRhdGE/LnN1YnRpdGxlIHx8ICcnLFxuICAgICAgICAgICAgbWFya2VyQ2xpY2tlZCxcbiAgICAgICAgICAgIGhpZGVUZXh0LFxuICAgICAgICAgICAgbWFya2VySWNvbkRhdGE/Lmhhc0lzc3VlcyB8fCBmYWxzZSxcbiAgICAgICAgICAgIHNob3dTYW1wbGVySWNvbixcbiAgICAgICAgICAgIG1hcmtlckljb25EYXRhPy5zaG91bGRJbnN0YWxsIHx8IGZhbHNlLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBtYXJrZXIuc2V0SWNvbihpY29uKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbc2hvd1NhbXBsZXJJY29uXSk7XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgLy8gICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gIC8vICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAvLyAgIH07XG4gIC8vIH0sIFtmb2N1c2VkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgaWYgKGZvckV2ZW50c1ZpZXcgJiYgbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgZGlzcGF0Y2goY2xlYXJQb2ludHMoKSk7XG4gICAgICAgIGRpc3BhdGNoKGNsZWFyQXJlYXMoKSk7XG4gICAgICAgIHd3dHBzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBhcmVhc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgdW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBtb25pdG9yZWRGYWN0b3JpZXNHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBmYWN0b3JpZXNQYXJlbnRHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBtb25pdG9yZWRFZGdlc0dyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIHVubW9uaXRvcmVkRWRnZXNHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmVMYXllcih1bm1vbml0b3JlZEVkZ2VzR3JvdXApO1xuICAgICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmVMYXllcihtb25pdG9yZWRFZGdlc0dyb3VwKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlTGF5ZXIod3d0cHNMYXllckdyb3VwKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAgICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmVMYXllcihhcmVhc0xheWVyR3JvdXApO1xuICAgICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmVMYXllcihmYWN0b3JpZXNQYXJlbnRHcm91cCk7XG5cbiAgICAgICAgbWFwUmVmLmN1cnJlbnQuZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgICAgICAgIGlmIChsYXllciBpbnN0YW5jZW9mIEwuVGlsZUxheWVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZUxheWVyKGxheWVyKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICAgZm9yV1dUUERhc2hib2FyZCxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICk7XG5cbiAgICAgIC8vIEluaXRpYWxpemUgcGFyZW50IGZhY3RvcnkgZ3JvdXBcbiAgICAgIGlmIChtYXBSZWYuY3VycmVudCkge1xuICAgICAgICBmYWN0b3JpZXNQYXJlbnRHcm91cC5hZGRUbyhtYXBSZWYuY3VycmVudCk7XG4gICAgICAgIGZhY3Rvcmllc1BhcmVudEdyb3VwLmFkZExheWVyKG1vbml0b3JlZEZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuYWRkTGF5ZXIodW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCk7XG4gICAgICB9XG5cbiAgICAgIHRyYWNrTGF5ZXJib3goKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0TWFwWm9vbUxldmVsKG1hcFJlZi5jdXJyZW50LmdldFpvb20oKSk7XG4gICAgICBpZiAoIWFyZWFUb0NlbnRlckJ5KSB7XG4gICAgICAgIGFyZWFUb0NlbnRlckJ5ID0gYXJlYXMubWFwKChhcmVhKSA9PiBhcmVhLnNoYXBlX2RhdGEpLmZsYXQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFmb2N1c2VkRXZlbnQpIHtcbiAgICAgICAgYXJlYUZvY3VzTG9naWMobWFwUmVmLCBpc1ZhbGlkQXJlYSwgYXJlYVRvQ2VudGVyQnkpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW21hcFJlZi5jdXJyZW50LCBhcmVhVG9DZW50ZXJCeV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNsaWNrZWQgPSBmYWxzZTtcblxuICAgIG1hcFJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICBpZiAoY2xpY2tlZCkgcmV0dXJuO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGxheWVyPy5rYW5kb19vYmplY3RfaWQgPT09IHNlbGVjdGVkSXRlbSAmJlxuICAgICAgICBsYXllci5pc1BvcHVwT3BlbigpID09PSBmYWxzZVxuICAgICAgKSB7XG4gICAgICAgIGlmIChsYXllciBpbnN0YW5jZW9mIEwuTWFya2VyKSB7XG4gICAgICAgICAgbGF5ZXIuZmlyZSgnY2xpY2snKTtcbiAgICAgICAgfSBlbHNlIGlmIChsYXllciBpbnN0YW5jZW9mIEwuUG9seWdvbikge1xuICAgICAgICAgIGxheWVyLmZpcmUoJ2NsaWNrLWV2ZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY2xpY2tlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICBjb25zdCByZW5kZXJBcmVhcyA9ICgpID0+IHtcbiAgICBpZiAoIXNob3VsZExvYWRNYXBPYmplY3RzKGdsb2JhbF9kYXRhLCBtYXBSZWYsIGVkZ2VzLCBwb2ludHMpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEFyZWFQb2x5Z29uc1xuICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgIEw9e0x9XG4gICAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhVG9DZW50ZXJCeX1cbiAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgIGZlYXR1cmVHcm91cD17YXJlYXNMYXllckdyb3VwfVxuICAgICAgLz5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJrZC1tYXAtY29udGFpbmVyXCIgc3R5bGU9e3N0eWxlfT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtgIG1hcC1jb250YWluZXIgJHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS5zaWRlbmF2RXhwYW5kZWQgPyAnJyA6ICdtYXAtY29udGFpbmVyLS1zaWRlbmF2LWNvbGxhcHNlZCdcbiAgICAgICAgfWB9XG4gICAgICA+XG4gICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgIDxkaXYgaWQ9XCJtYXBcIj48L2Rpdj5cbiAgICAgICAgICB7cmVuZGVyQXJlYXMoKX1cbiAgICAgICAgICB7c2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyhcbiAgICAgICAgICAgIGVkZ2VzLFxuICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICBnbG9iYWxfZGF0YSxcbiAgICAgICAgICAgIG1hcFJlZixcbiAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICApICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHttZW1vaXplZEV2ZW50fVxuICAgICAgICAgICAgICB7bWVtb2l6ZWRab29tQ29udHJvbCgpfVxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLElBQUFBLENBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxP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
|