@kando-env/kando-ui 1.2.55-alpha.19 → 1.2.55-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/lib/Widgets/Map/Map.js +16 -44
  2. package/lib/Widgets/Map/edges/Edge.js +3 -11
  3. package/lib/Widgets/Map/edges/Edges.js +4 -8
  4. package/lib/Widgets/Map/events/EventIndicatorHover.js +2 -2
  5. package/lib/hooks/useUserTimeZone.js +5 -5
  6. package/lib/i18n/en.json +2 -6
  7. package/lib/i18n/he.json +1 -3
  8. package/lib/macros/getVersion.js +2 -2
  9. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +1 -2
  10. package/lib/pages/EventsPage/events/event_info/EventInfo.js +2 -2
  11. package/lib/pages/EventsPage/events/event_info/sources/Source.js +2 -2
  12. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +2 -2
  13. package/lib/pages/EventsPage/events/events_list/EventsList.js +4 -9
  14. package/lib/pages/ImportGisPage/ValidationResponse.js +2 -2
  15. package/lib/pages/SamplingsPage/SamplingActionDropdown.js +3 -3
  16. package/lib/pages/SamplingsPage/SamplingMobileModal.js +42 -133
  17. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +8 -8
  18. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +17 -19
  19. package/lib/pages/SamplingsPage/SamplingProperties/style.module.scss +2 -27
  20. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +10 -2
  21. package/lib/pages/SamplingsPage/SamplingsMobileList.js +3 -4
  22. package/lib/pages/SamplingsPage/SamplingsPage.js +1 -2
  23. package/lib/pages/SamplingsPage/samplingsPageUtils.js +17 -73
  24. package/lib/pages/SamplingsPage/style.module.scss +3 -3
  25. package/lib/pages/SamplingsPage/table.styles.scss +0 -4
  26. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +3 -4
  27. package/lib/store/events/actionTypes.js +2 -4
  28. package/lib/store/events/actions.js +1 -9
  29. package/lib/store/events/reducer.js +1 -6
  30. package/lib/ui-kit/DropDown/DropDown.js +1 -2
  31. package/lib/ui-kit/DropDown/DropDownItem.js +4 -7
  32. package/lib/ui-kit/KandoTable/KandoTable.js +4 -2
  33. package/lib/ui-kit/KandoTable/style.module.scss +5 -0
  34. package/lib/utilities/urls.js +2 -2
  35. package/package.json +1 -1
  36. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +0 -113
@@ -35,8 +35,6 @@ var _wazeIcon = _interopRequireDefault(require("assets/icons/navigation/waze-ico
35
35
 
36
36
  var _uiKit = require("ui-kit");
37
37
 
38
- var _SamplingStatusHelper = require("ui-kit/SamplingStatus/SamplingStatusHelper");
39
-
40
38
  var _actionsCreator = require("store/samplings/actionsCreator");
41
39
 
42
40
  var _urls = require("utilities/urls");
@@ -72,42 +70,43 @@ var ListGroupItemStyle = (0, _styledComponents.default)(_reactBootstrap.ListGrou
72
70
  })(["font-size:", ";height:55px !important;justify-content:center !important;align-items:center;gap:5px;border-bottom:0.5px solid #858a947d !important;color:", " !important;"], function (_ref3) {
73
71
  var theme = _ref3.theme;
74
72
  return theme.fontSize.md;
75
- }, function (props) {
76
- return props.disabled ? '#a6a6a6' : props.theme.samplingsPage.mobile.modalListItemColor;
73
+ }, function (_ref4) {
74
+ var theme = _ref4.theme;
75
+ return theme.samplingsPage.mobile.modalListItemColor;
77
76
  });
78
77
 
79
78
  var RowInfoStyle = _styledComponents.default.div.withConfig({
80
79
  displayName: "SamplingMobileModal__RowInfoStyle",
81
80
  componentId: "sc-ksxd5-4"
82
- })(["display:block;background:", ";border-top-left-radius:14px;border-top-right-radius:14px;border-bottom:0.5px solid #858a947d;padding:22px 32px 0;"], function (_ref4) {
83
- var theme = _ref4.theme;
81
+ })(["display:block;background:", ";border-top-left-radius:14px;border-top-right-radius:14px;border-bottom:0.5px solid #858a947d;padding:22px 32px 0;"], function (_ref5) {
82
+ var theme = _ref5.theme;
84
83
  return theme.colorScheme.natural.n1;
85
84
  });
86
85
 
87
86
  var InfoLineStyle = _styledComponents.default.div.withConfig({
88
87
  displayName: "SamplingMobileModal__InfoLineStyle",
89
88
  componentId: "sc-ksxd5-5"
90
- })(["border-top:1px solid #858a947d;color:", ";display:flex;justify-content:space-between;width:100%;padding:16px 0;"], function (_ref5) {
91
- var theme = _ref5.theme;
89
+ })(["border-top:1px solid #858a947d;color:", ";display:flex;justify-content:space-between;width:100%;padding:16px 0;"], function (_ref6) {
90
+ var theme = _ref6.theme;
92
91
  return theme.colorScheme.natural.n60;
93
92
  });
94
93
 
95
94
  var OverlayStyle = _styledComponents.default.div.withConfig({
96
95
  displayName: "SamplingMobileModal__OverlayStyle",
97
96
  componentId: "sc-ksxd5-6"
98
- })(["background-color:", ";width:100%;height:100vh;left:0;bottom:0;position:fixed;z-index:", ";"], function (_ref6) {
99
- var theme = _ref6.theme;
100
- return theme.samplingsPage.mobile.modalOverlayBackground;
101
- }, function (_ref7) {
97
+ })(["background-color:", ";width:100%;height:100vh;left:0;bottom:0;position:fixed;z-index:", ";"], function (_ref7) {
102
98
  var theme = _ref7.theme;
99
+ return theme.samplingsPage.mobile.modalOverlayBackground;
100
+ }, function (_ref8) {
101
+ var theme = _ref8.theme;
103
102
  return theme.zIndexes.modal;
104
103
  });
105
104
 
106
- var MainButtonStyle = (0, _styledComponents.default)(_uiKit.Button).withConfig({
107
- displayName: "SamplingMobileModal__MainButtonStyle",
105
+ var CollectButtonStyle = (0, _styledComponents.default)(_uiKit.Button).withConfig({
106
+ displayName: "SamplingMobileModal__CollectButtonStyle",
108
107
  componentId: "sc-ksxd5-7"
109
- })(["font-size:18px;margin:10px;width:calc(100vw - 20px);border:none;height:53px;background-color:", " !important;border-radius:14px !important;"], function (_ref8) {
110
- var theme = _ref8.theme;
108
+ })(["font-size:18px;margin:10px;width:calc(100vw - 20px);border:none;height:53px;background-color:", " !important;border-radius:14px !important;"], function (_ref9) {
109
+ var theme = _ref9.theme;
111
110
  return theme.colorScheme.natural.n1;
112
111
  });
113
112
 
@@ -124,8 +123,8 @@ var ContactNumberRowStyle = _styledComponents.default.a.withConfig({
124
123
  var SiteDetailsStyle = _styledComponents.default.div.withConfig({
125
124
  displayName: "SamplingMobileModal__SiteDetailsStyle",
126
125
  componentId: "sc-ksxd5-10"
127
- })(["font-family:Nunito,Gilroy,Arial,Helvetica,sans-serif;font-size:12px;display:flex;justify-content:space-between;margin:0 0 10px;line-height:30px;color:", ";"], function (_ref9) {
128
- var theme = _ref9.theme;
126
+ })(["font-family:Nunito,Gilroy,Arial,Helvetica,sans-serif;font-size:12px;display:flex;justify-content:space-between;margin:0 0 10px;line-height:30px;color:", ";"], function (_ref10) {
127
+ var theme = _ref10.theme;
129
128
  return theme.colorScheme.natural.n60;
130
129
  });
131
130
 
@@ -151,29 +150,29 @@ var StatusContainerStyle = _styledComponents.default.div.attrs(function (props)
151
150
  }).withConfig({
152
151
  displayName: "SamplingMobileModal__StatusContainerStyle",
153
152
  componentId: "sc-ksxd5-14"
154
- })(["display:flex;flex-direction:row-reverse;align-items:center;gap:4px;img{height:14px;width:14px;}", ""], function (_ref10) {
155
- var isMobileProperties = _ref10.isMobileProperties;
153
+ })(["display:flex;flex-direction:row-reverse;align-items:center;gap:4px;img{height:14px;width:14px;}", ""], function (_ref11) {
154
+ var isMobileProperties = _ref11.isMobileProperties;
156
155
  return isMobileProperties && "\n justify-content: flex-end;\n ";
157
156
  });
158
157
 
159
158
  var CloseTopButtonStyle = _styledComponents.default.div.withConfig({
160
159
  displayName: "SamplingMobileModal__CloseTopButtonStyle",
161
160
  componentId: "sc-ksxd5-15"
162
- })(["align-items:center;cursor:pointer;position:absolute;top:-40px;right:10px;width:30px;height:30px;background:", ";color:", ";border:2px solid ", ";border-radius:50%;text-align:center;font-size:20px;line-height:1.44em;margin:0 8px 0 0;padding:2px 0 0;"], function (_ref11) {
163
- var theme = _ref11.theme;
164
- return theme.colorScheme.natural.n100;
165
- }, function (_ref12) {
161
+ })(["align-items:center;cursor:pointer;position:absolute;top:-40px;right:10px;width:30px;height:30px;background:", ";color:", ";border:2px solid ", ";border-radius:50%;text-align:center;font-size:20px;line-height:1.44em;margin:0 8px 0 0;padding:2px 0 0;"], function (_ref12) {
166
162
  var theme = _ref12.theme;
167
- return theme.colorScheme.natural.n1;
163
+ return theme.colorScheme.natural.n100;
168
164
  }, function (_ref13) {
169
165
  var theme = _ref13.theme;
166
+ return theme.colorScheme.natural.n1;
167
+ }, function (_ref14) {
168
+ var theme = _ref14.theme;
170
169
  return theme.colorScheme.natural.n100;
171
170
  });
172
171
 
173
- var SamplingMobileModal = function SamplingMobileModal(_ref14) {
174
- var onCloseModal = _ref14.onCloseModal,
175
- sampling = _ref14.sampling,
176
- isMobileProperties = _ref14.isMobileProperties;
172
+ var SamplingMobileModal = function SamplingMobileModal(_ref15) {
173
+ var onCloseModal = _ref15.onCloseModal,
174
+ sampling = _ref15.sampling,
175
+ isMobileProperties = _ref15.isMobileProperties;
177
176
  var contact = sampling.contact,
178
177
  contactNumber = sampling.contact_number,
179
178
  labName = sampling.lab_name,
@@ -192,11 +191,7 @@ var SamplingMobileModal = function SamplingMobileModal(_ref14) {
192
191
  return state.global_data.waterAuthorityId;
193
192
  });
194
193
 
195
- var handleActionClick = function handleActionClick(op) {
196
- if (!op) {
197
- return;
198
- }
199
-
194
+ var handleClick = function handleClick(op) {
200
195
  var id = sampling.id;
201
196
  dispatch((0, _actionsCreator.getSamplingById)(id));
202
197
  var samplingPropertiesUrlParams = (0, _urls.urls)({
@@ -215,100 +210,6 @@ var SamplingMobileModal = function SamplingMobileModal(_ref14) {
215
210
  var lat_lng = manholeAddress.lat_lng;
216
211
  var locationStr = "".concat(lat_lng[0], ",").concat(lat_lng[1]);
217
212
  var locationStrWaze = "ll=".concat(locationStr);
218
- var mobileActionsOptsMap = {
219
- collect: {
220
- clickOp: _samplingsPageUtils.COLLECT_SAMPLING_OP,
221
- value: _i18n.default.t('samplings_page.cancel_sampling')
222
- },
223
- cancel: {
224
- clickOp: _samplingsPageUtils.CANCEL_SAMPLING_OP,
225
- value: _i18n.default.t('samplings_page.cancel_sampling')
226
- },
227
- revert_cancel: {
228
- clickOp: _samplingsPageUtils.REVERT_CANCELLED_SAMPLING_OP,
229
- value: _i18n.default.t('samplings_page.revert_cancelation')
230
- },
231
- delete: {
232
- clickOp: _samplingsPageUtils.DELETE_SAMPLING_OP,
233
- value: _i18n.default.t('samplings_page.delete')
234
- },
235
- properties_edit: {
236
- clickOp: _samplingsPageUtils.EDIT_PROPERTIES_OP,
237
- value: _i18n.default.t('samplings_page.sampling_properties')
238
- },
239
- manhole_edit: {
240
- clickOp: _samplingsPageUtils.MANHOLE_PROPERTIES_OP,
241
- value: _i18n.default.t('samplings_page.manhole_properties')
242
- }
243
- };
244
-
245
- var buildActionItem = function buildActionItem(key, props) {
246
- var opt = mobileActionsOptsMap[key];
247
- var disabled = props ? props['disabled'] : false;
248
- var clickOp = disabled ? false : opt['clickOp'];
249
- return /*#__PURE__*/_react.default.createElement(ListGroupItemStyle, {
250
- onClick: function onClick() {
251
- return handleActionClick(clickOp);
252
- },
253
- disabled: disabled
254
- }, opt['value']);
255
- };
256
-
257
- var mainButtonAction = function mainButtonAction(status) {
258
- var fmtStatus = (0, _SamplingStatusHelper.formatSamplingOperationStatus)(status.machine_name);
259
-
260
- if (['planned', 'active', 'ready'].includes(fmtStatus)) {
261
- return _samplingsPageUtils.COLLECT_SAMPLING_OP;
262
- }
263
-
264
- return _samplingsPageUtils.EDIT_PROPERTIES_OP;
265
- };
266
-
267
- var mainButtonTitle = function mainButtonTitle(status) {
268
- var fmtStatus = (0, _SamplingStatusHelper.formatSamplingOperationStatus)(status.machine_name);
269
-
270
- if (['planned', 'active', 'ready'].includes(fmtStatus)) {
271
- return _i18n.default.t('samplings_page.collect');
272
- } else if (fmtStatus === 'collected') {
273
- return _i18n.default.t('samplings_page.sampling_properties');
274
- }
275
-
276
- return _i18n.default.t('samplings_page.sampling_properties');
277
- };
278
-
279
- var buildMobileActions = function buildMobileActions() {
280
- var fmtStatus = (0, _SamplingStatusHelper.formatSamplingOperationStatus)(status.machine_name);
281
- var result = [];
282
-
283
- if (['planned', 'active', 'ready'].includes(fmtStatus)) {
284
- result.push(buildActionItem('cancel'));
285
- result.push(buildActionItem('manhole_edit', {
286
- disabled: true
287
- }));
288
- } else if (fmtStatus === 'collected') {
289
- result.push(buildActionItem('cancel'));
290
- result.push(buildActionItem('manhole_edit', {
291
- disabled: true
292
- }));
293
- } else if (fmtStatus === 'canceled') {
294
- result.push(buildActionItem('revert_cancel', {
295
- disabled: true
296
- }));
297
- result.push(buildActionItem('manhole_edit', {
298
- disabled: true
299
- }));
300
- } else if (fmtStatus === 'completed') {
301
- result.push(buildActionItem('cancel', {
302
- disabled: true
303
- }));
304
- result.push(buildActionItem('manhole_edit', {
305
- disabled: true
306
- }));
307
- }
308
-
309
- return result;
310
- };
311
-
312
213
  return /*#__PURE__*/_react.default.createElement(SamplingMobileModalStyle, null, /*#__PURE__*/_react.default.createElement(OverlayStyle, null), /*#__PURE__*/_react.default.createElement(ModalContainerStyle, null, /*#__PURE__*/_react.default.createElement(ListGroupStyle, null, /*#__PURE__*/_react.default.createElement(RowInfoStyle, null, /*#__PURE__*/_react.default.createElement(CloseTopButtonStyle, {
313
214
  onClick: onCloseModal
314
215
  }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
@@ -341,15 +242,23 @@ var SamplingMobileModal = function SamplingMobileModal(_ref14) {
341
242
  }, /*#__PURE__*/_react.default.createElement("img", {
342
243
  src: _samplingModalPhone.default,
343
244
  alt: "pin"
344
- }), contact || _i18n.default.t('samplings_page.no_contact'))), buildMobileActions()), /*#__PURE__*/_react.default.createElement(MainButtonStyle, {
245
+ }), contact || _i18n.default.t('samplings_page.no_contact'))), /*#__PURE__*/_react.default.createElement(ListGroupItemStyle, {
246
+ onClick: function onClick(e) {
247
+ return handleClick(_samplingsPageUtils.EDIT_PROPERTIES_OP);
248
+ }
249
+ }, _i18n.default.t('samplings_page.sampling_properties')), /*#__PURE__*/_react.default.createElement(ListGroupItemStyle, null, _i18n.default.t('samplings_page.manhole_properties')), /*#__PURE__*/_react.default.createElement(ListGroupItemStyle, {
250
+ onClick: function onClick(e) {
251
+ return handleClick(_samplingsPageUtils.CANCEL_SAMPLING_OP);
252
+ }
253
+ }, _i18n.default.t('samplings_page.cancel_sampling'))), /*#__PURE__*/_react.default.createElement(CollectButtonStyle, {
345
254
  variant: "primary",
346
255
  rounded: false,
347
256
  outline: true,
348
- onClick: function onClick() {
349
- return handleActionClick(mainButtonAction(status));
257
+ onClick: function onClick(e) {
258
+ return handleClick(_samplingsPageUtils.COLLECT_SAMPLING_OP);
350
259
  }
351
- }, mainButtonTitle(status))));
260
+ }, _i18n.default.t('samplings_page.collect'))));
352
261
  };
353
262
 
354
263
  exports.SamplingMobileModal = SamplingMobileModal;
355
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nTW9iaWxlTW9kYWwudHN4Il0sIm5hbWVzIjpbIlNhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZSIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicDEiLCJMaXN0R3JvdXBTdHlsZSIsIkxpc3RHcm91cCIsIk1vZGFsQ29udGFpbmVyU3R5bGUiLCJ6SW5kZXhlcyIsIm1vZGFsIiwiTGlzdEdyb3VwSXRlbVN0eWxlIiwiSXRlbSIsImZvbnRTaXplIiwibWQiLCJwcm9wcyIsImRpc2FibGVkIiwic2FtcGxpbmdzUGFnZSIsIm1vYmlsZSIsIm1vZGFsTGlzdEl0ZW1Db2xvciIsIlJvd0luZm9TdHlsZSIsIm5hdHVyYWwiLCJuMSIsIkluZm9MaW5lU3R5bGUiLCJuNjAiLCJPdmVybGF5U3R5bGUiLCJtb2RhbE92ZXJsYXlCYWNrZ3JvdW5kIiwiTWFpbkJ1dHRvblN0eWxlIiwiQnV0dG9uIiwiU2l0ZVN0eWxlIiwiQ29udGFjdE51bWJlclJvd1N0eWxlIiwiYSIsIlNpdGVEZXRhaWxzU3R5bGUiLCJTaXRlRGV0YWlsc0ZpcnN0U3R5bGUiLCJTaXRlRGV0YWlsc1NlY29uZFN0eWxlIiwiQm90dG9tU2VjdGlvblN0eWxlIiwiU3RhdHVzQ29udGFpbmVyU3R5bGUiLCJhdHRycyIsImlzTW9iaWxlUHJvcGVydGllcyIsIkNsb3NlVG9wQnV0dG9uU3R5bGUiLCJuMTAwIiwiU2FtcGxpbmdNb2JpbGVNb2RhbCIsIm9uQ2xvc2VNb2RhbCIsInNhbXBsaW5nIiwiY29udGFjdCIsImNvbnRhY3ROdW1iZXIiLCJjb250YWN0X251bWJlciIsImxhYk5hbWUiLCJsYWJfbmFtZSIsIm1hbmhvbGVBZGRyZXNzIiwibWFuaG9sZV9hZGRyZXNzIiwic3RhdHVzIiwic2l0ZSIsInNhbXBsaW5nSWQiLCJzYW1wbGluZ19pZCIsInNhbXBsaW5nRGF0ZSIsInNhbXBsaW5nX2RhdGUiLCJzYW1wbGluZ1RpbWUiLCJzYW1wbGluZ190aW1lIiwiaGlzdG9yeSIsImRpc3BhdGNoIiwibmF2Q29udGV4dCIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsImhhbmRsZUFjdGlvbkNsaWNrIiwib3AiLCJpZCIsInNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcyIsImxvY2FsZSIsInB1c2giLCJzYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZSIsInVybCIsImdldEFkZHJlc3MiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJ0ZXh0IiwibGVuZ3RoIiwic2xpY2UiLCJsYXRfbG5nIiwibG9jYXRpb25TdHIiLCJsb2NhdGlvblN0cldhemUiLCJtb2JpbGVBY3Rpb25zT3B0c01hcCIsImNvbGxlY3QiLCJjbGlja09wIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsInZhbHVlIiwiaTE4biIsInQiLCJjYW5jZWwiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJyZXZlcnRfY2FuY2VsIiwiUkVWRVJUX0NBTkNFTExFRF9TQU1QTElOR19PUCIsImRlbGV0ZSIsIkRFTEVURV9TQU1QTElOR19PUCIsInByb3BlcnRpZXNfZWRpdCIsIkVESVRfUFJPUEVSVElFU19PUCIsIm1hbmhvbGVfZWRpdCIsIk1BTkhPTEVfUFJPUEVSVElFU19PUCIsImJ1aWxkQWN0aW9uSXRlbSIsImtleSIsIm9wdCIsIm1haW5CdXR0b25BY3Rpb24iLCJmbXRTdGF0dXMiLCJtYWNoaW5lX25hbWUiLCJpbmNsdWRlcyIsIm1haW5CdXR0b25UaXRsZSIsImJ1aWxkTW9iaWxlQWN0aW9ucyIsInJlc3VsdCIsImZhVGltZXMiLCJQaW4iLCJTdHlsZSIsIndhemVMaW5rIiwid2F6ZUljb24iLCJnb29nbGVMaW5rIiwiZ29vZ2xlTWFwc0ljb24iLCJQaG9uZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBSUE7O0FB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QTlEckIsQ0FERixlQWlFRSw2QkFBQyxlQUFEO0FBQ0UsSUFBQSxPQUFPLEVBQUMsU0FEVjtBQUVFLElBQUEsT0FBTyxFQUFFLEtBRlg7QUFHRSxJQUFBLE9BQU8sTUFIVDtBQUlFLElBQUEsT0FBTyxFQUFFO0FBQUEsYUFBTXpDLGlCQUFpQixDQUFDb0MsZ0JBQWdCLENBQUNuRCxNQUFELENBQWpCLENBQXZCO0FBQUE7QUFKWCxLQU1HdUQsZUFBZSxDQUFDdkQsTUFBRCxDQU5sQixDQWpFRixDQUZGLENBREY7QUErRUQsQ0F0Tk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIFJlYWN0RWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IExpc3RHcm91cCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcC8nO1xuaW1wb3J0IHsgZmFUaW1lcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbmltcG9ydCBQaG9uZSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLW1vZGFsLXBob25lLnN2Zyc7XG5pbXBvcnQgUGluIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvc2FtcGxpbmctbW9kYWwtcGluLnN2Zyc7XG5pbXBvcnQgU2FtcGxpbmdTdGF0dXMgZnJvbSAnc3JjL3VpLWtpdC9TYW1wbGluZ1N0YXR1cy9TYW1wbGluZ1N0YXR1cyc7XG5pbXBvcnQgZ29vZ2xlTWFwc0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9uYXZpZ2F0aW9uL2dvb2dsZV9tYXBzX2ljb24ucG5nJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgd2F6ZUljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9uYXZpZ2F0aW9uL3dhemUtaWNvbi5wbmcnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnc3JjL3VpLWtpdCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzIH0gZnJvbSAnc3JjL3VpLWtpdC9TYW1wbGluZ1N0YXR1cy9TYW1wbGluZ1N0YXR1c0hlbHBlcic7XG5pbXBvcnQgeyBnZXRTYW1wbGluZ0J5SWQgfSBmcm9tICdzcmMvc3RvcmUvc2FtcGxpbmdzL2FjdGlvbnNDcmVhdG9yJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuXG5pbXBvcnQgU3R5bGUgZnJvbSAnLi9zdHlsZS5tb2R1bGUuc2Nzcyc7XG5cbmltcG9ydCB7XG4gIENBTkNFTF9TQU1QTElOR19PUCxcbiAgQ09MTEVDVF9TQU1QTElOR19PUCxcbiAgREVMRVRFX1NBTVBMSU5HX09QLFxuICBFRElUX1BST1BFUlRJRVNfT1AsXG4gIE1BTkhPTEVfUFJPUEVSVElFU19PUCxcbiAgTU9CSUxFX01PREFMX1RFWFRfTEVOR1RILFxuICBSRVZFUlRfQ0FOQ0VMTEVEX1NBTVBMSU5HX09QLFxuICBTYW1wbGluZ0RhdGEsXG59IGZyb20gJy4vc2FtcGxpbmdzUGFnZVV0aWxzJztcblxuaW50ZXJmYWNlIFNhbXBsaW5nTW9iaWxlUHJvcHMge1xuICBvbkNsb3NlTW9kYWw6ICgpID0+IHZvaWQ7XG4gIHNhbXBsaW5nOiBTYW1wbGluZ0RhdGE7XG4gIGlzTW9iaWxlUHJvcGVydGllcz86IGJvb2xlYW47XG59XG5jb25zdCBTYW1wbGluZ01vYmlsZU1vZGFsU3R5bGUgPSBzdHlsZWQuZGl2YFxuICAqIHtcbiAgICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIH1cbiAgLmRyb3ByaWdodCB7XG4gICAgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIDo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuICB9XG5gO1xuXG5jb25zdCBMaXN0R3JvdXBTdHlsZSA9IHN0eWxlZChMaXN0R3JvdXApYFxuICAvKiBvdmVycmlkZSBzZXJ2ZXIgc3R5bGUgKi9cbiAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG5gO1xuY29uc3QgTW9kYWxDb250YWluZXJTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuYDtcblxuY29uc3QgTGlzdEdyb3VwSXRlbVN0eWxlID0gc3R5bGVkKExpc3RHcm91cC5JdGVtKWBcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLm1kfTtcbiAgaGVpZ2h0OiA1NXB4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCAjODU4YTk0N2QgIWltcG9ydGFudCA7XG4gIGNvbG9yOiAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5kaXNhYmxlZFxuICAgICAgPyAnI2E2YTZhNidcbiAgICAgIDogcHJvcHMudGhlbWUuc2FtcGxpbmdzUGFnZS5tb2JpbGUubW9kYWxMaXN0SXRlbUNvbG9yfSAhaW1wb3J0YW50O1xuYDtcblxuY29uc3QgUm93SW5mb1N0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE0cHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxNHB4O1xuICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCAjODU4YTk0N2Q7XG4gIHBhZGRpbmc6IDIycHggMzJweCAwO1xuYDtcblxuY29uc3QgSW5mb0xpbmVTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODU4YTk0N2Q7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTZweCAwO1xuYDtcblxuY29uc3QgT3ZlcmxheVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgIHRoZW1lLnNhbXBsaW5nc1BhZ2UubW9iaWxlLm1vZGFsT3ZlcmxheUJhY2tncm91bmR9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuYDtcblxuY29uc3QgTWFpbkJ1dHRvblN0eWxlID0gc3R5bGVkKEJ1dHRvbilgXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAxMHB4O1xuICB3aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpO1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogNTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7XG5gO1xuXG5jb25zdCBTaXRlU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjMDAwO1xuYDtcblxuY29uc3QgQ29udGFjdE51bWJlclJvd1N0eWxlID0gc3R5bGVkLmFgXG4gIGltZyB7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgfVxuYDtcblxuY29uc3QgU2l0ZURldGFpbHNTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtZmFtaWx5OiBOdW5pdG8sIEdpbHJveSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07XG5gO1xuXG5jb25zdCBTaXRlRGV0YWlsc0ZpcnN0U3R5bGUgPSBzdHlsZWQuZGl2YGA7XG5cbmNvbnN0IFNpdGVEZXRhaWxzU2Vjb25kU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIG1hcmdpbjogNXB4IDAgMDtcbmA7XG5cbmNvbnN0IEJvdHRvbVNlY3Rpb25TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbmA7XG5cbmludGVyZmFjZSBTYW1wbGluZ3NNb2JpbGVTdHlsZVByb3BzIHtcbiAgaXNNb2JpbGVQcm9wZXJ0aWVzPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU3RhdHVzQ29udGFpbmVyU3R5bGUgPSBzdHlsZWQuZGl2LmF0dHJzKFxuICAocHJvcHM6IFNhbXBsaW5nc01vYmlsZVN0eWxlUHJvcHMpID0+ICh7XG4gICAgaXNNb2JpbGVQcm9wZXJ0aWVzOiBwcm9wcy5pc01vYmlsZVByb3BlcnRpZXMsXG4gIH0pLFxuKWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgaW1nIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gIH1cbiAgJHsoeyBpc01vYmlsZVByb3BlcnRpZXMgfSkgPT5cbiAgICBpc01vYmlsZVByb3BlcnRpZXMgJiZcbiAgICBgXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYH1cbmA7XG5cbmNvbnN0IENsb3NlVG9wQnV0dG9uU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNDBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX07XG4gIGJvcmRlcjogMnB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDRlbTtcbiAgbWFyZ2luOiAwIDhweCAwIDA7XG4gIHBhZGRpbmc6IDJweCAwIDA7XG5gO1xuXG5leHBvcnQgY29uc3QgU2FtcGxpbmdNb2JpbGVNb2RhbDogRkM8U2FtcGxpbmdNb2JpbGVQcm9wcz4gPSAoe1xuICBvbkNsb3NlTW9kYWwsXG4gIHNhbXBsaW5nLFxuICBpc01vYmlsZVByb3BlcnRpZXMsXG59KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb250YWN0LFxuICAgIGNvbnRhY3RfbnVtYmVyOiBjb250YWN0TnVtYmVyLFxuICAgIGxhYl9uYW1lOiBsYWJOYW1lLFxuICAgIG1hbmhvbGVfYWRkcmVzczogbWFuaG9sZUFkZHJlc3MsXG4gICAgc3RhdHVzLFxuICAgIHNpdGUsXG4gICAgc2FtcGxpbmdfaWQ6IHNhbXBsaW5nSWQsXG4gICAgc2FtcGxpbmdfZGF0ZTogc2FtcGxpbmdEYXRlLFxuICAgIHNhbXBsaW5nX3RpbWU6IHNhbXBsaW5nVGltZSxcbiAgfSA9IHNhbXBsaW5nO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG5cbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUFjdGlvbkNsaWNrID0gKG9wOiBzdHJpbmcgfCBudWxsKSA9PiB7XG4gICAgaWYgKCFvcCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgaWQgfSA9IHNhbXBsaW5nO1xuICAgIGRpc3BhdGNoKGdldFNhbXBsaW5nQnlJZChpZCkpO1xuICAgIGNvbnN0IHNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcyA9IHVybHMoe1xuICAgICAgaWQ6IGlkLFxuICAgICAgbG9jYWxlOiBuYXZDb250ZXh0LmxvY2FsZSxcbiAgICAgIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgICBvcDogb3AsXG4gICAgfSk7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzVXJsUGFyYW1zLnNhbXBsaW5nc1BhZ2Uuc2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUudXJsLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZ2V0QWRkcmVzcyA9ICgpID0+IHtcbiAgICByZXR1cm4gTU9CSUxFX01PREFMX1RFWFRfTEVOR1RIIDwgbWFuaG9sZUFkZHJlc3MudGV4dC5sZW5ndGhcbiAgICAgID8gbWFuaG9sZUFkZHJlc3MudGV4dC5zbGljZSgwLCBNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgpICsgJ1xcdTIwMjYnXG4gICAgICA6IG1hbmhvbGVBZGRyZXNzLnRleHQ7XG4gIH07XG5cbiAgY29uc3QgeyBsYXRfbG5nIH0gPSBtYW5ob2xlQWRkcmVzcztcbiAgY29uc3QgbG9jYXRpb25TdHIgPSBgJHtsYXRfbG5nWzBdfSwke2xhdF9sbmdbMV19YDtcbiAgY29uc3QgbG9jYXRpb25TdHJXYXplID0gYGxsPSR7bG9jYXRpb25TdHJ9YDtcblxuICBjb25zdCBtb2JpbGVBY3Rpb25zT3B0c01hcDogeyBba2V5OiBzdHJpbmddOiBPYmplY3QgfSA9IHtcbiAgICBjb2xsZWN0OiB7XG4gICAgICBjbGlja09wOiBDT0xMRUNUX1NBTVBMSU5HX09QLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY2FuY2VsX3NhbXBsaW5nJyksXG4gICAgfSxcbiAgICBjYW5jZWw6IHtcbiAgICAgIGNsaWNrT3A6IENBTkNFTF9TQU1QTElOR19PUCxcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNhbmNlbF9zYW1wbGluZycpLFxuICAgIH0sXG4gICAgcmV2ZXJ0X2NhbmNlbDoge1xuICAgICAgY2xpY2tPcDogUkVWRVJUX0NBTkNFTExFRF9TQU1QTElOR19PUCxcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnJldmVydF9jYW5jZWxhdGlvbicpLFxuICAgIH0sXG4gICAgZGVsZXRlOiB7XG4gICAgICBjbGlja09wOiBERUxFVEVfU0FNUExJTkdfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5kZWxldGUnKSxcbiAgICB9LFxuICAgIHByb3BlcnRpZXNfZWRpdDoge1xuICAgICAgY2xpY2tPcDogRURJVF9QUk9QRVJUSUVTX09QLFxuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfcHJvcGVydGllcycpLFxuICAgIH0sXG4gICAgbWFuaG9sZV9lZGl0OiB7XG4gICAgICBjbGlja09wOiBNQU5IT0xFX1BST1BFUlRJRVNfT1AsXG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5tYW5ob2xlX3Byb3BlcnRpZXMnKSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQWN0aW9uSXRlbSA9IChrZXk6IHN0cmluZywgcHJvcHM/OiBvYmplY3QpOiBSZWFjdEVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IG9wdCA9IG1vYmlsZUFjdGlvbnNPcHRzTWFwW2tleV07XG4gICAgY29uc3QgZGlzYWJsZWQgPSBwcm9wcyA/IHByb3BzWydkaXNhYmxlZCddIDogZmFsc2U7XG4gICAgY29uc3QgY2xpY2tPcCA9IGRpc2FibGVkID8gZmFsc2UgOiBvcHRbJ2NsaWNrT3AnXTtcbiAgICByZXR1cm4gKFxuICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVBY3Rpb25DbGljayhjbGlja09wKX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgPlxuICAgICAgICB7b3B0Wyd2YWx1ZSddfVxuICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBtYWluQnV0dG9uQWN0aW9uID0gKHN0YXR1cykgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoZm10U3RhdHVzKSkge1xuICAgICAgcmV0dXJuIENPTExFQ1RfU0FNUExJTkdfT1A7XG4gICAgfVxuICAgIHJldHVybiBFRElUX1BST1BFUlRJRVNfT1A7XG4gIH07XG5cbiAgY29uc3QgbWFpbkJ1dHRvblRpdGxlID0gKHN0YXR1cykgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoZm10U3RhdHVzKSkge1xuICAgICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY29sbGVjdCcpO1xuICAgIH0gZWxzZSBpZiAoZm10U3RhdHVzID09PSAnY29sbGVjdGVkJykge1xuICAgICAgcmV0dXJuIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfcHJvcGVydGllcycpO1xuICAgIH1cbiAgICByZXR1cm4gaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19wcm9wZXJ0aWVzJyk7XG4gIH07XG5cbiAgY29uc3QgYnVpbGRNb2JpbGVBY3Rpb25zID0gKCkgPT4ge1xuICAgIGNvbnN0IGZtdFN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICAgIGxldCByZXN1bHQ6IFJlYWN0RWxlbWVudFtdID0gW107XG5cbiAgICBpZiAoWydwbGFubmVkJywgJ2FjdGl2ZScsICdyZWFkeSddLmluY2x1ZGVzKGZtdFN0YXR1cykpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJykpO1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdtYW5ob2xlX2VkaXQnLCB7IGRpc2FibGVkOiB0cnVlIH0pKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NvbGxlY3RlZCcpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnY2FuY2VsJykpO1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdtYW5ob2xlX2VkaXQnLCB7IGRpc2FibGVkOiB0cnVlIH0pKTtcbiAgICB9IGVsc2UgaWYgKGZtdFN0YXR1cyA9PT0gJ2NhbmNlbGVkJykge1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdyZXZlcnRfY2FuY2VsJywgeyBkaXNhYmxlZDogdHJ1ZSB9KSk7XG4gICAgICByZXN1bHQucHVzaChidWlsZEFjdGlvbkl0ZW0oJ21hbmhvbGVfZWRpdCcsIHsgZGlzYWJsZWQ6IHRydWUgfSkpO1xuICAgIH0gZWxzZSBpZiAoZm10U3RhdHVzID09PSAnY29tcGxldGVkJykge1xuICAgICAgcmVzdWx0LnB1c2goYnVpbGRBY3Rpb25JdGVtKCdjYW5jZWwnLCB7IGRpc2FibGVkOiB0cnVlIH0pKTtcbiAgICAgIHJlc3VsdC5wdXNoKGJ1aWxkQWN0aW9uSXRlbSgnbWFuaG9sZV9lZGl0JywgeyBkaXNhYmxlZDogdHJ1ZSB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTYW1wbGluZ01vYmlsZU1vZGFsU3R5bGU+XG4gICAgICA8T3ZlcmxheVN0eWxlIC8+XG4gICAgICA8TW9kYWxDb250YWluZXJTdHlsZT5cbiAgICAgICAgPExpc3RHcm91cFN0eWxlPlxuICAgICAgICAgIDxSb3dJbmZvU3R5bGU+XG4gICAgICAgICAgICA8Q2xvc2VUb3BCdXR0b25TdHlsZSBvbkNsaWNrPXtvbkNsb3NlTW9kYWx9PlxuICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhVGltZXN9IC8+XG4gICAgICAgICAgICA8L0Nsb3NlVG9wQnV0dG9uU3R5bGU+XG4gICAgICAgICAgICA8U2l0ZURldGFpbHNTdHlsZT5cbiAgICAgICAgICAgICAgPFNpdGVEZXRhaWxzRmlyc3RTdHlsZT5cbiAgICAgICAgICAgICAgICA8U2l0ZVN0eWxlPntzaXRlfTwvU2l0ZVN0eWxlPlxuICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nSWR9PC9kaXY+XG4gICAgICAgICAgICAgIDwvU2l0ZURldGFpbHNGaXJzdFN0eWxlPlxuICAgICAgICAgICAgICA8U2l0ZURldGFpbHNTZWNvbmRTdHlsZT5cbiAgICAgICAgICAgICAgICA8U3RhdHVzQ29udGFpbmVyU3R5bGUgaXNNb2JpbGVQcm9wZXJ0aWVzPXtpc01vYmlsZVByb3BlcnRpZXN9PlxuICAgICAgICAgICAgICAgICAgPFNhbXBsaW5nU3RhdHVzIHN0YXR1cz17c3RhdHVzfSAvPlxuICAgICAgICAgICAgICAgIDwvU3RhdHVzQ29udGFpbmVyU3R5bGU+XG4gICAgICAgICAgICAgICAgPEJvdHRvbVNlY3Rpb25TdHlsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nRGF0ZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nVGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0JvdHRvbVNlY3Rpb25TdHlsZT5cbiAgICAgICAgICAgICAgPC9TaXRlRGV0YWlsc1NlY29uZFN0eWxlPlxuICAgICAgICAgICAgPC9TaXRlRGV0YWlsc1N0eWxlPlxuICAgICAgICAgICAgPEluZm9MaW5lU3R5bGU+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLmxhYl9uYW1lJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAge2xhYk5hbWUgfHwgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS53YXNfbm90X3NlbGVjdGVkJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvSW5mb0xpbmVTdHlsZT5cbiAgICAgICAgICA8L1Jvd0luZm9TdHlsZT5cblxuICAgICAgICAgIDxMaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgICAgICAgICA8aW1nIHNyYz17UGlufSBhbHQ9XCJwaW5cIiAvPlxuICAgICAgICAgICAgPHNwYW4+e2dldEFkZHJlc3MoKX08L3NwYW4+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPXtgaHR0cHM6Ly93d3cud2F6ZS5jb20vdWw/JHtsb2NhdGlvblN0cldhemV9Jm5hdmlnYXRlPXllc2B9XG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT17U3R5bGUud2F6ZUxpbmt9IHNyYz17d2F6ZUljb259IGFsdD1cIndhemUtaWNvblwiIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPXtgaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8/YXBpPTEmb3JpZ2luPUN1cnJlbnQrTG9jYXRpb24mZGVzdGluYXRpb249JHtsb2NhdGlvblN0cn1gfVxuICAgICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUuZ29vZ2xlTGlua31cbiAgICAgICAgICAgICAgICBzcmM9e2dvb2dsZU1hcHNJY29ufVxuICAgICAgICAgICAgICAgIGFsdD1cImdvb2dsZS1tYXAtaWNvblwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG5cbiAgICAgICAgICA8TGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgICAgPENvbnRhY3ROdW1iZXJSb3dTdHlsZVxuICAgICAgICAgICAgICBocmVmPXtjb250YWN0TnVtYmVyID8gYHRlbDoke2NvbnRhY3ROdW1iZXJ9YCA6ICcjJ31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e1Bob25lfSBhbHQ9XCJwaW5cIiAvPlxuICAgICAgICAgICAgICB7Y29udGFjdCB8fCBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLm5vX2NvbnRhY3QnKX1cbiAgICAgICAgICAgIDwvQ29udGFjdE51bWJlclJvd1N0eWxlPlxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuXG4gICAgICAgICAge2J1aWxkTW9iaWxlQWN0aW9ucygpfVxuICAgICAgICA8L0xpc3RHcm91cFN0eWxlPlxuICAgICAgICA8TWFpbkJ1dHRvblN0eWxlXG4gICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgIHJvdW5kZWQ9e2ZhbHNlfVxuICAgICAgICAgIG91dGxpbmVcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVBY3Rpb25DbGljayhtYWluQnV0dG9uQWN0aW9uKHN0YXR1cykpfVxuICAgICAgICA+XG4gICAgICAgICAge21haW5CdXR0b25UaXRsZShzdGF0dXMpfVxuICAgICAgICA8L01haW5CdXR0b25TdHlsZT5cbiAgICAgIDwvTW9kYWxDb250YWluZXJTdHlsZT5cbiAgICA8L1NhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZT5cbiAgKTtcbn07XG4iXX0=
264
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nTW9iaWxlTW9kYWwudHN4Il0sIm5hbWVzIjpbIlNhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZSIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicDEiLCJMaXN0R3JvdXBTdHlsZSIsIkxpc3RHcm91cCIsIk1vZGFsQ29udGFpbmVyU3R5bGUiLCJ6SW5kZXhlcyIsIm1vZGFsIiwiTGlzdEdyb3VwSXRlbVN0eWxlIiwiSXRlbSIsImZvbnRTaXplIiwibWQiLCJzYW1wbGluZ3NQYWdlIiwibW9iaWxlIiwibW9kYWxMaXN0SXRlbUNvbG9yIiwiUm93SW5mb1N0eWxlIiwibmF0dXJhbCIsIm4xIiwiSW5mb0xpbmVTdHlsZSIsIm42MCIsIk92ZXJsYXlTdHlsZSIsIm1vZGFsT3ZlcmxheUJhY2tncm91bmQiLCJDb2xsZWN0QnV0dG9uU3R5bGUiLCJCdXR0b24iLCJTaXRlU3R5bGUiLCJDb250YWN0TnVtYmVyUm93U3R5bGUiLCJhIiwiU2l0ZURldGFpbHNTdHlsZSIsIlNpdGVEZXRhaWxzRmlyc3RTdHlsZSIsIlNpdGVEZXRhaWxzU2Vjb25kU3R5bGUiLCJCb3R0b21TZWN0aW9uU3R5bGUiLCJTdGF0dXNDb250YWluZXJTdHlsZSIsImF0dHJzIiwicHJvcHMiLCJpc01vYmlsZVByb3BlcnRpZXMiLCJDbG9zZVRvcEJ1dHRvblN0eWxlIiwibjEwMCIsIlNhbXBsaW5nTW9iaWxlTW9kYWwiLCJvbkNsb3NlTW9kYWwiLCJzYW1wbGluZyIsImNvbnRhY3QiLCJjb250YWN0TnVtYmVyIiwiY29udGFjdF9udW1iZXIiLCJsYWJOYW1lIiwibGFiX25hbWUiLCJtYW5ob2xlQWRkcmVzcyIsIm1hbmhvbGVfYWRkcmVzcyIsInN0YXR1cyIsInNpdGUiLCJzYW1wbGluZ0lkIiwic2FtcGxpbmdfaWQiLCJzYW1wbGluZ0RhdGUiLCJzYW1wbGluZ19kYXRlIiwic2FtcGxpbmdUaW1lIiwic2FtcGxpbmdfdGltZSIsImhpc3RvcnkiLCJkaXNwYXRjaCIsIm5hdkNvbnRleHQiLCJzdGF0ZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJ3YXRlckF1dGhvcml0eUlkIiwiZ2xvYmFsX2RhdGEiLCJoYW5kbGVDbGljayIsIm9wIiwiaWQiLCJzYW1wbGluZ1Byb3BlcnRpZXNVcmxQYXJhbXMiLCJsb2NhbGUiLCJwdXNoIiwic2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUiLCJ1cmwiLCJnZXRBZGRyZXNzIiwiTU9CSUxFX01PREFMX1RFWFRfTEVOR1RIIiwidGV4dCIsImxlbmd0aCIsInNsaWNlIiwibGF0X2xuZyIsImxvY2F0aW9uU3RyIiwibG9jYXRpb25TdHJXYXplIiwiZmFUaW1lcyIsImkxOG4iLCJ0IiwiUGluIiwiU3R5bGUiLCJ3YXplTGluayIsIndhemVJY29uIiwiZ29vZ2xlTGluayIsImdvb2dsZU1hcHNJY29uIiwiUGhvbmUiLCJlIiwiRURJVF9QUk9QRVJUSUVTX09QIiwiQ0FOQ0VMX1NBTVBMSU5HX09QIiwiQ09MTEVDVF9TQU1QTElOR19PUCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBSUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBYUEsSUFBTUEsd0JBQXdCLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLDhKQWdCakI7QUFBQSxNQUFHQyxLQUFILFFBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQyxFQUF6QztBQUFBLENBaEJpQixDQUE5Qjs7QUFvQkEsSUFBTUMsY0FBYyxHQUFHLCtCQUFPQyx5QkFBUCxDQUFIO0FBQUE7QUFBQTtBQUFBLHFEQUFwQjs7QUFLQSxJQUFNQyxtQkFBbUIsR0FBR1IsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsaUVBS1o7QUFBQSxNQUFHQyxLQUFI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LENBQUwsQ0FBTyx3QkFBUCxDQU5ILENBdEVGLENBRkYsQ0FERjtBQW9GRCxDQXZJTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IExpc3RHcm91cCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcC8nO1xuaW1wb3J0IHsgZmFUaW1lcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbmltcG9ydCBQaG9uZSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLW1vZGFsLXBob25lLnN2Zyc7XG5pbXBvcnQgUGluIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvc2FtcGxpbmctbW9kYWwtcGluLnN2Zyc7XG5pbXBvcnQgU2FtcGxpbmdTdGF0dXMgZnJvbSAnc3JjL3VpLWtpdC9TYW1wbGluZ1N0YXR1cy9TYW1wbGluZ1N0YXR1cyc7XG5pbXBvcnQgZ29vZ2xlTWFwc0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9uYXZpZ2F0aW9uL2dvb2dsZV9tYXBzX2ljb24ucG5nJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgd2F6ZUljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9uYXZpZ2F0aW9uL3dhemUtaWNvbi5wbmcnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnc3JjL3VpLWtpdCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IGdldFNhbXBsaW5nQnlJZCB9IGZyb20gJ3NyYy9zdG9yZS9zYW1wbGluZ3MvYWN0aW9uc0NyZWF0b3InO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5cbmltcG9ydCBTdHlsZSBmcm9tICcuL3N0eWxlLm1vZHVsZS5zY3NzJztcblxuaW1wb3J0IHtcbiAgQ0FOQ0VMX1NBTVBMSU5HX09QLFxuICBDT0xMRUNUX1NBTVBMSU5HX09QLFxuICBFRElUX1BST1BFUlRJRVNfT1AsXG4gIE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCxcbiAgU2FtcGxpbmdEYXRhLFxufSBmcm9tICcuL3NhbXBsaW5nc1BhZ2VVdGlscyc7XG5cbmludGVyZmFjZSBTYW1wbGluZ01vYmlsZVByb3BzIHtcbiAgb25DbG9zZU1vZGFsOiAoKSA9PiB2b2lkO1xuICBzYW1wbGluZzogU2FtcGxpbmdEYXRhO1xuICBpc01vYmlsZVByb3BlcnRpZXM/OiBib29sZWFuO1xufVxuY29uc3QgU2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgKiB7XG4gICAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICB9XG4gIC5kcm9wcmlnaHQge1xuICAgIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICA6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuYDtcblxuY29uc3QgTGlzdEdyb3VwU3R5bGUgPSBzdHlsZWQoTGlzdEdyb3VwKWBcbiAgLyogb3ZlcnJpZGUgc2VydmVyIHN0eWxlICovXG4gIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuYDtcbmNvbnN0IE1vZGFsQ29udGFpbmVyU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDB2dztcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbmA7XG5cbmNvbnN0IExpc3RHcm91cEl0ZW1TdHlsZSA9IHN0eWxlZChMaXN0R3JvdXAuSXRlbSlgXG4gIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS5tZH07XG4gIGhlaWdodDogNTVweCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbiAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgIzg1OGE5NDdkICFpbXBvcnRhbnQgO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgIHRoZW1lLnNhbXBsaW5nc1BhZ2UubW9iaWxlLm1vZGFsTGlzdEl0ZW1Db2xvcn0gIWltcG9ydGFudDtcbmA7XG5cbmNvbnN0IFJvd0luZm9TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxNHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTRweDtcbiAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgIzg1OGE5NDdkO1xuICBwYWRkaW5nOiAyMnB4IDMycHggMDtcbmA7XG5cbmNvbnN0IEluZm9MaW5lU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBib3JkZXItdG9wOiAxcHggc29saWQgIzg1OGE5NDdkO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE2cHggMDtcbmA7XG5cbmNvbnN0IE92ZXJsYXlTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT5cbiAgICB0aGVtZS5zYW1wbGluZ3NQYWdlLm1vYmlsZS5tb2RhbE92ZXJsYXlCYWNrZ3JvdW5kfTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbmA7XG5cbmNvbnN0IENvbGxlY3RCdXR0b25TdHlsZSA9IHN0eWxlZChCdXR0b24pYFxuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbjogMTBweDtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDUzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMTRweCAhaW1wb3J0YW50O1xuYDtcblxuY29uc3QgU2l0ZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzAwMDtcbmA7XG5cbmNvbnN0IENvbnRhY3ROdW1iZXJSb3dTdHlsZSA9IHN0eWxlZC5hYFxuICBpbWcge1xuICAgIG1hcmdpbjogMCA1cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFNpdGVEZXRhaWxzU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuYDtcblxuY29uc3QgU2l0ZURldGFpbHNGaXJzdFN0eWxlID0gc3R5bGVkLmRpdmBgO1xuXG5jb25zdCBTaXRlRGV0YWlsc1NlY29uZFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBtYXJnaW46IDVweCAwIDA7XG5gO1xuXG5jb25zdCBCb3R0b21TZWN0aW9uU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG5gO1xuXG5pbnRlcmZhY2UgU2FtcGxpbmdzTW9iaWxlU3R5bGVQcm9wcyB7XG4gIGlzTW9iaWxlUHJvcGVydGllcz86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN0YXR1c0NvbnRhaW5lclN0eWxlID0gc3R5bGVkLmRpdi5hdHRycyhcbiAgKHByb3BzOiBTYW1wbGluZ3NNb2JpbGVTdHlsZVByb3BzKSA9PiAoe1xuICAgIGlzTW9iaWxlUHJvcGVydGllczogcHJvcHMuaXNNb2JpbGVQcm9wZXJ0aWVzLFxuICB9KSxcbilgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHdpZHRoOiAxNHB4O1xuICB9XG4gICR7KHsgaXNNb2JpbGVQcm9wZXJ0aWVzIH0pID0+XG4gICAgaXNNb2JpbGVQcm9wZXJ0aWVzICYmXG4gICAgYFxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGB9XG5gO1xuXG5jb25zdCBDbG9zZVRvcEJ1dHRvblN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjEwMH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9O1xuICBib3JkZXI6IDJweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjEwMH07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ0ZW07XG4gIG1hcmdpbjogMCA4cHggMCAwO1xuICBwYWRkaW5nOiAycHggMCAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nTW9iaWxlTW9kYWw6IEZDPFNhbXBsaW5nTW9iaWxlUHJvcHM+ID0gKHtcbiAgb25DbG9zZU1vZGFsLFxuICBzYW1wbGluZyxcbiAgaXNNb2JpbGVQcm9wZXJ0aWVzLFxufSkgPT4ge1xuICBjb25zdCB7XG4gICAgY29udGFjdCxcbiAgICBjb250YWN0X251bWJlcjogY29udGFjdE51bWJlcixcbiAgICBsYWJfbmFtZTogbGFiTmFtZSxcbiAgICBtYW5ob2xlX2FkZHJlc3M6IG1hbmhvbGVBZGRyZXNzLFxuICAgIHN0YXR1cyxcbiAgICBzaXRlLFxuICAgIHNhbXBsaW5nX2lkOiBzYW1wbGluZ0lkLFxuICAgIHNhbXBsaW5nX2RhdGU6IHNhbXBsaW5nRGF0ZSxcbiAgICBzYW1wbGluZ190aW1lOiBzYW1wbGluZ1RpbWUsXG4gIH0gPSBzYW1wbGluZztcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZDb250ZXh0ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LFxuICApO1xuXG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PlxuICAgICAgc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVDbGljayA9IChvcCkgPT4ge1xuICAgIGNvbnN0IHsgaWQgfSA9IHNhbXBsaW5nO1xuICAgIGRpc3BhdGNoKGdldFNhbXBsaW5nQnlJZChpZCkpO1xuICAgIGNvbnN0IHNhbXBsaW5nUHJvcGVydGllc1VybFBhcmFtcyA9IHVybHMoe1xuICAgICAgaWQ6IGlkLFxuICAgICAgbG9jYWxlOiBuYXZDb250ZXh0LmxvY2FsZSxcbiAgICAgIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgICBvcDogb3AsXG4gICAgfSk7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzVXJsUGFyYW1zLnNhbXBsaW5nc1BhZ2Uuc2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUudXJsLFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZ2V0QWRkcmVzcyA9ICgpID0+IHtcbiAgICByZXR1cm4gTU9CSUxFX01PREFMX1RFWFRfTEVOR1RIIDwgbWFuaG9sZUFkZHJlc3MudGV4dC5sZW5ndGhcbiAgICAgID8gbWFuaG9sZUFkZHJlc3MudGV4dC5zbGljZSgwLCBNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgpICsgJ1xcdTIwMjYnXG4gICAgICA6IG1hbmhvbGVBZGRyZXNzLnRleHQ7XG4gIH07XG5cbiAgY29uc3QgeyBsYXRfbG5nIH0gPSBtYW5ob2xlQWRkcmVzcztcbiAgY29uc3QgbG9jYXRpb25TdHIgPSBgJHtsYXRfbG5nWzBdfSwke2xhdF9sbmdbMV19YDtcbiAgY29uc3QgbG9jYXRpb25TdHJXYXplID0gYGxsPSR7bG9jYXRpb25TdHJ9YDtcblxuICByZXR1cm4gKFxuICAgIDxTYW1wbGluZ01vYmlsZU1vZGFsU3R5bGU+XG4gICAgICA8T3ZlcmxheVN0eWxlIC8+XG4gICAgICA8TW9kYWxDb250YWluZXJTdHlsZT5cbiAgICAgICAgPExpc3RHcm91cFN0eWxlPlxuICAgICAgICAgIDxSb3dJbmZvU3R5bGU+XG4gICAgICAgICAgICA8Q2xvc2VUb3BCdXR0b25TdHlsZSBvbkNsaWNrPXtvbkNsb3NlTW9kYWx9PlxuICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhVGltZXN9IC8+XG4gICAgICAgICAgICA8L0Nsb3NlVG9wQnV0dG9uU3R5bGU+XG4gICAgICAgICAgICA8U2l0ZURldGFpbHNTdHlsZT5cbiAgICAgICAgICAgICAgPFNpdGVEZXRhaWxzRmlyc3RTdHlsZT5cbiAgICAgICAgICAgICAgICA8U2l0ZVN0eWxlPntzaXRlfTwvU2l0ZVN0eWxlPlxuICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nSWR9PC9kaXY+XG4gICAgICAgICAgICAgIDwvU2l0ZURldGFpbHNGaXJzdFN0eWxlPlxuICAgICAgICAgICAgICA8U2l0ZURldGFpbHNTZWNvbmRTdHlsZT5cbiAgICAgICAgICAgICAgICA8U3RhdHVzQ29udGFpbmVyU3R5bGUgaXNNb2JpbGVQcm9wZXJ0aWVzPXtpc01vYmlsZVByb3BlcnRpZXN9PlxuICAgICAgICAgICAgICAgICAgPFNhbXBsaW5nU3RhdHVzIHN0YXR1cz17c3RhdHVzfSAvPlxuICAgICAgICAgICAgICAgIDwvU3RhdHVzQ29udGFpbmVyU3R5bGU+XG4gICAgICAgICAgICAgICAgPEJvdHRvbVNlY3Rpb25TdHlsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nRGF0ZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nVGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0JvdHRvbVNlY3Rpb25TdHlsZT5cbiAgICAgICAgICAgICAgPC9TaXRlRGV0YWlsc1NlY29uZFN0eWxlPlxuICAgICAgICAgICAgPC9TaXRlRGV0YWlsc1N0eWxlPlxuICAgICAgICAgICAgPEluZm9MaW5lU3R5bGU+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLmxhYl9uYW1lJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAge2xhYk5hbWUgfHwgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS53YXNfbm90X3NlbGVjdGVkJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvSW5mb0xpbmVTdHlsZT5cbiAgICAgICAgICA8L1Jvd0luZm9TdHlsZT5cbiAgICAgICAgICA8TGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgICAgPGltZyBzcmM9e1Bpbn0gYWx0PVwicGluXCIgLz5cbiAgICAgICAgICAgIDxzcGFuPntnZXRBZGRyZXNzKCl9PC9zcGFuPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj17YGh0dHBzOi8vd3d3LndhemUuY29tL3VsPyR7bG9jYXRpb25TdHJXYXplfSZuYXZpZ2F0ZT15ZXNgfVxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub3JlZmVycmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9e1N0eWxlLndhemVMaW5rfSBzcmM9e3dhemVJY29ufSBhbHQ9XCJ3YXplLWljb25cIiAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj17YGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1DdXJyZW50K0xvY2F0aW9uJmRlc3RpbmF0aW9uPSR7bG9jYXRpb25TdHJ9YH1cbiAgICAgICAgICAgICAgcmVsPVwibm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlLmdvb2dsZUxpbmt9XG4gICAgICAgICAgICAgICAgc3JjPXtnb29nbGVNYXBzSWNvbn1cbiAgICAgICAgICAgICAgICBhbHQ9XCJnb29nbGUtbWFwLWljb25cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgIDxMaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgICAgICAgICA8Q29udGFjdE51bWJlclJvd1N0eWxlXG4gICAgICAgICAgICAgIGhyZWY9e2NvbnRhY3ROdW1iZXIgPyBgdGVsOiR7Y29udGFjdE51bWJlcn1gIDogJyMnfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW1nIHNyYz17UGhvbmV9IGFsdD1cInBpblwiIC8+XG4gICAgICAgICAgICAgIHtjb250YWN0IHx8IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uubm9fY29udGFjdCcpfVxuICAgICAgICAgICAgPC9Db250YWN0TnVtYmVyUm93U3R5bGU+XG4gICAgICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZSBvbkNsaWNrPXsoZSkgPT4gaGFuZGxlQ2xpY2soRURJVF9QUk9QRVJUSUVTX09QKX0+XG4gICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19wcm9wZXJ0aWVzJyl9XG4gICAgICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZT5cbiAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLm1hbmhvbGVfcHJvcGVydGllcycpfVxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgIDxMaXN0R3JvdXBJdGVtU3R5bGUgb25DbGljaz17KGUpID0+IGhhbmRsZUNsaWNrKENBTkNFTF9TQU1QTElOR19PUCl9PlxuICAgICAgICAgICAge2kxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY2FuY2VsX3NhbXBsaW5nJyl9XG4gICAgICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgICAgIDwvTGlzdEdyb3VwU3R5bGU+XG4gICAgICAgIDxDb2xsZWN0QnV0dG9uU3R5bGVcbiAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgcm91bmRlZD17ZmFsc2V9XG4gICAgICAgICAgb3V0bGluZVxuICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBoYW5kbGVDbGljayhDT0xMRUNUX1NBTVBMSU5HX09QKX1cbiAgICAgICAgPlxuICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNvbGxlY3QnKX1cbiAgICAgICAgPC9Db2xsZWN0QnV0dG9uU3R5bGU+XG4gICAgICA8L01vZGFsQ29udGFpbmVyU3R5bGU+XG4gICAgPC9TYW1wbGluZ01vYmlsZU1vZGFsU3R5bGU+XG4gICk7XG59O1xuIl19
@@ -102,7 +102,7 @@ var SamplingPropertiesHead = function SamplingPropertiesHead(props) {
102
102
  return /*#__PURE__*/_react.default.createElement("div", {
103
103
  className: _styleModule.default.samplingProperties
104
104
  }, /*#__PURE__*/_react.default.createElement("div", {
105
- className: _styleModule.default.title
105
+ className: _styleModule.default.pageTypeTitle
106
106
  }, renderTitle(pageType)), /*#__PURE__*/_react.default.createElement("div", {
107
107
  className: _styleModule.default.topSection
108
108
  }, !_reactDeviceDetect.isMobile && samplingProperties !== undefined && /*#__PURE__*/_react.default.createElement(Start, null, /*#__PURE__*/_react.default.createElement(ImageMissingComponent, {
@@ -118,17 +118,17 @@ var SamplingPropertiesHead = function SamplingPropertiesHead(props) {
118
118
  display: "inline-block"
119
119
  }))), /*#__PURE__*/_react.default.createElement("div", {
120
120
  className: _styleModule.default.gridCell
121
- }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, sampling.contact || _i18n.default.t('samplings_page.no_contact')), /*#__PURE__*/_react.default.createElement(RightSideLayout, null, /*#__PURE__*/_react.default.createElement(ContactNumberStyle, null, sampling.contact_number ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(PhoneIconStyle, {
121
+ }, sampling.contact && sampling.contact_number && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, sampling.contact ? /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, sampling.contact) : _i18n.default.t('samplings_page.no_contact'), sampling.contact_number ? /*#__PURE__*/_react.default.createElement(RightSideLayout, null, /*#__PURE__*/_react.default.createElement(ContactNumberStyle, null, /*#__PURE__*/_react.default.createElement(PhoneIconStyle, {
122
122
  src: _samplingPropertiesPhone.default
123
123
  }), /*#__PURE__*/_react.default.createElement(PhoneNumberStyle, {
124
124
  href: "tel:".concat(sampling.contact_number)
125
- }, sampling.contact_number || _i18n.default.t('samplings_page.no_contact_number'))) : _i18n.default.t('samplings_page.no_contact_number')))), /*#__PURE__*/_react.default.createElement("div", {
125
+ }, sampling.contact_number))) : '')), /*#__PURE__*/_react.default.createElement("div", {
126
126
  className: _styleModule.default.gridCell
127
127
  }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('sampling.sampling_date')), /*#__PURE__*/_react.default.createElement(RightSideLayout, null, samplingDate)), /*#__PURE__*/_react.default.createElement("div", {
128
- className: "".concat(_styleModule.default.gridCell, " ").concat(pageType === 'cancel' && _styleModule.default.hidden)
128
+ className: pageType === 'cancel' && _styleModule.default.hidden
129
129
  }, /*#__PURE__*/_react.default.createElement(LeftSideLayout, null, _i18n.default.t('samplings_page.samplings_properties.collection_time')), /*#__PURE__*/_react.default.createElement("div", {
130
130
  className: _styleModule.default.datePickerWrapper
131
- }, /*#__PURE__*/_react.default.createElement(RightSideLayout, null, /*#__PURE__*/_react.default.createElement(_reactDatepicker.default, {
131
+ }, /*#__PURE__*/_react.default.createElement(_reactDatepicker.default, {
132
132
  isInvalid: !!formik.errors.collection_time,
133
133
  onChange: function onChange(date) {
134
134
  return handleSetCollectionDate(date);
@@ -144,7 +144,7 @@ var SamplingPropertiesHead = function SamplingPropertiesHead(props) {
144
144
  selected: pageType !== 'cancel' ? collectionDate : null,
145
145
  customInput: /*#__PURE__*/_react.default.createElement(CustomDatePicker, null),
146
146
  name: "collection_time"
147
- })), formik.errors.collection_time && /*#__PURE__*/_react.default.createElement("div", {
147
+ }), formik.errors.collection_time && /*#__PURE__*/_react.default.createElement("div", {
148
148
  className: "".concat(_styleModule.default.hint, " ").concat(_styleModule.default.hint__date)
149
149
  }, formik.errors.collection_time))), /*#__PURE__*/_react.default.createElement("div", {
150
150
  className: _styleModule.default.gridCell
@@ -166,7 +166,7 @@ var LeftSideLayout = _styledComponents.default.span.withConfig({
166
166
  var RightSideLayout = _styledComponents.default.span.withConfig({
167
167
  displayName: "SamplingPropertiesHead__RightSideLayout",
168
168
  componentId: "sc-1b4o79o-1"
169
- })(["font-weight:600;"]);
169
+ })(["float:right;font-weight:600;"]);
170
170
 
171
171
  var ContactNumberStyle = _styledComponents.default.div.withConfig({
172
172
  displayName: "SamplingPropertiesHead__ContactNumberStyle",
@@ -195,4 +195,4 @@ var End = _styledComponents.default.div.withConfig({
195
195
  displayName: "SamplingPropertiesHead__End",
196
196
  componentId: "sc-1b4o79o-6"
197
197
  })(["width:100%;border:1px solid #a6acb9;border-radius:16px;overflow:hidden;padding:0 20px;box-sizing:content-box;padding:30px;"]);
198
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXNIZWFkLnRzeCJdLCJuYW1lcyI6WyJJbWFnZU1pc3NpbmdDb21wb25lbnQiLCJwcm9wcyIsImltYWdlIiwic2FtcGxpbmdQcm9wZXJ0aWVzIiwicG9pbnRfcGhvdG8iLCJTdHlsZSIsImltYWdlV3JhcHBlciIsImhlaWdodCIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZEltYWdlIiwiQ3VzdG9tRGF0ZVBpY2tlciIsInJlZiIsInZhbHVlIiwib25DbGljayIsImRhdGVQaWNrZXIiLCJTYW1wbGluZ1Byb3BlcnRpZXNIZWFkIiwic2FtcGxpbmciLCJwYWdlVHlwZSIsImlzRGF0ZVBpY2tlckRpc2FibGVkIiwiY29sbGVjdGlvbkRhdGUiLCJzZXRDb2xsZWN0aW9uRGF0ZSIsImRhdGVGb3JtYXQiLCJmb3JtaWsiLCJzYW1wbGluZ0RhdGUiLCJzYW1wbGluZ19kYXRlIiwiZm9ybWF0Iiwic2FtcGxpbmdUeXBlIiwiaTE4biIsInQiLCJtYWNoaW5lX3R5cGUiLCJoYW5kbGVTZXRDb2xsZWN0aW9uRGF0ZSIsImRhdGUiLCJzZXRGaWVsZFZhbHVlIiwicmVuZGVyVGl0bGUiLCJwYWdlMnRpdGxlIiwiY29sbGVjdCIsImNhbmNlbCIsInRpdGxlIiwidG9wU2VjdGlvbiIsImlzTW9iaWxlIiwidW5kZWZpbmVkIiwic2l0ZU5hbWUiLCJzaXRlIiwiZ3JpZCIsImdyaWRDZWxsIiwic3RhdHVzIiwiY29udGFjdCIsImNvbnRhY3RfbnVtYmVyIiwiUGhvbmUiLCJoaWRkZW4iLCJkYXRlUGlja2VyV3JhcHBlciIsImVycm9ycyIsImNvbGxlY3Rpb25fdGltZSIsInN0cmF0ZWd5IiwiaGludCIsImhpbnRfX2RhdGUiLCJzYW1wbGluZ19pZCIsIkxlZnRTaWRlTGF5b3V0Iiwic3R5bGVkIiwic3BhbiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjEwMCIsIlJpZ2h0U2lkZUxheW91dCIsIkNvbnRhY3ROdW1iZXJTdHlsZSIsImRpdiIsIlBob25lTnVtYmVyU3R5bGUiLCJhIiwic2FtcGxpbmdzUGFnZSIsIm1vYmlsZSIsInByb3BlcnRpZXNDbGlja0l0ZW1zIiwiUGhvbmVJY29uU3R5bGUiLCJpbWciLCJTdGFydCIsIkVuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7O0FBR0E7O0FBQ0E7Ozs7QUFFQTs7Ozs7O0FBT0EsU0FBU0EscUJBQVQsQ0FBK0JDLEtBQS9CLEVBRUc7QUFDRCxNQUFJQyxLQUFKOztBQUNBLE1BQUlELEtBQUssQ0FBQ0Usa0JBQU4sQ0FBeUJDLFdBQXpCLEtBQXlDLElBQTdDLEVBQW1EO0FBQ2pERixJQUFBQSxLQUFLLGdCQUNIO0FBQ0UsTUFBQSxTQUFTLEVBQUVHLHFCQUFNQyxZQURuQjtBQUVFLE1BQUEsS0FBSyxFQUFFO0FBQ0xDLFFBQUFBLE1BQU0sRUFBRSxNQURIO0FBRUxDLFFBQUFBLGNBQWMsRUFBRSxPQUZYO0FBR0xDLFFBQUFBLGtCQUFrQixFQUFFLFFBSGY7QUFJTEMsUUFBQUEsZUFBZSxnQkFBU1QsS0FBSyxDQUFDRSxrQkFBTixDQUF5QkMsV0FBbEM7QUFKVjtBQUZULE1BREY7QUFXRCxHQVpELE1BWU87QUFDTEYsSUFBQUEsS0FBSyxnQkFDSDtBQUFLLE1BQUEsU0FBUyxFQUFFRyxxQkFBTUM7QUFBdEIsb0JBQ0UsNkJBQUMsNEJBQUQsT0FERixDQURGO0FBS0Q7O0FBQ0QsU0FBT0osS0FBUDtBQUNEOztBQUVELElBQU1TLGdCQUFnQixnQkFBRyx1QkFBVyxnQkFBcUJDLEdBQXJCLEVBQTZCO0FBQUEsTUFBMUJDLEtBQTBCLFFBQTFCQSxLQUEwQjtBQUFBLE1BQW5CQyxPQUFtQixRQUFuQkEsT0FBbUI7QUFDL0Qsc0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBRVQscUJBQU1V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TSxrQkFBa0IsR0FBR1AsMEJBQU9RLEdBQVY7QUFBQTtBQUFBO0FBQUEsZ0RBQXhCOztBQUtBLElBQU1DLGdCQUFnQixHQUFHVCwwQkFBT1UsQ0FBVjtBQUFBO0FBQUE7QUFBQSxpRUFHWDtBQUFBLE1BQUdSLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ1MsYUFBTixDQUFvQkMsTUFBcEIsQ0FBMkJDLG9CQUExQztBQUFBLENBSFcsQ0FBdEI7O0FBS0EsSUFBTUMsY0FBYyxHQUFHZCwwQkFBT2UsR0FBVjtBQUFBO0FBQUE7QUFBQSwrQkFBcEI7O0FBS0EsSUFBTUMsS0FBSyxHQUFHaEIsMEJBQU9RLEdBQVY7QUFBQTtBQUFBO0FBQUEsMktBQ0EzQiw4QkFBVyxJQUFYLEdBQWtCLEtBRGxCLENBQVg7O0FBa0JBLElBQU1vQyxHQUFHLEdBQUdqQiwwQkFBT1EsR0FBVjtBQUFBO0FBQUE7QUFBQSxrSUFBVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBEYXRlUGlja2VyIGZyb20gJ3JlYWN0LWRhdGVwaWNrZXInO1xuaW1wb3J0IFJlYWN0LCB7IEZDLCBmb3J3YXJkUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFN0eWxlIGZyb20gJy4vc3R5bGUubW9kdWxlLnNjc3MnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBjYXBpdGFsaXplIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAncmVhY3QtZGV2aWNlLWRldGVjdCc7XG5cbmltcG9ydCBQaG9uZSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLXByb3BlcnRpZXMtcGhvbmUuc3ZnJztcbmltcG9ydCBTYW1wbGluZ1N0YXR1cyBmcm9tICdzcmMvdWkta2l0L1NhbXBsaW5nU3RhdHVzL1NhbXBsaW5nU3RhdHVzJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBJbWFnZU1pc3NpbmcgfSBmcm9tICdzcmMvYXNzZXRzL2ltYWdlLW1pc3Npbmcuc3ZnJztcbmltcG9ydCB7IHVzZVVzZXJTZWxlY3RlZERhdGVGb3JtYXQgfSBmcm9tICdzcmMvaG9va3MvdXNlVXNlclRpbWVab25lJztcblxuaW1wb3J0IHtcbiAgVFNhbXBsaW5nUHJvcGVydGllcyxcbiAgVFNhbXBsaW5nUHJvcGVydGllc0hlYWQsXG59IGZyb20gJy4vc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuXG5mdW5jdGlvbiBJbWFnZU1pc3NpbmdDb21wb25lbnQocHJvcHM6IHtcbiAgc2FtcGxpbmdQcm9wZXJ0aWVzOiBUU2FtcGxpbmdQcm9wZXJ0aWVzO1xufSkge1xuICBsZXQgaW1hZ2U7XG4gIGlmIChwcm9wcy5zYW1wbGluZ1Byb3BlcnRpZXMucG9pbnRfcGhvdG8gIT09IG51bGwpIHtcbiAgICBpbWFnZSA9IChcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5pbWFnZVdyYXBwZXJ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgYmFja2dyb3VuZFNpemU6ICdjb3ZlcicsXG4gICAgICAgICAgYmFja2dyb3VuZFBvc2l0aW9uOiAnY2VudGVyJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGB1cmwoJHtwcm9wcy5zYW1wbGluZ1Byb3BlcnRpZXMucG9pbnRfcGhvdG99KWAsXG4gICAgICAgIH19XG4gICAgICAvPlxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgaW1hZ2UgPSAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuaW1hZ2VXcmFwcGVyfT5cbiAgICAgICAgPEltYWdlTWlzc2luZyAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gaW1hZ2U7XG59XG5cbmNvbnN0IEN1c3RvbURhdGVQaWNrZXIgPSBmb3J3YXJkUmVmKCh7IHZhbHVlLCBvbkNsaWNrIH0sIHJlZikgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5kYXRlUGlja2VyfSByZWY9e3JlZn0gb25DbGljaz17b25DbGlja30+XG4gICAgICB7dmFsdWV9XG4gICAgPC9kaXY+XG4gICk7XG59KTtcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nUHJvcGVydGllc0hlYWQ6IEZDPFRTYW1wbGluZ1Byb3BlcnRpZXNIZWFkPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgc2FtcGxpbmdQcm9wZXJ0aWVzLFxuICAgIHNhbXBsaW5nLFxuICAgIHBhZ2VUeXBlLFxuICAgIGlzRGF0ZVBpY2tlckRpc2FibGVkLFxuICAgIGNvbGxlY3Rpb25EYXRlLFxuICAgIHNldENvbGxlY3Rpb25EYXRlLFxuICAgIGRhdGVGb3JtYXQsXG4gICAgZm9ybWlrLFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3Qgc2FtcGxpbmdEYXRlID0gbW9tZW50KHNhbXBsaW5nLnNhbXBsaW5nX2RhdGUgKiAxMDAwKS5mb3JtYXQoXG4gICAgdXNlVXNlclNlbGVjdGVkRGF0ZUZvcm1hdCgpLFxuICApO1xuICBjb25zdCBzYW1wbGluZ1R5cGUgPSBpMThuLnQoYHNhbXBsaW5nX3R5cGVzX21pbmkuJHtzYW1wbGluZy5tYWNoaW5lX3R5cGV9YCk7XG5cbiAgY29uc3QgaGFuZGxlU2V0Q29sbGVjdGlvbkRhdGUgPSAoZGF0ZSkgPT4ge1xuICAgIHNldENvbGxlY3Rpb25EYXRlKGRhdGUpO1xuICAgIGZvcm1pay5zZXRGaWVsZFZhbHVlKCdjb2xsZWN0aW9uX3RpbWUnLCBkYXRlKTtcbiAgfTtcbiAgaWYgKCFzYW1wbGluZykgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcmVuZGVyVGl0bGUgPSAocGFnZVR5cGUpID0+IHtcbiAgICBjb25zdCBwYWdlMnRpdGxlID0ge1xuICAgICAgY29sbGVjdDogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy5wYWdlX3RpdGxlX2NvbGxlY3QnKSxcbiAgICAgIGNhbmNlbDogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy5wYWdlX3RpdGxlX2NhbmNlbCcpLFxuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPntgJHtjYXBpdGFsaXplKHBhZ2UydGl0bGVbcGFnZVR5cGVdIHx8ICcnKX1gfTwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuc2FtcGxpbmdQcm9wZXJ0aWVzfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS50aXRsZX0+e3JlbmRlclRpdGxlKHBhZ2VUeXBlKX08L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnRvcFNlY3Rpb259PlxuICAgICAgICB7IWlzTW9iaWxlICYmIHNhbXBsaW5nUHJvcGVydGllcyAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgICA8U3RhcnQ+XG4gICAgICAgICAgICA8SW1hZ2VNaXNzaW5nQ29tcG9uZW50IHNhbXBsaW5nUHJvcGVydGllcz17c2FtcGxpbmdQcm9wZXJ0aWVzfSAvPlxuICAgICAgICAgIDwvU3RhcnQ+XG4gICAgICAgICl9XG4gICAgICAgIDxFbmQ+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnNpdGVOYW1lfT57c2FtcGxpbmcuc2l0ZX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuZ3JpZH0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuZ3JpZENlbGx9PlxuICAgICAgICAgICAgICA8TGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgICAgPFNhbXBsaW5nU3RhdHVzXG4gICAgICAgICAgICAgICAgICBzdGF0dXM9e3NhbXBsaW5nLnN0YXR1c31cbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk9XCJpbmxpbmUtYmxvY2tcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvTGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5ncmlkQ2VsbH0+XG4gICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICB7c2FtcGxpbmcuY29udGFjdCB8fCBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLm5vX2NvbnRhY3QnKX1cbiAgICAgICAgICAgICAgPC9MZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgPFJpZ2h0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICA8Q29udGFjdE51bWJlclN0eWxlPlxuICAgICAgICAgICAgICAgICAge3NhbXBsaW5nLmNvbnRhY3RfbnVtYmVyID8gKFxuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaG9uZUljb25TdHlsZSBzcmM9e1Bob25lfSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxQaG9uZU51bWJlclN0eWxlIGhyZWY9e2B0ZWw6JHtzYW1wbGluZy5jb250YWN0X251bWJlcn1gfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzYW1wbGluZy5jb250YWN0X251bWJlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLm5vX2NvbnRhY3RfbnVtYmVyJyl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9QaG9uZU51bWJlclN0eWxlPlxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uubm9fY29udGFjdF9udW1iZXInKVxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRhY3ROdW1iZXJTdHlsZT5cbiAgICAgICAgICAgICAgPC9SaWdodFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5ncmlkQ2VsbH0+XG4gICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZy5zYW1wbGluZ19kYXRlJyl9XG4gICAgICAgICAgICAgIDwvTGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgIDxSaWdodFNpZGVMYXlvdXQ+e3NhbXBsaW5nRGF0ZX08L1JpZ2h0U2lkZUxheW91dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1N0eWxlLmdyaWRDZWxsfSAke1xuICAgICAgICAgICAgICAgIHBhZ2VUeXBlID09PSAnY2FuY2VsJyAmJiBTdHlsZS5oaWRkZW5cbiAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy5jb2xsZWN0aW9uX3RpbWUnKX1cbiAgICAgICAgICAgICAgPC9MZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmRhdGVQaWNrZXJXcmFwcGVyfT5cbiAgICAgICAgICAgICAgICA8UmlnaHRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgICAgey8qIE5PVEUgaW5wdXQgdGltZSBmb3JtYXQgd29udGZpeCBodHRwczovL2dpdGh1Yi5jb20vSGFja2VyMHgwMS9yZWFjdC1kYXRlcGlja2VyL2lzc3Vlcy8xNzg1ICovfVxuICAgICAgICAgICAgICAgICAgPERhdGVQaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgaXNJbnZhbGlkPXshIWZvcm1pay5lcnJvcnMuY29sbGVjdGlvbl90aW1lfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGRhdGUpID0+IGhhbmRsZVNldENvbGxlY3Rpb25EYXRlKGRhdGUpfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNEYXRlUGlja2VyRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIHRpbWVJbnRlcnZhbHM9ezEwfVxuICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PXtkYXRlRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgICB0aW1lRm9ybWF0PVwiSEg6bW1cIlxuICAgICAgICAgICAgICAgICAgICBzaG93VGltZUlucHV0XG4gICAgICAgICAgICAgICAgICAgIHBvcHBlclByb3BzPXt7IHN0cmF0ZWd5OiAnZml4ZWQnIH19XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXtwYWdlVHlwZSAhPT0gJ2NhbmNlbCcgPyBjb2xsZWN0aW9uRGF0ZSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgIGN1c3RvbUlucHV0PXs8Q3VzdG9tRGF0ZVBpY2tlciAvPn1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cImNvbGxlY3Rpb25fdGltZVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvUmlnaHRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLmNvbGxlY3Rpb25fdGltZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7U3R5bGUuaGludH0gJHtTdHlsZS5oaW50X19kYXRlfWB9PlxuICAgICAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5jb2xsZWN0aW9uX3RpbWV9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmdyaWRDZWxsfT5cbiAgICAgICAgICAgICAgPExlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5zYW1wbGVfaWQnKX1cbiAgICAgICAgICAgICAgPC9MZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgPFJpZ2h0U2lkZUxheW91dD57c2FtcGxpbmcuc2FtcGxpbmdfaWR9PC9SaWdodFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5ncmlkQ2VsbH0+XG4gICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZy5zYW1wbGluZ190eXBlJyl9XG4gICAgICAgICAgICAgIDwvTGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgIDxSaWdodFNpZGVMYXlvdXQ+e3NhbXBsaW5nVHlwZX08L1JpZ2h0U2lkZUxheW91dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0VuZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgTGVmdFNpZGVMYXlvdXQgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbmA7XG5jb25zdCBSaWdodFNpZGVMYXlvdXQgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbmA7XG5jb25zdCBDb250YWN0TnVtYmVyU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbmA7XG5jb25zdCBQaG9uZU51bWJlclN0eWxlID0gc3R5bGVkLmFgXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zYW1wbGluZ3NQYWdlLm1vYmlsZS5wcm9wZXJ0aWVzQ2xpY2tJdGVtc307XG5gO1xuY29uc3QgUGhvbmVJY29uU3R5bGUgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuYDtcblxuY29uc3QgU3RhcnQgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogJHtpc01vYmlsZSA/ICcwJScgOiAnNDAlJ307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAyNXB4O1xuXG4gIGltZyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg1OGE5NDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxuYDtcbmNvbnN0IEVuZCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTZhY2I5O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBwYWRkaW5nOiAzMHB4O1xuYDtcbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXNIZWFkLnRzeCJdLCJuYW1lcyI6WyJJbWFnZU1pc3NpbmdDb21wb25lbnQiLCJwcm9wcyIsImltYWdlIiwic2FtcGxpbmdQcm9wZXJ0aWVzIiwicG9pbnRfcGhvdG8iLCJTdHlsZSIsImltYWdlV3JhcHBlciIsImhlaWdodCIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZEltYWdlIiwiQ3VzdG9tRGF0ZVBpY2tlciIsInJlZiIsInZhbHVlIiwib25DbGljayIsImRhdGVQaWNrZXIiLCJTYW1wbGluZ1Byb3BlcnRpZXNIZWFkIiwic2FtcGxpbmciLCJwYWdlVHlwZSIsImlzRGF0ZVBpY2tlckRpc2FibGVkIiwiY29sbGVjdGlvbkRhdGUiLCJzZXRDb2xsZWN0aW9uRGF0ZSIsImRhdGVGb3JtYXQiLCJmb3JtaWsiLCJzYW1wbGluZ0RhdGUiLCJzYW1wbGluZ19kYXRlIiwiZm9ybWF0Iiwic2FtcGxpbmdUeXBlIiwiaTE4biIsInQiLCJtYWNoaW5lX3R5cGUiLCJoYW5kbGVTZXRDb2xsZWN0aW9uRGF0ZSIsImRhdGUiLCJzZXRGaWVsZFZhbHVlIiwicmVuZGVyVGl0bGUiLCJwYWdlMnRpdGxlIiwiY29sbGVjdCIsImNhbmNlbCIsInBhZ2VUeXBlVGl0bGUiLCJ0b3BTZWN0aW9uIiwiaXNNb2JpbGUiLCJ1bmRlZmluZWQiLCJzaXRlTmFtZSIsInNpdGUiLCJncmlkIiwiZ3JpZENlbGwiLCJzdGF0dXMiLCJjb250YWN0IiwiY29udGFjdF9udW1iZXIiLCJQaG9uZSIsImhpZGRlbiIsImRhdGVQaWNrZXJXcmFwcGVyIiwiZXJyb3JzIiwiY29sbGVjdGlvbl90aW1lIiwic3RyYXRlZ3kiLCJoaW50IiwiaGludF9fZGF0ZSIsInNhbXBsaW5nX2lkIiwiTGVmdFNpZGVMYXlvdXQiLCJzdHlsZWQiLCJzcGFuIiwidGhlbWUiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuMTAwIiwiUmlnaHRTaWRlTGF5b3V0IiwiQ29udGFjdE51bWJlclN0eWxlIiwiZGl2IiwiUGhvbmVOdW1iZXJTdHlsZSIsImEiLCJzYW1wbGluZ3NQYWdlIiwibW9iaWxlIiwicHJvcGVydGllc0NsaWNrSXRlbXMiLCJQaG9uZUljb25TdHlsZSIsImltZyIsIlN0YXJ0IiwiRW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7QUFHQTs7QUFDQTs7OztBQUVBOzs7Ozs7QUFPQSxTQUFTQSxxQkFBVCxDQUErQkMsS0FBL0IsRUFFRztBQUNELE1BQUlDLEtBQUo7O0FBQ0EsTUFBSUQsS0FBSyxDQUFDRSxrQkFBTixDQUF5QkMsV0FBekIsS0FBeUMsSUFBN0MsRUFBbUQ7QUFDakRGLElBQUFBLEtBQUssZ0JBQ0g7QUFDRSxNQUFBLFNBQVMsRUFBRUcscUJBQU1DLFlBRG5CO0FBRUUsTUFBQSxLQUFLLEVBQUU7QUFDTEMsUUFBQUEsTUFBTSxFQUFFLE1BREg7QUFFTEMsUUFBQUEsY0FBYyxFQUFFLE9BRlg7QUFHTEMsUUFBQUEsa0JBQWtCLEVBQUUsUUFIZjtBQUlMQyxRQUFBQSxlQUFlLGdCQUFTVCxLQUFLLENBQUNFLGtCQUFOLENBQXlCQyxXQUFsQztBQUpWO0FBRlQsTUFERjtBQVdELEdBWkQsTUFZTztBQUNMRixJQUFBQSxLQUFLLGdCQUNIO0FBQUssTUFBQSxTQUFTLEVBQUVHLHFCQUFNQztBQUF0QixvQkFDRSw2QkFBQyw0QkFBRCxPQURGLENBREY7QUFLRDs7QUFDRCxTQUFPSixLQUFQO0FBQ0Q7O0FBRUQsSUFBTVMsZ0JBQWdCLGdCQUFHLHVCQUFXLGdCQUFxQkMsR0FBckIsRUFBNkI7QUFBQSxNQUExQkMsS0FBMEIsUUFBMUJBLEtBQTBCO0FBQUEsTUFBbkJDLE9BQW1CLFFBQW5CQSxPQUFtQjtBQUMvRCxzQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFF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QUFWO0FBQUE7QUFBQTtBQUFBLGdEQUF4Qjs7QUFLQSxJQUFNQyxnQkFBZ0IsR0FBR1QsMEJBQU9VLENBQVY7QUFBQTtBQUFBO0FBQUEsaUVBR1g7QUFBQSxNQUFHUixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNTLGFBQU4sQ0FBb0JDLE1BQXBCLENBQTJCQyxvQkFBMUM7QUFBQSxDQUhXLENBQXRCOztBQUtBLElBQU1DLGNBQWMsR0FBR2QsMEJBQU9lLEdBQVY7QUFBQTtBQUFBO0FBQUEsK0JBQXBCOztBQUtBLElBQU1DLEtBQUssR0FBR2hCLDBCQUFPUSxHQUFWO0FBQUE7QUFBQTtBQUFBLDJLQUNBM0IsOEJBQVcsSUFBWCxHQUFrQixLQURsQixDQUFYOztBQWtCQSxJQUFNb0MsR0FBRyxHQUFHakIsMEJBQU9RLEdBQVY7QUFBQTtBQUFBO0FBQUEsa0lBQVQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGF0ZVBpY2tlciBmcm9tICdyZWFjdC1kYXRlcGlja2VyJztcbmltcG9ydCBSZWFjdCwgeyBGQywgZm9yd2FyZFJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTdHlsZSBmcm9tICcuL3N0eWxlLm1vZHVsZS5zY3NzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgY2FwaXRhbGl6ZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJ3JlYWN0LWRldmljZS1kZXRlY3QnO1xuXG5pbXBvcnQgUGhvbmUgZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9zYW1wbGluZy1wcm9wZXJ0aWVzLXBob25lLnN2Zyc7XG5pbXBvcnQgU2FtcGxpbmdTdGF0dXMgZnJvbSAnc3JjL3VpLWtpdC9TYW1wbGluZ1N0YXR1cy9TYW1wbGluZ1N0YXR1cyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgSW1hZ2VNaXNzaW5nIH0gZnJvbSAnc3JjL2Fzc2V0cy9pbWFnZS1taXNzaW5nLnN2Zyc7XG5pbXBvcnQgeyB1c2VVc2VyU2VsZWN0ZWREYXRlRm9ybWF0IH0gZnJvbSAnc3JjL2hvb2tzL3VzZVVzZXJUaW1lWm9uZSc7XG5cbmltcG9ydCB7XG4gIFRTYW1wbGluZ1Byb3BlcnRpZXMsXG4gIFRTYW1wbGluZ1Byb3BlcnRpZXNIZWFkLFxufSBmcm9tICcuL3NhbXBsaW5nUHJvcGVydGllc1V0aWxzJztcblxuZnVuY3Rpb24gSW1hZ2VNaXNzaW5nQ29tcG9uZW50KHByb3BzOiB7XG4gIHNhbXBsaW5nUHJvcGVydGllczogVFNhbXBsaW5nUHJvcGVydGllcztcbn0pIHtcbiAgbGV0IGltYWdlO1xuICBpZiAocHJvcHMuc2FtcGxpbmdQcm9wZXJ0aWVzLnBvaW50X3Bob3RvICE9PSBudWxsKSB7XG4gICAgaW1hZ2UgPSAoXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17U3R5bGUuaW1hZ2VXcmFwcGVyfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgIGJhY2tncm91bmRTaXplOiAnY292ZXInLFxuICAgICAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgICAgICAgYmFja2dyb3VuZEltYWdlOiBgdXJsKCR7cHJvcHMuc2FtcGxpbmdQcm9wZXJ0aWVzLnBvaW50X3Bob3RvfSlgLFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICApO1xuICB9IGVsc2Uge1xuICAgIGltYWdlID0gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmltYWdlV3JhcHBlcn0+XG4gICAgICAgIDxJbWFnZU1pc3NpbmcgLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGltYWdlO1xufVxuXG5jb25zdCBDdXN0b21EYXRlUGlja2VyID0gZm9yd2FyZFJlZigoeyB2YWx1ZSwgb25DbGljayB9LCByZWYpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuZGF0ZVBpY2tlcn0gcmVmPXtyZWZ9IG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAge3ZhbHVlfVxuICAgIDwvZGl2PlxuICApO1xufSk7XG5cbmV4cG9ydCBjb25zdCBTYW1wbGluZ1Byb3BlcnRpZXNIZWFkOiBGQzxUU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZD4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIHNhbXBsaW5nUHJvcGVydGllcyxcbiAgICBzYW1wbGluZyxcbiAgICBwYWdlVHlwZSxcbiAgICBpc0RhdGVQaWNrZXJEaXNhYmxlZCxcbiAgICBjb2xsZWN0aW9uRGF0ZSxcbiAgICBzZXRDb2xsZWN0aW9uRGF0ZSxcbiAgICBkYXRlRm9ybWF0LFxuICAgIGZvcm1payxcbiAgfSA9IHByb3BzO1xuXG4gIGNvbnN0IHNhbXBsaW5nRGF0ZSA9IG1vbWVudChzYW1wbGluZy5zYW1wbGluZ19kYXRlICogMTAwMCkuZm9ybWF0KFxuICAgIHVzZVVzZXJTZWxlY3RlZERhdGVGb3JtYXQoKSxcbiAgKTtcbiAgY29uc3Qgc2FtcGxpbmdUeXBlID0gaTE4bi50KGBzYW1wbGluZ190eXBlc19taW5pLiR7c2FtcGxpbmcubWFjaGluZV90eXBlfWApO1xuXG4gIGNvbnN0IGhhbmRsZVNldENvbGxlY3Rpb25EYXRlID0gKGRhdGUpID0+IHtcbiAgICBzZXRDb2xsZWN0aW9uRGF0ZShkYXRlKTtcbiAgICBmb3JtaWsuc2V0RmllbGRWYWx1ZSgnY29sbGVjdGlvbl90aW1lJywgZGF0ZSk7XG4gIH07XG4gIGlmICghc2FtcGxpbmcpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHJlbmRlclRpdGxlID0gKHBhZ2VUeXBlKSA9PiB7XG4gICAgY29uc3QgcGFnZTJ0aXRsZSA9IHtcbiAgICAgIGNvbGxlY3Q6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMucGFnZV90aXRsZV9jb2xsZWN0JyksXG4gICAgICBjYW5jZWw6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMucGFnZV90aXRsZV9jYW5jZWwnKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj57YCR7Y2FwaXRhbGl6ZShwYWdlMnRpdGxlW3BhZ2VUeXBlXSB8fCAnJyl9YH08L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnNhbXBsaW5nUHJvcGVydGllc30+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUucGFnZVR5cGVUaXRsZX0+e3JlbmRlclRpdGxlKHBhZ2VUeXBlKX08L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnRvcFNlY3Rpb259PlxuICAgICAgICB7IWlzTW9iaWxlICYmIHNhbXBsaW5nUHJvcGVydGllcyAhPT0gdW5kZWZpbmVkICYmIChcbiAgICAgICAgICA8U3RhcnQ+XG4gICAgICAgICAgICA8SW1hZ2VNaXNzaW5nQ29tcG9uZW50IHNhbXBsaW5nUHJvcGVydGllcz17c2FtcGxpbmdQcm9wZXJ0aWVzfSAvPlxuICAgICAgICAgIDwvU3RhcnQ+XG4gICAgICAgICl9XG4gICAgICAgIDxFbmQ+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnNpdGVOYW1lfT57c2FtcGxpbmcuc2l0ZX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuZ3JpZH0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUuZ3JpZENlbGx9PlxuICAgICAgICAgICAgICA8TGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgICAgPFNhbXBsaW5nU3RhdHVzXG4gICAgICAgICAgICAgICAgICBzdGF0dXM9e3NhbXBsaW5nLnN0YXR1c31cbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk9XCJpbmxpbmUtYmxvY2tcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvTGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5ncmlkQ2VsbH0+XG4gICAgICAgICAgICAgIHtzYW1wbGluZy5jb250YWN0ICYmIHNhbXBsaW5nLmNvbnRhY3RfbnVtYmVyICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAge3NhbXBsaW5nLmNvbnRhY3QgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD57c2FtcGxpbmcuY29udGFjdH08L0xlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5ub19jb250YWN0JylcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICB7c2FtcGxpbmcuY29udGFjdF9udW1iZXIgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxSaWdodFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgICAgICAgICAgPENvbnRhY3ROdW1iZXJTdHlsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQaG9uZUljb25TdHlsZSBzcmM9e1Bob25lfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFBob25lTnVtYmVyU3R5bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17YHRlbDoke3NhbXBsaW5nLmNvbnRhY3RfbnVtYmVyfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtzYW1wbGluZy5jb250YWN0X251bWJlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUGhvbmVOdW1iZXJTdHlsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L0NvbnRhY3ROdW1iZXJTdHlsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9SaWdodFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmdyaWRDZWxsfT5cbiAgICAgICAgICAgICAgPExlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nLnNhbXBsaW5nX2RhdGUnKX1cbiAgICAgICAgICAgICAgPC9MZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgPFJpZ2h0U2lkZUxheW91dD57c2FtcGxpbmdEYXRlfTwvUmlnaHRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17cGFnZVR5cGUgPT09ICdjYW5jZWwnICYmIFN0eWxlLmhpZGRlbn0+XG4gICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy5jb2xsZWN0aW9uX3RpbWUnKX1cbiAgICAgICAgICAgICAgPC9MZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmRhdGVQaWNrZXJXcmFwcGVyfT5cbiAgICAgICAgICAgICAgICB7LyogTk9URSBpbnB1dCB0aW1lIGZvcm1hdCB3b250Zml4IGh0dHBzOi8vZ2l0aHViLmNvbS9IYWNrZXIweDAxL3JlYWN0LWRhdGVwaWNrZXIvaXNzdWVzLzE3ODUgKi99XG4gICAgICAgICAgICAgICAgPERhdGVQaWNrZXJcbiAgICAgICAgICAgICAgICAgIGlzSW52YWxpZD17ISFmb3JtaWsuZXJyb3JzLmNvbGxlY3Rpb25fdGltZX1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZGF0ZSkgPT4gaGFuZGxlU2V0Q29sbGVjdGlvbkRhdGUoZGF0ZSl9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNEYXRlUGlja2VyRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICB0aW1lSW50ZXJ2YWxzPXsxMH1cbiAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9e2RhdGVGb3JtYXR9XG4gICAgICAgICAgICAgICAgICB0aW1lRm9ybWF0PVwiSEg6bW1cIlxuICAgICAgICAgICAgICAgICAgc2hvd1RpbWVJbnB1dFxuICAgICAgICAgICAgICAgICAgcG9wcGVyUHJvcHM9e3sgc3RyYXRlZ3k6ICdmaXhlZCcgfX1cbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXtwYWdlVHlwZSAhPT0gJ2NhbmNlbCcgPyBjb2xsZWN0aW9uRGF0ZSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICBjdXN0b21JbnB1dD17PEN1c3RvbURhdGVQaWNrZXIgLz59XG4gICAgICAgICAgICAgICAgICBuYW1lPVwiY29sbGVjdGlvbl90aW1lXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLmNvbGxlY3Rpb25fdGltZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7U3R5bGUuaGludH0gJHtTdHlsZS5oaW50X19kYXRlfWB9PlxuICAgICAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5jb2xsZWN0aW9uX3RpbWV9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmdyaWRDZWxsfT5cbiAgICAgICAgICAgICAgPExlZnRTaWRlTGF5b3V0PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5zYW1wbGVfaWQnKX1cbiAgICAgICAgICAgICAgPC9MZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgPFJpZ2h0U2lkZUxheW91dD57c2FtcGxpbmcuc2FtcGxpbmdfaWR9PC9SaWdodFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5ncmlkQ2VsbH0+XG4gICAgICAgICAgICAgIDxMZWZ0U2lkZUxheW91dD5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZy5zYW1wbGluZ190eXBlJyl9XG4gICAgICAgICAgICAgIDwvTGVmdFNpZGVMYXlvdXQ+XG4gICAgICAgICAgICAgIDxSaWdodFNpZGVMYXlvdXQ+e3NhbXBsaW5nVHlwZX08L1JpZ2h0U2lkZUxheW91dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0VuZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgTGVmdFNpZGVMYXlvdXQgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbmA7XG5jb25zdCBSaWdodFNpZGVMYXlvdXQgPSBzdHlsZWQuc3BhbmBcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXdlaWdodDogNjAwO1xuYDtcblxuY29uc3QgQ29udGFjdE51bWJlclN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHg7XG5gO1xuY29uc3QgUGhvbmVOdW1iZXJTdHlsZSA9IHN0eWxlZC5hYFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2FtcGxpbmdzUGFnZS5tb2JpbGUucHJvcGVydGllc0NsaWNrSXRlbXN9O1xuYDtcbmNvbnN0IFBob25lSWNvblN0eWxlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbmA7XG5cbmNvbnN0IFN0YXJ0ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6ICR7aXNNb2JpbGUgPyAnMCUnIDogJzQwJSd9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4taW5saW5lLWVuZDogMjVweDtcblxuICBpbWcge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4NThhOTQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwLjE7XG4gIH1cbmA7XG5jb25zdCBFbmQgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2E2YWNiOTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgcGFkZGluZzogMzBweDtcbmA7XG4iXX0=