@kepler.gl/components 3.3.0-alpha.0 → 3.3.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/annotations/annotation-node.d.ts +11 -0
- package/dist/annotations/annotation-node.js +145 -0
- package/dist/annotations/annotation-overlay.d.ts +16 -0
- package/dist/annotations/annotation-overlay.js +166 -0
- package/dist/annotations/annotation-panel.d.ts +24 -0
- package/dist/annotations/annotation-panel.js +362 -0
- package/dist/annotations/annotation-text.d.ts +16 -0
- package/dist/annotations/annotation-text.js +150 -0
- package/dist/annotations/annotation-utils.d.ts +39 -0
- package/dist/annotations/annotation-utils.js +156 -0
- package/dist/annotations/index.d.ts +7 -0
- package/dist/annotations/index.js +53 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.d.ts +3 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.js +71 -0
- package/dist/annotations/lexical-editor/floating-link-editor.d.ts +1 -0
- package/dist/annotations/lexical-editor/floating-link-editor.js +194 -0
- package/dist/annotations/lexical-editor/index.d.ts +7 -0
- package/dist/annotations/lexical-editor/index.js +78 -0
- package/dist/annotations/lexical-editor/lexical-constants.d.ts +12 -0
- package/dist/annotations/lexical-editor/lexical-constants.js +22 -0
- package/dist/annotations/lexical-editor/lexical-nodes.d.ts +3 -0
- package/dist/annotations/lexical-editor/lexical-nodes.js +13 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +122 -0
- package/dist/annotations/lexical-editor/lexical-theme.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-theme.js +25 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.d.ts +7 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.js +293 -0
- package/dist/annotations/lexical-editor/lexical-utils.d.ts +4 -0
- package/dist/annotations/lexical-editor/lexical-utils.js +45 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.d.ts +36 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
- package/dist/bottom-widget.d.ts +1 -1
- package/dist/bottom-widget.js +12 -6
- package/dist/common/animation-control/animation-control.d.ts +1 -0
- package/dist/common/animation-control/animation-control.js +3 -1
- package/dist/common/animation-control/animation-controller.js +8 -6
- package/dist/common/animation-control/export-video-control.d.ts +9 -0
- package/dist/common/animation-control/export-video-control.js +43 -0
- package/dist/common/animation-control/playback-controls.d.ts +4 -2
- package/dist/common/animation-control/playback-controls.js +7 -4
- package/dist/common/checkbox.d.ts +5 -21
- package/dist/common/checkbox.js +58 -70
- package/dist/common/color-legend.js +3 -3
- package/dist/common/data-table/index.d.ts +1 -1
- package/dist/common/data-table/index.js +3 -3
- package/dist/common/file-uploader/file-upload.js +4 -4
- package/dist/common/histogram-plot.js +102 -53
- package/dist/common/icons/3d-models/airplane.d.ts +14 -0
- package/dist/common/icons/3d-models/airplane.js +104 -0
- package/dist/common/icons/3d-models/bicycle.d.ts +14 -0
- package/dist/common/icons/3d-models/bicycle.js +426 -0
- package/dist/common/icons/3d-models/boeing.d.ts +14 -0
- package/dist/common/icons/3d-models/boeing.js +119 -0
- package/dist/common/icons/3d-models/car.d.ts +14 -0
- package/dist/common/icons/3d-models/car.js +110 -0
- package/dist/common/icons/3d-models/cargoship.d.ts +14 -0
- package/dist/common/icons/3d-models/cargoship.js +246 -0
- package/dist/common/icons/3d-models/evtol.d.ts +14 -0
- package/dist/common/icons/3d-models/evtol.js +134 -0
- package/dist/common/icons/3d-models/glider.d.ts +14 -0
- package/dist/common/icons/3d-models/glider.js +62 -0
- package/dist/common/icons/3d-models/helicopter.d.ts +14 -0
- package/dist/common/icons/3d-models/helicopter.js +110 -0
- package/dist/common/icons/3d-models/scooter.d.ts +14 -0
- package/dist/common/icons/3d-models/scooter.js +159 -0
- package/dist/common/icons/3d-models/semitruck.d.ts +14 -0
- package/dist/common/icons/3d-models/semitruck.js +177 -0
- package/dist/common/icons/3d-models/truck.d.ts +14 -0
- package/dist/common/icons/3d-models/truck.js +122 -0
- package/dist/common/icons/anchor_window.d.ts +1 -8
- package/dist/common/icons/anchor_window.js +17 -10
- package/dist/common/icons/annotation-text.d.ts +9 -0
- package/dist/common/icons/annotation-text.js +56 -0
- package/dist/common/icons/index.d.ts +1 -0
- package/dist/common/icons/index.js +8 -1
- package/dist/common/item-selector/chickleted-input.d.ts +1 -1
- package/dist/common/item-selector/chickleted-input.js +5 -5
- package/dist/common/line-chart.d.ts +4 -1
- package/dist/common/line-chart.js +59 -12
- package/dist/common/range-plot.js +4 -2
- package/dist/common/range-slider.d.ts +2 -0
- package/dist/common/range-slider.js +108 -43
- package/dist/common/slider/slider.d.ts +4 -0
- package/dist/common/slider/slider.js +78 -35
- package/dist/common/styled-components.d.ts +1 -1
- package/dist/common/styled-components.js +2 -2
- package/dist/common/time-range-slider-time-title.d.ts +1 -1
- package/dist/common/time-range-slider-time-title.js +5 -5
- package/dist/common/time-range-slider.d.ts +2 -1
- package/dist/common/time-range-slider.js +19 -7
- package/dist/common/timeline-helpers.d.ts +3 -0
- package/dist/common/timeline-helpers.js +57 -0
- package/dist/common/timeline-slider.js +21 -12
- package/dist/common/toolbar-item.js +5 -5
- package/dist/common/toolbar.d.ts +1 -1
- package/dist/common/toolbar.js +4 -4
- package/dist/common/vertical-toolbar.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +3 -2
- package/dist/effects/effect-configurator.js +213 -52
- package/dist/effects/effect-manager.js +3 -3
- package/dist/effects/effect-panel-header.js +34 -17
- package/dist/effects/effect-panel.d.ts +4 -4
- package/dist/effects/effect-panel.js +61 -86
- package/dist/effects/effect-time-configurator.js +10 -10
- package/dist/effects/effect-type-dropdown-list.d.ts +1 -0
- package/dist/effects/effect-type-dropdown-list.js +1 -1
- package/dist/effects/effect-type-list-item.d.ts +1 -0
- package/dist/effects/effect-type-list-item.js +23 -7
- package/dist/effects/effect-type-selector.d.ts +1 -0
- package/dist/effects/effect-type-selector.js +2 -2
- package/dist/effects/surface-fog-section.d.ts +14 -0
- package/dist/effects/surface-fog-section.js +263 -0
- package/dist/filters/index.d.ts +1 -0
- package/dist/filters/index.js +8 -1
- package/dist/filters/polygon-filter.js +2 -2
- package/dist/filters/time-range-filter.js +3 -1
- package/dist/filters/time-widget-settings.d.ts +14 -0
- package/dist/filters/time-widget-settings.js +312 -0
- package/dist/filters/time-widget-top.d.ts +2 -3
- package/dist/filters/time-widget-top.js +32 -39
- package/dist/filters/time-widget.d.ts +3 -2
- package/dist/filters/time-widget.js +285 -9
- package/dist/filters/types.d.ts +3 -3
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.d.ts +4 -1
- package/dist/geocoder/geocoder.js +61 -14
- package/dist/geocoder-panel.d.ts +1 -0
- package/dist/geocoder-panel.js +6 -2
- package/dist/index.d.ts +14 -0
- package/dist/index.js +124 -1
- package/dist/kepler-gl.d.ts +17 -5
- package/dist/kepler-gl.js +89 -11
- package/dist/loading-indicator.d.ts +2 -0
- package/dist/loading-indicator.js +6 -3
- package/dist/map/annotations/annotation-control.d.ts +16 -0
- package/dist/map/annotations/annotation-control.js +56 -0
- package/dist/map/layer-hover-info.js +68 -35
- package/dist/map/layer-selector-panel.d.ts +1 -1
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/locale-panel.js +2 -2
- package/dist/map/map-control-toolbar.d.ts +4 -4
- package/dist/map/map-control.d.ts +5 -2
- package/dist/map/map-control.js +16 -7
- package/dist/map/map-draw-panel.d.ts +1 -1
- package/dist/map/map-draw-panel.js +7 -4
- package/dist/map/map-legend-panel.d.ts +1 -1
- package/dist/map/map-legend-panel.js +7 -7
- package/dist/map/map-legend.d.ts +1 -1
- package/dist/map/map-legend.js +6 -6
- package/dist/map/map-navigation-control.d.ts +13 -0
- package/dist/map/map-navigation-control.js +143 -0
- package/dist/map/map-popover.js +2 -2
- package/dist/map-container.d.ts +13 -3
- package/dist/map-container.js +250 -57
- package/dist/map-view-state-context.d.ts +1 -0
- package/dist/map-view-state-context.js +1 -1
- package/dist/modal-container.d.ts +3 -2
- package/dist/modal-container.js +28 -6
- package/dist/modals/add-map-style-modal.js +173 -200
- package/dist/modals/data-table-modal.d.ts +1 -1
- package/dist/modals/data-table-modal.js +146 -194
- package/dist/modals/export-data-modal.js +117 -139
- package/dist/modals/export-video-modal.d.ts +25 -0
- package/dist/modals/export-video-modal.js +338 -0
- package/dist/modals/export-video-modal.spec.d.ts +1 -0
- package/dist/modals/export-video-modal.spec.js +686 -0
- package/dist/modals/fog-height-animation.d.ts +8 -0
- package/dist/modals/fog-height-animation.js +97 -0
- package/dist/modals/hubble-utils.d.ts +25 -0
- package/dist/modals/hubble-utils.js +197 -0
- package/dist/modals/hubble-utils.spec.d.ts +1 -0
- package/dist/modals/hubble-utils.spec.js +397 -0
- package/dist/modals/tilesets-modals/load-data-footer.js +2 -2
- package/dist/modals/tilesets-modals/load-tileset.js +21 -10
- package/dist/modals/tilesets-modals/tileset-bitmap-form.d.ts +14 -0
- package/dist/modals/tilesets-modals/tileset-bitmap-form.js +284 -0
- package/dist/modals/tilesets-modals/tileset-raster-form.js +94 -11
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +3 -2
- package/dist/modals/tilesets-modals/tileset-vector-form.js +58 -4
- package/dist/modals/tilesets-modals/tileset-wms-form.js +4 -3
- package/dist/notification-panel/notification-item.d.ts +1 -53
- package/dist/notification-panel/notification-item.js +47 -75
- package/dist/notification-panel.d.ts +1 -1
- package/dist/notification-panel.js +20 -42
- package/dist/plot-container.js +7 -6
- package/dist/side-panel/add-by-dataset-button.js +3 -3
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/interaction-panel/geocoder-config.d.ts +11 -0
- package/dist/side-panel/interaction-panel/geocoder-config.js +45 -0
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +3 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +10 -3
- package/dist/side-panel/layer-manager.js +11 -3
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-scale-selector.js +1 -1
- package/dist/side-panel/layer-panel/custom-palette.js +5 -5
- package/dist/side-panel/layer-panel/dataset-layer-section.js +19 -3
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +4 -2
- package/dist/side-panel/layer-panel/layer-configurator.js +402 -76
- package/dist/side-panel/layer-panel/layer-panel-header.js +2 -2
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +127 -27
- package/dist/side-panel/layer-panel/scenegraph-model-selector.d.ts +24 -0
- package/dist/side-panel/layer-panel/scenegraph-model-selector.js +123 -0
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +1 -1
- package/dist/side-panel/layer-panel/text-label-panel.js +11 -2
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +2 -0
- package/dist/side-panel/layer-panel/vis-config-slider.js +7 -3
- package/dist/side-panel/panel-header.d.ts +1 -0
- package/dist/side-panel/panel-header.js +9 -2
- package/dist/side-panel/panel-tab.d.ts +1 -1
- package/dist/side-panel/panel-tab.js +4 -4
- package/dist/side-panel.js +5 -1
- package/package.json +39 -28
|
@@ -43,7 +43,7 @@ var StyledEffectPanelHeader = _styledComponents["default"].div(_templateObject3
|
|
|
43
43
|
var StyledEffectPanelContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n padding: ", ";\n overflow: overlay;\n display: flex;\n flex-direction: column;\n"])), function (props) {
|
|
44
44
|
return props.theme.sidePanelScrollBar;
|
|
45
45
|
}, function (props) {
|
|
46
|
-
return props
|
|
46
|
+
return props.$extended ? '32px' : '10px 0px 10px 0px';
|
|
47
47
|
});
|
|
48
48
|
EffectManagerFactory.deps = [_effectList["default"], _sidePanelTitle["default"], _effectTypeSelector["default"]];
|
|
49
49
|
function EffectManagerFactory(EffectList, SidePanelTitle, EffectTypeSelector) {
|
|
@@ -104,7 +104,7 @@ function EffectManagerFactory(EffectList, SidePanelTitle, EffectTypeSelector) {
|
|
|
104
104
|
onOpen: onTypeSelectOpen,
|
|
105
105
|
onBlur: onTypeSelectClose
|
|
106
106
|
}))), /*#__PURE__*/_react["default"].createElement(StyledEffectPanelContent, {
|
|
107
|
-
extended: typeSelectorOpened && effects.length === 0
|
|
107
|
+
$extended: typeSelectorOpened && effects.length === 0
|
|
108
108
|
}, /*#__PURE__*/_react["default"].createElement(EffectList, {
|
|
109
109
|
effects: effects,
|
|
110
110
|
effectOrder: effectOrder,
|
|
@@ -124,4 +124,4 @@ function EffectManagerFactory(EffectList, SidePanelTitle, EffectTypeSelector) {
|
|
|
124
124
|
})((0, _reactIntl.injectIntl)(EffectManager));
|
|
125
125
|
}
|
|
126
126
|
var _default = exports["default"] = EffectManagerFactory;
|
|
127
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RJbnRsIiwiX2FjdGlvbnMiLCJfY29uc3RhbnRzIiwiX3JlZHVjZXJzIiwiX2luamVjdG9yIiwiX3NpZGVQYW5lbFRpdGxlIiwiX2VmZmVjdExpc3QiLCJfZWZmZWN0VHlwZVNlbGVjdG9yIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiU3R5bGVkRWZmZWN0UGFuZWxDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlN0eWxlZEVmZmVjdFBhbmVsIiwicHJvcHMiLCJ0aGVtZSIsInNpZGVQYW5lbEJnIiwiU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIiLCJfcmVmIiwiY29uY2F0IiwiZWZmZWN0UGFuZWxQYWRkaW5nVG9wIiwiZWZmZWN0UGFuZWxQYWRkaW5nU2lkZSIsImJvcmRlckNvbG9yIiwiX3JlZjIiLCJlZmZlY3RQYW5lbFdpZHRoIiwiU3R5bGVkRWZmZWN0UGFuZWxDb250ZW50Iiwic2lkZVBhbmVsU2Nyb2xsQmFyIiwiZXh0ZW5kZWQiLCJFZmZlY3RNYW5hZ2VyRmFjdG9yeSIsImRlcHMiLCJFZmZlY3RMaXN0RmFjdG9yeSIsIlNpZGVQYW5lbFRpdGxlRmFjdG9yeSIsIkVmZmVjdFR5cGVTZWxlY3RvckZhY3RvcnkiLCJFZmZlY3RMaXN0IiwiU2lkZVBhbmVsVGl0bGUiLCJFZmZlY3RUeXBlU2VsZWN0b3IiLCJFZmZlY3RNYW5hZ2VyIiwiaW50bCIsInZpc1N0YXRlQWN0aW9ucyIsInZpc1N0YXRlIiwiY2hpbGRyZW4iLCJlZmZlY3RzIiwiZWZmZWN0T3JkZXIiLCJ2aXNTdGF0ZUFkZEVmZmVjdCIsImFkZEVmZmVjdCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInR5cGVTZWxlY3Rvck9wZW5lZCIsInNldFR5cGVTZWxlY3Rvck9wZW5lZCIsImVmZmVjdE9wdGlvbnMiLCJ1c2VNZW1vIiwiaGFzU2hhZG93Iiwic29tZSIsImVmZmVjdCIsInR5cGUiLCJMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCIsImhhc0Rpc3RhbmNlRm9nIiwiRElTVEFOQ0VfRk9HX1RZUEUiLCJoYXNTdXJmYWNlRm9nIiwiU1VSRkFDRV9GT0dfVFlQRSIsImhhc0FueUZvZyIsIkVGRkVDVF9ERVNDUklQVElPTlMiLCJtYXAiLCJkZXNjIiwiZGlzYWJsZWQiLCJCb29sZWFuIiwib25BZGRFZmZlY3QiLCJ1c2VDYWxsYmFjayIsIm9uVHlwZVNlbGVjdE9wZW4iLCJvblR5cGVTZWxlY3RDbG9zZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ0aXRsZSIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsIm9wdGlvbnMiLCJvblNlbGVjdCIsIm9uT3BlbiIsIm9uQmx1ciIsImlzU29ydGFibGUiLCJ3aXRoU3RhdGUiLCJ2aXNTdGF0ZUxlbnMiLCJzdGF0ZSIsInVwZGF0ZUVmZmVjdCIsInJlbW92ZUVmZmVjdCIsInJlb3JkZXJFZmZlY3QiLCJpbmplY3RJbnRsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VmZmVjdHMvZWZmZWN0LW1hbmFnZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZU1lbW8sIHVzZVN0YXRlLCB1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2luamVjdEludGwsIEludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5cbmltcG9ydCB7XG4gIGFkZEVmZmVjdCxcbiAgdXBkYXRlRWZmZWN0LFxuICByZW1vdmVFZmZlY3QsXG4gIHJlb3JkZXJFZmZlY3QsXG4gIEFjdGlvbkhhbmRsZXJcbn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7XG4gIExJR0hUX0FORF9TSEFET1dfRUZGRUNULFxuICBFRkZFQ1RfREVTQ1JJUFRJT05TLFxuICBESVNUQU5DRV9GT0dfVFlQRSxcbiAgU1VSRkFDRV9GT0dfVFlQRVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge3Zpc1N0YXRlTGVuc30gZnJvbSAnQGtlcGxlci5nbC9yZWR1Y2Vycyc7XG5pbXBvcnQge0VmZmVjdH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1Zpc1N0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3NjaGVtYXMnO1xuXG5pbXBvcnQge3dpdGhTdGF0ZX0gZnJvbSAnLi4vaW5qZWN0b3InO1xuaW1wb3J0IFNpZGVQYW5lbFRpdGxlRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwtdGl0bGUnO1xuaW1wb3J0IEVmZmVjdExpc3RGYWN0b3J5IGZyb20gJy4vZWZmZWN0LWxpc3QnO1xuaW1wb3J0IEVmZmVjdFR5cGVTZWxlY3RvckZhY3RvcnksIHtFZmZlY3RUeXBlU2VsZWN0b3JQcm9wc30gZnJvbSAnLi9lZmZlY3QtdHlwZS1zZWxlY3Rvcic7XG5cbmV4cG9ydCB0eXBlIEVmZmVjdE1hbmFnZXJTdGF0ZSA9IHtcbiAgdmlzU3RhdGU6IFZpc1N0YXRlO1xuICB2aXNTdGF0ZUFjdGlvbnM6IHtcbiAgICBhZGRFZmZlY3Q6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIGFkZEVmZmVjdD47XG4gICAgdXBkYXRlRWZmZWN0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiB1cGRhdGVFZmZlY3Q+O1xuICAgIHJlbW92ZUVmZmVjdDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgcmVtb3ZlRWZmZWN0PjtcbiAgICByZW9yZGVyRWZmZWN0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiByZW9yZGVyRWZmZWN0PjtcbiAgfTtcbiAgZWZmZWN0czogRWZmZWN0W107XG4gIGVmZmVjdE9yZGVyOiBzdHJpbmdbXTtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5leHBvcnQgdHlwZSBFZmZlY3RNYW5hZ2VyUHJvcHMgPSBFZmZlY3RNYW5hZ2VyV2l0aEludGxQcm9wICYgRWZmZWN0TWFuYWdlclN0YXRlO1xuXG5leHBvcnQgdHlwZSBFZmZlY3RNYW5hZ2VyV2l0aEludGxQcm9wID0ge2ludGw6IEludGxTaGFwZX07XG5cbmNvbnN0IFN0eWxlZEVmZmVjdFBhbmVsQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDsgLyogcHJldmVudCBwYWRkaW5nIGZyb20gYmxvY2tpbmcgaW5wdXQgKi9cbiAgZmxleC1ncm93OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJiA+ICoge1xuICAgIC8qIGFsbCBjaGlsZHJlbiBzaG91bGQgYWxsb3cgaW5wdXQgKi9cbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG5gO1xuXG4vLyB0b3AgcmlnaHQgcG9zaXRpb24gYWJzb2x1dGVcbmNvbnN0IFN0eWxlZEVmZmVjdFBhbmVsID0gc3R5bGVkLmRpdmBcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbEJnfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYDtcblxuY29uc3QgU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAkeyh7dGhlbWV9KSA9PlxuICAgIGAke3RoZW1lLmVmZmVjdFBhbmVsUGFkZGluZ1RvcH1weCAke3RoZW1lLmVmZmVjdFBhbmVsUGFkZGluZ1NpZGV9cHggNHB4ICR7dGhlbWUuZWZmZWN0UGFuZWxQYWRkaW5nU2lkZX1weGB9O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJDb2xvcn07XG4gIG1pbi13aWR0aDogJHsoe3RoZW1lfSkgPT4gdGhlbWUuZWZmZWN0UGFuZWxXaWR0aH1weDtcbmA7XG5cbnR5cGUgU3R5bGVkRWZmZWN0UGFuZWxDb250ZW50UHJvcHMgPSB7XG4gIGV4dGVuZGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbENvbnRlbnQgPSBzdHlsZWQuZGl2PFN0eWxlZEVmZmVjdFBhbmVsQ29udGVudFByb3BzPmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxTY3JvbGxCYXJ9O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IChwcm9wcy5leHRlbmRlZCA/ICczMnB4JyA6ICcxMHB4IDBweCAxMHB4IDBweCcpfTtcbiAgb3ZlcmZsb3c6IG92ZXJsYXk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5gO1xuXG5FZmZlY3RNYW5hZ2VyRmFjdG9yeS5kZXBzID0gW0VmZmVjdExpc3RGYWN0b3J5LCBTaWRlUGFuZWxUaXRsZUZhY3RvcnksIEVmZmVjdFR5cGVTZWxlY3RvckZhY3RvcnldO1xuXG5mdW5jdGlvbiBFZmZlY3RNYW5hZ2VyRmFjdG9yeShcbiAgRWZmZWN0TGlzdDogUmV0dXJuVHlwZTx0eXBlb2YgRWZmZWN0TGlzdEZhY3Rvcnk+LFxuICBTaWRlUGFuZWxUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgU2lkZVBhbmVsVGl0bGVGYWN0b3J5PixcbiAgRWZmZWN0VHlwZVNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBFZmZlY3RUeXBlU2VsZWN0b3JGYWN0b3J5PlxuKTogUmVhY3QuRkM8RWZmZWN0TWFuYWdlclByb3BzPiB7XG4gIGNvbnN0IEVmZmVjdE1hbmFnZXIgPSAocHJvcHM6IEVmZmVjdE1hbmFnZXJXaXRoSW50bFByb3AgJiBFZmZlY3RNYW5hZ2VyU3RhdGUpID0+IHtcbiAgICBjb25zdCB7aW50bCwgdmlzU3RhdGVBY3Rpb25zLCB2aXNTdGF0ZSwgY2hpbGRyZW59ID0gcHJvcHM7XG4gICAgY29uc3Qge2VmZmVjdHMsIGVmZmVjdE9yZGVyfSA9IHZpc1N0YXRlO1xuICAgIGNvbnN0IHthZGRFZmZlY3Q6IHZpc1N0YXRlQWRkRWZmZWN0fSA9IHZpc1N0YXRlQWN0aW9ucztcbiAgICBjb25zdCBbdHlwZVNlbGVjdG9yT3BlbmVkLCBzZXRUeXBlU2VsZWN0b3JPcGVuZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgLy8gUHJldmVudCBzaGFkb3cgZWZmZWN0IGZyb20gYmVpbmcgYWRkZWQgbXVsdGlwbGUgdGltZXNcbiAgICBjb25zdCBlZmZlY3RPcHRpb25zOiBFZmZlY3RUeXBlU2VsZWN0b3JQcm9wc1snb3B0aW9ucyddID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBoYXNTaGFkb3cgPSBlZmZlY3RzLnNvbWUoZWZmZWN0ID0+IHtcbiAgICAgICAgcmV0dXJuIGVmZmVjdC50eXBlID09PSBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVC50eXBlO1xuICAgICAgfSk7XG4gICAgICBjb25zdCBoYXNEaXN0YW5jZUZvZyA9IGVmZmVjdHMuc29tZShlZmZlY3QgPT4ge1xuICAgICAgICByZXR1cm4gZWZmZWN0LnR5cGUgPT09IERJU1RBTkNFX0ZPR19UWVBFO1xuICAgICAgfSk7XG4gICAgICBjb25zdCBoYXNTdXJmYWNlRm9nID0gZWZmZWN0cy5zb21lKGVmZmVjdCA9PiB7XG4gICAgICAgIHJldHVybiBlZmZlY3QudHlwZSA9PT0gU1VSRkFDRV9GT0dfVFlQRTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgaGFzQW55Rm9nID0gaGFzRGlzdGFuY2VGb2cgfHwgaGFzU3VyZmFjZUZvZztcblxuICAgICAgcmV0dXJuIEVGRkVDVF9ERVNDUklQVElPTlMubWFwKGRlc2MgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRlc2MsXG4gICAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4oXG4gICAgICAgICAgICAoaGFzU2hhZG93ICYmIGRlc2MudHlwZSA9PT0gTElHSFRfQU5EX1NIQURPV19FRkZFQ1QudHlwZSkgfHxcbiAgICAgICAgICAgICAgKGhhc0FueUZvZyAmJiAoZGVzYy50eXBlID09PSBESVNUQU5DRV9GT0dfVFlQRSB8fCBkZXNjLnR5cGUgPT09IFNVUkZBQ0VfRk9HX1RZUEUpKVxuICAgICAgICAgIClcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0sIFtlZmZlY3RzXSk7XG5cbiAgICBjb25zdCBvbkFkZEVmZmVjdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgdHlwZSA9PiB7XG4gICAgICAgIHZpc1N0YXRlQWRkRWZmZWN0KHt0eXBlfSk7XG4gICAgICB9LFxuICAgICAgW3Zpc1N0YXRlQWRkRWZmZWN0XVxuICAgICk7XG5cbiAgICBjb25zdCBvblR5cGVTZWxlY3RPcGVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VHlwZVNlbGVjdG9yT3BlbmVkKHRydWUpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9uVHlwZVNlbGVjdENsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VHlwZVNlbGVjdG9yT3BlbmVkKGZhbHNlKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEVmZmVjdFBhbmVsQ29udGFpbmVyIGNsYXNzTmFtZT1cImVmZmVjdC1tYW5hZ2VyXCI+XG4gICAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbD5cbiAgICAgICAgICA8U3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIgY2xhc3NOYW1lPVwiZWZmZWN0LXBhbmVsLWhlYWRlclwiPlxuICAgICAgICAgICAgPFNpZGVQYW5lbFRpdGxlXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImVmZmVjdC1tYW5hZ2VyLXRpdGxlXCJcbiAgICAgICAgICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdlZmZlY3RNYW5hZ2VyLmVmZmVjdHMnfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZmZlY3RUeXBlU2VsZWN0b3JcbiAgICAgICAgICAgICAgICBvcHRpb25zPXtlZmZlY3RPcHRpb25zfVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvbkFkZEVmZmVjdH1cbiAgICAgICAgICAgICAgICBvbk9wZW49e29uVHlwZVNlbGVjdE9wZW59XG4gICAgICAgICAgICAgICAgb25CbHVyPXtvblR5cGVTZWxlY3RDbG9zZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvU2lkZVBhbmVsVGl0bGU+XG4gICAgICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbEhlYWRlcj5cblxuICAgICAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbENvbnRlbnQgZXh0ZW5kZWQ9e3R5cGVTZWxlY3Rvck9wZW5lZCAmJiBlZmZlY3RzLmxlbmd0aCA9PT0gMH0+XG4gICAgICAgICAgICA8RWZmZWN0TGlzdFxuICAgICAgICAgICAgICBlZmZlY3RzPXtlZmZlY3RzfVxuICAgICAgICAgICAgICBlZmZlY3RPcmRlcj17ZWZmZWN0T3JkZXJ9XG4gICAgICAgICAgICAgIHZpc1N0YXRlQWN0aW9ucz17dmlzU3RhdGVBY3Rpb25zfVxuICAgICAgICAgICAgICBpc1NvcnRhYmxlPXt0cnVlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1N0eWxlZEVmZmVjdFBhbmVsQ29udGVudD5cbiAgICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbD5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiB3aXRoU3RhdGUoW3Zpc1N0YXRlTGVuc10sIHN0YXRlID0+IHN0YXRlLCB7XG4gICAgdmlzU3RhdGVBY3Rpb25zOiB7YWRkRWZmZWN0LCB1cGRhdGVFZmZlY3QsIHJlbW92ZUVmZmVjdCwgcmVvcmRlckVmZmVjdH1cbiAgfSkoaW5qZWN0SW50bChFZmZlY3RNYW5hZ2VyKSkgYXMgUmVhY3QuRkM8RWZmZWN0TWFuYWdlclByb3BzPjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRWZmZWN0TWFuYWdlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQU9BLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQU1BLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUlBLElBQUFPLFNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGVBQUEsR0FBQU4sc0JBQUEsQ0FB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
|
|
127
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RJbnRsIiwiX2FjdGlvbnMiLCJfY29uc3RhbnRzIiwiX3JlZHVjZXJzIiwiX2luamVjdG9yIiwiX3NpZGVQYW5lbFRpdGxlIiwiX2VmZmVjdExpc3QiLCJfZWZmZWN0VHlwZVNlbGVjdG9yIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiU3R5bGVkRWZmZWN0UGFuZWxDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlN0eWxlZEVmZmVjdFBhbmVsIiwicHJvcHMiLCJ0aGVtZSIsInNpZGVQYW5lbEJnIiwiU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIiLCJfcmVmIiwiY29uY2F0IiwiZWZmZWN0UGFuZWxQYWRkaW5nVG9wIiwiZWZmZWN0UGFuZWxQYWRkaW5nU2lkZSIsImJvcmRlckNvbG9yIiwiX3JlZjIiLCJlZmZlY3RQYW5lbFdpZHRoIiwiU3R5bGVkRWZmZWN0UGFuZWxDb250ZW50Iiwic2lkZVBhbmVsU2Nyb2xsQmFyIiwiJGV4dGVuZGVkIiwiRWZmZWN0TWFuYWdlckZhY3RvcnkiLCJkZXBzIiwiRWZmZWN0TGlzdEZhY3RvcnkiLCJTaWRlUGFuZWxUaXRsZUZhY3RvcnkiLCJFZmZlY3RUeXBlU2VsZWN0b3JGYWN0b3J5IiwiRWZmZWN0TGlzdCIsIlNpZGVQYW5lbFRpdGxlIiwiRWZmZWN0VHlwZVNlbGVjdG9yIiwiRWZmZWN0TWFuYWdlciIsImludGwiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJ2aXNTdGF0ZSIsImNoaWxkcmVuIiwiZWZmZWN0cyIsImVmZmVjdE9yZGVyIiwidmlzU3RhdGVBZGRFZmZlY3QiLCJhZGRFZmZlY3QiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJ0eXBlU2VsZWN0b3JPcGVuZWQiLCJzZXRUeXBlU2VsZWN0b3JPcGVuZWQiLCJlZmZlY3RPcHRpb25zIiwidXNlTWVtbyIsImhhc1NoYWRvdyIsInNvbWUiLCJlZmZlY3QiLCJ0eXBlIiwiTElHSFRfQU5EX1NIQURPV19FRkZFQ1QiLCJoYXNEaXN0YW5jZUZvZyIsIkRJU1RBTkNFX0ZPR19UWVBFIiwiaGFzU3VyZmFjZUZvZyIsIlNVUkZBQ0VfRk9HX1RZUEUiLCJoYXNBbnlGb2ciLCJFRkZFQ1RfREVTQ1JJUFRJT05TIiwibWFwIiwiZGVzYyIsImRpc2FibGVkIiwiQm9vbGVhbiIsIm9uQWRkRWZmZWN0IiwidXNlQ2FsbGJhY2siLCJvblR5cGVTZWxlY3RPcGVuIiwib25UeXBlU2VsZWN0Q2xvc2UiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwidGl0bGUiLCJmb3JtYXRNZXNzYWdlIiwiaWQiLCJvcHRpb25zIiwib25TZWxlY3QiLCJvbk9wZW4iLCJvbkJsdXIiLCJpc1NvcnRhYmxlIiwid2l0aFN0YXRlIiwidmlzU3RhdGVMZW5zIiwic3RhdGUiLCJ1cGRhdGVFZmZlY3QiLCJyZW1vdmVFZmZlY3QiLCJyZW9yZGVyRWZmZWN0IiwiaW5qZWN0SW50bCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC1tYW5hZ2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBJbnRsU2hhcGV9IGZyb20gJ3JlYWN0LWludGwnO1xuXG5pbXBvcnQge1xuICBhZGRFZmZlY3QsXG4gIHVwZGF0ZUVmZmVjdCxcbiAgcmVtb3ZlRWZmZWN0LFxuICByZW9yZGVyRWZmZWN0LFxuICBBY3Rpb25IYW5kbGVyXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge1xuICBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCxcbiAgRUZGRUNUX0RFU0NSSVBUSU9OUyxcbiAgRElTVEFOQ0VfRk9HX1RZUEUsXG4gIFNVUkZBQ0VfRk9HX1RZUEVcbn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHt2aXNTdGF0ZUxlbnN9IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IHtFZmZlY3R9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtWaXNTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC9zY2hlbWFzJztcblxuaW1wb3J0IHt3aXRoU3RhdGV9IGZyb20gJy4uL2luamVjdG9yJztcbmltcG9ydCBTaWRlUGFuZWxUaXRsZUZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsLXRpdGxlJztcbmltcG9ydCBFZmZlY3RMaXN0RmFjdG9yeSBmcm9tICcuL2VmZmVjdC1saXN0JztcbmltcG9ydCBFZmZlY3RUeXBlU2VsZWN0b3JGYWN0b3J5LCB7RWZmZWN0VHlwZVNlbGVjdG9yUHJvcHN9IGZyb20gJy4vZWZmZWN0LXR5cGUtc2VsZWN0b3InO1xuXG5leHBvcnQgdHlwZSBFZmZlY3RNYW5hZ2VyU3RhdGUgPSB7XG4gIHZpc1N0YXRlOiBWaXNTdGF0ZTtcbiAgdmlzU3RhdGVBY3Rpb25zOiB7XG4gICAgYWRkRWZmZWN0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBhZGRFZmZlY3Q+O1xuICAgIHVwZGF0ZUVmZmVjdDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgdXBkYXRlRWZmZWN0PjtcbiAgICByZW1vdmVFZmZlY3Q6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHJlbW92ZUVmZmVjdD47XG4gICAgcmVvcmRlckVmZmVjdDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgcmVvcmRlckVmZmVjdD47XG4gIH07XG4gIGVmZmVjdHM6IEVmZmVjdFtdO1xuICBlZmZlY3RPcmRlcjogc3RyaW5nW107XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuZXhwb3J0IHR5cGUgRWZmZWN0TWFuYWdlclByb3BzID0gRWZmZWN0TWFuYWdlcldpdGhJbnRsUHJvcCAmIEVmZmVjdE1hbmFnZXJTdGF0ZTtcblxuZXhwb3J0IHR5cGUgRWZmZWN0TWFuYWdlcldpdGhJbnRsUHJvcCA9IHtpbnRsOiBJbnRsU2hhcGV9O1xuXG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7IC8qIHByZXZlbnQgcGFkZGluZyBmcm9tIGJsb2NraW5nIGlucHV0ICovXG4gIGZsZXgtZ3JvdzogMTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICYgPiAqIHtcbiAgICAvKiBhbGwgY2hpbGRyZW4gc2hvdWxkIGFsbG93IGlucHV0ICovXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxuYDtcblxuLy8gdG9wIHJpZ2h0IHBvc2l0aW9uIGFic29sdXRlXG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxCZ307XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmA7XG5cbmNvbnN0IFN0eWxlZEVmZmVjdFBhbmVsSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogJHsoe3RoZW1lfSkgPT5cbiAgICBgJHt0aGVtZS5lZmZlY3RQYW5lbFBhZGRpbmdUb3B9cHggJHt0aGVtZS5lZmZlY3RQYW5lbFBhZGRpbmdTaWRlfXB4IDRweCAke3RoZW1lLmVmZmVjdFBhbmVsUGFkZGluZ1NpZGV9cHhgfTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyQ29sb3J9O1xuICBtaW4td2lkdGg6ICR7KHt0aGVtZX0pID0+IHRoZW1lLmVmZmVjdFBhbmVsV2lkdGh9cHg7XG5gO1xuXG50eXBlIFN0eWxlZEVmZmVjdFBhbmVsQ29udGVudFByb3BzID0ge1xuICAkZXh0ZW5kZWQ/OiBib29sZWFuO1xufTtcbmNvbnN0IFN0eWxlZEVmZmVjdFBhbmVsQ29udGVudCA9IHN0eWxlZC5kaXY8U3R5bGVkRWZmZWN0UGFuZWxDb250ZW50UHJvcHM+YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFNjcm9sbEJhcn07XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gKHByb3BzLiRleHRlbmRlZCA/ICczMnB4JyA6ICcxMHB4IDBweCAxMHB4IDBweCcpfTtcbiAgb3ZlcmZsb3c6IG92ZXJsYXk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5gO1xuXG5FZmZlY3RNYW5hZ2VyRmFjdG9yeS5kZXBzID0gW0VmZmVjdExpc3RGYWN0b3J5LCBTaWRlUGFuZWxUaXRsZUZhY3RvcnksIEVmZmVjdFR5cGVTZWxlY3RvckZhY3RvcnldO1xuXG5mdW5jdGlvbiBFZmZlY3RNYW5hZ2VyRmFjdG9yeShcbiAgRWZmZWN0TGlzdDogUmV0dXJuVHlwZTx0eXBlb2YgRWZmZWN0TGlzdEZhY3Rvcnk+LFxuICBTaWRlUGFuZWxUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgU2lkZVBhbmVsVGl0bGVGYWN0b3J5PixcbiAgRWZmZWN0VHlwZVNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBFZmZlY3RUeXBlU2VsZWN0b3JGYWN0b3J5PlxuKTogUmVhY3QuRkM8RWZmZWN0TWFuYWdlclByb3BzPiB7XG4gIGNvbnN0IEVmZmVjdE1hbmFnZXIgPSAocHJvcHM6IEVmZmVjdE1hbmFnZXJXaXRoSW50bFByb3AgJiBFZmZlY3RNYW5hZ2VyU3RhdGUpID0+IHtcbiAgICBjb25zdCB7aW50bCwgdmlzU3RhdGVBY3Rpb25zLCB2aXNTdGF0ZSwgY2hpbGRyZW59ID0gcHJvcHM7XG4gICAgY29uc3Qge2VmZmVjdHMsIGVmZmVjdE9yZGVyfSA9IHZpc1N0YXRlO1xuICAgIGNvbnN0IHthZGRFZmZlY3Q6IHZpc1N0YXRlQWRkRWZmZWN0fSA9IHZpc1N0YXRlQWN0aW9ucztcbiAgICBjb25zdCBbdHlwZVNlbGVjdG9yT3BlbmVkLCBzZXRUeXBlU2VsZWN0b3JPcGVuZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgLy8gUHJldmVudCBzaGFkb3cgZWZmZWN0IGZyb20gYmVpbmcgYWRkZWQgbXVsdGlwbGUgdGltZXNcbiAgICBjb25zdCBlZmZlY3RPcHRpb25zOiBFZmZlY3RUeXBlU2VsZWN0b3JQcm9wc1snb3B0aW9ucyddID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBoYXNTaGFkb3cgPSBlZmZlY3RzLnNvbWUoZWZmZWN0ID0+IHtcbiAgICAgICAgcmV0dXJuIGVmZmVjdC50eXBlID09PSBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVC50eXBlO1xuICAgICAgfSk7XG4gICAgICBjb25zdCBoYXNEaXN0YW5jZUZvZyA9IGVmZmVjdHMuc29tZShlZmZlY3QgPT4ge1xuICAgICAgICByZXR1cm4gZWZmZWN0LnR5cGUgPT09IERJU1RBTkNFX0ZPR19UWVBFO1xuICAgICAgfSk7XG4gICAgICBjb25zdCBoYXNTdXJmYWNlRm9nID0gZWZmZWN0cy5zb21lKGVmZmVjdCA9PiB7XG4gICAgICAgIHJldHVybiBlZmZlY3QudHlwZSA9PT0gU1VSRkFDRV9GT0dfVFlQRTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgaGFzQW55Rm9nID0gaGFzRGlzdGFuY2VGb2cgfHwgaGFzU3VyZmFjZUZvZztcblxuICAgICAgcmV0dXJuIEVGRkVDVF9ERVNDUklQVElPTlMubWFwKGRlc2MgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRlc2MsXG4gICAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4oXG4gICAgICAgICAgICAoaGFzU2hhZG93ICYmIGRlc2MudHlwZSA9PT0gTElHSFRfQU5EX1NIQURPV19FRkZFQ1QudHlwZSkgfHxcbiAgICAgICAgICAgICAgKGhhc0FueUZvZyAmJiAoZGVzYy50eXBlID09PSBESVNUQU5DRV9GT0dfVFlQRSB8fCBkZXNjLnR5cGUgPT09IFNVUkZBQ0VfRk9HX1RZUEUpKVxuICAgICAgICAgIClcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0sIFtlZmZlY3RzXSk7XG5cbiAgICBjb25zdCBvbkFkZEVmZmVjdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgdHlwZSA9PiB7XG4gICAgICAgIHZpc1N0YXRlQWRkRWZmZWN0KHt0eXBlfSk7XG4gICAgICB9LFxuICAgICAgW3Zpc1N0YXRlQWRkRWZmZWN0XVxuICAgICk7XG5cbiAgICBjb25zdCBvblR5cGVTZWxlY3RPcGVuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VHlwZVNlbGVjdG9yT3BlbmVkKHRydWUpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9uVHlwZVNlbGVjdENsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0VHlwZVNlbGVjdG9yT3BlbmVkKGZhbHNlKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEVmZmVjdFBhbmVsQ29udGFpbmVyIGNsYXNzTmFtZT1cImVmZmVjdC1tYW5hZ2VyXCI+XG4gICAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbD5cbiAgICAgICAgICA8U3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIgY2xhc3NOYW1lPVwiZWZmZWN0LXBhbmVsLWhlYWRlclwiPlxuICAgICAgICAgICAgPFNpZGVQYW5lbFRpdGxlXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImVmZmVjdC1tYW5hZ2VyLXRpdGxlXCJcbiAgICAgICAgICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdlZmZlY3RNYW5hZ2VyLmVmZmVjdHMnfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZmZlY3RUeXBlU2VsZWN0b3JcbiAgICAgICAgICAgICAgICBvcHRpb25zPXtlZmZlY3RPcHRpb25zfVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvbkFkZEVmZmVjdH1cbiAgICAgICAgICAgICAgICBvbk9wZW49e29uVHlwZVNlbGVjdE9wZW59XG4gICAgICAgICAgICAgICAgb25CbHVyPXtvblR5cGVTZWxlY3RDbG9zZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvU2lkZVBhbmVsVGl0bGU+XG4gICAgICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbEhlYWRlcj5cblxuICAgICAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbENvbnRlbnQgJGV4dGVuZGVkPXt0eXBlU2VsZWN0b3JPcGVuZWQgJiYgZWZmZWN0cy5sZW5ndGggPT09IDB9PlxuICAgICAgICAgICAgPEVmZmVjdExpc3RcbiAgICAgICAgICAgICAgZWZmZWN0cz17ZWZmZWN0c31cbiAgICAgICAgICAgICAgZWZmZWN0T3JkZXI9e2VmZmVjdE9yZGVyfVxuICAgICAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgaXNTb3J0YWJsZT17dHJ1ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbENvbnRlbnQ+XG4gICAgICAgIDwvU3R5bGVkRWZmZWN0UGFuZWw+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvU3R5bGVkRWZmZWN0UGFuZWxDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gd2l0aFN0YXRlKFt2aXNTdGF0ZUxlbnNdLCBzdGF0ZSA9PiBzdGF0ZSwge1xuICAgIHZpc1N0YXRlQWN0aW9uczoge2FkZEVmZmVjdCwgdXBkYXRlRWZmZWN0LCByZW1vdmVFZmZlY3QsIHJlb3JkZXJFZmZlY3R9XG4gIH0pKGluamVjdEludGwoRWZmZWN0TWFuYWdlcikpIGFzIFJlYWN0LkZDPEVmZmVjdE1hbmFnZXJQcm9wcz47XG59XG5cbmV4cG9ydCBkZWZhdWx0IEVmZmVjdE1hbmFnZXJGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFPQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFNQSxJQUFBTSxTQUFBLEdBQUFOLE9BQUE7QUFJQSxJQUFBTyxTQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxlQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxXQUFBLEdBQUFQLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBVSxtQkFBQSxHQUFBUixzQkFBQSxDQUFBRixPQUFBO0FBQTBGLElBQUFXLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUEzQjFGO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQWpCLHdCQUFBaUIsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQUFBLFNBQUFXLFFBQUFuQixDQUFBLEVBQUFFLENBQUEsUUFBQUMsQ0FBQSxHQUFBUSxNQUFBLENBQUFTLElBQUEsQ0FBQXBCLENBQUEsT0FBQVcsTUFBQSxDQUFBVSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFYLE1BQUEsQ0FBQVUscUJBQUEsQ0FBQXJCLENBQUEsR0FBQUUsQ0FBQSxLQUFBb0IsQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQXJCLENBQUEsV0FBQVMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFFLENBQUEsRUFBQXNCLFVBQUEsT0FBQXJCLENBQUEsQ0FBQXNCLElBQUEsQ0FBQUMsS0FBQSxDQUFBdkIsQ0FBQSxFQUFBbUIsQ0FBQSxZQUFBbkIsQ0FBQTtBQUFBLFNBQUF3QixjQUFBM0IsQ0FBQSxhQUFBRSxDQUFBLE1BQUFBLENBQUEsR0FBQTBCLFNBQUEsQ0FBQUMsTUFBQSxFQUFBM0IsQ0FBQSxVQUFBQyxDQUFBLFdBQUF5QixTQUFBLENBQUExQixDQUFBLElBQUEwQixTQUFBLENBQUExQixDQUFBLFFBQUFBLENBQUEsT0FBQWlCLE9BQUEsQ0FBQVIsTUFBQSxDQUFBUixDQUFBLE9BQUEyQixPQUFBLFdBQUE1QixDQUFBLFFBQUE2QixnQkFBQSxhQUFBL0IsQ0FBQSxFQUFBRSxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBUyxNQUFBLENBQUFxQix5QkFBQSxHQUFBckIsTUFBQSxDQUFBc0IsZ0JBQUEsQ0FBQWpDLENBQUEsRUFBQVcsTUFBQSxDQUFBcUIseUJBQUEsQ0FBQTdCLENBQUEsS0FBQWdCLE9BQUEsQ0FBQVIsTUFBQSxDQUFBUixDQUFBLEdBQUEyQixPQUFBLFdBQUE1QixDQUFBLElBQUFTLE1BQUEsQ0FBQUMsY0FBQSxDQUFBWixDQUFBLEVBQUFFLENBQUEsRUFBQVMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBVixDQUFBLEVBQUFELENBQUEsaUJBQUFGLENBQUE7QUE0Q0EsSUFBTWtDLDBCQUEwQixHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUF6QyxlQUFBLEtBQUFBLGVBQUEsT0FBQTBDLHVCQUFBLGlUQVk1Qzs7QUFFRDtBQUNBLElBQU1DLGlCQUFpQixHQUFHSCw0QkFBTSxDQUFDQyxHQUFHLENBQUF4QyxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBeUMsdUJBQUEsZ0pBRWQsVUFBQUUsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDQyxXQUFXO0FBQUEsRUFLckQ7QUFFRCxJQUFNQyx1QkFBdUIsR0FBR1AsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBdkMsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQXdDLHVCQUFBLGlHQUM3QixVQUFBTSxJQUFBO0VBQUEsSUFBRUgsS0FBSyxHQUFBRyxJQUFBLENBQUxILEtBQUs7RUFBQSxVQUFBSSxNQUFBLENBQ2JKLEtBQUssQ0FBQ0sscUJBQXFCLFNBQUFELE1BQUEsQ0FBTUosS0FBSyxDQUFDTSxzQkFBc0IsYUFBQUYsTUFBQSxDQUFVSixLQUFLLENBQUNNLHNCQUFzQjtBQUFBLENBQUksRUFDakYsVUFBQVAsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDTyxXQUFXO0FBQUEsR0FDOUMsVUFBQUMsS0FBQTtFQUFBLElBQUVSLEtBQUssR0FBQVEsS0FBQSxDQUFMUixLQUFLO0VBQUEsT0FBTUEsS0FBSyxDQUFDUyxnQkFBZ0I7QUFBQSxFQUNqRDtBQUtELElBQU1DLHdCQUF3QixHQUFHZiw0QkFBTSxDQUFDQyxHQUFHLENBQUF0QyxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBdUMsdUJBQUEscUhBQ3ZDLFVBQUFFLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ1csa0JBQWtCO0FBQUEsR0FDOUIsVUFBQVosS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ2EsU0FBUyxHQUFHLE1BQU0sR0FBRyxtQkFBbUI7QUFBQSxDQUFDLENBSXJFO0FBRURDLG9CQUFvQixDQUFDQyxJQUFJLEdBQUcsQ0FBQ0Msc0JBQWlCLEVBQUVDLDBCQUFxQixFQUFFQyw4QkFBeUIsQ0FBQztBQUVqRyxTQUFTSixvQkFBb0JBLENBQzNCSyxVQUFnRCxFQUNoREMsY0FBd0QsRUFDeERDLGtCQUFnRSxFQUNsQztFQUM5QixJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUl0QixLQUFxRCxFQUFLO0lBQy9FLElBQU91QixJQUFJLEdBQXlDdkIsS0FBSyxDQUFsRHVCLElBQUk7TUFBRUMsZUFBZSxHQUF3QnhCLEtBQUssQ0FBNUN3QixlQUFlO01BQUVDLFFBQVEsR0FBY3pCLEtBQUssQ0FBM0J5QixRQUFRO01BQUVDLFFBQVEsR0FBSTFCLEtBQUssQ0FBakIwQixRQUFRO0lBQ2hELElBQU9DLE9BQU8sR0FBaUJGLFFBQVEsQ0FBaENFLE9BQU87TUFBRUMsV0FBVyxHQUFJSCxRQUFRLENBQXZCRyxXQUFXO0lBQzNCLElBQWtCQyxpQkFBaUIsR0FBSUwsZUFBZSxDQUEvQ00sU0FBUztJQUNoQixJQUFBQyxTQUFBLEdBQW9ELElBQUFDLGVBQVEsRUFBQyxLQUFLLENBQUM7TUFBQUMsVUFBQSxPQUFBQyxlQUFBLGFBQUFILFNBQUE7TUFBNURJLGtCQUFrQixHQUFBRixVQUFBO01BQUVHLHFCQUFxQixHQUFBSCxVQUFBOztJQUVoRDtJQUNBLElBQU1JLGFBQWlELEdBQUcsSUFBQUMsY0FBTyxFQUFDLFlBQU07TUFDdEUsSUFBTUMsU0FBUyxHQUFHWixPQUFPLENBQUNhLElBQUksQ0FBQyxVQUFBQyxNQUFNLEVBQUk7UUFDdkMsT0FBT0EsTUFBTSxDQUFDQyxJQUFJLEtBQUtDLGtDQUF1QixDQUFDRCxJQUFJO01BQ3JELENBQUMsQ0FBQztNQUNGLElBQU1FLGNBQWMsR0FBR2pCLE9BQU8sQ0FBQ2EsSUFBSSxDQUFDLFVBQUFDLE1BQU0sRUFBSTtRQUM1QyxPQUFPQSxNQUFNLENBQUNDLElBQUksS0FBS0csNEJBQWlCO01BQzFDLENBQUMsQ0FBQztNQUNGLElBQU1DLGFBQWEsR0FBR25CLE9BQU8sQ0FBQ2EsSUFBSSxDQUFDLFVBQUFDLE1BQU0sRUFBSTtRQUMzQyxPQUFPQSxNQUFNLENBQUNDLElBQUksS0FBS0ssMkJBQWdCO01BQ3pDLENBQUMsQ0FBQztNQUNGLElBQU1DLFNBQVMsR0FBR0osY0FBYyxJQUFJRSxhQUFhO01BRWpELE9BQU9HLDhCQUFtQixDQUFDQyxHQUFHLENBQUMsVUFBQUMsSUFBSSxFQUFJO1FBQ3JDLE9BQUEvRCxhQUFBLENBQUFBLGFBQUEsS0FDSytELElBQUk7VUFDUEMsUUFBUSxFQUFFQyxPQUFPLENBQ2RkLFNBQVMsSUFBSVksSUFBSSxDQUFDVCxJQUFJLEtBQUtDLGtDQUF1QixDQUFDRCxJQUFJLElBQ3JETSxTQUFTLEtBQUtHLElBQUksQ0FBQ1QsSUFBSSxLQUFLRyw0QkFBaUIsSUFBSU0sSUFBSSxDQUFDVCxJQUFJLEtBQUtLLDJCQUFnQixDQUNwRjtRQUFDO01BRUwsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxFQUFFLENBQUNwQixPQUFPLENBQUMsQ0FBQztJQUViLElBQU0yQixXQUFXLEdBQUcsSUFBQUMsa0JBQVcsRUFDN0IsVUFBQWIsSUFBSSxFQUFJO01BQ05iLGlCQUFpQixDQUFDO1FBQUNhLElBQUksRUFBSkE7TUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQyxFQUNELENBQUNiLGlCQUFpQixDQUNwQixDQUFDO0lBRUQsSUFBTTJCLGdCQUFnQixHQUFHLElBQUFELGtCQUFXLEVBQUMsWUFBTTtNQUN6Q25CLHFCQUFxQixDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBRU4sSUFBTXFCLGlCQUFpQixHQUFHLElBQUFGLGtCQUFXLEVBQUMsWUFBTTtNQUMxQ25CLHFCQUFxQixDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBRU4sb0JBQ0U3RixNQUFBLFlBQUFtSCxhQUFBLENBQUMvRCwwQkFBMEI7TUFBQ2dFLFNBQVMsRUFBQztJQUFnQixnQkFDcERwSCxNQUFBLFlBQUFtSCxhQUFBLENBQUMzRCxpQkFBaUIscUJBQ2hCeEQsTUFBQSxZQUFBbUgsYUFBQSxDQUFDdkQsdUJBQXVCO01BQUN3RCxTQUFTLEVBQUM7SUFBcUIsZ0JBQ3REcEgsTUFBQSxZQUFBbUgsYUFBQSxDQUFDdEMsY0FBYztNQUNidUMsU0FBUyxFQUFDLHNCQUFzQjtNQUNoQ0MsS0FBSyxFQUFFckMsSUFBSSxDQUFDc0MsYUFBYSxDQUFDO1FBQUNDLEVBQUUsRUFBRTtNQUF1QixDQUFDO0lBQUUsZ0JBRXpEdkgsTUFBQSxZQUFBbUgsYUFBQSxDQUFDckMsa0JBQWtCO01BQ2pCMEMsT0FBTyxFQUFFMUIsYUFBYztNQUN2QjJCLFFBQVEsRUFBRVYsV0FBWTtNQUN0QlcsTUFBTSxFQUFFVCxnQkFBaUI7TUFDekJVLE1BQU0sRUFBRVQ7SUFBa0IsQ0FDM0IsQ0FDYSxDQUNPLENBQUMsZUFFMUJsSCxNQUFBLFlBQUFtSCxhQUFBLENBQUMvQyx3QkFBd0I7TUFBQ0UsU0FBUyxFQUFFc0Isa0JBQWtCLElBQUlSLE9BQU8sQ0FBQ3JDLE1BQU0sS0FBSztJQUFFLGdCQUM5RS9DLE1BQUEsWUFBQW1ILGFBQUEsQ0FBQ3ZDLFVBQVU7TUFDVFEsT0FBTyxFQUFFQSxPQUFRO01BQ2pCQyxXQUFXLEVBQUVBLFdBQVk7TUFDekJKLGVBQWUsRUFBRUEsZUFBZ0I7TUFDakMyQyxVQUFVLEVBQUU7SUFBSyxDQUNsQixDQUN1QixDQUNULENBQUMsRUFDbkJ6QyxRQUN5QixDQUFDO0VBRWpDLENBQUM7RUFFRCxPQUFPLElBQUEwQyxtQkFBUyxFQUFDLENBQUNDLHNCQUFZLENBQUMsRUFBRSxVQUFBQyxLQUFLO0lBQUEsT0FBSUEsS0FBSztFQUFBLEdBQUU7SUFDL0M5QyxlQUFlLEVBQUU7TUFBQ00sU0FBUyxFQUFUQSxrQkFBUztNQUFFeUMsWUFBWSxFQUFaQSxxQkFBWTtNQUFFQyxZQUFZLEVBQVpBLHFCQUFZO01BQUVDLGFBQWEsRUFBYkE7SUFBYTtFQUN4RSxDQUFDLENBQUMsQ0FBQyxJQUFBQyxxQkFBVSxFQUFDcEQsYUFBYSxDQUFDLENBQUM7QUFDL0I7QUFBQyxJQUFBcUQsUUFBQSxHQUFBQyxPQUFBLGNBRWM5RCxvQkFBb0IiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -8,19 +8,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.EffectPanelHeaderActionSectionFactory = EffectPanelHeaderActionSectionFactory;
|
|
9
9
|
exports.defaultProps = exports["default"] = void 0;
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
12
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
15
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
16
16
|
var _constants = require("@kepler.gl/constants");
|
|
17
|
+
var _reactIntl = require("react-intl");
|
|
17
18
|
var _panelHeaderAction = _interopRequireDefault(require("../side-panel/panel-header-action"));
|
|
18
19
|
var _icons = require("../common/icons");
|
|
19
20
|
var _styledComponents2 = require("../common/styled-components");
|
|
20
|
-
var
|
|
21
|
+
var _templateObject, _defaultEffectIcons, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8; // SPDX-License-Identifier: MIT
|
|
21
22
|
// Copyright contributors to the kepler.gl project
|
|
22
23
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
23
24
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
25
|
+
var MultilineTooltip = (0, _styledComponents["default"])(_styledComponents2.Tooltip)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n &.__react_component_tooltip {\n max-width: 280px;\n white-space: normal;\n line-height: 1.4;\n text-align: left;\n }\n"])));
|
|
24
26
|
var defaultProps = exports.defaultProps = {
|
|
25
27
|
isDragNDropEnabled: true
|
|
26
28
|
};
|
|
@@ -32,7 +34,7 @@ var defaultActionIcons = {
|
|
|
32
34
|
disableConfig: _icons.ArrowUp
|
|
33
35
|
};
|
|
34
36
|
var defaultEffectIcons = (_defaultEffectIcons = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_defaultEffectIcons, _constants.LIGHT_AND_SHADOW_EFFECT.type, _icons.LightAndShadowEffectIcon), _constants.POSTPROCESSING_EFFECTS.ink.type, _icons.InkEffectIcon), _constants.POSTPROCESSING_EFFECTS.brightnessContrast.type, _icons.BrightnessContrastEffectIcon), _constants.POSTPROCESSING_EFFECTS.hueSaturation.type, _icons.HueSaturationEffectIcon), _constants.POSTPROCESSING_EFFECTS.vibrance.type, _icons.VibranceEffectIcon), _constants.POSTPROCESSING_EFFECTS.sepia.type, _icons.SepiaEffectIcon), _constants.POSTPROCESSING_EFFECTS.dotScreen.type, _icons.DotScreenEffectIcon), _constants.POSTPROCESSING_EFFECTS.colorHalftone.type, _icons.ColorHalftoneEffectIcon), _constants.POSTPROCESSING_EFFECTS.noise.type, _icons.NoiseEffectIcon), _constants.POSTPROCESSING_EFFECTS.triangleBlur.type, _icons.TriangleBlurEffectIcon), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.zoomBlur.type, _icons.ZoomBlurEffectIcon), _constants.POSTPROCESSING_EFFECTS.tiltShift.type, _icons.TiltShiftEffectIcon), _constants.POSTPROCESSING_EFFECTS.edgeWork.type, _icons.EdgeWorkEffectIcon), _constants.POSTPROCESSING_EFFECTS.vignette.type, _icons.VignetteEffectIcon), _constants.POSTPROCESSING_EFFECTS.magnify.type, _icons.MagnifyEffectIcon), _constants.POSTPROCESSING_EFFECTS.hexagonalPixelate.type, _icons.HexagonalPixelateEffectIcon), _constants.DISTANCE_FOG_TYPE, _icons.DistanceFogEffectIcon), _constants.SURFACE_FOG_TYPE, _icons.SurfaceFogEffectIcon));
|
|
35
|
-
var StyledEffectPanelHeader = (0, _styledComponents["default"])(_styledComponents2.StyledPanelHeader)(
|
|
37
|
+
var StyledEffectPanelHeader = (0, _styledComponents["default"])(_styledComponents2.StyledPanelHeader)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", "px;\n position: relative;\n align-items: stretch;\n\n .effect__drag-handle {\n margin-left: -5px;\n color: ", ";\n }\n\n .effect__drag-handle__placeholder {\n height: 20px;\n padding: 0px;\n margin: 10px 10px 10px 5px;\n }\n\n &:hover {\n cursor: pointer;\n background-color: ", ";\n .effect__drag-handle {\n opacity: 1;\n }\n }\n\n border-left: 3px solid ", ";\n"])), function (props) {
|
|
36
38
|
return props.theme.effectPanelHeaderHeight;
|
|
37
39
|
}, function (props) {
|
|
38
40
|
return props.theme.textColor;
|
|
@@ -41,7 +43,7 @@ var StyledEffectPanelHeader = (0, _styledComponents["default"])(_styledComponent
|
|
|
41
43
|
}, function (props) {
|
|
42
44
|
return props.theme.panelBackgroundHover;
|
|
43
45
|
});
|
|
44
|
-
var HeaderActionSection = _styledComponents["default"].div(
|
|
46
|
+
var HeaderActionSection = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: absolute;\n height: 100%;\n align-items: stretch;\n right: 10px;\n &:hover {\n .effect-panel__header__actions__hidden {\n opacity: 1;\n background-color: ", ";\n }\n }\n"])), function (props) {
|
|
45
47
|
return props.theme.panelBackgroundHover;
|
|
46
48
|
});
|
|
47
49
|
|
|
@@ -49,10 +51,10 @@ var HeaderActionSection = _styledComponents["default"].div(_templateObject2 || (
|
|
|
49
51
|
|
|
50
52
|
var StyledPanelHeaderHiddenActions = _styledComponents["default"].div.attrs({
|
|
51
53
|
className: 'effect-panel__header__actions__hidden'
|
|
52
|
-
})(
|
|
53
|
-
return props
|
|
54
|
+
})(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n opacity: 0;\n display: flex;\n align-items: center;\n transition: opacity 0.4s ease, background-color 0.4s ease;\n background-color: ", ";\n\n &:hover {\n opacity: 1;\n }\n"])), function (props) {
|
|
55
|
+
return props.$isConfigActive ? props.theme.panelBackgroundHover : props.theme.panelBackground;
|
|
54
56
|
});
|
|
55
|
-
var StyledDragHandle = _styledComponents["default"].div(
|
|
57
|
+
var StyledDragHandle = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n opacity: 0;\n z-index: 1000;\n &:hover {\n cursor: move;\n opacity: 1;\n color: ", ";\n }\n"])), function (props) {
|
|
56
58
|
return props.theme.textColorHl;
|
|
57
59
|
});
|
|
58
60
|
var DragHandle = function DragHandle(_ref) {
|
|
@@ -101,7 +103,7 @@ function EffectPanelHeaderActionSectionFactory(PanelHeaderAction) {
|
|
|
101
103
|
return /*#__PURE__*/_react["default"].createElement(HeaderActionSection, {
|
|
102
104
|
className: "effect-panel__header__actions"
|
|
103
105
|
}, /*#__PURE__*/_react["default"].createElement(StyledPanelHeaderHiddenActions, {
|
|
104
|
-
isConfigActive: isConfigActive
|
|
106
|
+
$isConfigActive: isConfigActive
|
|
105
107
|
}, effectActionItems.filter(function (item) {
|
|
106
108
|
return Boolean(item.isHidden);
|
|
107
109
|
}).map(function (item) {
|
|
@@ -132,11 +134,11 @@ function EffectPanelHeaderActionSectionFactory(PanelHeaderAction) {
|
|
|
132
134
|
};
|
|
133
135
|
return EffectPanelHeaderActionSection;
|
|
134
136
|
}
|
|
135
|
-
var StyledEffectTitleSection = _styledComponents["default"].div(
|
|
137
|
+
var StyledEffectTitleSection = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 8px;\n flex-grow: 1;\n align-items: center;\n display: flex;\n color: ", ";\n"])), function (props) {
|
|
136
138
|
return props.theme.textColor;
|
|
137
139
|
});
|
|
138
|
-
var IconPlaceholder = _styledComponents["default"].div(
|
|
139
|
-
var EffectIconWrapper = _styledComponents["default"].div(
|
|
140
|
+
var IconPlaceholder = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: 20px;\n height: 20px;\n"])));
|
|
141
|
+
var EffectIconWrapper = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 18px;\n margin: auto;\n color: ", ";\n"])), function (props) {
|
|
140
142
|
return props.theme.textColor;
|
|
141
143
|
});
|
|
142
144
|
EffectPanelHeaderFactory.deps = [EffectPanelHeaderActionSectionFactory];
|
|
@@ -146,22 +148,29 @@ function EffectPanelHeaderFactory(EffectPanelHeaderActionSection) {
|
|
|
146
148
|
_props$isDragNDropEna = props.isDragNDropEnabled,
|
|
147
149
|
isDragNDropEnabled = _props$isDragNDropEna === void 0 ? true : _props$isDragNDropEna,
|
|
148
150
|
type = props.type,
|
|
151
|
+
effectId = props.effectId,
|
|
149
152
|
onToggleEnableConfig = props.onToggleEnableConfig,
|
|
150
153
|
listeners = props.listeners,
|
|
151
154
|
_props$showSortHandle = props.showSortHandle,
|
|
152
155
|
showSortHandle = _props$showSortHandle === void 0 ? true : _props$showSortHandle;
|
|
153
|
-
var
|
|
154
|
-
|
|
156
|
+
var intl = (0, _reactIntl.useIntl)();
|
|
157
|
+
var effectDesc = (0, _react.useMemo)(function () {
|
|
158
|
+
return _constants.EFFECT_DESCRIPTIONS.find(function (_description) {
|
|
155
159
|
return _description.type === type;
|
|
156
160
|
});
|
|
157
|
-
return (description === null || description === void 0 ? void 0 : description.name) || 'Effect';
|
|
158
161
|
}, [type]);
|
|
162
|
+
var label = (effectDesc === null || effectDesc === void 0 ? void 0 : effectDesc.name) || 'Effect';
|
|
163
|
+
var descriptionText = effectDesc !== null && effectDesc !== void 0 && effectDesc.description ? intl.formatMessage({
|
|
164
|
+
id: effectDesc.description,
|
|
165
|
+
defaultMessage: ''
|
|
166
|
+
}) : '';
|
|
167
|
+
var tooltipId = "effect-header-".concat(effectId);
|
|
159
168
|
var EffectIcon = defaultEffectIcons[type];
|
|
160
169
|
return /*#__PURE__*/_react["default"].createElement(StyledEffectPanelHeader, {
|
|
161
170
|
className: (0, _classnames["default"])('effect-panel__header', {
|
|
162
171
|
'sort--handle': !isConfigActive
|
|
163
172
|
}),
|
|
164
|
-
active: isConfigActive,
|
|
173
|
+
$active: isConfigActive,
|
|
165
174
|
onClick: onToggleEnableConfig
|
|
166
175
|
}, isDragNDropEnabled ? /*#__PURE__*/_react["default"].createElement(DragHandle, {
|
|
167
176
|
className: "effect__drag-handle",
|
|
@@ -172,9 +181,17 @@ function EffectPanelHeaderFactory(EffectPanelHeaderActionSection) {
|
|
|
172
181
|
className: "effect__drag-handle__placeholder"
|
|
173
182
|
}), /*#__PURE__*/_react["default"].createElement(EffectIconWrapper, null, EffectIcon ? /*#__PURE__*/_react["default"].createElement(EffectIcon, {
|
|
174
183
|
height: "18px"
|
|
175
|
-
}) : null), /*#__PURE__*/_react["default"].createElement(StyledEffectTitleSection,
|
|
184
|
+
}) : null), /*#__PURE__*/_react["default"].createElement(StyledEffectTitleSection, {
|
|
185
|
+
"data-tip": descriptionText || undefined,
|
|
186
|
+
"data-for": descriptionText ? tooltipId : undefined
|
|
187
|
+
}, label, descriptionText ? /*#__PURE__*/_react["default"].createElement(MultilineTooltip, {
|
|
188
|
+
id: tooltipId,
|
|
189
|
+
effect: "solid",
|
|
190
|
+
place: "bottom",
|
|
191
|
+
delayShow: 500
|
|
192
|
+
}, descriptionText) : null), /*#__PURE__*/_react["default"].createElement(EffectPanelHeaderActionSection, props));
|
|
176
193
|
};
|
|
177
194
|
return EffectPanelHeader;
|
|
178
195
|
}
|
|
179
196
|
var _default = exports["default"] = EffectPanelHeaderFactory;
|
|
180
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb25zdGFudHMiLCJfcGFuZWxIZWFkZXJBY3Rpb24iLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfZGVmYXVsdEVmZmVjdEljb25zIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiZGVmYXVsdFByb3BzIiwiZXhwb3J0cyIsImlzRHJhZ05Ecm9wRW5hYmxlZCIsImRlZmF1bHRBY3Rpb25JY29ucyIsInJlbW92ZSIsIlRyYXNoIiwidmlzaWJsZSIsIkV5ZVNlZW4iLCJoaWRkZW4iLCJFeWVVbnNlZW4iLCJlbmFibGVDb25maWciLCJBcnJvd0Rvd24iLCJkaXNhYmxlQ29uZmlnIiwiQXJyb3dVcCIsImRlZmF1bHRFZmZlY3RJY29ucyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCIsInR5cGUiLCJMaWdodEFuZFNoYWRvd0VmZmVjdEljb24iLCJQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTIiwiaW5rIiwiSW5rRWZmZWN0SWNvbiIsImJyaWdodG5lc3NDb250cmFzdCIsIkJyaWdodG5lc3NDb250cmFzdEVmZmVjdEljb24iLCJodWVTYXR1cmF0aW9uIiwiSHVlU2F0dXJhdGlvbkVmZmVjdEljb24iLCJ2aWJyYW5jZSIsIlZpYnJhbmNlRWZmZWN0SWNvbiIsInNlcGlhIiwiU2VwaWFFZmZlY3RJY29uIiwiZG90U2NyZWVuIiwiRG90U2NyZWVuRWZmZWN0SWNvbiIsImNvbG9ySGFsZnRvbmUiLCJDb2xvckhhbGZ0b25lRWZmZWN0SWNvbiIsIm5vaXNlIiwiTm9pc2VFZmZlY3RJY29uIiwidHJpYW5nbGVCbHVyIiwiVHJpYW5nbGVCbHVyRWZmZWN0SWNvbiIsInpvb21CbHVyIiwiWm9vbUJsdXJFZmZlY3RJY29uIiwidGlsdFNoaWZ0IiwiVGlsdFNoaWZ0RWZmZWN0SWNvbiIsImVkZ2VXb3JrIiwiRWRnZVdvcmtFZmZlY3RJY29uIiwidmlnbmV0dGUiLCJWaWduZXR0ZUVmZmVjdEljb24iLCJtYWduaWZ5IiwiTWFnbmlmeUVmZmVjdEljb24iLCJoZXhhZ29uYWxQaXhlbGF0ZSIsIkhleGFnb25hbFBpeGVsYXRlRWZmZWN0SWNvbiIsIkRJU1RBTkNFX0ZPR19UWVBFIiwiRGlzdGFuY2VGb2dFZmZlY3RJY29uIiwiU1VSRkFDRV9GT0dfVFlQRSIsIlN1cmZhY2VGb2dFZmZlY3RJY29uIiwiU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIiLCJzdHlsZWQiLCJTdHlsZWRQYW5lbEhlYWRlciIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImVmZmVjdFBhbmVsSGVhZGVySGVpZ2h0IiwidGV4dENvbG9yIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJIZWFkZXJBY3Rpb25TZWN0aW9uIiwiZGl2IiwiU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJpc0NvbmZpZ0FjdGl2ZSIsInBhbmVsQmFja2dyb3VuZCIsIlN0eWxlZERyYWdIYW5kbGUiLCJ0ZXh0Q29sb3JIbCIsIkRyYWdIYW5kbGUiLCJfcmVmIiwibGlzdGVuZXJzIiwiY2hpbGRyZW4iLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeSIsImRlcHMiLCJQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkiLCJQYW5lbEhlYWRlckFjdGlvbiIsIkVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbiIsImVmZmVjdElkIiwiaXNFbmFibGVkIiwib25Ub2dnbGVFbmFibGVkIiwib25SZW1vdmVFZmZlY3QiLCJvblRvZ2dsZUVuYWJsZUNvbmZpZyIsImFjdGlvbkl0ZW1zIiwiX3Byb3BzJGFjdGlvbkljb25zIiwiYWN0aW9uSWNvbnMiLCJlZmZlY3RBY3Rpb25JdGVtcyIsInVzZU1lbW8iLCJrZXkiLCJpc0hpZGRlbiIsInRvb2x0aXAiLCJ0b29sdGlwVHlwZSIsIm9uQ2xpY2siLCJpY29uIiwiY2xhc3NOYW1lcyIsImZpbHRlciIsIml0ZW0iLCJCb29sZWFuIiwibWFwIiwiY29uY2F0IiwidGVzdElkIiwiaWQiLCJJY29uQ29tcG9uZW50IiwiY2xhc3NuYW1lcyIsIlN0eWxlZEVmZmVjdFRpdGxlU2VjdGlvbiIsIkljb25QbGFjZWhvbGRlciIsIkVmZmVjdEljb25XcmFwcGVyIiwiRWZmZWN0UGFuZWxIZWFkZXJGYWN0b3J5IiwiRWZmZWN0UGFuZWxIZWFkZXIiLCJfcHJvcHMkaXNEcmFnTkRyb3BFbmEiLCJfcHJvcHMkc2hvd1NvcnRIYW5kbGUiLCJzaG93U29ydEhhbmRsZSIsImxhYmVsIiwiZGVzY3JpcHRpb24iLCJFRkZFQ1RfREVTQ1JJUFRJT05TIiwiZmluZCIsIl9kZXNjcmlwdGlvbiIsIm5hbWUiLCJFZmZlY3RJY29uIiwiYWN0aXZlIiwiVmVydERvdHMiLCJoZWlnaHQiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC1wYW5lbC1oZWFkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7XG4gIEVGRkVDVF9ERVNDUklQVElPTlMsXG4gIExJR0hUX0FORF9TSEFET1dfRUZGRUNULFxuICBQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLFxuICBESVNUQU5DRV9GT0dfVFlQRSxcbiAgU1VSRkFDRV9GT0dfVFlQRVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5cbmltcG9ydCBQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnksIHtQYW5lbEhlYWRlckFjdGlvbkljb259IGZyb20gJy4uL3NpZGUtcGFuZWwvcGFuZWwtaGVhZGVyLWFjdGlvbic7XG5pbXBvcnQge1xuICBBcnJvd0Rvd24sXG4gIEFycm93VXAsXG4gIEV5ZVNlZW4sXG4gIEV5ZVVuc2VlbixcbiAgVHJhc2gsXG4gIFZlcnREb3RzLFxuICBMaWdodEFuZFNoYWRvd0VmZmVjdEljb24sXG4gIElua0VmZmVjdEljb24sXG4gIEJyaWdodG5lc3NDb250cmFzdEVmZmVjdEljb24sXG4gIEh1ZVNhdHVyYXRpb25FZmZlY3RJY29uLFxuICBWaWJyYW5jZUVmZmVjdEljb24sXG4gIFNlcGlhRWZmZWN0SWNvbixcbiAgRG90U2NyZWVuRWZmZWN0SWNvbixcbiAgQ29sb3JIYWxmdG9uZUVmZmVjdEljb24sXG4gIE5vaXNlRWZmZWN0SWNvbixcbiAgVHJpYW5nbGVCbHVyRWZmZWN0SWNvbixcbiAgWm9vbUJsdXJFZmZlY3RJY29uLFxuICBUaWx0U2hpZnRFZmZlY3RJY29uLFxuICBFZGdlV29ya0VmZmVjdEljb24sXG4gIFZpZ25ldHRlRWZmZWN0SWNvbixcbiAgTWFnbmlmeUVmZmVjdEljb24sXG4gIEhleGFnb25hbFBpeGVsYXRlRWZmZWN0SWNvbixcbiAgRGlzdGFuY2VGb2dFZmZlY3RJY29uLFxuICBTdXJmYWNlRm9nRWZmZWN0SWNvbixcbiAgQmFzZVByb3BzXG59IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge1N0eWxlZFBhbmVsSGVhZGVyfSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25JdGVtID0ge1xuICBrZXk6IHN0cmluZztcbiAgaXNIaWRkZW4/OiBib29sZWFuO1xuICB0b29sdGlwOiBzdHJpbmc7XG4gIGNsYXNzTmFtZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgaWNvbjogUGFuZWxIZWFkZXJBY3Rpb25JY29uO1xuICB0b29sdGlwVHlwZT86ICdlcnJvcic7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBFZmZlY3RQYW5lbEhlYWRlclByb3BzID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIGxpc3RlbmVyczogYW55O1xuICBlZmZlY3RJZDogc3RyaW5nO1xuICBpc0VuYWJsZWQ6IGJvb2xlYW47XG4gIGlzQ29uZmlnQWN0aXZlOiBib29sZWFuO1xuICBpc0pzb25FZGl0b3JBY3RpdmU6IGJvb2xlYW47XG4gIHNob3dTb3J0SGFuZGxlPzogYm9vbGVhbjtcbiAgaXNEcmFnTkRyb3BFbmFibGVkOiBib29sZWFuO1xuICBvblRvZ2dsZUVuYWJsZWQ6ICgpID0+IHZvaWQ7XG4gIG9uUmVtb3ZlRWZmZWN0OiAoKSA9PiB2b2lkO1xuICBvblRvZ2dsZUVuYWJsZUNvbmZpZzogKCkgPT4gdm9pZDtcbiAgYWN0aW9uSWNvbnM/OiB7XG4gICAgcmVtb3ZlOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgdmlzaWJsZTogUmVhY3QuQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGhpZGRlbjogUmVhY3QuQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGVuYWJsZUNvbmZpZzogUmVhY3QuQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGRpc2FibGVDb25maWc6IFJlYWN0LkNvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgfTtcbiAgYWN0aW9uSXRlbXM/OiBBY3Rpb25JdGVtW107XG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBpc0RyYWdORHJvcEVuYWJsZWQ6IHRydWVcbn07XG5cbmNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgcmVtb3ZlOiBUcmFzaCxcbiAgdmlzaWJsZTogRXllU2VlbixcbiAgaGlkZGVuOiBFeWVVbnNlZW4sXG4gIGVuYWJsZUNvbmZpZzogQXJyb3dEb3duLFxuICBkaXNhYmxlQ29uZmlnOiBBcnJvd1VwXG59O1xuXG5jb25zdCBkZWZhdWx0RWZmZWN0SWNvbnMgPSB7XG4gIFtMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVC50eXBlXTogTGlnaHRBbmRTaGFkb3dFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5pbmsudHlwZV06IElua0VmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLmJyaWdodG5lc3NDb250cmFzdC50eXBlXTogQnJpZ2h0bmVzc0NvbnRyYXN0RWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuaHVlU2F0dXJhdGlvbi50eXBlXTogSHVlU2F0dXJhdGlvbkVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLnZpYnJhbmNlLnR5cGVdOiBWaWJyYW5jZUVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLnNlcGlhLnR5cGVdOiBTZXBpYUVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLmRvdFNjcmVlbi50eXBlXTogRG90U2NyZWVuRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuY29sb3JIYWxmdG9uZS50eXBlXTogQ29sb3JIYWxmdG9uZUVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLm5vaXNlLnR5cGVdOiBOb2lzZUVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLnRyaWFuZ2xlQmx1ci50eXBlXTogVHJpYW5nbGVCbHVyRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuem9vbUJsdXIudHlwZV06IFpvb21CbHVyRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMudGlsdFNoaWZ0LnR5cGVdOiBUaWx0U2hpZnRFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5lZGdlV29yay50eXBlXTogRWRnZVdvcmtFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy52aWduZXR0ZS50eXBlXTogVmlnbmV0dGVFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5tYWduaWZ5LnR5cGVdOiBNYWduaWZ5RWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuaGV4YWdvbmFsUGl4ZWxhdGUudHlwZV06IEhleGFnb25hbFBpeGVsYXRlRWZmZWN0SWNvbixcbiAgW0RJU1RBTkNFX0ZPR19UWVBFXTogRGlzdGFuY2VGb2dFZmZlY3RJY29uLFxuICBbU1VSRkFDRV9GT0dfVFlQRV06IFN1cmZhY2VGb2dFZmZlY3RJY29uXG59O1xuXG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbEhlYWRlciA9IHN0eWxlZChTdHlsZWRQYW5lbEhlYWRlcilgXG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbEhlYWRlckhlaWdodH1weDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAuZWZmZWN0X19kcmFnLWhhbmRsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgfVxuXG4gIC5lZmZlY3RfX2RyYWctaGFuZGxlX19wbGFjZWhvbGRlciB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDVweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICAuZWZmZWN0X19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG5gO1xuXG5jb25zdCBIZWFkZXJBY3Rpb25TZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICByaWdodDogMTBweDtcbiAgJjpob3ZlciB7XG4gICAgLmVmZmVjdC1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIH1cbiAgfVxuYDtcblxuLy8gSGlkZW4gYWN0aW9ucyBvbmx5IHNob3cgdXAgb24gaG92ZXJcbnR5cGUgU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHMgPSB7aXNDb25maWdBY3RpdmU6IGJvb2xlYW59O1xuY29uc3QgU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2VmZmVjdC1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4nXG59KTxTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnNQcm9wcz5gXG4gIG9wYWNpdHk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgZWFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmlzQ29uZmlnQWN0aXZlID8gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXIgOiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gIH1cbmA7XG5cbmNvbnN0IERyYWdIYW5kbGUgPSAoe2NsYXNzTmFtZSwgbGlzdGVuZXJzLCBjaGlsZHJlbn0pID0+IChcbiAgPFN0eWxlZERyYWdIYW5kbGUgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5saXN0ZW5lcnN9PlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdHlsZWREcmFnSGFuZGxlPlxuKTtcblxuRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeS5kZXBzID0gW1BhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeV07XG5cbmV4cG9ydCBmdW5jdGlvbiBFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5KFxuICBQYW5lbEhlYWRlckFjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5PlxuKTogUmVhY3QuRkM8RWZmZWN0UGFuZWxIZWFkZXJQcm9wcz4ge1xuICBjb25zdCBFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24gPSAocHJvcHM6IEVmZmVjdFBhbmVsSGVhZGVyUHJvcHMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBlZmZlY3RJZCxcbiAgICAgIGlzRW5hYmxlZCxcbiAgICAgIGlzQ29uZmlnQWN0aXZlLFxuICAgICAgb25Ub2dnbGVFbmFibGVkLFxuICAgICAgb25SZW1vdmVFZmZlY3QsXG4gICAgICBvblRvZ2dsZUVuYWJsZUNvbmZpZyxcbiAgICAgIGFjdGlvbkl0ZW1zLFxuICAgICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnNcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCBlZmZlY3RBY3Rpb25JdGVtczogQWN0aW9uSXRlbVtdID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGFjdGlvbkl0ZW1zID8/IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdyZW1vdmUtZWZmZWN0JyxcbiAgICAgICAgICAgIGlzSGlkZGVuOiB0cnVlLFxuICAgICAgICAgICAgdG9vbHRpcDogJ3Rvb2x0aXAucmVtb3ZlRWZmZWN0JyxcbiAgICAgICAgICAgIHRvb2x0aXBUeXBlOiAnZXJyb3InLFxuICAgICAgICAgICAgb25DbGljazogb25SZW1vdmVFZmZlY3QsXG4gICAgICAgICAgICBpY29uOiBhY3Rpb25JY29ucy5yZW1vdmVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ3Zpc2liaWxpdHktdG9nZ2xlJyxcbiAgICAgICAgICAgIHRvb2x0aXA6IGlzRW5hYmxlZCA/ICd0b29sdGlwLmRpc2FibGVFZmZlY3QnIDogJ3Rvb2x0aXAuZW5hYmxlZEVmZmVjdCcsXG4gICAgICAgICAgICBvbkNsaWNrOiBvblRvZ2dsZUVuYWJsZWQsXG4gICAgICAgICAgICBpY29uOiBpc0VuYWJsZWQgPyBhY3Rpb25JY29ucy52aXNpYmxlIDogYWN0aW9uSWNvbnMuaGlkZGVuXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdlbmFibGUtY29uZmlnJyxcbiAgICAgICAgICAgIGNsYXNzTmFtZXM6IHsnaXMtb3Blbic6IGlzQ29uZmlnQWN0aXZlfSxcbiAgICAgICAgICAgIHRvb2x0aXA6ICd0b29sdGlwLmVmZmVjdFNldHRpbmdzJyxcbiAgICAgICAgICAgIG9uQ2xpY2s6IG9uVG9nZ2xlRW5hYmxlQ29uZmlnLFxuICAgICAgICAgICAgaWNvbjogYWN0aW9uSWNvbnMuZW5hYmxlQ29uZmlnXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgW1xuICAgICAgICBhY3Rpb25JdGVtcyxcbiAgICAgICAgYWN0aW9uSWNvbnMsXG4gICAgICAgIGlzRW5hYmxlZCxcbiAgICAgICAgaXNDb25maWdBY3RpdmUsXG4gICAgICAgIG9uUmVtb3ZlRWZmZWN0LFxuICAgICAgICBvblRvZ2dsZUVuYWJsZWQsXG4gICAgICAgIG9uVG9nZ2xlRW5hYmxlQ29uZmlnXG4gICAgICBdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQWN0aW9uU2VjdGlvbiBjbGFzc05hbWU9XCJlZmZlY3QtcGFuZWxfX2hlYWRlcl9fYWN0aW9uc1wiPlxuICAgICAgICA8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIGlzQ29uZmlnQWN0aXZlPXtpc0NvbmZpZ0FjdGl2ZX0+XG4gICAgICAgICAge2VmZmVjdEFjdGlvbkl0ZW1zXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtOiBBY3Rpb25JdGVtKSA9PiBCb29sZWFuKGl0ZW0uaXNIaWRkZW4pKVxuICAgICAgICAgICAgLm1hcCgoaXRlbTogQWN0aW9uSXRlbSkgPT4gKFxuICAgICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0ua2V5fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGVmZmVjdF9fJHtpdGVtLmtleX1gfVxuICAgICAgICAgICAgICAgIHRlc3RJZD17YCR7aXRlbS5rZXl9LWFjdGlvbmB9XG4gICAgICAgICAgICAgICAgaWQ9e2VmZmVjdElkfVxuICAgICAgICAgICAgICAgIHRvb2x0aXA9e2l0ZW0udG9vbHRpcH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtpdGVtLm9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgdG9vbHRpcFR5cGU9e2l0ZW0udG9vbHRpcFR5cGV9XG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17aXRlbS5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zPlxuICAgICAgICB7ZWZmZWN0QWN0aW9uSXRlbXNcbiAgICAgICAgICAuZmlsdGVyKChpdGVtOiBBY3Rpb25JdGVtKSA9PiAhaXRlbS5pc0hpZGRlbilcbiAgICAgICAgICAubWFwKChpdGVtOiBBY3Rpb25JdGVtKSA9PiAoXG4gICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAga2V5PXtpdGVtLmtleX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKGBlZmZlY3RfXyR7aXRlbS5rZXl9YCwgaXRlbS5jbGFzc05hbWVzKX1cbiAgICAgICAgICAgICAgdGVzdElkPXtgJHtpdGVtLmtleX0tYWN0aW9uYH1cbiAgICAgICAgICAgICAgaWQ9e2VmZmVjdElkfVxuICAgICAgICAgICAgICB0b29sdGlwPXtpdGVtLnRvb2x0aXB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2l0ZW0ub25DbGlja31cbiAgICAgICAgICAgICAgdG9vbHRpcFR5cGU9e2l0ZW0udG9vbHRpcFR5cGV9XG4gICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2l0ZW0uaWNvbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICA8L0hlYWRlckFjdGlvblNlY3Rpb24+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uO1xufVxuXG5jb25zdCBTdHlsZWRFZmZlY3RUaXRsZVNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tbGVmdDogOHB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5jb25zdCBJY29uUGxhY2Vob2xkZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuYDtcblxuY29uc3QgRWZmZWN0SWNvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbmA7XG5cbkVmZmVjdFBhbmVsSGVhZGVyRmFjdG9yeS5kZXBzID0gW0VmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnldO1xuXG5mdW5jdGlvbiBFZmZlY3RQYW5lbEhlYWRlckZhY3RvcnkoXG4gIEVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeT5cbik6IFJlYWN0LkZDPEVmZmVjdFBhbmVsSGVhZGVyUHJvcHM+IHtcbiAgY29uc3QgRWZmZWN0UGFuZWxIZWFkZXIgPSAocHJvcHM6IEVmZmVjdFBhbmVsSGVhZGVyUHJvcHMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0NvbmZpZ0FjdGl2ZSxcbiAgICAgIGlzRHJhZ05Ecm9wRW5hYmxlZCA9IHRydWUsXG4gICAgICB0eXBlLFxuICAgICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICBsaXN0ZW5lcnMsXG4gICAgICBzaG93U29ydEhhbmRsZSA9IHRydWVcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCBsYWJlbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBFRkZFQ1RfREVTQ1JJUFRJT05TLmZpbmQoX2Rlc2NyaXB0aW9uID0+IF9kZXNjcmlwdGlvbi50eXBlID09PSB0eXBlKTtcbiAgICAgIHJldHVybiBkZXNjcmlwdGlvbj8ubmFtZSB8fCAnRWZmZWN0JztcbiAgICB9LCBbdHlwZV0pO1xuXG4gICAgY29uc3QgRWZmZWN0SWNvbiA9IGRlZmF1bHRFZmZlY3RJY29uc1t0eXBlXTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRWZmZWN0UGFuZWxIZWFkZXJcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdlZmZlY3QtcGFuZWxfX2hlYWRlcicsIHtcbiAgICAgICAgICAnc29ydC0taGFuZGxlJzogIWlzQ29uZmlnQWN0aXZlXG4gICAgICAgIH0pfVxuICAgICAgICBhY3RpdmU9e2lzQ29uZmlnQWN0aXZlfVxuICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgID5cbiAgICAgICAge2lzRHJhZ05Ecm9wRW5hYmxlZCA/IChcbiAgICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJlZmZlY3RfX2RyYWctaGFuZGxlXCIgbGlzdGVuZXJzPXtsaXN0ZW5lcnN9PlxuICAgICAgICAgICAge3Nob3dTb3J0SGFuZGxlID8gPFZlcnREb3RzIGhlaWdodD1cIjIwcHhcIiAvPiA6IDxJY29uUGxhY2Vob2xkZXIgLz59XG4gICAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZWZmZWN0X19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXJcIiAvPlxuICAgICAgICApfVxuXG4gICAgICAgIDxFZmZlY3RJY29uV3JhcHBlcj57RWZmZWN0SWNvbiA/IDxFZmZlY3RJY29uIGhlaWdodD1cIjE4cHhcIiAvPiA6IG51bGx9PC9FZmZlY3RJY29uV3JhcHBlcj5cblxuICAgICAgICA8U3R5bGVkRWZmZWN0VGl0bGVTZWN0aW9uPntsYWJlbH08L1N0eWxlZEVmZmVjdFRpdGxlU2VjdGlvbj5cblxuICAgICAgICA8RWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uIHsuLi5wcm9wc30gLz5cbiAgICAgIDwvU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gRWZmZWN0UGFuZWxIZWFkZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEVmZmVjdFBhbmVsSGVhZGVyRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFJLFVBQUEsR0FBQUosT0FBQTtBQVFBLElBQUFLLGtCQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUEyQkEsSUFBQU8sa0JBQUEsR0FBQVAsT0FBQTtBQUE4RCxJQUFBUSxtQkFBQSxFQUFBQyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBM0M5RDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFsQix3QkFBQWtCLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUE0RU8sSUFBTVcsWUFBWSxHQUFBQyxPQUFBLENBQUFELFlBQUEsR0FBRztFQUMxQkUsa0JBQWtCLEVBQUU7QUFDdEIsQ0FBQztBQUVELElBQU1DLGtCQUFrQixHQUFHO0VBQ3pCQyxNQUFNLEVBQUVDLFlBQUs7RUFDYkMsT0FBTyxFQUFFQyxjQUFPO0VBQ2hCQyxNQUFNLEVBQUVDLGdCQUFTO0VBQ2pCQyxZQUFZLEVBQUVDLGdCQUFTO0VBQ3ZCQyxhQUFhLEVBQUVDO0FBQ2pCLENBQUM7QUFFRCxJQUFNQyxrQkFBa0IsSUFBQTFDLG1CQUFBLFdBQUEyQyxnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBQUFBLGdCQUFBLGlCQUFBQSxnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBQUFBLGdCQUFBLGlCQUFBQSxnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBQUFBLGdCQUFBLGlCQUFBQSxnQkFBQSxhQUFBM0MsbUJBQUEsRUFDckI0QyxrQ0FBdUIsQ0FBQ0MsSUFBSSxFQUFHQywrQkFBd0IsR0FDdkRDLGlDQUFzQixDQUFDQyxHQUFHLENBQUNILElBQUksRUFBR0ksb0JBQWEsR0FDL0NGLGlDQUFzQixDQUFDRyxrQkFBa0IsQ0FBQ0wsSUFBSSxFQUFHTSxtQ0FBNEIsR0FDN0VKLGlDQUFzQixDQUFDSyxhQUFhLENBQUNQLElBQUksRUFBR1EsOEJBQXVCLEdBQ25FTixpQ0FBc0IsQ0FBQ08sUUFBUSxDQUFDVCxJQUFJLEVBQUdVLHlCQUFrQixHQUN6RFIsaUNBQXNCLENBQUNTLEtBQUssQ0FBQ1gsSUFBSSxFQUFHWSxzQkFBZSxHQUNuRFYsaUNBQXNCLENBQUNXLFNBQVMsQ0FBQ2IsSUFBSSxFQUFHYywwQkFBbUIsR0FDM0RaLGlDQUFzQixDQUFDYSxhQUFhLENBQUNmLElBQUksRUFBR2dCLDhCQUF1QixHQUNuRWQsaUNBQXNCLENBQUNlLEtBQUssQ0FBQ2pCLElBQUksRUFBR2tCLHNCQUFlLEdBQ25EaEIsaUNBQXNCLENBQUNpQixZQUFZLENBQUNuQixJQUFJLEVBQUdvQiw2QkFBc0IsT0FBQXRCLGdCQUFBLGlCQUFBQSxnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBQUFBLGdCQUFBLGlCQUFBQSxnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBQUFBLGdCQUFBLGlCQUFBQSxnQkFBQSxhQUFBM0MsbUJBQUEsRUFDakUrQyxpQ0FBc0IsQ0FBQ21CLFFBQVEsQ0FBQ3JCLElBQUksRUFBR3NCLHlCQUFrQixHQUN6RHBCLGlDQUFzQixDQUFDcUIsU0FBUyxDQUFDdkIsSUFBSSxFQUFHd0IsMEJBQW1CLEdBQzNEdEIsaUNBQXNCLENBQUN1QixRQUFRLENBQUN6QixJQUFJLEVBQUcwQix5QkFBa0IsR0FDekR4QixpQ0FBc0IsQ0FBQ3lCLFFBQVEsQ0FBQzNCLElBQUksRUFBRzRCLHlCQUFrQixHQUN6RDFCLGlDQUFzQixDQUFDMkIsT0FBTyxDQUFDN0IsSUFBSSxFQUFHOEIsd0JBQWlCLEdBQ3ZENUIsaUNBQXNCLENBQUM2QixpQkFBaUIsQ0FBQy9CLElBQUksRUFBR2dDLGtDQUEyQixHQUMzRUMsNEJBQWlCLEVBQUdDLDRCQUFxQixHQUN6Q0MsMkJBQWdCLEVBQUdDLDJCQUFvQixFQUN6QztBQUVELElBQU1DLHVCQUF1QixHQUFHLElBQUFDLDRCQUFNLEVBQUNDLG9DQUFpQixDQUFDLENBQUFuRixlQUFBLEtBQUFBLGVBQUEsT0FBQW9GLHVCQUFBLHliQUM3QyxVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLHVCQUF1QjtBQUFBLEdBTTNDLFVBQUFGLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0UsU0FBUztBQUFBLEdBV25CLFVBQUFILEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0csb0JBQW9CO0FBQUEsR0FNdEMsVUFBQUosS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDRyxvQkFBb0I7QUFBQSxFQUNuRTtBQUVELElBQU1DLG1CQUFtQixHQUFHUiw0QkFBTSxDQUFDUyxHQUFHLENBQUExRixnQkFBQSxLQUFBQSxnQkFBQSxPQUFBbUYsdUJBQUEsbVBBU1osVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDRyxvQkFBb0I7QUFBQSxFQUdsRTs7QUFFRDs7QUFFQSxJQUFNRyw4QkFBOEIsR0FBR1YsNEJBQU0sQ0FBQ1MsR0FBRyxDQUFDRSxLQUFLLENBQUM7RUFDdERDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQyxDQUFBNUYsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQWtGLHVCQUFBLDhNQUtvQixVQUFBQyxLQUFLO0VBQUEsT0FDdkJBLEtBQUssQ0FBQ1UsY0FBYyxHQUFHVixLQUFLLENBQUNDLEtBQUssQ0FBQ0csb0JBQW9CLEdBQUdKLEtBQUssQ0FBQ0MsS0FBSyxDQUFDVSxlQUFlO0FBQUEsRUFLeEY7QUFFRCxJQUFNQyxnQkFBZ0IsR0FBR2YsNEJBQU0sQ0FBQ1MsR0FBRyxDQUFBeEYsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQWlGLHVCQUFBLDBLQVF0QixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNZLFdBQVc7QUFBQSxFQUU1QztBQUVELElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFBQyxJQUFBO0VBQUEsSUFBS04sU0FBUyxHQUFBTSxJQUFBLENBQVROLFNBQVM7SUFBRU8sU0FBUyxHQUFBRCxJQUFBLENBQVRDLFNBQVM7SUFBRUMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7RUFBQSxvQkFDakRqSCxNQUFBLFlBQUFrSCxhQUFBLENBQUNOLGdCQUFnQixNQUFBTyxTQUFBO0lBQUNWLFNBQVMsRUFBRUE7RUFBVSxHQUFLTyxTQUFTLEdBQ2xEQyxRQUNlLENBQUM7QUFBQSxDQUNwQjtBQUVERyxxQ0FBcUMsQ0FBQ0MsSUFBSSxHQUFHLENBQUNDLDZCQUF3QixDQUFDO0FBRWhFLFNBQVNGLHFDQUFxQ0EsQ0FDbkRHLGlCQUE4RCxFQUM1QjtFQUNsQyxJQUFNQyw4QkFBOEIsR0FBRyxTQUFqQ0EsOEJBQThCQSxDQUFJeEIsS0FBNkIsRUFBSztJQUN4RSxJQUNFeUIsUUFBUSxHQVFOekIsS0FBSyxDQVJQeUIsUUFBUTtNQUNSQyxTQUFTLEdBT1AxQixLQUFLLENBUFAwQixTQUFTO01BQ1RoQixjQUFjLEdBTVpWLEtBQUssQ0FOUFUsY0FBYztNQUNkaUIsZUFBZSxHQUtiM0IsS0FBSyxDQUxQMkIsZUFBZTtNQUNmQyxjQUFjLEdBSVo1QixLQUFLLENBSlA0QixjQUFjO01BQ2RDLG9CQUFvQixHQUdsQjdCLEtBQUssQ0FIUDZCLG9CQUFvQjtNQUNwQkMsV0FBVyxHQUVUOUIsS0FBSyxDQUZQOEIsV0FBVztNQUFBQyxrQkFBQSxHQUVUL0IsS0FBSyxDQURQZ0MsV0FBVztNQUFYQSxXQUFXLEdBQUFELGtCQUFBLGNBQUd0RixrQkFBa0IsR0FBQXNGLGtCQUFBO0lBR2xDLElBQU1FLGlCQUErQixHQUFHLElBQUFDLGNBQU8sRUFDN0M7TUFBQSxPQUNFSixXQUFXLGFBQVhBLFdBQVcsY0FBWEEsV0FBVyxHQUFJLENBQ2I7UUFDRUssR0FBRyxFQUFFLGVBQWU7UUFDcEJDLFFBQVEsRUFBRSxJQUFJO1FBQ2RDLE9BQU8sRUFBRSxzQkFBc0I7UUFDL0JDLFdBQVcsRUFBRSxPQUFPO1FBQ3BCQyxPQUFPLEVBQUVYLGNBQWM7UUFDdkJZLElBQUksRUFBRVIsV0FBVyxDQUFDdEY7TUFDcEIsQ0FBQyxFQUNEO1FBQ0V5RixHQUFHLEVBQUUsbUJBQW1CO1FBQ3hCRSxPQUFPLEVBQUVYLFNBQVMsR0FBRyx1QkFBdUIsR0FBRyx1QkFBdUI7UUFDdEVhLE9BQU8sRUFBRVosZUFBZTtRQUN4QmEsSUFBSSxFQUFFZCxTQUFTLEdBQUdNLFdBQVcsQ0FBQ3BGLE9BQU8sR0FBR29GLFdBQVcsQ0FBQ2xGO01BQ3RELENBQUMsRUFDRDtRQUNFcUYsR0FBRyxFQUFFLGVBQWU7UUFDcEJNLFVBQVUsRUFBRTtVQUFDLFNBQVMsRUFBRS9CO1FBQWMsQ0FBQztRQUN2QzJCLE9BQU8sRUFBRSx3QkFBd0I7UUFDakNFLE9BQU8sRUFBRVYsb0JBQW9CO1FBQzdCVyxJQUFJLEVBQUVSLFdBQVcsQ0FBQ2hGO01BQ3BCLENBQUMsQ0FDRjtJQUFBLEdBQ0gsQ0FDRThFLFdBQVcsRUFDWEUsV0FBVyxFQUNYTixTQUFTLEVBQ1RoQixjQUFjLEVBQ2RrQixjQUFjLEVBQ2RELGVBQWUsRUFDZkUsb0JBQW9CLENBRXhCLENBQUM7SUFFRCxvQkFDRTdILE1BQUEsWUFBQWtILGFBQUEsQ0FBQ2IsbUJBQW1CO01BQUNJLFNBQVMsRUFBQztJQUErQixnQkFDNUR6RyxNQUFBLFlBQUFrSCxhQUFBLENBQUNYLDhCQUE4QjtNQUFDRyxjQUFjLEVBQUVBO0lBQWUsR0FDNUR1QixpQkFBaUIsQ0FDZlMsTUFBTSxDQUFDLFVBQUNDLElBQWdCO01BQUEsT0FBS0MsT0FBTyxDQUFDRCxJQUFJLENBQUNQLFFBQVEsQ0FBQztJQUFBLEVBQUMsQ0FDcERTLEdBQUcsQ0FBQyxVQUFDRixJQUFnQjtNQUFBLG9CQUNwQjNJLE1BQUEsWUFBQWtILGFBQUEsQ0FBQ0ssaUJBQWlCO1FBQ2hCWSxHQUFHLEVBQUVRLElBQUksQ0FBQ1IsR0FBSTtRQUNkMUIsU0FBUyxhQUFBcUMsTUFBQSxDQUFhSCxJQUFJLENBQUNSLEdBQUcsQ0FBRztRQUNqQ1ksTUFBTSxLQUFBRCxNQUFBLENBQUtILElBQUksQ0FBQ1IsR0FBRyxZQUFVO1FBQzdCYSxFQUFFLEVBQUV2QixRQUFTO1FBQ2JZLE9BQU8sRUFBRU0sSUFBSSxDQUFDTixPQUFRO1FBQ3RCRSxPQUFPLEVBQUVJLElBQUksQ0FBQ0osT0FBUTtRQUN0QkQsV0FBVyxFQUFFSyxJQUFJLENBQUNMLFdBQVk7UUFDOUJXLGFBQWEsRUFBRU4sSUFBSSxDQUFDSDtNQUFLLENBQzFCLENBQUM7SUFBQSxDQUNILENBQzJCLENBQUMsRUFDaENQLGlCQUFpQixDQUNmUyxNQUFNLENBQUMsVUFBQ0MsSUFBZ0I7TUFBQSxPQUFLLENBQUNBLElBQUksQ0FBQ1AsUUFBUTtJQUFBLEVBQUMsQ0FDNUNTLEdBQUcsQ0FBQyxVQUFDRixJQUFnQjtNQUFBLG9CQUNwQjNJLE1BQUEsWUFBQWtILGFBQUEsQ0FBQ0ssaUJBQWlCO1FBQ2hCWSxHQUFHLEVBQUVRLElBQUksQ0FBQ1IsR0FBSTtRQUNkMUIsU0FBUyxFQUFFLElBQUF5QyxzQkFBVSxhQUFBSixNQUFBLENBQVlILElBQUksQ0FBQ1IsR0FBRyxHQUFJUSxJQUFJLENBQUNGLFVBQVUsQ0FBRTtRQUM5RE0sTUFBTSxLQUFBRCxNQUFBLENBQUtILElBQUksQ0FBQ1IsR0FBRyxZQUFVO1FBQzdCYSxFQUFFLEVBQUV2QixRQUFTO1FBQ2JZLE9BQU8sRUFBRU0sSUFBSSxDQUFDTixPQUFRO1FBQ3RCRSxPQUFPLEVBQUVJLElBQUksQ0FBQ0osT0FBUTtRQUN0QkQsV0FBVyxFQUFFSyxJQUFJLENBQUNMLFdBQVk7UUFDOUJXLGFBQWEsRUFBRU4sSUFBSSxDQUFDSDtNQUFLLENBQzFCLENBQUM7SUFBQSxDQUNILENBQ2dCLENBQUM7RUFFMUIsQ0FBQztFQUVELE9BQU9oQiw4QkFBOEI7QUFDdkM7QUFFQSxJQUFNMkIsd0JBQXdCLEdBQUd0RCw0QkFBTSxDQUFDUyxHQUFHLENBQUF2RixnQkFBQSxLQUFBQSxnQkFBQSxPQUFBZ0YsdUJBQUEsdUhBS2hDLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0UsU0FBUztBQUFBLEVBQ3hDO0FBRUQsSUFBTWlELGVBQWUsR0FBR3ZELDRCQUFNLENBQUNTLEdBQUcsQ0FBQXRGLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUErRSx1QkFBQSx1REFHakM7QUFFRCxJQUFNc0QsaUJBQWlCLEdBQUd4RCw0QkFBTSxDQUFDUyxHQUFHLENBQUFyRixnQkFBQSxLQUFBQSxnQkFBQSxPQUFBOEUsdUJBQUEseUVBR3pCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0UsU0FBUztBQUFBLEVBQ3hDO0FBRURtRCx3QkFBd0IsQ0FBQ2pDLElBQUksR0FBRyxDQUFDRCxxQ0FBcUMsQ0FBQztBQUV2RSxTQUFTa0Msd0JBQXdCQSxDQUMvQjlCLDhCQUF3RixFQUN0RDtFQUNsQyxJQUFNK0IsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSXZELEtBQTZCLEVBQUs7SUFDM0QsSUFDRVUsY0FBYyxHQU1aVixLQUFLLENBTlBVLGNBQWM7TUFBQThDLHFCQUFBLEdBTVp4RCxLQUFLLENBTFB4RCxrQkFBa0I7TUFBbEJBLGtCQUFrQixHQUFBZ0gscUJBQUEsY0FBRyxJQUFJLEdBQUFBLHFCQUFBO01BQ3pCakcsSUFBSSxHQUlGeUMsS0FBSyxDQUpQekMsSUFBSTtNQUNKc0Usb0JBQW9CLEdBR2xCN0IsS0FBSyxDQUhQNkIsb0JBQW9CO01BQ3BCYixTQUFTLEdBRVBoQixLQUFLLENBRlBnQixTQUFTO01BQUF5QyxxQkFBQSxHQUVQekQsS0FBSyxDQURQMEQsY0FBYztNQUFkQSxjQUFjLEdBQUFELHFCQUFBLGNBQUcsSUFBSSxHQUFBQSxxQkFBQTtJQUd2QixJQUFNRSxLQUFLLEdBQUcsSUFBQXpCLGNBQU8sRUFBQyxZQUFNO01BQzFCLElBQU0wQixXQUFXLEdBQUdDLDhCQUFtQixDQUFDQyxJQUFJLENBQUMsVUFBQUMsWUFBWTtRQUFBLE9BQUlBLFlBQVksQ0FBQ3hHLElBQUksS0FBS0EsSUFBSTtNQUFBLEVBQUM7TUFDeEYsT0FBTyxDQUFBcUcsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVJLElBQUksS0FBSSxRQUFRO0lBQ3RDLENBQUMsRUFBRSxDQUFDekcsSUFBSSxDQUFDLENBQUM7SUFFVixJQUFNMEcsVUFBVSxHQUFHN0csa0JBQWtCLENBQUNHLElBQUksQ0FBQztJQUUzQyxvQkFDRXZELE1BQUEsWUFBQWtILGFBQUEsQ0FBQ3RCLHVCQUF1QjtNQUN0QmEsU0FBUyxFQUFFLElBQUF5QyxzQkFBVSxFQUFDLHNCQUFzQixFQUFFO1FBQzVDLGNBQWMsRUFBRSxDQUFDeEM7TUFDbkIsQ0FBQyxDQUFFO01BQ0h3RCxNQUFNLEVBQUV4RCxjQUFlO01BQ3ZCNkIsT0FBTyxFQUFFVjtJQUFxQixHQUU3QnJGLGtCQUFrQixnQkFDakJ4QyxNQUFBLFlBQUFrSCxhQUFBLENBQUNKLFVBQVU7TUFBQ0wsU0FBUyxFQUFDLHFCQUFxQjtNQUFDTyxTQUFTLEVBQUVBO0lBQVUsR0FDOUQwQyxjQUFjLGdCQUFHMUosTUFBQSxZQUFBa0gsYUFBQSxDQUFDMUcsTUFBQSxDQUFBMkosUUFBUTtNQUFDQyxNQUFNLEVBQUM7SUFBTSxDQUFFLENBQUMsZ0JBQUdwSyxNQUFBLFlBQUFrSCxhQUFBLENBQUNrQyxlQUFlLE1BQUUsQ0FDdkQsQ0FBQyxnQkFFYnBKLE1BQUEsWUFBQWtILGFBQUE7TUFBS1QsU0FBUyxFQUFDO0lBQWtDLENBQUUsQ0FDcEQsZUFFRHpHLE1BQUEsWUFBQWtILGFBQUEsQ0FBQ21DLGlCQUFpQixRQUFFWSxVQUFVLGdCQUFHakssTUFBQSxZQUFBa0gsYUFBQSxDQUFDK0MsVUFBVTtNQUFDRyxNQUFNLEVBQUM7SUFBTSxDQUFFLENBQUMsR0FBRyxJQUF3QixDQUFDLGVBRXpGcEssTUFBQSxZQUFBa0gsYUFBQSxDQUFDaUMsd0JBQXdCLFFBQUVRLEtBQWdDLENBQUMsZUFFNUQzSixNQUFBLFlBQUFrSCxhQUFBLENBQUNNLDhCQUE4QixFQUFLeEIsS0FBUSxDQUNyQixDQUFDO0VBRTlCLENBQUM7RUFFRCxPQUFPdUQsaUJBQWlCO0FBQzFCO0FBQUMsSUFBQWMsUUFBQSxHQUFBOUgsT0FBQSxjQUVjK0csd0JBQXdCIiwiaWdub3JlTGlzdCI6W119
|
|
197
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb25zdGFudHMiLCJfcmVhY3RJbnRsIiwiX3BhbmVsSGVhZGVyQWN0aW9uIiwiX2ljb25zIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX2RlZmF1bHRFZmZlY3RJY29ucyIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJNdWx0aWxpbmVUb29sdGlwIiwic3R5bGVkIiwiVG9vbHRpcCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiZGVmYXVsdFByb3BzIiwiZXhwb3J0cyIsImlzRHJhZ05Ecm9wRW5hYmxlZCIsImRlZmF1bHRBY3Rpb25JY29ucyIsInJlbW92ZSIsIlRyYXNoIiwidmlzaWJsZSIsIkV5ZVNlZW4iLCJoaWRkZW4iLCJFeWVVbnNlZW4iLCJlbmFibGVDb25maWciLCJBcnJvd0Rvd24iLCJkaXNhYmxlQ29uZmlnIiwiQXJyb3dVcCIsImRlZmF1bHRFZmZlY3RJY29ucyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCIsInR5cGUiLCJMaWdodEFuZFNoYWRvd0VmZmVjdEljb24iLCJQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTIiwiaW5rIiwiSW5rRWZmZWN0SWNvbiIsImJyaWdodG5lc3NDb250cmFzdCIsIkJyaWdodG5lc3NDb250cmFzdEVmZmVjdEljb24iLCJodWVTYXR1cmF0aW9uIiwiSHVlU2F0dXJhdGlvbkVmZmVjdEljb24iLCJ2aWJyYW5jZSIsIlZpYnJhbmNlRWZmZWN0SWNvbiIsInNlcGlhIiwiU2VwaWFFZmZlY3RJY29uIiwiZG90U2NyZWVuIiwiRG90U2NyZWVuRWZmZWN0SWNvbiIsImNvbG9ySGFsZnRvbmUiLCJDb2xvckhhbGZ0b25lRWZmZWN0SWNvbiIsIm5vaXNlIiwiTm9pc2VFZmZlY3RJY29uIiwidHJpYW5nbGVCbHVyIiwiVHJpYW5nbGVCbHVyRWZmZWN0SWNvbiIsInpvb21CbHVyIiwiWm9vbUJsdXJFZmZlY3RJY29uIiwidGlsdFNoaWZ0IiwiVGlsdFNoaWZ0RWZmZWN0SWNvbiIsImVkZ2VXb3JrIiwiRWRnZVdvcmtFZmZlY3RJY29uIiwidmlnbmV0dGUiLCJWaWduZXR0ZUVmZmVjdEljb24iLCJtYWduaWZ5IiwiTWFnbmlmeUVmZmVjdEljb24iLCJoZXhhZ29uYWxQaXhlbGF0ZSIsIkhleGFnb25hbFBpeGVsYXRlRWZmZWN0SWNvbiIsIkRJU1RBTkNFX0ZPR19UWVBFIiwiRGlzdGFuY2VGb2dFZmZlY3RJY29uIiwiU1VSRkFDRV9GT0dfVFlQRSIsIlN1cmZhY2VGb2dFZmZlY3RJY29uIiwiU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIiLCJTdHlsZWRQYW5lbEhlYWRlciIsInByb3BzIiwidGhlbWUiLCJlZmZlY3RQYW5lbEhlYWRlckhlaWdodCIsInRleHRDb2xvciIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiSGVhZGVyQWN0aW9uU2VjdGlvbiIsImRpdiIsIlN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyIsImF0dHJzIiwiY2xhc3NOYW1lIiwiJGlzQ29uZmlnQWN0aXZlIiwicGFuZWxCYWNrZ3JvdW5kIiwiU3R5bGVkRHJhZ0hhbmRsZSIsInRleHRDb2xvckhsIiwiRHJhZ0hhbmRsZSIsIl9yZWYiLCJsaXN0ZW5lcnMiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5IiwiZGVwcyIsIlBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSIsIlBhbmVsSGVhZGVyQWN0aW9uIiwiRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uIiwiZWZmZWN0SWQiLCJpc0VuYWJsZWQiLCJpc0NvbmZpZ0FjdGl2ZSIsIm9uVG9nZ2xlRW5hYmxlZCIsIm9uUmVtb3ZlRWZmZWN0Iiwib25Ub2dnbGVFbmFibGVDb25maWciLCJhY3Rpb25JdGVtcyIsIl9wcm9wcyRhY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwiZWZmZWN0QWN0aW9uSXRlbXMiLCJ1c2VNZW1vIiwia2V5IiwiaXNIaWRkZW4iLCJ0b29sdGlwIiwidG9vbHRpcFR5cGUiLCJvbkNsaWNrIiwiaWNvbiIsImNsYXNzTmFtZXMiLCJmaWx0ZXIiLCJpdGVtIiwiQm9vbGVhbiIsIm1hcCIsImNvbmNhdCIsInRlc3RJZCIsImlkIiwiSWNvbkNvbXBvbmVudCIsImNsYXNzbmFtZXMiLCJTdHlsZWRFZmZlY3RUaXRsZVNlY3Rpb24iLCJJY29uUGxhY2Vob2xkZXIiLCJFZmZlY3RJY29uV3JhcHBlciIsIkVmZmVjdFBhbmVsSGVhZGVyRmFjdG9yeSIsIkVmZmVjdFBhbmVsSGVhZGVyIiwiX3Byb3BzJGlzRHJhZ05Ecm9wRW5hIiwiX3Byb3BzJHNob3dTb3J0SGFuZGxlIiwic2hvd1NvcnRIYW5kbGUiLCJpbnRsIiwidXNlSW50bCIsImVmZmVjdERlc2MiLCJFRkZFQ1RfREVTQ1JJUFRJT05TIiwiZmluZCIsIl9kZXNjcmlwdGlvbiIsImxhYmVsIiwibmFtZSIsImRlc2NyaXB0aW9uVGV4dCIsImRlc2NyaXB0aW9uIiwiZm9ybWF0TWVzc2FnZSIsImRlZmF1bHRNZXNzYWdlIiwidG9vbHRpcElkIiwiRWZmZWN0SWNvbiIsIiRhY3RpdmUiLCJWZXJ0RG90cyIsImhlaWdodCIsInVuZGVmaW5lZCIsImVmZmVjdCIsInBsYWNlIiwiZGVsYXlTaG93IiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZWZmZWN0cy9lZmZlY3QtcGFuZWwtaGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge1xuICBFRkZFQ1RfREVTQ1JJUFRJT05TLFxuICBMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCxcbiAgUE9TVFBST0NFU1NJTkdfRUZGRUNUUyxcbiAgRElTVEFOQ0VfRk9HX1RZUEUsXG4gIFNVUkZBQ0VfRk9HX1RZUEVcbn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHt1c2VJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcblxuaW1wb3J0IFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSwge1BhbmVsSGVhZGVyQWN0aW9uSWNvbn0gZnJvbSAnLi4vc2lkZS1wYW5lbC9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCB7XG4gIEFycm93RG93bixcbiAgQXJyb3dVcCxcbiAgRXllU2VlbixcbiAgRXllVW5zZWVuLFxuICBUcmFzaCxcbiAgVmVydERvdHMsXG4gIExpZ2h0QW5kU2hhZG93RWZmZWN0SWNvbixcbiAgSW5rRWZmZWN0SWNvbixcbiAgQnJpZ2h0bmVzc0NvbnRyYXN0RWZmZWN0SWNvbixcbiAgSHVlU2F0dXJhdGlvbkVmZmVjdEljb24sXG4gIFZpYnJhbmNlRWZmZWN0SWNvbixcbiAgU2VwaWFFZmZlY3RJY29uLFxuICBEb3RTY3JlZW5FZmZlY3RJY29uLFxuICBDb2xvckhhbGZ0b25lRWZmZWN0SWNvbixcbiAgTm9pc2VFZmZlY3RJY29uLFxuICBUcmlhbmdsZUJsdXJFZmZlY3RJY29uLFxuICBab29tQmx1ckVmZmVjdEljb24sXG4gIFRpbHRTaGlmdEVmZmVjdEljb24sXG4gIEVkZ2VXb3JrRWZmZWN0SWNvbixcbiAgVmlnbmV0dGVFZmZlY3RJY29uLFxuICBNYWduaWZ5RWZmZWN0SWNvbixcbiAgSGV4YWdvbmFsUGl4ZWxhdGVFZmZlY3RJY29uLFxuICBEaXN0YW5jZUZvZ0VmZmVjdEljb24sXG4gIFN1cmZhY2VGb2dFZmZlY3RJY29uLFxuICBCYXNlUHJvcHNcbn0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7U3R5bGVkUGFuZWxIZWFkZXIsIFRvb2x0aXB9IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5cbmNvbnN0IE11bHRpbGluZVRvb2x0aXAgPSBzdHlsZWQoVG9vbHRpcClgXG4gICYuX19yZWFjdF9jb21wb25lbnRfdG9vbHRpcCB7XG4gICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgQWN0aW9uSXRlbSA9IHtcbiAga2V5OiBzdHJpbmc7XG4gIGlzSGlkZGVuPzogYm9vbGVhbjtcbiAgdG9vbHRpcDogc3RyaW5nO1xuICBjbGFzc05hbWVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gIGljb246IFBhbmVsSGVhZGVyQWN0aW9uSWNvbjtcbiAgdG9vbHRpcFR5cGU/OiAnZXJyb3InO1xuICBvbkNsaWNrOiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgRWZmZWN0UGFuZWxIZWFkZXJQcm9wcyA9IHtcbiAgdHlwZTogc3RyaW5nO1xuICBsaXN0ZW5lcnM6IGFueTtcbiAgZWZmZWN0SWQ6IHN0cmluZztcbiAgaXNFbmFibGVkOiBib29sZWFuO1xuICBpc0NvbmZpZ0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNKc29uRWRpdG9yQWN0aXZlOiBib29sZWFuO1xuICBzaG93U29ydEhhbmRsZT86IGJvb2xlYW47XG4gIGlzRHJhZ05Ecm9wRW5hYmxlZDogYm9vbGVhbjtcbiAgb25Ub2dnbGVFbmFibGVkOiAoKSA9PiB2b2lkO1xuICBvblJlbW92ZUVmZmVjdDogKCkgPT4gdm9pZDtcbiAgb25Ub2dnbGVFbmFibGVDb25maWc6ICgpID0+IHZvaWQ7XG4gIGFjdGlvbkljb25zPzoge1xuICAgIHJlbW92ZTogUmVhY3QuQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIHZpc2libGU6IFJlYWN0LkNvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBoaWRkZW46IFJlYWN0LkNvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBlbmFibGVDb25maWc6IFJlYWN0LkNvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBkaXNhYmxlQ29uZmlnOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gIH07XG4gIGFjdGlvbkl0ZW1zPzogQWN0aW9uSXRlbVtdO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgaXNEcmFnTkRyb3BFbmFibGVkOiB0cnVlXG59O1xuXG5jb25zdCBkZWZhdWx0QWN0aW9uSWNvbnMgPSB7XG4gIHJlbW92ZTogVHJhc2gsXG4gIHZpc2libGU6IEV5ZVNlZW4sXG4gIGhpZGRlbjogRXllVW5zZWVuLFxuICBlbmFibGVDb25maWc6IEFycm93RG93bixcbiAgZGlzYWJsZUNvbmZpZzogQXJyb3dVcFxufTtcblxuY29uc3QgZGVmYXVsdEVmZmVjdEljb25zID0ge1xuICBbTElHSFRfQU5EX1NIQURPV19FRkZFQ1QudHlwZV06IExpZ2h0QW5kU2hhZG93RWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuaW5rLnR5cGVdOiBJbmtFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5icmlnaHRuZXNzQ29udHJhc3QudHlwZV06IEJyaWdodG5lc3NDb250cmFzdEVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLmh1ZVNhdHVyYXRpb24udHlwZV06IEh1ZVNhdHVyYXRpb25FZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy52aWJyYW5jZS50eXBlXTogVmlicmFuY2VFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5zZXBpYS50eXBlXTogU2VwaWFFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5kb3RTY3JlZW4udHlwZV06IERvdFNjcmVlbkVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLmNvbG9ySGFsZnRvbmUudHlwZV06IENvbG9ySGFsZnRvbmVFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5ub2lzZS50eXBlXTogTm9pc2VFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy50cmlhbmdsZUJsdXIudHlwZV06IFRyaWFuZ2xlQmx1ckVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLnpvb21CbHVyLnR5cGVdOiBab29tQmx1ckVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLnRpbHRTaGlmdC50eXBlXTogVGlsdFNoaWZ0RWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuZWRnZVdvcmsudHlwZV06IEVkZ2VXb3JrRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMudmlnbmV0dGUudHlwZV06IFZpZ25ldHRlRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMubWFnbmlmeS50eXBlXTogTWFnbmlmeUVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLmhleGFnb25hbFBpeGVsYXRlLnR5cGVdOiBIZXhhZ29uYWxQaXhlbGF0ZUVmZmVjdEljb24sXG4gIFtESVNUQU5DRV9GT0dfVFlQRV06IERpc3RhbmNlRm9nRWZmZWN0SWNvbixcbiAgW1NVUkZBQ0VfRk9HX1RZUEVdOiBTdXJmYWNlRm9nRWZmZWN0SWNvblxufTtcblxuY29uc3QgU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIgPSBzdHlsZWQoU3R5bGVkUGFuZWxIZWFkZXIpYFxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxIZWFkZXJIZWlnaHR9cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgLmVmZmVjdF9fZHJhZy1oYW5kbGUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIH1cblxuICAuZWZmZWN0X19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXIge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDEwcHggMTBweCA1cHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgLmVmZmVjdF9fZHJhZy1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuYDtcblxuY29uc3QgSGVhZGVyQWN0aW9uU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcmlnaHQ6IDEwcHg7XG4gICY6aG92ZXIge1xuICAgIC5lZmZlY3QtcGFuZWxfX2hlYWRlcl9fYWN0aW9uc19faGlkZGVuIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cbmA7XG5cbi8vIEhpZGVuIGFjdGlvbnMgb25seSBzaG93IHVwIG9uIGhvdmVyXG50eXBlIFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9uc1Byb3BzID0geyRpc0NvbmZpZ0FjdGl2ZTogYm9vbGVhbn07XG5jb25zdCBTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnZWZmZWN0LXBhbmVsX19oZWFkZXJfX2FjdGlvbnNfX2hpZGRlbidcbn0pPFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9uc1Byb3BzPmBcbiAgb3BhY2l0eTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC40cyBlYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuJGlzQ29uZmlnQWN0aXZlID8gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXIgOiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gIH1cbmA7XG5cbmNvbnN0IERyYWdIYW5kbGUgPSAoe2NsYXNzTmFtZSwgbGlzdGVuZXJzLCBjaGlsZHJlbn0pID0+IChcbiAgPFN0eWxlZERyYWdIYW5kbGUgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5saXN0ZW5lcnN9PlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdHlsZWREcmFnSGFuZGxlPlxuKTtcblxuRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeS5kZXBzID0gW1BhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeV07XG5cbmV4cG9ydCBmdW5jdGlvbiBFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5KFxuICBQYW5lbEhlYWRlckFjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5PlxuKTogUmVhY3QuRkM8RWZmZWN0UGFuZWxIZWFkZXJQcm9wcz4ge1xuICBjb25zdCBFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24gPSAocHJvcHM6IEVmZmVjdFBhbmVsSGVhZGVyUHJvcHMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBlZmZlY3RJZCxcbiAgICAgIGlzRW5hYmxlZCxcbiAgICAgIGlzQ29uZmlnQWN0aXZlLFxuICAgICAgb25Ub2dnbGVFbmFibGVkLFxuICAgICAgb25SZW1vdmVFZmZlY3QsXG4gICAgICBvblRvZ2dsZUVuYWJsZUNvbmZpZyxcbiAgICAgIGFjdGlvbkl0ZW1zLFxuICAgICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnNcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCBlZmZlY3RBY3Rpb25JdGVtczogQWN0aW9uSXRlbVtdID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGFjdGlvbkl0ZW1zID8/IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdyZW1vdmUtZWZmZWN0JyxcbiAgICAgICAgICAgIGlzSGlkZGVuOiB0cnVlLFxuICAgICAgICAgICAgdG9vbHRpcDogJ3Rvb2x0aXAucmVtb3ZlRWZmZWN0JyxcbiAgICAgICAgICAgIHRvb2x0aXBUeXBlOiAnZXJyb3InLFxuICAgICAgICAgICAgb25DbGljazogb25SZW1vdmVFZmZlY3QsXG4gICAgICAgICAgICBpY29uOiBhY3Rpb25JY29ucy5yZW1vdmVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ3Zpc2liaWxpdHktdG9nZ2xlJyxcbiAgICAgICAgICAgIHRvb2x0aXA6IGlzRW5hYmxlZCA/ICd0b29sdGlwLmRpc2FibGVFZmZlY3QnIDogJ3Rvb2x0aXAuZW5hYmxlZEVmZmVjdCcsXG4gICAgICAgICAgICBvbkNsaWNrOiBvblRvZ2dsZUVuYWJsZWQsXG4gICAgICAgICAgICBpY29uOiBpc0VuYWJsZWQgPyBhY3Rpb25JY29ucy52aXNpYmxlIDogYWN0aW9uSWNvbnMuaGlkZGVuXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdlbmFibGUtY29uZmlnJyxcbiAgICAgICAgICAgIGNsYXNzTmFtZXM6IHsnaXMtb3Blbic6IGlzQ29uZmlnQWN0aXZlfSxcbiAgICAgICAgICAgIHRvb2x0aXA6ICd0b29sdGlwLmVmZmVjdFNldHRpbmdzJyxcbiAgICAgICAgICAgIG9uQ2xpY2s6IG9uVG9nZ2xlRW5hYmxlQ29uZmlnLFxuICAgICAgICAgICAgaWNvbjogYWN0aW9uSWNvbnMuZW5hYmxlQ29uZmlnXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgW1xuICAgICAgICBhY3Rpb25JdGVtcyxcbiAgICAgICAgYWN0aW9uSWNvbnMsXG4gICAgICAgIGlzRW5hYmxlZCxcbiAgICAgICAgaXNDb25maWdBY3RpdmUsXG4gICAgICAgIG9uUmVtb3ZlRWZmZWN0LFxuICAgICAgICBvblRvZ2dsZUVuYWJsZWQsXG4gICAgICAgIG9uVG9nZ2xlRW5hYmxlQ29uZmlnXG4gICAgICBdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQWN0aW9uU2VjdGlvbiBjbGFzc05hbWU9XCJlZmZlY3QtcGFuZWxfX2hlYWRlcl9fYWN0aW9uc1wiPlxuICAgICAgICA8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zICRpc0NvbmZpZ0FjdGl2ZT17aXNDb25maWdBY3RpdmV9PlxuICAgICAgICAgIHtlZmZlY3RBY3Rpb25JdGVtc1xuICAgICAgICAgICAgLmZpbHRlcigoaXRlbTogQWN0aW9uSXRlbSkgPT4gQm9vbGVhbihpdGVtLmlzSGlkZGVuKSlcbiAgICAgICAgICAgIC5tYXAoKGl0ZW06IEFjdGlvbkl0ZW0pID0+IChcbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtLmtleX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BlZmZlY3RfXyR7aXRlbS5rZXl9YH1cbiAgICAgICAgICAgICAgICB0ZXN0SWQ9e2Ake2l0ZW0ua2V5fS1hY3Rpb25gfVxuICAgICAgICAgICAgICAgIGlkPXtlZmZlY3RJZH1cbiAgICAgICAgICAgICAgICB0b29sdGlwPXtpdGVtLnRvb2x0aXB9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aXRlbS5vbkNsaWNrfVxuICAgICAgICAgICAgICAgIHRvb2x0aXBUeXBlPXtpdGVtLnRvb2x0aXBUeXBlfVxuICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2l0ZW0uaWNvbn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L1N0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucz5cbiAgICAgICAge2VmZmVjdEFjdGlvbkl0ZW1zXG4gICAgICAgICAgLmZpbHRlcigoaXRlbTogQWN0aW9uSXRlbSkgPT4gIWl0ZW0uaXNIaWRkZW4pXG4gICAgICAgICAgLm1hcCgoaXRlbTogQWN0aW9uSXRlbSkgPT4gKFxuICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgIGtleT17aXRlbS5rZXl9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhgZWZmZWN0X18ke2l0ZW0ua2V5fWAsIGl0ZW0uY2xhc3NOYW1lcyl9XG4gICAgICAgICAgICAgIHRlc3RJZD17YCR7aXRlbS5rZXl9LWFjdGlvbmB9XG4gICAgICAgICAgICAgIGlkPXtlZmZlY3RJZH1cbiAgICAgICAgICAgICAgdG9vbHRpcD17aXRlbS50b29sdGlwfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtpdGVtLm9uQ2xpY2t9XG4gICAgICAgICAgICAgIHRvb2x0aXBUeXBlPXtpdGVtLnRvb2x0aXBUeXBlfVxuICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtpdGVtLmljb259XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgPC9IZWFkZXJBY3Rpb25TZWN0aW9uPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIEVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjtcbn1cblxuY29uc3QgU3R5bGVkRWZmZWN0VGl0bGVTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgZmxleC1ncm93OiAxO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuYDtcblxuY29uc3QgSWNvblBsYWNlaG9sZGVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbmA7XG5cbmNvbnN0IEVmZmVjdEljb25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5FZmZlY3RQYW5lbEhlYWRlckZhY3RvcnkuZGVwcyA9IFtFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5XTtcblxuZnVuY3Rpb24gRWZmZWN0UGFuZWxIZWFkZXJGYWN0b3J5KFxuICBFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIEVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxFZmZlY3RQYW5lbEhlYWRlclByb3BzPiB7XG4gIGNvbnN0IEVmZmVjdFBhbmVsSGVhZGVyID0gKHByb3BzOiBFZmZlY3RQYW5lbEhlYWRlclByb3BzKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgaXNDb25maWdBY3RpdmUsXG4gICAgICBpc0RyYWdORHJvcEVuYWJsZWQgPSB0cnVlLFxuICAgICAgdHlwZSxcbiAgICAgIGVmZmVjdElkLFxuICAgICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICBsaXN0ZW5lcnMsXG4gICAgICBzaG93U29ydEhhbmRsZSA9IHRydWVcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuXG4gICAgY29uc3QgZWZmZWN0RGVzYyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIEVGRkVDVF9ERVNDUklQVElPTlMuZmluZChfZGVzY3JpcHRpb24gPT4gX2Rlc2NyaXB0aW9uLnR5cGUgPT09IHR5cGUpO1xuICAgIH0sIFt0eXBlXSk7XG5cbiAgICBjb25zdCBsYWJlbCA9IGVmZmVjdERlc2M/Lm5hbWUgfHwgJ0VmZmVjdCc7XG4gICAgY29uc3QgZGVzY3JpcHRpb25UZXh0ID0gZWZmZWN0RGVzYz8uZGVzY3JpcHRpb25cbiAgICAgID8gaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogZWZmZWN0RGVzYy5kZXNjcmlwdGlvbiwgZGVmYXVsdE1lc3NhZ2U6ICcnfSlcbiAgICAgIDogJyc7XG4gICAgY29uc3QgdG9vbHRpcElkID0gYGVmZmVjdC1oZWFkZXItJHtlZmZlY3RJZH1gO1xuXG4gICAgY29uc3QgRWZmZWN0SWNvbiA9IGRlZmF1bHRFZmZlY3RJY29uc1t0eXBlXTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRWZmZWN0UGFuZWxIZWFkZXJcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdlZmZlY3QtcGFuZWxfX2hlYWRlcicsIHtcbiAgICAgICAgICAnc29ydC0taGFuZGxlJzogIWlzQ29uZmlnQWN0aXZlXG4gICAgICAgIH0pfVxuICAgICAgICAkYWN0aXZlPXtpc0NvbmZpZ0FjdGl2ZX1cbiAgICAgICAgb25DbGljaz17b25Ub2dnbGVFbmFibGVDb25maWd9XG4gICAgICA+XG4gICAgICAgIHtpc0RyYWdORHJvcEVuYWJsZWQgPyAoXG4gICAgICAgICAgPERyYWdIYW5kbGUgY2xhc3NOYW1lPVwiZWZmZWN0X19kcmFnLWhhbmRsZVwiIGxpc3RlbmVycz17bGlzdGVuZXJzfT5cbiAgICAgICAgICAgIHtzaG93U29ydEhhbmRsZSA/IDxWZXJ0RG90cyBoZWlnaHQ9XCIyMHB4XCIgLz4gOiA8SWNvblBsYWNlaG9sZGVyIC8+fVxuICAgICAgICAgIDwvRHJhZ0hhbmRsZT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVmZmVjdF9fZHJhZy1oYW5kbGVfX3BsYWNlaG9sZGVyXCIgLz5cbiAgICAgICAgKX1cblxuICAgICAgICA8RWZmZWN0SWNvbldyYXBwZXI+e0VmZmVjdEljb24gPyA8RWZmZWN0SWNvbiBoZWlnaHQ9XCIxOHB4XCIgLz4gOiBudWxsfTwvRWZmZWN0SWNvbldyYXBwZXI+XG5cbiAgICAgICAgPFN0eWxlZEVmZmVjdFRpdGxlU2VjdGlvblxuICAgICAgICAgIGRhdGEtdGlwPXtkZXNjcmlwdGlvblRleHQgfHwgdW5kZWZpbmVkfVxuICAgICAgICAgIGRhdGEtZm9yPXtkZXNjcmlwdGlvblRleHQgPyB0b29sdGlwSWQgOiB1bmRlZmluZWR9XG4gICAgICAgID5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAge2Rlc2NyaXB0aW9uVGV4dCA/IChcbiAgICAgICAgICAgIDxNdWx0aWxpbmVUb29sdGlwIGlkPXt0b29sdGlwSWR9IGVmZmVjdD1cInNvbGlkXCIgcGxhY2U9XCJib3R0b21cIiBkZWxheVNob3c9ezUwMH0+XG4gICAgICAgICAgICAgIHtkZXNjcmlwdGlvblRleHR9XG4gICAgICAgICAgICA8L011bHRpbGluZVRvb2x0aXA+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvU3R5bGVkRWZmZWN0VGl0bGVTZWN0aW9uPlxuXG4gICAgICAgIDxFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24gey4uLnByb3BzfSAvPlxuICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbEhlYWRlcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBFZmZlY3RQYW5lbEhlYWRlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRWZmZWN0UGFuZWxIZWFkZXJGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBT0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBRUEsSUFBQU0sa0JBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLE1BQUEsR0FBQVAsT0FBQTtBQTJCQSxJQUFBUSxrQkFBQSxHQUFBUixPQUFBO0FBQXVFLElBQUFTLGVBQUEsRUFBQUMsbUJBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEs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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { ComponentType } from 'react';
|
|
2
|
-
import { removeEffect, updateEffect } from '@kepler.gl/actions';
|
|
2
|
+
import { ActionHandler, removeEffect, updateEffect } from '@kepler.gl/actions';
|
|
3
3
|
import { Effect } from '@kepler.gl/types';
|
|
4
4
|
import EffectPanelHeaderFactory from './effect-panel-header';
|
|
5
5
|
import EffectConfiguratorFactory from './effect-configurator';
|
|
@@ -8,14 +8,14 @@ export type EffectPanelProps = {
|
|
|
8
8
|
effect: Effect;
|
|
9
9
|
isDraggable: boolean;
|
|
10
10
|
listeners: any;
|
|
11
|
-
removeEffect: typeof removeEffect
|
|
12
|
-
updateEffect: typeof updateEffect
|
|
11
|
+
removeEffect: ActionHandler<typeof removeEffect>;
|
|
12
|
+
updateEffect: ActionHandler<typeof updateEffect>;
|
|
13
13
|
style?: React.CSSProperties;
|
|
14
14
|
onMouseDown: React.MouseEventHandler<HTMLDivElement>;
|
|
15
15
|
onTouchStart: React.TouchEventHandler<HTMLDivElement>;
|
|
16
16
|
};
|
|
17
17
|
export type PanelWrapperProps = {
|
|
18
|
-
active: boolean;
|
|
18
|
+
$active: boolean;
|
|
19
19
|
};
|
|
20
20
|
declare function EffectPanelFactory(EffectPanelHeader: ReturnType<typeof EffectPanelHeaderFactory>, EffectConfigurator: ReturnType<typeof EffectConfiguratorFactory>): ComponentType<EffectPanelProps>;
|
|
21
21
|
declare namespace EffectPanelFactory {
|