@kando-env/kando-ui 1.2.75-alpha.49 → 1.2.75-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +3 -3
- package/lib/Widgets/EventsRow/EventsRow.js +3 -3
- package/lib/Widgets/Map/Map.js +5 -19
- package/lib/Widgets/Map/areas/AreaPolygons.js +6 -1
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +5 -2
- package/lib/Widgets/Map/points/PointMarker.js +6 -21
- package/lib/Widgets/Map/points/PointMarkers.js +2 -2
- package/lib/assets/icons/index.js +0 -8
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +2 -2
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +1 -3
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +1 -3
- package/lib/components/Sector/Sector.test.js +11 -4
- package/lib/components/SevereEvent/SevereEvent.js +7 -5
- package/lib/hooks/useApiWithDashboardQuery.js +4 -2
- package/lib/hooks/useUserTimeZone.js +2 -2
- package/lib/i18n/en.json +26 -43
- package/lib/i18n/fr.json +2 -4
- package/lib/i18n/he.json +6 -23
- package/lib/i18n/it.json +2 -4
- package/lib/index.js +1 -8
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +3 -3
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +3 -3
- package/lib/pages/EventsPage/events/EventsStyle.scss +0 -5
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +19 -9
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +2 -2
- package/lib/pages/EventsPage/events/events_list/EventItem.js +19 -9
- package/lib/pages/EventsPage/events/events_list/EventsList.js +11 -22
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +1 -4
- package/lib/pages/EventsPage/events/events_list/Filter/FilterStyle.scss +1 -1
- package/lib/pages/ImportFileWizard/ValidationForm.js +12 -7
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +1 -5
- package/lib/pages/SamplingsPage/NewSamplingAction.js +3 -4
- package/lib/pages/SamplingsPage/SamplingActionDropdown.js +189 -0
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +17 -1
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +3 -10
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +12 -9
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +19 -26
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +10 -15
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +4 -14
- package/lib/pages/SamplingsPage/SamplingProperties/style.module.scss +1 -2
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +2 -4
- package/lib/pages/SamplingsPage/SamplingsPage.js +2 -4
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +5 -2
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +34 -77
- package/lib/pages/SamplingsPage/style.module.scss +1 -1
- package/lib/pages/SamplingsPage/table.styles.scss +6 -8
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +4 -5
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +3 -5
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +5 -21
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +5 -16
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +3 -3
- package/lib/pages/WbeDashboard/SummaryGraph.js +6 -15
- package/lib/store/areas/actions.js +2 -19
- package/lib/store/events/reducer.js +2 -4
- package/lib/store/permissions/permissionsSlice.js +1 -5
- package/lib/styles.scss +0 -7
- package/lib/ui-kit/Button/Button.test.js +11 -26
- package/lib/ui-kit/DropDown/DropDown.js +6 -12
- package/lib/ui-kit/DropDown/DropDown.test.js +41 -50
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +2 -9
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +3 -4
- package/lib/ui-kit/KandoTable/KandoTable.test.js +43 -46
- package/lib/utilities/i18n.js +1 -6
- package/lib/utilities/urls.js +5 -8
- package/package.json +2 -5
- package/lib/assets/icons/close-modal.svg +0 -8
- package/lib/components/DischargeHeatmap/mocks/handlers.js +0 -19
- package/lib/hooks/useUserTimeZone.test.js +0 -45
- package/lib/i18n/en_uk.json +0 -3760
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +0 -23
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +0 -43
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +0 -39
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +0 -172
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +0 -74
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +0 -48
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +0 -114
- package/lib/test/mocks/browser.js +0 -23
- package/lib/test/test-utils.js +0 -61
|
@@ -191,7 +191,6 @@ var NewSamplingAction = function NewSamplingAction(_ref) {
|
|
|
191
191
|
};
|
|
192
192
|
|
|
193
193
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
194
|
-
"data-test-id": "create-new-sampling",
|
|
195
194
|
className: _styleModule.default.newSamplingActionDropdown
|
|
196
195
|
}, /*#__PURE__*/_react.default.createElement(NewSamplingButton, null), isOpen && /*#__PURE__*/_react.default.createElement(MenuInputStyle, {
|
|
197
196
|
isOpen: isOpen
|
|
@@ -212,9 +211,9 @@ var NewSamplingAction = function NewSamplingAction(_ref) {
|
|
|
212
211
|
}, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, t('samplings_page.samplings_table_cols.sampling_date')), /*#__PURE__*/_react.default.createElement(_reactDatepicker.default, {
|
|
213
212
|
className: "".concat(_styleModule.default.dateInput, " ").concat((errors === null || errors === void 0 ? void 0 : (_errors$sampling = errors.sampling) === null || _errors$sampling === void 0 ? void 0 : _errors$sampling.date) && 'invalid'),
|
|
214
213
|
name: "sampling.date",
|
|
215
|
-
selected:
|
|
214
|
+
selected: new Date(),
|
|
216
215
|
onChange: function onChange(date) {
|
|
217
|
-
return setFieldValue('sampling.date', date
|
|
216
|
+
return setFieldValue('sampling.date', date);
|
|
218
217
|
},
|
|
219
218
|
calendarClassName: _styleModule.default.calendar,
|
|
220
219
|
dateFormat: userInfo.date_time_format === 'us' ? 'MMM d, yyyy' : 'd/MM/yyyy'
|
|
@@ -298,4 +297,4 @@ var MenuInputStyle = _styledComponents.default.div.attrs(function (props) {
|
|
|
298
297
|
|
|
299
298
|
var _default = NewSamplingAction;
|
|
300
299
|
exports.default = _default;
|
|
301
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL05ld1NhbXBsaW5nQWN0aW9uLnRzeCJdLCJuYW1lcyI6WyJOZXdTYW1wbGluZ0FjdGlvbiIsIndhdGVyQXV0aG9yaXR5SWQiLCJ0IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwic3RhdGUiLCJzYW1wbGluZ3NfZGF0YSIsInBlclBhZ2UiLCJkaXNwYXRjaCIsInVzZXJJbmZvIiwicGVybWlzc2lvbnMiLCJ1c2VyX2luZm8iLCJ3YXRlckF1dGhvcml0eVBvaW50c1VSTCIsInNhbXBsaW5nc1BhZ2UiLCJnZXRQb2ludHMiLCJ1cmwiLCJheGlvcyIsImdldCIsInJlc3BvbnNlIiwiZGF0YSIsInBvaW50cyIsInJlZmV0Y2hPbldpbmRvd0ZvY3VzIiwicmVmZXRjaCIsImNyZWF0ZVNhbXBsaW5nTXV0YXRpb24iLCJuZXdTYW1wbGluZ1ZhbHVlcyIsImRlZmF1bHRzIiwiaGVhZGVycyIsImNvbW1vbiIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNvbnRlbnQiLCJwdXQiLCJjcmVhdGVOZXdTYW1wbGluZyIsInRoZW4iLCJyZXMiLCJ0b2FzdCIsInN1Y2Nlc3MiLCJwb3NpdGlvbiIsImNhdGNoIiwiZSIsImVycm9yIiwib25TdWNjZXNzIiwiTmV3U2FtcGxpbmdWYWxpZGF0aW9uU2NoZW1hIiwiWXVwIiwib2JqZWN0Iiwic2hhcGUiLCJzYW1wbGluZyIsImRhdGUiLCJzdHJpbmciLCJyZXF1aXJlZCIsInBvaW50X2lkIiwidG9kYXkiLCJmb3JtYXQiLCJuZXdTaXRlSW5pdGlhbFZhbHVlcyIsInR5cGUiLCJoYW5kbGVOZXdTYW1wbGluZ1N1Ym1pdCIsInZhbHVlcyIsIm11dGF0ZSIsImhhbmRsZU9wZW5Qb3B1cEFuYWx5dGljcyIsIndhdGVyX2F1dGhvcml0eSIsIk5ld1NhbXBsaW5nQnV0dG9uIiwiaXNNb2JpbGUiLCJmYVBsdXMiLCJTdHlsZSIsIm5ld1NhbXBsZXJCdG5Nb2JpbGUiLCJuZXdTYW1wbGluZ0FjdGlvbkRyb3Bkb3duIiwiaGFuZGxlU3VibWl0IiwiaGFuZGxlQ2hhbmdlIiwiZXJyb3JzIiwic2V0RmllbGRWYWx1ZSIsImRhdGVJbnB1dCIsIkRhdGUiLCJ0b0RhdGVTdHJpbmciLCJjYWxlbmRhciIsImRhdGVfdGltZV9mb3JtYXQiLCJ2YWxpZGF0aW9uRXJyb3IiLCJzaXRlSW5wdXQiLCJpbnZhbGlkQm9yZGVycyIsIm9wdGlvbiIsInZhbHVlIiwibWFwIiwicHQiLCJwb2ludCIsImlkIiwibGFiZWwiLCJ0eXBlSW5wdXQiLCJidXR0b25zQ29udGFpbmVyIiwiYnV0dG9uQ3JlYXRlIiwidmFyaWFudCIsIlNFQ09OREFSWSIsIk5ld1NhbXBsaW5nVGl0bGUiLCJzdHlsZWQiLCJwIiwidGhlbWUiLCJmb250V2VpZ2h0IiwidzcwMCIsIk1lbnVJbnB1dFN0eWxlIiwiZGl2IiwiYXR0cnMiLCJwcm9wcyIsInpJbmRleGVzIiwibW9kYWwiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuMSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7QUE2QkEsSUFBTUEsaUJBQTZDLEdBQUcsU0FBaERBLGlCQUFnRCxPQUVoRDtBQUFBLE1BREpDLGdCQUNJLFFBREpBLGdCQUNJOztBQUNKLHdCQUFjLG1DQUFkO0FBQUEsTUFBUUMsQ0FBUixtQkFBUUEsQ0FBUjs7QUFDQSxrQkFBNEIscUJBQWtCLEtBQWxCLENBQTVCO0FBQUE7QUFBQSxNQUFPQyxNQUFQO0FBQUEsTUFBZUMsU0FBZjs7QUFFQSxxQkFBb0IsNkJBQ2xCLFVBQUNDLEtBQUQ7QUFBQSxXQUEwQ0EsS0FBSyxDQUFDQyxjQUFoRDtBQUFBLEdBRGtCLENBQXBCO0FBQUEsTUFBUUMsT0FBUixnQkFBUUEsT0FBUjs7QUFHQSxNQUFNQyxRQUFRLEdBQUcsOEJBQWpCO0FBQ0EsTUFBTUMsUUFBUSxHQUFHLDZCQUFZLFVBQUNKLEtBQUQ7QUFBQSxXQUFXQSxLQUFLLENBQUNLLFdBQU4sQ0FBa0JDLFNBQTdCO0FBQUEsR0FBWixDQUFqQjs7QUFFQSxrQkFBa0MsMEJBQ2hDLGlCQURnQyx1RkFFaEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ1FDLFlBQUFBLHVCQURSLEdBQ2tDLGdCQUFLO0FBQUVYLGNBQUFBLGdCQUFnQixFQUFoQkE7QUFBRixhQUFMLEVBQTJCWSxhQUEzQixDQUM3QkMsU0FENkIsQ0FDbkJDLEdBRmY7QUFBQTtBQUFBLG1CQUd5QkMsZUFBTUMsR0FBTixDQUNyQkwsdUJBRHFCLENBSHpCOztBQUFBO0FBR1FNLFlBQUFBLFFBSFI7QUFBQSw2Q0FNU0EsUUFBUSxDQUFDQyxJQUFULENBQWNBLElBQWQsQ0FBbUJDLE1BTjVCOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEdBRmdDLElBVWhDO0FBQ0VDLElBQUFBLG9CQUFvQixFQUFFO0FBRHhCLEdBVmdDLENBQWxDO0FBQUEsTUFBY0QsTUFBZCxhQUFRRCxJQUFSO0FBQUEsTUFBc0JHLE9BQXRCLGFBQXNCQSxPQUF0Qjs7QUFlQSxNQUFNQyxzQkFBc0IsR0FBRyw2QkFDN0IsVUFBQ0MsaUJBQUQsRUFBdUI7QUFDckI7QUFDQVIsbUJBQU1TLFFBQU4sQ0FBZUMsT0FBZixDQUF1QkMsTUFBdkIsQ0FBOEIsY0FBOUIsSUFDRUMsUUFBUSxDQUFDQyxhQUFULENBQXVCLG1CQUF2QixFQUE0Q0MsT0FEOUM7QUFFQWQsbUJBQU1TLFFBQU4sQ0FBZUMsT0FBZixDQUF1QkMsTUFBdkIsQ0FBOEIsY0FBOUIsSUFBZ0QsZ0JBQWhEO0FBQ0EsV0FBT1gsZUFDSmUsR0FESSxDQUVILGdCQUFLO0FBQUU5QixNQUFBQSxnQkFBZ0IsRUFBaEJBO0FBQUYsS0FBTCxFQUEyQlksYUFBM0IsQ0FBeUNtQixpQkFBekMsQ0FBMkRqQixHQUZ4RCxFQUdIUyxpQkFIRyxFQUtKUyxJQUxJLENBS0MsVUFBQ0MsR0FBRCxFQUFTO0FBQ2JDLDJCQUFNQyxPQUFOLENBQWNsQyxDQUFDLENBQUMsaUNBQUQsQ0FBZixFQUFvRDtBQUNsRG1DLFFBQUFBLFFBQVEsRUFBRTtBQUR3QyxPQUFwRDs7QUFHQWpDLE1BQUFBLFNBQVMsQ0FBQyxLQUFELENBQVQ7QUFDRCxLQVZJLEVBV0prQyxLQVhJLENBV0UsVUFBQ0MsQ0FBRCxFQUFPO0FBQ1pKLDJCQUFNSyxLQUFOLENBQVl0QyxDQUFDLENBQUMscUNBQUQsQ0FBYixFQUFzRDtBQUNwRG1DLFFBQUFBLFFBQVEsRUFBRTtBQUQwQyxPQUF0RDtBQUdELEtBZkksQ0FBUDtBQWdCRCxHQXRCNEIsRUF1QjdCO0FBQ0VJLElBQUFBLFNBQVMsRUFBRSxxQkFBTTtBQUNmO0FBQ0FqQyxNQUFBQSxRQUFRLENBQUMscUNBQWdCO0FBQUVELFFBQUFBLE9BQU8sRUFBRUEsT0FBTyxHQUFHO0FBQXJCLE9BQWhCLENBQUQsQ0FBUjtBQUNBQyxNQUFBQSxRQUFRLENBQUMscUNBQWdCO0FBQUVELFFBQUFBLE9BQU8sRUFBRUE7QUFBWCxPQUFoQixDQUFELENBQVIsQ0FIZSxDQUlmO0FBQ0E7QUFDRDtBQVBILEdBdkI2QixDQUEvQjtBQWtDQSx3QkFBVSxZQUFNO0FBQ2RlLElBQUFBLE9BQU87QUFDUGxCLElBQUFBLFNBQVMsQ0FBQyxLQUFELENBQVQ7QUFDRCxHQUhELEVBR0csQ0FBQ0gsZ0JBQUQsQ0FISDtBQUtBLE1BQU15QywyQkFBMkIsR0FBR0MsR0FBRyxDQUFDQyxNQUFKLEdBQWFDLEtBQWIsQ0FBbUI7QUFDckRDLElBQUFBLFFBQVEsRUFBRUgsR0FBRyxDQUFDQyxNQUFKLEdBQWFDLEtBQWIsQ0FBbUI7QUFDM0JFLE1BQUFBLElBQUksRUFBRUosR0FBRyxDQUFDSyxNQUFKLEdBQWFDLFFBQWIsQ0FBc0IvQyxDQUFDLENBQUMsOEJBQUQsQ0FBdkIsQ0FEcUI7QUFFM0JnRCxNQUFBQSxRQUFRLEVBQUVQLEdBQUcsQ0FBQ0ssTUFBSixHQUFhQyxRQUFiLENBQXNCL0MsQ0FBQyxDQUFDLDhCQUFELENBQXZCO0FBRmlCLEtBQW5CO0FBRDJDLEdBQW5CLENBQXBDO0FBT0EsTUFBTWlELEtBQUssR0FBRyx1QkFBU0MsTUFBVCxDQUFnQixZQUFoQixDQUFkO0FBRUEsTUFBTUMsb0JBQW1DLEdBQUc7QUFDMUNQLElBQUFBLFFBQVEsRUFBRTtBQUNSQyxNQUFBQSxJQUFJLEVBQUVJLEtBREU7QUFFUkQsTUFBQUEsUUFBUSxFQUFFLEVBRkY7QUFHUkksTUFBQUEsSUFBSSxFQUFFO0FBSEU7QUFEZ0MsR0FBNUM7O0FBUUEsTUFBTUMsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUEwQixDQUFDQyxNQUFELEVBQVk7QUFDMUNqQyxJQUFBQSxzQkFBc0IsQ0FBQ2tDLE1BQXZCLENBQThCRCxNQUE5QjtBQUNELEdBRkQ7O0FBSUEsTUFBTUUsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUEyQixHQUFNO0FBQ3JDLG1DQUFlLHlDQUFmLEVBQTBEO0FBQ3hEQyxNQUFBQSxlQUFlLEVBQUUxRDtBQUR1QyxLQUExRDtBQUdELEdBSkQ7O0FBTUEsTUFBTTJELGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsR0FBTTtBQUM5Qix3QkFDRSw0REFDRyxDQUFDQywyQkFBRCxpQkFDQyw2QkFBQyxtQkFBRDtBQUNFLE1BQUEsUUFBUSxFQUFFLG9CQUFNO0FBQ2RILFFBQUFBLHdCQUF3QjtBQUN4QnRELFFBQUFBLFNBQVMsQ0FBQyxDQUFDRCxNQUFGLENBQVQ7QUFDRCxPQUpIO0FBS0UsTUFBQSxRQUFRLEVBQUU7QUFMWixvQkFPRSw2QkFBQyxpQ0FBRDtBQUFpQixNQUFBLElBQUksRUFBRTJEO0FBQXZCLE1BUEYsQ0FGSixFQVlHRCw0Q0FDQztBQUNFLE1BQUEsU0FBUyxFQUFFRSxxQkFBTUMsbUJBRG5CO0FBRUUsTUFBQSxPQUFPLEVBQUU7QUFBQSxlQUFNNUQsU0FBUyxDQUFDLENBQUNELE1BQUYsQ0FBZjtBQUFBO0FBRlgsb0JBSUUsNkJBQUMsaUNBQUQ7QUFBaUIsTUFBQSxTQUFTLEVBQUU0RCxxQkFBTUQsTUFBbEM7QUFBMEMsTUFBQSxJQUFJLEVBQUVBO0FBQWhELE1BSkYsQ0FiSixDQURGO0FBdUJELEdBeEJEOztBQTBCQSxzQkFDRTtBQUNFLG9CQUFhLHFCQURmO0FBRUUsSUFBQSxTQUFTLEVBQUVDLHFCQUFNRTtBQUZuQixrQkFJRSw2QkFBQyxpQkFBRCxPQUpGLEVBS0c5RCxNQUFNLGlCQUNMLDZCQUFDLGNBQUQ7QUFBZ0IsSUFBQSxNQUFNLEVBQUVBO0FBQXhCLGtCQUNFLDZCQUFDLGdCQUFELFFBQ0dELENBQUMsQ0FBQyxpQ0FBRCxDQURKLENBREYsZUFJRSw2QkFBQyxjQUFEO0FBQ0UsSUFBQSxRQUFRLEVBQUVxRCx1QkFEWjtBQUVFLElBQUEsYUFBYSxFQUFFRixvQkFGakI7QUFHRSxJQUFBLGdCQUFnQixFQUFFWDtBQUhwQixLQUtHO0FBQUE7O0FBQUEsUUFDQ3dCLFlBREQsU0FDQ0EsWUFERDtBQUFBLFFBRUNDLFlBRkQsU0FFQ0EsWUFGRDtBQUFBLFFBR0NYLE1BSEQsU0FHQ0EsTUFIRDtBQUFBLFFBSUNZLE1BSkQsU0FJQ0EsTUFKRDtBQUFBLFFBS0NDLGFBTEQsU0FLQ0EsYUFMRDtBQUFBLHdCQU9DLDZCQUFDLG9CQUFEO0FBQU0sTUFBQSxRQUFRLEVBQUVIO0FBQWhCLG9CQUNFLDZCQUFDLG9CQUFELENBQU0sS0FBTixxQkFDRSw2QkFBQyxvQkFBRCxDQUFNLEtBQU4sUUFDR2hFLENBQUMsQ0FBQyxtREFBRCxDQURKLENBREYsZUFJRSw2QkFBQyx3QkFBRDtBQUNFLE1BQUEsU0FBUyxZQUFLNkQscUJBQU1PLFNBQVgsY0FDUCxDQUFBRixNQUFNLFNBQU4sSUFBQUEsTUFBTSxXQUFOLGdDQUFBQSxNQUFNLENBQUV0QixRQUFSLHNFQUFrQkMsSUFBbEIsS0FBMEIsU0FEbkIsQ0FEWDtBQUlFLE1BQUEsSUFBSSxFQUFDLGVBSlA7QUFLRSxNQUFBLFFBQVEsRUFDTFMsTUFBTSxDQUFDVixRQUFQLENBQWdCQyxJQUFoQixJQUNDLElBQUl3QixJQUFKLENBQVNmLE1BQU0sQ0FBQ1YsUUFBUCxDQUFnQkMsSUFBekIsQ0FERixJQUVBLElBQUl3QixJQUFKLEVBUko7QUFVRSxNQUFBLFFBQVEsRUFBRSxrQkFBQ3hCLElBQUQ7QUFBQSxlQUNSc0IsYUFBYSxDQUFDLGVBQUQsRUFBa0J0QixJQUFJLENBQUN5QixZQUFMLEVBQWxCLENBREw7QUFBQSxPQVZaO0FBYUUsTUFBQSxpQkFBaUIsRUFBRVQscUJBQU1VLFFBYjNCO0FBY0UsTUFBQSxVQUFVLEVBQ1JoRSxRQUFRLENBQUNpRSxnQkFBVCxLQUE4QixJQUE5QixHQUNJLGFBREosR0FFSTtBQWpCUixNQUpGLENBREYsRUEwQkcsQ0FBQU4sTUFBTSxTQUFOLElBQUFBLE1BQU0sV0FBTixpQ0FBQUEsTUFBTSxDQUFFdEIsUUFBUix3RUFBa0JDLElBQWxCLGlCQUNDO0FBQUssTUFBQSxTQUFTLEVBQUVnQixxQkFBTVk7QUFBdEIsT0FDR1AsTUFBTSxDQUFDdEIsUUFBUCxDQUFnQkMsSUFEbkIsQ0FERCxHQUlHLElBOUJOLGVBZ0NFLDZCQUFDLG9CQUFELENBQU0sS0FBTixRQUNHN0MsQ0FBQyxDQUFDLDBDQUFELENBREosZUFFRTtBQUFNLE1BQUEsU0FBUyxFQUFFNkQscUJBQU1kO0FBQXZCLFdBRkYsQ0FoQ0YsZUFvQ0UsNkJBQUMsb0JBQUQ7QUFDRSxNQUFBLFdBQVcsRUFBRS9DLENBQUMsQ0FBQyxpQ0FBRCxDQURoQjtBQUVFLE1BQUEsU0FBUyxZQUFLNkQscUJBQU1hLFNBQVgsY0FDUCxDQUFBUixNQUFNLFNBQU4sSUFBQUEsTUFBTSxXQUFOLGlDQUFBQSxNQUFNLENBQUV0QixRQUFSLHdFQUFrQkksUUFBbEIsS0FBOEJhLHFCQUFNYyxjQUQ3QixDQUZYO0FBS0UsTUFBQSxJQUFJLEVBQUMsbUJBTFA7QUFNRSxNQUFBLFFBQVEsRUFBRSxrQkFBQ0MsTUFBRCxFQUFpQjtBQUN6QlQsUUFBQUEsYUFBYSxDQUFDLG1CQUFELEVBQXNCUyxNQUFNLENBQUNDLEtBQTdCLENBQWI7QUFDRCxPQVJIO0FBU0UsTUFBQSxZQUFZLEVBQUUsSUFUaEI7QUFVRSxNQUFBLGVBQWUsRUFBRSxrQkFWbkI7QUFXRSxNQUFBLE9BQU8sRUFBRTNELE1BQUYsYUFBRUEsTUFBRix1QkFBRUEsTUFBTSxDQUFFNEQsR0FBUixDQUFZLFVBQUNDLEVBQUQ7QUFBQSxlQUFxQjtBQUN4Q0YsVUFBQUEsS0FBSyxFQUFFRSxFQUFFLENBQUNDLEtBQUgsQ0FBU0MsRUFEd0I7QUFFeENDLFVBQUFBLEtBQUssRUFBRUgsRUFBRSxDQUFDQyxLQUFILENBQVNFO0FBRndCLFNBQXJCO0FBQUEsT0FBWjtBQVhYLE1BcENGLEVBb0RHLENBQUFoQixNQUFNLFNBQU4sSUFBQUEsTUFBTSxXQUFOLGlDQUFBQSxNQUFNLENBQUV0QixRQUFSLHdFQUFrQkksUUFBbEIsa0JBQ0M7QUFBSyxNQUFBLFNBQVMsRUFBRWEscUJBQU1ZO0FBQXRCLE9BQ0dQLE1BQU0sQ0FBQ3RCLFFBQVAsQ0FBZ0JJLFFBRG5CLENBckRKLGVBMERFLDZCQUFDLGtCQUFEO0FBQ0UsTUFBQSxTQUFTLFlBQUthLHFCQUFNc0IsU0FBWCxjQUNQLENBQUFqQixNQUFNLFNBQU4sSUFBQUEsTUFBTSxXQUFOLGlDQUFBQSxNQUFNLENBQUV0QixRQUFSLHdFQUFrQlEsSUFBbEIsS0FBMEJTLHFCQUFNYyxjQUR6QixDQURYO0FBSUUsTUFBQSxVQUFVLEVBQUUzRSxDQUFDLENBQUMseUJBQUQsQ0FKZjtBQUtFLE1BQUEsS0FBSyxFQUFFc0QsTUFBTSxDQUFDVixRQUFQLENBQWdCUSxJQUx6QjtBQU1FLE1BQUEsSUFBSSxFQUFDLGVBTlA7QUFPRSxNQUFBLFlBQVksRUFBRWEsWUFQaEI7QUFRRSxNQUFBLElBQUksRUFBQyxRQVJQO0FBU0UsTUFBQSxTQUFTLEVBQUU7QUFUYixvQkFXRTtBQUNFLE1BQUEsR0FBRyxFQUFDLE9BRE47QUFFRSxNQUFBLEtBQUssRUFBQyxxQkFGUjtBQUdFLE1BQUEsUUFBUSxFQUFFO0FBSFosT0FLR2pFLENBQUMsQ0FBQyx5Q0FBRCxDQUxKLENBWEYsZUFrQkU7QUFBUSxNQUFBLEdBQUcsRUFBQyxTQUFaO0FBQXNCLE1BQUEsS0FBSyxFQUFDO0FBQTVCLE9BQ0dBLENBQUMsQ0FBQywyQ0FBRCxDQURKLENBbEJGLGVBcUJFO0FBQVEsTUFBQSxHQUFHLEVBQUMsTUFBWjtBQUFtQixNQUFBLEtBQUssRUFBQztBQUF6QixPQUNHQSxDQUFDLENBQUMsd0NBQUQsQ0FESixDQXJCRixDQTFERixlQW9GRTtBQUFLLE1BQUEsU0FBUyxFQUFFNkQscUJBQU11QjtBQUF0QixvQkFDRSw2QkFBQyxhQUFEO0FBQVEsTUFBQSxPQUFPLEVBQUU7QUFBQSxlQUFNbEYsU0FBUyxDQUFDLEtBQUQsQ0FBZjtBQUFBLE9BQWpCO0FBQXlDLE1BQUEsT0FBTyxFQUFDO0FBQWpELE9BQ0dGLENBQUMsQ0FBQyxPQUFELENBREosQ0FERixlQUlFLDZCQUFDLGFBQUQ7QUFDRSxNQUFBLFNBQVMsRUFBRTZELHFCQUFNd0IsWUFEbkI7QUFFRSxNQUFBLE9BQU8sRUFBRSxJQUZYO0FBR0UsTUFBQSxPQUFPLEVBQUVDLGVBQVFDLFNBSG5CO0FBSUUsTUFBQSxJQUFJLEVBQUM7QUFKUCxPQU1HdkYsQ0FBQyxDQUFDLDhCQUFELENBTkosQ0FKRixDQXBGRixDQVBEO0FBQUEsR0FMSCxDQUpGLENBTkosQ0FERjtBQStIRCxDQXRQRDs7QUF3UEEsSUFBTXdGLGdCQUFnQixHQUFHQywwQkFBT0MsQ0FBVjtBQUFBO0FBQUE7QUFBQSwwQkFDTDtBQUFBLE1BQUdDLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsVUFBTixDQUFpQkMsSUFBaEM7QUFBQSxDQURLLENBQXRCOztBQUlBLElBQU1DLGNBQWMsR0FBR0wsMEJBQU9NLEdBQVAsQ0FBV0MsS0FBWCxDQUFpQixVQUFDQyxLQUFEO0FBQUEsU0FBNEI7QUFDbEVoRyxJQUFBQSxNQUFNLEVBQUVnRyxLQUFLLENBQUNoRztBQURvRCxHQUE1QjtBQUFBLENBQWpCLENBQUg7QUFBQTtBQUFBO0FBQUEsb2dCQU9QO0FBQUEsTUFBRzBGLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ08sUUFBTixDQUFlQyxLQUE5QjtBQUFBLENBUE8sRUFVRTtBQUFBLE1BQUdSLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ1MsV0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDLEVBQXpDO0FBQUEsQ0FWRixDQUFwQjs7ZUFrRGV4RyxpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmFQbHVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IEZvcm1payB9IGZyb20gJ2Zvcm1payc7XG5pbXBvcnQgKiBhcyBZdXAgZnJvbSAneXVwJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyB1c2VRdWVyeSwgdXNlTXV0YXRpb24gfSBmcm9tICdyZWFjdC1xdWVyeSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IFNlbGVjdCBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IERhdGVQaWNrZXIgZnJvbSAncmVhY3QtZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgQnV0dG9uLCBNb2JpbGVJbnB1dCwgdmFyaWFudCB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IFN0eWxlIGZyb20gJy4vc3R5bGUubW9kdWxlLnNjc3MnO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IHNldFNhbXBsaW5nRGF0YSB9IGZyb20gJ3NyYy9zdG9yZS9zYW1wbGluZ3MvYWN0aW9uc0NyZWF0b3InO1xuaW1wb3J0IEljb25BY3Rpb24gZnJvbSAnLi4vLi4vdWkta2l0L0ljb25BY3Rpb24vSWNvbkFjdGlvbic7XG5cbmludGVyZmFjZSBOZXdTaXRlSW5wdXRzIHtcbiAgc2FtcGxpbmc6IHtcbiAgICBkYXRlOiBzdHJpbmc7XG4gICAgcG9pbnRfaWQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gIH07XG59XG5cbmludGVyZmFjZSBQb2ludFByb3BzIHtcbiAgcG9pbnQ6IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH07XG59XG50eXBlIEdldFBvaW50c1Jlc3BvbnNlID0ge1xuICBkYXRhOiB7XG4gICAgcG9pbnRzOiBQb2ludFByb3BzW107XG4gIH07XG59O1xuaW50ZXJmYWNlIE1lbnVJbnB1dFByb3BzIHtcbiAgaXNPcGVuOiBib29sZWFuO1xufVxuXG50eXBlIE5ld1NhbXBsaW5nQWN0aW9uUHJvcHMgPSB7XG4gIHdhdGVyQXV0aG9yaXR5SWQ6IG51bWJlcjtcbn07XG5cbmNvbnN0IE5ld1NhbXBsaW5nQWN0aW9uOiBGQzxOZXdTYW1wbGluZ0FjdGlvblByb3BzPiA9ICh7XG4gIHdhdGVyQXV0aG9yaXR5SWQsXG59KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdCB7IHBlclBhZ2UgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLnNhbXBsaW5nc19kYXRhLFxuICApO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHVzZXJJbmZvID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy51c2VyX2luZm8pO1xuXG4gIGNvbnN0IHsgZGF0YTogcG9pbnRzLCByZWZldGNoIH0gPSB1c2VRdWVyeShcbiAgICAnc2VsZWN0b3JfcG9pbnRzJyxcbiAgICBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB3YXRlckF1dGhvcml0eVBvaW50c1VSTCA9IHVybHMoeyB3YXRlckF1dGhvcml0eUlkIH0pLnNhbXBsaW5nc1BhZ2VcbiAgICAgICAgLmdldFBvaW50cy51cmw7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLmdldDxHZXRQb2ludHNSZXNwb25zZT4oXG4gICAgICAgIHdhdGVyQXV0aG9yaXR5UG9pbnRzVVJMLFxuICAgICAgKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGEucG9pbnRzO1xuICAgIH0sXG4gICAge1xuICAgICAgcmVmZXRjaE9uV2luZG93Rm9jdXM6IGZhbHNlLFxuICAgIH0sXG4gICk7XG5cbiAgY29uc3QgY3JlYXRlU2FtcGxpbmdNdXRhdGlvbiA9IHVzZU11dGF0aW9uKFxuICAgIChuZXdTYW1wbGluZ1ZhbHVlcykgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ1gtQ1NSRi1UT0tFTiddID1cbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW25hbWU9Y3NyZi10b2tlbl0nKS5jb250ZW50O1xuICAgICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzJztcbiAgICAgIHJldHVybiBheGlvc1xuICAgICAgICAucHV0KFxuICAgICAgICAgIHVybHMoeyB3YXRlckF1dGhvcml0eUlkIH0pLnNhbXBsaW5nc1BhZ2UuY3JlYXRlTmV3U2FtcGxpbmcudXJsLFxuICAgICAgICAgIG5ld1NhbXBsaW5nVmFsdWVzLFxuICAgICAgICApXG4gICAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICB0b2FzdC5zdWNjZXNzKHQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nX2NyZWF0ZWQnKSwge1xuICAgICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICB0b2FzdC5lcnJvcih0KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19ub3RfY3JlYXRlZCcpLCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ3RvcC1jZW50ZXInLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9LFxuICAgIHtcbiAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgICAvLyBSZWZyZXNoIHRoZSBzYW1wbGluZ3MgaGFja1xuICAgICAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBwZXJQYWdlOiBwZXJQYWdlIC0gMSB9KSk7XG4gICAgICAgIGRpc3BhdGNoKHNldFNhbXBsaW5nRGF0YSh7IHBlclBhZ2U6IHBlclBhZ2UgfSkpO1xuICAgICAgICAvLyBUT0RPOiByZW1vdmUgdGhlIGFib3ZlIHJlZnJlc2ggaGFjayBhbmQgcmVwbGFjZSB3aXRoIHRoZSBmb2xsb3dpbmcgLSBjaGVjayBLU0QtMjkyMlxuICAgICAgICAvLyBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcygndGhlX3NhbXBsaW5nc19saXN0Jyk7XG4gICAgICB9LFxuICAgIH0sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZWZldGNoKCk7XG4gICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgfSwgW3dhdGVyQXV0aG9yaXR5SWRdKTtcblxuICBjb25zdCBOZXdTYW1wbGluZ1ZhbGlkYXRpb25TY2hlbWEgPSBZdXAub2JqZWN0KCkuc2hhcGUoe1xuICAgIHNhbXBsaW5nOiBZdXAub2JqZWN0KCkuc2hhcGUoe1xuICAgICAgZGF0ZTogWXVwLnN0cmluZygpLnJlcXVpcmVkKHQoJ3NhbXBsaW5nc19wYWdlLmRhdGVfcmVxdWlyZWQnKSksXG4gICAgICBwb2ludF9pZDogWXVwLnN0cmluZygpLnJlcXVpcmVkKHQoJ3NhbXBsaW5nc19wYWdlLnNpdGVfcmVxdWlyZWQnKSksXG4gICAgfSksXG4gIH0pO1xuXG4gIGNvbnN0IHRvZGF5ID0gbW9tZW50KCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG5cbiAgY29uc3QgbmV3U2l0ZUluaXRpYWxWYWx1ZXM6IE5ld1NpdGVJbnB1dHMgPSB7XG4gICAgc2FtcGxpbmc6IHtcbiAgICAgIGRhdGU6IHRvZGF5LFxuICAgICAgcG9pbnRfaWQ6ICcnLFxuICAgICAgdHlwZTogJ3NhbXBsaW5nX3R5cGVfcmFwaWQnLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgaGFuZGxlTmV3U2FtcGxpbmdTdWJtaXQgPSAodmFsdWVzKSA9PiB7XG4gICAgY3JlYXRlU2FtcGxpbmdNdXRhdGlvbi5tdXRhdGUodmFsdWVzKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVPcGVuUG9wdXBBbmFseXRpY3MgPSAoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1NhbXBsaW5nIE9wZXJhdGlvbiBOZXcgU2FtcGxpbmcgQ2xpY2tlZCcsIHtcbiAgICAgIHdhdGVyX2F1dGhvcml0eTogd2F0ZXJBdXRob3JpdHlJZCxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBOZXdTYW1wbGluZ0J1dHRvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc01vYmlsZSAmJiAoXG4gICAgICAgICAgPEljb25BY3Rpb25cbiAgICAgICAgICAgIGNhbGxiYWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGhhbmRsZU9wZW5Qb3B1cEFuYWx5dGljcygpO1xuICAgICAgICAgICAgICBzZXRJc09wZW4oIWlzT3Blbik7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdGV4dF9rZXk9eydzYW1wbGluZ3NfcGFnZS5uZXdfYnV0dG9uJ31cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhUGx1c30gLz5cbiAgICAgICAgICA8L0ljb25BY3Rpb24+XG4gICAgICAgICl9XG4gICAgICAgIHtpc01vYmlsZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5uZXdTYW1wbGVyQnRuTW9iaWxlfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKCFpc09wZW4pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gY2xhc3NOYW1lPXtTdHlsZS5mYVBsdXN9IGljb249e2ZhUGx1c30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3QtaWQ9XCJjcmVhdGUtbmV3LXNhbXBsaW5nXCJcbiAgICAgIGNsYXNzTmFtZT17U3R5bGUubmV3U2FtcGxpbmdBY3Rpb25Ecm9wZG93bn1cbiAgICA+XG4gICAgICA8TmV3U2FtcGxpbmdCdXR0b24gLz5cbiAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICA8TWVudUlucHV0U3R5bGUgaXNPcGVuPXtpc09wZW59PlxuICAgICAgICAgIDxOZXdTYW1wbGluZ1RpdGxlPlxuICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLmFkZF9uZXdfc2FtcGxpbmcnKX1cbiAgICAgICAgICA8L05ld1NhbXBsaW5nVGl0bGU+XG4gICAgICAgICAgPEZvcm1pa1xuICAgICAgICAgICAgb25TdWJtaXQ9e2hhbmRsZU5ld1NhbXBsaW5nU3VibWl0fVxuICAgICAgICAgICAgaW5pdGlhbFZhbHVlcz17bmV3U2l0ZUluaXRpYWxWYWx1ZXN9XG4gICAgICAgICAgICB2YWxpZGF0aW9uU2NoZW1hPXtOZXdTYW1wbGluZ1ZhbGlkYXRpb25TY2hlbWF9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgIGhhbmRsZVN1Ym1pdCxcbiAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlLFxuICAgICAgICAgICAgICB2YWx1ZXMsXG4gICAgICAgICAgICAgIGVycm9ycyxcbiAgICAgICAgICAgICAgc2V0RmllbGRWYWx1ZSxcbiAgICAgICAgICAgIH0pID0+IChcbiAgICAgICAgICAgICAgPEZvcm0gb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdH0+XG4gICAgICAgICAgICAgICAgPEZvcm0uR3JvdXA+XG4gICAgICAgICAgICAgICAgICA8Rm9ybS5MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnNhbXBsaW5nX2RhdGUnKX1cbiAgICAgICAgICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxEYXRlUGlja2VyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGUuZGF0ZUlucHV0fSAke1xuICAgICAgICAgICAgICAgICAgICAgIGVycm9ycz8uc2FtcGxpbmc/LmRhdGUgJiYgJ2ludmFsaWQnXG4gICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwic2FtcGxpbmcuZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXtcbiAgICAgICAgICAgICAgICAgICAgICAodmFsdWVzLnNhbXBsaW5nLmRhdGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKHZhbHVlcy5zYW1wbGluZy5kYXRlKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhkYXRlKSA9PlxuICAgICAgICAgICAgICAgICAgICAgIHNldEZpZWxkVmFsdWUoJ3NhbXBsaW5nLmRhdGUnLCBkYXRlLnRvRGF0ZVN0cmluZygpKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNhbGVuZGFyQ2xhc3NOYW1lPXtTdHlsZS5jYWxlbmRhcn1cbiAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17XG4gICAgICAgICAgICAgICAgICAgICAgdXNlckluZm8uZGF0ZV90aW1lX2Zvcm1hdCA9PT0gJ3VzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyAnTU1NIGQsIHl5eXknXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdkL01NL3l5eXknXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgICAgICAgICAgIHtlcnJvcnM/LnNhbXBsaW5nPy5kYXRlID8gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnZhbGlkYXRpb25FcnJvcn0+XG4gICAgICAgICAgICAgICAgICAgIHtlcnJvcnMuc2FtcGxpbmcuZGF0ZX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgICAgICAgPEZvcm0uTGFiZWw+XG4gICAgICAgICAgICAgICAgICB7dCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMuc2l0ZScpfVxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtTdHlsZS5yZXF1aXJlZH0+Kjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3QoJ3NhbXBsaW5nc19wYWdlLnNpdGVfcGxhY2Vob2xkZXInKX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGUuc2l0ZUlucHV0fSAke1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnM/LnNhbXBsaW5nPy5wb2ludF9pZCAmJiBTdHlsZS5pbnZhbGlkQm9yZGVyc1xuICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICBuYW1lPVwic2FtcGxpbmcucG9pbnRfaWRcIlxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcHRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRGaWVsZFZhbHVlKCdzYW1wbGluZy5wb2ludF9pZCcsIG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgaXNTZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsnZGFzaGJvYXJkLXNlbGVjdCd9XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXtwb2ludHM/Lm1hcCgocHQ6IFBvaW50UHJvcHMpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwdC5wb2ludC5pZCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHB0LnBvaW50LmxhYmVsLFxuICAgICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge2Vycm9ycz8uc2FtcGxpbmc/LnBvaW50X2lkICYmIChcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS52YWxpZGF0aW9uRXJyb3J9PlxuICAgICAgICAgICAgICAgICAgICB7ZXJyb3JzLnNhbXBsaW5nLnBvaW50X2lkfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZS50eXBlSW5wdXR9ICR7XG4gICAgICAgICAgICAgICAgICAgIGVycm9ycz8uc2FtcGxpbmc/LnR5cGUgJiYgU3R5bGUuaW52YWxpZEJvcmRlcnNcbiAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgaW5wdXRUaXRsZT17dCgnbGFiX3Jlc3VsdHNfc2NyZWVuLnR5cGUnKX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZXMuc2FtcGxpbmcudHlwZX1cbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJzYW1wbGluZy50eXBlXCJcbiAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgdHlwZT1cInNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICBtYW5kYXRvcnk9e3RydWV9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAgICAgICBrZXk9XCJyYXBpZFwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwic2FtcGxpbmdfdHlwZV9yYXBpZFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dCgnc2FtcGxpbmdfdHlwZXNfbWluaS5zYW1wbGluZ190eXBlX3JhcGlkJyl9XG4gICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb24ga2V5PVwiY29tcGxleFwiIHZhbHVlPVwic2FtcGxpbmdfdHlwZV9jb21wbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdzYW1wbGluZ190eXBlc19taW5pLnNhbXBsaW5nX3R5cGVfY29tcGxleCcpfVxuICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIGtleT1cImJvdGhcIiB2YWx1ZT1cInNhbXBsaW5nX3R5cGVfYm90aFwiPlxuICAgICAgICAgICAgICAgICAgICB7dCgnc2FtcGxpbmdfdHlwZXNfbWluaS5zYW1wbGluZ190eXBlX2JvdGgnKX1cbiAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvTW9iaWxlSW5wdXQ+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuYnV0dG9uc0NvbnRhaW5lcn0+XG4gICAgICAgICAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldElzT3BlbihmYWxzZSl9IHZhcmlhbnQ9XCJjbG9zZVwiPlxuICAgICAgICAgICAgICAgICAgICB7dCgnY2xvc2UnKX1cbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlLmJ1dHRvbkNyZWF0ZX1cbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17dmFyaWFudC5TRUNPTkRBUll9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dCgnc2FtcGxpbmdzX3BhZ2UuY3JlYXRlX2J1dHRvbicpfVxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvRm9ybT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtaWs+XG4gICAgICAgIDwvTWVudUlucHV0U3R5bGU+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgTmV3U2FtcGxpbmdUaXRsZSA9IHN0eWxlZC5wYFxuICBmb250LXdlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250V2VpZ2h0Lnc3MDB9O1xuYDtcblxuY29uc3QgTWVudUlucHV0U3R5bGUgPSBzdHlsZWQuZGl2LmF0dHJzKChwcm9wczogTWVudUlucHV0UHJvcHMpID0+ICh7XG4gIGlzT3BlbjogcHJvcHMuaXNPcGVuLFxufSkpYFxuICBwYWRkaW5nOiAzM3B4IDI4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE2cHg7XG4gIHRvcDogMTQwcHg7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgd2lkdGg6IDM5MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTZhY2I5O1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggI2UzZTNlMztcblxuICAucnRsICYge1xuICAgIHJpZ2h0OiB1bnNldDtcbiAgICBsZWZ0OiAxNnB4O1xuICB9XG5cbiAgKiB7XG4gICAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICB9XG5cbiAgYW5pbWF0aW9uOiB0cmFuc2l0aW9uLWluIDQ0NG1zLCBmYWRlLWluIDQ0NG1zO1xuICBAa2V5ZnJhbWVzIHRyYW5zaXRpb24taW4ge1xuICAgIGZyb20ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMHB4KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgfVxuICBAa2V5ZnJhbWVzIGZhZGUtaW4ge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAvKiBVc2UgNDgwcHggYXMgbW9iaWxlJ3MgbWF4LXdpZHRoICovXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBOZXdTYW1wbGluZ0FjdGlvbjtcbiJdfQ==
|
|
300
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL05ld1NhbXBsaW5nQWN0aW9uLnRzeCJdLCJuYW1lcyI6WyJOZXdTYW1wbGluZ0FjdGlvbiIsIndhdGVyQXV0aG9yaXR5SWQiLCJ0IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwic3RhdGUiLCJzYW1wbGluZ3NfZGF0YSIsInBlclBhZ2UiLCJkaXNwYXRjaCIsInVzZXJJbmZvIiwicGVybWlzc2lvbnMiLCJ1c2VyX2luZm8iLCJ3YXRlckF1dGhvcml0eVBvaW50c1VSTCIsInNhbXBsaW5nc1BhZ2UiLCJnZXRQb2ludHMiLCJ1cmwiLCJheGlvcyIsImdldCIsInJlc3BvbnNlIiwiZGF0YSIsInBvaW50cyIsInJlZmV0Y2hPbldpbmRvd0ZvY3VzIiwicmVmZXRjaCIsImNyZWF0ZVNhbXBsaW5nTXV0YXRpb24iLCJuZXdTYW1wbGluZ1ZhbHVlcyIsImRlZmF1bHRzIiwiaGVhZGVycyIsImNvbW1vbiIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNvbnRlbnQiLCJwdXQiLCJjcmVhdGVOZXdTYW1wbGluZyIsInRoZW4iLCJyZXMiLCJ0b2FzdCIsInN1Y2Nlc3MiLCJwb3NpdGlvbiIsImNhdGNoIiwiZSIsImVycm9yIiwib25TdWNjZXNzIiwiTmV3U2FtcGxpbmdWYWxpZGF0aW9uU2NoZW1hIiwiWXVwIiwib2JqZWN0Iiwic2hhcGUiLCJzYW1wbGluZyIsImRhdGUiLCJzdHJpbmciLCJyZXF1aXJlZCIsInBvaW50X2lkIiwidG9kYXkiLCJmb3JtYXQiLCJuZXdTaXRlSW5pdGlhbFZhbHVlcyIsInR5cGUiLCJoYW5kbGVOZXdTYW1wbGluZ1N1Ym1pdCIsInZhbHVlcyIsIm11dGF0ZSIsImhhbmRsZU9wZW5Qb3B1cEFuYWx5dGljcyIsIndhdGVyX2F1dGhvcml0eSIsIk5ld1NhbXBsaW5nQnV0dG9uIiwiaXNNb2JpbGUiLCJmYVBsdXMiLCJTdHlsZSIsIm5ld1NhbXBsZXJCdG5Nb2JpbGUiLCJuZXdTYW1wbGluZ0FjdGlvbkRyb3Bkb3duIiwiaGFuZGxlU3VibWl0IiwiaGFuZGxlQ2hhbmdlIiwiZXJyb3JzIiwic2V0RmllbGRWYWx1ZSIsImRhdGVJbnB1dCIsIkRhdGUiLCJjYWxlbmRhciIsImRhdGVfdGltZV9mb3JtYXQiLCJ2YWxpZGF0aW9uRXJyb3IiLCJzaXRlSW5wdXQiLCJpbnZhbGlkQm9yZGVycyIsIm9wdGlvbiIsInZhbHVlIiwibWFwIiwicHQiLCJwb2ludCIsImlkIiwibGFiZWwiLCJ0eXBlSW5wdXQiLCJidXR0b25zQ29udGFpbmVyIiwiYnV0dG9uQ3JlYXRlIiwidmFyaWFudCIsIlNFQ09OREFSWSIsIk5ld1NhbXBsaW5nVGl0bGUiLCJzdHlsZWQiLCJwIiwidGhlbWUiLCJmb250V2VpZ2h0IiwidzcwMCIsIk1lbnVJbnB1dFN0eWxlIiwiZGl2IiwiYXR0cnMiLCJwcm9wcyIsInpJbmRleGVzIiwibW9kYWwiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuMSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7QUE2QkEsSUFBTUEsaUJBQTZDLEdBQUcsU0FBaERBLGlCQUFnRCxPQUVoRDtBQUFBLE1BREpDLGdCQUNJLFFBREpBLGdCQUNJOztBQUNKLHdCQUFjLG1DQUFkO0FBQUEsTUFBUUMsQ0FBUixtQkFBUUEsQ0FBUjs7QUFDQSxrQkFBNEIscUJBQWtCLEtBQWxCLENBQTVCO0FBQUE7QUFBQSxNQUFPQyxNQUFQO0FBQUEsTUFBZUMsU0FBZjs7QUFFQSxxQkFBb0IsNkJBQ2xCLFVBQUNDLEtBQUQ7QUFBQSxXQUEwQ0EsS0FBSyxDQUFDQyxjQUFoRDtBQUFBLEdBRGtCLENBQXBCO0FBQUEsTUFBUUMsT0FBUixnQkFBUUEsT0FBUjs7QUFHQSxNQUFN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Q0FWRixDQUFwQjs7ZUFrRGV2RyxpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmFQbHVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IEZvcm1payB9IGZyb20gJ2Zvcm1payc7XG5pbXBvcnQgKiBhcyBZdXAgZnJvbSAneXVwJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyB1c2VRdWVyeSwgdXNlTXV0YXRpb24gfSBmcm9tICdyZWFjdC1xdWVyeSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IFNlbGVjdCBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IERhdGVQaWNrZXIgZnJvbSAncmVhY3QtZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgQnV0dG9uLCBNb2JpbGVJbnB1dCwgdmFyaWFudCB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IFN0eWxlIGZyb20gJy4vc3R5bGUubW9kdWxlLnNjc3MnO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IHNldFNhbXBsaW5nRGF0YSB9IGZyb20gJ3NyYy9zdG9yZS9zYW1wbGluZ3MvYWN0aW9uc0NyZWF0b3InO1xuaW1wb3J0IEljb25BY3Rpb24gZnJvbSAnLi4vLi4vdWkta2l0L0ljb25BY3Rpb24vSWNvbkFjdGlvbic7XG5cbmludGVyZmFjZSBOZXdTaXRlSW5wdXRzIHtcbiAgc2FtcGxpbmc6IHtcbiAgICBkYXRlOiBzdHJpbmc7XG4gICAgcG9pbnRfaWQ6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gIH07XG59XG5cbmludGVyZmFjZSBQb2ludFByb3BzIHtcbiAgcG9pbnQ6IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH07XG59XG50eXBlIEdldFBvaW50c1Jlc3BvbnNlID0ge1xuICBkYXRhOiB7XG4gICAgcG9pbnRzOiBQb2ludFByb3BzW107XG4gIH07XG59O1xuaW50ZXJmYWNlIE1lbnVJbnB1dFByb3BzIHtcbiAgaXNPcGVuOiBib29sZWFuO1xufVxuXG50eXBlIE5ld1NhbXBsaW5nQWN0aW9uUHJvcHMgPSB7XG4gIHdhdGVyQXV0aG9yaXR5SWQ6IG51bWJlcjtcbn07XG5cbmNvbnN0IE5ld1NhbXBsaW5nQWN0aW9uOiBGQzxOZXdTYW1wbGluZ0FjdGlvblByb3BzPiA9ICh7XG4gIHdhdGVyQXV0aG9yaXR5SWQsXG59KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdCB7IHBlclBhZ2UgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLnNhbXBsaW5nc19kYXRhLFxuICApO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHVzZXJJbmZvID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy51c2VyX2luZm8pO1xuXG4gIGNvbnN0IHsgZGF0YTogcG9pbnRzLCByZWZldGNoIH0gPSB1c2VRdWVyeShcbiAgICAnc2VsZWN0b3JfcG9pbnRzJyxcbiAgICBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB3YXRlckF1dGhvcml0eVBvaW50c1VSTCA9IHVybHMoeyB3YXRlckF1dGhvcml0eUlkIH0pLnNhbXBsaW5nc1BhZ2VcbiAgICAgICAgLmdldFBvaW50cy51cmw7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLmdldDxHZXRQb2ludHNSZXNwb25zZT4oXG4gICAgICAgIHdhdGVyQXV0aG9yaXR5UG9pbnRzVVJMLFxuICAgICAgKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGEucG9pbnRzO1xuICAgIH0sXG4gICAge1xuICAgICAgcmVmZXRjaE9uV2luZG93Rm9jdXM6IGZhbHNlLFxuICAgIH0sXG4gICk7XG5cbiAgY29uc3QgY3JlYXRlU2FtcGxpbmdNdXRhdGlvbiA9IHVzZU11dGF0aW9uKFxuICAgIChuZXdTYW1wbGluZ1ZhbHVlcykgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ1gtQ1NSRi1UT0tFTiddID1cbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW25hbWU9Y3NyZi10b2tlbl0nKS5jb250ZW50O1xuICAgICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzJztcbiAgICAgIHJldHVybiBheGlvc1xuICAgICAgICAucHV0KFxuICAgICAgICAgIHVybHMoeyB3YXRlckF1dGhvcml0eUlkIH0pLnNhbXBsaW5nc1BhZ2UuY3JlYXRlTmV3U2FtcGxpbmcudXJsLFxuICAgICAgICAgIG5ld1NhbXBsaW5nVmFsdWVzLFxuICAgICAgICApXG4gICAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgICB0b2FzdC5zdWNjZXNzKHQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nX2NyZWF0ZWQnKSwge1xuICAgICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICB0b2FzdC5lcnJvcih0KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19ub3RfY3JlYXRlZCcpLCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ3RvcC1jZW50ZXInLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9LFxuICAgIHtcbiAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgICAvLyBSZWZyZXNoIHRoZSBzYW1wbGluZ3MgaGFja1xuICAgICAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBwZXJQYWdlOiBwZXJQYWdlIC0gMSB9KSk7XG4gICAgICAgIGRpc3BhdGNoKHNldFNhbXBsaW5nRGF0YSh7IHBlclBhZ2U6IHBlclBhZ2UgfSkpO1xuICAgICAgICAvLyBUT0RPOiByZW1vdmUgdGhlIGFib3ZlIHJlZnJlc2ggaGFjayBhbmQgcmVwbGFjZSB3aXRoIHRoZSBmb2xsb3dpbmcgLSBjaGVjayBLU0QtMjkyMlxuICAgICAgICAvLyBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcygndGhlX3NhbXBsaW5nc19saXN0Jyk7XG4gICAgICB9LFxuICAgIH0sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZWZldGNoKCk7XG4gICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgfSwgW3dhdGVyQXV0aG9yaXR5SWRdKTtcblxuICBjb25zdCBOZXdTYW1wbGluZ1ZhbGlkYXRpb25TY2hlbWEgPSBZdXAub2JqZWN0KCkuc2hhcGUoe1xuICAgIHNhbXBsaW5nOiBZdXAub2JqZWN0KCkuc2hhcGUoe1xuICAgICAgZGF0ZTogWXVwLnN0cmluZygpLnJlcXVpcmVkKHQoJ3NhbXBsaW5nc19wYWdlLmRhdGVfcmVxdWlyZWQnKSksXG4gICAgICBwb2ludF9pZDogWXVwLnN0cmluZygpLnJlcXVpcmVkKHQoJ3NhbXBsaW5nc19wYWdlLnNpdGVfcmVxdWlyZWQnKSksXG4gICAgfSksXG4gIH0pO1xuXG4gIGNvbnN0IHRvZGF5ID0gbW9tZW50KCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG5cbiAgY29uc3QgbmV3U2l0ZUluaXRpYWxWYWx1ZXM6IE5ld1NpdGVJbnB1dHMgPSB7XG4gICAgc2FtcGxpbmc6IHtcbiAgICAgIGRhdGU6IHRvZGF5LFxuICAgICAgcG9pbnRfaWQ6ICcnLFxuICAgICAgdHlwZTogJ3NhbXBsaW5nX3R5cGVfcmFwaWQnLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgaGFuZGxlTmV3U2FtcGxpbmdTdWJtaXQgPSAodmFsdWVzKSA9PiB7XG4gICAgY3JlYXRlU2FtcGxpbmdNdXRhdGlvbi5tdXRhdGUodmFsdWVzKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVPcGVuUG9wdXBBbmFseXRpY3MgPSAoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1NhbXBsaW5nIE9wZXJhdGlvbiBOZXcgU2FtcGxpbmcgQ2xpY2tlZCcsIHtcbiAgICAgIHdhdGVyX2F1dGhvcml0eTogd2F0ZXJBdXRob3JpdHlJZCxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBOZXdTYW1wbGluZ0J1dHRvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc01vYmlsZSAmJiAoXG4gICAgICAgICAgPEljb25BY3Rpb25cbiAgICAgICAgICAgIGNhbGxiYWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGhhbmRsZU9wZW5Qb3B1cEFuYWx5dGljcygpO1xuICAgICAgICAgICAgICBzZXRJc09wZW4oIWlzT3Blbik7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdGV4dF9rZXk9eydzYW1wbGluZ3NfcGFnZS5uZXdfYnV0dG9uJ31cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhUGx1c30gLz5cbiAgICAgICAgICA8L0ljb25BY3Rpb24+XG4gICAgICAgICl9XG4gICAgICAgIHtpc01vYmlsZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5uZXdTYW1wbGVyQnRuTW9iaWxlfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKCFpc09wZW4pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gY2xhc3NOYW1lPXtTdHlsZS5mYVBsdXN9IGljb249e2ZhUGx1c30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUubmV3U2FtcGxpbmdBY3Rpb25Ecm9wZG93bn0+XG4gICAgICA8TmV3U2FtcGxpbmdCdXR0b24gLz5cbiAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICA8TWVudUlucHV0U3R5bGUgaXNPcGVuPXtpc09wZW59PlxuICAgICAgICAgIDxOZXdTYW1wbGluZ1RpdGxlPlxuICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLmFkZF9uZXdfc2FtcGxpbmcnKX1cbiAgICAgICAgICA8L05ld1NhbXBsaW5nVGl0bGU+XG4gICAgICAgICAgPEZvcm1pa1xuICAgICAgICAgICAgb25TdWJtaXQ9e2hhbmRsZU5ld1NhbXBsaW5nU3VibWl0fVxuICAgICAgICAgICAgaW5pdGlhbFZhbHVlcz17bmV3U2l0ZUluaXRpYWxWYWx1ZXN9XG4gICAgICAgICAgICB2YWxpZGF0aW9uU2NoZW1hPXtOZXdTYW1wbGluZ1ZhbGlkYXRpb25TY2hlbWF9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyh7XG4gICAgICAgICAgICAgIGhhbmRsZVN1Ym1pdCxcbiAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlLFxuICAgICAgICAgICAgICB2YWx1ZXMsXG4gICAgICAgICAgICAgIGVycm9ycyxcbiAgICAgICAgICAgICAgc2V0RmllbGRWYWx1ZSxcbiAgICAgICAgICAgIH0pID0+IChcbiAgICAgICAgICAgICAgPEZvcm0gb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdH0+XG4gICAgICAgICAgICAgICAgPEZvcm0uR3JvdXA+XG4gICAgICAgICAgICAgICAgICA8Rm9ybS5MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnNhbXBsaW5nX2RhdGUnKX1cbiAgICAgICAgICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxEYXRlUGlja2VyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGUuZGF0ZUlucHV0fSAke1xuICAgICAgICAgICAgICAgICAgICAgIGVycm9ycz8uc2FtcGxpbmc/LmRhdGUgJiYgJ2ludmFsaWQnXG4gICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwic2FtcGxpbmcuZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXtuZXcgRGF0ZSgpfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGRhdGUpID0+IHNldEZpZWxkVmFsdWUoJ3NhbXBsaW5nLmRhdGUnLCBkYXRlKX1cbiAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJDbGFzc05hbWU9e1N0eWxlLmNhbGVuZGFyfVxuICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PXtcbiAgICAgICAgICAgICAgICAgICAgICB1c2VySW5mby5kYXRlX3RpbWVfZm9ybWF0ID09PSAndXMnXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICdNTU0gZCwgeXl5eSdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJ2QvTU0veXl5eSdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgICAgICAgICAge2Vycm9ycz8uc2FtcGxpbmc/LmRhdGUgPyAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUudmFsaWRhdGlvbkVycm9yfT5cbiAgICAgICAgICAgICAgICAgICAge2Vycm9ycy5zYW1wbGluZy5kYXRlfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgICAgICAgICA8Rm9ybS5MYWJlbD5cbiAgICAgICAgICAgICAgICAgIHt0KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5zaXRlJyl9XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e1N0eWxlLnJlcXVpcmVkfT4qPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17dCgnc2FtcGxpbmdzX3BhZ2Uuc2l0ZV9wbGFjZWhvbGRlcicpfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZS5zaXRlSW5wdXR9ICR7XG4gICAgICAgICAgICAgICAgICAgIGVycm9ycz8uc2FtcGxpbmc/LnBvaW50X2lkICYmIFN0eWxlLmludmFsaWRCb3JkZXJzXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJzYW1wbGluZy5wb2ludF9pZFwiXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KG9wdGlvbjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldEZpZWxkVmFsdWUoJ3NhbXBsaW5nLnBvaW50X2lkJywgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBpc1NlYXJjaGFibGU9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWVQcmVmaXg9eydkYXNoYm9hcmQtc2VsZWN0J31cbiAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e3BvaW50cz8ubWFwKChwdDogUG9pbnRQcm9wcykgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHB0LnBvaW50LmlkLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogcHQucG9pbnQubGFiZWwsXG4gICAgICAgICAgICAgICAgICB9KSl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7ZXJyb3JzPy5zYW1wbGluZz8ucG9pbnRfaWQgJiYgKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnZhbGlkYXRpb25FcnJvcn0+XG4gICAgICAgICAgICAgICAgICAgIHtlcnJvcnMuc2FtcGxpbmcucG9pbnRfaWR9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgICAgPE1vYmlsZUlucHV0XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1N0eWxlLnR5cGVJbnB1dH0gJHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzPy5zYW1wbGluZz8udHlwZSAmJiBTdHlsZS5pbnZhbGlkQm9yZGVyc1xuICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICBpbnB1dFRpdGxlPXt0KCdsYWJfcmVzdWx0c19zY3JlZW4udHlwZScpfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlcy5zYW1wbGluZy50eXBlfVxuICAgICAgICAgICAgICAgICAgbmFtZT1cInNhbXBsaW5nLnR5cGVcIlxuICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICB0eXBlPVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgICAgIG1hbmRhdG9yeT17dHJ1ZX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAgICAgICAgIGtleT1cInJhcGlkXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJzYW1wbGluZ190eXBlX3JhcGlkXCJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdzYW1wbGluZ190eXBlc19taW5pLnNhbXBsaW5nX3R5cGVfcmFwaWQnKX1cbiAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9XCJjb21wbGV4XCIgdmFsdWU9XCJzYW1wbGluZ190eXBlX2NvbXBsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nX3R5cGVzX21pbmkuc2FtcGxpbmdfdHlwZV9jb21wbGV4Jyl9XG4gICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb24ga2V5PVwiYm90aFwiIHZhbHVlPVwic2FtcGxpbmdfdHlwZV9ib3RoXCI+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdzYW1wbGluZ190eXBlc19taW5pLnNhbXBsaW5nX3R5cGVfYm90aCcpfVxuICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9Nb2JpbGVJbnB1dD5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5idXR0b25zQ29udGFpbmVyfT5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKGZhbHNlKX0gdmFyaWFudD1cImNsb3NlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjbG9zZScpfVxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuYnV0dG9uQ3JlYXRlfVxuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXt2YXJpYW50LlNFQ09OREFSWX1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdzYW1wbGluZ3NfcGFnZS5jcmVhdGVfYnV0dG9uJyl9XG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9Gb3JtPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0Zvcm1paz5cbiAgICAgICAgPC9NZW51SW5wdXRTdHlsZT5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBOZXdTYW1wbGluZ1RpdGxlID0gc3R5bGVkLnBgXG4gIGZvbnQtd2VpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRXZWlnaHQudzcwMH07XG5gO1xuXG5jb25zdCBNZW51SW5wdXRTdHlsZSA9IHN0eWxlZC5kaXYuYXR0cnMoKHByb3BzOiBNZW51SW5wdXRQcm9wcykgPT4gKHtcbiAgaXNPcGVuOiBwcm9wcy5pc09wZW4sXG59KSlgXG4gIHBhZGRpbmc6IDMzcHggMjhweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTZweDtcbiAgdG9wOiAxNDBweDtcbiAgei1pbmRleDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS56SW5kZXhlcy5tb2RhbH07XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICB3aWR0aDogMzkwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhNmFjYjk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAjZTNlM2UzO1xuXG4gIC5ydGwgJiB7XG4gICAgcmlnaHQ6IHVuc2V0O1xuICAgIGxlZnQ6IDE2cHg7XG4gIH1cblxuICAqIHtcbiAgICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIH1cblxuICBhbmltYXRpb246IHRyYW5zaXRpb24taW4gNDQ0bXMsIGZhZGUtaW4gNDQ0bXM7XG4gIEBrZXlmcmFtZXMgdHJhbnNpdGlvbi1pbiB7XG4gICAgZnJvbSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwcHgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICB9XG4gIEBrZXlmcmFtZXMgZmFkZS1pbiB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qIFVzZSA0ODBweCBhcyBtb2JpbGUncyBtYXgtd2lkdGggKi9cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IE5ld1NhbXBsaW5nQWN0aW9uO1xuIl19
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
|
|
12
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _axios = _interopRequireDefault(require("axios"));
|
|
23
|
+
|
|
24
|
+
var _dotsGen = require("@svgr/webpack?-svgo!assets/icons/3-dots-gen.svg");
|
|
25
|
+
|
|
26
|
+
var _reactRedux = require("react-redux");
|
|
27
|
+
|
|
28
|
+
var _reactRouterDom = require("react-router-dom");
|
|
29
|
+
|
|
30
|
+
var _ModalConfirmation = _interopRequireDefault(require("ui-kit/ModalConfirmation"));
|
|
31
|
+
|
|
32
|
+
var _uiKit = require("ui-kit");
|
|
33
|
+
|
|
34
|
+
var _Analytics = require("utilities/Analytics");
|
|
35
|
+
|
|
36
|
+
var _actionsCreator = require("store/samplings/actionsCreator");
|
|
37
|
+
|
|
38
|
+
var _urls = require("utilities/urls");
|
|
39
|
+
|
|
40
|
+
var _useInitializeHeaders = require("hooks/useInitializeHeaders");
|
|
41
|
+
|
|
42
|
+
var _samplingsPageUtils = require("./samplingsPageUtils");
|
|
43
|
+
|
|
44
|
+
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
45
|
+
|
|
46
|
+
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); }
|
|
47
|
+
|
|
48
|
+
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; }
|
|
49
|
+
|
|
50
|
+
var ToggleStyle = _styledComponents.default.div.withConfig({
|
|
51
|
+
displayName: "SamplingActionDropdown__ToggleStyle",
|
|
52
|
+
componentId: "sc-16z8rtj-0"
|
|
53
|
+
})(["height:20px;width:30px;margin-inline-end:10px;cursor:pointer;text-align:center;fill:", ";.show.dropdown &{fill:#e31b62;}"], function (_ref) {
|
|
54
|
+
var theme = _ref.theme;
|
|
55
|
+
return theme.colorScheme.natural.n90;
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
var SamplingActionDropdown = function SamplingActionDropdown(props) {
|
|
59
|
+
var sampling = props.sampling;
|
|
60
|
+
var history = (0, _reactRouterDom.useHistory)();
|
|
61
|
+
(0, _useInitializeHeaders.useInitializeHeaders)();
|
|
62
|
+
var dispatch = (0, _reactRedux.useDispatch)();
|
|
63
|
+
var navContext = (0, _reactRedux.useSelector)(function (state) {
|
|
64
|
+
return state.nav_context_data.navContext;
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
var _useState = (0, _react.useState)(false),
|
|
68
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
69
|
+
showConfirm = _useState2[0],
|
|
70
|
+
setShowConfirm = _useState2[1];
|
|
71
|
+
|
|
72
|
+
var waterAuthorityId = (0, _reactRedux.useSelector)(function (state) {
|
|
73
|
+
return state.global_data.waterAuthorityId;
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
var handleClick = function handleClick() {
|
|
77
|
+
(0, _Analytics.analyticsTrack)("Open web action");
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
var deleteSampling = /*#__PURE__*/function () {
|
|
81
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(sampling) {
|
|
82
|
+
var response;
|
|
83
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
84
|
+
while (1) {
|
|
85
|
+
switch (_context.prev = _context.next) {
|
|
86
|
+
case 0:
|
|
87
|
+
_context.next = 2;
|
|
88
|
+
return _axios.default.delete((0, _urls.urls)({
|
|
89
|
+
samplingId: sampling.id,
|
|
90
|
+
locale: navContext.locale,
|
|
91
|
+
waterAuthorityId: waterAuthorityId
|
|
92
|
+
}).samplingProperties.deleteSampling.url);
|
|
93
|
+
|
|
94
|
+
case 2:
|
|
95
|
+
response = _context.sent;
|
|
96
|
+
|
|
97
|
+
if (response.status === 200) {
|
|
98
|
+
// Refresh the samplings hack
|
|
99
|
+
window.location.reload();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
case 4:
|
|
103
|
+
case "end":
|
|
104
|
+
return _context.stop();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}, _callee);
|
|
108
|
+
}));
|
|
109
|
+
|
|
110
|
+
return function deleteSampling(_x) {
|
|
111
|
+
return _ref2.apply(this, arguments);
|
|
112
|
+
};
|
|
113
|
+
}();
|
|
114
|
+
|
|
115
|
+
var allowed_actions = [_samplingsPageUtils.COLLECT_SAMPLING_OP, _samplingsPageUtils.CANCEL_SAMPLING_OP, _samplingsPageUtils.EDIT_PROPERTIES_OP, _samplingsPageUtils.REVERT_CANCELLATION];
|
|
116
|
+
|
|
117
|
+
var handleActionClick = function handleActionClick(sampling) {
|
|
118
|
+
return /*#__PURE__*/function () {
|
|
119
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(item) {
|
|
120
|
+
var urlPrefix, route;
|
|
121
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
122
|
+
while (1) {
|
|
123
|
+
switch (_context2.prev = _context2.next) {
|
|
124
|
+
case 0:
|
|
125
|
+
if (!(item.id === _samplingsPageUtils.DELETE_SAMPLING_OP)) {
|
|
126
|
+
_context2.next = 4;
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
setShowConfirm(true);
|
|
131
|
+
_context2.next = 12;
|
|
132
|
+
break;
|
|
133
|
+
|
|
134
|
+
case 4:
|
|
135
|
+
if (allowed_actions.includes(item.id)) {
|
|
136
|
+
_context2.next = 8;
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return _context2.abrupt("return");
|
|
141
|
+
|
|
142
|
+
case 8:
|
|
143
|
+
dispatch((0, _actionsCreator.getSamplingById)(sampling.id));
|
|
144
|
+
urlPrefix = (0, _urls.urls)({
|
|
145
|
+
id: sampling.id,
|
|
146
|
+
locale: navContext.locale,
|
|
147
|
+
waterAuthorityId: waterAuthorityId,
|
|
148
|
+
op: _samplingsPageUtils.SPECIAL_MENU_ID_TO_OP[item.id] || item.id
|
|
149
|
+
}).samplingsPage;
|
|
150
|
+
route = urlPrefix.samplingPropertiesRoute;
|
|
151
|
+
history.push(route.url);
|
|
152
|
+
|
|
153
|
+
case 12:
|
|
154
|
+
case "end":
|
|
155
|
+
return _context2.stop();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}, _callee2);
|
|
159
|
+
}));
|
|
160
|
+
|
|
161
|
+
return function (_x2) {
|
|
162
|
+
return _ref3.apply(this, arguments);
|
|
163
|
+
};
|
|
164
|
+
}();
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ModalConfirmation.default, {
|
|
168
|
+
body: _i18n.default.t('samplings_page.delete_confirmation', {
|
|
169
|
+
sampling_id: sampling.id
|
|
170
|
+
}),
|
|
171
|
+
ok: _i18n.default.t('samplings_page.yes_delete'),
|
|
172
|
+
cancel: _i18n.default.t('false'),
|
|
173
|
+
showConfirm: showConfirm,
|
|
174
|
+
setShowConfirm: setShowConfirm,
|
|
175
|
+
onConfirm: function onConfirm(e) {
|
|
176
|
+
deleteSampling(sampling);
|
|
177
|
+
}
|
|
178
|
+
}), /*#__PURE__*/_react.default.createElement(_uiKit.DropDown, {
|
|
179
|
+
dropdownToggle: /*#__PURE__*/_react.default.createElement(ToggleStyle, null, /*#__PURE__*/_react.default.createElement(_dotsGen.ReactComponent, {
|
|
180
|
+
onClick: handleClick
|
|
181
|
+
})),
|
|
182
|
+
onItemClick: handleActionClick(sampling),
|
|
183
|
+
options: (0, _samplingsPageUtils.buildActionsDropdownOptions)(sampling)
|
|
184
|
+
}));
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
var _default = SamplingActionDropdown;
|
|
188
|
+
exports.default = _default;
|
|
189
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nQWN0aW9uRHJvcGRvd24udHN4Il0sIm5hbWVzIjpbIlRvZ2dsZVN0eWxlIiwic3R5bGVkIiwiZGl2IiwidGhlbWUiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuOTAiLCJTYW1wbGluZ0FjdGlvbkRyb3Bkb3duIiwicHJvcHMiLCJzYW1wbGluZyIsImhpc3RvcnkiLCJkaXNwYXRjaCIsIm5hdkNvbnRleHQiLCJzdGF0ZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJzaG93Q29uZmlybSIsInNldFNob3dDb25maXJtIiwid2F0ZXJBdXRob3JpdHlJZCIsImdsb2JhbF9kYXRhIiwiaGFuZGxlQ2xpY2siLCJkZWxldGVTYW1wbGluZyIsImF4aW9zIiwiZGVsZXRlIiwic2FtcGxpbmdJZCIsImlkIiwibG9jYWxlIiwic2FtcGxpbmdQcm9wZXJ0aWVzIiwidXJsIiwicmVzcG9uc2UiLCJzdGF0dXMiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInJlbG9hZCIsImFsbG93ZWRfYWN0aW9ucyIsIkNPTExFQ1RfU0FNUExJTkdfT1AiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJFRElUX1BST1BFUlRJRVNfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwiaGFuZGxlQWN0aW9uQ2xpY2siLCJpdGVtIiwiREVMRVRFX1NBTVBMSU5HX09QIiwiaW5jbHVkZXMiLCJ1cmxQcmVmaXgiLCJvcCIsIlNQRUNJQUxfTUVOVV9JRF9UT19PUCIsInNhbXBsaW5nc1BhZ2UiLCJyb3V0ZSIsInNhbXBsaW5nUHJvcGVydGllc1JvdXRlIiwicHVzaCIsImkxOG4iLCJ0Iiwic2FtcGxpbmdfaWQiLCJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFHQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFVQTs7Ozs7O0FBTUEsSUFBTUEsV0FBVyxH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Q0ssdUJBYkE7QUFjeEJyQyxnQkFBQUEsT0FBTyxDQUFDc0MsSUFBUixDQUFhRixLQUFLLENBQUNuQixHQUFuQjs7QUFkd0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsT0FBNUI7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHQURGOztBQW1CQSxzQkFDRSx5RUFDRSw2QkFBQywwQkFBRDtBQUNFLElBQUEsSUFBSSxFQUFFc0IsY0FBS0MsQ0FBTCxDQUFPLG9DQUFQLEVBQTZDO0FBQ2pEQyxNQUFBQSxXQUFXLEVBQUUxQyxRQUFRLENBQUNlO0FBRDJCLEtBQTdDLENBRFI7QUFJRSxJQUFBLEVBQUUsRUFBRXlCLGNBQUtDLENBQUwsQ0FBTywyQkFBUCxDQUpOO0FBS0UsSUFBQSxNQUFNLEVBQUVELGNBQUtDLENBQUwsQ0FBTyxPQUFQLENBTFY7QUFNRSxJQUFBLFdBQVcsRUFBRW5DLFdBTmY7QUFPRSxJQUFBLGNBQWMsRUFBRUMsY0FQbEI7QUFRRSxJQUFBLFNBQVMsRUFBRSxtQkFBQ29DLENBQUQsRUFBTztBQUNoQmhDLE1BQUFBLGNBQWMsQ0FBQ1gsUUFBRCxDQUFkO0FBQ0Q7QUFWSCxJQURGLGVBY0UsNkJBQUMsZUFBRDtBQUNFLElBQUEsY0FBYyxlQUNaLDZCQUFDLFdBQUQscUJBQ0UsNkJBQUMsdUJBQUQ7QUFBTSxNQUFBLE9BQU8sRUFBRVU7QUFBZixNQURGLENBRko7QUFNRSxJQUFBLFdBQVcsRUFBRW1CLGlCQUFpQixDQUFDN0IsUUFBRCxDQU5oQztBQU9FLElBQUEsT0FBTyxFQUFFLHFEQUE0QkEsUUFBNUI7QUFQWCxJQWRGLENBREY7QUEwQkQsQ0FwRkQ7O2VBc0ZlRixzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBEb3RzIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy8zLWRvdHMtZ2VuLnN2Zyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbmltcG9ydCBNb2RhbENvbmZpcm1hdGlvbiBmcm9tICdzcmMvdWkta2l0L01vZGFsQ29uZmlybWF0aW9uJztcbmltcG9ydCB7IERyb3BEb3duIH0gZnJvbSAnc3JjL3VpLWtpdCc7XG5pbXBvcnQgeyBEcm9wRG93bkl0ZW1UeXBlIH0gZnJvbSAnc3JjL3VpLWtpdC9Ecm9wRG93bi9Ecm9wRG93bkl0ZW0nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IGdldFNhbXBsaW5nQnlJZCB9IGZyb20gJ3NyYy9zdG9yZS9zYW1wbGluZ3MvYWN0aW9uc0NyZWF0b3InO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VJbml0aWFsaXplSGVhZGVycyB9IGZyb20gJ3NyYy9ob29rcy91c2VJbml0aWFsaXplSGVhZGVycyc7XG5cbmltcG9ydCB7XG4gIENBTkNFTF9TQU1QTElOR19PUCxcbiAgQ09MTEVDVF9TQU1QTElOR19PUCxcbiAgREVMRVRFX1NBTVBMSU5HX09QLFxuICBFRElUX1BST1BFUlRJRVNfT1AsXG4gIFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gIFNQRUNJQUxfTUVOVV9JRF9UT19PUCxcbiAgU2FtcGxpbmdEYXRhLFxuICBidWlsZEFjdGlvbnNEcm9wZG93bk9wdGlvbnMsXG59IGZyb20gJy4vc2FtcGxpbmdzUGFnZVV0aWxzJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5cbnR5cGUgU2FtcGxpbmdBY3Rpb25Ecm9wZG93blByb3BzID0ge1xuICBzYW1wbGluZz86IFNhbXBsaW5nRGF0YTtcbn07XG5cbmNvbnN0IFRvZ2dsZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMzBweDtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmaWxsOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjkwfTtcblxuICAuc2hvdy5kcm9wZG93biAmIHtcbiAgICBmaWxsOiAjZTMxYjYyO1xuICB9XG5gO1xuXG5jb25zdCBTYW1wbGluZ0FjdGlvbkRyb3Bkb3duOiBGQzxTYW1wbGluZ0FjdGlvbkRyb3Bkb3duUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgc2FtcGxpbmcgfSA9IHByb3BzO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICB1c2VJbml0aWFsaXplSGVhZGVycygpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG4gIGNvbnN0IFtzaG93Q29uZmlybSwgc2V0U2hvd0NvbmZpcm1dID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PlxuICAgICAgc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVDbGljayA9ICgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjayhgT3BlbiB3ZWIgYWN0aW9uYCk7XG4gIH07XG5cbiAgY29uc3QgZGVsZXRlU2FtcGxpbmcgPSBhc3luYyAoc2FtcGxpbmc6IFNhbXBsaW5nRGF0YSkgPT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MuZGVsZXRlKFxuICAgICAgdXJscyh7XG4gICAgICAgIHNhbXBsaW5nSWQ6IHNhbXBsaW5nLmlkLFxuICAgICAgICBsb2NhbGU6IG5hdkNvbnRleHQubG9jYWxlLFxuICAgICAgICB3YXRlckF1dGhvcml0eUlkOiB3YXRlckF1dGhvcml0eUlkLFxuICAgICAgfSkuc2FtcGxpbmdQcm9wZXJ0aWVzLmRlbGV0ZVNhbXBsaW5nLnVybCxcbiAgICApO1xuXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAvLyBSZWZyZXNoIHRoZSBzYW1wbGluZ3MgaGFja1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH1cbiAgfTtcbiAgY29uc3QgYWxsb3dlZF9hY3Rpb25zID0gW1xuICAgIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gICAgQ0FOQ0VMX1NBTVBMSU5HX09QLFxuICAgIEVESVRfUFJPUEVSVElFU19PUCxcbiAgICBSRVZFUlRfQ0FOQ0VMTEFUSU9OLFxuICBdO1xuICBjb25zdCBoYW5kbGVBY3Rpb25DbGljayA9XG4gICAgKHNhbXBsaW5nOiBTYW1wbGluZ0RhdGEpID0+IGFzeW5jIChpdGVtOiBEcm9wRG93bkl0ZW1UeXBlKSA9PiB7XG4gICAgICBpZiAoaXRlbS5pZCA9PT0gREVMRVRFX1NBTVBMSU5HX09QKSB7XG4gICAgICAgIHNldFNob3dDb25maXJtKHRydWUpO1xuICAgICAgfSBlbHNlIGlmICghYWxsb3dlZF9hY3Rpb25zLmluY2x1ZGVzKGl0ZW0uaWQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpc3BhdGNoKGdldFNhbXBsaW5nQnlJZChzYW1wbGluZy5pZCkpO1xuICAgICAgICBjb25zdCB1cmxQcmVmaXggPSB1cmxzKHtcbiAgICAgICAgICBpZDogc2FtcGxpbmcuaWQsXG4gICAgICAgICAgbG9jYWxlOiBuYXZDb250ZXh0LmxvY2FsZSxcbiAgICAgICAgICB3YXRlckF1dGhvcml0eUlkOiB3YXRlckF1dGhvcml0eUlkLFxuICAgICAgICAgIG9wOiBTUEVDSUFMX01FTlVfSURfVE9fT1BbaXRlbS5pZF0gfHwgaXRlbS5pZCxcbiAgICAgICAgfSkuc2FtcGxpbmdzUGFnZTtcbiAgICAgICAgY29uc3Qgcm91dGUgPSB1cmxQcmVmaXguc2FtcGxpbmdQcm9wZXJ0aWVzUm91dGU7XG4gICAgICAgIGhpc3RvcnkucHVzaChyb3V0ZS51cmwpO1xuICAgICAgfVxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPE1vZGFsQ29uZmlybWF0aW9uXG4gICAgICAgIGJvZHk9e2kxOG4udCgnc2FtcGxpbmdzX3BhZ2UuZGVsZXRlX2NvbmZpcm1hdGlvbicsIHtcbiAgICAgICAgICBzYW1wbGluZ19pZDogc2FtcGxpbmcuaWQsXG4gICAgICAgIH0pfVxuICAgICAgICBvaz17aTE4bi50KCdzYW1wbGluZ3NfcGFnZS55ZXNfZGVsZXRlJyl9XG4gICAgICAgIGNhbmNlbD17aTE4bi50KCdmYWxzZScpfVxuICAgICAgICBzaG93Q29uZmlybT17c2hvd0NvbmZpcm19XG4gICAgICAgIHNldFNob3dDb25maXJtPXtzZXRTaG93Q29uZmlybX1cbiAgICAgICAgb25Db25maXJtPXsoZSkgPT4ge1xuICAgICAgICAgIGRlbGV0ZVNhbXBsaW5nKHNhbXBsaW5nKTtcbiAgICAgICAgfX1cbiAgICAgIC8+XG5cbiAgICAgIDxEcm9wRG93blxuICAgICAgICBkcm9wZG93blRvZ2dsZT17XG4gICAgICAgICAgPFRvZ2dsZVN0eWxlPlxuICAgICAgICAgICAgPERvdHMgb25DbGljaz17aGFuZGxlQ2xpY2t9IC8+XG4gICAgICAgICAgPC9Ub2dnbGVTdHlsZT5cbiAgICAgICAgfVxuICAgICAgICBvbkl0ZW1DbGljaz17aGFuZGxlQWN0aW9uQ2xpY2soc2FtcGxpbmcpfVxuICAgICAgICBvcHRpb25zPXtidWlsZEFjdGlvbnNEcm9wZG93bk9wdGlvbnMoc2FtcGxpbmcpfVxuICAgICAgLz5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNhbXBsaW5nQWN0aW9uRHJvcGRvd247XG4iXX0=
|
|
@@ -237,6 +237,10 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
237
237
|
properties_edit: {
|
|
238
238
|
clickOp: _samplingsPageUtils.EDIT_PROPERTIES_OP,
|
|
239
239
|
value: _i18n.default.t('samplings_page.sampling_properties')
|
|
240
|
+
},
|
|
241
|
+
manhole_edit: {
|
|
242
|
+
clickOp: _samplingsPageUtils.MANHOLE_PROPERTIES_OP,
|
|
243
|
+
value: _i18n.default.t('samplings_page.manhole_properties')
|
|
240
244
|
}
|
|
241
245
|
};
|
|
242
246
|
|
|
@@ -280,14 +284,26 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
280
284
|
|
|
281
285
|
if (['planned', 'active', 'ready'].includes(fmtStatus)) {
|
|
282
286
|
result.push(buildActionItem('cancel'));
|
|
287
|
+
result.push(buildActionItem('manhole_edit', {
|
|
288
|
+
disabled: true
|
|
289
|
+
}));
|
|
283
290
|
} else if (fmtStatus === 'collected') {
|
|
284
291
|
result.push(buildActionItem('cancel'));
|
|
292
|
+
result.push(buildActionItem('manhole_edit', {
|
|
293
|
+
disabled: true
|
|
294
|
+
}));
|
|
285
295
|
} else if (fmtStatus === 'canceled') {
|
|
286
296
|
result.push(buildActionItem('revert_cancel'));
|
|
297
|
+
result.push(buildActionItem('manhole_edit', {
|
|
298
|
+
disabled: true
|
|
299
|
+
}));
|
|
287
300
|
} else if (fmtStatus === 'completed') {
|
|
288
301
|
result.push(buildActionItem('cancel', {
|
|
289
302
|
disabled: true
|
|
290
303
|
}));
|
|
304
|
+
result.push(buildActionItem('manhole_edit', {
|
|
305
|
+
disabled: true
|
|
306
|
+
}));
|
|
291
307
|
}
|
|
292
308
|
|
|
293
309
|
return result;
|
|
@@ -336,4 +352,4 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
336
352
|
};
|
|
337
353
|
|
|
338
354
|
exports.SamplingMobileModal = SamplingMobileModal;
|
|
339
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nTW9iaWxlTW9kYWwudHN4Il0sIm5hbWVzIjpbIlNhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZSIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicDEiLCJMaXN0R3JvdXBTdHlsZSIsIkxpc3RHcm91cCIsIk1vZGFsQ29udGFpbmVyU3R5bGUiLCJ6SW5kZXhlcyIsIm1vZGFsIiwiTGlzdEdyb3VwSXRlbVN0eWxlIiwiSXRlbSIsImZvbnRTaXplIiwibWQiLCJkaXNhYmxlZCIsIm5hdHVyYWwiLCJuNTAiLCJzYW1wbGluZ3NQYWdlIiwibW9iaWxlIiwibW9kYWxMaXN0SXRlbUNvbG9yIiwiUm93SW5mb1N0eWxlIiwibjEiLCJJbmZvTGluZVN0eWxlIiwibjYwIiwiT3ZlcmxheVN0eWxlIiwibW9kYWxPdmVybGF5QmFja2dyb3VuZCIsIk1haW5CdXR0b25TdHlsZSIsIkJ1dHRvbiIsIlNpdGVTdHlsZSIsIkNvbnRhY3ROdW1iZXJSb3dTdHlsZSIsImEiLCJTaXRlRGV0YWlsc1N0eWxlIiwiU2l0ZURldGFpbHNGaXJzdFN0eWxlIiwiU2l0ZURldGFpbHNTZWNvbmRTdHlsZSIsIkJvdHRvbVNlY3Rpb25TdHlsZSIsIlN0YXR1c0NvbnRhaW5lclN0eWxlIiwiYXR0cnMiLCJwcm9wcyIsImlzTW9iaWxlUHJvcGVydGllcyIsIkNsb3NlVG9wQnV0dG9uU3R5bGUiLCJuMTAwIiwiU2FtcGxpbmdNb2JpbGVNb2RhbCIsIm9uQ2xvc2VNb2RhbCIsInNhbXBsaW5nIiwiY29udGFjdCIsImNvbnRhY3ROdW1iZXIiLCJjb250YWN0X251bWJlciIsImxhYk5hbWUiLCJsYWJfbmFtZSIsIm1hbmhvbGVBZGRyZXNzIiwibWFuaG9sZV9hZGRyZXNzIiwic3RhdHVzIiwic2l0ZSIsInNhbXBsaW5nSWQiLCJzYW1wbGluZ19pZCIsInNhbXBsaW5nRGF0ZSIsInNhbXBsaW5nX2RhdGUiLCJzYW1wbGluZ1RpbWUiLCJzYW1wbGluZ190aW1lIiwiaGlzdG9yeSIsImRpc3BhdGNoIiwibmF2Q29udGV4dCIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsImhhbmRsZUFjdGlvbkNsaWNrIiwib3AiLCJpZCIsInNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcyIsImxvY2FsZSIsInB1c2giLCJzYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZSIsInVybCIsImdldEFkZHJlc3MiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJ0ZXh0IiwibGVuZ3RoIiwic2xpY2UiLCJsYXRfbG5nIiwibG9jYXRpb25TdHIiLCJsb2NhdGlvblN0cldhemUiLCJtb2JpbGVBY3Rpb25zT3B0c01hcCIsImNvbGxlY3QiLCJjbGlja09wIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsInZhbHVlIiwiaTE4biIsInQiLCJjYW5jZWwiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJyZXZlcnRfY2FuY2VsIiwiUkVWRVJUX0NBTkNFTExBVElPTiIsImRlbGV0ZSIsIkRFTEVURV9TQU1QTElOR19PUCIsInByb3BlcnRpZXNfZWRpdCIsIkVESVRfUFJPUEVSVElFU19PUCIsImJ1aWxkQWN0aW9uSXRlbSIsImtleSIsIm9wdCIsIm1haW5CdXR0b25BY3Rpb24iLCJmbXRTdGF0dXMiLCJtYWNoaW5lX25hbWUiLCJpbmNsdWRlcyIsIm1haW5CdXR0b25UaXRsZSIsImJ1aWxkTW9iaWxlQWN0aW9ucyIsInJlc3VsdCIsImZhVGltZXMiLCJQaW4iLCJTdHlsZSIsIndhemVMaW5rIiwid2F6ZUljb24iLCJnb29nbGVMaW5rIiwiZ29vZ2xlTWFwc0ljb24iLCJQaG9uZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBSUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FB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TjtBQUdFLElBQUEsTUFBTSxFQUFDO0FBSFQsa0JBS0U7QUFDRSxJQUFBLFNBQVMsRUFBRTZCLHFCQUFNRyxVQURuQjtBQUVFLElBQUEsR0FBRyxFQUFFQyx5QkFGUDtBQUdFLElBQUEsR0FBRyxFQUFDO0FBSE4sSUFMRixDQVZGLENBOUJGLGVBcURFLDZCQUFDLGtCQUFELHFCQUNFLDZCQUFDLHFCQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUVwRSxhQUFhLGlCQUFVQSxhQUFWLElBQTRCO0FBRGpELGtCQUdFO0FBQUssSUFBQSxHQUFHLEVBQUVxRSwyQkFBVjtBQUFpQixJQUFBLEdBQUcsRUFBQztBQUFyQixJQUhGLEVBSUd0RSxPQUFPLElBQUkyQyxjQUFLQyxDQUFMLENBQU8sMkJBQVAsQ0FKZCxDQURGLENBckRGLEVBOERHaUIsa0JBQWtCLEVBOURyQixDQURGLGVBaUVFLDZCQUFDLGVBQUQ7QUFDRSxJQUFBLE9BQU8sRUFBQyxTQURWO0FBRUUsSUFBQSxPQUFPLEVBQUUsS0FGWDtBQUdFLElBQUEsT0FBTyxNQUhUO0FBSUUsSUFBQSxPQUFPLEVBQUU7QUFBQSxhQUFNdkMsaUJBQWlCLENBQUNrQyxnQkFBZ0IsQ0FBQ2pELE1BQUQsQ0FBakIsQ0FBdkI7QUFBQTtBQUpYLEtBTUdxRCxlQUFlLENBQUNyRCxNQUFELENBTmxCLENBakVGLENBRkYsQ0FERjtBQStFRCxDQTlNTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQywgUmVhY3RFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgTGlzdEdyb3VwIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwLyc7XG5pbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuaW1wb3J0IFBob25lIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvc2FtcGxpbmctbW9kYWwtcGhvbmUuc3ZnJztcbmltcG9ydCBQaW4gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9zYW1wbGluZy1tb2RhbC1waW4uc3ZnJztcbmltcG9ydCBTYW1wbGluZ1N0YXR1cyBmcm9tICdzcmMvdWkta2l0L1NhbXBsaW5nU3RhdHVzL1NhbXBsaW5nU3RhdHVzJztcbmltcG9ydCBnb29nbGVNYXBzSWNvbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL25hdmlnYXRpb24vZ29vZ2xlX21hcHNfaWNvbi5wbmcnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB3YXplSWNvbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL25hdmlnYXRpb24vd2F6ZS1pY29uLnBuZyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdzcmMvdWkta2l0JztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICdzcmMvc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgZm9ybWF0U2FtcGxpbmdPcGVyYXRpb25TdGF0dXMgfSBmcm9tICdzcmMvdWkta2l0L1NhbXBsaW5nU3RhdHVzL1NhbXBsaW5nU3RhdHVzSGVscGVyJztcbmltcG9ydCB7IGdldFNhbXBsaW5nQnlJZCB9IGZyb20gJ3NyYy9zdG9yZS9zYW1wbGluZ3MvYWN0aW9uc0NyZWF0b3InO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5cbmltcG9ydCBTdHlsZSBmcm9tICcuL3N0eWxlLm1vZHVsZS5zY3NzJztcblxuaW1wb3J0IHtcbiAgQ0FOQ0VMX1NBTVBMSU5HX09QLFxuICBDT0xMRUNUX1NBTVBMSU5HX09QLFxuICBERUxFVEVfU0FNUExJTkdfT1AsXG4gIEVESVRfUFJPUEVSVElFU19PUCxcbiAgTU9CSUxFX01PREFMX1RFWFRfTEVOR1RILFxuICBSRVZFUlRfQ0FOQ0VMTEFUSU9OLFxuICBTYW1wbGluZ0RhdGEsXG59IGZyb20gJy4vc2FtcGxpbmdzUGFnZVV0aWxzJztcblxuaW50ZXJmYWNlIFNhbXBsaW5nTW9iaWxlUHJvcHMge1xuICBvbkNsb3NlTW9kYWw6ICgpID0+IHZvaWQ7XG4gIHNhbXBsaW5nOiBTYW1wbGluZ0RhdGE7XG4gIGlzTW9iaWxlUHJvcGVydGllcz86IGJvb2xlYW47XG59XG5jb25zdCBTYW1wbGluZ01vYmlsZU1vZGFsU3R5bGUgPSBzdHlsZWQuZGl2YFxuICAqIHtcbiAgICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIH1cbiAgLmRyb3ByaWdodCB7XG4gICAgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIDo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuICB9XG5gO1xuXG5jb25zdCBMaXN0R3JvdXBTdHlsZSA9IHN0eWxlZChMaXN0R3JvdXApYFxuICAvKiBvdmVycmlkZSBzZXJ2ZXIgc3R5bGUgKi9cbiAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG5gO1xuY29uc3QgTW9kYWxDb250YWluZXJTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuYDtcblxuY29uc3QgTGlzdEdyb3VwSXRlbVN0eWxlID0gc3R5bGVkKExpc3RHcm91cC5JdGVtKWBcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLm1kfTtcbiAgaGVpZ2h0OiA1NXB4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCAjODU4YTk0N2QgIWltcG9ydGFudCA7XG4gIGNvbG9yOiAkeyh7IGRpc2FibGVkLCB0aGVtZSB9KSA9PlxuICAgIGRpc2FibGVkXG4gICAgICA/IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjUwXG4gICAgICA6IHRoZW1lLnNhbXBsaW5nc1BhZ2UubW9iaWxlLm1vZGFsTGlzdEl0ZW1Db2xvcn0gIWltcG9ydGFudDtcbmA7XG5cbmNvbnN0IFJvd0luZm9TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxNHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTRweDtcbiAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgIzg1OGE5NDdkO1xuICBwYWRkaW5nOiAyMnB4IDMycHggMDtcbmA7XG5cbmNvbnN0IEluZm9MaW5lU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBib3JkZXItdG9wOiAxcHggc29saWQgIzg1OGE5NDdkO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE2cHggMDtcbmA7XG5cbmNvbnN0IE92ZXJsYXlTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT5cbiAgICB0aGVtZS5zYW1wbGluZ3NQYWdlLm1vYmlsZS5tb2RhbE92ZXJsYXlCYWNrZ3JvdW5kfTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbmA7XG5cbmNvbnN0IE1haW5CdXR0b25TdHlsZSA9IHN0eWxlZChCdXR0b24pYFxuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbjogMTBweDtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDUzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMTRweCAhaW1wb3J0YW50O1xuYDtcblxuY29uc3QgU2l0ZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzAwMDtcbmA7XG5cbmNvbnN0IENvbnRhY3ROdW1iZXJSb3dTdHlsZSA9IHN0eWxlZC5hYFxuICBpbWcge1xuICAgIG1hcmdpbjogMCA1cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFNpdGVEZXRhaWxzU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuYDtcblxuY29uc3QgU2l0ZURldGFpbHNGaXJzdFN0eWxlID0gc3R5bGVkLmRpdmBgO1xuXG5jb25zdCBTaXRlRGV0YWlsc1NlY29uZFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBtYXJnaW46IDVweCAwIDA7XG5gO1xuXG5jb25zdCBCb3R0b21TZWN0aW9uU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG5gO1xuXG5pbnRlcmZhY2UgU2FtcGxpbmdzTW9iaWxlU3R5bGVQcm9wcyB7XG4gIGlzTW9iaWxlUHJvcGVydGllcz86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN0YXR1c0NvbnRhaW5lclN0eWxlID0gc3R5bGVkLmRpdi5hdHRycyhcbiAgKHByb3BzOiBTYW1wbGluZ3NNb2JpbGVTdHlsZVByb3BzKSA9PiAoe1xuICAgIGlzTW9iaWxlUHJvcGVydGllczogcHJvcHMuaXNNb2JpbGVQcm9wZXJ0aWVzLFxuICB9KSxcbilgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHdpZHRoOiAxNHB4O1xuICB9XG4gICR7KHsgaXNNb2JpbGVQcm9wZXJ0aWVzIH0pID0+XG4gICAgaXNNb2JpbGVQcm9wZXJ0aWVzICYmXG4gICAgYFxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGB9XG5gO1xuXG5jb25zdCBDbG9zZVRvcEJ1dHRvblN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjEwMH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9O1xuICBib3JkZXI6IDJweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjEwMH07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ0ZW07XG4gIG1hcmdpbjogMCA4cHggMCAwO1xuICBwYWRkaW5nOiAycHggMCAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nTW9iaWxlTW9kYWw6IEZDPFNhbXBsaW5nTW9iaWxlUHJvcHM+ID0gKHtcbiAgb25DbG9zZU1vZGFsLFxuICBzYW1wbGluZyxcbiAgaXNNb2JpbGVQcm9wZXJ0aWVzLFxufSkgPT4ge1xuICBjb25zdCB7XG4gICAgY29udGFjdCxcbiAgICBjb250YWN0X251bWJlcjogY29udGFjdE51bWJlcixcbiAgICBsYWJfbmFtZTogbGFiTmFtZSxcbiAgICBtYW5ob2xlX2FkZHJlc3M6IG1hbmhvbGVBZGRyZXNzLFxuICAgIHN0YXR1cyxcbiAgICBzaXRlLFxuICAgIHNhbXBsaW5nX2lkOiBzYW1wbGluZ0lkLFxuICAgIHNhbXBsaW5nX2RhdGU6IHNhbXBsaW5nRGF0ZSxcbiAgICBzYW1wbGluZ190aW1lOiBzYW1wbGluZ1RpbWUsXG4gIH0gPSBzYW1wbGluZztcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZDb250ZXh0ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LFxuICApO1xuXG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PlxuICAgICAgc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVBY3Rpb25DbGljayA9IChvcDogc3RyaW5nIHwgbnVsbCkgPT4ge1xuICAgIGlmICghb3ApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGlkIH0gPSBzYW1wbGluZztcbiAgICBkaXNwYXRjaChnZXRTYW1wbGluZ0J5SWQoaWQpKTtcbiAgICBjb25zdCBzYW1wbGluZ1Byb3BlcnRpZXNVcmxQYXJhbXMgPSB1cmxzKHtcbiAgICAgIGlkOiBpZCxcbiAgICAgIGxvY2FsZTogbmF2Q29udGV4dC5sb2NhbGUsXG4gICAgICB3YXRlckF1dGhvcml0eUlkOiB3YXRlckF1dGhvcml0eUlkLFxuICAgICAgb3A6IG9wLFxuICAgIH0pO1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIHNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcy5zYW1wbGluZ3NQYWdlLnNhbXBsaW5nUHJvcGVydGllc1JvdXRlLnVybCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGdldEFkZHJlc3MgPSAoKSA9PiB7XG4gICAgcmV0dXJuIE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCA8IG1hbmhvbGVBZGRyZXNzLnRleHQubGVuZ3RoXG4gICAgICA/IG1hbmhvbGVBZGRyZXNzLnRleHQuc2xpY2UoMCwgTU9CSUxFX01PREFMX1RFWFRfTEVOR1RIKSArICdcXHUyMDI2J1xuICAgICAgOiBtYW5ob2xlQWRkcmVzcy50ZXh0O1xuICB9O1xuXG4gIGNvbnN0IHsgbGF0X2xuZyB9ID0gbWFuaG9sZUFkZHJlc3M7XG4gIGNvbnN0IGxvY2F0aW9uU3RyID0gYCR7bGF0X2xuZ1swXX0sJHtsYXRfbG5nWzFdfWA7XG4gIGNvbnN0IGxvY2F0aW9uU3RyV2F6ZSA9IGBsbD0ke2xvY2F0aW9uU3RyfWA7XG5cbiAgY29uc3QgbW9iaWxlQWN0aW9uc09wdHNNYXA6IHsgW2tleTogc3RyaW5nXTogT2JqZWN0IH0gPSB7XG4gICAgY29sbGVjdDoge1xuICAgICAgY2xpY2tPcDogQ09MTEVDVF9TQU1QTElOR19PUCxcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNhbmNlbF9zYW1wbGluZycpLFxuICAgIH0sXG4gICAgY2FuY2VsOiB7XG4gICAgICBjbGlja09wOiBDQU5DRUxfU0FNUExJTkdfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jYW5jZWxfc2FtcGxpbmcnKSxcbiAgICB9LFxuICAgIHJldmVydF9jYW5jZWw6IHtcbiAgICAgIGNsaWNrT3A6IFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5yZXZlcnRfY2FuY2VsbGF0aW9uJyksXG4gICAgfSxcbiAgICBkZWxldGU6IHtcbiAgICAgIGNsaWNrT3A6IERFTEVURV9TQU1QTElOR19PUCxcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmRlbGV0ZScpLFxuICAgIH0sXG4gICAgcHJvcGVydGllc19lZGl0OiB7XG4gICAgICBjbGlja09wOiBFRElUX1BST1BFUlRJRVNfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19wcm9wZXJ0aWVzJyksXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBidWlsZEFjdGlvbkl0ZW0gPSAoa2V5OiBzdHJpbmcsIHByb3BzPzogb2JqZWN0KTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBvcHQgPSBtb2JpbGVBY3Rpb25zT3B0c01hcFtrZXldO1xuICAgIGNvbnN0IGRpc2FibGVkID0gcHJvcHMgPyBwcm9wc1snZGlzYWJsZWQnXSA6IGZhbHNlO1xuICAgIGNvbnN0IGNsaWNrT3AgPSBkaXNhYmxlZCA/IGZhbHNlIDogb3B0WydjbGlja09wJ107XG4gICAgcmV0dXJuIChcbiAgICAgIDxMaXN0R3JvdXBJdGVtU3R5bGVcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQWN0aW9uQ2xpY2soY2xpY2tPcCl9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgID5cbiAgICAgICAge29wdFsndmFsdWUnXX1cbiAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgbWFpbkJ1dHRvbkFjdGlvbiA9IChzdGF0dXMpID0+IHtcbiAgICBjb25zdCBmbXRTdGF0dXMgPSBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyhzdGF0dXMubWFjaGluZV9uYW1lKTtcbiAgICBpZiAoWydwbGFubmVkJywgJ2FjdGl2ZScsICdyZWFkeSddLmluY2x1ZGVzKGZtdFN0YXR1cykpIHtcbiAgICAgIHJldHVybiBDT0xMRUNUX1NBTVBMSU5HX09QO1xuICAgIH1cbiAgICByZXR1cm4gRURJVF9QUk9QRVJUSUVTX09QO1xuICB9O1xuXG4gIGNvbnN0IG1haW5CdXR0b25UaXRsZSA9IChzdGF0dXMpID0+IHtcbiAgICBjb25zdCBmbXRTdGF0dXMgPSBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyhzdGF0dXMubWFjaGluZV9uYW1lKTtcbiAgICBpZiAoWydwbGFubmVkJywgJ2FjdGl2ZScsICdyZWFkeSddLmluY2x1ZGVzKGZtdFN0YXR1cykpIHtcbiAgICAgIHJldHVybiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNvbGxlY3QnKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NvbGxlY3RlZCcpIHtcbiAgICAgIHJldHVybiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nX3Byb3BlcnRpZXMnKTtcbiAgICB9XG4gICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfcHJvcGVydGllcycpO1xuICB9O1xuXG4gIGNvbnN0IGJ1aWxkTW9iaWxlQWN0aW9ucyA9ICgpID0+IHtcbiAgICBjb25zdCBmbXRTdGF0dXMgPSBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyhzdGF0dXMubWFjaGluZV9uYW1lKTtcbiAgICBsZXQgcmVzdWx0OiBSZWFjdEVsZW1lbnRbXSA9IFtdO1xuXG4gICAgaWYgKFsncGxhbm5lZCcsICdhY3RpdmUnLCAncmVhZHknXS5pbmNsdWRlcyhmbXRTdGF0dXMpKSB7XG4gICAgICByZXN1bHQucHVzaChidWlsZEFjdGlvbkl0ZW0oJ2NhbmNlbCcpKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NvbGxlY3RlZCcpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJykpO1xuICAgIH0gZWxzZSBpZiAoZm10U3RhdHVzID09PSAnY2FuY2VsZWQnKSB7XG4gICAgICByZXN1bHQucHVzaChidWlsZEFjdGlvbkl0ZW0oJ3JldmVydF9jYW5jZWwnKSk7XG4gICAgfSBlbHNlIGlmIChmbXRTdGF0dXMgPT09ICdjb21wbGV0ZWQnKSB7XG4gICAgICByZXN1bHQucHVzaChidWlsZEFjdGlvbkl0ZW0oJ2NhbmNlbCcsIHsgZGlzYWJsZWQ6IHRydWUgfSkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlPlxuICAgICAgPE92ZXJsYXlTdHlsZSAvPlxuICAgICAgPE1vZGFsQ29udGFpbmVyU3R5bGU+XG4gICAgICAgIDxMaXN0R3JvdXBTdHlsZT5cbiAgICAgICAgICA8Um93SW5mb1N0eWxlPlxuICAgICAgICAgICAgPENsb3NlVG9wQnV0dG9uU3R5bGUgb25DbGljaz17b25DbG9zZU1vZGFsfT5cbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRpbWVzfSAvPlxuICAgICAgICAgICAgPC9DbG9zZVRvcEJ1dHRvblN0eWxlPlxuICAgICAgICAgICAgPFNpdGVEZXRhaWxzU3R5bGU+XG4gICAgICAgICAgICAgIDxTaXRlRGV0YWlsc0ZpcnN0U3R5bGU+XG4gICAgICAgICAgICAgICAgPFNpdGVTdHlsZT57c2l0ZX08L1NpdGVTdHlsZT5cbiAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ0lkfTwvZGl2PlxuICAgICAgICAgICAgICA8L1NpdGVEZXRhaWxzRmlyc3RTdHlsZT5cbiAgICAgICAgICAgICAgPFNpdGVEZXRhaWxzU2Vjb25kU3R5bGU+XG4gICAgICAgICAgICAgICAgPFN0YXR1c0NvbnRhaW5lclN0eWxlIGlzTW9iaWxlUHJvcGVydGllcz17aXNNb2JpbGVQcm9wZXJ0aWVzfT5cbiAgICAgICAgICAgICAgICAgIDxTYW1wbGluZ1N0YXR1cyBzdGF0dXM9e3N0YXR1c30gLz5cbiAgICAgICAgICAgICAgICA8L1N0YXR1c0NvbnRhaW5lclN0eWxlPlxuICAgICAgICAgICAgICAgIDxCb3R0b21TZWN0aW9uU3R5bGU+XG4gICAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ0RhdGV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ1RpbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9Cb3R0b21TZWN0aW9uU3R5bGU+XG4gICAgICAgICAgICAgIDwvU2l0ZURldGFpbHNTZWNvbmRTdHlsZT5cbiAgICAgICAgICAgIDwvU2l0ZURldGFpbHNTdHlsZT5cbiAgICAgICAgICAgIDxJbmZvTGluZVN0eWxlPlxuICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5sYWJfbmFtZScpfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtsYWJOYW1lIHx8IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uud2FzX25vdF9zZWxlY3RlZCcpfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L0luZm9MaW5lU3R5bGU+XG4gICAgICAgICAgPC9Sb3dJbmZvU3R5bGU+XG5cbiAgICAgICAgICA8TGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgICAgPGltZyBzcmM9e1Bpbn0gYWx0PVwicGluXCIgLz5cbiAgICAgICAgICAgIDxzcGFuPntnZXRBZGRyZXNzKCl9PC9zcGFuPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj17YGh0dHBzOi8vd3d3LndhemUuY29tL3VsPyR7bG9jYXRpb25TdHJXYXplfSZuYXZpZ2F0ZT15ZXNgfVxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9e1N0eWxlLndhemVMaW5rfSBzcmM9e3dhemVJY29ufSBhbHQ9XCJ3YXplLWljb25cIiAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj17YGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1DdXJyZW50K0xvY2F0aW9uJmRlc3RpbmF0aW9uPSR7bG9jYXRpb25TdHJ9YH1cbiAgICAgICAgICAgICAgcmVsPVwibm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlLmdvb2dsZUxpbmt9XG4gICAgICAgICAgICAgICAgc3JjPXtnb29nbGVNYXBzSWNvbn1cbiAgICAgICAgICAgICAgICBhbHQ9XCJnb29nbGUtbWFwLWljb25cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuXG4gICAgICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZT5cbiAgICAgICAgICAgIDxDb250YWN0TnVtYmVyUm93U3R5bGVcbiAgICAgICAgICAgICAgaHJlZj17Y29udGFjdE51bWJlciA/IGB0ZWw6JHtjb250YWN0TnVtYmVyfWAgOiAnIyd9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtQaG9uZX0gYWx0PVwicGluXCIgLz5cbiAgICAgICAgICAgICAge2NvbnRhY3QgfHwgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5ub19jb250YWN0Jyl9XG4gICAgICAgICAgICA8L0NvbnRhY3ROdW1iZXJSb3dTdHlsZT5cbiAgICAgICAgICA8L0xpc3RHcm91cEl0ZW1TdHlsZT5cblxuICAgICAgICAgIHtidWlsZE1vYmlsZUFjdGlvbnMoKX1cbiAgICAgICAgPC9MaXN0R3JvdXBTdHlsZT5cbiAgICAgICAgPE1haW5CdXR0b25TdHlsZVxuICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICByb3VuZGVkPXtmYWxzZX1cbiAgICAgICAgICBvdXRsaW5lXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQWN0aW9uQ2xpY2sobWFpbkJ1dHRvbkFjdGlvbihzdGF0dXMpKX1cbiAgICAgICAgPlxuICAgICAgICAgIHttYWluQnV0dG9uVGl0bGUoc3RhdHVzKX1cbiAgICAgICAgPC9NYWluQnV0dG9uU3R5bGU+XG4gICAgICA8L01vZGFsQ29udGFpbmVyU3R5bGU+XG4gICAgPC9TYW1wbGluZ01vYmlsZU1vZGFsU3R5bGU+XG4gICk7XG59O1xuIl19
|
|
355
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nTW9iaWxlTW9kYWwudHN4Il0sIm5hbWVzIjpbIlNhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZSIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicDEiLCJMaXN0R3JvdXBTdHlsZSIsIkxpc3RHcm91cCIsIk1vZGFsQ29udGFpbmVyU3R5bGUiLCJ6SW5kZXhlcyIsIm1vZGFsIiwiTGlzdEdyb3VwSXRlbVN0eWxlIiwiSXRlbSIsImZvbnRTaXplIiwibWQiLCJkaXNhYmxlZCIsIm5hdHVyYWwiLCJuNTAiLCJzYW1wbGluZ3NQYWdlIiwibW9iaWxlIiwibW9kYWxMaXN0SXRlbUNvbG9yIiwiUm93SW5mb1N0eWxlIiwibjEiLCJJbmZvTGluZVN0eWxlIiwibjYwIiwiT3ZlcmxheVN0eWxlIiwibW9kYWxPdmVybGF5QmFja2dyb3VuZCIsIk1haW5CdXR0b25TdHlsZSIsIkJ1dHRvbiIsIlNpdGVTdHlsZSIsIkNvbnRhY3ROdW1iZXJSb3dTdHlsZSIsImEiLCJTaXRlRGV0YWlsc1N0eWxlIiwiU2l0ZURldGFpbHNGaXJzdFN0eWxlIiwiU2l0ZURldGFpbHNTZWNvbmRTdHlsZSIsIkJvdHRvbVNlY3Rpb25TdHlsZSIsIlN0YXR1c0NvbnRhaW5lclN0eWxlIiwiYXR0cnMiLCJwcm9wcyIsImlzTW9iaWxlUHJvcGVydGllcyIsIkNsb3NlVG9wQnV0dG9uU3R5bGUiLCJuMTAwIiwiU2FtcGxpbmdNb2JpbGVNb2RhbCIsIm9uQ2xvc2VNb2RhbCIsInNhbXBsaW5nIiwiY29udGFjdCIsImNvbnRhY3ROdW1iZXIiLCJjb250YWN0X251bWJlciIsImxhYk5hbWUiLCJsYWJfbmFtZSIsIm1hbmhvbGVBZGRyZXNzIiwibWFuaG9sZV9hZGRyZXNzIiwic3RhdHVzIiwic2l0ZSIsInNhbXBsaW5nSWQiLCJzYW1wbGluZ19pZCIsInNhbXBsaW5nRGF0ZSIsInNhbXBsaW5nX2RhdGUiLCJzYW1wbGluZ1RpbWUiLCJzYW1wbGluZ190aW1lIiwiaGlzdG9yeSIsImRpc3BhdGNoIiwibmF2Q29udGV4dCIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsImhhbmRsZUFjdGlvbkNsaWNrIiwib3AiLCJpZCIsInNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcyIsImxvY2FsZSIsInB1c2giLCJzYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZSIsInVybCIsImdldEFkZHJlc3MiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJ0ZXh0IiwibGVuZ3RoIiwic2xpY2UiLCJsYXRfbG5nIiwibG9jYXRpb25TdHIiLCJsb2NhdGlvblN0cldhemUiLCJtb2JpbGVBY3Rpb25zT3B0c01hcCIsImNvbGxlY3QiLCJjbGlja09wIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsInZhbHVlIiwiaTE4biIsInQiLCJjYW5jZWwiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJyZXZlcnRfY2FuY2VsIiwiUkVWRVJUX0NBTkNFTExBVElPTiIsImRlbGV0ZSIsIkRFTEVURV9TQU1QTElOR19PUCIsInByb3BlcnRpZXNfZWRpdCIsIkVESVRfUFJPUEVSVElFU19PUCIsIm1hbmhvbGVfZWRpdCIsIk1BTkhPTEVfUFJPUEVSVElFU19PUCIsImJ1aWxkQWN0aW9uSXRlbSIsImtleSIsIm9wdCIsIm1haW5CdXR0b25BY3Rpb24iLCJmbXRTdGF0dXMiLCJtYWNoaW5lX25hbWUiLCJpbmNsdWRlcyIsIm1haW5CdXR0b25UaXRsZSIsImJ1aWxkTW9iaWxlQWN0aW9ucyIsInJlc3VsdCIsImZhVGltZXMiLCJQaW4iLCJTdHlsZSIsIndhemVMaW5rIiwid2F6ZUljb24iLCJnb29nbGVMaW5rIiwiZ29vZ2xlTWFwc0ljb24iLCJQaG9uZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBSUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBZ0JBLElBQU1BLHdCQUF3QixHQUFHQywwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSw4SkFnQmpCO0FBQUEsTUFBR0MsS0FBSCxRQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCQyxPQUFsQixDQUEwQkMsRUFBekM7QUFBQSxDQWhCaUIsQ0FBOUI7O0FBb0JBLElBQU1DLGNBQWMsR0FBRywrQkFBT0MseUJBQVAsQ0FBSDtBQUFBO0FBQUE7QUFBQSxxREFBcEI7O0FBS0EsSUFBTUMsbUJBQW1CLEdBQUdSLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLGlFQUtaO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDTyxRQUFOLENBQWVDLEtBQTlCO0FBQUEsQ0FMWSxDQUF6Qjs7QUFRQSxJQUFNQyxrQkFBa0IsR0FBRywrQkFBT0osMEJBQVVLLElBQWpCLENBQUg7QUFBQTtBQUFBO0FBQUEsaUxBQ1Q7QUFBQSxNQUFHVixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNXLFFBQU4sQ0FBZUMsRUFBOUI7QUFBQSxDQURTLEVBT2I7QUFBQSxNQUFHQyxRQUFILFNBQUdBLFFBQUg7QUFBQSxNQUFhYixLQUFiLFNBQWFBLEtBQWI7QUFBQSxTQUNQYSxRQUFRLEdBQ0piLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmEsT0FBbEIsQ0FBMEJDLEdBRHRCLEdBRUpmLEtBQUssQ0FBQ2dCLGFBQU4sQ0FBb0JDLE1BQXBCLENBQTJCQyxrQkFIeEI7QUFBQSxDQVBhLENBQXhCOztBQWFBLElBQU1DLFlBQVksR0FBR3JCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHdKQUVGO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCYSxPQUFsQixDQUEwQk0sRUFBekM7QUFBQSxDQUZFLENBQWxCOztBQVNBLElBQU1DLGFBQWEsR0FBR3ZCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHdIQUVSO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCYSxPQUFsQixDQUEwQlEsR0FBekM7QUFBQSxDQUZRLENBQW5COztBQVNBLElBQU1DLFlBQVksR0FBR3pCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLG1HQUNJO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FDbEJBLEtBQUssQ0FBQ2dCLGFBQU4sQ0FBb0JDLE1BQXBCLENBQTJCTyxzQkFEVDtBQUFBLENBREosRUFRTDtBQUFBLE1BQUd4QixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNPLFFBQU4sQ0FBZUMsS0FBOUI7QUFBQSxDQVJLLENBQWxCOztBQVdBLElBQU1pQixlQUFlLEdBQUcsK0JBQU9DLGFBQVAsQ0FBSDtBQUFBO0FBQUE7QUFBQSxvSkFNQztBQUFBLE1BQUcxQixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JhLE9BQWxCLENBQTBCTSxFQUF6QztBQUFBLENBTkQsQ0FBckI7O0FBVUEsSUFBTU8sU0FBUyxHQUFHN0IsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsd0dBQWY7O0FBT0EsSUFBTTZCLHFCQUFxQixHQUFHOUIsMEJBQU8rQixDQUFWO0FBQUE7QUFBQTtBQUFBLDBCQUEzQjs7QUFNQSxJQUFNQyxnQkFBZ0IsR0FBR2hDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLG9LQU9YO0FBQUEsTUFBR0MsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCYSxPQUFsQixDQUEwQlEsR0FBekM7QUFBQSxDQVBXLENBQXRCOztBQVVBLElBQU1TLHFCQUFxQixHQUFHakMsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsUUFBM0I7O0FBRUEsSUFBTWlDLHNCQUFzQixHQUFHbEMsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsK0VBQTVCOztBQU9BLElBQU1rQyxrQkFBa0IsR0FBR25DLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLDhCQUF4Qjs7QUFTQSxJQUFNbUMsb0JBQW9CLEdBQUdwQywwQkFBT0MsR0FBUCxDQUFXb0MsS0FBWCxDQUMzQixVQUFDQyxLQUFEO0FBQUEsU0FBdUM7QUFDckNDLElBQUFBLGtCQUFrQixFQUFFRCxLQUFLLENBQUNDO0FBRFcsR0FBdkM7QUFBQSxDQUQyQixDQUFIO0FBQUE7QUFBQTtBQUFBLDRHQWF0QjtBQUFBLE1BQUdBLGtCQUFILFVBQUdBLGtCQUFIO0FBQUEsU0FDQUEsa0JBQWtCLGdEQURsQjtBQUFBLENBYnNCLENBQTFCOztBQW9CQSxJQUFNQyxtQkFBbUIsR0FBR3hDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLGlRQVFUO0FBQUEsTUFBR0MsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCYSxPQUFsQixDQUEwQnlCLElBQXpDO0FBQUEsQ0FSUyxFQVNkO0FBQUEsTUFBR3ZDLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmEsT0FBbEIsQ0FBMEJNLEVBQXpDO0FBQUEsQ0FUYyxFQVVIO0FBQUEsTUFBR3BCLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmEsT0FBbEIsQ0FBMEJ5QixJQUF6QztBQUFBLENBVkcsQ0FBekI7O0FBbUJPLElBQU1DLG1CQUE0QyxHQUFHLFNBQS9DQSxtQkFBK0MsU0FJdEQ7QUFBQSxNQUhKQyxZQUdJLFVBSEpBLFlBR0k7QUFBQSxNQUZKQyxRQUVJLFVBRkpBLFFBRUk7QUFBQSxNQURKTCxrQkFDSSxVQURKQSxrQkFDSTtBQUNKLE1BQ0VNLE9BREYsR0FVSUQsUUFWSixDQUNFQyxPQURGO0FBQUEsTUFFa0JDLGFBRmxCLEdBVUlGLFFBVkosQ0FFRUcsY0FGRjtBQUFBLE1BR1lDLE9BSFosR0FVSUosUUFWSixDQUdFSyxRQUhGO0FBQUEsTUFJbUJDLGNBSm5CLEdBVUlOLFFBVkosQ0FJRU8sZUFKRjtBQUFBLE1BS0VDLE1BTEYsR0FVSVIsUUFWSixDQUtFUSxNQUxGO0FBQUEsTUFNRUMsSUFORixHQVVJVCxRQVZKLENBTUVTLElBTkY7QUFBQSxNQU9lQyxVQVBmLEdBVUlWLFFBVkosQ0FPRVcsV0FQRjtBQUFBLE1BUWlCQyxZQVJqQixHQVVJWixRQVZKLENBUUVhLGFBUkY7QUFBQSxNQVNpQkMsWUFUakIsR0FVSWQsUUFWSixDQVNFZSxhQVRGO0FBV0EsTUFBTUMsT0FBTyxHQUFHLGlDQUFoQjtBQUNBLE1BQU1DLFFBQVEsR0FBRyw4QkFBakI7QUFDQSxNQUFNQyxVQUFVLEdBQUcsNkJBQ2pCLFVBQUNDLEtBQUQ7QUFBQSxXQUEwQ0EsS0FBSyxDQUFDQyxnQkFBTixDQUF1QkYsVUFBakU7QUFBQSxHQURpQixDQUFuQjtBQUlBLE1BQU1HLGdCQUFnQixHQUFHLDZCQUN2QixVQUFDRixLQUFEO0FBQUEsV0FDRUEsS0FBSyxDQUFDRyxXQUFOLENBQWtCRCxnQkFEcEI7QUFBQSxHQUR1QixDQUF6Qjs7QUFLQSxNQUFNRSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUNDLEVBQUQsRUFBdUI7QUFDL0MsUUFBSSxDQUFDQSxFQUFMLEVBQVM7QUFDUDtBQUNEOztBQUVELFFBQVFDLEVBQVIsR0FBZXpCLFFBQWYsQ0FBUXlCLEVBQVI7QUFDQVIsSUFBQUEsUUFBUSxDQUFDLHFDQUFnQlEsRUFBaEIsQ0FBRCxDQUFSO0FBQ0EsUUFBTUMsMkJBQTJCLEdBQUcsZ0JBQUs7QUFDdkNELE1BQUFBLEVBQUUsRUFBRUEsRUFEbUM7QUFFdkNFLE1BQUFBLE1BQU0sRUFBRVQsVUFBVSxDQUFDUyxNQUZvQjtBQUd2Q04sTUFBQUEsZ0JBQWdCLEVBQUVBLGdCQUhxQjtBQUl2Q0csTUFBQUEsRUFBRSxFQUFFQTtBQUptQyxLQUFMLENBQXBDO0FBTUFSLElBQUFBLE9BQU8sQ0FBQ1ksSUFBUixDQUNFRiwyQkFBMkIsQ0FBQ3BELGFBQTVCLENBQTBDdUQsdUJBQTFDLENBQWtFQyxHQURwRTtBQUdELEdBaEJEOztBQWtCQSxNQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBYSxHQUFNO0FBQ3ZCLFdBQU9DLCtDQUEyQjFCLGNBQWMsQ0FBQzJCLElBQWYsQ0FBb0JDLE1BQS9DLEdBQ0g1QixjQUFjLENBQUMyQixJQUFmLENBQW9CRSxLQUFwQixDQUEwQixDQUExQixFQUE2QkgsNENBQTdCLElBQXlELFFBRHRELEdBRUgxQixjQUFjLENBQUMyQixJQUZuQjtBQUdELEdBSkQ7O0FBTUEsTUFBUUcsT0FBUixHQUFvQjlCLGNBQXBCLENBQVE4QixPQUFSO0FBQ0EsTUFBTUMsV0FBVyxhQUFNRCxPQUFPLENBQUMsQ0FBRCxDQUFiLGNBQW9CQSxPQUFPLENBQUMsQ0FBRCxDQUEzQixDQUFqQjtBQUNBLE1BQU1FLGVBQWUsZ0JBQVNELFdBQVQsQ0FBckI7QUFFQSxNQUFNRSxvQkFBK0MsR0FBRztBQUN0REMsSUFBQUEsT0FBTyxFQUFFO0FBQ1BDLE1BQUFBLE9BQU8sRUFBRUMsdUNBREY7QUFFUEMsTUFBQUEsS0FBSyxFQUFFQyxjQUFLQyxDQUFMLENBQU8sZ0NBQVA7QUFGQSxLQUQ2QztBQUt0REMsSUFBQUEsTUFBTSxFQUFFO0FBQ05MLE1BQUFBLE9BQU8sRUFBRU0sc0NBREg7QUFFTkosTUFBQUEsS0FBSyxFQUFFQyxjQUFLQyxDQUFMLENBQU8sZ0NBQVA7QUFGRCxLQUw4QztBQVN0REcsSUFBQUEsYUFBYSxFQUFFO0FBQ2JQLE1BQUFBLE9BQU8sRUFBRVEsdUNBREk7QUFFYk4sTUFBQUEsS0FBSyxFQUFFQyxjQUFLQyxDQUFMLENBQU8sb0NBQVA7QUFGTSxLQVR1QztBQWF0REssSUFBQUEsTUFBTSxFQUFFO0FBQ05ULE1BQUFBLE9BQU8sRUFBRVUsc0NBREg7QUFFTlIsTUFBQUEsS0FBSyxFQUFFQyxjQUFLQyxDQUFMLENBQU8sdUJBQVA7QUFGRCxLQWI4QztBQWlCdERPLElBQUFBLGVBQWUsRUFBRTtBQUNmWCxNQUFBQSxPQUFPLEVBQUVZLHNDQURNO0FBRWZWLE1BQUFBLEtBQUssRUFBRUMsY0FBS0MsQ0FBTCxDQUFPLG9DQUFQO0FBRlEsS0FqQnFDO0FBcUJ0RFMsSUFBQUEsWUFBWSxFQUFFO0FBQ1piLE1BQUFBLE9BQU8sRUFBRWMseUNBREc7QUFFWlosTUFBQUEsS0FBSyxFQUFFQyxjQUFLQyxDQUFMLENBQU8sbUNBQVA7QUFGSztBQXJCd0MsR0FBeEQ7O0FBMkJBLE1BQU1XLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsR0FBRCxFQUFjL0QsS0FBZCxFQUErQztBQUNyRSxRQUFNZ0UsR0FBRyxHQUFHbkIsb0JBQW9CLENBQUNrQixHQUFELENBQWhDO0FBQ0EsUUFBTXRGLFFBQVEsR0FBR3VCLEtBQUssR0FBR0EsS0FBSyxDQUFDLFVBQUQsQ0FBUixHQUF1QixLQUE3QztBQUNBLFFBQU0rQyxPQUFPLEdBQUd0RSxRQUFRLEdBQUcsS0FBSCxHQUFXdUYsR0FBRyxDQUFDLFNBQUQsQ0FBdEM7QUFDQSx3QkFDRSw2QkFBQyxrQkFBRDtBQUNFLE1BQUEsT0FBTyxFQUFFO0FBQUEsZUFBTW5DLGlCQUFpQixDQUFDa0IsT0FBRCxDQUF2QjtBQUFBLE9BRFg7QUFFRSxNQUFBLFFBQVEsRUFBRXRFO0FBRlosT0FJR3VGLEdBQUcsQ0FBQyxPQUFELENBSk4sQ0FERjtBQVFELEdBWkQ7O0FBY0EsTUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUFDbkQsTUFBRCxFQUFZO0FBQ25DLFFBQU1vRCxTQUFTLEdBQUcseURBQThCcEQsTUFBTSxDQUFDcUQsWUFBckMsQ0FBbEI7O0FBQ0EsUUFBSSxDQUFDLFNBQUQsRUFBWSxRQUFaLEVBQXNCLE9BQXRCLEVBQStCQyxRQUEvQixDQUF3Q0YsU0FBeEMsQ0FBSixFQUF3RDtBQUN0RCxhQUFPbEIsdUNBQVA7QUFDRDs7QUFDRCxXQUFPVyxzQ0FBUDtBQUNELEdBTkQ7O0FBUUEsTUFBTVUsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDdkQsTUFBRCxFQUFZO0FBQ2xDLFFBQU1vRCxTQUFTLEdBQUcseURBQThCcEQsTUFBTSxDQUFDcUQsWUFBckMsQ0FBbEI7O0FBQ0EsUUFBSSxDQUFDLFNBQUQsRUFBWSxRQUFaLEVBQXNCLE9BQXRCLEVBQStCQyxRQUEvQixDQUF3Q0YsU0FBeEMsQ0FBSixFQUF3RDtBQUN0RCxhQUFPaEIsY0FBS0MsQ0FBTCxDQUFPLHdCQUFQLENBQVA7QUFDRCxLQUZELE1BRU8sSUFBSWUsU0FBUyxLQUFLLFdBQWxCLEVBQStCO0FBQ3BDLGFBQU9oQixjQUFLQyxDQUFMLENBQU8sb0NBQVAsQ0FBUDtBQUNEOztBQUNELFdBQU9ELGNBQUtDLENBQUwsQ0FBTyxvQ0FBUCxDQUFQO0FBQ0QsR0FSRDs7QUFVQSxNQUFNbUIsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFxQixHQUFNO0FBQy9CLFFBQU1KLFNBQVMsR0FBRyx5REFBOEJwRCxNQUFNLENBQUNxRCxZQUFyQyxDQUFsQjtBQUNBLFFBQUlJLE1BQXNCLEdBQUcsRUFBN0I7O0FBRUEsUUFBSSxDQUFDLFNBQUQsRUFBWSxRQUFaLEVBQXNCLE9BQXRCLEVBQStCSCxRQUEvQixDQUF3Q0YsU0FBeEMsQ0FBSixFQUF3RDtBQUN0REssTUFBQUEsTUFBTSxDQUFDckMsSUFBUCxDQUFZNEIsZUFBZSxDQUFDLFFBQUQsQ0FBM0I7QUFDQVMsTUFBQUEsTUFBTSxDQUFDckMsSUFBUCxDQUFZNEIsZUFBZSxDQUFDLGNBQUQsRUFBaUI7QUFBRXJGLFFBQUFBLFFBQVEsRUFBRTtBQUFaLE9BQWpCLENBQTNCO0FBQ0QsS0FIRCxNQUdPLElBQUl5RixTQUFTLEtBQUssV0FBbEIsRUFBK0I7QUFDcENLLE1BQUFBLE1BQU0sQ0FBQ3JDLElBQVAsQ0FBWTRCLGVBQWUsQ0FBQyxRQUFELENBQTNCO0FBQ0FTLE1BQUFBLE1BQU0sQ0FBQ3JDLElBQVAsQ0FBWTRCLGVBQWUsQ0FBQyxjQUFELEVBQWlCO0FBQUVyRixRQUFBQSxRQUFRLEVBQUU7QUFBWixPQUFqQixDQUEzQjtBQUNELEtBSE0sTUFHQSxJQUFJeUYsU0FBUyxLQUFLLFVBQWxCLEVBQThCO0FBQ25DSyxNQUFBQSxNQUFNLENBQUNyQyxJQUFQLENBQVk0QixlQUFlLENBQUMsZUFBRCxDQUEzQjtBQUNBUyxNQUFBQSxNQUFNLENBQUNyQyxJQUFQLENBQVk0QixlQUFlLENBQUMsY0FBRCxFQUFpQjtBQUFFckYsUUFBQUEsUUFBUSxFQUFFO0FBQVosT0FBakIsQ0FBM0I7QUFDRCxLQUhNLE1BR0EsSUFBSXlGLFNBQVMsS0FBSyxXQUFsQixFQUErQjtBQUNwQ0ssTUFBQUEsTUFBTSxDQUFDckMsSUFBUCxDQUFZNEIsZUFBZSxDQUFDLFFBQUQsRUFBVztBQUFFckYsUUFBQUEsUUFBUSxFQUFFO0FBQVosT0FBWCxDQUEzQjtBQUNBOEYsTUFBQUEsTUFBTSxDQUFDckMsSUFBUCxDQUFZNEIsZUFBZSxDQUFDLGNBQUQsRUFBaUI7QUFBRXJGLFFBQUFBLFFBQVEsRUFBRTtBQUFaLE9BQWpCLENBQTNCO0FBQ0Q7O0FBRUQsV0FBTzhGLE1BQVA7QUFDRCxHQW5CRDs7QUFxQkEsc0JBQ0UsNkJBQUMsd0JBQUQscUJBQ0UsNkJBQUMsWUFBRCxPQURGLGVBRUUsNkJBQUMsbUJBQUQscUJBQ0UsNkJBQUMsY0FBRCxxQkFDRSw2QkFBQyxZQUFELHFCQUNFLDZCQUFDLG1CQUFEO0FBQXFCLElBQUEsT0FBTyxFQUFFbEU7QUFBOUIsa0JBQ0UsNkJBQUMsaUNBQUQ7QUFBaUIsSUFBQSxJQUFJLEVBQUVtRTtBQUF2QixJQURGLENBREYsZUFJRSw2QkFBQyxnQkFBRCxxQkFDRSw2QkFBQyxxQkFBRCxxQkFDRSw2QkFBQyxTQUFELFFBQVl6RCxJQUFaLENBREYsZUFFRSwwQ0FBTUMsVUFBTixDQUZGLENBREYsZUFLRSw2QkFBQyxzQkFBRCxxQkFDRSw2QkFBQyxvQkFBRDtBQUFzQixJQUFBLGtCQUFrQixFQUFFZjtBQUExQyxrQkFDRSw2QkFBQyx1QkFBRDtBQUFnQixJQUFBLE1BQU0sRUFBRWE7QUFBeEIsSUFERixDQURGLGVBSUUsNkJBQUMsa0JBQUQscUJBQ0UsMENBQU1JLFlBQU4sQ0FERixlQUVFLDBDQUFNRSxZQUFOLENBRkYsQ0FKRixDQUxGLENBSkYsZUFtQkUsNkJBQUMsYUFBRCxxQkFDRSwyQ0FDRzhCLGNBQUtDLENBQUwsQ0FBTyw4Q0FBUCxDQURILENBREYsZUFJRSwyQ0FDR3pDLE9BQU8sSUFBSXdDLGNBQUtDLENBQUwsQ0FBTyxpQ0FBUCxDQURkLENBSkYsQ0FuQkYsQ0FERixlQThCRSw2QkFBQyxrQkFBRCxxQkFDRTtBQUFLLElBQUEsR0FBRyxFQUFFc0IseUJBQVY7QUFBZSxJQUFBLEdBQUcsRUFBQztBQUFuQixJQURGLGVBRUUsMkNBQU9wQyxVQUFVLEVBQWpCLENBRkYsZUFHRTtBQUNFLElBQUEsSUFBSSxvQ0FBNkJPLGVBQTdCLGtCQUROO0FBRUUsSUFBQSxNQUFNLEVBQUMsUUFGVDtBQUdFLElBQUEsR0FBRyxFQUFDO0FBSE4sa0JBS0U7QUFBSyxJQUFBLFNBQVMsRUFBRThCLHFCQUFNQyxRQUF0QjtBQUFnQyxJQUFBLEdBQUcsRUFBRUMsaUJBQXJDO0FBQStDLElBQUEsR0FBRyxFQUFDO0FBQW5ELElBTEYsQ0FIRixlQVVFO0FBQ0UsSUFBQSxJQUFJLHVGQUFnRmpDLFdBQWhGLENBRE47QUFFRSxJQUFBLEdBQUcsRUFBQyxZQUZOO0FBR0UsSUFBQSxNQUFNLEVBQUM7QUFIVCxrQkFLRTtBQUNFLElBQUEsU0FBUyxFQUFFK0IscUJBQU1HLFVBRG5CO0FBRUUsSUFBQSxHQUFHLEVBQUVDLHlCQUZQO0FBR0UsSUFBQSxHQUFHLEVBQUM7QUFITixJQUxGLENBVkYsQ0E5QkYsZUFxREUsNkJBQUMsa0JBQUQscUJBQ0UsNkJBQUMscUJBQUQ7QUFDRSxJQUFBLElBQUksRUFBRXRFLGFBQWEsaUJBQVVBLGFBQVYsSUFBNEI7QUFEakQsa0JBR0U7QUFBSyxJQUFBLEdBQUcsRUFBRXVFLDJCQUFWO0FBQWlCLElBQUEsR0FBRyxFQUFDO0FBQXJCLElBSEYsRUFJR3hFLE9BQU8sSUFBSTJDLGNBQUtDLENBQUwsQ0FBTywyQkFBUCxDQUpkLENBREYsQ0FyREYsRUE4REdtQixrQkFBa0IsRUE5RHJCLENBREYsZUFpRUUsNkJBQUMsZUFBRDtBQUNFLElBQUEsT0FBTyxFQUFDLFNBRFY7QUFFRSxJQUFBLE9BQU8sRUFBRSxLQUZYO0FBR0UsSUFBQSxPQUFPLE1BSFQ7QUFJRSxJQUFBLE9BQU8sRUFBRTtBQUFBLGFBQU16QyxpQkFBaUIsQ0FBQ29DLGdCQUFnQixDQUFDbkQsTUFBRCxDQUFqQixDQUF2QjtBQUFBO0FBSlgsS0FNR3VELGVBQWUsQ0FBQ3ZELE1BQUQsQ0FObEIsQ0FqRUYsQ0FGRixDQURGO0FBK0VELENBdE5NIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZDLCBSZWFjdEVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBMaXN0R3JvdXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAvJztcbmltcG9ydCB7IGZhVGltZXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5pbXBvcnQgUGhvbmUgZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9zYW1wbGluZy1tb2RhbC1waG9uZS5zdmcnO1xuaW1wb3J0IFBpbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLW1vZGFsLXBpbi5zdmcnO1xuaW1wb3J0IFNhbXBsaW5nU3RhdHVzIGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXMnO1xuaW1wb3J0IGdvb2dsZU1hcHNJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbmF2aWdhdGlvbi9nb29nbGVfbWFwc19pY29uLnBuZyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHdhemVJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbmF2aWdhdGlvbi93YXplLWljb24ucG5nJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyB9IGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXNIZWxwZXInO1xuaW1wb3J0IHsgZ2V0U2FtcGxpbmdCeUlkIH0gZnJvbSAnc3JjL3N0b3JlL3NhbXBsaW5ncy9hY3Rpb25zQ3JlYXRvcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcblxuaW1wb3J0IFN0eWxlIGZyb20gJy4vc3R5bGUubW9kdWxlLnNjc3MnO1xuXG5pbXBvcnQge1xuICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIERFTEVURV9TQU1QTElOR19PUCxcbiAgRURJVF9QUk9QRVJUSUVTX09QLFxuICBNQU5IT0xFX1BST1BFUlRJRVNfT1AsXG4gIE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCxcbiAgUkVWRVJUX0NBTkNFTExBVElPTixcbiAgU2FtcGxpbmdEYXRhLFxufSBmcm9tICcuL3NhbXBsaW5nc1BhZ2VVdGlscyc7XG5cbmludGVyZmFjZSBTYW1wbGluZ01vYmlsZVByb3BzIHtcbiAgb25DbG9zZU1vZGFsOiAoKSA9PiB2b2lkO1xuICBzYW1wbGluZzogU2FtcGxpbmdEYXRhO1xuICBpc01vYmlsZVByb3BlcnRpZXM/OiBib29sZWFuO1xufVxuY29uc3QgU2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgKiB7XG4gICAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICB9XG4gIC5kcm9wcmlnaHQge1xuICAgIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICA6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuYDtcblxuY29uc3QgTGlzdEdyb3VwU3R5bGUgPSBzdHlsZWQoTGlzdEdyb3VwKWBcbiAgLyogb3ZlcnJpZGUgc2VydmVyIHN0eWxlICovXG4gIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuYDtcbmNvbnN0IE1vZGFsQ29udGFpbmVyU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDB2dztcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbmA7XG5cbmNvbnN0IExpc3RHcm91cEl0ZW1TdHlsZSA9IHN0eWxlZChMaXN0R3JvdXAuSXRlbSlgXG4gIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS5tZH07XG4gIGhlaWdodDogNTVweCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbiAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgIzg1OGE5NDdkICFpbXBvcnRhbnQgO1xuICBjb2xvcjogJHsoeyBkaXNhYmxlZCwgdGhlbWUgfSkgPT5cbiAgICBkaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm41MFxuICAgICAgOiB0aGVtZS5zYW1wbGluZ3NQYWdlLm1vYmlsZS5tb2RhbExpc3RJdGVtQ29sb3J9ICFpbXBvcnRhbnQ7XG5gO1xuXG5jb25zdCBSb3dJbmZvU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTRweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE0cHg7XG4gIGJvcmRlci1ib3R0b206IDAuNXB4IHNvbGlkICM4NThhOTQ3ZDtcbiAgcGFkZGluZzogMjJweCAzMnB4IDA7XG5gO1xuXG5jb25zdCBJbmZvTGluZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4NThhOTQ3ZDtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxNnB4IDA7XG5gO1xuXG5jb25zdCBPdmVybGF5U3R5bGUgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+XG4gICAgdGhlbWUuc2FtcGxpbmdzUGFnZS5tb2JpbGUubW9kYWxPdmVybGF5QmFja2dyb3VuZH07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS56SW5kZXhlcy5tb2RhbH07XG5gO1xuXG5jb25zdCBNYWluQnV0dG9uU3R5bGUgPSBzdHlsZWQoQnV0dG9uKWBcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW46IDEwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMjBweCk7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiA1M3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHggIWltcG9ydGFudDtcbmA7XG5cbmNvbnN0IFNpdGVTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtZmFtaWx5OiBOdW5pdG8sIEdpbHJveSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICMwMDA7XG5gO1xuXG5jb25zdCBDb250YWN0TnVtYmVyUm93U3R5bGUgPSBzdHlsZWQuYWBcbiAgaW1nIHtcbiAgICBtYXJnaW46IDAgNXB4O1xuICB9XG5gO1xuXG5jb25zdCBTaXRlRGV0YWlsc1N0eWxlID0gc3R5bGVkLmRpdmBcbiAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbmA7XG5cbmNvbnN0IFNpdGVEZXRhaWxzRmlyc3RTdHlsZSA9IHN0eWxlZC5kaXZgYDtcblxuY29uc3QgU2l0ZURldGFpbHNTZWNvbmRTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWFyZ2luOiA1cHggMCAwO1xuYDtcblxuY29uc3QgQm90dG9tU2VjdGlvblN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMHB4O1xuYDtcblxuaW50ZXJmYWNlIFNhbXBsaW5nc01vYmlsZVN0eWxlUHJvcHMge1xuICBpc01vYmlsZVByb3BlcnRpZXM/OiBib29sZWFuO1xufVxuXG5jb25zdCBTdGF0dXNDb250YWluZXJTdHlsZSA9IHN0eWxlZC5kaXYuYXR0cnMoXG4gIChwcm9wczogU2FtcGxpbmdzTW9iaWxlU3R5bGVQcm9wcykgPT4gKHtcbiAgICBpc01vYmlsZVByb3BlcnRpZXM6IHByb3BzLmlzTW9iaWxlUHJvcGVydGllcyxcbiAgfSksXG4pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBpbWcge1xuICAgIGhlaWdodDogMTRweDtcbiAgICB3aWR0aDogMTRweDtcbiAgfVxuICAkeyh7IGlzTW9iaWxlUHJvcGVydGllcyB9KSA9PlxuICAgIGlzTW9iaWxlUHJvcGVydGllcyAmJlxuICAgIGBcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBgfVxuYDtcblxuY29uc3QgQ2xvc2VUb3BCdXR0b25TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00MHB4O1xuICByaWdodDogMTBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xMDB9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfTtcbiAgYm9yZGVyOiAycHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xMDB9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS40NGVtO1xuICBtYXJnaW46IDAgOHB4IDAgMDtcbiAgcGFkZGluZzogMnB4IDAgMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTYW1wbGluZ01vYmlsZU1vZGFsOiBGQzxTYW1wbGluZ01vYmlsZVByb3BzPiA9ICh7XG4gIG9uQ2xvc2VNb2RhbCxcbiAgc2FtcGxpbmcsXG4gIGlzTW9iaWxlUHJvcGVydGllcyxcbn0pID0+IHtcbiAgY29uc3Qge1xuICAgIGNvbnRhY3QsXG4gICAgY29udGFjdF9udW1iZXI6IGNvbnRhY3ROdW1iZXIsXG4gICAgbGFiX25hbWU6IGxhYk5hbWUsXG4gICAgbWFuaG9sZV9hZGRyZXNzOiBtYW5ob2xlQWRkcmVzcyxcbiAgICBzdGF0dXMsXG4gICAgc2l0ZSxcbiAgICBzYW1wbGluZ19pZDogc2FtcGxpbmdJZCxcbiAgICBzYW1wbGluZ19kYXRlOiBzYW1wbGluZ0RhdGUsXG4gICAgc2FtcGxpbmdfdGltZTogc2FtcGxpbmdUaW1lLFxuICB9ID0gc2FtcGxpbmc7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2Q29udGV4dCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLm5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dCxcbiAgKTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eUlkID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT5cbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlQWN0aW9uQ2xpY2sgPSAob3A6IHN0cmluZyB8IG51bGwpID0+IHtcbiAgICBpZiAoIW9wKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBpZCB9ID0gc2FtcGxpbmc7XG4gICAgZGlzcGF0Y2goZ2V0U2FtcGxpbmdCeUlkKGlkKSk7XG4gICAgY29uc3Qgc2FtcGxpbmdQcm9wZXJ0aWVzVXJsUGFyYW1zID0gdXJscyh7XG4gICAgICBpZDogaWQsXG4gICAgICBsb2NhbGU6IG5hdkNvbnRleHQubG9jYWxlLFxuICAgICAgd2F0ZXJBdXRob3JpdHlJZDogd2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgIG9wOiBvcCxcbiAgICB9KTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBzYW1wbGluZ1Byb3BlcnRpZXNVcmxQYXJhbXMuc2FtcGxpbmdzUGFnZS5zYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZS51cmwsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBnZXRBZGRyZXNzID0gKCkgPT4ge1xuICAgIHJldHVybiBNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEggPCBtYW5ob2xlQWRkcmVzcy50ZXh0Lmxlbmd0aFxuICAgICAgPyBtYW5ob2xlQWRkcmVzcy50ZXh0LnNsaWNlKDAsIE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCkgKyAnXFx1MjAyNidcbiAgICAgIDogbWFuaG9sZUFkZHJlc3MudGV4dDtcbiAgfTtcblxuICBjb25zdCB7IGxhdF9sbmcgfSA9IG1hbmhvbGVBZGRyZXNzO1xuICBjb25zdCBsb2NhdGlvblN0ciA9IGAke2xhdF9sbmdbMF19LCR7bGF0X2xuZ1sxXX1gO1xuICBjb25zdCBsb2NhdGlvblN0cldhemUgPSBgbGw9JHtsb2NhdGlvblN0cn1gO1xuXG4gIGNvbnN0IG1vYmlsZUFjdGlvbnNPcHRzTWFwOiB7IFtrZXk6IHN0cmluZ106IE9iamVjdCB9ID0ge1xuICAgIGNvbGxlY3Q6IHtcbiAgICAgIGNsaWNrT3A6IENPTExFQ1RfU0FNUExJTkdfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jYW5jZWxfc2FtcGxpbmcnKSxcbiAgICB9LFxuICAgIGNhbmNlbDoge1xuICAgICAgY2xpY2tPcDogQ0FOQ0VMX1NBTVBMSU5HX09QLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY2FuY2VsX3NhbXBsaW5nJyksXG4gICAgfSxcbiAgICByZXZlcnRfY2FuY2VsOiB7XG4gICAgICBjbGlja09wOiBSRVZFUlRfQ0FOQ0VMTEFUSU9OLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UucmV2ZXJ0X2NhbmNlbGxhdGlvbicpLFxuICAgIH0sXG4gICAgZGVsZXRlOiB7XG4gICAgICBjbGlja09wOiBERUxFVEVfU0FNUExJTkdfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5kZWxldGUnKSxcbiAgICB9LFxuICAgIHByb3BlcnRpZXNfZWRpdDoge1xuICAgICAgY2xpY2tPcDogRURJVF9QUk9QRVJUSUVTX09QLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfcHJvcGVydGllcycpLFxuICAgIH0sXG4gICAgbWFuaG9sZV9lZGl0OiB7XG4gICAgICBjbGlja09wOiBNQU5IT0xFX1BST1BFUlRJRVNfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5tYW5ob2xlX3Byb3BlcnRpZXMnKSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQWN0aW9uSXRlbSA9IChrZXk6IHN0cmluZywgcHJvcHM/OiBvYmplY3QpOiBSZWFjdEVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IG9wdCA9IG1vYmlsZUFjdGlvbnNPcHRzTWFwW2tleV07XG4gICAgY29uc3QgZGlzYWJsZWQgPSBwcm9wcyA/IHByb3BzWydkaXNhYmxlZCddIDogZmFsc2U7XG4gICAgY29uc3QgY2xpY2tPcCA9IGRpc2FibGVkID8gZmFsc2UgOiBvcHRbJ2NsaWNrT3AnXTtcbiAgICByZXR1cm4gKFxuICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVBY3Rpb25DbGljayhjbGlja09wKX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgPlxuICAgICAgICB7b3B0Wyd2YWx1ZSddfVxuICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBtYWluQnV0dG9uQWN0aW9uID0gKHN0YXR1cykgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoZm10U3RhdHVzKSkge1xuICAgICAgcmV0dXJuIENPTExFQ1RfU0FNUExJTkdfT1A7XG4gICAgfVxuICAgIHJldHVybiBFRElUX1BST1BFUlRJRVNfT1A7XG4gIH07XG5cbiAgY29uc3QgbWFpbkJ1dHRvblRpdGxlID0gKHN0YXR1cykgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoZm10U3RhdHVzKSkge1xuICAgICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY29sbGVjdCcpO1xuICAgIH0gZWxzZSBpZiAoZm10U3RhdHVzID09PSAnY29sbGVjdGVkJykge1xuICAgICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfcHJvcGVydGllcycpO1xuICAgIH1cbiAgICByZXR1cm4gaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19wcm9wZXJ0aWVzJyk7XG4gIH07XG5cbiAgY29uc3QgYnVpbGRNb2JpbGVBY3Rpb25zID0gKCkgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGxldCByZXN1bHQ6IFJlYWN0RWxlbWVudFtdID0gW107XG5cbiAgICBpZiAoWydwbGFubmVkJywgJ2FjdGl2ZScsICdyZWFkeSddLmluY2x1ZGVzKGZtdFN0YXR1cykpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJykpO1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdtYW5ob2xlX2VkaXQnLCB7IGRpc2FibGVkOiB0cnVlIH0pKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NvbGxlY3RlZCcpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJykpO1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdtYW5ob2xlX2VkaXQnLCB7IGRpc2FibGVkOiB0cnVlIH0pKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NhbmNlbGVkJykge1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdyZXZlcnRfY2FuY2VsJykpO1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdtYW5ob2xlX2VkaXQnLCB7IGRpc2FibGVkOiB0cnVlIH0pKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NvbXBsZXRlZCcpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJywgeyBkaXNhYmxlZDogdHJ1ZSB9KSk7XG4gICAgICByZXN1bHQucHVzaChidWlsZEFjdGlvbkl0ZW0oJ21hbmhvbGVfZWRpdCcsIHsgZGlzYWJsZWQ6IHRydWUgfSkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlPlxuICAgICAgPE92ZXJsYXlTdHlsZSAvPlxuICAgICAgPE1vZGFsQ29udGFpbmVyU3R5bGU+XG4gICAgICAgIDxMaXN0R3JvdXBTdHlsZT5cbiAgICAgICAgICA8Um93SW5mb1N0eWxlPlxuICAgICAgICAgICAgPENsb3NlVG9wQnV0dG9uU3R5bGUgb25DbGljaz17b25DbG9zZU1vZGFsfT5cbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRpbWVzfSAvPlxuICAgICAgICAgICAgPC9DbG9zZVRvcEJ1dHRvblN0eWxlPlxuICAgICAgICAgICAgPFNpdGVEZXRhaWxzU3R5bGU+XG4gICAgICAgICAgICAgIDxTaXRlRGV0YWlsc0ZpcnN0U3R5bGU+XG4gICAgICAgICAgICAgICAgPFNpdGVTdHlsZT57c2l0ZX08L1NpdGVTdHlsZT5cbiAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ0lkfTwvZGl2PlxuICAgICAgICAgICAgICA8L1NpdGVEZXRhaWxzRmlyc3RTdHlsZT5cbiAgICAgICAgICAgICAgPFNpdGVEZXRhaWxzU2Vjb25kU3R5bGU+XG4gICAgICAgICAgICAgICAgPFN0YXR1c0NvbnRhaW5lclN0eWxlIGlzTW9iaWxlUHJvcGVydGllcz17aXNNb2JpbGVQcm9wZXJ0aWVzfT5cbiAgICAgICAgICAgICAgICAgIDxTYW1wbGluZ1N0YXR1cyBzdGF0dXM9e3N0YXR1c30gLz5cbiAgICAgICAgICAgICAgICA8L1N0YXR1c0NvbnRhaW5lclN0eWxlPlxuICAgICAgICAgICAgICAgIDxCb3R0b21TZWN0aW9uU3R5bGU+XG4gICAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ0RhdGV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ1RpbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9Cb3R0b21TZWN0aW9uU3R5bGU+XG4gICAgICAgICAgICAgIDwvU2l0ZURldGFpbHNTZWNvbmRTdHlsZT5cbiAgICAgICAgICAgIDwvU2l0ZURldGFpbHNTdHlsZT5cbiAgICAgICAgICAgIDxJbmZvTGluZVN0eWxlPlxuICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5sYWJfbmFtZScpfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtsYWJOYW1lIHx8IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uud2FzX25vdF9zZWxlY3RlZCcpfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L0luZm9MaW5lU3R5bGU+XG4gICAgICAgICAgPC9Sb3dJbmZvU3R5bGU+XG5cbiAgICAgICAgICA8TGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgICAgPGltZyBzcmM9e1Bpbn0gYWx0PVwicGluXCIgLz5cbiAgICAgICAgICAgIDxzcGFuPntnZXRBZGRyZXNzKCl9PC9zcGFuPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj17YGh0dHBzOi8vd3d3LndhemUuY29tL3VsPyR7bG9jYXRpb25TdHJXYXplfSZuYXZpZ2F0ZT15ZXNgfVxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9e1N0eWxlLndhemVMaW5rfSBzcmM9e3dhemVJY29ufSBhbHQ9XCJ3YXplLWljb25cIiAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj17YGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1DdXJyZW50K0xvY2F0aW9uJmRlc3RpbmF0aW9uPSR7bG9jYXRpb25TdHJ9YH1cbiAgICAgICAgICAgICAgcmVsPVwibm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlLmdvb2dsZUxpbmt9XG4gICAgICAgICAgICAgICAgc3JjPXtnb29nbGVNYXBzSWNvbn1cbiAgICAgICAgICAgICAgICBhbHQ9XCJnb29nbGUtbWFwLWljb25cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuXG4gICAgICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZT5cbiAgICAgICAgICAgIDxDb250YWN0TnVtYmVyUm93U3R5bGVcbiAgICAgICAgICAgICAgaHJlZj17Y29udGFjdE51bWJlciA/IGB0ZWw6JHtjb250YWN0TnVtYmVyfWAgOiAnIyd9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtQaG9uZX0gYWx0PVwicGluXCIgLz5cbiAgICAgICAgICAgICAge2NvbnRhY3QgfHwgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5ub19jb250YWN0Jyl9XG4gICAgICAgICAgICA8L0NvbnRhY3ROdW1iZXJSb3dTdHlsZT5cbiAgICAgICAgICA8L0xpc3RHcm91cEl0ZW1TdHlsZT5cblxuICAgICAgICAgIHtidWlsZE1vYmlsZUFjdGlvbnMoKX1cbiAgICAgICAgPC9MaXN0R3JvdXBTdHlsZT5cbiAgICAgICAgPE1haW5CdXR0b25TdHlsZVxuICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICByb3VuZGVkPXtmYWxzZX1cbiAgICAgICAgICBvdXRsaW5lXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQWN0aW9uQ2xpY2sobWFpbkJ1dHRvbkFjdGlvbihzdGF0dXMpKX1cbiAgICAgICAgPlxuICAgICAgICAgIHttYWluQnV0dG9uVGl0bGUoc3RhdHVzKX1cbiAgICAgICAgPC9NYWluQnV0dG9uU3R5bGU+XG4gICAgICA8L01vZGFsQ29udGFpbmVyU3R5bGU+XG4gICAgPC9TYW1wbGluZ01vYmlsZU1vZGFsU3R5bGU+XG4gICk7XG59O1xuIl19
|