@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
|
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
4
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
5
|
-
var _excluded = ["actionComponents", "isSplit", "top", "mapIndex", "logoComponent", "mapState", "mapStateActions"];
|
|
5
|
+
var _excluded = ["actionComponents", "isSplit", "top", "mapIndex", "logoComponent", "mapState", "mapStateActions", "themeName", "onSetTheme"];
|
|
6
6
|
var _templateObject;
|
|
7
7
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
8
8
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -19,6 +19,7 @@ import Toggle3dButtonFactory from './toggle-3d-button';
|
|
|
19
19
|
import MapLegendPanelFactory from './map-legend-panel';
|
|
20
20
|
import MapDrawPanelFactory from './map-draw-panel';
|
|
21
21
|
import LocalePanelFactory from './locale-panel';
|
|
22
|
+
import ThemeToggleButtonFactory from './theme-toggle-button';
|
|
22
23
|
import MapNavigationControlFactory from './map-navigation-control';
|
|
23
24
|
import { getApplicationConfig } from '@kepler.gl/utils';
|
|
24
25
|
import AnnotationControlFactory from './annotations/annotation-control';
|
|
@@ -31,9 +32,9 @@ var LegendLogo = /*#__PURE__*/React.createElement(KeplerGlLogo, {
|
|
|
31
32
|
version: false,
|
|
32
33
|
appName: "kepler.gl"
|
|
33
34
|
});
|
|
34
|
-
MapControlFactory.deps = [SplitMapButtonFactory, Toggle3dButtonFactory, MapLegendPanelFactory, MapDrawPanelFactory, LocalePanelFactory, AnnotationControlFactory, MapNavigationControlFactory];
|
|
35
|
-
function MapControlFactory(SplitMapButton, Toggle3dButton, MapLegendPanel, MapDrawPanel, LocalePanel, AnnotationControl, MapNavigationControl) {
|
|
36
|
-
var DEFAULT_ACTIONS = [SplitMapButton, Toggle3dButton, MapDrawPanel, AnnotationControl, LocalePanel, MapLegendPanel];
|
|
35
|
+
MapControlFactory.deps = [SplitMapButtonFactory, Toggle3dButtonFactory, MapLegendPanelFactory, MapDrawPanelFactory, LocalePanelFactory, ThemeToggleButtonFactory, AnnotationControlFactory, MapNavigationControlFactory];
|
|
36
|
+
function MapControlFactory(SplitMapButton, Toggle3dButton, MapLegendPanel, MapDrawPanel, LocalePanel, ThemeToggleButton, AnnotationControl, MapNavigationControl) {
|
|
37
|
+
var DEFAULT_ACTIONS = [SplitMapButton, Toggle3dButton, MapDrawPanel, AnnotationControl, LocalePanel, ThemeToggleButton, MapLegendPanel];
|
|
37
38
|
var MapControl = function MapControl(_ref) {
|
|
38
39
|
var _ref$actionComponents = _ref.actionComponents,
|
|
39
40
|
actionComponents = _ref$actionComponents === void 0 ? DEFAULT_ACTIONS : _ref$actionComponents,
|
|
@@ -47,14 +48,19 @@ function MapControlFactory(SplitMapButton, Toggle3dButton, MapLegendPanel, MapDr
|
|
|
47
48
|
logoComponent = _ref$logoComponent === void 0 ? LegendLogo : _ref$logoComponent,
|
|
48
49
|
mapState = _ref.mapState,
|
|
49
50
|
mapStateActions = _ref.mapStateActions,
|
|
51
|
+
themeName = _ref.themeName,
|
|
52
|
+
onSetTheme = _ref.onSetTheme,
|
|
50
53
|
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
51
|
-
var actionComponentProps = _objectSpread({
|
|
54
|
+
var actionComponentProps = _objectSpread(_objectSpread({
|
|
52
55
|
isSplit: isSplit,
|
|
53
56
|
mapIndex: mapIndex,
|
|
54
57
|
logoComponent: logoComponent,
|
|
55
58
|
mapState: mapState,
|
|
56
59
|
onSetMapSplitMode: getApplicationConfig().enableSwipeMode ? mapStateActions === null || mapStateActions === void 0 ? void 0 : mapStateActions.setMapSplitMode : undefined
|
|
57
|
-
}, restProps)
|
|
60
|
+
}, restProps), {}, {
|
|
61
|
+
themeName: themeName,
|
|
62
|
+
onSetTheme: onSetTheme
|
|
63
|
+
});
|
|
58
64
|
return /*#__PURE__*/React.createElement(StyledMapControl, {
|
|
59
65
|
className: "map-control",
|
|
60
66
|
$top: top
|
|
@@ -63,7 +69,7 @@ function MapControlFactory(SplitMapButton, Toggle3dButton, MapLegendPanel, MapDr
|
|
|
63
69
|
key: index,
|
|
64
70
|
className: "map-control-action"
|
|
65
71
|
}, actionComponentProps));
|
|
66
|
-
}), mapState && mapStateActions ? /*#__PURE__*/React.createElement(MapNavigationControl, {
|
|
72
|
+
}), mapState && mapStateActions && !restProps.isExport ? /*#__PURE__*/React.createElement(MapNavigationControl, {
|
|
67
73
|
mapState: mapState,
|
|
68
74
|
mapIndex: mapIndex,
|
|
69
75
|
mapStateActions: mapStateActions
|
|
@@ -74,4 +80,4 @@ function MapControlFactory(SplitMapButton, Toggle3dButton, MapLegendPanel, MapDr
|
|
|
74
80
|
return MapControl;
|
|
75
81
|
}
|
|
76
82
|
export default MapControlFactory;
|
|
77
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInN0eWxlZCIsIktlcGxlckdsTG9nbyIsIlNwbGl0TWFwQnV0dG9uRmFjdG9yeSIsIlRvZ2dsZTNkQnV0dG9uRmFjdG9yeSIsIk1hcExlZ2VuZFBhbmVsRmFjdG9yeSIsIk1hcERyYXdQYW5lbEZhY3RvcnkiLCJMb2NhbGVQYW5lbEZhY3RvcnkiLCJNYXBOYXZpZ2F0aW9uQ29udHJvbEZhY3RvcnkiLCJnZXRBcHBsaWNhdGlvbkNvbmZpZyIsIkFubm90YXRpb25Db250cm9sRmFjdG9yeSIsIlN0eWxlZE1hcENvbnRyb2wiLCJkaXYiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIiwicHJvcHMiLCJ0aGVtZSIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiJHRvcCIsIkxlZ2VuZExvZ28iLCJjcmVhdGVFbGVtZW50IiwidmVyc2lvbiIsImFwcE5hbWUiLCJNYXBDb250cm9sRmFjdG9yeSIsImRlcHMiLCJTcGxpdE1hcEJ1dHRvbiIsIlRvZ2dsZTNkQnV0dG9uIiwiTWFwTGVnZW5kUGFuZWwiLCJNYXBEcmF3UGFuZWwiLCJMb2NhbGVQYW5lbCIsIkFubm90YXRpb25Db250cm9sIiwiTWFwTmF2aWdhdGlvbkNvbnRyb2wiLCJERUZBVUxUX0FDVElPTlMiLCJNYXBDb250cm9sIiwiX3JlZiIsIl9yZWYkYWN0aW9uQ29tcG9uZW50cyIsImFjdGlvbkNvbXBvbmVudHMiLCJfcmVmJGlzU3BsaXQiLCJpc1NwbGl0IiwiX3JlZiR0b3AiLCJ0b3AiLCJfcmVmJG1hcEluZGV4IiwibWFwSW5kZXgiLCJfcmVmJGxvZ29Db21wb25lbnQiLCJsb2dvQ29tcG9uZW50IiwibWFwU3RhdGUiLCJtYXBTdGF0ZUFjdGlvbnMiLCJyZXN0UHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJhY3Rpb25Db21wb25lbnRQcm9wcyIsIl9vYmplY3RTcHJlYWQiLCJvblNldE1hcFNwbGl0TW9kZSIsImVuYWJsZVN3aXBlTW9kZSIsInNldE1hcFNwbGl0TW9kZSIsInVuZGVmaW5lZCIsImNsYXNzTmFtZSIsIm1hcCIsIkFjdGlvbkNvbXBvbmVudCIsImluZGV4IiwiX2V4dGVuZHMiLCJrZXkiLCJkZWZhdWx0QWN0aW9uQ29tcG9uZW50cyIsImRpc3BsYXlOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21hcC9tYXAtY29udHJvbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEtlcGxlckdsTG9nbyBmcm9tICcuLi9jb21tb24vbG9nbyc7XG5cbi8vIGZhY3Rvcmllc1xuaW1wb3J0IFNwbGl0TWFwQnV0dG9uRmFjdG9yeSBmcm9tICcuL3NwbGl0LW1hcC1idXR0b24nO1xuaW1wb3J0IFRvZ2dsZTNkQnV0dG9uRmFjdG9yeSBmcm9tICcuL3RvZ2dsZS0zZC1idXR0b24nO1xuaW1wb3J0IE1hcExlZ2VuZFBhbmVsRmFjdG9yeSBmcm9tICcuL21hcC1sZWdlbmQtcGFuZWwnO1xuaW1wb3J0IE1hcERyYXdQYW5lbEZhY3RvcnkgZnJvbSAnLi9tYXAtZHJhdy1wYW5lbCc7XG5pbXBvcnQgTG9jYWxlUGFuZWxGYWN0b3J5IGZyb20gJy4vbG9jYWxlLXBhbmVsJztcbmltcG9ydCBNYXBOYXZpZ2F0aW9uQ29udHJvbEZhY3RvcnkgZnJvbSAnLi9tYXAtbmF2aWdhdGlvbi1jb250cm9sJztcbmltcG9ydCB7TGF5ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7RWRpdG9yLCBMYXllclZpc0NvbmZpZywgTGF5ZXJPcmRlciwgTWFwQ29udHJvbHMsIE1hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtNYXBTdGF0ZUFjdGlvbnMsIFVJU3RhdGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtnZXRBcHBsaWNhdGlvbkNvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge01hcFZpZXdNb2RlfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5cbmltcG9ydCBBbm5vdGF0aW9uQ29udHJvbEZhY3RvcnkgZnJvbSAnLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLWNvbnRyb2wnO1xuXG5pbnRlcmZhY2UgU3R5bGVkTWFwQ29udHJvbFByb3BzIHtcbiAgJHRvcD86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkTWFwQ29udHJvbCA9IHN0eWxlZC5kaXY8U3R5bGVkTWFwQ29udHJvbFByb3BzPmBcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC5wYWRkaW5nfXB4O1xuICB6LWluZGV4OiAxMDtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy4kdG9wIHx8IDB9cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcm93LWdhcDogOHB4O1xuICBqdXN0aWZ5LWl0ZW1zOiBlbmQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBwcmV2ZW50IHBhZGRpbmcgZnJvbSBibG9ja2luZyBpbnB1dCAqL1xuICAmID4gKiB7XG4gICAgLyogYWxsIGNoaWxkcmVuIHNob3VsZCBhbGxvdyBpbnB1dCAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbmA7XG5cbmNvbnN0IExlZ2VuZExvZ28gPSA8S2VwbGVyR2xMb2dvIHZlcnNpb249e2ZhbHNlfSBhcHBOYW1lPVwia2VwbGVyLmdsXCIgLz47XG5cbmV4cG9ydCB0eXBlIE1hcENvbnRyb2xQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBkcmFnUm90YXRlOiBib29sZWFuO1xuICBpc1NwbGl0OiBib29sZWFuO1xuICBwcmltYXJ5OiBib29sZWFuO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyT3JkZXI/OiBMYXllck9yZGVyO1xuICBsYXllcnNUb1JlbmRlcjoge1trZXk6IHN0cmluZ106IGJvb2xlYW59O1xuICBtYXBJbmRleDogbnVtYmVyO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIG9uVG9nZ2xlUGVyc3BlY3RpdmU6ICgpID0+IHZvaWQ7XG4gIG9uU2V0TWFwVmlld01vZGU/OiAobW9kZTogTWFwVmlld01vZGUpID0+IHZvaWQ7XG4gIG1hcFZpZXdNb2RlPzogTWFwVmlld01vZGU7XG4gIG9uVG9nZ2xlU3BsaXRNYXA6IHR5cGVvZiBNYXBTdGF0ZUFjdGlvbnMudG9nZ2xlU3BsaXRNYXA7XG4gIG9uU2V0TWFwU3BsaXRNb2RlPzogdHlwZW9mIE1hcFN0YXRlQWN0aW9ucy5zZXRNYXBTcGxpdE1vZGU7XG4gIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydDogKHtcbiAgICBpc1ZpZXdwb3J0U3luY2VkLFxuICAgIGlzWm9vbUxvY2tlZFxuICB9OiB7XG4gICAgaXNWaWV3cG9ydFN5bmNlZDogYm9vbGVhbjtcbiAgICBpc1pvb21Mb2NrZWQ6IGJvb2xlYW47XG4gIH0pID0+IHZvaWQ7XG4gIG9uTWFwVG9nZ2xlTGF5ZXI6IChsYXllcklkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlTWFwQ29udHJvbDogKGNvbnRyb2w6IHN0cmluZykgPT4gdm9pZDtcbiAgb25TZXRFZGl0b3JNb2RlOiAobW9kZTogc3RyaW5nKSA9PiB2b2lkO1xuICBvblRvZ2dsZUVkaXRvclZpc2liaWxpdHk6ICgpID0+IHZvaWQ7XG4gIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2U6IChvbGRMYXllcjogTGF5ZXIsIG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHZvaWQ7XG4gIG9uVG9nZ2xlTGF5ZXJWaXNpYmlsaXR5PzogKGxheWVyOiBMYXllcikgPT4gdm9pZDtcbiAgdG9wOiBudW1iZXI7XG4gIG9uU2V0TG9jYWxlOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnMuc2V0TG9jYWxlO1xuICBhdmFpbGFibGVMb2NhbGVzOiBzdHJpbmdbXTtcbiAgbG9jYWxlOiBzdHJpbmc7XG4gIGxvZ29Db21wb25lbnQ/OiBSZWFjdC5GQyB8IFJlYWN0LlJlYWN0Tm9kZTtcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xuXG4gIHNldE1hcENvbnRyb2xTZXR0aW5nczogdHlwZW9mIFVJU3RhdGVBY3Rpb25zLnNldE1hcENvbnRyb2xTZXR0aW5ncztcbiAgYWN0aXZlU2lkZVBhbmVsOiBzdHJpbmcgfCBudWxsO1xuXG4gIC8vIG9wdGlvbmFsXG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIG1hcFN0YXRlQWN0aW9ucz86IHR5cGVvZiBNYXBTdGF0ZUFjdGlvbnM7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgc2NhbGU/OiBudW1iZXI7XG4gIG1hcExheWVycz86IHtba2V5OiBzdHJpbmddOiBib29sZWFufTtcbiAgZWRpdG9yOiBFZGl0b3I7XG4gIGFjdGlvbkNvbXBvbmVudHM/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXTtcbiAgbWFwSGVpZ2h0PzogbnVtYmVyO1xuICBzcGxpdE1hcHM/OiB7bGF5ZXJzOiB7W2tleTogc3RyaW5nXTogYm9vbGVhbn19W107XG4gIG9uVG9nZ2xlTGF5ZXJGb3JNYXA/OiAobWFwSW5kZXg6IG51bWJlciwgbGF5ZXJJZDogc3RyaW5nKSA9PiB2b2lkO1xufTtcblxuTWFwQ29udHJvbEZhY3RvcnkuZGVwcyA9IFtcbiAgU3BsaXRNYXBCdXR0b25GYWN0b3J5LFxuICBUb2dnbGUzZEJ1dHRvbkZhY3RvcnksXG4gIE1hcExlZ2VuZFBhbmVsRmFjdG9yeSxcbiAgTWFwRHJhd1BhbmVsRmFjdG9yeSxcbiAgTG9jYWxlUGFuZWxGYWN0b3J5LFxuICBBbm5vdGF0aW9uQ29udHJvbEZhY3RvcnksXG4gIE1hcE5hdmlnYXRpb25Db250cm9sRmFjdG9yeVxuXTtcblxuZnVuY3Rpb24gTWFwQ29udHJvbEZhY3RvcnkoXG4gIFNwbGl0TWFwQnV0dG9uOiBSZXR1cm5UeXBlPHR5cGVvZiBTcGxpdE1hcEJ1dHRvbkZhY3Rvcnk+LFxuICBUb2dnbGUzZEJ1dHRvbjogUmV0dXJuVHlwZTx0eXBlb2YgVG9nZ2xlM2RCdXR0b25GYWN0b3J5PixcbiAgTWFwTGVnZW5kUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIE1hcExlZ2VuZFBhbmVsRmFjdG9yeT4sXG4gIE1hcERyYXdQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwRHJhd1BhbmVsRmFjdG9yeT4sXG4gIExvY2FsZVBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBMb2NhbGVQYW5lbEZhY3Rvcnk+LFxuICBBbm5vdGF0aW9uQ29udHJvbDogUmV0dXJuVHlwZTx0eXBlb2YgQW5ub3RhdGlvbkNvbnRyb2xGYWN0b3J5PixcbiAgTWFwTmF2aWdhdGlvbkNvbnRyb2w6IFJldHVyblR5cGU8dHlwZW9mIE1hcE5hdmlnYXRpb25Db250cm9sRmFjdG9yeT5cbikge1xuICBjb25zdCBERUZBVUxUX0FDVElPTlMgPSBbXG4gICAgU3BsaXRNYXBCdXR0b24sXG4gICAgVG9nZ2xlM2RCdXR0b24sXG4gICAgTWFwRHJhd1BhbmVsLFxuICAgIEFubm90YXRpb25Db250cm9sLFxuICAgIExvY2FsZVBhbmVsLFxuICAgIE1hcExlZ2VuZFBhbmVsXG4gIF07XG5cbiAgY29uc3QgTWFwQ29udHJvbDogUmVhY3QuRkM8TWFwQ29udHJvbFByb3BzPiAmIHtcbiAgICBkZWZhdWx0QWN0aW9uQ29tcG9uZW50czogTWFwQ29udHJvbFByb3BzWydhY3Rpb25Db21wb25lbnRzJ107XG4gIH0gPSAoe1xuICAgIGFjdGlvbkNvbXBvbmVudHMgPSBERUZBVUxUX0FDVElPTlMsXG4gICAgaXNTcGxpdCA9IGZhbHNlLFxuICAgIHRvcCA9IDAsXG4gICAgbWFwSW5kZXggPSAwLFxuICAgIGxvZ29Db21wb25lbnQgPSBMZWdlbmRMb2dvLFxuICAgIG1hcFN0YXRlLFxuICAgIG1hcFN0YXRlQWN0aW9ucyxcbiAgICAuLi5yZXN0UHJvcHNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGFjdGlvbkNvbXBvbmVudFByb3BzID0ge1xuICAgICAgaXNTcGxpdCxcbiAgICAgIG1hcEluZGV4LFxuICAgICAgbG9nb0NvbXBvbmVudCxcbiAgICAgIG1hcFN0YXRlLFxuICAgICAgb25TZXRNYXBTcGxpdE1vZGU6IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlU3dpcGVNb2RlXG4gICAgICAgID8gbWFwU3RhdGVBY3Rpb25zPy5zZXRNYXBTcGxpdE1vZGVcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAuLi5yZXN0UHJvcHNcbiAgICB9O1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTWFwQ29udHJvbCBjbGFzc05hbWU9XCJtYXAtY29udHJvbFwiICR0b3A9e3RvcH0+XG4gICAgICAgIHthY3Rpb25Db21wb25lbnRzLm1hcCgoQWN0aW9uQ29tcG9uZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgIDxBY3Rpb25Db21wb25lbnQga2V5PXtpbmRleH0gY2xhc3NOYW1lPVwibWFwLWNvbnRyb2wtYWN0aW9uXCIgey4uLmFjdGlvbkNvbXBvbmVudFByb3BzfSAvPlxuICAgICAgICApKX1cbiAgICAgICAge21hcFN0YXRlICYmIG1hcFN0YXRlQWN0aW9ucyA/IChcbiAgICAgICAgICA8TWFwTmF2aWdhdGlvbkNvbnRyb2xcbiAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgIG1hcEluZGV4PXttYXBJbmRleH1cbiAgICAgICAgICAgIG1hcFN0YXRlQWN0aW9ucz17bWFwU3RhdGVBY3Rpb25zfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9TdHlsZWRNYXBDb250cm9sPlxuICAgICk7XG4gIH07XG5cbiAgTWFwQ29udHJvbC5kZWZhdWx0QWN0aW9uQ29tcG9uZW50cyA9IERFRkFVTFRfQUNUSU9OUztcblxuICBNYXBDb250cm9sLmRpc3BsYXlOYW1lID0gJ01hcENvbnRyb2wnO1xuXG4gIHJldHVybiBNYXBDb250cm9sO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBDb250cm9sRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBOztBQUVBLE9BQU9BLEtBQUssTUFBTSxPQUFPO0FBQ3pCLE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsT0FBT0MsWUFBWSxNQUFNLGdCQUFnQjs7QUFFekM7QUFDQSxPQUFPQyxxQkFBcUIsTUFBTSxvQkFBb0I7QUFDdEQsT0FBT0MscUJBQXFCLE1BQU0sb0JBQW9CO0FBQ3RELE9BQU9DLHFCQUFxQixNQUFNLG9CQUFvQjtBQUN0RCxPQUFPQyxtQkFBbUIsTUFBTSxrQkFBa0I7QUFDbEQsT0FBT0Msa0JBQWtCLE1BQU0sZ0JBQWdCO0FBQy9DLE9BQU9DLDJCQUEyQixNQUFNLDBCQUEwQjtBQUtsRSxTQUFRQyxvQkFBb0IsUUFBTyxrQkFBa0I7QUFHckQsT0FBT0Msd0JBQXdCLE1BQU0sa0NBQWtDO0FBTXZFLElBQU1DLGdCQUFnQixHQUFHVixNQUFNLENBQUNXLEdBQUcsQ0FBQUMsZUFBQSxLQUFBQSxlQUFBLEdBQUFDLHNCQUFBLDRUQUV0QixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFVBQVUsQ0FBQ0MsT0FBTztBQUFBLEdBRXBDLFVBQUFILEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNJLElBQUksSUFBSSxDQUFDO0FBQUEsRUFVdkM7QUFFRCxJQUFNQyxVQUFVLGdCQUFHcEIsS0FBQSxDQUFBcUIsYUFBQSxDQUFDbkIsWUFBWTtFQUFDb0IsT0FBTyxFQUFFLEtBQU07RUFBQ0MsT0FBTyxFQUFDO0FBQVcsQ0FBRSxDQUFDO0FBcUR2RUMsaUJBQWlCLENBQUNDLElBQUksR0FBRyxDQUN2QnRCLHFCQUFxQixFQUNyQkMs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
|
|
83
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInN0eWxlZCIsIktlcGxlckdsTG9nbyIsIlNwbGl0TWFwQnV0dG9uRmFjdG9yeSIsIlRvZ2dsZTNkQnV0dG9uRmFjdG9yeSIsIk1hcExlZ2VuZFBhbmVsRmFjdG9yeSIsIk1hcERyYXdQYW5lbEZhY3RvcnkiLCJMb2NhbGVQYW5lbEZhY3RvcnkiLCJUaGVtZVRvZ2dsZUJ1dHRvbkZhY3RvcnkiLCJNYXBOYXZpZ2F0aW9uQ29udHJvbEZhY3RvcnkiLCJnZXRBcHBsaWNhdGlvbkNvbmZpZyIsIkFubm90YXRpb25Db250cm9sRmFjdG9yeSIsIlN0eWxlZE1hcENvbnRyb2wiLCJkaXYiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsIiwicHJvcHMiLCJ0aGVtZSIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiJHRvcCIsIkxlZ2VuZExvZ28iLCJjcmVhdGVFbGVtZW50IiwidmVyc2lvbiIsImFwcE5hbWUiLCJNYXBDb250cm9sRmFjdG9yeSIsImRlcHMiLCJTcGxpdE1hcEJ1dHRvbiIsIlRvZ2dsZTNkQnV0dG9uIiwiTWFwTGVnZW5kUGFuZWwiLCJNYXBEcmF3UGFuZWwiLCJMb2NhbGVQYW5lbCIsIlRoZW1lVG9nZ2xlQnV0dG9uIiwiQW5ub3RhdGlvbkNvbnRyb2wiLCJNYXBOYXZpZ2F0aW9uQ29udHJvbCIsIkRFRkFVTFRfQUNUSU9OUyIsIk1hcENvbnRyb2wiLCJfcmVmIiwiX3JlZiRhY3Rpb25Db21wb25lbnRzIiwiYWN0aW9uQ29tcG9uZW50cyIsIl9yZWYkaXNTcGxpdCIsImlzU3BsaXQiLCJfcmVmJHRvcCIsInRvcCIsIl9yZWYkbWFwSW5kZXgiLCJtYXBJbmRleCIsIl9yZWYkbG9nb0NvbXBvbmVudCIsImxvZ29Db21wb25lbnQiLCJtYXBTdGF0ZSIsIm1hcFN0YXRlQWN0aW9ucyIsInRoZW1lTmFtZSIsIm9uU2V0VGhlbWUiLCJyZXN0UHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJhY3Rpb25Db21wb25lbnRQcm9wcyIsIl9vYmplY3RTcHJlYWQiLCJvblNldE1hcFNwbGl0TW9kZSIsImVuYWJsZVN3aXBlTW9kZSIsInNldE1hcFNwbGl0TW9kZSIsInVuZGVmaW5lZCIsImNsYXNzTmFtZSIsIm1hcCIsIkFjdGlvbkNvbXBvbmVudCIsImluZGV4IiwiX2V4dGVuZHMiLCJrZXkiLCJpc0V4cG9ydCIsImRlZmF1bHRBY3Rpb25Db21wb25lbnRzIiwiZGlzcGxheU5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFwL21hcC1jb250cm9sLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgS2VwbGVyR2xMb2dvIGZyb20gJy4uL2NvbW1vbi9sb2dvJztcblxuLy8gZmFjdG9yaWVzXG5pbXBvcnQgU3BsaXRNYXBCdXR0b25GYWN0b3J5IGZyb20gJy4vc3BsaXQtbWFwLWJ1dHRvbic7XG5pbXBvcnQgVG9nZ2xlM2RCdXR0b25GYWN0b3J5IGZyb20gJy4vdG9nZ2xlLTNkLWJ1dHRvbic7XG5pbXBvcnQgTWFwTGVnZW5kUGFuZWxGYWN0b3J5IGZyb20gJy4vbWFwLWxlZ2VuZC1wYW5lbCc7XG5pbXBvcnQgTWFwRHJhd1BhbmVsRmFjdG9yeSBmcm9tICcuL21hcC1kcmF3LXBhbmVsJztcbmltcG9ydCBMb2NhbGVQYW5lbEZhY3RvcnkgZnJvbSAnLi9sb2NhbGUtcGFuZWwnO1xuaW1wb3J0IFRoZW1lVG9nZ2xlQnV0dG9uRmFjdG9yeSBmcm9tICcuL3RoZW1lLXRvZ2dsZS1idXR0b24nO1xuaW1wb3J0IE1hcE5hdmlnYXRpb25Db250cm9sRmFjdG9yeSBmcm9tICcuL21hcC1uYXZpZ2F0aW9uLWNvbnRyb2wnO1xuaW1wb3J0IHtMYXllcn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHtFZGl0b3IsIExheWVyVmlzQ29uZmlnLCBMYXllck9yZGVyLCBNYXBDb250cm9scywgTWFwU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5pbXBvcnQge01hcFN0YXRlQWN0aW9ucywgVUlTdGF0ZUFjdGlvbnN9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge2dldEFwcGxpY2F0aW9uQ29uZmlnfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7TWFwVmlld01vZGV9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuaW1wb3J0IEFubm90YXRpb25Db250cm9sRmFjdG9yeSBmcm9tICcuL2Fubm90YXRpb25zL2Fubm90YXRpb24tY29udHJvbCc7XG5cbmludGVyZmFjZSBTdHlsZWRNYXBDb250cm9sUHJvcHMge1xuICAkdG9wPzogbnVtYmVyO1xufVxuXG5jb25zdCBTdHlsZWRNYXBDb250cm9sID0gc3R5bGVkLmRpdjxTdHlsZWRNYXBDb250cm9sUHJvcHM+YFxuICByaWdodDogMDtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHg7XG4gIHotaW5kZXg6IDEwO1xuICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IHByb3BzLiR0b3AgfHwgMH1weDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBncmlkO1xuICByb3ctZ2FwOiA4cHg7XG4gIGp1c3RpZnktaXRlbXM6IGVuZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIHByZXZlbnQgcGFkZGluZyBmcm9tIGJsb2NraW5nIGlucHV0ICovXG4gICYgPiAqIHtcbiAgICAvKiBhbGwgY2hpbGRyZW4gc2hvdWxkIGFsbG93IGlucHV0ICovXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxuYDtcblxuY29uc3QgTGVnZW5kTG9nbyA9IDxLZXBsZXJHbExvZ28gdmVyc2lvbj17ZmFsc2V9IGFwcE5hbWU9XCJrZXBsZXIuZ2xcIiAvPjtcblxuZXhwb3J0IHR5cGUgTWFwQ29udHJvbFByb3BzID0ge1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIGRyYWdSb3RhdGU6IGJvb2xlYW47XG4gIGlzU3BsaXQ6IGJvb2xlYW47XG4gIHByaW1hcnk6IGJvb2xlYW47XG4gIGxheWVyczogTGF5ZXJbXTtcbiAgbGF5ZXJPcmRlcj86IExheWVyT3JkZXI7XG4gIGxheWVyc1RvUmVuZGVyOiB7W2tleTogc3RyaW5nXTogYm9vbGVhbn07XG4gIG1hcEluZGV4OiBudW1iZXI7XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgb25Ub2dnbGVQZXJzcGVjdGl2ZTogKCkgPT4gdm9pZDtcbiAgb25TZXRNYXBWaWV3TW9kZT86IChtb2RlOiBNYXBWaWV3TW9kZSkgPT4gdm9pZDtcbiAgbWFwVmlld01vZGU/OiBNYXBWaWV3TW9kZTtcbiAgb25Ub2dnbGVTcGxpdE1hcDogdHlwZW9mIE1hcFN0YXRlQWN0aW9ucy50b2dnbGVTcGxpdE1hcDtcbiAgb25TZXRNYXBTcGxpdE1vZGU/OiB0eXBlb2YgTWFwU3RhdGVBY3Rpb25zLnNldE1hcFNwbGl0TW9kZTtcbiAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0OiAoe1xuICAgIGlzVmlld3BvcnRTeW5jZWQsXG4gICAgaXNab29tTG9ja2VkXG4gIH06IHtcbiAgICBpc1ZpZXdwb3J0U3luY2VkOiBib29sZWFuO1xuICAgIGlzWm9vbUxvY2tlZDogYm9vbGVhbjtcbiAgfSkgPT4gdm9pZDtcbiAgb25NYXBUb2dnbGVMYXllcjogKGxheWVySWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgb25Ub2dnbGVNYXBDb250cm9sOiAoY29udHJvbDogc3RyaW5nKSA9PiB2b2lkO1xuICBvblNldEVkaXRvck1vZGU6IChtb2RlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlRWRpdG9yVmlzaWJpbGl0eTogKCkgPT4gdm9pZDtcbiAgb25Db252ZXJ0RWRpdG9yRmVhdHVyZXNUb0xheWVyPzogKCkgPT4gdm9pZDtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZTogKG9sZExheWVyOiBMYXllciwgbmV3VmlzQ29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4gdm9pZDtcbiAgb25Ub2dnbGVMYXllclZpc2liaWxpdHk/OiAobGF5ZXI6IExheWVyKSA9PiB2b2lkO1xuICB0b3A6IG51bWJlcjtcbiAgb25TZXRMb2NhbGU6IHR5cGVvZiBVSVN0YXRlQWN0aW9ucy5zZXRMb2NhbGU7XG4gIG9uU2V0VGhlbWU6IHR5cGVvZiBVSVN0YXRlQWN0aW9ucy5zZXRUaGVtZTtcbiAgYXZhaWxhYmxlTG9jYWxlczogc3RyaW5nW107XG4gIGxvY2FsZTogc3RyaW5nO1xuICB0aGVtZU5hbWU/OiBzdHJpbmc7XG4gIGxvZ29Db21wb25lbnQ/OiBSZWFjdC5GQyB8IFJlYWN0LlJlYWN0Tm9kZTtcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xuXG4gIHNldE1hcENvbnRyb2xTZXR0aW5nczogdHlwZW9mIFVJU3RhdGVBY3Rpb25zLnNldE1hcENvbnRyb2xTZXR0aW5ncztcbiAgYWN0aXZlU2lkZVBhbmVsOiBzdHJpbmcgfCBudWxsO1xuXG4gIC8vIG9wdGlvbmFsXG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIG1hcFN0YXRlQWN0aW9ucz86IHR5cGVvZiBNYXBTdGF0ZUFjdGlvbnM7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgc2NhbGU/OiBudW1iZXI7XG4gIG1hcExheWVycz86IHtba2V5OiBzdHJpbmddOiBib29sZWFufTtcbiAgZWRpdG9yOiBFZGl0b3I7XG4gIGFjdGlvbkNvbXBvbmVudHM/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXTtcbiAgbWFwSGVpZ2h0PzogbnVtYmVyO1xuICBzcGxpdE1hcHM/OiB7bGF5ZXJzOiB7W2tleTogc3RyaW5nXTogYm9vbGVhbn19W107XG4gIG9uVG9nZ2xlTGF5ZXJGb3JNYXA/OiAobWFwSW5kZXg6IG51bWJlciwgbGF5ZXJJZDogc3RyaW5nKSA9PiB2b2lkO1xufTtcblxuTWFwQ29udHJvbEZhY3RvcnkuZGVwcyA9IFtcbiAgU3BsaXRNYXBCdXR0b25GYWN0b3J5LFxuICBUb2dnbGUzZEJ1dHRvbkZhY3RvcnksXG4gIE1hcExlZ2VuZFBhbmVsRmFjdG9yeSxcbiAgTWFwRHJhd1BhbmVsRmFjdG9yeSxcbiAgTG9jYWxlUGFuZWxGYWN0b3J5LFxuICBUaGVtZVRvZ2dsZUJ1dHRvbkZhY3RvcnksXG4gIEFubm90YXRpb25Db250cm9sRmFjdG9yeSxcbiAgTWFwTmF2aWdhdGlvbkNvbnRyb2xGYWN0b3J5XG5dO1xuXG5mdW5jdGlvbiBNYXBDb250cm9sRmFjdG9yeShcbiAgU3BsaXRNYXBCdXR0b246IFJldHVyblR5cGU8dHlwZW9mIFNwbGl0TWFwQnV0dG9uRmFjdG9yeT4sXG4gIFRvZ2dsZTNkQnV0dG9uOiBSZXR1cm5UeXBlPHR5cGVvZiBUb2dnbGUzZEJ1dHRvbkZhY3Rvcnk+LFxuICBNYXBMZWdlbmRQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwTGVnZW5kUGFuZWxGYWN0b3J5PixcbiAgTWFwRHJhd1BhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBEcmF3UGFuZWxGYWN0b3J5PixcbiAgTG9jYWxlUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIExvY2FsZVBhbmVsRmFjdG9yeT4sXG4gIFRoZW1lVG9nZ2xlQnV0dG9uOiBSZXR1cm5UeXBlPHR5cGVvZiBUaGVtZVRvZ2dsZUJ1dHRvbkZhY3Rvcnk+LFxuICBBbm5vdGF0aW9uQ29udHJvbDogUmV0dXJuVHlwZTx0eXBlb2YgQW5ub3RhdGlvbkNvbnRyb2xGYWN0b3J5PixcbiAgTWFwTmF2aWdhdGlvbkNvbnRyb2w6IFJldHVyblR5cGU8dHlwZW9mIE1hcE5hdmlnYXRpb25Db250cm9sRmFjdG9yeT5cbikge1xuICBjb25zdCBERUZBVUxUX0FDVElPTlMgPSBbXG4gICAgU3BsaXRNYXBCdXR0b24sXG4gICAgVG9nZ2xlM2RCdXR0b24sXG4gICAgTWFwRHJhd1BhbmVsLFxuICAgIEFubm90YXRpb25Db250cm9sLFxuICAgIExvY2FsZVBhbmVsLFxuICAgIFRoZW1lVG9nZ2xlQnV0dG9uLFxuICAgIE1hcExlZ2VuZFBhbmVsXG4gIF07XG5cbiAgY29uc3QgTWFwQ29udHJvbDogUmVhY3QuRkM8TWFwQ29udHJvbFByb3BzPiAmIHtcbiAgICBkZWZhdWx0QWN0aW9uQ29tcG9uZW50czogTWFwQ29udHJvbFByb3BzWydhY3Rpb25Db21wb25lbnRzJ107XG4gIH0gPSAoe1xuICAgIGFjdGlvbkNvbXBvbmVudHMgPSBERUZBVUxUX0FDVElPTlMsXG4gICAgaXNTcGxpdCA9IGZhbHNlLFxuICAgIHRvcCA9IDAsXG4gICAgbWFwSW5kZXggPSAwLFxuICAgIGxvZ29Db21wb25lbnQgPSBMZWdlbmRMb2dvLFxuICAgIG1hcFN0YXRlLFxuICAgIG1hcFN0YXRlQWN0aW9ucyxcbiAgICB0aGVtZU5hbWUsXG4gICAgb25TZXRUaGVtZSxcbiAgICAuLi5yZXN0UHJvcHNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGFjdGlvbkNvbXBvbmVudFByb3BzID0ge1xuICAgICAgaXNTcGxpdCxcbiAgICAgIG1hcEluZGV4LFxuICAgICAgbG9nb0NvbXBvbmVudCxcbiAgICAgIG1hcFN0YXRlLFxuICAgICAgb25TZXRNYXBTcGxpdE1vZGU6IGdldEFwcGxpY2F0aW9uQ29uZmlnKCkuZW5hYmxlU3dpcGVNb2RlXG4gICAgICAgID8gbWFwU3RhdGVBY3Rpb25zPy5zZXRNYXBTcGxpdE1vZGVcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAuLi5yZXN0UHJvcHMsXG4gICAgICB0aGVtZU5hbWUsXG4gICAgICBvblNldFRoZW1lXG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZE1hcENvbnRyb2wgY2xhc3NOYW1lPVwibWFwLWNvbnRyb2xcIiAkdG9wPXt0b3B9PlxuICAgICAgICB7YWN0aW9uQ29tcG9uZW50cy5tYXAoKEFjdGlvbkNvbXBvbmVudCwgaW5kZXgpID0+IChcbiAgICAgICAgICA8QWN0aW9uQ29tcG9uZW50IGtleT17aW5kZXh9IGNsYXNzTmFtZT1cIm1hcC1jb250cm9sLWFjdGlvblwiIHsuLi5hY3Rpb25Db21wb25lbnRQcm9wc30gLz5cbiAgICAgICAgKSl9XG4gICAgICAgIHttYXBTdGF0ZSAmJiBtYXBTdGF0ZUFjdGlvbnMgJiYgIXJlc3RQcm9wcy5pc0V4cG9ydCA/IChcbiAgICAgICAgICA8TWFwTmF2aWdhdGlvbkNvbnRyb2xcbiAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgIG1hcEluZGV4PXttYXBJbmRleH1cbiAgICAgICAgICAgIG1hcFN0YXRlQWN0aW9ucz17bWFwU3RhdGVBY3Rpb25zfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9TdHlsZWRNYXBDb250cm9sPlxuICAgICk7XG4gIH07XG5cbiAgTWFwQ29udHJvbC5kZWZhdWx0QWN0aW9uQ29tcG9uZW50cyA9IERFRkFVTFRfQUNUSU9OUztcblxuICBNYXBDb250cm9sLmRpc3BsYXlOYW1lID0gJ01hcENvbnRyb2wnO1xuXG4gIHJldHVybiBNYXBDb250cm9sO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBDb250cm9sRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBOztBQUVBLE9BQU9BLEtBQUssTUFBTSxPQUFPO0FBQ3pCLE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsT0FBT0MsWUFBWSxNQUFNLGdCQUFnQjs7QUFFekM7QUFDQSxPQUFPQyxxQkFBcUIsTUFBTSxvQkFBb0I7QUFDdEQsT0FBT0MscUJBQXFCLE1BQU0sb0JBQW9CO0FBQ3RELE9BQU9DLHFCQUFxQixNQUFNLG9CQUFvQjtBQUN0RCxPQUFPQyxtQkFBbUIsTUFBTSxrQkFBa0I7QUFDbEQsT0FBT0Msa0JBQWtC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
|
|
@@ -1,14 +1,23 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
2
|
+
var _templateObject, _templateObject2;
|
|
1
3
|
// SPDX-License-Identifier: MIT
|
|
2
4
|
// Copyright contributors to the kepler.gl project
|
|
3
5
|
|
|
4
6
|
import React, { useCallback } from 'react';
|
|
5
7
|
import classnames from 'classnames';
|
|
8
|
+
import copy from 'copy-to-clipboard';
|
|
9
|
+
import styled from 'styled-components';
|
|
6
10
|
import { EDITOR_MODES } from '@kepler.gl/constants';
|
|
7
|
-
import {
|
|
11
|
+
import { editorFeaturesToFeatureCollection, getApplicationConfig } from '@kepler.gl/utils';
|
|
12
|
+
import { Copy, CursorClick, DrawPoint, DrawPolygon, EyeSeen, EyeUnseen, Layers, LineString, Polygon, Rectangle, Circle } from '../common/icons';
|
|
8
13
|
import { MapControlButton } from '../common/styled-components';
|
|
9
14
|
import ToolbarItem from '../common/toolbar-item';
|
|
10
15
|
import MapControlTooltipFactory from './map-control-tooltip';
|
|
11
16
|
import MapControlToolbarFactory from './map-control-toolbar';
|
|
17
|
+
var ToolbarSeparator = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: 1px;\n margin: 4px 12px;\n background-color: ", ";\n opacity: 0.2;\n"])), function (props) {
|
|
18
|
+
return props.theme.panelHeaderIcon;
|
|
19
|
+
});
|
|
20
|
+
var DrawControls = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n\n .convert-to-layer .toolbar-item__title {\n flex: 1;\n min-width: 0;\n white-space: pre;\n text-align: center;\n line-height: 1.25;\n overflow: hidden;\n font-size: 11px;\n }\n"])));
|
|
12
21
|
MapDrawPanelFactory.deps = [MapControlTooltipFactory, MapControlToolbarFactory];
|
|
13
22
|
function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
14
23
|
var defaultActionIcons = {
|
|
@@ -17,31 +26,43 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
17
26
|
polygon: DrawPolygon,
|
|
18
27
|
cursor: CursorClick,
|
|
19
28
|
innerPolygon: Polygon,
|
|
20
|
-
rectangle: Rectangle
|
|
29
|
+
rectangle: Rectangle,
|
|
30
|
+
circle: Circle,
|
|
31
|
+
point: DrawPoint,
|
|
32
|
+
line: LineString,
|
|
33
|
+
copy: Copy,
|
|
34
|
+
layers: Layers
|
|
21
35
|
};
|
|
22
36
|
var MapDrawPanel = /*#__PURE__*/React.memo(function (_ref) {
|
|
23
|
-
var _mapControls$mapDraw, _mapControls$mapDraw2;
|
|
37
|
+
var _mapControls$mapDraw, _editor$features, _mapControls$mapDraw2;
|
|
24
38
|
var editor = _ref.editor,
|
|
25
39
|
mapControls = _ref.mapControls,
|
|
26
40
|
onToggleMapControl = _ref.onToggleMapControl,
|
|
27
41
|
onSetEditorMode = _ref.onSetEditorMode,
|
|
42
|
+
onConvertEditorFeaturesToLayer = _ref.onConvertEditorFeaturesToLayer,
|
|
28
43
|
_ref$actionIcons = _ref.actionIcons,
|
|
29
44
|
actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons;
|
|
30
45
|
var isActive = mapControls === null || mapControls === void 0 || (_mapControls$mapDraw = mapControls.mapDraw) === null || _mapControls$mapDraw === void 0 ? void 0 : _mapControls$mapDraw.active;
|
|
46
|
+
var hasSketchFeatures = Boolean(editor === null || editor === void 0 || (_editor$features = editor.features) === null || _editor$features === void 0 ? void 0 : _editor$features.length);
|
|
47
|
+
var enableSketches = getApplicationConfig().enableDrawOnMapSketches;
|
|
31
48
|
var onToggleMenuPanel = useCallback(function () {
|
|
32
49
|
if (!isActive) {
|
|
33
50
|
onSetEditorMode(EDITOR_MODES.DRAW_RECTANGLE);
|
|
34
51
|
}
|
|
35
52
|
onToggleMapControl('mapDraw');
|
|
36
53
|
}, [isActive, onToggleMapControl, onSetEditorMode]);
|
|
54
|
+
var onCopyAllGeometry = useCallback(function () {
|
|
55
|
+
var _editor$features2;
|
|
56
|
+
if (!(editor !== null && editor !== void 0 && (_editor$features2 = editor.features) !== null && _editor$features2 !== void 0 && _editor$features2.length)) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
copy(JSON.stringify(editorFeaturesToFeatureCollection(editor.features)));
|
|
60
|
+
}, [editor === null || editor === void 0 ? void 0 : editor.features]);
|
|
37
61
|
if (!(mapControls !== null && mapControls !== void 0 && (_mapControls$mapDraw2 = mapControls.mapDraw) !== null && _mapControls$mapDraw2 !== void 0 && _mapControls$mapDraw2.show)) {
|
|
38
62
|
return null;
|
|
39
63
|
}
|
|
40
|
-
return /*#__PURE__*/React.createElement(
|
|
41
|
-
className: "map-draw-controls"
|
|
42
|
-
style: {
|
|
43
|
-
position: 'relative'
|
|
44
|
-
}
|
|
64
|
+
return /*#__PURE__*/React.createElement(DrawControls, {
|
|
65
|
+
className: "map-draw-controls"
|
|
45
66
|
}, isActive ? /*#__PURE__*/React.createElement(MapControlToolbar, {
|
|
46
67
|
$show: isActive
|
|
47
68
|
}, /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
@@ -52,7 +73,23 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
52
73
|
label: "toolbar.select",
|
|
53
74
|
icon: actionIcons.cursor,
|
|
54
75
|
active: editor.mode === EDITOR_MODES.EDIT
|
|
55
|
-
}), /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
76
|
+
}), enableSketches ? /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
77
|
+
className: "draw-point",
|
|
78
|
+
onClick: function onClick() {
|
|
79
|
+
return onSetEditorMode(EDITOR_MODES.DRAW_POINT);
|
|
80
|
+
},
|
|
81
|
+
label: "toolbar.point",
|
|
82
|
+
icon: actionIcons.point,
|
|
83
|
+
active: editor.mode === EDITOR_MODES.DRAW_POINT
|
|
84
|
+
}) : null, enableSketches ? /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
85
|
+
className: "draw-line",
|
|
86
|
+
onClick: function onClick() {
|
|
87
|
+
return onSetEditorMode(EDITOR_MODES.DRAW_LINESTRING);
|
|
88
|
+
},
|
|
89
|
+
label: "toolbar.line",
|
|
90
|
+
icon: actionIcons.line,
|
|
91
|
+
active: editor.mode === EDITOR_MODES.DRAW_LINESTRING
|
|
92
|
+
}) : null, /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
56
93
|
className: "draw-feature",
|
|
57
94
|
onClick: function onClick() {
|
|
58
95
|
return onSetEditorMode(EDITOR_MODES.DRAW_POLYGON);
|
|
@@ -68,7 +105,31 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
68
105
|
label: "toolbar.rectangle",
|
|
69
106
|
icon: actionIcons.rectangle,
|
|
70
107
|
active: editor.mode === EDITOR_MODES.DRAW_RECTANGLE
|
|
71
|
-
})
|
|
108
|
+
}), /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
109
|
+
className: "draw-circle",
|
|
110
|
+
onClick: function onClick() {
|
|
111
|
+
return onSetEditorMode(EDITOR_MODES.DRAW_CIRCLE);
|
|
112
|
+
},
|
|
113
|
+
label: "toolbar.circle",
|
|
114
|
+
icon: actionIcons.circle,
|
|
115
|
+
active: editor.mode === EDITOR_MODES.DRAW_CIRCLE
|
|
116
|
+
}), enableSketches ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ToolbarSeparator, null), /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
117
|
+
className: "copy-all-geometry",
|
|
118
|
+
onClick: onCopyAllGeometry,
|
|
119
|
+
label: "toolbar.copyAll",
|
|
120
|
+
tooltip: "tooltip.copyAllSketches",
|
|
121
|
+
icon: actionIcons.copy,
|
|
122
|
+
disabled: !hasSketchFeatures
|
|
123
|
+
}), /*#__PURE__*/React.createElement(ToolbarItem, {
|
|
124
|
+
className: "convert-to-layer",
|
|
125
|
+
onClick: function onClick() {
|
|
126
|
+
return onConvertEditorFeaturesToLayer === null || onConvertEditorFeaturesToLayer === void 0 ? void 0 : onConvertEditorFeaturesToLayer();
|
|
127
|
+
},
|
|
128
|
+
label: "toolbar.convertToLayer",
|
|
129
|
+
tooltip: "tooltip.convertToLayer",
|
|
130
|
+
icon: actionIcons.layers,
|
|
131
|
+
disabled: !hasSketchFeatures
|
|
132
|
+
})) : null) : null, /*#__PURE__*/React.createElement(MapControlTooltip, {
|
|
72
133
|
id: "map-draw",
|
|
73
134
|
message: "tooltip.DrawOnMap"
|
|
74
135
|
}, /*#__PURE__*/React.createElement(MapControlButton, {
|
|
@@ -88,4 +149,4 @@ function MapDrawPanelFactory(MapControlTooltip, MapControlToolbar) {
|
|
|
88
149
|
return MapDrawPanel;
|
|
89
150
|
}
|
|
90
151
|
export default MapDrawPanelFactory;
|
|
91
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwiY2xhc3NuYW1lcyIsIkVESVRPUl9NT0RFUyIsIkN1cnNvckNsaWNrIiwiRHJhd1BvbHlnb24iLCJFeWVTZWVuIiwiRXllVW5zZWVuIiwiUG9seWdvbiIsIlJlY3RhbmdsZSIsIk1hcENvbnRyb2xCdXR0b24iLCJUb29sYmFySXRlbSIsIk1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSIsIk1hcENvbnRyb2xUb29sYmFyRmFjdG9yeSIsIk1hcERyYXdQYW5lbEZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udHJvbFRvb2x0aXAiLCJNYXBDb250cm9sVG9vbGJhciIsImRlZmF1bHRBY3Rpb25JY29ucyIsInZpc2libGUiLCJoaWRkZW4iLCJwb2x5Z29uIiwiY3Vyc29yIiwiaW5uZXJQb2x5Z29uIiwicmVjdGFuZ2xlIiwiTWFwRHJhd1BhbmVsIiwibWVtbyIsIl9yZWYiLCJfbWFwQ29udHJvbHMkbWFwRHJhdyIsIl9tYXBDb250cm9scyRtYXBEcmF3MiIsImVkaXRvciIsIm1hcENvbnRyb2xzIiwib25Ub2dnbGVNYXBDb250cm9sIiwib25TZXRFZGl0b3JNb2RlIiwiX3JlZiRhY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwiaXNBY3RpdmUiLCJtYXBEcmF3IiwiYWN0aXZlIiwib25Ub2dnbGVNZW51UGFuZWwiLCJEUkFXX1JFQ1RBTkdMRSIsInNob3ciLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJwb3NpdGlvbiIsIiRzaG93Iiwib25DbGljayIsIkVESVQiLCJsYWJlbCIsImljb24iLCJtb2RlIiwiRFJBV19QT0xZR09OIiwiaWQiLCJtZXNzYWdlIiwiZSIsInByZXZlbnREZWZhdWx0IiwiaGVpZ2h0IiwiZGlzcGxheU5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFwL21hcC1kcmF3LXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7RURJVE9SX01PREVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0N1cnNvckNsaWNrLCBEcmF3UG9seWdvbiwgRXllU2VlbiwgRXllVW5zZWVuLCBQb2x5Z29uLCBSZWN0YW5nbGV9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge01hcENvbnRyb2xCdXR0b259IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgVG9vbGJhckl0ZW0gZnJvbSAnLi4vY29tbW9uL3Rvb2xiYXItaXRlbSc7XG5pbXBvcnQgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtdG9vbHRpcCc7XG5pbXBvcnQgTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtdG9vbGJhcic7XG5pbXBvcnQge0VkaXRvciwgTWFwQ29udHJvbHN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtCYXNlUHJvcHN9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5cbk1hcERyYXdQYW5lbEZhY3RvcnkuZGVwcyA9IFtNYXBDb250cm9sVG9vbHRpcEZhY3RvcnksIE1hcENvbnRyb2xUb29sYmFyRmFjdG9yeV07XG5cbmV4cG9ydCB0eXBlIE1hcERyYXdQYW5lbFByb3BzID0ge1xuICBlZGl0b3I6IEVkaXRvcjtcbiAgbWFwQ29udHJvbHM6IE1hcENvbnRyb2xzO1xuICBvblRvZ2dsZU1hcENvbnRyb2w6IChjb250cm9sOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uU2V0RWRpdG9yTW9kZTogKG1vZGU6IHN0cmluZykgPT4gdm9pZDtcbiAgb25Ub2dnbGVFZGl0b3JWaXNpYmlsaXR5OiAoKSA9PiB2b2lkO1xuICBhY3Rpb25JY29uczoge1tpZDogc3RyaW5nXTogUmVhY3QuQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+fTtcbn07XG5cbmZ1bmN0aW9uIE1hcERyYXdQYW5lbEZhY3RvcnkoXG4gIE1hcENvbnRyb2xUb29sdGlwOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sVG9vbHRpcEZhY3Rvcnk+LFxuICBNYXBDb250cm9sVG9vbGJhcjogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgICB2aXNpYmxlOiBFeWVTZWVuLFxuICAgIGhpZGRlbjogRXllVW5zZWVuLFxuICAgIHBvbHlnb246IERyYXdQb2x5Z29uLFxuICAgIGN1cnNvcjogQ3Vyc29yQ2xpY2ssXG4gICAgaW5uZXJQb2x5Z29uOiBQb2x5Z29uLFxuICAgIHJlY3RhbmdsZTogUmVjdGFuZ2xlXG4gIH07XG5cbiAgY29uc3QgTWFwRHJhd1BhbmVsOiBSZWFjdC5GQzxNYXBEcmF3UGFuZWxQcm9wcz4gPSBSZWFjdC5tZW1vKFxuICAgICh7XG4gICAgICBlZGl0b3IsXG4gICAgICBtYXBDb250cm9scyxcbiAgICAgIG9uVG9nZ2xlTWFwQ29udHJvbCxcbiAgICAgIG9uU2V0RWRpdG9yTW9kZSxcbiAgICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zXG4gICAgfSkgPT4ge1xuICAgICAgY29uc3QgaXNBY3RpdmUgPSBtYXBDb250cm9scz8ubWFwRHJhdz8uYWN0aXZlO1xuICAgICAgY29uc3Qgb25Ub2dnbGVNZW51UGFuZWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgICBvblNldEVkaXRvck1vZGUoRURJVE9SX01PREVTLkRSQVdfUkVDVEFOR0xFKTtcbiAgICAgICAgfVxuICAgICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcERyYXcnKTtcbiAgICAgIH0sIFtpc0FjdGl2ZSwgb25Ub2dnbGVNYXBDb250cm9sLCBvblNldEVkaXRvck1vZGVdKTtcbiAgICAgIGlmICghbWFwQ29udHJvbHM/Lm1hcERyYXc/LnNob3cpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1hcC1kcmF3LWNvbnRyb2xzXCIgc3R5bGU9e3twb3NpdGlvbjogJ3JlbGF0aXZlJ319PlxuICAgICAgICAgIHtpc0FjdGl2ZSA/IChcbiAgICAgICAgICAgIDxNYXBDb250cm9sVG9vbGJhciAkc2hvdz17aXNBY3RpdmV9PlxuICAgICAgICAgICAgICA8VG9vbGJhckl0ZW1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJlZGl0LWZlYXR1cmVcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uU2V0RWRpdG9yTW9kZShFRElUT1JfTU9ERVMuRURJVCl9XG4gICAgICAgICAgICAgICAgbGFiZWw9XCJ0b29sYmFyLnNlbGVjdFwiXG4gICAgICAgICAgICAgICAgaWNvbj17YWN0aW9uSWNvbnMuY3Vyc29yfVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdG9yLm1vZGUgPT09IEVESVRPUl9NT0RFUy5FRElUfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8VG9vbGJhckl0ZW1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcmF3LWZlYXR1cmVcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uU2V0RWRpdG9yTW9kZShFRElUT1JfTU9ERVMuRFJBV19QT0xZR09OKX1cbiAgICAgICAgICAgICAgICBsYWJlbD1cInRvb2xiYXIucG9seWdvblwiXG4gICAgICAgICAgICAgICAgaWNvbj17YWN0aW9uSWNvbnMuaW5uZXJQb2x5Z29ufVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdG9yLm1vZGUgPT09IEVESVRPUl9NT0RFUy5EUkFXX1BPTFlHT059XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyYXctcmVjdGFuZ2xlXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNldEVkaXRvck1vZGUoRURJVE9SX01PREVTLkRSQVdfUkVDVEFOR0xFKX1cbiAgICAgICAgICAgICAgICBsYWJlbD1cInRvb2xiYXIucmVjdGFuZ2xlXCJcbiAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5yZWN0YW5nbGV9XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0b3IubW9kZSA9PT0gRURJVE9SX01PREVTLkRSQVdfUkVDVEFOR0xFfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9NYXBDb250cm9sVG9vbGJhcj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8TWFwQ29udHJvbFRvb2x0aXAgaWQ9XCJtYXAtZHJhd1wiIG1lc3NhZ2U9XCJ0b29sdGlwLkRyYXdPbk1hcFwiPlxuICAgICAgICAgICAgPE1hcENvbnRyb2xCdXR0b25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdtYXAtY29udHJvbC1idXR0b24nLCAnbWFwLWRyYXcnLCB7aXNBY3RpdmV9KX1cbiAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIG9uVG9nZ2xlTWVudVBhbmVsKCk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGFjdGl2ZT17aXNBY3RpdmV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxhY3Rpb25JY29ucy5wb2x5Z29uIGhlaWdodD1cIjE4cHhcIiAvPlxuICAgICAgICAgICAgPC9NYXBDb250cm9sQnV0dG9uPlxuICAgICAgICAgIDwvTWFwQ29udHJvbFRvb2x0aXA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gICk7XG5cbiAgTWFwRHJhd1BhbmVsLmRpc3BsYXlOYW1lID0gJ01hcERyYXdQYW5lbCc7XG4gIHJldHVybiBNYXBEcmF3UGFuZWw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcERyYXdQYW5lbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxXQUFXLFFBQU8sT0FBTztBQUN4QyxPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUVuQyxTQUFRQyxZQUFZLFFBQU8sc0JBQXNCO0FBQ2pELFNBQVFDLFdBQVcsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxTQUFTLFFBQU8saUJBQWlCO0FBQ2hHLFNBQVFDLGdCQUFnQixRQUFPLDZCQUE2QjtBQUM1RCxPQUFPQyxXQUFXLE1BQU0sd0JBQXdCO0FBQ2hELE9BQU9DLHdCQUF3QixNQUFNLHVCQUF1QjtBQUM1RCxPQUFPQyx3QkFBd0IsTUFBTSx1QkFBdUI7QUFJNURDLG1CQUFtQixDQUFDQyxJQUFJLEdBQUcsQ0FBQ0gsd0JBQXdCLEVBQUVDLHdCQUF3QixDQUFDO0FBVy9FLFNBQVNDLG1CQUFtQkEsQ0FDMUJFLGlCQUE4RCxFQUM5REMsaUJBQThELEVBQzlEO0VBQ0EsSUFBTUMsa0JBQWtCLEdBQUc7SUFDekJDLE9BQU8sRUFBRWIsT0FBTztJQUNoQmMsTUFBTSxFQUFFYixTQUFTO0lBQ2pCYyxPQUFPLEVBQUVoQixXQUFXO0lBQ3BCaUIsTUFBTSxFQUFFbEIsV0FBVztJQUNuQm1CLFlBQVksRUFBRWYsT0FBTztJQUNyQmdCLFNBQVMsRUFBRWY7RUFDYixDQUFDO0VBRUQsSUFBTWdCLFlBQXlDLGdCQUFHekIsS0FBSyxDQUFDMEIsSUFBSSxDQUMxRCxVQUFBQyxJQUFBLEVBTU07SUFBQSxJQUFBQyxvQkFBQSxFQUFBQyxxQkFBQTtJQUFBLElBTEpDLE1B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
|
|
152
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwiY2xhc3NuYW1lcyIsImNvcHkiLCJzdHlsZWQiLCJFRElUT1JfTU9ERVMiLCJlZGl0b3JGZWF0dXJlc1RvRmVhdHVyZUNvbGxlY3Rpb24iLCJnZXRBcHBsaWNhdGlvbkNvbmZpZyIsIkNvcHkiLCJDdXJzb3JDbGljayIsIkRyYXdQb2ludCIsIkRyYXdQb2x5Z29uIiwiRXllU2VlbiIsIkV5ZVVuc2VlbiIsIkxheWVycyIsIkxpbmVTdHJpbmciLCJQb2x5Z29uIiwiUmVjdGFuZ2xlIiwiQ2lyY2xlIiwiTWFwQ29udHJvbEJ1dHRvbiIsIlRvb2xiYXJJdGVtIiwiTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IiwiTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5IiwiVG9vbGJhclNlcGFyYXRvciIsImRpdiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJwcm9wcyIsInRoZW1lIiwicGFuZWxIZWFkZXJJY29uIiwiRHJhd0NvbnRyb2xzIiwiX3RlbXBsYXRlT2JqZWN0MiIsIk1hcERyYXdQYW5lbEZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udHJvbFRvb2x0aXAiLCJNYXBDb250cm9sVG9vbGJhciIsImRlZmF1bHRBY3Rpb25JY29ucyIsInZpc2libGUiLCJoaWRkZW4iLCJwb2x5Z29uIiwiY3Vyc29yIiwiaW5uZXJQb2x5Z29uIiwicmVjdGFuZ2xlIiwiY2lyY2xlIiwicG9pbnQiLCJsaW5lIiwibGF5ZXJzIiwiTWFwRHJhd1BhbmVsIiwibWVtbyIsIl9yZWYiLCJfbWFwQ29udHJvbHMkbWFwRHJhdyIsIl9lZGl0b3IkZmVhdHVyZXMiLCJfbWFwQ29udHJvbHMkbWFwRHJhdzIiLCJlZGl0b3IiLCJtYXBDb250cm9scyIsIm9uVG9nZ2xlTWFwQ29udHJvbCIsIm9uU2V0RWRpdG9yTW9kZSIsIm9uQ29udmVydEVkaXRvckZlYXR1cmVzVG9MYXllciIsIl9yZWYkYWN0aW9uSWNvbnMiLCJhY3Rpb25JY29ucyIsImlzQWN0aXZlIiwibWFwRHJhdyIsImFjdGl2ZSIsImhhc1NrZXRjaEZlYXR1cmVzIiwiQm9vbGVhbiIsImZlYXR1cmVzIiwibGVuZ3RoIiwiZW5hYmxlU2tldGNoZXMiLCJlbmFibGVEcmF3T25NYXBTa2V0Y2hlcyIsIm9uVG9nZ2xlTWVudVBhbmVsIiwiRFJBV19SRUNUQU5HTEUiLCJvbkNvcHlBbGxHZW9tZXRyeSIsIl9lZGl0b3IkZmVhdHVyZXMyIiwiSlNPTiIsInN0cmluZ2lmeSIsInNob3ciLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiJHNob3ciLCJvbkNsaWNrIiwiRURJVCIsImxhYmVsIiwiaWNvbiIsIm1vZGUiLCJEUkFXX1BPSU5UIiwiRFJBV19MSU5FU1RSSU5HIiwiRFJBV19QT0xZR09OIiwiRFJBV19DSVJDTEUiLCJGcmFnbWVudCIsInRvb2x0aXAiLCJkaXNhYmxlZCIsImlkIiwibWVzc2FnZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsImhlaWdodCIsImRpc3BsYXlOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21hcC9tYXAtZHJhdy1wYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IGNvcHkgZnJvbSAnY29weS10by1jbGlwYm9hcmQnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7RURJVE9SX01PREVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2VkaXRvckZlYXR1cmVzVG9GZWF0dXJlQ29sbGVjdGlvbiwgZ2V0QXBwbGljYXRpb25Db25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtcbiAgQ29weSxcbiAgQ3Vyc29yQ2xpY2ssXG4gIERyYXdQb2ludCxcbiAgRHJhd1BvbHlnb24sXG4gIEV5ZVNlZW4sXG4gIEV5ZVVuc2VlbixcbiAgTGF5ZXJzLFxuICBMaW5lU3RyaW5nLFxuICBQb2x5Z29uLFxuICBSZWN0YW5nbGUsXG4gIENpcmNsZVxufSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtNYXBDb250cm9sQnV0dG9ufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFRvb2xiYXJJdGVtIGZyb20gJy4uL2NvbW1vbi90b29sYmFyLWl0ZW0nO1xuaW1wb3J0IE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXRvb2x0aXAnO1xuaW1wb3J0IE1hcENvbnRyb2xUb29sYmFyRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXRvb2xiYXInO1xuaW1wb3J0IHtFZGl0b3IsIE1hcENvbnRyb2xzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7QmFzZVByb3BzfSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuXG5jb25zdCBUb29sYmFyU2VwYXJhdG9yID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogNHB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxIZWFkZXJJY29ufTtcbiAgb3BhY2l0eTogMC4yO1xuYDtcblxuY29uc3QgRHJhd0NvbnRyb2xzID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5jb252ZXJ0LXRvLWxheWVyIC50b29sYmFyLWl0ZW1fX3RpdGxlIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuYDtcblxuTWFwRHJhd1BhbmVsRmFjdG9yeS5kZXBzID0gW01hcENvbnRyb2xUb29sdGlwRmFjdG9yeSwgTWFwQ29udHJvbFRvb2xiYXJGYWN0b3J5XTtcblxuZXhwb3J0IHR5cGUgTWFwRHJhd1BhbmVsUHJvcHMgPSB7XG4gIGVkaXRvcjogRWRpdG9yO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIG9uVG9nZ2xlTWFwQ29udHJvbDogKGNvbnRyb2w6IHN0cmluZykgPT4gdm9pZDtcbiAgb25TZXRFZGl0b3JNb2RlOiAobW9kZTogc3RyaW5nKSA9PiB2b2lkO1xuICBvblRvZ2dsZUVkaXRvclZpc2liaWxpdHk6ICgpID0+IHZvaWQ7XG4gIG9uQ29udmVydEVkaXRvckZlYXR1cmVzVG9MYXllcj86ICgpID0+IHZvaWQ7XG4gIGFjdGlvbkljb25zOiB7W2lkOiBzdHJpbmddOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj59O1xufTtcblxuZnVuY3Rpb24gTWFwRHJhd1BhbmVsRmFjdG9yeShcbiAgTWFwQ29udHJvbFRvb2x0aXA6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeT4sXG4gIE1hcENvbnRyb2xUb29sYmFyOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sVG9vbGJhckZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICAgIHZpc2libGU6IEV5ZVNlZW4sXG4gICAgaGlkZGVuOiBFeWVVbnNlZW4sXG4gICAgcG9seWdvbjogRHJhd1BvbHlnb24sXG4gICAgY3Vyc29yOiBDdXJzb3JDbGljayxcbiAgICBpbm5lclBvbHlnb246IFBvbHlnb24sXG4gICAgcmVjdGFuZ2xlOiBSZWN0YW5nbGUsXG4gICAgY2lyY2xlOiBDaXJjbGUsXG4gICAgcG9pbnQ6IERyYXdQb2ludCxcbiAgICBsaW5lOiBMaW5lU3RyaW5nLFxuICAgIGNvcHk6IENvcHksXG4gICAgbGF5ZXJzOiBMYXllcnNcbiAgfTtcblxuICBjb25zdCBNYXBEcmF3UGFuZWw6IFJlYWN0LkZDPE1hcERyYXdQYW5lbFByb3BzPiA9IFJlYWN0Lm1lbW8oXG4gICAgKHtcbiAgICAgIGVkaXRvcixcbiAgICAgIG1hcENvbnRyb2xzLFxuICAgICAgb25Ub2dnbGVNYXBDb250cm9sLFxuICAgICAgb25TZXRFZGl0b3JNb2RlLFxuICAgICAgb25Db252ZXJ0RWRpdG9yRmVhdHVyZXNUb0xheWVyLFxuICAgICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnNcbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCBpc0FjdGl2ZSA9IG1hcENvbnRyb2xzPy5tYXBEcmF3Py5hY3RpdmU7XG4gICAgICBjb25zdCBoYXNTa2V0Y2hGZWF0dXJlcyA9IEJvb2xlYW4oZWRpdG9yPy5mZWF0dXJlcz8ubGVuZ3RoKTtcbiAgICAgIGNvbnN0IGVuYWJsZVNrZXRjaGVzID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVEcmF3T25NYXBTa2V0Y2hlcztcbiAgICAgIGNvbnN0IG9uVG9nZ2xlTWVudVBhbmVsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoIWlzQWN0aXZlKSB7XG4gICAgICAgICAgb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5EUkFXX1JFQ1RBTkdMRSk7XG4gICAgICAgIH1cbiAgICAgICAgb25Ub2dnbGVNYXBDb250cm9sKCdtYXBEcmF3Jyk7XG4gICAgICB9LCBbaXNBY3RpdmUsIG9uVG9nZ2xlTWFwQ29udHJvbCwgb25TZXRFZGl0b3JNb2RlXSk7XG4gICAgICBjb25zdCBvbkNvcHlBbGxHZW9tZXRyeSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgaWYgKCFlZGl0b3I/LmZlYXR1cmVzPy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29weShKU09OLnN0cmluZ2lmeShlZGl0b3JGZWF0dXJlc1RvRmVhdHVyZUNvbGxlY3Rpb24oZWRpdG9yLmZlYXR1cmVzKSkpO1xuICAgICAgfSwgW2VkaXRvcj8uZmVhdHVyZXNdKTtcbiAgICAgIGlmICghbWFwQ29udHJvbHM/Lm1hcERyYXc/LnNob3cpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RHJhd0NvbnRyb2xzIGNsYXNzTmFtZT1cIm1hcC1kcmF3LWNvbnRyb2xzXCI+XG4gICAgICAgICAge2lzQWN0aXZlID8gKFxuICAgICAgICAgICAgPE1hcENvbnRyb2xUb29sYmFyICRzaG93PXtpc0FjdGl2ZX0+XG4gICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImVkaXQtZmVhdHVyZVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5FRElUKX1cbiAgICAgICAgICAgICAgICBsYWJlbD1cInRvb2xiYXIuc2VsZWN0XCJcbiAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5jdXJzb3J9XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0b3IubW9kZSA9PT0gRURJVE9SX01PREVTLkVESVR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlbmFibGVTa2V0Y2hlcyA/IChcbiAgICAgICAgICAgICAgICA8VG9vbGJhckl0ZW1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyYXctcG9pbnRcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5EUkFXX1BPSU5UKX1cbiAgICAgICAgICAgICAgICAgIGxhYmVsPVwidG9vbGJhci5wb2ludFwiXG4gICAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5wb2ludH1cbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdG9yLm1vZGUgPT09IEVESVRPUl9NT0RFUy5EUkFXX1BPSU5UfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7ZW5hYmxlU2tldGNoZXMgPyAoXG4gICAgICAgICAgICAgICAgPFRvb2xiYXJJdGVtXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcmF3LWxpbmVcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5EUkFXX0xJTkVTVFJJTkcpfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9XCJ0b29sYmFyLmxpbmVcIlxuICAgICAgICAgICAgICAgICAgaWNvbj17YWN0aW9uSWNvbnMubGluZX1cbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdG9yLm1vZGUgPT09IEVESVRPUl9NT0RFUy5EUkFXX0xJTkVTVFJJTkd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyYXctZmVhdHVyZVwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25TZXRFZGl0b3JNb2RlKEVESVRPUl9NT0RFUy5EUkFXX1BPTFlHT04pfVxuICAgICAgICAgICAgICAgIGxhYmVsPVwidG9vbGJhci5wb2x5Z29uXCJcbiAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5pbm5lclBvbHlnb259XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0b3IubW9kZSA9PT0gRURJVE9SX01PREVTLkRSQVdfUE9MWUdPTn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPFRvb2xiYXJJdGVtXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZHJhdy1yZWN0YW5nbGVcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uU2V0RWRpdG9yTW9kZShFRElUT1JfTU9ERVMuRFJBV19SRUNUQU5HTEUpfVxuICAgICAgICAgICAgICAgIGxhYmVsPVwidG9vbGJhci5yZWN0YW5nbGVcIlxuICAgICAgICAgICAgICAgIGljb249e2FjdGlvbkljb25zLnJlY3RhbmdsZX1cbiAgICAgICAgICAgICAgICBhY3RpdmU9e2VkaXRvci5tb2RlID09PSBFRElUT1JfTU9ERVMuRFJBV19SRUNUQU5HTEV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyYXctY2lyY2xlXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNldEVkaXRvck1vZGUoRURJVE9SX01PREVTLkRSQVdfQ0lSQ0xFKX1cbiAgICAgICAgICAgICAgICBsYWJlbD1cInRvb2xiYXIuY2lyY2xlXCJcbiAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5jaXJjbGV9XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtlZGl0b3IubW9kZSA9PT0gRURJVE9SX01PREVTLkRSQVdfQ0lSQ0xFfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB7ZW5hYmxlU2tldGNoZXMgPyAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxUb29sYmFyU2VwYXJhdG9yIC8+XG4gICAgICAgICAgICAgICAgICA8VG9vbGJhckl0ZW1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY29weS1hbGwtZ2VvbWV0cnlcIlxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkNvcHlBbGxHZW9tZXRyeX1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJ0b29sYmFyLmNvcHlBbGxcIlxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwPVwidG9vbHRpcC5jb3B5QWxsU2tldGNoZXNcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5jb3B5fVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17IWhhc1NrZXRjaEZlYXR1cmVzfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxUb29sYmFySXRlbVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjb252ZXJ0LXRvLWxheWVyXCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25Db252ZXJ0RWRpdG9yRmVhdHVyZXNUb0xheWVyPy4oKX1cbiAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJ0b29sYmFyLmNvbnZlcnRUb0xheWVyXCJcbiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcD1cInRvb2x0aXAuY29udmVydFRvTGF5ZXJcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPXthY3Rpb25JY29ucy5sYXllcnN9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXshaGFzU2tldGNoRmVhdHVyZXN9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvTWFwQ29udHJvbFRvb2xiYXI+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPE1hcENvbnRyb2xUb29sdGlwIGlkPVwibWFwLWRyYXdcIiBtZXNzYWdlPVwidG9vbHRpcC5EcmF3T25NYXBcIj5cbiAgICAgICAgICAgIDxNYXBDb250cm9sQnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbWFwLWNvbnRyb2wtYnV0dG9uJywgJ21hcC1kcmF3Jywge2lzQWN0aXZlfSl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBvblRvZ2dsZU1lbnVQYW5lbCgpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBhY3RpdmU9e2lzQWN0aXZlfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YWN0aW9uSWNvbnMucG9seWdvbiBoZWlnaHQ9XCIxOHB4XCIgLz5cbiAgICAgICAgICAgIDwvTWFwQ29udHJvbEJ1dHRvbj5cbiAgICAgICAgICA8L01hcENvbnRyb2xUb29sdGlwPlxuICAgICAgICA8L0RyYXdDb250cm9scz5cbiAgICAgICk7XG4gICAgfVxuICApO1xuXG4gIE1hcERyYXdQYW5lbC5kaXNwbGF5TmFtZSA9ICdNYXBEcmF3UGFuZWwnO1xuICByZXR1cm4gTWFwRHJhd1BhbmVsO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBEcmF3UGFuZWxGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFHQyxXQUFXLFFBQU8sT0FBTztBQUN4QyxPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUNuQyxPQUFPQyxJQUFJLE1BQU0sbUJBQW1CO0FBQ3BDLE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFFdEMsU0FBUUMsWUFBWSxRQUFPLHNCQUFzQjtBQUNqRCxTQUFRQyxpQ0FBaUMsRUFBRUMsb0JBQW9CLFFBQU8sa0JBQWtCO0FBQ3hGLFNBQ0VDLElBQUksRUFDSkMsV0FBVyxFQUNYQyxTQUFTLEVBQ1RDLFdBQVcsRUFDWEMsT0FBTyxFQUNQQyxTQUFTLEVBQ1RDLE1BQU0sRUFDTkMsVUFBVSxFQUNWQyxPQUFPLEVBQ1BDLFNBQVMsRUFDVEMsTUFBTSxRQUNELGlCQUFpQjtBQUN4QixTQUFRQyxnQkFBZ0IsUUFBTyw2QkFBNkI7QUFDNUQsT0FBT0MsV0FBVyxNQUFNLHdCQUF3QjtBQUNoRCxPQUFPQyx3QkFBd0IsTUFBTSx1QkFBdUI7QUFDNUQsT0FBT0Msd0JBQXdCLE1BQU0sdUJBQXVCO0FBSTVELElBQU1DLGdCQUFnQixHQUFHbkIsTUFBTSxDQUFDb0IsR0FBRyxDQUFBQyxlQUFBLEtBQUFBLGVB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
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright contributors to the kepler.gl project
|
|
3
|
+
|
|
4
|
+
import React, { useCallback } from 'react';
|
|
5
|
+
import classnames from 'classnames';
|
|
6
|
+
import { THEME } from '@kepler.gl/constants';
|
|
7
|
+
import { getApplicationConfig } from '@kepler.gl/utils';
|
|
8
|
+
import { Moon, Sun } from '../common/icons';
|
|
9
|
+
import { MapControlButton } from '../common/styled-components';
|
|
10
|
+
import MapControlTooltipFactory from './map-control-tooltip';
|
|
11
|
+
ThemeToggleButtonFactory.deps = [MapControlTooltipFactory];
|
|
12
|
+
function ThemeToggleButtonFactory(MapControlTooltip) {
|
|
13
|
+
var defaultActionIcons = {
|
|
14
|
+
sun: Sun,
|
|
15
|
+
moon: Moon
|
|
16
|
+
};
|
|
17
|
+
var ThemeToggleButton = function ThemeToggleButton(_ref) {
|
|
18
|
+
var _mapControls$mapTheme;
|
|
19
|
+
var _ref$themeName = _ref.themeName,
|
|
20
|
+
themeName = _ref$themeName === void 0 ? THEME.dark : _ref$themeName,
|
|
21
|
+
onSetTheme = _ref.onSetTheme,
|
|
22
|
+
mapControls = _ref.mapControls,
|
|
23
|
+
_ref$actionIcons = _ref.actionIcons,
|
|
24
|
+
actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons;
|
|
25
|
+
var isLight = themeName === THEME.light;
|
|
26
|
+
var onClick = useCallback(function (event) {
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
onSetTheme(isLight ? THEME.dark : THEME.light);
|
|
29
|
+
}, [isLight, onSetTheme]);
|
|
30
|
+
if (!getApplicationConfig().enableThemeToggle) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
var showControl = mapControls === null || mapControls === void 0 || (_mapControls$mapTheme = mapControls.mapTheme) === null || _mapControls$mapTheme === void 0 ? void 0 : _mapControls$mapTheme.show;
|
|
34
|
+
if (!showControl) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
var Icon = isLight ? actionIcons.moon : actionIcons.sun;
|
|
38
|
+
return /*#__PURE__*/React.createElement(MapControlTooltip, {
|
|
39
|
+
id: "toggle-theme",
|
|
40
|
+
message: isLight ? 'tooltip.switchToDarkTheme' : 'tooltip.switchToLightTheme'
|
|
41
|
+
}, /*#__PURE__*/React.createElement(MapControlButton, {
|
|
42
|
+
className: classnames('map-control-button', 'toggle-theme', {
|
|
43
|
+
light: isLight
|
|
44
|
+
}),
|
|
45
|
+
onClick: onClick,
|
|
46
|
+
active: isLight
|
|
47
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
48
|
+
height: "18px"
|
|
49
|
+
})));
|
|
50
|
+
};
|
|
51
|
+
ThemeToggleButton.displayName = 'ThemeToggleButton';
|
|
52
|
+
return /*#__PURE__*/React.memo(ThemeToggleButton);
|
|
53
|
+
}
|
|
54
|
+
export default ThemeToggleButtonFactory;
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwiY2xhc3NuYW1lcyIsIlRIRU1FIiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJNb29uIiwiU3VuIiwiTWFwQ29udHJvbEJ1dHRvbiIsIk1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSIsIlRoZW1lVG9nZ2xlQnV0dG9uRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcCIsImRlZmF1bHRBY3Rpb25JY29ucyIsInN1biIsIm1vb24iLCJUaGVtZVRvZ2dsZUJ1dHRvbiIsIl9yZWYiLCJfbWFwQ29udHJvbHMkbWFwVGhlbWUiLCJfcmVmJHRoZW1lTmFtZSIsInRoZW1lTmFtZSIsImRhcmsiLCJvblNldFRoZW1lIiwibWFwQ29udHJvbHMiLCJfcmVmJGFjdGlvbkljb25zIiwiYWN0aW9uSWNvbnMiLCJpc0xpZ2h0IiwibGlnaHQiLCJvbkNsaWNrIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsImVuYWJsZVRoZW1lVG9nZ2xlIiwic2hvd0NvbnRyb2wiLCJtYXBUaGVtZSIsInNob3ciLCJJY29uIiwiY3JlYXRlRWxlbWVudCIsImlkIiwibWVzc2FnZSIsImNsYXNzTmFtZSIsImFjdGl2ZSIsImhlaWdodCIsImRpc3BsYXlOYW1lIiwibWVtbyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXAvdGhlbWUtdG9nZ2xlLWJ1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50VHlwZSwgdXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5pbXBvcnQge1RIRU1FfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge01hcENvbnRyb2xzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7Z2V0QXBwbGljYXRpb25Db25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5pbXBvcnQge01vb24sIFN1bn0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7TWFwQ29udHJvbEJ1dHRvbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sdGlwJztcblxuaW50ZXJmYWNlIFRoZW1lVG9nZ2xlQnV0dG9uSWNvbnMge1xuICBzdW46IENvbXBvbmVudFR5cGU8YW55PjtcbiAgbW9vbjogQ29tcG9uZW50VHlwZTxhbnk+O1xufVxuXG5leHBvcnQgdHlwZSBUaGVtZVRvZ2dsZUJ1dHRvblByb3BzID0ge1xuICB0aGVtZU5hbWU/OiBzdHJpbmc7XG4gIG9uU2V0VGhlbWU6ICh0aGVtZTogc3RyaW5nKSA9PiB2b2lkO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIGFjdGlvbkljb25zPzogVGhlbWVUb2dnbGVCdXR0b25JY29ucztcbn07XG5cblRoZW1lVG9nZ2xlQnV0dG9uRmFjdG9yeS5kZXBzID0gW01hcENvbnRyb2xUb29sdGlwRmFjdG9yeV07XG5cbmZ1bmN0aW9uIFRoZW1lVG9nZ2xlQnV0dG9uRmFjdG9yeShcbiAgTWFwQ29udHJvbFRvb2x0aXA6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeT5cbikge1xuICBjb25zdCBkZWZhdWx0QWN0aW9uSWNvbnMgPSB7XG4gICAgc3VuOiBTdW4sXG4gICAgbW9vbjogTW9vblxuICB9O1xuXG4gIGNvbnN0IFRoZW1lVG9nZ2xlQnV0dG9uOiBSZWFjdC5GQzxUaGVtZVRvZ2dsZUJ1dHRvblByb3BzPiA9ICh7XG4gICAgdGhlbWVOYW1lID0gVEhFTUUuZGFyayxcbiAgICBvblNldFRoZW1lLFxuICAgIG1hcENvbnRyb2xzLFxuICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zXG4gIH0pID0+IHtcbiAgICBjb25zdCBpc0xpZ2h0ID0gdGhlbWVOYW1lID09PSBUSEVNRS5saWdodDtcblxuICAgIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25TZXRUaGVtZShpc0xpZ2h0ID8gVEhFTUUuZGFyayA6IFRIRU1FLmxpZ2h0KTtcbiAgICAgIH0sXG4gICAgICBbaXNMaWdodCwgb25TZXRUaGVtZV1cbiAgICApO1xuXG4gICAgaWYgKCFnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZVRoZW1lVG9nZ2xlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBzaG93Q29udHJvbCA9IG1hcENvbnRyb2xzPy5tYXBUaGVtZT8uc2hvdztcbiAgICBpZiAoIXNob3dDb250cm9sKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBJY29uID0gaXNMaWdodCA/IGFjdGlvbkljb25zLm1vb24gOiBhY3Rpb25JY29ucy5zdW47XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1hcENvbnRyb2xUb29sdGlwXG4gICAgICAgIGlkPVwidG9nZ2xlLXRoZW1lXCJcbiAgICAgICAgbWVzc2FnZT17aXNMaWdodCA/ICd0b29sdGlwLnN3aXRjaFRvRGFya1RoZW1lJyA6ICd0b29sdGlwLnN3aXRjaFRvTGlnaHRUaGVtZSd9XG4gICAgICA+XG4gICAgICAgIDxNYXBDb250cm9sQnV0dG9uXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdtYXAtY29udHJvbC1idXR0b24nLCAndG9nZ2xlLXRoZW1lJywge2xpZ2h0OiBpc0xpZ2h0fSl9XG4gICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICBhY3RpdmU9e2lzTGlnaHR9XG4gICAgICAgID5cbiAgICAgICAgICA8SWNvbiBoZWlnaHQ9XCIxOHB4XCIgLz5cbiAgICAgICAgPC9NYXBDb250cm9sQnV0dG9uPlxuICAgICAgPC9NYXBDb250cm9sVG9vbHRpcD5cbiAgICApO1xuICB9O1xuXG4gIFRoZW1lVG9nZ2xlQnV0dG9uLmRpc3BsYXlOYW1lID0gJ1RoZW1lVG9nZ2xlQnV0dG9uJztcbiAgcmV0dXJuIFJlYWN0Lm1lbW8oVGhlbWVUb2dnbGVCdXR0b24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBUaGVtZVRvZ2dsZUJ1dHRvbkZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFrQkMsV0FBVyxRQUFPLE9BQU87QUFDdkQsT0FBT0MsVUFBVSxNQUFNLFlBQVk7QUFFbkMsU0FBUUMsS0FBSyxRQUFPLHNCQUFzQjtBQUUxQyxTQUFRQyxvQkFBb0IsUUFBTyxrQkFBa0I7QUFFckQsU0FBUUMsSUFBSSxFQUFFQyxHQUFHLFFBQU8saUJBQWlCO0FBQ3pDLFNBQVFDLGdCQUFnQixRQUFPLDZCQUE2QjtBQUM1RCxPQUFPQyx3QkFBd0IsTUFBTSx1QkFBdUI7QUFjNURDLHdCQUF3QixDQUFDQyxJQUFJLEdBQUcsQ0FBQ0Ysd0JBQXdCLENBQUM7QUFFMUQsU0FBU0Msd0JBQXdCQSxDQUMvQkUsaUJBQThELEVBQzlEO0VBQ0EsSUFBTUMsa0JBQWtCLEdBQUc7SUFDekJDLEdBQUcsRUFBRVAsR0FBRztJQUNSUSxJQUFJLEVBQUVUO0VBQ1IsQ0FBQztFQUVELElBQU1VLGlCQUFtRCxHQUFHLFNBQXREQSxpQkFBbURBLENBQUFDLElBQUEsRUFLbkQ7SUFBQSxJQUFBQyxxQkFBQTtJQUFBLElBQUFDLGNBQUEsR0FBQUYsSUFBQSxDQUpKRyxTQUFTO01BQVRBLFNBQVMsR0FBQUQsY0FBQSxjQUFHZixLQUFLLENBQUNpQixJQUFJLEdBQUFGLGNBQUE7TUFDdEJHLFVBQVUsR0FBQUwsSUFBQSxDQUFWSyxVQUFVO01BQ1ZDLFdBQVcsR0FBQU4sSUFBQSxDQUFYTSxXQUFXO01BQUFDLGdCQUFBLEdBQUFQLElBQUEsQ0FDWFEsV0FBVztNQUFYQSxXQUFXLEdBQUFELGdCQUFBLGNBQUdYLGtCQUFrQixHQUFBVyxnQkFBQTtJQUVoQyxJQUFNRSxPQUFPLEdBQUdOLFNBQVMsS0FBS2hCLEtBQUssQ0FBQ3VCLEtBQUs7SUFFekMsSUFBTUMsT0FBTyxHQUFHMUIsV0FBVyxDQUN6QixVQUFBMkIsS0FBSyxFQUFJO01BQ1BBLEtBQUssQ0FBQ0MsY0FBYyxDQUFDLENBQUM7TUFDdEJSLFVBQVUsQ0FBQ0ksT0FBTyxHQUFHdEIsS0FBSyxDQUFDaUIsSUFBSSxHQUFHakIsS0FBSyxDQUFDdUIsS0FBSyxDQUFDO0lBQ2hELENBQUMsRUFDRCxDQUFDRCxPQUFPLEVBQUVKLFVBQVUsQ0FDdEIsQ0FBQztJQUVELElBQUksQ0FBQ2pCLG9CQUFvQixDQUFDLENBQUMsQ0FBQzBCLGlCQUFpQixFQUFFO01BQzdDLE9BQU8sSUFBSTtJQUNiO0lBRUEsSUFBTUMsV0FBVyxHQUFHVCxXQUFXLGFBQVhBLFdBQVcsZ0JBQUFMLHFCQUFBLEdBQVhLLFdBQVcsQ0FBRVUsUUFBUSxjQUFBZixxQkFBQSx1QkFBckJBLHFCQUFBLENBQXVCZ0IsSUFBSTtJQUMvQyxJQUFJLENBQUNGLFdBQVcsRUFBRTtNQUNoQixPQUFPLElBQUk7SUFDYjtJQUVBLElBQU1HLElBQUksR0FBR1QsT0FBTyxHQUFHRCxXQUFXLENBQUNWLElBQUksR0FBR1UsV0FBVyxDQUFDWCxHQUFHO0lBRXpELG9CQUNFYixLQUFBLENBQUFtQyxhQUFBLENBQUN4QixpQkFBaUI7TUFDaEJ5QixFQUFFLEVBQUMsY0FBYztNQUNqQkMsT0FBTyxFQUFFWixPQUFPLEdBQUcsMkJBQTJCLEdBQUc7SUFBNkIsZ0JBRTlFekIsS0FBQSxDQUFBbUMsYUFBQSxDQUFDNUIsZ0JBQWdCO01BQ2YrQixTQUFTLEVBQUVwQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsY0FBYyxFQUFFO1FBQUN3QixLQUFLLEVBQUVEO01BQU8sQ0FBQyxDQUFFO01BQzlFRSxPQUFPLEVBQUVBLE9BQVE7TUFDakJZLE1BQU0sRUFBRWQ7SUFBUSxnQkFFaEJ6QixLQUFBLENBQUFtQyxhQUFBLENBQUNELElBQUk7TUFBQ00sTUFBTSxFQUFDO0lBQU0sQ0FBRSxDQUNMLENBQ0QsQ0FBQztFQUV4QixDQUFDO0VBRUR6QixpQkFBaUIsQ0FBQzBCLFdBQVcsR0FBRyxtQkFBbUI7RUFDbkQsb0JBQU96QyxLQUFLLENBQUMwQyxJQUFJLENBQUMzQixpQkFBaUIsQ0FBQztBQUN0QztBQUVBLGVBQWVOLHdCQUF3QiIsImlnbm9yZUxpc3QiOltdfQ==
|