@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
|
@@ -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
|
|
@@ -28,10 +28,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
28
28
|
value: true
|
|
29
29
|
});
|
|
30
30
|
exports.LayerTitleSectionFactory = LayerTitleSectionFactory;
|
|
31
|
+
exports.LayerPanelHeaderActionSectionFactory = LayerPanelHeaderActionSectionFactory;
|
|
31
32
|
exports["default"] = exports.HeaderWarning = exports.LayerLabelEditor = exports.DragHandle = exports.defaultProps = void 0;
|
|
32
33
|
|
|
33
34
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
34
35
|
|
|
36
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
37
|
+
|
|
35
38
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
36
39
|
|
|
37
40
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -40,8 +43,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
40
43
|
|
|
41
44
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
42
45
|
|
|
43
|
-
var _reactSortableHoc = require("react-sortable-hoc");
|
|
44
|
-
|
|
45
46
|
var _panelHeaderAction = _interopRequireDefault(require("../panel-header-action"));
|
|
46
47
|
|
|
47
48
|
var _styledComponents2 = require("../../common/styled-components");
|
|
@@ -50,6 +51,8 @@ var _icons = require("../../common/icons");
|
|
|
50
51
|
|
|
51
52
|
var _localization = require("@kepler.gl/localization");
|
|
52
53
|
|
|
54
|
+
var _constants = require("@kepler.gl/constants");
|
|
55
|
+
|
|
53
56
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
54
57
|
|
|
55
58
|
var defaultProps = {
|
|
@@ -74,7 +77,7 @@ var getBorderCss = function getBorderCss(status) {
|
|
|
74
77
|
var StyledLayerPanelHeader = (0, _styledComponents["default"])(_styledComponents2.StyledPanelHeader)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", "px;\n position: relative;\n align-items: stretch;\n\n .layer__remove-layer {\n opacity: 0;\n }\n\n .layer__drag-handle__placeholder {\n height: 20px;\n padding: 10px;\n }\n\n ", "\n\n :hover {\n cursor: pointer;\n background-color: ", ";\n\n .layer__drag-handle {\n opacity: 1;\n }\n\n .layer__remove-layer {\n opacity: 1;\n }\n }\n"])), function (props) {
|
|
75
78
|
return props.theme.layerPanelHeaderHeight;
|
|
76
79
|
}, function (props) {
|
|
77
|
-
return props.warning ? getBorderCss('warning') : '';
|
|
80
|
+
return props.warning ? getBorderCss('warning') : props.isValid ? '' : getBorderCss('error');
|
|
78
81
|
}, function (props) {
|
|
79
82
|
return props.theme.panelBackgroundHover;
|
|
80
83
|
});
|
|
@@ -100,15 +103,22 @@ var StyledDragHandle = _styledComponents["default"].div(_templateObject6 || (_te
|
|
|
100
103
|
return props.theme.textColorHl;
|
|
101
104
|
});
|
|
102
105
|
|
|
103
|
-
var DragHandle =
|
|
106
|
+
var DragHandle = function DragHandle(_ref4) {
|
|
104
107
|
var className = _ref4.className,
|
|
108
|
+
listeners = _ref4.listeners,
|
|
105
109
|
children = _ref4.children;
|
|
106
|
-
return /*#__PURE__*/_react["default"].createElement(StyledDragHandle, {
|
|
110
|
+
return /*#__PURE__*/_react["default"].createElement(StyledDragHandle, (0, _extends2["default"])({
|
|
107
111
|
className: className
|
|
108
|
-
}, children);
|
|
109
|
-
}
|
|
112
|
+
}, listeners ? listeners : {}), children);
|
|
113
|
+
};
|
|
114
|
+
|
|
110
115
|
exports.DragHandle = DragHandle;
|
|
111
116
|
|
|
117
|
+
var noOp = function noOp(event) {
|
|
118
|
+
event.stopPropagation();
|
|
119
|
+
event.preventDefault();
|
|
120
|
+
};
|
|
121
|
+
|
|
112
122
|
var LayerLabelEditor = function LayerLabelEditor(_ref5) {
|
|
113
123
|
var layerId = _ref5.layerId,
|
|
114
124
|
label = _ref5.label,
|
|
@@ -118,10 +128,9 @@ var LayerLabelEditor = function LayerLabelEditor(_ref5) {
|
|
|
118
128
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents2.InlineInput, {
|
|
119
129
|
type: "text",
|
|
120
130
|
className: "layer__title__editor",
|
|
131
|
+
"data-testid": _constants.dataTestIds.layerTitleEditor,
|
|
121
132
|
value: label,
|
|
122
|
-
onClick:
|
|
123
|
-
e.stopPropagation();
|
|
124
|
-
},
|
|
133
|
+
onClick: noOp,
|
|
125
134
|
onChange: onEdit,
|
|
126
135
|
onFocus: onFocus,
|
|
127
136
|
onBlur: onBlur,
|
|
@@ -161,6 +170,70 @@ function LayerTitleSectionFactory() {
|
|
|
161
170
|
return LayerTitleSection;
|
|
162
171
|
}
|
|
163
172
|
|
|
173
|
+
LayerPanelHeaderActionSectionFactory.deps = [_panelHeaderAction["default"]];
|
|
174
|
+
|
|
175
|
+
function LayerPanelHeaderActionSectionFactory(PanelHeaderAction) {
|
|
176
|
+
var LayerPanelHeaderActionSection = function LayerPanelHeaderActionSection(props) {
|
|
177
|
+
var isConfigActive = props.isConfigActive,
|
|
178
|
+
allowDuplicate = props.allowDuplicate,
|
|
179
|
+
isVisible = props.isVisible,
|
|
180
|
+
isValid = props.isValid,
|
|
181
|
+
layerId = props.layerId,
|
|
182
|
+
onToggleVisibility = props.onToggleVisibility,
|
|
183
|
+
onResetIsValid = props.onResetIsValid,
|
|
184
|
+
onToggleEnableConfig = props.onToggleEnableConfig,
|
|
185
|
+
onDuplicateLayer = props.onDuplicateLayer,
|
|
186
|
+
onRemoveLayer = props.onRemoveLayer,
|
|
187
|
+
showRemoveLayer = props.showRemoveLayer,
|
|
188
|
+
isEditingLabel = props.isEditingLabel,
|
|
189
|
+
_props$actionIcons = props.actionIcons,
|
|
190
|
+
actionIcons = _props$actionIcons === void 0 ? defaultActionIcons : _props$actionIcons;
|
|
191
|
+
return /*#__PURE__*/_react["default"].createElement(HeaderActionSection, {
|
|
192
|
+
className: "layer-panel__header__actions",
|
|
193
|
+
isEditingLabel: isEditingLabel
|
|
194
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledPanelHeaderHiddenActions, {
|
|
195
|
+
isConfigActive: isConfigActive
|
|
196
|
+
}, showRemoveLayer ? /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
197
|
+
className: "layer__remove-layer",
|
|
198
|
+
testId: "remove-layer-action",
|
|
199
|
+
id: layerId,
|
|
200
|
+
tooltip: 'tooltip.removeLayer',
|
|
201
|
+
onClick: onRemoveLayer,
|
|
202
|
+
tooltipType: "error",
|
|
203
|
+
IconComponent: actionIcons.remove
|
|
204
|
+
}) : null, /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
205
|
+
className: "layer__duplicate",
|
|
206
|
+
id: layerId,
|
|
207
|
+
tooltip: 'tooltip.duplicateLayer',
|
|
208
|
+
onClick: onDuplicateLayer,
|
|
209
|
+
IconComponent: actionIcons.duplicate,
|
|
210
|
+
disabled: !allowDuplicate
|
|
211
|
+
})), isValid ? /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
212
|
+
className: "layer__visibility-toggle",
|
|
213
|
+
id: layerId,
|
|
214
|
+
tooltip: isVisible ? 'tooltip.hideLayer' : 'tooltip.showLayer',
|
|
215
|
+
onClick: onToggleVisibility,
|
|
216
|
+
IconComponent: isVisible ? actionIcons.visible : actionIcons.hidden
|
|
217
|
+
}) : /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
218
|
+
className: "layer__is-valid-refresh",
|
|
219
|
+
id: layerId,
|
|
220
|
+
tooltip: 'tooltip.resetAfterError',
|
|
221
|
+
onClick: onResetIsValid,
|
|
222
|
+
IconComponent: actionIcons.resetIsValid
|
|
223
|
+
}), /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
224
|
+
className: (0, _classnames["default"])('layer__enable-config ', {
|
|
225
|
+
'is-open': isConfigActive
|
|
226
|
+
}),
|
|
227
|
+
id: layerId,
|
|
228
|
+
tooltip: 'tooltip.layerSettings',
|
|
229
|
+
onClick: onToggleEnableConfig,
|
|
230
|
+
IconComponent: actionIcons.enableConfig
|
|
231
|
+
}));
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
return LayerPanelHeaderActionSection;
|
|
235
|
+
}
|
|
236
|
+
|
|
164
237
|
var StyledHeaderWaring = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n right: -9px;\n top: calc(50% - 9px);\n color: ", ";\n"])), function (_ref7) {
|
|
165
238
|
var theme = _ref7.theme;
|
|
166
239
|
return theme.notificationColors.warning;
|
|
@@ -182,34 +255,29 @@ var HeaderWarning = function HeaderWarning(_ref8) {
|
|
|
182
255
|
};
|
|
183
256
|
|
|
184
257
|
exports.HeaderWarning = HeaderWarning;
|
|
185
|
-
LayerPanelHeaderFactory.deps = [LayerTitleSectionFactory, _panelHeaderAction["default"]];
|
|
186
258
|
var defaultActionIcons = {
|
|
187
259
|
remove: _icons.Trash,
|
|
188
260
|
visible: _icons.EyeSeen,
|
|
189
261
|
hidden: _icons.EyeUnseen,
|
|
190
262
|
enableConfig: _icons.ArrowDown,
|
|
191
|
-
duplicate: _icons.Copy
|
|
263
|
+
duplicate: _icons.Copy,
|
|
264
|
+
resetIsValid: _icons.Reset
|
|
192
265
|
};
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
isDragNDropEnabled =
|
|
199
|
-
|
|
200
|
-
warning =
|
|
201
|
-
label =
|
|
202
|
-
layerId =
|
|
203
|
-
layerType =
|
|
204
|
-
labelRCGColorValues =
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
onDuplicateLayer = _ref9.onDuplicateLayer,
|
|
209
|
-
onRemoveLayer = _ref9.onRemoveLayer,
|
|
210
|
-
showRemoveLayer = _ref9.showRemoveLayer,
|
|
211
|
-
_ref9$actionIcons = _ref9.actionIcons,
|
|
212
|
-
actionIcons = _ref9$actionIcons === void 0 ? defaultActionIcons : _ref9$actionIcons;
|
|
266
|
+
LayerPanelHeaderFactory.deps = [LayerTitleSectionFactory, LayerPanelHeaderActionSectionFactory];
|
|
267
|
+
|
|
268
|
+
function LayerPanelHeaderFactory(LayerTitleSection, LayerPanelHeaderActionSection) {
|
|
269
|
+
var LayerPanelHeader = function LayerPanelHeader(props) {
|
|
270
|
+
var isConfigActive = props.isConfigActive,
|
|
271
|
+
isDragNDropEnabled = props.isDragNDropEnabled,
|
|
272
|
+
isValid = props.isValid,
|
|
273
|
+
warning = props.warning,
|
|
274
|
+
label = props.label,
|
|
275
|
+
layerId = props.layerId,
|
|
276
|
+
layerType = props.layerType,
|
|
277
|
+
labelRCGColorValues = props.labelRCGColorValues,
|
|
278
|
+
onUpdateLayerLabel = props.onUpdateLayerLabel,
|
|
279
|
+
onToggleEnableConfig = props.onToggleEnableConfig,
|
|
280
|
+
listeners = props.listeners;
|
|
213
281
|
|
|
214
282
|
var _useState = (0, _react.useState)(false),
|
|
215
283
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -220,6 +288,7 @@ function LayerPanelHeaderFactory(LayerTitleSection, PanelHeaderAction) {
|
|
|
220
288
|
className: (0, _classnames["default"])('layer-panel__header', {
|
|
221
289
|
'sort--handle': !isConfigActive
|
|
222
290
|
}),
|
|
291
|
+
isValid: isValid,
|
|
223
292
|
warning: warning,
|
|
224
293
|
active: isConfigActive,
|
|
225
294
|
labelRCGColorValues: labelRCGColorValues,
|
|
@@ -230,7 +299,8 @@ function LayerPanelHeaderFactory(LayerTitleSection, PanelHeaderAction) {
|
|
|
230
299
|
}) : null, /*#__PURE__*/_react["default"].createElement(HeaderLabelSection, {
|
|
231
300
|
className: "layer-panel__header__content"
|
|
232
301
|
}, isDragNDropEnabled ? /*#__PURE__*/_react["default"].createElement(DragHandle, {
|
|
233
|
-
className: "layer__drag-handle"
|
|
302
|
+
className: "layer__drag-handle",
|
|
303
|
+
listeners: listeners
|
|
234
304
|
}, /*#__PURE__*/_react["default"].createElement(_icons.VertDots, {
|
|
235
305
|
height: "20px"
|
|
236
306
|
})) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -246,39 +316,8 @@ function LayerPanelHeaderFactory(LayerTitleSection, PanelHeaderAction) {
|
|
|
246
316
|
onBlur: function onBlur() {
|
|
247
317
|
setIsEditingLabel(false);
|
|
248
318
|
}
|
|
249
|
-
})), /*#__PURE__*/_react["default"].createElement(
|
|
250
|
-
className: "layer-panel__header__actions",
|
|
319
|
+
})), /*#__PURE__*/_react["default"].createElement(LayerPanelHeaderActionSection, (0, _extends2["default"])({}, props, {
|
|
251
320
|
isEditingLabel: isEditingLabel
|
|
252
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledPanelHeaderHiddenActions, {
|
|
253
|
-
isConfigActive: isConfigActive
|
|
254
|
-
}, showRemoveLayer ? /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
255
|
-
className: "layer__remove-layer",
|
|
256
|
-
id: layerId,
|
|
257
|
-
tooltip: 'tooltip.removeLayer',
|
|
258
|
-
onClick: onRemoveLayer,
|
|
259
|
-
tooltipType: "error",
|
|
260
|
-
IconComponent: actionIcons.remove
|
|
261
|
-
}) : null, /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
262
|
-
className: "layer__duplicate",
|
|
263
|
-
id: layerId,
|
|
264
|
-
tooltip: 'tooltip.duplicateLayer',
|
|
265
|
-
onClick: onDuplicateLayer,
|
|
266
|
-
IconComponent: actionIcons.duplicate,
|
|
267
|
-
disabled: !allowDuplicate
|
|
268
|
-
})), /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
269
|
-
className: "layer__visibility-toggle",
|
|
270
|
-
id: layerId,
|
|
271
|
-
tooltip: isVisible ? 'tooltip.hideLayer' : 'tooltip.showLayer',
|
|
272
|
-
onClick: onToggleVisibility,
|
|
273
|
-
IconComponent: isVisible ? actionIcons.visible : actionIcons.hidden
|
|
274
|
-
}), /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
|
|
275
|
-
className: (0, _classnames["default"])('layer__enable-config ', {
|
|
276
|
-
'is-open': isConfigActive
|
|
277
|
-
}),
|
|
278
|
-
id: layerId,
|
|
279
|
-
tooltip: 'tooltip.layerSettings',
|
|
280
|
-
onClick: onToggleEnableConfig,
|
|
281
|
-
IconComponent: actionIcons.enableConfig
|
|
282
321
|
})));
|
|
283
322
|
};
|
|
284
323
|
|
|
@@ -288,4 +327,4 @@ function LayerPanelHeaderFactory(LayerTitleSection, PanelHeaderAction) {
|
|
|
288
327
|
|
|
289
328
|
var _default = LayerPanelHeaderFactory;
|
|
290
329
|
exports["default"] = _default;
|
|
291
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLWhlYWRlci50c3giXSwibmFtZXMiOlsiZGVmYXVsdFByb3BzIiwiaXNEcmFnTkRyb3BFbmFibGVkIiwic2hvd1JlbW92ZUxheWVyIiwiZ2V0Qm9yZGVyQ3NzIiwic3RhdHVzIiwiY3NzIiwidGhlbWUiLCJub3RpZmljYXRpb25Db2xvcnMiLCJTdHlsZWRMYXllclBhbmVsSGVhZGVyIiwiU3R5bGVkUGFuZWxIZWFkZXIiLCJwcm9wcyIsImxheWVyUGFuZWxIZWFkZXJIZWlnaHQiLCJ3YXJuaW5nIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJIZWFkZXJMYWJlbFNlY3Rpb24iLCJzdHlsZWQiLCJkaXYiLCJ0ZXh0Q29sb3IiLCJIZWFkZXJBY3Rpb25TZWN0aW9uIiwiaXNFZGl0aW5nTGFiZWwiLCJTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMiLCJhdHRycyIsImNsYXNzTmFtZSIsImlzQ29uZmlnQWN0aXZlIiwicGFuZWxCYWNrZ3JvdW5kIiwiU3R5bGVkRHJhZ0hhbmRsZSIsInRleHRDb2xvckhsIiwiRHJhZ0hhbmRsZSIsImNoaWxkcmVuIiwiTGF5ZXJMYWJlbEVkaXRvciIsImxheWVySWQiLCJsYWJlbCIsIm9uRWRpdCIsIm9uRm9jdXMiLCJvbkJsdXIiLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5IiwiU3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24iLCJzdWJ0ZXh0Q29sb3IiLCJMYXllclRpdGxlU2VjdGlvbiIsImxheWVyVHlwZSIsIm9uVXBkYXRlTGF5ZXJMYWJlbCIsInRvTG93ZXJDYXNlIiwiU3R5bGVkSGVhZGVyV2FyaW5nIiwiSGVhZGVyV2FybmluZyIsImlkIiwiTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkiLCJkZXBzIiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiZGVmYXVsdEFjdGlvbkljb25zIiwicmVtb3ZlIiwiVHJhc2giLCJ2aXNpYmxlIiwiRXllU2VlbiIsImhpZGRlbiIsIkV5ZVVuc2VlbiIsImVuYWJsZUNvbmZpZyIsIkFycm93RG93biIsImR1cGxpY2F0ZSIsIkNvcHkiLCJQYW5lbEhlYWRlckFjdGlvbiIsIkxheWVyUGFuZWxIZWFkZXIiLCJhbGxvd0R1cGxpY2F0ZSIsImlzVmlzaWJsZSIsImxhYmVsUkNHQ29sb3JWYWx1ZXMiLCJvblRvZ2dsZVZpc2liaWxpdHkiLCJvblRvZ2dsZUVuYWJsZUNvbmZpZyIsIm9uRHVwbGljYXRlTGF5ZXIiLCJvblJlbW92ZUxheWVyIiwiYWN0aW9uSWNvbnMiLCJzZXRJc0VkaXRpbmdMYWJlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFPQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFXQTs7OztBQStDTyxJQUFNQSxZQUFZLEdBQUc7QUFDMUJDLEVBQUFBLGtCQUFrQixFQUFFLElBRE07QUFFMUJDLEVBQUFBLGVBQWUsRUFBRTtBQUZTLENBQXJCOzs7QUFLUCxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFBQyxNQUFNO0FBQUEsYUFDekJDLHFCQUR5QixvTUFFQztBQUFBLFFBQUVDLEtBQUYsUUFBRUEsS0FBRjtBQUFBLFdBQWFBLEtBQUssQ0FBQ0Msa0JBQU4sQ0FBeUJILE1BQXpCLENBQWI7QUFBQSxHQUZELEVBR0k7QUFBQSxRQUFFRSxLQUFGLFNBQUVBLEtBQUY7QUFBQSxXQUFhQSxLQUFLLENBQUNDLGtCQUFOLENBQXlCSCxNQUF6QixDQUFiO0FBQUEsR0FISixFQUlHO0FBQUEsUUFBRUUsS0FBRixTQUFFQSxLQUFGO0FBQUEsV0FBYUEsS0FBSyxDQUFDQyxrQkFBTixDQUF5QkgsTUFBekIsQ0FBYjtBQUFBLEdBSkg7QUFBQSxDQUEzQjs7QUFPQSxJQUFNSSxzQkFBc0IsR0FBRyxrQ0FBT0Msb0NBQVAsQ0FBSCxtZUFDaEIsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0osS0FBTixDQUFZ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L0ZEOztBQWlHQUssRUFBQUEsZ0JBQWdCLENBQUM5RCxZQUFqQixHQUFnQ0EsWUFBaEM7QUFFQSxTQUFPOEQsZ0JBQVA7QUFDRDs7ZUFFY2YsdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtcbiAgdXNlU3RhdGUsXG4gIENvbXBvbmVudFR5cGUsXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICBNb3VzZUV2ZW50LFxuICBDaGFuZ2VFdmVudEhhbmRsZXJcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkLCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1NvcnRhYmxlSGFuZGxlfSBmcm9tICdyZWFjdC1zb3J0YWJsZS1ob2MnO1xuaW1wb3J0IFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSBmcm9tICcuLi9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCB7VG9vbHRpcH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENvcHksXG4gIEFycm93RG93bixcbiAgRXllU2VlbixcbiAgRXllVW5zZWVuLFxuICBUcmFzaCxcbiAgVmVydERvdHMsXG4gIFdhcm5pbmdTaWduXG59IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5cbmltcG9ydCB7SW5saW5lSW5wdXQsIFN0eWxlZFBhbmVsSGVhZGVyfSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge1JHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7QmFzZVByb3BzfSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuXG50eXBlIExheWVyTGFiZWxFZGl0b3JQcm9wcyA9IHtcbiAgbGF5ZXJJZDogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgb25FZGl0OiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uRm9jdXM6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25CbHVyOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG59O1xuXG50eXBlIExheWVyVGl0bGVTZWN0aW9uUHJvcHMgPSB7XG4gIGxheWVyVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIG9uVXBkYXRlTGF5ZXJMYWJlbDogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkZvY3VzOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uQmx1cjogQ2hhbmdlRXZlbnRIYW5kbGVyO1xufTtcblxudHlwZSBMYXllclBhbmVsSGVhZGVyUHJvcHMgPSB7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvblRvZ2dsZVZpc2liaWxpdHk6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblVwZGF0ZUxheWVyTGFiZWw6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25Ub2dnbGVFbmFibGVDb25maWc6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblJlbW92ZUxheWVyOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25EdXBsaWNhdGVMYXllcjogTW91c2VFdmVudEhhbmRsZXI7XG4gIGlzQ29uZmlnQWN0aXZlOiBib29sZWFuO1xuICBzaG93UmVtb3ZlTGF5ZXI/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgbGF5ZXJUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgYWxsb3dEdXBsaWNhdGU/OiBib29sZWFuO1xuICBpc0RyYWdORHJvcEVuYWJsZWQ/OiBib29sZWFuO1xuICB3YXJuaW5nPzogYm9vbGVhbjtcbiAgbGFiZWxSQ0dDb2xvclZhbHVlcz86IFJHQkNvbG9yIHwgbnVsbDtcbiAgYWN0aW9uSWNvbnM/OiB7XG4gICAgcmVtb3ZlOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgdmlzaWJsZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGhpZGRlbjogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGVuYWJsZUNvbmZpZzogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIHJlc2V0SXNWYWxpZDogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGR1cGxpY2F0ZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgaXNEcmFnTkRyb3BFbmFibGVkOiB0cnVlLFxuICBzaG93UmVtb3ZlTGF5ZXI6IHRydWVcbn07XG5cbmNvbnN0IGdldEJvcmRlckNzcyA9IHN0YXR1cyA9PlxuICBjc3NgXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1tzdGF0dXNdfTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3N0YXR1c119O1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1tzdGF0dXNdfTtcbiAgYDtcblxuY29uc3QgU3R5bGVkTGF5ZXJQYW5lbEhlYWRlciA9IHN0eWxlZChTdHlsZWRQYW5lbEhlYWRlcilgXG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllclBhbmVsSGVhZGVySGVpZ2h0fXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gIC5sYXllcl9fcmVtb3ZlLWxheWVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLmxheWVyX19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXIge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG5cbiAgJHtwcm9wcyA9PiAocHJvcHMud2FybmluZyA/IGdldEJvcmRlckNzcygnd2FybmluZycpIDogJycpfVxuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuXG4gICAgLmxheWVyX19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5sYXllcl9fcmVtb3ZlLWxheWVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBIZWFkZXJMYWJlbFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAvLyBsZWF2ZSBzcGFjZSBmb3IgZXllIGFuZCBjb2xsYXBzZSBpY29uXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5gO1xuXG50eXBlIEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcyA9IHtcbiAgaXNFZGl0aW5nTGFiZWw6IGJvb2xlYW47XG59O1xuXG5jb25zdCBIZWFkZXJBY3Rpb25TZWN0aW9uID0gc3R5bGVkLmRpdjxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHJpZ2h0OiAxMHB4O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuaXNFZGl0aW5nTGFiZWwgPyAnbm9uZScgOiAnYWxsJyl9O1xuICA6aG92ZXIge1xuICAgIC5sYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIH1cbiAgfVxuYDtcblxudHlwZSBTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnNQcm9wcyA9IHtcbiAgaXNDb25maWdBY3RpdmU6IExheWVyUGFuZWxIZWFkZXJQcm9wc1snaXNDb25maWdBY3RpdmUnXTtcbn07XG5cbi8vIEhpZGVuIGFjdGlvbnMgb25seSBzaG93IHVwIG9uIGhvdmVyXG5jb25zdCBTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc19faGlkZGVuJ1xufSk8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHM+YFxuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuaXNDb25maWdBY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3ZlciA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgZWFzZTtcblxuICA6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgRHJhZ0hhbmRsZSA9IFNvcnRhYmxlSGFuZGxlKCh7Y2xhc3NOYW1lLCBjaGlsZHJlbn0pID0+IChcbiAgPFN0eWxlZERyYWdIYW5kbGUgY2xhc3NOYW1lPXtjbGFzc05hbWV9PntjaGlsZHJlbn08L1N0eWxlZERyYWdIYW5kbGU+XG4pKTtcblxuZXhwb3J0IGNvbnN0IExheWVyTGFiZWxFZGl0b3I6IFJlYWN0LkZDPExheWVyTGFiZWxFZGl0b3JQcm9wcz4gPSAoe1xuICBsYXllcklkLFxuICBsYWJlbCxcbiAgb25FZGl0LFxuICBvbkZvY3VzLFxuICBvbkJsdXJcbn0pID0+IChcbiAgPElubGluZUlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIGNsYXNzTmFtZT1cImxheWVyX190aXRsZV9fZWRpdG9yXCJcbiAgICB2YWx1ZT17bGFiZWx9XG4gICAgb25DbGljaz17KGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfX1cbiAgICBvbkNoYW5nZT17b25FZGl0fVxuICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgaWQ9e2Ake2xheWVySWR9OmlucHV0LWxheWVyLWxhYmVsYH1cbiAgLz5cbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllclRpdGxlU2VjdGlvbkZhY3RvcnkoKSB7XG4gIGNvbnN0IFN0eWxlZExheWVyVGl0bGVTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLmxheWVyX190aXRsZV9faW5uZXIge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC5sYXllcl9fdGl0bGVfX3R5cGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzdweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgYDtcbiAgY29uc3QgTGF5ZXJUaXRsZVNlY3Rpb246IFJlYWN0LkZDPExheWVyVGl0bGVTZWN0aW9uUHJvcHM+ID0gKHtcbiAgICBsYXllclR5cGUsXG4gICAgbGF5ZXJJZCxcbiAgICBsYWJlbCxcbiAgICBvblVwZGF0ZUxheWVyTGFiZWwsXG4gICAgb25Gb2N1cyxcbiAgICBvbkJsdXJcbiAgfSkgPT4gKFxuICAgIDxTdHlsZWRMYXllclRpdGxlU2VjdGlvbiBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxMYXllckxhYmVsRWRpdG9yXG4gICAgICAgICAgbGF5ZXJJZD17bGF5ZXJJZH1cbiAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgb25FZGl0PXtvblVwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVfX3R5cGVcIj5cbiAgICAgICAgICB7bGF5ZXJUeXBlICYmIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtgbGF5ZXIudHlwZS4ke2xheWVyVHlwZS50b0xvd2VyQ2FzZSgpfWB9IC8+fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvU3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24+XG4gICk7XG4gIHJldHVybiBMYXllclRpdGxlU2VjdGlvbjtcbn1cblxuY29uc3QgU3R5bGVkSGVhZGVyV2FyaW5nID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTlweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDlweCk7XG4gIGNvbG9yOiAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnMud2FybmluZ307XG5gO1xuXG5leHBvcnQgY29uc3QgSGVhZGVyV2FybmluZyA9ICh7d2FybmluZywgaWR9KSA9PiAoXG4gIDxTdHlsZWRIZWFkZXJXYXJpbmc+XG4gICAgPFdhcm5pbmdTaWduIGRhdGEtdGlwIGRhdGEtZm9yPXtgbGF5ZXItJHtpZH0td2FybmluZ2B9IGhlaWdodD1cIjE2cHhcIiAvPlxuICAgIDxUb29sdGlwIGlkPXtgbGF5ZXItJHtpZH0td2FybmluZ2B9IHR5cGU9XCJ3YXJuaW5nXCIgZWZmZWN0PVwic29saWRcIiB0ZXh0Q29sb3I9XCJibGFja1wiPlxuICAgICAge3dhcm5pbmd9XG4gICAgPC9Ub29sdGlwPlxuICA8L1N0eWxlZEhlYWRlcldhcmluZz5cbik7XG5MYXllclBhbmVsSGVhZGVyRmFjdG9yeS5kZXBzID0gW0xheWVyVGl0bGVTZWN0aW9uRmFjdG9yeSwgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XTtcblxuY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICByZW1vdmU6IFRyYXNoLFxuICB2aXNpYmxlOiBFeWVTZWVuLFxuICBoaWRkZW46IEV5ZVVuc2VlbixcbiAgZW5hYmxlQ29uZmlnOiBBcnJvd0Rvd24sXG4gIGR1cGxpY2F0ZTogQ29weVxufTtcblxuZnVuY3Rpb24gTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkoXG4gIExheWVyVGl0bGVTZWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllclRpdGxlU2VjdGlvbkZhY3Rvcnk+LFxuICBQYW5lbEhlYWRlckFjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5PlxuKSB7XG4gIGNvbnN0IExheWVyUGFuZWxIZWFkZXI6IFJlYWN0LkZDPExheWVyUGFuZWxIZWFkZXJQcm9wcz4gPSAoe1xuICAgIGlzQ29uZmlnQWN0aXZlLFxuICAgIGFsbG93RHVwbGljYXRlLFxuICAgIGlzRHJhZ05Ecm9wRW5hYmxlZCxcbiAgICBpc1Zpc2libGUsXG4gICAgd2FybmluZyxcbiAgICBsYWJlbCxcbiAgICBsYXllcklkLFxuICAgIGxheWVyVHlwZSxcbiAgICBsYWJlbFJDR0NvbG9yVmFsdWVzLFxuICAgIG9uVG9nZ2xlVmlzaWJpbGl0eSxcbiAgICBvblVwZGF0ZUxheWVyTGFiZWwsXG4gICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgb25EdXBsaWNhdGVMYXllcixcbiAgICBvblJlbW92ZUxheWVyLFxuICAgIHNob3dSZW1vdmVMYXllcixcbiAgICBhY3Rpb25JY29ucyA9IGRlZmF1bHRBY3Rpb25JY29uc1xuICB9KSA9PiB7XG4gICAgY29uc3QgW2lzRWRpdGluZ0xhYmVsLCBzZXRJc0VkaXRpbmdMYWJlbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExheWVyUGFuZWxIZWFkZXJcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdsYXllci1wYW5lbF9faGVhZGVyJywge1xuICAgICAgICAgICdzb3J0LS1oYW5kbGUnOiAhaXNDb25maWdBY3RpdmVcbiAgICAgICAgfSl9XG4gICAgICAgIHdhcm5pbmc9e3dhcm5pbmd9XG4gICAgICAgIGFjdGl2ZT17aXNDb25maWdBY3RpdmV9XG4gICAgICAgIGxhYmVsUkNHQ29sb3JWYWx1ZXM9e2xhYmVsUkNHQ29sb3JWYWx1ZXN9XG4gICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlRW5hYmxlQ29uZmlnfVxuICAgICAgPlxuICAgICAgICB7d2FybmluZyA/IDxIZWFkZXJXYXJuaW5nIHdhcm5pbmc9e3dhcm5pbmd9IGlkPXtsYXllcklkfSAvPiA6IG51bGx9XG4gICAgICAgIDxIZWFkZXJMYWJlbFNlY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItcGFuZWxfX2hlYWRlcl9fY29udGVudFwiPlxuICAgICAgICAgIHtpc0RyYWdORHJvcEVuYWJsZWQgPyAoXG4gICAgICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVcIj5cbiAgICAgICAgICAgICAgPFZlcnREb3RzIGhlaWdodD1cIjIwcHhcIiAvPlxuICAgICAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxheWVyX19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXJcIiAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPExheWVyVGl0bGVTZWN0aW9uXG4gICAgICAgICAgICBsYXllcklkPXtsYXllcklkfVxuICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgb25VcGRhdGVMYXllckxhYmVsPXtvblVwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgICBsYXllclR5cGU9e2xheWVyVHlwZX1cbiAgICAgICAgICAgIG9uRm9jdXM9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0SXNFZGl0aW5nTGFiZWwodHJ1ZSk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25CbHVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHNldElzRWRpdGluZ0xhYmVsKGZhbHNlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9IZWFkZXJMYWJlbFNlY3Rpb24+XG4gICAgICAgIDxIZWFkZXJBY3Rpb25TZWN0aW9uXG4gICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc1wiXG4gICAgICAgICAgaXNFZGl0aW5nTGFiZWw9e2lzRWRpdGluZ0xhYmVsfVxuICAgICAgICA+XG4gICAgICAgICAgPFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyBpc0NvbmZpZ0FjdGl2ZT17aXNDb25maWdBY3RpdmV9PlxuICAgICAgICAgICAge3Nob3dSZW1vdmVMYXllciA/IChcbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX3JlbW92ZS1sYXllclwiXG4gICAgICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAucmVtb3ZlTGF5ZXInfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUmVtb3ZlTGF5ZXJ9XG4gICAgICAgICAgICAgICAgdG9vbHRpcFR5cGU9XCJlcnJvclwiXG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMucmVtb3ZlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX2R1cGxpY2F0ZVwiXG4gICAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC5kdXBsaWNhdGVMYXllcid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlTGF5ZXJ9XG4gICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmR1cGxpY2F0ZX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFhbGxvd0R1cGxpY2F0ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnM+XG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fdmlzaWJpbGl0eS10b2dnbGVcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXtpc1Zpc2libGUgPyAndG9vbHRpcC5oaWRlTGF5ZXInIDogJ3Rvb2x0aXAuc2hvd0xheWVyJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlVmlzaWJpbGl0eX1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2lzVmlzaWJsZSA/IGFjdGlvbkljb25zLnZpc2libGUgOiBhY3Rpb25JY29ucy5oaWRkZW59XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXJfX2VuYWJsZS1jb25maWcgJywge1xuICAgICAgICAgICAgICAnaXMtb3Blbic6IGlzQ29uZmlnQWN0aXZlXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAubGF5ZXJTZXR0aW5ncyd9XG4gICAgICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmVuYWJsZUNvbmZpZ31cbiAgICAgICAgICAvPlxuICAgICAgICA8L0hlYWRlckFjdGlvblNlY3Rpb24+XG4gICAgICA8L1N0eWxlZExheWVyUGFuZWxIZWFkZXI+XG4gICAgKTtcbiAgfTtcblxuICBMYXllclBhbmVsSGVhZGVyLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuICByZXR1cm4gTGF5ZXJQYW5lbEhlYWRlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJQYW5lbEhlYWRlckZhY3Rvcnk7XG4iXX0=
|
|
330
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLWhlYWRlci50c3giXSwibmFtZXMiOlsiZGVmYXVsdFByb3BzIiwiaXNEcmFnTkRyb3BFbmFibGVkIiwic2hvd1JlbW92ZUxheWVyIiwiZ2V0Qm9yZGVyQ3NzIiwic3RhdHVzIiwiY3NzIiwidGhlbWUiLCJub3RpZmljYXRpb25Db2xvcnMiLCJTdHlsZWRMYXllclBhbmVsSGVhZGVyIiwiU3R5bGVkUGFuZWxIZWFkZXIiLCJwcm9wcyIsImxheWVyUGFuZWxIZWFkZXJIZWlnaHQiLCJ3YXJuaW5nIiwiaXNWYWxpZCIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiSGVhZGVyTGFiZWxTZWN0aW9uIiwic3R5bGVkIiwiZGl2IiwidGV4dENvbG9yIiwiSGVhZGVyQWN0aW9uU2VjdGlvbiIsImlzRWRpdGluZ0xhYmVsIiwiU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJpc0NvbmZpZ0FjdGl2ZSIsInBhbmVsQmFja2dyb3VuZCIsIlN0eWxlZERyYWdIYW5kbGUiLCJ0ZXh0Q29sb3JIbCIsIkRyYWdIYW5kbGUiLCJsaXN0ZW5lcnMiLCJjaGlsZHJlbiIsIm5vT3AiLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiTGF5ZXJMYWJlbEVkaXRvciIsImxheWVySWQiLCJsYWJlbCIsIm9uRWRpdCIsIm9uRm9jdXMiLCJvbkJsdXIiLCJkYXRhVGVzdElkcyIsImxheWVyVGl0bGVFZGl0b3IiLCJMYXllclRpdGxlU2VjdGlvbkZhY3RvcnkiLCJTdHlsZWRMYXllclRpdGxlU2VjdGlvbiIsInN1YnRleHRDb2xvciIsIkxheWVyVGl0bGVTZWN0aW9uIiwibGF5ZXJUeXBlIiwib25VcGRhdGVMYXllckxhYmVsIiwidG9Mb3dlckNhc2UiLCJMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkiLCJkZXBzIiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbiIsImFsbG93RHVwbGljYXRlIiwiaXNWaXNpYmxlIiwib25Ub2dnbGVWaXNpYmlsaXR5Iiwib25SZXNldElzVmFsaWQiLCJvblRvZ2dsZUVuYWJsZUNvbmZpZyIsIm9uRHVwbGljYXRlTGF5ZXIiLCJvblJlbW92ZUxheWVyIiwiYWN0aW9uSWNvbnMiLCJkZWZhdWx0QWN0aW9uSWNvbnMiLCJyZW1vdmUiLCJkdXBsaWNhdGUiLCJ2aXNpYmxlIiwiaGlkZGVuIiwicmVzZXRJc1ZhbGlkIiwiZW5hYmxlQ29uZmlnIiwiU3R5bGVkSGVhZGVyV2FyaW5nIiwiSGVhZGVyV2FybmluZyIsImlkIiwiVHJhc2giLCJFeWVTZWVuIiwiRXllVW5zZWVuIiwiQXJyb3dEb3duIiwiQ29weSIsIlJlc2V0IiwiTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkiLCJMYXllclBhbmVsSGVhZGVyIiwibGFiZWxSQ0dDb2xvclZhbHVlcyIsInNldElzRWRpdGluZ0xhYmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQU9BOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQVlBOztBQUNBOzs7O0FBd0RPLElBQU1BLFlBQVksR0FBRztBQUMxQkMsRUFBQUEsa0JBQWtCLEVBQUUsSUFETTtBQUUxQkMsRUFBQUEsZUFBZSxFQUFFO0FBRlMsQ0FBckI7OztBQUtQLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUFDLE1BQU07QUFBQSxhQUN6QkMscUJBRHlCLG9NQUVDO0FBQUEsUUFBRUMsS0FBRixRQUFFQSxLQUFGO0FBQUEsV0FBYUEsS0FBSyxDQUFDQyxrQkFBTixDQUF5QkgsTUFBekIsQ0FBYjtBQUFBLEdBRkQsRUFHSTtBQUFBLFFBQUVFLEtBQUYsU0FBRUEsS0FBRjtBQUFBLFdBQWFBLEtBQUssQ0FBQ0Msa0JBQU4sQ0FBeUJILE1BQXpCLENBQWI7QUFB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QUFEO0FBQWUsTUFBQSxPQUFPLEVBQUVBLE9BQXhCO0FBQWlDLE1BQUEsRUFBRSxFQUFFd0I7QUFBckMsTUFBSCxHQUFzRCxJQVZoRSxlQVdFLGdDQUFDLGtCQUFEO0FBQW9CLE1BQUEsU0FBUyxFQUFDO0FBQTlCLE9BQ0duQyxrQkFBa0IsZ0JBQ2pCLGdDQUFDLFVBQUQ7QUFBWSxNQUFBLFNBQVMsRUFBQyxvQkFBdEI7QUFBMkMsTUFBQSxTQUFTLEVBQUU0QjtBQUF0RCxvQkFDRSxnQ0FBQyxlQUFEO0FBQVUsTUFBQSxNQUFNLEVBQUM7QUFBakIsTUFERixDQURpQixnQkFLakI7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLE1BTkosZUFRRSxnQ0FBQyxpQkFBRDtBQUNFLE1BQUEsT0FBTyxFQUFFTyxPQURYO0FBRUUsTUFBQSxLQUFLLEVBQUVDLEtBRlQ7QUFHRSxNQUFBLGtCQUFrQixFQUFFVyxrQkFIdEI7QUFJRSxNQUFBLFNBQVMsRUFBRUQsU0FKYjtBQUtFLE1BQUEsT0FBTyxFQUFFLG1CQUFNO0FBQ2JtQyxRQUFBQSxpQkFBaUIsQ0FBQyxJQUFELENBQWpCO0FBQ0QsT0FQSDtBQVFFLE1BQUEsTUFBTSxFQUFFLGtCQUFNO0FBQ1pBLFFBQUFBLGlCQUFpQixDQUFDLEtBQUQsQ0FBakI7QUFDRDtBQVZILE1BUkYsQ0FYRixlQWdDRSxnQ0FBQyw2QkFBRCxnQ0FBbUN4RSxLQUFuQztBQUEwQyxNQUFBLGNBQWMsRUFBRVU7QUFBMUQsT0FoQ0YsQ0FERjtBQW9DRCxHQW5ERDs7QUFxREE0RCxFQUFBQSxnQkFBZ0IsQ0FBQ2hGLFlBQWpCLEdBQWdDQSxZQUFoQztBQUVBLFNBQU9nRixnQkFBUDtBQUNEOztlQUVjRCx1QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge1xuICB1c2VTdGF0ZSxcbiAgQ29tcG9uZW50VHlwZSxcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIE1vdXNlRXZlbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlclxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZWQsIHtjc3N9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkgZnJvbSAnLi4vcGFuZWwtaGVhZGVyLWFjdGlvbic7XG5pbXBvcnQge1Rvb2x0aXB9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBDb3B5LFxuICBBcnJvd0Rvd24sXG4gIEV5ZVNlZW4sXG4gIEV5ZVVuc2VlbixcbiAgVHJhc2gsXG4gIFZlcnREb3RzLFxuICBXYXJuaW5nU2lnbixcbiAgUmVzZXRcbn0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcblxuaW1wb3J0IHtJbmxpbmVJbnB1dCwgU3R5bGVkUGFuZWxIZWFkZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7ZGF0YVRlc3RJZHN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7UkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtCYXNlUHJvcHN9IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5cbmV4cG9ydCB0eXBlIExheWVyTGFiZWxFZGl0b3JQcm9wcyA9IHtcbiAgbGF5ZXJJZDogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgb25FZGl0OiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uRm9jdXM6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25CbHVyOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG59O1xuXG5leHBvcnQgdHlwZSBMYXllclRpdGxlU2VjdGlvblByb3BzID0ge1xuICBsYXllclR5cGU/OiBzdHJpbmcgfCBudWxsO1xuICBsYXllcklkOiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBvblVwZGF0ZUxheWVyTGFiZWw6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25Gb2N1czogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkJsdXI6IENoYW5nZUV2ZW50SGFuZGxlcjtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyUGFuZWxIZWFkZXJQcm9wcyA9IHtcbiAgbGF5ZXJJZDogc3RyaW5nO1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIGlzVmFsaWQ6IGJvb2xlYW47XG4gIG9uVG9nZ2xlVmlzaWJpbGl0eTogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uVXBkYXRlTGF5ZXJMYWJlbDogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvblRvZ2dsZUVuYWJsZUNvbmZpZzogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uUmVtb3ZlTGF5ZXI6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvbkR1cGxpY2F0ZUxheWVyOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25SZXNldElzVmFsaWQ6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBpc0NvbmZpZ0FjdGl2ZTogYm9vbGVhbjtcbiAgc2hvd1JlbW92ZUxheWVyPzogYm9vbGVhbjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGxheWVyVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIGFsbG93RHVwbGljYXRlPzogYm9vbGVhbjtcbiAgaXNEcmFnTkRyb3BFbmFibGVkPzogYm9vbGVhbjtcbiAgd2FybmluZz86IGJvb2xlYW47XG4gIGxhYmVsUkNHQ29sb3JWYWx1ZXM/OiBSR0JDb2xvciB8IG51bGw7XG4gIGFjdGlvbkljb25zPzoge1xuICAgIHJlbW92ZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIHZpc2libGU6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBoaWRkZW46IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBlbmFibGVDb25maWc6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICByZXNldElzVmFsaWQ6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBkdXBsaWNhdGU6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgfTtcbiAgbGlzdGVuZXJzPzogUmVhY3QuRWxlbWVudFR5cGU7XG59O1xuXG50eXBlIEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcyA9IHtcbiAgaXNFZGl0aW5nTGFiZWw6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzID0gTGF5ZXJQYW5lbEhlYWRlclByb3BzICYgSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBpc0RyYWdORHJvcEVuYWJsZWQ6IHRydWUsXG4gIHNob3dSZW1vdmVMYXllcjogdHJ1ZVxufTtcblxuY29uc3QgZ2V0Qm9yZGVyQ3NzID0gc3RhdHVzID0+XG4gIGNzc2BcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3N0YXR1c119O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnNbc3RhdHVzXX07XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3N0YXR1c119O1xuICBgO1xuXG5jb25zdCBTdHlsZWRMYXllclBhbmVsSGVhZGVyID0gc3R5bGVkKFN0eWxlZFBhbmVsSGVhZGVyKWBcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyUGFuZWxIZWFkZXJIZWlnaHR9cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgLmxheWVyX19yZW1vdmUtbGF5ZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAubGF5ZXJfX2RyYWctaGFuZGxlX19wbGFjZWhvbGRlciB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cblxuICAke3Byb3BzID0+IChwcm9wcy53YXJuaW5nID8gZ2V0Qm9yZGVyQ3NzKCd3YXJuaW5nJykgOiBwcm9wcy5pc1ZhbGlkID8gJycgOiBnZXRCb3JkZXJDc3MoJ2Vycm9yJykpfVxuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuXG4gICAgLmxheWVyX19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5sYXllcl9fcmVtb3ZlLWxheWVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBIZWFkZXJMYWJlbFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAvLyBsZWF2ZSBzcGFjZSBmb3IgZXllIGFuZCBjb2xsYXBzZSBpY29uXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5gO1xuXG5jb25zdCBIZWFkZXJBY3Rpb25TZWN0aW9uID0gc3R5bGVkLmRpdjxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHJpZ2h0OiAxMHB4O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuaXNFZGl0aW5nTGFiZWwgPyAnbm9uZScgOiAnYWxsJyl9O1xuICA6aG92ZXIge1xuICAgIC5sYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIH1cbiAgfVxuYDtcblxudHlwZSBTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnNQcm9wcyA9IHtcbiAgaXNDb25maWdBY3RpdmU6IExheWVyUGFuZWxIZWFkZXJQcm9wc1snaXNDb25maWdBY3RpdmUnXTtcbn07XG5cbi8vIEhpZGVuIGFjdGlvbnMgb25seSBzaG93IHVwIG9uIGhvdmVyXG5jb25zdCBTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc19faGlkZGVuJ1xufSk8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHM+YFxuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuaXNDb25maWdBY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3ZlciA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgZWFzZTtcblxuICA6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgRHJhZ0hhbmRsZTogUmVhY3QuRkM8e1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGxpc3RlbmVycz86IGFueTtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG59PiA9ICh7Y2xhc3NOYW1lLCBsaXN0ZW5lcnMsIGNoaWxkcmVufSkgPT4gKFxuICA8U3R5bGVkRHJhZ0hhbmRsZSBjbGFzc05hbWU9e2NsYXNzTmFtZX0gey4uLihsaXN0ZW5lcnMgPyBsaXN0ZW5lcnMgOiB7fSl9PlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdHlsZWREcmFnSGFuZGxlPlxuKTtcblxuY29uc3Qgbm9PcCA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBMYXllckxhYmVsRWRpdG9yOiBSZWFjdC5GQzxMYXllckxhYmVsRWRpdG9yUHJvcHM+ID0gKHtcbiAgbGF5ZXJJZCxcbiAgbGFiZWwsXG4gIG9uRWRpdCxcbiAgb25Gb2N1cyxcbiAgb25CbHVyXG59KSA9PiAoXG4gIDxJbmxpbmVJbnB1dFxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVfX2VkaXRvclwiXG4gICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWRzLmxheWVyVGl0bGVFZGl0b3J9XG4gICAgdmFsdWU9e2xhYmVsfVxuICAgIG9uQ2xpY2s9e25vT3B9XG4gICAgb25DaGFuZ2U9e29uRWRpdH1cbiAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgIG9uQmx1cj17b25CbHVyfVxuICAgIGlkPXtgJHtsYXllcklkfTppbnB1dC1sYXllci1sYWJlbGB9XG4gIC8+XG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5KCkge1xuICBjb25zdCBTdHlsZWRMYXllclRpdGxlU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC5sYXllcl9fdGl0bGVfX2lubmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAubGF5ZXJfX3RpdGxlX190eXBlIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjM3cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG4gIGA7XG4gIGNvbnN0IExheWVyVGl0bGVTZWN0aW9uOiBSZWFjdC5GQzxMYXllclRpdGxlU2VjdGlvblByb3BzPiA9ICh7XG4gICAgbGF5ZXJUeXBlLFxuICAgIGxheWVySWQsXG4gICAgbGFiZWwsXG4gICAgb25VcGRhdGVMYXllckxhYmVsLFxuICAgIG9uRm9jdXMsXG4gICAgb25CbHVyXG4gIH0pID0+IChcbiAgICA8U3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXJfX3RpdGxlXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8TGF5ZXJMYWJlbEVkaXRvclxuICAgICAgICAgIGxheWVySWQ9e2xheWVySWR9XG4gICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgIG9uRWRpdD17b25VcGRhdGVMYXllckxhYmVsfVxuICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGF5ZXJfX3RpdGxlX190eXBlXCI+XG4gICAgICAgICAge2xheWVyVHlwZSAmJiA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17YGxheWVyLnR5cGUuJHtsYXllclR5cGUudG9Mb3dlckNhc2UoKX1gfSAvPn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L1N0eWxlZExheWVyVGl0bGVTZWN0aW9uPlxuICApO1xuICByZXR1cm4gTGF5ZXJUaXRsZVNlY3Rpb247XG59XG5cbkxheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeS5kZXBzID0gW1BhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeV07XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkoXG4gIFBhbmVsSGVhZGVyQWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb246IFJlYWN0LkZDPExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHM+ID0gKFxuICAgIHByb3BzOiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzXG4gICkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGlzQ29uZmlnQWN0aXZlLFxuICAgICAgYWxsb3dEdXBsaWNhdGUsXG4gICAgICBpc1Zpc2libGUsXG4gICAgICBpc1ZhbGlkLFxuICAgICAgbGF5ZXJJZCxcbiAgICAgIG9uVG9nZ2xlVmlzaWJpbGl0eSxcbiAgICAgIG9uUmVzZXRJc1ZhbGlkLFxuICAgICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICBvbkR1cGxpY2F0ZUxheWVyLFxuICAgICAgb25SZW1vdmVMYXllcixcbiAgICAgIHNob3dSZW1vdmVMYXllcixcbiAgICAgIGlzRWRpdGluZ0xhYmVsLFxuICAgICAgLy8gVE9ETzogbWF5IG5vdCBjb250YWluIGFsbCBuZWNlc3NhcnkgaWNvbnMgZm9yIGFsbCBhY3Rpb25zLCBlLmcuIGFjdGlvbkljb25zLmR1cGxpY2F0ZS4gTmVlZCB0byB0byBtZXJnZSByYXRoZXIgdGhhbiByZXBsYWNlXG4gICAgICBhY3Rpb25JY29ucyA9IGRlZmF1bHRBY3Rpb25JY29uc1xuICAgIH0gPSBwcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPEhlYWRlckFjdGlvblNlY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc1wiIGlzRWRpdGluZ0xhYmVsPXtpc0VkaXRpbmdMYWJlbH0+XG4gICAgICAgIDxTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMgaXNDb25maWdBY3RpdmU9e2lzQ29uZmlnQWN0aXZlfT5cbiAgICAgICAgICB7c2hvd1JlbW92ZUxheWVyID8gKFxuICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX19yZW1vdmUtbGF5ZXJcIlxuICAgICAgICAgICAgICB0ZXN0SWQ9XCJyZW1vdmUtbGF5ZXItYWN0aW9uXCJcbiAgICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLnJlbW92ZUxheWVyJ31cbiAgICAgICAgICAgICAgb25DbGljaz17b25SZW1vdmVMYXllcn1cbiAgICAgICAgICAgICAgdG9vbHRpcFR5cGU9XCJlcnJvclwiXG4gICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLnJlbW92ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fZHVwbGljYXRlXCJcbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAuZHVwbGljYXRlTGF5ZXInfVxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGVMYXllcn1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmR1cGxpY2F0ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXshYWxsb3dEdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnM+XG4gICAgICAgIHtpc1ZhbGlkID8gKFxuICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX3Zpc2liaWxpdHktdG9nZ2xlXCJcbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17aXNWaXNpYmxlID8gJ3Rvb2x0aXAuaGlkZUxheWVyJyA6ICd0b29sdGlwLnNob3dMYXllcid9XG4gICAgICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZVZpc2liaWxpdHl9XG4gICAgICAgICAgICBJY29uQ29tcG9uZW50PXtpc1Zpc2libGUgPyBhY3Rpb25JY29ucy52aXNpYmxlIDogYWN0aW9uSWNvbnMuaGlkZGVufVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9faXMtdmFsaWQtcmVmcmVzaFwiXG4gICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLnJlc2V0QWZ0ZXJFcnJvcid9XG4gICAgICAgICAgICBvbkNsaWNrPXtvblJlc2V0SXNWYWxpZH1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLnJlc2V0SXNWYWxpZH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuXG4gICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXJfX2VuYWJsZS1jb25maWcgJywge1xuICAgICAgICAgICAgJ2lzLW9wZW4nOiBpc0NvbmZpZ0FjdGl2ZVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLmxheWVyU2V0dGluZ3MnfVxuICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlRW5hYmxlQ29uZmlnfVxuICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmVuYWJsZUNvbmZpZ31cbiAgICAgICAgLz5cbiAgICAgIDwvSGVhZGVyQWN0aW9uU2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjtcbn1cblxuY29uc3QgU3R5bGVkSGVhZGVyV2FyaW5nID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTlweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDlweCk7XG4gIGNvbG9yOiAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnMud2FybmluZ307XG5gO1xuXG5leHBvcnQgY29uc3QgSGVhZGVyV2FybmluZyA9ICh7d2FybmluZywgaWR9KSA9PiAoXG4gIDxTdHlsZWRIZWFkZXJXYXJpbmc+XG4gICAgPFdhcm5pbmdTaWduIGRhdGEtdGlwIGRhdGEtZm9yPXtgbGF5ZXItJHtpZH0td2FybmluZ2B9IGhlaWdodD1cIjE2cHhcIiAvPlxuICAgIDxUb29sdGlwIGlkPXtgbGF5ZXItJHtpZH0td2FybmluZ2B9IHR5cGU9XCJ3YXJuaW5nXCIgZWZmZWN0PVwic29saWRcIiB0ZXh0Q29sb3I9XCJibGFja1wiPlxuICAgICAge3dhcm5pbmd9XG4gICAgPC9Ub29sdGlwPlxuICA8L1N0eWxlZEhlYWRlcldhcmluZz5cbik7XG5cbmNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgcmVtb3ZlOiBUcmFzaCxcbiAgdmlzaWJsZTogRXllU2VlbixcbiAgaGlkZGVuOiBFeWVVbnNlZW4sXG4gIGVuYWJsZUNvbmZpZzogQXJyb3dEb3duLFxuICBkdXBsaWNhdGU6IENvcHksXG4gIHJlc2V0SXNWYWxpZDogUmVzZXRcbn07XG5cbkxheWVyUGFuZWxIZWFkZXJGYWN0b3J5LmRlcHMgPSBbTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5LCBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllclBhbmVsSGVhZGVyRmFjdG9yeShcbiAgTGF5ZXJUaXRsZVNlY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIExheWVyVGl0bGVTZWN0aW9uRmFjdG9yeT4sXG4gIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJQYW5lbEhlYWRlcjogUmVhY3QuRkM8TGF5ZXJQYW5lbEhlYWRlclByb3BzPiA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0NvbmZpZ0FjdGl2ZSxcbiAgICAgIGlzRHJhZ05Ecm9wRW5hYmxlZCxcbiAgICAgIGlzVmFsaWQsXG4gICAgICB3YXJuaW5nLFxuICAgICAgbGFiZWwsXG4gICAgICBsYXllcklkLFxuICAgICAgbGF5ZXJUeXBlLFxuICAgICAgbGFiZWxSQ0dDb2xvclZhbHVlcyxcbiAgICAgIG9uVXBkYXRlTGF5ZXJMYWJlbCxcbiAgICAgIG9uVG9nZ2xlRW5hYmxlQ29uZmlnLFxuICAgICAgbGlzdGVuZXJzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IFtpc0VkaXRpbmdMYWJlbCwgc2V0SXNFZGl0aW5nTGFiZWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGF5ZXJQYW5lbEhlYWRlclxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2xheWVyLXBhbmVsX19oZWFkZXInLCB7XG4gICAgICAgICAgJ3NvcnQtLWhhbmRsZSc6ICFpc0NvbmZpZ0FjdGl2ZVxuICAgICAgICB9KX1cbiAgICAgICAgaXNWYWxpZD17aXNWYWxpZH1cbiAgICAgICAgd2FybmluZz17d2FybmluZ31cbiAgICAgICAgYWN0aXZlPXtpc0NvbmZpZ0FjdGl2ZX1cbiAgICAgICAgbGFiZWxSQ0dDb2xvclZhbHVlcz17bGFiZWxSQ0dDb2xvclZhbHVlc31cbiAgICAgICAgb25DbGljaz17b25Ub2dnbGVFbmFibGVDb25maWd9XG4gICAgICA+XG4gICAgICAgIHt3YXJuaW5nID8gPEhlYWRlcldhcm5pbmcgd2FybmluZz17d2FybmluZ30gaWQ9e2xheWVySWR9IC8+IDogbnVsbH1cbiAgICAgICAgPEhlYWRlckxhYmVsU2VjdGlvbiBjbGFzc05hbWU9XCJsYXllci1wYW5lbF9faGVhZGVyX19jb250ZW50XCI+XG4gICAgICAgICAge2lzRHJhZ05Ecm9wRW5hYmxlZCA/IChcbiAgICAgICAgICAgIDxEcmFnSGFuZGxlIGNsYXNzTmFtZT1cImxheWVyX19kcmFnLWhhbmRsZVwiIGxpc3RlbmVycz17bGlzdGVuZXJzfT5cbiAgICAgICAgICAgICAgPFZlcnREb3RzIGhlaWdodD1cIjIwcHhcIiAvPlxuICAgICAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxheWVyX19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXJcIiAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPExheWVyVGl0bGVTZWN0aW9uXG4gICAgICAgICAgICBsYXllcklkPXtsYXllcklkfVxuICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgb25VcGRhdGVMYXllckxhYmVsPXtvblVwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgICBsYXllclR5cGU9e2xheWVyVHlwZX1cbiAgICAgICAgICAgIG9uRm9jdXM9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0SXNFZGl0aW5nTGFiZWwodHJ1ZSk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25CbHVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHNldElzRWRpdGluZ0xhYmVsKGZhbHNlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9IZWFkZXJMYWJlbFNlY3Rpb24+XG4gICAgICAgIDxMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbiB7Li4ucHJvcHN9IGlzRWRpdGluZ0xhYmVsPXtpc0VkaXRpbmdMYWJlbH0gLz5cbiAgICAgIDwvU3R5bGVkTGF5ZXJQYW5lbEhlYWRlcj5cbiAgICApO1xuICB9O1xuXG4gIExheWVyUGFuZWxIZWFkZXIuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG4gIHJldHVybiBMYXllclBhbmVsSGVhZGVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMYXllclBhbmVsSGVhZGVyRmFjdG9yeTtcbiJdfQ==
|
|
@@ -11,7 +11,6 @@ declare type LayerPanelProps = {
|
|
|
11
11
|
onTouchStart?: TouchEventHandler;
|
|
12
12
|
layer: Layer;
|
|
13
13
|
datasets: Datasets;
|
|
14
|
-
idx: number;
|
|
15
14
|
layerTypeOptions: {
|
|
16
15
|
id: string;
|
|
17
16
|
label: string;
|
|
@@ -19,15 +18,18 @@ declare type LayerPanelProps = {
|
|
|
19
18
|
requireData: any;
|
|
20
19
|
}[];
|
|
21
20
|
isDraggable?: boolean;
|
|
21
|
+
idx: number;
|
|
22
22
|
openModal: ActionHandler<typeof toggleModal>;
|
|
23
23
|
layerColorUIChange: ActionHandler<typeof VisStateActions.layerColorUIChange>;
|
|
24
24
|
layerConfigChange: ActionHandler<typeof VisStateActions.layerConfigChange>;
|
|
25
25
|
layerVisualChannelConfigChange: ActionHandler<typeof VisStateActions.layerVisualChannelConfigChange>;
|
|
26
|
+
layerSetIsValid: ActionHandler<typeof VisStateActions.layerSetIsValid>;
|
|
26
27
|
layerTypeChange: ActionHandler<typeof VisStateActions.layerTypeChange>;
|
|
27
28
|
layerVisConfigChange: ActionHandler<typeof VisStateActions.layerVisConfigChange>;
|
|
28
29
|
layerTextLabelChange: ActionHandler<typeof VisStateActions.layerTextLabelChange>;
|
|
29
30
|
removeLayer: ActionHandler<typeof VisStateActions.removeLayer>;
|
|
30
31
|
duplicateLayer: ActionHandler<typeof VisStateActions.duplicateLayer>;
|
|
32
|
+
listeners?: React.ElementType;
|
|
31
33
|
};
|
|
32
34
|
declare function LayerPanelFactory(LayerConfigurator: ReturnType<typeof LayerConfiguratorFactory>, LayerPanelHeader: ReturnType<typeof LayerPanelHeaderFactory>): React.ComponentType<LayerPanelProps>;
|
|
33
35
|
declare namespace LayerPanelFactory {
|
|
@@ -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
|
|
@@ -53,13 +53,15 @@ var _layerConfigurator = _interopRequireDefault(require("./layer-configurator"))
|
|
|
53
53
|
|
|
54
54
|
var _layerPanelHeader = _interopRequireDefault(require("./layer-panel-header"));
|
|
55
55
|
|
|
56
|
+
var _constants = require("@kepler.gl/constants");
|
|
57
|
+
|
|
56
58
|
var _templateObject;
|
|
57
59
|
|
|
58
60
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
59
61
|
|
|
60
62
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
61
63
|
|
|
62
|
-
var PanelWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 12px;\n border-radius: 1px;\n
|
|
64
|
+
var PanelWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 12px;\n border-radius: 1px;\n z-index: 1000;\n &.dragging {\n cursor: move;\n }\n"])));
|
|
63
65
|
|
|
64
66
|
LayerPanelFactory.deps = [_layerConfigurator["default"], _layerPanelHeader["default"]];
|
|
65
67
|
|
|
@@ -124,8 +126,13 @@ function LayerPanelFactory(LayerConfigurator, LayerPanelHeader) {
|
|
|
124
126
|
isVisible: isVisible
|
|
125
127
|
});
|
|
126
128
|
});
|
|
129
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_resetIsValid", function (e) {
|
|
130
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation(); // Make the layer valid and visible again after an error
|
|
131
|
+
|
|
132
|
+
_this.props.layerSetIsValid(_this.props.layer, true);
|
|
133
|
+
});
|
|
127
134
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_toggleEnableConfig", function (e) {
|
|
128
|
-
e.stopPropagation();
|
|
135
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
129
136
|
var isConfigActive = _this.props.layer.config.isConfigActive;
|
|
130
137
|
|
|
131
138
|
_this.updateLayerConfig({
|
|
@@ -133,14 +140,14 @@ function LayerPanelFactory(LayerConfigurator, LayerPanelHeader) {
|
|
|
133
140
|
});
|
|
134
141
|
});
|
|
135
142
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_removeLayer", function (e) {
|
|
136
|
-
e.stopPropagation();
|
|
143
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
137
144
|
|
|
138
|
-
_this.props.removeLayer(_this.props.
|
|
145
|
+
_this.props.removeLayer(_this.props.layer.id);
|
|
139
146
|
});
|
|
140
147
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_duplicateLayer", function (e) {
|
|
141
|
-
e.stopPropagation();
|
|
148
|
+
e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
142
149
|
|
|
143
|
-
_this.props.duplicateLayer(_this.props.
|
|
150
|
+
_this.props.duplicateLayer(_this.props.layer.id);
|
|
144
151
|
});
|
|
145
152
|
return _this;
|
|
146
153
|
}
|
|
@@ -152,13 +159,16 @@ function LayerPanelFactory(LayerConfigurator, LayerPanelHeader) {
|
|
|
152
159
|
layer = _this$props3.layer,
|
|
153
160
|
datasets = _this$props3.datasets,
|
|
154
161
|
isDraggable = _this$props3.isDraggable,
|
|
155
|
-
layerTypeOptions = _this$props3.layerTypeOptions
|
|
156
|
-
|
|
162
|
+
layerTypeOptions = _this$props3.layerTypeOptions,
|
|
163
|
+
listeners = _this$props3.listeners;
|
|
164
|
+
var config = layer.config,
|
|
165
|
+
isValid = layer.isValid;
|
|
157
166
|
var isConfigActive = config.isConfigActive;
|
|
158
167
|
var allowDuplicate = typeof layer.isValidToSave === 'function' && layer.isValidToSave();
|
|
159
168
|
return /*#__PURE__*/_react["default"].createElement(PanelWrapper, {
|
|
160
169
|
active: isConfigActive,
|
|
161
170
|
className: "layer-panel ".concat(this.props.className),
|
|
171
|
+
"data-testid": _constants.dataTestIds.layerPanel,
|
|
162
172
|
style: this.props.style,
|
|
163
173
|
onMouseDown: this.props.onMouseDown,
|
|
164
174
|
onTouchStart: this.props.onTouchStart
|
|
@@ -166,16 +176,19 @@ function LayerPanelFactory(LayerConfigurator, LayerPanelHeader) {
|
|
|
166
176
|
isConfigActive: isConfigActive,
|
|
167
177
|
layerId: layer.id,
|
|
168
178
|
isVisible: config.isVisible,
|
|
179
|
+
isValid: isValid,
|
|
169
180
|
label: config.label,
|
|
170
181
|
labelRCGColorValues: config.dataId ? datasets[config.dataId].color : null,
|
|
171
182
|
layerType: layer.type,
|
|
172
183
|
allowDuplicate: allowDuplicate,
|
|
173
184
|
onToggleEnableConfig: this._toggleEnableConfig,
|
|
174
185
|
onToggleVisibility: this._toggleVisibility,
|
|
186
|
+
onResetIsValid: this._resetIsValid,
|
|
175
187
|
onUpdateLayerLabel: this._updateLayerLabel,
|
|
176
188
|
onRemoveLayer: this._removeLayer,
|
|
177
189
|
onDuplicateLayer: this._duplicateLayer,
|
|
178
|
-
isDragNDropEnabled: isDraggable
|
|
190
|
+
isDragNDropEnabled: isDraggable,
|
|
191
|
+
listeners: listeners
|
|
179
192
|
}), isConfigActive && /*#__PURE__*/_react["default"].createElement(LayerConfigurator, {
|
|
180
193
|
layer: layer,
|
|
181
194
|
datasets: datasets,
|
|
@@ -198,4 +211,4 @@ function LayerPanelFactory(LayerConfigurator, LayerPanelHeader) {
|
|
|
198
211
|
|
|
199
212
|
var _default = LayerPanelFactory;
|
|
200
213
|
exports["default"] = _default;
|
|
201
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLnRzeCJdLCJuYW1lcyI6WyJQYW5lbFdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJMYXllclBhbmVsRmFjdG9yeSIsImRlcHMiLCJMYXllckNvbmZpZ3VyYXRvckZhY3RvcnkiLCJMYXllclBhbmVsSGVhZGVyRmFjdG9yeSIsIkxheWVyQ29uZmlndXJhdG9yIiwiTGF5ZXJQYW5lbEhlYWRlciIsIkxheWVyUGFuZWwiLCJuZXdQcm9wIiwicHJvcHMiLCJsYXllckNvbmZpZ0NoYW5nZSIsImxheWVyIiwibmV3VHlwZSIsImxheWVyVHlwZUNoYW5nZSIsIm5ld1Zpc0NvbmZpZyIsImxheWVyVmlzQ29uZmlnQ2hhbmdlIiwiYXJncyIsImxheWVyQ29sb3JVSUNoYW5nZSIsImxheWVyVGV4dExhYmVsQ2hhbmdlIiwibmV3Q29uZmlnIiwiY2hhbm5lbCIsImxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZ0NoYW5nZSIsInZhbHVlIiwidGFyZ2V0IiwidXBkYXRlTGF5ZXJDb25maWciLCJsYWJlbCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJpc1Zpc2libGUiLCJjb25maWciLCJpc0NvbmZpZ0FjdGl2ZSIsInJlbW92ZUxheWVyIiwiaWR4IiwiZHVwbGljYXRlTGF5ZXIiLCJkYXRhc2V0cyIsImlzRHJhZ2dhYmxlIiwibGF5ZXJUeXBlT3B0aW9ucyIsImFsbG93RHVwbGljYXRlIiwiaXNWYWxpZFRvU2F2ZSIsImNsYXNzTmFtZSIsInN0eWxlIiwib25Nb3VzZURvd24iLCJvblRvdWNoU3RhcnQiLCJpZCIsImRhdGFJZCIsImNvbG9yIiwidHlwZSIsIl90b2dnbGVFbmFibGVDb25maWciLCJfdG9nZ2xlVmlzaWJpbGl0eSIsIl91cGRhdGVMYXllckxhYmVsIiwiX3JlbW92ZUxheWVyIiwiX2R1cGxpY2F0ZUxheWVyIiwib3Blbk1vZGFsIiwidXBkYXRlTGF5ZXJDb2xvclVJIiwidXBkYXRlTGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnIiwidXBkYXRlTGF5ZXJUeXBlIiwidXBkYXRlTGF5ZXJUZXh0TGFiZWwiLCJ1cGRhdGVMYXllclZpc0NvbmZpZyIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQU9BOztBQUVBOztBQUNBOzs7Ozs7OztBQWtDQSxJQUFNQSxZQUFZLEdBQUdDLDZCQUFPQyxHQUFWLHNOQUFsQjs7QUFXQUMsaUJBQWlCLENBQUNDLElBQWxCLEdBQXlCLENBQUNDLDZCQUFELEVBQTJCQyw0QkFBM0IsQ0FBekI7O0FBRUEsU0FBU0gsaUJBQVQsQ0FDRUksaUJBREYsRUFFRUMsZ0JBRkYsRUFHd0M7QUFBQSxNQUNoQ0MsVUFEZ0M7QUFBQTs7QUFBQTs7QUFBQTtBQUFBOztBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLDRHQUVoQixVQUFDQyxPQUFELEVBQXVDO0FBQ3pELGNBQUtDLEtBQUwsQ0FBV0MsaUJBQVgsQ0FBNkIsTUFBS0QsS0FBTCxDQUFXRSxLQUF4QyxFQUErQ0gsT0FBL0M7QUFDRCxPQUptQztBQUFBLDBHQU1sQixVQUFDSSxPQUFELEVBQXFCO0FBQ3JDLGNBQUtILEtBQUwsQ0FBV0ksZUFBWCxDQUEyQixNQUFLSixLQUFMLENBQVdFLEtBQXRDLEVBQTZDQyxPQUE3QztBQUNELE9BUm1DO0FBQUEsK0dBVWIsVUFBQ0UsWUFBRCxFQUEyQztBQUNoRSxjQUFLTCxLQUFMLENBQVdNLG9CQUFYLENBQWdDLE1BQUtOLEtBQUwsQ0FBV0UsS0FBM0MsRUFBa0RHLFlBQWxEO0FBQ0QsT0FabUM7QUFBQSw2R0FjZixZQUErQztBQUFBOztBQUFBLDJDQUEzQ0UsSUFBMkM7QUFBM0NBLFVBQUFBLElBQTJDO0FBQUE7O0FBQ2xFLDZCQUFLUCxLQUFMLEVBQVdRLGtCQUFYLHFCQUE4QixNQUFLUixLQUFMLENBQVdFLEtBQXpDLFNBQW1ESyxJQUFuRDtBQUNELE9BaEJtQztBQUFBLCtHQWtCYixZQUE0QztBQUFB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aG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7XG4gIENvbXBvbmVudCxcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFRvdWNoRXZlbnRIYW5kbGVyLFxuICBDU1NQcm9wZXJ0aWVzLFxuICBDaGFuZ2VFdmVudEhhbmRsZXJcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCBMYXllckNvbmZpZ3VyYXRvckZhY3RvcnkgZnJvbSAnLi9sYXllci1jb25maWd1cmF0b3InO1xuaW1wb3J0IExheWVyUGFuZWxIZWFkZXJGYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwtaGVhZGVyJztcbmltcG9ydCB7TmVzdGVkUGFydGlhbCwgTGF5ZXJWaXNDb25maWcsIENvbG9yVUl9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtMYXllciwgTGF5ZXJCYXNlQ29uZmlnfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge3RvZ2dsZU1vZGFsLCBWaXNTdGF0ZUFjdGlvbnMsIEFjdGlvbkhhbmRsZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge0RhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcblxudHlwZSBMYXllclBhbmVsUHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xuICBvbk1vdXNlRG93bj86IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblRvdWNoU3RhcnQ/OiBUb3VjaEV2ZW50SGFuZGxlcjtcbiAgbGF5ZXI6IExheWVyO1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIGlkeDogbnVtYmVyO1xuICBsYXllclR5cGVPcHRpb25zOiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb246IGFueTsgLy9cbiAgICByZXF1aXJlRGF0YTogYW55OyAvL1xuICB9W107XG4gIGlzRHJhZ2dhYmxlPzogYm9vbGVhbjtcbiAgb3Blbk1vZGFsOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiB0b2dnbGVNb2RhbD47XG4gIGxheWVyQ29sb3JVSUNoYW5nZTogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLmxheWVyQ29sb3JVSUNoYW5nZT47XG4gIGxheWVyQ29uZmlnQ2hhbmdlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMubGF5ZXJDb25maWdDaGFuZ2U+O1xuICBsYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2U6IEFjdGlvbkhhbmRsZXI8XG4gICAgdHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5sYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2VcbiAgPjtcbiAgbGF5ZXJUeXBlQ2hhbmdlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMubGF5ZXJUeXBlQ2hhbmdlPjtcbiAgbGF5ZXJWaXNDb25maWdDaGFuZ2U6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5sYXllclZpc0NvbmZpZ0NoYW5nZT47XG4gIGxheWVyVGV4dExhYmVsQ2hhbmdlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMubGF5ZXJUZXh0TGFiZWxDaGFuZ2U+O1xuICByZW1vdmVMYXllcjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnJlbW92ZUxheWVyPjtcbiAgZHVwbGljYXRlTGF5ZXI6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5kdXBsaWNhdGVMYXllcj47XG59O1xuXG5jb25zdCBQYW5lbFdyYXBwZXIgPSBzdHlsZWQuZGl2PHthY3RpdmU6IGJvb2xlYW59PmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgei1pbmRleDogMTAwMDtcblxuICAmLmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cbmA7XG5cbkxheWVyUGFuZWxGYWN0b3J5LmRlcHMgPSBbTGF5ZXJDb25maWd1cmF0b3JGYWN0b3J5LCBMYXllclBhbmVsSGVhZGVyRmFjdG9yeV07XG5cbmZ1bmN0aW9uIExheWVyUGFuZWxGYWN0b3J5KFxuICBMYXllckNvbmZpZ3VyYXRvcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJDb25maWd1cmF0b3JGYWN0b3J5PixcbiAgTGF5ZXJQYW5lbEhlYWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJQYW5lbEhlYWRlckZhY3Rvcnk+XG4pOiBSZWFjdC5Db21wb25lbnRUeXBlPExheWVyUGFuZWxQcm9wcz4ge1xuICBjbGFzcyBMYXllclBhbmVsIGV4dGVuZHMgQ29tcG9uZW50PExheWVyUGFuZWxQcm9wcz4ge1xuICAgIHVwZGF0ZUxheWVyQ29uZmlnID0gKG5ld1Byb3A6IFBhcnRpYWw8TGF5ZXJCYXNlQ29uZmlnPikgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sYXllckNvbmZpZ0NoYW5nZSh0aGlzLnByb3BzLmxheWVyLCBuZXdQcm9wKTtcbiAgICB9O1xuXG4gICAgdXBkYXRlTGF5ZXJUeXBlID0gKG5ld1R5cGU6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sYXllclR5cGVDaGFuZ2UodGhpcy5wcm9wcy5sYXllciwgbmV3VHlwZSk7XG4gICAgfTtcblxuICAgIHVwZGF0ZUxheWVyVmlzQ29uZmlnID0gKG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHtcbiAgICAgIHRoaXMucHJvcHMubGF5ZXJWaXNDb25maWdDaGFuZ2UodGhpcy5wcm9wcy5sYXllciwgbmV3VmlzQ29uZmlnKTtcbiAgICB9O1xuXG4gICAgdXBkYXRlTGF5ZXJDb2xvclVJID0gKC4uLmFyZ3M6IFtzdHJpbmcsIE5lc3RlZFBhcnRpYWw8Q29sb3JVST5dKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxheWVyQ29sb3JVSUNoYW5nZSh0aGlzLnByb3BzLmxheWVyLCAuLi5hcmdzKTtcbiAgICB9O1xuXG4gICAgdXBkYXRlTGF5ZXJUZXh0TGFiZWwgPSAoLi4uYXJnczogW251bWJlciB8ICdhbGwnLCBzdHJpbmcsIGFueV0pID0+IHtcbiAgICAgIHRoaXMucHJvcHMubGF5ZXJUZXh0TGFiZWxDaGFuZ2UodGhpcy5wcm9wcy5sYXllciwgLi4uYXJncyk7XG4gICAgfTtcblxuICAgIHVwZGF0ZUxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZyA9IChuZXdDb25maWc6IFBhcnRpYWw8TGF5ZXJCYXNlQ29uZmlnPiwgY2hhbm5lbDogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZ0NoYW5nZSh0aGlzLnByb3BzLmxheWVyLCBuZXdDb25maWcsIGNoYW5uZWwpO1xuICAgIH07XG5cbiAgICBfdXBkYXRlTGF5ZXJMYWJlbDogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gKHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZUxheWVyQ29uZmlnKHtsYWJlbDogdmFsdWV9KTtcbiAgICB9O1xuXG4gICAgX3RvZ2dsZVZpc2liaWxpdHk6IE1vdXNlRXZlbnRIYW5kbGVyID0gZSA9PiB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgY29uc3QgaXNWaXNpYmxlID0gIXRoaXMucHJvcHMubGF5ZXIuY29uZmlnLmlzVmlzaWJsZTtcbiAgICAgIHRoaXMudXBkYXRlTGF5ZXJDb25maWcoe2lzVmlzaWJsZX0pO1xuICAgIH07XG5cbiAgICBfdG9nZ2xlRW5hYmxlQ29uZmlnOiBNb3VzZUV2ZW50SGFuZGxlciA9IGUgPT4ge1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgbGF5ZXI6IHtcbiAgICAgICAgICBjb25maWc6IHtpc0NvbmZpZ0FjdGl2ZX1cbiAgICAgICAgfVxuICAgICAgfSA9IHRoaXMucHJvcHM7XG4gICAgICB0aGlzLnVwZGF0ZUxheWVyQ29uZmlnKHtpc0NvbmZpZ0FjdGl2ZTogIWlzQ29uZmlnQWN0aXZlfSk7XG4gICAgfTtcblxuICAgIF9yZW1vdmVMYXllcjogTW91c2VFdmVudEhhbmRsZXIgPSBlID0+IHtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnByb3BzLnJlbW92ZUxheWVyKHRoaXMucHJvcHMuaWR4KTtcbiAgICB9O1xuXG4gICAgX2R1cGxpY2F0ZUxheWVyOiBNb3VzZUV2ZW50SGFuZGxlciA9IGUgPT4ge1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMucHJvcHMuZHVwbGljYXRlTGF5ZXIodGhpcy5wcm9wcy5pZHgpO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7bGF5ZXIsIGRhdGFzZXRzLCBpc0RyYWdnYWJsZSwgbGF5ZXJUeXBlT3B0aW9uc30gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qge2NvbmZpZ30gPSBsYXllcjtcbiAgICAgIGNvbnN0IHtpc0NvbmZpZ0FjdGl2ZX0gPSBjb25maWc7XG4gICAgICBjb25zdCBhbGxvd0R1cGxpY2F0ZSA9IHR5cGVvZiBsYXllci5pc1ZhbGlkVG9TYXZlID09PSAnZnVuY3Rpb24nICYmIGxheWVyLmlzVmFsaWRUb1NhdmUoKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFBhbmVsV3JhcHBlclxuICAgICAgICAgIGFjdGl2ZT17aXNDb25maWdBY3RpdmV9XG4gICAgICAgICAgY2xhc3NOYW1lPXtgbGF5ZXItcGFuZWwgJHt0aGlzLnByb3BzLmNsYXNzTmFtZX1gfVxuICAgICAgICAgIHN0eWxlPXt0aGlzLnByb3BzLnN0eWxlfVxuICAgICAgICAgIG9uTW91c2VEb3duPXt0aGlzLnByb3BzLm9uTW91c2VEb3dufVxuICAgICAgICAgIG9uVG91Y2hTdGFydD17dGhpcy5wcm9wcy5vblRvdWNoU3RhcnR9XG4gICAgICAgID5cbiAgICAgICAgICA8TGF5ZXJQYW5lbEhlYWRlclxuICAgICAgICAgICAgaXNDb25maWdBY3RpdmU9e2lzQ29uZmlnQWN0aXZlfVxuICAgICAgICAgICAgbGF5ZXJJZD17bGF5ZXIuaWR9XG4gICAgICAgICAgICBpc1Zpc2libGU9e2NvbmZpZy5pc1Zpc2libGV9XG4gICAgICAgICAgICBsYWJlbD17Y29uZmlnLmxhYmVsfVxuICAgICAgICAgICAgbGFiZWxSQ0dDb2xvclZhbHVlcz17Y29uZmlnLmRhdGFJZCA/IGRhdGFzZXRzW2NvbmZpZy5kYXRhSWRdLmNvbG9yIDogbnVsbH1cbiAgICAgICAgICAgIGxheWVyVHlwZT17bGF5ZXIudHlwZX1cbiAgICAgICAgICAgIGFsbG93RHVwbGljYXRlPXthbGxvd0R1cGxpY2F0ZX1cbiAgICAgICAgICAgIG9uVG9nZ2xlRW5hYmxlQ29uZmlnPXt0aGlzLl90b2dnbGVFbmFibGVDb25maWd9XG4gICAgICAgICAgICBvblRvZ2dsZVZpc2liaWxpdHk9e3RoaXMuX3RvZ2dsZVZpc2liaWxpdHl9XG4gICAgICAgICAgICBvblVwZGF0ZUxheWVyTGFiZWw9e3RoaXMuX3VwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgICBvblJlbW92ZUxheWVyPXt0aGlzLl9yZW1vdmVMYXllcn1cbiAgICAgICAgICAgIG9uRHVwbGljYXRlTGF5ZXI9e3RoaXMuX2R1cGxpY2F0ZUxheWVyfVxuICAgICAgICAgICAgaXNEcmFnTkRyb3BFbmFibGVkPXtpc0RyYWdnYWJsZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtpc0NvbmZpZ0FjdGl2ZSAmJiAoXG4gICAgICAgICAgICA8TGF5ZXJDb25maWd1cmF0b3JcbiAgICAgICAgICAgICAgbGF5ZXI9e2xheWVyfVxuICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgIGxheWVyVHlwZU9wdGlvbnM9e2xheWVyVHlwZU9wdGlvbnN9XG4gICAgICAgICAgICAgIG9wZW5Nb2RhbD17dGhpcy5wcm9wcy5vcGVuTW9kYWx9XG4gICAgICAgICAgICAgIHVwZGF0ZUxheWVyQ29sb3JVST17dGhpcy51cGRhdGVMYXllckNvbG9yVUl9XG4gICAgICAgICAgICAgIHVwZGF0ZUxheWVyQ29uZmlnPXt0aGlzLnVwZGF0ZUxheWVyQ29uZmlnfVxuICAgICAgICAgICAgICB1cGRhdGVMYXllclZpc3VhbENoYW5uZWxDb25maWc9e3RoaXMudXBkYXRlTGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnfVxuICAgICAgICAgICAgICB1cGRhdGVMYXllclR5cGU9e3RoaXMudXBkYXRlTGF5ZXJUeXBlfVxuICAgICAgICAgICAgICB1cGRhdGVMYXllclRleHRMYWJlbD17dGhpcy51cGRhdGVMYXllclRleHRMYWJlbH1cbiAgICAgICAgICAgICAgdXBkYXRlTGF5ZXJWaXNDb25maWc9e3RoaXMudXBkYXRlTGF5ZXJWaXNDb25maWd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvUGFuZWxXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gTGF5ZXJQYW5lbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJQYW5lbEZhY3Rvcnk7XG4iXX0=
|
|
214
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLnRzeCJdLCJuYW1lcyI6WyJQYW5lbFdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJMYXllclBhbmVsRmFjdG9yeSIsImRlcHMiLCJMYXllckNvbmZpZ3VyYXRvckZhY3RvcnkiLCJMYXllclBhbmVsSGVhZGVyRmFjdG9yeSIsIkxheWVyQ29uZmlndXJhdG9yIiwiTGF5ZXJQYW5lbEhlYWRlciIsIkxheWVyUGFuZWwiLCJuZXdQcm9wIiwicHJvcHMiLCJsYXllckNvbmZpZ0NoYW5nZSIsImxheWVyIiwibmV3VHlwZSIsImxheWVyVHlwZUNoYW5nZSIsIm5ld1Zpc0NvbmZpZyIsImxheWVyVmlzQ29uZmlnQ2hhbmdlIiwiYXJncyIsImxheWVyQ29sb3JVSUNoYW5nZSIsImxheWVyVGV4dExhYmVsQ2hhbmdlIiwibmV3Q29uZmlnIiwiY2hhbm5lbCIsImxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZ0NoYW5nZSIsInZhbHVlIiwidGFyZ2V0IiwidXBkYXRlTGF5ZXJDb25maWciLCJsYWJlbCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJpc1Zpc2libGUiLCJjb25maWciLCJsYXllclNldElzVmFsaWQiLCJpc0NvbmZpZ0FjdGl2ZSIsInJlbW92ZUxheWVyIiwiaWQiLCJkdXBsaWNhdGVMYXllciIsImRhdGFzZXRzIiwiaXNEcmFnZ2FibGUiLCJsYXllclR5cGVPcHRpb25zIiwibGlzdGVuZXJzIiwiaXNWYWxpZCIsImFsbG93RHVwbGljYXRlIiwiaXNWYWxpZFRvU2F2ZSIsImNsYXNzTmFtZSIsImRhdGFUZXN0SWRzIiwibGF5ZXJQYW5lbCIsInN0eWxlIiwib25Nb3VzZURvd24iLCJvblRvdWNoU3RhcnQiLCJkYXRhSWQiLCJjb2xvciIsInR5cGUiLCJfdG9nZ2xlRW5hYmxlQ29uZmlnIiwiX3RvZ2dsZVZpc2liaWxpdHkiLCJfcmVzZXRJc1ZhbGlkIiwiX3VwZGF0ZUxheWVyTGFiZWwiLCJfcmVtb3ZlTGF5ZXIiLCJfZHVwbGljYXRlTGF5ZXIiLCJvcGVuTW9kYWwiLCJ1cGRhdGVMYXllckNvbG9yVUkiLCJ1cGRhdGVMYXllclZpc3VhbENoYW5uZWxDb25maWciLCJ1cGRhdGVMYXllclR5cGUiLCJ1cGRhdGVMYXllclRleHRMYWJlbCIsInVwZGF0ZUxheWVyVmlzQ29uZmlnIiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBT0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBb0NBLElBQU1BLFlBQVksR0FBR0MsNkJBQU9DLEdBQVYsNkxBQWxCOztBQVNBQyxpQkFBaUIsQ0FBQ0MsSUFBbEIsR0FBeUIsQ0FBQ0MsNkJBQUQsRUFBMkJDLDRCQUEzQixDQUF6Qjs7QUFFQSxTQUFTSCxpQkFBVCxDQUNFSSxpQkFERixFQUVFQyxnQkFGRixFQUd3QztBQUFBLE1BQ2hDQyxVQURnQztBQUFBOztBQUFBOztBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEsNEdBRWhCLFVBQUNDLE9BQUQsRUFBdUM7QUFDekQsY0FBS0MsS0FBTCxDQUFXQyxpQkFBWCxDQUE2QixNQUFLRCxLQUFMLENBQVdFLEtBQXhDLEVBQStDSCxPQUEvQztBQUNELE9BSm1DO0FBQUEsMEdBTWxCLFVBQUNJLE9BQUQsRUFBcUI7QUFDckMsY0FBS0gsS0FBTCxDQUFXSSxlQUFYLENBQTJCLE1BQUtKLEtBQUwsQ0FBV0UsS0FBdEMsRUFBNkNDLE9BQTdDO0FBQ0QsT0FSbUM7QUFBQSwrR0FVYixVQUFDRSxZQUFELEVBQTJDO0FBQ2hFLGNBQUtMLEtBQUwsQ0FBV00sb0JBQVgsQ0FBZ0MsTUFBS04sS0FBTCxDQUFXRSxLQUEzQyxFQUFrREcsWUFBbEQ7QUFDRCxPQVptQztBQUFBLDZHQWNmLFlBQStDO0FBQUE7O0FBQUEsMkNBQTNDRSxJQUEyQztBQUEzQ0EsVUFBQUEsSUFBMkM7QUFBQTs7QUFDbEUsNkJBQUtQLEtBQUwsRUFBV1Es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RUFBRSxLQUFLQyxlQWR6QjtBQWVFLFVBQUEsa0JBQWtCLEVBQUVwQixXQWZ0QjtBQWdCRSxVQUFBLFNBQVMsRUFBRUU7QUFoQmIsVUFSRixFQTBCR1AsY0FBYyxpQkFDYixnQ0FBQyxpQkFBRDtBQUNFLFVBQUEsS0FBSyxFQUFFcEIsS0FEVDtBQUVFLFVBQUEsUUFBUSxFQUFFd0IsUUFGWjtBQUdFLFVBQUEsZ0JBQWdCLEVBQUVFLGdCQUhwQjtBQUlFLFVBQUEsU0FBUyxFQUFFLEtBQUs1QixLQUFMLENBQVdnRCxTQUp4QjtBQUtFLFVBQUEsa0JBQWtCLEVBQUUsS0FBS0Msa0JBTDNCO0FBTUUsVUFBQSxpQkFBaUIsRUFBRSxLQUFLbEMsaUJBTjFCO0FBT0UsVUFBQSw4QkFBOEIsRUFBRSxLQUFLbUMsOEJBUHZDO0FBUUUsVUFBQSxlQUFlLEVBQUUsS0FBS0MsZUFSeEI7QUFTRSxVQUFBLG9CQUFvQixFQUFFLEtBQUtDLG9CQVQ3QjtBQVVFLFVBQUEsb0JBQW9CLEVBQUUsS0FBS0M7QUFWN0IsVUEzQkosQ0FERjtBQTJDRDtBQS9HbUM7QUFBQTtBQUFBLElBQ2JDLGdCQURhOztBQWtIdEMsU0FBT3hELFVBQVA7QUFDRDs7ZUFFY04saUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtcbiAgQ29tcG9uZW50LFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgVG91Y2hFdmVudEhhbmRsZXIsXG4gIENTU1Byb3BlcnRpZXMsXG4gIENoYW5nZUV2ZW50SGFuZGxlclxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IExheWVyQ29uZmlndXJhdG9yRmFjdG9yeSBmcm9tICcuL2xheWVyLWNvbmZpZ3VyYXRvcic7XG5pbXBvcnQgTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbC1oZWFkZXInO1xuaW1wb3J0IHtkYXRhVGVzdElkc30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtOZXN0ZWRQYXJ0aWFsLCBMYXllclZpc0NvbmZpZywgQ29sb3JVSX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0xheWVyLCBMYXllckJhc2VDb25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7dG9nZ2xlTW9kYWwsIFZpc1N0YXRlQWN0aW9ucywgQWN0aW9uSGFuZGxlcn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuXG50eXBlIExheWVyUGFuZWxQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBzdHlsZT86IENTU1Byb3BlcnRpZXM7XG4gIG9uTW91c2VEb3duPzogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uVG91Y2hTdGFydD86IFRvdWNoRXZlbnRIYW5kbGVyO1xuICBsYXllcjogTGF5ZXI7XG4gIGRhdGFzZXRzOiBEYXRhc2V0cztcbiAgbGF5ZXJUeXBlT3B0aW9uczoge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBpY29uOiBhbnk7IC8vXG4gICAgcmVxdWlyZURhdGE6IGFueTsgLy9cbiAgfVtdO1xuICBpc0RyYWdnYWJsZT86IGJvb2xlYW47XG4gIGlkeDogbnVtYmVyO1xuICBvcGVuTW9kYWw6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHRvZ2dsZU1vZGFsPjtcbiAgbGF5ZXJDb2xvclVJQ2hhbmdlOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMubGF5ZXJDb2xvclVJQ2hhbmdlPjtcbiAgbGF5ZXJDb25maWdDaGFuZ2U6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5sYXllckNvbmZpZ0NoYW5nZT47XG4gIGxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZ0NoYW5nZTogQWN0aW9uSGFuZGxlcjxcbiAgICB0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLmxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZ0NoYW5nZVxuICA+O1xuICBsYXllclNldElzVmFsaWQ6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5sYXllclNldElzVmFsaWQ+O1xuICBsYXllclR5cGVDaGFuZ2U6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5sYXllclR5cGVDaGFuZ2U+O1xuICBsYXllclZpc0NvbmZpZ0NoYW5nZTogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLmxheWVyVmlzQ29uZmlnQ2hhbmdlPjtcbiAgbGF5ZXJUZXh0TGFiZWxDaGFuZ2U6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5sYXllclRleHRMYWJlbENoYW5nZT47XG4gIHJlbW92ZUxheWVyOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMucmVtb3ZlTGF5ZXI+O1xuICBkdXBsaWNhdGVMYXllcjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLmR1cGxpY2F0ZUxheWVyPjtcbiAgbGlzdGVuZXJzPzogUmVhY3QuRWxlbWVudFR5cGU7XG59O1xuXG5jb25zdCBQYW5lbFdyYXBwZXIgPSBzdHlsZWQuZGl2PHthY3RpdmU6IGJvb2xlYW59PmBcbiAgZm9udC1zaXplOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIHotaW5kZXg6IDEwMDA7XG4gICYuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxuYDtcblxuTGF5ZXJQYW5lbEZhY3RvcnkuZGVwcyA9IFtMYXllckNvbmZpZ3VyYXRvckZhY3RvcnksIExheWVyUGFuZWxIZWFkZXJGYWN0b3J5XTtcblxuZnVuY3Rpb24gTGF5ZXJQYW5lbEZhY3RvcnkoXG4gIExheWVyQ29uZmlndXJhdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckNvbmZpZ3VyYXRvckZhY3Rvcnk+LFxuICBMYXllclBhbmVsSGVhZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllclBhbmVsSGVhZGVyRmFjdG9yeT5cbik6IFJlYWN0LkNvbXBvbmVudFR5cGU8TGF5ZXJQYW5lbFByb3BzPiB7XG4gIGNsYXNzIExheWVyUGFuZWwgZXh0ZW5kcyBDb21wb25lbnQ8TGF5ZXJQYW5lbFByb3BzPiB7XG4gICAgdXBkYXRlTGF5ZXJDb25maWcgPSAobmV3UHJvcDogUGFydGlhbDxMYXllckJhc2VDb25maWc+KSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxheWVyQ29uZmlnQ2hhbmdlKHRoaXMucHJvcHMubGF5ZXIsIG5ld1Byb3ApO1xuICAgIH07XG5cbiAgICB1cGRhdGVMYXllclR5cGUgPSAobmV3VHlwZTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLmxheWVyVHlwZUNoYW5nZSh0aGlzLnByb3BzLmxheWVyLCBuZXdUeXBlKTtcbiAgICB9O1xuXG4gICAgdXBkYXRlTGF5ZXJWaXNDb25maWcgPSAobmV3VmlzQ29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sYXllclZpc0NvbmZpZ0NoYW5nZSh0aGlzLnByb3BzLmxheWVyLCBuZXdWaXNDb25maWcpO1xuICAgIH07XG5cbiAgICB1cGRhdGVMYXllckNvbG9yVUkgPSAoLi4uYXJnczogW3N0cmluZywgTmVzdGVkUGFydGlhbDxDb2xvclVJPl0pID0+IHtcbiAgICAgIHRoaXMucHJvcHMubGF5ZXJDb2xvclVJQ2hhbmdlKHRoaXMucHJvcHMubGF5ZXIsIC4uLmFyZ3MpO1xuICAgIH07XG5cbiAgICB1cGRhdGVMYXllclRleHRMYWJlbCA9ICguLi5hcmdzOiBbbnVtYmVyIHwgJ2FsbCcsIHN0cmluZywgYW55XSkgPT4ge1xuICAgICAgdGhpcy5wcm9wcy5sYXllclRleHRMYWJlbENoYW5nZSh0aGlzLnByb3BzLmxheWVyLCAuLi5hcmdzKTtcbiAgICB9O1xuXG4gICAgdXBkYXRlTGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnID0gKG5ld0NvbmZpZzogUGFydGlhbDxMYXllckJhc2VDb25maWc+LCBjaGFubmVsOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMucHJvcHMubGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlKHRoaXMucHJvcHMubGF5ZXIsIG5ld0NvbmZpZywgY2hhbm5lbCk7XG4gICAgfTtcblxuICAgIF91cGRhdGVMYXllckxhYmVsOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSAoe3RhcmdldDoge3ZhbHVlfX0pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlTGF5ZXJDb25maWcoe2xhYmVsOiB2YWx1ZX0pO1xuICAgIH07XG5cbiAgICBfdG9nZ2xlVmlzaWJpbGl0eTogTW91c2VFdmVudEhhbmRsZXIgPSBlID0+IHtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBjb25zdCBpc1Zpc2libGUgPSAhdGhpcy5wcm9wcy5sYXllci5jb25maWcuaXNWaXNpYmxlO1xuICAgICAgdGhpcy51cGRhdGVMYXllckNvbmZpZyh7aXNWaXNpYmxlfSk7XG4gICAgfTtcblxuICAgIF9yZXNldElzVmFsaWQ6IE1vdXNlRXZlbnRIYW5kbGVyID0gZSA9PiB7XG4gICAgICBlPy5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIC8vIE1ha2UgdGhlIGxheWVyIHZhbGlkIGFuZCB2aXNpYmxlIGFnYWluIGFmdGVyIGFuIGVycm9yXG4gICAgICB0aGlzLnByb3BzLmxheWVyU2V0SXNWYWxpZCh0aGlzLnByb3BzLmxheWVyLCB0cnVlKTtcbiAgICB9O1xuXG4gICAgX3RvZ2dsZUVuYWJsZUNvbmZpZzogTW91c2VFdmVudEhhbmRsZXIgPSBlID0+IHtcbiAgICAgIGU/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgY29uc3Qge1xuICAgICAgICBsYXllcjoge1xuICAgICAgICAgIGNvbmZpZzoge2lzQ29uZmlnQWN0aXZlfVxuICAgICAgICB9XG4gICAgICB9ID0gdGhpcy5wcm9wcztcbiAgICAgIHRoaXMudXBkYXRlTGF5ZXJDb25maWcoe2lzQ29uZmlnQWN0aXZlOiAhaXNDb25maWdBY3RpdmV9KTtcbiAgICB9O1xuXG4gICAgX3JlbW92ZUxheWVyOiBNb3VzZUV2ZW50SGFuZGxlciA9IGUgPT4ge1xuICAgICAgZT8uc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLnByb3BzLnJlbW92ZUxheWVyKHRoaXMucHJvcHMubGF5ZXIuaWQpO1xuICAgIH07XG5cbiAgICBfZHVwbGljYXRlTGF5ZXI6IE1vdXNlRXZlbnRIYW5kbGVyID0gZSA9PiB7XG4gICAgICBlPy5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMucHJvcHMuZHVwbGljYXRlTGF5ZXIodGhpcy5wcm9wcy5sYXllci5pZCk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtsYXllciwgZGF0YXNldHMsIGlzRHJhZ2dhYmxlLCBsYXllclR5cGVPcHRpb25zLCBsaXN0ZW5lcnN9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHtjb25maWcsIGlzVmFsaWR9ID0gbGF5ZXI7XG4gICAgICBjb25zdCB7aXNDb25maWdBY3RpdmV9ID0gY29uZmlnO1xuICAgICAgY29uc3QgYWxsb3dEdXBsaWNhdGUgPSB0eXBlb2YgbGF5ZXIuaXNWYWxpZFRvU2F2ZSA9PT0gJ2Z1bmN0aW9uJyAmJiBsYXllci5pc1ZhbGlkVG9TYXZlKCk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxQYW5lbFdyYXBwZXJcbiAgICAgICAgICBhY3RpdmU9e2lzQ29uZmlnQWN0aXZlfVxuICAgICAgICAgIGNsYXNzTmFtZT17YGxheWVyLXBhbmVsICR7dGhpcy5wcm9wcy5jbGFzc05hbWV9YH1cbiAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMubGF5ZXJQYW5lbH1cbiAgICAgICAgICBzdHlsZT17dGhpcy5wcm9wcy5zdHlsZX1cbiAgICAgICAgICBvbk1vdXNlRG93bj17dGhpcy5wcm9wcy5vbk1vdXNlRG93bn1cbiAgICAgICAgICBvblRvdWNoU3RhcnQ9e3RoaXMucHJvcHMub25Ub3VjaFN0YXJ0fVxuICAgICAgICA+XG4gICAgICAgICAgPExheWVyUGFuZWxIZWFkZXJcbiAgICAgICAgICAgIGlzQ29uZmlnQWN0aXZlPXtpc0NvbmZpZ0FjdGl2ZX1cbiAgICAgICAgICAgIGxheWVySWQ9e2xheWVyLmlkfVxuICAgICAgICAgICAgaXNWaXNpYmxlPXtjb25maWcuaXNWaXNpYmxlfVxuICAgICAgICAgICAgaXNWYWxpZD17aXNWYWxpZH1cbiAgICAgICAgICAgIGxhYmVsPXtjb25maWcubGFiZWx9XG4gICAgICAgICAgICBsYWJlbFJDR0NvbG9yVmFsdWVzPXtjb25maWcuZGF0YUlkID8gZGF0YXNldHNbY29uZmlnLmRhdGFJZF0uY29sb3IgOiBudWxsfVxuICAgICAgICAgICAgbGF5ZXJUeXBlPXtsYXllci50eXBlfVxuICAgICAgICAgICAgYWxsb3dEdXBsaWNhdGU9e2FsbG93RHVwbGljYXRlfVxuICAgICAgICAgICAgb25Ub2dnbGVFbmFibGVDb25maWc9e3RoaXMuX3RvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgICAgICAgIG9uVG9nZ2xlVmlzaWJpbGl0eT17dGhpcy5fdG9nZ2xlVmlzaWJpbGl0eX1cbiAgICAgICAgICAgIG9uUmVzZXRJc1ZhbGlkPXt0aGlzLl9yZXNldElzVmFsaWR9XG4gICAgICAgICAgICBvblVwZGF0ZUxheWVyTGFiZWw9e3RoaXMuX3VwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgICBvblJlbW92ZUxheWVyPXt0aGlzLl9yZW1vdmVMYXllcn1cbiAgICAgICAgICAgIG9uRHVwbGljYXRlTGF5ZXI9e3RoaXMuX2R1cGxpY2F0ZUxheWVyfVxuICAgICAgICAgICAgaXNEcmFnTkRyb3BFbmFibGVkPXtpc0RyYWdnYWJsZX1cbiAgICAgICAgICAgIGxpc3RlbmVycz17bGlzdGVuZXJzfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2lzQ29uZmlnQWN0aXZlICYmIChcbiAgICAgICAgICAgIDxMYXllckNvbmZpZ3VyYXRvclxuICAgICAgICAgICAgICBsYXllcj17bGF5ZXJ9XG4gICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgbGF5ZXJUeXBlT3B0aW9ucz17bGF5ZXJUeXBlT3B0aW9uc31cbiAgICAgICAgICAgICAgb3Blbk1vZGFsPXt0aGlzLnByb3BzLm9wZW5Nb2RhbH1cbiAgICAgICAgICAgICAgdXBkYXRlTGF5ZXJDb2xvclVJPXt0aGlzLnVwZGF0ZUxheWVyQ29sb3JVSX1cbiAgICAgICAgICAgICAgdXBkYXRlTGF5ZXJDb25maWc9e3RoaXMudXBkYXRlTGF5ZXJDb25maWd9XG4gICAgICAgICAgICAgIHVwZGF0ZUxheWVyVmlzdWFsQ2hhbm5lbENvbmZpZz17dGhpcy51cGRhdGVMYXllclZpc3VhbENoYW5uZWxDb25maWd9XG4gICAgICAgICAgICAgIHVwZGF0ZUxheWVyVHlwZT17dGhpcy51cGRhdGVMYXllclR5cGV9XG4gICAgICAgICAgICAgIHVwZGF0ZUxheWVyVGV4dExhYmVsPXt0aGlzLnVwZGF0ZUxheWVyVGV4dExhYmVsfVxuICAgICAgICAgICAgICB1cGRhdGVMYXllclZpc0NvbmZpZz17dGhpcy51cGRhdGVMYXllclZpc0NvbmZpZ31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9QYW5lbFdyYXBwZXI+XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBMYXllclBhbmVsO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMYXllclBhbmVsRmFjdG9yeTtcbiJdfQ==
|