@kando-env/kando-ui 1.2.75-alpha.39 → 1.2.75-alpha.4

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 (50) hide show
  1. package/lib/Widgets/Map/Map.js +5 -19
  2. package/lib/Widgets/Map/areas/AreaPolygons.js +6 -1
  3. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +5 -2
  4. package/lib/Widgets/Map/points/PointMarker.js +6 -21
  5. package/lib/Widgets/Map/points/PointMarkers.js +2 -2
  6. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +2 -2
  7. package/lib/components/Header/KandoNavbar/KandoNavbar.js +1 -3
  8. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +1 -3
  9. package/lib/components/Sector/Sector.test.js +11 -4
  10. package/lib/hooks/useApiWithDashboardQuery.js +4 -2
  11. package/lib/i18n/en.json +26 -34
  12. package/lib/i18n/fr.json +2 -4
  13. package/lib/i18n/he.json +6 -14
  14. package/lib/i18n/it.json +2 -4
  15. package/lib/index.js +1 -8
  16. package/lib/macros/getVersion.js +2 -2
  17. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +4 -6
  18. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +3 -3
  19. package/lib/pages/EventsPage/events/event_info/sources/Source.js +2 -2
  20. package/lib/pages/EventsPage/events/events_list/EventsList.js +10 -8
  21. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +1 -4
  22. package/lib/pages/EventsPage/events/events_list/Filter/FilterStyle.scss +1 -1
  23. package/lib/pages/ImportFileWizard/ValidationForm.js +12 -7
  24. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +1 -5
  25. package/lib/pages/SamplingsPage/NewSamplingAction.js +3 -4
  26. package/lib/pages/SamplingsPage/SamplingMobileModal.js +17 -1
  27. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +3 -10
  28. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +12 -9
  29. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +17 -24
  30. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +10 -15
  31. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +4 -14
  32. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +2 -4
  33. package/lib/pages/SamplingsPage/SamplingsPage.js +2 -4
  34. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +5 -2
  35. package/lib/pages/SamplingsPage/samplingsPageUtils.js +25 -39
  36. package/lib/pages/SamplingsPage/style.module.scss +1 -1
  37. package/lib/pages/SamplingsPage/table.styles.scss +6 -8
  38. package/lib/pages/WbeDashboard/SummaryGraph.js +6 -15
  39. package/lib/styles.scss +0 -7
  40. package/lib/ui-kit/Button/Button.test.js +11 -26
  41. package/lib/ui-kit/DropDown/DropDown.test.js +41 -50
  42. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +2 -9
  43. package/lib/ui-kit/KandoTable/KandoTable.test.js +43 -46
  44. package/lib/utilities/i18n.js +1 -6
  45. package/lib/utilities/urls.js +5 -5
  46. package/package.json +2 -5
  47. package/lib/components/DischargeHeatmap/mocks/handlers.js +0 -19
  48. package/lib/i18n/en_uk.json +0 -3760
  49. package/lib/test/mocks/browser.js +0 -23
  50. package/lib/test/test-utils.js +0 -61
@@ -237,6 +237,10 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
237
237
  properties_edit: {
238
238
  clickOp: _samplingsPageUtils.EDIT_PROPERTIES_OP,
239
239
  value: _i18n.default.t('samplings_page.sampling_properties')
240
+ },
241
+ manhole_edit: {
242
+ clickOp: _samplingsPageUtils.MANHOLE_PROPERTIES_OP,
243
+ value: _i18n.default.t('samplings_page.manhole_properties')
240
244
  }
241
245
  };
242
246
 
@@ -280,14 +284,26 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
280
284
 
281
285
  if (['planned', 'active', 'ready'].includes(fmtStatus)) {
282
286
  result.push(buildActionItem('cancel'));
287
+ result.push(buildActionItem('manhole_edit', {
288
+ disabled: true
289
+ }));
283
290
  } else if (fmtStatus === 'collected') {
284
291
  result.push(buildActionItem('cancel'));
292
+ result.push(buildActionItem('manhole_edit', {
293
+ disabled: true
294
+ }));
285
295
  } else if (fmtStatus === 'canceled') {
286
296
  result.push(buildActionItem('revert_cancel'));
297
+ result.push(buildActionItem('manhole_edit', {
298
+ disabled: true
299
+ }));
287
300
  } else if (fmtStatus === 'completed') {
288
301
  result.push(buildActionItem('cancel', {
289
302
  disabled: true
290
303
  }));
304
+ result.push(buildActionItem('manhole_edit', {
305
+ disabled: true
306
+ }));
291
307
  }
292
308
 
293
309
  return result;
@@ -336,4 +352,4 @@ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
336
352
  };
337
353
 
338
354
  exports.SamplingMobileModal = SamplingMobileModal;
339
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nTW9iaWxlTW9kYWwudHN4Il0sIm5hbWVzIjpbIlNhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZSIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicDEiLCJMaXN0R3JvdXBTdHlsZSIsIkxpc3RHcm91cCIsIk1vZGFsQ29udGFpbmVyU3R5bGUiLCJ6SW5kZXhlcyIsIm1vZGFsIiwiTGlzdEdyb3VwSXRlbVN0eWxlIiwiSXRlbSIsImZvbnRTaXplIiwibWQiLCJkaXNhYmxlZCIsIm5hdHVyYWwiLCJuNTAiLCJzYW1wbGluZ3NQYWdlIiwibW9iaWxlIiwibW9kYWxMaXN0SXRlbUNvbG9yIiwiUm93SW5mb1N0eWxlIiwibjEiLCJJbmZvTGluZVN0eWxlIiwibjYwIiwiT3ZlcmxheVN0eWxlIiwibW9kYWxPdmVybGF5QmFja2dyb3VuZCIsIk1haW5CdXR0b25TdHlsZSIsIkJ1dHRvbiIsIlNpdGVTdHlsZSIsIkNvbnRhY3ROdW1iZXJSb3dTdHlsZSIsImEiLCJTaXRlRGV0YWlsc1N0eWxlIiwiU2l0ZURldGFpbHNGaXJzdFN0eWxlIiwiU2l0ZURldGFpbHNTZWNvbmRTdHlsZSIsIkJvdHRvbVNlY3Rpb25TdHlsZSIsIlN0YXR1c0NvbnRhaW5lclN0eWxlIiwiYXR0cnMiLCJwcm9wcyIsImlzTW9iaWxlUHJvcGVydGllcyIsIkNsb3NlVG9wQnV0dG9uU3R5bGUiLCJuMTAwIiwiU2FtcGxpbmdNb2JpbGVNb2RhbCIsIm9uQ2xvc2VNb2RhbCIsInNhbXBsaW5nIiwiY29udGFjdCIsImNvbnRhY3ROdW1iZXIiLCJjb250YWN0X251bWJlciIsImxhYk5hbWUiLCJsYWJfbmFtZSIsIm1hbmhvbGVBZGRyZXNzIiwibWFuaG9sZV9hZGRyZXNzIiwic3RhdHVzIiwic2l0ZSIsInNhbXBsaW5nSWQiLCJzYW1wbGluZ19pZCIsInNhbXBsaW5nRGF0ZSIsInNhbXBsaW5nX2RhdGUiLCJzYW1wbGluZ1RpbWUiLCJzYW1wbGluZ190aW1lIiwiaGlzdG9yeSIsImRpc3BhdGNoIiwibmF2Q29udGV4dCIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsImhhbmRsZUFjdGlvbkNsaWNrIiwib3AiLCJpZCIsInNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcyIsImxvY2FsZSIsInB1c2giLCJzYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZSIsInVybCIsImdldEFkZHJlc3MiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJ0ZXh0IiwibGVuZ3RoIiwic2xpY2UiLCJsYXRfbG5nIiwibG9jYXRpb25TdHIiLCJsb2NhdGlvblN0cldhemUiLCJtb2JpbGVBY3Rpb25zT3B0c01hcCIsImNvbGxlY3QiLCJjbGlja09wIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsInZhbHVlIiwiaTE4biIsInQiLCJjYW5jZWwiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJyZXZlcnRfY2FuY2VsIiwiUkVWRVJUX0NBTkNFTExBVElPTiIsImRlbGV0ZSIsIkRFTEVURV9TQU1QTElOR19PUCIsInByb3BlcnRpZXNfZWRpdCIsIkVESVRfUFJPUEVSVElFU19PUCIsImJ1aWxkQWN0aW9uSXRlbSIsImtleSIsIm9wdCIsIm1haW5CdXR0b25BY3Rpb24iLCJmbXRTdGF0dXMiLCJtYWNoaW5lX25hbWUiLCJpbmNsdWRlcyIsIm1haW5CdXR0b25UaXRsZSIsImJ1aWxkTW9iaWxlQWN0aW9ucyIsInJlc3VsdCIsImZhVGltZXMiLCJQaW4iLCJTdHlsZSIsIndhemVMaW5rIiwid2F6ZUljb24iLCJnb29nbGVMaW5rIiwiZ29vZ2xlTWFwc0ljb24iLCJQaG9uZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBSUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FB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TjtBQUdFLElBQUEsTUFBTSxFQUFDO0FBSFQsa0JBS0U7QUFDRSxJQUFBLFNBQVMsRUFBRTZCLHFCQUFNRyxVQURuQjtBQUVFLElBQUEsR0FBRyxFQUFFQyx5QkFGUDtBQUdFLElBQUEsR0FBRyxFQUFDO0FBSE4sSUFMRixDQVZGLENBOUJGLGVBcURFLDZCQUFDLGtCQUFELHFCQUNFLDZCQUFDLHFCQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUVwRSxhQUFhLGlCQUFVQSxhQUFWLElBQTRCO0FBRGpELGtCQUdFO0FBQUssSUFBQSxHQUFHLEVBQUVxRSwyQkFBVjtBQUFpQixJQUFBLEdBQUcsRUFBQztBQUFyQixJQUhGLEVBSUd0RSxPQUFPLElBQUkyQyxjQUFLQyxDQUFMLENBQU8sMkJBQVAsQ0FKZCxDQURGLENBckRGLEVBOERHaUIsa0JBQWtCLEVBOURyQixDQURGLGVBaUVFLDZCQUFDLGVBQUQ7QUFDRSxJQUFBLE9BQU8sRUFBQyxTQURWO0FBRUUsSUFBQSxPQUFPLEVBQUUsS0FGWDtBQUdFLElBQUEsT0FBTyxNQUhUO0FBSUUsSUFBQSxPQUFPLEVBQUU7QUFBQSxhQUFNdkMsaUJBQWlCLENBQUNrQyxnQkFBZ0IsQ0FBQ2pELE1BQUQsQ0FBakIsQ0FBdkI7QUFBQTtBQUpYLEtBTUdxRCxlQUFlLENBQUNyRCxNQUFELENBTmxCLENBakVGLENBRkYsQ0FERjtBQStFRCxDQTlNTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQywgUmVhY3RFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgTGlzdEdyb3VwIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwLyc7XG5pbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuaW1wb3J0IFBob25lIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvc2FtcGxpbmctbW9kYWwtcGhvbmUuc3ZnJztcbmltcG9ydCBQaW4gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9zYW1wbGluZy1tb2RhbC1waW4uc3ZnJztcbmltcG9ydCBTYW1wbGluZ1N0YXR1cyBmcm9tICdzcmMvdWkta2l0L1NhbXBsaW5nU3RhdHVzL1NhbXBsaW5nU3RhdHVzJztcbmltcG9ydCBnb29nbGVNYXBzSWNvbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL25hdmlnYXRpb24vZ29vZ2xlX21hcHNfaWNvbi5wbmcnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB3YXplSWNvbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL25hdmlnYXRpb24vd2F6ZS1pY29uLnBuZyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdzcmMvdWkta2l0JztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICdzcmMvc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgZm9ybWF0U2FtcGxpbmdPcGVyYXRpb25TdGF0dXMgfSBmcm9tICdzcmMvdWkta2l0L1NhbXBsaW5nU3RhdHVzL1NhbXBsaW5nU3RhdHVzSGVscGVyJztcbmltcG9ydCB7IGdldFNhbXBsaW5nQnlJZCB9IGZyb20gJ3NyYy9zdG9yZS9zYW1wbGluZ3MvYWN0aW9uc0NyZWF0b3InO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5cbmltcG9ydCBTdHlsZSBmcm9tICcuL3N0eWxlLm1vZHVsZS5zY3NzJztcblxuaW1wb3J0IHtcbiAgQ0FOQ0VMX1NBTVBMSU5HX09QLFxuICBDT0xMRUNUX1NBTVBMSU5HX09QLFxuICBERUxFVEVfU0FNUExJTkdfT1AsXG4gIEVESVRfUFJPUEVSVElFU19PUCxcbiAgTU9CSUxFX01PREFMX1RFWFRfTEVOR1RILFxuICBSRVZFUlRfQ0FOQ0VMTEFUSU9OLFxuICBTYW1wbGluZ0RhdGEsXG59IGZyb20gJy4vc2FtcGxpbmdzUGFnZVV0aWxzJztcblxuaW50ZXJmYWNlIFNhbXBsaW5nTW9iaWxlUHJvcHMge1xuICBvbkNsb3NlTW9kYWw6ICgpID0+IHZvaWQ7XG4gIHNhbXBsaW5nOiBTYW1wbGluZ0RhdGE7XG4gIGlzTW9iaWxlUHJvcGVydGllcz86IGJvb2xlYW47XG59XG5jb25zdCBTYW1wbGluZ01vYmlsZU1vZGFsU3R5bGUgPSBzdHlsZWQuZGl2YFxuICAqIHtcbiAgICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIH1cbiAgLmRyb3ByaWdodCB7XG4gICAgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIDo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuICB9XG5gO1xuXG5jb25zdCBMaXN0R3JvdXBTdHlsZSA9IHN0eWxlZChMaXN0R3JvdXApYFxuICAvKiBvdmVycmlkZSBzZXJ2ZXIgc3R5bGUgKi9cbiAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG5gO1xuY29uc3QgTW9kYWxDb250YWluZXJTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuYDtcblxuY29uc3QgTGlzdEdyb3VwSXRlbVN0eWxlID0gc3R5bGVkKExpc3RHcm91cC5JdGVtKWBcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLm1kfTtcbiAgaGVpZ2h0OiA1NXB4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCAjODU4YTk0N2QgIWltcG9ydGFudCA7XG4gIGNvbG9yOiAkeyh7IGRpc2FibGVkLCB0aGVtZSB9KSA9PlxuICAgIGRpc2FibGVkXG4gICAgICA/IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjUwXG4gICAgICA6IHRoZW1lLnNhbXBsaW5nc1BhZ2UubW9iaWxlLm1vZGFsTGlzdEl0ZW1Db2xvcn0gIWltcG9ydGFudDtcbmA7XG5cbmNvbnN0IFJvd0luZm9TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxNHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTRweDtcbiAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgIzg1OGE5NDdkO1xuICBwYWRkaW5nOiAyMnB4IDMycHggMDtcbmA7XG5cbmNvbnN0IEluZm9MaW5lU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBib3JkZXItdG9wOiAxcHggc29saWQgIzg1OGE5NDdkO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE2cHggMDtcbmA7XG5cbmNvbnN0IE92ZXJsYXlTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT5cbiAgICB0aGVtZS5zYW1wbGluZ3NQYWdlLm1vYmlsZS5tb2RhbE92ZXJsYXlCYWNrZ3JvdW5kfTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbmA7XG5cbmNvbnN0IE1haW5CdXR0b25TdHlsZSA9IHN0eWxlZChCdXR0b24pYFxuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbjogMTBweDtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDUzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMTRweCAhaW1wb3J0YW50O1xuYDtcblxuY29uc3QgU2l0ZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzAwMDtcbmA7XG5cbmNvbnN0IENvbnRhY3ROdW1iZXJSb3dTdHlsZSA9IHN0eWxlZC5hYFxuICBpbWcge1xuICAgIG1hcmdpbjogMCA1cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFNpdGVEZXRhaWxzU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuYDtcblxuY29uc3QgU2l0ZURldGFpbHNGaXJzdFN0eWxlID0gc3R5bGVkLmRpdmBgO1xuXG5jb25zdCBTaXRlRGV0YWlsc1NlY29uZFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBtYXJnaW46IDVweCAwIDA7XG5gO1xuXG5jb25zdCBCb3R0b21TZWN0aW9uU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG5gO1xuXG5pbnRlcmZhY2UgU2FtcGxpbmdzTW9iaWxlU3R5bGVQcm9wcyB7XG4gIGlzTW9iaWxlUHJvcGVydGllcz86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN0YXR1c0NvbnRhaW5lclN0eWxlID0gc3R5bGVkLmRpdi5hdHRycyhcbiAgKHByb3BzOiBTYW1wbGluZ3NNb2JpbGVTdHlsZVByb3BzKSA9PiAoe1xuICAgIGlzTW9iaWxlUHJvcGVydGllczogcHJvcHMuaXNNb2JpbGVQcm9wZXJ0aWVzLFxuICB9KSxcbilgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHdpZHRoOiAxNHB4O1xuICB9XG4gICR7KHsgaXNNb2JpbGVQcm9wZXJ0aWVzIH0pID0+XG4gICAgaXNNb2JpbGVQcm9wZXJ0aWVzICYmXG4gICAgYFxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGB9XG5gO1xuXG5jb25zdCBDbG9zZVRvcEJ1dHRvblN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjEwMH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9O1xuICBib3JkZXI6IDJweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjEwMH07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ0ZW07XG4gIG1hcmdpbjogMCA4cHggMCAwO1xuICBwYWRkaW5nOiAycHggMCAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nTW9iaWxlTW9kYWw6IEZDPFNhbXBsaW5nTW9iaWxlUHJvcHM+ID0gKHtcbiAgb25DbG9zZU1vZGFsLFxuICBzYW1wbGluZyxcbiAgaXNNb2JpbGVQcm9wZXJ0aWVzLFxufSkgPT4ge1xuICBjb25zdCB7XG4gICAgY29udGFjdCxcbiAgICBjb250YWN0X251bWJlcjogY29udGFjdE51bWJlcixcbiAgICBsYWJfbmFtZTogbGFiTmFtZSxcbiAgICBtYW5ob2xlX2FkZHJlc3M6IG1hbmhvbGVBZGRyZXNzLFxuICAgIHN0YXR1cyxcbiAgICBzaXRlLFxuICAgIHNhbXBsaW5nX2lkOiBzYW1wbGluZ0lkLFxuICAgIHNhbXBsaW5nX2RhdGU6IHNhbXBsaW5nRGF0ZSxcbiAgICBzYW1wbGluZ190aW1lOiBzYW1wbGluZ1RpbWUsXG4gIH0gPSBzYW1wbGluZztcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZDb250ZXh0ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LFxuICApO1xuXG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PlxuICAgICAgc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVBY3Rpb25DbGljayA9IChvcDogc3RyaW5nIHwgbnVsbCkgPT4ge1xuICAgIGlmICghb3ApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGlkIH0gPSBzYW1wbGluZztcbiAgICBkaXNwYXRjaChnZXRTYW1wbGluZ0J5SWQoaWQpKTtcbiAgICBjb25zdCBzYW1wbGluZ1Byb3BlcnRpZXNVcmxQYXJhbXMgPSB1cmxzKHtcbiAgICAgIGlkOiBpZCxcbiAgICAgIGxvY2FsZTogbmF2Q29udGV4dC5sb2NhbGUsXG4gICAgICB3YXRlckF1dGhvcml0eUlkOiB3YXRlckF1dGhvcml0eUlkLFxuICAgICAgb3A6IG9wLFxuICAgIH0pO1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIHNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcy5zYW1wbGluZ3NQYWdlLnNhbXBsaW5nUHJvcGVydGllc1JvdXRlLnVybCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGdldEFkZHJlc3MgPSAoKSA9PiB7XG4gICAgcmV0dXJuIE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCA8IG1hbmhvbGVBZGRyZXNzLnRleHQubGVuZ3RoXG4gICAgICA/IG1hbmhvbGVBZGRyZXNzLnRleHQuc2xpY2UoMCwgTU9CSUxFX01PREFMX1RFWFRfTEVOR1RIKSArICdcXHUyMDI2J1xuICAgICAgOiBtYW5ob2xlQWRkcmVzcy50ZXh0O1xuICB9O1xuXG4gIGNvbnN0IHsgbGF0X2xuZyB9ID0gbWFuaG9sZUFkZHJlc3M7XG4gIGNvbnN0IGxvY2F0aW9uU3RyID0gYCR7bGF0X2xuZ1swXX0sJHtsYXRfbG5nWzFdfWA7XG4gIGNvbnN0IGxvY2F0aW9uU3RyV2F6ZSA9IGBsbD0ke2xvY2F0aW9uU3RyfWA7XG5cbiAgY29uc3QgbW9iaWxlQWN0aW9uc09wdHNNYXA6IHsgW2tleTogc3RyaW5nXTogT2JqZWN0IH0gPSB7XG4gICAgY29sbGVjdDoge1xuICAgICAgY2xpY2tPcDogQ09MTEVDVF9TQU1QTElOR19PUCxcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNhbmNlbF9zYW1wbGluZycpLFxuICAgIH0sXG4gICAgY2FuY2VsOiB7XG4gICAgICBjbGlja09wOiBDQU5DRUxfU0FNUExJTkdfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jYW5jZWxfc2FtcGxpbmcnKSxcbiAgICB9LFxuICAgIHJldmVydF9jYW5jZWw6IHtcbiAgICAgIGNsaWNrT3A6IFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5yZXZlcnRfY2FuY2VsbGF0aW9uJyksXG4gICAgfSxcbiAgICBkZWxldGU6IHtcbiAgICAgIGNsaWNrT3A6IERFTEVURV9TQU1QTElOR19PUCxcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmRlbGV0ZScpLFxuICAgIH0sXG4gICAgcHJvcGVydGllc19lZGl0OiB7XG4gICAgICBjbGlja09wOiBFRElUX1BST1BFUlRJRVNfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19wcm9wZXJ0aWVzJyksXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBidWlsZEFjdGlvbkl0ZW0gPSAoa2V5OiBzdHJpbmcsIHByb3BzPzogb2JqZWN0KTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBvcHQgPSBtb2JpbGVBY3Rpb25zT3B0c01hcFtrZXldO1xuICAgIGNvbnN0IGRpc2FibGVkID0gcHJvcHMgPyBwcm9wc1snZGlzYWJsZWQnXSA6IGZhbHNlO1xuICAgIGNvbnN0IGNsaWNrT3AgPSBkaXNhYmxlZCA/IGZhbHNlIDogb3B0WydjbGlja09wJ107XG4gICAgcmV0dXJuIChcbiAgICAgIDxMaXN0R3JvdXBJdGVtU3R5bGVcbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQWN0aW9uQ2xpY2soY2xpY2tPcCl9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgID5cbiAgICAgICAge29wdFsndmFsdWUnXX1cbiAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgbWFpbkJ1dHRvbkFjdGlvbiA9IChzdGF0dXMpID0+IHtcbiAgICBjb25zdCBmbXRTdGF0dXMgPSBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyhzdGF0dXMubWFjaGluZV9uYW1lKTtcbiAgICBpZiAoWydwbGFubmVkJywgJ2FjdGl2ZScsICdyZWFkeSddLmluY2x1ZGVzKGZtdFN0YXR1cykpIHtcbiAgICAgIHJldHVybiBDT0xMRUNUX1NBTVBMSU5HX09QO1xuICAgIH1cbiAgICByZXR1cm4gRURJVF9QUk9QRVJUSUVTX09QO1xuICB9O1xuXG4gIGNvbnN0IG1haW5CdXR0b25UaXRsZSA9IChzdGF0dXMpID0+IHtcbiAgICBjb25zdCBmbXRTdGF0dXMgPSBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyhzdGF0dXMubWFjaGluZV9uYW1lKTtcbiAgICBpZiAoWydwbGFubmVkJywgJ2FjdGl2ZScsICdyZWFkeSddLmluY2x1ZGVzKGZtdFN0YXR1cykpIHtcbiAgICAgIHJldHVybiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNvbGxlY3QnKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NvbGxlY3RlZCcpIHtcbiAgICAgIHJldHVybiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nX3Byb3BlcnRpZXMnKTtcbiAgICB9XG4gICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfcHJvcGVydGllcycpO1xuICB9O1xuXG4gIGNvbnN0IGJ1aWxkTW9iaWxlQWN0aW9ucyA9ICgpID0+IHtcbiAgICBjb25zdCBmbXRTdGF0dXMgPSBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyhzdGF0dXMubWFjaGluZV9uYW1lKTtcbiAgICBsZXQgcmVzdWx0OiBSZWFjdEVsZW1lbnRbXSA9IFtdO1xuXG4gICAgaWYgKFsncGxhbm5lZCcsICdhY3RpdmUnLCAncmVhZHknXS5pbmNsdWRlcyhmbXRTdGF0dXMpKSB7XG4gICAgICByZXN1bHQucHVzaChidWlsZEFjdGlvbkl0ZW0oJ2NhbmNlbCcpKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NvbGxlY3RlZCcpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJykpO1xuICAgIH0gZWxzZSBpZiAoZm10U3RhdHVzID09PSAnY2FuY2VsZWQnKSB7XG4gICAgICByZXN1bHQucHVzaChidWlsZEFjdGlvbkl0ZW0oJ3JldmVydF9jYW5jZWwnKSk7XG4gICAgfSBlbHNlIGlmIChmbXRTdGF0dXMgPT09ICdjb21wbGV0ZWQnKSB7XG4gICAgICByZXN1bHQucHVzaChidWlsZEFjdGlvbkl0ZW0oJ2NhbmNlbCcsIHsgZGlzYWJsZWQ6IHRydWUgfSkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlPlxuICAgICAgPE92ZXJsYXlTdHlsZSAvPlxuICAgICAgPE1vZGFsQ29udGFpbmVyU3R5bGU+XG4gICAgICAgIDxMaXN0R3JvdXBTdHlsZT5cbiAgICAgICAgICA8Um93SW5mb1N0eWxlPlxuICAgICAgICAgICAgPENsb3NlVG9wQnV0dG9uU3R5bGUgb25DbGljaz17b25DbG9zZU1vZGFsfT5cbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRpbWVzfSAvPlxuICAgICAgICAgICAgPC9DbG9zZVRvcEJ1dHRvblN0eWxlPlxuICAgICAgICAgICAgPFNpdGVEZXRhaWxzU3R5bGU+XG4gICAgICAgICAgICAgIDxTaXRlRGV0YWlsc0ZpcnN0U3R5bGU+XG4gICAgICAgICAgICAgICAgPFNpdGVTdHlsZT57c2l0ZX08L1NpdGVTdHlsZT5cbiAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ0lkfTwvZGl2PlxuICAgICAgICAgICAgICA8L1NpdGVEZXRhaWxzRmlyc3RTdHlsZT5cbiAgICAgICAgICAgICAgPFNpdGVEZXRhaWxzU2Vjb25kU3R5bGU+XG4gICAgICAgICAgICAgICAgPFN0YXR1c0NvbnRhaW5lclN0eWxlIGlzTW9iaWxlUHJvcGVydGllcz17aXNNb2JpbGVQcm9wZXJ0aWVzfT5cbiAgICAgICAgICAgICAgICAgIDxTYW1wbGluZ1N0YXR1cyBzdGF0dXM9e3N0YXR1c30gLz5cbiAgICAgICAgICAgICAgICA8L1N0YXR1c0NvbnRhaW5lclN0eWxlPlxuICAgICAgICAgICAgICAgIDxCb3R0b21TZWN0aW9uU3R5bGU+XG4gICAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ0RhdGV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ1RpbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9Cb3R0b21TZWN0aW9uU3R5bGU+XG4gICAgICAgICAgICAgIDwvU2l0ZURldGFpbHNTZWNvbmRTdHlsZT5cbiAgICAgICAgICAgIDwvU2l0ZURldGFpbHNTdHlsZT5cbiAgICAgICAgICAgIDxJbmZvTGluZVN0eWxlPlxuICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5sYWJfbmFtZScpfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtsYWJOYW1lIHx8IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uud2FzX25vdF9zZWxlY3RlZCcpfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L0luZm9MaW5lU3R5bGU+XG4gICAgICAgICAgPC9Sb3dJbmZvU3R5bGU+XG5cbiAgICAgICAgICA8TGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgICAgPGltZyBzcmM9e1Bpbn0gYWx0PVwicGluXCIgLz5cbiAgICAgICAgICAgIDxzcGFuPntnZXRBZGRyZXNzKCl9PC9zcGFuPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj17YGh0dHBzOi8vd3d3LndhemUuY29tL3VsPyR7bG9jYXRpb25TdHJXYXplfSZuYXZpZ2F0ZT15ZXNgfVxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9e1N0eWxlLndhemVMaW5rfSBzcmM9e3dhemVJY29ufSBhbHQ9XCJ3YXplLWljb25cIiAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj17YGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1DdXJyZW50K0xvY2F0aW9uJmRlc3RpbmF0aW9uPSR7bG9jYXRpb25TdHJ9YH1cbiAgICAgICAgICAgICAgcmVsPVwibm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlLmdvb2dsZUxpbmt9XG4gICAgICAgICAgICAgICAgc3JjPXtnb29nbGVNYXBzSWNvbn1cbiAgICAgICAgICAgICAgICBhbHQ9XCJnb29nbGUtbWFwLWljb25cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuXG4gICAgICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZT5cbiAgICAgICAgICAgIDxDb250YWN0TnVtYmVyUm93U3R5bGVcbiAgICAgICAgICAgICAgaHJlZj17Y29udGFjdE51bWJlciA/IGB0ZWw6JHtjb250YWN0TnVtYmVyfWAgOiAnIyd9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtQaG9uZX0gYWx0PVwicGluXCIgLz5cbiAgICAgICAgICAgICAge2NvbnRhY3QgfHwgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5ub19jb250YWN0Jyl9XG4gICAgICAgICAgICA8L0NvbnRhY3ROdW1iZXJSb3dTdHlsZT5cbiAgICAgICAgICA8L0xpc3RHcm91cEl0ZW1TdHlsZT5cblxuICAgICAgICAgIHtidWlsZE1vYmlsZUFjdGlvbnMoKX1cbiAgICAgICAgPC9MaXN0R3JvdXBTdHlsZT5cbiAgICAgICAgPE1haW5CdXR0b25TdHlsZVxuICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICByb3VuZGVkPXtmYWxzZX1cbiAgICAgICAgICBvdXRsaW5lXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQWN0aW9uQ2xpY2sobWFpbkJ1dHRvbkFjdGlvbihzdGF0dXMpKX1cbiAgICAgICAgPlxuICAgICAgICAgIHttYWluQnV0dG9uVGl0bGUoc3RhdHVzKX1cbiAgICAgICAgPC9NYWluQnV0dG9uU3R5bGU+XG4gICAgICA8L01vZGFsQ29udGFpbmVyU3R5bGU+XG4gICAgPC9TYW1wbGluZ01vYmlsZU1vZGFsU3R5bGU+XG4gICk7XG59O1xuIl19
355
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nTW9iaWxlTW9kYWwudHN4Il0sIm5hbWVzIjpbIlNhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZSIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicDEiLCJMaXN0R3JvdXBTdHlsZSIsIkxpc3RHcm91cCIsIk1vZGFsQ29udGFpbmVyU3R5bGUiLCJ6SW5kZXhlcyIsIm1vZGFsIiwiTGlzdEdyb3VwSXRlbVN0eWxlIiwiSXRlbSIsImZvbnRTaXplIiwibWQiLCJkaXNhYmxlZCIsIm5hdHVyYWwiLCJuNTAiLCJzYW1wbGluZ3NQYWdlIiwibW9iaWxlIiwibW9kYWxMaXN0SXRlbUNvbG9yIiwiUm93SW5mb1N0eWxlIiwibjEiLCJJbmZvTGluZVN0eWxlIiwibjYwIiwiT3ZlcmxheVN0eWxlIiwibW9kYWxPdmVybGF5QmFja2dyb3VuZCIsIk1haW5CdXR0b25TdHlsZSIsIkJ1dHRvbiIsIlNpdGVTdHlsZSIsIkNvbnRhY3ROdW1iZXJSb3dTdHlsZSIsImEiLCJTaXRlRGV0YWlsc1N0eWxlIiwiU2l0ZURldGFpbHNGaXJzdFN0eWxlIiwiU2l0ZURldGFpbHNTZWNvbmRTdHlsZSIsIkJvdHRvbVNlY3Rpb25TdHlsZSIsIlN0YXR1c0NvbnRhaW5lclN0eWxlIiwiYXR0cnMiLCJwcm9wcyIsImlzTW9iaWxlUHJvcGVydGllcyIsIkNsb3NlVG9wQnV0dG9uU3R5bGUiLCJuMTAwIiwiU2FtcGxpbmdNb2JpbGVNb2RhbCIsIm9uQ2xvc2VNb2RhbCIsInNhbXBsaW5nIiwiY29udGFjdCIsImNvbnRhY3ROdW1iZXIiLCJjb250YWN0X251bWJlciIsImxhYk5hbWUiLCJsYWJfbmFtZSIsIm1hbmhvbGVBZGRyZXNzIiwibWFuaG9sZV9hZGRyZXNzIiwic3RhdHVzIiwic2l0ZSIsInNhbXBsaW5nSWQiLCJzYW1wbGluZ19pZCIsInNhbXBsaW5nRGF0ZSIsInNhbXBsaW5nX2RhdGUiLCJzYW1wbGluZ1RpbWUiLCJzYW1wbGluZ190aW1lIiwiaGlzdG9yeSIsImRpc3BhdGNoIiwibmF2Q29udGV4dCIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsImhhbmRsZUFjdGlvbkNsaWNrIiwib3AiLCJpZCIsInNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcyIsImxvY2FsZSIsInB1c2giLCJzYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZSIsInVybCIsImdldEFkZHJlc3MiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJ0ZXh0IiwibGVuZ3RoIiwic2xpY2UiLCJsYXRfbG5nIiwibG9jYXRpb25TdHIiLCJsb2NhdGlvblN0cldhemUiLCJtb2JpbGVBY3Rpb25zT3B0c01hcCIsImNvbGxlY3QiLCJjbGlja09wIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsInZhbHVlIiwiaTE4biIsInQiLCJjYW5jZWwiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJyZXZlcnRfY2FuY2VsIiwiUkVWRVJUX0NBTkNFTExBVElPTiIsImRlbGV0ZSIsIkRFTEVURV9TQU1QTElOR19PUCIsInByb3BlcnRpZXNfZWRpdCIsIkVESVRfUFJPUEVSVElFU19PUCIsIm1hbmhvbGVfZWRpdCIsIk1BTkhPTEVfUFJPUEVSVElFU19PUCIsImJ1aWxkQWN0aW9uSXRlbSIsImtleSIsIm9wdCIsIm1haW5CdXR0b25BY3Rpb24iLCJmbXRTdGF0dXMiLCJtYWNoaW5lX25hbWUiLCJpbmNsdWRlcyIsIm1haW5CdXR0b25UaXRsZSIsImJ1aWxkTW9iaWxlQWN0aW9ucyIsInJlc3VsdCIsImZhVGltZXMiLCJQaW4iLCJTdHlsZSIsIndhemVMaW5rIiwid2F6ZUljb24iLCJnb29nbGVMaW5rIiwiZ29vZ2xlTWFwc0ljb24iLCJQaG9uZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBSUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBZ0JBLElBQU1BLHdCQUF3QixHQUFHQywwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSw4SkFnQmpCO0FBQUEsTUFBR0MsS0FBSCxRQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCQyxPQUFsQixDQUEwQkMsRUFBekM7QUFBQSxDQWhCaUIsQ0FBOUI7O0FBb0JBLElBQU1DLGNBQWMsR0FBRywrQkFBT0MseUJBQVAsQ0FBSDtBQUFBO0FBQUE7QUFBQSxxREFBcEI7O0FBS0EsSUFBTUMsbUJBQW1CLEdBQUdSLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLGlFQUtaO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDTyxRQUFOLENBQWVDLEtBQTlCO0FBQUEsQ0FMWSxDQUF6Qjs7QUFRQSxJQUFNQyxrQkFBa0IsR0FBRywrQkFBT0osMEJBQVVLLElBQWpCLENBQUg7QUFBQTtBQUFBO0FBQUEsaUxBQ1Q7QUFBQSxNQUFHVixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNXLFFBQU4sQ0FBZUMsRUFBOUI7QUFBQSxDQURTLEVBT2I7QUFBQSxNQUFHQyxRQUFILFNBQUdBLFFBQUg7QUFBQSxNQUFhYixLQUFiLFNBQWFBLEtBQWI7QUFBQSxTQUNQYSxRQUFRLEdBQ0piLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmEsT0FBbEIsQ0FBMEJDLEdBRHRCLEdBRUpmLEtBQUssQ0FBQ2dCLGFBQU4sQ0FBb0JDLE1BQXBCLENBQTJCQyxrQkFIeEI7QUFBQSxDQVBhLENBQXhCOztBQWFBLElBQU1DLFlBQVksR0FBR3JCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHdKQUVGO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCYSxPQUFsQixDQUEwQk0sRUFBekM7QUFBQSxDQUZFLENBQWxCOztBQVNBLElBQU1DLGFBQWEsR0FBR3ZCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHdIQUVSO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCYSxPQUFsQixDQUEwQlEsR0FBekM7QUFBQSxDQUZRLENBQW5COztBQVNBLElBQU1DLFlBQVksR0FBR3pCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLG1HQUNJO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FDbEJBLEtBQUssQ0FBQ2dCLGFBQU4sQ0FBb0JDLE1BQXBCLENBQTJCTyxzQkFEVDtBQUFBLENBREosRUFRTDtBQUFBLE1BQUd4QixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNPLFFBQU4sQ0FBZUMsS0FBOUI7QUFBQSxDQVJLLENBQWxCOztBQVdBLElBQU1pQixlQUFlLEdBQUcsK0JBQU9DLGFBQVAsQ0FBSDtBQUFBO0FBQUE7QUFBQSxvSkFNQztBQUFBLE1BQUcxQixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JhLE9BQWxCLENBQTBCTSxFQUF6QztBQUFBLENBTkQsQ0FBckI7O0FBVUEsSUFBTU8sU0FBUyxHQUFHN0IsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsd0dBQWY7O0FBT0EsSUFBTTZCLHFCQUFxQixHQUFHOUIsMEJBQU8rQixDQUFWO0FBQUE7QUFBQTtBQUFBLDBCQUEzQjs7QUFNQSxJQUFNQyxnQkFBZ0IsR0FBR2hDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLG9LQU9YO0FBQUEsTUFBR0MsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCYSxPQUFsQixDQUEwQlEsR0FBekM7QUFBQSxDQVBXLENBQXRCOztBQVVBLElBQU1TLHFCQUFxQixHQUFHakMsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsUUFBM0I7O0FBRUEsSUFBTWlDLHNCQUFzQixHQUFHbEMsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsK0VBQTVCOztBQU9BLElBQU1rQyxrQkFBa0IsR0FBR25DLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLDhCQUF4Qjs7QUFTQSxJQUFNbUMsb0JBQW9CLEdBQUdwQywwQkFBT0MsR0FBUCxDQUFXb0MsS0FBWCxDQUMzQixVQUFDQyxLQUFEO0FBQUEsU0FBdUM7QUFDckNDLElBQUFBLGtCQUFrQixFQUFFRCxLQUFLLENBQUNDO0FBRFcsR0FBdkM7QUFBQSxDQUQyQixDQUFIO0FBQUE7QUFBQTtBQUFBLDRHQWF0QjtBQUFBLE1BQUdBLGtCQUFILFVBQUdBLGtCQUFIO0FBQUEsU0FDQUEsa0JBQWtCLGdEQURsQjtBQUFBLENBYnNCLENBQTFCOztBQW9CQSxJQUFNQyxtQkFBbUIsR0FBR3hDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLGlRQVFUO0FBQUEsTUFBR0MsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCYSxPQUFsQixDQUEwQnlCLElBQXpDO0FBQUEsQ0FSUyxFQVNkO0FBQUEsTUFBR3ZDLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmEsT0FBbEIsQ0FBMEJNLEVBQXpDO0FBQUEsQ0FUYyxFQVVIO0FBQUEsTUFBR3BCLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmEsT0FBbEIsQ0FBMEJ5QixJQUF6QztBQUFBLENBVkcsQ0FBekI7O0FBbUJPLElBQU1DLG1CQUE0QyxHQUFHLFNBQS9DQSxtQkFBK0MsU0FJdEQ7QUFBQSxNQUhKQyxZQUdJLFVBSEpBLFlBR0k7QUFBQSxNQUZKQyxRQUVJLFVBRkpBLFFBRUk7QUFBQSxNQURKTCxrQkFDSSxVQURKQSxrQkFDSTtBQUNKLE1BQ0VNLE9BREYsR0FVSUQsUUFWSixDQUNFQyxPQURGO0FBQUEsTUFFa0JDLGFBRmxCLEdBVUlGLFFBVkosQ0FFRUcsY0FGRjtBQUFBLE1BR1lDLE9BSFosR0FVSUosUUFWSixDQUdFSyxRQUhGO0FBQUEsTUFJbUJDLGNBSm5CLEdBVUlOLFFBVkosQ0FJRU8sZUFKRjtBQUFBLE1BS0VDLE1BTEYsR0FVSVIsUUFWSixDQUtFUSxNQUxGO0FBQUEsTUFNRUMsSUFORixHQVVJVCxRQVZKLENBTUVTLElBTkY7QUFBQSxNQU9lQyxVQVBmLEdBVUlWLFFBVkosQ0FPRVcsV0FQRjtBQUFBLE1BUWlCQyxZQVJqQixHQVVJWixRQVZKLENBUUVhLGFBUkY7QUFBQSxNQVNpQkMsWUFUakIsR0FVSWQsUUFWSixDQVNFZSxhQVRGO0FBV0EsTUFBTUMsT0FBTyxHQUFHLGlDQUFoQjtBQUNBLE1BQU1DLFFBQVEsR0FBRyw4QkFBakI7QUFDQSxNQUFNQyxVQUFVLEdBQUcsNkJBQ2pCLFVBQUNDLEtBQUQ7QUFBQSxXQUEwQ0EsS0FBSyxDQUFDQyxnQkFBTixDQUF1QkYsVUFBakU7QUFBQSxHQURpQixDQUFuQjtBQUlBLE1BQU1HLGdCQUFnQixHQUFHLDZCQUN2QixVQUFDRixLQUFEO0FBQUEsV0FDRUEsS0FBSyxDQUFDRyxXQUFOLENBQWtCRCxnQkFEcEI7QUFBQSxHQUR1QixDQUF6Qjs7QUFLQSxNQUFNRSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUNDLEVBQUQsRUFBdUI7QUFDL0MsUUFBSSxDQUFDQSxFQUFMLEVBQVM7QUFDUDtBQUNEOztBQUVELFFBQVFDLEVBQVIsR0FBZXpCLFFBQWYsQ0FBUXlCLEVBQVI7QUFDQVIsSUFBQUEsUUFBUSxDQUFDLHFDQUFnQlEsRUFBaEIsQ0FBRCxDQUFSO0FBQ0EsUUFBTUMsMkJBQTJCLEdBQUcsZ0JBQUs7QUFDdkNELE1BQUFBLEVBQUUsRUFBRUEsRUFEbUM7QUFFdkNFLE1BQUFBLE1BQU0sRUFBRVQsVUFBVSxDQUFDUyxNQUZvQjtBQUd2Q04sTUFBQUEsZ0JBQWdCLEVBQUVBLGdCQUhxQjtBQUl2Q0csTUFBQUEsRUFBRSxFQUFFQTtBQUptQyxLQUFMLENBQXBDO0FBTUFSLElBQUFBLE9BQU8sQ0FBQ1ksSUFBUixDQUNFRiwyQkFBMkIsQ0FBQ3BELGFBQTVCLENBQTBDdUQsdUJBQTFDLENBQWtFQyxHQURwRTtBQUdELEdBaEJEOztBQWtCQSxNQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBYSxHQUFNO0FBQ3ZCLFdBQU9DLCtDQUEyQjFCLGNBQWMsQ0FBQzJCLElBQWYsQ0FBb0JDLE1BQS9DLEdBQ0g1QixjQUFjLENBQUMyQixJQUFmLENBQW9CRSxLQUFwQixDQUEwQixDQUExQixFQUE2QkgsNENBQTdCLElBQXlELFFBRHRELEdBRUgxQixjQUFjLENBQUMyQixJQUZuQjtBQUdELEdBSkQ7O0FBTUEsTUFBUUcsT0FBUixHQUFvQjlCLGNBQXBCLENBQVE4QixPQUFSO0FBQ0EsTUFBTUMsV0FBVyxhQUFNRCxPQUFPLENBQUMsQ0FBRCxDQUFiLGNBQW9CQSxPQUFPLENBQUMsQ0FBRCxDQUEzQixDQUFqQjtBQUNBLE1BQU1FLGVBQWUsZ0JBQVNELFdBQVQsQ0FBckI7QUFFQSxNQUFNRSxvQkFBK0MsR0FBRztBQUN0REMsSUFBQUEsT0FBTyxFQUFFO0FBQ1BDLE1BQUFBLE9BQU8sRUFBRUMsdUNBREY7QUFFUEMsTUFBQUEsS0FBSyxFQUFFQyxjQUFLQyxDQUFMLENBQU8sZ0NBQVA7QUFGQSxLQUQ2QztBQUt0REMsSUFBQUEsTUFBTSxFQUFFO0FBQ05MLE1BQUFBLE9BQU8sRUFBRU0sc0NBREg7QUFFTkosTUFBQUEsS0FBSyxFQUFFQyxjQUFLQyxDQUFMLENBQU8sZ0NBQVA7QUFGRCxLQUw4QztBQVN0REcsSUFBQUEsYUFBYSxFQUFFO0FBQ2JQLE1BQUFBLE9BQU8sRUFBRVEsdUNBREk7QUFFYk4sTUFBQUEsS0FBSyxFQUFFQyxjQUFLQyxDQUFMLENBQU8sb0NBQVA7QUFGTSxLQVR1QztBQWF0REssSUFBQUEsTUFBTSxFQUFFO0FBQ05ULE1BQUFBLE9BQU8sRUFBRVUsc0NBREg7QUFFTlIsTUFBQUEsS0FBSyxFQUFFQyxjQUFLQyxDQUFMLENBQU8sdUJBQVA7QUFGRCxLQWI4QztBQWlCdERPLElBQUFBLGVBQWUsRUFBRTtBQUNmWCxNQUFBQSxPQUFPLEVBQUVZLHNDQURNO0FBRWZWLE1BQUFBLEtBQUssRUFBRUMsY0FBS0MsQ0FBTCxDQUFPLG9DQUFQO0FBRlEsS0FqQnFDO0FBcUJ0RFMsSUFBQUEsWUFBWSxFQUFFO0FBQ1piLE1BQUFBLE9BQU8sRUFBRWMseUNBREc7QUFFWlosTUFBQUEsS0FBSyxFQUFFQyxjQUFLQyxDQUFMLENBQU8sbUNBQVA7QUFGSztBQXJCd0MsR0FBeEQ7O0FBMkJBLE1BQU1XLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsR0FBRCxFQUFjL0QsS0FBZCxFQUErQztBQUNyRSxRQUFNZ0UsR0FBRyxHQUFHbkIsb0JBQW9CLENBQUNrQixHQUFELENBQWhDO0FBQ0EsUUFBTXRGLFFBQVEsR0FBR3VCLEtBQUssR0FBR0EsS0FBSyxDQUFDLFVBQUQsQ0FBUixHQUF1QixLQUE3QztBQUNBLFFBQU0rQyxPQUFPLEdBQUd0RSxRQUFRLEdBQUcsS0FBSCxHQUFXdUYsR0FBRyxDQUFDLFNBQUQsQ0FBdEM7QUFDQSx3QkFDRSw2QkFBQyxrQkFBRDtBQUNFLE1BQUEsT0FBTyxFQUFFO0FBQUEsZUFBTW5DLGlCQUFpQixDQUFDa0IsT0FBRCxDQUF2QjtBQUFBLE9BRFg7QUFFRSxNQUFBLFFBQVEsRUFBRXRFO0FBRlosT0FJR3VGLEdBQUcsQ0FBQyxPQUFELENBSk4sQ0FERjtBQVFELEdBWkQ7O0FBY0EsTUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUFDbkQsTUFBRCxFQUFZO0FBQ25DLFFBQU1vRCxTQUFTLEdBQUcseURBQThCcEQsTUFBTSxDQUFDcUQsWUFBckMsQ0FBbEI7O0FBQ0EsUUFBSSxDQUFDLFNBQUQsRUFBWSxRQUFaLEVBQXNCLE9BQXRCLEVBQStCQyxRQUEvQixDQUF3Q0YsU0FBeEMsQ0FBSixFQUF3RDtBQUN0RCxhQUFPbEIsdUNBQVA7QUFDRDs7QUFDRCxXQUFPVyxzQ0FBUDtBQUNELEdBTkQ7O0FBUUEsTUFBTVUsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDdkQsTUFBRCxFQUFZO0FBQ2xDLFFBQU1vRCxTQUFTLEdBQUcseURBQThCcEQsTUFBTSxDQUFDcUQsWUFBckMsQ0FBbEI7O0FBQ0EsUUFBSSxDQUFDLFNBQUQsRUFBWSxRQUFaLEVBQXNCLE9BQXRCLEVBQStCQyxRQUEvQixDQUF3Q0YsU0FBeEMsQ0FBSixFQUF3RDtBQUN0RCxhQUFPaEIsY0FBS0MsQ0FBTCxDQUFPLHdCQUFQLENBQVA7QUFDRCxLQUZELE1BRU8sSUFBSWUsU0FBUyxLQUFLLFdBQWxCLEVBQStCO0FBQ3BDLGFBQU9oQixjQUFLQyxDQUFMLENBQU8sb0NBQVAsQ0FBUDtBQUNEOztBQUNELFdBQU9ELGNBQUtDLENBQUwsQ0FBTyxvQ0FBUCxDQUFQO0FBQ0QsR0FSRDs7QUFVQSxNQUFNbUIsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFxQixHQUFNO0FBQy9CLFFBQU1KLFNBQVMsR0FBRyx5REFBOEJwRCxNQUFNLENBQUNxRCxZQUFyQyxDQUFsQjtBQUNBLFFBQUlJLE1BQXNCLEdBQUcsRUFBN0I7O0FBRUEsUUFBSSxDQUFDLFNBQUQsRUFBWSxRQUFaLEVBQXNCLE9BQXRCLEVBQStCSCxRQUEvQixDQUF3Q0YsU0FBeEMsQ0FBSixFQUF3RDtBQUN0REssTUFBQUEsTUFBTSxDQUFDckMsSUFBUCxDQUFZNEIsZUFBZSxDQUFDLFFBQUQsQ0FBM0I7QUFDQVMsTUFBQUEsTUFBTSxDQUFDckMsSUFBUCxDQUFZNEIsZUFBZSxDQUFDLGNBQUQsRUFBaUI7QUFBRXJGLFFBQUFBLFFBQVEsRUFBRTtBQUFaLE9BQWpCLENBQTNCO0FBQ0QsS0FIRCxNQUdPLElBQUl5RixTQUFTLEtBQUssV0FBbEIsRUFBK0I7QUFDcENLLE1BQUFBLE1BQU0sQ0FBQ3JDLElBQVAsQ0FBWTRCLGVBQWUsQ0FBQyxRQUFELENBQTNCO0FBQ0FTLE1BQUFBLE1BQU0sQ0FBQ3JDLElBQVAsQ0FBWTRCLGVBQWUsQ0FBQyxjQUFELEVBQWlCO0FBQUVyRixRQUFBQSxRQUFRLEVBQUU7QUFBWixPQUFqQixDQUEzQjtBQUNELEtBSE0sTUFHQSxJQUFJeUYsU0FBUyxLQUFLLFVBQWxCLEVBQThCO0FBQ25DSyxNQUFBQSxNQUFNLENBQUNyQyxJQUFQLENBQVk0QixlQUFlLENBQUMsZUFBRCxDQUEzQjtBQUNBUyxNQUFBQSxNQUFNLENBQUNyQyxJQUFQLENBQVk0QixlQUFlLENBQUMsY0FBRCxFQUFpQjtBQUFFckYsUUFBQUEsUUFBUSxFQUFFO0FBQVosT0FBakIsQ0FBM0I7QUFDRCxLQUhNLE1BR0EsSUFBSXlGLFNBQVMsS0FBSyxXQUFsQixFQUErQjtBQUNwQ0ssTUFBQUEsTUFBTSxDQUFDckMsSUFBUCxDQUFZNEIsZUFBZSxDQUFDLFFBQUQsRUFBVztBQUFFckYsUUFBQUEsUUFBUSxFQUFFO0FBQVosT0FBWCxDQUEzQjtBQUNBOEYsTUFBQUEsTUFBTSxDQUFDckMsSUFBUCxDQUFZNEIsZUFBZSxDQUFDLGNBQUQsRUFBaUI7QUFBRXJGLFFBQUFBLFFBQVEsRUFBRTtBQUFaLE9BQWpCLENBQTNCO0FBQ0Q7O0FBRUQsV0FBTzhGLE1BQVA7QUFDRCxHQW5CRDs7QUFxQkEsc0JBQ0UsNkJBQUMsd0JBQUQscUJBQ0UsNkJBQUMsWUFBRCxPQURGLGVBRUUsNkJBQUMsbUJBQUQscUJBQ0UsNkJBQUMsY0FBRCxxQkFDRSw2QkFBQyxZQUFELHFCQUNFLDZCQUFDLG1CQUFEO0FBQXFCLElBQUEsT0FBTyxFQUFFbEU7QUFBOUIsa0JBQ0UsNkJBQUMsaUNBQUQ7QUFBaUIsSUFBQSxJQUFJLEVBQUVtRTtBQUF2QixJQURGLENBREYsZUFJRSw2QkFBQyxnQkFBRCxxQkFDRSw2QkFBQyxxQkFBRCxxQkFDRSw2QkFBQyxTQUFELFFBQVl6RCxJQUFaLENBREYsZUFFRSwwQ0FBTUMsVUFBTixDQUZGLENBREYsZUFLRSw2QkFBQyxzQkFBRCxxQkFDRSw2QkFBQyxvQkFBRDtBQUFzQixJQUFBLGtCQUFrQixFQUFFZjtBQUExQyxrQkFDRSw2QkFBQyx1QkFBRDtBQUFnQixJQUFBLE1BQU0sRUFBRWE7QUFBeEIsSUFERixDQURGLGVBSUUsNkJBQUMsa0JBQUQscUJBQ0UsMENBQU1JLFlBQU4sQ0FERixlQUVFLDBDQUFNRSxZQUFOLENBRkYsQ0FKRixDQUxGLENBSkYsZUFtQkUsNkJBQUMsYUFBRCxxQkFDRSwyQ0FDRzhCLGNBQUtDLENBQUwsQ0FBTyw4Q0FBUCxDQURILENBREYsZUFJRSwyQ0FDR3pDLE9BQU8sSUFBSXdDLGNBQUtDLENBQUwsQ0FBTyxpQ0FBUCxDQURkLENBSkYsQ0FuQkYsQ0FERixlQThCRSw2QkFBQyxrQkFBRCxxQkFDRTtBQUFLLElBQUEsR0FBRyxFQUFFc0IseUJBQVY7QUFBZSxJQUFBLEdBQUcsRUFBQztBQUFuQixJQURGLGVBRUUsMkNBQU9wQyxVQUFVLEVBQWpCLENBRkYsZUFHRTtBQUNFLElBQUEsSUFBSSxvQ0FBNkJPLGVBQTdCLGtCQUROO0FBRUUsSUFBQSxNQUFNLEVBQUMsUUFGVDtBQUdFLElBQUEsR0FBRyxFQUFDO0FBSE4sa0JBS0U7QUFBSyxJQUFBLFNBQVMsRUFBRThCLHFCQUFNQyxRQUF0QjtBQUFnQyxJQUFBLEdBQUcsRUFBRUMsaUJBQXJDO0FBQStDLElBQUEsR0FBRyxFQUFDO0FBQW5ELElBTEYsQ0FIRixlQVVFO0FBQ0UsSUFBQSxJQUFJLHVGQUFnRmpDLFdBQWhGLENBRE47QUFFRSxJQUFBLEdBQUcsRUFBQyxZQUZOO0FBR0UsSUFBQSxNQUFNLEVBQUM7QUFIVCxrQkFLRTtBQUNFLElBQUEsU0FBUyxFQUFFK0IscUJBQU1HLFVBRG5CO0FBRUUsSUFBQSxHQUFHLEVBQUVDLHlCQUZQO0FBR0UsSUFBQSxHQUFHLEVBQUM7QUFITixJQUxGLENBVkYsQ0E5QkYsZUFxREUsNkJBQUMsa0JBQUQscUJBQ0UsNkJBQUMscUJBQUQ7QUFDRSxJQUFBLElBQUksRUFBRXRFLGFBQWEsaUJBQVVBLGFBQVYsSUFBNEI7QUFEakQsa0JBR0U7QUFBSyxJQUFBLEdBQUcsRUFBRXVFLDJCQUFWO0FBQWlCLElBQUEsR0FBRyxFQUFDO0FBQXJCLElBSEYsRUFJR3hFLE9BQU8sSUFBSTJDLGNBQUtDLENBQUwsQ0FBTywyQkFBUCxDQUpkLENBREYsQ0FyREYsRUE4REdtQixrQkFBa0IsRUE5RHJCLENBREYsZUFpRUUsNkJBQUMsZUFBRDtBQUNFLElBQUEsT0FBTyxFQUFDLFNBRFY7QUFFRSxJQUFBLE9BQU8sRUFBRSxLQUZYO0FBR0UsSUFBQSxPQUFPLE1BSFQ7QUFJRSxJQUFBLE9BQU8sRUFBRTtBQUFBLGFBQU16QyxpQkFBaUIsQ0FBQ29DLGdCQUFnQixDQUFDbkQsTUFBRCxDQUFqQixDQUF2QjtBQUFBO0FBSlgsS0FNR3VELGVBQWUsQ0FBQ3ZELE1BQUQsQ0FObEIsQ0FqRUYsQ0FGRixDQURGO0FBK0VELENBdE5NIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZDLCBSZWFjdEVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBMaXN0R3JvdXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAvJztcbmltcG9ydCB7IGZhVGltZXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5pbXBvcnQgUGhvbmUgZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9zYW1wbGluZy1tb2RhbC1waG9uZS5zdmcnO1xuaW1wb3J0IFBpbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLW1vZGFsLXBpbi5zdmcnO1xuaW1wb3J0IFNhbXBsaW5nU3RhdHVzIGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXMnO1xuaW1wb3J0IGdvb2dsZU1hcHNJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbmF2aWdhdGlvbi9nb29nbGVfbWFwc19pY29uLnBuZyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHdhemVJY29uIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbmF2aWdhdGlvbi93YXplLWljb24ucG5nJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyB9IGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXNIZWxwZXInO1xuaW1wb3J0IHsgZ2V0U2FtcGxpbmdCeUlkIH0gZnJvbSAnc3JjL3N0b3JlL3NhbXBsaW5ncy9hY3Rpb25zQ3JlYXRvcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcblxuaW1wb3J0IFN0eWxlIGZyb20gJy4vc3R5bGUubW9kdWxlLnNjc3MnO1xuXG5pbXBvcnQge1xuICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIERFTEVURV9TQU1QTElOR19PUCxcbiAgRURJVF9QUk9QRVJUSUVTX09QLFxuICBNQU5IT0xFX1BST1BFUlRJRVNfT1AsXG4gIE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCxcbiAgUkVWRVJUX0NBTkNFTExBVElPTixcbiAgU2FtcGxpbmdEYXRhLFxufSBmcm9tICcuL3NhbXBsaW5nc1BhZ2VVdGlscyc7XG5cbmludGVyZmFjZSBTYW1wbGluZ01vYmlsZVByb3BzIHtcbiAgb25DbG9zZU1vZGFsOiAoKSA9PiB2b2lkO1xuICBzYW1wbGluZzogU2FtcGxpbmdEYXRhO1xuICBpc01vYmlsZVByb3BlcnRpZXM/OiBib29sZWFuO1xufVxuY29uc3QgU2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgKiB7XG4gICAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICB9XG4gIC5kcm9wcmlnaHQge1xuICAgIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICA6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuYDtcblxuY29uc3QgTGlzdEdyb3VwU3R5bGUgPSBzdHlsZWQoTGlzdEdyb3VwKWBcbiAgLyogb3ZlcnJpZGUgc2VydmVyIHN0eWxlICovXG4gIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuYDtcbmNvbnN0IE1vZGFsQ29udGFpbmVyU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDB2dztcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbmA7XG5cbmNvbnN0IExpc3RHcm91cEl0ZW1TdHlsZSA9IHN0eWxlZChMaXN0R3JvdXAuSXRlbSlgXG4gIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS5tZH07XG4gIGhlaWdodDogNTVweCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbiAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgIzg1OGE5NDdkICFpbXBvcnRhbnQgO1xuICBjb2xvcjogJHsoeyBkaXNhYmxlZCwgdGhlbWUgfSkgPT5cbiAgICBkaXNhYmxlZFxuICAgICAgPyB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm41MFxuICAgICAgOiB0aGVtZS5zYW1wbGluZ3NQYWdlLm1vYmlsZS5tb2RhbExpc3RJdGVtQ29sb3J9ICFpbXBvcnRhbnQ7XG5gO1xuXG5jb25zdCBSb3dJbmZvU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTRweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE0cHg7XG4gIGJvcmRlci1ib3R0b206IDAuNXB4IHNvbGlkICM4NThhOTQ3ZDtcbiAgcGFkZGluZzogMjJweCAzMnB4IDA7XG5gO1xuXG5jb25zdCBJbmZvTGluZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4NThhOTQ3ZDtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxNnB4IDA7XG5gO1xuXG5jb25zdCBPdmVybGF5U3R5bGUgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+XG4gICAgdGhlbWUuc2FtcGxpbmdzUGFnZS5tb2JpbGUubW9kYWxPdmVybGF5QmFja2dyb3VuZH07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS56SW5kZXhlcy5tb2RhbH07XG5gO1xuXG5jb25zdCBNYWluQnV0dG9uU3R5bGUgPSBzdHlsZWQoQnV0dG9uKWBcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW46IDEwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMjBweCk7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiA1M3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHggIWltcG9ydGFudDtcbmA7XG5cbmNvbnN0IFNpdGVTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtZmFtaWx5OiBOdW5pdG8sIEdpbHJveSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICMwMDA7XG5gO1xuXG5jb25zdCBDb250YWN0TnVtYmVyUm93U3R5bGUgPSBzdHlsZWQuYWBcbiAgaW1nIHtcbiAgICBtYXJnaW46IDAgNXB4O1xuICB9XG5gO1xuXG5jb25zdCBTaXRlRGV0YWlsc1N0eWxlID0gc3R5bGVkLmRpdmBcbiAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbmA7XG5cbmNvbnN0IFNpdGVEZXRhaWxzRmlyc3RTdHlsZSA9IHN0eWxlZC5kaXZgYDtcblxuY29uc3QgU2l0ZURldGFpbHNTZWNvbmRTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWFyZ2luOiA1cHggMCAwO1xuYDtcblxuY29uc3QgQm90dG9tU2VjdGlvblN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMHB4O1xuYDtcblxuaW50ZXJmYWNlIFNhbXBsaW5nc01vYmlsZVN0eWxlUHJvcHMge1xuICBpc01vYmlsZVByb3BlcnRpZXM/OiBib29sZWFuO1xufVxuXG5jb25zdCBTdGF0dXNDb250YWluZXJTdHlsZSA9IHN0eWxlZC5kaXYuYXR0cnMoXG4gIChwcm9wczogU2FtcGxpbmdzTW9iaWxlU3R5bGVQcm9wcykgPT4gKHtcbiAgICBpc01vYmlsZVByb3BlcnRpZXM6IHByb3BzLmlzTW9iaWxlUHJvcGVydGllcyxcbiAgfSksXG4pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBpbWcge1xuICAgIGhlaWdodDogMTRweDtcbiAgICB3aWR0aDogMTRweDtcbiAgfVxuICAkeyh7IGlzTW9iaWxlUHJvcGVydGllcyB9KSA9PlxuICAgIGlzTW9iaWxlUHJvcGVydGllcyAmJlxuICAgIGBcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBgfVxuYDtcblxuY29uc3QgQ2xvc2VUb3BCdXR0b25TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00MHB4O1xuICByaWdodDogMTBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xMDB9O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfTtcbiAgYm9yZGVyOiAycHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xMDB9O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMS40NGVtO1xuICBtYXJnaW46IDAgOHB4IDAgMDtcbiAgcGFkZGluZzogMnB4IDAgMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTYW1wbGluZ01vYmlsZU1vZGFsOiBGQzxTYW1wbGluZ01vYmlsZVByb3BzPiA9ICh7XG4gIG9uQ2xvc2VNb2RhbCxcbiAgc2FtcGxpbmcsXG4gIGlzTW9iaWxlUHJvcGVydGllcyxcbn0pID0+IHtcbiAgY29uc3Qge1xuICAgIGNvbnRhY3QsXG4gICAgY29udGFjdF9udW1iZXI6IGNvbnRhY3ROdW1iZXIsXG4gICAgbGFiX25hbWU6IGxhYk5hbWUsXG4gICAgbWFuaG9sZV9hZGRyZXNzOiBtYW5ob2xlQWRkcmVzcyxcbiAgICBzdGF0dXMsXG4gICAgc2l0ZSxcbiAgICBzYW1wbGluZ19pZDogc2FtcGxpbmdJZCxcbiAgICBzYW1wbGluZ19kYXRlOiBzYW1wbGluZ0RhdGUsXG4gICAgc2FtcGxpbmdfdGltZTogc2FtcGxpbmdUaW1lLFxuICB9ID0gc2FtcGxpbmc7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2Q29udGV4dCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLm5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dCxcbiAgKTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eUlkID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT5cbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlQWN0aW9uQ2xpY2sgPSAob3A6IHN0cmluZyB8IG51bGwpID0+IHtcbiAgICBpZiAoIW9wKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBpZCB9ID0gc2FtcGxpbmc7XG4gICAgZGlzcGF0Y2goZ2V0U2FtcGxpbmdCeUlkKGlkKSk7XG4gICAgY29uc3Qgc2FtcGxpbmdQcm9wZXJ0aWVzVXJsUGFyYW1zID0gdXJscyh7XG4gICAgICBpZDogaWQsXG4gICAgICBsb2NhbGU6IG5hdkNvbnRleHQubG9jYWxlLFxuICAgICAgd2F0ZXJBdXRob3JpdHlJZDogd2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgIG9wOiBvcCxcbiAgICB9KTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBzYW1wbGluZ1Byb3BlcnRpZXNVcmxQYXJhbXMuc2FtcGxpbmdzUGFnZS5zYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZS51cmwsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBnZXRBZGRyZXNzID0gKCkgPT4ge1xuICAgIHJldHVybiBNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEggPCBtYW5ob2xlQWRkcmVzcy50ZXh0Lmxlbmd0aFxuICAgICAgPyBtYW5ob2xlQWRkcmVzcy50ZXh0LnNsaWNlKDAsIE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCkgKyAnXFx1MjAyNidcbiAgICAgIDogbWFuaG9sZUFkZHJlc3MudGV4dDtcbiAgfTtcblxuICBjb25zdCB7IGxhdF9sbmcgfSA9IG1hbmhvbGVBZGRyZXNzO1xuICBjb25zdCBsb2NhdGlvblN0ciA9IGAke2xhdF9sbmdbMF19LCR7bGF0X2xuZ1sxXX1gO1xuICBjb25zdCBsb2NhdGlvblN0cldhemUgPSBgbGw9JHtsb2NhdGlvblN0cn1gO1xuXG4gIGNvbnN0IG1vYmlsZUFjdGlvbnNPcHRzTWFwOiB7IFtrZXk6IHN0cmluZ106IE9iamVjdCB9ID0ge1xuICAgIGNvbGxlY3Q6IHtcbiAgICAgIGNsaWNrT3A6IENPTExFQ1RfU0FNUExJTkdfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jYW5jZWxfc2FtcGxpbmcnKSxcbiAgICB9LFxuICAgIGNhbmNlbDoge1xuICAgICAgY2xpY2tPcDogQ0FOQ0VMX1NBTVBMSU5HX09QLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY2FuY2VsX3NhbXBsaW5nJyksXG4gICAgfSxcbiAgICByZXZlcnRfY2FuY2VsOiB7XG4gICAgICBjbGlja09wOiBSRVZFUlRfQ0FOQ0VMTEFUSU9OLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UucmV2ZXJ0X2NhbmNlbGxhdGlvbicpLFxuICAgIH0sXG4gICAgZGVsZXRlOiB7XG4gICAgICBjbGlja09wOiBERUxFVEVfU0FNUExJTkdfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5kZWxldGUnKSxcbiAgICB9LFxuICAgIHByb3BlcnRpZXNfZWRpdDoge1xuICAgICAgY2xpY2tPcDogRURJVF9QUk9QRVJUSUVTX09QLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfcHJvcGVydGllcycpLFxuICAgIH0sXG4gICAgbWFuaG9sZV9lZGl0OiB7XG4gICAgICBjbGlja09wOiBNQU5IT0xFX1BST1BFUlRJRVNfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5tYW5ob2xlX3Byb3BlcnRpZXMnKSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQWN0aW9uSXRlbSA9IChrZXk6IHN0cmluZywgcHJvcHM/OiBvYmplY3QpOiBSZWFjdEVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IG9wdCA9IG1vYmlsZUFjdGlvbnNPcHRzTWFwW2tleV07XG4gICAgY29uc3QgZGlzYWJsZWQgPSBwcm9wcyA/IHByb3BzWydkaXNhYmxlZCddIDogZmFsc2U7XG4gICAgY29uc3QgY2xpY2tPcCA9IGRpc2FibGVkID8gZmFsc2UgOiBvcHRbJ2NsaWNrT3AnXTtcbiAgICByZXR1cm4gKFxuICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVBY3Rpb25DbGljayhjbGlja09wKX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgPlxuICAgICAgICB7b3B0Wyd2YWx1ZSddfVxuICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBtYWluQnV0dG9uQWN0aW9uID0gKHN0YXR1cykgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoZm10U3RhdHVzKSkge1xuICAgICAgcmV0dXJuIENPTExFQ1RfU0FNUExJTkdfT1A7XG4gICAgfVxuICAgIHJldHVybiBFRElUX1BST1BFUlRJRVNfT1A7XG4gIH07XG5cbiAgY29uc3QgbWFpbkJ1dHRvblRpdGxlID0gKHN0YXR1cykgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoZm10U3RhdHVzKSkge1xuICAgICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY29sbGVjdCcpO1xuICAgIH0gZWxzZSBpZiAoZm10U3RhdHVzID09PSAnY29sbGVjdGVkJykge1xuICAgICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfcHJvcGVydGllcycpO1xuICAgIH1cbiAgICByZXR1cm4gaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19wcm9wZXJ0aWVzJyk7XG4gIH07XG5cbiAgY29uc3QgYnVpbGRNb2JpbGVBY3Rpb25zID0gKCkgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGxldCByZXN1bHQ6IFJlYWN0RWxlbWVudFtdID0gW107XG5cbiAgICBpZiAoWydwbGFubmVkJywgJ2FjdGl2ZScsICdyZWFkeSddLmluY2x1ZGVzKGZtdFN0YXR1cykpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJykpO1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdtYW5ob2xlX2VkaXQnLCB7IGRpc2FibGVkOiB0cnVlIH0pKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NvbGxlY3RlZCcpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJykpO1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdtYW5ob2xlX2VkaXQnLCB7IGRpc2FibGVkOiB0cnVlIH0pKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NhbmNlbGVkJykge1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdyZXZlcnRfY2FuY2VsJykpO1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdtYW5ob2xlX2VkaXQnLCB7IGRpc2FibGVkOiB0cnVlIH0pKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NvbXBsZXRlZCcpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJywgeyBkaXNhYmxlZDogdHJ1ZSB9KSk7XG4gICAgICByZXN1bHQucHVzaChidWlsZEFjdGlvbkl0ZW0oJ21hbmhvbGVfZWRpdCcsIHsgZGlzYWJsZWQ6IHRydWUgfSkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlPlxuICAgICAgPE92ZXJsYXlTdHlsZSAvPlxuICAgICAgPE1vZGFsQ29udGFpbmVyU3R5bGU+XG4gICAgICAgIDxMaXN0R3JvdXBTdHlsZT5cbiAgICAgICAgICA8Um93SW5mb1N0eWxlPlxuICAgICAgICAgICAgPENsb3NlVG9wQnV0dG9uU3R5bGUgb25DbGljaz17b25DbG9zZU1vZGFsfT5cbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRpbWVzfSAvPlxuICAgICAgICAgICAgPC9DbG9zZVRvcEJ1dHRvblN0eWxlPlxuICAgICAgICAgICAgPFNpdGVEZXRhaWxzU3R5bGU+XG4gICAgICAgICAgICAgIDxTaXRlRGV0YWlsc0ZpcnN0U3R5bGU+XG4gICAgICAgICAgICAgICAgPFNpdGVTdHlsZT57c2l0ZX08L1NpdGVTdHlsZT5cbiAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ0lkfTwvZGl2PlxuICAgICAgICAgICAgICA8L1NpdGVEZXRhaWxzRmlyc3RTdHlsZT5cbiAgICAgICAgICAgICAgPFNpdGVEZXRhaWxzU2Vjb25kU3R5bGU+XG4gICAgICAgICAgICAgICAgPFN0YXR1c0NvbnRhaW5lclN0eWxlIGlzTW9iaWxlUHJvcGVydGllcz17aXNNb2JpbGVQcm9wZXJ0aWVzfT5cbiAgICAgICAgICAgICAgICAgIDxTYW1wbGluZ1N0YXR1cyBzdGF0dXM9e3N0YXR1c30gLz5cbiAgICAgICAgICAgICAgICA8L1N0YXR1c0NvbnRhaW5lclN0eWxlPlxuICAgICAgICAgICAgICAgIDxCb3R0b21TZWN0aW9uU3R5bGU+XG4gICAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ0RhdGV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ1RpbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9Cb3R0b21TZWN0aW9uU3R5bGU+XG4gICAgICAgICAgICAgIDwvU2l0ZURldGFpbHNTZWNvbmRTdHlsZT5cbiAgICAgICAgICAgIDwvU2l0ZURldGFpbHNTdHlsZT5cbiAgICAgICAgICAgIDxJbmZvTGluZVN0eWxlPlxuICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5sYWJfbmFtZScpfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtsYWJOYW1lIHx8IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uud2FzX25vdF9zZWxlY3RlZCcpfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L0luZm9MaW5lU3R5bGU+XG4gICAgICAgICAgPC9Sb3dJbmZvU3R5bGU+XG5cbiAgICAgICAgICA8TGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgICAgPGltZyBzcmM9e1Bpbn0gYWx0PVwicGluXCIgLz5cbiAgICAgICAgICAgIDxzcGFuPntnZXRBZGRyZXNzKCl9PC9zcGFuPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj17YGh0dHBzOi8vd3d3LndhemUuY29tL3VsPyR7bG9jYXRpb25TdHJXYXplfSZuYXZpZ2F0ZT15ZXNgfVxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9e1N0eWxlLndhemVMaW5rfSBzcmM9e3dhemVJY29ufSBhbHQ9XCJ3YXplLWljb25cIiAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj17YGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1DdXJyZW50K0xvY2F0aW9uJmRlc3RpbmF0aW9uPSR7bG9jYXRpb25TdHJ9YH1cbiAgICAgICAgICAgICAgcmVsPVwibm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlLmdvb2dsZUxpbmt9XG4gICAgICAgICAgICAgICAgc3JjPXtnb29nbGVNYXBzSWNvbn1cbiAgICAgICAgICAgICAgICBhbHQ9XCJnb29nbGUtbWFwLWljb25cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuXG4gICAgICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZT5cbiAgICAgICAgICAgIDxDb250YWN0TnVtYmVyUm93U3R5bGVcbiAgICAgICAgICAgICAgaHJlZj17Y29udGFjdE51bWJlciA/IGB0ZWw6JHtjb250YWN0TnVtYmVyfWAgOiAnIyd9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPXtQaG9uZX0gYWx0PVwicGluXCIgLz5cbiAgICAgICAgICAgICAge2NvbnRhY3QgfHwgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5ub19jb250YWN0Jyl9XG4gICAgICAgICAgICA8L0NvbnRhY3ROdW1iZXJSb3dTdHlsZT5cbiAgICAgICAgICA8L0xpc3RHcm91cEl0ZW1TdHlsZT5cblxuICAgICAgICAgIHtidWlsZE1vYmlsZUFjdGlvbnMoKX1cbiAgICAgICAgPC9MaXN0R3JvdXBTdHlsZT5cbiAgICAgICAgPE1haW5CdXR0b25TdHlsZVxuICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICByb3VuZGVkPXtmYWxzZX1cbiAgICAgICAgICBvdXRsaW5lXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQWN0aW9uQ2xpY2sobWFpbkJ1dHRvbkFjdGlvbihzdGF0dXMpKX1cbiAgICAgICAgPlxuICAgICAgICAgIHttYWluQnV0dG9uVGl0bGUoc3RhdHVzKX1cbiAgICAgICAgPC9NYWluQnV0dG9uU3R5bGU+XG4gICAgICA8L01vZGFsQ29udGFpbmVyU3R5bGU+XG4gICAgPC9TYW1wbGluZ01vYmlsZU1vZGFsU3R5bGU+XG4gICk7XG59O1xuIl19
@@ -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