@kepler.gl/components 3.2.6 → 3.3.0-alpha.1
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 +5 -5
- package/dist/bottom-widget.js +12 -6
- package/dist/common/action-panel.d.ts +3 -3
- package/dist/common/animation-control/animation-control.d.ts +2 -1
- 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 +5 -3
- 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 +4 -4
- package/dist/common/color-legend.js +3 -3
- package/dist/common/column-stats-chart.d.ts +3 -3
- package/dist/common/data-table/button.d.ts +1 -1
- package/dist/common/data-table/canvas.d.ts +0 -1
- package/dist/common/data-table/cell-size.d.ts +2 -2
- package/dist/common/data-table/display-format.d.ts +1 -1
- package/dist/common/data-table/header-cell.d.ts +2 -2
- package/dist/common/data-table/index.d.ts +8 -10
- package/dist/common/data-table/index.js +3 -3
- package/dist/common/data-table/option-dropdown.d.ts +1 -1
- package/dist/common/field-selector.d.ts +5 -5
- package/dist/common/field-token.d.ts +1 -1
- package/dist/common/file-uploader/file-drop.d.ts +1 -1
- package/dist/common/file-uploader/file-upload-progress.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 +2 -3
- package/dist/common/histogram-plot.d.ts +1 -1
- package/dist/common/histogram-plot.js +102 -53
- package/dist/common/icon-button.d.ts +16 -16
- 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/base.d.ts +1 -1
- package/dist/common/icons/close.js +1 -1
- package/dist/common/icons/effects/distance-fog.d.ts +14 -0
- package/dist/common/icons/effects/distance-fog.js +79 -0
- package/dist/common/icons/effects/surface-fog.d.ts +14 -0
- package/dist/common/icons/effects/surface-fog.js +86 -0
- package/dist/common/icons/index.d.ts +3 -0
- package/dist/common/icons/index.js +22 -1
- package/dist/common/item-selector/chickleted-input.d.ts +5 -5
- package/dist/common/item-selector/chickleted-input.js +5 -5
- package/dist/common/item-selector/dropdown-list.d.ts +3 -3
- package/dist/common/item-selector/dropdown-select.d.ts +7 -7
- package/dist/common/item-selector/item-selector.d.ts +2 -2
- package/dist/common/item-selector/typeahead.d.ts +3 -3
- package/dist/common/line-chart.d.ts +4 -1
- package/dist/common/line-chart.js +59 -12
- package/dist/common/loading-spinner.d.ts +2 -2
- package/dist/common/modal.d.ts +5 -5
- package/dist/common/portaled.d.ts +8 -25
- package/dist/common/progress-bar.d.ts +1 -1
- package/dist/common/radius-legend.d.ts +1 -1
- package/dist/common/range-brush.d.ts +1 -1
- package/dist/common/range-plot.d.ts +1 -1
- package/dist/common/range-plot.js +4 -2
- package/dist/common/range-slider.d.ts +2 -0
- package/dist/common/range-slider.js +108 -43
- package/dist/common/slider/mouse-event.d.ts +1 -1
- package/dist/common/slider/slider-bar-handle.d.ts +2 -2
- package/dist/common/slider/slider-handle.d.ts +3 -3
- package/dist/common/slider/slider.d.ts +6 -2
- package/dist/common/slider/slider.js +78 -35
- package/dist/common/styled-components.d.ts +158 -159
- package/dist/common/styled-components.js +2 -2
- package/dist/common/sync-timeline-control.d.ts +3 -3
- package/dist/common/time-range-slider-time-title.d.ts +2 -2
- package/dist/common/time-range-slider-time-title.js +5 -5
- package/dist/common/time-range-slider.d.ts +4 -3
- 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.d.ts +1 -1
- package/dist/common/timeline-slider.js +21 -12
- package/dist/common/tippy-tooltip.d.ts +1 -1
- package/dist/common/toolbar-item.d.ts +1 -1
- package/dist/common/toolbar-item.js +5 -5
- package/dist/common/toolbar.d.ts +2 -2
- package/dist/common/toolbar.js +4 -4
- package/dist/common/vertical-toolbar.d.ts +2 -3
- package/dist/container.d.ts +6 -6
- package/dist/context.d.ts +3 -3
- package/dist/dnd-context.d.ts +2 -2
- package/dist/editor/editor.d.ts +1 -1
- package/dist/editor/editor.js +1 -1
- package/dist/editor/feature-action-panel.d.ts +1 -1
- package/dist/editor/feature-action-panel.js +1 -1
- package/dist/effects/compact-color-picker.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +5 -4
- package/dist/effects/effect-configurator.js +243 -44
- package/dist/effects/effect-list.d.ts +1 -1
- package/dist/effects/effect-manager.d.ts +3 -3
- package/dist/effects/effect-manager.js +11 -4
- package/dist/effects/effect-panel-header.d.ts +2 -2
- package/dist/effects/effect-panel-header.js +35 -18
- package/dist/effects/effect-panel.d.ts +6 -6
- package/dist/effects/effect-panel.js +61 -86
- package/dist/effects/effect-time-configurator.d.ts +1 -1
- package/dist/effects/effect-time-configurator.js +10 -10
- package/dist/effects/effect-time-selector.d.ts +1 -1
- package/dist/effects/effect-time-slider.d.ts +3 -3
- package/dist/effects/effect-type-dropdown-list.d.ts +3 -2
- 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 +3 -2
- package/dist/effects/effect-type-selector.js +2 -2
- package/dist/effects/side-panel-title.d.ts +1 -1
- package/dist/effects/surface-fog-section.d.ts +14 -0
- package/dist/effects/surface-fog-section.js +263 -0
- package/dist/effects/timezone-selector.d.ts +1 -1
- package/dist/filters/components.d.ts +2 -3
- package/dist/filters/filter-panels/types.d.ts +4 -4
- 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 +11 -11
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.d.ts +7 -4
- package/dist/geocoder/geocoder.js +65 -14
- package/dist/geocoder-panel.d.ts +11 -2
- package/dist/geocoder-panel.js +8 -4
- package/dist/hooks/use-cloud-list-provider.d.ts +1 -1
- package/dist/hooks/use-dnd-effects.d.ts +1 -1
- package/dist/hooks/use-dnd-layers.d.ts +1 -1
- package/dist/hooks/use-feature-flags.d.ts +1 -1
- package/dist/hooks/use-fetch-raster-tile-metadata.d.ts +3 -3
- package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +2 -2
- package/dist/hooks/use-legend-position.d.ts +4 -5
- package/dist/index.d.ts +14 -0
- package/dist/index.js +124 -1
- package/dist/injector.d.ts +5 -5
- package/dist/kepler-gl.d.ts +70 -67
- package/dist/kepler-gl.js +89 -11
- package/dist/loading-indicator.d.ts +6 -4
- 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/effects/effect-control.d.ts +1 -1
- package/dist/map/layer-hover-info.d.ts +3 -3
- package/dist/map/layer-hover-info.js +69 -36
- package/dist/map/layer-selector-panel.d.ts +2 -2
- package/dist/map/lazy-tippy.js +3 -3
- package/dist/map/locale-panel.d.ts +2 -2
- package/dist/map/locale-panel.js +2 -2
- package/dist/map/map-control-panel.d.ts +1 -1
- package/dist/map/map-control-toolbar.d.ts +7 -8
- package/dist/map/map-control-tooltip.d.ts +1 -1
- package/dist/map/map-control.d.ts +8 -4
- package/dist/map/map-control.js +16 -7
- package/dist/map/map-draw-panel.d.ts +2 -2
- package/dist/map/map-draw-panel.js +7 -4
- package/dist/map/map-legend-panel.d.ts +5 -4
- package/dist/map/map-legend-panel.js +10 -8
- package/dist/map/map-legend.d.ts +11 -9
- package/dist/map/map-legend.js +39 -9
- package/dist/map/map-navigation-control.d.ts +13 -0
- package/dist/map/map-navigation-control.js +143 -0
- package/dist/map/map-popover-content.d.ts +2 -2
- package/dist/map/map-popover.d.ts +2 -2
- package/dist/map/map-popover.js +2 -2
- package/dist/map/split-map-button.d.ts +1 -1
- package/dist/map/toggle-3d-button.d.ts +1 -1
- package/dist/map-container.d.ts +15 -5
- package/dist/map-container.js +286 -73
- package/dist/map-view-state-context.d.ts +10 -2
- package/dist/map-view-state-context.js +1 -1
- package/dist/modal-container.d.ts +6 -8
- package/dist/modal-container.js +28 -6
- package/dist/modals/add-map-style-modal.js +173 -200
- package/dist/modals/cloud-components/cloud-header.d.ts +1 -1
- package/dist/modals/cloud-components/provider-select.d.ts +1 -1
- package/dist/modals/cloud-tile.d.ts +1 -1
- package/dist/modals/data-table-modal.d.ts +2 -2
- package/dist/modals/data-table-modal.js +146 -194
- package/dist/modals/export-data-modal.js +117 -139
- package/dist/modals/export-image-modal.js +1 -1
- package/dist/modals/export-map-modal/components.d.ts +1 -1
- package/dist/modals/export-map-modal/export-html-map.d.ts +1 -1
- package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
- package/dist/modals/export-video-modal.d.ts +25 -0
- package/dist/modals/export-video-modal.js +338 -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 +25 -0
- package/dist/modals/hubble-utils.js +197 -0
- package/dist/modals/hubble-utils.spec.d.ts +1 -0
- package/dist/modals/hubble-utils.spec.js +397 -0
- package/dist/modals/image-modal-container.d.ts +1 -1
- package/dist/modals/load-data-modal.d.ts +2 -2
- package/dist/modals/modal-dialog.d.ts +0 -2
- package/dist/modals/overwrite-map-modal.d.ts +1 -1
- package/dist/modals/save-map-modal.d.ts +3 -3
- package/dist/modals/share-map-modal.d.ts +1 -1
- package/dist/modals/tilesets-modals/common.d.ts +3 -3
- package/dist/modals/tilesets-modals/common.js +1 -1
- package/dist/modals/tilesets-modals/load-data-footer.d.ts +1 -1
- package/dist/modals/tilesets-modals/load-data-footer.js +2 -2
- package/dist/modals/tilesets-modals/load-tileset.d.ts +1 -1
- package/dist/modals/tilesets-modals/load-tileset.js +27 -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-icon.d.ts +1 -1
- package/dist/modals/tilesets-modals/tileset-raster-form.d.ts +2 -2
- package/dist/modals/tilesets-modals/tileset-raster-form.js +94 -11
- package/dist/modals/tilesets-modals/tileset-tile3d-form.d.ts +12 -0
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +389 -0
- package/dist/modals/tilesets-modals/tileset-vector-form.d.ts +3 -3
- package/dist/modals/tilesets-modals/tileset-vector-form.js +58 -4
- package/dist/modals/tilesets-modals/tileset-wms-form.d.ts +1 -1
- package/dist/modals/tilesets-modals/tileset-wms-form.js +55 -11
- 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 +55 -14
- package/dist/side-panel/add-by-dataset-button.d.ts +1 -1
- package/dist/side-panel/add-by-dataset-button.js +3 -3
- package/dist/side-panel/common/dataset-info.d.ts +2 -2
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/common/dataset-tag.d.ts +2 -2
- package/dist/side-panel/common/dataset-title.d.ts +2 -2
- package/dist/side-panel/common/source-data-catalog.d.ts +3 -3
- package/dist/side-panel/common/types.d.ts +8 -8
- package/dist/side-panel/custom-panel.d.ts +2 -2
- package/dist/side-panel/filter-manager.d.ts +3 -3
- package/dist/side-panel/filter-panel/add-filter-button.d.ts +1 -1
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +2 -2
- package/dist/side-panel/interaction-manager.d.ts +1 -1
- package/dist/side-panel/interaction-panel/brush-config.d.ts +1 -1
- 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/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -3
- package/dist/side-panel/interaction-panel/tooltip-config.d.ts +1 -1
- package/dist/side-panel/layer-manager.d.ts +2 -2
- package/dist/side-panel/layer-manager.js +11 -3
- package/dist/side-panel/layer-panel/add-layer-button.d.ts +1 -1
- package/dist/side-panel/layer-panel/channel-by-value-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-breaks-panel.d.ts +4 -4
- package/dist/side-panel/layer-panel/color-palette-preset.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-palette.d.ts +2 -2
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +3 -3
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +5 -5
- package/dist/side-panel/layer-panel/color-scale-selector.js +1 -1
- package/dist/side-panel/layer-panel/color-selector.d.ts +3 -3
- package/dist/side-panel/layer-panel/column-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/custom-palette.d.ts +10 -10
- package/dist/side-panel/layer-panel/custom-palette.js +5 -5
- package/dist/side-panel/layer-panel/custom-picker.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.js +19 -3
- package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -2
- package/dist/side-panel/layer-panel/dimension-scale-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/how-to-button.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-color-selector.d.ts +3 -3
- package/dist/side-panel/layer-panel/layer-column-config.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-column-mode-config.d.ts +3 -3
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -5
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +6 -4
- package/dist/side-panel/layer-panel/layer-configurator.js +408 -72
- package/dist/side-panel/layer-panel/layer-error-message.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-list.d.ts +2 -2
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +5 -5
- package/dist/side-panel/layer-panel/layer-panel-header.js +2 -2
- package/dist/side-panel/layer-panel/layer-panel.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.d.ts +2 -2
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +2 -2
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +1 -1
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +2 -2
- 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/single-color-palette.d.ts +1 -1
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +2 -2
- package/dist/side-panel/layer-panel/text-label-panel.js +11 -2
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +3 -3
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +3 -1
- package/dist/side-panel/layer-panel/vis-config-slider.js +7 -3
- package/dist/side-panel/layer-panel/vis-config-switch.d.ts +1 -1
- package/dist/side-panel/map-manager.d.ts +1 -1
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +1 -1
- package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +2 -2
- package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +1 -1
- package/dist/side-panel/map-style-panel/map-style-selector.d.ts +1 -1
- package/dist/side-panel/panel-header-action.d.ts +1 -1
- package/dist/side-panel/panel-header.d.ts +13 -12
- package/dist/side-panel/panel-header.js +9 -2
- package/dist/side-panel/panel-tab.d.ts +5 -5
- package/dist/side-panel/panel-tab.js +4 -4
- package/dist/side-panel/panel-title.d.ts +1 -1
- package/dist/side-panel/panel-toggle.d.ts +1 -1
- package/dist/side-panel/panel-view-list-toggle.d.ts +3 -3
- package/dist/side-panel/side-bar.d.ts +2 -2
- package/dist/side-panel.d.ts +1 -1
- package/dist/side-panel.js +5 -1
- package/dist/types.d.ts +3 -3
- package/package.json +41 -29
package/dist/plot-container.js
CHANGED
|
@@ -12,7 +12,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
-
var _reactMapGl = require("react-map-gl");
|
|
16
15
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
17
16
|
var _utils = require("@kepler.gl/utils");
|
|
18
17
|
var _reducers = require("@kepler.gl/reducers");
|
|
@@ -60,7 +59,7 @@ PlotContainerFactory.deps = [_mapContainer["default"], _mapsLayout["default"]];
|
|
|
60
59
|
// Remove split viewport UI controls from exported images when the legend is shown
|
|
61
60
|
|
|
62
61
|
var StyledPlotContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .maplibregl-ctrl-bottom-left,\n .maplibregl-ctrl-bottom-right,\n .maplibre-attribution-container,\n .mapboxgl-ctrl-bottom-left,\n .mapboxgl-ctrl-bottom-right,\n .mapbox-attribution-container,\n .map-control__panel-split-viewport-tools {\n display: none;\n }\n\n position: absolute;\n top: ", "px;\n left: ", "px;\n\n /* Apply zoom to legend panel based on export height */\n .map-control-panel {\n zoom: ", " !important;\n }\n"])), OUT_OF_SCREEN_POSITION, OUT_OF_SCREEN_POSITION, function (props) {
|
|
63
|
-
return props
|
|
62
|
+
return props.$legendZoom || 1;
|
|
64
63
|
});
|
|
65
64
|
var StyledMapContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", "px;\n height: ", "px;\n display: flex;\n"])), function (props) {
|
|
66
65
|
return props.width;
|
|
@@ -94,6 +93,9 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
94
93
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
95
94
|
plotEffects = _useState2[0];
|
|
96
95
|
var mapState = mapFields.mapState;
|
|
96
|
+
var deckLayersLoadingRef = (0, _react.useRef)(true);
|
|
97
|
+
var mapStyleLoadedRef = (0, _react.useRef)(false);
|
|
98
|
+
var screenshotTakenRef = (0, _react.useRef)(false);
|
|
97
99
|
|
|
98
100
|
// Memoize the scale calculation
|
|
99
101
|
var scale = (0, _react.useMemo)(function () {
|
|
@@ -139,16 +141,50 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
139
141
|
}, 500);
|
|
140
142
|
}, [imageSize.imageW, imageSize.imageH, escapeXhtmlForWebpack, setExportImageDataUri, setExportImageError, enableErrorNotification, addNotification]);
|
|
141
143
|
var retrieveNewScreenshot = (0, _react.useCallback)(debouncedScreenshot, [debouncedScreenshot]);
|
|
144
|
+
var tryScreenshot = (0, _react.useCallback)(function () {
|
|
145
|
+
if (mapStyleLoadedRef.current && !deckLayersLoadingRef.current) {
|
|
146
|
+
screenshotTakenRef.current = true;
|
|
147
|
+
retrieveNewScreenshot();
|
|
148
|
+
}
|
|
149
|
+
}, [retrieveNewScreenshot]);
|
|
150
|
+
|
|
151
|
+
// Fallback: if layers never finish loading, capture after timeout
|
|
152
|
+
(0, _react.useEffect)(function () {
|
|
153
|
+
var timer = setTimeout(function () {
|
|
154
|
+
if (!screenshotTakenRef.current) {
|
|
155
|
+
deckLayersLoadingRef.current = false;
|
|
156
|
+
tryScreenshot();
|
|
157
|
+
}
|
|
158
|
+
}, 30000);
|
|
159
|
+
return function () {
|
|
160
|
+
return clearTimeout(timer);
|
|
161
|
+
};
|
|
162
|
+
}, [tryScreenshot]);
|
|
142
163
|
|
|
143
164
|
// Memoize the onMapRender callback
|
|
144
165
|
var debouncedMapRender = (0, _react.useMemo)(function () {
|
|
145
166
|
return (0, _debounce["default"])(function (map) {
|
|
146
167
|
if (map.isStyleLoaded()) {
|
|
147
|
-
|
|
168
|
+
mapStyleLoadedRef.current = true;
|
|
169
|
+
tryScreenshot();
|
|
148
170
|
}
|
|
149
171
|
}, 500);
|
|
150
|
-
}, [
|
|
172
|
+
}, [tryScreenshot]);
|
|
151
173
|
var onMapRender = (0, _react.useCallback)(debouncedMapRender, [debouncedMapRender]);
|
|
174
|
+
var deckRenderCallbacks = (0, _react.useMemo)(function () {
|
|
175
|
+
return {
|
|
176
|
+
onDeckAfterRender: function onDeckAfterRender(deckProps) {
|
|
177
|
+
var layers = deckProps.layers;
|
|
178
|
+
if (!layers) return;
|
|
179
|
+
var stillLoading = (0, _reducers.areAnyDeckLayersLoading)(layers);
|
|
180
|
+
if (deckLayersLoadingRef.current && !stillLoading) {
|
|
181
|
+
deckLayersLoadingRef.current = false;
|
|
182
|
+
tryScreenshot();
|
|
183
|
+
}
|
|
184
|
+
deckLayersLoadingRef.current = stillLoading;
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
}, [tryScreenshot]);
|
|
152
188
|
|
|
153
189
|
// Initial setup effect
|
|
154
190
|
(0, _react.useEffect)(function () {
|
|
@@ -163,9 +199,9 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
163
199
|
setExportImageSetting({
|
|
164
200
|
processing: true
|
|
165
201
|
});
|
|
166
|
-
|
|
202
|
+
tryScreenshot();
|
|
167
203
|
}
|
|
168
|
-
}, [ratio, resolution, legend, setExportImageSetting,
|
|
204
|
+
}, [ratio, resolution, legend, setExportImageSetting, tryScreenshot]);
|
|
169
205
|
|
|
170
206
|
// Memoize size calculations
|
|
171
207
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
@@ -186,10 +222,12 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
186
222
|
|
|
187
223
|
// Memoize map state
|
|
188
224
|
var newMapState = (0, _react.useMemo)(function () {
|
|
225
|
+
var zoomOffset = Math.log2(scale) || 0;
|
|
189
226
|
var baseMapState = _objectSpread(_objectSpread({}, mapState), {}, {
|
|
190
227
|
width: width,
|
|
191
228
|
height: height,
|
|
192
|
-
zoom: mapState.zoom +
|
|
229
|
+
zoom: mapState.zoom + zoomOffset,
|
|
230
|
+
zoomOffset: zoomOffset
|
|
193
231
|
});
|
|
194
232
|
if (center) {
|
|
195
233
|
var renderedLayers = mapFields.visState.layers.filter(function (layer, idx) {
|
|
@@ -225,22 +263,25 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
225
263
|
settings: (_mapFields$mapControl = mapFields.mapControls) === null || _mapFields$mapControl === void 0 || (_mapFields$mapControl = _mapFields$mapControl.mapLegend) === null || _mapFields$mapControl === void 0 ? void 0 : _mapFields$mapControl.settings
|
|
226
264
|
}
|
|
227
265
|
},
|
|
228
|
-
MapComponent: _reactMapGl.Map,
|
|
229
266
|
onMapRender: onMapRender,
|
|
230
267
|
isExport: true,
|
|
231
268
|
deckGlProps: _objectSpread(_objectSpread({}, mapFields.deckGlProps), {}, {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
269
|
+
_isExport: true,
|
|
270
|
+
useDevicePixels: false,
|
|
271
|
+
deviceProps: {
|
|
272
|
+
webgl: {
|
|
273
|
+
preserveDrawingBuffer: true
|
|
274
|
+
}
|
|
235
275
|
}
|
|
236
276
|
}),
|
|
277
|
+
deckRenderCallbacks: deckRenderCallbacks,
|
|
237
278
|
visState: _objectSpread(_objectSpread({}, mapFields.visState), {}, {
|
|
238
279
|
effects: plotEffects
|
|
239
280
|
}),
|
|
240
281
|
// allow overriding the legend panel logo in export
|
|
241
282
|
logoComponent: logoComponent
|
|
242
283
|
});
|
|
243
|
-
}, [mapFields, scaledMapStyle, newMapState, legend, onMapRender, plotEffects, logoComponent]);
|
|
284
|
+
}, [mapFields, scaledMapStyle, newMapState, legend, onMapRender, deckRenderCallbacks, plotEffects, logoComponent]);
|
|
244
285
|
var isSplit = splitMaps.length > 1;
|
|
245
286
|
var mapContainers = !isSplit ? /*#__PURE__*/_react["default"].createElement(MapContainer, (0, _extends2["default"])({
|
|
246
287
|
index: 0,
|
|
@@ -257,7 +298,7 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
257
298
|
}));
|
|
258
299
|
return /*#__PURE__*/_react["default"].createElement(StyledPlotContainer, {
|
|
259
300
|
className: "export-map-instance",
|
|
260
|
-
legendZoom: legendZoom
|
|
301
|
+
$legendZoom: legendZoom
|
|
261
302
|
}, /*#__PURE__*/_react["default"].createElement(StyledMapContainer, {
|
|
262
303
|
ref: plottingAreaRef,
|
|
263
304
|
width: size.width,
|
|
@@ -268,4 +309,4 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
268
309
|
}
|
|
269
310
|
return /*#__PURE__*/_react["default"].memo(PlotContainer);
|
|
270
311
|
}
|
|
271
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RNYXBHbCIsIl9kZWJvdW5jZSIsIl91dGlscyIsIl9yZWR1Y2VycyIsIl9tYXBDb250YWluZXIiLCJfbWFwc0xheW91dCIsIl9tYXBWaWV3U3RhdGVDb250ZXh0IiwiX2NvbnN0YW50cyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJDTEFTU19GSUxURVIiLCJET01fRklMVEVSX0ZVTkMiLCJub2RlIiwiaW5jbHVkZXMiLCJjbGFzc05hbWUiLCJPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OIiwiY2FsY3VsYXRlTGVnZW5kWm9vbSIsImhlaWdodCIsImJhc2VIZWlnaHQiLCJtaW5ab29tIiwibWF4Wm9vbSIsIk51bWJlciIsImlzRmluaXRlIiwiem9vbUZhY3RvciIsIk1hdGgiLCJtYXgiLCJtaW4iLCJQbG90Q29udGFpbmVyRmFjdG9yeSIsImRlcHMiLCJNYXBDb250YWluZXJGYWN0b3J5IiwiTWFwc0xheW91dEZhY3RvcnkiLCJTdHlsZWRQbG90Q29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsImxlZ2VuZFpvb20iLCJTdHlsZWRNYXBDb250YWluZXIiLCJ3aWR0aCIsIk1hcENvbnRhaW5lciIsIk1hcHNMYXlvdXQiLCJQbG90Q29udGFpbmVyIiwiX3JlZiIsInJhdGlvIiwicmVzb2x1dGlvbiIsIl9yZWYkbGVnZW5kIiwibGVnZW5kIiwiY2VudGVyIiwiaW1hZ2VTaXplIiwiZXNjYXBlWGh0bWxGb3JXZWJwYWNrIiwibWFwRmllbGRzIiwiX3JlZiRzcGxpdE1hcHMiLCJzcGxpdE1hcHMiLCJzZXRFeHBvcnRJbWFnZVNldHRpbmciLCJzZXRFeHBvcnRJbWFnZURhdGFVcmkiLCJzZXRFeHBvcnRJbWFnZUVycm9yIiwiYWRkTm90aWZpY2F0aW9uIiwiZW5hYmxlRXJyb3JOb3RpZmljYXRpb24iLCJsb2dvQ29tcG9uZW50IiwicGxvdHRpbmdBcmVhUmVmIiwidXNlUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJ2aXNTdGF0ZSIsImVmZmVjdHMiLCJtYXAiLCJlZmZlY3QiLCJjbG9uZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwbG90RWZmZWN0cyIsIm1hcFN0YXRlIiwic2NhbGUiLCJ1c2VNZW1vIiwiY2FsY3VsYXRlZFNjYWxlIiwiZ2V0U2NhbGVGcm9tSW1hZ2VTaXplIiwiaW1hZ2VXIiwiaW1hZ2VIIiwiaXNTcGxpdCIsInNjYWxlZE1hcFN0eWxlIiwibWFwU3R5bGUiLCJib3R0b21NYXBTdHlsZSIsInNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24iLCJ0b3BNYXBTdHlsZSIsImRlYm91bmNlZFNjcmVlbnNob3QiLCJkZWJvdW5jZSIsImN1cnJlbnQiLCJjb252ZXJ0VG9QbmciLCJ0aGVuIiwiZXJyIiwiZXhwb3J0SW1hZ2VFcnJvciIsInJldHJpZXZlTmV3U2NyZWVuc2hvdCIsInVzZUNhbGxiYWNrIiwiZGVib3VuY2VkTWFwUmVuZGVyIiwiaXNTdHlsZUxvYWRlZCIsIm9uTWFwUmVuZGVyIiwidXNlRWZmZWN0IiwicHJvY2Vzc2luZyIsInVuZGVmaW5lZCIsIl91c2VNZW1vIiwic2l6ZSIsIm5ld01hcFN0YXRlIiwiYmFzZU1hcFN0YXRlIiwiem9vbSIsImxvZzIiLCJyZW5kZXJlZExheWVycyIsImxheWVycyIsImxheWVyIiwiaWR4IiwiaWQiLCJHRU9DT0RFUl9MQVlFUl9JRCIsInNob3VsZFJlbmRlckxheWVyIiwibGF5ZXJEYXRhIiwiYm91bmRzIiwiZmluZE1hcEJvdW5kcyIsImNlbnRlckFuZFpvb20iLCJnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyIsImxvbmdpdHVkZSIsImxhdGl0dWRlIiwibWFwUHJvcHMiLCJfbWFwRmllbGRzJG1hcENvbnRyb2wiLCJtYXBDb250cm9scyIsIm1hcExlZ2VuZCIsInNob3ciLCJCb29sZWFuIiwiYWN0aXZlIiwic2V0dGluZ3MiLCJNYXBDb21wb25lbnQiLCJNYXAiLCJpc0V4cG9ydCIsImRlY2tHbFByb3BzIiwiZ2xPcHRpb25zIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidXNlRGV2aWNlUGl4ZWxzIiwibWFwQ29udGFpbmVycyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJpbmRleCIsInByaW1hcnkiLCJrZXkiLCJyZWYiLCJNYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXIiLCJSZWFjdCIsIm1lbW8iXSwic291cmNlcyI6WyIuLi9zcmMvcGxvdC1jb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIGxpYnJhcmllc1xuaW1wb3J0IFJlYWN0LCB7dXNlUmVmLCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge01hcH0gZnJvbSAncmVhY3QtbWFwLWdsJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHtcbiAgZXhwb3J0SW1hZ2VFcnJvcixcbiAgc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbixcbiAgZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMsXG4gIGNvbnZlcnRUb1BuZyxcbiAgZ2V0U2NhbGVGcm9tSW1hZ2VTaXplXG59IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtmaW5kTWFwQm91bmRzfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCBNYXBDb250YWluZXJGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRhaW5lcic7XG5pbXBvcnQgTWFwc0xheW91dEZhY3RvcnkgZnJvbSAnLi9tYXBzLWxheW91dCc7XG5pbXBvcnQge01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcn0gZnJvbSAnLi9tYXAtdmlldy1zdGF0ZS1jb250ZXh0JztcblxuaW1wb3J0IHtHRU9DT0RFUl9MQVlFUl9JRH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtFZmZlY3QsIFNwbGl0TWFwLCBFeHBvcnRJbWFnZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBBY3Rpb25IYW5kbGVyLFxuICBhZGROb3RpZmljYXRpb24sXG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaSxcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge21hcEZpZWxkc1NlbGVjdG9yfSBmcm9tICcuL2tlcGxlci1nbCc7XG5cbmNvbnN0IENMQVNTX0ZJTFRFUiA9IFtcbiAgJ21hcGxpYnJlZ2wtY29udHJvbC1jb250YWluZXInLFxuICAnbWFwYm94Z2wtY29udHJvbC1jb250YWluZXInLFxuICAnYXR0cml0aW9uLWxpbmsnLFxuICAnYXR0cml0aW9uLWxvZ28nLFxuICAnbWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzJ1xuXTtcbmNvbnN0IERPTV9GSUxURVJfRlVOQyA9IG5vZGUgPT4gIUNMQVNTX0ZJTFRFUi5pbmNsdWRlcyhub2RlLmNsYXNzTmFtZSk7XG5jb25zdCBPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OID0gLTk5OTk7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyBsZWdlbmQgem9vbSBiYXNlZCBvbiBleHBvcnQgaGVpZ2h0XG4gKiBNYXBzIGV4cG9ydCBoZWlnaHQgdG8gYSB6b29tIGZhY3RvciBiZXR3ZWVuIDAuNSBhbmQgM1xuICogQHBhcmFtIGhlaWdodCAtIGV4cG9ydCBoZWlnaHQgaW4gcGl4ZWxzXG4gKiBAcmV0dXJucyB6b29tIGZhY3RvciBmb3IgbGVnZW5kIHBhbmVsXG4gKi9cbmZ1bmN0aW9uIGNhbGN1bGF0ZUxlZ2VuZFpvb20oaGVpZ2h0OiBudW1iZXIpOiBudW1iZXIge1xuICBjb25zdCBiYXNlSGVpZ2h0ID0gMTA4MDsgLy8gMXggem9vbSByZWZlcmVuY2UgaGVpZ2h0XG4gIGNvbnN0IG1pblpvb20gPSAwLjU7XG4gIGNvbnN0IG1heFpvb20gPSAzO1xuXG4gIC8vIEZvciBpbml0aWFsL2ludmFsaWQgaGVpZ2h0cywgYXZvaWQgc2hyaW5raW5nIHRoZSBsZWdlbmQ7IHVzZSBubyBzY2FsaW5nLlxuICBpZiAoIU51bWJlci5pc0Zpbml0ZShoZWlnaHQpIHx8IGhlaWdodCA8PSAwKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICAvLyBMaW5lYXIgbWFwcGluZzogaGVpZ2h0IC8gYmFzZUhlaWdodCBnaXZlcyB1cyB0aGUgc2NhbGVcbiAgY29uc3Qgem9vbUZhY3RvciA9IGhlaWdodCAvIGJhc2VIZWlnaHQ7XG4gIC8vIENsYW1wIGJldHdlZW4gbWluIGFuZCBtYXhcbiAgcmV0dXJuIE1hdGgubWF4KG1pblpvb20sIE1hdGgubWluKG1heFpvb20sIHpvb21GYWN0b3IpKTtcbn1cblxuUGxvdENvbnRhaW5lckZhY3RvcnkuZGVwcyA9IFtNYXBDb250YWluZXJGYWN0b3J5LCBNYXBzTGF5b3V0RmFjdG9yeV07XG5cbi8vIFJlbW92ZSBtYXBib3ggbG9nbyBpbiBleHBvcnRlZCBtYXAsIGJlY2F1c2UgaXQgY29udGFpbnMgbm9uLWFzY2lpIGNoYXJhY3RlcnNcbi8vIFJlbW92ZSBzcGxpdCB2aWV3cG9ydCBVSSBjb250cm9scyBmcm9tIGV4cG9ydGVkIGltYWdlcyB3aGVuIHRoZSBsZWdlbmQgaXMgc2hvd25cbmludGVyZmFjZSBTdHlsZWRQbG90Q29udGFpbmVyUHJvcHMge1xuICBsZWdlbmRab29tPzogbnVtYmVyO1xufVxuXG5jb25zdCBTdHlsZWRQbG90Q29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRQbG90Q29udGFpbmVyUHJvcHM+YFxuICAubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1sZWZ0LFxuICAubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1yaWdodCxcbiAgLm1hcGxpYnJlLWF0dHJpYnV0aW9uLWNvbnRhaW5lcixcbiAgLm1hcGJveGdsLWN0cmwtYm90dG9tLWxlZnQsXG4gIC5tYXBib3hnbC1jdHJsLWJvdHRvbS1yaWdodCxcbiAgLm1hcGJveC1hdHRyaWJ1dGlvbi1jb250YWluZXIsXG4gIC5tYXAtY29udHJvbF9fcGFuZWwtc3BsaXQtdmlld3BvcnQtdG9vbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OfXB4O1xuICBsZWZ0OiAke09VVF9PRl9TQ1JFRU5fUE9TSVRJT059cHg7XG5cbiAgLyogQXBwbHkgem9vbSB0byBsZWdlbmQgcGFuZWwgYmFzZWQgb24gZXhwb3J0IGhlaWdodCAqL1xuICAubWFwLWNvbnRyb2wtcGFuZWwge1xuICAgIHpvb206ICR7cHJvcHMgPT4gcHJvcHMubGVnZW5kWm9vbSB8fCAxfSAhaW1wb3J0YW50O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkTWFwQ29udGFpbmVyUHJvcHMge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xufVxuXG5jb25zdCBTdHlsZWRNYXBDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZE1hcENvbnRhaW5lclByb3BzPmBcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMud2lkdGh9cHg7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy5oZWlnaHR9cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5pbnRlcmZhY2UgUGxvdENvbnRhaW5lclByb3BzIHtcbiAgLy8gSW1hZ2UgZXhwb3J0IHNldHRpbmdzXG4gIHJhdGlvPzogc3RyaW5nO1xuICByZXNvbHV0aW9uPzogc3RyaW5nO1xuICBsZWdlbmQ/OiBib29sZWFuO1xuICBjZW50ZXI/OiBib29sZWFuO1xuICBpbWFnZVNpemU6IEV4cG9ydEltYWdlWydpbWFnZVNpemUnXTtcbiAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrPzogYm9vbGVhbjtcblxuICAvLyBNYXAgc2V0dGluZ3NcbiAgbWFwRmllbGRzOiBSZXR1cm5UeXBlPHR5cGVvZiBtYXBGaWVsZHNTZWxlY3Rvcj47XG4gIHNwbGl0TWFwcz86IFNwbGl0TWFwW107XG5cbiAgLy8gQ2FsbGJhY2tzXG4gIHNldEV4cG9ydEltYWdlU2V0dGluZzogdHlwZW9mIHNldEV4cG9ydEltYWdlU2V0dGluZztcbiAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VEYXRhVXJpO1xuICBzZXRFeHBvcnRJbWFnZUVycm9yOiB0eXBlb2Ygc2V0RXhwb3J0SW1hZ2VFcnJvcjtcbiAgYWRkTm90aWZpY2F0aW9uOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBhZGROb3RpZmljYXRpb24+O1xuXG4gIC8vIEZsYWdzXG4gIGVuYWJsZUVycm9yTm90aWZpY2F0aW9uPzogYm9vbGVhbjtcblxuICAvLyBPcHRpb25hbDogb3ZlcnJpZGUgbGVnZW5kIGhlYWRlciBsb2dvIGR1cmluZyBleHBvcnRcbiAgbG9nb0NvbXBvbmVudD86IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGxvdENvbnRhaW5lckZhY3RvcnkoXG4gIE1hcENvbnRhaW5lcjogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udGFpbmVyRmFjdG9yeT4sXG4gIE1hcHNMYXlvdXQ6IFJldHVyblR5cGU8dHlwZW9mIE1hcHNMYXlvdXRGYWN0b3J5PlxuKTogUmVhY3QuQ29tcG9uZW50VHlwZTxQbG90Q29udGFpbmVyUHJvcHM+IHtcbiAgZnVuY3Rpb24gUGxvdENvbnRhaW5lcih7XG4gICAgLy8gSW1hZ2UgZXhwb3J0IHNldHRpbmdzXG4gICAgcmF0aW8sXG4gICAgcmVzb2x1dGlvbixcbiAgICBsZWdlbmQgPSBmYWxzZSxcbiAgICBjZW50ZXIsXG4gICAgaW1hZ2VTaXplLFxuICAgIGVzY2FwZVhodG1sRm9yV2VicGFjayxcblxuICAgIC8vIE1hcCBzZXR0aW5nc1xuICAgIG1hcEZpZWxkcyxcbiAgICBzcGxpdE1hcHMgPSBbXSxcblxuICAgIC8vIENhbGxiYWNrc1xuICAgIHNldEV4cG9ydEltYWdlU2V0dGluZyxcbiAgICBzZXRFeHBvcnRJbWFnZURhdGFVcmksXG4gICAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgICBhZGROb3RpZmljYXRpb24sXG5cbiAgICAvLyBGbGFnc1xuICAgIGVuYWJsZUVycm9yTm90aWZpY2F0aW9uLFxuICAgIGxvZ29Db21wb25lbnRcbiAgfTogUGxvdENvbnRhaW5lclByb3BzKSB7XG4gICAgY29uc3QgcGxvdHRpbmdBcmVhUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbcGxvdEVmZmVjdHNdID0gdXNlU3RhdGU8RWZmZWN0W10+KCgpID0+XG4gICAgICBtYXBGaWVsZHMudmlzU3RhdGUuZWZmZWN0cy5tYXAoZWZmZWN0ID0+IGVmZmVjdC5jbG9uZSgpKVxuICAgICk7XG5cbiAgICBjb25zdCB7bWFwU3RhdGV9ID0gbWFwRmllbGRzO1xuXG4gICAgLy8gTWVtb2l6ZSB0aGUgc2NhbGUgY2FsY3VsYXRpb25cbiAgICBjb25zdCBzY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKGltYWdlU2l6ZS5zY2FsZSkge1xuICAgICAgICByZXR1cm4gaW1hZ2VTaXplLnNjYWxlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjYWxjdWxhdGVkU2NhbGUgPSBnZXRTY2FsZUZyb21JbWFnZVNpemUoXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZUgsXG4gICAgICAgIG1hcFN0YXRlLndpZHRoICogKG1hcFN0YXRlLmlzU3BsaXQgPyAyIDogMSksXG4gICAgICAgIG1hcFN0YXRlLmhlaWdodFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRTY2FsZSA+IDAgPyBjYWxjdWxhdGVkU2NhbGUgOiAxO1xuICAgIH0sIFtcbiAgICAgIGltYWdlU2l6ZS5zY2FsZSxcbiAgICAgIGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgbWFwU3RhdGUud2lkdGgsXG4gICAgICBtYXBTdGF0ZS5oZWlnaHQsXG4gICAgICBtYXBTdGF0ZS5pc1NwbGl0XG4gICAgXSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSBsZWdlbmQgem9vbSBjYWxjdWxhdGlvbiBiYXNlZCBvbiBleHBvcnQgaGVpZ2h0XG4gICAgY29uc3QgbGVnZW5kWm9vbSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIGNhbGN1bGF0ZUxlZ2VuZFpvb20oaW1hZ2VTaXplLmltYWdlSCk7XG4gICAgfSwgW2ltYWdlU2l6ZS5pbWFnZUhdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIG1hcCBzdHlsZVxuICAgIGNvbnN0IHNjYWxlZE1hcFN0eWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBtYXBTdHlsZSA9IG1hcEZpZWxkcy5tYXBTdHlsZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm1hcFN0eWxlLFxuICAgICAgICBib3R0b21NYXBTdHlsZTogc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbihtYXBTdHlsZS5ib3R0b21NYXBTdHlsZSwgc2NhbGUpLFxuICAgICAgICB0b3BNYXBTdHlsZTogc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbihtYXBTdHlsZS50b3BNYXBTdHlsZSwgc2NhbGUpXG4gICAgICB9O1xuICAgIH0sIFttYXBGaWVsZHMubWFwU3R5bGUsIHNjYWxlXSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSByZXRyaWV2ZU5ld1NjcmVlbnNob3QgY2FsbGJhY2tcbiAgICBjb25zdCBkZWJvdW5jZWRTY3JlZW5zaG90ID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICBpZiAocGxvdHRpbmdBcmVhUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnZlcnRUb1BuZyhwbG90dGluZ0FyZWFSZWYuY3VycmVudCwge1xuICAgICAgICAgICAgICBmaWx0ZXI6IERPTV9GSUxURVJfRlVOQyxcbiAgICAgICAgICAgICAgd2lkdGg6IGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICAgICAgICAgIGhlaWdodDogaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgICAgICAgICAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAudGhlbihzZXRFeHBvcnRJbWFnZURhdGFVcmkpXG4gICAgICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHNldEV4cG9ydEltYWdlRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICBpZiAoZW5hYmxlRXJyb3JOb3RpZmljYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgIGFkZE5vdGlmaWNhdGlvbihleHBvcnRJbWFnZUVycm9yKHtlcnJ9KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwMCksXG4gICAgICBbXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZUgsXG4gICAgICAgIGVzY2FwZVhodG1sRm9yV2VicGFjayxcbiAgICAgICAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpLFxuICAgICAgICBzZXRFeHBvcnRJbWFnZUVycm9yLFxuICAgICAgICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbixcbiAgICAgICAgYWRkTm90aWZpY2F0aW9uXG4gICAgICBdXG4gICAgKTtcblxuICAgIGNvbnN0IHJldHJpZXZlTmV3U2NyZWVuc2hvdCA9IHVzZUNhbGxiYWNrKGRlYm91bmNlZFNjcmVlbnNob3QsIFtkZWJvdW5jZWRTY3JlZW5zaG90XSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSBvbk1hcFJlbmRlciBjYWxsYmFja1xuICAgIGNvbnN0IGRlYm91bmNlZE1hcFJlbmRlciA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBkZWJvdW5jZShtYXAgPT4ge1xuICAgICAgICAgIGlmIChtYXAuaXNTdHlsZUxvYWRlZCgpKSB7XG4gICAgICAgICAgICByZXRyaWV2ZU5ld1NjcmVlbnNob3QoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwMCksXG4gICAgICBbcmV0cmlldmVOZXdTY3JlZW5zaG90XVxuICAgICk7XG5cbiAgICBjb25zdCBvbk1hcFJlbmRlciA9IHVzZUNhbGxiYWNrKGRlYm91bmNlZE1hcFJlbmRlciwgW2RlYm91bmNlZE1hcFJlbmRlcl0pO1xuXG4gICAgLy8gSW5pdGlhbCBzZXR1cCBlZmZlY3RcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nKHtwcm9jZXNzaW5nOiB0cnVlfSk7XG4gICAgfSwgW3NldEV4cG9ydEltYWdlU2V0dGluZ10pO1xuXG4gICAgLy8gU2NyZWVuc2hvdCB1cGRhdGUgZWZmZWN0XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChyYXRpbyAhPT0gdW5kZWZpbmVkIHx8IHJlc29sdXRpb24gIT09IHVuZGVmaW5lZCB8fCBsZWdlbmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcoe3Byb2Nlc3Npbmc6IHRydWV9KTtcbiAgICAgICAgcmV0cmlldmVOZXdTY3JlZW5zaG90KCk7XG4gICAgICB9XG4gICAgfSwgW3JhdGlvLCByZXNvbHV0aW9uLCBsZWdlbmQsIHNldEV4cG9ydEltYWdlU2V0dGluZywgcmV0cmlldmVOZXdTY3JlZW5zaG90XSk7XG5cbiAgICAvLyBNZW1vaXplIHNpemUgY2FsY3VsYXRpb25zXG4gICAgY29uc3Qge3NpemUsIHdpZHRoLCBoZWlnaHR9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBzaXplID0ge1xuICAgICAgICB3aWR0aDogaW1hZ2VTaXplLmltYWdlVyB8fCAxLFxuICAgICAgICBoZWlnaHQ6IGltYWdlU2l6ZS5pbWFnZUggfHwgMVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGlzU3BsaXQgPSBzcGxpdE1hcHMubGVuZ3RoID4gMTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNpemUsXG4gICAgICAgIHdpZHRoOiBzaXplLndpZHRoIC8gKGlzU3BsaXQgPyAyIDogMSksXG4gICAgICAgIGhlaWdodDogc2l6ZS5oZWlnaHRcbiAgICAgIH07XG4gICAgfSwgW2ltYWdlU2l6ZS5pbWFnZVcsIGltYWdlU2l6ZS5pbWFnZUgsIHNwbGl0TWFwcy5sZW5ndGhdKTtcblxuICAgIC8vIE1lbW9pemUgbWFwIHN0YXRlXG4gICAgY29uc3QgbmV3TWFwU3RhdGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGJhc2VNYXBTdGF0ZSA9IHtcbiAgICAgICAgLi4ubWFwU3RhdGUsXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIHpvb206IG1hcFN0YXRlLnpvb20gKyAoTWF0aC5sb2cyKHNjYWxlKSB8fCAwKVxuICAgICAgfTtcblxuICAgICAgaWYgKGNlbnRlcikge1xuICAgICAgICBjb25zdCByZW5kZXJlZExheWVycyA9IG1hcEZpZWxkcy52aXNTdGF0ZS5sYXllcnMuZmlsdGVyKFxuICAgICAgICAgIChsYXllciwgaWR4KSA9PlxuICAgICAgICAgICAgbGF5ZXIuaWQgIT09IEdFT0NPREVSX0xBWUVSX0lEICYmXG4gICAgICAgICAgICBsYXllci5zaG91bGRSZW5kZXJMYXllcihtYXBGaWVsZHMudmlzU3RhdGUubGF5ZXJEYXRhW2lkeF0pXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IGZpbmRNYXBCb3VuZHMocmVuZGVyZWRMYXllcnMpO1xuICAgICAgICBjb25zdCBjZW50ZXJBbmRab29tID0gZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMoYm91bmRzLCB7d2lkdGgsIGhlaWdodH0pO1xuICAgICAgICBpZiAoY2VudGVyQW5kWm9vbSkge1xuICAgICAgICAgIGNvbnN0IHpvb20gPSBOdW1iZXIuaXNGaW5pdGUoY2VudGVyQW5kWm9vbS56b29tKSA/IGNlbnRlckFuZFpvb20uem9vbSA6IG1hcFN0YXRlLnpvb207XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmJhc2VNYXBTdGF0ZSxcbiAgICAgICAgICAgIGxvbmdpdHVkZTogY2VudGVyQW5kWm9vbS5jZW50ZXJbMF0sXG4gICAgICAgICAgICBsYXRpdHVkZTogY2VudGVyQW5kWm9vbS5jZW50ZXJbMV0sXG4gICAgICAgICAgICB6b29tOiB6b29tICsgTnVtYmVyKE1hdGgubG9nMihzY2FsZSkgfHwgMClcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBiYXNlTWFwU3RhdGU7XG4gICAgfSwgW21hcFN0YXRlLCB3aWR0aCwgaGVpZ2h0LCBzY2FsZSwgY2VudGVyLCBtYXBGaWVsZHMudmlzU3RhdGVdKTtcblxuICAgIC8vIE1lbW9pemUgbWFwIHByb3BzXG4gICAgY29uc3QgbWFwUHJvcHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgLi4ubWFwRmllbGRzLFxuICAgICAgICBtYXBTdHlsZTogc2NhbGVkTWFwU3R5bGUsXG4gICAgICAgIG1hcFN0YXRlOiBuZXdNYXBTdGF0ZSxcbiAgICAgICAgbWFwQ29udHJvbHM6IHtcbiAgICAgICAgICBtYXBMZWdlbmQ6IHtcbiAgICAgICAgICAgIHNob3c6IEJvb2xlYW4obGVnZW5kKSxcbiAgICAgICAgICAgIGFjdGl2ZTogdHJ1ZSxcbiAgICAgICAgICAgIHNldHRpbmdzOiBtYXBGaWVsZHMubWFwQ29udHJvbHM/Lm1hcExlZ2VuZD8uc2V0dGluZ3NcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIE1hcENvbXBvbmVudDogTWFwLFxuICAgICAgICBvbk1hcFJlbmRlcixcbiAgICAgICAgaXNFeHBvcnQ6IHRydWUsXG4gICAgICAgIGRlY2tHbFByb3BzOiB7XG4gICAgICAgICAgLi4ubWFwRmllbGRzLmRlY2tHbFByb3BzLFxuICAgICAgICAgIGdsT3B0aW9uczoge1xuICAgICAgICAgICAgcHJlc2VydmVEcmF3aW5nQnVmZmVyOiB0cnVlLFxuICAgICAgICAgICAgdXNlRGV2aWNlUGl4ZWxzOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdmlzU3RhdGU6IHtcbiAgICAgICAgICAuLi5tYXBGaWVsZHMudmlzU3RhdGUsXG4gICAgICAgICAgZWZmZWN0czogcGxvdEVmZmVjdHNcbiAgICAgICAgfSxcbiAgICAgICAgLy8gYWxsb3cgb3ZlcnJpZGluZyB0aGUgbGVnZW5kIHBhbmVsIGxvZ28gaW4gZXhwb3J0XG4gICAgICAgIGxvZ29Db21wb25lbnRcbiAgICAgIH0pLFxuICAgICAgW21hcEZpZWxkcywgc2NhbGVkTWFwU3R5bGUsIG5ld01hcFN0YXRlLCBsZWdlbmQsIG9uTWFwUmVuZGVyLCBwbG90RWZmZWN0cywgbG9nb0NvbXBvbmVudF1cbiAgICApO1xuXG4gICAgY29uc3QgaXNTcGxpdCA9IHNwbGl0TWFwcy5sZW5ndGggPiAxO1xuICAgIGNvbnN0IG1hcENvbnRhaW5lcnMgPSAhaXNTcGxpdCA/IChcbiAgICAgIDxNYXBDb250YWluZXIgaW5kZXg9ezB9IHByaW1hcnk9e3RydWV9IHsuLi5tYXBQcm9wc30gLz5cbiAgICApIDogKFxuICAgICAgPE1hcHNMYXlvdXQgY2xhc3NOYW1lPVwicGxvdC1jb250YWluZXItbWFwc1wiIG1hcFN0YXRlPXtuZXdNYXBTdGF0ZX0+XG4gICAgICAgIHtzcGxpdE1hcHMubWFwKChzZXR0aW5ncywgaW5kZXgpID0+IChcbiAgICAgICAgICA8TWFwQ29udGFpbmVyIGtleT17aW5kZXh9IGluZGV4PXtpbmRleH0gcHJpbWFyeT17aW5kZXggPT09IDF9IHsuLi5tYXBQcm9wc30gLz5cbiAgICAgICAgKSl9XG4gICAgICA8L01hcHNMYXlvdXQ+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkUGxvdENvbnRhaW5lciBjbGFzc05hbWU9XCJleHBvcnQtbWFwLWluc3RhbmNlXCIgbGVnZW5kWm9vbT17bGVnZW5kWm9vbX0+XG4gICAgICAgIDxTdHlsZWRNYXBDb250YWluZXIgcmVmPXtwbG90dGluZ0FyZWFSZWZ9IHdpZHRoPXtzaXplLndpZHRofSBoZWlnaHQ9e3NpemUuaGVpZ2h0fT5cbiAgICAgICAgICA8TWFwVmlld1N0YXRlQ29udGV4dFByb3ZpZGVyIG1hcFN0YXRlPXtuZXdNYXBTdGF0ZX0+XG4gICAgICAgICAgICB7bWFwQ29udGFpbmVyc31cbiAgICAgICAgICA8L01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcj5cbiAgICAgICAgPC9TdHlsZWRNYXBDb250YWluZXI+XG4gICAgICA8L1N0eWxlZFBsb3RDb250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBSZWFjdC5tZW1vKFBs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QUNGO1FBQ0R0RSxRQUFRLEVBQUE1RCxhQUFBLENBQUFBLGFBQUEsS0FDSCtDLFNBQVMsQ0FBQ2EsUUFBUTtVQUNyQkMsT0FBTyxFQUFFTTtRQUFXLEVBQ3JCO1FBQ0Q7UUFDQVosYUFBYSxFQUFiQTtNQUFhO0lBQUEsQ0FDYixFQUNGLENBQUNSLFNBQVMsRUFBRTZCLGNBQWMsRUFBRXNCLFdBQVcsRUFBRXZELE1BQU0sRUFBRWlELFdBQVcsRUFBRXpCLFdBQVcsRUFBRVosYUFBYSxDQUMxRixDQUFDO0lBRUQsSUFBTW9CLE9BQU8sR0FBRzFCLFNBQVMsQ0FBQy9DLE1BQU0sR0FBRyxDQUFDO0lBQ3BDLElBQU1pSSxhQUFhLEdBQUcsQ0FBQ3hELE9BQU8sZ0JBQzVCdEgsTUFBQSxZQUFBK0ssYUFBQSxDQUFDaEcsWUFBWSxNQUFBaUcsU0FBQTtNQUFDQyxLQUFLLEVBQUUsQ0FBRTtNQUFDQyxPQUFPLEVBQUU7SUFBSyxHQUFLbkIsUUFBUSxDQUFHLENBQUMsZ0JBRXZEL0osTUFBQSxZQUFBK0ssYUFBQSxDQUFDL0YsVUFBVTtNQUFDMUIsU0FBUyxFQUFDLHFCQUFxQjtNQUFDeUQsUUFBUSxFQUFFOEI7SUFBWSxHQUMvRGpELFNBQVMsQ0FBQ2EsR0FBRyxDQUFDLFVBQUM2RCxRQUFRLEVBQUVXLEtBQUs7TUFBQSxvQkFDN0JqTCxNQUFBLFlBQUErSyxhQUFBLENBQUNoRyxZQUFZLE1BQUFpRyxTQUFBO1FBQUNHLEdBQUcsRUFBRUYsS0FBTTtRQUFDQSxLQUFLLEVBQUVBLEtBQU07UUFBQ0MsT0FBTyxFQUFFRCxLQUFLLEtBQUs7TUFBRSxHQUFLbEIsUUFBUSxDQUFHLENBQUM7SUFBQSxDQUMvRSxDQUNTLENBQ2I7SUFFRCxvQkFDRS9KLE1BQUEsWUFBQStLLGFBQUEsQ0FBQ3hHLG1CQUFtQjtNQUFDakIsU0FBUyxFQUFDLHFCQUFxQjtNQUFDc0IsVUFBVSxFQUFFQTtJQUFXLGdCQUMxRTVFLE1BQUEsWUFBQStLLGFBQUEsQ0FBQ2xHLGtCQUFrQjtNQUFDdUcsR0FBRyxFQUFFakYsZUFBZ0I7TUFBQ3JCLEtBQUssRUFBRThELElBQUksQ0FBQzlELEtBQU07TUFBQ3JCLE1BQU0sRUFBRW1GLElBQUksQ0FBQ25GO0lBQU8sZ0JBQy9FekQsTUFBQSxZQUFBK0ssYUFBQSxDQUFDcEssb0JBQUEsQ0FBQTBLLDJCQUEyQjtNQUFDdEUsUUFBUSxFQUFFOEI7SUFBWSxHQUNoRGlDLGFBQzBCLENBQ1gsQ0FDRCxDQUFDO0VBRTFCO0VBRUEsb0JBQU9RLGlCQUFLLENBQUNDLElBQUksQ0FBQ3RHLGFBQWEsQ0FBQztBQUNsQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
312
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZGVib3VuY2UiLCJfdXRpbHMiLCJfcmVkdWNlcnMiLCJfbWFwQ29udGFpbmVyIiwiX21hcHNMYXlvdXQiLCJfbWFwVmlld1N0YXRlQ29udGV4dCIsIl9jb25zdGFudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiQ0xBU1NfRklMVEVSIiwiRE9NX0ZJTFRFUl9GVU5DIiwibm9kZSIsImluY2x1ZGVzIiwiY2xhc3NOYW1lIiwiT1VUX09GX1NDUkVFTl9QT1NJVElPTiIsImNhbGN1bGF0ZUxlZ2VuZFpvb20iLCJoZWlnaHQiLCJiYXNlSGVpZ2h0IiwibWluWm9vbSIsIm1heFpvb20iLCJOdW1iZXIiLCJpc0Zpbml0ZSIsInpvb21GYWN0b3IiLCJNYXRoIiwibWF4IiwibWluIiwiUGxvdENvbnRhaW5lckZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udGFpbmVyRmFjdG9yeSIsIk1hcHNMYXlvdXRGYWN0b3J5IiwiU3R5bGVkUGxvdENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCIkbGVnZW5kWm9vbSIsIlN0eWxlZE1hcENvbnRhaW5lciIsIndpZHRoIiwiTWFwQ29udGFpbmVyIiwiTWFwc0xheW91dCIsIlBsb3RDb250YWluZXIiLCJfcmVmIiwicmF0aW8iLCJyZXNvbHV0aW9uIiwiX3JlZiRsZWdlbmQiLCJsZWdlbmQiLCJjZW50ZXIiLCJpbWFnZVNpemUiLCJlc2NhcGVYaHRtbEZvcldlYnBhY2siLCJtYXBGaWVsZHMiLCJfcmVmJHNwbGl0TWFwcyIsInNwbGl0TWFwcyIsInNldEV4cG9ydEltYWdlU2V0dGluZyIsInNldEV4cG9ydEltYWdlRGF0YVVyaSIsInNldEV4cG9ydEltYWdlRXJyb3IiLCJhZGROb3RpZmljYXRpb24iLCJlbmFibGVFcnJvck5vdGlmaWNhdGlvbiIsImxvZ29Db21wb25lbnQiLCJwbG90dGluZ0FyZWFSZWYiLCJ1c2VSZWYiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsInZpc1N0YXRlIiwiZWZmZWN0cyIsIm1hcCIsImVmZmVjdCIsImNsb25lIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBsb3RFZmZlY3RzIiwibWFwU3RhdGUiLCJkZWNrTGF5ZXJzTG9hZGluZ1JlZiIsIm1hcFN0eWxlTG9hZGVkUmVmIiwic2NyZWVuc2hvdFRha2VuUmVmIiwic2NhbGUiLCJ1c2VNZW1vIiwiY2FsY3VsYXRlZFNjYWxlIiwiZ2V0U2NhbGVGcm9tSW1hZ2VTaXplIiwiaW1hZ2VXIiwiaW1hZ2VIIiwiaXNTcGxpdCIsImxlZ2VuZFpvb20iLCJzY2FsZWRNYXBTdHlsZSIsIm1hcFN0eWxlIiwiYm90dG9tTWFwU3R5bGUiLCJzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uIiwidG9wTWFwU3R5bGUiLCJkZWJvdW5jZWRTY3JlZW5zaG90IiwiZGVib3VuY2UiLCJjdXJyZW50IiwiY29udmVydFRvUG5nIiwidGhlbiIsImVyciIsImV4cG9ydEltYWdlRXJyb3IiLCJyZXRyaWV2ZU5ld1NjcmVlbnNob3QiLCJ1c2VDYWxsYmFjayIsInRyeVNjcmVlbnNob3QiLCJ1c2VFZmZlY3QiLCJ0aW1lciIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJkZWJvdW5jZWRNYXBSZW5kZXIiLCJpc1N0eWxlTG9hZGVkIiwib25NYXBSZW5kZXIiLCJkZWNrUmVuZGVyQ2FsbGJhY2tzIiwib25EZWNrQWZ0ZXJSZW5kZXIiLCJkZWNrUHJvcHMiLCJsYXllcnMiLCJzdGlsbExvYWRpbmciLCJhcmVBbnlEZWNrTGF5ZXJzTG9hZGluZyIsInByb2Nlc3NpbmciLCJ1bmRlZmluZWQiLCJfdXNlTWVtbyIsInNpemUiLCJuZXdNYXBTdGF0ZSIsInpvb21PZmZzZXQiLCJsb2cyIiwiYmFzZU1hcFN0YXRlIiwiem9vbSIsInJlbmRlcmVkTGF5ZXJzIiwibGF5ZXIiLCJpZHgiLCJpZCIsIkdFT0NPREVSX0xBWUVSX0lEIiwic2hvdWxkUmVuZGVyTGF5ZXIiLCJsYXllckRhdGEiLCJib3VuZHMiLCJmaW5kTWFwQm91bmRzIiwiY2VudGVyQW5kWm9vbSIsImdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzIiwibG9uZ2l0dWRlIiwibGF0aXR1ZGUiLCJtYXBQcm9wcyIsIl9tYXBGaWVsZHMkbWFwQ29udHJvbCIsIm1hcENvbnRyb2xzIiwibWFwTGVnZW5kIiwic2hvdyIsIkJvb2xlYW4iLCJhY3RpdmUiLCJzZXR0aW5ncyIsImlzRXhwb3J0IiwiZGVja0dsUHJvcHMiLCJfaXNFeHBvcnQiLCJ1c2VEZXZpY2VQaXhlbHMiLCJkZXZpY2VQcm9wcyIsIndlYmdsIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwibWFwQ29udGFpbmVycyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJpbmRleCIsInByaW1hcnkiLCJrZXkiLCJyZWYiLCJNYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXIiLCJSZWFjdCIsIm1lbW8iXSwic291cmNlcyI6WyIuLi9zcmMvcGxvdC1jb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIGxpYnJhcmllc1xuaW1wb3J0IFJlYWN0LCB7dXNlUmVmLCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSAnbG9kYXNoL2RlYm91bmNlJztcbmltcG9ydCB7XG4gIGV4cG9ydEltYWdlRXJyb3IsXG4gIHNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24sXG4gIGdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzLFxuICBjb252ZXJ0VG9QbmcsXG4gIGdldFNjYWxlRnJvbUltYWdlU2l6ZVxufSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7ZmluZE1hcEJvdW5kcywgYXJlQW55RGVja0xheWVyc0xvYWRpbmd9IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IE1hcENvbnRhaW5lckZhY3RvcnkgZnJvbSAnLi9tYXAtY29udGFpbmVyJztcbmltcG9ydCBNYXBzTGF5b3V0RmFjdG9yeSBmcm9tICcuL21hcHMtbGF5b3V0JztcbmltcG9ydCB7TWFwVmlld1N0YXRlQ29udGV4dFByb3ZpZGVyfSBmcm9tICcuL21hcC12aWV3LXN0YXRlLWNvbnRleHQnO1xuXG5pbXBvcnQge0dFT0NPREVSX0xBWUVSX0lEfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0VmZmVjdCwgU3BsaXRNYXAsIEV4cG9ydEltYWdlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7XG4gIEFjdGlvbkhhbmRsZXIsXG4gIGFkZE5vdGlmaWNhdGlvbixcbiAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpLFxuICBzZXRFeHBvcnRJbWFnZUVycm9yLFxuICBzZXRFeHBvcnRJbWFnZVNldHRpbmdcbn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7bWFwRmllbGRzU2VsZWN0b3J9IGZyb20gJy4va2VwbGVyLWdsJztcblxuY29uc3QgQ0xBU1NfRklMVEVSID0gW1xuICAnbWFwbGlicmVnbC1jb250cm9sLWNvbnRhaW5lcicsXG4gICdtYXBib3hnbC1jb250cm9sLWNvbnRhaW5lcicsXG4gICdhdHRyaXRpb24tbGluaycsXG4gICdhdHRyaXRpb24tbG9nbycsXG4gICdtYXAtY29udHJvbF9fcGFuZWwtc3BsaXQtdmlld3BvcnQtdG9vbHMnXG5dO1xuY29uc3QgRE9NX0ZJTFRFUl9GVU5DID0gbm9kZSA9PiAhQ0xBU1NfRklMVEVSLmluY2x1ZGVzKG5vZGUuY2xhc3NOYW1lKTtcbmNvbnN0IE9VVF9PRl9TQ1JFRU5fUE9TSVRJT04gPSAtOTk5OTtcblxuLyoqXG4gKiBDYWxjdWxhdGVzIGxlZ2VuZCB6b29tIGJhc2VkIG9uIGV4cG9ydCBoZWlnaHRcbiAqIE1hcHMgZXhwb3J0IGhlaWdodCB0byBhIHpvb20gZmFjdG9yIGJldHdlZW4gMC41IGFuZCAzXG4gKiBAcGFyYW0gaGVpZ2h0IC0gZXhwb3J0IGhlaWdodCBpbiBwaXhlbHNcbiAqIEByZXR1cm5zIHpvb20gZmFjdG9yIGZvciBsZWdlbmQgcGFuZWxcbiAqL1xuZnVuY3Rpb24gY2FsY3VsYXRlTGVnZW5kWm9vbShoZWlnaHQ6IG51bWJlcik6IG51bWJlciB7XG4gIGNvbnN0IGJhc2VIZWlnaHQgPSAxMDgwOyAvLyAxeCB6b29tIHJlZmVyZW5jZSBoZWlnaHRcbiAgY29uc3QgbWluWm9vbSA9IDAuNTtcbiAgY29uc3QgbWF4Wm9vbSA9IDM7XG5cbiAgLy8gRm9yIGluaXRpYWwvaW52YWxpZCBoZWlnaHRzLCBhdm9pZCBzaHJpbmtpbmcgdGhlIGxlZ2VuZDsgdXNlIG5vIHNjYWxpbmcuXG4gIGlmICghTnVtYmVyLmlzRmluaXRlKGhlaWdodCkgfHwgaGVpZ2h0IDw9IDApIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIC8vIExpbmVhciBtYXBwaW5nOiBoZWlnaHQgLyBiYXNlSGVpZ2h0IGdpdmVzIHVzIHRoZSBzY2FsZVxuICBjb25zdCB6b29tRmFjdG9yID0gaGVpZ2h0IC8gYmFzZUhlaWdodDtcbiAgLy8gQ2xhbXAgYmV0d2VlbiBtaW4gYW5kIG1heFxuICByZXR1cm4gTWF0aC5tYXgobWluWm9vbSwgTWF0aC5taW4obWF4Wm9vbSwgem9vbUZhY3RvcikpO1xufVxuXG5QbG90Q29udGFpbmVyRmFjdG9yeS5kZXBzID0gW01hcENvbnRhaW5lckZhY3RvcnksIE1hcHNMYXlvdXRGYWN0b3J5XTtcblxuLy8gUmVtb3ZlIG1hcGJveCBsb2dvIGluIGV4cG9ydGVkIG1hcCwgYmVjYXVzZSBpdCBjb250YWlucyBub24tYXNjaWkgY2hhcmFjdGVyc1xuLy8gUmVtb3ZlIHNwbGl0IHZpZXdwb3J0IFVJIGNvbnRyb2xzIGZyb20gZXhwb3J0ZWQgaW1hZ2VzIHdoZW4gdGhlIGxlZ2VuZCBpcyBzaG93blxuaW50ZXJmYWNlIFN0eWxlZFBsb3RDb250YWluZXJQcm9wcyB7XG4gICRsZWdlbmRab29tPzogbnVtYmVyO1xufVxuXG5jb25zdCBTdHlsZWRQbG90Q29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRQbG90Q29udGFpbmVyUHJvcHM+YFxuICAubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1sZWZ0LFxuICAubWFwbGlicmVnbC1jdHJsLWJvdHRvbS1yaWdodCxcbiAgLm1hcGxpYnJlLWF0dHJpYnV0aW9uLWNvbnRhaW5lcixcbiAgLm1hcGJveGdsLWN0cmwtYm90dG9tLWxlZnQsXG4gIC5tYXBib3hnbC1jdHJsLWJvdHRvbS1yaWdodCxcbiAgLm1hcGJveC1hdHRyaWJ1dGlvbi1jb250YWluZXIsXG4gIC5tYXAtY29udHJvbF9fcGFuZWwtc3BsaXQtdmlld3BvcnQtdG9vbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OfXB4O1xuICBsZWZ0OiAke09VVF9PRl9TQ1JFRU5fUE9TSVRJT059cHg7XG5cbiAgLyogQXBwbHkgem9vbSB0byBsZWdlbmQgcGFuZWwgYmFzZWQgb24gZXhwb3J0IGhlaWdodCAqL1xuICAubWFwLWNvbnRyb2wtcGFuZWwge1xuICAgIHpvb206ICR7cHJvcHMgPT4gcHJvcHMuJGxlZ2VuZFpvb20gfHwgMX0gIWltcG9ydGFudDtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIFN0eWxlZE1hcENvbnRhaW5lclByb3BzIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkTWFwQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRNYXBDb250YWluZXJQcm9wcz5gXG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRofXB4O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaGVpZ2h0fXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuaW50ZXJmYWNlIFBsb3RDb250YWluZXJQcm9wcyB7XG4gIC8vIEltYWdlIGV4cG9ydCBzZXR0aW5nc1xuICByYXRpbz86IHN0cmluZztcbiAgcmVzb2x1dGlvbj86IHN0cmluZztcbiAgbGVnZW5kPzogYm9vbGVhbjtcbiAgY2VudGVyPzogYm9vbGVhbjtcbiAgaW1hZ2VTaXplOiBFeHBvcnRJbWFnZVsnaW1hZ2VTaXplJ107XG4gIGVzY2FwZVhodG1sRm9yV2VicGFjaz86IGJvb2xlYW47XG5cbiAgLy8gTWFwIHNldHRpbmdzXG4gIG1hcEZpZWxkczogUmV0dXJuVHlwZTx0eXBlb2YgbWFwRmllbGRzU2VsZWN0b3I+O1xuICBzcGxpdE1hcHM/OiBTcGxpdE1hcFtdO1xuXG4gIC8vIENhbGxiYWNrc1xuICBzZXRFeHBvcnRJbWFnZVNldHRpbmc6IHR5cGVvZiBzZXRFeHBvcnRJbWFnZVNldHRpbmc7XG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaTogdHlwZW9mIHNldEV4cG9ydEltYWdlRGF0YVVyaTtcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcjogdHlwZW9mIHNldEV4cG9ydEltYWdlRXJyb3I7XG4gIGFkZE5vdGlmaWNhdGlvbjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgYWRkTm90aWZpY2F0aW9uPjtcblxuICAvLyBGbGFnc1xuICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbj86IGJvb2xlYW47XG5cbiAgLy8gT3B0aW9uYWw6IG92ZXJyaWRlIGxlZ2VuZCBoZWFkZXIgbG9nbyBkdXJpbmcgZXhwb3J0XG4gIGxvZ29Db21wb25lbnQ/OiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFBsb3RDb250YWluZXJGYWN0b3J5KFxuICBNYXBDb250YWluZXI6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRhaW5lckZhY3Rvcnk+LFxuICBNYXBzTGF5b3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBzTGF5b3V0RmFjdG9yeT5cbik6IFJlYWN0LkNvbXBvbmVudFR5cGU8UGxvdENvbnRhaW5lclByb3BzPiB7XG4gIGZ1bmN0aW9uIFBsb3RDb250YWluZXIoe1xuICAgIC8vIEltYWdlIGV4cG9ydCBzZXR0aW5nc1xuICAgIHJhdGlvLFxuICAgIHJlc29sdXRpb24sXG4gICAgbGVnZW5kID0gZmFsc2UsXG4gICAgY2VudGVyLFxuICAgIGltYWdlU2l6ZSxcbiAgICBlc2NhcGVYaHRtbEZvcldlYnBhY2ssXG5cbiAgICAvLyBNYXAgc2V0dGluZ3NcbiAgICBtYXBGaWVsZHMsXG4gICAgc3BsaXRNYXBzID0gW10sXG5cbiAgICAvLyBDYWxsYmFja3NcbiAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcsXG4gICAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpLFxuICAgIHNldEV4cG9ydEltYWdlRXJyb3IsXG4gICAgYWRkTm90aWZpY2F0aW9uLFxuXG4gICAgLy8gRmxhZ3NcbiAgICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbixcbiAgICBsb2dvQ29tcG9uZW50XG4gIH06IFBsb3RDb250YWluZXJQcm9wcykge1xuICAgIGNvbnN0IHBsb3R0aW5nQXJlYVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3Bsb3RFZmZlY3RzXSA9IHVzZVN0YXRlPEVmZmVjdFtdPigoKSA9PlxuICAgICAgbWFwRmllbGRzLnZpc1N0YXRlLmVmZmVjdHMubWFwKGVmZmVjdCA9PiBlZmZlY3QuY2xvbmUoKSlcbiAgICApO1xuXG4gICAgY29uc3Qge21hcFN0YXRlfSA9IG1hcEZpZWxkcztcblxuICAgIGNvbnN0IGRlY2tMYXllcnNMb2FkaW5nUmVmID0gdXNlUmVmKHRydWUpO1xuICAgIGNvbnN0IG1hcFN0eWxlTG9hZGVkUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBzY3JlZW5zaG90VGFrZW5SZWYgPSB1c2VSZWYoZmFsc2UpO1xuXG4gICAgLy8gTWVtb2l6ZSB0aGUgc2NhbGUgY2FsY3VsYXRpb25cbiAgICBjb25zdCBzY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKGltYWdlU2l6ZS5zY2FsZSkge1xuICAgICAgICByZXR1cm4gaW1hZ2VTaXplLnNjYWxlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjYWxjdWxhdGVkU2NhbGUgPSBnZXRTY2FsZUZyb21JbWFnZVNpemUoXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZUgsXG4gICAgICAgIG1hcFN0YXRlLndpZHRoICogKG1hcFN0YXRlLmlzU3BsaXQgPyAyIDogMSksXG4gICAgICAgIG1hcFN0YXRlLmhlaWdodFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRTY2FsZSA+IDAgPyBjYWxjdWxhdGVkU2NhbGUgOiAxO1xuICAgIH0sIFtcbiAgICAgIGltYWdlU2l6ZS5zY2FsZSxcbiAgICAgIGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgbWFwU3RhdGUud2lkdGgsXG4gICAgICBtYXBTdGF0ZS5oZWlnaHQsXG4gICAgICBtYXBTdGF0ZS5pc1NwbGl0XG4gICAgXSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSBsZWdlbmQgem9vbSBjYWxjdWxhdGlvbiBiYXNlZCBvbiBleHBvcnQgaGVpZ2h0XG4gICAgY29uc3QgbGVnZW5kWm9vbSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIGNhbGN1bGF0ZUxlZ2VuZFpvb20oaW1hZ2VTaXplLmltYWdlSCk7XG4gICAgfSwgW2ltYWdlU2l6ZS5pbWFnZUhdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIG1hcCBzdHlsZVxuICAgIGNvbnN0IHNjYWxlZE1hcFN0eWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBtYXBTdHlsZSA9IG1hcEZpZWxkcy5tYXBTdHlsZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm1hcFN0eWxlLFxuICAgICAgICBib3R0b21NYXBTdHlsZTogc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbihtYXBTdHlsZS5ib3R0b21NYXBTdHlsZSwgc2NhbGUpLFxuICAgICAgICB0b3BNYXBTdHlsZTogc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbihtYXBTdHlsZS50b3BNYXBTdHlsZSwgc2NhbGUpXG4gICAgICB9O1xuICAgIH0sIFttYXBGaWVsZHMubWFwU3R5bGUsIHNjYWxlXSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSByZXRyaWV2ZU5ld1NjcmVlbnNob3QgY2FsbGJhY2tcbiAgICBjb25zdCBkZWJvdW5jZWRTY3JlZW5zaG90ID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgICBpZiAocGxvdHRpbmdBcmVhUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnZlcnRUb1BuZyhwbG90dGluZ0FyZWFSZWYuY3VycmVudCwge1xuICAgICAgICAgICAgICBmaWx0ZXI6IERPTV9GSUxURVJfRlVOQyxcbiAgICAgICAgICAgICAgd2lkdGg6IGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICAgICAgICAgIGhlaWdodDogaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgICAgICAgICAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAudGhlbihzZXRFeHBvcnRJbWFnZURhdGFVcmkpXG4gICAgICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHNldEV4cG9ydEltYWdlRXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICBpZiAoZW5hYmxlRXJyb3JOb3RpZmljYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgIGFkZE5vdGlmaWNhdGlvbihleHBvcnRJbWFnZUVycm9yKHtlcnJ9KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwMCksXG4gICAgICBbXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZVcsXG4gICAgICAgIGltYWdlU2l6ZS5pbWFnZUgsXG4gICAgICAgIGVzY2FwZVhodG1sRm9yV2VicGFjayxcbiAgICAgICAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpLFxuICAgICAgICBzZXRFeHBvcnRJbWFnZUVycm9yLFxuICAgICAgICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbixcbiAgICAgICAgYWRkTm90aWZpY2F0aW9uXG4gICAgICBdXG4gICAgKTtcblxuICAgIGNvbnN0IHJldHJpZXZlTmV3U2NyZWVuc2hvdCA9IHVzZUNhbGxiYWNrKGRlYm91bmNlZFNjcmVlbnNob3QsIFtkZWJvdW5jZWRTY3JlZW5zaG90XSk7XG5cbiAgICBjb25zdCB0cnlTY3JlZW5zaG90ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKG1hcFN0eWxlTG9hZGVkUmVmLmN1cnJlbnQgJiYgIWRlY2tMYXllcnNMb2FkaW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgc2NyZWVuc2hvdFRha2VuUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICByZXRyaWV2ZU5ld1NjcmVlbnNob3QoKTtcbiAgICAgIH1cbiAgICB9LCBbcmV0cmlldmVOZXdTY3JlZW5zaG90XSk7XG5cbiAgICAvLyBGYWxsYmFjazogaWYgbGF5ZXJzIG5ldmVyIGZpbmlzaCBsb2FkaW5nLCBjYXB0dXJlIGFmdGVyIHRpbWVvdXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKCFzY3JlZW5zaG90VGFrZW5SZWYuY3VycmVudCkge1xuICAgICAgICAgIGRlY2tMYXllcnNMb2FkaW5nUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICB0cnlTY3JlZW5zaG90KCk7XG4gICAgICAgIH1cbiAgICAgIH0sIDMwMDAwKTtcbiAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgIH0sIFt0cnlTY3JlZW5zaG90XSk7XG5cbiAgICAvLyBNZW1vaXplIHRoZSBvbk1hcFJlbmRlciBjYWxsYmFja1xuICAgIGNvbnN0IGRlYm91bmNlZE1hcFJlbmRlciA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBkZWJvdW5jZShtYXAgPT4ge1xuICAgICAgICAgIGlmIChtYXAuaXNTdHlsZUxvYWRlZCgpKSB7XG4gICAgICAgICAgICBtYXBTdHlsZUxvYWRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRyeVNjcmVlbnNob3QoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDUwMCksXG4gICAgICBbdHJ5U2NyZWVuc2hvdF1cbiAgICApO1xuXG4gICAgY29uc3Qgb25NYXBSZW5kZXIgPSB1c2VDYWxsYmFjayhkZWJvdW5jZWRNYXBSZW5kZXIsIFtkZWJvdW5jZWRNYXBSZW5kZXJdKTtcblxuICAgIGNvbnN0IGRlY2tSZW5kZXJDYWxsYmFja3MgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgb25EZWNrQWZ0ZXJSZW5kZXI6IChkZWNrUHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG4gICAgICAgICAgY29uc3QgbGF5ZXJzID0gZGVja1Byb3BzLmxheWVycyBhcyBhbnlbXTtcbiAgICAgICAgICBpZiAoIWxheWVycykgcmV0dXJuO1xuICAgICAgICAgIGNvbnN0IHN0aWxsTG9hZGluZyA9IGFyZUFueURlY2tMYXllcnNMb2FkaW5nKGxheWVycyk7XG4gICAgICAgICAgaWYgKGRlY2tMYXllcnNMb2FkaW5nUmVmLmN1cnJlbnQgJiYgIXN0aWxsTG9hZGluZykge1xuICAgICAgICAgICAgZGVja0xheWVyc0xvYWRpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgdHJ5U2NyZWVuc2hvdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZWNrTGF5ZXJzTG9hZGluZ1JlZi5jdXJyZW50ID0gc3RpbGxMb2FkaW5nO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIFt0cnlTY3JlZW5zaG90XVxuICAgICk7XG5cbiAgICAvLyBJbml0aWFsIHNldHVwIGVmZmVjdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcoe3Byb2Nlc3Npbmc6IHRydWV9KTtcbiAgICB9LCBbc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXSk7XG5cbiAgICAvLyBTY3JlZW5zaG90IHVwZGF0ZSBlZmZlY3RcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHJhdGlvICE9PSB1bmRlZmluZWQgfHwgcmVzb2x1dGlvbiAhPT0gdW5kZWZpbmVkIHx8IGxlZ2VuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHNldEV4cG9ydEltYWdlU2V0dGluZyh7cHJvY2Vzc2luZzogdHJ1ZX0pO1xuICAgICAgICB0cnlTY3JlZW5zaG90KCk7XG4gICAgICB9XG4gICAgfSwgW3JhdGlvLCByZXNvbHV0aW9uLCBsZWdlbmQsIHNldEV4cG9ydEltYWdlU2V0dGluZywgdHJ5U2NyZWVuc2hvdF0pO1xuXG4gICAgLy8gTWVtb2l6ZSBzaXplIGNhbGN1bGF0aW9uc1xuICAgIGNvbnN0IHtzaXplLCB3aWR0aCwgaGVpZ2h0fSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IHtcbiAgICAgICAgd2lkdGg6IGltYWdlU2l6ZS5pbWFnZVcgfHwgMSxcbiAgICAgICAgaGVpZ2h0OiBpbWFnZVNpemUuaW1hZ2VIIHx8IDFcbiAgICAgIH07XG4gICAgICBjb25zdCBpc1NwbGl0ID0gc3BsaXRNYXBzLmxlbmd0aCA+IDE7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzaXplLFxuICAgICAgICB3aWR0aDogc2l6ZS53aWR0aCAvIChpc1NwbGl0ID8gMiA6IDEpLFxuICAgICAgICBoZWlnaHQ6IHNpemUuaGVpZ2h0XG4gICAgICB9O1xuICAgIH0sIFtpbWFnZVNpemUuaW1hZ2VXLCBpbWFnZVNpemUuaW1hZ2VILCBzcGxpdE1hcHMubGVuZ3RoXSk7XG5cbiAgICAvLyBNZW1vaXplIG1hcCBzdGF0ZVxuICAgIGNvbnN0IG5ld01hcFN0YXRlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCB6b29tT2Zmc2V0ID0gTWF0aC5sb2cyKHNjYWxlKSB8fCAwO1xuICAgICAgY29uc3QgYmFzZU1hcFN0YXRlID0ge1xuICAgICAgICAuLi5tYXBTdGF0ZSxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgem9vbTogbWFwU3RhdGUuem9vbSArIHpvb21PZmZzZXQsXG4gICAgICAgIHpvb21PZmZzZXRcbiAgICAgIH07XG5cbiAgICAgIGlmIChjZW50ZXIpIHtcbiAgICAgICAgY29uc3QgcmVuZGVyZWRMYXllcnMgPSBtYXBGaWVsZHMudmlzU3RhdGUubGF5ZXJzLmZpbHRlcihcbiAgICAgICAgICAobGF5ZXIsIGlkeCkgPT5cbiAgICAgICAgICAgIGxheWVyLmlkICE9PSBHRU9DT0RFUl9MQVlFUl9JRCAmJlxuICAgICAgICAgICAgbGF5ZXIuc2hvdWxkUmVuZGVyTGF5ZXIobWFwRmllbGRzLnZpc1N0YXRlLmxheWVyRGF0YVtpZHhdKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBib3VuZHMgPSBmaW5kTWFwQm91bmRzKHJlbmRlcmVkTGF5ZXJzKTtcbiAgICAgICAgY29uc3QgY2VudGVyQW5kWm9vbSA9IGdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzKGJvdW5kcywge3dpZHRoLCBoZWlnaHR9KTtcbiAgICAgICAgaWYgKGNlbnRlckFuZFpvb20pIHtcbiAgICAgICAgICBjb25zdCB6b29tID0gTnVtYmVyLmlzRmluaXRlKGNlbnRlckFuZFpvb20uem9vbSkgPyBjZW50ZXJBbmRab29tLnpvb20gOiBtYXBTdGF0ZS56b29tO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5iYXNlTWFwU3RhdGUsXG4gICAgICAgICAgICBsb25naXR1ZGU6IGNlbnRlckFuZFpvb20uY2VudGVyWzBdLFxuICAgICAgICAgICAgbGF0aXR1ZGU6IGNlbnRlckFuZFpvb20uY2VudGVyWzFdLFxuICAgICAgICAgICAgem9vbTogem9vbSArIE51bWJlcihNYXRoLmxvZzIoc2NhbGUpIHx8IDApXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYmFzZU1hcFN0YXRlO1xuICAgIH0sIFttYXBTdGF0ZSwgd2lkdGgsIGhlaWdodCwgc2NhbGUsIGNlbnRlciwgbWFwRmllbGRzLnZpc1N0YXRlXSk7XG5cbiAgICAvLyBNZW1vaXplIG1hcCBwcm9wc1xuICAgIGNvbnN0IG1hcFByb3BzID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIC4uLm1hcEZpZWxkcyxcbiAgICAgICAgbWFwU3R5bGU6IHNjYWxlZE1hcFN0eWxlLFxuICAgICAgICBtYXBTdGF0ZTogbmV3TWFwU3RhdGUsXG4gICAgICAgIG1hcENvbnRyb2xzOiB7XG4gICAgICAgICAgbWFwTGVnZW5kOiB7XG4gICAgICAgICAgICBzaG93OiBCb29sZWFuKGxlZ2VuZCksXG4gICAgICAgICAgICBhY3RpdmU6IHRydWUsXG4gICAgICAgICAgICBzZXR0aW5nczogbWFwRmllbGRzLm1hcENvbnRyb2xzPy5tYXBMZWdlbmQ/LnNldHRpbmdzXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvbk1hcFJlbmRlcixcbiAgICAgICAgaXNFeHBvcnQ6IHRydWUsXG4gICAgICAgIGRlY2tHbFByb3BzOiB7XG4gICAgICAgICAgLi4ubWFwRmllbGRzLmRlY2tHbFByb3BzLFxuICAgICAgICAgIF9pc0V4cG9ydDogdHJ1ZSxcbiAgICAgICAgICB1c2VEZXZpY2VQaXhlbHM6IGZhbHNlLFxuICAgICAgICAgIGRldmljZVByb3BzOiB7XG4gICAgICAgICAgICB3ZWJnbDoge1xuICAgICAgICAgICAgICBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGRlY2tSZW5kZXJDYWxsYmFja3MsXG4gICAgICAgIHZpc1N0YXRlOiB7XG4gICAgICAgICAgLi4ubWFwRmllbGRzLnZpc1N0YXRlLFxuICAgICAgICAgIGVmZmVjdHM6IHBsb3RFZmZlY3RzXG4gICAgICAgIH0sXG4gICAgICAgIC8vIGFsbG93IG92ZXJyaWRpbmcgdGhlIGxlZ2VuZCBwYW5lbCBsb2dvIGluIGV4cG9ydFxuICAgICAgICBsb2dvQ29tcG9uZW50XG4gICAgICB9KSxcbiAgICAgIFtcbiAgICAgICAgbWFwRmllbGRzLFxuICAgICAgICBzY2FsZWRNYXBTdHlsZSxcbiAgICAgICAgbmV3TWFwU3RhdGUsXG4gICAgICAgIGxlZ2VuZCxcbiAgICAgICAgb25NYXBSZW5kZXIsXG4gICAgICAgIGRlY2tSZW5kZXJDYWxsYmFja3MsXG4gICAgICAgIHBsb3RFZmZlY3RzLFxuICAgICAgICBsb2dvQ29tcG9uZW50XG4gICAgICBdXG4gICAgKTtcblxuICAgIGNvbnN0IGlzU3BsaXQgPSBzcGxpdE1hcHMubGVuZ3RoID4gMTtcbiAgICBjb25zdCBtYXBDb250YWluZXJzID0gIWlzU3BsaXQgPyAoXG4gICAgICA8TWFwQ29udGFpbmVyIGluZGV4PXswfSBwcmltYXJ5PXt0cnVlfSB7Li4ubWFwUHJvcHN9IC8+XG4gICAgKSA6IChcbiAgICAgIDxNYXBzTGF5b3V0IGNsYXNzTmFtZT1cInBsb3QtY29udGFpbmVyLW1hcHNcIiBtYXBTdGF0ZT17bmV3TWFwU3RhdGV9PlxuICAgICAgICB7c3BsaXRNYXBzLm1hcCgoc2V0dGluZ3MsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPE1hcENvbnRhaW5lciBrZXk9e2luZGV4fSBpbmRleD17aW5kZXh9IHByaW1hcnk9e2luZGV4ID09PSAxfSB7Li4ubWFwUHJvcHN9IC8+XG4gICAgICAgICkpfVxuICAgICAgPC9NYXBzTGF5b3V0PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFBsb3RDb250YWluZXIgY2xhc3NOYW1lPVwiZXhwb3J0LW1hcC1pbnN0YW5jZVwiICRsZWdlbmRab29tPXtsZWdlbmRab29tfT5cbiAgICAgICAgPFN0eWxlZE1hcENvbnRhaW5lciByZWY9e3Bsb3R0aW5nQXJlYVJlZn0gd2lkdGg9e3NpemUud2lkdGh9IGhlaWdodD17c2l6ZS5oZWlnaHR9PlxuICAgICAgICAgIDxNYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXIgbWFwU3RhdGU9e25ld01hcFN0YXRlfT5cbiAgICAgICAgICAgIHttYXBDb250YWluZXJzfVxuICAgICAgICAgIDwvTWFwVmlld1N0YXRlQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICA8L1N0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkUGxvdENvbnRhaW5lcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIFJlYWN0Lm1lbW8oUGxvdENvbnRhaW5lcik7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUlBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFPQSxJQUFBSyxTQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxhQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxvQkFBQSxHQUFBUixPQUFBO0FBRUEsSUFBQVMsVUFBQSxHQUFBVCxPQUFBO0FBQXVELElBQUFVLGVBQUEsRUFBQUMsZ0JBQUEsRUFuQnZEO0FBQ0E7QUFFQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBZCx3QkFBQWMsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQUFBLFNBQUFXLFFBQUFuQixDQUFBLEVBQUFFLENBQUEsUUFBQUMsQ0FBQSxHQUFBUSxNQUFBLENBQUFTLElBQUEsQ0FBQXBCLENBQUEsT0FBQVcsTUFBQSxDQUFBVSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFYLE1BQUEsQ0FBQVUscUJBQUEsQ0FBQXJCLENBQUEsR0FBQUUsQ0FBQSxLQUFBb0IsQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQXJCLENBQUEsV0FBQVMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFFLENBQUEsRUFBQXNCLFVBQUEsT0FBQXJCLENBQUEsQ0FBQXNCLElBQUEsQ0FBQUMsS0FBQSxDQUFBdkIsQ0FBQSxFQUFBbUIsQ0FBQSxZQUFBbkIsQ0FBQTtBQUFBLFNBQUF3QixjQUFBM0IsQ0FBQSxhQUFBRSxDQUFBLE1BQUFBLENBQUEsR0FBQTBCLFNBQUEsQ0FBQUMsTUFBQSxFQUFBM0IsQ0FBQSxVQUFBQyxDQUFBLFdBQUF5QixTQUFBLENBQUExQixDQUFBLElBQUEwQixTQUFBLENBQUExQixDQUFBLFFBQUFBLENBQUEsT0FBQWlCLE9BQUEsQ0FBQVIsTUFBQSxDQUFBUixDQUFBLE9BQUEyQixPQUFBLFdBQUE1QixDQUFBLFFBQUE2QixnQkFBQSxhQUFBL0IsQ0FBQSxFQUFBRSxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBUyxNQUFBLENBQUFxQix5QkFBQSxHQUFBckIsTUFBQSxDQUFBc0IsZ0JBQUEsQ0FBQWpDLENBQUEsRUFBQVcsTUFBQSxDQUFBcUIseUJBQUEsQ0FBQTdCLENBQUEsS0FBQWdCLE9BQUEsQ0FBQVIsTUFBQSxDQUFBUixDQUFBLEdBQUEyQixPQUFBLFdBQUE1QixDQUFBLElBQUFTLE1BQUEsQ0FBQUMsY0FBQSxDQUFBWixDQUFBLEVBQUFFLENBQUEsRUFBQVMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBVixDQUFBLEVBQUFELENBQUEsaUJBQUFGLENBQUE7QUEyQkEsSUFBTWtDLFlBQVksR0FBRyxDQUNuQiw4QkFBOEIsRUFDOUIsNEJBQTRCLEVBQzVCLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIseUNBQXlDLENBQzFDO0FBQ0QsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFHQyxJQUFJO0VBQUEsT0FBSSxDQUFDRixZQUFZLENBQUNHLFFBQVEsQ0FBQ0QsSUFBSSxDQUFDRSxTQUFTLENBQUM7QUFBQTtBQUN0RSxJQUFNQyxzQkFBc0IsR0FBRyxDQUFDLElBQUk7O0FBRXBDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLG1CQUFtQkEsQ0FBQ0MsTUFBYyxFQUFVO0VBQ25ELElBQU1DLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQztFQUN6QixJQUFNQyxPQUFPLEdBQUcsR0FBRztFQUNuQixJQUFNQyxPQUFPLEdBQUcsQ0FBQzs7RUFFakI7RUFDQSxJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDTCxNQUFNLENBQUMsSUFBSUEsTUFBTSxJQUFJLENBQUMsRUFBRTtJQUMzQyxPQUFPLENBQUM7RUFDVjs7RUFFQTtFQUNBLElBQU1NLFVBQVUsR0FBR04sTUFBTSxHQUFHQyxVQUFVO0VBQ3RDO0VBQ0EsT0FBT00sSUFBSSxDQUFDQyxHQUFHLENBQUNOLE9BQU8sRUFBRUssSUFBSSxDQUFDRSxHQUFHLENBQUNOLE9BQU8sRUFBRUcsVUFBVSxDQUFDLENBQUM7QUFDekQ7QUFFQUksb0JBQW9CLENBQUNDLElBQUksR0FBRyxDQUFDQyx3QkFBbUIsRUFBRUMsc0JBQWlCLENBQUM7O0FBRXBFO0FBQ0E7O0FBS0EsSUFBTUMsbUJBQW1CLEdBQUdDLDRCQUFNLENBQUNDLEdBQUcsQ0FBQTVELGVBQUEsS0FBQUEsZUFBQSxPQUFBNkQsdUJBQUEsc2RBWTdCbkIsc0JBQXNCLEVBQ3JCQSxzQkFBc0IsRUFJcEIsVUFBQW9CLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLFdBQVcsSUFBSSxDQUFDO0FBQUEsRUFFMUM7QUFPRCxJQUFNQyxrQkFBa0IsR0FBR0wsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBM0QsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQTRELHVCQUFBLDhFQUMxQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDRyxLQUFLO0FBQUEsR0FDbkIsVUFBQUgsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ2xCLE1BQU07QUFBQSxFQUVoQztBQTRCYyxTQUFTVSxvQkFBb0JBLENBQzFDWSxZQUFvRCxFQUNwREMsVUFBZ0QsRUFDUDtFQUN6QyxTQUFTQyxhQUFhQSxDQUFBQyxJQUFBLEVBc0JDO0lBQUEsSUFwQnJCQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztNQUNMQyxVQUFVLEdBQUFGLElBQUEsQ0FBVkUsVUFBVTtNQUFBQyxXQUFBLEdBQUFILElBQUEsQ0FDVkksTUFBTTtNQUFOQSxNQUFNLEdBQUFELFdBQUEsY0FBRyxLQUFLLEdBQUFBLFdBQUE7TUFDZEUsTUFBTSxHQUFBTCxJQUFBLENBQU5LLE1BQU07TUFDTkMsU0FBUyxHQUFBTixJQUFBLENBQVRNLFNBQVM7TUFDVEMscUJBQXFCLEdBQUFQLElBQUEsQ0FBckJPLHFCQUFxQjtNQUdyQkMsU0FBUyxHQUFBUixJQUFBLENBQVRRLFNBQVM7TUFBQUMsY0FBQSxHQUFBVCxJQUFBLENBQ1RVLFNBQVM7TUFBVEEsU0FBUyxHQUFBRCxjQUFBLGNBQUcsRUFBRSxHQUFBQSxjQUFBO01BR2RFLHFCQUFxQixHQUFBWCxJQUFBLENBQXJCVyxxQkFBcUI7TUFDckJDLHFCQUFxQixHQUFBWixJQUFBLENBQXJCWSxxQkFBcUI7TUFDckJDLG1CQUFtQixHQUFBYixJQUFBLENBQW5CYSxtQkFBbUI7TUFDbkJDLGVBQWUsR0FBQWQsSUFBQSxDQUFmYyxlQUFlO01BR2ZDLHVCQUF1QixHQUFBZixJQUFBLENBQXZCZSx1QkFBdUI7TUFDdkJDLGFBQWEsR0FBQWhCLElBQUEsQ0FBYmdCLGFBQWE7SUFFYixJQUFNQyxlQUFlLEdBQUcsSUFBQUMsYUFBTSxFQUFpQixJQUFJLENBQUM7SUFDcEQsSUFBQUMsU0FBQSxHQUFzQixJQUFBQyxlQUFRLEVBQVc7UUFBQSxPQUN2Q1osU0FBUyxDQUFDYSxRQUFRLENBQUNDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLFVBQUFDLE1BQU07VUFBQSxPQUFJQSxNQUFNLENBQUNDLEtBQUssQ0FBQyxDQUFDO1FBQUEsRUFBQztNQUFBLENBQzFELENBQUM7TUFBQUMsVUFBQSxPQUFBQyxlQUFBLGFBQUFSLFNBQUE7TUFGTVMsV0FBVyxHQUFBRixVQUFBO0lBSWxCLElBQU9HLFFBQVEsR0FBSXJCLFNBQVMsQ0FBckJxQixRQUFRO0lBRWYsSUFBTUMsb0JBQW9CLEdBQUcsSUFBQVosYUFBTSxFQUFDLElBQUksQ0FBQztJQUN6QyxJQUFNYSxpQkFBaUIsR0FBRyxJQUFBYixhQUFNLEVBQUMsS0FBSyxDQUFDO0lBQ3ZDLElBQU1jLGtCQUFrQixHQUFHLElBQUFkLGFBQU0sRUFBQyxLQUFLLENBQUM7O0lBRXhDO0lBQ0EsSUFBTWUsS0FBSyxHQUFHLElBQUFDLGNBQU8sRUFBQyxZQUFNO01BQzFCLElBQUk1QixTQUFTLENBQUMyQixLQUFLLEVBQUU7UUFDbkIsT0FBTzNCLFNBQVMsQ0FBQzJCLEtBQUs7TUFDeEI7TUFFQSxJQUFNRSxlQUFlLEdBQUcsSUFBQUMsNEJBQXFCLEVBQzNDOUIsU0FBUyxDQUFDK0IsTUFBTSxFQUNoQi9CLFNBQVMsQ0FBQ2dDLE1BQU0sRUFDaEJULFFBQVEsQ0FBQ2pDLEtBQUssSUFBSWlDLFFBQVEsQ0FBQ1UsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDM0NWLFFBQVEsQ0FBQ3RELE1BQ1gsQ0FBQztNQUVELE9BQU80RCxlQUFlLEdBQUcsQ0FBQyxHQUFHQSxlQUFlLEdBQUcsQ0FBQztJQUNsRCxDQUFDLEVBQUUsQ0FDRDdCLFNBQVMsQ0FBQzJCLEtBQUssRUFDZjNCLFNBQVMsQ0FBQytCLE1BQU0sRUFDaEIvQixTQUFTLENBQUNnQyxNQUFNLEVBQ2hCVCxRQUFRLENBQUNqQyxLQUFLLEVBQ2RpQyxRQUFRLENBQUN0RCxNQUFNLEVBQ2ZzRCxRQUFRLENBQUNVLE9BQU8sQ0FDakIsQ0FBQzs7SUFFRjtJQUNBLElBQU1DLFVBQVUsR0FBRyxJQUFBTixjQUFPLEVBQUMsWUFBTTtNQUMvQixPQUFPNUQsbUJBQW1CLENBQUNnQyxTQUFTLENBQUNnQyxNQUFNLENBQUM7SUFDOUMsQ0FBQyxFQUFFLENBQUNoQyxTQUFTLENBQUNnQyxNQUFNLENBQUMsQ0FBQzs7SUFFdEI7SUFDQSxJQUFNRyxjQUFjLEdBQUcsSUFBQVAsY0FBTyxFQUFDLFlBQU07TUFDbkMsSUFBTVEsUUFBUSxHQUFHbEMsU0FBUyxDQUFDa0MsUUFBUTtNQUNuQyxPQUFBakYsYUFBQSxDQUFBQSxhQUFBLEtBQ0tpRixRQUFRO1FBQ1hDLGNBQWMsRUFBRSxJQUFBQyxnQ0FBeUIsRUFBQ0YsUUFBUSxDQUFDQyxjQUFjLEVBQUVWLEtBQUssQ0FBQztRQUN6RVksV0FBVyxFQUFFLElBQUFELGdDQUF5QixFQUFDRixRQUFRLENBQUNHLFdBQVcsRUFBRVosS0FBSztNQUFDO0lBRXZFLENBQUMsRUFBRSxDQUFDekIsU0FBUyxDQUFDa0MsUUFBUSxFQUFFVCxLQUFLLENBQUMsQ0FBQzs7SUFFL0I7SUFDQSxJQUFNYSxtQkFBbUIsR0FBRyxJQUFBWixjQUFPLEVBQ2pDO01BQUEsT0FDRSxJQUFBYSxvQkFBUSxFQUFDLFlBQU07UUFDYixJQUFJOUIsZUFBZSxDQUFDK0IsT0FBTyxFQUFFO1VBQzNCLElBQUFDLG1CQUFZLEVBQUNoQyxlQUFlLENBQUMrQixPQUFPLEVBQUU7WUFDcEMzRixNQUFNLEVBQUVZLGVBQWU7WUFDdkIyQixLQUFLLEVBQUVVLFNBQVMsQ0FBQytCLE1BQU07WUFDdkI5RCxNQUFNLEVBQUUrQixTQUFTLENBQUNnQyxNQUFNO1lBQ3hCL0IscUJBQXFCLEVBQXJCQTtVQUNGLENBQUMsQ0FBQyxDQUNDMkMsSUFBSSxDQUFDdEMscUJBQXFCLENBQUMsU0FDdEIsQ0FBQyxVQUFBdUMsR0FBRyxFQUFJO1lBQ1p0QyxtQkFBbUIsQ0FBQ3NDLEdBQUcsQ0FBQztZQUN4QixJQUFJcEMsdUJBQXVCLEVBQUU7Y0FDM0JELGVBQWUsQ0FBQyxJQUFBc0MsdUJBQWdCLEVBQUM7Z0JBQUNELEdBQUcsRUFBSEE7Y0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQztVQUNGLENBQUMsQ0FBQztRQUNOO01BQ0YsQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUFBLEdBQ1QsQ0FDRTdDLFNBQVMsQ0FBQytCLE1BQU0sRUFDaEIvQixTQUFTLENBQUNnQyxNQUFNLEVBQ2hCL0IscUJBQXFCLEVBQ3JCSyxxQkFBcUIsRUFDckJDLG1CQUFtQixFQUNuQkUsdUJBQXVCLEVBQ3ZCRCxlQUFlLENBRW5CLENBQUM7SUFFRCxJQUFNdUMscUJBQXFCLEdBQUcsSUFBQUMsa0JBQVcsRUFBQ1IsbUJBQW1CLEVBQUUsQ0FBQ0EsbUJBQW1CLENBQUMsQ0FBQztJQUVyRixJQUFNUyxhQUFhLEdBQUcsSUFBQUQsa0JBQVcsRUFBQyxZQUFNO01BQ3RDLElBQUl2QixpQkFBaUIsQ0FBQ2lCLE9BQU8sSUFBSSxDQUFDbEIsb0JBQW9CLENBQUNrQixPQUFPLEVBQUU7UUFDOURoQixrQkFBa0IsQ0FBQ2dCLE9BQU8sR0FBRyxJQUFJO1FBQ2pDSyxxQkFBcUIsQ0FBQyxDQUFDO01BQ3pCO0lBQ0YsQ0FBQyxFQUFFLENBQUNBLHFCQUFxQixDQUFDLENBQUM7O0lBRTNCO0lBQ0EsSUFBQUcsZ0JBQVMsRUFBQyxZQUFNO01BQ2QsSUFBTUMsS0FBSyxHQUFHQyxVQUFVLENBQUMsWUFBTTtRQUM3QixJQUFJLENBQUMxQixrQkFBa0IsQ0FBQ2dCLE9BQU8sRUFBRTtVQUMvQmxCLG9CQUFvQixDQUFDa0IsT0FBTyxHQUFHLEtBQUs7VUFDcENPLGFBQWEsQ0FBQyxDQUFDO1FBQ2pCO01BQ0YsQ0FBQyxFQUFFLEtBQUssQ0FBQztNQUNULE9BQU87UUFBQSxPQUFNSSxZQUFZLENBQUNGLEtBQUssQ0FBQztNQUFBO0lBQ2xDLENBQUMsRUFBRSxDQUFDRixhQUFhLENBQUMsQ0FBQzs7SUFFbkI7SUFDQSxJQUFNSyxrQkFBa0IsR0FBRyxJQUFBMUIsY0FBTyxFQUNoQztNQUFBLE9BQ0UsSUFBQWEsb0JBQVEsRUFBQyxVQUFBeEIsR0FBRyxFQUFJO1FBQ2QsSUFBSUEsR0FBRyxDQUFDc0MsYUFBYSxDQUFDLENBQUMsRUFBRTtVQUN2QjlCLGlCQUFpQixDQUFDaUIsT0FBTyxHQUFHLElBQUk7VUFDaENPLGFBQWEsQ0FBQyxDQUFDO1FBQ2pCO01BQ0YsQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUFBLEdBQ1QsQ0FBQ0EsYUFBYSxDQUNoQixDQUFDO0lBRUQsSUFBTU8sV0FBVyxHQUFHLElBQUFSLGtCQUFXLEVBQUNNLGtCQUFrQixFQUFFLENBQUNBLGtCQUFrQixDQUFDLENBQUM7SUFFekUsSUFBTUcsbUJBQW1CLEdBQUcsSUFBQTdCLGNBQU8sRUFDakM7TUFBQSxPQUFPO1FBQ0w4QixpQkFBaUIsRUFBRSxTQUFuQkEsaUJBQWlCQSxDQUFHQyxTQUFrQyxFQUFLO1VBQ3pELElBQU1DLE1BQU0sR0FBR0QsU0FBUyxDQUFDQyxNQUFlO1VBQ3hDLElBQUksQ0FBQ0EsTUFBTSxFQUFFO1VBQ2IsSUFBTUMsWUFBWSxHQUFHLElBQUFDLGlDQUF1QixFQUFDRixNQUFNLENBQUM7VUFDcEQsSUFBSXBDLG9CQUFvQixDQUFDa0IsT0FBTyxJQUFJLENBQUNtQixZQUFZLEVBQUU7WUFDakRyQyxvQkFBb0IsQ0FBQ2tCLE9BQU8sR0FBRyxLQUFLO1lBQ3BDTyxhQUFhLENBQUMsQ0FBQztVQUNqQjtVQUNBekIsb0JBQW9CLENBQUNrQixPQUFPLEdBQUdtQixZQUFZO1FBQzdDO01BQ0YsQ0FBQztJQUFBLENBQUMsRUFDRixDQUFDWixhQUFhLENBQ2hCLENBQUM7O0lBRUQ7SUFDQSxJQUFBQyxnQkFBUyxFQUFDLFlBQU07TUFDZDdDLHFCQUFxQixDQUFDO1FBQUMwRCxVQUFVLEVBQUU7TUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQyxFQUFFLENBQUMxRCxxQkFBcUIsQ0FBQyxDQUFDOztJQUUzQjtJQUNBLElBQUE2QyxnQkFBUyxFQUFDLFlBQU07TUFDZCxJQUFJdkQsS0FBSyxLQUFLcUUsU0FBUyxJQUFJcEUsVUFBVSxLQUFLb0UsU0FBUyxJQUFJbEUsTUFBTSxLQUFLa0UsU0FBUyxFQUFFO1FBQzNFM0QscUJBQXFCLENBQUM7VUFBQzBELFVBQVUsRUFBRTtRQUFJLENBQUMsQ0FBQztRQUN6Q2QsYUFBYSxDQUFDLENBQUM7TUFDakI7SUFDRixDQUFDLEVBQUUsQ0FBQ3RELEtBQUssRUFBRUMsVUFBVSxFQUFFRSxNQUFNLEVBQUVPLHFCQUFxQixFQUFFNEMsYUFBYSxDQUFDLENBQUM7O0lBRXJFO0lBQ0EsSUFBQWdCLFFBQUEsR0FBOEIsSUFBQXJDLGNBQU8sRUFBQyxZQUFNO1FBQzFDLElBQU1zQyxJQUFJLEdBQUc7VUFDWDVFLEtBQUssRUFBRVUsU0FBUyxDQUFDK0IsTUFBTSxJQUFJLENBQUM7VUFDNUI5RCxNQUFNLEVBQUUrQixTQUFTLENBQUNnQyxNQUFNLElBQUk7UUFDOUIsQ0FBQztRQUNELElBQU1DLE9BQU8sR0FBRzdCLFNBQVMsQ0FBQy9DLE1BQU0sR0FBRyxDQUFDO1FBQ3BDLE9BQU87VUFDTDZHLElBQUksRUFBSkEsSUFBSTtVQUNKNUUsS0FBSyxFQUFFNEUsSUFBSSxDQUFDNUUsS0FBSyxJQUFJMkMsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7VUFDckNoRSxNQUFNLEVBQUVpRyxJQUFJLENBQUNqRztRQUNmLENBQUM7TUFDSCxDQUFDLEVBQUUsQ0FBQytCLFNBQVMsQ0FBQytCLE1BQU0sRUFBRS9CLFNBQVMsQ0FBQ2dDLE1BQU0sRUFBRTVCLFNBQVMsQ0FBQy9DLE1BQU0sQ0FBQyxDQUFDO01BWG5ENkcsSUFBSSxHQUFBRCxRQUFBLENBQUpDLElBQUk7TUFBRTVFLEtBQUssR0FBQTJFLFFBQUEsQ0FBTDNFLEtBQUs7TUFBRXJCLE1BQU0sR0FBQWdHLFFBQUEsQ0FBTmhHLE1BQU07O0lBYTFCO0lBQ0EsSUFBTWtHLFdBQVcsR0FBRyxJQUFBdkMsY0FBTyxFQUFDLFlBQU07TUFDaEMsSUFBTXdDLFVBQVUsR0FBRzVGLElBQUksQ0FBQzZGLElBQUksQ0FBQzFDLEtBQUssQ0FBQyxJQUFJLENBQUM7TUFDeEMsSUFBTTJDLFlBQVksR0FBQW5ILGFBQUEsQ0FBQUEsYUFBQSxLQUNib0UsUUFBUTtRQUNYakMsS0FBSyxFQUFMQSxLQUFLO1FBQ0xyQixNQUFNLEVBQU5BLE1BQU07UUFDTnNHLElBQUksRUFBRWhELFFBQVEsQ0FBQ2dELElBQUksR0FBR0gsVUFBVTtRQUNoQ0EsVUFBVSxFQUFWQTtNQUFVLEVBQ1g7TUFFRCxJQUFJckUsTUFBTSxFQUFFO1FBQ1YsSUFBTXlFLGNBQWMsR0FBR3RFLFNBQVMsQ0FBQ2EsUUFBUSxDQUFDNkMsTUFBTSxDQUFDN0csTUFBTSxDQUNyRCxVQUFDMEgsS0FBSyxFQUFFQyxHQUFHO1VBQUEsT0FDVEQsS0FBSyxDQUFDRSxFQUFFLEtBQUtDLDRCQUFpQixJQUM5QkgsS0FBSyxDQUFDSSxpQkFBaUIsQ0FBQzNFLFNBQVMsQ0FBQ2EsUUFBUSxDQUFDK0QsU0FBUyxDQUFDSixHQUFHLENBQUMsQ0FBQztRQUFBLENBQzlELENBQUM7UUFDRCxJQUFNSyxNQUFNLEdBQUcsSUFBQUMsdUJBQWEsRUFBQ1IsY0FBYyxDQUFDO1FBQzVDLElBQU1TLGFBQWEsR0FBRyxJQUFBQyxpQ0FBMEIsRUFBQ0gsTUFBTSxFQUFFO1VBQUN6RixLQUFLLEVBQUxBLEtBQUs7VUFBRXJCLE1BQU0sRUFBTkE7UUFBTSxDQUFDLENBQUM7UUFDekUsSUFBSWdILGFBQWEsRUFBRTtVQUNqQixJQUFNVixJQUFJLEdBQUdsRyxNQUFNLENBQUNDLFFBQVEsQ0FBQzJHLGFBQWEsQ0FBQ1YsSUFBSSxDQUFDLEdBQUdVLGFBQWEsQ0FBQ1YsSUFBSSxHQUFHaEQsUUFBUSxDQUFDZ0QsSUFBSTtVQUNyRixPQUFBcEgsYUFBQSxDQUFBQSxhQUFBLEtBQ0ttSCxZQUFZO1lBQ2ZhLFNBQVMsRUFBRUYsYUFBYSxDQUFDbEYsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNsQ3FGLFFBQVEsRUFBRUgsYUFBYSxDQUFDbEYsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNqQ3dFLElBQUksRUFBRUEsSUFBSSxHQUFHbEcsTUFBTSxDQUFDRyxJQUFJLENBQUM2RixJQUFJLENBQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDO1VBQUM7UUFFOUM7TUFDRjtNQUVBLE9BQU8yQyxZQUFZO0lBQ3JCLENBQUMsRUFBRSxDQUFDL0MsUUFBUSxFQUFFakMsS0FBSyxFQUFFckIsTUFBTSxFQUFFMEQsS0FBSyxFQUFFNUIsTUFBTSxFQUFFRyxTQUFTLENBQUNhLFFBQVEsQ0FBQyxDQUFDOztJQUVoRTtJQUNBLElBQU1zRSxRQUFRLEdBQUcsSUFBQXpELGNBQU8sRUFDdEI7TUFBQSxJQUFBMEQscUJBQUE7TUFBQSxPQUFBbkksYUFBQSxDQUFBQSxhQUFBLEtBQ0srQyxTQUFTO1FBQ1prQyxRQUFRLEVBQUVELGNBQWM7UUFDeEJaLFFBQVEsRUFBRTRDLFdBQVc7UUFDckJvQixXQUFXLEVBQUU7VUFDWEMsU0FBUyxFQUFFO1lBQ1RDLElBQUksRUFBRUMsT0FBTyxDQUFDNUYsTUFBTSxDQUFDO1lBQ3JCNkYsTUFBTSxFQUFFLElBQUk7WUFDWkMsUUFBUSxHQUFBTixxQkFBQSxHQUFFcEYsU0FBUyxDQUFDcUYsV0FBVyxjQUFBRCxxQkFBQSxnQkFBQUEscUJBQUEsR0FBckJBLHFCQUFBLENBQXVCRSxTQUFTLGNBQUFGLHFCQUFBLHVCQUFoQ0EscUJBQUEsQ0FBa0NNO1VBQzlDO1FBQ0YsQ0FBQztRQUNEcEMsV0FBVyxFQUFYQSxXQUFXO1FBQ1hxQyxRQUFRLEVBQUUsSUFBSTtRQUNkQyxXQUFXLEVBQUEzSSxhQUFBLENBQUFBLGFBQUEsS0FDTitDLFNBQVMsQ0FBQzRGLFdBQVc7VUFDeEJDLFNBQVMsRUFBRSxJQUFJO1VBQ2ZDLGVBQWUsRUFBRSxLQUFLO1VBQ3RCQyxXQUFXLEVBQUU7WUFDWEMsS0FBSyxFQUFFO2NBQ0xDLHFCQUFxQixFQUFFO1lBQ3pCO1VBQ0Y7UUFBQyxFQUNGO1FBQ0QxQyxtQkFBbUIsRUFBbkJBLG1CQUFtQjtRQUNuQjFDLFFBQVEsRUFBQTVELGFBQUEsQ0FBQUEsYUFBQSxLQUNIK0MsU0FBUyxDQUFDYSxRQUFRO1VBQ3JCQyxPQUFPLEVBQUVNO1FBQVcsRUFDckI7UUFDRDtRQUNBWixhQUFhLEVBQWJBO01BQWE7SUFBQSxDQUNiLEVBQ0YsQ0FDRVIsU0FBUyxFQUNUaUMsY0FBYyxFQUNkZ0MsV0FBVyxFQUNYckUsTUFBTSxFQUNOMEQsV0FBVyxFQUNYQyxtQkFBbUIsRUFDbkJuQyxXQUFXLEVBQ1haLGFBQWEsQ0FFakIsQ0FBQztJQUVELElBQU11QixPQUFPLEdBQUc3QixTQUFTLENBQUMvQyxNQUFNLEdBQUcsQ0FBQztJQUNwQyxJQUFNK0ksYUFBYSxHQUFHLENBQUNuRSxPQUFPLGdCQUM1QnhILE1BQUEsWUFBQTRMLGFBQUEsQ0FBQzlHLFlBQVksTUFBQStHLFNBQUE7TUFBQ0MsS0FBSyxFQUFFLENBQUU7TUFBQ0MsT0FBTyxFQUFFO0lBQUssR0FBS25CLFFBQVEsQ0FBRyxDQUFDLGdCQUV2RDVLLE1BQUEsWUFBQTRMLGFBQUEsQ0FBQzdHLFVBQVU7TUFBQzFCLFNBQVMsRUFBQyxxQkFBcUI7TUFBQ3lELFFBQVEsRUFBRTRDO0lBQVksR0FDL0QvRCxTQUFTLENBQUNhLEdBQUcsQ0FBQyxVQUFDMkUsUUFBUSxFQUFFVyxLQUFLO01BQUEsb0JBQzdCOUwsTUFBQSxZQUFBNEwsYUFBQSxDQUFDOUcsWUFBWSxNQUFBK0csU0FBQTtRQUFDRyxHQUFHLEVBQUVGLEtBQU07UUFBQ0EsS0FBSyxFQUFFQSxLQUFNO1FBQUNDLE9BQU8sRUFBRUQsS0FBSyxLQUFLO01BQUUsR0FBS2xCLFFBQVEsQ0FBRyxDQUFDO0lBQUEsQ0FDL0UsQ0FDUyxDQUNiO0lBRUQsb0JBQ0U1SyxNQUFBLFlBQUE0TCxhQUFBLENBQUN0SCxtQkFBbUI7TUFBQ2pCLFNBQVMsRUFBQyxxQkFBcUI7TUFBQ3NCLFdBQVcsRUFBRThDO0lBQVcsZ0JBQzNFekgsTUFBQSxZQUFBNEwsYUFBQSxDQUFDaEgsa0JBQWtCO01BQUNxSCxHQUFHLEVBQUUvRixlQUFnQjtNQUFDckIsS0FBSyxFQUFFNEUsSUFBSSxDQUFDNUUsS0FBTTtNQUFDckIsTUFBTSxFQUFFaUcsSUFBSSxDQUFDakc7SUFBTyxnQkFDL0V4RCxNQUFBLFlBQUE0TCxhQUFBLENBQUNsTCxvQkFBQSxDQUFBd0wsMkJBQTJCO01BQUNwRixRQUFRLEVBQUU0QztJQUFZLEdBQ2hEaUMsYUFDMEIsQ0FDWCxDQUNELENBQUM7RUFFMUI7RUFFQSxvQkFBT1EsaUJBQUssQ0FBQ0MsSUFBSSxDQUFDcEgsYUFBYSxDQUFDO0FBQ2xDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -29,7 +29,7 @@ var DropdownContainer = _styledComponents["default"].div.attrs({
|
|
|
29
29
|
});
|
|
30
30
|
var DropdownMenu = _styledComponents["default"].div.attrs({
|
|
31
31
|
className: 'dropdown-menu'
|
|
32
|
-
})(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n min-width: 240px;\n max-width: 240px;\n position: absolute;\n top: 100%;\n left: -
|
|
32
|
+
})(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n min-width: 240px;\n max-width: 240px;\n position: absolute;\n top: 100%;\n left: -120px;\n z-index: 5;\n"])));
|
|
33
33
|
var ListItemWrapper = _styledComponents["default"].div.attrs({
|
|
34
34
|
className: 'dropdown-menu-list-item-wrapper'
|
|
35
35
|
})(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n font-size: 11px;\n letter-spacing: 0.2px;\n overflow: auto;\n .dataset-color {\n flex-shrink: 0;\n margin-top: 3px;\n }\n .dataset-name {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n"])), function (props) {
|
|
@@ -98,7 +98,7 @@ var AddByDatasetButton = function AddByDatasetButton(_ref2) {
|
|
|
98
98
|
trigger: "click",
|
|
99
99
|
arrow: false,
|
|
100
100
|
interactive: true,
|
|
101
|
-
placement: "
|
|
101
|
+
placement: "left-end",
|
|
102
102
|
appendTo: (context === null || context === void 0 ? void 0 : context.current) || 'parent'
|
|
103
103
|
// @ts-ignore
|
|
104
104
|
,
|
|
@@ -126,4 +126,4 @@ var AddByDatasetButton = function AddByDatasetButton(_ref2) {
|
|
|
126
126
|
});
|
|
127
127
|
};
|
|
128
128
|
var _default = exports["default"] = AddByDatasetButton;
|
|
129
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbG9jYWxpemF0aW9uIiwiX3JlYWN0MiIsIl9pY29ucyIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl90eXBlYWhlYWQiLCJfYWNjZXNzb3IiLCJfcmVhY3RJbnRsIiwiX2NvbnRleHQiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkRyb3Bkb3duQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJzZWNvbmRhcnlJbnB1dEJvcmRlckNvbG9yIiwiRHJvcGRvd25NZW51IiwiTGlzdEl0ZW1XcmFwcGVyIiwidGV4dENvbG9yIiwiVFlQRUFIRUFEX0NMQVNTIiwiVFlQRUFIRUFEX0lOUFVUX0NMQVNTIiwiTGlzdEl0ZW0iLCJfcmVmIiwidmFsdWUiLCJjcmVhdGVFbGVtZW50IiwiRGF0YXNldFNxdWFyZSIsImJhY2tncm91bmRDb2xvciIsImNvbG9yIiwidGl0bGUiLCJsYWJlbCIsIkFkZEJ5RGF0YXNldEJ1dHRvbiIsIl9yZWYyIiwiZGF0YXNldHMiLCJvbkFkZCIsImJ1dHRvbkludGxJZCIsImluYWN0aXZlIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwidGlwcHlJbnN0YW5jZSIsInNldFRpcHB5SW5zdGFuY2UiLCJvcHRpb25zIiwidXNlTWVtbyIsInZhbHVlcyIsIm1hcCIsImRzIiwiaWQiLCJvbkNsaWNrQnRuIiwidXNlQ2FsbGJhY2siLCJsZW5ndGgiLCJvbk9wdGlvblNlbGVjdGVkIiwib3B0aW9uIiwiaGlkZSIsImludGwiLCJ1c2VJbnRsIiwiYnV0dG9uUmVuZGVyZWQiLCJCdXR0b24iLCJ0YWJJbmRleCIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsIkFkZCIsImhlaWdodCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJSb290Q29udGV4dCIsIkNvbnN1bWVyIiwiY29udGV4dCIsInRyaWdnZXIiLCJhcnJvdyIsImludGVyYWN0aXZlIiwicGxhY2VtZW50IiwiYXBwZW5kVG8iLCJjdXJyZW50Iiwib25DcmVhdGUiLCJkdXJhdGlvbiIsImNvbnRlbnQiLCJjdXN0b21DbGFzc2VzIiwicmVzdWx0cyIsImlucHV0IiwibGlzdEl0ZW0iLCJwbGFjZWhvbGRlciIsImZvcm1hdE1lc3NhZ2UiLCJzZWxlY3RlZEl0ZW1zIiwiZGlzcGxheU9wdGlvbiIsIkFjY2Vzc29yIiwiZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0ZvciIsImZpbHRlck9wdGlvbiIsInNlYXJjaGFibGUiLCJjdXN0b21MaXN0SXRlbUNvbXBvbmVudCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaWRlLXBhbmVsL2FkZC1ieS1kYXRhc2V0LWJ1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtEYXRhc2V0cywgS2VwbGVyVGFibGV9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuXG5pbXBvcnQgVGlwcHkgZnJvbSAnQHRpcHB5anMvcmVhY3QnO1xuaW1wb3J0IHtBZGR9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge0J1dHRvbiwgRGF0YXNldFNxdWFyZX0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBUeXBlYWhlYWQgZnJvbSAnLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvdHlwZWFoZWFkJztcbmltcG9ydCBBY2Nlc3NvciBmcm9tICcuLi9jb21tb24vaXRlbS1zZWxlY3Rvci9hY2Nlc3Nvcic7XG5pbXBvcnQge3VzZUludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtSb290Q29udGV4dH0gZnJvbSAnLi4vY29udGV4dCc7XG5cbmNvbnN0IERyb3Bkb3duQ29udGFpbmVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2FkZC1sYXllci1tZW51LWRyb3Bkb3duJ1xufSlgXG4gIC5saXN0LXNlbGVjdG9yIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dEJvcmRlckNvbG9yfTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiBkaXNhYmxlIHNjcm9sbGluZywgY3VycmVudGx5IHNldCB0byAyODBweCBpbnRlcm5hbGx5ICovXG4gICAgbWF4LWhlaWdodDogdW5zZXQ7XG4gIH1cbiAgLmxpc3RfX2l0ZW0gPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgRHJvcGRvd25NZW51ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2Ryb3Bkb3duLW1lbnUnXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAyNDBweDtcbiAgbWF4LXdpZHRoOiAyNDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IC01M3B4O1xuICB6LWluZGV4OiA1O1xuYDtcblxuY29uc3QgTGlzdEl0ZW1XcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2Ryb3Bkb3duLW1lbnUtbGlzdC1pdGVtLXdyYXBwZXInXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAuZGF0YXNldC1jb2xvciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICB9XG4gIC5kYXRhc2V0LW5hbWUge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuYDtcblxuY29uc3QgVFlQRUFIRUFEX0NMQVNTID0gJ3R5cGVhaGVhZCc7XG5jb25zdCBUWVBFQUhFQURfSU5QVVRfQ0xBU1MgPSAndHlwZWFoZWFkX19pbnB1dCc7XG5cbmV4cG9ydCB0eXBlIEFkZEJ5RGF0YXNldEJ1dHRvblByb3BzID0ge1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIG9uQWRkOiAoZGF0YUlkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGJ1dHRvbkludGxJZDogc3RyaW5nO1xuICBpbmFjdGl2ZT86IGJvb2xlYW47XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbn07XG5cbmNvbnN0IExpc3RJdGVtID0gKHt2YWx1ZX0pID0+IChcbiAgPExpc3RJdGVtV3JhcHBlcj5cbiAgICA8RGF0YXNldFNxdWFyZSBjbGFzc05hbWU9XCJkYXRhc2V0LWNvbG9yXCIgYmFja2dyb3VuZENvbG9yPXt2YWx1ZS5jb2xvcn0gLz5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGFzZXQtbmFtZVwiIHRpdGxlPXt2YWx1ZS5sYWJlbH0+XG4gICAgICB7dmFsdWUubGFiZWx9XG4gICAgPC9kaXY+XG4gIDwvTGlzdEl0ZW1XcmFwcGVyPlxuKTtcblxuY29uc3QgQWRkQnlEYXRhc2V0QnV0dG9uOiBSZWFjdC5GQzxBZGRCeURhdGFzZXRCdXR0b25Qcm9wcz4gPSAoe1xuICBkYXRhc2V0cyxcbiAgb25BZGQsXG4gIGJ1dHRvbkludGxJZCxcbiAgY2xhc3NOYW1lLFxuICBpbmFjdGl2ZVxufSkgPT4ge1xuICBjb25zdCBbdGlwcHlJbnN0YW5jZSwgc2V0VGlwcHlJbnN0YW5jZV0gPSB1c2VTdGF0ZSgpO1xuXG4gIGNvbnN0IG9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhkYXRhc2V0cykubWFwKChkczogS2VwbGVyVGFibGUpID0+ICh7XG4gICAgICBsYWJlbDogZHMubGFiZWwsXG4gICAgICB2YWx1ZTogZHMuaWQsXG4gICAgICBjb2xvcjogZHMuY29sb3JcbiAgICB9KSk7XG4gIH0sIFtkYXRhc2V0c10pO1xuXG4gIGNvbnN0IG9uQ2xpY2tCdG4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG9wdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICBvbkFkZChvcHRpb25zWzBdLnZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH0sIFtvcHRpb25zLCBvbkFkZF0pO1xuXG4gIGNvbnN0IG9uT3B0aW9uU2VsZWN0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICBvcHRpb24gPT4ge1xuICAgICAgaWYgKCFvcHRpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgb25BZGQob3B0aW9uLnZhbHVlKTtcbiAgICAgIGlmICh0aXBweUluc3RhbmNlKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGlwcHlJbnN0YW5jZS5oaWRlKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25BZGQsIHRpcHB5SW5zdGFuY2VdXG4gICk7XG5cbiAgY29uc3QgaW50bCA9IHVzZUludGwoKTtcblxuICBjb25zdCBidXR0b25SZW5kZXJlZCA9IChcbiAgICA8QnV0dG9uXG4gICAgICB0YWJJbmRleD17LTF9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZSB8fCAnYWRkLWJ5LWRhdGFzZXQtYnV0dG9uJ31cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2tCdG59XG4gICAgICBkaXNhYmxlZD17IW9wdGlvbnMubGVuZ3RoIHx8IGluYWN0aXZlfVxuICAgID5cbiAgICAgIDxBZGQgaGVpZ2h0PVwiMTJweFwiIC8+XG4gICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17YnV0dG9uSW50bElkfSAvPlxuICAgIDwvQnV0dG9uPlxuICApO1xuXG4gIHJldHVybiBvcHRpb25zLmxlbmd0aCA9PT0gMSA/IChcbiAgICBidXR0b25SZW5kZXJlZFxuICApIDogKFxuICAgIDxSb290Q29udGV4dC5Db25zdW1lcj5cbiAgICAgIHtjb250ZXh0ID0+IChcbiAgICAgICAgPFRpcHB5XG4gICAgICAgICAgdHJpZ2dlcj1cImNsaWNrXCJcbiAgICAgICAgICBhcnJvdz17ZmFsc2V9XG4gICAgICAgICAgaW50ZXJhY3RpdmVcbiAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgIGFwcGVuZFRvPXtjb250ZXh0Py5jdXJyZW50IHx8ICdwYXJlbnQnfVxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBvbkNyZWF0ZT17c2V0VGlwcHlJbnN0YW5jZX1cbiAgICAgICAgICBkdXJhdGlvbj17MH1cbiAgICAgICAgICBjb250ZW50PXtcbiAgICAgICAgICAgIDxEcm9wZG93bk1lbnU+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8VHlwZWFoZWFkXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1RZUEVBSEVBRF9DTEFTU31cbiAgICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzZXM9e3tcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0czogJ2xpc3Qtc2VsZWN0b3InLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDogVFlQRUFIRUFEX0lOUFVUX0NMQVNTLFxuICAgICAgICAgICAgICAgICAgICBsaXN0SXRlbTogJ2xpc3RfX2l0ZW0nXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwgPyBpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAncGxhY2Vob2xkZXIuc2VhcmNoJ30pIDogJ1NlYXJjaCd9XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtudWxsfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIGRpc3BsYXlPcHRpb249e0FjY2Vzc29yLmdlbmVyYXRlT3B0aW9uVG9TdHJpbmdGb3IoJ2xhYmVsJyl9XG4gICAgICAgICAgICAgICAgICBmaWx0ZXJPcHRpb249eydsYWJlbCd9XG4gICAgICAgICAgICAgICAgICBzZWFyY2hhYmxlXG4gICAgICAgICAgICAgICAgICBvbk9wdGlvblNlbGVjdGVkPXtvbk9wdGlvblNlbGVjdGVkfVxuICAgICAgICAgICAgICAgICAgY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQ9e0xpc3RJdGVtfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvRHJvcGRvd25Db250YWluZXI+XG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudT5cbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICB7YnV0dG9uUmVuZGVyZWR9XG4gICAgICAgIDwvVGlwcHk+XG4gICAgICApfVxuICAgIDwvUm9vdENvbnRleHQuQ29uc3VtZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBZGRCeURhdGFzZXRCdXR0b247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBR0EsSUFBQUksT0FBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sa0JBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFVBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLFNBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLFVBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFFBQUEsR0FBQVYsT0FBQTtBQUF1QyxJQUFBVyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBZHZDO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQWhCLHdCQUFBZ0IsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxH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
|
|
129
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbG9jYWxpemF0aW9uIiwiX3JlYWN0MiIsIl9pY29ucyIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl90eXBlYWhlYWQiLCJfYWNjZXNzb3IiLCJfcmVhY3RJbnRsIiwiX2NvbnRleHQiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkRyb3Bkb3duQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJzZWNvbmRhcnlJbnB1dEJvcmRlckNvbG9yIiwiRHJvcGRvd25NZW51IiwiTGlzdEl0ZW1XcmFwcGVyIiwidGV4dENvbG9yIiwiVFlQRUFIRUFEX0NMQVNTIiwiVFlQRUFIRUFEX0lOUFVUX0NMQVNTIiwiTGlzdEl0ZW0iLCJfcmVmIiwidmFsdWUiLCJjcmVhdGVFbGVtZW50IiwiRGF0YXNldFNxdWFyZSIsImJhY2tncm91bmRDb2xvciIsImNvbG9yIiwidGl0bGUiLCJsYWJlbCIsIkFkZEJ5RGF0YXNldEJ1dHRvbiIsIl9yZWYyIiwiZGF0YXNldHMiLCJvbkFkZCIsImJ1dHRvbkludGxJZCIsImluYWN0aXZlIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwidGlwcHlJbnN0YW5jZSIsInNldFRpcHB5SW5zdGFuY2UiLCJvcHRpb25zIiwidXNlTWVtbyIsInZhbHVlcyIsIm1hcCIsImRzIiwiaWQiLCJvbkNsaWNrQnRuIiwidXNlQ2FsbGJhY2siLCJsZW5ndGgiLCJvbk9wdGlvblNlbGVjdGVkIiwib3B0aW9uIiwiaGlkZSIsImludGwiLCJ1c2VJbnRsIiwiYnV0dG9uUmVuZGVyZWQiLCJCdXR0b24iLCJ0YWJJbmRleCIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsIkFkZCIsImhlaWdodCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJSb290Q29udGV4dCIsIkNvbnN1bWVyIiwiY29udGV4dCIsInRyaWdnZXIiLCJhcnJvdyIsImludGVyYWN0aXZlIiwicGxhY2VtZW50IiwiYXBwZW5kVG8iLCJjdXJyZW50Iiwib25DcmVhdGUiLCJkdXJhdGlvbiIsImNvbnRlbnQiLCJjdXN0b21DbGFzc2VzIiwicmVzdWx0cyIsImlucHV0IiwibGlzdEl0ZW0iLCJwbGFjZWhvbGRlciIsImZvcm1hdE1lc3NhZ2UiLCJzZWxlY3RlZEl0ZW1zIiwiZGlzcGxheU9wdGlvbiIsIkFjY2Vzc29yIiwiZ2VuZXJhdGVPcHRpb25Ub1N0cmluZ0ZvciIsImZpbHRlck9wdGlvbiIsInNlYXJjaGFibGUiLCJjdXN0b21MaXN0SXRlbUNvbXBvbmVudCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaWRlLXBhbmVsL2FkZC1ieS1kYXRhc2V0LWJ1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtEYXRhc2V0cywgS2VwbGVyVGFibGV9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuXG5pbXBvcnQgVGlwcHkgZnJvbSAnQHRpcHB5anMvcmVhY3QnO1xuaW1wb3J0IHtBZGR9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge0J1dHRvbiwgRGF0YXNldFNxdWFyZX0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBUeXBlYWhlYWQgZnJvbSAnLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvdHlwZWFoZWFkJztcbmltcG9ydCBBY2Nlc3NvciBmcm9tICcuLi9jb21tb24vaXRlbS1zZWxlY3Rvci9hY2Nlc3Nvcic7XG5pbXBvcnQge3VzZUludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtSb290Q29udGV4dH0gZnJvbSAnLi4vY29udGV4dCc7XG5cbmNvbnN0IERyb3Bkb3duQ29udGFpbmVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2FkZC1sYXllci1tZW51LWRyb3Bkb3duJ1xufSlgXG4gIC5saXN0LXNlbGVjdG9yIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dEJvcmRlckNvbG9yfTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiBkaXNhYmxlIHNjcm9sbGluZywgY3VycmVudGx5IHNldCB0byAyODBweCBpbnRlcm5hbGx5ICovXG4gICAgbWF4LWhlaWdodDogdW5zZXQ7XG4gIH1cbiAgLmxpc3RfX2l0ZW0gPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgRHJvcGRvd25NZW51ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2Ryb3Bkb3duLW1lbnUnXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAyNDBweDtcbiAgbWF4LXdpZHRoOiAyNDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IC0xMjBweDtcbiAgei1pbmRleDogNTtcbmA7XG5cbmNvbnN0IExpc3RJdGVtV3JhcHBlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdkcm9wZG93bi1tZW51LWxpc3QtaXRlbS13cmFwcGVyJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgLmRhdGFzZXQtY29sb3Ige1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgfVxuICAuZGF0YXNldC1uYW1lIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cbmA7XG5cbmNvbnN0IFRZUEVBSEVBRF9DTEFTUyA9ICd0eXBlYWhlYWQnO1xuY29uc3QgVFlQRUFIRUFEX0lOUFVUX0NMQVNTID0gJ3R5cGVhaGVhZF9faW5wdXQnO1xuXG5leHBvcnQgdHlwZSBBZGRCeURhdGFzZXRCdXR0b25Qcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBvbkFkZDogKGRhdGFJZDogc3RyaW5nKSA9PiB2b2lkO1xuICBidXR0b25JbnRsSWQ6IHN0cmluZztcbiAgaW5hY3RpdmU/OiBib29sZWFuO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBMaXN0SXRlbSA9ICh7dmFsdWV9KSA9PiAoXG4gIDxMaXN0SXRlbVdyYXBwZXI+XG4gICAgPERhdGFzZXRTcXVhcmUgY2xhc3NOYW1lPVwiZGF0YXNldC1jb2xvclwiIGJhY2tncm91bmRDb2xvcj17dmFsdWUuY29sb3J9IC8+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJkYXRhc2V0LW5hbWVcIiB0aXRsZT17dmFsdWUubGFiZWx9PlxuICAgICAge3ZhbHVlLmxhYmVsfVxuICAgIDwvZGl2PlxuICA8L0xpc3RJdGVtV3JhcHBlcj5cbik7XG5cbmNvbnN0IEFkZEJ5RGF0YXNldEJ1dHRvbjogUmVhY3QuRkM8QWRkQnlEYXRhc2V0QnV0dG9uUHJvcHM+ID0gKHtcbiAgZGF0YXNldHMsXG4gIG9uQWRkLFxuICBidXR0b25JbnRsSWQsXG4gIGNsYXNzTmFtZSxcbiAgaW5hY3RpdmVcbn0pID0+IHtcbiAgY29uc3QgW3RpcHB5SW5zdGFuY2UsIHNldFRpcHB5SW5zdGFuY2VdID0gdXNlU3RhdGUoKTtcblxuICBjb25zdCBvcHRpb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZGF0YXNldHMpLm1hcCgoZHM6IEtlcGxlclRhYmxlKSA9PiAoe1xuICAgICAgbGFiZWw6IGRzLmxhYmVsLFxuICAgICAgdmFsdWU6IGRzLmlkLFxuICAgICAgY29sb3I6IGRzLmNvbG9yXG4gICAgfSkpO1xuICB9LCBbZGF0YXNldHNdKTtcblxuICBjb25zdCBvbkNsaWNrQnRuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgb25BZGQob3B0aW9uc1swXS52YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9LCBbb3B0aW9ucywgb25BZGRdKTtcblxuICBjb25zdCBvbk9wdGlvblNlbGVjdGVkID0gdXNlQ2FsbGJhY2soXG4gICAgb3B0aW9uID0+IHtcbiAgICAgIGlmICghb3B0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIG9uQWRkKG9wdGlvbi52YWx1ZSk7XG4gICAgICBpZiAodGlwcHlJbnN0YW5jZSkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRpcHB5SW5zdGFuY2UuaGlkZSgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uQWRkLCB0aXBweUluc3RhbmNlXVxuICApO1xuXG4gIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG5cbiAgY29uc3QgYnV0dG9uUmVuZGVyZWQgPSAoXG4gICAgPEJ1dHRvblxuICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWUgfHwgJ2FkZC1ieS1kYXRhc2V0LWJ1dHRvbid9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrQnRufVxuICAgICAgZGlzYWJsZWQ9eyFvcHRpb25zLmxlbmd0aCB8fCBpbmFjdGl2ZX1cbiAgICA+XG4gICAgICA8QWRkIGhlaWdodD1cIjEycHhcIiAvPlxuICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2J1dHRvbkludGxJZH0gLz5cbiAgICA8L0J1dHRvbj5cbiAgKTtcblxuICByZXR1cm4gb3B0aW9ucy5sZW5ndGggPT09IDEgPyAoXG4gICAgYnV0dG9uUmVuZGVyZWRcbiAgKSA6IChcbiAgICA8Um9vdENvbnRleHQuQ29uc3VtZXI+XG4gICAgICB7Y29udGV4dCA9PiAoXG4gICAgICAgIDxUaXBweVxuICAgICAgICAgIHRyaWdnZXI9XCJjbGlja1wiXG4gICAgICAgICAgYXJyb3c9e2ZhbHNlfVxuICAgICAgICAgIGludGVyYWN0aXZlXG4gICAgICAgICAgcGxhY2VtZW50PVwibGVmdC1lbmRcIlxuICAgICAgICAgIGFwcGVuZFRvPXtjb250ZXh0Py5jdXJyZW50IHx8ICdwYXJlbnQnfVxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBvbkNyZWF0ZT17c2V0VGlwcHlJbnN0YW5jZX1cbiAgICAgICAgICBkdXJhdGlvbj17MH1cbiAgICAgICAgICBjb250ZW50PXtcbiAgICAgICAgICAgIDxEcm9wZG93bk1lbnU+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8VHlwZWFoZWFkXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1RZUEVBSEVBRF9DTEFTU31cbiAgICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzZXM9e3tcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0czogJ2xpc3Qtc2VsZWN0b3InLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDogVFlQRUFIRUFEX0lOUFVUX0NMQVNTLFxuICAgICAgICAgICAgICAgICAgICBsaXN0SXRlbTogJ2xpc3RfX2l0ZW0nXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2ludGwgPyBpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAncGxhY2Vob2xkZXIuc2VhcmNoJ30pIDogJ1NlYXJjaCd9XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtudWxsfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIGRpc3BsYXlPcHRpb249e0FjY2Vzc29yLmdlbmVyYXRlT3B0aW9uVG9TdHJpbmdGb3IoJ2xhYmVsJyl9XG4gICAgICAgICAgICAgICAgICBmaWx0ZXJPcHRpb249eydsYWJlbCd9XG4gICAgICAgICAgICAgICAgICBzZWFyY2hhYmxlXG4gICAgICAgICAgICAgICAgICBvbk9wdGlvblNlbGVjdGVkPXtvbk9wdGlvblNlbGVjdGVkfVxuICAgICAgICAgICAgICAgICAgY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQ9e0xpc3RJdGVtfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvRHJvcGRvd25Db250YWluZXI+XG4gICAgICAgICAgICA8L0Ryb3Bkb3duTWVudT5cbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICB7YnV0dG9uUmVuZGVyZWR9XG4gICAgICAgIDwvVGlwcHk+XG4gICAgICApfVxuICAgIDwvUm9vdENvbnRleHQuQ29uc3VtZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBZGRCeURhdGFzZXRCdXR0b247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBR0EsSUFBQUksT0FBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sa0JBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFVBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLFNBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLFVBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFFBQUEsR0FBQVYsT0FBQTtBQUF1QyxJQUFBVyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBZHZDO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQWhCLHdCQUFBZ0IsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FB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
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DataContainerInterface } from '@kepler.gl/utils';
|
|
3
|
-
|
|
3
|
+
type MiniDataset = {
|
|
4
4
|
dataContainer: DataContainerInterface;
|
|
5
5
|
type?: string;
|
|
6
6
|
};
|
|
7
|
-
export
|
|
7
|
+
export type DatasetInfoProps = {
|
|
8
8
|
dataset: MiniDataset;
|
|
9
9
|
};
|
|
10
10
|
export default function DatasetInfoFactory(): React.FC<DatasetInfoProps>;
|
|
@@ -23,7 +23,7 @@ function DatasetInfoFactory() {
|
|
|
23
23
|
return /*#__PURE__*/_react["default"].createElement(StyledDataRowCount, {
|
|
24
24
|
className: "source-data-rows"
|
|
25
25
|
}, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
|
|
26
|
-
id: dataset.type === _constants.DatasetType.VECTOR_TILE ? 'datasetInfo.vectorTile' : dataset.type === _constants.DatasetType.RASTER_TILE ? 'datasetInfo.rasterTile' : dataset.type === _constants.DatasetType.WMS_TILE ? 'datasetInfo.wmsTile' : 'datasetInfo.rowCount',
|
|
26
|
+
id: dataset.type === _constants.DatasetType.VECTOR_TILE ? 'datasetInfo.vectorTile' : dataset.type === _constants.DatasetType.RASTER_TILE ? 'datasetInfo.rasterTile' : dataset.type === _constants.DatasetType.WMS_TILE ? 'datasetInfo.wmsTile' : dataset.type === _constants.DatasetType.TILE_3D ? 'datasetInfo.tile3d' : dataset.type === _constants.DatasetType.BITMAP ? 'datasetInfo.bitmap' : 'datasetInfo.rowCount',
|
|
27
27
|
values: {
|
|
28
28
|
rowCount: numFormat(dataset.dataContainer.numRows())
|
|
29
29
|
}
|
|
@@ -31,4 +31,4 @@ function DatasetInfoFactory() {
|
|
|
31
31
|
};
|
|
32
32
|
return DatasetInfo;
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2QzRm9ybWF0IiwiX2NvbnN0YW50cyIsIl9sb2NhbGl6YXRpb24iLCJfdGVtcGxhdGVPYmplY3QiLCJudW1Gb3JtYXQiLCJmb3JtYXQiLCJTdHlsZWREYXRhUm93Q291bnQiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJzdWJ0ZXh0Q29sb3IiLCJEYXRhc2V0SW5mb0ZhY3RvcnkiLCJEYXRhc2V0SW5mbyIsIl9yZWYiLCJkYXRhc2V0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJpZCIsInR5cGUiLCJEYXRhc2V0VHlwZSIsIlZFQ1RPUl9USUxFIiwiUkFTVEVSX1RJTEUiLCJXTVNfVElMRSIsIlRJTEVfM0QiLCJCSVRNQVAiLCJ2YWx1ZXMiLCJyb3dDb3VudCIsImRhdGFDb250YWluZXIiLCJudW1Sb3dzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvY29tbW9uL2RhdGFzZXQtaW5mby50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtmb3JtYXR9IGZyb20gJ2QzLWZvcm1hdCc7XG5cbmltcG9ydCB7RGF0YXNldFR5cGV9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtEYXRhQ29udGFpbmVySW50ZXJmYWNlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuY29uc3QgbnVtRm9ybWF0ID0gZm9ybWF0KCcsJyk7XG5cbnR5cGUgTWluaURhdGFzZXQgPSB7XG4gIGRhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2U7XG4gIHR5cGU/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBEYXRhc2V0SW5mb1Byb3BzID0ge1xuICBkYXRhc2V0OiBNaW5pRGF0YXNldDtcbn07XG5cbmNvbnN0IFN0eWxlZERhdGFSb3dDb3VudCA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgcGFkZGluZy1sZWZ0OiAxOXB4O1xuYDtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRGF0YXNldEluZm9GYWN0b3J5KCkge1xuICBjb25zdCBEYXRhc2V0SW5mbzogUmVhY3QuRkM8RGF0YXNldEluZm9Qcm9wcz4gPSAoe2RhdGFzZXR9OiBEYXRhc2V0SW5mb1Byb3BzKSA9PiAoXG4gICAgPFN0eWxlZERhdGFSb3dDb3VudCBjbGFzc05hbWU9XCJzb3VyY2UtZGF0YS1yb3dzXCI+XG4gICAgICA8Rm9ybWF0dGVkTWVzc2FnZVxuICAgICAgICBpZD17XG4gICAgICAgICAgZGF0YXNldC50eXBlID09PSBEYXRhc2V0VHlwZS5WRUNUT1JfVElMRVxuICAgICAgICAgICAgPyAnZGF0YXNldEluZm8udmVjdG9yVGlsZSdcbiAgICAgICAgICAgIDogZGF0YXNldC50eXBlID09PSBEYXRhc2V0VHlwZS5SQVNURVJfVElMRVxuICAgICAgICAgICAgPyAnZGF0YXNldEluZm8ucmFzdGVyVGlsZSdcbiAgICAgICAgICAgIDogZGF0YXNldC50eXBlID09PSBEYXRhc2V0VHlwZS5XTVNfVElMRVxuICAgICAgICAgICAgPyAnZGF0YXNldEluZm8ud21zVGlsZSdcbiAgICAgICAgICAgIDogZGF0YXNldC50eXBlID09PSBEYXRhc2V0VHlwZS5USUxFXzNEXG4gICAgICAgICAgICA/ICdkYXRhc2V0SW5mby50aWxlM2QnXG4gICAgICAgICAgICA6IGRhdGFzZXQudHlwZSA9PT0gRGF0YXNldFR5cGUuQklUTUFQXG4gICAgICAgICAgICA/ICdkYXRhc2V0SW5mby5iaXRtYXAnXG4gICAgICAgICAgICA6ICdkYXRhc2V0SW5mby5yb3dDb3VudCdcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXM9e3tyb3dDb3VudDogbnVtRm9ybWF0KGRhdGFzZXQuZGF0YUNvbnRhaW5lci5udW1Sb3dzKCkpfX1cbiAgICAgIC8+XG4gICAgPC9TdHlsZWREYXRhUm93Q291bnQ+XG4gICk7XG5cbiAgcmV0dXJuIERhdGFzZXRJbmZvO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxhQUFBLEdBQUFKLE9BQUE7QUFBeUQsSUFBQUssZUFBQSxFQVJ6RDtBQUNBO0FBVUEsSUFBTUMsU0FBUyxHQUFHLElBQUFDLGdCQUFNLEVBQUMsR0FBRyxDQUFDO0FBVzdCLElBQU1DLGtCQUFrQixHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUFMLGVBQUEsS0FBQUEsZUFBQSxPQUFBTSx1QkFBQSxrRkFFMUIsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDQyxZQUFZO0FBQUEsRUFFM0M7QUFFYyxTQUFTQyxrQkFBa0JBLENBQUEsRUFBRztFQUMzQyxJQUFNQyxXQUF1QyxHQUFHLFNBQTFDQSxXQUF1Q0EsQ0FBQUMsSUFBQTtJQUFBLElBQUtDLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0lBQUEsb0JBQ3ZEcEIsTUFBQSxZQUFBcUIsYUFBQSxDQUFDWCxrQkFBa0I7TUFBQ1ksU0FBUyxFQUFDO0lBQWtCLGdCQUM5Q3RCLE1BQUEsWUFBQXFCLGFBQUEsQ0FBQ2YsYUFBQSxDQUFBaUIsZ0JBQWdCO01BQ2ZDLEVBQUUsRUFDQUosT0FBTyxDQUFDSyxJQUFJLEtBQUtDLHNCQUFXLENBQUNDLFdBQVcsR0FDcEMsd0JBQXdCLEdBQ3hCUCxPQUFPLENBQUNLLElBQUksS0FBS0Msc0JBQVcsQ0FBQ0UsV0FBVyxHQUN4Qyx3QkFBd0IsR0FDeEJSLE9BQU8sQ0FBQ0ssSUFBSSxLQUFLQyxzQkFBVyxDQUFDRyxRQUFRLEdBQ3JDLHFCQUFxQixHQUNyQlQsT0FBTyxDQUFDSyxJQUFJLEtBQUtDLHNCQUFXLENBQUNJLE9BQU8sR0FDcEMsb0JBQW9CLEdBQ3BCVixPQUFPLENBQUNLLElBQUksS0FBS0Msc0JBQVcsQ0FBQ0ssTUFBTSxHQUNuQyxvQkFBb0IsR0FDcEIsc0JBQ0w7TUFDREMsTUFBTSxFQUFFO1FBQUNDLFFBQVEsRUFBRXpCLFNBQVMsQ0FBQ1ksT0FBTyxDQUFDYyxhQUFhLENBQUNDLE9BQU8sQ0FBQyxDQUFDO01BQUM7SUFBRSxDQUNoRSxDQUNpQixDQUFDO0VBQUEsQ0FDdEI7RUFFRCxPQUFPakIsV0FBVztBQUNwQiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { RGBColor } from '@kepler.gl/types';
|
|
3
3
|
import { VisStateActions, ActionHandler } from '@kepler.gl/actions';
|
|
4
|
-
|
|
4
|
+
type MiniDataset = {
|
|
5
5
|
id: string;
|
|
6
6
|
color: RGBColor;
|
|
7
7
|
label?: string;
|
|
8
8
|
};
|
|
9
|
-
export
|
|
9
|
+
export type DatasetTagProps = {
|
|
10
10
|
id?: string;
|
|
11
11
|
dataset: MiniDataset;
|
|
12
12
|
updateTableColor?: ActionHandler<typeof VisStateActions.updateTableColor>;
|
|
@@ -2,13 +2,13 @@ import React from 'react';
|
|
|
2
2
|
import DatasetTagFactory from './dataset-tag';
|
|
3
3
|
import { openDeleteModal, VisStateActions, ActionHandler } from '@kepler.gl/actions';
|
|
4
4
|
import { RGBColor } from '@kepler.gl/types';
|
|
5
|
-
|
|
5
|
+
type MiniDataset = {
|
|
6
6
|
id: string;
|
|
7
7
|
color: RGBColor;
|
|
8
8
|
label?: string;
|
|
9
9
|
disableDataOperation?: boolean;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
11
|
+
export type DatasetTitleProps = {
|
|
12
12
|
dataset: MiniDataset;
|
|
13
13
|
showDeleteDataset: boolean;
|
|
14
14
|
onTitleClick?: () => void;
|
|
@@ -4,17 +4,17 @@ import { DataContainerInterface } from '@kepler.gl/utils';
|
|
|
4
4
|
import { RGBColor } from '@kepler.gl/types';
|
|
5
5
|
import DatasetTitleFactory from './dataset-title';
|
|
6
6
|
import DatasetInfoFactory from './dataset-info';
|
|
7
|
-
|
|
7
|
+
type MiniDataset = {
|
|
8
8
|
id: string;
|
|
9
9
|
color: RGBColor;
|
|
10
10
|
label?: string;
|
|
11
11
|
dataContainer: DataContainerInterface;
|
|
12
12
|
type?: string;
|
|
13
13
|
};
|
|
14
|
-
|
|
14
|
+
type MiniDatasets = {
|
|
15
15
|
[key: string]: MiniDataset;
|
|
16
16
|
};
|
|
17
|
-
export
|
|
17
|
+
export type SourceDataCatalogProps = {
|
|
18
18
|
datasets: MiniDatasets;
|
|
19
19
|
showDeleteDataset?: boolean;
|
|
20
20
|
onTitleClick?: () => void;
|
|
@@ -2,36 +2,36 @@ import React from 'react';
|
|
|
2
2
|
import { openDeleteModal, VisStateActions, ActionHandler } from '@kepler.gl/actions';
|
|
3
3
|
import { RGBColor } from '@kepler.gl/types';
|
|
4
4
|
import KeplerTable from '@kepler.gl/table';
|
|
5
|
-
export
|
|
5
|
+
export type PanelMeta = {
|
|
6
6
|
id: string;
|
|
7
7
|
label: string;
|
|
8
8
|
iconComponent: React.ElementType;
|
|
9
9
|
onClick: null;
|
|
10
10
|
};
|
|
11
|
-
export
|
|
11
|
+
export type UpdateTableColorTypes = {
|
|
12
12
|
id: string;
|
|
13
13
|
children: React.ReactNode;
|
|
14
14
|
};
|
|
15
|
-
export
|
|
15
|
+
export type ShowDataTableProps = {
|
|
16
16
|
id: string;
|
|
17
17
|
showDatasetTable?: ActionHandler<typeof VisStateActions.showDatasetTable>;
|
|
18
18
|
};
|
|
19
|
-
export
|
|
19
|
+
export type RemoveDatasetProps = {
|
|
20
20
|
datasetKey: string;
|
|
21
21
|
removeDataset?: ActionHandler<typeof openDeleteModal>;
|
|
22
22
|
};
|
|
23
|
-
export
|
|
23
|
+
export type StyledDatasetTitleProps = {
|
|
24
24
|
$clickable: boolean;
|
|
25
25
|
};
|
|
26
|
-
export
|
|
26
|
+
export type DatasetItemProps = {
|
|
27
27
|
value: KeplerTable;
|
|
28
28
|
};
|
|
29
|
-
export
|
|
29
|
+
export type SelectableDataset = {
|
|
30
30
|
label?: string;
|
|
31
31
|
id: string;
|
|
32
32
|
color: RGBColor;
|
|
33
33
|
};
|
|
34
|
-
export
|
|
34
|
+
export type SourceDataSelectorProps = {
|
|
35
35
|
dataId: string | string[] | null;
|
|
36
36
|
datasets: {
|
|
37
37
|
[id: string]: SelectableDataset;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SidePanelItem, SidePanelProps } from '../types';
|
|
3
3
|
import { RGBColor } from '@kepler.gl/types';
|
|
4
|
-
export
|
|
4
|
+
export type CustomPanelsStaticProps<P> = {
|
|
5
5
|
panels: SidePanelItem[];
|
|
6
6
|
getProps?: (props: SidePanelProps) => P;
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type CustomPanelsProps = {
|
|
9
9
|
activeSidePanel: string | null;
|
|
10
10
|
updateTableColor: (dataId: string, newColor: RGBColor) => void;
|
|
11
11
|
};
|
|
@@ -10,9 +10,9 @@ import PanelTitleFactory from './panel-title';
|
|
|
10
10
|
import AddFilterButtonFactory from './filter-panel/add-filter-button';
|
|
11
11
|
import DatasetSectionFactory from './layer-panel/dataset-section';
|
|
12
12
|
import { PanelMeta } from './common/types';
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
13
|
+
export type VisStateActionHandlers = ActionHandlers<typeof VisStateActions>;
|
|
14
|
+
export type UiStateActionHandlers = ActionHandlers<typeof UIStateActions>;
|
|
15
|
+
export type FilterManagerProps = {
|
|
16
16
|
filters: Filter[];
|
|
17
17
|
datasets: Datasets;
|
|
18
18
|
layers: Layer[];
|
|
@@ -7,9 +7,9 @@ interface StyledFilterHeaderProps extends StyledPanelHeaderProps {
|
|
|
7
7
|
$labelRCGColorValues: RGBColor[];
|
|
8
8
|
}
|
|
9
9
|
export declare const StyledFilterHeader: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<Omit<import("styled-components/dist/types").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof StyledPanelHeaderProps> & StyledPanelHeaderProps, "ref"> & {
|
|
10
|
-
ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
10
|
+
ref?: ((instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
11
11
|
}, StyledFilterHeaderProps>> & Omit<import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, StyledPanelHeaderProps>>, keyof React.Component<any, {}, any>>;
|
|
12
|
-
export
|
|
12
|
+
export type FilterPanelHeaderProps = {
|
|
13
13
|
className?: string;
|
|
14
14
|
datasets: KeplerTable[];
|
|
15
15
|
filter: Filter;
|
|
@@ -5,7 +5,7 @@ import { Datasets } from '@kepler.gl/table';
|
|
|
5
5
|
import InteractionPanelFactory from './interaction-panel/interaction-panel';
|
|
6
6
|
import PanelTitleFactory from './panel-title';
|
|
7
7
|
import { PanelMeta } from './common/types';
|
|
8
|
-
|
|
8
|
+
type InteractionManagerProps = {
|
|
9
9
|
interactionConfig: InteractionConfig;
|
|
10
10
|
datasets: Datasets;
|
|
11
11
|
visStateActions: typeof VisStateActions;
|