@kepler.gl/components 3.3.0-alpha.8 → 3.3.0-alpha.9

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 (52) hide show
  1. package/dist/cjs/common/file-uploader/file-upload.js +2 -1
  2. package/dist/cjs/effects/effect-configurator.js +2 -2
  3. package/dist/cjs/effects/effect-manager.js +32 -17
  4. package/dist/cjs/effects/effect-time-configurator.js +110 -42
  5. package/dist/cjs/kepler-gl.js +6 -2
  6. package/dist/cjs/modals/export-map-modal/components.js +16 -7
  7. package/dist/cjs/modals/export-map-modal/export-html-map.js +5 -9
  8. package/dist/cjs/modals/export-map-modal/export-json-map.js +4 -8
  9. package/dist/cjs/modals/export-map-modal/export-map-modal.js +21 -16
  10. package/dist/cjs/notification-panel/notification-item.js +58 -12
  11. package/dist/cjs/remote-dataset-refresh-controller.js +50 -0
  12. package/dist/cjs/side-panel/common/dataset-info.js +187 -8
  13. package/dist/cjs/side-panel/common/dataset-refresh-progress.js +63 -0
  14. package/dist/cjs/side-panel/common/dataset-title.js +76 -13
  15. package/dist/cjs/side-panel/common/source-data-catalog.js +31 -6
  16. package/dist/cjs/side-panel/filter-manager.js +7 -3
  17. package/dist/cjs/side-panel/layer-manager.js +14 -4
  18. package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +14 -4
  19. package/dist/cjs/side-panel/layer-panel/dataset-section.js +7 -3
  20. package/dist/cjs/side-panel/layer-panel/layer-configurator.js +49 -35
  21. package/dist/cjs/side-panel/layer-panel/vector-tile-layer-configurator.js +4 -3
  22. package/dist/effects/effect-manager.d.ts +1 -1
  23. package/dist/esm/common/file-uploader/file-upload.js +2 -1
  24. package/dist/esm/effects/effect-configurator.js +2 -2
  25. package/dist/esm/effects/effect-manager.js +34 -19
  26. package/dist/esm/effects/effect-time-configurator.js +111 -43
  27. package/dist/esm/kepler-gl.js +6 -2
  28. package/dist/esm/modals/export-map-modal/components.js +16 -7
  29. package/dist/esm/modals/export-map-modal/export-html-map.js +6 -10
  30. package/dist/esm/modals/export-map-modal/export-json-map.js +5 -9
  31. package/dist/esm/modals/export-map-modal/export-map-modal.js +21 -14
  32. package/dist/esm/notification-panel/notification-item.js +60 -14
  33. package/dist/esm/remote-dataset-refresh-controller.js +44 -0
  34. package/dist/esm/side-panel/common/dataset-info.js +186 -9
  35. package/dist/esm/side-panel/common/dataset-refresh-progress.js +56 -0
  36. package/dist/esm/side-panel/common/dataset-title.js +77 -14
  37. package/dist/esm/side-panel/common/source-data-catalog.js +29 -6
  38. package/dist/esm/side-panel/filter-manager.js +7 -3
  39. package/dist/esm/side-panel/layer-manager.js +14 -4
  40. package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +14 -4
  41. package/dist/esm/side-panel/layer-panel/dataset-section.js +7 -3
  42. package/dist/esm/side-panel/layer-panel/layer-configurator.js +49 -35
  43. package/dist/esm/side-panel/layer-panel/vector-tile-layer-configurator.js +4 -3
  44. package/dist/kepler-gl.d.ts +1 -0
  45. package/dist/modals/export-map-modal/components.d.ts +14 -0
  46. package/dist/remote-dataset-refresh-controller.d.ts +11 -0
  47. package/dist/side-panel/common/dataset-info.d.ts +10 -0
  48. package/dist/side-panel/common/dataset-refresh-progress.d.ts +11 -0
  49. package/dist/side-panel/common/dataset-title.d.ts +5 -0
  50. package/dist/side-panel/common/source-data-catalog.d.ts +3 -0
  51. package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -0
  52. package/package.json +16 -16
@@ -1,10 +1,12 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
1
2
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
3
  var _templateObject;
3
4
  // SPDX-License-Identifier: MIT
4
5
  // Copyright contributors to the kepler.gl project
5
6
 
6
- import React from 'react';
7
+ import React, { useCallback, useState } from 'react';
7
8
  import styled from 'styled-components';
9
+ import { DatasetType } from '@kepler.gl/constants';
8
10
  import { SidePanelSection } from '../../common/styled-components';
9
11
  import DatasetTitleFactory from './dataset-title';
10
12
  import DatasetInfoFactory from './dataset-info';
@@ -20,10 +22,25 @@ function SourceDataCatalogFactory(DatasetTitle, DatasetInfo) {
20
22
  onTitleClick = _ref.onTitleClick,
21
23
  updateTableColor = _ref.updateTableColor,
22
24
  _ref$showDeleteDatase = _ref.showDeleteDataset,
23
- showDeleteDataset = _ref$showDeleteDatase === void 0 ? false : _ref$showDeleteDatase;
25
+ showDeleteDataset = _ref$showDeleteDatase === void 0 ? false : _ref$showDeleteDatase,
26
+ refreshDataset = _ref.refreshDataset,
27
+ updateDatasetProps = _ref.updateDatasetProps;
28
+ var _useState = useState(null),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ openRefreshSettingsId = _useState2[0],
31
+ setOpenRefreshSettingsId = _useState2[1];
32
+ var onToggleRefreshSettings = useCallback(function (datasetId) {
33
+ setOpenRefreshSettingsId(function (current) {
34
+ return current === datasetId ? null : datasetId;
35
+ });
36
+ }, []);
24
37
  return /*#__PURE__*/React.createElement(SourceDataCatalogWrapper, {
25
38
  className: "source-data-catalog"
26
39
  }, Object.values(datasets).map(function (dataset) {
40
+ var _dataset$metadata;
41
+ var showRefreshSettings = openRefreshSettingsId === dataset.id;
42
+ var isRefreshing = ((_dataset$metadata = dataset.metadata) === null || _dataset$metadata === void 0 ? void 0 : _dataset$metadata.refreshStatus) === 'loading';
43
+ var showInfo = Boolean(showDatasetTable) || showRefreshSettings || isRefreshing;
27
44
  return /*#__PURE__*/React.createElement(SidePanelSection, {
28
45
  key: dataset.id
29
46
  }, /*#__PURE__*/React.createElement(DatasetTitle, {
@@ -32,13 +49,19 @@ function SourceDataCatalogFactory(DatasetTitle, DatasetInfo) {
32
49
  removeDataset: removeDataset,
33
50
  dataset: dataset,
34
51
  onTitleClick: onTitleClick,
35
- updateTableColor: updateTableColor
36
- }), showDatasetTable ? /*#__PURE__*/React.createElement(DatasetInfo, {
37
- dataset: dataset
52
+ updateTableColor: updateTableColor,
53
+ onToggleRefreshSettings: (refreshDataset || updateDatasetProps) && dataset.type === DatasetType.EXTERNALLY_HOSTED ? function () {
54
+ return onToggleRefreshSettings(dataset.id);
55
+ } : undefined
56
+ }), showInfo ? /*#__PURE__*/React.createElement(DatasetInfo, {
57
+ dataset: dataset,
58
+ showRefreshSettings: showRefreshSettings,
59
+ refreshDataset: refreshDataset,
60
+ updateDatasetProps: updateDatasetProps
38
61
  }) : null);
39
62
  }));
40
63
  };
41
64
  return SourceDataCatalog;
42
65
  }
43
66
  export default SourceDataCatalogFactory;
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInN0eWxlZCIsIlNpZGVQYW5lbFNlY3Rpb24iLCJEYXRhc2V0VGl0bGVGYWN0b3J5IiwiRGF0YXNldEluZm9GYWN0b3J5IiwiU291cmNlRGF0YUNhdGFsb2dXcmFwcGVyIiwiZGl2IiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCIsInByb3BzIiwidGhlbWUiLCJ0cmFuc2l0aW9uIiwiU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5IiwiZGVwcyIsIkRhdGFzZXRUaXRsZSIsIkRhdGFzZXRJbmZvIiwiU291cmNlRGF0YUNhdGFsb2ciLCJfcmVmIiwiZGF0YXNldHMiLCJzaG93RGF0YXNldFRhYmxlIiwicmVtb3ZlRGF0YXNldCIsIm9uVGl0bGVDbGljayIsInVwZGF0ZVRhYmxlQ29sb3IiLCJfcmVmJHNob3dEZWxldGVEYXRhc2UiLCJzaG93RGVsZXRlRGF0YXNldCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJPYmplY3QiLCJ2YWx1ZXMiLCJtYXAiLCJkYXRhc2V0Iiwia2V5IiwiaWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9jb21tb24vc291cmNlLWRhdGEtY2F0YWxvZy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge29wZW5EZWxldGVNb2RhbCwgVmlzU3RhdGVBY3Rpb25zLCBBY3Rpb25IYW5kbGVyfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtEYXRhQ29udGFpbmVySW50ZXJmYWNlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7UkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQge1NpZGVQYW5lbFNlY3Rpb259IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgRGF0YXNldFRpdGxlRmFjdG9yeSBmcm9tICcuL2RhdGFzZXQtdGl0bGUnO1xuaW1wb3J0IERhdGFzZXRJbmZvRmFjdG9yeSBmcm9tICcuL2RhdGFzZXQtaW5mbyc7XG5cbmNvbnN0IFNvdXJjZURhdGFDYXRhbG9nV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG5gO1xuXG50eXBlIE1pbmlEYXRhc2V0ID0ge1xuICBpZDogc3RyaW5nO1xuICBjb2xvcjogUkdCQ29sb3I7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlO1xuICB0eXBlPzogc3RyaW5nO1xufTtcblxudHlwZSBNaW5pRGF0YXNldHMgPSB7XG4gIFtrZXk6IHN0cmluZ106IE1pbmlEYXRhc2V0O1xufTtcblxuZXhwb3J0IHR5cGUgU291cmNlRGF0YUNhdGFsb2dQcm9wcyA9IHtcbiAgZGF0YXNldHM6IE1pbmlEYXRhc2V0cztcbiAgc2hvd0RlbGV0ZURhdGFzZXQ/OiBib29sZWFuO1xuICBvblRpdGxlQ2xpY2s/OiAoKSA9PiB2b2lkO1xuICBzaG93RGF0YXNldFRhYmxlPzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnNob3dEYXRhc2V0VGFibGU+O1xuICB1cGRhdGVUYWJsZUNvbG9yOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMudXBkYXRlVGFibGVDb2xvcj47XG4gIHJlbW92ZURhdGFzZXQ/OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBvcGVuRGVsZXRlTW9kYWw+O1xufTtcblxuU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5LmRlcHMgPSBbRGF0YXNldFRpdGxlRmFjdG9yeSwgRGF0YXNldEluZm9GYWN0b3J5XTtcblxuZnVuY3Rpb24gU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5KFxuICBEYXRhc2V0VGl0bGU6IFJldHVyblR5cGU8dHlwZW9mIERhdGFzZXRUaXRsZUZhY3Rvcnk+LFxuICBEYXRhc2V0SW5mbzogUmV0dXJuVHlwZTx0eXBlb2YgRGF0YXNldEluZm9GYWN0b3J5PlxuKSB7XG4gIGNvbnN0IFNvdXJjZURhdGFDYXRhbG9nOiBSZWFjdC5GQzxTb3VyY2VEYXRhQ2F0YWxvZ1Byb3BzPiA9ICh7XG4gICAgZGF0YXNldHMsXG4gICAgc2hvd0RhdGFzZXRUYWJsZSxcbiAgICByZW1vdmVEYXRhc2V0LFxuICAgIG9uVGl0bGVDbGljayxcbiAgICB1cGRhdGVUYWJsZUNvbG9yLFxuICAgIHNob3dEZWxldGVEYXRhc2V0ID0gZmFsc2VcbiAgfTogU291cmNlRGF0YUNhdGFsb2dQcm9wcykgPT4gKFxuICAgIDxTb3VyY2VEYXRhQ2F0YWxvZ1dyYXBwZXIgY2xhc3NOYW1lPVwic291cmNlLWRhdGEtY2F0YWxvZ1wiPlxuICAgICAge09iamVjdC52YWx1ZXMoZGF0YXNldHMpLm1hcChkYXRhc2V0ID0+IChcbiAgICAgICAgPFNpZGVQYW5lbFNlY3Rpb24ga2V5PXtkYXRhc2V0LmlkfT5cbiAgICAgICAgICA8RGF0YXNldFRpdGxlXG4gICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgc2hvd0RlbGV0ZURhdGFzZXQ9e3Nob3dEZWxldGVEYXRhc2V0fVxuICAgICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICAgIGRhdGFzZXQ9e2RhdGFzZXR9XG4gICAgICAgICAgICBvblRpdGxlQ2xpY2s9e29uVGl0bGVDbGlja31cbiAgICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e3VwZGF0ZVRhYmxlQ29sb3J9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7c2hvd0RhdGFzZXRUYWJsZSA/IDxEYXRhc2V0SW5mbyBkYXRhc2V0PXtkYXRhc2V0fSAvPiA6IG51bGx9XG4gICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICkpfVxuICAgIDwvU291cmNlRGF0YUNhdGFsb2dXcmFwcGVyPlxuICApO1xuXG4gIHJldHVybiBTb3VyY2VEYXRhQ2F0YWxvZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsT0FBT0MsTUFBTSxNQUFNLG1CQUFtQjtBQU10QyxTQUFRQyxnQkFBZ0IsUUFBTyxnQ0FBZ0M7QUFDL0QsT0FBT0MsbUJBQW1CLE1BQU0saUJBQWlCO0FBQ2pELE9BQU9DLGtCQUFrQixNQUFNLGdCQUFnQjtBQUUvQyxJQUFNQyx3QkFBd0IsR0FBR0osTUFBTSxDQUFDSyxHQUFHLENBQUFDLGVBQUEsS0FBQUEsZUFBQSxHQUFBQyxzQkFBQSxnQ0FDM0IsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDQyxVQUFVO0FBQUEsRUFDOUM7QUF1QkRDLHdCQUF3QixDQUFDQyxJQUFJLEdBQUcsQ0FBQ1YsbUJBQW1CLEVBQUVDLGtCQUFrQixDQUFDO0FBRXpFLFNBQVNRLHdCQUF3QkEsQ0FDL0JFLFlBQW9ELEVBQ3BEQyxXQUFrRCxFQUNsRDtFQUNBLElBQU1DLGlCQUFtRCxHQUFHLFNBQXREQSxpQkFBbURBLENBQUFDLElBQUE7SUFBQSxJQUN2REMsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7TUFDUkMsZ0JBQWdCLEdBQUFGLElBQUEsQ0FBaEJFLGdCQUFnQjtNQUNoQkMsYUFBYSxHQUFBSCxJQUFBLENBQWJHLGFBQWE7TUFDYkMsWUFBWSxHQUFBSixJQUFBLENBQVpJLFlBQVk7TUFDWkMsZ0JBQWdCLEdBQUFMLElBQUEsQ0FBaEJLLGdCQUFnQjtNQUFBQyxxQkFBQSxHQUFBTixJQUFBLENBQ2hCTyxpQkFBaUI7TUFBakJBLGlCQUFpQixHQUFBRCxxQkFBQSxjQUFHLEtBQUssR0FBQUEscUJBQUE7SUFBQSxvQkFFekJ2QixLQUFBLENBQUF5QixhQUFBLENBQUNwQix3QkFBd0I7TUFBQ3FCLFNBQVMsRUFBQztJQUFxQixHQUN0REMsTUFBTSxDQUFDQyxNQUFNLENBQUNWLFFBQVEsQ0FBQyxDQUFDVyxHQUFHLENBQUMsVUFBQUMsT0FBTztNQUFBLG9CQUNsQzlCLEtBQUEsQ0FBQXlCLGFBQUEsQ0FBQ3ZCLGdCQUFnQjtRQUFDNkIsR0FBRyxFQUFFRCxPQUFPLENBQUNFO01BQUcsZ0JBQ2hDaEMsS0FBQSxDQUFBeUIsYUFBQSxDQUFDWCxZQUFZO1FBQ1hLLGdCQUFnQixFQUFFQSxnQkFBaUI7UUFDbkNLLGlCQUFpQixFQUFFQSxpQkFBa0I7UUFDckNKLGFBQWEsRUFBRUEsYUFBYztRQUM3QlUsT0FBTyxFQUFFQSxPQUFRO1FBQ2pCVCxZQUFZLEVBQUVBLFlBQWE7UUFDM0JDLGdCQUFnQixFQUFFQTtNQUFpQixDQUNwQyxDQUFDLEVBQ0RILGdCQUFnQixnQkFBR25CLEtBQUEsQ0FBQXlCLGFBQUEsQ0FBQ1YsV0FBVztRQUFDZSxPQUFPLEVBQUVBO01BQVEsQ0FBRSxDQUFDLEdBQUcsSUFDeEMsQ0FBQztJQUFBLENBQ3BCLENBQ3VCLENBQUM7RUFBQSxDQUM1QjtFQUVELE9BQU9kLGlCQUFpQjtBQUMxQjtBQUVBLGVBQWVKLHdCQUF3QiIsImlnbm9yZUxpc3QiOltdfQ==
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlU3RhdGUiLCJzdHlsZWQiLCJEYXRhc2V0VHlwZSIsIlNpZGVQYW5lbFNlY3Rpb24iLCJEYXRhc2V0VGl0bGVGYWN0b3J5IiwiRGF0YXNldEluZm9GYWN0b3J5IiwiU291cmNlRGF0YUNhdGFsb2dXcmFwcGVyIiwiZGl2IiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCIsInByb3BzIiwidGhlbWUiLCJ0cmFuc2l0aW9uIiwiU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5IiwiZGVwcyIsIkRhdGFzZXRUaXRsZSIsIkRhdGFzZXRJbmZvIiwiU291cmNlRGF0YUNhdGFsb2ciLCJfcmVmIiwiZGF0YXNldHMiLCJzaG93RGF0YXNldFRhYmxlIiwicmVtb3ZlRGF0YXNldCIsIm9uVGl0bGVDbGljayIsInVwZGF0ZVRhYmxlQ29sb3IiLCJfcmVmJHNob3dEZWxldGVEYXRhc2UiLCJzaG93RGVsZXRlRGF0YXNldCIsInJlZnJlc2hEYXRhc2V0IiwidXBkYXRlRGF0YXNldFByb3BzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwib3BlblJlZnJlc2hTZXR0aW5nc0lkIiwic2V0T3BlblJlZnJlc2hTZXR0aW5nc0lkIiwib25Ub2dnbGVSZWZyZXNoU2V0dGluZ3MiLCJkYXRhc2V0SWQiLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIk9iamVjdCIsInZhbHVlcyIsIm1hcCIsImRhdGFzZXQiLCJfZGF0YXNldCRtZXRhZGF0YSIsInNob3dSZWZyZXNoU2V0dGluZ3MiLCJpZCIsImlzUmVmcmVzaGluZyIsIm1ldGFkYXRhIiwicmVmcmVzaFN0YXR1cyIsInNob3dJbmZvIiwiQm9vbGVhbiIsImtleSIsInR5cGUiLCJFWFRFUk5BTExZX0hPU1RFRCIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2NvbW1vbi9zb3VyY2UtZGF0YS1jYXRhbG9nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge29wZW5EZWxldGVNb2RhbCwgVmlzU3RhdGVBY3Rpb25zLCBBY3Rpb25IYW5kbGVyfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtEYXRhc2V0VHlwZX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtEYXRhQ29udGFpbmVySW50ZXJmYWNlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7UkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQge1NpZGVQYW5lbFNlY3Rpb259IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgRGF0YXNldFRpdGxlRmFjdG9yeSBmcm9tICcuL2RhdGFzZXQtdGl0bGUnO1xuaW1wb3J0IERhdGFzZXRJbmZvRmFjdG9yeSBmcm9tICcuL2RhdGFzZXQtaW5mbyc7XG5cbmNvbnN0IFNvdXJjZURhdGFDYXRhbG9nV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG5gO1xuXG50eXBlIE1pbmlEYXRhc2V0ID0ge1xuICBpZDogc3RyaW5nO1xuICBjb2xvcjogUkdCQ29sb3I7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlO1xuICB0eXBlPzogc3RyaW5nO1xuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG50eXBlIE1pbmlEYXRhc2V0cyA9IHtcbiAgW2tleTogc3RyaW5nXTogTWluaURhdGFzZXQ7XG59O1xuXG5leHBvcnQgdHlwZSBTb3VyY2VEYXRhQ2F0YWxvZ1Byb3BzID0ge1xuICBkYXRhc2V0czogTWluaURhdGFzZXRzO1xuICBzaG93RGVsZXRlRGF0YXNldD86IGJvb2xlYW47XG4gIG9uVGl0bGVDbGljaz86ICgpID0+IHZvaWQ7XG4gIHNob3dEYXRhc2V0VGFibGU/OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMuc2hvd0RhdGFzZXRUYWJsZT47XG4gIHVwZGF0ZVRhYmxlQ29sb3I6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy51cGRhdGVUYWJsZUNvbG9yPjtcbiAgcmVtb3ZlRGF0YXNldD86IEFjdGlvbkhhbmRsZXI8dHlwZW9mIG9wZW5EZWxldGVNb2RhbD47XG4gIHJlZnJlc2hEYXRhc2V0PzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnJlZnJlc2hEYXRhc2V0PjtcbiAgdXBkYXRlRGF0YXNldFByb3BzPzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZURhdGFzZXRQcm9wcz47XG59O1xuXG5Tb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnkuZGVwcyA9IFtEYXRhc2V0VGl0bGVGYWN0b3J5LCBEYXRhc2V0SW5mb0ZhY3RvcnldO1xuXG5mdW5jdGlvbiBTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnkoXG4gIERhdGFzZXRUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgRGF0YXNldFRpdGxlRmFjdG9yeT4sXG4gIERhdGFzZXRJbmZvOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhc2V0SW5mb0ZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgU291cmNlRGF0YUNhdGFsb2c6IFJlYWN0LkZDPFNvdXJjZURhdGFDYXRhbG9nUHJvcHM+ID0gKHtcbiAgICBkYXRhc2V0cyxcbiAgICBzaG93RGF0YXNldFRhYmxlLFxuICAgIHJlbW92ZURhdGFzZXQsXG4gICAgb25UaXRsZUNsaWNrLFxuICAgIHVwZGF0ZVRhYmxlQ29sb3IsXG4gICAgc2hvd0RlbGV0ZURhdGFzZXQgPSBmYWxzZSxcbiAgICByZWZyZXNoRGF0YXNldCxcbiAgICB1cGRhdGVEYXRhc2V0UHJvcHNcbiAgfTogU291cmNlRGF0YUNhdGFsb2dQcm9wcykgPT4ge1xuICAgIGNvbnN0IFtvcGVuUmVmcmVzaFNldHRpbmdzSWQsIHNldE9wZW5SZWZyZXNoU2V0dGluZ3NJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICAgIGNvbnN0IG9uVG9nZ2xlUmVmcmVzaFNldHRpbmdzID0gdXNlQ2FsbGJhY2soKGRhdGFzZXRJZDogc3RyaW5nKSA9PiB7XG4gICAgICBzZXRPcGVuUmVmcmVzaFNldHRpbmdzSWQoY3VycmVudCA9PiAoY3VycmVudCA9PT0gZGF0YXNldElkID8gbnVsbCA6IGRhdGFzZXRJZCkpO1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U291cmNlRGF0YUNhdGFsb2dXcmFwcGVyIGNsYXNzTmFtZT1cInNvdXJjZS1kYXRhLWNhdGFsb2dcIj5cbiAgICAgICAge09iamVjdC52YWx1ZXMoZGF0YXNldHMpLm1hcChkYXRhc2V0ID0+IHtcbiAgICAgICAgICBjb25zdCBzaG93UmVmcmVzaFNldHRpbmdzID0gb3BlblJlZnJlc2hTZXR0aW5nc0lkID09PSBkYXRhc2V0LmlkO1xuICAgICAgICAgIGNvbnN0IGlzUmVmcmVzaGluZyA9IGRhdGFzZXQubWV0YWRhdGE/LnJlZnJlc2hTdGF0dXMgPT09ICdsb2FkaW5nJztcbiAgICAgICAgICBjb25zdCBzaG93SW5mbyA9IEJvb2xlYW4oc2hvd0RhdGFzZXRUYWJsZSkgfHwgc2hvd1JlZnJlc2hTZXR0aW5ncyB8fCBpc1JlZnJlc2hpbmc7XG5cbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFNpZGVQYW5lbFNlY3Rpb24ga2V5PXtkYXRhc2V0LmlkfT5cbiAgICAgICAgICAgICAgPERhdGFzZXRUaXRsZVxuICAgICAgICAgICAgICAgIHNob3dEYXRhc2V0VGFibGU9e3Nob3dEYXRhc2V0VGFibGV9XG4gICAgICAgICAgICAgICAgc2hvd0RlbGV0ZURhdGFzZXQ9e3Nob3dEZWxldGVEYXRhc2V0fVxuICAgICAgICAgICAgICAgIHJlbW92ZURhdGFzZXQ9e3JlbW92ZURhdGFzZXR9XG4gICAgICAgICAgICAgICAgZGF0YXNldD17ZGF0YXNldH1cbiAgICAgICAgICAgICAgICBvblRpdGxlQ2xpY2s9e29uVGl0bGVDbGlja31cbiAgICAgICAgICAgICAgICB1cGRhdGVUYWJsZUNvbG9yPXt1cGRhdGVUYWJsZUNvbG9yfVxuICAgICAgICAgICAgICAgIG9uVG9nZ2xlUmVmcmVzaFNldHRpbmdzPXtcbiAgICAgICAgICAgICAgICAgIChyZWZyZXNoRGF0YXNldCB8fCB1cGRhdGVEYXRhc2V0UHJvcHMpICYmXG4gICAgICAgICAgICAgICAgICBkYXRhc2V0LnR5cGUgPT09IERhdGFzZXRUeXBlLkVYVEVSTkFMTFlfSE9TVEVEXG4gICAgICAgICAgICAgICAgICAgID8gKCkgPT4gb25Ub2dnbGVSZWZyZXNoU2V0dGluZ3MoZGF0YXNldC5pZClcbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtzaG93SW5mbyA/IChcbiAgICAgICAgICAgICAgICA8RGF0YXNldEluZm9cbiAgICAgICAgICAgICAgICAgIGRhdGFzZXQ9e2RhdGFzZXR9XG4gICAgICAgICAgICAgICAgICBzaG93UmVmcmVzaFNldHRpbmdzPXtzaG93UmVmcmVzaFNldHRpbmdzfVxuICAgICAgICAgICAgICAgICAgcmVmcmVzaERhdGFzZXQ9e3JlZnJlc2hEYXRhc2V0fVxuICAgICAgICAgICAgICAgICAgdXBkYXRlRGF0YXNldFByb3BzPXt1cGRhdGVEYXRhc2V0UHJvcHN9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSl9XG4gICAgICA8L1NvdXJjZURhdGFDYXRhbG9nV3JhcHBlcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBTb3VyY2VEYXRhQ2F0YWxvZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBOztBQUVBLE9BQU9BLEtBQUssSUFBR0MsV0FBVyxFQUFFQyxRQUFRLFFBQU8sT0FBTztBQUNsRCxPQUFPQyxNQUFNLE1BQU0sbUJBQW1CO0FBR3RDLFNBQVFDLFdBQVcsUUFBTyxzQkFBc0I7QUFJaEQsU0FBUUMsZ0JBQWdCLFFBQU8sZ0NBQWdDO0FBQy9ELE9BQU9DLG1CQUFtQixNQUFNLGlCQUFpQjtBQUNqRCxPQUFPQyxrQkFBa0IsTUFBTSxnQkFBZ0I7QUFFL0MsSUFBTUMsd0JBQXdCLEdBQUdMLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxlQUFBLEtBQUFBLGVBQUEsR0FBQUMsc0JBQUEsZ0NBQzNCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MsVUFBVTtBQUFBLEVBQzlDO0FBMEJEQyx3QkFBd0IsQ0FBQ0MsSUFBSSxHQUFHLENBQUNWLG1CQUFtQixFQUFFQyxrQkFBa0IsQ0FBQztBQUV6RSxTQUFTUSx3QkFBd0JBLENBQy9CRSxZQUFvRCxFQUNwREMsV0FBa0QsRUFDbEQ7RUFDQSxJQUFNQyxpQkFBbUQsR0FBRyxTQUF0REEsaUJBQW1EQSxDQUFBQyxJQUFBLEVBUzNCO0lBQUEsSUFSNUJDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO01BQ1JDLGdCQUFnQixHQUFBRixJQUFBLENBQWhCRSxnQkFBZ0I7TUFDaEJDLGFBQWEsR0FBQUgsSUFBQSxDQUFiRyxhQUFhO01BQ2JDLFlBQVks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
@@ -94,7 +94,9 @@ function FilterManagerFactory(DatasetSection, FilterPanel, PanelTitle, AddFilter
94
94
  showDatasetTable: showDatasetTable,
95
95
  updateTableColor: updateTableColor,
96
96
  removeDataset: removeDataset,
97
- showDeleteDataset: showDeleteDataset
97
+ showDeleteDataset: showDeleteDataset,
98
+ refreshDataset: visStateActions.refreshDataset,
99
+ updateDatasetProps: visStateActions.updateDatasetProps
98
100
  }), /*#__PURE__*/React.createElement(FilterList, {
99
101
  filtersByIndex: filtersByIndex,
100
102
  filters: filters,
@@ -159,7 +161,9 @@ function FilterManagerFactory(DatasetSection, FilterPanel, PanelTitle, AddFilter
159
161
  showDatasetTable: showDatasetTable,
160
162
  updateTableColor: updateTableColor,
161
163
  removeDataset: removeDataset,
162
- showDeleteDataset: true
164
+ showDeleteDataset: true,
165
+ refreshDataset: visStateActions.refreshDataset,
166
+ updateDatasetProps: visStateActions.updateDatasetProps
163
167
  };
164
168
  return /*#__PURE__*/React.createElement("div", {
165
169
  className: "filter-manager"
@@ -192,4 +196,4 @@ function FilterManagerFactory(DatasetSection, FilterPanel, PanelTitle, AddFilter
192
196
  return FilterManager;
193
197
  }
194
198
  export default FilterManagerFactory;
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsInVzZUludGwiLCJTaWRlUGFuZWxEaXZpZGVyIiwiU2lkZVBhbmVsU2VjdGlvbiIsIlNvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSIsIkZpbHRlclBhbmVsRmFjdG9yeSIsIkZJTFRFUl9WSUVXX1RZUEVTIiwiUEFORUxfVklFV19UT0dHTEVTIiwiaXNTaWRlRmlsdGVyIiwiUGFuZWxWaWV3TGlzdFRvZ2dsZUZhY3RvcnkiLCJQYW5lbFRpdGxlRmFjdG9yeSIsIkFkZEZpbHRlckJ1dHRvbkZhY3RvcnkiLCJEYXRhc2V0U2VjdGlvbkZhY3RvcnkiLCJGaWx0ZXJNYW5hZ2VyRmFjdG9yeSIsImRlcHMiLCJEYXRhc2V0U2VjdGlvbiIsIkZpbHRlclBhbmVsIiwiUGFuZWxUaXRsZSIsIkFkZEZpbHRlckJ1dHRvbiIsIlBhbmVsVmlld0xpc3RUb2dnbGUiLCJTb3VyY2VEYXRhQ2F0YWxvZyIsIkZpbHRlckxpc3QiLCJfcmVmIiwiZmlsdGVyc0J5SW5kZXgiLCJmaWx0ZXJzIiwiZGF0YXNldHMiLCJsYXllcnMiLCJpc0FueUZpbHRlckFuaW1hdGluZyIsInZpc1N0YXRlQWN0aW9ucyIsInJlbW92ZUZpbHRlciIsInNldEZpbHRlciIsInNldEZpbHRlclBsb3QiLCJ0b2dnbGVGaWx0ZXJBbmltYXRpb24iLCJ0b2dnbGVGaWx0ZXJGZWF0dXJlIiwic2V0RmlsdGVyVmlldyIsInN5bmNUaW1lRmlsdGVyV2l0aExheWVyVGltZWxpbmUiLCJmaWx0ZXJQYW5lbENhbGxiYWNrcyIsInJlZHVjZSIsImFjY3UiLCJfcmVmMiIsImZpbHRlciIsImlkeCIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJpZCIsInRvZ2dsZUZpbHRlclZpZXciLCJlbmxhcmdlZCIsInNpZGUiLCJ0b2dnbGVBbmltYXRpb24iLCJjcmVhdGVFbGVtZW50IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwicmV2ZXJzZSIsIm1hcCIsIl9yZWYzIiwia2V5IiwiY29uY2F0IiwiZW5sYXJnZUZpbHRlciIsIkRhdGFzZXRGaWx0ZXJTZWN0aW9uIiwiX3JlZjQiLCJkYXRhc2V0Iiwic2hvd0RhdGFzZXRUYWJsZSIsInVwZGF0ZVRhYmxlQ29sb3IiLCJyZW1vdmVEYXRhc2V0Iiwic2hvd0RlbGV0ZURhdGFzZXQiLCJkYXRhc2V0Q2F0YWxvZyIsIkZyYWdtZW50IiwiRmlsdGVyTWFuYWdlciIsIl9yZWY2IiwiX3JlZjYkZmlsdGVycyIsInNob3dBZGREYXRhTW9kYWwiLCJwYW5lbE1ldGFkYXRhIiwicGFuZWxMaXN0VmlldyIsInVpU3RhdGVBY3Rpb25zIiwiYWRkRmlsdGVyIiwidG9nZ2xlUGFuZWxMaXN0VmlldyIsInNvbWUiLCJmIiwiaXNBbmltYXRpbmciLCJvbkNsaWNrQWRkRmlsdGVyIiwiaXNTb3J0QnlEYXRhc2V0TW9kZSIsImJ5RGF0YXNldCIsImZpbHRlcnNCeURhdGFzZXRzIiwiT2JqZWN0Iiwia2V5cyIsImRhdGFJZCIsImZpZHgiLCJfVG9nZ2xlUGFuZWxMaXN0VmlldyIsImxpc3RWaWV3IiwicGFuZWxJZCIsImludGwiLCJmaWx0ZXJMaXN0UHJvcHMiLCJzb3VyY2VEYXRhQ2F0YWxvZ1Byb3BzIiwiY2xhc3NOYW1lIiwibW9kZSIsIl9leHRlbmRzIiwic2hvd0RhdGFzZXRMaXN0IiwidGl0bGUiLCJmb3JtYXRNZXNzYWdlIiwibGFiZWwiLCJvbkFkZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2ZpbHRlci1tYW5hZ2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHt1c2VJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7U2lkZVBhbmVsRGl2aWRlciwgU2lkZVBhbmVsU2VjdGlvbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnkgZnJvbSAnLi9jb21tb24vc291cmNlLWRhdGEtY2F0YWxvZyc7XG5pbXBvcnQgRmlsdGVyUGFuZWxGYWN0b3J5IGZyb20gJy4vZmlsdGVyLXBhbmVsL2ZpbHRlci1wYW5lbCc7XG5pbXBvcnQge0ZJTFRFUl9WSUVXX1RZUEVTLCBQQU5FTF9WSUVXX1RPR0dMRVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7TGF5ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7aXNTaWRlRmlsdGVyfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7VmlzU3RhdGVBY3Rpb25zLCBBY3Rpb25IYW5kbGVyLCBVSVN0YXRlQWN0aW9ucywgQWN0aW9uSGFuZGxlcnN9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge0RhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcblxuaW1wb3J0IFBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5IGZyb20gJy4vcGFuZWwtdmlldy1saXN0LXRvZ2dsZSc7XG5pbXBvcnQgUGFuZWxUaXRsZUZhY3RvcnkgZnJvbSAnLi9wYW5lbC10aXRsZSc7XG5pbXBvcnQgQWRkRmlsdGVyQnV0dG9uRmFjdG9yeSBmcm9tICcuL2ZpbHRlci1wYW5lbC9hZGQtZmlsdGVyLWJ1dHRvbic7XG5pbXBvcnQgRGF0YXNldFNlY3Rpb25GYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwvZGF0YXNldC1zZWN0aW9uJztcbmltcG9ydCB7UGFuZWxNZXRhfSBmcm9tICcuL2NvbW1vbi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFZpc1N0YXRlQWN0aW9uSGFuZGxlcnMgPSBBY3Rpb25IYW5kbGVyczx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zPjtcbmV4cG9ydCB0eXBlIFVpU3RhdGVBY3Rpb25IYW5kbGVycyA9IEFjdGlvbkhhbmRsZXJzPHR5cGVvZiBVSVN0YXRlQWN0aW9ucz47XG5cbmV4cG9ydCB0eXBlIEZpbHRlck1hbmFnZXJQcm9wcyA9IHtcbiAgZmlsdGVyczogRmlsdGVyW107XG4gIGRhdGFzZXRzOiBEYXRhc2V0cztcbiAgbGF5ZXJzOiBMYXllcltdO1xuICBzaG93RGF0YXNldFRhYmxlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMuc2hvd0RhdGFzZXRUYWJsZT47XG4gIHVwZGF0ZVRhYmxlQ29sb3I6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy51cGRhdGVUYWJsZUNvbG9yPjtcbiAgcmVtb3ZlRGF0YXNldDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnJlbW92ZURhdGFzZXQ+O1xuICBzaG93QWRkRGF0YU1vZGFsOiAoKSA9PiB2b2lkO1xuXG4gIHBhbmVsTWV0YWRhdGE6IFBhbmVsTWV0YTtcbiAgcGFuZWxMaXN0Vmlldzogc3RyaW5nO1xuICB2aXNTdGF0ZUFjdGlvbnM6IFZpc1N0YXRlQWN0aW9uSGFuZGxlcnM7XG4gIHVpU3RhdGVBY3Rpb25zOiBVaVN0YXRlQWN0aW9uSGFuZGxlcnM7XG59O1xuXG50eXBlIEZpbHRlckxpc3RQcm9wcyA9IHtcbiAgZmlsdGVyczogRmlsdGVyW107XG4gIGRhdGFzZXRzOiBEYXRhc2V0cztcbiAgbGF5ZXJzOiBMYXllcltdO1xuICBmaWx0ZXJzQnlJbmRleDoge1xuICAgIGZpbHRlcjogRmlsdGVyO1xuICAgIGlkeDogbnVtYmVyO1xuICB9W107XG4gIGlzQW55RmlsdGVyQW5pbWF0aW5nOiBib29sZWFuO1xuICB2aXNTdGF0ZUFjdGlvbnM6IFZpc1N0YXRlQWN0aW9uSGFuZGxlcnM7XG59O1xuXG5GaWx0ZXJNYW5hZ2VyRmFjdG9yeS5kZXBzID0gW1xuICBEYXRhc2V0U2VjdGlvbkZhY3RvcnksXG4gIEZpbHRlclBhbmVsRmFjdG9yeSxcbiAgUGFuZWxUaXRsZUZhY3RvcnksXG4gIEFkZEZpbHRlckJ1dHRvbkZhY3RvcnksXG4gIFBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5LFxuICBTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIEZpbHRlck1hbmFnZXJGYWN0b3J5KFxuICBEYXRhc2V0U2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgRGF0YXNldFNlY3Rpb25GYWN0b3J5PixcbiAgRmlsdGVyUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIEZpbHRlclBhbmVsRmFjdG9yeT4sXG4gIFBhbmVsVGl0bGU6IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsVGl0bGVGYWN0b3J5PixcbiAgQWRkRmlsdGVyQnV0dG9uOiBSZXR1cm5UeXBlPHR5cGVvZiBBZGRGaWx0ZXJCdXR0b25GYWN0b3J5PixcbiAgUGFuZWxWaWV3TGlzdFRvZ2dsZTogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxWaWV3TGlzdFRvZ2dsZUZhY3Rvcnk+LFxuICBTb3VyY2VEYXRhQ2F0YWxvZzogUmV0dXJuVHlwZTx0eXBlb2YgU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IEZpbHRlckxpc3QgPSAoe1xuICAgIGZpbHRlcnNCeUluZGV4LFxuICAgIGZpbHRlcnMsXG4gICAgZGF0YXNldHMsXG4gICAgbGF5ZXJzLFxuICAgIGlzQW55RmlsdGVyQW5pbWF0aW5nLFxuICAgIHZpc1N0YXRlQWN0aW9uc1xuICB9OiBGaWx0ZXJMaXN0UHJvcHMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICByZW1vdmVGaWx0ZXIsXG4gICAgICBzZXRGaWx0ZXIsXG4gICAgICBzZXRGaWx0ZXJQbG90LFxuICAgICAgdG9nZ2xlRmlsdGVyQW5pbWF0aW9uLFxuICAgICAgdG9nZ2xlRmlsdGVyRmVhdHVyZSxcbiAgICAgIHNldEZpbHRlclZpZXcsXG4gICAgICBzeW5jVGltZUZpbHRlcldpdGhMYXllclRpbWVsaW5lXG4gICAgfSA9IHZpc1N0YXRlQWN0aW9ucztcblxuICAgIGNvbnN0IGZpbHRlclBhbmVsQ2FsbGJhY2tzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4gZmlsdGVyc0J5SW5kZXgucmVkdWNlKFxuICAgICAgICAoYWNjdSwge2ZpbHRlciwgaWR4fSkgPT4gKHtcbiAgICAgICAgICAuLi5hY2N1LFxuICAgICAgICAgIFtmaWx0ZXIuaWRdOiB7XG4gICAgICAgICAgICByZW1vdmVGaWx0ZXI6ICgpID0+IHJlbW92ZUZpbHRlcihpZHgpLFxuICAgICAgICAgICAgdG9nZ2xlRmlsdGVyVmlldzogKCkgPT5cbiAgICAgICAgICAgICAgc2V0RmlsdGVyVmlldyhcbiAgICAgICAgICAgICAgICBpZHgsXG4gICAgICAgICAgICAgICAgaXNTaWRlRmlsdGVyKGZpbHRlcikgPyBGSUxURVJfVklFV19UWVBFUy5lbmxhcmdlZCA6IEZJTFRFUl9WSUVXX1RZUEVTLnNpZGVcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRvZ2dsZUFuaW1hdGlvbjogKCkgPT4gdG9nZ2xlRmlsdGVyQW5pbWF0aW9uKGlkeCksXG4gICAgICAgICAgICB0b2dnbGVGaWx0ZXJGZWF0dXJlOiAoKSA9PiB0b2dnbGVGaWx0ZXJGZWF0dXJlKGlkeClcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB7fVxuICAgICAgKTtcbiAgICB9LCBbZmlsdGVyc0J5SW5kZXgsIHJlbW92ZUZpbHRlciwgc2V0RmlsdGVyVmlldywgdG9nZ2xlRmlsdGVyQW5pbWF0aW9uLCB0b2dnbGVGaWx0ZXJGZWF0dXJlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgIHtbLi4uZmlsdGVyc0J5SW5kZXhdLnJldmVyc2UoKS5tYXAoKHtmaWx0ZXIsIGlkeH0pID0+IChcbiAgICAgICAgICA8RmlsdGVyUGFuZWxcbiAgICAgICAgICAgIGtleT17YCR7ZmlsdGVyLmlkfS0ke2lkeH1gfVxuICAgICAgICAgICAgaWR4PXtpZHh9XG4gICAgICAgICAgICBmaWx0ZXJzPXtmaWx0ZXJzfVxuICAgICAgICAgICAgZmlsdGVyPXtmaWx0ZXJ9XG4gICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgIGlzQW55RmlsdGVyQW5pbWF0aW5nPXtpc0FueUZpbHRlckFuaW1hdGluZ31cbiAgICAgICAgICAgIHJlbW92ZUZpbHRlcj17ZmlsdGVyUGFuZWxDYWxsYmFja3NbZmlsdGVyLmlkXS5yZW1vdmVGaWx0ZXJ9XG4gICAgICAgICAgICBlbmxhcmdlRmlsdGVyPXtmaWx0ZXJQYW5lbENhbGxiYWNrc1tmaWx0ZXIuaWRdLnRvZ2dsZUZpbHRlclZpZXd9XG4gICAgICAgICAgICB0b2dnbGVBbmltYXRpb249e2ZpbHRlclBhbmVsQ2FsbGJhY2tzW2ZpbHRlci5pZF0udG9nZ2xlQW5pbWF0aW9ufVxuICAgICAgICAgICAgdG9nZ2xlRmlsdGVyRmVhdHVyZT17ZmlsdGVyUGFuZWxDYWxsYmFja3NbZmlsdGVyLmlkXS50b2dnbGVGaWx0ZXJGZWF0dXJlfVxuICAgICAgICAgICAgc2V0RmlsdGVyPXtzZXRGaWx0ZXJ9XG4gICAgICAgICAgICBzZXRGaWx0ZXJQbG90PXtzZXRGaWx0ZXJQbG90fVxuICAgICAgICAgICAgc3luY1RpbWVGaWx0ZXJXaXRoTGF5ZXJUaW1lbGluZT17c3luY1RpbWVGaWx0ZXJXaXRoTGF5ZXJUaW1lbGluZX1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IERhdGFzZXRGaWx0ZXJTZWN0aW9uID0gKHtcbiAgICBmaWx0ZXJzQnlJbmRleCxcbiAgICBmaWx0ZXJzLFxuICAgIGRhdGFzZXQsXG4gICAgZGF0YXNldHMsXG4gICAgbGF5ZXJzLFxuICAgIGlzQW55RmlsdGVyQW5pbWF0aW5nLFxuICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICBzaG93RGF0YXNldFRhYmxlLFxuICAgIHVwZGF0ZVRhYmxlQ29sb3IsXG4gICAgcmVtb3ZlRGF0YXNldCxcbiAgICBzaG93RGVsZXRlRGF0YXNldFxuICB9KSA9PiB7XG4gICAgY29uc3QgZGF0YXNldENhdGFsb2cgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiB7W2RhdGFzZXQuaWRdOiBkYXRhc2V0fTtcbiAgICB9LCBbZGF0YXNldF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxTb3VyY2VEYXRhQ2F0YWxvZ1xuICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0Q2F0YWxvZ31cbiAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e3VwZGF0ZVRhYmxlQ29sb3J9XG4gICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICBzaG93RGVsZXRlRGF0YXNldD17c2hvd0RlbGV0ZURhdGFzZXR9XG4gICAgICAgIC8+XG4gICAgICAgIDxGaWx0ZXJMaXN0XG4gICAgICAgICAgZmlsdGVyc0J5SW5kZXg9e2ZpbHRlcnNCeUluZGV4fVxuICAgICAgICAgIGZpbHRlcnM9e2ZpbHRlcnN9XG4gICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICAgIGlzQW55RmlsdGVyQW5pbWF0aW5nPXtpc0FueUZpbHRlckFuaW1hdGluZ31cbiAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgRmlsdGVyTWFuYWdlcjogUmVhY3QuRkM8RmlsdGVyTWFuYWdlclByb3BzPiA9ICh7XG4gICAgZmlsdGVycyA9IFtdLFxuICAgIGRhdGFzZXRzLFxuICAgIGxheWVycyxcbiAgICBzaG93RGF0YXNldFRhYmxlLFxuICAgIHVwZGF0ZVRhYmxlQ29sb3IsXG4gICAgcmVtb3ZlRGF0YXNldCxcbiAgICBzaG93QWRkRGF0YU1vZGFsLFxuICAgIHBhbmVsTWV0YWRhdGEsXG4gICAgcGFuZWxMaXN0VmlldyxcbiAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgdWlTdGF0ZUFjdGlvbnNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHthZGRGaWx0ZXJ9ID0gdmlzU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IHt0b2dnbGVQYW5lbExpc3RWaWV3fSA9IHVpU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IGlzQW55RmlsdGVyQW5pbWF0aW5nID0gZmlsdGVycy5zb21lKGYgPT4gZi5pc0FuaW1hdGluZyk7XG4gICAgY29uc3Qgb25DbGlja0FkZEZpbHRlciA9IHVzZUNhbGxiYWNrKGRhdGFzZXQgPT4gYWRkRmlsdGVyKGRhdGFzZXQpLCBbYWRkRmlsdGVyXSk7XG4gICAgY29uc3QgaXNTb3J0QnlEYXRhc2V0TW9kZSA9IHBhbmVsTGlzdFZpZXcgPT09IFBBTkVMX1ZJRVdfVE9HR0xFUy5ieURhdGFzZXQ7XG4gICAgY29uc3QgZmlsdGVyc0J5SW5kZXggPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgZmlsdGVycy5tYXAoKGYsIGlkeCkgPT4gKHtcbiAgICAgICAgICBmaWx0ZXI6IGYsXG4gICAgICAgICAgaWR4XG4gICAgICAgIH0pKSxcbiAgICAgIFtmaWx0ZXJzXVxuICAgICk7XG4gICAgY29uc3QgZmlsdGVyc0J5RGF0YXNldHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgT2JqZWN0LmtleXMoZGF0YXNldHMpLnJlZHVjZShcbiAgICAgICAgICAoYWNjdSwgZGF0YUlkKSA9PiAoe1xuICAgICAgICAgICAgLi4uYWNjdSxcbiAgICAgICAgICAgIC8vIGlmIHN5bmNlZCBmaWx0ZXIsIHNob3cgaXQgdW5mZGVyIGl0cyB0aGUgZmlyc3QgZGF0YXNldFxuICAgICAgICAgICAgW2RhdGFJZF06IGZpbHRlcnNCeUluZGV4LmZpbHRlcihcbiAgICAgICAgICAgICAgZmlkeCA9PiBmaWR4LmZpbHRlci5kYXRhSWQgJiYgZmlkeC5maWx0ZXIuZGF0YUlkWzBdID09PSBkYXRhSWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB7fVxuICAgICAgICApLFxuICAgICAgW2RhdGFzZXRzLCBmaWx0ZXJzQnlJbmRleF1cbiAgICApO1xuICAgIGNvbnN0IF9Ub2dnbGVQYW5lbExpc3RWaWV3ID0gdXNlQ2FsbGJhY2soXG4gICAgICBsaXN0VmlldyA9PiB7XG4gICAgICAgIHRvZ2dsZVBhbmVsTGlzdFZpZXcoe3BhbmVsSWQ6ICdmaWx0ZXInLCBsaXN0Vmlld30pO1xuICAgICAgfSxcbiAgICAgIFt0b2dnbGVQYW5lbExpc3RWaWV3XVxuICAgICk7XG5cbiAgICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICAgIGNvbnN0IGZpbHRlckxpc3RQcm9wcyA9IHtcbiAgICAgIGRhdGFzZXRzLFxuICAgICAgZmlsdGVycyxcbiAgICAgIGxheWVycyxcbiAgICAgIGlzQW55RmlsdGVyQW5pbWF0aW5nLFxuICAgICAgdmlzU3RhdGVBY3Rpb25zXG4gICAgfTtcblxuICAgIGNvbnN0IHNvdXJjZURhdGFDYXRhbG9nUHJvcHMgPSB7XG4gICAgICBzaG93RGF0YXNldFRhYmxlLFxuICAgICAgdXBkYXRlVGFibGVDb2xvcixcbiAgICAgIHJlbW92ZURhdGFzZXQsXG4gICAgICBzaG93RGVsZXRlRGF0YXNldDogdHJ1ZVxuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXItbWFuYWdlclwiPlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8UGFuZWxWaWV3TGlzdFRvZ2dsZSB0b2dnbGVQYW5lbExpc3RWaWV3PXtfVG9nZ2xlUGFuZWxMaXN0Vmlld30gbW9kZT17cGFuZWxMaXN0Vmlld30gLz5cbiAgICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICA8RGF0YXNldFNlY3Rpb25cbiAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgey4uLnNvdXJjZURhdGFDYXRhbG9nUHJvcHN9XG4gICAgICAgICAgc2hvd0RhdGFzZXRMaXN0PXshaXNTb3J0QnlEYXRhc2V0TW9kZX1cbiAgICAgICAgICBzaG93QWRkRGF0YU1vZGFsPXtzaG93QWRkRGF0YU1vZGFsfVxuICAgICAgICAvPlxuICAgICAgICA8U2lkZVBhbmVsRGl2aWRlciAvPlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8UGFuZWxUaXRsZVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsdGVyLW1hbmFnZXItdGl0bGVcIlxuICAgICAgICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IHBhbmVsTWV0YWRhdGEubGFiZWx9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8QWRkRmlsdGVyQnV0dG9uIGRhdGFzZXRzPXtkYXRhc2V0c30gb25BZGQ9e29uQ2xpY2tBZGRGaWx0ZXJ9IC8+XG4gICAgICAgICAgPC9QYW5lbFRpdGxlPlxuICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgIHtpc1NvcnRCeURhdGFzZXRNb2RlID8gKFxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZmlsdGVyc0J5RGF0YXNldHMpLm1hcChkYXRhSWQgPT4gKFxuICAgICAgICAgICAgICA8RGF0YXNldEZpbHRlclNlY3Rpb25cbiAgICAgICAgICAgICAgICBrZXk9e2RhdGFJZH1cbiAgICAgICAgICAgICAgICBmaWx0ZXJzQnlJbmRleD17ZmlsdGVyc0J5RGF0YXNldHNbZGF0YUlkXX1cbiAgICAgICAgICAgICAgICBkYXRhc2V0PXtkYXRhc2V0c1tkYXRhSWRdfVxuICAgICAgICAgICAgICAgIHsuLi5maWx0ZXJMaXN0UHJvcHN9XG4gICAgICAgICAgICAgICAgey4uLnNvdXJjZURhdGFDYXRhbG9nUHJvcHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKVxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8RmlsdGVyTGlzdCBmaWx0ZXJzQnlJbmRleD17ZmlsdGVyc0J5SW5kZXh9IHsuLi5maWx0ZXJMaXN0UHJvcHN9IC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gRmlsdGVyTWFuYWdlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRmlsdGVyTWFuYWdlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPQSxLQUFLLElBQUdDLFdBQVcsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFDakQsU0FBUUMsT0FBTyxRQUFPLFlBQVk7QUFDbEMsU0FBUUMsZ0JBQWdCLEVBQUVDLGdCQUFnQixRQUFPLDZCQUE2QjtBQUM5RSxPQUFPQyx3QkFBd0IsTUFBTSw4QkFBOEI7QUFDbkUsT0FBT0Msa0JBQWtCLE1BQU0sNkJBQTZCO0FBQzVELFNBQVFDLGlCQUFpQixFQUFFQyxrQkFBa0IsUUFBTyxzQkFBc0I7QUFHMUUsU0FBUUMsWUFBWSxRQUFPLGtCQUFrQjtBQUk3QyxPQUFPQywwQkFBMEIsTUFBTSwwQkFBMEI7QUFDakUsT0FBT0MsaUJBQWlCLE1BQU0sZUFBZTtBQUM3QyxPQUFPQyxzQkFBc0IsTUFBTSxrQ0FBa0M7QUFDckUsT0FBT0MscUJBQXFCLE1BQU0sK0JBQStCO0FBaUNqRUMsb0JBQW9CLENBQUNDLElBQUksR0FBRyxDQUMxQkYscUJBQXFCLEVBQ3JCUCxrQkFBa0IsRUFDbEJLLGlCQUFpQixFQUNqQkMsc0JBQXNCLEVBQ3RCRiwwQkFBMEIsRUFDMUJMLHdCQUF3QixDQUN6QjtBQUVELFNBQVNTLG9CQUFvQkEsQ0FDM0JFLGNBQXdELEVBQ3hEQyxXQUFrRCxF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
199
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsInVzZUludGwiLCJTaWRlUGFuZWxEaXZpZGVyIiwiU2lkZVBhbmVsU2VjdGlvbiIsIlNvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSIsIkZpbHRlclBhbmVsRmFjdG9yeSIsIkZJTFRFUl9WSUVXX1RZUEVTIiwiUEFORUxfVklFV19UT0dHTEVTIiwiaXNTaWRlRmlsdGVyIiwiUGFuZWxWaWV3TGlzdFRvZ2dsZUZhY3RvcnkiLCJQYW5lbFRpdGxlRmFjdG9yeSIsIkFkZEZpbHRlckJ1dHRvbkZhY3RvcnkiLCJEYXRhc2V0U2VjdGlvbkZhY3RvcnkiLCJGaWx0ZXJNYW5hZ2VyRmFjdG9yeSIsImRlcHMiLCJEYXRhc2V0U2VjdGlvbiIsIkZpbHRlclBhbmVsIiwiUGFuZWxUaXRsZSIsIkFkZEZpbHRlckJ1dHRvbiIsIlBhbmVsVmlld0xpc3RUb2dnbGUiLCJTb3VyY2VEYXRhQ2F0YWxvZyIsIkZpbHRlckxpc3QiLCJfcmVmIiwiZmlsdGVyc0J5SW5kZXgiLCJmaWx0ZXJzIiwiZGF0YXNldHMiLCJsYXllcnMiLCJpc0FueUZpbHRlckFuaW1hdGluZyIsInZpc1N0YXRlQWN0aW9ucyIsInJlbW92ZUZpbHRlciIsInNldEZpbHRlciIsInNldEZpbHRlclBsb3QiLCJ0b2dnbGVGaWx0ZXJBbmltYXRpb24iLCJ0b2dnbGVGaWx0ZXJGZWF0dXJlIiwic2V0RmlsdGVyVmlldyIsInN5bmNUaW1lRmlsdGVyV2l0aExheWVyVGltZWxpbmUiLCJmaWx0ZXJQYW5lbENhbGxiYWNrcyIsInJlZHVjZSIsImFjY3UiLCJfcmVmMiIsImZpbHRlciIsImlkeCIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJpZCIsInRvZ2dsZUZpbHRlclZpZXciLCJlbmxhcmdlZCIsInNpZGUiLCJ0b2dnbGVBbmltYXRpb24iLCJjcmVhdGVFbGVtZW50IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwicmV2ZXJzZSIsIm1hcCIsIl9yZWYzIiwia2V5IiwiY29uY2F0IiwiZW5sYXJnZUZpbHRlciIsIkRhdGFzZXRGaWx0ZXJTZWN0aW9uIiwiX3JlZjQiLCJkYXRhc2V0Iiwic2hvd0RhdGFzZXRUYWJsZSIsInVwZGF0ZVRhYmxlQ29sb3IiLCJyZW1vdmVEYXRhc2V0Iiwic2hvd0RlbGV0ZURhdGFzZXQiLCJkYXRhc2V0Q2F0YWxvZyIsIkZyYWdtZW50IiwicmVmcmVzaERhdGFzZXQiLCJ1cGRhdGVEYXRhc2V0UHJvcHMiLCJGaWx0ZXJNYW5hZ2VyIiwiX3JlZjYiLCJfcmVmNiRmaWx0ZXJzIiwic2hvd0FkZERhdGFNb2RhbCIsInBhbmVsTWV0YWRhdGEiLCJwYW5lbExpc3RWaWV3IiwidWlTdGF0ZUFjdGlvbnMiLCJhZGRGaWx0ZXIiLCJ0b2dnbGVQYW5lbExpc3RWaWV3Iiwic29tZSIsImYiLCJpc0FuaW1hdGluZyIsIm9uQ2xpY2tBZGRGaWx0ZXIiLCJpc1NvcnRCeURhdGFzZXRNb2RlIiwiYnlEYXRhc2V0IiwiZmlsdGVyc0J5RGF0YXNldHMiLCJPYmplY3QiLCJrZXlzIiwiZGF0YUlkIiwiZmlkeCIsIl9Ub2dnbGVQYW5lbExpc3RWaWV3IiwibGlzdFZpZXciLCJwYW5lbElkIiwiaW50bCIsImZpbHRlckxpc3RQcm9wcyIsInNvdXJjZURhdGFDYXRhbG9nUHJvcHMiLCJjbGFzc05hbWUiLCJtb2RlIiwiX2V4dGVuZHMiLCJzaG93RGF0YXNldExpc3QiLCJ0aXRsZSIsImZvcm1hdE1lc3NhZ2UiLCJsYWJlbCIsIm9uQWRkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvZmlsdGVyLW1hbmFnZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3VzZUludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtTaWRlUGFuZWxEaXZpZGVyLCBTaWRlUGFuZWxTZWN0aW9ufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFNvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSBmcm9tICcuL2NvbW1vbi9zb3VyY2UtZGF0YS1jYXRhbG9nJztcbmltcG9ydCBGaWx0ZXJQYW5lbEZhY3RvcnkgZnJvbSAnLi9maWx0ZXItcGFuZWwvZmlsdGVyLXBhbmVsJztcbmltcG9ydCB7RklMVEVSX1ZJRVdfVFlQRVMsIFBBTkVMX1ZJRVdfVE9HR0xFU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtMYXllcn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHtpc1NpZGVGaWx0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtWaXNTdGF0ZUFjdGlvbnMsIEFjdGlvbkhhbmRsZXIsIFVJU3RhdGVBY3Rpb25zLCBBY3Rpb25IYW5kbGVyc30gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuXG5pbXBvcnQgUGFuZWxWaWV3TGlzdFRvZ2dsZUZhY3RvcnkgZnJvbSAnLi9wYW5lbC12aWV3LWxpc3QtdG9nZ2xlJztcbmltcG9ydCBQYW5lbFRpdGxlRmFjdG9yeSBmcm9tICcuL3BhbmVsLXRpdGxlJztcbmltcG9ydCBBZGRGaWx0ZXJCdXR0b25GYWN0b3J5IGZyb20gJy4vZmlsdGVyLXBhbmVsL2FkZC1maWx0ZXItYnV0dG9uJztcbmltcG9ydCBEYXRhc2V0U2VjdGlvbkZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9kYXRhc2V0LXNlY3Rpb24nO1xuaW1wb3J0IHtQYW5lbE1ldGF9IGZyb20gJy4vY29tbW9uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgVmlzU3RhdGVBY3Rpb25IYW5kbGVycyA9IEFjdGlvbkhhbmRsZXJzPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnM+O1xuZXhwb3J0IHR5cGUgVWlTdGF0ZUFjdGlvbkhhbmRsZXJzID0gQWN0aW9uSGFuZGxlcnM8dHlwZW9mIFVJU3RhdGVBY3Rpb25zPjtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTWFuYWdlclByb3BzID0ge1xuICBmaWx0ZXJzOiBGaWx0ZXJbXTtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBsYXllcnM6IExheWVyW107XG4gIHNob3dEYXRhc2V0VGFibGU6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5zaG93RGF0YXNldFRhYmxlPjtcbiAgdXBkYXRlVGFibGVDb2xvcjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZVRhYmxlQ29sb3I+O1xuICByZW1vdmVEYXRhc2V0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMucmVtb3ZlRGF0YXNldD47XG4gIHNob3dBZGREYXRhTW9kYWw6ICgpID0+IHZvaWQ7XG5cbiAgcGFuZWxNZXRhZGF0YTogUGFuZWxNZXRhO1xuICBwYW5lbExpc3RWaWV3OiBzdHJpbmc7XG4gIHZpc1N0YXRlQWN0aW9uczogVmlzU3RhdGVBY3Rpb25IYW5kbGVycztcbiAgdWlTdGF0ZUFjdGlvbnM6IFVpU3RhdGVBY3Rpb25IYW5kbGVycztcbn07XG5cbnR5cGUgRmlsdGVyTGlzdFByb3BzID0ge1xuICBmaWx0ZXJzOiBGaWx0ZXJbXTtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBsYXllcnM6IExheWVyW107XG4gIGZpbHRlcnNCeUluZGV4OiB7XG4gICAgZmlsdGVyOiBGaWx0ZXI7XG4gICAgaWR4OiBudW1iZXI7XG4gIH1bXTtcbiAgaXNBbnlGaWx0ZXJBbmltYXRpbmc6IGJvb2xlYW47XG4gIHZpc1N0YXRlQWN0aW9uczogVmlzU3RhdGVBY3Rpb25IYW5kbGVycztcbn07XG5cbkZpbHRlck1hbmFnZXJGYWN0b3J5LmRlcHMgPSBbXG4gIERhdGFzZXRTZWN0aW9uRmFjdG9yeSxcbiAgRmlsdGVyUGFuZWxGYWN0b3J5LFxuICBQYW5lbFRpdGxlRmFjdG9yeSxcbiAgQWRkRmlsdGVyQnV0dG9uRmFjdG9yeSxcbiAgUGFuZWxWaWV3TGlzdFRvZ2dsZUZhY3RvcnksXG4gIFNvdXJjZURhdGFDYXRhbG9nRmFjdG9yeVxuXTtcblxuZnVuY3Rpb24gRmlsdGVyTWFuYWdlckZhY3RvcnkoXG4gIERhdGFzZXRTZWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhc2V0U2VjdGlvbkZhY3Rvcnk+LFxuICBGaWx0ZXJQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgRmlsdGVyUGFuZWxGYWN0b3J5PixcbiAgUGFuZWxUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxUaXRsZUZhY3Rvcnk+LFxuICBBZGRGaWx0ZXJCdXR0b246IFJldHVyblR5cGU8dHlwZW9mIEFkZEZpbHRlckJ1dHRvbkZhY3Rvcnk+LFxuICBQYW5lbFZpZXdMaXN0VG9nZ2xlOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbFZpZXdMaXN0VG9nZ2xlRmFjdG9yeT4sXG4gIFNvdXJjZURhdGFDYXRhbG9nOiBSZXR1cm5UeXBlPHR5cGVvZiBTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgRmlsdGVyTGlzdCA9ICh7XG4gICAgZmlsdGVyc0J5SW5kZXgsXG4gICAgZmlsdGVycyxcbiAgICBkYXRhc2V0cyxcbiAgICBsYXllcnMsXG4gICAgaXNBbnlGaWx0ZXJBbmltYXRpbmcsXG4gICAgdmlzU3RhdGVBY3Rpb25zXG4gIH06IEZpbHRlckxpc3RQcm9wcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHJlbW92ZUZpbHRlcixcbiAgICAgIHNldEZpbHRlcixcbiAgICAgIHNldEZpbHRlclBsb3QsXG4gICAgICB0b2dnbGVGaWx0ZXJBbmltYXRpb24sXG4gICAgICB0b2dnbGVGaWx0ZXJGZWF0dXJlLFxuICAgICAgc2V0RmlsdGVyVmlldyxcbiAgICAgIHN5bmNUaW1lRmlsdGVyV2l0aExheWVyVGltZWxpbmVcbiAgICB9ID0gdmlzU3RhdGVBY3Rpb25zO1xuXG4gICAgY29uc3QgZmlsdGVyUGFuZWxDYWxsYmFja3MgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBmaWx0ZXJzQnlJbmRleC5yZWR1Y2UoXG4gICAgICAgIChhY2N1LCB7ZmlsdGVyLCBpZHh9KSA9PiAoe1xuICAgICAgICAgIC4uLmFjY3UsXG4gICAgICAgICAgW2ZpbHRlci5pZF06IHtcbiAgICAgICAgICAgIHJlbW92ZUZpbHRlcjogKCkgPT4gcmVtb3ZlRmlsdGVyKGlkeCksXG4gICAgICAgICAgICB0b2dnbGVGaWx0ZXJWaWV3OiAoKSA9PlxuICAgICAgICAgICAgICBzZXRGaWx0ZXJWaWV3KFxuICAgICAgICAgICAgICAgIGlkeCxcbiAgICAgICAgICAgICAgICBpc1NpZGVGaWx0ZXIoZmlsdGVyKSA/IEZJTFRFUl9WSUVXX1RZUEVTLmVubGFyZ2VkIDogRklMVEVSX1ZJRVdfVFlQRVMuc2lkZVxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgdG9nZ2xlQW5pbWF0aW9uOiAoKSA9PiB0b2dnbGVGaWx0ZXJBbmltYXRpb24oaWR4KSxcbiAgICAgICAgICAgIHRvZ2dsZUZpbHRlckZlYXR1cmU6ICgpID0+IHRvZ2dsZUZpbHRlckZlYXR1cmUoaWR4KVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHt9XG4gICAgICApO1xuICAgIH0sIFtmaWx0ZXJzQnlJbmRleCwgcmVtb3ZlRmlsdGVyLCBzZXRGaWx0ZXJWaWV3LCB0b2dnbGVGaWx0ZXJBbmltYXRpb24sIHRvZ2dsZUZpbHRlckZlYXR1cmVdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAge1suLi5maWx0ZXJzQnlJbmRleF0ucmV2ZXJzZSgpLm1hcCgoe2ZpbHRlciwgaWR4fSkgPT4gKFxuICAgICAgICAgIDxGaWx0ZXJQYW5lbFxuICAgICAgICAgICAga2V5PXtgJHtmaWx0ZXIuaWR9LSR7aWR4fWB9XG4gICAgICAgICAgICBpZHg9e2lkeH1cbiAgICAgICAgICAgIGZpbHRlcnM9e2ZpbHRlcnN9XG4gICAgICAgICAgICBmaWx0ZXI9e2ZpbHRlcn1cbiAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICAgICAgaXNBbnlGaWx0ZXJBbmltYXRpbmc9e2lzQW55RmlsdGVyQW5pbWF0aW5nfVxuICAgICAgICAgICAgcmVtb3ZlRmlsdGVyPXtmaWx0ZXJQYW5lbENhbGxiYWNrc1tmaWx0ZXIuaWRdLnJlbW92ZUZpbHRlcn1cbiAgICAgICAgICAgIGVubGFyZ2VGaWx0ZXI9e2ZpbHRlclBhbmVsQ2FsbGJhY2tzW2ZpbHRlci5pZF0udG9nZ2xlRmlsdGVyVmlld31cbiAgICAgICAgICAgIHRvZ2dsZUFuaW1hdGlvbj17ZmlsdGVyUGFuZWxDYWxsYmFja3NbZmlsdGVyLmlkXS50b2dnbGVBbmltYXRpb259XG4gICAgICAgICAgICB0b2dnbGVGaWx0ZXJGZWF0dXJlPXtmaWx0ZXJQYW5lbENhbGxiYWNrc1tmaWx0ZXIuaWRdLnRvZ2dsZUZpbHRlckZlYXR1cmV9XG4gICAgICAgICAgICBzZXRGaWx0ZXI9e3NldEZpbHRlcn1cbiAgICAgICAgICAgIHNldEZpbHRlclBsb3Q9e3NldEZpbHRlclBsb3R9XG4gICAgICAgICAgICBzeW5jVGltZUZpbHRlcldpdGhMYXllclRpbWVsaW5lPXtzeW5jVGltZUZpbHRlcldpdGhMYXllclRpbWVsaW5lfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgRGF0YXNldEZpbHRlclNlY3Rpb24gPSAoe1xuICAgIGZpbHRlcnNCeUluZGV4LFxuICAgIGZpbHRlcnMsXG4gICAgZGF0YXNldCxcbiAgICBkYXRhc2V0cyxcbiAgICBsYXllcnMsXG4gICAgaXNBbnlGaWx0ZXJBbmltYXRpbmcsXG4gICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgIHNob3dEYXRhc2V0VGFibGUsXG4gICAgdXBkYXRlVGFibGVDb2xvcixcbiAgICByZW1vdmVEYXRhc2V0LFxuICAgIHNob3dEZWxldGVEYXRhc2V0XG4gIH0pID0+IHtcbiAgICBjb25zdCBkYXRhc2V0Q2F0YWxvZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIHtbZGF0YXNldC5pZF06IGRhdGFzZXR9O1xuICAgIH0sIFtkYXRhc2V0XSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFNvdXJjZURhdGFDYXRhbG9nXG4gICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRDYXRhbG9nfVxuICAgICAgICAgIHNob3dEYXRhc2V0VGFibGU9e3Nob3dEYXRhc2V0VGFibGV9XG4gICAgICAgICAgdXBkYXRlVGFibGVDb2xvcj17dXBkYXRlVGFibGVDb2xvcn1cbiAgICAgICAgICByZW1vdmVEYXRhc2V0PXtyZW1vdmVEYXRhc2V0fVxuICAgICAgICAgIHNob3dEZWxldGVEYXRhc2V0PXtzaG93RGVsZXRlRGF0YXNldH1cbiAgICAgICAgICByZWZyZXNoRGF0YXNldD17dmlzU3RhdGVBY3Rpb25zLnJlZnJlc2hEYXRhc2V0fVxuICAgICAgICAgIHVwZGF0ZURhdGFzZXRQcm9wcz17dmlzU3RhdGVBY3Rpb25zLnVwZGF0ZURhdGFzZXRQcm9wc31cbiAgICAgICAgLz5cbiAgICAgICAgPEZpbHRlckxpc3RcbiAgICAgICAgICBmaWx0ZXJzQnlJbmRleD17ZmlsdGVyc0J5SW5kZXh9XG4gICAgICAgICAgZmlsdGVycz17ZmlsdGVyc31cbiAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgbGF5ZXJzPXtsYXllcnN9XG4gICAgICAgICAgaXNBbnlGaWx0ZXJBbmltYXRpbmc9e2lzQW55RmlsdGVyQW5pbWF0aW5nfVxuICAgICAgICAgIHZpc1N0YXRlQWN0aW9ucz17dmlzU3RhdGVBY3Rpb25zfVxuICAgICAgICAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBGaWx0ZXJNYW5hZ2VyOiBSZWFjdC5GQzxGaWx0ZXJNYW5hZ2VyUHJvcHM+ID0gKHtcbiAgICBmaWx0ZXJzID0gW10sXG4gICAgZGF0YXNldHMsXG4gICAgbGF5ZXJzLFxuICAgIHNob3dEYXRhc2V0VGFibGUsXG4gICAgdXBkYXRlVGFibGVDb2xvcixcbiAgICByZW1vdmVEYXRhc2V0LFxuICAgIHNob3dBZGREYXRhTW9kYWwsXG4gICAgcGFuZWxNZXRhZGF0YSxcbiAgICBwYW5lbExpc3RWaWV3LFxuICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICB1aVN0YXRlQWN0aW9uc1xuICB9KSA9PiB7XG4gICAgY29uc3Qge2FkZEZpbHRlcn0gPSB2aXNTdGF0ZUFjdGlvbnM7XG4gICAgY29uc3Qge3RvZ2dsZVBhbmVsTGlzdFZpZXd9ID0gdWlTdGF0ZUFjdGlvbnM7XG4gICAgY29uc3QgaXNBbnlGaWx0ZXJBbmltYXRpbmcgPSBmaWx0ZXJzLnNvbWUoZiA9PiBmLmlzQW5pbWF0aW5nKTtcbiAgICBjb25zdCBvbkNsaWNrQWRkRmlsdGVyID0gdXNlQ2FsbGJhY2soZGF0YXNldCA9PiBhZGRGaWx0ZXIoZGF0YXNldCksIFthZGRGaWx0ZXJdKTtcbiAgICBjb25zdCBpc1NvcnRCeURhdGFzZXRNb2RlID0gcGFuZWxMaXN0VmlldyA9PT0gUEFORUxfVklFV19UT0dHTEVTLmJ5RGF0YXNldDtcbiAgICBjb25zdCBmaWx0ZXJzQnlJbmRleCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBmaWx0ZXJzLm1hcCgoZiwgaWR4KSA9PiAoe1xuICAgICAgICAgIGZpbHRlcjogZixcbiAgICAgICAgICBpZHhcbiAgICAgICAgfSkpLFxuICAgICAgW2ZpbHRlcnNdXG4gICAgKTtcbiAgICBjb25zdCBmaWx0ZXJzQnlEYXRhc2V0cyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBPYmplY3Qua2V5cyhkYXRhc2V0cykucmVkdWNlKFxuICAgICAgICAgIChhY2N1LCBkYXRhSWQpID0+ICh7XG4gICAgICAgICAgICAuLi5hY2N1LFxuICAgICAgICAgICAgLy8gaWYgc3luY2VkIGZpbHRlciwgc2hvdyBpdCB1bmZkZXIgaXRzIHRoZSBmaXJzdCBkYXRhc2V0XG4gICAgICAgICAgICBbZGF0YUlkXTogZmlsdGVyc0J5SW5kZXguZmlsdGVyKFxuICAgICAgICAgICAgICBmaWR4ID0+IGZpZHguZmlsdGVyLmRhdGFJZCAmJiBmaWR4LmZpbHRlci5kYXRhSWRbMF0gPT09IGRhdGFJZFxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHt9XG4gICAgICAgICksXG4gICAgICBbZGF0YXNldHMsIGZpbHRlcnNCeUluZGV4XVxuICAgICk7XG4gICAgY29uc3QgX1RvZ2dsZVBhbmVsTGlzdFZpZXcgPSB1c2VDYWxsYmFjayhcbiAgICAgIGxpc3RWaWV3ID0+IHtcbiAgICAgICAgdG9nZ2xlUGFuZWxMaXN0Vmlldyh7cGFuZWxJZDogJ2ZpbHRlcicsIGxpc3RWaWV3fSk7XG4gICAgICB9LFxuICAgICAgW3RvZ2dsZVBhbmVsTGlzdFZpZXddXG4gICAgKTtcblxuICAgIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gICAgY29uc3QgZmlsdGVyTGlzdFByb3BzID0ge1xuICAgICAgZGF0YXNldHMsXG4gICAgICBmaWx0ZXJzLFxuICAgICAgbGF5ZXJzLFxuICAgICAgaXNBbnlGaWx0ZXJBbmltYXRpbmcsXG4gICAgICB2aXNTdGF0ZUFjdGlvbnNcbiAgICB9O1xuXG4gICAgY29uc3Qgc291cmNlRGF0YUNhdGFsb2dQcm9wcyA9IHtcbiAgICAgIHNob3dEYXRhc2V0VGFibGUsXG4gICAgICB1cGRhdGVUYWJsZUNvbG9yLFxuICAgICAgcmVtb3ZlRGF0YXNldCxcbiAgICAgIHNob3dEZWxldGVEYXRhc2V0OiB0cnVlLFxuICAgICAgcmVmcmVzaERhdGFzZXQ6IHZpc1N0YXRlQWN0aW9ucy5yZWZyZXNoRGF0YXNldCxcbiAgICAgIHVwZGF0ZURhdGFzZXRQcm9wczogdmlzU3RhdGVBY3Rpb25zLnVwZGF0ZURhdGFzZXRQcm9wc1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXItbWFuYWdlclwiPlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8UGFuZWxWaWV3TGlzdFRvZ2dsZSB0b2dnbGVQYW5lbExpc3RWaWV3PXtfVG9nZ2xlUGFuZWxMaXN0Vmlld30gbW9kZT17cGFuZWxMaXN0Vmlld30gLz5cbiAgICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICA8RGF0YXNldFNlY3Rpb25cbiAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgey4uLnNvdXJjZURhdGFDYXRhbG9nUHJvcHN9XG4gICAgICAgICAgc2hvd0RhdGFzZXRMaXN0PXshaXNTb3J0QnlEYXRhc2V0TW9kZX1cbiAgICAgICAgICBzaG93QWRkRGF0YU1vZGFsPXtzaG93QWRkRGF0YU1vZGFsfVxuICAgICAgICAvPlxuICAgICAgICA8U2lkZVBhbmVsRGl2aWRlciAvPlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8UGFuZWxUaXRsZVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsdGVyLW1hbmFnZXItdGl0bGVcIlxuICAgICAgICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IHBhbmVsTWV0YWRhdGEubGFiZWx9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8QWRkRmlsdGVyQnV0dG9uIGRhdGFzZXRzPXtkYXRhc2V0c30gb25BZGQ9e29uQ2xpY2tBZGRGaWx0ZXJ9IC8+XG4gICAgICAgICAgPC9QYW5lbFRpdGxlPlxuICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgIHtpc1NvcnRCeURhdGFzZXRNb2RlID8gKFxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZmlsdGVyc0J5RGF0YXNldHMpLm1hcChkYXRhSWQgPT4gKFxuICAgICAgICAgICAgICA8RGF0YXNldEZpbHRlclNlY3Rpb25cbiAgICAgICAgICAgICAgICBrZXk9e2RhdGFJZH1cbiAgICAgICAgICAgICAgICBmaWx0ZXJzQnlJbmRleD17ZmlsdGVyc0J5RGF0YXNldHNbZGF0YUlkXX1cbiAgICAgICAgICAgICAgICBkYXRhc2V0PXtkYXRhc2V0c1tkYXRhSWRdfVxuICAgICAgICAgICAgICAgIHsuLi5maWx0ZXJMaXN0UHJvcHN9XG4gICAgICAgICAgICAgICAgey4uLnNvdXJjZURhdGFDYXRhbG9nUHJvcHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKVxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8RmlsdGVyTGlzdCBmaWx0ZXJzQnlJbmRleD17ZmlsdGVyc0J5SW5kZXh9IHsuLi5maWx0ZXJMaXN0UHJvcHN9IC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gRmlsdGVyTWFuYWdlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRmlsdGVyTWFuYWdlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPQSxLQUFLLElBQUdDLFdBQVcsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFDakQsU0FBUUMsT0FBTyxRQUFPLFlBQVk7QUFDbEMsU0FBUUMsZ0JBQWdCLEVBQUVDLGdCQUFnQixRQUFPLDZCQUE2QjtBQUM5RSxPQUFPQyx3QkFBd0IsTUFBTSw4QkFBOEI7QUFDbkUsT0FBT0Msa0JBQWtCLE1BQU0sNkJBQTZCO0FBQzVELFNBQVFDLGlCQUFpQixFQUFFQyxrQkFBa0IsUUFBTyxzQkFBc0I7QUFHMUUsU0FBUUMsWUFBWSxRQUFPLGtCQUFrQjtBQUk3QyxP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
@@ -4,7 +4,8 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  var _excluded = ["rasterTile"],
5
5
  _excluded2 = ["wms"],
6
6
  _excluded3 = ["flow"],
7
- _excluded4 = ["a5"];
7
+ _excluded4 = ["a5"],
8
+ _excluded5 = ["geohash"];
8
9
  var _templateObject, _templateObject2;
9
10
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
11
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -127,6 +128,7 @@ function LayerManagerFactory(LayerList, DatasetLayerGroup, PanelViewListToggle,
127
128
  var enableWMSLayer = getApplicationConfig().enableWMSLayer;
128
129
  var enableFlowLayer = getApplicationConfig().enableFlowLayer;
129
130
  var enableA5Layer = getApplicationConfig().enableA5Layer;
131
+ var enableGeohashLayer = getApplicationConfig().enableGeohashLayer;
130
132
  var enableLayerGroups = getApplicationConfig().enableLayerGroups;
131
133
  var filteredLayerClasses = useMemo(function () {
132
134
  var filteredClasses = layerClasses;
@@ -154,8 +156,14 @@ function LayerManagerFactory(LayerList, DatasetLayerGroup, PanelViewListToggle,
154
156
  _rest3 = _objectWithoutProperties(_filteredClasses4, _excluded4);
155
157
  filteredClasses = _rest3;
156
158
  }
159
+ if (!enableGeohashLayer) {
160
+ var _filteredClasses5 = filteredClasses,
161
+ _geohash = _filteredClasses5.geohash,
162
+ _rest4 = _objectWithoutProperties(_filteredClasses5, _excluded5);
163
+ filteredClasses = _rest4;
164
+ }
157
165
  return filteredClasses;
158
- }, [enableRasterTileLayer, enableWMSLayer, enableFlowLayer, enableA5Layer, layerClasses]);
166
+ }, [enableRasterTileLayer, enableWMSLayer, enableFlowLayer, enableA5Layer, enableGeohashLayer, layerClasses]);
159
167
  return /*#__PURE__*/React.createElement("div", {
160
168
  className: "layer-manager"
161
169
  }, /*#__PURE__*/React.createElement(SidePanelSection, null, /*#__PURE__*/React.createElement(PanelViewListToggle, {
@@ -168,7 +176,9 @@ function LayerManagerFactory(LayerList, DatasetLayerGroup, PanelViewListToggle,
168
176
  removeDataset: removeDataset,
169
177
  showDeleteDataset: showDeleteDataset,
170
178
  showDatasetList: !isSortByDatasetMode,
171
- showAddDataModal: showAddDataModal
179
+ showAddDataModal: showAddDataModal,
180
+ refreshDataset: visStateActions.refreshDataset,
181
+ updateDatasetProps: visStateActions.updateDatasetProps
172
182
  }), /*#__PURE__*/React.createElement(SidePanelDivider, null), /*#__PURE__*/React.createElement(SidePanelSection, null, /*#__PURE__*/React.createElement(PanelTitle, {
173
183
  className: "layer-manager-title",
174
184
  title: intl.formatMessage({
@@ -222,4 +232,4 @@ function LayerManagerFactory(LayerList, DatasetLayerGroup, PanelViewListToggle,
222
232
  return injectIntl(LayerManager);
223
233
  }
224
234
  export default LayerManagerFactory;
225
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsImluamVjdEludGwiLCJzdHlsZWQiLCJGb3JtYXR0ZWRNZXNzYWdlIiwiTGF5ZXJMaXN0RmFjdG9yeSIsIkRhdGFzZXRMYXllckdyb3VwRmFjdG9yeSIsIlBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5IiwiUGFuZWxUaXRsZUZhY3RvcnkiLCJEYXRhc2V0U2VjdGlvbkZhY3RvcnkiLCJBZGRMYXllckJ1dHRvbkZhY3RvcnkiLCJJdGVtU2VsZWN0b3IiLCJQYW5lbExhYmVsIiwiU2lkZVBhbmVsRGl2aWRlciIsIlNpZGVQYW5lbFNlY3Rpb24iLCJJbmZvSGVscGVyRmFjdG9yeSIsIkxBWUVSX0JMRU5ESU5HUyIsIk9WRVJMQVlfQkxFTkRJTkdTIiwiUEFORUxfVklFV19UT0dHTEVTIiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkiLCJGb2xkZXIiLCJMYXllckJsZW5kaW5nU2VsZWN0b3IiLCJtZW1vIiwiX3JlZiIsImxheWVyQmxlbmRpbmciLCJ1cGRhdGVMYXllckJsZW5kaW5nIiwiaW50bCIsImNsYXNzTmFtZSIsImxhYmVsZWRMYXllckJsZW5kaW5ncyIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJhY2MiLCJjdXJyZW50IiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsImxhYmVsIiwib25DaGFuZ2UiLCJibGVuZGluZyIsImNyZWF0ZUVsZW1lbnQiLCJzZWxlY3RlZEl0ZW1zIiwib3B0aW9ucyIsIm11bHRpU2VsZWN0Iiwic2VhcmNoYWJsZSIsImRpc3BsYXlOYW1lIiwiSW5mb0hlbHBlcldyYXBwZXIiLCJkaXYiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIiwiT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3JUaXRsZVJvdyIsIl90ZW1wbGF0ZU9iamVjdDIiLCJPdmVybGF5QmxlbmRpbmdTZWxlY3RvciIsIl9yZWYyIiwib3ZlcmxheUJsZW5kaW5nIiwidXBkYXRlT3ZlcmxheUJsZW5kaW5nIiwiaW5mb0hlbHBlciIsImxhYmVsZWRPdmVybGF5QmxlbmRpbmdzIiwiTGF5ZXJNYW5hZ2VyRmFjdG9yeSIsImRlcHMiLCJMYXllckxpc3QiLCJEYXRhc2V0TGF5ZXJHcm91cCIsIlBhbmVsVmlld0xpc3RUb2dnbGUiLCJQYW5lbFRpdGxlIiwiRGF0YXNldFNlY3Rpb24iLCJBZGRMYXllckJ1dHRvbiIsIkluZm9IZWxwZXIiLCJQYW5lbEhlYWRlckFjdGlvbiIsIkxheWVyTWFuYWdlciIsIl9yZWYzIiwibGF5ZXJzIiwiZGF0YXNldHMiLCJsYXllck9yZGVyIiwicGFuZWxMaXN0VmlldyIsInBhbmVsTWV0YWRhdGEiLCJsYXllckNsYXNzZXMiLCJzaG93QWRkRGF0YU1vZGFsIiwiX3JlZjMkc2hvd0RlbGV0ZURhdGFzIiwic2hvd0RlbGV0ZURhdGFzZXQiLCJ1cGRhdGVUYWJsZUNvbG9yIiwic2hvd0RhdGFzZXRUYWJsZSIsInJlbW92ZURhdGFzZXQiLCJ1aVN0YXRlQWN0aW9ucyIsInZpc1N0YXRlQWN0aW9ucyIsIm1hcFN0YXRlQWN0aW9ucyIsIm1hcFN0YXRlIiwiYWRkTGF5ZXIiLCJ0b2dnbGVQYW5lbExpc3RWaWV3Iiwib25BZGRMYXllciIsImRhdGFzZXQiLCJ1bmRlZmluZWQiLCJvbkFkZEdyb3VwIiwiYWRkTGF5ZXJHcm91cCIsIm9uVG9nZ2xlUGFuZWxMaXN0VmlldyIsImxpc3RWaWV3IiwicGFuZWxJZCIsImlzU29ydEJ5RGF0YXNldE1vZGUiLCJieURhdGFzZXQiLCJlbmFibGVSYXN0ZXJUaWxlTGF5ZXIiLCJlbmFibGVXTVNMYXllciIsImVuYWJsZUZsb3dMYXllciIsImVuYWJsZUE1TGF5ZXIiLCJlbmFibGVMYXllckdyb3VwcyIsImZpbHRlcmVkTGF5ZXJDbGFzc2VzIiwiZmlsdGVyZWRDbGFzc2VzIiwiX2ZpbHRlcmVkQ2xhc3NlcyIsIl9yYXN0ZXJUaWxlIiwicmFzdGVyVGlsZSIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfZmlsdGVyZWRDbGFzc2VzMiIsIl93bXMiLCJ3bXMiLCJfZXhjbHVkZWQyIiwiX2ZpbHRlcmVkQ2xhc3NlczMiLCJfZmxvdyIsImZsb3ciLCJfZXhjbHVkZWQzIiwiX2ZpbHRlcmVkQ2xhc3NlczQiLCJfYTUiLCJhNSIsIl9leGNsdWRlZDQiLCJtb2RlIiwic2hvd0RhdGFzZXRMaXN0IiwidGl0bGUiLCJvbkNsaWNrIiwiSWNvbkNvbXBvbmVudCIsInRvb2x0aXAiLCJvbkFkZCIsImRlc2NyaXB0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItbWFuYWdlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtpbmplY3RJbnRsLCBXcmFwcGVkQ29tcG9uZW50UHJvcHN9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcblxuaW1wb3J0IExheWVyTGlzdEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9sYXllci1saXN0JztcbmltcG9ydCBEYXRhc2V0TGF5ZXJHcm91cEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9kYXRhc2V0LWxheWVyLWdyb3VwJztcbmltcG9ydCBQYW5lbFZpZXdMaXN0VG9nZ2xlRmFjdG9yeSBmcm9tICcuL3BhbmVsLXZpZXctbGlzdC10b2dnbGUnO1xuaW1wb3J0IFBhbmVsVGl0bGVGYWN0b3J5IGZyb20gJy4vcGFuZWwtdGl0bGUnO1xuaW1wb3J0IERhdGFzZXRTZWN0aW9uRmFjdG9yeSBmcm9tICcuL2xheWVyLXBhbmVsL2RhdGFzZXQtc2VjdGlvbic7XG5pbXBvcnQgQWRkTGF5ZXJCdXR0b25GYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwvYWRkLWxheWVyLWJ1dHRvbic7XG5cbmltcG9ydCBJdGVtU2VsZWN0b3IgZnJvbSAnLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge1BhbmVsTGFiZWwsIFNpZGVQYW5lbERpdmlkZXIsIFNpZGVQYW5lbFNlY3Rpb259IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgSW5mb0hlbHBlckZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL2luZm8taGVscGVyJztcblxuaW1wb3J0IHtMQVlFUl9CTEVORElOR1MsIE9WRVJMQVlfQkxFTkRJTkdTLCBQQU5FTF9WSUVXX1RPR0dMRVN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7TGF5ZXIsIExheWVyQ2xhc3Nlc1R5cGV9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7VUlTdGF0ZUFjdGlvbnMsIFZpc1N0YXRlQWN0aW9ucywgTWFwU3RhdGVBY3Rpb25zLCBBY3Rpb25IYW5kbGVyfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtTaWRlUGFuZWxJdGVtfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge01hcFN0YXRlLCBQYW5lbExpc3RWaWV3LCBMYXllck9yZGVyfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtnZXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4vcGFuZWwtaGVhZGVyLWFjdGlvbic7XG5pbXBvcnQge0ZvbGRlcn0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcblxudHlwZSBMYXllckJsZW5kaW5nU2VsZWN0b3JQcm9wcyA9IHtcbiAgbGF5ZXJCbGVuZGluZzogc3RyaW5nO1xuICB1cGRhdGVMYXllckJsZW5kaW5nOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMudXBkYXRlTGF5ZXJCbGVuZGluZz47XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbn0gJiBXcmFwcGVkQ29tcG9uZW50UHJvcHM7XG5cbnR5cGUgT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3JQcm9wcyA9IHtcbiAgb3ZlcmxheUJsZW5kaW5nOiBzdHJpbmc7XG4gIHVwZGF0ZU92ZXJsYXlCbGVuZGluZzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZU92ZXJsYXlCbGVuZGluZz47XG4gIGluZm9IZWxwZXI6IFJlYWN0LlJlYWN0Tm9kZTtcbn0gJiBXcmFwcGVkQ29tcG9uZW50UHJvcHM7XG5cbnR5cGUgTGF5ZXJNYW5hZ2VyUHJvcHMgPSB7XG4gIGRhdGFzZXRzOiBEYXRhc2V0cztcbiAgbGF5ZXJzOiBMYXllcltdO1xuICBsYXllck9yZGVyOiBMYXllck9yZGVyO1xuICBsYXllckNsYXNzZXM6IExheWVyQ2xhc3Nlc1R5cGU7XG4gIGxheWVyQmxlbmRpbmc6IHN0cmluZztcbiAgb3ZlcmxheUJsZW5kaW5nOiBzdHJpbmc7XG4gIHVpU3RhdGVBY3Rpb25zOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnM7XG4gIHZpc1N0YXRlQWN0aW9uczogdHlwZW9mIFZpc1N0YXRlQWN0aW9ucztcbiAgbWFwU3RhdGVBY3Rpb25zOiB0eXBlb2YgTWFwU3RhdGVBY3Rpb25zO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xuICBzaG93QWRkRGF0YU1vZGFsOiAoKSA9PiB2b2lkO1xuICByZW1vdmVEYXRhc2V0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBVSVN0YXRlQWN0aW9ucy5vcGVuRGVsZXRlTW9kYWw+O1xuICBzaG93RGF0YXNldFRhYmxlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMuc2hvd0RhdGFzZXRUYWJsZT47XG4gIHVwZGF0ZVRhYmxlQ29sb3I6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy51cGRhdGVUYWJsZUNvbG9yPjtcbiAgcGFuZWxMaXN0VmlldzogUGFuZWxMaXN0VmlldztcbiAgcGFuZWxNZXRhZGF0YTogU2lkZVBhbmVsSXRlbTtcbiAgc2hvd0RlbGV0ZURhdGFzZXQ/OiBib29sZWFuO1xufSAmIFdyYXBwZWRDb21wb25lbnRQcm9wcztcblxuZXhwb3J0IGNvbnN0IExheWVyQmxlbmRpbmdTZWxlY3RvciA9IFJlYWN0Lm1lbW8oXG4gICh7bGF5ZXJCbGVuZGluZywgdXBkYXRlTGF5ZXJCbGVuZGluZywgaW50bCwgY2xhc3NOYW1lfTogTGF5ZXJCbGVuZGluZ1NlbGVjdG9yUHJvcHMpID0+IHtcbiAgICBjb25zdCBsYWJlbGVkTGF5ZXJCbGVuZGluZ3MgPSBPYmplY3Qua2V5cyhMQVlFUl9CTEVORElOR1MpLnJlZHVjZShcbiAgICAgIChhY2MsIGN1cnJlbnQpID0+ICh7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IExBWUVSX0JMRU5ESU5HU1tjdXJyZW50XS5sYWJlbH0pXTogY3VycmVudFxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgYmxlbmRpbmcgPT4gdXBkYXRlTGF5ZXJCbGVuZGluZyhsYWJlbGVkTGF5ZXJCbGVuZGluZ3NbYmxlbmRpbmddKSxcbiAgICAgIFt1cGRhdGVMYXllckJsZW5kaW5nLCBsYWJlbGVkTGF5ZXJCbGVuZGluZ3NdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2lkZVBhbmVsU2VjdGlvbiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibGF5ZXJCbGVuZGluZy50aXRsZVwiIC8+XG4gICAgICAgIDwvUGFuZWxMYWJlbD5cbiAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IExBWUVSX0JMRU5ESU5HU1tsYXllckJsZW5kaW5nXS5sYWJlbH0pfVxuICAgICAgICAgIG9wdGlvbnM9e09iamVjdC5rZXlzKGxhYmVsZWRMYXllckJsZW5kaW5ncyl9XG4gICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgIHNlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9XG4pO1xuTGF5ZXJCbGVuZGluZ1NlbGVjdG9yLmRpc3BsYXlOYW1lID0gJ0xheWVyQmxlbmRpbmdTZWxlY3Rvcic7XG5cbmNvbnN0IEluZm9IZWxwZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxvYXQ6IHJpZ2h0O1xuYDtcblxuY29uc3QgT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3JUaXRsZVJvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBPdmVybGF5QmxlbmRpbmdTZWxlY3RvciA9IFJlYWN0Lm1lbW8oXG4gICh7b3ZlcmxheUJsZW5kaW5nLCB1cGRhdGVPdmVybGF5QmxlbmRpbmcsIGludGwsIGluZm9IZWxwZXJ9OiBPdmVybGF5QmxlbmRpbmdTZWxlY3RvclByb3BzKSA9PiB7XG4gICAgY29uc3QgbGFiZWxlZE92ZXJsYXlCbGVuZGluZ3MgPSBPYmplY3Qua2V5cyhPVkVSTEFZX0JMRU5ESU5HUykucmVkdWNlKFxuICAgICAgKGFjYywgY3VycmVudCkgPT4gKHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICBbaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogT1ZFUkxBWV9CTEVORElOR1NbY3VycmVudF0ubGFiZWx9KV06IGN1cnJlbnRcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuXG4gICAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAgIGJsZW5kaW5nID0+IHVwZGF0ZU92ZXJsYXlCbGVuZGluZyhsYWJlbGVkT3ZlcmxheUJsZW5kaW5nc1tibGVuZGluZ10pLFxuICAgICAgW3VwZGF0ZU92ZXJsYXlCbGVuZGluZywgbGFiZWxlZE92ZXJsYXlCbGVuZGluZ3NdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgPE92ZXJsYXlCbGVuZGluZ1NlbGVjdG9yVGl0bGVSb3c+XG4gICAgICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cIm92ZXJsYXlCbGVuZGluZy50aXRsZVwiIC8+XG4gICAgICAgICAgPC9QYW5lbExhYmVsPlxuICAgICAgICAgIDxJbmZvSGVscGVyV3JhcHBlcj57aW5mb0hlbHBlcn08L0luZm9IZWxwZXJXcmFwcGVyPlxuICAgICAgICA8L092ZXJsYXlCbGVuZGluZ1NlbGVjdG9yVGl0bGVSb3c+XG4gICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiBPVkVSTEFZX0JMRU5ESU5HU1tvdmVybGF5QmxlbmRpbmddLmxhYmVsfSl9XG4gICAgICAgICAgb3B0aW9ucz17T2JqZWN0LmtleXMobGFiZWxlZE92ZXJsYXlCbGVuZGluZ3MpfVxuICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgKTtcbiAgfVxuKTtcbk92ZXJsYXlCbGVuZGluZ1NlbGVjdG9yLmRpc3BsYXlOYW1lID0gJ092ZXJsYXlCbGVuZGluZ1NlbGVjdG9yJztcblxuTGF5ZXJNYW5hZ2VyRmFjdG9yeS5kZXBzID0gW1xuICBMYXllckxpc3RGYWN0b3J5LFxuICBEYXRhc2V0TGF5ZXJHcm91cEZhY3RvcnksXG4gIFBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5LFxuICBQYW5lbFRpdGxlRmFjdG9yeSxcbiAgRGF0YXNldFNlY3Rpb25GYWN0b3J5LFxuICBBZGRMYXllckJ1dHRvbkZhY3RvcnksXG4gIEluZm9IZWxwZXJGYWN0b3J5LFxuICBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIExheWVyTWFuYWdlckZhY3RvcnkoXG4gIExheWVyTGlzdDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJMaXN0RmFjdG9yeT4sXG4gIERhdGFzZXRMYXllckdyb3VwOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhc2V0TGF5ZXJHcm91cEZhY3Rvcnk+LFxuICBQYW5lbFZpZXdMaXN0VG9nZ2xlOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbFZpZXdMaXN0VG9nZ2xlRmFjdG9yeT4sXG4gIFBhbmVsVGl0bGU6IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsVGl0bGVGYWN0b3J5PixcbiAgRGF0YXNldFNlY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIERhdGFzZXRTZWN0aW9uRmFjdG9yeT4sXG4gIEFkZExheWVyQnV0dG9uOiBSZXR1cm5UeXBlPHR5cGVvZiBBZGRMYXllckJ1dHRvbkZhY3Rvcnk+LFxuICBJbmZvSGVscGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBJbmZvSGVscGVyRmFjdG9yeT4sXG4gIFBhbmVsSGVhZGVyQWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJNYW5hZ2VyOiBSZWFjdC5GQzxMYXllck1hbmFnZXJQcm9wcz4gPSAoe1xuICAgIGxheWVycyxcbiAgICBkYXRhc2V0cyxcbiAgICBpbnRsLFxuICAgIGxheWVyT3JkZXIsXG4gICAgcGFuZWxMaXN0VmlldyxcbiAgICBwYW5lbE1ldGFkYXRhLFxuICAgIGxheWVyQ2xhc3NlcyxcbiAgICBsYXllckJsZW5kaW5nLFxuICAgIG92ZXJsYXlCbGVuZGluZyxcbiAgICBzaG93QWRkRGF0YU1vZGFsLFxuICAgIHNob3dEZWxldGVEYXRhc2V0ID0gdHJ1ZSxcbiAgICB1cGRhdGVUYWJsZUNvbG9yLFxuICAgIHNob3dEYXRhc2V0VGFibGUsXG4gICAgcmVtb3ZlRGF0YXNldCxcbiAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgbWFwU3RhdGVBY3Rpb25zLFxuICAgIG1hcFN0YXRlXG4gIH0pID0+IHtcbiAgICBjb25zdCB7YWRkTGF5ZXJ9ID0gdmlzU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IHt0b2dnbGVQYW5lbExpc3RWaWV3fSA9IHVpU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IG9uQWRkTGF5ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAgIChkYXRhc2V0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgYWRkTGF5ZXIodW5kZWZpbmVkLCBkYXRhc2V0KTtcbiAgICAgIH0sXG4gICAgICBbYWRkTGF5ZXJdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uQWRkR3JvdXAgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICB2aXNTdGF0ZUFjdGlvbnMuYWRkTGF5ZXJHcm91cCh7fSk7XG4gICAgfSwgW3Zpc1N0YXRlQWN0aW9uc10pO1xuXG4gICAgY29uc3Qgb25Ub2dnbGVQYW5lbExpc3RWaWV3ID0gdXNlQ2FsbGJhY2soXG4gICAgICAobGlzdFZpZXc6IHN0cmluZykgPT4ge1xuICAgICAgICB0b2dnbGVQYW5lbExpc3RWaWV3KHtwYW5lbElkOiAnbGF5ZXInLCBsaXN0Vmlld30pO1xuICAgICAgfSxcbiAgICAgIFt0b2dnbGVQYW5lbExpc3RWaWV3XVxuICAgICk7XG5cbiAgICBjb25zdCBpc1NvcnRCeURhdGFzZXRNb2RlID0gcGFuZWxMaXN0VmlldyA9PT0gUEFORUxfVklFV19UT0dHTEVTLmJ5RGF0YXNldDtcblxuICAgIC8vIHRlbXAgcGF0Y2ggdG8gaGlkZSBsYXllcnMgdGhhdCBhcmUgaW4gZGV2ZWxvcG1lbnRcbiAgICBjb25zdCBlbmFibGVSYXN0ZXJUaWxlTGF5ZXIgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZVJhc3RlclRpbGVMYXllcjtcbiAgICBjb25zdCBlbmFibGVXTVNMYXllciA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlV01TTGF5ZXI7XG4gICAgY29uc3QgZW5hYmxlRmxvd0xheWVyID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVGbG93TGF5ZXI7XG4gICAgY29uc3QgZW5hYmxlQTVMYXllciA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlQTVMYXllcjtcbiAgICBjb25zdCBlbmFibGVMYXllckdyb3VwcyA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlTGF5ZXJHcm91cHM7XG5cbiAgICBjb25zdCBmaWx0ZXJlZExheWVyQ2xhc3NlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgbGV0IGZpbHRlcmVkQ2xhc3NlcyA9IGxheWVyQ2xhc3NlcztcbiAgICAgIGlmICghZW5hYmxlUmFzdGVyVGlsZUxheWVyKSB7XG4gICAgICAgIGNvbnN0IHtyYXN0ZXJUaWxlOiBfcmFzdGVyVGlsZSwgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICghZW5hYmxlV01TTGF5ZXIpIHtcbiAgICAgICAgY29uc3Qge3dtczogX3dtcywgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICghZW5hYmxlRmxvd0xheWVyKSB7XG4gICAgICAgIGNvbnN0IHtmbG93OiBfZmxvdywgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICghZW5hYmxlQTVMYXllcikge1xuICAgICAgICBjb25zdCB7YTU6IF9hNSwgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWx0ZXJlZENsYXNzZXMgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICB9LCBbZW5hYmxlUmFzdGVyVGlsZUxheWVyLCBlbmFibGVXTVNMYXllciwgZW5hYmxlRmxvd0xheWVyLCBlbmFibGVBNUxheWVyLCBsYXllckNsYXNzZXNdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImxheWVyLW1hbmFnZXJcIj5cbiAgICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgPFBhbmVsVmlld0xpc3RUb2dnbGUgdG9nZ2xlUGFuZWxMaXN0Vmlldz17b25Ub2dnbGVQYW5lbExpc3RWaWV3fSBtb2RlPXtwYW5lbExpc3RWaWV3fSAvPlxuICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgIDxEYXRhc2V0U2VjdGlvblxuICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e3VwZGF0ZVRhYmxlQ29sb3J9XG4gICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICBzaG93RGVsZXRlRGF0YXNldD17c2hvd0RlbGV0ZURhdGFzZXR9XG4gICAgICAgICAgc2hvd0RhdGFzZXRMaXN0PXshaXNTb3J0QnlEYXRhc2V0TW9kZX1cbiAgICAgICAgICBzaG93QWRkRGF0YU1vZGFsPXtzaG93QWRkRGF0YU1vZGFsfVxuICAgICAgICAvPlxuICAgICAgICA8U2lkZVBhbmVsRGl2aWRlciAvPlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8UGFuZWxUaXRsZVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItbWFuYWdlci10aXRsZVwiXG4gICAgICAgICAgICB0aXRsZT17aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogcGFuZWxNZXRhZGF0YS5sYWJlbH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtlbmFibGVMYXllckdyb3VwcyA/IChcbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItZ3JvdXBfX2NyZWF0ZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJuZXctbGF5ZXItZ3JvdXBcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQWRkR3JvdXB9XG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17Rm9sZGVyfVxuICAgICAgICAgICAgICAgIHRvb2x0aXA9XCJDcmVhdGUgbGF5ZXIgZ3JvdXBcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8QWRkTGF5ZXJCdXR0b24gZGF0YXNldHM9e2RhdGFzZXRzfSBvbkFkZD17b25BZGRMYXllcn0gLz5cbiAgICAgICAgICA8L1BhbmVsVGl0bGU+XG4gICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAge2lzU29ydEJ5RGF0YXNldE1vZGUgPyAoXG4gICAgICAgICAgICA8RGF0YXNldExheWVyR3JvdXBcbiAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgdXBkYXRlVGFibGVDb2xvcj17dXBkYXRlVGFibGVDb2xvcn1cbiAgICAgICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICAgICAgbGF5ZXJPcmRlcj17bGF5ZXJPcmRlcn1cbiAgICAgICAgICAgICAgbGF5ZXJDbGFzc2VzPXtmaWx0ZXJlZExheWVyQ2xhc3Nlc31cbiAgICAgICAgICAgICAgdWlTdGF0ZUFjdGlvbnM9e3VpU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgbWFwU3RhdGVBY3Rpb25zPXttYXBTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgICAgc2hvd0RlbGV0ZURhdGFzZXQ9e3Nob3dEZWxldGVEYXRhc2V0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExheWVyTGlzdFxuICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICBsYXllck9yZGVyPXtsYXllck9yZGVyfVxuICAgICAgICAgICAgICB1aVN0YXRlQWN0aW9ucz17dWlTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgIHZpc1N0YXRlQWN0aW9ucz17dmlzU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICBtYXBTdGF0ZUFjdGlvbnM9e21hcFN0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgICAgICAgICBsYXllckNsYXNzZXM9e2ZpbHRlcmVkTGF5ZXJDbGFzc2VzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgIDxMYXllckJsZW5kaW5nU2VsZWN0b3JcbiAgICAgICAgICBsYXllckJsZW5kaW5nPXtsYXllckJsZW5kaW5nfVxuICAgICAgICAgIHVwZGF0ZUxheWVyQmxlbmRpbmc9e3Zpc1N0YXRlQWN0aW9ucy51cGRhdGVMYXllckJsZW5kaW5nfVxuICAgICAgICAgIGludGw9e2ludGx9XG4gICAgICAgIC8+XG4gICAgICAgIDxPdmVybGF5QmxlbmRpbmdTZWxlY3RvclxuICAgICAgICAgIG92ZXJsYXlCbGVuZGluZz17b3ZlcmxheUJsZW5kaW5nfVxuICAgICAgICAgIHVwZGF0ZU92ZXJsYXlCbGVuZGluZz17dmlzU3RhdGVBY3Rpb25zLnVwZGF0ZU92ZXJsYXlCbGVuZGluZ31cbiAgICAgICAgICBpbnRsPXtpbnRsfVxuICAgICAgICAgIGluZm9IZWxwZXI9e1xuICAgICAgICAgICAgPEluZm9IZWxwZXJcbiAgICAgICAgICAgICAgaWQ9e2BvdmVybGF5QmxlbmRpbmctZGVzY3JpcHRpb25gfVxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbj17J292ZXJsYXlCbGVuZGluZy5kZXNjcmlwdGlvbid9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIGluamVjdEludGwoTGF5ZXJNYW5hZ2VyKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJNYW5hZ2VyRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxXQUFXLEVBQUVDLE9BQU8sUUFBTyxPQUFPO0FBRWpELFNBQVFDLFVBQVUsUUFBOEIsWUFBWTtBQUM1RCxPQUFPQyxNQUFNLE1BQU0sbUJBQW1CO0FBQ3RDLFNBQVFDLGdC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
235
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsImluamVjdEludGwiLCJzdHlsZWQiLCJGb3JtYXR0ZWRNZXNzYWdlIiwiTGF5ZXJMaXN0RmFjdG9yeSIsIkRhdGFzZXRMYXllckdyb3VwRmFjdG9yeSIsIlBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5IiwiUGFuZWxUaXRsZUZhY3RvcnkiLCJEYXRhc2V0U2VjdGlvbkZhY3RvcnkiLCJBZGRMYXllckJ1dHRvbkZhY3RvcnkiLCJJdGVtU2VsZWN0b3IiLCJQYW5lbExhYmVsIiwiU2lkZVBhbmVsRGl2aWRlciIsIlNpZGVQYW5lbFNlY3Rpb24iLCJJbmZvSGVscGVyRmFjdG9yeSIsIkxBWUVSX0JMRU5ESU5HUyIsIk9WRVJMQVlfQkxFTkRJTkdTIiwiUEFORUxfVklFV19UT0dHTEVTIiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkiLCJGb2xkZXIiLCJMYXllckJsZW5kaW5nU2VsZWN0b3IiLCJtZW1vIiwiX3JlZiIsImxheWVyQmxlbmRpbmciLCJ1cGRhdGVMYXllckJsZW5kaW5nIiwiaW50bCIsImNsYXNzTmFtZSIsImxhYmVsZWRMYXllckJsZW5kaW5ncyIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJhY2MiLCJjdXJyZW50IiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsImxhYmVsIiwib25DaGFuZ2UiLCJibGVuZGluZyIsImNyZWF0ZUVsZW1lbnQiLCJzZWxlY3RlZEl0ZW1zIiwib3B0aW9ucyIsIm11bHRpU2VsZWN0Iiwic2VhcmNoYWJsZSIsImRpc3BsYXlOYW1lIiwiSW5mb0hlbHBlcldyYXBwZXIiLCJkaXYiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIiwiT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3JUaXRsZVJvdyIsIl90ZW1wbGF0ZU9iamVjdDIiLCJPdmVybGF5QmxlbmRpbmdTZWxlY3RvciIsIl9yZWYyIiwib3ZlcmxheUJsZW5kaW5nIiwidXBkYXRlT3ZlcmxheUJsZW5kaW5nIiwiaW5mb0hlbHBlciIsImxhYmVsZWRPdmVybGF5QmxlbmRpbmdzIiwiTGF5ZXJNYW5hZ2VyRmFjdG9yeSIsImRlcHMiLCJMYXllckxpc3QiLCJEYXRhc2V0TGF5ZXJHcm91cCIsIlBhbmVsVmlld0xpc3RUb2dnbGUiLCJQYW5lbFRpdGxlIiwiRGF0YXNldFNlY3Rpb24iLCJBZGRMYXllckJ1dHRvbiIsIkluZm9IZWxwZXIiLCJQYW5lbEhlYWRlckFjdGlvbiIsIkxheWVyTWFuYWdlciIsIl9yZWYzIiwibGF5ZXJzIiwiZGF0YXNldHMiLCJsYXllck9yZGVyIiwicGFuZWxMaXN0VmlldyIsInBhbmVsTWV0YWRhdGEiLCJsYXllckNsYXNzZXMiLCJzaG93QWRkRGF0YU1vZGFsIiwiX3JlZjMkc2hvd0RlbGV0ZURhdGFzIiwic2hvd0RlbGV0ZURhdGFzZXQiLCJ1cGRhdGVUYWJsZUNvbG9yIiwic2hvd0RhdGFzZXRUYWJsZSIsInJlbW92ZURhdGFzZXQiLCJ1aVN0YXRlQWN0aW9ucyIsInZpc1N0YXRlQWN0aW9ucyIsIm1hcFN0YXRlQWN0aW9ucyIsIm1hcFN0YXRlIiwiYWRkTGF5ZXIiLCJ0b2dnbGVQYW5lbExpc3RWaWV3Iiwib25BZGRMYXllciIsImRhdGFzZXQiLCJ1bmRlZmluZWQiLCJvbkFkZEdyb3VwIiwiYWRkTGF5ZXJHcm91cCIsIm9uVG9nZ2xlUGFuZWxMaXN0VmlldyIsImxpc3RWaWV3IiwicGFuZWxJZCIsImlzU29ydEJ5RGF0YXNldE1vZGUiLCJieURhdGFzZXQiLCJlbmFibGVSYXN0ZXJUaWxlTGF5ZXIiLCJlbmFibGVXTVNMYXllciIsImVuYWJsZUZsb3dMYXllciIsImVuYWJsZUE1TGF5ZXIiLCJlbmFibGVHZW9oYXNoTGF5ZXIiLCJlbmFibGVMYXllckdyb3VwcyIsImZpbHRlcmVkTGF5ZXJDbGFzc2VzIiwiZmlsdGVyZWRDbGFzc2VzIiwiX2ZpbHRlcmVkQ2xhc3NlcyIsIl9yYXN0ZXJUaWxlIiwicmFzdGVyVGlsZSIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfZmlsdGVyZWRDbGFzc2VzMiIsIl93bXMiLCJ3bXMiLCJfZXhjbHVkZWQyIiwiX2ZpbHRlcmVkQ2xhc3NlczMiLCJfZmxvdyIsImZsb3ciLCJfZXhjbHVkZWQzIiwiX2ZpbHRlcmVkQ2xhc3NlczQiLCJfYTUiLCJhNSIsIl9leGNsdWRlZDQiLCJfZmlsdGVyZWRDbGFzc2VzNSIsIl9nZW9oYXNoIiwiZ2VvaGFzaCIsIl9leGNsdWRlZDUiLCJtb2RlIiwic2hvd0RhdGFzZXRMaXN0IiwicmVmcmVzaERhdGFzZXQiLCJ1cGRhdGVEYXRhc2V0UHJvcHMiLCJ0aXRsZSIsIm9uQ2xpY2siLCJJY29uQ29tcG9uZW50IiwidG9vbHRpcCIsIm9uQWRkIiwiZGVzY3JpcHRpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9sYXllci1tYW5hZ2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge2luamVjdEludGwsIFdyYXBwZWRDb21wb25lbnRQcm9wc30gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuXG5pbXBvcnQgTGF5ZXJMaXN0RmFjdG9yeSBmcm9tICcuL2xheWVyLXBhbmVsL2xheWVyLWxpc3QnO1xuaW1wb3J0IERhdGFzZXRMYXllckdyb3VwRmFjdG9yeSBmcm9tICcuL2xheWVyLXBhbmVsL2RhdGFzZXQtbGF5ZXItZ3JvdXAnO1xuaW1wb3J0IFBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5IGZyb20gJy4vcGFuZWwtdmlldy1saXN0LXRvZ2dsZSc7XG5pbXBvcnQgUGFuZWxUaXRsZUZhY3RvcnkgZnJvbSAnLi9wYW5lbC10aXRsZSc7XG5pbXBvcnQgRGF0YXNldFNlY3Rpb25GYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwvZGF0YXNldC1zZWN0aW9uJztcbmltcG9ydCBBZGRMYXllckJ1dHRvbkZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC9hZGQtbGF5ZXItYnV0dG9uJztcblxuaW1wb3J0IEl0ZW1TZWxlY3RvciBmcm9tICcuLi9jb21tb24vaXRlbS1zZWxlY3Rvci9pdGVtLXNlbGVjdG9yJztcbmltcG9ydCB7UGFuZWxMYWJlbCwgU2lkZVBhbmVsRGl2aWRlciwgU2lkZVBhbmVsU2VjdGlvbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBJbmZvSGVscGVyRmFjdG9yeSBmcm9tICcuLi9jb21tb24vaW5mby1oZWxwZXInO1xuXG5pbXBvcnQge0xBWUVSX0JMRU5ESU5HUywgT1ZFUkxBWV9CTEVORElOR1MsIFBBTkVMX1ZJRVdfVE9HR0xFU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtMYXllciwgTGF5ZXJDbGFzc2VzVHlwZX0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHtVSVN0YXRlQWN0aW9ucywgVmlzU3RhdGVBY3Rpb25zLCBNYXBTdGF0ZUFjdGlvbnMsIEFjdGlvbkhhbmRsZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge1NpZGVQYW5lbEl0ZW19IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7TWFwU3RhdGUsIFBhbmVsTGlzdFZpZXcsIExheWVyT3JkZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5pbXBvcnQge2dldEFwcGxpY2F0aW9uQ29uZmlnfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCBQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkgZnJvbSAnLi9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCB7Rm9sZGVyfSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuXG50eXBlIExheWVyQmxlbmRpbmdTZWxlY3RvclByb3BzID0ge1xuICBsYXllckJsZW5kaW5nOiBzdHJpbmc7XG4gIHVwZGF0ZUxheWVyQmxlbmRpbmc6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy51cGRhdGVMYXllckJsZW5kaW5nPjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufSAmIFdyYXBwZWRDb21wb25lbnRQcm9wcztcblxudHlwZSBPdmVybGF5QmxlbmRpbmdTZWxlY3RvclByb3BzID0ge1xuICBvdmVybGF5QmxlbmRpbmc6IHN0cmluZztcbiAgdXBkYXRlT3ZlcmxheUJsZW5kaW5nOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMudXBkYXRlT3ZlcmxheUJsZW5kaW5nPjtcbiAgaW5mb0hlbHBlcjogUmVhY3QuUmVhY3ROb2RlO1xufSAmIFdyYXBwZWRDb21wb25lbnRQcm9wcztcblxudHlwZSBMYXllck1hbmFnZXJQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyT3JkZXI6IExheWVyT3JkZXI7XG4gIGxheWVyQ2xhc3NlczogTGF5ZXJDbGFzc2VzVHlwZTtcbiAgbGF5ZXJCbGVuZGluZzogc3RyaW5nO1xuICBvdmVybGF5QmxlbmRpbmc6IHN0cmluZztcbiAgdWlTdGF0ZUFjdGlvbnM6IHR5cGVvZiBVSVN0YXRlQWN0aW9ucztcbiAgdmlzU3RhdGVBY3Rpb25zOiB0eXBlb2YgVmlzU3RhdGVBY3Rpb25zO1xuICBtYXBTdGF0ZUFjdGlvbnM6IHR5cGVvZiBNYXBTdGF0ZUFjdGlvbnM7XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIHNob3dBZGREYXRhTW9kYWw6ICgpID0+IHZvaWQ7XG4gIHJlbW92ZURhdGFzZXQ6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFVJU3RhdGVBY3Rpb25zLm9wZW5EZWxldGVNb2RhbD47XG4gIHNob3dEYXRhc2V0VGFibGU6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5zaG93RGF0YXNldFRhYmxlPjtcbiAgdXBkYXRlVGFibGVDb2xvcjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZVRhYmxlQ29sb3I+O1xuICBwYW5lbExpc3RWaWV3OiBQYW5lbExpc3RWaWV3O1xuICBwYW5lbE1ldGFkYXRhOiBTaWRlUGFuZWxJdGVtO1xuICBzaG93RGVsZXRlRGF0YXNldD86IGJvb2xlYW47XG59ICYgV3JhcHBlZENvbXBvbmVudFByb3BzO1xuXG5leHBvcnQgY29uc3QgTGF5ZXJCbGVuZGluZ1NlbGVjdG9yID0gUmVhY3QubWVtbyhcbiAgKHtsYXllckJsZW5kaW5nLCB1cGRhdGVMYXllckJsZW5kaW5nLCBpbnRsLCBjbGFzc05hbWV9OiBMYXllckJsZW5kaW5nU2VsZWN0b3JQcm9wcykgPT4ge1xuICAgIGNvbnN0IGxhYmVsZWRMYXllckJsZW5kaW5ncyA9IE9iamVjdC5rZXlzKExBWUVSX0JMRU5ESU5HUykucmVkdWNlKFxuICAgICAgKGFjYywgY3VycmVudCkgPT4gKHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICBbaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogTEFZRVJfQkxFTkRJTkdTW2N1cnJlbnRdLmxhYmVsfSldOiBjdXJyZW50XG4gICAgICB9KSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGNvbnN0IG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICBibGVuZGluZyA9PiB1cGRhdGVMYXllckJsZW5kaW5nKGxhYmVsZWRMYXllckJsZW5kaW5nc1tibGVuZGluZ10pLFxuICAgICAgW3VwZGF0ZUxheWVyQmxlbmRpbmcsIGxhYmVsZWRMYXllckJsZW5kaW5nc11cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTaWRlUGFuZWxTZWN0aW9uIGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJsYXllckJsZW5kaW5nLnRpdGxlXCIgLz5cbiAgICAgICAgPC9QYW5lbExhYmVsPlxuICAgICAgICA8SXRlbVNlbGVjdG9yXG4gICAgICAgICAgc2VsZWN0ZWRJdGVtcz17aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogTEFZRVJfQkxFTkRJTkdTW2xheWVyQmxlbmRpbmddLmxhYmVsfSl9XG4gICAgICAgICAgb3B0aW9ucz17T2JqZWN0LmtleXMobGFiZWxlZExheWVyQmxlbmRpbmdzKX1cbiAgICAgICAgICBtdWx0aVNlbGVjdD17ZmFsc2V9XG4gICAgICAgICAgc2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAvPlxuICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICk7XG4gIH1cbik7XG5MYXllckJsZW5kaW5nU2VsZWN0b3IuZGlzcGxheU5hbWUgPSAnTGF5ZXJCbGVuZGluZ1NlbGVjdG9yJztcblxuY29uc3QgSW5mb0hlbHBlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbG9hdDogcmlnaHQ7XG5gO1xuXG5jb25zdCBPdmVybGF5QmxlbmRpbmdTZWxlY3RvclRpdGxlUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IE92ZXJsYXlCbGVuZGluZ1NlbGVjdG9yID0gUmVhY3QubWVtbyhcbiAgKHtvdmVybGF5QmxlbmRpbmcsIHVwZGF0ZU92ZXJsYXlCbGVuZGluZywgaW50bCwgaW5mb0hlbHBlcn06IE92ZXJsYXlCbGVuZGluZ1NlbGVjdG9yUHJvcHMpID0+IHtcbiAgICBjb25zdCBsYWJlbGVkT3ZlcmxheUJsZW5kaW5ncyA9IE9iamVjdC5rZXlzKE9WRVJMQVlfQkxFTkRJTkdTKS5yZWR1Y2UoXG4gICAgICAoYWNjLCBjdXJyZW50KSA9PiAoe1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIFtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiBPVkVSTEFZX0JMRU5ESU5HU1tjdXJyZW50XS5sYWJlbH0pXTogY3VycmVudFxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgYmxlbmRpbmcgPT4gdXBkYXRlT3ZlcmxheUJsZW5kaW5nKGxhYmVsZWRPdmVybGF5QmxlbmRpbmdzW2JsZW5kaW5nXSksXG4gICAgICBbdXBkYXRlT3ZlcmxheUJsZW5kaW5nLCBsYWJlbGVkT3ZlcmxheUJsZW5kaW5nc11cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICA8T3ZlcmxheUJsZW5kaW5nU2VsZWN0b3JUaXRsZVJvdz5cbiAgICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwib3ZlcmxheUJsZW5kaW5nLnRpdGxlXCIgLz5cbiAgICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgICAgPEluZm9IZWxwZXJXcmFwcGVyPntpbmZvSGVscGVyfTwvSW5mb0hlbHBlcldyYXBwZXI+XG4gICAgICAgIDwvT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3JUaXRsZVJvdz5cbiAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IE9WRVJMQVlfQkxFTkRJTkdTW292ZXJsYXlCbGVuZGluZ10ubGFiZWx9KX1cbiAgICAgICAgICBvcHRpb25zPXtPYmplY3Qua2V5cyhsYWJlbGVkT3ZlcmxheUJsZW5kaW5ncyl9XG4gICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgIHNlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9XG4pO1xuT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3IuZGlzcGxheU5hbWUgPSAnT3ZlcmxheUJsZW5kaW5nU2VsZWN0b3InO1xuXG5MYXllck1hbmFnZXJGYWN0b3J5LmRlcHMgPSBbXG4gIExheWVyTGlzdEZhY3RvcnksXG4gIERhdGFzZXRMYXllckdyb3VwRmFjdG9yeSxcbiAgUGFuZWxWaWV3TGlzdFRvZ2dsZUZhY3RvcnksXG4gIFBhbmVsVGl0bGVGYWN0b3J5LFxuICBEYXRhc2V0U2VjdGlvbkZhY3RvcnksXG4gIEFkZExheWVyQnV0dG9uRmFjdG9yeSxcbiAgSW5mb0hlbHBlckZhY3RvcnksXG4gIFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeVxuXTtcblxuZnVuY3Rpb24gTGF5ZXJNYW5hZ2VyRmFjdG9yeShcbiAgTGF5ZXJMaXN0OiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckxpc3RGYWN0b3J5PixcbiAgRGF0YXNldExheWVyR3JvdXA6IFJldHVyblR5cGU8dHlwZW9mIERhdGFzZXRMYXllckdyb3VwRmFjdG9yeT4sXG4gIFBhbmVsVmlld0xpc3RUb2dnbGU6IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsVmlld0xpc3RUb2dnbGVGYWN0b3J5PixcbiAgUGFuZWxUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxUaXRsZUZhY3Rvcnk+LFxuICBEYXRhc2V0U2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgRGF0YXNldFNlY3Rpb25GYWN0b3J5PixcbiAgQWRkTGF5ZXJCdXR0b246IFJldHVyblR5cGU8dHlwZW9mIEFkZExheWVyQnV0dG9uRmFjdG9yeT4sXG4gIEluZm9IZWxwZXI6IFJldHVyblR5cGU8dHlwZW9mIEluZm9IZWxwZXJGYWN0b3J5PixcbiAgUGFuZWxIZWFkZXJBY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeT5cbikge1xuICBjb25zdCBMYXllck1hbmFnZXI6IFJlYWN0LkZDPExheWVyTWFuYWdlclByb3BzPiA9ICh7XG4gICAgbGF5ZXJzLFxuICAgIGRhdGFzZXRzLFxuICAgIGludGwsXG4gICAgbGF5ZXJPcmRlcixcbiAgICBwYW5lbExpc3RWaWV3LFxuICAgIHBhbmVsTWV0YWRhdGEsXG4gICAgbGF5ZXJDbGFzc2VzLFxuICAgIGxheWVyQmxlbmRpbmcsXG4gICAgb3ZlcmxheUJsZW5kaW5nLFxuICAgIHNob3dBZGREYXRhTW9kYWwsXG4gICAgc2hvd0RlbGV0ZURhdGFzZXQgPSB0cnVlLFxuICAgIHVwZGF0ZVRhYmxlQ29sb3IsXG4gICAgc2hvd0RhdGFzZXRUYWJsZSxcbiAgICByZW1vdmVEYXRhc2V0LFxuICAgIHVpU3RhdGVBY3Rpb25zLFxuICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICBtYXBTdGF0ZUFjdGlvbnMsXG4gICAgbWFwU3RhdGVcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHthZGRMYXllcn0gPSB2aXNTdGF0ZUFjdGlvbnM7XG4gICAgY29uc3Qge3RvZ2dsZVBhbmVsTGlzdFZpZXd9ID0gdWlTdGF0ZUFjdGlvbnM7XG4gICAgY29uc3Qgb25BZGRMYXllciA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGRhdGFzZXQ6IHN0cmluZykgPT4ge1xuICAgICAgICBhZGRMYXllcih1bmRlZmluZWQsIGRhdGFzZXQpO1xuICAgICAgfSxcbiAgICAgIFthZGRMYXllcl1cbiAgICApO1xuXG4gICAgY29uc3Qgb25BZGRHcm91cCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHZpc1N0YXRlQWN0aW9ucy5hZGRMYXllckdyb3VwKHt9KTtcbiAgICB9LCBbdmlzU3RhdGVBY3Rpb25zXSk7XG5cbiAgICBjb25zdCBvblRvZ2dsZVBhbmVsTGlzdFZpZXcgPSB1c2VDYWxsYmFjayhcbiAgICAgIChsaXN0Vmlldzogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRvZ2dsZVBhbmVsTGlzdFZpZXcoe3BhbmVsSWQ6ICdsYXllcicsIGxpc3RWaWV3fSk7XG4gICAgICB9LFxuICAgICAgW3RvZ2dsZVBhbmVsTGlzdFZpZXddXG4gICAgKTtcblxuICAgIGNvbnN0IGlzU29ydEJ5RGF0YXNldE1vZGUgPSBwYW5lbExpc3RWaWV3ID09PSBQQU5FTF9WSUVXX1RPR0dMRVMuYnlEYXRhc2V0O1xuXG4gICAgLy8gdGVtcCBwYXRjaCB0byBoaWRlIGxheWVycyB0aGF0IGFyZSBpbiBkZXZlbG9wbWVudFxuICAgIGNvbnN0IGVuYWJsZVJhc3RlclRpbGVMYXllciA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlUmFzdGVyVGlsZUxheWVyO1xuICAgIGNvbnN0IGVuYWJsZVdNU0xheWVyID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVXTVNMYXllcjtcbiAgICBjb25zdCBlbmFibGVGbG93TGF5ZXIgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZUZsb3dMYXllcjtcbiAgICBjb25zdCBlbmFibGVBNUxheWVyID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVBNUxheWVyO1xuICAgIGNvbnN0IGVuYWJsZUdlb2hhc2hMYXllciA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlR2VvaGFzaExheWVyO1xuICAgIGNvbnN0IGVuYWJsZUxheWVyR3JvdXBzID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVMYXllckdyb3VwcztcblxuICAgIGNvbnN0IGZpbHRlcmVkTGF5ZXJDbGFzc2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBsZXQgZmlsdGVyZWRDbGFzc2VzID0gbGF5ZXJDbGFzc2VzO1xuICAgICAgaWYgKCFlbmFibGVSYXN0ZXJUaWxlTGF5ZXIpIHtcbiAgICAgICAgY29uc3Qge3Jhc3RlclRpbGU6IF9yYXN0ZXJUaWxlLCAuLi5yZXN0fSA9IGZpbHRlcmVkQ2xhc3NlcztcbiAgICAgICAgZmlsdGVyZWRDbGFzc2VzID0gcmVzdCBhcyBMYXllckNsYXNzZXNUeXBlO1xuICAgICAgfVxuICAgICAgaWYgKCFlbmFibGVXTVNMYXllcikge1xuICAgICAgICBjb25zdCB7d21zOiBfd21zLCAuLi5yZXN0fSA9IGZpbHRlcmVkQ2xhc3NlcztcbiAgICAgICAgZmlsdGVyZWRDbGFzc2VzID0gcmVzdCBhcyBMYXllckNsYXNzZXNUeXBlO1xuICAgICAgfVxuICAgICAgaWYgKCFlbmFibGVGbG93TGF5ZXIpIHtcbiAgICAgICAgY29uc3Qge2Zsb3c6IF9mbG93LCAuLi5yZXN0fSA9IGZpbHRlcmVkQ2xhc3NlcztcbiAgICAgICAgZmlsdGVyZWRDbGFzc2VzID0gcmVzdCBhcyBMYXllckNsYXNzZXNUeXBlO1xuICAgICAgfVxuICAgICAgaWYgKCFlbmFibGVBNUxheWVyKSB7XG4gICAgICAgIGNvbnN0IHthNTogX2E1LCAuLi5yZXN0fSA9IGZpbHRlcmVkQ2xhc3NlcztcbiAgICAgICAgZmlsdGVyZWRDbGFzc2VzID0gcmVzdCBhcyBMYXllckNsYXNzZXNUeXBlO1xuICAgICAgfVxuICAgICAgaWYgKCFlbmFibGVHZW9oYXNoTGF5ZXIpIHtcbiAgICAgICAgY29uc3Qge2dlb2hhc2g6IF9nZW9oYXNoLCAuLi5yZXN0fSA9IGZpbHRlcmVkQ2xhc3NlcztcbiAgICAgICAgZmlsdGVyZWRDbGFzc2VzID0gcmVzdCBhcyBMYXllckNsYXNzZXNUeXBlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbHRlcmVkQ2xhc3NlcyBhcyBMYXllckNsYXNzZXNUeXBlO1xuICAgIH0sIFtcbiAgICAgIGVuYWJsZVJhc3RlclRpbGVMYXllcixcbiAgICAgIGVuYWJsZVdNU0xheWVyLFxuICAgICAgZW5hYmxlRmxvd0xheWVyLFxuICAgICAgZW5hYmxlQTVMYXllcixcbiAgICAgIGVuYWJsZUdlb2hhc2hMYXllcixcbiAgICAgIGxheWVyQ2xhc3Nlc1xuICAgIF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGF5ZXItbWFuYWdlclwiPlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8UGFuZWxWaWV3TGlzdFRvZ2dsZSB0b2dnbGVQYW5lbExpc3RWaWV3PXtvblRvZ2dsZVBhbmVsTGlzdFZpZXd9IG1vZGU9e3BhbmVsTGlzdFZpZXd9IC8+XG4gICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgPERhdGFzZXRTZWN0aW9uXG4gICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgIHNob3dEYXRhc2V0VGFibGU9e3Nob3dEYXRhc2V0VGFibGV9XG4gICAgICAgICAgdXBkYXRlVGFibGVDb2xvcj17dXBkYXRlVGFibGVDb2xvcn1cbiAgICAgICAgICByZW1vdmVEYXRhc2V0PXtyZW1vdmVEYXRhc2V0fVxuICAgICAgICAgIHNob3dEZWxldGVEYXRhc2V0PXtzaG93RGVsZXRlRGF0YXNldH1cbiAgICAgICAgICBzaG93RGF0YXNldExpc3Q9eyFpc1NvcnRCeURhdGFzZXRNb2RlfVxuICAgICAgICAgIHNob3dBZGREYXRhTW9kYWw9e3Nob3dBZGREYXRhTW9kYWx9XG4gICAgICAgICAgcmVmcmVzaERhdGFzZXQ9e3Zpc1N0YXRlQWN0aW9ucy5yZWZyZXNoRGF0YXNldH1cbiAgICAgICAgICB1cGRhdGVEYXRhc2V0UHJvcHM9e3Zpc1N0YXRlQWN0aW9ucy51cGRhdGVEYXRhc2V0UHJvcHN9XG4gICAgICAgIC8+XG4gICAgICAgIDxTaWRlUGFuZWxEaXZpZGVyIC8+XG4gICAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgIDxQYW5lbFRpdGxlXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllci1tYW5hZ2VyLXRpdGxlXCJcbiAgICAgICAgICAgIHRpdGxlPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiBwYW5lbE1ldGFkYXRhLmxhYmVsfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2VuYWJsZUxheWVyR3JvdXBzID8gKFxuICAgICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllci1ncm91cF9fY3JlYXRlXCJcbiAgICAgICAgICAgICAgICBpZD1cIm5ldy1sYXllci1ncm91cFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25BZGRHcm91cH1cbiAgICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtGb2xkZXJ9XG4gICAgICAgICAgICAgICAgdG9vbHRpcD1cIkNyZWF0ZSBsYXllciBncm91cFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxBZGRMYXllckJ1dHRvbiBkYXRhc2V0cz17ZGF0YXNldHN9IG9uQWRkPXtvbkFkZExheWVyfSAvPlxuICAgICAgICAgIDwvUGFuZWxUaXRsZT5cbiAgICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICB7aXNTb3J0QnlEYXRhc2V0TW9kZSA/IChcbiAgICAgICAgICAgIDxEYXRhc2V0TGF5ZXJHcm91cFxuICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgIHNob3dEYXRhc2V0VGFibGU9e3Nob3dEYXRhc2V0VGFibGV9XG4gICAgICAgICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICAgICAgICB1cGRhdGVUYWJsZUNvbG9yPXt1cGRhdGVUYWJsZUNvbG9yfVxuICAgICAgICAgICAgICByZW1vdmVEYXRhc2V0PXtyZW1vdmVEYXRhc2V0fVxuICAgICAgICAgICAgICBsYXllck9yZGVyPXtsYXllck9yZGVyfVxuICAgICAgICAgICAgICBsYXllckNsYXNzZXM9e2ZpbHRlcmVkTGF5ZXJDbGFzc2VzfVxuICAgICAgICAgICAgICB1aVN0YXRlQWN0aW9ucz17dWlTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgIHZpc1N0YXRlQWN0aW9ucz17dmlzU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICBtYXBTdGF0ZUFjdGlvbnM9e21hcFN0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgICAgICAgICBzaG93RGVsZXRlRGF0YXNldD17c2hvd0RlbGV0ZURhdGFzZXR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8TGF5ZXJMaXN0XG4gICAgICAgICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgIGxheWVyT3JkZXI9e2xheWVyT3JkZXJ9XG4gICAgICAgICAgICAgIHVpU3RhdGVBY3Rpb25zPXt1aVN0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgdmlzU3RhdGVBY3Rpb25zPXt2aXNTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgIG1hcFN0YXRlQWN0aW9ucz17bWFwU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICBtYXBTdGF0ZT17bWFwU3RhdGV9XG4gICAgICAgICAgICAgIGxheWVyQ2xhc3Nlcz17ZmlsdGVyZWRMYXllckNsYXNzZXN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgPExheWVyQmxlbmRpbmdTZWxlY3RvclxuICAgICAgICAgIGxheWVyQmxlbmRpbmc9e2xheWVyQmxlbmRpbmd9XG4gICAgICAgICAgdXBkYXRlTGF5ZXJCbGVuZGluZz17dmlzU3RhdGVBY3Rpb25zLnVwZGF0ZUxheWVyQmxlbmRpbmd9XG4gICAgICAgICAgaW50bD17aW50bH1cbiAgICAgICAgLz5cbiAgICAgICAgPE92ZXJsYXlCbGVuZGluZ1NlbGVjdG9yXG4gICAgICAgICAgb3ZlcmxheUJsZW5kaW5nPXtvdmVybGF5QmxlbmRpbmd9XG4gICAgICAgICAgdXBkYXRlT3ZlcmxheUJsZW5kaW5nPXt2aXNTdGF0ZUFjdGlvbnMudXBkYXRlT3ZlcmxheUJsZW5kaW5nfVxuICAgICAgICAgIGludGw9e2ludGx9XG4gICAgICAgICAgaW5mb0hlbHBlcj17XG4gICAgICAgICAgICA8SW5mb0hlbHBlclxuICAgICAgICAgICAgICBpZD17YG92ZXJsYXlCbGVuZGluZy1kZXNjcmlwdGlvbmB9XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXsnb3ZlcmxheUJsZW5kaW5nLmRlc2NyaXB0aW9uJ31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gaW5qZWN0SW50bChMYXllck1hbmFnZXIpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMYXllck1hbmFnZXJGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxXQUFXLEVBQUVDLE9BQU8sUUFBTyxPQUFPO0FBRWpELFNBQVFDLFVBQVUsUUFBOEIsWUFBWTtBQUM1RCxPQUFPQyxNQUFNLE1BQU0sbUJBQW1CO0FBQ3RDLFNBQVFDLGdCQUFnQixRQUFPLHlCQUF5QjtBQUV4RCxPQUFPQyxnQkFBZ0IsTUFBTSwwQkFBMEI7QUFDdkQsT0FBT0Msd0JBQXdCLE1BQU0sbUNBQW1DO0FBQ3hFLE9BQU9DLDBCQUEwQixNQUFNLDBCQUEwQjtBQUNqRSxPQUFPQyxpQkFBaUIsTUFBTSxlQUFlO0FBQzdDLE9BQU9DLHFCQUFxQixNQUFNLCtCQUErQjtBQUNqRSxPQUFPQyxxQkFBcUIsTUFBTSxnQ0FBZ0M7QUFFbEUsT0FBT0MsWUFBWSxNQUFNLHVDQUF1QztBQUNoRSxTQUFRQyxVQUFVLEVBQUVDLGdCQUFnQixFQUFFQyxnQkFBZ0IsUUFBTyw2QkFBNkI7QUFDMUYsT0FBT0MsaUJBQWlCLE1BQU0sdUJBQXVCO0FBRXJELFNBQVFDLGVBQWUsRUFBRUMsaUJBQWlCLEVBQUVDLGtCQUFr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
@@ -5,7 +5,8 @@ var _excluded = ["rasterTile"],
5
5
  _excluded2 = ["wms"],
6
6
  _excluded3 = ["flow"],
7
7
  _excluded4 = ["bitmap"],
8
- _excluded5 = ["a5"];
8
+ _excluded5 = ["a5"],
9
+ _excluded6 = ["geohash"];
9
10
  var _templateObject;
10
11
  // SPDX-License-Identifier: MIT
11
12
  // Copyright contributors to the kepler.gl project
@@ -44,6 +45,7 @@ function DatasetLayerSectionFactory(SourceDataCatalog, LayerList) {
44
45
  var enableFlowLayer = getApplicationConfig().enableFlowLayer;
45
46
  var enableBitmapLayer = getApplicationConfig().enableBitmapLayer;
46
47
  var enableA5Layer = getApplicationConfig().enableA5Layer;
48
+ var enableGeohashLayer = getApplicationConfig().enableGeohashLayer;
47
49
  var filteredLayerClasses = useMemo(function () {
48
50
  var filteredClasses = layerClasses;
49
51
  if (!enableRasterTileLayer) {
@@ -76,14 +78,22 @@ function DatasetLayerSectionFactory(SourceDataCatalog, LayerList) {
76
78
  _rest4 = _objectWithoutProperties(_filteredClasses5, _excluded5);
77
79
  filteredClasses = _rest4;
78
80
  }
81
+ if (!enableGeohashLayer) {
82
+ var _filteredClasses6 = filteredClasses,
83
+ _geohash = _filteredClasses6.geohash,
84
+ _rest5 = _objectWithoutProperties(_filteredClasses6, _excluded6);
85
+ filteredClasses = _rest5;
86
+ }
79
87
  return filteredClasses;
80
- }, [enableRasterTileLayer, enableWMSLayer, enableFlowLayer, enableBitmapLayer, enableA5Layer, layerClasses]);
88
+ }, [enableRasterTileLayer, enableWMSLayer, enableFlowLayer, enableBitmapLayer, enableA5Layer, enableGeohashLayer, layerClasses]);
81
89
  return /*#__PURE__*/React.createElement(DatasetLayerSectionWrapper, null, /*#__PURE__*/React.createElement(SourceDataCatalog, {
82
90
  datasets: datasetCatalog,
83
91
  showDatasetTable: showDatasetTable,
84
92
  updateTableColor: updateTableColor,
85
93
  removeDataset: removeDataset,
86
- showDeleteDataset: showDeleteDataset
94
+ showDeleteDataset: showDeleteDataset,
95
+ refreshDataset: visStateActions.refreshDataset,
96
+ updateDatasetProps: visStateActions.updateDatasetProps
87
97
  }), /*#__PURE__*/React.createElement(LayerList, {
88
98
  datasets: datasets,
89
99
  layerOrder: layerOrder,
@@ -99,4 +109,4 @@ function DatasetLayerSectionFactory(SourceDataCatalog, LayerList) {
99
109
  return DatasetLayerSection;
100
110
  }
101
111
  export default DatasetLayerSectionFactory;
102
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJzdHlsZWQiLCJTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnkiLCJMYXllckxpc3RGYWN0b3J5IiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJEYXRhc2V0TGF5ZXJTZWN0aW9uV3JhcHBlciIsImRpdiIsImF0dHJzIiwiY2xhc3NOYW1lIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCIsIkRhdGFzZXRMYXllclNlY3Rpb25GYWN0b3J5IiwiZGVwcyIsIlNvdXJjZURhdGFDYXRhbG9nIiwiTGF5ZXJMaXN0IiwiRGF0YXNldExheWVyU2VjdGlvbiIsInByb3BzIiwiZGF0YXNldCIsImRhdGFzZXRzIiwic2hvd0RhdGFzZXRUYWJsZSIsImxheWVycyIsInVwZGF0ZVRhYmxlQ29sb3IiLCJzaG93RGVsZXRlRGF0YXNldCIsInJlbW92ZURhdGFzZXQiLCJsYXllck9yZGVyIiwibGF5ZXJDbGFzc2VzIiwidWlTdGF0ZUFjdGlvbnMiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJtYXBTdGF0ZUFjdGlvbnMiLCJtYXBTdGF0ZSIsImRhdGFzZXRDYXRhbG9nIiwiX2RlZmluZVByb3BlcnR5IiwiaWQiLCJlbmFibGVSYXN0ZXJUaWxlTGF5ZXIiLCJlbmFibGVXTVNMYXllciIsImVuYWJsZUZsb3dMYXllciIsImVuYWJsZUJpdG1hcExheWVyIiwiZW5hYmxlQTVMYXllciIsImZpbHRlcmVkTGF5ZXJDbGFzc2VzIiwiZmlsdGVyZWRDbGFzc2VzIiwiX2ZpbHRlcmVkQ2xhc3NlcyIsIl9yYXN0ZXJUaWxlIiwicmFzdGVyVGlsZSIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfZmlsdGVyZWRDbGFzc2VzMiIsIl93bXMiLCJ3bXMiLCJfZXhjbHVkZWQyIiwiX2ZpbHRlcmVkQ2xhc3NlczMiLCJfZmxvdyIsImZsb3ciLCJfZXhjbHVkZWQzIiwiX2ZpbHRlcmVkQ2xhc3NlczQiLCJfYml0bWFwIiwiYml0bWFwIiwiX2V4Y2x1ZGVkNCIsIl9maWx0ZXJlZENsYXNzZXM1IiwiX2E1IiwiYTUiLCJfZXhjbHVkZWQ1IiwiY3JlYXRlRWxlbWVudCIsImlzU29ydGFibGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC9kYXRhc2V0LWxheWVyLXNlY3Rpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5IGZyb20gJy4uL2NvbW1vbi9zb3VyY2UtZGF0YS1jYXRhbG9nJztcbmltcG9ydCBMYXllckxpc3RGYWN0b3J5IGZyb20gJy4vbGF5ZXItbGlzdCc7XG5pbXBvcnQge0xheWVyLCBMYXllckNsYXNzZXNUeXBlfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge1VJU3RhdGVBY3Rpb25zLCBBY3Rpb25IYW5kbGVyLCBWaXNTdGF0ZUFjdGlvbnMsIE1hcFN0YXRlQWN0aW9uc30gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7S2VwbGVyVGFibGUsIERhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcbmltcG9ydCB7Z2V0QXBwbGljYXRpb25Db25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtMYXllck9yZGVyLCBNYXBTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbnR5cGUgRGF0YXNldExheWVyU2VjdGlvblByb3BzID0ge1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIGRhdGFzZXQ6IEtlcGxlclRhYmxlO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyT3JkZXI6IExheWVyT3JkZXI7XG4gIGxheWVyQ2xhc3NlczogTGF5ZXJDbGFzc2VzVHlwZTtcbiAgc2hvd0RlbGV0ZURhdGFzZXQ6IGJvb2xlYW47XG4gIHNob3dEYXRhc2V0VGFibGU6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5zaG93RGF0YXNldFRhYmxlPjtcbiAgdXBkYXRlVGFibGVDb2xvcjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZVRhYmxlQ29sb3I+O1xuICByZW1vdmVEYXRhc2V0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBVSVN0YXRlQWN0aW9ucy5vcGVuRGVsZXRlTW9kYWw+O1xuICB1aVN0YXRlQWN0aW9uczogdHlwZW9mIFVJU3RhdGVBY3Rpb25zO1xuICB2aXNTdGF0ZUFjdGlvbnM6IHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnM7XG4gIG1hcFN0YXRlQWN0aW9uczogdHlwZW9mIE1hcFN0YXRlQWN0aW9ucztcbiAgbWFwU3RhdGU/OiBNYXBTdGF0ZTtcbn07XG5cbmNvbnN0IERhdGFzZXRMYXllclNlY3Rpb25XcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2RhdGFzZXQtbGF5ZXItc2VjdGlvbidcbn0pYFxuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuYDtcblxuRGF0YXNldExheWVyU2VjdGlvbkZhY3RvcnkuZGVwcyA9IFtTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnksIExheWVyTGlzdEZhY3RvcnldO1xuXG5mdW5jdGlvbiBEYXRhc2V0TGF5ZXJTZWN0aW9uRmFjdG9yeShcbiAgU291cmNlRGF0YUNhdGFsb2c6IFJldHVyblR5cGU8dHlwZW9mIFNvdXJjZURhdGFDYXRhbG9nRmFjdG9yeT4sXG4gIExheWVyTGlzdDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJMaXN0RmFjdG9yeT5cbikge1xuICBjb25zdCBEYXRhc2V0TGF5ZXJTZWN0aW9uOiBSZWFjdC5GQzxEYXRhc2V0TGF5ZXJTZWN0aW9uUHJvcHM+ID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGRhdGFzZXQsXG4gICAgICBkYXRhc2V0cyxcbiAgICAgIHNob3dEYXRhc2V0VGFibGUsXG4gICAgICBsYXllcnMsXG4gICAgICB1cGRhdGVUYWJsZUNvbG9yLFxuICAgICAgc2hvd0RlbGV0ZURhdGFzZXQsXG4gICAgICByZW1vdmVEYXRhc2V0LFxuICAgICAgbGF5ZXJPcmRlcixcbiAgICAgIGxheWVyQ2xhc3NlcyxcbiAgICAgIHVpU3RhdGVBY3Rpb25zLFxuICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgbWFwU3RhdGVBY3Rpb25zLFxuICAgICAgbWFwU3RhdGVcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCBkYXRhc2V0Q2F0YWxvZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIHtbZGF0YXNldC5pZF06IGRhdGFzZXR9O1xuICAgIH0sIFtkYXRhc2V0XSk7XG5cbiAgICAvLyB0ZW1wIHBhdGNoIHRvIGhpZGUgbGF5ZXJzIHRoYXQgYXJlIGluIGRldmVsb3BtZW50XG4gICAgY29uc3QgZW5hYmxlUmFzdGVyVGlsZUxheWVyID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVSYXN0ZXJUaWxlTGF5ZXI7XG4gICAgY29uc3QgZW5hYmxlV01TTGF5ZXIgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZVdNU0xheWVyO1xuICAgIGNvbnN0IGVuYWJsZUZsb3dMYXllciA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlRmxvd0xheWVyO1xuICAgIGNvbnN0IGVuYWJsZUJpdG1hcExheWVyID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVCaXRtYXBMYXllcjtcbiAgICBjb25zdCBlbmFibGVBNUxheWVyID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVBNUxheWVyO1xuXG4gICAgY29uc3QgZmlsdGVyZWRMYXllckNsYXNzZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGxldCBmaWx0ZXJlZENsYXNzZXMgPSBsYXllckNsYXNzZXM7XG4gICAgICBpZiAoIWVuYWJsZVJhc3RlclRpbGVMYXllcikge1xuICAgICAgICBjb25zdCB7cmFzdGVyVGlsZTogX3Jhc3RlclRpbGUsIC4uLnJlc3R9ID0gZmlsdGVyZWRDbGFzc2VzO1xuICAgICAgICBmaWx0ZXJlZENsYXNzZXMgPSByZXN0IGFzIExheWVyQ2xhc3Nlc1R5cGU7XG4gICAgICB9XG4gICAgICBpZiAoIWVuYWJsZVdNU0xheWVyKSB7XG4gICAgICAgIGNvbnN0IHt3bXM6IF93bXMsIC4uLnJlc3R9ID0gZmlsdGVyZWRDbGFzc2VzO1xuICAgICAgICBmaWx0ZXJlZENsYXNzZXMgPSByZXN0IGFzIExheWVyQ2xhc3Nlc1R5cGU7XG4gICAgICB9XG4gICAgICBpZiAoIWVuYWJsZUZsb3dMYXllcikge1xuICAgICAgICBjb25zdCB7ZmxvdzogX2Zsb3csIC4uLnJlc3R9ID0gZmlsdGVyZWRDbGFzc2VzO1xuICAgICAgICBmaWx0ZXJlZENsYXNzZXMgPSByZXN0IGFzIExheWVyQ2xhc3Nlc1R5cGU7XG4gICAgICB9XG4gICAgICBpZiAoIWVuYWJsZUJpdG1hcExheWVyKSB7XG4gICAgICAgIGNvbnN0IHtiaXRtYXA6IF9iaXRtYXAsIC4uLnJlc3R9ID0gZmlsdGVyZWRDbGFzc2VzO1xuICAgICAgICBmaWx0ZXJlZENsYXNzZXMgPSByZXN0IGFzIExheWVyQ2xhc3Nlc1R5cGU7XG4gICAgICB9XG4gICAgICBpZiAoIWVuYWJsZUE1TGF5ZXIpIHtcbiAgICAgICAgY29uc3Qge2E1OiBfYTUsIC4uLnJlc3R9ID0gZmlsdGVyZWRDbGFzc2VzO1xuICAgICAgICBmaWx0ZXJlZENsYXNzZXMgPSByZXN0IGFzIExheWVyQ2xhc3Nlc1R5cGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmlsdGVyZWRDbGFzc2VzIGFzIExheWVyQ2xhc3Nlc1R5cGU7XG4gICAgfSwgW1xuICAgICAgZW5hYmxlUmFzdGVyVGlsZUxheWVyLFxuICAgICAgZW5hYmxlV01TTGF5ZXIsXG4gICAgICBlbmFibGVGbG93TGF5ZXIsXG4gICAgICBlbmFibGVCaXRtYXBMYXllcixcbiAgICAgIGVuYWJsZUE1TGF5ZXIsXG4gICAgICBsYXllckNsYXNzZXNcbiAgICBdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RGF0YXNldExheWVyU2VjdGlvbldyYXBwZXI+XG4gICAgICAgIDxTb3VyY2VEYXRhQ2F0YWxvZ1xuICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0Q2F0YWxvZ31cbiAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e3VwZGF0ZVRhYmxlQ29sb3J9XG4gICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICBzaG93RGVsZXRlRGF0YXNldD17c2hvd0RlbGV0ZURhdGFzZXR9XG4gICAgICAgIC8+XG4gICAgICAgIDxMYXllckxpc3RcbiAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgbGF5ZXJPcmRlcj17bGF5ZXJPcmRlcn1cbiAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICBsYXllckNsYXNzZXM9e2ZpbHRlcmVkTGF5ZXJDbGFzc2VzfVxuICAgICAgICAgIHVpU3RhdGVBY3Rpb25zPXt1aVN0YXRlQWN0aW9uc31cbiAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICBtYXBTdGF0ZUFjdGlvbnM9e21hcFN0YXRlQWN0aW9uc31cbiAgICAgICAgICBtYXBTdGF0ZT17bWFwU3RhdGV9XG4gICAgICAgICAgaXNTb3J0YWJsZT17ZmFsc2V9XG4gICAgICAgIC8+XG4gICAgICA8L0RhdGFzZXRMYXllclNlY3Rpb25XcmFwcGVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIERhdGFzZXRMYXllclNlY3Rp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
112
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJzdHlsZWQiLCJTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnkiLCJMYXllckxpc3RGYWN0b3J5IiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJEYXRhc2V0TGF5ZXJTZWN0aW9uV3JhcHBlciIsImRpdiIsImF0dHJzIiwiY2xhc3NOYW1lIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCIsIkRhdGFzZXRMYXllclNlY3Rpb25GYWN0b3J5IiwiZGVwcyIsIlNvdXJjZURhdGFDYXRhbG9nIiwiTGF5ZXJMaXN0IiwiRGF0YXNldExheWVyU2VjdGlvbiIsInByb3BzIiwiZGF0YXNldCIsImRhdGFzZXRzIiwic2hvd0RhdGFzZXRUYWJsZSIsImxheWVycyIsInVwZGF0ZVRhYmxlQ29sb3IiLCJzaG93RGVsZXRlRGF0YXNldCIsInJlbW92ZURhdGFzZXQiLCJsYXllck9yZGVyIiwibGF5ZXJDbGFzc2VzIiwidWlTdGF0ZUFjdGlvbnMiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJtYXBTdGF0ZUFjdGlvbnMiLCJtYXBTdGF0ZSIsImRhdGFzZXRDYXRhbG9nIiwiX2RlZmluZVByb3BlcnR5IiwiaWQiLCJlbmFibGVSYXN0ZXJUaWxlTGF5ZXIiLCJlbmFibGVXTVNMYXllciIsImVuYWJsZUZsb3dMYXllciIsImVuYWJsZUJpdG1hcExheWVyIiwiZW5hYmxlQTVMYXllciIsImVuYWJsZUdlb2hhc2hMYXllciIsImZpbHRlcmVkTGF5ZXJDbGFzc2VzIiwiZmlsdGVyZWRDbGFzc2VzIiwiX2ZpbHRlcmVkQ2xhc3NlcyIsIl9yYXN0ZXJUaWxlIiwicmFzdGVyVGlsZSIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfZmlsdGVyZWRDbGFzc2VzMiIsIl93bXMiLCJ3bXMiLCJfZXhjbHVkZWQyIiwiX2ZpbHRlcmVkQ2xhc3NlczMiLCJfZmxvdyIsImZsb3ciLCJfZXhjbHVkZWQzIiwiX2ZpbHRlcmVkQ2xhc3NlczQiLCJfYml0bWFwIiwiYml0bWFwIiwiX2V4Y2x1ZGVkNCIsIl9maWx0ZXJlZENsYXNzZXM1IiwiX2E1IiwiYTUiLCJfZXhjbHVkZWQ1IiwiX2ZpbHRlcmVkQ2xhc3NlczYiLCJfZ2VvaGFzaCIsImdlb2hhc2giLCJfZXhjbHVkZWQ2IiwiY3JlYXRlRWxlbWVudCIsInJlZnJlc2hEYXRhc2V0IiwidXBkYXRlRGF0YXNldFByb3BzIiwiaXNTb3J0YWJsZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2RhdGFzZXQtbGF5ZXItc2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCBTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL3NvdXJjZS1kYXRhLWNhdGFsb2cnO1xuaW1wb3J0IExheWVyTGlzdEZhY3RvcnkgZnJvbSAnLi9sYXllci1saXN0JztcbmltcG9ydCB7TGF5ZXIsIExheWVyQ2xhc3Nlc1R5cGV9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7VUlTdGF0ZUFjdGlvbnMsIEFjdGlvbkhhbmRsZXIsIFZpc1N0YXRlQWN0aW9ucywgTWFwU3RhdGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtLZXBsZXJUYWJsZSwgRGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtnZXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0xheWVyT3JkZXIsIE1hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxudHlwZSBEYXRhc2V0TGF5ZXJTZWN0aW9uUHJvcHMgPSB7XG4gIGRhdGFzZXRzOiBEYXRhc2V0cztcbiAgZGF0YXNldDogS2VwbGVyVGFibGU7XG4gIGxheWVyczogTGF5ZXJbXTtcbiAgbGF5ZXJPcmRlcjogTGF5ZXJPcmRlcjtcbiAgbGF5ZXJDbGFzc2VzOiBMYXllckNsYXNzZXNUeXBlO1xuICBzaG93RGVsZXRlRGF0YXNldDogYm9vbGVhbjtcbiAgc2hvd0RhdGFzZXRUYWJsZTogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnNob3dEYXRhc2V0VGFibGU+O1xuICB1cGRhdGVUYWJsZUNvbG9yOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMudXBkYXRlVGFibGVDb2xvcj47XG4gIHJlbW92ZURhdGFzZXQ6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFVJU3RhdGVBY3Rpb25zLm9wZW5EZWxldGVNb2RhbD47XG4gIHVpU3RhdGVBY3Rpb25zOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnM7XG4gIHZpc1N0YXRlQWN0aW9uczogdHlwZW9mIFZpc1N0YXRlQWN0aW9ucztcbiAgbWFwU3RhdGVBY3Rpb25zOiB0eXBlb2YgTWFwU3RhdGVBY3Rpb25zO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xufTtcblxuY29uc3QgRGF0YXNldExheWVyU2VjdGlvbldyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnZGF0YXNldC1sYXllci1zZWN0aW9uJ1xufSlgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG5gO1xuXG5EYXRhc2V0TGF5ZXJTZWN0aW9uRmFjdG9yeS5kZXBzID0gW1NvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSwgTGF5ZXJMaXN0RmFjdG9yeV07XG5cbmZ1bmN0aW9uIERhdGFzZXRMYXllclNlY3Rpb25GYWN0b3J5KFxuICBTb3VyY2VEYXRhQ2F0YWxvZzogUmV0dXJuVHlwZTx0eXBlb2YgU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5PixcbiAgTGF5ZXJMaXN0OiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckxpc3RGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IERhdGFzZXRMYXllclNlY3Rpb246IFJlYWN0LkZDPERhdGFzZXRMYXllclNlY3Rpb25Qcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YXNldCxcbiAgICAgIGRhdGFzZXRzLFxuICAgICAgc2hvd0RhdGFzZXRUYWJsZSxcbiAgICAgIGxheWVycyxcbiAgICAgIHVwZGF0ZVRhYmxlQ29sb3IsXG4gICAgICBzaG93RGVsZXRlRGF0YXNldCxcbiAgICAgIHJlbW92ZURhdGFzZXQsXG4gICAgICBsYXllck9yZGVyLFxuICAgICAgbGF5ZXJDbGFzc2VzLFxuICAgICAgdWlTdGF0ZUFjdGlvbnMsXG4gICAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgICBtYXBTdGF0ZUFjdGlvbnMsXG4gICAgICBtYXBTdGF0ZVxuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IGRhdGFzZXRDYXRhbG9nID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4ge1tkYXRhc2V0LmlkXTogZGF0YXNldH07XG4gICAgfSwgW2RhdGFzZXRdKTtcblxuICAgIC8vIHRlbXAgcGF0Y2ggdG8gaGlkZSBsYXllcnMgdGhhdCBhcmUgaW4gZGV2ZWxvcG1lbnRcbiAgICBjb25zdCBlbmFibGVSYXN0ZXJUaWxlTGF5ZXIgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZVJhc3RlclRpbGVMYXllcjtcbiAgICBjb25zdCBlbmFibGVXTVNMYXllciA9IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlV01TTGF5ZXI7XG4gICAgY29uc3QgZW5hYmxlRmxvd0xheWVyID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVGbG93TGF5ZXI7XG4gICAgY29uc3QgZW5hYmxlQml0bWFwTGF5ZXIgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZUJpdG1hcExheWVyO1xuICAgIGNvbnN0IGVuYWJsZUE1TGF5ZXIgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZUE1TGF5ZXI7XG4gICAgY29uc3QgZW5hYmxlR2VvaGFzaExheWVyID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVHZW9oYXNoTGF5ZXI7XG5cbiAgICBjb25zdCBmaWx0ZXJlZExheWVyQ2xhc3NlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgbGV0IGZpbHRlcmVkQ2xhc3NlcyA9IGxheWVyQ2xhc3NlcztcbiAgICAgIGlmICghZW5hYmxlUmFzdGVyVGlsZUxheWVyKSB7XG4gICAgICAgIGNvbnN0IHtyYXN0ZXJUaWxlOiBfcmFzdGVyVGlsZSwgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICghZW5hYmxlV01TTGF5ZXIpIHtcbiAgICAgICAgY29uc3Qge3dtczogX3dtcywgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICghZW5hYmxlRmxvd0xheWVyKSB7XG4gICAgICAgIGNvbnN0IHtmbG93OiBfZmxvdywgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICghZW5hYmxlQml0bWFwTGF5ZXIpIHtcbiAgICAgICAgY29uc3Qge2JpdG1hcDogX2JpdG1hcCwgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICghZW5hYmxlQTVMYXllcikge1xuICAgICAgICBjb25zdCB7YTU6IF9hNSwgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIGlmICghZW5hYmxlR2VvaGFzaExheWVyKSB7XG4gICAgICAgIGNvbnN0IHtnZW9oYXNoOiBfZ2VvaGFzaCwgLi4ucmVzdH0gPSBmaWx0ZXJlZENsYXNzZXM7XG4gICAgICAgIGZpbHRlcmVkQ2xhc3NlcyA9IHJlc3QgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWx0ZXJlZENsYXNzZXMgYXMgTGF5ZXJDbGFzc2VzVHlwZTtcbiAgICB9LCBbXG4gICAgICBlbmFibGVSYXN0ZXJUaWxlTGF5ZXIsXG4gICAgICBlbmFibGVXTVNMYXllcixcbiAgICAgIGVuYWJsZUZsb3dMYXllcixcbiAgICAgIGVuYWJsZUJpdG1hcExheWVyLFxuICAgICAgZW5hYmxlQTVMYXllcixcbiAgICAgIGVuYWJsZUdlb2hhc2hMYXllcixcbiAgICAgIGxheWVyQ2xhc3Nlc1xuICAgIF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxEYXRhc2V0TGF5ZXJTZWN0aW9uV3JhcHBlcj5cbiAgICAgICAgPFNvdXJjZURhdGFDYXRhbG9nXG4gICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRDYXRhbG9nfVxuICAgICAgICAgIHNob3dEYXRhc2V0VGFibGU9e3Nob3dEYXRhc2V0VGFibGV9XG4gICAgICAgICAgdXBkYXRlVGFibGVDb2xvcj17dXBkYXRlVGFibGVDb2xvcn1cbiAgICAgICAgICByZW1vdmVEYXRhc2V0PXtyZW1vdmVEYXRhc2V0fVxuICAgICAgICAgIHNob3dEZWxldGVEYXRhc2V0PXtzaG93RGVsZXRlRGF0YXNldH1cbiAgICAgICAgICByZWZyZXNoRGF0YXNldD17dmlzU3RhdGVBY3Rpb25zLnJlZnJlc2hEYXRhc2V0fVxuICAgICAgICAgIHVwZGF0ZURhdGFzZXRQcm9wcz17dmlzU3RhdGVBY3Rpb25zLnVwZGF0ZURhdGFzZXRQcm9wc31cbiAgICAgICAgLz5cbiAgICAgICAgPExheWVyTGlzdFxuICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICBsYXllck9yZGVyPXtsYXllck9yZGVyfVxuICAgICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICAgIGxheWVyQ2xhc3Nlcz17ZmlsdGVyZWRMYXllckNsYXNzZXN9XG4gICAgICAgICAgdWlTdGF0ZUFjdGlvbnM9e3VpU3RhdGVBY3Rpb25zfVxuICAgICAgICAgIHZpc1N0YXRlQWN0aW9ucz17dmlzU3RhdGVBY3Rpb25zfVxuICAgICAgICAgIG1hcFN0YXRlQWN0aW9ucz17bWFwU3RhdGVBY3Rpb25zfVxuICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICBpc1NvcnRhYmxlPXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgIDwvRGF0YXNldExheWVyU2VjdGlvbldyYXBwZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gRGF0YXNldExheWVyU2VjdGlvbjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRGF0YXNldExheWVyU2VjdGlvbkZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtBQUNBOztBQUVBLE9BQU9BLEtBQUssSUFBR0MsT0FBTyxRQUFPLE9BQU87QUFDcEMsT0FBT0MsTUFBTSxNQUFNLG1CQUFtQjtBQUV0QyxPQUFPQyx3QkFBd0IsTUFBTSwrQkFBK0I7QUFDcEUsT0FBT0MsZ0JBQWdCLE1BQU0sY0FBYztBQUkzQyxTQUFRQyxvQkFBb0IsUUFBTyxrQkFBa0I7QUFtQnJELElBQU1DLDBCQUEwQixHQUFHSixNQUFNLENBQUNLLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDO0VBQ2xEQyxTQUFTLEVBQUU7QUFDYixDQUFDLENBQUMsQ0FBQUMsZUFBQSxLQUFBQSxlQUFBLEdBQUFDLHNCQUFBLGtDQUVEO0FBRURDLDBCQUEwQixDQUFDQyxJQUFJ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QUM1QztNQUNBLElBQUksQ0FBQ1AsYUFBYSxFQUFFO1FBQ2xCLElBQUFzQixpQkFBQSxHQUEyQm5CLGVBQWU7VUFBL0JvQixHQUFHLEdBQUFELGlCQUFBLENBQVBFLEVBQUU7VUFBVWpCLE1BQUksR0FBQUMsd0JBQUEsQ0FBQWMsaUJBQUEsRUFBQUcsVUFBQTtRQUN2QnRCLGVBQWUsR0FBR0ksTUFBd0I7TUFDNUM7TUFDQSxJQUFJLENBQUNOLGtCQUFrQixFQUFFO1FBQ3ZCLElBQUF5QixpQkFBQSxHQUFxQ3ZCLGVBQWU7VUFBcEN3QixRQUFRLEdBQUFELGlCQUFBLENBQWpCRSxPQUFPO1VBQWVyQixNQUFJLEdBQUFDLHdCQUFBLENBQUFrQixpQkFBQSxFQUFBRyxVQUFBO1FBQ2pDMUIsZUFBZSxHQUFHSSxNQUF3QjtNQUM1QztNQUNBLE9BQU9KLGVBQWU7SUFDeEIsQ0FBQyxFQUFFLENBQ0RQLHFCQUFxQixFQUNyQkMsY0FBYyxFQUNkQyxlQUFlLEVBQ2ZDLGlCQUFpQixFQUNqQkMsYUFBYSxFQUNiQyxrQkFBa0IsRUFDbEJiLFlBQVksQ0FDYixDQUFDO0lBRUYsb0JBQ0UxQixLQUFBLENBQUFvRSxhQUFBLENBQUM5RCwwQkFBMEIscUJBQ3pCTixLQUFBLENBQUFvRSxhQUFBLENBQUN0RCxpQkFBaUI7TUFDaEJLLFFBQVEsRUFBRVksY0FBZTtNQUN6QlgsZ0JBQWdCLEVBQUVBLGdCQUFpQjtNQUNuQ0UsZ0JBQWdCLEVBQUVBLGdCQUFpQjtNQUNuQ0UsYUFBYSxFQUFFQSxhQUFjO01BQzdCRCxpQkFBaUIsRUFBRUEsaUJBQWtCO01BQ3JDOEMsY0FBYyxFQUFFekMsZUFBZSxDQUFDeUMsY0FBZTtNQUMvQ0Msa0JBQWtCLEVBQUUxQyxlQUFlLENBQUMwQztJQUFtQixDQUN4RCxDQUFDLGVBQ0Z0RSxLQUFBLENBQUFvRSxhQUFBLENBQUNyRCxTQUFTO01BQ1JJLFFBQVEsRUFBRUEsUUFBUztNQUNuQk0sVUFBVSxFQUFFQSxVQUFXO01BQ3ZCSixNQUFNLEVBQUVBLE1BQU87TUFDZkssWUFBWSxFQUFFYyxvQkFBcUI7TUFDbkNiLGNBQWMsRUFBRUEsY0FBZTtNQUMvQkMsZUFBZSxFQUFFQSxlQUFnQjtNQUNqQ0MsZUFBZSxFQUFFQSxlQUFnQjtNQUNqQ0MsUUFBUSxFQUFFQSxRQUFTO01BQ25CeUMsVUFBVSxFQUFFO0lBQU0sQ0FDbkIsQ0FDeUIsQ0FBQztFQUVqQyxDQUFDO0VBRUQsT0FBT3ZELG1CQUFtQjtBQUM1QjtBQUVBLGVBQWVKLDBCQUEwQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -47,7 +47,9 @@ function DatasetSectionFactory(SourceDataCatalog, AddDataButton) {
47
47
  showDeleteDataset = props.showDeleteDataset,
48
48
  removeDataset = props.removeDataset,
49
49
  showDatasetList = props.showDatasetList,
50
- showAddDataModal = props.showAddDataModal;
50
+ showAddDataModal = props.showAddDataModal,
51
+ refreshDataset = props.refreshDataset,
52
+ updateDatasetProps = props.updateDatasetProps;
51
53
  var datasetCount = Object.keys(datasets).length;
52
54
  return /*#__PURE__*/React.createElement(StyledDatasetSection, null, /*#__PURE__*/React.createElement(StyledDatasetTitle, {
53
55
  $showDatasetList: showDatasetList
@@ -59,10 +61,12 @@ function DatasetSectionFactory(SourceDataCatalog, AddDataButton) {
59
61
  showDatasetTable: showDatasetTable,
60
62
  updateTableColor: updateTableColor,
61
63
  removeDataset: removeDataset,
62
- showDeleteDataset: showDeleteDataset
64
+ showDeleteDataset: showDeleteDataset,
65
+ refreshDataset: refreshDataset,
66
+ updateDatasetProps: updateDatasetProps
63
67
  }));
64
68
  };
65
69
  return DatasetSection;
66
70
  }
67
71
  export default DatasetSectionFactory;
68
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInN0eWxlZCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJBZGQiLCJCdXR0b24iLCJTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnkiLCJTdHlsZWREYXRhc2V0VGl0bGUiLCJkaXYiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIiwicHJvcHMiLCJ0aGVtZSIsInNpZGVQYW5lbFRpdGxlTGluZUhlaWdodCIsInN1YnRleHRDb2xvciIsIiRzaG93RGF0YXNldExpc3QiLCJTdHlsZWREYXRhc2V0U2VjdGlvbiIsIl90ZW1wbGF0ZU9iamVjdDIiLCJzaWRlUGFuZWxCb3JkZXJDb2xvciIsIkFkZERhdGFCdXR0b25GYWN0b3J5IiwiQWRkRGF0YUJ1dHRvbiIsIm1lbW8iLCJfcmVmIiwib25DbGljayIsImlzSW5hY3RpdmUiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiaW5hY3RpdmUiLCJ3aWR0aCIsInNlY29uZGFyeSIsImhlaWdodCIsImlkIiwiZGlzcGxheU5hbWUiLCJEYXRhc2V0U2VjdGlvbkZhY3RvcnkiLCJkZXBzIiwiU291cmNlRGF0YUNhdGFsb2ciLCJEYXRhc2V0U2VjdGlvbiIsImRhdGFzZXRzIiwic2hvd0RhdGFzZXRUYWJsZSIsInVwZGF0ZVRhYmxlQ29sb3IiLCJzaG93RGVsZXRlRGF0YXNldCIsInJlbW92ZURhdGFzZXQiLCJzaG93RGF0YXNldExpc3QiLCJzaG93QWRkRGF0YU1vZGFsIiwiZGF0YXNldENvdW50IiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImNvbmNhdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2RhdGFzZXQtc2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge0FkZH0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7QnV0dG9ufSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5IGZyb20gJy4uL2NvbW1vbi9zb3VyY2UtZGF0YS1jYXRhbG9nJztcbmltcG9ydCB7VUlTdGF0ZUFjdGlvbnMsIFZpc1N0YXRlQWN0aW9ucywgQWN0aW9uSGFuZGxlcn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuXG50eXBlIEFkZERhdGFCdXR0b25Qcm9wcyA9IHtcbiAgb25DbGljazogKCkgPT4gdm9pZDtcbiAgaXNJbmFjdGl2ZTogYm9vbGVhbjtcbn07XG5cbnR5cGUgRGF0YXNldFNlY3Rpb25Qcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBzaG93RGF0YXNldExpc3Q/OiBib29sZWFuO1xuICBzaG93RGVsZXRlRGF0YXNldD86IGJvb2xlYW47XG4gIHNob3dEYXRhc2V0VGFibGU6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5zaG93RGF0YXNldFRhYmxlPjtcbiAgdXBkYXRlVGFibGVDb2xvcjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZVRhYmxlQ29sb3I+O1xuICByZW1vdmVEYXRhc2V0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBVSVN0YXRlQWN0aW9ucy5vcGVuRGVsZXRlTW9kYWw+O1xuICBzaG93QWRkRGF0YU1vZGFsOiAoKSA9PiB2b2lkO1xufTtcblxuY29uc3QgU3R5bGVkRGF0YXNldFRpdGxlID0gc3R5bGVkLmRpdjx7JHNob3dEYXRhc2V0TGlzdD86IGJvb2xlYW59PmBcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsVGl0bGVMaW5lSGVpZ2h0fTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuMjVweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLiRzaG93RGF0YXNldExpc3QgPyAnMTZweCcgOiAnNHB4Jyl9O1xuYDtcblxuY29uc3QgU3R5bGVkRGF0YXNldFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxCb3JkZXJDb2xvcn07XG5gO1xuXG5leHBvcnQgZnVuY3Rpb24gQWRkRGF0YUJ1dHRvbkZhY3RvcnkoKSB7XG4gIGNvbnN0IEFkZERhdGFCdXR0b246IFJlYWN0LkZDPEFkZERhdGFCdXR0b25Qcm9wcz4gPSBSZWFjdC5tZW1vKCh7b25DbGljaywgaXNJbmFjdGl2ZX0pID0+IChcbiAgICA8QnV0dG9uXG4gICAgICBjbGFzc05hbWU9XCJhZGQtZGF0YS1idXR0b25cIlxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGluYWN0aXZlPXshaXNJbmFjdGl2ZX1cbiAgICAgIHdpZHRoPVwiMTA1cHhcIlxuICAgICAgc2Vjb25kYXJ5XG4gICAgPlxuICAgICAgPEFkZCBoZWlnaHQ9XCIxMnB4XCIgLz5cbiAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbGF5ZXJNYW5hZ2VyLmFkZERhdGEnfSAvPlxuICAgIDwvQnV0dG9uPlxuICApKTtcbiAgQWRkRGF0YUJ1dHRvbi5kaXNwbGF5TmFtZSA9ICdBZGREYXRhQnV0dG9uJztcbiAgcmV0dXJuIEFkZERhdGFCdXR0b247XG59XG5cbkRhdGFzZXRTZWN0aW9uRmFjdG9yeS5kZXBzID0gW1NvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSwgQWRkRGF0YUJ1dHRvbkZhY3RvcnldO1xuXG5mdW5jdGlvbiBEYXRhc2V0U2VjdGlvbkZhY3RvcnkoXG4gIFNvdXJjZURhdGFDYXRhbG9nOiBSZXR1cm5UeXBlPHR5cGVvZiBTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3Rvcnk+LFxuICBBZGREYXRhQnV0dG9uOiBSZXR1cm5UeXBlPHR5cGVvZiBBZGREYXRhQnV0dG9uRmFjdG9yeT5cbikge1xuICBjb25zdCBEYXRhc2V0U2VjdGlvbjogUmVhY3QuRkM8RGF0YXNldFNlY3Rpb25Qcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YXNldHMsXG4gICAgICBzaG93RGF0YXNldFRhYmxlLFxuICAgICAgdXBkYXRlVGFibGVDb2xvcixcbiAgICAgIHNob3dEZWxldGVEYXRhc2V0LFxuICAgICAgcmVtb3ZlRGF0YXNldCxcbiAgICAgIHNob3dEYXRhc2V0TGlzdCxcbiAgICAgIHNob3dBZGREYXRhTW9kYWxcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgZGF0YXNldENvdW50ID0gT2JqZWN0LmtleXMoZGF0YXNldHMpLmxlbmd0aDtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRGF0YXNldFNlY3Rpb24+XG4gICAgICAgIDxTdHlsZWREYXRhc2V0VGl0bGUgJHNob3dEYXRhc2V0TGlzdD17c2hvd0RhdGFzZXRMaXN0fT5cbiAgICAgICAgICA8c3Bhbj5EYXRhc2V0c3tkYXRhc2V0Q291bnQgPyBgKCR7ZGF0YXNldENvdW50fSlgIDogJyd9PC9zcGFuPlxuICAgICAgICAgIDxBZGREYXRhQnV0dG9uIG9uQ2xpY2s9e3Nob3dBZGREYXRhTW9kYWx9IGlzSW5hY3RpdmU9eyFkYXRhc2V0Q291bnR9IC8+XG4gICAgICAgIDwvU3R5bGVkRGF0YXNldFRpdGxlPlxuICAgICAgICB7c2hvd0RhdGFzZXRMaXN0ICYmIChcbiAgICAgICAgICA8U291cmNlRGF0YUNhdGFsb2dcbiAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgIHNob3dEYXRhc2V0VGFibGU9e3Nob3dEYXRhc2V0VGFibGV9XG4gICAgICAgICAgICB1cGRhdGVUYWJsZUNvbG9yPXt1cGRhdGVUYWJsZUNvbG9yfVxuICAgICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICAgIHNob3dEZWxldGVEYXRhc2V0PXtzaG93RGVsZXRlRGF0YXNldH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWREYXRhc2V0U2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBEYXRhc2V0U2VjdGlvbjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRGF0YXNldFNlY3Rpb25GYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsT0FBT0MsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxTQUFRQyxnQkFBZ0IsUUFBTyx5QkFBeUI7QUFDeEQsU0FBUUMsR0FBRyxRQUFPLG9CQUFvQjtBQUN0QyxTQUFRQyxNQUFNLFFBQU8sZ0NBQWdDO0FBRXJELE9BQU9DLHdCQUF3QixNQUFNLCtCQUErQjtBQW1CcEUsSUFBTUMsa0JBQWtCLEdBQUdMLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxlQUFBLEtBQUFBLGVBQUEsR0FBQUMsc0JBQUEsME5BQ3BCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0Msd0JBQXdCO0FBQUEsR0FHbkQsVUFBQUYsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDRSxZQUFZO0FBQUEsR0FLekIsVUFBQUgsS0FBSztF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
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInN0eWxlZCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJBZGQiLCJCdXR0b24iLCJTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnkiLCJTdHlsZWREYXRhc2V0VGl0bGUiLCJkaXYiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIiwicHJvcHMiLCJ0aGVtZSIsInNpZGVQYW5lbFRpdGxlTGluZUhlaWdodCIsInN1YnRleHRDb2xvciIsIiRzaG93RGF0YXNldExpc3QiLCJTdHlsZWREYXRhc2V0U2VjdGlvbiIsIl90ZW1wbGF0ZU9iamVjdDIiLCJzaWRlUGFuZWxCb3JkZXJDb2xvciIsIkFkZERhdGFCdXR0b25GYWN0b3J5IiwiQWRkRGF0YUJ1dHRvbiIsIm1lbW8iLCJfcmVmIiwib25DbGljayIsImlzSW5hY3RpdmUiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiaW5hY3RpdmUiLCJ3aWR0aCIsInNlY29uZGFyeSIsImhlaWdodCIsImlkIiwiZGlzcGxheU5hbWUiLCJEYXRhc2V0U2VjdGlvbkZhY3RvcnkiLCJkZXBzIiwiU291cmNlRGF0YUNhdGFsb2ciLCJEYXRhc2V0U2VjdGlvbiIsImRhdGFzZXRzIiwic2hvd0RhdGFzZXRUYWJsZSIsInVwZGF0ZVRhYmxlQ29sb3IiLCJzaG93RGVsZXRlRGF0YXNldCIsInJlbW92ZURhdGFzZXQiLCJzaG93RGF0YXNldExpc3QiLCJzaG93QWRkRGF0YU1vZGFsIiwicmVmcmVzaERhdGFzZXQiLCJ1cGRhdGVEYXRhc2V0UHJvcHMiLCJkYXRhc2V0Q291bnQiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiY29uY2F0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvZGF0YXNldC1zZWN0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7QWRkfSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtCdXR0b259IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCBTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL3NvdXJjZS1kYXRhLWNhdGFsb2cnO1xuaW1wb3J0IHtVSVN0YXRlQWN0aW9ucywgVmlzU3RhdGVBY3Rpb25zLCBBY3Rpb25IYW5kbGVyfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5cbnR5cGUgQWRkRGF0YUJ1dHRvblByb3BzID0ge1xuICBvbkNsaWNrOiAoKSA9PiB2b2lkO1xuICBpc0luYWN0aXZlOiBib29sZWFuO1xufTtcblxudHlwZSBEYXRhc2V0U2VjdGlvblByb3BzID0ge1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIHNob3dEYXRhc2V0TGlzdD86IGJvb2xlYW47XG4gIHNob3dEZWxldGVEYXRhc2V0PzogYm9vbGVhbjtcbiAgc2hvd0RhdGFzZXRUYWJsZTogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnNob3dEYXRhc2V0VGFibGU+O1xuICB1cGRhdGVUYWJsZUNvbG9yOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMudXBkYXRlVGFibGVDb2xvcj47XG4gIHJlbW92ZURhdGFzZXQ6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFVJU3RhdGVBY3Rpb25zLm9wZW5EZWxldGVNb2RhbD47XG4gIHNob3dBZGREYXRhTW9kYWw6ICgpID0+IHZvaWQ7XG4gIHJlZnJlc2hEYXRhc2V0PzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnJlZnJlc2hEYXRhc2V0PjtcbiAgdXBkYXRlRGF0YXNldFByb3BzPzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZURhdGFzZXRQcm9wcz47XG59O1xuXG5jb25zdCBTdHlsZWREYXRhc2V0VGl0bGUgPSBzdHlsZWQuZGl2PHskc2hvd0RhdGFzZXRMaXN0PzogYm9vbGVhbn0+YFxuICBsaW5lLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxUaXRsZUxpbmVIZWlnaHR9O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMS4yNXB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICBmb250LXNpemU6IDExcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuJHNob3dEYXRhc2V0TGlzdCA/ICcxNnB4JyA6ICc0cHgnKX07XG5gO1xuXG5jb25zdCBTdHlsZWREYXRhc2V0U2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbEJvcmRlckNvbG9yfTtcbmA7XG5cbmV4cG9ydCBmdW5jdGlvbiBBZGREYXRhQnV0dG9uRmFjdG9yeSgpIHtcbiAgY29uc3QgQWRkRGF0YUJ1dHRvbjogUmVhY3QuRkM8QWRkRGF0YUJ1dHRvblByb3BzPiA9IFJlYWN0Lm1lbW8oKHtvbkNsaWNrLCBpc0luYWN0aXZlfSkgPT4gKFxuICAgIDxCdXR0b25cbiAgICAgIGNsYXNzTmFtZT1cImFkZC1kYXRhLWJ1dHRvblwiXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgaW5hY3RpdmU9eyFpc0luYWN0aXZlfVxuICAgICAgd2lkdGg9XCIxMDVweFwiXG4gICAgICBzZWNvbmRhcnlcbiAgICA+XG4gICAgICA8QWRkIGhlaWdodD1cIjEycHhcIiAvPlxuICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydsYXllck1hbmFnZXIuYWRkRGF0YSd9IC8+XG4gICAgPC9CdXR0b24+XG4gICkpO1xuICBBZGREYXRhQnV0dG9uLmRpc3BsYXlOYW1lID0gJ0FkZERhdGFCdXR0b24nO1xuICByZXR1cm4gQWRkRGF0YUJ1dHRvbjtcbn1cblxuRGF0YXNldFNlY3Rpb25GYWN0b3J5LmRlcHMgPSBbU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5LCBBZGREYXRhQnV0dG9uRmFjdG9yeV07XG5cbmZ1bmN0aW9uIERhdGFzZXRTZWN0aW9uRmFjdG9yeShcbiAgU291cmNlRGF0YUNhdGFsb2c6IFJldHVyblR5cGU8dHlwZW9mIFNvdXJjZURhdGFDYXRhbG9nRmFjdG9yeT4sXG4gIEFkZERhdGFCdXR0b246IFJldHVyblR5cGU8dHlwZW9mIEFkZERhdGFCdXR0b25GYWN0b3J5PlxuKSB7XG4gIGNvbnN0IERhdGFzZXRTZWN0aW9uOiBSZWFjdC5GQzxEYXRhc2V0U2VjdGlvblByb3BzPiA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBkYXRhc2V0cyxcbiAgICAgIHNob3dEYXRhc2V0VGFibGUsXG4gICAgICB1cGRhdGVUYWJsZUNvbG9yLFxuICAgICAgc2hvd0RlbGV0ZURhdGFzZXQsXG4gICAgICByZW1vdmVEYXRhc2V0LFxuICAgICAgc2hvd0RhdGFzZXRMaXN0LFxuICAgICAgc2hvd0FkZERhdGFNb2RhbCxcbiAgICAgIHJlZnJlc2hEYXRhc2V0LFxuICAgICAgdXBkYXRlRGF0YXNldFByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGRhdGFzZXRDb3VudCA9IE9iamVjdC5rZXlzKGRhdGFzZXRzKS5sZW5ndGg7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZERhdGFzZXRTZWN0aW9uPlxuICAgICAgICA8U3R5bGVkRGF0YXNldFRpdGxlICRzaG93RGF0YXNldExpc3Q9e3Nob3dEYXRhc2V0TGlzdH0+XG4gICAgICAgICAgPHNwYW4+RGF0YXNldHN7ZGF0YXNldENvdW50ID8gYCgke2RhdGFzZXRDb3VudH0pYCA6ICcnfTwvc3Bhbj5cbiAgICAgICAgICA8QWRkRGF0YUJ1dHRvbiBvbkNsaWNrPXtzaG93QWRkRGF0YU1vZGFsfSBpc0luYWN0aXZlPXshZGF0YXNldENvdW50fSAvPlxuICAgICAgICA8L1N0eWxlZERhdGFzZXRUaXRsZT5cbiAgICAgICAge3Nob3dEYXRhc2V0TGlzdCAmJiAoXG4gICAgICAgICAgPFNvdXJjZURhdGFDYXRhbG9nXG4gICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgdXBkYXRlVGFibGVDb2xvcj17dXBkYXRlVGFibGVDb2xvcn1cbiAgICAgICAgICAgIHJlbW92ZURhdGFzZXQ9e3JlbW92ZURhdGFzZXR9XG4gICAgICAgICAgICBzaG93RGVsZXRlRGF0YXNldD17c2hvd0RlbGV0ZURhdGFzZXR9XG4gICAgICAgICAgICByZWZyZXNoRGF0YXNldD17cmVmcmVzaERhdGFzZXR9XG4gICAgICAgICAgICB1cGRhdGVEYXRhc2V0UHJvcHM9e3VwZGF0ZURhdGFzZXRQcm9wc31cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWREYXRhc2V0U2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBEYXRhc2V0U2VjdGlvbjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRGF0YXNldFNlY3Rpb25GYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsT0FBT0MsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxTQUFRQyxnQkFBZ0IsUUFBTyx5QkFBeUI7QUFDeEQsU0FBUUMsR0FBRyxRQUFPLG9CQUFvQjtBQUN0QyxTQUFRQyxNQUFNLFFBQU8sZ0NBQWdDO0FBRXJELE9BQU9DLHdCQUF3QixNQUFNLCtCQUErQjtBQXFCcEUsSUFBTUMsa0JBQWtCLEdBQUdMLE1BQU0sQ0FBQ00sR0FBRyxDQUFBQyxlQUFBLEtBQUFBLGVBQUEsR0FBQUMsc0JBQUEsME5BQ3BCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0Msd0JBQXdCO0FBQUEsR0FHbkQsVUFBQUYsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDRSxZQUFZO0FBQUEsR0FLekIsVUFBQUgsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ0ksZ0JBQWdCLEdBQUcsTUFBTSxHQUFHLEtBQUs7QUFBQSxDQUFDLENBQ3BFO0FBRUQsSUFBTUMsb0JBQW9CLEdBQUdkLE1BQU0sQ0FBQ00sR0FBRyxDQUFBUyxnQkFBQSxLQUFBQSxnQkFBQSxHQUFBUCxzQkFBQSw2Q0FDVixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNNLG9CQUFvQjtBQUFBLEVBQ3JFO0FBRUQsT0FBTyxTQUFTQyxvQkFBb0JBLENBQUEsRUFBRztFQUNyQyxJQUFNQyxhQUEyQyxnQkFBR25CLEtBQUssQ0FBQ29CLElBQUksQ0FBQyxVQUFBQyxJQUFBO0lBQUEsSUFBRUMsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87TUFBRUMsVUFBVSxHQUFBRixJQUFBLENBQVZFLFVBQVU7SUFBQSxvQkFDbEZ2QixLQUFBLENBQUF3QixhQUFBLENBQUNwQixNQUFNO01BQ0xxQixTQUFTLEVBQUMsaUJBQWlCO01BQzNCSCxPQUFPLEVBQUVBLE9BQVE7TUFDakJJLFFBQVEsRUFBRSxDQUFDSCxVQUFXO01BQ3RCSSxLQUFLLEVBQUMsT0FBTztNQUNiQyxTQUFTO0lBQUEsZ0JBRVQ1QixLQUFBLENBQUF3QixhQUFBLENBQUNyQixHQUFHO01BQUMwQixNQUFNLEVBQUM7SUFBTSxDQUFFLENBQUMsZUFDckI3QixLQUFBLENBQUF3QixhQUFBLENBQUN0QixnQkFBZ0I7TUFBQzRCLEVBQUUsRUFBRTtJQUF1QixDQUFFLENBQ3pDLENBQUM7RUFBQSxDQUNWLENBQUM7RUFDRlgsYUFBYSxDQUFDWSxXQUFXLEdBQUcsZUFBZTtFQUMzQyxPQUFPWixhQUFhO0FBQ3RCO0FBRUFhLHFCQUFxQixDQUFDQyxJQUFJLEdBQUcsQ0FBQzVCLHdCQUF3QixFQUFFYSxvQkFBb0IsQ0FBQztBQUU3RSxTQUFTYyxxQkFBcUJBLENBQzVCRSxpQkFBOEQsRUFDOURmLGFBQXNELEVBQ3REO0VBQ0EsSUFBTWdCLGNBQTZDLEdBQUcsU0FBaERBLGNBQTZDQSxDQUFHekIsS0FBSyxFQUFJO0lBQzdELElBQ0UwQixRQUFRLEdBU04xQixLQUFLLENBVFAwQixRQUFRO01BQ1JDLGdCQUFnQixHQVFkM0IsS0FBSyxDQVJQMkIsZ0JBQWdCO01BQ2hCQyxnQkFBZ0IsR0FPZDVCLEtBQUssQ0FQUDRCLGdCQUFnQjtNQUNoQkMsaUJBQWlCLEdBTWY3QixLQUFLLENBTlA2QixpQkFBaUI7TUFDakJDLGFBQWEsR0FLWDlCLEtBQUssQ0FMUDhCLGFBQWE7TUFDYkMsZUFBZSxHQUliL0IsS0FBSyxDQUpQK0IsZUFBZTtNQUNmQyxnQkFBZ0IsR0FHZGhDLEtBQUssQ0FIUGdDLGdCQUFnQjtNQUNoQkMsY0FBYyxHQUVaakMsS0FBSyxDQUZQaUMsY0FBYztNQUNkQyxrQkFBa0IsR0FDaEJsQyxLQUFLLENBRFBrQyxrQkFBa0I7SUFFcEIsSUFBTUMsWUFBWSxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQ1gsUUFBUSxDQUFDLENBQUNZLE1BQU07SUFFakQsb0JBQ0VoRCxLQUFBLENBQUF3QixhQUFBLENBQUNULG9CQUFvQixxQkFDbkJmLEtBQUEsQ0FBQXdCLGFBQUEsQ0FBQ2xCLGtCQUFrQjtNQUFDUSxnQkFBZ0IsRUFBRTJCO0lBQWdCLGdCQUNwRHpDLEtBQUEsQ0FBQXdCLGFBQUEsZUFBTSxVQUFRLEVBQUNxQixZQUFZLE9BQUFJLE1BQUEsQ0FBT0osWUFBWSxTQUFNLEVBQVMsQ0FBQyxlQUM5RDdDLEtBQUEsQ0FBQXdCLGFBQUEsQ0FBQ0wsYUFBYTtNQUFDRyxPQUFPLEVBQUVvQixnQkFBaUI7TUFBQ25CLFVBQVUsRUFBRSxDQUFDc0I7SUFBYSxDQUFFLENBQ3BELENBQUMsRUFDcEJKLGVBQWUsaUJBQ2R6QyxLQUFBLENBQUF3QixhQUFBLENBQUNVLGlCQUFpQjtNQUNoQkUsUUFBUSxFQUFFQSxRQUFTO01BQ25CQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO01BQ25DQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO01BQ25DRSxhQUFhLEVBQUVBLGFBQWM7TUFDN0JELGlCQUFpQixFQUFFQSxpQkFBa0I7TUFDckNJLGNBQWMsRUFBRUEsY0FBZTtNQUMvQkMsa0JBQWtCLEVBQUVBO0lBQW1CLENBQ3hDLENBRWlCLENBQUM7RUFFM0IsQ0FBQztFQUVELE9BQU9ULGNBQWM7QUFDdkI7QUFFQSxlQUFlSCxxQkFBcUIiLCJpZ25vcmVMaXN0IjpbXX0=