@carto/kepler.gl 0.0.73 → 0.0.75-alpha.deckv9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/dist/actions/action-wrapper.js +20 -48
  2. package/dist/actions/actions.js +10 -19
  3. package/dist/actions/identity-actions.js +8 -17
  4. package/dist/actions/index.js +7 -24
  5. package/dist/actions/map-state-actions.js +10 -19
  6. package/dist/actions/map-style-actions.js +20 -35
  7. package/dist/actions/provider-actions.js +26 -42
  8. package/dist/actions/ui-state-actions.js +42 -70
  9. package/dist/actions/vis-state-actions.js +102 -162
  10. package/dist/cloud-providers/index.js +8 -8
  11. package/dist/cloud-providers/provider.js +55 -94
  12. package/dist/components/bottom-widget.js +47 -48
  13. package/dist/components/common/action-panel.js +39 -38
  14. package/dist/components/common/animation-control/animation-control.js +40 -38
  15. package/dist/components/common/animation-control/animation-controller.js +47 -70
  16. package/dist/components/common/animation-control/animation-speed-slider.js +28 -38
  17. package/dist/components/common/animation-control/floating-time-display.js +56 -67
  18. package/dist/components/common/animation-control/playback-controls.js +64 -80
  19. package/dist/components/common/animation-control/speed-control.js +26 -24
  20. package/dist/components/common/checkbox.js +31 -52
  21. package/dist/components/common/color-legend.js +40 -72
  22. package/dist/components/common/data-table/button.js +29 -22
  23. package/dist/components/common/data-table/canvas.js +21 -10
  24. package/dist/components/common/data-table/cell-size.js +54 -58
  25. package/dist/components/common/data-table/grid.js +30 -31
  26. package/dist/components/common/data-table/index.js +91 -133
  27. package/dist/components/common/data-table/option-dropdown.js +29 -33
  28. package/dist/components/common/dataset-label.js +21 -13
  29. package/dist/components/common/error-boundary.js +25 -30
  30. package/dist/components/common/field-selector.js +35 -69
  31. package/dist/components/common/field-token.js +21 -16
  32. package/dist/components/common/file-uploader/file-drop.js +40 -55
  33. package/dist/components/common/file-uploader/file-upload-progress.js +32 -30
  34. package/dist/components/common/file-uploader/file-upload.js +52 -91
  35. package/dist/components/common/file-uploader/upload-button.js +31 -42
  36. package/dist/components/common/histogram-plot.js +32 -27
  37. package/dist/components/common/icons/add.js +27 -27
  38. package/dist/components/common/icons/anchor_window.js +3 -9
  39. package/dist/components/common/icons/arrow-down-alt.js +27 -27
  40. package/dist/components/common/icons/arrow-down-solid .js +27 -27
  41. package/dist/components/common/icons/arrow-down.js +27 -27
  42. package/dist/components/common/icons/arrow-left.js +27 -27
  43. package/dist/components/common/icons/arrow-right.js +27 -27
  44. package/dist/components/common/icons/arrow-up-alt.js +27 -27
  45. package/dist/components/common/icons/arrow-up-solid.js +27 -27
  46. package/dist/components/common/icons/arrow-up.js +27 -27
  47. package/dist/components/common/icons/base.js +38 -42
  48. package/dist/components/common/icons/bug.js +27 -27
  49. package/dist/components/common/icons/cancel.js +27 -27
  50. package/dist/components/common/icons/checkmark.js +27 -28
  51. package/dist/components/common/icons/chevron-right.js +27 -27
  52. package/dist/components/common/icons/clipboard.js +27 -27
  53. package/dist/components/common/icons/clock.js +27 -27
  54. package/dist/components/common/icons/close.js +27 -27
  55. package/dist/components/common/icons/code-alt.js +27 -28
  56. package/dist/components/common/icons/copy.js +27 -28
  57. package/dist/components/common/icons/crosshairs.js +27 -28
  58. package/dist/components/common/icons/cube-3d.js +27 -27
  59. package/dist/components/common/icons/cursor-click.js +27 -27
  60. package/dist/components/common/icons/data-table.js +27 -27
  61. package/dist/components/common/icons/db.js +27 -27
  62. package/dist/components/common/icons/delete.js +27 -27
  63. package/dist/components/common/icons/docs.js +27 -27
  64. package/dist/components/common/icons/drag-n-drop.js +27 -27
  65. package/dist/components/common/icons/draw-polygon.js +27 -27
  66. package/dist/components/common/icons/email.js +27 -27
  67. package/dist/components/common/icons/expand.js +27 -27
  68. package/dist/components/common/icons/eye-seen.js +27 -27
  69. package/dist/components/common/icons/eye-unseen.js +27 -27
  70. package/dist/components/common/icons/file-type.js +23 -16
  71. package/dist/components/common/icons/file.js +27 -27
  72. package/dist/components/common/icons/files.js +24 -26
  73. package/dist/components/common/icons/filter-funnel.js +27 -27
  74. package/dist/components/common/icons/free-window.js +3 -9
  75. package/dist/components/common/icons/gear.js +27 -27
  76. package/dist/components/common/icons/hash.js +27 -27
  77. package/dist/components/common/icons/histogram.js +24 -25
  78. package/dist/components/common/icons/index.js +63 -138
  79. package/dist/components/common/icons/info.js +27 -28
  80. package/dist/components/common/icons/layers.js +27 -27
  81. package/dist/components/common/icons/left-arrow.js +27 -28
  82. package/dist/components/common/icons/legend.js +27 -27
  83. package/dist/components/common/icons/line-chart.js +27 -27
  84. package/dist/components/common/icons/login.js +27 -27
  85. package/dist/components/common/icons/logout.js +27 -27
  86. package/dist/components/common/icons/map-icon.js +27 -28
  87. package/dist/components/common/icons/map.js +27 -28
  88. package/dist/components/common/icons/messages.js +27 -27
  89. package/dist/components/common/icons/minus.js +27 -27
  90. package/dist/components/common/icons/pause.js +27 -27
  91. package/dist/components/common/icons/picture.js +24 -26
  92. package/dist/components/common/icons/pin.js +27 -27
  93. package/dist/components/common/icons/play.js +27 -27
  94. package/dist/components/common/icons/polygon.js +27 -27
  95. package/dist/components/common/icons/rectangle.js +27 -27
  96. package/dist/components/common/icons/reduce.js +27 -27
  97. package/dist/components/common/icons/reset.js +27 -27
  98. package/dist/components/common/icons/rocket.js +27 -27
  99. package/dist/components/common/icons/save.js +27 -27
  100. package/dist/components/common/icons/save2.js +27 -27
  101. package/dist/components/common/icons/search.js +27 -27
  102. package/dist/components/common/icons/settings.js +27 -27
  103. package/dist/components/common/icons/share.js +27 -27
  104. package/dist/components/common/icons/split.js +27 -27
  105. package/dist/components/common/icons/square-select.js +27 -27
  106. package/dist/components/common/icons/swap-horizontal.js +27 -28
  107. package/dist/components/common/icons/table.js +27 -27
  108. package/dist/components/common/icons/trash.js +27 -27
  109. package/dist/components/common/icons/upload.js +27 -27
  110. package/dist/components/common/icons/vert-dots.js +27 -27
  111. package/dist/components/common/icons/vert-three-dots.js +27 -27
  112. package/dist/components/common/icons/warning.js +27 -28
  113. package/dist/components/common/image-preview.js +36 -29
  114. package/dist/components/common/info-helper.js +26 -25
  115. package/dist/components/common/item-selector/accessor.js +3 -5
  116. package/dist/components/common/item-selector/chickleted-input.js +41 -43
  117. package/dist/components/common/item-selector/dropdown-list.js +44 -74
  118. package/dist/components/common/item-selector/item-selector-submenu.js +29 -38
  119. package/dist/components/common/item-selector/item-selector.js +36 -84
  120. package/dist/components/common/item-selector/typeahead.js +37 -83
  121. package/dist/components/common/line-chart.js +39 -36
  122. package/dist/components/common/loading-spinner.js +33 -25
  123. package/dist/components/common/logo.js +24 -22
  124. package/dist/components/common/map-layer-selector.js +23 -16
  125. package/dist/components/common/modal.js +36 -61
  126. package/dist/components/common/portaled.js +56 -97
  127. package/dist/components/common/progress-bar.js +29 -20
  128. package/dist/components/common/range-brush.js +63 -104
  129. package/dist/components/common/range-plot.js +47 -52
  130. package/dist/components/common/range-slider.js +52 -78
  131. package/dist/components/common/slider/mouse-event.js +11 -37
  132. package/dist/components/common/slider/slider-bar-handle.js +31 -39
  133. package/dist/components/common/slider/slider-handle.js +35 -44
  134. package/dist/components/common/slider/slider.js +55 -82
  135. package/dist/components/common/styled-components.js +64 -169
  136. package/dist/components/common/switch.js +22 -16
  137. package/dist/components/common/time-range-slider-time-title.js +24 -19
  138. package/dist/components/common/time-range-slider.js +41 -38
  139. package/dist/components/common/time-slider-marker.js +36 -41
  140. package/dist/components/common/toolbar-item.js +22 -16
  141. package/dist/components/common/toolbar.js +21 -10
  142. package/dist/components/common/vertical-toolbar.js +21 -10
  143. package/dist/components/container.js +49 -70
  144. package/dist/components/context.js +6 -10
  145. package/dist/components/editor/constants.js +6 -8
  146. package/dist/components/editor/editor.js +40 -72
  147. package/dist/components/editor/feature-action-panel.js +35 -43
  148. package/dist/components/editor/feature-styles.js +35 -40
  149. package/dist/components/editor/handle-style.js +35 -37
  150. package/dist/components/filters/components.js +21 -10
  151. package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +14 -25
  152. package/dist/components/filters/filter-panels/multi-select-filter-panel.js +14 -21
  153. package/dist/components/filters/filter-panels/new-filter-panel.js +13 -23
  154. package/dist/components/filters/filter-panels/polygon-filter-panel.js +13 -25
  155. package/dist/components/filters/filter-panels/range-filter-panel.js +14 -21
  156. package/dist/components/filters/filter-panels/single-select-filter-panel.js +14 -21
  157. package/dist/components/filters/filter-panels/time-range-filter-panel.js +14 -23
  158. package/dist/components/filters/index.js +11 -17
  159. package/dist/components/filters/multi-select-filter.js +3 -9
  160. package/dist/components/filters/polygon-filter.js +8 -18
  161. package/dist/components/filters/range-filter.js +3 -8
  162. package/dist/components/filters/single-select-filter.js +3 -9
  163. package/dist/components/filters/time-range-filter.js +7 -18
  164. package/dist/components/filters/time-widget.js +41 -51
  165. package/dist/components/geocoder/geocoder.js +95 -128
  166. package/dist/components/geocoder-panel.js +37 -62
  167. package/dist/components/index.js +356 -498
  168. package/dist/components/injector.js +42 -58
  169. package/dist/components/kepler-gl.js +65 -158
  170. package/dist/components/map/coordinate-info.js +4 -13
  171. package/dist/components/map/layer-hover-info.js +40 -48
  172. package/dist/components/map/layer-selector-panel.js +17 -30
  173. package/dist/components/map/locale-panel.js +13 -27
  174. package/dist/components/map/map-control-panel.js +27 -24
  175. package/dist/components/map/map-control-toolbar.js +21 -11
  176. package/dist/components/map/map-control-tooltip.js +4 -11
  177. package/dist/components/map/map-control.js +26 -27
  178. package/dist/components/map/map-draw-panel.js +12 -29
  179. package/dist/components/map/map-legend-panel.js +17 -34
  180. package/dist/components/map/map-legend.js +52 -70
  181. package/dist/components/map/map-popover.js +41 -57
  182. package/dist/components/map/split-map-button.js +13 -25
  183. package/dist/components/map/toggle-3d-button.js +10 -21
  184. package/dist/components/map-container.js +98 -145
  185. package/dist/components/maps-layout.js +24 -26
  186. package/dist/components/modal-container.js +60 -112
  187. package/dist/components/modals/add-map-style-modal.js +37 -67
  188. package/dist/components/modals/cloud-tile.js +36 -36
  189. package/dist/components/modals/data-table-modal.js +51 -81
  190. package/dist/components/modals/delete-data-modal.js +24 -20
  191. package/dist/components/modals/error-display.js +3 -10
  192. package/dist/components/modals/export-data-modal.js +37 -54
  193. package/dist/components/modals/export-image-modal.js +31 -28
  194. package/dist/components/modals/export-map-modal/components.js +27 -27
  195. package/dist/components/modals/export-map-modal/export-html-map.js +27 -27
  196. package/dist/components/modals/export-map-modal/export-json-map.js +22 -22
  197. package/dist/components/modals/export-map-modal/export-map-modal.js +20 -40
  198. package/dist/components/modals/image-modal-container.js +9 -16
  199. package/dist/components/modals/load-data-modal.js +29 -33
  200. package/dist/components/modals/load-storage-map.js +42 -77
  201. package/dist/components/modals/loading-dialog.js +24 -18
  202. package/dist/components/modals/modal-dialog.js +3 -7
  203. package/dist/components/modals/modal-tabs.js +29 -29
  204. package/dist/components/modals/overwrite-map-modal.js +29 -28
  205. package/dist/components/modals/provider-modal-container.js +27 -27
  206. package/dist/components/modals/save-map-modal.js +43 -48
  207. package/dist/components/modals/share-map-modal.js +42 -53
  208. package/dist/components/modals/status-panel.js +24 -25
  209. package/dist/components/modals/storage-map-viewer.js +30 -43
  210. package/dist/components/notification-panel/notification-item.js +33 -47
  211. package/dist/components/notification-panel.js +30 -36
  212. package/dist/components/performance.js +11 -36
  213. package/dist/components/plot-container.js +42 -72
  214. package/dist/components/side-panel/cloud-storage-dropdown.js +4 -10
  215. package/dist/components/side-panel/common/dataset-info.js +20 -13
  216. package/dist/components/side-panel/common/dataset-tag.js +21 -12
  217. package/dist/components/side-panel/common/dataset-title.js +37 -52
  218. package/dist/components/side-panel/common/source-data-catalog.js +26 -22
  219. package/dist/components/side-panel/common/source-data-selector.js +34 -40
  220. package/dist/components/side-panel/custom-panel.js +5 -9
  221. package/dist/components/side-panel/filter-manager.js +18 -29
  222. package/dist/components/side-panel/filter-panel/filter-panel-header.js +30 -30
  223. package/dist/components/side-panel/filter-panel/filter-panel.js +36 -55
  224. package/dist/components/side-panel/interaction-manager.js +5 -12
  225. package/dist/components/side-panel/interaction-panel/brush-config.js +23 -19
  226. package/dist/components/side-panel/interaction-panel/interaction-panel.js +36 -59
  227. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +34 -74
  228. package/dist/components/side-panel/interaction-panel/tooltip-config.js +28 -40
  229. package/dist/components/side-panel/layer-manager.js +51 -82
  230. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +3 -10
  231. package/dist/components/side-panel/layer-panel/color-palette.js +27 -23
  232. package/dist/components/side-panel/layer-panel/color-range-selector.js +52 -98
  233. package/dist/components/side-panel/layer-panel/color-selector.js +36 -67
  234. package/dist/components/side-panel/layer-panel/column-selector.js +26 -25
  235. package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +2 -6
  236. package/dist/components/side-panel/layer-panel/custom-palette.js +37 -71
  237. package/dist/components/side-panel/layer-panel/custom-picker.js +32 -45
  238. package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +8 -16
  239. package/dist/components/side-panel/layer-panel/hex-column-config.js +12 -34
  240. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +2 -10
  241. package/dist/components/side-panel/layer-panel/layer-column-config.js +31 -27
  242. package/dist/components/side-panel/layer-panel/layer-config-group.js +46 -80
  243. package/dist/components/side-panel/layer-panel/layer-configurator.js +162 -250
  244. package/dist/components/side-panel/layer-panel/layer-panel-header.js +52 -66
  245. package/dist/components/side-panel/layer-panel/layer-panel.js +33 -54
  246. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +28 -22
  247. package/dist/components/side-panel/layer-panel/layer-type-list-item.js +22 -18
  248. package/dist/components/side-panel/layer-panel/layer-type-selector.js +29 -32
  249. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +35 -40
  250. package/dist/components/side-panel/layer-panel/single-color-palette.js +32 -42
  251. package/dist/components/side-panel/layer-panel/text-label-panel.js +31 -42
  252. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +39 -52
  253. package/dist/components/side-panel/layer-panel/vis-config-slider.js +10 -19
  254. package/dist/components/side-panel/layer-panel/vis-config-switch.js +28 -29
  255. package/dist/components/side-panel/map-manager.js +32 -46
  256. package/dist/components/side-panel/map-style-panel/map-layer-selector.js +28 -31
  257. package/dist/components/side-panel/map-style-panel/map-style-selector.js +26 -24
  258. package/dist/components/side-panel/panel-dropdown.js +28 -35
  259. package/dist/components/side-panel/panel-header-action.js +38 -43
  260. package/dist/components/side-panel/panel-header.js +54 -92
  261. package/dist/components/side-panel/panel-tab.js +24 -20
  262. package/dist/components/side-panel/panel-title.js +21 -10
  263. package/dist/components/side-panel/panel-toggle.js +26 -23
  264. package/dist/components/side-panel/side-bar.js +37 -53
  265. package/dist/components/side-panel.js +56 -65
  266. package/dist/connect/keplergl-connect.js +5 -14
  267. package/dist/connect/with-local-selector.js +33 -38
  268. package/dist/constants/action-types.js +5 -6
  269. package/dist/constants/color-palette.js +12 -23
  270. package/dist/constants/color-ranges.js +32 -31
  271. package/dist/constants/custom-color-ranges.js +9 -14
  272. package/dist/constants/default-settings.js +154 -239
  273. package/dist/constants/index.js +95 -103
  274. package/dist/constants/keyevent.js +3 -7
  275. package/dist/constants/tooltip.js +7 -10
  276. package/dist/constants/user-feedbacks.js +5 -6
  277. package/dist/constants/user-guides.js +12 -20
  278. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +29 -32
  279. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +10 -43
  280. package/dist/deckgl-layers/cluster-layer/cluster-layer.js +54 -75
  281. package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +29 -32
  282. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +29 -30
  283. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +29 -30
  284. package/dist/deckgl-layers/layer-utils/cluster-utils.js +10 -21
  285. package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +75 -132
  286. package/dist/deckgl-layers/layer-utils/shader-utils.js +1 -5
  287. package/dist/deckgl-layers/line-layer/line-layer.js +27 -34
  288. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +26 -30
  289. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +33 -39
  290. package/dist/index.js +4 -23
  291. package/dist/layers/aggregation-layer.js +63 -97
  292. package/dist/layers/arc-layer/arc-layer-icon.js +27 -27
  293. package/dist/layers/arc-layer/arc-layer.js +48 -73
  294. package/dist/layers/base-layer.js +257 -406
  295. package/dist/layers/cluster-layer/cluster-layer-icon.js +27 -27
  296. package/dist/layers/cluster-layer/cluster-layer.js +33 -44
  297. package/dist/layers/default-layer-icon.js +27 -27
  298. package/dist/layers/geojson-layer/geojson-layer-icon.js +27 -27
  299. package/dist/layers/geojson-layer/geojson-layer.js +54 -87
  300. package/dist/layers/geojson-layer/geojson-utils.js +35 -47
  301. package/dist/layers/grid-layer/grid-layer-icon.js +27 -27
  302. package/dist/layers/grid-layer/grid-layer.js +30 -41
  303. package/dist/layers/grid-layer/grid-utils.js +6 -9
  304. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +27 -27
  305. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +48 -80
  306. package/dist/layers/h3-hexagon-layer/h3-utils.js +10 -21
  307. package/dist/layers/heatmap-layer/heatmap-layer-icon.js +27 -27
  308. package/dist/layers/heatmap-layer/heatmap-layer.js +45 -72
  309. package/dist/layers/hexagon-layer/hexagon-layer-icon.js +27 -27
  310. package/dist/layers/hexagon-layer/hexagon-layer.js +30 -42
  311. package/dist/layers/hexagon-layer/hexagon-utils.js +3 -15
  312. package/dist/layers/icon-layer/icon-info-modal.js +23 -26
  313. package/dist/layers/icon-layer/icon-layer-icon.js +27 -27
  314. package/dist/layers/icon-layer/icon-layer.js +59 -97
  315. package/dist/layers/index.js +38 -39
  316. package/dist/layers/layer-factory.js +38 -42
  317. package/dist/layers/layer-text-label.js +7 -17
  318. package/dist/layers/layer-update.js +3 -14
  319. package/dist/layers/line-layer/line-layer-icon.js +27 -27
  320. package/dist/layers/line-layer/line-layer.js +46 -66
  321. package/dist/layers/mapbox-utils.js +38 -51
  322. package/dist/layers/mapboxgl-layer.js +43 -58
  323. package/dist/layers/point-layer/point-layer-icon.js +27 -27
  324. package/dist/layers/point-layer/point-layer.js +57 -90
  325. package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +41 -73
  326. package/dist/layers/s2-geometry-layer/s2-layer-icon.js +27 -27
  327. package/dist/layers/s2-geometry-layer/s2-utils.js +5 -11
  328. package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +21 -15
  329. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +27 -27
  330. package/dist/layers/scenegraph-layer/scenegraph-layer.js +52 -75
  331. package/dist/layers/trip-layer/trip-info-modal.js +21 -16
  332. package/dist/layers/trip-layer/trip-layer-icon.js +27 -27
  333. package/dist/layers/trip-layer/trip-layer.js +51 -93
  334. package/dist/layers/trip-layer/trip-utils.js +16 -39
  335. package/dist/layers/types.js +3 -6
  336. package/dist/localization/en.js +22 -11
  337. package/dist/localization/formatted-message.js +5 -10
  338. package/dist/localization/index.js +7 -13
  339. package/dist/localization/locales.js +7 -12
  340. package/dist/middleware/index.js +2 -5
  341. package/dist/processors/data-processor.js +113 -177
  342. package/dist/processors/file-handler.js +200 -276
  343. package/dist/processors/index.js +33 -35
  344. package/dist/reducers/combined-updaters.js +35 -46
  345. package/dist/reducers/composer-helpers.js +28 -27
  346. package/dist/reducers/composers.js +25 -12
  347. package/dist/reducers/core.js +13 -46
  348. package/dist/reducers/index.js +24 -38
  349. package/dist/reducers/map-state-updaters.js +53 -65
  350. package/dist/reducers/map-state.js +31 -26
  351. package/dist/reducers/map-style-updaters.js +92 -136
  352. package/dist/reducers/map-style.js +31 -26
  353. package/dist/reducers/provider-state-updaters.js +92 -167
  354. package/dist/reducers/provider-state.js +32 -25
  355. package/dist/reducers/root.js +44 -50
  356. package/dist/reducers/ui-state-updaters.js +102 -202
  357. package/dist/reducers/ui-state.js +32 -26
  358. package/dist/reducers/vis-state-merger.js +102 -166
  359. package/dist/reducers/vis-state-selectors.js +5 -10
  360. package/dist/reducers/vis-state-updaters.js +386 -663
  361. package/dist/reducers/vis-state.js +32 -25
  362. package/dist/schemas/dataset-schema.js +36 -56
  363. package/dist/schemas/index.js +38 -45
  364. package/dist/schemas/map-state-schema.js +28 -24
  365. package/dist/schemas/map-style-schema.js +34 -48
  366. package/dist/schemas/schema-manager.js +44 -62
  367. package/dist/schemas/schema-utils.js +11 -15
  368. package/dist/schemas/schema.js +32 -27
  369. package/dist/schemas/versions.js +5 -9
  370. package/dist/schemas/vis-state-schema.js +109 -309
  371. package/dist/styles/base.js +367 -640
  372. package/dist/styles/index.js +1 -5
  373. package/dist/styles/media-breakpoints.js +21 -9
  374. package/dist/tasks/tasks.js +22 -50
  375. package/dist/templates/export-map-html.js +3 -6
  376. package/dist/utils/aggregate-utils.js +23 -27
  377. package/dist/utils/color-utils.js +36 -38
  378. package/dist/utils/custom-scales.js +1 -7
  379. package/dist/utils/data-scale-utils.js +11 -20
  380. package/dist/utils/data-utils.js +78 -137
  381. package/dist/utils/dataset-utils.js +71 -88
  382. package/dist/utils/dom-to-image.js +15 -93
  383. package/dist/utils/dom-utils.js +34 -116
  384. package/dist/utils/export-utils.js +65 -102
  385. package/dist/utils/filter-utils.js +170 -320
  386. package/dist/utils/gl-utils.js +39 -23
  387. package/dist/utils/gpu-filter-utils.js +46 -59
  388. package/dist/utils/index.js +68 -80
  389. package/dist/utils/interaction-utils.js +26 -50
  390. package/dist/utils/layer-utils.js +58 -63
  391. package/dist/utils/locale-utils.js +23 -21
  392. package/dist/utils/map-info-utils.js +2 -3
  393. package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +72 -71
  394. package/dist/utils/map-style-utils/mapbox-utils.js +3 -5
  395. package/dist/utils/mapbox-utils.js +2 -5
  396. package/dist/utils/notifications-utils.js +36 -35
  397. package/dist/utils/observe-dimensions.js +36 -41
  398. package/dist/utils/projection-utils.js +9 -20
  399. package/dist/utils/searcher-utils.js +1 -4
  400. package/dist/utils/split-map-utils.js +36 -32
  401. package/dist/utils/table-utils/data-container-utils.js +27 -23
  402. package/dist/utils/table-utils/data-row.js +2 -13
  403. package/dist/utils/table-utils/index.js +1 -2
  404. package/dist/utils/table-utils/indexed-data-container.js +65 -84
  405. package/dist/utils/table-utils/kepler-table.js +83 -126
  406. package/dist/utils/table-utils/row-data-container.js +62 -87
  407. package/dist/utils/utils.js +51 -69
  408. package/package.json +4 -3
  409. package/src/components/kepler-gl.d.ts +0 -1
  410. package/src/components/kepler-gl.js +0 -7
  411. package/src/components/map-container.js +0 -3
  412. package/src/components/modal-container.d.ts +0 -1
  413. package/src/components/modal-container.js +0 -2
  414. package/src/components/modals/add-map-style-modal.js +0 -3
  415. package/src/components/side-panel/layer-panel/layer-configurator.js +11 -9
  416. package/src/layers/base-layer.js +1 -1
  417. package/src/utils/gl-utils.js +16 -15
  418. package/CHANGELOG.md +0 -948
@@ -1,22 +1,22 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- Object.defineProperty(exports, "Provider", {
7
+ Object.defineProperty(exports, "FILE_CONFLICT_MSG", {
9
8
  enumerable: true,
10
9
  get: function get() {
11
- return _provider["default"];
10
+ return _provider.FILE_CONFLICT_MSG;
12
11
  }
13
12
  });
14
- Object.defineProperty(exports, "FILE_CONFLICT_MSG", {
13
+ Object.defineProperty(exports, "Provider", {
15
14
  enumerable: true,
16
15
  get: function get() {
17
- return _provider.FILE_CONFLICT_MSG;
16
+ return _provider["default"];
18
17
  }
19
18
  });
20
-
21
19
  var _provider = _interopRequireWildcard(require("./provider"));
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbG91ZC1wcm92aWRlcnMvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5leHBvcnQge2RlZmF1bHQgYXMgUHJvdmlkZXIsIEZJTEVfQ09ORkxJQ1RfTVNHfSBmcm9tICcuL3Byb3ZpZGVyJztcbiJdfQ==
20
+ 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); }
21
+ 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 && Object.prototype.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; }
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcHJvdmlkZXIiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xvdWQtcHJvdmlkZXJzL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBQcm92aWRlciwgRklMRV9DT05GTElDVF9NU0d9IGZyb20gJy4vcHJvdmlkZXInO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsSUFBQUEsU0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQWtFLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBSCx3QkFBQUcsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWpCLENBQUEsRUFBQWMsQ0FBQSxTQUFBSSxDQUFBLEdBQUFSLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUksQ0FBQSxLQUFBQSxDQUFBLENBQUFYLEdBQUEsSUFBQVcsQ0FBQSxDQUFBQyxHQUFBLElBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUksQ0FBQSxJQUFBVixDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWdCLEdBQUEsQ0FBQW5CLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBIn0=
@@ -1,22 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.FILE_CONFLICT_MSG = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _icons = require("../components/common/icons");
19
-
20
13
  // Copyright (c) 2022 Uber Technologies, Inc.
21
14
  //
22
15
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -36,6 +29,7 @@ var _icons = require("../components/common/icons");
36
29
  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
37
30
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
38
31
  // THE SOFTWARE.
32
+
39
33
  var NAME = 'cloud-provider';
40
34
  var DISPLAY_NAME = 'Cloud Provider';
41
35
  var THUMBNAIL = {
@@ -43,7 +37,7 @@ var THUMBNAIL = {
43
37
  height: 200
44
38
  };
45
39
  var ICON = _icons.Upload;
46
- var FILE_CONFLICT_MSG = 'file_conflict';
40
+ var FILE_CONFLICT_MSG = exports.FILE_CONFLICT_MSG = 'file_conflict';
47
41
  /**
48
42
  * The default provider class
49
43
  * @param {object} props
@@ -63,10 +57,7 @@ var FILE_CONFLICT_MSG = 'file_conflict';
63
57
  * thumbnail: {width: 300, height: 200}
64
58
  * })
65
59
  */
66
-
67
- exports.FILE_CONFLICT_MSG = FILE_CONFLICT_MSG;
68
-
69
- var Provider = /*#__PURE__*/function () {
60
+ var Provider = exports["default"] = /*#__PURE__*/function () {
70
61
  function Provider(props) {
71
62
  (0, _classCallCheck2["default"])(this, Provider);
72
63
  this.name = props.name || NAME;
@@ -74,116 +65,110 @@ var Provider = /*#__PURE__*/function () {
74
65
  this.icon = props.icon || ICON;
75
66
  this.thumbnail = props.thumbnail || THUMBNAIL;
76
67
  }
68
+
77
69
  /**
78
70
  * Whether this provider support upload map to a private storage. If truthy, user will be displayed with the storage save icon on the top right of the side bar.
79
71
  * @returns {boolean}
80
72
  * @public
81
73
  */
82
-
83
-
84
74
  (0, _createClass2["default"])(Provider, [{
85
75
  key: "hasPrivateStorage",
86
76
  value: function hasPrivateStorage() {
87
77
  return true;
88
78
  }
79
+
89
80
  /**
90
81
  * Whether this provider support share map via a public url, if truthy, user will be displayed with a share map via url under the export map option on the top right of the side bar
91
82
  * @returns {boolean}
92
83
  * @public
93
84
  */
94
-
95
85
  }, {
96
86
  key: "hasSharingUrl",
97
87
  value: function hasSharingUrl() {
98
88
  return true;
99
89
  }
90
+
100
91
  /**
101
92
  * This method is called after user share a map, to display the share url.
102
93
  * @param {boolean} fullUrl - Whether to return the full url with domain, or just the location
103
94
  * @returns {string} shareUrl
104
95
  * @public
105
96
  */
106
-
107
97
  }, {
108
98
  key: "getShareUrl",
109
99
  value: function getShareUrl() {
110
100
  var fullUrl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
111
101
  return '';
112
102
  }
103
+
113
104
  /**
114
105
  * This method is called by kepler.gl demo app to pushes a new location to history, becoming the current location.
115
106
  * @param {boolean} fullURL - Whether to return the full url with domain, or just the location
116
107
  * @returns {string} mapUrl
117
108
  * @public
118
109
  */
119
-
120
110
  }, {
121
111
  key: "getMapUrl",
122
112
  value: function getMapUrl() {
123
113
  var fullURL = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
124
114
  return '';
125
115
  }
116
+
126
117
  /**
127
118
  * This method is called to determine whether user already logged in to this provider
128
119
  * @public
129
120
  * @returns {boolean} true if a user already logged in
130
121
  */
131
-
132
122
  }, {
133
123
  key: "getAccessToken",
134
124
  value: function getAccessToken() {
135
125
  return true;
136
126
  }
127
+
137
128
  /**
138
129
  * This method is called to get the user name of the current user. It will be displayed in the cloud provider tile.
139
130
  * @public
140
131
  * @returns {string} true if a user already logged in
141
132
  */
142
-
143
133
  }, {
144
134
  key: "getUserName",
145
135
  value: function getUserName() {
146
136
  return '';
147
137
  }
138
+
148
139
  /**
149
140
  * This return a standard error that will trigger the overwrite map modal
150
141
  */
151
-
152
142
  }, {
153
143
  key: "getFileConflictError",
154
144
  value: function getFileConflictError() {
155
145
  return new Error(FILE_CONFLICT_MSG);
156
146
  }
147
+
157
148
  /**
158
149
  * This method will be called when user click the login button in the cloud provider tile.
159
150
  * Upon login success, `onCloudLoginSuccess` has to be called to notify kepler.gl UI
160
151
  * @param {function} onCloudLoginSuccess - callbacks to be called after login success
161
152
  * @public
162
153
  */
163
-
164
154
  }, {
165
155
  key: "login",
166
- value: function () {
156
+ value: (function () {
167
157
  var _login = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(onCloudLoginSuccess) {
168
158
  return _regenerator["default"].wrap(function _callee$(_context) {
169
- while (1) {
170
- switch (_context.prev = _context.next) {
171
- case 0:
172
- onCloudLoginSuccess();
173
- return _context.abrupt("return");
174
-
175
- case 2:
176
- case "end":
177
- return _context.stop();
178
- }
159
+ while (1) switch (_context.prev = _context.next) {
160
+ case 0:
161
+ onCloudLoginSuccess();
162
+ return _context.abrupt("return");
163
+ case 2:
164
+ case "end":
165
+ return _context.stop();
179
166
  }
180
167
  }, _callee);
181
168
  }));
182
-
183
169
  function login(_x) {
184
170
  return _login.apply(this, arguments);
185
171
  }
186
-
187
172
  return login;
188
173
  }()
189
174
  /**
@@ -192,30 +177,25 @@ var Provider = /*#__PURE__*/function () {
192
177
  * @param {function} onCloudLogoutSuccess - callbacks to be called after logout success
193
178
  * @public
194
179
  */
195
-
180
+ )
196
181
  }, {
197
182
  key: "logout",
198
- value: function () {
183
+ value: (function () {
199
184
  var _logout = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(onCloudLogoutSuccess) {
200
185
  return _regenerator["default"].wrap(function _callee2$(_context2) {
201
- while (1) {
202
- switch (_context2.prev = _context2.next) {
203
- case 0:
204
- onCloudLogoutSuccess();
205
- return _context2.abrupt("return");
206
-
207
- case 2:
208
- case "end":
209
- return _context2.stop();
210
- }
186
+ while (1) switch (_context2.prev = _context2.next) {
187
+ case 0:
188
+ onCloudLogoutSuccess();
189
+ return _context2.abrupt("return");
190
+ case 2:
191
+ case "end":
192
+ return _context2.stop();
211
193
  }
212
194
  }, _callee2);
213
195
  }));
214
-
215
196
  function logout(_x2) {
216
197
  return _logout.apply(this, arguments);
217
198
  }
218
-
219
199
  return logout;
220
200
  }()
221
201
  /**
@@ -231,32 +211,26 @@ var Provider = /*#__PURE__*/function () {
231
211
  * @param {boolean} [param.options.isPublic] - whether user wish to share the map with others. if isPublic is truthy, kepler will call this.getShareUrl() to display an URL they can share with others
232
212
  * @public
233
213
  */
234
-
214
+ )
235
215
  }, {
236
216
  key: "uploadMap",
237
- value: function () {
217
+ value: (function () {
238
218
  var _uploadMap = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref) {
239
219
  var mapData, _ref$options, options;
240
-
241
220
  return _regenerator["default"].wrap(function _callee3$(_context3) {
242
- while (1) {
243
- switch (_context3.prev = _context3.next) {
244
- case 0:
245
- mapData = _ref.mapData, _ref$options = _ref.options, options = _ref$options === void 0 ? {} : _ref$options;
246
- return _context3.abrupt("return");
247
-
248
- case 2:
249
- case "end":
250
- return _context3.stop();
251
- }
221
+ while (1) switch (_context3.prev = _context3.next) {
222
+ case 0:
223
+ mapData = _ref.mapData, _ref$options = _ref.options, options = _ref$options === void 0 ? {} : _ref$options;
224
+ return _context3.abrupt("return");
225
+ case 2:
226
+ case "end":
227
+ return _context3.stop();
252
228
  }
253
229
  }, _callee3);
254
230
  }));
255
-
256
231
  function uploadMap(_x3) {
257
232
  return _uploadMap.apply(this, arguments);
258
233
  }
259
-
260
234
  return uploadMap;
261
235
  }()
262
236
  /**
@@ -278,29 +252,24 @@ var Provider = /*#__PURE__*/function () {
278
252
  * ];
279
253
  * }
280
254
  */
281
-
255
+ )
282
256
  }, {
283
257
  key: "listMaps",
284
- value: function () {
258
+ value: (function () {
285
259
  var _listMaps = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
286
260
  return _regenerator["default"].wrap(function _callee4$(_context4) {
287
- while (1) {
288
- switch (_context4.prev = _context4.next) {
289
- case 0:
290
- return _context4.abrupt("return", []);
291
-
292
- case 1:
293
- case "end":
294
- return _context4.stop();
295
- }
261
+ while (1) switch (_context4.prev = _context4.next) {
262
+ case 0:
263
+ return _context4.abrupt("return", []);
264
+ case 1:
265
+ case "end":
266
+ return _context4.stop();
296
267
  }
297
268
  }, _callee4);
298
269
  }));
299
-
300
270
  function listMaps() {
301
271
  return _listMaps.apply(this, arguments);
302
272
  }
303
-
304
273
  return listMaps;
305
274
  }()
306
275
  /**
@@ -328,29 +297,24 @@ var Provider = /*#__PURE__*/function () {
328
297
  * return downloadMap;
329
298
  * }
330
299
  */
331
-
300
+ )
332
301
  }, {
333
302
  key: "downloadMap",
334
- value: function () {
303
+ value: (function () {
335
304
  var _downloadMap = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(loadParams) {
336
305
  return _regenerator["default"].wrap(function _callee5$(_context5) {
337
- while (1) {
338
- switch (_context5.prev = _context5.next) {
339
- case 0:
340
- return _context5.abrupt("return");
341
-
342
- case 1:
343
- case "end":
344
- return _context5.stop();
345
- }
306
+ while (1) switch (_context5.prev = _context5.next) {
307
+ case 0:
308
+ return _context5.abrupt("return");
309
+ case 1:
310
+ case "end":
311
+ return _context5.stop();
346
312
  }
347
313
  }, _callee5);
348
314
  }));
349
-
350
315
  function downloadMap(_x4) {
351
316
  return _downloadMap.apply(this, arguments);
352
317
  }
353
-
354
318
  return downloadMap;
355
319
  }()
356
320
  /**
@@ -364,7 +328,6 @@ var Provider = /*#__PURE__*/function () {
364
328
  * @property {*} loadParams - A property to be passed to `downloadMap`
365
329
  * @public
366
330
  */
367
-
368
331
  /**
369
332
  * The returned object of `downloadMap`. The response object should contain: datasets: [], config: {}, and info: {}
370
333
  * each dataset object should be {info: {id, label}, data: {...}}
@@ -377,10 +340,8 @@ var Provider = /*#__PURE__*/function () {
377
340
  * @property {string} format - one of 'csv': csv file string, 'geojson': geojson object, 'row': row object, 'keplergl': datasets array saved using KeplerGlSchema.save
378
341
  * @public
379
342
  */
380
-
343
+ )
381
344
  }]);
382
345
  return Provider;
383
346
  }();
384
-
385
- exports["default"] = Provider;
386
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbG91ZC1wcm92aWRlcnMvcHJvdmlkZXIuanMiXSwibmFtZXMiOlsiTkFNRSIsIkRJU1BMQVlfTkFNRSIsIlRIVU1CTkFJTCIsIndpZHRoIiwiaGVpZ2h0IiwiSUNPTiIsIlVwbG9hZCIsIkZJTEVfQ09ORkxJQ1RfTVNHIiwiUHJvdmlkZXIiLCJwcm9wcyIsIm5hbWUiLCJkaXNwbGF5TmFtZSIsImljb24iLCJ0aHVtYm5haWwiLCJmdWxsVXJsIiwiZnVsbFVSTCIsIkVycm9yIiwib25DbG91ZExvZ2luU3VjY2VzcyIsIm9uQ2xvdWRMb2dvdXRTdWNjZXNzIiwibWFwRGF0YSIsIm9wdGlvbnMiLCJsb2FkUGFyYW1zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQSxJQUFNQSxJQUFJLEdBQUcsZ0JBQWI7QUFDQSxJQUFNQyxZQUFZLEdBQUcsZ0JBQXJCO0FBQ0EsSUFBTUMsU0FBUyxHQUFHO0FBQUNDLEVBQUFBLEtBQUssRUFBRSxHQUFSO0FBQWFDLEVBQUFBLE1BQU0sRUFBRTtBQUFyQixDQUFsQjtBQUNBLElBQU1DLElBQUksR0FBR0MsYUFBYjtBQUNPLElBQU1DLGlCQUFpQixHQUFHLGVBQTFCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7SUFDcUJDLFE7QUFDbkIsb0JBQVlDLEtBQVosRUFBbUI7QUFBQTtBQUNqQixTQUFLQyxJQUFMLEdBQVlELEtBQUssQ0FBQ0MsSUFBTixJQUFjVixJQUExQjtBQUNBLFNBQUtXLFdBQUwsR0FBbUJGLEtBQUssQ0FBQ0UsV0FBTixJQUFxQlYsWUFBeEM7QUFDQSxTQUFLVyxJQUFMLEdBQVlILEtBQUssQ0FBQ0csSUFBTixJQUFjUCxJQUExQjtBQUNBLFNBQUtRLFNBQUwsR0FBaUJKLEtBQUssQ0FBQ0ksU0FBTixJQUFtQlgsU0FBcEM7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7Ozs7O1dBQ0UsNkJBQW9CO0FBQ2xCLGFBQU8sSUFBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTs7OztXQUNFLHlCQUFnQjtBQUNkLGFBQU8sSUFBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O1dBQ0UsdUJBQTZCO0FBQUEsVUFBakJZLE9BQWlCLHVFQUFQLEtBQU87QUFDM0IsYUFBTyxFQUFQO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7V0FDRSxxQkFBMEI7QUFBQSxVQUFoQkMsT0FBZ0IsdUVBQU4sSUFBTTtBQUN4QixhQUFPLEVBQVA7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7Ozs7V0FDRSwwQkFBaUI7QUFDZixhQUFPLElBQVA7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7Ozs7V0FDRSx1QkFBYztBQUNaLGFBQU8sRUFBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7O1dBQ0UsZ0NBQXVCO0FBQ3JCLGFBQU8sSUFBSUMsS0FBSixDQUFVVCxpQkFBVixDQUFQO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O2lHQUNFLGlCQUFZVSxtQkFBWjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0VBLGdCQUFBQSxtQkFBbUI7QUFEckI7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTzs7Ozs7Ozs7QUFLQTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O2tHQUNFLGtCQUFhQyxvQkFBYjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0VBLGdCQUFBQSxvQkFBb0I7QUFEdEI7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTzs7Ozs7Ozs7QUFLQTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7cUdBQ0U7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFpQkMsZ0JBQUFBLE9BQWpCLFFBQWlCQSxPQUFqQixzQkFBMEJDLE9BQTFCLEVBQTBCQSxPQUExQiw2QkFBb0MsRUFBcEM7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxPOzs7Ozs7OztBQUlBO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztvR0FDRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsa0RBQ1MsRUFEVDs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxPOzs7Ozs7OztBQUlBO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozt1R0FDRSxrQkFBa0JDLFVBQWxCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxPOzs7Ozs7OztBQUlBO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtVcGxvYWR9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2ljb25zJztcblxuY29uc3QgTkFNRSA9ICdjbG91ZC1wcm92aWRlcic7XG5jb25zdCBESVNQTEFZX05BTUUgPSAnQ2xvdWQgUHJvdmlkZXInO1xuY29uc3QgVEhVTUJOQUlMID0ge3dpZHRoOiAzMDAsIGhlaWdodDogMjAwfTtcbmNvbnN0IElDT04gPSBVcGxvYWQ7XG5leHBvcnQgY29uc3QgRklMRV9DT05GTElDVF9NU0cgPSAnZmlsZV9jb25mbGljdCc7XG4vKipcbiAqIFRoZSBkZWZhdWx0IHByb3ZpZGVyIGNsYXNzXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wcy5uYW1lXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJvcHMuZGlzcGxheU5hbWVcbiAqIEBwYXJhbSB7UmVhY3QuQ29tcG9uZW50fSBwcm9wcy5pY29uIC0gUmVhY3QgZWxlbWVudFxuICogQHBhcmFtIHtvYmplY3R9IHByb3BzLnRodW1ibmFpbCAtIHRodW1ibmFpbCBzaXplIG9iamVjdFxuICogQHBhcmFtIHtudW1iZXJ9IHByb3BzLnRodW1ibmFpbC53aWR0aCAtIHRodW1ibmFpbCB3aWR0aCBpbiBwaXhlbHNcbiAqIEBwYXJhbSB7bnVtYmVyfSBwcm9wcy50aHVtYm5haWwuaGVpZ2h0IC0gdGh1bWJuYWlsIGhlaWdodCBpbiBwaXhlbHNcbiAqIEBwdWJsaWNcbiAqIEBleGFtcGxlXG4gKlxuICogY29uc3QgbXlQcm92aWRlciA9IG5ldyBQcm92aWRlcih7XG4gKiAgbmFtZTogJ2ZvbycsXG4gKiAgZGlzcGxheU5hbWU6ICdGb28gU3RvcmFnZSdcbiAqICBpY29uOiBJY29uLFxuICogIHRodW1ibmFpbDoge3dpZHRoOiAzMDAsIGhlaWdodDogMjAwfVxuICogfSlcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJvdmlkZXIge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHRoaXMubmFtZSA9IHByb3BzLm5hbWUgfHwgTkFNRTtcbiAgICB0aGlzLmRpc3BsYXlOYW1lID0gcHJvcHMuZGlzcGxheU5hbWUgfHwgRElTUExBWV9OQU1FO1xuICAgIHRoaXMuaWNvbiA9IHByb3BzLmljb24gfHwgSUNPTjtcbiAgICB0aGlzLnRodW1ibmFpbCA9IHByb3BzLnRodW1ibmFpbCB8fCBUSFVNQk5BSUw7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIHByb3ZpZGVyIHN1cHBvcnQgdXBsb2FkIG1hcCB0byBhIHByaXZhdGUgc3RvcmFnZS4gSWYgdHJ1dGh5LCB1c2VyIHdpbGwgYmUgZGlzcGxheWVkIHdpdGggdGhlIHN0b3JhZ2Ugc2F2ZSBpY29uIG9uIHRoZSB0b3AgcmlnaHQgb2YgdGhlIHNpZGUgYmFyLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICogQHB1YmxpY1xuICAgKi9cbiAgaGFzUHJpdmF0ZVN0b3JhZ2UoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIHByb3ZpZGVyIHN1cHBvcnQgc2hhcmUgbWFwIHZpYSBhIHB1YmxpYyB1cmwsIGlmIHRydXRoeSwgdXNlciB3aWxsIGJlIGRpc3BsYXllZCB3aXRoIGEgc2hhcmUgbWFwIHZpYSB1cmwgdW5kZXIgdGhlIGV4cG9ydCBtYXAgb3B0aW9uIG9uIHRoZSB0b3AgcmlnaHQgb2YgdGhlIHNpZGUgYmFyXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKiBAcHVibGljXG4gICAqL1xuICBoYXNTaGFyaW5nVXJsKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBhZnRlciB1c2VyIHNoYXJlIGEgbWFwLCB0byBkaXNwbGF5IHRoZSBzaGFyZSB1cmwuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZnVsbFVybCAtIFdoZXRoZXIgdG8gcmV0dXJuIHRoZSBmdWxsIHVybCB3aXRoIGRvbWFpbiwgb3IganVzdCB0aGUgbG9jYXRpb25cbiAgICogQHJldHVybnMge3N0cmluZ30gc2hhcmVVcmxcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgZ2V0U2hhcmVVcmwoZnVsbFVybCA9IGZhbHNlKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBieSBrZXBsZXIuZ2wgZGVtbyBhcHAgdG8gcHVzaGVzIGEgbmV3IGxvY2F0aW9uIHRvIGhpc3RvcnksIGJlY29taW5nIHRoZSBjdXJyZW50IGxvY2F0aW9uLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGZ1bGxVUkwgLSBXaGV0aGVyIHRvIHJldHVybiB0aGUgZnVsbCB1cmwgd2l0aCBkb21haW4sIG9yIGp1c3QgdGhlIGxvY2F0aW9uXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IG1hcFVybFxuICAgKiBAcHVibGljXG4gICAqL1xuICBnZXRNYXBVcmwoZnVsbFVSTCA9IHRydWUpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIHRvIGRldGVybWluZSB3aGV0aGVyIHVzZXIgYWxyZWFkeSBsb2dnZWQgaW4gdG8gdGhpcyBwcm92aWRlclxuICAgKiBAcHVibGljXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIGEgdXNlciBhbHJlYWR5IGxvZ2dlZCBpblxuICAgKi9cbiAgZ2V0QWNjZXNzVG9rZW4oKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIHRvIGdldCB0aGUgdXNlciBuYW1lIG9mIHRoZSBjdXJyZW50IHVzZXIuIEl0IHdpbGwgYmUgZGlzcGxheWVkIGluIHRoZSBjbG91ZCBwcm92aWRlciB0aWxlLlxuICAgKiBAcHVibGljXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IHRydWUgaWYgYSB1c2VyIGFscmVhZHkgbG9nZ2VkIGluXG4gICAqL1xuICBnZXRVc2VyTmFtZSgpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyByZXR1cm4gYSBzdGFuZGFyZCBlcnJvciB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgb3ZlcndyaXRlIG1hcCBtb2RhbFxuICAgKi9cbiAgZ2V0RmlsZUNvbmZsaWN0RXJyb3IoKSB7XG4gICAgcmV0dXJuIG5ldyBFcnJvcihGSUxFX0NPTkZMSUNUX01TRyk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgd2hlbiB1c2VyIGNsaWNrIHRoZSBsb2dpbiBidXR0b24gaW4gdGhlIGNsb3VkIHByb3ZpZGVyIHRpbGUuXG4gICAqIFVwb24gbG9naW4gc3VjY2VzcywgYG9uQ2xvdWRMb2dpblN1Y2Nlc3NgIGhhcyB0byBiZSBjYWxsZWQgdG8gbm90aWZ5IGtlcGxlci5nbCBVSVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkNsb3VkTG9naW5TdWNjZXNzIC0gY2FsbGJhY2tzIHRvIGJlIGNhbGxlZCBhZnRlciBsb2dpbiBzdWNjZXNzXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIGFzeW5jIGxvZ2luKG9uQ2xvdWRMb2dpblN1Y2Nlc3MpIHtcbiAgICBvbkNsb3VkTG9naW5TdWNjZXNzKCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIHdoZW4gdXNlciBjbGljayB0aGUgbG9nb3V0IGJ1dHRvbiB1bmRlciB0aGUgY2xvdWQgcHJvdmlkZXIgdGlsZS5cbiAgICogVXBvbiBsb2dpbiBzdWNjZXNzLCBgb25DbG91ZExvZ2luU3VjY2Vzc2AgaGFzIHRvIGJlIGNhbGxlZCB0byBub3RpZnkga2VwbGVyLmdsIFVJXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9uQ2xvdWRMb2dvdXRTdWNjZXNzIC0gY2FsbGJhY2tzIHRvIGJlIGNhbGxlZCBhZnRlciBsb2dvdXQgc3VjY2Vzc1xuICAgKiBAcHVibGljXG4gICAqL1xuICBhc3luYyBsb2dvdXQob25DbG91ZExvZ291dFN1Y2Nlc3MpIHtcbiAgICBvbkNsb3VkTG9nb3V0U3VjY2VzcygpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCB0byB1cGxvYWQgbWFwIGZvciBzYXZpbmcgYW5kIHNoYXJpbmcuIEtlcGxlci5nbCB3aWxsIHBhY2thZ2UgbWFwIGRhdGEsIGNvbmZpZywgdGl0bGUsIGRlc2NyaXB0aW9uIGFuZCB0aHVtYm5haWwgZm9yIHVwbG9hZCB0byBzdG9yYWdlLlxuICAgKiBXaXRoIHRoZSBvcHRpb24gdG8gb3ZlcndyaXRlIGFscmVhZHkgc2F2ZWQgbWFwLCBhbmQgdXBsb2FkIGFzIHByaXZhdGUgb3IgcHVibGljIG1hcC5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbS5tYXBEYXRhIC0gdGhlIG1hcCBvYmplY3RcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtLm1hcERhdGEubWFwIC0ge2RhdGFzZXRzLiBjb25maWcsIGluZm86IHt0aXRsZSwgZGVzY3JpcHRpb259fVxuICAgKiBAcGFyYW0ge0Jsb2J9IHBhcmFtLm1hcERhdGEudGh1bWJuYWlsIC0gQSB0aHVtYm5haWwgb2YgY3VycmVudCBtYXAuIHRodW1ibmFpbCBzaXplIGNhbiBiZSBkZWZpbmVkIGJ5IHByb3ZpZGVyIGJ5IHRoaXMudGh1bWJuYWlsXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbcGFyYW0ub3B0aW9uc11cbiAgICogQHBhcmFtIHtib29sZWFufSBbcGFyYW0ub3B0aW9ucy5vdmVyd3JpdGVdIC0gd2hldGhlciB1c2VyIGNob29zZSB0byBvdmVyd3JpdGUgYWxyZWFkeSBzYXZlZCBtYXAgdW5kZXIgdGhlIHNhbWUgbmFtZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtwYXJhbS5vcHRpb25zLmlzUHVibGljXSAtIHdoZXRoZXIgdXNlciB3aXNoIHRvIHNoYXJlIHRoZSBtYXAgd2l0aCBvdGhlcnMuIGlmIGlzUHVibGljIGlzIHRydXRoeSwga2VwbGVyIHdpbGwgY2FsbCB0aGlzLmdldFNoYXJlVXJsKCkgdG8gZGlzcGxheSBhbiBVUkwgdGhleSBjYW4gc2hhcmUgd2l0aCBvdGhlcnNcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgYXN5bmMgdXBsb2FkTWFwKHttYXBEYXRhLCBvcHRpb25zID0ge319KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB0byBnZXQgYSBsaXN0IG9mIG1hcHMgc2F2ZWQgYnkgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIuXG4gICAqIEByZXR1cm5zIHZpc3VhbGl6YXRpb25zIGFuIGFycmF5IG9mIFZpeiBvYmplY3RzXG4gICAqIEBwdWJsaWNcbiAgICogQGV4YW1wbGVcbiAgICogIGFzeW5jIGxpc3RNYXBzKCkge1xuICAgKiAgICByZXR1cm4gW1xuICAgKiAgICAgIHtcbiAgICogICAgICAgIGlkOiAnYScsXG4gICAqICAgICAgICB0aXRsZTogJ015IG1hcCcsXG4gICAqICAgICAgICBkZXNjcmlwdGlvbjogJ015IGZpcnN0IGtlcGxlciBtYXAnLFxuICAgKiAgICAgICAgaW1hZ2VVcmw6ICdodHRwOi8vJyxcbiAgICogICAgICAgIGxhc3RNb2RpZmljYXRpb246IDE1ODI2Nzc3ODcwMDAsXG4gICAqICAgICAgICBwcml2YXRlTWFwOiBmYWxzZSxcbiAgICogICAgICAgIGxvYWRQYXJhbXM6IHt9XG4gICAqICAgICAgfVxuICAgKiAgICBdO1xuICAgKiAgfVxuICAgKi9cbiAgYXN5bmMgbGlzdE1hcHMoKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIHdoZW4gdXNlciBzZWxlY3QgYSBtYXAgdG8gbG9hZCBmcm9tIHRoZSBzdG9yYWdlIG1hcCB2aWV3ZXJcbiAgICogQHBhcmFtIHsqfSBsb2FkUGFyYW1zIC0gdGhlIGxvYWRQYXJhbXMgcHJvcGVydHkgb2YgZWFjaCB2aXN1YWxpemF0aW9uIG9iamVjdFxuICAgKiBAcmV0dXJucyBtYXBSZXNwb25zZSAtIHRoZSBtYXAgb2JqZWN0IGNvbnRhaW5pbmcgZGF0YXNldCBjb25maWcgaW5mbyBhbmQgZm9ybWF0IG9wdGlvblxuICAgKiBAcHVibGljXG4gICAqIEBleGFtcGxlXG4gICAqIGFzeW5jIGRvd25sb2FkTWFwKGxvYWRQYXJhbXMpIHtcbiAgICogIGNvbnN0IG1vY2tSZXNwb25zZSA9IHtcbiAgICogICAgbWFwOiB7XG4gICAqICAgICAgZGF0YXNldHM6IFtdLFxuICAgKiAgICAgIGNvbmZpZzoge30sXG4gICAqICAgICAgaW5mbzoge1xuICAgKiAgICAgICAgYXBwOiAna2VwbGVyLmdsJyxcbiAgICogICAgICAgIGNyZWF0ZWRfYXQ6ICcnXG4gICAqICAgICAgICB0aXRsZTogJ3Rlc3QgbWFwJyxcbiAgICogICAgICAgIGRlc2NyaXB0aW9uOiAnSGVsbG8gdGhpcyBpcyBteSB0ZXN0IGRyb3Bib3ggbWFwJ1xuICAgKiAgICAgIH1cbiAgICogICAgfSxcbiAgICogICAgLy8gcGFzcyBjc3YgaGVyZSBpZiB5b3VyIHByb3ZpZGVyIGN1cnJlbnRseSBvbmx5IHN1cHBvcnQgc2F2ZSAvIGxvYWQgZmlsZSBhcyBjc3ZcbiAgICogICAgZm9ybWF0OiAna2VwbGVyZ2wnXG4gICAqICB9O1xuICAgKlxuICAgKiAgcmV0dXJuIGRvd25sb2FkTWFwO1xuICAgKiB9XG4gICAqL1xuICBhc3luYyBkb3dubG9hZE1hcChsb2FkUGFyYW1zKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEB0eXBlZGVmIHtPYmplY3R9IFZpelxuICAgKiBAcHJvcGVydHkge3N0cmluZ30gaWQgLSBBbiB1bmlxdWUgaWRcbiAgICogQHByb3BlcnR5IHtzdHJpbmd9IHRpdGxlIC0gVGhlIHRpdGxlIG9mIHRoZSBtYXBcbiAgICogQHByb3BlcnR5IHtzdHJpbmd9IGRlc2NyaXB0aW9uIC0gVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBtYXBcbiAgICogQHByb3BlcnR5IHtzdHJpbmd9IGltYWdlVXJsIC0gVGhlIGltYWdlVXJsIG9mIHRoZSBtYXBcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGxhc3RNb2RpZmljYXRpb24gLSBBbiBlcG9jaCB0aW1lc3RhbXAgaW4gbWlsbGlzZWNvbmRzXG4gICAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gcHJpdmF0ZU1hcCAtIE9wdGlvbmFsLCB3aGV0aGVyIGlmIHRoaXMgbWFwIGlzIHByaXZhdGUgdG8gdGhlIHVzZXIsIG9yIGNhbiBiZSBhY2Nlc3NlZCBieSBvdGhlcnMgdmlhIFVSTFxuICAgKiBAcHJvcGVydHkgeyp9IGxvYWRQYXJhbXMgLSBBIHByb3BlcnR5IHRvIGJlIHBhc3NlZCB0byBgZG93bmxvYWRNYXBgXG4gICAqIEBwdWJsaWNcbiAgICovXG5cbiAgLyoqXG4gICAqIFRoZSByZXR1cm5lZCBvYmplY3Qgb2YgYGRvd25sb2FkTWFwYC4gVGhlIHJlc3BvbnNlIG9iamVjdCBzaG91bGQgY29udGFpbjogZGF0YXNldHM6IFtdLCBjb25maWc6IHt9LCBhbmQgaW5mbzoge31cbiAgICogZWFjaCBkYXRhc2V0IG9iamVjdCBzaG91bGQgYmUge2luZm86IHtpZCwgbGFiZWx9LCBkYXRhOiB7Li4ufX1cbiAgICogdG8gaW5mb3JtIGhvdyBrZXBsZXIgc2hvdWxkIHByb2Nlc3MgeW91ciBkYXRhIG9iamVjdCwgcGFzcyBpbiBgZm9ybWF0YFxuICAgKiBAdHlwZWRlZiB7T2JqZWN0fSBNYXBSZXNwb25zZVxuICAgKiBAcHJvcGVydHkge09iamVjdH0gbWFwXG4gICAqIEBwcm9wZXJ0eSB7QXJyYXk8T2JqZWN0Pn0gbWFwLmRhdGFzZXRzXG4gICAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBtYXAuY29uZmlnXG4gICAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBtYXAuaW5mb1xuICAgKiBAcHJvcGVydHkge3N0cmluZ30gZm9ybWF0IC0gb25lIG9mICdjc3YnOiBjc3YgZmlsZSBzdHJpbmcsICdnZW9qc29uJzogZ2VvanNvbiBvYmplY3QsICdyb3cnOiByb3cgb2JqZWN0LCAna2VwbGVyZ2wnOiBkYXRhc2V0cyBhcnJheSBzYXZlZCB1c2luZyBLZXBsZXJHbFNjaGVtYS5zYXZlXG4gICAqIEBwdWJsaWNcbiAgICovXG59XG4iXX0=
347
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaWNvbnMiLCJyZXF1aXJlIiwiTkFNRSIsIkRJU1BMQVlfTkFNRSIsIlRIVU1CTkFJTCIsIndpZHRoIiwiaGVpZ2h0IiwiSUNPTiIsIlVwbG9hZCIsIkZJTEVfQ09ORkxJQ1RfTVNHIiwiZXhwb3J0cyIsIlByb3ZpZGVyIiwicHJvcHMiLCJfY2xhc3NDYWxsQ2hlY2syIiwibmFtZSIsImRpc3BsYXlOYW1lIiwiaWNvbiIsInRodW1ibmFpbCIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsImhhc1ByaXZhdGVTdG9yYWdlIiwiaGFzU2hhcmluZ1VybCIsImdldFNoYXJlVXJsIiwiZnVsbFVybCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImdldE1hcFVybCIsImZ1bGxVUkwiLCJnZXRBY2Nlc3NUb2tlbiIsImdldFVzZXJOYW1lIiwiZ2V0RmlsZUNvbmZsaWN0RXJyb3IiLCJFcnJvciIsIl9sb2dpbiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwib25DbG91ZExvZ2luU3VjY2VzcyIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJhYnJ1cHQiLCJzdG9wIiwibG9naW4iLCJfeCIsImFwcGx5IiwiX2xvZ291dCIsIl9jYWxsZWUyIiwib25DbG91ZExvZ291dFN1Y2Nlc3MiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJsb2dvdXQiLCJfeDIiLCJfdXBsb2FkTWFwIiwiX2NhbGxlZTMiLCJfcmVmIiwibWFwRGF0YSIsIl9yZWYkb3B0aW9ucyIsIm9wdGlvbnMiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJ1cGxvYWRNYXAiLCJfeDMiLCJfbGlzdE1hcHMiLCJfY2FsbGVlNCIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsImxpc3RNYXBzIiwiX2Rvd25sb2FkTWFwIiwiX2NhbGxlZTUiLCJsb2FkUGFyYW1zIiwiX2NhbGxlZTUkIiwiX2NvbnRleHQ1IiwiZG93bmxvYWRNYXAiLCJfeDQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xvdWQtcHJvdmlkZXJzL3Byb3ZpZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7VXBsb2FkfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5cbmNvbnN0IE5BTUUgPSAnY2xvdWQtcHJvdmlkZXInO1xuY29uc3QgRElTUExBWV9OQU1FID0gJ0Nsb3VkIFByb3ZpZGVyJztcbmNvbnN0IFRIVU1CTkFJTCA9IHt3aWR0aDogMzAwLCBoZWlnaHQ6IDIwMH07XG5jb25zdCBJQ09OID0gVXBsb2FkO1xuZXhwb3J0IGNvbnN0IEZJTEVfQ09ORkxJQ1RfTVNHID0gJ2ZpbGVfY29uZmxpY3QnO1xuLyoqXG4gKiBUaGUgZGVmYXVsdCBwcm92aWRlciBjbGFzc1xuICogQHBhcmFtIHtvYmplY3R9IHByb3BzXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJvcHMubmFtZVxuICogQHBhcmFtIHtzdHJpbmd9IHByb3BzLmRpc3BsYXlOYW1lXG4gKiBAcGFyYW0ge1JlYWN0LkNvbXBvbmVudH0gcHJvcHMuaWNvbiAtIFJlYWN0IGVsZW1lbnRcbiAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wcy50aHVtYm5haWwgLSB0aHVtYm5haWwgc2l6ZSBvYmplY3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBwcm9wcy50aHVtYm5haWwud2lkdGggLSB0aHVtYm5haWwgd2lkdGggaW4gcGl4ZWxzXG4gKiBAcGFyYW0ge251bWJlcn0gcHJvcHMudGh1bWJuYWlsLmhlaWdodCAtIHRodW1ibmFpbCBoZWlnaHQgaW4gcGl4ZWxzXG4gKiBAcHVibGljXG4gKiBAZXhhbXBsZVxuICpcbiAqIGNvbnN0IG15UHJvdmlkZXIgPSBuZXcgUHJvdmlkZXIoe1xuICogIG5hbWU6ICdmb28nLFxuICogIGRpc3BsYXlOYW1lOiAnRm9vIFN0b3JhZ2UnXG4gKiAgaWNvbjogSWNvbixcbiAqICB0aHVtYm5haWw6IHt3aWR0aDogMzAwLCBoZWlnaHQ6IDIwMH1cbiAqIH0pXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFByb3ZpZGVyIHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICB0aGlzLm5hbWUgPSBwcm9wcy5uYW1lIHx8IE5BTUU7XG4gICAgdGhpcy5kaXNwbGF5TmFtZSA9IHByb3BzLmRpc3BsYXlOYW1lIHx8IERJU1BMQVlfTkFNRTtcbiAgICB0aGlzLmljb24gPSBwcm9wcy5pY29uIHx8IElDT047XG4gICAgdGhpcy50aHVtYm5haWwgPSBwcm9wcy50aHVtYm5haWwgfHwgVEhVTUJOQUlMO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBwcm92aWRlciBzdXBwb3J0IHVwbG9hZCBtYXAgdG8gYSBwcml2YXRlIHN0b3JhZ2UuIElmIHRydXRoeSwgdXNlciB3aWxsIGJlIGRpc3BsYXllZCB3aXRoIHRoZSBzdG9yYWdlIHNhdmUgaWNvbiBvbiB0aGUgdG9wIHJpZ2h0IG9mIHRoZSBzaWRlIGJhci5cbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqIEBwdWJsaWNcbiAgICovXG4gIGhhc1ByaXZhdGVTdG9yYWdlKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBwcm92aWRlciBzdXBwb3J0IHNoYXJlIG1hcCB2aWEgYSBwdWJsaWMgdXJsLCBpZiB0cnV0aHksIHVzZXIgd2lsbCBiZSBkaXNwbGF5ZWQgd2l0aCBhIHNoYXJlIG1hcCB2aWEgdXJsIHVuZGVyIHRoZSBleHBvcnQgbWFwIG9wdGlvbiBvbiB0aGUgdG9wIHJpZ2h0IG9mIHRoZSBzaWRlIGJhclxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICogQHB1YmxpY1xuICAgKi9cbiAgaGFzU2hhcmluZ1VybCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYWZ0ZXIgdXNlciBzaGFyZSBhIG1hcCwgdG8gZGlzcGxheSB0aGUgc2hhcmUgdXJsLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGZ1bGxVcmwgLSBXaGV0aGVyIHRvIHJldHVybiB0aGUgZnVsbCB1cmwgd2l0aCBkb21haW4sIG9yIGp1c3QgdGhlIGxvY2F0aW9uXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IHNoYXJlVXJsXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIGdldFNoYXJlVXJsKGZ1bGxVcmwgPSBmYWxzZSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgYnkga2VwbGVyLmdsIGRlbW8gYXBwIHRvIHB1c2hlcyBhIG5ldyBsb2NhdGlvbiB0byBoaXN0b3J5LCBiZWNvbWluZyB0aGUgY3VycmVudCBsb2NhdGlvbi5cbiAgICogQHBhcmFtIHtib29sZWFufSBmdWxsVVJMIC0gV2hldGhlciB0byByZXR1cm4gdGhlIGZ1bGwgdXJsIHdpdGggZG9tYWluLCBvciBqdXN0IHRoZSBsb2NhdGlvblxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBtYXBVcmxcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgZ2V0TWFwVXJsKGZ1bGxVUkwgPSB0cnVlKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB0byBkZXRlcm1pbmUgd2hldGhlciB1c2VyIGFscmVhZHkgbG9nZ2VkIGluIHRvIHRoaXMgcHJvdmlkZXJcbiAgICogQHB1YmxpY1xuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gdHJ1ZSBpZiBhIHVzZXIgYWxyZWFkeSBsb2dnZWQgaW5cbiAgICovXG4gIGdldEFjY2Vzc1Rva2VuKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB0byBnZXQgdGhlIHVzZXIgbmFtZSBvZiB0aGUgY3VycmVudCB1c2VyLiBJdCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgY2xvdWQgcHJvdmlkZXIgdGlsZS5cbiAgICogQHB1YmxpY1xuICAgKiBAcmV0dXJucyB7c3RyaW5nfSB0cnVlIGlmIGEgdXNlciBhbHJlYWR5IGxvZ2dlZCBpblxuICAgKi9cbiAgZ2V0VXNlck5hbWUoKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgcmV0dXJuIGEgc3RhbmRhcmQgZXJyb3IgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIG92ZXJ3cml0ZSBtYXAgbW9kYWxcbiAgICovXG4gIGdldEZpbGVDb25mbGljdEVycm9yKCkge1xuICAgIHJldHVybiBuZXcgRXJyb3IoRklMRV9DT05GTElDVF9NU0cpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIHdoZW4gdXNlciBjbGljayB0aGUgbG9naW4gYnV0dG9uIGluIHRoZSBjbG91ZCBwcm92aWRlciB0aWxlLlxuICAgKiBVcG9uIGxvZ2luIHN1Y2Nlc3MsIGBvbkNsb3VkTG9naW5TdWNjZXNzYCBoYXMgdG8gYmUgY2FsbGVkIHRvIG5vdGlmeSBrZXBsZXIuZ2wgVUlcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gb25DbG91ZExvZ2luU3VjY2VzcyAtIGNhbGxiYWNrcyB0byBiZSBjYWxsZWQgYWZ0ZXIgbG9naW4gc3VjY2Vzc1xuICAgKiBAcHVibGljXG4gICAqL1xuICBhc3luYyBsb2dpbihvbkNsb3VkTG9naW5TdWNjZXNzKSB7XG4gICAgb25DbG91ZExvZ2luU3VjY2VzcygpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCB3aGVuIHVzZXIgY2xpY2sgdGhlIGxvZ291dCBidXR0b24gdW5kZXIgdGhlIGNsb3VkIHByb3ZpZGVyIHRpbGUuXG4gICAqIFVwb24gbG9naW4gc3VjY2VzcywgYG9uQ2xvdWRMb2dpblN1Y2Nlc3NgIGhhcyB0byBiZSBjYWxsZWQgdG8gbm90aWZ5IGtlcGxlci5nbCBVSVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkNsb3VkTG9nb3V0U3VjY2VzcyAtIGNhbGxiYWNrcyB0byBiZSBjYWxsZWQgYWZ0ZXIgbG9nb3V0IHN1Y2Nlc3NcbiAgICogQHB1YmxpY1xuICAgKi9cbiAgYXN5bmMgbG9nb3V0KG9uQ2xvdWRMb2dvdXRTdWNjZXNzKSB7XG4gICAgb25DbG91ZExvZ291dFN1Y2Nlc3MoKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgdG8gdXBsb2FkIG1hcCBmb3Igc2F2aW5nIGFuZCBzaGFyaW5nLiBLZXBsZXIuZ2wgd2lsbCBwYWNrYWdlIG1hcCBkYXRhLCBjb25maWcsIHRpdGxlLCBkZXNjcmlwdGlvbiBhbmQgdGh1bWJuYWlsIGZvciB1cGxvYWQgdG8gc3RvcmFnZS5cbiAgICogV2l0aCB0aGUgb3B0aW9uIHRvIG92ZXJ3cml0ZSBhbHJlYWR5IHNhdmVkIG1hcCwgYW5kIHVwbG9hZCBhcyBwcml2YXRlIG9yIHB1YmxpYyBtYXAuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbVxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW0ubWFwRGF0YSAtIHRoZSBtYXAgb2JqZWN0XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbS5tYXBEYXRhLm1hcCAtIHtkYXRhc2V0cy4gY29uZmlnLCBpbmZvOiB7dGl0bGUsIGRlc2NyaXB0aW9ufX1cbiAgICogQHBhcmFtIHtCbG9ifSBwYXJhbS5tYXBEYXRhLnRodW1ibmFpbCAtIEEgdGh1bWJuYWlsIG9mIGN1cnJlbnQgbWFwLiB0aHVtYm5haWwgc2l6ZSBjYW4gYmUgZGVmaW5lZCBieSBwcm92aWRlciBieSB0aGlzLnRodW1ibmFpbFxuICAgKiBAcGFyYW0ge29iamVjdH0gW3BhcmFtLm9wdGlvbnNdXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3BhcmFtLm9wdGlvbnMub3ZlcndyaXRlXSAtIHdoZXRoZXIgdXNlciBjaG9vc2UgdG8gb3ZlcndyaXRlIGFscmVhZHkgc2F2ZWQgbWFwIHVuZGVyIHRoZSBzYW1lIG5hbWVcbiAgICogQHBhcmFtIHtib29sZWFufSBbcGFyYW0ub3B0aW9ucy5pc1B1YmxpY10gLSB3aGV0aGVyIHVzZXIgd2lzaCB0byBzaGFyZSB0aGUgbWFwIHdpdGggb3RoZXJzLiBpZiBpc1B1YmxpYyBpcyB0cnV0aHksIGtlcGxlciB3aWxsIGNhbGwgdGhpcy5nZXRTaGFyZVVybCgpIHRvIGRpc3BsYXkgYW4gVVJMIHRoZXkgY2FuIHNoYXJlIHdpdGggb3RoZXJzXG4gICAqIEBwdWJsaWNcbiAgICovXG4gIGFzeW5jIHVwbG9hZE1hcCh7bWFwRGF0YSwgb3B0aW9ucyA9IHt9fSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgdG8gZ2V0IGEgbGlzdCBvZiBtYXBzIHNhdmVkIGJ5IHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyLlxuICAgKiBAcmV0dXJucyB2aXN1YWxpemF0aW9ucyBhbiBhcnJheSBvZiBWaXogb2JqZWN0c1xuICAgKiBAcHVibGljXG4gICAqIEBleGFtcGxlXG4gICAqICBhc3luYyBsaXN0TWFwcygpIHtcbiAgICogICAgcmV0dXJuIFtcbiAgICogICAgICB7XG4gICAqICAgICAgICBpZDogJ2EnLFxuICAgKiAgICAgICAgdGl0bGU6ICdNeSBtYXAnLFxuICAgKiAgICAgICAgZGVzY3JpcHRpb246ICdNeSBmaXJzdCBrZXBsZXIgbWFwJyxcbiAgICogICAgICAgIGltYWdlVXJsOiAnaHR0cDovLycsXG4gICAqICAgICAgICBsYXN0TW9kaWZpY2F0aW9uOiAxNTgyNjc3Nzg3MDAwLFxuICAgKiAgICAgICAgcHJpdmF0ZU1hcDogZmFsc2UsXG4gICAqICAgICAgICBsb2FkUGFyYW1zOiB7fVxuICAgKiAgICAgIH1cbiAgICogICAgXTtcbiAgICogIH1cbiAgICovXG4gIGFzeW5jIGxpc3RNYXBzKCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCB3aGVuIHVzZXIgc2VsZWN0IGEgbWFwIHRvIGxvYWQgZnJvbSB0aGUgc3RvcmFnZSBtYXAgdmlld2VyXG4gICAqIEBwYXJhbSB7Kn0gbG9hZFBhcmFtcyAtIHRoZSBsb2FkUGFyYW1zIHByb3BlcnR5IG9mIGVhY2ggdmlzdWFsaXphdGlvbiBvYmplY3RcbiAgICogQHJldHVybnMgbWFwUmVzcG9uc2UgLSB0aGUgbWFwIG9iamVjdCBjb250YWluaW5nIGRhdGFzZXQgY29uZmlnIGluZm8gYW5kIGZvcm1hdCBvcHRpb25cbiAgICogQHB1YmxpY1xuICAgKiBAZXhhbXBsZVxuICAgKiBhc3luYyBkb3dubG9hZE1hcChsb2FkUGFyYW1zKSB7XG4gICAqICBjb25zdCBtb2NrUmVzcG9uc2UgPSB7XG4gICAqICAgIG1hcDoge1xuICAgKiAgICAgIGRhdGFzZXRzOiBbXSxcbiAgICogICAgICBjb25maWc6IHt9LFxuICAgKiAgICAgIGluZm86IHtcbiAgICogICAgICAgIGFwcDogJ2tlcGxlci5nbCcsXG4gICAqICAgICAgICBjcmVhdGVkX2F0OiAnJ1xuICAgKiAgICAgICAgdGl0bGU6ICd0ZXN0IG1hcCcsXG4gICAqICAgICAgICBkZXNjcmlwdGlvbjogJ0hlbGxvIHRoaXMgaXMgbXkgdGVzdCBkcm9wYm94IG1hcCdcbiAgICogICAgICB9XG4gICAqICAgIH0sXG4gICAqICAgIC8vIHBhc3MgY3N2IGhlcmUgaWYgeW91ciBwcm92aWRlciBjdXJyZW50bHkgb25seSBzdXBwb3J0IHNhdmUgLyBsb2FkIGZpbGUgYXMgY3N2XG4gICAqICAgIGZvcm1hdDogJ2tlcGxlcmdsJ1xuICAgKiAgfTtcbiAgICpcbiAgICogIHJldHVybiBkb3dubG9hZE1hcDtcbiAgICogfVxuICAgKi9cbiAgYXN5bmMgZG93bmxvYWRNYXAobG9hZFBhcmFtcykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAdHlwZWRlZiB7T2JqZWN0fSBWaXpcbiAgICogQHByb3BlcnR5IHtzdHJpbmd9IGlkIC0gQW4gdW5pcXVlIGlkXG4gICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0aXRsZSAtIFRoZSB0aXRsZSBvZiB0aGUgbWFwXG4gICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBkZXNjcmlwdGlvbiAtIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgbWFwXG4gICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBpbWFnZVVybCAtIFRoZSBpbWFnZVVybCBvZiB0aGUgbWFwXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBsYXN0TW9kaWZpY2F0aW9uIC0gQW4gZXBvY2ggdGltZXN0YW1wIGluIG1pbGxpc2Vjb25kc1xuICAgKiBAcHJvcGVydHkge2Jvb2xlYW59IHByaXZhdGVNYXAgLSBPcHRpb25hbCwgd2hldGhlciBpZiB0aGlzIG1hcCBpcyBwcml2YXRlIHRvIHRoZSB1c2VyLCBvciBjYW4gYmUgYWNjZXNzZWQgYnkgb3RoZXJzIHZpYSBVUkxcbiAgICogQHByb3BlcnR5IHsqfSBsb2FkUGFyYW1zIC0gQSBwcm9wZXJ0eSB0byBiZSBwYXNzZWQgdG8gYGRvd25sb2FkTWFwYFxuICAgKiBAcHVibGljXG4gICAqL1xuXG4gIC8qKlxuICAgKiBUaGUgcmV0dXJuZWQgb2JqZWN0IG9mIGBkb3dubG9hZE1hcGAuIFRoZSByZXNwb25zZSBvYmplY3Qgc2hvdWxkIGNvbnRhaW46IGRhdGFzZXRzOiBbXSwgY29uZmlnOiB7fSwgYW5kIGluZm86IHt9XG4gICAqIGVhY2ggZGF0YXNldCBvYmplY3Qgc2hvdWxkIGJlIHtpbmZvOiB7aWQsIGxhYmVsfSwgZGF0YTogey4uLn19XG4gICAqIHRvIGluZm9ybSBob3cga2VwbGVyIHNob3VsZCBwcm9jZXNzIHlvdXIgZGF0YSBvYmplY3QsIHBhc3MgaW4gYGZvcm1hdGBcbiAgICogQHR5cGVkZWYge09iamVjdH0gTWFwUmVzcG9uc2VcbiAgICogQHByb3BlcnR5IHtPYmplY3R9IG1hcFxuICAgKiBAcHJvcGVydHkge0FycmF5PE9iamVjdD59IG1hcC5kYXRhc2V0c1xuICAgKiBAcHJvcGVydHkge09iamVjdH0gbWFwLmNvbmZpZ1xuICAgKiBAcHJvcGVydHkge09iamVjdH0gbWFwLmluZm9cbiAgICogQHByb3BlcnR5IHtzdHJpbmd9IGZvcm1hdCAtIG9uZSBvZiAnY3N2JzogY3N2IGZpbGUgc3RyaW5nLCAnZ2VvanNvbic6IGdlb2pzb24gb2JqZWN0LCAncm93Jzogcm93IG9iamVjdCwgJ2tlcGxlcmdsJzogZGF0YXNldHMgYXJyYXkgc2F2ZWQgdXNpbmcgS2VwbGVyR2xTY2hlbWEuc2F2ZVxuICAgKiBAcHVibGljXG4gICAqL1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBSUEsSUFBTUMsSUFBSSxHQUFHLGdCQUFnQjtBQUM3QixJQUFNQyxZQUFZLEdBQUcsZ0JBQWdCO0FBQ3JDLElBQU1DLFNBQVMsR0FBRztFQUFDQyxLQUFLLEVBQUUsR0FBRztFQUFFQyxNQUFNLEVBQUU7QUFBRyxDQUFDO0FBQzNDLElBQU1DLElBQUksR0FBR0MsYUFBTTtBQUNaLElBQU1DLGlCQUFpQixHQUFBQyxPQUFBLENBQUFELGlCQUFBLEdBQUcsZUFBZTtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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