@kando-env/kando-ui 1.2.75-alpha.3 → 1.2.75-alpha.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Widgets/Map/Map.js +19 -5
- package/lib/Widgets/Map/Map.scss +15 -0
- package/lib/Widgets/Map/areas/AreaPolygons.js +1 -6
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +2 -5
- package/lib/Widgets/Map/points/PointMarker.js +23 -8
- package/lib/Widgets/Map/points/PointMarkers.js +2 -2
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +2 -2
- package/lib/components/DischargeHeatmap/mocks/handlers.js +19 -0
- package/lib/components/Sector/Sector.test.js +4 -11
- package/lib/hooks/useApiWithDashboardQuery.js +2 -4
- package/lib/i18n/en.json +13 -5
- package/lib/i18n/fr.json +4 -2
- package/lib/i18n/he.json +12 -5
- package/lib/i18n/it.json +4 -2
- package/lib/index.js +8 -1
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +6 -4
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +3 -3
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +2 -2
- package/lib/pages/EventsPage/events/events_list/EventsList.js +7 -9
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +4 -1
- package/lib/pages/EventsPage/events/events_list/Filter/FilterStyle.scss +1 -1
- package/lib/pages/ImportFileWizard/ValidationForm.js +7 -12
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +5 -1
- package/lib/pages/SamplingsPage/NewSamplingAction.js +2 -2
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +1 -17
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +10 -3
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +9 -12
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +22 -13
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +14 -7
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +2 -4
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +2 -2
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +2 -5
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +36 -24
- package/lib/pages/SamplingsPage/style.module.scss +1 -1
- package/lib/pages/SamplingsPage/table.styles.scss +8 -6
- package/lib/pages/WbeDashboard/SummaryGraph.js +15 -6
- package/lib/styles.scss +7 -0
- package/lib/test/mocks/browser.js +23 -0
- package/lib/test/test-utils.js +61 -0
- package/lib/ui-kit/Button/Button.test.js +26 -11
- package/lib/ui-kit/DropDown/DropDown.test.js +50 -41
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +9 -2
- package/lib/ui-kit/KandoTable/KandoTable.test.js +46 -43
- package/lib/utilities/urls.js +5 -5
- package/package.json +5 -2
|
@@ -211,7 +211,7 @@ var NewSamplingAction = function NewSamplingAction(_ref) {
|
|
|
211
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, {
|
|
212
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'),
|
|
213
213
|
name: "sampling.date",
|
|
214
|
-
selected: new Date(),
|
|
214
|
+
selected: values.sampling.date && new Date(values.sampling.date) || null,
|
|
215
215
|
onChange: function onChange(date) {
|
|
216
216
|
return setFieldValue('sampling.date', date);
|
|
217
217
|
},
|
|
@@ -297,4 +297,4 @@ var MenuInputStyle = _styledComponents.default.div.attrs(function (props) {
|
|
|
297
297
|
|
|
298
298
|
var _default = NewSamplingAction;
|
|
299
299
|
exports.default = _default;
|
|
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
|
|
300
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL05ld1NhbXBsaW5nQWN0aW9uLnRzeCJdLCJuYW1lcyI6WyJOZXdTYW1wbGluZ0FjdGlvbiIsIndhdGVyQXV0aG9yaXR5SWQiLCJ0IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwic3RhdGUiLCJzYW1wbGluZ3NfZGF0YSIsInBlclBhZ2UiLCJkaXNwYXRjaCIsInVzZXJJbmZvIiwicGVybWlzc2lvbnMiLCJ1c2VyX2luZm8iLCJ3YXRlckF1dGhvcml0eVBvaW50c1VSTCIsInNhbXBsaW5nc1BhZ2UiLCJnZXRQb2ludHMiLCJ1cmwiLCJheGlvcyIsImdldCIsInJlc3BvbnNlIiwiZGF0YSIsInBvaW50cyIsInJlZmV0Y2hPbldpbmRvd0ZvY3VzIiwicmVmZXRjaCIsImNyZWF0ZVNhbXBsaW5nTXV0YXRpb24iLCJuZXdTYW1wbGluZ1ZhbHVlcyIsImRlZmF1bHRzIiwiaGVhZGVycyIsImNvbW1vbiIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNvbnRlbnQiLCJwdXQiLCJjcmVhdGVOZXdTYW1wbGluZyIsInRoZW4iLCJyZXMiLCJ0b2FzdCIsInN1Y2Nlc3MiLCJwb3NpdGlvbiIsImNhdGNoIiwiZSIsImVycm9yIiwib25TdWNjZXNzIiwiTmV3U2FtcGxpbmdWYWxpZGF0aW9uU2NoZW1hIiwiWXVwIiwib2JqZWN0Iiwic2hhcGUiLCJzYW1wbGluZyIsImRhdGUiLCJzdHJpbmciLCJyZXF1aXJlZCIsInBvaW50X2lkIiwidG9kYXkiLCJmb3JtYXQiLCJuZXdTaXRlSW5pdGlhbFZhbHVlcyIsInR5cGUiLCJoYW5kbGVOZXdTYW1wbGluZ1N1Ym1pdCIsInZhbHVlcyIsIm11dGF0ZSIsImhhbmRsZU9wZW5Qb3B1cEFuYWx5dGljcyIsIndhdGVyX2F1dGhvcml0eSIsIk5ld1NhbXBsaW5nQnV0dG9uIiwiaXNNb2JpbGUiLCJmYVBsdXMiLCJTdHlsZSIsIm5ld1NhbXBsZXJCdG5Nb2JpbGUiLCJuZXdTYW1wbGluZ0FjdGlvbkRyb3Bkb3duIiwiaGFuZGxlU3VibWl0IiwiaGFuZGxlQ2hhbmdlIiwiZXJyb3JzIiwic2V0RmllbGRWYWx1ZSIsImRhdGVJbnB1dCIsIkRhdGUiLCJjYWxlbmRhciIsImRhdGVfdGltZV9mb3JtYXQiLCJ2YWxpZGF0aW9uRXJyb3IiLCJzaXRlSW5wdXQiLCJpbnZhbGlkQm9yZGVycyIsIm9wdGlvbiIsInZhbHVlIiwibWFwIiwicHQiLCJwb2ludCIsImlkIiwibGFiZWwiLCJ0eXBlSW5wdXQiLCJidXR0b25zQ29udGFpbmVyIiwiYnV0dG9uQ3JlYXRlIiwidmFyaWFudCIsIlNFQ09OREFSWSIsIk5ld1NhbXBsaW5nVGl0bGUiLCJzdHlsZWQiLCJwIiwidGhlbWUiLCJmb250V2VpZ2h0IiwidzcwMCIsIk1lbnVJbnB1dFN0eWxlIiwiZGl2IiwiYXR0cnMiLCJwcm9wcyIsInpJbmRleGVzIiwibW9kYWwiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuMSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7QUE2QkEsSUFBTUEsaUJBQTZDLEdBQUcsU0FBaERBLGlCQUFnRCxPQUVoRDtBQUFBLE1BREpDLGdCQUNJLFFBREpBLGdCQUNJOztBQUNKLHdCQUFjLG1DQUFkO0FBQUEsTUFBUUMsQ0FBUixtQkFBUUEsQ0FBUjs7QUFDQSxrQkFBNEIscUJBQWtCLEtBQWxCLENBQTVCO0FBQUE7QUFBQSxNQUFPQyxNQUFQO0FBQUEsTUFBZUMsU0FBZjs7QUFFQSxxQkFBb0IsNkJBQ2xCLFVBQUNDLEtBQUQ7QUFBQSxXQUEwQ0EsS0FBSyxDQUFDQyxjQUFoRDtBQUFBLEdBRGtCLENBQXBCO0FBQUEsTUFBUUMsT0FBUixnQkFBUUEsT0FBUjs7QUFHQSxNQUFN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QUFHUixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNTLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQyxFQUF6QztBQUFBLENBVkYsQ0FBcEI7O2VBa0RldkcsaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGZhUGx1cyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAncmVhY3QtZGV2aWNlLWRldGVjdCc7XG5pbXBvcnQgeyBGb3JtaWsgfSBmcm9tICdmb3JtaWsnO1xuaW1wb3J0ICogYXMgWXVwIGZyb20gJ3l1cCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgdXNlUXVlcnksIHVzZU11dGF0aW9uIH0gZnJvbSAncmVhY3QtcXVlcnknO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBEYXRlUGlja2VyIGZyb20gJ3JlYWN0LWRhdGVwaWNrZXInO1xuXG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJ3NyYy91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IEJ1dHRvbiwgTW9iaWxlSW5wdXQsIHZhcmlhbnQgfSBmcm9tICdzcmMvdWkta2l0JztcbmltcG9ydCBTdHlsZSBmcm9tICcuL3N0eWxlLm1vZHVsZS5zY3NzJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBzZXRTYW1wbGluZ0RhdGEgfSBmcm9tICdzcmMvc3RvcmUvc2FtcGxpbmdzL2FjdGlvbnNDcmVhdG9yJztcbmltcG9ydCBJY29uQWN0aW9uIGZyb20gJy4uLy4uL3VpLWtpdC9JY29uQWN0aW9uL0ljb25BY3Rpb24nO1xuXG5pbnRlcmZhY2UgTmV3U2l0ZUlucHV0cyB7XG4gIHNhbXBsaW5nOiB7XG4gICAgZGF0ZTogc3RyaW5nO1xuICAgIHBvaW50X2lkOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgUG9pbnRQcm9wcyB7XG4gIHBvaW50OiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9O1xufVxudHlwZSBHZXRQb2ludHNSZXNwb25zZSA9IHtcbiAgZGF0YToge1xuICAgIHBvaW50czogUG9pbnRQcm9wc1tdO1xuICB9O1xufTtcbmludGVyZmFjZSBNZW51SW5wdXRQcm9wcyB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbn1cblxudHlwZSBOZXdTYW1wbGluZ0FjdGlvblByb3BzID0ge1xuICB3YXRlckF1dGhvcml0eUlkOiBudW1iZXI7XG59O1xuXG5jb25zdCBOZXdTYW1wbGluZ0FjdGlvbjogRkM8TmV3U2FtcGxpbmdBY3Rpb25Qcm9wcz4gPSAoe1xuICB3YXRlckF1dGhvcml0eUlkLFxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3QgeyBwZXJQYWdlIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5zYW1wbGluZ3NfZGF0YSxcbiAgKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB1c2VySW5mbyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvKTtcblxuICBjb25zdCB7IGRhdGE6IHBvaW50cywgcmVmZXRjaCB9ID0gdXNlUXVlcnkoXG4gICAgJ3NlbGVjdG9yX3BvaW50cycsXG4gICAgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qgd2F0ZXJBdXRob3JpdHlQb2ludHNVUkwgPSB1cmxzKHsgd2F0ZXJBdXRob3JpdHlJZCB9KS5zYW1wbGluZ3NQYWdlXG4gICAgICAgIC5nZXRQb2ludHMudXJsO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQ8R2V0UG9pbnRzUmVzcG9uc2U+KFxuICAgICAgICB3YXRlckF1dGhvcml0eVBvaW50c1VSTCxcbiAgICAgICk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhLnBvaW50cztcbiAgICB9LFxuICAgIHtcbiAgICAgIHJlZmV0Y2hPbldpbmRvd0ZvY3VzOiBmYWxzZSxcbiAgICB9LFxuICApO1xuXG4gIGNvbnN0IGNyZWF0ZVNhbXBsaW5nTXV0YXRpb24gPSB1c2VNdXRhdGlvbihcbiAgICAobmV3U2FtcGxpbmdWYWx1ZXMpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydYLUNTUkYtVE9LRU4nXSA9XG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPWNzcmYtdG9rZW5dJykuY29udGVudDtcbiAgICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydDb250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qcyc7XG4gICAgICByZXR1cm4gYXhpb3NcbiAgICAgICAgLnB1dChcbiAgICAgICAgICB1cmxzKHsgd2F0ZXJBdXRob3JpdHlJZCB9KS5zYW1wbGluZ3NQYWdlLmNyZWF0ZU5ld1NhbXBsaW5nLnVybCxcbiAgICAgICAgICBuZXdTYW1wbGluZ1ZhbHVlcyxcbiAgICAgICAgKVxuICAgICAgICAudGhlbigocmVzKSA9PiB7XG4gICAgICAgICAgdG9hc3Quc3VjY2Vzcyh0KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19jcmVhdGVkJyksIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgdG9hc3QuZXJyb3IodCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfbm90X2NyZWF0ZWQnKSwge1xuICAgICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICB7XG4gICAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgc2FtcGxpbmdzIGhhY2tcbiAgICAgICAgZGlzcGF0Y2goc2V0U2FtcGxpbmdEYXRhKHsgcGVyUGFnZTogcGVyUGFnZSAtIDEgfSkpO1xuICAgICAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBwZXJQYWdlOiBwZXJQYWdlIH0pKTtcbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIHRoZSBhYm92ZSByZWZyZXNoIGhhY2sgYW5kIHJlcGxhY2Ugd2l0aCB0aGUgZm9sbG93aW5nIC0gY2hlY2sgS1NELTI5MjJcbiAgICAgICAgLy8gcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoJ3RoZV9zYW1wbGluZ3NfbGlzdCcpO1xuICAgICAgfSxcbiAgICB9LFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmVmZXRjaCgpO1xuICAgIHNldElzT3BlbihmYWxzZSk7XG4gIH0sIFt3YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgY29uc3QgTmV3U2FtcGxpbmdWYWxpZGF0aW9uU2NoZW1hID0gWXVwLm9iamVjdCgpLnNoYXBlKHtcbiAgICBzYW1wbGluZzogWXVwLm9iamVjdCgpLnNoYXBlKHtcbiAgICAgIGRhdGU6IFl1cC5zdHJpbmcoKS5yZXF1aXJlZCh0KCdzYW1wbGluZ3NfcGFnZS5kYXRlX3JlcXVpcmVkJykpLFxuICAgICAgcG9pbnRfaWQ6IFl1cC5zdHJpbmcoKS5yZXF1aXJlZCh0KCdzYW1wbGluZ3NfcGFnZS5zaXRlX3JlcXVpcmVkJykpLFxuICAgIH0pLFxuICB9KTtcblxuICBjb25zdCB0b2RheSA9IG1vbWVudCgpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuXG4gIGNvbnN0IG5ld1NpdGVJbml0aWFsVmFsdWVzOiBOZXdTaXRlSW5wdXRzID0ge1xuICAgIHNhbXBsaW5nOiB7XG4gICAgICBkYXRlOiB0b2RheSxcbiAgICAgIHBvaW50X2lkOiAnJyxcbiAgICAgIHR5cGU6ICdzYW1wbGluZ190eXBlX3JhcGlkJyxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU5ld1NhbXBsaW5nU3VibWl0ID0gKHZhbHVlcykgPT4ge1xuICAgIGNyZWF0ZVNhbXBsaW5nTXV0YXRpb24ubXV0YXRlKHZhbHVlcyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlT3BlblBvcHVwQW5hbHl0aWNzID0gKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdTYW1wbGluZyBPcGVyYXRpb24gTmV3IFNhbXBsaW5nIENsaWNrZWQnLCB7XG4gICAgICB3YXRlcl9hdXRob3JpdHk6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgTmV3U2FtcGxpbmdCdXR0b24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHshaXNNb2JpbGUgJiYgKFxuICAgICAgICAgIDxJY29uQWN0aW9uXG4gICAgICAgICAgICBjYWxsYmFjaz17KCkgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVPcGVuUG9wdXBBbmFseXRpY3MoKTtcbiAgICAgICAgICAgICAgc2V0SXNPcGVuKCFpc09wZW4pO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRleHRfa2V5PXsnc2FtcGxpbmdzX3BhZ2UubmV3X2J1dHRvbid9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVBsdXN9IC8+XG4gICAgICAgICAgPC9JY29uQWN0aW9uPlxuICAgICAgICApfVxuICAgICAgICB7aXNNb2JpbGUgJiYgKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUubmV3U2FtcGxlckJ0bk1vYmlsZX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzT3BlbighaXNPcGVuKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGNsYXNzTmFtZT17U3R5bGUuZmFQbHVzfSBpY29uPXtmYVBsdXN9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLm5ld1NhbXBsaW5nQWN0aW9uRHJvcGRvd259PlxuICAgICAgPE5ld1NhbXBsaW5nQnV0dG9uIC8+XG4gICAgICB7aXNPcGVuICYmIChcbiAgICAgICAgPE1lbnVJbnB1dFN0eWxlIGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAgICA8TmV3U2FtcGxpbmdUaXRsZT5cbiAgICAgICAgICAgIHt0KCdzYW1wbGluZ3NfcGFnZS5hZGRfbmV3X3NhbXBsaW5nJyl9XG4gICAgICAgICAgPC9OZXdTYW1wbGluZ1RpdGxlPlxuICAgICAgICAgIDxGb3JtaWtcbiAgICAgICAgICAgIG9uU3VibWl0PXtoYW5kbGVOZXdTYW1wbGluZ1N1Ym1pdH1cbiAgICAgICAgICAgIGluaXRpYWxWYWx1ZXM9e25ld1NpdGVJbml0aWFsVmFsdWVzfVxuICAgICAgICAgICAgdmFsaWRhdGlvblNjaGVtYT17TmV3U2FtcGxpbmdWYWxpZGF0aW9uU2NoZW1hfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsoe1xuICAgICAgICAgICAgICBoYW5kbGVTdWJtaXQsXG4gICAgICAgICAgICAgIGhhbmRsZUNoYW5nZSxcbiAgICAgICAgICAgICAgdmFsdWVzLFxuICAgICAgICAgICAgICBlcnJvcnMsXG4gICAgICAgICAgICAgIHNldEZpZWxkVmFsdWUsXG4gICAgICAgICAgICB9KSA9PiAoXG4gICAgICAgICAgICAgIDxGb3JtIG9uU3VibWl0PXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICAgICAgICAgIDxGb3JtLkdyb3VwPlxuICAgICAgICAgICAgICAgICAgPEZvcm0uTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5zYW1wbGluZ19kYXRlJyl9XG4gICAgICAgICAgICAgICAgICA8L0Zvcm0uTGFiZWw+XG4gICAgICAgICAgICAgICAgICA8RGF0ZVBpY2tlclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1N0eWxlLmRhdGVJbnB1dH0gJHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM/LnNhbXBsaW5nPy5kYXRlICYmICdpbnZhbGlkJ1xuICAgICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInNhbXBsaW5nLmRhdGVcIlxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZD17XG4gICAgICAgICAgICAgICAgICAgICAgKHZhbHVlcy5zYW1wbGluZy5kYXRlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZSh2YWx1ZXMuc2FtcGxpbmcuZGF0ZSkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgbnVsbFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZGF0ZSkgPT4gc2V0RmllbGRWYWx1ZSgnc2FtcGxpbmcuZGF0ZScsIGRhdGUpfVxuICAgICAgICAgICAgICAgICAgICBjYWxlbmRhckNsYXNzTmFtZT17U3R5bGUuY2FsZW5kYXJ9XG4gICAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9e1xuICAgICAgICAgICAgICAgICAgICAgIHVzZXJJbmZvLmRhdGVfdGltZV9mb3JtYXQgPT09ICd1cydcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ01NTSBkLCB5eXl5J1xuICAgICAgICAgICAgICAgICAgICAgICAgOiAnZC9NTS95eXl5J1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICAgICAgICAgICB7ZXJyb3JzPy5zYW1wbGluZz8uZGF0ZSA/IChcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS52YWxpZGF0aW9uRXJyb3J9PlxuICAgICAgICAgICAgICAgICAgICB7ZXJyb3JzLnNhbXBsaW5nLmRhdGV9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cblxuICAgICAgICAgICAgICAgIDxGb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnNpdGUnKX1cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17U3R5bGUucmVxdWlyZWR9Pio8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdzYW1wbGluZ3NfcGFnZS5zaXRlX3BsYWNlaG9sZGVyJyl9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1N0eWxlLnNpdGVJbnB1dH0gJHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzPy5zYW1wbGluZz8ucG9pbnRfaWQgJiYgU3R5bGUuaW52YWxpZEJvcmRlcnNcbiAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgbmFtZT1cInNhbXBsaW5nLnBvaW50X2lkXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RmllbGRWYWx1ZSgnc2FtcGxpbmcucG9pbnRfaWQnLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J2Rhc2hib2FyZC1zZWxlY3QnfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17cG9pbnRzPy5tYXAoKHB0OiBQb2ludFByb3BzKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcHQucG9pbnQuaWQsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBwdC5wb2ludC5sYWJlbCxcbiAgICAgICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHtlcnJvcnM/LnNhbXBsaW5nPy5wb2ludF9pZCAmJiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUudmFsaWRhdGlvbkVycm9yfT5cbiAgICAgICAgICAgICAgICAgICAge2Vycm9ycy5zYW1wbGluZy5wb2ludF9pZH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICA8TW9iaWxlSW5wdXRcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGUudHlwZUlucHV0fSAke1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnM/LnNhbXBsaW5nPy50eXBlICYmIFN0eWxlLmludmFsaWRCb3JkZXJzXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgIGlucHV0VGl0bGU9e3QoJ2xhYl9yZXN1bHRzX3NjcmVlbi50eXBlJyl9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWVzLnNhbXBsaW5nLnR5cGV9XG4gICAgICAgICAgICAgICAgICBuYW1lPVwic2FtcGxpbmcudHlwZVwiXG4gICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgbWFuZGF0b3J5PXt0cnVlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAga2V5PVwicmFwaWRcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInNhbXBsaW5nX3R5cGVfcmFwaWRcIlxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nX3R5cGVzX21pbmkuc2FtcGxpbmdfdHlwZV9yYXBpZCcpfVxuICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIGtleT1cImNvbXBsZXhcIiB2YWx1ZT1cInNhbXBsaW5nX3R5cGVfY29tcGxleFwiPlxuICAgICAgICAgICAgICAgICAgICB7dCgnc2FtcGxpbmdfdHlwZXNfbWluaS5zYW1wbGluZ190eXBlX2NvbXBsZXgnKX1cbiAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9XCJib3RoXCIgdmFsdWU9XCJzYW1wbGluZ190eXBlX2JvdGhcIj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nX3R5cGVzX21pbmkuc2FtcGxpbmdfdHlwZV9ib3RoJyl9XG4gICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L01vYmlsZUlucHV0PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmJ1dHRvbnNDb250YWluZXJ9PlxuICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXRJc09wZW4oZmFsc2UpfSB2YXJpYW50PVwiY2xvc2VcIj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2Nsb3NlJyl9XG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5idXR0b25DcmVhdGV9XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e3ZhcmlhbnQuU0VDT05EQVJZfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLmNyZWF0ZV9idXR0b24nKX1cbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L0Zvcm0+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvRm9ybWlrPlxuICAgICAgICA8L01lbnVJbnB1dFN0eWxlPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IE5ld1NhbXBsaW5nVGl0bGUgPSBzdHlsZWQucGBcbiAgZm9udC13ZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFdlaWdodC53NzAwfTtcbmA7XG5cbmNvbnN0IE1lbnVJbnB1dFN0eWxlID0gc3R5bGVkLmRpdi5hdHRycygocHJvcHM6IE1lbnVJbnB1dFByb3BzKSA9PiAoe1xuICBpc09wZW46IHByb3BzLmlzT3Blbixcbn0pKWBcbiAgcGFkZGluZzogMzNweCAyOHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNnB4O1xuICB0b3A6IDE0MHB4O1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIHdpZHRoOiAzOTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2E2YWNiOTtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4ICNlM2UzZTM7XG5cbiAgLnJ0bCAmIHtcbiAgICByaWdodDogdW5zZXQ7XG4gICAgbGVmdDogMTZweDtcbiAgfVxuXG4gICoge1xuICAgIGZvbnQtZmFtaWx5OiBOdW5pdG8sIEdpbHJveSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgfVxuXG4gIGFuaW1hdGlvbjogdHJhbnNpdGlvbi1pbiA0NDRtcywgZmFkZS1pbiA0NDRtcztcbiAgQGtleWZyYW1lcyB0cmFuc2l0aW9uLWluIHtcbiAgICBmcm9tIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDBweCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gIH1cbiAgQGtleWZyYW1lcyBmYWRlLWluIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLyogVXNlIDQ4MHB4IGFzIG1vYmlsZSdzIG1heC13aWR0aCAqL1xuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICB0b3A6IGF1dG87XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgTmV3U2FtcGxpbmdBY3Rpb247XG4iXX0=
|
|
@@ -237,10 +237,6 @@ 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')
|
|
244
240
|
}
|
|
245
241
|
};
|
|
246
242
|
|
|
@@ -284,26 +280,14 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
284
280
|
|
|
285
281
|
if (['planned', 'active', 'ready'].includes(fmtStatus)) {
|
|
286
282
|
result.push(buildActionItem('cancel'));
|
|
287
|
-
result.push(buildActionItem('manhole_edit', {
|
|
288
|
-
disabled: true
|
|
289
|
-
}));
|
|
290
283
|
} else if (fmtStatus === 'collected') {
|
|
291
284
|
result.push(buildActionItem('cancel'));
|
|
292
|
-
result.push(buildActionItem('manhole_edit', {
|
|
293
|
-
disabled: true
|
|
294
|
-
}));
|
|
295
285
|
} else if (fmtStatus === 'canceled') {
|
|
296
286
|
result.push(buildActionItem('revert_cancel'));
|
|
297
|
-
result.push(buildActionItem('manhole_edit', {
|
|
298
|
-
disabled: true
|
|
299
|
-
}));
|
|
300
287
|
} else if (fmtStatus === 'completed') {
|
|
301
288
|
result.push(buildActionItem('cancel', {
|
|
302
289
|
disabled: true
|
|
303
290
|
}));
|
|
304
|
-
result.push(buildActionItem('manhole_edit', {
|
|
305
|
-
disabled: true
|
|
306
|
-
}));
|
|
307
291
|
}
|
|
308
292
|
|
|
309
293
|
return result;
|
|
@@ -352,4 +336,4 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
|
|
|
352
336
|
};
|
|
353
337
|
|
|
354
338
|
exports.SamplingMobileModal = SamplingMobileModal;
|
|
355
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nTW9iaWxlTW9kYWwudHN4Il0sIm5hbWVzIjpbIlNhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZSIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicDEiLCJMaXN0R3JvdXBTdHlsZSIsIkxpc3RHcm91cCIsIk1vZGFsQ29udGFpbmVyU3R5bGUiLCJ6SW5kZXhlcyIsIm1vZGFsIiwiTGlzdEdyb3VwSXRlbVN0eWxlIiwiSXRlbSIsImZvbnRTaXplIiwibWQiLCJkaXNhYmxlZCIsIm5hdHVyYWwiLCJuNTAiLCJzYW1wbGluZ3NQYWdlIiwibW9iaWxlIiwibW9kYWxMaXN0SXRlbUNvbG9yIiwiUm93SW5mb1N0eWxlIiwibjEiLCJJbmZvTGluZVN0eWxlIiwibjYwIiwiT3ZlcmxheVN0eWxlIiwibW9kYWxPdmVybGF5QmFja2dyb3VuZCIsIk1haW5CdXR0b25TdHlsZSIsIkJ1dHRvbiIsIlNpdGVTdHlsZSIsIkNvbnRhY3ROdW1iZXJSb3dTdHlsZSIsImEiLCJTaXRlRGV0YWlsc1N0eWxlIiwiU2l0ZURldGFpbHNGaXJzdFN0eWxlIiwiU2l0ZURldGFpbHNTZWNvbmRTdHlsZSIsIkJvdHRvbVNlY3Rpb25TdHlsZSIsIlN0YXR1c0NvbnRhaW5lclN0eWxlIiwiYXR0cnMiLCJwcm9wcyIsImlzTW9iaWxlUHJvcGVydGllcyIsIkNsb3NlVG9wQnV0dG9uU3R5bGUiLCJuMTAwIiwiU2FtcGxpbmdNb2JpbGVNb2RhbCIsIm9uQ2xvc2VNb2RhbCIsInNhbXBsaW5nIiwiY29udGFjdCIsImNvbnRhY3ROdW1iZXIiLCJjb250YWN0X251bWJlciIsImxhYk5hbWUiLCJsYWJfbmFtZSIsIm1hbmhvbGVBZGRyZXNzIiwibWFuaG9sZV9hZGRyZXNzIiwic3RhdHVzIiwic2l0ZSIsInNhbXBsaW5nSWQiLCJzYW1wbGluZ19pZCIsInNhbXBsaW5nRGF0ZSIsInNhbXBsaW5nX2RhdGUiLCJzYW1wbGluZ1RpbWUiLCJzYW1wbGluZ190aW1lIiwiaGlzdG9yeSIsImRpc3BhdGNoIiwibmF2Q29udGV4dCIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsImhhbmRsZUFjdGlvbkNsaWNrIiwib3AiLCJpZCIsInNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcyIsImxvY2FsZSIsInB1c2giLCJzYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZSIsInVybCIsImdldEFkZHJlc3MiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJ0ZXh0IiwibGVuZ3RoIiwic2xpY2UiLCJsYXRfbG5nIiwibG9jYXRpb25TdHIiLCJsb2NhdGlvblN0cldhemUiLCJtb2JpbGVBY3Rpb25zT3B0c01hcCIsImNvbGxlY3QiLCJjbGlja09wIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsInZhbHVlIiwiaTE4biIsInQiLCJjYW5jZWwiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJyZXZlcnRfY2FuY2VsIiwiUkVWRVJUX0NBTkNFTExBVElPTiIsImRlbGV0ZSIsIkRFTEVURV9TQU1QTElOR19PUCIsInByb3BlcnRpZXNfZWRpdCIsIkVESVRfUFJPUEVSVElFU19PUCIsIm1hbmhvbGVfZWRpdCIsIk1BTkhPTEVfUFJPUEVSVElFU19PUCIsImJ1aWxkQWN0aW9uSXRlbSIsImtleSIsIm9wdCIsIm1haW5CdXR0b25BY3Rpb24iLCJmbXRTdGF0dXMiLCJtYWNoaW5lX25hbWUiLCJpbmNsdWRlcyIsIm1haW5CdXR0b25UaXRsZSIsImJ1aWxkTW9iaWxlQWN0aW9ucyIsInJlc3VsdCIsImZhVGltZXMiLCJQaW4iLCJTdHlsZSIsIndhemVMaW5rIiwid2F6ZUljb24iLCJnb29nbGVMaW5rIiwiZ29vZ2xlTWFwc0ljb24iLCJQaG9uZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBSUE7O0FBQ0E7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QkFBa0IsRUE5RHJCLENBREYsZUFpRUUsNkJBQUMsZUFBRDtBQUNFLElBQUEsT0FBTyxFQUFDLFNBRFY7QUFFRSxJQUFBLE9BQU8sRUFBRSxLQUZYO0FBR0UsSUFBQSxPQUFPLE1BSFQ7QUFJRSxJQUFBLE9BQU8sRUFBRTtBQUFBLGFBQU16QyxpQkFBaUIsQ0FBQ29DLGdCQUFnQixDQUFDbkQsTUFBRCxDQUFqQixDQUF2QjtBQUFBO0FBSlgsS0FNR3VELGVBQWUsQ0FBQ3ZELE1BQUQsQ0FObEIsQ0FqRUYsQ0FGRixDQURGO0FBK0VELENBdE5NIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZDLCBSZWFjdEVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBMaXN0R3JvdXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAvJztcbmltcG9ydCB7IGZhVGltZXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5pbXBvcnQgUGhvbmUgZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9zYW1wbGluZy1tb2RhbC1waG9uZS5zdmcnO1xuaW1wb3J0IFBpbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLW1vZGFsLXBpbi5zdmcnO1xuaW1wb3J0IFNhbXBsaW5nU3RhdHVzIGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXMnO1xuaW1wb3J0IGdvb2dsZU1hcHNJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbmF2aWdhdGlvbi9nb29nbGVfbWFwc19pY29uLnBuZyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHdhemVJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbmF2aWdhdGlvbi93YXplLWljb24ucG5nJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyB9IGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXNIZWxwZXInO1xuaW1wb3J0IHsgZ2V0U2FtcGxpbmdCeUlkIH0gZnJvbSAnc3JjL3N0b3JlL3NhbXBsaW5ncy9hY3Rpb25zQ3JlYXRvcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcblxuaW1wb3J0IFN0eWxlIGZyb20gJy4vc3R5bGUubW9kdWxlLnNjc3MnO1xuXG5pbXBvcnQge1xuICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIERFTEVURV9TQU1QTElOR19PUCxcbiAgRURJVF9QUk9QRVJUSUVTX09QLFxuICBNQU5IT0xFX1BST1BFUlRJRVNfT1AsXG4gIE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCxcbiAgUkVWRVJUX0NBTkNFTExBVElPTixcbiAgU2FtcGxpbmdEYXRhLFxufSBmcm9tICcuL3NhbXBsaW5nc1BhZ2VVdGlscyc7XG5cbmludGVyZmFjZSBTYW1wbGluZ01vYmlsZVByb3BzIHtcbiAgb25DbG9zZU1vZGFsOiAoKSA9PiB2b2lkO1xuICBzYW1wbGluZzogU2FtcGxpbmdEYXRhO1xuICBpc01vYmlsZVByb3BlcnRpZXM/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
|
|
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
|
|
@@ -109,6 +109,10 @@ var SamplingProperties = function SamplingProperties() {
|
|
|
109
109
|
var _useParams = (0, _reactRouterDom.useParams)(),
|
|
110
110
|
sampleId = _useParams.sampleId;
|
|
111
111
|
|
|
112
|
+
var waterAuthorityId = (0, _reactRedux.useSelector)(function (state) {
|
|
113
|
+
return state.global_data.waterAuthorityId;
|
|
114
|
+
});
|
|
115
|
+
|
|
112
116
|
var initFormikValues = function initFormikValues(samplingProperties, isCanceled) {
|
|
113
117
|
var pageCollectionTime = (0, _samplingPropertiesUtils.isCollectLayout)(pageType.current) ? collectionTime : samplingProperties.sampling.collection_time;
|
|
114
118
|
var sam = samplingProperties.sampling;
|
|
@@ -254,7 +258,9 @@ var SamplingProperties = function SamplingProperties() {
|
|
|
254
258
|
formData.append("sampling[date]", collectionTime);
|
|
255
259
|
_context2.prev = 4;
|
|
256
260
|
_context2.next = 7;
|
|
257
|
-
return _axios.default.post((0, _urls.urls)(
|
|
261
|
+
return _axios.default.post((0, _urls.urls)({
|
|
262
|
+
waterAuthorityId: waterAuthorityId
|
|
263
|
+
}).samplingProperties.createSampling.url, formData);
|
|
258
264
|
|
|
259
265
|
case 7:
|
|
260
266
|
updateOrCreateSuccess('buttons.created');
|
|
@@ -280,7 +286,8 @@ var SamplingProperties = function SamplingProperties() {
|
|
|
280
286
|
_context2.prev = 17;
|
|
281
287
|
_context2.next = 20;
|
|
282
288
|
return _axios.default.put((0, _urls.urls)({
|
|
283
|
-
samplingId: samplingID
|
|
289
|
+
samplingId: samplingID,
|
|
290
|
+
waterAuthorityId: waterAuthorityId
|
|
284
291
|
}).samplingProperties.updateSampling.url, formData);
|
|
285
292
|
|
|
286
293
|
case 20:
|
|
@@ -395,4 +402,4 @@ var SamplingPropertiesStyle = _styledComponents.default.div.withConfig({
|
|
|
395
402
|
displayName: "SamplingProperties__SamplingPropertiesStyle",
|
|
396
403
|
componentId: "sc-opklsf-0"
|
|
397
404
|
})(["", " ", ""], !_reactDeviceDetect.isMobile ? 'width: 830px;' : '', !_reactDeviceDetect.isMobile ? 'margin: 100px auto;' : '');
|
|
398
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXMudHN4Il0sIm5hbWVzIjpbImlzUHJvcGVydGllc1BhZ2UiLCJwYWdlVHlwZSIsIlNhbXBsaW5nUHJvcGVydGllcyIsIkRhdGUiLCJjb2xsZWN0aW9uVGltZSIsInNldENvbGxlY3Rpb25UaW1lIiwicGhvdG9zIiwic2V0UGhvdG9zIiwicGhvdG9zVG9EZWxldGUiLCJzZXRQaG90b3NUb0RlbGV0ZSIsImkxOG4iLCJ0Iiwic2F2aW5nTXNnIiwic2V0U2F2aW5nTXNnIiwic2FtcGxpbmdVcGRhdGVkIiwic2V0U2FtcGxpbmdVcGRhdGVkIiwidW5kZWZpbmVkIiwic2FtcGxpbmdQbGFuIiwic2V0U2FtcGxpbmdQbGFuIiwiaGlzdG9yeSIsInF1ZXJ5IiwidXNlckluZm8iLCJzdGF0ZSIsInBlcm1pc3Npb25zIiwidXNlcl9pbmZvIiwiZGF0ZUZvcm1hdCIsImRhdGVfdGltZV9mb3JtYXQiLCJzYW1wbGluZ1Byb3BlcnRpZXMiLCJzZXRTYW1wbGluZ1Byb3BlcnRpZXMiLCJzYW1wbGVJZCIsImluaXRGb3JtaWtWYWx1ZXMiLCJpc0NhbmNlbGVkIiwicGFnZUNvbGxlY3Rpb25UaW1lIiwiY3VycmVudCIsInNhbXBsaW5nIiwiY29sbGVjdGlvbl90aW1lIiwic2FtIiwiZm9ybWlrIiwic2V0VmFsdWVzIiwibGFiX2lkIiwicHVtcF9zYW1wbGluZ192b2x1bWUiLCJwdW1wX2JhdHRlcnlfbGV2ZWwiLCJkZXNjcmlwdGlvbiIsImthbmRvX3JlcCIsInNhbXBsaW5nX3BsYW5faWQiLCJjYW5jZWxsYXRpb25fcmVhc29uIiwiaXNfY2FuY2VsZWQiLCJpc0NhbmNlbGxlZExheW91dCIsInBhZ2VUeXBlMmlzQ2FuY2VsbGVkIiwiY2FuY2VsIiwiY29sbGVjdCIsInJldmVydF9jYW5jZWwiLCJmZXRjaFNhbXBsaW5nUHJvcGVydGllcyIsInNhbXBsaW5nSWQiLCJvcCIsImF4aW9zIiwiZ2V0IiwiZmV0Y2hTYW1wbGluZyIsInVybCIsInJlc3BvbnNlIiwiZGF0YSIsInNhbXBsaW5nX3Byb3BlcnRpZXMiLCJkZXRlY3RQYWdlVHlwZSIsImRldGVybWluZUNvbGxlY3Rpb25UaW1lIiwic2FtcGxpbmdfcGxhbiIsImdldFVybFF1ZXJ5T3AiLCJ2YWxpZGF0aW9uU2NoZW1hIiwicHJvcGVydGllc1ZhbGlkYXRpb25TY2hlbWEiLCJjYW5jZWxsYXRpb25WYWxpZGF0aW9uU2NoZW1hIiwiZW5hYmxlUmVpbml0aWFsaXplIiwiaW5pdGlhbFZhbHVlcyIsInNhbXBsaW5nUHJvcGVydHkiLCJ2YWxpZGF0ZU9uQ2hhbmdlIiwidmFsaWRhdGVPbkJsdXIiLCJvblN1Ym1pdCIsInZhbHVlcyIsImhhbmRsZVN1Ym1pdCIsImhhbmRsZUNsb3NlIiwiZ29CYWNrIiwicGljdHVyZXNfYXR0cmlidXRlcyIsInNhdmVGb3JtRGF0YSIsImZvcm1EYXRhQnVpbGRlciIsInVwZGF0ZU9yQ3JlYXRlIiwic2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0Iiwic2V0VGltZW91dCIsImZvcm1EYXRhIiwiRm9ybURhdGEiLCJrZXkiLCJ2YWx1ZSIsImFwcGVuZCIsInVuaXF1ZVBob3Rvc1RvRGVsZXRlIiwiU2V0IiwibGVuZ3RoIiwiZm9yRWFjaCIsImlkIiwiaW5kZXgiLCJKU09OIiwic3RyaW5naWZ5IiwidXBkYXRlT3JDcmVhdGVTdWNjZXNzIiwibXNnIiwic2FtcGxpbmdJRCIsInBvc3QiLCJjcmVhdGVTYW1wbGluZyIsImluY2x1ZGVzIiwicHV0IiwidXBkYXRlU2FtcGxpbmciLCJpc1NhbXBsaW5nQ2FuY2VsbGVkIiwiZWRpdFBhZ2VWYWx1ZSIsIkVESVRfUFJPUEVSVElFU19PUCIsIkNPTExFQ1RfU0FNUExJTkdfT1AiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwic2VydmVyQ29sbGVjdGlvblRpbWUiLCJjdXJyZW50VGltZSIsInNlcnZlclRpbWUiLCJpc01vYmlsZSIsIlNhbXBsaW5nUHJvcGVydGllc1N0eWxlIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFPQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBNUJBO0FBQ0E7QUFDQTtBQW1DQSxJQUFNQSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNDLFFBQUQ7QUFBQSxTQUFjQSxRQUFRLEtBQUssTUFBM0I7QUFBQSxDQUF6Qjs7QUFFTyxJQUFNQyxrQkFBc0IsR0FBRyxTQUF6QkEsa0JBQXlCLEdBQU07QUFDMUMsa0JBQTRDLHFCQUMxQyxJQUFJQyxJQUFKLEVBRDBDLENBQTVDO0FBQUE7QUFBQSxNQUFPQyxjQUFQO0FBQUEsTUFBdUJDLGlCQUF2Qjs7QUFHQSxtQkFBNEIscUJBQThCLEVBQTlCLENBQTVCO0FBQUE7QUFBQSxNQUFPQyxNQUFQO0FBQUEsTUFBZUMsU0FBZjs7QUFDQSxtQkFBNEMscUJBQW1CLEVBQW5CLENBQTVDO0FBQUE7QUFBQSxNQUFPQyxjQUFQO0FBQUEsTUFBdUJDLGlCQUF2Qjs7QUFDQSxtQkFBa0MscUJBQWlCQyxjQUFLQyxDQUFMLENBQU8sY0FBUCxDQUFqQixDQUFsQztBQUFBO0FBQUEsTUFBT0MsU0FBUDtBQUFBLE1BQWtCQyxZQUFsQjs7QUFDQSxtQkFBOEMscUJBQVMsS0FBVCxDQUE5QztBQUFBO0FBQUEsTUFBT0MsZUFBUDtBQUFBLE1BQXdCQyxrQkFBeEI7O0FBQ0Esb0JBQXdDLHFCQUV0Q0MsU0FGc0MsQ0FBeEM7QUFBQTtBQUFBLE1BQU9DLFlBQVA7QUFBQSxNQUFxQkMsZUFBckI7O0FBR0EsTUFBTUMsT0FBTyxHQUFHLGlDQUFoQjtBQUNBLE1BQU1DLEtBQUssR0FBRywyQkFBZDtBQUNBLE1BQU1DLFFBQVEsR0FBRyw2QkFBWSxVQUFDQyxLQUFE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QUEsaUJBQWlCLEVBQUVwRSxpQkFQckI7QUFRRSxJQUFBLFNBQVMsRUFBRUYsU0FSYjtBQVNFLElBQUEsTUFBTSxFQUFFRCxNQVRWO0FBVUUsSUFBQSxNQUFNLEVBQUUrQjtBQVZWLElBOUJKLENBREYsQ0FERixDQURGO0FBa0RELENBdFJNOzs7O0FBd1JQLElBQU0rRSx1QkFBdUIsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsa0JBQ3pCLENBQUNILDJCQUFELEdBQVksZUFBWixHQUE4QixFQURMLEVBRXpCLENBQUNBLDJCQUFELEdBQVkscUJBQVosR0FBb0MsRUFGWCxDQUE3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQcm9wZXJ0aWVzIGFuZCBDYW5jZWxsaW5nIGZvcm1zLlxuICoqL1xuaW1wb3J0IFJlYWN0LCB7IEZDLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgRm9ybWlrQ29uZmlnIH0gZnJvbSAnZm9ybWlrL2Rpc3QvdHlwZXMnO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IHVzZUZvcm1payB9IGZyb20gJ2Zvcm1payc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5LCB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgTGF5b3V0IGZyb20gJ3NyYy91aS1raXQvTGF5b3V0L0xheW91dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJ3NyYy9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuXG5pbXBvcnQge1xuICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIEVESVRfUFJPUEVSVElFU19PUCxcbiAgUkVWRVJUX0NBTkNFTExBVElPTixcbiAgU2FtcGxpbmdGZXRjaERhdGEsXG59IGZyb20gJy4uL3NhbXBsaW5nc1BhZ2VVdGlscyc7XG5pbXBvcnQgeyBTYW1wbGluZ1Byb3BlcnRpZXNGb3JtIH0gZnJvbSAnLi9TYW1wbGluZ1Byb3BlcnRpZXNGb3JtJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllc0hlYWQgfSBmcm9tICcuL1NhbXBsaW5nUHJvcGVydGllc0hlYWQnO1xuaW1wb3J0IHsgU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZE1vYmlsZSB9IGZyb20gJy4vU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZE1vYmlsZSc7XG5pbXBvcnQge1xuICBGb3JtVHlwZSxcbiAgVFNhbXBsaW5nUHJvcGVydGllcyxcbiAgY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYSxcbiAgaXNDb2xsZWN0TGF5b3V0LFxuICBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYSxcbiAgc2FtcGxpbmdQcm9wZXJ0eSxcbn0gZnJvbSAnLi9zYW1wbGluZ1Byb3BlcnRpZXNVdGlscyc7XG5cbmNvbnN0IGlzUHJvcGVydGllc1BhZ2UgPSAocGFnZVR5cGUpID0+IHBhZ2VUeXBlID09PSAnZWRpdCc7XG5cbmV4cG9ydCBjb25zdCBTYW1wbGluZ1Byb3BlcnRpZXM6IEZDID0gKCkgPT4ge1xuICBjb25zdCBbY29sbGVjdGlvblRpbWUsIHNldENvbGxlY3Rpb25UaW1lXSA9IHVzZVN0YXRlPHN0cmluZyB8IERhdGUgfCBudWxsPihcbiAgICBuZXcgRGF0ZSgpLFxuICApO1xuICBjb25zdCBbcGhvdG9zLCBzZXRQaG90b3NdID0gdXNlU3RhdGU8c3RyaW5nIHwgQmxvYiB8IGFueT4oW10pO1xuICBjb25zdCBbcGhvdG9zVG9EZWxldGUsIHNldFBob3Rvc1RvRGVsZXRlXSA9IHVzZVN0YXRlPG51bWJlcltdPihbXSk7XG4gIGNvbnN0IFtzYXZpbmdNc2csIHNldFNhdmluZ01zZ10gPSB1c2VTdGF0ZTxzdHJpbmc+KGkxOG4udCgnYnV0dG9ucy5zYXZlJykpO1xuICBjb25zdCBbc2FtcGxpbmdVcGRhdGVkLCBzZXRTYW1wbGluZ1VwZGF0ZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2FtcGxpbmdQbGFuLCBzZXRTYW1wbGluZ1BsYW5dID0gdXNlU3RhdGU8XG4gICAgU2FtcGxpbmdGZXRjaERhdGEgfCB1bmRlZmluZWRcbiAgPih1bmRlZmluZWQpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IHVzZXJJbmZvID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy51c2VyX2luZm8pO1xuICBjb25zdCBkYXRlRm9ybWF0ID1cbiAgICB1c2VySW5mby5kYXRlX3RpbWVfZm9ybWF0ID09PSAndXMnXG4gICAgICA/ICdNTU0gZCwgeXl5eSBoaDptbSBhYSdcbiAgICAgIDogJ2QvTU0veXl5eSBISDptbSc7XG4gIGNvbnN0IHBhZ2VUeXBlID0gdXNlUmVmPHN0cmluZz4oJycpO1xuICBjb25zdCBbc2FtcGxpbmdQcm9wZXJ0aWVzLCBzZXRTYW1wbGluZ1Byb3BlcnRpZXNdID1cbiAgICB1c2VTdGF0ZTxUU2FtcGxpbmdQcm9wZXJ0aWVzPigpO1xuICBjb25zdCB7IHNhbXBsZUlkIH0gPSB1c2VQYXJhbXMoKTtcblxuICBjb25zdCBpbml0Rm9ybWlrVmFsdWVzID0gKHNhbXBsaW5nUHJvcGVydGllcywgaXNDYW5jZWxlZCkgPT4ge1xuICAgIGNvbnN0IHBhZ2VDb2xsZWN0aW9uVGltZSA9IGlzQ29sbGVjdExheW91dChwYWdlVHlwZS5jdXJyZW50KVxuICAgICAgPyBjb2xsZWN0aW9uVGltZVxuICAgICAgOiBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuY29sbGVjdGlvbl90aW1lO1xuICAgIGNvbnN0IHNhbSA9IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZztcbiAgICBmb3JtaWsuc2V0VmFsdWVzKHtcbiAgICAgIGxhYl9pZDogc2FtLmxhYl9pZCxcbiAgICAgIGNvbGxlY3Rpb25fdGltZTogcGFnZUNvbGxlY3Rpb25UaW1lLFxuICAgICAgcHVtcF9zYW1wbGluZ192b2x1bWU6IHNhbS5wdW1wX3NhbXBsaW5nX3ZvbHVtZSxcbiAgICAgIHB1bXBfYmF0dGVyeV9sZXZlbDogc2FtLnB1bXBfYmF0dGVyeV9sZXZlbCxcbiAgICAgIGRlc2NyaXB0aW9uOiBzYW0uZGVzY3JpcHRpb24sXG4gICAgICBrYW5kb19yZXA6IHNhbS5rYW5kb19yZXAsXG4gICAgICBzYW1wbGluZ19wbGFuX2lkOiBzYW0uc2FtcGxpbmdfcGxhbl9pZCxcbiAgICAgIGNhbmNlbGxhdGlvbl9yZWFzb246IHNhbS5jYW5jZWxsYXRpb25fcmVhc29uIHx8ICcnLFxuICAgICAgaXNfY2FuY2VsZWQ6IGlzQ2FuY2VsZWQsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaXNDYW5jZWxsZWRMYXlvdXQgPSAoc2FtcGxpbmdQcm9wZXJ0aWVzKSA9PiB7XG4gICAgY29uc3QgcGFnZVR5cGUyaXNDYW5jZWxsZWQgPSB7XG4gICAgICBjYW5jZWw6IHRydWUsXG4gICAgICBjb2xsZWN0OiBmYWxzZSxcbiAgICAgIHJldmVydF9jYW5jZWw6IGZhbHNlLFxuICAgIH07XG4gICAgbGV0IGlzQ2FuY2VsZWQgPSBwYWdlVHlwZTJpc0NhbmNlbGxlZFtwYWdlVHlwZS5jdXJyZW50XTtcbiAgICBpZiAoaXNDYW5jZWxlZCA9PT0gbnVsbCkge1xuICAgICAgaXNDYW5jZWxlZCA9IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5pc19jYW5jZWxlZCB8fCBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQ2FuY2VsZWQ7XG4gIH07XG5cbiAgY29uc3QgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoc2FtcGxpbmdJZCA9IHNhbXBsZUlkLCBvcCkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQoXG4gICAgICAgIHVybHMoeyBzYW1wbGluZ0lkOiBzYW1wbGluZ0lkIH0pLnNhbXBsaW5nUHJvcGVydGllcy5mZXRjaFNhbXBsaW5nLnVybCxcbiAgICAgICk7XG4gICAgICBjb25zdCBzYW1wbGluZyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICBjb25zdCBzYW1wbGluZ1Byb3BlcnRpZXMgPSBzYW1wbGluZy5zYW1wbGluZ19wcm9wZXJ0aWVzO1xuICAgICAgcGFnZVR5cGUuY3VycmVudCA9IGRldGVjdFBhZ2VUeXBlKFxuICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuaXNfY2FuY2VsZWQsXG4gICAgICAgIG9wLFxuICAgICAgKTtcbiAgICAgIHNldENvbGxlY3Rpb25UaW1lKFxuICAgICAgICBkZXRlcm1pbmVDb2xsZWN0aW9uVGltZShcbiAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuY29sbGVjdGlvbl90aW1lLFxuICAgICAgICAgIG9wLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGxldCBpc0NhbmNlbGVkID0gaXNDYW5jZWxsZWRMYXlvdXQoXG4gICAgICAgIHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5pc19jYW5jZWxlZCxcbiAgICAgICk7XG4gICAgICBpbml0Rm9ybWlrVmFsdWVzKHNhbXBsaW5nUHJvcGVydGllcywgaXNDYW5jZWxlZCk7XG4gICAgICBzZXRTYW1wbGluZ1Byb3BlcnRpZXMoc2FtcGxpbmdQcm9wZXJ0aWVzKTtcbiAgICAgIHNldFNhbXBsaW5nUGxhbihzYW1wbGluZy5zYW1wbGluZ19wbGFuKTtcbiAgICB9LFxuICAgIFtdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMoc2FtcGxlSWQsIGdldFVybFF1ZXJ5T3AoKSk7XG4gIH0sIFtzYW1wbGluZ1VwZGF0ZWRdKTtcblxuICBjb25zdCB2YWxpZGF0aW9uU2NoZW1hID0gaXNDb2xsZWN0TGF5b3V0KHBhZ2VUeXBlLmN1cnJlbnQpXG4gICAgPyBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYVxuICAgIDogY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYTtcbiAgY29uc3QgZm9ybWlrID0gdXNlRm9ybWlrPEZvcm1pa0NvbmZpZzxGb3JtVHlwZT4+KHtcbiAgICBlbmFibGVSZWluaXRpYWxpemU6IHRydWUsXG4gICAgaW5pdGlhbFZhbHVlczogc2FtcGxpbmdQcm9wZXJ0eSxcbiAgICB2YWxpZGF0aW9uU2NoZW1hOiB2YWxpZGF0aW9uU2NoZW1hLFxuICAgIHZhbGlkYXRlT25DaGFuZ2U6IGZhbHNlLFxuICAgIHZhbGlkYXRlT25CbHVyOiB0cnVlLFxuICAgIG9uU3VibWl0OiAodmFsdWVzKSA9PiB7XG4gICAgICBoYW5kbGVTdWJtaXQodmFsdWVzKTtcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBoaXN0b3J5LmdvQmFjaygpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9ICh2YWx1ZXMpID0+IHtcbiAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLnNhdmluZycpKTtcbiAgICB2YWx1ZXMucGljdHVyZXNfYXR0cmlidXRlcyA9IHBob3RvcztcbiAgICBjb25zdCBzYXZlRm9ybURhdGEgPSBmb3JtRGF0YUJ1aWxkZXIodmFsdWVzKTtcbiAgICB1cGRhdGVPckNyZWF0ZShzYXZlRm9ybURhdGEpO1xuICB9O1xuXG4gIGNvbnN0IHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCA9ICgpID0+IHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuc2F2ZScpKTtcbiAgICB9LCAzMDAwKTtcbiAgfTtcblxuICBjb25zdCBmb3JtRGF0YUJ1aWxkZXIgPSAodmFsdWVzKSA9PiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB2YWx1ZXMpIHtcbiAgICAgIGlmIChrZXkgIT09ICdwaWN0dXJlc19hdHRyaWJ1dGVzJykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1trZXldID09PSBudWxsID8gJycgOiB2YWx1ZXNba2V5XTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGBzYW1wbGluZ1ske2tleX1dYCwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgdW5pcXVlUGhvdG9zVG9EZWxldGUgPSBbLi4ubmV3IFNldChwaG90b3NUb0RlbGV0ZSldO1xuICAgIHVuaXF1ZVBob3Rvc1RvRGVsZXRlLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgdW5pcXVlUGhvdG9zVG9EZWxldGUuZm9yRWFjaCgoaWQsIGluZGV4KSA9PiB7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgICBgc2FtcGxpbmdbcGljdHVyZXNfYXR0cmlidXRlc11bJHtpbmRleH1dW2lkXWAsXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoaWQpLFxuICAgICAgICApO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoXG4gICAgICAgICAgYHNhbXBsaW5nW3BpY3R1cmVzX2F0dHJpYnV0ZXNdWyR7aW5kZXh9XVtfZGVzdHJveV1gLFxuICAgICAgICAgICd0cnVlJyxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIHJldHVybiBmb3JtRGF0YTtcbiAgfTtcblxuICBjb25zdCB1cGRhdGVPckNyZWF0ZSA9IGFzeW5jIChmb3JtRGF0YSkgPT4ge1xuICAgIGNvbnN0IHVwZGF0ZU9yQ3JlYXRlU3VjY2VzcyA9IChtc2cpID0+IHtcbiAgICAgIHNldFNhdmluZ01zZyhpMThuLnQobXNnKSk7XG4gICAgICBzZXRTYW1wbGluZ1VwZGF0ZWQodHJ1ZSk7XG4gICAgICBzZXRPcmlnaW5hbFNhdmVNZXNzYWdlV2l0aFRpbWVvdXQoKTtcbiAgICAgIGhhbmRsZUNsb3NlKCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHNhbXBsaW5nSUQgPSBzYW1wbGluZ1Byb3BlcnRpZXM/LnNhbXBsaW5nPy5pZDtcbiAgICBpZiAoc2FtcGxpbmdJRCA9PT0gbnVsbCkge1xuICAgICAgLy8gY3JlYXRlXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoYHNhbXBsaW5nW2RhdGVdYCwgY29sbGVjdGlvblRpbWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYXhpb3MucG9zdChcbiAgICAgICAgICB1cmxzKCkuc2FtcGxpbmdQcm9wZXJ0aWVzLmNyZWF0ZVNhbXBsaW5nLnVybCxcbiAgICAgICAgICBmb3JtRGF0YSxcbiAgICAgICAgKTtcbiAgICAgICAgdXBkYXRlT3JDcmVhdGVTdWNjZXNzKCdidXR0b25zLmNyZWF0ZWQnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc2V0U2F2aW5nTXNnKGkxOG4udCgnYnV0dG9ucy5lcnJvcicpKTtcbiAgICAgICAgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0KCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChcbiAgICAgICAgZ2V0VXJsUXVlcnlPcCgpID09PSAnZWRpdCcgfHxcbiAgICAgICAgWydyZXZlcnRfY2FuY2VsJ10uaW5jbHVkZXMocGFnZVR5cGUuY3VycmVudClcbiAgICAgICkge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoYHNhbXBsaW5nW2NvbGxlY3Rpb25fdGltZV1gLCBjb2xsZWN0aW9uVGltZSk7XG4gICAgICB9XG4gICAgICAvLyB1cGRhdGVcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGF4aW9zLnB1dChcbiAgICAgICAgICB1cmxzKHsgc2FtcGxpbmdJZDogc2FtcGxpbmdJRCB9KS5zYW1wbGluZ1Byb3BlcnRpZXMudXBkYXRlU2FtcGxpbmdcbiAgICAgICAgICAgIC51cmwsXG4gICAgICAgICAgZm9ybURhdGEsXG4gICAgICAgICk7XG4gICAgICAgIHVwZGF0ZU9yQ3JlYXRlU3VjY2VzcygnYnV0dG9ucy51cGRhdGVkJyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuZXJyb3InKSk7XG4gICAgICAgIHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBkZXRlY3RQYWdlVHlwZSA9IChpc1NhbXBsaW5nQ2FuY2VsbGVkLCBvcCkgPT4ge1xuICAgIGNvbnN0IGVkaXRQYWdlVmFsdWUgPSBpc1NhbXBsaW5nQ2FuY2VsbGVkID8gJ2NhbmNlbCcgOiAnY29sbGVjdCc7XG4gICAgaWYgKG9wID09PSBFRElUX1BST1BFUlRJRVNfT1ApIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IENPTExFQ1RfU0FNUExJTkdfT1ApIHtcbiAgICAgIHJldHVybiAnY29sbGVjdCc7XG4gICAgfSBlbHNlIGlmIChvcCA9PT0gQ0FOQ0VMX1NBTVBMSU5HX09QKSB7XG4gICAgICByZXR1cm4gJ2NhbmNlbCc7XG4gICAgfSBlbHNlIGlmIChvcCA9PT0gUkVWRVJUX0NBTkNFTExBVElPTikge1xuICAgICAgcmV0dXJuICdyZXZlcnRfY2FuY2VsJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVkaXRQYWdlVmFsdWU7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRldGVybWluZUNvbGxlY3Rpb25UaW1lID0gKHNlcnZlckNvbGxlY3Rpb25UaW1lLCBvcCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBzZXJ2ZXJUaW1lID0gc2VydmVyQ29sbGVjdGlvblRpbWVcbiAgICAgID8gbmV3IERhdGUoc2VydmVyQ29sbGVjdGlvblRpbWUpXG4gICAgICA6IGN1cnJlbnRUaW1lO1xuICAgIGNvbnN0IGVkaXRQYWdlVmFsdWUgPSBzZXJ2ZXJDb2xsZWN0aW9uVGltZSA/IHNlcnZlclRpbWUgOiBjdXJyZW50VGltZTtcbiAgICBpZiAob3AgPT09IEVESVRfUFJPUEVSVElFU19PUCkge1xuICAgICAgcmV0dXJuIGVkaXRQYWdlVmFsdWU7XG4gICAgfSBlbHNlIGlmIChvcCA9PT0gQ09MTEVDVF9TQU1QTElOR19PUCkge1xuICAgICAgcmV0dXJuIGN1cnJlbnRUaW1lO1xuICAgIH0gZWxzZSBpZiAoW0NBTkNFTF9TQU1QTElOR19PUCwgUkVWRVJUX0NBTkNFTExBVElPTl0uaW5jbHVkZXMob3ApKSB7XG4gICAgICByZXR1cm4gc2VydmVyVGltZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVkaXRQYWdlVmFsdWU7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldFVybFF1ZXJ5T3AgPSAoKSA9PiB7XG4gICAgbGV0IG9wID0gcXVlcnkuZ2V0KCdvcCcpO1xuICAgIC8vIGlmIG5vdCBwcmVzZW50IHRoZW4gZGVmYXVsdCBvcCBpcyAnY29sbGVjdGluZydcbiAgICBpZiAoW3VuZGVmaW5lZCwgbnVsbCwgJyddLmluY2x1ZGVzKG9wKSkge1xuICAgICAgcmV0dXJuIENPTExFQ1RfU0FNUExJTkdfT1A7XG4gICAgfVxuICAgIHJldHVybiBvcDtcbiAgfTtcblxuICBpZiAoIXNhbXBsaW5nUGxhbiB8fCAhc2FtcGxpbmdQcm9wZXJ0aWVzKSB7XG4gICAgcmV0dXJuIDxTcGlubmVyIC8+O1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Zm9ybSBvblN1Ym1pdD17Zm9ybWlrLmhhbmRsZVN1Ym1pdH0+XG4gICAgICA8TGF5b3V0PlxuICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGU+XG4gICAgICAgICAgeyFpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzSGVhZFxuICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUGxhbn1cbiAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBjb2xsZWN0aW9uVGltZT17Y29sbGVjdGlvblRpbWV9XG4gICAgICAgICAgICAgIHNldENvbGxlY3Rpb25UaW1lPXtzZXRDb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkPXtzZXRTYW1wbGluZ1VwZGF0ZWR9XG4gICAgICAgICAgICAgIGlzRGF0ZVBpY2tlckRpc2FibGVkPXtpc1Byb3BlcnRpZXNQYWdlKHBhZ2VUeXBlKX1cbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzSGVhZE1vYmlsZVxuICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUGxhbn1cbiAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBjb2xsZWN0aW9uVGltZT17Y29sbGVjdGlvblRpbWV9XG4gICAgICAgICAgICAgIHNldENvbGxlY3Rpb25UaW1lPXtzZXRDb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkPXtzZXRTYW1wbGluZ1VwZGF0ZWR9XG4gICAgICAgICAgICAgIGlzRGF0ZVBpY2tlckRpc2FibGVkPXtpc1Byb3BlcnRpZXNQYWdlKHBhZ2VUeXBlKX1cbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtzYW1wbGluZ1Byb3BlcnRpZXMgJiYgcGFnZVR5cGUgJiYgKFxuICAgICAgICAgICAgPFNhbXBsaW5nUHJvcGVydGllc0Zvcm1cbiAgICAgICAgICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzPXtzYW1wbGluZ1Byb3BlcnRpZXN9XG4gICAgICAgICAgICAgIHNhbXBsaW5nPXtzYW1wbGluZ1BsYW59XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBzZXRTYW1wbGluZ1VwZGF0ZWQ9e3NldFNhbXBsaW5nVXBkYXRlZH1cbiAgICAgICAgICAgICAgc2F2aW5nTXNnPXtzYXZpbmdNc2d9XG4gICAgICAgICAgICAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgICAgICAgc2V0UGhvdG9zVG9EZWxldGU9e3NldFBob3Rvc1RvRGVsZXRlfVxuICAgICAgICAgICAgICBzZXRQaG90b3M9e3NldFBob3Rvc31cbiAgICAgICAgICAgICAgcGhvdG9zPXtwaG90b3N9XG4gICAgICAgICAgICAgIGZvcm1paz17Zm9ybWlrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NhbXBsaW5nUHJvcGVydGllc1N0eWxlPlxuICAgICAgPC9MYXlvdXQ+XG4gICAgPC9mb3JtPlxuICApO1xufTtcblxuY29uc3QgU2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGUgPSBzdHlsZWQuZGl2YFxuICAkeyFpc01vYmlsZSA/ICd3aWR0aDogODMwcHg7JyA6ICcnfVxuICAkeyFpc01vYmlsZSA/ICdtYXJnaW46IDEwMHB4IGF1dG87JyA6ICcnfVxuYDtcbiJdfQ==
|
|
405
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXMudHN4Il0sIm5hbWVzIjpbImlzUHJvcGVydGllc1BhZ2UiLCJwYWdlVHlwZSIsIlNhbXBsaW5nUHJvcGVydGllcyIsIkRhdGUiLCJjb2xsZWN0aW9uVGltZSIsInNldENvbGxlY3Rpb25UaW1lIiwicGhvdG9zIiwic2V0UGhvdG9zIiwicGhvdG9zVG9EZWxldGUiLCJzZXRQaG90b3NUb0RlbGV0ZSIsImkxOG4iLCJ0Iiwic2F2aW5nTXNnIiwic2V0U2F2aW5nTXNnIiwic2FtcGxpbmdVcGRhdGVkIiwic2V0U2FtcGxpbmdVcGRhdGVkIiwidW5kZWZpbmVkIiwic2FtcGxpbmdQbGFuIiwic2V0U2FtcGxpbmdQbGFuIiwiaGlzdG9yeSIsInF1ZXJ5IiwidXNlckluZm8iLCJzdGF0ZSIsInBlcm1pc3Npb25zIiwidXNlcl9pbmZvIiwiZGF0ZUZvcm1hdCIsImRhdGVfdGltZV9mb3JtYXQiLCJzYW1wbGluZ1Byb3BlcnRpZXMiLCJzZXRTYW1wbGluZ1Byb3BlcnRpZXMiLCJzYW1wbGVJZCIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsImluaXRGb3JtaWtWYWx1ZXMiLCJpc0NhbmNlbGVkIiwicGFnZUNvbGxlY3Rpb25UaW1lIiwiY3VycmVudCIsInNhbXBsaW5nIiwiY29sbGVjdGlvbl90aW1lIiwic2FtIiwiZm9ybWlrIiwic2V0VmFsdWVzIiwibGFiX2lkIiwicHVtcF9zYW1wbGluZ192b2x1bWUiLCJwdW1wX2JhdHRlcnlfbGV2ZWwiLCJkZXNjcmlwdGlvbiIsImthbmRvX3JlcCIsInNhbXBsaW5nX3BsYW5faWQiLCJjYW5jZWxsYXRpb25fcmVhc29uIiwiaXNfY2FuY2VsZWQiLCJpc0NhbmNlbGxlZExheW91dCIsInBhZ2VUeXBlMmlzQ2FuY2VsbGVkIiwiY2FuY2VsIiwiY29sbGVjdCIsInJldmVydF9jYW5jZWwiLCJmZXRjaFNhbXBsaW5nUHJvcGVydGllcyIsInNhbXBsaW5nSWQiLCJvcCIsImF4aW9zIiwiZ2V0IiwiZmV0Y2hTYW1wbGluZyIsInVybCIsInJlc3BvbnNlIiwiZGF0YSIsInNhbXBsaW5nX3Byb3BlcnRpZXMiLCJkZXRlY3RQYWdlVHlwZSIsImRldGVybWluZUNvbGxlY3Rpb25UaW1lIiwic2FtcGxpbmdfcGxhbiIsImdldFVybFF1ZXJ5T3AiLCJ2YWxpZGF0aW9uU2NoZW1hIiwicHJvcGVydGllc1ZhbGlkYXRpb25TY2hlbWEiLCJjYW5jZWxsYXRpb25WYWxpZGF0aW9uU2NoZW1hIiwiZW5hYmxlUmVpbml0aWFsaXplIiwiaW5pdGlhbFZhbHVlcyIsInNhbXBsaW5nUHJvcGVydHkiLCJ2YWxpZGF0ZU9uQ2hhbmdlIiwidmFsaWRhdGVPbkJsdXIiLCJvblN1Ym1pdCIsInZhbHVlcyIsImhhbmRsZVN1Ym1pdCIsImhhbmRsZUNsb3NlIiwiZ29CYWNrIiwicGljdHVyZXNfYXR0cmlidXRlcyIsInNhdmVGb3JtRGF0YSIsImZvcm1EYXRhQnVpbGRlciIsInVwZGF0ZU9yQ3JlYXRlIiwic2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0Iiwic2V0VGltZW91dCIsImZvcm1EYXRhIiwiRm9ybURhdGEiLCJrZXkiLCJ2YWx1ZSIsImFwcGVuZCIsInVuaXF1ZVBob3Rvc1RvRGVsZXRlIiwiU2V0IiwibGVuZ3RoIiwiZm9yRWFjaCIsImlkIiwiaW5kZXgiLCJKU09OIiwic3RyaW5naWZ5IiwidXBkYXRlT3JDcmVhdGVTdWNjZXNzIiwibXNnIiwic2FtcGxpbmdJRCIsInBvc3QiLCJjcmVhdGVTYW1wbGluZyIsImluY2x1ZGVzIiwicHV0IiwidXBkYXRlU2FtcGxpbmciLCJpc1NhbXBsaW5nQ2FuY2VsbGVkIiwiZWRpdFBhZ2VWYWx1ZSIsIkVESVRfUFJPUEVSVElFU19PUCIsIkNPTExFQ1RfU0FNUExJTkdfT1AiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwic2VydmVyQ29sbGVjdGlvblRpbWUiLCJjdXJyZW50VGltZSIsInNlcnZlclRpbWUiLCJpc01vYmlsZSIsIlNhbXBsaW5nUHJvcGVydGllc1N0eWxlIiwic3R5bGVkIiwiZGl2Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFPQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBNUJBO0FBQ0E7QUFDQTtBQW1DQSxJQUFNQSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNDLFFBQUQ7QUFBQSxTQUFjQSxRQUFRLEtBQUssTUFBM0I7QUFBQSxDQUF6Qjs7QUFFTyxJQUFNQyxrQkFBc0IsR0FBRyxTQUF6QkEsa0JBQXlCLEdBQU07QUFDMUMsa0JBQTRDLHFCQUMxQyxJQUFJQyxJQUFKLEVBRDBDLENBQTVDO0FBQUE7QUFBQSxNQUFPQyxjQUFQO0FBQUEsTUFBdUJDLGlCQUF2Qjs7QUFHQSxtQkFBNEIscUJBQThCLEVBQTlCLENBQTVCO0FBQUE7QUFBQSxNQUFPQyxNQUFQO0FBQUEsTUFBZUMsU0FBZjs7QUFDQSxtQkFBNEMscUJBQW1CLEVBQW5CLENBQTVDO0FBQUE7QUFBQSxNQUFPQyxjQUFQO0FBQUEsTUFBdUJDLGlCQUF2Qjs7QUFDQSxtQkFBa0MscUJBQWlCQyxjQUFLQyxDQUFMLENBQU8sY0FBUCxDQUFqQixDQUFsQztBQUFBO0FBQUEsTUFBT0MsU0FBUDtBQUFBLE1BQWtCQyxZQUFsQjs7QUFDQSxtQkFBOEMscUJBQVMsS0FBVCxDQUE5QztBQUFBO0FBQUEsTUFBT0MsZUFBUDtBQUFBLE1BQXdCQyxrQkFBeEI7O0FBQ0Esb0JBQXdDLHFCQUV0Q0MsU0FGc0MsQ0FBeEM7QUFBQTtBQUFBLE1BQU9DLFlBQVA7QUFBQSxNQUFxQkMsZUFBckI7O0FBR0EsTUFBTUMsT0FBTyxHQUFHLGlDQUFoQjtBQUNBLE1BQU1DLEtBQUssR0FBRywyQkFBZDtBQUNB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LGlCQUNDLDZCQUFDLDhDQUFEO0FBQ0UsSUFBQSxrQkFBa0IsRUFBRTBCLGtCQUR0QjtBQUVFLElBQUEsUUFBUSxFQUFFVixZQUZaO0FBR0UsSUFBQSxRQUFRLEVBQUVoQixRQUFRLENBQUNrQyxPQUhyQjtBQUlFLElBQUEsa0JBQWtCLEVBQUVwQixrQkFKdEI7QUFLRSxJQUFBLFNBQVMsRUFBRUgsU0FMYjtBQU1FLElBQUEsV0FBVyxFQUFFbUUsV0FOZjtBQU9FLElBQUEsaUJBQWlCLEVBQUV0RSxpQkFQckI7QUFRRSxJQUFBLFNBQVMsRUFBRUYsU0FSYjtBQVNFLElBQUEsTUFBTSxFQUFFRCxNQVRWO0FBVUUsSUFBQSxNQUFNLEVBQUVpQztBQVZWLElBOUJKLENBREYsQ0FERixDQURGO0FBa0RELENBM1JNOzs7O0FBNlJQLElBQU0rRSx1QkFBdUIsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsa0JBQ3pCLENBQUNILDJCQUFELEdBQVksZUFBWixHQUE4QixFQURMLEVBRXpCLENBQUNBLDJCQUFELEdBQVkscUJBQVosR0FBb0MsRUFGWCxDQUE3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQcm9wZXJ0aWVzIGFuZCBDYW5jZWxsaW5nIGZvcm1zLlxuICoqL1xuaW1wb3J0IFJlYWN0LCB7IEZDLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgRm9ybWlrQ29uZmlnIH0gZnJvbSAnZm9ybWlrL2Rpc3QvdHlwZXMnO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IHVzZUZvcm1payB9IGZyb20gJ2Zvcm1payc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5LCB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgTGF5b3V0IGZyb20gJ3NyYy91aS1raXQvTGF5b3V0L0xheW91dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJ3NyYy9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuXG5pbXBvcnQge1xuICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIEVESVRfUFJPUEVSVElFU19PUCxcbiAgUkVWRVJUX0NBTkNFTExBVElPTixcbiAgU2FtcGxpbmdGZXRjaERhdGEsXG59IGZyb20gJy4uL3NhbXBsaW5nc1BhZ2VVdGlscyc7XG5pbXBvcnQgeyBTYW1wbGluZ1Byb3BlcnRpZXNGb3JtIH0gZnJvbSAnLi9TYW1wbGluZ1Byb3BlcnRpZXNGb3JtJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllc0hlYWQgfSBmcm9tICcuL1NhbXBsaW5nUHJvcGVydGllc0hlYWQnO1xuaW1wb3J0IHsgU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZE1vYmlsZSB9IGZyb20gJy4vU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZE1vYmlsZSc7XG5pbXBvcnQge1xuICBGb3JtVHlwZSxcbiAgVFNhbXBsaW5nUHJvcGVydGllcyxcbiAgY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYSxcbiAgaXNDb2xsZWN0TGF5b3V0LFxuICBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYSxcbiAgc2FtcGxpbmdQcm9wZXJ0eSxcbn0gZnJvbSAnLi9zYW1wbGluZ1Byb3BlcnRpZXNVdGlscyc7XG5cbmNvbnN0IGlzUHJvcGVydGllc1BhZ2UgPSAocGFnZVR5cGUpID0+IHBhZ2VUeXBlID09PSAnZWRpdCc7XG5cbmV4cG9ydCBjb25zdCBTYW1wbGluZ1Byb3BlcnRpZXM6IEZDID0gKCkgPT4ge1xuICBjb25zdCBbY29sbGVjdGlvblRpbWUsIHNldENvbGxlY3Rpb25UaW1lXSA9IHVzZVN0YXRlPHN0cmluZyB8IERhdGUgfCBudWxsPihcbiAgICBuZXcgRGF0ZSgpLFxuICApO1xuICBjb25zdCBbcGhvdG9zLCBzZXRQaG90b3NdID0gdXNlU3RhdGU8c3RyaW5nIHwgQmxvYiB8IGFueT4oW10pO1xuICBjb25zdCBbcGhvdG9zVG9EZWxldGUsIHNldFBob3Rvc1RvRGVsZXRlXSA9IHVzZVN0YXRlPG51bWJlcltdPihbXSk7XG4gIGNvbnN0IFtzYXZpbmdNc2csIHNldFNhdmluZ01zZ10gPSB1c2VTdGF0ZTxzdHJpbmc+KGkxOG4udCgnYnV0dG9ucy5zYXZlJykpO1xuICBjb25zdCBbc2FtcGxpbmdVcGRhdGVkLCBzZXRTYW1wbGluZ1VwZGF0ZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2FtcGxpbmdQbGFuLCBzZXRTYW1wbGluZ1BsYW5dID0gdXNlU3RhdGU8XG4gICAgU2FtcGxpbmdGZXRjaERhdGEgfCB1bmRlZmluZWRcbiAgPih1bmRlZmluZWQpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IHVzZXJJbmZvID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy51c2VyX2luZm8pO1xuICBjb25zdCBkYXRlRm9ybWF0ID1cbiAgICB1c2VySW5mby5kYXRlX3RpbWVfZm9ybWF0ID09PSAndXMnXG4gICAgICA/ICdNTU0gZCwgeXl5eSBoaDptbSBhYSdcbiAgICAgIDogJ2QvTU0veXl5eSBISDptbSc7XG4gIGNvbnN0IHBhZ2VUeXBlID0gdXNlUmVmPHN0cmluZz4oJycpO1xuICBjb25zdCBbc2FtcGxpbmdQcm9wZXJ0aWVzLCBzZXRTYW1wbGluZ1Byb3BlcnRpZXNdID1cbiAgICB1c2VTdGF0ZTxUU2FtcGxpbmdQcm9wZXJ0aWVzPigpO1xuICBjb25zdCB7IHNhbXBsZUlkIH0gPSB1c2VQYXJhbXMoKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgKTtcblxuICBjb25zdCBpbml0Rm9ybWlrVmFsdWVzID0gKHNhbXBsaW5nUHJvcGVydGllcywgaXNDYW5jZWxlZCkgPT4ge1xuICAgIGNvbnN0IHBhZ2VDb2xsZWN0aW9uVGltZSA9IGlzQ29sbGVjdExheW91dChwYWdlVHlwZS5jdXJyZW50KVxuICAgICAgPyBjb2xsZWN0aW9uVGltZVxuICAgICAgOiBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuY29sbGVjdGlvbl90aW1lO1xuICAgIGNvbnN0IHNhbSA9IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZztcbiAgICBmb3JtaWsuc2V0VmFsdWVzKHtcbiAgICAgIGxhYl9pZDogc2FtLmxhYl9pZCxcbiAgICAgIGNvbGxlY3Rpb25fdGltZTogcGFnZUNvbGxlY3Rpb25UaW1lLFxuICAgICAgcHVtcF9zYW1wbGluZ192b2x1bWU6IHNhbS5wdW1wX3NhbXBsaW5nX3ZvbHVtZSxcbiAgICAgIHB1bXBfYmF0dGVyeV9sZXZlbDogc2FtLnB1bXBfYmF0dGVyeV9sZXZlbCxcbiAgICAgIGRlc2NyaXB0aW9uOiBzYW0uZGVzY3JpcHRpb24sXG4gICAgICBrYW5kb19yZXA6IHNhbS5rYW5kb19yZXAsXG4gICAgICBzYW1wbGluZ19wbGFuX2lkOiBzYW0uc2FtcGxpbmdfcGxhbl9pZCxcbiAgICAgIGNhbmNlbGxhdGlvbl9yZWFzb246IHNhbS5jYW5jZWxsYXRpb25fcmVhc29uIHx8ICcnLFxuICAgICAgaXNfY2FuY2VsZWQ6IGlzQ2FuY2VsZWQsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaXNDYW5jZWxsZWRMYXlvdXQgPSAoc2FtcGxpbmdQcm9wZXJ0aWVzKSA9PiB7XG4gICAgY29uc3QgcGFnZVR5cGUyaXNDYW5jZWxsZWQgPSB7XG4gICAgICBjYW5jZWw6IHRydWUsXG4gICAgICBjb2xsZWN0OiBmYWxzZSxcbiAgICAgIHJldmVydF9jYW5jZWw6IGZhbHNlLFxuICAgIH07XG4gICAgbGV0IGlzQ2FuY2VsZWQgPSBwYWdlVHlwZTJpc0NhbmNlbGxlZFtwYWdlVHlwZS5jdXJyZW50XTtcbiAgICBpZiAoaXNDYW5jZWxlZCA9PT0gbnVsbCkge1xuICAgICAgaXNDYW5jZWxlZCA9IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5pc19jYW5jZWxlZCB8fCBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQ2FuY2VsZWQ7XG4gIH07XG5cbiAgY29uc3QgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoc2FtcGxpbmdJZCA9IHNhbXBsZUlkLCBvcCkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQoXG4gICAgICAgIHVybHMoeyBzYW1wbGluZ0lkOiBzYW1wbGluZ0lkIH0pLnNhbXBsaW5nUHJvcGVydGllcy5mZXRjaFNhbXBsaW5nLnVybCxcbiAgICAgICk7XG4gICAgICBjb25zdCBzYW1wbGluZyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICBjb25zdCBzYW1wbGluZ1Byb3BlcnRpZXMgPSBzYW1wbGluZy5zYW1wbGluZ19wcm9wZXJ0aWVzO1xuICAgICAgcGFnZVR5cGUuY3VycmVudCA9IGRldGVjdFBhZ2VUeXBlKFxuICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuaXNfY2FuY2VsZWQsXG4gICAgICAgIG9wLFxuICAgICAgKTtcbiAgICAgIHNldENvbGxlY3Rpb25UaW1lKFxuICAgICAgICBkZXRlcm1pbmVDb2xsZWN0aW9uVGltZShcbiAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuY29sbGVjdGlvbl90aW1lLFxuICAgICAgICAgIG9wLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGxldCBpc0NhbmNlbGVkID0gaXNDYW5jZWxsZWRMYXlvdXQoXG4gICAgICAgIHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5pc19jYW5jZWxlZCxcbiAgICAgICk7XG4gICAgICBpbml0Rm9ybWlrVmFsdWVzKHNhbXBsaW5nUHJvcGVydGllcywgaXNDYW5jZWxlZCk7XG4gICAgICBzZXRTYW1wbGluZ1Byb3BlcnRpZXMoc2FtcGxpbmdQcm9wZXJ0aWVzKTtcbiAgICAgIHNldFNhbXBsaW5nUGxhbihzYW1wbGluZy5zYW1wbGluZ19wbGFuKTtcbiAgICB9LFxuICAgIFtdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMoc2FtcGxlSWQsIGdldFVybFF1ZXJ5T3AoKSk7XG4gIH0sIFtzYW1wbGluZ1VwZGF0ZWRdKTtcblxuICBjb25zdCB2YWxpZGF0aW9uU2NoZW1hID0gaXNDb2xsZWN0TGF5b3V0KHBhZ2VUeXBlLmN1cnJlbnQpXG4gICAgPyBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYVxuICAgIDogY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYTtcbiAgY29uc3QgZm9ybWlrID0gdXNlRm9ybWlrPEZvcm1pa0NvbmZpZzxGb3JtVHlwZT4+KHtcbiAgICBlbmFibGVSZWluaXRpYWxpemU6IHRydWUsXG4gICAgaW5pdGlhbFZhbHVlczogc2FtcGxpbmdQcm9wZXJ0eSxcbiAgICB2YWxpZGF0aW9uU2NoZW1hOiB2YWxpZGF0aW9uU2NoZW1hLFxuICAgIHZhbGlkYXRlT25DaGFuZ2U6IGZhbHNlLFxuICAgIHZhbGlkYXRlT25CbHVyOiB0cnVlLFxuICAgIG9uU3VibWl0OiAodmFsdWVzKSA9PiB7XG4gICAgICBoYW5kbGVTdWJtaXQodmFsdWVzKTtcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBoaXN0b3J5LmdvQmFjaygpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9ICh2YWx1ZXMpID0+IHtcbiAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLnNhdmluZycpKTtcbiAgICB2YWx1ZXMucGljdHVyZXNfYXR0cmlidXRlcyA9IHBob3RvcztcbiAgICBjb25zdCBzYXZlRm9ybURhdGEgPSBmb3JtRGF0YUJ1aWxkZXIodmFsdWVzKTtcbiAgICB1cGRhdGVPckNyZWF0ZShzYXZlRm9ybURhdGEpO1xuICB9O1xuXG4gIGNvbnN0IHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCA9ICgpID0+IHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuc2F2ZScpKTtcbiAgICB9LCAzMDAwKTtcbiAgfTtcblxuICBjb25zdCBmb3JtRGF0YUJ1aWxkZXIgPSAodmFsdWVzKSA9PiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB2YWx1ZXMpIHtcbiAgICAgIGlmIChrZXkgIT09ICdwaWN0dXJlc19hdHRyaWJ1dGVzJykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1trZXldID09PSBudWxsID8gJycgOiB2YWx1ZXNba2V5XTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGBzYW1wbGluZ1ske2tleX1dYCwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgdW5pcXVlUGhvdG9zVG9EZWxldGUgPSBbLi4ubmV3IFNldChwaG90b3NUb0RlbGV0ZSldO1xuICAgIHVuaXF1ZVBob3Rvc1RvRGVsZXRlLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgdW5pcXVlUGhvdG9zVG9EZWxldGUuZm9yRWFjaCgoaWQsIGluZGV4KSA9PiB7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgICBgc2FtcGxpbmdbcGljdHVyZXNfYXR0cmlidXRlc11bJHtpbmRleH1dW2lkXWAsXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoaWQpLFxuICAgICAgICApO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoXG4gICAgICAgICAgYHNhbXBsaW5nW3BpY3R1cmVzX2F0dHJpYnV0ZXNdWyR7aW5kZXh9XVtfZGVzdHJveV1gLFxuICAgICAgICAgICd0cnVlJyxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIHJldHVybiBmb3JtRGF0YTtcbiAgfTtcblxuICBjb25zdCB1cGRhdGVPckNyZWF0ZSA9IGFzeW5jIChmb3JtRGF0YSkgPT4ge1xuICAgIGNvbnN0IHVwZGF0ZU9yQ3JlYXRlU3VjY2VzcyA9IChtc2cpID0+IHtcbiAgICAgIHNldFNhdmluZ01zZyhpMThuLnQobXNnKSk7XG4gICAgICBzZXRTYW1wbGluZ1VwZGF0ZWQodHJ1ZSk7XG4gICAgICBzZXRPcmlnaW5hbFNhdmVNZXNzYWdlV2l0aFRpbWVvdXQoKTtcbiAgICAgIGhhbmRsZUNsb3NlKCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHNhbXBsaW5nSUQgPSBzYW1wbGluZ1Byb3BlcnRpZXM/LnNhbXBsaW5nPy5pZDtcbiAgICBpZiAoc2FtcGxpbmdJRCA9PT0gbnVsbCkge1xuICAgICAgLy8gY3JlYXRlXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoYHNhbXBsaW5nW2RhdGVdYCwgY29sbGVjdGlvblRpbWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYXhpb3MucG9zdChcbiAgICAgICAgICB1cmxzKHtcbiAgICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgICAgICAgfSkuc2FtcGxpbmdQcm9wZXJ0aWVzLmNyZWF0ZVNhbXBsaW5nLnVybCxcbiAgICAgICAgICBmb3JtRGF0YSxcbiAgICAgICAgKTtcbiAgICAgICAgdXBkYXRlT3JDcmVhdGVTdWNjZXNzKCdidXR0b25zLmNyZWF0ZWQnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc2V0U2F2aW5nTXNnKGkxOG4udCgnYnV0dG9ucy5lcnJvcicpKTtcbiAgICAgICAgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0KCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChcbiAgICAgICAgZ2V0VXJsUXVlcnlPcCgpID09PSAnZWRpdCcgfHxcbiAgICAgICAgWydyZXZlcnRfY2FuY2VsJ10uaW5jbHVkZXMocGFnZVR5cGUuY3VycmVudClcbiAgICAgICkge1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoYHNhbXBsaW5nW2NvbGxlY3Rpb25fdGltZV1gLCBjb2xsZWN0aW9uVGltZSk7XG4gICAgICB9XG4gICAgICAvLyB1cGRhdGVcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGF4aW9zLnB1dChcbiAgICAgICAgICB1cmxzKHsgc2FtcGxpbmdJZDogc2FtcGxpbmdJRCwgd2F0ZXJBdXRob3JpdHlJZDogd2F0ZXJBdXRob3JpdHlJZCB9KVxuICAgICAgICAgICAgLnNhbXBsaW5nUHJvcGVydGllcy51cGRhdGVTYW1wbGluZy51cmwsXG4gICAgICAgICAgZm9ybURhdGEsXG4gICAgICAgICk7XG4gICAgICAgIHVwZGF0ZU9yQ3JlYXRlU3VjY2VzcygnYnV0dG9ucy51cGRhdGVkJyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuZXJyb3InKSk7XG4gICAgICAgIHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCgpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBkZXRlY3RQYWdlVHlwZSA9IChpc1NhbXBsaW5nQ2FuY2VsbGVkLCBvcCkgPT4ge1xuICAgIGNvbnN0IGVkaXRQYWdlVmFsdWUgPSBpc1NhbXBsaW5nQ2FuY2VsbGVkID8gJ2NhbmNlbCcgOiAnY29sbGVjdCc7XG4gICAgaWYgKG9wID09PSBFRElUX1BST1BFUlRJRVNfT1ApIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IENPTExFQ1RfU0FNUExJTkdfT1ApIHtcbiAgICAgIHJldHVybiAnY29sbGVjdCc7XG4gICAgfSBlbHNlIGlmIChvcCA9PT0gQ0FOQ0VMX1NBTVBMSU5HX09QKSB7XG4gICAgICByZXR1cm4gJ2NhbmNlbCc7XG4gICAgfSBlbHNlIGlmIChvcCA9PT0gUkVWRVJUX0NBTkNFTExBVElPTikge1xuICAgICAgcmV0dXJuICdyZXZlcnRfY2FuY2VsJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVkaXRQYWdlVmFsdWU7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRldGVybWluZUNvbGxlY3Rpb25UaW1lID0gKHNlcnZlckNvbGxlY3Rpb25UaW1lLCBvcCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBzZXJ2ZXJUaW1lID0gc2VydmVyQ29sbGVjdGlvblRpbWVcbiAgICAgID8gbmV3IERhdGUoc2VydmVyQ29sbGVjdGlvblRpbWUpXG4gICAgICA6IGN1cnJlbnRUaW1lO1xuICAgIGNvbnN0IGVkaXRQYWdlVmFsdWUgPSBzZXJ2ZXJDb2xsZWN0aW9uVGltZSA/IHNlcnZlclRpbWUgOiBjdXJyZW50VGltZTtcbiAgICBpZiAob3AgPT09IEVESVRfUFJPUEVSVElFU19PUCkge1xuICAgICAgcmV0dXJuIGVkaXRQYWdlVmFsdWU7XG4gICAgfSBlbHNlIGlmIChvcCA9PT0gQ09MTEVDVF9TQU1QTElOR19PUCkge1xuICAgICAgcmV0dXJuIGN1cnJlbnRUaW1lO1xuICAgIH0gZWxzZSBpZiAoW0NBTkNFTF9TQU1QTElOR19PUCwgUkVWRVJUX0NBTkNFTExBVElPTl0uaW5jbHVkZXMob3ApKSB7XG4gICAgICByZXR1cm4gc2VydmVyVGltZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVkaXRQYWdlVmFsdWU7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldFVybFF1ZXJ5T3AgPSAoKSA9PiB7XG4gICAgbGV0IG9wID0gcXVlcnkuZ2V0KCdvcCcpO1xuICAgIC8vIGlmIG5vdCBwcmVzZW50IHRoZW4gZGVmYXVsdCBvcCBpcyAnY29sbGVjdGluZydcbiAgICBpZiAoW3VuZGVmaW5lZCwgbnVsbCwgJyddLmluY2x1ZGVzKG9wKSkge1xuICAgICAgcmV0dXJuIENPTExFQ1RfU0FNUExJTkdfT1A7XG4gICAgfVxuICAgIHJldHVybiBvcDtcbiAgfTtcblxuICBpZiAoIXNhbXBsaW5nUGxhbiB8fCAhc2FtcGxpbmdQcm9wZXJ0aWVzKSB7XG4gICAgcmV0dXJuIDxTcGlubmVyIC8+O1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Zm9ybSBvblN1Ym1pdD17Zm9ybWlrLmhhbmRsZVN1Ym1pdH0+XG4gICAgICA8TGF5b3V0PlxuICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGU+XG4gICAgICAgICAgeyFpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzSGVhZFxuICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUGxhbn1cbiAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBjb2xsZWN0aW9uVGltZT17Y29sbGVjdGlvblRpbWV9XG4gICAgICAgICAgICAgIHNldENvbGxlY3Rpb25UaW1lPXtzZXRDb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkPXtzZXRTYW1wbGluZ1VwZGF0ZWR9XG4gICAgICAgICAgICAgIGlzRGF0ZVBpY2tlckRpc2FibGVkPXtpc1Byb3BlcnRpZXNQYWdlKHBhZ2VUeXBlKX1cbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzSGVhZE1vYmlsZVxuICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUGxhbn1cbiAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBjb2xsZWN0aW9uVGltZT17Y29sbGVjdGlvblRpbWV9XG4gICAgICAgICAgICAgIHNldENvbGxlY3Rpb25UaW1lPXtzZXRDb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkPXtzZXRTYW1wbGluZ1VwZGF0ZWR9XG4gICAgICAgICAgICAgIGlzRGF0ZVBpY2tlckRpc2FibGVkPXtpc1Byb3BlcnRpZXNQYWdlKHBhZ2VUeXBlKX1cbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtzYW1wbGluZ1Byb3BlcnRpZXMgJiYgcGFnZVR5cGUgJiYgKFxuICAgICAgICAgICAgPFNhbXBsaW5nUHJvcGVydGllc0Zvcm1cbiAgICAgICAgICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzPXtzYW1wbGluZ1Byb3BlcnRpZXN9XG4gICAgICAgICAgICAgIHNhbXBsaW5nPXtzYW1wbGluZ1BsYW59XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBzZXRTYW1wbGluZ1VwZGF0ZWQ9e3NldFNhbXBsaW5nVXBkYXRlZH1cbiAgICAgICAgICAgICAgc2F2aW5nTXNnPXtzYXZpbmdNc2d9XG4gICAgICAgICAgICAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgICAgICAgc2V0UGhvdG9zVG9EZWxldGU9e3NldFBob3Rvc1RvRGVsZXRlfVxuICAgICAgICAgICAgICBzZXRQaG90b3M9e3NldFBob3Rvc31cbiAgICAgICAgICAgICAgcGhvdG9zPXtwaG90b3N9XG4gICAgICAgICAgICAgIGZvcm1paz17Zm9ybWlrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NhbXBsaW5nUHJvcGVydGllc1N0eWxlPlxuICAgICAgPC9MYXlvdXQ+XG4gICAgPC9mb3JtPlxuICApO1xufTtcblxuY29uc3QgU2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGUgPSBzdHlsZWQuZGl2YFxuICAkeyFpc01vYmlsZSA/ICd3aWR0aDogODMwcHg7JyA6ICcnfVxuICAkeyFpc01vYmlsZSA/ICdtYXJnaW46IDEwMHB4IGF1dG87JyA6ICcnfVxuYDtcbiJdfQ==
|