@kepler.gl/components 3.3.0-alpha.0 → 3.3.0-alpha.2
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/annotations/annotation-node.d.ts +11 -0
- package/dist/annotations/annotation-node.js +145 -0
- package/dist/annotations/annotation-overlay.d.ts +16 -0
- package/dist/annotations/annotation-overlay.js +166 -0
- package/dist/annotations/annotation-panel.d.ts +24 -0
- package/dist/annotations/annotation-panel.js +362 -0
- package/dist/annotations/annotation-text.d.ts +16 -0
- package/dist/annotations/annotation-text.js +150 -0
- package/dist/annotations/annotation-utils.d.ts +39 -0
- package/dist/annotations/annotation-utils.js +156 -0
- package/dist/annotations/index.d.ts +7 -0
- package/dist/annotations/index.js +53 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.d.ts +3 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.js +71 -0
- package/dist/annotations/lexical-editor/floating-link-editor.d.ts +1 -0
- package/dist/annotations/lexical-editor/floating-link-editor.js +194 -0
- package/dist/annotations/lexical-editor/index.d.ts +7 -0
- package/dist/annotations/lexical-editor/index.js +78 -0
- package/dist/annotations/lexical-editor/lexical-constants.d.ts +12 -0
- package/dist/annotations/lexical-editor/lexical-constants.js +22 -0
- package/dist/annotations/lexical-editor/lexical-nodes.d.ts +3 -0
- package/dist/annotations/lexical-editor/lexical-nodes.js +13 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +122 -0
- package/dist/annotations/lexical-editor/lexical-theme.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-theme.js +25 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.d.ts +7 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.js +293 -0
- package/dist/annotations/lexical-editor/lexical-utils.d.ts +4 -0
- package/dist/annotations/lexical-editor/lexical-utils.js +45 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.d.ts +36 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
- package/dist/bottom-widget.d.ts +1 -1
- package/dist/bottom-widget.js +12 -6
- package/dist/common/action-panel.js +1 -1
- package/dist/common/animation-control/animation-control.d.ts +1 -0
- package/dist/common/animation-control/animation-control.js +3 -1
- package/dist/common/animation-control/animation-controller.js +8 -6
- package/dist/common/animation-control/export-video-control.d.ts +9 -0
- package/dist/common/animation-control/export-video-control.js +43 -0
- package/dist/common/animation-control/playback-controls.d.ts +4 -2
- package/dist/common/animation-control/playback-controls.js +7 -4
- package/dist/common/checkbox.d.ts +5 -21
- package/dist/common/checkbox.js +58 -70
- package/dist/common/color-legend.d.ts +1 -1
- package/dist/common/color-legend.js +3 -3
- package/dist/common/data-table/canvas.d.ts +1 -1
- package/dist/common/data-table/index.d.ts +2 -2
- package/dist/common/data-table/index.js +3 -3
- package/dist/common/dnd-layer-items.d.ts +4 -0
- package/dist/common/dnd-layer-items.js +6 -2
- package/dist/common/error-boundary.d.ts +1 -1
- package/dist/common/file-uploader/file-upload.d.ts +1 -1
- package/dist/common/file-uploader/file-upload.js +4 -4
- package/dist/common/flex-container.d.ts +15 -7
- package/dist/common/histogram-plot.js +102 -53
- package/dist/common/icon-button.d.ts +53 -6
- package/dist/common/icons/3d-models/airplane.d.ts +14 -0
- package/dist/common/icons/3d-models/airplane.js +104 -0
- package/dist/common/icons/3d-models/bicycle.d.ts +14 -0
- package/dist/common/icons/3d-models/bicycle.js +426 -0
- package/dist/common/icons/3d-models/boeing.d.ts +14 -0
- package/dist/common/icons/3d-models/boeing.js +119 -0
- package/dist/common/icons/3d-models/car.d.ts +14 -0
- package/dist/common/icons/3d-models/car.js +110 -0
- package/dist/common/icons/3d-models/cargoship.d.ts +14 -0
- package/dist/common/icons/3d-models/cargoship.js +246 -0
- package/dist/common/icons/3d-models/evtol.d.ts +14 -0
- package/dist/common/icons/3d-models/evtol.js +134 -0
- package/dist/common/icons/3d-models/glider.d.ts +14 -0
- package/dist/common/icons/3d-models/glider.js +62 -0
- package/dist/common/icons/3d-models/helicopter.d.ts +14 -0
- package/dist/common/icons/3d-models/helicopter.js +110 -0
- package/dist/common/icons/3d-models/scooter.d.ts +14 -0
- package/dist/common/icons/3d-models/scooter.js +159 -0
- package/dist/common/icons/3d-models/semitruck.d.ts +14 -0
- package/dist/common/icons/3d-models/semitruck.js +177 -0
- package/dist/common/icons/3d-models/truck.d.ts +14 -0
- package/dist/common/icons/3d-models/truck.js +122 -0
- package/dist/common/icons/anchor_window.d.ts +1 -8
- package/dist/common/icons/anchor_window.js +17 -10
- package/dist/common/icons/annotation-text.d.ts +9 -0
- package/dist/common/icons/annotation-text.js +56 -0
- package/dist/common/icons/arrow-down-full.d.ts +2 -1
- package/dist/common/icons/arrow-down-full.js +1 -1
- package/dist/common/icons/folder.d.ts +10 -0
- package/dist/common/icons/folder.js +51 -0
- package/dist/common/icons/index.d.ts +2 -0
- package/dist/common/icons/index.js +15 -1
- package/dist/common/icons/timeline-marker.d.ts +2 -1
- package/dist/common/icons/timeline-marker.js +1 -1
- package/dist/common/item-selector/chickleted-input.d.ts +1 -1
- package/dist/common/item-selector/chickleted-input.js +5 -5
- package/dist/common/item-selector/dropdown-list.d.ts +1 -1
- package/dist/common/item-selector/dropdown-list.js +1 -1
- package/dist/common/item-selector/dropdown-select.d.ts +13 -7
- package/dist/common/item-selector/item-selector.d.ts +1 -1
- package/dist/common/item-selector/item-selector.js +1 -1
- package/dist/common/item-selector/typeahead.d.ts +4 -4
- package/dist/common/item-selector/typeahead.js +1 -3
- package/dist/common/layout-splitter.d.ts +45 -0
- package/dist/common/layout-splitter.js +231 -0
- package/dist/common/line-chart.d.ts +10 -3
- package/dist/common/line-chart.js +219 -52
- package/dist/common/modal.d.ts +11 -5
- package/dist/common/modal.js +1 -1
- package/dist/common/portaled.d.ts +17 -17
- package/dist/common/range-plot.js +4 -2
- package/dist/common/range-slider.d.ts +2 -0
- package/dist/common/range-slider.js +108 -45
- package/dist/common/slider/mouse-event.d.ts +1 -1
- package/dist/common/slider/mouse-event.js +1 -2
- package/dist/common/slider/slider-bar-handle.d.ts +1 -1
- package/dist/common/slider/slider-bar-handle.js +1 -1
- package/dist/common/slider/slider-handle.d.ts +3 -3
- package/dist/common/slider/slider-handle.js +1 -1
- package/dist/common/slider/slider.d.ts +8 -4
- package/dist/common/slider/slider.js +78 -35
- package/dist/common/styled-components.d.ts +628 -178
- package/dist/common/styled-components.js +2 -2
- package/dist/common/time-range-slider-time-title.d.ts +1 -1
- package/dist/common/time-range-slider-time-title.js +5 -5
- package/dist/common/time-range-slider.d.ts +2 -1
- package/dist/common/time-range-slider.js +19 -7
- package/dist/common/timeline-helpers.d.ts +3 -0
- package/dist/common/timeline-helpers.js +57 -0
- package/dist/common/timeline-slider.js +21 -12
- package/dist/common/toolbar-item.js +5 -5
- package/dist/common/toolbar.d.ts +1 -1
- package/dist/common/toolbar.js +4 -4
- package/dist/common/vertical-toolbar.d.ts +13 -3
- package/dist/container.d.ts +3 -2
- package/dist/container.js +2 -2
- package/dist/context.d.ts +1 -1
- package/dist/context.js +1 -1
- package/dist/dnd-context.d.ts +4 -3
- package/dist/dnd-context.js +64 -9
- package/dist/effects/compact-color-picker.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +5 -6
- package/dist/effects/effect-configurator.js +213 -52
- package/dist/effects/effect-manager.js +3 -3
- package/dist/effects/effect-panel-header.js +34 -17
- package/dist/effects/effect-panel.d.ts +4 -4
- package/dist/effects/effect-panel.js +61 -86
- package/dist/effects/effect-time-configurator.js +10 -10
- package/dist/effects/effect-type-dropdown-list.d.ts +1 -0
- package/dist/effects/effect-type-dropdown-list.js +1 -1
- package/dist/effects/effect-type-list-item.d.ts +2 -1
- package/dist/effects/effect-type-list-item.js +23 -7
- package/dist/effects/effect-type-selector.d.ts +1 -0
- package/dist/effects/effect-type-selector.js +2 -2
- package/dist/effects/surface-fog-section.d.ts +14 -0
- package/dist/effects/surface-fog-section.js +263 -0
- package/dist/filters/components.d.ts +7 -5
- package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +6 -2
- package/dist/filters/index.d.ts +1 -0
- package/dist/filters/index.js +8 -1
- package/dist/filters/polygon-filter.js +2 -2
- package/dist/filters/time-range-filter.js +3 -1
- package/dist/filters/time-widget-settings.d.ts +14 -0
- package/dist/filters/time-widget-settings.js +312 -0
- package/dist/filters/time-widget-top.d.ts +2 -3
- package/dist/filters/time-widget-top.js +32 -39
- package/dist/filters/time-widget.d.ts +3 -2
- package/dist/filters/time-widget.js +285 -9
- package/dist/filters/types.d.ts +3 -3
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.d.ts +4 -1
- package/dist/geocoder/geocoder.js +61 -14
- package/dist/geocoder-panel.d.ts +3 -2
- package/dist/geocoder-panel.js +11 -8
- package/dist/hooks/use-dnd-layers.d.ts +4 -3
- package/dist/hooks/use-dnd-layers.js +103 -42
- package/dist/index.d.ts +17 -2
- package/dist/index.js +161 -9
- package/dist/injector.d.ts +1 -1
- package/dist/kepler-gl.d.ts +179 -27
- package/dist/kepler-gl.js +91 -12
- package/dist/loading-indicator.d.ts +3 -1
- package/dist/loading-indicator.js +6 -3
- package/dist/map/annotations/annotation-control.d.ts +16 -0
- package/dist/map/annotations/annotation-control.js +56 -0
- package/dist/map/layer-hover-info.d.ts +7 -3
- package/dist/map/layer-hover-info.js +124 -55
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/locale-panel.js +2 -2
- package/dist/map/map-control-panel.js +3 -2
- package/dist/map/map-control-toolbar.d.ts +33 -8
- package/dist/map/map-control.d.ts +14 -4
- package/dist/map/map-control.js +18 -8
- package/dist/map/map-draw-panel.d.ts +1 -1
- package/dist/map/map-draw-panel.js +7 -4
- package/dist/map/map-legend-panel.d.ts +11 -2
- package/dist/map/map-legend-panel.js +25 -8
- package/dist/map/map-legend.d.ts +20 -3
- package/dist/map/map-legend.js +145 -31
- package/dist/map/map-navigation-control.d.ts +13 -0
- package/dist/map/map-navigation-control.js +143 -0
- package/dist/map/map-popover.js +2 -2
- package/dist/map/split-map-button.d.ts +6 -1
- package/dist/map/split-map-button.js +113 -19
- package/dist/map-container.d.ts +13 -3
- package/dist/map-container.js +269 -59
- package/dist/map-view-state-context.d.ts +1 -0
- package/dist/map-view-state-context.js +1 -1
- package/dist/maps-layout.d.ts +3 -0
- package/dist/maps-layout.js +86 -26
- package/dist/modal-container.d.ts +3 -2
- package/dist/modal-container.js +28 -6
- package/dist/modals/add-map-style-modal.js +173 -200
- package/dist/modals/cloud-tile.d.ts +1 -2
- package/dist/modals/data-table-modal.d.ts +1 -1
- package/dist/modals/data-table-modal.js +146 -194
- package/dist/modals/export-data-modal.js +117 -139
- package/dist/modals/export-map-modal/components.d.ts +9 -5
- package/dist/modals/export-video-modal.d.ts +28 -0
- package/dist/modals/export-video-modal.js +371 -0
- package/dist/modals/export-video-modal.spec.d.ts +1 -0
- package/dist/modals/export-video-modal.spec.js +686 -0
- package/dist/modals/fog-height-animation.d.ts +8 -0
- package/dist/modals/fog-height-animation.js +97 -0
- package/dist/modals/hubble-utils.d.ts +41 -0
- package/dist/modals/hubble-utils.js +294 -0
- package/dist/modals/hubble-utils.spec.d.ts +1 -0
- package/dist/modals/hubble-utils.spec.js +397 -0
- package/dist/modals/modal-dialog.d.ts +1 -1
- package/dist/modals/share-map-modal.d.ts +2 -4
- package/dist/modals/swipe-composite-utils.d.ts +10 -0
- package/dist/modals/swipe-composite-utils.js +108 -0
- package/dist/modals/swipe-export-settings.d.ts +24 -0
- package/dist/modals/swipe-export-settings.js +370 -0
- package/dist/modals/swipe-export-video-container.d.ts +122 -0
- package/dist/modals/swipe-export-video-container.js +630 -0
- package/dist/modals/swipe-export-video-preview.d.ts +68 -0
- package/dist/modals/swipe-export-video-preview.js +339 -0
- package/dist/modals/tilesets-modals/load-data-footer.js +2 -2
- package/dist/modals/tilesets-modals/load-tileset.js +21 -10
- package/dist/modals/tilesets-modals/tileset-bitmap-form.d.ts +14 -0
- package/dist/modals/tilesets-modals/tileset-bitmap-form.js +284 -0
- package/dist/modals/tilesets-modals/tileset-raster-form.js +90 -11
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +3 -2
- package/dist/modals/tilesets-modals/tileset-vector-form.js +58 -4
- package/dist/modals/tilesets-modals/tileset-wms-form.js +4 -3
- package/dist/notification-panel/notification-item.d.ts +1 -53
- package/dist/notification-panel/notification-item.js +47 -75
- package/dist/notification-panel.d.ts +1 -1
- package/dist/notification-panel.js +20 -42
- package/dist/plot-container.js +7 -6
- package/dist/side-panel/add-by-dataset-button.js +3 -3
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +7 -3
- package/dist/side-panel/interaction-panel/geocoder-config.d.ts +11 -0
- package/dist/side-panel/interaction-panel/geocoder-config.js +45 -0
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +3 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +10 -3
- package/dist/side-panel/layer-manager.d.ts +5 -4
- package/dist/side-panel/layer-manager.js +26 -6
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-scale-selector.js +1 -1
- package/dist/side-panel/layer-panel/color-selector.d.ts +6 -4
- package/dist/side-panel/layer-panel/custom-palette.d.ts +3 -5
- package/dist/side-panel/layer-panel/custom-palette.js +5 -5
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +2 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.js +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +2 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.js +19 -3
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -11
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +4 -2
- package/dist/side-panel/layer-panel/layer-configurator.js +450 -76
- package/dist/side-panel/layer-panel/layer-group-header.d.ts +15 -0
- package/dist/side-panel/layer-panel/layer-group-header.js +179 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +9 -4
- package/dist/side-panel/layer-panel/layer-list.js +197 -40
- package/dist/side-panel/layer-panel/layer-panel-header.js +2 -2
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +127 -27
- package/dist/side-panel/layer-panel/scenegraph-model-selector.d.ts +24 -0
- package/dist/side-panel/layer-panel/scenegraph-model-selector.js +123 -0
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +1 -1
- package/dist/side-panel/layer-panel/text-label-panel.js +11 -2
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +2 -10
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +2 -0
- package/dist/side-panel/layer-panel/vis-config-slider.js +7 -3
- package/dist/side-panel/panel-header.d.ts +1 -0
- package/dist/side-panel/panel-header.js +9 -2
- package/dist/side-panel/panel-tab.d.ts +2 -4
- package/dist/side-panel/panel-tab.js +4 -4
- package/dist/side-panel/panel-view-list-toggle.d.ts +4 -4
- package/dist/side-panel/side-bar.d.ts +1 -6
- package/dist/side-panel.d.ts +1 -1
- package/dist/side-panel.js +5 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.js +1 -1
- package/package.json +53 -48
- package/dist/map/layer-selector-panel.d.ts +0 -21
- package/dist/map/layer-selector-panel.js +0 -85
- package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +0 -11
- package/dist/side-panel/layer-panel/radius-by-zoom-input.js +0 -220
|
@@ -21,7 +21,7 @@ var Spinner = _styledComponents["default"].div(_templateObject2 || (_templateObj
|
|
|
21
21
|
var StyledContainer = exports.StyledContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n left: ", "px;\n bottom: ", "px;\n z-index: 1;\n color: ", ";\n opacity: ", ";\n transition: opacity 0.5s ease-in-out;\n background-color: ", ";\n padding: 8px 12px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);\n backdrop-filter: blur(4px);\n display: flex;\n align-items: center;\n pointer-events: none;\n"])), function (props) {
|
|
22
22
|
return props.$left;
|
|
23
23
|
}, function (props) {
|
|
24
|
-
return props.theme.sidePanel.margin.left;
|
|
24
|
+
return props.theme.sidePanel.margin.left + props.$bottomOffset;
|
|
25
25
|
}, function (props) {
|
|
26
26
|
return props.theme.textColor;
|
|
27
27
|
}, function (props) {
|
|
@@ -35,8 +35,10 @@ var LoadingIndicator = function LoadingIndicator(_ref) {
|
|
|
35
35
|
var isVisible = _ref.isVisible,
|
|
36
36
|
activeSidePanel = _ref.activeSidePanel,
|
|
37
37
|
sidePanelWidth = _ref.sidePanelWidth,
|
|
38
|
+
hasAttributionLogos = _ref.hasAttributionLogos,
|
|
38
39
|
theme = _ref.theme;
|
|
39
40
|
var left = (activeSidePanel ? (sidePanelWidth || 0) + LEFT_POSITION_ADJUSTMENT : 0) + theme.sidePanel.margin.left;
|
|
41
|
+
var bottomOffset = hasAttributionLogos ? 24 : 0;
|
|
40
42
|
|
|
41
43
|
// Helper message to track number of tiles that are being loaded
|
|
42
44
|
var numRasterTilesInProgress = (0, _layers.getNumRasterTilesBeingLoaded)();
|
|
@@ -64,8 +66,9 @@ var LoadingIndicator = function LoadingIndicator(_ref) {
|
|
|
64
66
|
var displayMessage = isVisible ? extraMessage : lastMessageRef.current;
|
|
65
67
|
return /*#__PURE__*/_react["default"].createElement(StyledContainer, {
|
|
66
68
|
$isVisible: isVisible,
|
|
67
|
-
$left: left
|
|
69
|
+
$left: left,
|
|
70
|
+
$bottomOffset: bottomOffset
|
|
68
71
|
}, /*#__PURE__*/_react["default"].createElement(Spinner, null), /*#__PURE__*/_react["default"].createElement("span", null, "Loading... ".concat(displayMessage)));
|
|
69
72
|
};
|
|
70
73
|
var _default = exports["default"] = (0, _styledComponents.withTheme)(LoadingIndicator);
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9sYXllcnMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsInNwaW4iLCJrZXlmcmFtZXMiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlNwaW5uZXIiLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9ySGwiLCJTdHlsZWRDb250YWluZXIiLCJleHBvcnRzIiwiJGxlZnQiLCJzaWRlUGFuZWwiLCJtYXJnaW4iLCJsZWZ0IiwidGV4dENvbG9yIiwiJGlzVmlzaWJsZSIsInNpZGVQYW5lbEJnIiwiTEVGVF9QT1NJVElPTl9BREpVU1RNRU5UIiwiTG9hZGluZ0luZGljYXRvciIsIl9yZWYiLCJpc1Zpc2libGUiLCJhY3RpdmVTaWRlUGFuZWwiLCJzaWRlUGFuZWxXaWR0aCIsIm51bVJhc3RlclRpbGVzSW5Qcm9ncmVzcyIsImdldE51bVJhc3RlclRpbGVzQmVpbmdMb2FkZWQiLCJudW1WZWN0b3JUaWxlc0luUHJvZ3Jlc3MiLCJnZXROdW1WZWN0b3JUaWxlc0JlaW5nTG9hZGVkIiwiZXh0cmFNZXNzYWdlIiwidG90YWxUaWxlcyIsImNvbmNhdCIsImxhc3RNZXNzYWdlUmVmIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsImRpc3BsYXlNZXNzYWdlIiwiY3JlYXRlRWxlbWVudCIsIl9kZWZhdWx0Iiwid2l0aFRoZW1lIl0sInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRpbmctaW5kaWNhdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtQcm9wc1dpdGhDaGlsZHJlbiwgdXNlUmVmLCB1c2VFZmZlY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWUsIGtleWZyYW1lc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge2dldE51bVJhc3RlclRpbGVzQmVpbmdMb2FkZWQsIGdldE51bVZlY3RvclRpbGVzQmVpbmdMb2FkZWR9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgJGlzVmlzaWJsZT86IGJvb2xlYW47XG4gICRsZWZ0OiBudW1iZXI7XG59O1xuXG5jb25zdCBzcGluID0ga2V5ZnJhbWVzYFxuICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG5gO1xuXG5jb25zdCBTcGlubmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgYm9yZGVyOiAycHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogJHtzcGlufSAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRhaW5lclByb3BzPmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLiRsZWZ0fXB4O1xuICBib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsLm1hcmdpbi5sZWZ0fXB4O1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy4kaXNWaXNpYmxlID8gMSA6IDApfTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbEJnfTtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuYDtcblxudHlwZSBMb2FkaW5nSW5kaWNhdG9yUHJvcHMgPSB7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIGFjdGl2ZVNpZGVQYW5lbD86IGJvb2xlYW47XG4gIHNpZGVQYW5lbFdpZHRoPzogbnVtYmVyO1xufTtcblxuLyoqIEV4dHJhIGFkanVzdG1lbnQgZm9yIHRoZSBsb2FkaW5nIGluZGljYXRvciB3aGVuIHNpZGUgcGFuZWwgaXMgdmlzaWJsZSAqL1xuY29uc3QgTEVGVF9QT1NJVElPTl9BREpVU1RNRU5UID0gMztcblxuY29uc3QgTG9hZGluZ0luZGljYXRvcjogUmVhY3QuRkM8TG9hZGluZ0luZGljYXRvclByb3BzICYge3RoZW1lOiBhbnl9PiA9ICh7XG4gIGlzVmlzaWJsZSxcbiAgYWN0aXZlU2lkZVBhbmVsLFxuICBzaWRlUGFuZWxXaWR0aCxcbiAgdGhlbWVcbn0pID0+IHtcbiAgY29uc3QgbGVmdCA9XG4gICAgKGFjdGl2ZVNpZGVQYW5lbCA/IChzaWRlUGFuZWxXaWR0aCB8fCAwKSArIExFRlRfUE9TSVRJT05fQURKVVNUTUVOVCA6IDApICtcbiAgICB0aGVtZS5zaWRlUGFuZWwubWFyZ2luLmxlZnQ7XG5cbiAgLy8gSGVscGVyIG1lc3NhZ2UgdG8gdHJhY2sgbnVtYmVyIG9mIHRpbGVzIHRoYXQgYXJlIGJlaW5nIGxvYWRlZFxuICBjb25zdCBudW1SYXN0ZXJUaWxlc0luUHJvZ3Jlc3MgPSBnZXROdW1SYXN0ZXJUaWxlc0JlaW5nTG9hZGVkKCk7XG4gIGNvbnN0IG51bVZlY3RvclRpbGVzSW5Qcm9ncmVzcyA9IGdldE51bVZlY3RvclRpbGVzQmVpbmdMb2FkZWQoKTtcblxuICBsZXQgZXh0cmFNZXNzYWdlID0gJyc7XG4gIGlmIChudW1SYXN0ZXJUaWxlc0luUHJvZ3Jlc3MgPiAwICYmIG51bVZlY3RvclRpbGVzSW5Qcm9ncmVzcyA+IDApIHtcbiAgICAvLyBCb3RoIHR5cGVzIGxvYWRpbmc6IHNob3cgY29tYmluZWQgY291bnRcbiAgICBjb25zdCB0b3RhbFRpbGVzID0gbnVtUmFzdGVyVGlsZXNJblByb2dyZXNzICsgbnVtVmVjdG9yVGlsZXNJblByb2dyZXNzO1xuICAgIGV4dHJhTWVzc2FnZSA9IGAke3RvdGFsVGlsZXN9IHRpbGUke3RvdGFsVGlsZXMgPT09IDEgPyAnIGlzJyA6ICdzIGFyZSd9IGJlaW5nIGxvYWRlZGA7XG4gIH0gZWxzZSBpZiAobnVtUmFzdGVyVGlsZXNJblByb2dyZXNzID4gMCkge1xuICAgIC8vIE9ubHkgcmFzdGVyIHRpbGVzIGxvYWRpbmdcbiAgICBleHRyYU1lc3NhZ2UgPSBgJHtudW1SYXN0ZXJUaWxlc0luUHJvZ3Jlc3N9IHJhc3RlciB0aWxlJHtcbiAgICAgIG51bVJhc3RlclRpbGVzSW5Qcm9ncmVzcyA9PT0gMSA/ICcgaXMnIDogJ3MgYXJlJ1xuICAgIH0gYmVpbmcgbG9hZGVkYDtcbiAgfSBlbHNlIGlmIChudW1WZWN0b3JUaWxlc0luUHJvZ3Jlc3MgPiAwKSB7XG4gICAgLy8gT25seSB2ZWN0b3IgdGlsZXMgbG9hZGluZ1xuICAgIGV4dHJhTWVzc2FnZSA9IGAke251bVZlY3RvclRpbGVzSW5Qcm9ncmVzc30gdmVjdG9yIHRpbGUke1xuICAgICAgbnVtVmVjdG9yVGlsZXNJblByb2dyZXNzID09PSAxID8gJyBpcycgOiAncyBhcmUnXG4gICAgfSBiZWluZyBsb2FkZWRgO1xuICB9XG5cbiAgLy8gUHJlc2VydmUgdGhlIGxhc3QgbWVzc2FnZSBkdXJpbmcgZmFkZS1vdXRcbiAgY29uc3QgbGFzdE1lc3NhZ2VSZWYgPSB1c2VSZWYoZXh0cmFNZXNzYWdlKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlICYmIGV4dHJhTWVzc2FnZSkge1xuICAgICAgbGFzdE1lc3NhZ2VSZWYuY3VycmVudCA9IGV4dHJhTWVzc2FnZTtcbiAgICB9XG4gIH0sIFtpc1Zpc2libGUsIGV4dHJhTWVzc2FnZV0pO1xuXG4gIGNvbnN0IGRpc3BsYXlNZXNzYWdlID0gaXNWaXNpYmxlID8gZXh0cmFNZXNzYWdlIDogbGFzdE1lc3NhZ2VSZWYuY3VycmVudDtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXIgJGlzVmlzaWJsZT17aXNWaXNpYmxlfSAkbGVmdD17bGVmdH0+XG4gICAgICA8U3Bpbm5lciAvPlxuICAgICAgPHNwYW4+e2BMb2FkaW5nLi4uICR7ZGlzcGxheU1lc3NhZ2V9YH08L3NwYW4+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVGhlbWUoTG9hZGluZ0luZGljYXRvcikgYXMgUmVhY3QuRkM8UHJvcHNXaXRoQ2hpbGRyZW48TG9hZGluZ0luZGljYXRvclByb3BzPj47XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFBNkYsSUFBQUcsZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQU43RjtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFSLHdCQUFBUSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBWUEsSUFBTVcsSUFBSSxPQUFHQywyQkFBUyxFQUFBeEIsZUFBQSxLQUFBQSxlQUFBLE9BQUF5Qix1QkFBQSxnR0FHckI7QUFFRCxJQUFNQyxPQUFPLEdBQUdDLDRCQUFNLENBQUNDLEdBQUcsQ0FBQTNCLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUF3Qix1QkFBQSxnUUFLSixVQUFBSSxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFdBQVc7QUFBQSxHQUd2Q1IsSUFBSSxDQUVsQjtBQUVNLElBQU1TLGVBQWUsR0FBQUMsT0FBQSxDQUFBRCxlQUFBLEdBQUdMLDRCQUFNLENBQUNDLEdBQUcsQ0FBQTFCLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUF1Qix1QkFBQSxxWkFFL0IsVUFBQUksS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0ssS0FBSztBQUFBLEdBQ2xCLFVBQUFMLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0ssU0FBUyxDQUFDQyxNQUFNLENBQUNDLElBQUk7QUFBQSxHQUUzQyxVQUFBUixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNRLFNBQVM7QUFBQSxHQUM1QixVQUFBVCxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDVSxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUM7QUFBQSxDQUFDLEVBRTFCLFVBQUFWLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ1UsV0FBVztBQUFBLEVBU3JEO0FBUUQ7QUFDQSxJQUFNQyx3QkFBd0IsR0FBRyxDQUFDO0FBRWxDLElBQU1DLGdCQUFnRSxHQUFHLFNBQW5FQSxnQkFBZ0VBLENBQUFDLElBQUEsRUFLaEU7RUFBQSxJQUpKQyxTQUFTLEdBQUFELElBQUEsQ0FBVEMsU0FBUztJQUNUQyxlQUFlLEdBQUFGLElBQUEsQ0FBZkUsZUFBZTtJQUNmQyxjQUFjLEdBQUFILElBQUEsQ0FBZEcsY0FBYztJQUNkaEIsS0FBSyxHQUFBYSxJQUFBLENBQUxiLEtBQUs7RUFFTCxJQUFNTyxJQUFJLEdBQ1IsQ0FBQ1EsZUFBZSxHQUFHLENBQUNDLGNBQWMsSUFBSSxDQUFDLElBQUlMLHdCQUF3QixHQUFHLENBQUMsSUFDdkVYLEtBQUssQ0FBQ0ssU0FBUyxDQUFDQyxNQUFNLENBQUNDLElBQUk7O0VBRTdCO0VBQ0EsSUFBTVUsd0JBQXdCLEdBQUcsSUFBQUMsb0NBQTRCLEVBQUMsQ0FBQztFQUMvRCxJQUFNQyx3QkFBd0IsR0FBRyxJQUFBQyxvQ0FBNEIsRUFBQyxDQUFDO0VBRS9ELElBQUlDLFlBQVksR0FBRyxFQUFFO0VBQ3JCLElBQUlKLHdCQUF3QixHQUFHLENBQUMsSUFBSUUsd0JBQXdCLEdBQUcsQ0FBQyxFQUFFO0lBQ2hFO0lBQ0EsSUFBTUcsVUFBVSxHQUFHTCx3QkFBd0IsR0FBR0Usd0JBQXdCO0lBQ3RFRSxZQUFZLE1BQUFFLE1BQUEsQ0FBTUQsVUFBVSxXQUFBQyxNQUFBLENBQVFELFVBQVUsS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLE9BQU8sa0JBQWU7RUFDdkYsQ0FBQyxNQUFNLElBQUlMLHdCQUF3QixHQUFHLENBQUMsRUFBRTtJQUN2QztJQUNBSSxZQUFZLE1BQUFFLE1BQUEsQ0FBTU4sd0JBQXdCLGtCQUFBTSxNQUFBLENBQ3hDTix3QkFBd0IsS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLE9BQU8sa0JBQ25DO0VBQ2pCLENBQUMsTUFBTSxJQUFJRSx3QkFBd0IsR0FBRyxDQUFDLEVBQUU7SUFDdkM7SUFDQUUsWUFBWSxNQUFBRSxNQUFBLENBQU1KLHdCQUF3QixrQkFBQUksTUFBQSxDQUN4Q0osd0JBQXdCLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxPQUFPLGtCQUNuQztFQUNqQjs7RUFFQTtFQUNBLElBQU1LLGNBQWMsR0FBRyxJQUFBQyxhQUFNLEVBQUNKLFlBQVksQ0FBQztFQUMzQyxJQUFBSyxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFJWixTQUFTLElBQUlPLFlBQVksRUFBRTtNQUM3QkcsY0FBYyxDQUFDRyxPQUFPLEdBQUdOLFlBQVk7SUFDdkM7RUFDRixDQUFDLEVBQUUsQ0FBQ1AsU0FBUyxFQUFFTyxZQUFZLENBQUMsQ0FBQztFQUU3QixJQUFNTyxjQUFjLEdBQUdkLFNBQVMsR0FBR08sWUFBWSxHQUFHRyxjQUFjLENBQUNHLE9BQU87RUFFeEUsb0JBQ0U5RCxNQUFBLFlBQUFnRSxhQUFBLENBQUMzQixlQUFlO0lBQUNPLFVBQVUsRUFBRUssU0FBVTtJQUFDVixLQUFLLEVBQUVHO0VBQUssZ0JBQ2xEMUMsTUFBQSxZQUFBZ0UsYUFBQSxDQUFDakMsT0FBTyxNQUFFLENBQUMsZUFDWC9CLE1BQUEsWUFBQWdFLGFBQUEsNkJBQUFOLE1BQUEsQ0FBcUJLLGNBQWMsQ0FBUyxDQUM3QixDQUFDO0FBRXRCLENBQUM7QUFBQyxJQUFBRSxRQUFBLEdBQUEzQixPQUFBLGNBRWEsSUFBQTRCLDJCQUFTLEVBQUNuQixnQkFBZ0IsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
74
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9sYXllcnMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsInNwaW4iLCJrZXlmcmFtZXMiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlNwaW5uZXIiLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9ySGwiLCJTdHlsZWRDb250YWluZXIiLCJleHBvcnRzIiwiJGxlZnQiLCJzaWRlUGFuZWwiLCJtYXJnaW4iLCJsZWZ0IiwiJGJvdHRvbU9mZnNldCIsInRleHRDb2xvciIsIiRpc1Zpc2libGUiLCJzaWRlUGFuZWxCZyIsIkxFRlRfUE9TSVRJT05fQURKVVNUTUVOVCIsIkxvYWRpbmdJbmRpY2F0b3IiLCJfcmVmIiwiaXNWaXNpYmxlIiwiYWN0aXZlU2lkZVBhbmVsIiwic2lkZVBhbmVsV2lkdGgiLCJoYXNBdHRyaWJ1dGlvbkxvZ29zIiwiYm90dG9tT2Zmc2V0IiwibnVtUmFzdGVyVGlsZXNJblByb2dyZXNzIiwiZ2V0TnVtUmFzdGVyVGlsZXNCZWluZ0xvYWRlZCIsIm51bVZlY3RvclRpbGVzSW5Qcm9ncmVzcyIsImdldE51bVZlY3RvclRpbGVzQmVpbmdMb2FkZWQiLCJleHRyYU1lc3NhZ2UiLCJ0b3RhbFRpbGVzIiwiY29uY2F0IiwibGFzdE1lc3NhZ2VSZWYiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwiZGlzcGxheU1lc3NhZ2UiLCJjcmVhdGVFbGVtZW50IiwiX2RlZmF1bHQiLCJ3aXRoVGhlbWUiXSwic291cmNlcyI6WyIuLi9zcmMvbG9hZGluZy1pbmRpY2F0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge1Byb3BzV2l0aENoaWxkcmVuLCB1c2VSZWYsIHVzZUVmZmVjdH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwge3dpdGhUaGVtZSwga2V5ZnJhbWVzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7Z2V0TnVtUmFzdGVyVGlsZXNCZWluZ0xvYWRlZCwgZ2V0TnVtVmVjdG9yVGlsZXNCZWluZ0xvYWRlZH0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0ge1xuICAkaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgJGxlZnQ6IG51bWJlcjtcbiAgJGJvdHRvbU9mZnNldDogbnVtYmVyO1xufTtcblxuY29uc3Qgc3BpbiA9IGtleWZyYW1lc2BcbiAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxuYDtcblxuY29uc3QgU3Bpbm5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246ICR7c3Bpbn0gMC44cyBsaW5lYXIgaW5maW5pdGU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy4kbGVmdH1weDtcbiAgYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbC5tYXJnaW4ubGVmdCArIHByb3BzLiRib3R0b21PZmZzZXR9cHg7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLiRpc1Zpc2libGUgPyAxIDogMCl9O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsQmd9O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5gO1xuXG50eXBlIExvYWRpbmdJbmRpY2F0b3JQcm9wcyA9IHtcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgYWN0aXZlU2lkZVBhbmVsPzogYm9vbGVhbjtcbiAgc2lkZVBhbmVsV2lkdGg/OiBudW1iZXI7XG4gIGhhc0F0dHJpYnV0aW9uTG9nb3M/OiBib29sZWFuO1xufTtcblxuLyoqIEV4dHJhIGFkanVzdG1lbnQgZm9yIHRoZSBsb2FkaW5nIGluZGljYXRvciB3aGVuIHNpZGUgcGFuZWwgaXMgdmlzaWJsZSAqL1xuY29uc3QgTEVGVF9QT1NJVElPTl9BREpVU1RNRU5UID0gMztcblxuY29uc3QgTG9hZGluZ0luZGljYXRvcjogUmVhY3QuRkM8TG9hZGluZ0luZGljYXRvclByb3BzICYge3RoZW1lOiBhbnl9PiA9ICh7XG4gIGlzVmlzaWJsZSxcbiAgYWN0aXZlU2lkZVBhbmVsLFxuICBzaWRlUGFuZWxXaWR0aCxcbiAgaGFzQXR0cmlidXRpb25Mb2dvcyxcbiAgdGhlbWVcbn0pID0+IHtcbiAgY29uc3QgbGVmdCA9XG4gICAgKGFjdGl2ZVNpZGVQYW5lbCA/IChzaWRlUGFuZWxXaWR0aCB8fCAwKSArIExFRlRfUE9TSVRJT05fQURKVVNUTUVOVCA6IDApICtcbiAgICB0aGVtZS5zaWRlUGFuZWwubWFyZ2luLmxlZnQ7XG4gIGNvbnN0IGJvdHRvbU9mZnNldCA9IGhhc0F0dHJpYnV0aW9uTG9nb3MgPyAyNCA6IDA7XG5cbiAgLy8gSGVscGVyIG1lc3NhZ2UgdG8gdHJhY2sgbnVtYmVyIG9mIHRpbGVzIHRoYXQgYXJlIGJlaW5nIGxvYWRlZFxuICBjb25zdCBudW1SYXN0ZXJUaWxlc0luUHJvZ3Jlc3MgPSBnZXROdW1SYXN0ZXJUaWxlc0JlaW5nTG9hZGVkKCk7XG4gIGNvbnN0IG51bVZlY3RvclRpbGVzSW5Qcm9ncmVzcyA9IGdldE51bVZlY3RvclRpbGVzQmVpbmdMb2FkZWQoKTtcblxuICBsZXQgZXh0cmFNZXNzYWdlID0gJyc7XG4gIGlmIChudW1SYXN0ZXJUaWxlc0luUHJvZ3Jlc3MgPiAwICYmIG51bVZlY3RvclRpbGVzSW5Qcm9ncmVzcyA+IDApIHtcbiAgICAvLyBCb3RoIHR5cGVzIGxvYWRpbmc6IHNob3cgY29tYmluZWQgY291bnRcbiAgICBjb25zdCB0b3RhbFRpbGVzID0gbnVtUmFzdGVyVGlsZXNJblByb2dyZXNzICsgbnVtVmVjdG9yVGlsZXNJblByb2dyZXNzO1xuICAgIGV4dHJhTWVzc2FnZSA9IGAke3RvdGFsVGlsZXN9IHRpbGUke3RvdGFsVGlsZXMgPT09IDEgPyAnIGlzJyA6ICdzIGFyZSd9IGJlaW5nIGxvYWRlZGA7XG4gIH0gZWxzZSBpZiAobnVtUmFzdGVyVGlsZXNJblByb2dyZXNzID4gMCkge1xuICAgIC8vIE9ubHkgcmFzdGVyIHRpbGVzIGxvYWRpbmdcbiAgICBleHRyYU1lc3NhZ2UgPSBgJHtudW1SYXN0ZXJUaWxlc0luUHJvZ3Jlc3N9IHJhc3RlciB0aWxlJHtcbiAgICAgIG51bVJhc3RlclRpbGVzSW5Qcm9ncmVzcyA9PT0gMSA/ICcgaXMnIDogJ3MgYXJlJ1xuICAgIH0gYmVpbmcgbG9hZGVkYDtcbiAgfSBlbHNlIGlmIChudW1WZWN0b3JUaWxlc0luUHJvZ3Jlc3MgPiAwKSB7XG4gICAgLy8gT25seSB2ZWN0b3IgdGlsZXMgbG9hZGluZ1xuICAgIGV4dHJhTWVzc2FnZSA9IGAke251bVZlY3RvclRpbGVzSW5Qcm9ncmVzc30gdmVjdG9yIHRpbGUke1xuICAgICAgbnVtVmVjdG9yVGlsZXNJblByb2dyZXNzID09PSAxID8gJyBpcycgOiAncyBhcmUnXG4gICAgfSBiZWluZyBsb2FkZWRgO1xuICB9XG5cbiAgLy8gUHJlc2VydmUgdGhlIGxhc3QgbWVzc2FnZSBkdXJpbmcgZmFkZS1vdXRcbiAgY29uc3QgbGFzdE1lc3NhZ2VSZWYgPSB1c2VSZWYoZXh0cmFNZXNzYWdlKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlICYmIGV4dHJhTWVzc2FnZSkge1xuICAgICAgbGFzdE1lc3NhZ2VSZWYuY3VycmVudCA9IGV4dHJhTWVzc2FnZTtcbiAgICB9XG4gIH0sIFtpc1Zpc2libGUsIGV4dHJhTWVzc2FnZV0pO1xuXG4gIGNvbnN0IGRpc3BsYXlNZXNzYWdlID0gaXNWaXNpYmxlID8gZXh0cmFNZXNzYWdlIDogbGFzdE1lc3NhZ2VSZWYuY3VycmVudDtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb250YWluZXIgJGlzVmlzaWJsZT17aXNWaXNpYmxlfSAkbGVmdD17bGVmdH0gJGJvdHRvbU9mZnNldD17Ym90dG9tT2Zmc2V0fT5cbiAgICAgIDxTcGlubmVyIC8+XG4gICAgICA8c3Bhbj57YExvYWRpbmcuLi4gJHtkaXNwbGF5TWVzc2FnZX1gfTwvc3Bhbj5cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUaGVtZShMb2FkaW5nSW5kaWNhdG9yKSBhcyBSZWFjdC5GQzxQcm9wc1dpdGhDaGlsZHJlbjxMb2FkaW5nSW5kaWNhdG9yUHJvcHM+PjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUE2RixJQUFBRyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBTjdGO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVIsd0JBQUFRLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFB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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React, { ComponentType } from 'react';
|
|
2
|
+
import { MapControls } from '@kepler.gl/types';
|
|
3
|
+
import MapControlTooltipFactory from '../map-control-tooltip';
|
|
4
|
+
interface AnnotationControlIcons {
|
|
5
|
+
annotationIcon: ComponentType<any>;
|
|
6
|
+
}
|
|
7
|
+
export type AnnotationControlProps = {
|
|
8
|
+
mapControls: MapControls;
|
|
9
|
+
onToggleMapControl: (control: string) => void;
|
|
10
|
+
actionIcons?: AnnotationControlIcons;
|
|
11
|
+
};
|
|
12
|
+
declare function AnnotationControlFactory(MapControlTooltip: ReturnType<typeof MapControlTooltipFactory>): React.FC<AnnotationControlProps>;
|
|
13
|
+
declare namespace AnnotationControlFactory {
|
|
14
|
+
var deps: (typeof MapControlTooltipFactory)[];
|
|
15
|
+
}
|
|
16
|
+
export default AnnotationControlFactory;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = AnnotationControlFactory;
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _utils = require("@kepler.gl/utils");
|
|
11
|
+
var _icons = require("../../common/icons");
|
|
12
|
+
var _styledComponents = require("../../common/styled-components");
|
|
13
|
+
var _mapControlTooltip = _interopRequireDefault(require("../map-control-tooltip"));
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
16
|
+
// SPDX-License-Identifier: MIT
|
|
17
|
+
// Copyright contributors to the kepler.gl project
|
|
18
|
+
|
|
19
|
+
AnnotationControlFactory.deps = [_mapControlTooltip["default"]];
|
|
20
|
+
function AnnotationControlFactory(MapControlTooltip) {
|
|
21
|
+
var defaultActionIcons = {
|
|
22
|
+
annotationIcon: _icons.AnnotationText
|
|
23
|
+
};
|
|
24
|
+
var AnnotationControl = function AnnotationControl(_ref) {
|
|
25
|
+
var _mapControls$annotati, _mapControls$annotati2;
|
|
26
|
+
var mapControls = _ref.mapControls,
|
|
27
|
+
onToggleMapControl = _ref.onToggleMapControl,
|
|
28
|
+
_ref$actionIcons = _ref.actionIcons,
|
|
29
|
+
actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons;
|
|
30
|
+
var onClick = (0, _react.useCallback)(function (event) {
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
onToggleMapControl('annotation');
|
|
33
|
+
}, [onToggleMapControl]);
|
|
34
|
+
if (!(0, _utils.getApplicationConfig)().enableAnnotations) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
var showControl = mapControls === null || mapControls === void 0 || (_mapControls$annotati = mapControls.annotation) === null || _mapControls$annotati === void 0 ? void 0 : _mapControls$annotati.show;
|
|
38
|
+
if (!showControl) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
var active = mapControls === null || mapControls === void 0 || (_mapControls$annotati2 = mapControls.annotation) === null || _mapControls$annotati2 === void 0 ? void 0 : _mapControls$annotati2.active;
|
|
42
|
+
return /*#__PURE__*/_react["default"].createElement(MapControlTooltip, {
|
|
43
|
+
id: "show-annotation",
|
|
44
|
+
message: active ? 'tooltip.hideAnnotationPanel' : 'tooltip.showAnnotationPanel'
|
|
45
|
+
}, /*#__PURE__*/_react["default"].createElement(_styledComponents.MapControlButton, {
|
|
46
|
+
className: "map-control-button toggle-annotation",
|
|
47
|
+
onClick: onClick,
|
|
48
|
+
active: active
|
|
49
|
+
}, /*#__PURE__*/_react["default"].createElement(actionIcons.annotationIcon, {
|
|
50
|
+
height: "22px"
|
|
51
|
+
})));
|
|
52
|
+
};
|
|
53
|
+
AnnotationControl.displayName = 'AnnotationControl';
|
|
54
|
+
return /*#__PURE__*/_react["default"].memo(AnnotationControl);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXRpbHMiLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9tYXBDb250cm9sVG9vbHRpcCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJBbm5vdGF0aW9uQ29udHJvbEZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IiwiTWFwQ29udHJvbFRvb2x0aXAiLCJkZWZhdWx0QWN0aW9uSWNvbnMiLCJhbm5vdGF0aW9uSWNvbiIsIkFubm90YXRpb25UZXh0IiwiQW5ub3RhdGlvbkNvbnRyb2wiLCJfcmVmIiwiX21hcENvbnRyb2xzJGFubm90YXRpIiwiX21hcENvbnRyb2xzJGFubm90YXRpMiIsIm1hcENvbnRyb2xzIiwib25Ub2dnbGVNYXBDb250cm9sIiwiX3JlZiRhY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwib25DbGljayIsInVzZUNhbGxiYWNrIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsImdldEFwcGxpY2F0aW9uQ29uZmlnIiwiZW5hYmxlQW5ub3RhdGlvbnMiLCJzaG93Q29udHJvbCIsImFubm90YXRpb24iLCJzaG93IiwiYWN0aXZlIiwiY3JlYXRlRWxlbWVudCIsImlkIiwibWVzc2FnZSIsIk1hcENvbnRyb2xCdXR0b24iLCJjbGFzc05hbWUiLCJoZWlnaHQiLCJkaXNwbGF5TmFtZSIsIlJlYWN0IiwibWVtbyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYXAvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1jb250cm9sLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgQ29tcG9uZW50VHlwZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtNYXBDb250cm9sc30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge2dldEFwcGxpY2F0aW9uQ29uZmlnfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7QW5ub3RhdGlvblRleHR9IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge01hcENvbnRyb2xCdXR0b259IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IGZyb20gJy4uL21hcC1jb250cm9sLXRvb2x0aXAnO1xuXG5pbnRlcmZhY2UgQW5ub3RhdGlvbkNvbnRyb2xJY29ucyB7XG4gIGFubm90YXRpb25JY29uOiBDb21wb25lbnRUeXBlPGFueT47XG59XG5cbmV4cG9ydCB0eXBlIEFubm90YXRpb25Db250cm9sUHJvcHMgPSB7XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgb25Ub2dnbGVNYXBDb250cm9sOiAoY29udHJvbDogc3RyaW5nKSA9PiB2b2lkO1xuICBhY3Rpb25JY29ucz86IEFubm90YXRpb25Db250cm9sSWNvbnM7XG59O1xuXG5Bbm5vdGF0aW9uQ29udHJvbEZhY3RvcnkuZGVwcyA9IFtNYXBDb250cm9sVG9vbHRpcEZhY3RvcnldO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBbm5vdGF0aW9uQ29udHJvbEZhY3RvcnkoXG4gIE1hcENvbnRyb2xUb29sdGlwOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sVG9vbHRpcEZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxBbm5vdGF0aW9uQ29udHJvbFByb3BzPiB7XG4gIGNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgICBhbm5vdGF0aW9uSWNvbjogQW5ub3RhdGlvblRleHRcbiAgfTtcblxuICBjb25zdCBBbm5vdGF0aW9uQ29udHJvbCA9ICh7XG4gICAgbWFwQ29udHJvbHMsXG4gICAgb25Ub2dnbGVNYXBDb250cm9sLFxuICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zXG4gIH06IEFubm90YXRpb25Db250cm9sUHJvcHMpID0+IHtcbiAgICBjb25zdCBvbkNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uVG9nZ2xlTWFwQ29udHJvbCgnYW5ub3RhdGlvbicpO1xuICAgICAgfSxcbiAgICAgIFtvblRvZ2dsZU1hcENvbnRyb2xdXG4gICAgKTtcblxuICAgIGlmICghZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVBbm5vdGF0aW9ucykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvd0NvbnRyb2wgPSBtYXBDb250cm9scz8uYW5ub3RhdGlvbj8uc2hvdztcbiAgICBpZiAoIXNob3dDb250cm9sKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBhY3RpdmUgPSBtYXBDb250cm9scz8uYW5ub3RhdGlvbj8uYWN0aXZlO1xuICAgIHJldHVybiAoXG4gICAgICA8TWFwQ29udHJvbFRvb2x0aXBcbiAgICAgICAgaWQ9XCJzaG93LWFubm90YXRpb25cIlxuICAgICAgICBtZXNzYWdlPXthY3RpdmUgPyAndG9vbHRpcC5oaWRlQW5ub3RhdGlvblBhbmVsJyA6ICd0b29sdGlwLnNob3dBbm5vdGF0aW9uUGFuZWwnfVxuICAgICAgPlxuICAgICAgICA8TWFwQ29udHJvbEJ1dHRvblxuICAgICAgICAgIGNsYXNzTmFtZT1cIm1hcC1jb250cm9sLWJ1dHRvbiB0b2dnbGUtYW5ub3RhdGlvblwiXG4gICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgPlxuICAgICAgICAgIDxhY3Rpb25JY29ucy5hbm5vdGF0aW9uSWNvbiBoZWlnaHQ9XCIyMnB4XCIgLz5cbiAgICAgICAgPC9NYXBDb250cm9sQnV0dG9uPlxuICAgICAgPC9NYXBDb250cm9sVG9vbHRpcD5cbiAgICApO1xuICB9O1xuXG4gIEFubm90YXRpb25Db250cm9sLmRpc3BsYXlOYW1lID0gJ0Fubm90YXRpb25Db250cm9sJztcbiAgcmV0dXJuIFJlYWN0Lm1lbW8oQW5ub3RhdGlvbkNvbnRyb2wpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxrQkFBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBQThELFNBQUFNLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBUix3QkFBQVEsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFB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
|
|
@@ -4,9 +4,13 @@ import PropTypes from 'prop-types';
|
|
|
4
4
|
import { Layer } from '@kepler.gl/layers';
|
|
5
5
|
import { LayerHoverProp } from '@kepler.gl/reducers';
|
|
6
6
|
import { VisState } from '@kepler.gl/schemas';
|
|
7
|
-
export declare const StyledLayerName: import("styled-components").
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
export declare const StyledLayerName: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>, "as" | "forwardedAs"> & {
|
|
8
|
+
as?: import("styled-components").WebTarget | undefined;
|
|
9
|
+
forwardedAs?: import("styled-components").WebTarget | undefined;
|
|
10
|
+
}, never> & Partial<Pick<import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>, "as" | "forwardedAs"> & {
|
|
11
|
+
as?: import("styled-components").WebTarget | undefined;
|
|
12
|
+
forwardedAs?: import("styled-components").WebTarget | undefined;
|
|
13
|
+
}, never>>> & string;
|
|
10
14
|
export type EntryInfoProps = Merge<LayerHoverProp, {
|
|
11
15
|
fieldsToShow: TooltipField[];
|
|
12
16
|
}>;
|
|
@@ -37,11 +37,41 @@ var StyledDivider = _styledComponents["default"].div(_templateObject3 || (_templ
|
|
|
37
37
|
return props.theme.panelBorderColor;
|
|
38
38
|
});
|
|
39
39
|
var TOOLTIP_VALUE_MAX_LENGTH = 256;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Image component that cleans up resources on unmount to prevent memory leaks.
|
|
43
|
+
* Revokes blob/object URLs and clears the image src to release memory.
|
|
44
|
+
*/
|
|
45
|
+
var TooltipImage = function TooltipImage(_ref) {
|
|
46
|
+
var src = _ref.src;
|
|
47
|
+
var imgRef = (0, _react.useRef)(null);
|
|
48
|
+
(0, _react.useEffect)(function () {
|
|
49
|
+
return function () {
|
|
50
|
+
// Revoke blob URLs to free memory
|
|
51
|
+
if (src && (src.startsWith('blob:') || src.startsWith('data:'))) {
|
|
52
|
+
try {
|
|
53
|
+
URL.revokeObjectURL(src);
|
|
54
|
+
} catch (e) {
|
|
55
|
+
// ignore errors from non-object URLs
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Clear the image src to release the decoded image from memory
|
|
59
|
+
if (imgRef.current) {
|
|
60
|
+
imgRef.current.src = '';
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}, [src]);
|
|
64
|
+
return /*#__PURE__*/_react["default"].createElement("img", {
|
|
65
|
+
ref: imgRef,
|
|
66
|
+
src: src
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
var Row = function Row(_ref2) {
|
|
70
|
+
var name = _ref2.name,
|
|
71
|
+
value = _ref2.value,
|
|
72
|
+
deltaValue = _ref2.deltaValue,
|
|
73
|
+
url = _ref2.url,
|
|
74
|
+
isComparing = _ref2.isComparing;
|
|
45
75
|
// Set 'url' to 'value' if it looks like a url
|
|
46
76
|
if (!url && value && typeof value === 'string' && value.match(/^http/)) {
|
|
47
77
|
url = value;
|
|
@@ -57,19 +87,19 @@ var Row = function Row(_ref) {
|
|
|
57
87
|
className: "row__name"
|
|
58
88
|
}, asImg ? name.replace('<img>', '') : name), /*#__PURE__*/_react["default"].createElement("td", {
|
|
59
89
|
className: "row__value"
|
|
60
|
-
}, asImg ? /*#__PURE__*/_react["default"].createElement(
|
|
90
|
+
}, asImg ? /*#__PURE__*/_react["default"].createElement(TooltipImage, {
|
|
61
91
|
src: value
|
|
62
92
|
}) : url ? /*#__PURE__*/_react["default"].createElement("a", {
|
|
63
93
|
target: "_blank",
|
|
64
94
|
rel: "noopener noreferrer",
|
|
65
95
|
href: url
|
|
66
|
-
}, displayValue) : /*#__PURE__*/_react["default"].createElement(
|
|
67
|
-
className: "row__delta-value ".concat((deltaValue === null || deltaValue === void 0 ? void 0 : deltaValue.toString().charAt(0)) === '+' ? 'positive' : 'negative')
|
|
68
|
-
}, deltaValue) : null)
|
|
96
|
+
}, displayValue) : /*#__PURE__*/_react["default"].createElement("span", null, displayValue)), isComparing ? /*#__PURE__*/_react["default"].createElement("td", {
|
|
97
|
+
className: "row__delta-value ".concat((0, _commonUtils.notNullorUndefined)(deltaValue) ? (deltaValue === null || deltaValue === void 0 ? void 0 : deltaValue.toString().charAt(0)) === '+' ? 'positive' : 'negative' : '')
|
|
98
|
+
}, deltaValue !== null && deltaValue !== void 0 ? deltaValue : '') : null);
|
|
69
99
|
};
|
|
70
|
-
var EntryInfo = function EntryInfo(
|
|
71
|
-
var fieldsToShow =
|
|
72
|
-
props = (0, _objectWithoutProperties2["default"])(
|
|
100
|
+
var EntryInfo = function EntryInfo(_ref3) {
|
|
101
|
+
var fieldsToShow = _ref3.fieldsToShow,
|
|
102
|
+
props = (0, _objectWithoutProperties2["default"])(_ref3, _excluded);
|
|
73
103
|
return /*#__PURE__*/_react["default"].createElement("tbody", null, fieldsToShow.map(function (item) {
|
|
74
104
|
return /*#__PURE__*/_react["default"].createElement(EntryInfoRow, (0, _extends2["default"])({
|
|
75
105
|
key: item.name,
|
|
@@ -77,14 +107,14 @@ var EntryInfo = function EntryInfo(_ref2) {
|
|
|
77
107
|
}, props));
|
|
78
108
|
}));
|
|
79
109
|
};
|
|
80
|
-
var EntryInfoRow = function EntryInfoRow(
|
|
81
|
-
var layer =
|
|
82
|
-
item =
|
|
83
|
-
fields =
|
|
84
|
-
data =
|
|
85
|
-
primaryData =
|
|
86
|
-
compareType =
|
|
87
|
-
currentTime =
|
|
110
|
+
var EntryInfoRow = function EntryInfoRow(_ref4) {
|
|
111
|
+
var layer = _ref4.layer,
|
|
112
|
+
item = _ref4.item,
|
|
113
|
+
fields = _ref4.fields,
|
|
114
|
+
data = _ref4.data,
|
|
115
|
+
primaryData = _ref4.primaryData,
|
|
116
|
+
compareType = _ref4.compareType,
|
|
117
|
+
currentTime = _ref4.currentTime;
|
|
88
118
|
var fieldIdx = fields.findIndex(function (f) {
|
|
89
119
|
return f.name === item.name;
|
|
90
120
|
});
|
|
@@ -96,26 +126,24 @@ var EntryInfoRow = function EntryInfoRow(_ref3) {
|
|
|
96
126
|
var value = fieldValueAccessor(field, data instanceof _utils.DataRow ? {
|
|
97
127
|
index: data._rowIndex
|
|
98
128
|
} : data);
|
|
99
|
-
|
|
100
|
-
// Handle WMS layer data in comparison mode - WMS layers don't have comparable field data
|
|
101
129
|
var primaryValue = null;
|
|
102
130
|
var displayDeltaValue = null;
|
|
103
131
|
if (primaryData) {
|
|
104
132
|
try {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
primaryValue = fieldValueAccessor(field, primaryData instanceof _utils.DataRow ? {
|
|
133
|
+
if (primaryData instanceof _utils.DataRow) {
|
|
134
|
+
primaryValue = fieldValueAccessor(field, {
|
|
108
135
|
index: primaryData._rowIndex
|
|
109
|
-
} : primaryData);
|
|
110
|
-
displayDeltaValue = (0, _reducers.getTooltipDisplayDeltaValue)({
|
|
111
|
-
field: field,
|
|
112
|
-
value: value,
|
|
113
|
-
primaryValue: primaryValue,
|
|
114
|
-
compareType: compareType
|
|
115
136
|
});
|
|
137
|
+
} else if (Array.isArray(primaryData) || (0, _typeof2["default"])(primaryData) === 'object' && primaryData) {
|
|
138
|
+
primaryValue = fieldValueAccessor(field, primaryData);
|
|
116
139
|
}
|
|
140
|
+
displayDeltaValue = (0, _reducers.getTooltipDisplayDeltaValue)({
|
|
141
|
+
field: field,
|
|
142
|
+
value: value,
|
|
143
|
+
primaryValue: primaryValue,
|
|
144
|
+
compareType: compareType
|
|
145
|
+
});
|
|
117
146
|
} catch (error) {
|
|
118
|
-
// If there's an error accessing primaryData (e.g., WMS layer data), skip comparison
|
|
119
147
|
primaryValue = null;
|
|
120
148
|
}
|
|
121
149
|
}
|
|
@@ -127,18 +155,20 @@ var EntryInfoRow = function EntryInfoRow(_ref3) {
|
|
|
127
155
|
return /*#__PURE__*/_react["default"].createElement(Row, {
|
|
128
156
|
name: field.displayName || field.name,
|
|
129
157
|
value: displayValue,
|
|
130
|
-
deltaValue: displayDeltaValue
|
|
158
|
+
deltaValue: displayDeltaValue,
|
|
159
|
+
isComparing: Boolean(primaryData)
|
|
131
160
|
});
|
|
132
161
|
};
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
var
|
|
140
|
-
colorField =
|
|
141
|
-
sizeField =
|
|
162
|
+
var CellInfo = function CellInfo(_ref5) {
|
|
163
|
+
var fieldsToShow = _ref5.fieldsToShow,
|
|
164
|
+
data = _ref5.data,
|
|
165
|
+
layer = _ref5.layer,
|
|
166
|
+
primaryData = _ref5.primaryData,
|
|
167
|
+
compareType = _ref5.compareType;
|
|
168
|
+
var _ref6 = layer.config,
|
|
169
|
+
colorField = _ref6.colorField,
|
|
170
|
+
sizeField = _ref6.sizeField;
|
|
171
|
+
var isComparing = Boolean(primaryData);
|
|
142
172
|
var colorValue = (0, _react.useMemo)(function () {
|
|
143
173
|
if (colorField && layer.visualChannels.color) {
|
|
144
174
|
var item = fieldsToShow.find(function (field) {
|
|
@@ -165,41 +195,78 @@ var CellInfo = function CellInfo(_ref4) {
|
|
|
165
195
|
}
|
|
166
196
|
return null;
|
|
167
197
|
}, [fieldsToShow, sizeField, layer, data.elevationValue]);
|
|
198
|
+
var colorDelta = (0, _react.useMemo)(function () {
|
|
199
|
+
if (!primaryData || !colorField || !('colorValue' in primaryData)) return null;
|
|
200
|
+
return (0, _reducers.getTooltipDisplayDeltaValue)({
|
|
201
|
+
field: colorField,
|
|
202
|
+
value: data.colorValue,
|
|
203
|
+
primaryValue: primaryData.colorValue,
|
|
204
|
+
compareType: compareType
|
|
205
|
+
});
|
|
206
|
+
}, [primaryData, colorField, data.colorValue, compareType]);
|
|
207
|
+
var elevationDelta = (0, _react.useMemo)(function () {
|
|
208
|
+
if (!primaryData || !sizeField || !('elevationValue' in primaryData)) return null;
|
|
209
|
+
return (0, _reducers.getTooltipDisplayDeltaValue)({
|
|
210
|
+
field: sizeField,
|
|
211
|
+
value: data.elevationValue,
|
|
212
|
+
primaryValue: primaryData.elevationValue,
|
|
213
|
+
compareType: compareType
|
|
214
|
+
});
|
|
215
|
+
}, [primaryData, sizeField, data.elevationValue, compareType]);
|
|
168
216
|
var aggregatedData = (0, _react.useMemo)(function () {
|
|
169
217
|
if (data.aggregatedData && fieldsToShow) {
|
|
170
218
|
return fieldsToShow.reduce(function (acc, field) {
|
|
171
219
|
var _data$aggregatedData;
|
|
172
220
|
var dataForField = (_data$aggregatedData = data.aggregatedData) === null || _data$aggregatedData === void 0 ? void 0 : _data$aggregatedData[field.name];
|
|
173
221
|
if (dataForField !== null && dataForField !== void 0 && dataForField.measure && field.name !== (colorField === null || colorField === void 0 ? void 0 : colorField.name)) {
|
|
222
|
+
var _primaryData$aggregat;
|
|
223
|
+
var primaryDataForField = primaryData === null || primaryData === void 0 || (_primaryData$aggregat = primaryData.aggregatedData) === null || _primaryData$aggregat === void 0 ? void 0 : _primaryData$aggregat[field.name];
|
|
224
|
+
var deltaValue = primaryDataForField ? (0, _reducers.getTooltipDisplayDeltaValue)({
|
|
225
|
+
field: {
|
|
226
|
+
type: 'real',
|
|
227
|
+
name: field.name
|
|
228
|
+
},
|
|
229
|
+
value: dataForField.value != null ? Number(dataForField.value) : null,
|
|
230
|
+
primaryValue: primaryDataForField.value != null ? Number(primaryDataForField.value) : null,
|
|
231
|
+
compareType: compareType
|
|
232
|
+
}) : null;
|
|
174
233
|
acc.push({
|
|
175
234
|
name: "".concat((0, _utils.capitalizeFirstLetter)(dataForField.measure), " of ").concat(field.name),
|
|
176
|
-
value: dataForField.value
|
|
235
|
+
value: dataForField.value,
|
|
236
|
+
deltaValue: deltaValue
|
|
177
237
|
});
|
|
178
238
|
}
|
|
179
239
|
return acc;
|
|
180
240
|
}, []);
|
|
181
241
|
}
|
|
182
242
|
return [];
|
|
183
|
-
}, [data.aggregatedData, fieldsToShow, colorField === null || colorField === void 0 ? void 0 : colorField.name]);
|
|
243
|
+
}, [data.aggregatedData, fieldsToShow, colorField === null || colorField === void 0 ? void 0 : colorField.name, primaryData, compareType]);
|
|
184
244
|
var colorMeasure = layer.getVisualChannelDescription('color').measure;
|
|
185
245
|
var sizeMeasure = layer.getVisualChannelDescription('size').measure;
|
|
186
246
|
return /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement(Row, {
|
|
187
247
|
name: 'total points',
|
|
188
248
|
key: "count",
|
|
189
|
-
value: String(data.points && data.points.length)
|
|
249
|
+
value: String(data.points && data.points.length),
|
|
250
|
+
isComparing: isComparing
|
|
190
251
|
}), colorField && layer.visualChannels.color && colorMeasure ? /*#__PURE__*/_react["default"].createElement(Row, {
|
|
191
252
|
name: colorMeasure,
|
|
192
253
|
key: "color",
|
|
193
|
-
value: colorValue || 'N/A'
|
|
254
|
+
value: colorValue || 'N/A',
|
|
255
|
+
deltaValue: colorDelta,
|
|
256
|
+
isComparing: isComparing
|
|
194
257
|
}) : null, sizeField && layer.visualChannels.size && sizeMeasure ? /*#__PURE__*/_react["default"].createElement(Row, {
|
|
195
258
|
name: sizeMeasure,
|
|
196
259
|
key: "size",
|
|
197
|
-
value: elevationValue || 'N/A'
|
|
260
|
+
value: elevationValue || 'N/A',
|
|
261
|
+
deltaValue: elevationDelta,
|
|
262
|
+
isComparing: isComparing
|
|
198
263
|
}) : null, aggregatedData.map(function (dataForField, idx) {
|
|
199
264
|
return /*#__PURE__*/_react["default"].createElement(Row, {
|
|
200
265
|
name: dataForField.name,
|
|
201
266
|
key: "data_".concat(idx),
|
|
202
|
-
value: dataForField.value
|
|
267
|
+
value: dataForField.value != null ? String(dataForField.value) : 'N/A',
|
|
268
|
+
deltaValue: dataForField.deltaValue,
|
|
269
|
+
isComparing: isComparing
|
|
203
270
|
});
|
|
204
271
|
}));
|
|
205
272
|
};
|
|
@@ -218,17 +285,19 @@ var LayerHoverInfoFactory = function LayerHoverInfoFactory() {
|
|
|
218
285
|
className: "map-popover__layer-name"
|
|
219
286
|
}, /*#__PURE__*/_react["default"].createElement(_icons.Layers, {
|
|
220
287
|
height: "12px"
|
|
221
|
-
}), props.layer.config.label), hasFieldsToShow && /*#__PURE__*/_react["default"].createElement(StyledDivider, null), /*#__PURE__*/_react["default"].createElement(StyledTable,
|
|
222
|
-
|
|
223
|
-
|
|
288
|
+
}), props.layer.config.label), hasFieldsToShow && /*#__PURE__*/_react["default"].createElement(StyledDivider, null), /*#__PURE__*/_react["default"].createElement(StyledTable, {
|
|
289
|
+
className: props.primaryData ? 'comparing' : undefined
|
|
290
|
+
}, data.wmsFeatureData ? /*#__PURE__*/_react["default"].createElement("tbody", null, data.wmsFeatureData.map(function (_ref7, i) {
|
|
291
|
+
var name = _ref7.name,
|
|
292
|
+
value = _ref7.value;
|
|
224
293
|
return /*#__PURE__*/_react["default"].createElement(Row, {
|
|
225
294
|
key: i,
|
|
226
295
|
name: name,
|
|
227
296
|
value: value
|
|
228
297
|
});
|
|
229
|
-
})) : data.fieldValues ? /*#__PURE__*/_react["default"].createElement("tbody", null, data.fieldValues.map(function (
|
|
230
|
-
var labelMessage =
|
|
231
|
-
value =
|
|
298
|
+
})) : data.fieldValues ? /*#__PURE__*/_react["default"].createElement("tbody", null, data.fieldValues.map(function (_ref8, i) {
|
|
299
|
+
var labelMessage = _ref8.labelMessage,
|
|
300
|
+
value = _ref8.value;
|
|
232
301
|
return /*#__PURE__*/_react["default"].createElement(Row, {
|
|
233
302
|
key: i,
|
|
234
303
|
name: intl.formatMessage({
|
|
@@ -247,4 +316,4 @@ var LayerHoverInfoFactory = function LayerHoverInfoFactory() {
|
|
|
247
316
|
return LayerHoverInfo;
|
|
248
317
|
};
|
|
249
318
|
var _default = exports["default"] = LayerHoverInfoFactory;
|
|
250
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdHJ1bmNhdGUiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfaWNvbnMiLCJfcHJvcFR5cGVzIiwiX2NvbW1vblV0aWxzIiwiX3V0aWxzIiwiX3JlZHVjZXJzIiwiX3JlYWN0SW50bCIsIl9leGNsdWRlZCIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZExheWVyTmFtZSIsImV4cG9ydHMiLCJzdHlsZWQiLCJDZW50ZXJGbGV4Ym94IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9ySGwiLCJTdHlsZWRUYWJsZSIsInRhYmxlIiwibm90aWZpY2F0aW9uQ29sb3JzIiwic3VjY2VzcyIsIm5lZ2F0aXZlQnRuQWN0QmdkIiwiU3R5bGVkRGl2aWRlciIsImRpdiIsInBhbmVsQm9yZGVyQ29sb3IiLCJUT09MVElQX1ZBTFVFX01BWF9MRU5HVEgiLCJSb3ciLCJfcmVmIiwibmFtZSIsInZhbHVlIiwiZGVsdGFWYWx1ZSIsInVybCIsIm1hdGNoIiwiZGlzcGxheVZhbHVlIiwibGVuZ3RoIiwidHJ1bmNhdGUiLCJhc0ltZyIsInRlc3QiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwia2V5IiwicmVwbGFjZSIsInNyYyIsInRhcmdldCIsInJlbCIsImhyZWYiLCJGcmFnbWVudCIsIm5vdE51bGxvclVuZGVmaW5lZCIsImNvbmNhdCIsInRvU3RyaW5nIiwiY2hhckF0IiwiRW50cnlJbmZvIiwiX3JlZjIiLCJmaWVsZHNUb1Nob3ciLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwibWFwIiwiaXRlbSIsIkVudHJ5SW5mb1JvdyIsIl9leHRlbmRzMiIsIl9yZWYzIiwibGF5ZXIiLCJmaWVsZHMiLCJkYXRhIiwicHJpbWFyeURhdGEiLCJjb21wYXJlVHlwZSIsImN1cnJlbnRUaW1lIiwiZmllbGRJZHgiLCJmaW5kSW5kZXgiLCJmIiwiZmllbGQiLCJmaWVsZFZhbHVlQWNjZXNzb3IiLCJhY2Nlc3NWU0ZpZWxkVmFsdWUiLCJEYXRhUm93IiwiaW5kZXgiLCJfcm93SW5kZXgiLCJwcmltYXJ5VmFsdWUiLCJkaXNwbGF5RGVsdGFWYWx1ZSIsIl90eXBlb2YyIiwiZ2V0VG9vbHRpcERpc3BsYXlEZWx0YVZhbHVlIiwiZXJyb3IiLCJnZXRUb29sdGlwRGlzcGxheVZhbHVlIiwiZGlzcGxheU5hbWUiLCJDZWxsSW5mbyIsIl9yZWY0IiwiX3JlZjUiLCJjb25maWciLCJjb2xvckZpZWxkIiwic2l6ZUZpZWxkIiwiY29sb3JWYWx1ZSIsInVzZU1lbW8iLCJ2aXN1YWxDaGFubmVscyIsImNvbG9yIiwiZmluZCIsImVsZXZhdGlvblZhbHVlIiwic2l6ZSIsImFnZ3JlZ2F0ZWREYXRhIiwicmVkdWNlIiwiYWNjIiwiX2RhdGEkYWdncmVnYXRlZERhdGEiLCJkYXRhRm9yRmllbGQiLCJtZWFzdXJlIiwicHVzaCIsImNhcGl0YWxpemVGaXJzdExldHRlciIsImNvbG9yTWVhc3VyZSIsImdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbiIsInNpemVNZWFzdXJlIiwiU3RyaW5nIiwicG9pbnRzIiwiaWR4IiwiTGF5ZXJIb3ZlckluZm9GYWN0b3J5IiwiTGF5ZXJIb3ZlckluZm8iLCJpbnRsIiwidXNlSW50bCIsImhhc0ZpZWxkc1RvU2hvdyIsImZpZWxkVmFsdWVzIiwia2V5cyIsIndtc0ZlYXR1cmVEYXRhIiwiTGF5ZXJzIiwiaGVpZ2h0IiwibGFiZWwiLCJfcmVmNiIsIl9yZWY3IiwibGFiZWxNZXNzYWdlIiwiZm9ybWF0TWVzc2FnZSIsImlkIiwiaXNBZ2dyZWdhdGVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYXJyYXlPZiIsImFueSIsIm9iamVjdCIsIm9uZU9mVHlwZSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC9sYXllci1ob3Zlci1pbmZvLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB0cnVuY2F0ZSBmcm9tICdsb2Rhc2gvdHJ1bmNhdGUnO1xuaW1wb3J0IHtDb21wYXJlVHlwZSwgRmllbGQsIE1lcmdlLCBUb29sdGlwRmllbGR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtDZW50ZXJGbGV4Ym94fSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtMYXllcnN9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHtub3ROdWxsb3JVbmRlZmluZWR9IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7RGF0YVJvd30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge1xuICBBZ2dyZWdhdGlvbkxheWVySG92ZXJEYXRhLFxuICBMYXllckhvdmVyUHJvcCxcbiAgZ2V0VG9vbHRpcERpc3BsYXlEZWx0YVZhbHVlLFxuICBnZXRUb29sdGlwRGlzcGxheVZhbHVlXG59IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IHt1c2VJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7VmlzU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvc2NoZW1hcyc7XG5pbXBvcnQge2NhcGl0YWxpemVGaXJzdExldHRlcn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMYXllck5hbWUgPSBzdHlsZWQoQ2VudGVyRmxleGJveClgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC40M3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRUYWJsZSA9IHN0eWxlZC50YWJsZWBcbiAgJiAucm93X19kZWx0YS12YWx1ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcblxuICAgICYucG9zaXRpdmUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubm90aWZpY2F0aW9uQ29sb3JzLnN1Y2Nlc3N9O1xuICAgIH1cblxuICAgICYubmVnYXRpdmUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5BY3RCZ2R9O1xuICAgIH1cbiAgfVxuICAmIC5yb3dfX25hbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAmIC5yb3dfX3ZhbHVlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWREaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgLy8gb2Zmc2V0IGRpdmlkZXIgdG8gcmVhY2ggcG9wb3ZlciBlZGdlXG4gIG1hcmdpbi1sZWZ0OiAtMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTRweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG5gO1xuXG5pbnRlcmZhY2UgUm93UHJvcHMge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRlbHRhVmFsdWU/OiBzdHJpbmcgfCBudWxsO1xuICB1cmw/OiBzdHJpbmc7XG59XG5cbmNvbnN0IFRPT0xUSVBfVkFMVUVfTUFYX0xFTkdUSCA9IDI1NjtcblxuY29uc3QgUm93OiBSZWFjdC5GQzxSb3dQcm9wcz4gPSAoe25hbWUsIHZhbHVlLCBkZWx0YVZhbHVlLCB1cmx9KSA9PiB7XG4gIC8vIFNldCAndXJsJyB0byAndmFsdWUnIGlmIGl0IGxvb2tzIGxpa2UgYSB1cmxcbiAgaWYgKCF1cmwgJiYgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5tYXRjaCgvXmh0dHAvKSkge1xuICAgIHVybCA9IHZhbHVlO1xuICB9XG5cbiAgY29uc3QgZGlzcGxheVZhbHVlID1cbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA+IFRPT0xUSVBfVkFMVUVfTUFYX0xFTkdUSFxuICAgICAgPyB0cnVuY2F0ZSh2YWx1ZSwge2xlbmd0aDogVE9PTFRJUF9WQUxVRV9NQVhfTEVOR1RIfSlcbiAgICAgIDogdmFsdWU7XG5cbiAgY29uc3QgYXNJbWcgPSAvPGltZz4vLnRlc3QobmFtZSk7XG4gIHJldHVybiAoXG4gICAgPHRyIGNsYXNzTmFtZT1cImxheWVyLWhvdmVyLWluZm9fX3Jvd1wiIGtleT17bmFtZX0+XG4gICAgICA8dGQgY2xhc3NOYW1lPVwicm93X19uYW1lXCI+e2FzSW1nID8gbmFtZS5yZXBsYWNlKCc8aW1nPicsICcnKSA6IG5hbWV9PC90ZD5cbiAgICAgIDx0ZCBjbGFzc05hbWU9XCJyb3dfX3ZhbHVlXCI+XG4gICAgICAgIHthc0ltZyA/IChcbiAgICAgICAgICA8aW1nIHNyYz17dmFsdWV9IC8+XG4gICAgICAgICkgOiB1cmwgPyAoXG4gICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiIGhyZWY9e3VybH0+XG4gICAgICAgICAgICB7ZGlzcGxheVZhbHVlfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPHNwYW4+e2Rpc3BsYXlWYWx1ZX08L3NwYW4+XG4gICAgICAgICAgICB7bm90TnVsbG9yVW5kZWZpbmVkKGRlbHRhVmFsdWUpID8gKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YHJvd19fZGVsdGEtdmFsdWUgJHtcbiAgICAgICAgICAgICAgICAgIGRlbHRhVmFsdWU/LnRvU3RyaW5nKCkuY2hhckF0KDApID09PSAnKycgPyAncG9zaXRpdmUnIDogJ25lZ2F0aXZlJ1xuICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2RlbHRhVmFsdWV9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgRW50cnlJbmZvUHJvcHMgPSBNZXJnZTxMYXllckhvdmVyUHJvcCwge2ZpZWxkc1RvU2hvdzogVG9vbHRpcEZpZWxkW119PjtcblxuY29uc3QgRW50cnlJbmZvOiBSZWFjdC5GQzxFbnRyeUluZm9Qcm9wcz4gPSAoe2ZpZWxkc1RvU2hvdywgLi4ucHJvcHN9KSA9PiAoXG4gIDx0Ym9keT5cbiAgICB7ZmllbGRzVG9TaG93Lm1hcChpdGVtID0+IChcbiAgICAgIDxFbnRyeUluZm9Sb3cga2V5PXtpdGVtLm5hbWV9IGl0ZW09e2l0ZW19IHsuLi5wcm9wc30gLz5cbiAgICApKX1cbiAgPC90Ym9keT5cbik7XG5cbmV4cG9ydCB0eXBlIEVudHJ5SW5mb1Jvd1Byb3BzID0ge1xuICBkYXRhOiBMYXllckhvdmVyUHJvcFsnZGF0YSddO1xuICBmaWVsZHM6IEZpZWxkW107XG4gIGxheWVyOiBMYXllcjtcbiAgcHJpbWFyeURhdGE/OiBMYXllckhvdmVyUHJvcFsncHJpbWFyeURhdGEnXTtcbiAgY29tcGFyZVR5cGU/OiBDb21wYXJlVHlwZTtcbiAgY3VycmVudFRpbWU/OiBWaXNTdGF0ZVsnYW5pbWF0aW9uQ29uZmlnJ11bJ2N1cnJlbnRUaW1lJ107XG4gIGl0ZW06IFRvb2x0aXBGaWVsZDtcbn07XG5cbmNvbnN0IEVudHJ5SW5mb1JvdzogUmVhY3QuRkM8RW50cnlJbmZvUm93UHJvcHM+ID0gKHtcbiAgbGF5ZXIsXG4gIGl0ZW0sXG4gIGZpZWxkcyxcbiAgZGF0YSxcbiAgcHJpbWFyeURhdGEsXG4gIGNvbXBhcmVUeXBlLFxuICBjdXJyZW50VGltZVxufSkgPT4ge1xuICBjb25zdCBmaWVsZElkeCA9IGZpZWxkcy5maW5kSW5kZXgoZiA9PiBmLm5hbWUgPT09IGl0ZW0ubmFtZSk7XG4gIGlmIChmaWVsZElkeCA8IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBmaWVsZCA9IGZpZWxkc1tmaWVsZElkeF07XG4gIGNvbnN0IGZpZWxkVmFsdWVBY2Nlc3NvciA9IGxheWVyLmFjY2Vzc1ZTRmllbGRWYWx1ZShmaWVsZCwgY3VycmVudFRpbWUpO1xuICBjb25zdCB2YWx1ZSA9IGZpZWxkVmFsdWVBY2Nlc3NvcihmaWVsZCwgZGF0YSBpbnN0YW5jZW9mIERhdGFSb3cgPyB7aW5kZXg6IGRhdGEuX3Jvd0luZGV4fSA6IGRhdGEpO1xuXG4gIC8vIEhhbmRsZSBXTVMgbGF5ZXIgZGF0YSBpbiBjb21wYXJpc29uIG1vZGUgLSBXTVMgbGF5ZXJzIGRvbid0IGhhdmUgY29tcGFyYWJsZSBmaWVsZCBkYXRhXG4gIGxldCBwcmltYXJ5VmFsdWUgPSBudWxsO1xuICBsZXQgZGlzcGxheURlbHRhVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGlmIChwcmltYXJ5RGF0YSkge1xuICAgIHRyeSB7XG4gICAgICAvLyBPbmx5IGNhbGN1bGF0ZSBwcmltYXJ5IHZhbHVlIGlmIHByaW1hcnlEYXRhIGhhcyBhIGNvbXBhdGlibGUgc3RydWN0dXJlXG4gICAgICBpZiAoXG4gICAgICAgIHByaW1hcnlEYXRhIGluc3RhbmNlb2YgRGF0YVJvdyB8fFxuICAgICAgICAocHJpbWFyeURhdGEgJiYgdHlwZW9mIHByaW1hcnlEYXRhID09PSAnb2JqZWN0JyAmJiAnaW5kZXgnIGluIHByaW1hcnlEYXRhKVxuICAgICAgKSB7XG4gICAgICAgIHByaW1hcnlWYWx1ZSA9IGZpZWxkVmFsdWVBY2Nlc3NvcihcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBwcmltYXJ5RGF0YSBpbnN0YW5jZW9mIERhdGFSb3cgPyB7aW5kZXg6IHByaW1hcnlEYXRhLl9yb3dJbmRleH0gOiBwcmltYXJ5RGF0YVxuICAgICAgICApO1xuXG4gICAgICAgIGRpc3BsYXlEZWx0YVZhbHVlID0gZ2V0VG9vbHRpcERpc3BsYXlEZWx0YVZhbHVlKHtcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBwcmltYXJ5VmFsdWUsXG4gICAgICAgICAgY29tcGFyZVR5cGVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIElmIHRoZXJlJ3MgYW4gZXJyb3IgYWNjZXNzaW5nIHByaW1hcnlEYXRhIChlLmcuLCBXTVMgbGF5ZXIgZGF0YSksIHNraXAgY29tcGFyaXNvblxuICAgICAgcHJpbWFyeVZhbHVlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkaXNwbGF5VmFsdWUgPSBnZXRUb29sdGlwRGlzcGxheVZhbHVlKHtpdGVtLCBmaWVsZCwgdmFsdWV9KTtcblxuICByZXR1cm4gKFxuICAgIDxSb3dcbiAgICAgIG5hbWU9e2ZpZWxkLmRpc3BsYXlOYW1lIHx8IGZpZWxkLm5hbWV9XG4gICAgICB2YWx1ZT17ZGlzcGxheVZhbHVlfVxuICAgICAgZGVsdGFWYWx1ZT17ZGlzcGxheURlbHRhVmFsdWV9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vIFRPRE86IHN1cHBvcnRpbmcgY29tcGFyYXRpdmUgdmFsdWUgZm9yIGFnZ3JlZ2F0ZWQgY2VsbHMgYXMgd2VsbFxuY29uc3QgQ2VsbEluZm8gPSAoe1xuICBmaWVsZHNUb1Nob3csXG4gIGRhdGEsXG4gIGxheWVyXG59OiB7XG4gIGRhdGE6IEFnZ3JlZ2F0aW9uTGF5ZXJIb3ZlckRhdGE7XG4gIGZpZWxkc1RvU2hvdzogVG9vbHRpcEZpZWxkW107XG4gIGxheWVyOiBMYXllcjtcbn0pID0+IHtcbiAgY29uc3Qge2NvbG9yRmllbGQsIHNpemVGaWVsZH0gPSBsYXllci5jb25maWcgYXMgYW55O1xuXG4gIGNvbnN0IGNvbG9yVmFsdWUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoY29sb3JGaWVsZCAmJiBsYXllci52aXN1YWxDaGFubmVscy5jb2xvcikge1xuICAgICAgY29uc3QgaXRlbSA9IGZpZWxkc1RvU2hvdy5maW5kKGZpZWxkID0+IGZpZWxkLm5hbWUgPT09IGNvbG9yRmllbGQubmFtZSk7XG4gICAgICByZXR1cm4gZ2V0VG9vbHRpcERpc3BsYXlWYWx1ZSh7aXRlbSwgZmllbGQ6IGNvbG9yRmllbGQsIHZhbHVlOiBkYXRhLmNvbG9yVmFsdWV9KTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH0sIFtmaWVsZHNUb1Nob3csIGNvbG9yRmllbGQsIGxheWVyLCBkYXRhLmNvbG9yVmFsdWVdKTtcblxuICBjb25zdCBlbGV2YXRpb25WYWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChzaXplRmllbGQgJiYgbGF5ZXIudmlzdWFsQ2hhbm5lbHMuc2l6ZSkge1xuICAgICAgY29uc3QgaXRlbSA9IGZpZWxkc1RvU2hvdy5maW5kKGZpZWxkID0+IGZpZWxkLm5hbWUgPT09IHNpemVGaWVsZC5uYW1lKTtcbiAgICAgIHJldHVybiBnZXRUb29sdGlwRGlzcGxheVZhbHVlKHtpdGVtLCBmaWVsZDogc2l6ZUZpZWxkLCB2YWx1ZTogZGF0YS5lbGV2YXRpb25WYWx1ZX0pO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgW2ZpZWxkc1RvU2hvdywgc2l6ZUZpZWxkLCBsYXllciwgZGF0YS5lbGV2YXRpb25WYWx1ZV0pO1xuXG4gIGNvbnN0IGFnZ3JlZ2F0ZWREYXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGRhdGEuYWdncmVnYXRlZERhdGEgJiYgZmllbGRzVG9TaG93KSB7XG4gICAgICByZXR1cm4gZmllbGRzVG9TaG93LnJlZHVjZSgoYWNjLCBmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhRm9yRmllbGQgPSBkYXRhLmFnZ3JlZ2F0ZWREYXRhPy5bZmllbGQubmFtZV07XG4gICAgICAgIGlmIChkYXRhRm9yRmllbGQ/Lm1lYXN1cmUgJiYgZmllbGQubmFtZSAhPT0gY29sb3JGaWVsZD8ubmFtZSkge1xuICAgICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IGAke2NhcGl0YWxpemVGaXJzdExldHRlcihkYXRhRm9yRmllbGQubWVhc3VyZSl9IG9mICR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgICAgdmFsdWU6IGRhdGFGb3JGaWVsZC52YWx1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCBbXSBhcyB7bmFtZTogc3RyaW5nOyB2YWx1ZT86IHN0cmluZ31bXSk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfSwgW2RhdGEuYWdncmVnYXRlZERhdGEsIGZpZWxkc1RvU2hvdywgY29sb3JGaWVsZD8ubmFtZV0pO1xuXG4gIGNvbnN0IGNvbG9yTWVhc3VyZSA9IGxheWVyLmdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbignY29sb3InKS5tZWFzdXJlO1xuICBjb25zdCBzaXplTWVhc3VyZSA9IGxheWVyLmdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbignc2l6ZScpLm1lYXN1cmU7XG4gIHJldHVybiAoXG4gICAgPHRib2R5PlxuICAgICAgPFJvdyBuYW1lPXsndG90YWwgcG9pbnRzJ30ga2V5PVwiY291bnRcIiB2YWx1ZT17U3RyaW5nKGRhdGEucG9pbnRzICYmIGRhdGEucG9pbnRzLmxlbmd0aCl9IC8+XG4gICAgICB7Y29sb3JGaWVsZCAmJiBsYXllci52aXN1YWxDaGFubmVscy5jb2xvciAmJiBjb2xvck1lYXN1cmUgPyAoXG4gICAgICAgIDxSb3cgbmFtZT17Y29sb3JNZWFzdXJlfSBrZXk9XCJjb2xvclwiIHZhbHVlPXtjb2xvclZhbHVlIHx8ICdOL0EnfSAvPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7c2l6ZUZpZWxkICYmIGxheWVyLnZpc3VhbENoYW5uZWxzLnNpemUgJiYgc2l6ZU1lYXN1cmUgPyAoXG4gICAgICAgIDxSb3cgbmFtZT17c2l6ZU1lYXN1cmV9IGtleT1cInNpemVcIiB2YWx1ZT17ZWxldmF0aW9uVmFsdWUgfHwgJ04vQSd9IC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHthZ2dyZWdhdGVkRGF0YS5tYXAoKGRhdGFGb3JGaWVsZCwgaWR4KSA9PiAoXG4gICAgICAgIDxSb3cgbmFtZT17ZGF0YUZvckZpZWxkLm5hbWV9IGtleT17YGRhdGFfJHtpZHh9YH0gdmFsdWU9e2RhdGFGb3JGaWVsZC52YWx1ZSB8fCAnTi9BJ30gLz5cbiAgICAgICkpfVxuICAgIDwvdGJvZHk+XG4gICk7XG59O1xuXG5jb25zdCBMYXllckhvdmVySW5mb0ZhY3RvcnkgPSAoKSA9PiB7XG4gIGNvbnN0IExheWVySG92ZXJJbmZvID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHtkYXRhLCBsYXllcn0gPSBwcm9wcztcbiAgICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICAgIGlmICghZGF0YSB8fCAhbGF5ZXIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGhhc0ZpZWxkc1RvU2hvdyA9XG4gICAgICAoZGF0YS5maWVsZFZhbHVlcyAmJiBPYmplY3Qua2V5cyhkYXRhLmZpZWxkVmFsdWVzKS5sZW5ndGggPiAwKSB8fFxuICAgICAgKGRhdGEud21zRmVhdHVyZURhdGEgJiYgZGF0YS53bXNGZWF0dXJlRGF0YS5sZW5ndGggPiAwKSB8fFxuICAgICAgKHByb3BzLmZpZWxkc1RvU2hvdyAmJiBwcm9wcy5maWVsZHNUb1Nob3cubGVuZ3RoID4gMCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXAtcG9wb3Zlcl9fbGF5ZXItaW5mb1wiPlxuICAgICAgICA8U3R5bGVkTGF5ZXJOYW1lIGNsYXNzTmFtZT1cIm1hcC1wb3BvdmVyX19sYXllci1uYW1lXCI+XG4gICAgICAgICAgPExheWVycyBoZWlnaHQ9XCIxMnB4XCIgLz5cbiAgICAgICAgICB7cHJvcHMubGF5ZXIuY29uZmlnLmxhYmVsfVxuICAgICAgICA8L1N0eWxlZExheWVyTmFtZT5cbiAgICAgICAge2hhc0ZpZWxkc1RvU2hvdyAmJiA8U3R5bGVkRGl2aWRlciAvPn1cbiAgICAgICAgPFN0eWxlZFRhYmxlPlxuICAgICAgICAgIHtkYXRhLndtc0ZlYXR1cmVEYXRhID8gKFxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICB7ZGF0YS53bXNGZWF0dXJlRGF0YS5tYXAoKHtuYW1lLCB2YWx1ZX0sIGkpID0+IChcbiAgICAgICAgICAgICAgICA8Um93IGtleT17aX0gbmFtZT17bmFtZX0gdmFsdWU9e3ZhbHVlfSAvPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgKSA6IGRhdGEuZmllbGRWYWx1ZXMgPyAoXG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgIHtkYXRhLmZpZWxkVmFsdWVzLm1hcCgoe2xhYmVsTWVzc2FnZSwgdmFsdWV9LCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgPFJvdyBrZXk9e2l9IG5hbWU9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IGxhYmVsTWVzc2FnZX0pfSB2YWx1ZT17dmFsdWV9IC8+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICApIDogcHJvcHMubGF5ZXIuaXNBZ2dyZWdhdGVkID8gKFxuICAgICAgICAgICAgPENlbGxJbmZvIHsuLi5wcm9wc30gLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPEVudHJ5SW5mbyB7Li4ucHJvcHN9IC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TdHlsZWRUYWJsZT5cbiAgICAgICAge2hhc0ZpZWxkc1RvU2hvdyAmJiA8U3R5bGVkRGl2aWRlciAvPn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgTGF5ZXJIb3ZlckluZm8ucHJvcFR5cGVzID0ge1xuICAgIGZpZWxkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksXG4gICAgZmllbGRzVG9TaG93OiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSxcbiAgICBsYXllcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSwgUHJvcFR5cGVzLm9iamVjdF0pXG4gIH07XG4gIHJldHVybiBMYXllckhvdmVySW5mbztcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExheWVySG92ZXJJbmZvRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFB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
|
|
319
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdHJ1bmNhdGUiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfaWNvbnMiLCJfcHJvcFR5cGVzIiwiX2NvbW1vblV0aWxzIiwiX3V0aWxzIiwiX3JlZHVjZXJzIiwiX3JlYWN0SW50bCIsIl9leGNsdWRlZCIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZExheWVyTmFtZSIsImV4cG9ydHMiLCJzdHlsZWQiLCJDZW50ZXJGbGV4Ym94IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9ySGwiLCJTdHlsZWRUYWJsZSIsInRhYmxlIiwibm90aWZpY2F0aW9uQ29sb3JzIiwic3VjY2VzcyIsIm5lZ2F0aXZlQnRuQWN0QmdkIiwiU3R5bGVkRGl2aWRlciIsImRpdiIsInBhbmVsQm9yZGVyQ29sb3IiLCJUT09MVElQX1ZBTFVFX01BWF9MRU5HVEgiLCJUb29sdGlwSW1hZ2UiLCJfcmVmIiwic3JjIiwiaW1nUmVmIiwidXNlUmVmIiwidXNlRWZmZWN0Iiwic3RhcnRzV2l0aCIsIlVSTCIsInJldm9rZU9iamVjdFVSTCIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwicmVmIiwiUm93IiwiX3JlZjIiLCJuYW1lIiwidmFsdWUiLCJkZWx0YVZhbHVlIiwidXJsIiwiaXNDb21wYXJpbmciLCJtYXRjaCIsImRpc3BsYXlWYWx1ZSIsImxlbmd0aCIsInRydW5jYXRlIiwiYXNJbWciLCJ0ZXN0IiwiY2xhc3NOYW1lIiwia2V5IiwicmVwbGFjZSIsInRhcmdldCIsInJlbCIsImhyZWYiLCJjb25jYXQiLCJub3ROdWxsb3JVbmRlZmluZWQiLCJ0b1N0cmluZyIsImNoYXJBdCIsIkVudHJ5SW5mbyIsIl9yZWYzIiwiZmllbGRzVG9TaG93IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsIm1hcCIsIml0ZW0iLCJFbnRyeUluZm9Sb3ciLCJfZXh0ZW5kczIiLCJfcmVmNCIsImxheWVyIiwiZmllbGRzIiwiZGF0YSIsInByaW1hcnlEYXRhIiwiY29tcGFyZVR5cGUiLCJjdXJyZW50VGltZSIsImZpZWxkSWR4IiwiZmluZEluZGV4IiwiZiIsImZpZWxkIiwiZmllbGRWYWx1ZUFjY2Vzc29yIiwiYWNjZXNzVlNGaWVsZFZhbHVlIiwiRGF0YVJvdyIsImluZGV4IiwiX3Jvd0luZGV4IiwicHJpbWFyeVZhbHVlIiwiZGlzcGxheURlbHRhVmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJfdHlwZW9mMiIsImdldFRvb2x0aXBEaXNwbGF5RGVsdGFWYWx1ZSIsImVycm9yIiwiZ2V0VG9vbHRpcERpc3BsYXlWYWx1ZSIsImRpc3BsYXlOYW1lIiwiQm9vbGVhbiIsIkNlbGxJbmZvIiwiX3JlZjUiLCJfcmVmNiIsImNvbmZpZyIsImNvbG9yRmllbGQiLCJzaXplRmllbGQiLCJjb2xvclZhbHVlIiwidXNlTWVtbyIsInZpc3VhbENoYW5uZWxzIiwiY29sb3IiLCJmaW5kIiwiZWxldmF0aW9uVmFsdWUiLCJzaXplIiwiY29sb3JEZWx0YSIsImVsZXZhdGlvbkRlbHRhIiwiYWdncmVnYXRlZERhdGEiLCJyZWR1Y2UiLCJhY2MiLCJfZGF0YSRhZ2dyZWdhdGVkRGF0YSIsImRhdGFGb3JGaWVsZCIsIm1lYXN1cmUiLCJfcHJpbWFyeURhdGEkYWdncmVnYXQiLCJwcmltYXJ5RGF0YUZvckZpZWxkIiwidHlwZSIsIk51bWJlciIsInB1c2giLCJjYXBpdGFsaXplRmlyc3RMZXR0ZXIiLCJjb2xvck1lYXN1cmUiLCJnZXRWaXN1YWxDaGFubmVsRGVzY3JpcHRpb24iLCJzaXplTWVhc3VyZSIsIlN0cmluZyIsInBvaW50cyIsImlkeCIsIkxheWVySG92ZXJJbmZvRmFjdG9yeSIsIkxheWVySG92ZXJJbmZvIiwiaW50bCIsInVzZUludGwiLCJoYXNGaWVsZHNUb1Nob3ciLCJmaWVsZFZhbHVlcyIsImtleXMiLCJ3bXNGZWF0dXJlRGF0YSIsIkxheWVycyIsImhlaWdodCIsImxhYmVsIiwidW5kZWZpbmVkIiwiX3JlZjciLCJfcmVmOCIsImxhYmVsTWVzc2FnZSIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsImlzQWdncmVnYXRlZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFycmF5T2YiLCJhbnkiLCJvYmplY3QiLCJvbmVPZlR5cGUiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbGF5ZXItaG92ZXItaW5mby50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VSZWYsIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHRydW5jYXRlIGZyb20gJ2xvZGFzaC90cnVuY2F0ZSc7XG5pbXBvcnQge0NvbXBhcmVUeXBlLCBGaWVsZCwgTWVyZ2UsIFRvb2x0aXBGaWVsZH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0NlbnRlckZsZXhib3h9IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0xheWVyc30gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQge25vdE51bGxvclVuZGVmaW5lZH0gZnJvbSAnQGtlcGxlci5nbC9jb21tb24tdXRpbHMnO1xuaW1wb3J0IHtEYXRhUm93fSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7TGF5ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7XG4gIEFnZ3JlZ2F0aW9uTGF5ZXJIb3ZlckRhdGEsXG4gIExheWVySG92ZXJQcm9wLFxuICBnZXRUb29sdGlwRGlzcGxheURlbHRhVmFsdWUsXG4gIGdldFRvb2x0aXBEaXNwbGF5VmFsdWVcbn0gZnJvbSAnQGtlcGxlci5nbC9yZWR1Y2Vycyc7XG5pbXBvcnQge3VzZUludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtWaXNTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC9zY2hlbWFzJztcbmltcG9ydCB7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExheWVyTmFtZSA9IHN0eWxlZChDZW50ZXJGbGV4Ym94KWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjQzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFRhYmxlID0gc3R5bGVkLnRhYmxlYFxuICAmIC5yb3dfX2RlbHRhLXZhbHVlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuXG4gICAgJi5wb3NpdGl2ZSB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ub3RpZmljYXRpb25Db2xvcnMuc3VjY2Vzc307XG4gICAgfVxuXG4gICAgJi5uZWdhdGl2ZSB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkFjdEJnZH07XG4gICAgfVxuICB9XG4gICYgLnJvd19fbmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gICYgLnJvd19fdmFsdWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERpdmlkZXIgPSBzdHlsZWQuZGl2YFxuICAvLyBvZmZzZXQgZGl2aWRlciB0byByZWFjaCBwb3BvdmVyIGVkZ2VcbiAgbWFyZ2luLWxlZnQ6IC0xNHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbmA7XG5cbmludGVyZmFjZSBSb3dQcm9wcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgZGVsdGFWYWx1ZT86IHN0cmluZyB8IG51bGw7XG4gIHVybD86IHN0cmluZztcbiAgaXNDb21wYXJpbmc/OiBib29sZWFuO1xufVxuXG5jb25zdCBUT09MVElQX1ZBTFVFX01BWF9MRU5HVEggPSAyNTY7XG5cbi8qKlxuICogSW1hZ2UgY29tcG9uZW50IHRoYXQgY2xlYW5zIHVwIHJlc291cmNlcyBvbiB1bm1vdW50IHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzLlxuICogUmV2b2tlcyBibG9iL29iamVjdCBVUkxzIGFuZCBjbGVhcnMgdGhlIGltYWdlIHNyYyB0byByZWxlYXNlIG1lbW9yeS5cbiAqL1xuY29uc3QgVG9vbHRpcEltYWdlOiBSZWFjdC5GQzx7c3JjOiBzdHJpbmd9PiA9ICh7c3JjfSkgPT4ge1xuICBjb25zdCBpbWdSZWYgPSB1c2VSZWY8SFRNTEltYWdlRWxlbWVudD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgLy8gUmV2b2tlIGJsb2IgVVJMcyB0byBmcmVlIG1lbW9yeVxuICAgICAgaWYgKHNyYyAmJiAoc3JjLnN0YXJ0c1dpdGgoJ2Jsb2I6JykgfHwgc3JjLnN0YXJ0c1dpdGgoJ2RhdGE6JykpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChzcmMpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgLy8gaWdub3JlIGVycm9ycyBmcm9tIG5vbi1vYmplY3QgVVJMc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBDbGVhciB0aGUgaW1hZ2Ugc3JjIHRvIHJlbGVhc2UgdGhlIGRlY29kZWQgaW1hZ2UgZnJvbSBtZW1vcnlcbiAgICAgIGlmIChpbWdSZWYuY3VycmVudCkge1xuICAgICAgICBpbWdSZWYuY3VycmVudC5zcmMgPSAnJztcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbc3JjXSk7XG5cbiAgcmV0dXJuIDxpbWcgcmVmPXtpbWdSZWZ9IHNyYz17c3JjfSAvPjtcbn07XG5cbmNvbnN0IFJvdzogUmVhY3QuRkM8Um93UHJvcHM+ID0gKHtuYW1lLCB2YWx1ZSwgZGVsdGFWYWx1ZSwgdXJsLCBpc0NvbXBhcmluZ30pID0+IHtcbiAgLy8gU2V0ICd1cmwnIHRvICd2YWx1ZScgaWYgaXQgbG9va3MgbGlrZSBhIHVybFxuICBpZiAoIXVybCAmJiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLm1hdGNoKC9eaHR0cC8pKSB7XG4gICAgdXJsID0gdmFsdWU7XG4gIH1cblxuICBjb25zdCBkaXNwbGF5VmFsdWUgPVxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID4gVE9PTFRJUF9WQUxVRV9NQVhfTEVOR1RIXG4gICAgICA/IHRydW5jYXRlKHZhbHVlLCB7bGVuZ3RoOiBUT09MVElQX1ZBTFVFX01BWF9MRU5HVEh9KVxuICAgICAgOiB2YWx1ZTtcblxuICBjb25zdCBhc0ltZyA9IC88aW1nPi8udGVzdChuYW1lKTtcbiAgcmV0dXJuIChcbiAgICA8dHIgY2xhc3NOYW1lPVwibGF5ZXItaG92ZXItaW5mb19fcm93XCIga2V5PXtuYW1lfT5cbiAgICAgIDx0ZCBjbGFzc05hbWU9XCJyb3dfX25hbWVcIj57YXNJbWcgPyBuYW1lLnJlcGxhY2UoJzxpbWc+JywgJycpIDogbmFtZX08L3RkPlxuICAgICAgPHRkIGNsYXNzTmFtZT1cInJvd19fdmFsdWVcIj5cbiAgICAgICAge2FzSW1nID8gKFxuICAgICAgICAgIDxUb29sdGlwSW1hZ2Ugc3JjPXt2YWx1ZX0gLz5cbiAgICAgICAgKSA6IHVybCA/IChcbiAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIHtkaXNwbGF5VmFsdWV9XG4gICAgICAgICAgPC9hPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxzcGFuPntkaXNwbGF5VmFsdWV9PC9zcGFuPlxuICAgICAgICApfVxuICAgICAgPC90ZD5cbiAgICAgIHtpc0NvbXBhcmluZyA/IChcbiAgICAgICAgPHRkXG4gICAgICAgICAgY2xhc3NOYW1lPXtgcm93X19kZWx0YS12YWx1ZSAke1xuICAgICAgICAgICAgbm90TnVsbG9yVW5kZWZpbmVkKGRlbHRhVmFsdWUpXG4gICAgICAgICAgICAgID8gZGVsdGFWYWx1ZT8udG9TdHJpbmcoKS5jaGFyQXQoMCkgPT09ICcrJ1xuICAgICAgICAgICAgICAgID8gJ3Bvc2l0aXZlJ1xuICAgICAgICAgICAgICAgIDogJ25lZ2F0aXZlJ1xuICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgfWB9XG4gICAgICAgID5cbiAgICAgICAgICB7ZGVsdGFWYWx1ZSA/PyAnJ31cbiAgICAgICAgPC90ZD5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvdHI+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSBFbnRyeUluZm9Qcm9wcyA9IE1lcmdlPExheWVySG92ZXJQcm9wLCB7ZmllbGRzVG9TaG93OiBUb29sdGlwRmllbGRbXX0+O1xuXG5jb25zdCBFbnRyeUluZm86IFJlYWN0LkZDPEVudHJ5SW5mb1Byb3BzPiA9ICh7ZmllbGRzVG9TaG93LCAuLi5wcm9wc30pID0+IChcbiAgPHRib2R5PlxuICAgIHtmaWVsZHNUb1Nob3cubWFwKGl0ZW0gPT4gKFxuICAgICAgPEVudHJ5SW5mb1JvdyBrZXk9e2l0ZW0ubmFtZX0gaXRlbT17aXRlbX0gey4uLnByb3BzfSAvPlxuICAgICkpfVxuICA8L3Rib2R5PlxuKTtcblxuZXhwb3J0IHR5cGUgRW50cnlJbmZvUm93UHJvcHMgPSB7XG4gIGRhdGE6IExheWVySG92ZXJQcm9wWydkYXRhJ107XG4gIGZpZWxkczogRmllbGRbXTtcbiAgbGF5ZXI6IExheWVyO1xuICBwcmltYXJ5RGF0YT86IExheWVySG92ZXJQcm9wWydwcmltYXJ5RGF0YSddO1xuICBjb21wYXJlVHlwZT86IENvbXBhcmVUeXBlO1xuICBjdXJyZW50VGltZT86IFZpc1N0YXRlWydhbmltYXRpb25Db25maWcnXVsnY3VycmVudFRpbWUnXTtcbiAgaXRlbTogVG9vbHRpcEZpZWxkO1xufTtcblxuY29uc3QgRW50cnlJbmZvUm93OiBSZWFjdC5GQzxFbnRyeUluZm9Sb3dQcm9wcz4gPSAoe1xuICBsYXllcixcbiAgaXRlbSxcbiAgZmllbGRzLFxuICBkYXRhLFxuICBwcmltYXJ5RGF0YSxcbiAgY29tcGFyZVR5cGUsXG4gIGN1cnJlbnRUaW1lXG59KSA9PiB7XG4gIGNvbnN0IGZpZWxkSWR4ID0gZmllbGRzLmZpbmRJbmRleChmID0+IGYubmFtZSA9PT0gaXRlbS5uYW1lKTtcbiAgaWYgKGZpZWxkSWR4IDwgMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGZpZWxkID0gZmllbGRzW2ZpZWxkSWR4XTtcbiAgY29uc3QgZmllbGRWYWx1ZUFjY2Vzc29yID0gbGF5ZXIuYWNjZXNzVlNGaWVsZFZhbHVlKGZpZWxkLCBjdXJyZW50VGltZSk7XG4gIGNvbnN0IHZhbHVlID0gZmllbGRWYWx1ZUFjY2Vzc29yKGZpZWxkLCBkYXRhIGluc3RhbmNlb2YgRGF0YVJvdyA/IHtpbmRleDogZGF0YS5fcm93SW5kZXh9IDogZGF0YSk7XG5cbiAgbGV0IHByaW1hcnlWYWx1ZSA9IG51bGw7XG4gIGxldCBkaXNwbGF5RGVsdGFWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKHByaW1hcnlEYXRhKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChwcmltYXJ5RGF0YSBpbnN0YW5jZW9mIERhdGFSb3cpIHtcbiAgICAgICAgcHJpbWFyeVZhbHVlID0gZmllbGRWYWx1ZUFjY2Vzc29yKGZpZWxkLCB7aW5kZXg6IHByaW1hcnlEYXRhLl9yb3dJbmRleH0pO1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHByaW1hcnlEYXRhKSB8fCAodHlwZW9mIHByaW1hcnlEYXRhID09PSAnb2JqZWN0JyAmJiBwcmltYXJ5RGF0YSkpIHtcbiAgICAgICAgcHJpbWFyeVZhbHVlID0gZmllbGRWYWx1ZUFjY2Vzc29yKGZpZWxkLCBwcmltYXJ5RGF0YSk7XG4gICAgICB9XG5cbiAgICAgIGRpc3BsYXlEZWx0YVZhbHVlID0gZ2V0VG9vbHRpcERpc3BsYXlEZWx0YVZhbHVlKHtcbiAgICAgICAgZmllbGQsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBwcmltYXJ5VmFsdWUsXG4gICAgICAgIGNvbXBhcmVUeXBlXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcHJpbWFyeVZhbHVlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkaXNwbGF5VmFsdWUgPSBnZXRUb29sdGlwRGlzcGxheVZhbHVlKHtpdGVtLCBmaWVsZCwgdmFsdWV9KTtcblxuICByZXR1cm4gKFxuICAgIDxSb3dcbiAgICAgIG5hbWU9e2ZpZWxkLmRpc3BsYXlOYW1lIHx8IGZpZWxkLm5hbWV9XG4gICAgICB2YWx1ZT17ZGlzcGxheVZhbHVlfVxuICAgICAgZGVsdGFWYWx1ZT17ZGlzcGxheURlbHRhVmFsdWV9XG4gICAgICBpc0NvbXBhcmluZz17Qm9vbGVhbihwcmltYXJ5RGF0YSl9XG4gICAgLz5cbiAgKTtcbn07XG5cbmNvbnN0IENlbGxJbmZvID0gKHtcbiAgZmllbGRzVG9TaG93LFxuICBkYXRhLFxuICBsYXllcixcbiAgcHJpbWFyeURhdGEsXG4gIGNvbXBhcmVUeXBlXG59OiB7XG4gIGRhdGE6IEFnZ3JlZ2F0aW9uTGF5ZXJIb3ZlckRhdGE7XG4gIGZpZWxkc1RvU2hvdzogVG9vbHRpcEZpZWxkW107XG4gIGxheWVyOiBMYXllcjtcbiAgcHJpbWFyeURhdGE/OiBBZ2dyZWdhdGlvbkxheWVySG92ZXJEYXRhIHwgbnVsbDtcbiAgY29tcGFyZVR5cGU/OiBDb21wYXJlVHlwZTtcbn0pID0+IHtcbiAgY29uc3Qge2NvbG9yRmllbGQsIHNpemVGaWVsZH0gPSBsYXllci5jb25maWcgYXMgYW55O1xuICBjb25zdCBpc0NvbXBhcmluZyA9IEJvb2xlYW4ocHJpbWFyeURhdGEpO1xuXG4gIGNvbnN0IGNvbG9yVmFsdWUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoY29sb3JGaWVsZCAmJiBsYXllci52aXN1YWxDaGFubmVscy5jb2xvcikge1xuICAgICAgY29uc3QgaXRlbSA9IGZpZWxkc1RvU2hvdy5maW5kKGZpZWxkID0+IGZpZWxkLm5hbWUgPT09IGNvbG9yRmllbGQubmFtZSk7XG4gICAgICByZXR1cm4gZ2V0VG9vbHRpcERpc3BsYXlWYWx1ZSh7aXRlbSwgZmllbGQ6IGNvbG9yRmllbGQsIHZhbHVlOiBkYXRhLmNvbG9yVmFsdWV9KTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH0sIFtmaWVsZHNUb1Nob3csIGNvbG9yRmllbGQsIGxheWVyLCBkYXRhLmNvbG9yVmFsdWVdKTtcblxuICBjb25zdCBlbGV2YXRpb25WYWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChzaXplRmllbGQgJiYgbGF5ZXIudmlzdWFsQ2hhbm5lbHMuc2l6ZSkge1xuICAgICAgY29uc3QgaXRlbSA9IGZpZWxkc1RvU2hvdy5maW5kKGZpZWxkID0+IGZpZWxkLm5hbWUgPT09IHNpemVGaWVsZC5uYW1lKTtcbiAgICAgIHJldHVybiBnZXRUb29sdGlwRGlzcGxheVZhbHVlKHtpdGVtLCBmaWVsZDogc2l6ZUZpZWxkLCB2YWx1ZTogZGF0YS5lbGV2YXRpb25WYWx1ZX0pO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgW2ZpZWxkc1RvU2hvdywgc2l6ZUZpZWxkLCBsYXllciwgZGF0YS5lbGV2YXRpb25WYWx1ZV0pO1xuXG4gIGNvbnN0IGNvbG9yRGVsdGEgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIXByaW1hcnlEYXRhIHx8ICFjb2xvckZpZWxkIHx8ICEoJ2NvbG9yVmFsdWUnIGluIHByaW1hcnlEYXRhKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGdldFRvb2x0aXBEaXNwbGF5RGVsdGFWYWx1ZSh7XG4gICAgICBmaWVsZDogY29sb3JGaWVsZCxcbiAgICAgIHZhbHVlOiBkYXRhLmNvbG9yVmFsdWUsXG4gICAgICBwcmltYXJ5VmFsdWU6IHByaW1hcnlEYXRhLmNvbG9yVmFsdWUsXG4gICAgICBjb21wYXJlVHlwZVxuICAgIH0pO1xuICB9LCBbcHJpbWFyeURhdGEsIGNvbG9yRmllbGQsIGRhdGEuY29sb3JWYWx1ZSwgY29tcGFyZVR5cGVdKTtcblxuICBjb25zdCBlbGV2YXRpb25EZWx0YSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghcHJpbWFyeURhdGEgfHwgIXNpemVGaWVsZCB8fCAhKCdlbGV2YXRpb25WYWx1ZScgaW4gcHJpbWFyeURhdGEpKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gZ2V0VG9vbHRpcERpc3BsYXlEZWx0YVZhbHVlKHtcbiAgICAgIGZpZWxkOiBzaXplRmllbGQsXG4gICAgICB2YWx1ZTogZGF0YS5lbGV2YXRpb25WYWx1ZSxcbiAgICAgIHByaW1hcnlWYWx1ZTogcHJpbWFyeURhdGEuZWxldmF0aW9uVmFsdWUsXG4gICAgICBjb21wYXJlVHlwZVxuICAgIH0pO1xuICB9LCBbcHJpbWFyeURhdGEsIHNpemVGaWVsZCwgZGF0YS5lbGV2YXRpb25WYWx1ZSwgY29tcGFyZVR5cGVdKTtcblxuICBjb25zdCBhZ2dyZWdhdGVkRGF0YSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChkYXRhLmFnZ3JlZ2F0ZWREYXRhICYmIGZpZWxkc1RvU2hvdykge1xuICAgICAgcmV0dXJuIGZpZWxkc1RvU2hvdy5yZWR1Y2UoXG4gICAgICAgIChhY2MsIGZpZWxkKSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YUZvckZpZWxkID0gZGF0YS5hZ2dyZWdhdGVkRGF0YT8uW2ZpZWxkLm5hbWVdO1xuICAgICAgICAgIGlmIChkYXRhRm9yRmllbGQ/Lm1lYXN1cmUgJiYgZmllbGQubmFtZSAhPT0gY29sb3JGaWVsZD8ubmFtZSkge1xuICAgICAgICAgICAgY29uc3QgcHJpbWFyeURhdGFGb3JGaWVsZCA9IHByaW1hcnlEYXRhPy5hZ2dyZWdhdGVkRGF0YT8uW2ZpZWxkLm5hbWVdO1xuICAgICAgICAgICAgY29uc3QgZGVsdGFWYWx1ZSA9IHByaW1hcnlEYXRhRm9yRmllbGRcbiAgICAgICAgICAgICAgPyBnZXRUb29sdGlwRGlzcGxheURlbHRhVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgZmllbGQ6IHt0eXBlOiAncmVhbCcsIG5hbWU6IGZpZWxkLm5hbWV9IGFzIEZpZWxkLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IGRhdGFGb3JGaWVsZC52YWx1ZSAhPSBudWxsID8gTnVtYmVyKGRhdGFGb3JGaWVsZC52YWx1ZSkgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgcHJpbWFyeVZhbHVlOlxuICAgICAgICAgICAgICAgICAgICBwcmltYXJ5RGF0YUZvckZpZWxkLnZhbHVlICE9IG51bGwgPyBOdW1iZXIocHJpbWFyeURhdGFGb3JGaWVsZC52YWx1ZSkgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgY29tcGFyZVR5cGVcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgICAgICBhY2MucHVzaCh7XG4gICAgICAgICAgICAgIG5hbWU6IGAke2NhcGl0YWxpemVGaXJzdExldHRlcihkYXRhRm9yRmllbGQubWVhc3VyZSl9IG9mICR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgICAgICB2YWx1ZTogZGF0YUZvckZpZWxkLnZhbHVlLFxuICAgICAgICAgICAgICBkZWx0YVZhbHVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSxcbiAgICAgICAgW10gYXMge25hbWU6IHN0cmluZzsgdmFsdWU/OiBzdHJpbmc7IGRlbHRhVmFsdWU6IHN0cmluZyB8IG51bGx9W11cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfSwgW2RhdGEuYWdncmVnYXRlZERhdGEsIGZpZWxkc1RvU2hvdywgY29sb3JGaWVsZD8ubmFtZSwgcHJpbWFyeURhdGEsIGNvbXBhcmVUeXBlXSk7XG5cbiAgY29uc3QgY29sb3JNZWFzdXJlID0gbGF5ZXIuZ2V0VmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uKCdjb2xvcicpLm1lYXN1cmU7XG4gIGNvbnN0IHNpemVNZWFzdXJlID0gbGF5ZXIuZ2V0VmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uKCdzaXplJykubWVhc3VyZTtcbiAgcmV0dXJuIChcbiAgICA8dGJvZHk+XG4gICAgICA8Um93XG4gICAgICAgIG5hbWU9eyd0b3RhbCBwb2ludHMnfVxuICAgICAgICBrZXk9XCJjb3VudFwiXG4gICAgICAgIHZhbHVlPXtTdHJpbmcoZGF0YS5wb2ludHMgJiYgZGF0YS5wb2ludHMubGVuZ3RoKX1cbiAgICAgICAgaXNDb21wYXJpbmc9e2lzQ29tcGFyaW5nfVxuICAgICAgLz5cbiAgICAgIHtjb2xvckZpZWxkICYmIGxheWVyLnZpc3VhbENoYW5uZWxzLmNvbG9yICYmIGNvbG9yTWVhc3VyZSA/IChcbiAgICAgICAgPFJvd1xuICAgICAgICAgIG5hbWU9e2NvbG9yTWVhc3VyZX1cbiAgICAgICAgICBrZXk9XCJjb2xvclwiXG4gICAgICAgICAgdmFsdWU9e2NvbG9yVmFsdWUgfHwgJ04vQSd9XG4gICAgICAgICAgZGVsdGFWYWx1ZT17Y29sb3JEZWx0YX1cbiAgICAgICAgICBpc0NvbXBhcmluZz17aXNDb21wYXJpbmd9XG4gICAgICAgIC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtzaXplRmllbGQgJiYgbGF5ZXIudmlzdWFsQ2hhbm5lbHMuc2l6ZSAmJiBzaXplTWVhc3VyZSA/IChcbiAgICAgICAgPFJvd1xuICAgICAgICAgIG5hbWU9e3NpemVNZWFzdXJlfVxuICAgICAgICAgIGtleT1cInNpemVcIlxuICAgICAgICAgIHZhbHVlPXtlbGV2YXRpb25WYWx1ZSB8fCAnTi9BJ31cbiAgICAgICAgICBkZWx0YVZhbHVlPXtlbGV2YXRpb25EZWx0YX1cbiAgICAgICAgICBpc0NvbXBhcmluZz17aXNDb21wYXJpbmd9XG4gICAgICAgIC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHthZ2dyZWdhdGVkRGF0YS5tYXAoKGRhdGFGb3JGaWVsZCwgaWR4KSA9PiAoXG4gICAgICAgIDxSb3dcbiAgICAgICAgICBuYW1lPXtkYXRhRm9yRmllbGQubmFtZX1cbiAgICAgICAgICBrZXk9e2BkYXRhXyR7aWR4fWB9XG4gICAgICAgICAgdmFsdWU9e2RhdGFGb3JGaWVsZC52YWx1ZSAhPSBudWxsID8gU3RyaW5nKGRhdGFGb3JGaWVsZC52YWx1ZSkgOiAnTi9BJ31cbiAgICAgICAgICBkZWx0YVZhbHVlPXtkYXRhRm9yRmllbGQuZGVsdGFWYWx1ZX1cbiAgICAgICAgICBpc0NvbXBhcmluZz17aXNDb21wYXJpbmd9XG4gICAgICAgIC8+XG4gICAgICApKX1cbiAgICA8L3Rib2R5PlxuICApO1xufTtcblxuY29uc3QgTGF5ZXJIb3ZlckluZm9GYWN0b3J5ID0gKCkgPT4ge1xuICBjb25zdCBMYXllckhvdmVySW5mbyA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7ZGF0YSwgbGF5ZXJ9ID0gcHJvcHM7XG4gICAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcbiAgICBpZiAoIWRhdGEgfHwgIWxheWVyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBoYXNGaWVsZHNUb1Nob3cgPVxuICAgICAgKGRhdGEuZmllbGRWYWx1ZXMgJiYgT2JqZWN0LmtleXMoZGF0YS5maWVsZFZhbHVlcykubGVuZ3RoID4gMCkgfHxcbiAgICAgIChkYXRhLndtc0ZlYXR1cmVEYXRhICYmIGRhdGEud21zRmVhdHVyZURhdGEubGVuZ3RoID4gMCkgfHxcbiAgICAgIChwcm9wcy5maWVsZHNUb1Nob3cgJiYgcHJvcHMuZmllbGRzVG9TaG93Lmxlbmd0aCA+IDApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFwLXBvcG92ZXJfX2xheWVyLWluZm9cIj5cbiAgICAgICAgPFN0eWxlZExheWVyTmFtZSBjbGFzc05hbWU9XCJtYXAtcG9wb3Zlcl9fbGF5ZXItbmFtZVwiPlxuICAgICAgICAgIDxMYXllcnMgaGVpZ2h0PVwiMTJweFwiIC8+XG4gICAgICAgICAge3Byb3BzLmxheWVyLmNvbmZpZy5sYWJlbH1cbiAgICAgICAgPC9TdHlsZWRMYXllck5hbWU+XG4gICAgICAgIHtoYXNGaWVsZHNUb1Nob3cgJiYgPFN0eWxlZERpdmlkZXIgLz59XG4gICAgICAgIDxTdHlsZWRUYWJsZSBjbGFzc05hbWU9e3Byb3BzLnByaW1hcnlEYXRhID8gJ2NvbXBhcmluZycgOiB1bmRlZmluZWR9PlxuICAgICAgICAgIHtkYXRhLndtc0ZlYXR1cmVEYXRhID8gKFxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICB7ZGF0YS53bXNGZWF0dXJlRGF0YS5tYXAoKHtuYW1lLCB2YWx1ZX0sIGkpID0+IChcbiAgICAgICAgICAgICAgICA8Um93IGtleT17aX0gbmFtZT17bmFtZX0gdmFsdWU9e3ZhbHVlfSAvPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgKSA6IGRhdGEuZmllbGRWYWx1ZXMgPyAoXG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgIHtkYXRhLmZpZWxkVmFsdWVzLm1hcCgoe2xhYmVsTWVzc2FnZSwgdmFsdWV9LCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgPFJvdyBrZXk9e2l9IG5hbWU9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IGxhYmVsTWVzc2FnZX0pfSB2YWx1ZT17dmFsdWV9IC8+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICApIDogcHJvcHMubGF5ZXIuaXNBZ2dyZWdhdGVkID8gKFxuICAgICAgICAgICAgPENlbGxJbmZvIHsuLi5wcm9wc30gLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPEVudHJ5SW5mbyB7Li4ucHJvcHN9IC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TdHlsZWRUYWJsZT5cbiAgICAgICAge2hhc0ZpZWxkc1RvU2hvdyAmJiA8U3R5bGVkRGl2aWRlciAvPn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgTGF5ZXJIb3ZlckluZm8ucHJvcFR5cGVzID0ge1xuICAgIGZpZWxkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksXG4gICAgZmllbGRzVG9TaG93OiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSxcbiAgICBsYXllcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSwgUHJvcFR5cGVzLm9iamVjdF0pXG4gIH07XG4gIHJldHVybiBMYXllckhvdmVySW5mbztcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExheWVySG92ZXJJbmZvRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFJLGtCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxVQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFFQSxJQUFBUyxTQUFBLEdBQUFULE9BQUE7QUFNQSxJQUFBVSxVQUFBLEdBQUFWLE9BQUE7QUFBbUMsSUFBQVcsU0FBQTtBQUFBLElBQUFDLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFuQm5DO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQWpCLHdCQUFBaUIsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxRQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxH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
|