@kando-env/kando-ui 1.2.234 → 1.2.236

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/lib/Widgets/Map/Map.js +100 -23
  2. package/lib/Widgets/Map/Map.scss +67 -0
  3. package/lib/Widgets/Map/MapUtils.js +27 -12
  4. package/lib/Widgets/Map/areas/AreaPolygons.js +3 -3
  5. package/lib/Widgets/Map/edges/Edge.js +2 -2
  6. package/lib/Widgets/Map/edges/Edge.scss +7 -2
  7. package/lib/Widgets/Map/edges/Edges.js +14 -2
  8. package/lib/Widgets/Map/events/EventIndicator.js +2 -2
  9. package/lib/Widgets/Map/events/EventPath.js +1 -1
  10. package/lib/Widgets/Map/events/EventUtils.js +23 -17
  11. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +6 -2
  12. package/lib/Widgets/Map/events/PointOfEvent.js +10 -7
  13. package/lib/Widgets/Map/points/PointIcon.js +44 -0
  14. package/lib/Widgets/Map/points/PointIcon.scss +230 -0
  15. package/lib/Widgets/Map/points/PointMarker.js +22 -19
  16. package/lib/Widgets/Map/points/PointMarkers.js +62 -13
  17. package/lib/Widgets/Map/points/PointUtils.js +83 -33
  18. package/lib/Widgets/MostPolluting/MostPolluting.js +19 -2
  19. package/lib/assets/icons/pin/pin-matash-white.svg +8 -42
  20. package/lib/assets/icons/plus_v.svg +13 -0
  21. package/lib/assets/icons/water_reuse.svg +27 -0
  22. package/lib/assets/map/pin-matash-clicked.svg +12 -0
  23. package/lib/assets/map/pin-matash-white.svg +8 -28
  24. package/lib/assets/map/pin-plant-clicked.svg +10 -0
  25. package/lib/assets/map/pin-plant-white.svg +6 -28
  26. package/lib/assets/map/pin-suction-clicked.svg +10 -0
  27. package/lib/assets/map/pin-suction.svg +6 -23
  28. package/lib/assets/map/pin-water-clicked.svg +11 -0
  29. package/lib/assets/map/pin-water.svg +7 -17
  30. package/lib/assets/point_icons/WWTP-icon.svg +8 -21
  31. package/lib/assets/point_icons/factory-icon.svg +6 -21
  32. package/lib/assets/point_icons/pump-station-icon.svg +6 -16
  33. package/lib/components/CustomInputs/Select/Select.js +22 -4
  34. package/lib/components/Header/InfoBar/InfoBar.js +7 -1
  35. package/lib/components/SevereEvent/Eta/Eta.js +7 -2
  36. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +4 -3
  37. package/lib/hooks/useMap.js +4 -14
  38. package/lib/i18n/en.json +41 -12
  39. package/lib/i18n/en_uk.json +26 -3
  40. package/lib/i18n/fr.json +25 -2
  41. package/lib/i18n/he.json +34 -3
  42. package/lib/i18n/it.json +25 -2
  43. package/lib/index.js +9 -1
  44. package/lib/macros/getVersion.js +1 -1
  45. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +19 -2
  46. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +4 -3
  47. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +20 -4
  48. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +4 -4
  49. package/lib/pages/EventsPage/events/event_info/EventInfo.js +3 -2
  50. package/lib/pages/EventsPage/events/events_list/EventsList.js +17 -10
  51. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +5 -1
  52. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +13 -7
  53. package/lib/pages/ProfilePage/Container.js +2 -2
  54. package/lib/pages/ProfilePage/ProfilePage.js +154 -48
  55. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +12 -6
  56. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +7 -6
  57. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +4 -2
  58. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +4 -2
  59. package/lib/pages/WbeDashboard/ExpandableComponent.js +6 -4
  60. package/lib/pages/WbeDashboard/GraphWrapper.js +5 -4
  61. package/lib/pages/WbeDashboard/SummaryGraph.js +45 -34
  62. package/lib/pages/WbeDashboard/Tabs.js +2 -1
  63. package/lib/pages/WbeDashboard/WbeDashboardPage.js +48 -55
  64. package/lib/pages/WbeDashboard/WbeSummaryBar.js +14 -10
  65. package/lib/store/events/actions.js +3 -3
  66. package/lib/store/global/models/IGlobalState.js +1 -1
  67. package/lib/store/permissions/permissionsSlice.js +3 -1
  68. package/lib/store/points/models/IGroup.js +1 -1
  69. package/lib/store/points/models/IPoint.js +1 -1
  70. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +17 -4
  71. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +9 -2
  72. package/lib/ui-kit/KandoTable/KandoTable.js +3 -1
  73. package/lib/utilities/Analytics.js +2 -1
  74. package/lib/utilities/Enum.js +12 -1
  75. package/lib/utilities/edgesMath.js +5 -3
  76. package/lib/utilities/map/icons.js +19 -7
  77. package/lib/utilities/polylinedecorator.js +383 -0
  78. package/lib/utilities/urls.js +3 -3
  79. package/package.json +9 -4
@@ -49,7 +49,7 @@ var WbeDashboardPage = function WbeDashboardPage() {
49
49
  return query.get('water_authority_id');
50
50
  };
51
51
  var fetchUrl = function fetchUrl(firstParam) {
52
- return "/api_ui/wbe_dashboard/".concat(firstParam, "?water_authority_id=").concat(getWAId(), "&tag=").concat(getTag());
52
+ return "/api_ui/wbe_dashboard/".concat(selectedPathogen, "/").concat(firstParam, "?water_authority_id=").concat(getWAId());
53
53
  };
54
54
  var DEFAULT_TABS = [_i18n.default.t('components.wbe_dashboard.cities'), _i18n.default.t('components.wbe_dashboard.monitored_areas')];
55
55
  var convertTabNameToParam = function convertTabNameToParam(tab_name) {
@@ -61,38 +61,40 @@ var WbeDashboardPage = function WbeDashboardPage() {
61
61
  return 'city';
62
62
  };
63
63
  var query = (0, _useQueryURL.default)();
64
- var getTag = function getTag() {
65
- return query.get('tag');
64
+ var getPathogen = function getPathogen() {
65
+ return query.get('pathogen') || 'covid';
66
66
  };
67
- var defaultTag = getTag() === null ? _i18n.default.t('components.wbe_dashboard.all') : getTag();
67
+ var pathogens = (0, _reactRedux.useSelector)(function (state) {
68
+ return state.permissions.pathogens;
69
+ });
68
70
  var _useState = (0, _react.useState)([]),
69
71
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
70
72
  currentData = _useState2[0],
71
73
  setCurrentData = _useState2[1];
72
- var _useState3 = (0, _react.useState)(defaultTag),
74
+ var _useState3 = (0, _react.useState)([]),
73
75
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
74
- selectedTag = _useState4[0],
75
- setSelectedTag = _useState4[1];
76
+ mapAreas = _useState4[0],
77
+ setMapAreas = _useState4[1];
76
78
  var _useState5 = (0, _react.useState)([]),
77
79
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
78
- mapAreas = _useState6[0],
79
- setMapAreas = _useState6[1];
80
+ mapZoom = _useState6[0],
81
+ setMapZoom = _useState6[1];
80
82
  var _useState7 = (0, _react.useState)([]),
81
83
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
82
- mapZoom = _useState8[0],
83
- setMapZoom = _useState8[1];
84
- var _useState9 = (0, _react.useState)([]),
84
+ rows = _useState8[0],
85
+ setRows = _useState8[1];
86
+ var _useState9 = (0, _react.useState)(DEFAULT_TABS),
85
87
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
86
- rows = _useState10[0],
87
- setRows = _useState10[1];
88
- var _useState11 = (0, _react.useState)(DEFAULT_TABS),
88
+ tabs = _useState10[0],
89
+ setTabs = _useState10[1];
90
+ var _useState11 = (0, _react.useState)(tabs[0]),
89
91
  _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
90
- tabs = _useState12[0],
91
- setTabs = _useState12[1];
92
- var _useState13 = (0, _react.useState)(tabs[0]),
92
+ selectedTab = _useState12[0],
93
+ setSelectedTab = _useState12[1];
94
+ var _useState13 = (0, _react.useState)(getPathogen()),
93
95
  _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
94
- selectedTab = _useState14[0],
95
- setSelectedTab = _useState14[1];
96
+ selectedPathogen = _useState14[0],
97
+ setSelectedPathogen = _useState14[1];
96
98
  var _useKandoFetch = (0, _useKandoFetch2.default)(fetchUrl(convertTabNameToParam(selectedTab))),
97
99
  data = _useKandoFetch.data,
98
100
  isFetching = _useKandoFetch.isFetching,
@@ -149,11 +151,7 @@ var WbeDashboardPage = function WbeDashboardPage() {
149
151
  sortable: true,
150
152
  cell: function cell(row) {
151
153
  return /*#__PURE__*/_react.default.createElement("div", {
152
- "data-tag": "allowRowEvents",
153
- style: {
154
- textAlign: 'center',
155
- width: '100%'
156
- }
154
+ "data-tag": "allowRowEvents"
157
155
  }, row.nvl);
158
156
  }
159
157
  }, {
@@ -196,22 +194,12 @@ var WbeDashboardPage = function WbeDashboardPage() {
196
194
  return /*#__PURE__*/_react.default.createElement("div", {
197
195
  "data-tag": "allowRowEvents"
198
196
  }, /*#__PURE__*/_react.default.createElement(_GraphWrapper.GraphWrapper, {
197
+ key: row.id,
199
198
  row: row,
200
- water_authority_id: getWAId()
199
+ water_authority_id: getWAId(),
200
+ pathogen: selectedPathogen
201
201
  }));
202
202
  }
203
- }, {
204
- name: _i18n.default.t('components.wbe_dashboard.tag'),
205
- selector: function selector(row) {
206
- return row.tags;
207
- },
208
- sortable: true,
209
- cell: function cell(row) {
210
- return /*#__PURE__*/_react.default.createElement("div", {
211
- "data-tag": "allowRowEvents",
212
- className: 'table-tags'
213
- }, row.tags.join(', '));
214
- }
215
203
  }, {
216
204
  name: _i18n.default.t('components.wbe_dashboard.population'),
217
205
  selector: function selector(row) {
@@ -224,7 +212,7 @@ var WbeDashboardPage = function WbeDashboardPage() {
224
212
  }, (0, _ThousandsToK.kFormatter)(parseInt(row.population)));
225
213
  }
226
214
  }];
227
- }, [isRtl]);
215
+ }, [isRtl, selectedPathogen]);
228
216
  var initializeMapAreas = function initializeMapAreas(areas) {
229
217
  var mappedWithColor = areas.map(function (a) {
230
218
  a.wbe_dashboard_name = a.name;
@@ -265,7 +253,6 @@ var WbeDashboardPage = function WbeDashboardPage() {
265
253
  return state.global_data.waterAuthorityId;
266
254
  });
267
255
  var dir = navContext.locale === 'he' ? _reactDataTableComponent.Direction.RTL : _reactDataTableComponent.Direction.LTR;
268
- var tags = [_i18n.default.t('components.wbe_dashboard.all') + ' ', 'דסק ערבי', 'דסק חרדי', 'דסק כללי'];
269
256
  var filterResultsAndSetRows = function filterResultsAndSetRows(text) {
270
257
  var results = currentData.filter(function (el) {
271
258
  return el.name.toLowerCase().includes(text.toLowerCase());
@@ -279,13 +266,13 @@ var WbeDashboardPage = function WbeDashboardPage() {
279
266
  var waterAuthorityName = (0, _reactRedux.useSelector)(function (state) {
280
267
  return state.global_data.waterAuthorityName;
281
268
  });
282
- var handleSelectTagClick = function handleSelectTagClick(tag) {
283
- (0, _Analytics.analyticsTrack)('WBE Status Report - Tag change clicked', {
284
- tag: tag,
269
+ var handleSelectPathogenClick = function handleSelectPathogenClick(pathogen) {
270
+ (0, _Analytics.analyticsTrack)('WBE Status Report - Pathogen change clicked', {
271
+ pathogen: pathogen,
285
272
  utility_name: waterAuthorityName
286
273
  });
287
- setSelectedTag(tag);
288
- history.push("/wbe_dashboard/index?locale=".concat(navContext.locale, "&water_authority_id=").concat(waterAuthorityId, "&tag=").concat(tag));
274
+ setSelectedPathogen(pathogen);
275
+ history.push("/wbe_dashboard/index?locale=".concat(navContext.locale, "&water_authority_id=").concat(waterAuthorityId, "&pathogen=").concat(pathogen));
289
276
  };
290
277
  var fetchForTabSelection = function fetchForTabSelection(tab) {
291
278
  setFetching(true);
@@ -341,23 +328,28 @@ var WbeDashboardPage = function WbeDashboardPage() {
341
328
  if (!isFetching && data !== null) {
342
329
  initializeComponent();
343
330
  }
344
- }, [isFetching, selectedTag, data]);
345
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", null, _i18n.default.t('components.wbe_dashboard.table_name')), /*#__PURE__*/_react.default.createElement(ActionsContainer, null, waterAuthorityId === WBEIsraelId && /*#__PURE__*/_react.default.createElement(_DropdownButton.default, {
331
+ }, [isFetching, selectedPathogen, data]);
332
+ var pathogenTitle = pathogens.find(function (item) {
333
+ return item.toLowerCase() === selectedPathogen.toLowerCase();
334
+ });
335
+ var dropDownTitle = pathogenTitle || _i18n.default.t('components.wbe_dashboard.pathogen_not_found');
336
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", null, "".concat(_i18n.default.t('components.wbe_dashboard.table_name'), " (").concat(pathogenTitle || getPathogen(), ")")), /*#__PURE__*/_react.default.createElement(ActionsContainer, null, pathogens.length > 1 && /*#__PURE__*/_react.default.createElement(_DropdownButton.default, {
346
337
  id: "dropdown-basic-button",
347
338
  className: 'button button--sort',
348
- title: selectedTag + ' ',
339
+ title: dropDownTitle + ' ',
349
340
  variant: "secondary"
350
- }, tags.map(function (tag) {
341
+ }, pathogens.map(function (pathogen) {
351
342
  return /*#__PURE__*/_react.default.createElement(_Dropdown.default.Item, {
352
343
  href: "#",
353
344
  onClick: function onClick() {
354
- return handleSelectTagClick(tag);
345
+ return handleSelectPathogenClick(pathogen);
355
346
  },
356
347
  style: {
357
348
  textAlign: navContext.locale === 'he' ? 'right' : 'left'
358
349
  }
359
- }, tag);
350
+ }, pathogen);
360
351
  })))), /*#__PURE__*/_react.default.createElement(FirstSection, null, /*#__PURE__*/_react.default.createElement(_WbeSummaryBar.WbeSummaryBar, {
352
+ pathogen: selectedPathogen,
361
353
  waterAuthorityId: waterAuthorityId,
362
354
  isRtl: isRtl
363
355
  })), /*#__PURE__*/_react.default.createElement(SecondSection, null, /*#__PURE__*/_react.default.createElement(_SearchInput.SearchInput, {
@@ -377,11 +369,9 @@ var WbeDashboardPage = function WbeDashboardPage() {
377
369
  areaToCenterBy: mapZoom,
378
370
  edges: [],
379
371
  points: [],
380
- events: [],
381
372
  global_data: globalData,
382
373
  mapBoxStyle: MAPBOX_WBE_DASHBOARD_STYLE
383
374
  }))), !isFetching && rows !== null && /*#__PURE__*/_react.default.createElement(_KandoTable.KandoTable, {
384
- isRtl: isRtl,
385
375
  onRowExpandToggled: handleOnRowExpand,
386
376
  data: rows,
387
377
  columns: columns,
@@ -389,6 +379,9 @@ var WbeDashboardPage = function WbeDashboardPage() {
389
379
  expandableRows: true,
390
380
  paginationPerPage: TABLE_ROWS_PER_PAGE,
391
381
  rowComponent: _ExpandableComponent.ExpandedComponent,
382
+ expandableRowsComponentProps: {
383
+ pathogen: selectedPathogen
384
+ },
392
385
  defaultSortFieldId: 3
393
386
  })))));
394
387
  };
@@ -414,9 +407,9 @@ var SecondSection = _styledComponents.default.div.withConfig({
414
407
  var MapTableContainer = _styledComponents.default.div.withConfig({
415
408
  displayName: "WbeDashboardPage__MapTableContainer",
416
409
  componentId: "sc-14f81cv-4"
417
- })(["display:flex;justify-content:start;flex-direction:row-reverse;.map-container{width:unset !important;.event-timerange{display:none;}#map{height:69vh;width:30vw;}}[data-testid='kando-table']{width:100%;}[data-column-id='1']{justify-content:flex-start !important;overflow:visible;position:relative;cursor:pointer;&:hover{.name{color:white !important;}.expandable-icon{width:calc(120px + 1vw);transition:0.2s cubic-bezier(0.65,0.05,0.36,1);}}}.table-tags{text-align:center;}.spinner-container{width:100%;display:flex;justify-content:center;}"]);
410
+ })(["display:flex;justify-content:start;flex-direction:row-reverse;.map-container{width:unset !important;.event-timerange{display:none;}#map{height:69vh;width:30vw;}}[data-testid='kando-table']{width:100%;}[data-column-id='1']{justify-content:flex-start !important;overflow:visible;position:relative;cursor:pointer;&:hover{.name{color:white !important;}.expandable-icon{width:calc(120px + 1vw);transition:0.2s cubic-bezier(0.65,0.05,0.36,1);}}}.spinner-container{width:100%;display:flex;justify-content:center;}"]);
418
411
  var Content = _styledComponents.default.div.withConfig({
419
412
  displayName: "WbeDashboardPage__Content",
420
413
  componentId: "sc-14f81cv-5"
421
414
  })(["@media (max-width:576px){padding:20px;}h1{font-weight:bold;}padding:60px 60px;"]);
422
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9BbmFseXRpY3MiLCJfU2VhcmNoSW5wdXQiLCJfcmVhY3RGb250YXdlc29tZSIsIl9HcmFwaFdyYXBwZXIiLCJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJfYWN0aW9ucyIsIl9UaG91c2FuZHNUb0siLCJfRHJpbGxEb3duSWNvbiIsIl9CYXNlTGV2ZWwiLCJfcmVhY3REYXRhVGFibGVDb21wb25lbnQiLCJfbnZsU3RhdHVzSGVscGVyIiwiX01hcCIsIl9LYW5kb1RhYmxlIiwiX1RhYnMiLCJfdXNlS2FuZG9GZXRjaDIiLCJfdXNlUXVlcnlVUkwiLCJfRHJvcGRvd24iLCJfRHJvcGRvd25CdXR0b24iLCJfYXhpb3MiLCJfVHJ1bmNhdGUiLCJfRXhwYW5kYWJsZUNvbXBvbmVudCIsIl9TcGlubmVyIiwiX1diZVN1bW1hcnlCYXIiLCJfRXJyb3JCb3VuZGFyeSIsIl90aGVtZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiVEFCTEVfUk9XU19QRVJfUEFHRSIsIk1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFIiwiV0JFSXNyYWVsSWQiLCJleHBvcnRzIiwiV2JlRGFzaGJvYXJkUGFnZSIsImdldFdBSWQiLCJxdWVyeSIsImZldGNoVXJsIiwiZmlyc3RQYXJhbSIsImNvbmNhdCIsImdldFRhZyIsIkRFRkFVTFRfVEFCUyIsImkxOG4iLCJ0IiwiY29udmVydFRhYk5hbWVUb1BhcmFtIiwidGFiX25hbWUiLCJ1c2VRdWVyeVVSTCIsImRlZmF1bHRUYWciLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJjdXJyZW50RGF0YSIsInNldEN1cnJlbnREYXRhIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWxlY3RlZFRhZyIsInNldFNlbGVjdGVkVGFnIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJtYXBBcmVhcyIsInNldE1hcEFyZWFzIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJtYXBab29tIiwic2V0TWFwWm9vbSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsInJvd3MiLCJzZXRSb3dzIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInRhYnMiLCJzZXRUYWJzIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInNlbGVjdGVkVGFiIiwic2V0U2VsZWN0ZWRUYWIiLCJfdXNlS2FuZG9GZXRjaCIsInVzZUthbmRvRmV0Y2giLCJkYXRhIiwiaXNGZXRjaGluZyIsInNldEZldGNoaW5nIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIm5hdkNvbnRleHQiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsImdsb2JhbERhdGEiLCJnbG9iYWxfZGF0YSIsImlzUnRsIiwibG9jYWxlIiwiY29sb3JGb3JSb3ciLCJyb3ciLCJxdWFsaXR5Iiwic2FtcGxlX2FjdGl2ZSIsImlzSW5mZWN0ZWQiLCJudmwiLCJjb2x1bW5zIiwiUmVhY3QiLCJ1c2VNZW1vIiwibmFtZSIsInNlbGVjdG9yIiwic29ydGFibGUiLCJjZWxsIiwiY3JlYXRlRWxlbWVudCIsIlJvd05hbWUiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwiaGFuZGxlQXJlYUNsaWNrIiwiaGFzX2NoaWxkcmVuIiwiUmVhY3RDb21wb25lbnQiLCJjaGFyYWN0ZXJzIiwiaW5oZXJpdFRleHRBbGlnbiIsInN0eWxlIiwidGV4dEFsaWduIiwid2lkdGgiLCJudmxfY2hhbmdlIiwiZGlyZWN0aW9uIiwiY29sb3IiLCJtYXJnaW4iLCJGb250QXdlc29tZUljb24iLCJpY29uIiwiZmFDaGV2cm9uVXAiLCJmYUNoZXZyb25Eb3duIiwibGFzdF91cGRhdGVkIiwiRGF0ZSIsInRvTG9jYWxlRGF0ZVN0cmluZyIsIkdyYXBoV3JhcHBlciIsIndhdGVyX2F1dGhvcml0eV9pZCIsInRhZ3MiLCJqb2luIiwicG9wdWxhdGlvbiIsImtGb3JtYXR0ZXIiLCJwYXJzZUludCIsImluaXRpYWxpemVNYXBBcmVhcyIsImFyZWFzIiwibWFwcGVkV2l0aENvbG9yIiwibWFwIiwiYSIsIndiZV9kYXNoYm9hcmRfbmFtZSIsInNob3dDb2xvck9ubHlJbkJvcmRlcnMiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm42MCIsIlIxMDAiLCJHMTAwIiwiem9vbVRvQXJlYSIsImFyZWEiLCJzaGFwZV9kYXRhIiwidW5kZWZpbmVkIiwiem9vbUFsbEFyZWFzIiwic2hhcGVEYXRhIiwiZGF0dW0iLCJsZXZlbE5WTCIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5Iiwid2F0ZXJBdXRob3JpdHlJZCIsImRpciIsIkRpcmVjdGlvbiIsIlJUTCIsIkxUUiIsImZpbHRlclJlc3VsdHNBbmRTZXRSb3dzIiwidGV4dCIsInJlc3VsdHMiLCJmaWx0ZXIiLCJlbCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJoYW5kbGVPblJvd0V4cGFuZCIsImV4cGFuZGVkIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiaGFuZGxlU2VsZWN0VGFnQ2xpY2siLCJ0YWciLCJhbmFseXRpY3NUcmFjayIsInV0aWxpdHlfbmFtZSIsInB1c2giLCJmZXRjaEZvclRhYlNlbGVjdGlvbiIsInRhYiIsImF4aW9zIiwidGhlbiIsInJlc3BvbnNlIiwicmVzcG9uc2VEYXRhIiwiaGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2siLCJpbml0aWFsaXplRHJpbGxlZEFyZWEiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiaWQiLCJpbml0aWFsaXplQ29tcG9uZW50IiwidXBkYXRlTmF2Q29udGV4dCIsInVzZUVmZmVjdCIsIkZyYWdtZW50IiwiQ29udGVudCIsIkFjdGlvbnNDb250YWluZXIiLCJ0aXRsZSIsInZhcmlhbnQiLCJJdGVtIiwiaHJlZiIsIkZpcnN0U2VjdGlvbiIsIldiZVN1bW1hcnlCYXIiLCJTZWNvbmRTZWN0aW9uIiwiU2VhcmNoSW5wdXQiLCJvbkNoYW5nZUJlaGF2aW9yIiwiVGFicyIsImhhbmRsZU9uQ2xpY2siLCJNYXBUYWJsZUNvbnRhaW5lciIsIlNwaW5uZXIiLCJNYXAiLCJhcmVhVG9DZW50ZXJCeSIsImVkZ2VzIiwicG9pbnRzIiwiZXZlbnRzIiwibWFwQm94U3R5bGUiLCJLYW5kb1RhYmxlIiwib25Sb3dFeHBhbmRUb2dnbGVkIiwiZXhwYW5kYWJsZVJvd3MiLCJwYWdpbmF0aW9uUGVyUGFnZSIsInJvd0NvbXBvbmVudCIsIkV4cGFuZGVkQ29tcG9uZW50IiwiZGVmYXVsdFNvcnRGaWVsZElkIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1diZURhc2hib2FyZC9XYmVEYXNoYm9hcmRQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICcuL1NlYXJjaElucHV0JztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBHcmFwaFdyYXBwZXIgfSBmcm9tICcuL0dyYXBoV3JhcHBlcic7XG5pbXBvcnQgeyBmYUNoZXZyb25Eb3duLCBmYUNoZXZyb25VcCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgdXBkYXRlTmF2Q29udGV4dCB9IGZyb20gJy4uLy4uL3N0b3JlL2NvbnRleHQvYWN0aW9ucyc7XG5pbXBvcnQgeyBrRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL1Rob3VzYW5kc1RvSyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBEcmlsbERvd25JY29uIH0gZnJvbSAnLi9EcmlsbERvd25JY29uLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBCYXNlTGV2ZWwgfSBmcm9tICcuL0Jhc2VMZXZlbC5zdmcnO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAncmVhY3QtZGF0YS10YWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgbGV2ZWxOVkwgfSBmcm9tICcuLi9Db3ZpZFBhZ2UvY29tcG9uZW50cy9udmxTdGF0dXNIZWxwZXInO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnLi4vLi4vV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IEthbmRvVGFibGUgfSBmcm9tICdzcmMvdWkta2l0L0thbmRvVGFibGUvS2FuZG9UYWJsZSc7XG5pbXBvcnQgeyBUYWJzIH0gZnJvbSAnLi9UYWJzJztcbmltcG9ydCB1c2VLYW5kb0ZldGNoIGZyb20gJy4uLy4uL2hvb2tzL3VzZUthbmRvRmV0Y2gnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IERyb3Bkb3duIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd24nO1xuaW1wb3J0IERyb3Bkb3duQnV0dG9uIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd25CdXR0b24nO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBUcnVuY2F0ZSBmcm9tICcuLi8uLi91dGlsaXRpZXMvVHJ1bmNhdGUnO1xuaW1wb3J0IHsgRXhwYW5kZWRDb21wb25lbnQgfSBmcm9tICcuL0V4cGFuZGFibGVDb21wb25lbnQnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IFdiZVN1bW1hcnlCYXIgfSBmcm9tICcuL1diZVN1bW1hcnlCYXInO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuY29uc3QgVEFCTEVfUk9XU19QRVJfUEFHRSA9IDI1O1xuY29uc3QgTUFQQk9YX1dCRV9EQVNIQk9BUkRfU1RZTEUgPSAnY2t6emtqc2k3MDA1ZjE0bzlpbTBtY3pzOSc7XG5cbmV4cG9ydCBjb25zdCBXQkVJc3JhZWxJZCA9IDQ2MztcbmV4cG9ydCBjb25zdCBXYmVEYXNoYm9hcmRQYWdlID0gKCkgPT4ge1xuICBjb25zdCBnZXRXQUlkID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3dhdGVyX2F1dGhvcml0eV9pZCcpO1xuICB9O1xuICBjb25zdCBmZXRjaFVybCA9IChmaXJzdFBhcmFtKSA9PiB7XG4gICAgcmV0dXJuIGAvYXBpX3VpL3diZV9kYXNoYm9hcmQvJHtmaXJzdFBhcmFtfT93YXRlcl9hdXRob3JpdHlfaWQ9JHtnZXRXQUlkKCl9JnRhZz0ke2dldFRhZygpfWA7XG4gIH07XG4gIGNvbnN0IERFRkFVTFRfVEFCUyA9IFtcbiAgICBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jaXRpZXMnKSxcbiAgICBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5tb25pdG9yZWRfYXJlYXMnKSxcbiAgXTtcbiAgY29uc3QgY29udmVydFRhYk5hbWVUb1BhcmFtID0gKHRhYl9uYW1lOiBzdHJpbmcpID0+IHtcbiAgICBpZiAodGFiX25hbWUgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmNpdGllcycpKSB7XG4gICAgICByZXR1cm4gJ2NpdHknO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0YWJfbmFtZSA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJylcbiAgICApIHtcbiAgICAgIHJldHVybiAnbW9uaXRvcmVkJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ2NpdHknO1xuICB9O1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGdldFRhZyA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd0YWcnKTtcbiAgfTtcbiAgY29uc3QgZGVmYXVsdFRhZyA9XG4gICAgZ2V0VGFnKCkgPT09IG51bGwgPyBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5hbGwnKSA6IGdldFRhZygpO1xuICBjb25zdCBbY3VycmVudERhdGEsIHNldEN1cnJlbnREYXRhXSA9IHVzZVN0YXRlKFtdKTtcbiAgY29uc3QgW3NlbGVjdGVkVGFnLCBzZXRTZWxlY3RlZFRhZ10gPSB1c2VTdGF0ZTxzdHJpbmc+KGRlZmF1bHRUYWchKTtcbiAgY29uc3QgW21hcEFyZWFzLCBzZXRNYXBBcmVhc10gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbbWFwWm9vbSwgc2V0TWFwWm9vbV0gPSB1c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbcm93cywgc2V0Um93c10gPSB1c2VTdGF0ZTxhbnk+KFtdKTtcbiAgY29uc3QgW3RhYnMsIHNldFRhYnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KERFRkFVTFRfVEFCUyk7XG4gIGNvbnN0IFtzZWxlY3RlZFRhYiwgc2V0U2VsZWN0ZWRUYWJdID0gdXNlU3RhdGU8c3RyaW5nPih0YWJzWzBdKTtcbiAgY29uc3QgeyBkYXRhLCBpc0ZldGNoaW5nLCBzZXRGZXRjaGluZyB9ID0gdXNlS2FuZG9GZXRjaChcbiAgICBmZXRjaFVybChjb252ZXJ0VGFiTmFtZVRvUGFyYW0oc2VsZWN0ZWRUYWIpKSxcbiAgKTtcblxuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG4gIGNvbnN0IGdsb2JhbERhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5nbG9iYWxfZGF0YSxcbiAgKTtcbiAgY29uc3QgaXNSdGw6IGJvb2xlYW4gPSBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/IHRydWUgOiBmYWxzZTtcbiAgY29uc3QgY29sb3JGb3JSb3cgPSAocm93KSA9PiB7XG4gICAgbGV0IHF1YWxpdHk7XG4gICAgaWYgKCFyb3cuc2FtcGxlX2FjdGl2ZSkge1xuICAgICAgcXVhbGl0eSA9ICdpbmFjdGl2ZS1zYW1wbGluZyc7XG4gICAgfSBlbHNlIGlmIChpc0luZmVjdGVkKHJvdy5udmwpKSB7XG4gICAgICBxdWFsaXR5ID0gJ2luZmVjdGVkJztcbiAgICB9IGVsc2Uge1xuICAgICAgcXVhbGl0eSA9ICdjbGVhbic7XG4gICAgfVxuXG4gICAgcmV0dXJuIGByb3dfbmFtZS0tJHtxdWFsaXR5fWA7XG4gIH07XG4gIGNvbnN0IGNvbHVtbnM6IGFueSA9IFJlYWN0LnVzZU1lbW8oXG4gICAgKCkgPT4gW1xuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5uYW1lJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubmFtZSxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgbmFtZTogc3RyaW5nOyBudmw6IG51bWJlcjsgaGFzX2NoaWxkcmVuOiBib29sZWFuIH0pID0+IChcbiAgICAgICAgICA8Um93TmFtZSBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgcm93X25hbWUgJHtjb2xvckZvclJvdyhyb3cpfWB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVBcmVhQ2xpY2socm93KTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydleHBhbmRhYmxlLWljb24nfT5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIHtyb3cuaGFzX2NoaWxkcmVuICYmIDxEcmlsbERvd25JY29uIC8+fVxuICAgICAgICAgICAgICAgICAgeyFyb3cuaGFzX2NoaWxkcmVuICYmIDxCYXNlTGV2ZWwgLz59XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnbmFtZSd9PlxuICAgICAgICAgICAgICAgIDxUcnVuY2F0ZSBjaGFyYWN0ZXJzPXszfSBpbmhlcml0VGV4dEFsaWduPXt0cnVlfT5cbiAgICAgICAgICAgICAgICAgIHtyb3cubmFtZX1cbiAgICAgICAgICAgICAgICA8L1RydW5jYXRlPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1Jvd05hbWU+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5udmxfc2NvcmUnKSxcbiAgICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5udmwsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG52bDogbnVtYmVyIH0pID0+IChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyb3cubnZsfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQucGVyY2VudGFnZV9mcm9tX2xhc3Rfc2FtcGxpbmcnKSxcbiAgICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5udmxfY2hhbmdlLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBudmxfY2hhbmdlOiBudW1iZXIgfSkgPT4gKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgY29sb3I6ICcjMDAwMDAwJywgbWFyZ2luOiAnMCA2cHgnIH19PlxuICAgICAgICAgICAgICB7cm93Lm52bF9jaGFuZ2V9JVxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIDxGb250QXdlc29tZUljb25cbiAgICAgICAgICAgICAgICBpY29uPXtyb3cubnZsX2NoYW5nZSA+IDAgPyBmYUNoZXZyb25VcCA6IGZhQ2hldnJvbkRvd259XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5sYXN0X3NhbXBsZWQnKSxcbiAgICAgICAgc2VsZWN0b3I6ICdsYXN0X3NhbXBsZWQnLFxuICAgICAgICBzb3J0YWJsZTogKHJvdykgPT4gcm93Lmxhc3RfdXBkYXRlZCxcbiAgICAgICAgY2VsbDogKHJvdzogeyBsYXN0X3VwZGF0ZWQ6IHN0cmluZyB9KSA9PiAoXG4gICAgICAgICAgPGRpdiBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCI+XG4gICAgICAgICAgICB7cm93Lmxhc3RfdXBkYXRlZCA9PT0gbnVsbFxuICAgICAgICAgICAgICA/ICctJ1xuICAgICAgICAgICAgICA6IG5ldyBEYXRlKHJvdy5sYXN0X3VwZGF0ZWQpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tR0InKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnRyZW5kX2dyYXBoJyksXG4gICAgICAgIHNlbGVjdG9yOiAndHJlbmRfZ3JhcGgnLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBpZDogbnVtYmVyIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIDxHcmFwaFdyYXBwZXIgcm93PXtyb3d9IHdhdGVyX2F1dGhvcml0eV9pZD17Z2V0V0FJZCgpfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQudGFnJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cudGFncyxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgdGFnczogYW55IH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIiBjbGFzc05hbWU9eyd0YWJsZS10YWdzJ30+XG4gICAgICAgICAgICB7cm93LnRhZ3Muam9pbignLCAnKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnBvcHVsYXRpb24nKSxcbiAgICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5wb3B1bGF0aW9uLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBwb3B1bGF0aW9uOiBzdHJpbmcgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPlxuICAgICAgICAgICAge2tGb3JtYXR0ZXIocGFyc2VJbnQocm93LnBvcHVsYXRpb24pKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbaXNSdGxdLFxuICApO1xuXG4gIGNvbnN0IGluaXRpYWxpemVNYXBBcmVhcyA9IChhcmVhcykgPT4ge1xuICAgIGNvbnN0IG1hcHBlZFdpdGhDb2xvciA9IGFyZWFzLm1hcCgoYTogYW55KSA9PiB7XG4gICAgICBhLndiZV9kYXNoYm9hcmRfbmFtZSA9IGEubmFtZTtcbiAgICAgIGEuc2hvd0NvbG9yT25seUluQm9yZGVycyA9IHRydWU7XG5cbiAgICAgIGlmICghYS5zYW1wbGVfYWN0aXZlKSB7XG4gICAgICAgIGEuY29sb3IgPSB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MDtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0luZmVjdGVkKGEubnZsKSkge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5SMTAwO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGEuY29sb3IgPSB0aGVtZS5jb2xvclNjaGVtZS5kYXRhLkcxMDA7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc2V0TWFwQXJlYXMobWFwcGVkV2l0aENvbG9yKTtcbiAgfTtcblxuICBjb25zdCB6b29tVG9BcmVhID0gKGFyZWEpID0+IHtcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJiBzZXRNYXBab29tKGFyZWEuc2hhcGVfZGF0YSk7XG4gIH07XG5cbiAgY29uc3Qgem9vbUFsbEFyZWFzID0gKGRhdGEpID0+IHtcbiAgICBjb25zdCBzaGFwZURhdGEgPSBkYXRhLm1hcCgoZGF0dW0pID0+IHtcbiAgICAgIHJldHVybiBkYXR1bS5zaGFwZV9kYXRhO1xuICAgIH0pO1xuXG4gICAgc2V0TWFwWm9vbShzaGFwZURhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGlzSW5mZWN0ZWQgPSAobnZsOiBudW1iZXIpID0+IHtcbiAgICBpZiAobGV2ZWxOVkwobnZsKSA9PT0gJ2NsZWFuJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsZXZlbE5WTChudmwpID09PSAnbG93JyB8fFxuICAgICAgbGV2ZWxOVkwobnZsKSA9PT0gJ21lZGl1bScgfHxcbiAgICAgIGxldmVsTlZMKG52bCkgPT09ICdoaWdoJ1xuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9O1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT5cbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG5cbiAgY29uc3QgZGlyOiBEaXJlY3Rpb24gPVxuICAgIG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gRGlyZWN0aW9uLlJUTCA6IERpcmVjdGlvbi5MVFI7XG5cbiAgY29uc3QgdGFncyA9IFtcbiAgICBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5hbGwnKSArICcgJyxcbiAgICAn15PXodenINei16jXkdeZJyxcbiAgICAn15PXodenINeX16jXk9eZJyxcbiAgICAn15PXodenINeb15zXnNeZJyxcbiAgXTtcblxuICBjb25zdCBmaWx0ZXJSZXN1bHRzQW5kU2V0Um93cyA9ICh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICBsZXQgcmVzdWx0cyA9IGN1cnJlbnREYXRhLmZpbHRlcihmdW5jdGlvbiAoZWw6IGFueSkge1xuICAgICAgcmV0dXJuIGVsLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXh0LnRvTG93ZXJDYXNlKCkpO1xuICAgIH0pO1xuXG4gICAgc2V0Um93cyhyZXN1bHRzKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVPblJvd0V4cGFuZCA9IChleHBhbmRlZCwgcm93KSA9PiB7XG4gICAgZXhwYW5kZWQgJiYgem9vbVRvQXJlYShyb3cpO1xuICAgICFleHBhbmRlZCAmJiB6b29tQWxsQXJlYXMoZGF0YSk7XG4gIH07XG5cbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlOYW1lID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0VGFnQ2xpY2sgPSAodGFnKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1dCRSBTdGF0dXMgUmVwb3J0IC0gVGFnIGNoYW5nZSBjbGlja2VkJywge1xuICAgICAgdGFnOiB0YWcsXG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBzZXRTZWxlY3RlZFRhZyh0YWcpO1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvd2JlX2Rhc2hib2FyZC9pbmRleD9sb2NhbGU9JHtuYXZDb250ZXh0LmxvY2FsZX0md2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2F0ZXJBdXRob3JpdHlJZH0mdGFnPSR7dGFnfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBmZXRjaEZvclRhYlNlbGVjdGlvbiA9ICh0YWIpID0+IHtcbiAgICBzZXRGZXRjaGluZyh0cnVlKTtcbiAgICBheGlvcy5nZXQoZmV0Y2hVcmwodGFiKSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgIGxldCByZXNwb25zZURhdGEgPSByZXNwb25zZS5kYXRhLmRhdGE7XG5cbiAgICAgIHNldEZldGNoaW5nKGZhbHNlKTtcbiAgICAgIHNldFRhYnMoREVGQVVMVF9UQUJTKTtcbiAgICAgIHNldFJvd3MocmVzcG9uc2VEYXRhKTtcbiAgICAgIHNldEN1cnJlbnREYXRhKHJlc3BvbnNlRGF0YSk7XG4gICAgICBpbml0aWFsaXplTWFwQXJlYXMocmVzcG9uc2VEYXRhKTtcbiAgICAgIHpvb21BbGxBcmVhcyhyZXNwb25zZURhdGEpO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVRhYlNlbGVjdGlvbkNsaWNrID0gKHRhYikgPT4ge1xuICAgIGlmICghaXNGZXRjaGluZykge1xuICAgICAgc2V0U2VsZWN0ZWRUYWIodGFiKTtcblxuICAgICAgaWYgKHRhYiAhPT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY3VzdG9tJykpIHtcbiAgICAgICAgdGFiID1cbiAgICAgICAgICB0YWIgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmNpdGllcycpXG4gICAgICAgICAgICA/ICdjaXR5J1xuICAgICAgICAgICAgOiB0YWIgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLm1vbml0b3JlZF9hcmVhcycpXG4gICAgICAgICAgICA/ICdtb25pdG9yZWQnXG4gICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgIGZldGNoRm9yVGFiU2VsZWN0aW9uKHRhYik7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGluaXRpYWxpemVEcmlsbGVkQXJlYSA9IChyZXNwb25zZSkgPT4ge1xuICAgIGxldCBkYXRhID0gcmVzcG9uc2UuZGF0YS5kYXRhO1xuICAgIHNldFJvd3MoZGF0YSk7XG4gICAgc2V0Q3VycmVudERhdGEoZGF0YSk7XG4gICAgaW5pdGlhbGl6ZU1hcEFyZWFzKGRhdGEpO1xuICAgIHpvb21BbGxBcmVhcyhkYXRhKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVBcmVhQ2xpY2sgPSAoYXJlYSkgPT4ge1xuICAgIHpvb21Ub0FyZWEoYXJlYSk7XG5cbiAgICBpZiAoYXJlYS5oYXNfY2hpbGRyZW4pIHtcbiAgICAgIHNldFRhYnMoWy4uLnRhYnMsIGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmN1c3RvbScpXSk7XG4gICAgICBzZXRTZWxlY3RlZFRhYihpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jdXN0b20nKSk7XG5cbiAgICAgIGF4aW9zLmdldChmZXRjaFVybChhcmVhLmlkKSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaW5pdGlhbGl6ZURyaWxsZWRBcmVhKHJlc3BvbnNlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBpbml0aWFsaXplQ29tcG9uZW50ID0gKCkgPT4ge1xuICAgIHNldEN1cnJlbnREYXRhKGRhdGEpO1xuICAgIHNldFJvd3MoZGF0YSk7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1dCRSBTdGF0dXMgUmVwb3J0Jywge1xuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgZGlzcGF0Y2godXBkYXRlTmF2Q29udGV4dCh7IG5hbWU6ICd3YmVfZGFzaGJvYXJkJyB9KSk7XG4gICAgaW5pdGlhbGl6ZU1hcEFyZWFzKGRhdGEpO1xuICAgIHpvb21BbGxBcmVhcyhkYXRhKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNGZXRjaGluZyAmJiBkYXRhICE9PSBudWxsKSB7XG4gICAgICBpbml0aWFsaXplQ29tcG9uZW50KCk7XG4gICAgfVxuICB9LCBbaXNGZXRjaGluZywgc2VsZWN0ZWRUYWcsIGRhdGFdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8Q29udGVudD5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDE+e2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnRhYmxlX25hbWUnKX08L2gxPlxuICAgICAgICAgIDxBY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICAgICAge3dhdGVyQXV0aG9yaXR5SWQgPT09IFdCRUlzcmFlbElkICYmIChcbiAgICAgICAgICAgICAgPERyb3Bkb3duQnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJkcm9wZG93bi1iYXNpYy1idXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2J1dHRvbiBidXR0b24tLXNvcnQnfVxuICAgICAgICAgICAgICAgIHRpdGxlPXtzZWxlY3RlZFRhZyArICcgJ31cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0YWdzLm1hcCgodGFnKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8RHJvcGRvd24uSXRlbVxuICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVTZWxlY3RUYWdDbGljayh0YWcpfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gJ3JpZ2h0JyA6ICdsZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3RhZ31cbiAgICAgICAgICAgICAgICAgICAgPC9Ecm9wZG93bi5JdGVtPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9Ecm9wZG93bkJ1dHRvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9BY3Rpb25zQ29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPEZpcnN0U2VjdGlvbj5cbiAgICAgICAgICA8V2JlU3VtbWFyeUJhciB3YXRlckF1dGhvcml0eUlkPXt3YXRlckF1dGhvcml0eUlkfSBpc1J0bD17aXNSdGx9IC8+XG4gICAgICAgIDwvRmlyc3RTZWN0aW9uPlxuXG4gICAgICAgIDxTZWNvbmRTZWN0aW9uPlxuICAgICAgICAgIDxTZWFyY2hJbnB1dCBvbkNoYW5nZUJlaGF2aW9yPXtmaWx0ZXJSZXN1bHRzQW5kU2V0Um93c30gLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3RhYnMtY29udGFpbmVyJ30+XG4gICAgICAgICAgICA8VGFic1xuICAgICAgICAgICAgICB0YWJzPXt0YWJzfVxuICAgICAgICAgICAgICBzZWxlY3RlZFRhYj17c2VsZWN0ZWRUYWJ9XG4gICAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2s9e2hhbmRsZVRhYlNlbGVjdGlvbkNsaWNrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8TWFwVGFibGVDb250YWluZXIgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIHtpc0ZldGNoaW5nICYmIDxTcGlubmVyIC8+fVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydtYXAtY29udGFpbmVyJ30+XG4gICAgICAgICAgICAgIHshaXNGZXRjaGluZyAmJiByb3dzICE9PSBudWxsICYmIG1hcFpvb20gIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICAgICAgICBhcmVhcz17bWFwQXJlYXN9XG4gICAgICAgICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXttYXBab29tfVxuICAgICAgICAgICAgICAgICAgICBlZGdlcz17W119XG4gICAgICAgICAgICAgICAgICAgIHBvaW50cz17W119XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50cz17W119XG4gICAgICAgICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxEYXRhfVxuICAgICAgICAgICAgICAgICAgICBtYXBCb3hTdHlsZT17TUFQQk9YX1dCRV9EQVNIQk9BUkRfU1RZTEV9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgeyFpc0ZldGNoaW5nICYmIHJvd3MgIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgICA8S2FuZG9UYWJsZVxuICAgICAgICAgICAgICAgIGlzUnRsPXtpc1J0bH1cbiAgICAgICAgICAgICAgICBvblJvd0V4cGFuZFRvZ2dsZWQ9e2hhbmRsZU9uUm93RXhwYW5kfVxuICAgICAgICAgICAgICAgIGRhdGE9e3Jvd3N9XG4gICAgICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgICAgICBkaXJlY3Rpb249e2Rpcn1cbiAgICAgICAgICAgICAgICBleHBhbmRhYmxlUm93cz17dHJ1ZX1cbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uUGVyUGFnZT17VEFCTEVfUk9XU19QRVJfUEFHRX1cbiAgICAgICAgICAgICAgICByb3dDb21wb25lbnQ9e0V4cGFuZGVkQ29tcG9uZW50fVxuICAgICAgICAgICAgICAgIGRlZmF1bHRTb3J0RmllbGRJZD17M31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9NYXBUYWJsZUNvbnRhaW5lcj5cbiAgICAgICAgPC9TZWNvbmRTZWN0aW9uPlxuICAgICAgPC9Db250ZW50PlxuICAgIDwvPlxuICApO1xufTtcblxuY29uc3QgUm93TmFtZSA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgICB3aWR0aDogMTAwJTtcbiAgICAgIFxuICAgIC5yb3dfbmFtZSB7XG4gICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjJzIGVhc2UtaW47ICAgICAgXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYtLWNsZWFuIHtcbiAgICAgICAgIGNvbG9yOiAjMjdhNjNhOyBcbiAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzI3YTYzYTsgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0taW5mZWN0ZWQge1xuICAgICAgICAgIGNvbG9yOiAjZTEwMDM2O1xuICAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2UxMDAzNjsgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0taW5hY3RpdmUtc2FtcGxpbmcge1xuICAgICAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbiAgICAgICAgICAuZXhwYW5kYWJsZS1pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9OyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgJHsocCkgPT4gKHAuaXNSdGwgPyAncmlnaHQ6IDUxcHg7JyA6ICdsZWZ0OiA1MXB4OycpfVxuICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICB3aWR0aDogNy41ZW07XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBgO1xuXG5jb25zdCBBY3Rpb25zQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IEZpcnN0U2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbjogODVweCAwIDIwcHggMDtcbmA7XG5cbmNvbnN0IFNlY29uZFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG5gO1xuXG5jb25zdCBNYXBUYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAubWFwLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgLmV2ZW50LXRpbWVyYW5nZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjbWFwIHtcbiAgICAgIGhlaWdodDogNjl2aDtcbiAgICAgIHdpZHRoOiAzMHZ3O1xuICAgIH1cbiAgfVxuICBbZGF0YS10ZXN0aWQ9J2thbmRvLXRhYmxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFtkYXRhLWNvbHVtbi1pZD0nMSddIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6aG92ZXIge1xuICAgICAgLm5hbWUge1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICB3aWR0aDogY2FsYygxMjBweCArIDF2dyk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgY3ViaWMtYmV6aWVyKDAuNjUsIDAuMDUsIDAuMzYsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJsZS10YWdzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuc3Bpbm5lci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgcGFkZGluZzogNjBweCA2MHB4O1xuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxlQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsYUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsa0JBQUEsR0FBQVQsT0FBQTtBQUVBLElBQUFVLFFBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLGFBQUEsR0FBQVgsT0FBQTtBQUEwRCxJQUFBWSxjQUFBLEdBQUFaLE9BQUE7QUFBQSxJQUFBYSxVQUFBLEdBQUFiLE9BQUE7QUFHMUQsSUFBQWMsd0JBQUEsR0FBQWQsT0FBQTtBQUNBLElBQUFlLGdCQUFBLEdBQUFmLE9BQUE7QUFDQSxJQUFBZ0IsSUFBQSxHQUFBaEIsT0FBQTtBQUNBLElBQUFpQixXQUFBLEdBQUFqQixPQUFBO0FBQ0EsSUFBQWtCLEtBQUEsR0FBQWxCLE9BQUE7QUFDQSxJQUFBbUIs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
415
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9BbmFseXRpY3MiLCJfU2VhcmNoSW5wdXQiLCJfcmVhY3RGb250YXdlc29tZSIsIl9HcmFwaFdyYXBwZXIiLCJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJfYWN0aW9ucyIsIl9UaG91c2FuZHNUb0siLCJfRHJpbGxEb3duSWNvbiIsIl9CYXNlTGV2ZWwiLCJfcmVhY3REYXRhVGFibGVDb21wb25lbnQiLCJfbnZsU3RhdHVzSGVscGVyIiwiX01hcCIsIl9LYW5kb1RhYmxlIiwiX1RhYnMiLCJfdXNlS2FuZG9GZXRjaDIiLCJfdXNlUXVlcnlVUkwiLCJfRHJvcGRvd24iLCJfRHJvcGRvd25CdXR0b24iLCJfYXhpb3MiLCJfVHJ1bmNhdGUiLCJfRXhwYW5kYWJsZUNvbXBvbmVudCIsIl9TcGlubmVyIiwiX1diZVN1bW1hcnlCYXIiLCJfRXJyb3JCb3VuZGFyeSIsIl90aGVtZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiVEFCTEVfUk9XU19QRVJfUEFHRSIsIk1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFIiwiV0JFSXNyYWVsSWQiLCJleHBvcnRzIiwiV2JlRGFzaGJvYXJkUGFnZSIsImdldFdBSWQiLCJxdWVyeSIsImZldGNoVXJsIiwiZmlyc3RQYXJhbSIsImNvbmNhdCIsInNlbGVjdGVkUGF0aG9nZW4iLCJERUZBVUxUX1RBQlMiLCJpMThuIiwidCIsImNvbnZlcnRUYWJOYW1lVG9QYXJhbSIsInRhYl9uYW1lIiwidXNlUXVlcnlVUkwiLCJnZXRQYXRob2dlbiIsInBhdGhvZ2VucyIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImN1cnJlbnREYXRhIiwic2V0Q3VycmVudERhdGEiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIm1hcEFyZWFzIiwic2V0TWFwQXJlYXMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIm1hcFpvb20iLCJzZXRNYXBab29tIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJyb3dzIiwic2V0Um93cyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsInRhYnMiLCJzZXRUYWJzIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNlbGVjdGVkVGFiIiwic2V0U2VsZWN0ZWRUYWIiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2V0U2VsZWN0ZWRQYXRob2dlbiIsIl91c2VLYW5kb0ZldGNoIiwidXNlS2FuZG9GZXRjaCIsImRhdGEiLCJpc0ZldGNoaW5nIiwic2V0RmV0Y2hpbmciLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwibmF2Q29udGV4dCIsIm5hdl9jb250ZXh0X2RhdGEiLCJnbG9iYWxEYXRhIiwiZ2xvYmFsX2RhdGEiLCJpc1J0bCIsImxvY2FsZSIsImNvbG9yRm9yUm93Iiwicm93IiwicXVhbGl0eSIsInNhbXBsZV9hY3RpdmUiLCJpc0luZmVjdGVkIiwibnZsIiwiY29sdW1ucyIsIlJlYWN0IiwidXNlTWVtbyIsIm5hbWUiLCJzZWxlY3RvciIsInNvcnRhYmxlIiwiY2VsbCIsImNyZWF0ZUVsZW1lbnQiLCJSb3dOYW1lIiwiY2xhc3NOYW1lIiwib25DbGljayIsImhhbmRsZUFyZWFDbGljayIsImhhc19jaGlsZHJlbiIsIlJlYWN0Q29tcG9uZW50IiwiY2hhcmFjdGVycyIsImluaGVyaXRUZXh0QWxpZ24iLCJudmxfY2hhbmdlIiwic3R5bGUiLCJkaXJlY3Rpb24iLCJjb2xvciIsIm1hcmdpbiIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUNoZXZyb25VcCIsImZhQ2hldnJvbkRvd24iLCJsYXN0X3VwZGF0ZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiR3JhcGhXcmFwcGVyIiwiaWQiLCJ3YXRlcl9hdXRob3JpdHlfaWQiLCJwYXRob2dlbiIsInBvcHVsYXRpb24iLCJrRm9ybWF0dGVyIiwicGFyc2VJbnQiLCJpbml0aWFsaXplTWFwQXJlYXMiLCJhcmVhcyIsIm1hcHBlZFdpdGhDb2xvciIsIm1hcCIsImEiLCJ3YmVfZGFzaGJvYXJkX25hbWUiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwidGhlbWUiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuNjAiLCJSMTAwIiwiRzEwMCIsInpvb21Ub0FyZWEiLCJhcmVhIiwic2hhcGVfZGF0YSIsInVuZGVmaW5lZCIsInpvb21BbGxBcmVhcyIsInNoYXBlRGF0YSIsImRhdHVtIiwibGV2ZWxOVkwiLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsIndhdGVyQXV0aG9yaXR5SWQiLCJkaXIiLCJEaXJlY3Rpb24iLCJSVEwiLCJMVFIiLCJmaWx0ZXJSZXN1bHRzQW5kU2V0Um93cyIsInRleHQiLCJyZXN1bHRzIiwiZmlsdGVyIiwiZWwiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwiaGFuZGxlT25Sb3dFeHBhbmQiLCJleHBhbmRlZCIsIndhdGVyQXV0aG9yaXR5TmFtZSIsImhhbmRsZVNlbGVjdFBhdGhvZ2VuQ2xpY2siLCJhbmFseXRpY3NUcmFjayIsInV0aWxpdHlfbmFtZSIsInB1c2giLCJmZXRjaEZvclRhYlNlbGVjdGlvbiIsInRhYiIsImF4aW9zIiwidGhlbiIsInJlc3BvbnNlIiwicmVzcG9uc2VEYXRhIiwiaGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2siLCJpbml0aWFsaXplRHJpbGxlZEFyZWEiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiaW5pdGlhbGl6ZUNvbXBvbmVudCIsInVwZGF0ZU5hdkNvbnRleHQiLCJ1c2VFZmZlY3QiLCJwYXRob2dlblRpdGxlIiwiZmluZCIsIml0ZW0iLCJkcm9wRG93blRpdGxlIiwiRnJhZ21lbnQiLCJDb250ZW50IiwiQWN0aW9uc0NvbnRhaW5lciIsImxlbmd0aCIsInRpdGxlIiwidmFyaWFudCIsIkl0ZW0iLCJocmVmIiwidGV4dEFsaWduIiwiRmlyc3RTZWN0aW9uIiwiV2JlU3VtbWFyeUJhciIsIlNlY29uZFNlY3Rpb24iLCJTZWFyY2hJbnB1dCIsIm9uQ2hhbmdlQmVoYXZpb3IiLCJUYWJzIiwiaGFuZGxlT25DbGljayIsIk1hcFRhYmxlQ29udGFpbmVyIiwiU3Bpbm5lciIsIk1hcCIsImFyZWFUb0NlbnRlckJ5IiwiZWRnZXMiLCJwb2ludHMiLCJtYXBCb3hTdHlsZSIsIkthbmRvVGFibGUiLCJvblJvd0V4cGFuZFRvZ2dsZWQiLCJleHBhbmRhYmxlUm93cyIsInBhZ2luYXRpb25QZXJQYWdlIiwicm93Q29tcG9uZW50IiwiRXhwYW5kZWRDb21wb25lbnQiLCJleHBhbmRhYmxlUm93c0NvbXBvbmVudFByb3BzIiwiZGVmYXVsdFNvcnRGaWVsZElkIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1diZURhc2hib2FyZC9XYmVEYXNoYm9hcmRQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICcuL1NlYXJjaElucHV0JztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBHcmFwaFdyYXBwZXIgfSBmcm9tICcuL0dyYXBoV3JhcHBlcic7XG5pbXBvcnQgeyBmYUNoZXZyb25Eb3duLCBmYUNoZXZyb25VcCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgdXBkYXRlTmF2Q29udGV4dCB9IGZyb20gJy4uLy4uL3N0b3JlL2NvbnRleHQvYWN0aW9ucyc7XG5pbXBvcnQgeyBrRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL1Rob3VzYW5kc1RvSyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBEcmlsbERvd25JY29uIH0gZnJvbSAnLi9EcmlsbERvd25JY29uLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBCYXNlTGV2ZWwgfSBmcm9tICcuL0Jhc2VMZXZlbC5zdmcnO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAncmVhY3QtZGF0YS10YWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgbGV2ZWxOVkwgfSBmcm9tICcuLi9Db3ZpZFBhZ2UvY29tcG9uZW50cy9udmxTdGF0dXNIZWxwZXInO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnLi4vLi4vV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IEthbmRvVGFibGUgfSBmcm9tICdzcmMvdWkta2l0L0thbmRvVGFibGUvS2FuZG9UYWJsZSc7XG5pbXBvcnQgeyBUYWJzIH0gZnJvbSAnLi9UYWJzJztcbmltcG9ydCB1c2VLYW5kb0ZldGNoIGZyb20gJy4uLy4uL2hvb2tzL3VzZUthbmRvRmV0Y2gnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IERyb3Bkb3duIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd24nO1xuaW1wb3J0IERyb3Bkb3duQnV0dG9uIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd25CdXR0b24nO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBUcnVuY2F0ZSBmcm9tICcuLi8uLi91dGlsaXRpZXMvVHJ1bmNhdGUnO1xuaW1wb3J0IHsgRXhwYW5kZWRDb21wb25lbnQgfSBmcm9tICcuL0V4cGFuZGFibGVDb21wb25lbnQnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IFdiZVN1bW1hcnlCYXIgfSBmcm9tICcuL1diZVN1bW1hcnlCYXInO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuY29uc3QgVEFCTEVfUk9XU19QRVJfUEFHRSA9IDI1O1xuY29uc3QgTUFQQk9YX1dCRV9EQVNIQk9BUkRfU1RZTEUgPSAnY2t6emtqc2k3MDA1ZjE0bzlpbTBtY3pzOSc7XG5cbmV4cG9ydCBjb25zdCBXQkVJc3JhZWxJZCA9IDQ2MztcbmV4cG9ydCBjb25zdCBXYmVEYXNoYm9hcmRQYWdlID0gKCkgPT4ge1xuICBjb25zdCBnZXRXQUlkID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3dhdGVyX2F1dGhvcml0eV9pZCcpO1xuICB9O1xuICBjb25zdCBmZXRjaFVybCA9IChmaXJzdFBhcmFtKSA9PiB7XG4gICAgcmV0dXJuIGAvYXBpX3VpL3diZV9kYXNoYm9hcmQvJHtzZWxlY3RlZFBhdGhvZ2VufS8ke2ZpcnN0UGFyYW19P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dldFdBSWQoKX1gO1xuICB9O1xuICBjb25zdCBERUZBVUxUX1RBQlMgPSBbXG4gICAgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJyksXG4gICAgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJyksXG4gIF07XG4gIGNvbnN0IGNvbnZlcnRUYWJOYW1lVG9QYXJhbSA9ICh0YWJfbmFtZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKHRhYl9uYW1lID09PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jaXRpZXMnKSkge1xuICAgICAgcmV0dXJuICdjaXR5JztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGFiX25hbWUgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLm1vbml0b3JlZF9hcmVhcycpXG4gICAgKSB7XG4gICAgICByZXR1cm4gJ21vbml0b3JlZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdjaXR5JztcbiAgfTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBnZXRQYXRob2dlbiA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdwYXRob2dlbicpIHx8ICdjb3ZpZCc7XG4gIH07XG5cbiAgY29uc3QgcGF0aG9nZW5zID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy5wYXRob2dlbnMpO1xuXG4gIGNvbnN0IFtjdXJyZW50RGF0YSwgc2V0Q3VycmVudERhdGFdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbbWFwQXJlYXMsIHNldE1hcEFyZWFzXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG4gIGNvbnN0IFttYXBab29tLCBzZXRNYXBab29tXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG4gIGNvbnN0IFtyb3dzLCBzZXRSb3dzXSA9IHVzZVN0YXRlPGFueT4oW10pO1xuICBjb25zdCBbdGFicywgc2V0VGFic10gPSB1c2VTdGF0ZTxzdHJpbmdbXT4oREVGQVVMVF9UQUJTKTtcbiAgY29uc3QgW3NlbGVjdGVkVGFiLCBzZXRTZWxlY3RlZFRhYl0gPSB1c2VTdGF0ZTxzdHJpbmc+KHRhYnNbMF0pO1xuICBjb25zdCBbc2VsZWN0ZWRQYXRob2dlbiwgc2V0U2VsZWN0ZWRQYXRob2dlbl0gPSB1c2VTdGF0ZTxzdHJpbmc+KFxuICAgIGdldFBhdGhvZ2VuKCksXG4gICk7XG4gIGNvbnN0IHsgZGF0YSwgaXNGZXRjaGluZywgc2V0RmV0Y2hpbmcgfSA9IHVzZUthbmRvRmV0Y2goXG4gICAgZmV0Y2hVcmwoY29udmVydFRhYk5hbWVUb1BhcmFtKHNlbGVjdGVkVGFiKSksXG4gICk7XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZDb250ZXh0ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LFxuICApO1xuICBjb25zdCBnbG9iYWxEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZ2xvYmFsX2RhdGEsXG4gICk7XG4gIGNvbnN0IGlzUnRsOiBib29sZWFuID0gbmF2Q29udGV4dC5sb2NhbGUgPT09ICdoZScgPyB0cnVlIDogZmFsc2U7XG4gIGNvbnN0IGNvbG9yRm9yUm93ID0gKHJvdykgPT4ge1xuICAgIGxldCBxdWFsaXR5O1xuICAgIGlmICghcm93LnNhbXBsZV9hY3RpdmUpIHtcbiAgICAgIHF1YWxpdHkgPSAnaW5hY3RpdmUtc2FtcGxpbmcnO1xuICAgIH0gZWxzZSBpZiAoaXNJbmZlY3RlZChyb3cubnZsKSkge1xuICAgICAgcXVhbGl0eSA9ICdpbmZlY3RlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHF1YWxpdHkgPSAnY2xlYW4nO1xuICAgIH1cblxuICAgIHJldHVybiBgcm93X25hbWUtLSR7cXVhbGl0eX1gO1xuICB9O1xuICBjb25zdCBjb2x1bW5zOiBhbnkgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubmFtZScpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm5hbWUsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG5hbWU6IHN0cmluZzsgbnZsOiBudW1iZXI7IGhhc19jaGlsZHJlbjogYm9vbGVhbiB9KSA9PiAoXG4gICAgICAgICAgPFJvd05hbWUgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHJvd19uYW1lICR7Y29sb3JGb3JSb3cocm93KX1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlQXJlYUNsaWNrKHJvdyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXhwYW5kYWJsZS1pY29uJ30+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICB7cm93Lmhhc19jaGlsZHJlbiAmJiA8RHJpbGxEb3duSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgIHshcm93Lmhhc19jaGlsZHJlbiAmJiA8QmFzZUxldmVsIC8+fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J25hbWUnfT5cbiAgICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17M30gaW5oZXJpdFRleHRBbGlnbj17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgICB7cm93Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9UcnVuY2F0ZT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9Sb3dOYW1lPlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubnZsX3Njb3JlJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubnZsLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBudmw6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdiBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCI+e3Jvdy5udmx9PC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wZXJjZW50YWdlX2Zyb21fbGFzdF9zYW1wbGluZycpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm52bF9jaGFuZ2UsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG52bF9jaGFuZ2U6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXJlY3Rpb246ICdsdHInLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBjb2xvcjogJyMwMDAwMDAnLCBtYXJnaW46ICcwIDZweCcgfX0+XG4gICAgICAgICAgICAgIHtyb3cubnZsX2NoYW5nZX0lXG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgICAgIGljb249e3Jvdy5udmxfY2hhbmdlID4gMCA/IGZhQ2hldnJvblVwIDogZmFDaGV2cm9uRG93bn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmxhc3Rfc2FtcGxlZCcpLFxuICAgICAgICBzZWxlY3RvcjogJ2xhc3Rfc2FtcGxlZCcsXG4gICAgICAgIHNvcnRhYmxlOiAocm93KSA9PiByb3cubGFzdF91cGRhdGVkLFxuICAgICAgICBjZWxsOiAocm93OiB7IGxhc3RfdXBkYXRlZDogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtyb3cubGFzdF91cGRhdGVkID09PSBudWxsXG4gICAgICAgICAgICAgID8gJy0nXG4gICAgICAgICAgICAgIDogbmV3IERhdGUocm93Lmxhc3RfdXBkYXRlZCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1HQicpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQudHJlbmRfZ3JhcGgnKSxcbiAgICAgICAgc2VsZWN0b3I6ICd0cmVuZF9ncmFwaCcsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IGlkOiBudW1iZXIgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPlxuICAgICAgICAgICAgPEdyYXBoV3JhcHBlclxuICAgICAgICAgICAgICBrZXk9e3Jvdy5pZH1cbiAgICAgICAgICAgICAgcm93PXtyb3d9XG4gICAgICAgICAgICAgIHdhdGVyX2F1dGhvcml0eV9pZD17Z2V0V0FJZCgpfVxuICAgICAgICAgICAgICBwYXRob2dlbj17c2VsZWN0ZWRQYXRob2dlbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wb3B1bGF0aW9uJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cucG9wdWxhdGlvbixcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgcG9wdWxhdGlvbjogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtrRm9ybWF0dGVyKHBhcnNlSW50KHJvdy5wb3B1bGF0aW9uKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgIF0sXG4gICAgW2lzUnRsLCBzZWxlY3RlZFBhdGhvZ2VuXSxcbiAgKTtcblxuICBjb25zdCBpbml0aWFsaXplTWFwQXJlYXMgPSAoYXJlYXMpID0+IHtcbiAgICBjb25zdCBtYXBwZWRXaXRoQ29sb3IgPSBhcmVhcy5tYXAoKGE6IGFueSkgPT4ge1xuICAgICAgYS53YmVfZGFzaGJvYXJkX25hbWUgPSBhLm5hbWU7XG4gICAgICBhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPSB0cnVlO1xuXG4gICAgICBpZiAoIWEuc2FtcGxlX2FjdGl2ZSkge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjA7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNJbmZlY3RlZChhLm52bCkpIHtcbiAgICAgICAgYS5jb2xvciA9IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuUjEwMDtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5HMTAwO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHNldE1hcEFyZWFzKG1hcHBlZFdpdGhDb2xvcik7XG4gIH07XG5cbiAgY29uc3Qgem9vbVRvQXJlYSA9IChhcmVhKSA9PiB7XG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiYgc2V0TWFwWm9vbShhcmVhLnNoYXBlX2RhdGEpO1xuICB9O1xuXG4gIGNvbnN0IHpvb21BbGxBcmVhcyA9IChkYXRhKSA9PiB7XG4gICAgY29uc3Qgc2hhcGVEYXRhID0gZGF0YS5tYXAoKGRhdHVtKSA9PiB7XG4gICAgICByZXR1cm4gZGF0dW0uc2hhcGVfZGF0YTtcbiAgICB9KTtcblxuICAgIHNldE1hcFpvb20oc2hhcGVEYXRhKTtcbiAgfTtcblxuICBjb25zdCBpc0luZmVjdGVkID0gKG52bDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGxldmVsTlZMKG52bCkgPT09ICdjbGVhbicpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGV2ZWxOVkwobnZsKSA9PT0gJ2xvdycgfHxcbiAgICAgIGxldmVsTlZMKG52bCkgPT09ICdtZWRpdW0nIHx8XG4gICAgICBsZXZlbE5WTChudmwpID09PSAnaGlnaCdcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuXG4gIGNvbnN0IGRpcjogRGlyZWN0aW9uID1cbiAgICBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/IERpcmVjdGlvbi5SVEwgOiBEaXJlY3Rpb24uTFRSO1xuXG4gIGNvbnN0IGZpbHRlclJlc3VsdHNBbmRTZXRSb3dzID0gKHRleHQ6IHN0cmluZykgPT4ge1xuICAgIGxldCByZXN1bHRzID0gY3VycmVudERhdGEuZmlsdGVyKGZ1bmN0aW9uIChlbDogYW55KSB7XG4gICAgICByZXR1cm4gZWwubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRleHQudG9Mb3dlckNhc2UoKSk7XG4gICAgfSk7XG5cbiAgICBzZXRSb3dzKHJlc3VsdHMpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU9uUm93RXhwYW5kID0gKGV4cGFuZGVkLCByb3cpID0+IHtcbiAgICBleHBhbmRlZCAmJiB6b29tVG9BcmVhKHJvdyk7XG4gICAgIWV4cGFuZGVkICYmIHpvb21BbGxBcmVhcyhkYXRhKTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTZWxlY3RQYXRob2dlbkNsaWNrID0gKHBhdGhvZ2VuKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1dCRSBTdGF0dXMgUmVwb3J0IC0gUGF0aG9nZW4gY2hhbmdlIGNsaWNrZWQnLCB7XG4gICAgICBwYXRob2dlbjogcGF0aG9nZW4sXG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBzZXRTZWxlY3RlZFBhdGhvZ2VuKHBhdGhvZ2VuKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgL3diZV9kYXNoYm9hcmQvaW5kZXg/bG9jYWxlPSR7bmF2Q29udGV4dC5sb2NhbGV9JndhdGVyX2F1dGhvcml0eV9pZD0ke3dhdGVyQXV0aG9yaXR5SWR9JnBhdGhvZ2VuPSR7cGF0aG9nZW59YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoRm9yVGFiU2VsZWN0aW9uID0gKHRhYikgPT4ge1xuICAgIHNldEZldGNoaW5nKHRydWUpO1xuICAgIGF4aW9zLmdldChmZXRjaFVybCh0YWIpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgbGV0IHJlc3BvbnNlRGF0YSA9IHJlc3BvbnNlLmRhdGEuZGF0YTtcblxuICAgICAgc2V0RmV0Y2hpbmcoZmFsc2UpO1xuICAgICAgc2V0VGFicyhERUZBVUxUX1RBQlMpO1xuICAgICAgc2V0Um93cyhyZXNwb25zZURhdGEpO1xuICAgICAgc2V0Q3VycmVudERhdGEocmVzcG9uc2VEYXRhKTtcbiAgICAgIGluaXRpYWxpemVNYXBBcmVhcyhyZXNwb25zZURhdGEpO1xuICAgICAgem9vbUFsbEFyZWFzKHJlc3BvbnNlRGF0YSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2sgPSAodGFiKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nKSB7XG4gICAgICBzZXRTZWxlY3RlZFRhYih0YWIpO1xuXG4gICAgICBpZiAodGFiICE9PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jdXN0b20nKSkge1xuICAgICAgICB0YWIgPVxuICAgICAgICAgIHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJylcbiAgICAgICAgICAgID8gJ2NpdHknXG4gICAgICAgICAgICA6IHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJylcbiAgICAgICAgICAgID8gJ21vbml0b3JlZCdcbiAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgZmV0Y2hGb3JUYWJTZWxlY3Rpb24odGFiKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbGl6ZURyaWxsZWRBcmVhID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgbGV0IGRhdGEgPSByZXNwb25zZS5kYXRhLmRhdGE7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBzZXRDdXJyZW50RGF0YShkYXRhKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUFyZWFDbGljayA9IChhcmVhKSA9PiB7XG4gICAgem9vbVRvQXJlYShhcmVhKTtcblxuICAgIGlmIChhcmVhLmhhc19jaGlsZHJlbikge1xuICAgICAgc2V0VGFicyhbLi4udGFicywgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY3VzdG9tJyldKTtcbiAgICAgIHNldFNlbGVjdGVkVGFiKGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmN1c3RvbScpKTtcblxuICAgICAgYXhpb3MuZ2V0KGZldGNoVXJsKGFyZWEuaWQpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpbml0aWFsaXplRHJpbGxlZEFyZWEocmVzcG9uc2UpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGluaXRpYWxpemVDb21wb25lbnQgPSAoKSA9PiB7XG4gICAgc2V0Q3VycmVudERhdGEoZGF0YSk7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBhbmFseXRpY3NUcmFjaygnV0JFIFN0YXR1cyBSZXBvcnQnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBkaXNwYXRjaCh1cGRhdGVOYXZDb250ZXh0KHsgbmFtZTogJ3diZV9kYXNoYm9hcmQnIH0pKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nICYmIGRhdGEgIT09IG51bGwpIHtcbiAgICAgIGluaXRpYWxpemVDb21wb25lbnQoKTtcbiAgICB9XG4gIH0sIFtpc0ZldGNoaW5nLCBzZWxlY3RlZFBhdGhvZ2VuLCBkYXRhXSk7XG5cbiAgY29uc3QgcGF0aG9nZW5UaXRsZSA9IHBhdGhvZ2Vucy5maW5kKFxuICAgIChpdGVtKSA9PiBpdGVtLnRvTG93ZXJDYXNlKCkgPT09IHNlbGVjdGVkUGF0aG9nZW4udG9Mb3dlckNhc2UoKSxcbiAgKTtcbiAgY29uc3QgZHJvcERvd25UaXRsZSA9XG4gICAgcGF0aG9nZW5UaXRsZSB8fCBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wYXRob2dlbl9ub3RfZm91bmQnKTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPENvbnRlbnQ+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgxPlxuICAgICAgICAgICAge2Ake2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnRhYmxlX25hbWUnKX0gKCR7XG4gICAgICAgICAgICAgIHBhdGhvZ2VuVGl0bGUgfHwgZ2V0UGF0aG9nZW4oKVxuICAgICAgICAgICAgfSlgfVxuICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPEFjdGlvbnNDb250YWluZXI+XG4gICAgICAgICAgICB7cGF0aG9nZW5zLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgICAgICA8RHJvcGRvd25CdXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImRyb3Bkb3duLWJhc2ljLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYnV0dG9uIGJ1dHRvbi0tc29ydCd9XG4gICAgICAgICAgICAgICAgdGl0bGU9e2Ryb3BEb3duVGl0bGUgKyAnICd9XG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cGF0aG9nZW5zLm1hcCgocGF0aG9nZW4pID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVNlbGVjdFBhdGhvZ2VuQ2xpY2socGF0aG9nZW4pfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gJ3JpZ2h0JyA6ICdsZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3BhdGhvZ2VufVxuICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA8L0Ryb3Bkb3duQnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0FjdGlvbnNDb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8Rmlyc3RTZWN0aW9uPlxuICAgICAgICAgIDxXYmVTdW1tYXJ5QmFyXG4gICAgICAgICAgICBwYXRob2dlbj17c2VsZWN0ZWRQYXRob2dlbn1cbiAgICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ9e3dhdGVyQXV0aG9yaXR5SWR9XG4gICAgICAgICAgICBpc1J0bD17aXNSdGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9GaXJzdFNlY3Rpb24+XG5cbiAgICAgICAgPFNlY29uZFNlY3Rpb24+XG4gICAgICAgICAgPFNlYXJjaElucHV0IG9uQ2hhbmdlQmVoYXZpb3I9e2ZpbHRlclJlc3VsdHNBbmRTZXRSb3dzfSAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsndGFicy1jb250YWluZXInfT5cbiAgICAgICAgICAgIDxUYWJzXG4gICAgICAgICAgICAgIHRhYnM9e3RhYnN9XG4gICAgICAgICAgICAgIHNlbGVjdGVkVGFiPXtzZWxlY3RlZFRhYn1cbiAgICAgICAgICAgICAgaGFuZGxlT25DbGljaz17aGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2t9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxNYXBUYWJsZUNvbnRhaW5lciBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAge2lzRmV0Y2hpbmcgJiYgPFNwaW5uZXIgLz59XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J21hcC1jb250YWluZXInfT5cbiAgICAgICAgICAgICAgeyFpc0ZldGNoaW5nICYmIHJvd3MgIT09IG51bGwgJiYgbWFwWm9vbSAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgICAgICAgICA8TWFwXG4gICAgICAgICAgICAgICAgICAgIGFyZWFzPXttYXBBcmVhc31cbiAgICAgICAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e21hcFpvb219XG4gICAgICAgICAgICAgICAgICAgIGVkZ2VzPXtbXX1cbiAgICAgICAgICAgICAgICAgICAgcG9pbnRzPXtbXX1cbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbERhdGF9XG4gICAgICAgICAgICAgICAgICAgIG1hcEJveFN0eWxlPXtNQVBCT1hfV0JFX0RBU0hCT0FSRF9TVFlMRX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7IWlzRmV0Y2hpbmcgJiYgcm93cyAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgICAgIDxLYW5kb1RhYmxlXG4gICAgICAgICAgICAgICAgb25Sb3dFeHBhbmRUb2dnbGVkPXtoYW5kbGVPblJvd0V4cGFuZH1cbiAgICAgICAgICAgICAgICBkYXRhPXtyb3dzfVxuICAgICAgICAgICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uPXtkaXJ9XG4gICAgICAgICAgICAgICAgZXhwYW5kYWJsZVJvd3M9e3RydWV9XG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvblBlclBhZ2U9e1RBQkxFX1JPV1NfUEVSX1BBR0V9XG4gICAgICAgICAgICAgICAgcm93Q29tcG9uZW50PXtFeHBhbmRlZENvbXBvbmVudH1cbiAgICAgICAgICAgICAgICBleHBhbmRhYmxlUm93c0NvbXBvbmVudFByb3BzPXt7IHBhdGhvZ2VuOiBzZWxlY3RlZFBhdGhvZ2VuIH19XG4gICAgICAgICAgICAgICAgZGVmYXVsdFNvcnRGaWVsZElkPXszfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L01hcFRhYmxlQ29udGFpbmVyPlxuICAgICAgICA8L1NlY29uZFNlY3Rpb24+XG4gICAgICA8L0NvbnRlbnQ+XG4gICAgPC8+XG4gICk7XG59O1xuXG5jb25zdCBSb3dOYW1lID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICAgIHdpZHRoOiAxMDAlO1xuICAgICAgXG4gICAgLnJvd19uYW1lIHtcbiAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbjsgICAgICBcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0tY2xlYW4ge1xuICAgICAgICAgY29sb3I6ICMyN2E2M2E7IFxuICAgICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjdhNjNhOyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLS1pbmZlY3RlZCB7XG4gICAgICAgICAgY29sb3I6ICNlMTAwMzY7XG4gICAgICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTEwMDM2OyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLS1pbmFjdGl2ZS1zYW1wbGluZyB7XG4gICAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuICAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07ICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAkeyhwKSA9PiAocC5pc1J0bCA/ICdyaWdodDogNTFweDsnIDogJ2xlZnQ6IDUxcHg7Jyl9XG4gICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiA3LjVlbTtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIGA7XG5cbmNvbnN0IEFjdGlvbnNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuY29uc3QgRmlyc3RTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luOiA4NXB4IDAgMjBweCAwO1xuYDtcblxuY29uc3QgU2Vjb25kU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNmY2ZjZmM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbmA7XG5cbmNvbnN0IE1hcFRhYmxlQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIC5tYXAtY29udGFpbmVyIHtcbiAgICB3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAuZXZlbnQtdGltZXJhbmdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICNtYXAge1xuICAgICAgaGVpZ2h0OiA2OXZoO1xuICAgICAgd2lkdGg6IDMwdnc7XG4gICAgfVxuICB9XG4gIFtkYXRhLXRlc3RpZD0na2FuZG8tdGFibGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgW2RhdGEtY29sdW1uLWlkPScxJ10ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICAubmFtZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEyMHB4ICsgMXZ3KTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBjdWJpYy1iZXppZXIoMC42NSwgMC4wNSwgMC4zNiwgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNwaW5uZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5gO1xuXG5jb25zdCBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIHBhZGRpbmc6IDYwcHggNjBweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8saUJBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGFBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLGtCQUFBLEdBQUFULE9BQUE7QUFFQSxJQUFBVSxRQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxhQUFBLEdBQUFYLE9BQUE7QUFBMEQsSUFBQVksY0FBQSxHQUFBWixPQUFBO0FBQUEsSUFBQWEsVUFBQSxHQUFBYixPQUFBO0FBRzFELElBQUFjLHdCQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxnQkFBQSxHQUFBZixPQUFBO0FBQ0EsSUFBQWdCLElBQUEsR0FBQWhCLE9BQUE7QUFDQSxJQUFB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
@@ -22,7 +22,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
22
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
23
  var WbeSummaryBar = function WbeSummaryBar(props) {
24
24
  var waterAuthorityId = props.waterAuthorityId,
25
- isRtl = props.isRtl;
25
+ isRtl = props.isRtl,
26
+ pathogen = props.pathogen;
26
27
  var initialSummaryState = {
27
28
  clean_percentage: 0,
28
29
  cleaned_gap_from_previous_week: 0,
@@ -42,11 +43,12 @@ var WbeSummaryBar = function WbeSummaryBar(props) {
42
43
  setData = _useState2[1];
43
44
  var _useState3 = (0, _react.useState)(false),
44
45
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
45
- isSummaryGrapModalOpen = _useState4[0],
46
+ isSummaryGraphModalOpen = _useState4[0],
46
47
  setIsSummaryGraphModalOpen = _useState4[1];
47
48
  var fetchAndSetData = function fetchAndSetData() {
48
49
  _axios.default.get((0, _urls.urls)({
49
- waterAuthorityId: waterAuthorityId
50
+ waterAuthorityId: waterAuthorityId,
51
+ pathogen: pathogen
50
52
  }).wbeDashboard.summaryBar.url).then(function (response) {
51
53
  setData(response.data.summary);
52
54
  });
@@ -67,18 +69,18 @@ var WbeSummaryBar = function WbeSummaryBar(props) {
67
69
  return function cleanup() {
68
70
  setData(initialSummaryState);
69
71
  };
70
- }, [waterAuthorityId]);
72
+ }, [waterAuthorityId, pathogen]);
71
73
  return /*#__PURE__*/_react.default.createElement(BoxContainer, null, /*#__PURE__*/_react.default.createElement(TopSection, null, /*#__PURE__*/_react.default.createElement(Box, null, /*#__PURE__*/_react.default.createElement(PercentageLabel, {
72
74
  isRtl: isRtl
73
75
  }, /*#__PURE__*/_react.default.createElement(_InfoTooltip.InfoTooltip, {
74
76
  data: _i18n.default.t('components.wbe_dashboard.wbe_summary.tooltip.clean'),
75
- title: _i18n.default.t('components.wbe_dashboard.wbe_summary.cleaned_points')
76
- }, _i18n.default.t('components.wbe_dashboard.wbe_summary.cleaned_points'))), /*#__PURE__*/_react.default.createElement(Percentage, null, data.clean_percentage, "%"), /*#__PURE__*/_react.default.createElement(PercentageDescription, null, positiveOrNegativeString(data.cleaned_gap_from_previous_week), ' ', _i18n.default.t('components.wbe_dashboard.wbe_summary.from_last_week'))), /*#__PURE__*/_react.default.createElement(Box, null, /*#__PURE__*/_react.default.createElement(PercentageLabel, {
77
+ title: _i18n.default.t('components.wbe_dashboard.wbe_summary.cleaned_areas')
78
+ }, _i18n.default.t('components.wbe_dashboard.wbe_summary.cleaned_areas'))), /*#__PURE__*/_react.default.createElement(Percentage, null, data.clean_percentage, "%"), /*#__PURE__*/_react.default.createElement(PercentageDescription, null, positiveOrNegativeString(data.cleaned_gap_from_previous_week), ' ', _i18n.default.t('components.wbe_dashboard.wbe_summary.from_last_week'))), /*#__PURE__*/_react.default.createElement(Box, null, /*#__PURE__*/_react.default.createElement(PercentageLabel, {
77
79
  isRtl: isRtl
78
80
  }, /*#__PURE__*/_react.default.createElement(_InfoTooltip.InfoTooltip, {
79
81
  data: _i18n.default.t('components.wbe_dashboard.wbe_summary.tooltip.infected'),
80
- title: _i18n.default.t('components.wbe_dashboard.wbe_summary.infected_points')
81
- }, _i18n.default.t('components.wbe_dashboard.wbe_summary.infected_points'))), /*#__PURE__*/_react.default.createElement(Percentage, null, data.infected_percentage, "%"), /*#__PURE__*/_react.default.createElement(PercentageDescription, null, positiveOrNegativeString(data.infected_gap_from_previous_week), ' ', _i18n.default.t('components.wbe_dashboard.wbe_summary.from_last_week'))), /*#__PURE__*/_react.default.createElement(Box, null, /*#__PURE__*/_react.default.createElement(PercentageLabel, {
82
+ title: _i18n.default.t('components.wbe_dashboard.wbe_summary.infected_areas')
83
+ }, _i18n.default.t('components.wbe_dashboard.wbe_summary.infected_areas'))), /*#__PURE__*/_react.default.createElement(Percentage, null, data.infected_percentage, "%"), /*#__PURE__*/_react.default.createElement(PercentageDescription, null, positiveOrNegativeString(data.infected_gap_from_previous_week), ' ', _i18n.default.t('components.wbe_dashboard.wbe_summary.from_last_week'))), /*#__PURE__*/_react.default.createElement(Box, null, /*#__PURE__*/_react.default.createElement(PercentageLabel, {
82
84
  isRtl: isRtl
83
85
  }, /*#__PURE__*/_react.default.createElement(_InfoTooltip.InfoTooltip, {
84
86
  data: _i18n.default.t('components.wbe_dashboard.wbe_summary.tooltip.trend'),
@@ -96,6 +98,7 @@ var WbeSummaryBar = function WbeSummaryBar(props) {
96
98
  }, _i18n.default.t('components.wbe_dashboard.wbe_summary.nvl_of_all'))), /*#__PURE__*/_react.default.createElement(GraphContainer, {
97
99
  isRtl: isRtl
98
100
  }, /*#__PURE__*/_react.default.createElement(_SummaryGraph.SummaryGraph, {
101
+ pathogen: pathogen,
99
102
  waterAuthorityId: waterAuthorityId,
100
103
  weeksForGovFetch: data.weeks_for_gov_fetch
101
104
  }), /*#__PURE__*/_react.default.createElement(ExpandIcon, {
@@ -105,9 +108,10 @@ var WbeSummaryBar = function WbeSummaryBar(props) {
105
108
  onClick: function onClick() {
106
109
  return handleExpandClick();
107
110
  }
108
- })), isSummaryGrapModalOpen && /*#__PURE__*/_react.default.createElement(_SummaryGraphModal.SummaryGraphModal, {
111
+ })), isSummaryGraphModalOpen && /*#__PURE__*/_react.default.createElement(_SummaryGraphModal.SummaryGraphModal, {
109
112
  setOpen: setIsSummaryGraphModalOpen
110
113
  }, /*#__PURE__*/_react.default.createElement(_SummaryGraph.SummaryGraph, {
114
+ pathogen: pathogen,
111
115
  waterAuthorityId: waterAuthorityId,
112
116
  weeksForGovFetch: data.weeks_for_gov_fetch,
113
117
  mini: false
@@ -164,4 +168,4 @@ var TopSection = _styledComponents.default.div.withConfig({
164
168
  displayName: "WbeSummaryBar__TopSection",
165
169
  componentId: "sc-1riqg8c-9"
166
170
  })(["@media (max-width:1250px){width:100%;max-width:100%;}display:flex;justify-content:space-evenly;width:max-content;max-width:50%;"]);
167
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2kxOG4iLCJfU3VtbWFyeUdyYXBoIiwiX3VybHMiLCJfSW5mb1Rvb2x0aXAiLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9TdW1tYXJ5R3JhcGhNb2RhbCIsIl90aGVtZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2JlU3VtbWFyeUJhciIsInByb3BzIiwid2F0ZXJBdXRob3JpdHlJZCIsImlzUnRsIiwiaW5pdGlhbFN1bW1hcnlTdGF0ZSIsImNsZWFuX3BlcmNlbnRhZ2UiLCJjbGVhbmVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWsiLCJpbmNyZWFzaW5nX3RyZW5kX3BlcmNlbnRhZ2UiLCJpbmZlY3RlZF9nYXBfZnJvbV9wcmV2aW91c193ZWVrIiwiaW5mZWN0ZWRfcGVyY2VudGFnZSIsImFyZWFzX3dpdGhfYWN0aXZlX3NhbXBsaW5nc19wZXJjZW50YWdlIiwicG9wdWxhdGlvbiIsIndlZWtzX2Zvcl9nb3ZfZmV0Y2giLCJ3ZWVrcyIsInhfYXhpcyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRhdGEiLCJzZXREYXRhIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc1N1bW1hcnlHcmFwTW9kYWxPcGVuIiwic2V0SXNTdW1tYXJ5R3JhcGhNb2RhbE9wZW4iLCJmZXRjaEFuZFNldERhdGEiLCJheGlvcyIsInVybHMiLCJ3YmVEYXNoYm9hcmQiLCJzdW1tYXJ5QmFyIiwidXJsIiwidGhlbiIsInJlc3BvbnNlIiwic3VtbWFyeSIsInBvc2l0aXZlT3JOZWdhdGl2ZVN0cmluZyIsIm51bWJlciIsIk1hdGgiLCJzaWduIiwiY29uY2F0IiwiaGFuZGxlRXhwYW5kQ2xpY2siLCJ1c2VFZmZlY3QiLCJ1bmRlZmluZWQiLCJjbGVhbnVwIiwiY3JlYXRlRWxlbWVudCIsIkJveENvbnRhaW5lciIsIlRvcFNlY3Rpb24iLCJCb3giLCJQZXJjZW50YWdlTGFiZWwiLCJJbmZvVG9vbHRpcCIsImkxOG4iLCJ0IiwidGl0bGUiLCJQZXJjZW50YWdlIiwiUGVyY2VudGFnZURlc2NyaXB0aW9uIiwiQm90dG9tU2VjdGlvbiIsIkdyYXBoQm94IiwiR3JhcGhDb250YWluZXIiLCJTdW1tYXJ5R3JhcGgiLCJ3ZWVrc0ZvckdvdkZldGNoIiwiRXhwYW5kSWNvbiIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUFycm93c0FsdCIsIm9uQ2xpY2siLCJTdW1tYXJ5R3JhcGhNb2RhbCIsInNldE9wZW4iLCJtaW5pIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwicCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjUwIiwicHJpbWFyeSIsInAxIiwiX3JlZiIsIl9yZWYyIiwibjYwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1diZURhc2hib2FyZC9XYmVTdW1tYXJ5QmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBTdW1tYXJ5R3JhcGggfSBmcm9tICcuL1N1bW1hcnlHcmFwaCc7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgSW5mb1Rvb2x0aXAgfSBmcm9tICdzcmMvdWkta2l0L0luZm9Ub29sdGlwL0luZm9Ub29sdGlwJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYUFycm93c0FsdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBTdW1tYXJ5R3JhcGhNb2RhbCB9IGZyb20gJy4vU3VtbWFyeUdyYXBoTW9kYWwnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuXG50eXBlIFByb3BzID0ge1xuICB3YXRlckF1dGhvcml0eUlkOiBudW1iZXI7XG4gIGlzUnRsOiBib29sZWFuO1xufTtcblxudHlwZSBEYXRhID0ge1xuICBjbGVhbl9wZXJjZW50YWdlOiBudW1iZXI7XG4gIGNsZWFuZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2VlazogbnVtYmVyO1xuICBpbmNyZWFzaW5nX3RyZW5kX3BlcmNlbnRhZ2U6IG51bWJlcjtcbiAgaW5mZWN0ZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2VlazogbnVtYmVyO1xuICBpbmZlY3RlZF9wZXJjZW50YWdlOiBudW1iZXI7XG4gIGFyZWFzX3dpdGhfYWN0aXZlX3NhbXBsaW5nc19wZXJjZW50YWdlOiBudW1iZXI7XG4gIHBvcHVsYXRpb246IG51bWJlcjtcbiAgd2Vla3NfZm9yX2dvdl9mZXRjaDogeyB3ZWVrczogc3RyaW5nW107IHhfYXhpczogc3RyaW5nW10gfTtcbn07XG5cbmV4cG9ydCBjb25zdCBXYmVTdW1tYXJ5QmFyOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eUlkLCBpc1J0bCB9ID0gcHJvcHM7XG4gIGNvbnN0IGluaXRpYWxTdW1tYXJ5U3RhdGUgPSB7XG4gICAgY2xlYW5fcGVyY2VudGFnZTogMCxcbiAgICBjbGVhbmVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWs6IDAsXG4gICAgaW5jcmVhc2luZ190cmVuZF9wZXJjZW50YWdlOiAwLFxuICAgIGluZmVjdGVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWs6IDAsXG4gICAgaW5mZWN0ZWRfcGVyY2VudGFnZTogMCxcbiAgICBhcmVhc193aXRoX2FjdGl2ZV9zYW1wbGluZ3NfcGVyY2VudGFnZTogMCxcbiAgICBwb3B1bGF0aW9uOiAwLFxuICAgIHdlZWtzX2Zvcl9nb3ZfZmV0Y2g6IHsgd2Vla3M6IFtdLCB4X2F4aXM6IFtdIH0sXG4gIH07XG4gIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlPERhdGE+KGluaXRpYWxTdW1tYXJ5U3RhdGUpO1xuICBjb25zdCBbaXNTdW1tYXJ5R3JhcE1vZGFsT3Blbiwgc2V0SXNTdW1tYXJ5R3JhcGhNb2RhbE9wZW5dID1cbiAgICB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IGZldGNoQW5kU2V0RGF0YSA9ICgpID0+IHtcbiAgICBheGlvc1xuICAgICAgLmdldChcbiAgICAgICAgdXJscyh7IHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQgfSkud2JlRGFzaGJvYXJkLnN1bW1hcnlCYXJcbiAgICAgICAgICAudXJsLFxuICAgICAgKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHNldERhdGEocmVzcG9uc2UuZGF0YS5zdW1tYXJ5KTtcbiAgICAgIH0pO1xuICB9O1xuICBjb25zdCBwb3NpdGl2ZU9yTmVnYXRpdmVTdHJpbmcgPSAobnVtYmVyKSA9PiB7XG4gICAgaWYgKE1hdGguc2lnbihudW1iZXIpID09PSAxKSB7XG4gICAgICByZXR1cm4gYCske251bWJlcn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVtYmVyO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVFeHBhbmRDbGljayA9ICgpID0+IHtcbiAgICBzZXRJc1N1bW1hcnlHcmFwaE1vZGFsT3Blbih0cnVlKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh3YXRlckF1dGhvcml0eUlkID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBmZXRjaEFuZFNldERhdGEoKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgc2V0RGF0YShpbml0aWFsU3VtbWFyeVN0YXRlKTtcbiAgICB9O1xuICB9LCBbd2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIHJldHVybiAoXG4gICAgPEJveENvbnRhaW5lcj5cbiAgICAgIDxUb3BTZWN0aW9uPlxuICAgICAgICA8Qm94PlxuICAgICAgICAgIDxQZXJjZW50YWdlTGFiZWwgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxJbmZvVG9vbHRpcFxuICAgICAgICAgICAgICBkYXRhPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS50b29sdGlwLmNsZWFuJyxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgdGl0bGU9e2kxOG4udChcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmNsZWFuZWRfcG9pbnRzJyxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmNsZWFuZWRfcG9pbnRzJyl9XG4gICAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICAgIDwvUGVyY2VudGFnZUxhYmVsPlxuXG4gICAgICAgICAgPFBlcmNlbnRhZ2U+e2RhdGEuY2xlYW5fcGVyY2VudGFnZX0lPC9QZXJjZW50YWdlPlxuICAgICAgICAgIDxQZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgICAgICB7cG9zaXRpdmVPck5lZ2F0aXZlU3RyaW5nKGRhdGEuY2xlYW5lZF9nYXBfZnJvbV9wcmV2aW91c193ZWVrKX17JyAnfVxuICAgICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmZyb21fbGFzdF93ZWVrJyl9XG4gICAgICAgICAgPC9QZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8Qm94PlxuICAgICAgICAgIDxQZXJjZW50YWdlTGFiZWwgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxJbmZvVG9vbHRpcFxuICAgICAgICAgICAgICBkYXRhPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS50b29sdGlwLmluZmVjdGVkJyxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgdGl0bGU9e2kxOG4udChcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmluZmVjdGVkX3BvaW50cycsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5pbmZlY3RlZF9wb2ludHMnKX1cbiAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgPC9QZXJjZW50YWdlTGFiZWw+XG4gICAgICAgICAgPFBlcmNlbnRhZ2U+e2RhdGEuaW5mZWN0ZWRfcGVyY2VudGFnZX0lPC9QZXJjZW50YWdlPlxuICAgICAgICAgIDxQZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgICAgICB7cG9zaXRpdmVPck5lZ2F0aXZlU3RyaW5nKGRhdGEuaW5mZWN0ZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2Vlayl9eycgJ31cbiAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5mcm9tX2xhc3Rfd2VlaycpfVxuICAgICAgICAgIDwvUGVyY2VudGFnZURlc2NyaXB0aW9uPlxuICAgICAgICA8L0JveD5cbiAgICAgICAgPEJveD5cbiAgICAgICAgICA8UGVyY2VudGFnZUxhYmVsIGlzUnRsPXtpc1J0bH0+XG4gICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgZGF0YT17aTE4bi50KFxuICAgICAgICAgICAgICAgICdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkudG9vbHRpcC50cmVuZCcsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS50cmVuZCcpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkudHJlbmQnKX1cbiAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgPC9QZXJjZW50YWdlTGFiZWw+XG4gICAgICAgICAgPFBlcmNlbnRhZ2U+e2RhdGEuaW5jcmVhc2luZ190cmVuZF9wZXJjZW50YWdlfSU8L1BlcmNlbnRhZ2U+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkud2l0aF9pbmNyZWFzZWRfdmlydXNfbG9hZCcsXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvUGVyY2VudGFnZURlc2NyaXB0aW9uPlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvVG9wU2VjdGlvbj5cbiAgICAgIDxCb3R0b21TZWN0aW9uPlxuICAgICAgICA8Qm94PlxuICAgICAgICAgIDxQZXJjZW50YWdlTGFiZWwgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxJbmZvVG9vbHRpcFxuICAgICAgICAgICAgICBkYXRhPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS50b29sdGlwLmNvdmVyYWdlJyxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgdGl0bGU9e2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmNvdmVyYWdlJyl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5jb3ZlcmFnZScpfVxuICAgICAgICAgICAgPC9JbmZvVG9vbHRpcD5cbiAgICAgICAgICA8L1BlcmNlbnRhZ2VMYWJlbD5cbiAgICAgICAgICA8UGVyY2VudGFnZT5cbiAgICAgICAgICAgIHtkYXRhLmFyZWFzX3dpdGhfYWN0aXZlX3NhbXBsaW5nc19wZXJjZW50YWdlfSVcbiAgICAgICAgICA8L1BlcmNlbnRhZ2U+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5wb3B1bGF0aW9uJyl9eycgJ31cbiAgICAgICAgICAgIHtkYXRhLnBvcHVsYXRpb259XG4gICAgICAgICAgPC9QZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8R3JhcGhCb3g+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VMYWJlbCBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICAgIGRhdGE9e2kxOG4udChcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LnRvb2x0aXAubnZsX29mX2FsbCcsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5udmxfb2ZfYWxsJyl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5udmxfb2ZfYWxsJyl9XG4gICAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICAgIDwvUGVyY2VudGFnZUxhYmVsPlxuICAgICAgICAgIDxHcmFwaENvbnRhaW5lciBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPFN1bW1hcnlHcmFwaFxuICAgICAgICAgICAgICB3YXRlckF1dGhvcml0eUlkPXt3YXRlckF1dGhvcml0eUlkfVxuICAgICAgICAgICAgICB3ZWVrc0ZvckdvdkZldGNoPXtkYXRhLndlZWtzX2Zvcl9nb3ZfZmV0Y2h9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEV4cGFuZEljb24gaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgICAgIGljb249e2ZhQXJyb3dzQWx0fVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUV4cGFuZENsaWNrKCl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0V4cGFuZEljb24+XG4gICAgICAgICAgICB7aXNTdW1tYXJ5R3JhcE1vZGFsT3BlbiAmJiAoXG4gICAgICAgICAgICAgIDxTdW1tYXJ5R3JhcGhNb2RhbCBzZXRPcGVuPXtzZXRJc1N1bW1hcnlHcmFwaE1vZGFsT3Blbn0+XG4gICAgICAgICAgICAgICAgPFN1bW1hcnlHcmFwaFxuICAgICAgICAgICAgICAgICAgd2F0ZXJBdXRob3JpdHlJZD17d2F0ZXJBdXRob3JpdHlJZH1cbiAgICAgICAgICAgICAgICAgIHdlZWtzRm9yR292RmV0Y2g9e2RhdGEud2Vla3NfZm9yX2dvdl9mZXRjaH1cbiAgICAgICAgICAgICAgICAgIG1pbmk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3VtbWFyeUdyYXBoTW9kYWw+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvR3JhcGhDb250YWluZXI+XG4gICAgICAgIDwvR3JhcGhCb3g+XG4gICAgICA8L0JvdHRvbVNlY3Rpb24+XG4gICAgPC9Cb3hDb250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBCb3hDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogMTIyNHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiBHaWxyb3ktVWx0cmFMaWdodDtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYDtcblxuY29uc3QgQm94ID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMjRweCkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGhlaWdodDogMTIycHg7XG4gIHdpZHRoOiAzMzBweDtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBHcmFwaEJveCA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDAgMDtcbiAgYmFja2dyb3VuZDogI2ZjZmNmYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBoZWlnaHQ6IDEyMnB4O1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IEdyYXBoQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICB3aWR0aDogNjB2dztcbiAgfVxuXG4gIG1hcmdpbi10b3A6IDVweDtcbiAgd2lkdGg6IDMwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5jb25zdCBFeHBhbmRJY29uID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICR7KHApID0+IChwLmlzUnRsID8gJ2xlZnQ6IDVweDsnIDogJ3JpZ2h0OiA1cHg7Jyl9XG4gIHRvcDogNXB4O1xuXG4gIHN2ZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjUwfTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgUGVyY2VudGFnZUxhYmVsID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgdG9wOiAtMjBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICBmb250LXNpemU6IDE2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgbGVmdDogMDtcbiAgJHsocCkgPT4gKHAuaXNSdGwgPyAncmlnaHQ6IDBweDsnIDogJ2xlZnQ6IDBweDsnKX1cbmA7XG5cbmNvbnN0IFBlcmNlbnRhZ2UgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IGNhbGMoMjBweCArIDJ2dyk7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuYDtcblxuY29uc3QgUGVyY2VudGFnZURlc2NyaXB0aW9uID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgIGZvbnQtc2l6ZTogY2FsYyg5cHggKyAwLjZ2dyk7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgZm9udC1zaXplOiBjYWxjKDRweCArIDAuNnZ3KTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuYDtcblxuY29uc3QgQm90dG9tU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDUwJTtcbmA7XG5cbmNvbnN0IFRvcFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtc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
171
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2kxOG4iLCJfU3VtbWFyeUdyYXBoIiwiX3VybHMiLCJfSW5mb1Rvb2x0aXAiLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9TdW1tYXJ5R3JhcGhNb2RhbCIsIl90aGVtZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2JlU3VtbWFyeUJhciIsInByb3BzIiwid2F0ZXJBdXRob3JpdHlJZCIsImlzUnRsIiwicGF0aG9nZW4iLCJpbml0aWFsU3VtbWFyeVN0YXRlIiwiY2xlYW5fcGVyY2VudGFnZSIsImNsZWFuZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2VlayIsImluY3JlYXNpbmdfdHJlbmRfcGVyY2VudGFnZSIsImluZmVjdGVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWsiLCJpbmZlY3RlZF9wZXJjZW50YWdlIiwiYXJlYXNfd2l0aF9hY3RpdmVfc2FtcGxpbmdzX3BlcmNlbnRhZ2UiLCJwb3B1bGF0aW9uIiwid2Vla3NfZm9yX2dvdl9mZXRjaCIsIndlZWtzIiwieF9heGlzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiZGF0YSIsInNldERhdGEiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzU3VtbWFyeUdyYXBoTW9kYWxPcGVuIiwic2V0SXNTdW1tYXJ5R3JhcGhNb2RhbE9wZW4iLCJmZXRjaEFuZFNldERhdGEiLCJheGlvcyIsInVybHMiLCJ3YmVEYXNoYm9hcmQiLCJzdW1tYXJ5QmFyIiwidXJsIiwidGhlbiIsInJlc3BvbnNlIiwic3VtbWFyeSIsInBvc2l0aXZlT3JOZWdhdGl2ZVN0cmluZyIsIm51bWJlciIsIk1hdGgiLCJzaWduIiwiY29uY2F0IiwiaGFuZGxlRXhwYW5kQ2xpY2siLCJ1c2VFZmZlY3QiLCJ1bmRlZmluZWQiLCJjbGVhbnVwIiwiY3JlYXRlRWxlbWVudCIsIkJveENvbnRhaW5lciIsIlRvcFNlY3Rpb24iLCJCb3giLCJQZXJjZW50YWdlTGFiZWwiLCJJbmZvVG9vbHRpcCIsImkxOG4iLCJ0IiwidGl0bGUiLCJQZXJjZW50YWdlIiwiUGVyY2VudGFnZURlc2NyaXB0aW9uIiwiQm90dG9tU2VjdGlvbiIsIkdyYXBoQm94IiwiR3JhcGhDb250YWluZXIiLCJTdW1tYXJ5R3JhcGgiLCJ3ZWVrc0ZvckdvdkZldGNoIiwiRXhwYW5kSWNvbiIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUFycm93c0FsdCIsIm9uQ2xpY2siLCJTdW1tYXJ5R3JhcGhNb2RhbCIsInNldE9wZW4iLCJtaW5pIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwicCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjUwIiwicHJpbWFyeSIsInAxIiwiX3JlZiIsIl9yZWYyIiwibjYwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1diZURhc2hib2FyZC9XYmVTdW1tYXJ5QmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBTdW1tYXJ5R3JhcGggfSBmcm9tICcuL1N1bW1hcnlHcmFwaCc7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgSW5mb1Rvb2x0aXAgfSBmcm9tICdzcmMvdWkta2l0L0luZm9Ub29sdGlwL0luZm9Ub29sdGlwJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYUFycm93c0FsdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBTdW1tYXJ5R3JhcGhNb2RhbCB9IGZyb20gJy4vU3VtbWFyeUdyYXBoTW9kYWwnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuXG50eXBlIFByb3BzID0ge1xuICB3YXRlckF1dGhvcml0eUlkOiBudW1iZXI7XG4gIHBhdGhvZ2VuOiBzdHJpbmc7XG4gIGlzUnRsOiBib29sZWFuO1xufTtcblxudHlwZSBEYXRhID0ge1xuICBjbGVhbl9wZXJjZW50YWdlOiBudW1iZXI7XG4gIGNsZWFuZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2VlazogbnVtYmVyO1xuICBpbmNyZWFzaW5nX3RyZW5kX3BlcmNlbnRhZ2U6IG51bWJlcjtcbiAgaW5mZWN0ZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2VlazogbnVtYmVyO1xuICBpbmZlY3RlZF9wZXJjZW50YWdlOiBudW1iZXI7XG4gIGFyZWFzX3dpdGhfYWN0aXZlX3NhbXBsaW5nc19wZXJjZW50YWdlOiBudW1iZXI7XG4gIHBvcHVsYXRpb246IG51bWJlcjtcbiAgd2Vla3NfZm9yX2dvdl9mZXRjaDogeyB3ZWVrczogc3RyaW5nW107IHhfYXhpczogc3RyaW5nW10gfTtcbn07XG5cbmV4cG9ydCBjb25zdCBXYmVTdW1tYXJ5QmFyOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eUlkLCBpc1J0bCwgcGF0aG9nZW4gfSA9IHByb3BzO1xuICBjb25zdCBpbml0aWFsU3VtbWFyeVN0YXRlID0ge1xuICAgIGNsZWFuX3BlcmNlbnRhZ2U6IDAsXG4gICAgY2xlYW5lZF9nYXBfZnJvbV9wcmV2aW91c193ZWVrOiAwLFxuICAgIGluY3JlYXNpbmdfdHJlbmRfcGVyY2VudGFnZTogMCxcbiAgICBpbmZlY3RlZF9nYXBfZnJvbV9wcmV2aW91c193ZWVrOiAwLFxuICAgIGluZmVjdGVkX3BlcmNlbnRhZ2U6IDAsXG4gICAgYXJlYXNfd2l0aF9hY3RpdmVfc2FtcGxpbmdzX3BlcmNlbnRhZ2U6IDAsXG4gICAgcG9wdWxhdGlvbjogMCxcbiAgICB3ZWVrc19mb3JfZ292X2ZldGNoOiB7IHdlZWtzOiBbXSwgeF9heGlzOiBbXSB9LFxuICB9O1xuICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSB1c2VTdGF0ZTxEYXRhPihpbml0aWFsU3VtbWFyeVN0YXRlKTtcbiAgY29uc3QgW2lzU3VtbWFyeUdyYXBoTW9kYWxPcGVuLCBzZXRJc1N1bW1hcnlHcmFwaE1vZGFsT3Blbl0gPVxuICAgIHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgZmV0Y2hBbmRTZXREYXRhID0gKCkgPT4ge1xuICAgIGF4aW9zXG4gICAgICAuZ2V0KFxuICAgICAgICB1cmxzKHsgd2F0ZXJBdXRob3JpdHlJZDogd2F0ZXJBdXRob3JpdHlJZCwgcGF0aG9nZW4gfSkud2JlRGFzaGJvYXJkXG4gICAgICAgICAgLnN1bW1hcnlCYXIudXJsLFxuICAgICAgKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHNldERhdGEocmVzcG9uc2UuZGF0YS5zdW1tYXJ5KTtcbiAgICAgIH0pO1xuICB9O1xuICBjb25zdCBwb3NpdGl2ZU9yTmVnYXRpdmVTdHJpbmcgPSAobnVtYmVyKSA9PiB7XG4gICAgaWYgKE1hdGguc2lnbihudW1iZXIpID09PSAxKSB7XG4gICAgICByZXR1cm4gYCske251bWJlcn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVtYmVyO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVFeHBhbmRDbGljayA9ICgpID0+IHtcbiAgICBzZXRJc1N1bW1hcnlHcmFwaE1vZGFsT3Blbih0cnVlKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh3YXRlckF1dGhvcml0eUlkID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBmZXRjaEFuZFNldERhdGEoKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgc2V0RGF0YShpbml0aWFsU3VtbWFyeVN0YXRlKTtcbiAgICB9O1xuICB9LCBbd2F0ZXJBdXRob3JpdHlJZCwgcGF0aG9nZW5dKTtcblxuICByZXR1cm4gKFxuICAgIDxCb3hDb250YWluZXI+XG4gICAgICA8VG9wU2VjdGlvbj5cbiAgICAgICAgPEJveD5cbiAgICAgICAgICA8UGVyY2VudGFnZUxhYmVsIGlzUnRsPXtpc1J0bH0+XG4gICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgZGF0YT17aTE4bi50KFxuICAgICAgICAgICAgICAgICdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkudG9vbHRpcC5jbGVhbicsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5jbGVhbmVkX2FyZWFzJyxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmNsZWFuZWRfYXJlYXMnKX1cbiAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgPC9QZXJjZW50YWdlTGFiZWw+XG5cbiAgICAgICAgICA8UGVyY2VudGFnZT57ZGF0YS5jbGVhbl9wZXJjZW50YWdlfSU8L1BlcmNlbnRhZ2U+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgIHtwb3NpdGl2ZU9yTmVnYXRpdmVTdHJpbmcoZGF0YS5jbGVhbmVkX2dhcF9mcm9tX3ByZXZpb3VzX3dlZWspfXsnICd9XG4gICAgICAgICAgICB7aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkuZnJvbV9sYXN0X3dlZWsnKX1cbiAgICAgICAgICA8L1BlcmNlbnRhZ2VEZXNjcmlwdGlvbj5cbiAgICAgICAgPC9Cb3g+XG4gICAgICAgIDxCb3g+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VMYWJlbCBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICAgIGRhdGE9e2kxOG4udChcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LnRvb2x0aXAuaW5mZWN0ZWQnLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KFxuICAgICAgICAgICAgICAgICdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkuaW5mZWN0ZWRfYXJlYXMnLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkuaW5mZWN0ZWRfYXJlYXMnKX1cbiAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgPC9QZXJjZW50YWdlTGFiZWw+XG4gICAgICAgICAgPFBlcmNlbnRhZ2U+e2RhdGEuaW5mZWN0ZWRfcGVyY2VudGFnZX0lPC9QZXJjZW50YWdlPlxuICAgICAgICAgIDxQZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgICAgICB7cG9zaXRpdmVPck5lZ2F0aXZlU3RyaW5nKGRhdGEuaW5mZWN0ZWRfZ2FwX2Zyb21fcHJldmlvdXNfd2Vlayl9eycgJ31cbiAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5mcm9tX2xhc3Rfd2VlaycpfVxuICAgICAgICAgIDwvUGVyY2VudGFnZURlc2NyaXB0aW9uPlxuICAgICAgICA8L0JveD5cbiAgICAgICAgPEJveD5cbiAgICAgICAgICA8UGVyY2VudGFnZUxhYmVsIGlzUnRsPXtpc1J0bH0+XG4gICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgZGF0YT17aTE4bi50KFxuICAgICAgICAgICAgICAgICdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkudG9vbHRpcC50cmVuZCcsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS50cmVuZCcpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkudHJlbmQnKX1cbiAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgPC9QZXJjZW50YWdlTGFiZWw+XG4gICAgICAgICAgPFBlcmNlbnRhZ2U+e2RhdGEuaW5jcmVhc2luZ190cmVuZF9wZXJjZW50YWdlfSU8L1BlcmNlbnRhZ2U+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQud2JlX3N1bW1hcnkud2l0aF9pbmNyZWFzZWRfdmlydXNfbG9hZCcsXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvUGVyY2VudGFnZURlc2NyaXB0aW9uPlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvVG9wU2VjdGlvbj5cbiAgICAgIDxCb3R0b21TZWN0aW9uPlxuICAgICAgICA8Qm94PlxuICAgICAgICAgIDxQZXJjZW50YWdlTGFiZWwgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxJbmZvVG9vbHRpcFxuICAgICAgICAgICAgICBkYXRhPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS50b29sdGlwLmNvdmVyYWdlJyxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgdGl0bGU9e2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LmNvdmVyYWdlJyl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5jb3ZlcmFnZScpfVxuICAgICAgICAgICAgPC9JbmZvVG9vbHRpcD5cbiAgICAgICAgICA8L1BlcmNlbnRhZ2VMYWJlbD5cbiAgICAgICAgICA8UGVyY2VudGFnZT5cbiAgICAgICAgICAgIHtkYXRhLmFyZWFzX3dpdGhfYWN0aXZlX3NhbXBsaW5nc19wZXJjZW50YWdlfSVcbiAgICAgICAgICA8L1BlcmNlbnRhZ2U+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5wb3B1bGF0aW9uJyl9eycgJ31cbiAgICAgICAgICAgIHtkYXRhLnBvcHVsYXRpb259XG4gICAgICAgICAgPC9QZXJjZW50YWdlRGVzY3JpcHRpb24+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8R3JhcGhCb3g+XG4gICAgICAgICAgPFBlcmNlbnRhZ2VMYWJlbCBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICAgIGRhdGE9e2kxOG4udChcbiAgICAgICAgICAgICAgICAnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLndiZV9zdW1tYXJ5LnRvb2x0aXAubnZsX29mX2FsbCcsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5udmxfb2ZfYWxsJyl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC53YmVfc3VtbWFyeS5udmxfb2ZfYWxsJyl9XG4gICAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICAgIDwvUGVyY2VudGFnZUxhYmVsPlxuICAgICAgICAgIDxHcmFwaENvbnRhaW5lciBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgPFN1bW1hcnlHcmFwaFxuICAgICAgICAgICAgICBwYXRob2dlbj17cGF0aG9nZW59XG4gICAgICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ9e3dhdGVyQXV0aG9yaXR5SWR9XG4gICAgICAgICAgICAgIHdlZWtzRm9yR292RmV0Y2g9e2RhdGEud2Vla3NfZm9yX2dvdl9mZXRjaH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8RXhwYW5kSWNvbiBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uXG4gICAgICAgICAgICAgICAgaWNvbj17ZmFBcnJvd3NBbHR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRXhwYW5kQ2xpY2soKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvRXhwYW5kSWNvbj5cbiAgICAgICAgICAgIHtpc1N1bW1hcnlHcmFwaE1vZGFsT3BlbiAmJiAoXG4gICAgICAgICAgICAgIDxTdW1tYXJ5R3JhcGhNb2RhbCBzZXRPcGVuPXtzZXRJc1N1bW1hcnlHcmFwaE1vZGFsT3Blbn0+XG4gICAgICAgICAgICAgICAgPFN1bW1hcnlHcmFwaFxuICAgICAgICAgICAgICAgICAgcGF0aG9nZW49e3BhdGhvZ2VufVxuICAgICAgICAgICAgICAgICAgd2F0ZXJBdXRob3JpdHlJZD17d2F0ZXJBdXRob3JpdHlJZH1cbiAgICAgICAgICAgICAgICAgIHdlZWtzRm9yR292RmV0Y2g9e2RhdGEud2Vla3NfZm9yX2dvdl9mZXRjaH1cbiAgICAgICAgICAgICAgICAgIG1pbmk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3VtbWFyeUdyYXBoTW9kYWw+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvR3JhcGhDb250YWluZXI+XG4gICAgICAgIDwvR3JhcGhCb3g+XG4gICAgICA8L0JvdHRvbVNlY3Rpb24+XG4gICAgPC9Cb3hDb250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBCb3hDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogMTIyNHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiBHaWxyb3ktVWx0cmFMaWdodDtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYDtcblxuY29uc3QgQm94ID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMjRweCkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGhlaWdodDogMTIycHg7XG4gIHdpZHRoOiAzMzBweDtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBHcmFwaEJveCA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDAgMDtcbiAgYmFja2dyb3VuZDogI2ZjZmNmYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBoZWlnaHQ6IDEyMnB4O1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IEdyYXBoQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICB3aWR0aDogNjB2dztcbiAgfVxuXG4gIG1hcmdpbi10b3A6IDVweDtcbiAgd2lkdGg6IDMwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5jb25zdCBFeHBhbmRJY29uID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICR7KHApID0+IChwLmlzUnRsID8gJ2xlZnQ6IDVweDsnIDogJ3JpZ2h0OiA1cHg7Jyl9XG4gIHRvcDogNXB4O1xuXG4gIHN2ZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjUwfTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgUGVyY2VudGFnZUxhYmVsID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgdG9wOiAtMjBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICBmb250LXNpemU6IDE2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgbGVmdDogMDtcbiAgJHsocCkgPT4gKHAuaXNSdGwgPyAncmlnaHQ6IDBweDsnIDogJ2xlZnQ6IDBweDsnKX1cbmA7XG5cbmNvbnN0IFBlcmNlbnRhZ2UgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IGNhbGMoMjBweCArIDJ2dyk7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuYDtcblxuY29uc3QgUGVyY2VudGFnZURlc2NyaXB0aW9uID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNTBweCkge1xuICAgIGZvbnQtc2l6ZTogY2FsYyg5cHggKyAwLjZ2dyk7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgZm9udC1zaXplOiBjYWxjKDRweCArIDAuNnZ3KTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuYDtcblxuY29uc3QgQm90dG9tU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjUwcHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDUwJTtcbmA7XG5cbmNvbnN0IFRvcFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiA1MCU7XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsS0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8saUJBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGtCQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxrQkFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsTUFBQSxHQUFBVixPQUFBO0FBQWlELFNBQUFXLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBYix3QkFBQWlCLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENB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