@carto/kepler.gl 0.0.15 → 0.0.18-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (823) hide show
  1. package/actions.js +1 -1
  2. package/cloud-providers.js +1 -1
  3. package/components.js +1 -1
  4. package/constants.js +1 -1
  5. package/dist/actions/action-wrapper.js +2 -2
  6. package/dist/actions/actions.js +2 -2
  7. package/dist/actions/identity-actions.js +2 -2
  8. package/dist/actions/index.js +1 -1
  9. package/dist/actions/map-state-actions.js +2 -2
  10. package/dist/actions/map-style-actions.js +2 -2
  11. package/dist/actions/provider-actions.js +2 -2
  12. package/dist/actions/ui-state-actions.js +2 -2
  13. package/dist/actions/vis-state-actions.js +2 -2
  14. package/dist/cloud-providers/index.js +1 -1
  15. package/dist/cloud-providers/provider.js +2 -2
  16. package/dist/components/bottom-widget.js +1 -1
  17. package/dist/components/common/action-panel.js +1 -1
  18. package/dist/components/common/animation-control/animation-control.js +1 -1
  19. package/dist/components/common/animation-control/animation-controller.js +1 -1
  20. package/dist/components/common/animation-control/animation-speed-slider.js +1 -1
  21. package/dist/components/common/animation-control/floating-time-display.js +1 -1
  22. package/dist/components/common/animation-control/playback-controls.js +1 -1
  23. package/dist/components/common/animation-control/speed-control.js +1 -1
  24. package/dist/components/common/checkbox.js +1 -1
  25. package/dist/components/common/color-legend.js +1 -1
  26. package/dist/components/common/data-table/button.js +1 -1
  27. package/dist/components/common/data-table/canvas.js +1 -1
  28. package/dist/components/common/data-table/cell-size.js +1 -1
  29. package/dist/components/common/data-table/grid.js +1 -1
  30. package/dist/components/common/data-table/index.js +1 -1
  31. package/dist/components/common/data-table/option-dropdown.js +1 -1
  32. package/dist/components/common/dataset-label.js +1 -1
  33. package/dist/components/common/error-boundary.js +1 -1
  34. package/dist/components/common/field-selector.js +1 -1
  35. package/dist/components/common/field-token.js +1 -1
  36. package/dist/components/common/file-uploader/file-drop.js +1 -1
  37. package/dist/components/common/file-uploader/file-upload-progress.js +1 -1
  38. package/dist/components/common/file-uploader/file-upload.js +1 -1
  39. package/dist/components/common/file-uploader/upload-button.js +1 -1
  40. package/dist/components/common/histogram-plot.js +1 -1
  41. package/dist/components/common/icons/add.js +1 -1
  42. package/dist/components/common/icons/anchor_window.js +2 -2
  43. package/dist/components/common/icons/arrow-down-alt.js +1 -1
  44. package/dist/components/common/icons/arrow-down-solid .js +1 -1
  45. package/dist/components/common/icons/arrow-down.js +1 -1
  46. package/dist/components/common/icons/arrow-left.js +1 -1
  47. package/dist/components/common/icons/arrow-right.js +1 -1
  48. package/dist/components/common/icons/arrow-up-alt.js +1 -1
  49. package/dist/components/common/icons/arrow-up-solid.js +1 -1
  50. package/dist/components/common/icons/arrow-up.js +1 -1
  51. package/dist/components/common/icons/base.js +1 -1
  52. package/dist/components/common/icons/bug.js +1 -1
  53. package/dist/components/common/icons/cancel.js +1 -1
  54. package/dist/components/common/icons/checkmark.js +1 -1
  55. package/dist/components/common/icons/clipboard.js +1 -1
  56. package/dist/components/common/icons/clock.js +1 -1
  57. package/dist/components/common/icons/close.js +1 -1
  58. package/dist/components/common/icons/code-alt.js +1 -1
  59. package/dist/components/common/icons/copy.js +1 -1
  60. package/dist/components/common/icons/crosshairs.js +1 -1
  61. package/dist/components/common/icons/cube-3d.js +1 -1
  62. package/dist/components/common/icons/cursor-click.js +1 -1
  63. package/dist/components/common/icons/data-table.js +1 -1
  64. package/dist/components/common/icons/db.js +1 -1
  65. package/dist/components/common/icons/delete.js +1 -1
  66. package/dist/components/common/icons/docs.js +1 -1
  67. package/dist/components/common/icons/drag-n-drop.js +1 -1
  68. package/dist/components/common/icons/draw-polygon.js +1 -1
  69. package/dist/components/common/icons/email.js +1 -1
  70. package/dist/components/common/icons/expand.js +1 -1
  71. package/dist/components/common/icons/eye-seen.js +1 -1
  72. package/dist/components/common/icons/eye-unseen.js +1 -1
  73. package/dist/components/common/icons/file-type.js +1 -1
  74. package/dist/components/common/icons/file.js +1 -1
  75. package/dist/components/common/icons/files.js +1 -1
  76. package/dist/components/common/icons/filter-funnel.js +1 -1
  77. package/dist/components/common/icons/free-window.js +2 -2
  78. package/dist/components/common/icons/gear.js +1 -1
  79. package/dist/components/common/icons/hash.js +1 -1
  80. package/dist/components/common/icons/histogram.js +1 -1
  81. package/dist/components/common/icons/index.js +9 -1
  82. package/dist/components/common/icons/info.js +1 -1
  83. package/dist/components/common/icons/layers.js +1 -1
  84. package/dist/components/common/icons/left-arrow.js +1 -1
  85. package/dist/components/common/icons/legend.js +1 -1
  86. package/dist/components/common/icons/line-chart.js +1 -1
  87. package/dist/components/common/icons/login.js +1 -1
  88. package/dist/components/common/icons/logout.js +1 -1
  89. package/dist/components/common/icons/map-icon.js +1 -1
  90. package/dist/components/common/icons/map.js +1 -1
  91. package/dist/components/common/icons/messages.js +1 -1
  92. package/dist/components/common/icons/minus.js +1 -1
  93. package/dist/components/common/icons/pause.js +1 -1
  94. package/dist/components/common/icons/picture.js +1 -1
  95. package/dist/components/common/icons/pin.js +1 -1
  96. package/dist/components/common/icons/play.js +1 -1
  97. package/dist/components/common/icons/polygon.js +1 -1
  98. package/dist/components/common/icons/rectangle.js +1 -1
  99. package/dist/components/common/icons/reduce.js +1 -1
  100. package/dist/components/common/icons/reset.js +1 -1
  101. package/dist/components/common/icons/rocket.js +1 -1
  102. package/dist/components/common/icons/save.js +1 -1
  103. package/dist/components/common/icons/save2.js +1 -1
  104. package/dist/components/common/icons/search.js +1 -1
  105. package/dist/components/common/icons/settings.js +1 -1
  106. package/dist/components/common/icons/share.js +1 -1
  107. package/dist/components/common/icons/split.js +1 -1
  108. package/dist/components/common/icons/square-select.js +1 -1
  109. package/dist/components/common/icons/swap-horizontal.js +68 -0
  110. package/dist/components/common/icons/table.js +1 -1
  111. package/dist/components/common/icons/trash.js +1 -1
  112. package/dist/components/common/icons/upload.js +1 -1
  113. package/dist/components/common/icons/vert-dots.js +1 -1
  114. package/dist/components/common/icons/vert-three-dots.js +1 -1
  115. package/dist/components/common/icons/warning.js +1 -1
  116. package/dist/components/common/image-preview.js +1 -1
  117. package/dist/components/common/info-helper.js +1 -1
  118. package/dist/components/common/item-selector/accessor.js +2 -2
  119. package/dist/components/common/item-selector/chickleted-input.js +1 -1
  120. package/dist/components/common/item-selector/dropdown-list.js +1 -1
  121. package/dist/components/common/item-selector/item-selector.js +1 -1
  122. package/dist/components/common/item-selector/typeahead.js +1 -1
  123. package/dist/components/common/line-chart.js +1 -1
  124. package/dist/components/common/loading-spinner.js +1 -1
  125. package/dist/components/common/logo.js +1 -1
  126. package/dist/components/common/map-layer-selector.js +1 -1
  127. package/dist/components/common/modal.js +1 -1
  128. package/dist/components/common/portaled.js +1 -1
  129. package/dist/components/common/progress-bar.js +1 -1
  130. package/dist/components/common/range-brush.js +1 -1
  131. package/dist/components/common/range-plot.js +1 -1
  132. package/dist/components/common/range-slider.js +1 -1
  133. package/dist/components/common/slider/mouse-event.js +2 -2
  134. package/dist/components/common/slider/slider-bar-handle.js +1 -1
  135. package/dist/components/common/slider/slider-handle.js +1 -1
  136. package/dist/components/common/slider/slider.js +1 -1
  137. package/dist/components/common/styled-components.js +1 -1
  138. package/dist/components/common/switch.js +1 -1
  139. package/dist/components/common/time-range-slider-time-title.js +1 -1
  140. package/dist/components/common/time-range-slider.js +1 -1
  141. package/dist/components/common/time-slider-marker.js +1 -1
  142. package/dist/components/common/toolbar-item.js +1 -1
  143. package/dist/components/common/toolbar.js +1 -1
  144. package/dist/components/common/vertical-toolbar.js +1 -1
  145. package/dist/components/container.js +1 -1
  146. package/dist/components/context.js +2 -2
  147. package/dist/components/editor/constants.js +2 -2
  148. package/dist/components/editor/editor.js +1 -1
  149. package/dist/components/editor/feature-action-panel.js +1 -1
  150. package/dist/components/editor/feature-styles.js +1 -1
  151. package/dist/components/editor/handle-style.js +1 -1
  152. package/dist/components/filters/components.js +1 -1
  153. package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +2 -2
  154. package/dist/components/filters/filter-panels/multi-select-filter-panel.js +2 -2
  155. package/dist/components/filters/filter-panels/new-filter-panel.js +2 -2
  156. package/dist/components/filters/filter-panels/polygon-filter-panel.js +2 -2
  157. package/dist/components/filters/filter-panels/range-filter-panel.js +2 -2
  158. package/dist/components/filters/filter-panels/single-select-filter-panel.js +2 -2
  159. package/dist/components/filters/filter-panels/time-range-filter-panel.js +2 -2
  160. package/dist/components/filters/index.js +1 -1
  161. package/dist/components/filters/multi-select-filter.js +2 -2
  162. package/dist/components/filters/polygon-filter.js +2 -2
  163. package/dist/components/filters/range-filter.js +2 -2
  164. package/dist/components/filters/single-select-filter.js +2 -2
  165. package/dist/components/filters/time-range-filter.js +2 -2
  166. package/dist/components/filters/time-widget.js +1 -1
  167. package/dist/components/geocoder/geocoder.js +1 -1
  168. package/dist/components/geocoder-panel.js +1 -1
  169. package/dist/components/index.js +2 -2
  170. package/dist/components/injector.js +1 -1
  171. package/dist/components/kepler-gl.js +1 -1
  172. package/dist/components/map/coordinate-info.js +2 -2
  173. package/dist/components/map/layer-hover-info.js +1 -1
  174. package/dist/components/map/layer-selector-panel.js +2 -2
  175. package/dist/components/map/locale-panel.js +2 -2
  176. package/dist/components/map/map-control-panel.js +1 -1
  177. package/dist/components/map/map-control-toolbar.js +1 -1
  178. package/dist/components/map/map-control-tooltip.js +2 -2
  179. package/dist/components/map/map-control.js +1 -1
  180. package/dist/components/map/map-draw-panel.js +2 -2
  181. package/dist/components/map/map-legend-panel.js +2 -2
  182. package/dist/components/map/map-legend.js +1 -1
  183. package/dist/components/map/map-popover.js +1 -1
  184. package/dist/components/map/split-map-button.js +2 -2
  185. package/dist/components/map/toggle-3d-button.js +2 -2
  186. package/dist/components/map-container.js +12 -3
  187. package/dist/components/maps-layout.js +1 -1
  188. package/dist/components/modal-container.js +1 -1
  189. package/dist/components/modals/add-map-style-modal.js +1 -1
  190. package/dist/components/modals/cloud-tile.js +1 -1
  191. package/dist/components/modals/data-table-modal.js +1 -1
  192. package/dist/components/modals/delete-data-modal.js +1 -1
  193. package/dist/components/modals/error-display.js +2 -2
  194. package/dist/components/modals/export-data-modal.js +1 -1
  195. package/dist/components/modals/export-image-modal.js +1 -1
  196. package/dist/components/modals/export-map-modal/components.js +1 -1
  197. package/dist/components/modals/export-map-modal/export-html-map.js +1 -1
  198. package/dist/components/modals/export-map-modal/export-json-map.js +1 -1
  199. package/dist/components/modals/export-map-modal/export-map-modal.js +2 -2
  200. package/dist/components/modals/image-modal-container.js +2 -2
  201. package/dist/components/modals/load-data-modal.js +1 -1
  202. package/dist/components/modals/load-storage-map.js +1 -1
  203. package/dist/components/modals/loading-dialog.js +1 -1
  204. package/dist/components/modals/modal-dialog.js +2 -2
  205. package/dist/components/modals/modal-tabs.js +1 -1
  206. package/dist/components/modals/overwrite-map-modal.js +1 -1
  207. package/dist/components/modals/provider-modal-container.js +1 -1
  208. package/dist/components/modals/save-map-modal.js +1 -1
  209. package/dist/components/modals/share-map-modal.js +1 -1
  210. package/dist/components/modals/status-panel.js +1 -1
  211. package/dist/components/modals/storage-map-viewer.js +1 -1
  212. package/dist/components/notification-panel/notification-item.js +1 -1
  213. package/dist/components/notification-panel.js +1 -1
  214. package/dist/components/plot-container.js +1 -1
  215. package/dist/components/side-panel/cloud-storage-dropdown.js +2 -2
  216. package/dist/components/side-panel/common/dataset-info.js +1 -1
  217. package/dist/components/side-panel/common/dataset-tag.js +1 -1
  218. package/dist/components/side-panel/common/dataset-title.js +1 -1
  219. package/dist/components/side-panel/common/source-data-catalog.js +1 -1
  220. package/dist/components/side-panel/common/source-data-selector.js +1 -1
  221. package/dist/components/side-panel/custom-panel.js +2 -2
  222. package/dist/components/side-panel/filter-manager.js +2 -2
  223. package/dist/components/side-panel/filter-panel/filter-panel-header.js +1 -1
  224. package/dist/components/side-panel/filter-panel/filter-panel.js +1 -1
  225. package/dist/components/side-panel/interaction-manager.js +2 -2
  226. package/dist/components/side-panel/interaction-panel/brush-config.js +1 -1
  227. package/dist/components/side-panel/interaction-panel/interaction-panel.js +1 -1
  228. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +1 -1
  229. package/dist/components/side-panel/interaction-panel/tooltip-config.js +1 -1
  230. package/dist/components/side-panel/layer-manager.js +1 -1
  231. package/dist/components/side-panel/layer-panel/color-palette.js +12 -6
  232. package/dist/components/side-panel/layer-panel/color-range-selector.js +51 -17
  233. package/dist/components/side-panel/layer-panel/color-selector.js +1 -1
  234. package/dist/components/side-panel/layer-panel/column-selector.js +1 -1
  235. package/dist/components/side-panel/layer-panel/custom-palette.js +22 -8
  236. package/dist/components/side-panel/layer-panel/custom-picker.js +1 -1
  237. package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +2 -2
  238. package/dist/components/side-panel/layer-panel/layer-column-config.js +1 -1
  239. package/dist/components/side-panel/layer-panel/layer-config-group.js +19 -10
  240. package/dist/components/side-panel/layer-panel/layer-configurator.js +4 -4
  241. package/dist/components/side-panel/layer-panel/layer-panel-header.js +1 -1
  242. package/dist/components/side-panel/layer-panel/layer-panel.js +1 -1
  243. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +1 -1
  244. package/dist/components/side-panel/layer-panel/layer-type-list-item.js +1 -1
  245. package/dist/components/side-panel/layer-panel/layer-type-selector.js +1 -1
  246. package/dist/components/side-panel/layer-panel/single-color-palette.js +1 -1
  247. package/dist/components/side-panel/layer-panel/text-label-panel.js +18 -10
  248. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +1 -1
  249. package/dist/components/side-panel/layer-panel/vis-config-slider.js +2 -2
  250. package/dist/components/side-panel/layer-panel/vis-config-switch.js +1 -1
  251. package/dist/components/side-panel/map-manager.js +1 -1
  252. package/dist/components/side-panel/map-style-panel/map-layer-selector.js +1 -1
  253. package/dist/components/side-panel/map-style-panel/map-style-selector.js +1 -1
  254. package/dist/components/side-panel/panel-dropdown.js +1 -1
  255. package/dist/components/side-panel/panel-header-action.js +1 -1
  256. package/dist/components/side-panel/panel-header.js +1 -1
  257. package/dist/components/side-panel/panel-tab.js +1 -1
  258. package/dist/components/side-panel/panel-title.js +1 -1
  259. package/dist/components/side-panel/panel-toggle.js +1 -1
  260. package/dist/components/side-panel/side-bar.js +1 -1
  261. package/dist/components/side-panel.js +1 -1
  262. package/dist/connect/keplergl-connect.js +2 -2
  263. package/dist/connect/with-local-selector.js +1 -1
  264. package/dist/constants/action-types.js +2 -2
  265. package/dist/constants/color-palette.js +2 -2
  266. package/dist/constants/color-ranges.js +1 -1
  267. package/dist/constants/custom-color-ranges.js +2 -2
  268. package/dist/constants/default-settings.js +2 -2
  269. package/dist/constants/index.js +1 -1
  270. package/dist/constants/keyevent.js +2 -2
  271. package/dist/constants/tooltip.js +2 -2
  272. package/dist/constants/user-feedbacks.js +2 -2
  273. package/dist/constants/user-guides.js +2 -2
  274. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +1 -1
  275. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +2 -2
  276. package/dist/deckgl-layers/cluster-layer/cluster-layer.js +1 -1
  277. package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +1 -1
  278. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +1 -1
  279. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +1 -1
  280. package/dist/deckgl-layers/layer-utils/cluster-utils.js +2 -2
  281. package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +1 -1
  282. package/dist/deckgl-layers/layer-utils/shader-utils.js +2 -2
  283. package/dist/deckgl-layers/line-layer/line-layer.js +1 -1
  284. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +1 -1
  285. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +1 -1
  286. package/dist/index.js +1 -1
  287. package/dist/layers/aggregation-layer.js +1 -1
  288. package/dist/layers/arc-layer/arc-layer-icon.js +1 -1
  289. package/dist/layers/arc-layer/arc-layer.js +1 -1
  290. package/dist/layers/base-layer.js +1 -1
  291. package/dist/layers/cluster-layer/cluster-layer-icon.js +1 -1
  292. package/dist/layers/cluster-layer/cluster-layer.js +1 -1
  293. package/dist/layers/default-layer-icon.js +1 -1
  294. package/dist/layers/geojson-layer/geojson-layer-icon.js +1 -1
  295. package/dist/layers/geojson-layer/geojson-layer.js +1 -1
  296. package/dist/layers/geojson-layer/geojson-utils.js +1 -1
  297. package/dist/layers/grid-layer/grid-layer-icon.js +1 -1
  298. package/dist/layers/grid-layer/grid-layer.js +1 -1
  299. package/dist/layers/grid-layer/grid-utils.js +2 -2
  300. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +1 -1
  301. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +1 -1
  302. package/dist/layers/h3-hexagon-layer/h3-utils.js +2 -2
  303. package/dist/layers/heatmap-layer/heatmap-layer-icon.js +1 -1
  304. package/dist/layers/heatmap-layer/heatmap-layer.js +1 -1
  305. package/dist/layers/hexagon-layer/hexagon-layer-icon.js +1 -1
  306. package/dist/layers/hexagon-layer/hexagon-layer.js +1 -1
  307. package/dist/layers/hexagon-layer/hexagon-utils.js +2 -2
  308. package/dist/layers/icon-layer/icon-info-modal.js +1 -1
  309. package/dist/layers/icon-layer/icon-layer-icon.js +1 -1
  310. package/dist/layers/icon-layer/icon-layer.js +1 -1
  311. package/dist/layers/index.js +1 -1
  312. package/dist/layers/layer-factory.js +2 -2
  313. package/dist/layers/layer-text-label.js +2 -2
  314. package/dist/layers/layer-update.js +2 -2
  315. package/dist/layers/line-layer/line-layer-icon.js +1 -1
  316. package/dist/layers/line-layer/line-layer.js +1 -1
  317. package/dist/layers/mapbox-utils.js +1 -1
  318. package/dist/layers/mapboxgl-layer.js +1 -1
  319. package/dist/layers/point-layer/point-layer-icon.js +1 -1
  320. package/dist/layers/point-layer/point-layer.js +1 -1
  321. package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +1 -1
  322. package/dist/layers/s2-geometry-layer/s2-layer-icon.js +1 -1
  323. package/dist/layers/s2-geometry-layer/s2-utils.js +2 -2
  324. package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +1 -1
  325. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +1 -1
  326. package/dist/layers/scenegraph-layer/scenegraph-layer.js +1 -1
  327. package/dist/layers/trip-layer/trip-info-modal.js +1 -1
  328. package/dist/layers/trip-layer/trip-layer-icon.js +1 -1
  329. package/dist/layers/trip-layer/trip-layer.js +1 -1
  330. package/dist/layers/trip-layer/trip-utils.js +2 -2
  331. package/dist/layers/types.js +2 -2
  332. package/dist/localization/ca.js +1 -1
  333. package/dist/localization/cn.js +1 -1
  334. package/dist/localization/en.js +6 -1
  335. package/dist/localization/es.js +1 -1
  336. package/dist/localization/fi.js +1 -1
  337. package/dist/localization/formatted-message.js +2 -2
  338. package/dist/localization/index.js +1 -1
  339. package/dist/localization/ja.js +1 -1
  340. package/dist/localization/locales.js +2 -2
  341. package/dist/localization/pt.js +1 -1
  342. package/dist/localization/ru.js +1 -1
  343. package/dist/middleware/index.js +2 -2
  344. package/dist/processors/data-processor.js +1 -1
  345. package/dist/processors/file-handler.js +1 -1
  346. package/dist/processors/index.js +1 -1
  347. package/dist/reducers/combined-updaters.js +1 -1
  348. package/dist/reducers/composer-helpers.js +1 -1
  349. package/dist/reducers/composers.js +1 -1
  350. package/dist/reducers/core.js +2 -2
  351. package/dist/reducers/index.js +1 -1
  352. package/dist/reducers/map-state-updaters.js +1 -1
  353. package/dist/reducers/map-state.js +1 -1
  354. package/dist/reducers/map-style-updaters.js +1 -1
  355. package/dist/reducers/map-style.js +1 -1
  356. package/dist/reducers/provider-state-updaters.js +1 -1
  357. package/dist/reducers/provider-state.js +1 -1
  358. package/dist/reducers/root.js +1 -1
  359. package/dist/reducers/ui-state-updaters.js +1 -1
  360. package/dist/reducers/ui-state.js +1 -1
  361. package/dist/reducers/vis-state-merger.js +1 -1
  362. package/dist/reducers/vis-state-selectors.js +2 -2
  363. package/dist/reducers/vis-state-updaters.js +1 -1
  364. package/dist/reducers/vis-state.js +1 -1
  365. package/dist/schemas/dataset-schema.js +1 -1
  366. package/dist/schemas/index.js +1 -1
  367. package/dist/schemas/map-state-schema.js +1 -1
  368. package/dist/schemas/map-style-schema.js +1 -1
  369. package/dist/schemas/schema-manager.js +1 -1
  370. package/dist/schemas/schema-utils.js +2 -2
  371. package/dist/schemas/schema.js +1 -1
  372. package/dist/schemas/versions.js +2 -2
  373. package/dist/schemas/vis-state-schema.js +1 -1
  374. package/dist/styles/base.js +1 -1
  375. package/dist/styles/index.js +1 -1
  376. package/dist/styles/media-breakpoints.js +1 -1
  377. package/dist/tasks/tasks.js +2 -2
  378. package/dist/templates/export-map-html.js +2 -2
  379. package/dist/utils/aggregate-utils.js +1 -1
  380. package/dist/utils/color-utils.js +2 -2
  381. package/dist/utils/data-scale-utils.js +2 -2
  382. package/dist/utils/data-utils.js +1 -1
  383. package/dist/utils/dataset-utils.js +1 -1
  384. package/dist/utils/dom-to-image.js +2 -2
  385. package/dist/utils/dom-utils.js +2 -2
  386. package/dist/utils/export-utils.js +1 -1
  387. package/dist/utils/filter-utils.js +1 -1
  388. package/dist/utils/gl-utils.js +1 -1
  389. package/dist/utils/gpu-filter-utils.js +1 -1
  390. package/dist/utils/index.js +1 -1
  391. package/dist/utils/interaction-utils.js +2 -2
  392. package/dist/utils/layer-utils.js +1 -1
  393. package/dist/utils/locale-utils.js +1 -1
  394. package/dist/utils/map-info-utils.js +2 -2
  395. package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +1 -1
  396. package/dist/utils/map-style-utils/mapbox-utils.js +2 -2
  397. package/dist/utils/mapbox-utils.js +2 -2
  398. package/dist/utils/notifications-utils.js +1 -1
  399. package/dist/utils/observe-dimensions.js +1 -1
  400. package/dist/utils/projection-utils.js +2 -2
  401. package/dist/utils/searcher-utils.js +2 -2
  402. package/dist/utils/split-map-utils.js +1 -1
  403. package/dist/utils/table-utils/data-container-utils.js +1 -1
  404. package/dist/utils/table-utils/data-row.js +2 -2
  405. package/dist/utils/table-utils/index.js +1 -1
  406. package/dist/utils/table-utils/indexed-data-container.js +1 -1
  407. package/dist/utils/table-utils/kepler-table.js +1 -1
  408. package/dist/utils/table-utils/row-data-container.js +1 -1
  409. package/dist/utils/utils.js +1 -1
  410. package/layers.js +1 -1
  411. package/localization.js +1 -1
  412. package/middleware.js +1 -1
  413. package/package.json +1 -1
  414. package/processors.js +1 -1
  415. package/reducers.js +1 -1
  416. package/schemas.js +1 -1
  417. package/src/actions/action-wrapper.js +1 -1
  418. package/src/actions/actions.js +1 -1
  419. package/src/actions/identity-actions.js +1 -1
  420. package/src/actions/index.js +1 -1
  421. package/src/actions/map-state-actions.js +1 -1
  422. package/src/actions/map-style-actions.js +1 -1
  423. package/src/actions/provider-actions.js +1 -1
  424. package/src/actions/ui-state-actions.js +1 -1
  425. package/src/actions/vis-state-actions.js +1 -1
  426. package/src/cloud-providers/index.js +1 -1
  427. package/src/cloud-providers/provider.js +1 -1
  428. package/src/components/bottom-widget.js +1 -1
  429. package/src/components/common/action-panel.js +1 -1
  430. package/src/components/common/animation-control/animation-control.js +1 -1
  431. package/src/components/common/animation-control/animation-controller.js +1 -1
  432. package/src/components/common/animation-control/animation-speed-slider.js +1 -1
  433. package/src/components/common/animation-control/floating-time-display.js +1 -1
  434. package/src/components/common/animation-control/playback-controls.js +1 -1
  435. package/src/components/common/animation-control/speed-control.js +1 -1
  436. package/src/components/common/checkbox.js +1 -1
  437. package/src/components/common/color-legend.js +1 -1
  438. package/src/components/common/data-table/button.js +1 -1
  439. package/src/components/common/data-table/canvas.js +1 -1
  440. package/src/components/common/data-table/cell-size.js +1 -1
  441. package/src/components/common/data-table/grid.js +1 -1
  442. package/src/components/common/data-table/index.js +1 -1
  443. package/src/components/common/data-table/option-dropdown.js +1 -1
  444. package/src/components/common/dataset-label.js +1 -1
  445. package/src/components/common/error-boundary.js +1 -1
  446. package/src/components/common/field-selector.js +1 -1
  447. package/src/components/common/field-token.js +1 -1
  448. package/src/components/common/file-uploader/file-drop.js +1 -1
  449. package/src/components/common/file-uploader/file-upload-progress.js +1 -1
  450. package/src/components/common/file-uploader/file-upload.js +1 -1
  451. package/src/components/common/file-uploader/upload-button.js +1 -1
  452. package/src/components/common/histogram-plot.js +1 -1
  453. package/src/components/common/icons/add.js +1 -1
  454. package/src/components/common/icons/anchor_window.js +1 -1
  455. package/src/components/common/icons/arrow-down-alt.js +1 -1
  456. package/src/components/common/icons/arrow-down-solid .js +1 -1
  457. package/src/components/common/icons/arrow-down.js +1 -1
  458. package/src/components/common/icons/arrow-left.js +1 -1
  459. package/src/components/common/icons/arrow-right.js +1 -1
  460. package/src/components/common/icons/arrow-up-alt.js +1 -1
  461. package/src/components/common/icons/arrow-up-solid.js +1 -1
  462. package/src/components/common/icons/arrow-up.js +1 -1
  463. package/src/components/common/icons/base.js +1 -1
  464. package/src/components/common/icons/bug.js +1 -1
  465. package/src/components/common/icons/cancel.js +1 -1
  466. package/src/components/common/icons/checkmark.js +1 -1
  467. package/src/components/common/icons/clipboard.js +1 -1
  468. package/src/components/common/icons/clock.js +1 -1
  469. package/src/components/common/icons/close.js +1 -1
  470. package/src/components/common/icons/code-alt.js +1 -1
  471. package/src/components/common/icons/copy.js +1 -1
  472. package/src/components/common/icons/crosshairs.js +1 -1
  473. package/src/components/common/icons/cube-3d.js +1 -1
  474. package/src/components/common/icons/cursor-click.js +1 -1
  475. package/src/components/common/icons/data-table.js +1 -1
  476. package/src/components/common/icons/db.js +1 -1
  477. package/src/components/common/icons/delete.js +1 -1
  478. package/src/components/common/icons/docs.js +1 -1
  479. package/src/components/common/icons/drag-n-drop.js +1 -1
  480. package/src/components/common/icons/draw-polygon.js +1 -1
  481. package/src/components/common/icons/email.js +1 -1
  482. package/src/components/common/icons/expand.js +1 -1
  483. package/src/components/common/icons/eye-seen.js +1 -1
  484. package/src/components/common/icons/eye-unseen.js +1 -1
  485. package/src/components/common/icons/file-type.js +1 -1
  486. package/src/components/common/icons/file.js +1 -1
  487. package/src/components/common/icons/files.js +1 -1
  488. package/src/components/common/icons/filter-funnel.js +1 -1
  489. package/src/components/common/icons/free-window.js +1 -1
  490. package/src/components/common/icons/gear.js +1 -1
  491. package/src/components/common/icons/hash.js +1 -1
  492. package/src/components/common/icons/histogram.js +1 -1
  493. package/src/components/common/icons/index.js +2 -1
  494. package/src/components/common/icons/info.js +1 -1
  495. package/src/components/common/icons/layers.js +1 -1
  496. package/src/components/common/icons/left-arrow.js +1 -1
  497. package/src/components/common/icons/legend.js +1 -1
  498. package/src/components/common/icons/line-chart.js +1 -1
  499. package/src/components/common/icons/login.js +1 -1
  500. package/src/components/common/icons/logout.js +1 -1
  501. package/src/components/common/icons/map-icon.js +1 -1
  502. package/src/components/common/icons/map.js +1 -1
  503. package/src/components/common/icons/messages.js +1 -1
  504. package/src/components/common/icons/minus.js +1 -1
  505. package/src/components/common/icons/pause.js +1 -1
  506. package/src/components/common/icons/picture.js +1 -1
  507. package/src/components/common/icons/pin.js +1 -1
  508. package/src/components/common/icons/play.js +1 -1
  509. package/src/components/common/icons/polygon.js +1 -1
  510. package/src/components/common/icons/rectangle.js +1 -1
  511. package/src/components/common/icons/reduce.js +1 -1
  512. package/src/components/common/icons/reset.js +1 -1
  513. package/src/components/common/icons/rocket.js +1 -1
  514. package/src/components/common/icons/save.js +1 -1
  515. package/src/components/common/icons/save2.js +1 -1
  516. package/src/components/common/icons/search.js +1 -1
  517. package/src/components/common/icons/settings.js +1 -1
  518. package/src/components/common/icons/share.js +1 -1
  519. package/src/components/common/icons/split.js +1 -1
  520. package/src/components/common/icons/square-select.js +1 -1
  521. package/src/components/common/icons/swap-horizontal.js +43 -0
  522. package/src/components/common/icons/table.js +1 -1
  523. package/src/components/common/icons/trash.js +1 -1
  524. package/src/components/common/icons/upload.js +1 -1
  525. package/src/components/common/icons/vert-dots.js +1 -1
  526. package/src/components/common/icons/vert-three-dots.js +1 -1
  527. package/src/components/common/icons/warning.js +1 -1
  528. package/src/components/common/image-preview.js +1 -1
  529. package/src/components/common/info-helper.js +1 -1
  530. package/src/components/common/item-selector/accessor.js +1 -1
  531. package/src/components/common/item-selector/chickleted-input.js +1 -1
  532. package/src/components/common/item-selector/dropdown-list.js +1 -1
  533. package/src/components/common/item-selector/item-selector.js +1 -1
  534. package/src/components/common/item-selector/typeahead.js +1 -1
  535. package/src/components/common/line-chart.js +1 -1
  536. package/src/components/common/loading-spinner.js +1 -1
  537. package/src/components/common/logo.js +1 -1
  538. package/src/components/common/map-layer-selector.js +1 -1
  539. package/src/components/common/modal.js +1 -1
  540. package/src/components/common/portaled.js +1 -1
  541. package/src/components/common/progress-bar.js +1 -1
  542. package/src/components/common/range-brush.js +1 -1
  543. package/src/components/common/range-plot.js +1 -1
  544. package/src/components/common/range-slider.js +1 -1
  545. package/src/components/common/slider/mouse-event.js +1 -1
  546. package/src/components/common/slider/slider-bar-handle.js +1 -1
  547. package/src/components/common/slider/slider-handle.js +1 -1
  548. package/src/components/common/slider/slider.js +1 -1
  549. package/src/components/common/styled-components.js +1 -1
  550. package/src/components/common/switch.js +1 -1
  551. package/src/components/common/time-range-slider-time-title.js +1 -1
  552. package/src/components/common/time-range-slider.js +1 -1
  553. package/src/components/common/time-slider-marker.js +1 -1
  554. package/src/components/common/toolbar-item.js +1 -1
  555. package/src/components/common/toolbar.js +1 -1
  556. package/src/components/common/vertical-toolbar.js +1 -1
  557. package/src/components/container.js +1 -1
  558. package/src/components/context.js +1 -1
  559. package/src/components/editor/constants.js +1 -1
  560. package/src/components/editor/editor.js +1 -1
  561. package/src/components/editor/feature-action-panel.js +1 -1
  562. package/src/components/editor/feature-styles.js +1 -1
  563. package/src/components/editor/handle-style.js +1 -1
  564. package/src/components/filters/components.js +1 -1
  565. package/src/components/filters/filter-panels/filter-panel-with-field-select.js +1 -1
  566. package/src/components/filters/filter-panels/multi-select-filter-panel.js +1 -1
  567. package/src/components/filters/filter-panels/new-filter-panel.js +1 -1
  568. package/src/components/filters/filter-panels/polygon-filter-panel.js +1 -1
  569. package/src/components/filters/filter-panels/range-filter-panel.js +1 -1
  570. package/src/components/filters/filter-panels/single-select-filter-panel.js +1 -1
  571. package/src/components/filters/filter-panels/time-range-filter-panel.js +1 -1
  572. package/src/components/filters/index.js +1 -1
  573. package/src/components/filters/multi-select-filter.js +1 -1
  574. package/src/components/filters/polygon-filter.js +1 -1
  575. package/src/components/filters/range-filter.js +1 -1
  576. package/src/components/filters/single-select-filter.js +1 -1
  577. package/src/components/filters/time-range-filter.js +1 -1
  578. package/src/components/filters/time-widget.js +1 -1
  579. package/src/components/geocoder/geocoder.js +1 -1
  580. package/src/components/geocoder-panel.js +1 -1
  581. package/src/components/index.js +1 -1
  582. package/src/components/injector.js +1 -1
  583. package/src/components/kepler-gl.js +1 -1
  584. package/src/components/map/coordinate-info.js +1 -1
  585. package/src/components/map/layer-hover-info.js +1 -1
  586. package/src/components/map/layer-selector-panel.js +1 -1
  587. package/src/components/map/locale-panel.js +1 -1
  588. package/src/components/map/map-control-panel.js +1 -1
  589. package/src/components/map/map-control-toolbar.js +1 -1
  590. package/src/components/map/map-control-tooltip.js +1 -1
  591. package/src/components/map/map-control.js +1 -1
  592. package/src/components/map/map-draw-panel.js +1 -1
  593. package/src/components/map/map-legend-panel.js +1 -1
  594. package/src/components/map/map-legend.js +1 -1
  595. package/src/components/map/map-popover.js +1 -1
  596. package/src/components/map/split-map-button.js +1 -1
  597. package/src/components/map/toggle-3d-button.js +1 -1
  598. package/src/components/map-container.js +7 -2
  599. package/src/components/maps-layout.js +1 -1
  600. package/src/components/modal-container.js +1 -1
  601. package/src/components/modals/add-map-style-modal.js +1 -1
  602. package/src/components/modals/cloud-tile.js +1 -1
  603. package/src/components/modals/data-table-modal.js +1 -1
  604. package/src/components/modals/delete-data-modal.js +1 -1
  605. package/src/components/modals/error-display.js +1 -1
  606. package/src/components/modals/export-data-modal.js +1 -1
  607. package/src/components/modals/export-image-modal.js +1 -1
  608. package/src/components/modals/export-map-modal/components.js +1 -1
  609. package/src/components/modals/export-map-modal/export-html-map.js +1 -1
  610. package/src/components/modals/export-map-modal/export-json-map.js +1 -1
  611. package/src/components/modals/export-map-modal/export-map-modal.js +1 -1
  612. package/src/components/modals/image-modal-container.js +1 -1
  613. package/src/components/modals/load-data-modal.js +1 -1
  614. package/src/components/modals/load-storage-map.js +1 -1
  615. package/src/components/modals/loading-dialog.js +1 -1
  616. package/src/components/modals/modal-dialog.js +1 -1
  617. package/src/components/modals/modal-tabs.js +1 -1
  618. package/src/components/modals/overwrite-map-modal.js +1 -1
  619. package/src/components/modals/provider-modal-container.js +1 -1
  620. package/src/components/modals/save-map-modal.js +1 -1
  621. package/src/components/modals/share-map-modal.js +1 -1
  622. package/src/components/modals/status-panel.js +1 -1
  623. package/src/components/modals/storage-map-viewer.js +1 -1
  624. package/src/components/notification-panel/notification-item.js +1 -1
  625. package/src/components/notification-panel.js +1 -1
  626. package/src/components/plot-container.js +1 -1
  627. package/src/components/side-panel/cloud-storage-dropdown.js +1 -1
  628. package/src/components/side-panel/common/dataset-info.js +1 -1
  629. package/src/components/side-panel/common/dataset-tag.js +1 -1
  630. package/src/components/side-panel/common/dataset-title.js +1 -1
  631. package/src/components/side-panel/common/source-data-catalog.js +1 -1
  632. package/src/components/side-panel/common/source-data-selector.js +1 -1
  633. package/src/components/side-panel/custom-panel.js +1 -1
  634. package/src/components/side-panel/filter-manager.js +1 -1
  635. package/src/components/side-panel/filter-panel/filter-panel-header.js +1 -1
  636. package/src/components/side-panel/filter-panel/filter-panel.js +1 -1
  637. package/src/components/side-panel/interaction-manager.js +1 -1
  638. package/src/components/side-panel/interaction-panel/brush-config.js +1 -1
  639. package/src/components/side-panel/interaction-panel/interaction-panel.js +1 -1
  640. package/src/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +1 -1
  641. package/src/components/side-panel/interaction-panel/tooltip-config.js +1 -1
  642. package/src/components/side-panel/layer-manager.js +1 -1
  643. package/src/components/side-panel/layer-panel/color-palette.js +11 -4
  644. package/src/components/side-panel/layer-panel/color-range-selector.js +69 -29
  645. package/src/components/side-panel/layer-panel/color-selector.js +1 -1
  646. package/src/components/side-panel/layer-panel/column-selector.js +1 -1
  647. package/src/components/side-panel/layer-panel/custom-palette.js +24 -18
  648. package/src/components/side-panel/layer-panel/custom-picker.js +1 -1
  649. package/src/components/side-panel/layer-panel/dimension-scale-selector.js +1 -1
  650. package/src/components/side-panel/layer-panel/layer-column-config.js +1 -1
  651. package/src/components/side-panel/layer-panel/layer-config-group.js +17 -8
  652. package/src/components/side-panel/layer-panel/layer-configurator.js +21 -13
  653. package/src/components/side-panel/layer-panel/layer-panel-header.js +1 -1
  654. package/src/components/side-panel/layer-panel/layer-panel.js +1 -1
  655. package/src/components/side-panel/layer-panel/layer-type-dropdown-list.js +1 -1
  656. package/src/components/side-panel/layer-panel/layer-type-list-item.js +1 -1
  657. package/src/components/side-panel/layer-panel/layer-type-selector.js +1 -1
  658. package/src/components/side-panel/layer-panel/single-color-palette.js +1 -1
  659. package/src/components/side-panel/layer-panel/text-label-panel.js +16 -7
  660. package/src/components/side-panel/layer-panel/vis-config-by-field-selector.js +1 -1
  661. package/src/components/side-panel/layer-panel/vis-config-slider.js +1 -1
  662. package/src/components/side-panel/layer-panel/vis-config-switch.js +1 -1
  663. package/src/components/side-panel/map-manager.js +1 -1
  664. package/src/components/side-panel/map-style-panel/map-layer-selector.js +1 -1
  665. package/src/components/side-panel/map-style-panel/map-style-selector.js +1 -1
  666. package/src/components/side-panel/panel-dropdown.js +1 -1
  667. package/src/components/side-panel/panel-header-action.js +1 -1
  668. package/src/components/side-panel/panel-header.js +1 -1
  669. package/src/components/side-panel/panel-tab.js +1 -1
  670. package/src/components/side-panel/panel-title.js +1 -1
  671. package/src/components/side-panel/panel-toggle.js +1 -1
  672. package/src/components/side-panel/side-bar.js +1 -1
  673. package/src/components/side-panel.js +1 -1
  674. package/src/connect/keplergl-connect.js +1 -1
  675. package/src/connect/with-local-selector.js +1 -1
  676. package/src/constants/action-types.js +1 -1
  677. package/src/constants/color-palette.js +1 -1
  678. package/src/constants/color-ranges.js +1 -1
  679. package/src/constants/custom-color-ranges.js +1 -1
  680. package/src/constants/default-settings.js +1 -1
  681. package/src/constants/index.js +1 -1
  682. package/src/constants/keyevent.js +1 -1
  683. package/src/constants/tooltip.js +1 -1
  684. package/src/constants/user-feedbacks.js +1 -1
  685. package/src/constants/user-guides.js +1 -1
  686. package/src/deckgl-layers/3d-building-layer/3d-building-layer.js +1 -1
  687. package/src/deckgl-layers/3d-building-layer/3d-building-utils.js +1 -1
  688. package/src/deckgl-layers/cluster-layer/cluster-layer.js +1 -1
  689. package/src/deckgl-layers/column-layer/enhanced-column-layer.js +1 -1
  690. package/src/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +1 -1
  691. package/src/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +1 -1
  692. package/src/deckgl-layers/layer-utils/cluster-utils.js +1 -1
  693. package/src/deckgl-layers/layer-utils/cpu-aggregator.js +1 -1
  694. package/src/deckgl-layers/layer-utils/shader-utils.js +1 -1
  695. package/src/deckgl-layers/line-layer/line-layer.js +1 -1
  696. package/src/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +1 -1
  697. package/src/deckgl-layers/svg-icon-layer/svg-icon-layer.js +1 -1
  698. package/src/index.js +1 -1
  699. package/src/layers/aggregation-layer.js +1 -1
  700. package/src/layers/arc-layer/arc-layer-icon.js +1 -1
  701. package/src/layers/arc-layer/arc-layer.js +1 -1
  702. package/src/layers/base-layer.js +1 -1
  703. package/src/layers/cluster-layer/cluster-layer-icon.js +1 -1
  704. package/src/layers/cluster-layer/cluster-layer.js +1 -1
  705. package/src/layers/default-layer-icon.js +1 -1
  706. package/src/layers/geojson-layer/geojson-layer-icon.js +1 -1
  707. package/src/layers/geojson-layer/geojson-layer.js +1 -1
  708. package/src/layers/geojson-layer/geojson-utils.js +1 -1
  709. package/src/layers/grid-layer/grid-layer-icon.js +1 -1
  710. package/src/layers/grid-layer/grid-layer.js +1 -1
  711. package/src/layers/grid-layer/grid-utils.js +1 -1
  712. package/src/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +1 -1
  713. package/src/layers/h3-hexagon-layer/h3-hexagon-layer.js +1 -1
  714. package/src/layers/h3-hexagon-layer/h3-utils.js +1 -1
  715. package/src/layers/heatmap-layer/heatmap-layer-icon.js +1 -1
  716. package/src/layers/heatmap-layer/heatmap-layer.js +1 -1
  717. package/src/layers/hexagon-layer/hexagon-layer-icon.js +1 -1
  718. package/src/layers/hexagon-layer/hexagon-layer.js +1 -1
  719. package/src/layers/hexagon-layer/hexagon-utils.js +1 -1
  720. package/src/layers/icon-layer/icon-info-modal.js +1 -1
  721. package/src/layers/icon-layer/icon-layer-icon.js +1 -1
  722. package/src/layers/icon-layer/icon-layer.js +1 -1
  723. package/src/layers/index.js +1 -1
  724. package/src/layers/layer-factory.js +1 -1
  725. package/src/layers/layer-text-label.js +1 -1
  726. package/src/layers/layer-update.js +1 -1
  727. package/src/layers/line-layer/line-layer-icon.js +1 -1
  728. package/src/layers/line-layer/line-layer.js +1 -1
  729. package/src/layers/mapbox-utils.js +1 -1
  730. package/src/layers/mapboxgl-layer.js +1 -1
  731. package/src/layers/point-layer/point-layer-icon.js +1 -1
  732. package/src/layers/point-layer/point-layer.js +1 -1
  733. package/src/layers/s2-geometry-layer/s2-geometry-layer.js +1 -1
  734. package/src/layers/s2-geometry-layer/s2-layer-icon.js +1 -1
  735. package/src/layers/s2-geometry-layer/s2-utils.js +1 -1
  736. package/src/layers/scenegraph-layer/scenegraph-info-modal.js +1 -1
  737. package/src/layers/scenegraph-layer/scenegraph-layer-icon.js +1 -1
  738. package/src/layers/scenegraph-layer/scenegraph-layer.js +1 -1
  739. package/src/layers/trip-layer/trip-info-modal.js +1 -1
  740. package/src/layers/trip-layer/trip-layer-icon.js +1 -1
  741. package/src/layers/trip-layer/trip-layer.js +1 -1
  742. package/src/layers/trip-layer/trip-utils.js +1 -1
  743. package/src/layers/types.js +1 -1
  744. package/src/localization/ca.js +1 -1
  745. package/src/localization/cn.js +1 -1
  746. package/src/localization/en.js +6 -1
  747. package/src/localization/es.js +1 -1
  748. package/src/localization/fi.js +1 -1
  749. package/src/localization/formatted-message.js +1 -1
  750. package/src/localization/index.js +1 -1
  751. package/src/localization/ja.js +1 -1
  752. package/src/localization/locales.js +1 -1
  753. package/src/localization/pt.js +1 -1
  754. package/src/localization/ru.js +1 -1
  755. package/src/middleware/index.js +1 -1
  756. package/src/processors/data-processor.js +1 -1
  757. package/src/processors/file-handler.js +1 -1
  758. package/src/processors/index.js +1 -1
  759. package/src/reducers/combined-updaters.js +1 -1
  760. package/src/reducers/composer-helpers.js +1 -1
  761. package/src/reducers/composers.js +1 -1
  762. package/src/reducers/core.js +1 -1
  763. package/src/reducers/index.js +1 -1
  764. package/src/reducers/map-state-updaters.js +1 -1
  765. package/src/reducers/map-state.js +1 -1
  766. package/src/reducers/map-style-updaters.js +1 -1
  767. package/src/reducers/map-style.js +1 -1
  768. package/src/reducers/provider-state-updaters.js +1 -1
  769. package/src/reducers/provider-state.js +1 -1
  770. package/src/reducers/root.js +1 -1
  771. package/src/reducers/ui-state-updaters.js +1 -1
  772. package/src/reducers/ui-state.js +1 -1
  773. package/src/reducers/vis-state-merger.js +1 -1
  774. package/src/reducers/vis-state-selectors.js +1 -1
  775. package/src/reducers/vis-state-updaters.js +1 -1
  776. package/src/reducers/vis-state.js +1 -1
  777. package/src/schemas/dataset-schema.js +1 -1
  778. package/src/schemas/index.js +1 -1
  779. package/src/schemas/map-state-schema.js +1 -1
  780. package/src/schemas/map-style-schema.js +1 -1
  781. package/src/schemas/schema-manager.js +1 -1
  782. package/src/schemas/schema-utils.js +1 -1
  783. package/src/schemas/schema.js +1 -1
  784. package/src/schemas/versions.js +1 -1
  785. package/src/schemas/vis-state-schema.js +1 -1
  786. package/src/styles/base.js +1 -1
  787. package/src/styles/index.js +1 -1
  788. package/src/styles/media-breakpoints.js +1 -1
  789. package/src/tasks/tasks.js +1 -1
  790. package/src/templates/export-map-html.js +1 -1
  791. package/src/utils/aggregate-utils.js +1 -1
  792. package/src/utils/color-utils.js +1 -1
  793. package/src/utils/data-scale-utils.js +1 -1
  794. package/src/utils/data-utils.js +1 -1
  795. package/src/utils/dataset-utils.js +1 -1
  796. package/src/utils/dom-to-image.js +1 -1
  797. package/src/utils/dom-utils.js +1 -1
  798. package/src/utils/export-utils.js +1 -1
  799. package/src/utils/filter-utils.js +1 -1
  800. package/src/utils/gl-utils.js +1 -1
  801. package/src/utils/gpu-filter-utils.js +1 -1
  802. package/src/utils/index.js +1 -1
  803. package/src/utils/interaction-utils.js +1 -1
  804. package/src/utils/layer-utils.js +1 -1
  805. package/src/utils/locale-utils.js +1 -1
  806. package/src/utils/map-info-utils.js +1 -1
  807. package/src/utils/map-style-utils/mapbox-gl-style-editor.js +1 -1
  808. package/src/utils/map-style-utils/mapbox-utils.js +1 -1
  809. package/src/utils/mapbox-utils.js +1 -1
  810. package/src/utils/notifications-utils.js +1 -1
  811. package/src/utils/observe-dimensions.js +1 -1
  812. package/src/utils/projection-utils.js +1 -1
  813. package/src/utils/searcher-utils.js +1 -1
  814. package/src/utils/split-map-utils.js +1 -1
  815. package/src/utils/table-utils/data-container-utils.js +1 -1
  816. package/src/utils/table-utils/data-row.js +1 -1
  817. package/src/utils/table-utils/index.js +1 -1
  818. package/src/utils/table-utils/indexed-data-container.js +1 -1
  819. package/src/utils/table-utils/kepler-table.js +1 -1
  820. package/src/utils/table-utils/row-data-container.js +1 -1
  821. package/src/utils/utils.js +1 -1
  822. package/styles.js +1 -1
  823. package/umd/keplergl.min.js +26 -26
@@ -160,4 +160,4 @@ function TooltipConfigFactory(DatasetTag, FieldSelector) {
160
160
 
161
161
  var _default = TooltipConfigFactory;
162
162
  exports["default"] = _default;
163
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvaW50ZXJhY3Rpb24tcGFuZWwvdG9vbHRpcC1jb25maWcuanMiXSwibmFtZXMiOlsiVG9vbHRpcENvbmZpZ1dyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJCdXR0b25XcmFwcGVyIiwicHJvcHMiLCJ0aGVtZSIsInN1YnRleHRDb2xvciIsInRleHRDb2xvciIsIkNvbXBhcmVTd2l0Y2hXcmFwcGVyIiwibGFiZWxDb2xvciIsImlucHV0Rm9udFNpemUiLCJUb29sdGlwQ29uZmlnRmFjdG9yeSIsImRlcHMiLCJEYXRhc2V0VGFnRmFjdG9yeSIsIkZpZWxkU2VsZWN0b3JGYWN0b3J5IiwiRGF0YXNldFRhZyIsIkZpZWxkU2VsZWN0b3IiLCJEYXRhc2V0VG9vbHRpcENvbmZpZyIsImNvbmZpZyIsIm9uQ2hhbmdlIiwiZGF0YXNldCIsImRhdGFJZCIsImlkIiwiQm9vbGVhbiIsImZpZWxkc1RvU2hvdyIsImxlbmd0aCIsIm5ld0NvbmZpZyIsImZpZWxkcyIsInNlbGVjdGVkIiwibWFwIiwiZiIsImZpbmQiLCJ0b29sdGlwRmllbGQiLCJuYW1lIiwiZm9ybWF0IiwiVG9vbHRpcENvbmZpZyIsImRhdGFzZXRzIiwiaW50bCIsIk9iamVjdCIsImtleXMiLCJjb21wYXJlTW9kZSIsImQiLCJmb3JtYXRNZXNzYWdlIiwiY29tcGFyZVR5cGUiLCJ2YWx1ZXMiLCJDT01QQVJFX1RZUEVTIiwib3B0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQU1BOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLElBQU1BLG9CQUFvQixHQUFHQyw2QkFBT0MsR0FBVixxSkFBMUI7O0FBTUEsSUFBTUMsYUFBYSxHQUFHRiw2QkFBT0MsR0FBVixrU0FNTixVQUFBRSxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlD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QVEsRUFBRSxDQUFDUixNQUFNLENBQUNzQixXQURwQjtBQUVFLE1BQUEsYUFBYSxFQUFFLHVCQUFBQyxDQUFDO0FBQUEsZUFDZEosSUFBSSxDQUFDSyxhQUFMLENBQW1CO0FBQ2pCcEIsVUFBQUEsRUFBRSwwQkFBbUJtQixDQUFuQjtBQURlLFNBQW5CLENBRGM7QUFBQSxPQUZsQjtBQU9FLE1BQUEsYUFBYSxFQUFFdkIsTUFBTSxDQUFDeUIsV0FQeEI7QUFRRSxNQUFBLE9BQU8sRUFBRUwsTUFBTSxDQUFDTSxNQUFQLENBQWNDLHNCQUFkLENBUlg7QUFTRSxNQUFBLFdBQVcsRUFBRSxLQVRmO0FBVUUsTUFBQSxVQUFVLEVBQUUsS0FWZDtBQVdFLE1BQUEsVUFBVSxFQUFFLFdBWGQ7QUFZRSxNQUFBLGNBQWMsRUFBRSx3QkFBQUosQ0FBQztBQUFBLGVBQUlBLENBQUo7QUFBQSxPQVpuQjtBQWFFLE1BQUEsUUFBUSxFQUFFLGtCQUFBSyxNQUFNLEVBQUk7QUFDbEIsWUFBTXBCLFNBQVMsbUNBQ1ZSLE1BRFU7QUFFYnlCLFVBQUFBLFdBQVcsRUFBRUc7QUFGQSxVQUFmOztBQUlBM0IsUUFBQUEsU0FBUSxDQUFDTyxTQUFELENBQVI7QUFDRDtBQW5CSCxNQUpGLENBeEJGLENBREY7QUFxREQsR0F0REQ7O0FBd0RBLFNBQU8sMkJBQVdTLGFBQVgsQ0FBUDtBQUNEOztlQUVjeEIsb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjEgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2luamVjdEludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdsb2NhbGl6YXRpb24nO1xuXG5pbXBvcnQge1xuICBTaWRlUGFuZWxTZWN0aW9uLFxuICBTQkZsZXhib3hOb01hcmdpbixcbiAgQnV0dG9uLFxuICBQYW5lbExhYmVsXG59IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBEYXRhc2V0VGFnRmFjdG9yeSBmcm9tICdjb21wb25lbnRzL3NpZGUtcGFuZWwvY29tbW9uL2RhdGFzZXQtdGFnJztcbmltcG9ydCBUb29sdGlwQ2hpY2tsZXRGYWN0b3J5IGZyb20gJy4vdG9vbHRpcC1jb25maWcvdG9vbHRpcC1jaGlja2xldCc7XG5pbXBvcnQgU3dpdGNoIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N3aXRjaCc7XG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge0NPTVBBUkVfVFlQRVN9IGZyb20gJ2NvbnN0YW50cy90b29sdGlwJztcbmltcG9ydCBGaWVsZFNlbGVjdG9yRmFjdG9yeSBmcm9tICcuLi8uLi9jb21tb24vZmllbGQtc2VsZWN0b3InO1xuXG5jb25zdCBUb29sdGlwQ29uZmlnV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIC5pdGVtLXNlbGVjdG9yID4gZGl2ID4gZGl2IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuYDtcblxuY29uc3QgQnV0dG9uV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDA7XG5cbiAgLmJ1dHRvbi5jbGVhci1hbGwge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gICAgbWFyZ2luOiAwIDAgMCA4cHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IENvbXBhcmVTd2l0Y2hXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsaW5lLWhlaWdodDogMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcblxuVG9vbHRpcENvbmZpZ0ZhY3RvcnkuZGVwcyA9IFtEYXRhc2V0VGFnRmFjdG9yeSwgRmllbGRTZWxlY3RvckZhY3RvcnldO1xuZnVuY3Rpb24gVG9vbHRpcENvbmZpZ0ZhY3RvcnkoRGF0YXNldFRhZywgRmllbGRTZWxlY3Rvcikge1xuICBjb25zdCBEYXRhc2V0VG9vbHRpcENvbmZpZyA9ICh7Y29uZmlnLCBvbkNoYW5nZSwgZGF0YXNldH0pID0+IHtcbiAgICBjb25zdCBkYXRhSWQgPSBkYXRhc2V0LmlkO1xuICAgIHJldHVybiAoXG4gICAgICA8U2lkZVBhbmVsU2VjdGlvbiBrZXk9e2RhdGFJZH0+XG4gICAgICAgIDxTQkZsZXhib3hOb01hcmdpbj5cbiAgICAgICAgICA8RGF0YXNldFRhZyBkYXRhc2V0PXtkYXRhc2V0fSAvPlxuICAgICAgICAgIHtCb29sZWFuKGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXS5sZW5ndGgpICYmIChcbiAgICAgICAgICAgIDxCdXR0b25XcmFwcGVyPlxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xlYXItYWxsXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBuZXdDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzVG9TaG93OiB7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uY29uZmlnLmZpZWxkc1RvU2hvdyxcbiAgICAgICAgICAgICAgICAgICAgICBbZGF0YUlkXTogW11cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlKG5ld0NvbmZpZyk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB3aWR0aD1cIjU0cHhcIlxuICAgICAgICAgICAgICAgIHNlY29uZGFyeVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJmaWVsZFNlbGVjdG9yLmNsZWFyQWxsXCIgLz5cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0J1dHRvbldyYXBwZXI+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQkZsZXhib3hOb01hcmdpbj5cbiAgICAgICAgPEZpZWxkU2VsZWN0b3JcbiAgICAgICAgICBmaWVsZHM9e2RhdGFzZXQuZmllbGRzfVxuICAgICAgICAgIHZhbHVlPXtjb25maWcuZmllbGRzVG9TaG93W2RhdGFJZF19XG4gICAgICAgICAgb25TZWxlY3Q9e3NlbGVjdGVkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgICAgICAgICAgICAuLi5jb25maWcuZmllbGRzVG9TaG93LFxuICAgICAgICAgICAgICAgIFtkYXRhSWRdOiBzZWxlY3RlZC5tYXAoXG4gICAgICAgICAgICAgICAgICBmID0+XG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXS5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBGaWVsZCA9PiB0b29sdGlwRmllbGQubmFtZSA9PT0gZi5uYW1lXG4gICAgICAgICAgICAgICAgICAgICkgfHwge1xuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAvLyBkZWZhdWx0IGluaXRpYWwgdG9vbHRpcCBpcyBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBudWxsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBvbkNoYW5nZShuZXdDb25maWcpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgY2xvc2VPblNlbGVjdD17ZmFsc2V9XG4gICAgICAgICAgbXVsdGlTZWxlY3RcbiAgICAgICAgICBpbnB1dFRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBDdXN0b21DaGlja2xldENvbXBvbmVudD17VG9vbHRpcENoaWNrbGV0RmFjdG9yeShkYXRhSWQsIGNvbmZpZywgb25DaGFuZ2UsIGRhdGFzZXQuZmllbGRzKX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IFRvb2x0aXBDb25maWcgPSAoe2NvbmZpZywgZGF0YXNldHMsIG9uQ2hhbmdlLCBpbnRsfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbmZpZ1dyYXBwZXI+XG4gICAgICAgIHtPYmplY3Qua2V5cyhjb25maWcuZmllbGRzVG9TaG93KS5tYXAoZGF0YUlkID0+IChcbiAgICAgICAgICA8RGF0YXNldFRvb2x0aXBDb25maWdcbiAgICAgICAgICAgIGtleT17ZGF0YUlkfVxuICAgICAgICAgICAgY29uZmlnPXtjb25maWd9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICBkYXRhc2V0PXtkYXRhc2V0c1tkYXRhSWRdfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgICAgICA8Q29tcGFyZVN3aXRjaFdyYXBwZXI+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21wYXJlLm1vZGVMYWJlbFwiIC8+XG4gICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgY2hlY2tlZD17Y29uZmlnLmNvbXBhcmVNb2RlfVxuICAgICAgICAgICAgaWQ9XCJjb21wYXJlLW1vZGUtdG9nZ2xlXCJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAgICAgY29tcGFyZU1vZGU6ICFjb25maWcuY29tcGFyZU1vZGVcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgb25DaGFuZ2UobmV3Q29uZmlnKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzZWNvbmRhcnlcbiAgICAgICAgICAvPlxuICAgICAgICA8L0NvbXBhcmVTd2l0Y2hXcmFwcGVyPlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tcGFyZS50eXBlTGFiZWxcIiAvPlxuICAgICAgICAgIDwvUGFuZWxMYWJlbD5cbiAgICAgICAgICA8SXRlbVNlbGVjdG9yXG4gICAgICAgICAgICBkaXNhYmxlZD17IWNvbmZpZy5jb21wYXJlTW9kZX1cbiAgICAgICAgICAgIGRpc3BsYXlPcHRpb249e2QgPT5cbiAgICAgICAgICAgICAgaW50bC5mb3JtYXRNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICBpZDogYGNvbXBhcmUudHlwZXMuJHtkfWBcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e2NvbmZpZy5jb21wYXJlVHlwZX1cbiAgICAgICAgICAgIG9wdGlvbnM9e09iamVjdC52YWx1ZXMoQ09NUEFSRV9UWVBFUyl9XG4gICAgICAgICAgICBtdWx0aVNlbGVjdD17ZmFsc2V9XG4gICAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgIGlucHV0VGhlbWU9eydzZWNvbmRhcnknfVxuICAgICAgICAgICAgZ2V0T3B0aW9uVmFsdWU9e2QgPT4gZH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvcHRpb24gPT4ge1xuICAgICAgICAgICAgICBjb25zdCBuZXdDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICAgIGNvbXBhcmVUeXBlOiBvcHRpb25cbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgb25DaGFuZ2UobmV3Q29uZmlnKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgPC9Ub29sdGlwQ29uZmlnV3JhcHBlcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBpbmplY3RJbnRsKFRvb2x0aXBDb25maWcpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBUb29sdGlwQ29uZmlnRmFjdG9yeTtcbiJdfQ==
163
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvaW50ZXJhY3Rpb24tcGFuZWwvdG9vbHRpcC1jb25maWcuanMiXSwibmFtZXMiOlsiVG9vbHRpcENvbmZpZ1dyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJCdXR0b25XcmFwcGVyIiwicHJvcHMiLCJ0aGVtZSIsInN1YnRleHRDb2xvciIsInRleHRDb2xvciIsIkNvbXBhcmVTd2l0Y2hXcmFwcGVyIiwibGFiZWxDb2xvciIsImlucHV0Rm9udFNpemUiLCJUb29sdGlwQ29uZmlnRmFjdG9yeSIsImRlcHMiLCJEYXRhc2V0VGFnRmFjdG9yeSIsIkZpZWxkU2VsZWN0b3JGYWN0b3J5IiwiRGF0YXNldFRhZyIsIkZpZWxkU2VsZWN0b3IiLCJEYXRhc2V0VG9vbHRpcENvbmZpZyIsImNvbmZpZyIsIm9uQ2hhbmdlIiwiZGF0YXNldCIsImRhdGFJZCIsImlkIiwiQm9vbGVhbiIsImZpZWxkc1RvU2hvdyIsImxlbmd0aCIsIm5ld0NvbmZpZyIsImZpZWxkcyIsInNlbGVjdGVkIiwibWFwIiwiZiIsImZpbmQiLCJ0b29sdGlwRmllbGQiLCJuYW1lIiwiZm9ybWF0IiwiVG9vbHRpcENvbmZpZyIsImRhdGFzZXRzIiwiaW50bCIsIk9iamVjdCIsImtleXMiLCJjb21wYXJlTW9kZSIsImQiLCJmb3JtYXRNZXNzYWdlIiwiY29tcGFyZVR5cGUiLCJ2YWx1ZXMiLCJDT01QQVJFX1RZUEVTIiwib3B0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQU1BOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLElBQU1BLG9CQUFvQixHQUFHQyw2QkFBT0MsR0FBVixxSkFBMUI7O0FBTUEsSUFBTUMsYUFBYSxHQUFHRiw2QkFBT0MsR0FBVixrU0FNTixVQUFBRSxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlD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QVEsRUFBRSxDQUFDUixNQUFNLENBQUNzQixXQURwQjtBQUVFLE1BQUEsYUFBYSxFQUFFLHVCQUFBQyxDQUFDO0FBQUEsZUFDZEosSUFBSSxDQUFDSyxhQUFMLENBQW1CO0FBQ2pCcEIsVUFBQUEsRUFBRSwwQkFBbUJtQixDQUFuQjtBQURlLFNBQW5CLENBRGM7QUFBQSxPQUZsQjtBQU9FLE1BQUEsYUFBYSxFQUFFdkIsTUFBTSxDQUFDeUIsV0FQeEI7QUFRRSxNQUFBLE9BQU8sRUFBRUwsTUFBTSxDQUFDTSxNQUFQLENBQWNDLHNCQUFkLENBUlg7QUFTRSxNQUFBLFdBQVcsRUFBRSxLQVRmO0FBVUUsTUFBQSxVQUFVLEVBQUUsS0FWZDtBQVdFLE1BQUEsVUFBVSxFQUFFLFdBWGQ7QUFZRSxNQUFBLGNBQWMsRUFBRSx3QkFBQUosQ0FBQztBQUFBLGVBQUlBLENBQUo7QUFBQSxPQVpuQjtBQWFFLE1BQUEsUUFBUSxFQUFFLGtCQUFBSyxNQUFNLEVBQUk7QUFDbEIsWUFBTXBCLFNBQVMsbUNBQ1ZSLE1BRFU7QUFFYnlCLFVBQUFBLFdBQVcsRUFBRUc7QUFGQSxVQUFmOztBQUlBM0IsUUFBQUEsU0FBUSxDQUFDTyxTQUFELENBQVI7QUFDRDtBQW5CSCxNQUpGLENBeEJGLENBREY7QUFxREQsR0F0REQ7O0FBd0RBLFNBQU8sMkJBQVdTLGFBQVgsQ0FBUDtBQUNEOztlQUVjeEIsb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2luamVjdEludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdsb2NhbGl6YXRpb24nO1xuXG5pbXBvcnQge1xuICBTaWRlUGFuZWxTZWN0aW9uLFxuICBTQkZsZXhib3hOb01hcmdpbixcbiAgQnV0dG9uLFxuICBQYW5lbExhYmVsXG59IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBEYXRhc2V0VGFnRmFjdG9yeSBmcm9tICdjb21wb25lbnRzL3NpZGUtcGFuZWwvY29tbW9uL2RhdGFzZXQtdGFnJztcbmltcG9ydCBUb29sdGlwQ2hpY2tsZXRGYWN0b3J5IGZyb20gJy4vdG9vbHRpcC1jb25maWcvdG9vbHRpcC1jaGlja2xldCc7XG5pbXBvcnQgU3dpdGNoIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N3aXRjaCc7XG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge0NPTVBBUkVfVFlQRVN9IGZyb20gJ2NvbnN0YW50cy90b29sdGlwJztcbmltcG9ydCBGaWVsZFNlbGVjdG9yRmFjdG9yeSBmcm9tICcuLi8uLi9jb21tb24vZmllbGQtc2VsZWN0b3InO1xuXG5jb25zdCBUb29sdGlwQ29uZmlnV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIC5pdGVtLXNlbGVjdG9yID4gZGl2ID4gZGl2IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuYDtcblxuY29uc3QgQnV0dG9uV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDA7XG5cbiAgLmJ1dHRvbi5jbGVhci1hbGwge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gICAgbWFyZ2luOiAwIDAgMCA4cHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IENvbXBhcmVTd2l0Y2hXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsaW5lLWhlaWdodDogMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcblxuVG9vbHRpcENvbmZpZ0ZhY3RvcnkuZGVwcyA9IFtEYXRhc2V0VGFnRmFjdG9yeSwgRmllbGRTZWxlY3RvckZhY3RvcnldO1xuZnVuY3Rpb24gVG9vbHRpcENvbmZpZ0ZhY3RvcnkoRGF0YXNldFRhZywgRmllbGRTZWxlY3Rvcikge1xuICBjb25zdCBEYXRhc2V0VG9vbHRpcENvbmZpZyA9ICh7Y29uZmlnLCBvbkNoYW5nZSwgZGF0YXNldH0pID0+IHtcbiAgICBjb25zdCBkYXRhSWQgPSBkYXRhc2V0LmlkO1xuICAgIHJldHVybiAoXG4gICAgICA8U2lkZVBhbmVsU2VjdGlvbiBrZXk9e2RhdGFJZH0+XG4gICAgICAgIDxTQkZsZXhib3hOb01hcmdpbj5cbiAgICAgICAgICA8RGF0YXNldFRhZyBkYXRhc2V0PXtkYXRhc2V0fSAvPlxuICAgICAgICAgIHtCb29sZWFuKGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXS5sZW5ndGgpICYmIChcbiAgICAgICAgICAgIDxCdXR0b25XcmFwcGVyPlxuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xlYXItYWxsXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBuZXdDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzVG9TaG93OiB7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uY29uZmlnLmZpZWxkc1RvU2hvdyxcbiAgICAgICAgICAgICAgICAgICAgICBbZGF0YUlkXTogW11cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlKG5ld0NvbmZpZyk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB3aWR0aD1cIjU0cHhcIlxuICAgICAgICAgICAgICAgIHNlY29uZGFyeVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJmaWVsZFNlbGVjdG9yLmNsZWFyQWxsXCIgLz5cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0J1dHRvbldyYXBwZXI+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQkZsZXhib3hOb01hcmdpbj5cbiAgICAgICAgPEZpZWxkU2VsZWN0b3JcbiAgICAgICAgICBmaWVsZHM9e2RhdGFzZXQuZmllbGRzfVxuICAgICAgICAgIHZhbHVlPXtjb25maWcuZmllbGRzVG9TaG93W2RhdGFJZF19XG4gICAgICAgICAgb25TZWxlY3Q9e3NlbGVjdGVkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgICAgICAgICAgICAuLi5jb25maWcuZmllbGRzVG9TaG93LFxuICAgICAgICAgICAgICAgIFtkYXRhSWRdOiBzZWxlY3RlZC5tYXAoXG4gICAgICAgICAgICAgICAgICBmID0+XG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXS5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBGaWVsZCA9PiB0b29sdGlwRmllbGQubmFtZSA9PT0gZi5uYW1lXG4gICAgICAgICAgICAgICAgICAgICkgfHwge1xuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAvLyBkZWZhdWx0IGluaXRpYWwgdG9vbHRpcCBpcyBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBudWxsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBvbkNoYW5nZShuZXdDb25maWcpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgY2xvc2VPblNlbGVjdD17ZmFsc2V9XG4gICAgICAgICAgbXVsdGlTZWxlY3RcbiAgICAgICAgICBpbnB1dFRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBDdXN0b21DaGlja2xldENvbXBvbmVudD17VG9vbHRpcENoaWNrbGV0RmFjdG9yeShkYXRhSWQsIGNvbmZpZywgb25DaGFuZ2UsIGRhdGFzZXQuZmllbGRzKX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IFRvb2x0aXBDb25maWcgPSAoe2NvbmZpZywgZGF0YXNldHMsIG9uQ2hhbmdlLCBpbnRsfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbmZpZ1dyYXBwZXI+XG4gICAgICAgIHtPYmplY3Qua2V5cyhjb25maWcuZmllbGRzVG9TaG93KS5tYXAoZGF0YUlkID0+IChcbiAgICAgICAgICA8RGF0YXNldFRvb2x0aXBDb25maWdcbiAgICAgICAgICAgIGtleT17ZGF0YUlkfVxuICAgICAgICAgICAgY29uZmlnPXtjb25maWd9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICBkYXRhc2V0PXtkYXRhc2V0c1tkYXRhSWRdfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgICAgICA8Q29tcGFyZVN3aXRjaFdyYXBwZXI+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21wYXJlLm1vZGVMYWJlbFwiIC8+XG4gICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgY2hlY2tlZD17Y29uZmlnLmNvbXBhcmVNb2RlfVxuICAgICAgICAgICAgaWQ9XCJjb21wYXJlLW1vZGUtdG9nZ2xlXCJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAgICAgY29tcGFyZU1vZGU6ICFjb25maWcuY29tcGFyZU1vZGVcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgb25DaGFuZ2UobmV3Q29uZmlnKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzZWNvbmRhcnlcbiAgICAgICAgICAvPlxuICAgICAgICA8L0NvbXBhcmVTd2l0Y2hXcmFwcGVyPlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tcGFyZS50eXBlTGFiZWxcIiAvPlxuICAgICAgICAgIDwvUGFuZWxMYWJlbD5cbiAgICAgICAgICA8SXRlbVNlbGVjdG9yXG4gICAgICAgICAgICBkaXNhYmxlZD17IWNvbmZpZy5jb21wYXJlTW9kZX1cbiAgICAgICAgICAgIGRpc3BsYXlPcHRpb249e2QgPT5cbiAgICAgICAgICAgICAgaW50bC5mb3JtYXRNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICBpZDogYGNvbXBhcmUudHlwZXMuJHtkfWBcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e2NvbmZpZy5jb21wYXJlVHlwZX1cbiAgICAgICAgICAgIG9wdGlvbnM9e09iamVjdC52YWx1ZXMoQ09NUEFSRV9UWVBFUyl9XG4gICAgICAgICAgICBtdWx0aVNlbGVjdD17ZmFsc2V9XG4gICAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgIGlucHV0VGhlbWU9eydzZWNvbmRhcnknfVxuICAgICAgICAgICAgZ2V0T3B0aW9uVmFsdWU9e2QgPT4gZH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvcHRpb24gPT4ge1xuICAgICAgICAgICAgICBjb25zdCBuZXdDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICAgIGNvbXBhcmVUeXBlOiBvcHRpb25cbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgb25DaGFuZ2UobmV3Q29uZmlnKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgPC9Ub29sdGlwQ29uZmlnV3JhcHBlcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBpbmplY3RJbnRsKFRvb2x0aXBDb25maWcpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBUb29sdGlwQ29uZmlnRmFjdG9yeTtcbiJdfQ==
@@ -318,4 +318,4 @@ function LayerManagerFactory(AddDataButton, LayerPanel, SourceDataCatalog, Layer
318
318
 
319
319
  var _default = LayerManagerFactory;
320
320
  exports["default"] = _default;
321
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItbWFuYWdlci5qcyJdLCJuYW1lcyI6WyJMYXllckJsZW5kaW5nU2VsZWN0b3JGYWN0b3J5IiwiTGF5ZXJCbGVuZGluZ1NlbGVjdG9yIiwibGF5ZXJCbGVuZGluZyIsInVwZGF0ZUxheWVyQmxlbmRpbmciLCJpbnRsIiwibGFiZWxlZExheWVyQmxlbmRpbmdzIiwiT2JqZWN0Iiwia2V5cyIsIkxBWUVSX0JMRU5ESU5HUyIsInJlZHVjZSIsImFjYyIsImN1cnJlbnQiLCJmb3JtYXRNZXNzYWdlIiwiaWQiLCJsYWJlbCIsIm9uQ2hhbmdlIiwiYmxlbmRpbmciLCJTb3J0YWJsZVN0eWxlZEl0ZW0iLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwiZHJvcGRvd25XcmFwcGVyWiIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJmb250U2l6ZSIsImxpbmVIZWlnaHQiLCJ0ZXh0Q29sb3JIbCIsIkFkZERhdGFCdXR0b25GYWN0b3J5IiwiQWRkRGF0YUJ1dHRvbiIsIm9uQ2xpY2siLCJpc0luYWN0aXZlIiwiTGF5ZXJNYW5hZ2VyRmFjdG9yeSIsImRlcHMiLCJMYXllclBhbmVsRmFjdG9yeSIsIlNvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSIsIkxheWVyUGFuZWwiLCJTb3VyY2VEYXRhQ2F0YWxvZyIsIlNvcnRhYmxlSXRlbSIsImNoaWxkcmVuIiwiaXNTb3J0aW5nIiwic29ydGluZyIsIldyYXBwZWRTb3J0YWJsZUNvbnRhaW5lciIsIkxheWVyTWFuYWdlciIsImxheWVyQ2xhc3NlcyIsImxheWVyQ2xhc3NTZWxlY3RvciIsIm1hcCIsImtleSIsImxheWVyIiwibmFtZSIsImljb24iLCJsYXllckljb24iLCJyZXF1aXJlRGF0YSIsInZpc1N0YXRlQWN0aW9ucyIsImFkZExheWVyIiwib2xkSW5kZXgiLCJuZXdJbmRleCIsInJlb3JkZXJMYXllciIsImxheWVyT3JkZXIiLCJzZXRTdGF0ZSIsImluZGV4IiwibGF5ZXJzIiwibGF5ZXJJZHgiLCJjb25maWciLCJpc0NvbmZpZ0FjdGl2ZSIsImxheWVyQ29uZmlnQ2hhbmdlIiwiZGF0YXNldHMiLCJzaG93QWRkRGF0YU1vZGFsIiwic2hvd0RhdGFzZXRUYWJsZSIsInJlbW92ZURhdGFzZXQiLCJ1aVN0YXRlQWN0aW9ucyIsIm9wZW5Nb2RhbCIsInRvZ2dsZU1vZGFsIiwiZGVmYXVsdERhdGFzZXQiLCJsYXllclR5cGVPcHRpb25zIiwibGF5ZXJUeXBlT3B0aW9uc1NlbGVjdG9yIiwibGF5ZXJBY3Rpb25zIiwibGF5ZXJDb2xvclVJQ2hhbmdlIiwibGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlIiwibGF5ZXJUeXBlQ2hhbmdlIiwibGF5ZXJWaXNDb25maWdDaGFuZ2UiLCJsYXllclRleHRMYWJlbENoYW5nZSIsInJlbW92ZUxheWVyIiwiZHVwbGljYXRlTGF5ZXIiLCJwYW5lbFByb3BzIiwiX2hhbmRsZVNvcnQiLCJfb25Tb3J0U3RhcnQiLCJfdXBkYXRlQmVmb3JlU29ydFN0YXJ0IiwiaGlkZGVuIiwic3RhdGUiLCJfYWRkRW1wdHlOZXdMYXllciIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJzdHJpbmciLCJhcnJheU9mIiwiYW55IiwiZnVuYyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFPQTs7Ozs7Ozs7Ozs7O0FBRU8sU0FBU0EsNEJBQVQsR0FBd0M7QUFDN0MsTUFBTUMscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUF3QixPQUFnRDtBQUFBLFFBQTlDQyxhQUE4QyxRQUE5Q0EsYUFBOEM7QUFBQSxRQUEvQkMsbUJBQStCLFFBQS9CQSxtQkFBK0I7QUFBQSxR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QWtCSixzQkFBVUssR0FBNUIsRUFBaUNILFVBSnhCO0FBS2pCekMsSUFBQUEsZUFBZSxFQUFFdUMsc0JBQVVDLE1BQVYsQ0FBaUJDLFVBTGpCO0FBTWpCO0FBQ0F6QixJQUFBQSxhQUFhLEVBQUV1QixzQkFBVU0sSUFBVixDQUFlSixVQVBiO0FBUWpCMUIsSUFBQUEsZ0JBQWdCLEVBQUV3QixzQkFBVU0sSUFBVixDQUFlSjtBQVJoQixHQWhCMkU7QUE2SmhHLFNBQU8sMkJBQVduRCxZQUFYLENBQVA7QUFDRDs7ZUFFY1gsbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjEgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIHVzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7U29ydGFibGVDb250YWluZXIsIFNvcnRhYmxlRWxlbWVudH0gZnJvbSAncmVhY3Qtc29ydGFibGUtaG9jJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IHtpbmplY3RJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnbG9jYWxpemF0aW9uJztcbmltcG9ydCB7YXJyYXlNb3ZlfSBmcm9tICd1dGlscy9kYXRhLXV0aWxzJztcblxuaW1wb3J0IExheWVyUGFuZWxGYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwvbGF5ZXItcGFuZWwnO1xuaW1wb3J0IFNvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSBmcm9tICcuL2NvbW1vbi9zb3VyY2UtZGF0YS1jYXRhbG9nJztcbmltcG9ydCB7QWRkfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge1xuICBCdXR0b24sXG4gIFBhbmVsTGFiZWwsXG4gIFNpZGVQYW5lbERpdmlkZXIsXG4gIFNpZGVQYW5lbFNlY3Rpb25cbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge0xBWUVSX0JMRU5ESU5HU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJCbGVuZGluZ1NlbGVjdG9yRmFjdG9yeSgpIHtcbiAgY29uc3QgTGF5ZXJCbGVuZGluZ1NlbGVjdG9yID0gKHtsYXllckJsZW5kaW5nLCB1cGRhdGVMYXllckJsZW5kaW5nLCBpbnRsfSkgPT4ge1xuICAgIGNvbnN0IGxhYmVsZWRMYXllckJsZW5kaW5ncyA9IE9iamVjdC5rZXlzKExBWUVSX0JMRU5ESU5HUykucmVkdWNlKFxuICAgICAgKGFjYywgY3VycmVudCkgPT4gKHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICBbaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogTEFZRVJfQkxFTkRJTkdTW2N1cnJlbnRdLmxhYmVsfSldOiBjdXJyZW50XG4gICAgICB9KSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGNvbnN0IG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soYmxlbmRpbmcgPT4gdXBkYXRlTGF5ZXJCbGVuZGluZyhsYWJlbGVkTGF5ZXJCbGVuZGluZ3NbYmxlbmRpbmddKSwgW1xuICAgICAgdXBkYXRlTGF5ZXJCbGVuZGluZyxcbiAgICAgIGxhYmVsZWRMYXllckJsZW5kaW5nc1xuICAgIF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImxheWVyQmxlbmRpbmcudGl0bGVcIiAvPlxuICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiBMQVlFUl9CTEVORElOR1NbbGF5ZXJCbGVuZGluZ10ubGFiZWx9KX1cbiAgICAgICAgICBvcHRpb25zPXtPYmplY3Qua2V5cyhsYWJlbGVkTGF5ZXJCbGVuZGluZ3MpfVxuICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJCbGVuZGluZ1NlbGVjdG9yO1xufVxuXG4vLyBtYWtlIHN1cmUgdGhlIGVsZW1lbnQgaXMgYWx3YXlzIHZpc2libGUgd2hpbGUgaXMgYmVpbmcgZHJhZ2dlZFxuLy8gaXRlbSBiZWluZyBkcmFnZ2VkIGlzIGFwcGVuZGVkIGluIGJvZHksIGhlcmUgdG8gcmVzZXQgaXRzIGdsb2JhbCBzdHlsZVxuY29uc3QgU29ydGFibGVTdHlsZWRJdGVtID0gc3R5bGVkLmRpdmBcbiAgei1pbmRleDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bldyYXBwZXJaICsgMX07XG5cbiAgJi5zb3J0aW5nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYuc29ydGluZy1sYXllcnMgLmxheWVyLXBhbmVsX19oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGZvbnQtd2VpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRXZWlnaHR9O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGluZUhlaWdodH07XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBmdW5jdGlvbiBBZGREYXRhQnV0dG9uRmFjdG9yeSgpIHtcbiAgY29uc3QgQWRkRGF0YUJ1dHRvbiA9ICh7b25DbGljaywgaXNJbmFjdGl2ZX0pID0+IChcbiAgICA8QnV0dG9uXG4gICAgICBjbGFzc05hbWU9XCJhZGQtZGF0YS1idXR0b25cIlxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGlzSW5hY3RpdmU9eyFpc0luYWN0aXZlfVxuICAgICAgd2lkdGg9XCIxMDVweFwiXG4gICAgICBzZWNvbmRhcnlcbiAgICA+XG4gICAgICA8QWRkIGhlaWdodD1cIjEycHhcIiAvPlxuICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydsYXllck1hbmFnZXIuYWRkRGF0YSd9IC8+XG4gICAgPC9CdXR0b24+XG4gICk7XG5cbiAgcmV0dXJuIEFkZERhdGFCdXR0b247XG59XG5cbkxheWVyTWFuYWdlckZhY3RvcnkuZGVwcyA9IFtcbiAgQWRkRGF0YUJ1dHRvbkZhY3RvcnksXG4gIExheWVyUGFuZWxGYWN0b3J5LFxuICBTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnksXG4gIExheWVyQmxlbmRpbmdTZWxlY3RvckZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIExheWVyTWFuYWdlckZhY3RvcnkoQWRkRGF0YUJ1dHRvbiwgTGF5ZXJQYW5lbCwgU291cmNlRGF0YUNhdGFsb2csIExheWVyQmxlbmRpbmdTZWxlY3Rvcikge1xuICAvLyBCeSB3cmFwcGluZyBsYXllciBwYW5lbCB1c2luZyBhIHNvcnRhYmxlIGVsZW1lbnQgd2UgZG9uJ3QgaGF2ZSB0byBpbXBsZW1lbnQgdGhlIGRyYWcgYW5kIGRyb3AgbG9naWMgaW50byB0aGUgcGFuZWwgaXRzZWxmO1xuICAvLyBEZXZlbG9wZXJzIGNhbiBwcm92aWRlIGFueSBsYXllciBwYW5lbCBpbXBsZW1lbnRhdGlvbiBhbmQgaXQgd2lsbCBzdGlsbCBiZSBzb3J0YWJsZVxuICBjb25zdCBTb3J0YWJsZUl0ZW0gPSBTb3J0YWJsZUVsZW1lbnQoKHtjaGlsZHJlbiwgaXNTb3J0aW5nfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U29ydGFibGVTdHlsZWRJdGVtIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnc29ydGFibGUtbGF5ZXItaXRlbXMnLCB7c29ydGluZzogaXNTb3J0aW5nfSl9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1NvcnRhYmxlU3R5bGVkSXRlbT5cbiAgICApO1xuICB9KTtcblxuICBjb25zdCBXcmFwcGVkU29ydGFibGVDb250YWluZXIgPSBTb3J0YWJsZUNvbnRhaW5lcigoe2NoaWxkcmVufSkgPT4ge1xuICAgIHJldHVybiA8ZGl2PntjaGlsZHJlbn08L2Rpdj47XG4gIH0pO1xuXG4gIGNsYXNzIExheWVyTWFuYWdlciBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGRhdGFzZXRzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBsYXllckJsZW5kaW5nOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBsYXllckNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGxheWVyczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSkuaXNSZXF1aXJlZCxcbiAgICAgIHZpc1N0YXRlQWN0aW9uczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgLy8gZnVuY3Rpb25zXG4gICAgICByZW1vdmVEYXRhc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgc2hvd0RhdGFzZXRUYWJsZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxuICAgIH07XG4gICAgc3RhdGUgPSB7XG4gICAgICBpc1NvcnRpbmc6IGZhbHNlXG4gICAgfTtcblxuICAgIGxheWVyQ2xhc3NTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLmxheWVyQ2xhc3NlcztcbiAgICBsYXllclR5cGVPcHRpb25zU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3Rvcih0aGlzLmxheWVyQ2xhc3NTZWxlY3RvciwgbGF5ZXJDbGFzc2VzID0+XG4gICAgICBPYmplY3Qua2V5cyhsYXllckNsYXNzZXMpLm1hcChrZXkgPT4ge1xuICAgICAgICBjb25zdCBsYXllciA9IG5ldyBsYXllckNsYXNzZXNba2V5XSgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiBrZXksXG4gICAgICAgICAgbGFiZWw6IGxheWVyLm5hbWUsXG4gICAgICAgICAgaWNvbjogbGF5ZXIubGF5ZXJJY29uLFxuICAgICAgICAgIHJlcXVpcmVEYXRhOiBsYXllci5yZXF1aXJlRGF0YVxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgX2FkZEVtcHR5TmV3TGF5ZXIgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7dmlzU3RhdGVBY3Rpb25zfSA9IHRoaXMucHJvcHM7XG4gICAgICB2aXNTdGF0ZUFjdGlvbnMuYWRkTGF5ZXIoKTtcbiAgICB9O1xuXG4gICAgX2hhbmRsZVNvcnQgPSAoe29sZEluZGV4LCBuZXdJbmRleH0pID0+IHtcbiAgICAgIGNvbnN0IHt2aXNTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcbiAgICAgIHZpc1N0YXRlQWN0aW9ucy5yZW9yZGVyTGF5ZXIoYXJyYXlNb3ZlKHRoaXMucHJvcHMubGF5ZXJPcmRlciwgb2xkSW5kZXgsIG5ld0luZGV4KSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHtpc1NvcnRpbmc6IGZhbHNlfSk7XG4gICAgfTtcblxuICAgIF9vblNvcnRTdGFydCA9ICgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2lzU29ydGluZzogdHJ1ZX0pO1xuICAgIH07XG5cbiAgICBfdXBkYXRlQmVmb3JlU29ydFN0YXJ0ID0gKHtpbmRleH0pID0+IHtcbiAgICAgIC8vIGlmIGxheWVyIGNvbmZpZyBpcyBhY3RpdmUsIGNsb3NlIGl0XG4gICAgICBjb25zdCB7bGF5ZXJPcmRlciwgbGF5ZXJzLCB2aXNTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGxheWVySWR4ID0gbGF5ZXJPcmRlcltpbmRleF07XG4gICAgICBpZiAobGF5ZXJzW2xheWVySWR4XS5jb25maWcuaXNDb25maWdBY3RpdmUpIHtcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zLmxheWVyQ29uZmlnQ2hhbmdlKGxheWVyc1tsYXllcklkeF0sIHtpc0NvbmZpZ0FjdGl2ZTogZmFsc2V9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBsYXllcnMsXG4gICAgICAgIGRhdGFzZXRzLFxuICAgICAgICBpbnRsLFxuICAgICAgICBsYXllck9yZGVyLFxuICAgICAgICBzaG93QWRkRGF0YU1vZGFsLFxuICAgICAgICBzaG93RGF0YXNldFRhYmxlLFxuICAgICAgICByZW1vdmVEYXRhc2V0LFxuICAgICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zXG4gICAgICB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHt0b2dnbGVNb2RhbDogb3Blbk1vZGFsfSA9IHVpU3RhdGVBY3Rpb25zO1xuICAgICAgY29uc3QgZGVmYXVsdERhdGFzZXQgPSBPYmplY3Qua2V5cyhkYXRhc2V0cylbMF07XG4gICAgICBjb25zdCBsYXllclR5cGVPcHRpb25zID0gdGhpcy5sYXllclR5cGVPcHRpb25zU2VsZWN0b3IodGhpcy5wcm9wcyk7XG5cbiAgICAgIGNvbnN0IGxheWVyQWN0aW9ucyA9IHtcbiAgICAgICAgbGF5ZXJDb2xvclVJQ2hhbmdlOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJDb2xvclVJQ2hhbmdlLFxuICAgICAgICBsYXllckNvbmZpZ0NoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyQ29uZmlnQ2hhbmdlLFxuICAgICAgICBsYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2UsXG4gICAgICAgIGxheWVyVHlwZUNoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVHlwZUNoYW5nZSxcbiAgICAgICAgbGF5ZXJWaXNDb25maWdDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclZpc0NvbmZpZ0NoYW5nZSxcbiAgICAgICAgbGF5ZXJUZXh0TGFiZWxDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclRleHRMYWJlbENoYW5nZSxcbiAgICAgICAgcmVtb3ZlTGF5ZXI6IHZpc1N0YXRlQWN0aW9ucy5yZW1vdmVMYXllcixcbiAgICAgICAgZHVwbGljYXRlTGF5ZXI6IHZpc1N0YXRlQWN0aW9ucy5kdXBsaWNhdGVMYXllclxuICAgICAgfTtcblxuICAgICAgY29uc3QgcGFuZWxQcm9wcyA9IHtcbiAgICAgICAgZGF0YXNldHMsXG4gICAgICAgIG9wZW5Nb2RhbCxcbiAgICAgICAgbGF5ZXJUeXBlT3B0aW9uc1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllci1tYW5hZ2VyXCI+XG4gICAgICAgICAgPFNvdXJjZURhdGFDYXRhbG9nXG4gICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICAgIHNob3dEZWxldGVEYXRhc2V0XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QWRkRGF0YUJ1dHRvbiBvbkNsaWNrPXtzaG93QWRkRGF0YU1vZGFsfSBpc0luYWN0aXZlPXshZGVmYXVsdERhdGFzZXR9IC8+XG4gICAgICAgICAgPFNpZGVQYW5lbERpdmlkZXIgLz5cbiAgICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICAgIDxXcmFwcGVkU29ydGFibGVDb250YWluZXJcbiAgICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLl9oYW5kbGVTb3J0fVxuICAgICAgICAgICAgICBvblNvcnRTdGFydD17dGhpcy5fb25Tb3J0U3RhcnR9XG4gICAgICAgICAgICAgIHVwZGF0ZUJlZm9yZVNvcnRTdGFydD17dGhpcy5fdXBkYXRlQmVmb3JlU29ydFN0YXJ0fVxuICAgICAgICAgICAgICBsb2NrQXhpcz1cInlcIlxuICAgICAgICAgICAgICBoZWxwZXJDbGFzcz1cInNvcnRpbmctbGF5ZXJzXCJcbiAgICAgICAgICAgICAgdXNlRHJhZ0hhbmRsZVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bGF5ZXJPcmRlci5tYXAoXG4gICAgICAgICAgICAgICAgKGxheWVySWR4LCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICFsYXllcnNbbGF5ZXJJZHhdLmNvbmZpZy5oaWRkZW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8U29ydGFibGVJdGVtXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtgbGF5ZXItJHtsYXllcklkeH1gfVxuICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NvcnRpbmc9e3RoaXMuc3RhdGUuaXNTb3J0aW5nfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPExheWVyUGFuZWxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wYW5lbFByb3BzfVxuICAgICAgICAgICAgICAgICAgICAgICAgey4uLmxheWVyQWN0aW9uc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHNvcnREYXRhPXtsYXllcklkeH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17bGF5ZXJzW2xheWVySWR4XS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlkeD17bGF5ZXJJZHh9XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXllcj17bGF5ZXJzW2xheWVySWR4XX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NvcnRhYmxlSXRlbT5cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvV3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyPlxuICAgICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICAgIHtkZWZhdWx0RGF0YXNldCA/IChcbiAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJhZGQtbGF5ZXItYnV0dG9uXCIgb25DbGljaz17dGhpcy5fYWRkRW1wdHlOZXdMYXllcn0gd2lkdGg9XCIxMDVweFwiPlxuICAgICAgICAgICAgICAgIDxBZGQgaGVpZ2h0PVwiMTJweFwiIC8+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydsYXllck1hbmFnZXIuYWRkTGF5ZXInfSAvPlxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8TGF5ZXJCbGVuZGluZ1NlbGVjdG9yXG4gICAgICAgICAgICBsYXllckJsZW5kaW5nPXt0aGlzLnByb3BzLmxheWVyQmxlbmRpbmd9XG4gICAgICAgICAgICB1cGRhdGVMYXllckJsZW5kaW5nPXt2aXNTdGF0ZUFjdGlvbnMudXBkYXRlTGF5ZXJCbGVuZGluZ31cbiAgICAgICAgICAgIGludGw9e2ludGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaW5qZWN0SW50bChMYXllck1hbmFnZXIpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMYXllck1hbmFnZXJGYWN0b3J5O1xuIl19
321
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItbWFuYWdlci5qcyJdLCJuYW1lcyI6WyJMYXllckJsZW5kaW5nU2VsZWN0b3JGYWN0b3J5IiwiTGF5ZXJCbGVuZGluZ1NlbGVjdG9yIiwibGF5ZXJCbGVuZGluZyIsInVwZGF0ZUxheWVyQmxlbmRpbmciLCJpbnRsIiwibGFiZWxlZExheWVyQmxlbmRpbmdzIiwiT2JqZWN0Iiwia2V5cyIsIkxBWUVSX0JMRU5ESU5HUyIsInJlZHVjZSIsImFjYyIsImN1cnJlbnQiLCJmb3JtYXRNZXNzYWdlIiwiaWQiLCJsYWJlbCIsIm9uQ2hhbmdlIiwiYmxlbmRpbmciLCJTb3J0YWJsZVN0eWxlZEl0ZW0iLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwiZHJvcGRvd25XcmFwcGVyWiIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJmb250U2l6ZSIsImxpbmVIZWlnaHQiLCJ0ZXh0Q29sb3JIbCIsIkFkZERhdGFCdXR0b25GYWN0b3J5IiwiQWRkRGF0YUJ1dHRvbiIsIm9uQ2xpY2siLCJpc0luYWN0aXZlIiwiTGF5ZXJNYW5hZ2VyRmFjdG9yeSIsImRlcHMiLCJMYXllclBhbmVsRmFjdG9yeSIsIlNvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSIsIkxheWVyUGFuZWwiLCJTb3VyY2VEYXRhQ2F0YWxvZyIsIlNvcnRhYmxlSXRlbSIsImNoaWxkcmVuIiwiaXNTb3J0aW5nIiwic29ydGluZyIsIldyYXBwZWRTb3J0YWJsZUNvbnRhaW5lciIsIkxheWVyTWFuYWdlciIsImxheWVyQ2xhc3NlcyIsImxheWVyQ2xhc3NTZWxlY3RvciIsIm1hcCIsImtleSIsImxheWVyIiwibmFtZSIsImljb24iLCJsYXllckljb24iLCJyZXF1aXJlRGF0YSIsInZpc1N0YXRlQWN0aW9ucyIsImFkZExheWVyIiwib2xkSW5kZXgiLCJuZXdJbmRleCIsInJlb3JkZXJMYXllciIsImxheWVyT3JkZXIiLCJzZXRTdGF0ZSIsImluZGV4IiwibGF5ZXJzIiwibGF5ZXJJZHgiLCJjb25maWciLCJpc0NvbmZpZ0FjdGl2ZSIsImxheWVyQ29uZmlnQ2hhbmdlIiwiZGF0YXNldHMiLCJzaG93QWRkRGF0YU1vZGFsIiwic2hvd0RhdGFzZXRUYWJsZSIsInJlbW92ZURhdGFzZXQiLCJ1aVN0YXRlQWN0aW9ucyIsIm9wZW5Nb2RhbCIsInRvZ2dsZU1vZGFsIiwiZGVmYXVsdERhdGFzZXQiLCJsYXllclR5cGVPcHRpb25zIiwibGF5ZXJUeXBlT3B0aW9uc1NlbGVjdG9yIiwibGF5ZXJBY3Rpb25zIiwibGF5ZXJDb2xvclVJQ2hhbmdlIiwibGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlIiwibGF5ZXJUeXBlQ2hhbmdlIiwibGF5ZXJWaXNDb25maWdDaGFuZ2UiLCJsYXllclRleHRMYWJlbENoYW5nZSIsInJlbW92ZUxheWVyIiwiZHVwbGljYXRlTGF5ZXIiLCJwYW5lbFByb3BzIiwiX2hhbmRsZVNvcnQiLCJfb25Tb3J0U3RhcnQiLCJfdXBkYXRlQmVmb3JlU29ydFN0YXJ0IiwiaGlkZGVuIiwic3RhdGUiLCJfYWRkRW1wdHlOZXdMYXllciIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJzdHJpbmciLCJhcnJheU9mIiwiYW55IiwiZnVuYyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFPQTs7Ozs7Ozs7Ozs7O0FBRU8sU0FBU0EsNEJBQVQsR0FBd0M7QUFDN0MsTUFBTUMscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUF3QixPQUFnRDtBQUFBLFFBQTlDQyxhQUE4QyxRQUE5Q0EsYUFBOEM7QUFBQSxRQUEvQkMsbUJBQStCLFFBQS9CQSxtQkFBK0I7QUFBQSxRQUFWQyxJQUFVLFFBQVZBLElBQVU7QUFDNUUsUUFBTUMscUJBQXFCLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZQyxnQ0FBWixFQUE2QkMsTUFBN0IsQ0FDNUIsVUFBQ0MsR0FBRCxFQUFNQyxPQUFOO0FBQUEsNkNBQ0tELEdBREwsNENBRUdOLElBQUksQ0FBQ1EsYUFBTCxDQUFtQjtBQUFDQyxRQUFBQSxFQUFFLEVBQUVMLGlDQUFnQkcsT0FBaEIsRUFBeUJHO0FBQTlCLE9BQW5CLENBRkgsRUFFOERILE9BRjlEO0FBQUEsS0FENEIsRUFLNUIsRUFMNEIsQ0FBOUI7QUFRQSxRQUFNSSxRQUFRLEdBQUcsd0JBQVksVUFBQUMsUUFBUTtBQUFBLGFBQUliLG1CQUFtQixDQUFDRSxxQkFBcUIsQ0FBQ1csUUFBRCxDQUF0QixDQUF2QjtBQUFBLEtBQXBCLEVBQThFLENBQzdGYixtQkFENkYsRUFFN0ZFLHFCQUY2RixDQUE5RSxDQUFqQjtBQUtBLHdCQUNFLGdDQUFDLG1DQUFELHFCQUNFLGdDQUFDLDZCQUFELHFCQUNFLGdDQUFDLDhCQUFEO0FBQWtCLE1BQUEsRUFBRSxFQUFDO0FBQXJCLE1BREYsQ0FERixlQUlFLGdDQUFDLHdCQUFEO0FBQ0UsTUFBQSxhQUFhLEVBQUVELElBQUksQ0FBQ1EsYUFBTCxDQUFtQjtBQUFDQyxRQUFBQSxFQUFFLEVBQUVMLGlDQUFnQk4sYUFBaEIsRUFBK0JZO0FBQXBDLE9BQW5CLENBRGpCO0FBRUUsTUFBQSxPQUFPLEVBQUVSLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZRixxQkFBWixDQUZYO0FBR0UsTUFBQSxXQUFXLEVBQUUsS0FIZjtBQUlFLE1BQUEsVUFBVSxFQUFFLEtBSmQ7QUFLRSxNQUFBLFFBQVEsRUFBRVU7QUFMWixNQUpGLENBREY7QUFjRCxHQTVCRDs7QUE4QkEsU0FBT2QscUJBQVA7QUFDRCxDLENBRUQ7QUFDQTs7O0FBQ0EsSUFBTWdCLGtCQUFrQixHQUFHQyw2QkFBT0MsR0FBViw4ZEFDWCxVQUFBQyxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlDLGdCQUFaLEdBQStCLENBQW5DO0FBQUEsQ0FETSxFQVFBLFVBQUFGLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUUsb0JBQWhCO0FBQUEsQ0FSTCxFQVNMLFVBQUFILEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUcsVUFBaEI7QUFBQSxDQVRBLEVBVUwsVUFBQUosS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZSSxVQUFoQjtBQUFBLENBVkEsRUFXUCxVQUFBTCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlLLFFBQWhCO0FBQUEsQ0FYRSxFQVlMLFVBQUFOLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU0sVUFBaEI7QUFBQSxDQVpBLEVBb0JULFVBQUFQLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU8sV0FBaEI7QUFBQSxDQXBCSSxDQUF4Qjs7QUF5Qk8sU0FBU0Msb0JBQVQsR0FBZ0M7QUFDckMsTUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQjtBQUFBLFFBQUVDLE9BQUYsU0FBRUEsT0FBRjtBQUFBLFFBQVdDLFVBQVgsU0FBV0EsVUFBWDtBQUFBLHdCQUNwQixnQ0FBQyx5QkFBRDtBQUNFLE1BQUEsU0FBUyxFQUFDLGlCQURaO0FBRUUsTUFBQSxPQUFPLEVBQUVELE9BRlg7QUFHRSxNQUFBLFVBQVUsRUFBRSxDQUFDQyxVQUhmO0FBSUUsTUFBQSxLQUFLLEVBQUMsT0FKUjtBQUtFLE1BQUEsU0FBUztBQUxYLG9CQU9FLGdDQUFDLFVBQUQ7QUFBSyxNQUFBLE1BQU0sRUFBQztBQUFaLE1BUEYsZUFRRSxnQ0FBQyw4QkFBRDtBQUFrQixNQUFBLEVBQUUsRUFBRTtBQUF0QixNQVJGLENBRG9CO0FBQUEsR0FBdEI7O0FBYUEsU0FBT0YsYUFBUDtBQUNEOztBQUVERyxtQkFBbUIsQ0FBQ0MsSUFBcEIsR0FBMkIsQ0FDekJMLG9CQUR5QixFQUV6Qk0sc0JBRnlCLEVBR3pCQyw2QkFIeUIsRUFJekJwQyw0QkFKeUIsQ0FBM0I7O0FBT0EsU0FBU2lDLG1CQUFULENBQTZCSCxhQUE3QixFQUE0Q08sVUFBNUMsRUFBd0RDLGlCQUF4RCxFQUEyRXJDLHFCQUEzRSxFQUFrRztBQUNoRztBQUNBO0FBQ0EsTUFBTXNDLFlBQVksR0FBRyx1Q0FBZ0IsaUJBQTJCO0FBQUEsUUFBekJDLFFBQXlCLFNBQXpCQSxRQUF5QjtBQUFBLFFBQWZDLFNBQWUsU0FBZkEsU0FBZTtBQUM5RCx3QkFDRSxnQ0FBQyxrQkFBRDtBQUFvQixNQUFBLFNBQVMsRUFBRSw0QkFBVyxzQkFBWCxFQUFtQztBQUFDQyxRQUFBQSxPQUFPLEVBQUVEO0FBQVYsT0FBbkM7QUFBL0IsT0FDR0QsUUFESCxDQURGO0FBS0QsR0FOb0IsQ0FBckI7QUFRQSxNQUFNRyx3QkFBd0IsR0FBRyx5Q0FBa0IsaUJBQWdCO0FBQUEsUUFBZEgsUUFBYyxTQUFkQSxRQUFjO0FBQ2pFLHdCQUFPLDZDQUFNQSxRQUFOLENBQVA7QUFDRCxHQUZnQyxDQUFqQzs7QUFYZ0csTUFlMUZJLFlBZjBGO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSxnR0EwQnRGO0FBQ05ILFFBQUFBLFNBQVMsRUFBRTtBQURMLE9BMUJzRjtBQUFBLDZHQThCekUsVUFBQXJCLEtBQUs7QUFBQSxlQUFJQSxLQUFLLENBQUN5QixZQUFWO0FBQUEsT0E5Qm9FO0FBQUEsbUhBK0JuRSw4QkFBZSxNQUFLQyxrQkFBcEIsRUFBd0MsVUFBQUQsWUFBWTtBQUFBLGVBQzdFdkMsTUFBTSxDQUFDQyxJQUFQLENBQVlzQyxZQUFaLEVBQTBCRSxHQUExQixDQUE4QixVQUFBQyxHQUFHLEVBQUk7QUFDbkMsY0FBTUMsS0FBSyxHQUFHLElBQUlKLFlBQVksQ0FBQ0csR0FBRCxDQUFoQixFQUFkO0FBQ0EsaUJBQU87QUFDTG5DLFlBQUFBLEVBQUUsRUFBRW1DLEdBREM7QUFFTGxDLFlBQUFBLEtBQUssRUFBRW1DLEtBQUssQ0FBQ0MsSUFGUjtBQUdMQyxZQUFBQSxJQUFJLEVBQUVGLEtBQUssQ0FBQ0csU0FIUDtBQUlMQyxZQUFBQSxXQUFXLEVBQUVKLEtBQUssQ0FBQ0k7QUFKZCxXQUFQO0FBTUQsU0FSRCxDQUQ2RTtBQUFBLE9BQXBELENBL0JtRTtBQUFBLDRHQTJDMUUsWUFBTTtBQUFBLFlBQ2pCQyxlQURpQixHQUNFLE1BQUtsQyxLQURQLENBQ2pCa0MsZUFEaUI7QUFFeEJBLFFBQUFBLGVBQWUsQ0FBQ0MsUUFBaEI7QUFDRCxPQTlDNkY7QUFBQSxzR0FnRGhGLGlCQUEwQjtBQUFBLFlBQXhCQyxRQUF3QixTQUF4QkEsUUFBd0I7QUFBQSxZQUFkQyxRQUFjLFNBQWRBLFFBQWM7QUFBQSxZQUMvQkgsZUFEK0IsR0FDWixNQUFLbEMsS0FETyxDQUMvQmtDLGVBRCtCO0FBRXRDQSxRQUFBQSxlQUFlLENBQUNJLFlBQWhCLENBQTZCLDBCQUFVLE1BQUt0QyxLQUFMLENBQVd1QyxVQUFyQixFQUFpQ0gsUUFBakMsRUFBMkNDLFFBQTNDLENBQTdCOztBQUNBLGNBQUtHLFFBQUwsQ0FBYztBQUFDbkIsVUFBQUEsU0FBUyxFQUFFO0FBQVosU0FBZDtBQUNELE9BcEQ2RjtBQUFBLHVHQXNEL0UsWUFBTTtBQUNuQixjQUFLbUIsUUFBTCxDQUFjO0FBQUNuQixVQUFBQSxTQUFTLEVBQUU7QUFBWixTQUFkO0FBQ0QsT0F4RDZGO0FBQUEsaUhBMERyRSxpQkFBYTtBQUFBLFlBQVhvQixLQUFXLFNBQVhBLEtBQVc7QUFDcEM7QUFEb0MsMEJBRVUsTUFBS3pDLEtBRmY7QUFBQSxZQUU3QnVDLFVBRjZCLGVBRTdCQSxVQUY2QjtBQUFBLFlBRWpCRyxNQUZpQixlQUVqQkEsTUFGaUI7QUFBQSxZQUVUUixlQUZTLGVBRVRBLGVBRlM7QUFHcEMsWUFBTVMsUUFBUSxHQUFHSixVQUFVLENBQUNFLEtBQUQsQ0FBM0I7O0FBQ0EsWUFBSUMsTUFBTSxDQUFDQyxRQUFELENBQU4sQ0FBaUJDLE1BQWpCLENBQXdCQyxjQUE1QixFQUE0QztBQUMxQ1gsVUFBQUEsZUFBZSxDQUFDWSxpQkFBaEIsQ0FBa0NKLE1BQU0sQ0FBQ0MsUUFBRCxDQUF4QyxFQUFvRDtBQUFDRSxZQUFBQSxjQUFjLEVBQUU7QUFBakIsV0FBcEQ7QUFDRDtBQUNGLE9BakU2RjtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBLGFBbUU5RixrQkFBUztBQUFBOztBQUFBLDJCQVdILEtBQUs3QyxLQVhGO0FBQUEsWUFFTDBDLE1BRkssZ0JBRUxBLE1BRks7QUFBQSxZQUdMSyxRQUhLLGdCQUdMQSxRQUhLO0FBQUEsWUFJTC9ELElBSkssZ0JBSUxBLElBSks7QUFBQSxZQUtMdUQsVUFMSyxnQkFLTEEsVUFMSztBQUFBLFlBTUxTLGdCQU5LLGdCQU1MQSxnQkFOSztBQUFBLFlBT0xDLGdCQVBLLGdCQU9MQSxnQkFQSztBQUFBLFlBUUxDLGFBUkssZ0JBUUxBLGFBUks7QUFBQSxZQVNMQyxjQVRLLGdCQVNMQSxjQVRLO0FBQUEsWUFVTGpCLGVBVkssZ0JBVUxBLGVBVks7QUFBQSxZQVlha0IsU0FaYixHQVkwQkQsY0FaMUIsQ0FZQUUsV0FaQTtBQWFQLFlBQU1DLGNBQWMsR0FBR3BFLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZNEQsUUFBWixFQUFzQixDQUF0QixDQUF2QjtBQUNBLFlBQU1RLGdCQUFnQixHQUFHLEtBQUtDLHdCQUFMLENBQThCLEtBQUt4RCxLQUFuQyxDQUF6QjtBQUVBLFlBQU15RCxZQUFZLEdBQUc7QUFDbkJDLFVBQUFBLGtCQUFrQixFQUFFeEIsZUFBZSxDQUFDd0Isa0JBRGpCO0FBRW5CWixVQUFBQSxpQkFBaUIsRUFBRVosZUFBZSxDQUFDWSxpQkFGaEI7QUFHbkJhLFVBQUFBLDhCQUE4QixFQUFFekIsZUFBZSxDQUFDeUIsOEJBSDdCO0FBSW5CQyxVQUFBQSxlQUFlLEVBQUUxQixlQUFlLENBQUMwQixlQUpkO0FBS25CQyxVQUFBQSxvQkFBb0IsRUFBRTNCLGVBQWUsQ0FBQzJCLG9CQUxuQjtBQU1uQkMsVUFBQUEsb0JBQW9CLEVBQUU1QixlQUFlLENBQUM0QixvQkFObkI7QUFPbkJDLFVBQUFBLFdBQVcsRUFBRTdCLGVBQWUsQ0FBQzZCLFdBUFY7QUFRbkJDLFVBQUFBLGNBQWMsRUFBRTlCLGVBQWUsQ0FBQzhCO0FBUmIsU0FBckI7QUFXQSxZQUFNQyxVQUFVLEdBQUc7QUFDakJsQixVQUFBQSxRQUFRLEVBQVJBLFFBRGlCO0FBRWpCSyxVQUFBQSxTQUFTLEVBQVRBLFNBRmlCO0FBR2pCRyxVQUFBQSxnQkFBZ0IsRUFBaEJBO0FBSGlCLFNBQW5CO0FBTUEsNEJBQ0U7QUFBSyxVQUFBLFNBQVMsRUFBQztBQUFmLHdCQUNFLGdDQUFDLGlCQUFEO0FBQ0UsVUFBQSxRQUFRLEVBQUVSLFFBRFo7QUFFRSxVQUFBLGdCQUFnQixFQUFFRSxnQkFGcEI7QUFHRSxVQUFBLGFBQWEsRUFBRUMsYUFIakI7QUFJRSxVQUFBLGlCQUFpQjtBQUpuQixVQURGLGVBT0UsZ0NBQUMsYUFBRDtBQUFlLFVBQUEsT0FBTyxFQUFFRixnQkFBeEI7QUFBMEMsVUFBQSxVQUFVLEVBQUUsQ0FBQ007QUFBdkQsVUFQRixlQVFFLGdDQUFDLG1DQUFELE9BUkYsZUFTRSxnQ0FBQyxtQ0FBRCxxQkFDRSxnQ0FBQyx3QkFBRDtBQUNFLFVBQUEsU0FBUyxFQUFFLEtBQUtZLFdBRGxCO0FBRUUsVUFBQSxXQUFXLEVBQUUsS0FBS0MsWUFGcEI7QUFHRSxVQUFBLHFCQUFxQixFQUFFLEtBQUtDLHNCQUg5QjtBQUlFLFVBQUEsUUFBUSxFQUFDLEdBSlg7QUFLRSxVQUFBLFdBQVcsRUFBQyxnQkFMZDtBQU1FLFVBQUEsYUFBYTtBQU5mLFdBUUc3QixVQUFVLENBQUNaLEdBQVgsQ0FDQyxVQUFDZ0IsUUFBRCxFQUFXRixLQUFYO0FBQUEsaUJBQ0UsQ0FBQ0MsTUFBTSxDQUFDQyxRQUFELENBQU4sQ0FBaUJDLE1BQWpCLENBQXdCeUIsTUFBekIsaUJBQ0UsZ0NBQUMsWUFBRDtBQUNFLFlBQUEsR0FBRyxrQkFBVzFCLFFBQVgsQ0FETDtBQUVFLFlBQUEsS0FBSyxFQUFFRixLQUZUO0FBR0UsWUFBQSxTQUFTLEVBQUUsTUFBSSxDQUFDNkIsS0FBTCxDQUFXakQ7QUFIeEIsMEJBS0UsZ0NBQUMsVUFBRCxnQ0FDTTRDLFVBRE4sRUFFTVIsWUFGTjtBQUdFLFlBQUEsUUFBUSxFQUFFZCxRQUhaO0FBSUUsWUFBQSxHQUFHLEVBQUVELE1BQU0sQ0FBQ0MsUUFBRCxDQUFOLENBQWlCbEQsRUFKeEI7QUFLRSxZQUFBLEdBQUcsRUFBRWtELFFBTFA7QUFNRSxZQUFBLEtBQUssRUFBRUQsTUFBTSxDQUFDQyxRQUFEO0FBTmYsYUFMRixDQUZKO0FBQUEsU0FERCxDQVJILENBREYsQ0FURixlQXVDRSxnQ0FBQyxtQ0FBRCxRQUNHVyxjQUFjLGdCQUNiLGdDQUFDLHlCQUFEO0FBQVEsVUFBQSxTQUFTLEVBQUMsa0JBQWxCO0FBQXFDLFVBQUEsT0FBTyxFQUFFLEtBQUtpQixpQkFBbkQ7QUFBc0UsVUFBQSxLQUFLLEVBQUM7QUFBNUUsd0JBQ0UsZ0NBQUMsVUFBRDtBQUFLLFVBQUEsTUFBTSxFQUFDO0FBQVosVUFERixlQUVFLGdDQUFDLDhCQUFEO0FBQWtCLFVBQUEsRUFBRSxFQUFFO0FBQXRCLFVBRkYsQ0FEYSxHQUtYLElBTk4sQ0F2Q0YsZUErQ0UsZ0NBQUMscUJBQUQ7QUFDRSxVQUFBLGFBQWEsRUFBRSxLQUFLdkUsS0FBTCxDQUFXbEIsYUFENUI7QUFFRSxVQUFBLG1CQUFtQixFQUFFb0QsZUFBZSxDQUFDbkQsbUJBRnZDO0FBR0UsVUFBQSxJQUFJLEVBQUVDO0FBSFIsVUEvQ0YsQ0FERjtBQXVERDtBQTNKNkY7QUFBQTtBQUFBLElBZXJFd0YsZ0JBZnFFOztBQUFBLG1DQWUxRmhELFlBZjBGLGVBZ0IzRTtBQUNqQnVCLElBQUFBLFFBQVEsRUFBRTBCLHNCQUFVQyxNQUFWLENBQWlCQyxVQURWO0FBRWpCN0YsSUFBQUEsYUFBYSxFQUFFMkYsc0JBQVVHLE1BQVYsQ0FBaUJELFVBRmY7QUFHakJsRCxJQUFBQSxZQUFZLEVBQUVnRCxzQkFBVUMsTUFBVixDQUFpQkMsVUFIZDtBQUlqQmpDLElBQUFBLE1BQU0sRUFBRStCLHNCQUFVSSxPQUFWLENBQWtCSixzQkFBVUssR0FBNUIsRUFBaUNILFVBSnhCO0FBS2pCekMsSUFBQUEsZUFBZSxFQUFFdUMsc0JBQVVDLE1BQVYsQ0FBaUJDLFVBTGpCO0FBTWpCO0FBQ0F6QixJQUFBQSxhQUFhLEVBQUV1QixzQkFBVU0sSUFBVixDQUFlSixVQVBiO0FBUWpCMUIsSUFBQUEsZ0JBQWdCLEVBQUV3QixzQkFBVU0sSUFBVixDQUFlSjtBQVJoQixHQWhCMkU7QUE2SmhHLFNBQU8sMkJBQVduRCxZQUFYLENBQVA7QUFDRDs7ZUFFY1gsbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIHVzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7U29ydGFibGVDb250YWluZXIsIFNvcnRhYmxlRWxlbWVudH0gZnJvbSAncmVhY3Qtc29ydGFibGUtaG9jJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IHtpbmplY3RJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnbG9jYWxpemF0aW9uJztcbmltcG9ydCB7YXJyYXlNb3ZlfSBmcm9tICd1dGlscy9kYXRhLXV0aWxzJztcblxuaW1wb3J0IExheWVyUGFuZWxGYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwvbGF5ZXItcGFuZWwnO1xuaW1wb3J0IFNvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSBmcm9tICcuL2NvbW1vbi9zb3VyY2UtZGF0YS1jYXRhbG9nJztcbmltcG9ydCB7QWRkfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge1xuICBCdXR0b24sXG4gIFBhbmVsTGFiZWwsXG4gIFNpZGVQYW5lbERpdmlkZXIsXG4gIFNpZGVQYW5lbFNlY3Rpb25cbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge0xBWUVSX0JMRU5ESU5HU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJCbGVuZGluZ1NlbGVjdG9yRmFjdG9yeSgpIHtcbiAgY29uc3QgTGF5ZXJCbGVuZGluZ1NlbGVjdG9yID0gKHtsYXllckJsZW5kaW5nLCB1cGRhdGVMYXllckJsZW5kaW5nLCBpbnRsfSkgPT4ge1xuICAgIGNvbnN0IGxhYmVsZWRMYXllckJsZW5kaW5ncyA9IE9iamVjdC5rZXlzKExBWUVSX0JMRU5ESU5HUykucmVkdWNlKFxuICAgICAgKGFjYywgY3VycmVudCkgPT4gKHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICBbaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogTEFZRVJfQkxFTkRJTkdTW2N1cnJlbnRdLmxhYmVsfSldOiBjdXJyZW50XG4gICAgICB9KSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGNvbnN0IG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soYmxlbmRpbmcgPT4gdXBkYXRlTGF5ZXJCbGVuZGluZyhsYWJlbGVkTGF5ZXJCbGVuZGluZ3NbYmxlbmRpbmddKSwgW1xuICAgICAgdXBkYXRlTGF5ZXJCbGVuZGluZyxcbiAgICAgIGxhYmVsZWRMYXllckJsZW5kaW5nc1xuICAgIF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImxheWVyQmxlbmRpbmcudGl0bGVcIiAvPlxuICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiBMQVlFUl9CTEVORElOR1NbbGF5ZXJCbGVuZGluZ10ubGFiZWx9KX1cbiAgICAgICAgICBvcHRpb25zPXtPYmplY3Qua2V5cyhsYWJlbGVkTGF5ZXJCbGVuZGluZ3MpfVxuICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJCbGVuZGluZ1NlbGVjdG9yO1xufVxuXG4vLyBtYWtlIHN1cmUgdGhlIGVsZW1lbnQgaXMgYWx3YXlzIHZpc2libGUgd2hpbGUgaXMgYmVpbmcgZHJhZ2dlZFxuLy8gaXRlbSBiZWluZyBkcmFnZ2VkIGlzIGFwcGVuZGVkIGluIGJvZHksIGhlcmUgdG8gcmVzZXQgaXRzIGdsb2JhbCBzdHlsZVxuY29uc3QgU29ydGFibGVTdHlsZWRJdGVtID0gc3R5bGVkLmRpdmBcbiAgei1pbmRleDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bldyYXBwZXJaICsgMX07XG5cbiAgJi5zb3J0aW5nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYuc29ydGluZy1sYXllcnMgLmxheWVyLXBhbmVsX19oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGZvbnQtd2VpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRXZWlnaHR9O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGluZUhlaWdodH07XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBmdW5jdGlvbiBBZGREYXRhQnV0dG9uRmFjdG9yeSgpIHtcbiAgY29uc3QgQWRkRGF0YUJ1dHRvbiA9ICh7b25DbGljaywgaXNJbmFjdGl2ZX0pID0+IChcbiAgICA8QnV0dG9uXG4gICAgICBjbGFzc05hbWU9XCJhZGQtZGF0YS1idXR0b25cIlxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGlzSW5hY3RpdmU9eyFpc0luYWN0aXZlfVxuICAgICAgd2lkdGg9XCIxMDVweFwiXG4gICAgICBzZWNvbmRhcnlcbiAgICA+XG4gICAgICA8QWRkIGhlaWdodD1cIjEycHhcIiAvPlxuICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydsYXllck1hbmFnZXIuYWRkRGF0YSd9IC8+XG4gICAgPC9CdXR0b24+XG4gICk7XG5cbiAgcmV0dXJuIEFkZERhdGFCdXR0b247XG59XG5cbkxheWVyTWFuYWdlckZhY3RvcnkuZGVwcyA9IFtcbiAgQWRkRGF0YUJ1dHRvbkZhY3RvcnksXG4gIExheWVyUGFuZWxGYWN0b3J5LFxuICBTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3RvcnksXG4gIExheWVyQmxlbmRpbmdTZWxlY3RvckZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIExheWVyTWFuYWdlckZhY3RvcnkoQWRkRGF0YUJ1dHRvbiwgTGF5ZXJQYW5lbCwgU291cmNlRGF0YUNhdGFsb2csIExheWVyQmxlbmRpbmdTZWxlY3Rvcikge1xuICAvLyBCeSB3cmFwcGluZyBsYXllciBwYW5lbCB1c2luZyBhIHNvcnRhYmxlIGVsZW1lbnQgd2UgZG9uJ3QgaGF2ZSB0byBpbXBsZW1lbnQgdGhlIGRyYWcgYW5kIGRyb3AgbG9naWMgaW50byB0aGUgcGFuZWwgaXRzZWxmO1xuICAvLyBEZXZlbG9wZXJzIGNhbiBwcm92aWRlIGFueSBsYXllciBwYW5lbCBpbXBsZW1lbnRhdGlvbiBhbmQgaXQgd2lsbCBzdGlsbCBiZSBzb3J0YWJsZVxuICBjb25zdCBTb3J0YWJsZUl0ZW0gPSBTb3J0YWJsZUVsZW1lbnQoKHtjaGlsZHJlbiwgaXNTb3J0aW5nfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U29ydGFibGVTdHlsZWRJdGVtIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnc29ydGFibGUtbGF5ZXItaXRlbXMnLCB7c29ydGluZzogaXNTb3J0aW5nfSl9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1NvcnRhYmxlU3R5bGVkSXRlbT5cbiAgICApO1xuICB9KTtcblxuICBjb25zdCBXcmFwcGVkU29ydGFibGVDb250YWluZXIgPSBTb3J0YWJsZUNvbnRhaW5lcigoe2NoaWxkcmVufSkgPT4ge1xuICAgIHJldHVybiA8ZGl2PntjaGlsZHJlbn08L2Rpdj47XG4gIH0pO1xuXG4gIGNsYXNzIExheWVyTWFuYWdlciBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGRhdGFzZXRzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBsYXllckJsZW5kaW5nOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBsYXllckNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGxheWVyczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSkuaXNSZXF1aXJlZCxcbiAgICAgIHZpc1N0YXRlQWN0aW9uczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgLy8gZnVuY3Rpb25zXG4gICAgICByZW1vdmVEYXRhc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgc2hvd0RhdGFzZXRUYWJsZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxuICAgIH07XG4gICAgc3RhdGUgPSB7XG4gICAgICBpc1NvcnRpbmc6IGZhbHNlXG4gICAgfTtcblxuICAgIGxheWVyQ2xhc3NTZWxlY3RvciA9IHByb3BzID0+IHByb3BzLmxheWVyQ2xhc3NlcztcbiAgICBsYXllclR5cGVPcHRpb25zU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3Rvcih0aGlzLmxheWVyQ2xhc3NTZWxlY3RvciwgbGF5ZXJDbGFzc2VzID0+XG4gICAgICBPYmplY3Qua2V5cyhsYXllckNsYXNzZXMpLm1hcChrZXkgPT4ge1xuICAgICAgICBjb25zdCBsYXllciA9IG5ldyBsYXllckNsYXNzZXNba2V5XSgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiBrZXksXG4gICAgICAgICAgbGFiZWw6IGxheWVyLm5hbWUsXG4gICAgICAgICAgaWNvbjogbGF5ZXIubGF5ZXJJY29uLFxuICAgICAgICAgIHJlcXVpcmVEYXRhOiBsYXllci5yZXF1aXJlRGF0YVxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgX2FkZEVtcHR5TmV3TGF5ZXIgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7dmlzU3RhdGVBY3Rpb25zfSA9IHRoaXMucHJvcHM7XG4gICAgICB2aXNTdGF0ZUFjdGlvbnMuYWRkTGF5ZXIoKTtcbiAgICB9O1xuXG4gICAgX2hhbmRsZVNvcnQgPSAoe29sZEluZGV4LCBuZXdJbmRleH0pID0+IHtcbiAgICAgIGNvbnN0IHt2aXNTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcbiAgICAgIHZpc1N0YXRlQWN0aW9ucy5yZW9yZGVyTGF5ZXIoYXJyYXlNb3ZlKHRoaXMucHJvcHMubGF5ZXJPcmRlciwgb2xkSW5kZXgsIG5ld0luZGV4KSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHtpc1NvcnRpbmc6IGZhbHNlfSk7XG4gICAgfTtcblxuICAgIF9vblNvcnRTdGFydCA9ICgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2lzU29ydGluZzogdHJ1ZX0pO1xuICAgIH07XG5cbiAgICBfdXBkYXRlQmVmb3JlU29ydFN0YXJ0ID0gKHtpbmRleH0pID0+IHtcbiAgICAgIC8vIGlmIGxheWVyIGNvbmZpZyBpcyBhY3RpdmUsIGNsb3NlIGl0XG4gICAgICBjb25zdCB7bGF5ZXJPcmRlciwgbGF5ZXJzLCB2aXNTdGF0ZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGxheWVySWR4ID0gbGF5ZXJPcmRlcltpbmRleF07XG4gICAgICBpZiAobGF5ZXJzW2xheWVySWR4XS5jb25maWcuaXNDb25maWdBY3RpdmUpIHtcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zLmxheWVyQ29uZmlnQ2hhbmdlKGxheWVyc1tsYXllcklkeF0sIHtpc0NvbmZpZ0FjdGl2ZTogZmFsc2V9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBsYXllcnMsXG4gICAgICAgIGRhdGFzZXRzLFxuICAgICAgICBpbnRsLFxuICAgICAgICBsYXllck9yZGVyLFxuICAgICAgICBzaG93QWRkRGF0YU1vZGFsLFxuICAgICAgICBzaG93RGF0YXNldFRhYmxlLFxuICAgICAgICByZW1vdmVEYXRhc2V0LFxuICAgICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zXG4gICAgICB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHt0b2dnbGVNb2RhbDogb3Blbk1vZGFsfSA9IHVpU3RhdGVBY3Rpb25zO1xuICAgICAgY29uc3QgZGVmYXVsdERhdGFzZXQgPSBPYmplY3Qua2V5cyhkYXRhc2V0cylbMF07XG4gICAgICBjb25zdCBsYXllclR5cGVPcHRpb25zID0gdGhpcy5sYXllclR5cGVPcHRpb25zU2VsZWN0b3IodGhpcy5wcm9wcyk7XG5cbiAgICAgIGNvbnN0IGxheWVyQWN0aW9ucyA9IHtcbiAgICAgICAgbGF5ZXJDb2xvclVJQ2hhbmdlOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJDb2xvclVJQ2hhbmdlLFxuICAgICAgICBsYXllckNvbmZpZ0NoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyQ29uZmlnQ2hhbmdlLFxuICAgICAgICBsYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2UsXG4gICAgICAgIGxheWVyVHlwZUNoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVHlwZUNoYW5nZSxcbiAgICAgICAgbGF5ZXJWaXNDb25maWdDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclZpc0NvbmZpZ0NoYW5nZSxcbiAgICAgICAgbGF5ZXJUZXh0TGFiZWxDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclRleHRMYWJlbENoYW5nZSxcbiAgICAgICAgcmVtb3ZlTGF5ZXI6IHZpc1N0YXRlQWN0aW9ucy5yZW1vdmVMYXllcixcbiAgICAgICAgZHVwbGljYXRlTGF5ZXI6IHZpc1N0YXRlQWN0aW9ucy5kdXBsaWNhdGVMYXllclxuICAgICAgfTtcblxuICAgICAgY29uc3QgcGFuZWxQcm9wcyA9IHtcbiAgICAgICAgZGF0YXNldHMsXG4gICAgICAgIG9wZW5Nb2RhbCxcbiAgICAgICAgbGF5ZXJUeXBlT3B0aW9uc1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllci1tYW5hZ2VyXCI+XG4gICAgICAgICAgPFNvdXJjZURhdGFDYXRhbG9nXG4gICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICAgIHNob3dEZWxldGVEYXRhc2V0XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QWRkRGF0YUJ1dHRvbiBvbkNsaWNrPXtzaG93QWRkRGF0YU1vZGFsfSBpc0luYWN0aXZlPXshZGVmYXVsdERhdGFzZXR9IC8+XG4gICAgICAgICAgPFNpZGVQYW5lbERpdmlkZXIgLz5cbiAgICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICAgIDxXcmFwcGVkU29ydGFibGVDb250YWluZXJcbiAgICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLl9oYW5kbGVTb3J0fVxuICAgICAgICAgICAgICBvblNvcnRTdGFydD17dGhpcy5fb25Tb3J0U3RhcnR9XG4gICAgICAgICAgICAgIHVwZGF0ZUJlZm9yZVNvcnRTdGFydD17dGhpcy5fdXBkYXRlQmVmb3JlU29ydFN0YXJ0fVxuICAgICAgICAgICAgICBsb2NrQXhpcz1cInlcIlxuICAgICAgICAgICAgICBoZWxwZXJDbGFzcz1cInNvcnRpbmctbGF5ZXJzXCJcbiAgICAgICAgICAgICAgdXNlRHJhZ0hhbmRsZVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bGF5ZXJPcmRlci5tYXAoXG4gICAgICAgICAgICAgICAgKGxheWVySWR4LCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICFsYXllcnNbbGF5ZXJJZHhdLmNvbmZpZy5oaWRkZW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8U29ydGFibGVJdGVtXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtgbGF5ZXItJHtsYXllcklkeH1gfVxuICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NvcnRpbmc9e3RoaXMuc3RhdGUuaXNTb3J0aW5nfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPExheWVyUGFuZWxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wYW5lbFByb3BzfVxuICAgICAgICAgICAgICAgICAgICAgICAgey4uLmxheWVyQWN0aW9uc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHNvcnREYXRhPXtsYXllcklkeH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17bGF5ZXJzW2xheWVySWR4XS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlkeD17bGF5ZXJJZHh9XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXllcj17bGF5ZXJzW2xheWVySWR4XX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NvcnRhYmxlSXRlbT5cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvV3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyPlxuICAgICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICAgIHtkZWZhdWx0RGF0YXNldCA/IChcbiAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJhZGQtbGF5ZXItYnV0dG9uXCIgb25DbGljaz17dGhpcy5fYWRkRW1wdHlOZXdMYXllcn0gd2lkdGg9XCIxMDVweFwiPlxuICAgICAgICAgICAgICAgIDxBZGQgaGVpZ2h0PVwiMTJweFwiIC8+XG4gICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydsYXllck1hbmFnZXIuYWRkTGF5ZXInfSAvPlxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8TGF5ZXJCbGVuZGluZ1NlbGVjdG9yXG4gICAgICAgICAgICBsYXllckJsZW5kaW5nPXt0aGlzLnByb3BzLmxheWVyQmxlbmRpbmd9XG4gICAgICAgICAgICB1cGRhdGVMYXllckJsZW5kaW5nPXt2aXNTdGF0ZUFjdGlvbnMudXBkYXRlTGF5ZXJCbGVuZGluZ31cbiAgICAgICAgICAgIGludGw9e2ludGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaW5qZWN0SW50bChMYXllck1hbmFnZXIpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMYXllck1hbmFnZXJGYWN0b3J5O1xuIl19
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
10
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
13
 
12
14
  var _react = _interopRequireDefault(require("react"));
@@ -22,7 +24,9 @@ var propTypes = {
22
24
  height: _propTypes["default"].number,
23
25
  className: _propTypes["default"].string,
24
26
  isSelected: _propTypes["default"].bool,
25
- isReversed: _propTypes["default"].bool
27
+ isReversed: _propTypes["default"].bool,
28
+ children: _propTypes["default"].node,
29
+ rootProps: _propTypes["default"].object
26
30
  };
27
31
  var defaultProps = {
28
32
  height: 10,
@@ -51,11 +55,13 @@ var ColorPalette = function ColorPalette(_ref) {
51
55
  height = _ref.height,
52
56
  className = _ref.className,
53
57
  isSelected = _ref.isSelected,
54
- isReversed = _ref.isReversed;
55
- return /*#__PURE__*/_react["default"].createElement(PaletteContainer, {
58
+ isReversed = _ref.isReversed,
59
+ children = _ref.children,
60
+ rootProps = _ref.rootProps;
61
+ return /*#__PURE__*/_react["default"].createElement(PaletteContainer, (0, _extends2["default"])({
56
62
  className: className,
57
63
  isSelected: isSelected
58
- }, /*#__PURE__*/_react["default"].createElement(PaletteWrapper, {
64
+ }, Boolean(rootProps) && rootProps), /*#__PURE__*/_react["default"].createElement(PaletteWrapper, {
59
65
  style: {
60
66
  height: height,
61
67
  transform: "scale(".concat(isReversed ? -1 : 1, ", 1)")
@@ -67,11 +73,11 @@ var ColorPalette = function ColorPalette(_ref) {
67
73
  backgroundColor: color
68
74
  }
69
75
  });
70
- })));
76
+ })), Boolean(children) && children);
71
77
  };
72
78
 
73
79
  ColorPalette.propTypes = propTypes;
74
80
  ColorPalette.defaultProps = defaultProps;
75
81
  var _default = ColorPalette;
76
82
  exports["default"] = _default;
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcGFsZXR0ZS5qcyJdLCJuYW1lcyI6WyJwcm9wVHlwZXMiLCJjb2xvcnMiLCJQcm9wVHlwZXMiLCJhcnJheU9mIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsImhlaWdodCIsIm51bWJlciIsImNsYXNzTmFtZSIsImlzU2VsZWN0ZWQiLCJib29sIiwiaXNSZXZlcnNlZCIsImRlZmF1bHRQcm9wcyIsIlBhbGV0dGVXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJQYWxldHRlQ29udGFpbmVyIiwicHJvcHMiLCJTdHlsZWRDb2xvckJsb2NrIiwiQ29sb3JQYWxldHRlIiwidHJhbnNmb3JtIiwibWFwIiwiY29sb3IiLCJpbmRleCIsImJhY2tncm91bmRDb2xvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUc7QUFDaEJDLEVBQUFBLE1BQU0sRUFBRUMsc0JBQVVDLE9BQVYsQ0FBa0JELHNCQUFVRSxNQUE1QixFQUFvQ0MsVUFENUI7QUFFaEJDLEVBQUFBLE1BQU0sRUFBRUosc0JBQVVLLE1BRkY7QUFHaEJDLEVBQUFBLFNBQVMsRUFBRU4sc0JBQVVFLE1BSEw7QUFJaEJLLEVBQUFBLFVBQVUsRUFBRVAsc0JBQVVRLElBSk47QUFLaEJDLEVBQUFBLFVBQVUsRUFBRVQsc0JBQVVRO0FBTE4sQ0FBbEI7QUFRQSxJQUFNRSxZQUFZLEdBQUc7QUFDbkJOLEVBQUFBLE1BQU0sRUFBRSxFQURXO0FBRW5CTCxFQUFBQSxNQUFNLEVBQUUsRUFGVztBQUduQk8sRUFBQUEsU0FBUyxFQUFFLEVBSFE7QUFJbkJDLEVBQUFBLFVBQVUsRUFBRSxLQUpPO0FBS25CRSxFQUFBQSxVQUFVLEVBQUU7QUFMTyxDQUFyQjs7QUFRQSxJQUFNRSxjQUFjLEdBQUdDLDZCQUFPQyxHQUFQLENBQVdDLEtBQVgsQ0FBaUI7QUFDdENSLEVBQUFBLFNBQVMsRUFBRTtBQUQyQixDQUFqQixDQUFILGtPQUFwQjs7QUFXQSxJQUFNUyxnQkFBZ0IsR0FBR0gsNkJBQU9DLEdBQVAsQ0FBV0MsS0FBWCxDQUFpQjtBQUN4Q1IsRUFBQUEsU0FBUyxFQUFFO0FBRDZCLENBQWpCLENBQUgsMk9BT0osVUFBQVUsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ1QsVUFBTixHQUFtQixTQUFuQixHQUErQixhQUFwQztBQUFBLENBUEQsQ0FBdEI7O0FBWUEsSUFBTVUsZ0JBQWdCLEdBQUdMLDZCQUFPQyxHQUFQLENBQVdDLEtBQVgsQ0FBaUI7QUFDeENSLEVBQUFBLFNBQVMsRUFBRTtBQUQ2QixDQUFqQixDQUFILDJHQUF0Qjs7QUFNQSxJQUFNWSxZQUFZLEdBQUcsU0FBZkEsWUFBZTtBQUFBLE1BQUVuQixNQUFGLFFBQUVBLE1BQUY7QUFBQSxNQUFVSyxNQUFWLFFBQVVBLE1BQVY7QUFBQSxNQUFrQkUsU0FBbEIsUUFBa0JBLFNBQWxCO0FBQUEsTUFBNkJDLFVBQTdCLFFBQTZCQSxVQUE3QjtBQUFBLE1BQXlDRSxVQUF6QyxRQUF5Q0EsVUFBekM7QUFBQSxzQkFDbkIsZ0NBQUMsZ0JBQUQ7QUFBa0IsSUFBQSxTQUFTLEVBQUVILFNBQTdCO0FBQXdDLElBQUEsVUFBVSxFQUFFQztBQUFwRCxrQkFDRSxnQ0FBQyxjQUFEO0FBQWdCLElBQUEsS0FBSyxFQUFFO0FBQUNILE1BQUFBLE1BQU0sRUFBTkEsTUFBRDtBQUFTZSxNQUFBQSxTQUFTLGtCQUFXVixVQUFVLEdBQUcsQ0FBQyxDQUFKLEdBQVEsQ0FBN0I7QUFBbEI7QUFBdkIsS0FDR1YsTUFBTSxDQUFDcUIsR0FBUCxDQUFXLFVBQUNDLEtBQUQsRUFBUUMsS0FBUjtBQUFBLHdCQUNWLGdDQUFDLGdCQUFEO0FBQWtCLE1BQUEsR0FBRyxZQUFLRCxLQUFMLGNBQWNDLEtBQWQsQ0FBckI7QUFBNEMsTUFBQSxLQUFLLEVBQUU7QUFBQ0MsUUFBQUEsZUFBZSxFQUFFRjtBQUFsQjtBQUFuRCxNQURVO0FBQUEsR0FBWCxDQURILENBREYsQ0FEbUI7QUFBQSxDQUFyQjs7QUFVQUgsWUFBWSxDQUFDcEIsU0FBYixHQUF5QkEsU0FBekI7QUFDQW9CLFlBQVksQ0FBQ1IsWUFBYixHQUE0QkEsWUFBNUI7ZUFFZVEsWSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMSBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmNvbnN0IHByb3BUeXBlcyA9IHtcbiAgY29sb3JzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKS5pc1JlcXVpcmVkLFxuICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgaXNTZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGlzUmV2ZXJzZWQ6IFByb3BUeXBlcy5ib29sXG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIGhlaWdodDogMTAsXG4gIGNvbG9yczogW10sXG4gIGNsYXNzTmFtZTogJycsXG4gIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICBpc1JldmVyc2VkOiBmYWxzZVxufTtcblxuY29uc3QgUGFsZXR0ZVdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItcmFuZ2UtcGFsZXR0ZV9faW5uZXInXG59KWBcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWdyb3c6IDE7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmA7XG5cbmNvbnN0IFBhbGV0dGVDb250YWluZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItcmFuZ2UtcGFsZXR0ZSdcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gKHByb3BzLmlzU2VsZWN0ZWQgPyAnI0ZGRkZGRicgOiAndHJhbnNwYXJlbnQnKX07XG4gIHBhZGRpbmc6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuYDtcblxuY29uc3QgU3R5bGVkQ29sb3JCbG9jayA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1yYW5nZS1wYWxldHRlX19ibG9jaydcbn0pYFxuICBmbGV4LWdyb3c6IDE7XG5gO1xuXG5jb25zdCBDb2xvclBhbGV0dGUgPSAoe2NvbG9ycywgaGVpZ2h0LCBjbGFzc05hbWUsIGlzU2VsZWN0ZWQsIGlzUmV2ZXJzZWR9KSA9PiAoXG4gIDxQYWxldHRlQ29udGFpbmVyIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfT5cbiAgICA8UGFsZXR0ZVdyYXBwZXIgc3R5bGU9e3toZWlnaHQsIHRyYW5zZm9ybTogYHNjYWxlKCR7aXNSZXZlcnNlZCA/IC0xIDogMX0sIDEpYH19PlxuICAgICAge2NvbG9ycy5tYXAoKGNvbG9yLCBpbmRleCkgPT4gKFxuICAgICAgICA8U3R5bGVkQ29sb3JCbG9jayBrZXk9e2Ake2NvbG9yfS0ke2luZGV4fWB9IHN0eWxlPXt7YmFja2dyb3VuZENvbG9yOiBjb2xvcn19IC8+XG4gICAgICApKX1cbiAgICA8L1BhbGV0dGVXcmFwcGVyPlxuICA8L1BhbGV0dGVDb250YWluZXI+XG4pO1xuXG5Db2xvclBhbGV0dGUucHJvcFR5cGVzID0gcHJvcFR5cGVzO1xuQ29sb3JQYWxldHRlLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuZXhwb3J0IGRlZmF1bHQgQ29sb3JQYWxldHRlO1xuIl19
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcGFsZXR0ZS5qcyJdLCJuYW1lcyI6WyJwcm9wVHlwZXMiLCJjb2xvcnMiLCJQcm9wVHlwZXMiLCJhcnJheU9mIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsImhlaWdodCIsIm51bWJlciIsImNsYXNzTmFtZSIsImlzU2VsZWN0ZWQiLCJib29sIiwiaXNSZXZlcnNlZCIsImNoaWxkcmVuIiwibm9kZSIsInJvb3RQcm9wcyIsIm9iamVjdCIsImRlZmF1bHRQcm9wcyIsIlBhbGV0dGVXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJQYWxldHRlQ29udGFpbmVyIiwicHJvcHMiLCJTdHlsZWRDb2xvckJsb2NrIiwiQ29sb3JQYWxldHRlIiwiQm9vbGVhbiIsInRyYW5zZm9ybSIsIm1hcCIsImNvbG9yIiwiaW5kZXgiLCJiYWNrZ3JvdW5kQ29sb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUc7QUFDaEJDLEVBQUFBLE1BQU0sRUFBRUMsc0JBQVVDLE9BQVYsQ0FBa0JELHNCQUFVRSxNQUE1QixFQUFvQ0MsVUFENUI7QUFFaEJDLEVBQUFBLE1BQU0sRUFBRUosc0JBQVVLLE1BRkY7QUFHaEJDLEVBQUFBLFNBQVMsRUFBRU4sc0JBQVVFLE1BSEw7QUFJaEJLLEVBQUFBLFVBQVUsRUFBRVAsc0JBQVVRLElBSk47QUFLaEJDLEVBQUFBLFVBQVUsRUFBRVQsc0JBQVVRLElBTE47QUFNaEJFLEVBQUFBLFFBQVEsRUFBRVYsc0JBQVVXLElBTko7QUFPaEJDLEVBQUFBLFNBQVMsRUFBRVosc0JBQVVhO0FBUEwsQ0FBbEI7QUFVQSxJQUFNQyxZQUFZLEdBQUc7QUFDbkJWLEVBQUFBLE1BQU0sRUFBRSxFQURXO0FBRW5CTCxFQUFBQSxNQUFNLEVBQUUsRUFGVztBQUduQk8sRUFBQUEsU0FBUyxFQUFFLEVBSFE7QUFJbkJDLEVBQUFBLFVBQVUsRUFBRSxLQUpPO0FBS25CRSxFQUFBQSxVQUFVLEVBQUU7QUFMTyxDQUFyQjs7QUFRQSxJQUFNTSxjQUFjLEdBQUdDLDZCQUFPQyxHQUFQLENBQVdDLEtBQVgsQ0FBaUI7QUFDdENaLEVBQUFBLFNBQVMsRUFBRTtBQUQyQixDQUFqQixDQUFILGtPQUFwQjs7QUFXQSxJQUFNYSxnQkFBZ0IsR0FBR0gsNkJBQU9DLEdBQVAsQ0FBV0MsS0FBWCxDQUFpQjtBQUN4Q1osRUFBQUEsU0FBUyxFQUFFO0FBRDZCLENBQWpCLENBQUgsMk9BT0osVUFBQWMsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ2IsVUFBTixHQUFtQixTQUFuQixHQUErQixhQUFwQztBQUFBLENBUEQsQ0FBdEI7O0FBWUEsSUFBTWMsZ0JBQWdCLEdBQUdMLDZCQUFPQyxHQUFQLENBQVdDLEtBQVgsQ0FBaUI7QUFDeENaLEVBQUFBLFNBQVMsRUFBRTtBQUQ2QixDQUFqQixDQUFILDJHQUF0Qjs7QUFNQSxJQUFNZ0IsWUFBWSxHQUFHLFNBQWZBLFlBQWU7QUFBQSxNQUFFdkIsTUFBRixRQUFFQSxNQUFGO0FBQUEsTUFBVUssTUFBVixRQUFVQSxNQUFWO0FBQUEsTUFBa0JFLFNBQWxCLFFBQWtCQSxTQUFsQjtBQUFBLE1BQTZCQyxVQUE3QixRQUE2QkEsVUFBN0I7QUFBQSxNQUF5Q0UsVUFBekMsUUFBeUNBLFVBQXpDO0FBQUEsTUFBcURDLFFBQXJELFFBQXFEQSxRQUFyRDtBQUFBLE1BQStERSxTQUEvRCxRQUErREEsU0FBL0Q7QUFBQSxzQkFDbkIsZ0NBQUMsZ0JBQUQ7QUFDRSxJQUFBLFNBQVMsRUFBRU4sU0FEYjtBQUVFLElBQUEsVUFBVSxFQUFFQztBQUZkLEtBR09nQixPQUFPLENBQUNYLFNBQUQsQ0FBUCxJQUFzQkEsU0FIN0IsZ0JBS0UsZ0NBQUMsY0FBRDtBQUFnQixJQUFBLEtBQUssRUFBRTtBQUFDUixNQUFBQSxNQUFNLEVBQU5BLE1BQUQ7QUFBU29CLE1BQUFBLFNBQVMsa0JBQVdmLFVBQVUsR0FBRyxDQUFDLENBQUosR0FBUSxDQUE3QjtBQUFsQjtBQUF2QixLQUNHVixNQUFNLENBQUMwQixHQUFQLENBQVcsVUFBQ0MsS0FBRCxFQUFRQyxLQUFSO0FBQUEsd0JBQ1YsZ0NBQUMsZ0JBQUQ7QUFBa0IsTUFBQSxHQUFHLFlBQUtELEtBQUwsY0FBY0MsS0FBZCxDQUFyQjtBQUE0QyxNQUFBLEtBQUssRUFBRTtBQUFDQyxRQUFBQSxlQUFlLEVBQUVGO0FBQWxCO0FBQW5ELE1BRFU7QUFBQSxHQUFYLENBREgsQ0FMRixFQVVHSCxPQUFPLENBQUNiLFFBQUQsQ0FBUCxJQUFxQkEsUUFWeEIsQ0FEbUI7QUFBQSxDQUFyQjs7QUFlQVksWUFBWSxDQUFDeEIsU0FBYixHQUF5QkEsU0FBekI7QUFDQXdCLFlBQVksQ0FBQ1IsWUFBYixHQUE0QkEsWUFBNUI7ZUFFZVEsWSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmNvbnN0IHByb3BUeXBlcyA9IHtcbiAgY29sb3JzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKS5pc1JlcXVpcmVkLFxuICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgaXNTZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGlzUmV2ZXJzZWQ6IFByb3BUeXBlcy5ib29sLFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gIHJvb3RQcm9wczogUHJvcFR5cGVzLm9iamVjdFxufTtcblxuY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBoZWlnaHQ6IDEwLFxuICBjb2xvcnM6IFtdLFxuICBjbGFzc05hbWU6ICcnLFxuICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgaXNSZXZlcnNlZDogZmFsc2Vcbn07XG5cbmNvbnN0IFBhbGV0dGVXcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2NvbG9yLXJhbmdlLXBhbGV0dGVfX2lubmVyJ1xufSlgXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC1ncm93OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5jb25zdCBQYWxldHRlQ29udGFpbmVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2NvbG9yLXJhbmdlLXBhbGV0dGUnXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5pc1NlbGVjdGVkID8gJyNGRkZGRkYnIDogJ3RyYW5zcGFyZW50Jyl9O1xuICBwYWRkaW5nOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZENvbG9yQmxvY2sgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItcmFuZ2UtcGFsZXR0ZV9fYmxvY2snXG59KWBcbiAgZmxleC1ncm93OiAxO1xuYDtcblxuY29uc3QgQ29sb3JQYWxldHRlID0gKHtjb2xvcnMsIGhlaWdodCwgY2xhc3NOYW1lLCBpc1NlbGVjdGVkLCBpc1JldmVyc2VkLCBjaGlsZHJlbiwgcm9vdFByb3BzfSkgPT4gKFxuICA8UGFsZXR0ZUNvbnRhaW5lclxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9XG4gICAgey4uLihCb29sZWFuKHJvb3RQcm9wcykgJiYgcm9vdFByb3BzKX1cbiAgPlxuICAgIDxQYWxldHRlV3JhcHBlciBzdHlsZT17e2hlaWdodCwgdHJhbnNmb3JtOiBgc2NhbGUoJHtpc1JldmVyc2VkID8gLTEgOiAxfSwgMSlgfX0+XG4gICAgICB7Y29sb3JzLm1hcCgoY29sb3IsIGluZGV4KSA9PiAoXG4gICAgICAgIDxTdHlsZWRDb2xvckJsb2NrIGtleT17YCR7Y29sb3J9LSR7aW5kZXh9YH0gc3R5bGU9e3tiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yfX0gLz5cbiAgICAgICkpfVxuICAgIDwvUGFsZXR0ZVdyYXBwZXI+XG4gICAge0Jvb2xlYW4oY2hpbGRyZW4pICYmIGNoaWxkcmVufVxuICA8L1BhbGV0dGVDb250YWluZXI+XG4pO1xuXG5Db2xvclBhbGV0dGUucHJvcFR5cGVzID0gcHJvcFR5cGVzO1xuQ29sb3JQYWxldHRlLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuZXhwb3J0IGRlZmF1bHQgQ29sb3JQYWxldHRlO1xuIl19
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.ColorPaletteGroup = exports.PaletteConfig = exports["default"] = exports.ALL_STEPS = exports.ALL_TYPES = void 0;
11
11
 
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
15
 
14
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -25,6 +27,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
25
27
 
26
28
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
27
29
 
30
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
31
+
28
32
  var _react = _interopRequireWildcard(require("react"));
29
33
 
30
34
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -53,17 +57,23 @@ var _colorUtils = require("../../../utils/color-utils");
53
57
 
54
58
  var _localization = require("../../../localization");
55
59
 
60
+ var _icons = require("../../common/icons");
61
+
56
62
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
57
63
 
64
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
65
+
66
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
67
+
58
68
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
59
69
 
60
70
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
61
71
 
62
- var ALL_TYPES = (0, _lodash["default"])(_colorRanges.COLOR_RANGES.map(function (c) {
72
+ var ALL_TYPES = (0, _lodash["default"])(['all'].concat((0, _toConsumableArray2["default"])(_colorRanges.COLOR_RANGES.map(function (c) {
63
73
  return c.type;
64
74
  }).filter(function (ctype) {
65
75
  return ctype;
66
- }).concat(['all', 'custom']));
76
+ })), ['custom']));
67
77
  exports.ALL_TYPES = ALL_TYPES;
68
78
  var ALL_STEPS = (0, _lodash["default"])(_colorRanges.COLOR_RANGES.map(function (d) {
69
79
  return d.colors.length;
@@ -76,10 +86,11 @@ var StyledColorRangeSelector = _styledComponents["default"].div.attrs({
76
86
  className: 'color-range-selector'
77
87
  })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n padding-bottom: 12px;\n"])));
78
88
 
79
- var StyledPaletteConfig = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 8px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n .color-palette__config__label {\n flex-grow: 1;\n }\n .color-palette__config__select {\n flex-grow: 1;\n }\n .item-selector .item-selector__dropdown {\n ", ";\n }\n"])), function (props) {
89
+ var StyledPaletteConfig = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 8px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n .color-palette__config__label {\n flex-grow: 1;\n }\n .color-palette__config__select {\n flex-grow: 1;\n }\n .item-selector .item-selector__dropdown {\n ", ";\n }\n .color-palette__config__button {\n svg {\n margin: 0;\n }\n }\n"])), function (props) {
80
90
  return props.theme.secondaryInput;
81
91
  });
82
92
 
93
+ var CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE = 'custom-reversed-button';
83
94
  var CONFIG_SETTINGS = {
84
95
  type: {
85
96
  type: 'select',
@@ -90,12 +101,7 @@ var CONFIG_SETTINGS = {
90
101
  options: ALL_STEPS
91
102
  },
92
103
  reversed: {
93
- type: 'switch',
94
- options: [true, false]
95
- },
96
- custom: {
97
- label: 'customPalette',
98
- type: 'switch',
104
+ type: CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE,
99
105
  options: [true, false]
100
106
  }
101
107
  };
@@ -135,7 +141,9 @@ var ColorRangeSelect = /*#__PURE__*/function (_Component) {
135
141
  var key = _ref.key,
136
142
  value = _ref.value;
137
143
 
138
- _this._setColorRangeConfig((0, _defineProperty2["default"])({}, key, value));
144
+ _this._setColorRangeConfig(_objectSpread((0, _defineProperty2["default"])({}, key, value), key === 'type' && {
145
+ custom: value === 'custom'
146
+ }));
139
147
  });
140
148
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_onSetCustomPalette", function (config) {
141
149
  _this.props.setColorPaletteUI({
@@ -173,7 +181,11 @@ var ColorRangeSelect = /*#__PURE__*/function (_Component) {
173
181
  showSketcher = _this$props$colorPale.showSketcher,
174
182
  colorRangeConfig = _this$props$colorPale.colorRangeConfig;
175
183
  var filteredColorRanges = this.filteredColorRange(this.props);
176
- return /*#__PURE__*/_react["default"].createElement(StyledColorRangeSelector, null, /*#__PURE__*/_react["default"].createElement(StyledColorConfig, null, (colorRangeConfig.custom ? ['custom'] : Object.keys(colorRangeConfig)).map(function (key) {
184
+ return /*#__PURE__*/_react["default"].createElement(StyledColorRangeSelector, null, /*#__PURE__*/_react["default"].createElement(StyledColorConfig, {
185
+ className: "color-range-selector__config"
186
+ }, Object.keys(colorRangeConfig).filter(function (key) {
187
+ return Boolean(CONFIG_SETTINGS[key]) && (colorRangeConfig.custom ? key === 'type' : true);
188
+ }).map(function (key) {
177
189
  return /*#__PURE__*/_react["default"].createElement(PaletteConfig, {
178
190
  key: key,
179
191
  label: CONFIG_SETTINGS[key].label || key,
@@ -228,13 +240,13 @@ var PaletteConfig = function PaletteConfig(_ref2) {
228
240
  options = _ref2$config.options,
229
241
  _onChange = _ref2.onChange;
230
242
  return /*#__PURE__*/_react["default"].createElement(StyledPaletteConfig, {
231
- className: "color-palette__config",
243
+ className: "color-palette__config color-palette__config--".concat(label),
232
244
  onClick: function onClick(e) {
233
245
  return e.stopPropagation();
234
246
  }
235
247
  }, /*#__PURE__*/_react["default"].createElement("div", {
236
248
  className: "color-palette__config__label"
237
- }, /*#__PURE__*/_react["default"].createElement(_styledComponents2.PanelLabel, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
249
+ }, type !== CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE && /*#__PURE__*/_react["default"].createElement(_styledComponents2.PanelLabel, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
238
250
  id: "color.".concat(label)
239
251
  }))), type === 'select' && /*#__PURE__*/_react["default"].createElement("div", {
240
252
  className: "color-palette__config__select"
@@ -251,7 +263,21 @@ var PaletteConfig = function PaletteConfig(_ref2) {
251
263
  return _onChange(!value);
252
264
  },
253
265
  secondary: true
254
- }));
266
+ }), type === CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE && /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, (0, _extends2["default"])({
267
+ className: "color-palette__config__button ".concat(value ? 'color-palette__config__button--active' : ''),
268
+ "data-tip": true,
269
+ "data-for": "".concat(label, "-tooltip")
270
+ }, !value && {
271
+ link: true
272
+ }, {
273
+ onClick: function onClick() {
274
+ return _onChange(!value);
275
+ }
276
+ }), /*#__PURE__*/_react["default"].createElement(_icons.SwapHorizontal, null), /*#__PURE__*/_react["default"].createElement(_styledComponents2.Tooltip, {
277
+ id: "".concat(label, "-tooltip"),
278
+ effect: "solid",
279
+ place: "top"
280
+ }, label)));
255
281
  };
256
282
 
257
283
  exports.PaletteConfig = PaletteConfig;
@@ -278,10 +304,18 @@ var ColorPaletteGroup = function ColorPaletteGroup(_ref3) {
278
304
  }, /*#__PURE__*/_react["default"].createElement(_colorPalette["default"], {
279
305
  colors: colorRange.colors,
280
306
  isReversed: reversed,
281
- isSelected: colorRange.name === selected.name && reversed === Boolean(selected.reversed)
282
- }));
307
+ isSelected: colorRange.name === selected.name && reversed === Boolean(selected.reversed),
308
+ rootProps: {
309
+ 'data-tip': true,
310
+ 'data-for': "color-range-".concat(i, "-tooltip")
311
+ }
312
+ }, /*#__PURE__*/_react["default"].createElement(_styledComponents2.Tooltip, {
313
+ id: "color-range-".concat(i, "-tooltip"),
314
+ effect: "solid",
315
+ place: "top"
316
+ }, colorRange.name)));
283
317
  }));
284
318
  };
285
319
 
286
320
  exports.ColorPaletteGroup = ColorPaletteGroup;
287
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcmFuZ2Utc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiQUxMX1RZUEVTIiwiQ09MT1JfUkFOR0VTIiwibWFwIiwiYyIsInR5cGUiLCJmaWx0ZXIiLCJjdHlwZSIsImNvbmNhdCIsIkFMTF9TVEVQUyIsImQiLCJjb2xvcnMiLCJsZW5ndGgiLCJzb3J0IiwibnVtYmVyU29ydCIsIlN0eWxlZENvbG9yQ29uZmlnIiwic3R5bGVkIiwiZGl2IiwiU3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJTdHlsZWRQYWxldHRlQ29uZmlnIiwicHJvcHMiLCJ0aGVtZSIsInNlY29uZGFyeUlucHV0IiwiQ09ORklHX1NFVFRJTkdTIiwib3B0aW9ucyIsInN0ZXBzIiwicmV2ZXJzZWQiLCJjdXN0b20iLCJsYWJlbCIsIkNvbG9yUmFuZ2VTZWxlY3QiLCJjb2xvclJhbmdlcyIsImNvbG9yUGFsZXR0ZVVJIiwiY29sb3JSYW5nZUNvbmZpZyIsImNvbG9yUmFuZ2VzU2VsZWN0b3IiLCJjb25maWdUeXBlU2VsZWN0b3IiLCJjb25maWdTdGVwU2VsZWN0b3IiLCJjb2xvclJhbmdlIiwiaXNUeXBlIiwiaXNTdGVwIiwiTnVtYmVyIiwia2V5IiwidmFsdWUiLCJfc2V0Q29sb3JSYW5nZUNvbmZpZyIsImNvbmZpZyIsInNldENvbG9yUGFsZXR0ZVVJIiwiY3VzdG9tUGFsZXR0ZSIsIm5ld0NvbmZpZyIsInNob3dTa2V0Y2hlciIsInZhbCIsImZpbHRlcmVkQ29sb3JSYW5nZXMiLCJmaWx0ZXJlZENvbG9yUmFuZ2UiLCJPYmplY3QiLCJrZXlzIiwiX3VwZGF0ZUNvbmZpZyIsInNlbGVjdGVkQ29sb3JSYW5nZSIsIm9uU2VsZWN0Q29sb3JSYW5nZSIsIl9vblRvZ2dsZVNrZXRjaGVyIiwiX29uU2V0Q3VzdG9tUGFsZXR0ZSIsIl9vbkN1c3RvbVBhbGV0dGVDYW5jZWwiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwiZnVuYyIsImFycmF5T2YiLCJhbnkiLCJQYWxldHRlQ29uZmlnIiwib25DaGFuZ2UiLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiU3R5bGVkQ29sb3JSYW5nZSIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiQ29sb3JQYWxldHRlR3JvdXAiLCJvblNlbGVjdCIsInNlbGVjdGVkIiwiaSIsIm5hbWUiLCJCb29sZWFuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRU8sSUFBTUEsU0FBUyxHQUFHLHdCQUN2QkMsMEJBQWFDLEdBQWIsQ0FBaUIsVUFBQUMsQ0FBQztBQUFBLFNBQUlBLENBQUMsQ0FBQ0MsSUFBTjtBQUFBLENBQWxCLEVBQ0dDLE1BREgsQ0FDVSxVQUFBQyxLQUFLO0FBQUEsU0FBSUEsS0FBSjtBQUFBLENBRGYsRUFFR0MsTUFGSCxDQUVVLENBQUMsS0FBRCxFQUFRLFFBQVIsQ0FGVixDQUR1QixDQUFsQjs7QUFNQSxJQUFNQyxTQUFTLEdBQUcsd0JBQUtQLDBCQUFhQyxHQUFiLENBQWlCLFVBQUFPLENBQUM7QUFBQSxTQUFJQSxDQUFDLENBQUNDLE1BQUYsQ0FBU0MsTUFBYjtBQUFBLENBQWxCLENBQUwsRUFBNkNDLElBQTdDLENBQWtEQyxxQkFBbEQsQ0FBbEI7OztBQUVQLElBQU1DLGlCQUFpQixHQUFHQyw2QkFBT0MsR0FBVixzSEFBdkI7O0FBSUEsSUFBTUMsd0JBQXdCLEdBQUdGLDZCQUFPQyxHQUFQLENBQVdFLEtBQVgsQ0FBaUI7QUFDaERDLEVBQUFBLFNBQVMsRUFBRTtBQURxQyxDQUFqQixDQUFILG1IQUE5Qjs7QUFNQSxJQUFNQyxtQkFBbUIsR0FBR0wsNkJBQU9DLEdBQVYsbVhBWW5CLFVB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QyxRQUFGLFNBQUVBLFFBQUY7QUFBQSxNQUFZK0MsUUFBWixTQUFZQSxRQUFaO0FBQUEsTUFBc0JDLFFBQXRCLFNBQXNCQSxRQUF0QjtBQUFBLE1BQWdDNUMsV0FBaEMsU0FBZ0NBLFdBQWhDO0FBQUEsc0JBQy9CO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUNHQSxXQUFXLENBQUM3QixHQUFaLENBQWdCLFVBQUNtQyxVQUFELEVBQWF1QyxDQUFiO0FBQUEsd0JBQ2YsZ0NBQUMsZ0JBQUQ7QUFDRSxNQUFBLEdBQUcsWUFBS3ZDLFVBQVUsQ0FBQ3dDLElBQWhCLGNBQXdCRCxDQUF4QixDQURMO0FBRUUsTUFBQSxPQUFPLEVBQUUsaUJBQUFQLENBQUM7QUFBQSxlQUFJSyxRQUFRLENBQUMvQyxRQUFRLEdBQUcsbUNBQWtCLElBQWxCLEVBQXdCVSxVQUF4QixDQUFILEdBQXlDQSxVQUFsRCxFQUE4RGdDLENBQTlELENBQVo7QUFBQTtBQUZaLG9CQUlFLGdDQUFDLHdCQUFEO0FBQ0UsTUFBQSxNQUFNLEVBQUVoQyxVQUFVLENBQUMzQixNQURyQjtBQUVFLE1BQUEsVUFBVSxFQUFFaUIsUUFGZDtBQUdFLE1BQUEsVUFBVSxFQUFFVSxVQUFVLENBQUN3QyxJQUFYLEtBQW9CRixRQUFRLENBQUNFLElBQTdCLElBQXFDbEQsUUFBUSxLQUFLbUQsT0FBTyxDQUFDSCxRQUFRLENBQUNoRCxRQUFWO0FBSHZFLE1BSkYsQ0FEZTtBQUFBLEdBQWhCLENBREgsQ0FEK0I7QUFBQSxDQUExQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMSBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB1bmlxIGZyb20gJ2xvZGFzaC51bmlxJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuXG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge1BhbmVsTGFiZWx9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3dpdGNoJztcbmltcG9ydCBDb2xvclBhbGV0dGUgZnJvbSAnLi9jb2xvci1wYWxldHRlJztcbmltcG9ydCBDdXN0b21QYWxldHRlIGZyb20gJy4vY3VzdG9tLXBhbGV0dGUnO1xuaW1wb3J0IHtDT0xPUl9SQU5HRVN9IGZyb20gJ2NvbnN0YW50cy9jb2xvci1yYW5nZXMnO1xuaW1wb3J0IHtudW1iZXJTb3J0fSBmcm9tICd1dGlscy9kYXRhLXV0aWxzJztcbmltcG9ydCB7cmV2ZXJzZUNvbG9yUmFuZ2V9IGZyb20gJ3V0aWxzL2NvbG9yLXV0aWxzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnbG9jYWxpemF0aW9uJztcblxuZXhwb3J0IGNvbnN0IEFMTF9UWVBFUyA9IHVuaXEoXG4gIENPTE9SX1JBTkdFUy5tYXAoYyA9PiBjLnR5cGUpXG4gICAgLmZpbHRlcihjdHlwZSA9PiBjdHlwZSlcbiAgICAuY29uY2F0KFsnYWxsJywgJ2N1c3RvbSddKVxuKTtcblxuZXhwb3J0IGNvbnN0IEFMTF9TVEVQUyA9IHVuaXEoQ09MT1JfUkFOR0VTLm1hcChkID0+IGQuY29sb3JzLmxlbmd0aCkpLnNvcnQobnVtYmVyU29ydCk7XG5cbmNvbnN0IFN0eWxlZENvbG9yQ29uZmlnID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxMnB4IDAgMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZENvbG9yUmFuZ2VTZWxlY3RvciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1yYW5nZS1zZWxlY3Rvcidcbn0pYFxuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFBhbGV0dGVDb25maWcgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLmNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fbGFiZWwge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuY29sb3ItcGFsZXR0ZV9fY29uZmlnX19zZWxlY3Qge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuaXRlbS1zZWxlY3RvciAuaXRlbS1zZWxlY3Rvcl9fZHJvcGRvd24ge1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXR9O1xuICB9XG5gO1xuXG5jb25zdCBDT05GSUdfU0VUVElOR1MgPSB7XG4gIHR5cGU6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBBTExfVFlQRVNcbiAgfSxcbiAgc3RlcHM6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBBTExfU1RFUFNcbiAgfSxcbiAgcmV2ZXJzZWQ6IHtcbiAgICB0eXBlOiAnc3dpdGNoJyxcbiAgICBvcHRpb25zOiBbdHJ1ZSwgZmFsc2VdXG4gIH0sXG4gIGN1c3RvbToge1xuICAgIGxhYmVsOiAnY3VzdG9tUGFsZXR0ZScsXG4gICAgdHlwZTogJ3N3aXRjaCcsXG4gICAgb3B0aW9uczogW3RydWUsIGZhbHNlXVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xvclJhbmdlU2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xvclBhbGV0dGVVSTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIHNlbGVjdGVkQ29sb3JSYW5nZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uU2VsZWN0Q29sb3JSYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBzZXRDb2xvclBhbGV0dGVVSTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAvLyBvcHRpb25hbFxuICAgIGNvbG9yUmFuZ2VzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KVxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY29sb3JSYW5nZXM6IENPTE9SX1JBTkdFUyxcbiAgICBvblNlbGVjdENvbG9yUmFuZ2U6ICgpID0+IHt9LFxuICAgIHNldENvbG9yUGFsZXR0ZVVJOiAoKSA9PiB7fVxuICB9O1xuXG4gIGNvbG9yUmFuZ2VzU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5jb2xvclJhbmdlcztcbiAgY29uZmlnVHlwZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuY29sb3JQYWxldHRlVUkuY29sb3JSYW5nZUNvbmZpZy50eXBlO1xuICBjb25maWdTdGVwU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5jb2xvclBhbGV0dGVVSS5jb2xvclJhbmdlQ29uZmlnLnN0ZXBzO1xuICBmaWx0ZXJlZENvbG9yUmFuZ2UgPSBjcmVhdGVTZWxlY3RvcihcbiAgICB0aGlzLmNvbG9yUmFuZ2VzU2VsZWN0b3IsXG4gICAgdGhpcy5jb25maWdUeXBlU2VsZWN0b3IsXG4gICAgdGhpcy5jb25maWdTdGVwU2VsZWN0b3IsXG4gICAgKGNvbG9yUmFuZ2VzLCB0eXBlLCBzdGVwcykgPT4ge1xuICAgICAgcmV0dXJuIGNvbG9yUmFuZ2VzLmZpbHRlcihjb2xvclJhbmdlID0+IHtcbiAgICAgICAgY29uc3QgaXNUeXBlID0gdHlwZSA9PT0gJ2FsbCcgfHwgdHlwZSA9PT0gY29sb3JSYW5nZS50eXBlO1xuICAgICAgICBjb25zdCBpc1N0ZXAgPSBOdW1iZXIoc3RlcHMpID09PSBjb2xvclJhbmdlLmNvbG9ycy5sZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIGlzVHlwZSAmJiBpc1N0ZXA7XG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgX3VwZGF0ZUNvbmZpZyA9ICh7a2V5LCB2YWx1ZX0pID0+IHtcbiAgICB0aGlzLl9zZXRDb2xvclJhbmdlQ29uZmlnKHtba2V5XTogdmFsdWV9KTtcbiAgfTtcblxuICBfb25TZXRDdXN0b21QYWxldHRlID0gY29uZmlnID0+IHtcbiAgICB0aGlzLnByb3BzLnNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgIGN1c3RvbVBhbGV0dGU6IGNvbmZpZ1xuICAgIH0pO1xuICB9O1xuXG4gIF9zZXRDb2xvclJhbmdlQ29uZmlnID0gbmV3Q29uZmlnID0+IHtcbiAgICB0aGlzLnByb3BzLnNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgIGNvbG9yUmFuZ2VDb25maWc6IG5ld0NvbmZpZ1xuICAgIH0pO1xuICB9O1xuXG4gIF9vbkN1c3RvbVBhbGV0dGVDYW5jZWwgPSBuZXdDb25maWcgPT4ge1xuICAgIHRoaXMucHJvcHMuc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgc2hvd1NrZXRjaGVyOiBmYWxzZSxcbiAgICAgIGNvbG9yUmFuZ2VDb25maWc6IHtjdXN0b206IGZhbHNlfVxuICAgIH0pO1xuICB9O1xuXG4gIF9vblRvZ2dsZVNrZXRjaGVyID0gdmFsID0+IHtcbiAgICB0aGlzLnByb3BzLnNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgIHNob3dTa2V0Y2hlcjogdmFsXG4gICAgfSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjdXN0b21QYWxldHRlLCBzaG93U2tldGNoZXIsIGNvbG9yUmFuZ2VDb25maWd9ID0gdGhpcy5wcm9wcy5jb2xvclBhbGV0dGVVSTtcblxuICAgIGNvbnN0IGZpbHRlcmVkQ29sb3JSYW5nZXMgPSB0aGlzLmZpbHRlcmVkQ29sb3JSYW5nZSh0aGlzLnByb3BzKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yPlxuICAgICAgICA8U3R5bGVkQ29sb3JDb25maWc+XG4gICAgICAgICAgeyhjb2xvclJhbmdlQ29uZmlnLmN1c3RvbSA/IFsnY3VzdG9tJ10gOiBPYmplY3Qua2V5cyhjb2xvclJhbmdlQ29uZmlnKSkubWFwKGtleSA9PiAoXG4gICAgICAgICAgICA8UGFsZXR0ZUNvbmZpZ1xuICAgICAgICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgICAgICAgbGFiZWw9e0NPTkZJR19TRVRUSU5HU1trZXldLmxhYmVsIHx8IGtleX1cbiAgICAgICAgICAgICAgY29uZmlnPXtDT05GSUdfU0VUVElOR1Nba2V5XX1cbiAgICAgICAgICAgICAgdmFsdWU9e2NvbG9yUmFuZ2VDb25maWdba2V5XX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3ZhbHVlID0+IHRoaXMuX3VwZGF0ZUNvbmZpZyh7a2V5LCB2YWx1ZX0pfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9TdHlsZWRDb2xvckNvbmZpZz5cblxuICAgICAgICB7Y29sb3JSYW5nZUNvbmZpZy5jdXN0b20gPyAoXG4gICAgICAgICAgPEN1c3RvbVBhbGV0dGVcbiAgICAgICAgICAgIGN1c3RvbVBhbGV0dGU9e2N1c3RvbVBhbGV0dGV9XG4gICAgICAgICAgICBzaG93U2tldGNoZXI9e3Nob3dTa2V0Y2hlcn1cbiAgICAgICAgICAgIHNlbGVjdGVkPXt0aGlzLnByb3BzLnNlbGVjdGVkQ29sb3JSYW5nZX1cbiAgICAgICAgICAgIG9uQXBwbHk9e3RoaXMucHJvcHMub25TZWxlY3RDb2xvclJhbmdlfVxuICAgICAgICAgICAgb25Ub2dnbGVTa2V0Y2hlcj17dGhpcy5fb25Ub2dnbGVTa2V0Y2hlcn1cbiAgICAgICAgICAgIHNldEN1c3RvbVBhbGV0dGU9e3RoaXMuX29uU2V0Q3VzdG9tUGFsZXR0ZX1cbiAgICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLl9vbkN1c3RvbVBhbGV0dGVDYW5jZWx9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8Q29sb3JQYWxldHRlR3JvdXBcbiAgICAgICAgICAgIGNvbG9yUmFuZ2VzPXtmaWx0ZXJlZENvbG9yUmFuZ2VzfVxuICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMucHJvcHMub25TZWxlY3RDb2xvclJhbmdlfVxuICAgICAgICAgICAgc2VsZWN0ZWQ9e3RoaXMucHJvcHMuc2VsZWN0ZWRDb2xvclJhbmdlfVxuICAgICAgICAgICAgcmV2ZXJzZWQ9e2NvbG9yUmFuZ2VDb25maWcucmV2ZXJzZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvU3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFBhbGV0dGVDb25maWcgPSAoe2xhYmVsLCB2YWx1ZSwgY29uZmlnOiB7dHlwZSwgb3B0aW9uc30sIG9uQ2hhbmdlfSkgPT4gKFxuICA8U3R5bGVkUGFsZXR0ZUNvbmZpZyBjbGFzc05hbWU9XCJjb2xvci1wYWxldHRlX19jb25maWdcIiBvbkNsaWNrPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3ItcGFsZXR0ZV9fY29uZmlnX19sYWJlbFwiPlxuICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtgY29sb3IuJHtsYWJlbH1gfSAvPlxuICAgICAgPC9QYW5lbExhYmVsPlxuICAgIDwvZGl2PlxuICAgIHt0eXBlID09PSAnc2VsZWN0JyAmJiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fc2VsZWN0XCI+XG4gICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXt2YWx1ZX1cbiAgICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICApfVxuICAgIHt0eXBlID09PSAnc3dpdGNoJyAmJiAoXG4gICAgICA8U3dpdGNoIGNoZWNrZWQ9e3ZhbHVlfSBpZD17YCR7bGFiZWx9LXRvZ2dsZWB9IG9uQ2hhbmdlPXsoKSA9PiBvbkNoYW5nZSghdmFsdWUpfSBzZWNvbmRhcnkgLz5cbiAgICApfVxuICA8L1N0eWxlZFBhbGV0dGVDb25maWc+XG4pO1xuXG5jb25zdCBTdHlsZWRDb2xvclJhbmdlID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2NvbG9yLXBhbGV0dGUtb3V0ZXInXG59KWBcbiAgcGFkZGluZzogMCA4cHg7XG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ29sb3JQYWxldHRlR3JvdXAgPSAoe3JldmVyc2VkLCBvblNlbGVjdCwgc2VsZWN0ZWQsIGNvbG9yUmFuZ2VzfSkgPT4gKFxuICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXBhbGV0dGVfX2dyb3VwXCI+XG4gICAge2NvbG9yUmFuZ2VzLm1hcCgoY29sb3JSYW5nZSwgaSkgPT4gKFxuICAgICAgPFN0eWxlZENvbG9yUmFuZ2VcbiAgICAgICAga2V5PXtgJHtjb2xvclJhbmdlLm5hbWV9LSR7aX1gfVxuICAgICAgICBvbkNsaWNrPXtlID0+IG9uU2VsZWN0KHJldmVyc2VkID8gcmV2ZXJzZUNvbG9yUmFuZ2UodHJ1ZSwgY29sb3JSYW5nZSkgOiBjb2xvclJhbmdlLCBlKX1cbiAgICAgID5cbiAgICAgICAgPENvbG9yUGFsZXR0ZVxuICAgICAgICAgIGNvbG9ycz17Y29sb3JSYW5nZS5jb2xvcnN9XG4gICAgICAgICAgaXNSZXZlcnNlZD17cmV2ZXJzZWR9XG4gICAgICAgICAgaXNTZWxlY3RlZD17Y29sb3JSYW5nZS5uYW1lID09PSBzZWxlY3RlZC5uYW1lICYmIHJldmVyc2VkID09PSBCb29sZWFuKHNlbGVjdGVkLnJldmVyc2VkKX1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkQ29sb3JSYW5nZT5cbiAgICApKX1cbiAgPC9kaXY+XG4pO1xuIl19
321
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcmFuZ2Utc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiQUxMX1RZUEVTIiwiQ09MT1JfUkFOR0VTIiwibWFwIiwiYyIsInR5cGUiLCJmaWx0ZXIiLCJjdHlwZSIsIkFMTF9TVEVQUyIsImQiLCJjb2xvcnMiLCJsZW5ndGgiLCJzb3J0IiwibnVtYmVyU29ydCIsIlN0eWxlZENvbG9yQ29uZmlnIiwic3R5bGVkIiwiZGl2IiwiU3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJTdHlsZWRQYWxldHRlQ29uZmlnIiwicHJvcHMiLCJ0aGVtZSIsInNlY29uZGFyeUlucHV0IiwiQ09ORklHX1NFVFRJTkdTX0NVU1RPTV9SRVZFUlNFRF9CVVRUT05fVFlQRSIsIkNPTkZJR19TRVRUSU5HUyIsIm9wdGlvbnMiLCJzdGVwcyIsInJldmVyc2VkIiwiQ29sb3JSYW5nZVNlbGVjdCIsImNvbG9yUmFuZ2VzIiwiY29sb3JQYWxldHRlVUkiLCJjb2xvclJhbmdlQ29uZmlnIiwiY29sb3JSYW5nZXNTZWxlY3RvciIsImNvbmZpZ1R5cGVTZWxlY3RvciIsImNvbmZpZ1N0ZXBTZWxlY3RvciIsImNvbG9yUmFuZ2UiLCJpc1R5cGUiLCJpc1N0ZXAiLCJOdW1iZXIiLCJrZXkiLCJ2YWx1ZSIsIl9zZXRDb2xvclJhbmdlQ29uZmlnIiwiY3VzdG9tIiwiY29uZmlnIiwic2V0Q29sb3JQYWxldHRlVUkiLCJjdXN0b21QYWxldHRlIiwibmV3Q29uZmlnIiwic2hvd1NrZXRjaGVyIiwidmFsIiwiZmlsdGVyZWRDb2xvclJhbmdlcyIsImZpbHRlcmVkQ29sb3JSYW5nZSIsIk9iamVjdCIsImtleXMiLCJCb29sZWFuIiwibGFiZWwiLCJfdXBkYXRlQ29uZmlnIiwic2VsZWN0ZWRDb2xvclJhbmdlIiwib25TZWxlY3RDb2xvclJhbmdlIiwiX29uVG9nZ2xlU2tldGNoZXIiLCJfb25TZXRDdXN0b21QYWxldHRlIiwiX29uQ3VzdG9tUGFsZXR0ZUNhbmNlbCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwiYXJyYXlPZiIsImFueSIsIlBhbGV0dGVDb25maWciLCJvbkNoYW5nZSIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJsaW5rIiwiU3R5bGVkQ29sb3JSYW5nZSIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiQ29sb3JQYWxldHRlR3JvdXAiLCJvblNlbGVjdCIsInNlbGVjdGVkIiwiaSIsIm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7OztBQUVPLElBQU1BLFNBQVMsR0FBRyx5QkFDdkIsS0FEdUIsNkNBRXBCQywwQkFBYUMsR0FBYixDQUFpQixVQUFBQyxDQUFDO0FBQUEsU0FBSUEsQ0FBQyxDQUFDQyxJQUFOO0FBQUEsQ0FBbEIsRUFBOEJDLE1BQTlCLENBQXFDLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFKO0FBQUEsQ0FBMUMsQ0FGb0IsSUFHdkIsUUFIdUIsR0FBbEI7O0FBTUEsSUFBTUMsU0FBUyxHQUFHLHdCQUFLTiwwQkFBYUMsR0FBYixDQUFpQixVQUFBTSxDQUFDO0FBQUEsU0FBSUEsQ0FBQyxDQUFDQyxNQUFGLENBQVNDLE1BQWI7QUFBQSxDQUFsQixDQUFMLEVBQTZDQyxJQUE3QyxDQUFrREMscUJBQWxELENBQWxCOzs7QUFFUCxJQUFNQyxpQkFBaUIsR0FBR0MsNkJBQU9DLEdBQVYsc0hBQXZCOztBQUlBLElBQU1DLHdCQUF3QixHQUFHRiw2QkFBT0MsR0FBUCxDQUFXRSxLQUFYLENBQWlCO0FBQ2hEQyxFQUFBQSxTQUFTLEVBQUU7QUFEcUMsQ0FBakIsQ0FBSCxtSEFBOUI7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QUFHLG1DQUFrQixJQUFsQixFQUF3QlEsVUFBeEIsQ0FBSCxHQUF5Q0EsVUFBbEQsRUFBOERtQyxDQUE5RCxDQUFaO0FBQUE7QUFGWixvQkFJRSxnQ0FBQyx3QkFBRDtBQUNFLE1BQUEsTUFBTSxFQUFFbkMsVUFBVSxDQUFDMUIsTUFEckI7QUFFRSxNQUFBLFVBQVUsRUFBRWtCLFFBRmQ7QUFHRSxNQUFBLFVBQVUsRUFBRVEsVUFBVSxDQUFDNEMsSUFBWCxLQUFvQkYsUUFBUSxDQUFDRSxJQUE3QixJQUFxQ3BELFFBQVEsS0FBSzBCLE9BQU8sQ0FBQ3dCLFFBQVEsQ0FBQ2xELFFBQVYsQ0FIdkU7QUFJRSxNQUFBLFNBQVMsRUFBRTtBQUNULG9CQUFZLElBREg7QUFFVCwwQ0FBMkJtRCxDQUEzQjtBQUZTO0FBSmIsb0JBU0UsZ0NBQUMsMEJBQUQ7QUFBUyxNQUFBLEVBQUUsd0JBQWlCQSxDQUFqQixhQUFYO0FBQXlDLE1BQUEsTUFBTSxFQUFDLE9BQWhEO0FBQXdELE1BQUEsS0FBSyxFQUFDO0FBQTlELE9BQ0czQyxVQUFVLENBQUM0QyxJQURkLENBVEYsQ0FKRixDQURlO0FBQUEsR0FBaEIsQ0FESCxDQUQrQjtBQUFBLENBQTFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHVuaXEgZnJvbSAnbG9kYXNoLnVuaXEnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5cbmltcG9ydCBJdGVtU2VsZWN0b3IgZnJvbSAnY29tcG9uZW50cy9jb21tb24vaXRlbS1zZWxlY3Rvci9pdGVtLXNlbGVjdG9yJztcbmltcG9ydCB7UGFuZWxMYWJlbCwgQnV0dG9uLCBUb29sdGlwfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgU3dpdGNoIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N3aXRjaCc7XG5pbXBvcnQgQ29sb3JQYWxldHRlIGZyb20gJy4vY29sb3ItcGFsZXR0ZSc7XG5pbXBvcnQgQ3VzdG9tUGFsZXR0ZSBmcm9tICcuL2N1c3RvbS1wYWxldHRlJztcbmltcG9ydCB7Q09MT1JfUkFOR0VTfSBmcm9tICdjb25zdGFudHMvY29sb3ItcmFuZ2VzJztcbmltcG9ydCB7bnVtYmVyU29ydH0gZnJvbSAndXRpbHMvZGF0YS11dGlscyc7XG5pbXBvcnQge3JldmVyc2VDb2xvclJhbmdlfSBmcm9tICd1dGlscy9jb2xvci11dGlscyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ2xvY2FsaXphdGlvbic7XG5pbXBvcnQge1N3YXBIb3Jpem9udGFsfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5cbmV4cG9ydCBjb25zdCBBTExfVFlQRVMgPSB1bmlxKFtcbiAgJ2FsbCcsXG4gIC4uLkNPTE9SX1JBTkdFUy5tYXAoYyA9PiBjLnR5cGUpLmZpbHRlcihjdHlwZSA9PiBjdHlwZSksXG4gICdjdXN0b20nXG5dKTtcblxuZXhwb3J0IGNvbnN0IEFMTF9TVEVQUyA9IHVuaXEoQ09MT1JfUkFOR0VTLm1hcChkID0+IGQuY29sb3JzLmxlbmd0aCkpLnNvcnQobnVtYmVyU29ydCk7XG5cbmNvbnN0IFN0eWxlZENvbG9yQ29uZmlnID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxMnB4IDAgMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZENvbG9yUmFuZ2VTZWxlY3RvciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1yYW5nZS1zZWxlY3Rvcidcbn0pYFxuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFBhbGV0dGVDb25maWcgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLmNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fbGFiZWwge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuY29sb3ItcGFsZXR0ZV9fY29uZmlnX19zZWxlY3Qge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuaXRlbS1zZWxlY3RvciAuaXRlbS1zZWxlY3Rvcl9fZHJvcGRvd24ge1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXR9O1xuICB9XG4gIC5jb2xvci1wYWxldHRlX19jb25maWdfX2J1dHRvbiB7XG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IENPTkZJR19TRVRUSU5HU19DVVNUT01fUkVWRVJTRURfQlVUVE9OX1RZUEUgPSAnY3VzdG9tLXJldmVyc2VkLWJ1dHRvbic7XG5cbmNvbnN0IENPTkZJR19TRVRUSU5HUyA9IHtcbiAgdHlwZToge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IEFMTF9UWVBFU1xuICB9LFxuICBzdGVwczoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IEFMTF9TVEVQU1xuICB9LFxuICByZXZlcnNlZDoge1xuICAgIHR5cGU6IENPTkZJR19TRVRUSU5HU19DVVNUT01fUkVWRVJTRURfQlVUVE9OX1RZUEUsXG4gICAgb3B0aW9uczogW3RydWUsIGZhbHNlXVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xvclJhbmdlU2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xvclBhbGV0dGVVSTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIHNlbGVjdGVkQ29sb3JSYW5nZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uU2VsZWN0Q29sb3JSYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBzZXRDb2xvclBhbGV0dGVVSTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAvLyBvcHRpb25hbFxuICAgIGNvbG9yUmFuZ2VzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KVxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY29sb3JSYW5nZXM6IENPTE9SX1JBTkdFUyxcbiAgICBvblNlbGVjdENvbG9yUmFuZ2U6ICgpID0+IHt9LFxuICAgIHNldENvbG9yUGFsZXR0ZVVJOiAoKSA9PiB7fVxuICB9O1xuXG4gIGNvbG9yUmFuZ2VzU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5jb2xvclJhbmdlcztcbiAgY29uZmlnVHlwZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuY29sb3JQYWxldHRlVUkuY29sb3JSYW5nZUNvbmZpZy50eXBlO1xuICBjb25maWdTdGVwU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5jb2xvclBhbGV0dGVVSS5jb2xvclJhbmdlQ29uZmlnLnN0ZXBzO1xuICBmaWx0ZXJlZENvbG9yUmFuZ2UgPSBjcmVhdGVTZWxlY3RvcihcbiAgICB0aGlzLmNvbG9yUmFuZ2VzU2VsZWN0b3IsXG4gICAgdGhpcy5jb25maWdUeXBlU2VsZWN0b3IsXG4gICAgdGhpcy5jb25maWdTdGVwU2VsZWN0b3IsXG4gICAgKGNvbG9yUmFuZ2VzLCB0eXBlLCBzdGVwcykgPT4ge1xuICAgICAgcmV0dXJuIGNvbG9yUmFuZ2VzLmZpbHRlcihjb2xvclJhbmdlID0+IHtcbiAgICAgICAgY29uc3QgaXNUeXBlID0gdHlwZSA9PT0gJ2FsbCcgfHwgdHlwZSA9PT0gY29sb3JSYW5nZS50eXBlO1xuICAgICAgICBjb25zdCBpc1N0ZXAgPSBOdW1iZXIoc3RlcHMpID09PSBjb2xvclJhbmdlLmNvbG9ycy5sZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIGlzVHlwZSAmJiBpc1N0ZXA7XG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgX3VwZGF0ZUNvbmZpZyA9ICh7a2V5LCB2YWx1ZX0pID0+IHtcbiAgICB0aGlzLl9zZXRDb2xvclJhbmdlQ29uZmlnKHtcbiAgICAgIFtrZXldOiB2YWx1ZSxcbiAgICAgIC4uLihrZXkgPT09ICd0eXBlJyAmJiB7Y3VzdG9tOiB2YWx1ZSA9PT0gJ2N1c3RvbSd9KVxuICAgIH0pO1xuICB9O1xuXG4gIF9vblNldEN1c3RvbVBhbGV0dGUgPSBjb25maWcgPT4ge1xuICAgIHRoaXMucHJvcHMuc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgY3VzdG9tUGFsZXR0ZTogY29uZmlnXG4gICAgfSk7XG4gIH07XG5cbiAgX3NldENvbG9yUmFuZ2VDb25maWcgPSBuZXdDb25maWcgPT4ge1xuICAgIHRoaXMucHJvcHMuc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgY29sb3JSYW5nZUNvbmZpZzogbmV3Q29uZmlnXG4gICAgfSk7XG4gIH07XG5cbiAgX29uQ3VzdG9tUGFsZXR0ZUNhbmNlbCA9IG5ld0NvbmZpZyA9PiB7XG4gICAgdGhpcy5wcm9wcy5zZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICBzaG93U2tldGNoZXI6IGZhbHNlLFxuICAgICAgY29sb3JSYW5nZUNvbmZpZzoge2N1c3RvbTogZmFsc2V9XG4gICAgfSk7XG4gIH07XG5cbiAgX29uVG9nZ2xlU2tldGNoZXIgPSB2YWwgPT4ge1xuICAgIHRoaXMucHJvcHMuc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgc2hvd1NrZXRjaGVyOiB2YWxcbiAgICB9KTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2N1c3RvbVBhbGV0dGUsIHNob3dTa2V0Y2hlciwgY29sb3JSYW5nZUNvbmZpZ30gPSB0aGlzLnByb3BzLmNvbG9yUGFsZXR0ZVVJO1xuXG4gICAgY29uc3QgZmlsdGVyZWRDb2xvclJhbmdlcyA9IHRoaXMuZmlsdGVyZWRDb2xvclJhbmdlKHRoaXMucHJvcHMpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRDb2xvclJhbmdlU2VsZWN0b3I+XG4gICAgICAgIDxTdHlsZWRDb2xvckNvbmZpZyBjbGFzc05hbWU9XCJjb2xvci1yYW5nZS1zZWxlY3Rvcl9fY29uZmlnXCI+XG4gICAgICAgICAge09iamVjdC5rZXlzKGNvbG9yUmFuZ2VDb25maWcpXG4gICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICBrZXkgPT5cbiAgICAgICAgICAgICAgICBCb29sZWFuKENPTkZJR19TRVRUSU5HU1trZXldKSAmJiAoY29sb3JSYW5nZUNvbmZpZy5jdXN0b20gPyBrZXkgPT09ICd0eXBlJyA6IHRydWUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAubWFwKGtleSA9PiAoXG4gICAgICAgICAgICAgIDxQYWxldHRlQ29uZmlnXG4gICAgICAgICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgICAgICAgbGFiZWw9e0NPTkZJR19TRVRUSU5HU1trZXldLmxhYmVsIHx8IGtleX1cbiAgICAgICAgICAgICAgICBjb25maWc9e0NPTkZJR19TRVRUSU5HU1trZXldfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtjb2xvclJhbmdlQ29uZmlnW2tleV19XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3ZhbHVlID0+IHRoaXMuX3VwZGF0ZUNvbmZpZyh7a2V5LCB2YWx1ZX0pfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvU3R5bGVkQ29sb3JDb25maWc+XG5cbiAgICAgICAge2NvbG9yUmFuZ2VDb25maWcuY3VzdG9tID8gKFxuICAgICAgICAgIDxDdXN0b21QYWxldHRlXG4gICAgICAgICAgICBjdXN0b21QYWxldHRlPXtjdXN0b21QYWxldHRlfVxuICAgICAgICAgICAgc2hvd1NrZXRjaGVyPXtzaG93U2tldGNoZXJ9XG4gICAgICAgICAgICBzZWxlY3RlZD17dGhpcy5wcm9wcy5zZWxlY3RlZENvbG9yUmFuZ2V9XG4gICAgICAgICAgICBvbkFwcGx5PXt0aGlzLnByb3BzLm9uU2VsZWN0Q29sb3JSYW5nZX1cbiAgICAgICAgICAgIG9uVG9nZ2xlU2tldGNoZXI9e3RoaXMuX29uVG9nZ2xlU2tldGNoZXJ9XG4gICAgICAgICAgICBzZXRDdXN0b21QYWxldHRlPXt0aGlzLl9vblNldEN1c3RvbVBhbGV0dGV9XG4gICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5fb25DdXN0b21QYWxldHRlQ2FuY2VsfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPENvbG9yUGFsZXR0ZUdyb3VwXG4gICAgICAgICAgICBjb2xvclJhbmdlcz17ZmlsdGVyZWRDb2xvclJhbmdlc31cbiAgICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLnByb3BzLm9uU2VsZWN0Q29sb3JSYW5nZX1cbiAgICAgICAgICAgIHNlbGVjdGVkPXt0aGlzLnByb3BzLnNlbGVjdGVkQ29sb3JSYW5nZX1cbiAgICAgICAgICAgIHJldmVyc2VkPXtjb2xvclJhbmdlQ29uZmlnLnJldmVyc2VkfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZENvbG9yUmFuZ2VTZWxlY3Rvcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBQYWxldHRlQ29uZmlnID0gKHtsYWJlbCwgdmFsdWUsIGNvbmZpZzoge3R5cGUsIG9wdGlvbnN9LCBvbkNoYW5nZX0pID0+IChcbiAgPFN0eWxlZFBhbGV0dGVDb25maWdcbiAgICBjbGFzc05hbWU9e2Bjb2xvci1wYWxldHRlX19jb25maWcgY29sb3ItcGFsZXR0ZV9fY29uZmlnLS0ke2xhYmVsfWB9XG4gICAgb25DbGljaz17ZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpfVxuICA+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1wYWxldHRlX19jb25maWdfX2xhYmVsXCI+XG4gICAgICB7dHlwZSAhPT0gQ09ORklHX1NFVFRJTkdTX0NVU1RPTV9SRVZFUlNFRF9CVVRUT05fVFlQRSAmJiAoXG4gICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtgY29sb3IuJHtsYWJlbH1gfSAvPlxuICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICAgIHt0eXBlID09PSAnc2VsZWN0JyAmJiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fc2VsZWN0XCI+XG4gICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXt2YWx1ZX1cbiAgICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICApfVxuICAgIHt0eXBlID09PSAnc3dpdGNoJyAmJiAoXG4gICAgICA8U3dpdGNoIGNoZWNrZWQ9e3ZhbHVlfSBpZD17YCR7bGFiZWx9LXRvZ2dsZWB9IG9uQ2hhbmdlPXsoKSA9PiBvbkNoYW5nZSghdmFsdWUpfSBzZWNvbmRhcnkgLz5cbiAgICApfVxuICAgIHt0eXBlID09PSBDT05GSUdfU0VUVElOR1NfQ1VTVE9NX1JFVkVSU0VEX0JVVFRPTl9UWVBFICYmIChcbiAgICAgIDxCdXR0b25cbiAgICAgICAgY2xhc3NOYW1lPXtgY29sb3ItcGFsZXR0ZV9fY29uZmlnX19idXR0b24gJHtcbiAgICAgICAgICB2YWx1ZSA/ICdjb2xvci1wYWxldHRlX19jb25maWdfX2J1dHRvbi0tYWN0aXZlJyA6ICcnXG4gICAgICAgIH1gfVxuICAgICAgICBkYXRhLXRpcFxuICAgICAgICBkYXRhLWZvcj17YCR7bGFiZWx9LXRvb2x0aXBgfVxuICAgICAgICB7Li4uKCF2YWx1ZSAmJiB7bGluazogdHJ1ZX0pfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZSghdmFsdWUpfVxuICAgICAgPlxuICAgICAgICA8U3dhcEhvcml6b250YWwgLz5cbiAgICAgICAgPFRvb2x0aXAgaWQ9e2Ake2xhYmVsfS10b29sdGlwYH0gZWZmZWN0PVwic29saWRcIiBwbGFjZT1cInRvcFwiPlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgPC9CdXR0b24+XG4gICAgKX1cbiAgPC9TdHlsZWRQYWxldHRlQ29uZmlnPlxuKTtcblxuY29uc3QgU3R5bGVkQ29sb3JSYW5nZSA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1wYWxldHRlLW91dGVyJ1xufSlgXG4gIHBhZGRpbmc6IDAgOHB4O1xuICA6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IENvbG9yUGFsZXR0ZUdyb3VwID0gKHtyZXZlcnNlZCwgb25TZWxlY3QsIHNlbGVjdGVkLCBjb2xvclJhbmdlc30pID0+IChcbiAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1wYWxldHRlX19ncm91cFwiPlxuICAgIHtjb2xvclJhbmdlcy5tYXAoKGNvbG9yUmFuZ2UsIGkpID0+IChcbiAgICAgIDxTdHlsZWRDb2xvclJhbmdlXG4gICAgICAgIGtleT17YCR7Y29sb3JSYW5nZS5uYW1lfS0ke2l9YH1cbiAgICAgICAgb25DbGljaz17ZSA9PiBvblNlbGVjdChyZXZlcnNlZCA/IHJldmVyc2VDb2xvclJhbmdlKHRydWUsIGNvbG9yUmFuZ2UpIDogY29sb3JSYW5nZSwgZSl9XG4gICAgICA+XG4gICAgICAgIDxDb2xvclBhbGV0dGVcbiAgICAgICAgICBjb2xvcnM9e2NvbG9yUmFuZ2UuY29sb3JzfVxuICAgICAgICAgIGlzUmV2ZXJzZWQ9e3JldmVyc2VkfVxuICAgICAgICAgIGlzU2VsZWN0ZWQ9e2NvbG9yUmFuZ2UubmFtZSA9PT0gc2VsZWN0ZWQubmFtZSAmJiByZXZlcnNlZCA9PT0gQm9vbGVhbihzZWxlY3RlZC5yZXZlcnNlZCl9XG4gICAgICAgICAgcm9vdFByb3BzPXt7XG4gICAgICAgICAgICAnZGF0YS10aXAnOiB0cnVlLFxuICAgICAgICAgICAgJ2RhdGEtZm9yJzogYGNvbG9yLXJhbmdlLSR7aX0tdG9vbHRpcGBcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPFRvb2x0aXAgaWQ9e2Bjb2xvci1yYW5nZS0ke2l9LXRvb2x0aXBgfSBlZmZlY3Q9XCJzb2xpZFwiIHBsYWNlPVwidG9wXCI+XG4gICAgICAgICAgICB7Y29sb3JSYW5nZS5uYW1lfVxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9Db2xvclBhbGV0dGU+XG4gICAgICA8L1N0eWxlZENvbG9yUmFuZ2U+XG4gICAgKSl9XG4gIDwvZGl2PlxuKTtcbiJdfQ==
@@ -220,4 +220,4 @@ var ColorSelector = /*#__PURE__*/function (_Component) {
220
220
  var _default = (0, _reactOnclickoutside["default"])(ColorSelector);
221
221
 
222
222
  exports["default"] = _default;
223
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3Itc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiQ29sb3JCbG9jayIsInN0eWxlZCIsImRpdiIsInByb3BzIiwiY29sb3IiLCJzbGljZSIsImpvaW4iLCJDb2xvclNlbGVjdG9ySW5wdXQiLCJpbnB1dFRoZW1lIiwidGhlbWUiLCJzZWNvbmRhcnlJbnB1dCIsImlucHV0IiwiaW5wdXRCb3hIZWlnaHQiLCJpbnB1dFBsYWNlaG9sZGVyQ29sb3IiLCJJbnB1dEJveENvbnRhaW5lciIsIkNvbG9yU2VsZWN0b3IiLCJzaG93RHJvcGRvd24iLCJlIiwiY29sb3JVSSIsIk51bWJlciIsImlzSW50ZWdlciIsInNob3dTa2V0Y2hlciIsIl9jbG9zZVBhbmVsRHJvcGRvd24iLCJzdGF0ZSIsIl9nZXRFZGl0aW5nIiwic2V0Q29sb3JVSSIsInNldFN0YXRlIiwic3RvcFByb3BhZ2F0aW9uIiwiZWRpdGluZyIsImNvbG9yU2V0cyIsInNldENvbG9yIiwiaSIsInByZXZlbnREZWZhdWx0IiwiZGlzYWJsZWQiLCJjdXJyZW50RWRpdGluZyIsIm5vZGUiLCJtYXAiLCJjU2V0IiwiX3Nob3dEcm9wZG93biIsImlzUmFuZ2UiLCJzZWxlY3RlZENvbG9yIiwiY29sb3JzIiwibGFiZWwiLCJfb25TZWxlY3RDb2xvciIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImFycmF5T2YiLCJzaGFwZSIsIm9uZU9mVHlwZSIsImFueSIsIm9iamVjdCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiYm9vbCIsInN0cmluZyIsImN1c3RvbVBhbGV0dGUiLCJudW1iZXIiLCJjb2xvclJhbmdlQ29uZmlnIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFTyxJQUFNQSxV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c0JBQVVHLFNBQVYsQ0FBb0IsQ0FBQ0gsc0JBQVVRLElBQVgsRUFBaUJSLHNCQUFVVyxNQUEzQixDQUFwQixDQUZTO0FBR3ZCeEMsSUFBQUEsWUFBWSxFQUFFNkIsc0JBQVVHLFNBQVYsQ0FBb0IsQ0FBQ0gsc0JBQVVRLElBQVgsRUFBaUJSLHNCQUFVVyxNQUEzQixDQUFwQixDQUhTO0FBSXZCQyxJQUFBQSxnQkFBZ0IsRUFBRVosc0JBQVVLO0FBSkwsR0FBaEIsQ0FUUTtBQWVqQjFDLEVBQUFBLFVBQVUsRUFBRXFDLHNCQUFVUyxNQWZMO0FBZ0JqQnJCLEVBQUFBLFFBQVEsRUFBRVksc0JBQVVRLElBaEJIO0FBaUJqQjVCLEVBQUFBLFVBQVUsRUFBRW9CLHNCQUFVTTtBQWpCTCxDO2lDQURmcEMsYSxrQkFxQmtCO0FBQ3BCYyxFQUFBQSxTQUFTLEVBQUU7QUFEUyxDOztlQTBHVCxxQ0FBZWQsYUFBZixDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIxIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7cmdiVG9IZXh9IGZyb20gJ3V0aWxzL2NvbG9yLXV0aWxzJztcbmltcG9ydCBTaW5nbGVDb2xvclBhbGV0dGUgZnJvbSAnY29tcG9uZW50cy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL3NpbmdsZS1jb2xvci1wYWxldHRlJztcbmltcG9ydCBDb2xvclJhbmdlU2VsZWN0b3IgZnJvbSAnY29tcG9uZW50cy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbG9yLXJhbmdlLXNlbGVjdG9yJztcbmltcG9ydCBDb2xvclBhbGV0dGUgZnJvbSAnY29tcG9uZW50cy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbG9yLXBhbGV0dGUnO1xuaW1wb3J0IHtTdHlsZWRQYW5lbERyb3Bkb3dufSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgb25DbGlja091dHNpZGUgZnJvbSAncmVhY3Qtb25jbGlja291dHNpZGUnO1xuXG5leHBvcnQgY29uc3QgQ29sb3JCbG9jayA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBgcmdiKCR7cHJvcHMuY29sb3Iuc2xpY2UoMCwgMykuam9pbignLCcpfSlgfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBDb2xvclNlbGVjdG9ySW5wdXQgPSBzdHlsZWQuZGl2YFxuICAke3Byb3BzID0+IChwcm9wcy5pbnB1dFRoZW1lID09PSAnc2Vjb25kYXJ5JyA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0IDogcHJvcHMudGhlbWUuaW5wdXQpfTtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Qm94SGVpZ2h0fTtcblxuICAuY29sb3Itc2VsZWN0b3JfX3NlbGVjdG9yX19sYWJlbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dFBsYWNlaG9sZGVyQ29sb3J9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgSW5wdXRCb3hDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgLmNvbG9yLXNlbGVjdF9faW5wdXQtZ3JvdXAge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuY29sb3Itc2VsZWN0X19pbnB1dC1ncm91cDpudGgtY2hpbGQoMikge1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICB9XG5gO1xuXG5jbGFzcyBDb2xvclNlbGVjdG9yIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xvclNldHM6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgc2VsZWN0ZWRDb2xvcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksIFByb3BUeXBlcy5vYmplY3RdKSxcbiAgICAgICAgc2V0Q29sb3I6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICAgIGlzUmFuZ2U6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZ1xuICAgICAgfSlcbiAgICApLFxuICAgIGNvbG9yVUk6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBjdXN0b21QYWxldHRlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgc2hvd1NrZXRjaGVyOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYm9vbCwgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgICAgc2hvd0Ryb3Bkb3duOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYm9vbCwgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgICAgY29sb3JSYW5nZUNvbmZpZzogUHJvcFR5cGVzLm9iamVjdFxuICAgIH0pLFxuICAgIGlucHV0VGhlbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHNldENvbG9yVUk6IFByb3BUeXBlcy5mdW5jXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjb2xvclNldHM6IFtdXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgc2hvd0Ryb3Bkb3duOiBmYWxzZVxuICB9O1xuXG4gIG5vZGUgPSBjcmVhdGVSZWYoKTtcblxuICBoYW5kbGVDbGlja091dHNpZGUgPSBlID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5jb2xvclVJICYmIE51bWJlci5pc0ludGVnZXIodGhpcy5wcm9wcy5jb2xvclVJLnNob3dTa2V0Y2hlcikpIHtcbiAgICAgIC8vIGlmIHNrZXRjaGVyIGlzIG9wZW4sIGxldCBza2V0Y2ggdG8gY2xvc2UgaXRzZWxmIGZpcnN0XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2Nsb3NlUGFuZWxEcm9wZG93bigpO1xuICB9O1xuXG4gIF9nZXRFZGl0aW5nID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNvbG9yVUkgPyB0aGlzLnByb3BzLmNvbG9yVUkuc2hvd0Ryb3Bkb3duIDogdGhpcy5zdGF0ZS5zaG93RHJvcGRvd247XG4gIH07XG5cbiAgX2Nsb3NlUGFuZWxEcm9wZG93biA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5fZ2V0RWRpdGluZygpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5wcm9wcy5zZXRDb2xvclVJKSB7XG4gICAgICB0aGlzLnByb3BzLnNldENvbG9yVUkoe3Nob3dEcm9wZG93bjogZmFsc2UsIHNob3dTa2V0Y2hlcjogZmFsc2V9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd0Ryb3Bkb3duOiBmYWxzZX0pO1xuICAgIH1cbiAgfTtcblxuICBfb25TZWxlY3RDb2xvciA9IChjb2xvciwgZSkgPT4ge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgZWRpdGluZyA9IHRoaXMuX2dldEVkaXRpbmcoKTtcbiAgICBpZiAodGhpcy5wcm9wcy5jb2xvclNldHNbZWRpdGluZ10pIHtcbiAgICAgIHRoaXMucHJvcHMuY29sb3JTZXRzW2VkaXRpbmddLnNldENvbG9yKGNvbG9yKTtcbiAgICB9XG4gIH07XG5cbiAgX3Nob3dEcm9wZG93biA9IChlLCBpKSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMucHJvcHMuc2V0Q29sb3JVSSkge1xuICAgICAgdGhpcy5wcm9wcy5zZXRDb2xvclVJKHtzaG93RHJvcGRvd246IGl9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd0Ryb3Bkb3duOiBpfSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y29sb3JTZXRzLCBkaXNhYmxlZCwgaW5wdXRUaGVtZSwgY29sb3JVSX0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgZWRpdGluZyA9IHRoaXMuX2dldEVkaXRpbmcoKTtcbiAgICBjb25zdCBjdXJyZW50RWRpdGluZyA9IGNvbG9yU2V0c1tlZGl0aW5nXSAmJiB0eXBlb2YgY29sb3JTZXRzW2VkaXRpbmddID09PSAnb2JqZWN0JztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXNlbGVjdG9yXCIgcmVmPXt0aGlzLm5vZGV9PlxuICAgICAgICA8SW5wdXRCb3hDb250YWluZXI+XG4gICAgICAgICAge2NvbG9yU2V0cy5tYXAoKGNTZXQsIGkpID0+IChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0X19pbnB1dC1ncm91cFwiIGtleT17aX0+XG4gICAgICAgICAgICAgIDxDb2xvclNlbGVjdG9ySW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdGluZyA9PT0gaX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgaW5wdXRUaGVtZT17aW5wdXRUaGVtZX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiB0aGlzLl9zaG93RHJvcGRvd24oZSwgaSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y1NldC5pc1JhbmdlID8gKFxuICAgICAgICAgICAgICAgICAgPENvbG9yUGFsZXR0ZSBjb2xvcnM9e2NTZXQuc2VsZWN0ZWRDb2xvci5jb2xvcnN9IC8+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxDb2xvckJsb2NrXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbG9yLXNlbGVjdG9yX19zZWxlY3Rvcl9fYmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj17Y1NldC5zZWxlY3RlZENvbG9yfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHtjU2V0LmxhYmVsID8gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JfX2xhYmVsXCI+e2NTZXQubGFiZWx9PC9kaXY+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvQ29sb3JTZWxlY3RvcklucHV0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvSW5wdXRCb3hDb250YWluZXI+XG4gICAgICAgIHtjdXJyZW50RWRpdGluZyA/IChcbiAgICAgICAgICA8U3R5bGVkUGFuZWxEcm9wZG93biBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fZHJvcGRvd25cIj5cbiAgICAgICAgICAgIHtjb2xvclNldHNbZWRpdGluZ10uaXNSYW5nZSA/IChcbiAgICAgICAgICAgICAgPENvbG9yUmFuZ2VTZWxlY3RvclxuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29sb3JSYW5nZT17Y29sb3JTZXRzW2VkaXRpbmddLnNlbGVjdGVkQ29sb3J9XG4gICAgICAgICAgICAgICAgb25TZWxlY3RDb2xvclJhbmdlPXt0aGlzLl9vblNlbGVjdENvbG9yfVxuICAgICAgICAgICAgICAgIHNldENvbG9yUGFsZXR0ZVVJPXt0aGlzLnByb3BzLnNldENvbG9yVUl9XG4gICAgICAgICAgICAgICAgY29sb3JQYWxldHRlVUk9e2NvbG9yVUl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8U2luZ2xlQ29sb3JQYWxldHRlXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRDb2xvcj17cmdiVG9IZXgoY29sb3JTZXRzW2VkaXRpbmddLnNlbGVjdGVkQ29sb3IpfVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0Q29sb3I9e3RoaXMuX29uU2VsZWN0Q29sb3J9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU3R5bGVkUGFuZWxEcm9wZG93bj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IG9uQ2xpY2tPdXRzaWRlKENvbG9yU2VsZWN0b3IpO1xuIl19
223
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3Itc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiQ29sb3JCbG9jayIsInN0eWxlZCIsImRpdiIsInByb3BzIiwiY29sb3IiLCJzbGljZSIsImpvaW4iLCJDb2xvclNlbGVjdG9ySW5wdXQiLCJpbnB1dFRoZW1lIiwidGhlbWUiLCJzZWNvbmRhcnlJbnB1dCIsImlucHV0IiwiaW5wdXRCb3hIZWlnaHQiLCJpbnB1dFBsYWNlaG9sZGVyQ29sb3IiLCJJbnB1dEJveENvbnRhaW5lciIsIkNvbG9yU2VsZWN0b3IiLCJzaG93RHJvcGRvd24iLCJlIiwiY29sb3JVSSIsIk51bWJlciIsImlzSW50ZWdlciIsInNob3dTa2V0Y2hlciIsIl9jbG9zZVBhbmVsRHJvcGRvd24iLCJzdGF0ZSIsIl9nZXRFZGl0aW5nIiwic2V0Q29sb3JVSSIsInNldFN0YXRlIiwic3RvcFByb3BhZ2F0aW9uIiwiZWRpdGluZyIsImNvbG9yU2V0cyIsInNldENvbG9yIiwiaSIsInByZXZlbnREZWZhdWx0IiwiZGlzYWJsZWQiLCJjdXJyZW50RWRpdGluZyIsIm5vZGUiLCJtYXAiLCJjU2V0IiwiX3Nob3dEcm9wZG93biIsImlzUmFuZ2UiLCJzZWxlY3RlZENvbG9yIiwiY29sb3JzIiwibGFiZWwiLCJfb25TZWxlY3RDb2xvciIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImFycmF5T2YiLCJzaGFwZSIsIm9uZU9mVHlwZSIsImFueSIsIm9iamVjdCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiYm9vbCIsInN0cmluZyIsImN1c3RvbVBhbGV0dGUiLCJudW1iZXIiLCJjb2xvclJhbmdlQ29uZmlnIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFTyxJQUFNQSxV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c0JBQVVHLFNBQVYsQ0FBb0IsQ0FBQ0gsc0JBQVVRLElBQVgsRUFBaUJSLHNCQUFVVyxNQUEzQixDQUFwQixDQUZTO0FBR3ZCeEMsSUFBQUEsWUFBWSxFQUFFNkIsc0JBQVVHLFNBQVYsQ0FBb0IsQ0FBQ0gsc0JBQVVRLElBQVgsRUFBaUJSLHNCQUFVVyxNQUEzQixDQUFwQixDQUhTO0FBSXZCQyxJQUFBQSxnQkFBZ0IsRUFBRVosc0JBQVVLO0FBSkwsR0FBaEIsQ0FUUTtBQWVqQjFDLEVBQUFBLFVBQVUsRUFBRXFDLHNCQUFVUyxNQWZMO0FBZ0JqQnJCLEVBQUFBLFFBQVEsRUFBRVksc0JBQVVRLElBaEJIO0FBaUJqQjVCLEVBQUFBLFVBQVUsRUFBRW9CLHNCQUFVTTtBQWpCTCxDO2lDQURmcEMsYSxrQkFxQmtCO0FBQ3BCYyxFQUFBQSxTQUFTLEVBQUU7QUFEUyxDOztlQTBHVCxxQ0FBZWQsYUFBZixDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7cmdiVG9IZXh9IGZyb20gJ3V0aWxzL2NvbG9yLXV0aWxzJztcbmltcG9ydCBTaW5nbGVDb2xvclBhbGV0dGUgZnJvbSAnY29tcG9uZW50cy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL3NpbmdsZS1jb2xvci1wYWxldHRlJztcbmltcG9ydCBDb2xvclJhbmdlU2VsZWN0b3IgZnJvbSAnY29tcG9uZW50cy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbG9yLXJhbmdlLXNlbGVjdG9yJztcbmltcG9ydCBDb2xvclBhbGV0dGUgZnJvbSAnY29tcG9uZW50cy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbG9yLXBhbGV0dGUnO1xuaW1wb3J0IHtTdHlsZWRQYW5lbERyb3Bkb3dufSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgb25DbGlja091dHNpZGUgZnJvbSAncmVhY3Qtb25jbGlja291dHNpZGUnO1xuXG5leHBvcnQgY29uc3QgQ29sb3JCbG9jayA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBgcmdiKCR7cHJvcHMuY29sb3Iuc2xpY2UoMCwgMykuam9pbignLCcpfSlgfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBDb2xvclNlbGVjdG9ySW5wdXQgPSBzdHlsZWQuZGl2YFxuICAke3Byb3BzID0+IChwcm9wcy5pbnB1dFRoZW1lID09PSAnc2Vjb25kYXJ5JyA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0IDogcHJvcHMudGhlbWUuaW5wdXQpfTtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Qm94SGVpZ2h0fTtcblxuICAuY29sb3Itc2VsZWN0b3JfX3NlbGVjdG9yX19sYWJlbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dFBsYWNlaG9sZGVyQ29sb3J9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgSW5wdXRCb3hDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgLmNvbG9yLXNlbGVjdF9faW5wdXQtZ3JvdXAge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuY29sb3Itc2VsZWN0X19pbnB1dC1ncm91cDpudGgtY2hpbGQoMikge1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICB9XG5gO1xuXG5jbGFzcyBDb2xvclNlbGVjdG9yIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xvclNldHM6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgc2VsZWN0ZWRDb2xvcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksIFByb3BUeXBlcy5vYmplY3RdKSxcbiAgICAgICAgc2V0Q29sb3I6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICAgIGlzUmFuZ2U6IFByb3BUeXBlcy5ib29sLFxuICAgICAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZ1xuICAgICAgfSlcbiAgICApLFxuICAgIGNvbG9yVUk6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBjdXN0b21QYWxldHRlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgc2hvd1NrZXRjaGVyOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYm9vbCwgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgICAgc2hvd0Ryb3Bkb3duOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYm9vbCwgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgICAgY29sb3JSYW5nZUNvbmZpZzogUHJvcFR5cGVzLm9iamVjdFxuICAgIH0pLFxuICAgIGlucHV0VGhlbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHNldENvbG9yVUk6IFByb3BUeXBlcy5mdW5jXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjb2xvclNldHM6IFtdXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgc2hvd0Ryb3Bkb3duOiBmYWxzZVxuICB9O1xuXG4gIG5vZGUgPSBjcmVhdGVSZWYoKTtcblxuICBoYW5kbGVDbGlja091dHNpZGUgPSBlID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5jb2xvclVJICYmIE51bWJlci5pc0ludGVnZXIodGhpcy5wcm9wcy5jb2xvclVJLnNob3dTa2V0Y2hlcikpIHtcbiAgICAgIC8vIGlmIHNrZXRjaGVyIGlzIG9wZW4sIGxldCBza2V0Y2ggdG8gY2xvc2UgaXRzZWxmIGZpcnN0XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2Nsb3NlUGFuZWxEcm9wZG93bigpO1xuICB9O1xuXG4gIF9nZXRFZGl0aW5nID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNvbG9yVUkgPyB0aGlzLnByb3BzLmNvbG9yVUkuc2hvd0Ryb3Bkb3duIDogdGhpcy5zdGF0ZS5zaG93RHJvcGRvd247XG4gIH07XG5cbiAgX2Nsb3NlUGFuZWxEcm9wZG93biA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5fZ2V0RWRpdGluZygpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5wcm9wcy5zZXRDb2xvclVJKSB7XG4gICAgICB0aGlzLnByb3BzLnNldENvbG9yVUkoe3Nob3dEcm9wZG93bjogZmFsc2UsIHNob3dTa2V0Y2hlcjogZmFsc2V9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd0Ryb3Bkb3duOiBmYWxzZX0pO1xuICAgIH1cbiAgfTtcblxuICBfb25TZWxlY3RDb2xvciA9IChjb2xvciwgZSkgPT4ge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgZWRpdGluZyA9IHRoaXMuX2dldEVkaXRpbmcoKTtcbiAgICBpZiAodGhpcy5wcm9wcy5jb2xvclNldHNbZWRpdGluZ10pIHtcbiAgICAgIHRoaXMucHJvcHMuY29sb3JTZXRzW2VkaXRpbmddLnNldENvbG9yKGNvbG9yKTtcbiAgICB9XG4gIH07XG5cbiAgX3Nob3dEcm9wZG93biA9IChlLCBpKSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMucHJvcHMuc2V0Q29sb3JVSSkge1xuICAgICAgdGhpcy5wcm9wcy5zZXRDb2xvclVJKHtzaG93RHJvcGRvd246IGl9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd0Ryb3Bkb3duOiBpfSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y29sb3JTZXRzLCBkaXNhYmxlZCwgaW5wdXRUaGVtZSwgY29sb3JVSX0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgZWRpdGluZyA9IHRoaXMuX2dldEVkaXRpbmcoKTtcbiAgICBjb25zdCBjdXJyZW50RWRpdGluZyA9IGNvbG9yU2V0c1tlZGl0aW5nXSAmJiB0eXBlb2YgY29sb3JTZXRzW2VkaXRpbmddID09PSAnb2JqZWN0JztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXNlbGVjdG9yXCIgcmVmPXt0aGlzLm5vZGV9PlxuICAgICAgICA8SW5wdXRCb3hDb250YWluZXI+XG4gICAgICAgICAge2NvbG9yU2V0cy5tYXAoKGNTZXQsIGkpID0+IChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0X19pbnB1dC1ncm91cFwiIGtleT17aX0+XG4gICAgICAgICAgICAgIDxDb2xvclNlbGVjdG9ySW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgIGFjdGl2ZT17ZWRpdGluZyA9PT0gaX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgaW5wdXRUaGVtZT17aW5wdXRUaGVtZX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiB0aGlzLl9zaG93RHJvcGRvd24oZSwgaSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y1NldC5pc1JhbmdlID8gKFxuICAgICAgICAgICAgICAgICAgPENvbG9yUGFsZXR0ZSBjb2xvcnM9e2NTZXQuc2VsZWN0ZWRDb2xvci5jb2xvcnN9IC8+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxDb2xvckJsb2NrXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbG9yLXNlbGVjdG9yX19zZWxlY3Rvcl9fYmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICBjb2xvcj17Y1NldC5zZWxlY3RlZENvbG9yfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHtjU2V0LmxhYmVsID8gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JfX2xhYmVsXCI+e2NTZXQubGFiZWx9PC9kaXY+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvQ29sb3JTZWxlY3RvcklucHV0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvSW5wdXRCb3hDb250YWluZXI+XG4gICAgICAgIHtjdXJyZW50RWRpdGluZyA/IChcbiAgICAgICAgICA8U3R5bGVkUGFuZWxEcm9wZG93biBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fZHJvcGRvd25cIj5cbiAgICAgICAgICAgIHtjb2xvclNldHNbZWRpdGluZ10uaXNSYW5nZSA/IChcbiAgICAgICAgICAgICAgPENvbG9yUmFuZ2VTZWxlY3RvclxuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29sb3JSYW5nZT17Y29sb3JTZXRzW2VkaXRpbmddLnNlbGVjdGVkQ29sb3J9XG4gICAgICAgICAgICAgICAgb25TZWxlY3RDb2xvclJhbmdlPXt0aGlzLl9vblNlbGVjdENvbG9yfVxuICAgICAgICAgICAgICAgIHNldENvbG9yUGFsZXR0ZVVJPXt0aGlzLnByb3BzLnNldENvbG9yVUl9XG4gICAgICAgICAgICAgICAgY29sb3JQYWxldHRlVUk9e2NvbG9yVUl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8U2luZ2xlQ29sb3JQYWxldHRlXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRDb2xvcj17cmdiVG9IZXgoY29sb3JTZXRzW2VkaXRpbmddLnNlbGVjdGVkQ29sb3IpfVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0Q29sb3I9e3RoaXMuX29uU2VsZWN0Q29sb3J9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU3R5bGVkUGFuZWxEcm9wZG93bj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IG9uQ2xpY2tPdXRzaWRlKENvbG9yU2VsZWN0b3IpO1xuIl19