@kepler.gl/components 3.2.6 → 3.3.0-alpha.0
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 +4 -4
- package/dist/common/action-panel.d.ts +3 -3
- package/dist/common/animation-control/animation-control.d.ts +1 -1
- package/dist/common/animation-control/playback-controls.d.ts +1 -1
- package/dist/common/color-legend.d.ts +4 -4
- package/dist/common/column-stats-chart.d.ts +3 -3
- package/dist/common/data-table/button.d.ts +1 -1
- package/dist/common/data-table/canvas.d.ts +0 -1
- package/dist/common/data-table/cell-size.d.ts +2 -2
- package/dist/common/data-table/display-format.d.ts +1 -1
- package/dist/common/data-table/header-cell.d.ts +2 -2
- package/dist/common/data-table/index.d.ts +7 -9
- package/dist/common/data-table/index.js +1 -1
- package/dist/common/data-table/option-dropdown.d.ts +1 -1
- package/dist/common/field-selector.d.ts +5 -5
- package/dist/common/field-token.d.ts +1 -1
- package/dist/common/file-uploader/file-drop.d.ts +1 -1
- package/dist/common/file-uploader/file-upload-progress.d.ts +1 -1
- package/dist/common/file-uploader/file-upload.d.ts +1 -1
- package/dist/common/flex-container.d.ts +2 -3
- package/dist/common/histogram-plot.d.ts +1 -1
- package/dist/common/icon-button.d.ts +16 -16
- package/dist/common/icons/base.d.ts +1 -1
- package/dist/common/icons/close.js +1 -1
- package/dist/common/icons/effects/distance-fog.d.ts +14 -0
- package/dist/common/icons/effects/distance-fog.js +79 -0
- package/dist/common/icons/effects/surface-fog.d.ts +14 -0
- package/dist/common/icons/effects/surface-fog.js +86 -0
- package/dist/common/icons/index.d.ts +2 -0
- package/dist/common/icons/index.js +15 -1
- package/dist/common/item-selector/chickleted-input.d.ts +4 -4
- package/dist/common/item-selector/dropdown-list.d.ts +3 -3
- package/dist/common/item-selector/dropdown-select.d.ts +7 -7
- package/dist/common/item-selector/item-selector.d.ts +2 -2
- package/dist/common/item-selector/typeahead.d.ts +3 -3
- package/dist/common/loading-spinner.d.ts +2 -2
- package/dist/common/modal.d.ts +5 -5
- package/dist/common/portaled.d.ts +8 -25
- package/dist/common/progress-bar.d.ts +1 -1
- package/dist/common/radius-legend.d.ts +1 -1
- package/dist/common/range-brush.d.ts +1 -1
- package/dist/common/range-plot.d.ts +1 -1
- package/dist/common/slider/mouse-event.d.ts +1 -1
- package/dist/common/slider/slider-bar-handle.d.ts +2 -2
- package/dist/common/slider/slider-handle.d.ts +3 -3
- package/dist/common/slider/slider.d.ts +2 -2
- package/dist/common/styled-components.d.ts +157 -158
- package/dist/common/sync-timeline-control.d.ts +3 -3
- package/dist/common/time-range-slider-time-title.d.ts +1 -1
- package/dist/common/time-range-slider.d.ts +2 -2
- package/dist/common/timeline-slider.d.ts +1 -1
- package/dist/common/tippy-tooltip.d.ts +1 -1
- package/dist/common/toolbar-item.d.ts +1 -1
- package/dist/common/toolbar.d.ts +1 -1
- package/dist/common/vertical-toolbar.d.ts +2 -3
- package/dist/container.d.ts +6 -6
- package/dist/context.d.ts +3 -3
- package/dist/dnd-context.d.ts +2 -2
- package/dist/editor/editor.d.ts +1 -1
- package/dist/editor/editor.js +1 -1
- package/dist/editor/feature-action-panel.d.ts +1 -1
- package/dist/editor/feature-action-panel.js +1 -1
- package/dist/effects/compact-color-picker.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +2 -2
- package/dist/effects/effect-configurator.js +52 -14
- package/dist/effects/effect-list.d.ts +1 -1
- package/dist/effects/effect-manager.d.ts +3 -3
- package/dist/effects/effect-manager.js +9 -2
- package/dist/effects/effect-panel-header.d.ts +2 -2
- package/dist/effects/effect-panel-header.js +2 -2
- package/dist/effects/effect-panel.d.ts +2 -2
- package/dist/effects/effect-time-configurator.d.ts +1 -1
- package/dist/effects/effect-time-selector.d.ts +1 -1
- package/dist/effects/effect-time-slider.d.ts +3 -3
- package/dist/effects/effect-type-dropdown-list.d.ts +2 -2
- package/dist/effects/effect-type-list-item.d.ts +1 -1
- package/dist/effects/effect-type-selector.d.ts +2 -2
- package/dist/effects/side-panel-title.d.ts +1 -1
- package/dist/effects/timezone-selector.d.ts +1 -1
- package/dist/filters/components.d.ts +2 -3
- package/dist/filters/filter-panels/types.d.ts +4 -4
- package/dist/filters/types.d.ts +8 -8
- package/dist/geocoder/geocoder.d.ts +3 -3
- package/dist/geocoder/geocoder.js +5 -1
- package/dist/geocoder-panel.d.ts +10 -2
- package/dist/geocoder-panel.js +3 -3
- package/dist/hooks/use-cloud-list-provider.d.ts +1 -1
- package/dist/hooks/use-dnd-effects.d.ts +1 -1
- package/dist/hooks/use-dnd-layers.d.ts +1 -1
- package/dist/hooks/use-feature-flags.d.ts +1 -1
- package/dist/hooks/use-fetch-raster-tile-metadata.d.ts +3 -3
- package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +2 -2
- package/dist/hooks/use-legend-position.d.ts +4 -5
- package/dist/injector.d.ts +5 -5
- package/dist/kepler-gl.d.ts +53 -62
- package/dist/loading-indicator.d.ts +4 -4
- package/dist/map/effects/effect-control.d.ts +1 -1
- package/dist/map/layer-hover-info.d.ts +3 -3
- package/dist/map/layer-hover-info.js +2 -2
- package/dist/map/layer-selector-panel.d.ts +1 -1
- package/dist/map/lazy-tippy.js +3 -3
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/map-control-panel.d.ts +1 -1
- package/dist/map/map-control-toolbar.d.ts +6 -7
- package/dist/map/map-control-tooltip.d.ts +1 -1
- package/dist/map/map-control.d.ts +3 -2
- package/dist/map/map-control.js +1 -1
- package/dist/map/map-draw-panel.d.ts +1 -1
- package/dist/map/map-legend-panel.d.ts +4 -3
- package/dist/map/map-legend-panel.js +4 -2
- package/dist/map/map-legend.d.ts +10 -8
- package/dist/map/map-legend.js +37 -7
- package/dist/map/map-popover-content.d.ts +2 -2
- package/dist/map/map-popover.d.ts +2 -2
- package/dist/map/split-map-button.d.ts +1 -1
- package/dist/map/toggle-3d-button.d.ts +1 -1
- package/dist/map-container.d.ts +2 -2
- package/dist/map-container.js +45 -25
- package/dist/map-view-state-context.d.ts +9 -2
- package/dist/map-view-state-context.js +1 -1
- package/dist/modal-container.d.ts +3 -6
- package/dist/modals/cloud-components/cloud-header.d.ts +1 -1
- package/dist/modals/cloud-components/provider-select.d.ts +1 -1
- package/dist/modals/cloud-tile.d.ts +1 -1
- package/dist/modals/data-table-modal.d.ts +1 -1
- package/dist/modals/export-data-modal.js +2 -2
- package/dist/modals/export-image-modal.js +1 -1
- package/dist/modals/export-map-modal/components.d.ts +1 -1
- package/dist/modals/export-map-modal/export-html-map.d.ts +1 -1
- package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
- package/dist/modals/image-modal-container.d.ts +1 -1
- package/dist/modals/load-data-modal.d.ts +2 -2
- package/dist/modals/modal-dialog.d.ts +0 -2
- package/dist/modals/overwrite-map-modal.d.ts +1 -1
- package/dist/modals/save-map-modal.d.ts +3 -3
- package/dist/modals/share-map-modal.d.ts +1 -1
- package/dist/modals/tilesets-modals/common.d.ts +3 -3
- package/dist/modals/tilesets-modals/common.js +1 -1
- package/dist/modals/tilesets-modals/load-data-footer.d.ts +1 -1
- package/dist/modals/tilesets-modals/load-tileset.d.ts +1 -1
- package/dist/modals/tilesets-modals/load-tileset.js +8 -2
- package/dist/modals/tilesets-modals/tileset-icon.d.ts +1 -1
- package/dist/modals/tilesets-modals/tileset-raster-form.d.ts +2 -2
- package/dist/modals/tilesets-modals/tileset-tile3d-form.d.ts +12 -0
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +388 -0
- package/dist/modals/tilesets-modals/tileset-vector-form.d.ts +3 -3
- package/dist/modals/tilesets-modals/tileset-wms-form.d.ts +1 -1
- package/dist/modals/tilesets-modals/tileset-wms-form.js +53 -10
- package/dist/plot-container.js +49 -9
- package/dist/side-panel/add-by-dataset-button.d.ts +1 -1
- package/dist/side-panel/common/dataset-info.d.ts +2 -2
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/common/dataset-tag.d.ts +2 -2
- package/dist/side-panel/common/dataset-title.d.ts +2 -2
- package/dist/side-panel/common/source-data-catalog.d.ts +3 -3
- package/dist/side-panel/common/types.d.ts +8 -8
- package/dist/side-panel/custom-panel.d.ts +2 -2
- package/dist/side-panel/filter-manager.d.ts +3 -3
- package/dist/side-panel/filter-panel/add-filter-button.d.ts +1 -1
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +2 -2
- package/dist/side-panel/interaction-manager.d.ts +1 -1
- package/dist/side-panel/interaction-panel/brush-config.d.ts +1 -1
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -3
- package/dist/side-panel/interaction-panel/tooltip-config.d.ts +1 -1
- package/dist/side-panel/layer-manager.d.ts +2 -2
- package/dist/side-panel/layer-panel/add-layer-button.d.ts +1 -1
- package/dist/side-panel/layer-panel/channel-by-value-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-breaks-panel.d.ts +4 -4
- package/dist/side-panel/layer-panel/color-palette-preset.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-palette.d.ts +2 -2
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +3 -3
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +4 -4
- package/dist/side-panel/layer-panel/color-selector.d.ts +3 -3
- package/dist/side-panel/layer-panel/column-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/custom-palette.d.ts +10 -10
- package/dist/side-panel/layer-panel/custom-picker.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +1 -1
- package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -2
- package/dist/side-panel/layer-panel/dimension-scale-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/how-to-button.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-color-selector.d.ts +3 -3
- package/dist/side-panel/layer-panel/layer-column-config.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-column-mode-config.d.ts +3 -3
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -5
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +2 -2
- package/dist/side-panel/layer-panel/layer-configurator.js +27 -17
- package/dist/side-panel/layer-panel/layer-error-message.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-list.d.ts +2 -2
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +5 -5
- package/dist/side-panel/layer-panel/layer-panel.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.d.ts +2 -2
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +2 -2
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +1 -1
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +1 -1
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +2 -2
- package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +1 -1
- package/dist/side-panel/layer-panel/vis-config-switch.d.ts +1 -1
- package/dist/side-panel/map-manager.d.ts +1 -1
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +1 -1
- package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +2 -2
- package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +1 -1
- package/dist/side-panel/map-style-panel/map-style-selector.d.ts +1 -1
- package/dist/side-panel/panel-header-action.d.ts +1 -1
- package/dist/side-panel/panel-header.d.ts +12 -12
- package/dist/side-panel/panel-tab.d.ts +4 -4
- package/dist/side-panel/panel-title.d.ts +1 -1
- package/dist/side-panel/panel-toggle.d.ts +1 -1
- package/dist/side-panel/panel-view-list-toggle.d.ts +3 -3
- package/dist/side-panel/side-bar.d.ts +2 -2
- package/dist/side-panel.d.ts +1 -1
- package/dist/types.d.ts +3 -3
- package/package.json +23 -22
|
@@ -28,7 +28,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
28
28
|
var StyledLayerName = exports.StyledLayerName = (0, _styledComponents["default"])(_styledComponents2.CenterFlexbox)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: 12px;\n letter-spacing: 0.43px;\n text-transform: capitalize;\n\n svg {\n margin-right: 4px;\n }\n"])), function (props) {
|
|
29
29
|
return props.theme.textColorHl;
|
|
30
30
|
});
|
|
31
|
-
var StyledTable = _styledComponents["default"].table(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n & .row__delta-value {\n text-align: right;\n margin-left: 6px;\n\n &.positive {\n color: ", ";\n }\n\n &.negative {\n color: ", ";\n }\n }\n & .
|
|
31
|
+
var StyledTable = _styledComponents["default"].table(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n & .row__delta-value {\n text-align: right;\n margin-left: 6px;\n\n &.positive {\n color: ", ";\n }\n\n &.negative {\n color: ", ";\n }\n }\n & .row__name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n & .row__value {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: pre-line;\n max-width: 250px;\n }\n"])), function (props) {
|
|
32
32
|
return props.theme.notificationColors.success;
|
|
33
33
|
}, function (props) {
|
|
34
34
|
return props.theme.negativeBtnActBgd;
|
|
@@ -247,4 +247,4 @@ var LayerHoverInfoFactory = function LayerHoverInfoFactory() {
|
|
|
247
247
|
return LayerHoverInfo;
|
|
248
248
|
};
|
|
249
249
|
var _default = exports["default"] = LayerHoverInfoFactory;
|
|
250
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdHJ1bmNhdGUiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfaWNvbnMiLCJfcHJvcFR5cGVzIiwiX2NvbW1vblV0aWxzIiwiX3V0aWxzIiwiX3JlZHVjZXJzIiwiX3JlYWN0SW50bCIsIl9leGNsdWRlZCIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZExheWVyTmFtZSIsImV4cG9ydHMiLCJzdHlsZWQiLCJDZW50ZXJGbGV4Ym94IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9ySGwiLCJTdHlsZWRUYWJsZSIsInRhYmxlIiwibm90aWZpY2F0aW9uQ29sb3JzIiwic3VjY2VzcyIsIm5lZ2F0aXZlQnRuQWN0QmdkIiwiU3R5bGVkRGl2aWRlciIsImRpdiIsInBhbmVsQm9yZGVyQ29sb3IiLCJUT09MVElQX1ZBTFVFX01BWF9MRU5HVEgiLCJSb3ciLCJfcmVmIiwibmFtZSIsInZhbHVlIiwiZGVsdGFWYWx1ZSIsInVybCIsIm1hdGNoIiwiZGlzcGxheVZhbHVlIiwibGVuZ3RoIiwidHJ1bmNhdGUiLCJhc0ltZyIsInRlc3QiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwia2V5IiwicmVwbGFjZSIsInNyYyIsInRhcmdldCIsInJlbCIsImhyZWYiLCJGcmFnbWVudCIsIm5vdE51bGxvclVuZGVmaW5lZCIsImNvbmNhdCIsInRvU3RyaW5nIiwiY2hhckF0IiwiRW50cnlJbmZvIiwiX3JlZjIiLCJmaWVsZHNUb1Nob3ciLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwibWFwIiwiaXRlbSIsIkVudHJ5SW5mb1JvdyIsIl9leHRlbmRzMiIsIl9yZWYzIiwibGF5ZXIiLCJmaWVsZHMiLCJkYXRhIiwicHJpbWFyeURhdGEiLCJjb21wYXJlVHlwZSIsImN1cnJlbnRUaW1lIiwiZmllbGRJZHgiLCJmaW5kSW5kZXgiLCJmIiwiZmllbGQiLCJmaWVsZFZhbHVlQWNjZXNzb3IiLCJhY2Nlc3NWU0ZpZWxkVmFsdWUiLCJEYXRhUm93IiwiaW5kZXgiLCJfcm93SW5kZXgiLCJwcmltYXJ5VmFsdWUiLCJkaXNwbGF5RGVsdGFWYWx1ZSIsIl90eXBlb2YyIiwiZ2V0VG9vbHRpcERpc3BsYXlEZWx0YVZhbHVlIiwiZXJyb3IiLCJnZXRUb29sdGlwRGlzcGxheVZhbHVlIiwiZGlzcGxheU5hbWUiLCJDZWxsSW5mbyIsIl9yZWY0IiwiX3JlZjUiLCJjb25maWciLCJjb2xvckZpZWxkIiwic2l6ZUZpZWxkIiwiY29sb3JWYWx1ZSIsInVzZU1lbW8iLCJ2aXN1YWxDaGFubmVscyIsImNvbG9yIiwiZmluZCIsImVsZXZhdGlvblZhbHVlIiwic2l6ZSIsImFnZ3JlZ2F0ZWREYXRhIiwicmVkdWNlIiwiYWNjIiwiX2RhdGEkYWdncmVnYXRlZERhdGEiLCJkYXRhRm9yRmllbGQiLCJtZWFzdXJlIiwicHVzaCIsImNhcGl0YWxpemVGaXJzdExldHRlciIsImNvbG9yTWVhc3VyZSIsImdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbiIsInNpemVNZWFzdXJlIiwiU3RyaW5nIiwicG9pbnRzIiwiaWR4IiwiTGF5ZXJIb3ZlckluZm9GYWN0b3J5IiwiTGF5ZXJIb3ZlckluZm8iLCJpbnRsIiwidXNlSW50bCIsImhhc0ZpZWxkc1RvU2hvdyIsImZpZWxkVmFsdWVzIiwia2V5cyIsIndtc0ZlYXR1cmVEYXRhIiwiTGF5ZXJzIiwiaGVpZ2h0IiwibGFiZWwiLCJfcmVmNiIsIl9yZWY3IiwibGFiZWxNZXNzYWdlIiwiZm9ybWF0TWVzc2FnZSIsImlkIiwiaXNBZ2dyZWdhdGVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYXJyYXlPZiIsImFueSIsIm9iamVjdCIsIm9uZU9mVHlwZSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC9sYXllci1ob3Zlci1pbmZvLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB0cnVuY2F0ZSBmcm9tICdsb2Rhc2gvdHJ1bmNhdGUnO1xuaW1wb3J0IHtDb21wYXJlVHlwZSwgRmllbGQsIE1lcmdlLCBUb29sdGlwRmllbGR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtDZW50ZXJGbGV4Ym94fSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtMYXllcnN9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHtub3ROdWxsb3JVbmRlZmluZWR9IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7RGF0YVJvd30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge1xuICBBZ2dyZWdhdGlvbkxheWVySG92ZXJEYXRhLFxuICBMYXllckhvdmVyUHJvcCxcbiAgZ2V0VG9vbHRpcERpc3BsYXlEZWx0YVZhbHVlLFxuICBnZXRUb29sdGlwRGlzcGxheVZhbHVlXG59IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IHt1c2VJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7VmlzU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvc2NoZW1hcyc7XG5pbXBvcnQge2NhcGl0YWxpemVGaXJzdExldHRlcn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMYXllck5hbWUgPSBzdHlsZWQoQ2VudGVyRmxleGJveClgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC40M3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRUYWJsZSA9IHN0eWxlZC50YWJsZWBcbiAgJiAucm93X19kZWx0YS12YWx1ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcblxuICAgICYucG9zaXRpdmUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubm90aWZpY2F0aW9uQ29sb3JzLnN1Y2Nlc3N9O1xuICAgIH1cblxuICAgICYubmVnYXRpdmUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5BY3RCZ2R9O1xuICAgIH1cbiAgfVxuICAmIC5yb3dfX3ZhbHVlLFxuICAmIC5yb3dfX25hbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vLXdyYXA7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERpdmlkZXIgPSBzdHlsZWQuZGl2YFxuICAvLyBvZmZzZXQgZGl2aWRlciB0byByZWFjaCBwb3BvdmVyIGVkZ2VcbiAgbWFyZ2luLWxlZnQ6IC0xNHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbmA7XG5cbmludGVyZmFjZSBSb3dQcm9wcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgZGVsdGFWYWx1ZT86IHN0cmluZyB8IG51bGw7XG4gIHVybD86IHN0cmluZztcbn1cblxuY29uc3QgVE9PTFRJUF9WQUxVRV9NQVhfTEVOR1RIID0gMjU2O1xuXG5jb25zdCBSb3c6IFJlYWN0LkZDPFJvd1Byb3BzPiA9ICh7bmFtZSwgdmFsdWUsIGRlbHRhVmFsdWUsIHVybH0pID0+IHtcbiAgLy8gU2V0ICd1cmwnIHRvICd2YWx1ZScgaWYgaXQgbG9va3MgbGlrZSBhIHVybFxuICBpZiAoIXVybCAmJiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLm1hdGNoKC9eaHR0cC8pKSB7XG4gICAgdXJsID0gdmFsdWU7XG4gIH1cblxuICBjb25zdCBkaXNwbGF5VmFsdWUgPVxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID4gVE9PTFRJUF9WQUxVRV9NQVhfTEVOR1RIXG4gICAgICA/IHRydW5jYXRlKHZhbHVlLCB7bGVuZ3RoOiBUT09MVElQX1ZBTFVFX01BWF9MRU5HVEh9KVxuICAgICAgOiB2YWx1ZTtcblxuICBjb25zdCBhc0ltZyA9IC88aW1nPi8udGVzdChuYW1lKTtcbiAgcmV0dXJuIChcbiAgICA8dHIgY2xhc3NOYW1lPVwibGF5ZXItaG92ZXItaW5mb19fcm93XCIga2V5PXtuYW1lfT5cbiAgICAgIDx0ZCBjbGFzc05hbWU9XCJyb3dfX25hbWVcIj57YXNJbWcgPyBuYW1lLnJlcGxhY2UoJzxpbWc+JywgJycpIDogbmFtZX08L3RkPlxuICAgICAgPHRkIGNsYXNzTmFtZT1cInJvd19fdmFsdWVcIj5cbiAgICAgICAge2FzSW1nID8gKFxuICAgICAgICAgIDxpbWcgc3JjPXt2YWx1ZX0gLz5cbiAgICAgICAgKSA6IHVybCA/IChcbiAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIHtkaXNwbGF5VmFsdWV9XG4gICAgICAgICAgPC9hPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8c3Bhbj57ZGlzcGxheVZhbHVlfTwvc3Bhbj5cbiAgICAgICAgICAgIHtub3ROdWxsb3JVbmRlZmluZWQoZGVsdGFWYWx1ZSkgPyAoXG4gICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgcm93X19kZWx0YS12YWx1ZSAke1xuICAgICAgICAgICAgICAgICAgZGVsdGFWYWx1ZT8udG9TdHJpbmcoKS5jaGFyQXQoMCkgPT09ICcrJyA/ICdwb3NpdGl2ZScgOiAnbmVnYXRpdmUnXG4gICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7ZGVsdGFWYWx1ZX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSBFbnRyeUluZm9Qcm9wcyA9IE1lcmdlPExheWVySG92ZXJQcm9wLCB7ZmllbGRzVG9TaG93OiBUb29sdGlwRmllbGRbXX0+O1xuXG5jb25zdCBFbnRyeUluZm86IFJlYWN0LkZDPEVudHJ5SW5mb1Byb3BzPiA9ICh7ZmllbGRzVG9TaG93LCAuLi5wcm9wc30pID0+IChcbiAgPHRib2R5PlxuICAgIHtmaWVsZHNUb1Nob3cubWFwKGl0ZW0gPT4gKFxuICAgICAgPEVudHJ5SW5mb1JvdyBrZXk9e2l0ZW0ubmFtZX0gaXRlbT17aXRlbX0gey4uLnByb3BzfSAvPlxuICAgICkpfVxuICA8L3Rib2R5PlxuKTtcblxuZXhwb3J0IHR5cGUgRW50cnlJbmZvUm93UHJvcHMgPSB7XG4gIGRhdGE6IExheWVySG92ZXJQcm9wWydkYXRhJ107XG4gIGZpZWxkczogRmllbGRbXTtcbiAgbGF5ZXI6IExheWVyO1xuICBwcmltYXJ5RGF0YT86IExheWVySG92ZXJQcm9wWydwcmltYXJ5RGF0YSddO1xuICBjb21wYXJlVHlwZT86IENvbXBhcmVUeXBlO1xuICBjdXJyZW50VGltZT86IFZpc1N0YXRlWydhbmltYXRpb25Db25maWcnXVsnY3VycmVudFRpbWUnXTtcbiAgaXRlbTogVG9vbHRpcEZpZWxkO1xufTtcblxuY29uc3QgRW50cnlJbmZvUm93OiBSZWFjdC5GQzxFbnRyeUluZm9Sb3dQcm9wcz4gPSAoe1xuICBsYXllcixcbiAgaXRlbSxcbiAgZmllbGRzLFxuICBkYXRhLFxuICBwcmltYXJ5RGF0YSxcbiAgY29tcGFyZVR5cGUsXG4gIGN1cnJlbnRUaW1lXG59KSA9PiB7XG4gIGNvbnN0IGZpZWxkSWR4ID0gZmllbGRzLmZpbmRJbmRleChmID0+IGYubmFtZSA9PT0gaXRlbS5uYW1lKTtcbiAgaWYgKGZpZWxkSWR4IDwgMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGZpZWxkID0gZmllbGRzW2ZpZWxkSWR4XTtcbiAgY29uc3QgZmllbGRWYWx1ZUFjY2Vzc29yID0gbGF5ZXIuYWNjZXNzVlNGaWVsZFZhbHVlKGZpZWxkLCBjdXJyZW50VGltZSk7XG4gIGNvbnN0IHZhbHVlID0gZmllbGRWYWx1ZUFjY2Vzc29yKGZpZWxkLCBkYXRhIGluc3RhbmNlb2YgRGF0YVJvdyA/IHtpbmRleDogZGF0YS5fcm93SW5kZXh9IDogZGF0YSk7XG5cbiAgLy8gSGFuZGxlIFdNUyBsYXllciBkYXRhIGluIGNvbXBhcmlzb24gbW9kZSAtIFdNUyBsYXllcnMgZG9uJ3QgaGF2ZSBjb21wYXJhYmxlIGZpZWxkIGRhdGFcbiAgbGV0IHByaW1hcnlWYWx1ZSA9IG51bGw7XG4gIGxldCBkaXNwbGF5RGVsdGFWYWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKHByaW1hcnlEYXRhKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIE9ubHkgY2FsY3VsYXRlIHByaW1hcnkgdmFsdWUgaWYgcHJpbWFyeURhdGEgaGFzIGEgY29tcGF0aWJsZSBzdHJ1Y3R1cmVcbiAgICAgIGlmIChcbiAgICAgICAgcHJpbWFyeURhdGEgaW5zdGFuY2VvZiBEYXRhUm93IHx8XG4gICAgICAgIChwcmltYXJ5RGF0YSAmJiB0eXBlb2YgcHJpbWFyeURhdGEgPT09ICdvYmplY3QnICYmICdpbmRleCcgaW4gcHJpbWFyeURhdGEpXG4gICAgICApIHtcbiAgICAgICAgcHJpbWFyeVZhbHVlID0gZmllbGRWYWx1ZUFjY2Vzc29yKFxuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHByaW1hcnlEYXRhIGluc3RhbmNlb2YgRGF0YVJvdyA/IHtpbmRleDogcHJpbWFyeURhdGEuX3Jvd0luZGV4fSA6IHByaW1hcnlEYXRhXG4gICAgICAgICk7XG5cbiAgICAgICAgZGlzcGxheURlbHRhVmFsdWUgPSBnZXRUb29sdGlwRGlzcGxheURlbHRhVmFsdWUoe1xuICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIHByaW1hcnlWYWx1ZSxcbiAgICAgICAgICBjb21wYXJlVHlwZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSWYgdGhlcmUncyBhbiBlcnJvciBhY2Nlc3NpbmcgcHJpbWFyeURhdGEgKGUuZy4sIFdNUyBsYXllciBkYXRhKSwgc2tpcCBjb21wYXJpc29uXG4gICAgICBwcmltYXJ5VmFsdWUgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRpc3BsYXlWYWx1ZSA9IGdldFRvb2x0aXBEaXNwbGF5VmFsdWUoe2l0ZW0sIGZpZWxkLCB2YWx1ZX0pO1xuXG4gIHJldHVybiAoXG4gICAgPFJvd1xuICAgICAgbmFtZT17ZmllbGQuZGlzcGxheU5hbWUgfHwgZmllbGQubmFtZX1cbiAgICAgIHZhbHVlPXtkaXNwbGF5VmFsdWV9XG4gICAgICBkZWx0YVZhbHVlPXtkaXNwbGF5RGVsdGFWYWx1ZX1cbiAgICAvPlxuICApO1xufTtcblxuLy8gVE9ETzogc3VwcG9ydGluZyBjb21wYXJhdGl2ZSB2YWx1ZSBmb3IgYWdncmVnYXRlZCBjZWxscyBhcyB3ZWxsXG5jb25zdCBDZWxsSW5mbyA9ICh7XG4gIGZpZWxkc1RvU2hvdyxcbiAgZGF0YSxcbiAgbGF5ZXJcbn06IHtcbiAgZGF0YTogQWdncmVnYXRpb25MYXllckhvdmVyRGF0YTtcbiAgZmllbGRzVG9TaG93OiBUb29sdGlwRmllbGRbXTtcbiAgbGF5ZXI6IExheWVyO1xufSkgPT4ge1xuICBjb25zdCB7Y29sb3JGaWVsZCwgc2l6ZUZpZWxkfSA9IGxheWVyLmNvbmZpZyBhcyBhbnk7XG5cbiAgY29uc3QgY29sb3JWYWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChjb2xvckZpZWxkICYmIGxheWVyLnZpc3VhbENoYW5uZWxzLmNvbG9yKSB7XG4gICAgICBjb25zdCBpdGVtID0gZmllbGRzVG9TaG93LmZpbmQoZmllbGQgPT4gZmllbGQubmFtZSA9PT0gY29sb3JGaWVsZC5uYW1lKTtcbiAgICAgIHJldHVybiBnZXRUb29sdGlwRGlzcGxheVZhbHVlKHtpdGVtLCBmaWVsZDogY29sb3JGaWVsZCwgdmFsdWU6IGRhdGEuY29sb3JWYWx1ZX0pO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgW2ZpZWxkc1RvU2hvdywgY29sb3JGaWVsZCwgbGF5ZXIsIGRhdGEuY29sb3JWYWx1ZV0pO1xuXG4gIGNvbnN0IGVsZXZhdGlvblZhbHVlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHNpemVGaWVsZCAmJiBsYXllci52aXN1YWxDaGFubmVscy5zaXplKSB7XG4gICAgICBjb25zdCBpdGVtID0gZmllbGRzVG9TaG93LmZpbmQoZmllbGQgPT4gZmllbGQubmFtZSA9PT0gc2l6ZUZpZWxkLm5hbWUpO1xuICAgICAgcmV0dXJuIGdldFRvb2x0aXBEaXNwbGF5VmFsdWUoe2l0ZW0sIGZpZWxkOiBzaXplRmllbGQsIHZhbHVlOiBkYXRhLmVsZXZhdGlvblZhbHVlfSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9LCBbZmllbGRzVG9TaG93LCBzaXplRmllbGQsIGxheWVyLCBkYXRhLmVsZXZhdGlvblZhbHVlXSk7XG5cbiAgY29uc3QgYWdncmVnYXRlZERhdGEgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZGF0YS5hZ2dyZWdhdGVkRGF0YSAmJiBmaWVsZHNUb1Nob3cpIHtcbiAgICAgIHJldHVybiBmaWVsZHNUb1Nob3cucmVkdWNlKChhY2MsIGZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGFGb3JGaWVsZCA9IGRhdGEuYWdncmVnYXRlZERhdGE/LltmaWVsZC5uYW1lXTtcbiAgICAgICAgaWYgKGRhdGFGb3JGaWVsZD8ubWVhc3VyZSAmJiBmaWVsZC5uYW1lICE9PSBjb2xvckZpZWxkPy5uYW1lKSB7XG4gICAgICAgICAgYWNjLnB1c2goe1xuICAgICAgICAgICAgbmFtZTogYCR7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGRhdGFGb3JGaWVsZC5tZWFzdXJlKX0gb2YgJHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgICB2YWx1ZTogZGF0YUZvckZpZWxkLnZhbHVlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdIGFzIHtuYW1lOiBzdHJpbmc7IHZhbHVlPzogc3RyaW5nfVtdKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9LCBbZGF0YS5hZ2dyZWdhdGVkRGF0YSwgZmllbGRzVG9TaG93LCBjb2xvckZpZWxkPy5uYW1lXSk7XG5cbiAgY29uc3QgY29sb3JNZWFzdXJlID0gbGF5ZXIuZ2V0VmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uKCdjb2xvcicpLm1lYXN1cmU7XG4gIGNvbnN0IHNpemVNZWFzdXJlID0gbGF5ZXIuZ2V0VmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uKCdzaXplJykubWVhc3VyZTtcbiAgcmV0dXJuIChcbiAgICA8dGJvZHk+XG4gICAgICA8Um93IG5hbWU9eyd0b3RhbCBwb2ludHMnfSBrZXk9XCJjb3VudFwiIHZhbHVlPXtTdHJpbmcoZGF0YS5wb2ludHMgJiYgZGF0YS5wb2ludHMubGVuZ3RoKX0gLz5cbiAgICAgIHtjb2xvckZpZWxkICYmIGxheWVyLnZpc3VhbENoYW5uZWxzLmNvbG9yICYmIGNvbG9yTWVhc3VyZSA/IChcbiAgICAgICAgPFJvdyBuYW1lPXtjb2xvck1lYXN1cmV9IGtleT1cImNvbG9yXCIgdmFsdWU9e2NvbG9yVmFsdWUgfHwgJ04vQSd9IC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtzaXplRmllbGQgJiYgbGF5ZXIudmlzdWFsQ2hhbm5lbHMuc2l6ZSAmJiBzaXplTWVhc3VyZSA/IChcbiAgICAgICAgPFJvdyBuYW1lPXtzaXplTWVhc3VyZX0ga2V5PVwic2l6ZVwiIHZhbHVlPXtlbGV2YXRpb25WYWx1ZSB8fCAnTi9BJ30gLz5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2FnZ3JlZ2F0ZWREYXRhLm1hcCgoZGF0YUZvckZpZWxkLCBpZHgpID0+IChcbiAgICAgICAgPFJvdyBuYW1lPXtkYXRhRm9yRmllbGQubmFtZX0ga2V5PXtgZGF0YV8ke2lkeH1gfSB2YWx1ZT17ZGF0YUZvckZpZWxkLnZhbHVlIHx8ICdOL0EnfSAvPlxuICAgICAgKSl9XG4gICAgPC90Ym9keT5cbiAgKTtcbn07XG5cbmNvbnN0IExheWVySG92ZXJJbmZvRmFjdG9yeSA9ICgpID0+IHtcbiAgY29uc3QgTGF5ZXJIb3ZlckluZm8gPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge2RhdGEsIGxheWVyfSA9IHByb3BzO1xuICAgIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gICAgaWYgKCFkYXRhIHx8ICFsYXllcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgaGFzRmllbGRzVG9TaG93ID1cbiAgICAgIChkYXRhLmZpZWxkVmFsdWVzICYmIE9iamVjdC5rZXlzKGRhdGEuZmllbGRWYWx1ZXMpLmxlbmd0aCA+IDApIHx8XG4gICAgICAoZGF0YS53bXNGZWF0dXJlRGF0YSAmJiBkYXRhLndtc0ZlYXR1cmVEYXRhLmxlbmd0aCA+IDApIHx8XG4gICAgICAocHJvcHMuZmllbGRzVG9TaG93ICYmIHByb3BzLmZpZWxkc1RvU2hvdy5sZW5ndGggPiAwKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1hcC1wb3BvdmVyX19sYXllci1pbmZvXCI+XG4gICAgICAgIDxTdHlsZWRMYXllck5hbWUgY2xhc3NOYW1lPVwibWFwLXBvcG92ZXJfX2xheWVyLW5hbWVcIj5cbiAgICAgICAgICA8TGF5ZXJzIGhlaWdodD1cIjEycHhcIiAvPlxuICAgICAgICAgIHtwcm9wcy5sYXllci5jb25maWcubGFiZWx9XG4gICAgICAgIDwvU3R5bGVkTGF5ZXJOYW1lPlxuICAgICAgICB7aGFzRmllbGRzVG9TaG93ICYmIDxTdHlsZWREaXZpZGVyIC8+fVxuICAgICAgICA8U3R5bGVkVGFibGU+XG4gICAgICAgICAge2RhdGEud21zRmVhdHVyZURhdGEgPyAoXG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgIHtkYXRhLndtc0ZlYXR1cmVEYXRhLm1hcCgoe25hbWUsIHZhbHVlfSwgaSkgPT4gKFxuICAgICAgICAgICAgICAgIDxSb3cga2V5PXtpfSBuYW1lPXtuYW1lfSB2YWx1ZT17dmFsdWV9IC8+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICApIDogZGF0YS5maWVsZFZhbHVlcyA/IChcbiAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAge2RhdGEuZmllbGRWYWx1ZXMubWFwKCh7bGFiZWxNZXNzYWdlLCB2YWx1ZX0sIGkpID0+IChcbiAgICAgICAgICAgICAgICA8Um93IGtleT17aX0gbmFtZT17aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogbGFiZWxNZXNzYWdlfSl9IHZhbHVlPXt2YWx1ZX0gLz5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICkgOiBwcm9wcy5sYXllci5pc0FnZ3JlZ2F0ZWQgPyAoXG4gICAgICAgICAgICA8Q2VsbEluZm8gey4uLnByb3BzfSAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8RW50cnlJbmZvIHsuLi5wcm9wc30gLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1N0eWxlZFRhYmxlPlxuICAgICAgICB7aGFzRmllbGRzVG9TaG93ICYmIDxTdHlsZWREaXZpZGVyIC8+fVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICBMYXllckhvdmVySW5mby5wcm9wVHlwZXMgPSB7XG4gICAgZmllbGRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSxcbiAgICBmaWVsZHNUb1Nob3c6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLFxuICAgIGxheWVyOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGRhdGE6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLCBQcm9wVHlwZXMub2JqZWN0XSlcbiAgfTtcbiAgcmV0dXJuIExheWVySG92ZXJJbmZvO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJIb3ZlckluZm9GYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUks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SSxFQUFFQSxJQUFLO1FBQUNDLEtBQUssRUFBRUE7TUFBTSxDQUFFLENBQUM7SUFBQSxDQUMxQyxDQUNJLENBQUMsR0FDTmlDLElBQUksQ0FBQ29ELFdBQVcsZ0JBQ2xCOUksTUFBQSxZQUFBa0UsYUFBQSxnQkFDR3dCLElBQUksQ0FBQ29ELFdBQVcsQ0FBQzNELEdBQUcsQ0FBQyxVQUFBa0UsS0FBQSxFQUF3QmxILENBQUM7TUFBQSxJQUF2Qm1ILFlBQVksR0FBQUQsS0FBQSxDQUFaQyxZQUFZO1FBQUU3RixLQUFLLEdBQUE0RixLQUFBLENBQUw1RixLQUFLO01BQUEsb0JBQ3pDekQsTUFBQSxZQUFBa0UsYUFBQSxDQUFDWixHQUFHO1FBQUNjLEdBQUcsRUFBRWpDLENBQUU7UUFBQ3FCLElBQUksRUFBRW1GLElBQUksQ0FBQ1ksYUFBYSxDQUFDO1VBQUNDLEVBQUUsRUFBRUY7UUFBWSxDQUFDLENBQUU7UUFBQzdGLEtBQUssRUFBRUE7TUFBTSxDQUFFLENBQUM7SUFBQSxDQUM1RSxDQUNJLENBQUMsR0FDTmYsS0FBSyxDQUFDOEMsS0FBSyxDQUFDaUUsWUFBWSxnQkFDMUJ6SixNQUFBLFlBQUFrRSxhQUFBLENBQUM0QyxRQUFRLEVBQUtwRSxLQUFRLENBQUMsZ0JBRXZCMUMsTUFBQSxZQUFBa0UsYUFBQSxDQUFDYSxTQUFTLEVBQUtyQyxLQUFRLENBRWQsQ0FBQyxFQUNibUcsZUFBZSxpQkFBSTdJLE1BQUEsWUFBQWtFLGFBQUEsQ0FBQ2hCLGFBQWEsTUFBRSxDQUNqQyxDQUFDO0VBRVYsQ0FBQztFQUVEd0YsY0FBYyxDQUFDZ0IsU0FBUyxHQUFHO0lBQ3pCakUsTUFBTSxFQUFFa0UscUJBQVMsQ0FBQ0MsT0FBTyxDQUFDRCxxQkFBUyxDQUFDRSxHQUFHLENBQUM7SUFDeEM1RSxZQUFZLEVBQUUwRSxxQkFBUyxDQUFDQyxPQUFPLENBQUNELHFCQUFTLENBQUNFLEdBQUcsQ0FBQztJQUM5Q3JFLEtBQUssRUFBRW1FLHFCQUFTLENBQUNHLE1BQU07SUFDdkJwRSxJQUFJLEVBQUVpRSxxQkFBUyxDQUFDSSxTQUFTLENBQUMsQ0FBQ0oscUJBQVMsQ0FBQ0MsT0FBTyxDQUFDRCxxQkFBUyxDQUFDRSxHQUFHLENBQUMsRUFBRUYscUJBQVMsQ0FBQ0csTUFBTSxDQUFDO0VBQ2hGLENBQUM7RUFDRCxPQUFPcEIsY0FBYztBQUN2QixDQUFDO0FBQUMsSUFBQXNCLFFBQUEsR0FBQTFILE9BQUEsY0FFYW1HLHFCQUFxQiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
250
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdHJ1bmNhdGUiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfaWNvbnMiLCJfcHJvcFR5cGVzIiwiX2NvbW1vblV0aWxzIiwiX3V0aWxzIiwiX3JlZHVjZXJzIiwiX3JlYWN0SW50bCIsIl9leGNsdWRlZCIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZExheWVyTmFtZSIsImV4cG9ydHMiLCJzdHlsZWQiLCJDZW50ZXJGbGV4Ym94IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9ySGwiLCJTdHlsZWRUYWJsZSIsInRhYmxlIiwibm90aWZpY2F0aW9uQ29sb3JzIiwic3VjY2VzcyIsIm5lZ2F0aXZlQnRuQWN0QmdkIiwiU3R5bGVkRGl2aWRlciIsImRpdiIsInBhbmVsQm9yZGVyQ29sb3IiLCJUT09MVElQX1ZBTFVFX01BWF9MRU5HVEgiLCJSb3ciLCJfcmVmIiwibmFtZSIsInZhbHVlIiwiZGVsdGFWYWx1ZSIsInVybCIsIm1hdGNoIiwiZGlzcGxheVZhbHVlIiwibGVuZ3RoIiwidHJ1bmNhdGUiLCJhc0ltZyIsInRlc3QiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwia2V5IiwicmVwbGFjZSIsInNyYyIsInRhcmdldCIsInJlbCIsImhyZWYiLCJGcmFnbWVudCIsIm5vdE51bGxvclVuZGVmaW5lZCIsImNvbmNhdCIsInRvU3RyaW5nIiwiY2hhckF0IiwiRW50cnlJbmZvIiwiX3JlZjIiLCJmaWVsZHNUb1Nob3ciLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwibWFwIiwiaXRlbSIsIkVudHJ5SW5mb1JvdyIsIl9leHRlbmRzMiIsIl9yZWYzIiwibGF5ZXIiLCJmaWVsZHMiLCJkYXRhIiwicHJpbWFyeURhdGEiLCJjb21wYXJlVHlwZSIsImN1cnJlbnRUaW1lIiwiZmllbGRJZHgiLCJmaW5kSW5kZXgiLCJmIiwiZmllbGQiLCJmaWVsZFZhbHVlQWNjZXNzb3IiLCJhY2Nlc3NWU0ZpZWxkVmFsdWUiLCJEYXRhUm93IiwiaW5kZXgiLCJfcm93SW5kZXgiLCJwcmltYXJ5VmFsdWUiLCJkaXNwbGF5RGVsdGFWYWx1ZSIsIl90eXBlb2YyIiwiZ2V0VG9vbHRpcERpc3BsYXlEZWx0YVZhbHVlIiwiZXJyb3IiLCJnZXRUb29sdGlwRGlzcGxheVZhbHVlIiwiZGlzcGxheU5hbWUiLCJDZWxsSW5mbyIsIl9yZWY0IiwiX3JlZjUiLCJjb25maWciLCJjb2xvckZpZWxkIiwic2l6ZUZpZWxkIiwiY29sb3JWYWx1ZSIsInVzZU1lbW8iLCJ2aXN1YWxDaGFubmVscyIsImNvbG9yIiwiZmluZCIsImVsZXZhdGlvblZhbHVlIiwic2l6ZSIsImFnZ3JlZ2F0ZWREYXRhIiwicmVkdWNlIiwiYWNjIiwiX2RhdGEkYWdncmVnYXRlZERhdGEiLCJkYXRhRm9yRmllbGQiLCJtZWFzdXJlIiwicHVzaCIsImNhcGl0YWxpemVGaXJzdExldHRlciIsImNvbG9yTWVhc3VyZSIsImdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbiIsInNpemVNZWFzdXJlIiwiU3RyaW5nIiwicG9pbnRzIiwiaWR4IiwiTGF5ZXJIb3ZlckluZm9GYWN0b3J5IiwiTGF5ZXJIb3ZlckluZm8iLCJpbnRsIiwidXNlSW50bCIsImhhc0ZpZWxkc1RvU2hvdyIsImZpZWxkVmFsdWVzIiwia2V5cyIsIndtc0ZlYXR1cmVEYXRhIiwiTGF5ZXJzIiwiaGVpZ2h0IiwibGFiZWwiLCJfcmVmNiIsIl9yZWY3IiwibGFiZWxNZXNzYWdlIiwiZm9ybWF0TWVzc2FnZSIsImlkIiwiaXNBZ2dyZWdhdGVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYXJyYXlPZiIsImFueSIsIm9iamVjdCIsIm9uZU9mVHlwZSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC9sYXllci1ob3Zlci1pbmZvLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB0cnVuY2F0ZSBmcm9tICdsb2Rhc2gvdHJ1bmNhdGUnO1xuaW1wb3J0IHtDb21wYXJlVHlwZSwgRmllbGQsIE1lcmdlLCBUb29sdGlwRmllbGR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtDZW50ZXJGbGV4Ym94fSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtMYXllcnN9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHtub3ROdWxsb3JVbmRlZmluZWR9IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7RGF0YVJvd30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge1xuICBBZ2dyZWdhdGlvbkxheWVySG92ZXJEYXRhLFxuICBMYXllckhvdmVyUHJvcCxcbiAgZ2V0VG9vbHRpcERpc3BsYXlEZWx0YVZhbHVlLFxuICBnZXRUb29sdGlwRGlzcGxheVZhbHVlXG59IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IHt1c2VJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7VmlzU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvc2NoZW1hcyc7XG5pbXBvcnQge2NhcGl0YWxpemVGaXJzdExldHRlcn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMYXllck5hbWUgPSBzdHlsZWQoQ2VudGVyRmxleGJveClgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC40M3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRUYWJsZSA9IHN0eWxlZC50YWJsZWBcbiAgJiAucm93X19kZWx0YS12YWx1ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcblxuICAgICYucG9zaXRpdmUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubm90aWZpY2F0aW9uQ29sb3JzLnN1Y2Nlc3N9O1xuICAgIH1cblxuICAgICYubmVnYXRpdmUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5BY3RCZ2R9O1xuICAgIH1cbiAgfVxuICAmIC5yb3dfX25hbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAmIC5yb3dfX3ZhbHVlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWREaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgLy8gb2Zmc2V0IGRpdmlkZXIgdG8gcmVhY2ggcG9wb3ZlciBlZGdlXG4gIG1hcmdpbi1sZWZ0OiAtMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTRweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG5gO1xuXG5pbnRlcmZhY2UgUm93UHJvcHMge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRlbHRhVmFsdWU/OiBzdHJpbmcgfCBudWxsO1xuICB1cmw/OiBzdHJpbmc7XG59XG5cbmNvbnN0IFRPT0xUSVBfVkFMVUVfTUFYX0xFTkdUSCA9IDI1NjtcblxuY29uc3QgUm93OiBSZWFjdC5GQzxSb3dQcm9wcz4gPSAoe25hbWUsIHZhbHVlLCBkZWx0YVZhbHVlLCB1cmx9KSA9PiB7XG4gIC8vIFNldCAndXJsJyB0byAndmFsdWUnIGlmIGl0IGxvb2tzIGxpa2UgYSB1cmxcbiAgaWYgKCF1cmwgJiYgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5tYXRjaCgvXmh0dHAvKSkge1xuICAgIHVybCA9IHZhbHVlO1xuICB9XG5cbiAgY29uc3QgZGlzcGxheVZhbHVlID1cbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA+IFRPT0xUSVBfVkFMVUVfTUFYX0xFTkdUSFxuICAgICAgPyB0cnVuY2F0ZSh2YWx1ZSwge2xlbmd0aDogVE9PTFRJUF9WQUxVRV9NQVhfTEVOR1RIfSlcbiAgICAgIDogdmFsdWU7XG5cbiAgY29uc3QgYXNJbWcgPSAvPGltZz4vLnRlc3QobmFtZSk7XG4gIHJldHVybiAoXG4gICAgPHRyIGNsYXNzTmFtZT1cImxheWVyLWhvdmVyLWluZm9fX3Jvd1wiIGtleT17bmFtZX0+XG4gICAgICA8dGQgY2xhc3NOYW1lPVwicm93X19uYW1lXCI+e2FzSW1nID8gbmFtZS5yZXBsYWNlKCc8aW1nPicsICcnKSA6IG5hbWV9PC90ZD5cbiAgICAgIDx0ZCBjbGFzc05hbWU9XCJyb3dfX3ZhbHVlXCI+XG4gICAgICAgIHthc0ltZyA/IChcbiAgICAgICAgICA8aW1nIHNyYz17dmFsdWV9IC8+XG4gICAgICAgICkgOiB1cmwgPyAoXG4gICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiIGhyZWY9e3VybH0+XG4gICAgICAgICAgICB7ZGlzcGxheVZhbHVlfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPHNwYW4+e2Rpc3BsYXlWYWx1ZX08L3NwYW4+XG4gICAgICAgICAgICB7bm90TnVsbG9yVW5kZWZpbmVkKGRlbHRhVmFsdWUpID8gKFxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YHJvd19fZGVsdGEtdmFsdWUgJHtcbiAgICAgICAgICAgICAgICAgIGRlbHRhVmFsdWU/LnRvU3RyaW5nKCkuY2hhckF0KDApID09PSAnKycgPyAncG9zaXRpdmUnIDogJ25lZ2F0aXZlJ1xuICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2RlbHRhVmFsdWV9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgRW50cnlJbmZvUHJvcHMgPSBNZXJnZTxMYXllckhvdmVyUHJvcCwge2ZpZWxkc1RvU2hvdzogVG9vbHRpcEZpZWxkW119PjtcblxuY29uc3QgRW50cnlJbmZvOiBSZWFjdC5GQzxFbnRyeUluZm9Qcm9wcz4gPSAoe2ZpZWxkc1RvU2hvdywgLi4ucHJvcHN9KSA9PiAoXG4gIDx0Ym9keT5cbiAgICB7ZmllbGRzVG9TaG93Lm1hcChpdGVtID0+IChcbiAgICAgIDxFbnRyeUluZm9Sb3cga2V5PXtpdGVtLm5hbWV9IGl0ZW09e2l0ZW19IHsuLi5wcm9wc30gLz5cbiAgICApKX1cbiAgPC90Ym9keT5cbik7XG5cbmV4cG9ydCB0eXBlIEVudHJ5SW5mb1Jvd1Byb3BzID0ge1xuICBkYXRhOiBMYXllckhvdmVyUHJvcFsnZGF0YSddO1xuICBmaWVsZHM6IEZpZWxkW107XG4gIGxheWVyOiBMYXllcjtcbiAgcHJpbWFyeURhdGE/OiBMYXllckhvdmVyUHJvcFsncHJpbWFyeURhdGEnXTtcbiAgY29tcGFyZVR5cGU/OiBDb21wYXJlVHlwZTtcbiAgY3VycmVudFRpbWU/OiBWaXNTdGF0ZVsnYW5pbWF0aW9uQ29uZmlnJ11bJ2N1cnJlbnRUaW1lJ107XG4gIGl0ZW06IFRvb2x0aXBGaWVsZDtcbn07XG5cbmNvbnN0IEVudHJ5SW5mb1JvdzogUmVhY3QuRkM8RW50cnlJbmZvUm93UHJvcHM+ID0gKHtcbiAgbGF5ZXIsXG4gIGl0ZW0sXG4gIGZpZWxkcyxcbiAgZGF0YSxcbiAgcHJpbWFyeURhdGEsXG4gIGNvbXBhcmVUeXBlLFxuICBjdXJyZW50VGltZVxufSkgPT4ge1xuICBjb25zdCBmaWVsZElkeCA9IGZpZWxkcy5maW5kSW5kZXgoZiA9PiBmLm5hbWUgPT09IGl0ZW0ubmFtZSk7XG4gIGlmIChmaWVsZElkeCA8IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBmaWVsZCA9IGZpZWxkc1tmaWVsZElkeF07XG4gIGNvbnN0IGZpZWxkVmFsdWVBY2Nlc3NvciA9IGxheWVyLmFjY2Vzc1ZTRmllbGRWYWx1ZShmaWVsZCwgY3VycmVudFRpbWUpO1xuICBjb25zdCB2YWx1ZSA9IGZpZWxkVmFsdWVBY2Nlc3NvcihmaWVsZCwgZGF0YSBpbnN0YW5jZW9mIERhdGFSb3cgPyB7aW5kZXg6IGRhdGEuX3Jvd0luZGV4fSA6IGRhdGEpO1xuXG4gIC8vIEhhbmRsZSBXTVMgbGF5ZXIgZGF0YSBpbiBjb21wYXJpc29uIG1vZGUgLSBXTVMgbGF5ZXJzIGRvbid0IGhhdmUgY29tcGFyYWJsZSBmaWVsZCBkYXRhXG4gIGxldCBwcmltYXJ5VmFsdWUgPSBudWxsO1xuICBsZXQgZGlzcGxheURlbHRhVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGlmIChwcmltYXJ5RGF0YSkge1xuICAgIHRyeSB7XG4gICAgICAvLyBPbmx5IGNhbGN1bGF0ZSBwcmltYXJ5IHZhbHVlIGlmIHByaW1hcnlEYXRhIGhhcyBhIGNvbXBhdGlibGUgc3RydWN0dXJlXG4gICAgICBpZiAoXG4gICAgICAgIHByaW1hcnlEYXRhIGluc3RhbmNlb2YgRGF0YVJvdyB8fFxuICAgICAgICAocHJpbWFyeURhdGEgJiYgdHlwZW9mIHByaW1hcnlEYXRhID09PSAnb2JqZWN0JyAmJiAnaW5kZXgnIGluIHByaW1hcnlEYXRhKVxuICAgICAgKSB7XG4gICAgICAgIHByaW1hcnlWYWx1ZSA9IGZpZWxkVmFsdWVBY2Nlc3NvcihcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBwcmltYXJ5RGF0YSBpbnN0YW5jZW9mIERhdGFSb3cgPyB7aW5kZXg6IHByaW1hcnlEYXRhLl9yb3dJbmRleH0gOiBwcmltYXJ5RGF0YVxuICAgICAgICApO1xuXG4gICAgICAgIGRpc3BsYXlEZWx0YVZhbHVlID0gZ2V0VG9vbHRpcERpc3BsYXlEZWx0YVZhbHVlKHtcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBwcmltYXJ5VmFsdWUsXG4gICAgICAgICAgY29tcGFyZVR5cGVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIElmIHRoZXJlJ3MgYW4gZXJyb3IgYWNjZXNzaW5nIHByaW1hcnlEYXRhIChlLmcuLCBXTVMgbGF5ZXIgZGF0YSksIHNraXAgY29tcGFyaXNvblxuICAgICAgcHJpbWFyeVZhbHVlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkaXNwbGF5VmFsdWUgPSBnZXRUb29sdGlwRGlzcGxheVZhbHVlKHtpdGVtLCBmaWVsZCwgdmFsdWV9KTtcblxuICByZXR1cm4gKFxuICAgIDxSb3dcbiAgICAgIG5hbWU9e2ZpZWxkLmRpc3BsYXlOYW1lIHx8IGZpZWxkLm5hbWV9XG4gICAgICB2YWx1ZT17ZGlzcGxheVZhbHVlfVxuICAgICAgZGVsdGFWYWx1ZT17ZGlzcGxheURlbHRhVmFsdWV9XG4gICAgLz5cbiAgKTtcbn07XG5cbi8vIFRPRE86IHN1cHBvcnRpbmcgY29tcGFyYXRpdmUgdmFsdWUgZm9yIGFnZ3JlZ2F0ZWQgY2VsbHMgYXMgd2VsbFxuY29uc3QgQ2VsbEluZm8gPSAoe1xuICBmaWVsZHNUb1Nob3csXG4gIGRhdGEsXG4gIGxheWVyXG59OiB7XG4gIGRhdGE6IEFnZ3JlZ2F0aW9uTGF5ZXJIb3ZlckRhdGE7XG4gIGZpZWxkc1RvU2hvdzogVG9vbHRpcEZpZWxkW107XG4gIGxheWVyOiBMYXllcjtcbn0pID0+IHtcbiAgY29uc3Qge2NvbG9yRmllbGQsIHNpemVGaWVsZH0gPSBsYXllci5jb25maWcgYXMgYW55O1xuXG4gIGNvbnN0IGNvbG9yVmFsdWUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoY29sb3JGaWVsZCAmJiBsYXllci52aXN1YWxDaGFubmVscy5jb2xvcikge1xuICAgICAgY29uc3QgaXRlbSA9IGZpZWxkc1RvU2hvdy5maW5kKGZpZWxkID0+IGZpZWxkLm5hbWUgPT09IGNvbG9yRmllbGQubmFtZSk7XG4gICAgICByZXR1cm4gZ2V0VG9vbHRpcERpc3BsYXlWYWx1ZSh7aXRlbSwgZmllbGQ6IGNvbG9yRmllbGQsIHZhbHVlOiBkYXRhLmNvbG9yVmFsdWV9KTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH0sIFtmaWVsZHNUb1Nob3csIGNvbG9yRmllbGQsIGxheWVyLCBkYXRhLmNvbG9yVmFsdWVdKTtcblxuICBjb25zdCBlbGV2YXRpb25WYWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChzaXplRmllbGQgJiYgbGF5ZXIudmlzdWFsQ2hhbm5lbHMuc2l6ZSkge1xuICAgICAgY29uc3QgaXRlbSA9IGZpZWxkc1RvU2hvdy5maW5kKGZpZWxkID0+IGZpZWxkLm5hbWUgPT09IHNpemVGaWVsZC5uYW1lKTtcbiAgICAgIHJldHVybiBnZXRUb29sdGlwRGlzcGxheVZhbHVlKHtpdGVtLCBmaWVsZDogc2l6ZUZpZWxkLCB2YWx1ZTogZGF0YS5lbGV2YXRpb25WYWx1ZX0pO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgW2ZpZWxkc1RvU2hvdywgc2l6ZUZpZWxkLCBsYXllciwgZGF0YS5lbGV2YXRpb25WYWx1ZV0pO1xuXG4gIGNvbnN0IGFnZ3JlZ2F0ZWREYXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGRhdGEuYWdncmVnYXRlZERhdGEgJiYgZmllbGRzVG9TaG93KSB7XG4gICAgICByZXR1cm4gZmllbGRzVG9TaG93LnJlZHVjZSgoYWNjLCBmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhRm9yRmllbGQgPSBkYXRhLmFnZ3JlZ2F0ZWREYXRhPy5bZmllbGQubmFtZV07XG4gICAgICAgIGlmIChkYXRhRm9yRmllbGQ/Lm1lYXN1cmUgJiYgZmllbGQubmFtZSAhPT0gY29sb3JGaWVsZD8ubmFtZSkge1xuICAgICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IGAke2NhcGl0YWxpemVGaXJzdExldHRlcihkYXRhRm9yRmllbGQubWVhc3VyZSl9IG9mICR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgICAgdmFsdWU6IGRhdGFGb3JGaWVsZC52YWx1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCBbXSBhcyB7bmFtZTogc3RyaW5nOyB2YWx1ZT86IHN0cmluZ31bXSk7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfSwgW2RhdGEuYWdncmVnYXRlZERhdGEsIGZpZWxkc1RvU2hvdywgY29sb3JGaWVsZD8ubmFtZV0pO1xuXG4gIGNvbnN0IGNvbG9yTWVhc3VyZSA9IGxheWVyLmdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbignY29sb3InKS5tZWFzdXJlO1xuICBjb25zdCBzaXplTWVhc3VyZSA9IGxheWVyLmdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbignc2l6ZScpLm1lYXN1cmU7XG4gIHJldHVybiAoXG4gICAgPHRib2R5PlxuICAgICAgPFJvdyBuYW1lPXsndG90YWwgcG9pbnRzJ30ga2V5PVwiY291bnRcIiB2YWx1ZT17U3RyaW5nKGRhdGEucG9pbnRzICYmIGRhdGEucG9pbnRzLmxlbmd0aCl9IC8+XG4gICAgICB7Y29sb3JGaWVsZCAmJiBsYXllci52aXN1YWxDaGFubmVscy5jb2xvciAmJiBjb2xvck1lYXN1cmUgPyAoXG4gICAgICAgIDxSb3cgbmFtZT17Y29sb3JNZWFzdXJlfSBrZXk9XCJjb2xvclwiIHZhbHVlPXtjb2xvclZhbHVlIHx8ICdOL0EnfSAvPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7c2l6ZUZpZWxkICYmIGxheWVyLnZpc3VhbENoYW5uZWxzLnNpemUgJiYgc2l6ZU1lYXN1cmUgPyAoXG4gICAgICAgIDxSb3cgbmFtZT17c2l6ZU1lYXN1cmV9IGtleT1cInNpemVcIiB2YWx1ZT17ZWxldmF0aW9uVmFsdWUgfHwgJ04vQSd9IC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHthZ2dyZWdhdGVkRGF0YS5tYXAoKGRhdGFGb3JGaWVsZCwgaWR4KSA9PiAoXG4gICAgICAgIDxSb3cgbmFtZT17ZGF0YUZvckZpZWxkLm5hbWV9IGtleT17YGRhdGFfJHtpZHh9YH0gdmFsdWU9e2RhdGFGb3JGaWVsZC52YWx1ZSB8fCAnTi9BJ30gLz5cbiAgICAgICkpfVxuICAgIDwvdGJvZHk+XG4gICk7XG59O1xuXG5jb25zdCBMYXllckhvdmVySW5mb0ZhY3RvcnkgPSAoKSA9PiB7XG4gIGNvbnN0IExheWVySG92ZXJJbmZvID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHtkYXRhLCBsYXllcn0gPSBwcm9wcztcbiAgICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICAgIGlmICghZGF0YSB8fCAhbGF5ZXIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGhhc0ZpZWxkc1RvU2hvdyA9XG4gICAgICAoZGF0YS5maWVsZFZhbHVlcyAmJiBPYmplY3Qua2V5cyhkYXRhLmZpZWxkVmFsdWVzKS5sZW5ndGggPiAwKSB8fFxuICAgICAgKGRhdGEud21zRmVhdHVyZURhdGEgJiYgZGF0YS53bXNGZWF0dXJlRGF0YS5sZW5ndGggPiAwKSB8fFxuICAgICAgKHByb3BzLmZpZWxkc1RvU2hvdyAmJiBwcm9wcy5maWVsZHNUb1Nob3cubGVuZ3RoID4gMCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXAtcG9wb3Zlcl9fbGF5ZXItaW5mb1wiPlxuICAgICAgICA8U3R5bGVkTGF5ZXJOYW1lIGNsYXNzTmFtZT1cIm1hcC1wb3BvdmVyX19sYXllci1uYW1lXCI+XG4gICAgICAgICAgPExheWVycyBoZWlnaHQ9XCIxMnB4XCIgLz5cbiAgICAgICAgICB7cHJvcHMubGF5ZXIuY29uZmlnLmxhYmVsfVxuICAgICAgICA8L1N0eWxlZExheWVyTmFtZT5cbiAgICAgICAge2hhc0ZpZWxkc1RvU2hvdyAmJiA8U3R5bGVkRGl2aWRlciAvPn1cbiAgICAgICAgPFN0eWxlZFRhYmxlPlxuICAgICAgICAgIHtkYXRhLndtc0ZlYXR1cmVEYXRhID8gKFxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICB7ZGF0YS53bXNGZWF0dXJlRGF0YS5tYXAoKHtuYW1lLCB2YWx1ZX0sIGkpID0+IChcbiAgICAgICAgICAgICAgICA8Um93IGtleT17aX0gbmFtZT17bmFtZX0gdmFsdWU9e3ZhbHVlfSAvPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgKSA6IGRhdGEuZmllbGRWYWx1ZXMgPyAoXG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgIHtkYXRhLmZpZWxkVmFsdWVzLm1hcCgoe2xhYmVsTWVzc2FnZSwgdmFsdWV9LCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgPFJvdyBrZXk9e2l9IG5hbWU9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IGxhYmVsTWVzc2FnZX0pfSB2YWx1ZT17dmFsdWV9IC8+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICApIDogcHJvcHMubGF5ZXIuaXNBZ2dyZWdhdGVkID8gKFxuICAgICAgICAgICAgPENlbGxJbmZvIHsuLi5wcm9wc30gLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPEVudHJ5SW5mbyB7Li4ucHJvcHN9IC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TdHlsZWRUYWJsZT5cbiAgICAgICAge2hhc0ZpZWxkc1RvU2hvdyAmJiA8U3R5bGVkRGl2aWRlciAvPn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgTGF5ZXJIb3ZlckluZm8ucHJvcFR5cGVzID0ge1xuICAgIGZpZWxkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksXG4gICAgZmllbGRzVG9TaG93OiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSxcbiAgICBsYXllcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkYXRhOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KSwgUHJvcFR5cGVzLm9iamVjdF0pXG4gIH07XG4gIHJldHVybiBMYXllckhvdmVySW5mbztcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExheWVySG92ZXJJbmZvRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFB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
|
|
@@ -3,7 +3,7 @@ import MapControlTooltipFactory from './map-control-tooltip';
|
|
|
3
3
|
import MapControlPanelFactory from './map-control-panel';
|
|
4
4
|
import { Layer } from '@kepler.gl/layers';
|
|
5
5
|
import { MapControls } from '@kepler.gl/types';
|
|
6
|
-
export
|
|
6
|
+
export type LayerSelectorPanelProps = {
|
|
7
7
|
onMapToggleLayer: (layerId: string) => void;
|
|
8
8
|
onToggleMapControl: (control: string) => void;
|
|
9
9
|
layers: ReadonlyArray<Layer>;
|
package/dist/map/lazy-tippy.js
CHANGED
|
@@ -18,7 +18,6 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
18
18
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
19
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // SPDX-License-Identifier: MIT
|
|
20
20
|
// Copyright contributors to the kepler.gl project
|
|
21
|
-
// @ts-nocheck
|
|
22
21
|
var isTestEnv = (0, _utils.isTest)();
|
|
23
22
|
|
|
24
23
|
/**
|
|
@@ -47,8 +46,9 @@ var LazyTippy = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
47
46
|
var computedProps = _objectSpread({}, props);
|
|
48
47
|
computedProps.plugins = [lazyPlugin].concat((0, _toConsumableArray2["default"])(props.plugins || []));
|
|
49
48
|
if (props.render) {
|
|
49
|
+
var render = props.render;
|
|
50
50
|
computedProps.render = function () {
|
|
51
|
-
return mounted ?
|
|
51
|
+
return mounted ? render.apply(void 0, arguments) : '';
|
|
52
52
|
};
|
|
53
53
|
} else {
|
|
54
54
|
computedProps.content = mounted ? props.content : '';
|
|
@@ -58,4 +58,4 @@ var LazyTippy = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
58
58
|
}));
|
|
59
59
|
});
|
|
60
60
|
var _default = exports["default"] = LazyTippy;
|
|
61
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaGVhZGxlc3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiaXNUZXN0RW52IiwiaXNUZXN0IiwiTGF6eVRpcHB5IiwiZm9yd2FyZFJlZiIsInByb3BzIiwicmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibW91bnRlZCIsInNldE1vdW50ZWQiLCJsYXp5UGx1Z2luIiwiZm4iLCJvbk1vdW50Iiwib25IaWRkZW4iLCJjb21wdXRlZFByb3BzIiwicGx1Z2lucyIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJyZW5kZXIiLCJjb250ZW50IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbGF6eS10aXBweS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlU3RhdGUsIGZvcndhcmRSZWYsIFJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFRpcHB5IGZyb20gJ0B0aXBweWpzL3JlYWN0L2hlYWRsZXNzJztcbmltcG9ydCB0eXBlIHtUaXBweVByb3BzfSBmcm9tICdAdGlwcHlqcy9yZWFjdCc7XG5pbXBvcnQge2lzVGVzdH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmNvbnN0IGlzVGVzdEVudiA9IGlzVGVzdCgpO1xuXG4vKipcbiAqIExhenkgbW91bnRpbmcgdGlwcHkgY29udGVudFxuICogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vYXRvbWlrcy81MjBmNGIwYzdiNTM3MjAyYTIzYTMwNTlkNGVlYzkwOFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGlzcGxheS1uYW1lXG5jb25zdCBMYXp5VGlwcHkgPSBmb3J3YXJkUmVmKChwcm9wczogVGlwcHlQcm9wcywgcmVmKSA9PiB7XG4gIC8vIE1vdW50IGluIHRlc3QgZW52IGZvciBlYXNpZXIgdGVzdGluZ1xuICBjb25zdCBbbW91bnRlZCwgc2V0TW91bnRlZF0gPSB1c2VTdGF0ZShpc1Rlc3RFbnYpO1xuXG4gIGNvbnN0IGxhenlQbHVnaW4gPSB7XG4gICAgZm46ICgpID0+ICh7XG4gICAgICBvbk1vdW50OiAoKSA9PiBzZXRNb3VudGVkKHRydWUpLFxuICAgICAgb25IaWRkZW46ICgpID0+IHNldE1vdW50ZWQoZmFsc2UpXG4gICAgfSlcbiAgfTtcblxuICBjb25zdCBjb21wdXRlZFByb3BzID0gey4uLnByb3BzfTtcblxuICBjb21wdXRlZFByb3BzLnBsdWdpbnMgPSBbbGF6eVBsdWdpbiwgLi4uKHByb3BzLnBsdWdpbnMgfHwgW10pXTtcblxuICBpZiAocHJvcHMucmVuZGVyKSB7XG4gICAgY29uc3QgcmVuZGVyID0gcHJvcHMucmVuZGVyO1xuICAgIGNvbXB1dGVkUHJvcHMucmVuZGVyID0gKC4uLmFyZ3MpID0+IChtb3VudGVkID8gcmVuZGVyKC4uLmFyZ3MpIDogJycpO1xuICB9IGVsc2Uge1xuICAgIGNvbXB1dGVkUHJvcHMuY29udGVudCA9IG1vdW50ZWQgPyBwcm9wcy5jb250ZW50IDogJyc7XG4gIH1cblxuICByZXR1cm4gPFRpcHB5IHsuLi5jb21wdXRlZFByb3BzfSByZWY9e3JlZiBhcyBSZWY8RWxlbWVudD59IC8+O1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0IExhenlUaXBweTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQXdDLFNBQUFJLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTix3QkFBQU0sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFB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
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import MapControlTooltipFactory from './map-control-tooltip';
|
|
3
3
|
import MapControlToolbarFactory from './map-control-toolbar';
|
|
4
4
|
import { MapControls } from '@kepler.gl/types';
|
|
5
|
-
export
|
|
5
|
+
export type LocalePanelProps = {
|
|
6
6
|
availableLocales: ReadonlyArray<string>;
|
|
7
7
|
onSetLocale: (locale: string) => void;
|
|
8
8
|
locale: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { MapState } from '@kepler.gl/types';
|
|
3
3
|
import { ActionHandler, toggleSplitMapViewport } from '@kepler.gl/actions';
|
|
4
|
-
export
|
|
4
|
+
export type MapControlPanelProps = {
|
|
5
5
|
header?: string;
|
|
6
6
|
scale?: number;
|
|
7
7
|
onClick?: React.MouseEventHandler<HTMLDivElement>;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { BaseComponentProps } from '../types';
|
|
3
2
|
declare function MapControlToolbar(): import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("styled-components/dist/types").FastOmit<{
|
|
4
|
-
show?: boolean
|
|
3
|
+
show?: boolean;
|
|
5
4
|
} & import("react").HTMLAttributes<unknown> & {
|
|
6
|
-
children?: import("react").ReactNode;
|
|
5
|
+
children?: import("react").ReactNode | undefined;
|
|
7
6
|
}, "show" | keyof import("react").HTMLAttributes<unknown>> & {
|
|
8
|
-
show?: boolean
|
|
7
|
+
show?: boolean;
|
|
9
8
|
} & import("react").HTMLAttributes<unknown> & {
|
|
10
|
-
children?: import("react").ReactNode;
|
|
9
|
+
children?: import("react").ReactNode | undefined;
|
|
11
10
|
}, BaseComponentProps>> & Omit<import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<{
|
|
12
|
-
show?: boolean
|
|
11
|
+
show?: boolean;
|
|
13
12
|
} & import("react").HTMLAttributes<unknown> & {
|
|
14
|
-
children?: import("react").ReactNode;
|
|
13
|
+
children?: import("react").ReactNode | undefined;
|
|
15
14
|
}, import("../common/toolbar").ToolbarProps>> & Omit<import("styled-components").IStyledComponent<"web", import("../common/toolbar").ToolbarProps>, keyof import("react").Component<any, {}, any>>, keyof import("react").Component<any, {}, any>>;
|
|
16
15
|
export default MapControlToolbar;
|
|
@@ -9,7 +9,7 @@ import { Layer } from '@kepler.gl/layers';
|
|
|
9
9
|
import { Editor, LayerVisConfig, MapControls, MapState } from '@kepler.gl/types';
|
|
10
10
|
import { Datasets } from '@kepler.gl/table';
|
|
11
11
|
import { MapStateActions, UIStateActions } from '@kepler.gl/actions';
|
|
12
|
-
export
|
|
12
|
+
export type MapControlProps = {
|
|
13
13
|
datasets: Datasets;
|
|
14
14
|
dragRotate: boolean;
|
|
15
15
|
isSplit: boolean;
|
|
@@ -31,6 +31,7 @@ export declare type MapControlProps = {
|
|
|
31
31
|
onSetEditorMode: (mode: string) => void;
|
|
32
32
|
onToggleEditorVisibility: () => void;
|
|
33
33
|
onLayerVisConfigChange: (oldLayer: Layer, newVisConfig: Partial<LayerVisConfig>) => void;
|
|
34
|
+
onToggleLayerVisibility?: (layer: Layer) => void;
|
|
34
35
|
top: number;
|
|
35
36
|
onSetLocale: typeof UIStateActions.setLocale;
|
|
36
37
|
availableLocales: string[];
|
|
@@ -50,7 +51,7 @@ export declare type MapControlProps = {
|
|
|
50
51
|
mapHeight?: number;
|
|
51
52
|
};
|
|
52
53
|
declare function MapControlFactory(SplitMapButton: ReturnType<typeof SplitMapButtonFactory>, Toggle3dButton: ReturnType<typeof Toggle3dButtonFactory>, LayerSelectorPanel: ReturnType<typeof LayerSelectorPanelFactory>, MapLegendPanel: ReturnType<typeof MapLegendPanelFactory>, MapDrawPanel: ReturnType<typeof MapDrawPanelFactory>, LocalePanel: ReturnType<typeof LocalePanelFactory>): React.FC<MapControlProps> & {
|
|
53
|
-
defaultActionComponents: MapControlProps[
|
|
54
|
+
defaultActionComponents: MapControlProps["actionComponents"];
|
|
54
55
|
};
|
|
55
56
|
declare namespace MapControlFactory {
|
|
56
57
|
var deps: (typeof LocalePanelFactory | typeof SplitMapButtonFactory | typeof Toggle3dButtonFactory | typeof LayerSelectorPanelFactory | typeof MapLegendPanelFactory | typeof MapDrawPanelFactory)[];
|
package/dist/map/map-control.js
CHANGED
|
@@ -68,4 +68,4 @@ function MapControlFactory(SplitMapButton, Toggle3dButton, LayerSelectorPanel, M
|
|
|
68
68
|
return MapControl;
|
|
69
69
|
}
|
|
70
70
|
var _default = exports["default"] = MapControlFactory;
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2xvZ28iLCJfc3BsaXRNYXBCdXR0b24iLCJfdG9nZ2xlM2RCdXR0b24iLCJfbGF5ZXJTZWxlY3RvclBhbmVsIiwiX21hcExlZ2VuZFBhbmVsIiwiX21hcERyYXdQYW5lbCIsIl9sb2NhbGVQYW5lbCIsIl9leGNsdWRlZCIsIl90ZW1wbGF0ZU9iamVjdCIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiU3R5bGVkTWFwQ29udHJvbCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiJHRvcCIsIkxlZ2VuZExvZ28iLCJjcmVhdGVFbGVtZW50IiwidmVyc2lvbiIsImFwcE5hbWUiLCJNYXBDb250cm9sRmFjdG9yeSIsImRlcHMiLCJTcGxpdE1hcEJ1dHRvbkZhY3RvcnkiLCJUb2dnbGUzZEJ1dHRvbkZhY3RvcnkiLCJMYXllclNlbGVjdG9yUGFuZWxGYWN0b3J5IiwiTWFwTGVnZW5kUGFuZWxGYWN0b3J5IiwiTWFwRHJhd1BhbmVsRmFjdG9yeSIsIkxvY2FsZVBhbmVsRmFjdG9yeSIsIlNwbGl0TWFwQnV0dG9uIiwiVG9nZ2xlM2RCdXR0b24iLCJMYXllclNlbGVjdG9yUGFuZWwiLCJNYXBMZWdlbmRQYW5lbCIsIk1hcERyYXdQYW5lbCIsIkxvY2FsZVBhbmVsIiwiREVGQVVMVF9BQ1RJT05TIiwiTWFwQ29udHJvbCIsIl9yZWYiLCJfcmVmJGFjdGlvbkNvbXBvbmVudHMiLCJhY3Rpb25Db21wb25lbnRzIiwiX3JlZiRpc1NwbGl0IiwiaXNTcGxpdCIsIl9yZWYkdG9wIiwidG9wIiwiX3JlZiRtYXBJbmRleCIsIm1hcEluZGV4IiwiX3JlZiRsb2dvQ29tcG9uZW50IiwibG9nb0NvbXBvbmVudCIsInJlc3RQcm9wcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJhY3Rpb25Db21wb25lbnRQcm9wcyIsImNsYXNzTmFtZSIsIm1hcCIsIkFjdGlvbkNvbXBvbmVudCIsImluZGV4IiwiX2V4dGVuZHMyIiwia2V5IiwiZGVmYXVsdEFjdGlvbkNvbXBvbmVudHMiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWNvbnRyb2wudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBLZXBsZXJHbExvZ28gZnJvbSAnLi4vY29tbW9uL2xvZ28nO1xuXG4vLyBmYWN0b3JpZXNcbmltcG9ydCBTcGxpdE1hcEJ1dHRvbkZhY3RvcnkgZnJvbSAnLi9zcGxpdC1tYXAtYnV0dG9uJztcbmltcG9ydCBUb2dnbGUzZEJ1dHRvbkZhY3RvcnkgZnJvbSAnLi90b2dnbGUtM2QtYnV0dG9uJztcbmltcG9ydCBMYXllclNlbGVjdG9yUGFuZWxGYWN0b3J5IGZyb20gJy4vbGF5ZXItc2VsZWN0b3ItcGFuZWwnO1xuaW1wb3J0IE1hcExlZ2VuZFBhbmVsRmFjdG9yeSBmcm9tICcuL21hcC1sZWdlbmQtcGFuZWwnO1xuaW1wb3J0IE1hcERyYXdQYW5lbEZhY3RvcnkgZnJvbSAnLi9tYXAtZHJhdy1wYW5lbCc7XG5pbXBvcnQgTG9jYWxlUGFuZWxGYWN0b3J5IGZyb20gJy4vbG9jYWxlLXBhbmVsJztcbmltcG9ydCB7TGF5ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7RWRpdG9yLCBMYXllclZpc0NvbmZpZywgTWFwQ29udHJvbHMsIE1hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtNYXBTdGF0ZUFjdGlvbnMsIFVJU3RhdGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuXG5pbnRlcmZhY2UgU3R5bGVkTWFwQ29udHJvbFByb3BzIHtcbiAgJHRvcD86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkTWFwQ29udHJvbCA9IHN0eWxlZC5kaXY8U3R5bGVkTWFwQ29udHJvbFByb3BzPmBcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC5wYWRkaW5nfXB4O1xuICB6LWluZGV4OiAxMDtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy4kdG9wIHx8IDB9cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcm93LWdhcDogOHB4O1xuICBqdXN0aWZ5LWl0ZW1zOiBlbmQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBwcmV2ZW50IHBhZGRpbmcgZnJvbSBibG9ja2luZyBpbnB1dCAqL1xuICAmID4gKiB7XG4gICAgLyogYWxsIGNoaWxkcmVuIHNob3VsZCBhbGxvdyBpbnB1dCAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbmA7XG5cbmNvbnN0IExlZ2VuZExvZ28gPSA8S2VwbGVyR2xMb2dvIHZlcnNpb249e2ZhbHNlfSBhcHBOYW1lPVwia2VwbGVyLmdsXCIgLz47XG5cbmV4cG9ydCB0eXBlIE1hcENvbnRyb2xQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBkcmFnUm90YXRlOiBib29sZWFuO1xuICBpc1NwbGl0OiBib29sZWFuO1xuICBwcmltYXJ5OiBib29sZWFuO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyc1RvUmVuZGVyOiB7W2tleTogc3RyaW5nXTogYm9vbGVhbn07XG4gIG1hcEluZGV4OiBudW1iZXI7XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgb25Ub2dnbGVQZXJzcGVjdGl2ZTogKCkgPT4gdm9pZDtcbiAgb25Ub2dnbGVTcGxpdE1hcDogdHlwZW9mIE1hcFN0YXRlQWN0aW9ucy50b2dnbGVTcGxpdE1hcDtcbiAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0OiAoe1xuICAgIGlzVmlld3BvcnRTeW5jZWQsXG4gICAgaXNab29tTG9ja2VkXG4gIH06IHtcbiAgICBpc1ZpZXdwb3J0U3luY2VkOiBib29sZWFuO1xuICAgIGlzWm9vbUxvY2tlZDogYm9vbGVhbjtcbiAgfSkgPT4gdm9pZDtcbiAgb25NYXBUb2dnbGVMYXllcjogKGxheWVySWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgb25Ub2dnbGVNYXBDb250cm9sOiAoY29udHJvbDogc3RyaW5nKSA9PiB2b2lkO1xuICBvblNldEVkaXRvck1vZGU6IChtb2RlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlRWRpdG9yVmlzaWJpbGl0eTogKCkgPT4gdm9pZDtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZTogKG9sZExheWVyOiBMYXllciwgbmV3VmlzQ29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4gdm9pZDtcbiAgdG9wOiBudW1iZXI7XG4gIG9uU2V0TG9jYWxlOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnMuc2V0TG9jYWxlO1xuICBhdmFpbGFibGVMb2NhbGVzOiBzdHJpbmdbXTtcbiAgbG9jYWxlOiBzdHJpbmc7XG4gIGxvZ29Db21wb25lbnQ/OiBSZWFjdC5GQyB8IFJlYWN0LlJlYWN0Tm9kZTtcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xuXG4gIHNldE1hcENvbnRyb2xTZXR0aW5nczogdHlwZW9mIFVJU3RhdGVBY3Rpb25zLnNldE1hcENvbnRyb2xTZXR0aW5ncztcbiAgYWN0aXZlU2lkZVBhbmVsOiBzdHJpbmcgfCBudWxsO1xuXG4gIC8vIG9wdGlvbmFsXG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgc2NhbGU/OiBudW1iZXI7XG4gIG1hcExheWVycz86IHtba2V5OiBzdHJpbmddOiBib29sZWFufTtcbiAgZWRpdG9yOiBFZGl0b3I7XG4gIGFjdGlvbkNvbXBvbmVudHM/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXTtcbiAgbWFwSGVpZ2h0PzogbnVtYmVyO1xufTtcblxuTWFwQ29udHJvbEZhY3RvcnkuZGVwcyA9IFtcbiAgU3BsaXRNYXBCdXR0b25GYWN0b3J5LFxuICBUb2dnbGUzZEJ1dHRvbkZhY3RvcnksXG4gIExheWVyU2VsZWN0b3JQYW5lbEZhY3RvcnksXG4gIE1hcExlZ2VuZFBhbmVsRmFjdG9yeSxcbiAgTWFwRHJhd1BhbmVsRmFjdG9yeSxcbiAgTG9jYWxlUGFuZWxGYWN0b3J5XG5dO1xuXG5mdW5jdGlvbiBNYXBDb250cm9sRmFjdG9yeShcbiAgU3BsaXRNYXBCdXR0b246IFJldHVyblR5cGU8dHlwZW9mIFNwbGl0TWFwQnV0dG9uRmFjdG9yeT4sXG4gIFRvZ2dsZTNkQnV0dG9uOiBSZXR1cm5UeXBlPHR5cGVvZiBUb2dnbGUzZEJ1dHRvbkZhY3Rvcnk+LFxuICBMYXllclNlbGVjdG9yUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIExheWVyU2VsZWN0b3JQYW5lbEZhY3Rvcnk+LFxuICBNYXBMZWdlbmRQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwTGVnZW5kUGFuZWxGYWN0b3J5PixcbiAgTWFwRHJhd1BhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBEcmF3UGFuZWxGYWN0b3J5PixcbiAgTG9jYWxlUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIExvY2FsZVBhbmVsRmFjdG9yeT5cbikge1xuICBjb25zdCBERUZBVUxUX0FDVElPTlMgPSBbXG4gICAgU3BsaXRNYXBCdXR0b24sXG4gICAgTGF5ZXJTZWxlY3RvclBhbmVsLFxuICAgIFRvZ2dsZTNkQnV0dG9uLFxuICAgIE1hcERyYXdQYW5lbCxcbiAgICBMb2NhbGVQYW5lbCxcbiAgICBNYXBMZWdlbmRQYW5lbFxuICBdO1xuXG4gIGNvbnN0IE1hcENvbnRyb2w6IFJlYWN0LkZDPE1hcENvbnRyb2xQcm9wcz4gJiB7XG4gICAgZGVmYXVsdEFjdGlvbkNvbXBvbmVudHM6IE1hcENvbnRyb2xQcm9wc1snYWN0aW9uQ29tcG9uZW50cyddO1xuICB9ID0gKHtcbiAgICBhY3Rpb25Db21wb25lbnRzID0gREVGQVVMVF9BQ1RJT05TLFxuICAgIGlzU3BsaXQgPSBmYWxzZSxcbiAgICB0b3AgPSAwLFxuICAgIG1hcEluZGV4ID0gMCxcbiAgICBsb2dvQ29tcG9uZW50ID0gTGVnZW5kTG9nbyxcbiAgICAuLi5yZXN0UHJvcHNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGFjdGlvbkNvbXBvbmVudFByb3BzID0ge1xuICAgICAgaXNTcGxpdCxcbiAgICAgIG1hcEluZGV4LFxuICAgICAgbG9nb0NvbXBvbmVudCxcbiAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH07XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNYXBDb250cm9sIGNsYXNzTmFtZT1cIm1hcC1jb250cm9sXCIgJHRvcD17dG9wfT5cbiAgICAgICAge2FjdGlvbkNvbXBvbmVudHMubWFwKChBY3Rpb25Db21wb25lbnQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEFjdGlvbkNvbXBvbmVudCBrZXk9e2luZGV4fSBjbGFzc05hbWU9XCJtYXAtY29udHJvbC1hY3Rpb25cIiB7Li4uYWN0aW9uQ29tcG9uZW50UHJvcHN9IC8+XG4gICAgICAgICkpfVxuICAgICAgPC9TdHlsZWRNYXBDb250cm9sPlxuICAgICk7XG4gIH07XG5cbiAgTWFwQ29udHJvbC5kZWZhdWx0QWN0aW9uQ29tcG9uZW50cyA9IERFRkFVTFRfQUNUSU9OUztcblxuICBNYXBDb250cm9sLmRpc3BsYXlOYW1lID0gJ01hcENvbnRyb2wnO1xuXG4gIHJldHVybiBNYXBDb250cm9sO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBDb250cm9sRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUcsZUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssbUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLGVBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLFlBQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUFnRCxJQUFBUyxTQUFBO0FBQUEsSUFBQUMsZUFBQSxFQWJoRDtBQUNBO0FBTUE7QUFBQSxTQUFBQyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENB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
|
|
71
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2xvZ28iLCJfc3BsaXRNYXBCdXR0b24iLCJfdG9nZ2xlM2RCdXR0b24iLCJfbGF5ZXJTZWxlY3RvclBhbmVsIiwiX21hcExlZ2VuZFBhbmVsIiwiX21hcERyYXdQYW5lbCIsIl9sb2NhbGVQYW5lbCIsIl9leGNsdWRlZCIsIl90ZW1wbGF0ZU9iamVjdCIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiU3R5bGVkTWFwQ29udHJvbCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiJHRvcCIsIkxlZ2VuZExvZ28iLCJjcmVhdGVFbGVtZW50IiwidmVyc2lvbiIsImFwcE5hbWUiLCJNYXBDb250cm9sRmFjdG9yeSIsImRlcHMiLCJTcGxpdE1hcEJ1dHRvbkZhY3RvcnkiLCJUb2dnbGUzZEJ1dHRvbkZhY3RvcnkiLCJMYXllclNlbGVjdG9yUGFuZWxGYWN0b3J5IiwiTWFwTGVnZW5kUGFuZWxGYWN0b3J5IiwiTWFwRHJhd1BhbmVsRmFjdG9yeSIsIkxvY2FsZVBhbmVsRmFjdG9yeSIsIlNwbGl0TWFwQnV0dG9uIiwiVG9nZ2xlM2RCdXR0b24iLCJMYXllclNlbGVjdG9yUGFuZWwiLCJNYXBMZWdlbmRQYW5lbCIsIk1hcERyYXdQYW5lbCIsIkxvY2FsZVBhbmVsIiwiREVGQVVMVF9BQ1RJT05TIiwiTWFwQ29udHJvbCIsIl9yZWYiLCJfcmVmJGFjdGlvbkNvbXBvbmVudHMiLCJhY3Rpb25Db21wb25lbnRzIiwiX3JlZiRpc1NwbGl0IiwiaXNTcGxpdCIsIl9yZWYkdG9wIiwidG9wIiwiX3JlZiRtYXBJbmRleCIsIm1hcEluZGV4IiwiX3JlZiRsb2dvQ29tcG9uZW50IiwibG9nb0NvbXBvbmVudCIsInJlc3RQcm9wcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJhY3Rpb25Db21wb25lbnRQcm9wcyIsImNsYXNzTmFtZSIsIm1hcCIsIkFjdGlvbkNvbXBvbmVudCIsImluZGV4IiwiX2V4dGVuZHMyIiwia2V5IiwiZGVmYXVsdEFjdGlvbkNvbXBvbmVudHMiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWNvbnRyb2wudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBLZXBsZXJHbExvZ28gZnJvbSAnLi4vY29tbW9uL2xvZ28nO1xuXG4vLyBmYWN0b3JpZXNcbmltcG9ydCBTcGxpdE1hcEJ1dHRvbkZhY3RvcnkgZnJvbSAnLi9zcGxpdC1tYXAtYnV0dG9uJztcbmltcG9ydCBUb2dnbGUzZEJ1dHRvbkZhY3RvcnkgZnJvbSAnLi90b2dnbGUtM2QtYnV0dG9uJztcbmltcG9ydCBMYXllclNlbGVjdG9yUGFuZWxGYWN0b3J5IGZyb20gJy4vbGF5ZXItc2VsZWN0b3ItcGFuZWwnO1xuaW1wb3J0IE1hcExlZ2VuZFBhbmVsRmFjdG9yeSBmcm9tICcuL21hcC1sZWdlbmQtcGFuZWwnO1xuaW1wb3J0IE1hcERyYXdQYW5lbEZhY3RvcnkgZnJvbSAnLi9tYXAtZHJhdy1wYW5lbCc7XG5pbXBvcnQgTG9jYWxlUGFuZWxGYWN0b3J5IGZyb20gJy4vbG9jYWxlLXBhbmVsJztcbmltcG9ydCB7TGF5ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7RWRpdG9yLCBMYXllclZpc0NvbmZpZywgTWFwQ29udHJvbHMsIE1hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtNYXBTdGF0ZUFjdGlvbnMsIFVJU3RhdGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuXG5pbnRlcmZhY2UgU3R5bGVkTWFwQ29udHJvbFByb3BzIHtcbiAgJHRvcD86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkTWFwQ29udHJvbCA9IHN0eWxlZC5kaXY8U3R5bGVkTWFwQ29udHJvbFByb3BzPmBcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC5wYWRkaW5nfXB4O1xuICB6LWluZGV4OiAxMDtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy4kdG9wIHx8IDB9cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcm93LWdhcDogOHB4O1xuICBqdXN0aWZ5LWl0ZW1zOiBlbmQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBwcmV2ZW50IHBhZGRpbmcgZnJvbSBibG9ja2luZyBpbnB1dCAqL1xuICAmID4gKiB7XG4gICAgLyogYWxsIGNoaWxkcmVuIHNob3VsZCBhbGxvdyBpbnB1dCAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbmA7XG5cbmNvbnN0IExlZ2VuZExvZ28gPSA8S2VwbGVyR2xMb2dvIHZlcnNpb249e2ZhbHNlfSBhcHBOYW1lPVwia2VwbGVyLmdsXCIgLz47XG5cbmV4cG9ydCB0eXBlIE1hcENvbnRyb2xQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBkcmFnUm90YXRlOiBib29sZWFuO1xuICBpc1NwbGl0OiBib29sZWFuO1xuICBwcmltYXJ5OiBib29sZWFuO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyc1RvUmVuZGVyOiB7W2tleTogc3RyaW5nXTogYm9vbGVhbn07XG4gIG1hcEluZGV4OiBudW1iZXI7XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgb25Ub2dnbGVQZXJzcGVjdGl2ZTogKCkgPT4gdm9pZDtcbiAgb25Ub2dnbGVTcGxpdE1hcDogdHlwZW9mIE1hcFN0YXRlQWN0aW9ucy50b2dnbGVTcGxpdE1hcDtcbiAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0OiAoe1xuICAgIGlzVmlld3BvcnRTeW5jZWQsXG4gICAgaXNab29tTG9ja2VkXG4gIH06IHtcbiAgICBpc1ZpZXdwb3J0U3luY2VkOiBib29sZWFuO1xuICAgIGlzWm9vbUxvY2tlZDogYm9vbGVhbjtcbiAgfSkgPT4gdm9pZDtcbiAgb25NYXBUb2dnbGVMYXllcjogKGxheWVySWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgb25Ub2dnbGVNYXBDb250cm9sOiAoY29udHJvbDogc3RyaW5nKSA9PiB2b2lkO1xuICBvblNldEVkaXRvck1vZGU6IChtb2RlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlRWRpdG9yVmlzaWJpbGl0eTogKCkgPT4gdm9pZDtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZTogKG9sZExheWVyOiBMYXllciwgbmV3VmlzQ29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4gdm9pZDtcbiAgb25Ub2dnbGVMYXllclZpc2liaWxpdHk/OiAobGF5ZXI6IExheWVyKSA9PiB2b2lkO1xuICB0b3A6IG51bWJlcjtcbiAgb25TZXRMb2NhbGU6IHR5cGVvZiBVSVN0YXRlQWN0aW9ucy5zZXRMb2NhbGU7XG4gIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdO1xuICBsb2NhbGU6IHN0cmluZztcbiAgbG9nb0NvbXBvbmVudD86IFJlYWN0LkZDIHwgUmVhY3QuUmVhY3ROb2RlO1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG5cbiAgc2V0TWFwQ29udHJvbFNldHRpbmdzOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnMuc2V0TWFwQ29udHJvbFNldHRpbmdzO1xuICBhY3RpdmVTaWRlUGFuZWw6IHN0cmluZyB8IG51bGw7XG5cbiAgLy8gb3B0aW9uYWxcbiAgbWFwU3RhdGU/OiBNYXBTdGF0ZTtcbiAgcmVhZE9ubHk/OiBib29sZWFuO1xuICBzY2FsZT86IG51bWJlcjtcbiAgbWFwTGF5ZXJzPzoge1trZXk6IHN0cmluZ106IGJvb2xlYW59O1xuICBlZGl0b3I6IEVkaXRvcjtcbiAgYWN0aW9uQ29tcG9uZW50cz86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdO1xuICBtYXBIZWlnaHQ/OiBudW1iZXI7XG59O1xuXG5NYXBDb250cm9sRmFjdG9yeS5kZXBzID0gW1xuICBTcGxpdE1hcEJ1dHRvbkZhY3RvcnksXG4gIFRvZ2dsZTNkQnV0dG9uRmFjdG9yeSxcbiAgTGF5ZXJTZWxlY3RvclBhbmVsRmFjdG9yeSxcbiAgTWFwTGVnZW5kUGFuZWxGYWN0b3J5LFxuICBNYXBEcmF3UGFuZWxGYWN0b3J5LFxuICBMb2NhbGVQYW5lbEZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIE1hcENvbnRyb2xGYWN0b3J5KFxuICBTcGxpdE1hcEJ1dHRvbjogUmV0dXJuVHlwZTx0eXBlb2YgU3BsaXRNYXBCdXR0b25GYWN0b3J5PixcbiAgVG9nZ2xlM2RCdXR0b246IFJldHVyblR5cGU8dHlwZW9mIFRvZ2dsZTNkQnV0dG9uRmFjdG9yeT4sXG4gIExheWVyU2VsZWN0b3JQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJTZWxlY3RvclBhbmVsRmFjdG9yeT4sXG4gIE1hcExlZ2VuZFBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBMZWdlbmRQYW5lbEZhY3Rvcnk+LFxuICBNYXBEcmF3UGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIE1hcERyYXdQYW5lbEZhY3Rvcnk+LFxuICBMb2NhbGVQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTG9jYWxlUGFuZWxGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IERFRkFVTFRfQUNUSU9OUyA9IFtcbiAgICBTcGxpdE1hcEJ1dHRvbixcbiAgICBMYXllclNlbGVjdG9yUGFuZWwsXG4gICAgVG9nZ2xlM2RCdXR0b24sXG4gICAgTWFwRHJhd1BhbmVsLFxuICAgIExvY2FsZVBhbmVsLFxuICAgIE1hcExlZ2VuZFBhbmVsXG4gIF07XG5cbiAgY29uc3QgTWFwQ29udHJvbDogUmVhY3QuRkM8TWFwQ29udHJvbFByb3BzPiAmIHtcbiAgICBkZWZhdWx0QWN0aW9uQ29tcG9uZW50czogTWFwQ29udHJvbFByb3BzWydhY3Rpb25Db21wb25lbnRzJ107XG4gIH0gPSAoe1xuICAgIGFjdGlvbkNvbXBvbmVudHMgPSBERUZBVUxUX0FDVElPTlMsXG4gICAgaXNTcGxpdCA9IGZhbHNlLFxuICAgIHRvcCA9IDAsXG4gICAgbWFwSW5kZXggPSAwLFxuICAgIGxvZ29Db21wb25lbnQgPSBMZWdlbmRMb2dvLFxuICAgIC4uLnJlc3RQcm9wc1xuICB9KSA9PiB7XG4gICAgY29uc3QgYWN0aW9uQ29tcG9uZW50UHJvcHMgPSB7XG4gICAgICBpc1NwbGl0LFxuICAgICAgbWFwSW5kZXgsXG4gICAgICBsb2dvQ29tcG9uZW50LFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZE1hcENvbnRyb2wgY2xhc3NOYW1lPVwibWFwLWNvbnRyb2xcIiAkdG9wPXt0b3B9PlxuICAgICAgICB7YWN0aW9uQ29tcG9uZW50cy5tYXAoKEFjdGlvbkNvbXBvbmVudCwgaW5kZXgpID0+IChcbiAgICAgICAgICA8QWN0aW9uQ29tcG9uZW50IGtleT17aW5kZXh9IGNsYXNzTmFtZT1cIm1hcC1jb250cm9sLWFjdGlvblwiIHsuLi5hY3Rpb25Db21wb25lbnRQcm9wc30gLz5cbiAgICAgICAgKSl9XG4gICAgICA8L1N0eWxlZE1hcENvbnRyb2w+XG4gICAgKTtcbiAgfTtcblxuICBNYXBDb250cm9sLmRlZmF1bHRBY3Rpb25Db21wb25lbnRzID0gREVGQVVMVF9BQ1RJT05TO1xuXG4gIE1hcENvbnRyb2wuZGlzcGxheU5hbWUgPSAnTWFwQ29udHJvbCc7XG5cbiAgcmV0dXJuIE1hcENvbnRyb2w7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcENvbnRyb2xGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFHQSxJQUFBRyxlQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxlQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxtQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sZUFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsWUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQWdELElBQUFTLFNBQUE7QUFBQSxJQUFBQyxlQUFBLEVBYmhEO0FBQ0E7QUFNQTtBQUFBLFNBQUFDLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEs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
|
|
@@ -3,7 +3,7 @@ import MapControlTooltipFactory from './map-control-tooltip';
|
|
|
3
3
|
import MapControlToolbarFactory from './map-control-toolbar';
|
|
4
4
|
import { Editor, MapControls } from '@kepler.gl/types';
|
|
5
5
|
import { BaseProps } from '../common/icons';
|
|
6
|
-
export
|
|
6
|
+
export type MapDrawPanelProps = {
|
|
7
7
|
editor: Editor;
|
|
8
8
|
mapControls: MapControls;
|
|
9
9
|
onToggleMapControl: (control: string) => void;
|
|
@@ -6,7 +6,7 @@ import { MapLegendControlSettings } from '@kepler.gl/types';
|
|
|
6
6
|
import MapControlPanelFactory from './map-control-panel';
|
|
7
7
|
import MapControlTooltipFactory from './map-control-tooltip';
|
|
8
8
|
import MapLegendFactory from './map-legend';
|
|
9
|
-
export
|
|
9
|
+
export type MapLegendPanelFactoryDeps = [
|
|
10
10
|
typeof MapControlTooltipFactory,
|
|
11
11
|
typeof MapControlPanelFactory,
|
|
12
12
|
typeof MapLegendFactory
|
|
@@ -14,7 +14,7 @@ export declare type MapLegendPanelFactoryDeps = [
|
|
|
14
14
|
interface MapLegendPanelIcons {
|
|
15
15
|
legend: ComponentType<any>;
|
|
16
16
|
}
|
|
17
|
-
export
|
|
17
|
+
export type MapLegendPanelProps = {
|
|
18
18
|
theme: any;
|
|
19
19
|
layers: ReadonlyArray<Layer>;
|
|
20
20
|
scale: number;
|
|
@@ -25,6 +25,7 @@ export declare type MapLegendPanelProps = {
|
|
|
25
25
|
mapControls: MapControls;
|
|
26
26
|
mapState?: MapState;
|
|
27
27
|
onLayerVisConfigChange?: (oldLayer: Layer, newVisConfig: Partial<LayerVisConfig>) => void;
|
|
28
|
+
onToggleLayerVisibility?: (layer: Layer) => void;
|
|
28
29
|
onToggleSplitMapViewport?: ActionHandler<typeof toggleSplitMapViewport>;
|
|
29
30
|
isViewportUnsyncAllowed?: boolean;
|
|
30
31
|
onClickControlBtn?: (e?: MouseEvent) => void;
|
|
@@ -34,7 +35,7 @@ export declare type MapLegendPanelProps = {
|
|
|
34
35
|
activeSidePanel: string | null;
|
|
35
36
|
setMapControlSettings: any;
|
|
36
37
|
};
|
|
37
|
-
|
|
38
|
+
type MapLegendPanelComponentType = React.FC<MapLegendPanelProps>;
|
|
38
39
|
declare function MapLegendPanelFactory(MapControlTooltip: ReturnType<typeof MapControlTooltipFactory>, MapControlPanel: ReturnType<typeof MapControlPanelFactory>, MapLegend: ReturnType<typeof MapLegendFactory>): MapLegendPanelComponentType;
|
|
39
40
|
declare namespace MapLegendPanelFactory {
|
|
40
41
|
var deps: (typeof MapControlTooltipFactory | typeof MapControlPanelFactory | typeof MapLegendFactory)[];
|
|
@@ -193,6 +193,7 @@ var MapLegendPanelComponent = function MapLegendPanelComponent(_ref3) {
|
|
|
193
193
|
actionIcons = _ref3$actionIcons === void 0 ? defaultActionIcons : _ref3$actionIcons,
|
|
194
194
|
mapState = _ref3.mapState,
|
|
195
195
|
onLayerVisConfigChange = _ref3.onLayerVisConfigChange,
|
|
196
|
+
onToggleLayerVisibility = _ref3.onToggleLayerVisibility,
|
|
196
197
|
onToggleSplitMapViewport = _ref3.onToggleSplitMapViewport,
|
|
197
198
|
onClickControlBtn = _ref3.onClickControlBtn,
|
|
198
199
|
activeSidePanel = _ref3.activeSidePanel,
|
|
@@ -242,7 +243,8 @@ var MapLegendPanelComponent = function MapLegendPanelComponent(_ref3) {
|
|
|
242
243
|
mapState: mapState,
|
|
243
244
|
disableEdit: disableEdit,
|
|
244
245
|
isExport: isExport,
|
|
245
|
-
onLayerVisConfigChange: onLayerVisConfigChange
|
|
246
|
+
onLayerVisConfigChange: onLayerVisConfigChange,
|
|
247
|
+
onToggleLayerVisibility: onToggleLayerVisibility
|
|
246
248
|
})) : null;
|
|
247
249
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, active ? (0, _utils.hasPortableWidth)(_styles.breakPointValues) ? legendPanel : isExport ? /*#__PURE__*/_react["default"].createElement(ImageExportLegend, {
|
|
248
250
|
isSidePanelShown: isSidePanelShown,
|
|
@@ -272,4 +274,4 @@ function MapLegendPanelFactory(MapControlTooltip, MapControlPanel, MapLegend) {
|
|
|
272
274
|
};
|
|
273
275
|
}
|
|
274
276
|
var _default = exports["default"] = MapLegendPanelFactory;
|
|
275
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0RG9tIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb3JlIiwiX3V0aWxpdGllcyIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX3V0aWxzIiwiX2ljb25zIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2NvbnRleHQiLCJfdXNlTGVnZW5kUG9zaXRpb24zIiwiX21hcENvbnRyb2xQYW5lbCIsIl9tYXBDb250cm9sVG9vbHRpcCIsIl9tYXBMZWdlbmQiLCJfbW9kaWZpZXJzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiRFJBR19SRVNJWkVfSUQiLCJEUkFHX01PVkVfSUQiLCJTdHlsZWREcmFnZ2FibGVMZWdlbmRDb250ZW50Iiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwiYWN0aXZlQ29sb3IiLCJtYXhDb250ZW50SGVpZ2h0IiwiY29uY2F0IiwiY29udGVudEhlaWdodCIsIlN0eWxlZE1vdmVIYW5kbGUiLCJTdHlsZWRSZXNpemVIYW5kbGUiLCJTdHlsZWRGaXhlZExlZ2VuZENvbnRlbnQiLCJEcmFnZ2FibGVMZWdlbmRDb250ZW50IiwiZm9yd2FyZFJlZiIsInJlZiIsInBvc2l0aW9uU3R5bGVzIiwiY2hpbGRyZW4iLCJkcmFnZ2FibGVNb3ZlIiwidXNlRHJhZ2dhYmxlIiwiaWQiLCJkcmFnZ2FibGVSZXNpemUiLCJyZWZzIiwidXNlTWVyZ2VSZWZzIiwic2V0Tm9kZVJlZiIsImlzRHJhZ2dpbmciLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsInN0eWxlIiwidHJhbnNmb3JtIiwiQ1NTIiwiVHJhbnNsYXRlIiwidG9TdHJpbmciLCJhdHRyaWJ1dGVzIiwibGlzdGVuZXJzIiwiRHJhZ2dhYmxlRG90cyIsImhlaWdodCIsIkhvcml6b250YWxSZXNpemVIYW5kbGUiLCJEcmFnZ2FibGVMZWdlbmQiLCJ3aXRoVGhlbWUiLCJfcmVmIiwiX21hcENvbnRyb2xzJG1hcExlZ2VuIiwiaXNTaWRlUGFuZWxTaG93biIsIm1hcENvbnRyb2xzIiwic2V0TWFwQ29udHJvbFNldHRpbmdzIiwibWFwU3RhdGUiLCJzZXR0aW5ncyIsIm1hcExlZ2VuZCIsImxlZ2VuZENvbnRlbnRSZWYiLCJ1c2VSZWYiLCJvbkNoYW5nZVNldHRpbmdzIiwidXNlQ2FsbGJhY2siLCJuZXdTZXR0aW5ncyIsIl91c2VMZWdlbmRQb3NpdGlvbiIsInVzZUxlZ2VuZFBvc2l0aW9uIiwibWFwSGVpZ2h0IiwibWFwV2lkdGgiLCJ3aWR0aCIsInVwZGF0ZVBvc2l0aW9uIiwic3RhcnRSZXNpemUiLCJyZXNpemUiLCJoYW5kbGVEcmFnU3RhcnQiLCJldmVudCIsImFjdGl2ZSIsImhhbmRsZURyYWdFbmQiLCJoYW5kbGVEcmFnTW92ZSIsImRlbHRhIiwieSIsIkRuZENvbnRleHQiLCJvbkRyYWdTdGFydCIsIm9uRHJhZ01vdmUiLCJvbkRyYWdFbmQiLCJtb2RpZmllcnMiLCJyZXN0cmljdFRvV2luZG93RWRnZXMiLCJJbWFnZUV4cG9ydExlZ2VuZCIsIl9yZWYyIiwiX2NvbnRhaW5lclJlZiRjdXJyZW50IiwiY29udGFpbmVyUmVmIiwiX3VzZUxlZ2VuZFBvc2l0aW9uMiIsInBvcnRhbFJvb3QiLCJjdXJyZW50IiwiY2xvc2VzdCIsInF1ZXJ5U2VsZWN0b3IiLCJjcmVhdGVQb3J0YWwiLCJwb3NpdGlvbiIsIk1hcExlZ2VuZFBhbmVsRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkiLCJNYXBDb250cm9sUGFuZWxGYWN0b3J5IiwiTWFwTGVnZW5kRmFjdG9yeSIsImRlZmF1bHRBY3Rpb25JY29ucyIsImxlZ2VuZCIsIkxlZ2VuZCIsIk1hcExlZ2VuZFBhbmVsQ29tcG9uZW50IiwiX3JlZjMiLCJfbWFwQ29udHJvbHMkbWFwTGVnZW4yIiwiX3Jvb3RDb250ZXh0JGN1cnJlbnQiLCJsYXllcnMiLCJzY2FsZSIsIm9uVG9nZ2xlTWFwQ29udHJvbCIsImlzRXhwb3J0IiwibG9nb0NvbXBvbmVudCIsIl9yZWYzJGFjdGlvbkljb25zIiwiYWN0aW9uSWNvbnMiLCJvbkxheWVyVmlzQ29uZmlnQ2hhbmdlIiwib25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0Iiwib25DbGlja0NvbnRyb2xCdG4iLCJhY3RpdmVTaWRlUGFuZWwiLCJfcmVmMyRpc1ZpZXdwb3J0VW5zeW4iLCJpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZCIsIk1hcENvbnRyb2xUb29sdGlwIiwiTWFwQ29udHJvbFBhbmVsIiwiTWFwTGVnZW5kIiwiQm9vbGVhbiIsIl9yZWY0IiwiZGlzYWJsZUVkaXQiLCJyb290Q29udGV4dCIsInVzZUNvbnRleHQiLCJSb290Q29udGV4dCIsIm9uQ2xpY2siLCJfbWFwQ29udHJvbHMkbWFwRHJhdyIsIm1hcERyYXciLCJvbkNsb3NlQ2xpY2siLCJwcmV2ZW50RGVmYXVsdCIsInNob3ciLCJsZWdlbmRQYW5lbCIsImhlYWRlciIsInBpbm5hYmxlIiwiZGlzYWJsZUNsb3NlIiwiRnJhZ21lbnQiLCJoYXNQb3J0YWJsZVdpZHRoIiwiYnJlYWtQb2ludFZhbHVlcyIsImRvY3VtZW50IiwiYm9keSIsIm1lc3NhZ2UiLCJNYXBDb250cm9sQnV0dG9uIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC9tYXAtbGVnZW5kLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7Y3JlYXRlUG9ydGFsfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IFJlYWN0LCB7XG4gIENvbXBvbmVudFR5cGUsXG4gIEZDLFxuICBmb3J3YXJkUmVmLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlQ29udGV4dCxcbiAgdXNlUmVmLFxuICBQcm9wc1dpdGhDaGlsZHJlblxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7d2l0aFRoZW1lfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7RG5kQ29udGV4dCwgdXNlRHJhZ2dhYmxlfSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7Q1NTfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHt1c2VNZXJnZVJlZnN9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5cbmltcG9ydCB7QWN0aW9uSGFuZGxlciwgc2V0TWFwQ29udHJvbFNldHRpbmdzLCB0b2dnbGVTcGxpdE1hcFZpZXdwb3J0fSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtMYXllcn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHticmVha1BvaW50VmFsdWVzfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge0xheWVyVmlzQ29uZmlnLCBNYXBDb250cm9sTWFwTGVnZW5kLCBNYXBDb250cm9scywgTWFwU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtoYXNQb3J0YWJsZVdpZHRofSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7TWFwTGVnZW5kQ29udHJvbFNldHRpbmdzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IHtMZWdlbmQsIERyYWdnYWJsZURvdHMsIEhvcml6b250YWxSZXNpemVIYW5kbGV9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge01hcENvbnRyb2xCdXR0b259IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1Jvb3RDb250ZXh0fSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB1c2VMZWdlbmRQb3NpdGlvbiBmcm9tICcuLi9ob29rcy91c2UtbGVnZW5kLXBvc2l0aW9uJztcbmltcG9ydCBNYXBDb250cm9sUGFuZWxGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtcGFuZWwnO1xuaW1wb3J0IE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXRvb2x0aXAnO1xuaW1wb3J0IE1hcExlZ2VuZEZhY3RvcnkgZnJvbSAnLi9tYXAtbGVnZW5kJztcbmltcG9ydCB7cmVzdHJpY3RUb1dpbmRvd0VkZ2VzfSBmcm9tICdAZG5kLWtpdC9tb2RpZmllcnMnO1xuXG5jb25zdCBEUkFHX1JFU0laRV9JRCA9ICdtYXAtbGVnZW5kLXJlc2l6ZSc7XG5jb25zdCBEUkFHX01PVkVfSUQgPSAnbWFwLWxlZ2VuZC1tb3ZlJztcblxuY29uc3QgU3R5bGVkRHJhZ2dhYmxlTGVnZW5kQ29udGVudCA9IHN0eWxlZC5kaXY8e1xuICBjb250ZW50SGVpZ2h0PzogbnVtYmVyO1xuICBtYXhDb250ZW50SGVpZ2h0PzogbnVtYmVyO1xufT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAubGVnZW5kLWlucHV0LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICYuaXMtZHJhZ2dpbmcgLmxlZ2VuZC1pbnB1dC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmhvdmVyLFxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICAubGVnZW5kLW1vdmUtaGFuZGxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gICAgLmxlZ2VuZC1yZXNpemUtaGFuZGxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmFjdGl2ZUNvbG9yfTtcbiAgfVxuICAubWFwLWNvbnRyb2xfX3BhbmVsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6ICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLm1heENvbnRlbnRIZWlnaHQgPyBgJHtwcm9wcy5tYXhDb250ZW50SGVpZ2h0fXB4YCA6ICdjYWxjKDEwMHZoIC0gMTAwcHgpJ307XG4gICAgJHtwcm9wcyA9PiAocHJvcHMuY29udGVudEhlaWdodCA/IGBoZWlnaHQ6ICR7cHJvcHMuY29udGVudEhlaWdodH1weDtgIDogJycpfTtcbiAgfVxuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHotaW5kZXg6IDI7XG4gIC5tYXAtY29udHJvbC1wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRNb3ZlSGFuZGxlID0gc3R5bGVkLmRpdmBcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IG1vdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYWN0aXZlQ29sb3J9O1xuYDtcblxuY29uc3QgU3R5bGVkUmVzaXplSGFuZGxlID0gc3R5bGVkLmRpdmBcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogI2Y3ZjhmYTtcbiAgei1pbmRleDogMjtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogbnMtcmVzaXplO1xuYDtcblxuY29uc3QgU3R5bGVkRml4ZWRMZWdlbmRDb250ZW50ID0gc3R5bGVkLmRpdjx7Y29udGVudEhlaWdodD86IG51bWJlcn0+YFxuICAubWFwLWNvbnRyb2xfX3BhbmVsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XG4gICAgJHtwcm9wcyA9PiAocHJvcHMuY29udGVudEhlaWdodCA/IGBoZWlnaHQ6ICR7cHJvcHMuY29udGVudEhlaWdodH1weDtgIDogJycpfTtcbiAgfVxuXG4gIC8qIEhpZGUgc2Nyb2xsYmFycyBpbiBleHBvcnQgdG8gYXZvaWQgT1MgZGVmYXVsdCBzdHlsaW5nIGRpZmZlcmVuY2VzICovXG4gIC5zdHlsZWQtY29sb3ItbGVnZW5kIHtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIGFuZCBvbGQgRWRnZSAqL1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICB9XG4gIC5zdHlsZWQtY29sb3ItbGVnZW5kOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDAgIWltcG9ydGFudDsgLyogQ2hyb21lLCBTYWZhcmksIG5ldyBFZGdlICovXG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbmA7XG5cbmV4cG9ydCB0eXBlIE1hcExlZ2VuZFBhbmVsRmFjdG9yeURlcHMgPSBbXG4gIHR5cGVvZiBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnksXG4gIHR5cGVvZiBNYXBDb250cm9sUGFuZWxGYWN0b3J5LFxuICB0eXBlb2YgTWFwTGVnZW5kRmFjdG9yeVxuXTtcblxudHlwZSBEcmFnZ2FibGVMZWdlbmRDb250ZW50UHJvcHMgPSB7XG4gIGNvbnRlbnRIZWlnaHQ/OiBudW1iZXI7XG4gIG1heENvbnRlbnRIZWlnaHQ/OiBudW1iZXI7XG4gIHBvc2l0aW9uU3R5bGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5cbmNvbnN0IERyYWdnYWJsZUxlZ2VuZENvbnRlbnQgPSBmb3J3YXJkUmVmKChwcm9wczogRHJhZ2dhYmxlTGVnZW5kQ29udGVudFByb3BzLCByZWYpID0+IHtcbiAgY29uc3Qge3Bvc2l0aW9uU3R5bGVzLCBjaGlsZHJlbiwgY29udGVudEhlaWdodCwgbWF4Q29udGVudEhlaWdodH0gPSBwcm9wcztcbiAgY29uc3QgZHJhZ2dhYmxlTW92ZSA9IHVzZURyYWdnYWJsZSh7aWQ6IERSQUdfTU9WRV9JRH0pO1xuICBjb25zdCBkcmFnZ2FibGVSZXNpemUgPSB1c2VEcmFnZ2FibGUoe2lkOiBEUkFHX1JFU0laRV9JRH0pO1xuICBjb25zdCByZWZzID0gdXNlTWVyZ2VSZWZzKFtkcmFnZ2FibGVNb3ZlLnNldE5vZGVSZWYsIHJlZl0pO1xuICBjb25zdCBpc0RyYWdnaW5nID0gZHJhZ2dhYmxlTW92ZS5pc0RyYWdnaW5nIHx8IGRyYWdnYWJsZVJlc2l6ZS5pc0RyYWdnaW5nO1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWREcmFnZ2FibGVMZWdlbmRDb250ZW50XG4gICAgICByZWY9e3JlZnN9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2RyYWdnYWJsZS1sZWdlbmQnLCB7J2lzLWRyYWdnaW5nJzogaXNEcmFnZ2luZ30pfVxuICAgICAgc3R5bGU9e3suLi5wb3NpdGlvblN0eWxlcywgdHJhbnNmb3JtOiBDU1MuVHJhbnNsYXRlLnRvU3RyaW5nKGRyYWdnYWJsZU1vdmUudHJhbnNmb3JtKX19XG4gICAgICBjb250ZW50SGVpZ2h0PXtjb250ZW50SGVpZ2h0fVxuICAgICAgbWF4Q29udGVudEhlaWdodD17bWF4Q29udGVudEhlaWdodH1cbiAgICAgIHsuLi5kcmFnZ2FibGVNb3ZlLmF0dHJpYnV0ZXN9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgICAge2lzRHJhZ2dpbmcgPyA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC1pbnB1dC1ibG9ja1wiIC8+IDogbnVsbH1cbiAgICAgIDxTdHlsZWRNb3ZlSGFuZGxlIGNsYXNzTmFtZT1cImxlZ2VuZC1tb3ZlLWhhbmRsZVwiIHsuLi5kcmFnZ2FibGVNb3ZlLmxpc3RlbmVyc30+XG4gICAgICAgIDxEcmFnZ2FibGVEb3RzIGhlaWdodD1cIjE2cHhcIiAvPlxuICAgICAgPC9TdHlsZWRNb3ZlSGFuZGxlPlxuICAgICAgPFN0eWxlZFJlc2l6ZUhhbmRsZVxuICAgICAgICBjbGFzc05hbWU9XCJsZWdlbmQtcmVzaXplLWhhbmRsZVwiXG4gICAgICAgIHJlZj17ZHJhZ2dhYmxlUmVzaXplLnNldE5vZGVSZWZ9XG4gICAgICAgIHsuLi5kcmFnZ2FibGVSZXNpemUubGlzdGVuZXJzfVxuICAgICAgPlxuICAgICAgICA8SG9yaXpvbnRhbFJlc2l6ZUhhbmRsZSBoZWlnaHQ9XCIxNnB4XCIgLz5cbiAgICAgIDwvU3R5bGVkUmVzaXplSGFuZGxlPlxuICAgIDwvU3R5bGVkRHJhZ2dhYmxlTGVnZW5kQ29udGVudD5cbiAgKTtcbn0pO1xuXG50eXBlIERyYWdnYWJsZUxlZ2VuZFByb3BzID0gUHJvcHNXaXRoQ2hpbGRyZW48e1xuICBpc1NpZGVQYW5lbFNob3duOiBib29sZWFuO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIHNldE1hcENvbnRyb2xTZXR0aW5nczogdHlwZW9mIHNldE1hcENvbnRyb2xTZXR0aW5ncztcbiAgbWFwU3RhdGU/OiBNYXBTdGF0ZTtcbn0+O1xuXG5jb25zdCBEcmFnZ2FibGVMZWdlbmQgPSB3aXRoVGhlbWUoXG4gICh7XG4gICAgaXNTaWRlUGFuZWxTaG93bixcbiAgICBjaGlsZHJlbixcbiAgICBtYXBDb250cm9scyxcbiAgICBzZXRNYXBDb250cm9sU2V0dGluZ3MsXG4gICAgbWFwU3RhdGUsXG4gICAgdGhlbWVcbiAgfTogRHJhZ2dhYmxlTGVnZW5kUHJvcHMgJiB7dGhlbWU6IGFueX0pID0+IHtcbiAgICBjb25zdCBzZXR0aW5ncyA9IG1hcENvbnRyb2xzPy5tYXBMZWdlbmQ/LnNldHRpbmdzO1xuXG4gICAgY29uc3QgbGVnZW5kQ29udGVudFJlZiA9IHVzZVJlZjxIVE1MRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3Qgb25DaGFuZ2VTZXR0aW5ncyA9IHVzZUNhbGxiYWNrKFxuICAgICAgbmV3U2V0dGluZ3MgPT4gc2V0TWFwQ29udHJvbFNldHRpbmdzKCdtYXBMZWdlbmQnLCBuZXdTZXR0aW5ncyksXG4gICAgICBbc2V0TWFwQ29udHJvbFNldHRpbmdzXVxuICAgICk7XG4gICAgY29uc3Qge3Bvc2l0aW9uU3R5bGVzLCB1cGRhdGVQb3NpdGlvbiwgc3RhcnRSZXNpemUsIHJlc2l6ZSwgY29udGVudEhlaWdodCwgbWF4Q29udGVudEhlaWdodH0gPVxuICAgICAgdXNlTGVnZW5kUG9zaXRpb24oe1xuICAgICAgICBsZWdlbmRDb250ZW50UmVmLFxuICAgICAgICBpc1NpZGVQYW5lbFNob3duLFxuICAgICAgICB0aGVtZSxcbiAgICAgICAgc2V0dGluZ3MsXG4gICAgICAgIG9uQ2hhbmdlU2V0dGluZ3MsXG4gICAgICAgIG1hcEhlaWdodDogbWFwU3RhdGU/LmhlaWdodCxcbiAgICAgICAgbWFwV2lkdGg6IG1hcFN0YXRlPy53aWR0aFxuICAgICAgfSk7XG5cbiAgICBjb25zdCBoYW5kbGVEcmFnU3RhcnQgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgc3dpdGNoIChldmVudC5hY3RpdmUuaWQpIHtcbiAgICAgICAgICBjYXNlIERSQUdfUkVTSVpFX0lEOlxuICAgICAgICAgICAgc3RhcnRSZXNpemUoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB1cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW3VwZGF0ZVBvc2l0aW9uLCBzdGFydFJlc2l6ZV1cbiAgICApO1xuICAgIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayh1cGRhdGVQb3NpdGlvbiwgW3VwZGF0ZVBvc2l0aW9uXSk7XG4gICAgY29uc3QgaGFuZGxlRHJhZ01vdmUgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgc3dpdGNoIChldmVudC5hY3RpdmUuaWQpIHtcbiAgICAgICAgICBjYXNlIERSQUdfUkVTSVpFX0lEOlxuICAgICAgICAgICAgcmVzaXplKGV2ZW50LmRlbHRhLnkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbcmVzaXplXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgb25EcmFnU3RhcnQ9e2hhbmRsZURyYWdTdGFydH1cbiAgICAgICAgb25EcmFnTW92ZT17aGFuZGxlRHJhZ01vdmV9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlRHJhZ0VuZH1cbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1dpbmRvd0VkZ2VzXX1cbiAgICAgID5cbiAgICAgICAgPERyYWdnYWJsZUxlZ2VuZENvbnRlbnRcbiAgICAgICAgICByZWY9e2xlZ2VuZENvbnRlbnRSZWZ9XG4gICAgICAgICAgcG9zaXRpb25TdHlsZXM9e3Bvc2l0aW9uU3R5bGVzfVxuICAgICAgICAgIGNvbnRlbnRIZWlnaHQ9e2NvbnRlbnRIZWlnaHR9XG4gICAgICAgICAgbWF4Q29udGVudEhlaWdodD17bWF4Q29udGVudEhlaWdodH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9EcmFnZ2FibGVMZWdlbmRDb250ZW50PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgICk7XG4gIH1cbikgYXMgRkM8RHJhZ2dhYmxlTGVnZW5kUHJvcHM+O1xuXG50eXBlIEltYWdlRXhwb3J0TGVnZW5kUHJvcHMgPSB7XG4gIHNldHRpbmdzPzogTWFwTGVnZW5kQ29udHJvbFNldHRpbmdzO1xuICBpc1NpZGVQYW5lbFNob3duOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuY29uc3QgSW1hZ2VFeHBvcnRMZWdlbmQgPSB3aXRoVGhlbWUoKHtzZXR0aW5ncywgaXNTaWRlUGFuZWxTaG93biwgdGhlbWUsIGNoaWxkcmVufSkgPT4ge1xuICBjb25zdCBjb250YWluZXJSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGVnZW5kQ29udGVudFJlZjogUmVhY3QuTXV0YWJsZVJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IG51bGw+ID0gdXNlUmVmKG51bGwpO1xuXG4gIGNvbnN0IHtwb3NpdGlvblN0eWxlcywgY29udGVudEhlaWdodH0gPSB1c2VMZWdlbmRQb3NpdGlvbih7XG4gICAgbGVnZW5kQ29udGVudFJlZixcbiAgICBpc1NpZGVQYW5lbFNob3duLFxuICAgIHRoZW1lLFxuICAgIHNldHRpbmdzLFxuICAgIG9uQ2hhbmdlU2V0dGluZ3M6ICgpID0+IHtcbiAgICAgIC8vIGRvIG5vdGhpbmcgYnkgZGVmYXVsdFxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgcG9ydGFsUm9vdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgPy5jbG9zZXN0KCcuZXhwb3J0LW1hcC1pbnN0YW5jZScpXG4gICAgPy5xdWVyeVNlbGVjdG9yKCcjZGVmYXVsdC1kZWNrZ2wtb3ZlcmxheS13cmFwcGVyJyk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17Y29udGFpbmVyUmVmfT5cbiAgICAgIHtwb3J0YWxSb290XG4gICAgICAgID8gY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmaXhlZC1sZWdlbmRcIlxuICAgICAgICAgICAgICByZWY9e2xlZ2VuZENvbnRlbnRSZWZ9XG4gICAgICAgICAgICAgIHN0eWxlPXt7Li4ucG9zaXRpb25TdHlsZXMsIHBvc2l0aW9uOiAnYWJzb2x1dGUnfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZEZpeGVkTGVnZW5kQ29udGVudCBjb250ZW50SGVpZ2h0PXtjb250ZW50SGVpZ2h0fT5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICAgIDwvU3R5bGVkRml4ZWRMZWdlbmRDb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+LFxuICAgICAgICAgICAgcG9ydGFsUm9vdFxuICAgICAgICAgIClcbiAgICAgICAgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufSkgYXMgUmVhY3QuRkM8SW1hZ2VFeHBvcnRMZWdlbmRQcm9wcz47XG5cbk1hcExlZ2VuZFBhbmVsRmFjdG9yeS5kZXBzID0gW01hcENvbnRyb2xUb29sdGlwRmFjdG9yeSwgTWFwQ29udHJvbFBhbmVsRmFjdG9yeSwgTWFwTGVnZW5kRmFjdG9yeV07XG5cbmludGVyZmFjZSBNYXBMZWdlbmRQYW5lbEljb25zIHtcbiAgbGVnZW5kOiBDb21wb25lbnRUeXBlPGFueT47XG59XG5cbmV4cG9ydCB0eXBlIE1hcExlZ2VuZFBhbmVsUHJvcHMgPSB7XG4gIHRoZW1lOiBhbnk7XG4gIGxheWVyczogUmVhZG9ubHlBcnJheTxMYXllcj47XG4gIHNjYWxlOiBudW1iZXI7XG4gIG9uVG9nZ2xlTWFwQ29udHJvbDogKGNvbnRyb2w6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNFeHBvcnQ6IGJvb2xlYW47XG4gIGxvZ29Db21wb25lbnQ6IEVsZW1lbnQ7XG4gIGFjdGlvbkljb25zOiBNYXBMZWdlbmRQYW5lbEljb25zO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2U/OiAob2xkTGF5ZXI6IExheWVyLCBuZXdWaXNDb25maWc6IFBhcnRpYWw8TGF5ZXJWaXNDb25maWc+KSA9PiB2b2lkO1xuICBvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQ/OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiB0b2dnbGVTcGxpdE1hcFZpZXdwb3J0PjtcbiAgaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrQ29udHJvbEJ0bj86IChlPzogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIHNldHRpbmdzOiBNYXBMZWdlbmRDb250cm9sU2V0dGluZ3M7XG4gIGlzU2lkZVBhbmVsU2hvd246IGJvb2xlYW47XG4gIGFjdGl2ZVNpZGVQYW5lbDogc3RyaW5nIHwgbnVsbDtcbiAgc2V0TWFwQ29udHJvbFNldHRpbmdzOiBhbnk7XG59O1xuXG50eXBlIE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50cyA9IHtcbiAgTWFwQ29udHJvbFRvb2x0aXA6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeT47XG4gIE1hcENvbnRyb2xQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udHJvbFBhbmVsRmFjdG9yeT47XG4gIE1hcExlZ2VuZDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwTGVnZW5kRmFjdG9yeT47XG59O1xuXG50eXBlIE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50VHlwZSA9IFJlYWN0LkZDPE1hcExlZ2VuZFBhbmVsUHJvcHM+O1xuXG5jb25zdCBkZWZhdWx0QWN0aW9uSWNvbnMgPSB7XG4gIGxlZ2VuZDogcHJvcHMgPT4gPExlZ2VuZCB7Li4ucHJvcHN9IGhlaWdodD1cIjE4cHhcIiAvPlxufTtcblxuY29uc3QgTWFwTGVnZW5kUGFuZWxDb21wb25lbnQgPSAoe1xuICBsYXllcnMsXG4gIG1hcENvbnRyb2xzLFxuICBzY2FsZSxcbiAgb25Ub2dnbGVNYXBDb250cm9sLFxuICBpc0V4cG9ydCxcbiAgbG9nb0NvbXBvbmVudCxcbiAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnMsXG4gIG1hcFN0YXRlLFxuICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlLFxuICBvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQsXG4gIG9uQ2xpY2tDb250cm9sQnRuLFxuICBhY3RpdmVTaWRlUGFuZWwsXG4gIHNldE1hcENvbnRyb2xTZXR0aW5ncyxcbiAgaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQgPSB0cnVlLFxuICBjbGFzc05hbWUsXG4gIE1hcENvbnRyb2xUb29sdGlwLFxuICBNYXBDb250cm9sUGFuZWwsXG4gIE1hcExlZ2VuZFxufTogTWFwTGVnZW5kUGFuZWxQcm9wcyAmIE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50cykgPT4ge1xuICBjb25zdCBpc1NpZGVQYW5lbFNob3duID0gQm9vbGVhbihhY3RpdmVTaWRlUGFuZWwpO1xuICBjb25zdCBzZXR0aW5ncyA9IG1hcENvbnRyb2xzPy5tYXBMZWdlbmQ/LnNldHRpbmdzO1xuXG4gIGNvbnN0IG1hcExlZ2VuZCA9IG1hcENvbnRyb2xzPy5tYXBMZWdlbmQgfHwgKHt9IGFzIE1hcENvbnRyb2xNYXBMZWdlbmQpO1xuICBjb25zdCB7YWN0aXZlLCBkaXNhYmxlRWRpdH0gPSBtYXBMZWdlbmQgfHwge307XG4gIGNvbnN0IHJvb3RDb250ZXh0ID0gdXNlQ29udGV4dChSb290Q29udGV4dCk7XG5cbiAgY29uc3Qgb25DbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBvbkNsaWNrQ29udHJvbEJ0bj8uKCk7XG4gICAgaWYgKG1hcENvbnRyb2xzPy5tYXBEcmF3Py5hY3RpdmUpIHtcbiAgICAgIG9uVG9nZ2xlTWFwQ29udHJvbCgnbWFwRHJhdycpO1xuICAgIH1cbiAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcExlZ2VuZCcpO1xuICB9LCBbb25DbGlja0NvbnRyb2xCdG4sIG9uVG9nZ2xlTWFwQ29udHJvbCwgbWFwQ29udHJvbHNdKTtcbiAgY29uc3Qgb25DbG9zZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcExlZ2VuZCcpO1xuICAgIH0sXG4gICAgW29uVG9nZ2xlTWFwQ29udHJvbF1cbiAgKTtcblxuICBpZiAoIW1hcExlZ2VuZC5zaG93KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsZWdlbmRQYW5lbCA9IGFjdGl2ZSA/IChcbiAgICA8TWFwQ29udHJvbFBhbmVsXG4gICAgICBzY2FsZT17c2NhbGV9XG4gICAgICBoZWFkZXI9XCJoZWFkZXIubGF5ZXJMZWdlbmRcIlxuICAgICAgey4uLntvbkNsaWNrOiBvbkNsb3NlQ2xpY2ssIHBpbm5hYmxlOiBmYWxzZSwgZGlzYWJsZUNsb3NlOiBmYWxzZX19XG4gICAgICBpc0V4cG9ydD17aXNFeHBvcnR9XG4gICAgICBsb2dvQ29tcG9uZW50PXtsb2dvQ29tcG9uZW50fVxuICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0PXtvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnR9XG4gICAgICBpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZD17aXNWaWV3cG9ydFVuc3luY0FsbG93ZWR9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICA+XG4gICAgICA8TWFwTGVnZW5kXG4gICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICBtYXBTdGF0ZT17bWFwU3RhdGV9XG4gICAgICAgIGRpc2FibGVFZGl0PXtkaXNhYmxlRWRpdH1cbiAgICAgICAgaXNFeHBvcnQ9e2lzRXhwb3J0fVxuICAgICAgICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlPXtvbkxheWVyVmlzQ29uZmlnQ2hhbmdlfVxuICAgICAgLz5cbiAgICA8L01hcENvbnRyb2xQYW5lbD5cbiAgKSA6IG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2FjdGl2ZSA/IChcbiAgICAgICAgaGFzUG9ydGFibGVXaWR0aChicmVha1BvaW50VmFsdWVzKSA/IChcbiAgICAgICAgICBsZWdlbmRQYW5lbFxuICAgICAgICApIDogaXNFeHBvcnQgPyAoXG4gICAgICAgICAgPEltYWdlRXhwb3J0TGVnZW5kIGlzU2lkZVBhbmVsU2hvd249e2lzU2lkZVBhbmVsU2hvd259IHNldHRpbmdzPXtzZXR0aW5nc30+XG4gICAgICAgICAgICB7bGVnZW5kUGFuZWx9XG4gICAgICAgICAgPC9JbWFnZUV4cG9ydExlZ2VuZD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICA8RHJhZ2dhYmxlTGVnZW5kXG4gICAgICAgICAgICAgIGlzU2lkZVBhbmVsU2hvd249e2lzU2lkZVBhbmVsU2hvd259XG4gICAgICAgICAgICAgIG1hcENvbnRyb2xzPXttYXBDb250cm9sc31cbiAgICAgICAgICAgICAgc2V0TWFwQ29udHJvbFNldHRpbmdzPXtzZXRNYXBDb250cm9sU2V0dGluZ3N9XG4gICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2xlZ2VuZFBhbmVsfVxuICAgICAgICAgICAgPC9EcmFnZ2FibGVMZWdlbmQ+LFxuICAgICAgICAgICAgcm9vdENvbnRleHQ/LmN1cnJlbnQgPz8gZG9jdW1lbnQuYm9keVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKSA6IG51bGx9XG4gICAgICB7IWlzRXhwb3J0ID8gKFxuICAgICAgICA8TWFwQ29udHJvbFRvb2x0aXAgaWQ9XCJzaG93LWxlZ2VuZFwiIG1lc3NhZ2U9XCJ0b29sdGlwLnNob3dMZWdlbmRcIj5cbiAgICAgICAgICA8TWFwQ29udHJvbEJ1dHRvbiBjbGFzc05hbWU9XCJtYXAtY29udHJvbC1idXR0b24gc2hvdy1sZWdlbmRcIiBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgICAgICAgIDxhY3Rpb25JY29ucy5sZWdlbmQgaGVpZ2h0PVwiMjJweFwiIC8+XG4gICAgICAgICAgPC9NYXBDb250cm9sQnV0dG9uPlxuICAgICAgICA8L01hcENvbnRyb2xUb29sdGlwPlxuICAgICAgKSA6IG51bGx9XG4gICAgPC8+XG4gICk7XG59O1xuXG5mdW5jdGlvbiBNYXBMZWdlbmRQYW5lbEZhY3RvcnkoXG4gIE1hcENvbnRyb2xUb29sdGlwOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sVG9vbHRpcEZhY3Rvcnk+LFxuICBNYXBDb250cm9sUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xQYW5lbEZhY3Rvcnk+LFxuICBNYXBMZWdlbmQ6IFJldHVyblR5cGU8dHlwZW9mIE1hcExlZ2VuZEZhY3Rvcnk+XG4pOiBNYXBMZWdlbmRQYW5lbENvbXBvbmVudFR5cGUge1xuICByZXR1cm4gKHByb3BzOiBNYXBMZWdlbmRQYW5lbFByb3BzKSA9PiAoXG4gICAgPE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50XG4gICAgICB7Li4ucHJvcHN9XG4gICAgICBNYXBDb250cm9sVG9vbHRpcD17TWFwQ29udHJvbFRvb2x0aXB9XG4gICAgICBNYXBDb250cm9sUGFuZWw9e01hcENvbnRyb2xQYW5lbH1cbiAgICAgIE1hcExlZ2VuZD17TWFwTGVnZW5kfVxuICAgIC8+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcExlZ2VuZFBhbmVsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxXQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFTQSxJQUFBSSxpQkFBQSxHQUFBRCx1QkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQUssS0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBSUEsSUFBQVEsT0FBQSxHQUFBUixPQUFBO0FBRUEsSUFBQVMsTUFBQSxHQUFBVCxPQUFBO0FBR0EsSUFBQVUsTUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsa0JBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLFFBQUEsR0FBQVosT0FBQTtBQUNB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
|
|
277
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0RG9tIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb3JlIiwiX3V0aWxpdGllcyIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX3V0aWxzIiwiX2ljb25zIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2NvbnRleHQiLCJfdXNlTGVnZW5kUG9zaXRpb24zIiwiX21hcENvbnRyb2xQYW5lbCIsIl9tYXBDb250cm9sVG9vbHRpcCIsIl9tYXBMZWdlbmQiLCJfbW9kaWZpZXJzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiRFJBR19SRVNJWkVfSUQiLCJEUkFHX01PVkVfSUQiLCJTdHlsZWREcmFnZ2FibGVMZWdlbmRDb250ZW50Iiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwiYWN0aXZlQ29sb3IiLCJtYXhDb250ZW50SGVpZ2h0IiwiY29uY2F0IiwiY29udGVudEhlaWdodCIsIlN0eWxlZE1vdmVIYW5kbGUiLCJTdHlsZWRSZXNpemVIYW5kbGUiLCJTdHlsZWRGaXhlZExlZ2VuZENvbnRlbnQiLCJEcmFnZ2FibGVMZWdlbmRDb250ZW50IiwiZm9yd2FyZFJlZiIsInJlZiIsInBvc2l0aW9uU3R5bGVzIiwiY2hpbGRyZW4iLCJkcmFnZ2FibGVNb3ZlIiwidXNlRHJhZ2dhYmxlIiwiaWQiLCJkcmFnZ2FibGVSZXNpemUiLCJyZWZzIiwidXNlTWVyZ2VSZWZzIiwic2V0Tm9kZVJlZiIsImlzRHJhZ2dpbmciLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsInN0eWxlIiwidHJhbnNmb3JtIiwiQ1NTIiwiVHJhbnNsYXRlIiwidG9TdHJpbmciLCJhdHRyaWJ1dGVzIiwibGlzdGVuZXJzIiwiRHJhZ2dhYmxlRG90cyIsImhlaWdodCIsIkhvcml6b250YWxSZXNpemVIYW5kbGUiLCJEcmFnZ2FibGVMZWdlbmQiLCJ3aXRoVGhlbWUiLCJfcmVmIiwiX21hcENvbnRyb2xzJG1hcExlZ2VuIiwiaXNTaWRlUGFuZWxTaG93biIsIm1hcENvbnRyb2xzIiwic2V0TWFwQ29udHJvbFNldHRpbmdzIiwibWFwU3RhdGUiLCJzZXR0aW5ncyIsIm1hcExlZ2VuZCIsImxlZ2VuZENvbnRlbnRSZWYiLCJ1c2VSZWYiLCJvbkNoYW5nZVNldHRpbmdzIiwidXNlQ2FsbGJhY2siLCJuZXdTZXR0aW5ncyIsIl91c2VMZWdlbmRQb3NpdGlvbiIsInVzZUxlZ2VuZFBvc2l0aW9uIiwibWFwSGVpZ2h0IiwibWFwV2lkdGgiLCJ3aWR0aCIsInVwZGF0ZVBvc2l0aW9uIiwic3RhcnRSZXNpemUiLCJyZXNpemUiLCJoYW5kbGVEcmFnU3RhcnQiLCJldmVudCIsImFjdGl2ZSIsImhhbmRsZURyYWdFbmQiLCJoYW5kbGVEcmFnTW92ZSIsImRlbHRhIiwieSIsIkRuZENvbnRleHQiLCJvbkRyYWdTdGFydCIsIm9uRHJhZ01vdmUiLCJvbkRyYWdFbmQiLCJtb2RpZmllcnMiLCJyZXN0cmljdFRvV2luZG93RWRnZXMiLCJJbWFnZUV4cG9ydExlZ2VuZCIsIl9yZWYyIiwiX2NvbnRhaW5lclJlZiRjdXJyZW50IiwiY29udGFpbmVyUmVmIiwiX3VzZUxlZ2VuZFBvc2l0aW9uMiIsInBvcnRhbFJvb3QiLCJjdXJyZW50IiwiY2xvc2VzdCIsInF1ZXJ5U2VsZWN0b3IiLCJjcmVhdGVQb3J0YWwiLCJwb3NpdGlvbiIsIk1hcExlZ2VuZFBhbmVsRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkiLCJNYXBDb250cm9sUGFuZWxGYWN0b3J5IiwiTWFwTGVnZW5kRmFjdG9yeSIsImRlZmF1bHRBY3Rpb25JY29ucyIsImxlZ2VuZCIsIkxlZ2VuZCIsIk1hcExlZ2VuZFBhbmVsQ29tcG9uZW50IiwiX3JlZjMiLCJfbWFwQ29udHJvbHMkbWFwTGVnZW4yIiwiX3Jvb3RDb250ZXh0JGN1cnJlbnQiLCJsYXllcnMiLCJzY2FsZSIsIm9uVG9nZ2xlTWFwQ29udHJvbCIsImlzRXhwb3J0IiwibG9nb0NvbXBvbmVudCIsIl9yZWYzJGFjdGlvbkljb25zIiwiYWN0aW9uSWNvbnMiLCJvbkxheWVyVmlzQ29uZmlnQ2hhbmdlIiwib25Ub2dnbGVMYXllclZpc2liaWxpdHkiLCJvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQiLCJvbkNsaWNrQ29udHJvbEJ0biIsImFjdGl2ZVNpZGVQYW5lbCIsIl9yZWYzJGlzVmlld3BvcnRVbnN5biIsImlzVmlld3BvcnRVbnN5bmNBbGxvd2VkIiwiTWFwQ29udHJvbFRvb2x0aXAiLCJNYXBDb250cm9sUGFuZWwiLCJNYXBMZWdlbmQiLCJCb29sZWFuIiwiX3JlZjQiLCJkaXNhYmxlRWRpdCIsInJvb3RDb250ZXh0IiwidXNlQ29udGV4dCIsIlJvb3RDb250ZXh0Iiwib25DbGljayIsIl9tYXBDb250cm9scyRtYXBEcmF3IiwibWFwRHJhdyIsIm9uQ2xvc2VDbGljayIsInByZXZlbnREZWZhdWx0Iiwic2hvdyIsImxlZ2VuZFBhbmVsIiwiaGVhZGVyIiwicGlubmFibGUiLCJkaXNhYmxlQ2xvc2UiLCJGcmFnbWVudCIsImhhc1BvcnRhYmxlV2lkdGgiLCJicmVha1BvaW50VmFsdWVzIiwiZG9jdW1lbnQiLCJib2R5IiwibWVzc2FnZSIsIk1hcENvbnRyb2xCdXR0b24iLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFwL21hcC1sZWdlbmQtcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtjcmVhdGVQb3J0YWx9IGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgUmVhY3QsIHtcbiAgQ29tcG9uZW50VHlwZSxcbiAgRkMsXG4gIGZvcndhcmRSZWYsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VSZWYsXG4gIFByb3BzV2l0aENoaWxkcmVuXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtEbmRDb250ZXh0LCB1c2VEcmFnZ2FibGV9IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHtDU1N9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQge3VzZU1lcmdlUmVmc30gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcblxuaW1wb3J0IHtBY3Rpb25IYW5kbGVyLCBzZXRNYXBDb250cm9sU2V0dGluZ3MsIHRvZ2dsZVNwbGl0TWFwVmlld3BvcnR9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge2JyZWFrUG9pbnRWYWx1ZXN9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7TGF5ZXJWaXNDb25maWcsIE1hcENvbnRyb2xNYXBMZWdlbmQsIE1hcENvbnRyb2xzLCBNYXBTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge2hhc1BvcnRhYmxlV2lkdGh9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtNYXBMZWdlbmRDb250cm9sU2V0dGluZ3N9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQge0xlZ2VuZCwgRHJhZ2dhYmxlRG90cywgSG9yaXpvbnRhbFJlc2l6ZUhhbmRsZX0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7TWFwQ29udHJvbEJ1dHRvbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Um9vdENvbnRleHR9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHVzZUxlZ2VuZFBvc2l0aW9uIGZyb20gJy4uL2hvb2tzL3VzZS1sZWdlbmQtcG9zaXRpb24nO1xuaW1wb3J0IE1hcENvbnRyb2xQYW5lbEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC1wYW5lbCc7XG5pbXBvcnQgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtdG9vbHRpcCc7XG5pbXBvcnQgTWFwTGVnZW5kRmFjdG9yeSBmcm9tICcuL21hcC1sZWdlbmQnO1xuaW1wb3J0IHtyZXN0cmljdFRvV2luZG93RWRnZXN9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IERSQUdfUkVTSVpFX0lEID0gJ21hcC1sZWdlbmQtcmVzaXplJztcbmNvbnN0IERSQUdfTU9WRV9JRCA9ICdtYXAtbGVnZW5kLW1vdmUnO1xuXG5jb25zdCBTdHlsZWREcmFnZ2FibGVMZWdlbmRDb250ZW50ID0gc3R5bGVkLmRpdjx7XG4gIGNvbnRlbnRIZWlnaHQ/OiBudW1iZXI7XG4gIG1heENvbnRlbnRIZWlnaHQ/OiBudW1iZXI7XG59PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIC5sZWdlbmQtaW5wdXQtYmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJi5pcy1kcmFnZ2luZyAubGVnZW5kLWlucHV0LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6aG92ZXIsXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIC5sZWdlbmQtbW92ZS1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbiAgICAubGVnZW5kLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYWN0aXZlQ29sb3J9O1xuICB9XG4gIC5tYXAtY29udHJvbF9fcGFuZWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMubWF4Q29udGVudEhlaWdodCA/IGAke3Byb3BzLm1heENvbnRlbnRIZWlnaHR9cHhgIDogJ2NhbGMoMTAwdmggLSAxMDBweCknfTtcbiAgICAke3Byb3BzID0+IChwcm9wcy5jb250ZW50SGVpZ2h0ID8gYGhlaWdodDogJHtwcm9wcy5jb250ZW50SGVpZ2h0fXB4O2AgOiAnJyl9O1xuICB9XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgei1pbmRleDogMjtcbiAgLm1hcC1jb250cm9sLXBhbmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZE1vdmVIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogbW92ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5hY3RpdmVDb2xvcn07XG5gO1xuXG5jb25zdCBTdHlsZWRSZXNpemVIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjZjdmOGZhO1xuICB6LWluZGV4OiAyO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBucy1yZXNpemU7XG5gO1xuXG5jb25zdCBTdHlsZWRGaXhlZExlZ2VuZENvbnRlbnQgPSBzdHlsZWQuZGl2PHtjb250ZW50SGVpZ2h0PzogbnVtYmVyfT5gXG4gIC5tYXAtY29udHJvbF9fcGFuZWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEwMHB4KTtcbiAgICAke3Byb3BzID0+IChwcm9wcy5jb250ZW50SGVpZ2h0ID8gYGhlaWdodDogJHtwcm9wcy5jb250ZW50SGVpZ2h0fXB4O2AgOiAnJyl9O1xuICB9XG5cbiAgLyogSGlkZSBzY3JvbGxiYXJzIGluIGV4cG9ydCB0byBhdm9pZCBPUyBkZWZhdWx0IHN0eWxpbmcgZGlmZmVyZW5jZXMgKi9cbiAgLnN0eWxlZC1jb2xvci1sZWdlbmQge1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUgYW5kIG9sZCBFZGdlICovXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gIH1cbiAgLnN0eWxlZC1jb2xvci1sZWdlbmQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMCAhaW1wb3J0YW50OyAvKiBDaHJvbWUsIFNhZmFyaSwgbmV3IEVkZ2UgKi9cbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgTWFwTGVnZW5kUGFuZWxGYWN0b3J5RGVwcyA9IFtcbiAgdHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSxcbiAgdHlwZW9mIE1hcENvbnRyb2xQYW5lbEZhY3RvcnksXG4gIHR5cGVvZiBNYXBMZWdlbmRGYWN0b3J5XG5dO1xuXG50eXBlIERyYWdnYWJsZUxlZ2VuZENvbnRlbnRQcm9wcyA9IHtcbiAgY29udGVudEhlaWdodD86IG51bWJlcjtcbiAgbWF4Q29udGVudEhlaWdodD86IG51bWJlcjtcbiAgcG9zaXRpb25TdHlsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuY29uc3QgRHJhZ2dhYmxlTGVnZW5kQ29udGVudCA9IGZvcndhcmRSZWYoKHByb3BzOiBEcmFnZ2FibGVMZWdlbmRDb250ZW50UHJvcHMsIHJlZikgPT4ge1xuICBjb25zdCB7cG9zaXRpb25TdHlsZXMsIGNoaWxkcmVuLCBjb250ZW50SGVpZ2h0LCBtYXhDb250ZW50SGVpZ2h0fSA9IHByb3BzO1xuICBjb25zdCBkcmFnZ2FibGVNb3ZlID0gdXNlRHJhZ2dhYmxlKHtpZDogRFJBR19NT1ZFX0lEfSk7XG4gIGNvbnN0IGRyYWdnYWJsZVJlc2l6ZSA9IHVzZURyYWdnYWJsZSh7aWQ6IERSQUdfUkVTSVpFX0lEfSk7XG4gIGNvbnN0IHJlZnMgPSB1c2VNZXJnZVJlZnMoW2RyYWdnYWJsZU1vdmUuc2V0Tm9kZVJlZiwgcmVmXSk7XG4gIGNvbnN0IGlzRHJhZ2dpbmcgPSBkcmFnZ2FibGVNb3ZlLmlzRHJhZ2dpbmcgfHwgZHJhZ2dhYmxlUmVzaXplLmlzRHJhZ2dpbmc7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZERyYWdnYWJsZUxlZ2VuZENvbnRlbnRcbiAgICAgIHJlZj17cmVmc31cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnZHJhZ2dhYmxlLWxlZ2VuZCcsIHsnaXMtZHJhZ2dpbmcnOiBpc0RyYWdnaW5nfSl9XG4gICAgICBzdHlsZT17ey4uLnBvc2l0aW9uU3R5bGVzLCB0cmFuc2Zvcm06IENTUy5UcmFuc2xhdGUudG9TdHJpbmcoZHJhZ2dhYmxlTW92ZS50cmFuc2Zvcm0pfX1cbiAgICAgIGNvbnRlbnRIZWlnaHQ9e2NvbnRlbnRIZWlnaHR9XG4gICAgICBtYXhDb250ZW50SGVpZ2h0PXttYXhDb250ZW50SGVpZ2h0fVxuICAgICAgey4uLmRyYWdnYWJsZU1vdmUuYXR0cmlidXRlc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICB7aXNEcmFnZ2luZyA/IDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLWlucHV0LWJsb2NrXCIgLz4gOiBudWxsfVxuICAgICAgPFN0eWxlZE1vdmVIYW5kbGUgY2xhc3NOYW1lPVwibGVnZW5kLW1vdmUtaGFuZGxlXCIgey4uLmRyYWdnYWJsZU1vdmUubGlzdGVuZXJzfT5cbiAgICAgICAgPERyYWdnYWJsZURvdHMgaGVpZ2h0PVwiMTZweFwiIC8+XG4gICAgICA8L1N0eWxlZE1vdmVIYW5kbGU+XG4gICAgICA8U3R5bGVkUmVzaXplSGFuZGxlXG4gICAgICAgIGNsYXNzTmFtZT1cImxlZ2VuZC1yZXNpemUtaGFuZGxlXCJcbiAgICAgICAgcmVmPXtkcmFnZ2FibGVSZXNpemUuc2V0Tm9kZVJlZn1cbiAgICAgICAgey4uLmRyYWdnYWJsZVJlc2l6ZS5saXN0ZW5lcnN9XG4gICAgICA+XG4gICAgICAgIDxIb3Jpem9udGFsUmVzaXplSGFuZGxlIGhlaWdodD1cIjE2cHhcIiAvPlxuICAgICAgPC9TdHlsZWRSZXNpemVIYW5kbGU+XG4gICAgPC9TdHlsZWREcmFnZ2FibGVMZWdlbmRDb250ZW50PlxuICApO1xufSk7XG5cbnR5cGUgRHJhZ2dhYmxlTGVnZW5kUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIGlzU2lkZVBhbmVsU2hvd246IGJvb2xlYW47XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgc2V0TWFwQ29udHJvbFNldHRpbmdzOiB0eXBlb2Ygc2V0TWFwQ29udHJvbFNldHRpbmdzO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xufT47XG5cbmNvbnN0IERyYWdnYWJsZUxlZ2VuZCA9IHdpdGhUaGVtZShcbiAgKHtcbiAgICBpc1NpZGVQYW5lbFNob3duLFxuICAgIGNoaWxkcmVuLFxuICAgIG1hcENvbnRyb2xzLFxuICAgIHNldE1hcENvbnRyb2xTZXR0aW5ncyxcbiAgICBtYXBTdGF0ZSxcbiAgICB0aGVtZVxuICB9OiBEcmFnZ2FibGVMZWdlbmRQcm9wcyAmIHt0aGVtZTogYW55fSkgPT4ge1xuICAgIGNvbnN0IHNldHRpbmdzID0gbWFwQ29udHJvbHM/Lm1hcExlZ2VuZD8uc2V0dGluZ3M7XG5cbiAgICBjb25zdCBsZWdlbmRDb250ZW50UmVmID0gdXNlUmVmPEhUTUxFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBvbkNoYW5nZVNldHRpbmdzID0gdXNlQ2FsbGJhY2soXG4gICAgICBuZXdTZXR0aW5ncyA9PiBzZXRNYXBDb250cm9sU2V0dGluZ3MoJ21hcExlZ2VuZCcsIG5ld1NldHRpbmdzKSxcbiAgICAgIFtzZXRNYXBDb250cm9sU2V0dGluZ3NdXG4gICAgKTtcbiAgICBjb25zdCB7cG9zaXRpb25TdHlsZXMsIHVwZGF0ZVBvc2l0aW9uLCBzdGFydFJlc2l6ZSwgcmVzaXplLCBjb250ZW50SGVpZ2h0LCBtYXhDb250ZW50SGVpZ2h0fSA9XG4gICAgICB1c2VMZWdlbmRQb3NpdGlvbih7XG4gICAgICAgIGxlZ2VuZENvbnRlbnRSZWYsXG4gICAgICAgIGlzU2lkZVBhbmVsU2hvd24sXG4gICAgICAgIHRoZW1lLFxuICAgICAgICBzZXR0aW5ncyxcbiAgICAgICAgb25DaGFuZ2VTZXR0aW5ncyxcbiAgICAgICAgbWFwSGVpZ2h0OiBtYXBTdGF0ZT8uaGVpZ2h0LFxuICAgICAgICBtYXBXaWR0aDogbWFwU3RhdGU/LndpZHRoXG4gICAgICB9KTtcblxuICAgIGNvbnN0IGhhbmRsZURyYWdTdGFydCA9IHVzZUNhbGxiYWNrKFxuICAgICAgZXZlbnQgPT4ge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmFjdGl2ZS5pZCkge1xuICAgICAgICAgIGNhc2UgRFJBR19SRVNJWkVfSUQ6XG4gICAgICAgICAgICBzdGFydFJlc2l6ZSgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdXBkYXRlUG9zaXRpb24sIHN0YXJ0UmVzaXplXVxuICAgICk7XG4gICAgY29uc3QgaGFuZGxlRHJhZ0VuZCA9IHVzZUNhbGxiYWNrKHVwZGF0ZVBvc2l0aW9uLCBbdXBkYXRlUG9zaXRpb25dKTtcbiAgICBjb25zdCBoYW5kbGVEcmFnTW92ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgZXZlbnQgPT4ge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmFjdGl2ZS5pZCkge1xuICAgICAgICAgIGNhc2UgRFJBR19SRVNJWkVfSUQ6XG4gICAgICAgICAgICByZXNpemUoZXZlbnQuZGVsdGEueSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtyZXNpemVdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBvbkRyYWdTdGFydD17aGFuZGxlRHJhZ1N0YXJ0fVxuICAgICAgICBvbkRyYWdNb3ZlPXtoYW5kbGVEcmFnTW92ZX1cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVEcmFnRW5kfVxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvV2luZG93RWRnZXNdfVxuICAgICAgPlxuICAgICAgICA8RHJhZ2dhYmxlTGVnZW5kQ29udGVudFxuICAgICAgICAgIHJlZj17bGVnZW5kQ29udGVudFJlZn1cbiAgICAgICAgICBwb3NpdGlvblN0eWxlcz17cG9zaXRpb25TdHlsZXN9XG4gICAgICAgICAgY29udGVudEhlaWdodD17Y29udGVudEhlaWdodH1cbiAgICAgICAgICBtYXhDb250ZW50SGVpZ2h0PXttYXhDb250ZW50SGVpZ2h0fVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L0RyYWdnYWJsZUxlZ2VuZENvbnRlbnQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgKTtcbiAgfVxuKSBhcyBGQzxEcmFnZ2FibGVMZWdlbmRQcm9wcz47XG5cbnR5cGUgSW1hZ2VFeHBvcnRMZWdlbmRQcm9wcyA9IHtcbiAgc2V0dGluZ3M/OiBNYXBMZWdlbmRDb250cm9sU2V0dGluZ3M7XG4gIGlzU2lkZVBhbmVsU2hvd246IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBJbWFnZUV4cG9ydExlZ2VuZCA9IHdpdGhUaGVtZSgoe3NldHRpbmdzLCBpc1NpZGVQYW5lbFNob3duLCB0aGVtZSwgY2hpbGRyZW59KSA9PiB7XG4gIGNvbnN0IGNvbnRhaW5lclJlZjogUmVhY3QuTXV0YWJsZVJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IG51bGw+ID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBsZWdlbmRDb250ZW50UmVmOiBSZWFjdC5NdXRhYmxlUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50IHwgbnVsbD4gPSB1c2VSZWYobnVsbCk7XG5cbiAgY29uc3Qge3Bvc2l0aW9uU3R5bGVzLCBjb250ZW50SGVpZ2h0fSA9IHVzZUxlZ2VuZFBvc2l0aW9uKHtcbiAgICBsZWdlbmRDb250ZW50UmVmLFxuICAgIGlzU2lkZVBhbmVsU2hvd24sXG4gICAgdGhlbWUsXG4gICAgc2V0dGluZ3MsXG4gICAgb25DaGFuZ2VTZXR0aW5nczogKCkgPT4ge1xuICAgICAgLy8gZG8gbm90aGluZyBieSBkZWZhdWx0XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBwb3J0YWxSb290ID0gY29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICA/LmNsb3Nlc3QoJy5leHBvcnQtbWFwLWluc3RhbmNlJylcbiAgICA/LnF1ZXJ5U2VsZWN0b3IoJyNkZWZhdWx0LWRlY2tnbC1vdmVybGF5LXdyYXBwZXInKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgcmVmPXtjb250YWluZXJSZWZ9PlxuICAgICAge3BvcnRhbFJvb3RcbiAgICAgICAgPyBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpeGVkLWxlZ2VuZFwiXG4gICAgICAgICAgICAgIHJlZj17bGVnZW5kQ29udGVudFJlZn1cbiAgICAgICAgICAgICAgc3R5bGU9e3suLi5wb3NpdGlvblN0eWxlcywgcG9zaXRpb246ICdhYnNvbHV0ZSd9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U3R5bGVkRml4ZWRMZWdlbmRDb250ZW50IGNvbnRlbnRIZWlnaHQ9e2NvbnRlbnRIZWlnaHR9PlxuICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgPC9TdHlsZWRGaXhlZExlZ2VuZENvbnRlbnQ+XG4gICAgICAgICAgICA8L2Rpdj4sXG4gICAgICAgICAgICBwb3J0YWxSb290XG4gICAgICAgICAgKVxuICAgICAgICA6IG51bGx9XG4gICAgPC9kaXY+XG4gICk7XG59KSBhcyBSZWFjdC5GQzxJbWFnZUV4cG9ydExlZ2VuZFByb3BzPjtcblxuTWFwTGVnZW5kUGFuZWxGYWN0b3J5LmRlcHMgPSBbTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5LCBNYXBDb250cm9sUGFuZWxGYWN0b3J5LCBNYXBMZWdlbmRGYWN0b3J5XTtcblxuaW50ZXJmYWNlIE1hcExlZ2VuZFBhbmVsSWNvbnMge1xuICBsZWdlbmQ6IENvbXBvbmVudFR5cGU8YW55Pjtcbn1cblxuZXhwb3J0IHR5cGUgTWFwTGVnZW5kUGFuZWxQcm9wcyA9IHtcbiAgdGhlbWU6IGFueTtcbiAgbGF5ZXJzOiBSZWFkb25seUFycmF5PExheWVyPjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgb25Ub2dnbGVNYXBDb250cm9sOiAoY29udHJvbDogc3RyaW5nKSA9PiB2b2lkO1xuICBpc0V4cG9ydDogYm9vbGVhbjtcbiAgbG9nb0NvbXBvbmVudDogRWxlbWVudDtcbiAgYWN0aW9uSWNvbnM6IE1hcExlZ2VuZFBhbmVsSWNvbnM7XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgbWFwU3RhdGU/OiBNYXBTdGF0ZTtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZT86IChvbGRMYXllcjogTGF5ZXIsIG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHZvaWQ7XG4gIG9uVG9nZ2xlTGF5ZXJWaXNpYmlsaXR5PzogKGxheWVyOiBMYXllcikgPT4gdm9pZDtcbiAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0PzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgdG9nZ2xlU3BsaXRNYXBWaWV3cG9ydD47XG4gIGlzVmlld3BvcnRVbnN5bmNBbGxvd2VkPzogYm9vbGVhbjtcbiAgb25DbGlja0NvbnRyb2xCdG4/OiAoZT86IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICBzZXR0aW5nczogTWFwTGVnZW5kQ29udHJvbFNldHRpbmdzO1xuICBpc1NpZGVQYW5lbFNob3duOiBib29sZWFuO1xuICBhY3RpdmVTaWRlUGFuZWw6IHN0cmluZyB8IG51bGw7XG4gIHNldE1hcENvbnRyb2xTZXR0aW5nczogYW55O1xufTtcblxudHlwZSBNYXBMZWdlbmRQYW5lbENvbXBvbmVudHMgPSB7XG4gIE1hcENvbnRyb2xUb29sdGlwOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sVG9vbHRpcEZhY3Rvcnk+O1xuICBNYXBDb250cm9sUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xQYW5lbEZhY3Rvcnk+O1xuICBNYXBMZWdlbmQ6IFJldHVyblR5cGU8dHlwZW9mIE1hcExlZ2VuZEZhY3Rvcnk+O1xufTtcblxudHlwZSBNYXBMZWdlbmRQYW5lbENvbXBvbmVudFR5cGUgPSBSZWFjdC5GQzxNYXBMZWdlbmRQYW5lbFByb3BzPjtcblxuY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICBsZWdlbmQ6IHByb3BzID0+IDxMZWdlbmQgey4uLnByb3BzfSBoZWlnaHQ9XCIxOHB4XCIgLz5cbn07XG5cbmNvbnN0IE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50ID0gKHtcbiAgbGF5ZXJzLFxuICBtYXBDb250cm9scyxcbiAgc2NhbGUsXG4gIG9uVG9nZ2xlTWFwQ29udHJvbCxcbiAgaXNFeHBvcnQsXG4gIGxvZ29Db21wb25lbnQsXG4gIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zLFxuICBtYXBTdGF0ZSxcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZSxcbiAgb25Ub2dnbGVMYXllclZpc2liaWxpdHksXG4gIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydCxcbiAgb25DbGlja0NvbnRyb2xCdG4sXG4gIGFjdGl2ZVNpZGVQYW5lbCxcbiAgc2V0TWFwQ29udHJvbFNldHRpbmdzLFxuICBpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZCA9IHRydWUsXG4gIGNsYXNzTmFtZSxcbiAgTWFwQ29udHJvbFRvb2x0aXAsXG4gIE1hcENvbnRyb2xQYW5lbCxcbiAgTWFwTGVnZW5kXG59OiBNYXBMZWdlbmRQYW5lbFByb3BzICYgTWFwTGVnZW5kUGFuZWxDb21wb25lbnRzKSA9PiB7XG4gIGNvbnN0IGlzU2lkZVBhbmVsU2hvd24gPSBCb29sZWFuKGFjdGl2ZVNpZGVQYW5lbCk7XG4gIGNvbnN0IHNldHRpbmdzID0gbWFwQ29udHJvbHM/Lm1hcExlZ2VuZD8uc2V0dGluZ3M7XG5cbiAgY29uc3QgbWFwTGVnZW5kID0gbWFwQ29udHJvbHM/Lm1hcExlZ2VuZCB8fCAoe30gYXMgTWFwQ29udHJvbE1hcExlZ2VuZCk7XG4gIGNvbnN0IHthY3RpdmUsIGRpc2FibGVFZGl0fSA9IG1hcExlZ2VuZCB8fCB7fTtcbiAgY29uc3Qgcm9vdENvbnRleHQgPSB1c2VDb250ZXh0KFJvb3RDb250ZXh0KTtcblxuICBjb25zdCBvbkNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIG9uQ2xpY2tDb250cm9sQnRuPy4oKTtcbiAgICBpZiAobWFwQ29udHJvbHM/Lm1hcERyYXc/LmFjdGl2ZSkge1xuICAgICAgb25Ub2dnbGVNYXBDb250cm9sKCdtYXBEcmF3Jyk7XG4gICAgfVxuICAgIG9uVG9nZ2xlTWFwQ29udHJvbCgnbWFwTGVnZW5kJyk7XG4gIH0sIFtvbkNsaWNrQ29udHJvbEJ0biwgb25Ub2dnbGVNYXBDb250cm9sLCBtYXBDb250cm9sc10pO1xuICBjb25zdCBvbkNsb3NlQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIG9uVG9nZ2xlTWFwQ29udHJvbCgnbWFwTGVnZW5kJyk7XG4gICAgfSxcbiAgICBbb25Ub2dnbGVNYXBDb250cm9sXVxuICApO1xuXG4gIGlmICghbWFwTGVnZW5kLnNob3cpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGxlZ2VuZFBhbmVsID0gYWN0aXZlID8gKFxuICAgIDxNYXBDb250cm9sUGFuZWxcbiAgICAgIHNjYWxlPXtzY2FsZX1cbiAgICAgIGhlYWRlcj1cImhlYWRlci5sYXllckxlZ2VuZFwiXG4gICAgICB7Li4ue29uQ2xpY2s6IG9uQ2xvc2VDbGljaywgcGlubmFibGU6IGZhbHNlLCBkaXNhYmxlQ2xvc2U6IGZhbHNlfX1cbiAgICAgIGlzRXhwb3J0PXtpc0V4cG9ydH1cbiAgICAgIGxvZ29Db21wb25lbnQ9e2xvZ29Db21wb25lbnR9XG4gICAgICBtYXBTdGF0ZT17bWFwU3RhdGV9XG4gICAgICBvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQ9e29uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydH1cbiAgICAgIGlzVmlld3BvcnRVbnN5bmNBbGxvd2VkPXtpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgID5cbiAgICAgIDxNYXBMZWdlbmRcbiAgICAgICAgbGF5ZXJzPXtsYXllcnN9XG4gICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgZGlzYWJsZUVkaXQ9e2Rpc2FibGVFZGl0fVxuICAgICAgICBpc0V4cG9ydD17aXNFeHBvcnR9XG4gICAgICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2U9e29uTGF5ZXJWaXNDb25maWdDaGFuZ2V9XG4gICAgICAgIG9uVG9nZ2xlTGF5ZXJWaXNpYmlsaXR5PXtvblRvZ2dsZUxheWVyVmlzaWJpbGl0eX1cbiAgICAgIC8+XG4gICAgPC9NYXBDb250cm9sUGFuZWw+XG4gICkgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHthY3RpdmUgPyAoXG4gICAgICAgIGhhc1BvcnRhYmxlV2lkdGgoYnJlYWtQb2ludFZhbHVlcykgPyAoXG4gICAgICAgICAgbGVnZW5kUGFuZWxcbiAgICAgICAgKSA6IGlzRXhwb3J0ID8gKFxuICAgICAgICAgIDxJbWFnZUV4cG9ydExlZ2VuZCBpc1NpZGVQYW5lbFNob3duPXtpc1NpZGVQYW5lbFNob3dufSBzZXR0aW5ncz17c2V0dGluZ3N9PlxuICAgICAgICAgICAge2xlZ2VuZFBhbmVsfVxuICAgICAgICAgIDwvSW1hZ2VFeHBvcnRMZWdlbmQ+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgPERyYWdnYWJsZUxlZ2VuZFxuICAgICAgICAgICAgICBpc1NpZGVQYW5lbFNob3duPXtpc1NpZGVQYW5lbFNob3dufVxuICAgICAgICAgICAgICBtYXBDb250cm9scz17bWFwQ29udHJvbHN9XG4gICAgICAgICAgICAgIHNldE1hcENvbnRyb2xTZXR0aW5ncz17c2V0TWFwQ29udHJvbFNldHRpbmdzfVxuICAgICAgICAgICAgICBtYXBTdGF0ZT17bWFwU3RhdGV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtsZWdlbmRQYW5lbH1cbiAgICAgICAgICAgIDwvRHJhZ2dhYmxlTGVnZW5kPixcbiAgICAgICAgICAgIHJvb3RDb250ZXh0Py5jdXJyZW50ID8/IGRvY3VtZW50LmJvZHlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICkgOiBudWxsfVxuICAgICAgeyFpc0V4cG9ydCA/IChcbiAgICAgICAgPE1hcENvbnRyb2xUb29sdGlwIGlkPVwic2hvdy1sZWdlbmRcIiBtZXNzYWdlPVwidG9vbHRpcC5zaG93TGVnZW5kXCI+XG4gICAgICAgICAgPE1hcENvbnRyb2xCdXR0b24gY2xhc3NOYW1lPVwibWFwLWNvbnRyb2wtYnV0dG9uIHNob3ctbGVnZW5kXCIgb25DbGljaz17b25DbGlja30+XG4gICAgICAgICAgICA8YWN0aW9uSWNvbnMubGVnZW5kIGhlaWdodD1cIjIycHhcIiAvPlxuICAgICAgICAgIDwvTWFwQ29udHJvbEJ1dHRvbj5cbiAgICAgICAgPC9NYXBDb250cm9sVG9vbHRpcD5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvPlxuICApO1xufTtcblxuZnVuY3Rpb24gTWFwTGVnZW5kUGFuZWxGYWN0b3J5KFxuICBNYXBDb250cm9sVG9vbHRpcDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5PixcbiAgTWFwQ29udHJvbFBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sUGFuZWxGYWN0b3J5PixcbiAgTWFwTGVnZW5kOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBMZWdlbmRGYWN0b3J5PlxuKTogTWFwTGVnZW5kUGFuZWxDb21wb25lbnRUeXBlIHtcbiAgcmV0dXJuIChwcm9wczogTWFwTGVnZW5kUGFuZWxQcm9wcykgPT4gKFxuICAgIDxNYXBMZWdlbmRQYW5lbENvbXBvbmVudFxuICAgICAgey4uLnByb3BzfVxuICAgICAgTWFwQ29udHJvbFRvb2x0aXA9e01hcENvbnRyb2xUb29sdGlwfVxuICAgICAgTWFwQ29udHJvbFBhbmVsPXtNYXBDb250cm9sUGFuZWx9XG4gICAgICBNYXBMZWdlbmQ9e01hcExlZ2VuZH1cbiAgICAvPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBMZWdlbmRQYW5lbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsV0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBU0EsSUFBQUksaUJBQUEsR0FBQUQsdUJBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFLLEtBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtB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
|