kepler.gl 3.1.7 → 3.1.8

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.
Files changed (136) hide show
  1. package/dist/src/actions/src/ui-state-actions.d.ts +0 -16
  2. package/dist/src/actions/src/vis-state-actions.d.ts +26 -0
  3. package/dist/src/ai-assistant/src/constants.d.ts +2 -5
  4. package/dist/src/ai-assistant/src/tools/geo-tools.d.ts +76 -25
  5. package/dist/src/ai-assistant/src/tools/tools.d.ts +76 -25
  6. package/dist/src/components/src/side-panel/add-by-dataset-button.d.ts +0 -1
  7. package/dist/src/duckdb/src/table/duckdb-table-utils.d.ts +8 -9
  8. package/dist/src/localization/src/translations/ca.d.ts +2 -0
  9. package/dist/src/localization/src/translations/cn.d.ts +2 -0
  10. package/dist/src/localization/src/translations/en.d.ts +2 -0
  11. package/dist/src/localization/src/translations/es.d.ts +2 -0
  12. package/dist/src/localization/src/translations/fi.d.ts +2 -0
  13. package/dist/src/localization/src/translations/ja.d.ts +2 -0
  14. package/dist/src/localization/src/translations/pt.d.ts +2 -0
  15. package/dist/src/localization/src/translations/ru.d.ts +2 -0
  16. package/dist/src/reducers/src/ui-state-updaters.d.ts +0 -10
  17. package/dist/src/reducers/src/vis-state-updaters.d.ts +16 -1
  18. package/dist/src/reducers/src/vis-state.d.ts +4 -0
  19. package/dist/src/schemas/src/vis-state-schema.d.ts +1 -0
  20. package/package.json +2 -2
  21. package/src/actions/dist/ui-state-actions.d.ts +0 -16
  22. package/src/actions/dist/ui-state-actions.js +2 -17
  23. package/src/actions/dist/vis-state-actions.d.ts +26 -0
  24. package/src/actions/dist/vis-state-actions.js +25 -1
  25. package/src/actions/package.json +8 -8
  26. package/src/actions/src/ui-state-actions.ts +0 -22
  27. package/src/actions/src/vis-state-actions.ts +30 -0
  28. package/src/ai-assistant/dist/components/ai-assistant-component.js +63 -4
  29. package/src/ai-assistant/dist/components/ai-assistant-config.js +55 -17
  30. package/src/ai-assistant/dist/constants.d.ts +2 -5
  31. package/src/ai-assistant/dist/constants.js +3 -21
  32. package/src/ai-assistant/dist/reducers/index.js +2 -2
  33. package/src/ai-assistant/dist/tools/geo-tools.d.ts +76 -25
  34. package/src/ai-assistant/dist/tools/geo-tools.js +44 -8
  35. package/src/ai-assistant/dist/tools/lisa-tool.js +17 -6
  36. package/src/ai-assistant/dist/tools/tools.d.ts +76 -25
  37. package/src/ai-assistant/package.json +19 -14
  38. package/src/ai-assistant/src/components/ai-assistant-component.tsx +34 -4
  39. package/src/ai-assistant/src/components/ai-assistant-config.tsx +64 -18
  40. package/src/ai-assistant/src/config/models.json +5 -24
  41. package/src/ai-assistant/src/constants.ts +21 -26
  42. package/src/ai-assistant/src/reducers/index.ts +1 -1
  43. package/src/ai-assistant/src/tools/geo-tools.tsx +70 -9
  44. package/src/ai-assistant/src/tools/lisa-tool.tsx +15 -4
  45. package/src/cloud-providers/package.json +2 -2
  46. package/src/common-utils/package.json +3 -3
  47. package/src/components/dist/kepler-gl.js +2 -2
  48. package/src/components/dist/map/map-popover.js +2 -2
  49. package/src/components/dist/map-container.js +2 -2
  50. package/src/components/dist/side-panel/add-by-dataset-button.d.ts +0 -1
  51. package/src/components/dist/side-panel/add-by-dataset-button.js +1 -3
  52. package/src/components/dist/side-panel/filter-panel/add-filter-button.js +1 -2
  53. package/src/components/dist/side-panel/layer-panel/add-layer-button.js +1 -2
  54. package/src/components/dist/side-panel/layer-panel/custom-picker.js +18 -5
  55. package/src/components/package.json +15 -15
  56. package/src/components/src/kepler-gl.tsx +1 -1
  57. package/src/components/src/map/map-popover.tsx +1 -1
  58. package/src/components/src/map-container.tsx +1 -1
  59. package/src/components/src/side-panel/add-by-dataset-button.tsx +0 -3
  60. package/src/components/src/side-panel/filter-panel/add-filter-button.tsx +0 -1
  61. package/src/components/src/side-panel/layer-panel/add-layer-button.tsx +0 -1
  62. package/src/components/src/side-panel/layer-panel/custom-picker.tsx +15 -1
  63. package/src/constants/dist/default-settings.js +1 -1
  64. package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/e6/16/9fd3750f7cfc51cf980ec6937f88e24e5b03b144d0439efabdec6a028ce7442883abce42b76f97bffa8d37bfb65c10508e48d68a2b019c4b750a48374080 +1 -0
  65. package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/b6/51/9b3488269917e0404a46b4db6235f226deef2d5b5b5ffb7414dafaa60b52 +2 -0
  66. package/src/constants/package.json +2 -2
  67. package/src/constants/umd/keplergl.min.js +1 -1
  68. package/src/deckgl-arrow-layers/package.json +2 -2
  69. package/src/deckgl-layers/package.json +4 -4
  70. package/src/duckdb/dist/components/sql-panel.js +34 -33
  71. package/src/duckdb/dist/table/duckdb-table-utils.d.ts +8 -9
  72. package/src/duckdb/dist/table/duckdb-table-utils.js +21 -23
  73. package/src/duckdb/dist/table/duckdb-table.js +20 -17
  74. package/src/duckdb/package.json +6 -6
  75. package/src/duckdb/src/components/sql-panel.tsx +3 -5
  76. package/src/duckdb/src/table/duckdb-table-utils.ts +19 -18
  77. package/src/duckdb/src/table/duckdb-table.ts +7 -4
  78. package/src/effects/package.json +5 -5
  79. package/src/layers/dist/geojson-layer/geojson-layer.js +5 -2
  80. package/src/layers/package.json +9 -9
  81. package/src/layers/src/geojson-layer/geojson-layer.ts +4 -1
  82. package/src/localization/dist/translations/ca.d.ts +2 -0
  83. package/src/localization/dist/translations/ca.js +3 -1
  84. package/src/localization/dist/translations/cn.d.ts +2 -0
  85. package/src/localization/dist/translations/cn.js +3 -1
  86. package/src/localization/dist/translations/en.d.ts +2 -0
  87. package/src/localization/dist/translations/en.js +4 -2
  88. package/src/localization/dist/translations/es.d.ts +2 -0
  89. package/src/localization/dist/translations/es.js +3 -1
  90. package/src/localization/dist/translations/fi.d.ts +2 -0
  91. package/src/localization/dist/translations/fi.js +3 -1
  92. package/src/localization/dist/translations/ja.d.ts +2 -0
  93. package/src/localization/dist/translations/ja.js +3 -1
  94. package/src/localization/dist/translations/pt.d.ts +2 -0
  95. package/src/localization/dist/translations/pt.js +3 -1
  96. package/src/localization/dist/translations/ru.d.ts +2 -0
  97. package/src/localization/dist/translations/ru.js +3 -1
  98. package/src/localization/package.json +1 -1
  99. package/src/localization/src/translations/ca.ts +2 -0
  100. package/src/localization/src/translations/cn.ts +2 -0
  101. package/src/localization/src/translations/en.ts +4 -2
  102. package/src/localization/src/translations/es.ts +2 -0
  103. package/src/localization/src/translations/fi.ts +2 -0
  104. package/src/localization/src/translations/ja.ts +2 -0
  105. package/src/localization/src/translations/pt.ts +2 -0
  106. package/src/localization/src/translations/ru.ts +2 -0
  107. package/src/processors/dist/file-handler.js +13 -14
  108. package/src/processors/package.json +7 -7
  109. package/src/processors/src/file-handler.ts +0 -1
  110. package/src/reducers/dist/combined-updaters.js +4 -2
  111. package/src/reducers/dist/ui-state-updaters.d.ts +0 -10
  112. package/src/reducers/dist/ui-state-updaters.js +2 -22
  113. package/src/reducers/dist/ui-state.js +2 -2
  114. package/src/reducers/dist/vis-state-updaters.d.ts +16 -1
  115. package/src/reducers/dist/vis-state-updaters.js +79 -45
  116. package/src/reducers/dist/vis-state.d.ts +4 -0
  117. package/src/reducers/dist/vis-state.js +2 -2
  118. package/src/reducers/package.json +16 -16
  119. package/src/reducers/src/combined-updaters.ts +1 -0
  120. package/src/reducers/src/ui-state-updaters.ts +0 -24
  121. package/src/reducers/src/ui-state.ts +1 -3
  122. package/src/reducers/src/vis-state-updaters.ts +74 -22
  123. package/src/reducers/src/vis-state.ts +3 -1
  124. package/src/schemas/dist/vis-state-schema.d.ts +1 -0
  125. package/src/schemas/dist/vis-state-schema.js +1 -1
  126. package/src/schemas/package.json +7 -7
  127. package/src/schemas/src/vis-state-schema.ts +1 -0
  128. package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/f9/fc/86ccce4fa2c3e73042785814bc24476cb7cc9531d16a7c2ecb66bfc154f7b35d7416d852faa175d172da177931675cd2ba82e3b7898e8f4bf499921b00c2 +1 -0
  129. package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/ba/31/d609a3a75657c3640471d5a925a4a64689ea3853d9379bdcd675dba816a2 +2 -0
  130. package/src/styles/package.json +2 -2
  131. package/src/styles/umd/keplergl.min.js +1 -1
  132. package/src/table/package.json +5 -5
  133. package/src/tasks/package.json +2 -2
  134. package/src/types/package.json +1 -1
  135. package/src/utils/package.json +4 -4
  136. package/umd/keplergl.min.js +1350 -1312
@@ -41,6 +41,7 @@ export declare const visStateReducerFactory: (initialState?: {}) => import("redu
41
41
  splitMapsToBeMerged: import("@kepler.gl/types").SplitMap[];
42
42
  fileLoading: false | import("@kepler.gl/types").FileLoading;
43
43
  fileLoadingProgress: import("@kepler.gl/types").FileLoadingProgress;
44
+ loadingIndicatorValue: number;
44
45
  loaders: import("@loaders.gl/loader-utils").Loader<any, any, import("@loaders.gl/loader-utils").LoaderOptions>[];
45
46
  loadOptions: object;
46
47
  initialState?: Partial<import("@kepler.gl/schemas").VisState> | undefined;
@@ -95,6 +96,7 @@ export declare const visStateReducerFactory: (initialState?: {}) => import("redu
95
96
  splitMapsToBeMerged: import("@kepler.gl/types").SplitMap[];
96
97
  fileLoading: false | import("@kepler.gl/types").FileLoading;
97
98
  fileLoadingProgress: import("@kepler.gl/types").FileLoadingProgress;
99
+ loadingIndicatorValue: number;
98
100
  loaders: import("@loaders.gl/loader-utils").Loader<any, any, import("@loaders.gl/loader-utils").LoaderOptions>[];
99
101
  loadOptions: object;
100
102
  initialState?: Partial<import("@kepler.gl/schemas").VisState> | undefined;
@@ -150,6 +152,7 @@ declare const _default: import("redux-actions").ReduxCompatibleReducer<{
150
152
  splitMapsToBeMerged: import("@kepler.gl/types").SplitMap[];
151
153
  fileLoading: false | import("@kepler.gl/types").FileLoading;
152
154
  fileLoadingProgress: import("@kepler.gl/types").FileLoadingProgress;
155
+ loadingIndicatorValue: number;
153
156
  loaders: import("@loaders.gl/loader-utils").Loader<any, any, import("@loaders.gl/loader-utils").LoaderOptions>[];
154
157
  loadOptions: object;
155
158
  initialState?: Partial<import("@kepler.gl/schemas").VisState> | undefined;
@@ -204,6 +207,7 @@ declare const _default: import("redux-actions").ReduxCompatibleReducer<{
204
207
  splitMapsToBeMerged: import("@kepler.gl/types").SplitMap[];
205
208
  fileLoading: false | import("@kepler.gl/types").FileLoading;
206
209
  fileLoadingProgress: import("@kepler.gl/types").FileLoadingProgress;
210
+ loadingIndicatorValue: number;
207
211
  loaders: import("@loaders.gl/loader-utils").Loader<any, any, import("@loaders.gl/loader-utils").LoaderOptions>[];
208
212
  loadOptions: object;
209
213
  initialState?: Partial<import("@kepler.gl/schemas").VisState> | undefined;
@@ -20,7 +20,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
20
20
  * Important: Do not rename `actionHandler` or the assignment pattern of property value.
21
21
  * It is used to generate documentation
22
22
  */
23
- var actionHandler = (_actionHandler = {}, (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"])(_actionHandler, _actions.ActionTypes.ADD_FILTER, visStateUpdaters.addFilterUpdater), _actions.ActionTypes.CREATE_OR_UPDATE_FILTER, visStateUpdaters.createOrUpdateFilterUpdater), _actions.ActionTypes.ADD_LAYER, visStateUpdaters.addLayerUpdater), _actions.ActionTypes.APPLY_FILTER_CONFIG, visStateUpdaters.applyFilterConfigUpdater), _actions.ActionTypes.APPLY_LAYER_CONFIG, visStateUpdaters.applyLayerConfigUpdater), _actions.ActionTypes.DUPLICATE_LAYER, visStateUpdaters.duplicateLayerUpdater), _actions.ActionTypes.SET_FILTER_VIEW, visStateUpdaters.setFilterViewUpdater), _actions.ActionTypes.INTERACTION_CONFIG_CHANGE, visStateUpdaters.interactionConfigChangeUpdater), _actions.ActionTypes.LAYER_CLICK, visStateUpdaters.layerClickUpdater), _actions.ActionTypes.LAYER_CONFIG_CHANGE, visStateUpdaters.layerConfigChangeUpdater), (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"])(_actionHandler, _actions.ActionTypes.LAYER_SET_IS_VALID, visStateUpdaters.layerSetIsValidUpdater), _actions.ActionTypes.LAYER_HOVER, visStateUpdaters.layerHoverUpdater), _actions.ActionTypes.LAYER_TYPE_CHANGE, visStateUpdaters.layerTypeChangeUpdater), _actions.ActionTypes.LAYER_VIS_CONFIG_CHANGE, visStateUpdaters.layerVisConfigChangeUpdater), _actions.ActionTypes.LAYER_TOGGLE_VISIBILITY, visStateUpdaters.layerToggleVisibilityUpdater), _actions.ActionTypes.LAYER_TEXT_LABEL_CHANGE, visStateUpdaters.layerTextLabelChangeUpdater), _actions.ActionTypes.LAYER_VISUAL_CHANNEL_CHANGE, visStateUpdaters.layerVisualChannelChangeUpdater), _actions.ActionTypes.LAYER_COLOR_UI_CHANGE, visStateUpdaters.layerColorUIChangeUpdater), _actions.ActionTypes.TOGGLE_LAYER_ANIMATION, visStateUpdaters.toggleLayerAnimationUpdater), _actions.ActionTypes.TOGGLE_LAYER_ANIMATION_CONTROL, visStateUpdaters.toggleLayerAnimationControlUpdater), (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"])(_actionHandler, _actions.ActionTypes.LOAD_FILES, visStateUpdaters.loadFilesUpdater), _actions.ActionTypes.LOAD_FILES_ERR, visStateUpdaters.loadFilesErrUpdater), _actions.ActionTypes.LOAD_NEXT_FILE, visStateUpdaters.loadNextFileUpdater), _actions.ActionTypes.LOAD_FILE_STEP_SUCCESS, visStateUpdaters.loadFileStepSuccessUpdater), _actions.ActionTypes.MAP_CLICK, visStateUpdaters.mapClickUpdater), _actions.ActionTypes.MOUSE_MOVE, visStateUpdaters.mouseMoveUpdater), _actions.ActionTypes.RECEIVE_MAP_CONFIG, visStateUpdaters.receiveMapConfigUpdater), _actions.ActionTypes.REMOVE_DATASET, visStateUpdaters.removeDatasetUpdater), _actions.ActionTypes.REMOVE_FILTER, visStateUpdaters.removeFilterUpdater), _actions.ActionTypes.REMOVE_LAYER, visStateUpdaters.removeLayerUpdater), (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"])(_actionHandler, _actions.ActionTypes.REORDER_LAYER, visStateUpdaters.reorderLayerUpdater), _actions.ActionTypes.RESET_MAP_CONFIG, visStateUpdaters.resetMapConfigUpdater), _actions.ActionTypes.SET_FILTER, visStateUpdaters.setFilterUpdater), _actions.ActionTypes.SET_FILTER_ANIMATION_TIME, visStateUpdaters.setFilterAnimationTimeUpdater), _actions.ActionTypes.SET_FILTER_ANIMATION_TIME_CONFIG, visStateUpdaters.setFilterAnimationTimeConfigUpdater), _actions.ActionTypes.SET_FILTER_ANIMATION_WINDOW, visStateUpdaters.setFilterAnimationWindowUpdater), _actions.ActionTypes.SET_FILTER_PLOT, visStateUpdaters.setFilterPlotUpdater), _actions.ActionTypes.SET_MAP_INFO, visStateUpdaters.setMapInfoUpdater), _actions.ActionTypes.SHOW_DATASET_TABLE, visStateUpdaters.showDatasetTableUpdater), _actions.ActionTypes.UPDATE_TABLE_COLOR, visStateUpdaters.updateTableColorUpdater), (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"])(_actionHandler, _actions.ActionTypes.TOGGLE_FILTER_ANIMATION, visStateUpdaters.toggleFilterAnimationUpdater), _actions.ActionTypes.UPDATE_FILTER_ANIMATION_SPEED, visStateUpdaters.updateFilterAnimationSpeedUpdater), _actions.ActionTypes.SET_ANIMATION_CONFIG, visStateUpdaters.setAnimationConfigUpdater), _actions.ActionTypes.SET_LAYER_ANIMATION_TIME, visStateUpdaters.setLayerAnimationTimeUpdater), _actions.ActionTypes.UPDATE_LAYER_ANIMATION_SPEED, visStateUpdaters.updateLayerAnimationSpeedUpdater), _actions.ActionTypes.TOGGLE_LAYER_FOR_MAP, visStateUpdaters.toggleLayerForMapUpdater), _actions.ActionTypes.TOGGLE_SPLIT_MAP, visStateUpdaters.toggleSplitMapUpdater), _actions.ActionTypes.UPDATE_LAYER_BLENDING, visStateUpdaters.updateLayerBlendingUpdater), _actions.ActionTypes.UPDATE_OVERLAY_BLENDING, visStateUpdaters.updateOverlayBlendingUpdater), _actions.ActionTypes.UPDATE_VIS_DATA, visStateUpdaters.updateVisDataUpdater), (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"])(_actionHandler, _actions.ActionTypes.RENAME_DATASET, visStateUpdaters.renameDatasetUpdater), _actions.ActionTypes.UPDATE_DATASET_PROPS, visStateUpdaters.updateDatasetPropsUpdater), _actions.ActionTypes.SET_FEATURES, visStateUpdaters.setFeaturesUpdater), _actions.ActionTypes.DELETE_FEATURE, visStateUpdaters.deleteFeatureUpdater), _actions.ActionTypes.SET_POLYGON_FILTER_LAYER, visStateUpdaters.setPolygonFilterLayerUpdater), _actions.ActionTypes.SET_SELECTED_FEATURE, visStateUpdaters.setSelectedFeatureUpdater), _actions.ActionTypes.SET_EDITOR_MODE, visStateUpdaters.setEditorModeUpdater), _actions.ActionTypes.TOGGLE_EDITOR_VISIBILITY, visStateUpdaters.toggleEditorVisibilityUpdater), _actions.ActionTypes.TOGGLE_FILTER_FEATURE, visStateUpdaters.toggleFilterFeatureUpdater), _actions.ActionTypes.APPLY_CPU_FILTER, visStateUpdaters.applyCPUFilterUpdater), (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"])(_actionHandler, _actions.ActionTypes.SORT_TABLE_COLUMN, visStateUpdaters.sortTableColumnUpdater), _actions.ActionTypes.PIN_TABLE_COLUMN, visStateUpdaters.pinTableColumnUpdater), _actions.ActionTypes.COPY_TABLE_COLUMN, visStateUpdaters.copyTableColumnUpdater), _actions.ActionTypes.SET_COLUMN_DISPLAY_FORMAT, visStateUpdaters.setColumnDisplayFormatUpdater), _actions.ActionTypes.NEXT_FILE_BATCH, visStateUpdaters.nextFileBatchUpdater), _actions.ActionTypes.PROCESS_FILE_CONTENT, visStateUpdaters.processFileContentUpdater), _actions.ActionTypes.SET_LAYER_ANIMATION_TIME_CONFIG, visStateUpdaters.setLayerAnimationTimeConfigUpdater), _actions.ActionTypes.LAYER_FILTERED_ITEMS_CHANGE, visStateUpdaters.layerFilteredItemsChangeUpdater), _actions.ActionTypes.SYNC_TIME_FILTER_WITH_LAYER_TIMELINE, visStateUpdaters.syncTimeFilterWithLayerTimelineUpdater), _actions.ActionTypes.SYNC_TIME_FILTER_TIMELINE_MODE, visStateUpdaters.setTimeFilterTimelineModeUpdater), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_actionHandler, _actions.ActionTypes.ADD_EFFECT, visStateUpdaters.addEffectUpdater), _actions.ActionTypes.REORDER_EFFECT, visStateUpdaters.reorderEffectUpdater), _actions.ActionTypes.REMOVE_EFFECT, visStateUpdaters.removeEffectUpdater), _actions.ActionTypes.UPDATE_EFFECT, visStateUpdaters.updateEffectUpdater), _actions.ActionTypes.CREATE_NEW_DATASET_SUCCESS, visStateUpdaters.createNewDatasetSuccessUpdater));
23
+ var actionHandler = (_actionHandler = {}, (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"])(_actionHandler, _actions.ActionTypes.ADD_FILTER, visStateUpdaters.addFilterUpdater), _actions.ActionTypes.CREATE_OR_UPDATE_FILTER, visStateUpdaters.createOrUpdateFilterUpdater), _actions.ActionTypes.ADD_LAYER, visStateUpdaters.addLayerUpdater), _actions.ActionTypes.APPLY_FILTER_CONFIG, visStateUpdaters.applyFilterConfigUpdater), _actions.ActionTypes.APPLY_LAYER_CONFIG, visStateUpdaters.applyLayerConfigUpdater), _actions.ActionTypes.DUPLICATE_LAYER, visStateUpdaters.duplicateLayerUpdater), _actions.ActionTypes.SET_FILTER_VIEW, visStateUpdaters.setFilterViewUpdater), _actions.ActionTypes.INTERACTION_CONFIG_CHANGE, visStateUpdaters.interactionConfigChangeUpdater), _actions.ActionTypes.LAYER_CLICK, visStateUpdaters.layerClickUpdater), _actions.ActionTypes.LAYER_CONFIG_CHANGE, visStateUpdaters.layerConfigChangeUpdater), (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"])(_actionHandler, _actions.ActionTypes.LAYER_SET_IS_VALID, visStateUpdaters.layerSetIsValidUpdater), _actions.ActionTypes.LAYER_HOVER, visStateUpdaters.layerHoverUpdater), _actions.ActionTypes.LAYER_TYPE_CHANGE, visStateUpdaters.layerTypeChangeUpdater), _actions.ActionTypes.LAYER_VIS_CONFIG_CHANGE, visStateUpdaters.layerVisConfigChangeUpdater), _actions.ActionTypes.LAYER_TOGGLE_VISIBILITY, visStateUpdaters.layerToggleVisibilityUpdater), _actions.ActionTypes.LAYER_TEXT_LABEL_CHANGE, visStateUpdaters.layerTextLabelChangeUpdater), _actions.ActionTypes.LAYER_VISUAL_CHANNEL_CHANGE, visStateUpdaters.layerVisualChannelChangeUpdater), _actions.ActionTypes.LAYER_COLOR_UI_CHANGE, visStateUpdaters.layerColorUIChangeUpdater), _actions.ActionTypes.TOGGLE_LAYER_ANIMATION, visStateUpdaters.toggleLayerAnimationUpdater), _actions.ActionTypes.TOGGLE_LAYER_ANIMATION_CONTROL, visStateUpdaters.toggleLayerAnimationControlUpdater), (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"])(_actionHandler, _actions.ActionTypes.LOAD_FILES, visStateUpdaters.loadFilesUpdater), _actions.ActionTypes.LOAD_FILES_ERR, visStateUpdaters.loadFilesErrUpdater), _actions.ActionTypes.LOAD_NEXT_FILE, visStateUpdaters.loadNextFileUpdater), _actions.ActionTypes.LOAD_FILE_STEP_SUCCESS, visStateUpdaters.loadFileStepSuccessUpdater), _actions.ActionTypes.MAP_CLICK, visStateUpdaters.mapClickUpdater), _actions.ActionTypes.MOUSE_MOVE, visStateUpdaters.mouseMoveUpdater), _actions.ActionTypes.RECEIVE_MAP_CONFIG, visStateUpdaters.receiveMapConfigUpdater), _actions.ActionTypes.REMOVE_DATASET, visStateUpdaters.removeDatasetUpdater), _actions.ActionTypes.REMOVE_FILTER, visStateUpdaters.removeFilterUpdater), _actions.ActionTypes.REMOVE_LAYER, visStateUpdaters.removeLayerUpdater), (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"])(_actionHandler, _actions.ActionTypes.REORDER_LAYER, visStateUpdaters.reorderLayerUpdater), _actions.ActionTypes.RESET_MAP_CONFIG, visStateUpdaters.resetMapConfigUpdater), _actions.ActionTypes.SET_FILTER, visStateUpdaters.setFilterUpdater), _actions.ActionTypes.SET_FILTER_ANIMATION_TIME, visStateUpdaters.setFilterAnimationTimeUpdater), _actions.ActionTypes.SET_FILTER_ANIMATION_TIME_CONFIG, visStateUpdaters.setFilterAnimationTimeConfigUpdater), _actions.ActionTypes.SET_FILTER_ANIMATION_WINDOW, visStateUpdaters.setFilterAnimationWindowUpdater), _actions.ActionTypes.SET_FILTER_PLOT, visStateUpdaters.setFilterPlotUpdater), _actions.ActionTypes.SET_MAP_INFO, visStateUpdaters.setMapInfoUpdater), _actions.ActionTypes.SHOW_DATASET_TABLE, visStateUpdaters.showDatasetTableUpdater), _actions.ActionTypes.UPDATE_TABLE_COLOR, visStateUpdaters.updateTableColorUpdater), (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"])(_actionHandler, _actions.ActionTypes.TOGGLE_FILTER_ANIMATION, visStateUpdaters.toggleFilterAnimationUpdater), _actions.ActionTypes.UPDATE_FILTER_ANIMATION_SPEED, visStateUpdaters.updateFilterAnimationSpeedUpdater), _actions.ActionTypes.SET_ANIMATION_CONFIG, visStateUpdaters.setAnimationConfigUpdater), _actions.ActionTypes.SET_LAYER_ANIMATION_TIME, visStateUpdaters.setLayerAnimationTimeUpdater), _actions.ActionTypes.UPDATE_LAYER_ANIMATION_SPEED, visStateUpdaters.updateLayerAnimationSpeedUpdater), _actions.ActionTypes.TOGGLE_LAYER_FOR_MAP, visStateUpdaters.toggleLayerForMapUpdater), _actions.ActionTypes.TOGGLE_SPLIT_MAP, visStateUpdaters.toggleSplitMapUpdater), _actions.ActionTypes.UPDATE_LAYER_BLENDING, visStateUpdaters.updateLayerBlendingUpdater), _actions.ActionTypes.UPDATE_OVERLAY_BLENDING, visStateUpdaters.updateOverlayBlendingUpdater), _actions.ActionTypes.UPDATE_VIS_DATA, visStateUpdaters.updateVisDataUpdater), (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"])(_actionHandler, _actions.ActionTypes.RENAME_DATASET, visStateUpdaters.renameDatasetUpdater), _actions.ActionTypes.UPDATE_DATASET_PROPS, visStateUpdaters.updateDatasetPropsUpdater), _actions.ActionTypes.SET_FEATURES, visStateUpdaters.setFeaturesUpdater), _actions.ActionTypes.DELETE_FEATURE, visStateUpdaters.deleteFeatureUpdater), _actions.ActionTypes.SET_POLYGON_FILTER_LAYER, visStateUpdaters.setPolygonFilterLayerUpdater), _actions.ActionTypes.SET_SELECTED_FEATURE, visStateUpdaters.setSelectedFeatureUpdater), _actions.ActionTypes.SET_EDITOR_MODE, visStateUpdaters.setEditorModeUpdater), _actions.ActionTypes.TOGGLE_EDITOR_VISIBILITY, visStateUpdaters.toggleEditorVisibilityUpdater), _actions.ActionTypes.TOGGLE_FILTER_FEATURE, visStateUpdaters.toggleFilterFeatureUpdater), _actions.ActionTypes.APPLY_CPU_FILTER, visStateUpdaters.applyCPUFilterUpdater), (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"])(_actionHandler, _actions.ActionTypes.SORT_TABLE_COLUMN, visStateUpdaters.sortTableColumnUpdater), _actions.ActionTypes.PIN_TABLE_COLUMN, visStateUpdaters.pinTableColumnUpdater), _actions.ActionTypes.COPY_TABLE_COLUMN, visStateUpdaters.copyTableColumnUpdater), _actions.ActionTypes.SET_COLUMN_DISPLAY_FORMAT, visStateUpdaters.setColumnDisplayFormatUpdater), _actions.ActionTypes.NEXT_FILE_BATCH, visStateUpdaters.nextFileBatchUpdater), _actions.ActionTypes.PROCESS_FILE_CONTENT, visStateUpdaters.processFileContentUpdater), _actions.ActionTypes.SET_LAYER_ANIMATION_TIME_CONFIG, visStateUpdaters.setLayerAnimationTimeConfigUpdater), _actions.ActionTypes.LAYER_FILTERED_ITEMS_CHANGE, visStateUpdaters.layerFilteredItemsChangeUpdater), _actions.ActionTypes.SYNC_TIME_FILTER_WITH_LAYER_TIMELINE, visStateUpdaters.syncTimeFilterWithLayerTimelineUpdater), _actions.ActionTypes.SYNC_TIME_FILTER_TIMELINE_MODE, visStateUpdaters.setTimeFilterTimelineModeUpdater), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_actionHandler, _actions.ActionTypes.ADD_EFFECT, visStateUpdaters.addEffectUpdater), _actions.ActionTypes.REORDER_EFFECT, visStateUpdaters.reorderEffectUpdater), _actions.ActionTypes.REMOVE_EFFECT, visStateUpdaters.removeEffectUpdater), _actions.ActionTypes.UPDATE_EFFECT, visStateUpdaters.updateEffectUpdater), _actions.ActionTypes.CREATE_NEW_DATASET_SUCCESS, visStateUpdaters.createNewDatasetSuccessUpdater), _actions.ActionTypes.SET_LOADING_INDICATOR, visStateUpdaters.setLoadingIndicatorUpdater));
24
24
 
25
25
  // construct vis-state reducer
26
26
  var visStateReducerFactory = exports.visStateReducerFactory = function visStateReducerFactory() {
@@ -33,4 +33,4 @@ var visStateReducerFactory = exports.visStateReducerFactory = function visStateR
33
33
  );
34
34
  };
35
35
  var _default = exports["default"] = visStateReducerFactory();
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWN0aW9ucyIsInJlcXVpcmUiLCJfcmVkdXhBY3Rpb25zIiwidmlzU3RhdGVVcGRhdGVycyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2FjdGlvbkhhbmRsZXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJhY3Rpb25IYW5kbGVyIiwiQWN0aW9uVHlwZXMiLCJBRERfRklMVEVSIiwiYWRkRmlsdGVyVXBkYXRlciIsIkNSRUFURV9PUl9VUERBVEVfRklMVEVSIiwiY3JlYXRlT3JVcGRhdGVGaWx0ZXJVcGRhdGVyIiwiQUREX0xBWUVSIiwiYWRkTGF5ZXJVcGRhdGVyIiwiQVBQTFlfRklMVEVSX0NPTkZJRyIsImFwcGx5RmlsdGVyQ29uZmlnVXBkYXRlciIsIkFQUExZX0xBWUVSX0NPTkZJRyIsImFwcGx5TGF5ZXJDb25maWdVcGRhdGVyIiwiRFVQTElDQVRFX0xBWUVSIiwiZHVwbGljYXRlTGF5ZXJVcGRhdGVyIiwiU0VUX0ZJTFRFUl9WSUVXIiwic2V0RmlsdGVyVmlld1VwZGF0ZXIiLCJJTlRFUkFDVElPTl9DT05GSUdfQ0hBTkdFIiwiaW50ZXJhY3Rpb25Db25maWdDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfQ0xJQ0siLCJsYXllckNsaWNrVXBkYXRlciIsIkxBWUVSX0NPTkZJR19DSEFOR0UiLCJsYXllckNvbmZpZ0NoYW5nZVVwZGF0ZXIiLCJMQVlFUl9TRVRfSVNfVkFMSUQiLCJsYXllclNldElzVmFsaWRVcGRhdGVyIiwiTEFZRVJfSE9WRVIiLCJsYXllckhvdmVyVXBkYXRlciIsIkxBWUVSX1RZUEVfQ0hBTkdFIiwibGF5ZXJUeXBlQ2hhbmdlVXBkYXRlciIsIkxBWUVSX1ZJU19DT05GSUdfQ0hBTkdFIiwibGF5ZXJWaXNDb25maWdDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfVE9HR0xFX1ZJU0lCSUxJVFkiLCJsYXllclRvZ2dsZVZpc2liaWxpdHlVcGRhdGVyIiwiTEFZRVJfVEVYVF9MQUJFTF9DSEFOR0UiLCJsYXllclRleHRMYWJlbENoYW5nZVVwZGF0ZXIiLCJMQVlFUl9WSVNVQUxfQ0hBTk5FTF9DSEFOR0UiLCJsYXllclZpc3VhbENoYW5uZWxDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfQ09MT1JfVUlfQ0hBTkdFIiwibGF5ZXJDb2xvclVJQ2hhbmdlVXBkYXRlciIsIlRPR0dMRV9MQVlFUl9BTklNQVRJT04iLCJ0b2dnbGVMYXllckFuaW1hdGlvblVwZGF0ZXIiLCJUT0dHTEVfTEFZRVJfQU5JTUFUSU9OX0NPTlRST0wiLCJ0b2dnbGVMYXllckFuaW1hdGlvbkNvbnRyb2xVcGRhdGVyIiwiTE9BRF9GSUxFUyIsImxvYWRGaWxlc1VwZGF0ZXIiLCJMT0FEX0ZJTEVTX0VSUiIsImxvYWRGaWxlc0VyclVwZGF0ZXIiLCJMT0FEX05FWFRfRklMRSIsImxvYWROZXh0RmlsZVVwZGF0ZXIiLCJMT0FEX0ZJTEVfU1RFUF9TVUNDRVNTIiwibG9hZEZpbGVTdGVwU3VjY2Vzc1VwZGF0ZXIiLCJNQVBfQ0xJQ0siLCJtYXBDbGlja1VwZGF0ZXIiLCJNT1VTRV9NT1ZFIiwibW91c2VNb3ZlVXBkYXRlciIsIlJFQ0VJVkVfTUFQX0NPTkZJRyIsInJlY2VpdmVNYXBDb25maWdVcGRhdGVyIiwiUkVNT1ZFX0RBVEFTRVQiLCJyZW1vdmVEYXRhc2V0VXBkYXRlciIsIlJFTU9WRV9GSUxURVIiLCJyZW1vdmVGaWx0ZXJVcGRhdGVyIiwiUkVNT1ZFX0xBWUVSIiwicmVtb3ZlTGF5ZXJVcGRhdGVyIiwiUkVPUkRFUl9MQVlFUiIsInJlb3JkZXJMYXllclVwZGF0ZXIiLCJSRVNFVF9NQVBfQ09ORklHIiwicmVzZXRNYXBDb25maWdVcGRhdGVyIiwiU0VUX0ZJTFRFUiIsInNldEZpbHRlclVwZGF0ZXIiLCJTRVRfRklMVEVSX0FOSU1BVElPTl9USU1FIiwic2V0RmlsdGVyQW5pbWF0aW9uVGltZVVwZGF0ZXIiLCJTRVRfRklMVEVSX0FOSU1BVElPTl9USU1FX0NPTkZJRyIsInNldEZpbHRlckFuaW1hdGlvblRpbWVDb25maWdVcGRhdGVyIiwiU0VUX0ZJTFRFUl9BTklNQVRJT05fV0lORE9XIiwic2V0RmlsdGVyQW5pbWF0aW9uV2luZG93VXBkYXRlciIsIlNFVF9GSUxURVJfUExPVCIsInNldEZpbHRlclBsb3RVcGRhdGVyIiwiU0VUX01BUF9JTkZPIiwic2V0TWFwSW5mb1VwZGF0ZXIiLCJTSE9XX0RBVEFTRVRfVEFCTEUiLCJzaG93RGF0YXNldFRhYmxlVXBkYXRlciIsIlVQREFURV9UQUJMRV9DT0xPUiIsInVwZGF0ZVRhYmxlQ29sb3JVcGRhdGVyIiwiVE9HR0xFX0ZJTFRFUl9BTklNQVRJT04iLCJ0b2dnbGVGaWx0ZXJBbmltYXRpb25VcGRhdGVyIiwiVVBEQVRFX0ZJTFRFUl9BTklNQVRJT05fU1BFRUQiLCJ1cGRhdGVGaWx0ZXJBbmltYXRpb25TcGVlZFVwZGF0ZXIiLCJTRVRfQU5JTUFUSU9OX0NPTkZJRyIsInNldEFuaW1hdGlvbkNvbmZpZ1VwZGF0ZXIiLCJTRVRfTEFZRVJfQU5JTUFUSU9OX1RJTUUiLCJzZXRMYXllckFuaW1hdGlvblRpbWVVcGRhdGVyIiwiVVBEQVRFX0xBWUVSX0FOSU1BVElPTl9TUEVFRCIsInVwZGF0ZUxheWVyQW5pbWF0aW9uU3BlZWRVcGRhdGVyIiwiVE9HR0xFX0xBWUVSX0ZPUl9NQVAiLCJ0b2dnbGVMYXllckZvck1hcFVwZGF0ZXIiLCJUT0dHTEVfU1BMSVRfTUFQIiwidG9nZ2xlU3BsaXRNYXBVcGRhdGVyIiwiVVBEQVRFX0xBWUVSX0JMRU5ESU5HIiwidXBkYXRlTGF5ZXJCbGVuZGluZ1VwZGF0ZXIiLCJVUERBVEVfT1ZFUkxBWV9CTEVORElORyIsInVwZGF0ZU92ZXJsYXlCbGVuZGluZ1VwZGF0ZXIiLCJVUERBVEVfVklTX0RBVEEiLCJ1cGRhdGVWaXNEYXRhVXBkYXRlciIsIlJFTkFNRV9EQVRBU0VUIiwicmVuYW1lRGF0YXNldFVwZGF0ZXIiLCJVUERBVEVfREFUQVNFVF9QUk9QUyIsInVwZGF0ZURhdGFzZXRQcm9wc1VwZGF0ZXIiLCJTRVRfRkVBVFVSRVMiLCJzZXRGZWF0dXJlc1VwZGF0ZXIiLCJERUxFVEVfRkVBVFVSRSIsImRlbGV0ZUZlYXR1cmVVcGRhdGVyIiwiU0VUX1BPTFlHT05fRklMVEVSX0xBWUVSIiwic2V0UG9seWdvbkZpbHRlckxheWVyVXBkYXRlciIsIlNFVF9TRUxFQ1RFRF9GRUFUVVJFIiwic2V0U2VsZWN0ZWRGZWF0dXJlVXBkYXRlciIsIlNFVF9FRElUT1JfTU9ERSIsInNldEVkaXRvck1vZGVVcGRhdGVyIiwiVE9HR0xFX0VESVRPUl9WSVNJQklMSVRZIiwidG9nZ2xlRWRpdG9yVmlzaWJpbGl0eVVwZGF0ZXIiLCJUT0dHTEVfRklMVEVSX0ZFQVRVUkUiLCJ0b2dnbGVGaWx0ZXJGZWF0dXJlVXBkYXRlciIsIkFQUExZX0NQVV9GSUxURVIiLCJhcHBseUNQVUZpbHRlclVwZGF0ZXIiLCJTT1JUX1RBQkxFX0NPTFVNTiIsInNvcnRUYWJsZUNvbHVtblVwZGF0ZXIiLCJQSU5fVEFCTEVfQ09MVU1OIiwicGluVGFibGVDb2x1bW5VcGRhdGVyIiwiQ09QWV9UQUJMRV9DT0xVTU4iLCJjb3B5VGFibGVDb2x1bW5VcGRhdGVyIiwiU0VUX0NPTFVNTl9ESVNQTEFZX0ZPUk1BVCIsInNldENvbHVtbkRpc3BsYXlGb3JtYXRVcGRhdGVyIiwiTkVYVF9GSUxFX0JBVENIIiwibmV4dEZpbGVCYXRjaFVwZGF0ZXIiLCJQUk9DRVNTX0ZJTEVfQ09OVEVOVCIsInByb2Nlc3NGaWxlQ29udGVudFVwZGF0ZXIiLCJTRVRfTEFZRVJfQU5JTUFUSU9OX1RJTUVfQ09ORklHIiwic2V0TGF5ZXJBbmltYXRpb25UaW1lQ29uZmlnVXBkYXRlciIsIkxBWUVSX0ZJTFRFUkVEX0lURU1TX0NIQU5HRSIsImxheWVyRmlsdGVyZWRJdGVtc0NoYW5nZVVwZGF0ZXIiLCJTWU5DX1RJTUVfRklMVEVSX1dJVEhfTEFZRVJfVElNRUxJTkUiLCJzeW5jVGltZUZpbHRlcldpdGhMYXllclRpbWVsaW5lVXBkYXRlciIsIlNZTkNfVElNRV9GSUxURVJfVElNRUxJTkVfTU9ERSIsInNldFRpbWVGaWx0ZXJUaW1lbGluZU1vZGVVcGRhdGVyIiwiQUREX0VGRkVDVCIsImFkZEVmZmVjdFVwZGF0ZXIiLCJSRU9SREVSX0VGRkVDVCIsInJlb3JkZXJFZmZlY3RVcGRhdGVyIiwiUkVNT1ZFX0VGRkVDVCIsInJlbW92ZUVmZmVjdFVwZGF0ZXIiLCJVUERBVEVfRUZGRUNUIiwidXBkYXRlRWZmZWN0VXBkYXRlciIsIkNSRUFURV9ORVdfREFUQVNFVF9TVUNDRVNTIiwiY3JlYXRlTmV3RGF0YXNldFN1Y2Nlc3NVcGRhdGVyIiwidmlzU3RhdGVSZWR1Y2VyRmFjdG9yeSIsImV4cG9ydHMiLCJpbml0aWFsU3RhdGUiLCJ1bmRlZmluZWQiLCJoYW5kbGVBY3Rpb25zIiwiSU5JVElBTF9WSVNfU1RBVEUiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy92aXMtc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtBY3Rpb25UeXBlc30gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7aGFuZGxlQWN0aW9uc30gZnJvbSAncmVkdXgtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyB2aXNTdGF0ZVVwZGF0ZXJzIGZyb20gJy4vdmlzLXN0YXRlLXVwZGF0ZXJzJztcblxuLyoqXG4gKiBJbXBvcnRhbnQ6IERvIG5vdCByZW5hbWUgYGFjdGlvbkhhbmRsZXJgIG9yIHRoZSBhc3NpZ25tZW50IHBhdHRlcm4gb2YgcHJvcGVydHkgdmFsdWUuXG4gKiBJdCBpcyB1c2VkIHRvIGdlbmVyYXRlIGRvY3VtZW50YXRpb25cbiAqL1xuY29uc3QgYWN0aW9uSGFuZGxlciA9IHtcbiAgW0FjdGlvblR5cGVzLkFERF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFkZEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkNSRUFURV9PUl9VUERBVEVfRklMVEVSXTogdmlzU3RhdGVVcGRhdGVycy5jcmVhdGVPclVwZGF0ZUZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMuYWRkTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BUFBMWV9GSUxURVJfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5hcHBseUZpbHRlckNvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFQUExZX0xBWUVSX0NPTkZJR106IHZpc1N0YXRlVXBkYXRlcnMuYXBwbHlMYXllckNvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkRVUExJQ0FURV9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMuZHVwbGljYXRlTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX1ZJRVddOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclZpZXdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5JTlRFUkFDVElPTl9DT05GSUdfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5pbnRlcmFjdGlvbkNvbmZpZ0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0NMSUNLXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckNsaWNrVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfQ09ORklHX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJDb25maWdDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9TRVRfSVNfVkFMSURdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyU2V0SXNWYWxpZFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0hPVkVSXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckhvdmVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfVFlQRV9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyVHlwZUNoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1ZJU19DT05GSUdfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclZpc0NvbmZpZ0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1RPR0dMRV9WSVNJQklMSVRZXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclRvZ2dsZVZpc2liaWxpdHlVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9URVhUX0xBQkVMX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJUZXh0TGFiZWxDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9WSVNVQUxfQ0hBTk5FTF9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyVmlzdWFsQ2hhbm5lbENoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0NPTE9SX1VJX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJDb2xvclVJQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0xBWUVSX0FOSU1BVElPTl06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlTGF5ZXJBbmltYXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfTEFZRVJfQU5JTUFUSU9OX0NPTlRST0xdOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUxheWVyQW5pbWF0aW9uQ29udHJvbFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfRklMRVNdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWRGaWxlc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfRklMRVNfRVJSXTogdmlzU3RhdGVVcGRhdGVycy5sb2FkRmlsZXNFcnJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX05FWFRfRklMRV06IHZpc1N0YXRlVXBkYXRlcnMubG9hZE5leHRGaWxlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9GSUxFX1NURVBfU1VDQ0VTU106IHZpc1N0YXRlVXBkYXRlcnMubG9hZEZpbGVTdGVwU3VjY2Vzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLk1BUF9DTElDS106IHZpc1N0YXRlVXBkYXRlcnMubWFwQ2xpY2tVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5NT1VTRV9NT1ZFXTogdmlzU3RhdGVVcGRhdGVycy5tb3VzZU1vdmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRUNFSVZFX01BUF9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlY2VpdmVNYXBDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfREFUQVNFVF06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlRGF0YXNldFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU9SREVSX0xBWUVSXTogdmlzU3RhdGVVcGRhdGVycy5yZW9yZGVyTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRVNFVF9NQVBfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5yZXNldE1hcENvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJfQU5JTUFUSU9OX1RJTUVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlckFuaW1hdGlvblRpbWVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX0FOSU1BVElPTl9USU1FX0NPTkZJR106XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJBbmltYXRpb25UaW1lQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0ZJTFRFUl9BTklNQVRJT05fV0lORE9XXTogdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJBbmltYXRpb25XaW5kb3dVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX1BMT1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclBsb3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfTUFQX0lORk9dOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldE1hcEluZm9VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TSE9XX0RBVEFTRVRfVEFCTEVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNob3dEYXRhc2V0VGFibGVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfVEFCTEVfQ09MT1JdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZVRhYmxlQ29sb3JVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfRklMVEVSX0FOSU1BVElPTl06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRmlsdGVyQW5pbWF0aW9uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0ZJTFRFUl9BTklNQVRJT05fU1BFRURdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUZpbHRlckFuaW1hdGlvblNwZWVkVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0FOSU1BVElPTl9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEFuaW1hdGlvbkNvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9MQVlFUl9BTklNQVRJT05fVElNRV06IHZpc1N0YXRlVXBkYXRlcnMuc2V0TGF5ZXJBbmltYXRpb25UaW1lVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0xBWUVSX0FOSU1BVElPTl9TUEVFRF06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlTGF5ZXJBbmltYXRpb25TcGVlZFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9MQVlFUl9GT1JfTUFQXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVMYXllckZvck1hcFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9TUExJVF9NQVBdOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZVNwbGl0TWFwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0xBWUVSX0JMRU5ESU5HXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVMYXllckJsZW5kaW5nVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX09WRVJMQVlfQkxFTkRJTkddOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZU92ZXJsYXlCbGVuZGluZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9WSVNfREFUQV06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlVmlzRGF0YVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTkFNRV9EQVRBU0VUXTogdmlzU3RhdGVVcGRhdGVycy5yZW5hbWVEYXRhc2V0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0RBVEFTRVRfUFJPUFNdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZURhdGFzZXRQcm9wc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GRUFUVVJFU106IHZpc1N0YXRlVXBkYXRlcnMuc2V0RmVhdHVyZXNVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5ERUxFVEVfRkVBVFVSRV06IHZpc1N0YXRlVXBkYXRlcnMuZGVsZXRlRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9QT0xZR09OX0ZJTFRFUl9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMuc2V0UG9seWdvbkZpbHRlckxheWVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX1NFTEVDVEVEX0ZFQVRVUkVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFNlbGVjdGVkRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9FRElUT1JfTU9ERV06IHZpc1N0YXRlVXBkYXRlcnMuc2V0RWRpdG9yTW9kZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9FRElUT1JfVklTSUJJTElUWV06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRWRpdG9yVmlzaWJpbGl0eVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9GSUxURVJfRkVBVFVSRV06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRmlsdGVyRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFQUExZX0NQVV9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFwcGx5Q1BVRmlsdGVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU09SVF9UQUJMRV9DT0xVTU5dOiB2aXNTdGF0ZVVwZGF0ZXJzLnNvcnRUYWJsZUNvbHVtblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlBJTl9UQUJMRV9DT0xVTU5dOiB2aXNTdGF0ZVVwZGF0ZXJzLnBpblRhYmxlQ29sdW1uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQ09QWV9UQUJMRV9DT0xVTU5dOiB2aXNTdGF0ZVVwZGF0ZXJzLmNvcHlUYWJsZUNvbHVtblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9DT0xVTU5fRElTUExBWV9GT1JNQVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldENvbHVtbkRpc3BsYXlGb3JtYXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5ORVhUX0ZJTEVfQkFUQ0hdOiB2aXNTdGF0ZVVwZGF0ZXJzLm5leHRGaWxlQmF0Y2hVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5QUk9DRVNTX0ZJTEVfQ09OVEVOVF06IHZpc1N0YXRlVXBkYXRlcnMucHJvY2Vzc0ZpbGVDb250ZW50VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0xBWUVSX0FOSU1BVElPTl9USU1FX0NPTkZJR106XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zZXRMYXllckFuaW1hdGlvblRpbWVDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9GSUxURVJFRF9JVEVNU19DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyRmlsdGVyZWRJdGVtc0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNZTkNfVElNRV9GSUxURVJfV0lUSF9MQVlFUl9USU1FTElORV06XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zeW5jVGltZUZpbHRlcldpdGhMYXllclRpbWVsaW5lVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU1lOQ19USU1FX0ZJTFRFUl9USU1FTElORV9NT0RFXTogdmlzU3RhdGVVcGRhdGVycy5zZXRUaW1lRmlsdGVyVGltZWxpbmVNb2RlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQUREX0VGRkVDVF06IHZpc1N0YXRlVXBkYXRlcnMuYWRkRWZmZWN0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVPUkRFUl9FRkZFQ1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlb3JkZXJFZmZlY3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfRUZGRUNUXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVFZmZlY3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfRUZGRUNUXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVFZmZlY3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5DUkVBVEVfTkVXX0RBVEFTRVRfU1VDQ0VTU106IHZpc1N0YXRlVXBkYXRlcnMuY3JlYXRlTmV3RGF0YXNldFN1Y2Nlc3NVcGRhdGVyXG59O1xuXG4vLyBjb25zdHJ1Y3QgdmlzLXN0YXRlIHJlZHVjZXJcbmV4cG9ydCBjb25zdCB2aXNTdGF0ZVJlZHVjZXJGYWN0b3J5ID0gKGluaXRpYWxTdGF0ZSA9IHt9KSA9PlxuICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gIGhhbmRsZUFjdGlvbnMoYWN0aW9uSGFuZGxlciwge1xuICAgIC4uLnZpc1N0YXRlVXBkYXRlcnMuSU5JVElBTF9WSVNfU1RBVEUsXG4gICAgLi4uaW5pdGlhbFN0YXRlLFxuICAgIGluaXRpYWxTdGF0ZVxuICB9KTtcblxuZXhwb3J0IGRlZmF1bHQgdmlzU3RhdGVSZWR1Y2VyRmFjdG9yeSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFHQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxnQkFBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQXlELElBQUFJLGNBQUEsRUFMekQ7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBSCx3QkFBQUcsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxH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
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWN0aW9ucyIsInJlcXVpcmUiLCJfcmVkdXhBY3Rpb25zIiwidmlzU3RhdGVVcGRhdGVycyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2FjdGlvbkhhbmRsZXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJhY3Rpb25IYW5kbGVyIiwiQWN0aW9uVHlwZXMiLCJBRERfRklMVEVSIiwiYWRkRmlsdGVyVXBkYXRlciIsIkNSRUFURV9PUl9VUERBVEVfRklMVEVSIiwiY3JlYXRlT3JVcGRhdGVGaWx0ZXJVcGRhdGVyIiwiQUREX0xBWUVSIiwiYWRkTGF5ZXJVcGRhdGVyIiwiQVBQTFlfRklMVEVSX0NPTkZJRyIsImFwcGx5RmlsdGVyQ29uZmlnVXBkYXRlciIsIkFQUExZX0xBWUVSX0NPTkZJRyIsImFwcGx5TGF5ZXJDb25maWdVcGRhdGVyIiwiRFVQTElDQVRFX0xBWUVSIiwiZHVwbGljYXRlTGF5ZXJVcGRhdGVyIiwiU0VUX0ZJTFRFUl9WSUVXIiwic2V0RmlsdGVyVmlld1VwZGF0ZXIiLCJJTlRFUkFDVElPTl9DT05GSUdfQ0hBTkdFIiwiaW50ZXJhY3Rpb25Db25maWdDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfQ0xJQ0siLCJsYXllckNsaWNrVXBkYXRlciIsIkxBWUVSX0NPTkZJR19DSEFOR0UiLCJsYXllckNvbmZpZ0NoYW5nZVVwZGF0ZXIiLCJMQVlFUl9TRVRfSVNfVkFMSUQiLCJsYXllclNldElzVmFsaWRVcGRhdGVyIiwiTEFZRVJfSE9WRVIiLCJsYXllckhvdmVyVXBkYXRlciIsIkxBWUVSX1RZUEVfQ0hBTkdFIiwibGF5ZXJUeXBlQ2hhbmdlVXBkYXRlciIsIkxBWUVSX1ZJU19DT05GSUdfQ0hBTkdFIiwibGF5ZXJWaXNDb25maWdDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfVE9HR0xFX1ZJU0lCSUxJVFkiLCJsYXllclRvZ2dsZVZpc2liaWxpdHlVcGRhdGVyIiwiTEFZRVJfVEVYVF9MQUJFTF9DSEFOR0UiLCJsYXllclRleHRMYWJlbENoYW5nZVVwZGF0ZXIiLCJMQVlFUl9WSVNVQUxfQ0hBTk5FTF9DSEFOR0UiLCJsYXllclZpc3VhbENoYW5uZWxDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfQ09MT1JfVUlfQ0hBTkdFIiwibGF5ZXJDb2xvclVJQ2hhbmdlVXBkYXRlciIsIlRPR0dMRV9MQVlFUl9BTklNQVRJT04iLCJ0b2dnbGVMYXllckFuaW1hdGlvblVwZGF0ZXIiLCJUT0dHTEVfTEFZRVJfQU5JTUFUSU9OX0NPTlRST0wiLCJ0b2dnbGVMYXllckFuaW1hdGlvbkNvbnRyb2xVcGRhdGVyIiwiTE9BRF9GSUxFUyIsImxvYWRGaWxlc1VwZGF0ZXIiLCJMT0FEX0ZJTEVTX0VSUiIsImxvYWRGaWxlc0VyclVwZGF0ZXIiLCJMT0FEX05FWFRfRklMRSIsImxvYWROZXh0RmlsZVVwZGF0ZXIiLCJMT0FEX0ZJTEVfU1RFUF9TVUNDRVNTIiwibG9hZEZpbGVTdGVwU3VjY2Vzc1VwZGF0ZXIiLCJNQVBfQ0xJQ0siLCJtYXBDbGlja1VwZGF0ZXIiLCJNT1VTRV9NT1ZFIiwibW91c2VNb3ZlVXBkYXRlciIsIlJFQ0VJVkVfTUFQX0NPTkZJRyIsInJlY2VpdmVNYXBDb25maWdVcGRhdGVyIiwiUkVNT1ZFX0RBVEFTRVQiLCJyZW1vdmVEYXRhc2V0VXBkYXRlciIsIlJFTU9WRV9GSUxURVIiLCJyZW1vdmVGaWx0ZXJVcGRhdGVyIiwiUkVNT1ZFX0xBWUVSIiwicmVtb3ZlTGF5ZXJVcGRhdGVyIiwiUkVPUkRFUl9MQVlFUiIsInJlb3JkZXJMYXllclVwZGF0ZXIiLCJSRVNFVF9NQVBfQ09ORklHIiwicmVzZXRNYXBDb25maWdVcGRhdGVyIiwiU0VUX0ZJTFRFUiIsInNldEZpbHRlclVwZGF0ZXIiLCJTRVRfRklMVEVSX0FOSU1BVElPTl9USU1FIiwic2V0RmlsdGVyQW5pbWF0aW9uVGltZVVwZGF0ZXIiLCJTRVRfRklMVEVSX0FOSU1BVElPTl9USU1FX0NPTkZJRyIsInNldEZpbHRlckFuaW1hdGlvblRpbWVDb25maWdVcGRhdGVyIiwiU0VUX0ZJTFRFUl9BTklNQVRJT05fV0lORE9XIiwic2V0RmlsdGVyQW5pbWF0aW9uV2luZG93VXBkYXRlciIsIlNFVF9GSUxURVJfUExPVCIsInNldEZpbHRlclBsb3RVcGRhdGVyIiwiU0VUX01BUF9JTkZPIiwic2V0TWFwSW5mb1VwZGF0ZXIiLCJTSE9XX0RBVEFTRVRfVEFCTEUiLCJzaG93RGF0YXNldFRhYmxlVXBkYXRlciIsIlVQREFURV9UQUJMRV9DT0xPUiIsInVwZGF0ZVRhYmxlQ29sb3JVcGRhdGVyIiwiVE9HR0xFX0ZJTFRFUl9BTklNQVRJT04iLCJ0b2dnbGVGaWx0ZXJBbmltYXRpb25VcGRhdGVyIiwiVVBEQVRFX0ZJTFRFUl9BTklNQVRJT05fU1BFRUQiLCJ1cGRhdGVGaWx0ZXJBbmltYXRpb25TcGVlZFVwZGF0ZXIiLCJTRVRfQU5JTUFUSU9OX0NPTkZJRyIsInNldEFuaW1hdGlvbkNvbmZpZ1VwZGF0ZXIiLCJTRVRfTEFZRVJfQU5JTUFUSU9OX1RJTUUiLCJzZXRMYXllckFuaW1hdGlvblRpbWVVcGRhdGVyIiwiVVBEQVRFX0xBWUVSX0FOSU1BVElPTl9TUEVFRCIsInVwZGF0ZUxheWVyQW5pbWF0aW9uU3BlZWRVcGRhdGVyIiwiVE9HR0xFX0xBWUVSX0ZPUl9NQVAiLCJ0b2dnbGVMYXllckZvck1hcFVwZGF0ZXIiLCJUT0dHTEVfU1BMSVRfTUFQIiwidG9nZ2xlU3BsaXRNYXBVcGRhdGVyIiwiVVBEQVRFX0xBWUVSX0JMRU5ESU5HIiwidXBkYXRlTGF5ZXJCbGVuZGluZ1VwZGF0ZXIiLCJVUERBVEVfT1ZFUkxBWV9CTEVORElORyIsInVwZGF0ZU92ZXJsYXlCbGVuZGluZ1VwZGF0ZXIiLCJVUERBVEVfVklTX0RBVEEiLCJ1cGRhdGVWaXNEYXRhVXBkYXRlciIsIlJFTkFNRV9EQVRBU0VUIiwicmVuYW1lRGF0YXNldFVwZGF0ZXIiLCJVUERBVEVfREFUQVNFVF9QUk9QUyIsInVwZGF0ZURhdGFzZXRQcm9wc1VwZGF0ZXIiLCJTRVRfRkVBVFVSRVMiLCJzZXRGZWF0dXJlc1VwZGF0ZXIiLCJERUxFVEVfRkVBVFVSRSIsImRlbGV0ZUZlYXR1cmVVcGRhdGVyIiwiU0VUX1BPTFlHT05fRklMVEVSX0xBWUVSIiwic2V0UG9seWdvbkZpbHRlckxheWVyVXBkYXRlciIsIlNFVF9TRUxFQ1RFRF9GRUFUVVJFIiwic2V0U2VsZWN0ZWRGZWF0dXJlVXBkYXRlciIsIlNFVF9FRElUT1JfTU9ERSIsInNldEVkaXRvck1vZGVVcGRhdGVyIiwiVE9HR0xFX0VESVRPUl9WSVNJQklMSVRZIiwidG9nZ2xlRWRpdG9yVmlzaWJpbGl0eVVwZGF0ZXIiLCJUT0dHTEVfRklMVEVSX0ZFQVRVUkUiLCJ0b2dnbGVGaWx0ZXJGZWF0dXJlVXBkYXRlciIsIkFQUExZX0NQVV9GSUxURVIiLCJhcHBseUNQVUZpbHRlclVwZGF0ZXIiLCJTT1JUX1RBQkxFX0NPTFVNTiIsInNvcnRUYWJsZUNvbHVtblVwZGF0ZXIiLCJQSU5fVEFCTEVfQ09MVU1OIiwicGluVGFibGVDb2x1bW5VcGRhdGVyIiwiQ09QWV9UQUJMRV9DT0xVTU4iLCJjb3B5VGFibGVDb2x1bW5VcGRhdGVyIiwiU0VUX0NPTFVNTl9ESVNQTEFZX0ZPUk1BVCIsInNldENvbHVtbkRpc3BsYXlGb3JtYXRVcGRhdGVyIiwiTkVYVF9GSUxFX0JBVENIIiwibmV4dEZpbGVCYXRjaFVwZGF0ZXIiLCJQUk9DRVNTX0ZJTEVfQ09OVEVOVCIsInByb2Nlc3NGaWxlQ29udGVudFVwZGF0ZXIiLCJTRVRfTEFZRVJfQU5JTUFUSU9OX1RJTUVfQ09ORklHIiwic2V0TGF5ZXJBbmltYXRpb25UaW1lQ29uZmlnVXBkYXRlciIsIkxBWUVSX0ZJTFRFUkVEX0lURU1TX0NIQU5HRSIsImxheWVyRmlsdGVyZWRJdGVtc0NoYW5nZVVwZGF0ZXIiLCJTWU5DX1RJTUVfRklMVEVSX1dJVEhfTEFZRVJfVElNRUxJTkUiLCJzeW5jVGltZUZpbHRlcldpdGhMYXllclRpbWVsaW5lVXBkYXRlciIsIlNZTkNfVElNRV9GSUxURVJfVElNRUxJTkVfTU9ERSIsInNldFRpbWVGaWx0ZXJUaW1lbGluZU1vZGVVcGRhdGVyIiwiQUREX0VGRkVDVCIsImFkZEVmZmVjdFVwZGF0ZXIiLCJSRU9SREVSX0VGRkVDVCIsInJlb3JkZXJFZmZlY3RVcGRhdGVyIiwiUkVNT1ZFX0VGRkVDVCIsInJlbW92ZUVmZmVjdFVwZGF0ZXIiLCJVUERBVEVfRUZGRUNUIiwidXBkYXRlRWZmZWN0VXBkYXRlciIsIkNSRUFURV9ORVdfREFUQVNFVF9TVUNDRVNTIiwiY3JlYXRlTmV3RGF0YXNldFN1Y2Nlc3NVcGRhdGVyIiwiU0VUX0xPQURJTkdfSU5ESUNBVE9SIiwic2V0TG9hZGluZ0luZGljYXRvclVwZGF0ZXIiLCJ2aXNTdGF0ZVJlZHVjZXJGYWN0b3J5IiwiZXhwb3J0cyIsImluaXRpYWxTdGF0ZSIsInVuZGVmaW5lZCIsImhhbmRsZUFjdGlvbnMiLCJJTklUSUFMX1ZJU19TVEFURSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vc3JjL3Zpcy1zdGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge0FjdGlvblR5cGVzfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtoYW5kbGVBY3Rpb25zfSBmcm9tICdyZWR1eC1hY3Rpb25zJztcbmltcG9ydCAqIGFzIHZpc1N0YXRlVXBkYXRlcnMgZnJvbSAnLi92aXMtc3RhdGUtdXBkYXRlcnMnO1xuXG4vKipcbiAqIEltcG9ydGFudDogRG8gbm90IHJlbmFtZSBgYWN0aW9uSGFuZGxlcmAgb3IgdGhlIGFzc2lnbm1lbnQgcGF0dGVybiBvZiBwcm9wZXJ0eSB2YWx1ZS5cbiAqIEl0IGlzIHVzZWQgdG8gZ2VuZXJhdGUgZG9jdW1lbnRhdGlvblxuICovXG5jb25zdCBhY3Rpb25IYW5kbGVyID0ge1xuICBbQWN0aW9uVHlwZXMuQUREX0ZJTFRFUl06IHZpc1N0YXRlVXBkYXRlcnMuYWRkRmlsdGVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQ1JFQVRFX09SX1VQREFURV9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmNyZWF0ZU9yVXBkYXRlRmlsdGVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQUREX0xBWUVSXTogdmlzU3RhdGVVcGRhdGVycy5hZGRMYXllclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFQUExZX0ZJTFRFUl9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLmFwcGx5RmlsdGVyQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQVBQTFlfTEFZRVJfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5hcHBseUxheWVyQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuRFVQTElDQVRFX0xBWUVSXTogdmlzU3RhdGVVcGRhdGVycy5kdXBsaWNhdGVMYXllclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJfVklFV106IHZpc1N0YXRlVXBkYXRlcnMuc2V0RmlsdGVyVmlld1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLklOVEVSQUNUSU9OX0NPTkZJR19DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmludGVyYWN0aW9uQ29uZmlnQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfQ0xJQ0tdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyQ2xpY2tVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9DT05GSUdfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckNvbmZpZ0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1NFVF9JU19WQUxJRF06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJTZXRJc1ZhbGlkVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfSE9WRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVySG92ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9UWVBFX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJUeXBlQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfVklTX0NPTkZJR19DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyVmlzQ29uZmlnQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfVE9HR0xFX1ZJU0lCSUxJVFldOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyVG9nZ2xlVmlzaWJpbGl0eVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1RFWFRfTEFCRUxfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllclRleHRMYWJlbENoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1ZJU1VBTF9DSEFOTkVMX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJWaXN1YWxDaGFubmVsQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfQ09MT1JfVUlfQ0hBTkdFXTogdmlzU3RhdGVVcGRhdGVycy5sYXllckNvbG9yVUlDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfTEFZRVJfQU5JTUFUSU9OXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVMYXllckFuaW1hdGlvblVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9MQVlFUl9BTklNQVRJT05fQ09OVFJPTF06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlTGF5ZXJBbmltYXRpb25Db250cm9sVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9GSUxFU106IHZpc1N0YXRlVXBkYXRlcnMubG9hZEZpbGVzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9GSUxFU19FUlJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWRGaWxlc0VyclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfTkVYVF9GSUxFXTogdmlzU3RhdGVVcGRhdGVycy5sb2FkTmV4dEZpbGVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MT0FEX0ZJTEVfU1RFUF9TVUNDRVNTXTogdmlzU3RhdGVVcGRhdGVycy5sb2FkRmlsZVN0ZXBTdWNjZXNzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTUFQX0NMSUNLXTogdmlzU3RhdGVVcGRhdGVycy5tYXBDbGlja1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLk1PVVNFX01PVkVdOiB2aXNTdGF0ZVVwZGF0ZXJzLm1vdXNlTW92ZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFQ0VJVkVfTUFQX0NPTkZJR106IHZpc1N0YXRlVXBkYXRlcnMucmVjZWl2ZU1hcENvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9EQVRBU0VUXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVEYXRhc2V0VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVNT1ZFX0ZJTFRFUl06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlRmlsdGVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVNT1ZFX0xBWUVSXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVMYXllclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFT1JERVJfTEFZRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlb3JkZXJMYXllclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFU0VUX01BUF9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlc2V0TWFwQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0ZJTFRFUl06IHZpc1N0YXRlVXBkYXRlcnMuc2V0RmlsdGVyVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0ZJTFRFUl9BTklNQVRJT05fVElNRV06IHZpc1N0YXRlVXBkYXRlcnMuc2V0RmlsdGVyQW5pbWF0aW9uVGltZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJfQU5JTUFUSU9OX1RJTUVfQ09ORklHXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlckFuaW1hdGlvblRpbWVDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX0FOSU1BVElPTl9XSU5ET1ddOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlckFuaW1hdGlvbldpbmRvd1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJfUExPVF06IHZpc1N0YXRlVXBkYXRlcnMuc2V0RmlsdGVyUGxvdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9NQVBfSU5GT106IHZpc1N0YXRlVXBkYXRlcnMuc2V0TWFwSW5mb1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNIT1dfREFUQVNFVF9UQUJMRV06IHZpc1N0YXRlVXBkYXRlcnMuc2hvd0RhdGFzZXRUYWJsZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9UQUJMRV9DT0xPUl06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlVGFibGVDb2xvclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9GSUxURVJfQU5JTUFUSU9OXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVGaWx0ZXJBbmltYXRpb25VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfRklMVEVSX0FOSU1BVElPTl9TUEVFRF06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlRmlsdGVyQW5pbWF0aW9uU3BlZWRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfQU5JTUFUSU9OX0NPTkZJR106IHZpc1N0YXRlVXBkYXRlcnMuc2V0QW5pbWF0aW9uQ29uZmlnVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0xBWUVSX0FOSU1BVElPTl9USU1FXTogdmlzU3RhdGVVcGRhdGVycy5zZXRMYXllckFuaW1hdGlvblRpbWVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfTEFZRVJfQU5JTUFUSU9OX1NQRUVEXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVMYXllckFuaW1hdGlvblNwZWVkVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0xBWUVSX0ZPUl9NQVBdOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUxheWVyRm9yTWFwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX1NQTElUX01BUF06IHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlU3BsaXRNYXBVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfTEFZRVJfQkxFTkRJTkddOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUxheWVyQmxlbmRpbmdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfT1ZFUkxBWV9CTEVORElOR106IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlT3ZlcmxheUJsZW5kaW5nVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX1ZJU19EQVRBXTogdmlzU3RhdGVVcGRhdGVycy51cGRhdGVWaXNEYXRhVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUkVOQU1FX0RBVEFTRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbmFtZURhdGFzZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfREFUQVNFVF9QUk9QU106IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlRGF0YXNldFByb3BzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0ZFQVRVUkVTXTogdmlzU3RhdGVVcGRhdGVycy5zZXRGZWF0dXJlc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkRFTEVURV9GRUFUVVJFXTogdmlzU3RhdGVVcGRhdGVycy5kZWxldGVGZWF0dXJlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX1BPTFlHT05fRklMVEVSX0xBWUVSXTogdmlzU3RhdGVVcGRhdGVycy5zZXRQb2x5Z29uRmlsdGVyTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfU0VMRUNURURfRkVBVFVSRV06IHZpc1N0YXRlVXBkYXRlcnMuc2V0U2VsZWN0ZWRGZWF0dXJlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0VESVRPUl9NT0RFXTogdmlzU3RhdGVVcGRhdGVycy5zZXRFZGl0b3JNb2RlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0VESVRPUl9WSVNJQklMSVRZXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVFZGl0b3JWaXNpYmlsaXR5VXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0ZJTFRFUl9GRUFUVVJFXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVGaWx0ZXJGZWF0dXJlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuQVBQTFlfQ1BVX0ZJTFRFUl06IHZpc1N0YXRlVXBkYXRlcnMuYXBwbHlDUFVGaWx0ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TT1JUX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMuc29ydFRhYmxlQ29sdW1uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuUElOX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMucGluVGFibGVDb2x1bW5VcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5DT1BZX1RBQkxFX0NPTFVNTl06IHZpc1N0YXRlVXBkYXRlcnMuY29weVRhYmxlQ29sdW1uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX0NPTFVNTl9ESVNQTEFZX0ZPUk1BVF06IHZpc1N0YXRlVXBkYXRlcnMuc2V0Q29sdW1uRGlzcGxheUZvcm1hdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLk5FWFRfRklMRV9CQVRDSF06IHZpc1N0YXRlVXBkYXRlcnMubmV4dEZpbGVCYXRjaFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlBST0NFU1NfRklMRV9DT05URU5UXTogdmlzU3RhdGVVcGRhdGVycy5wcm9jZXNzRmlsZUNvbnRlbnRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfTEFZRVJfQU5JTUFUSU9OX1RJTUVfQ09ORklHXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLnNldExheWVyQW5pbWF0aW9uVGltZUNvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0ZJTFRFUkVEX0lURU1TX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJGaWx0ZXJlZEl0ZW1zQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU1lOQ19USU1FX0ZJTFRFUl9XSVRIX0xBWUVSX1RJTUVMSU5FXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLnN5bmNUaW1lRmlsdGVyV2l0aExheWVyVGltZWxpbmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TWU5DX1RJTUVfRklMVEVSX1RJTUVMSU5FX01PREVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldFRpbWVGaWx0ZXJUaW1lbGluZU1vZGVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BRERfRUZGRUNUXTogdmlzU3RhdGVVcGRhdGVycy5hZGRFZmZlY3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU9SREVSX0VGRkVDVF06IHZpc1N0YXRlVXBkYXRlcnMucmVvcmRlckVmZmVjdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9FRkZFQ1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUVmZmVjdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9FRkZFQ1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUVmZmVjdFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkNSRUFURV9ORVdfREFUQVNFVF9TVUNDRVNTXTogdmlzU3RhdGVVcGRhdGVycy5jcmVhdGVOZXdEYXRhc2V0U3VjY2Vzc1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9MT0FESU5HX0lORElDQVRPUl06IHZpc1N0YXRlVXBkYXRlcnMuc2V0TG9hZGluZ0luZGljYXRvclVwZGF0ZXJcbn07XG5cbi8vIGNvbnN0cnVjdCB2aXMtc3RhdGUgcmVkdWNlclxuZXhwb3J0IGNvbnN0IHZpc1N0YXRlUmVkdWNlckZhY3RvcnkgPSAoaW5pdGlhbFN0YXRlID0ge30pID0+XG4gIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgaGFuZGxlQWN0aW9ucyhhY3Rpb25IYW5kbGVyLCB7XG4gICAgLi4udmlzU3RhdGVVcGRhdGVycy5JTklUSUFMX1ZJU19TVEFURSxcbiAgICAuLi5pbml0aWFsU3RhdGUsXG4gICAgaW5pdGlhbFN0YXRlXG4gIH0pO1xuXG5leHBvcnQgZGVmYXVsdCB2aXNTdGF0ZVJlZHVjZXJGYWN0b3J5KCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFBeUQsSUFBQUksY0FBQSxFQUx6RDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFILHdCQUFBRyxD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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kepler.gl/reducers",
3
3
  "author": "Shan He <shan@uber.com>",
4
- "version": "3.1.7",
4
+ "version": "3.1.8",
5
5
  "description": "kepler.gl constants used by kepler.gl components, actions and reducers",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
@@ -30,21 +30,21 @@
30
30
  "umd"
31
31
  ],
32
32
  "dependencies": {
33
- "@kepler.gl/actions": "3.1.7",
34
- "@kepler.gl/cloud-providers": "3.1.7",
35
- "@kepler.gl/common-utils": "3.1.7",
36
- "@kepler.gl/constants": "3.1.7",
37
- "@kepler.gl/deckgl-arrow-layers": "3.1.7",
38
- "@kepler.gl/deckgl-layers": "3.1.7",
39
- "@kepler.gl/effects": "3.1.7",
40
- "@kepler.gl/layers": "3.1.7",
41
- "@kepler.gl/localization": "3.1.7",
42
- "@kepler.gl/processors": "3.1.7",
43
- "@kepler.gl/schemas": "3.1.7",
44
- "@kepler.gl/table": "3.1.7",
45
- "@kepler.gl/tasks": "3.1.7",
46
- "@kepler.gl/types": "3.1.7",
47
- "@kepler.gl/utils": "3.1.7",
33
+ "@kepler.gl/actions": "3.1.8",
34
+ "@kepler.gl/cloud-providers": "3.1.8",
35
+ "@kepler.gl/common-utils": "3.1.8",
36
+ "@kepler.gl/constants": "3.1.8",
37
+ "@kepler.gl/deckgl-arrow-layers": "3.1.8",
38
+ "@kepler.gl/deckgl-layers": "3.1.8",
39
+ "@kepler.gl/effects": "3.1.8",
40
+ "@kepler.gl/layers": "3.1.8",
41
+ "@kepler.gl/localization": "3.1.8",
42
+ "@kepler.gl/processors": "3.1.8",
43
+ "@kepler.gl/schemas": "3.1.8",
44
+ "@kepler.gl/table": "3.1.8",
45
+ "@kepler.gl/tasks": "3.1.8",
46
+ "@kepler.gl/types": "3.1.8",
47
+ "@kepler.gl/utils": "3.1.8",
48
48
  "@loaders.gl/loader-utils": "^4.3.2",
49
49
  "@mapbox/geo-viewport": "^0.4.1",
50
50
  "@math.gl/web-mercator": "^3.6.2",
@@ -183,6 +183,7 @@ export const addDataToMapUpdater = (
183
183
 
184
184
  return compose_<KeplerGlState>([
185
185
  pick_('visState')(
186
+ // this part can be async
186
187
  apply_<VisState, any>(visStateUpdateVisDataUpdater, {
187
188
  datasets,
188
189
  options,
@@ -925,27 +925,3 @@ export const togglePanelListViewUpdater = (
925
925
  [stateProp]: listView
926
926
  };
927
927
  };
928
-
929
- /**
930
- * Update state of the loading indicator.
931
- * @memberof uiStateUpdaters
932
- * @param state uiState
933
- * @param action
934
- * @param action.payload Payload with change of number of active loading actions.
935
- * @returns nextState
936
- * @public
937
- */
938
- export const setLoadingIndicatorUpdater = (
939
- state: UiState,
940
- {payload: {change}}: UIStateActions.SetLoadingIndicatorAction
941
- ): UiState => {
942
- let {loadingIndicatorValue} = state;
943
- if (!loadingIndicatorValue) {
944
- loadingIndicatorValue = 0;
945
- }
946
-
947
- return {
948
- ...state,
949
- loadingIndicatorValue: Math.max(loadingIndicatorValue + change, 0)
950
- };
951
- };
@@ -44,9 +44,7 @@ const actionHandler = {
44
44
  [ActionTypes.TOGGLE_SPLIT_MAP]: uiStateUpdaters.toggleSplitMapUpdater,
45
45
  [ActionTypes.SHOW_DATASET_TABLE]: uiStateUpdaters.showDatasetTableUpdater,
46
46
  [ActionTypes.SET_LOCALE]: uiStateUpdaters.setLocaleUpdater,
47
- [ActionTypes.TOGGLE_PANEL_LIST_VIEW]: uiStateUpdaters.togglePanelListViewUpdater,
48
-
49
- [ActionTypes.SET_LOADING_INDICATOR]: uiStateUpdaters.setLoadingIndicatorUpdater
47
+ [ActionTypes.TOGGLE_PANEL_LIST_VIEW]: uiStateUpdaters.togglePanelListViewUpdater
50
48
  };
51
49
 
52
50
  /* Reducer */
@@ -42,9 +42,9 @@ import {
42
42
  setFilter,
43
43
  processFileContent,
44
44
  fitBounds as fitMapBounds,
45
- setLoadingIndicator,
46
45
  toggleLayerForMap,
47
- applyFilterConfig
46
+ applyFilterConfig,
47
+ SetLoadingIndicatorPayload
48
48
  } from '@kepler.gl/actions';
49
49
 
50
50
  // Utils
@@ -102,6 +102,7 @@ import {
102
102
  compose_,
103
103
  filterOutById,
104
104
  merge_,
105
+ payload_,
105
106
  pick_,
106
107
  removeElementAtIndex,
107
108
  swap_
@@ -323,6 +324,8 @@ export const INITIAL_VIS_STATE: VisState = {
323
324
 
324
325
  fileLoading: false,
325
326
  fileLoadingProgress: {},
327
+ // for loading datasets
328
+ loadingIndicatorValue: 0,
326
329
 
327
330
  loaders: [],
328
331
  loadOptions: {},
@@ -334,6 +337,18 @@ export const INITIAL_VIS_STATE: VisState = {
334
337
  schema: KeplerGLSchema
335
338
  };
336
339
 
340
+ export const ACTION_TASK_FIT_BOUNDS = Task.fromCallback(
341
+ (_, cb) => cb(),
342
+
343
+ 'ACTION_TASK_FIT_BOUNDS'
344
+ );
345
+
346
+ export const ACTION_TASK_ADD_NOTIFICATION = Task.fromCallback(
347
+ (_, cb) => cb(),
348
+
349
+ 'ACTION_TASK_ADD_NOTIFICATION'
350
+ );
351
+
337
352
  type UpdateStateWithLayerAndDataType = {
338
353
  layers: Layer[];
339
354
  layerData: any[];
@@ -2356,7 +2371,7 @@ export const updateVisDataUpdater = (
2356
2371
  createDatasetTasks.push(task);
2357
2372
  } else {
2358
2373
  notificationTasks.push(
2359
- ACTION_TASK().map(() =>
2374
+ ACTION_TASK_ADD_NOTIFICATION().map(() =>
2360
2375
  addNotification(
2361
2376
  errorNotification({
2362
2377
  message: `Failed to create a new dataset due to data verification errors`,
@@ -2375,11 +2390,7 @@ export const updateVisDataUpdater = (
2375
2390
  : null;
2376
2391
 
2377
2392
  if (datasetsAllSettledTask) {
2378
- // indicate that something is in progress
2379
- const setIsLoadingTask = ACTION_TASK().map(() => {
2380
- return setLoadingIndicator({change: 1});
2381
- });
2382
- updatedState = withTask(updatedState, setIsLoadingTask);
2393
+ updatedState = setLoadingIndicatorUpdater(updatedState, payload_({change: 1, type: ''}));
2383
2394
  }
2384
2395
 
2385
2396
  return withTask(updatedState, [
@@ -2392,17 +2403,25 @@ export const createNewDatasetSuccessUpdater = (
2392
2403
  state: VisState,
2393
2404
  action: PayloadAction<CreateNewDatasetSuccessPayload>
2394
2405
  ): VisState => {
2395
- // console.log('createNewDatasetSuccessUpdater', action.payload);
2396
2406
  const {results, addToMapOptions} = action.payload;
2397
- const newDataEntries = results.reduce((accu, result) => {
2407
+ const notificationTasks: Task[] = [];
2408
+
2409
+ const newDataEntries = results.reduce((accu, result, idx) => {
2398
2410
  if (result.status === 'fulfilled') {
2399
2411
  const dataset = result.value;
2400
2412
  return {...accu, [dataset.id]: dataset};
2401
2413
  } else {
2402
- // handle create dataset error
2403
- console.error(
2404
- 'createNewDatasetSuccessUpdater: failed',
2405
- result.reason || (result as any).value
2414
+ // show error notification on UI
2415
+ notificationTasks.push(
2416
+ ACTION_TASK().map(() =>
2417
+ addNotification(
2418
+ errorNotification({
2419
+ message: `Dataset error: Failed to create a new dataset:
2420
+ ${result.reason || (result as any).value}`,
2421
+ id: `dataset-create-failed-${idx}`
2422
+ })
2423
+ )
2424
+ )
2406
2425
  );
2407
2426
  return accu;
2408
2427
  }
@@ -2429,11 +2448,10 @@ export const createNewDatasetSuccessUpdater = (
2429
2448
  postMergerPayload
2430
2449
  });
2431
2450
 
2432
- // resolve active loading initiated by updateVisDataUpdater
2433
- const setIsLoadingTask = ACTION_TASK().map(() => {
2434
- return setLoadingIndicator({change: -1});
2435
- });
2436
- return withTask(updatedState, setIsLoadingTask);
2451
+ return withTask(
2452
+ setLoadingIndicatorUpdater(updatedState, payload_({change: -1})),
2453
+ notificationTasks
2454
+ );
2437
2455
  };
2438
2456
 
2439
2457
  /**
@@ -2546,13 +2564,14 @@ function postMergeUpdater(mergedState: VisState, postMergerPayload: PostMergerPa
2546
2564
  if (newLayers.length && (options || {}).centerMap) {
2547
2565
  const bounds = findMapBounds(newLayers);
2548
2566
  if (bounds) {
2549
- const fitBoundsTask = ACTION_TASK().map(() => {
2567
+ const fitBoundsTask = ACTION_TASK_FIT_BOUNDS().map(() => {
2550
2568
  return fitMapBounds(bounds);
2551
2569
  });
2552
2570
  updatedState = withTask(updatedState, fitBoundsTask);
2553
2571
  }
2554
2572
  }
2555
2573
 
2574
+ // need to center map here if we have new layers
2556
2575
  return updatedState;
2557
2576
  }
2558
2577
 
@@ -3162,12 +3181,21 @@ export const setSelectedFeatureUpdater = (
3162
3181
  {feature, selectionContext}: VisStateActions.SetSelectedFeatureUpdaterAction
3163
3182
  ): VisState => {
3164
3183
  // add bbox for polygon filter to speed up filtering
3165
- if (feature && feature.properties) feature.properties.bbox = bbox(feature);
3184
+ let selectedFeature = feature;
3185
+ if (feature?.properties) {
3186
+ selectedFeature = {
3187
+ ...feature,
3188
+ properties: {
3189
+ ...feature.properties,
3190
+ bbox: bbox(feature)
3191
+ }
3192
+ };
3193
+ }
3166
3194
  return {
3167
3195
  ...state,
3168
3196
  editor: {
3169
3197
  ...state.editor,
3170
- selectedFeature: feature,
3198
+ selectedFeature,
3171
3199
  selectionContext
3172
3200
  }
3173
3201
  };
@@ -3651,6 +3679,30 @@ export function setTimeFilterTimelineModeUpdater<S extends VisState>(
3651
3679
  return adjustAnimationConfigWithFilter(newState, filterIdx);
3652
3680
  }
3653
3681
 
3682
+ /**
3683
+ * Update state of the loading indicator.
3684
+ * @memberof visStateUpdaters
3685
+ * @param state visState
3686
+ * @param action
3687
+ * @param action.payload Payload with change of number of active loading actions.
3688
+ * @returns nextState
3689
+ * @public
3690
+ */
3691
+ export const setLoadingIndicatorUpdater = (
3692
+ state: VisState,
3693
+ {payload: {change}}: {payload: SetLoadingIndicatorPayload}
3694
+ ): VisState => {
3695
+ let {loadingIndicatorValue} = state;
3696
+ if (!loadingIndicatorValue) {
3697
+ loadingIndicatorValue = 0;
3698
+ }
3699
+
3700
+ return {
3701
+ ...state,
3702
+ loadingIndicatorValue: Math.max(loadingIndicatorValue + change, 0)
3703
+ };
3704
+ };
3705
+
3654
3706
  function adjustAnimationConfigWithFilter<S extends VisState>(state: S, filterIdx: number): S {
3655
3707
  const filter = state.filters[filterIdx];
3656
3708
  if ((filter as TimeRangeFilter).syncedWithLayerTimeline) {
@@ -161,7 +161,9 @@ const actionHandler = {
161
161
 
162
162
  [ActionTypes.UPDATE_EFFECT]: visStateUpdaters.updateEffectUpdater,
163
163
 
164
- [ActionTypes.CREATE_NEW_DATASET_SUCCESS]: visStateUpdaters.createNewDatasetSuccessUpdater
164
+ [ActionTypes.CREATE_NEW_DATASET_SUCCESS]: visStateUpdaters.createNewDatasetSuccessUpdater,
165
+
166
+ [ActionTypes.SET_LOADING_INDICATOR]: visStateUpdaters.setLoadingIndicatorUpdater
165
167
  };
166
168
 
167
169
  // construct vis-state reducer
@@ -41,6 +41,7 @@ export interface VisState {
41
41
  splitMapsToBeMerged: SplitMap[];
42
42
  fileLoading: FileLoading | false;
43
43
  fileLoadingProgress: FileLoadingProgress;
44
+ loadingIndicatorValue: number;
44
45
  loaders: Loader[];
45
46
  loadOptions: object;
46
47
  initialState?: Partial<VisState>;