@onepercentio/one-ui 1.2.3 → 1.2.4

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 (405) hide show
  1. package/WebpackConfigs/scripts/css-inliner.ts +13 -8
  2. package/dist/components/AdaptiveButton/AdaptiveButton.d.ts +2 -1
  3. package/dist/components/AdaptiveButton/AdaptiveButton.js +3 -2
  4. package/dist/components/AdaptiveContainer/AdaptiveContainer.d.ts +5 -1
  5. package/dist/components/AdaptiveContainer/AdaptiveContainer.js +6 -2
  6. package/dist/components/AdaptiveDialog/AdaptiveDialog.d.ts +4 -1
  7. package/dist/components/AdaptiveDialog/AdaptiveDialog.js +5 -2
  8. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +2 -1
  9. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +3 -2
  10. package/dist/components/AnchoredTooltip/AnchoredTooltip.d.ts +4 -1
  11. package/dist/components/AnchoredTooltip/AnchoredTooltip.js +5 -2
  12. package/dist/components/AnimatedEntrance/AnimatedEntrance.d.ts +2 -1
  13. package/dist/components/AnimatedEntrance/AnimatedEntrance.js +3 -2
  14. package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.d.ts +5 -0
  15. package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.js +6 -1
  16. package/dist/components/AsyncWrapper/AsyncWrapper.d.ts +4 -0
  17. package/dist/components/AsyncWrapper/AsyncWrapper.js +5 -1
  18. package/dist/components/Avatar/Avatar.d.ts +3 -1
  19. package/dist/components/Avatar/Avatar.js +4 -2
  20. package/dist/components/BucketFill/BucketFill.d.ts +3 -4
  21. package/dist/components/BucketFill/BucketFill.js +4 -5
  22. package/dist/components/Button/Button.d.ts +4 -0
  23. package/dist/components/Button/Button.js +5 -1
  24. package/dist/components/Chart/Chart.view.d.ts +2 -2
  25. package/dist/components/Chart/Chart.view.js +3 -3
  26. package/dist/components/CheckBox/CheckBox.d.ts +3 -0
  27. package/dist/components/CheckBox/CheckBox.js +4 -1
  28. package/dist/components/CodeInput/CodeInput.js +1 -1
  29. package/dist/components/Collapsable/Collapsable.d.ts +5 -0
  30. package/dist/components/Collapsable/Collapsable.js +6 -1
  31. package/dist/components/Countdown/Countdown.d.ts +4 -0
  32. package/dist/components/Countdown/Countdown.js +5 -1
  33. package/dist/components/CurrencyInput/CurrencyInput.d.ts +4 -0
  34. package/dist/components/CurrencyInput/CurrencyInput.js +5 -1
  35. package/dist/components/Divider/Divider.d.ts +2 -2
  36. package/dist/components/Divider/Divider.js +3 -3
  37. package/dist/components/EmailInput/EmailInput.d.ts +3 -0
  38. package/dist/components/EmailInput/EmailInput.js +4 -1
  39. package/dist/components/FadeIn/FadeIn.d.ts +2 -1
  40. package/dist/components/FadeIn/FadeIn.js +3 -2
  41. package/dist/components/FileInput/FileInput.d.ts +3 -0
  42. package/dist/components/FileInput/FileInput.js +5 -1
  43. package/dist/components/FlowController/FlowController.d.ts +4 -0
  44. package/dist/components/FlowController/FlowController.js +5 -1
  45. package/dist/components/Form/Form.d.ts +8 -3
  46. package/dist/components/Form/Form.js +7 -2
  47. package/dist/components/Form/Form.types.d.ts +1 -1
  48. package/dist/components/Form/Form.types.js +1 -1
  49. package/dist/components/Form/FormField/FormField.js +20 -7
  50. package/dist/components/HSForms/HSForms.d.ts +4 -0
  51. package/dist/components/HSForms/HSForms.js +5 -1
  52. package/dist/components/HeaderCloseBtn/HeaderCloseBtn.d.ts +2 -1
  53. package/dist/components/HeaderCloseBtn/HeaderCloseBtn.js +3 -2
  54. package/dist/components/InfinityScroll/InfinityScroll.d.ts +2 -1
  55. package/dist/components/InfinityScroll/InfinityScroll.js +3 -2
  56. package/dist/components/Input/Input.d.ts +6 -0
  57. package/dist/components/Input/Input.js +7 -1
  58. package/dist/components/LavaLamp/LavaLamp.d.ts +2 -2
  59. package/dist/components/LavaLamp/LavaLamp.js +3 -3
  60. package/dist/components/LinkToId/LinkToId.d.ts +1 -1
  61. package/dist/components/LinkToId/LinkToId.js +2 -2
  62. package/dist/components/Loader/Loader.d.ts +2 -1
  63. package/dist/components/Loader/Loader.js +3 -2
  64. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.d.ts +4 -0
  65. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +5 -1
  66. package/dist/components/LoopableVideo/LoopableVideo.d.ts +4 -1
  67. package/dist/components/LoopableVideo/LoopableVideo.js +5 -2
  68. package/dist/components/MainGrid/MainGrid.d.ts +4 -0
  69. package/dist/components/MainGrid/MainGrid.js +5 -1
  70. package/dist/components/Notification/Notification.d.ts +1 -0
  71. package/dist/components/Notification/Notification.js +2 -1
  72. package/dist/components/NumberInput/NumberInput.d.ts +4 -0
  73. package/dist/components/NumberInput/NumberInput.js +6 -1
  74. package/dist/components/OrderableList/OrderableList.d.ts +4 -2
  75. package/dist/components/OrderableList/OrderableList.js +5 -3
  76. package/dist/components/PaginationIndicator/PaginationIndicator.d.ts +5 -0
  77. package/dist/components/PaginationIndicator/PaginationIndicator.js +6 -1
  78. package/dist/components/Parallax/Parallax.d.ts +4 -0
  79. package/dist/components/Parallax/Parallax.js +5 -1
  80. package/dist/components/PasswordInput/PasswordInput.d.ts +3 -2
  81. package/dist/components/PasswordInput/PasswordInput.js +4 -3
  82. package/dist/components/PingPongText/PingPongText.d.ts +4 -0
  83. package/dist/components/PingPongText/PingPongText.js +5 -1
  84. package/dist/components/PixelatedScan/PixelatedScan.d.ts +5 -0
  85. package/dist/components/PixelatedScan/PixelatedScan.js +7 -1
  86. package/dist/components/Portal/Portal.d.ts +4 -0
  87. package/dist/components/Portal/Portal.js +7 -3
  88. package/dist/components/ProgressBar/ProgressBar.d.ts +3 -2
  89. package/dist/components/ProgressBar/ProgressBar.js +4 -3
  90. package/dist/components/ProgressTexts/ProgressTexts.d.ts +4 -0
  91. package/dist/components/ProgressTexts/ProgressTexts.js +5 -1
  92. package/dist/components/Radio/Radio.d.ts +4 -0
  93. package/dist/components/Radio/Radio.js +5 -1
  94. package/dist/components/SectionContainer/SectionContainer.d.ts +5 -0
  95. package/dist/components/SectionContainer/SectionContainer.js +6 -1
  96. package/dist/components/Select/Select.d.ts +4 -0
  97. package/dist/components/Select/Select.js +6 -1
  98. package/dist/components/Slider/Slider.d.ts +4 -0
  99. package/dist/components/Slider/Slider.e2e.d.ts +3 -3
  100. package/dist/components/Slider/Slider.js +5 -1
  101. package/dist/components/Spacing/Spacing.d.ts +4 -0
  102. package/dist/components/Spacing/Spacing.js +6 -1
  103. package/dist/components/StaticScroller/StaticScroller.d.ts +3 -2
  104. package/dist/components/StaticScroller/StaticScroller.js +4 -3
  105. package/dist/components/Switch/Switch.d.ts +4 -2
  106. package/dist/components/Switch/Switch.js +5 -3
  107. package/dist/components/Table/Table.d.ts +4 -2
  108. package/dist/components/Table/Table.js +5 -3
  109. package/dist/components/Tabs/Tabs.d.ts +3 -2
  110. package/dist/components/Tabs/Tabs.js +4 -3
  111. package/dist/components/Text/Text.d.ts +4 -0
  112. package/dist/components/Text/Text.js +6 -1
  113. package/dist/components/Transition/Transition.d.ts +10 -2
  114. package/dist/components/Transition/Transition.js +12 -3
  115. package/dist/components/UncontrolledTransition/UncontrolledTransition.d.ts +2 -2
  116. package/dist/components/UncontrolledTransition/UncontrolledTransition.js +3 -3
  117. package/dist/context/AsyncProcess.d.ts +2 -0
  118. package/dist/context/AsyncProcess.js +4 -1
  119. package/dist/context/ContextAsyncControl.d.ts +15 -0
  120. package/dist/context/ContextAsyncControl.js +21 -1
  121. package/dist/context/CustomBrowserRouter.d.ts +6 -0
  122. package/dist/context/CustomBrowserRouter.js +8 -1
  123. package/dist/context/OneUIProvider.d.ts +21 -0
  124. package/dist/context/OneUIProvider.js +31 -2
  125. package/dist/hooks/useIntersection.d.ts +4 -0
  126. package/dist/hooks/useIntersection.js +5 -1
  127. package/dist/hooks/useMergeRefs.d.ts +1 -1
  128. package/dist/hooks/useMergeRefs.js +4 -2
  129. package/dist/hooks/useObserve.d.ts +4 -0
  130. package/dist/hooks/useObserve.js +5 -1
  131. package/dist/hooks/usePagination.d.ts +5 -0
  132. package/dist/hooks/usePagination.js +6 -1
  133. package/dist/hooks/usePooledOperation.d.ts +4 -0
  134. package/dist/hooks/usePooledOperation.js +6 -1
  135. package/dist/hooks/usePooling.d.ts +6 -1
  136. package/dist/hooks/usePooling.js +7 -2
  137. package/dist/hooks/useRebound.d.ts +4 -0
  138. package/dist/hooks/useRebound.js +8 -4
  139. package/dist/hooks/useShortIntl.d.ts +4 -0
  140. package/dist/hooks/useShortIntl.js +5 -1
  141. package/dist/index.d.ts +0 -2
  142. package/dist/index.js +7 -26
  143. package/dist/models/DebugLogger.d.ts +3 -0
  144. package/dist/models/DebugLogger.js +5 -1
  145. package/dist/models/GenericContract.d.ts +21 -0
  146. package/dist/models/GenericContract.js +26 -1
  147. package/dist/models/Orbs.d.ts +9 -0
  148. package/dist/models/Orbs.js +13 -1
  149. package/dist/utils/blockchain.d.ts +4 -0
  150. package/dist/utils/blockchain.js +8 -1
  151. package/dist/utils/e2e.d.ts +6 -2
  152. package/dist/utils/e2e.js +4 -11
  153. package/dist/utils/flatten.d.ts +1 -0
  154. package/dist/utils/flatten.js +2 -1
  155. package/dist/utils/formatters.js +5 -1
  156. package/dist/utils/html.utils.d.ts +1 -0
  157. package/dist/utils/html.utils.js +2 -1
  158. package/dist/utils/ownEvent.js +2 -1
  159. package/dist/utils/test.js +2 -1
  160. package/dist-ts/components/AdaptiveButton/AdaptiveButton.d.ts +2 -1
  161. package/dist-ts/components/AdaptiveButton/AdaptiveButton.js +2 -1
  162. package/dist-ts/components/AdaptiveButton/AdaptiveButton.js.map +1 -1
  163. package/dist-ts/components/AdaptiveContainer/AdaptiveContainer.d.ts +5 -1
  164. package/dist-ts/components/AdaptiveContainer/AdaptiveContainer.js +10 -5
  165. package/dist-ts/components/AdaptiveContainer/AdaptiveContainer.js.map +1 -1
  166. package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.d.ts +4 -1
  167. package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.js +4 -1
  168. package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.js.map +1 -1
  169. package/dist-ts/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +2 -1
  170. package/dist-ts/components/AdaptiveSidebar/AdaptiveSidebar.js +2 -1
  171. package/dist-ts/components/AdaptiveSidebar/AdaptiveSidebar.js.map +1 -1
  172. package/dist-ts/components/AnchoredTooltip/AnchoredTooltip.d.ts +4 -1
  173. package/dist-ts/components/AnchoredTooltip/AnchoredTooltip.js +4 -1
  174. package/dist-ts/components/AnchoredTooltip/AnchoredTooltip.js.map +1 -1
  175. package/dist-ts/components/AnimatedEntrance/AnimatedEntrance.d.ts +2 -1
  176. package/dist-ts/components/AnimatedEntrance/AnimatedEntrance.js +2 -1
  177. package/dist-ts/components/AnimatedEntrance/AnimatedEntrance.js.map +1 -1
  178. package/dist-ts/components/AsyncTriggerContainer/AsyncTriggerContainer.d.ts +5 -0
  179. package/dist-ts/components/AsyncTriggerContainer/AsyncTriggerContainer.js +5 -0
  180. package/dist-ts/components/AsyncTriggerContainer/AsyncTriggerContainer.js.map +1 -1
  181. package/dist-ts/components/AsyncWrapper/AsyncWrapper.d.ts +4 -0
  182. package/dist-ts/components/AsyncWrapper/AsyncWrapper.js +4 -0
  183. package/dist-ts/components/AsyncWrapper/AsyncWrapper.js.map +1 -1
  184. package/dist-ts/components/Avatar/Avatar.d.ts +3 -1
  185. package/dist-ts/components/Avatar/Avatar.js +3 -1
  186. package/dist-ts/components/Avatar/Avatar.js.map +1 -1
  187. package/dist-ts/components/BucketFill/BucketFill.d.ts +3 -4
  188. package/dist-ts/components/BucketFill/BucketFill.js +3 -4
  189. package/dist-ts/components/BucketFill/BucketFill.js.map +1 -1
  190. package/dist-ts/components/Button/Button.d.ts +4 -0
  191. package/dist-ts/components/Button/Button.js +4 -0
  192. package/dist-ts/components/Button/Button.js.map +1 -1
  193. package/dist-ts/components/Chart/Chart.view.d.ts +2 -2
  194. package/dist-ts/components/Chart/Chart.view.js +2 -2
  195. package/dist-ts/components/Chart/Chart.view.js.map +1 -1
  196. package/dist-ts/components/CheckBox/CheckBox.d.ts +3 -0
  197. package/dist-ts/components/CheckBox/CheckBox.js +3 -0
  198. package/dist-ts/components/CheckBox/CheckBox.js.map +1 -1
  199. package/dist-ts/components/Collapsable/Collapsable.d.ts +5 -0
  200. package/dist-ts/components/Collapsable/Collapsable.js +5 -0
  201. package/dist-ts/components/Collapsable/Collapsable.js.map +1 -1
  202. package/dist-ts/components/Countdown/Countdown.d.ts +4 -0
  203. package/dist-ts/components/Countdown/Countdown.js +4 -0
  204. package/dist-ts/components/Countdown/Countdown.js.map +1 -1
  205. package/dist-ts/components/CurrencyInput/CurrencyInput.d.ts +4 -0
  206. package/dist-ts/components/CurrencyInput/CurrencyInput.js +4 -0
  207. package/dist-ts/components/CurrencyInput/CurrencyInput.js.map +1 -1
  208. package/dist-ts/components/Divider/Divider.d.ts +2 -2
  209. package/dist-ts/components/Divider/Divider.js +2 -2
  210. package/dist-ts/components/Divider/Divider.js.map +1 -1
  211. package/dist-ts/components/EmailInput/EmailInput.d.ts +3 -0
  212. package/dist-ts/components/EmailInput/EmailInput.js +3 -0
  213. package/dist-ts/components/EmailInput/EmailInput.js.map +1 -1
  214. package/dist-ts/components/FadeIn/FadeIn.d.ts +2 -1
  215. package/dist-ts/components/FadeIn/FadeIn.js +2 -1
  216. package/dist-ts/components/FadeIn/FadeIn.js.map +1 -1
  217. package/dist-ts/components/FileInput/FileInput.d.ts +3 -0
  218. package/dist-ts/components/FileInput/FileInput.js +3 -0
  219. package/dist-ts/components/FileInput/FileInput.js.map +1 -1
  220. package/dist-ts/components/FlowController/FlowController.d.ts +4 -0
  221. package/dist-ts/components/FlowController/FlowController.js +4 -0
  222. package/dist-ts/components/FlowController/FlowController.js.map +1 -1
  223. package/dist-ts/components/Form/Form.d.ts +8 -3
  224. package/dist-ts/components/Form/Form.js +7 -2
  225. package/dist-ts/components/Form/Form.js.map +1 -1
  226. package/dist-ts/components/Form/Form.types.d.ts +1 -1
  227. package/dist-ts/components/Form/FormField/FormField.js +6 -3
  228. package/dist-ts/components/Form/FormField/FormField.js.map +1 -1
  229. package/dist-ts/components/HSForms/HSForms.d.ts +4 -0
  230. package/dist-ts/components/HSForms/HSForms.js +4 -0
  231. package/dist-ts/components/HSForms/HSForms.js.map +1 -1
  232. package/dist-ts/components/HeaderCloseBtn/HeaderCloseBtn.d.ts +2 -1
  233. package/dist-ts/components/HeaderCloseBtn/HeaderCloseBtn.js +2 -1
  234. package/dist-ts/components/HeaderCloseBtn/HeaderCloseBtn.js.map +1 -1
  235. package/dist-ts/components/InfinityScroll/InfinityScroll.d.ts +2 -1
  236. package/dist-ts/components/InfinityScroll/InfinityScroll.js +2 -1
  237. package/dist-ts/components/InfinityScroll/InfinityScroll.js.map +1 -1
  238. package/dist-ts/components/Input/Input.d.ts +6 -0
  239. package/dist-ts/components/Input/Input.js +6 -0
  240. package/dist-ts/components/Input/Input.js.map +1 -1
  241. package/dist-ts/components/LavaLamp/LavaLamp.d.ts +2 -2
  242. package/dist-ts/components/LavaLamp/LavaLamp.js +2 -2
  243. package/dist-ts/components/LavaLamp/LavaLamp.js.map +1 -1
  244. package/dist-ts/components/LinkToId/LinkToId.d.ts +1 -1
  245. package/dist-ts/components/LinkToId/LinkToId.js +1 -1
  246. package/dist-ts/components/Loader/Loader.d.ts +2 -1
  247. package/dist-ts/components/Loader/Loader.js +2 -1
  248. package/dist-ts/components/Loader/Loader.js.map +1 -1
  249. package/dist-ts/components/LoaderDotsIndicator/LoaderDotsIndicator.d.ts +4 -0
  250. package/dist-ts/components/LoaderDotsIndicator/LoaderDotsIndicator.js +4 -0
  251. package/dist-ts/components/LoaderDotsIndicator/LoaderDotsIndicator.js.map +1 -1
  252. package/dist-ts/components/LoopableVideo/LoopableVideo.d.ts +4 -1
  253. package/dist-ts/components/LoopableVideo/LoopableVideo.js +4 -1
  254. package/dist-ts/components/LoopableVideo/LoopableVideo.js.map +1 -1
  255. package/dist-ts/components/MainGrid/MainGrid.d.ts +4 -0
  256. package/dist-ts/components/MainGrid/MainGrid.js +4 -0
  257. package/dist-ts/components/MainGrid/MainGrid.js.map +1 -1
  258. package/dist-ts/components/Notification/Notification.d.ts +1 -0
  259. package/dist-ts/components/Notification/Notification.js +1 -0
  260. package/dist-ts/components/Notification/Notification.js.map +1 -1
  261. package/dist-ts/components/NumberInput/NumberInput.d.ts +4 -0
  262. package/dist-ts/components/NumberInput/NumberInput.js +4 -0
  263. package/dist-ts/components/NumberInput/NumberInput.js.map +1 -1
  264. package/dist-ts/components/OrderableList/OrderableList.d.ts +4 -2
  265. package/dist-ts/components/OrderableList/OrderableList.js +4 -2
  266. package/dist-ts/components/OrderableList/OrderableList.js.map +1 -1
  267. package/dist-ts/components/PaginationIndicator/PaginationIndicator.d.ts +5 -0
  268. package/dist-ts/components/PaginationIndicator/PaginationIndicator.js +5 -0
  269. package/dist-ts/components/PaginationIndicator/PaginationIndicator.js.map +1 -1
  270. package/dist-ts/components/Parallax/Parallax.d.ts +4 -0
  271. package/dist-ts/components/Parallax/Parallax.js +4 -0
  272. package/dist-ts/components/Parallax/Parallax.js.map +1 -1
  273. package/dist-ts/components/PasswordInput/PasswordInput.d.ts +3 -2
  274. package/dist-ts/components/PasswordInput/PasswordInput.js +3 -2
  275. package/dist-ts/components/PasswordInput/PasswordInput.js.map +1 -1
  276. package/dist-ts/components/PingPongText/PingPongText.d.ts +4 -0
  277. package/dist-ts/components/PingPongText/PingPongText.js +4 -0
  278. package/dist-ts/components/PingPongText/PingPongText.js.map +1 -1
  279. package/dist-ts/components/PixelatedScan/PixelatedScan.d.ts +5 -0
  280. package/dist-ts/components/PixelatedScan/PixelatedScan.js +5 -0
  281. package/dist-ts/components/PixelatedScan/PixelatedScan.js.map +1 -1
  282. package/dist-ts/components/Portal/Portal.d.ts +4 -0
  283. package/dist-ts/components/Portal/Portal.js +4 -0
  284. package/dist-ts/components/Portal/Portal.js.map +1 -1
  285. package/dist-ts/components/ProgressBar/ProgressBar.d.ts +3 -2
  286. package/dist-ts/components/ProgressBar/ProgressBar.js +3 -2
  287. package/dist-ts/components/ProgressBar/ProgressBar.js.map +1 -1
  288. package/dist-ts/components/ProgressTexts/ProgressTexts.d.ts +4 -0
  289. package/dist-ts/components/ProgressTexts/ProgressTexts.js +4 -0
  290. package/dist-ts/components/ProgressTexts/ProgressTexts.js.map +1 -1
  291. package/dist-ts/components/Radio/Radio.d.ts +4 -0
  292. package/dist-ts/components/Radio/Radio.js.map +1 -1
  293. package/dist-ts/components/SectionContainer/SectionContainer.d.ts +5 -0
  294. package/dist-ts/components/SectionContainer/SectionContainer.js +5 -0
  295. package/dist-ts/components/SectionContainer/SectionContainer.js.map +1 -1
  296. package/dist-ts/components/Select/Select.d.ts +4 -0
  297. package/dist-ts/components/Select/Select.js +4 -0
  298. package/dist-ts/components/Select/Select.js.map +1 -1
  299. package/dist-ts/components/Slider/Slider.d.ts +4 -0
  300. package/dist-ts/components/Slider/Slider.e2e.d.ts +3 -3
  301. package/dist-ts/components/Slider/Slider.js +4 -0
  302. package/dist-ts/components/Slider/Slider.js.map +1 -1
  303. package/dist-ts/components/Spacing/Spacing.d.ts +4 -0
  304. package/dist-ts/components/Spacing/Spacing.js +4 -0
  305. package/dist-ts/components/Spacing/Spacing.js.map +1 -1
  306. package/dist-ts/components/StaticScroller/StaticScroller.d.ts +3 -2
  307. package/dist-ts/components/StaticScroller/StaticScroller.js +3 -2
  308. package/dist-ts/components/StaticScroller/StaticScroller.js.map +1 -1
  309. package/dist-ts/components/Switch/Switch.d.ts +4 -2
  310. package/dist-ts/components/Switch/Switch.js +4 -2
  311. package/dist-ts/components/Switch/Switch.js.map +1 -1
  312. package/dist-ts/components/Table/Table.d.ts +4 -2
  313. package/dist-ts/components/Table/Table.js +4 -2
  314. package/dist-ts/components/Table/Table.js.map +1 -1
  315. package/dist-ts/components/Tabs/Tabs.d.ts +3 -2
  316. package/dist-ts/components/Tabs/Tabs.js +3 -2
  317. package/dist-ts/components/Tabs/Tabs.js.map +1 -1
  318. package/dist-ts/components/Text/Text.d.ts +4 -0
  319. package/dist-ts/components/Text/Text.js +4 -0
  320. package/dist-ts/components/Text/Text.js.map +1 -1
  321. package/dist-ts/components/Transition/Transition.d.ts +10 -2
  322. package/dist-ts/components/Transition/Transition.js +10 -2
  323. package/dist-ts/components/Transition/Transition.js.map +1 -1
  324. package/dist-ts/components/UncontrolledTransition/UncontrolledTransition.d.ts +2 -2
  325. package/dist-ts/components/UncontrolledTransition/UncontrolledTransition.js +2 -2
  326. package/dist-ts/components/UncontrolledTransition/UncontrolledTransition.js.map +1 -1
  327. package/dist-ts/context/AsyncProcess.d.ts +2 -0
  328. package/dist-ts/context/AsyncProcess.js +2 -0
  329. package/dist-ts/context/AsyncProcess.js.map +1 -1
  330. package/dist-ts/context/ContextAsyncControl.d.ts +15 -0
  331. package/dist-ts/context/ContextAsyncControl.js +12 -0
  332. package/dist-ts/context/ContextAsyncControl.js.map +1 -1
  333. package/dist-ts/context/CustomBrowserRouter.d.ts +6 -0
  334. package/dist-ts/context/CustomBrowserRouter.js +3 -0
  335. package/dist-ts/context/CustomBrowserRouter.js.map +1 -1
  336. package/dist-ts/context/OneUIProvider.d.ts +21 -0
  337. package/dist-ts/context/OneUIProvider.js +13 -1
  338. package/dist-ts/context/OneUIProvider.js.map +1 -1
  339. package/dist-ts/hooks/useIntersection.d.ts +4 -0
  340. package/dist-ts/hooks/useIntersection.js +4 -0
  341. package/dist-ts/hooks/useIntersection.js.map +1 -1
  342. package/dist-ts/hooks/useMergeRefs.d.ts +1 -1
  343. package/dist-ts/hooks/useMergeRefs.js +3 -1
  344. package/dist-ts/hooks/useMergeRefs.js.map +1 -1
  345. package/dist-ts/hooks/useObserve.d.ts +4 -0
  346. package/dist-ts/hooks/useObserve.js +4 -0
  347. package/dist-ts/hooks/useObserve.js.map +1 -1
  348. package/dist-ts/hooks/usePagination.d.ts +5 -0
  349. package/dist-ts/hooks/usePagination.js +5 -0
  350. package/dist-ts/hooks/usePagination.js.map +1 -1
  351. package/dist-ts/hooks/usePooledOperation.d.ts +4 -0
  352. package/dist-ts/hooks/usePooledOperation.js +4 -0
  353. package/dist-ts/hooks/usePooledOperation.js.map +1 -1
  354. package/dist-ts/hooks/usePooling.d.ts +6 -1
  355. package/dist-ts/hooks/usePooling.js +6 -1
  356. package/dist-ts/hooks/usePooling.js.map +1 -1
  357. package/dist-ts/hooks/useRebound.d.ts +4 -0
  358. package/dist-ts/hooks/useRebound.js +4 -0
  359. package/dist-ts/hooks/useRebound.js.map +1 -1
  360. package/dist-ts/hooks/useShortIntl.d.ts +4 -0
  361. package/dist-ts/hooks/useShortIntl.js +4 -0
  362. package/dist-ts/hooks/useShortIntl.js.map +1 -1
  363. package/dist-ts/index.d.ts +0 -2
  364. package/dist-ts/index.js +0 -2
  365. package/dist-ts/index.js.map +1 -1
  366. package/dist-ts/models/DebugLogger.d.ts +3 -0
  367. package/dist-ts/models/DebugLogger.js +3 -0
  368. package/dist-ts/models/DebugLogger.js.map +1 -1
  369. package/dist-ts/models/GenericContract.d.ts +21 -0
  370. package/dist-ts/models/GenericContract.js +6 -0
  371. package/dist-ts/models/GenericContract.js.map +1 -1
  372. package/dist-ts/models/Orbs.d.ts +9 -0
  373. package/dist-ts/models/Orbs.js +6 -0
  374. package/dist-ts/models/Orbs.js.map +1 -1
  375. package/dist-ts/utils/blockchain.d.ts +4 -0
  376. package/dist-ts/utils/blockchain.js +4 -0
  377. package/dist-ts/utils/blockchain.js.map +1 -1
  378. package/dist-ts/utils/e2e.d.ts +6 -2
  379. package/dist-ts/utils/e2e.js +3 -3
  380. package/dist-ts/utils/e2e.js.map +1 -1
  381. package/dist-ts/utils/flatten.d.ts +1 -0
  382. package/dist-ts/utils/flatten.js +1 -0
  383. package/dist-ts/utils/flatten.js.map +1 -1
  384. package/dist-ts/utils/formatters.js +3 -0
  385. package/dist-ts/utils/formatters.js.map +1 -1
  386. package/dist-ts/utils/html.utils.d.ts +1 -0
  387. package/dist-ts/utils/html.utils.js +1 -0
  388. package/dist-ts/utils/html.utils.js.map +1 -1
  389. package/dist-ts/utils/ownEvent.js +1 -0
  390. package/dist-ts/utils/ownEvent.js.map +1 -1
  391. package/dist-ts/utils/test.js +1 -0
  392. package/dist-ts/utils/test.js.map +1 -1
  393. package/package.json +13 -2
  394. package/dist/components/Header/Header.d.ts +0 -25
  395. package/dist/components/Header/Header.js +0 -88
  396. package/dist/components/Header/Header.module.scss +0 -119
  397. package/dist/components/Header/index.d.ts +0 -2
  398. package/dist/components/Header/index.js +0 -26
  399. package/dist-ts/components/Header/Header.d.ts +0 -25
  400. package/dist-ts/components/Header/Header.js +0 -35
  401. package/dist-ts/components/Header/Header.js.map +0 -1
  402. package/dist-ts/components/Header/Header.module.scss +0 -119
  403. package/dist-ts/components/Header/index.d.ts +0 -2
  404. package/dist-ts/components/Header/index.js +0 -3
  405. package/dist-ts/components/Header/index.js.map +0 -1
@@ -304,8 +304,17 @@ let TransitionAnimationTypes = exports.TransitionAnimationTypes = /*#__PURE__*/f
304
304
  return TransitionAnimationTypes;
305
305
  }({});
306
306
  /**
307
- * Handles the transition between multiple children and recycling of elements
308
- **/
307
+ * A component that manages smooth transitions between different views or screens.
308
+ * It handles animations and switching between multiple children elements.
309
+ *
310
+ * Simple explanation: This component controls how content changes from one screen to another,
311
+ * making the transition look smooth and professional with various animation styles.
312
+ */
309
313
  const Transition = /*#__PURE__*/(0, _react.forwardRef)(_Transition);
314
+
315
+ /**
316
+ * A component that manages smooth transitions between different views or screens.
317
+ * It handles animations and switching between multiple children elements.
318
+ */
310
319
  var _default = exports.default = Transition;
311
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVHJhbnNpdGlvbk1vZHVsZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZXhjbHVkZWQiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcHBseSIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIlRyYW5zaXRpb25DbGFzc2VzIiwidHlwZSIsIlRyYW5zaXRpb25BbmltYXRpb25UeXBlcyIsIkNPSU5fRkxJUCIsImJhY2t3YXJkIiwiZWxlbWVudEV4aXRpbmciLCJTdHlsZXMiLCJmbGlwQm90dG9tVXBPdXQiLCJlbGVtZW50RW50ZXJpbmciLCJmbGlwQm90dG9tVXBJbiIsImZvcndhcmQiLCJGQURFIiwiZmFkZU91dEFic29sdXRlIiwiZmFkZUluRGVsYXllZCIsIlNMSURFIiwiZW50cmFuY2VMZWZ0IiwiZXhpdExlZnQiLCJQT1BfRlJPTV9DTElDS19PUklHSU4iLCJQT1BfRlJPTV9FTEVNRU5UX0lEIiwiZmFkZUluIiwic2NhbGVPdXQiLCJzY2FsZUluIiwiZmFkZU91dCIsIk1BU0siLCJzdHViRW50ZXJpbmciLCJzdHViIiwiQ2hpbGRyZW5XcmFwcGVyRmFjdG9yeSIsImZ1bmMiLCJrZXkiLCJleHRlcm5hbFByb3BzQ29udGFpbmVyIiwidGltZXN0YW1wIiwidG9SZW1vdmVLZXlzIiwiY3JlYXRlZEF0IiwiYXNzb2NpYXRlZEtleSIsImV4dGVybmFsUHJvcHMiLCJfVHJhbnNpdGlvbiIsIl9yZWYiLCJfY29udGFpbmVyUmVmIiwic3RlcCIsImNvbnRlbnRTdHlsZSIsImNvbnRlbnRDbGFzc05hbWUiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIm9uRGlzY2FyZFN0ZXAiLCJsb2NrVHJhbnNpdGlvbldpZHRoIiwibG9ja1RyYW5zaXRpb25IZWlnaHQiLCJwcm9wcyIsImNvbnRhaW5lclJlZiIsInVzZU1lbW8iLCJjcmVhdGVSZWYiLCJwcmVUcmFuc2l0aW9uRGV0YWlscyIsInVzZVJlZiIsInRyYW5zZm9ybU9yaWdpbiIsImNoaWxkcmVuV3JhcHBlcnMiLCJzZXRDaGlsZHJlbldyYXBwZXJzIiwidXNlU3RhdGUiLCJfY2hpbGRyZW4kc3RlcCIsInN0eWxlIiwiX3JlZjIiLCJjcmVhdGVFbGVtZW50IiwiRGF0ZSIsIm5vdyIsInByZXZTdGVwIiwicHJldkNoaWxkIiwidXNlRWZmZWN0IiwiY3VycmVudCIsIl9jaGlsZHJlbiRzdGVwMiIsIl9wcmV2Q2hpbGQkY3VycmVudCIsIl9jaGlsZHJlbiRzdGVwMyIsIm92ZXJmbG93IiwidHJhbnNpdGlvbkNsYXNzZXMiLCJ0cmFuc2l0aW9uVHlwZSIsIkNVU1RPTSIsImNvbmZpZyIsIndpZHRoIiwiY29uY2F0IiwiY2xpZW50V2lkdGgiLCJoZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJ0cmFuc2l0aW9uTWFzayIsIm1hc2tGYWN0b3J5IiwiaW5zZXJ0ZWRBdCIsIl9wcmV2Q2hpbGQkY3VycmVudDIiLCJzdGVwVG9SZW1vdmUiLCJwcmV2S2V5VG9SZW1vdmUiLCJzY3JlZW5zQmVmb3JlQ2hhbmdpbmdTdGVwIiwiZW50ZXJpbmdTY3JlZW5SZWYiLCJGaXJzdE5leHRTY3JlZW4iLCJyZXN0T2ZTY3JlZW5zIiwiYSIsIldlYmtpdE1hc2tJbWFnZSIsImFuaW1hdGlvbkVuZExpc3RlbmVyIiwiZXZlbnQiLCJfZW50ZXJpbmdTY3JlZW5SZWYkY3UiLCJfZW50ZXJpbmdTY3JlZW5SZWYkY3UyIiwidGFyZ2V0IiwiY3VycmVudFRhcmdldCIsImlzQW5pbWF0aW9uRnJvbUV4cGVjdGVkU3RhdGUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsInJlbW92ZSIsInNjcmVlbnNBZnRlclRoZUN1cnJlbnRTdGVwRW50ZXJlZCIsInMiLCJfRmlyc3ROZXh0U2NyZWVuJHRvUmUiLCJzaG91bGRLZWVwIiwic29tZSIsImsiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicHJvcHNDb250YWluZXIiLCJyZWYiLCJvbkFuaW1hdGlvbkVuZCIsIm5ld1dyYXBwZXIiLCJfcmVmMyIsIkZyYWdtZW50IiwiX3ByZXZDaGlsZCRjdXJyZW50MyIsInN0ZXBUb0RlbGV0ZSIsImxhc3RJbmRleCIsImxhc3RXcmFwcGVyIiwibmV4dFNjcmVlblJlZiIsIl9uZXh0U2NyZWVuUmVmJGN1cnJlbiIsIm5leHRTdGF0ZSIsInNob3VsZE1hbnRhaW4iLCJfcmVmNCIsInNsaWNlIiwiZWxlbWVudCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImVsZW1lbnRJZCIsIm9mZnNldFgiLCJjbGllbnRMZWZ0Iiwib2Zmc2V0TGVmdCIsIm9mZnNldFkiLCJjbGllbnRUb3AiLCJvZmZzZXRUb3AiLCJwZXJjZW50WCIsInBlcmNlbnRZIiwicHJvcHNUb1NwcmVhZCIsIm9uQ2xpY2siLCJjbGllbnRYIiwiY2xpZW50WSIsInNlY3Rpb24iLCJtYXAiLCJXcmFwcGVyIiwiY2hpbGRUb1JlbmRlciIsImZpbmQiLCJleHBvcnRzIiwiVHJhbnNpdGlvbiIsImZvcndhcmRSZWYiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RyYW5zaXRpb24vVHJhbnNpdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIEFuaW1hdGlvbkV2ZW50LFxuICBjcmVhdGVSZWYsXG4gIENTU1Byb3BlcnRpZXMsXG4gIERldGFpbGVkSFRNTFByb3BzLFxuICBGb3J3YXJkZWRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEtleSxcbiAgTXV0YWJsZVJlZk9iamVjdCxcbiAgUmVhY3RFbGVtZW50LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi9UcmFuc2l0aW9uLm1vZHVsZS5zY3NzXCI7XG5cbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25UeXBlRGVmaW5pdGlvbnMgPVxuICB8IHtcbiAgICAgIHRyYW5zaXRpb25UeXBlPzpcbiAgICAgICAgfCBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuU0xJREVcbiAgICAgICAgfCBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuUE9QX0ZST01fQ0xJQ0tfT1JJR0lOXG4gICAgICAgIHwgVHJhbnNpdGlvbkFuaW1hdGlvblR5cGVzLkZBREVcbiAgICAgICAgfCBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuQ09JTl9GTElQO1xuICAgIH1cbiAgfCB7XG4gICAgICB0cmFuc2l0aW9uVHlwZT86IFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5QT1BfRlJPTV9FTEVNRU5UX0lEO1xuICAgICAgZWxlbWVudElkOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHRyYW5zaXRpb25UeXBlPzogVHJhbnNpdGlvbkFuaW1hdGlvblR5cGVzLk1BU0s7XG4gICAgICAvKipcbiAgICAgICAqIEl0IHByb3ZpZGVzIHRoZSB0cmFuc2l0aW9uIGNvbnRhaW5lciBzbyB5b3UgY2FuIGNyZWF0ZSBhIGR5bmFtaWMgc3ZnIHRvIG1hc2sgd2l0aFxuICAgICAgICovXG4gICAgICBtYXNrRmFjdG9yeTogKGNvbnRhaW5lcjogSFRNTERpdkVsZW1lbnQpID0+IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHJhbnNpdGlvblR5cGU/OiBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuQ1VTVE9NO1xuICAgICAgY29uZmlnOiBSZXR1cm5UeXBlPHR5cGVvZiBUcmFuc2l0aW9uQ2xhc3Nlcz47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvblByb3BzID0ge1xuICBzdGVwOiBudW1iZXI7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgY29udGVudFN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgY29udGVudENsYXNzTmFtZT86IHN0cmluZztcbiAgY2hpbGRyZW46IChSZWFjdC5SZWFjdEVsZW1lbnQgfCB1bmRlZmluZWQpW107XG4gIG9uRGlzY2FyZFN0ZXA/OiAoZGlzY2FyZGVkS2V5OiBSZWFjdC5LZXksIHN0YXJ0ZWRBbmltYXRpb25BdDogbnVtYmVyKSA9PiB2b2lkO1xuICBsb2NrVHJhbnNpdGlvbldpZHRoPzogYm9vbGVhbjtcbiAgbG9ja1RyYW5zaXRpb25IZWlnaHQ/OiBib29sZWFuO1xufSAmIFRyYW5zaXRpb25UeXBlRGVmaW5pdGlvbnMgJlxuICBPbWl0PFxuICAgIERldGFpbGVkSFRNTFByb3BzPFJlYWN0LkhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiwgYW55PixcbiAgICBcImNsYXNzTmFtZVwiIHwgXCJjaGlsZHJlblwiXG4gID47XG5cbmZ1bmN0aW9uIFRyYW5zaXRpb25DbGFzc2VzKFxuICB0eXBlOiBOb25OdWxsYWJsZTxcbiAgICBFeGNsdWRlPFRyYW5zaXRpb25Qcm9wc1tcInRyYW5zaXRpb25UeXBlXCJdLCBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuQ1VTVE9NPlxuICA+XG4pOiB7XG4gIC8qKlxuICAgKiBBcHBsaWVkIHRvIHRoZSBlbGVtZW50IHRoYXQgd2FzIG5vdCB2aXNpYmxlIGFuZCBpcyBub3cgZW50ZXJpbmcgdGhlIHNjcmVlblxuICAgKi9cbiAgYmFja3dhcmQ6IHtcbiAgICBlbGVtZW50RW50ZXJpbmc6IHN0cmluZztcbiAgICBlbGVtZW50RXhpdGluZzogc3RyaW5nO1xuICB9O1xuICAvKipcbiAgICogQXBwbGllZCB0byB0aGUgZWxlbWVudCB0aGF0IHdhcyB2aXNpYmxlIGFuZCBub3cgaXMgZXhpdGluZyB0aGUgc2NyZWVuXG4gICAqL1xuICBmb3J3YXJkOiB7XG4gICAgZWxlbWVudEVudGVyaW5nOiBzdHJpbmc7XG4gICAgZWxlbWVudEV4aXRpbmc6IHN0cmluZztcbiAgfTtcbn0ge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5DT0lOX0ZMSVA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBiYWNrd2FyZDoge1xuICAgICAgICAgIGVsZW1lbnRFeGl0aW5nOiBTdHlsZXMuZmxpcEJvdHRvbVVwT3V0LFxuICAgICAgICAgIGVsZW1lbnRFbnRlcmluZzogU3R5bGVzLmZsaXBCb3R0b21VcEluLFxuICAgICAgICB9LFxuICAgICAgICBmb3J3YXJkOiB7XG4gICAgICAgICAgZWxlbWVudEV4aXRpbmc6IFN0eWxlcy5mbGlwQm90dG9tVXBPdXQsXG4gICAgICAgICAgZWxlbWVudEVudGVyaW5nOiBTdHlsZXMuZmxpcEJvdHRvbVVwSW4sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGNhc2UgVHJhbnNpdGlvbkFuaW1hdGlvblR5cGVzLkZBREU6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBiYWNrd2FyZDoge1xuICAgICAgICAgIGVsZW1lbnRFeGl0aW5nOiBTdHlsZXMuZmFkZU91dEFic29sdXRlLFxuICAgICAgICAgIGVsZW1lbnRFbnRlcmluZzogU3R5bGVzLmZhZGVJbkRlbGF5ZWQsXG4gICAgICAgIH0sXG4gICAgICAgIGZvcndhcmQ6IHtcbiAgICAgICAgICBlbGVtZW50RXhpdGluZzogU3R5bGVzLmZhZGVPdXRBYnNvbHV0ZSxcbiAgICAgICAgICBlbGVtZW50RW50ZXJpbmc6IFN0eWxlcy5mYWRlSW5EZWxheWVkLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICBjYXNlIFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5TTElERTpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhY2t3YXJkOiB7XG4gICAgICAgICAgZWxlbWVudEVudGVyaW5nOiBTdHlsZXMuZW50cmFuY2VMZWZ0LFxuICAgICAgICAgIGVsZW1lbnRFeGl0aW5nOiBcIlwiLFxuICAgICAgICB9LFxuICAgICAgICBmb3J3YXJkOiB7XG4gICAgICAgICAgZWxlbWVudEVudGVyaW5nOiBcIlwiLFxuICAgICAgICAgIGVsZW1lbnRFeGl0aW5nOiBTdHlsZXMuZXhpdExlZnQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGNhc2UgVHJhbnNpdGlvbkFuaW1hdGlvblR5cGVzLlBPUF9GUk9NX0NMSUNLX09SSUdJTjpcbiAgICBjYXNlIFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5QT1BfRlJPTV9FTEVNRU5UX0lEOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYmFja3dhcmQ6IHtcbiAgICAgICAgICBlbGVtZW50RW50ZXJpbmc6IFN0eWxlcy5mYWRlSW4sXG4gICAgICAgICAgZWxlbWVudEV4aXRpbmc6IFN0eWxlcy5zY2FsZU91dCxcbiAgICAgICAgfSxcbiAgICAgICAgZm9yd2FyZDoge1xuICAgICAgICAgIGVsZW1lbnRFbnRlcmluZzogU3R5bGVzLnNjYWxlSW4sXG4gICAgICAgICAgZWxlbWVudEV4aXRpbmc6IFN0eWxlcy5mYWRlT3V0LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICBjYXNlIFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5NQVNLOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYmFja3dhcmQ6IHtcbiAgICAgICAgICBlbGVtZW50RW50ZXJpbmc6IFN0eWxlcy5zdHViRW50ZXJpbmcsXG4gICAgICAgICAgZWxlbWVudEV4aXRpbmc6IFN0eWxlcy5zdHViLFxuICAgICAgICB9LFxuICAgICAgICBmb3J3YXJkOiB7XG4gICAgICAgICAgZWxlbWVudEVudGVyaW5nOiBTdHlsZXMuc3R1YkVudGVyaW5nLFxuICAgICAgICAgIGVsZW1lbnRFeGl0aW5nOiBTdHlsZXMuc3R1YixcbiAgICAgICAgfSxcbiAgICAgIH07XG4gIH1cbn1cblxudHlwZSBDaGlsZHJlbldyYXBwZXIgPSAoKHByb3BzOiB7XG4gIGNoaWxkcmVuOiBUcmFuc2l0aW9uUHJvcHNbXCJjaGlsZHJlblwiXVtudW1iZXJdO1xufSkgPT4gUmVhY3RFbGVtZW50KSAmIHtcbiAgY3JlYXRlZEF0OiBudW1iZXI7XG4gIGFzc29jaWF0ZWRLZXk6IEtleTtcbiAgdG9SZW1vdmVLZXlzPzogS2V5W107XG4gIGV4dGVybmFsUHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9O1xufTtcblxuZnVuY3Rpb24gQ2hpbGRyZW5XcmFwcGVyRmFjdG9yeShcbiAgZnVuYzogKHA6IHsgY2hpbGRyZW46IFRyYW5zaXRpb25Qcm9wc1tcImNoaWxkcmVuXCJdIH0pID0+IFJlYWN0RWxlbWVudCxcbiAga2V5OiBLZXksXG4gIGV4dGVybmFsUHJvcHNDb250YWluZXI6IHsgW2s6IHN0cmluZ106IGFueSB9LFxuICAvKiogVGhpcyBpcyB1c2VkIHRvIHByZXZlbnQgbmV3ZXIgXCJkdXBsaWNhdGVkXCIga2V5cyBmcm9tIGJlaW5nIHJlbW92ZWQgYWZ0ZXIgdGhlIG5ldyBlbGVtZW50IGZpbmlzaGVkIGFuaW1hdGlvbiAqL1xuICB0aW1lc3RhbXA6IG51bWJlcixcbiAgdG9SZW1vdmVLZXlzPzogS2V5W11cbik6IENoaWxkcmVuV3JhcHBlciB7XG4gIChmdW5jIGFzIGFueSkuY3JlYXRlZEF0ID0gdGltZXN0YW1wO1xuICAoZnVuYyBhcyBhbnkpLmFzc29jaWF0ZWRLZXkgPSBrZXk7XG4gIChmdW5jIGFzIGFueSkudG9SZW1vdmVLZXlzID0gdG9SZW1vdmVLZXlzO1xuICAoZnVuYyBhcyBhbnkpLmV4dGVybmFsUHJvcHMgPSBleHRlcm5hbFByb3BzQ29udGFpbmVyO1xuICByZXR1cm4gZnVuYyBhcyB1bmtub3duIGFzIENoaWxkcmVuV3JhcHBlcjtcbn1cbmZ1bmN0aW9uIF9UcmFuc2l0aW9uKFxuICB7XG4gICAgc3RlcCxcbiAgICBjb250ZW50U3R5bGUsXG4gICAgY29udGVudENsYXNzTmFtZSA9IFwiXCIsXG4gICAgY2hpbGRyZW4sXG4gICAgY2xhc3NOYW1lLFxuICAgIG9uRGlzY2FyZFN0ZXAsXG4gICAgbG9ja1RyYW5zaXRpb25XaWR0aCA9IGZhbHNlLFxuICAgIGxvY2tUcmFuc2l0aW9uSGVpZ2h0ID0gZmFsc2UsXG4gICAgLi4ucHJvcHNcbiAgfTogVHJhbnNpdGlvblByb3BzLFxuICBfY29udGFpbmVyUmVmOiBGb3J3YXJkZWRSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuKSB7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIChfY29udGFpbmVyUmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPikgfHwgY3JlYXRlUmVmKCksXG4gICAgW19jb250YWluZXJSZWZdXG4gICk7XG4gIGNvbnN0IHByZVRyYW5zaXRpb25EZXRhaWxzID0gdXNlUmVmPENTU1Byb3BlcnRpZXM+KHtcbiAgICB0cmFuc2Zvcm1PcmlnaW46IFwiaW5pdGlhbFwiLFxuICB9KTtcbiAgY29uc3QgW2NoaWxkcmVuV3JhcHBlcnMsIHNldENoaWxkcmVuV3JhcHBlcnNdID0gdXNlU3RhdGU8XG4gICAgKENoaWxkcmVuV3JhcHBlciB8IHVuZGVmaW5lZClbXVxuICA+KCgpID0+IHtcbiAgICBjb25zdCBleHRlcm5hbFByb3BzID0ge1xuICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInRyYW5zaXRpb24tY29udGFpbmVyXCIsXG4gICAgICBrZXk6IFN0cmluZyhjaGlsZHJlbltzdGVwXT8ua2V5IHx8IHN0ZXApLFxuICAgICAgc3R5bGU6IGNvbnRlbnRTdHlsZSxcbiAgICAgIGNsYXNzTmFtZTogY29udGVudENsYXNzTmFtZSxcbiAgICB9O1xuICAgIGNvbnN0IGZ1bmMgPSBDaGlsZHJlbldyYXBwZXJGYWN0b3J5KFxuICAgICAgKHsgY2hpbGRyZW4gfSkgPT4gPGRpdiB7Li4uZXh0ZXJuYWxQcm9wc30+e2NoaWxkcmVufTwvZGl2PixcbiAgICAgIGNoaWxkcmVuW3N0ZXBdIS5rZXkgfHwgc3RlcCxcbiAgICAgIGV4dGVybmFsUHJvcHMsXG4gICAgICBEYXRlLm5vdygpLFxuICAgICAgW11cbiAgICApO1xuICAgIHJldHVybiBbZnVuY107XG4gIH0pO1xuXG4gIGNvbnN0IHByZXZTdGVwID0gdXNlUmVmKHN0ZXApO1xuICBjb25zdCBwcmV2Q2hpbGQgPSB1c2VSZWYoY2hpbGRyZW5bc3RlcF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiAoKSA9PiB7XG4gICAgcHJldkNoaWxkLmN1cnJlbnQgPSBjaGlsZHJlbltzdGVwXTtcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb250YWluZXJSZWYuY3VycmVudCEuc3R5bGUub3ZlcmZsb3cgPSBcImhpZGRlblwiO1xuICAgIGNvbnN0IHRyYW5zaXRpb25DbGFzc2VzID1cbiAgICAgIHByb3BzLnRyYW5zaXRpb25UeXBlID09PSBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuQ1VTVE9NXG4gICAgICAgID8gcHJvcHMuY29uZmlnXG4gICAgICAgIDogVHJhbnNpdGlvbkNsYXNzZXMoXG4gICAgICAgICAgICBwcm9wcy50cmFuc2l0aW9uVHlwZSB8fCBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuU0xJREVcbiAgICAgICAgICApO1xuXG4gICAgaWYgKFxuICAgICAgcHJldkNoaWxkLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICAgIGNoaWxkcmVuW3N0ZXBdPy5rZXkgPT09IHByZXZDaGlsZC5jdXJyZW50Py5rZXkgLy8gSSdtIHJlbmRlcmluZyB0aGUgc2FtZSBzY3JlZW5cbiAgICApIHtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHByZXZTdGVwLmN1cnJlbnQgPSBzdGVwO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBrZXkgPSBjaGlsZHJlbltzdGVwXT8ua2V5IHx8IHN0ZXA7XG5cbiAgICBpZiAocHJldlN0ZXAuY3VycmVudCAhPT0gc3RlcCAmJiBsb2NrVHJhbnNpdGlvbldpZHRoKVxuICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQhLnN0eWxlLndpZHRoID0gYCR7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50IS5jbGllbnRXaWR0aFxuICAgICAgfXB4YDtcblxuICAgIGlmIChwcmV2U3RlcC5jdXJyZW50ICE9PSBzdGVwICYmIGxvY2tUcmFuc2l0aW9uSGVpZ2h0KVxuICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQhLnN0eWxlLmhlaWdodCA9IGAke1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCEuY2xpZW50SGVpZ2h0XG4gICAgICB9cHhgO1xuICAgIGNvbnN0IHRyYW5zaXRpb25NYXNrID1cbiAgICAgIHByb3BzLnRyYW5zaXRpb25UeXBlID09PSBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuTUFTS1xuICAgICAgICA/IHByb3BzLm1hc2tGYWN0b3J5KGNvbnRhaW5lclJlZi5jdXJyZW50ISlcbiAgICAgICAgOiBcIlwiO1xuICAgIGNvbnN0IGluc2VydGVkQXQgPSBEYXRlLm5vdygpO1xuXG4gICAgLyoqIFRoaXMgcnVucyBvbiBiYWNrd2FyZHMgKi9cbiAgICBpZiAocHJldlN0ZXAuY3VycmVudCA+IHN0ZXApIHtcbiAgICAgIGNvbnN0IHN0ZXBUb1JlbW92ZSA9IHByZXZTdGVwLmN1cnJlbnQ7XG4gICAgICBjb25zdCBwcmV2S2V5VG9SZW1vdmUgPSBwcmV2Q2hpbGQuY3VycmVudD8ua2V5IHx8IHN0ZXBUb1JlbW92ZTtcbiAgICAgIHNldENoaWxkcmVuV3JhcHBlcnMoKHNjcmVlbnNCZWZvcmVDaGFuZ2luZ1N0ZXApID0+IHtcbiAgICAgICAgY29uc3QgZW50ZXJpbmdTY3JlZW5SZWYgPSBjcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG4gICAgICAgIGNvbnN0IFtGaXJzdE5leHRTY3JlZW4sIC4uLnJlc3RPZlNjcmVlbnNdID1cbiAgICAgICAgICBzY3JlZW5zQmVmb3JlQ2hhbmdpbmdTdGVwLmZpbHRlcihcbiAgICAgICAgICAgIChhKSA9PiBhPy5hc3NvY2lhdGVkS2V5ICE9PSBTdHJpbmcoa2V5KVxuICAgICAgICAgICk7XG5cbiAgICAgICAgaWYgKEZpcnN0TmV4dFNjcmVlbikge1xuICAgICAgICAgIE9iamVjdC5hc3NpZ24oRmlyc3ROZXh0U2NyZWVuLmV4dGVybmFsUHJvcHMsIHtcbiAgICAgICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJ0cmFuc2l0aW9uLWNvbnRhaW5lclwiLFxuICAgICAgICAgICAgc3R5bGU6IHsgLi4uY29udGVudFN0eWxlLCBXZWJraXRNYXNrSW1hZ2U6IHRyYW5zaXRpb25NYXNrIH0sXG4gICAgICAgICAgICBjbGFzc05hbWU6IGAke3RyYW5zaXRpb25DbGFzc2VzLmJhY2t3YXJkLmVsZW1lbnRFeGl0aW5nfWAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYW5pbWF0aW9uRW5kTGlzdGVuZXIoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50PEhUTUxEaXZFbGVtZW50Pikge1xuICAgICAgICAgIGlmIChldmVudC50YXJnZXQgIT09IGV2ZW50LmN1cnJlbnRUYXJnZXQpIHJldHVybjtcblxuICAgICAgICAgIGNvbnN0IGlzQW5pbWF0aW9uRnJvbUV4cGVjdGVkU3RhdGUgPVxuICAgICAgICAgICAgZW50ZXJpbmdTY3JlZW5SZWYuY3VycmVudD8uY2xhc3NMaXN0LmNvbnRhaW5zKFxuICAgICAgICAgICAgICB0cmFuc2l0aW9uQ2xhc3Nlcy5iYWNrd2FyZC5lbGVtZW50RW50ZXJpbmdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgZW50ZXJpbmdTY3JlZW5SZWYuY3VycmVudD8uY2xhc3NMaXN0LnJlbW92ZShcbiAgICAgICAgICAgIHRyYW5zaXRpb25DbGFzc2VzLmJhY2t3YXJkLmVsZW1lbnRFbnRlcmluZ1xuICAgICAgICAgICk7XG4gICAgICAgICAgc2V0Q2hpbGRyZW5XcmFwcGVycygoc2NyZWVuc0FmdGVyVGhlQ3VycmVudFN0ZXBFbnRlcmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAob25EaXNjYXJkU3RlcCkge1xuICAgICAgICAgICAgICBpZiAoaXNBbmltYXRpb25Gcm9tRXhwZWN0ZWRTdGF0ZSlcbiAgICAgICAgICAgICAgICBvbkRpc2NhcmRTdGVwKHByZXZLZXlUb1JlbW92ZSwgaW5zZXJ0ZWRBdCk7XG4gICAgICAgICAgICAgIGlmIChGaXJzdE5leHRTY3JlZW4gJiYgRmlyc3ROZXh0U2NyZWVuLnRvUmVtb3ZlS2V5cylcbiAgICAgICAgICAgICAgICBGaXJzdE5leHRTY3JlZW4udG9SZW1vdmVLZXlzLmZvckVhY2gob25EaXNjYXJkU3RlcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc2NyZWVuc0FmdGVyVGhlQ3VycmVudFN0ZXBFbnRlcmVkLmZpbHRlcigocykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzaG91bGRLZWVwID1cbiAgICAgICAgICAgICAgICAocz8uYXNzb2NpYXRlZEtleSAhPT0gU3RyaW5nKHByZXZLZXlUb1JlbW92ZSkgJiZcbiAgICAgICAgICAgICAgICAgICFGaXJzdE5leHRTY3JlZW4/LnRvUmVtb3ZlS2V5cz8uc29tZShcbiAgICAgICAgICAgICAgICAgICAgKGspID0+IFN0cmluZyhrKSA9PT0gU3RyaW5nKHM/LmFzc29jaWF0ZWRLZXkpXG4gICAgICAgICAgICAgICAgICApKSB8fFxuICAgICAgICAgICAgICAgIHMhLmNyZWF0ZWRBdCEgPiBpbnNlcnRlZEF0O1xuICAgICAgICAgICAgICByZXR1cm4gc2hvdWxkS2VlcDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAgIFwiYW5pbWF0aW9uZW5kXCIsXG4gICAgICAgICAgICBhbmltYXRpb25FbmRMaXN0ZW5lciBhcyBhbnlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByb3BzQ29udGFpbmVyID0ge1xuICAgICAgICAgIHJlZjogZW50ZXJpbmdTY3JlZW5SZWYsXG4gICAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInRyYW5zaXRpb24tY29udGFpbmVyXCIsXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIGNsYXNzTmFtZTogYCR7dHJhbnNpdGlvbkNsYXNzZXMuYmFja3dhcmQuZWxlbWVudEVudGVyaW5nfSAke2NvbnRlbnRDbGFzc05hbWV9YCxcbiAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgLi4uY29udGVudFN0eWxlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb25BbmltYXRpb25FbmQ6IGFuaW1hdGlvbkVuZExpc3RlbmVyLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBuZXdXcmFwcGVyID0gQ2hpbGRyZW5XcmFwcGVyRmFjdG9yeShcbiAgICAgICAgICAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gPGRpdiB7Li4ucHJvcHNDb250YWluZXJ9PntjaGlsZHJlbn08L2Rpdj47XG4gICAgICAgICAgfSxcbiAgICAgICAgICBrZXksXG4gICAgICAgICAgcHJvcHNDb250YWluZXIsXG4gICAgICAgICAgaW5zZXJ0ZWRBdCxcbiAgICAgICAgICBbcHJldktleVRvUmVtb3ZlLCAuLi4oRmlyc3ROZXh0U2NyZWVuPy50b1JlbW92ZUtleXMgfHwgW10pXVxuICAgICAgICApO1xuICAgICAgICBpZiAoRmlyc3ROZXh0U2NyZWVuKVxuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBuZXdXcmFwcGVyLFxuICAgICAgICAgICAgRmlyc3ROZXh0U2NyZWVuIHx8XG4gICAgICAgICAgICAgIENoaWxkcmVuV3JhcHBlckZhY3RvcnkoXG4gICAgICAgICAgICAgICAgKCkgPT4gPFJlYWN0LkZyYWdtZW50IC8+LFxuICAgICAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgaW5zZXJ0ZWRBdFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgLi4ucmVzdE9mU2NyZWVucyxcbiAgICAgICAgICBdO1xuICAgICAgICBlbHNlIHJldHVybiBbbmV3V3JhcHBlcl07XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHByZXZTdGVwLmN1cnJlbnQgPCBzdGVwKSB7XG4gICAgICBjb25zdCBzdGVwVG9EZWxldGUgPSBwcmV2U3RlcC5jdXJyZW50O1xuICAgICAgY29uc3QgcHJldktleVRvUmVtb3ZlID0gU3RyaW5nKHByZXZDaGlsZC5jdXJyZW50Py5rZXkgfHwgc3RlcFRvRGVsZXRlKTtcbiAgICAgIHNldENoaWxkcmVuV3JhcHBlcnMoKHNjcmVlbnNCZWZvcmVDaGFuZ2luZ1N0ZXApID0+IHtcbiAgICAgICAgY29uc3QgbGFzdEluZGV4ID0gc2NyZWVuc0JlZm9yZUNoYW5naW5nU3RlcC5sZW5ndGggLSAxO1xuICAgICAgICBjb25zdCBsYXN0V3JhcHBlciA9IHNjcmVlbnNCZWZvcmVDaGFuZ2luZ1N0ZXBbbGFzdEluZGV4XTtcbiAgICAgICAgY29uc3QgbmV4dFNjcmVlblJlZiA9IGNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcbiAgICAgICAgaWYgKGxhc3RXcmFwcGVyKSB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihsYXN0V3JhcHBlci5leHRlcm5hbFByb3BzLCB7XG4gICAgICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwidHJhbnNpdGlvbi1jb250YWluZXJcIixcbiAgICAgICAgICAgIHN0eWxlOiB7IC4uLmNvbnRlbnRTdHlsZSwgV2Via2l0TWFza0ltYWdlOiB0cmFuc2l0aW9uTWFzayB9LFxuICAgICAgICAgICAgY2xhc3NOYW1lOiBgJHtjb250ZW50Q2xhc3NOYW1lfSAke3RyYW5zaXRpb25DbGFzc2VzLmZvcndhcmQuZWxlbWVudEV4aXRpbmd9YCxcbiAgICAgICAgICAgIG9uQW5pbWF0aW9uRW5kOiAoZTogQW5pbWF0aW9uRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGUudGFyZ2V0ICE9PSBlLmN1cnJlbnRUYXJnZXQpIHJldHVybjtcbiAgICAgICAgICAgICAgaWYgKHRyYW5zaXRpb25DbGFzc2VzLmZvcndhcmQuZWxlbWVudEVudGVyaW5nKVxuICAgICAgICAgICAgICAgIG5leHRTY3JlZW5SZWYuY3VycmVudD8uY2xhc3NMaXN0LnJlbW92ZShcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb25DbGFzc2VzLmZvcndhcmQuZWxlbWVudEVudGVyaW5nXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKG9uRGlzY2FyZFN0ZXApIG9uRGlzY2FyZFN0ZXAocHJldktleVRvUmVtb3ZlLCBpbnNlcnRlZEF0KTtcbiAgICAgICAgICAgICAgc2V0Q2hpbGRyZW5XcmFwcGVycygoc2NyZWVuc0FmdGVyVGhlQ3VycmVudFN0ZXBFbnRlcmVkKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dFN0YXRlID0gc2NyZWVuc0FmdGVyVGhlQ3VycmVudFN0ZXBFbnRlcmVkLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgIChzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZE1hbnRhaW4gPVxuICAgICAgICAgICAgICAgICAgICAgIHM/LmFzc29jaWF0ZWRLZXkgIT09IFN0cmluZyhwcmV2S2V5VG9SZW1vdmUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgcy5jcmVhdGVkQXQgPiBpbnNlcnRlZEF0O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2hvdWxkTWFudGFpbjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXh0U3RhdGU7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcm9wc0NvbnRhaW5lciA9IHtcbiAgICAgICAgICByZWY6IG5leHRTY3JlZW5SZWYsXG4gICAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInRyYW5zaXRpb24tY29udGFpbmVyXCIsXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAuLi5jb250ZW50U3R5bGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjbGFzc05hbWU6IGAke2NvbnRlbnRDbGFzc05hbWV9ICR7dHJhbnNpdGlvbkNsYXNzZXMuZm9yd2FyZC5lbGVtZW50RW50ZXJpbmd9YCxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgbmV3V3JhcHBlciA9IENoaWxkcmVuV3JhcHBlckZhY3RvcnkoXG4gICAgICAgICAgKHsgY2hpbGRyZW4gfSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIDxkaXYgey4uLnByb3BzQ29udGFpbmVyfT57Y2hpbGRyZW59PC9kaXY+O1xuICAgICAgICAgIH0sXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHByb3BzQ29udGFpbmVyLFxuICAgICAgICAgIGluc2VydGVkQXRcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAuLi5zY3JlZW5zQmVmb3JlQ2hhbmdpbmdTdGVwLnNsaWNlKDAsIGxhc3RJbmRleCksXG4gICAgICAgICAgbGFzdFdyYXBwZXIgfHxcbiAgICAgICAgICAgIENoaWxkcmVuV3JhcHBlckZhY3RvcnkoXG4gICAgICAgICAgICAgICgpID0+IDxSZWFjdC5GcmFnbWVudCAvPixcbiAgICAgICAgICAgICAgXCJmYWxsYmFja1wiLFxuICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgaW5zZXJ0ZWRBdFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBuZXdXcmFwcGVyLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBwcmV2U3RlcC5jdXJyZW50ID0gc3RlcDtcbiAgICB9O1xuICB9LCBbc3RlcF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNoaWxkcmVuV3JhcHBlcnMubGVuZ3RoID09PSAxICYmIGxvY2tUcmFuc2l0aW9uV2lkdGgpXG4gICAgICBjb250YWluZXJSZWYuY3VycmVudCEuc3R5bGUud2lkdGggPSBcIlwiO1xuICAgIGlmIChjaGlsZHJlbldyYXBwZXJzLmxlbmd0aCA9PT0gMSAmJiBsb2NrVHJhbnNpdGlvbkhlaWdodClcbiAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50IS5zdHlsZS5oZWlnaHQgPSBcIlwiO1xuICB9LCBbY2hpbGRyZW5XcmFwcGVycy5sZW5ndGggIT09IDFdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHByb3BzLnRyYW5zaXRpb25UeXBlID09PSBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuUE9QX0ZST01fRUxFTUVOVF9JRCAmJlxuICAgICAgXCJlbGVtZW50SWRcIiBpbiBwcm9wc1xuICAgICkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgIGAjJHtwcm9wcy5lbGVtZW50SWR9YFxuICAgICAgKSBhcyBIVE1MRGl2RWxlbWVudDtcblxuICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgeyBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0gPSBjb250YWluZXJSZWYuY3VycmVudCE7XG5cbiAgICAgICAgY29uc3Qgb2Zmc2V0WCA9XG4gICAgICAgICAgZWxlbWVudC5jbGllbnRMZWZ0ICsgZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5jbGllbnRXaWR0aCAvIDI7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPVxuICAgICAgICAgIGVsZW1lbnQuY2xpZW50VG9wICsgZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50LmNsaWVudEhlaWdodCAvIDI7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRYID0gKG9mZnNldFggKiAxMDApIC8gY2xpZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRZID0gKG9mZnNldFkgKiAxMDApIC8gY2xpZW50SGVpZ2h0O1xuICAgICAgICBwcmVUcmFuc2l0aW9uRGV0YWlscy5jdXJyZW50LnRyYW5zZm9ybU9yaWdpbiA9IGAke3BlcmNlbnRYfSUgJHtwZXJjZW50WX0lYDtcblxuICAgICAgICBPYmplY3QuYXNzaWduKGNvbnRhaW5lclJlZi5jdXJyZW50IS5zdHlsZSwge1xuICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogYCR7cGVyY2VudFh9JSAke3BlcmNlbnRZfSVgLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgT2JqZWN0LmFzc2lnbihjb250YWluZXJSZWYuY3VycmVudCEuc3R5bGUsIHByZVRyYW5zaXRpb25EZXRhaWxzLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIGlmIChjaGlsZHJlbldyYXBwZXJzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQhLnN0eWxlLm92ZXJmbG93ID0gXCJcIjtcbiAgICB9XG4gIH0sIFtjaGlsZHJlbldyYXBwZXJzLmxlbmd0aF0pO1xuXG4gIGNvbnN0IHByb3BzVG9TcHJlYWQgPSB7IC4uLnByb3BzIH0gYXMgYW55O1xuICBkZWxldGUgcHJvcHNUb1NwcmVhZC50cmFuc2l0aW9uVHlwZTtcbiAgZGVsZXRlIHByb3BzVG9TcHJlYWQuY29uZmlnO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxzZWN0aW9uXG4gICAgICAgIHsuLi5wcm9wc1RvU3ByZWFkfVxuICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGN1cnJlbnRUYXJnZXQ6IHsgb2Zmc2V0VG9wLCBvZmZzZXRMZWZ0LCBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0sXG4gICAgICAgICAgICBjbGllbnRYLFxuICAgICAgICAgICAgY2xpZW50WSxcbiAgICAgICAgICB9ID0gZTtcbiAgICAgICAgICBjb25zdCBvZmZzZXRYID0gY2xpZW50WCAtIG9mZnNldExlZnQ7XG4gICAgICAgICAgY29uc3Qgb2Zmc2V0WSA9IGNsaWVudFkgLSBvZmZzZXRUb3A7XG4gICAgICAgICAgY29uc3QgcGVyY2VudFggPSAob2Zmc2V0WCAqIDEwMCkgLyBjbGllbnRXaWR0aDtcbiAgICAgICAgICBjb25zdCBwZXJjZW50WSA9IChvZmZzZXRZICogMTAwKSAvIGNsaWVudEhlaWdodDtcblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHByb3BzLnRyYW5zaXRpb25UeXBlID09PVxuICAgICAgICAgICAgICBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuUE9QX0ZST01fRUxFTUVOVF9JRCB8fFxuICAgICAgICAgICAgcHJvcHMudHJhbnNpdGlvblR5cGUgPT09XG4gICAgICAgICAgICAgIFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5QT1BfRlJPTV9DTElDS19PUklHSU5cbiAgICAgICAgICApXG4gICAgICAgICAgICBwcmVUcmFuc2l0aW9uRGV0YWlscy5jdXJyZW50LnRyYW5zZm9ybU9yaWdpbiA9IGAke3BlcmNlbnRYfSUgJHtwZXJjZW50WX0lYDtcbiAgICAgICAgICBpZiAocHJvcHMub25DbGljaykgcHJvcHMub25DbGljayhlIGFzIGFueSk7XG4gICAgICAgIH19XG4gICAgICAgIGRhdGEtdGVzdGlkPVwidHJhbnNpdGlvbi1jb250cm9sbGVyXCJcbiAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGVzLnNlY3Rpb259ICR7Y2xhc3NOYW1lfWB9XG4gICAgICA+XG4gICAgICAgIHsoY2hpbGRyZW5XcmFwcGVycyBhcyBDaGlsZHJlbldyYXBwZXJbXSkubWFwKChXcmFwcGVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgY2hpbGRUb1JlbmRlciA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAgICAgICAoYSwgaSkgPT4gKGE/LmtleSB8fCBpKSA9PT0gV3JhcHBlcj8uYXNzb2NpYXRlZEtleVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxXcmFwcGVyIGtleT17YCR7V3JhcHBlciEuYXNzb2NpYXRlZEtleX0gJHtXcmFwcGVyLmNyZWF0ZWRBdH1gfT5cbiAgICAgICAgICAgICAgPD57Y2hpbGRUb1JlbmRlcn08Lz5cbiAgICAgICAgICAgIDwvV3JhcHBlcj5cbiAgICAgICAgICApO1xuICAgICAgICB9KX1cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8Lz5cbiAgKTtcbn1cblxuZXhwb3J0IGVudW0gVHJhbnNpdGlvbkFuaW1hdGlvblR5cGVzIHtcbiAgU0xJREUsXG4gIFBPUF9GUk9NX0NMSUNLX09SSUdJTixcbiAgUE9QX0ZST01fRUxFTUVOVF9JRCxcbiAgRkFERSxcbiAgQ09JTl9GTElQLFxuICBNQVNLLFxuICBDVVNUT00sXG59XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgdHJhbnNpdGlvbiBiZXR3ZWVuIG11bHRpcGxlIGNoaWxkcmVuIGFuZCByZWN5Y2xpbmcgb2YgZWxlbWVudHNcbiAqKi9cbmNvbnN0IFRyYW5zaXRpb24gPSBmb3J3YXJkUmVmKF9UcmFuc2l0aW9uKTtcbmV4cG9ydCBkZWZhdWx0IFRyYW5zaXRpb247XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQWVBLElBQUFD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
320
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVHJhbnNpdGlvbk1vZHVsZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZXhjbHVkZWQiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcHBseSIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIlRyYW5zaXRpb25DbGFzc2VzIiwidHlwZSIsIlRyYW5zaXRpb25BbmltYXRpb25UeXBlcyIsIkNPSU5fRkxJUCIsImJhY2t3YXJkIiwiZWxlbWVudEV4aXRpbmciLCJTdHlsZXMiLCJmbGlwQm90dG9tVXBPdXQiLCJlbGVtZW50RW50ZXJpbmciLCJmbGlwQm90dG9tVXBJbiIsImZvcndhcmQiLCJGQURFIiwiZmFkZU91dEFic29sdXRlIiwiZmFkZUluRGVsYXllZCIsIlNMSURFIiwiZW50cmFuY2VMZWZ0IiwiZXhpdExlZnQiLCJQT1BfRlJPTV9DTElDS19PUklHSU4iLCJQT1BfRlJPTV9FTEVNRU5UX0lEIiwiZmFkZUluIiwic2NhbGVPdXQiLCJzY2FsZUluIiwiZmFkZU91dCIsIk1BU0siLCJzdHViRW50ZXJpbmciLCJzdHViIiwiQ2hpbGRyZW5XcmFwcGVyRmFjdG9yeSIsImZ1bmMiLCJrZXkiLCJleHRlcm5hbFByb3BzQ29udGFpbmVyIiwidGltZXN0YW1wIiwidG9SZW1vdmVLZXlzIiwiY3JlYXRlZEF0IiwiYXNzb2NpYXRlZEtleSIsImV4dGVybmFsUHJvcHMiLCJfVHJhbnNpdGlvbiIsIl9yZWYiLCJfY29udGFpbmVyUmVmIiwic3RlcCIsImNvbnRlbnRTdHlsZSIsImNvbnRlbnRDbGFzc05hbWUiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIm9uRGlzY2FyZFN0ZXAiLCJsb2NrVHJhbnNpdGlvbldpZHRoIiwibG9ja1RyYW5zaXRpb25IZWlnaHQiLCJwcm9wcyIsImNvbnRhaW5lclJlZiIsInVzZU1lbW8iLCJjcmVhdGVSZWYiLCJwcmVUcmFuc2l0aW9uRGV0YWlscyIsInVzZVJlZiIsInRyYW5zZm9ybU9yaWdpbiIsImNoaWxkcmVuV3JhcHBlcnMiLCJzZXRDaGlsZHJlbldyYXBwZXJzIiwidXNlU3RhdGUiLCJfY2hpbGRyZW4kc3RlcCIsInN0eWxlIiwiX3JlZjIiLCJjcmVhdGVFbGVtZW50IiwiRGF0ZSIsIm5vdyIsInByZXZTdGVwIiwicHJldkNoaWxkIiwidXNlRWZmZWN0IiwiY3VycmVudCIsIl9jaGlsZHJlbiRzdGVwMiIsIl9wcmV2Q2hpbGQkY3VycmVudCIsIl9jaGlsZHJlbiRzdGVwMyIsIm92ZXJmbG93IiwidHJhbnNpdGlvbkNsYXNzZXMiLCJ0cmFuc2l0aW9uVHlwZSIsIkNVU1RPTSIsImNvbmZpZyIsIndpZHRoIiwiY29uY2F0IiwiY2xpZW50V2lkdGgiLCJoZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJ0cmFuc2l0aW9uTWFzayIsIm1hc2tGYWN0b3J5IiwiaW5zZXJ0ZWRBdCIsIl9wcmV2Q2hpbGQkY3VycmVudDIiLCJzdGVwVG9SZW1vdmUiLCJwcmV2S2V5VG9SZW1vdmUiLCJzY3JlZW5zQmVmb3JlQ2hhbmdpbmdTdGVwIiwiZW50ZXJpbmdTY3JlZW5SZWYiLCJGaXJzdE5leHRTY3JlZW4iLCJyZXN0T2ZTY3JlZW5zIiwiYSIsIldlYmtpdE1hc2tJbWFnZSIsImFuaW1hdGlvbkVuZExpc3RlbmVyIiwiZXZlbnQiLCJfZW50ZXJpbmdTY3JlZW5SZWYkY3UiLCJfZW50ZXJpbmdTY3JlZW5SZWYkY3UyIiwidGFyZ2V0IiwiY3VycmVudFRhcmdldCIsImlzQW5pbWF0aW9uRnJvbUV4cGVjdGVkU3RhdGUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsInJlbW92ZSIsInNjcmVlbnNBZnRlclRoZUN1cnJlbnRTdGVwRW50ZXJlZCIsInMiLCJfRmlyc3ROZXh0U2NyZWVuJHRvUmUiLCJzaG91bGRLZWVwIiwic29tZSIsImsiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicHJvcHNDb250YWluZXIiLCJyZWYiLCJvbkFuaW1hdGlvbkVuZCIsIm5ld1dyYXBwZXIiLCJfcmVmMyIsIkZyYWdtZW50IiwiX3ByZXZDaGlsZCRjdXJyZW50MyIsInN0ZXBUb0RlbGV0ZSIsImxhc3RJbmRleCIsImxhc3RXcmFwcGVyIiwibmV4dFNjcmVlblJlZiIsIl9uZXh0U2NyZWVuUmVmJGN1cnJlbiIsIm5leHRTdGF0ZSIsInNob3VsZE1hbnRhaW4iLCJfcmVmNCIsInNsaWNlIiwiZWxlbWVudCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImVsZW1lbnRJZCIsIm9mZnNldFgiLCJjbGllbnRMZWZ0Iiwib2Zmc2V0TGVmdCIsIm9mZnNldFkiLCJjbGllbnRUb3AiLCJvZmZzZXRUb3AiLCJwZXJjZW50WCIsInBlcmNlbnRZIiwicHJvcHNUb1NwcmVhZCIsIm9uQ2xpY2siLCJjbGllbnRYIiwiY2xpZW50WSIsInNlY3Rpb24iLCJtYXAiLCJXcmFwcGVyIiwiY2hpbGRUb1JlbmRlciIsImZpbmQiLCJleHBvcnRzIiwiVHJhbnNpdGlvbiIsImZvcndhcmRSZWYiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RyYW5zaXRpb24vVHJhbnNpdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIEFuaW1hdGlvbkV2ZW50LFxuICBjcmVhdGVSZWYsXG4gIENTU1Byb3BlcnRpZXMsXG4gIERldGFpbGVkSFRNTFByb3BzLFxuICBGb3J3YXJkZWRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEtleSxcbiAgTXV0YWJsZVJlZk9iamVjdCxcbiAgUmVhY3RFbGVtZW50LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi9UcmFuc2l0aW9uLm1vZHVsZS5zY3NzXCI7XG5cbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25UeXBlRGVmaW5pdGlvbnMgPVxuICB8IHtcbiAgICAgIHRyYW5zaXRpb25UeXBlPzpcbiAgICAgICAgfCBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuU0xJREVcbiAgICAgICAgfCBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuUE9QX0ZST01fQ0xJQ0tfT1JJR0lOXG4gICAgICAgIHwgVHJhbnNpdGlvbkFuaW1hdGlvblR5cGVzLkZBREVcbiAgICAgICAgfCBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuQ09JTl9GTElQO1xuICAgIH1cbiAgfCB7XG4gICAgICB0cmFuc2l0aW9uVHlwZT86IFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5QT1BfRlJPTV9FTEVNRU5UX0lEO1xuICAgICAgZWxlbWVudElkOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHRyYW5zaXRpb25UeXBlPzogVHJhbnNpdGlvbkFuaW1hdGlvblR5cGVzLk1BU0s7XG4gICAgICAvKipcbiAgICAgICAqIEl0IHByb3ZpZGVzIHRoZSB0cmFuc2l0aW9uIGNvbnRhaW5lciBzbyB5b3UgY2FuIGNyZWF0ZSBhIGR5bmFtaWMgc3ZnIHRvIG1hc2sgd2l0aFxuICAgICAgICovXG4gICAgICBtYXNrRmFjdG9yeTogKGNvbnRhaW5lcjogSFRNTERpdkVsZW1lbnQpID0+IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHJhbnNpdGlvblR5cGU/OiBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuQ1VTVE9NO1xuICAgICAgY29uZmlnOiBSZXR1cm5UeXBlPHR5cGVvZiBUcmFuc2l0aW9uQ2xhc3Nlcz47XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvblByb3BzID0ge1xuICBzdGVwOiBudW1iZXI7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgY29udGVudFN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgY29udGVudENsYXNzTmFtZT86IHN0cmluZztcbiAgY2hpbGRyZW46IChSZWFjdC5SZWFjdEVsZW1lbnQgfCB1bmRlZmluZWQpW107XG4gIG9uRGlzY2FyZFN0ZXA/OiAoZGlzY2FyZGVkS2V5OiBSZWFjdC5LZXksIHN0YXJ0ZWRBbmltYXRpb25BdDogbnVtYmVyKSA9PiB2b2lkO1xuICBsb2NrVHJhbnNpdGlvbldpZHRoPzogYm9vbGVhbjtcbiAgbG9ja1RyYW5zaXRpb25IZWlnaHQ/OiBib29sZWFuO1xufSAmIFRyYW5zaXRpb25UeXBlRGVmaW5pdGlvbnMgJlxuICBPbWl0PFxuICAgIERldGFpbGVkSFRNTFByb3BzPFJlYWN0LkhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiwgYW55PixcbiAgICBcImNsYXNzTmFtZVwiIHwgXCJjaGlsZHJlblwiXG4gID47XG5cbmZ1bmN0aW9uIFRyYW5zaXRpb25DbGFzc2VzKFxuICB0eXBlOiBOb25OdWxsYWJsZTxcbiAgICBFeGNsdWRlPFRyYW5zaXRpb25Qcm9wc1tcInRyYW5zaXRpb25UeXBlXCJdLCBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuQ1VTVE9NPlxuICA+XG4pOiB7XG4gIC8qKlxuICAgKiBBcHBsaWVkIHRvIHRoZSBlbGVtZW50IHRoYXQgd2FzIG5vdCB2aXNpYmxlIGFuZCBpcyBub3cgZW50ZXJpbmcgdGhlIHNjcmVlblxuICAgKi9cbiAgYmFja3dhcmQ6IHtcbiAgICBlbGVtZW50RW50ZXJpbmc6IHN0cmluZztcbiAgICBlbGVtZW50RXhpdGluZzogc3RyaW5nO1xuICB9O1xuICAvKipcbiAgICogQXBwbGllZCB0byB0aGUgZWxlbWVudCB0aGF0IHdhcyB2aXNpYmxlIGFuZCBub3cgaXMgZXhpdGluZyB0aGUgc2NyZWVuXG4gICAqL1xuICBmb3J3YXJkOiB7XG4gICAgZWxlbWVudEVudGVyaW5nOiBzdHJpbmc7XG4gICAgZWxlbWVudEV4aXRpbmc6IHN0cmluZztcbiAgfTtcbn0ge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5DT0lOX0ZMSVA6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBiYWNrd2FyZDoge1xuICAgICAgICAgIGVsZW1lbnRFeGl0aW5nOiBTdHlsZXMuZmxpcEJvdHRvbVVwT3V0LFxuICAgICAgICAgIGVsZW1lbnRFbnRlcmluZzogU3R5bGVzLmZsaXBCb3R0b21VcEluLFxuICAgICAgICB9LFxuICAgICAgICBmb3J3YXJkOiB7XG4gICAgICAgICAgZWxlbWVudEV4aXRpbmc6IFN0eWxlcy5mbGlwQm90dG9tVXBPdXQsXG4gICAgICAgICAgZWxlbWVudEVudGVyaW5nOiBTdHlsZXMuZmxpcEJvdHRvbVVwSW4sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGNhc2UgVHJhbnNpdGlvbkFuaW1hdGlvblR5cGVzLkZBREU6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBiYWNrd2FyZDoge1xuICAgICAgICAgIGVsZW1lbnRFeGl0aW5nOiBTdHlsZXMuZmFkZU91dEFic29sdXRlLFxuICAgICAgICAgIGVsZW1lbnRFbnRlcmluZzogU3R5bGVzLmZhZGVJbkRlbGF5ZWQsXG4gICAgICAgIH0sXG4gICAgICAgIGZvcndhcmQ6IHtcbiAgICAgICAgICBlbGVtZW50RXhpdGluZzogU3R5bGVzLmZhZGVPdXRBYnNvbHV0ZSxcbiAgICAgICAgICBlbGVtZW50RW50ZXJpbmc6IFN0eWxlcy5mYWRlSW5EZWxheWVkLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICBjYXNlIFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5TTElERTpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhY2t3YXJkOiB7XG4gICAgICAgICAgZWxlbWVudEVudGVyaW5nOiBTdHlsZXMuZW50cmFuY2VMZWZ0LFxuICAgICAgICAgIGVsZW1lbnRFeGl0aW5nOiBcIlwiLFxuICAgICAgICB9LFxuICAgICAgICBmb3J3YXJkOiB7XG4gICAgICAgICAgZWxlbWVudEVudGVyaW5nOiBcIlwiLFxuICAgICAgICAgIGVsZW1lbnRFeGl0aW5nOiBTdHlsZXMuZXhpdExlZnQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGNhc2UgVHJhbnNpdGlvbkFuaW1hdGlvblR5cGVzLlBPUF9GUk9NX0NMSUNLX09SSUdJTjpcbiAgICBjYXNlIFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5QT1BfRlJPTV9FTEVNRU5UX0lEOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYmFja3dhcmQ6IHtcbiAgICAgICAgICBlbGVtZW50RW50ZXJpbmc6IFN0eWxlcy5mYWRlSW4sXG4gICAgICAgICAgZWxlbWVudEV4aXRpbmc6IFN0eWxlcy5zY2FsZU91dCxcbiAgICAgICAgfSxcbiAgICAgICAgZm9yd2FyZDoge1xuICAgICAgICAgIGVsZW1lbnRFbnRlcmluZzogU3R5bGVzLnNjYWxlSW4sXG4gICAgICAgICAgZWxlbWVudEV4aXRpbmc6IFN0eWxlcy5mYWRlT3V0LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICBjYXNlIFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5NQVNLOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYmFja3dhcmQ6IHtcbiAgICAgICAgICBlbGVtZW50RW50ZXJpbmc6IFN0eWxlcy5zdHViRW50ZXJpbmcsXG4gICAgICAgICAgZWxlbWVudEV4aXRpbmc6IFN0eWxlcy5zdHViLFxuICAgICAgICB9LFxuICAgICAgICBmb3J3YXJkOiB7XG4gICAgICAgICAgZWxlbWVudEVudGVyaW5nOiBTdHlsZXMuc3R1YkVudGVyaW5nLFxuICAgICAgICAgIGVsZW1lbnRFeGl0aW5nOiBTdHlsZXMuc3R1YixcbiAgICAgICAgfSxcbiAgICAgIH07XG4gIH1cbn1cblxudHlwZSBDaGlsZHJlbldyYXBwZXIgPSAoKHByb3BzOiB7XG4gIGNoaWxkcmVuOiBUcmFuc2l0aW9uUHJvcHNbXCJjaGlsZHJlblwiXVtudW1iZXJdO1xufSkgPT4gUmVhY3RFbGVtZW50KSAmIHtcbiAgY3JlYXRlZEF0OiBudW1iZXI7XG4gIGFzc29jaWF0ZWRLZXk6IEtleTtcbiAgdG9SZW1vdmVLZXlzPzogS2V5W107XG4gIGV4dGVybmFsUHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9O1xufTtcblxuZnVuY3Rpb24gQ2hpbGRyZW5XcmFwcGVyRmFjdG9yeShcbiAgZnVuYzogKHA6IHsgY2hpbGRyZW46IFRyYW5zaXRpb25Qcm9wc1tcImNoaWxkcmVuXCJdIH0pID0+IFJlYWN0RWxlbWVudCxcbiAga2V5OiBLZXksXG4gIGV4dGVybmFsUHJvcHNDb250YWluZXI6IHsgW2s6IHN0cmluZ106IGFueSB9LFxuICAvKiogVGhpcyBpcyB1c2VkIHRvIHByZXZlbnQgbmV3ZXIgXCJkdXBsaWNhdGVkXCIga2V5cyBmcm9tIGJlaW5nIHJlbW92ZWQgYWZ0ZXIgdGhlIG5ldyBlbGVtZW50IGZpbmlzaGVkIGFuaW1hdGlvbiAqL1xuICB0aW1lc3RhbXA6IG51bWJlcixcbiAgdG9SZW1vdmVLZXlzPzogS2V5W11cbik6IENoaWxkcmVuV3JhcHBlciB7XG4gIChmdW5jIGFzIGFueSkuY3JlYXRlZEF0ID0gdGltZXN0YW1wO1xuICAoZnVuYyBhcyBhbnkpLmFzc29jaWF0ZWRLZXkgPSBrZXk7XG4gIChmdW5jIGFzIGFueSkudG9SZW1vdmVLZXlzID0gdG9SZW1vdmVLZXlzO1xuICAoZnVuYyBhcyBhbnkpLmV4dGVybmFsUHJvcHMgPSBleHRlcm5hbFByb3BzQ29udGFpbmVyO1xuICByZXR1cm4gZnVuYyBhcyB1bmtub3duIGFzIENoaWxkcmVuV3JhcHBlcjtcbn1cbmZ1bmN0aW9uIF9UcmFuc2l0aW9uKFxuICB7XG4gICAgc3RlcCxcbiAgICBjb250ZW50U3R5bGUsXG4gICAgY29udGVudENsYXNzTmFtZSA9IFwiXCIsXG4gICAgY2hpbGRyZW4sXG4gICAgY2xhc3NOYW1lLFxuICAgIG9uRGlzY2FyZFN0ZXAsXG4gICAgbG9ja1RyYW5zaXRpb25XaWR0aCA9IGZhbHNlLFxuICAgIGxvY2tUcmFuc2l0aW9uSGVpZ2h0ID0gZmFsc2UsXG4gICAgLi4ucHJvcHNcbiAgfTogVHJhbnNpdGlvblByb3BzLFxuICBfY29udGFpbmVyUmVmOiBGb3J3YXJkZWRSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuKSB7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIChfY29udGFpbmVyUmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPikgfHwgY3JlYXRlUmVmKCksXG4gICAgW19jb250YWluZXJSZWZdXG4gICk7XG4gIGNvbnN0IHByZVRyYW5zaXRpb25EZXRhaWxzID0gdXNlUmVmPENTU1Byb3BlcnRpZXM+KHtcbiAgICB0cmFuc2Zvcm1PcmlnaW46IFwiaW5pdGlhbFwiLFxuICB9KTtcbiAgY29uc3QgW2NoaWxkcmVuV3JhcHBlcnMsIHNldENoaWxkcmVuV3JhcHBlcnNdID0gdXNlU3RhdGU8XG4gICAgKENoaWxkcmVuV3JhcHBlciB8IHVuZGVmaW5lZClbXVxuICA+KCgpID0+IHtcbiAgICBjb25zdCBleHRlcm5hbFByb3BzID0ge1xuICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInRyYW5zaXRpb24tY29udGFpbmVyXCIsXG4gICAgICBrZXk6IFN0cmluZyhjaGlsZHJlbltzdGVwXT8ua2V5IHx8IHN0ZXApLFxuICAgICAgc3R5bGU6IGNvbnRlbnRTdHlsZSxcbiAgICAgIGNsYXNzTmFtZTogY29udGVudENsYXNzTmFtZSxcbiAgICB9O1xuICAgIGNvbnN0IGZ1bmMgPSBDaGlsZHJlbldyYXBwZXJGYWN0b3J5KFxuICAgICAgKHsgY2hpbGRyZW4gfSkgPT4gPGRpdiB7Li4uZXh0ZXJuYWxQcm9wc30+e2NoaWxkcmVufTwvZGl2PixcbiAgICAgIGNoaWxkcmVuW3N0ZXBdIS5rZXkgfHwgc3RlcCxcbiAgICAgIGV4dGVybmFsUHJvcHMsXG4gICAgICBEYXRlLm5vdygpLFxuICAgICAgW11cbiAgICApO1xuICAgIHJldHVybiBbZnVuY107XG4gIH0pO1xuXG4gIGNvbnN0IHByZXZTdGVwID0gdXNlUmVmKHN0ZXApO1xuICBjb25zdCBwcmV2Q2hpbGQgPSB1c2VSZWYoY2hpbGRyZW5bc3RlcF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiAoKSA9PiB7XG4gICAgcHJldkNoaWxkLmN1cnJlbnQgPSBjaGlsZHJlbltzdGVwXTtcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb250YWluZXJSZWYuY3VycmVudCEuc3R5bGUub3ZlcmZsb3cgPSBcImhpZGRlblwiO1xuICAgIGNvbnN0IHRyYW5zaXRpb25DbGFzc2VzID1cbiAgICAgIHByb3BzLnRyYW5zaXRpb25UeXBlID09PSBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuQ1VTVE9NXG4gICAgICAgID8gcHJvcHMuY29uZmlnXG4gICAgICAgIDogVHJhbnNpdGlvbkNsYXNzZXMoXG4gICAgICAgICAgICBwcm9wcy50cmFuc2l0aW9uVHlwZSB8fCBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuU0xJREVcbiAgICAgICAgICApO1xuXG4gICAgaWYgKFxuICAgICAgcHJldkNoaWxkLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICAgIGNoaWxkcmVuW3N0ZXBdPy5rZXkgPT09IHByZXZDaGlsZC5jdXJyZW50Py5rZXkgLy8gSSdtIHJlbmRlcmluZyB0aGUgc2FtZSBzY3JlZW5cbiAgICApIHtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHByZXZTdGVwLmN1cnJlbnQgPSBzdGVwO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBrZXkgPSBjaGlsZHJlbltzdGVwXT8ua2V5IHx8IHN0ZXA7XG5cbiAgICBpZiAocHJldlN0ZXAuY3VycmVudCAhPT0gc3RlcCAmJiBsb2NrVHJhbnNpdGlvbldpZHRoKVxuICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQhLnN0eWxlLndpZHRoID0gYCR7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50IS5jbGllbnRXaWR0aFxuICAgICAgfXB4YDtcblxuICAgIGlmIChwcmV2U3RlcC5jdXJyZW50ICE9PSBzdGVwICYmIGxvY2tUcmFuc2l0aW9uSGVpZ2h0KVxuICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQhLnN0eWxlLmhlaWdodCA9IGAke1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCEuY2xpZW50SGVpZ2h0XG4gICAgICB9cHhgO1xuICAgIGNvbnN0IHRyYW5zaXRpb25NYXNrID1cbiAgICAgIHByb3BzLnRyYW5zaXRpb25UeXBlID09PSBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuTUFTS1xuICAgICAgICA/IHByb3BzLm1hc2tGYWN0b3J5KGNvbnRhaW5lclJlZi5jdXJyZW50ISlcbiAgICAgICAgOiBcIlwiO1xuICAgIGNvbnN0IGluc2VydGVkQXQgPSBEYXRlLm5vdygpO1xuXG4gICAgLyoqIFRoaXMgcnVucyBvbiBiYWNrd2FyZHMgKi9cbiAgICBpZiAocHJldlN0ZXAuY3VycmVudCA+IHN0ZXApIHtcbiAgICAgIGNvbnN0IHN0ZXBUb1JlbW92ZSA9IHByZXZTdGVwLmN1cnJlbnQ7XG4gICAgICBjb25zdCBwcmV2S2V5VG9SZW1vdmUgPSBwcmV2Q2hpbGQuY3VycmVudD8ua2V5IHx8IHN0ZXBUb1JlbW92ZTtcbiAgICAgIHNldENoaWxkcmVuV3JhcHBlcnMoKHNjcmVlbnNCZWZvcmVDaGFuZ2luZ1N0ZXApID0+IHtcbiAgICAgICAgY29uc3QgZW50ZXJpbmdTY3JlZW5SZWYgPSBjcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG4gICAgICAgIGNvbnN0IFtGaXJzdE5leHRTY3JlZW4sIC4uLnJlc3RPZlNjcmVlbnNdID1cbiAgICAgICAgICBzY3JlZW5zQmVmb3JlQ2hhbmdpbmdTdGVwLmZpbHRlcihcbiAgICAgICAgICAgIChhKSA9PiBhPy5hc3NvY2lhdGVkS2V5ICE9PSBTdHJpbmcoa2V5KVxuICAgICAgICAgICk7XG5cbiAgICAgICAgaWYgKEZpcnN0TmV4dFNjcmVlbikge1xuICAgICAgICAgIE9iamVjdC5hc3NpZ24oRmlyc3ROZXh0U2NyZWVuLmV4dGVybmFsUHJvcHMsIHtcbiAgICAgICAgICAgIFwiZGF0YS10ZXN0aWRcIjogXCJ0cmFuc2l0aW9uLWNvbnRhaW5lclwiLFxuICAgICAgICAgICAgc3R5bGU6IHsgLi4uY29udGVudFN0eWxlLCBXZWJraXRNYXNrSW1hZ2U6IHRyYW5zaXRpb25NYXNrIH0sXG4gICAgICAgICAgICBjbGFzc05hbWU6IGAke3RyYW5zaXRpb25DbGFzc2VzLmJhY2t3YXJkLmVsZW1lbnRFeGl0aW5nfWAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gYW5pbWF0aW9uRW5kTGlzdGVuZXIoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50PEhUTUxEaXZFbGVtZW50Pikge1xuICAgICAgICAgIGlmIChldmVudC50YXJnZXQgIT09IGV2ZW50LmN1cnJlbnRUYXJnZXQpIHJldHVybjtcblxuICAgICAgICAgIGNvbnN0IGlzQW5pbWF0aW9uRnJvbUV4cGVjdGVkU3RhdGUgPVxuICAgICAgICAgICAgZW50ZXJpbmdTY3JlZW5SZWYuY3VycmVudD8uY2xhc3NMaXN0LmNvbnRhaW5zKFxuICAgICAgICAgICAgICB0cmFuc2l0aW9uQ2xhc3Nlcy5iYWNrd2FyZC5lbGVtZW50RW50ZXJpbmdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgZW50ZXJpbmdTY3JlZW5SZWYuY3VycmVudD8uY2xhc3NMaXN0LnJlbW92ZShcbiAgICAgICAgICAgIHRyYW5zaXRpb25DbGFzc2VzLmJhY2t3YXJkLmVsZW1lbnRFbnRlcmluZ1xuICAgICAgICAgICk7XG4gICAgICAgICAgc2V0Q2hpbGRyZW5XcmFwcGVycygoc2NyZWVuc0FmdGVyVGhlQ3VycmVudFN0ZXBFbnRlcmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAob25EaXNjYXJkU3RlcCkge1xuICAgICAgICAgICAgICBpZiAoaXNBbmltYXRpb25Gcm9tRXhwZWN0ZWRTdGF0ZSlcbiAgICAgICAgICAgICAgICBvbkRpc2NhcmRTdGVwKHByZXZLZXlUb1JlbW92ZSwgaW5zZXJ0ZWRBdCk7XG4gICAgICAgICAgICAgIGlmIChGaXJzdE5leHRTY3JlZW4gJiYgRmlyc3ROZXh0U2NyZWVuLnRvUmVtb3ZlS2V5cylcbiAgICAgICAgICAgICAgICBGaXJzdE5leHRTY3JlZW4udG9SZW1vdmVLZXlzLmZvckVhY2gob25EaXNjYXJkU3RlcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc2NyZWVuc0FmdGVyVGhlQ3VycmVudFN0ZXBFbnRlcmVkLmZpbHRlcigocykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzaG91bGRLZWVwID1cbiAgICAgICAgICAgICAgICAocz8uYXNzb2NpYXRlZEtleSAhPT0gU3RyaW5nKHByZXZLZXlUb1JlbW92ZSkgJiZcbiAgICAgICAgICAgICAgICAgICFGaXJzdE5leHRTY3JlZW4/LnRvUmVtb3ZlS2V5cz8uc29tZShcbiAgICAgICAgICAgICAgICAgICAgKGspID0+IFN0cmluZyhrKSA9PT0gU3RyaW5nKHM/LmFzc29jaWF0ZWRLZXkpXG4gICAgICAgICAgICAgICAgICApKSB8fFxuICAgICAgICAgICAgICAgIHMhLmNyZWF0ZWRBdCEgPiBpbnNlcnRlZEF0O1xuICAgICAgICAgICAgICByZXR1cm4gc2hvdWxkS2VlcDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAgIFwiYW5pbWF0aW9uZW5kXCIsXG4gICAgICAgICAgICBhbmltYXRpb25FbmRMaXN0ZW5lciBhcyBhbnlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByb3BzQ29udGFpbmVyID0ge1xuICAgICAgICAgIHJlZjogZW50ZXJpbmdTY3JlZW5SZWYsXG4gICAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInRyYW5zaXRpb24tY29udGFpbmVyXCIsXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIGNsYXNzTmFtZTogYCR7dHJhbnNpdGlvbkNsYXNzZXMuYmFja3dhcmQuZWxlbWVudEVudGVyaW5nfSAke2NvbnRlbnRDbGFzc05hbWV9YCxcbiAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgLi4uY29udGVudFN0eWxlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb25BbmltYXRpb25FbmQ6IGFuaW1hdGlvbkVuZExpc3RlbmVyLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBuZXdXcmFwcGVyID0gQ2hpbGRyZW5XcmFwcGVyRmFjdG9yeShcbiAgICAgICAgICAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gPGRpdiB7Li4ucHJvcHNDb250YWluZXJ9PntjaGlsZHJlbn08L2Rpdj47XG4gICAgICAgICAgfSxcbiAgICAgICAgICBrZXksXG4gICAgICAgICAgcHJvcHNDb250YWluZXIsXG4gICAgICAgICAgaW5zZXJ0ZWRBdCxcbiAgICAgICAgICBbcHJldktleVRvUmVtb3ZlLCAuLi4oRmlyc3ROZXh0U2NyZWVuPy50b1JlbW92ZUtleXMgfHwgW10pXVxuICAgICAgICApO1xuICAgICAgICBpZiAoRmlyc3ROZXh0U2NyZWVuKVxuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBuZXdXcmFwcGVyLFxuICAgICAgICAgICAgRmlyc3ROZXh0U2NyZWVuIHx8XG4gICAgICAgICAgICAgIENoaWxkcmVuV3JhcHBlckZhY3RvcnkoXG4gICAgICAgICAgICAgICAgKCkgPT4gPFJlYWN0LkZyYWdtZW50IC8+LFxuICAgICAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgaW5zZXJ0ZWRBdFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgLi4ucmVzdE9mU2NyZWVucyxcbiAgICAgICAgICBdO1xuICAgICAgICBlbHNlIHJldHVybiBbbmV3V3JhcHBlcl07XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKHByZXZTdGVwLmN1cnJlbnQgPCBzdGVwKSB7XG4gICAgICBjb25zdCBzdGVwVG9EZWxldGUgPSBwcmV2U3RlcC5jdXJyZW50O1xuICAgICAgY29uc3QgcHJldktleVRvUmVtb3ZlID0gU3RyaW5nKHByZXZDaGlsZC5jdXJyZW50Py5rZXkgfHwgc3RlcFRvRGVsZXRlKTtcbiAgICAgIHNldENoaWxkcmVuV3JhcHBlcnMoKHNjcmVlbnNCZWZvcmVDaGFuZ2luZ1N0ZXApID0+IHtcbiAgICAgICAgY29uc3QgbGFzdEluZGV4ID0gc2NyZWVuc0JlZm9yZUNoYW5naW5nU3RlcC5sZW5ndGggLSAxO1xuICAgICAgICBjb25zdCBsYXN0V3JhcHBlciA9IHNjcmVlbnNCZWZvcmVDaGFuZ2luZ1N0ZXBbbGFzdEluZGV4XTtcbiAgICAgICAgY29uc3QgbmV4dFNjcmVlblJlZiA9IGNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcbiAgICAgICAgaWYgKGxhc3RXcmFwcGVyKSB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihsYXN0V3JhcHBlci5leHRlcm5hbFByb3BzLCB7XG4gICAgICAgICAgICBcImRhdGEtdGVzdGlkXCI6IFwidHJhbnNpdGlvbi1jb250YWluZXJcIixcbiAgICAgICAgICAgIHN0eWxlOiB7IC4uLmNvbnRlbnRTdHlsZSwgV2Via2l0TWFza0ltYWdlOiB0cmFuc2l0aW9uTWFzayB9LFxuICAgICAgICAgICAgY2xhc3NOYW1lOiBgJHtjb250ZW50Q2xhc3NOYW1lfSAke3RyYW5zaXRpb25DbGFzc2VzLmZvcndhcmQuZWxlbWVudEV4aXRpbmd9YCxcbiAgICAgICAgICAgIG9uQW5pbWF0aW9uRW5kOiAoZTogQW5pbWF0aW9uRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGUudGFyZ2V0ICE9PSBlLmN1cnJlbnRUYXJnZXQpIHJldHVybjtcbiAgICAgICAgICAgICAgaWYgKHRyYW5zaXRpb25DbGFzc2VzLmZvcndhcmQuZWxlbWVudEVudGVyaW5nKVxuICAgICAgICAgICAgICAgIG5leHRTY3JlZW5SZWYuY3VycmVudD8uY2xhc3NMaXN0LnJlbW92ZShcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb25DbGFzc2VzLmZvcndhcmQuZWxlbWVudEVudGVyaW5nXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKG9uRGlzY2FyZFN0ZXApIG9uRGlzY2FyZFN0ZXAocHJldktleVRvUmVtb3ZlLCBpbnNlcnRlZEF0KTtcbiAgICAgICAgICAgICAgc2V0Q2hpbGRyZW5XcmFwcGVycygoc2NyZWVuc0FmdGVyVGhlQ3VycmVudFN0ZXBFbnRlcmVkKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dFN0YXRlID0gc2NyZWVuc0FmdGVyVGhlQ3VycmVudFN0ZXBFbnRlcmVkLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgIChzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZE1hbnRhaW4gPVxuICAgICAgICAgICAgICAgICAgICAgIHM/LmFzc29jaWF0ZWRLZXkgIT09IFN0cmluZyhwcmV2S2V5VG9SZW1vdmUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgcy5jcmVhdGVkQXQgPiBpbnNlcnRlZEF0O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2hvdWxkTWFudGFpbjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXh0U3RhdGU7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcm9wc0NvbnRhaW5lciA9IHtcbiAgICAgICAgICByZWY6IG5leHRTY3JlZW5SZWYsXG4gICAgICAgICAgXCJkYXRhLXRlc3RpZFwiOiBcInRyYW5zaXRpb24tY29udGFpbmVyXCIsXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAuLi5jb250ZW50U3R5bGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjbGFzc05hbWU6IGAke2NvbnRlbnRDbGFzc05hbWV9ICR7dHJhbnNpdGlvbkNsYXNzZXMuZm9yd2FyZC5lbGVtZW50RW50ZXJpbmd9YCxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgbmV3V3JhcHBlciA9IENoaWxkcmVuV3JhcHBlckZhY3RvcnkoXG4gICAgICAgICAgKHsgY2hpbGRyZW4gfSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIDxkaXYgey4uLnByb3BzQ29udGFpbmVyfT57Y2hpbGRyZW59PC9kaXY+O1xuICAgICAgICAgIH0sXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHByb3BzQ29udGFpbmVyLFxuICAgICAgICAgIGluc2VydGVkQXRcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAuLi5zY3JlZW5zQmVmb3JlQ2hhbmdpbmdTdGVwLnNsaWNlKDAsIGxhc3RJbmRleCksXG4gICAgICAgICAgbGFzdFdyYXBwZXIgfHxcbiAgICAgICAgICAgIENoaWxkcmVuV3JhcHBlckZhY3RvcnkoXG4gICAgICAgICAgICAgICgpID0+IDxSZWFjdC5GcmFnbWVudCAvPixcbiAgICAgICAgICAgICAgXCJmYWxsYmFja1wiLFxuICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgaW5zZXJ0ZWRBdFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBuZXdXcmFwcGVyLFxuICAgICAgICBdO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBwcmV2U3RlcC5jdXJyZW50ID0gc3RlcDtcbiAgICB9O1xuICB9LCBbc3RlcF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNoaWxkcmVuV3JhcHBlcnMubGVuZ3RoID09PSAxICYmIGxvY2tUcmFuc2l0aW9uV2lkdGgpXG4gICAgICBjb250YWluZXJSZWYuY3VycmVudCEuc3R5bGUud2lkdGggPSBcIlwiO1xuICAgIGlmIChjaGlsZHJlbldyYXBwZXJzLmxlbmd0aCA9PT0gMSAmJiBsb2NrVHJhbnNpdGlvbkhlaWdodClcbiAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50IS5zdHlsZS5oZWlnaHQgPSBcIlwiO1xuICB9LCBbY2hpbGRyZW5XcmFwcGVycy5sZW5ndGggIT09IDFdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHByb3BzLnRyYW5zaXRpb25UeXBlID09PSBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuUE9QX0ZST01fRUxFTUVOVF9JRCAmJlxuICAgICAgXCJlbGVtZW50SWRcIiBpbiBwcm9wc1xuICAgICkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgIGAjJHtwcm9wcy5lbGVtZW50SWR9YFxuICAgICAgKSBhcyBIVE1MRGl2RWxlbWVudDtcblxuICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgeyBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0gPSBjb250YWluZXJSZWYuY3VycmVudCE7XG5cbiAgICAgICAgY29uc3Qgb2Zmc2V0WCA9XG4gICAgICAgICAgZWxlbWVudC5jbGllbnRMZWZ0ICsgZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5jbGllbnRXaWR0aCAvIDI7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPVxuICAgICAgICAgIGVsZW1lbnQuY2xpZW50VG9wICsgZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50LmNsaWVudEhlaWdodCAvIDI7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRYID0gKG9mZnNldFggKiAxMDApIC8gY2xpZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRZID0gKG9mZnNldFkgKiAxMDApIC8gY2xpZW50SGVpZ2h0O1xuICAgICAgICBwcmVUcmFuc2l0aW9uRGV0YWlscy5jdXJyZW50LnRyYW5zZm9ybU9yaWdpbiA9IGAke3BlcmNlbnRYfSUgJHtwZXJjZW50WX0lYDtcblxuICAgICAgICBPYmplY3QuYXNzaWduKGNvbnRhaW5lclJlZi5jdXJyZW50IS5zdHlsZSwge1xuICAgICAgICAgIHRyYW5zZm9ybU9yaWdpbjogYCR7cGVyY2VudFh9JSAke3BlcmNlbnRZfSVgLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgT2JqZWN0LmFzc2lnbihjb250YWluZXJSZWYuY3VycmVudCEuc3R5bGUsIHByZVRyYW5zaXRpb25EZXRhaWxzLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIGlmIChjaGlsZHJlbldyYXBwZXJzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQhLnN0eWxlLm92ZXJmbG93ID0gXCJcIjtcbiAgICB9XG4gIH0sIFtjaGlsZHJlbldyYXBwZXJzLmxlbmd0aF0pO1xuXG4gIGNvbnN0IHByb3BzVG9TcHJlYWQgPSB7IC4uLnByb3BzIH0gYXMgYW55O1xuICBkZWxldGUgcHJvcHNUb1NwcmVhZC50cmFuc2l0aW9uVHlwZTtcbiAgZGVsZXRlIHByb3BzVG9TcHJlYWQuY29uZmlnO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxzZWN0aW9uXG4gICAgICAgIHsuLi5wcm9wc1RvU3ByZWFkfVxuICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgIGN1cnJlbnRUYXJnZXQ6IHsgb2Zmc2V0VG9wLCBvZmZzZXRMZWZ0LCBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0sXG4gICAgICAgICAgICBjbGllbnRYLFxuICAgICAgICAgICAgY2xpZW50WSxcbiAgICAgICAgICB9ID0gZTtcbiAgICAgICAgICBjb25zdCBvZmZzZXRYID0gY2xpZW50WCAtIG9mZnNldExlZnQ7XG4gICAgICAgICAgY29uc3Qgb2Zmc2V0WSA9IGNsaWVudFkgLSBvZmZzZXRUb3A7XG4gICAgICAgICAgY29uc3QgcGVyY2VudFggPSAob2Zmc2V0WCAqIDEwMCkgLyBjbGllbnRXaWR0aDtcbiAgICAgICAgICBjb25zdCBwZXJjZW50WSA9IChvZmZzZXRZICogMTAwKSAvIGNsaWVudEhlaWdodDtcblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHByb3BzLnRyYW5zaXRpb25UeXBlID09PVxuICAgICAgICAgICAgICBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuUE9QX0ZST01fRUxFTUVOVF9JRCB8fFxuICAgICAgICAgICAgcHJvcHMudHJhbnNpdGlvblR5cGUgPT09XG4gICAgICAgICAgICAgIFRyYW5zaXRpb25BbmltYXRpb25UeXBlcy5QT1BfRlJPTV9DTElDS19PUklHSU5cbiAgICAgICAgICApXG4gICAgICAgICAgICBwcmVUcmFuc2l0aW9uRGV0YWlscy5jdXJyZW50LnRyYW5zZm9ybU9yaWdpbiA9IGAke3BlcmNlbnRYfSUgJHtwZXJjZW50WX0lYDtcbiAgICAgICAgICBpZiAocHJvcHMub25DbGljaykgcHJvcHMub25DbGljayhlIGFzIGFueSk7XG4gICAgICAgIH19XG4gICAgICAgIGRhdGEtdGVzdGlkPVwidHJhbnNpdGlvbi1jb250cm9sbGVyXCJcbiAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGVzLnNlY3Rpb259ICR7Y2xhc3NOYW1lfWB9XG4gICAgICA+XG4gICAgICAgIHsoY2hpbGRyZW5XcmFwcGVycyBhcyBDaGlsZHJlbldyYXBwZXJbXSkubWFwKChXcmFwcGVyKSA9PiB7XG4gICAgICAgICAgY29uc3QgY2hpbGRUb1JlbmRlciA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAgICAgICAoYSwgaSkgPT4gKGE/LmtleSB8fCBpKSA9PT0gV3JhcHBlcj8uYXNzb2NpYXRlZEtleVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxXcmFwcGVyIGtleT17YCR7V3JhcHBlciEuYXNzb2NpYXRlZEtleX0gJHtXcmFwcGVyLmNyZWF0ZWRBdH1gfT5cbiAgICAgICAgICAgICAgPD57Y2hpbGRUb1JlbmRlcn08Lz5cbiAgICAgICAgICAgIDwvV3JhcHBlcj5cbiAgICAgICAgICApO1xuICAgICAgICB9KX1cbiAgICAgIDwvc2VjdGlvbj5cbiAgICA8Lz5cbiAgKTtcbn1cblxuZXhwb3J0IGVudW0gVHJhbnNpdGlvbkFuaW1hdGlvblR5cGVzIHtcbiAgU0xJREUsXG4gIFBPUF9GUk9NX0NMSUNLX09SSUdJTixcbiAgUE9QX0ZST01fRUxFTUVOVF9JRCxcbiAgRkFERSxcbiAgQ09JTl9GTElQLFxuICBNQVNLLFxuICBDVVNUT00sXG59XG5cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCBtYW5hZ2VzIHNtb290aCB0cmFuc2l0aW9ucyBiZXR3ZWVuIGRpZmZlcmVudCB2aWV3cyBvciBzY3JlZW5zLlxuICogSXQgaGFuZGxlcyBhbmltYXRpb25zIGFuZCBzd2l0Y2hpbmcgYmV0d2VlbiBtdWx0aXBsZSBjaGlsZHJlbiBlbGVtZW50cy5cbiAqXG4gKiBTaW1wbGUgZXhwbGFuYXRpb246IFRoaXMgY29tcG9uZW50IGNvbnRyb2xzIGhvdyBjb250ZW50IGNoYW5nZXMgZnJvbSBvbmUgc2NyZWVuIHRvIGFub3RoZXIsXG4gKiBtYWtpbmcgdGhlIHRyYW5zaXRpb24gbG9vayBzbW9vdGggYW5kIHByb2Zlc3Npb25hbCB3aXRoIHZhcmlvdXMgYW5pbWF0aW9uIHN0eWxlcy5cbiAqL1xuY29uc3QgVHJhbnNpdGlvbiA9IGZvcndhcmRSZWYoX1RyYW5zaXRpb24pO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgbWFuYWdlcyBzbW9vdGggdHJhbnNpdGlvbnMgYmV0d2VlbiBkaWZmZXJlbnQgdmlld3Mgb3Igc2NyZWVucy5cbiAqIEl0IGhhbmRsZXMgYW5pbWF0aW9ucyBhbmQgc3dpdGNoaW5nIGJldHdlZW4gbXVsdGlwbGUgY2hpbGRyZW4gZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IFRyYW5zaXRpb247XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQWVBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBOEMsTUFBQUcsU0FBQTtBQUFBLFNBQUFELHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsU0FBQUwsd0JBQUFLLENBQUEsRUFBQUcsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFULHVCQUFBLFlBQUFBLENBQUFLLENBQUEsRUFBQUcsQ0FBQSxTQUFBQSxDQUFBLElBQUFILENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLFNBQUFELENBQUEsTUFBQU8sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxRQUFBUixPQUFBLEVBQUFGLENBQUEsaUJBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsU0FBQVMsQ0FBQSxNQUFBRixDQUFBLEdBQUFKLENBQUEsR0FBQUcs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
@@ -1,8 +1,8 @@
1
1
  import React, { Key, RefObject } from "react";
2
2
  import { TransitionProps, TransitionTypeDefinitions } from "../Transition/Transition";
3
3
  /**
4
- * This component receives child with key and applies a transition when the key changes, allowing to swap elements with a fine transition.
5
- **/
4
+ * A component that handles transitions when child elements change, making the swap appear smooth.
5
+ */
6
6
  export declare const UncontrolledTransition: React.ForwardRefExoticComponent<({
7
7
  className?: string | undefined;
8
8
  contentClassName?: string | undefined;
@@ -102,8 +102,8 @@ function _UncontrolledTransition(_ref, ref) {
102
102
  }
103
103
 
104
104
  /**
105
- * This component receives child with key and applies a transition when the key changes, allowing to swap elements with a fine transition.
106
- **/
105
+ * A component that handles transitions when child elements change, making the swap appear smooth.
106
+ */
107
107
  const UncontrolledTransition = exports.UncontrolledTransition = /*#__PURE__*/(0, _react.forwardRef)(_UncontrolledTransition);
108
108
  var _default = exports.default = UncontrolledTransition;
109
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVHJhbnNpdGlvbiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZXhjbHVkZWQiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcHBseSIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIl9VbmNvbnRyb2xsZWRUcmFuc2l0aW9uIiwiX3JlZiIsInJlZiIsImNsYXNzTmFtZSIsImNvbnRlbnRDbGFzc05hbWUiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImtleSIsImxvY2tUcmFuc2l0aW9uV2lkdGgiLCJsb2NrVHJhbnNpdGlvbkhlaWdodCIsImNvbnRlbnRTdHlsZSIsIm9uRGlzY2FyZFN0ZXAiLCJwcm9wcyIsInNlY3Rpb25SZWYiLCJ1c2VSZWYiLCJjaGlsZFN0YWNrIiwib2Zmc2V0Iiwic2V0Q2hpbGRTdGFjayIsInVzZVN0YXRlIiwiY3JlYXRlZEF0IiwiRGF0ZSIsIm5vdyIsIm9yaWVudGF0aW9uIiwic2V0T3JpZW50YXRpb24iLCJhIiwiY3VycmVudCIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJ1c2VMYXlvdXRFZmZlY3QiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJFcnJvciIsInAiLCJ1c2VFZmZlY3QiLCJwcmV2IiwiYXJyIiwicHJlZGljdGVkU3RlcCIsInN0ZXAiLCJkaXNjYXJkZWRLZXkiLCJhbmltYXRlZEF0Iiwic2V0VGltZW91dCIsIlVuY29udHJvbGxlZFRyYW5zaXRpb24iLCJleHBvcnRzIiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVW5jb250cm9sbGVkVHJhbnNpdGlvbi9VbmNvbnRyb2xsZWRUcmFuc2l0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgRGV0YWlsZWRIVE1MUHJvcHMsXG4gIEZvcndhcmRlZFJlZixcbiAgZm9yd2FyZFJlZixcbiAgS2V5LFxuICBSZWZPYmplY3QsXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBUcmFuc2l0aW9uIGZyb20gXCIuLi9UcmFuc2l0aW9uXCI7XG5pbXBvcnQge1xuICBUcmFuc2l0aW9uUHJvcHMsXG4gIFRyYW5zaXRpb25UeXBlRGVmaW5pdGlvbnMsXG59IGZyb20gXCIuLi9UcmFuc2l0aW9uL1RyYW5zaXRpb25cIjtcblxuZnVuY3Rpb24gX1VuY29udHJvbGxlZFRyYW5zaXRpb24oXG4gIHtcbiAgICBjbGFzc05hbWUgPSBcIlwiLFxuICAgIGNvbnRlbnRDbGFzc05hbWUsXG4gICAgY2hpbGRyZW4gPSA8UmVhY3QuRnJhZ21lbnQga2V5PVwiZGVmYXVsdFwiPjwvUmVhY3QuRnJhZ21lbnQ+LFxuICAgIGxvY2tUcmFuc2l0aW9uV2lkdGggPSB0cnVlLFxuICAgIGxvY2tUcmFuc2l0aW9uSGVpZ2h0ID0gZmFsc2UsXG4gICAgY29udGVudFN0eWxlLFxuICAgIG9uRGlzY2FyZFN0ZXAsXG4gICAgLi4ucHJvcHNcbiAgfToge1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICBjb250ZW50Q2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGNoaWxkcmVuPzogUmVhY3QuUmVhY3RFbGVtZW50O1xuICAgIGxvY2tUcmFuc2l0aW9uV2lkdGg/OiBib29sZWFuO1xuICAgIGxvY2tUcmFuc2l0aW9uSGVpZ2h0PzogYm9vbGVhbjtcbiAgICBvbkRpc2NhcmRTdGVwPzogKGtleTogS2V5KSA9PiB2b2lkO1xuICB9ICYgUGljazxUcmFuc2l0aW9uUHJvcHMsIFwiY29udGVudFN0eWxlXCI+ICZcbiAgICBUcmFuc2l0aW9uVHlwZURlZmluaXRpb25zICZcbiAgICBPbWl0PFxuICAgICAgRGV0YWlsZWRIVE1MUHJvcHM8UmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+LCBhbnk+LFxuICAgICAgXCJjbGFzc05hbWVcIiB8IFwiY2hpbGRyZW5cIiB8IFwicmVmXCJcbiAgICA+LFxuICByZWY6IEZvcndhcmRlZFJlZjx7XG4gICAgc2V0T3JpZW50YXRpb246IChvcmllbnRhdGlvbjogXCJmb3J3YXJkXCIgfCBcImJhY2t3YXJkXCIpID0+IHZvaWQ7XG4gICAgc2VjdGlvblJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50IHwgbnVsbD47XG4gIH0+XG4pIHtcbiAgY29uc3Qgc2VjdGlvblJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IFt7IGNoaWxkU3RhY2ssIG9mZnNldCB9LCBzZXRDaGlsZFN0YWNrXSA9IHVzZVN0YXRlPHtcbiAgICBjaGlsZFN0YWNrOiAoUmVhY3QuUmVhY3RFbGVtZW50ICYgeyBjcmVhdGVkQXQ6IG51bWJlciB9KVtdO1xuICAgIG9mZnNldDogbnVtYmVyO1xuICB9PigoKSA9PiAoe1xuICAgIGNoaWxkU3RhY2s6IFt7IC4uLmNoaWxkcmVuLCBjcmVhdGVkQXQ6IERhdGUubm93KCkgfV0sXG4gICAgb2Zmc2V0OiAxLFxuICB9KSk7XG4gIGNvbnN0IG9yaWVudGF0aW9uID0gdXNlUmVmPFwiZm9yd2FyZFwiIHwgXCJiYWNrd2FyZFwiPihcImZvcndhcmRcIik7XG4gIGZ1bmN0aW9uIHNldE9yaWVudGF0aW9uKGE6IHR5cGVvZiBvcmllbnRhdGlvbi5jdXJyZW50KSB7XG4gICAgb3JpZW50YXRpb24uY3VycmVudCA9IGE7XG4gIH1cblxuICB1c2VJbXBlcmF0aXZlSGFuZGxlKFxuICAgIHJlZixcbiAgICAoKSA9PiAoe1xuICAgICAgc2V0T3JpZW50YXRpb24sXG4gICAgICBzZWN0aW9uUmVmLFxuICAgIH0pLFxuICAgIFtdXG4gICk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiICYmICFjaGlsZHJlbi5rZXkpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiVGhlIHByb3ZpZGVkIGNoaWxkIHNob3VsZCBoYXZlIGEga2V5IHByb3BlcnR5LCBwbGVhc2UgcHJvdmlkZSBpdFwiXG4gICAgICApO1xuICAgIGlmIChjaGlsZFN0YWNrLmxlbmd0aCA9PT0gMSAmJiBjaGlsZFN0YWNrWzBdLmtleSA9PT0gY2hpbGRyZW4ua2V5KSByZXR1cm47XG4gICAgaWYgKG9yaWVudGF0aW9uLmN1cnJlbnQgPT09IFwiZm9yd2FyZFwiKVxuICAgICAgc2V0Q2hpbGRTdGFjaygocCkgPT4gKHtcbiAgICAgICAgLi4ucCxcbiAgICAgICAgY2hpbGRTdGFjazogWy4uLnAuY2hpbGRTdGFjaywgeyAuLi5jaGlsZHJlbiwgY3JlYXRlZEF0OiBEYXRlLm5vdygpIH1dLFxuICAgICAgfSkpO1xuICAgIGVsc2VcbiAgICAgIHNldENoaWxkU3RhY2soKHApID0+ICh7XG4gICAgICAgIC4uLnAsXG4gICAgICAgIGNoaWxkU3RhY2s6IFt7IC4uLmNoaWxkcmVuLCBjcmVhdGVkQXQ6IERhdGUubm93KCkgfSwgLi4ucC5jaGlsZFN0YWNrXSxcbiAgICAgIH0pKTtcbiAgfSwgW2NoaWxkcmVuLmtleV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9yaWVudGF0aW9uLmN1cnJlbnQgPT09IFwiYmFja3dhcmRcIikge1xuICAgICAgc2V0Q2hpbGRTdGFjaygocHJldikgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgb2Zmc2V0OiBwcmV2LmNoaWxkU3RhY2subGVuZ3RoLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9LCBbY2hpbGRTdGFjay5sZW5ndGhdKTtcblxuICBjaGlsZFN0YWNrLmZvckVhY2goKGEsIGksIGFycikgPT4ge1xuICAgIGlmIChhLmtleSA9PT0gY2hpbGRyZW4ua2V5KVxuICAgICAgYXJyW2ldID0geyAuLi5jaGlsZHJlbiwgY3JlYXRlZEF0OiBhLmNyZWF0ZWRBdCB9O1xuICB9KTtcblxuICBjb25zdCBwcmVkaWN0ZWRTdGVwID0gY2hpbGRTdGFjay5sZW5ndGggLSBvZmZzZXQ7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2NoaWxkU3RhY2subGVuZ3RoID8gKFxuICAgICAgICA8VHJhbnNpdGlvblxuICAgICAgICAgIHJlZj17c2VjdGlvblJlZn1cbiAgICAgICAgICBjb250ZW50U3R5bGU9e2NvbnRlbnRTdHlsZX1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICBzdGVwPXtwcmVkaWN0ZWRTdGVwfVxuICAgICAgICAgIG9uRGlzY2FyZFN0ZXA9eyhkaXNjYXJkZWRLZXksIGFuaW1hdGVkQXQpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAob25EaXNjYXJkU3RlcCkgb25EaXNjYXJkU3RlcChkaXNjYXJkZWRLZXkpO1xuICAgICAgICAgICAgICBvcmllbnRhdGlvbi5jdXJyZW50ID0gXCJmb3J3YXJkXCI7XG4gICAgICAgICAgICAgIHNldENoaWxkU3RhY2soKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgY2hpbGRTdGFjazogcHJldi5jaGlsZFN0YWNrLmZpbHRlcigoYSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS5rZXkgIT09IGRpc2NhcmRlZEtleSB8fCBhLmNyZWF0ZWRBdCA+IGFuaW1hdGVkQXQ7XG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogcHJldi5vZmZzZXQgPT09IDEgPyAxIDogcHJldi5vZmZzZXQgLSAxLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSwgMClcbiAgICAgICAgICB9fVxuICAgICAgICAgIGxvY2tUcmFuc2l0aW9uV2lkdGg9e2xvY2tUcmFuc2l0aW9uV2lkdGh9XG4gICAgICAgICAgbG9ja1RyYW5zaXRpb25IZWlnaHQ9e2xvY2tUcmFuc2l0aW9uSGVpZ2h0fVxuICAgICAgICAgIGNvbnRlbnRDbGFzc05hbWU9e2NvbnRlbnRDbGFzc05hbWV9XG4gICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkU3RhY2t9XG4gICAgICAgIDwvVHJhbnNpdGlvbj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvPlxuICApO1xufVxuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IHJlY2VpdmVzIGNoaWxkIHdpdGgga2V5IGFuZCBhcHBsaWVzIGEgdHJhbnNpdGlvbiB3aGVuIHRoZSBrZXkgY2hhbmdlcywgYWxsb3dpbmcgdG8gc3dhcCBlbGVtZW50cyB3aXRoIGEgZmluZSB0cmFuc2l0aW9uLlxuICoqL1xuZXhwb3J0IGNvbnN0IFVuY29udHJvbGxlZFRyYW5zaXRpb24gPSBmb3J3YXJkUmVmKF9VbmNvbnRyb2xsZWRUcmFuc2l0aW9uKTtcbmV4cG9ydCBkZWZhdWx0IFVuY29udHJvbGxlZFRyYW5zaXRpb247XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQVlBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUF1QyxNQUFBRyxTQUFBO0FBQUEsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBTCx3QkFBQUssQ0FBQSxFQUFBRyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQVQsdUJBQUEsWUFBQUEsQ0FBQUssQ0FBQSxFQUFBRyxDQUFBLFNBQUFBLENBQUEsSUFBQUgsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsU0FBQUQsQ0FBQSxNQUFBTyxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLFFBQUFSLE9BQUEsRUFBQUYsQ0FBQSxpQkFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxTQUFBUyxDQUFBLE1BQUFGLENBQUEsR0FBQUosQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUUsQ0FBQSxDQUFBSSxHQUFBLENBQUFYLENBQUEsVUFBQU8sQ0FBQSxDQUFBSyxHQUFBLENBQUFaLENBQUEsR0FBQU8sQ0FBQSxDQUFBTSxHQUFBLENBQUFiLENBQUEsRUFBQVMsQ0FBQSxnQkFBQU4sQ0FBQSxJQUFBSCxDQUFBLGdCQUFBRyxDQUFBLE9BQUFXLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixDQUFBLEVBQUFHLENB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
109
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVHJhbnNpdGlvbiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZXhjbHVkZWQiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcHBseSIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3RvUHJpbWl0aXZlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJOdW1iZXIiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIl9VbmNvbnRyb2xsZWRUcmFuc2l0aW9uIiwiX3JlZiIsInJlZiIsImNsYXNzTmFtZSIsImNvbnRlbnRDbGFzc05hbWUiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImtleSIsImxvY2tUcmFuc2l0aW9uV2lkdGgiLCJsb2NrVHJhbnNpdGlvbkhlaWdodCIsImNvbnRlbnRTdHlsZSIsIm9uRGlzY2FyZFN0ZXAiLCJwcm9wcyIsInNlY3Rpb25SZWYiLCJ1c2VSZWYiLCJjaGlsZFN0YWNrIiwib2Zmc2V0Iiwic2V0Q2hpbGRTdGFjayIsInVzZVN0YXRlIiwiY3JlYXRlZEF0IiwiRGF0ZSIsIm5vdyIsIm9yaWVudGF0aW9uIiwic2V0T3JpZW50YXRpb24iLCJhIiwiY3VycmVudCIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJ1c2VMYXlvdXRFZmZlY3QiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJFcnJvciIsInAiLCJ1c2VFZmZlY3QiLCJwcmV2IiwiYXJyIiwicHJlZGljdGVkU3RlcCIsInN0ZXAiLCJkaXNjYXJkZWRLZXkiLCJhbmltYXRlZEF0Iiwic2V0VGltZW91dCIsIlVuY29udHJvbGxlZFRyYW5zaXRpb24iLCJleHBvcnRzIiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVW5jb250cm9sbGVkVHJhbnNpdGlvbi9VbmNvbnRyb2xsZWRUcmFuc2l0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgRGV0YWlsZWRIVE1MUHJvcHMsXG4gIEZvcndhcmRlZFJlZixcbiAgZm9yd2FyZFJlZixcbiAgS2V5LFxuICBSZWZPYmplY3QsXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBUcmFuc2l0aW9uIGZyb20gXCIuLi9UcmFuc2l0aW9uXCI7XG5pbXBvcnQge1xuICBUcmFuc2l0aW9uUHJvcHMsXG4gIFRyYW5zaXRpb25UeXBlRGVmaW5pdGlvbnMsXG59IGZyb20gXCIuLi9UcmFuc2l0aW9uL1RyYW5zaXRpb25cIjtcblxuZnVuY3Rpb24gX1VuY29udHJvbGxlZFRyYW5zaXRpb24oXG4gIHtcbiAgICBjbGFzc05hbWUgPSBcIlwiLFxuICAgIGNvbnRlbnRDbGFzc05hbWUsXG4gICAgY2hpbGRyZW4gPSA8UmVhY3QuRnJhZ21lbnQga2V5PVwiZGVmYXVsdFwiPjwvUmVhY3QuRnJhZ21lbnQ+LFxuICAgIGxvY2tUcmFuc2l0aW9uV2lkdGggPSB0cnVlLFxuICAgIGxvY2tUcmFuc2l0aW9uSGVpZ2h0ID0gZmFsc2UsXG4gICAgY29udGVudFN0eWxlLFxuICAgIG9uRGlzY2FyZFN0ZXAsXG4gICAgLi4ucHJvcHNcbiAgfToge1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICBjb250ZW50Q2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGNoaWxkcmVuPzogUmVhY3QuUmVhY3RFbGVtZW50O1xuICAgIGxvY2tUcmFuc2l0aW9uV2lkdGg/OiBib29sZWFuO1xuICAgIGxvY2tUcmFuc2l0aW9uSGVpZ2h0PzogYm9vbGVhbjtcbiAgICBvbkRpc2NhcmRTdGVwPzogKGtleTogS2V5KSA9PiB2b2lkO1xuICB9ICYgUGljazxUcmFuc2l0aW9uUHJvcHMsIFwiY29udGVudFN0eWxlXCI+ICZcbiAgICBUcmFuc2l0aW9uVHlwZURlZmluaXRpb25zICZcbiAgICBPbWl0PFxuICAgICAgRGV0YWlsZWRIVE1MUHJvcHM8UmVhY3QuSFRNTEF0dHJpYnV0ZXM8SFRNTERpdkVsZW1lbnQ+LCBhbnk+LFxuICAgICAgXCJjbGFzc05hbWVcIiB8IFwiY2hpbGRyZW5cIiB8IFwicmVmXCJcbiAgICA+LFxuICByZWY6IEZvcndhcmRlZFJlZjx7XG4gICAgc2V0T3JpZW50YXRpb246IChvcmllbnRhdGlvbjogXCJmb3J3YXJkXCIgfCBcImJhY2t3YXJkXCIpID0+IHZvaWQ7XG4gICAgc2VjdGlvblJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50IHwgbnVsbD47XG4gIH0+XG4pIHtcbiAgY29uc3Qgc2VjdGlvblJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IFt7IGNoaWxkU3RhY2ssIG9mZnNldCB9LCBzZXRDaGlsZFN0YWNrXSA9IHVzZVN0YXRlPHtcbiAgICBjaGlsZFN0YWNrOiAoUmVhY3QuUmVhY3RFbGVtZW50ICYgeyBjcmVhdGVkQXQ6IG51bWJlciB9KVtdO1xuICAgIG9mZnNldDogbnVtYmVyO1xuICB9PigoKSA9PiAoe1xuICAgIGNoaWxkU3RhY2s6IFt7IC4uLmNoaWxkcmVuLCBjcmVhdGVkQXQ6IERhdGUubm93KCkgfV0sXG4gICAgb2Zmc2V0OiAxLFxuICB9KSk7XG4gIGNvbnN0IG9yaWVudGF0aW9uID0gdXNlUmVmPFwiZm9yd2FyZFwiIHwgXCJiYWNrd2FyZFwiPihcImZvcndhcmRcIik7XG4gIGZ1bmN0aW9uIHNldE9yaWVudGF0aW9uKGE6IHR5cGVvZiBvcmllbnRhdGlvbi5jdXJyZW50KSB7XG4gICAgb3JpZW50YXRpb24uY3VycmVudCA9IGE7XG4gIH1cblxuICB1c2VJbXBlcmF0aXZlSGFuZGxlKFxuICAgIHJlZixcbiAgICAoKSA9PiAoe1xuICAgICAgc2V0T3JpZW50YXRpb24sXG4gICAgICBzZWN0aW9uUmVmLFxuICAgIH0pLFxuICAgIFtdXG4gICk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiICYmICFjaGlsZHJlbi5rZXkpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiVGhlIHByb3ZpZGVkIGNoaWxkIHNob3VsZCBoYXZlIGEga2V5IHByb3BlcnR5LCBwbGVhc2UgcHJvdmlkZSBpdFwiXG4gICAgICApO1xuICAgIGlmIChjaGlsZFN0YWNrLmxlbmd0aCA9PT0gMSAmJiBjaGlsZFN0YWNrWzBdLmtleSA9PT0gY2hpbGRyZW4ua2V5KSByZXR1cm47XG4gICAgaWYgKG9yaWVudGF0aW9uLmN1cnJlbnQgPT09IFwiZm9yd2FyZFwiKVxuICAgICAgc2V0Q2hpbGRTdGFjaygocCkgPT4gKHtcbiAgICAgICAgLi4ucCxcbiAgICAgICAgY2hpbGRTdGFjazogWy4uLnAuY2hpbGRTdGFjaywgeyAuLi5jaGlsZHJlbiwgY3JlYXRlZEF0OiBEYXRlLm5vdygpIH1dLFxuICAgICAgfSkpO1xuICAgIGVsc2VcbiAgICAgIHNldENoaWxkU3RhY2soKHApID0+ICh7XG4gICAgICAgIC4uLnAsXG4gICAgICAgIGNoaWxkU3RhY2s6IFt7IC4uLmNoaWxkcmVuLCBjcmVhdGVkQXQ6IERhdGUubm93KCkgfSwgLi4ucC5jaGlsZFN0YWNrXSxcbiAgICAgIH0pKTtcbiAgfSwgW2NoaWxkcmVuLmtleV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9yaWVudGF0aW9uLmN1cnJlbnQgPT09IFwiYmFja3dhcmRcIikge1xuICAgICAgc2V0Q2hpbGRTdGFjaygocHJldikgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgb2Zmc2V0OiBwcmV2LmNoaWxkU3RhY2subGVuZ3RoLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9LCBbY2hpbGRTdGFjay5sZW5ndGhdKTtcblxuICBjaGlsZFN0YWNrLmZvckVhY2goKGEsIGksIGFycikgPT4ge1xuICAgIGlmIChhLmtleSA9PT0gY2hpbGRyZW4ua2V5KVxuICAgICAgYXJyW2ldID0geyAuLi5jaGlsZHJlbiwgY3JlYXRlZEF0OiBhLmNyZWF0ZWRBdCB9O1xuICB9KTtcblxuICBjb25zdCBwcmVkaWN0ZWRTdGVwID0gY2hpbGRTdGFjay5sZW5ndGggLSBvZmZzZXQ7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2NoaWxkU3RhY2subGVuZ3RoID8gKFxuICAgICAgICA8VHJhbnNpdGlvblxuICAgICAgICAgIHJlZj17c2VjdGlvblJlZn1cbiAgICAgICAgICBjb250ZW50U3R5bGU9e2NvbnRlbnRTdHlsZX1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICBzdGVwPXtwcmVkaWN0ZWRTdGVwfVxuICAgICAgICAgIG9uRGlzY2FyZFN0ZXA9eyhkaXNjYXJkZWRLZXksIGFuaW1hdGVkQXQpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAob25EaXNjYXJkU3RlcCkgb25EaXNjYXJkU3RlcChkaXNjYXJkZWRLZXkpO1xuICAgICAgICAgICAgICBvcmllbnRhdGlvbi5jdXJyZW50ID0gXCJmb3J3YXJkXCI7XG4gICAgICAgICAgICAgIHNldENoaWxkU3RhY2soKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgY2hpbGRTdGFjazogcHJldi5jaGlsZFN0YWNrLmZpbHRlcigoYSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS5rZXkgIT09IGRpc2NhcmRlZEtleSB8fCBhLmNyZWF0ZWRBdCA+IGFuaW1hdGVkQXQ7XG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogcHJldi5vZmZzZXQgPT09IDEgPyAxIDogcHJldi5vZmZzZXQgLSAxLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSwgMClcbiAgICAgICAgICB9fVxuICAgICAgICAgIGxvY2tUcmFuc2l0aW9uV2lkdGg9e2xvY2tUcmFuc2l0aW9uV2lkdGh9XG4gICAgICAgICAgbG9ja1RyYW5zaXRpb25IZWlnaHQ9e2xvY2tUcmFuc2l0aW9uSGVpZ2h0fVxuICAgICAgICAgIGNvbnRlbnRDbGFzc05hbWU9e2NvbnRlbnRDbGFzc05hbWV9XG4gICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkU3RhY2t9XG4gICAgICAgIDwvVHJhbnNpdGlvbj5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvPlxuICApO1xufVxuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgaGFuZGxlcyB0cmFuc2l0aW9ucyB3aGVuIGNoaWxkIGVsZW1lbnRzIGNoYW5nZSwgbWFraW5nIHRoZSBzd2FwIGFwcGVhciBzbW9vdGguXG4gKi9cbmV4cG9ydCBjb25zdCBVbmNvbnRyb2xsZWRUcmFuc2l0aW9uID0gZm9yd2FyZFJlZihfVW5jb250cm9sbGVkVHJhbnNpdGlvbik7XG5leHBvcnQgZGVmYXVsdCBVbmNvbnRyb2xsZWRUcmFuc2l0aW9uO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFZQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBdUMsTUFBQUcsU0FBQTtBQUFBLFNBQUFELHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsU0FBQUwsd0JBQUFLLENBQUEsRUFBQUcsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFULHVCQUFBLFlBQUFBLENBQUFLLENBQUEsRUFBQUcsQ0FBQSxTQUFBQSxDQUFBLElBQUFILENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLFNBQUFELENBQUEsTUFBQU8sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxRQUFBUixPQUFBLEVBQUFGLENBQUEsaUJBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsU0FBQVMsQ0FBQSxNQUFBRixDQUFBLEdBQUFKLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFFLENBQUEsQ0FBQUksR0FBQSxDQUFBWCxDQUFBLFVBQUFPLENBQUEsQ0FBQUssR0FBQSxDQUFBWixDQUFBLEdBQUFPLENBQUEsQ0FBQU0sR0FBQSxDQUFBYixDQUFBLEVBQUFTLENBQUEsZ0JBQUFOLENBQUEsSUFBQUgsQ0FBQSxnQkFBQUcsQ0FBQSxPQUFBVyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsQ0FBQSxFQUFBRyxDQUFBLE9BQUFLLENBQUEsSUFBQUQsQ0FBQSxHQUFBUyxNQUFBLENBQUFD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
@@ -1,6 +1,7 @@
1
1
  import { PropsWithChildren } from "react";
2
2
  import { FromOnePercentUtility } from "../type-utils";
3
3
  type PersistedIdentifier = string;
4
+ /** Provides the async process functionality to the application */
4
5
  export default function AsyncProcessProvider({ children, triggers, persistence, }: PropsWithChildren<{
5
6
  /** Functions that will be provided to those that use the async process */
6
7
  triggers: {
@@ -13,6 +14,7 @@ export default function AsyncProcessProvider({ children, triggers, persistence,
13
14
  recover: () => [PersistedIdentifier, Promise<void>][];
14
15
  };
15
16
  }>): import("react/jsx-runtime").JSX.Element;
17
+ /** Allows components to use the async process functionality */
16
18
  export declare function useAsyncProcess(): {
17
19
  [k in keyof FromOnePercentUtility<'AsyncQueue.Processes'>]: (...args: FromOnePercentUtility<'AsyncQueue.Processes'>[k]) => Promise<void>;
18
20
  } & {
@@ -15,6 +15,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
15
15
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
16
16
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
17
  const AsyncProcessContext = /*#__PURE__*/(0, _react.createContext)(null);
18
+ /** Provides the async process functionality to the application */
18
19
  function AsyncProcessProvider(_ref) {
19
20
  let {
20
21
  children,
@@ -52,6 +53,8 @@ function AsyncProcessProvider(_ref) {
52
53
  }
53
54
  }, children);
54
55
  }
56
+
57
+ /** Allows components to use the async process functionality */
55
58
  function useAsyncProcess() {
56
59
  const {
57
60
  _subscriber: subscriber,
@@ -67,4 +70,4 @@ function useAsyncProcess() {
67
70
  }
68
71
  }, _wrappedFunctions);
69
72
  }
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlRXZlbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsIkFzeW5jUHJvY2Vzc0NvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiQXN5bmNQcm9jZXNzUHJvdmlkZXIiLCJfcmVmIiwiY2hpbGRyZW4iLCJ0cmlnZ2VycyIsInBlcnNpc3RlbmNlIiwic3Vic2NyaWJlciIsImRpc3BhdGNoZXIiLCJ1c2VFdmVudHMiLCJ3cmFwcGVkRnVuY3Rpb25zIiwidXNlTWVtbyIsInJlZHVjZSIsImsiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsInBlcnNpc3RlZCIsIndyaXRlIiwiZmluYWxseSIsInJlbW92ZSIsInVzZUVmZmVjdCIsInJlY292ZXJpZXMiLCJyZWNvdmVyIiwicmVjb3ZlcnlJZCIsInJlY292ZXJ5UHJvY2VzcyIsImNyZWF0ZUVsZW1lbnQiLCJQcm92aWRlciIsIl9zdWJzY3JpYmVyIiwiX3dyYXBwZWRGdW5jdGlvbnMiLCJ1c2VBc3luY1Byb2Nlc3MiLCJ1c2VDb250ZXh0Iiwic3Vic2NyaXB0aW9ucyIsInVzZVJlZiIsInVuc3Vic2NyaWJlIiwiY3VycmVudCIsIm9uIiwid2hhdFRvRG8iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dC9Bc3luY1Byb2Nlc3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBjcmVhdGVDb250ZXh0LFxuICBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHVzZUV2ZW50cyBmcm9tIFwiLi4vaG9va3MvdXRpbGl0eS91c2VFdmVudHNcIjtcbmltcG9ydCB7IEZyb21PbmVQZXJjZW50VXRpbGl0eSB9IGZyb20gXCIuLi90eXBlLXV0aWxzXCI7XG5cbmNvbnN0IEFzeW5jUHJvY2Vzc0NvbnRleHQgPSBjcmVhdGVDb250ZXh0PHtcbiAgX3N1YnNjcmliZXI6IFJldHVyblR5cGU8dHlwZW9mIHVzZUV2ZW50cz5bXCJzdWJzY3JpYmVyXCJdO1xuICBfd3JhcHBlZEZ1bmN0aW9uczoge1xuICAgIFtrIGluIGtleW9mIEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPl06IChcbiAgICAgIC4uLmFyZ3M6IEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPltrXVxuICAgICkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgfTtcbn0+KG51bGwgYXMgYW55KTtcblxudHlwZSBQZXJzaXN0ZWRJZGVudGlmaWVyID0gc3RyaW5nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBc3luY1Byb2Nlc3NQcm92aWRlcih7XG4gIGNoaWxkcmVuLFxuICB0cmlnZ2VycyxcbiAgcGVyc2lzdGVuY2UsXG59OiBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIC8qKiBGdW5jdGlvbnMgdGhhdCB3aWxsIGJlIHByb3ZpZGVkIHRvIHRob3NlIHRoYXQgdXNlIHRoZSBhc3luYyBwcm9jZXNzICovXG4gIHRyaWdnZXJzOiB7XG4gICAgW2sgaW4ga2V5b2YgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PCdBc3luY1F1ZXVlLlByb2Nlc3Nlcyc+XTogKFxuICAgICAgLi4uYXJnczogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PCdBc3luY1F1ZXVlLlByb2Nlc3Nlcyc+W2tdXG4gICAgKSA9PiBQcm9taXNlPHZvaWQ+O1xuICB9O1xuICAvKiogVGhpcyB3aWxsIHBlcnNpc3QgdGhlIGRhdGEgcmVxdWlyZWQgZm9yIHJlc3RvcmluZyB0aGUgYXN5bmMgcHJvY2Vzc2VzIHdoZW4gcmVxdWlyZWQgKi9cbiAgcGVyc2lzdGVuY2U6IHtcbiAgICB3cml0ZTogPEsgZXh0ZW5kcyBrZXlvZiBGcm9tT25lUGVyY2VudFV0aWxpdHk8J0FzeW5jUXVldWUuUHJvY2Vzc2VzJz4+KFxuICAgICAgazogSyxcbiAgICAgIC4uLmFyZ3M6IEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPltLXVxuICAgICkgPT4gUGVyc2lzdGVkSWRlbnRpZmllcjtcbiAgICByZW1vdmU6IChpZDogUGVyc2lzdGVkSWRlbnRpZmllcikgPT4gdm9pZDtcbiAgICByZWNvdmVyOiAoKSA9PiBbUGVyc2lzdGVkSWRlbnRpZmllciwgUHJvbWlzZTx2b2lkPl1bXTtcbiAgfTtcbn0+KSB7XG4gIGNvbnN0IHsgc3Vic2NyaWJlciwgZGlzcGF0Y2hlciB9ID0gdXNlRXZlbnRzKCk7XG5cbiAgY29uc3Qgd3JhcHBlZEZ1bmN0aW9ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0cmlnZ2VycykucmVkdWNlKFxuICAgICAgKHIsIGspID0+ICh7XG4gICAgICAgIC4uLnIsXG4gICAgICAgIFtrXTogKFxuICAgICAgICAgIC4uLmFyZ3M6IEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPltrZXlvZiBGcm9tT25lUGVyY2VudFV0aWxpdHk8J0FzeW5jUXVldWUuUHJvY2Vzc2VzJz5dXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgIGxldCBwZXJzaXN0ZWQgPSBwZXJzaXN0ZW5jZS53cml0ZShrIGFzIGFueSwgLi4uYXJncyk7XG4gICAgICAgICAgcmV0dXJuICh0cmlnZ2VycyBhcyBhbnkpW2sgYXMgYW55XSguLi5hcmdzKS5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHBlcnNpc3RlbmNlLnJlbW92ZShwZXJzaXN0ZWQpO1xuICAgICAgICAgICAgZGlzcGF0Y2hlcihrIGFzIGFueSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHt9IGFzIHR5cGVvZiB0cmlnZ2Vyc1xuICAgICk7XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlY292ZXJpZXMgPSBwZXJzaXN0ZW5jZS5yZWNvdmVyKCk7XG4gICAgZm9yIChsZXQgW3JlY292ZXJ5SWQsIHJlY292ZXJ5UHJvY2Vzc10gb2YgcmVjb3ZlcmllcylcbiAgICAgIHJlY292ZXJ5UHJvY2Vzcy5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgcGVyc2lzdGVuY2UucmVtb3ZlKHJlY292ZXJ5SWQpO1xuICAgICAgfSk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxBc3luY1Byb2Nlc3NDb250ZXh0LlByb3ZpZGVyXG4gICAgICB2YWx1ZT17eyBfc3Vic2NyaWJlcjogc3Vic2NyaWJlciwgX3dyYXBwZWRGdW5jdGlvbnM6IHdyYXBwZWRGdW5jdGlvbnMgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Bc3luY1Byb2Nlc3NDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQXN5bmNQcm9jZXNzKCk6IHtcbiAgW2sgaW4ga2V5b2YgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PCdBc3luY1F1ZXVlLlByb2Nlc3Nlcyc+XTogKFxuICAgIC4uLmFyZ3M6IEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPltrXVxuICApID0+IFByb21pc2U8dm9pZD47XG59ICYge1xuICBvbjogKFxuICAgIGs6IGtleW9mIEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPixcbiAgICB3aGF0VG9EbzogKCkgPT4gdm9pZFxuICApID0+IHZvaWQ7XG59IHtcbiAgY29uc3QgeyBfc3Vic2NyaWJlcjogc3Vic2NyaWJlciwgX3dyYXBwZWRGdW5jdGlvbnMgfSA9XG4gICAgdXNlQ29udGV4dChBc3luY1Byb2Nlc3NDb250ZXh0KTtcbiAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IHVzZVJlZjxGdW5jdGlvbltdPihbXSk7XG5cbiAgdXNlRWZmZWN0KFxuICAgICgpID0+ICgpID0+IHtcbiAgICAgIGZvciAobGV0IHVuc3Vic2NyaWJlIG9mIHN1YnNjcmlwdGlvbnMuY3VycmVudCkgdW5zdWJzY3JpYmUoKTtcbiAgICB9LFxuICAgIFtdXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBvbjogKGssIHdoYXRUb0RvKSA9PiB7XG4gICAgICBzdWJzY3JpcHRpb25zLmN1cnJlbnQucHVzaChzdWJzY3JpYmVyKGssIHdoYXRUb0RvKSk7XG4gICAgfSxcbiAgICAuLi5fd3JhcHBlZEZ1bmN0aW9ucyxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQVFBLElBQUFDLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUFtRCxTQUFBRSx1QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEs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
73
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlRXZlbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsIkFzeW5jUHJvY2Vzc0NvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiQXN5bmNQcm9jZXNzUHJvdmlkZXIiLCJfcmVmIiwiY2hpbGRyZW4iLCJ0cmlnZ2VycyIsInBlcnNpc3RlbmNlIiwic3Vic2NyaWJlciIsImRpc3BhdGNoZXIiLCJ1c2VFdmVudHMiLCJ3cmFwcGVkRnVuY3Rpb25zIiwidXNlTWVtbyIsInJlZHVjZSIsImsiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsInBlcnNpc3RlZCIsIndyaXRlIiwiZmluYWxseSIsInJlbW92ZSIsInVzZUVmZmVjdCIsInJlY292ZXJpZXMiLCJyZWNvdmVyIiwicmVjb3ZlcnlJZCIsInJlY292ZXJ5UHJvY2VzcyIsImNyZWF0ZUVsZW1lbnQiLCJQcm92aWRlciIsIl9zdWJzY3JpYmVyIiwiX3dyYXBwZWRGdW5jdGlvbnMiLCJ1c2VBc3luY1Byb2Nlc3MiLCJ1c2VDb250ZXh0Iiwic3Vic2NyaXB0aW9ucyIsInVzZVJlZiIsInVuc3Vic2NyaWJlIiwiY3VycmVudCIsIm9uIiwid2hhdFRvRG8iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dC9Bc3luY1Byb2Nlc3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBjcmVhdGVDb250ZXh0LFxuICBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHVzZUV2ZW50cyBmcm9tIFwiLi4vaG9va3MvdXRpbGl0eS91c2VFdmVudHNcIjtcbmltcG9ydCB7IEZyb21PbmVQZXJjZW50VXRpbGl0eSB9IGZyb20gXCIuLi90eXBlLXV0aWxzXCI7XG5cbmNvbnN0IEFzeW5jUHJvY2Vzc0NvbnRleHQgPSBjcmVhdGVDb250ZXh0PHtcbiAgX3N1YnNjcmliZXI6IFJldHVyblR5cGU8dHlwZW9mIHVzZUV2ZW50cz5bXCJzdWJzY3JpYmVyXCJdO1xuICBfd3JhcHBlZEZ1bmN0aW9uczoge1xuICAgIFtrIGluIGtleW9mIEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPl06IChcbiAgICAgIC4uLmFyZ3M6IEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPltrXVxuICAgICkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgfTtcbn0+KG51bGwgYXMgYW55KTtcblxudHlwZSBQZXJzaXN0ZWRJZGVudGlmaWVyID0gc3RyaW5nO1xuXG4vKiogUHJvdmlkZXMgdGhlIGFzeW5jIHByb2Nlc3MgZnVuY3Rpb25hbGl0eSB0byB0aGUgYXBwbGljYXRpb24gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFzeW5jUHJvY2Vzc1Byb3ZpZGVyKHtcbiAgY2hpbGRyZW4sXG4gIHRyaWdnZXJzLFxuICBwZXJzaXN0ZW5jZSxcbn06IFByb3BzV2l0aENoaWxkcmVuPHtcbiAgLyoqIEZ1bmN0aW9ucyB0aGF0IHdpbGwgYmUgcHJvdmlkZWQgdG8gdGhvc2UgdGhhdCB1c2UgdGhlIGFzeW5jIHByb2Nlc3MgKi9cbiAgdHJpZ2dlcnM6IHtcbiAgICBbayBpbiBrZXlvZiBGcm9tT25lUGVyY2VudFV0aWxpdHk8J0FzeW5jUXVldWUuUHJvY2Vzc2VzJz5dOiAoXG4gICAgICAuLi5hcmdzOiBGcm9tT25lUGVyY2VudFV0aWxpdHk8J0FzeW5jUXVldWUuUHJvY2Vzc2VzJz5ba11cbiAgICApID0+IFByb21pc2U8dm9pZD47XG4gIH07XG4gIC8qKiBUaGlzIHdpbGwgcGVyc2lzdCB0aGUgZGF0YSByZXF1aXJlZCBmb3IgcmVzdG9yaW5nIHRoZSBhc3luYyBwcm9jZXNzZXMgd2hlbiByZXF1aXJlZCAqL1xuICBwZXJzaXN0ZW5jZToge1xuICAgIHdyaXRlOiA8SyBleHRlbmRzIGtleW9mIEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPj4oXG4gICAgICBrOiBLLFxuICAgICAgLi4uYXJnczogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PCdBc3luY1F1ZXVlLlByb2Nlc3Nlcyc+W0tdXG4gICAgKSA9PiBQZXJzaXN0ZWRJZGVudGlmaWVyO1xuICAgIHJlbW92ZTogKGlkOiBQZXJzaXN0ZWRJZGVudGlmaWVyKSA9PiB2b2lkO1xuICAgIHJlY292ZXI6ICgpID0+IFtQZXJzaXN0ZWRJZGVudGlmaWVyLCBQcm9taXNlPHZvaWQ+XVtdO1xuICB9O1xufT4pIHtcbiAgY29uc3QgeyBzdWJzY3JpYmVyLCBkaXNwYXRjaGVyIH0gPSB1c2VFdmVudHMoKTtcblxuICBjb25zdCB3cmFwcGVkRnVuY3Rpb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRyaWdnZXJzKS5yZWR1Y2UoXG4gICAgICAociwgaykgPT4gKHtcbiAgICAgICAgLi4ucixcbiAgICAgICAgW2tdOiAoXG4gICAgICAgICAgLi4uYXJnczogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PCdBc3luY1F1ZXVlLlByb2Nlc3Nlcyc+W2tleW9mIEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPl1cbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgbGV0IHBlcnNpc3RlZCA9IHBlcnNpc3RlbmNlLndyaXRlKGsgYXMgYW55LCAuLi5hcmdzKTtcbiAgICAgICAgICByZXR1cm4gKHRyaWdnZXJzIGFzIGFueSlbayBhcyBhbnldKC4uLmFyZ3MpLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgcGVyc2lzdGVuY2UucmVtb3ZlKHBlcnNpc3RlZCk7XG4gICAgICAgICAgICBkaXNwYXRjaGVyKGsgYXMgYW55KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAge30gYXMgdHlwZW9mIHRyaWdnZXJzXG4gICAgKTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcmVjb3ZlcmllcyA9IHBlcnNpc3RlbmNlLnJlY292ZXIoKTtcbiAgICBmb3IgKGxldCBbcmVjb3ZlcnlJZCwgcmVjb3ZlcnlQcm9jZXNzXSBvZiByZWNvdmVyaWVzKVxuICAgICAgcmVjb3ZlcnlQcm9jZXNzLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICBwZXJzaXN0ZW5jZS5yZW1vdmUocmVjb3ZlcnlJZCk7XG4gICAgICB9KTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPEFzeW5jUHJvY2Vzc0NvbnRleHQuUHJvdmlkZXJcbiAgICAgIHZhbHVlPXt7IF9zdWJzY3JpYmVyOiBzdWJzY3JpYmVyLCBfd3JhcHBlZEZ1bmN0aW9uczogd3JhcHBlZEZ1bmN0aW9ucyB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0FzeW5jUHJvY2Vzc0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59XG5cbi8qKiBBbGxvd3MgY29tcG9uZW50cyB0byB1c2UgdGhlIGFzeW5jIHByb2Nlc3MgZnVuY3Rpb25hbGl0eSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUFzeW5jUHJvY2VzcygpOiB7XG4gIFtrIGluIGtleW9mIEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPl06IChcbiAgICAuLi5hcmdzOiBGcm9tT25lUGVyY2VudFV0aWxpdHk8J0FzeW5jUXVldWUuUHJvY2Vzc2VzJz5ba11cbiAgKSA9PiBQcm9taXNlPHZvaWQ+O1xufSAmIHtcbiAgb246IChcbiAgICBrOiBrZXlvZiBGcm9tT25lUGVyY2VudFV0aWxpdHk8J0FzeW5jUXVldWUuUHJvY2Vzc2VzJz4sXG4gICAgd2hhdFRvRG86ICgpID0+IHZvaWRcbiAgKSA9PiB2b2lkO1xufSB7XG4gIGNvbnN0IHsgX3N1YnNjcmliZXI6IHN1YnNjcmliZXIsIF93cmFwcGVkRnVuY3Rpb25zIH0gPVxuICAgIHVzZUNvbnRleHQoQXN5bmNQcm9jZXNzQ29udGV4dCk7XG4gIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSB1c2VSZWY8RnVuY3Rpb25bXT4oW10pO1xuXG4gIHVzZUVmZmVjdChcbiAgICAoKSA9PiAoKSA9PiB7XG4gICAgICBmb3IgKGxldCB1bnN1YnNjcmliZSBvZiBzdWJzY3JpcHRpb25zLmN1cnJlbnQpIHVuc3Vic2NyaWJlKCk7XG4gICAgfSxcbiAgICBbXVxuICApO1xuXG4gIHJldHVybiB7XG4gICAgb246IChrLCB3aGF0VG9EbykgPT4ge1xuICAgICAgc3Vic2NyaXB0aW9ucy5jdXJyZW50LnB1c2goc3Vic2NyaWJlcihrLCB3aGF0VG9EbykpO1xuICAgIH0sXG4gICAgLi4uX3dyYXBwZWRGdW5jdGlvbnMsXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVC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
@@ -8,12 +8,27 @@ declare class Subscriber {
8
8
  unregister<C extends CB>(cbId: string, cb: C): void;
9
9
  current(cbId: string): any;
10
10
  }
11
+ /**
12
+ * Defines the structure for context control sharing.
13
+ */
11
14
  export type ContextAsyncControlContextShape = {
12
15
  [controlId: string]: Subscriber;
13
16
  };
17
+ /**
18
+ * The context used to share state across components.
19
+ */
14
20
  export declare const ContextAsyncControlContext: React.Context<ContextAsyncControlContextShape>;
21
+ /**
22
+ * Provider component to wrap the application context.
23
+ */
15
24
  export default function ContextAsyncControlProvider({ children, }: PropsWithChildren<{}>): import("react/jsx-runtime").JSX.Element;
25
+ /**
26
+ * Hook to share state between components.
27
+ */
16
28
  export declare function useShareState<E>(controlId: string, stateId: string): readonly [E, (value: React.SetStateAction<E>) => void];
29
+ /**
30
+ * Hook to control context with error and loading states.
31
+ */
17
32
  export declare function useContextControl<E, F extends FunctionMap>(controlId: string, functionsToWrap: F): {
18
33
  process: (asyncFn: Promise<any> | (() => Promise<any>)) => Promise<any>;
19
34
  loading: boolean;
@@ -38,7 +38,19 @@ class Subscriber {
38
38
  return this.latest[cbId];
39
39
  }
40
40
  }
41
+
42
+ /**
43
+ * Defines the structure for context control sharing.
44
+ */
45
+
46
+ /**
47
+ * The context used to share state across components.
48
+ */
41
49
  const ContextAsyncControlContext = exports.ContextAsyncControlContext = /*#__PURE__*/(0, _react.createContext)(null);
50
+
51
+ /**
52
+ * Provider component to wrap the application context.
53
+ */
42
54
  function ContextAsyncControlProvider(_ref) {
43
55
  let {
44
56
  children
@@ -47,6 +59,10 @@ function ContextAsyncControlProvider(_ref) {
47
59
  value: {}
48
60
  }, children);
49
61
  }
62
+
63
+ /**
64
+ * Hook to share state between components.
65
+ */
50
66
  function useShareState(controlId, stateId) {
51
67
  const ctx = (0, _react.useContext)(ContextAsyncControlContext);
52
68
  const [state, setLocalState] = (0, _react.useState)(() => {
@@ -63,9 +79,13 @@ function useShareState(controlId, stateId) {
63
79
  }, []);
64
80
  return [state, wrappedSetState];
65
81
  }
82
+
83
+ /**
84
+ * Hook to control context with error and loading states.
85
+ */
66
86
  function useContextControl(controlId, functionsToWrap) {
67
87
  const [error, setError] = useShareState(controlId, "error");
68
88
  const [loading, setLoading] = useShareState(controlId, "loading");
69
89
  return (0, _useAsyncControl.useRawAsynControl)(functionsToWrap, [error, setError], [loading, setLoading]);
70
90
  }
71
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlQXN5bmNDb250cm9sIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiZGVmYXVsdCIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2RlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl90b1ByaW1pdGl2ZSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiU3Vic2NyaWJlciIsImNvbnN0cnVjdG9yIiwicmVnaXN0ZXIiLCJjYklkIiwiY2IiLCJfdGhpcyIsInNoYXJlZENicyIsInB1c2giLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImxhdGVzdCIsInVucmVnaXN0ZXIiLCJjYklkeCIsImluZGV4T2YiLCJzcGxpY2UiLCJjdXJyZW50IiwiQ29udGV4dEFzeW5jQ29udHJvbENvbnRleHQiLCJleHBvcnRzIiwiY3JlYXRlQ29udGV4dCIsIkNvbnRleHRBc3luY0NvbnRyb2xQcm92aWRlciIsIl9yZWYiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJQcm92aWRlciIsInVzZVNoYXJlU3RhdGUiLCJjb250cm9sSWQiLCJzdGF0ZUlkIiwiY3R4IiwidXNlQ29udGV4dCIsInN0YXRlIiwic2V0TG9jYWxTdGF0ZSIsInVzZVN0YXRlIiwiX2N0eCRjb250cm9sSWQkY3VycmVuIiwiaW5pdEFzIiwid3JhcHBlZFNldFN0YXRlIiwidXNlTWVtbyIsInVzZUluc2VydGlvbkVmZmVjdCIsInVzZUNvbnRleHRDb250cm9sIiwiZnVuY3Rpb25zVG9XcmFwIiwiZXJyb3IiLCJzZXRFcnJvciIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwidXNlUmF3QXN5bkNvbnRyb2wiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dC9Db250ZXh0QXN5bmNDb250cm9sLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgdXNlQ29udGV4dCxcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIHVzZUluc2VydGlvbkVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlRWZmZWN0LFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGdW5jdGlvbk1hcCwgdXNlUmF3QXN5bkNvbnRyb2wgfSBmcm9tIFwiLi4vaG9va3MvdXNlQXN5bmNDb250cm9sXCI7XG5cbnR5cGUgQ0IgPSAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG5jbGFzcyBTdWJzY3JpYmVyIHtcbiAgcHJpdmF0ZSBzaGFyZWRDYnM6IHsgW2lkOiBzdHJpbmddOiBGdW5jdGlvbltdIH0gPSB7fTtcbiAgcHJpdmF0ZSBsYXRlc3Q6IHtcbiAgICBbaWQ6IHN0cmluZ106IGFueTtcbiAgfSA9IHt9O1xuXG4gIHJlZ2lzdGVyPEMgZXh0ZW5kcyBDQj4oY2JJZDogc3RyaW5nLCBjYjogQykge1xuICAgIGlmICghdGhpcy5zaGFyZWRDYnNbY2JJZF0pIHRoaXMuc2hhcmVkQ2JzW2NiSWRdID0gW107XG4gICAgdGhpcy5zaGFyZWRDYnNbY2JJZF0ucHVzaChjYik7XG4gICAgcmV0dXJuICguLi5hcmdzOiBQYXJhbWV0ZXJzPEM+KSA9PiB7XG4gICAgICB0aGlzLmxhdGVzdFtjYklkXSA9IGFyZ3M7XG4gICAgICBmb3IgKGxldCBjYiBvZiB0aGlzLnNoYXJlZENic1tjYklkXSkgY2IoLi4uYXJncyk7XG4gICAgfTtcbiAgfVxuICB1bnJlZ2lzdGVyPEMgZXh0ZW5kcyBDQj4oY2JJZDogc3RyaW5nLCBjYjogQykge1xuICAgIGNvbnN0IGNiSWR4ID0gdGhpcy5zaGFyZWRDYnNbY2JJZF0uaW5kZXhPZihjYik7XG4gICAgdGhpcy5zaGFyZWRDYnNbY2JJZF0uc3BsaWNlKGNiSWR4LCAxKTtcbiAgfVxuICBjdXJyZW50KGNiSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmxhdGVzdFtjYklkXTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0QXN5bmNDb250cm9sQ29udGV4dFNoYXBlID0ge1xuICBbY29udHJvbElkOiBzdHJpbmddOiBTdWJzY3JpYmVyO1xufTtcbmV4cG9ydCBjb25zdCBDb250ZXh0QXN5bmNDb250cm9sQ29udGV4dCA9XG4gIGNyZWF0ZUNvbnRleHQ8Q29udGV4dEFzeW5jQ29udHJvbENvbnRleHRTaGFwZT4obnVsbCBhcyBhbnkpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDb250ZXh0QXN5bmNDb250cm9sUHJvdmlkZXIoe1xuICBjaGlsZHJlbixcbn06IFByb3BzV2l0aENoaWxkcmVuPHt9Pikge1xuICByZXR1cm4gKFxuICAgIDxDb250ZXh0QXN5bmNDb250cm9sQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17e319PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQ29udGV4dEFzeW5jQ29udHJvbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VTaGFyZVN0YXRlPEU+KGNvbnRyb2xJZDogc3RyaW5nLCBzdGF0ZUlkOiBzdHJpbmcpIHtcbiAgY29uc3QgY3R4ID0gdXNlQ29udGV4dChDb250ZXh0QXN5bmNDb250cm9sQ29udGV4dCk7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0TG9jYWxTdGF0ZV0gPSB1c2VTdGF0ZTxFPigoKSA9PiB7XG4gICAgaWYgKCFjdHhbY29udHJvbElkXSkgY3R4W2NvbnRyb2xJZF0gPSBuZXcgU3Vic2NyaWJlcigpO1xuICAgIGNvbnN0IGluaXRBcyA9IGN0eFtjb250cm9sSWRdLmN1cnJlbnQoc3RhdGVJZCk/LlswXSBhcyBFO1xuICAgIHJldHVybiBpbml0QXM7XG4gIH0pO1xuXG4gIGNvbnN0IHdyYXBwZWRTZXRTdGF0ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBjdHhbY29udHJvbElkXS5yZWdpc3RlcihzdGF0ZUlkLCBzZXRMb2NhbFN0YXRlKTtcbiAgfSwgW10pO1xuXG4gIHVzZUluc2VydGlvbkVmZmVjdChcbiAgICAoKSA9PiAoKSA9PiB7XG4gICAgICBjdHhbY29udHJvbElkXS51bnJlZ2lzdGVyKHN0YXRlSWQsIHNldExvY2FsU3RhdGUpO1xuICAgIH0sXG4gICAgW11cbiAgKTtcblxuICByZXR1cm4gW3N0YXRlLCB3cmFwcGVkU2V0U3RhdGVdIGFzIGNvbnN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29udGV4dENvbnRyb2w8RSwgRiBleHRlbmRzIEZ1bmN0aW9uTWFwPihcbiAgY29udHJvbElkOiBzdHJpbmcsXG4gIGZ1bmN0aW9uc1RvV3JhcDogRlxuKSB7XG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU2hhcmVTdGF0ZTxFIHwgRXJyb3IgfCB1bmRlZmluZWQ+KFxuICAgIGNvbnRyb2xJZCxcbiAgICBcImVycm9yXCJcbiAgKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU2hhcmVTdGF0ZTxib29sZWFuPihjb250cm9sSWQsIFwibG9hZGluZ1wiKTtcblxuICByZXR1cm4gdXNlUmF3QXN5bkNvbnRyb2woXG4gICAgZnVuY3Rpb25zVG9XcmFwLFxuICAgIFtlcnJvciwgc2V0RXJyb3JdLFxuICAgIFtsb2FkaW5nLCBzZXRMb2FkaW5nXVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFTQSxJQUFBQyxnQkFBQSxHQUFBRCxPQUFBO0FBQTBFLFNBQUFELHdCQUFBRyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FB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
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlQXN5bmNDb250cm9sIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiZGVmYXVsdCIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2RlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl90b1ByaW1pdGl2ZSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiU3Vic2NyaWJlciIsImNvbnN0cnVjdG9yIiwicmVnaXN0ZXIiLCJjYklkIiwiY2IiLCJfdGhpcyIsInNoYXJlZENicyIsInB1c2giLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImxhdGVzdCIsInVucmVnaXN0ZXIiLCJjYklkeCIsImluZGV4T2YiLCJzcGxpY2UiLCJjdXJyZW50IiwiQ29udGV4dEFzeW5jQ29udHJvbENvbnRleHQiLCJleHBvcnRzIiwiY3JlYXRlQ29udGV4dCIsIkNvbnRleHRBc3luY0NvbnRyb2xQcm92aWRlciIsIl9yZWYiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJQcm92aWRlciIsInVzZVNoYXJlU3RhdGUiLCJjb250cm9sSWQiLCJzdGF0ZUlkIiwiY3R4IiwidXNlQ29udGV4dCIsInN0YXRlIiwic2V0TG9jYWxTdGF0ZSIsInVzZVN0YXRlIiwiX2N0eCRjb250cm9sSWQkY3VycmVuIiwiaW5pdEFzIiwid3JhcHBlZFNldFN0YXRlIiwidXNlTWVtbyIsInVzZUluc2VydGlvbkVmZmVjdCIsInVzZUNvbnRleHRDb250cm9sIiwiZnVuY3Rpb25zVG9XcmFwIiwiZXJyb3IiLCJzZXRFcnJvciIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwidXNlUmF3QXN5bkNvbnRyb2wiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dC9Db250ZXh0QXN5bmNDb250cm9sLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgdXNlQ29udGV4dCxcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIHVzZUluc2VydGlvbkVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlRWZmZWN0LFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGdW5jdGlvbk1hcCwgdXNlUmF3QXN5bkNvbnRyb2wgfSBmcm9tIFwiLi4vaG9va3MvdXNlQXN5bmNDb250cm9sXCI7XG5cbnR5cGUgQ0IgPSAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG5jbGFzcyBTdWJzY3JpYmVyIHtcbiAgcHJpdmF0ZSBzaGFyZWRDYnM6IHsgW2lkOiBzdHJpbmddOiBGdW5jdGlvbltdIH0gPSB7fTtcbiAgcHJpdmF0ZSBsYXRlc3Q6IHtcbiAgICBbaWQ6IHN0cmluZ106IGFueTtcbiAgfSA9IHt9O1xuXG4gIHJlZ2lzdGVyPEMgZXh0ZW5kcyBDQj4oY2JJZDogc3RyaW5nLCBjYjogQykge1xuICAgIGlmICghdGhpcy5zaGFyZWRDYnNbY2JJZF0pIHRoaXMuc2hhcmVkQ2JzW2NiSWRdID0gW107XG4gICAgdGhpcy5zaGFyZWRDYnNbY2JJZF0ucHVzaChjYik7XG4gICAgcmV0dXJuICguLi5hcmdzOiBQYXJhbWV0ZXJzPEM+KSA9PiB7XG4gICAgICB0aGlzLmxhdGVzdFtjYklkXSA9IGFyZ3M7XG4gICAgICBmb3IgKGxldCBjYiBvZiB0aGlzLnNoYXJlZENic1tjYklkXSkgY2IoLi4uYXJncyk7XG4gICAgfTtcbiAgfVxuICB1bnJlZ2lzdGVyPEMgZXh0ZW5kcyBDQj4oY2JJZDogc3RyaW5nLCBjYjogQykge1xuICAgIGNvbnN0IGNiSWR4ID0gdGhpcy5zaGFyZWRDYnNbY2JJZF0uaW5kZXhPZihjYik7XG4gICAgdGhpcy5zaGFyZWRDYnNbY2JJZF0uc3BsaWNlKGNiSWR4LCAxKTtcbiAgfVxuICBjdXJyZW50KGNiSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmxhdGVzdFtjYklkXTtcbiAgfVxufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIHN0cnVjdHVyZSBmb3IgY29udGV4dCBjb250cm9sIHNoYXJpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRleHRBc3luY0NvbnRyb2xDb250ZXh0U2hhcGUgPSB7XG4gIFtjb250cm9sSWQ6IHN0cmluZ106IFN1YnNjcmliZXI7XG59O1xuLyoqXG4gKiBUaGUgY29udGV4dCB1c2VkIHRvIHNoYXJlIHN0YXRlIGFjcm9zcyBjb21wb25lbnRzLlxuICovXG5leHBvcnQgY29uc3QgQ29udGV4dEFzeW5jQ29udHJvbENvbnRleHQgPVxuICBjcmVhdGVDb250ZXh0PENvbnRleHRBc3luY0NvbnRyb2xDb250ZXh0U2hhcGU+KG51bGwgYXMgYW55KTtcblxuLyoqXG4gKiBQcm92aWRlciBjb21wb25lbnQgdG8gd3JhcCB0aGUgYXBwbGljYXRpb24gY29udGV4dC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ29udGV4dEFzeW5jQ29udHJvbFByb3ZpZGVyKHtcbiAgY2hpbGRyZW4sXG59OiBQcm9wc1dpdGhDaGlsZHJlbjx7fT4pIHtcbiAgcmV0dXJuIChcbiAgICA8Q29udGV4dEFzeW5jQ29udHJvbENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3t9fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0NvbnRleHRBc3luY0NvbnRyb2xDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufVxuXG4vKipcbiAqIEhvb2sgdG8gc2hhcmUgc3RhdGUgYmV0d2VlbiBjb21wb25lbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlU2hhcmVTdGF0ZTxFPihjb250cm9sSWQ6IHN0cmluZywgc3RhdGVJZDogc3RyaW5nKSB7XG4gIGNvbnN0IGN0eCA9IHVzZUNvbnRleHQoQ29udGV4dEFzeW5jQ29udHJvbENvbnRleHQpO1xuICBjb25zdCBbc3RhdGUsIHNldExvY2FsU3RhdGVdID0gdXNlU3RhdGU8RT4oKCkgPT4ge1xuICAgIGlmICghY3R4W2NvbnRyb2xJZF0pIGN0eFtjb250cm9sSWRdID0gbmV3IFN1YnNjcmliZXIoKTtcbiAgICBjb25zdCBpbml0QXMgPSBjdHhbY29udHJvbElkXS5jdXJyZW50KHN0YXRlSWQpPy5bMF0gYXMgRTtcbiAgICByZXR1cm4gaW5pdEFzO1xuICB9KTtcblxuICBjb25zdCB3cmFwcGVkU2V0U3RhdGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gY3R4W2NvbnRyb2xJZF0ucmVnaXN0ZXIoc3RhdGVJZCwgc2V0TG9jYWxTdGF0ZSk7XG4gIH0sIFtdKTtcblxuICB1c2VJbnNlcnRpb25FZmZlY3QoXG4gICAgKCkgPT4gKCkgPT4ge1xuICAgICAgY3R4W2NvbnRyb2xJZF0udW5yZWdpc3RlcihzdGF0ZUlkLCBzZXRMb2NhbFN0YXRlKTtcbiAgICB9LFxuICAgIFtdXG4gICk7XG5cbiAgcmV0dXJuIFtzdGF0ZSwgd3JhcHBlZFNldFN0YXRlXSBhcyBjb25zdDtcbn1cblxuLyoqXG4gKiBIb29rIHRvIGNvbnRyb2wgY29udGV4dCB3aXRoIGVycm9yIGFuZCBsb2FkaW5nIHN0YXRlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNvbnRleHRDb250cm9sPEUsIEYgZXh0ZW5kcyBGdW5jdGlvbk1hcD4oXG4gIGNvbnRyb2xJZDogc3RyaW5nLFxuICBmdW5jdGlvbnNUb1dyYXA6IEZcbikge1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVNoYXJlU3RhdGU8RSB8IEVycm9yIHwgdW5kZWZpbmVkPihcbiAgICBjb250cm9sSWQsXG4gICAgXCJlcnJvclwiXG4gICk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVNoYXJlU3RhdGU8Ym9vbGVhbj4oY29udHJvbElkLCBcImxvYWRpbmdcIik7XG5cbiAgcmV0dXJuIHVzZVJhd0FzeW5Db250cm9sKFxuICAgIGZ1bmN0aW9uc1RvV3JhcCxcbiAgICBbZXJyb3IsIHNldEVycm9yXSxcbiAgICBbbG9hZGluZywgc2V0TG9hZGluZ11cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBU0EsSUFBQUMsZ0JBQUEsR0FBQUQsT0FBQTtBQUEwRSxTQUFBRCx3QkFBQUcsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUwsdUJBQUEsWUFBQUEsQ0FBQUcsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLFFBQUFDLE9BQUEsRUFBQVYsQ0FBQSxpQkFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsR0FBQU0sQ0FBQSxDQUFBTyxHQUFBLENBQUFiLENBQUEsRUFBQVEsQ0FBQSxnQkFBQVAsQ0FBQSxJQUFBRCxDQUFBLGdCQUFBQyxDQUFBLE9BQUFhLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixDQUFBLEVBQUFDLENBQUEsT0FBQU0sQ0FBQSxJQUFBRCxDQUFBLEdBQUFVLE1BQUEsQ0FBQUMsY0FBQSxLQUFBRCxNQUFBLENBQUFFLHdCQUFBLENBQUFsQixDQUFBLEVBQUFDLENBQUEsT0FBQU0sQ0FBQSxDQUFB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
@@ -1,8 +1,14 @@
1
1
  import { createBrowserHistory } from "history";
2
2
  import { PropsWithChildren } from "react";
3
+ /**
4
+ * Defines the data that can be passed along with navigation.
5
+ */
3
6
  export type CustomState = {
4
7
  internalNavigation?: boolean;
5
8
  };
9
+ /**
10
+ * A router component that manages navigation and route changes.
11
+ */
6
12
  export default function CustomBrowserRouter({ children, beforeRouteChange, }: PropsWithChildren<{
7
13
  /**
8
14
  * Allows the dev to modify the route before commiting the route change
@@ -8,6 +8,13 @@ var _reactRouterDom = require("react-router-dom");
8
8
  var _history = require("history");
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
+ /**
12
+ * Defines the data that can be passed along with navigation.
13
+ */
14
+
15
+ /**
16
+ * A router component that manages navigation and route changes.
17
+ */
11
18
  function CustomBrowserRouter(_ref) {
12
19
  let {
13
20
  children,
@@ -39,4 +46,4 @@ function CustomBrowserRouter(_ref) {
39
46
  history: historyCustom
40
47
  }, children);
41
48
  }
42
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSb3V0ZXJEb20iLCJyZXF1aXJlIiwiX2hpc3RvcnkiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkN1c3RvbUJyb3dzZXJSb3V0ZXIiLCJfcmVmIiwiY2hpbGRyZW4iLCJiZWZvcmVSb3V0ZUNoYW5nZSIsInMiLCJjdXJyZW50IiwiaGlzdG9yeUN1c3RvbSIsInVzZVJlZiIsImNyZWF0ZUJyb3dzZXJIaXN0b3J5IiwidXNlTGF5b3V0RWZmZWN0Iiwib3ZlcnJpZGVGdW5jdGlvbiIsIm5hbWUiLCJvcmlnIiwicm91dGUiLCJzdGF0ZSIsIl9oaXN0b3J5JHN0YXRlIiwiX2hpc3Rvcnkkc3RhdGUyIiwiaXNSZXBsYWNpbmdBbkludGVybmFsTmF2aWdhdGlvbiIsImhpc3RvcnkiLCJpbnRlcm5hbE5hdmlnYXRpb24iLCJpc0FSb3V0ZUNoYW5nZSIsIm1vZGlmaWVkUm91dGUiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNyZWF0ZUVsZW1lbnQiLCJSb3V0ZXIiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dC9DdXN0b21Ccm93c2VyUm91dGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIsIHVzZUhpc3RvcnkgfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xyXG5pbXBvcnQgeyBjcmVhdGVCcm93c2VySGlzdG9yeSB9IGZyb20gXCJoaXN0b3J5XCI7XHJcbmltcG9ydCBSZWFjdCwge1xyXG4gIFByb3BzV2l0aENoaWxkcmVuLFxyXG4gIHVzZUVmZmVjdCxcclxuICB1c2VMYXlvdXRFZmZlY3QsXHJcbiAgdXNlUmVmLFxyXG59IGZyb20gXCJyZWFjdFwiO1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tU3RhdGUgPSB7XHJcbiAgaW50ZXJuYWxOYXZpZ2F0aW9uPzogYm9vbGVhbjtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEN1c3RvbUJyb3dzZXJSb3V0ZXIoe1xyXG4gIGNoaWxkcmVuLFxyXG4gIGJlZm9yZVJvdXRlQ2hhbmdlID0gKHMpID0+IHMsXHJcbn06IFByb3BzV2l0aENoaWxkcmVuPHtcclxuICAvKipcclxuICAgKiBBbGxvd3MgdGhlIGRldiB0byBtb2RpZnkgdGhlIHJvdXRlIGJlZm9yZSBjb21taXRpbmcgdGhlIHJvdXRlIGNoYW5nZVxyXG4gICAqXHJcbiAgICogQHJldHVybnMgVGhlIG5ldyByb3V0ZVxyXG4gICAqL1xyXG4gIGJlZm9yZVJvdXRlQ2hhbmdlPzogKFxyXG4gICAgbmV3Um91dGU6IHN0cmluZyxcclxuICAgIGhpc3Rvcnk6IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUJyb3dzZXJIaXN0b3J5PlxyXG4gICkgPT4gc3RyaW5nO1xyXG59Pikge1xyXG4gIGNvbnN0IHsgY3VycmVudDogaGlzdG9yeUN1c3RvbSB9ID0gdXNlUmVmKGNyZWF0ZUJyb3dzZXJIaXN0b3J5PGFueT4oKSk7XHJcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcclxuICAgIGZ1bmN0aW9uIG92ZXJyaWRlRnVuY3Rpb24obmFtZToga2V5b2YgdHlwZW9mIGhpc3RvcnlDdXN0b20pIHtcclxuICAgICAgY29uc3Qgb3JpZyA9IGhpc3RvcnlDdXN0b21bbmFtZV0gYXMgYW55O1xyXG4gICAgICAoaGlzdG9yeUN1c3RvbSBhcyBhbnkpW25hbWVdID0gKFxyXG4gICAgICAgIHJvdXRlOiBzdHJpbmcsXHJcbiAgICAgICAgc3RhdGU6IEN1c3RvbVN0YXRlIHwgbnVsbCxcclxuICAgICAgICAuLi5hcmdzOiBhbnlbXVxyXG4gICAgICApID0+IHtcclxuICAgICAgICBjb25zdCBpc1JlcGxhY2luZ0FuSW50ZXJuYWxOYXZpZ2F0aW9uID1cclxuICAgICAgICAgIG5hbWUgPT09IFwicmVwbGFjZVwiICYmIGhpc3Rvcnkuc3RhdGU/LnN0YXRlPy5pbnRlcm5hbE5hdmlnYXRpb247XHJcbiAgICAgICAgY29uc3QgaXNBUm91dGVDaGFuZ2UgPSBuYW1lICE9PSBcInJlcGxhY2VcIjtcclxuICAgICAgICBpZiAoKGlzQVJvdXRlQ2hhbmdlIHx8IGlzUmVwbGFjaW5nQW5JbnRlcm5hbE5hdmlnYXRpb24pICYmICFzdGF0ZSlcclxuICAgICAgICAgIHN0YXRlID0ge307XHJcbiAgICAgICAgaWYgKHN0YXRlKVxyXG4gICAgICAgICAgc3RhdGUuaW50ZXJuYWxOYXZpZ2F0aW9uID1cclxuICAgICAgICAgICAgbmFtZSA9PT0gXCJyZXBsYWNlXCJcclxuICAgICAgICAgICAgICA/IGhpc3Rvcnkuc3RhdGU/LnN0YXRlPy5pbnRlcm5hbE5hdmlnYXRpb25cclxuICAgICAgICAgICAgICA6IHRydWU7XHJcbiAgICAgICAgY29uc3QgbW9kaWZpZWRSb3V0ZSA9IGJlZm9yZVJvdXRlQ2hhbmdlKHJvdXRlLCBoaXN0b3J5Q3VzdG9tKTtcclxuICAgICAgICByZXR1cm4gb3JpZyhtb2RpZmllZFJvdXRlLCBzdGF0ZSwgLi4uYXJncyk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZUZ1bmN0aW9uKFwicHVzaFwiKTtcclxuICAgIG92ZXJyaWRlRnVuY3Rpb24oXCJyZXBsYWNlXCIpO1xyXG4gIH0sIFtoaXN0b3J5Q3VzdG9tXSk7XHJcbiAgcmV0dXJuIDxSb3V0ZXIgaGlzdG9yeT17aGlzdG9yeUN1c3RvbX0+e2NoaWxkcmVuIGFzIGFueX08L1JvdXRlcj47XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxlQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFB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
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSb3V0ZXJEb20iLCJyZXF1aXJlIiwiX2hpc3RvcnkiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkN1c3RvbUJyb3dzZXJSb3V0ZXIiLCJfcmVmIiwiY2hpbGRyZW4iLCJiZWZvcmVSb3V0ZUNoYW5nZSIsInMiLCJjdXJyZW50IiwiaGlzdG9yeUN1c3RvbSIsInVzZVJlZiIsImNyZWF0ZUJyb3dzZXJIaXN0b3J5IiwidXNlTGF5b3V0RWZmZWN0Iiwib3ZlcnJpZGVGdW5jdGlvbiIsIm5hbWUiLCJvcmlnIiwicm91dGUiLCJzdGF0ZSIsIl9oaXN0b3J5JHN0YXRlIiwiX2hpc3Rvcnkkc3RhdGUyIiwiaXNSZXBsYWNpbmdBbkludGVybmFsTmF2aWdhdGlvbiIsImhpc3RvcnkiLCJpbnRlcm5hbE5hdmlnYXRpb24iLCJpc0FSb3V0ZUNoYW5nZSIsIm1vZGlmaWVkUm91dGUiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNyZWF0ZUVsZW1lbnQiLCJSb3V0ZXIiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dC9DdXN0b21Ccm93c2VyUm91dGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIsIHVzZUhpc3RvcnkgfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IHsgY3JlYXRlQnJvd3Nlckhpc3RvcnkgfSBmcm9tIFwiaGlzdG9yeVwiO1xuaW1wb3J0IFJlYWN0LCB7XG4gIFByb3BzV2l0aENoaWxkcmVuLFxuICB1c2VFZmZlY3QsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBkYXRhIHRoYXQgY2FuIGJlIHBhc3NlZCBhbG9uZyB3aXRoIG5hdmlnYXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEN1c3RvbVN0YXRlID0ge1xuICBpbnRlcm5hbE5hdmlnYXRpb24/OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBBIHJvdXRlciBjb21wb25lbnQgdGhhdCBtYW5hZ2VzIG5hdmlnYXRpb24gYW5kIHJvdXRlIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEN1c3RvbUJyb3dzZXJSb3V0ZXIoe1xuICBjaGlsZHJlbixcbiAgYmVmb3JlUm91dGVDaGFuZ2UgPSAocykgPT4gcyxcbn06IFByb3BzV2l0aENoaWxkcmVuPHtcbiAgLyoqXG4gICAqIEFsbG93cyB0aGUgZGV2IHRvIG1vZGlmeSB0aGUgcm91dGUgYmVmb3JlIGNvbW1pdGluZyB0aGUgcm91dGUgY2hhbmdlXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBuZXcgcm91dGVcbiAgICovXG4gIGJlZm9yZVJvdXRlQ2hhbmdlPzogKFxuICAgIG5ld1JvdXRlOiBzdHJpbmcsXG4gICAgaGlzdG9yeTogUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQnJvd3Nlckhpc3Rvcnk+XG4gICkgPT4gc3RyaW5nO1xufT4pIHtcbiAgY29uc3QgeyBjdXJyZW50OiBoaXN0b3J5Q3VzdG9tIH0gPSB1c2VSZWYoY3JlYXRlQnJvd3Nlckhpc3Rvcnk8YW55PigpKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBmdW5jdGlvbiBvdmVycmlkZUZ1bmN0aW9uKG5hbWU6IGtleW9mIHR5cGVvZiBoaXN0b3J5Q3VzdG9tKSB7XG4gICAgICBjb25zdCBvcmlnID0gaGlzdG9yeUN1c3RvbVtuYW1lXSBhcyBhbnk7XG4gICAgICAoaGlzdG9yeUN1c3RvbSBhcyBhbnkpW25hbWVdID0gKFxuICAgICAgICByb3V0ZTogc3RyaW5nLFxuICAgICAgICBzdGF0ZTogQ3VzdG9tU3RhdGUgfCBudWxsLFxuICAgICAgICAuLi5hcmdzOiBhbnlbXVxuICAgICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzUmVwbGFjaW5nQW5JbnRlcm5hbE5hdmlnYXRpb24gPVxuICAgICAgICAgIG5hbWUgPT09IFwicmVwbGFjZVwiICYmIGhpc3Rvcnkuc3RhdGU/LnN0YXRlPy5pbnRlcm5hbE5hdmlnYXRpb247XG4gICAgICAgIGNvbnN0IGlzQVJvdXRlQ2hhbmdlID0gbmFtZSAhPT0gXCJyZXBsYWNlXCI7XG4gICAgICAgIGlmICgoaXNBUm91dGVDaGFuZ2UgfHwgaXNSZXBsYWNpbmdBbkludGVybmFsTmF2aWdhdGlvbikgJiYgIXN0YXRlKVxuICAgICAgICAgIHN0YXRlID0ge307XG4gICAgICAgIGlmIChzdGF0ZSlcbiAgICAgICAgICBzdGF0ZS5pbnRlcm5hbE5hdmlnYXRpb24gPVxuICAgICAgICAgICAgbmFtZSA9PT0gXCJyZXBsYWNlXCJcbiAgICAgICAgICAgICAgPyBoaXN0b3J5LnN0YXRlPy5zdGF0ZT8uaW50ZXJuYWxOYXZpZ2F0aW9uXG4gICAgICAgICAgICAgIDogdHJ1ZTtcbiAgICAgICAgY29uc3QgbW9kaWZpZWRSb3V0ZSA9IGJlZm9yZVJvdXRlQ2hhbmdlKHJvdXRlLCBoaXN0b3J5Q3VzdG9tKTtcbiAgICAgICAgcmV0dXJuIG9yaWcobW9kaWZpZWRSb3V0ZSwgc3RhdGUsIC4uLmFyZ3MpO1xuICAgICAgfTtcbiAgICB9XG4gICAgb3ZlcnJpZGVGdW5jdGlvbihcInB1c2hcIik7XG4gICAgb3ZlcnJpZGVGdW5jdGlvbihcInJlcGxhY2VcIik7XG4gIH0sIFtoaXN0b3J5Q3VzdG9tXSk7XG4gIHJldHVybiA8Um91dGVyIGhpc3Rvcnk9e2hpc3RvcnlDdXN0b219PntjaGlsZHJlbiBhcyBhbnl9PC9Sb3V0ZXI+O1xufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsZUFBQSxHQUFBQyxPQUFBO0FBQ0Es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