@kepler.gl/components 3.0.0-alpha.0 → 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/dist/bottom-widget.d.ts +11 -38
  2. package/dist/bottom-widget.js +43 -99
  3. package/dist/common/action-panel.d.ts +2 -2
  4. package/dist/common/action-panel.js +4 -4
  5. package/dist/common/animation-control/animation-control.d.ts +19 -18
  6. package/dist/common/animation-control/animation-control.js +59 -81
  7. package/dist/common/animation-control/animation-controller.d.ts +6 -2
  8. package/dist/common/animation-control/animation-controller.js +50 -36
  9. package/dist/common/animation-control/animation-speed-slider.js +2 -2
  10. package/dist/common/animation-control/animation-window-control.js +1 -1
  11. package/dist/common/animation-control/floating-time-display.d.ts +2 -2
  12. package/dist/common/animation-control/floating-time-display.js +2 -2
  13. package/dist/common/animation-control/play-control.d.ts +2 -2
  14. package/dist/common/animation-control/play-control.js +1 -1
  15. package/dist/common/animation-control/playback-controls.d.ts +7 -7
  16. package/dist/common/animation-control/playback-controls.js +6 -6
  17. package/dist/common/animation-control/reset-control.d.ts +2 -2
  18. package/dist/common/animation-control/reset-control.js +1 -1
  19. package/dist/common/animation-control/speed-control.d.ts +2 -2
  20. package/dist/common/animation-control/speed-control.js +2 -2
  21. package/dist/common/animation-control/window-action-control.d.ts +2 -2
  22. package/dist/common/animation-control/window-action-control.js +1 -1
  23. package/dist/common/checkbox.d.ts +2 -2
  24. package/dist/common/checkbox.js +3 -3
  25. package/dist/common/color-legend.d.ts +3 -3
  26. package/dist/common/color-legend.js +11 -17
  27. package/dist/common/data-table/button.d.ts +1 -1
  28. package/dist/common/data-table/button.js +2 -2
  29. package/dist/common/data-table/canvas.js +2 -2
  30. package/dist/common/data-table/cell-size.js +44 -13
  31. package/dist/common/data-table/display-format.d.ts +25 -0
  32. package/dist/common/data-table/display-format.js +169 -0
  33. package/dist/common/data-table/grid.d.ts +5 -2
  34. package/dist/common/data-table/grid.js +45 -5
  35. package/dist/common/data-table/header-cell.d.ts +4 -1
  36. package/dist/common/data-table/header-cell.js +66 -29
  37. package/dist/common/data-table/index.d.ts +27 -34
  38. package/dist/common/data-table/index.js +148 -62
  39. package/dist/common/data-table/option-dropdown.d.ts +17 -3
  40. package/dist/common/data-table/option-dropdown.js +86 -13
  41. package/dist/common/dataset-label.d.ts +2 -2
  42. package/dist/common/dataset-label.js +3 -3
  43. package/dist/common/error-boundary.d.ts +6 -2
  44. package/dist/common/error-boundary.js +2 -2
  45. package/dist/common/field-selector.d.ts +9 -3
  46. package/dist/common/field-selector.js +3 -3
  47. package/dist/common/field-token.d.ts +8 -0
  48. package/dist/common/field-token.js +7 -3
  49. package/dist/common/file-uploader/file-drop.d.ts +3 -2
  50. package/dist/common/file-uploader/file-drop.js +2 -2
  51. package/dist/common/file-uploader/file-upload-progress.js +2 -2
  52. package/dist/common/file-uploader/file-upload.d.ts +2 -6
  53. package/dist/common/file-uploader/file-upload.js +2 -2
  54. package/dist/common/file-uploader/upload-button.d.ts +1 -0
  55. package/dist/common/file-uploader/upload-button.js +2 -2
  56. package/dist/common/histogram-plot.d.ts +2 -2
  57. package/dist/common/histogram-plot.js +18 -12
  58. package/dist/common/icon-button.d.ts +2 -1
  59. package/dist/common/icon-button.js +2 -2
  60. package/dist/common/icons/add.d.ts +2 -2
  61. package/dist/common/icons/add.js +2 -2
  62. package/dist/common/icons/anchor_window.d.ts +2 -2
  63. package/dist/common/icons/anchor_window.js +2 -2
  64. package/dist/common/icons/arrow-down-alt.d.ts +2 -2
  65. package/dist/common/icons/arrow-down-alt.js +2 -2
  66. package/dist/common/icons/arrow-down-solid.d.ts +2 -2
  67. package/dist/common/icons/arrow-down-solid.js +2 -2
  68. package/dist/common/icons/arrow-down.d.ts +2 -2
  69. package/dist/common/icons/arrow-down.js +2 -2
  70. package/dist/common/icons/arrow-left.d.ts +2 -2
  71. package/dist/common/icons/arrow-left.js +2 -2
  72. package/dist/common/icons/arrow-right.d.ts +2 -2
  73. package/dist/common/icons/arrow-right.js +2 -2
  74. package/dist/common/icons/arrow-up-alt.d.ts +2 -2
  75. package/dist/common/icons/arrow-up-alt.js +2 -2
  76. package/dist/common/icons/arrow-up-solid.d.ts +2 -2
  77. package/dist/common/icons/arrow-up-solid.js +2 -2
  78. package/dist/common/icons/arrow-up.d.ts +2 -2
  79. package/dist/common/icons/arrow-up.js +2 -2
  80. package/dist/common/icons/base.d.ts +1 -1
  81. package/dist/common/icons/base.js +2 -2
  82. package/dist/common/icons/bug.d.ts +2 -2
  83. package/dist/common/icons/bug.js +2 -2
  84. package/dist/common/icons/cancel.d.ts +2 -2
  85. package/dist/common/icons/cancel.js +2 -2
  86. package/dist/common/icons/checkmark.d.ts +2 -2
  87. package/dist/common/icons/checkmark.js +2 -2
  88. package/dist/common/icons/clipboard.d.ts +2 -2
  89. package/dist/common/icons/clipboard.js +2 -2
  90. package/dist/common/icons/clock.d.ts +2 -2
  91. package/dist/common/icons/clock.js +2 -2
  92. package/dist/common/icons/close.d.ts +2 -2
  93. package/dist/common/icons/close.js +2 -2
  94. package/dist/common/icons/code-alt.d.ts +2 -2
  95. package/dist/common/icons/code-alt.js +2 -2
  96. package/dist/common/icons/copy.d.ts +2 -2
  97. package/dist/common/icons/copy.js +2 -2
  98. package/dist/common/icons/crosshairs.d.ts +2 -2
  99. package/dist/common/icons/crosshairs.js +2 -2
  100. package/dist/common/icons/cube-3d.d.ts +2 -2
  101. package/dist/common/icons/cube-3d.js +2 -2
  102. package/dist/common/icons/cursor-click.d.ts +2 -2
  103. package/dist/common/icons/cursor-click.js +2 -2
  104. package/dist/common/icons/cursor-point.d.ts +14 -0
  105. package/dist/common/icons/cursor-point.js +89 -0
  106. package/dist/common/icons/data-table.d.ts +2 -2
  107. package/dist/common/icons/data-table.js +2 -2
  108. package/dist/common/icons/db.d.ts +2 -2
  109. package/dist/common/icons/db.js +2 -2
  110. package/dist/common/icons/delete.d.ts +2 -2
  111. package/dist/common/icons/delete.js +2 -2
  112. package/dist/common/icons/docs.d.ts +2 -2
  113. package/dist/common/icons/docs.js +2 -2
  114. package/dist/common/icons/drag-n-drop.d.ts +2 -2
  115. package/dist/common/icons/drag-n-drop.js +2 -2
  116. package/dist/common/icons/draw-polygon.d.ts +2 -2
  117. package/dist/common/icons/draw-polygon.js +2 -2
  118. package/dist/common/icons/email.d.ts +2 -2
  119. package/dist/common/icons/email.js +2 -2
  120. package/dist/common/icons/expand.d.ts +2 -2
  121. package/dist/common/icons/expand.js +2 -2
  122. package/dist/common/icons/eye-seen.d.ts +2 -2
  123. package/dist/common/icons/eye-seen.js +2 -2
  124. package/dist/common/icons/eye-unseen.d.ts +2 -2
  125. package/dist/common/icons/eye-unseen.js +2 -2
  126. package/dist/common/icons/file-type.d.ts +2 -2
  127. package/dist/common/icons/file-type.js +2 -2
  128. package/dist/common/icons/file.d.ts +2 -2
  129. package/dist/common/icons/file.js +2 -2
  130. package/dist/common/icons/files.d.ts +1 -1
  131. package/dist/common/icons/files.js +2 -2
  132. package/dist/common/icons/filter-funnel.d.ts +2 -2
  133. package/dist/common/icons/filter-funnel.js +2 -2
  134. package/dist/common/icons/free-window.d.ts +2 -2
  135. package/dist/common/icons/free-window.js +2 -2
  136. package/dist/common/icons/gear.d.ts +2 -2
  137. package/dist/common/icons/gear.js +2 -2
  138. package/dist/common/icons/hash.d.ts +2 -2
  139. package/dist/common/icons/hash.js +2 -2
  140. package/dist/common/icons/histogram.d.ts +1 -1
  141. package/dist/common/icons/histogram.js +2 -2
  142. package/dist/common/icons/index.d.ts +1 -0
  143. package/dist/common/icons/index.js +10 -2
  144. package/dist/common/icons/info.d.ts +2 -2
  145. package/dist/common/icons/info.js +2 -2
  146. package/dist/common/icons/layers.d.ts +2 -2
  147. package/dist/common/icons/layers.js +2 -2
  148. package/dist/common/icons/left-arrow.d.ts +2 -2
  149. package/dist/common/icons/left-arrow.js +2 -2
  150. package/dist/common/icons/legend.d.ts +2 -2
  151. package/dist/common/icons/legend.js +2 -2
  152. package/dist/common/icons/line-chart.d.ts +2 -2
  153. package/dist/common/icons/line-chart.js +2 -2
  154. package/dist/common/icons/login.d.ts +2 -2
  155. package/dist/common/icons/login.js +2 -2
  156. package/dist/common/icons/logout.d.ts +2 -2
  157. package/dist/common/icons/logout.js +2 -2
  158. package/dist/common/icons/map-icon.d.ts +2 -2
  159. package/dist/common/icons/map-icon.js +2 -2
  160. package/dist/common/icons/map.d.ts +2 -2
  161. package/dist/common/icons/map.js +2 -2
  162. package/dist/common/icons/messages.d.ts +2 -2
  163. package/dist/common/icons/messages.js +2 -2
  164. package/dist/common/icons/minus.d.ts +2 -2
  165. package/dist/common/icons/minus.js +2 -2
  166. package/dist/common/icons/order-by-dataset.d.ts +2 -2
  167. package/dist/common/icons/order-by-dataset.js +2 -2
  168. package/dist/common/icons/order-by-list.d.ts +2 -2
  169. package/dist/common/icons/order-by-list.js +2 -2
  170. package/dist/common/icons/pause.d.ts +2 -2
  171. package/dist/common/icons/pause.js +2 -2
  172. package/dist/common/icons/picture.d.ts +1 -1
  173. package/dist/common/icons/picture.js +2 -2
  174. package/dist/common/icons/pin.d.ts +2 -2
  175. package/dist/common/icons/pin.js +2 -2
  176. package/dist/common/icons/play.d.ts +2 -2
  177. package/dist/common/icons/play.js +2 -2
  178. package/dist/common/icons/polygon.d.ts +2 -2
  179. package/dist/common/icons/polygon.js +2 -2
  180. package/dist/common/icons/rectangle.d.ts +2 -2
  181. package/dist/common/icons/rectangle.js +2 -2
  182. package/dist/common/icons/reduce.d.ts +2 -2
  183. package/dist/common/icons/reduce.js +2 -2
  184. package/dist/common/icons/reset.d.ts +2 -2
  185. package/dist/common/icons/reset.js +2 -2
  186. package/dist/common/icons/rocket.d.ts +2 -2
  187. package/dist/common/icons/rocket.js +2 -2
  188. package/dist/common/icons/save.d.ts +2 -2
  189. package/dist/common/icons/save.js +2 -2
  190. package/dist/common/icons/save2.d.ts +2 -2
  191. package/dist/common/icons/save2.js +2 -2
  192. package/dist/common/icons/search.d.ts +2 -2
  193. package/dist/common/icons/search.js +2 -2
  194. package/dist/common/icons/settings.d.ts +2 -2
  195. package/dist/common/icons/settings.js +2 -2
  196. package/dist/common/icons/share.d.ts +2 -2
  197. package/dist/common/icons/share.js +2 -2
  198. package/dist/common/icons/split.d.ts +2 -2
  199. package/dist/common/icons/split.js +2 -2
  200. package/dist/common/icons/square-select.d.ts +2 -2
  201. package/dist/common/icons/square-select.js +2 -2
  202. package/dist/common/icons/trash.d.ts +2 -2
  203. package/dist/common/icons/trash.js +2 -2
  204. package/dist/common/icons/vert-dots.d.ts +2 -2
  205. package/dist/common/icons/vert-dots.js +2 -2
  206. package/dist/common/icons/vert-three-dots.d.ts +2 -2
  207. package/dist/common/icons/vert-three-dots.js +2 -2
  208. package/dist/common/icons/warning-sign.d.ts +2 -2
  209. package/dist/common/icons/warning-sign.js +2 -2
  210. package/dist/common/icons/warning.d.ts +2 -2
  211. package/dist/common/icons/warning.js +2 -2
  212. package/dist/common/image-preview.d.ts +2 -2
  213. package/dist/common/image-preview.js +2 -2
  214. package/dist/common/index.d.ts +1 -1
  215. package/dist/common/index.js +8 -2
  216. package/dist/common/info-helper.d.ts +2 -2
  217. package/dist/common/info-helper.js +2 -2
  218. package/dist/common/item-selector/accessor.js +2 -2
  219. package/dist/common/item-selector/chickleted-input.js +2 -2
  220. package/dist/common/item-selector/dropdown-list.d.ts +28 -8
  221. package/dist/common/item-selector/dropdown-list.js +144 -25
  222. package/dist/common/item-selector/item-selector.d.ts +2 -3
  223. package/dist/common/item-selector/item-selector.js +7 -3
  224. package/dist/common/item-selector/typeahead.d.ts +16 -12
  225. package/dist/common/item-selector/typeahead.js +24 -13
  226. package/dist/common/line-chart.d.ts +2 -2
  227. package/dist/common/line-chart.js +2 -2
  228. package/dist/common/loading-spinner.js +2 -2
  229. package/dist/common/logo.d.ts +2 -2
  230. package/dist/common/logo.js +2 -2
  231. package/dist/common/map-layer-selector.d.ts +2 -2
  232. package/dist/common/map-layer-selector.js +3 -4
  233. package/dist/common/modal.d.ts +24 -11
  234. package/dist/common/modal.js +2 -2
  235. package/dist/common/portaled.d.ts +513 -2
  236. package/dist/common/portaled.js +2 -2
  237. package/dist/common/progress-bar.d.ts +2 -2
  238. package/dist/common/progress-bar.js +2 -2
  239. package/dist/common/range-brush.js +2 -2
  240. package/dist/common/range-plot.d.ts +6 -2
  241. package/dist/common/range-plot.js +4 -3
  242. package/dist/common/range-slider.d.ts +5 -1
  243. package/dist/common/range-slider.js +9 -3
  244. package/dist/common/slider/mouse-event.js +2 -2
  245. package/dist/common/slider/slider-bar-handle.d.ts +2 -2
  246. package/dist/common/slider/slider-bar-handle.js +2 -2
  247. package/dist/common/slider/slider-handle.d.ts +1 -1
  248. package/dist/common/slider/slider-handle.js +2 -2
  249. package/dist/common/slider/slider.d.ts +7 -5
  250. package/dist/common/slider/slider.js +8 -5
  251. package/dist/common/styled-components.d.ts +5 -0
  252. package/dist/common/styled-components.js +161 -47
  253. package/dist/common/switch.d.ts +3 -2
  254. package/dist/common/switch.js +2 -2
  255. package/dist/common/time-range-slider-time-title.d.ts +2 -2
  256. package/dist/common/time-range-slider-time-title.js +2 -2
  257. package/dist/common/time-range-slider.d.ts +6 -3
  258. package/dist/common/time-range-slider.js +33 -14
  259. package/dist/common/time-slider-marker.d.ts +1 -1
  260. package/dist/common/time-slider-marker.js +3 -3
  261. package/dist/common/timeline-slider.d.ts +13 -0
  262. package/dist/common/timeline-slider.js +173 -0
  263. package/dist/common/tippy-tooltip.d.ts +4 -2
  264. package/dist/common/tippy-tooltip.js +23 -11
  265. package/dist/common/toolbar-item.d.ts +1 -1
  266. package/dist/common/toolbar-item.js +6 -4
  267. package/dist/common/toolbar.js +2 -2
  268. package/dist/common/vertical-toolbar.js +2 -2
  269. package/dist/connect/keplergl-connect.d.ts +5 -1
  270. package/dist/connect/keplergl-connect.js +2 -2
  271. package/dist/connect/with-local-selector.js +2 -2
  272. package/dist/container.js +2 -2
  273. package/dist/context.js +4 -3
  274. package/dist/dnd-context.d.ts +13 -0
  275. package/dist/dnd-context.js +252 -0
  276. package/dist/editor/editor.d.ts +11 -10
  277. package/dist/editor/editor.js +97 -103
  278. package/dist/editor/feature-action-panel.d.ts +8 -6
  279. package/dist/editor/feature-action-panel.js +75 -22
  280. package/dist/effects/effect-configurator.d.ts +18 -0
  281. package/dist/effects/effect-configurator.js +237 -0
  282. package/dist/effects/effect-list.d.ts +15 -0
  283. package/dist/effects/effect-list.js +173 -0
  284. package/dist/effects/effect-manager.d.ts +21 -0
  285. package/dist/effects/effect-manager.js +129 -0
  286. package/dist/effects/effect-panel-header.d.ts +33 -0
  287. package/dist/effects/effect-panel-header.js +174 -0
  288. package/dist/effects/effect-panel.d.ts +24 -0
  289. package/dist/effects/effect-panel.js +162 -0
  290. package/dist/effects/effect-time-configurator.d.ts +13 -0
  291. package/dist/effects/effect-time-configurator.js +191 -0
  292. package/dist/effects/effect-type-selector.d.ts +11 -0
  293. package/dist/effects/effect-type-selector.js +117 -0
  294. package/dist/effects/side-panel-title.d.ts +7 -0
  295. package/dist/effects/side-panel-title.js +67 -0
  296. package/dist/filter-animation-controller.d.ts +17 -0
  297. package/dist/filter-animation-controller.js +91 -0
  298. package/dist/filters/components.js +2 -2
  299. package/dist/filters/filter-panels/filter-panel-with-field-select.js +3 -3
  300. package/dist/filters/filter-panels/multi-select-filter-panel.js +3 -3
  301. package/dist/filters/filter-panels/new-filter-panel.js +2 -2
  302. package/dist/filters/filter-panels/polygon-filter-panel.js +3 -3
  303. package/dist/filters/filter-panels/range-filter-panel.js +3 -3
  304. package/dist/filters/filter-panels/single-select-filter-panel.js +3 -3
  305. package/dist/filters/filter-panels/time-range-filter-panel.js +25 -8
  306. package/dist/filters/filter-panels/types.d.ts +2 -1
  307. package/dist/filters/filter-panels/types.js +1 -1
  308. package/dist/filters/index.d.ts +2 -0
  309. package/dist/filters/index.js +18 -2
  310. package/dist/filters/multi-select-filter.js +2 -2
  311. package/dist/filters/polygon-filter.js +14 -4
  312. package/dist/filters/range-filter.js +6 -4
  313. package/dist/filters/single-select-filter.js +2 -2
  314. package/dist/filters/time-range-filter.d.ts +2 -1
  315. package/dist/filters/time-range-filter.js +10 -7
  316. package/dist/filters/time-widget-top.d.ts +8 -0
  317. package/dist/filters/time-widget-top.js +123 -0
  318. package/dist/filters/time-widget.d.ts +3 -7
  319. package/dist/filters/time-widget.js +35 -92
  320. package/dist/filters/types.d.ts +7 -3
  321. package/dist/filters/types.js +1 -1
  322. package/dist/geocoder/geocoder.d.ts +1 -3
  323. package/dist/geocoder/geocoder.js +2 -2
  324. package/dist/geocoder-panel.d.ts +9 -3
  325. package/dist/geocoder-panel.js +30 -19
  326. package/dist/hooks/useFeatureFlags.js +1 -1
  327. package/dist/index.d.ts +68 -20
  328. package/dist/index.js +599 -99
  329. package/dist/injector.d.ts +4 -4
  330. package/dist/injector.js +2 -2
  331. package/dist/kepler-gl.d.ts +58 -17
  332. package/dist/kepler-gl.js +78 -31
  333. package/dist/layer-animation-controller.d.ts +13 -0
  334. package/dist/layer-animation-controller.js +76 -0
  335. package/dist/map/coordinate-info.js +2 -2
  336. package/dist/map/effects/effect-control.d.ts +16 -0
  337. package/dist/map/effects/effect-control.js +81 -0
  338. package/dist/map/layer-hover-info.d.ts +2 -2
  339. package/dist/map/layer-hover-info.js +26 -10
  340. package/dist/map/layer-selector-panel.js +2 -2
  341. package/dist/map/lazy-tippy.js +1 -1
  342. package/dist/map/locale-panel.d.ts +1 -1
  343. package/dist/map/locale-panel.js +2 -2
  344. package/dist/map/map-control-panel.d.ts +6 -0
  345. package/dist/map/map-control-panel.js +65 -9
  346. package/dist/map/map-control-toolbar.js +3 -3
  347. package/dist/map/map-control-tooltip.js +2 -2
  348. package/dist/map/map-control.d.ts +15 -7
  349. package/dist/map/map-control.js +6 -7
  350. package/dist/map/map-draw-panel.d.ts +2 -2
  351. package/dist/map/map-draw-panel.js +2 -9
  352. package/dist/map/map-legend-panel.d.ts +12 -1
  353. package/dist/map/map-legend-panel.js +27 -14
  354. package/dist/map/map-legend.d.ts +1 -1
  355. package/dist/map/map-legend.js +2 -2
  356. package/dist/map/map-popover-content.d.ts +28 -0
  357. package/dist/map/map-popover-content.js +51 -0
  358. package/dist/map/map-popover.d.ts +11 -14
  359. package/dist/map/map-popover.js +94 -15
  360. package/dist/map/split-map-button.js +2 -2
  361. package/dist/map/toggle-3d-button.js +2 -2
  362. package/dist/map-container.d.ts +33 -9
  363. package/dist/map-container.js +530 -161
  364. package/dist/map-view-state-context.d.ts +12 -0
  365. package/dist/map-view-state-context.js +116 -0
  366. package/dist/maps-layout.d.ts +5 -2
  367. package/dist/maps-layout.js +7 -3
  368. package/dist/modal-container.d.ts +2 -6
  369. package/dist/modal-container.js +8 -6
  370. package/dist/modals/add-map-style-modal.d.ts +1 -3
  371. package/dist/modals/add-map-style-modal.js +12 -6
  372. package/dist/modals/cloud-tile.js +2 -2
  373. package/dist/modals/data-table-modal.d.ts +11 -2
  374. package/dist/modals/data-table-modal.js +75 -24
  375. package/dist/modals/delete-data-modal.js +2 -2
  376. package/dist/modals/error-display.js +2 -2
  377. package/dist/modals/export-data-modal.d.ts +1 -3
  378. package/dist/modals/export-data-modal.js +2 -2
  379. package/dist/modals/export-image-modal.d.ts +1 -3
  380. package/dist/modals/export-image-modal.js +2 -2
  381. package/dist/modals/export-map-modal/components.d.ts +2 -2
  382. package/dist/modals/export-map-modal/components.js +2 -2
  383. package/dist/modals/export-map-modal/export-html-map.js +2 -2
  384. package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
  385. package/dist/modals/export-map-modal/export-json-map.js +2 -2
  386. package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
  387. package/dist/modals/export-map-modal/export-map-modal.js +2 -2
  388. package/dist/modals/image-modal-container.d.ts +1 -0
  389. package/dist/modals/image-modal-container.js +2 -2
  390. package/dist/modals/load-data-modal.js +2 -2
  391. package/dist/modals/load-storage-map.js +2 -2
  392. package/dist/modals/loading-dialog.js +2 -2
  393. package/dist/modals/modal-dialog.js +2 -2
  394. package/dist/modals/modal-tabs.d.ts +1 -1
  395. package/dist/modals/modal-tabs.js +2 -2
  396. package/dist/modals/overwrite-map-modal.js +2 -2
  397. package/dist/modals/provider-modal-container.d.ts +3 -2
  398. package/dist/modals/provider-modal-container.js +2 -2
  399. package/dist/modals/save-map-modal.js +2 -2
  400. package/dist/modals/share-map-modal.js +2 -2
  401. package/dist/modals/status-panel.js +2 -2
  402. package/dist/modals/storage-map-viewer.d.ts +1 -1
  403. package/dist/modals/storage-map-viewer.js +2 -2
  404. package/dist/notification-panel/notification-item.d.ts +7 -10
  405. package/dist/notification-panel/notification-item.js +45 -13
  406. package/dist/notification-panel.js +2 -2
  407. package/dist/plot-container.js +20 -8
  408. package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
  409. package/dist/side-panel/add-by-dataset-button.js +173 -0
  410. package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
  411. package/dist/side-panel/cloud-storage-dropdown.js +2 -2
  412. package/dist/side-panel/common/dataset-info.d.ts +10 -3
  413. package/dist/side-panel/common/dataset-info.js +2 -2
  414. package/dist/side-panel/common/dataset-tag.d.ts +15 -1
  415. package/dist/side-panel/common/dataset-tag.js +14 -11
  416. package/dist/side-panel/common/dataset-title.d.ts +16 -2
  417. package/dist/side-panel/common/dataset-title.js +71 -105
  418. package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
  419. package/dist/side-panel/common/source-data-catalog.js +2 -2
  420. package/dist/side-panel/common/source-data-selector.js +2 -2
  421. package/dist/side-panel/common/types.d.ts +7 -27
  422. package/dist/side-panel/common/types.js +1 -1
  423. package/dist/side-panel/custom-panel.d.ts +6 -7
  424. package/dist/side-panel/custom-panel.js +2 -2
  425. package/dist/side-panel/filter-manager.d.ts +18 -6
  426. package/dist/side-panel/filter-manager.js +176 -65
  427. package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
  428. package/dist/side-panel/filter-panel/add-filter-button.js +50 -0
  429. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
  430. package/dist/side-panel/filter-panel/filter-panel-header.js +4 -4
  431. package/dist/side-panel/filter-panel/filter-panel.js +2 -2
  432. package/dist/side-panel/interaction-manager.d.ts +6 -3
  433. package/dist/side-panel/interaction-manager.js +21 -8
  434. package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
  435. package/dist/side-panel/interaction-panel/brush-config.js +2 -2
  436. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
  437. package/dist/side-panel/interaction-panel/interaction-panel.js +12 -5
  438. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -9
  439. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +25 -42
  440. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
  441. package/dist/side-panel/interaction-panel/tooltip-config.js +9 -7
  442. package/dist/side-panel/layer-manager.d.ts +8 -10
  443. package/dist/side-panel/layer-manager.js +71 -37
  444. package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
  445. package/dist/side-panel/layer-panel/add-layer-button.js +13 -139
  446. package/dist/side-panel/layer-panel/color-palette.js +2 -2
  447. package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
  448. package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
  449. package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
  450. package/dist/side-panel/layer-panel/color-selector.js +175 -127
  451. package/dist/side-panel/layer-panel/column-selector.js +2 -2
  452. package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
  453. package/dist/side-panel/layer-panel/custom-palette.js +6 -5
  454. package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
  455. package/dist/side-panel/layer-panel/custom-picker.js +2 -2
  456. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
  457. package/dist/side-panel/layer-panel/dataset-layer-group.js +3 -2
  458. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
  459. package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
  460. package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
  461. package/dist/side-panel/layer-panel/dataset-section.js +6 -7
  462. package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -2
  463. package/dist/side-panel/layer-panel/how-to-button.js +2 -2
  464. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
  465. package/dist/side-panel/layer-panel/layer-color-selector.js +134 -0
  466. package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
  467. package/dist/side-panel/layer-panel/layer-column-config.js +35 -13
  468. package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
  469. package/dist/side-panel/layer-panel/layer-config-group.js +19 -11
  470. package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
  471. package/dist/side-panel/layer-panel/layer-configurator.js +61 -110
  472. package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
  473. package/dist/side-panel/layer-panel/layer-error-message.js +58 -0
  474. package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
  475. package/dist/side-panel/layer-panel/layer-list.js +112 -89
  476. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
  477. package/dist/side-panel/layer-panel/layer-panel-header.js +106 -67
  478. package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
  479. package/dist/side-panel/layer-panel/layer-panel.js +24 -11
  480. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
  481. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +12 -3
  482. package/dist/side-panel/layer-panel/layer-type-list-item.js +12 -4
  483. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
  484. package/dist/side-panel/layer-panel/layer-type-selector.js +5 -3
  485. package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
  486. package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
  487. package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
  488. package/dist/side-panel/layer-panel/text-label-panel.js +62 -15
  489. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -3
  490. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +2 -2
  491. package/dist/side-panel/layer-panel/vis-config-slider.js +2 -2
  492. package/dist/side-panel/layer-panel/vis-config-switch.js +2 -2
  493. package/dist/side-panel/map-manager.d.ts +13 -6
  494. package/dist/side-panel/map-manager.js +56 -45
  495. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
  496. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +116 -0
  497. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
  498. package/dist/side-panel/map-style-panel/map-layer-group-item.js +131 -0
  499. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +16 -12
  500. package/dist/side-panel/map-style-panel/map-layer-selector.js +34 -51
  501. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +11 -4
  502. package/dist/side-panel/map-style-panel/map-style-selector.js +54 -20
  503. package/dist/side-panel/panel-dropdown.d.ts +3 -2
  504. package/dist/side-panel/panel-dropdown.js +2 -2
  505. package/dist/side-panel/panel-header-action.d.ts +4 -2
  506. package/dist/side-panel/panel-header-action.js +11 -4
  507. package/dist/side-panel/panel-header.d.ts +13 -8
  508. package/dist/side-panel/panel-header.js +2 -2
  509. package/dist/side-panel/panel-tab.d.ts +2 -2
  510. package/dist/side-panel/panel-tab.js +2 -2
  511. package/dist/side-panel/panel-title.d.ts +6 -3
  512. package/dist/side-panel/panel-title.js +31 -14
  513. package/dist/side-panel/panel-toggle.d.ts +1 -1
  514. package/dist/side-panel/panel-toggle.js +2 -2
  515. package/dist/side-panel/{layer-panel/panel-view-list-toggle.d.ts → panel-view-list-toggle.d.ts} +19 -8
  516. package/dist/side-panel/panel-view-list-toggle.js +143 -0
  517. package/dist/side-panel/side-bar.d.ts +15 -16
  518. package/dist/side-panel/side-bar.js +8 -6
  519. package/dist/side-panel.d.ts +2 -117
  520. package/dist/side-panel.js +14 -20
  521. package/dist/types.d.ts +16 -9
  522. package/dist/types.js +1 -1
  523. package/package.json +41 -34
  524. package/dist/editor/constants.d.ts +0 -17
  525. package/dist/editor/constants.js +0 -47
  526. package/dist/editor/feature-styles.d.ts +0 -37
  527. package/dist/editor/feature-styles.js +0 -92
  528. package/dist/editor/handle-style.d.ts +0 -42
  529. package/dist/editor/handle-style.js +0 -100
  530. package/dist/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -61,13 +61,14 @@ var _templateObject, _templateObject2;
61
61
 
62
62
  MapLegendPanelFactory.deps = [_mapControlTooltip["default"], _mapControlPanel["default"], _mapLegend["default"]];
63
63
 
64
- var PinToBottom = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n bottom: ", "px;\n right: ", "px;\n ", ";\n"])), _constants.DIMENSIONS.mapControl.mapLegend.pinned.bottom, _constants.DIMENSIONS.mapControl.mapLegend.pinned.right, _styles.media.portable(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n bottom: 0px;\n right: 0px;\n min-width: ", "px;\n .map-control-panel {\n min-height: 215px;\n margin-bottom: 0px;\n };\n "])), _constants.DIMENSIONS.mapControl.width + _constants.DIMENSIONS.mapControl.mapLegend.pinned.right));
64
+ var PinToBottom = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n bottom: ", "px;\n right: ", "px;\n ", ";\n"])), _constants.DIMENSIONS.mapControl.mapLegend.pinned.bottom, function (props) {
65
+ return (props.offsetRight || 0) + _constants.DIMENSIONS.mapControl.mapLegend.pinned.right;
66
+ }, _styles.media.portable(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n bottom: 0px;\n right: 0px;\n min-width: ", "px;\n .map-control-panel {\n min-height: 215px;\n margin-bottom: 0px;\n };\n "])), _constants.DIMENSIONS.mapControl.width + _constants.DIMENSIONS.mapControl.mapLegend.pinned.right));
65
67
 
66
68
  function MapLegendPanelFactory(MapControlTooltip, MapControlPanel, MapLegend) {
67
69
  var defaultActionIcons = {
68
70
  legend: _icons.Legend
69
71
  };
70
- /** @type {import('./map-legend-panel').MapLegendPanelComponent} */
71
72
 
72
73
  var MapLegendPanel = function MapLegendPanel(_ref) {
73
74
  var layers = _ref.layers,
@@ -78,31 +79,38 @@ function MapLegendPanelFactory(MapControlTooltip, MapControlPanel, MapLegend) {
78
79
  logoComponent = _ref.logoComponent,
79
80
  _ref$actionIcons = _ref.actionIcons,
80
81
  actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons,
81
- mapHeight = _ref.mapHeight;
82
+ mapState = _ref.mapState,
83
+ mapHeight = _ref.mapHeight,
84
+ offsetRight = _ref.offsetRight,
85
+ onToggleSplitMapViewport = _ref.onToggleSplitMapViewport,
86
+ onClickControlBtn = _ref.onClickControlBtn,
87
+ _ref$isViewportUnsync = _ref.isViewportUnsyncAllowed,
88
+ isViewportUnsyncAllowed = _ref$isViewportUnsync === void 0 ? true : _ref$isViewportUnsync;
82
89
  var mapLegend = (mapControls === null || mapControls === void 0 ? void 0 : mapControls.mapLegend) || {};
83
90
 
84
91
  var _ref2 = mapLegend || {},
85
92
  isPinned = _ref2.active;
86
93
 
87
- var onClick = function onClick() {
94
+ var onClick = (0, _react.useCallback)(function () {
88
95
  var _mapControls$mapDraw;
89
96
 
97
+ onClickControlBtn === null || onClickControlBtn === void 0 ? void 0 : onClickControlBtn();
98
+
90
99
  if (mapControls !== null && mapControls !== void 0 && (_mapControls$mapDraw = mapControls.mapDraw) !== null && _mapControls$mapDraw !== void 0 && _mapControls$mapDraw.active) {
91
100
  onToggleMapControl('mapDraw');
92
101
  }
93
- };
102
+ }, [onClickControlBtn, onToggleMapControl, mapControls]);
94
103
 
95
104
  var _useState = (0, _react.useState)(null),
96
105
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
97
106
  tippyInstance = _useState2[0],
98
107
  setTippyInstance = _useState2[1];
99
108
 
100
- var onCloseClick = function onCloseClick(e) {
109
+ var onCloseClick = (0, _react.useCallback)(function (e) {
101
110
  e.preventDefault();
102
111
  onToggleMapControl('mapLegend');
103
- };
104
-
105
- var onPinClick = function onPinClick(e) {
112
+ }, [onToggleMapControl]);
113
+ var onPinClick = (0, _react.useCallback)(function (e) {
106
114
  e.preventDefault();
107
115
 
108
116
  if (tippyInstance) {
@@ -111,7 +119,7 @@ function MapLegendPanelFactory(MapControlTooltip, MapControlPanel, MapLegend) {
111
119
  }
112
120
 
113
121
  onToggleMapControl('mapLegend');
114
- };
122
+ }, [tippyInstance, onToggleMapControl]);
115
123
 
116
124
  if (!mapLegend.show) {
117
125
  return null;
@@ -131,7 +139,10 @@ function MapLegendPanelFactory(MapControlTooltip, MapControlPanel, MapLegend) {
131
139
  disableClose: true
132
140
  }, {
133
141
  isExport: isExport,
134
- logoComponent: logoComponent
142
+ logoComponent: logoComponent,
143
+ mapState: mapState,
144
+ onToggleSplitMapViewport: onToggleSplitMapViewport,
145
+ isViewportUnsyncAllowed: isViewportUnsyncAllowed
135
146
  }), /*#__PURE__*/_react["default"].createElement(MapLegend, {
136
147
  layers: layers,
137
148
  mapHeight: mapHeight
@@ -143,7 +154,9 @@ function MapLegendPanelFactory(MapControlTooltip, MapControlPanel, MapLegend) {
143
154
  return mapControlPanel;
144
155
  }
145
156
 
146
- var pinnedPanel = /*#__PURE__*/_react["default"].createElement(PinToBottom, null, mapControlPanel);
157
+ var pinnedPanel = /*#__PURE__*/_react["default"].createElement(PinToBottom, {
158
+ offsetRight: offsetRight
159
+ }, mapControlPanel);
147
160
 
148
161
  return /*#__PURE__*/(0, _reactDom.createPortal)(pinnedPanel, document.body);
149
162
  }
@@ -178,4 +191,4 @@ function MapLegendPanelFactory(MapControlTooltip, MapControlPanel, MapLegend) {
178
191
 
179
192
  var _default = MapLegendPanelFactory;
180
193
  exports["default"] = _default;
181
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWxlZ2VuZC1wYW5lbC50c3giXSwibmFtZXMiOlsiTWFwTGVnZW5kUGFuZWxGYWN0b3J5IiwiZGVwcyIsIk1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSIsIk1hcENvbnRyb2xQYW5lbEZhY3RvcnkiLCJNYXBMZWdlbmRGYWN0b3J5IiwiUGluVG9Cb3R0b20iLCJzdHlsZWQiLCJkaXYiLCJESU1FTlNJT05TIiwibWFwQ29udHJvbCIsIm1hcExlZ2VuZCIsInBpbm5lZCIsImJvdHRvbSIsInJpZ2h0IiwibWVkaWEiLCJwb3J0YWJsZSIsIndpZHRoIiwiTWFwQ29udHJvbFRvb2x0aXAiLCJNYXBDb250cm9sUGFuZWwiLCJNYXBMZWdlbmQiLCJkZWZhdWx0QWN0aW9uSWNvbnMiLCJsZWdlbmQiLCJMZWdlbmQiLCJNYXBMZWdlbmRQYW5lbCIsImxheWVycyIsIm1hcENvbnRyb2xzIiwic2NhbGUiLCJvblRvZ2dsZU1hcENvbnRyb2wiLCJpc0V4cG9ydCIsImxvZ29Db21wb25lbnQiLCJhY3Rpb25JY29ucyIsIm1hcEhlaWdodCIsImlzUGlubmVkIiwiYWN0aXZlIiwib25DbGljayIsIm1hcERyYXciLCJ0aXBweUluc3RhbmNlIiwic2V0VGlwcHlJbnN0YW5jZSIsIm9uQ2xvc2VDbGljayIsImUiLCJwcmV2ZW50RGVmYXVsdCIsIm9uUGluQ2xpY2siLCJoaWRlIiwic2hvdyIsIm1hcENvbnRyb2xQYW5lbCIsInBpbm5hYmxlIiwiZGlzYWJsZUNsb3NlIiwicGlubmVkUGFuZWwiLCJkb2N1bWVudCIsImJvZHkiLCJhdHRycyIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7OztBQUVBQSxxQkFBcUIsQ0FBQ0MsSUFBdEIsR0FBNkIsQ0FBQ0MsNkJBQUQsRUFBMkJDLDJCQUEzQixFQUFt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VGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50VHlwZSwgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge0xlZ2VuZH0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7TWFwQ29udHJvbEJ1dHRvbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sdGlwJztcbmltcG9ydCBNYXBDb250cm9sUGFuZWxGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtcGFuZWwnO1xuaW1wb3J0IE1hcExlZ2VuZEZhY3RvcnkgZnJvbSAnLi9tYXAtbGVnZW5kJztcbmltcG9ydCBMYXp5VGlwcHkgZnJvbSAnLi9sYXp5LXRpcHB5JztcbmltcG9ydCB7Y3JlYXRlUG9ydGFsfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHtESU1FTlNJT05TfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge01hcENvbnRyb2wsIE1hcENvbnRyb2xzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7TGF5ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcblxuTWFwTGVnZW5kUGFuZWxGYWN0b3J5LmRlcHMgPSBbTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5LCBNYXBDb250cm9sUGFuZWxGYWN0b3J5LCBNYXBMZWdlbmRGYWN0b3J5XTtcblxuY29uc3QgUGluVG9Cb3R0b20gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogJHtESU1FTlNJT05TLm1hcENvbnRyb2wubWFwTGVnZW5kLnBpbm5lZC5ib3R0b219cHg7XG4gIHJpZ2h0OiAke0RJTUVOU0lPTlMubWFwQ29udHJvbC5tYXBMZWdlbmQucGlubmVkLnJpZ2h0fXB4O1xuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGJvdHRvbTogMHB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAke0RJTUVOU0lPTlMubWFwQ29udHJvbC53aWR0aCArIERJTUVOU0lPTlMubWFwQ29udHJvbC5tYXBMZWdlbmQucGlubmVkLnJpZ2h0fXB4O1xuICAgIC5tYXAtY29udHJvbC1wYW5lbCB7XG4gICAgICBtaW4taGVpZ2h0OiAyMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB9O1xuICBgfTtcbmA7XG5cbmludGVyZmFjZSBNYXBMZWdlbmRQYW5lbEljb25zIHtcbiAgbGVnZW5kOiBDb21wb25lbnRUeXBlPGFueT47XG59XG5cbmV4cG9ydCB0eXBlIE1hcExlZ2VuZFBhbmVsUHJvcHMgPSB7XG4gIGxheWVyczogUmVhZG9ubHlBcnJheTxMYXllcj47XG4gIHNjYWxlOiBudW1iZXI7XG4gIG9uVG9nZ2xlTWFwQ29udHJvbDogKGNvbnRyb2w6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNFeHBvcnQ6IGJvb2xlYW47XG4gIGxvZ29Db21wb25lbnQ6IEVsZW1lbnQ7XG4gIGFjdGlvbkljb25zOiBNYXBMZWdlbmRQYW5lbEljb25zO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIG1hcEhlaWdodD86IG51bWJlcjtcbn07XG5cbmZ1bmN0aW9uIE1hcExlZ2VuZFBhbmVsRmFjdG9yeShNYXBDb250cm9sVG9vbHRpcCwgTWFwQ29udHJvbFBhbmVsLCBNYXBMZWdlbmQpIHtcbiAgY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICAgIGxlZ2VuZDogTGVnZW5kXG4gIH07XG5cbiAgLyoqIEB0eXBlIHtpbXBvcnQoJy4vbWFwLWxlZ2VuZC1wYW5lbCcpLk1hcExlZ2VuZFBhbmVsQ29tcG9uZW50fSAqL1xuICBjb25zdCBNYXBMZWdlbmRQYW5lbDogUmVhY3QuRkM8TWFwTGVnZW5kUGFuZWxQcm9wcz4gPSAoe1xuICAgIGxheWVycyxcbiAgICBtYXBDb250cm9scyxcbiAgICBzY2FsZSxcbiAgICBvblRvZ2dsZU1hcENvbnRyb2wsXG4gICAgaXNFeHBvcnQsXG4gICAgbG9nb0NvbXBvbmVudCxcbiAgICBhY3Rpb25JY29ucyA9IGRlZmF1bHRBY3Rpb25JY29ucyxcbiAgICBtYXBIZWlnaHRcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG1hcExlZ2VuZCA9IG1hcENvbnRyb2xzPy5tYXBMZWdlbmQgfHwgKHt9IGFzIE1hcENvbnRyb2wpO1xuICAgIGNvbnN0IHthY3RpdmU6IGlzUGlubmVkfSA9IG1hcExlZ2VuZCB8fCB7fTtcblxuICAgIGNvbnN0IG9uQ2xpY2sgPSAoKSA9PiB7XG4gICAgICBpZiAobWFwQ29udHJvbHM/Lm1hcERyYXc/LmFjdGl2ZSkge1xuICAgICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcERyYXcnKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IFt0aXBweUluc3RhbmNlLCBzZXRUaXBweUluc3RhbmNlXSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IG9uQ2xvc2VDbGljayA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgb25Ub2dnbGVNYXBDb250cm9sKCdtYXBMZWdlbmQnKTtcbiAgICB9O1xuICAgIGNvbnN0IG9uUGluQ2xpY2sgPSBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmICh0aXBweUluc3RhbmNlKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGlwcHlJbnN0YW5jZS5oaWRlKCk7XG4gICAgICB9XG4gICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcExlZ2VuZCcpO1xuICAgIH07XG5cbiAgICBpZiAoIW1hcExlZ2VuZC5zaG93KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgbWFwQ29udHJvbFBhbmVsID0gKFxuICAgICAgPE1hcENvbnRyb2xQYW5lbFxuICAgICAgICBzY2FsZT17c2NhbGV9XG4gICAgICAgIGhlYWRlcj17J2hlYWRlci5sYXllckxlZ2VuZCd9XG4gICAgICAgIGlzUGlubmVkPXt0cnVlfVxuICAgICAgICB7Li4uKGlzUGlubmVkXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIG9uQ2xpY2s6IG9uQ2xvc2VDbGljayxcbiAgICAgICAgICAgICAgcGlubmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIG9uUGluQ2xpY2ssXG4gICAgICAgICAgICAgIHBpbm5hYmxlOiB0cnVlLFxuICAgICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcbiAgICAgICAgICAgIH0pfVxuICAgICAgICBpc0V4cG9ydD17aXNFeHBvcnR9XG4gICAgICAgIGxvZ29Db21wb25lbnQ9e2xvZ29Db21wb25lbnR9XG4gICAgICA+XG4gICAgICAgIDxNYXBMZWdlbmQgbGF5ZXJzPXtsYXllcnN9IG1hcEhlaWdodD17bWFwSGVpZ2h0fSAvPlxuICAgICAgPC9NYXBDb250cm9sUGFuZWw+XG4gICAgKTtcblxuICAgIGlmIChpc1Bpbm5lZCkge1xuICAgICAgLy8gUGlubmVkIHBhbmVsIGlzIG5vdCBzdXBwb3J0ZWQgaW4gZXhwb3J0IG1vZGVcbiAgICAgIGlmIChpc0V4cG9ydCkge1xuICAgICAgICByZXR1cm4gbWFwQ29udHJvbFBhbmVsO1xuICAgICAgfVxuICAgICAgY29uc3QgcGlubmVkUGFuZWwgPSA8UGluVG9Cb3R0b20+e21hcENvbnRyb2xQYW5lbH08L1BpblRvQm90dG9tPjtcbiAgICAgIHJldHVybiBjcmVhdGVQb3J0YWwocGlubmVkUGFuZWwsIGRvY3VtZW50LmJvZHkpO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAvLyBUaGUgb3V0ZXIgZGl2IGlzIHRvIHByZXZlbnQgYW4gYWNjZXNzaWJpbGl0eSB3YXJuaW5nIGZyb20gVGlwcHlcbiAgICAgIDxkaXY+XG4gICAgICAgIHsvKiBcbiAgLy8gQHRzLWlnbm9yZSAqL31cbiAgICAgICAgPExhenlUaXBweVxuICAgICAgICAgIGludGVyYWN0aXZlPXt0cnVlfVxuICAgICAgICAgIHRyaWdnZXI9XCJjbGlja1wiXG4gICAgICAgICAgcGxhY2VtZW50PVwibGVmdC1zdGFydFwiXG4gICAgICAgICAgb25DcmVhdGU9e3NldFRpcHB5SW5zdGFuY2V9XG4gICAgICAgICAgcmVuZGVyPXthdHRycyA9PiA8ZGl2IHsuLi5hdHRyc30+e21hcENvbnRyb2xQYW5lbH08L2Rpdj59XG4gICAgICAgICAgYXBwZW5kVG89XCJwYXJlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxNYXBDb250cm9sVG9vbHRpcCBpZD1cInNob3ctbGVnZW5kXCIgbWVzc2FnZT1cInRvb2x0aXAuc2hvd0xlZ2VuZFwiPlxuICAgICAgICAgICAgICA8TWFwQ29udHJvbEJ1dHRvbiBjbGFzc05hbWU9XCJtYXAtY29udHJvbC1idXR0b24gc2hvdy1sZWdlbmRcIiBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgICAgICAgICAgICA8YWN0aW9uSWNvbnMubGVnZW5kIGhlaWdodD1cIjIycHhcIiAvPlxuICAgICAgICAgICAgICA8L01hcENvbnRyb2xCdXR0b24+XG4gICAgICAgICAgICA8L01hcENvbnRyb2xUb29sdGlwPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0xhenlUaXBweT5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgTWFwTGVnZW5kUGFuZWwuZGlzcGxheU5hbWUgPSAnTWFwTGVnZW5kUGFuZWwnO1xuICByZXR1cm4gTWFwTGVnZW5kUGFuZWw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcExlZ2VuZFBhbmVsRmFjdG9yeTtcbiJdfQ==
194
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWxlZ2VuZC1wYW5lbC50c3giXSwibmFtZXMiOlsiTWFwTGVnZW5kUGFuZWxGYWN0b3J5IiwiZGVwcyIsIk1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSIsIk1hcENvbnRyb2xQYW5lbEZhY3RvcnkiLCJNYXBMZWdlbmRGYWN0b3J5IiwiUGluVG9Cb3R0b20iLCJzdHlsZWQiLCJkaXYiLCJESU1FTlNJT05TIiwibWFwQ29udHJvbCIsIm1hcExlZ2VuZCIsInBpbm5lZCIsImJvdHRvbSIsInByb3BzIiwib2Zmc2V0UmlnaHQiLCJyaWdodCIsIm1lZGlhIiwicG9ydGFibGUiLCJ3aWR0aCIsIk1hcENvbnRyb2xUb29sdGlwIiwiTWFwQ29udHJvbFBhbmVsIiwiTWFwTGVnZW5kIiwiZGVmYXVsdEFjdGlvbkljb25zIiwibGVnZW5kIiwiTGVnZW5kIiwiTWFwTGVnZW5kUGFuZWwiLCJsYXllcnMiLCJtYXBDb250cm9scyIsInNjYWxlIiwib25Ub2dnbGVNYXBDb250cm9sIiwiaXNFeHBvcnQiLCJsb2dvQ29tcG9uZW50IiwiYWN0aW9uSWNvbnMiLCJtYXBTdGF0ZSIsIm1hcEhlaWdodCIsIm9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydCIsIm9uQ2xpY2tDb250cm9sQnRuIiwiaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQiLCJpc1Bpbm5lZCIsImFjdGl2ZSIsIm9uQ2xpY2siLCJtYXBEcmF3IiwidGlwcHlJbnN0YW5jZSIsInNldFRpcHB5SW5zdGFuY2UiLCJvbkNsb3NlQ2xpY2siLCJlIiwicHJldmVudERlZmF1bHQiLCJvblBpbkNsaWNrIiwiaGlkZSIsInNob3ciLCJtYXBDb250cm9sUGFuZWwiLCJwaW5uYWJsZSIsImRpc2FibGVDbG9zZSIsInBpbm5lZFBhbmVsIiwiZG9jdW1lbnQiLCJib2R5IiwiYXR0cnMiLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBRUE7O0FBQ0E7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bkMsQ0FBUDtBQUNEOztBQUVEO0FBQUE7QUFDRTtBQUNBLGdFQUdFLGdDQUFDLHFCQUFEO0FBQ0UsUUFBQSxXQUFXLEVBQUUsSUFEZjtBQUVFLFFBQUEsT0FBTyxFQUFDLE9BRlY7QUFHRSxRQUFBLFNBQVMsRUFBQyxZQUhaO0FBSUUsUUFBQSxRQUFRLEVBQUVaLGdCQUpaO0FBS0UsUUFBQSxNQUFNLEVBQUUsZ0JBQUFhLEtBQUs7QUFBQSw4QkFBSSx1Q0FBU0EsS0FBVCxFQUFpQk4sZUFBakIsQ0FBSjtBQUFBLFNBTGY7QUFNRSxRQUFBLFFBQVEsRUFBQztBQU5YLHNCQVFFLDBEQUNFLGdDQUFDLGlCQUFEO0FBQW1CLFFBQUEsRUFBRSxFQUFDLGFBQXRCO0FBQW9DLFFBQUEsT0FBTyxFQUFDO0FBQTVDLHNCQUNFLGdDQUFDLG1DQUFEO0FBQWtCLFFBQUEsU0FBUyxFQUFDLGdDQUE1QjtBQUE2RCxRQUFBLE9BQU8sRUFBRVY7QUFBdEUsc0JBQ0UsZ0NBQUMsV0FBRCxDQUFhLE1BQWI7QUFBb0IsUUFBQSxNQUFNLEVBQUM7QUFBM0IsUUFERixDQURGLENBREYsQ0FSRixDQUhGO0FBRkY7QUF1QkQsR0F6R0Q7O0FBMkdBZixFQUFBQSxjQUFjLENBQUNnQyxXQUFmLEdBQTZCLGdCQUE3QjtBQUNBLFNBQU9oQyxjQUFQO0FBQ0Q7O2VBRWN6QixxQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudFR5cGUsIHVzZUNhbGxiYWNrLCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7TGVnZW5kfSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtNYXBDb250cm9sQnV0dG9ufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXRvb2x0aXAnO1xuaW1wb3J0IE1hcENvbnRyb2xQYW5lbEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC1wYW5lbCc7XG5pbXBvcnQgTWFwTGVnZW5kRmFjdG9yeSBmcm9tICcuL21hcC1sZWdlbmQnO1xuaW1wb3J0IExhenlUaXBweSBmcm9tICcuL2xhenktdGlwcHknO1xuaW1wb3J0IHtjcmVhdGVQb3J0YWx9IGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQge0RJTUVOU0lPTlN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7TWFwQ29udHJvbEl0ZW0sIE1hcENvbnRyb2xzLCBNYXBTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge21lZGlhfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge0FjdGlvbkhhbmRsZXIsIHRvZ2dsZVNwbGl0TWFwVmlld3BvcnR9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbk1hcExlZ2VuZFBhbmVsRmFjdG9yeS5kZXBzID0gW01hcENvbnRyb2xUb29sdGlwRmFjdG9yeSwgTWFwQ29udHJvbFBhbmVsRmFjdG9yeSwgTWFwTGVnZW5kRmFjdG9yeV07XG5cbmV4cG9ydCB0eXBlIE1hcExlZ2VuZFBhbmVsRmFjdG9yeURlcHMgPSBbXG4gIHR5cGVvZiBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnksXG4gIHR5cGVvZiBNYXBDb250cm9sUGFuZWxGYWN0b3J5LFxuICB0eXBlb2YgTWFwTGVnZW5kRmFjdG9yeVxuXTtcbmludGVyZmFjZSBQaW5Ub0JvdHRvbVByb3BzIHtcbiAgb2Zmc2V0UmlnaHQ/OiBudW1iZXI7XG59XG5cbmNvbnN0IFBpblRvQm90dG9tID0gc3R5bGVkLmRpdjxQaW5Ub0JvdHRvbVByb3BzPmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206ICR7RElNRU5TSU9OUy5tYXBDb250cm9sLm1hcExlZ2VuZC5waW5uZWQuYm90dG9tfXB4O1xuICByaWdodDogJHtwcm9wcyA9PiAocHJvcHMub2Zmc2V0UmlnaHQgfHwgMCkgKyBESU1FTlNJT05TLm1hcENvbnRyb2wubWFwTGVnZW5kLnBpbm5lZC5yaWdodH1weDtcbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBib3R0b206IDBweDtcbiAgICByaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogJHtESU1FTlNJT05TLm1hcENvbnRyb2wud2lkdGggKyBESU1FTlNJT05TLm1hcENvbnRyb2wubWFwTGVnZW5kLnBpbm5lZC5yaWdodH1weDtcbiAgICAubWFwLWNvbnRyb2wtcGFuZWwge1xuICAgICAgbWluLWhlaWdodDogMjE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgfTtcbiAgYH07XG5gO1xuXG5pbnRlcmZhY2UgTWFwTGVnZW5kUGFuZWxJY29ucyB7XG4gIGxlZ2VuZDogQ29tcG9uZW50VHlwZTxhbnk+O1xufVxuXG5leHBvcnQgdHlwZSBNYXBMZWdlbmRQYW5lbFByb3BzID0ge1xuICBsYXllcnM6IFJlYWRvbmx5QXJyYXk8TGF5ZXI+O1xuICBzY2FsZTogbnVtYmVyO1xuICBvblRvZ2dsZU1hcENvbnRyb2w6IChjb250cm9sOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGlzRXhwb3J0OiBib29sZWFuO1xuICBsb2dvQ29tcG9uZW50OiBFbGVtZW50O1xuICBhY3Rpb25JY29uczogTWFwTGVnZW5kUGFuZWxJY29ucztcbiAgbWFwQ29udHJvbHM6IE1hcENvbnRyb2xzO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xuICBtYXBIZWlnaHQ/OiBudW1iZXI7XG4gIG9mZnNldFJpZ2h0PzogbnVtYmVyO1xuICBvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQ/OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiB0b2dnbGVTcGxpdE1hcFZpZXdwb3J0PjtcbiAgaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrQ29udHJvbEJ0bj86IChlPzogTW91c2VFdmVudCkgPT4gdm9pZDtcbn07XG5cbmZ1bmN0aW9uIE1hcExlZ2VuZFBhbmVsRmFjdG9yeShNYXBDb250cm9sVG9vbHRpcCwgTWFwQ29udHJvbFBhbmVsLCBNYXBMZWdlbmQpIHtcbiAgY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICAgIGxlZ2VuZDogTGVnZW5kXG4gIH07XG5cbiAgY29uc3QgTWFwTGVnZW5kUGFuZWw6IFJlYWN0LkZDPE1hcExlZ2VuZFBhbmVsUHJvcHM+ID0gKHtcbiAgICBsYXllcnMsXG4gICAgbWFwQ29udHJvbHMsXG4gICAgc2NhbGUsXG4gICAgb25Ub2dnbGVNYXBDb250cm9sLFxuICAgIGlzRXhwb3J0LFxuICAgIGxvZ29Db21wb25lbnQsXG4gICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnMsXG4gICAgbWFwU3RhdGUsXG4gICAgbWFwSGVpZ2h0LFxuICAgIG9mZnNldFJpZ2h0LFxuICAgIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydCxcbiAgICBvbkNsaWNrQ29udHJvbEJ0bixcbiAgICBpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZCA9IHRydWVcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG1hcExlZ2VuZCA9IG1hcENvbnRyb2xzPy5tYXBMZWdlbmQgfHwgKHt9IGFzIE1hcENvbnRyb2xJdGVtKTtcbiAgICBjb25zdCB7YWN0aXZlOiBpc1Bpbm5lZH0gPSBtYXBMZWdlbmQgfHwge307XG5cbiAgICBjb25zdCBvbkNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgb25DbGlja0NvbnRyb2xCdG4/LigpO1xuICAgICAgaWYgKG1hcENvbnRyb2xzPy5tYXBEcmF3Py5hY3RpdmUpIHtcbiAgICAgICAgb25Ub2dnbGVNYXBDb250cm9sKCdtYXBEcmF3Jyk7XG4gICAgICB9XG4gICAgfSwgW29uQ2xpY2tDb250cm9sQnRuLCBvblRvZ2dsZU1hcENvbnRyb2wsIG1hcENvbnRyb2xzXSk7XG4gICAgY29uc3QgW3RpcHB5SW5zdGFuY2UsIHNldFRpcHB5SW5zdGFuY2VdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3Qgb25DbG9zZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICBlID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcExlZ2VuZCcpO1xuICAgICAgfSxcbiAgICAgIFtvblRvZ2dsZU1hcENvbnRyb2xdXG4gICAgKTtcbiAgICBjb25zdCBvblBpbkNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICBlID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAodGlwcHlJbnN0YW5jZSkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICB0aXBweUluc3RhbmNlLmhpZGUoKTtcbiAgICAgICAgfVxuICAgICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcExlZ2VuZCcpO1xuICAgICAgfSxcbiAgICAgIFt0aXBweUluc3RhbmNlLCBvblRvZ2dsZU1hcENvbnRyb2xdXG4gICAgKTtcblxuICAgIGlmICghbWFwTGVnZW5kLnNob3cpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBtYXBDb250cm9sUGFuZWwgPSAoXG4gICAgICA8TWFwQ29udHJvbFBhbmVsXG4gICAgICAgIHNjYWxlPXtzY2FsZX1cbiAgICAgICAgaGVhZGVyPXsnaGVhZGVyLmxheWVyTGVnZW5kJ31cbiAgICAgICAgaXNQaW5uZWQ9e3RydWV9XG4gICAgICAgIHsuLi4oaXNQaW5uZWRcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgb25DbGljazogb25DbG9zZUNsaWNrLFxuICAgICAgICAgICAgICBwaW5uYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgIGRpc2FibGVDbG9zZTogZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgb25QaW5DbGljayxcbiAgICAgICAgICAgICAgcGlubmFibGU6IHRydWUsXG4gICAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxuICAgICAgICAgICAgfSl9XG4gICAgICAgIGlzRXhwb3J0PXtpc0V4cG9ydH1cbiAgICAgICAgbG9nb0NvbXBvbmVudD17bG9nb0NvbXBvbmVudH1cbiAgICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgICBvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQ9e29uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydH1cbiAgICAgICAgaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQ9e2lzVmlld3BvcnRVbnN5bmNBbGxvd2VkfVxuICAgICAgPlxuICAgICAgICA8TWFwTGVnZW5kIGxheWVycz17bGF5ZXJzfSBtYXBIZWlnaHQ9e21hcEhlaWdodH0gLz5cbiAgICAgIDwvTWFwQ29udHJvbFBhbmVsPlxuICAgICk7XG5cbiAgICBpZiAoaXNQaW5uZWQpIHtcbiAgICAgIC8vIFBpbm5lZCBwYW5lbCBpcyBub3Qgc3VwcG9ydGVkIGluIGV4cG9ydCBtb2RlXG4gICAgICBpZiAoaXNFeHBvcnQpIHtcbiAgICAgICAgcmV0dXJuIG1hcENvbnRyb2xQYW5lbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBpbm5lZFBhbmVsID0gPFBpblRvQm90dG9tIG9mZnNldFJpZ2h0PXtvZmZzZXRSaWdodH0+e21hcENvbnRyb2xQYW5lbH08L1BpblRvQm90dG9tPjtcbiAgICAgIHJldHVybiBjcmVhdGVQb3J0YWwocGlubmVkUGFuZWwsIGRvY3VtZW50LmJvZHkpO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAvLyBUaGUgb3V0ZXIgZGl2IGlzIHRvIHByZXZlbnQgYW4gYWNjZXNzaWJpbGl0eSB3YXJuaW5nIGZyb20gVGlwcHlcbiAgICAgIDxkaXY+XG4gICAgICAgIHsvKiBcbiAgLy8gQHRzLWlnbm9yZSAqL31cbiAgICAgICAgPExhenlUaXBweVxuICAgICAgICAgIGludGVyYWN0aXZlPXt0cnVlfVxuICAgICAgICAgIHRyaWdnZXI9XCJjbGlja1wiXG4gICAgICAgICAgcGxhY2VtZW50PVwibGVmdC1zdGFydFwiXG4gICAgICAgICAgb25DcmVhdGU9e3NldFRpcHB5SW5zdGFuY2V9XG4gICAgICAgICAgcmVuZGVyPXthdHRycyA9PiA8ZGl2IHsuLi5hdHRyc30+e21hcENvbnRyb2xQYW5lbH08L2Rpdj59XG4gICAgICAgICAgYXBwZW5kVG89XCJwYXJlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxNYXBDb250cm9sVG9vbHRpcCBpZD1cInNob3ctbGVnZW5kXCIgbWVzc2FnZT1cInRvb2x0aXAuc2hvd0xlZ2VuZFwiPlxuICAgICAgICAgICAgICA8TWFwQ29udHJvbEJ1dHRvbiBjbGFzc05hbWU9XCJtYXAtY29udHJvbC1idXR0b24gc2hvdy1sZWdlbmRcIiBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgICAgICAgICAgICA8YWN0aW9uSWNvbnMubGVnZW5kIGhlaWdodD1cIjIycHhcIiAvPlxuICAgICAgICAgICAgICA8L01hcENvbnRyb2xCdXR0b24+XG4gICAgICAgICAgICA8L01hcENvbnRyb2xUb29sdGlwPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0xhenlUaXBweT5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgTWFwTGVnZW5kUGFuZWwuZGlzcGxheU5hbWUgPSAnTWFwTGVnZW5kUGFuZWwnO1xuICByZXR1cm4gTWFwTGVnZW5kUGFuZWw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcExlZ2VuZFBhbmVsRmFjdG9yeTtcbiJdfQ==
@@ -7,7 +7,7 @@ interface StyledMapControlLegendProps {
7
7
  export declare const StyledMapControlLegend: import("styled-components").StyledComponent<"div", any, StyledMapControlLegendProps, never>;
8
8
  export declare const VisualChannelMetric: ({ name }: {
9
9
  name: any;
10
- }) => JSX.Element;
10
+ }) => React.JSX.Element;
11
11
  export declare type LayerSizeLegendProps = {
12
12
  label: string;
13
13
  name: string | undefined;
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -271,4 +271,4 @@ function MapLegendFactory(LayerLegendHeader, LayerLegendContent) {
271
271
 
272
272
  var _default = MapLegendFactory;
273
273
  exports["default"] = _default;
274
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWxlZ2VuZC50c3giXSwibmFtZXMiOlsiU3R5bGVkTWFwQ29udHJvbExlZ2VuZCIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJtYXBDb250cm9sIiwicGFkZGluZyIsImZvbnRGYW1pbHkiLCJwYW5lbEJvcmRlckNvbG9yIiwibGFzdCIsIndpZHRoIiwidGV4dENvbG9yIiwic3VidGV4dENvbG9yIiwidGV4dENvbG9ySGwiLCJWaXN1YWxDaGFubmVsTWV0cmljIiwibmFtZSIsIkxheWVyU2l6ZUxlZ2VuZCIsImxhYmVsIiwiU0lOR0xFX0NPTE9SX0RPTUFJTiIsIlNpbmdsZUNvbG9yTGVnZW5kIiwiUmVhY3QiLCJtZW1vIiwiY29sb3IiLCJjb2xvcnMiLCJyZ2IiLCJ0b1N0cmluZyIsImRpc3BsYXlOYW1lIiwiTGF5ZXJDb2xvckxlZ2VuZCIsImRlc2NyaXB0aW9uIiwiY29uZmlnIiwiY29sb3JDaGFubmVsIiwiZW5hYmxlQ29sb3JCeSIsIm1lYXN1cmUiLCJzY2FsZSIsImZpZWxkIiwiZG9tYWluIiwicmFuZ2UiLCJwcm9wZXJ0eSIsIm1hcCIsImsiLCJjb2xvclNjYWxlIiwiY29sb3JGaWVsZCIsImNvbG9yRG9tYWluIiwiY29sb3JSYW5nZSIsInZpc0NvbmZpZyIsInR5cGUiLCJpc0NvbG9yQ2hhbm5lbCIsInZpc3VhbENoYW5uZWwiLCJDSEFOTkVMX1NDQUxFUyIsImNvbG9yQWdnciIsImluY2x1ZGVzIiwiY2hhbm5lbFNjYWxlVHlwZSIsIkxheWVyTGVnZW5kSGVhZGVyRmFjdG9yeSIsIkxheWVyTGVnZW5kSGVhZGVyIiwib3B0aW9ucyIsImxheWVyIiwic2hvd0xheWVyTmFtZSIsIkxheWVyTGVnZW5kQ29udGVudEZhY3RvcnkiLCJMYXllckxlZ2VuZENvbnRlbnQiLCJjb250YWluZXJXIiwiY29sb3JDaGFubmVscyIsIk9iamVjdCIsInZhbHVlcyIsInZpc3VhbENoYW5uZWxzIiwiZmlsdGVyIiwibm9uQ29sb3JDaGFubmVscyIsInZjIiwiY29uZGl0aW9uIiwia2V5IiwiZ2V0VmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uIiwiRElNRU5TSU9OUyIsIm1hdGNoQ29uZGl0aW9uIiwiZW5hYmxlZCIsImRlZmF1bHRNZWFzdXJlIiwiTWFwTGVnZW5kRmFjdG9yeSIsImRlcHMiLCJNYXBMZWdlbmQiLCJsYXllcnMiLCJtYXBIZWlnaHQiLCJzdHlsZSIsIm1heEhlaWdodCIsImluZGV4IiwiaXNWYWxpZFRvU2F2ZSIsImhpZGRlbiIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQWFPLElBQU1BLHNCQUFzQixHQUFHQyw2QkFBT0MsR0FBVixxeUJBQ2pCLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsVUFBWixDQUF1QkMsT0FBM0I7QUFBQSxDQURZLEVBRTdCLFVBQUFILEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsVUFBWixDQUF1QkMsT0FBM0I7QUFBQSxDQUZ3QixFQUlsQixVQUFBSCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlHLFVBQWhCO0FBQUEsQ0FKYSxFQUtWLFVBQUFKLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUksZ0JBQWhCO0FBQUEsQ0FMSyxFQU9WLFVBQUFMLEtBQUs7QUFBQSxTQUFLQSxLQUFLLENBQUNNLElBQU4sR0FBYSxDQUFiLEdBQWlCLEtBQXRCO0FBQUEsQ0FQSyxFQVF4QixVQUFBTixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDTyxLQUFWO0FBQUEsQ0FSbUIsRUFhZCxVQUFBUCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlDLFVBQVosQ0FBdUJDLE9BQTNCO0FBQUEsQ0FiUyxFQWN0QixVQUFBSCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlP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QixRQUFBLE9BQU8sRUFBRUwsT0FBNUI7QUFBcUMsUUFBQSxLQUFLLEVBQUVDO0FBQTVDLFFBTkYsZUFPRSxnQ0FBQyxrQkFBRDtBQUFvQixRQUFBLFVBQVUsRUFBRUksVUFBaEM7QUFBNEMsUUFBQSxLQUFLLEVBQUVKO0FBQW5ELFFBUEYsQ0FERjtBQVdELEtBakJBLENBVEgsQ0FEMEM7QUFBQSxHQUE1Qzs7QUErQkFxQixFQUFBQSxTQUFTLENBQUNsRCxXQUFWLEdBQXdCLFdBQXhCO0FBRUEsU0FBT2tELFNBQVA7QUFDRDs7ZUFFY0YsZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge3JnYn0gZnJvbSAnZDMtY29sb3InO1xuaW1wb3J0IENvbG9yTGVnZW5kIGZyb20gJy4uL2NvbW1vbi9jb2xvci1sZWdlbmQnO1xuaW1wb3J0IHtDSEFOTkVMX1NDQUxFUywgRElNRU5TSU9OU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge1xuICBMYXllcixcbiAgTGF5ZXJCYXNlQ29uZmlnLFxuICBWaXN1YWxDaGFubmVsLFxuICBWaXN1YWxDaGFubmVsRGVzY3JpcHRpb25cbn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuXG5pbnRlcmZhY2UgU3R5bGVkTWFwQ29udHJvbExlZ2VuZFByb3BzIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGxhc3Q/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkTWFwQ29udHJvbExlZ2VuZCA9IHN0eWxlZC5kaXY8U3R5bGVkTWFwQ29udHJvbExlZ2VuZFByb3BzPmBcbiAgcGFkZGluZzogMTBweCAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1hcENvbnRyb2wucGFkZGluZ31weCAxMHB4XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAke3Byb3BzID0+IChwcm9wcy5sYXN0ID8gMCA6ICcxcHgnKX07XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRofXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC5sZWdlbmQtLWxheWVyX25hbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1hcENvbnRyb2wucGFkZGluZ31weDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLmxlZ2VuZC0tbGF5ZXJfdHlwZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1hcENvbnRyb2wucGFkZGluZ31weDtcbiAgfVxuXG4gIC5sZWdlbmQtLWxheWVyX190aXRsZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHg7XG4gIH1cblxuICAubGVnZW5kLS1sYXllcl9ieSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgfVxuXG4gIC5sZWdlbmQtLWxheWVyX2NvbG9yX2ZpZWxkIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC5sZWdlbmQtLWxheWVyX2NvbG9yLWxlZ2VuZCB7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgVmlzdWFsQ2hhbm5lbE1ldHJpYyA9ICh7bmFtZX0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfX3RpdGxlXCI+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX2NvbG9yX2ZpZWxkXCI+XG4gICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtuYW1lfSAvPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJTaXplTGVnZW5kUHJvcHMgPSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn07XG5cbi8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9tYXAtbGVnZW5kJykuTGF5ZXJTaXplTGVnZW5kfSAqL1xuZXhwb3J0IGNvbnN0IExheWVyU2l6ZUxlZ2VuZDogUmVhY3QuRkM8TGF5ZXJTaXplTGVnZW5kUHJvcHM+ID0gKHtsYWJlbCwgbmFtZX0pID0+XG4gIGxhYmVsID8gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9zaXplLXNjaGVtYVwiPlxuICAgICAgPHA+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfYnlcIj57bGFiZWwgPyA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17bGFiZWx9IC8+IDogbnVsbH08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfYnlcIj4gYnkgPC9zcGFuPlxuICAgICAgPC9wPlxuICAgICAge25hbWUgJiYgPFZpc3VhbENoYW5uZWxNZXRyaWMgbmFtZT17bmFtZX0gLz59XG4gICAgPC9kaXY+XG4gICkgOiBudWxsO1xuXG5jb25zdCBTSU5HTEVfQ09MT1JfRE9NQUlOID0gWycnXTtcblxuZXhwb3J0IHR5cGUgU2luZ2xlQ29sb3JMZWdlbmRQcm9wcyA9IHtcbiAgd2lkdGg6IG51bWJlcjtcbiAgY29sb3I6IHN0cmluZztcbn07XG5cbi8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9tYXAtbGVnZW5kJykuU2luZ2xlQ29sb3JMZWdlbmR9ICovXG5leHBvcnQgY29uc3QgU2luZ2xlQ29sb3JMZWdlbmQ6IFJlYWN0LkZDPFNpbmdsZUNvbG9yTGVnZW5kUHJvcHM+ID0gUmVhY3QubWVtbygoe3dpZHRoLCBjb2xvcn0pID0+IChcbiAgPENvbG9yTGVnZW5kXG4gICAgc2NhbGVUeXBlPVwib3JkaW5hbFwiXG4gICAgZGlzcGxheUxhYmVsPXtmYWxzZX1cbiAgICBkb21haW49e1NJTkdMRV9DT0xPUl9ET01BSU59XG4gICAgZmllbGRUeXBlPXtudWxsfVxuICAgIHJhbmdlPXt7Y29sb3JzOiBbcmdiKC4uLmNvbG9yKS50b1N0cmluZygpXX19XG4gICAgd2lkdGg9e3dpZHRofVxuICAvPlxuKSk7XG5cblNpbmdsZUNvbG9yTGVnZW5kLmRpc3BsYXlOYW1lID0gJ1NpbmdsZUNvbG9yTGVnZW5kJztcblxuZXhwb3J0IHR5cGUgTGF5ZXJDb2xvckxlZ2VuZFByb3BzID0ge1xuICBkZXNjcmlwdGlvbjogVmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uO1xuICBjb25maWc6IExheWVyQmFzZUNvbmZpZztcbiAgd2lkdGg6IG51bWJlcjtcbiAgY29sb3JDaGFubmVsOiBWaXN1YWxDaGFubmVsO1xufTtcblxuLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL21hcC1sZWdlbmQnKS5MYXllckNvbG9yTGVnZW5kfSAqL1xuZXhwb3J0IGNvbnN0IExheWVyQ29sb3JMZWdlbmQ6IFJlYWN0LkZDPExheWVyQ29sb3JMZWdlbmRQcm9wcz4gPSBSZWFjdC5tZW1vKFxuICAoe2Rlc2NyaXB0aW9uLCBjb25maWcsIHdpZHRoLCBjb2xvckNoYW5uZWx9KSA9PiB7XG4gICAgY29uc3QgZW5hYmxlQ29sb3JCeSA9IGRlc2NyaXB0aW9uLm1lYXN1cmU7XG4gICAgY29uc3Qge3NjYWxlLCBmaWVsZCwgZG9tYWluLCByYW5nZSwgcHJvcGVydHl9ID0gY29sb3JDaGFubmVsO1xuICAgIGNvbnN0IFtjb2xvclNjYWxlLCBjb2xvckZpZWxkLCBjb2xvckRvbWFpbl0gPSBbc2NhbGUsIGZpZWxkLCBkb21haW5dLm1hcChrID0+IGNvbmZpZ1trXSk7XG4gICAgY29uc3QgY29sb3JSYW5nZSA9IGNvbmZpZy52aXNDb25maWdbcmFuZ2VdO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9jb2xvci1zY2hlbWFcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAge2VuYWJsZUNvbG9yQnkgPyA8VmlzdWFsQ2hhbm5lbE1ldHJpYyBuYW1lPXtlbmFibGVDb2xvckJ5fSAvPiA6IG51bGx9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfY29sb3ItbGVnZW5kXCI+XG4gICAgICAgICAgICAgIHtlbmFibGVDb2xvckJ5ID8gKFxuICAgICAgICAgICAgICAgIDxDb2xvckxlZ2VuZFxuICAgICAgICAgICAgICAgICAgc2NhbGVUeXBlPXtjb2xvclNjYWxlfVxuICAgICAgICAgICAgICAgICAgZGlzcGxheUxhYmVsXG4gICAgICAgICAgICAgICAgICBkb21haW49e2NvbG9yRG9tYWlufVxuICAgICAgICAgICAgICAgICAgZmllbGRUeXBlPXsoY29sb3JGaWVsZCAmJiBjb2xvckZpZWxkLnR5cGUpIHx8ICdyZWFsJ31cbiAgICAgICAgICAgICAgICAgIHJhbmdlPXtjb2xvclJhbmdlfVxuICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPFNpbmdsZUNvbG9yTGVnZW5kXG4gICAgICAgICAgICAgICAgICBjb2xvcj17Y29uZmlnLnZpc0NvbmZpZ1twcm9wZXJ0eV0gfHwgY29uZmlnW3Byb3BlcnR5XSB8fCBjb25maWcuY29sb3J9XG4gICAgICAgICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbik7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9kaXNwbGF5LW5hbWVcbkxheWVyQ29sb3JMZWdlbmQuZGlzcGxheU5hbWUgPSAnTGF5ZXJDb2xvckxlZ2VuZCc7XG5cbmNvbnN0IGlzQ29sb3JDaGFubmVsID0gdmlzdWFsQ2hhbm5lbCA9PlxuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3IsIENIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl0uaW5jbHVkZXModmlzdWFsQ2hhbm5lbC5jaGFubmVsU2NhbGVUeXBlKTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJMZWdlbmRIZWFkZXJQcm9wcyA9IHtcbiAgbGF5ZXI6IExheWVyO1xuICBvcHRpb25zPzoge1xuICAgIHNob3dMYXllck5hbWU/OiBib29sZWFuO1xuICB9O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIExheWVyTGVnZW5kSGVhZGVyRmFjdG9yeSgpIHtcbiAgLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL21hcC1sZWdlbmQnKS5MYXllckxlZ2VuZEhlYWRlciB9PiAqL1xuICBjb25zdCBMYXllckxlZ2VuZEhlYWRlcjogUmVhY3QuRkM8TGF5ZXJMZWdlbmRIZWFkZXJQcm9wcz4gPSAoe29wdGlvbnMsIGxheWVyfSkgPT4ge1xuICAgIHJldHVybiBvcHRpb25zPy5zaG93TGF5ZXJOYW1lICE9PSBmYWxzZSA/IChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9uYW1lXCI+e2xheWVyLmNvbmZpZy5sYWJlbH08L2Rpdj5cbiAgICApIDogbnVsbDtcbiAgfTtcbiAgcmV0dXJuIExheWVyTGVnZW5kSGVhZGVyO1xufVxuXG5leHBvcnQgdHlwZSBMYXllckxlZ2VuZENvbnRlbnRQcm9wcyA9IHtcbiAgbGF5ZXI6IExheWVyO1xuICBjb250YWluZXJXOiBudW1iZXI7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJMZWdlbmRDb250ZW50RmFjdG9yeSgpIHtcbiAgLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL21hcC1sZWdlbmQnKS5MYXllckxlZ2VuZENvbnRlbnQgfT4gKi9cbiAgY29uc3QgTGF5ZXJMZWdlbmRDb250ZW50OiBSZWFjdC5GQzxMYXllckxlZ2VuZENvbnRlbnRQcm9wcz4gPSAoe2xheWVyLCBjb250YWluZXJXfSkgPT4ge1xuICAgIGNvbnN0IGNvbG9yQ2hhbm5lbHMgPSBPYmplY3QudmFsdWVzKGxheWVyLnZpc3VhbENoYW5uZWxzKS5maWx0ZXIoaXNDb2xvckNoYW5uZWwpO1xuICAgIGNvbnN0IG5vbkNvbG9yQ2hhbm5lbHMgPSBPYmplY3QudmFsdWVzKGxheWVyLnZpc3VhbENoYW5uZWxzKS5maWx0ZXIodmMgPT4gIWlzQ29sb3JDaGFubmVsKHZjKSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAge2NvbG9yQ2hhbm5lbHMubWFwKGNvbG9yQ2hhbm5lbCA9PlxuICAgICAgICAgICFjb2xvckNoYW5uZWwuY29uZGl0aW9uIHx8IGNvbG9yQ2hhbm5lbC5jb25kaXRpb24obGF5ZXIuY29uZmlnKSA/IChcbiAgICAgICAgICAgIDxMYXllckNvbG9yTGVnZW5kXG4gICAgICAgICAgICAgIGtleT17Y29sb3JDaGFubmVsLmtleX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e2xheWVyLmdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbihjb2xvckNoYW5uZWwua2V5KX1cbiAgICAgICAgICAgICAgY29uZmlnPXtsYXllci5jb25maWd9XG4gICAgICAgICAgICAgIHdpZHRoPXtjb250YWluZXJXIC0gMiAqIERJTUVOU0lPTlMubWFwQ29udHJvbC5wYWRkaW5nfVxuICAgICAgICAgICAgICBjb2xvckNoYW5uZWw9e2NvbG9yQ2hhbm5lbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgKX1cbiAgICAgICAge25vbkNvbG9yQ2hhbm5lbHMubWFwKHZpc3VhbENoYW5uZWwgPT4ge1xuICAgICAgICAgIGNvbnN0IG1hdGNoQ29uZGl0aW9uID0gIXZpc3VhbENoYW5uZWwuY29uZGl0aW9uIHx8IHZpc3VhbENoYW5uZWwuY29uZGl0aW9uKGxheWVyLmNvbmZpZyk7XG4gICAgICAgICAgY29uc3QgZW5hYmxlZCA9IGxheWVyLmNvbmZpZ1t2aXN1YWxDaGFubmVsLmZpZWxkXSB8fCB2aXN1YWxDaGFubmVsLmRlZmF1bHRNZWFzdXJlO1xuXG4gICAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBsYXllci5nZXRWaXN1YWxDaGFubmVsRGVzY3JpcHRpb24odmlzdWFsQ2hhbm5lbC5rZXkpO1xuXG4gICAgICAgICAgcmV0dXJuIG1hdGNoQ29uZGl0aW9uICYmIGVuYWJsZWQgPyAoXG4gICAgICAgICAgICA8TGF5ZXJTaXplTGVnZW5kXG4gICAgICAgICAgICAgIGtleT17dmlzdWFsQ2hhbm5lbC5rZXl9XG4gICAgICAgICAgICAgIGxhYmVsPXtkZXNjcmlwdGlvbi5sYWJlbH1cbiAgICAgICAgICAgICAgbmFtZT17ZGVzY3JpcHRpb24ubWVhc3VyZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGw7XG4gICAgICAgIH0pfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJMZWdlbmRDb250ZW50O1xufVxuXG5leHBvcnQgdHlwZSBNYXBMZWdlbmRQcm9wcyA9IHtcbiAgbGF5ZXJzPzogUmVhZG9ubHlBcnJheTxMYXllcj47XG4gIHdpZHRoPzogbnVtYmVyO1xuICBtYXBIZWlnaHQ/OiBudW1iZXI7XG4gIG9wdGlvbnM/OiB7XG4gICAgc2hvd0xheWVyTmFtZT86IGJvb2xlYW47XG4gIH07XG59O1xuXG5NYXBMZWdlbmRGYWN0b3J5LmRlcHMgPSBbTGF5ZXJMZWdlbmRIZWFkZXJGYWN0b3J5LCBMYXllckxlZ2VuZENvbnRlbnRGYWN0b3J5XTtcbmZ1bmN0aW9uIE1hcExlZ2VuZEZhY3RvcnkoTGF5ZXJMZWdlbmRIZWFkZXIsIExheWVyTGVnZW5kQ29udGVudCkge1xuICAvKiogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4vbWFwLWxlZ2VuZCcpLk1hcExlZ2VuZCB9PiAqL1xuICBjb25zdCBNYXBMZWdlbmQ6IFJlYWN0LkZDPE1hcExlZ2VuZFByb3BzPiA9ICh7bGF5ZXJzID0gW10sIHdpZHRoLCBtYXBIZWlnaHQsIG9wdGlvbnN9KSA9PiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPVwibWFwLWxlZ2VuZFwiXG4gICAgICB7Li4uKG1hcEhlaWdodCAmJiB7XG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgLyogc3VidHJhY3Rpbmcgcm91Z2ggc2l6ZSBvZiA0IG1hcCBjb250cm9sIGJ1dHRvbnMgYW5kIHBhZGRpbmcgKi9cbiAgICAgICAgICBtYXhIZWlnaHQ6IG1hcEhlaWdodCAtIDI1MFxuICAgICAgICB9XG4gICAgICB9KX1cbiAgICA+XG4gICAgICB7bGF5ZXJzLm1hcCgobGF5ZXIsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmICghbGF5ZXIuaXNWYWxpZFRvU2F2ZSgpIHx8IGxheWVyLmNvbmZpZy5oaWRkZW4pIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250YWluZXJXID0gd2lkdGggfHwgRElNRU5TSU9OUy5tYXBDb250cm9sLndpZHRoO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0eWxlZE1hcENvbnRyb2xMZWdlbmRcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJcIlxuICAgICAgICAgICAgbGFzdD17aW5kZXggPT09IGxheWVycy5sZW5ndGggLSAxfVxuICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgIHdpZHRoPXtjb250YWluZXJXfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMYXllckxlZ2VuZEhlYWRlciBvcHRpb25zPXtvcHRpb25zfSBsYXllcj17bGF5ZXJ9IC8+XG4gICAgICAgICAgICA8TGF5ZXJMZWdlbmRDb250ZW50IGNvbnRhaW5lclc9e2NvbnRhaW5lcld9IGxheWVyPXtsYXllcn0gLz5cbiAgICAgICAgICA8L1N0eWxlZE1hcENvbnRyb2xMZWdlbmQ+XG4gICAgICAgICk7XG4gICAgICB9KX1cbiAgICA8L2Rpdj5cbiAgKTtcblxuICBNYXBMZWdlbmQuZGlzcGxheU5hbWUgPSAnTWFwTGVnZW5kJztcblxuICByZXR1cm4gTWFwTGVnZW5kO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBMZWdlbmRGYWN0b3J5O1xuIl19
274
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWxlZ2VuZC50c3giXSwibmFtZXMiOlsiU3R5bGVkTWFwQ29udHJvbExlZ2VuZCIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJtYXBDb250cm9sIiwicGFkZGluZyIsImZvbnRGYW1pbHkiLCJwYW5lbEJvcmRlckNvbG9yIiwibGFzdCIsIndpZHRoIiwidGV4dENvbG9yIiwic3VidGV4dENvbG9yIiwidGV4dENvbG9ySGwiLCJWaXN1YWxDaGFubmVsTWV0cmljIiwibmFtZSIsIkxheWVyU2l6ZUxlZ2VuZCIsImxhYmVsIiwiU0lOR0xFX0NPTE9SX0RPTUFJTiIsIlNpbmdsZUNvbG9yTGVnZW5kIiwiUmVhY3QiLCJtZW1vIiwiY29sb3IiLCJjb2xvcnMiLCJyZ2IiLCJ0b1N0cmluZyIsImRpc3BsYXlOYW1lIiwiTGF5ZXJDb2xvckxlZ2VuZCIsImRlc2NyaXB0aW9uIiwiY29uZmlnIiwiY29sb3JDaGFubmVsIiwiZW5hYmxlQ29sb3JCeSIsIm1lYXN1cmUiLCJzY2FsZSIsImZpZWxkIiwiZG9tYWluIiwicmFuZ2UiLCJwcm9wZXJ0eSIsIm1hcCIsImsiLCJjb2xvclNjYWxlIiwiY29sb3JGaWVsZCIsImNvbG9yRG9tYWluIiwiY29sb3JSYW5nZSIsInZpc0NvbmZpZyIsInR5cGUiLCJpc0NvbG9yQ2hhbm5lbCIsInZpc3VhbENoYW5uZWwiLCJDSEFOTkVMX1NDQUxFUyIsImNvbG9yQWdnciIsImluY2x1ZGVzIiwiY2hhbm5lbFNjYWxlVHlwZSIsIkxheWVyTGVnZW5kSGVhZGVyRmFjdG9yeSIsIkxheWVyTGVnZW5kSGVhZGVyIiwib3B0aW9ucyIsImxheWVyIiwic2hvd0xheWVyTmFtZSIsIkxheWVyTGVnZW5kQ29udGVudEZhY3RvcnkiLCJMYXllckxlZ2VuZENvbnRlbnQiLCJjb250YWluZXJXIiwiY29sb3JDaGFubmVscyIsIk9iamVjdCIsInZhbHVlcyIsInZpc3VhbENoYW5uZWxzIiwiZmlsdGVyIiwibm9uQ29sb3JDaGFubmVscyIsInZjIiwiY29uZGl0aW9uIiwia2V5IiwiZ2V0VmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uIiwiRElNRU5TSU9OUyIsIm1hdGNoQ29uZGl0aW9uIiwiZW5hYmxlZCIsImRlZmF1bHRNZWFzdXJlIiwiTWFwTGVnZW5kRmFjdG9yeSIsImRlcHMiLCJNYXBMZWdlbmQiLCJsYXllcnMiLCJtYXBIZWlnaHQiLCJzdHlsZSIsIm1heEhlaWdodCIsImluZGV4IiwiaXNWYWxpZFRvU2F2ZSIsImhpZGRlbiIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQVFPLElBQU1BLHNCQUFzQixHQUFHQyw2QkFBT0MsR0FBVixxeUJBQ2pCLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsVUFBWixDQUF1QkMsT0FBM0I7QUFBQSxDQURZLEVBRTdCLFVBQUFILEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsVUFBWixDQUF1QkMsT0FBM0I7QUFBQSxDQUZ3QixFQUlsQixVQUFBSCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlHLFVBQWhCO0FBQUEsQ0FKYSxFQUtWLFVBQUFKLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUksZ0JBQWhCO0FBQUEsQ0FMSyxFQU9WLFVBQUFMLEtBQUs7QUFBQSxTQUFLQSxLQUFLLENBQUNNLElBQU4sR0FBYSxDQUFiLEdBQWlCLEtBQXRCO0FBQUEsQ0FQSyxFQVF4QixVQUFBTixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDTyxLQUFWO0FBQUEsQ0FSbUIsRUFhZCxVQUFBUCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlDLFVBQVosQ0FBdUJDLE9BQTNCO0FBQUEsQ0FiUyxFQWN0QixVQUFBSCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlP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QixRQUFBLE9BQU8sRUFBRUwsT0FBNUI7QUFBcUMsUUFBQSxLQUFLLEVBQUVDO0FBQTVDLFFBTkYsZUFPRSxnQ0FBQyxrQkFBRDtBQUFvQixRQUFBLFVBQVUsRUFBRUksVUFBaEM7QUFBNEMsUUFBQSxLQUFLLEVBQUVKO0FBQW5ELFFBUEYsQ0FERjtBQVdELEtBakJBLENBVEgsQ0FEMEM7QUFBQSxHQUE1Qzs7QUErQkFxQixFQUFBQSxTQUFTLENBQUNsRCxXQUFWLEdBQXdCLFdBQXhCO0FBRUEsU0FBT2tELFNBQVA7QUFDRDs7ZUFFY0YsZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge3JnYn0gZnJvbSAnZDMtY29sb3InO1xuaW1wb3J0IENvbG9yTGVnZW5kIGZyb20gJy4uL2NvbW1vbi9jb2xvci1sZWdlbmQnO1xuaW1wb3J0IHtDSEFOTkVMX1NDQUxFUywgRElNRU5TSU9OU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge0xheWVyLCBMYXllckJhc2VDb25maWcsIFZpc3VhbENoYW5uZWwsIFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuXG5pbnRlcmZhY2UgU3R5bGVkTWFwQ29udHJvbExlZ2VuZFByb3BzIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGxhc3Q/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkTWFwQ29udHJvbExlZ2VuZCA9IHN0eWxlZC5kaXY8U3R5bGVkTWFwQ29udHJvbExlZ2VuZFByb3BzPmBcbiAgcGFkZGluZzogMTBweCAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1hcENvbnRyb2wucGFkZGluZ31weCAxMHB4XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAke3Byb3BzID0+IChwcm9wcy5sYXN0ID8gMCA6ICcxcHgnKX07XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRofXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC5sZWdlbmQtLWxheWVyX25hbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1hcENvbnRyb2wucGFkZGluZ31weDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLmxlZ2VuZC0tbGF5ZXJfdHlwZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1hcENvbnRyb2wucGFkZGluZ31weDtcbiAgfVxuXG4gIC5sZWdlbmQtLWxheWVyX190aXRsZSB7XG4gICAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHg7XG4gIH1cblxuICAubGVnZW5kLS1sYXllcl9ieSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgfVxuXG4gIC5sZWdlbmQtLWxheWVyX2NvbG9yX2ZpZWxkIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC5sZWdlbmQtLWxheWVyX2NvbG9yLWxlZ2VuZCB7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgVmlzdWFsQ2hhbm5lbE1ldHJpYyA9ICh7bmFtZX0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfX3RpdGxlXCI+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX2NvbG9yX2ZpZWxkXCI+XG4gICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtuYW1lfSAvPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJTaXplTGVnZW5kUHJvcHMgPSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn07XG5cbi8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9tYXAtbGVnZW5kJykuTGF5ZXJTaXplTGVnZW5kfSAqL1xuZXhwb3J0IGNvbnN0IExheWVyU2l6ZUxlZ2VuZDogUmVhY3QuRkM8TGF5ZXJTaXplTGVnZW5kUHJvcHM+ID0gKHtsYWJlbCwgbmFtZX0pID0+XG4gIGxhYmVsID8gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9zaXplLXNjaGVtYVwiPlxuICAgICAgPHA+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfYnlcIj57bGFiZWwgPyA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17bGFiZWx9IC8+IDogbnVsbH08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfYnlcIj4gYnkgPC9zcGFuPlxuICAgICAgPC9wPlxuICAgICAge25hbWUgJiYgPFZpc3VhbENoYW5uZWxNZXRyaWMgbmFtZT17bmFtZX0gLz59XG4gICAgPC9kaXY+XG4gICkgOiBudWxsO1xuXG5jb25zdCBTSU5HTEVfQ09MT1JfRE9NQUlOID0gWycnXTtcblxuZXhwb3J0IHR5cGUgU2luZ2xlQ29sb3JMZWdlbmRQcm9wcyA9IHtcbiAgd2lkdGg6IG51bWJlcjtcbiAgY29sb3I6IHN0cmluZztcbn07XG5cbi8qKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9tYXAtbGVnZW5kJykuU2luZ2xlQ29sb3JMZWdlbmR9ICovXG5leHBvcnQgY29uc3QgU2luZ2xlQ29sb3JMZWdlbmQ6IFJlYWN0LkZDPFNpbmdsZUNvbG9yTGVnZW5kUHJvcHM+ID0gUmVhY3QubWVtbygoe3dpZHRoLCBjb2xvcn0pID0+IChcbiAgPENvbG9yTGVnZW5kXG4gICAgc2NhbGVUeXBlPVwib3JkaW5hbFwiXG4gICAgZGlzcGxheUxhYmVsPXtmYWxzZX1cbiAgICBkb21haW49e1NJTkdMRV9DT0xPUl9ET01BSU59XG4gICAgZmllbGRUeXBlPXtudWxsfVxuICAgIHJhbmdlPXt7Y29sb3JzOiBbcmdiKC4uLmNvbG9yKS50b1N0cmluZygpXX19XG4gICAgd2lkdGg9e3dpZHRofVxuICAvPlxuKSk7XG5cblNpbmdsZUNvbG9yTGVnZW5kLmRpc3BsYXlOYW1lID0gJ1NpbmdsZUNvbG9yTGVnZW5kJztcblxuZXhwb3J0IHR5cGUgTGF5ZXJDb2xvckxlZ2VuZFByb3BzID0ge1xuICBkZXNjcmlwdGlvbjogVmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uO1xuICBjb25maWc6IExheWVyQmFzZUNvbmZpZztcbiAgd2lkdGg6IG51bWJlcjtcbiAgY29sb3JDaGFubmVsOiBWaXN1YWxDaGFubmVsO1xufTtcblxuLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL21hcC1sZWdlbmQnKS5MYXllckNvbG9yTGVnZW5kfSAqL1xuZXhwb3J0IGNvbnN0IExheWVyQ29sb3JMZWdlbmQ6IFJlYWN0LkZDPExheWVyQ29sb3JMZWdlbmRQcm9wcz4gPSBSZWFjdC5tZW1vKFxuICAoe2Rlc2NyaXB0aW9uLCBjb25maWcsIHdpZHRoLCBjb2xvckNoYW5uZWx9KSA9PiB7XG4gICAgY29uc3QgZW5hYmxlQ29sb3JCeSA9IGRlc2NyaXB0aW9uLm1lYXN1cmU7XG4gICAgY29uc3Qge3NjYWxlLCBmaWVsZCwgZG9tYWluLCByYW5nZSwgcHJvcGVydHl9ID0gY29sb3JDaGFubmVsO1xuICAgIGNvbnN0IFtjb2xvclNjYWxlLCBjb2xvckZpZWxkLCBjb2xvckRvbWFpbl0gPSBbc2NhbGUsIGZpZWxkLCBkb21haW5dLm1hcChrID0+IGNvbmZpZ1trXSk7XG4gICAgY29uc3QgY29sb3JSYW5nZSA9IGNvbmZpZy52aXNDb25maWdbcmFuZ2VdO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9jb2xvci1zY2hlbWFcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAge2VuYWJsZUNvbG9yQnkgPyA8VmlzdWFsQ2hhbm5lbE1ldHJpYyBuYW1lPXtlbmFibGVDb2xvckJ5fSAvPiA6IG51bGx9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfY29sb3ItbGVnZW5kXCI+XG4gICAgICAgICAgICAgIHtlbmFibGVDb2xvckJ5ID8gKFxuICAgICAgICAgICAgICAgIDxDb2xvckxlZ2VuZFxuICAgICAgICAgICAgICAgICAgc2NhbGVUeXBlPXtjb2xvclNjYWxlfVxuICAgICAgICAgICAgICAgICAgZGlzcGxheUxhYmVsXG4gICAgICAgICAgICAgICAgICBkb21haW49e2NvbG9yRG9tYWlufVxuICAgICAgICAgICAgICAgICAgZmllbGRUeXBlPXsoY29sb3JGaWVsZCAmJiBjb2xvckZpZWxkLnR5cGUpIHx8ICdyZWFsJ31cbiAgICAgICAgICAgICAgICAgIHJhbmdlPXtjb2xvclJhbmdlfVxuICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPFNpbmdsZUNvbG9yTGVnZW5kXG4gICAgICAgICAgICAgICAgICBjb2xvcj17Y29uZmlnLnZpc0NvbmZpZ1twcm9wZXJ0eV0gfHwgY29uZmlnW3Byb3BlcnR5XSB8fCBjb25maWcuY29sb3J9XG4gICAgICAgICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbik7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9kaXNwbGF5LW5hbWVcbkxheWVyQ29sb3JMZWdlbmQuZGlzcGxheU5hbWUgPSAnTGF5ZXJDb2xvckxlZ2VuZCc7XG5cbmNvbnN0IGlzQ29sb3JDaGFubmVsID0gdmlzdWFsQ2hhbm5lbCA9PlxuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3IsIENIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl0uaW5jbHVkZXModmlzdWFsQ2hhbm5lbC5jaGFubmVsU2NhbGVUeXBlKTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJMZWdlbmRIZWFkZXJQcm9wcyA9IHtcbiAgbGF5ZXI6IExheWVyO1xuICBvcHRpb25zPzoge1xuICAgIHNob3dMYXllck5hbWU/OiBib29sZWFuO1xuICB9O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIExheWVyTGVnZW5kSGVhZGVyRmFjdG9yeSgpIHtcbiAgLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL21hcC1sZWdlbmQnKS5MYXllckxlZ2VuZEhlYWRlciB9PiAqL1xuICBjb25zdCBMYXllckxlZ2VuZEhlYWRlcjogUmVhY3QuRkM8TGF5ZXJMZWdlbmRIZWFkZXJQcm9wcz4gPSAoe29wdGlvbnMsIGxheWVyfSkgPT4ge1xuICAgIHJldHVybiBvcHRpb25zPy5zaG93TGF5ZXJOYW1lICE9PSBmYWxzZSA/IChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9uYW1lXCI+e2xheWVyLmNvbmZpZy5sYWJlbH08L2Rpdj5cbiAgICApIDogbnVsbDtcbiAgfTtcbiAgcmV0dXJuIExheWVyTGVnZW5kSGVhZGVyO1xufVxuXG5leHBvcnQgdHlwZSBMYXllckxlZ2VuZENvbnRlbnRQcm9wcyA9IHtcbiAgbGF5ZXI6IExheWVyO1xuICBjb250YWluZXJXOiBudW1iZXI7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJMZWdlbmRDb250ZW50RmFjdG9yeSgpIHtcbiAgLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL21hcC1sZWdlbmQnKS5MYXllckxlZ2VuZENvbnRlbnQgfT4gKi9cbiAgY29uc3QgTGF5ZXJMZWdlbmRDb250ZW50OiBSZWFjdC5GQzxMYXllckxlZ2VuZENvbnRlbnRQcm9wcz4gPSAoe2xheWVyLCBjb250YWluZXJXfSkgPT4ge1xuICAgIGNvbnN0IGNvbG9yQ2hhbm5lbHMgPSBPYmplY3QudmFsdWVzKGxheWVyLnZpc3VhbENoYW5uZWxzKS5maWx0ZXIoaXNDb2xvckNoYW5uZWwpO1xuICAgIGNvbnN0IG5vbkNvbG9yQ2hhbm5lbHMgPSBPYmplY3QudmFsdWVzKGxheWVyLnZpc3VhbENoYW5uZWxzKS5maWx0ZXIodmMgPT4gIWlzQ29sb3JDaGFubmVsKHZjKSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAge2NvbG9yQ2hhbm5lbHMubWFwKGNvbG9yQ2hhbm5lbCA9PlxuICAgICAgICAgICFjb2xvckNoYW5uZWwuY29uZGl0aW9uIHx8IGNvbG9yQ2hhbm5lbC5jb25kaXRpb24obGF5ZXIuY29uZmlnKSA/IChcbiAgICAgICAgICAgIDxMYXllckNvbG9yTGVnZW5kXG4gICAgICAgICAgICAgIGtleT17Y29sb3JDaGFubmVsLmtleX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e2xheWVyLmdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbihjb2xvckNoYW5uZWwua2V5KX1cbiAgICAgICAgICAgICAgY29uZmlnPXtsYXllci5jb25maWd9XG4gICAgICAgICAgICAgIHdpZHRoPXtjb250YWluZXJXIC0gMiAqIERJTUVOU0lPTlMubWFwQ29udHJvbC5wYWRkaW5nfVxuICAgICAgICAgICAgICBjb2xvckNoYW5uZWw9e2NvbG9yQ2hhbm5lbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgKX1cbiAgICAgICAge25vbkNvbG9yQ2hhbm5lbHMubWFwKHZpc3VhbENoYW5uZWwgPT4ge1xuICAgICAgICAgIGNvbnN0IG1hdGNoQ29uZGl0aW9uID0gIXZpc3VhbENoYW5uZWwuY29uZGl0aW9uIHx8IHZpc3VhbENoYW5uZWwuY29uZGl0aW9uKGxheWVyLmNvbmZpZyk7XG4gICAgICAgICAgY29uc3QgZW5hYmxlZCA9IGxheWVyLmNvbmZpZ1t2aXN1YWxDaGFubmVsLmZpZWxkXSB8fCB2aXN1YWxDaGFubmVsLmRlZmF1bHRNZWFzdXJlO1xuXG4gICAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBsYXllci5nZXRWaXN1YWxDaGFubmVsRGVzY3JpcHRpb24odmlzdWFsQ2hhbm5lbC5rZXkpO1xuXG4gICAgICAgICAgcmV0dXJuIG1hdGNoQ29uZGl0aW9uICYmIGVuYWJsZWQgPyAoXG4gICAgICAgICAgICA8TGF5ZXJTaXplTGVnZW5kXG4gICAgICAgICAgICAgIGtleT17dmlzdWFsQ2hhbm5lbC5rZXl9XG4gICAgICAgICAgICAgIGxhYmVsPXtkZXNjcmlwdGlvbi5sYWJlbH1cbiAgICAgICAgICAgICAgbmFtZT17ZGVzY3JpcHRpb24ubWVhc3VyZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGw7XG4gICAgICAgIH0pfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJMZWdlbmRDb250ZW50O1xufVxuXG5leHBvcnQgdHlwZSBNYXBMZWdlbmRQcm9wcyA9IHtcbiAgbGF5ZXJzPzogUmVhZG9ubHlBcnJheTxMYXllcj47XG4gIHdpZHRoPzogbnVtYmVyO1xuICBtYXBIZWlnaHQ/OiBudW1iZXI7XG4gIG9wdGlvbnM/OiB7XG4gICAgc2hvd0xheWVyTmFtZT86IGJvb2xlYW47XG4gIH07XG59O1xuXG5NYXBMZWdlbmRGYWN0b3J5LmRlcHMgPSBbTGF5ZXJMZWdlbmRIZWFkZXJGYWN0b3J5LCBMYXllckxlZ2VuZENvbnRlbnRGYWN0b3J5XTtcbmZ1bmN0aW9uIE1hcExlZ2VuZEZhY3RvcnkoTGF5ZXJMZWdlbmRIZWFkZXIsIExheWVyTGVnZW5kQ29udGVudCkge1xuICAvKiogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4vbWFwLWxlZ2VuZCcpLk1hcExlZ2VuZCB9PiAqL1xuICBjb25zdCBNYXBMZWdlbmQ6IFJlYWN0LkZDPE1hcExlZ2VuZFByb3BzPiA9ICh7bGF5ZXJzID0gW10sIHdpZHRoLCBtYXBIZWlnaHQsIG9wdGlvbnN9KSA9PiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPVwibWFwLWxlZ2VuZFwiXG4gICAgICB7Li4uKG1hcEhlaWdodCAmJiB7XG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgLyogc3VidHJhY3Rpbmcgcm91Z2ggc2l6ZSBvZiA0IG1hcCBjb250cm9sIGJ1dHRvbnMgYW5kIHBhZGRpbmcgKi9cbiAgICAgICAgICBtYXhIZWlnaHQ6IG1hcEhlaWdodCAtIDI1MFxuICAgICAgICB9XG4gICAgICB9KX1cbiAgICA+XG4gICAgICB7bGF5ZXJzLm1hcCgobGF5ZXIsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmICghbGF5ZXIuaXNWYWxpZFRvU2F2ZSgpIHx8IGxheWVyLmNvbmZpZy5oaWRkZW4pIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250YWluZXJXID0gd2lkdGggfHwgRElNRU5TSU9OUy5tYXBDb250cm9sLndpZHRoO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0eWxlZE1hcENvbnRyb2xMZWdlbmRcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJcIlxuICAgICAgICAgICAgbGFzdD17aW5kZXggPT09IGxheWVycy5sZW5ndGggLSAxfVxuICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgIHdpZHRoPXtjb250YWluZXJXfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxMYXllckxlZ2VuZEhlYWRlciBvcHRpb25zPXtvcHRpb25zfSBsYXllcj17bGF5ZXJ9IC8+XG4gICAgICAgICAgICA8TGF5ZXJMZWdlbmRDb250ZW50IGNvbnRhaW5lclc9e2NvbnRhaW5lcld9IGxheWVyPXtsYXllcn0gLz5cbiAgICAgICAgICA8L1N0eWxlZE1hcENvbnRyb2xMZWdlbmQ+XG4gICAgICAgICk7XG4gICAgICB9KX1cbiAgICA8L2Rpdj5cbiAgKTtcblxuICBNYXBMZWdlbmQuZGlzcGxheU5hbWUgPSAnTWFwTGVnZW5kJztcblxuICByZXR1cm4gTWFwTGVnZW5kO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBMZWdlbmRGYWN0b3J5O1xuIl19
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { IntlShape } from 'react-intl';
3
+ import { LayerHoverProp } from '@kepler.gl/reducers';
4
+ import LayerHoverInfoFactory from './layer-hover-info';
5
+ import CoordinateInfoFactory from './coordinate-info';
6
+ declare type MapPopoverContentProps = {
7
+ coordinate: [number, number] | boolean;
8
+ layerHoverProp: LayerHoverProp | null;
9
+ zoom: number;
10
+ };
11
+ declare type IntlProps = {
12
+ intl: IntlShape;
13
+ };
14
+ declare function MapPopoverContentFactory(LayerHoverInfo: ReturnType<typeof LayerHoverInfoFactory>, CoordinateInfo: ReturnType<typeof CoordinateInfoFactory>): React.FC<import("react-intl").WithIntlProps<MapPopoverContentProps & IntlProps>> & {
15
+ WrappedComponent: React.ComponentType<MapPopoverContentProps & IntlProps>;
16
+ };
17
+ declare namespace MapPopoverContentFactory {
18
+ var deps: ((() => React.FC<import("./coordinate-info").CoordinateInfoProps>) | (() => {
19
+ (props: any): React.JSX.Element | null;
20
+ propTypes: {
21
+ fields: import("prop-types").Requireable<any[]>;
22
+ fieldsToShow: import("prop-types").Requireable<any[]>;
23
+ layer: import("prop-types").Requireable<object>;
24
+ data: import("prop-types").Requireable<object>;
25
+ };
26
+ }))[];
27
+ }
28
+ export default MapPopoverContentFactory;
@@ -0,0 +1,51 @@
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
+ //
3
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ // of this software and associated documentation files (the "Software"), to deal
5
+ // in the Software without restriction, including without limitation the rights
6
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ // copies of the Software, and to permit persons to whom the Software is
8
+ // furnished to do so, subject to the following conditions:
9
+ //
10
+ // The above copyright notice and this permission notice shall be included in
11
+ // all copies or substantial portions of the Software.
12
+ //
13
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ // THE SOFTWARE.
20
+
21
+ "use strict";
22
+
23
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
24
+
25
+ Object.defineProperty(exports, "__esModule", {
26
+ value: true
27
+ });
28
+ exports["default"] = MapPopoverContentFactory;
29
+
30
+ var _react = _interopRequireDefault(require("react"));
31
+
32
+ var _reactIntl = require("react-intl");
33
+
34
+ var _layerHoverInfo = _interopRequireDefault(require("./layer-hover-info"));
35
+
36
+ var _coordinateInfo = _interopRequireDefault(require("./coordinate-info"));MapPopoverContentFactory.deps = [_layerHoverInfo["default"], _coordinateInfo["default"]];
37
+
38
+ function MapPopoverContentFactory(LayerHoverInfo, CoordinateInfo) {
39
+ var MapPopoverContent = function MapPopoverContent(_ref) {
40
+ var coordinate = _ref.coordinate,
41
+ layerHoverProp = _ref.layerHoverProp,
42
+ zoom = _ref.zoom;
43
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, Array.isArray(coordinate) && /*#__PURE__*/_react["default"].createElement(CoordinateInfo, {
44
+ coordinate: coordinate,
45
+ zoom: zoom
46
+ }), layerHoverProp && /*#__PURE__*/_react["default"].createElement(LayerHoverInfo, layerHoverProp));
47
+ };
48
+
49
+ return (0, _reactIntl.injectIntl)(MapPopoverContent);
50
+ }
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLXBvcG92ZXItY29udGVudC50c3giXSwibmFtZXMiOlsiTWFwUG9wb3ZlckNvbnRlbnRGYWN0b3J5IiwiZGVwcyIsIkxheWVySG92ZXJJbmZvRmFjdG9yeSIsIkNvb3JkaW5hdGVJbmZvRmFjdG9yeSIsIkxheWVySG92ZXJJbmZvIiwiQ29vcmRpbmF0ZUluZm8iLCJNYXBQb3BvdmVyQ29udGVudCIsImNvb3JkaW5hdGUiLCJsYXllckhvdmVyUHJvcCIsInpvb20iLCJBcnJheSIsImlzQXJyYXkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUF4QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFRQUEsd0JBQXdCLENBQUNDLElBQXpCLEdBQWdDLENBQUNDLDBCQUFELEVBQXdCQywwQkFBeEIsQ0FBaEM7O0FBWWUsU0FBU0gsd0JBQVQsQ0FDYkksY0FEYSxFQUViQyxjQUZhLEVBR2I7QUFDQSxNQUFNQyxpQkFBK0QsR0FBRyxTQUFsRUEsaUJBQWtFLE9BSWxFO0FBQUEsUUFISkMsVUFHSSxRQUhKQSxVQUdJO0FBQUEsUUFGSkMsY0FFSSxRQUZKQSxjQUVJO0FBQUEsUUFESkMsSUFDSSxRQURKQSxJQUNJO0FBQ0osd0JBQ0Usa0VBQ0dDLEtBQUssQ0FBQ0MsT0FBTixDQUFjSixVQUFkLGtCQUE2QixnQ0FBQyxjQUFEO0FBQWdCLE1BQUEsVUFBVSxFQUFFQSxVQUE1QjtBQUF3QyxNQUFBLElBQUksRUFBRUU7QUFBOUMsTUFEaEMsRUFFR0QsY0FBYyxpQkFBSSxnQ0FBQyxjQUFELEVBQW9CQSxjQUFwQixDQUZyQixDQURGO0FBTUQsR0FYRDs7QUFZQSxTQUFPLDJCQUFXRixpQkFBWCxDQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBJbnRsU2hhcGV9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtMYXllckhvdmVyUHJvcH0gZnJvbSAnQGtlcGxlci5nbC9yZWR1Y2Vycyc7XG5pbXBvcnQgTGF5ZXJIb3ZlckluZm9GYWN0b3J5IGZyb20gJy4vbGF5ZXItaG92ZXItaW5mbyc7XG5pbXBvcnQgQ29vcmRpbmF0ZUluZm9GYWN0b3J5IGZyb20gJy4vY29vcmRpbmF0ZS1pbmZvJztcblxuTWFwUG9wb3ZlckNvbnRlbnRGYWN0b3J5LmRlcHMgPSBbTGF5ZXJIb3ZlckluZm9GYWN0b3J5LCBDb29yZGluYXRlSW5mb0ZhY3RvcnldO1xuXG50eXBlIE1hcFBvcG92ZXJDb250ZW50UHJvcHMgPSB7XG4gIGNvb3JkaW5hdGU6IFtudW1iZXIsIG51bWJlcl0gfCBib29sZWFuO1xuICBsYXllckhvdmVyUHJvcDogTGF5ZXJIb3ZlclByb3AgfCBudWxsO1xuICB6b29tOiBudW1iZXI7XG59O1xuXG50eXBlIEludGxQcm9wcyA9IHtcbiAgaW50bDogSW50bFNoYXBlO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWFwUG9wb3ZlckNvbnRlbnRGYWN0b3J5KFxuICBMYXllckhvdmVySW5mbzogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJIb3ZlckluZm9GYWN0b3J5PixcbiAgQ29vcmRpbmF0ZUluZm86IFJldHVyblR5cGU8dHlwZW9mIENvb3JkaW5hdGVJbmZvRmFjdG9yeT5cbikge1xuICBjb25zdCBNYXBQb3BvdmVyQ29udGVudDogUmVhY3QuRkM8TWFwUG9wb3ZlckNvbnRlbnRQcm9wcyAmIEludGxQcm9wcz4gPSAoe1xuICAgIGNvb3JkaW5hdGUsXG4gICAgbGF5ZXJIb3ZlclByb3AsXG4gICAgem9vbVxuICB9KSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtBcnJheS5pc0FycmF5KGNvb3JkaW5hdGUpICYmIDxDb29yZGluYXRlSW5mbyBjb29yZGluYXRlPXtjb29yZGluYXRlfSB6b29tPXt6b29tfSAvPn1cbiAgICAgICAge2xheWVySG92ZXJQcm9wICYmIDxMYXllckhvdmVySW5mbyB7Li4ubGF5ZXJIb3ZlclByb3B9IC8+fVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIGluamVjdEludGwoTWFwUG9wb3ZlckNvbnRlbnQpO1xufVxuIl19
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
- import LayerHoverInfoFactory from './layer-hover-info';
3
- import CoordinateInfoFactory from './coordinate-info';
2
+ import MapPopoverContentFactory from './map-popover-content';
4
3
  import { IntlShape } from 'react-intl';
5
4
  import { LayerHoverProp } from '@kepler.gl/reducers';
5
+ import { Feature, FeatureSelectionContext } from '@kepler.gl/types';
6
+ export declare function getSelectedFeature(layerHoverProp: LayerHoverProp | null): Feature | null;
6
7
  export declare type MapPopoverProps = {
7
8
  x: number;
8
9
  y: number;
@@ -13,24 +14,20 @@ export declare type MapPopoverProps = {
13
14
  zoom: number;
14
15
  container?: HTMLElement | null;
15
16
  onClose: () => void;
17
+ onSetFeatures: (features: Feature[]) => any;
18
+ setSelectedFeature: (feature: Feature | null, clickContext?: FeatureSelectionContext) => any;
19
+ featureCollection?: {
20
+ type: string;
21
+ features: Feature[];
22
+ };
16
23
  };
17
24
  declare type IntlProps = {
18
25
  intl: IntlShape;
19
26
  };
20
- declare function MapPopoverFactory(LayerHoverInfo: ReturnType<typeof LayerHoverInfoFactory>, CoordinateInfo: ReturnType<typeof CoordinateInfoFactory>): React.ForwardRefExoticComponent<import("react-intl").Omit<MapPopoverProps & IntlProps, "intl"> & {
21
- forwardedRef?: React.Ref<any> | undefined;
22
- } & React.RefAttributes<any>> & {
27
+ declare function MapPopoverFactory(MapPopoverContent: ReturnType<typeof MapPopoverContentFactory>): React.FC<import("react-intl").WithIntlProps<MapPopoverProps & IntlProps>> & {
23
28
  WrappedComponent: React.ComponentType<MapPopoverProps & IntlProps>;
24
29
  };
25
30
  declare namespace MapPopoverFactory {
26
- var deps: ((() => {
27
- (props: any): JSX.Element | null;
28
- propTypes: {
29
- fields: import("prop-types").Requireable<any[]>;
30
- fieldsToShow: import("prop-types").Requireable<any[]>;
31
- layer: import("prop-types").Requireable<object>;
32
- data: import("prop-types").Requireable<object>;
33
- };
34
- }) | (() => React.FC<import("./coordinate-info").CoordinateInfoProps>))[];
31
+ var deps: (typeof MapPopoverContentFactory)[];
35
32
  }
36
33
  export default MapPopoverFactory;