@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.
- package/dist/cjs/common/data-table/cell-size.js +40 -23
- package/dist/cjs/common/data-table/column-statistics-categoric.js +40 -0
- package/dist/cjs/common/data-table/column-statistics-components.js +65 -0
- package/dist/cjs/common/data-table/column-statistics-numeric.js +87 -0
- package/dist/cjs/common/data-table/column-statistics-time.js +69 -0
- package/dist/cjs/common/data-table/grid.js +2 -2
- package/dist/cjs/common/data-table/header-cell.js +123 -44
- package/dist/cjs/common/data-table/index.js +104 -31
- package/dist/cjs/common/file-uploader/file-upload.js +250 -40
- package/dist/cjs/common/histogram-plot.js +1 -1
- package/dist/cjs/common/icons/circle.js +54 -0
- package/dist/cjs/common/icons/{arrow-down-solid.js → draw-point.js} +21 -11
- package/dist/cjs/common/icons/index.js +22 -1
- package/dist/cjs/common/icons/line-string.js +60 -0
- package/dist/cjs/common/item-selector/item-selector.js +2 -2
- package/dist/cjs/common/portaled.js +3 -3
- package/dist/cjs/common/time-range-slider.js +2 -2
- package/dist/cjs/common/timeline-slider.js +2 -2
- package/dist/cjs/common/toolbar-item.js +24 -3
- package/dist/cjs/editor/editor.js +27 -9
- package/dist/cjs/editor/feature-action-panel.js +34 -12
- package/dist/cjs/editor/feature-properties-editor.js +215 -0
- package/dist/cjs/editor/filter-feature-badges.js +92 -0
- package/dist/cjs/filters/filter-panels/polygon-filter-panel.js +2 -2
- package/dist/cjs/filters/time-widget.js +2 -2
- package/dist/cjs/index.js +33 -1
- package/dist/cjs/kepler-gl.js +20 -3
- package/dist/cjs/map/layer-hover-info.js +2 -2
- package/dist/cjs/map/map-control-toolbar.js +2 -2
- package/dist/cjs/map/map-control.js +14 -8
- package/dist/cjs/map/map-draw-panel.js +74 -15
- package/dist/cjs/map/theme-toggle-button.js +64 -0
- package/dist/cjs/map-container.js +17 -6
- package/dist/cjs/map-view-state-context.js +3 -3
- package/dist/cjs/modal-container.js +3 -2
- package/dist/cjs/modals/cloud-components/cloud-item.js +55 -7
- package/dist/cjs/modals/cloud-components/cloud-item.spec.js +75 -3
- package/dist/cjs/modals/cloud-components/cloud-maps.js +2 -1
- package/dist/cjs/modals/cloud-components/cloud-storage-disclaimer.js +24 -0
- package/dist/cjs/modals/cloud-tile.js +82 -39
- package/dist/cjs/modals/data-table-modal.js +37 -25
- package/dist/cjs/modals/export-video-modal.js +28 -1
- package/dist/cjs/modals/export-video-modal.spec.js +56 -10
- package/dist/cjs/modals/globe-export-video-container.js +19 -3
- package/dist/cjs/modals/globe-export-video-preview.js +25 -7
- package/dist/cjs/modals/hubble-utils.js +8 -3
- package/dist/cjs/modals/image-modal-container.js +2 -2
- package/dist/cjs/modals/load-data-modal.js +3 -3
- package/dist/cjs/modals/load-storage-map.js +9 -6
- package/dist/cjs/modals/save-map-modal.js +4 -3
- package/dist/cjs/modals/share-map-modal.js +5 -4
- package/dist/cjs/modals/swipe-composite-utils.js +9 -1
- package/dist/cjs/modals/swipe-composite-utils.spec.js +69 -0
- package/dist/cjs/modals/swipe-export-video-preview.js +9 -5
- package/dist/cjs/plot-container.js +12 -5
- package/dist/cjs/side-panel/common/dataset-info.js +2 -2
- package/dist/cjs/side-panel/filter-panel/filter-panel.js +2 -2
- package/dist/cjs/side-panel/layer-manager.js +11 -3
- package/dist/cjs/side-panel/layer-panel/custom-palette.js +2 -2
- package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +11 -3
- package/dist/cjs/side-panel/layer-panel/layer-configurator.js +74 -31
- package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +90 -25
- package/dist/common/data-table/column-statistics-categoric.d.ts +9 -0
- package/dist/common/data-table/column-statistics-components.d.ts +31 -0
- package/dist/common/data-table/column-statistics-numeric.d.ts +18 -0
- package/dist/common/data-table/column-statistics-time.d.ts +19 -0
- package/dist/common/data-table/header-cell.d.ts +7 -5
- package/dist/common/data-table/index.d.ts +7 -24
- package/dist/common/histogram-plot.d.ts +24 -1
- package/dist/common/icons/{arrow-down-solid.d.ts → circle.d.ts} +2 -1
- package/dist/common/icons/draw-point.d.ts +10 -0
- package/dist/common/icons/index.d.ts +3 -0
- package/dist/common/icons/line-string.d.ts +10 -0
- package/dist/common/toolbar-item.d.ts +2 -0
- package/dist/editor/editor.d.ts +1 -0
- package/dist/editor/feature-action-panel.d.ts +1 -0
- package/dist/editor/feature-properties-editor.d.ts +8 -0
- package/dist/editor/filter-feature-badges.d.ts +12 -0
- package/dist/esm/common/data-table/cell-size.js +40 -23
- package/dist/esm/common/data-table/column-statistics-categoric.js +33 -0
- package/dist/esm/common/data-table/column-statistics-components.js +59 -0
- package/dist/esm/common/data-table/column-statistics-numeric.js +78 -0
- package/dist/esm/common/data-table/column-statistics-time.js +60 -0
- package/dist/esm/common/data-table/grid.js +2 -2
- package/dist/esm/common/data-table/header-cell.js +125 -46
- package/dist/esm/common/data-table/index.js +104 -31
- package/dist/esm/common/file-uploader/file-upload.js +251 -41
- package/dist/esm/common/histogram-plot.js +1 -1
- package/dist/esm/common/icons/circle.js +48 -0
- package/dist/esm/common/icons/draw-point.js +44 -0
- package/dist/esm/common/icons/index.js +4 -1
- package/dist/esm/common/icons/line-string.js +54 -0
- package/dist/esm/common/item-selector/item-selector.js +2 -2
- package/dist/esm/common/portaled.js +3 -3
- package/dist/esm/common/time-range-slider.js +2 -2
- package/dist/esm/common/timeline-slider.js +2 -2
- package/dist/esm/common/toolbar-item.js +24 -3
- package/dist/esm/editor/editor.js +27 -9
- package/dist/esm/editor/feature-action-panel.js +37 -15
- package/dist/esm/editor/feature-properties-editor.js +208 -0
- package/dist/esm/editor/filter-feature-badges.js +85 -0
- package/dist/esm/filters/filter-panels/polygon-filter-panel.js +2 -2
- package/dist/esm/filters/time-widget.js +2 -2
- package/dist/esm/index.js +5 -1
- package/dist/esm/kepler-gl.js +20 -3
- package/dist/esm/map/layer-hover-info.js +2 -2
- package/dist/esm/map/map-control-toolbar.js +2 -2
- package/dist/esm/map/map-control.js +14 -8
- package/dist/esm/map/map-draw-panel.js +72 -11
- package/dist/esm/map/theme-toggle-button.js +55 -0
- package/dist/esm/map-container.js +17 -6
- package/dist/esm/map-view-state-context.js +3 -3
- package/dist/esm/modal-container.js +3 -2
- package/dist/esm/modals/cloud-components/cloud-item.js +53 -7
- package/dist/esm/modals/cloud-components/cloud-item.spec.js +76 -4
- package/dist/esm/modals/cloud-components/cloud-maps.js +2 -1
- package/dist/esm/modals/cloud-components/cloud-storage-disclaimer.js +19 -0
- package/dist/esm/modals/cloud-tile.js +82 -39
- package/dist/esm/modals/data-table-modal.js +38 -26
- package/dist/esm/modals/export-video-modal.js +29 -2
- package/dist/esm/modals/export-video-modal.spec.js +56 -10
- package/dist/esm/modals/globe-export-video-container.js +20 -4
- package/dist/esm/modals/globe-export-video-preview.js +26 -8
- package/dist/esm/modals/hubble-utils.js +8 -3
- package/dist/esm/modals/image-modal-container.js +2 -2
- package/dist/esm/modals/load-data-modal.js +3 -3
- package/dist/esm/modals/load-storage-map.js +8 -3
- package/dist/esm/modals/save-map-modal.js +4 -3
- package/dist/esm/modals/share-map-modal.js +5 -4
- package/dist/esm/modals/swipe-composite-utils.js +9 -1
- package/dist/esm/modals/swipe-composite-utils.spec.js +67 -0
- package/dist/esm/modals/swipe-export-video-preview.js +8 -4
- package/dist/esm/plot-container.js +12 -5
- package/dist/esm/side-panel/common/dataset-info.js +2 -2
- package/dist/esm/side-panel/filter-panel/filter-panel.js +2 -2
- package/dist/esm/side-panel/layer-manager.js +11 -3
- package/dist/esm/side-panel/layer-panel/custom-palette.js +2 -2
- package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +11 -3
- package/dist/esm/side-panel/layer-panel/layer-configurator.js +74 -31
- package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +90 -25
- package/dist/index.d.ts +8 -0
- package/dist/kepler-gl.d.ts +3 -0
- package/dist/map/map-control.d.ts +6 -2
- package/dist/map/map-draw-panel.d.ts +1 -0
- package/dist/map/theme-toggle-button.d.ts +18 -0
- package/dist/map-container.d.ts +1 -0
- package/dist/modals/cloud-components/cloud-item.d.ts +2 -1
- package/dist/modals/cloud-components/cloud-storage-disclaimer.d.ts +2 -0
- package/dist/modals/data-table-modal.d.ts +1 -0
- package/dist/modals/globe-export-video-container.d.ts +2 -0
- package/dist/modals/globe-export-video-preview.d.ts +3 -0
- package/dist/modals/hubble-utils.d.ts +2 -1
- package/dist/modals/swipe-composite-utils.d.ts +1 -1
- package/dist/modals/swipe-composite-utils.spec.d.ts +1 -0
- package/package.json +20 -21
- package/dist/cjs/modals/cloud-components/provider-loading.js +0 -20
- package/dist/cjs/modals/storage-map-viewer.js +0 -98
- package/dist/cjs/side-panel/cloud-storage-dropdown.js +0 -40
- package/dist/esm/common/icons/arrow-down-solid.js +0 -34
- package/dist/esm/modals/cloud-components/provider-loading.js +0 -15
- package/dist/esm/modals/storage-map-viewer.js +0 -93
- package/dist/esm/side-panel/cloud-storage-dropdown.js +0 -33
- package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
- package/dist/modals/storage-map-viewer.d.ts +0 -21
- 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
|
-
|
|
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.
|
|
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+IHRydWUsXG4gICAgICBnZXRNYXBUaHVtYm5haWxcbiAgICB9O1xuICAgIGNvbnN0IHZpcyA9IHsuLi5tb2NrVmlzLCB0aHVtYm5haWw6IHVuZGVmaW5lZH07XG4gICAgY29uc3Qge2ZpbmRCeVJvbGV9ID0gcmVuZGVyV2l0aFRoZW1lKDxDbG91ZEl0ZW0gdmlzPXt2aXN9IG9uQ2xpY2s9e25vcH0gcHJvdmlkZXI9e3Byb3ZpZGVyfSAvPik7XG5cbiAgICBjb25zdCB0aHVtYiA9IGF3YWl0IGZpbmRCeVJvbGUoJ3RodW1ibmFpbC13cmFwcGVyJyk7XG4gICAgYXdhaXQgd2FpdEZvcigoKSA9PiBleHBlY3QoZ2V0TWFwVGh1bWJuYWlsKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh2aXMpKTtcbiAgICBleHBlY3QodGh1bWIuc3R5bGUuYmFja2dyb3VuZEltYWdlKS50b0NvbnRhaW4oJ2xhenktdGh1bWIuanBnJyk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsbUJBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUE0QixTQUFBSyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEsSUFBQVksU0FBQSxDQUFBWixDQUFBLFFBQUFBLENBQUEsT0FBQUYsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsT0FBQWEsT0FBQSxXQUFBZCxDQUFBLFFBQUFlLGdCQUFBLGFBQUFoQixDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxDQUFBRCxDQUFBLFNBQUFFLE1BQUEsQ0FBQWMseUJBQUEsR0FBQWQsTUFBQSxDQUFBZSxnQkFBQSxDQUFBbEIsQ0FBQSxFQUFBRyxNQUFBLENBQUFjLHlCQUFBLENBQUFmLENBQUEsS0FBQUgsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsR0FBQWEsT0FBQSxXQUFBZCxDQUFBLElBQUFFLE1BQUEsQ0FBQWdCLGNBQUEsQ0FBQW5CLENBQUEsRUFBQUMsQ0FBQSxFQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFOLENBQUEsRUFBQUQsQ0FBQSxpQkFBQUQsQ0FBQSxJQVQ1QjtBQUNBO0FBRUE7QUFPQSxJQUFNb0IsR0FBRyxHQUFHLFNBQU5BLEdBQUdBLENBQUEsRUFBUztFQUNoQjtBQUNGLENBQUM7QUFDREMsUUFBUSxDQUFDLFdBQVcsRUFBRSxZQUFNO0VBQzFCLElBQU1DLE9BQU8sR0FBRztJQUNkQyxLQUFLLEVBQUUsWUFBWTtJQUNuQkMsV0FBVyxFQUFFLGtCQUFrQjtJQUMvQkMsU0FBUyxFQUFFQyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCQyxTQUFTLEVBQUUsb0JBQW9CO0lBQy9CQyxVQUFVLEVBQUU7RUFDZCxDQUFDO0VBRUQsSUFBSUMsZ0JBQWdCO0VBQ3BCQyxVQUFVLENBQUMsWUFBTTtJQUNmRCxnQkFBZ0IsR0FBRyxJQUFJO0lBQUMsSUFDbEJFLHdCQUF3QjtNQUM1QixTQUFBQSx5QkFBWUMsRUFBRSxFQUFFO1FBQUEsSUFBQUMsZ0JBQUEsbUJBQUFGLHdCQUFBO1FBQ2RGLGdCQUFnQixHQUFHRyxFQUFFO01BQ3ZCO01BQUMsV0FBQUUsYUFBQSxhQUFBSCx3QkFBQTtRQUFBSSxHQUFBO1FBQUFDLEtBQUEsRUFDRCxTQUFBQyxPQUFPQSxDQUFBLEVBQUc7VUFDUjtVQUNBLElBQUlSLGdCQUFnQixFQUFFO1lBQ3BCQSxnQkFBZ0IsQ0FBQyxDQUFDO2NBQUNTLGNBQWMsRUFBRTtZQUFJLENBQUMsQ0FBQyxDQUFDO1VBQzVDO1FBQ0Y7TUFBQztRQUFBSCxHQUFBO1FBQUFDLEtBQUEsRUFDRCxTQUFBRyxVQUFVQSxDQUFBLEVBQUc7VUFDWCxPQUFPQyxTQUFTO1FBQ2xCO01BQUM7UUFBQUwsR0FBQTtRQUFBQyxLQUFBLEVBQ0QsU0FBQUssU0FBU0EsQ0FBQSxFQUFHO1VBQ1YsT0FBT0QsU0FBUztRQUNsQjtNQUFDO0lBQUE7SUFFSEUsTUFBTSxDQUFDQyxvQkFBb0IsR0FBR1osd0JBQXdCO0VBQ3hELENBQUMsQ0FBQztFQUVGYSxFQUFFLENBQUMsMEJBQTBCLEVBQUUsWUFBTTtJQUNuQyxJQUFBQyxnQkFBQSxHQUFvQixJQUFBQyxtQ0FBZSxlQUFDdkQsTUFBQSxZQUFBd0QsYUFBQSxDQUFDbkQsVUFBQSxDQUFBb0QsU0FBUztRQUFDQyxHQUFHLEVBQUU1QixPQUFRO1FBQUM2QixPQUFPLEVBQUUvQjtNQUFJLENBQUUsQ0FBQyxDQUFDO01BQXZFZ0MsU0FBUyxHQUFBTixnQkFBQSxDQUFUTSxTQUFTO0lBQ2hCQyxNQUFNLENBQUNELFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDRSxpQkFBaUIsQ0FBQyxDQUFDO0VBQ3JELENBQUMsQ0FBQztFQUVGVCxFQUFFLENBQUMsdUNBQXVDLEVBQUUsWUFBTTtJQUNoRCxJQUFBVSxpQkFBQSxHQUFvQixJQUFBUixtQ0FBZSxlQUNqQ3ZELE1BQUEsWUFBQXdELGFBQUEsQ0FBQ25ELFVBQUEsQ0FBQW9ELFNBQVM7UUFBQ0MsR0FBRyxFQUFBdEMsYUFBQSxDQUFBQSxhQUFBLEtBQU1VLE9BQU87VUFBRU8sVUFBVSxFQUFFO1FBQUksRUFBRTtRQUFDc0IsT0FBTyxFQUFFL0I7TUFBSSxDQUFFLENBQ2pFLENBQUM7TUFGTWdDLFNBQVMsR0FBQUcsaUJBQUEsQ0FBVEgsU0FBUztJQUdoQkMsTUFBTSxDQUFDRCxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQ0UsaUJBQWlCLENBQUMsQ0FBQztFQUNsRCxDQUFDLENBQUM7RUFFRlQsRUFBRSxDQUFDLDhDQUE4QyxFQUFFLFlBQU07SUFDdkQsSUFBQVcsaUJBQUEsR0FBc0IsSUFBQVQsbUNBQWUsZUFDbkN2RCxNQUFBLFlBQUF3RCxhQUFBLENBQUNuRCxVQUFBLENBQUFvRCxTQUFTO1FBQUNDLEdBQUcsRUFBQXRDLGFBQUEsQ0FBQUEsYUFBQSxLQUFNVSxPQUFPO1VBQUVPLFVBQVUsRUFBRTtRQUFLLEVBQUU7UUFBQ3NCLE9BQU8sRUFBRS9CO01BQUksQ0FBRSxDQUNsRSxDQUFDO01BRk1xQyxXQUFXLEdBQUFELGlCQUFBLENBQVhDLFdBQVc7SUFHbEJKLE1BQU0sQ0FBQ0ksV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxDQUFDO0VBQzNDLENBQUMsQ0FBQztFQUVGYixFQUFFLENBQUMsa0NBQWtDLEVBQUUsWUFBTTtJQUMzQyxJQUFBYyxpQkFBQSxHQUFvQixJQUFBWixtQ0FBZSxlQUFDdkQsTUFBQSxZQUFBd0QsYUFBQSxDQUFDbkQsVUFBQSxDQUFBb0QsU0FBUztRQUFDQyxHQUFHLEVBQUU1QixPQUFRO1FBQUM2QixPQUFPLEVBQUUvQjtNQUFJLENBQUUsQ0FBQyxDQUFDO01BQXZFd0MsU0FBUyxHQUFBRCxpQkFBQSxDQUFUQyxTQUFTO0lBQ2hCUCxNQUFNLENBQUNPLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDQyxLQUFLLENBQUNDLGVBQWUsQ0FBQyxDQUFDQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7RUFDOUYsQ0FBQyxDQUFDO0VBRUZsQixFQUFFLENBQUMsZ0RBQWdELEVBQUUsWUFBTTtJQUN6RCxJQUFBbUIsaUJBQUEsR0FBb0IsSUFBQWpCLG1DQUFlLGVBQ2pDdkQsTUFBQSxZQUFBd0QsYUFBQSxDQUFDbkQsVUFBQSxDQUFBb0QsU0FBUztRQUFDQyxHQUFHLEVBQUF0QyxhQUFBLENBQUFBLGFBQUEsS0FBTVUsT0FBTztVQUFFTSxTQUFTLEVBQUU7UUFBSSxFQUFFO1FBQUN1QixPQUFPLEVBQUUvQjtNQUFJLENBQUUsQ0FDaEUsQ0FBQztNQUZNd0MsU0FBUyxHQUFBSSxpQkFBQSxDQUFUSixTQUFTO0lBR2hCUCxNQUFNLENBQUNPLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDTixpQkFBaUIsQ0FBQyxDQUFDO0VBQ25ELENBQUMsQ0FBQztFQUVGVCxFQUFFLENBQUMseURBQXlELEVBQUUsWUFBTTtJQUNsRSxJQUFBb0IsaUJBQUEsR0FBb0IsSUFBQWxCLG1DQUFlLGVBQUN2RCxNQUFBLFlBQUF3RCxhQUFBLENBQUNuRCxVQUFBLENBQUFvRCxTQUFTO1FBQUNDLEdBQUcsRUFBRTVCLE9BQVE7UUFBQzZCLE9BQU8sRUFBRS9CO01BQUksQ0FBRSxDQUFDLENBQUM7TUFBdkVnQyxTQUFTLEdBQUFhLGlCQUFBLENBQVRiLFNBQVM7SUFDaEJDLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUNFLGlCQUFpQixDQUFDLENBQUM7SUFDbkRELE1BQU0sQ0FBQ0QsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQ0UsaUJBQWlCLENBQUMsQ0FBQztJQUN6REQsTUFBTSxDQUNKRCxTQUFTLGtCQUFBYyxNQUFBLENBQWtCQyxrQkFBTSxDQUFDQyxHQUFHLENBQUM5QyxPQUFPLENBQUNHLFNBQVMsQ0FBQyxDQUFDNEMsT0FBTyxDQUFDLENBQUMsQ0FBRSxDQUN0RSxDQUFDLENBQUNmLGlCQUFpQixDQUFDLENBQUM7RUFDdkIsQ0FBQyxDQUFDO0VBRUZULEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxZQUFNO0lBQ2xELElBQU15QixXQUFXLEdBQUdDLElBQUksQ0FBQ0MsRUFBRSxDQUFDLENBQUM7SUFDN0IsSUFBQUMsaUJBQUEsR0FBb0IsSUFBQTFCLG1DQUFlLGVBQUN2RCxNQUFBLFlBQUF3RCxhQUFBLENBQUNuRCxVQUFBLENBQUFvRCxTQUFTO1FBQUNDLEdBQUcsRUFBRTVCLE9BQVE7UUFBQzZCLE9BQU8sRUFBRW1CO01BQVksQ0FBRSxDQUFDLENBQUM7TUFBL0VsQixTQUFTLEdBQUFxQixpQkFBQSxDQUFUckIsU0FBUztJQUNoQnNCLGlCQUFTLENBQUNDLEtBQUssQ0FBQ3ZCLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4Q0MsTUFBTSxDQUFDaUIsV0FBVyxDQUFDLENBQUNNLGdCQUFnQixDQUFDLENBQUM7RUFDeEMsQ0FBQyxDQUFDO0VBRUYvQixFQUFFLENBQUMsZ0RBQWdELG1CQUFBZ0Msa0JBQUEsMEJBQUFDLFlBQUEsWUFBQUMsSUFBQSxDQUFFLFNBQUFDLFFBQUE7SUFBQSxJQUFBQyxlQUFBLEVBQUFDLFFBQUEsRUFBQWhDLEdBQUEsRUFBQWlDLGlCQUFBLEVBQUFDLFVBQUEsRUFBQUMsS0FBQTtJQUFBLE9BQUFQLFlBQUEsWUFBQVEsSUFBQSxVQUFBQyxTQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUM3Q1QsZUFBZSxHQUFHVixJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDLENBQUNtQixpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQztVQUMvRFQsUUFBUSxHQUFHO1lBQ2ZVLGlCQUFpQixFQUFFLFNBQW5CQSxpQkFBaUJBLENBQUE7Y0FBQSxPQUFRLElBQUk7WUFBQTtZQUM3QlgsZUFBZSxFQUFmQTtVQUNGLENBQUM7VUFDSy9CLEdBQUcsR0FBQXRDLGFBQUEsQ0FBQUEsYUFBQSxLQUFPVSxPQUFPO1lBQUVNLFNBQVMsRUFBRWE7VUFBUztVQUFBMEMsaUJBQUEsR0FDeEIsSUFBQXBDLG1DQUFlLGVBQUN2RCxNQUFBLFlBQUF3RCxhQUFBLENBQUNuRCxVQUFBLENBQUFvRCxTQUFTO1lBQUNDLEdBQUcsRUFBRUEsR0FBSTtZQUFDQyxPQUFPLEVBQUUvQixHQUFJO1lBQUM4RCxRQUFRLEVBQUVBO1VBQVMsQ0FBRSxDQUFDLENBQUMsRUFBeEZFLFVBQVUsR0FBQUQsaUJBQUEsQ0FBVkMsVUFBVTtVQUFBSSxRQUFBLENBQUFFLElBQUE7VUFBQSxPQUVHTixVQUFVLENBQUMsbUJBQW1CLENBQUM7UUFBQTtVQUE3Q0MsS0FBSyxHQUFBRyxRQUFBLENBQUFLLElBQUE7VUFBQUwsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FDTCxJQUFBSSxlQUFPLEVBQUM7WUFBQSxPQUFNekMsTUFBTSxDQUFDNEIsZUFBZSxDQUFDLENBQUNjLG9CQUFvQixDQUFDN0MsR0FBRyxDQUFDO1VBQUEsRUFBQztRQUFBO1VBQ3RFRyxNQUFNLENBQUNnQyxLQUFLLENBQUN4QixLQUFLLENBQUNDLGVBQWUsQ0FBQyxDQUFDQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7UUFBQztRQUFBO1VBQUEsT0FBQXlCLFFBQUEsQ0FBQVEsSUFBQTtNQUFBO0lBQUEsR0FBQWhCLE9BQUE7RUFBQSxDQUNqRSxHQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -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/
|
|
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
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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
|
|
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
|
-
|
|
112
|
-
setUser(
|
|
124
|
+
nextUser = _context.sent;
|
|
125
|
+
setUser(nextUser);
|
|
113
126
|
setProvider(provider);
|
|
114
|
-
_context.
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
|
|
133
|
+
return _context.abrupt("return", null);
|
|
134
|
+
case 15:
|
|
135
|
+
_context.prev = 15;
|
|
121
136
|
setIsLoading(false);
|
|
122
|
-
|
|
137
|
+
return _context.finish(15);
|
|
138
|
+
case 18:
|
|
123
139
|
case "end":
|
|
124
140
|
return _context.stop();
|
|
125
141
|
}
|
|
126
|
-
}, _callee, null, [[2,
|
|
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 =
|
|
156
|
+
_context2.next = 23;
|
|
140
157
|
break;
|
|
141
158
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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
|
|
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.
|
|
178
|
+
return _context2.abrupt("return");
|
|
179
|
+
case 14:
|
|
180
|
+
setUser(null);
|
|
181
|
+
setIsLoading(false);
|
|
182
|
+
_context2.next = 23;
|
|
151
183
|
break;
|
|
152
|
-
case
|
|
153
|
-
_context2.prev =
|
|
184
|
+
case 18:
|
|
185
|
+
_context2.prev = 18;
|
|
154
186
|
_context2.t0 = _context2["catch"](5);
|
|
155
|
-
|
|
156
|
-
setProvider(
|
|
157
|
-
|
|
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,
|
|
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
|
-
|
|
169
|
-
_context3.
|
|
210
|
+
setError(null);
|
|
211
|
+
_context3.prev = 2;
|
|
212
|
+
_context3.next = 5;
|
|
170
213
|
return provider.logout();
|
|
171
|
-
case
|
|
172
|
-
_context3.next =
|
|
214
|
+
case 5:
|
|
215
|
+
_context3.next = 10;
|
|
173
216
|
break;
|
|
174
|
-
case
|
|
175
|
-
_context3.prev =
|
|
176
|
-
_context3.t0 = _context3["catch"](
|
|
217
|
+
case 7:
|
|
218
|
+
_context3.prev = 7;
|
|
219
|
+
_context3.t0 = _context3["catch"](2);
|
|
177
220
|
setError(_context3.t0);
|
|
178
|
-
case
|
|
221
|
+
case 10:
|
|
179
222
|
setIsLoading(false);
|
|
180
223
|
setUser(null);
|
|
181
224
|
setProvider(null);
|
|
182
|
-
case
|
|
225
|
+
case 13:
|
|
183
226
|
case "end":
|
|
184
227
|
return _context3.stop();
|
|
185
228
|
}
|
|
186
|
-
}, _callee3, null, [[
|
|
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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
|