@mittwald/flow-remote-react-components 0.2.0-alpha.782 → 0.2.0-alpha.784

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 (285) hide show
  1. package/dist/js/RemoteRoot.mjs +107 -95
  2. package/dist/js/RemoteRoot.mjs.map +1 -1
  3. package/dist/js/auto-generated/AccentBox.mjs +194 -180
  4. package/dist/js/auto-generated/AccentBox.mjs.map +1 -1
  5. package/dist/js/auto-generated/Accordion.mjs +194 -180
  6. package/dist/js/auto-generated/Accordion.mjs.map +1 -1
  7. package/dist/js/auto-generated/ActionGroup.mjs +17 -11
  8. package/dist/js/auto-generated/ActionGroup.mjs.map +1 -1
  9. package/dist/js/auto-generated/Alert.mjs +194 -180
  10. package/dist/js/auto-generated/Alert.mjs.map +1 -1
  11. package/dist/js/auto-generated/AlertBadge.mjs +17 -11
  12. package/dist/js/auto-generated/AlertBadge.mjs.map +1 -1
  13. package/dist/js/auto-generated/AlertIcon.mjs +194 -180
  14. package/dist/js/auto-generated/AlertIcon.mjs.map +1 -1
  15. package/dist/js/auto-generated/AlertText.mjs +17 -11
  16. package/dist/js/auto-generated/AlertText.mjs.map +1 -1
  17. package/dist/js/auto-generated/Align.mjs +17 -11
  18. package/dist/js/auto-generated/Align.mjs.map +1 -1
  19. package/dist/js/auto-generated/Area.mjs +17 -11
  20. package/dist/js/auto-generated/Area.mjs.map +1 -1
  21. package/dist/js/auto-generated/Autocomplete.mjs +17 -11
  22. package/dist/js/auto-generated/Autocomplete.mjs.map +1 -1
  23. package/dist/js/auto-generated/Avatar.mjs +17 -11
  24. package/dist/js/auto-generated/Avatar.mjs.map +1 -1
  25. package/dist/js/auto-generated/AvatarStack.mjs +19 -11
  26. package/dist/js/auto-generated/AvatarStack.mjs.map +1 -1
  27. package/dist/js/auto-generated/Badge.mjs +20 -14
  28. package/dist/js/auto-generated/Badge.mjs.map +1 -1
  29. package/dist/js/auto-generated/BigNumber.mjs +17 -11
  30. package/dist/js/auto-generated/BigNumber.mjs.map +1 -1
  31. package/dist/js/auto-generated/Breadcrumb.mjs +89 -77
  32. package/dist/js/auto-generated/Breadcrumb.mjs.map +1 -1
  33. package/dist/js/auto-generated/Button.mjs +101 -89
  34. package/dist/js/auto-generated/Button.mjs.map +1 -1
  35. package/dist/js/auto-generated/CartesianChart.mjs +17 -11
  36. package/dist/js/auto-generated/CartesianChart.mjs.map +1 -1
  37. package/dist/js/auto-generated/CartesianGrid.mjs +17 -11
  38. package/dist/js/auto-generated/CartesianGrid.mjs.map +1 -1
  39. package/dist/js/auto-generated/ChartLegend.mjs +17 -11
  40. package/dist/js/auto-generated/ChartLegend.mjs.map +1 -1
  41. package/dist/js/auto-generated/ChartTooltip.mjs +17 -11
  42. package/dist/js/auto-generated/ChartTooltip.mjs.map +1 -1
  43. package/dist/js/auto-generated/Chat.mjs +17 -11
  44. package/dist/js/auto-generated/Chat.mjs.map +1 -1
  45. package/dist/js/auto-generated/Checkbox.mjs +102 -90
  46. package/dist/js/auto-generated/Checkbox.mjs.map +1 -1
  47. package/dist/js/auto-generated/CheckboxButton.mjs +102 -90
  48. package/dist/js/auto-generated/CheckboxButton.mjs.map +1 -1
  49. package/dist/js/auto-generated/CheckboxGroup.mjs +92 -80
  50. package/dist/js/auto-generated/CheckboxGroup.mjs.map +1 -1
  51. package/dist/js/auto-generated/ClearPropsContext.mjs +17 -11
  52. package/dist/js/auto-generated/ClearPropsContext.mjs.map +1 -1
  53. package/dist/js/auto-generated/CodeBlock.mjs +17 -11
  54. package/dist/js/auto-generated/CodeBlock.mjs.map +1 -1
  55. package/dist/js/auto-generated/CodeEditor.mjs +197 -183
  56. package/dist/js/auto-generated/CodeEditor.mjs.map +1 -1
  57. package/dist/js/auto-generated/Color.mjs +17 -11
  58. package/dist/js/auto-generated/Color.mjs.map +1 -1
  59. package/dist/js/auto-generated/ColumnLayout.mjs +194 -180
  60. package/dist/js/auto-generated/ColumnLayout.mjs.map +1 -1
  61. package/dist/js/auto-generated/ComboBox.mjs +97 -85
  62. package/dist/js/auto-generated/ComboBox.mjs.map +1 -1
  63. package/dist/js/auto-generated/ComponentPropsContextProvider.mjs +17 -11
  64. package/dist/js/auto-generated/ComponentPropsContextProvider.mjs.map +1 -1
  65. package/dist/js/auto-generated/Content.mjs +194 -180
  66. package/dist/js/auto-generated/Content.mjs.map +1 -1
  67. package/dist/js/auto-generated/ContextMenu.mjs +91 -79
  68. package/dist/js/auto-generated/ContextMenu.mjs.map +1 -1
  69. package/dist/js/auto-generated/ContextMenuContent.mjs +91 -79
  70. package/dist/js/auto-generated/ContextMenuContent.mjs.map +1 -1
  71. package/dist/js/auto-generated/ContextMenuSection.mjs +17 -11
  72. package/dist/js/auto-generated/ContextMenuSection.mjs.map +1 -1
  73. package/dist/js/auto-generated/ContextMenuTrigger.mjs +17 -11
  74. package/dist/js/auto-generated/ContextMenuTrigger.mjs.map +1 -1
  75. package/dist/js/auto-generated/ContextualHelp.mjs +89 -77
  76. package/dist/js/auto-generated/ContextualHelp.mjs.map +1 -1
  77. package/dist/js/auto-generated/ContextualHelpTrigger.mjs +17 -11
  78. package/dist/js/auto-generated/ContextualHelpTrigger.mjs.map +1 -1
  79. package/dist/js/auto-generated/CopyButton.mjs +100 -88
  80. package/dist/js/auto-generated/CopyButton.mjs.map +1 -1
  81. package/dist/js/auto-generated/CounterBadge.mjs +194 -180
  82. package/dist/js/auto-generated/CounterBadge.mjs.map +1 -1
  83. package/dist/js/auto-generated/DatePicker.mjs +95 -83
  84. package/dist/js/auto-generated/DatePicker.mjs.map +1 -1
  85. package/dist/js/auto-generated/DateRangePicker.mjs +95 -83
  86. package/dist/js/auto-generated/DateRangePicker.mjs.map +1 -1
  87. package/dist/js/auto-generated/DialogTrigger.mjs +19 -11
  88. package/dist/js/auto-generated/DialogTrigger.mjs.map +1 -1
  89. package/dist/js/auto-generated/Div.mjs +17 -11
  90. package/dist/js/auto-generated/Div.mjs.map +1 -1
  91. package/dist/js/auto-generated/DonutChart.mjs +88 -76
  92. package/dist/js/auto-generated/DonutChart.mjs.map +1 -1
  93. package/dist/js/auto-generated/FieldDescription.mjs +194 -180
  94. package/dist/js/auto-generated/FieldDescription.mjs.map +1 -1
  95. package/dist/js/auto-generated/FieldError.mjs +88 -76
  96. package/dist/js/auto-generated/FieldError.mjs.map +1 -1
  97. package/dist/js/auto-generated/FileCard.mjs +196 -182
  98. package/dist/js/auto-generated/FileCard.mjs.map +1 -1
  99. package/dist/js/auto-generated/FileCardList.mjs +194 -180
  100. package/dist/js/auto-generated/FileCardList.mjs.map +1 -1
  101. package/dist/js/auto-generated/FileDropZone.mjs +19 -11
  102. package/dist/js/auto-generated/FileDropZone.mjs.map +1 -1
  103. package/dist/js/auto-generated/FileField.mjs +19 -11
  104. package/dist/js/auto-generated/FileField.mjs.map +1 -1
  105. package/dist/js/auto-generated/Flex.mjs +194 -180
  106. package/dist/js/auto-generated/Flex.mjs.map +1 -1
  107. package/dist/js/auto-generated/Header.mjs +194 -180
  108. package/dist/js/auto-generated/Header.mjs.map +1 -1
  109. package/dist/js/auto-generated/HeaderNavigation.mjs +194 -180
  110. package/dist/js/auto-generated/HeaderNavigation.mjs.map +1 -1
  111. package/dist/js/auto-generated/Heading.mjs +194 -180
  112. package/dist/js/auto-generated/Heading.mjs.map +1 -1
  113. package/dist/js/auto-generated/Icon.mjs +194 -180
  114. package/dist/js/auto-generated/Icon.mjs.map +1 -1
  115. package/dist/js/auto-generated/IllustratedMessage.mjs +194 -180
  116. package/dist/js/auto-generated/IllustratedMessage.mjs.map +1 -1
  117. package/dist/js/auto-generated/Image.mjs +194 -180
  118. package/dist/js/auto-generated/Image.mjs.map +1 -1
  119. package/dist/js/auto-generated/ImageCropper.mjs +19 -11
  120. package/dist/js/auto-generated/ImageCropper.mjs.map +1 -1
  121. package/dist/js/auto-generated/Initials.mjs +17 -11
  122. package/dist/js/auto-generated/Initials.mjs.map +1 -1
  123. package/dist/js/auto-generated/InlineCode.mjs +194 -180
  124. package/dist/js/auto-generated/InlineCode.mjs.map +1 -1
  125. package/dist/js/auto-generated/ItemsGridList.mjs +90 -78
  126. package/dist/js/auto-generated/ItemsGridList.mjs.map +1 -1
  127. package/dist/js/auto-generated/ItemsGridListItem.mjs +97 -85
  128. package/dist/js/auto-generated/ItemsGridListItem.mjs.map +1 -1
  129. package/dist/js/auto-generated/Kbd.mjs +17 -11
  130. package/dist/js/auto-generated/Kbd.mjs.map +1 -1
  131. package/dist/js/auto-generated/Label.mjs +194 -180
  132. package/dist/js/auto-generated/Label.mjs.map +1 -1
  133. package/dist/js/auto-generated/LabeledValue.mjs +17 -11
  134. package/dist/js/auto-generated/LabeledValue.mjs.map +1 -1
  135. package/dist/js/auto-generated/LayoutCard.mjs +194 -180
  136. package/dist/js/auto-generated/LayoutCard.mjs.map +1 -1
  137. package/dist/js/auto-generated/Legend.mjs +17 -11
  138. package/dist/js/auto-generated/Legend.mjs.map +1 -1
  139. package/dist/js/auto-generated/Line.mjs +17 -11
  140. package/dist/js/auto-generated/Line.mjs.map +1 -1
  141. package/dist/js/auto-generated/Link.mjs +101 -89
  142. package/dist/js/auto-generated/Link.mjs.map +1 -1
  143. package/dist/js/auto-generated/ListEmptyView.mjs +17 -11
  144. package/dist/js/auto-generated/ListEmptyView.mjs.map +1 -1
  145. package/dist/js/auto-generated/ListItemViewContent.mjs +17 -11
  146. package/dist/js/auto-generated/ListItemViewContent.mjs.map +1 -1
  147. package/dist/js/auto-generated/ListSummary.mjs +17 -11
  148. package/dist/js/auto-generated/ListSummary.mjs.map +1 -1
  149. package/dist/js/auto-generated/LoadingSpinner.mjs +194 -180
  150. package/dist/js/auto-generated/LoadingSpinner.mjs.map +1 -1
  151. package/dist/js/auto-generated/Markdown.mjs +17 -11
  152. package/dist/js/auto-generated/Markdown.mjs.map +1 -1
  153. package/dist/js/auto-generated/MarkdownEditor.mjs +103 -91
  154. package/dist/js/auto-generated/MarkdownEditor.mjs.map +1 -1
  155. package/dist/js/auto-generated/MenuItem.mjs +97 -85
  156. package/dist/js/auto-generated/MenuItem.mjs.map +1 -1
  157. package/dist/js/auto-generated/MenuTrigger.mjs +19 -11
  158. package/dist/js/auto-generated/MenuTrigger.mjs.map +1 -1
  159. package/dist/js/auto-generated/Message.mjs +17 -11
  160. package/dist/js/auto-generated/Message.mjs.map +1 -1
  161. package/dist/js/auto-generated/MessageSeparator.mjs +17 -11
  162. package/dist/js/auto-generated/MessageSeparator.mjs.map +1 -1
  163. package/dist/js/auto-generated/MessageThread.mjs +17 -11
  164. package/dist/js/auto-generated/MessageThread.mjs.map +1 -1
  165. package/dist/js/auto-generated/Navigation.mjs +194 -180
  166. package/dist/js/auto-generated/Navigation.mjs.map +1 -1
  167. package/dist/js/auto-generated/NavigationGroup.mjs +194 -180
  168. package/dist/js/auto-generated/NavigationGroup.mjs.map +1 -1
  169. package/dist/js/auto-generated/Notification.mjs +195 -181
  170. package/dist/js/auto-generated/Notification.mjs.map +1 -1
  171. package/dist/js/auto-generated/NumberField.mjs +103 -91
  172. package/dist/js/auto-generated/NumberField.mjs.map +1 -1
  173. package/dist/js/auto-generated/Option.mjs +100 -88
  174. package/dist/js/auto-generated/Option.mjs.map +1 -1
  175. package/dist/js/auto-generated/OverlayContent.mjs +19 -11
  176. package/dist/js/auto-generated/OverlayContent.mjs.map +1 -1
  177. package/dist/js/auto-generated/PasswordCreationField.mjs +104 -92
  178. package/dist/js/auto-generated/PasswordCreationField.mjs.map +1 -1
  179. package/dist/js/auto-generated/PopoverContent.mjs +19 -11
  180. package/dist/js/auto-generated/PopoverContent.mjs.map +1 -1
  181. package/dist/js/auto-generated/ProgressBar.mjs +88 -76
  182. package/dist/js/auto-generated/ProgressBar.mjs.map +1 -1
  183. package/dist/js/auto-generated/Radio.mjs +101 -89
  184. package/dist/js/auto-generated/Radio.mjs.map +1 -1
  185. package/dist/js/auto-generated/RadioButton.mjs +101 -89
  186. package/dist/js/auto-generated/RadioButton.mjs.map +1 -1
  187. package/dist/js/auto-generated/RadioGroup.mjs +92 -80
  188. package/dist/js/auto-generated/RadioGroup.mjs.map +1 -1
  189. package/dist/js/auto-generated/RangeCalendar.mjs +90 -78
  190. package/dist/js/auto-generated/RangeCalendar.mjs.map +1 -1
  191. package/dist/js/auto-generated/Rating.mjs +92 -80
  192. package/dist/js/auto-generated/Rating.mjs.map +1 -1
  193. package/dist/js/auto-generated/SearchField.mjs +105 -93
  194. package/dist/js/auto-generated/SearchField.mjs.map +1 -1
  195. package/dist/js/auto-generated/Section.mjs +194 -180
  196. package/dist/js/auto-generated/Section.mjs.map +1 -1
  197. package/dist/js/auto-generated/Segment.mjs +101 -89
  198. package/dist/js/auto-generated/Segment.mjs.map +1 -1
  199. package/dist/js/auto-generated/SegmentedControl.mjs +92 -80
  200. package/dist/js/auto-generated/SegmentedControl.mjs.map +1 -1
  201. package/dist/js/auto-generated/Select.mjs +96 -84
  202. package/dist/js/auto-generated/Select.mjs.map +1 -1
  203. package/dist/js/auto-generated/Separator.mjs +88 -76
  204. package/dist/js/auto-generated/Separator.mjs.map +1 -1
  205. package/dist/js/auto-generated/Skeleton.mjs +194 -180
  206. package/dist/js/auto-generated/Skeleton.mjs.map +1 -1
  207. package/dist/js/auto-generated/SkeletonText.mjs +194 -180
  208. package/dist/js/auto-generated/SkeletonText.mjs.map +1 -1
  209. package/dist/js/auto-generated/Slider.mjs +90 -78
  210. package/dist/js/auto-generated/Slider.mjs.map +1 -1
  211. package/dist/js/auto-generated/Switch.mjs +96 -84
  212. package/dist/js/auto-generated/Switch.mjs.map +1 -1
  213. package/dist/js/auto-generated/Tab.mjs +88 -76
  214. package/dist/js/auto-generated/Tab.mjs.map +1 -1
  215. package/dist/js/auto-generated/TabTitle.mjs +96 -84
  216. package/dist/js/auto-generated/TabTitle.mjs.map +1 -1
  217. package/dist/js/auto-generated/Table.mjs +91 -79
  218. package/dist/js/auto-generated/Table.mjs.map +1 -1
  219. package/dist/js/auto-generated/TableBody.mjs +88 -76
  220. package/dist/js/auto-generated/TableBody.mjs.map +1 -1
  221. package/dist/js/auto-generated/TableCell.mjs +88 -76
  222. package/dist/js/auto-generated/TableCell.mjs.map +1 -1
  223. package/dist/js/auto-generated/TableColumn.mjs +88 -76
  224. package/dist/js/auto-generated/TableColumn.mjs.map +1 -1
  225. package/dist/js/auto-generated/TableFooterRow.mjs +97 -85
  226. package/dist/js/auto-generated/TableFooterRow.mjs.map +1 -1
  227. package/dist/js/auto-generated/TableHeader.mjs +91 -79
  228. package/dist/js/auto-generated/TableHeader.mjs.map +1 -1
  229. package/dist/js/auto-generated/TableRow.mjs +97 -85
  230. package/dist/js/auto-generated/TableRow.mjs.map +1 -1
  231. package/dist/js/auto-generated/Tabs.mjs +89 -77
  232. package/dist/js/auto-generated/Tabs.mjs.map +1 -1
  233. package/dist/js/auto-generated/Text.mjs +194 -180
  234. package/dist/js/auto-generated/Text.mjs.map +1 -1
  235. package/dist/js/auto-generated/TextArea.mjs +103 -91
  236. package/dist/js/auto-generated/TextArea.mjs.map +1 -1
  237. package/dist/js/auto-generated/TextField.mjs +103 -91
  238. package/dist/js/auto-generated/TextField.mjs.map +1 -1
  239. package/dist/js/auto-generated/TimeField.mjs +94 -82
  240. package/dist/js/auto-generated/TimeField.mjs.map +1 -1
  241. package/dist/js/auto-generated/Tooltip.mjs +89 -77
  242. package/dist/js/auto-generated/Tooltip.mjs.map +1 -1
  243. package/dist/js/auto-generated/TooltipTrigger.mjs +19 -11
  244. package/dist/js/auto-generated/TooltipTrigger.mjs.map +1 -1
  245. package/dist/js/auto-generated/Truncate.mjs +17 -11
  246. package/dist/js/auto-generated/Truncate.mjs.map +1 -1
  247. package/dist/js/auto-generated/TunnelEntry.mjs +17 -11
  248. package/dist/js/auto-generated/TunnelEntry.mjs.map +1 -1
  249. package/dist/js/auto-generated/XAxis.mjs +17 -11
  250. package/dist/js/auto-generated/XAxis.mjs.map +1 -1
  251. package/dist/js/auto-generated/YAxis.mjs +17 -11
  252. package/dist/js/auto-generated/YAxis.mjs.map +1 -1
  253. package/dist/js/auto-generated/index.mjs +126 -258
  254. package/dist/js/auto-generated/index.mjs.map +1 -1
  255. package/dist/js/components/Form.mjs +17 -17
  256. package/dist/js/components/Form.mjs.map +1 -1
  257. package/dist/js/components/LoadingFallbackTrigger.mjs +15 -16
  258. package/dist/js/components/LoadingFallbackTrigger.mjs.map +1 -1
  259. package/dist/js/components/RemoteContextProvider.mjs +14 -11
  260. package/dist/js/components/RemoteContextProvider.mjs.map +1 -1
  261. package/dist/js/components/createFlowRemoteComponent.mjs +26 -16
  262. package/dist/js/components/createFlowRemoteComponent.mjs.map +1 -1
  263. package/dist/js/hooks/useWatchPathname.mjs +22 -22
  264. package/dist/js/hooks/useWatchPathname.mjs.map +1 -1
  265. package/dist/js/index.mjs +129 -264
  266. package/dist/js/index.mjs.map +1 -1
  267. package/dist/js/integrations/react-hook-form/Form/Form.mjs +22 -19
  268. package/dist/js/integrations/react-hook-form/Form/Form.mjs.map +1 -1
  269. package/dist/js/lib/createRemoteComponent.mjs +27 -26
  270. package/dist/js/lib/createRemoteComponent.mjs.map +1 -1
  271. package/dist/js/lib/stringifyError.mjs +3 -5
  272. package/dist/js/lib/stringifyError.mjs.map +1 -1
  273. package/dist/js/react-hook-form.mjs +3 -3
  274. package/dist/js/react-hook-form.mjs.map +1 -0
  275. package/dist/js/version.mjs +5 -6
  276. package/dist/js/version.mjs.map +1 -1
  277. package/dist/js/views/NotificationContainer.mjs +20 -16
  278. package/dist/js/views/NotificationContainer.mjs.map +1 -1
  279. package/dist/js/views/index.mjs +2 -8
  280. package/dist/js/views/index.mjs.map +1 -1
  281. package/package.json +16 -16
  282. package/dist/js/_virtual/_rolldown/runtime.mjs +0 -29
  283. package/dist/js/components/FlowRemoteUniversal.mjs +0 -4
  284. package/dist/js/components/index.mjs +0 -14
  285. package/dist/js/components/index.mjs.map +0 -1
@@ -1,101 +1,113 @@
1
1
  "use client"
2
2
  /* */
3
- "use client";
4
- import { Div } from "./auto-generated/Div.mjs";
5
- import { auto_generated_exports } from "./auto-generated/index.mjs";
6
- import { RemoteContextProvider } from "./components/RemoteContextProvider.mjs";
7
- import { LoadingFallbackTrigger } from "./components/LoadingFallbackTrigger.mjs";
8
- import { views_exports } from "./views/index.mjs";
9
- import { useWatchPathname } from "./hooks/useWatchPathname.mjs";
10
- import { stringifyError } from "./lib/stringifyError.mjs";
11
- import { ViewComponentContextProvider } from "@mittwald/flow-react-components/internal";
12
- import { Suspense, useLayoutEffect, useRef, useState, useTransition } from "react";
13
- import { connectHostRenderRootRef, connectRemoteReceiver } from "@mittwald/flow-remote-core";
14
- import { jsx } from "react/jsx-runtime";
15
- import { ErrorBoundary } from "react-error-boundary";
16
- //#region src/components/RemoteRoot.tsx
17
- var viewComponents = {
18
- ...auto_generated_exports,
19
- ...views_exports
3
+ 'use client';
4
+ import { jsx } from 'react/jsx-runtime';
5
+ import * as index$1 from './auto-generated/index.mjs';
6
+ import * as index from './views/index.mjs';
7
+ import { useWatchPathname } from './hooks/useWatchPathname.mjs';
8
+ import { stringifyError } from './lib/stringifyError.mjs';
9
+ import { ViewComponentContextProvider } from '@mittwald/flow-react-components/internal';
10
+ import { connectRemoteReceiver, connectHostRenderRootRef } from '@mittwald/flow-remote-core';
11
+ import { useRef, useState, useTransition, useLayoutEffect, Suspense } from 'react';
12
+ import { ErrorBoundary } from 'react-error-boundary';
13
+ import { RemoteContextProvider } from './components/RemoteContextProvider.mjs';
14
+ import { LoadingFallbackTrigger } from './components/LoadingFallbackTrigger.mjs';
15
+ import { Div } from './auto-generated/Div.mjs';
16
+
17
+ const viewComponents = {
18
+ ...index$1,
19
+ ...index
20
20
  };
21
- var hiddenStyle = {
22
- visibility: "hidden",
23
- height: 0,
24
- width: 0,
25
- border: "none",
26
- position: "absolute",
27
- marginLeft: "-9999px"
21
+ const hiddenStyle = {
22
+ visibility: "hidden",
23
+ height: 0,
24
+ width: 0,
25
+ border: "none",
26
+ position: "absolute",
27
+ marginLeft: "-9999px"
28
28
  };
29
- var RemoteRoot = (props) => {
30
- const { children, onHostPathnameChanged, isLoading: isLoadingFromProps, __remoteReceiver: remoteReceiver } = props;
31
- if (remoteReceiver) return /* @__PURE__ */ jsx("div", {
32
- style: hiddenStyle,
33
- ref: (div) => {
34
- if (div) connectRemoteReceiver(div, remoteReceiver.connection);
35
- },
36
- children: /* @__PURE__ */ jsx(ViewComponentContextProvider, {
37
- components: viewComponents,
38
- children
39
- })
40
- });
41
- const connectionRef = useRef(void 0);
42
- const isConnectionInitialized = useRef(false);
43
- const [connectionError, setConnectionError] = useState(null);
44
- const [isConnected, setIsConnected] = useState(false);
45
- const [pathnameChangedPending, startPathnameChangedTransition] = useTransition();
46
- const renderErrorRef = useRef(void 0);
47
- const handleRenderError = (error) => {
48
- renderErrorRef.current = error;
49
- connectionRef.current?.imports.setError(stringifyError(error));
50
- };
51
- const setIsLoadingFromProps = () => {
52
- if (isLoadingFromProps !== void 0) connectionRef.current?.imports.setIsLoading(isLoadingFromProps);
53
- };
54
- useLayoutEffect(() => {
55
- setIsLoadingFromProps();
56
- }, [isLoadingFromProps]);
57
- useWatchPathname((pathname) => connectionRef.current?.imports.setNavigationState({
58
- pathname,
59
- isPending: pathnameChangedPending
60
- }));
61
- if (connectionError) throw connectionError;
62
- const connect = connectHostRenderRootRef({ onPathnameChanged: (pathname) => startPathnameChangedTransition(() => onHostPathnameChanged?.(pathname)) });
63
- /** Is wrapped in Div to resolve render awaiter in <RemoteRenderer /> */
64
- const loadingFallback = /* @__PURE__ */ jsx(Div, { children: /* @__PURE__ */ jsx(LoadingFallbackTrigger, {}) });
65
- const connectDiv = (div) => {
66
- if (isConnectionInitialized.current) return;
67
- isConnectionInitialized.current = true;
68
- connect(div)?.then((connection) => {
69
- connectionRef.current = connection;
70
- setIsLoadingFromProps();
71
- setIsConnected(true);
72
- }).catch((error) => {
73
- setConnectionError(error);
74
- });
75
- if (renderErrorRef.current) handleRenderError(renderErrorRef.current);
76
- };
77
- const ErrorFallbackComponent = (props) => {
78
- handleRenderError(props.error);
79
- return null;
80
- };
81
- return /* @__PURE__ */ jsx("div", {
82
- ref: connectDiv,
83
- children: /* @__PURE__ */ jsx(ErrorBoundary, {
84
- FallbackComponent: ErrorFallbackComponent,
85
- children: isConnected && connectionRef.current && /* @__PURE__ */ jsx(RemoteContextProvider, {
86
- value: { connection: connectionRef.current },
87
- children: /* @__PURE__ */ jsx(Suspense, {
88
- fallback: loadingFallback,
89
- children: /* @__PURE__ */ jsx(ViewComponentContextProvider, {
90
- components: viewComponents,
91
- children
92
- })
93
- })
94
- })
95
- })
96
- });
29
+ const RemoteRoot = (props) => {
30
+ const {
31
+ children,
32
+ onHostPathnameChanged,
33
+ isLoading: isLoadingFromProps,
34
+ __remoteReceiver: remoteReceiver
35
+ } = props;
36
+ if (remoteReceiver) {
37
+ return /* @__PURE__ */ jsx(
38
+ "div",
39
+ {
40
+ style: hiddenStyle,
41
+ ref: (div) => {
42
+ if (div) {
43
+ connectRemoteReceiver(div, remoteReceiver.connection);
44
+ }
45
+ },
46
+ children: /* @__PURE__ */ jsx(ViewComponentContextProvider, { components: viewComponents, children })
47
+ }
48
+ );
49
+ }
50
+ const connectionRef = useRef(void 0);
51
+ const isConnectionInitialized = useRef(false);
52
+ const [connectionError, setConnectionError] = useState(null);
53
+ const [isConnected, setIsConnected] = useState(false);
54
+ const [pathnameChangedPending, startPathnameChangedTransition] = useTransition();
55
+ const renderErrorRef = useRef(void 0);
56
+ const handleRenderError = (error) => {
57
+ renderErrorRef.current = error;
58
+ connectionRef.current?.imports.setError(stringifyError(error));
59
+ };
60
+ const setIsLoadingFromProps = () => {
61
+ if (isLoadingFromProps !== void 0) {
62
+ connectionRef.current?.imports.setIsLoading(isLoadingFromProps);
63
+ }
64
+ };
65
+ useLayoutEffect(() => {
66
+ setIsLoadingFromProps();
67
+ }, [isLoadingFromProps]);
68
+ useWatchPathname(
69
+ (pathname) => connectionRef.current?.imports.setNavigationState({
70
+ pathname,
71
+ isPending: pathnameChangedPending
72
+ })
73
+ );
74
+ if (connectionError) {
75
+ throw connectionError;
76
+ }
77
+ const connect = connectHostRenderRootRef({
78
+ onPathnameChanged: (pathname) => startPathnameChangedTransition(() => onHostPathnameChanged?.(pathname))
79
+ });
80
+ const loadingFallback = /* @__PURE__ */ jsx(Div, { children: /* @__PURE__ */ jsx(LoadingFallbackTrigger, {}) });
81
+ const connectDiv = (div) => {
82
+ if (isConnectionInitialized.current) {
83
+ return;
84
+ }
85
+ isConnectionInitialized.current = true;
86
+ connect(div)?.then((connection) => {
87
+ connectionRef.current = connection;
88
+ setIsLoadingFromProps();
89
+ setIsConnected(true);
90
+ }).catch((error) => {
91
+ setConnectionError(error);
92
+ });
93
+ if (renderErrorRef.current) {
94
+ handleRenderError(renderErrorRef.current);
95
+ }
96
+ };
97
+ const ErrorFallbackComponent = (props2) => {
98
+ handleRenderError(props2.error);
99
+ return null;
100
+ };
101
+ return /* @__PURE__ */ jsx("div", { ref: connectDiv, children: /* @__PURE__ */ jsx(ErrorBoundary, { FallbackComponent: ErrorFallbackComponent, children: isConnected && connectionRef.current && /* @__PURE__ */ jsx(
102
+ RemoteContextProvider,
103
+ {
104
+ value: {
105
+ connection: connectionRef.current
106
+ },
107
+ children: /* @__PURE__ */ jsx(Suspense, { fallback: loadingFallback, children: /* @__PURE__ */ jsx(ViewComponentContextProvider, { components: viewComponents, children }) })
108
+ }
109
+ ) }) });
97
110
  };
98
- //#endregion
99
- export { RemoteRoot, RemoteRoot as default };
100
111
 
101
- //# sourceMappingURL=RemoteRoot.mjs.map
112
+ export { RemoteRoot, RemoteRoot as default };
113
+ //# sourceMappingURL=RemoteRoot.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteRoot.mjs","names":[],"sources":["../../src/components/RemoteRoot.tsx"],"sourcesContent":["\"use client\";\nimport * as remoteComponents from \"@/auto-generated\";\nimport * as customViewComponents from \"@/views\";\nimport { useWatchPathname } from \"@/hooks/useWatchPathname\";\nimport { stringifyError } from \"@/lib/stringifyError\";\nimport { ViewComponentContextProvider } from \"@mittwald/flow-react-components/internal\";\nimport {\n connectHostRenderRootRef,\n connectRemoteReceiver,\n type RemoteReceiver,\n type RemoteToHostConnection,\n} from \"@mittwald/flow-remote-core\";\nimport {\n Suspense,\n useLayoutEffect,\n useRef,\n useState,\n useTransition,\n type CSSProperties,\n type FC,\n type PropsWithChildren,\n} from \"react\";\nimport { ErrorBoundary, type FallbackProps } from \"react-error-boundary\";\nimport { RemoteContextProvider } from \"@/components/RemoteContextProvider\";\nimport { LoadingFallbackTrigger } from \"@/components/LoadingFallbackTrigger\";\n\nconst viewComponents = {\n ...remoteComponents,\n ...customViewComponents,\n} as FlowViewComponents;\n\nexport interface RemoteRootProps extends PropsWithChildren {\n onHostPathnameChanged?: (pathname: string) => void;\n isLoading?: boolean;\n /** Internal use only */\n __remoteReceiver?: RemoteReceiver;\n}\n\nconst hiddenStyle: CSSProperties = {\n visibility: \"hidden\",\n height: 0,\n width: 0,\n border: \"none\",\n position: \"absolute\",\n marginLeft: \"-9999px\",\n};\n\nexport const RemoteRoot: FC<RemoteRootProps> = (props) => {\n const {\n children,\n onHostPathnameChanged,\n isLoading: isLoadingFromProps,\n __remoteReceiver: remoteReceiver,\n } = props;\n\n if (remoteReceiver) {\n return (\n <div\n style={hiddenStyle}\n ref={(div) => {\n if (div) {\n connectRemoteReceiver(div, remoteReceiver.connection);\n }\n }}\n >\n <ViewComponentContextProvider components={viewComponents}>\n {children}\n </ViewComponentContextProvider>\n </div>\n );\n }\n\n const connectionRef = useRef<RemoteToHostConnection>(undefined);\n const isConnectionInitialized = useRef(false);\n const [connectionError, setConnectionError] = useState(null);\n const [isConnected, setIsConnected] = useState(false);\n\n const [pathnameChangedPending, startPathnameChangedTransition] =\n useTransition();\n\n const renderErrorRef = useRef<unknown>(undefined);\n\n const handleRenderError = (error: unknown) => {\n renderErrorRef.current = error;\n connectionRef.current?.imports.setError(stringifyError(error));\n };\n\n const setIsLoadingFromProps = () => {\n if (isLoadingFromProps !== undefined) {\n connectionRef.current?.imports.setIsLoading(isLoadingFromProps);\n }\n };\n\n useLayoutEffect(() => {\n setIsLoadingFromProps();\n }, [isLoadingFromProps]);\n\n useWatchPathname((pathname) =>\n connectionRef.current?.imports.setNavigationState({\n pathname,\n isPending: pathnameChangedPending,\n }),\n );\n\n if (connectionError) {\n throw connectionError;\n }\n\n const connect = connectHostRenderRootRef({\n onPathnameChanged: (pathname) =>\n startPathnameChangedTransition(() => onHostPathnameChanged?.(pathname)),\n });\n\n /** Is wrapped in Div to resolve render awaiter in <RemoteRenderer /> */\n const loadingFallback = (\n <remoteComponents.Div>\n <LoadingFallbackTrigger />\n </remoteComponents.Div>\n );\n\n const connectDiv = (div: HTMLDivElement) => {\n if (isConnectionInitialized.current) {\n return;\n }\n isConnectionInitialized.current = true;\n connect(div)\n ?.then((connection) => {\n connectionRef.current = connection;\n setIsLoadingFromProps();\n setIsConnected(true);\n })\n .catch((error) => {\n setConnectionError(error);\n });\n\n if (renderErrorRef.current) {\n handleRenderError(renderErrorRef.current);\n }\n };\n\n const ErrorFallbackComponent: FC<FallbackProps> = (props) => {\n handleRenderError(props.error);\n return null;\n };\n\n return (\n <div ref={connectDiv}>\n <ErrorBoundary FallbackComponent={ErrorFallbackComponent}>\n {isConnected && connectionRef.current && (\n <RemoteContextProvider\n value={{\n connection: connectionRef.current,\n }}\n >\n <Suspense fallback={loadingFallback}>\n <ViewComponentContextProvider components={viewComponents}>\n {children}\n </ViewComponentContextProvider>\n </Suspense>\n </RemoteContextProvider>\n )}\n </ErrorBoundary>\n </div>\n );\n};\n\nexport default RemoteRoot;\n"],"mappings":";;;;;;;;;;;;;;AA0BA,IAAM,iBAAiB;CACrB,GAAG;CACH,GAAG;CACJ;AASD,IAAM,cAA6B;CACjC,YAAY;CACZ,QAAQ;CACR,OAAO;CACP,QAAQ;CACR,UAAU;CACV,YAAY;CACb;AAED,IAAa,cAAmC,UAAU;CACxD,MAAM,EACJ,UACA,uBACA,WAAW,oBACX,kBAAkB,mBAChB;AAEJ,KAAI,eACF,QACE,oBAAC,OAAD;EACE,OAAO;EACP,MAAM,QAAQ;AACZ,OAAI,IACF,uBAAsB,KAAK,eAAe,WAAW;;YAIzD,oBAAC,8BAAD;GAA8B,YAAY;GACvC;GAC4B,CAAA;EAC3B,CAAA;CAIV,MAAM,gBAAgB,OAA+B,KAAA,EAAU;CAC/D,MAAM,0BAA0B,OAAO,MAAM;CAC7C,MAAM,CAAC,iBAAiB,sBAAsB,SAAS,KAAK;CAC5D,MAAM,CAAC,aAAa,kBAAkB,SAAS,MAAM;CAErD,MAAM,CAAC,wBAAwB,kCAC7B,eAAe;CAEjB,MAAM,iBAAiB,OAAgB,KAAA,EAAU;CAEjD,MAAM,qBAAqB,UAAmB;AAC5C,iBAAe,UAAU;AACzB,gBAAc,SAAS,QAAQ,SAAS,eAAe,MAAM,CAAC;;CAGhE,MAAM,8BAA8B;AAClC,MAAI,uBAAuB,KAAA,EACzB,eAAc,SAAS,QAAQ,aAAa,mBAAmB;;AAInE,uBAAsB;AACpB,yBAAuB;IACtB,CAAC,mBAAmB,CAAC;AAExB,mBAAkB,aAChB,cAAc,SAAS,QAAQ,mBAAmB;EAChD;EACA,WAAW;EACZ,CAAC,CACH;AAED,KAAI,gBACF,OAAM;CAGR,MAAM,UAAU,yBAAyB,EACvC,oBAAoB,aAClB,qCAAqC,wBAAwB,SAAS,CAAC,EAC1E,CAAC;;CAGF,MAAM,kBACJ,oBAAC,KAAD,EAAA,UACE,oBAAC,wBAAD,EAA0B,CAAA,EACL,CAAA;CAGzB,MAAM,cAAc,QAAwB;AAC1C,MAAI,wBAAwB,QAC1B;AAEF,0BAAwB,UAAU;AAClC,UAAQ,IAAI,EACR,MAAM,eAAe;AACrB,iBAAc,UAAU;AACxB,0BAAuB;AACvB,kBAAe,KAAK;IACpB,CACD,OAAO,UAAU;AAChB,sBAAmB,MAAM;IACzB;AAEJ,MAAI,eAAe,QACjB,mBAAkB,eAAe,QAAQ;;CAI7C,MAAM,0BAA6C,UAAU;AAC3D,oBAAkB,MAAM,MAAM;AAC9B,SAAO;;AAGT,QACE,oBAAC,OAAD;EAAK,KAAK;YACR,oBAAC,eAAD;GAAe,mBAAmB;aAC/B,eAAe,cAAc,WAC5B,oBAAC,uBAAD;IACE,OAAO,EACL,YAAY,cAAc,SAC3B;cAED,oBAAC,UAAD;KAAU,UAAU;eAClB,oBAAC,8BAAD;MAA8B,YAAY;MACvC;MAC4B,CAAA;KACtB,CAAA;IACW,CAAA;GAEZ,CAAA;EACZ,CAAA"}
1
+ {"version":3,"file":"RemoteRoot.mjs","sources":["../../src/components/RemoteRoot.tsx"],"sourcesContent":["\"use client\";\nimport * as remoteComponents from \"@/auto-generated\";\nimport * as customViewComponents from \"@/views\";\nimport { useWatchPathname } from \"@/hooks/useWatchPathname\";\nimport { stringifyError } from \"@/lib/stringifyError\";\nimport { ViewComponentContextProvider } from \"@mittwald/flow-react-components/internal\";\nimport {\n connectHostRenderRootRef,\n connectRemoteReceiver,\n type RemoteReceiver,\n type RemoteToHostConnection,\n} from \"@mittwald/flow-remote-core\";\nimport {\n Suspense,\n useLayoutEffect,\n useRef,\n useState,\n useTransition,\n type CSSProperties,\n type FC,\n type PropsWithChildren,\n} from \"react\";\nimport { ErrorBoundary, type FallbackProps } from \"react-error-boundary\";\nimport { RemoteContextProvider } from \"@/components/RemoteContextProvider\";\nimport { LoadingFallbackTrigger } from \"@/components/LoadingFallbackTrigger\";\n\nconst viewComponents = {\n ...remoteComponents,\n ...customViewComponents,\n} as FlowViewComponents;\n\nexport interface RemoteRootProps extends PropsWithChildren {\n onHostPathnameChanged?: (pathname: string) => void;\n isLoading?: boolean;\n /** Internal use only */\n __remoteReceiver?: RemoteReceiver;\n}\n\nconst hiddenStyle: CSSProperties = {\n visibility: \"hidden\",\n height: 0,\n width: 0,\n border: \"none\",\n position: \"absolute\",\n marginLeft: \"-9999px\",\n};\n\nexport const RemoteRoot: FC<RemoteRootProps> = (props) => {\n const {\n children,\n onHostPathnameChanged,\n isLoading: isLoadingFromProps,\n __remoteReceiver: remoteReceiver,\n } = props;\n\n if (remoteReceiver) {\n return (\n <div\n style={hiddenStyle}\n ref={(div) => {\n if (div) {\n connectRemoteReceiver(div, remoteReceiver.connection);\n }\n }}\n >\n <ViewComponentContextProvider components={viewComponents}>\n {children}\n </ViewComponentContextProvider>\n </div>\n );\n }\n\n const connectionRef = useRef<RemoteToHostConnection>(undefined);\n const isConnectionInitialized = useRef(false);\n const [connectionError, setConnectionError] = useState(null);\n const [isConnected, setIsConnected] = useState(false);\n\n const [pathnameChangedPending, startPathnameChangedTransition] =\n useTransition();\n\n const renderErrorRef = useRef<unknown>(undefined);\n\n const handleRenderError = (error: unknown) => {\n renderErrorRef.current = error;\n connectionRef.current?.imports.setError(stringifyError(error));\n };\n\n const setIsLoadingFromProps = () => {\n if (isLoadingFromProps !== undefined) {\n connectionRef.current?.imports.setIsLoading(isLoadingFromProps);\n }\n };\n\n useLayoutEffect(() => {\n setIsLoadingFromProps();\n }, [isLoadingFromProps]);\n\n useWatchPathname((pathname) =>\n connectionRef.current?.imports.setNavigationState({\n pathname,\n isPending: pathnameChangedPending,\n }),\n );\n\n if (connectionError) {\n throw connectionError;\n }\n\n const connect = connectHostRenderRootRef({\n onPathnameChanged: (pathname) =>\n startPathnameChangedTransition(() => onHostPathnameChanged?.(pathname)),\n });\n\n /** Is wrapped in Div to resolve render awaiter in <RemoteRenderer /> */\n const loadingFallback = (\n <remoteComponents.Div>\n <LoadingFallbackTrigger />\n </remoteComponents.Div>\n );\n\n const connectDiv = (div: HTMLDivElement) => {\n if (isConnectionInitialized.current) {\n return;\n }\n isConnectionInitialized.current = true;\n connect(div)\n ?.then((connection) => {\n connectionRef.current = connection;\n setIsLoadingFromProps();\n setIsConnected(true);\n })\n .catch((error) => {\n setConnectionError(error);\n });\n\n if (renderErrorRef.current) {\n handleRenderError(renderErrorRef.current);\n }\n };\n\n const ErrorFallbackComponent: FC<FallbackProps> = (props) => {\n handleRenderError(props.error);\n return null;\n };\n\n return (\n <div ref={connectDiv}>\n <ErrorBoundary FallbackComponent={ErrorFallbackComponent}>\n {isConnected && connectionRef.current && (\n <RemoteContextProvider\n value={{\n connection: connectionRef.current,\n }}\n >\n <Suspense fallback={loadingFallback}>\n <ViewComponentContextProvider components={viewComponents}>\n {children}\n </ViewComponentContextProvider>\n </Suspense>\n </RemoteContextProvider>\n )}\n </ErrorBoundary>\n </div>\n );\n};\n\nexport default RemoteRoot;\n"],"names":["remoteComponents","customViewComponents","remoteComponents.Div","props"],"mappings":";;;;;;;;;;;;;;AA0BA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,cAAA,CAAA,CAAA,CAAiB;AAAA,CAAA,CACrB,GAAGA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA;AAAA,CAAA,CACH,CAAA,CAAA,CAAGC,CAAAA,CAAAA,CAAAA,CAAAA;AACL,CAAA;AASA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,WAAA,CAAA,CAAA,CAA6B;AAAA,CAAA,CACjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA;AAAA,CAAA,CACR,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA;AAAA,CAAA,CACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACV,UAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACd,CAAA;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AACxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAAA,CAAA,CAAA,CAAA,CACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACX,gBAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CACpB,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA;AAEJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,cAAA,CAAA,CAAgB;AAClB,CAAA,CAAA,CAAA,CAAA,uBACE,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACP,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,GAAA,CAAA,CAAK;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qBAAA,CAAsB,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,UAAU,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACtD;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CACF;AAAA,CAAA,CAEJ;AAEA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,EAA+B,MAAS,CAAA;AAC9D,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,KAAK,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAA,CAAI,CAAA;AAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AAEpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,8BAA8B,CAAA,CAAA,CAAA,CAC3D,aAAA,CAAA,CAAc;AAEhB,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,MAAS,CAAA;AAEhD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,KAAA,CAAA,CAAA,CAAA,CAAA,CAAmB;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA;AACzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA;AAAA,CAAA,CAC/D,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA;AAAA,CAAA,CAAA,CAAA,CAChE;AAAA,CAAA,CACF,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM;AACpB,CAAA,CAAA,CAAA,CAAA,qBAAA,CAAA,CAAsB;AAAA,CAAA,CACxB,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAA;AAEvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,OAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,SAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CACZ;AAAA,CAAA,CAAA,CACH;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,eAAA,CAAA,CAAiB;AACnB,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACR;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB;AAAA,CAAA,CAAA,CAAA,CACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAmB,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAA+B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC;AAAA,CAAA,CAAA,CACzE,CAAA;AAGD,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,oBACJ,CAAA,CAAA,CAAA,CAACC,KAAA,CAAA,CACC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAuB,CAAA,EAC1B,CAAA;AAGF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,GAAA,CAAA,CAAA,CAAA,CAAA,CAAwB;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACF;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,EACP,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qBAAA,CAAA,CAAsB;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAI,CAAA;AAAA,CAAA,CAAA,CAAA,CACrB,CAAC,CAAA,CACA,KAAA,CAAM,CAAC,KAAA,CAAA,CAAA,CAAA,CAAA,CAAU;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA;AAAA,CAAA,CAAA,CAAA,CAC1B,CAAC,CAAA;AAEH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,OAAO,CAAA;AAAA,CAAA,CAAA,CAAA,CAC1C;AAAA,CAAA,CACF,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4C,CAACC,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAU;AAC3D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkBA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAM,KAAK,CAAA;AAC7B,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,oBAC5B,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,KAAA,CAAA,CAAO;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC5B;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAClB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,uBAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH,CAAA,CAAA,CACF;AAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,GAGN,CAAA,CAAA,CACF,CAAA;AAEJ,CAAA;;"}