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

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 (165) hide show
  1. package/dist/cjs/common/data-table/cell-size.js +40 -23
  2. package/dist/cjs/common/data-table/column-statistics-categoric.js +40 -0
  3. package/dist/cjs/common/data-table/column-statistics-components.js +65 -0
  4. package/dist/cjs/common/data-table/column-statistics-numeric.js +87 -0
  5. package/dist/cjs/common/data-table/column-statistics-time.js +69 -0
  6. package/dist/cjs/common/data-table/grid.js +2 -2
  7. package/dist/cjs/common/data-table/header-cell.js +123 -44
  8. package/dist/cjs/common/data-table/index.js +104 -31
  9. package/dist/cjs/common/file-uploader/file-upload.js +250 -40
  10. package/dist/cjs/common/histogram-plot.js +1 -1
  11. package/dist/cjs/common/icons/circle.js +54 -0
  12. package/dist/cjs/common/icons/{arrow-down-solid.js → draw-point.js} +21 -11
  13. package/dist/cjs/common/icons/index.js +22 -1
  14. package/dist/cjs/common/icons/line-string.js +60 -0
  15. package/dist/cjs/common/item-selector/item-selector.js +2 -2
  16. package/dist/cjs/common/portaled.js +3 -3
  17. package/dist/cjs/common/time-range-slider.js +2 -2
  18. package/dist/cjs/common/timeline-slider.js +2 -2
  19. package/dist/cjs/common/toolbar-item.js +24 -3
  20. package/dist/cjs/editor/editor.js +27 -9
  21. package/dist/cjs/editor/feature-action-panel.js +34 -12
  22. package/dist/cjs/editor/feature-properties-editor.js +215 -0
  23. package/dist/cjs/editor/filter-feature-badges.js +92 -0
  24. package/dist/cjs/filters/filter-panels/polygon-filter-panel.js +2 -2
  25. package/dist/cjs/filters/time-widget.js +2 -2
  26. package/dist/cjs/index.js +33 -1
  27. package/dist/cjs/kepler-gl.js +20 -3
  28. package/dist/cjs/map/layer-hover-info.js +2 -2
  29. package/dist/cjs/map/map-control-toolbar.js +2 -2
  30. package/dist/cjs/map/map-control.js +14 -8
  31. package/dist/cjs/map/map-draw-panel.js +74 -15
  32. package/dist/cjs/map/theme-toggle-button.js +64 -0
  33. package/dist/cjs/map-container.js +17 -6
  34. package/dist/cjs/map-view-state-context.js +3 -3
  35. package/dist/cjs/modal-container.js +3 -2
  36. package/dist/cjs/modals/cloud-components/cloud-item.js +55 -7
  37. package/dist/cjs/modals/cloud-components/cloud-item.spec.js +75 -3
  38. package/dist/cjs/modals/cloud-components/cloud-maps.js +2 -1
  39. package/dist/cjs/modals/cloud-components/cloud-storage-disclaimer.js +24 -0
  40. package/dist/cjs/modals/cloud-tile.js +82 -39
  41. package/dist/cjs/modals/data-table-modal.js +37 -25
  42. package/dist/cjs/modals/export-video-modal.js +28 -1
  43. package/dist/cjs/modals/export-video-modal.spec.js +56 -10
  44. package/dist/cjs/modals/globe-export-video-container.js +19 -3
  45. package/dist/cjs/modals/globe-export-video-preview.js +25 -7
  46. package/dist/cjs/modals/hubble-utils.js +8 -3
  47. package/dist/cjs/modals/image-modal-container.js +2 -2
  48. package/dist/cjs/modals/load-data-modal.js +3 -3
  49. package/dist/cjs/modals/load-storage-map.js +9 -6
  50. package/dist/cjs/modals/save-map-modal.js +4 -3
  51. package/dist/cjs/modals/share-map-modal.js +5 -4
  52. package/dist/cjs/modals/swipe-composite-utils.js +9 -1
  53. package/dist/cjs/modals/swipe-composite-utils.spec.js +69 -0
  54. package/dist/cjs/modals/swipe-export-video-preview.js +9 -5
  55. package/dist/cjs/plot-container.js +12 -5
  56. package/dist/cjs/side-panel/common/dataset-info.js +2 -2
  57. package/dist/cjs/side-panel/filter-panel/filter-panel.js +2 -2
  58. package/dist/cjs/side-panel/layer-manager.js +11 -3
  59. package/dist/cjs/side-panel/layer-panel/custom-palette.js +2 -2
  60. package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +11 -3
  61. package/dist/cjs/side-panel/layer-panel/layer-configurator.js +74 -31
  62. package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +90 -25
  63. package/dist/common/data-table/column-statistics-categoric.d.ts +9 -0
  64. package/dist/common/data-table/column-statistics-components.d.ts +31 -0
  65. package/dist/common/data-table/column-statistics-numeric.d.ts +18 -0
  66. package/dist/common/data-table/column-statistics-time.d.ts +19 -0
  67. package/dist/common/data-table/header-cell.d.ts +7 -5
  68. package/dist/common/data-table/index.d.ts +7 -24
  69. package/dist/common/histogram-plot.d.ts +24 -1
  70. package/dist/common/icons/{arrow-down-solid.d.ts → circle.d.ts} +2 -1
  71. package/dist/common/icons/draw-point.d.ts +10 -0
  72. package/dist/common/icons/index.d.ts +3 -0
  73. package/dist/common/icons/line-string.d.ts +10 -0
  74. package/dist/common/toolbar-item.d.ts +2 -0
  75. package/dist/editor/editor.d.ts +1 -0
  76. package/dist/editor/feature-action-panel.d.ts +1 -0
  77. package/dist/editor/feature-properties-editor.d.ts +8 -0
  78. package/dist/editor/filter-feature-badges.d.ts +12 -0
  79. package/dist/esm/common/data-table/cell-size.js +40 -23
  80. package/dist/esm/common/data-table/column-statistics-categoric.js +33 -0
  81. package/dist/esm/common/data-table/column-statistics-components.js +59 -0
  82. package/dist/esm/common/data-table/column-statistics-numeric.js +78 -0
  83. package/dist/esm/common/data-table/column-statistics-time.js +60 -0
  84. package/dist/esm/common/data-table/grid.js +2 -2
  85. package/dist/esm/common/data-table/header-cell.js +125 -46
  86. package/dist/esm/common/data-table/index.js +104 -31
  87. package/dist/esm/common/file-uploader/file-upload.js +251 -41
  88. package/dist/esm/common/histogram-plot.js +1 -1
  89. package/dist/esm/common/icons/circle.js +48 -0
  90. package/dist/esm/common/icons/draw-point.js +44 -0
  91. package/dist/esm/common/icons/index.js +4 -1
  92. package/dist/esm/common/icons/line-string.js +54 -0
  93. package/dist/esm/common/item-selector/item-selector.js +2 -2
  94. package/dist/esm/common/portaled.js +3 -3
  95. package/dist/esm/common/time-range-slider.js +2 -2
  96. package/dist/esm/common/timeline-slider.js +2 -2
  97. package/dist/esm/common/toolbar-item.js +24 -3
  98. package/dist/esm/editor/editor.js +27 -9
  99. package/dist/esm/editor/feature-action-panel.js +37 -15
  100. package/dist/esm/editor/feature-properties-editor.js +208 -0
  101. package/dist/esm/editor/filter-feature-badges.js +85 -0
  102. package/dist/esm/filters/filter-panels/polygon-filter-panel.js +2 -2
  103. package/dist/esm/filters/time-widget.js +2 -2
  104. package/dist/esm/index.js +5 -1
  105. package/dist/esm/kepler-gl.js +20 -3
  106. package/dist/esm/map/layer-hover-info.js +2 -2
  107. package/dist/esm/map/map-control-toolbar.js +2 -2
  108. package/dist/esm/map/map-control.js +14 -8
  109. package/dist/esm/map/map-draw-panel.js +72 -11
  110. package/dist/esm/map/theme-toggle-button.js +55 -0
  111. package/dist/esm/map-container.js +17 -6
  112. package/dist/esm/map-view-state-context.js +3 -3
  113. package/dist/esm/modal-container.js +3 -2
  114. package/dist/esm/modals/cloud-components/cloud-item.js +53 -7
  115. package/dist/esm/modals/cloud-components/cloud-item.spec.js +76 -4
  116. package/dist/esm/modals/cloud-components/cloud-maps.js +2 -1
  117. package/dist/esm/modals/cloud-components/cloud-storage-disclaimer.js +19 -0
  118. package/dist/esm/modals/cloud-tile.js +82 -39
  119. package/dist/esm/modals/data-table-modal.js +38 -26
  120. package/dist/esm/modals/export-video-modal.js +29 -2
  121. package/dist/esm/modals/export-video-modal.spec.js +56 -10
  122. package/dist/esm/modals/globe-export-video-container.js +20 -4
  123. package/dist/esm/modals/globe-export-video-preview.js +26 -8
  124. package/dist/esm/modals/hubble-utils.js +8 -3
  125. package/dist/esm/modals/image-modal-container.js +2 -2
  126. package/dist/esm/modals/load-data-modal.js +3 -3
  127. package/dist/esm/modals/load-storage-map.js +8 -3
  128. package/dist/esm/modals/save-map-modal.js +4 -3
  129. package/dist/esm/modals/share-map-modal.js +5 -4
  130. package/dist/esm/modals/swipe-composite-utils.js +9 -1
  131. package/dist/esm/modals/swipe-composite-utils.spec.js +67 -0
  132. package/dist/esm/modals/swipe-export-video-preview.js +8 -4
  133. package/dist/esm/plot-container.js +12 -5
  134. package/dist/esm/side-panel/common/dataset-info.js +2 -2
  135. package/dist/esm/side-panel/filter-panel/filter-panel.js +2 -2
  136. package/dist/esm/side-panel/layer-manager.js +11 -3
  137. package/dist/esm/side-panel/layer-panel/custom-palette.js +2 -2
  138. package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +11 -3
  139. package/dist/esm/side-panel/layer-panel/layer-configurator.js +74 -31
  140. package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +90 -25
  141. package/dist/index.d.ts +8 -0
  142. package/dist/kepler-gl.d.ts +3 -0
  143. package/dist/map/map-control.d.ts +6 -2
  144. package/dist/map/map-draw-panel.d.ts +1 -0
  145. package/dist/map/theme-toggle-button.d.ts +18 -0
  146. package/dist/map-container.d.ts +1 -0
  147. package/dist/modals/cloud-components/cloud-item.d.ts +2 -1
  148. package/dist/modals/cloud-components/cloud-storage-disclaimer.d.ts +2 -0
  149. package/dist/modals/data-table-modal.d.ts +1 -0
  150. package/dist/modals/globe-export-video-container.d.ts +2 -0
  151. package/dist/modals/globe-export-video-preview.d.ts +3 -0
  152. package/dist/modals/hubble-utils.d.ts +2 -1
  153. package/dist/modals/swipe-composite-utils.d.ts +1 -1
  154. package/dist/modals/swipe-composite-utils.spec.d.ts +1 -0
  155. package/package.json +20 -21
  156. package/dist/cjs/modals/cloud-components/provider-loading.js +0 -20
  157. package/dist/cjs/modals/storage-map-viewer.js +0 -98
  158. package/dist/cjs/side-panel/cloud-storage-dropdown.js +0 -40
  159. package/dist/esm/common/icons/arrow-down-solid.js +0 -34
  160. package/dist/esm/modals/cloud-components/provider-loading.js +0 -15
  161. package/dist/esm/modals/storage-map-viewer.js +0 -93
  162. package/dist/esm/side-panel/cloud-storage-dropdown.js +0 -33
  163. package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
  164. package/dist/modals/storage-map-viewer.d.ts +0 -21
  165. package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
4
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
8
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
5
9
  var _react = _interopRequireDefault(require("react"));
6
10
  var _react2 = require("@testing-library/react");
7
11
  var _componentJestUtils = require("../../../../../test/helpers/component-jest-utils");
@@ -18,10 +22,42 @@ describe('CloudItem', function () {
18
22
  var mockVis = {
19
23
  title: 'Test Title',
20
24
  description: 'Test Description',
21
- lastModification: new Date().toISOString(),
25
+ updatedAt: Date.now(),
22
26
  thumbnail: 'test-thumbnail.jpg',
23
27
  privateMap: true
24
28
  };
29
+ var observerCallback;
30
+ beforeEach(function () {
31
+ observerCallback = null;
32
+ var MockIntersectionObserver = /*#__PURE__*/function () {
33
+ function MockIntersectionObserver(cb) {
34
+ (0, _classCallCheck2["default"])(this, MockIntersectionObserver);
35
+ observerCallback = cb;
36
+ }
37
+ return (0, _createClass2["default"])(MockIntersectionObserver, [{
38
+ key: "observe",
39
+ value: function observe() {
40
+ // Immediately report visible for lazy-load tests
41
+ if (observerCallback) {
42
+ observerCallback([{
43
+ isIntersecting: true
44
+ }]);
45
+ }
46
+ }
47
+ }, {
48
+ key: "disconnect",
49
+ value: function disconnect() {
50
+ return undefined;
51
+ }
52
+ }, {
53
+ key: "unobserve",
54
+ value: function unobserve() {
55
+ return undefined;
56
+ }
57
+ }]);
58
+ }();
59
+ global.IntersectionObserver = MockIntersectionObserver;
60
+ });
25
61
  it('renders without crashing', function () {
26
62
  var _renderWithTheme = (0, _componentJestUtils.renderWithTheme)(/*#__PURE__*/_react["default"].createElement(_cloudItem.CloudItem, {
27
63
  vis: mockVis,
@@ -76,7 +112,7 @@ describe('CloudItem', function () {
76
112
  getByText = _renderWithTheme6.getByText;
77
113
  expect(getByText('Test Title')).toBeInTheDocument();
78
114
  expect(getByText('Test Description')).toBeInTheDocument();
79
- expect(getByText("Last modified ".concat(_moment["default"].utc(mockVis.lastModification).fromNow()))).toBeInTheDocument();
115
+ expect(getByText("Last modified ".concat(_moment["default"].utc(mockVis.updatedAt).fromNow()))).toBeInTheDocument();
80
116
  });
81
117
  it('calls onClick when component is clicked', function () {
82
118
  var onClickMock = jest.fn();
@@ -88,5 +124,41 @@ describe('CloudItem', function () {
88
124
  _react2.fireEvent.click(getByText('Test Title'));
89
125
  expect(onClickMock).toHaveBeenCalled();
90
126
  });
127
+ it('lazy-loads thumbnail when tile becomes visible', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
128
+ var getMapThumbnail, provider, vis, _renderWithTheme8, findByRole, thumb;
129
+ return _regenerator["default"].wrap(function _callee$(_context) {
130
+ while (1) switch (_context.prev = _context.next) {
131
+ case 0:
132
+ getMapThumbnail = jest.fn().mockResolvedValue('lazy-thumb.jpg');
133
+ provider = {
134
+ hasLazyThumbnails: function hasLazyThumbnails() {
135
+ return true;
136
+ },
137
+ getMapThumbnail: getMapThumbnail
138
+ };
139
+ vis = _objectSpread(_objectSpread({}, mockVis), {}, {
140
+ thumbnail: undefined
141
+ });
142
+ _renderWithTheme8 = (0, _componentJestUtils.renderWithTheme)(/*#__PURE__*/_react["default"].createElement(_cloudItem.CloudItem, {
143
+ vis: vis,
144
+ onClick: nop,
145
+ provider: provider
146
+ })), findByRole = _renderWithTheme8.findByRole;
147
+ _context.next = 6;
148
+ return findByRole('thumbnail-wrapper');
149
+ case 6:
150
+ thumb = _context.sent;
151
+ _context.next = 9;
152
+ return (0, _react2.waitFor)(function () {
153
+ return expect(getMapThumbnail).toHaveBeenCalledWith(vis);
154
+ });
155
+ case 9:
156
+ expect(thumb.style.backgroundImage).toContain('lazy-thumb.jpg');
157
+ case 10:
158
+ case "end":
159
+ return _context.stop();
160
+ }
161
+ }, _callee);
162
+ })));
91
163
  });
92
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfY29tcG9uZW50SmVzdFV0aWxzIiwiX2Nsb3VkSXRlbSIsIl9tb21lbnQiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIm5vcCIsImRlc2NyaWJlIiwibW9ja1ZpcyIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJsYXN0TW9kaWZpY2F0aW9uIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwidGh1bWJuYWlsIiwicHJpdmF0ZU1hcCIsIml0IiwiX3JlbmRlcldpdGhUaGVtZSIsInJlbmRlcldpdGhUaGVtZSIsImNyZWF0ZUVsZW1lbnQiLCJDbG91ZEl0ZW0iLCJ2aXMiLCJvbkNsaWNrIiwiZ2V0QnlUZXh0IiwiZXhwZWN0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJfcmVuZGVyV2l0aFRoZW1lMiIsIl9yZW5kZXJXaXRoVGhlbWUzIiwicXVlcnlCeVRleHQiLCJ0b0JlTnVsbCIsIl9yZW5kZXJXaXRoVGhlbWU0IiwiZ2V0QnlSb2xlIiwic3R5bGUiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJ0b0NvbnRhaW4iLCJfcmVuZGVyV2l0aFRoZW1lNSIsIl9yZW5kZXJXaXRoVGhlbWU2IiwiY29uY2F0IiwibW9tZW50IiwidXRjIiwiZnJvbU5vdyIsIm9uQ2xpY2tNb2NrIiwiamVzdCIsImZuIiwiX3JlbmRlcldpdGhUaGVtZTciLCJmaXJlRXZlbnQiLCJjbGljayIsInRvSGF2ZUJlZW5DYWxsZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kYWxzL2Nsb3VkLWNvbXBvbmVudHMvY2xvdWQtaXRlbS5zcGVjLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7ZmlyZUV2ZW50fSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCB7cmVuZGVyV2l0aFRoZW1lfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90ZXN0L2hlbHBlcnMvY29tcG9uZW50LWplc3QtdXRpbHMnO1xuXG5pbXBvcnQge0Nsb3VkSXRlbX0gZnJvbSAnLi9jbG91ZC1pdGVtJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmNvbnN0IG5vcCA9ICgpID0+IHtcbiAgcmV0dXJuO1xufTtcbmRlc2NyaWJlKCdDbG91ZEl0ZW0nLCAoKSA9PiB7XG4gIGNvbnN0IG1vY2tWaXMgPSB7XG4gICAgdGl0bGU6ICdUZXN0IFRpdGxlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Rlc3QgRGVzY3JpcHRpb24nLFxuICAgIGxhc3RNb2RpZmljYXRpb246IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICB0aHVtYm5haWw6ICd0ZXN0LXRodW1ibmFpbC5qcGcnLFxuICAgIHByaXZhdGVNYXA6IHRydWVcbiAgfTtcblxuICBpdCgncmVuZGVycyB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IHtnZXRCeVRleHR9ID0gcmVuZGVyV2l0aFRoZW1lKDxDbG91ZEl0ZW0gdmlzPXttb2NrVmlzfSBvbkNsaWNrPXtub3B9IC8+KTtcbiAgICBleHBlY3QoZ2V0QnlUZXh0KCdUZXN0IFRpdGxlJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdyZW5kZXJzIFByaXZhY3lCYWRnZSBmb3IgcHJpdmF0ZSBtYXBzJywgKCkgPT4ge1xuICAgIGNvbnN0IHtnZXRCeVRleHR9ID0gcmVuZGVyV2l0aFRoZW1lKFxuICAgICAgPENsb3VkSXRlbSB2aXM9e3suLi5tb2NrVmlzLCBwcml2YXRlTWFwOiB0cnVlfX0gb25DbGljaz17bm9wfSAvPlxuICAgICk7XG4gICAgZXhwZWN0KGdldEJ5VGV4dCgnUHJpdmF0ZScpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICB9KTtcblxuICBpdCgnZG9lcyBub3QgcmVuZGVyIFByaXZhY3lCYWRnZSBmb3IgcHVibGljIG1hcHMnLCAoKSA9PiB7XG4gICAgY29uc3Qge3F1ZXJ5QnlUZXh0fSA9IHJlbmRlcldpdGhUaGVtZShcbiAgICAgIDxDbG91ZEl0ZW0gdmlzPXt7Li4ubW9ja1ZpcywgcHJpdmF0ZU1hcDogZmFsc2V9fSBvbkNsaWNrPXtub3B9IC8+XG4gICAgKTtcbiAgICBleHBlY3QocXVlcnlCeVRleHQoJ1ByaXZhdGUnKSkudG9CZU51bGwoKTtcbiAgfSk7XG5cbiAgaXQoJ2Rpc3BsYXlzIGNvcnJlY3QgdGh1bWJuYWlsIGltYWdlJywgKCkgPT4ge1xuICAgIGNvbnN0IHtnZXRCeVJvbGV9ID0gcmVuZGVyV2l0aFRoZW1lKDxDbG91ZEl0ZW0gdmlzPXttb2NrVmlzfSBvbkNsaWNrPXtub3B9IC8+KTtcbiAgICBleHBlY3QoZ2V0QnlSb2xlKCd0aHVtYm5haWwtd3JhcHBlcicpLnN0eWxlLmJhY2tncm91bmRJbWFnZSkudG9Db250YWluKCd0ZXN0LXRodW1ibmFpbC5qcGcnKTtcbiAgfSk7XG5cbiAgaXQoJ2Rpc3BsYXlzIE1hcEljb24gd2hlbiBubyB0aHVtYm5haWwgaXMgcHJvdmlkZWQnLCAoKSA9PiB7XG4gICAgY29uc3Qge2dldEJ5Um9sZX0gPSByZW5kZXJXaXRoVGhlbWUoXG4gICAgICA8Q2xvdWRJdGVtIHZpcz17ey4uLm1vY2tWaXMsIHRodW1ibmFpbDogbnVsbH19IG9uQ2xpY2s9e25vcH0gLz5cbiAgICApO1xuICAgIGV4cGVjdChnZXRCeVJvbGUoJ21hcC1pY29uJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdkaXNwbGF5cyB0aXRsZSwgZGVzY3JpcHRpb24sIGFuZCBsYXN0IG1vZGlmaWNhdGlvbiBkYXRlJywgKCkgPT4ge1xuICAgIGNvbnN0IHtnZXRCeVRleHR9ID0gcmVuZGVyV2l0aFRoZW1lKDxDbG91ZEl0ZW0gdmlzPXttb2NrVmlzfSBvbkNsaWNrPXtub3B9IC8+KTtcbiAgICBleHBlY3QoZ2V0QnlUZXh0KCdUZXN0IFRpdGxlJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgZXhwZWN0KGdldEJ5VGV4dCgnVGVzdCBEZXNjcmlwdGlvbicpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIGV4cGVjdChcbiAgICAgIGdldEJ5VGV4dChgTGFzdCBtb2RpZmllZCAke21vbWVudC51dGMobW9ja1Zpcy5sYXN0TW9kaWZpY2F0aW9uKS5mcm9tTm93KCl9YClcbiAgICApLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdjYWxscyBvbkNsaWNrIHdoZW4gY29tcG9uZW50IGlzIGNsaWNrZWQnLCAoKSA9PiB7XG4gICAgY29uc3Qgb25DbGlja01vY2sgPSBqZXN0LmZuKCk7XG4gICAgY29uc3Qge2dldEJ5VGV4dH0gPSByZW5kZXJXaXRoVGhlbWUoPENsb3VkSXRlbSB2aXM9e21vY2tWaXN9IG9uQ2xpY2s9e29uQ2xpY2tNb2NrfSAvPik7XG4gICAgZmlyZUV2ZW50LmNsaWNrKGdldEJ5VGV4dCgnVGVzdCBUaXRsZScpKTtcbiAgICBleHBlY3Qob25DbGlja01vY2spLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUlBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLG1CQUFBLEdBQUFG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aEI7TUFBSSxDQUFFLENBQ2hFLENBQUM7TUFGTXlCLFNBQVMsR0FBQUksaUJBQUEsQ0FBVEosU0FBUztJQUdoQlAsTUFBTSxDQUFDTyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQ04saUJBQWlCLENBQUMsQ0FBQztFQUNuRCxDQUFDLENBQUM7RUFFRlQsRUFBRSxDQUFDLHlEQUF5RCxFQUFFLFlBQU07SUFDbEUsSUFBQW9CLGlCQUFBLEdBQW9CLElBQUFsQixtQ0FBZSxlQUFDeEMsTUFBQSxZQUFBeUMsYUFBQSxDQUFDcEMsVUFBQSxDQUFBcUMsU0FBUztRQUFDQyxHQUFHLEVBQUViLE9BQVE7UUFBQ2MsT0FBTyxFQUFFaEI7TUFBSSxDQUFFLENBQUMsQ0FBQztNQUF2RWlCLFNBQVMsR0FBQWEsaUJBQUEsQ0FBVGIsU0FBUztJQUNoQkMsTUFBTSxDQUFDRCxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQ0UsaUJBQWlCLENBQUMsQ0FBQztJQUNuREQsTUFBTSxDQUFDRCxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3pERCxNQUFNLENBQ0pELFNBQVMsa0JBQUFjLE1BQUEsQ0FBa0JDLGtCQUFNLENBQUNDLEdBQUcsQ0FBQy9CLE9BQU8sQ0FBQ0csZ0JBQWdCLENBQUMsQ0FBQzZCLE9BQU8sQ0FBQyxDQUFDLENBQUUsQ0FDN0UsQ0FBQyxDQUFDZixpQkFBaUIsQ0FBQyxDQUFDO0VBQ3ZCLENBQUMsQ0FBQztFQUVGVCxFQUFFLENBQUMseUNBQXlDLEVBQUUsWUFBTTtJQUNsRCxJQUFNeUIsV0FBVyxHQUFHQyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLElBQUFDLGlCQUFBLEdBQW9CLElBQUExQixtQ0FBZSxlQUFDeEMsTUFBQSxZQUFBeUMsYUFBQSxDQUFDcEMsVUFBQSxDQUFBcUMsU0FBUztRQUFDQyxHQUFHLEVBQUViLE9BQVE7UUFBQ2MsT0FBTyxFQUFFbUI7TUFBWSxDQUFFLENBQUMsQ0FBQztNQUEvRWxCLFNBQVMsR0FBQXFCLGlCQUFBLENBQVRyQixTQUFTO0lBQ2hCc0IsaUJBQVMsQ0FBQ0MsS0FBSyxDQUFDdkIsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDQyxNQUFNLENBQUNpQixXQUFXLENBQUMsQ0FBQ00sZ0JBQWdCLENBQUMsQ0FBQztFQUN4QyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
164
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfY29tcG9uZW50SmVzdFV0aWxzIiwiX2Nsb3VkSXRlbSIsIl9tb21lbnQiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIm5vcCIsImRlc2NyaWJlIiwibW9ja1ZpcyIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJ1cGRhdGVkQXQiLCJEYXRlIiwibm93IiwidGh1bWJuYWlsIiwicHJpdmF0ZU1hcCIsIm9ic2VydmVyQ2FsbGJhY2siLCJiZWZvcmVFYWNoIiwiTW9ja0ludGVyc2VjdGlvbk9ic2VydmVyIiwiY2IiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwib2JzZXJ2ZSIsImlzSW50ZXJzZWN0aW5nIiwiZGlzY29ubmVjdCIsInVuZGVmaW5lZCIsInVub2JzZXJ2ZSIsImdsb2JhbCIsIkludGVyc2VjdGlvbk9ic2VydmVyIiwiaXQiLCJfcmVuZGVyV2l0aFRoZW1lIiwicmVuZGVyV2l0aFRoZW1lIiwiY3JlYXRlRWxlbWVudCIsIkNsb3VkSXRlbSIsInZpcyIsIm9uQ2xpY2siLCJnZXRCeVRleHQiLCJleHBlY3QiLCJ0b0JlSW5UaGVEb2N1bWVudCIsIl9yZW5kZXJXaXRoVGhlbWUyIiwiX3JlbmRlcldpdGhUaGVtZTMiLCJxdWVyeUJ5VGV4dCIsInRvQmVOdWxsIiwiX3JlbmRlcldpdGhUaGVtZTQiLCJnZXRCeVJvbGUiLCJzdHlsZSIsImJhY2tncm91bmRJbWFnZSIsInRvQ29udGFpbiIsIl9yZW5kZXJXaXRoVGhlbWU1IiwiX3JlbmRlcldpdGhUaGVtZTYiLCJjb25jYXQiLCJtb21lbnQiLCJ1dGMiLCJmcm9tTm93Iiwib25DbGlja01vY2siLCJqZXN0IiwiZm4iLCJfcmVuZGVyV2l0aFRoZW1lNyIsImZpcmVFdmVudCIsImNsaWNrIiwidG9IYXZlQmVlbkNhbGxlZCIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwiZ2V0TWFwVGh1bWJuYWlsIiwicHJvdmlkZXIiLCJfcmVuZGVyV2l0aFRoZW1lOCIsImZpbmRCeVJvbGUiLCJ0aHVtYiIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJtb2NrUmVzb2x2ZWRWYWx1ZSIsImhhc0xhenlUaHVtYm5haWxzIiwic2VudCIsIndhaXRGb3IiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsInN0b3AiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kYWxzL2Nsb3VkLWNvbXBvbmVudHMvY2xvdWQtaXRlbS5zcGVjLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7ZmlyZUV2ZW50LCB3YWl0Rm9yfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCB7cmVuZGVyV2l0aFRoZW1lfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90ZXN0L2hlbHBlcnMvY29tcG9uZW50LWplc3QtdXRpbHMnO1xuXG5pbXBvcnQge0Nsb3VkSXRlbX0gZnJvbSAnLi9jbG91ZC1pdGVtJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmNvbnN0IG5vcCA9ICgpID0+IHtcbiAgcmV0dXJuO1xufTtcbmRlc2NyaWJlKCdDbG91ZEl0ZW0nLCAoKSA9PiB7XG4gIGNvbnN0IG1vY2tWaXMgPSB7XG4gICAgdGl0bGU6ICdUZXN0IFRpdGxlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1Rlc3QgRGVzY3JpcHRpb24nLFxuICAgIHVwZGF0ZWRBdDogRGF0ZS5ub3coKSxcbiAgICB0aHVtYm5haWw6ICd0ZXN0LXRodW1ibmFpbC5qcGcnLFxuICAgIHByaXZhdGVNYXA6IHRydWVcbiAgfTtcblxuICBsZXQgb2JzZXJ2ZXJDYWxsYmFjaztcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb2JzZXJ2ZXJDYWxsYmFjayA9IG51bGw7XG4gICAgY2xhc3MgTW9ja0ludGVyc2VjdGlvbk9ic2VydmVyIHtcbiAgICAgIGNvbnN0cnVjdG9yKGNiKSB7XG4gICAgICAgIG9ic2VydmVyQ2FsbGJhY2sgPSBjYjtcbiAgICAgIH1cbiAgICAgIG9ic2VydmUoKSB7XG4gICAgICAgIC8vIEltbWVkaWF0ZWx5IHJlcG9ydCB2aXNpYmxlIGZvciBsYXp5LWxvYWQgdGVzdHNcbiAgICAgICAgaWYgKG9ic2VydmVyQ2FsbGJhY2spIHtcbiAgICAgICAgICBvYnNlcnZlckNhbGxiYWNrKFt7aXNJbnRlcnNlY3Rpbmc6IHRydWV9XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGRpc2Nvbm5lY3QoKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB1bm9ic2VydmUoKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuICAgIGdsb2JhbC5JbnRlcnNlY3Rpb25PYnNlcnZlciA9IE1vY2tJbnRlcnNlY3Rpb25PYnNlcnZlcjtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICBjb25zdCB7Z2V0QnlUZXh0fSA9IHJlbmRlcldpdGhUaGVtZSg8Q2xvdWRJdGVtIHZpcz17bW9ja1Zpc30gb25DbGljaz17bm9wfSAvPik7XG4gICAgZXhwZWN0KGdldEJ5VGV4dCgnVGVzdCBUaXRsZScpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICB9KTtcblxuICBpdCgncmVuZGVycyBQcml2YWN5QmFkZ2UgZm9yIHByaXZhdGUgbWFwcycsICgpID0+IHtcbiAgICBjb25zdCB7Z2V0QnlUZXh0fSA9IHJlbmRlcldpdGhUaGVtZShcbiAgICAgIDxDbG91ZEl0ZW0gdmlzPXt7Li4ubW9ja1ZpcywgcHJpdmF0ZU1hcDogdHJ1ZX19IG9uQ2xpY2s9e25vcH0gLz5cbiAgICApO1xuICAgIGV4cGVjdChnZXRCeVRleHQoJ1ByaXZhdGUnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgaXQoJ2RvZXMgbm90IHJlbmRlciBQcml2YWN5QmFkZ2UgZm9yIHB1YmxpYyBtYXBzJywgKCkgPT4ge1xuICAgIGNvbnN0IHtxdWVyeUJ5VGV4dH0gPSByZW5kZXJXaXRoVGhlbWUoXG4gICAgICA8Q2xvdWRJdGVtIHZpcz17ey4uLm1vY2tWaXMsIHByaXZhdGVNYXA6IGZhbHNlfX0gb25DbGljaz17bm9wfSAvPlxuICAgICk7XG4gICAgZXhwZWN0KHF1ZXJ5QnlUZXh0KCdQcml2YXRlJykpLnRvQmVOdWxsKCk7XG4gIH0pO1xuXG4gIGl0KCdkaXNwbGF5cyBjb3JyZWN0IHRodW1ibmFpbCBpbWFnZScsICgpID0+IHtcbiAgICBjb25zdCB7Z2V0QnlSb2xlfSA9IHJlbmRlcldpdGhUaGVtZSg8Q2xvdWRJdGVtIHZpcz17bW9ja1Zpc30gb25DbGljaz17bm9wfSAvPik7XG4gICAgZXhwZWN0KGdldEJ5Um9sZSgndGh1bWJuYWlsLXdyYXBwZXInKS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UpLnRvQ29udGFpbigndGVzdC10aHVtYm5haWwuanBnJyk7XG4gIH0pO1xuXG4gIGl0KCdkaXNwbGF5cyBNYXBJY29uIHdoZW4gbm8gdGh1bWJuYWlsIGlzIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IHtnZXRCeVJvbGV9ID0gcmVuZGVyV2l0aFRoZW1lKFxuICAgICAgPENsb3VkSXRlbSB2aXM9e3suLi5tb2NrVmlzLCB0aHVtYm5haWw6IG51bGx9fSBvbkNsaWNrPXtub3B9IC8+XG4gICAgKTtcbiAgICBleHBlY3QoZ2V0QnlSb2xlKCdtYXAtaWNvbicpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICB9KTtcblxuICBpdCgnZGlzcGxheXMgdGl0bGUsIGRlc2NyaXB0aW9uLCBhbmQgbGFzdCBtb2RpZmljYXRpb24gZGF0ZScsICgpID0+IHtcbiAgICBjb25zdCB7Z2V0QnlUZXh0fSA9IHJlbmRlcldpdGhUaGVtZSg8Q2xvdWRJdGVtIHZpcz17bW9ja1Zpc30gb25DbGljaz17bm9wfSAvPik7XG4gICAgZXhwZWN0KGdldEJ5VGV4dCgnVGVzdCBUaXRsZScpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIGV4cGVjdChnZXRCeVRleHQoJ1Rlc3QgRGVzY3JpcHRpb24nKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICBleHBlY3QoXG4gICAgICBnZXRCeVRleHQoYExhc3QgbW9kaWZpZWQgJHttb21lbnQudXRjKG1vY2tWaXMudXBkYXRlZEF0KS5mcm9tTm93KCl9YClcbiAgICApLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdjYWxscyBvbkNsaWNrIHdoZW4gY29tcG9uZW50IGlzIGNsaWNrZWQnLCAoKSA9PiB7XG4gICAgY29uc3Qgb25DbGlja01vY2sgPSBqZXN0LmZuKCk7XG4gICAgY29uc3Qge2dldEJ5VGV4dH0gPSByZW5kZXJXaXRoVGhlbWUoPENsb3VkSXRlbSB2aXM9e21vY2tWaXN9IG9uQ2xpY2s9e29uQ2xpY2tNb2NrfSAvPik7XG4gICAgZmlyZUV2ZW50LmNsaWNrKGdldEJ5VGV4dCgnVGVzdCBUaXRsZScpKTtcbiAgICBleHBlY3Qob25DbGlja01vY2spLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG5cbiAgaXQoJ2xhenktbG9hZHMgdGh1bWJuYWlsIHdoZW4gdGlsZSBiZWNvbWVzIHZpc2libGUnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZ2V0TWFwVGh1bWJuYWlsID0gamVzdC5mbigpLm1vY2tSZXNvbHZlZFZhbHVlKCdsYXp5LXRodW1iLmpwZycpO1xuICAgIGNvbnN0IHByb3ZpZGVyID0ge1xuICAgICAgaGFzTGF6eVRodW1ibmFpbHM6ICgpID0+IHRydWUsXG4gICAgICBnZXRNYXBUaHVtYm5haWxcbiAgICB9O1xuICAgIGNvbnN0IHZpcyA9IHsuLi5tb2NrVmlzLCB0aHVtYm5haWw6IHVuZGVmaW5lZH07XG4gICAgY29uc3Qge2ZpbmRCeVJvbGV9ID0gcmVuZGVyV2l0aFRoZW1lKDxDbG91ZEl0ZW0gdmlzPXt2aXN9IG9uQ2xpY2s9e25vcH0gcHJvdmlkZXI9e3Byb3ZpZGVyfSAvPik7XG5cbiAgICBjb25zdCB0aHVtYiA9IGF3YWl0IGZpbmRCeVJvbGUoJ3RodW1ibmFpbC13cmFwcGVyJyk7XG4gICAgYXdhaXQgd2FpdEZvcigoKSA9PiBleHBlY3QoZ2V0TWFwVGh1bWJuYWlsKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh2aXMpKTtcbiAgICBleHBlY3QodGh1bWIuc3R5bGUuYmFja2dyb3VuZEltYWdlKS50b0NvbnRhaW4oJ2xhenktdGh1bWIuanBnJyk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsbUJBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUE0QixTQUFBSyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFB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
@@ -36,6 +36,7 @@ var CloudMaps = exports.CloudMaps = function CloudMaps(_ref) {
36
36
  onClick: function onClick() {
37
37
  return onSelectMap(provider, vis);
38
38
  },
39
+ provider: provider,
39
40
  vis: vis
40
41
  });
41
42
  }) : /*#__PURE__*/_react["default"].createElement("div", {
@@ -44,4 +45,4 @@ var CloudMaps = exports.CloudMaps = function CloudMaps(_ref) {
44
45
  id: 'modal.loadStorageMap.noSavedMaps'
45
46
  })));
46
47
  };
47
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2xvYWRpbmdEaWFsb2ciLCJfbG9jYWxpemF0aW9uIiwiX2Nsb3VkSXRlbSIsIl9mbGV4Q29udGFpbmVyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIlN0eWxlZFNwaW5uZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlN0eWxlZEZsZXhDb250YWluZXIiLCJGbGV4Q29udGFpbmVyIiwiQ2xvdWRNYXBzIiwiZXhwb3J0cyIsIl9yZWYiLCJwcm92aWRlciIsIm9uU2VsZWN0TWFwIiwiaXNMb2FkaW5nIiwibWFwcyIsImVycm9yIiwiY3JlYXRlRWxlbWVudCIsIm1lc3NhZ2UiLCJzaXplIiwibGVuZ3RoIiwibWFwIiwidmlzIiwiQ2xvdWRJdGVtIiwia2V5IiwiaWQiLCJvbkNsaWNrIiwiY2xhc3NOYW1lIiwiRm9ybWF0dGVkTWVzc2FnZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2RhbHMvY2xvdWQtY29tcG9uZW50cy9jbG91ZC1tYXBzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgTG9hZGluZ0RpYWxvZyBmcm9tICcuLi9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7Q2xvdWRJdGVtfSBmcm9tICcuL2Nsb3VkLWl0ZW0nO1xuaW1wb3J0IHtGbGV4Q29udGFpbmVyfSBmcm9tICcuLi8uLi9jb21tb24vZmxleC1jb250YWluZXInO1xuXG5jb25zdCBTdHlsZWRTcGlubmVyID0gc3R5bGVkLmRpdmBcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBzcGFuIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRmxleENvbnRhaW5lciA9IHN0eWxlZChGbGV4Q29udGFpbmVyKWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5gO1xuXG5leHBvcnQgY29uc3QgQ2xvdWRNYXBzID0gKHtwcm92aWRlciwgb25TZWxlY3RNYXAsIGlzTG9hZGluZywgbWFwcywgZXJyb3J9KSA9PiB7XG4gIGlmIChlcnJvcikge1xuICAgIHJldHVybiA8ZGl2PkVycm9yIHdoaWxlIGZldGNoaW5nIG1hcHM6IHtlcnJvci5tZXNzYWdlfTwvZGl2PjtcbiAgfVxuXG4gIGlmIChpc0xvYWRpbmcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNwaW5uZXI+XG4gICAgICAgIDxMb2FkaW5nRGlhbG9nIHNpemU9ezY0fSAvPlxuICAgICAgPC9TdHlsZWRTcGlubmVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRGbGV4Q29udGFpbmVyPlxuICAgICAgeyhtYXBzID8/IFtdKS5sZW5ndGggPyAoXG4gICAgICAgIG1hcHMubWFwKHZpcyA9PiAoXG4gICAgICAgICAgPENsb3VkSXRlbSBrZXk9e3Zpcy5pZH0gb25DbGljaz17KCkgPT4gb25TZWxlY3RNYXAocHJvdmlkZXIsIHZpcyl9IHZpcz17dmlzfSAvPlxuICAgICAgICApKVxuICAgICAgKSA6IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ2aXN1YWxpemF0aW9uLWxpc3RfX21lc3NhZ2VcIj5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmxvYWRTdG9yYWdlTWFwLm5vU2F2ZWRNYXBzJ30gLz5cbiAgICAgICAg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
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2xvYWRpbmdEaWFsb2ciLCJfbG9jYWxpemF0aW9uIiwiX2Nsb3VkSXRlbSIsIl9mbGV4Q29udGFpbmVyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIlN0eWxlZFNwaW5uZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlN0eWxlZEZsZXhDb250YWluZXIiLCJGbGV4Q29udGFpbmVyIiwiQ2xvdWRNYXBzIiwiZXhwb3J0cyIsIl9yZWYiLCJwcm92aWRlciIsIm9uU2VsZWN0TWFwIiwiaXNMb2FkaW5nIiwibWFwcyIsImVycm9yIiwiY3JlYXRlRWxlbWVudCIsIm1lc3NhZ2UiLCJzaXplIiwibGVuZ3RoIiwibWFwIiwidmlzIiwiQ2xvdWRJdGVtIiwia2V5IiwiaWQiLCJvbkNsaWNrIiwiY2xhc3NOYW1lIiwiRm9ybWF0dGVkTWVzc2FnZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2RhbHMvY2xvdWQtY29tcG9uZW50cy9jbG91ZC1tYXBzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgTG9hZGluZ0RpYWxvZyBmcm9tICcuLi9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7Q2xvdWRJdGVtfSBmcm9tICcuL2Nsb3VkLWl0ZW0nO1xuaW1wb3J0IHtGbGV4Q29udGFpbmVyfSBmcm9tICcuLi8uLi9jb21tb24vZmxleC1jb250YWluZXInO1xuXG5jb25zdCBTdHlsZWRTcGlubmVyID0gc3R5bGVkLmRpdmBcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBzcGFuIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRmxleENvbnRhaW5lciA9IHN0eWxlZChGbGV4Q29udGFpbmVyKWBcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5gO1xuXG5leHBvcnQgY29uc3QgQ2xvdWRNYXBzID0gKHtwcm92aWRlciwgb25TZWxlY3RNYXAsIGlzTG9hZGluZywgbWFwcywgZXJyb3J9KSA9PiB7XG4gIGlmIChlcnJvcikge1xuICAgIHJldHVybiA8ZGl2PkVycm9yIHdoaWxlIGZldGNoaW5nIG1hcHM6IHtlcnJvci5tZXNzYWdlfTwvZGl2PjtcbiAgfVxuXG4gIGlmIChpc0xvYWRpbmcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNwaW5uZXI+XG4gICAgICAgIDxMb2FkaW5nRGlhbG9nIHNpemU9ezY0fSAvPlxuICAgICAgPC9TdHlsZWRTcGlubmVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRGbGV4Q29udGFpbmVyPlxuICAgICAgeyhtYXBzID8/IFtdKS5sZW5ndGggPyAoXG4gICAgICAgIG1hcHMubWFwKHZpcyA9PiAoXG4gICAgICAgICAgPENsb3VkSXRlbVxuICAgICAgICAgICAga2V5PXt2aXMuaWR9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNlbGVjdE1hcChwcm92aWRlciwgdmlzKX1cbiAgICAgICAgICAgIHByb3ZpZGVyPXtwcm92aWRlcn1cbiAgICAgICAgICAgIHZpcz17dmlzfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpXG4gICAgICApIDogKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInZpc3VhbGl6YXRpb24tbGlzdF9fbWVzc2FnZVwiPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwubG9hZFN0b3JhZ2VNYXAubm9TYXZlZE1hcHMnfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRGbGV4Q29udGFpbmVyPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsY0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssY0FBQSxHQUFBTCxPQUFBO0FBQTBELElBQUFNLGVBQUEsRUFBQUMsZ0JBQUEsRUFSMUQ7QUFDQTtBQVNBLElBQU1DLGFBQWEsR0FBR0MsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBSixlQUFBLEtBQUFBLGVBQUEsT0FBQUssdUJBQUEsaUZBSy9CO0FBRUQsSUFBTUMsbUJBQW1CLEdBQUcsSUFBQUgsNEJBQU0sRUFBQ0ksNEJBQWEsQ0FBQyxDQUFBTixnQkFBQSxLQUFBQSxnQkFBQSxPQUFBSSx1QkFBQSwwRUFHaEQ7QUFFTSxJQUFNRyxTQUFTLEdBQUFDLE9BQUEsQ0FBQUQsU0FBQSxHQUFHLFNBQVpBLFNBQVNBLENBQUFFLElBQUEsRUFBd0Q7RUFBQSxJQUFuREMsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7SUFBRUMsV0FBVyxHQUFBRixJQUFBLENBQVhFLFdBQVc7SUFBRUMsU0FBUyxHQUFBSCxJQUFBLENBQVRHLFNBQVM7SUFBRUMsSUFBSSxHQUFBSixJQUFBLENBQUpJLElBQUk7SUFBRUMsS0FBSyxHQUFBTCxJQUFBLENBQUxLLEtBQUs7RUFDdEUsSUFBSUEsS0FBSyxFQUFFO0lBQ1Qsb0JBQU92QixNQUFBLFlBQUF3QixhQUFBLGNBQUssNkJBQTJCLEVBQUNELEtBQUssQ0FBQ0UsT0FBYSxDQUFDO0VBQzlEO0VBRUEsSUFBSUosU0FBUyxFQUFFO0lBQ2Isb0JBQ0VyQixNQUFBLFlBQUF3QixhQUFBLENBQUNkLGFBQWEscUJBQ1pWLE1BQUEsWUFBQXdCLGFBQUEsQ0FBQ3BCLGNBQUEsV0FBYTtNQUFDc0IsSUFBSSxFQUFFO0lBQUcsQ0FBRSxDQUNiLENBQUM7RUFFcEI7RUFFQSxvQkFDRTFCLE1BQUEsWUFBQXdCLGFBQUEsQ0FBQ1YsbUJBQW1CLFFBQ2pCLENBQUNRLElBQUksYUFBSkEsSUFBSSxjQUFKQSxJQUFJLEdBQUksRUFBRSxFQUFFSyxNQUFNLEdBQ2xCTCxJQUFJLENBQUNNLEdBQUcsQ0FBQyxVQUFBQyxHQUFHO0lBQUEsb0JBQ1Y3QixNQUFBLFlBQUF3QixhQUFBLENBQUNsQixVQUFBLENBQUF3QixTQUFTO01BQ1JDLEdBQUcsRUFBRUYsR0FBRyxDQUFDRyxFQUFHO01BQ1pDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1FBQUEsT0FBUWIsV0FBVyxDQUFDRCxRQUFRLEVBQUVVLEdBQUcsQ0FBQztNQUFBLENBQUM7TUFDMUNWLFFBQVEsRUFBRUEsUUFBUztNQUNuQlUsR0FBRyxFQUFFQTtJQUFJLENBQ1YsQ0FBQztFQUFBLENBQ0gsQ0FBQyxnQkFFRjdCLE1BQUEsWUFBQXdCLGFBQUE7SUFBS1UsU0FBUyxFQUFDO0VBQTZCLGdCQUMxQ2xDLE1BQUEsWUFBQXdCLGFBQUEsQ0FBQ25CLGFBQUEsQ0FBQThCLGdCQUFnQjtJQUFDSCxFQUFFLEVBQUU7RUFBbUMsQ0FBRSxDQUN4RCxDQUVZLENBQUM7QUFFMUIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.CloudStorageDisclaimer = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _localization = require("@kepler.gl/localization");
12
+ var _templateObject; // SPDX-License-Identifier: MIT
13
+ // Copyright contributors to the kepler.gl project
14
+ var StyledDisclaimer = _styledComponents["default"].p.attrs({
15
+ className: 'cloud-storage-disclaimer'
16
+ })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: auto;\n margin-bottom: 0;\n padding-top: 16px;\n font-size: 11px;\n line-height: 1.4;\n color: ", ";\n max-width: 100%;\n"])), function (props) {
17
+ return props.theme.subtextColor;
18
+ });
19
+ var CloudStorageDisclaimer = exports.CloudStorageDisclaimer = function CloudStorageDisclaimer() {
20
+ return /*#__PURE__*/_react["default"].createElement(StyledDisclaimer, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
21
+ id: "modal.providerSelect.disclaimer"
22
+ }));
23
+ };
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2xvY2FsaXphdGlvbiIsIl90ZW1wbGF0ZU9iamVjdCIsIlN0eWxlZERpc2NsYWltZXIiLCJzdHlsZWQiLCJwIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJzdWJ0ZXh0Q29sb3IiLCJDbG91ZFN0b3JhZ2VEaXNjbGFpbWVyIiwiZXhwb3J0cyIsImNyZWF0ZUVsZW1lbnQiLCJGb3JtYXR0ZWRNZXNzYWdlIiwiaWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kYWxzL2Nsb3VkLWNvbXBvbmVudHMvY2xvdWQtc3RvcmFnZS1kaXNjbGFpbWVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcblxuY29uc3QgU3R5bGVkRGlzY2xhaW1lciA9IHN0eWxlZC5wLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY2xvdWQtc3RvcmFnZS1kaXNjbGFpbWVyJ1xufSlgXG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gIG1heC13aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCBjb25zdCBDbG91ZFN0b3JhZ2VEaXNjbGFpbWVyOiBSZWFjdC5GQyA9ICgpID0+IChcbiAgPFN0eWxlZERpc2NsYWltZXI+XG4gICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJtb2RhbC5wcm92aWRlclNlbGVjdC5kaXNjbGFpbWVyXCIgLz5cbiAgPC9TdHlsZWREaXNjbGFpbWVyPlxuKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBRixPQUFBO0FBQXlELElBQUFHLGVBQUEsRUFMekQ7QUFDQTtBQU1BLElBQU1DLGdCQUFnQixHQUFHQyw0QkFBTSxDQUFDQyxDQUFDLENBQUNDLEtBQUssQ0FBQztFQUN0Q0MsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDLENBQUFMLGVBQUEsS0FBQUEsZUFBQSxPQUFBTSx1QkFBQSxvS0FNUyxVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFlBQVk7QUFBQSxFQUUzQztBQUVNLElBQU1DLHNCQUFnQyxHQUFBQyxPQUFBLENBQUFELHNCQUFBLEdBQUcsU0FBbkNBLHNCQUFnQ0EsQ0FBQTtFQUFBLG9CQUMzQ2YsTUFBQSxZQUFBaUIsYUFBQSxDQUFDWCxnQkFBZ0IscUJBQ2ZOLE1BQUEsWUFBQWlCLGFBQUEsQ0FBQ2IsYUFBQSxDQUFBYyxnQkFBZ0I7SUFBQ0MsRUFBRSxFQUFDO0VBQWlDLENBQUUsQ0FDeEMsQ0FBQztBQUFBLENBQ3BCIiwiaWdub3JlTGlzdCI6W119
@@ -31,7 +31,7 @@ var StyledTileWrapper = _styledComponents["default"].div.attrs({
31
31
  }, function (props) {
32
32
  return props.theme.primaryBtnBgd;
33
33
  });
34
- var StyledBox = (0, _styledComponents["default"])(_styledComponents2.CenterVerticalFlexbox)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 12px;\n position: relative;\n"])));
34
+ var StyledBox = (0, _styledComponents["default"])(_styledComponents2.CenterVerticalFlexbox)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 12px;\n position: relative;\n width: 120px;\n max-width: 120px;\n flex: 0 0 120px;\n"])));
35
35
  var StyledCloudName = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 12px;\n margin-top: 12px;\n margin-bottom: 4px;\n"])));
36
36
  var StyledUserName = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 11px;\n margin-top: 8px;\n text-align: center;\n color: ", ";\n overflow: hidden;\n width: 100px;\n text-overflow: ellipsis;\n"])), function (props) {
37
37
  return props.theme.primaryBtnActBgd;
@@ -55,7 +55,7 @@ var LogoutButton = function LogoutButton(_ref2) {
55
55
  }, /*#__PURE__*/_react["default"].createElement(_icons.Logout, null), "Logout");
56
56
  };
57
57
  var NewTag = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: 37px;\n height: 19px;\n display: flex;\n align-content: center;\n justify-content: center;\n border-radius: 8px;\n padding: 4px 8px;\n background-color: #EDE9F9;\n color: #8863F8;\n position: absolute;\n left: 35%;\n top: -8px\n z-index: 500;\n font-size: 11px;\n line-height: 10px;\n"])));
58
- var StyledWarning = exports.StyledWarning = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-weight: ", ";\n"])), function (props) {
58
+ var StyledWarning = exports.StyledWarning = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-weight: ", ";\n display: block;\n width: 100%;\n text-align: center;\n overflow-wrap: break-word;\n font-size: 11px;\n line-height: 1.3;\n"])), function (props) {
59
59
  return props.theme.errorColor;
60
60
  }, function (props) {
61
61
  return props.theme.selectFontWeightBold;
@@ -89,16 +89,29 @@ var CloudTile = function CloudTile(_ref3) {
89
89
  if (!provider) {
90
90
  return;
91
91
  }
92
+ var cancelled = false;
92
93
  setError(null);
93
94
  setIsLoading(true);
94
- setError(null);
95
- provider.getUser().then(setUser)["catch"](setError)["finally"](function () {
96
- setError(null);
97
- setIsLoading(false);
95
+ provider.getUser().then(function (nextUser) {
96
+ if (!cancelled) {
97
+ setUser(nextUser);
98
+ }
99
+ })["catch"](function (err) {
100
+ if (!cancelled) {
101
+ setUser(null);
102
+ setError(err);
103
+ }
104
+ })["finally"](function () {
105
+ if (!cancelled) {
106
+ setIsLoading(false);
107
+ }
98
108
  });
109
+ return function () {
110
+ cancelled = true;
111
+ };
99
112
  }, [provider]);
100
113
  var onLogin = (0, _react.useCallback)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
101
- var _user;
114
+ var nextUser;
102
115
  return _regenerator["default"].wrap(function _callee$(_context) {
103
116
  while (1) switch (_context.prev = _context.next) {
104
117
  case 0:
@@ -108,24 +121,28 @@ var CloudTile = function CloudTile(_ref3) {
108
121
  _context.next = 5;
109
122
  return provider.login();
110
123
  case 5:
111
- _user = _context.sent;
112
- setUser(_user);
124
+ nextUser = _context.sent;
125
+ setUser(nextUser);
113
126
  setProvider(provider);
114
- _context.next = 13;
115
- break;
116
- case 10:
117
- _context.prev = 10;
127
+ return _context.abrupt("return", nextUser);
128
+ case 11:
129
+ _context.prev = 11;
118
130
  _context.t0 = _context["catch"](2);
131
+ // Swallow: also used as LoginButton onClick (must not reject)
119
132
  setError(_context.t0);
120
- case 13:
133
+ return _context.abrupt("return", null);
134
+ case 15:
135
+ _context.prev = 15;
121
136
  setIsLoading(false);
122
- case 14:
137
+ return _context.finish(15);
138
+ case 18:
123
139
  case "end":
124
140
  return _context.stop();
125
141
  }
126
- }, _callee, null, [[2, 10]]);
142
+ }, _callee, null, [[2, 11, 15, 18]]);
127
143
  })), [provider, setProvider]);
128
144
  var onSelect = (0, _react.useCallback)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
145
+ var currentUser, nextUser;
129
146
  return _regenerator["default"].wrap(function _callee2$(_context2) {
130
147
  while (1) switch (_context2.prev = _context2.next) {
131
148
  case 0:
@@ -136,54 +153,80 @@ var CloudTile = function CloudTile(_ref3) {
136
153
  return _context2.abrupt("return");
137
154
  case 2:
138
155
  if (!user) {
139
- _context2.next = 5;
156
+ _context2.next = 23;
140
157
  break;
141
158
  }
142
- setProvider(provider);
143
- return _context2.abrupt("return");
144
- case 5:
159
+ // Re-check on click: mount-time getUser() can go stale if the modal stays
160
+ // open past token expiry. Null means the session is gone — fall through
161
+ // to login() (this click is a user gesture). A throw is a transient
162
+ // failure (e.g. Dropbox network); keep the cached user and do not
163
+ // force another provider login popup.
164
+ setError(null);
165
+ setIsLoading(true);
145
166
  _context2.prev = 5;
146
167
  _context2.next = 8;
147
- return onLogin();
168
+ return provider.getUser();
148
169
  case 8:
170
+ currentUser = _context2.sent;
171
+ if (!currentUser) {
172
+ _context2.next = 14;
173
+ break;
174
+ }
175
+ setUser(currentUser);
176
+ setIsLoading(false);
149
177
  setProvider(provider);
150
- _context2.next = 15;
178
+ return _context2.abrupt("return");
179
+ case 14:
180
+ setUser(null);
181
+ setIsLoading(false);
182
+ _context2.next = 23;
151
183
  break;
152
- case 11:
153
- _context2.prev = 11;
184
+ case 18:
185
+ _context2.prev = 18;
154
186
  _context2.t0 = _context2["catch"](5);
155
- setError(_context2.t0);
156
- setProvider(null);
157
- case 15:
187
+ setIsLoading(false);
188
+ setProvider(provider);
189
+ return _context2.abrupt("return");
190
+ case 23:
191
+ _context2.next = 25;
192
+ return onLogin();
193
+ case 25:
194
+ nextUser = _context2.sent;
195
+ if (!nextUser) {
196
+ setProvider(null);
197
+ }
198
+ // onLogin already selected the provider on success
199
+ case 27:
158
200
  case "end":
159
201
  return _context2.stop();
160
202
  }
161
- }, _callee2, null, [[5, 11]]);
203
+ }, _callee2, null, [[5, 18]]);
162
204
  })), [setProvider, provider, user, isLoading, onLogin]);
163
205
  var onLogout = (0, _react.useCallback)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
164
206
  return _regenerator["default"].wrap(function _callee3$(_context3) {
165
207
  while (1) switch (_context3.prev = _context3.next) {
166
208
  case 0:
167
209
  setIsLoading(true);
168
- _context3.prev = 1;
169
- _context3.next = 4;
210
+ setError(null);
211
+ _context3.prev = 2;
212
+ _context3.next = 5;
170
213
  return provider.logout();
171
- case 4:
172
- _context3.next = 9;
214
+ case 5:
215
+ _context3.next = 10;
173
216
  break;
174
- case 6:
175
- _context3.prev = 6;
176
- _context3.t0 = _context3["catch"](1);
217
+ case 7:
218
+ _context3.prev = 7;
219
+ _context3.t0 = _context3["catch"](2);
177
220
  setError(_context3.t0);
178
- case 9:
221
+ case 10:
179
222
  setIsLoading(false);
180
223
  setUser(null);
181
224
  setProvider(null);
182
- case 12:
225
+ case 13:
183
226
  case "end":
184
227
  return _context3.stop();
185
228
  }
186
- }, _callee3, null, [[1, 6]]);
229
+ }, _callee3, null, [[2, 7]]);
187
230
  })), [provider, setProvider]);
188
231
  var displayName = provider.displayName,
189
232
  name = provider.name;
@@ -199,4 +242,4 @@ var CloudTile = function CloudTile(_ref3) {
199
242
  }), error ? /*#__PURE__*/_react["default"].createElement(StyledWarning, null, error.message) : null);
200
243
  };
201
244
  var _default = exports["default"] = CloudTile;
202
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfdXNlQ2xvdWRMaXN0UHJvdmlkZXIyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIlN0eWxlZFRpbGVXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwic2VsZWN0ZWQiLCJ0aGVtZSIsInByaW1hcnlCdG5CZ2QiLCJzZWxlY3RCb3JkZXJDb2xvckxUIiwidHJhbnNpdGlvbiIsIlN0eWxlZEJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIlN0eWxlZENsb3VkTmFtZSIsIlN0eWxlZFVzZXJOYW1lIiwicHJpbWFyeUJ0bkFjdEJnZCIsIkxvZ2luQnV0dG9uIiwiX3JlZiIsIm9uQ2xpY2siLCJjcmVhdGVFbGVtZW50IiwiQnV0dG9uIiwibGluayIsInNtYWxsIiwiTG9naW4iLCJMb2dvdXRCdXR0b24iLCJfcmVmMiIsIkxvZ291dCIsIk5ld1RhZyIsIlN0eWxlZFdhcm5pbmciLCJleHBvcnRzIiwic3BhbiIsImVycm9yQ29sb3IiLCJzZWxlY3RGb250V2VpZ2h0Qm9sZCIsIkNsb3VkVGlsZSIsIl9yZWYzIiwicHJvdmlkZXIiLCJhY3Rpb25OYW1lIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwidXNlciIsInNldFVzZXIiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsIl91c2VDbG91ZExpc3RQcm92aWRlciIsInVzZUNsb3VkTGlzdFByb3ZpZGVyIiwiY3VycmVudFByb3ZpZGVyIiwic2V0UHJvdmlkZXIiLCJpc1NlbGVjdGVkIiwidXNlRWZmZWN0IiwiZ2V0VXNlciIsInRoZW4iLCJvbkxvZ2luIiwidXNlQ2FsbGJhY2siLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIl91c2VyIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImxvZ2luIiwic2VudCIsInQwIiwic3RvcCIsIm9uU2VsZWN0IiwiX2NhbGxlZTIiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJhYnJ1cHQiLCJvbkxvZ291dCIsIl9jYWxsZWUzIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwibG9nb3V0IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwiaXNOZXciLCJpY29uIiwiaGVpZ2h0IiwiRnJhZ21lbnQiLCJDaGVja01hcmsiLCJtZXNzYWdlIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kYWxzL2Nsb3VkLXRpbGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7SVN0eWxlZENvbXBvbmVudH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtMb2dvdXQsIExvZ2lufSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtDZW50ZXJWZXJ0aWNhbEZsZXhib3gsIEJ1dHRvbiwgQ2hlY2tNYXJrfSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtQcm92aWRlciwgQ2xvdWRVc2VyfSBmcm9tICdAa2VwbGVyLmdsL2Nsb3VkLXByb3ZpZGVycyc7XG5pbXBvcnQge3VzZUNsb3VkTGlzdFByb3ZpZGVyfSBmcm9tICcuLi9ob29rcy91c2UtY2xvdWQtbGlzdC1wcm92aWRlcic7XG5pbXBvcnQge0Jhc2VDb21wb25lbnRQcm9wc30gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBTdHlsZWRUaWxlV3JhcHBlclByb3BzID0gQmFzZUNvbXBvbmVudFByb3BzICYge1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRUaWxlV3JhcHBlcjogSVN0eWxlZENvbXBvbmVudDwnd2ViJywgU3R5bGVkVGlsZVdyYXBwZXJQcm9wcz4gPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAncHJvdmlkZXItdGlsZV9fd3JhcHBlcidcbn0pPFN0eWxlZFRpbGVXcmFwcGVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+IChwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3RCb3JkZXJDb2xvckxUKX07XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3RCb3JkZXJDb2xvckxUKX07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDE2OHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6aG92ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRCb3ggPSBzdHlsZWQoQ2VudGVyVmVydGljYWxGbGV4Ym94KWBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5jb25zdCBTdHlsZWRDbG91ZE5hbWUgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFVzZXJOYW1lID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMXB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5gO1xuXG5pbnRlcmZhY2UgT25DbGlja1Byb3BzIHtcbiAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxCdXR0b25FbGVtZW50Pjtcbn1cblxuY29uc3QgTG9naW5CdXR0b24gPSAoe29uQ2xpY2t9OiBPbkNsaWNrUHJvcHMpID0+IChcbiAgPEJ1dHRvbiBjbGFzc05hbWU9XCJsb2dpbi1idXR0b25cIiBsaW5rIHNtYWxsIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgIDxMb2dpbiAvPlxuICAgIExvZ2luXG4gIDwvQnV0dG9uPlxuKTtcblxuY29uc3QgTG9nb3V0QnV0dG9uID0gKHtvbkNsaWNrfTogT25DbGlja1Byb3BzKSA9PiAoXG4gIDxCdXR0b24gY2xhc3NOYW1lPVwibG9nb3V0LWJ1dHRvblwiIGxpbmsgc21hbGwgb25DbGljaz17b25DbGlja30+XG4gICAgPExvZ291dCAvPlxuICAgIExvZ291dFxuICA8L0J1dHRvbj5cbik7XG5cbmNvbnN0IE5ld1RhZyA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAzN3B4O1xuICBoZWlnaHQ6IDE5cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VERTlGOTtcbiAgY29sb3I6ICM4ODYzRjg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMzUlO1xuICB0b3A6IC04cHhcbiAgei1pbmRleDogNTAwO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFdhcm5pbmcgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gIGZvbnQtd2VpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdEZvbnRXZWlnaHRCb2xkfTtcbmA7XG5cbmludGVyZmFjZSBDbG91ZFRpbGVQcm9wcyB7XG4gIGFjdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAvLyBjbG91ZCBwcm92aWRlciBjbGFzc1xuICBwcm92aWRlcjogUHJvdmlkZXI7XG59XG5cbi8qKlxuICogdGhpcyBjb21wb25lbnQgZGlzcGxheSBhIHByb3ZpZGVyIGFuZCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IGFuZCBzZXQgdGhlIGN1cnJlbnQgcHJvdmlkZXJcbiAqIEBwYXJhbSBwcm92aWRlclxuICogQHBhcmFtIGFjdGlvbk5hbWVcbiAqIEBjb25zdHJ1Y3RvclxuICovXG5jb25zdCBDbG91ZFRpbGU6IFJlYWN0LkZDPENsb3VkVGlsZVByb3BzPiA9ICh7cHJvdmlkZXIsIGFjdGlvbk5hbWV9KSA9PiB7XG4gIGNvbnN0IFt1c2VyLCBzZXRVc2VyXSA9IHVzZVN0YXRlPENsb3VkVXNlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPEVycm9yIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHtwcm92aWRlcjogY3VycmVudFByb3ZpZGVyLCBzZXRQcm92aWRlcn0gPSB1c2VDbG91ZExpc3RQcm92aWRlcigpO1xuICBjb25zdCBpc1NlbGVjdGVkID0gcHJvdmlkZXIgPT09IGN1cnJlbnRQcm92aWRlcjtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcHJvdmlkZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2V0RXJyb3IobnVsbCk7XG4gICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgIHNldEVycm9yKG51bGwpO1xuICAgIHByb3ZpZGVyXG4gICAgICAuZ2V0VXNlcigpXG4gICAgICAudGhlbihzZXRVc2VyKVxuICAgICAgLmNhdGNoKHNldEVycm9yKVxuICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICBzZXRFcnJvcihudWxsKTtcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgIH0pO1xuICB9LCBbcHJvdmlkZXJdKTtcblxuICBjb25zdCBvbkxvZ2luID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldEVycm9yKG51bGwpO1xuICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXNlciA9IGF3YWl0IHByb3ZpZGVyLmxvZ2luKCk7XG4gICAgICBzZXRVc2VyKHVzZXIpO1xuICAgICAgc2V0UHJvdmlkZXIocHJvdmlkZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBzZXRFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gIH0sIFtwcm92aWRlciwgc2V0UHJvdmlkZXJdKTtcblxuICBjb25zdCBvblNlbGVjdCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh1c2VyKSB7XG4gICAgICBzZXRQcm92aWRlcihwcm92aWRlcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBvbkxvZ2luKCk7XG4gICAgICBzZXRQcm92aWRlcihwcm92aWRlcik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihlcnIgYXMgRXJyb3IpO1xuICAgICAgc2V0UHJvdmlkZXIobnVsbCk7XG4gICAgfVxuICB9LCBbc2V0UHJvdmlkZXIsIHByb3ZpZGVyLCB1c2VyLCBpc0xvYWRpbmcsIG9uTG9naW5dKTtcblxuICBjb25zdCBvbkxvZ291dCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHByb3ZpZGVyLmxvZ291dCgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBzZXRFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgc2V0VXNlcihudWxsKTtcbiAgICBzZXRQcm92aWRlcihudWxsKTtcbiAgfSwgW3Byb3ZpZGVyLCBzZXRQcm92aWRlcl0pO1xuXG4gIGNvbnN0IHtkaXNwbGF5TmFtZSwgbmFtZX0gPSBwcm92aWRlcjtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRCb3g+XG4gICAgICB7cHJvdmlkZXIuaXNOZXcgPyA8TmV3VGFnPk5ldzwvTmV3VGFnPiA6IG51bGx9XG4gICAgICA8ZGl2IC8+XG4gICAgICA8U3R5bGVkVGlsZVdyYXBwZXIgb25DbGljaz17b25TZWxlY3R9IHNlbGVjdGVkPXtpc1NlbGVjdGVkfT5cbiAgICAgICAgPFN0eWxlZENsb3VkTmFtZT57ZGlzcGxheU5hbWUgfHwgbmFtZX08L1N0eWxlZENsb3VkTmFtZT5cbiAgICAgICAge3Byb3ZpZGVyLmljb24gPyA8cHJvdmlkZXIuaWNvbiBoZWlnaHQ9XCI2NHB4XCIgLz4gOiBudWxsfVxuICAgICAgICB7aXNMb2FkaW5nID8gKFxuICAgICAgICAgIDxkaXY+TG9hZGluZyAuLi48L2Rpdj5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8Pnt1c2VyID8gPFN0eWxlZFVzZXJOYW1lPnthY3Rpb25OYW1lIHx8IHVzZXIubmFtZX08L1N0eWxlZFVzZXJOYW1lPiA6IG51bGx9PC8+XG4gICAgICAgICl9XG4gICAgICAgIHtpc1NlbGVjdGVkID8gPENoZWNrTWFyayAvPiA6IG51bGx9XG4gICAgICA8L1N0eWxlZFRpbGVXcmFwcGVyPlxuICAgICAge3VzZXIgfHwgZXJyb3IgPyA8TG9nb3V0QnV0dG9uIG9uQ2xpY2s9e29uTG9nb3V0fSAvPiA6IDxMb2dpbkJ1dHRvbiBvbkNsaWNrPXtvbkxvZ2lufSAvPn1cbiAgICAgIHtlcnJvciA/IDxTdHlsZWRXYXJuaW5nPntlcnJvci5tZXNzYWdlfTwvU3R5bGVkV2FybmluZz4gOiBudWxsfVxuICAg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
245
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfdXNlQ2xvdWRMaXN0UHJvdmlkZXIyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIlN0eWxlZFRpbGVXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwic2VsZWN0ZWQiLCJ0aGVtZSIsInByaW1hcnlCdG5CZ2QiLCJzZWxlY3RCb3JkZXJDb2xvckxUIiwidHJhbnNpdGlvbiIsIlN0eWxlZEJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIlN0eWxlZENsb3VkTmFtZSIsIlN0eWxlZFVzZXJOYW1lIiwicHJpbWFyeUJ0bkFjdEJnZCIsIkxvZ2luQnV0dG9uIiwiX3JlZiIsIm9uQ2xpY2siLCJjcmVhdGVFbGVtZW50IiwiQnV0dG9uIiwibGluayIsInNtYWxsIiwiTG9naW4iLCJMb2dvdXRCdXR0b24iLCJfcmVmMiIsIkxvZ291dCIsIk5ld1RhZyIsIlN0eWxlZFdhcm5pbmciLCJleHBvcnRzIiwic3BhbiIsImVycm9yQ29sb3IiLCJzZWxlY3RGb250V2VpZ2h0Qm9sZCIsIkNsb3VkVGlsZSIsIl9yZWYzIiwicHJvdmlkZXIiLCJhY3Rpb25OYW1lIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwidXNlciIsInNldFVzZXIiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsIl91c2VDbG91ZExpc3RQcm92aWRlciIsInVzZUNsb3VkTGlzdFByb3ZpZGVyIiwiY3VycmVudFByb3ZpZGVyIiwic2V0UHJvdmlkZXIiLCJpc1NlbGVjdGVkIiwidXNlRWZmZWN0IiwiY2FuY2VsbGVkIiwiZ2V0VXNlciIsInRoZW4iLCJuZXh0VXNlciIsImVyciIsIm9uTG9naW4iLCJ1c2VDYWxsYmFjayIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImxvZ2luIiwic2VudCIsImFicnVwdCIsInQwIiwiZmluaXNoIiwic3RvcCIsIm9uU2VsZWN0IiwiX2NhbGxlZTIiLCJjdXJyZW50VXNlciIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsIm9uTG9nb3V0IiwiX2NhbGxlZTMiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJsb2dvdXQiLCJkaXNwbGF5TmFtZSIsIm5hbWUiLCJpc05ldyIsImljb24iLCJoZWlnaHQiLCJGcmFnbWVudCIsIkNoZWNrTWFyayIsIm1lc3NhZ2UiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvY2xvdWQtdGlsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHtJU3R5bGVkQ29tcG9uZW50fSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0xvZ291dCwgTG9naW59IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge0NlbnRlclZlcnRpY2FsRmxleGJveCwgQnV0dG9uLCBDaGVja01hcmt9IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1Byb3ZpZGVyLCBDbG91ZFVzZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvY2xvdWQtcHJvdmlkZXJzJztcbmltcG9ydCB7dXNlQ2xvdWRMaXN0UHJvdmlkZXJ9IGZyb20gJy4uL2hvb2tzL3VzZS1jbG91ZC1saXN0LXByb3ZpZGVyJztcbmltcG9ydCB7QmFzZUNvbXBvbmVudFByb3BzfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFN0eWxlZFRpbGVXcmFwcGVyUHJvcHMgPSBCYXNlQ29tcG9uZW50UHJvcHMgJiB7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZFRpbGVXcmFwcGVyOiBJU3R5bGVkQ29tcG9uZW50PCd3ZWInLCBTdHlsZWRUaWxlV3JhcHBlclByb3BzPiA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdwcm92aWRlci10aWxlX193cmFwcGVyJ1xufSk8U3R5bGVkVGlsZVdyYXBwZXJQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMgPT4gKHByb3BzLnNlbGVjdGVkID8gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZCA6IHByb3BzLnRoZW1lLnNlbGVjdEJvcmRlckNvbG9yTFQpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gKHByb3BzLnNlbGVjdGVkID8gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZCA6IHByb3BzLnRoZW1lLnNlbGVjdEJvcmRlckNvbG9yTFQpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNTAwO1xuICB3aWR0aDogMTIwcHg7XG4gIGhlaWdodDogMTY4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZEJveCA9IHN0eWxlZChDZW50ZXJWZXJ0aWNhbEZsZXhib3gpYFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEyMHB4O1xuICBtYXgtd2lkdGg6IDEyMHB4O1xuICBmbGV4OiAwIDAgMTIwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRDbG91ZE5hbWUgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFVzZXJOYW1lID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMXB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5gO1xuXG5pbnRlcmZhY2UgT25DbGlja1Byb3BzIHtcbiAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxCdXR0b25FbGVtZW50Pjtcbn1cblxuY29uc3QgTG9naW5CdXR0b24gPSAoe29uQ2xpY2t9OiBPbkNsaWNrUHJvcHMpID0+IChcbiAgPEJ1dHRvbiBjbGFzc05hbWU9XCJsb2dpbi1idXR0b25cIiBsaW5rIHNtYWxsIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgIDxMb2dpbiAvPlxuICAgIExvZ2luXG4gIDwvQnV0dG9uPlxuKTtcblxuY29uc3QgTG9nb3V0QnV0dG9uID0gKHtvbkNsaWNrfTogT25DbGlja1Byb3BzKSA9PiAoXG4gIDxCdXR0b24gY2xhc3NOYW1lPVwibG9nb3V0LWJ1dHRvblwiIGxpbmsgc21hbGwgb25DbGljaz17b25DbGlja30+XG4gICAgPExvZ291dCAvPlxuICAgIExvZ291dFxuICA8L0J1dHRvbj5cbik7XG5cbmNvbnN0IE5ld1RhZyA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAzN3B4O1xuICBoZWlnaHQ6IDE5cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VERTlGOTtcbiAgY29sb3I6ICM4ODYzRjg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMzUlO1xuICB0b3A6IC04cHhcbiAgei1pbmRleDogNTAwO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFdhcm5pbmcgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gIGZvbnQtd2VpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdEZvbnRXZWlnaHRCb2xkfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbmA7XG5cbmludGVyZmFjZSBDbG91ZFRpbGVQcm9wcyB7XG4gIGFjdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAvLyBjbG91ZCBwcm92aWRlciBjbGFzc1xuICBwcm92aWRlcjogUHJvdmlkZXI7XG59XG5cbi8qKlxuICogdGhpcyBjb21wb25lbnQgZGlzcGxheSBhIHByb3ZpZGVyIGFuZCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IGFuZCBzZXQgdGhlIGN1cnJlbnQgcHJvdmlkZXJcbiAqIEBwYXJhbSBwcm92aWRlclxuICogQHBhcmFtIGFjdGlvbk5hbWVcbiAqIEBjb25zdHJ1Y3RvclxuICovXG5jb25zdCBDbG91ZFRpbGU6IFJlYWN0LkZDPENsb3VkVGlsZVByb3BzPiA9ICh7cHJvdmlkZXIsIGFjdGlvbk5hbWV9KSA9PiB7XG4gIGNvbnN0IFt1c2VyLCBzZXRVc2VyXSA9IHVzZVN0YXRlPENsb3VkVXNlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPEVycm9yIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHtwcm92aWRlcjogY3VycmVudFByb3ZpZGVyLCBzZXRQcm92aWRlcn0gPSB1c2VDbG91ZExpc3RQcm92aWRlcigpO1xuICBjb25zdCBpc1NlbGVjdGVkID0gcHJvdmlkZXIgPT09IGN1cnJlbnRQcm92aWRlcjtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcHJvdmlkZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlO1xuICAgIHNldEVycm9yKG51bGwpO1xuICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICBwcm92aWRlclxuICAgICAgLmdldFVzZXIoKVxuICAgICAgLnRoZW4obmV4dFVzZXIgPT4ge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldFVzZXIobmV4dFVzZXIpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIGlmICghY2FuY2VsbGVkKSB7XG4gICAgICAgICAgc2V0VXNlcihudWxsKTtcbiAgICAgICAgICBzZXRFcnJvcihlcnIgYXMgRXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjYW5jZWxsZWQgPSB0cnVlO1xuICAgIH07XG4gIH0sIFtwcm92aWRlcl0pO1xuXG4gIGNvbnN0IG9uTG9naW4gPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0RXJyb3IobnVsbCk7XG4gICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBuZXh0VXNlciA9IGF3YWl0IHByb3ZpZGVyLmxvZ2luKCk7XG4gICAgICBzZXRVc2VyKG5leHRVc2VyKTtcbiAgICAgIHNldFByb3ZpZGVyKHByb3ZpZGVyKTtcbiAgICAgIHJldHVybiBuZXh0VXNlcjtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gU3dhbGxvdzogYWxzbyB1c2VkIGFzIExvZ2luQnV0dG9uIG9uQ2xpY2sgKG11c3Qgbm90IHJlamVjdClcbiAgICAgIHNldEVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW3Byb3ZpZGVyLCBzZXRQcm92aWRlcl0pO1xuXG4gIGNvbnN0IG9uU2VsZWN0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHVzZXIpIHtcbiAgICAgIC8vIFJlLWNoZWNrIG9uIGNsaWNrOiBtb3VudC10aW1lIGdldFVzZXIoKSBjYW4gZ28gc3RhbGUgaWYgdGhlIG1vZGFsIHN0YXlzXG4gICAgICAvLyBvcGVuIHBhc3QgdG9rZW4gZXhwaXJ5LiBOdWxsIG1lYW5zIHRoZSBzZXNzaW9uIGlzIGdvbmUg4oCUIGZhbGwgdGhyb3VnaFxuICAgICAgLy8gdG8gbG9naW4oKSAodGhpcyBjbGljayBpcyBhIHVzZXIgZ2VzdHVyZSkuIEEgdGhyb3cgaXMgYSB0cmFuc2llbnRcbiAgICAgIC8vIGZhaWx1cmUgKGUuZy4gRHJvcGJveCBuZXR3b3JrKTsga2VlcCB0aGUgY2FjaGVkIHVzZXIgYW5kIGRvIG5vdFxuICAgICAgLy8gZm9yY2UgYW5vdGhlciBwcm92aWRlciBsb2dpbiBwb3B1cC5cbiAgICAgIHNldEVycm9yKG51bGwpO1xuICAgICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY3VycmVudFVzZXIgPSBhd2FpdCBwcm92aWRlci5nZXRVc2VyKCk7XG4gICAgICAgIGlmIChjdXJyZW50VXNlcikge1xuICAgICAgICAgIHNldFVzZXIoY3VycmVudFVzZXIpO1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgc2V0UHJvdmlkZXIocHJvdmlkZXIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRVc2VyKG51bGwpO1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIHNldFByb3ZpZGVyKHByb3ZpZGVyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBuZXh0VXNlciA9IGF3YWl0IG9uTG9naW4oKTtcbiAgICBpZiAoIW5leHRVc2VyKSB7XG4gICAgICBzZXRQcm92aWRlcihudWxsKTtcbiAgICB9XG4gICAgLy8gb25Mb2dpbiBhbHJlYWR5IHNlbGVjdGVkIHRoZSBwcm92aWRlciBvbiBzdWNjZXNzXG4gIH0sIFtzZXRQcm92aWRlciwgcHJvdmlkZXIsIHVzZXIsIGlzTG9hZGluZywgb25Mb2dpbl0pO1xuXG4gIGNvbnN0IG9uTG9nb3V0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICBzZXRFcnJvcihudWxsKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgcHJvdmlkZXIubG9nb3V0KCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHNldEVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICBzZXRVc2VyKG51bGwpO1xuICAgIHNldFByb3ZpZGVyKG51bGwpO1xuICB9LCBbcHJvdmlkZXIsIHNldFByb3ZpZGVyXSk7XG5cbiAgY29uc3Qge2Rpc3BsYXlOYW1lLCBuYW1lfSA9IHByb3ZpZGVyO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEJveD5cbiAgICAgIHtwcm92aWRlci5pc05ldyA/IDxOZXdUYWc+TmV3PC9OZXdUYWc+IDogbnVsbH1cbiAgICAgIDxkaXYgLz5cbiAgICAgIDxTdHlsZWRUaWxlV3JhcHBlciBvbkNsaWNrPXtvblNlbGVjdH0gc2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9PlxuICAgICAgICA8U3R5bGVkQ2xvdWROYW1lPntkaXNwbGF5TmFtZSB8fCBuYW1lfTwvU3R5bGVkQ2xvdWROYW1lPlxuICAgICAgICB7cHJvdmlkZXIuaWNvbiA/IDxwcm92aWRlci5pY29uIGhlaWdodD1cIjY0cHhcIiAvPiA6IG51bGx9XG4gICAgICAgIHtpc0xvYWRpbmcgPyAoXG4gICAgICAgICAgPGRpdj5Mb2FkaW5nIC4uLjwvZGl2PlxuICAgICAgICApIDogKFxuICAgICAgICAgIDw+e3VzZXIgPyA8U3R5bGVkVXNlck5hbWU+e2FjdGlvbk5hbWUgfHwgdXNlci5uYW1lfTwvU3R5bGVkVXNlck5hbWU+IDogbnVsbH08Lz5cbiAgICAgICAgKX1cbiAgICAgICAge2lzU2VsZWN0ZWQgPyA8Q2hlY2tNYXJrIC8+IDogbnVsbH1cbiAgICAgIDwvU3R5bGVkVGlsZVdyYXBwZXI+XG4gICAgICB7dXNlciB8fCBlcnJvciA/IDxMb2dvdXRCdXR0b24gb25DbGljaz17b25Mb2dvdXR9IC8+IDogPExvZ2luQnV0dG9uIG9uQ2xpY2s9e29uTG9naW59IC8+fVxuICAgICAge2Vycm9yID8gPFN0eWxlZFdhcm5pbmc+e2Vycm9yLm1lc3NhZ2V9PC9TdHlsZWRXYXJuaW5nPiA6IG51bGx9XG4gICAgPC9TdHlsZWRCb3g+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDbG91ZFRpbGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxrQkFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssc0JBQUEsR0FBQUwsT0FBQTtBQUFzRSxJQUFBTSxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBUnRFO0FBQ0E7QUFBQSxTQUFBWix3QkFBQWEsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FB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