@kando-env/kando-ui 1.2.75-alpha.49 → 1.2.75-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/lib/Widgets/EventsCarousel/EventsCarousel.js +3 -3
  2. package/lib/Widgets/EventsRow/EventsRow.js +3 -3
  3. package/lib/Widgets/Map/Map.js +5 -19
  4. package/lib/Widgets/Map/areas/AreaPolygons.js +6 -1
  5. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +5 -2
  6. package/lib/Widgets/Map/points/PointMarker.js +6 -21
  7. package/lib/Widgets/Map/points/PointMarkers.js +2 -2
  8. package/lib/assets/icons/index.js +0 -8
  9. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +2 -2
  10. package/lib/components/Header/KandoNavbar/KandoNavbar.js +1 -3
  11. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +1 -3
  12. package/lib/components/Sector/Sector.test.js +11 -4
  13. package/lib/components/SevereEvent/SevereEvent.js +7 -5
  14. package/lib/hooks/useApiWithDashboardQuery.js +4 -2
  15. package/lib/hooks/useUserTimeZone.js +2 -2
  16. package/lib/i18n/en.json +26 -43
  17. package/lib/i18n/fr.json +2 -4
  18. package/lib/i18n/he.json +6 -23
  19. package/lib/i18n/it.json +2 -4
  20. package/lib/index.js +1 -8
  21. package/lib/macros/getVersion.js +2 -2
  22. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +3 -3
  23. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +3 -3
  24. package/lib/pages/EventsPage/events/EventsStyle.scss +0 -5
  25. package/lib/pages/EventsPage/events/event_info/EventDetails.js +19 -9
  26. package/lib/pages/EventsPage/events/event_info/sources/Source.js +2 -2
  27. package/lib/pages/EventsPage/events/events_list/EventItem.js +19 -9
  28. package/lib/pages/EventsPage/events/events_list/EventsList.js +11 -22
  29. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +1 -4
  30. package/lib/pages/EventsPage/events/events_list/Filter/FilterStyle.scss +1 -1
  31. package/lib/pages/ImportFileWizard/ValidationForm.js +12 -7
  32. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +1 -5
  33. package/lib/pages/SamplingsPage/NewSamplingAction.js +3 -4
  34. package/lib/pages/SamplingsPage/SamplingActionDropdown.js +189 -0
  35. package/lib/pages/SamplingsPage/SamplingMobileModal.js +17 -1
  36. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +3 -10
  37. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +12 -9
  38. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +19 -26
  39. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +10 -15
  40. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +4 -14
  41. package/lib/pages/SamplingsPage/SamplingProperties/style.module.scss +1 -2
  42. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +2 -4
  43. package/lib/pages/SamplingsPage/SamplingsPage.js +2 -4
  44. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +5 -2
  45. package/lib/pages/SamplingsPage/samplingsPageUtils.js +34 -77
  46. package/lib/pages/SamplingsPage/style.module.scss +1 -1
  47. package/lib/pages/SamplingsPage/table.styles.scss +6 -8
  48. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +4 -5
  49. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +3 -5
  50. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +5 -21
  51. package/lib/pages/SitePage/SamplingParameters/dataParser.js +5 -16
  52. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +3 -3
  53. package/lib/pages/WbeDashboard/SummaryGraph.js +6 -15
  54. package/lib/store/areas/actions.js +2 -19
  55. package/lib/store/events/reducer.js +2 -4
  56. package/lib/store/permissions/permissionsSlice.js +1 -5
  57. package/lib/styles.scss +0 -7
  58. package/lib/ui-kit/Button/Button.test.js +11 -26
  59. package/lib/ui-kit/DropDown/DropDown.js +6 -12
  60. package/lib/ui-kit/DropDown/DropDown.test.js +41 -50
  61. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +2 -9
  62. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +3 -4
  63. package/lib/ui-kit/KandoTable/KandoTable.test.js +43 -46
  64. package/lib/utilities/i18n.js +1 -6
  65. package/lib/utilities/urls.js +5 -8
  66. package/package.json +2 -5
  67. package/lib/assets/icons/close-modal.svg +0 -8
  68. package/lib/components/DischargeHeatmap/mocks/handlers.js +0 -19
  69. package/lib/hooks/useUserTimeZone.test.js +0 -45
  70. package/lib/i18n/en_uk.json +0 -3760
  71. package/lib/pages/EventsPage/events/events_list/EventUtils.js +0 -23
  72. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +0 -43
  73. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +0 -39
  74. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +0 -172
  75. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +0 -74
  76. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +0 -48
  77. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +0 -114
  78. package/lib/test/mocks/browser.js +0 -23
  79. package/lib/test/test-utils.js +0 -61
@@ -109,10 +109,6 @@ 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
-
116
112
  var initFormikValues = function initFormikValues(samplingProperties, isCanceled) {
117
113
  var pageCollectionTime = (0, _samplingPropertiesUtils.isCollectLayout)(pageType.current) ? collectionTime : samplingProperties.sampling.collection_time;
118
114
  var sam = samplingProperties.sampling;
@@ -258,9 +254,7 @@ var SamplingProperties = function SamplingProperties() {
258
254
  formData.append("sampling[date]", collectionTime);
259
255
  _context2.prev = 4;
260
256
  _context2.next = 7;
261
- return _axios.default.post((0, _urls.urls)({
262
- waterAuthorityId: waterAuthorityId
263
- }).samplingProperties.createSampling.url, formData);
257
+ return _axios.default.post((0, _urls.urls)().samplingProperties.createSampling.url, formData);
264
258
 
265
259
  case 7:
266
260
  updateOrCreateSuccess('buttons.created');
@@ -286,8 +280,7 @@ var SamplingProperties = function SamplingProperties() {
286
280
  _context2.prev = 17;
287
281
  _context2.next = 20;
288
282
  return _axios.default.put((0, _urls.urls)({
289
- samplingId: samplingID,
290
- waterAuthorityId: waterAuthorityId
283
+ samplingId: samplingID
291
284
  }).samplingProperties.updateSampling.url, formData);
292
285
 
293
286
  case 20:
@@ -402,4 +395,4 @@ var SamplingPropertiesStyle = _styledComponents.default.div.withConfig({
402
395
  displayName: "SamplingProperties__SamplingPropertiesStyle",
403
396
  componentId: "sc-opklsf-0"
404
397
  })(["", " ", ""], !_reactDeviceDetect.isMobile ? 'width: 830px;' : '', !_reactDeviceDetect.isMobile ? 'margin: 100px auto;' : '');
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==
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==
@@ -40,10 +40,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
40
40
  var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
41
41
  var _samplingProperties$l;
42
42
 
43
- var _props$samplingProper = props.samplingProperties,
44
- samplingProperties = _props$samplingProper === void 0 ? {
45
- is_wbe: false
46
- } : _props$samplingProper,
43
+ var samplingProperties = props.samplingProperties,
44
+ sampling = props.sampling,
47
45
  formik = props.formik,
48
46
  pageType = props.pageType,
49
47
  savingMsg = props.savingMsg,
@@ -55,11 +53,16 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
55
53
  (0, _react.useEffect)(function () {}, [samplingProperties, formik]);
56
54
 
57
55
  var CancellationReasons = function CancellationReasons() {
58
- var reasons = _samplingPropertiesUtils.autoReasonsKeys.map(function (key) {
56
+ var manualReasons = _samplingPropertiesUtils.manualReasonsKeys.map(function (key) {
57
+ return _i18n.default.t("cancellation_reasons.".concat(key));
58
+ });
59
+
60
+ var autoReasons = _samplingPropertiesUtils.autoReasonsKeys.map(function (key) {
59
61
  return _i18n.default.t("cancellation_reasons.automated.".concat(key));
60
62
  });
61
63
 
62
- var machineReasons = _samplingPropertiesUtils.autoReasonsKeys;
64
+ var reasons = sampling.machine_type === 'sampling_type_rapid' ? manualReasons : autoReasons;
65
+ var machineReasons = sampling.machine_type === 'sampling_type_rapid' ? _samplingPropertiesUtils.manualReasonsKeys : _samplingPropertiesUtils.autoReasonsKeys;
63
66
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
64
67
  className: _styleModule.default.cancellationReasonGroup
65
68
  }, reasons.map(function (reason, idx) {
@@ -101,7 +104,7 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
101
104
  }, lab.name);
102
105
  })), formik.errors.lab_id && /*#__PURE__*/_react.default.createElement("div", {
103
106
  className: 'hint'
104
- }, formik.errors.lab_id)), (samplingProperties === null || samplingProperties === void 0 ? void 0 : samplingProperties.is_wbe) && /*#__PURE__*/_react.default.createElement(FormRowStyle, null, /*#__PURE__*/_react.default.createElement(InputWrapper, null, /*#__PURE__*/_react.default.createElement(_uiKit.MobileInput, {
107
+ }, formik.errors.lab_id)), /*#__PURE__*/_react.default.createElement(FormRowStyle, null, /*#__PURE__*/_react.default.createElement(InputWrapper, null, /*#__PURE__*/_react.default.createElement(_uiKit.MobileInput, {
105
108
  isInvalid: !!formik.errors.pump_sampling_volume,
106
109
  handleChange: formik.handleChange,
107
110
  handleBlur: formik.handleBlur,
@@ -121,7 +124,7 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
121
124
  name: "pump_battery_level",
122
125
  type: "number",
123
126
  value: formik.values.pump_battery_level,
124
- symbol: "V",
127
+ symbol: "%",
125
128
  className: _styleModule.default.formInputTitle
126
129
  }), formik.errors.pump_battery_level && /*#__PURE__*/_react.default.createElement("div", {
127
130
  className: 'hint hint--upper'
@@ -241,4 +244,4 @@ var BottomFormStyle = _styledComponents.default.div.withConfig({
241
244
  displayName: "SamplingPropertiesForm__BottomFormStyle",
242
245
  componentId: "sc-11w8cbo-9"
243
246
  })(["padding:0 0 6px;"]);
244
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXNGb3JtLnRzeCJdLCJuYW1lcyI6WyJTYW1wbGluZ1Byb3BlcnRpZXNGb3JtIiwicHJvcHMiLCJzYW1wbGluZ1Byb3BlcnRpZXMiLCJpc193YmUiLCJmb3JtaWsiLCJwYWdlVHlwZSIsInNhdmluZ01zZyIsImhhbmRsZUNsb3NlIiwic2V0UGhvdG9zIiwicGhvdG9zIiwic2V0UGhvdG9zVG9EZWxldGUiLCJDYW5jZWxsYXRpb25SZWFzb25zIiwicmVhc29ucyIsImF1dG9SZWFzb25zS2V5cyIsIm1hcCIsImtleSIsImkxOG4iLCJ0IiwibWFjaGluZVJlYXNvbnMiLCJTdHlsZSIsImNhbmNlbGxhdGlvblJlYXNvbkdyb3VwIiwicmVhc29uIiwiaWR4IiwiY2FuY2VsbGF0aW9uUmVhc29uIiwiaGFuZGxlQ2hhbmdlIiwiaGFuZGxlQmx1ciIsInZhbHVlcyIsImNhbmNlbGxhdGlvbl9yZWFzb24iLCJpbkNvbGxlY3RMYXlvdXQiLCJpbkNhbmNlbExheW91dCIsImxhYl9pZCIsImVycm9ycyIsImZvcm1JbnB1dFRpdGxlIiwidW5kZWZpbmVkIiwibGFicyIsImxhYiIsImlkIiwibmFtZSIsInB1bXBfc2FtcGxpbmdfdm9sdW1lIiwicHVtcF9iYXR0ZXJ5X2xldmVsIiwia2FuZG9fcmVwIiwiY2FuY2VsbGF0aW9uVGl0bGUiLCJyZWFzb25zTGlzdFdyYXBwZXIiLCJyZWFzb25zV3JhcHBlciIsInRvdWNoZWQiLCJ2YWxpZGF0aW9uRXJyb3IiLCJkZXNjcmlwdGlvbiIsImNvbGxlY3Rpb25fdGltZSIsInNhbXBsaW5nX3BsYW5faWQiLCJjbG9zZUJ0biIsInN1Ym1pdEJ0biIsIklucHV0V3JhcHBlciIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJkYXRhIiwiUjEwMCIsIkZpZWxkc0NvbnRhaW5lciIsImlzTW9iaWxlIiwiU3RhcnQiLCJFbmQiLCJhdHRycyIsImlzUHJvcGVydGllc1BhZ2UiLCJpc0NvbGxlY3RMYXlvdXQiLCJEZXNjcmlwdGlvbiIsIkZvcm1TdHlsZSIsIkZvcm1Sb3dTdHlsZSIsIlJvdyIsIkJ1dHRvbnNSb3ciLCJGb3JtQ29udGFpbmVyU3R5bGUiLCJDb250YWluZXIiLCJCb3R0b21Gb3JtU3R5bGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFPQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7O0FBRU8sSUFBTUEsc0JBQW1ELEdBQUcsU0FBdERBLHNCQUFzRCxDQUFDQyxLQUFELEVBQVc7QUFBQTs7QUFDNUUsOEJBU0lBLEtBVEosQ0FDRUMsa0JBREY7QUFBQSxNQUNFQSxrQkFERixzQ0FDdUI7QUFBRUMsSUFBQUEsTUFBTSxFQUFFO0FBQVYsR0FEdkI7QUFBQSxNQUVFQyxNQUZGLEdBU0lILEtBVEosQ0FFRUcsTUFGRjtBQUFBLE1BR0VDLFFBSEYsR0FTSUosS0FUSixDQUdFSSxRQUhGO0FBQUEsTUFJRUMsU0FKRixHQVNJTCxLQVRKLENBSUVLLFNBSkY7QUFBQSxNQUtFQyxXQUxGLEdBU0lOLEtBVEosQ0FLRU0sV0FMRjtBQUFBLE1BTUVDLFNBTkYsR0FTSVAsS0FUSixDQU1FTyxTQU5GO0FBQUEsTUFPRUMsTUFQRixHQVNJUixLQVRKLENBT0VRLE1BUEY7QUFBQSxNQVFFQyxpQkFSRixHQVNJVCxLQVRKLENBUUVTLGlCQVJGO0FBV0E7QUFDQSx3QkFBVSxZQUFNLENBQUUsQ0FBbEIsRUFBb0IsQ0FBQ1Isa0JBQUQsRUFBcUJFLE1BQXJCLENBQXBCOztBQUVBLE1BQU1PLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBc0IsR0FBTTtBQUNoQyxRQUFNQyxPQUFPLEdBQUdDLHlDQUFnQkMsR0FBaEIsQ0FBb0IsVUFBQ0MsR0FBRCxFQUFpQjtBQUNuRCxhQUFPQyxjQUFLQyxDQUFMLDBDQUF5Q0YsR0FBekMsRUFBUDtB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QUFBQSxTQUFzQjtBQUNqRDhELElBQUFBLGdCQUFnQixFQUFFOUQsS0FBSyxDQUFDK0Q7QUFEeUIsR0FBdEI7QUFBQSxDQUFqQixDQUFIO0FBQUE7QUFBQTtBQUFBLDhEQUdFLFVBQUMvRCxLQUFEO0FBQUEsU0FDUDBELDhCQUFXLE9BQVgsR0FBcUIxRCxLQUFLLENBQUM4RCxnQkFBTixHQUF5QixLQUF6QixHQUFpQyxNQUQvQztBQUFBLENBSEYsRUFLaUJKLDhCQUFXLFFBQVgsR0FBc0IsT0FMdkMsRUFNUUEsOEJBQVcsUUFBWCxHQUFzQixPQU45QixDQUFUOztBQVNBLElBQU1NLFdBQVcsR0FBR2IsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsd0xBUURNLDhCQUFXLGlCQUFYLEdBQStCLGtCQVI5QixDQUFqQjs7QUFrQkEsSUFBTU8sU0FBUyxHQUFHZCwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSx3QkFBZjs7QUFJQSxJQUFNYyxZQUFZLEdBQUcsK0JBQU9DLG1CQUFQLENBQUg7QUFBQTtBQUFBO0FBQUEsaUtBSUxULDhCQUFXLE1BQVgsR0FBb0IsT0FKZixFQU9TQSw4QkFBVyxPQUFYLEdBQXFCLElBUDlCLEVBV1dBLDhCQUFXLE9BQVgsR0FBcUIsSUFYaEMsQ0FBbEI7QUFvQkEsSUFBTVUsVUFBVSxHQUFHLCtCQUFPRCxtQkFBUCxDQUFIO0FBQUE7QUFBQTtBQUFBLHlGQUlKVCw4QkFBVyxDQUFYLEdBQWUsT0FKWCxFQU9WQSw4QkFBVyxFQUFYLEdBQWdCLGVBUE4sQ0FBaEI7QUFXQSxJQUFNVyxrQkFBa0IsR0FBRywrQkFBT0MseUJBQVAsQ0FBSDtBQUFBO0FBQUE7QUFBQSxrQ0FBeEI7O0FBS0EsSUFBTUMsZUFBZSxHQUFHcEIsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsd0JBQXJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZDLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IENvbnRhaW5lciwgRm9ybSwgUm93IH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAncmVhY3QtZGV2aWNlLWRldGVjdCc7XG5pbXBvcnQgeyB0b1NhZmVJbnRlZ2VyIH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHtcbiAgU2FtcGxpbmdQcm9wZXJ0aWVzUHJvcHMsXG4gIGF1dG9SZWFzb25zS2V5cyxcbiAgaXNDYW5jZWxMYXlvdXQsXG4gIGlzQ29sbGVjdExheW91dCxcbn0gZnJvbSAnLi9zYW1wbGluZ1Byb3BlcnRpZXNVdGlscyc7XG5cbmltcG9ydCBJbWFnZVVwbG9hZCBmcm9tICdzcmMvcGFnZXMvU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvSW1hZ2VVcGxvYWQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IE1vYmlsZUlucHV0LCBCdXR0b24gfSBmcm9tICdzcmMvdWkta2l0JztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnc3JjL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyB1c2VJbml0aWFsaXplSGVhZGVycyB9IGZyb20gJ3NyYy9ob29rcy91c2VJbml0aWFsaXplSGVhZGVycyc7XG5cbmltcG9ydCBTdHlsZSBmcm9tICcuLi9zdHlsZS5tb2R1bGUuc2Nzcyc7XG5cbmV4cG9ydCBjb25zdCBTYW1wbGluZ1Byb3BlcnRpZXNGb3JtOiBGQzxTYW1wbGluZ1Byb3BlcnRpZXNQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIHNhbXBsaW5nUHJvcGVydGllcyA9IHsgaXNfd2JlOiBmYWxzZSB9LFxuICAgIGZvcm1payxcbiAgICBwYWdlVHlwZSxcbiAgICBzYXZpbmdNc2csXG4gICAgaGFuZGxlQ2xvc2UsXG4gICAgc2V0UGhvdG9zLFxuICAgIHBob3RvcyxcbiAgICBzZXRQaG90b3NUb0RlbGV0ZSxcbiAgfSA9IHByb3BzO1xuXG4gIHVzZUluaXRpYWxpemVIZWFkZXJzKCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7fSwgW3NhbXBsaW5nUHJvcGVydGllcywgZm9ybWlrXSk7XG5cbiAgY29uc3QgQ2FuY2VsbGF0aW9uUmVhc29ucyA9ICgpID0+IHtcbiAgICBjb25zdCByZWFzb25zID0gYXV0b1JlYXNvbnNLZXlzLm1hcCgoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBpMThuLnQoYGNhbmNlbGxhdGlvbl9yZWFzb25zLmF1dG9tYXRlZC4ke2tleX1gKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG1hY2hpbmVSZWFzb25zID0gYXV0b1JlYXNvbnNLZXlzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxGb3JtLkdyb3VwIGNsYXNzTmFtZT17U3R5bGUuY2FuY2VsbGF0aW9uUmVhc29uR3JvdXB9PlxuICAgICAgICAgIHtyZWFzb25zLm1hcCgocmVhc29uLCBpZHgpID0+IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAga2V5PXtgb3B0LSR7aWR4fWB9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YG1iLTMgJHtTdHlsZS5jYW5jZWxsYXRpb25SZWFzb259YH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZvcm0uQ2hlY2tcbiAgICAgICAgICAgICAgICB2YWx1ZT17bWFjaGluZVJlYXNvbnNbaWR4XX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17Zm9ybWlrLmhhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICBvbkJsdXI9e2Zvcm1pay5oYW5kbGVCbHVyfVxuICAgICAgICAgICAgICAgIGxhYmVsPXtyZWFzb259XG4gICAgICAgICAgICAgICAgbmFtZT1cImNhbmNlbGxhdGlvbl9yZWFzb25cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgaWQ9e3JlYXNvbn1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXtcbiAgICAgICAgICAgICAgICAgIG1hY2hpbmVSZWFzb25zW2lkeF0gPT09IGZvcm1pay52YWx1ZXMuY2FuY2VsbGF0aW9uX3JlYXNvblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGluQ29sbGVjdExheW91dCA9IGlzQ29sbGVjdExheW91dChwYWdlVHlwZSk7XG4gIGNvbnN0IGluQ2FuY2VsTGF5b3V0ID0gaXNDYW5jZWxMYXlvdXQocGFnZVR5cGUpO1xuXG4gIHJldHVybiAoXG4gICAgPEZvcm1TdHlsZT5cbiAgICAgIDxGb3JtQ29udGFpbmVyU3R5bGU+XG4gICAgICAgIDxGaWVsZHNDb250YWluZXI+XG4gICAgICAgICAge2luQ29sbGVjdExheW91dCAmJiAoXG4gICAgICAgICAgICA8U3RhcnQ+XG4gICAgICAgICAgICAgIDxJbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPE1vYmlsZUlucHV0XG4gICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9e2Zvcm1pay5oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICBoYW5kbGVCbHVyPXtmb3JtaWsuaGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgIGlucHV0VGl0bGU9e2kxOG4udCgnYWN0aXZlcmVjb3JkLm1vZGVscy5sYWInKX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtaWsudmFsdWVzLmxhYl9pZH1cbiAgICAgICAgICAgICAgICAgIGlzSW52YWxpZD17ISFmb3JtaWsuZXJyb3JzLmxhYl9pZH1cbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJsYWJfaWRcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cInNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICBtYW5kYXRvcnk9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlLmZvcm1JbnB1dFRpdGxlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e3VuZGVmaW5lZH0gLz5cbiAgICAgICAgICAgICAgICAgIHtzYW1wbGluZ1Byb3BlcnRpZXM/LmxhYnM/Lm1hcCgobGFiOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BvcHQtJHtsYWIuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtsYWIuaWQgfHwgJyd9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsYWIuaWQgPT09IHRvU2FmZUludGVnZXIoZm9ybWlrLnZhbHVlcy5sYWJfaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge2xhYi5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgPC9Nb2JpbGVJbnB1dD5cbiAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5sYWJfaWQgJiYgKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoaW50J30+e2Zvcm1pay5lcnJvcnMubGFiX2lkfTwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICB7c2FtcGxpbmdQcm9wZXJ0aWVzPy5pc193YmUgJiYgKFxuICAgICAgICAgICAgICAgIDxGb3JtUm93U3R5bGU+XG4gICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8TW9iaWxlSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBpc0ludmFsaWQ9eyEhZm9ybWlrLmVycm9ycy5wdW1wX3NhbXBsaW5nX3ZvbHVtZX1cbiAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9e2Zvcm1pay5oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQmx1cj17Zm9ybWlrLmhhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRUaXRsZT17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3B1bXBfc2NoZWR1bGVkX2RheXNfY29uZmlndXJhdGlvbi52b2x1bWUnLFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInB1bXBfc2FtcGxpbmdfdm9sdW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybWlrLnZhbHVlcy5wdW1wX3NhbXBsaW5nX3ZvbHVtZX1cbiAgICAgICAgICAgICAgICAgICAgICBzeW1ib2w9XCJtbFwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5mb3JtSW5wdXRUaXRsZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAge2Zvcm1pay5lcnJvcnMucHVtcF9zYW1wbGluZ192b2x1bWUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnaGludCBoaW50LS11cHBlcid9PlxuICAgICAgICAgICAgICAgICAgICAgICAge2Zvcm1pay5lcnJvcnMucHVtcF9zYW1wbGluZ192b2x1bWV9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICA8L0lucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgIDxJbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIGlzSW52YWxpZD17ISFmb3JtaWsuZXJyb3JzLnB1bXBfYmF0dGVyeV9sZXZlbH1cbiAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9e2Zvcm1pay5oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQmx1cj17Zm9ybWlrLmhhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRUaXRsZT17aTE4bi50KCdzYW1wbGluZ19zY3JlZW4ucHVtcF9iYXR0ZXJ5X2xldmVsJyl9XG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInB1bXBfYmF0dGVyeV9sZXZlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1pay52YWx1ZXMucHVtcF9iYXR0ZXJ5X2xldmVsfVxuICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbD1cIlZcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuZm9ybUlucHV0VGl0bGV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLnB1bXBfYmF0dGVyeV9sZXZlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoaW50IGhpbnQtLXVwcGVyJ30+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5wdW1wX2JhdHRlcnlfbGV2ZWx9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICA8L0lucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8L0Zvcm1Sb3dTdHlsZT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU3RhcnQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8RW5kIGlzQ29sbGVjdExheW91dD17aW5Db2xsZWN0TGF5b3V0fT5cbiAgICAgICAgICAgIHtpbkNvbGxlY3RMYXlvdXQgJiYgKFxuICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgaXNJbnZhbGlkPXshIWZvcm1pay5lcnJvcnMua2FuZG9fcmVwfVxuICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgaGFuZGxlQmx1cj17Zm9ybWlrLmhhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICBpbnB1dFRpdGxlPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy5yZXBvcnRlcicsXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgbmFtZT1cImthbmRvX3JlcFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMucGxhY2Vob2xkZXJfcmVwb3J0ZXInLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtaWsudmFsdWVzLmthbmRvX3JlcH1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuZm9ybUlucHV0VGl0bGV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5rYW5kb19yZXAgJiYgKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoaW50J30+e2Zvcm1pay5lcnJvcnMua2FuZG9fcmVwfTwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge2luQ2FuY2VsTGF5b3V0ICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmNhbmNlbGxhdGlvblRpdGxlfT5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jYW5jZWxsYXRpb25fdGl0bGUnKX06XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnJlYXNvbnNMaXN0V3JhcHBlcn0+XG4gICAgICAgICAgICAgIHtpbkNhbmNlbExheW91dCAmJiAoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnJlYXNvbnNXcmFwcGVyfT5cbiAgICAgICAgICAgICAgICAgIHtmb3JtaWsudG91Y2hlZC5jYW5jZWxsYXRpb25fcmVhc29uICYmXG4gICAgICAgICAgICAgICAgICAgIGZvcm1pay5lcnJvcnMuY2FuY2VsbGF0aW9uX3JlYXNvbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnZhbGlkYXRpb25FcnJvcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdnZW5lcmFsLnBsZWFzZV9zZWxlY3QnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDxDYW5jZWxsYXRpb25SZWFzb25zIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgPERlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgaGFuZGxlQmx1cj17Zm9ybWlrLmhhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICBpbnB1dFRpdGxlPXtpMThuLnQoJ3dhdGVyX21ldGVyLmRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy5nZW5lcmFsX2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybWlrLnZhbHVlcy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICAgIGlzSW52YWxpZD17ISFmb3JtaWsuZXJyb3JzLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5mb3JtSW5wdXRUaXRsZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0Rlc2NyaXB0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9FbmQ+XG4gICAgICAgIDwvRmllbGRzQ29udGFpbmVyPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPXsnaGlkZGVuJ31cbiAgICAgICAgICBuYW1lPXsnY29sbGVjdGlvbl90aW1lJ31cbiAgICAgICAgICB2YWx1ZT17Zm9ybWlrLnZhbHVlcy5jb2xsZWN0aW9uX3RpbWUgfHwgJyd9XG4gICAgICAgIC8+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9eydoaWRkZW4nfVxuICAgICAgICAgIG5hbWU9eydzYW1wbGluZ19wbGFuX2lkJ31cbiAgICAgICAgICB2YWx1ZT17Zm9ybWlrLnZhbHVlcy5zYW1wbGluZ19wbGFuX2lkIHx8ICcnfVxuICAgICAgICAvPlxuICAgICAgICA8Qm90dG9tRm9ybVN0eWxlIC8+XG4gICAgICAgIDxJbWFnZVVwbG9hZFxuICAgICAgICAgIHNldFBob3Rvcz17c2V0UGhvdG9zfVxuICAgICAgICAgIHBob3Rvcz17cGhvdG9zfVxuICAgICAgICAgIHNhbXBsaW5nPXtzYW1wbGluZ1Byb3BlcnRpZXN9XG4gICAgICAgICAgc2V0UGhvdG9zVG9EZWxldGU9e3NldFBob3Rvc1RvRGVsZXRlfVxuICAgICAgICAvPlxuICAgICAgICA8QnV0dG9uc1Jvdz5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgICAgIHdpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgICAgdmFyaWFudD1cIm5vbmVcIlxuICAgICAgICAgICAgcm91bmRlZD17dHJ1ZX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuY2xvc2VCdG59XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2kxOG4udCgnY2xvc2UnKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICByb3VuZGVkPXt0cnVlfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICB3aWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuc3VibWl0QnRufVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtzYXZpbmdNc2d9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvQnV0dG9uc1Jvdz5cbiAgICAgIDwvRm9ybUNvbnRhaW5lclN0eWxlPlxuICAgIDwvRm9ybVN0eWxlPlxuICApO1xufTtcblxuY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWdyb3c6IDE7XG5cbiAgLmlucHV0LWdyb3VwLFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzZweDtcbiAgICB0b3A6IC00cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5oaW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMTZweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICR7dGhlbWUuY29sb3JTY2hlbWUuZGF0YS5SMTAwfTtcblxuICAgICYtLXVwcGVyIHtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IEZpZWxkc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiAke2lzTW9iaWxlID8gJ2NvbHVtbjsnIDogJ3JvdzsnfVxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5gO1xuXG5jb25zdCBTdGFydCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAke2lzTW9iaWxlID8gJ3Vuc2V0OycgOiAnNTAlOyd9XG4gIHBhZGRpbmctaW5saW5lLWVuZDogJHtpc01vYmlsZSA/ICd1bnNldDsnIDogJzEwcHg7J31cbiAgcGFkZGluZy10b3A6ICR7aXNNb2JpbGUgPyAndW5zZXQ7JyA6ICcxMHB4Oyd9XG4gIFxuYDtcbmludGVyZmFjZSBFbmRQcm9wcyB7XG4gIGlzQ29sbGVjdExheW91dDogYm9vbGVhbjtcbn1cbmNvbnN0IEVuZCA9IHN0eWxlZC5kaXYuYXR0cnMoKHByb3BzOiBFbmRQcm9wcykgPT4gKHtcbiAgaXNQcm9wZXJ0aWVzUGFnZTogcHJvcHMuaXNDb2xsZWN0TGF5b3V0LFxufSkpYFxuICB3aWR0aDogJHsocHJvcHMpID0+XG4gICAgaXNNb2JpbGUgPyAndW5zZXQnIDogcHJvcHMuaXNQcm9wZXJ0aWVzUGFnZSA/ICc1MCUnIDogJzEwMCUnfTtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICR7aXNNb2JpbGUgPyAndW5zZXQ7JyA6ICcxMHB4Oyd9XG4gIHBhZGRpbmctdG9wOiAke2lzTW9iaWxlID8gJ3Vuc2V0OycgOiAnMTBweDsnfVxuYDtcblxuY29uc3QgRGVzY3JpcHRpb24gPSBzdHlsZWQuZGl2YFxuICBmbGV4LWdyb3c6IDE7XG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIGhlaWdodDogbWF4LWNvbnRlbnQ7XG4gICAgdGV4dGFyZWEge1xuICAgICAgdHJhbnNpdGlvbjogY3ViaWMtYmV6aWVyKDAuNjUsIDAuMDUsIDAuMzYsIDEpIDAuMnM7XG4gICAgICBoZWlnaHQ6ICR7aXNNb2JpbGUgPyAnNzVweCAhaW1wb3J0YW50JyA6ICcxMDVweCAhaW1wb3J0YW50J307XG4gICAgfVxuXG4gICAgZGl2IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBGb3JtU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAwIDAgNnB4O1xuYDtcblxuY29uc3QgRm9ybVJvd1N0eWxlID0gc3R5bGVkKFJvdylgXG4gIG1hcmdpbjogMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBkaXYge1xuICAgIHdpZHRoOiAke2lzTW9iaWxlID8gJzQ1JTsnIDogJzEwMCU7J307XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICR7aXNNb2JpbGUgPyAnMTBweDsnIDogJzA7J307XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJHtpc01vYmlsZSA/ICcxMHB4OycgOiAnMDsnfTtcbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBCdXR0b25zUm93ID0gc3R5bGVkKFJvdylgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luOiAke2lzTW9iaWxlID8gMCA6ICc5cHggMCd9O1xuXG4gIGRpdiB7XG4gICAgJHtpc01vYmlsZSA/ICcnIDogJ21hcmdpbjogMCA2cHgnfVxuICB9XG5gO1xuXG5jb25zdCBGb3JtQ29udGFpbmVyU3R5bGUgPSBzdHlsZWQoQ29udGFpbmVyKWBcbiAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgcGFkZGluZzogMDtcbmA7XG5cbmNvbnN0IEJvdHRvbUZvcm1TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDAgMCA2cHg7XG5gO1xuIl19
247
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXNGb3JtLnRzeCJdLCJuYW1lcyI6WyJTYW1wbGluZ1Byb3BlcnRpZXNGb3JtIiwicHJvcHMiLCJzYW1wbGluZ1Byb3BlcnRpZXMiLCJzYW1wbGluZyIsImZvcm1payIsInBhZ2VUeXBlIiwic2F2aW5nTXNnIiwiaGFuZGxlQ2xvc2UiLCJzZXRQaG90b3MiLCJwaG90b3MiLCJzZXRQaG90b3NUb0RlbGV0ZSIsIkNhbmNlbGxhdGlvblJlYXNvbnMiLCJtYW51YWxSZWFzb25zIiwibWFudWFsUmVhc29uc0tleXMiLCJtYXAiLCJrZXkiLCJpMThuIiwidCIsImF1dG9SZWFzb25zIiwiYXV0b1JlYXNvbnNLZXlzIiwicmVhc29ucyIsIm1hY2hpbmVfdHlwZSIsIm1hY2hpbmVSZWFzb25zIiwiU3R5bGUiLCJjYW5jZWxsYXRpb25SZWFzb25Hcm91cCIsInJlYXNvbiIsImlkeCIsImNhbmNlbGxhdGlvblJlYXNvbiIsImhhbmRsZUNoYW5nZSIsImhhbmRsZUJsdXIiLCJ2YWx1ZXMiLCJjYW5jZWxsYXRpb25fcmVhc29uIiwiaW5Db2xsZWN0TGF5b3V0IiwiaW5DYW5jZWxMYXlvdXQiLCJsYWJfaWQiLCJlcnJvcnMiLCJmb3JtSW5wdXRUaXRsZSIsInVuZGVmaW5lZCIsImxhYnMiLCJsYWIiLCJpZCIsIm5hbWUiLCJwdW1wX3NhbXBsaW5nX3ZvbHVtZSIsInB1bXBfYmF0dGVyeV9sZXZlbCIsImthbmRvX3JlcCIsImNhbmNlbGxhdGlvblRpdGxlIiwicmVhc29uc0xpc3RXcmFwcGVyIiwicmVhc29uc1dyYXBwZXIiLCJ0b3VjaGVkIiwidmFsaWRhdGlvbkVycm9yIiwiZGVzY3JpcHRpb24iLCJjb2xsZWN0aW9uX3RpbWUiLCJzYW1wbGluZ19wbGFuX2lkIiwiY2xvc2VCdG4iLCJzdWJtaXRCdG4iLCJJbnB1dFdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwiZGF0YSIsIlIxMDAiLCJGaWVsZHNDb250YWluZXIiLCJpc01vYmlsZSIsIlN0YXJ0IiwiRW5kIiwiYXR0cnMiLCJpc1Byb3BlcnRpZXNQYWdlIiwiaXNDb2xsZWN0TGF5b3V0IiwiRGVzY3JpcHRpb24iLCJGb3JtU3R5bGUiLCJGb3JtUm93U3R5bGUiLCJSb3ciLCJCdXR0b25zUm93IiwiRm9ybUNvbnRhaW5lclN0eWxlIiwiQ29udGFpbmVyIiwiQm90dG9tRm9ybVN0eWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBUUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7OztBQUVPLElBQU1BLHNCQUFtRCxHQUFHLFNBQXREQSxzQkFBc0QsQ0FBQ0MsS0FBRCxFQUFXO0FBQUE7O0FBQzVFLE1BQ0VDLGtCQURGLEdBVUlELEtBVkosQ0FDRUMsa0JBREY7QUFBQSxNQUVFQyxRQUZGLEdBVUlGLEtBVkosQ0FFRUUsUUFGRjtBQUFBLE1BR0VDLE1BSEYsR0FVSUgsS0FWSixDQUdFRyxNQUhGO0FBQUEsTUFJRUMsUUFKRixHQVVJSixLQVZKLENBSUVJLFFBSkY7QUFBQSxNQUtFQyxTQUxGLEdBVUlMLEtBVkosQ0FLRUssU0FMRjtBQUFBLE1BTUVDLFdBTkYsR0FVSU4sS0FWSixDQU1FTSxXQU5GO0FBQUEsTUFPRUMsU0FQRixHQVVJUCxLQVZKLENBT0VPLFNBUEY7QUFBQSxNQVFFQyxNQVJGLEdBVUlSLEtBVkosQ0FRRVEsTUFSRjtBQUFBLE1BU0VDLGlCQVRGLEdBVUlULEtBVkosQ0FTRVMsaUJBVEY7QUFZQTtBQUNBLHdCQUFVLFlBQU0sQ0FBRSxDQUFsQixFQUFvQixDQUFDUixrQkFBRCxFQUFxQkUsTUFBckIsQ0FBcEI7O0FBRUEsTUFBTU8sbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFzQixHQUFNO0FBQ2hDLFFBQU1DLGFBQWEsR0FBR0MsMkNBQWtCQyxHQUFsQixDQUFzQixV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QWhCO0FBV0EsSUFBTVcsa0JBQWtCLEdBQUcsK0JBQU9DLHlCQUFQLENBQUg7QUFBQTtBQUFBO0FBQUEsa0NBQXhCOztBQUtBLElBQU1DLGVBQWUsR0FBR3BCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHdCQUFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQywgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBDb250YWluZXIsIEZvcm0sIFJvdyB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJ3JlYWN0LWRldmljZS1kZXRlY3QnO1xuaW1wb3J0IHsgdG9TYWZlSW50ZWdlciB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7XG4gIFNhbXBsaW5nUHJvcGVydGllc1Byb3BzLFxuICBhdXRvUmVhc29uc0tleXMsXG4gIGlzQ2FuY2VsTGF5b3V0LFxuICBpc0NvbGxlY3RMYXlvdXQsXG4gIG1hbnVhbFJlYXNvbnNLZXlzLFxufSBmcm9tICcuL3NhbXBsaW5nUHJvcGVydGllc1V0aWxzJztcblxuaW1wb3J0IEltYWdlVXBsb2FkIGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9JbWFnZVVwbG9hZCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgTW9iaWxlSW5wdXQsIEJ1dHRvbiB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdzcmMvc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IHVzZUluaXRpYWxpemVIZWFkZXJzIH0gZnJvbSAnc3JjL2hvb2tzL3VzZUluaXRpYWxpemVIZWFkZXJzJztcblxuaW1wb3J0IFN0eWxlIGZyb20gJy4uL3N0eWxlLm1vZHVsZS5zY3NzJztcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nUHJvcGVydGllc0Zvcm06IEZDPFNhbXBsaW5nUHJvcGVydGllc1Byb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgc2FtcGxpbmdQcm9wZXJ0aWVzLFxuICAgIHNhbXBsaW5nLFxuICAgIGZvcm1payxcbiAgICBwYWdlVHlwZSxcbiAgICBzYXZpbmdNc2csXG4gICAgaGFuZGxlQ2xvc2UsXG4gICAgc2V0UGhvdG9zLFxuICAgIHBob3RvcyxcbiAgICBzZXRQaG90b3NUb0RlbGV0ZSxcbiAgfSA9IHByb3BzO1xuXG4gIHVzZUluaXRpYWxpemVIZWFkZXJzKCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7fSwgW3NhbXBsaW5nUHJvcGVydGllcywgZm9ybWlrXSk7XG5cbiAgY29uc3QgQ2FuY2VsbGF0aW9uUmVhc29ucyA9ICgpID0+IHtcbiAgICBjb25zdCBtYW51YWxSZWFzb25zID0gbWFudWFsUmVhc29uc0tleXMubWFwKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGkxOG4udChgY2FuY2VsbGF0aW9uX3JlYXNvbnMuJHtrZXl9YCk7XG4gICAgfSk7XG4gICAgY29uc3QgYXV0b1JlYXNvbnMgPSBhdXRvUmVhc29uc0tleXMubWFwKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGkxOG4udChgY2FuY2VsbGF0aW9uX3JlYXNvbnMuYXV0b21hdGVkLiR7a2V5fWApO1xuICAgIH0pO1xuXG4gICAgY29uc3QgcmVhc29ucyA9XG4gICAgICBzYW1wbGluZy5tYWNoaW5lX3R5cGUgPT09ICdzYW1wbGluZ190eXBlX3JhcGlkJ1xuICAgICAgICA/IG1hbnVhbFJlYXNvbnNcbiAgICAgICAgOiBhdXRvUmVhc29ucztcblxuICAgIGNvbnN0IG1hY2hpbmVSZWFzb25zID1cbiAgICAgIHNhbXBsaW5nLm1hY2hpbmVfdHlwZSA9PT0gJ3NhbXBsaW5nX3R5cGVfcmFwaWQnXG4gICAgICAgID8gbWFudWFsUmVhc29uc0tleXNcbiAgICAgICAgOiBhdXRvUmVhc29uc0tleXM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPEZvcm0uR3JvdXAgY2xhc3NOYW1lPXtTdHlsZS5jYW5jZWxsYXRpb25SZWFzb25Hcm91cH0+XG4gICAgICAgICAge3JlYXNvbnMubWFwKChyZWFzb24sIGlkeCkgPT4gKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBrZXk9e2BvcHQtJHtpZHh9YH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWItMyAke1N0eWxlLmNhbmNlbGxhdGlvblJlYXNvbn1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgICAgIHZhbHVlPXttYWNoaW5lUmVhc29uc1tpZHhdfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgIG9uQmx1cj17Zm9ybWlrLmhhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgbGFiZWw9e3JlYXNvbn1cbiAgICAgICAgICAgICAgICBuYW1lPVwiY2FuY2VsbGF0aW9uX3JlYXNvblwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICBpZD17cmVhc29ufVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e1xuICAgICAgICAgICAgICAgICAgbWFjaGluZVJlYXNvbnNbaWR4XSA9PT0gZm9ybWlrLnZhbHVlcy5jYW5jZWxsYXRpb25fcmVhc29uXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgaW5Db2xsZWN0TGF5b3V0ID0gaXNDb2xsZWN0TGF5b3V0KHBhZ2VUeXBlKTtcbiAgY29uc3QgaW5DYW5jZWxMYXlvdXQgPSBpc0NhbmNlbExheW91dChwYWdlVHlwZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVN0eWxlPlxuICAgICAgPEZvcm1Db250YWluZXJTdHlsZT5cbiAgICAgICAgPEZpZWxkc0NvbnRhaW5lcj5cbiAgICAgICAgICB7aW5Db2xsZWN0TGF5b3V0ICYmIChcbiAgICAgICAgICAgIDxTdGFydD5cbiAgICAgICAgICAgICAgPElucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8TW9iaWxlSW5wdXRcbiAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17Zm9ybWlrLmhhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIGhhbmRsZUJsdXI9e2Zvcm1pay5oYW5kbGVCbHVyfVxuICAgICAgICAgICAgICAgICAgaW5wdXRUaXRsZT17aTE4bi50KCdhY3RpdmVyZWNvcmQubW9kZWxzLmxhYicpfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1pay52YWx1ZXMubGFiX2lkfVxuICAgICAgICAgICAgICAgICAgaXNJbnZhbGlkPXshIWZvcm1pay5lcnJvcnMubGFiX2lkfVxuICAgICAgICAgICAgICAgICAgbmFtZT1cImxhYl9pZFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgICAgIG1hbmRhdG9yeT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuZm9ybUlucHV0VGl0bGV9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT17dW5kZWZpbmVkfSAvPlxuICAgICAgICAgICAgICAgICAge3NhbXBsaW5nUHJvcGVydGllcz8ubGFicz8ubWFwKChsYWI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YG9wdC0ke2xhYi5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2xhYi5pZCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxhYi5pZCA9PT0gdG9TYWZlSW50ZWdlcihmb3JtaWsudmFsdWVzLmxhYl9pZClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7bGFiLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L01vYmlsZUlucHV0PlxuICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLmxhYl9pZCAmJiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2hpbnQnfT57Zm9ybWlrLmVycm9ycy5sYWJfaWR9PC9kaXY+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9JbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgIDxGb3JtUm93U3R5bGU+XG4gICAgICAgICAgICAgICAgPElucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgICBpc0ludmFsaWQ9eyEhZm9ybWlrLmVycm9ycy5wdW1wX3NhbXBsaW5nX3ZvbHVtZX1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVCbHVyPXtmb3JtaWsuaGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRUaXRsZT17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICdwdW1wX3NjaGVkdWxlZF9kYXlzX2NvbmZpZ3VyYXRpb24udm9sdW1lJyxcbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInB1bXBfc2FtcGxpbmdfdm9sdW1lXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtaWsudmFsdWVzLnB1bXBfc2FtcGxpbmdfdm9sdW1lfVxuICAgICAgICAgICAgICAgICAgICBzeW1ib2w9XCJtbFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuZm9ybUlucHV0VGl0bGV9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAge2Zvcm1pay5lcnJvcnMucHVtcF9zYW1wbGluZ192b2x1bWUgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2hpbnQgaGludC0tdXBwZXInfT5cbiAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5wdW1wX3NhbXBsaW5nX3ZvbHVtZX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgIDxJbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICA8TW9iaWxlSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgaXNJbnZhbGlkPXshIWZvcm1pay5lcnJvcnMucHVtcF9iYXR0ZXJ5X2xldmVsfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9e2Zvcm1pay5oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUJsdXI9e2Zvcm1pay5oYW5kbGVCbHVyfVxuICAgICAgICAgICAgICAgICAgICBpbnB1dFRpdGxlPXtpMThuLnQoJ3NhbXBsaW5nX3NjcmVlbi5wdW1wX2JhdHRlcnlfbGV2ZWwnKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInB1bXBfYmF0dGVyeV9sZXZlbFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybWlrLnZhbHVlcy5wdW1wX2JhdHRlcnlfbGV2ZWx9XG4gICAgICAgICAgICAgICAgICAgIHN5bWJvbD1cIiVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlLmZvcm1JbnB1dFRpdGxlfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLnB1bXBfYmF0dGVyeV9sZXZlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnaGludCBoaW50LS11cHBlcid9PlxuICAgICAgICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLnB1bXBfYmF0dGVyeV9sZXZlbH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICA8L0Zvcm1Sb3dTdHlsZT5cbiAgICAgICAgICAgIDwvU3RhcnQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8RW5kIGlzQ29sbGVjdExheW91dD17aW5Db2xsZWN0TGF5b3V0fT5cbiAgICAgICAgICAgIHtpbkNvbGxlY3RMYXlvdXQgJiYgKFxuICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgaXNJbnZhbGlkPXshIWZvcm1pay5lcnJvcnMua2FuZG9fcmVwfVxuICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgaGFuZGxlQmx1cj17Zm9ybWlrLmhhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICBpbnB1dFRpdGxlPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy5yZXBvcnRlcicsXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgbmFtZT1cImthbmRvX3JlcFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMucGxhY2Vob2xkZXJfcmVwb3J0ZXInLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtaWsudmFsdWVzLmthbmRvX3JlcH1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuZm9ybUlucHV0VGl0bGV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5rYW5kb19yZXAgJiYgKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoaW50J30+e2Zvcm1pay5lcnJvcnMua2FuZG9fcmVwfTwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge2luQ2FuY2VsTGF5b3V0ICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmNhbmNlbGxhdGlvblRpdGxlfT5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jYW5jZWxsYXRpb25fdGl0bGUnKX06XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnJlYXNvbnNMaXN0V3JhcHBlcn0+XG4gICAgICAgICAgICAgIHtpbkNhbmNlbExheW91dCAmJiAoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnJlYXNvbnNXcmFwcGVyfT5cbiAgICAgICAgICAgICAgICAgIHtmb3JtaWsudG91Y2hlZC5jYW5jZWxsYXRpb25fcmVhc29uICYmXG4gICAgICAgICAgICAgICAgICAgIGZvcm1pay5lcnJvcnMuY2FuY2VsbGF0aW9uX3JlYXNvbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnZhbGlkYXRpb25FcnJvcn0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdnZW5lcmFsLnBsZWFzZV9zZWxlY3QnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDxDYW5jZWxsYXRpb25SZWFzb25zIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgPERlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgaGFuZGxlQmx1cj17Zm9ybWlrLmhhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICBpbnB1dFRpdGxlPXtpMThuLnQoJ3dhdGVyX21ldGVyLmRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy5nZW5lcmFsX2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybWlrLnZhbHVlcy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICAgIGlzSW52YWxpZD17ISFmb3JtaWsuZXJyb3JzLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5mb3JtSW5wdXRUaXRsZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0Rlc2NyaXB0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9FbmQ+XG4gICAgICAgIDwvRmllbGRzQ29udGFpbmVyPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPXsnaGlkZGVuJ31cbiAgICAgICAgICBuYW1lPXsnY29sbGVjdGlvbl90aW1lJ31cbiAgICAgICAgICB2YWx1ZT17Zm9ybWlrLnZhbHVlcy5jb2xsZWN0aW9uX3RpbWUgfHwgJyd9XG4gICAgICAgIC8+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9eydoaWRkZW4nfVxuICAgICAgICAgIG5hbWU9eydzYW1wbGluZ19wbGFuX2lkJ31cbiAgICAgICAgICB2YWx1ZT17Zm9ybWlrLnZhbHVlcy5zYW1wbGluZ19wbGFuX2lkIHx8ICcnfVxuICAgICAgICAvPlxuICAgICAgICA8Qm90dG9tRm9ybVN0eWxlIC8+XG4gICAgICAgIDxJbWFnZVVwbG9hZFxuICAgICAgICAgIHNldFBob3Rvcz17c2V0UGhvdG9zfVxuICAgICAgICAgIHBob3Rvcz17cGhvdG9zfVxuICAgICAgICAgIHNhbXBsaW5nPXtzYW1wbGluZ1Byb3BlcnRpZXN9XG4gICAgICAgICAgc2V0UGhvdG9zVG9EZWxldGU9e3NldFBob3Rvc1RvRGVsZXRlfVxuICAgICAgICAvPlxuICAgICAgICA8QnV0dG9uc1Jvdz5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgICAgIHdpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgICAgdmFyaWFudD1cIm5vbmVcIlxuICAgICAgICAgICAgcm91bmRlZD17dHJ1ZX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuY2xvc2VCdG59XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2kxOG4udCgnY2xvc2UnKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICByb3VuZGVkPXt0cnVlfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICB3aWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuc3VibWl0QnRufVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtzYXZpbmdNc2d9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvQnV0dG9uc1Jvdz5cbiAgICAgIDwvRm9ybUNvbnRhaW5lclN0eWxlPlxuICAgIDwvRm9ybVN0eWxlPlxuICApO1xufTtcblxuY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWdyb3c6IDE7XG5cbiAgLmlucHV0LWdyb3VwLFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzZweDtcbiAgICB0b3A6IC00cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5oaW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMTZweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICR7dGhlbWUuY29sb3JTY2hlbWUuZGF0YS5SMTAwfTtcblxuICAgICYtLXVwcGVyIHtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IEZpZWxkc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiAke2lzTW9iaWxlID8gJ2NvbHVtbjsnIDogJ3JvdzsnfVxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5gO1xuXG5jb25zdCBTdGFydCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAke2lzTW9iaWxlID8gJ3Vuc2V0OycgOiAnNTAlOyd9XG4gIHBhZGRpbmctaW5saW5lLWVuZDogJHtpc01vYmlsZSA/ICd1bnNldDsnIDogJzEwcHg7J31cbiAgcGFkZGluZy10b3A6ICR7aXNNb2JpbGUgPyAndW5zZXQ7JyA6ICcxMHB4Oyd9XG4gIFxuYDtcbmludGVyZmFjZSBFbmRQcm9wcyB7XG4gIGlzQ29sbGVjdExheW91dDogYm9vbGVhbjtcbn1cbmNvbnN0IEVuZCA9IHN0eWxlZC5kaXYuYXR0cnMoKHByb3BzOiBFbmRQcm9wcykgPT4gKHtcbiAgaXNQcm9wZXJ0aWVzUGFnZTogcHJvcHMuaXNDb2xsZWN0TGF5b3V0LFxufSkpYFxuICB3aWR0aDogJHsocHJvcHMpID0+XG4gICAgaXNNb2JpbGUgPyAndW5zZXQnIDogcHJvcHMuaXNQcm9wZXJ0aWVzUGFnZSA/ICc1MCUnIDogJzEwMCUnfTtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICR7aXNNb2JpbGUgPyAndW5zZXQ7JyA6ICcxMHB4Oyd9XG4gIHBhZGRpbmctdG9wOiAke2lzTW9iaWxlID8gJ3Vuc2V0OycgOiAnMTBweDsnfVxuYDtcblxuY29uc3QgRGVzY3JpcHRpb24gPSBzdHlsZWQuZGl2YFxuICBmbGV4LWdyb3c6IDE7XG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIGhlaWdodDogbWF4LWNvbnRlbnQ7XG4gICAgdGV4dGFyZWEge1xuICAgICAgdHJhbnNpdGlvbjogY3ViaWMtYmV6aWVyKDAuNjUsIDAuMDUsIDAuMzYsIDEpIDAuMnM7XG4gICAgICBoZWlnaHQ6ICR7aXNNb2JpbGUgPyAnNzVweCAhaW1wb3J0YW50JyA6ICcxMDVweCAhaW1wb3J0YW50J307XG4gICAgfVxuXG4gICAgZGl2IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBGb3JtU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAwIDAgNnB4O1xuYDtcblxuY29uc3QgRm9ybVJvd1N0eWxlID0gc3R5bGVkKFJvdylgXG4gIG1hcmdpbjogMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBkaXYge1xuICAgIHdpZHRoOiAke2lzTW9iaWxlID8gJzQ1JTsnIDogJzEwMCU7J307XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICR7aXNNb2JpbGUgPyAnMTBweDsnIDogJzA7J307XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJHtpc01vYmlsZSA/ICcxMHB4OycgOiAnMDsnfTtcbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBCdXR0b25zUm93ID0gc3R5bGVkKFJvdylgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luOiAke2lzTW9iaWxlID8gMCA6ICc5cHggMCd9O1xuXG4gIGRpdiB7XG4gICAgJHtpc01vYmlsZSA/ICcnIDogJ21hcmdpbjogMCA2cHgnfVxuICB9XG5gO1xuXG5jb25zdCBGb3JtQ29udGFpbmVyU3R5bGUgPSBzdHlsZWQoQ29udGFpbmVyKWBcbiAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgcGFkZGluZzogMDtcbmA7XG5cbmNvbnN0IEJvdHRvbUZvcm1TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDAgMCA2cHg7XG5gO1xuIl19
@@ -15,6 +15,8 @@ var _reactDatepicker = _interopRequireDefault(require("react-datepicker"));
15
15
 
16
16
  var _react = _interopRequireWildcard(require("react"));
17
17
 
18
+ var _moment = _interopRequireDefault(require("moment"));
19
+
18
20
  var _lodash = require("lodash");
19
21
 
20
22
  var _reactDeviceDetect = require("react-device-detect");
@@ -27,9 +29,9 @@ var _i18n = _interopRequireDefault(require("utilities/i18n"));
27
29
 
28
30
  var _imageMissing = require("@svgr/webpack?-svgo!assets/image-missing.svg");
29
31
 
30
- var _styleModule = _interopRequireDefault(require("./style.module.scss"));
32
+ var _useUserTimeZone = require("hooks/useUserTimeZone");
31
33
 
32
- var _samplingPropertiesUtils = require("./samplingPropertiesUtils");
34
+ var _styleModule = _interopRequireDefault(require("./style.module.scss"));
33
35
 
34
36
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
37
 
@@ -68,12 +70,7 @@ var CustomDatePicker = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref)
68
70
  });
69
71
 
70
72
  var SamplingPropertiesHead = function SamplingPropertiesHead(props) {
71
- var _props$samplingProper = props.samplingProperties,
72
- samplingProperties = _props$samplingProper === void 0 ? {
73
- sampling: {
74
- date: new Date().toString()
75
- }
76
- } : _props$samplingProper,
73
+ var samplingProperties = props.samplingProperties,
77
74
  sampling = props.sampling,
78
75
  pageType = props.pageType,
79
76
  isDatePickerDisabled = props.isDatePickerDisabled,
@@ -81,7 +78,7 @@ var SamplingPropertiesHead = function SamplingPropertiesHead(props) {
81
78
  setCollectionTime = props.setCollectionTime,
82
79
  dateFormat = props.dateFormat,
83
80
  formik = props.formik;
84
- var samplingDate = (0, _samplingPropertiesUtils.SamplingDateProperty)(samplingProperties.sampling.date, sampling.sampling_date);
81
+ var samplingDate = (0, _moment.default)(sampling.sampling_date * 1000).format((0, _useUserTimeZone.useUserSelectedDateFormat)());
85
82
 
86
83
  var samplingType = _i18n.default.t("sampling_types_mini.".concat(sampling.machine_type));
87
84
 
@@ -111,23 +108,15 @@ var SamplingPropertiesHead = function SamplingPropertiesHead(props) {
111
108
  }, !_reactDeviceDetect.isMobile && samplingProperties !== undefined && /*#__PURE__*/_react.default.createElement(Start, null, /*#__PURE__*/_react.default.createElement(ImageMissingComponent, {
112
109
  samplingProperties: samplingProperties
113
110
  })), /*#__PURE__*/_react.default.createElement(End, null, /*#__PURE__*/_react.default.createElement("div", {
114
- className: _styleModule.default.gridCell
115
- }, /*#__PURE__*/_react.default.createElement("div", {
116
111
  className: _styleModule.default.siteName
117
112
  }, sampling.site), /*#__PURE__*/_react.default.createElement("div", {
118
- className: _styleModule.default.mobileStatusWrapper
119
- }, /*#__PURE__*/_react.default.createElement(_SamplingStatus.default, {
120
- status: sampling.status,
121
- display: "inline-block"
122
- }))), /*#__PURE__*/_react.default.createElement("div", {
123
113
  className: _styleModule.default.grid
124
114
  }, /*#__PURE__*/_react.default.createElement("div", {
125
115
  className: _styleModule.default.gridCell
126
- }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('components.wbe_dashboard.sample_id')), /*#__PURE__*/_react.default.createElement(RightSideLayout, null, sampling.sampling_id)), /*#__PURE__*/_react.default.createElement("div", {
127
- className: _styleModule.default.gridCell
128
- }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('samplings_page.point_id')), /*#__PURE__*/_react.default.createElement(RightSideLayout, null, samplingProperties.point_id)), /*#__PURE__*/_react.default.createElement("div", {
129
- className: _styleModule.default.gridCell
130
- }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('sampling.sampling_type')), /*#__PURE__*/_react.default.createElement(RightSideLayout, null, samplingType)), /*#__PURE__*/_react.default.createElement("div", {
116
+ }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, /*#__PURE__*/_react.default.createElement(_SamplingStatus.default, {
117
+ status: sampling.status,
118
+ display: "inline-block"
119
+ }))), /*#__PURE__*/_react.default.createElement("div", {
131
120
  className: _styleModule.default.gridCell
132
121
  }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, sampling.contact || _i18n.default.t('samplings_page.no_contact')), /*#__PURE__*/_react.default.createElement(RightSideLayout, null, /*#__PURE__*/_react.default.createElement(ContactNumberStyle, null, sampling.contact_number ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(PhoneIconStyle, {
133
122
  src: _samplingPropertiesPhone.default
@@ -135,7 +124,7 @@ var SamplingPropertiesHead = function SamplingPropertiesHead(props) {
135
124
  href: "tel:".concat(sampling.contact_number)
136
125
  }, sampling.contact_number || _i18n.default.t('samplings_page.no_contact_number'))) : _i18n.default.t('samplings_page.no_contact_number')))), /*#__PURE__*/_react.default.createElement("div", {
137
126
  className: _styleModule.default.gridCell
138
- }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('sampling_summary_screen.sampling_time')), /*#__PURE__*/_react.default.createElement(RightSideLayout, null, samplingDate)), /*#__PURE__*/_react.default.createElement("div", {
127
+ }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('sampling.sampling_date')), /*#__PURE__*/_react.default.createElement(RightSideLayout, null, samplingDate)), /*#__PURE__*/_react.default.createElement("div", {
139
128
  className: "".concat(_styleModule.default.gridCell, " ").concat(pageType === 'cancel' && _styleModule.default.hidden)
140
129
  }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('samplings_page.samplings_properties.collection_time')), /*#__PURE__*/_react.default.createElement("div", {
141
130
  className: _styleModule.default.datePickerWrapper
@@ -157,7 +146,11 @@ var SamplingPropertiesHead = function SamplingPropertiesHead(props) {
157
146
  name: "collection_time"
158
147
  })), formik.errors.collection_time && /*#__PURE__*/_react.default.createElement("div", {
159
148
  className: "".concat(_styleModule.default.hint, " ").concat(_styleModule.default.hint__date)
160
- }, formik.errors.collection_time)))))));
149
+ }, formik.errors.collection_time))), /*#__PURE__*/_react.default.createElement("div", {
150
+ className: _styleModule.default.gridCell
151
+ }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('components.wbe_dashboard.sample_id')), /*#__PURE__*/_react.default.createElement(RightSideLayout, null, sampling.sampling_id)), /*#__PURE__*/_react.default.createElement("div", {
152
+ className: _styleModule.default.gridCell
153
+ }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('sampling.sampling_type')), /*#__PURE__*/_react.default.createElement(RightSideLayout, null, samplingType))))));
161
154
  };
162
155
 
163
156
  exports.SamplingPropertiesHead = SamplingPropertiesHead;
@@ -165,7 +158,7 @@ exports.SamplingPropertiesHead = SamplingPropertiesHead;
165
158
  var LeftSideLayout = _styledComponents.default.span.withConfig({
166
159
  displayName: "SamplingPropertiesHead__LeftSideLayout",
167
160
  componentId: "sc-1b4o79o-0"
168
- })(["color:", ";"], function (_ref2) {
161
+ })(["font-family:Nunito,Arial,Helvetica,sans-serif;color:", ";"], function (_ref2) {
169
162
  var theme = _ref2.theme;
170
163
  return theme.colorScheme.natural.n100;
171
164
  });
@@ -173,7 +166,7 @@ var LeftSideLayout = _styledComponents.default.span.withConfig({
173
166
  var RightSideLayout = _styledComponents.default.span.withConfig({
174
167
  displayName: "SamplingPropertiesHead__RightSideLayout",
175
168
  componentId: "sc-1b4o79o-1"
176
- })(["font-weight:600;"]);
169
+ })(["font-family:Nunito,Arial,Helvetica,sans-serif;font-weight:600;"]);
177
170
 
178
171
  var ContactNumberStyle = _styledComponents.default.div.withConfig({
179
172
  displayName: "SamplingPropertiesHead__ContactNumberStyle",
@@ -202,4 +195,4 @@ var End = _styledComponents.default.div.withConfig({
202
195
  displayName: "SamplingPropertiesHead__End",
203
196
  componentId: "sc-1b4o79o-6"
204
197
  })(["width:100%;border:1px solid #a6acb9;border-radius:16px;overflow:hidden;padding:0 20px;box-sizing:content-box;padding:25px;"]);
205
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXNIZWFkLnRzeCJdLCJuYW1lcyI6WyJJbWFnZU1pc3NpbmdDb21wb25lbnQiLCJwcm9wcyIsImltYWdlIiwic2FtcGxpbmdQcm9wZXJ0aWVzIiwicG9pbnRfcGhvdG8iLCJTdHlsZSIsImltYWdlV3JhcHBlciIsImhlaWdodCIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZEltYWdlIiwiQ3VzdG9tRGF0ZVBpY2tlciIsInJlZiIsInZhbHVlIiwib25DbGljayIsImRhdGVQaWNrZXIiLCJTYW1wbGluZ1Byb3BlcnRpZXNIZWFkIiwic2FtcGxpbmciLCJkYXRlIiwiRGF0ZSIsInRvU3RyaW5nIiwicGFnZVR5cGUiLCJpc0RhdGVQaWNrZXJEaXNhYmxlZCIsImNvbGxlY3Rpb25UaW1lIiwic2V0Q29sbGVjdGlvblRpbWUiLCJkYXRlRm9ybWF0IiwiZm9ybWlrIiwic2FtcGxpbmdEYXRlIiwic2FtcGxpbmdfZGF0ZSIsInNhbXBsaW5nVHlwZSIsImkxOG4iLCJ0IiwibWFjaGluZV90eXBlIiwiaGFuZGxlU2V0Q29sbGVjdGlvblRpbWUiLCJzZXRGaWVsZFZhbHVlIiwicmVuZGVyVGl0bGUiLCJwYWdlMnRpdGxlIiwiY29sbGVjdCIsImNhbmNlbCIsInRpdGxlIiwidG9wU2VjdGlvbiIsImlzTW9iaWxlIiwidW5kZWZpbmVkIiwiZ3JpZENlbGwiLCJzaXRlTmFtZSIsInNpdGUiLCJtb2JpbGVTdGF0dXNXcmFwcGVyIiwic3RhdHVzIiwiZ3JpZCIsInNhbXBsaW5nX2lkIiwicG9pbnRfaWQiLCJjb250YWN0IiwiY29udGFjdF9udW1iZXIiLCJQaG9uZSIsImhpZGRlbiIsImRhdGVQaWNrZXJXcmFwcGVyIiwiZXJyb3JzIiwiY29sbGVjdGlvbl90aW1lIiwic3RyYXRlZ3kiLCJoaW50IiwiaGludF9fZGF0ZSIsIkxlZnRTaWRlTGF5b3V0Iiwic3R5bGVkIiwic3BhbiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjEwMCIsIlJpZ2h0U2lkZUxheW91dCIsIkNvbnRhY3ROdW1iZXJTdHlsZSIsImRpdiIsIlBob25lTnVtYmVyU3R5bGUiLCJhIiwic2FtcGxpbmdzUGFnZSIsIm1vYmlsZSIsInByb3BlcnRpZXNDbGlja0l0ZW1zIiwiUGhvbmVJY29uU3R5bGUiLCJpbWciLCJTdGFydCIsIkVuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUNBOzs7O0FBR0E7O0FBQ0E7Ozs7QUFHQTs7QUFDQTs7Ozs7O0FBTUEsU0FBU0EscUJBQVQsQ0FBK0JDLEtBQS9CLEVBRUc7QUFDRCxNQUFJQyxLQUFKOztBQUNBLE1BQUlELEtBQUssQ0FBQ0Usa0JBQU4sQ0FBeUJDLFdBQXpCLEtBQXlDLElBQTdDLEVBQW1EO0FBQ2pERixJQUFBQSxLQUFLLGdCQUNIO0FBQ0UsTUFBQSxTQUFTLEVBQUVHLHFCQUFNQyxZQURuQjtBQUVFLE1BQUEsS0FBSyxFQUFFO0FBQ0xDLFFBQUFBLE1BQU0sRUFBRSxNQURIO0FBRUxDLFFBQUFBLGNBQWMsRUFBRSxPQUZYO0FBR0xDLFFBQUFBLGtCQUFrQixFQUFFLFFBSGY7QUFJTEMsUUFBQUEsZUFBZSxnQkFBU1QsS0FBSyxDQUFDRSxrQkFBTixDQUF5QkMsV0FBbEM7QUFKVjtBQUZULE1BREY7QUFXRCxHQVpELE1BWU87QUFDTEYsSUFBQUEsS0FBSyxnQkFDSDtBQUFLLE1BQUEsU0FBUyxFQUFFRyxxQkFBTUM7QUFBdEIsb0JBQ0UsNkJBQUMsNEJBQUQsT0FERixDQURGO0FBS0Q7O0FBQ0QsU0FBT0osS0FBUDtBQUNEOztBQUVELElBQU1TLGdCQUFnQixnQkFBRyx1QkFBVyxnQkFBcUJDLEdBQXJCLEVBQTZCO0FBQUEsTUFBMUJDLEtBQTBCLFFBQTFCQSxLQUEwQjtBQUFBLE1BQW5CQyxPQUFtQixRQUFuQkEsT0FBbUI7QUFD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Q0FsQkosQ0FSRixDQTdDRixDQVBGLENBTkYsQ0FIRixDQURGO0FBbUdELENBdklNOzs7O0FBeUlQLElBQU1JLGNBQWMsR0FBR0MsMEJBQU9DLElBQVY7QUFBQTtBQUFBO0FBQUEsb0JBQ1Q7QUFBQSxNQUFHQyxLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQyxJQUF6QztBQUFBLENBRFMsQ0FBcEI7O0FBR0EsSUFBTUMsZUFBZSxHQUFHTiwwQkFBT0MsSUFBVjtBQUFBO0FBQUE7QUFBQSx3QkFBckI7O0FBR0EsSUFBTU0sa0JBQWtCLEdBQUdQLDBCQUFPUSxHQUFWO0FBQUE7QUFBQTtBQUFBLGdEQUF4Qjs7QUFLQSxJQUFNQyxnQkFBZ0IsR0FBR1QsMEJBQU9VLENBQVY7QUFBQTtBQUFBO0FBQUEsaUVBR1g7QUFBQSxNQUFHUixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNTLGFBQU4sQ0FBb0JDLE1BQXBCLENBQTJCQyxvQkFBMUM7QUFBQSxDQUhXLENBQXRCOztBQUtBLElBQU1DLGNBQWMsR0FBR2QsMEJBQU9lLEdBQVY7QUFBQTtBQUFBO0FBQUEsK0JBQXBCOztBQUtBLElBQU1DLEtBQUssR0FBR2hCLDBCQUFPUSxHQUFWO0FBQUE7QUFBQTtBQUFBLDJLQUNBN0IsOEJBQVcsSUFBWCxHQUFrQixLQURsQixDQUFYOztBQWtCQSxJQUFNc0MsR0FBRyxHQUFHakIsMEJBQU9RLEdBQVY7QUFBQTtBQUFBO0FBQUEsa0lBQVQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGF0ZVBpY2tlciBmcm9tICdyZWFjdC1kYXRlcGlja2VyJztcbmltcG9ydCBSZWFjdCwgeyBGQywgZm9yd2FyZFJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgY2FwaXRhbGl6ZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJ3JlYWN0LWRldmljZS1kZXRlY3QnO1xuXG5pbXBvcnQgUGhvbmUgZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9zYW1wbGluZy1wcm9wZXJ0aWVzLXBob25lLnN2Zyc7XG5pbXBvcnQgU2FtcGxpbmdTdGF0dXMgZnJvbSAnc3JjL3VpLWtpdC9TYW1wbGluZ1N0YXR1cy9TYW1wbGluZ1N0YXR1cyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgSW1hZ2VNaXNzaW5nIH0gZnJvbSAnc3JjL2Fzc2V0cy9pbWFnZS1taXNzaW5nLnN2Zyc7XG5cbmltcG9ydCBTdHlsZSBmcm9tICcuL3N0eWxlLm1vZHVsZS5zY3NzJztcbmltcG9ydCB7XG4gIFNhbXBsaW5nRGF0ZVByb3BlcnR5LFxuICBUU2FtcGxpbmdQcm9wZXJ0aWVzLFxuICBUU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZCxcbn0gZnJvbSAnLi9zYW1wbGluZ1Byb3BlcnRpZXNVdGlscyc7XG5cbmZ1bmN0aW9uIEltYWdlTWlzc2luZ0NvbXBvbmVudChwcm9wczoge1xuICBzYW1wbGluZ1Byb3BlcnRpZXM6IFRTYW1wbGluZ1Byb3BlcnRpZXM7XG59KSB7XG4gIGxldCBpbWFnZTtcbiAgaWYgKHByb3BzLnNhbXBsaW5nUHJvcGVydGllcy5wb2ludF9waG90byAhPT0gbnVsbCkge1xuICAgIGltYWdlID0gKFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e1N0eWxlLmltYWdlV3JhcHBlcn1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogJ2NvdmVyJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogYHVybCgke3Byb3BzLnNhbXBsaW5nUHJvcGVydGllcy5wb2ludF9waG90b30pYCxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICBpbWFnZSA9IChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5pbWFnZVdyYXBwZXJ9PlxuICAgICAgICA8SW1hZ2VNaXNzaW5nIC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiBpbWFnZTtcbn1cblxuY29uc3QgQ3VzdG9tRGF0ZVBpY2tlciA9IGZvcndhcmRSZWYoKHsgdmFsdWUsIG9uQ2xpY2sgfSwgcmVmKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmRhdGVQaWNrZXJ9IHJlZj17cmVmfSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIHt2YWx1ZX1cbiAgICA8L2Rpdj5cbiAgKTtcbn0pO1xuXG5leHBvcnQgY29uc3QgU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZDogRkM8VFNhbXBsaW5nUHJvcGVydGllc0hlYWQ+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzYW1wbGluZ1Byb3BlcnRpZXMgPSB7IHNhbXBsaW5nOiB7IGRhdGU6IG5ldyBEYXRlKCkudG9TdHJpbmcoKSB9IH0sXG4gICAgc2FtcGxpbmcsXG4gICAgcGFnZVR5cGUsXG4gICAgaXNEYXRlUGlja2VyRGlzYWJsZWQsXG4gICAgY29sbGVjdGlvblRpbWUsXG4gICAgc2V0Q29sbGVjdGlvblRpbWUsXG4gICAgZGF0ZUZvcm1hdCxcbiAgICBmb3JtaWssXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCBzYW1wbGluZ0RhdGUgPSBTYW1wbGluZ0RhdGVQcm9wZXJ0eShcbiAgICBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuZGF0ZSxcbiAgICBzYW1wbGluZy5zYW1wbGluZ19kYXRlLFxuICApO1xuXG4gIGNvbnN0IHNhbXBsaW5nVHlwZSA9IGkxOG4udChgc2FtcGxpbmdfdHlwZXNfbWluaS4ke3NhbXBsaW5nLm1hY2hpbmVfdHlwZX1gKTtcblxuICBjb25zdCBoYW5kbGVTZXRDb2xsZWN0aW9uVGltZSA9IChkYXRlKSA9PiB7XG4gICAgc2V0Q29sbGVjdGlvblRpbWUoZGF0ZSk7XG4gICAgZm9ybWlrLnNldEZpZWxkVmFsdWUoJ2NvbGxlY3Rpb25fdGltZScsIGRhdGUpO1xuICB9O1xuICBpZiAoIXNhbXBsaW5nKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCByZW5kZXJUaXRsZSA9IChwYWdlVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcGFnZTJ0aXRsZSA9IHtcbiAgICAgIGNvbGxlY3Q6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMucGFnZV90aXRsZV9jb2xsZWN0JyksXG4gICAgICBjYW5jZWw6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMucGFnZV90aXRsZV9jYW5jZWwnKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj57YCR7Y2FwaXRhbGl6ZShwYWdlMnRpdGxlW3BhZ2VUeXBlXSB8fCAnJyl9YH08L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnNhbXBsaW5nUHJvcGVydGllc30+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUudGl0bGV9PntyZW5kZXJUaXRsZShwYWdlVHlwZSl9PC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS50b3BTZWN0aW9ufT5cbiAgICAgICAgeyFpc01vYmlsZSAmJiBzYW1wbGluZ1Byb3BlcnRpZXMgIT09IHVuZGVmaW5lZCAmJiAoXG4gICAgICAgICAgPFN0YXJ0PlxuICAgICAgICAgICAgPEltYWdlTWlzc2luZ0NvbXBvbmVudCBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc30gLz5cbiAgICAgICAgICA8L1N0YXJ0PlxuICAgICAgICApfVxuICAgICAgICA8RW5kPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5ncmlkQ2VsbH0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuc2l0ZU5hbWV9PntzYW1wbGluZy5zaXRlfTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLm1vYmlsZVN0YXR1c1dyYXBwZXJ9PlxuICAgICAgICAgICAgICA8U2FtcGxpbmdTdGF0dXMgc3RhdHVzPXtzYW1wbGluZy5zdGF0dXN9IGRpc3BsYXk9XCJpbmxpbmUtYmxvY2tcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmdyaWR9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmdyaWRDZWxsfT5cbiAgICAgICAgICAgICAgPExlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5zYW1wbGVfaWQnKX1cbiAgICAgICAgICAgICAgPC9MZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgPFJpZ2h0U2lkZUxheW91dD57c2FtcGxpbmcuc2FtcGxpbmdfaWR9PC9SaWdodFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5ncmlkQ2VsbH0+XG4gICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5wb2ludF9pZCcpfVxuICAgICAgICAgICAgICA8L0xlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICA8UmlnaHRTaWRlTGF5b3V0PntzYW1wbGluZ1Byb3BlcnRpZXMucG9pbnRfaWR9PC9SaWdodFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5ncmlkQ2VsbH0+XG4gICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZy5zYW1wbGluZ190eXBlJyl9XG4gICAgICAgICAgICAgIDwvTGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgIDxSaWdodFNpZGVMYXlvdXQ+e3NhbXBsaW5nVHlwZX08L1JpZ2h0U2lkZUxheW91dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmdyaWRDZWxsfT5cbiAgICAgICAgICAgICAgPExlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIHtzYW1wbGluZy5jb250YWN0IHx8IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uubm9fY29udGFjdCcpfVxuICAgICAgICAgICAgICA8L0xlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICA8UmlnaHRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIDxDb250YWN0TnVtYmVyU3R5bGU+XG4gICAgICAgICAgICAgICAgICB7c2FtcGxpbmcuY29udGFjdF9udW1iZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgPFBob25lSWNvblN0eWxlIHNyYz17UGhvbmV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFBob25lTnVtYmVyU3R5bGUgaHJlZj17YHRlbDoke3NhbXBsaW5nLmNvbnRhY3RfbnVtYmVyfWB9PlxuICAgICAgICAgICAgICAgICAgICAgICAge3NhbXBsaW5nLmNvbnRhY3RfbnVtYmVyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uubm9fY29udGFjdF9udW1iZXInKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1Bob25lTnVtYmVyU3R5bGU+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5ub19jb250YWN0X251bWJlcicpXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvQ29udGFjdE51bWJlclN0eWxlPlxuICAgICAgICAgICAgICA8L1JpZ2h0U2lkZUxheW91dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmdyaWRDZWxsfT5cbiAgICAgICAgICAgICAgPExlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nX3N1bW1hcnlfc2NyZWVuLnNhbXBsaW5nX3RpbWUnKX1cbiAgICAgICAgICAgICAgPC9MZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgPFJpZ2h0U2lkZUxheW91dD57c2FtcGxpbmdEYXRlfTwvUmlnaHRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGUuZ3JpZENlbGx9ICR7XG4gICAgICAgICAgICAgICAgcGFnZVR5cGUgPT09ICdjYW5jZWwnICYmIFN0eWxlLmhpZGRlblxuICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPExlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc19wcm9wZXJ0aWVzLmNvbGxlY3Rpb25fdGltZScpfVxuICAgICAgICAgICAgICA8L0xlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuZGF0ZVBpY2tlcldyYXBwZXJ9PlxuICAgICAgICAgICAgICAgIDxSaWdodFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgICAgICB7LyogTk9URSBpbnB1dCB0aW1lIGZvcm1hdCB3b250Zml4IGh0dHBzOi8vZ2l0aHViLmNvbS9IYWNrZXIweDAxL3JlYWN0LWRhdGVwaWNrZXIvaXNzdWVzLzE3ODUgKi99XG4gICAgICAgICAgICAgICAgICA8RGF0ZVBpY2tlclxuICAgICAgICAgICAgICAgICAgICBpc0ludmFsaWQ9eyEhZm9ybWlrLmVycm9ycy5jb2xsZWN0aW9uX3RpbWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZGF0ZSkgPT4gaGFuZGxlU2V0Q29sbGVjdGlvblRpbWUoZGF0ZSl9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0RhdGVQaWNrZXJEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgdGltZUludGVydmFscz17MTB9XG4gICAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9e2RhdGVGb3JtYXR9XG4gICAgICAgICAgICAgICAgICAgIHRpbWVGb3JtYXQ9XCJISDptbVwiXG4gICAgICAgICAgICAgICAgICAgIHNob3dUaW1lSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgcG9wcGVyUHJvcHM9e3sgc3RyYXRlZ3k6ICdmaXhlZCcgfX1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ9e2NvbGxlY3Rpb25UaW1lfVxuICAgICAgICAgICAgICAgICAgICBjdXN0b21JbnB1dD17PEN1c3RvbURhdGVQaWNrZXIgLz59XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJjb2xsZWN0aW9uX3RpbWVcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1JpZ2h0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5jb2xsZWN0aW9uX3RpbWUgJiYgKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake1N0eWxlLmhpbnR9ICR7U3R5bGUuaGludF9fZGF0ZX1gfT5cbiAgICAgICAgICAgICAgICAgICAge2Zvcm1pay5lcnJvcnMuY29sbGVjdGlvbl90aW1lfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9FbmQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IExlZnRTaWRlTGF5b3V0ID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjEwMH07XG5gO1xuY29uc3QgUmlnaHRTaWRlTGF5b3V0ID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG5gO1xuY29uc3QgQ29udGFjdE51bWJlclN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHg7XG5gO1xuY29uc3QgUGhvbmVOdW1iZXJTdHlsZSA9IHN0eWxlZC5hYFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2FtcGxpbmdzUGFnZS5tb2JpbGUucHJvcGVydGllc0NsaWNrSXRlbXN9O1xuYDtcbmNvbnN0IFBob25lSWNvblN0eWxlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbmA7XG5cbmNvbnN0IFN0YXJ0ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6ICR7aXNNb2JpbGUgPyAnMCUnIDogJzQwJSd9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4taW5saW5lLWVuZDogMjVweDtcblxuICBpbWcge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4NThhOTQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwLjE7XG4gIH1cbmA7XG5jb25zdCBFbmQgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2E2YWNiOTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgcGFkZGluZzogMjVweDtcbmA7XG4iXX0=
198
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXNIZWFkLnRzeCJdLCJuYW1lcyI6WyJJbWFnZU1pc3NpbmdDb21wb25lbnQiLCJwcm9wcyIsImltYWdlIiwic2FtcGxpbmdQcm9wZXJ0aWVzIiwicG9pbnRfcGhvdG8iLCJTdHlsZSIsImltYWdlV3JhcHBlciIsImhlaWdodCIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZEltYWdlIiwiQ3VzdG9tRGF0ZVBpY2tlciIsInJlZiIsInZhbHVlIiwib25DbGljayIsImRhdGVQaWNrZXIiLCJTYW1wbGluZ1Byb3BlcnRpZXNIZWFkIiwic2FtcGxpbmciLCJwYWdlVHlwZSIsImlzRGF0ZVBpY2tlckRpc2FibGVkIiwiY29sbGVjdGlvblRpbWUiLCJzZXRDb2xsZWN0aW9uVGltZSIsImRhdGVGb3JtYXQiLCJmb3JtaWsiLCJzYW1wbGluZ0RhdGUiLCJzYW1wbGluZ19kYXRlIiwiZm9ybWF0Iiwic2FtcGxpbmdUeXBlIiwiaTE4biIsInQiLCJtYWNoaW5lX3R5cGUiLCJoYW5kbGVTZXRDb2xsZWN0aW9uVGltZSIsImRhdGUiLCJzZXRGaWVsZFZhbHVlIiwicmVuZGVyVGl0bGUiLCJwYWdlMnRpdGxlIiwiY29sbGVjdCIsImNhbmNlbCIsInRpdGxlIiwidG9wU2VjdGlvbiIsImlzTW9iaWxlIiwidW5kZWZpbmVkIiwic2l0ZU5hbWUiLCJzaXRlIiwiZ3JpZCIsImdyaWRDZWxsIiwic3RhdHVzIiwiY29udGFjdCIsImNvbnRhY3RfbnVtYmVyIiwiUGhvbmUiLCJoaWRkZW4iLCJkYXRlUGlja2VyV3JhcHBlciIsImVycm9ycyIsImNvbGxlY3Rpb25fdGltZSIsInN0cmF0ZWd5IiwiaGludCIsImhpbnRfX2RhdGUiLCJzYW1wbGluZ19pZCIsIkxlZnRTaWRlTGF5b3V0Iiwic3R5bGVkIiwic3BhbiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjEwMCIsIlJpZ2h0U2lkZUxheW91dCIsIkNvbnRhY3ROdW1iZXJTdHlsZSIsImRpdiIsIlBob25lTnVtYmVyU3R5bGUiLCJhIiwic2FtcGxpbmdzUGFnZSIsIm1vYmlsZSIsInByb3BlcnRpZXNDbGlja0l0ZW1zIiwiUGhvbmVJY29uU3R5bGUiLCJpbWciLCJTdGFydCIsIkVuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7O0FBR0E7O0FBQ0E7Ozs7QUFFQTs7QUFFQTs7Ozs7O0FBTUEsU0FBU0EscUJBQVQsQ0FBK0JDLEtBQS9CLEVBRUc7QUFDRCxNQUFJQyxLQUFKOztBQUNBLE1BQUlELEtBQUssQ0FBQ0Usa0JBQU4sQ0FBeUJDLFdBQXpCLEtBQXlDLElBQTdDLEVBQW1EO0FBQ2pERixJQUFBQSxLQUFLLGdCQUNIO0FBQ0UsTUFBQSxTQUFTLEVBQUVHLHFCQUFNQyxZQURuQjtBQUVFLE1BQUEsS0FBSyxFQUFFO0FBQ0xDLFFBQUFBLE1BQU0sRUFBRSxNQURIO0FBRUxDLFFBQUFBLGNBQWMsRUFBRSxPQUZYO0FBR0xDLFFBQUFBLGtCQUFrQixFQUFFLFFBSGY7QUFJTEMsUUFBQUEsZUFBZSxnQkFBU1QsS0FBSyxDQUFDRSxrQkFBTixDQUF5QkMsV0FBbEM7QUFKVjtBQUZULE1BREY7QUFXRCxHQVpELE1BWU87QUFDTEYsSUFBQUEsS0FBSyxnQkFDSDtBQUFLLE1BQUEsU0FBUyxFQUFFRyxxQkFBTUM7QUFBdEIsb0JBQ0UsNkJBQUMsNEJBQUQsT0FERixDQURGO0FBS0Q7O0FBQ0QsU0FBT0osS0FBUDtBQUNEOztBQUVELElBQU1TLGdCQUFnQixnQkFBRyx1QkFBVyxnQkFBcUJDLEdBQXJCLEVBQTZCO0FBQUEsTUFBMUJDLEtBQTBCLFFBQTFCQSxLQUEwQjtBQUFBLE1BQW5CQyxPQUFtQixRQUFuQkEsT0FBbUI7QUFDL0Qsc0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBRVQscUJBQU1V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QUE7QUFBQSxnREFBeEI7O0FBS0EsSUFBTUMsZ0JBQWdCLEdBQUdULDBCQUFPVSxDQUFWO0FBQUE7QUFBQTtBQUFBLGlFQUdYO0FBQUEsTUFBR1IsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDUyxhQUFOLENBQW9CQyxNQUFwQixDQUEyQkMsb0JBQTFDO0FBQUEsQ0FIVyxDQUF0Qjs7QUFLQSxJQUFNQyxjQUFjLEdBQUdkLDBCQUFPZSxHQUFWO0FBQUE7QUFBQTtBQUFBLCtCQUFwQjs7QUFLQSxJQUFNQyxLQUFLLEdBQUdoQiwwQkFBT1EsR0FBVjtBQUFBO0FBQUE7QUFBQSwyS0FDQTNCLDhCQUFXLElBQVgsR0FBa0IsS0FEbEIsQ0FBWDs7QUFrQkEsSUFBTW9DLEdBQUcsR0FBR2pCLDBCQUFPUSxHQUFWO0FBQUE7QUFBQTtBQUFBLGtJQUFUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IERhdGVQaWNrZXIgZnJvbSAncmVhY3QtZGF0ZXBpY2tlcic7XG5pbXBvcnQgUmVhY3QsIHsgRkMsIGZvcndhcmRSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IGNhcGl0YWxpemUgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcblxuaW1wb3J0IFBob25lIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvc2FtcGxpbmctcHJvcGVydGllcy1waG9uZS5zdmcnO1xuaW1wb3J0IFNhbXBsaW5nU3RhdHVzIGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEltYWdlTWlzc2luZyB9IGZyb20gJ3NyYy9hc3NldHMvaW1hZ2UtbWlzc2luZy5zdmcnO1xuaW1wb3J0IHsgdXNlVXNlclNlbGVjdGVkRGF0ZUZvcm1hdCB9IGZyb20gJ3NyYy9ob29rcy91c2VVc2VyVGltZVpvbmUnO1xuXG5pbXBvcnQgU3R5bGUgZnJvbSAnLi9zdHlsZS5tb2R1bGUuc2Nzcyc7XG5pbXBvcnQge1xuICBUU2FtcGxpbmdQcm9wZXJ0aWVzLFxuICBUU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZCxcbn0gZnJvbSAnLi9zYW1wbGluZ1Byb3BlcnRpZXNVdGlscyc7XG5cbmZ1bmN0aW9uIEltYWdlTWlzc2luZ0NvbXBvbmVudChwcm9wczoge1xuICBzYW1wbGluZ1Byb3BlcnRpZXM6IFRTYW1wbGluZ1Byb3BlcnRpZXM7XG59KSB7XG4gIGxldCBpbWFnZTtcbiAgaWYgKHByb3BzLnNhbXBsaW5nUHJvcGVydGllcy5wb2ludF9waG90byAhPT0gbnVsbCkge1xuICAgIGltYWdlID0gKFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e1N0eWxlLmltYWdlV3JhcHBlcn1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogJ2NvdmVyJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogYHVybCgke3Byb3BzLnNhbXBsaW5nUHJvcGVydGllcy5wb2ludF9waG90b30pYCxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICBpbWFnZSA9IChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5pbWFnZVdyYXBwZXJ9PlxuICAgICAgICA8SW1hZ2VNaXNzaW5nIC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gIHJldHVybiBpbWFnZTtcbn1cblxuY29uc3QgQ3VzdG9tRGF0ZVBpY2tlciA9IGZvcndhcmRSZWYoKHsgdmFsdWUsIG9uQ2xpY2sgfSwgcmVmKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmRhdGVQaWNrZXJ9IHJlZj17cmVmfSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIHt2YWx1ZX1cbiAgICA8L2Rpdj5cbiAgKTtcbn0pO1xuXG5leHBvcnQgY29uc3QgU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZDogRkM8VFNhbXBsaW5nUHJvcGVydGllc0hlYWQ+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBzYW1wbGluZ1Byb3BlcnRpZXMsXG4gICAgc2FtcGxpbmcsXG4gICAgcGFnZVR5cGUsXG4gICAgaXNEYXRlUGlja2VyRGlzYWJsZWQsXG4gICAgY29sbGVjdGlvblRpbWUsXG4gICAgc2V0Q29sbGVjdGlvblRpbWUsXG4gICAgZGF0ZUZvcm1hdCxcbiAgICBmb3JtaWssXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCBzYW1wbGluZ0RhdGUgPSBtb21lbnQoc2FtcGxpbmcuc2FtcGxpbmdfZGF0ZSAqIDEwMDApLmZvcm1hdChcbiAgICB1c2VVc2VyU2VsZWN0ZWREYXRlRm9ybWF0KCksXG4gICk7XG4gIGNvbnN0IHNhbXBsaW5nVHlwZSA9IGkxOG4udChgc2FtcGxpbmdfdHlwZXNfbWluaS4ke3NhbXBsaW5nLm1hY2hpbmVfdHlwZX1gKTtcblxuICBjb25zdCBoYW5kbGVTZXRDb2xsZWN0aW9uVGltZSA9IChkYXRlKSA9PiB7XG4gICAgc2V0Q29sbGVjdGlvblRpbWUoZGF0ZSk7XG4gICAgZm9ybWlrLnNldEZpZWxkVmFsdWUoJ2NvbGxlY3Rpb25fdGltZScsIGRhdGUpO1xuICB9O1xuICBpZiAoIXNhbXBsaW5nKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCByZW5kZXJUaXRsZSA9IChwYWdlVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcGFnZTJ0aXRsZSA9IHtcbiAgICAgIGNvbGxlY3Q6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMucGFnZV90aXRsZV9jb2xsZWN0JyksXG4gICAgICBjYW5jZWw6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMucGFnZV90aXRsZV9jYW5jZWwnKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj57YCR7Y2FwaXRhbGl6ZShwYWdlMnRpdGxlW3BhZ2VUeXBlXSB8fCAnJyl9YH08L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnNhbXBsaW5nUHJvcGVydGllc30+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUudGl0bGV9PntyZW5kZXJUaXRsZShwYWdlVHlwZSl9PC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS50b3BTZWN0aW9ufT5cbiAgICAgICAgeyFpc01vYmlsZSAmJiBzYW1wbGluZ1Byb3BlcnRpZXMgIT09IHVuZGVmaW5lZCAmJiAoXG4gICAgICAgICAgPFN0YXJ0PlxuICAgICAgICAgICAgPEltYWdlTWlzc2luZ0NvbXBvbmVudCBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc30gLz5cbiAgICAgICAgICA8L1N0YXJ0PlxuICAgICAgICApfVxuICAgICAgICA8RW5kPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5zaXRlTmFtZX0+e3NhbXBsaW5nLnNpdGV9PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmdyaWR9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmdyaWRDZWxsfT5cbiAgICAgICAgICAgICAgPExlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIDxTYW1wbGluZ1N0YXR1c1xuICAgICAgICAgICAgICAgICAgc3RhdHVzPXtzYW1wbGluZy5zdGF0dXN9XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5PVwiaW5saW5lLWJsb2NrXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0xlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuZ3JpZENlbGx9PlxuICAgICAgICAgICAgICA8TGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgICAge3NhbXBsaW5nLmNvbnRhY3QgfHwgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5ub19jb250YWN0Jyl9XG4gICAgICAgICAgICAgIDwvTGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgIDxSaWdodFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgICAgPENvbnRhY3ROdW1iZXJTdHlsZT5cbiAgICAgICAgICAgICAgICAgIHtzYW1wbGluZy5jb250YWN0X251bWJlciA/IChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICA8UGhvbmVJY29uU3R5bGUgc3JjPXtQaG9uZX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8UGhvbmVOdW1iZXJTdHlsZSBocmVmPXtgdGVsOiR7c2FtcGxpbmcuY29udGFjdF9udW1iZXJ9YH0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7c2FtcGxpbmcuY29udGFjdF9udW1iZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5ub19jb250YWN0X251bWJlcicpfVxuICAgICAgICAgICAgICAgICAgICAgIDwvUGhvbmVOdW1iZXJTdHlsZT5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLm5vX2NvbnRhY3RfbnVtYmVyJylcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9Db250YWN0TnVtYmVyU3R5bGU+XG4gICAgICAgICAgICAgIDwvUmlnaHRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuZ3JpZENlbGx9PlxuICAgICAgICAgICAgICA8TGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnc2FtcGxpbmcuc2FtcGxpbmdfZGF0ZScpfVxuICAgICAgICAgICAgICA8L0xlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICA8UmlnaHRTaWRlTGF5b3V0PntzYW1wbGluZ0RhdGV9PC9SaWdodFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZS5ncmlkQ2VsbH0gJHtcbiAgICAgICAgICAgICAgICBwYWdlVHlwZSA9PT0gJ2NhbmNlbCcgJiYgU3R5bGUuaGlkZGVuXG4gICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMuY29sbGVjdGlvbl90aW1lJyl9XG4gICAgICAgICAgICAgIDwvTGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5kYXRlUGlja2VyV3JhcHBlcn0+XG4gICAgICAgICAgICAgICAgPFJpZ2h0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICAgIHsvKiBOT1RFIGlucHV0IHRpbWUgZm9ybWF0IHdvbnRmaXggaHR0cHM6Ly9naXRodWIuY29tL0hhY2tlcjB4MDEvcmVhY3QtZGF0ZXBpY2tlci9pc3N1ZXMvMTc4NSAqL31cbiAgICAgICAgICAgICAgICAgIDxEYXRlUGlja2VyXG4gICAgICAgICAgICAgICAgICAgIGlzSW52YWxpZD17ISFmb3JtaWsuZXJyb3JzLmNvbGxlY3Rpb25fdGltZX1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhkYXRlKSA9PiBoYW5kbGVTZXRDb2xsZWN0aW9uVGltZShkYXRlKX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzRGF0ZVBpY2tlckRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICB0aW1lSW50ZXJ2YWxzPXsxMH1cbiAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgICAgdGltZUZvcm1hdD1cIkhIOm1tXCJcbiAgICAgICAgICAgICAgICAgICAgc2hvd1RpbWVJbnB1dFxuICAgICAgICAgICAgICAgICAgICBwb3BwZXJQcm9wcz17eyBzdHJhdGVneTogJ2ZpeGVkJyB9fVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZD17Y29sbGVjdGlvblRpbWV9XG4gICAgICAgICAgICAgICAgICAgIGN1c3RvbUlucHV0PXs8Q3VzdG9tRGF0ZVBpY2tlciAvPn1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cImNvbGxlY3Rpb25fdGltZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvUmlnaHRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLmNvbGxlY3Rpb25fdGltZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7U3R5bGUuaGludH0gJHtTdHlsZS5oaW50X19kYXRlfWB9PlxuICAgICAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5jb2xsZWN0aW9uX3RpbWV9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmdyaWRDZWxsfT5cbiAgICAgICAgICAgICAgPExlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5zYW1wbGVfaWQnKX1cbiAgICAgICAgICAgICAgPC9MZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgPFJpZ2h0U2lkZUxheW91dD57c2FtcGxpbmcuc2FtcGxpbmdfaWR9PC9SaWdodFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5ncmlkQ2VsbH0+XG4gICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZy5zYW1wbGluZ190eXBlJyl9XG4gICAgICAgICAgICAgIDwvTGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgIDxSaWdodFNpZGVMYXlvdXQ+e3NhbXBsaW5nVHlwZX08L1JpZ2h0U2lkZUxheW91dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0VuZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgTGVmdFNpZGVMYXlvdXQgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1mYW1pbHk6IE51bml0bywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbmA7XG5jb25zdCBSaWdodFNpZGVMYXlvdXQgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1mYW1pbHk6IE51bml0bywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbmA7XG5jb25zdCBDb250YWN0TnVtYmVyU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbmA7XG5jb25zdCBQaG9uZU51bWJlclN0eWxlID0gc3R5bGVkLmFgXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zYW1wbGluZ3NQYWdlLm1vYmlsZS5wcm9wZXJ0aWVzQ2xpY2tJdGVtc307XG5gO1xuY29uc3QgUGhvbmVJY29uU3R5bGUgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuYDtcblxuY29uc3QgU3RhcnQgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogJHtpc01vYmlsZSA/ICcwJScgOiAnNDAlJ307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAyNXB4O1xuXG4gIGltZyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg1OGE5NDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxuYDtcbmNvbnN0IEVuZCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTZhY2I5O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBwYWRkaW5nOiAyNXB4O1xuYDtcbiJdfQ==