@kepler.gl/components 3.0.0-alpha.0 → 3.0.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/bottom-widget.d.ts +11 -38
- package/dist/bottom-widget.js +43 -99
- package/dist/common/action-panel.d.ts +2 -2
- package/dist/common/action-panel.js +4 -4
- package/dist/common/animation-control/animation-control.d.ts +19 -18
- package/dist/common/animation-control/animation-control.js +59 -81
- package/dist/common/animation-control/animation-controller.d.ts +6 -2
- package/dist/common/animation-control/animation-controller.js +50 -36
- package/dist/common/animation-control/animation-speed-slider.js +2 -2
- package/dist/common/animation-control/animation-window-control.js +1 -1
- package/dist/common/animation-control/floating-time-display.d.ts +2 -2
- package/dist/common/animation-control/floating-time-display.js +2 -2
- package/dist/common/animation-control/play-control.d.ts +2 -2
- package/dist/common/animation-control/play-control.js +1 -1
- package/dist/common/animation-control/playback-controls.d.ts +7 -7
- package/dist/common/animation-control/playback-controls.js +6 -6
- package/dist/common/animation-control/reset-control.d.ts +2 -2
- package/dist/common/animation-control/reset-control.js +1 -1
- package/dist/common/animation-control/speed-control.d.ts +2 -2
- package/dist/common/animation-control/speed-control.js +2 -2
- package/dist/common/animation-control/window-action-control.d.ts +2 -2
- package/dist/common/animation-control/window-action-control.js +1 -1
- package/dist/common/checkbox.d.ts +2 -2
- package/dist/common/checkbox.js +3 -3
- package/dist/common/color-legend.d.ts +3 -3
- package/dist/common/color-legend.js +11 -17
- package/dist/common/data-table/button.d.ts +1 -1
- package/dist/common/data-table/button.js +2 -2
- package/dist/common/data-table/canvas.js +2 -2
- package/dist/common/data-table/cell-size.js +44 -13
- package/dist/common/data-table/display-format.d.ts +25 -0
- package/dist/common/data-table/display-format.js +169 -0
- package/dist/common/data-table/grid.d.ts +5 -2
- package/dist/common/data-table/grid.js +45 -5
- package/dist/common/data-table/header-cell.d.ts +4 -1
- package/dist/common/data-table/header-cell.js +66 -29
- package/dist/common/data-table/index.d.ts +27 -34
- package/dist/common/data-table/index.js +148 -62
- package/dist/common/data-table/option-dropdown.d.ts +17 -3
- package/dist/common/data-table/option-dropdown.js +86 -13
- package/dist/common/dataset-label.d.ts +2 -2
- package/dist/common/dataset-label.js +3 -3
- package/dist/common/error-boundary.d.ts +6 -2
- package/dist/common/error-boundary.js +2 -2
- package/dist/common/field-selector.d.ts +9 -3
- package/dist/common/field-selector.js +3 -3
- package/dist/common/field-token.d.ts +8 -0
- package/dist/common/field-token.js +7 -3
- package/dist/common/file-uploader/file-drop.d.ts +3 -2
- package/dist/common/file-uploader/file-drop.js +2 -2
- package/dist/common/file-uploader/file-upload-progress.js +2 -2
- package/dist/common/file-uploader/file-upload.d.ts +2 -6
- package/dist/common/file-uploader/file-upload.js +2 -2
- package/dist/common/file-uploader/upload-button.d.ts +1 -0
- package/dist/common/file-uploader/upload-button.js +2 -2
- package/dist/common/histogram-plot.d.ts +2 -2
- package/dist/common/histogram-plot.js +18 -12
- package/dist/common/icon-button.d.ts +2 -1
- package/dist/common/icon-button.js +2 -2
- package/dist/common/icons/add.d.ts +2 -2
- package/dist/common/icons/add.js +2 -2
- package/dist/common/icons/anchor_window.d.ts +2 -2
- package/dist/common/icons/anchor_window.js +2 -2
- package/dist/common/icons/arrow-down-alt.d.ts +2 -2
- package/dist/common/icons/arrow-down-alt.js +2 -2
- package/dist/common/icons/arrow-down-solid.d.ts +2 -2
- package/dist/common/icons/arrow-down-solid.js +2 -2
- package/dist/common/icons/arrow-down.d.ts +2 -2
- package/dist/common/icons/arrow-down.js +2 -2
- package/dist/common/icons/arrow-left.d.ts +2 -2
- package/dist/common/icons/arrow-left.js +2 -2
- package/dist/common/icons/arrow-right.d.ts +2 -2
- package/dist/common/icons/arrow-right.js +2 -2
- package/dist/common/icons/arrow-up-alt.d.ts +2 -2
- package/dist/common/icons/arrow-up-alt.js +2 -2
- package/dist/common/icons/arrow-up-solid.d.ts +2 -2
- package/dist/common/icons/arrow-up-solid.js +2 -2
- package/dist/common/icons/arrow-up.d.ts +2 -2
- package/dist/common/icons/arrow-up.js +2 -2
- package/dist/common/icons/base.d.ts +1 -1
- package/dist/common/icons/base.js +2 -2
- package/dist/common/icons/bug.d.ts +2 -2
- package/dist/common/icons/bug.js +2 -2
- package/dist/common/icons/cancel.d.ts +2 -2
- package/dist/common/icons/cancel.js +2 -2
- package/dist/common/icons/checkmark.d.ts +2 -2
- package/dist/common/icons/checkmark.js +2 -2
- package/dist/common/icons/clipboard.d.ts +2 -2
- package/dist/common/icons/clipboard.js +2 -2
- package/dist/common/icons/clock.d.ts +2 -2
- package/dist/common/icons/clock.js +2 -2
- package/dist/common/icons/close.d.ts +2 -2
- package/dist/common/icons/close.js +2 -2
- package/dist/common/icons/code-alt.d.ts +2 -2
- package/dist/common/icons/code-alt.js +2 -2
- package/dist/common/icons/copy.d.ts +2 -2
- package/dist/common/icons/copy.js +2 -2
- package/dist/common/icons/crosshairs.d.ts +2 -2
- package/dist/common/icons/crosshairs.js +2 -2
- package/dist/common/icons/cube-3d.d.ts +2 -2
- package/dist/common/icons/cube-3d.js +2 -2
- package/dist/common/icons/cursor-click.d.ts +2 -2
- package/dist/common/icons/cursor-click.js +2 -2
- package/dist/common/icons/cursor-point.d.ts +14 -0
- package/dist/common/icons/cursor-point.js +89 -0
- package/dist/common/icons/data-table.d.ts +2 -2
- package/dist/common/icons/data-table.js +2 -2
- package/dist/common/icons/db.d.ts +2 -2
- package/dist/common/icons/db.js +2 -2
- package/dist/common/icons/delete.d.ts +2 -2
- package/dist/common/icons/delete.js +2 -2
- package/dist/common/icons/docs.d.ts +2 -2
- package/dist/common/icons/docs.js +2 -2
- package/dist/common/icons/drag-n-drop.d.ts +2 -2
- package/dist/common/icons/drag-n-drop.js +2 -2
- package/dist/common/icons/draw-polygon.d.ts +2 -2
- package/dist/common/icons/draw-polygon.js +2 -2
- package/dist/common/icons/email.d.ts +2 -2
- package/dist/common/icons/email.js +2 -2
- package/dist/common/icons/expand.d.ts +2 -2
- package/dist/common/icons/expand.js +2 -2
- package/dist/common/icons/eye-seen.d.ts +2 -2
- package/dist/common/icons/eye-seen.js +2 -2
- package/dist/common/icons/eye-unseen.d.ts +2 -2
- package/dist/common/icons/eye-unseen.js +2 -2
- package/dist/common/icons/file-type.d.ts +2 -2
- package/dist/common/icons/file-type.js +2 -2
- package/dist/common/icons/file.d.ts +2 -2
- package/dist/common/icons/file.js +2 -2
- package/dist/common/icons/files.d.ts +1 -1
- package/dist/common/icons/files.js +2 -2
- package/dist/common/icons/filter-funnel.d.ts +2 -2
- package/dist/common/icons/filter-funnel.js +2 -2
- package/dist/common/icons/free-window.d.ts +2 -2
- package/dist/common/icons/free-window.js +2 -2
- package/dist/common/icons/gear.d.ts +2 -2
- package/dist/common/icons/gear.js +2 -2
- package/dist/common/icons/hash.d.ts +2 -2
- package/dist/common/icons/hash.js +2 -2
- package/dist/common/icons/histogram.d.ts +1 -1
- package/dist/common/icons/histogram.js +2 -2
- package/dist/common/icons/index.d.ts +1 -0
- package/dist/common/icons/index.js +10 -2
- package/dist/common/icons/info.d.ts +2 -2
- package/dist/common/icons/info.js +2 -2
- package/dist/common/icons/layers.d.ts +2 -2
- package/dist/common/icons/layers.js +2 -2
- package/dist/common/icons/left-arrow.d.ts +2 -2
- package/dist/common/icons/left-arrow.js +2 -2
- package/dist/common/icons/legend.d.ts +2 -2
- package/dist/common/icons/legend.js +2 -2
- package/dist/common/icons/line-chart.d.ts +2 -2
- package/dist/common/icons/line-chart.js +2 -2
- package/dist/common/icons/login.d.ts +2 -2
- package/dist/common/icons/login.js +2 -2
- package/dist/common/icons/logout.d.ts +2 -2
- package/dist/common/icons/logout.js +2 -2
- package/dist/common/icons/map-icon.d.ts +2 -2
- package/dist/common/icons/map-icon.js +2 -2
- package/dist/common/icons/map.d.ts +2 -2
- package/dist/common/icons/map.js +2 -2
- package/dist/common/icons/messages.d.ts +2 -2
- package/dist/common/icons/messages.js +2 -2
- package/dist/common/icons/minus.d.ts +2 -2
- package/dist/common/icons/minus.js +2 -2
- package/dist/common/icons/order-by-dataset.d.ts +2 -2
- package/dist/common/icons/order-by-dataset.js +2 -2
- package/dist/common/icons/order-by-list.d.ts +2 -2
- package/dist/common/icons/order-by-list.js +2 -2
- package/dist/common/icons/pause.d.ts +2 -2
- package/dist/common/icons/pause.js +2 -2
- package/dist/common/icons/picture.d.ts +1 -1
- package/dist/common/icons/picture.js +2 -2
- package/dist/common/icons/pin.d.ts +2 -2
- package/dist/common/icons/pin.js +2 -2
- package/dist/common/icons/play.d.ts +2 -2
- package/dist/common/icons/play.js +2 -2
- package/dist/common/icons/polygon.d.ts +2 -2
- package/dist/common/icons/polygon.js +2 -2
- package/dist/common/icons/rectangle.d.ts +2 -2
- package/dist/common/icons/rectangle.js +2 -2
- package/dist/common/icons/reduce.d.ts +2 -2
- package/dist/common/icons/reduce.js +2 -2
- package/dist/common/icons/reset.d.ts +2 -2
- package/dist/common/icons/reset.js +2 -2
- package/dist/common/icons/rocket.d.ts +2 -2
- package/dist/common/icons/rocket.js +2 -2
- package/dist/common/icons/save.d.ts +2 -2
- package/dist/common/icons/save.js +2 -2
- package/dist/common/icons/save2.d.ts +2 -2
- package/dist/common/icons/save2.js +2 -2
- package/dist/common/icons/search.d.ts +2 -2
- package/dist/common/icons/search.js +2 -2
- package/dist/common/icons/settings.d.ts +2 -2
- package/dist/common/icons/settings.js +2 -2
- package/dist/common/icons/share.d.ts +2 -2
- package/dist/common/icons/share.js +2 -2
- package/dist/common/icons/split.d.ts +2 -2
- package/dist/common/icons/split.js +2 -2
- package/dist/common/icons/square-select.d.ts +2 -2
- package/dist/common/icons/square-select.js +2 -2
- package/dist/common/icons/trash.d.ts +2 -2
- package/dist/common/icons/trash.js +2 -2
- package/dist/common/icons/vert-dots.d.ts +2 -2
- package/dist/common/icons/vert-dots.js +2 -2
- package/dist/common/icons/vert-three-dots.d.ts +2 -2
- package/dist/common/icons/vert-three-dots.js +2 -2
- package/dist/common/icons/warning-sign.d.ts +2 -2
- package/dist/common/icons/warning-sign.js +2 -2
- package/dist/common/icons/warning.d.ts +2 -2
- package/dist/common/icons/warning.js +2 -2
- package/dist/common/image-preview.d.ts +2 -2
- package/dist/common/image-preview.js +2 -2
- package/dist/common/index.d.ts +1 -1
- package/dist/common/index.js +8 -2
- package/dist/common/info-helper.d.ts +2 -2
- package/dist/common/info-helper.js +2 -2
- package/dist/common/item-selector/accessor.js +2 -2
- package/dist/common/item-selector/chickleted-input.js +2 -2
- package/dist/common/item-selector/dropdown-list.d.ts +28 -8
- package/dist/common/item-selector/dropdown-list.js +144 -25
- package/dist/common/item-selector/item-selector.d.ts +2 -3
- package/dist/common/item-selector/item-selector.js +7 -3
- package/dist/common/item-selector/typeahead.d.ts +16 -12
- package/dist/common/item-selector/typeahead.js +24 -13
- package/dist/common/line-chart.d.ts +2 -2
- package/dist/common/line-chart.js +2 -2
- package/dist/common/loading-spinner.js +2 -2
- package/dist/common/logo.d.ts +2 -2
- package/dist/common/logo.js +2 -2
- package/dist/common/map-layer-selector.d.ts +2 -2
- package/dist/common/map-layer-selector.js +3 -4
- package/dist/common/modal.d.ts +24 -11
- package/dist/common/modal.js +2 -2
- package/dist/common/portaled.d.ts +513 -2
- package/dist/common/portaled.js +2 -2
- package/dist/common/progress-bar.d.ts +2 -2
- package/dist/common/progress-bar.js +2 -2
- package/dist/common/range-brush.js +2 -2
- package/dist/common/range-plot.d.ts +6 -2
- package/dist/common/range-plot.js +4 -3
- package/dist/common/range-slider.d.ts +5 -1
- package/dist/common/range-slider.js +9 -3
- package/dist/common/slider/mouse-event.js +2 -2
- package/dist/common/slider/slider-bar-handle.d.ts +2 -2
- package/dist/common/slider/slider-bar-handle.js +2 -2
- package/dist/common/slider/slider-handle.d.ts +1 -1
- package/dist/common/slider/slider-handle.js +2 -2
- package/dist/common/slider/slider.d.ts +7 -5
- package/dist/common/slider/slider.js +8 -5
- package/dist/common/styled-components.d.ts +5 -0
- package/dist/common/styled-components.js +161 -47
- package/dist/common/switch.d.ts +3 -2
- package/dist/common/switch.js +2 -2
- package/dist/common/time-range-slider-time-title.d.ts +2 -2
- package/dist/common/time-range-slider-time-title.js +2 -2
- package/dist/common/time-range-slider.d.ts +6 -3
- package/dist/common/time-range-slider.js +33 -14
- package/dist/common/time-slider-marker.d.ts +1 -1
- package/dist/common/time-slider-marker.js +3 -3
- package/dist/common/timeline-slider.d.ts +13 -0
- package/dist/common/timeline-slider.js +173 -0
- package/dist/common/tippy-tooltip.d.ts +4 -2
- package/dist/common/tippy-tooltip.js +23 -11
- package/dist/common/toolbar-item.d.ts +1 -1
- package/dist/common/toolbar-item.js +6 -4
- package/dist/common/toolbar.js +2 -2
- package/dist/common/vertical-toolbar.js +2 -2
- package/dist/connect/keplergl-connect.d.ts +5 -1
- package/dist/connect/keplergl-connect.js +2 -2
- package/dist/connect/with-local-selector.js +2 -2
- package/dist/container.js +2 -2
- package/dist/context.js +4 -3
- package/dist/dnd-context.d.ts +13 -0
- package/dist/dnd-context.js +252 -0
- package/dist/editor/editor.d.ts +11 -10
- package/dist/editor/editor.js +97 -103
- package/dist/editor/feature-action-panel.d.ts +8 -6
- package/dist/editor/feature-action-panel.js +75 -22
- package/dist/effects/effect-configurator.d.ts +18 -0
- package/dist/effects/effect-configurator.js +237 -0
- package/dist/effects/effect-list.d.ts +15 -0
- package/dist/effects/effect-list.js +173 -0
- package/dist/effects/effect-manager.d.ts +21 -0
- package/dist/effects/effect-manager.js +129 -0
- package/dist/effects/effect-panel-header.d.ts +33 -0
- package/dist/effects/effect-panel-header.js +174 -0
- package/dist/effects/effect-panel.d.ts +24 -0
- package/dist/effects/effect-panel.js +162 -0
- package/dist/effects/effect-time-configurator.d.ts +13 -0
- package/dist/effects/effect-time-configurator.js +191 -0
- package/dist/effects/effect-type-selector.d.ts +11 -0
- package/dist/effects/effect-type-selector.js +117 -0
- package/dist/effects/side-panel-title.d.ts +7 -0
- package/dist/effects/side-panel-title.js +67 -0
- package/dist/filter-animation-controller.d.ts +17 -0
- package/dist/filter-animation-controller.js +91 -0
- package/dist/filters/components.js +2 -2
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +3 -3
- package/dist/filters/filter-panels/multi-select-filter-panel.js +3 -3
- package/dist/filters/filter-panels/new-filter-panel.js +2 -2
- package/dist/filters/filter-panels/polygon-filter-panel.js +3 -3
- package/dist/filters/filter-panels/range-filter-panel.js +3 -3
- package/dist/filters/filter-panels/single-select-filter-panel.js +3 -3
- package/dist/filters/filter-panels/time-range-filter-panel.js +25 -8
- package/dist/filters/filter-panels/types.d.ts +2 -1
- package/dist/filters/filter-panels/types.js +1 -1
- package/dist/filters/index.d.ts +2 -0
- package/dist/filters/index.js +18 -2
- package/dist/filters/multi-select-filter.js +2 -2
- package/dist/filters/polygon-filter.js +14 -4
- package/dist/filters/range-filter.js +6 -4
- package/dist/filters/single-select-filter.js +2 -2
- package/dist/filters/time-range-filter.d.ts +2 -1
- package/dist/filters/time-range-filter.js +10 -7
- package/dist/filters/time-widget-top.d.ts +8 -0
- package/dist/filters/time-widget-top.js +123 -0
- package/dist/filters/time-widget.d.ts +3 -7
- package/dist/filters/time-widget.js +35 -92
- package/dist/filters/types.d.ts +7 -3
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.d.ts +1 -3
- package/dist/geocoder/geocoder.js +2 -2
- package/dist/geocoder-panel.d.ts +9 -3
- package/dist/geocoder-panel.js +30 -19
- package/dist/hooks/useFeatureFlags.js +1 -1
- package/dist/index.d.ts +68 -20
- package/dist/index.js +599 -99
- package/dist/injector.d.ts +4 -4
- package/dist/injector.js +2 -2
- package/dist/kepler-gl.d.ts +58 -17
- package/dist/kepler-gl.js +78 -31
- package/dist/layer-animation-controller.d.ts +13 -0
- package/dist/layer-animation-controller.js +76 -0
- package/dist/map/coordinate-info.js +2 -2
- package/dist/map/effects/effect-control.d.ts +16 -0
- package/dist/map/effects/effect-control.js +81 -0
- package/dist/map/layer-hover-info.d.ts +2 -2
- package/dist/map/layer-hover-info.js +26 -10
- package/dist/map/layer-selector-panel.js +2 -2
- package/dist/map/lazy-tippy.js +1 -1
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/locale-panel.js +2 -2
- package/dist/map/map-control-panel.d.ts +6 -0
- package/dist/map/map-control-panel.js +65 -9
- package/dist/map/map-control-toolbar.js +3 -3
- package/dist/map/map-control-tooltip.js +2 -2
- package/dist/map/map-control.d.ts +15 -7
- package/dist/map/map-control.js +6 -7
- package/dist/map/map-draw-panel.d.ts +2 -2
- package/dist/map/map-draw-panel.js +2 -9
- package/dist/map/map-legend-panel.d.ts +12 -1
- package/dist/map/map-legend-panel.js +27 -14
- package/dist/map/map-legend.d.ts +1 -1
- package/dist/map/map-legend.js +2 -2
- package/dist/map/map-popover-content.d.ts +28 -0
- package/dist/map/map-popover-content.js +51 -0
- package/dist/map/map-popover.d.ts +11 -14
- package/dist/map/map-popover.js +94 -15
- package/dist/map/split-map-button.js +2 -2
- package/dist/map/toggle-3d-button.js +2 -2
- package/dist/map-container.d.ts +33 -9
- package/dist/map-container.js +530 -161
- package/dist/map-view-state-context.d.ts +12 -0
- package/dist/map-view-state-context.js +116 -0
- package/dist/maps-layout.d.ts +5 -2
- package/dist/maps-layout.js +7 -3
- package/dist/modal-container.d.ts +2 -6
- package/dist/modal-container.js +8 -6
- package/dist/modals/add-map-style-modal.d.ts +1 -3
- package/dist/modals/add-map-style-modal.js +12 -6
- package/dist/modals/cloud-tile.js +2 -2
- package/dist/modals/data-table-modal.d.ts +11 -2
- package/dist/modals/data-table-modal.js +75 -24
- package/dist/modals/delete-data-modal.js +2 -2
- package/dist/modals/error-display.js +2 -2
- package/dist/modals/export-data-modal.d.ts +1 -3
- package/dist/modals/export-data-modal.js +2 -2
- package/dist/modals/export-image-modal.d.ts +1 -3
- package/dist/modals/export-image-modal.js +2 -2
- package/dist/modals/export-map-modal/components.d.ts +2 -2
- package/dist/modals/export-map-modal/components.js +2 -2
- package/dist/modals/export-map-modal/export-html-map.js +2 -2
- package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
- package/dist/modals/export-map-modal/export-json-map.js +2 -2
- package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
- package/dist/modals/export-map-modal/export-map-modal.js +2 -2
- package/dist/modals/image-modal-container.d.ts +1 -0
- package/dist/modals/image-modal-container.js +2 -2
- package/dist/modals/load-data-modal.js +2 -2
- package/dist/modals/load-storage-map.js +2 -2
- package/dist/modals/loading-dialog.js +2 -2
- package/dist/modals/modal-dialog.js +2 -2
- package/dist/modals/modal-tabs.d.ts +1 -1
- package/dist/modals/modal-tabs.js +2 -2
- package/dist/modals/overwrite-map-modal.js +2 -2
- package/dist/modals/provider-modal-container.d.ts +3 -2
- package/dist/modals/provider-modal-container.js +2 -2
- package/dist/modals/save-map-modal.js +2 -2
- package/dist/modals/share-map-modal.js +2 -2
- package/dist/modals/status-panel.js +2 -2
- package/dist/modals/storage-map-viewer.d.ts +1 -1
- package/dist/modals/storage-map-viewer.js +2 -2
- package/dist/notification-panel/notification-item.d.ts +7 -10
- package/dist/notification-panel/notification-item.js +45 -13
- package/dist/notification-panel.js +2 -2
- package/dist/plot-container.js +20 -8
- package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
- package/dist/side-panel/add-by-dataset-button.js +173 -0
- package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
- package/dist/side-panel/cloud-storage-dropdown.js +2 -2
- package/dist/side-panel/common/dataset-info.d.ts +10 -3
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/common/dataset-tag.d.ts +15 -1
- package/dist/side-panel/common/dataset-tag.js +14 -11
- package/dist/side-panel/common/dataset-title.d.ts +16 -2
- package/dist/side-panel/common/dataset-title.js +71 -105
- package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
- package/dist/side-panel/common/source-data-catalog.js +2 -2
- package/dist/side-panel/common/source-data-selector.js +2 -2
- package/dist/side-panel/common/types.d.ts +7 -27
- package/dist/side-panel/common/types.js +1 -1
- package/dist/side-panel/custom-panel.d.ts +6 -7
- package/dist/side-panel/custom-panel.js +2 -2
- package/dist/side-panel/filter-manager.d.ts +18 -6
- package/dist/side-panel/filter-manager.js +176 -65
- package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
- package/dist/side-panel/filter-panel/add-filter-button.js +50 -0
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
- package/dist/side-panel/filter-panel/filter-panel-header.js +4 -4
- package/dist/side-panel/filter-panel/filter-panel.js +2 -2
- package/dist/side-panel/interaction-manager.d.ts +6 -3
- package/dist/side-panel/interaction-manager.js +21 -8
- package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
- package/dist/side-panel/interaction-panel/brush-config.js +2 -2
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +12 -5
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -9
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +25 -42
- package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
- package/dist/side-panel/interaction-panel/tooltip-config.js +9 -7
- package/dist/side-panel/layer-manager.d.ts +8 -10
- package/dist/side-panel/layer-manager.js +71 -37
- package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
- package/dist/side-panel/layer-panel/add-layer-button.js +13 -139
- package/dist/side-panel/layer-panel/color-palette.js +2 -2
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
- package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
- package/dist/side-panel/layer-panel/color-selector.js +175 -127
- package/dist/side-panel/layer-panel/column-selector.js +2 -2
- package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
- package/dist/side-panel/layer-panel/custom-palette.js +6 -5
- package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
- package/dist/side-panel/layer-panel/custom-picker.js +2 -2
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.js +3 -2
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
- package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
- package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
- package/dist/side-panel/layer-panel/dataset-section.js +6 -7
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -2
- package/dist/side-panel/layer-panel/how-to-button.js +2 -2
- package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
- package/dist/side-panel/layer-panel/layer-color-selector.js +134 -0
- package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
- package/dist/side-panel/layer-panel/layer-column-config.js +35 -13
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
- package/dist/side-panel/layer-panel/layer-config-group.js +19 -11
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
- package/dist/side-panel/layer-panel/layer-configurator.js +61 -110
- package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
- package/dist/side-panel/layer-panel/layer-error-message.js +58 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
- package/dist/side-panel/layer-panel/layer-list.js +112 -89
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
- package/dist/side-panel/layer-panel/layer-panel-header.js +106 -67
- package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
- package/dist/side-panel/layer-panel/layer-panel.js +24 -11
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +12 -3
- package/dist/side-panel/layer-panel/layer-type-list-item.js +12 -4
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
- package/dist/side-panel/layer-panel/layer-type-selector.js +5 -3
- package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
- package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
- package/dist/side-panel/layer-panel/text-label-panel.js +62 -15
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -3
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +2 -2
- package/dist/side-panel/layer-panel/vis-config-slider.js +2 -2
- package/dist/side-panel/layer-panel/vis-config-switch.js +2 -2
- package/dist/side-panel/map-manager.d.ts +13 -6
- package/dist/side-panel/map-manager.js +56 -45
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +116 -0
- package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +131 -0
- package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +16 -12
- package/dist/side-panel/map-style-panel/map-layer-selector.js +34 -51
- package/dist/side-panel/map-style-panel/map-style-selector.d.ts +11 -4
- package/dist/side-panel/map-style-panel/map-style-selector.js +54 -20
- package/dist/side-panel/panel-dropdown.d.ts +3 -2
- package/dist/side-panel/panel-dropdown.js +2 -2
- package/dist/side-panel/panel-header-action.d.ts +4 -2
- package/dist/side-panel/panel-header-action.js +11 -4
- package/dist/side-panel/panel-header.d.ts +13 -8
- package/dist/side-panel/panel-header.js +2 -2
- package/dist/side-panel/panel-tab.d.ts +2 -2
- package/dist/side-panel/panel-tab.js +2 -2
- package/dist/side-panel/panel-title.d.ts +6 -3
- package/dist/side-panel/panel-title.js +31 -14
- package/dist/side-panel/panel-toggle.d.ts +1 -1
- package/dist/side-panel/panel-toggle.js +2 -2
- package/dist/side-panel/{layer-panel/panel-view-list-toggle.d.ts → panel-view-list-toggle.d.ts} +19 -8
- package/dist/side-panel/panel-view-list-toggle.js +143 -0
- package/dist/side-panel/side-bar.d.ts +15 -16
- package/dist/side-panel/side-bar.js +8 -6
- package/dist/side-panel.d.ts +2 -117
- package/dist/side-panel.js +14 -20
- package/dist/types.d.ts +16 -9
- package/dist/types.js +1 -1
- package/package.json +41 -34
- package/dist/editor/constants.d.ts +0 -17
- package/dist/editor/constants.js +0 -47
- package/dist/editor/feature-styles.d.ts +0 -37
- package/dist/editor/feature-styles.js +0 -92
- package/dist/editor/handle-style.d.ts +0 -42
- package/dist/editor/handle-style.js +0 -100
- package/dist/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
package/dist/side-panel.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright (c)
|
|
1
|
+
// Copyright (c) 2023 Uber Technologies, Inc.
|
|
2
2
|
//
|
|
3
3
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
// of this software and associated documentation files (the "Software"), to deal
|
|
@@ -38,8 +38,6 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
38
38
|
|
|
39
39
|
var _react = _interopRequireWildcard(require("react"));
|
|
40
40
|
|
|
41
|
-
var _localization = require("@kepler.gl/localization");
|
|
42
|
-
|
|
43
41
|
var _constants = require("@kepler.gl/constants");
|
|
44
42
|
|
|
45
43
|
var _icons = require("./common/icons");
|
|
@@ -60,8 +58,6 @@ var _mapManager = _interopRequireDefault(require("./side-panel/map-manager"));
|
|
|
60
58
|
|
|
61
59
|
var _customPanel = _interopRequireDefault(require("./side-panel/custom-panel"));
|
|
62
60
|
|
|
63
|
-
var _panelTitle = _interopRequireDefault(require("./side-panel/panel-title"));
|
|
64
|
-
|
|
65
61
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
66
62
|
|
|
67
63
|
var _lodash = _interopRequireDefault(require("lodash.get"));
|
|
@@ -79,12 +75,12 @@ var StyledSidePanelContent = _styledComponents["default"].div(_templateObject ||
|
|
|
79
75
|
});
|
|
80
76
|
|
|
81
77
|
exports.StyledSidePanelContent = StyledSidePanelContent;
|
|
82
|
-
SidePanelFactory.deps = [_sideBar["default"], _panelHeader["default"], _panelToggle["default"],
|
|
78
|
+
SidePanelFactory.deps = [_sideBar["default"], _panelHeader["default"], _panelToggle["default"], _layerManager["default"], _filterManager["default"], _interactionManager["default"], _mapManager["default"], _customPanel["default"]];
|
|
83
79
|
/**
|
|
84
80
|
* Vertical sidebar containing input components for the rendering layers
|
|
85
81
|
*/
|
|
86
82
|
|
|
87
|
-
function SidePanelFactory(Sidebar, PanelHeader, PanelToggle,
|
|
83
|
+
function SidePanelFactory(Sidebar, PanelHeader, PanelToggle, LayerManager, FilterManager, InteractionManager, MapManager, CustomPanels) {
|
|
88
84
|
// inject components
|
|
89
85
|
var SIDEBAR_COMPONENTS = {
|
|
90
86
|
layer: LayerManager,
|
|
@@ -119,10 +115,12 @@ function SidePanelFactory(Sidebar, PanelHeader, PanelToggle, PanelTitle, LayerMa
|
|
|
119
115
|
filters = props.filters,
|
|
120
116
|
layers = props.layers,
|
|
121
117
|
layerBlending = props.layerBlending,
|
|
118
|
+
overlayBlending = props.overlayBlending,
|
|
122
119
|
layerClasses = props.layerClasses,
|
|
123
120
|
layerOrder = props.layerOrder,
|
|
124
121
|
interactionConfig = props.interactionConfig,
|
|
125
|
-
panels = props.panels,
|
|
122
|
+
_props$panels = props.panels,
|
|
123
|
+
panels = _props$panels === void 0 ? fullPanels : _props$panels,
|
|
126
124
|
mapInfo = props.mapInfo,
|
|
127
125
|
mapSaved = props.mapSaved,
|
|
128
126
|
mapStateActions = props.mapStateActions,
|
|
@@ -196,7 +194,7 @@ function SidePanelFactory(Sidebar, PanelHeader, PanelToggle, PanelTitle, LayerMa
|
|
|
196
194
|
return panels.find(function (_ref) {
|
|
197
195
|
var id = _ref.id;
|
|
198
196
|
return id === activeSidePanel;
|
|
199
|
-
});
|
|
197
|
+
}) || null;
|
|
200
198
|
}, [activeSidePanel, panels]);
|
|
201
199
|
var onShareMap = (0, _react.useMemo)(function () {
|
|
202
200
|
return hasShare ? onClickShareMap : null;
|
|
@@ -208,6 +206,7 @@ function SidePanelFactory(Sidebar, PanelHeader, PanelToggle, PanelTitle, LayerMa
|
|
|
208
206
|
return /*#__PURE__*/_react["default"].createElement(Sidebar, {
|
|
209
207
|
width: width,
|
|
210
208
|
isOpen: isOpen,
|
|
209
|
+
shouldShowCollapseButton: uiState.isSidePanelCloseButtonVisible,
|
|
211
210
|
minifiedWidth: 0,
|
|
212
211
|
onOpenOrClose: _onOpenOrClose
|
|
213
212
|
}, /*#__PURE__*/_react["default"].createElement(PanelHeader, {
|
|
@@ -232,15 +231,14 @@ function SidePanelFactory(Sidebar, PanelHeader, PanelToggle, PanelTitle, LayerMa
|
|
|
232
231
|
className: "side-panel__content"
|
|
233
232
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
234
233
|
className: "side-panel__content__inner"
|
|
235
|
-
},
|
|
236
|
-
id: currentPanel === null || currentPanel === void 0 ? void 0 : currentPanel.label
|
|
237
|
-
})) : null, PanelComponent ? /*#__PURE__*/_react["default"].createElement(PanelComponent, {
|
|
234
|
+
}, PanelComponent ? /*#__PURE__*/_react["default"].createElement(PanelComponent, {
|
|
238
235
|
datasets: datasets,
|
|
239
236
|
filters: filters,
|
|
240
237
|
layers: layers,
|
|
241
238
|
layerClasses: layerClasses,
|
|
242
239
|
layerOrder: layerOrder,
|
|
243
240
|
layerBlending: layerBlending,
|
|
241
|
+
overlayBlending: overlayBlending,
|
|
244
242
|
mapStyle: mapStyle,
|
|
245
243
|
mapStyleActions: mapStyleActions,
|
|
246
244
|
mapStateActions: mapStateActions,
|
|
@@ -253,22 +251,18 @@ function SidePanelFactory(Sidebar, PanelHeader, PanelToggle, PanelTitle, LayerMa
|
|
|
253
251
|
uiStateActions: uiStateActions,
|
|
254
252
|
visStateActions: visStateActions,
|
|
255
253
|
panelMetadata: currentPanel,
|
|
256
|
-
|
|
254
|
+
panelListView: (currentPanel === null || currentPanel === void 0 ? void 0 : currentPanel.id) === 'layer' ? uiState.layerPanelListView : (currentPanel === null || currentPanel === void 0 ? void 0 : currentPanel.id) === 'filter' ? uiState.filterPanelListView : null
|
|
257
255
|
}) : null, /*#__PURE__*/_react["default"].createElement(CustomPanels, (0, _extends2["default"])({}, customPanelProps, {
|
|
258
|
-
activeSidePanel: activeSidePanel
|
|
256
|
+
activeSidePanel: activeSidePanel,
|
|
257
|
+
updateTableColor: onUpdateTableColor
|
|
259
258
|
})))));
|
|
260
259
|
};
|
|
261
260
|
|
|
262
261
|
SidePanel.defaultProps = {
|
|
263
262
|
panels: fullPanels,
|
|
264
|
-
sidebarComponents: SIDEBAR_COMPONENTS,
|
|
265
|
-
uiState: {},
|
|
266
|
-
visStateActions: {},
|
|
267
|
-
mapStyleActions: {},
|
|
268
|
-
uiStateActions: {},
|
|
269
263
|
availableProviders: {},
|
|
270
264
|
mapInfo: {}
|
|
271
265
|
};
|
|
272
266
|
return SidePanel;
|
|
273
267
|
}
|
|
274
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaWRlLXBhbmVsLnRzeCJdLCJuYW1lcyI6WyJTdHlsZWRTaWRlUGFuZWxDb250ZW50Iiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJ0aGVtZSIsInNpZGVQYW5lbFNjcm9sbEJhciIsInNpZGVQYW5lbElubmVyUGFkZGluZyIsIlNpZGVQYW5lbEZhY3RvcnkiLCJkZXBzIiwiU2lkZWJhckZhY3RvcnkiLCJQYW5lbEhlYWRlckZhY3RvcnkiLCJQYW5lbFRvZ2dsZUZhY3RvcnkiLCJQYW5lbFRpdGxlRmFjdG9yeSIsIkxheWVyTWFuYWdlckZhY3RvcnkiLCJGaWx0ZXJNYW5hZ2VyRmFjdG9yeSIsIkludGVyYWN0aW9uTWFuYWdlckZhY3RvcnkiLCJNYXBNYW5hZ2VyRmFjdG9yeSIsIkN1c3RvbVBhbmVsc0ZhY3RvcnkiLCJTaWRlYmFyIiwiUGFuZWxIZWFkZXIiLCJQYW5lbFRvZ2dsZSIsIlBhbmVsVGl0bGUiLCJMYXllck1hbmFnZXIiLCJGaWx0ZXJNYW5hZ2VyIiwiSW50ZXJhY3Rpb25NYW5hZ2VyIiwiTWFwTWFuYWdlciIsIkN1c3RvbVBhbmVscyIsIlNJREVCQVJfQ09NUE9ORU5UUyIsImxheWVyIiwiZmlsdGVyIiwiaW50ZXJhY3Rpb24iLCJtYXAiLCJTSURFQkFSX0lDT05TIiwiTGF5ZXJzIiwiRmlsdGVyRnVubmVsIiwiU2V0dGluZ3MiLCJDdXJzb3JDbGljayIsImZ1bGxQYW5lbHMiLCJTSURFQkFSX1BBTkVMUyIsImNvbXBvbmVudCIsImlkIiwiaWNvbkNvbXBvbmVudCIsImdldEN1c3RvbVBhbmVsUHJvcHMiLCJTaWRlUGFuZWwiLCJhcHBOYW1lIiwiYXBwV2Vic2l0ZSIsImF2YWlsYWJsZVByb3ZpZGVycyIsImRhdGFzZXRzIiwiZmlsdGVycyIsImxheWVycyIsImxheWVyQmxlbmRpbmciLCJsYXllckNsYXNzZXMiLCJsYXllck9yZGVyIiwiaW50ZXJhY3Rpb25Db25maWciLCJwYW5lbHMiLCJtYXBJbmZvIiwibWFwU2F2ZWQiLCJtYXBTdGF0ZUFjdGlvbnMiLCJtYXBTdHlsZSIsIm1hcFN0eWxlQWN0aW9ucyIsIm9uU2F2ZU1hcCIsInVpU3RhdGUiLCJ1aVN0YXRlQWN0aW9ucyIsInZpc1N0YXRlQWN0aW9ucyIsInZlcnNpb24iLCJ3aWR0aCIsIm9wZW5EZWxldGVNb2RhbCIsInRvZ2dsZU1vZGFsIiwidG9nZ2xlU2lkZVBhbmVsIiwiYWN0aXZlU2lkZVBhbmVsIiwic2V0TWFwSW5mbyIsInNob3dEYXRhc2V0VGFibGUiLCJ1cGRhdGVUYWJsZUNvbG9yIiwiaGFzU2hhcmUiLCJoYXNTdG9yYWdlIiwidGl0bGUiLCJpc09wZW4iLCJCb29sZWFuIiwiX29uT3Blbk9yQ2xvc2UiLCJvbkNsaWNrRXhwb3J0SW1hZ2UiLCJFWFBPUlRfSU1BR0VfSUQiLCJvbkNsaWNrRXhwb3J0RGF0YSIsIkVYUE9SVF9EQVRBX0lEIiwib25DbGlja0V4cG9ydE1hcCIsIkVYUE9SVF9NQVBfSUQiLCJvbkNsaWNrU2F2ZVRvU3RvcmFnZSIsIk9WRVJXUklURV9NQVBfSUQiLCJTQVZFX01BUF9JRCIsIm9uQ2xpY2tTYXZlQXNUb1N0b3JhZ2UiLCJvbkNsaWNrU2hhcmVNYXAiLCJTSEFSRV9NQVBfSUQiLCJvblNob3dEYXRhc2V0VGFibGUiLCJkYXRhSWQiLCJvblVwZGF0ZVRhYmxlQ29sb3IiLCJuZXdDb2xvciIsIm9uU2hvd0FkZERhdGFNb2RhbCIsIkFERF9EQVRBX0lEIiwib25TaG93QWRkTWFwU3R5bGVNb2RhbCIsIkFERF9NQVBfU1RZTEVfSUQiLCJvblJlbW92ZURhdGFzZXQiLCJvblNhdmVUb1N0b3JhZ2UiLCJvblNhdmVBc1RvU3RvcmFnZSIsImN1cnJlbnRQYW5lbCIsImZpbmQiLCJvblNoYXJlTWFwIiwiY3VzdG9tUGFuZWxQcm9wcyIsIlBhbmVsQ29tcG9uZW50IiwidmlzaWJsZURyb3Bkb3duIiwic2hvd0V4cG9ydERyb3Bkb3duIiwiaGlkZUV4cG9ydERyb3Bkb3duIiwibGFiZWwiLCJsYXllclBhbmVsTGlzdFZpZXciLCJkZWZhdWx0UHJv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RCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcblxuaW1wb3J0IHtcbiAgRVhQT1JUX0RBVEFfSUQsXG4gIEVYUE9SVF9NQVBfSUQsXG4gIFNIQVJFX01BUF9JRCxcbiAgU0lERUJBUl9QQU5FTFMsXG4gIE9WRVJXUklURV9NQVBfSUQsXG4gIFNBVkVfTUFQX0lELFxuICBFWFBPUlRfSU1BR0VfSUQsXG4gIEFERF9EQVRBX0lELFxuICBBRERfTUFQX1NUWUxFX0lEXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuaW1wb3J0IHtDdXJzb3JDbGljaywgTGF5ZXJzLCBGaWx0ZXJGdW5uZWwsIFNldHRpbmdzfSBmcm9tICcuL2NvbW1vbi9pY29ucyc7XG5cbmltcG9ydCBTaWRlYmFyRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvc2lkZS1iYXInO1xuaW1wb3J0IFBhbmVsSGVhZGVyRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvcGFuZWwtaGVhZGVyJztcbmltcG9ydCBQYW5lbFRvZ2dsZUZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL3BhbmVsLXRvZ2dsZSc7XG5pbXBvcnQgTGF5ZXJNYW5hZ2VyRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvbGF5ZXItbWFuYWdlcic7XG5pbXBvcnQgRmlsdGVyTWFuYWdlckZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL2ZpbHRlci1tYW5hZ2VyJztcbmltcG9ydCBJbnRlcmFjdGlvbk1hbmFnZXJGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9pbnRlcmFjdGlvbi1tYW5hZ2VyJztcbmltcG9ydCBNYXBNYW5hZ2VyRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvbWFwLW1hbmFnZXInO1xuaW1wb3J0IEN1c3RvbVBhbmVsc0ZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL2N1c3RvbS1wYW5lbCc7XG5pbXBvcnQgUGFuZWxUaXRsZUZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL3BhbmVsLXRpdGxlJztcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC5nZXQnO1xuaW1wb3J0IHtTaWRlUGFuZWxQcm9wc30gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTaWRlUGFuZWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxTY3JvbGxCYXJ9O1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsSW5uZXJQYWRkaW5nfXB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAuc2lkZS1wYW5lbF9fY29udGVudF9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbmA7XG5cblNpZGVQYW5lbEZhY3RvcnkuZGVwcyA9IFtcbiAgU2lkZWJhckZhY3RvcnksXG4gIFBhbmVsSGVhZGVyRmFjdG9yeSxcbiAgUGFuZWxUb2dnbGVGYWN0b3J5LFxuICBQYW5lbFRpdGxlRmFjdG9yeSxcbiAgTGF5ZXJNYW5hZ2VyRmFjdG9yeSxcbiAgRmlsdGVyTWFuYWdlckZhY3RvcnksXG4gIEludGVyYWN0aW9uTWFuYWdlckZhY3RvcnksXG4gIE1hcE1hbmFnZXJGYWN0b3J5LFxuICBDdXN0b21QYW5lbHNGYWN0b3J5XG5dO1xuXG4vKipcbiAqIFZlcnRpY2FsIHNpZGViYXIgY29udGFpbmluZyBpbnB1dCBjb21wb25lbnRzIGZvciB0aGUgcmVuZGVyaW5nIGxheWVyc1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTaWRlUGFuZWxGYWN0b3J5KFxuICBTaWRlYmFyOiBSZXR1cm5UeXBlPHR5cGVvZiBTaWRlYmFyRmFjdG9yeT4sXG4gIFBhbmVsSGVhZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckZhY3Rvcnk+LFxuICBQYW5lbFRvZ2dsZTogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxUb2dnbGVGYWN0b3J5PixcbiAgUGFuZWxUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxUaXRsZUZhY3Rvcnk+LFxuICBMYXllck1hbmFnZXI6IFJldHVyblR5cGU8dHlwZW9mIExheWVyTWFuYWdlckZhY3Rvcnk+LFxuICBGaWx0ZXJNYW5hZ2VyOiBSZXR1cm5UeXBlPHR5cGVvZiBGaWx0ZXJNYW5hZ2VyRmFjdG9yeT4sXG4gIEludGVyYWN0aW9uTWFuYWdlcjogUmV0dXJuVHlwZTx0eXBlb2YgSW50ZXJhY3Rpb25NYW5hZ2VyRmFjdG9yeT4sXG4gIE1hcE1hbmFnZXI6IFJldHVyblR5cGU8dHlwZW9mIE1hcE1hbmFnZXJGYWN0b3J5PixcbiAgQ3VzdG9tUGFuZWxzOiBSZXR1cm5UeXBlPHR5cGVvZiBDdXN0b21QYW5lbHNGYWN0b3J5PlxuKSB7XG4gIC8vIGluamVjdCBjb21wb25lbnRzXG4gIGNvbnN0IFNJREVCQVJfQ09NUE9ORU5UUyA9IHtcbiAgICBsYXllcjogTGF5ZXJNYW5hZ2VyLFxuICAgIGZpbHRlcjogRmlsdGVyTWFuYWdlcixcbiAgICBpbnRlcmFjdGlvbjogSW50ZXJhY3Rpb25NYW5hZ2VyLFxuICAgIG1hcDogTWFwTWFuYWdlclxuICB9O1xuXG4gIGNvbnN0IFNJREVCQVJfSUNPTlMgPSB7XG4gICAgbGF5ZXI6IExheWVycyxcbiAgICBmaWx0ZXI6IEZpbHRlckZ1bm5lbCxcbiAgICBpbnRlcmFjdGlvbjogU2V0dGluZ3MsXG4gICAgbWFwOiBDdXJzb3JDbGlja1xuICB9O1xuXG4gIC8vIFdlIHNob3VsZCBkZWZpbmVkIHNpZGViYXIgcGFuZWxzIGhlcmUgYnV0IGtlZXBpbmcgdGhlbSBmb3IgYmFja3dhcmQgY29tcGF0aWJsZVxuICBjb25zdCBmdWxsUGFuZWxzID0gU0lERUJBUl9QQU5FTFMubWFwKGNvbXBvbmVudCA9PiAoe1xuICAgIC4uLmNvbXBvbmVudCxcbiAgICBjb21wb25lbnQ6IFNJREVCQVJfQ09NUE9ORU5UU1tjb21wb25lbnQuaWRdLFxuICAgIGljb25Db21wb25lbnQ6IFNJREVCQVJfSUNPTlNbY29tcG9uZW50LmlkXVxuICB9KSk7XG5cbiAgY29uc3QgZ2V0Q3VzdG9tUGFuZWxQcm9wcyA9IGdldChDdXN0b21QYW5lbHMsIFsnZGVmYXVsdFByb3BzJywgJ2dldFByb3BzJ10pIHx8ICgoKSA9PiAoe30pKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LXN0YXRlbWVudHNcbiAgY29uc3QgU2lkZVBhbmVsID0gKHByb3BzOiBTaWRlUGFuZWxQcm9wcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGFwcE5hbWUsXG4gICAgICBhcHBXZWJzaXRlLFxuICAgICAgYXZhaWxhYmxlUHJvdmlkZXJzLFxuICAgICAgZGF0YXNldHMsXG4gICAgICBmaWx0ZXJzLFxuICAgICAgbGF5ZXJzLFxuICAgICAgbGF5ZXJCbGVuZGluZyxcbiAgICAgIGxheWVyQ2xhc3NlcyxcbiAgICAgIGxheWVyT3JkZXIsXG4gICAgICBpbnRlcmFjdGlvbkNvbmZpZyxcbiAgICAgIHBhbmVscyxcbiAgICAgIG1hcEluZm8sXG4gICAgICBtYXBTYXZlZCxcbiAgICAgIG1hcFN0YXRlQWN0aW9ucyxcbiAgICAgIG1hcFN0eWxlLFxuICAgICAgbWFwU3R5bGVBY3Rpb25zLFxuICAgICAgb25TYXZlTWFwLFxuICAgICAgdWlTdGF0ZSxcbiAgICAgIHVpU3RhdGVBY3Rpb25zLFxuICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgdmVyc2lvbixcbiAgICAgIHdpZHRoXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IHtvcGVuRGVsZXRlTW9kYWwsIHRvZ2dsZU1vZGFsLCB0b2dnbGVTaWRlUGFuZWx9ID0gdWlTdGF0ZUFjdGlvbnM7XG4gICAgY29uc3Qge2FjdGl2ZVNpZGVQYW5lbH0gPSB1aVN0YXRlO1xuICAgIGNvbnN0IHtzZXRNYXBJbmZvLCBzaG93RGF0YXNldFRhYmxlLCB1cGRhdGVUYWJsZUNvbG9yfSA9IHZpc1N0YXRlQWN0aW9ucztcbiAgICBjb25zdCB7aGFzU2hhcmUsIGhhc1N0b3JhZ2V9ID0gYXZhaWxhYmxlUHJvdmlkZXJzO1xuXG4gICAgY29uc3Qge3RpdGxlfSA9IG1hcEluZm87XG5cbiAgICBjb25zdCBpc09wZW4gPSBCb29sZWFuKGFjdGl2ZVNpZGVQYW5lbCk7XG5cbiAgICBjb25zdCBfb25PcGVuT3JDbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZVNpZGVQYW5lbChhY3RpdmVTaWRlUGFuZWwgPyAnJyA6ICdsYXllcicpLCBbXG4gICAgICBhY3RpdmVTaWRlUGFuZWwsXG4gICAgICB0b2dnbGVTaWRlUGFuZWxcbiAgICBdKTtcblxuICAgIGNvbnN0IG9uQ2xpY2tFeHBvcnRJbWFnZSA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZU1vZGFsKEVYUE9SVF9JTUFHRV9JRCksIFt0b2dnbGVNb2RhbF0pO1xuICAgIGNvbnN0IG9uQ2xpY2tFeHBvcnREYXRhID0gdXNlQ2FsbGJhY2soKCkgPT4gdG9nZ2xlTW9kYWwoRVhQT1JUX0RBVEFfSUQpLCBbdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvbkNsaWNrRXhwb3J0TWFwID0gdXNlQ2FsbGJhY2soKCkgPT4gdG9nZ2xlTW9kYWwoRVhQT1JUX01BUF9JRCksIFt0b2dnbGVNb2RhbF0pO1xuICAgIGNvbnN0IG9uQ2xpY2tTYXZlVG9TdG9yYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiB0b2dnbGVNb2RhbChtYXBTYXZlZCA/IE9WRVJXUklURV9NQVBfSUQgOiBTQVZFX01BUF9JRCksXG4gICAgICBbbWFwU2F2ZWQsIHRvZ2dsZU1vZGFsXVxuICAgICk7XG4gICAgY29uc3Qgb25DbGlja1NhdmVBc1RvU3RvcmFnZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldE1hcEluZm8oe1xuICAgICAgICB0aXRsZTogYCR7dGl0bGUgfHwgJ0tlcGxlci5nbCd9IChDb3B5KWBcbiAgICAgIH0pO1xuXG4gICAgICB0b2dnbGVNb2RhbChTQVZFX01BUF9JRCk7XG4gICAgfSwgW3RpdGxlLCBzZXRNYXBJbmZvLCB0b2dnbGVNb2RhbF0pO1xuICAgIGNvbnN0IG9uQ2xpY2tTaGFyZU1hcCA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZU1vZGFsKFNIQVJFX01BUF9JRCksIFt0b2dnbGVNb2RhbF0pO1xuICAgIGNvbnN0IG9uU2hvd0RhdGFzZXRUYWJsZSA9IHVzZUNhbGxiYWNrKGRhdGFJZCA9PiBzaG93RGF0YXNldFRhYmxlKGRhdGFJZCksIFtzaG93RGF0YXNldFRhYmxlXSk7XG4gICAgY29uc3Qgb25VcGRhdGVUYWJsZUNvbG9yID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZGF0YUlkLCBuZXdDb2xvcikgPT4gdXBkYXRlVGFibGVDb2xvcihkYXRhSWQsIG5ld0NvbG9yKSxcbiAgICAgIFt1cGRhdGVUYWJsZUNvbG9yXVxuICAgICk7XG4gICAgY29uc3Qgb25TaG93QWRkRGF0YU1vZGFsID0gdXNlQ2FsbGJhY2soKCkgPT4gdG9nZ2xlTW9kYWwoQUREX0RBVEFfSUQpLCBbdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvblNob3dBZGRNYXBTdHlsZU1vZGFsID0gdXNlQ2FsbGJhY2soKCkgPT4gdG9nZ2xlTW9kYWwoQUREX01BUF9TVFlMRV9JRCksIFt0b2dnbGVNb2RhbF0pO1xuICAgIGNvbnN0IG9uUmVtb3ZlRGF0YXNldCA9IHVzZUNhbGxiYWNrKGRhdGFJZCA9PiBvcGVuRGVsZXRlTW9kYWwoZGF0YUlkKSwgW29wZW5EZWxldGVNb2RhbF0pO1xuICAgIGNvbnN0IG9uU2F2ZVRvU3RvcmFnZSA9IHVzZU1lbW8oKCkgPT4gKGhhc1N0b3JhZ2UgPyBvbkNsaWNrU2F2ZVRvU3RvcmFnZSA6IG51bGwpLCBbXG4gICAgICBoYXNTdG9yYWdlLFxuICAgICAgb25DbGlja1NhdmVUb1N0b3JhZ2VcbiAgICBdKTtcbiAgICBjb25zdCBvblNhdmVBc1RvU3RvcmFnZSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoaGFzU3RvcmFnZSAmJiBtYXBTYXZlZCA/IG9uQ2xpY2tTYXZlQXNUb1N0b3JhZ2UgOiBudWxsKSxcbiAgICAgIFtoYXNTdG9yYWdlLCBtYXBTYXZlZCwgb25DbGlja1NhdmVBc1RvU3RvcmFnZV1cbiAgICApO1xuICAgIGNvbnN0IGN1cnJlbnRQYW5lbCA9IHVzZU1lbW8oKCkgPT4gcGFuZWxzLmZpbmQoKHtpZH0pID0+IGlkID09PSBhY3RpdmVTaWRlUGFuZWwpLCBbXG4gICAgICBhY3RpdmVTaWRlUGFuZWwsXG4gICAgICBwYW5lbHNcbiAgICBdKTtcbiAgICBjb25zdCBvblNoYXJlTWFwID0gdXNlTWVtbygoKSA9PiAoaGFzU2hhcmUgPyBvbkNsaWNrU2hhcmVNYXAgOiBudWxsKSwgW1xuICAgICAgaGFzU2hhcmUsXG4gICAgICBvbkNsaWNrU2hhcmVNYXBcbiAgICBdKTtcbiAgICBjb25zdCBjdXN0b21QYW5lbFByb3BzID0gdXNlTWVtbygoKSA9PiBnZXRDdXN0b21QYW5lbFByb3BzKHByb3BzKSwgW3Byb3BzXSk7XG5cbiAgICBjb25zdCBQYW5lbENvbXBvbmVudCA9IGN1cnJlbnRQYW5lbD8uY29tcG9uZW50O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTaWRlYmFyIHdpZHRoPXt3aWR0aH0gaXNPcGVuPXtpc09wZW59IG1pbmlmaWVkV2lkdGg9ezB9IG9uT3Blbk9yQ2xvc2U9e19vbk9wZW5PckNsb3NlfT5cbiAgICAgICAgPFBhbmVsSGVhZGVyXG4gICAgICAgICAgYXBwTmFtZT17YXBwTmFtZX1cbiAgICAgICAgICB2ZXJzaW9uPXt2ZXJzaW9ufVxuICAgICAgICAgIGFwcFdlYnNpdGU9e2FwcFdlYnNpdGV9XG4gICAgICAgICAgdmlzaWJsZURyb3Bkb3duPXt1aVN0YXRlLnZpc2libGVEcm9wZG93bn1cbiAgICAgICAgICBzaG93RXhwb3J0RHJvcGRvd249e3VpU3RhdGVBY3Rpb25zLnNob3dFeHBvcnREcm9wZG93bn1cbiAgICAgICAgICBoaWRlRXhwb3J0RHJvcGRvd249e3VpU3RhdGVBY3Rpb25zLmhpZGVFeHBvcnREcm9wZG93bn1cbiAgICAgICAgICBvbkV4cG9ydEltYWdlPXtvbkNsaWNrRXhwb3J0SW1hZ2V9XG4gICAgICAgICAgb25FeHBvcnREYXRhPXtvbkNsaWNrRXhwb3J0RGF0YX1cbiAgICAgICAgICBvbkV4cG9ydE1hcD17b25DbGlja0V4cG9ydE1hcH1cbiAgICAgICAgICBvblNhdmVNYXA9e29uU2F2ZU1hcH1cbiAgICAgICAgICBvblNhdmVUb1N0b3JhZ2U9e29uU2F2ZVRvU3RvcmFnZX1cbiAgICAgICAgICBvblNhdmVBc1RvU3RvcmFnZT17b25TYXZlQXNUb1N0b3JhZ2V9XG4gICAgICAgICAgb25TaGFyZU1hcD17b25TaGFyZU1hcH1cbiAgICAgICAgLz5cbiAgICAgICAgey8qIHRoZSBuZXh0IHR3byBjb21wb25lbnRzIHNob3VsZCBiZSBtb3ZlZCBpbnRvIG9uZSAqL31cbiAgICAgICAgey8qIGJ1dCBpIGFtIGtlZXBpbmcgdGhlbSBiZWNhdXNlIG9mIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKi99XG4gICAgICAgIDxQYW5lbFRvZ2dsZVxuICAgICAgICAgIHBhbmVscz17cGFuZWxzfVxuICAgICAgICAgIGFjdGl2ZVBhbmVsPXthY3RpdmVTaWRlUGFuZWx9XG4gICAgICAgICAgdG9nZ2xlUGFuZWw9e3VpU3RhdGVBY3Rpb25zLnRvZ2dsZVNpZGVQYW5lbH1cbiAgICAgICAgLz5cbiAgICAgICAgPFN0eWxlZFNpZGVQYW5lbENvbnRlbnQgY2xhc3NOYW1lPVwic2lkZS1wYW5lbF9fY29udGVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2lkZS1wYW5lbF9fY29udGVudF9faW5uZXJcIj5cbiAgICAgICAgICAgIHtjdXJyZW50UGFuZWw/LmlkICE9PSAnbGF5ZXInID8gKFxuICAgICAgICAgICAgICA8UGFuZWxUaXRsZT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17Y3VycmVudFBhbmVsPy5sYWJlbH0gLz5cbiAgICAgICAgICAgICAgPC9QYW5lbFRpdGxlPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7UGFuZWxDb21wb25lbnQgPyAoXG4gICAgICAgICAgICAgIDxQYW5lbENvbXBvbmVudFxuICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICBmaWx0ZXJzPXtmaWx0ZXJzfVxuICAgICAgICAgICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICAgICAgICAgIGxheWVyQ2xhc3Nlcz17bGF5ZXJDbGFzc2VzfVxuICAgICAgICAgICAgICAgIGxheWVyT3JkZXI9e2xheWVyT3JkZXJ9XG4gICAgICAgICAgICAgICAgbGF5ZXJCbGVuZGluZz17bGF5ZXJCbGVuZGluZ31cbiAgICAgICAgICAgICAgICBtYXBTdHlsZT17bWFwU3R5bGV9XG4gICAgICAgICAgICAgICAgbWFwU3R5bGVBY3Rpb25zPXttYXBTdHlsZUFjdGlvbnN9XG4gICAgICAgICAgICAgICAgbWFwU3RhdGVBY3Rpb25zPXttYXBTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgICAgaW50ZXJhY3Rpb25Db25maWc9e2ludGVyYWN0aW9uQ29uZmlnfVxuICAgICAgICAgICAgICAgIHJlbW92ZURhdGFzZXQ9e29uUmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtvblNob3dEYXRhc2V0VGFibGV9XG4gICAgICAgICAgICAgICAgdXBkYXRlVGFibGVDb2xvcj17b25VcGRhdGVUYWJsZUNvbG9yfVxuICAgICAgICAgICAgICAgIHNob3dBZGREYXRhTW9kYWw9e29uU2hvd0FkZERhdGFNb2RhbH1cbiAgICAgICAgICAgICAgICBzaG93QWRkTWFwU3R5bGVNb2RhbD17b25TaG93QWRkTWFwU3R5bGVNb2RhbH1cbiAgICAgICAgICAgICAgICB1aVN0YXRlQWN0aW9ucz17dWlTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgICAgdmlzU3RhdGVBY3Rpb25zPXt2aXNTdGF0ZUFjdGlvbnN9XG4gICAgICAgICAgICAgICAgcGFuZWxNZXRhZGF0YT17Y3VycmVudFBhbmVsfVxuICAgICAgICAgICAgICAgIGxheWVyUGFuZWxMaXN0Vmlldz17Y3VycmVudFBhbmVsPy5pZCA9PT0gJ2xheWVyJyAmJiB1aVN0YXRlLmxheWVyUGFuZWxMaXN0Vmlld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPEN1c3RvbVBhbmVscyB7Li4uY3VzdG9tUGFuZWxQcm9wc30gYWN0aXZlU2lkZVBhbmVsPXthY3RpdmVTaWRlUGFuZWx9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvU3R5bGVkU2lkZVBhbmVsQ29udGVudD5cbiAgICAgIDwvU2lkZWJhcj5cbiAgICApO1xuICB9O1xuXG4gIFNpZGVQYW5lbC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFuZWxzOiBmdWxsUGFuZWxzLFxuICAgIHNpZGViYXJDb21wb25lbnRzOiBTSURFQkFSX0NPTVBPTkVOVFMsXG4gICAgdWlTdGF0ZToge30sXG4gICAgdmlzU3RhdGVBY3Rpb25zOiB7fSxcbiAgICBtYXBTdHlsZUFjdGlvbnM6IHt9LFxuICAgIHVpU3RhdGVBY3Rpb25zOiB7fSxcbiAgICBhdmFpbGFibGVQcm92aWRlcnM6IHt9LFxuICAgIG1hcEluZm86IHt9XG4gIH07XG5cbiAgcmV0dXJuIFNpZGVQYW5lbDtcbn1cbiJdfQ==
|
|
268
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaWRlLXBhbmVsLnRzeCJdLCJuYW1lcyI6WyJTdHlsZWRTaWRlUGFuZWxDb250ZW50Iiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJ0aGVtZSIsInNpZGVQYW5lbFNjcm9sbEJhciIsInNpZGVQYW5lbElubmVyUGFkZGluZyIsIlNpZGVQYW5lbEZhY3RvcnkiLCJkZXBzIiwiU2lkZWJhckZhY3RvcnkiLCJQYW5lbEhlYWRlckZhY3RvcnkiLCJQYW5lbFRvZ2dsZUZhY3RvcnkiLCJMYXllck1hbmFnZXJGYWN0b3J5IiwiRmlsdGVyTWFuYWdlckZhY3RvcnkiLCJJbnRlcmFjdGlvbk1hbmFnZXJGYWN0b3J5IiwiTWFwTWFuYWdlckZhY3RvcnkiLCJDdXN0b21QYW5lbHNGYWN0b3J5IiwiU2lkZWJhciIsIlBhbmVsSGVhZGVyIiwiUGFuZWxUb2dnbGUiLCJMYXllck1hbmFnZXIiLCJGaWx0ZXJNYW5hZ2VyIiwiSW50ZXJhY3Rpb25NYW5hZ2VyIiwiTWFwTWFuYWdlciIsIkN1c3RvbVBhbmVscyIsIlNJREVCQVJfQ09NUE9ORU5UUyIsImxheWVyIiwiZmlsdGVyIiwiaW50ZXJhY3Rpb24iLCJtYXAiLCJTSURFQkFSX0lDT05TIiwiTGF5ZXJzIiwiRmlsdGVyRnVubmVsIiwiU2V0dGluZ3MiLCJDdXJzb3JDbGljayIsImZ1bGxQYW5lbHMiLCJTSURFQkFSX1BBTkVMUyIsImNvbXBvbmVudCIsImlkIiwiaWNvbkNvbXBvbmVudCIsImdldEN1c3RvbVBhbmVsUHJvcHMiLCJTaWRlUGFuZWwiLCJhcHBOYW1lIiwiYXBwV2Vic2l0ZSIsImF2YWlsYWJsZVByb3ZpZGVycyIsImRhdGFzZXRzIiwiZmlsdGVycyIsImxheWVycyIsImxheWVyQmxlbmRpbmciLCJvdmVybGF5QmxlbmRpbmciLCJsYXllckNsYXNzZXMiLCJsYXllck9yZGVyIiwiaW50ZXJhY3Rpb25Db25maWciLCJwYW5lbHMiLCJtYXBJbmZvIiwibWFwU2F2ZWQiLCJtYXBTdGF0ZUFjdGlvbnMiLCJtYXBTdHlsZSIsIm1hcFN0eWxlQWN0aW9ucyIsIm9uU2F2ZU1hcCIsInVpU3RhdGUiLCJ1aVN0YXRlQWN0aW9ucyIsInZpc1N0YXRlQWN0aW9ucyIsInZlcnNpb24iLCJ3aWR0aCIsIm9wZW5EZWxldGVNb2RhbCIsInRvZ2dsZU1vZGFsIiwidG9nZ2xlU2lkZVBhbmVsIiwiYWN0aXZlU2lkZVBhbmVsIiwic2V0TWFwSW5mbyIsInNob3dEYXRhc2V0VGFibGUiLCJ1cGRhdGVUYWJsZUNvbG9yIiwiaGFzU2hhcmUiLCJoYXNTdG9yYWdlIiwidGl0bGUiLCJpc09wZW4iLCJCb29sZWFuIiwiX29uT3Blbk9yQ2xvc2UiLCJvbkNsaWNrRXhwb3J0SW1hZ2UiLCJFWFBPUlRfSU1BR0VfSUQiLCJvbkNsaWNrRXhwb3J0RGF0YSIsIkVYUE9SVF9EQVRBX0lEIiwib25DbGlja0V4cG9ydE1hcCIsIkVYUE9SVF9NQVBfSUQiLCJvbkNsaWNrU2F2ZVRvU3RvcmFnZSIsIk9WRVJXUklURV9NQVBfSUQiLCJTQVZFX01BUF9JRCIsIm9uQ2xpY2tTYXZlQXNUb1N0b3JhZ2UiLCJvbkNsaWNrU2hhcmVNYXAiLCJTSEFSRV9NQVBfSUQiLCJvblNob3dEYXRhc2V0VGFibGUiLCJkYXRhSWQiLCJvblVwZGF0ZVRhYmxlQ29sb3IiLCJuZXdDb2xvciIsIm9uU2hvd0FkZERhdGFNb2RhbCIsIkFERF9EQVRBX0lEIiwib25TaG93QWRkTWFwU3R5bGVNb2RhbCIsIkFERF9NQVBfU1RZTEVfSUQiLCJvblJlbW92ZURhdGFzZXQiLCJvblNhdmVUb1N0b3JhZ2UiLCJvblNhdmVBc1RvU3RvcmFnZSIsImN1cnJlbnRQYW5lbCIsImZpbmQiLCJvblNoYXJlTWFwIiwiY3VzdG9tUGFuZWxQcm9wcyIsIlBhbmVsQ29tcG9uZW50IiwiaXNTaWRlUGFuZWxDbG9zZUJ1dHRvblZpc2libGUiLCJ2aXNpYmxlRHJvcGRvd24iLCJzaG93RXhwb3J0RHJvcGRvd24iLCJoaWRlRXhwb3J0RHJvcGRvd24iLCJsYXllclBhbmVsTGlzdFZpZXciLCJm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Ly9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7XG4gIEVYUE9SVF9EQVRBX0lELFxuICBFWFBPUlRfTUFQX0lELFxuICBTSEFSRV9NQVBfSUQsXG4gIFNJREVCQVJfUEFORUxTLFxuICBPVkVSV1JJVEVfTUFQX0lELFxuICBTQVZFX01BUF9JRCxcbiAgRVhQT1JUX0lNQUdFX0lELFxuICBBRERfREFUQV9JRCxcbiAgQUREX01BUF9TVFlMRV9JRFxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7Q3Vyc29yQ2xpY2ssIExheWVycywgRmlsdGVyRnVubmVsLCBTZXR0aW5nc30gZnJvbSAnLi9jb21tb24vaWNvbnMnO1xuXG5pbXBvcnQgU2lkZWJhckZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL3NpZGUtYmFyJztcbmltcG9ydCBQYW5lbEhlYWRlckZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL3BhbmVsLWhlYWRlcic7XG5pbXBvcnQgUGFuZWxUb2dnbGVGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9wYW5lbC10b2dnbGUnO1xuaW1wb3J0IExheWVyTWFuYWdlckZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL2xheWVyLW1hbmFnZXInO1xuaW1wb3J0IEZpbHRlck1hbmFnZXJGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9maWx0ZXItbWFuYWdlcic7XG5pbXBvcnQgSW50ZXJhY3Rpb25NYW5hZ2VyRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwvaW50ZXJhY3Rpb24tbWFuYWdlcic7XG5pbXBvcnQgTWFwTWFuYWdlckZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsL21hcC1tYW5hZ2VyJztcbmltcG9ydCBDdXN0b21QYW5lbHNGYWN0b3J5IGZyb20gJy4vc2lkZS1wYW5lbC9jdXN0b20tcGFuZWwnO1xuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoLmdldCc7XG5pbXBvcnQge1NpZGVQYW5lbFByb3BzLCBTaWRlUGFuZWxJdGVtfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNpZGVQYW5lbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFNjcm9sbEJhcn07XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxJbm5lclBhZGRpbmd9cHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gIC5zaWRlLXBhbmVsX19jb250ZW50X19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuYDtcblxuU2lkZVBhbmVsRmFjdG9yeS5kZXBzID0gW1xuICBTaWRlYmFyRmFjdG9yeSxcbiAgUGFuZWxIZWFkZXJGYWN0b3J5LFxuICBQYW5lbFRvZ2dsZUZhY3RvcnksXG4gIExheWVyTWFuYWdlckZhY3RvcnksXG4gIEZpbHRlck1hbmFnZXJGYWN0b3J5LFxuICBJbnRlcmFjdGlvbk1hbmFnZXJGYWN0b3J5LFxuICBNYXBNYW5hZ2VyRmFjdG9yeSxcbiAgQ3VzdG9tUGFuZWxzRmFjdG9yeVxuXTtcblxuLyoqXG4gKiBWZXJ0aWNhbCBzaWRlYmFyIGNvbnRhaW5pbmcgaW5wdXQgY29tcG9uZW50cyBmb3IgdGhlIHJlbmRlcmluZyBsYXllcnNcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU2lkZVBhbmVsRmFjdG9yeShcbiAgU2lkZWJhcjogUmV0dXJuVHlwZTx0eXBlb2YgU2lkZWJhckZhY3Rvcnk+LFxuICBQYW5lbEhlYWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJGYWN0b3J5PixcbiAgUGFuZWxUb2dnbGU6IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsVG9nZ2xlRmFjdG9yeT4sXG4gIExheWVyTWFuYWdlcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJNYW5hZ2VyRmFjdG9yeT4sXG4gIEZpbHRlck1hbmFnZXI6IFJldHVyblR5cGU8dHlwZW9mIEZpbHRlck1hbmFnZXJGYWN0b3J5PixcbiAgSW50ZXJhY3Rpb25NYW5hZ2VyOiBSZXR1cm5UeXBlPHR5cGVvZiBJbnRlcmFjdGlvbk1hbmFnZXJGYWN0b3J5PixcbiAgTWFwTWFuYWdlcjogUmV0dXJuVHlwZTx0eXBlb2YgTWFwTWFuYWdlckZhY3Rvcnk+LFxuICBDdXN0b21QYW5lbHM6IFJldHVyblR5cGU8dHlwZW9mIEN1c3RvbVBhbmVsc0ZhY3Rvcnk+XG4pIHtcbiAgLy8gaW5qZWN0IGNvbXBvbmVudHNcbiAgY29uc3QgU0lERUJBUl9DT01QT05FTlRTID0ge1xuICAgIGxheWVyOiBMYXllck1hbmFnZXIsXG4gICAgZmlsdGVyOiBGaWx0ZXJNYW5hZ2VyLFxuICAgIGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbk1hbmFnZXIsXG4gICAgbWFwOiBNYXBNYW5hZ2VyXG4gIH07XG5cbiAgY29uc3QgU0lERUJBUl9JQ09OUyA9IHtcbiAgICBsYXllcjogTGF5ZXJzLFxuICAgIGZpbHRlcjogRmlsdGVyRnVubmVsLFxuICAgIGludGVyYWN0aW9uOiBTZXR0aW5ncyxcbiAgICBtYXA6IEN1cnNvckNsaWNrXG4gIH07XG5cbiAgLy8gV2Ugc2hvdWxkIGRlZmluZWQgc2lkZWJhciBwYW5lbHMgaGVyZSBidXQga2VlcGluZyB0aGVtIGZvciBiYWNrd2FyZCBjb21wYXRpYmxlXG4gIGNvbnN0IGZ1bGxQYW5lbHM6IFNpZGVQYW5lbEl0ZW1bXSA9IFNJREVCQVJfUEFORUxTLm1hcChjb21wb25lbnQgPT4gKHtcbiAgICAuLi5jb21wb25lbnQsXG4gICAgY29tcG9uZW50OiBTSURFQkFSX0NPTVBPTkVOVFNbY29tcG9uZW50LmlkXSxcbiAgICBpY29uQ29tcG9uZW50OiBTSURFQkFSX0lDT05TW2NvbXBvbmVudC5pZF1cbiAgfSkpO1xuXG4gIGNvbnN0IGdldEN1c3RvbVBhbmVsUHJvcHMgPSBnZXQoQ3VzdG9tUGFuZWxzLCBbJ2RlZmF1bHRQcm9wcycsICdnZXRQcm9wcyddKSB8fCAoKCkgPT4gKHt9KSk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1zdGF0ZW1lbnRzXG4gIGNvbnN0IFNpZGVQYW5lbDogUmVhY3QuRkM8U2lkZVBhbmVsUHJvcHM+ID0gKHByb3BzOiBTaWRlUGFuZWxQcm9wcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGFwcE5hbWUsXG4gICAgICBhcHBXZWJzaXRlLFxuICAgICAgYXZhaWxhYmxlUHJvdmlkZXJzLFxuICAgICAgZGF0YXNldHMsXG4gICAgICBmaWx0ZXJzLFxuICAgICAgbGF5ZXJzLFxuICAgICAgbGF5ZXJCbGVuZGluZyxcbiAgICAgIG92ZXJsYXlCbGVuZGluZyxcbiAgICAgIGxheWVyQ2xhc3NlcyxcbiAgICAgIGxheWVyT3JkZXIsXG4gICAgICBpbnRlcmFjdGlvbkNvbmZpZyxcbiAgICAgIHBhbmVscyA9IGZ1bGxQYW5lbHMsXG4gICAgICBtYXBJbmZvLFxuICAgICAgbWFwU2F2ZWQsXG4gICAgICBtYXBTdGF0ZUFjdGlvbnMsXG4gICAgICBtYXBTdHlsZSxcbiAgICAgIG1hcFN0eWxlQWN0aW9ucyxcbiAgICAgIG9uU2F2ZU1hcCxcbiAgICAgIHVpU3RhdGUsXG4gICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICAgIHZlcnNpb24sXG4gICAgICB3aWR0aFxuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCB7b3BlbkRlbGV0ZU1vZGFsLCB0b2dnbGVNb2RhbCwgdG9nZ2xlU2lkZVBhbmVsfSA9IHVpU3RhdGVBY3Rpb25zO1xuICAgIGNvbnN0IHthY3RpdmVTaWRlUGFuZWx9ID0gdWlTdGF0ZTtcbiAgICBjb25zdCB7c2V0TWFwSW5mbywgc2hvd0RhdGFzZXRUYWJsZSwgdXBkYXRlVGFibGVDb2xvcn0gPSB2aXNTdGF0ZUFjdGlvbnM7XG4gICAgY29uc3Qge2hhc1NoYXJlLCBoYXNTdG9yYWdlfSA9IGF2YWlsYWJsZVByb3ZpZGVycztcblxuICAgIGNvbnN0IHt0aXRsZX0gPSBtYXBJbmZvO1xuXG4gICAgY29uc3QgaXNPcGVuID0gQm9vbGVhbihhY3RpdmVTaWRlUGFuZWwpO1xuXG4gICAgY29uc3QgX29uT3Blbk9yQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB0b2dnbGVTaWRlUGFuZWwoYWN0aXZlU2lkZVBhbmVsID8gJycgOiAnbGF5ZXInKSwgW1xuICAgICAgYWN0aXZlU2lkZVBhbmVsLFxuICAgICAgdG9nZ2xlU2lkZVBhbmVsXG4gICAgXSk7XG5cbiAgICBjb25zdCBvbkNsaWNrRXhwb3J0SW1hZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB0b2dnbGVNb2RhbChFWFBPUlRfSU1BR0VfSUQpLCBbdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvbkNsaWNrRXhwb3J0RGF0YSA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZU1vZGFsKEVYUE9SVF9EQVRBX0lEKSwgW3RvZ2dsZU1vZGFsXSk7XG4gICAgY29uc3Qgb25DbGlja0V4cG9ydE1hcCA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZU1vZGFsKEVYUE9SVF9NQVBfSUQpLCBbdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvbkNsaWNrU2F2ZVRvU3RvcmFnZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gdG9nZ2xlTW9kYWwobWFwU2F2ZWQgPyBPVkVSV1JJVEVfTUFQX0lEIDogU0FWRV9NQVBfSUQpLFxuICAgICAgW21hcFNhdmVkLCB0b2dnbGVNb2RhbF1cbiAgICApO1xuICAgIGNvbnN0IG9uQ2xpY2tTYXZlQXNUb1N0b3JhZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRNYXBJbmZvKHtcbiAgICAgICAgdGl0bGU6IGAke3RpdGxlIHx8ICdLZXBsZXIuZ2wnfSAoQ29weSlgXG4gICAgICB9KTtcblxuICAgICAgdG9nZ2xlTW9kYWwoU0FWRV9NQVBfSUQpO1xuICAgIH0sIFt0aXRsZSwgc2V0TWFwSW5mbywgdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvbkNsaWNrU2hhcmVNYXAgPSB1c2VDYWxsYmFjaygoKSA9PiB0b2dnbGVNb2RhbChTSEFSRV9NQVBfSUQpLCBbdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvblNob3dEYXRhc2V0VGFibGUgPSB1c2VDYWxsYmFjayhkYXRhSWQgPT4gc2hvd0RhdGFzZXRUYWJsZShkYXRhSWQpLCBbc2hvd0RhdGFzZXRUYWJsZV0pO1xuICAgIGNvbnN0IG9uVXBkYXRlVGFibGVDb2xvciA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGRhdGFJZCwgbmV3Q29sb3IpID0+IHVwZGF0ZVRhYmxlQ29sb3IoZGF0YUlkLCBuZXdDb2xvciksXG4gICAgICBbdXBkYXRlVGFibGVDb2xvcl1cbiAgICApO1xuICAgIGNvbnN0IG9uU2hvd0FkZERhdGFNb2RhbCA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZU1vZGFsKEFERF9EQVRBX0lEKSwgW3RvZ2dsZU1vZGFsXSk7XG4gICAgY29uc3Qgb25TaG93QWRkTWFwU3R5bGVNb2RhbCA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZU1vZGFsKEFERF9NQVBfU1RZTEVfSUQpLCBbdG9nZ2xlTW9kYWxdKTtcbiAgICBjb25zdCBvblJlbW92ZURhdGFzZXQgPSB1c2VDYWxsYmFjayhkYXRhSWQgPT4gb3BlbkRlbGV0ZU1vZGFsKGRhdGFJZCksIFtvcGVuRGVsZXRlTW9kYWxdKTtcbiAgICBjb25zdCBvblNhdmVUb1N0b3JhZ2UgPSB1c2VNZW1vKCgpID0+IChoYXNTdG9yYWdlID8gb25DbGlja1NhdmVUb1N0b3JhZ2UgOiBudWxsKSwgW1xuICAgICAgaGFzU3RvcmFnZSxcbiAgICAgIG9uQ2xpY2tTYXZlVG9TdG9yYWdlXG4gICAgXSk7XG4gICAgY29uc3Qgb25TYXZlQXNUb1N0b3JhZ2UgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKGhhc1N0b3JhZ2UgJiYgbWFwU2F2ZWQgPyBvbkNsaWNrU2F2ZUFzVG9TdG9yYWdlIDogbnVsbCksXG4gICAgICBbaGFzU3RvcmFnZSwgbWFwU2F2ZWQsIG9uQ2xpY2tTYXZlQXNUb1N0b3JhZ2VdXG4gICAgKTtcbiAgICBjb25zdCBjdXJyZW50UGFuZWwgPSB1c2VNZW1vKCgpID0+IHBhbmVscy5maW5kKCh7aWR9KSA9PiBpZCA9PT0gYWN0aXZlU2lkZVBhbmVsKSB8fCBudWxsLCBbXG4gICAgICBhY3RpdmVTaWRlUGFuZWwsXG4gICAgICBwYW5lbHNcbiAgICBdKTtcbiAgICBjb25zdCBvblNoYXJlTWFwID0gdXNlTWVtbygoKSA9PiAoaGFzU2hhcmUgPyBvbkNsaWNrU2hhcmVNYXAgOiBudWxsKSwgW1xuICAgICAgaGFzU2hhcmUsXG4gICAgICBvbkNsaWNrU2hhcmVNYXBcbiAgICBdKTtcbiAgICBjb25zdCBjdXN0b21QYW5lbFByb3BzID0gdXNlTWVtbygoKSA9PiBnZXRDdXN0b21QYW5lbFByb3BzKHByb3BzKSwgW3Byb3BzXSk7XG4gICAgY29uc3QgUGFuZWxDb21wb25lbnQgPSBjdXJyZW50UGFuZWw/LmNvbXBvbmVudDtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2lkZWJhclxuICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICBzaG91bGRTaG93Q29sbGFwc2VCdXR0b249e3VpU3RhdGUuaXNTaWRlUGFuZWxDbG9zZUJ1dHRvblZpc2libGV9XG4gICAgICAgIG1pbmlmaWVkV2lkdGg9ezB9XG4gICAgICAgIG9uT3Blbk9yQ2xvc2U9e19vbk9wZW5PckNsb3NlfVxuICAgICAgPlxuICAgICAgICA8UGFuZWxIZWFkZXJcbiAgICAgICAgICBhcHBOYW1lPXthcHBOYW1lfVxuICAgICAgICAgIHZlcnNpb249e3ZlcnNpb259XG4gICAgICAgICAgYXBwV2Vic2l0ZT17YXBwV2Vic2l0ZX1cbiAgICAgICAgICB2aXNpYmxlRHJvcGRvd249e3VpU3RhdGUudmlzaWJsZURyb3Bkb3dufVxuICAgICAgICAgIHNob3dFeHBvcnREcm9wZG93bj17dWlTdGF0ZUFjdGlvbnMuc2hvd0V4cG9ydERyb3Bkb3dufVxuICAgICAgICAgIGhpZGVFeHBvcnREcm9wZG93bj17dWlTdGF0ZUFjdGlvbnMuaGlkZUV4cG9ydERyb3Bkb3dufVxuICAgICAgICAgIG9uRXhwb3J0SW1hZ2U9e29uQ2xpY2tFeHBvcnRJbWFnZX1cbiAgICAgICAgICBvbkV4cG9ydERhdGE9e29uQ2xpY2tFeHBvcnREYXRhfVxuICAgICAgICAgIG9uRXhwb3J0TWFwPXtvbkNsaWNrRXhwb3J0TWFwfVxuICAgICAgICAgIG9uU2F2ZU1hcD17b25TYXZlTWFwfVxuICAgICAgICAgIG9uU2F2ZVRvU3RvcmFnZT17b25TYXZlVG9TdG9yYWdlfVxuICAgICAgICAgIG9uU2F2ZUFzVG9TdG9yYWdlPXtvblNhdmVBc1RvU3RvcmFnZX1cbiAgICAgICAgICBvblNoYXJlTWFwPXtvblNoYXJlTWFwfVxuICAgICAgICAvPlxuICAgICAgICB7LyogdGhlIG5leHQgdHdvIGNvbXBvbmVudHMgc2hvdWxkIGJlIG1vdmVkIGludG8gb25lICovfVxuICAgICAgICB7LyogYnV0IGkgYW0ga2VlcGluZyB0aGVtIGJlY2F1c2Ugb2YgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqL31cbiAgICAgICAgPFBhbmVsVG9nZ2xlXG4gICAgICAgICAgcGFuZWxzPXtwYW5lbHN9XG4gICAgICAgICAgYWN0aXZlUGFuZWw9e2FjdGl2ZVNpZGVQYW5lbH1cbiAgICAgICAgICB0b2dnbGVQYW5lbD17dWlTdGF0ZUFjdGlvbnMudG9nZ2xlU2lkZVBhbmVsfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkU2lkZVBhbmVsQ29udGVudCBjbGFzc05hbWU9XCJzaWRlLXBhbmVsX19jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzaWRlLXBhbmVsX19jb250ZW50X19pbm5lclwiPlxuICAgICAgICAgICAge1BhbmVsQ29tcG9uZW50ID8gKFxuICAgICAgICAgICAgICA8UGFuZWxDb21wb25lbnRcbiAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgZmlsdGVycz17ZmlsdGVyc31cbiAgICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgICBsYXllckNsYXNzZXM9e2xheWVyQ2xhc3Nlc31cbiAgICAgICAgICAgICAgICBsYXllck9yZGVyPXtsYXllck9yZGVyfVxuICAgICAgICAgICAgICAgIGxheWVyQmxlbmRpbmc9e2xheWVyQmxlbmRpbmd9XG4gICAgICAgICAgICAgICAgb3ZlcmxheUJsZW5kaW5nPXtvdmVybGF5QmxlbmRpbmd9XG4gICAgICAgICAgICAgICAgbWFwU3R5bGU9e21hcFN0eWxlfVxuICAgICAgICAgICAgICAgIG1hcFN0eWxlQWN0aW9ucz17bWFwU3R5bGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIG1hcFN0YXRlQWN0aW9ucz17bWFwU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIGludGVyYWN0aW9uQ29uZmlnPXtpbnRlcmFjdGlvbkNvbmZpZ31cbiAgICAgICAgICAgICAgICByZW1vdmVEYXRhc2V0PXtvblJlbW92ZURhdGFzZXR9XG4gICAgICAgICAgICAgICAgc2hvd0RhdGFzZXRUYWJsZT17b25TaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e29uVXBkYXRlVGFibGVDb2xvcn1cbiAgICAgICAgICAgICAgICBzaG93QWRkRGF0YU1vZGFsPXtvblNob3dBZGREYXRhTW9kYWx9XG4gICAgICAgICAgICAgICAgc2hvd0FkZE1hcFN0eWxlTW9kYWw9e29uU2hvd0FkZE1hcFN0eWxlTW9kYWx9XG4gICAgICAgICAgICAgICAgdWlTdGF0ZUFjdGlvbnM9e3VpU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIHZpc1N0YXRlQWN0aW9ucz17dmlzU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICAgIHBhbmVsTWV0YWRhdGE9e2N1cnJlbnRQYW5lbH1cbiAgICAgICAgICAgICAgICBwYW5lbExpc3RWaWV3PXtcbiAgICAgICAgICAgICAgICAgIGN1cnJlbnRQYW5lbD8uaWQgPT09ICdsYXllcidcbiAgICAgICAgICAgICAgICAgICAgPyB1aVN0YXRlLmxheWVyUGFuZWxMaXN0Vmlld1xuICAgICAgICAgICAgICAgICAgICA6IGN1cnJlbnRQYW5lbD8uaWQgPT09ICdmaWx0ZXInXG4gICAgICAgICAgICAgICAgICAgID8gdWlTdGF0ZS5maWx0ZXJQYW5lbExpc3RWaWV3XG4gICAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPEN1c3RvbVBhbmVsc1xuICAgICAgICAgICAgICB7Li4uY3VzdG9tUGFuZWxQcm9wc31cbiAgICAgICAgICAgICAgYWN0aXZlU2lkZVBhbmVsPXthY3RpdmVTaWRlUGFuZWx9XG4gICAgICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e29uVXBkYXRlVGFibGVDb2xvcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvU3R5bGVkU2lkZVBhbmVsQ29udGVudD5cbiAgICAgIDwvU2lkZWJhcj5cbiAgICApO1xuICB9O1xuXG4gIFNpZGVQYW5lbC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFuZWxzOiBmdWxsUGFuZWxzLFxuICAgIGF2YWlsYWJsZVByb3ZpZGVyczoge30sXG4gICAgbWFwSW5mbzoge31cbiAgfTtcblxuICByZXR1cm4gU2lkZVBhbmVsO1xufVxuIl19
|
package/dist/types.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare type SidePanelItem = {
|
|
|
8
8
|
id: string;
|
|
9
9
|
label: string;
|
|
10
10
|
iconComponent: ComponentType<any>;
|
|
11
|
-
component
|
|
11
|
+
component: ComponentType<any>;
|
|
12
12
|
};
|
|
13
13
|
export declare type SidePanelProps = {
|
|
14
14
|
appName: string;
|
|
@@ -16,16 +16,16 @@ export declare type SidePanelProps = {
|
|
|
16
16
|
filters: Filter[];
|
|
17
17
|
interactionConfig: InteractionConfig;
|
|
18
18
|
layerBlending: string;
|
|
19
|
+
overlayBlending?: string;
|
|
19
20
|
layers: Layer[];
|
|
20
21
|
layerClasses: LayerClassesType;
|
|
21
|
-
layerOrder:
|
|
22
|
+
layerOrder: string[];
|
|
22
23
|
mapStyle: MapStyle;
|
|
23
|
-
onSaveMap?: () => void;
|
|
24
|
-
width: number;
|
|
25
24
|
mapInfo: {
|
|
26
|
-
title
|
|
27
|
-
description
|
|
25
|
+
title?: string;
|
|
26
|
+
description?: string;
|
|
28
27
|
};
|
|
28
|
+
width: number;
|
|
29
29
|
datasets: Datasets;
|
|
30
30
|
uiStateActions: typeof UIStateActions;
|
|
31
31
|
visStateActions: typeof VisStateActions;
|
|
@@ -33,10 +33,17 @@ export declare type SidePanelProps = {
|
|
|
33
33
|
mapStyleActions: typeof MapStyleActions;
|
|
34
34
|
uiState: UiState;
|
|
35
35
|
availableProviders: {
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
[k: string]: {
|
|
37
|
+
hasShare?: boolean;
|
|
38
|
+
hasStorage?: boolean;
|
|
39
|
+
};
|
|
38
40
|
};
|
|
39
41
|
mapSaved?: string | null;
|
|
40
|
-
panels
|
|
42
|
+
panels?: SidePanelItem[];
|
|
43
|
+
onSaveMap?: () => void;
|
|
41
44
|
version: string;
|
|
42
45
|
};
|
|
46
|
+
export declare type DatasetAttribution = {
|
|
47
|
+
title: string;
|
|
48
|
+
url: string;
|
|
49
|
+
};
|
package/dist/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kepler.gl/components",
|
|
3
3
|
"author": "Shan He <shan@uber.com>",
|
|
4
|
-
"version": "3.0.0-alpha.
|
|
4
|
+
"version": "3.0.0-alpha.1",
|
|
5
5
|
"description": "kepler.gl constants used by kepler.gl components, actions and reducers",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -30,21 +30,26 @@
|
|
|
30
30
|
"umd"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@deck.gl/core": "^8.
|
|
34
|
-
"@deck.gl/react": "^8.
|
|
35
|
-
"@
|
|
36
|
-
"@
|
|
37
|
-
"@
|
|
38
|
-
"@
|
|
39
|
-
"@kepler.gl/
|
|
40
|
-
"@kepler.gl/
|
|
41
|
-
"@kepler.gl/
|
|
42
|
-
"@kepler.gl/
|
|
43
|
-
"@kepler.gl/
|
|
44
|
-
"@kepler.gl/
|
|
45
|
-
"@kepler.gl/
|
|
46
|
-
"@kepler.gl/
|
|
47
|
-
"@
|
|
33
|
+
"@deck.gl/core": "^8.9.12",
|
|
34
|
+
"@deck.gl/react": "^8.9.12",
|
|
35
|
+
"@dnd-kit/core": "^6.0.8",
|
|
36
|
+
"@dnd-kit/modifiers": "^6.0.1",
|
|
37
|
+
"@dnd-kit/sortable": "^7.0.2",
|
|
38
|
+
"@dnd-kit/utilities": "^3.2.1",
|
|
39
|
+
"@kepler.gl/actions": "3.0.0-alpha.1",
|
|
40
|
+
"@kepler.gl/cloud-providers": "3.0.0-alpha.1",
|
|
41
|
+
"@kepler.gl/constants": "3.0.0-alpha.1",
|
|
42
|
+
"@kepler.gl/layers": "3.0.0-alpha.1",
|
|
43
|
+
"@kepler.gl/effects": "3.0.0-alpha.1",
|
|
44
|
+
"@kepler.gl/localization": "3.0.0-alpha.1",
|
|
45
|
+
"@kepler.gl/processors": "3.0.0-alpha.1",
|
|
46
|
+
"@kepler.gl/reducers": "3.0.0-alpha.1",
|
|
47
|
+
"@kepler.gl/schemas": "3.0.0-alpha.1",
|
|
48
|
+
"@kepler.gl/styles": "3.0.0-alpha.1",
|
|
49
|
+
"@kepler.gl/table": "3.0.0-alpha.1",
|
|
50
|
+
"@kepler.gl/types": "3.0.0-alpha.1",
|
|
51
|
+
"@kepler.gl/utils": "3.0.0-alpha.1",
|
|
52
|
+
"@nebula.gl/edit-modes": "1.0.2-alpha.1",
|
|
48
53
|
"@tippyjs/react": "^4.2.0",
|
|
49
54
|
"@types/classnames": "^2.3.1",
|
|
50
55
|
"@types/d3-array": "^2.0.0",
|
|
@@ -61,14 +66,15 @@
|
|
|
61
66
|
"@types/lodash.uniq": "^4.5.7",
|
|
62
67
|
"@types/lodash.uniqby": "^4.7.7",
|
|
63
68
|
"@types/react-copy-to-clipboard": "^5.0.2",
|
|
64
|
-
"@types/react
|
|
69
|
+
"@types/react": "^18.0.28",
|
|
70
|
+
"@types/react-dom": "^18.0.11",
|
|
65
71
|
"@types/react-lifecycles-compat": "^3.0.1",
|
|
66
|
-
"@types/react-map-gl": "^6.1.
|
|
72
|
+
"@types/react-map-gl": "^6.1.3",
|
|
67
73
|
"@types/react-modal": "^3.13.1",
|
|
68
74
|
"@types/react-onclickoutside": "^6.7.4",
|
|
69
75
|
"@types/react-redux": "^7.1.23",
|
|
70
|
-
"@types/react-virtualized": "^9.21.
|
|
71
|
-
"@types/react-vis": "
|
|
76
|
+
"@types/react-virtualized": "^9.21.23",
|
|
77
|
+
"@types/react-vis": "1.11.7",
|
|
72
78
|
"@types/styled-components": "^5.1.25",
|
|
73
79
|
"classnames": "^2.2.1",
|
|
74
80
|
"copy-to-clipboard": "^3.3.1",
|
|
@@ -91,29 +97,30 @@
|
|
|
91
97
|
"lodash.uniq": "^4.0.1",
|
|
92
98
|
"lodash.uniqby": "^4.7.0",
|
|
93
99
|
"mapbox": "^1.0.0-beta10",
|
|
94
|
-
"mapbox-gl": "
|
|
100
|
+
"mapbox-gl": "1.13.1",
|
|
95
101
|
"mjolnir.js": "^2.7.0",
|
|
96
102
|
"moment": "^2.10.6",
|
|
97
|
-
"moment-timezone": "^0.5.
|
|
103
|
+
"moment-timezone": "^0.5.35",
|
|
98
104
|
"prop-types": "^15.6.0",
|
|
99
|
-
"react": "^
|
|
105
|
+
"react": "^18.2.0",
|
|
100
106
|
"react-color": "^2.17.3",
|
|
101
107
|
"react-copy-to-clipboard": "^5.0.2",
|
|
102
|
-
"react-
|
|
103
|
-
"react-
|
|
108
|
+
"react-date-picker": "^10.2.0",
|
|
109
|
+
"react-dom": "^18.2.0",
|
|
110
|
+
"react-intl": "^6.3.0",
|
|
104
111
|
"react-json-pretty": "^2.2.0",
|
|
105
112
|
"react-lifecycles-compat": "^3.0.4",
|
|
106
|
-
"react-map-gl": "
|
|
107
|
-
"react-map-gl-draw": "0.14.8",
|
|
113
|
+
"react-map-gl": "7.0.25",
|
|
108
114
|
"react-markdown": "^5.0.2",
|
|
109
|
-
"react-modal": "^3.
|
|
115
|
+
"react-modal": "^3.12.1",
|
|
110
116
|
"react-onclickoutside": "^6.7.1",
|
|
111
|
-
"react-redux": "^
|
|
117
|
+
"react-redux": "^8.0.5",
|
|
112
118
|
"react-sortable-hoc": "^1.8.3",
|
|
119
|
+
"react-time-picker": "^6.2.0",
|
|
113
120
|
"react-tooltip": "^4.2.17",
|
|
114
|
-
"react-virtualized": "^9.
|
|
115
|
-
"react-vis": "
|
|
116
|
-
"redux": "^4.
|
|
121
|
+
"react-virtualized": "^9.22.4",
|
|
122
|
+
"react-vis": "1.11.7",
|
|
123
|
+
"redux": "^4.2.1",
|
|
117
124
|
"reselect": "^4.0.0",
|
|
118
125
|
"styled-components": "^4.1.3",
|
|
119
126
|
"viewport-mercator-project": "^6.0.0"
|
|
@@ -123,14 +130,14 @@
|
|
|
123
130
|
"instrument": false
|
|
124
131
|
},
|
|
125
132
|
"engines": {
|
|
126
|
-
"node": ">=
|
|
133
|
+
"node": ">=14.21.1"
|
|
127
134
|
},
|
|
128
135
|
"maintainers": [
|
|
129
136
|
"Shan He <heshan0131@gmail.com>",
|
|
130
137
|
"Giuseppe Macri <gmacri@uber.com>"
|
|
131
138
|
],
|
|
132
139
|
"volta": {
|
|
133
|
-
"node": "
|
|
140
|
+
"node": "14.21.1",
|
|
134
141
|
"yarn": "1.22.17"
|
|
135
142
|
}
|
|
136
143
|
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export declare const RENDER_STATE: {
|
|
2
|
-
INACTIVE: string;
|
|
3
|
-
UNCOMMITTED: string;
|
|
4
|
-
SELECTED: string;
|
|
5
|
-
HOVERED: string;
|
|
6
|
-
};
|
|
7
|
-
export declare const RENDER_TYPE: {
|
|
8
|
-
POINT: string;
|
|
9
|
-
LINE_STRING: string;
|
|
10
|
-
POLYGON: string;
|
|
11
|
-
RECTANGLE: string;
|
|
12
|
-
};
|
|
13
|
-
export declare const COLORS: {
|
|
14
|
-
PRIMARY: string;
|
|
15
|
-
SECONDARY: string;
|
|
16
|
-
TERTIARY: string;
|
|
17
|
-
};
|
package/dist/editor/constants.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
20
|
-
|
|
21
|
-
"use strict";
|
|
22
|
-
|
|
23
|
-
Object.defineProperty(exports, "__esModule", {
|
|
24
|
-
value: true
|
|
25
|
-
});
|
|
26
|
-
exports.COLORS = exports.RENDER_TYPE = exports.RENDER_STATE = void 0;// Copied from react-map-gl-draw until it gets exported
|
|
27
|
-
var RENDER_STATE = {
|
|
28
|
-
INACTIVE: 'INACTIVE',
|
|
29
|
-
UNCOMMITTED: 'UNCOMMITTED',
|
|
30
|
-
SELECTED: 'SELECTED',
|
|
31
|
-
HOVERED: 'HOVERED'
|
|
32
|
-
};
|
|
33
|
-
exports.RENDER_STATE = RENDER_STATE;
|
|
34
|
-
var RENDER_TYPE = {
|
|
35
|
-
POINT: 'Point',
|
|
36
|
-
LINE_STRING: 'LineString',
|
|
37
|
-
POLYGON: 'Polygon',
|
|
38
|
-
RECTANGLE: 'Rectangle'
|
|
39
|
-
};
|
|
40
|
-
exports.RENDER_TYPE = RENDER_TYPE;
|
|
41
|
-
var COLORS = {
|
|
42
|
-
PRIMARY: '#26B5F2',
|
|
43
|
-
SECONDARY: '#ffff00',
|
|
44
|
-
TERTIARY: '#6c6c6c'
|
|
45
|
-
};
|
|
46
|
-
exports.COLORS = COLORS;
|
|
47
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZGl0b3IvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbIlJFTkRFUl9TVEFURSIsIklOQUNUSVZFIiwiVU5DT01NSVRURUQiLCJTRUxFQ1RFRCIsIkhPVkVSRUQiLCJSRU5ERVJfVFlQRSIsIlBPSU5UIiwiTElORV9TVFJJTkciLCJQT0xZR09OIiwiUkVDVEFOR0xFIiwiQ09MT1JTIiwiUFJJTUFSWSIsIlNFQ09OREFSWSIsIlRFUlRJQVJZIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ08sSUFBTUEsWUFBWSxHQUFHO0FBQzFCQyxFQUFBQSxRQUFRLEVBQUUsVUFEZ0I7QUFFMUJDLEVBQUFBLFdBQVcsRUFBRSxhQUZhO0FBRzFCQyxFQUFBQSxRQUFRLEVBQUUsVUFIZ0I7QUFJMUJDLEVBQUFBLE9BQU8sRUFBRTtBQUppQixDQUFyQjs7QUFNQSxJQUFNQyxXQUFXLEdBQUc7QUFDekJDLEVBQUFBLEtBQUssRUFBRSxPQURrQjtBQUV6QkMsRUFBQUEsV0FBVyxFQUFFLFlBRlk7QUFHekJDLEVBQUFBLE9BQU8sRUFBRSxTQUhnQjtBQUl6QkMsRUFBQUEsU0FBUyxFQUFFO0FBSmMsQ0FBcEI7O0FBT0EsSUFBTUMsTUFBTSxHQUFHO0FBQ3BCQyxFQUFBQSxPQUFPLEVBQUUsU0FEVztBQUVwQkMsRUFBQUEsU0FBUyxFQUFFLFNBRlM7QUFHcEJDLEVBQUFBLFFBQVEsRUFBRTtBQUhVLENBQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG4vLyBDb3BpZWQgZnJvbSByZWFjdC1tYXAtZ2wtZHJhdyB1bnRpbCBpdCBnZXRzIGV4cG9ydGVkXG5leHBvcnQgY29uc3QgUkVOREVSX1NUQVRFID0ge1xuICBJTkFDVElWRTogJ0lOQUNUSVZFJyxcbiAgVU5DT01NSVRURUQ6ICdVTkNPTU1JVFRFRCcsXG4gIFNFTEVDVEVEOiAnU0VMRUNURUQnLFxuICBIT1ZFUkVEOiAnSE9WRVJFRCdcbn07XG5leHBvcnQgY29uc3QgUkVOREVSX1RZUEUgPSB7XG4gIFBPSU5UOiAnUG9pbnQnLFxuICBMSU5FX1NUUklORzogJ0xpbmVTdHJpbmcnLFxuICBQT0xZR09OOiAnUG9seWdvbicsXG4gIFJFQ1RBTkdMRTogJ1JlY3RhbmdsZSdcbn07XG5cbmV4cG9ydCBjb25zdCBDT0xPUlMgPSB7XG4gIFBSSU1BUlk6ICcjMjZCNUYyJyxcbiAgU0VDT05EQVJZOiAnI2ZmZmYwMCcsXG4gIFRFUlRJQVJZOiAnIzZjNmM2Yydcbn07XG4iXX0=
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
export declare const DEFAULT_RADIUS = 5;
|
|
2
|
-
export declare const DEFAULT_STATE_STYLE_STROKE: string;
|
|
3
|
-
export declare const STATE_STYLES_STROKE: {
|
|
4
|
-
[x: number]: string;
|
|
5
|
-
};
|
|
6
|
-
export declare const DEFAULT_STATE_STYLE_FILL = "#000";
|
|
7
|
-
export declare const STATE_STYLES_FILL: {
|
|
8
|
-
[x: number]: string;
|
|
9
|
-
};
|
|
10
|
-
export declare const DEFAULT_STATE_STYLE_OPACITY = 0.1;
|
|
11
|
-
export declare const STATE_STYLES_STROKE_WIDTH = 2;
|
|
12
|
-
export declare const DEFAULT_STROKE_DASH_ARRAY = "4,2";
|
|
13
|
-
export declare const RENDER_TYPE_STYLES: {
|
|
14
|
-
[x: number]: (() => {
|
|
15
|
-
r: number;
|
|
16
|
-
}) | (() => {
|
|
17
|
-
fill: string;
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
export declare function noOp(): void;
|
|
21
|
-
export declare function getStyle({ feature, state }: {
|
|
22
|
-
feature: any;
|
|
23
|
-
state: any;
|
|
24
|
-
}): {
|
|
25
|
-
r: number;
|
|
26
|
-
strokeDasharray?: string | undefined;
|
|
27
|
-
stroke: string;
|
|
28
|
-
strokeWidth: number;
|
|
29
|
-
fill: string;
|
|
30
|
-
fillOpacity: number;
|
|
31
|
-
} | {
|
|
32
|
-
fill: string;
|
|
33
|
-
strokeDasharray?: string | undefined;
|
|
34
|
-
stroke: string;
|
|
35
|
-
strokeWidth: number;
|
|
36
|
-
fillOpacity: number;
|
|
37
|
-
};
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
20
|
-
|
|
21
|
-
"use strict";
|
|
22
|
-
|
|
23
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
24
|
-
|
|
25
|
-
Object.defineProperty(exports, "__esModule", {
|
|
26
|
-
value: true
|
|
27
|
-
});
|
|
28
|
-
exports.noOp = noOp;
|
|
29
|
-
exports.getStyle = getStyle;
|
|
30
|
-
exports.RENDER_TYPE_STYLES = exports.DEFAULT_STROKE_DASH_ARRAY = exports.STATE_STYLES_STROKE_WIDTH = exports.DEFAULT_STATE_STYLE_OPACITY = exports.STATE_STYLES_FILL = exports.DEFAULT_STATE_STYLE_FILL = exports.STATE_STYLES_STROKE = exports.DEFAULT_STATE_STYLE_STROKE = exports.DEFAULT_RADIUS = void 0;
|
|
31
|
-
|
|
32
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
33
|
-
|
|
34
|
-
var _reactMapGlDraw = require("react-map-gl-draw");
|
|
35
|
-
|
|
36
|
-
var _lodash = _interopRequireDefault(require("lodash.get"));
|
|
37
|
-
|
|
38
|
-
var _constants = require("./constants");
|
|
39
|
-
|
|
40
|
-
var _STATE_STYLES_STROKE, _STATE_STYLES_FILL, _RENDER_TYPE_STYLES;
|
|
41
|
-
|
|
42
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
43
|
-
|
|
44
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
45
|
-
|
|
46
|
-
var DEFAULT_RADIUS = 5;
|
|
47
|
-
exports.DEFAULT_RADIUS = DEFAULT_RADIUS;
|
|
48
|
-
var DEFAULT_STATE_STYLE_STROKE = _constants.COLORS.PRIMARY;
|
|
49
|
-
exports.DEFAULT_STATE_STYLE_STROKE = DEFAULT_STATE_STYLE_STROKE;
|
|
50
|
-
var STATE_STYLES_STROKE = (_STATE_STYLES_STROKE = {}, (0, _defineProperty2["default"])(_STATE_STYLES_STROKE, _reactMapGlDraw.RenderStates.INACTIVE, '#26B5F2'), (0, _defineProperty2["default"])(_STATE_STYLES_STROKE, _reactMapGlDraw.RenderStates.UNCOMMITTED, '#a9a9a9'), (0, _defineProperty2["default"])(_STATE_STYLES_STROKE, _reactMapGlDraw.RenderStates.CLOSING, '#a9a9a9'), (0, _defineProperty2["default"])(_STATE_STYLES_STROKE, _reactMapGlDraw.RenderStates.SELECTED, '#26B5F2'), (0, _defineProperty2["default"])(_STATE_STYLES_STROKE, _reactMapGlDraw.RenderStates.HOVERED, '#26B5F2'), _STATE_STYLES_STROKE);
|
|
51
|
-
exports.STATE_STYLES_STROKE = STATE_STYLES_STROKE;
|
|
52
|
-
var DEFAULT_STATE_STYLE_FILL = '#000';
|
|
53
|
-
exports.DEFAULT_STATE_STYLE_FILL = DEFAULT_STATE_STYLE_FILL;
|
|
54
|
-
var STATE_STYLES_FILL = (_STATE_STYLES_FILL = {}, (0, _defineProperty2["default"])(_STATE_STYLES_FILL, _reactMapGlDraw.RenderStates.INACTIVE, '#333333'), (0, _defineProperty2["default"])(_STATE_STYLES_FILL, _reactMapGlDraw.RenderStates.HOVERED, '#7ac943'), (0, _defineProperty2["default"])(_STATE_STYLES_FILL, _reactMapGlDraw.RenderStates.SELECTED, '#ffff00'), (0, _defineProperty2["default"])(_STATE_STYLES_FILL, _reactMapGlDraw.RenderStates.UNCOMMITTED, '#a9a9a9'), (0, _defineProperty2["default"])(_STATE_STYLES_FILL, _reactMapGlDraw.RenderStates.CLOSING, '#a9a9a9'), _STATE_STYLES_FILL);
|
|
55
|
-
exports.STATE_STYLES_FILL = STATE_STYLES_FILL;
|
|
56
|
-
var DEFAULT_STATE_STYLE_OPACITY = 0.1;
|
|
57
|
-
exports.DEFAULT_STATE_STYLE_OPACITY = DEFAULT_STATE_STYLE_OPACITY;
|
|
58
|
-
var STATE_STYLES_STROKE_WIDTH = 2;
|
|
59
|
-
exports.STATE_STYLES_STROKE_WIDTH = STATE_STYLES_STROKE_WIDTH;
|
|
60
|
-
var DEFAULT_STROKE_DASH_ARRAY = '4,2';
|
|
61
|
-
exports.DEFAULT_STROKE_DASH_ARRAY = DEFAULT_STROKE_DASH_ARRAY;
|
|
62
|
-
var RENDER_TYPE_STYLES = (_RENDER_TYPE_STYLES = {}, (0, _defineProperty2["default"])(_RENDER_TYPE_STYLES, _reactMapGlDraw.RenderTypes.POINT, function () {
|
|
63
|
-
return {
|
|
64
|
-
r: DEFAULT_RADIUS
|
|
65
|
-
};
|
|
66
|
-
}), (0, _defineProperty2["default"])(_RENDER_TYPE_STYLES, _reactMapGlDraw.RenderTypes.LINE_STRING, function () {
|
|
67
|
-
return {
|
|
68
|
-
fill: 'none'
|
|
69
|
-
};
|
|
70
|
-
}), _RENDER_TYPE_STYLES);
|
|
71
|
-
exports.RENDER_TYPE_STYLES = RENDER_TYPE_STYLES;
|
|
72
|
-
|
|
73
|
-
function noOp() {}
|
|
74
|
-
|
|
75
|
-
function getStyle(_ref) {
|
|
76
|
-
var feature = _ref.feature,
|
|
77
|
-
state = _ref.state;
|
|
78
|
-
var isVisible = (0, _lodash["default"])(feature, ['properties', 'isVisible'], true);
|
|
79
|
-
|
|
80
|
-
var style = _objectSpread({
|
|
81
|
-
stroke: STATE_STYLES_STROKE[state] || DEFAULT_STATE_STYLE_STROKE,
|
|
82
|
-
strokeWidth: isVisible ? STATE_STYLES_STROKE_WIDTH : 0,
|
|
83
|
-
fill: STATE_STYLES_FILL[state] || DEFAULT_STATE_STYLE_FILL,
|
|
84
|
-
fillOpacity: DEFAULT_STATE_STYLE_OPACITY
|
|
85
|
-
}, state !== _reactMapGlDraw.RenderStates.SELECTED ? {
|
|
86
|
-
strokeDasharray: DEFAULT_STROKE_DASH_ARRAY
|
|
87
|
-
} : null);
|
|
88
|
-
|
|
89
|
-
var renderType = feature.properties ? feature.properties.renderType : feature.renderType;
|
|
90
|
-
return _objectSpread(_objectSpread({}, style), (RENDER_TYPE_STYLES[renderType] || noOp)());
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZGl0b3IvZmVhdHVyZS1zdHlsZXMudHMiXSwibmFtZXMiOlsiREVGQVVMVF9SQURJVVMiLCJERUZBVUxUX1NUQVRFX1NUWUxFX1NUUk9LRSIsIkNPTE9SUyIsIlBSSU1BUlkiLCJTVEFURV9TVFlMRVNfU1RST0tFIiwiUmVuZGVyU3RhdGVzIiwiSU5BQ1RJVkUiLCJVTkNPTU1JVFRFRCIsIkNMT1NJTkciLCJTRUxFQ1RFRCIsIkhPVkVSRUQiLCJERUZBVUxUX1NUQVRFX1NUWUxFX0ZJTEwiLCJTVEFURV9TVFlMRVNfRklMTCIsIkRFRkFVTFRfU1RBVEVfU1RZTEVfT1BBQ0lUWSIsIlNUQVRFX1NUWUxFU19TVFJPS0VfV0lEVEgiLCJERUZBVUxUX1NUUk9LRV9EQVNIX0FSUkFZIiwiUkVOREVSX1RZUEVfU1RZTEVTIiwiUmVuZGVyVHlwZXMiLCJQT0lOVCIsInIiLCJMSU5FX1NUUklORyIsImZpbGwiLCJub09wIiwiZ2V0U3R5bGUiLCJmZWF0dXJlIiwic3RhdGUiLCJpc1Zpc2libGUiLCJzdHlsZSIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwiZmlsbE9wYWNpdHkiLCJzdHJva2VEYXNoYXJyYXkiLCJyZW5kZXJUeXBlIiwicHJvcGVydGllcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFTyxJQUFNQSxjQUFjLEdBQUcsQ0FBdkI7O0FBQ0EsSUFBTUMsMEJBQTBCLEdBQUdDLGtCQUFPQyxPQUExQzs7QUFFQSxJQUFNQyxtQkFBbUIsc0ZBQzdCQyw2QkFBYUMsUUFEZ0IsRUFDTCxTQURLLDBEQUU3QkQsNkJBQWFFLFdBRmdCLEVBRUYsU0FGRSwwREFHN0JGLDZCQUFhRyxPQUhnQixFQUdOLFNBSE0sMERBSTdCSCw2QkFBYUksUUFKZ0IsRUFJTCxTQUpLLDBEQUs3QkosNkJBQWFLLE9BTGdCLEVBS04sU0FMTSx3QkFBekI7O0FBUUEsSUFBTUMsd0JBQXdCLEdBQUcsTUFBakM7O0FBRUEsSUFBTUMsaUJBQWlCLGtGQUMzQlAsNkJBQWFDLFFBRGMsRUFDSCxTQURHLHdEQUUzQkQsNkJBQWFLLE9BRmMsRUFFSixTQUZJLHdEQUczQkwsNkJBQWFJLFFBSGMsRUFHSCxTQUhHLHdEQUkzQkosNkJBQWFFLFdBSmMsRUFJQSxTQUpBLHdEQUszQkYsNkJBQWFHLE9BTGMsRUFLSixTQUxJLHNCQUF2Qjs7QUFRQSxJQUFNSywyQkFBMkIsR0FBRyxHQUFwQzs7QUFFQSxJQUFNQyx5QkFBeUIsR0FBRyxDQUFsQzs7QUFFQSxJQUFNQyx5QkFBeUIsR0FBRyxLQUFsQzs7QUFFQSxJQUFNQyxrQkFBa0Isb0ZBQzVCQyw0QkFBWUMsS0FEZ0IsRUFDUjtBQUFBLFNBQU87QUFBQ0MsSUFBQUEsQ0FBQyxFQUFFbkI7QUFBSixHQUFQO0FBQUEsQ0FEUSx5REFFNUJpQiw0QkFBWUcsV0FGZ0IsRUFFRjtBQUFBLFNBQU87QUFBQ0MsSUFBQUEsSUFBSSxFQUFFO0FBQVAsR0FBUDtBQUFBLENBRkUsdUJBQXhCOzs7QUFLQSxTQUFTQyxJQUFULEdBQWdCLENBQUU7O0FBRWxCLFNBQVNDLFFBQVQsT0FBb0M7QUFBQSxNQUFqQkMsT0FBaUIsUUFBakJBLE9BQWlCO0FBQUEsTUFBUkMsS0FBUSxRQUFSQSxLQUFRO0FBQ3pDLE1BQU1DLFNBQVMsR0FBRyx3QkFBSUYsT0FBSixFQUFhLENBQUMsWUFBRCxFQUFlLFdBQWYsQ0FBYixFQUEwQyxJQUExQyxDQUFsQjs7QUFDQSxNQUFNRyxLQUFLO0FBQ1RDLElBQUFBLE1BQU0sRUFBRXhCLG1CQUFtQixDQUFDcUIsS0FBRCxDQUFuQixJQUE4QnhCLDBCQUQ3QjtBQUVUNEIsSUFBQUEsV0FBVyxFQUFFSCxTQUFTLEdBQUdaLHlCQUFILEdBQStCLENBRjVDO0FBR1RPLElBQUFBLElBQUksRUFBRVQsaUJBQWlCLENBQUNhLEtBQUQsQ0FBakIsSUFBNEJkLHdCQUh6QjtBQUlUbUIsSUFBQUEsV0FBVyxFQUFFakI7QUFKSixLQUtMWSxLQUFLLEtBQUtwQiw2QkFBYUksUUFBdkIsR0FBa0M7QUFBQ3NCLElBQUFBLGVBQWUsRUFBRWhCO0FBQWxCLEdBQWxDLEdBQWlGLElBTDVFLENBQVg7O0FBUUEsTUFBTWlCLFVBQVUsR0FBR1IsT0FBTyxDQUFDUyxVQUFSLEdBQXFCVCxPQUFPLENBQUNTLFVBQVIsQ0FBbUJELFVBQXhDLEdBQXFEUixPQUFPLENBQUNRLFVBQWhGO0FBRUEseUNBQ0tMLEtBREwsR0FFSyxDQUFDWCxrQkFBa0IsQ0FBQ2dCLFVBQUQsQ0FBbEIsSUFBa0NWLElBQW5DLEdBRkw7QUFJRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7UmVuZGVyU3RhdGVzLCBSZW5kZXJUeXBlc30gZnJvbSAncmVhY3QtbWFwLWdsLWRyYXcnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2guZ2V0JztcbmltcG9ydCB7Q09MT1JTfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1JBRElVUyA9IDU7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TVEFURV9TVFlMRV9TVFJPS0UgPSBDT0xPUlMuUFJJTUFSWTtcblxuZXhwb3J0IGNvbnN0IFNUQVRFX1NUWUxFU19TVFJPS0UgPSB7XG4gIFtSZW5kZXJTdGF0ZXMuSU5BQ1RJVkVdOiAnIzI2QjVGMicsXG4gIFtSZW5kZXJTdGF0ZXMuVU5DT01NSVRURURdOiAnI2E5YTlhOScsXG4gIFtSZW5kZXJTdGF0ZXMuQ0xPU0lOR106ICcjYTlhOWE5JyxcbiAgW1JlbmRlclN0YXRlcy5TRUxFQ1RFRF06ICcjMjZCNUYyJyxcbiAgW1JlbmRlclN0YXRlcy5IT1ZFUkVEXTogJyMyNkI1RjInXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVEFURV9TVFlMRV9GSUxMID0gJyMwMDAnO1xuXG5leHBvcnQgY29uc3QgU1RBVEVfU1RZTEVTX0ZJTEwgPSB7XG4gIFtSZW5kZXJTdGF0ZXMuSU5BQ1RJVkVdOiAnIzMzMzMzMycsXG4gIFtSZW5kZXJTdGF0ZXMuSE9WRVJFRF06ICcjN2FjOTQzJyxcbiAgW1JlbmRlclN0YXRlcy5TRUxFQ1RFRF06ICcjZmZmZjAwJyxcbiAgW1JlbmRlclN0YXRlcy5VTkNPTU1JVFRFRF06ICcjYTlhOWE5JyxcbiAgW1JlbmRlclN0YXRlcy5DTE9TSU5HXTogJyNhOWE5YTknXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9TVEFURV9TVFlMRV9PUEFDSVRZID0gMC4xO1xuXG5leHBvcnQgY29uc3QgU1RBVEVfU1RZTEVTX1NUUk9LRV9XSURUSCA9IDI7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUUk9LRV9EQVNIX0FSUkFZID0gJzQsMic7XG5cbmV4cG9ydCBjb25zdCBSRU5ERVJfVFlQRV9TVFlMRVMgPSB7XG4gIFtSZW5kZXJUeXBlcy5QT0lOVF06ICgpID0+ICh7cjogREVGQVVMVF9SQURJVVN9KSxcbiAgW1JlbmRlclR5cGVzLkxJTkVfU1RSSU5HXTogKCkgPT4gKHtmaWxsOiAnbm9uZSd9KVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vT3AoKSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3R5bGUoe2ZlYXR1cmUsIHN0YXRlfSkge1xuICBjb25zdCBpc1Zpc2libGUgPSBnZXQoZmVhdHVyZSwgWydwcm9wZXJ0aWVzJywgJ2lzVmlzaWJsZSddLCB0cnVlKTtcbiAgY29uc3Qgc3R5bGUgPSB7XG4gICAgc3Ryb2tlOiBTVEFURV9TVFlMRVNfU1RST0tFW3N0YXRlXSB8fCBERUZBVUxUX1NUQVRFX1NUWUxFX1NUUk9LRSxcbiAgICBzdHJva2VXaWR0aDogaXNWaXNpYmxlID8gU1RBVEVfU1RZTEVTX1NUUk9LRV9XSURUSCA6IDAsXG4gICAgZmlsbDogU1RBVEVfU1RZTEVTX0ZJTExbc3RhdGVdIHx8IERFRkFVTFRfU1RBVEVfU1RZTEVfRklMTCxcbiAgICBmaWxsT3BhY2l0eTogREVGQVVMVF9TVEFURV9TVFlMRV9PUEFDSVRZLFxuICAgIC4uLihzdGF0ZSAhPT0gUmVuZGVyU3RhdGVzLlNFTEVDVEVEID8ge3N0cm9rZURhc2hhcnJheTogREVGQVVMVF9TVFJPS0VfREFTSF9BUlJBWX0gOiBudWxsKVxuICB9O1xuXG4gIGNvbnN0IHJlbmRlclR5cGUgPSBmZWF0dXJlLnByb3BlcnRpZXMgPyBmZWF0dXJlLnByb3BlcnRpZXMucmVuZGVyVHlwZSA6IGZlYXR1cmUucmVuZGVyVHlwZTtcblxuICByZXR1cm4ge1xuICAgIC4uLnN0eWxlLFxuICAgIC4uLihSRU5ERVJfVFlQRV9TVFlMRVNbcmVuZGVyVHlwZV0gfHwgbm9PcCkoKVxuICB9O1xufVxuIl19
|